From 7d424694393fb4b2612df9d0048bed3ea0f65b59 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 02:14:12 +0530 Subject: [PATCH 001/127] feat(check): re-gate cluster-validator per compute-plane targeting and widen RBAC --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 154 ++++++++++++--- .../nvcf-cli/cmd/self_hosted_check_test.go | 160 ++++++++++++++++ .../internal/selfhosted/clustervalidator.go | 175 +++++++++++++++--- .../selfhosted/clustervalidator_test.go | 153 +++++++++++++-- 4 files changed, 584 insertions(+), 58 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index dafb00fbf5..2498e8340f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -22,6 +22,7 @@ import ( "fmt" "io" "os" + "path/filepath" "time" "github.com/spf13/cobra" @@ -45,6 +46,7 @@ var ( checkClusterValidatorImage string checkClusterValidatorPullSecret string checkClusterValidatorNoCleanup bool + checkClusterValidatorRegistries []string checkShowLogs bool ) @@ -58,9 +60,19 @@ var newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return selfhosted.NewClusterValidator() } +// Test seam. +var newStaleNamespaceProberForSelfHosted = func() selfhosted.StaleNamespaceProber { + return selfhosted.NewStaleNamespaceProber() +} + // Test seam. Tests stub this to skip the registry network call. var resolveLatestValidatorTagForSelfHosted = selfhosted.ResolveLatestValidatorTag +// Test seam. +var newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { + return selfhosted.NewRegistryCredentialChecker() +} + var checkWriterIsTTY = isWriterTTY var selfHostedCheckCmd = &cobra.Command{ @@ -100,6 +112,13 @@ func init() { selfHostedCheckCmd.Flags().BoolVar(&checkClusterValidatorNoCleanup, "no-cleanup", false, "Disable the validator Job's TTL so the Job persists for debugging. "+ "The next run still deletes prior Jobs via the singleton sweep.") + selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorRegistries, "cluster-validator-registries", nil, + "Additional container registries to probe for reachability in the control-plane validator. "+ + "Format: host:port (e.g. harbor.company.internal:443,ghcr.io:443). "+ + "nvcr.io is always included. Env: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES. "+ + "Can also be set in nvcf-cli config as cluster_validator_registries (list).") + _ = viper.BindPFlag("cluster_validator_registries", + selfHostedCheckCmd.Flags().Lookup("cluster-validator-registries")) selfHostedCheckCmd.Flags().BoolVar(&checkShowLogs, "show-logs", false, "Print the cleaned cluster-validator transcript to stderr after the check events. "+ "Useful when piping --json output to a script that also wants the transcript.") @@ -113,17 +132,25 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" skipClusterValidation := checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" + // Mode is needed before image resolution so computePlaneIsTargeted can + // gate the registry round trip. ValidateFlags in PersistentPreRunE + // guarantees mode is ModeSingle or ModeSplit here. + mode := kubectx.SelectMode(selfHostedControlPlaneContext, selfHostedComputePlaneContext) + // Resolve the validator image up-front so we can right-size the // outer timeout (only when the validator actually runs) and emit a // one-shot stderr note up-front explaining why no validator row // appears in the output. Empty == not configured anywhere. + // One image covers both roles (VALIDATOR_ROLE selects the check set). + anyValidatorIsTargeted := !localOnly && !skipClusterValidation && + (computePlaneIsTargeted(mode) || controlPlaneIsTargeted(mode)) clusterValidatorImage := "" - if !localOnly && !skipClusterValidation && (checkPre || checkAll) { + if anyValidatorIsTargeted { if img, ok := resolveClusterValidatorImage(c.Context()); ok { clusterValidatorImage = img } } - clusterValidatorWillRun := !localOnly && !skipClusterValidation && (checkPre || checkAll) && clusterValidatorImage != "" + clusterValidatorWillRun := anyValidatorIsTargeted && clusterValidatorImage != "" // The cluster-validator Job's internal budget is 5m // (selfhosted.clusterValidatorTimeout). The outer ctx must be at least @@ -154,7 +181,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // validator row" with "validator silently dropped". Print at most one // reason; --skip-cluster-validation takes precedence over missing // config since it's the explicit operator choice. - if !localOnly && (checkPre || checkAll) { + if !localOnly && (computePlaneIsTargeted(mode) || controlPlaneIsTargeted(mode)) { switch { case skipClusterValidation: fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (--skip-cluster-validation)") @@ -163,9 +190,27 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } } + // Enumerate registries for the local credential check. Skipped when + // local-only (no network) or when no validator image is configured. + // Uses the same extras list as the in-cluster ConfigMap reachability check. + var ( + credEntries []selfhosted.RegistryEntry + registryChecker selfhosted.RegistryCredentialChecker + ) + if !localOnly && clusterValidatorImage != "" { + extraRegistries := viper.GetStringSlice("cluster_validator_registries") + stackValuesFile := resolveStackValuesFile() + credEntries = selfhosted.EnumerateRegistries( + clusterValidatorImage, stackValuesFile, extraRegistries, + ) + registryChecker = newRegistryCredentialCheckerForSelfHosted() + } + cfg := selfhosted.PreflightConfig{ - LocalOnly: localOnly, - Tools: selfHostedPreflightTools(), + LocalOnly: localOnly, + Tools: selfHostedPreflightTools(), + Registries: credEntries, + RegistryChecker: registryChecker, } sink, err := selectCheckRenderer(c.ErrOrStderr(), selfHostedWait != "") @@ -181,8 +226,8 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { runOnce := func() []selfhosted.CheckResult { var results []selfhosted.CheckResult - if checkPre || checkAll { - results = append(results, runPreflightByRole(ctx, cfg, sink, clusterValidatorImage)...) + if checkPre || checkAll || checkControlPlane || checkComputePlane { + results = append(results, runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage)...) } // Inject force-fail seam for tests. if os.Getenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL") != "" { @@ -194,7 +239,6 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { Message: "forced failure (test seam)", }}, results...) } - // control-plane / compute-plane wired in M3/M4 — placeholder no-op for M2. return results } @@ -240,6 +284,44 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } } +// resolveStackValuesFile walks up from the current working directory to find +// the active environment values YAML. Returns "" when not found so callers +// skip the optional lookup gracefully. +func resolveStackValuesFile() string { + cwd, err := os.Getwd() + if err != nil { + return "" + } + // Walk up to 6 directory levels to find the stack environments directory. + dir := cwd + for i := 0; i < 6; i++ { + candidate := filepath.Join(dir, + "deploy", "stacks", "self-managed", "environments", "local.yaml") + if _, err := os.Stat(candidate); err == nil { + return candidate + } + parent := filepath.Dir(dir) + if parent == dir { + break + } + dir = parent + } + return "" +} + +// computePlaneIsTargeted reports whether the compute-plane validator should run: +// --compute-plane, --all, or --pre in ModeSingle. --pre in ModeSplit does not +// target it because separate clusters have no implicit compute-plane role. +func computePlaneIsTargeted(mode kubectx.Mode) bool { + return checkComputePlane || checkAll || (checkPre && mode == kubectx.ModeSingle) +} + +// controlPlaneIsTargeted mirrors computePlaneIsTargeted but for the control +// plane. Runs when: --control-plane, --all, or --pre in ModeSingle. +func controlPlaneIsTargeted(mode kubectx.Mode) bool { + return checkControlPlane || checkAll || (checkPre && mode == kubectx.ModeSingle) +} + // maybeShowClusterValidatorLogs prints the cleaned cluster-validator transcript // to the given writer when --show-logs is set, framed by markers so operators // can find it in mixed CLI output. Silent no-op when: @@ -296,10 +378,10 @@ func selectCheckRenderer(w io.Writer, wait bool) (progress.EventSink, error) { // - ModeSingle (no context flags) → RoleControlPlane + RoleComputePlane sequentially // - ModeSplit (both context flags set) → RoleControlPlane + RoleComputePlane in parallel // -// clusterValidatorImage is the already-resolved validator image (empty when -// not configured). Resolution happens in the caller so the outer-timeout -// and stderr-note logic can see the same answer this function does. -func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, clusterValidatorImage string) []selfhosted.CheckResult { +// mode is the already-resolved kubectx.Mode (hoisted to the caller so image +// resolution and timeout sizing share the same answer). clusterValidatorImage +// is the already-resolved validator image (empty when not configured). +func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, mode kubectx.Mode, clusterValidatorImage string) []selfhosted.CheckResult { // LocalOnly: skip all cluster probes. if cfg.LocalOnly { return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{}, sink) @@ -309,7 +391,6 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if checkAll || checkComputePlane || !checkPre { icmsURL = resolveICMSURL(selfHostedICMSURL) } - mode := kubectx.SelectMode(selfHostedControlPlaneContext, selfHostedComputePlaneContext) skipInotify := checkSkipInotifyCheck || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") != "" var inotifyProber selfhosted.NodeInotifyProber @@ -328,6 +409,19 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin clusterValidator = newClusterValidatorForSelfHosted() } + staleNSProber := newStaleNamespaceProberForSelfHosted() + + // Additional registries to probe in the control-plane validator ConfigMap. + // Priority: flag > env > config file. + registries := viper.GetStringSlice("cluster_validator_registries") + + // The cluster-validator image is the same for both roles; VALIDATOR_ROLE + // in the Job env selects which check set runs inside the binary. + var cpClusterValidator selfhosted.ClusterValidator + if controlPlaneIsTargeted(mode) && clusterValidator != nil { + cpClusterValidator = newClusterValidatorForSelfHosted() + } + switch mode { case kubectx.ModeSplit: // Run both roles in parallel; each gets its own kubeconfig context. @@ -337,7 +431,15 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ) eg, egCtx := errgroup.WithContext(ctx) eg.Go(func() error { - rc := selfhosted.RoleConfig{KubeContext: selfHostedControlPlaneContext} + rc := selfhosted.RoleConfig{ + KubeContext: selfHostedControlPlaneContext, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleNSProber, + } cpResults = selfhosted.RunPreflightForRole(egCtx, cfg, selfhosted.RoleControlPlane, rc, sink) return nil }) @@ -350,6 +452,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + StaleNamespaceProber: staleNSProber, } gpuResults = selfhosted.RunPreflightForRole(egCtx, cfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -358,7 +461,15 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin return append(cpResults, gpuResults...) default: // ModeSingle — no context flags; union both role check sets sequentially. - cpRC := selfhosted.RoleConfig{SISURL: icmsURL} + cpRC := selfhosted.RoleConfig{ + SISURL: icmsURL, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleNSProber, + } gpuRC := selfhosted.RoleConfig{ SISURL: icmsURL, InotifyProber: inotifyProber, @@ -366,6 +477,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + StaleNamespaceProber: staleNSProber, } cpResults := selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleControlPlane, cpRC, sink) gpuResults := selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleComputePlane, gpuRC, sink) @@ -373,15 +485,9 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin } } -// Resolves the validator image from the viper-backed config chain -// (flag > env > config-file > default). Returns ("", false) when nothing -// is configured so the caller can surface a clear "not configured" -// warning instead of pulling from a stale built-in default. -// -// When the configured value already has a tag, it is used as-is. When it -// names only a repo, the latest tag is discovered from the registry -// (preferring stable over rc, 1h cached); any discovery failure falls -// back to the configured value unchanged. +// resolveClusterValidatorImage resolves the validator image from flag > env > +// config-file. Returns ("", false) when unconfigured. When only a repo is +// given, discovers the latest stable tag (1h cached; falls back on failure). func resolveClusterValidatorImage(ctx context.Context) (string, bool) { image := viper.GetString("cluster_validator_image") if image == "" { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index d3a6d94b64..218bdca80c 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -30,6 +30,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "nvcf-cli/internal/selfhosted/kubectx" "nvcf-cli/internal/selfhosted/progress" ) @@ -343,6 +344,165 @@ func TestCheck_SplitClusterMode(t *testing.T) { assert.Contains(t, categories, "compute-plane-cluster", "expected compute-plane-cluster in split mode") } +// TestComputePlaneIsTargeted tests the predicate that gates the cluster-validator +// probe. The validator should run when the compute plane is explicitly targeted +// (--compute-plane, --all) or implicitly targeted by ModeSingle + --pre. +// It must NOT run for --pre alone in ModeSplit, where the two context flags +// identify separate clusters and --pre does not constitute targeting the compute plane. +func TestComputePlaneIsTargeted(t *testing.T) { + t.Cleanup(func() { + checkPre = false + checkComputePlane = false + checkAll = false + }) + + tests := []struct { + name string + pre bool + cp bool + all bool + mode kubectx.Mode + want bool + }{ + {"--compute-plane single", false, true, false, kubectx.ModeSingle, true}, + {"--compute-plane split", false, true, false, kubectx.ModeSplit, true}, + {"--all single", false, false, true, kubectx.ModeSingle, true}, + {"--all split", false, false, true, kubectx.ModeSplit, true}, + {"--pre single — implicit compute plane", true, false, false, kubectx.ModeSingle, true}, + {"--pre split — must not target compute plane", true, false, false, kubectx.ModeSplit, false}, + {"--control-plane only", false, false, false, kubectx.ModeSingle, false}, + {"no relevant flag", false, false, false, kubectx.ModeSingle, false}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + checkPre = tt.pre + checkComputePlane = tt.cp + checkAll = tt.all + assert.Equal(t, tt.want, computePlaneIsTargeted(tt.mode)) + }) + } +} + +// TestCheck_ComputePlaneFlagRunsChecks verifies that --compute-plane alone +// produces compute-plane-cluster category events. Before the gating fix this +// flag was a complete no-op and produced no check events at all. +func TestCheck_ComputePlaneFlagRunsChecks(t *testing.T) { + t.Cleanup(func() { + selfHostedJSON = false + selfHostedOutput = "text" + checkComputePlane = false + }) + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + + rootCmd.SetArgs([]string{"self-hosted", "check", "--compute-plane", "--json"}) + _ = rootCmd.Execute() + + lines := parseJSONLLines(t, stderr.String()) + require.NotEmpty(t, lines, "expected at least one JSONL line") + + var categories []string + for _, l := range lines[1:] { + if l["event"] == "category_completed" { + if cat, ok := l["category"].(string); ok { + categories = append(categories, cat) + } + } + } + assert.Contains(t, categories, "compute-plane-cluster", + "--compute-plane must produce compute-plane-cluster events") +} + +// TestCheck_ControlPlaneFlagRunsChecks verifies that --control-plane alone +// produces control-plane-cluster category events. +func TestCheck_ControlPlaneFlagRunsChecks(t *testing.T) { + t.Cleanup(func() { + selfHostedJSON = false + selfHostedOutput = "text" + checkControlPlane = false + }) + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--json"}) + _ = rootCmd.Execute() + + lines := parseJSONLLines(t, stderr.String()) + require.NotEmpty(t, lines, "expected at least one JSONL line") + + var categories []string + for _, l := range lines[1:] { + if l["event"] == "category_completed" { + if cat, ok := l["category"].(string); ok { + categories = append(categories, cat) + } + } + } + assert.Contains(t, categories, "control-plane-cluster", + "--control-plane must produce control-plane-cluster events") +} + +// TestCheck_ValidatorSkipNoteAppearsOnComputePlane verifies that the +// "cluster-validator skipped" note appears on stderr when --compute-plane is +// used with --skip-cluster-validation (compute plane is targeted, validator is +// suppressed). +func TestCheck_ValidatorSkipNoteAppearsOnComputePlane(t *testing.T) { + t.Cleanup(func() { + selfHostedJSON = false + selfHostedOutput = "text" + checkComputePlane = false + checkSkipClusterValidation = false + }) + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + + rootCmd.SetArgs([]string{ + "self-hosted", "check", "--compute-plane", + "--skip-cluster-validation", "--json", + }) + _ = rootCmd.Execute() + + assert.Contains(t, stderr.String(), "cluster-validator skipped", + "expected skip note when compute plane is targeted and --skip-cluster-validation is set") +} + +// TestCheck_ValidatorSkipNoteAbsentForPreInSplitMode verifies that the +// "cluster-validator skipped" note does NOT appear when --pre is used in +// split mode, because the compute plane is not explicitly targeted and +// ModeSplit + --pre does not implicitly make either context the compute plane. +func TestCheck_ValidatorSkipNoteAbsentForPreInSplitMode(t *testing.T) { + t.Cleanup(func() { + selfHostedJSON = false + selfHostedOutput = "text" + checkPre = false + checkSkipClusterValidation = false + selfHostedControlPlaneContext = "" + selfHostedComputePlaneContext = "" + }) + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + + rootCmd.SetArgs([]string{ + "self-hosted", "check", "--pre", + "--skip-cluster-validation", "--json", + "--control-plane-context", "admin@cp", + "--compute-plane-context", "admin@gpu1", + }) + _ = rootCmd.Execute() + + assert.NotContains(t, stderr.String(), "cluster-validator skipped", + "skip note must not appear for --pre in split mode (compute plane not targeted)") +} + // parseJSONLLines splits s into non-empty lines, skips any non-JSON lines // (e.g. cobra error messages written to stderr), and unmarshals each JSON line // as an object. Returns them in order. diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 5df457fa76..a9e1c6832b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -71,6 +71,15 @@ type ClusterValidatorParams struct { Image string PullSecret string NoCleanup bool + // Role selects which check set the validator runs: "control-plane" or + // "compute-plane" (empty = compute-plane default). Passed to the Job as + // VALIDATOR_ROLE. See clustervalidator.RoleControlPlane / RoleComputePlane. + Role string + // Registries is a list of additional "host:port" registry endpoints to + // probe for reachability in the control-plane validator ConfigMap (in + // addition to nvcr.io which is always included). Ignored for the + // compute-plane role. + Registries []string } // Err is non-nil only when the run failed to execute (RBAC bootstrap, @@ -98,12 +107,12 @@ func NewClusterValidator() ClusterValidator { if err != nil { return ClusterValidatorResult{Err: fmt.Errorf("building kubernetes client: %w", err)} } - return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup) + return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup, p.Role, p.Registries) } } // Testable core. Pass a fake clientset to unit-test without a real cluster. -func runClusterValidator(ctx context.Context, client kubernetes.Interface, image, pullSecret string, noCleanup bool) ClusterValidatorResult { +func runClusterValidator(ctx context.Context, client kubernetes.Interface, image, pullSecret string, noCleanup bool, role string, registries []string) ClusterValidatorResult { if image == "" { // Defensive: callers gate on configured image before invoking the // validator, so this branch shouldn't fire in normal use. @@ -128,11 +137,23 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } + // For the control-plane role, create a ConfigMap with reachability + // endpoints and enforcement config so the validator runs its configurable + // checks. Best-effort: a failure here is logged but does not abort the + // run — the validator gracefully skips configurable checks when the + // ConfigMap is absent. + if role == clusterValidatorControlPlaneRole { + if err := ensureClusterValidatorConfig(vctx, client, registries); err != nil { + // Non-fatal: reachability checks will be skipped, not the whole run. + _ = err + } + } + sweepPriorClusterValidatorJobs(vctx, client) jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) if _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( - vctx, buildClusterValidatorJob(jobName, image, pullSecret, noCleanup), metav1.CreateOptions{}, + vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, noCleanup), metav1.CreateOptions{}, ); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("creating validator Job: %w", err)} } @@ -167,9 +188,8 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } // Creates the SA/ClusterRole/ClusterRoleBinding the validator pod runs under, -// idempotent via AlreadyExists tolerance. Permissions mirror the -// nvca-operator chart's validator rbac.yaml (read-only). Resources persist -// across runs; the sweep only deletes Jobs. +// idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so +// newer CLI versions replace stale rules without the operator needing to delete. func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface) error { labels := clusterValidatorLabels() @@ -187,11 +207,21 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface cr := &rbacv1.ClusterRole{ ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorName, Labels: labels}, Rules: []rbacv1.PolicyRule{ - {APIGroups: []string{""}, Resources: []string{"nodes", "pods", "namespaces", "services", "configmaps"}, Verbs: []string{"get", "list", "watch"}}, + // Read-only: cluster inventory and configuration. + {APIGroups: []string{""}, Resources: []string{"nodes", "configmaps"}, Verbs: []string{"get", "list", "watch"}}, + // Read + write: enforcement checks create and delete probe namespaces + // and pods; the active-LB check creates and deletes a probe service. + {APIGroups: []string{""}, Resources: []string{"namespaces", "pods", "services"}, Verbs: []string{"get", "list", "watch", "create", "delete"}}, + // Pod log subresource: read probe output without exec. + {APIGroups: []string{""}, Resources: []string{"pods/log"}, Verbs: []string{"get"}}, {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"csidrivers", "storageclasses"}, Verbs: []string{"get", "list"}}, - {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"get", "list"}}, + // NetworkPolicies: read for CNI detection; write for enforcement + // check which creates/updates/deletes policies in the temp namespace. + {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"get", "list", "create", "update", "delete"}}, {APIGroups: []string{"admissionregistration.k8s.io"}, Resources: []string{"mutatingwebhookconfigurations", "validatingwebhookconfigurations"}, Verbs: []string{"get", "list"}}, {APIGroups: []string{"apps"}, Resources: []string{"deployments", "daemonsets", "statefulsets"}, Verbs: []string{"get", "list"}}, + // Gateway API: control-plane gateway and route health checks. + {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{"gatewayclasses", "gateways", "httproutes", "grpcroutes"}, Verbs: []string{"get", "list"}}, {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, }, } @@ -266,19 +296,121 @@ func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface) { ) } -// IfNotPresent so locally-imported images (k3d image import, kind load) are -// reused. VALIDATOR_CONFIG_NAME is empty so the validator skips the -// configurable reachability/network-policy sections (ConfigMap support is a -// follow-up). -// -// VALIDATOR_PREFLIGHT=true puts the validator in preflight mode: it runs the -// readiness checks and exits, but does NOT write its summary ConfigMap. The -// ConfigMap exists for the metrics path (the NVCA agent watches it and -// republishes on /metrics), which is meaningless here because preflight runs -// before NVCA is installed and our RBAC bootstrap grants no configmaps -// create/update. Tagging the invocation keeps preflight a clean no-op rather -// than emitting a confusing "failed to create summary ConfigMap" warning. -func buildClusterValidatorJob(name, image, pullSecret string, noCleanup bool) *batchv1.Job { +// clusterValidatorControlPlaneRole is the role value passed as VALIDATOR_ROLE +// when running against the control-plane cluster. Matches nvca's RoleControlPlane +// without importing that package. +const clusterValidatorControlPlaneRole = "control-plane" + +// clusterValidatorConfigName is the default ConfigMap name the validator binary +// looks for when VALIDATOR_CONFIG_NAME is empty. Must stay in sync with +// defaultConfigMapName in nvca/cmd/cluster-validator/main.go. +const clusterValidatorConfigName = "cluster-validator-network-checks" + +// controlPlaneValidatorConfigTemplate is the baseline network-check ConfigMap for +// control-plane preflight: nvcr.io reachability (critical) and NetworkPolicy +// enforcement (non-critical). Extra registries are appended as non-critical probes. +const controlPlaneValidatorConfigTemplate = `reachability: + endpoints: + - name: nvcr.io + host: nvcr.io + port: 443 + protocol: tcp+tls + critical: true +enforcement: + enabled: true + testImage: busybox:1.36 + timeoutSeconds: 60 + critical: false +` + +// ensureClusterValidatorConfig creates or updates the network-check ConfigMap. +// extraRegistries are added as non-critical tcp+tls probes. Best-effort: the +// validator skips configurable checks when the ConfigMap is absent. +func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, extraRegistries []string) error { + content := buildControlPlaneValidatorConfig(extraRegistries) + desired := &corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigName, + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + }, + Data: map[string]string{"config.yaml": content}, + } + + existing, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, clusterValidatorConfigName, metav1.GetOptions{}) + if err != nil { + if !apierrors.IsNotFound(err) { + return fmt.Errorf("get validator config ConfigMap: %w", err) + } + if _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Create(ctx, desired, metav1.CreateOptions{}); err != nil { + return fmt.Errorf("create validator config ConfigMap: %w", err) + } + return nil + } + + // Always update so a newer CLI version's config (or new registries) replaces stale content. + existing.Data = desired.Data + existing.Labels = desired.Labels + if _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Update(ctx, existing, metav1.UpdateOptions{}); err != nil { + return fmt.Errorf("update validator config ConfigMap: %w", err) + } + return nil +} + +// buildControlPlaneValidatorConfig assembles the network-check ConfigMap YAML +// from the baseline template plus any operator-supplied extra registries. +func buildControlPlaneValidatorConfig(extraRegistries []string) string { + if len(extraRegistries) == 0 { + return controlPlaneValidatorConfigTemplate + } + + // Parse host:port entries and append as non-critical tcp+tls endpoints. + var extra strings.Builder + for _, reg := range extraRegistries { + host, port := parseRegistryHostPort(reg) + if host == "" { + continue + } + // Append under the existing reachability.endpoints list. + fmt.Fprintf(&extra, " - name: %s\n host: %s\n port: %d\n protocol: tcp+tls\n critical: false\n", host, host, port) + } + if extra.Len() == 0 { + return controlPlaneValidatorConfigTemplate + } + + // Insert extra endpoints after the nvcr.io entry (before the enforcement block). + return strings.Replace(controlPlaneValidatorConfigTemplate, + "enforcement:", extra.String()+"enforcement:", 1) +} + +// parseRegistryHostPort splits a "host:port" string. Returns port 443 when +// no port is specified or when the port is not a valid number. +func parseRegistryHostPort(s string) (host string, port int) { + s = strings.TrimSpace(s) + if s == "" { + return "", 0 + } + if idx := strings.LastIndex(s, ":"); idx > 0 { + h := s[:idx] + p := s[idx+1:] + n := 0 + for _, c := range p { + if c < '0' || c > '9' { + return s, 443 + } + n = n*10 + int(c-'0') + } + if n > 0 && n <= 65535 { + return h, n + } + } + return s, 443 +} + +// buildClusterValidatorJob creates the validator Job. PullIfNotPresent reuses +// locally-imported images. VALIDATOR_PREFLIGHT=true skips the summary ConfigMap +// write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). +func buildClusterValidatorJob(name, image, pullSecret, role string, noCleanup bool) *batchv1.Job { backoff := int32(0) podSpec := corev1.PodSpec{ ServiceAccountName: clusterValidatorName, @@ -291,6 +423,7 @@ func buildClusterValidatorJob(name, image, pullSecret string, noCleanup bool) *b {Name: "VALIDATOR_CONFIG_NAMESPACE", Value: clusterValidatorNamespace}, {Name: "VALIDATOR_CONFIG_NAME", Value: ""}, {Name: "VALIDATOR_PREFLIGHT", Value: "true"}, + {Name: "VALIDATOR_ROLE", Value: role}, }, }}, } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 70ef4a6a91..95051c402a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -113,7 +113,7 @@ func TestRunClusterValidator_EmptyImage(t *testing.T) { // branch is defensive. Verify it returns a clear error and makes // no API calls. client := fake.NewSimpleClientset() - res := runClusterValidator(context.Background(), client, "", "", false) + res := runClusterValidator(context.Background(), client, "", "", false, "", nil) require.Error(t, res.Err) assert.Contains(t, res.Err.Error(), "image is empty") assert.False(t, res.Passed) @@ -124,7 +124,7 @@ func TestClusterValidatorCheck_OrchestratorErrorStaysWarning(t *testing.T) { cv := func(_ context.Context, _ ClusterValidatorParams) ClusterValidatorResult { return ClusterValidatorResult{Err: fmt.Errorf("transient: API server unreachable")} } - r := clusterValidatorCheck(cv, "", "", "", false).Run(context.Background()) + r := clusterValidatorCheck(cv, "", "", "", false, "", nil).Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, "warning", r.Severity, "transient orchestrator failures should not fail the overall preflight") @@ -169,7 +169,7 @@ func TestRunClusterValidator_HappyPath(t *testing.T) { }, nil }) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) require.NoError(t, res.Err, "happy path must not surface an error") assert.True(t, res.Passed, "Succeeded>0 maps to Passed=true") assert.Equal(t, int32(0), res.ExitCode) @@ -204,7 +204,7 @@ func TestRunClusterValidator_JobFailed(t *testing.T) { }) client.PrependReactor("list", "pods", podListReactor("")) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) require.NoError(t, res.Err, "a clean Passed=false verdict must not set Err") assert.False(t, res.Passed, "Failed>0 maps to Passed=false") assert.NotEmpty(t, res.JobName, "JobName must be populated on failure for kubectl-logs follow-up") @@ -237,7 +237,7 @@ func TestRunClusterValidator_RBACIdempotent(t *testing.T) { }) client.PrependReactor("list", "pods", podListReactor("")) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) require.NoError(t, res.Err, "AlreadyExists on RBAC bootstrap must be treated as success") assert.True(t, res.Passed) } @@ -264,7 +264,7 @@ func TestRunClusterValidator_RBACRefreshesClusterRoleRules(t *testing.T) { }) client.PrependReactor("list", "pods", podListReactor("")) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) require.NoError(t, res.Err) got, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorName, metav1.GetOptions{}) @@ -273,6 +273,84 @@ func TestRunClusterValidator_RBACRefreshesClusterRoleRules(t *testing.T) { "ClusterRole rules must be refreshed to the current set on each run, not kept stale") } +// TestEnsureClusterValidatorRBAC_WritableResources verifies that the +// bootstrapped ClusterRole grants the write verbs required by enforcement +// checks (namespace/pod create+delete), probe log reading (pods/log get), +// and the Gateway API checks added in Req 3/4. +func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { + client := fake.NewSimpleClientset() + ctx := context.Background() + + require.NoError(t, ensureClusterValidatorRBAC(ctx, client)) + + cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorName, metav1.GetOptions{}) + require.NoError(t, err) + + type check struct { + group string + resource string + verb string + } + required := []check{ + // Enforcement checks create and delete probe namespaces. + {"", "namespaces", "create"}, + {"", "namespaces", "delete"}, + // Probe pods spun up for node-to-node and inter-namespace checks. + {"", "pods", "create"}, + {"", "pods", "delete"}, + // Log reading: fetch probe output without exec. + {"", "pods/log", "get"}, + // Active LB probe service. + {"", "services", "create"}, + {"", "services", "delete"}, + // Enforcement check creates/updates/deletes NetworkPolicies in temp namespace. + {"networking.k8s.io", "networkpolicies", "create"}, + {"networking.k8s.io", "networkpolicies", "update"}, + {"networking.k8s.io", "networkpolicies", "delete"}, + // Gateway API health checks. + {"gateway.networking.k8s.io", "gatewayclasses", "get"}, + {"gateway.networking.k8s.io", "gateways", "list"}, + {"gateway.networking.k8s.io", "httproutes", "get"}, + {"gateway.networking.k8s.io", "grpcroutes", "list"}, + } + + for _, want := range required { + t.Run(fmt.Sprintf("%s/%s/%s", want.group, want.resource, want.verb), func(t *testing.T) { + assert.True(t, rbacRuleCovers(cr.Rules, want.group, want.resource, want.verb), + "ClusterRole must grant %s on %s (group %q)", want.verb, want.resource, want.group) + }) + } +} + +// rbacRuleCovers returns true when any PolicyRule in rules grants verb on +// resource within group. Wildcard verbs ("*") are treated as matching any verb. +func rbacRuleCovers(rules []rbacv1.PolicyRule, group, resource, verb string) bool { + for _, r := range rules { + if len(r.NonResourceURLs) > 0 { + continue // non-resource rules don't apply to API resources + } + if !strSliceContains(r.APIGroups, group) { + continue + } + if !strSliceContains(r.Resources, resource) { + continue + } + if strSliceContains(r.Verbs, verb) || strSliceContains(r.Verbs, "*") { + return true + } + } + return false +} + +func strSliceContains(ss []string, s string) bool { + for _, v := range ss { + if v == s { + return true + } + } + return false +} + func TestRunClusterValidator_ImagePullBackOffShortCircuits(t *testing.T) { client := fake.NewSimpleClientset() var jobName atomic.Value @@ -317,7 +395,7 @@ func TestRunClusterValidator_ImagePullBackOffShortCircuits(t *testing.T) { }) start := time.Now() - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) elapsed := time.Since(start) require.Error(t, res.Err, "ImagePullBackOff must short-circuit the wait with an error") @@ -355,7 +433,7 @@ func TestRunClusterValidator_LogFetchSurvivesValidatorTimeout(t *testing.T) { client.PrependReactor("list", "pods", podListReactor("")) // Parent ctx stays alive for the entire run; only vctx expires. - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) require.Error(t, res.Err, "wait must surface the deadline-exceeded error") assert.Contains(t, res.Err.Error(), "waiting for job", @@ -408,13 +486,13 @@ func TestRunClusterValidator_ContextCanceled(t *testing.T) { time.Sleep(50 * time.Millisecond) cancel() }() - res := runClusterValidator(ctx, client, "test-image:1.0", "", false) + res := runClusterValidator(ctx, client, "test-image:1.0", "", false, "", nil) require.Error(t, res.Err) assert.Contains(t, res.Err.Error(), "context") } func TestBuildClusterValidatorJobShape(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", false) + job := buildClusterValidatorJob("test-job", "img:1", "", "", false) assert.Equal(t, "test-job", job.Name) assert.Equal(t, clusterValidatorNamespace, job.Namespace) @@ -451,19 +529,19 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { } func TestBuildClusterValidatorJobShape_WithPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", false) + job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", false) require.Len(t, job.Spec.Template.Spec.ImagePullSecrets, 1) assert.Equal(t, "nvcr-pull-secret", job.Spec.Template.Spec.ImagePullSecrets[0].Name) } func TestBuildClusterValidatorJobShape_NoPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", false) + job := buildClusterValidatorJob("test-job", "img:1", "", "", false) assert.Empty(t, job.Spec.Template.Spec.ImagePullSecrets, "empty pull-secret arg must not produce an empty-name ImagePullSecrets entry") } func TestBuildClusterValidatorJobShape_NoCleanup(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", true) + job := buildClusterValidatorJob("test-job", "img:1", "", "", true) assert.Nil(t, job.Spec.TTLSecondsAfterFinished, "--no-cleanup must omit TTLSecondsAfterFinished so the Job persists for debugging") } @@ -521,6 +599,55 @@ func TestKubectlLogsHint_EmptyJob(t *testing.T) { "empty jobName must produce empty hint so callers can compose detail without conditionals") } +func TestBuildControlPlaneValidatorConfig_NoExtras(t *testing.T) { + got := buildControlPlaneValidatorConfig(nil) + assert.Equal(t, controlPlaneValidatorConfigTemplate, got, + "no extra registries must return the template unchanged") + assert.Contains(t, got, "nvcr.io", "nvcr.io must always be present") + assert.Contains(t, got, "enforcement:", "enforcement block must be present") +} + +func TestBuildControlPlaneValidatorConfig_WithExtras(t *testing.T) { + got := buildControlPlaneValidatorConfig([]string{"harbor.company.internal:443", "ghcr.io:443"}) + assert.Contains(t, got, "harbor.company.internal") + assert.Contains(t, got, "ghcr.io") + assert.Contains(t, got, "nvcr.io", "nvcr.io must still be present alongside extras") + assert.Contains(t, got, "enforcement:", "enforcement block must still be present after extras") + // Extra registries must appear BEFORE enforcement. + harborIdx := strings.Index(got, "harbor.company.internal") + enforcementIdx := strings.Index(got, "enforcement:") + assert.Less(t, harborIdx, enforcementIdx, "extra registry endpoints must appear before the enforcement block") +} + +func TestBuildControlPlaneValidatorConfig_InvalidRegistrySkipped(t *testing.T) { + // A blank entry is parsed as host="" → skipped; only the valid entry appears. + got := buildControlPlaneValidatorConfig([]string{" ", "valid.registry.internal:5000"}) + assert.Contains(t, got, "valid.registry.internal", "valid registry must appear") + // The blank entry must not add an empty host: line. + assert.NotContains(t, got, "host: \n", "blank entry must not produce an empty host line") +} + +func TestParseRegistryHostPort(t *testing.T) { + tests := []struct { + in string + wantHost string + wantPort int + }{ + {"nvcr.io:443", "nvcr.io", 443}, + {"harbor.company.internal:5000", "harbor.company.internal", 5000}, + {"registry.example.com", "registry.example.com", 443}, // no port → 443 + {"", "", 0}, // empty → skip + {" ", "", 0}, // blank → skip + } + for _, tt := range tests { + t.Run(tt.in, func(t *testing.T) { + h, p := parseRegistryHostPort(tt.in) + assert.Equal(t, tt.wantHost, h) + assert.Equal(t, tt.wantPort, p) + }) + } +} + func alreadyExistsReactor(resource, name string) ktesting.ReactionFunc { gr := schema.GroupResource{Resource: resource} return func(action ktesting.Action) (bool, runtime.Object, error) { From 1ffb0c0ac498f1f8b8cd64b441ad614decc7fe6e Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 02:14:34 +0530 Subject: [PATCH 002/127] feat(check): detect stale NVCF namespaces and add control-plane validator wiring --- .../nvcf-cli/internal/selfhosted/preflight.go | 189 ++++++++++++++--- .../internal/selfhosted/preflight_test.go | 24 ++- .../internal/selfhosted/stale_namespace.go | 114 ++++++++++ .../selfhosted/stale_namespace_test.go | 198 ++++++++++++++++++ 4 files changed, 497 insertions(+), 28 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index e4dc5858a1..78b0614104 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -195,6 +195,15 @@ func runVersionCmdOnce(ctx context.Context, path string, args []string, re *rege type PreflightConfig struct { LocalOnly bool Tools []BinarySpec + + // Registries is the list of container registries to credential-check. + // When empty, the registry-credentials category is omitted entirely. + // Populated by the cmd layer from EnumerateRegistries. + Registries []RegistryEntry + + // RegistryChecker validates credentials for one registry. Nil skips the + // category. Production wires NewRegistryCredentialChecker; tests pass fakes. + RegistryChecker RegistryCredentialChecker } // DefaultTools returns the kubectl/helmfile/helm specs with version floors @@ -252,10 +261,18 @@ type Role int const ( RoleLocalOnly Role = iota // shared local-host tools only; no kubectl contact - RoleControlPlane // shared + Gateway API CRDs + default StorageClass + RoleControlPlane // shared + gateway/StorageClass/LB checks via cluster-validator RoleComputePlane // shared + GPU operator + GPU node labels + (optional) SIS reachability ) +// Validator role strings passed as VALIDATOR_ROLE to the cluster-validator Job. +// These must match the constants in the nvca cluster-validator binary's +// clustervalidator package (RoleControlPlane / RoleComputePlane). +const ( + validatorRoleControlPlane = "control-plane" + validatorRoleComputePlane = "compute-plane" +) + // String returns a human-readable name for the role. func (r Role) String() string { switch r { @@ -289,6 +306,16 @@ type RoleConfig struct { ClusterValidatorImage string ClusterValidatorPullSecret string ClusterValidatorNoCleanup bool + + // StaleNamespaceProber detects NVCF stack namespaces that are stuck + // Terminating or exist as empty shells after a partial teardown. Nil skips + // the check; production wires NewStaleNamespaceProber; tests pass fakes. + StaleNamespaceProber StaleNamespaceProber + + // ClusterValidatorRegistries is an optional list of "host:port" registry + // endpoints added to the control-plane validator ConfigMap alongside the + // built-in nvcr.io probe. Ignored for the compute-plane validator. + ClusterValidatorRegistries []string } // categorySpec groups a set of checks under a named category. Categories run @@ -318,6 +345,13 @@ func buildCategories(cfg PreflightConfig, role Role, rc RoleConfig) []categorySp out = append(out, *local) } + // Registry credential check runs from the operator's machine — no cluster + // contact needed. Placed after local-host-tools but before cluster probes + // so credential failures surface early. + if len(cfg.Registries) > 0 && cfg.RegistryChecker != nil { + out = append(out, buildRegistryCredentialCategory(cfg)) + } + if cfg.LocalOnly || role == RoleLocalOnly { return out } @@ -354,28 +388,42 @@ func buildLocalHostCategory(cfg PreflightConfig) *categorySpec { return &categorySpec{name: "local-host-tools", role: RoleLocalOnly, checks: checks} } -// controlPlaneCheckCategory returns the placeholder cluster-side checks for -// control plane: Gateway API CRDs, default StorageClass. Real probes land -// when M3 ships; for now they emit an "info" CheckResult so the renderer -// matrix is observable. -func controlPlaneCheckCategory(_ RoleConfig) categorySpec { - return categorySpec{ - name: "control-plane-cluster", - role: RoleControlPlane, - checks: []binaryCheckSpec{ - placeholderCheck("gateway-api-crds", "checking Gateway API CRDs…", "Gateway API CRD probe — pending M3 cluster-side preflight"), - placeholderCheck("default-storageclass", "checking default StorageClass…", "Default StorageClass probe — pending M3 cluster-side preflight"), - }, +// controlPlaneCheckCategory returns the cluster-side checks for the control +// plane. The stale-namespace check runs first so a leftover namespace from a +// prior partial teardown is surfaced before any other cluster work. +// Gateway API CRD and StorageClass probes are placeholders pending M3. +func controlPlaneCheckCategory(rc RoleConfig) categorySpec { + cat := categorySpec{ + name: "control-plane-cluster", + role: RoleControlPlane, + checks: []binaryCheckSpec{}, + } + // Stale namespace check runs first so leftover namespaces surface + // before any other cluster work. + if rc.StaleNamespaceProber != nil { + cat.checks = append(cat.checks, + staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, nvcfControlPlaneNamespaces)) + } + // Containerized cluster-validator probe for control-plane checks + // (Gateway API CRDs, Envoy Gateway, StorageClass, external LB, + // node-to-node overlay, and reachability to nvcr.io + extra registries). + if rc.ClusterValidator != nil { + cat.checks = append(cat.checks, clusterValidatorCheck( + rc.ClusterValidator, + rc.KubeContext, + rc.ClusterValidatorImage, + rc.ClusterValidatorPullSecret, + rc.ClusterValidatorNoCleanup, + validatorRoleControlPlane, + rc.ClusterValidatorRegistries, + )) } + return cat } -// computePlaneCheckCategory returns the placeholder compute-plane checks. -// Conditionally adds an SIS reachability probe when RoleConfig.SISURL is set, -// a node-inotify-limits probe when RoleConfig.InotifyProber is set, and a -// containerized cluster-validator probe when RoleConfig.ClusterValidator is -// set. Each conditional probe is opt-in via its own RoleConfig field so -// callers that opted out via a --skip-* flag simply leave the corresponding -// field nil/empty and the check is omitted from the category entirely. +// computePlaneCheckCategory returns the compute-plane checks. SIS, inotify, +// and cluster-validator probes are opt-in via their RoleConfig fields; a nil +// or empty field omits the corresponding check from the category. func computePlaneCheckCategory(rc RoleConfig) categorySpec { cat := categorySpec{ name: "compute-plane-cluster", @@ -385,6 +433,13 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { placeholderCheck("gpu-node-labels", "checking GPU node labels…", "GPU node-label probe — pending M+10 cluster-side preflight"), }, } + // Stale namespace check runs first so leftover namespaces from a prior + // partial teardown surface before any other cluster work. + if rc.StaleNamespaceProber != nil { + cat.checks = append([]binaryCheckSpec{ + staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, nvcfComputePlaneNamespaces), + }, cat.checks...) + } if rc.SISURL != "" { cat.checks = append(cat.checks, sisReachabilityCheck(rc.SISURL)) } @@ -398,6 +453,8 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { rc.ClusterValidatorImage, rc.ClusterValidatorPullSecret, rc.ClusterValidatorNoCleanup, + validatorRoleComputePlane, + nil, // registries: compute-plane doesn't use the ConfigMap reachability list )) } return cat @@ -503,10 +560,10 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS } } -// Severity mapping: runner errors (RBAC/pull/timeout) -> warning, since -// they're operator-fixable infra issues; validator Passed=false -> -// error (real check failures); Passed=true -> info. -func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool) binaryCheckSpec { +// clusterValidatorCheck runs the validator Job. Runner errors (RBAC/timeout) +// are warning severity; validator failures are error. role selects the check +// set via VALIDATOR_ROLE; registries extends the ConfigMap reachability list. +func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool, role string, registries []string) binaryCheckSpec { const id = "cluster-validator" return binaryCheckSpec{ ID: id, @@ -521,6 +578,8 @@ func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret s Image: image, PullSecret: pullSecret, NoCleanup: noCleanup, + Role: role, + Registries: registries, }) r.Logs = result.Logs r.Detail = clusterValidatorDetail(result.JobName) @@ -552,6 +611,88 @@ func clusterValidatorDetail(jobName string) string { return "logs: " + hint } +// buildRegistryCredentialCategory returns the registry-credentials category +// that probes each configured registry for reachability and valid credentials. +func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { + cat := categorySpec{ + name: "registry-credentials", + role: RoleLocalOnly, // runs regardless of cluster role + checks: make([]binaryCheckSpec, 0, len(cfg.Registries)), + } + for _, reg := range cfg.Registries { + reg := reg // capture loop var + cat.checks = append(cat.checks, registryCredentialCheck(cfg.RegistryChecker, reg)) + } + return cat +} + +// registryCredentialCheck returns a binaryCheckSpec that probes one registry. +// Critical registries (nvcr.io) fail at error severity; non-critical ones +// fail at warning so they don't block the operator on optional registries. +func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEntry) binaryCheckSpec { + id := "registry-cred-" + entry.Registry + severity := "warning" + if entry.Critical { + severity = "error" + } + return binaryCheckSpec{ + ID: id, + HumanLabel: fmt.Sprintf("checking credentials for %s…", entry.Registry), + Run: func(ctx context.Context) CheckResult { + r := CheckResult{ + ID: id, + Severity: severity, + } + if err := checker(ctx, entry.Registry, entry.RepoHint); err != nil { + r.Message = entry.Registry + ": " + err.Error() + r.Err = err + return r + } + r.Passed = true + r.Severity = "info" + r.Message = entry.Registry + ": credentials valid" + return r + }, + } +} + +// staleNamespaceCheck detects NVCF namespaces stuck Terminating or left as +// empty shells after a partial teardown. Severity is error; prober errors +// degrade to warning so transient kubeconfig issues don't falsely fail. +func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namespaces []string) binaryCheckSpec { + const id = "stale-namespaces" + return binaryCheckSpec{ + ID: id, + HumanLabel: "checking for stale NVCF namespaces…", + Run: func(ctx context.Context) CheckResult { + r := CheckResult{ID: id, Severity: "error"} + stale, err := prober(ctx, kubeContext, namespaces) + if err != nil { + r.Severity = "warning" + r.Message = "stale namespace probe failed: " + err.Error() + r.Err = err + return r + } + if len(stale) == 0 { + r.Passed = true + r.Message = "no stale NVCF namespaces detected" + return r + } + parts := make([]string, 0, len(stale)) + names := make([]string, 0, len(stale)) + for _, ns := range stale { + parts = append(parts, ns.Name+" ("+ns.Reason+")") + names = append(names, ns.Name) + } + r.Message = fmt.Sprintf( + "%d stale namespace(s) detected: %s — remove with: kubectl delete namespace %s --force --grace-period=0", + len(stale), strings.Join(parts, ", "), strings.Join(names, " "), + ) + return r + }, + } +} + // placeholderCheck returns a binaryCheckSpec that emits a passing "info" // CheckResult with the given message. Used until M3/M+10 cluster-side probes ship. func placeholderCheck(id, label, message string) binaryCheckSpec { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 262075dff8..93dee7b253 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -408,7 +408,10 @@ func TestRunPreflightForRole_LocalOnly(t *testing.T) { func TestRunPreflightForRole_ControlPlaneAddsClusterCategory(t *testing.T) { sink := &captureSink{} cfg := PreflightConfig{Tools: []BinarySpec{passingToolSpec("kubectl", "1.30.0")}} - res := RunPreflightForRole(context.Background(), cfg, RoleControlPlane, RoleConfig{KubeContext: "admin@cp"}, sink) + // No StaleNamespaceProber and no ClusterValidator: the control-plane + // category is empty but the category itself still fires (CategoryCompleted + // is always emitted). + RunPreflightForRole(context.Background(), cfg, RoleControlPlane, RoleConfig{KubeContext: "admin@cp"}, sink) seen := map[string]bool{} for _, e := range sink.events { @@ -417,14 +420,27 @@ func TestRunPreflightForRole_ControlPlaneAddsClusterCategory(t *testing.T) { } } assert.True(t, seen["local-host-tools"], "expected local-host-tools category") - assert.True(t, seen["control-plane-cluster"], "expected control-plane-cluster category") + assert.True(t, seen["control-plane-cluster"], "expected control-plane-cluster category even with no checks configured") +} + +func TestRunPreflightForRole_ControlPlaneWithValidatorAddsClusterValidatorCheck(t *testing.T) { + sink := &captureSink{} + cfg := PreflightConfig{Tools: []BinarySpec{passingToolSpec("kubectl", "1.30.0")}} + cv := func(_ context.Context, p ClusterValidatorParams) ClusterValidatorResult { + return ClusterValidatorResult{Passed: true} + } + res := RunPreflightForRole(context.Background(), cfg, RoleControlPlane, RoleConfig{ + KubeContext: "admin@cp", + ClusterValidator: cv, + ClusterValidatorImage: "nvcf-validator:1.0", + }, sink) var gotCheckIDs []string for _, r := range res { gotCheckIDs = append(gotCheckIDs, r.ID) } - assert.Contains(t, gotCheckIDs, "gateway-api-crds") - assert.Contains(t, gotCheckIDs, "default-storageclass") + assert.Contains(t, gotCheckIDs, "cluster-validator", + "cluster-validator check must appear when ClusterValidator is configured for control-plane role") } func TestRunPreflightForRole_ComputePlaneWithoutSISURL(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go new file mode 100644 index 0000000000..8fe3131754 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -0,0 +1,114 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "fmt" + + corev1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes" +) + +// nvcfControlPlaneNamespaces is the canonical set of namespaces created on the +// control-plane cluster by the NVCF self-managed stack. Any of these that +// exist without an active Helm release, or that are stuck Terminating, are +// leftover from a failed or partial teardown. +var nvcfControlPlaneNamespaces = []string{ + "cassandra-system", "nats-system", "nvcf", "api-keys", "ess", "sis", + "vault-system", "nvcf-backend", "envoy-gateway-system", "openbao-system", +} + +// nvcfComputePlaneNamespaces is the canonical set of namespaces created on the +// compute-plane cluster by the NVCF self-managed stack. +var nvcfComputePlaneNamespaces = []string{ + "nvca-operator", "nvca-system", +} + +// StaleNamespace describes a single NVCF stack namespace that appears to be a +// leftover from a failed or partial teardown. +type StaleNamespace struct { + Name string + Reason string // human-readable cause: "stuck Terminating" or "no Helm release" +} + +// StaleNamespaceProber inspects the given namespaces and returns those that +// appear stale. The probe is read-only; it never deletes or modifies anything. +// A non-nil error means the cluster could not be contacted; the returned slice +// may be a partial result. +type StaleNamespaceProber func(ctx context.Context, kubeContext string, namespaces []string) ([]StaleNamespace, error) + +// NewStaleNamespaceProber returns a StaleNamespaceProber backed by client-go. +// Chart-independent: works before any Helm release exists, and uses the +// operator's kubeconfig context to talk to the target cluster. +func NewStaleNamespaceProber() StaleNamespaceProber { + return func(ctx context.Context, kubeContext string, namespaces []string) ([]StaleNamespace, error) { + restCfg, err := loadKubeConfig(kubeContext) + if err != nil { + return nil, fmt.Errorf("building kubeconfig: %w", err) + } + client, err := kubernetes.NewForConfig(restCfg) + if err != nil { + return nil, fmt.Errorf("building kubernetes client: %w", err) + } + return probeStaleNamespaces(ctx, client, namespaces) + } +} + +// probeStaleNamespaces is the testable core that accepts a kubernetes.Interface +// so callers can inject fake.NewSimpleClientset in unit tests. +// +// A namespace is considered stale when either: +// - its DeletionTimestamp is set or its phase is Terminating (finalizer +// deadlock — it will never complete without operator intervention), or +// - it exists but holds no active Helm release (empty shell left by a partial +// helm uninstall or a failed teardown that cleaned the release but not the +// namespace). +// +// Helm 3 marks each release secret with the label owner=helm; absence of any +// such secret means no live Helm release occupies the namespace. +func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { + var stale []StaleNamespace + for _, name := range namespaces { + ns, err := client.CoreV1().Namespaces().Get(ctx, name, metav1.GetOptions{}) + if err != nil { + if apierrors.IsNotFound(err) { + continue // absent = healthy; the check only fires on unexpected presence + } + return stale, fmt.Errorf("get namespace %s: %w", name, err) + } + + if ns.DeletionTimestamp != nil || ns.Status.Phase == corev1.NamespaceTerminating { + stale = append(stale, StaleNamespace{Name: name, Reason: "stuck Terminating"}) + continue + } + + secrets, err := client.CoreV1().Secrets(name).List(ctx, metav1.ListOptions{ + LabelSelector: "owner=helm", + }) + if err != nil { + return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) + } + if len(secrets.Items) == 0 { + stale = append(stale, StaleNamespace{Name: name, Reason: "no Helm release"}) + } + } + return stale, nil +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go new file mode 100644 index 0000000000..8acd45a2fd --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -0,0 +1,198 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "fmt" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" +) + +// -- probeStaleNamespaces -- + +func TestProbeStaleNamespaces_AbsentIsHealthy(t *testing.T) { + // A namespace that doesn't exist is not stale — it has simply never been + // created or was already fully deleted. + client := fake.NewSimpleClientset() + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) + require.NoError(t, err) + assert.Empty(t, stale, "absent namespaces must not be reported as stale") +} + +func TestProbeStaleNamespaces_TerminatingIsByDeletionTimestamp(t *testing.T) { + now := metav1.Now() + client := fake.NewSimpleClientset(&corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &now}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + require.Len(t, stale, 1) + assert.Equal(t, "nvcf", stale[0].Name) + assert.Contains(t, stale[0].Reason, "Terminating") +} + +func TestProbeStaleNamespaces_TerminatingIsByPhase(t *testing.T) { + client := fake.NewSimpleClientset(&corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "sis"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, + }) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"sis"}) + require.NoError(t, err) + require.Len(t, stale, 1) + assert.Equal(t, "sis", stale[0].Name) + assert.Contains(t, stale[0].Reason, "Terminating") +} + +func TestProbeStaleNamespaces_EmptyShellNoHelmSecrets(t *testing.T) { + // Namespace exists and is Active but holds no Helm release secrets → + // leftover empty shell from a partial helm uninstall. + client := fake.NewSimpleClientset(&corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + require.Len(t, stale, 1) + assert.Equal(t, "nvcf", stale[0].Name) + assert.Contains(t, stale[0].Reason, "Helm release") +} + +func TestProbeStaleNamespaces_HealthyReleaseNotStale(t *testing.T) { + // Namespace exists and carries an owner=helm secret → active Helm release, + // not stale. + client := fake.NewSimpleClientset( + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, + &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: "sh.helm.release.v1.nvcf.v1", + Namespace: "nvcf", + Labels: map[string]string{"owner": "helm", "name": "nvcf", "status": "deployed"}, + }, + }, + ) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + assert.Empty(t, stale, "namespace with an active Helm release must not be stale") +} + +func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { + // One absent, one healthy, one terminating, one empty shell. + now := metav1.Now() + client := fake.NewSimpleClientset( + // "sis" — healthy with a Helm release + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "sis"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, + &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: "sh.helm.release.v1.sis.v1", Namespace: "sis", + Labels: map[string]string{"owner": "helm"}, + }, + }, + // "nvcf" — stuck terminating + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &now}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, + }, + // "api-keys" — empty shell + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "api-keys"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, + // "cassandra-system" — absent (not present in fake) + ) + + namespaces := []string{"cassandra-system", "sis", "nvcf", "api-keys"} + stale, err := probeStaleNamespaces(context.Background(), client, namespaces) + require.NoError(t, err) + require.Len(t, stale, 2, "only nvcf (terminating) and api-keys (empty shell) should be stale") + + staleNames := make(map[string]string, 2) + for _, s := range stale { + staleNames[s.Name] = s.Reason + } + assert.Contains(t, staleNames, "nvcf") + assert.Contains(t, staleNames["nvcf"], "Terminating") + assert.Contains(t, staleNames, "api-keys") + assert.Contains(t, staleNames["api-keys"], "Helm release") +} + +// -- staleNamespaceCheck binaryCheckSpec -- + +func TestStaleNamespaceCheck_ProberErrorDegradestoWarning(t *testing.T) { + // A prober that cannot contact the cluster must not fail the overall check + // at error severity — it would produce false failures on transient network + // issues or misconfigured kubeconfigs. + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return nil, fmt.Errorf("cluster unreachable") + } + r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, "warning", r.Severity, + "prober errors must degrade to warning so transient failures do not block the operator") + assert.Contains(t, r.Message, "cluster unreachable") +} + +func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { + // A successfully detected stale namespace must fail at error severity so + // anyFailed trips the non-zero exit code. + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: "stuck Terminating"}}, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, "error", r.Severity, + "detected stale namespaces must use error severity so the exit code is non-zero") + assert.Contains(t, r.Message, "nvcf") + assert.Contains(t, r.Message, "kubectl delete namespace") +} + +func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return nil, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf", "sis"}).Run(context.Background()) + assert.True(t, r.Passed) +} + +func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { + // The remediation command must name every stale namespace so the operator + // can copy-paste it without having to cross-reference the check output. + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{ + {Name: "nvcf", Reason: "stuck Terminating"}, + {Name: "api-keys", Reason: "no Helm release"}, + }, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf", "api-keys"}).Run(context.Background()) + assert.Contains(t, r.Message, "nvcf") + assert.Contains(t, r.Message, "api-keys") + assert.Contains(t, r.Message, "kubectl delete namespace nvcf api-keys") +} From dfd490e7b2bf915e8ef825b11f30195ff118d19e Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 02:14:51 +0530 Subject: [PATCH 003/127] feat(check): validate registry credentials before install using generic OCI auth --- .../internal/selfhosted/registry_cred.go | 202 +++++++++++++ .../internal/selfhosted/registry_cred_test.go | 286 ++++++++++++++++++ .../internal/selfhosted/validatortag.go | 200 ++++++++++-- .../internal/selfhosted/validatortag_test.go | 52 ++++ 4 files changed, 720 insertions(+), 20 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/registry_cred.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go new file mode 100644 index 0000000000..0167a97900 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -0,0 +1,202 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "fmt" + "net/http" + "os" + "strings" + "time" + + "sigs.k8s.io/yaml" +) + +const ( + registryProbeTimeout = 10 * time.Second + + // certManagerRegistry is the well-known exception from the helmfile: + // cert-manager uses quay.io/jetstack images, not global.image.registry. + certManagerRegistry = "quay.io" +) + +// RegistryCredentialChecker probes whether credentials are present and valid +// for a registry. repoHint is the repository path used as the OAuth scope; +// pass "" to probe without a specific scope (works for public registries). +// Returns nil on success, a descriptive error otherwise. +type RegistryCredentialChecker func(ctx context.Context, registry, repoHint string) error + +// NewRegistryCredentialChecker returns a production RegistryCredentialChecker +// backed by real HTTP calls. +func NewRegistryCredentialChecker() RegistryCredentialChecker { + return probeRegistryCredential +} + +// probeRegistryCredential authenticates to registry using the OCI Bearer token +// flow. repoHint is the OAuth scope repository path. ECR registries return a +// clear diagnostic instead of attempting the Bearer flow. +func probeRegistryCredential(ctx context.Context, registry, repoHint string) error { + if isECRRegistry(registry) { + return fmt.Errorf("ECR registry detected — credential validation requires AWS CLI; " + + "run 'aws ecr get-login-password' to verify manually") + } + + pctx, cancel := context.WithTimeout(ctx, registryProbeTimeout) + defer cancel() + + client := &http.Client{Timeout: registryProbeTimeout} + + // Step 1: probe /v2/ unauthenticated. + probeURL := "https://" + registry + "/v2/" + req, err := http.NewRequestWithContext(pctx, http.MethodGet, probeURL, nil) + if err != nil { + return fmt.Errorf("build request: %w", err) + } + resp, err := client.Do(req) + if err != nil { + return fmt.Errorf("cannot reach %s: %w", registry, err) + } + + switch resp.StatusCode { + case http.StatusOK: + // Public registry — no credentials needed. + resp.Body.Close() + return nil + case http.StatusUnauthorized: + // Auth required — proceed with token exchange. + default: + resp.Body.Close() + return fmt.Errorf("unexpected status %s from %s", resp.Status, registry) + } + + // Step 2: exchange credentials for a Bearer token using the actual repo + // from the configured image (repoHint). Using a fake repo name causes + // org-level 403s from NGC and GHCR for non-existent orgs, which is + // indistinguishable from bad credentials. + wwwAuth := resp.Header.Get("Www-Authenticate") + resp.Body.Close() + + _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth) + if err != nil { + // Use credentialsForRegistry (not ngcCredentials) so NGC_API_KEY does + // not masquerade as credentials for quay.io, GHCR, or Harbor — those + // registries reject NGC tokens, which would wrongly produce "credentials + // rejected" when the real diagnosis is "no credentials configured." + _, _, hasCreds := credentialsForRegistry(registry) + if !hasCreds { + return fmt.Errorf("no credentials configured for %s "+ + "(add to ~/.docker/config.json or set NGC_API_KEY for NGC registries)", registry) + } + return fmt.Errorf("credentials rejected by %s: %w", registry, err) + } + return nil +} + +// isECRRegistry returns true for AWS Elastic Container Registry hostnames, +// which use AWS SigV4 auth instead of the OCI Bearer token flow. +func isECRRegistry(registry string) bool { + return strings.Contains(registry, ".dkr.ecr.") && + strings.HasSuffix(registry, ".amazonaws.com") +} + +// RegistryEntry is one registry endpoint to credential-check. +type RegistryEntry struct { + // Registry is the hostname (and optional port) of the container registry. + Registry string + // RepoHint is the repository path used as the OAuth scope when probing + // credentials (e.g. "nvidia/nvcf-byoc/cluster-validator" for NGC). + // Empty means probe without a specific scope, which works for public + // registries (quay.io, Docker Hub public images) and GHCR anonymous access. + RepoHint string + // Critical marks registries whose credential failure should be a hard error + // rather than a warning. NGC (nvcr.io) is always critical; customer-supplied + // extras default to non-critical. + Critical bool +} + +// EnumerateRegistries builds the deduplicated list of registries to credential- +// check from the image ref, cert-manager (quay.io), the stack values file +// (global.image.registry), and operator-supplied extras. +func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []RegistryEntry { + seen := make(map[string]bool) + var out []RegistryEntry + + add := func(registry string, critical bool) { + registry = strings.TrimSpace(registry) + if registry == "" || seen[registry] { + return + } + seen[registry] = true + out = append(out, RegistryEntry{Registry: registry, Critical: critical}) + } + + // Source 1: base registry from the configured validator image. + // Carry the repo path as a scope hint so the token exchange uses the + // operator's actual org rather than a fake one — NGC returns 403 for + // orgs the API key cannot access, even if the key itself is valid. + if reg, repo, _, ok := parseImageRef(imageRef); ok && reg != "" { + seen[reg] = true + out = append(out, RegistryEntry{Registry: reg, RepoHint: repo, Critical: true}) + } + + // Source 2: read global.image.registry from the environment values file. + // This catches cases where the operator points at a custom NGC org or a + // staging environment that differs from the validator image's registry. + if stackValuesFile != "" { + if reg := readGlobalImageRegistry(stackValuesFile); reg != "" { + // If it's an NGC registry, mark critical; customer mirrors are non-critical. + add(reg, isNGCRegistry(reg)) + } + } + + // Source 3: cert-manager's well-known exception (quay.io/jetstack). + // cert-manager ignores global.image.registry and always pulls from quay.io. + add(certManagerRegistry, false) + + // Source 4: operator-supplied extras (--cluster-validator-registries). + for _, e := range extras { + host, _ := parseRegistryHostPort(e) + if host != "" { + add(host, false) + } + } + + return out +} + +// readGlobalImageRegistry reads the global.image.registry key from an +// environment values YAML file (e.g. environments/local.yaml). Returns "" +// on any error so the caller can safely ignore missing or malformed files. +func readGlobalImageRegistry(path string) string { + data, err := os.ReadFile(path) + if err != nil { + return "" + } + var vals struct { + Global struct { + Image struct { + Registry string `json:"registry" yaml:"registry"` + } `json:"image" yaml:"image"` + } `json:"global" yaml:"global"` + } + if err := yaml.Unmarshal(data, &vals); err != nil { + return "" + } + return strings.TrimSpace(vals.Global.Image.Registry) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go new file mode 100644 index 0000000000..2c9bfcb667 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -0,0 +1,286 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "fmt" + "net/http" + "net/http/httptest" + "os" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// -- probeRegistryCredential -- + +func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { + // Registry returns 200 on /v2/ → public, no credentials needed. + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + })) + defer srv.Close() + + // Replace the default transport with the test server's transport so TLS + // validation passes against the self-signed cert. + origTransport := http.DefaultTransport + http.DefaultTransport = srv.Client().Transport + t.Cleanup(func() { http.DefaultTransport = origTransport }) + + // Use the test server's host as the registry. + host := strings.TrimPrefix(srv.URL, "https://") + err := probeRegistryCredential(context.Background(), host, "") + assert.NoError(t, err, "public registry (200 on /v2/) must not return an error") +} + +func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { + // Registry: /v2/ returns 401 with WWW-Authenticate; token endpoint returns a token. + tokenSrv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Token endpoint always succeeds. + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(`{"token":"test-token-abc"}`)) + })) + defer tokenSrv.Close() + + registrySrv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Header.Get("Authorization") == "Bearer test-token-abc" { + w.WriteHeader(http.StatusOK) + return + } + // Point the client at our token server. + realm := tokenSrv.URL + "/token" + w.Header().Set("Www-Authenticate", + `Bearer realm="`+realm+`",service="test-registry",scope="repository:test:pull"`) + w.WriteHeader(http.StatusUnauthorized) + })) + defer registrySrv.Close() + + transport := registrySrv.Client().Transport + origTransport := http.DefaultTransport + http.DefaultTransport = transport + t.Cleanup(func() { http.DefaultTransport = origTransport }) + + host := strings.TrimPrefix(registrySrv.URL, "https://") + err := probeRegistryCredential(context.Background(), host, "") + assert.NoError(t, err, "successful token exchange must return nil") +} + +func TestProbeRegistryCredential_AuthFails(t *testing.T) { + // Registry returns 401 but the token endpoint returns 401 too → bad credentials. + tokenSrv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusUnauthorized) + })) + defer tokenSrv.Close() + + registrySrv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + realm := tokenSrv.URL + "/token" + w.Header().Set("Www-Authenticate", + `Bearer realm="`+realm+`",service="test-registry"`) + w.WriteHeader(http.StatusUnauthorized) + })) + defer registrySrv.Close() + + transport := registrySrv.Client().Transport + origTransport := http.DefaultTransport + http.DefaultTransport = transport + t.Cleanup(func() { http.DefaultTransport = origTransport }) + + host := strings.TrimPrefix(registrySrv.URL, "https://") + err := probeRegistryCredential(context.Background(), host, "") + assert.Error(t, err, "failed token exchange must return an error") +} + +func TestProbeRegistryCredential_ECRSkipped(t *testing.T) { + // ECR registries must get a clear "use AWS CLI" message rather than a + // confusing Bearer token failure. + err := probeRegistryCredential(context.Background(), + "123456789.dkr.ecr.us-east-1.amazonaws.com", "") + require.Error(t, err) + assert.Contains(t, err.Error(), "ECR", "ECR registries must produce a clear diagnostic") + assert.Contains(t, err.Error(), "AWS", "message must mention AWS") +} + +// -- EnumerateRegistries -- + +func TestEnumerateRegistries_FromImageRef(t *testing.T) { + entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", "", nil) + require.NotEmpty(t, entries) + + found := false + for _, e := range entries { + if e.Registry == "nvcr.io" { + assert.True(t, e.Critical, "nvcr.io must be marked critical") + found = true + } + } + assert.True(t, found, "nvcr.io must appear in the enumerated registries") +} + +func TestEnumerateRegistries_RepoHintFromImageRef(t *testing.T) { + // The RepoHint must be the repo path from the image ref so the token + // exchange uses the operator's actual org, not a fake one. + entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", "", nil) + for _, e := range entries { + if e.Registry == "nvcr.io" { + assert.Equal(t, "nvidia/nvcf-byoc/cluster-validator", e.RepoHint, + "RepoHint must carry the actual repo path for correct NGC token scope") + return + } + } + t.Fatal("nvcr.io not found in entries") +} + +func TestEnumerateRegistries_AlwaysIncludesCertManager(t *testing.T) { + // cert-manager always uses quay.io — it must appear even when not in extras. + entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", nil) + found := false + for _, e := range entries { + if e.Registry == "quay.io" { + assert.False(t, e.Critical, "quay.io must be non-critical") + found = true + } + } + assert.True(t, found, "quay.io must always be included for cert-manager") +} + +func TestEnumerateRegistries_ExtrasAppended(t *testing.T) { + entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", + []string{"harbor.company.internal:443", "ghcr.io:443"}) + + registries := make(map[string]bool, len(entries)) + for _, e := range entries { + registries[e.Registry] = true + } + assert.True(t, registries["harbor.company.internal"], "extra registry must be added") + assert.True(t, registries["ghcr.io"], "extra registry must be added") +} + +func TestEnumerateRegistries_NoDuplicates(t *testing.T) { + // Pass nvcr.io both as the image registry and as an extra — must not dedup. + entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", + []string{"nvcr.io"}) + + count := 0 + for _, e := range entries { + if e.Registry == "nvcr.io" { + count++ + } + } + assert.Equal(t, 1, count, "nvcr.io must appear exactly once even when listed twice") +} + +func TestEnumerateRegistries_StackValuesFile(t *testing.T) { + // Write a minimal environments/local.yaml to a temp dir. + dir := t.TempDir() + valuesPath := dir + "/local.yaml" + require.NoError(t, writeFile(valuesPath, []byte(` +global: + image: + registry: stg.nvcr.io +`))) + + entries := EnumerateRegistries("nvcr.io/some/image:1.0", valuesPath, nil) + found := false + for _, e := range entries { + if e.Registry == "stg.nvcr.io" { + assert.True(t, e.Critical, "NGC staging registry must be critical") + found = true + } + } + assert.True(t, found, "registry from values file must be included") +} + +func TestReadGlobalImageRegistry_ValidFile(t *testing.T) { + dir := t.TempDir() + path := dir + "/values.yaml" + require.NoError(t, writeFile(path, []byte(` +global: + image: + registry: nvcr.io + repository: nvidia/nvcf-byoc +`))) + got := readGlobalImageRegistry(path) + assert.Equal(t, "nvcr.io", got) +} + +func TestReadGlobalImageRegistry_MissingFile(t *testing.T) { + got := readGlobalImageRegistry("/nonexistent/path/values.yaml") + assert.Empty(t, got, "missing file must return empty string, not error") +} + +func TestReadGlobalImageRegistry_MissingKey(t *testing.T) { + dir := t.TempDir() + path := dir + "/values.yaml" + require.NoError(t, writeFile(path, []byte(`other: value`))) + got := readGlobalImageRegistry(path) + assert.Empty(t, got, "missing global.image.registry must return empty string") +} + +// -- isECRRegistry -- + +func TestIsECRRegistry(t *testing.T) { + assert.True(t, isECRRegistry("123456789012.dkr.ecr.us-east-1.amazonaws.com")) + assert.True(t, isECRRegistry("999999999999.dkr.ecr.eu-west-1.amazonaws.com")) + assert.False(t, isECRRegistry("nvcr.io")) + assert.False(t, isECRRegistry("ghcr.io")) + assert.False(t, isECRRegistry("harbor.company.internal")) + assert.False(t, isECRRegistry("s3.amazonaws.com")) // S3, not ECR +} + +// -- registryCredentialCheck binaryCheckSpec -- + +func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { + checker := func(_ context.Context, reg, _ string) error { return nil } + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}) + r := spec.Run(context.Background()) + assert.True(t, r.Passed) + assert.Equal(t, "info", r.Severity) + assert.Contains(t, r.Message, "nvcr.io") +} + +func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { + checker := func(_ context.Context, reg, _ string) error { + return errorf("credentials rejected") + } + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}) + r := spec.Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, "error", r.Severity, "critical registry failure must be error severity") +} + +func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing.T) { + checker := func(_ context.Context, reg, _ string) error { + return errorf("credentials rejected") + } + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}) + r := spec.Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, "warning", r.Severity, "non-critical registry failure must be warning severity") +} + +// helpers + +func errorf(msg string) error { return fmt.Errorf("%s", msg) } + +func writeFile(path string, data []byte) error { + return os.WriteFile(path, data, 0o644) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index f6750bbf35..4578184db5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -24,6 +24,7 @@ import ( "fmt" "io" "net/http" + "net/url" "os" "path/filepath" "regexp" @@ -132,11 +133,11 @@ func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, e return doc.Tags, nil } -func fetchWithBearer(ctx context.Context, url, registry, repo string) ([]byte, error) { +func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte, error) { client := &http.Client{Timeout: validatorTagFetchTimeout} // First attempt without auth so anonymous-pullable registries work. - req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) if err != nil { return nil, err } @@ -152,16 +153,19 @@ func fetchWithBearer(ctx context.Context, url, registry, repo string) ([]byte, e resp.Body.Close() return nil, fmt.Errorf("registry returned %s", resp.Status) } + // Capture the auth challenge before closing. + wwwAuth := resp.Header.Get("Www-Authenticate") resp.Body.Close() - // Bearer-token exchange. Realm and scope come from the Www-Authenticate - // header; for NGC the realm is /proxy_auth and scope is repository::pull. - token, err := exchangeBearerToken(ctx, client, registry, repo) + // Generic OCI Bearer-token exchange: uses the realm/service/scope from + // the WWW-Authenticate header so any OCI-compliant registry works, not + // just NGC. Falls back to NGC's /proxy_auth when the header is absent. + token, err := exchangeBearerToken(ctx, client, registry, repo, wwwAuth) if err != nil { return nil, err } - req, err = http.NewRequestWithContext(ctx, http.MethodGet, url, nil) + req, err = http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) if err != nil { return nil, err } @@ -177,21 +181,100 @@ func fetchWithBearer(ctx context.Context, url, registry, repo string) ([]byte, e return io.ReadAll(resp.Body) } -// exchangeBearerToken does the NGC token exchange using credentials -// resolved from ~/.docker/config.json or NGC env vars. -// -// NGC-specific: this constructs the token URL using NGC's /proxy_auth -// realm rather than parsing the Www-Authenticate header from the 401 -// response (the generic OAuth2 distribution flow). Non-NGC registries -// (GCR, ECR, GHCR, Harbor, etc.) will return a non-200 here and the -// caller falls back to using the configured image reference as-is. -// Acceptable for v1 since the validator image only ships from NGC. -func exchangeBearerToken(ctx context.Context, client *http.Client, registry, repo string) (string, error) { +// exchangeBearerToken implements the OCI Distribution Spec Bearer token flow, +// parsing realm/service/scope from the WWW-Authenticate header. Falls back to +// the NGC /proxy_auth endpoint when the header is absent or unparseable. +func exchangeBearerToken(ctx context.Context, client *http.Client, registry, repo, wwwAuthenticate string) (string, error) { + realm, service, scope := parseWWWAuthenticate(wwwAuthenticate) + + if realm == "" { + // No parseable WWW-Authenticate — use NGC's /proxy_auth as fallback. + return exchangeNGCBearerToken(ctx, client, registry, repo) + } + + // Build the token endpoint URL with service and scope query parameters. + u, err := url.Parse(realm) + if err != nil { + return exchangeNGCBearerToken(ctx, client, registry, repo) + } + q := u.Query() + if service != "" { + q.Set("service", service) + } + // Use scope from the WWW-Authenticate header when present. + // When scope is empty and a repo is provided, synthesize the standard + // pull scope. When neither is present (credential probe, no specific + // repo needed), omit scope entirely — most registries issue a valid + // token and the absence of a resource scope avoids org-level 403s for + // non-existent repositories. + if scope == "" && repo != "" { + scope = "repository:" + repo + ":pull" + } + if scope != "" { + q.Set("scope", scope) + } + u.RawQuery = q.Encode() + + req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil) + if err != nil { + return "", err + } + // Add credentials when present. Docker config covers any registry; + // NGC API key is only applicable to NGC-hosted registries. + // Critically: do NOT apply NGC_API_KEY to non-NGC registries — quay.io, + // GHCR, and Harbor will reject it, producing a misleading "credentials + // rejected" error when the real situation is "no credentials configured." + if user, pass, ok := credentialsForRegistry(registry); ok { + req.SetBasicAuth(user, pass) + } + + resp, err := client.Do(req) + if err != nil { + return "", err + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + // WWW-Authenticate realm failed — try NGC's /proxy_auth as last resort + // for registries that implement both endpoints (e.g. staging NGC envs). + if isNGCRegistry(registry) { + return exchangeNGCBearerToken(ctx, client, registry, repo) + } + return "", fmt.Errorf("token exchange at %s returned %s", realm, resp.Status) + } + + // Both "token" (OCI spec) and "access_token" (Docker Hub variant) are valid. + var doc struct { + Token string `json:"token"` + AccessToken string `json:"access_token"` + } + if err := json.NewDecoder(resp.Body).Decode(&doc); err != nil { + return "", fmt.Errorf("decode token response: %w", err) + } + tok := doc.Token + if tok == "" { + tok = doc.AccessToken + } + if tok == "" { + return "", fmt.Errorf("empty token in response from %s", realm) + } + return tok, nil +} + +// exchangeNGCBearerToken is the NGC-specific /proxy_auth token exchange, +// kept as a named fallback for when the standard OCI flow cannot be used. +func exchangeNGCBearerToken(ctx context.Context, client *http.Client, registry, repo string) (string, error) { user, pass, ok := ngcCredentials(registry) if !ok { - return "", fmt.Errorf("no NGC credentials for %s", registry) + return "", fmt.Errorf("no credentials for %s", registry) + } + // Build scope: use actual repo when provided; omit when empty so the NGC + // /proxy_auth endpoint validates the key without org-scoped access checks. + scope := "" + if repo != "" { + scope = "repository:" + repo + ":pull" } - tokenURL := fmt.Sprintf("https://%s/proxy_auth?service=%s&scope=repository:%s:pull", registry, registry, repo) + tokenURL := fmt.Sprintf("https://%s/proxy_auth?service=%s&scope=%s", + registry, registry, scope) req, err := http.NewRequestWithContext(ctx, http.MethodGet, tokenURL, nil) if err != nil { return "", err @@ -203,7 +286,7 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return "", fmt.Errorf("token exchange returned %s", resp.Status) + return "", fmt.Errorf("NGC token exchange returned %s", resp.Status) } var doc struct { Token string `json:"token"` @@ -212,11 +295,88 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep return "", err } if doc.Token == "" { - return "", fmt.Errorf("empty token in response") + return "", fmt.Errorf("empty token in NGC response") } return doc.Token, nil } +// parseWWWAuthenticate extracts realm, service, and scope from a standard +// Bearer challenge header: +// +// Bearer realm="https://auth.example.com/token",service="reg.example.com",scope="repository:lib:pull" +// +// Returns empty strings when the header is absent, not a Bearer challenge, or +// cannot be parsed. The parser handles quoted values that might contain commas. +func parseWWWAuthenticate(header string) (realm, service, scope string) { + const prefix = "Bearer " + if !strings.HasPrefix(header, prefix) { + return + } + params := strings.TrimSpace(header[len(prefix):]) + for len(params) > 0 { + // Find key= + eq := strings.IndexByte(params, '=') + if eq < 0 { + break + } + key := strings.TrimSpace(params[:eq]) + params = params[eq+1:] + + // Read value (quoted or unquoted) + var val string + if strings.HasPrefix(params, `"`) { + end := strings.IndexByte(params[1:], '"') + if end < 0 { + break + } + val = params[1 : end+1] + params = strings.TrimPrefix(strings.TrimSpace(params[end+2:]), ",") + } else { + comma := strings.IndexByte(params, ',') + if comma < 0 { + val = params + params = "" + } else { + val = params[:comma] + params = params[comma+1:] + } + } + + switch key { + case "realm": + realm = val + case "service": + service = val + case "scope": + scope = val + } + } + return +} + +// isNGCRegistry returns true when the registry is hosted on an NVIDIA / NGC +// domain, where the /proxy_auth fallback applies. +func isNGCRegistry(registry string) bool { + return strings.HasSuffix(registry, "nvcr.io") || + strings.Contains(registry, "nvidia.com") || + strings.Contains(registry, "ngc.nvidia") +} + +// credentialsForRegistry resolves (username, password) for any registry. +// Checks ~/.docker/config.json first, then falls back to NGC_API_KEY only +// for NGC-domain registries to avoid sending NGC creds to unrelated registries. +func credentialsForRegistry(registry string) (string, string, bool) { + if u, p, ok := credsFromDockerConfig(registry); ok { + return u, p, true + } + if isNGCRegistry(registry) { + if key := firstNonEmptyEnv(ngcAPIKeyEnvNames...); key != "" { + return "$oauthtoken", key, true + } + } + return "", "", false +} + // ngcCredentials resolves (username, password) for an NGC-hosted registry. // Checks ~/.docker/config.json first; falls back to NGC_API_KEY env vars // with the literal "$oauthtoken" sentinel username NGC expects. diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 0bd57306d2..b7c58c8979 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -252,3 +252,55 @@ func TestNGCCredentials_EnvFallback(t *testing.T) { assert.Equal(t, "$oauthtoken", user) assert.Equal(t, "from-env", pass) } + +// -- parseWWWAuthenticate -- + +func TestParseWWWAuthenticate_Standard(t *testing.T) { + header := `Bearer realm="https://auth.docker.io/token",service="registry-1.docker.io",scope="repository:library/ubuntu:pull"` + realm, service, scope := parseWWWAuthenticate(header) + assert.Equal(t, "https://auth.docker.io/token", realm) + assert.Equal(t, "registry-1.docker.io", service) + assert.Equal(t, "repository:library/ubuntu:pull", scope) +} + +func TestParseWWWAuthenticate_GHCR(t *testing.T) { + header := `Bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:owner/image:pull"` + realm, service, scope := parseWWWAuthenticate(header) + assert.Equal(t, "https://ghcr.io/token", realm) + assert.Equal(t, "ghcr.io", service) + assert.Equal(t, "repository:owner/image:pull", scope) +} + +func TestParseWWWAuthenticate_NoBearer(t *testing.T) { + // Basic auth challenge — should return empty strings. + realm, service, scope := parseWWWAuthenticate(`Basic realm="My Registry"`) + assert.Empty(t, realm) + assert.Empty(t, service) + assert.Empty(t, scope) +} + +func TestParseWWWAuthenticate_Empty(t *testing.T) { + realm, service, scope := parseWWWAuthenticate("") + assert.Empty(t, realm) + assert.Empty(t, service) + assert.Empty(t, scope) +} + +func TestParseWWWAuthenticate_RealmOnly(t *testing.T) { + // Some registries omit service/scope in the initial challenge. + realm, service, scope := parseWWWAuthenticate(`Bearer realm="https://example.com/auth"`) + assert.Equal(t, "https://example.com/auth", realm) + assert.Empty(t, service) + assert.Empty(t, scope) +} + +// -- isNGCRegistry -- + +func TestIsNGCRegistry(t *testing.T) { + assert.True(t, isNGCRegistry("nvcr.io")) + assert.True(t, isNGCRegistry("stg.nvcr.io")) + assert.True(t, isNGCRegistry("registry.nvidia.com")) + assert.False(t, isNGCRegistry("ghcr.io")) + assert.False(t, isNGCRegistry("quay.io")) + assert.False(t, isNGCRegistry("harbor.company.internal")) +} From 1deb005edbc47f7c95f5d218b0752cfa8c37df00 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 02:43:00 +0530 Subject: [PATCH 004/127] build(check): update BUILD.bazel for new selfhosted sources and deps --- src/clis/nvcf-cli/cmd/BUILD.bazel | 1 + src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/clis/nvcf-cli/cmd/BUILD.bazel b/src/clis/nvcf-cli/cmd/BUILD.bazel index 22671a8212..d43245fb1a 100644 --- a/src/clis/nvcf-cli/cmd/BUILD.bazel +++ b/src/clis/nvcf-cli/cmd/BUILD.bazel @@ -135,6 +135,7 @@ go_test( "//src/clis/nvcf-cli/internal/selfhosted", "//src/clis/nvcf-cli/internal/selfhosted/auth", "//src/clis/nvcf-cli/internal/selfhosted/controlplaneprofile", + "//src/clis/nvcf-cli/internal/selfhosted/kubectx", "//src/clis/nvcf-cli/internal/selfhosted/progress", "//src/clis/nvcf-cli/internal/selfhosted/reachability", "//src/clis/nvcf-cli/internal/selfhosted/teardown", diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 7737a9a8b9..1a508d967d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -26,8 +26,10 @@ go_library( "preflight.go", "pullsecret.go", "register.go", + "registry_cred.go", "render.go", "stack.go", + "stale_namespace.go", "validatortag.go", ], importpath = "nvcf-cli/internal/selfhosted", @@ -46,6 +48,7 @@ go_library( "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//rest", "@io_k8s_client_go//tools/clientcmd", + "@io_k8s_sigs_yaml//:yaml", "@org_golang_x_sync//errgroup", ], ) @@ -60,8 +63,10 @@ go_test( "preflight_test.go", "pullsecret_test.go", "register_test.go", + "registry_cred_test.go", "render_test.go", "stack_test.go", + "stale_namespace_test.go", "validatortag_test.go", ], embed = [":selfhosted"], From 4d7c477f1893685169362564d5ad5af58110348f Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 15:16:51 +0530 Subject: [PATCH 005/127] fix(check): address code-review findings in cluster-validator and preflight checks --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 13 +++--- .../nvcf-cli/cmd/self_hosted_check_test.go | 40 ++++++++++++++++++- .../internal/selfhosted/clustervalidator.go | 10 ++++- .../selfhosted/clustervalidator_test.go | 10 +++++ .../nvcf-cli/internal/selfhosted/preflight.go | 35 +++++++++++----- .../internal/selfhosted/registry_cred.go | 31 ++++++++++---- .../internal/selfhosted/registry_cred_test.go | 14 +++---- .../internal/selfhosted/stale_namespace.go | 5 +++ .../selfhosted/stale_namespace_test.go | 5 ++- .../internal/selfhosted/validatortag.go | 11 ++++- 10 files changed, 137 insertions(+), 37 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 2498e8340f..deffda153a 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -152,13 +152,16 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } clusterValidatorWillRun := anyValidatorIsTargeted && clusterValidatorImage != "" - // The cluster-validator Job's internal budget is 5m - // (selfhosted.clusterValidatorTimeout). The outer ctx must be at least - // that plus headroom for RBAC bootstrap + log fetch, otherwise vctx - // derives from a shorter ceiling and silently truncates the wait. outerTimeout := 2 * time.Minute if clusterValidatorWillRun { - outerTimeout = 6 * time.Minute + // Each validator Job has a 5m internal budget. ModeSingle runs both + // validators sequentially (two 5m runs); ModeSplit runs them in + // parallel so one 6m ceiling covers both. + if mode == kubectx.ModeSingle && controlPlaneIsTargeted(mode) && computePlaneIsTargeted(mode) { + outerTimeout = 12 * time.Minute + } else { + outerTimeout = 6 * time.Minute + } } // --wait polls for the declared duration. The outer ctx has to outlive // the last iteration, so add waitDur on top of a single iteration's diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 218bdca80c..53bc744c3a 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -384,6 +384,40 @@ func TestComputePlaneIsTargeted(t *testing.T) { } } +func TestControlPlaneIsTargeted(t *testing.T) { + t.Cleanup(func() { + checkPre = false + checkControlPlane = false + checkAll = false + }) + + tests := []struct { + name string + pre bool + cp bool + all bool + mode kubectx.Mode + want bool + }{ + {"--control-plane single", false, true, false, kubectx.ModeSingle, true}, + {"--control-plane split", false, true, false, kubectx.ModeSplit, true}, + {"--all single", false, false, true, kubectx.ModeSingle, true}, + {"--all split", false, false, true, kubectx.ModeSplit, true}, + {"--pre single -- implicit control plane", true, false, false, kubectx.ModeSingle, true}, + {"--pre split -- must not target control plane", true, false, false, kubectx.ModeSplit, false}, + {"--compute-plane only", false, false, false, kubectx.ModeSingle, false}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + checkPre = tt.pre + checkControlPlane = tt.cp + checkAll = tt.all + assert.Equal(t, tt.want, controlPlaneIsTargeted(tt.mode)) + }) + } +} + // TestCheck_ComputePlaneFlagRunsChecks verifies that --compute-plane alone // produces compute-plane-cluster category events. Before the gating fix this // flag was a complete no-op and produced no check events at all. @@ -398,7 +432,8 @@ func TestCheck_ComputePlaneFlagRunsChecks(t *testing.T) { rootCmd.SetErr(&stderr) rootCmd.SetOut(&bytes.Buffer{}) - rootCmd.SetArgs([]string{"self-hosted", "check", "--compute-plane", "--json"}) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + rootCmd.SetArgs([]string{"self-hosted", "check", "--compute-plane", "--skip-cluster-validation", "--json"}) _ = rootCmd.Execute() lines := parseJSONLLines(t, stderr.String()) @@ -429,7 +464,8 @@ func TestCheck_ControlPlaneFlagRunsChecks(t *testing.T) { rootCmd.SetErr(&stderr) rootCmd.SetOut(&bytes.Buffer{}) - rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--json"}) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--skip-cluster-validation", "--json"}) _ = rootCmd.Execute() lines := parseJSONLLines(t, stderr.String()) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index a9e1c6832b..c779eac997 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -142,10 +142,13 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // checks. Best-effort: a failure here is logged but does not abort the // run — the validator gracefully skips configurable checks when the // ConfigMap is absent. + var configNote string if role == clusterValidatorControlPlaneRole { if err := ensureClusterValidatorConfig(vctx, client, registries); err != nil { - // Non-fatal: reachability checks will be skipped, not the whole run. - _ = err + // Non-fatal: continue without the ConfigMap; the validator skips + // configurable reachability and enforcement checks silently unless + // we surface this note in the transcript. + configNote = fmt.Sprintf("note: validator config not applied (%v); reachability checks may be skipped", err) } } @@ -166,6 +169,9 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image defer logCancel() rawLogs, _ := fetchClusterValidatorLogs(logCtx, client, jobName) cleaned := cleanValidatorOutput(rawLogs) + if configNote != "" { + cleaned = configNote + "\n" + cleaned + } if waitErr != nil { return ClusterValidatorResult{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 95051c402a..44f487581b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -528,6 +528,16 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { "preflight invocation must tag the validator so it does not attempt the metrics ConfigMap write") } +func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { + job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, false) + env := map[string]string{} + for _, e := range job.Spec.Template.Spec.Containers[0].Env { + env[e.Name] = e.Value + } + assert.Equal(t, clusterValidatorControlPlaneRole, env["VALIDATOR_ROLE"], + "VALIDATOR_ROLE must carry the role to the validator binary") +} + func TestBuildClusterValidatorJobShape_WithPullSecret(t *testing.T) { job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", false) require.Len(t, job.Spec.Template.Spec.ImagePullSecrets, 1) diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 78b0614104..89e053256b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -346,9 +346,11 @@ func buildCategories(cfg PreflightConfig, role Role, rc RoleConfig) []categorySp } // Registry credential check runs from the operator's machine — no cluster - // contact needed. Placed after local-host-tools but before cluster probes - // so credential failures surface early. - if len(cfg.Registries) > 0 && cfg.RegistryChecker != nil { + // contact needed. Gated on role != RoleComputePlane so the category is + // emitted at most once per invocation: in ModeSingle RunPreflightForRole + // is called for RoleControlPlane then RoleComputePlane sequentially; the + // gate ensures no duplicate check_started/check_completed events. + if role != RoleComputePlane && len(cfg.Registries) > 0 && cfg.RegistryChecker != nil { out = append(out, buildRegistryCredentialCategory(cfg)) } @@ -643,7 +645,7 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn ID: id, Severity: severity, } - if err := checker(ctx, entry.Registry, entry.RepoHint); err != nil { + if err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical); err != nil { r.Message = entry.Registry + ": " + err.Error() r.Err = err return r @@ -679,15 +681,28 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp return r } parts := make([]string, 0, len(stale)) - names := make([]string, 0, len(stale)) + var terminating, emptyShell []string for _, ns := range stale { parts = append(parts, ns.Name+" ("+ns.Reason+")") - names = append(names, ns.Name) + if ns.Reason == "stuck Terminating" { + terminating = append(terminating, ns.Name) + } else { + emptyShell = append(emptyShell, ns.Name) + } + } + var hints []string + if len(terminating) > 0 { + hints = append(hints, + fmt.Sprintf("remove finalizers on stuck namespaces: kubectl patch namespace %s -p '{\"spec\":{\"finalizers\":[]}}' --type=merge", + strings.Join(terminating, " "))) + } + if len(emptyShell) > 0 { + hints = append(hints, + fmt.Sprintf("inspect and delete empty namespaces: kubectl delete namespace %s", + strings.Join(emptyShell, " "))) } - r.Message = fmt.Sprintf( - "%d stale namespace(s) detected: %s — remove with: kubectl delete namespace %s --force --grace-period=0", - len(stale), strings.Join(parts, ", "), strings.Join(names, " "), - ) + r.Message = fmt.Sprintf("%d stale namespace(s) detected: %s. To resolve: %s", + len(stale), strings.Join(parts, ", "), strings.Join(hints, "; ")) return r }, } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 0167a97900..be51732c3a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -39,8 +39,9 @@ const ( // RegistryCredentialChecker probes whether credentials are present and valid // for a registry. repoHint is the repository path used as the OAuth scope; // pass "" to probe without a specific scope (works for public registries). -// Returns nil on success, a descriptive error otherwise. -type RegistryCredentialChecker func(ctx context.Context, registry, repoHint string) error +// critical signals that anonymous success is insufficient; configured credentials +// must be present. Returns nil on success, a descriptive error otherwise. +type RegistryCredentialChecker func(ctx context.Context, registry, repoHint string, critical bool) error // NewRegistryCredentialChecker returns a production RegistryCredentialChecker // backed by real HTTP calls. @@ -50,8 +51,9 @@ func NewRegistryCredentialChecker() RegistryCredentialChecker { // probeRegistryCredential authenticates to registry using the OCI Bearer token // flow. repoHint is the OAuth scope repository path. ECR registries return a -// clear diagnostic instead of attempting the Bearer flow. -func probeRegistryCredential(ctx context.Context, registry, repoHint string) error { +// clear diagnostic instead of attempting the Bearer flow. When critical is true, +// anonymous token success is rejected: configured credentials must be present. +func probeRegistryCredential(ctx context.Context, registry, repoHint string, critical bool) error { if isECRRegistry(registry) { return fmt.Errorf("ECR registry detected — credential validation requires AWS CLI; " + "run 'aws ecr get-login-password' to verify manually") @@ -105,6 +107,14 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string) err } return fmt.Errorf("credentials rejected by %s: %w", registry, err) } + // For critical registries, a successful anonymous token is not enough: + // if the actual install pulls private images, anonymous access will fail. + if critical { + if _, _, hasCreds := credentialsForRegistry(registry); !hasCreds { + return fmt.Errorf("no credentials configured for %s "+ + "(add to ~/.docker/config.json or set NGC_API_KEY for NGC registries)", registry) + } + } return nil } @@ -170,11 +180,18 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re add(certManagerRegistry, false) // Source 4: operator-supplied extras (--cluster-validator-registries). + // Preserve non-443 ports in the registry string so probeRegistryCredential + // builds the correct https://host:port/v2/ URL. for _, e := range extras { - host, _ := parseRegistryHostPort(e) - if host != "" { - add(host, false) + host, port := parseRegistryHostPort(e) + if host == "" { + continue + } + reg := host + if port != 0 && port != 443 { + reg = fmt.Sprintf("%s:%d", host, port) } + add(reg, false) } return out diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 2c9bfcb667..ca6f81104a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -47,7 +47,7 @@ func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { // Use the test server's host as the registry. host := strings.TrimPrefix(srv.URL, "https://") - err := probeRegistryCredential(context.Background(), host, "") + err := probeRegistryCredential(context.Background(), host, "", false) assert.NoError(t, err, "public registry (200 on /v2/) must not return an error") } @@ -80,7 +80,7 @@ func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { t.Cleanup(func() { http.DefaultTransport = origTransport }) host := strings.TrimPrefix(registrySrv.URL, "https://") - err := probeRegistryCredential(context.Background(), host, "") + err := probeRegistryCredential(context.Background(), host, "", false) assert.NoError(t, err, "successful token exchange must return nil") } @@ -105,7 +105,7 @@ func TestProbeRegistryCredential_AuthFails(t *testing.T) { t.Cleanup(func() { http.DefaultTransport = origTransport }) host := strings.TrimPrefix(registrySrv.URL, "https://") - err := probeRegistryCredential(context.Background(), host, "") + err := probeRegistryCredential(context.Background(), host, "", false) assert.Error(t, err, "failed token exchange must return an error") } @@ -113,7 +113,7 @@ func TestProbeRegistryCredential_ECRSkipped(t *testing.T) { // ECR registries must get a clear "use AWS CLI" message rather than a // confusing Bearer token failure. err := probeRegistryCredential(context.Background(), - "123456789.dkr.ecr.us-east-1.amazonaws.com", "") + "123456789.dkr.ecr.us-east-1.amazonaws.com", "", false) require.Error(t, err) assert.Contains(t, err.Error(), "ECR", "ECR registries must produce a clear diagnostic") assert.Contains(t, err.Error(), "AWS", "message must mention AWS") @@ -249,7 +249,7 @@ func TestIsECRRegistry(t *testing.T) { // -- registryCredentialCheck binaryCheckSpec -- func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { - checker := func(_ context.Context, reg, _ string) error { return nil } + checker := func(_ context.Context, reg, _ string, _ bool) error { return nil } spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}) r := spec.Run(context.Background()) assert.True(t, r.Passed) @@ -258,7 +258,7 @@ func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { } func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { - checker := func(_ context.Context, reg, _ string) error { + checker := func(_ context.Context, reg, _ string, _ bool) error { return errorf("credentials rejected") } spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}) @@ -268,7 +268,7 @@ func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { } func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing.T) { - checker := func(_ context.Context, reg, _ string) error { + checker := func(_ context.Context, reg, _ string, _ bool) error { return errorf("credentials rejected") } spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 8fe3131754..2e6df32c50 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -100,8 +100,13 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name continue } + // Limit to 1: only existence matters, not the full release history. + // Note: this assumes Helm's default secret storage driver. Clusters + // using HELM_DRIVER=configmap or sql will have no owner=helm secrets + // and may be incorrectly reported as empty shells. secrets, err := client.CoreV1().Secrets(name).List(ctx, metav1.ListOptions{ LabelSelector: "owner=helm", + Limit: 1, }) if err != nil { return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 8acd45a2fd..f86ba578cb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -171,7 +171,7 @@ func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { assert.Equal(t, "error", r.Severity, "detected stale namespaces must use error severity so the exit code is non-zero") assert.Contains(t, r.Message, "nvcf") - assert.Contains(t, r.Message, "kubectl delete namespace") + assert.Contains(t, r.Message, "kubectl patch namespace nvcf") } func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { @@ -194,5 +194,6 @@ func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { r := staleNamespaceCheck(prober, "", []string{"nvcf", "api-keys"}).Run(context.Background()) assert.Contains(t, r.Message, "nvcf") assert.Contains(t, r.Message, "api-keys") - assert.Contains(t, r.Message, "kubectl delete namespace nvcf api-keys") + assert.Contains(t, r.Message, "kubectl patch namespace nvcf") + assert.Contains(t, r.Message, "kubectl delete namespace api-keys") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 4578184db5..2c106c5d69 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -197,6 +197,13 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep if err != nil { return exchangeNGCBearerToken(ctx, client, registry, repo) } + // Reject non-HTTPS or relative realms before attaching credentials. + // The realm comes from a registry-controlled response header and must be + // an absolute HTTPS URL to prevent sending credentials over cleartext or + // to an unrelated host. + if u.Scheme != "https" || u.Host == "" { + return "", fmt.Errorf("refusing token exchange at insecure or relative realm %q for %s", realm, registry) + } q := u.Query() if service != "" { q.Set("service", service) @@ -334,10 +341,10 @@ func parseWWWAuthenticate(header string) (realm, service, scope string) { } else { comma := strings.IndexByte(params, ',') if comma < 0 { - val = params + val = strings.TrimSpace(params) params = "" } else { - val = params[:comma] + val = strings.TrimSpace(params[:comma]) params = params[comma+1:] } } From 6fa77330553bcc2723749a1672f836829ef40ab3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 19:32:38 +0530 Subject: [PATCH 006/127] fix(check): replace parseRegistryHostPort with net.SplitHostPort and decouple registry checks from validator image --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 10 ++++-- .../internal/selfhosted/clustervalidator.go | 35 ++++++++++--------- .../selfhosted/clustervalidator_test.go | 5 +++ 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index deffda153a..e9fb76a762 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -200,13 +200,19 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { credEntries []selfhosted.RegistryEntry registryChecker selfhosted.RegistryCredentialChecker ) - if !localOnly && clusterValidatorImage != "" { + // Run credential checks whenever not local-only. The validator image is + // optional: EnumerateRegistries handles an empty image ref and still picks + // up global.image.registry from the stack values file and any + // --cluster-validator-registries extras independently of the image config. + if !localOnly { extraRegistries := viper.GetStringSlice("cluster_validator_registries") stackValuesFile := resolveStackValuesFile() credEntries = selfhosted.EnumerateRegistries( clusterValidatorImage, stackValuesFile, extraRegistries, ) - registryChecker = newRegistryCredentialCheckerForSelfHosted() + if len(credEntries) > 0 { + registryChecker = newRegistryCredentialCheckerForSelfHosted() + } } cfg := selfhosted.PreflightConfig{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index c779eac997..ad825dfdf1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -21,7 +21,9 @@ import ( "context" "fmt" "io" + "net" "regexp" + "strconv" "strings" "time" @@ -389,28 +391,29 @@ func buildControlPlaneValidatorConfig(extraRegistries []string) string { "enforcement:", extra.String()+"enforcement:", 1) } -// parseRegistryHostPort splits a "host:port" string. Returns port 443 when -// no port is specified or when the port is not a valid number. +// parseRegistryHostPort splits a "host:port" string using net.SplitHostPort, +// which correctly handles IPv6 literals ([::1]:5000) and bare hostnames. +// Returns port 443 when no port is specified, the port is non-numeric, or +// the input has a trailing colon with no digit (e.g. "nvcr.io:"). func parseRegistryHostPort(s string) (host string, port int) { s = strings.TrimSpace(s) if s == "" { return "", 0 } - if idx := strings.LastIndex(s, ":"); idx > 0 { - h := s[:idx] - p := s[idx+1:] - n := 0 - for _, c := range p { - if c < '0' || c > '9' { - return s, 443 - } - n = n*10 + int(c-'0') - } - if n > 0 && n <= 65535 { - return h, n - } + h, p, err := net.SplitHostPort(s) + if err != nil { + // No port present (e.g. "nvcr.io") — return the input as-is. + return s, 443 + } + if p == "" { + // Trailing colon with no port digit (e.g. "nvcr.io:"). + return h, 443 + } + n, err := strconv.Atoi(p) + if err != nil || n <= 0 || n > 65535 { + return h, 443 } - return s, 443 + return h, n } // buildClusterValidatorJob creates the validator Job. PullIfNotPresent reuses diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 44f487581b..ee70636e36 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -648,6 +648,11 @@ func TestParseRegistryHostPort(t *testing.T) { {"registry.example.com", "registry.example.com", 443}, // no port → 443 {"", "", 0}, // empty → skip {" ", "", 0}, // blank → skip + // IPv6: net.SplitHostPort handles bracketed literals correctly. + {"[::1]:5000", "::1", 5000}, + {"[2001:db8::1]:443", "2001:db8::1", 443}, + // Trailing colon with no digit → default to 443. + {"nvcr.io:", "nvcr.io", 443}, } for _, tt := range tests { t.Run(tt.in, func(t *testing.T) { From b6eaac136c92b1805b3f0110847baef3de50e0f7 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 12 Aug 2026 20:07:23 +0530 Subject: [PATCH 007/127] fix(check): sweep ClusterRole and ClusterRoleBinding after validator Job completes --- .../internal/selfhosted/clustervalidator.go | 19 +++++++++++++++++++ .../selfhosted/clustervalidator_test.go | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index ad825dfdf1..75c9d9a51b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -138,6 +138,14 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image if err := ensureClusterValidatorRBAC(vctx, client); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } + // Remove the ClusterRole and ClusterRoleBinding after the Job finishes + // (when cleanup is enabled) to minimize the window where the elevated SA + // exists. Uses a fresh context so cleanup runs even when vctx is expired. + // When --no-cleanup is set, the operator expects to inspect the Job; we + // leave the RBAC in place so they can re-exec the pod without re-bootstrap. + if !noCleanup { + defer sweepClusterValidatorRBAC(context.Background(), client) + } // For the control-plane role, create a ConfigMap with reachability // endpoints and enforcement config so the validator runs its configurable @@ -276,6 +284,17 @@ func clusterValidatorLabels() map[string]string { } } +// sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding +// created by ensureClusterValidatorRBAC. Called after Job completion (when +// --no-cleanup is not set) to close the window where the elevated ClusterRole +// exists. The next run recreates them via ensureClusterValidatorRBAC. +// Errors are swallowed: stale RBAC is preferable to failing the result. +func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface) { + _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, clusterValidatorName, metav1.DeleteOptions{}) + _ = client.RbacV1().ClusterRoles().Delete(ctx, clusterValidatorName, metav1.DeleteOptions{}) + _ = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Delete(ctx, clusterValidatorName, metav1.DeleteOptions{}) +} + // Errors are swallowed: a stale Job is preferable to blocking the new run. func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Interface) { selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli", clusterValidatorAppLabel) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index ee70636e36..0ecb7e602b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -264,7 +264,8 @@ func TestRunClusterValidator_RBACRefreshesClusterRoleRules(t *testing.T) { }) client.PrependReactor("list", "pods", podListReactor("")) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) + // noCleanup=true so the ClusterRole is not swept before we inspect it. + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", true, "", nil) require.NoError(t, res.Err) got, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorName, metav1.GetOptions{}) From 5c4d2dc5d784b68cc873d6f07f817fd330055492 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 17 Aug 2026 22:13:45 +0530 Subject: [PATCH 008/127] fix(nvcf-cli): add DaemonSet create/delete RBAC for node-to-node probe --- src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 75c9d9a51b..66a409d140 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -235,7 +235,10 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // check which creates/updates/deletes policies in the temp namespace. {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"get", "list", "create", "update", "delete"}}, {APIGroups: []string{"admissionregistration.k8s.io"}, Resources: []string{"mutatingwebhookconfigurations", "validatingwebhookconfigurations"}, Verbs: []string{"get", "list"}}, - {APIGroups: []string{"apps"}, Resources: []string{"deployments", "daemonsets", "statefulsets"}, Verbs: []string{"get", "list"}}, + // Deployments/StatefulSets: list for Tier-1/Tier-2 HA readiness checks. + // DaemonSets: create/delete for the node-to-node DaemonSet probe; list to watch pod readiness. + {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"get", "list"}}, + {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"get", "list", "create", "delete"}}, // Gateway API: control-plane gateway and route health checks. {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{"gatewayclasses", "gateways", "httproutes", "grpcroutes"}, Verbs: []string{"get", "list"}}, {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, From 81930891af3784168756f506a48b4a48514eb80b Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 19 Aug 2026 14:53:48 +0530 Subject: [PATCH 009/127] fix(nvcf-cli): address CodeRabbit review comments in validatortag and stale namespace isNGCRegistry: use dot-boundary host matching and strip port before comparing so evilnvcr.io and nvidia.com.invalid are rejected while nvcr.io:443 and stg.nvcr.io are correctly accepted. parseWWWAuthenticate: accept Bearer challenge schemes case-insensitively using strings.EqualFold after splitting scheme from parameters on whitespace (RFC 7235 requires case-insensitive scheme comparison). probeStaleNamespaces: fall back to listing owner=helm ConfigMaps when no owner=helm Secret exists, so clusters running HELM_DRIVER=configmap are not incorrectly reported as empty shells. stale_namespace_test.go: replace non-ASCII em dashes in comments with ASCII hyphens per repo style guidelines. --- .../internal/selfhosted/stale_namespace.go | 18 +++++-- .../selfhosted/stale_namespace_test.go | 34 ++++++++++--- .../internal/selfhosted/validatortag.go | 49 ++++++++++++++++--- .../internal/selfhosted/validatortag_test.go | 22 +++++++++ 4 files changed, 105 insertions(+), 18 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 2e6df32c50..56a57526a8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -101,9 +101,9 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name } // Limit to 1: only existence matters, not the full release history. - // Note: this assumes Helm's default secret storage driver. Clusters - // using HELM_DRIVER=configmap or sql will have no owner=helm secrets - // and may be incorrectly reported as empty shells. + // Check Secrets first (default Helm storage driver). If none exist, + // also check ConfigMaps to handle HELM_DRIVER=configmap clusters — + // both storage backends label their release objects with owner=helm. secrets, err := client.CoreV1().Secrets(name).List(ctx, metav1.ListOptions{ LabelSelector: "owner=helm", Limit: 1, @@ -111,7 +111,17 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name if err != nil { return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) } - if len(secrets.Items) == 0 { + if len(secrets.Items) > 0 { + continue // healthy: active Helm release found via secret driver + } + cms, err := client.CoreV1().ConfigMaps(name).List(ctx, metav1.ListOptions{ + LabelSelector: "owner=helm", + Limit: 1, + }) + if err != nil { + return stale, fmt.Errorf("list Helm configmaps in %s: %w", name, err) + } + if len(cms.Items) == 0 { stale = append(stale, StaleNamespace{Name: name, Reason: "no Helm release"}) } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index f86ba578cb..e64700366f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -33,7 +33,7 @@ import ( // -- probeStaleNamespaces -- func TestProbeStaleNamespaces_AbsentIsHealthy(t *testing.T) { - // A namespace that doesn't exist is not stale — it has simply never been + // A namespace that doesn't exist is not stale - it has simply never been // created or was already fully deleted. client := fake.NewSimpleClientset() stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) @@ -101,11 +101,33 @@ func TestProbeStaleNamespaces_HealthyReleaseNotStale(t *testing.T) { assert.Empty(t, stale, "namespace with an active Helm release must not be stale") } +func TestProbeStaleNamespaces_HealthyReleaseConfigMapDriverNotStale(t *testing.T) { + // HELM_DRIVER=configmap stores release objects as ConfigMaps with owner=helm. + // A namespace with an owner=helm ConfigMap and no Helm Secret must not be + // reported as stale. + client := fake.NewSimpleClientset( + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, + &corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: "nvcf.v1", + Namespace: "nvcf", + Labels: map[string]string{"owner": "helm", "name": "nvcf", "status": "deployed"}, + }, + }, + ) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + assert.Empty(t, stale, "namespace with an owner=helm ConfigMap (configmap driver) must not be stale") +} + func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { // One absent, one healthy, one terminating, one empty shell. now := metav1.Now() client := fake.NewSimpleClientset( - // "sis" — healthy with a Helm release + // "sis" - healthy with a Helm release &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "sis"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, @@ -116,17 +138,17 @@ func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { Labels: map[string]string{"owner": "helm"}, }, }, - // "nvcf" — stuck terminating + // "nvcf" - stuck terminating &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &now}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, }, - // "api-keys" — empty shell + // "api-keys" - empty shell &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "api-keys"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, }, - // "cassandra-system" — absent (not present in fake) + // "cassandra-system" - absent (not present in fake) ) namespaces := []string{"cassandra-system", "sis", "nvcf", "api-keys"} @@ -148,7 +170,7 @@ func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { func TestStaleNamespaceCheck_ProberErrorDegradestoWarning(t *testing.T) { // A prober that cannot contact the cluster must not fail the overall check - // at error severity — it would produce false failures on transient network + // at error severity - it would produce false failures on transient network // issues or misconfigured kubeconfigs. prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { return nil, fmt.Errorf("cluster unreachable") diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 2c106c5d69..b3eef3e0bd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -23,6 +23,7 @@ import ( "encoding/json" "fmt" "io" + "net" "net/http" "net/url" "os" @@ -315,11 +316,13 @@ func exchangeNGCBearerToken(ctx context.Context, client *http.Client, registry, // Returns empty strings when the header is absent, not a Bearer challenge, or // cannot be parsed. The parser handles quoted values that might contain commas. func parseWWWAuthenticate(header string) (realm, service, scope string) { - const prefix = "Bearer " - if !strings.HasPrefix(header, prefix) { + // Split scheme from parameters on the first whitespace. HTTP auth scheme + // names are case-insensitive (RFC 7235 s2.1), so compare with EqualFold. + idx := strings.IndexByte(header, ' ') + if idx < 0 || !strings.EqualFold(header[:idx], "Bearer") { return } - params := strings.TrimSpace(header[len(prefix):]) + params := strings.TrimSpace(header[idx+1:]) for len(params) > 0 { // Find key= eq := strings.IndexByte(params, '=') @@ -361,12 +364,42 @@ func parseWWWAuthenticate(header string) (realm, service, scope string) { return } -// isNGCRegistry returns true when the registry is hosted on an NVIDIA / NGC -// domain, where the /proxy_auth fallback applies. +// ngcApprovedHosts is the set of exact hostnames (without port) that are +// considered NGC-hosted. Dot-prefixed entries match any subdomain. +var ngcApprovedHosts = []string{ + "nvcr.io", + ".nvcr.io", + "nvidia.com", + ".nvidia.com", + "ngc.nvidia", + ".ngc.nvidia", +} + +// isNGCRegistry returns true when the registry host belongs to an NVIDIA / NGC +// domain. The check strips any port from the registry string before matching +// so that nvcr.io:443 is handled correctly, and uses dot-boundary matching to +// reject deceptive suffixes such as evilnvcr.io or nvidia.com.invalid. func isNGCRegistry(registry string) bool { - return strings.HasSuffix(registry, "nvcr.io") || - strings.Contains(registry, "nvidia.com") || - strings.Contains(registry, "ngc.nvidia") + host := registry + // Strip port if present (e.g. nvcr.io:5000 -> nvcr.io). + if h, _, err := net.SplitHostPort(registry); err == nil { + host = h + } + host = strings.ToLower(host) + for _, approved := range ngcApprovedHosts { + if strings.HasPrefix(approved, ".") { + // Subdomain match: host must end with ".suffix" or equal "suffix". + suffix := approved[1:] // strip the leading dot + if host == suffix || strings.HasSuffix(host, approved) { + return true + } + } else { + if host == approved { + return true + } + } + } + return false } // credentialsForRegistry resolves (username, password) for any registry. diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index b7c58c8979..387254f039 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -294,13 +294,35 @@ func TestParseWWWAuthenticate_RealmOnly(t *testing.T) { assert.Empty(t, scope) } +func TestParseWWWAuthenticate_CaseInsensitiveBearer(t *testing.T) { + // HTTP auth scheme names are case-insensitive (RFC 7235 s2.1). + for _, header := range []string{ + `bearer realm="https://auth.example.com/token",service="reg.example.com"`, + `BEARER realm="https://auth.example.com/token",service="reg.example.com"`, + `Bearer realm="https://auth.example.com/token",service="reg.example.com"`, + } { + realm, service, _ := parseWWWAuthenticate(header) + assert.Equal(t, "https://auth.example.com/token", realm, "header: %s", header) + assert.Equal(t, "reg.example.com", service, "header: %s", header) + } +} + // -- isNGCRegistry -- func TestIsNGCRegistry(t *testing.T) { + // Valid NGC registries. assert.True(t, isNGCRegistry("nvcr.io")) assert.True(t, isNGCRegistry("stg.nvcr.io")) assert.True(t, isNGCRegistry("registry.nvidia.com")) + assert.True(t, isNGCRegistry("nvcr.io:443"), "port must be stripped before matching") + + // Non-NGC registries must be rejected. assert.False(t, isNGCRegistry("ghcr.io")) assert.False(t, isNGCRegistry("quay.io")) assert.False(t, isNGCRegistry("harbor.company.internal")) + + // Deceptive suffixes must be rejected. + assert.False(t, isNGCRegistry("evilnvcr.io"), "suffix match without dot boundary must be rejected") + assert.False(t, isNGCRegistry("nvidia.com.invalid"), "deceptive TLD must be rejected") + assert.False(t, isNGCRegistry("fakenvidia.com"), "partial host match must be rejected") } From c3c4a41cb8a4505c262efe1c279e614afe9b8916 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 19 Aug 2026 16:01:56 +0530 Subject: [PATCH 010/127] fix(nvcf-cli): restrict NGC token fallback to NGC registries and fix em dash --- .../nvcf-cli/internal/selfhosted/stale_namespace.go | 2 +- .../nvcf-cli/internal/selfhosted/validatortag.go | 5 +++++ .../internal/selfhosted/validatortag_test.go | 13 +++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 56a57526a8..8779b8e1aa 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -102,7 +102,7 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name // Limit to 1: only existence matters, not the full release history. // Check Secrets first (default Helm storage driver). If none exist, - // also check ConfigMaps to handle HELM_DRIVER=configmap clusters — + // also check ConfigMaps to handle HELM_DRIVER=configmap clusters; // both storage backends label their release objects with owner=helm. secrets, err := client.CoreV1().Secrets(name).List(ctx, metav1.ListOptions{ LabelSelector: "owner=helm", diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index b3eef3e0bd..5a234ef1f7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -270,7 +270,12 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep // exchangeNGCBearerToken is the NGC-specific /proxy_auth token exchange, // kept as a named fallback for when the standard OCI flow cannot be used. +// It always rejects non-NGC registries so NGC credentials are never sent +// to an unrelated /proxy_auth endpoint. func exchangeNGCBearerToken(ctx context.Context, client *http.Client, registry, repo string) (string, error) { + if !isNGCRegistry(registry) { + return "", fmt.Errorf("NGC token fallback not applicable for non-NGC registry %s", registry) + } user, pass, ok := ngcCredentials(registry) if !ok { return "", fmt.Errorf("no credentials for %s", registry) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 387254f039..bcc49f8cab 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -20,6 +20,7 @@ package selfhosted import ( "context" "encoding/json" + "net/http" "os" "path/filepath" "testing" @@ -326,3 +327,15 @@ func TestIsNGCRegistry(t *testing.T) { assert.False(t, isNGCRegistry("nvidia.com.invalid"), "deceptive TLD must be rejected") assert.False(t, isNGCRegistry("fakenvidia.com"), "partial host match must be rejected") } + +// -- exchangeNGCBearerToken -- + +func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { + // A non-NGC registry with an absent or malformed WWW-Authenticate header + // must not trigger the NGC /proxy_auth fallback. If it did, NGC credentials + // could be sent to an unrelated registry's /proxy_auth endpoint. + client := &http.Client{} + _, err := exchangeNGCBearerToken(context.Background(), client, "harbor.company.internal", "myrepo/image") + require.Error(t, err, "non-NGC registry must be rejected without issuing a request") + assert.Contains(t, err.Error(), "non-NGC registry") +} From de7999b9ead42bdbc2beeda926f628caf839bd44 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 19 Aug 2026 16:47:05 +0530 Subject: [PATCH 011/127] fix(nvcf-cli): response body close, case-insensitive params, empty scope, spy transport test --- .../internal/selfhosted/validatortag.go | 24 ++++++++++------- .../internal/selfhosted/validatortag_test.go | 26 ++++++++++++++++--- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 5a234ef1f7..f906dff16d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -240,15 +240,19 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep if err != nil { return "", err } - defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - // WWW-Authenticate realm failed — try NGC's /proxy_auth as last resort + // Close the body immediately before the fallback or the error return so + // the connection is not held open while the NGC /proxy_auth call runs. + status := resp.Status + resp.Body.Close() + // WWW-Authenticate realm failed; try NGC's /proxy_auth as last resort // for registries that implement both endpoints (e.g. staging NGC envs). if isNGCRegistry(registry) { return exchangeNGCBearerToken(ctx, client, registry, repo) } - return "", fmt.Errorf("token exchange at %s returned %s", realm, resp.Status) + return "", fmt.Errorf("token exchange at %s returned %s", realm, status) } + defer resp.Body.Close() // Both "token" (OCI spec) and "access_token" (Docker Hub variant) are valid. var doc struct { @@ -280,14 +284,14 @@ func exchangeNGCBearerToken(ctx context.Context, client *http.Client, registry, if !ok { return "", fmt.Errorf("no credentials for %s", registry) } - // Build scope: use actual repo when provided; omit when empty so the NGC - // /proxy_auth endpoint validates the key without org-scoped access checks. - scope := "" + // Build the query: use url.Values so the scope key is omitted entirely + // when repo is empty rather than sending scope= with an empty value. + // An empty scope validates the API key without org-scoped access checks. + q := url.Values{"service": {registry}} if repo != "" { - scope = "repository:" + repo + ":pull" + q.Set("scope", "repository:"+repo+":pull") } - tokenURL := fmt.Sprintf("https://%s/proxy_auth?service=%s&scope=%s", - registry, registry, scope) + tokenURL := "https://" + registry + "/proxy_auth?" + q.Encode() req, err := http.NewRequestWithContext(ctx, http.MethodGet, tokenURL, nil) if err != nil { return "", err @@ -357,7 +361,7 @@ func parseWWWAuthenticate(header string) (realm, service, scope string) { } } - switch key { + switch strings.ToLower(key) { case "realm": realm = val case "service": diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index bcc49f8cab..e2d7809e54 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -295,6 +295,14 @@ func TestParseWWWAuthenticate_RealmOnly(t *testing.T) { assert.Empty(t, scope) } +func TestParseWWWAuthenticate_MixedCaseParams(t *testing.T) { + // Auth parameter names are parsed with mixed case in the wild. + realm, service, scope := parseWWWAuthenticate(`Bearer Realm="https://auth.example.com/token",Service="reg.example.com",Scope="repository:foo:pull"`) + assert.Equal(t, "https://auth.example.com/token", realm) + assert.Equal(t, "reg.example.com", service) + assert.Equal(t, "repository:foo:pull", scope) +} + func TestParseWWWAuthenticate_CaseInsensitiveBearer(t *testing.T) { // HTTP auth scheme names are case-insensitive (RFC 7235 s2.1). for _, header := range []string{ @@ -330,11 +338,21 @@ func TestIsNGCRegistry(t *testing.T) { // -- exchangeNGCBearerToken -- +// spyTransport is an http.RoundTripper that fails the test if called. +type spyTransport struct{ t *testing.T } + +func (s *spyTransport) RoundTrip(_ *http.Request) (*http.Response, error) { + s.t.Fatal("HTTP request must not be issued for non-NGC registry") + return nil, nil +} + func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { - // A non-NGC registry with an absent or malformed WWW-Authenticate header - // must not trigger the NGC /proxy_auth fallback. If it did, NGC credentials - // could be sent to an unrelated registry's /proxy_auth endpoint. - client := &http.Client{} + // A non-NGC registry must be rejected before any HTTP request is made, + // even when NGC credentials are configured. The spy transport fails the + // test immediately if RoundTrip is called, ensuring the isNGCRegistry + // guard fires before any network activity. + t.Setenv("NGC_API_KEY", "test-key") // configure a credential so a missing guard would reach the transport + client := &http.Client{Transport: &spyTransport{t: t}} _, err := exchangeNGCBearerToken(context.Background(), client, "harbor.company.internal", "myrepo/image") require.Error(t, err, "non-NGC registry must be rejected without issuing a request") assert.Contains(t, err.Error(), "non-NGC registry") From a52685f46d7e9f3416277342b7753b95e8156c53 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 19 Aug 2026 22:14:32 +0530 Subject: [PATCH 012/127] fix(nvcf-cli): authorize realm host before forwarding credentials and fix em dash --- .../internal/selfhosted/stale_namespace.go | 2 +- .../internal/selfhosted/validatortag.go | 22 +++++++++-- .../internal/selfhosted/validatortag_test.go | 38 +++++++++++++++++++ 3 files changed, 58 insertions(+), 4 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 8779b8e1aa..1f31403cf3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -77,7 +77,7 @@ func NewStaleNamespaceProber() StaleNamespaceProber { // // A namespace is considered stale when either: // - its DeletionTimestamp is set or its phase is Terminating (finalizer -// deadlock — it will never complete without operator intervention), or +// deadlock; it will never complete without operator intervention), or // - it exists but holds no active Helm release (empty shell left by a partial // helm uninstall or a failed teardown that cleaned the release but not the // namespace). diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index f906dff16d..9064e4db01 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -199,12 +199,28 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep return exchangeNGCBearerToken(ctx, client, registry, repo) } // Reject non-HTTPS or relative realms before attaching credentials. - // The realm comes from a registry-controlled response header and must be - // an absolute HTTPS URL to prevent sending credentials over cleartext or - // to an unrelated host. if u.Scheme != "https" || u.Host == "" { return "", fmt.Errorf("refusing token exchange at insecure or relative realm %q for %s", realm, registry) } + // Authorize the realm host before forwarding credentials. The realm URL + // comes from a registry-controlled response header. Without this check, a + // malicious registry could return realm="https://attacker.com/token" and + // receive the operator's Docker credentials for the original registry. + // Allow the realm only when it matches the registry's own host, is a + // sub-domain of that host (e.g. auth.registry.example.com for registry.example.com), + // or is an NGC auth domain when the registry is NGC-hosted (NGC delegates + // token issuance to authn.nvidia.com and other nvidia.com sub-domains). + realmHost := strings.ToLower(u.Hostname()) + regHost := strings.ToLower(registry) + if h, _, err := net.SplitHostPort(registry); err == nil { + regHost = strings.ToLower(h) + } + realmOK := realmHost == regHost || + strings.HasSuffix(realmHost, "."+regHost) || + (isNGCRegistry(registry) && isNGCRegistry(realmHost)) + if !realmOK { + return "", fmt.Errorf("refusing to forward credentials to realm host %q; not authorized for registry %s", realmHost, registry) + } q := u.Query() if service != "" { q.Set("service", service) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index e2d7809e54..1d082ddc99 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -21,8 +21,10 @@ import ( "context" "encoding/json" "net/http" + "net/http/httptest" "os" "path/filepath" + "strings" "testing" "time" @@ -336,6 +338,37 @@ func TestIsNGCRegistry(t *testing.T) { assert.False(t, isNGCRegistry("fakenvidia.com"), "partial host match must be rejected") } +// -- exchangeBearerToken realm host authorization -- + +func TestExchangeBearerToken_RejectsAttackerRealm(t *testing.T) { + // A malicious registry returns a realm on an attacker-controlled host. + // The function must reject this without forwarding credentials. + spy := &spyTransport{t: t} + + // Set up a fake registry server that returns 401 with an attacker realm. + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Www-Authenticate", `Bearer realm="https://attacker.example.com/token",service="harbor.company.internal"`) + w.WriteHeader(http.StatusUnauthorized) + })) + defer srv.Close() + + client := srv.Client() + // Replace the transport with the spy AFTER the TLS is set up; the spy + // wraps the original to preserve TLS but fails on any attacker call. + origTransport := client.Transport + client.Transport = roundTripperFunc(func(r *http.Request) (*http.Response, error) { + if r.Host == "attacker.example.com" || strings.Contains(r.URL.Host, "attacker") { + t.Fatalf("credentials must not be forwarded to attacker host: %s", r.URL) + } + return origTransport.RoundTrip(r) + }) + _ = spy + + _, err := exchangeBearerToken(context.Background(), client, "harbor.company.internal", "myrepo/image", `Bearer realm="https://attacker.example.com/token",service="harbor.company.internal"`) + require.Error(t, err) + assert.Contains(t, err.Error(), "not authorized for registry") +} + // -- exchangeNGCBearerToken -- // spyTransport is an http.RoundTripper that fails the test if called. @@ -346,6 +379,11 @@ func (s *spyTransport) RoundTrip(_ *http.Request) (*http.Response, error) { return nil, nil } +// roundTripperFunc adapts a function to the http.RoundTripper interface. +type roundTripperFunc func(*http.Request) (*http.Response, error) + +func (f roundTripperFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } + func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { // A non-NGC registry must be rejected before any HTTP request is made, // even when NGC credentials are configured. The spy transport fails the From 2218f34fe0cd99b7ab90d6c59361b56ac45636fe Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 19 Aug 2026 22:39:13 +0530 Subject: [PATCH 013/127] fix(nvcf-cli): allow Docker Hub delegated auth realm in token exchange --- .../internal/selfhosted/validatortag.go | 15 ++++++++++++++- .../internal/selfhosted/validatortag_test.go | 17 +++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 9064e4db01..d2f9fbca98 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -217,7 +217,8 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep } realmOK := realmHost == regHost || strings.HasSuffix(realmHost, "."+regHost) || - (isNGCRegistry(registry) && isNGCRegistry(realmHost)) + (isNGCRegistry(registry) && isNGCRegistry(realmHost)) || + trustedRealmDelegations[regHost] == realmHost if !realmOK { return "", fmt.Errorf("refusing to forward credentials to realm host %q; not authorized for registry %s", realmHost, registry) } @@ -389,6 +390,18 @@ func parseWWWAuthenticate(header string) (realm, service, scope string) { return } +// trustedRealmDelegations maps a registry host to its authorized token host +// when the registry uses a separate host for token exchange. Only add entries +// here for registries with publicly documented auth architectures; this list +// extends the fail-closed realm validation and must not grow without a clear +// trust basis. +var trustedRealmDelegations = map[string]string{ + // Docker Hub documents this split explicitly: the pull host and the auth + // host are distinct (docs.docker.com/registry/spec/auth/token/). + "registry-1.docker.io": "auth.docker.io", + "docker.io": "auth.docker.io", +} + // ngcApprovedHosts is the set of exact hostnames (without port) that are // considered NGC-hosted. Dot-prefixed entries match any subdomain. var ngcApprovedHosts = []string{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 1d082ddc99..ce056a58b7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -22,6 +22,7 @@ import ( "encoding/json" "net/http" "net/http/httptest" + "net/url" "os" "path/filepath" "strings" @@ -384,6 +385,22 @@ type roundTripperFunc func(*http.Request) (*http.Response, error) func (f roundTripperFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } +func TestExchangeBearerToken_DockerHubDelegatedRealm(t *testing.T) { + // Docker Hub uses registry-1.docker.io as the pull host and auth.docker.io + // for token exchange. The realm host check must allow this documented + // delegation rather than rejecting it as an unauthorized host. + wwwAuth := `Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:library/ubuntu:pull"` + realm, _, _ := parseWWWAuthenticate(wwwAuth) + u, err := url.Parse(realm) + require.NoError(t, err) + + realmHost := strings.ToLower(u.Hostname()) + regHost := "registry-1.docker.io" + delegated := trustedRealmDelegations[regHost] + assert.Equal(t, "auth.docker.io", delegated, "Docker Hub auth host must be in trusted delegation map") + assert.Equal(t, delegated, realmHost, "auth.docker.io realm must be authorized for registry-1.docker.io") +} + func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { // A non-NGC registry must be rejected before any HTTP request is made, // even when NGC credentials are configured. The spy transport fails the From b8faf70c7433164145442e84f401e3fa049e516f Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 12:28:53 +0530 Subject: [PATCH 014/127] fix(nvcf-cli): stop preflight failing healthy clusters and destroying live namespaces --- .../selfhosted/clustervalidator_test.go | 2 - .../selfhosted/orchestrator_errors_test.go | 6 +- .../nvcf-cli/internal/selfhosted/preflight.go | 37 ++++- .../selfhosted/progress/k8s_watcher_test.go | 2 +- .../selfhosted/progress/log_line_writer.go | 12 +- .../selfhosted/progress/render_jsonl.go | 18 +-- .../selfhosted/progress/render_jsonl_test.go | 2 +- .../internal/selfhosted/registry_cred.go | 133 +++++++++++++++--- .../internal/selfhosted/registry_cred_test.go | 4 +- .../internal/selfhosted/stale_namespace.go | 99 +++++++++---- .../selfhosted/stale_namespace_test.go | 59 +++++++- .../selfhosted/teardown/drain_test.go | 4 +- .../internal/selfhosted/validatortag.go | 25 +++- .../internal/selfhosted/validatortag_test.go | 16 +-- 14 files changed, 335 insertions(+), 84 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 0ecb7e602b..3db50167a6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -131,7 +131,6 @@ func TestClusterValidatorCheck_OrchestratorErrorStaysWarning(t *testing.T) { assert.Contains(t, r.Message, "cluster-validator did not complete") } - func TestRunClusterValidator_HappyPath(t *testing.T) { client := fake.NewSimpleClientset() // Capture the Job name the runner picks, then drive Get/List reactors to @@ -678,4 +677,3 @@ func alreadyExistsReactor(resource, name string) ktesting.ReactionFunc { return true, nil, apierrors.NewAlreadyExists(gr, name) } } - diff --git a/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go b/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go index a3b2e0e184..5a1df7f0b7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go @@ -422,9 +422,9 @@ func TestRetryAfterFromError_Parsing(t *testing.T) { {"rate limit: Retry-After: 30", 30}, {"Retry-After: 120s", 120}, {"retry-after: 5", 5}, - {"no header here", 5}, // default - {"Retry-After: ", 5}, // no digits → default - {"Retry-After: 0", 5}, // zero → default + {"no header here", 5}, // default + {"Retry-After: ", 5}, // no digits → default + {"Retry-After: 0", 5}, // zero → default {"Retry-After: 300 ok", 300}, // stops at first non-digit } for _, tc := range cases { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 89e053256b..fd6138a628 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -19,6 +19,7 @@ package selfhosted import ( "context" + "errors" "fmt" "net/http" "os" @@ -55,7 +56,7 @@ type CheckResult struct { Message string Detail string // optional: short version string or extra context (M+8.11) HintURL string - Err error // populated only when the check itself failed to execute + Err error // populated only when the check itself failed to execute Logs string // optional: full check transcript for --show-logs; not emitted to JSON } @@ -646,6 +647,24 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn Severity: severity, } if err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical); err != nil { + // A registry this probe cannot speak to (ECR's SigV4, a Basic + // challenge) is not evidence of a credential problem, and an + // unreadable credential helper is not evidence of a missing + // credential. Neither may block the run. + var skipped errRegistryProbeSkipped + var unverified errRegistryCredentialsUnverified + switch { + case errors.As(err, &skipped): + r.Passed = true + r.Severity = "info" + r.Message = entry.Registry + ": skipped (" + skipped.reason + ")" + return r + case errors.As(err, &unverified): + r.Severity = "warning" + r.Message = entry.Registry + ": " + err.Error() + r.Err = err + return r + } r.Message = entry.Registry + ": " + err.Error() r.Err = err return r @@ -676,6 +695,7 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp return r } if len(stale) == 0 { + r.Severity = "info" r.Passed = true r.Message = "no stale NVCF namespaces detected" return r @@ -692,9 +712,20 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp } var hints []string if len(terminating) > 0 { + // spec.finalizers is writable only through the /finalize + // subresource: a plain patch or update is silently reverted by + // the apiserver's namespace strategy, so `kubectl patch ... + // --type=merge` prints "patched" and changes nothing. + for _, ns := range terminating { + hints = append(hints, fmt.Sprintf( + "clear namespace finalizers on %s: kubectl get ns %s -o json | "+ + "jq '.spec.finalizers=[]' | kubectl replace --raw /api/v1/namespaces/%s/finalize -f -", + ns, ns, ns)) + } hints = append(hints, - fmt.Sprintf("remove finalizers on stuck namespaces: kubectl patch namespace %s -p '{\"spec\":{\"finalizers\":[]}}' --type=merge", - strings.Join(terminating, " "))) + "if it stays Terminating, the deadlock is on objects inside it: "+ + "kubectl api-resources --verbs=list --namespaced -o name | "+ + "xargs -n1 kubectl get -n --show-kind --ignore-not-found") } if len(emptyShell) > 0 { hints = append(hints, diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/k8s_watcher_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/k8s_watcher_test.go index c8e22dd93f..03e2334eea 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/k8s_watcher_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/k8s_watcher_test.go @@ -135,7 +135,7 @@ func TestWatchResources_EmitsCountsForEachType(t *testing.T) { }, 3*time.Second, 50*time.Millisecond, "did not see all 5 resource types") last := sink.lastByResource() - assert.Equal(t, 4, last["namespaces"].Num) // phaseNum baked in + assert.Equal(t, 4, last["namespaces"].Num) // phaseNum baked in assert.Equal(t, "apply-cp", last["namespaces"].Name) // phaseName baked in assert.Equal(t, "namespaces", last["namespaces"].Resource) assert.Equal(t, 2, last["namespaces"].Done) diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/log_line_writer.go b/src/clis/nvcf-cli/internal/selfhosted/progress/log_line_writer.go index 3f6ff8f481..1a2cba7262 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/log_line_writer.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/log_line_writer.go @@ -41,12 +41,12 @@ import ( // EventSink is responsible for its own concurrency (JSONLRenderer's mu; // TTYRenderer's tea.Program.Send is goroutine-safe by design). type LogLineWriter struct { - mu sync.Mutex - buf bytes.Buffer - sink EventSink - stream string // "stdout" | "stderr" - source string // short producer tag, e.g. "helmfile-cp" - closed bool + mu sync.Mutex + buf bytes.Buffer + sink EventSink + stream string // "stdout" | "stderr" + source string // short producer tag, e.g. "helmfile-cp" + closed bool } // NewLogLineWriter constructs a LogLineWriter feeding into sink. stream and diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go index 3f4940c1fd..736f861e06 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go @@ -710,7 +710,7 @@ type wireClusterRow struct { Event string `json:"event"` TS string `json:"ts"` Name string `json:"name"` - Context string `json:"context,omitempty"` // M+9: omitted when unknown + Context string `json:"context,omitempty"` // M+9: omitted when unknown GPU string `json:"gpu"` GPUCount int `json:"gpuCount"` ActiveDeployments int `json:"activeDeployments"` @@ -766,12 +766,12 @@ type wireCategoryCompleted struct { // mode. It carries the Snapshot identity plus all ComponentHealth, ClusterRow, // and RecentEvent sub-objects inlined. type wireSnapshotComposed struct { - Event string `json:"event"` - TS string `json:"ts"` - Cluster string `json:"cluster"` - Verdict string `json:"verdict"` - ReconcileAgeSec int `json:"reconcileAgeSec"` - Identity wireSnapshotIdentity `json:"identity"` + Event string `json:"event"` + TS string `json:"ts"` + Cluster string `json:"cluster"` + Verdict string `json:"verdict"` + ReconcileAgeSec int `json:"reconcileAgeSec"` + Identity wireSnapshotIdentity `json:"identity"` Components []wireComponentInline `json:"components,omitempty"` ComputeClusters []wireClusterInline `json:"computeClusters,omitempty"` Events []wireEventInline `json:"events,omitempty"` @@ -781,7 +781,7 @@ type wireSnapshotComposed struct { type wireComponentInline struct { Name string `json:"name"` Cluster string `json:"cluster,omitempty"` - Role string `json:"role,omitempty"` // M+9: omitted in single-cluster mode + Role string `json:"role,omitempty"` // M+9: omitted in single-cluster mode Ready int `json:"ready"` Total int `json:"total"` UptimeSec int `json:"uptimeSec"` @@ -792,7 +792,7 @@ type wireComponentInline struct { // wireClusterInline is a ClusterRow without event/ts fields. type wireClusterInline struct { Name string `json:"name"` - Context string `json:"context,omitempty"` // M+9: omitted when unknown + Context string `json:"context,omitempty"` // M+9: omitted when unknown GPU string `json:"gpu"` GPUCount int `json:"gpuCount"` ActiveDeployments int `json:"activeDeployments"` diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go index 3ceb92eb20..3f55654def 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go @@ -82,7 +82,7 @@ func TestRenderJSONL_PhaseFailed(t *testing.T) { ErrCategory: "helm_apply", ErrMessage: "helm install api-keys: timed out", RetryClass: "backoff", RetryAfterSec: 60, Remediation: []string{"kubectl describe pod -n cassandra-system cassandra-0", "Re-run with --debug"}, - Raw: RawFailure{Subprocess: "helmfile", ExitCode: 1, StderrTail: "Error: timeout reached", KubernetesReason: "FailedScheduling"}, + Raw: RawFailure{Subprocess: "helmfile", ExitCode: 1, StderrTail: "Error: timeout reached", KubernetesReason: "FailedScheduling"}, }, } got := runEmit(t, clock, events) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index be51732c3a..9312b18807 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -20,8 +20,10 @@ package selfhosted import ( "context" "fmt" + "net" "net/http" "os" + "strconv" "strings" "time" @@ -54,15 +56,20 @@ func NewRegistryCredentialChecker() RegistryCredentialChecker { // clear diagnostic instead of attempting the Bearer flow. When critical is true, // anonymous token success is rejected: configured credentials must be present. func probeRegistryCredential(ctx context.Context, registry, repoHint string, critical bool) error { + // ECR uses AWS SigV4, not the OCI Bearer flow, so this probe cannot speak + // to it. Skip rather than fail: returning an error here makes an + // ECR-hosted validator image unconditionally fail preflight, so --wait + // could never converge. if isECRRegistry(registry) { - return fmt.Errorf("ECR registry detected — credential validation requires AWS CLI; " + - "run 'aws ecr get-login-password' to verify manually") + return errRegistryProbeSkipped{ + reason: "ECR uses AWS SigV4; verify manually with 'aws ecr get-login-password'", + } } pctx, cancel := context.WithTimeout(ctx, registryProbeTimeout) defer cancel() - client := &http.Client{Timeout: registryProbeTimeout} + client := &http.Client{Timeout: registryProbeTimeout, CheckRedirect: refuseInsecureRedirect} // Step 1: probe /v2/ unauthenticated. probeURL := "https://" + registry + "/v2/" @@ -75,11 +82,33 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri return fmt.Errorf("cannot reach %s: %w", registry, err) } + // A 200 only proves /v2/ is anonymously readable, which says nothing about + // the repositories the install actually pulls. Require the registry to + // identify itself as an OCI registry so a captive portal or TLS-intercepting + // proxy answering 200 HTML is not read as success. + isOCI := resp.Header.Get("Docker-Distribution-Api-Version") != "" || + strings.Contains(resp.Header.Get("Www-Authenticate"), "realm") + switch resp.StatusCode { case http.StatusOK: - // Public registry — no credentials needed. resp.Body.Close() - return nil + if !isOCI { + // A captive portal or TLS-intercepting proxy also answers 200. The + // header is a Docker convention rather than an OCI requirement, so + // a conformant registry may legitimately omit it: report that the + // result is unverifiable instead of guessing either way. + return errRegistryProbeSkipped{ + reason: fmt.Sprintf("%s answered 200 but did not identify as an OCI registry; "+ + "if this is unexpected, check for a proxy or captive portal", registry), + } + } + // Anonymous read works. For a critical registry that is still not + // enough: the install pulls private repositories, so fall through to + // the credential requirement below rather than returning early. + if !critical { + return nil + } + return requireConfiguredCredentials(registry) case http.StatusUnauthorized: // Auth required — proceed with token exchange. default: @@ -94,6 +123,15 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri wwwAuth := resp.Header.Get("Www-Authenticate") resp.Body.Close() + // Only the Bearer flow is implemented. Self-hosted Harbor and htpasswd + // mirrors commonly answer with Basic, where the Bearer path would report a + // spurious credential failure, so skip instead. + if scheme := authChallengeScheme(wwwAuth); scheme != "" && !strings.EqualFold(scheme, "Bearer") { + return errRegistryProbeSkipped{ + reason: fmt.Sprintf("%s uses %s auth; only the OCI Bearer flow is probed", registry, scheme), + } + } + _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth) if err != nil { // Use credentialsForRegistry (not ngcCredentials) so NGC_API_KEY does @@ -110,14 +148,56 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri // For critical registries, a successful anonymous token is not enough: // if the actual install pulls private images, anonymous access will fail. if critical { - if _, _, hasCreds := credentialsForRegistry(registry); !hasCreds { - return fmt.Errorf("no credentials configured for %s "+ - "(add to ~/.docker/config.json or set NGC_API_KEY for NGC registries)", registry) - } + return requireConfiguredCredentials(registry) } return nil } +// errRegistryProbeSkipped marks a registry this probe cannot speak to. The +// caller reports it as a skip rather than a credential failure. +type errRegistryProbeSkipped struct{ reason string } + +func (e errRegistryProbeSkipped) Error() string { return e.reason } + +// authChallengeScheme returns the auth scheme named by a WWW-Authenticate +// header, or "" when the header is absent or malformed. +func authChallengeScheme(header string) string { + header = strings.TrimSpace(header) + if header == "" { + return "" + } + if i := strings.IndexByte(header, ' '); i > 0 { + return header[:i] + } + return header +} + +// requireConfiguredCredentials reports an error when no credential is reachable +// for the registry. +// +// A missing credential is a warning, not a hard failure: credsFromDockerConfig +// reads only inline auth entries, so a workstation using a credential helper +// (credsStore on Docker Desktop, docker-credential-pass on Linux) has a working +// docker login that is invisible here. The install path also mints or mirrors a +// pull secret of its own, so preflight must not be the thing that blocks. +func requireConfiguredCredentials(registry string) error { + if _, _, ok := credentialsForRegistry(registry); ok { + return nil + } + return errRegistryCredentialsUnverified{registry: registry} +} + +// errRegistryCredentialsUnverified means no credential was found locally. The +// caller downgrades this to a warning. +type errRegistryCredentialsUnverified struct{ registry string } + +func (e errRegistryCredentialsUnverified) Error() string { + return fmt.Sprintf("no local credentials found for %s "+ + "(a credential helper such as credsStore is not readable here); "+ + "if 'docker pull' works this can be ignored, otherwise add an entry to "+ + "~/.docker/config.json or set NGC_API_KEY for NGC registries", e.registry) +} + // isECRRegistry returns true for AWS Elastic Container Registry hostnames, // which use AWS SigV4 auth instead of the OCI Bearer token flow. func isECRRegistry(registry string) bool { @@ -147,22 +227,25 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re seen := make(map[string]bool) var out []RegistryEntry - add := func(registry string, critical bool) { + add := func(registry, repoHint string, critical bool) { registry = strings.TrimSpace(registry) if registry == "" || seen[registry] { return } seen[registry] = true - out = append(out, RegistryEntry{Registry: registry, Critical: critical}) + out = append(out, RegistryEntry{Registry: registry, RepoHint: repoHint, Critical: critical}) } // Source 1: base registry from the configured validator image. // Carry the repo path as a scope hint so the token exchange uses the // operator's actual org rather than a fake one — NGC returns 403 for // orgs the API key cannot access, even if the key itself is valid. + // + // Critical follows the same rule as every other source rather than being + // forced true: an air-gapped install that side-loaded the image never + // contacts this registry at pull time (ImagePullPolicy is IfNotPresent). if reg, repo, _, ok := parseImageRef(imageRef); ok && reg != "" { - seen[reg] = true - out = append(out, RegistryEntry{Registry: reg, RepoHint: repo, Critical: true}) + add(reg, repo, isNGCRegistry(reg)) } // Source 2: read global.image.registry from the environment values file. @@ -171,17 +254,23 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re if stackValuesFile != "" { if reg := readGlobalImageRegistry(stackValuesFile); reg != "" { // If it's an NGC registry, mark critical; customer mirrors are non-critical. - add(reg, isNGCRegistry(reg)) + add(reg, "", isNGCRegistry(reg)) } } - // Source 3: cert-manager's well-known exception (quay.io/jetstack). - // cert-manager ignores global.image.registry and always pulls from quay.io. - add(certManagerRegistry, false) + // Source 3: cert-manager, but only when the stack is not mirroring it. + // deploy/stacks/self-managed/global.yaml.gotmpl rewrites every cert-manager + // image to global.image.registry, so on a configured stack quay.io is never + // contacted and probing it is a pointless round trip. It is only reachable + // when no stack values file resolved. + if stackValuesFile == "" || readGlobalImageRegistry(stackValuesFile) == "" { + add(certManagerRegistry, "", false) + } // Source 4: operator-supplied extras (--cluster-validator-registries). - // Preserve non-443 ports in the registry string so probeRegistryCredential - // builds the correct https://host:port/v2/ URL. + // Preserve non-443 ports so probeRegistryCredential builds the correct + // https://host:port/v2/ URL. net.JoinHostPort brackets IPv6 literals, which + // a bare "%s:%d" would corrupt into https://::1:5000/v2/. for _, e := range extras { host, port := parseRegistryHostPort(e) if host == "" { @@ -189,9 +278,11 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re } reg := host if port != 0 && port != 443 { - reg = fmt.Sprintf("%s:%d", host, port) + reg = net.JoinHostPort(host, strconv.Itoa(port)) + } else if strings.Contains(host, ":") { + reg = "[" + host + "]" // bare IPv6 literal on the default port } - add(reg, false) + add(reg, "", false) } return out diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index ca6f81104a..411bafb83c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -33,8 +33,10 @@ import ( // -- probeRegistryCredential -- func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { - // Registry returns 200 on /v2/ → public, no credentials needed. + // Registry returns 200 on /v2/ with the registry API header → public, + // no credentials needed. srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Docker-Distribution-Api-Version", "registry/2.0") w.WriteHeader(http.StatusOK) })) defer srv.Close() diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 1f31403cf3..75e4e9d80a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -27,19 +27,30 @@ import ( "k8s.io/client-go/kubernetes" ) -// nvcfControlPlaneNamespaces is the canonical set of namespaces created on the -// control-plane cluster by the NVCF self-managed stack. Any of these that -// exist without an active Helm release, or that are stuck Terminating, are -// leftover from a failed or partial teardown. +// nvcfControlPlaneNamespaces lists namespaces that a helmfile release deploys +// into on the control-plane cluster, per deploy/stacks/self-managed/helmfile.d. +// Any of these that exist without an active Helm release, or that are stuck +// Terminating, are leftover from a failed or partial teardown. +// +// Only namespaces that actually host a release belong here: the remediation for +// a hit is "delete this namespace", so a namespace populated by something other +// than Helm (nvcf-backend, created at runtime by NVCA for worker pods) would be +// reported stale on a healthy cluster and deleting it would destroy live work. +// +// The gateway controller namespace is deliberately absent: the release templates +// it from .Values.ingress.gatewayApi.controllerNamespace, so hardcoding +// envoy-gateway-system would probe a namespace the stack may not own. var nvcfControlPlaneNamespaces = []string{ - "cassandra-system", "nats-system", "nvcf", "api-keys", "ess", "sis", - "vault-system", "nvcf-backend", "envoy-gateway-system", "openbao-system", + "api-keys", "cassandra-system", "cert-manager", "ess", + "nats-system", "nvcf", "nvcf-ui", "sis", "vault-system", } -// nvcfComputePlaneNamespaces is the canonical set of namespaces created on the -// compute-plane cluster by the NVCF self-managed stack. +// nvcfComputePlaneNamespaces lists namespaces that a helmfile release deploys +// into on the compute-plane cluster, per +// deploy/stacks/nvcf-compute-plane/helmfile.d. nvca-system is deliberately +// absent: it is operator-created and hosts no release. var nvcfComputePlaneNamespaces = []string{ - "nvca-operator", "nvca-system", + "dynamo-system", "grove-system", "kai-scheduler", "nvca-operator", } // StaleNamespace describes a single NVCF stack namespace that appears to be a @@ -84,6 +95,39 @@ func NewStaleNamespaceProber() StaleNamespaceProber { // // Helm 3 marks each release secret with the label owner=helm; absence of any // such secret means no live Helm release occupies the namespace. +// helmReleaseListPageSize bounds each page of the owner=helm scan. A namespace +// holds at most a handful of release objects, so this is only a ceiling on how +// much is pulled per round trip while paging past non-matching objects. +const helmReleaseListPageSize = 100 + +// helmReleaseExists reports whether any owner=helm object exists, paging until +// it finds one or the server reports no more results. +// +// A single page with Limit set is not a valid existence test: the apiserver +// applies the label selector after paging, so a page can legitimately return +// zero items alongside a Continue token. A namespace like nvcf holds dozens of +// ServiceAccount tokens and TLS secrets that sort before sh.helm.release.v1.*, +// so the first page is routinely empty on a perfectly healthy install. +func helmReleaseExists( + ctx context.Context, namespace string, + list func(metav1.ListOptions) (count int, cont string, err error), +) (bool, error) { + opts := metav1.ListOptions{LabelSelector: "owner=helm", Limit: helmReleaseListPageSize} + for { + count, cont, err := list(opts) + if err != nil { + return false, err + } + if count > 0 { + return true, nil + } + if cont == "" { + return false, nil + } + opts.Continue = cont + } +} + func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { var stale []StaleNamespace for _, name := range namespaces { @@ -100,28 +144,35 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name continue } - // Limit to 1: only existence matters, not the full release history. - // Check Secrets first (default Helm storage driver). If none exist, - // also check ConfigMaps to handle HELM_DRIVER=configmap clusters; - // both storage backends label their release objects with owner=helm. - secrets, err := client.CoreV1().Secrets(name).List(ctx, metav1.ListOptions{ - LabelSelector: "owner=helm", - Limit: 1, - }) + // Check Secrets first (the default Helm storage driver), then ConfigMaps + // for HELM_DRIVER=configmap clusters. Both label release objects + // owner=helm. + found, err := helmReleaseExists(ctx, name, + func(opts metav1.ListOptions) (int, string, error) { + l, lerr := client.CoreV1().Secrets(name).List(ctx, opts) + if lerr != nil { + return 0, "", lerr + } + return len(l.Items), l.Continue, nil + }) if err != nil { return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) } - if len(secrets.Items) > 0 { - continue // healthy: active Helm release found via secret driver + if found { + continue // healthy: active Helm release found via the secret driver } - cms, err := client.CoreV1().ConfigMaps(name).List(ctx, metav1.ListOptions{ - LabelSelector: "owner=helm", - Limit: 1, - }) + found, err = helmReleaseExists(ctx, name, + func(opts metav1.ListOptions) (int, string, error) { + l, lerr := client.CoreV1().ConfigMaps(name).List(ctx, opts) + if lerr != nil { + return 0, "", lerr + } + return len(l.Items), l.Continue, nil + }) if err != nil { return stale, fmt.Errorf("list Helm configmaps in %s: %w", name, err) } - if len(cms.Items) == 0 { + if !found { stale = append(stale, StaleNamespace{Name: name, Reason: "no Helm release"}) } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index e64700366f..5f20baf0d2 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -27,7 +27,9 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/fake" + ktesting "k8s.io/client-go/testing" ) // -- probeStaleNamespaces -- @@ -193,7 +195,8 @@ func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { assert.Equal(t, "error", r.Severity, "detected stale namespaces must use error severity so the exit code is non-zero") assert.Contains(t, r.Message, "nvcf") - assert.Contains(t, r.Message, "kubectl patch namespace nvcf") + assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", + "the remediation must use the finalize subresource; a plain patch is silently reverted") } func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { @@ -216,6 +219,58 @@ func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { r := staleNamespaceCheck(prober, "", []string{"nvcf", "api-keys"}).Run(context.Background()) assert.Contains(t, r.Message, "nvcf") assert.Contains(t, r.Message, "api-keys") - assert.Contains(t, r.Message, "kubectl patch namespace nvcf") + assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", + "the remediation must use the finalize subresource; a plain patch is silently reverted") assert.Contains(t, r.Message, "kubectl delete namespace api-keys") } + +// A namespace on a real install holds many non-Helm Secrets (ServiceAccount +// tokens, TLS, pull secrets) that sort before sh.helm.release.v1.*. The +// apiserver applies the label selector after paging, so the first page can +// legitimately come back empty with a Continue token. Treating that as "no +// release" reports a live namespace stale and tells the operator to delete it. +func TestProbeStaleNamespaces_PagesPastNonMatchingObjects(t *testing.T) { + client := fake.NewSimpleClientset(&corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }) + + // First page: empty with a Continue token. Second page: the release secret. + call := 0 + client.PrependReactor("list", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { + call++ + if call == 1 { + return true, &corev1.SecretList{ + ListMeta: metav1.ListMeta{Continue: "next-page-token"}, + }, nil + } + return true, &corev1.SecretList{Items: []corev1.Secret{{ + ObjectMeta: metav1.ObjectMeta{ + Name: "sh.helm.release.v1.nvcf.v1", Namespace: "nvcf", + Labels: map[string]string{"owner": "helm"}, + }, + }}}, nil + }) + + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + assert.Empty(t, stale, + "an empty first page with a Continue token must not be read as 'no Helm release'") + assert.Greater(t, call, 1, "the probe must follow the Continue token") +} + +// The remediation for a hit is "delete this namespace", so the list must only +// contain namespaces a helmfile release actually owns. nvcf-backend is created +// at runtime by NVCA and holds live worker pods. +func TestControlPlaneNamespaceList_ExcludesRuntimeOwnedNamespaces(t *testing.T) { + for _, ns := range []string{"nvcf-backend", "openbao-system"} { + assert.NotContains(t, nvcfControlPlaneNamespaces, ns, + "%s hosts no Helm release; probing it yields a destructive false positive", ns) + } + for _, ns := range []string{"cert-manager", "nvcf-ui"} { + assert.Contains(t, nvcfControlPlaneNamespaces, ns, + "%s is a real stack namespace and must be probed", ns) + } + assert.NotContains(t, nvcfComputePlaneNamespaces, "nvca-system", + "nvca-system is operator-created and hosts no release") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/teardown/drain_test.go b/src/clis/nvcf-cli/internal/selfhosted/teardown/drain_test.go index 3452e2724d..a8cb5c70c1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/teardown/drain_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/teardown/drain_test.go @@ -34,7 +34,7 @@ import ( type fakeSIS struct { deployments []ActiveDeployment removeErr error - removeCalled []string // IDs passed to RemoveDeployment + removeCalled []string // IDs passed to RemoveDeployment statusResults map[string]string // ID → state string statusCallCnt int32 } @@ -73,7 +73,7 @@ func (s *recordSink) Close() error { return nil } type discardSink struct{} func (d *discardSink) Emit(_ context.Context, _ progress.Event) error { return nil } -func (d *discardSink) Close() error { return nil } +func (d *discardSink) Close() error { return nil } // TestDrain_NoActiveDeploymentsIsNoop: empty list → returns nil, no events. func TestDrain_NoActiveDeploymentsIsNoop(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index d2f9fbca98..7b12c81332 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -135,7 +135,7 @@ func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, e } func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte, error) { - client := &http.Client{Timeout: validatorTagFetchTimeout} + client := &http.Client{Timeout: validatorTagFetchTimeout, CheckRedirect: refuseInsecureRedirect} // First attempt without auth so anonymous-pullable registries work. req, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) @@ -182,6 +182,22 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte return io.ReadAll(resp.Body) } +// refuseInsecureRedirect rejects any redirect hop that is not https. +// +// Go strips the Authorization header only when a redirect changes host, and +// that comparison ignores the scheme. Without this, an https realm that 302s to +// http on the same host would re-send the operator's credentials in cleartext, +// defeating the https-only realm check a few lines below. +func refuseInsecureRedirect(req *http.Request, via []*http.Request) error { + if req.URL.Scheme != "https" { + return fmt.Errorf("refusing redirect to non-https URL %q", req.URL.Redacted()) + } + if len(via) >= 10 { + return fmt.Errorf("stopped after %d redirects", len(via)) + } + return nil +} + // exchangeBearerToken implements the OCI Distribution Spec Bearer token flow, // parsing realm/service/scope from the WWW-Authenticate header. Falls back to // the NGC /proxy_auth endpoint when the header is absent or unparseable. @@ -215,6 +231,13 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep if h, _, err := net.SplitHostPort(registry); err == nil { regHost = strings.ToLower(h) } + // Reject an empty realm host explicitly. "https://:443/token" has a + // non-empty u.Host (":443") so it clears the guard above, but Hostname() is + // "", and an empty trustedRealmDelegations lookup would then compare equal + // and authorize it. Fail closed instead. + if realmHost == "" { + return "", fmt.Errorf("refusing token exchange at realm %q with no host for %s", realm, registry) + } realmOK := realmHost == regHost || strings.HasSuffix(realmHost, "."+regHost) || (isNGCRegistry(registry) && isNGCRegistry(realmHost)) || diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index ce056a58b7..9e05456840 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -35,12 +35,12 @@ import ( func TestParseImageRef(t *testing.T) { cases := []struct { - name string - in string - reg string - repo string - tag string - wantOK bool + name string + in string + reg string + repo string + tag string + wantOK bool }{ {"full tag", "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26", "stg.nvcr.io", "nvidia/nvcf-byoc/cluster-validator", "3.0.0-rc.26", true}, {"digest", "nvcr.io/foo/bar@sha256:abc", "nvcr.io", "foo/bar", "sha256:abc", true}, @@ -68,8 +68,8 @@ func TestPickBestValidatorTag_StablePreferred(t *testing.T) { tags := []string{ "3.0.0-rc.11", "3.0.0-rc.26", - "3.0.0", // stable; should win over any rc - "3.1.0-rc.1", // higher major but pre-release: must lose to 3.0.0 + "3.0.0", // stable; should win over any rc + "3.1.0-rc.1", // higher major but pre-release: must lose to 3.0.0 "sha256-abc.sig", "3.0.0-v50ca53a0", // commit-SHA: filtered out by pattern } From ff14b5d1ee6bfd4be9f9039f93ef2ee89b3f6f9b Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 13:05:35 +0530 Subject: [PATCH 015/127] fix(nvcf-cli): scope preflight to the targeted role and stop cross-role interference --- src/clis/nvcf-cli/cmd/root.go | 1 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 157 +++++++++++++----- .../nvcf-cli/cmd/self_hosted_check_test.go | 4 + .../internal/selfhosted/clustervalidator.go | 75 +++++++-- .../internal/selfhosted/validatortag_test.go | 125 +++++++++----- 5 files changed, 268 insertions(+), 94 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/root.go b/src/clis/nvcf-cli/cmd/root.go index a42df48c08..2f07f1b943 100644 --- a/src/clis/nvcf-cli/cmd/root.go +++ b/src/clis/nvcf-cli/cmd/root.go @@ -285,6 +285,7 @@ func initConfig() { // swapping --config files. The env name matches the historical // NVCF_CLI_CLUSTER_VALIDATOR_IMAGE override. viper.BindEnv("cluster_validator_image", "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE") + viper.BindEnv("cluster_validator_registries", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES") // If a config file is found, read it in. if err := viper.ReadInConfig(); err == nil && viper.GetBool("debug") { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index e9fb76a762..7e2421d052 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -23,6 +23,7 @@ import ( "io" "os" "path/filepath" + "strings" "time" "github.com/spf13/cobra" @@ -205,7 +206,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // up global.image.registry from the stack values file and any // --cluster-validator-registries extras independently of the image config. if !localOnly { - extraRegistries := viper.GetStringSlice("cluster_validator_registries") + extraRegistries := configuredValidatorRegistries() stackValuesFile := resolveStackValuesFile() credEntries = selfhosted.EnumerateRegistries( clusterValidatorImage, stackValuesFile, extraRegistries, @@ -293,31 +294,73 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } } -// resolveStackValuesFile walks up from the current working directory to find -// the active environment values YAML. Returns "" when not found so callers -// skip the optional lookup gracefully. +// resolveStackValuesFile returns the environment values YAML to read +// global.image.registry from, or "" when none is available. +// +// It prefers --control-plane-stack, the same source every sibling command uses, +// and only falls back to walking up from the working directory. Within a stack +// it tries HELMFILE_ENV (default "default") and then base.yaml, which is where +// global.image.registry actually lives. The previous version looked only for +// environments/local.yaml, which is not a tracked file, so on any clean +// checkout os.Stat never succeeded and this whole lookup was dead. func resolveStackValuesFile() string { - cwd, err := os.Getwd() - if err != nil { - return "" - } - // Walk up to 6 directory levels to find the stack environments directory. - dir := cwd - for i := 0; i < 6; i++ { - candidate := filepath.Join(dir, - "deploy", "stacks", "self-managed", "environments", "local.yaml") - if _, err := os.Stat(candidate); err == nil { - return candidate + var roots []string + if selfHostedControlPlaneStack != "" { + roots = append(roots, selfHostedControlPlaneStack) + } + if cwd, err := os.Getwd(); err == nil { + dir := cwd + for i := 0; i < 6; i++ { + roots = append(roots, dir) + parent := filepath.Dir(dir) + if parent == dir { + break + } + dir = parent } - parent := filepath.Dir(dir) - if parent == dir { - break + } + + env := os.Getenv("HELMFILE_ENV") + if env == "" { + env = "default" + } + names := []string{env + ".yaml", "base.yaml"} + + for _, root := range roots { + for _, sub := range [][]string{ + {"deploy", "stacks", "self-managed", "environments"}, + {"environments"}, // a stack dir passed directly + } { + for _, name := range names { + candidate := filepath.Join(append(append([]string{root}, sub...), name)...) + if _, err := os.Stat(candidate); err == nil { + return candidate + } + } } - dir = parent } return "" } +// configuredValidatorRegistries returns the extra registries from the flag, env +// var, or config file, normalized to one entry per registry. +// +// viper.GetStringSlice splits a raw env string on whitespace, so the documented +// comma form "a:443,b:443" arrives as a single element. Left as-is it reaches +// net.SplitHostPort as "a:443,b:443", which errors with "too many colons" and is +// then passed through verbatim as a host, producing https://a:443,b:443/v2/. +func configuredValidatorRegistries() []string { + var out []string + for _, raw := range viper.GetStringSlice("cluster_validator_registries") { + for _, part := range strings.Split(raw, ",") { + if part = strings.TrimSpace(part); part != "" { + out = append(out, part) + } + } + } + return out +} + // computePlaneIsTargeted reports whether the compute-plane validator should run: // --compute-plane, --all, or --pre in ModeSingle. --pre in ModeSplit does not // target it because separate clusters have no implicit compute-plane role. @@ -396,14 +439,18 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{}, sink) } + // SIS reachability is a compute-plane concern, and it is skipped pre-install + // because SIS is not up yet. The previous `!checkPre` form was also true + // whenever --control-plane was passed, so a control-plane run fired an HTTP + // request at SIS that the operator never asked for. icmsURL := "" - if checkAll || checkComputePlane || !checkPre { + if computePlaneIsTargeted(mode) && !checkPre { icmsURL = resolveICMSURL(selfHostedICMSURL) } skipInotify := checkSkipInotifyCheck || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") != "" var inotifyProber selfhosted.NodeInotifyProber - if !skipInotify { + if computePlaneIsTargeted(mode) && !skipInotify { inotifyProber = newInotifyProberForSelfHosted() } @@ -413,8 +460,12 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // Either way, leave clusterValidator nil so the validator row is // omitted from the check stream; the caller already emitted a // one-line stderr notice explaining which case applies. + // Gate on the role predicate as well as the image, mirroring + // cpClusterValidator below. Without this, --control-plane in ModeSplit + // still creates a ServiceAccount, cluster-wide ClusterRole/CRB, pull secret + // and validator Job in the compute cluster. var clusterValidator selfhosted.ClusterValidator - if clusterValidatorImage != "" { + if computePlaneIsTargeted(mode) && clusterValidatorImage != "" { clusterValidator = newClusterValidatorForSelfHosted() } @@ -422,7 +473,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // Additional registries to probe in the control-plane validator ConfigMap. // Priority: flag > env > config file. - registries := viper.GetStringSlice("cluster_validator_registries") + registries := configuredValidatorRegistries() // The cluster-validator image is the same for both roles; VALIDATOR_ROLE // in the Job env selects which check set runs inside the binary. @@ -469,28 +520,48 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin _ = eg.Wait() return append(cpResults, gpuResults...) - default: // ModeSingle — no context flags; union both role check sets sequentially. - cpRC := selfhosted.RoleConfig{ - SISURL: icmsURL, - ClusterValidator: cpClusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorRegistries: registries, - StaleNamespaceProber: staleNSProber, + default: // ModeSingle — one cluster; run only the roles the flags target. + var results []selfhosted.CheckResult + + // The stale-namespace probe goes to exactly one role. Both roles share + // the cluster here, so handing it to both emits two check_completed + // events with the same ID and loads the kubeconfig twice, which means a + // second exec-credential-plugin prompt. + staleForControlPlane := staleNSProber + staleForComputePlane := staleNSProber + if controlPlaneIsTargeted(mode) { + staleForComputePlane = nil + } else { + staleForControlPlane = nil } - gpuRC := selfhosted.RoleConfig{ - SISURL: icmsURL, - InotifyProber: inotifyProber, - ClusterValidator: clusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - StaleNamespaceProber: staleNSProber, + + if controlPlaneIsTargeted(mode) { + cpRC := selfhosted.RoleConfig{ + SISURL: icmsURL, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleForControlPlane, + } + results = append(results, + selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleControlPlane, cpRC, sink)...) } - cpResults := selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleControlPlane, cpRC, sink) - gpuResults := selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleComputePlane, gpuRC, sink) - return append(cpResults, gpuResults...) + if computePlaneIsTargeted(mode) { + gpuRC := selfhosted.RoleConfig{ + SISURL: icmsURL, + InotifyProber: inotifyProber, + ClusterValidator: clusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + StaleNamespaceProber: staleForComputePlane, + } + results = append(results, + selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleComputePlane, gpuRC, sink)...) + } + return results } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 53bc744c3a..38fed5637d 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -494,6 +494,10 @@ func TestCheck_ValidatorSkipNoteAppearsOnComputePlane(t *testing.T) { checkComputePlane = false checkSkipClusterValidation = false }) + // --skip-cluster-validation does not gate the inotify prober, which lists + // every node and creates a privileged pod on each. Without this the test + // writes to whatever cluster is in the developer's current kubecontext. + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") var stderr bytes.Buffer rootCmd.SetErr(&stderr) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 66a409d140..f44f4fe361 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -138,14 +138,20 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image if err := ensureClusterValidatorRBAC(vctx, client); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } - // Remove the ClusterRole and ClusterRoleBinding after the Job finishes - // (when cleanup is enabled) to minimize the window where the elevated SA - // exists. Uses a fresh context so cleanup runs even when vctx is expired. - // When --no-cleanup is set, the operator expects to inspect the Job; we - // leave the RBAC in place so they can re-exec the pod without re-bootstrap. - if !noCleanup { - defer sweepClusterValidatorRBAC(context.Background(), client) - } + // Remove the ClusterRole and ClusterRoleBinding once the Job has reached a + // terminal state, to minimize the window where the elevated SA exists. + // + // Gated on jobTerminated rather than deferred unconditionally: on the + // timeout and ImagePullBackOff paths the pod is still running, and pulling + // its RBAC out from under it fills the surviving transcript with "forbidden" + // errors that mask the real cause. When --no-cleanup is set the operator + // expects to inspect the Job, so the RBAC stays either way. + jobTerminated := false + defer func() { + if !noCleanup && jobTerminated { + sweepClusterValidatorRBAC(context.Background(), client) + } + }() // For the control-plane role, create a ConfigMap with reachability // endpoints and enforcement config so the validator runs its configurable @@ -162,7 +168,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } } - sweepPriorClusterValidatorJobs(vctx, client) + sweepPriorClusterValidatorJobs(vctx, client, role) jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) if _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( @@ -172,6 +178,9 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } final, waitErr := waitForClusterValidatorJob(vctx, client, jobName) + // Only a clean wait means the pod is done; a timeout or a pull failure + // leaves it running, so the deferred RBAC sweep must not fire. + jobTerminated = waitErr == nil // Fetch logs under a fresh ctx from the parent: vctx is expired on the // timeout path, and dropping the partial transcript hurts most there. @@ -287,6 +296,27 @@ func clusterValidatorLabels() map[string]string { } } +// clusterValidatorRoleLabels adds the role so the prior-run sweep only matches +// Jobs from the same role. Without it, a ModeSingle run deletes the other +// role's Job mid-command, including under --no-cleanup, which makes the +// printed `kubectl logs job/...` hint 404. +func clusterValidatorRoleLabels(role string) map[string]string { + l := clusterValidatorLabels() + l[clusterValidatorRoleLabel] = role + return l +} + +// validatorConfigNameForRole returns the network-check ConfigMap name the Job +// should read. Only the control-plane role has one; the compute-plane role gets +// a sentinel that resolves to nothing so it cannot inherit the control-plane's +// reachability and enforcement config. +func validatorConfigNameForRole(role string) string { + if role == clusterValidatorControlPlaneRole { + return clusterValidatorConfigName + } + return clusterValidatorNoConfigName +} + // sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding // created by ensureClusterValidatorRBAC. Called after Job completion (when // --no-cleanup is not set) to close the window where the elevated ClusterRole @@ -299,8 +329,11 @@ func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface) } // Errors are swallowed: a stale Job is preferable to blocking the new run. -func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Interface) { - selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli", clusterValidatorAppLabel) +func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Interface, role string) { + // Scope to this role: in ModeSingle both roles run against the same + // cluster, so an unscoped selector deletes the other role's Job mid-command. + selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,%s=%s", + clusterValidatorAppLabel, clusterValidatorRoleLabel, role) propagation := metav1.DeletePropagationBackground _ = client.BatchV1().Jobs(clusterValidatorNamespace).DeleteCollection( ctx, @@ -336,6 +369,14 @@ const clusterValidatorControlPlaneRole = "control-plane" // defaultConfigMapName in nvca/cmd/cluster-validator/main.go. const clusterValidatorConfigName = "cluster-validator-network-checks" +// clusterValidatorNoConfigName is a name no ConfigMap uses. VALIDATOR_CONFIG_NAME +// must be non-empty to suppress the validator's own default-name fallback, so +// "no config" has to be spelled as a name that resolves to nothing. +const clusterValidatorNoConfigName = "cluster-validator-no-config" + +// clusterValidatorRoleLabel scopes Job selectors to a single validator role. +const clusterValidatorRoleLabel = "nvcf.nvidia.com/validator-role" + // controlPlaneValidatorConfigTemplate is the baseline network-check ConfigMap for // control-plane preflight: nvcr.io reachability (critical) and NetworkPolicy // enforcement (non-critical). Extra registries are appended as non-critical probes. @@ -452,7 +493,13 @@ func buildClusterValidatorJob(name, image, pullSecret, role string, noCleanup bo ImagePullPolicy: corev1.PullIfNotPresent, Env: []corev1.EnvVar{ {Name: "VALIDATOR_CONFIG_NAMESPACE", Value: clusterValidatorNamespace}, - {Name: "VALIDATOR_CONFIG_NAME", Value: ""}, + // Name the ConfigMap explicitly for the control-plane role and + // leave it unresolvable for the compute-plane role. An empty + // value is NOT "no config": the validator falls back to its own + // default name, so both roles would resolve the same ConfigMap + // and the compute-plane preflight would silently run the + // control-plane's active NetworkPolicy enforcement. + {Name: "VALIDATOR_CONFIG_NAME", Value: validatorConfigNameForRole(role)}, {Name: "VALIDATOR_PREFLIGHT", Value: "true"}, {Name: "VALIDATOR_ROLE", Value: role}, }, @@ -465,12 +512,12 @@ func buildClusterValidatorJob(name, image, pullSecret, role string, noCleanup bo ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: clusterValidatorNamespace, - Labels: clusterValidatorLabels(), + Labels: clusterValidatorRoleLabels(role), }, Spec: batchv1.JobSpec{ BackoffLimit: &backoff, Template: corev1.PodTemplateSpec{ - ObjectMeta: metav1.ObjectMeta{Labels: clusterValidatorLabels()}, + ObjectMeta: metav1.ObjectMeta{Labels: clusterValidatorRoleLabels(role)}, Spec: podSpec, }, }, diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 9e05456840..88b5970441 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -20,12 +20,13 @@ package selfhosted import ( "context" "encoding/json" + "fmt" + "io" "net/http" - "net/http/httptest" - "net/url" "os" "path/filepath" "strings" + "sync" "testing" "time" @@ -341,33 +342,69 @@ func TestIsNGCRegistry(t *testing.T) { // -- exchangeBearerToken realm host authorization -- +// recordingTransport records every request it sees and reports whether any +// carried an Authorization header, so a test can assert that no credential +// escaped rather than only that an error was returned. +type recordingTransport struct { + mu sync.Mutex + requests []*http.Request + withAuth []string + inner http.RoundTripper +} + +func (rt *recordingTransport) RoundTrip(r *http.Request) (*http.Response, error) { + rt.mu.Lock() + rt.requests = append(rt.requests, r) + if r.Header.Get("Authorization") != "" { + rt.withAuth = append(rt.withAuth, r.URL.String()) + } + rt.mu.Unlock() + if rt.inner == nil { + return nil, fmt.Errorf("no inner transport") + } + return rt.inner.RoundTrip(r) +} + func TestExchangeBearerToken_RejectsAttackerRealm(t *testing.T) { - // A malicious registry returns a realm on an attacker-controlled host. - // The function must reject this without forwarding credentials. - spy := &spyTransport{t: t} - - // Set up a fake registry server that returns 401 with an attacker realm. - srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Www-Authenticate", `Bearer realm="https://attacker.example.com/token",service="harbor.company.internal"`) - w.WriteHeader(http.StatusUnauthorized) - })) - defer srv.Close() - - client := srv.Client() - // Replace the transport with the spy AFTER the TLS is set up; the spy - // wraps the original to preserve TLS but fails on any attacker call. - origTransport := client.Transport - client.Transport = roundTripperFunc(func(r *http.Request) (*http.Response, error) { - if r.Host == "attacker.example.com" || strings.Contains(r.URL.Host, "attacker") { - t.Fatalf("credentials must not be forwarded to attacker host: %s", r.URL) - } - return origTransport.RoundTrip(r) - }) - _ = spy + // A malicious registry returns a realm on an attacker-controlled host. The + // realm check must reject it, and crucially must do so before any request + // carrying the operator's credentials leaves the process. + // + // Credentials have to be configured for the assertion to mean anything: if + // none were present, no request could carry an Authorization header whether + // the control works or not. + t.Setenv("NGC_API_KEY", "test-key") + + rec := &recordingTransport{inner: http.DefaultTransport} + client := &http.Client{Transport: rec} + + const wwwAuth = `Bearer realm="https://attacker.example.com/token",service="harbor.company.internal"` + _, err := exchangeBearerToken(context.Background(), client, + "harbor.company.internal", "myrepo/image", wwwAuth) - _, err := exchangeBearerToken(context.Background(), client, "harbor.company.internal", "myrepo/image", `Bearer realm="https://attacker.example.com/token",service="harbor.company.internal"`) require.Error(t, err) assert.Contains(t, err.Error(), "not authorized for registry") + assert.Empty(t, rec.withAuth, + "no request carrying an Authorization header may be issued once the realm is rejected") + for _, r := range rec.requests { + assert.NotContains(t, r.URL.Host, "attacker", + "no request at all may reach the attacker host") + } +} + +// An empty realm host must fail closed. "https://:443/token" has a non-empty +// u.Host (":443") so it clears the relative-realm guard, but Hostname() is "", +// and an empty trustedRealmDelegations lookup would compare equal to it. +func TestExchangeBearerToken_RejectsEmptyRealmHost(t *testing.T) { + t.Setenv("NGC_API_KEY", "test-key") + rec := &recordingTransport{inner: http.DefaultTransport} + client := &http.Client{Transport: rec} + + _, err := exchangeBearerToken(context.Background(), client, + "harbor.company.internal", "myrepo/image", `Bearer realm="https://:443/token"`) + + require.Error(t, err) + assert.Empty(t, rec.withAuth, "an empty realm host must not receive credentials") } // -- exchangeNGCBearerToken -- @@ -387,18 +424,32 @@ func (f roundTripperFunc) RoundTrip(r *http.Request) (*http.Response, error) { r func TestExchangeBearerToken_DockerHubDelegatedRealm(t *testing.T) { // Docker Hub uses registry-1.docker.io as the pull host and auth.docker.io - // for token exchange. The realm host check must allow this documented - // delegation rather than rejecting it as an unauthorized host. - wwwAuth := `Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:library/ubuntu:pull"` - realm, _, _ := parseWWWAuthenticate(wwwAuth) - u, err := url.Parse(realm) - require.NoError(t, err) - - realmHost := strings.ToLower(u.Hostname()) - regHost := "registry-1.docker.io" - delegated := trustedRealmDelegations[regHost] - assert.Equal(t, "auth.docker.io", delegated, "Docker Hub auth host must be in trusted delegation map") - assert.Equal(t, delegated, realmHost, "auth.docker.io realm must be authorized for registry-1.docker.io") + // for token exchange. The realm check must authorize that delegation, so + // drive exchangeBearerToken and assert the request actually reached the + // auth host rather than comparing the delegation map against itself. + t.Setenv("NGC_API_KEY", "test-key") + + rec := &recordingTransport{inner: roundTripperFunc(func(r *http.Request) (*http.Response, error) { + if r.URL.Host != "auth.docker.io" { + return nil, fmt.Errorf("unexpected host %s", r.URL.Host) + } + return &http.Response{ + StatusCode: http.StatusOK, + Body: io.NopCloser(strings.NewReader(`{"token":"dockerhub-token"}`)), + Header: make(http.Header), + }, nil + })} + client := &http.Client{Transport: rec} + + const wwwAuth = `Bearer realm="https://auth.docker.io/token",service="registry.docker.io",` + + `scope="repository:library/ubuntu:pull"` + tok, err := exchangeBearerToken(context.Background(), client, + "registry-1.docker.io", "library/ubuntu", wwwAuth) + + require.NoError(t, err, "the documented Docker Hub delegation must be authorized") + assert.Equal(t, "dockerhub-token", tok) + require.NotEmpty(t, rec.requests, "the token exchange must actually be issued") + assert.Equal(t, "auth.docker.io", rec.requests[0].URL.Host) } func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { From 7aba33bb9556a05379a6963851a16a6bad47b62f Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 13:15:27 +0530 Subject: [PATCH 016/127] fix(nvcf-cli): derive stale-namespace probe targets from the stack helmfile --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 22 +++++ .../nvcf-cli/internal/selfhosted/preflight.go | 11 ++- .../internal/selfhosted/stack_namespaces.go | 85 ++++++++++++++++ .../selfhosted/stack_namespaces_test.go | 97 +++++++++++++++++++ 4 files changed, 213 insertions(+), 2 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 7e2421d052..b7eda1a315 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -342,6 +342,24 @@ func resolveStackValuesFile() string { return "" } +// localStackDir returns src when it points at a readable local directory. +// Remote sources (oci://, git@, https://...git) are not fetched here: the +// stale-namespace check falls back to its static list rather than making +// preflight depend on a network round trip. +func localStackDir(src string) string { + if src == "" { + return "" + } + src = strings.TrimPrefix(src, "file://") + if strings.Contains(src, "://") || strings.HasPrefix(src, "git@") { + return "" + } + if fi, err := os.Stat(src); err == nil && fi.IsDir() { + return src + } + return "" +} + // configuredValidatorRegistries returns the extra registries from the flag, env // var, or config file, normalized to one entry per registry. // @@ -499,6 +517,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, ClusterValidatorRegistries: registries, StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedControlPlaneStack), } cpResults = selfhosted.RunPreflightForRole(egCtx, cfg, selfhosted.RoleControlPlane, rc, sink) return nil @@ -513,6 +532,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedComputePlaneStack), } gpuResults = selfhosted.RunPreflightForRole(egCtx, cfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -544,6 +564,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, ClusterValidatorRegistries: registries, StaleNamespaceProber: staleForControlPlane, + StackDir: localStackDir(selfHostedControlPlaneStack), } results = append(results, selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleControlPlane, cpRC, sink)...) @@ -557,6 +578,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, StaleNamespaceProber: staleForComputePlane, + StackDir: localStackDir(selfHostedComputePlaneStack), } results = append(results, selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleComputePlane, gpuRC, sink)...) diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index fd6138a628..39e1d50d73 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -313,6 +313,11 @@ type RoleConfig struct { // the check; production wires NewStaleNamespaceProber; tests pass fakes. StaleNamespaceProber StaleNamespaceProber + // StackDir is the resolved stack checkout. When set, the namespaces to + // probe are read from its helmfile.d rather than the static fallback list, + // so the check follows the stack instead of drifting from it. + StackDir string + // ClusterValidatorRegistries is an optional list of "host:port" registry // endpoints added to the control-plane validator ConfigMap alongside the // built-in nvcr.io probe. Ignored for the compute-plane validator. @@ -405,7 +410,8 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { // before any other cluster work. if rc.StaleNamespaceProber != nil { cat.checks = append(cat.checks, - staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, nvcfControlPlaneNamespaces)) + staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, + resolveStackNamespaces(rc.StackDir, nvcfControlPlaneNamespaces))) } // Containerized cluster-validator probe for control-plane checks // (Gateway API CRDs, Envoy Gateway, StorageClass, external LB, @@ -440,7 +446,8 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { // partial teardown surface before any other cluster work. if rc.StaleNamespaceProber != nil { cat.checks = append([]binaryCheckSpec{ - staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, nvcfComputePlaneNamespaces), + staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, + resolveStackNamespaces(rc.StackDir, nvcfComputePlaneNamespaces)), }, cat.checks...) } if rc.SISURL != "" { diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go new file mode 100644 index 0000000000..d6f6f68859 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go @@ -0,0 +1,85 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "os" + "path/filepath" + "regexp" + "sort" + "strings" +) + +// helmfileNamespaceRE matches a literal `namespace: ` declaration in a +// helmfile release entry. Values containing a Go template action are excluded +// by the character class: those are operator-configurable (the gateway +// controller namespace is one), so their rendered value is not knowable here. +var helmfileNamespaceRE = regexp.MustCompile(`(?m)^\s*namespace:\s*([A-Za-z0-9][A-Za-z0-9.-]*)\s*$`) + +// stackReleaseNamespaces returns the namespaces that helmfile releases deploy +// into for the stack rooted at stackDir, or nil when the stack is not readable. +// +// This is the authoritative answer to "which namespaces does the stack own", +// which matters because the stale-namespace check's remediation is to delete +// them: a hardcoded list that drifts either misses a real leftover or, worse, +// names a namespace the stack does not own. +// +// Callers fall back to the static list when this returns nil, which is the +// normal case for a released binary with no stack checkout alongside it. +func stackReleaseNamespaces(stackDir string) []string { + if stackDir == "" { + return nil + } + entries, err := filepath.Glob(filepath.Join(stackDir, "helmfile.d", "*.yaml.gotmpl")) + if err != nil || len(entries) == 0 { + return nil + } + + seen := make(map[string]bool) + for _, path := range entries { + body, err := os.ReadFile(path) + if err != nil { + continue + } + for _, m := range helmfileNamespaceRE.FindAllStringSubmatch(string(body), -1) { + if ns := strings.TrimSpace(m[1]); ns != "" { + seen[ns] = true + } + } + } + if len(seen) == 0 { + return nil + } + + out := make([]string, 0, len(seen)) + for ns := range seen { + out = append(out, ns) + } + sort.Strings(out) + return out +} + +// resolveStackNamespaces returns the namespaces to probe for the given plane. +// It prefers what the stack actually declares and falls back to the static +// list when no stack is available. +func resolveStackNamespaces(stackDir string, fallback []string) []string { + if derived := stackReleaseNamespaces(stackDir); len(derived) > 0 { + return derived + } + return fallback +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go new file mode 100644 index 0000000000..0bd4ba19d8 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go @@ -0,0 +1,97 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// writeStack lays out a minimal helmfile.d matching the real stack's shape. +func writeStack(t *testing.T, files map[string]string) string { + t.Helper() + dir := t.TempDir() + hd := filepath.Join(dir, "helmfile.d") + require.NoError(t, os.MkdirAll(hd, 0o755)) + for name, body := range files { + require.NoError(t, os.WriteFile(filepath.Join(hd, name), []byte(body), 0o600)) + } + return dir +} + +func TestStackReleaseNamespaces_ReadsLiteralNamespaces(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01-dependencies.yaml.gotmpl": ` +releases: + - name: nats + namespace: nats-system + - name: cert-manager + namespace: cert-manager +`, + "02-core.yaml.gotmpl": ` +releases: + - name: api + namespace: nvcf + - name: ui + namespace: nvcf-ui +`, + }) + + got := stackReleaseNamespaces(dir) + assert.Equal(t, []string{"cert-manager", "nats-system", "nvcf", "nvcf-ui"}, got, + "namespaces must come from the stack, de-duplicated and sorted") +} + +// The gateway controller namespace is templated from a values key, so its +// rendered value is not knowable from the source. Including the raw template +// text would produce a garbage namespace to probe and, on a hit, to delete. +func TestStackReleaseNamespaces_SkipsTemplatedNamespaces(t *testing.T) { + dir := writeStack(t, map[string]string{ + "02-core.yaml.gotmpl": ` +releases: + - name: api + namespace: nvcf + - name: ingress + namespace: {{ .Values.ingress.gatewayApi.controllerNamespace }} +`, + }) + + got := stackReleaseNamespaces(dir) + assert.Equal(t, []string{"nvcf"}, got, "a templated namespace must not be probed") +} + +func TestResolveStackNamespaces_FallsBackWhenNoStack(t *testing.T) { + fallback := []string{"nvcf", "sis"} + + assert.Equal(t, fallback, resolveStackNamespaces("", fallback), + "no stack path must use the static list") + assert.Equal(t, fallback, resolveStackNamespaces(t.TempDir(), fallback), + "a directory with no helmfile.d must use the static list") +} + +func TestResolveStackNamespaces_PrefersStack(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml.gotmpl": "releases:\n - name: a\n namespace: from-stack\n", + }) + assert.Equal(t, []string{"from-stack"}, resolveStackNamespaces(dir, []string{"static"}), + "a readable stack must win over the static list") +} From ce9f770b856935f40b7c748f93b27df4ea4a467c Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 13:39:58 +0530 Subject: [PATCH 017/127] fix(nvcf-cli): make credential and RBAC outcomes consistent across probe paths --- .../internal/selfhosted/clustervalidator.go | 25 ++++----- .../internal/selfhosted/registry_cred.go | 34 +++++++----- .../internal/selfhosted/registry_cred_test.go | 53 ++++++++++++++++++- .../internal/selfhosted/stack_namespaces.go | 18 +++++-- .../selfhosted/stack_namespaces_test.go | 22 ++++++++ .../internal/selfhosted/stale_namespace.go | 24 ++++++--- 6 files changed, 137 insertions(+), 39 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index f44f4fe361..b076239470 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -138,17 +138,16 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image if err := ensureClusterValidatorRBAC(vctx, client); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } - // Remove the ClusterRole and ClusterRoleBinding once the Job has reached a - // terminal state, to minimize the window where the elevated SA exists. - // - // Gated on jobTerminated rather than deferred unconditionally: on the - // timeout and ImagePullBackOff paths the pod is still running, and pulling - // its RBAC out from under it fills the surviving transcript with "forbidden" - // errors that mask the real cause. When --no-cleanup is set the operator + // Remove the ClusterRole and ClusterRoleBinding to minimize the window in + // which the elevated SA exists. When --no-cleanup is set the operator // expects to inspect the Job, so the RBAC stays either way. - jobTerminated := false + // + // podMayBeRunning is true only between a successful Job create and a clean + // wait. Everywhere else nothing is using the RBAC, so reclaim it rather + // than leaking a cluster-wide ClusterRole. + podMayBeRunning := false defer func() { - if !noCleanup && jobTerminated { + if !noCleanup && !podMayBeRunning { sweepClusterValidatorRBAC(context.Background(), client) } }() @@ -176,11 +175,13 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image ); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("creating validator Job: %w", err)} } + podMayBeRunning = true final, waitErr := waitForClusterValidatorJob(vctx, client, jobName) - // Only a clean wait means the pod is done; a timeout or a pull failure - // leaves it running, so the deferred RBAC sweep must not fire. - jobTerminated = waitErr == nil + // A clean wait means the pod reached a terminal state, so the RBAC can go. + // A timeout or pull failure leaves it running: pulling the RBAC then fills + // the surviving transcript with "forbidden" and masks the real cause. + podMayBeRunning = waitErr != nil // Fetch logs under a fresh ctx from the parent: vctx is expired on the // timeout path, and dropping the partial transcript hurts most there. diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 9312b18807..140fb9fdf9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -33,8 +33,9 @@ import ( const ( registryProbeTimeout = 10 * time.Second - // certManagerRegistry is the well-known exception from the helmfile: - // cert-manager uses quay.io/jetstack images, not global.image.registry. + // certManagerRegistry is cert-manager's upstream registry. It is only + // contacted when the stack is not rewriting cert-manager images to + // global.image.registry, which global.yaml.gotmpl does for all five of them. certManagerRegistry = "quay.io" ) @@ -52,9 +53,15 @@ func NewRegistryCredentialChecker() RegistryCredentialChecker { } // probeRegistryCredential authenticates to registry using the OCI Bearer token -// flow. repoHint is the OAuth scope repository path. ECR registries return a -// clear diagnostic instead of attempting the Bearer flow. When critical is true, -// anonymous token success is rejected: configured credentials must be present. +// flow. repoHint is the OAuth scope repository path. +// +// When critical is true, anonymous success is not sufficient: the install pulls +// private repositories, so a local credential must also be present. +// +// Returns errRegistryProbeSkipped for registries this flow cannot speak to +// (ECR's SigV4, a Basic challenge, a 200 that does not look like a registry) +// and errRegistryCredentialsUnverified when no local credential is readable. +// Both are advisory: the caller must not fail the run on either. func probeRegistryCredential(ctx context.Context, registry, repoHint string, critical bool) error { // ECR uses AWS SigV4, not the OCI Bearer flow, so this probe cannot speak // to it. Skip rather than fail: returning an error here makes an @@ -138,10 +145,11 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri // not masquerade as credentials for quay.io, GHCR, or Harbor — those // registries reject NGC tokens, which would wrongly produce "credentials // rejected" when the real diagnosis is "no credentials configured." - _, _, hasCreds := credentialsForRegistry(registry) - if !hasCreds { - return fmt.Errorf("no credentials configured for %s "+ - "(add to ~/.docker/config.json or set NGC_API_KEY for NGC registries)", registry) + if _, _, hasCreds := credentialsForRegistry(registry); !hasCreds { + // Same situation as the critical path below, so the same verdict: + // no readable local credential is not proof that none exists, since + // a credential helper is invisible here. + return errRegistryCredentialsUnverified{registry: registry} } return fmt.Errorf("credentials rejected by %s: %w", registry, err) } @@ -251,10 +259,12 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re // Source 2: read global.image.registry from the environment values file. // This catches cases where the operator points at a custom NGC org or a // staging environment that differs from the validator image's registry. + stackRegistry := "" if stackValuesFile != "" { - if reg := readGlobalImageRegistry(stackValuesFile); reg != "" { + stackRegistry = readGlobalImageRegistry(stackValuesFile) + if stackRegistry != "" { // If it's an NGC registry, mark critical; customer mirrors are non-critical. - add(reg, "", isNGCRegistry(reg)) + add(stackRegistry, "", isNGCRegistry(stackRegistry)) } } @@ -263,7 +273,7 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re // image to global.image.registry, so on a configured stack quay.io is never // contacted and probing it is a pointless round trip. It is only reachable // when no stack values file resolved. - if stackValuesFile == "" || readGlobalImageRegistry(stackValuesFile) == "" { + if stackRegistry == "" { add(certManagerRegistry, "", false) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 411bafb83c..bdafc6d6a3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -151,8 +151,9 @@ func TestEnumerateRegistries_RepoHintFromImageRef(t *testing.T) { t.Fatal("nvcr.io not found in entries") } -func TestEnumerateRegistries_AlwaysIncludesCertManager(t *testing.T) { - // cert-manager always uses quay.io — it must appear even when not in extras. +func TestEnumerateRegistries_IncludesCertManagerWhenStackIsNotMirroring(t *testing.T) { + // With no stack values file there is no global.image.registry to mirror + // cert-manager to, so its upstream registry is genuinely contacted. entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", nil) found := false for _, e := range entries { @@ -286,3 +287,51 @@ func errorf(msg string) error { return fmt.Errorf("%s", msg) } func writeFile(path string, data []byte) error { return os.WriteFile(path, data, 0o644) } + +// The stack rewrites every cert-manager image to global.image.registry, so on +// a configured stack quay.io is never contacted at pull time and probing it is +// a pointless 10-second round trip on every invocation. +func TestEnumerateRegistries_SkipsCertManagerWhenStackMirrors(t *testing.T) { + dir := t.TempDir() + valuesPath := dir + "/base.yaml" + require.NoError(t, writeFile(valuesPath, []byte(` +global: + image: + registry: mirror.company.internal +`))) + + entries := EnumerateRegistries("nvcr.io/some/image:1.0", valuesPath, nil) + for _, e := range entries { + assert.NotEqual(t, certManagerRegistry, e.Registry, + "a stack mirroring images must not trigger a quay.io probe") + } +} + +// A bare IPv6 literal must stay bracketed or the probe URL is malformed. +func TestEnumerateRegistries_BracketsIPv6Extras(t *testing.T) { + entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", []string{"[::1]:5000"}) + + found := false + for _, e := range entries { + if strings.Contains(e.Registry, "::1") { + found = true + assert.Equal(t, "[::1]:5000", e.Registry, + "an IPv6 literal must keep its brackets so the probe URL parses") + } + } + assert.True(t, found, "the IPv6 extra must be enumerated") +} + +// The validator image's registry follows the same Critical policy as every +// other source. Forcing it true makes an air-gapped install fail preflight for +// a registry that is never contacted (ImagePullPolicy is IfNotPresent). +func TestEnumerateRegistries_NonNGCImageRegistryIsNotCritical(t *testing.T) { + entries := EnumerateRegistries("mirror.company.internal/nvcf/cluster-validator:1.0", "", nil) + for _, e := range entries { + if e.Registry == "mirror.company.internal" { + assert.False(t, e.Critical, "a non-NGC mirror must not be forced critical") + return + } + } + t.Fatal("mirror.company.internal not enumerated") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go index d6f6f68859..054a7aa7da 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go @@ -25,11 +25,19 @@ import ( "strings" ) -// helmfileNamespaceRE matches a literal `namespace: ` declaration in a -// helmfile release entry. Values containing a Go template action are excluded -// by the character class: those are operator-configurable (the gateway -// controller namespace is one), so their rendered value is not knowable here. -var helmfileNamespaceRE = regexp.MustCompile(`(?m)^\s*namespace:\s*([A-Za-z0-9][A-Za-z0-9.-]*)\s*$`) +// helmfileNamespaceRE matches a literal `namespace: ` declaration on a +// helmfile release entry. +// +// Two deliberate restrictions, because a false positive here becomes a +// "delete this namespace" remediation: +// +// - Indentation is capped at 4 spaces, the release-entry level. Keys nested +// inside a release's `values:` block sit at 6 or more and must not be read +// as release namespaces. +// - The value must be a bare DNS label. A value containing a Go template +// action is operator-configurable (the gateway controller namespace is +// one), so its rendered value is not knowable from the source. +var helmfileNamespaceRE = regexp.MustCompile(`(?m)^ {0,4}namespace:\s*([a-z0-9][a-z0-9.-]*)\s*$`) // stackReleaseNamespaces returns the namespaces that helmfile releases deploy // into for the stack rooted at stackDir, or nil when the stack is not readable. diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go index 0bd4ba19d8..febf3ff2c3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go @@ -95,3 +95,25 @@ func TestResolveStackNamespaces_PrefersStack(t *testing.T) { assert.Equal(t, []string{"from-stack"}, resolveStackNamespaces(dir, []string{"static"}), "a readable stack must win over the static list") } + +// A `namespace:` key nested inside a release's values block is chart +// configuration, not a namespace the stack owns. Reading it as one would add a +// probe target whose remediation is deletion. +func TestStackReleaseNamespaces_SkipsNestedValuesKeys(t *testing.T) { + dir := writeStack(t, map[string]string{ + "02-core.yaml.gotmpl": ` +releases: + - name: api + namespace: nvcf + values: + - serviceMonitor: + namespace: monitoring + - someChart: + namespace: kube-system +`, + }) + + got := stackReleaseNamespaces(dir) + assert.Equal(t, []string{"nvcf"}, got, + "only release-level namespaces may be probed; nested values keys must be ignored") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 75e4e9d80a..7dde653238 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -95,10 +95,18 @@ func NewStaleNamespaceProber() StaleNamespaceProber { // // Helm 3 marks each release secret with the label owner=helm; absence of any // such secret means no live Helm release occupies the namespace. -// helmReleaseListPageSize bounds each page of the owner=helm scan. A namespace -// holds at most a handful of release objects, so this is only a ceiling on how -// much is pulled per round trip while paging past non-matching objects. -const helmReleaseListPageSize = 100 +const ( + // helmReleaseListPageSize bounds each page of the owner=helm scan. A + // namespace holds at most a handful of release objects, so this is only a + // ceiling on how much is pulled per round trip while paging past + // non-matching objects. + helmReleaseListPageSize = 100 + + // helmReleaseListMaxPages stops the scan even if the server keeps handing + // back a Continue token. At the page size above this covers 100k objects in + // one namespace, far past anything real, and guarantees termination. + helmReleaseListMaxPages = 1000 +) // helmReleaseExists reports whether any owner=helm object exists, paging until // it finds one or the server reports no more results. @@ -109,11 +117,10 @@ const helmReleaseListPageSize = 100 // ServiceAccount tokens and TLS secrets that sort before sh.helm.release.v1.*, // so the first page is routinely empty on a perfectly healthy install. func helmReleaseExists( - ctx context.Context, namespace string, list func(metav1.ListOptions) (count int, cont string, err error), ) (bool, error) { opts := metav1.ListOptions{LabelSelector: "owner=helm", Limit: helmReleaseListPageSize} - for { + for page := 0; page < helmReleaseListMaxPages; page++ { count, cont, err := list(opts) if err != nil { return false, err @@ -126,6 +133,7 @@ func helmReleaseExists( } opts.Continue = cont } + return false, fmt.Errorf("gave up after %d pages scanning for Helm releases", helmReleaseListMaxPages) } func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { @@ -147,7 +155,7 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name // Check Secrets first (the default Helm storage driver), then ConfigMaps // for HELM_DRIVER=configmap clusters. Both label release objects // owner=helm. - found, err := helmReleaseExists(ctx, name, + found, err := helmReleaseExists( func(opts metav1.ListOptions) (int, string, error) { l, lerr := client.CoreV1().Secrets(name).List(ctx, opts) if lerr != nil { @@ -161,7 +169,7 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name if found { continue // healthy: active Helm release found via the secret driver } - found, err = helmReleaseExists(ctx, name, + found, err = helmReleaseExists( func(opts metav1.ListOptions) (int, string, error) { l, lerr := client.CoreV1().ConfigMaps(name).List(ctx, opts) if lerr != nil { From 9d6fd315e7436b9066a6b4821d101ff1357c9bc3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 14:07:56 +0530 Subject: [PATCH 018/127] fix(nvcf-cli): scope validator RBAC per role and quote operator-supplied registry hosts --- src/clis/nvcf-cli/cmd/self_hosted.go | 4 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 6 +- src/clis/nvcf-cli/cmd/task.go | 51 ++++++++--------- src/clis/nvcf-cli/cmd/task_test.go | 18 +++--- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 2 + .../internal/selfhosted/clustervalidator.go | 56 +++++++++++++------ .../selfhosted/clustervalidator_test.go | 35 +++++++++++- 7 files changed, 113 insertions(+), 59 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted.go b/src/clis/nvcf-cli/cmd/self_hosted.go index 19c82c884f..f6fcdc1b38 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted.go +++ b/src/clis/nvcf-cli/cmd/self_hosted.go @@ -41,8 +41,8 @@ and 'install --compute-plane' explicitly.`, // Persistent flags shared by all self-hosted subcommands. var ( - selfHostedControlPlaneStack string - selfHostedComputePlaneStack string + selfHostedControlPlaneStack string + selfHostedComputePlaneStack string selfHostedEnv string selfHostedNoApply bool selfHostedNonInter bool diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index b7eda1a315..ce9e436ca7 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -495,8 +495,12 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // The cluster-validator image is the same for both roles; VALIDATOR_ROLE // in the Job env selects which check set runs inside the binary. + // Gate on the image, not on the compute-plane validator being constructed: + // in ModeSplit with --control-plane the compute role is not targeted, so + // clusterValidator is nil and keying off it would drop the control-plane + // validator check from the run entirely. var cpClusterValidator selfhosted.ClusterValidator - if controlPlaneIsTargeted(mode) && clusterValidator != nil { + if controlPlaneIsTargeted(mode) && clusterValidatorImage != "" { cpClusterValidator = newClusterValidatorForSelfHosted() } diff --git a/src/clis/nvcf-cli/cmd/task.go b/src/clis/nvcf-cli/cmd/task.go index dc88bb3d90..183b179c60 100644 --- a/src/clis/nvcf-cli/cmd/task.go +++ b/src/clis/nvcf-cli/cmd/task.go @@ -188,7 +188,6 @@ like { "secrets": [{"name": "...", "value": "..."}] }.`, RunE: runTaskUpdateSecrets, } - // ============================================================================ // Configuration structs // ============================================================================ @@ -197,23 +196,23 @@ like { "secrets": [{"name": "...", "value": "..."}] }.`, // near 1:1 mapping of CreateTaskRequest with secret values typed loosely so // users can drop in either strings or objects. type TaskCreateConfig struct { - Name string `json:"name"` - GpuSpecification *TaskGpuSpecificationInput `json:"gpuSpecification,omitempty"` - ContainerImage string `json:"containerImage,omitempty"` - ContainerArgs string `json:"containerArgs,omitempty"` - ContainerEnvironment []ContainerEnvironmentEntry `json:"containerEnvironment,omitempty"` - Models []ArtifactConfig `json:"models,omitempty"` - Resources []ArtifactConfig `json:"resources,omitempty"` - Tags []string `json:"tags,omitempty"` - Description string `json:"description,omitempty"` - MaxRuntimeDuration string `json:"maxRuntimeDuration,omitempty"` - MaxQueuedDuration string `json:"maxQueuedDuration,omitempty"` - TerminationGracePeriodDuration string `json:"terminationGracePeriodDuration,omitempty"` - ResultHandlingStrategy string `json:"resultHandlingStrategy,omitempty"` - ResultsLocation string `json:"resultsLocation,omitempty"` - HelmChart string `json:"helmChart,omitempty"` - Telemetries *TaskTelemetriesInput `json:"telemetries,omitempty"` - Secrets interface{} `json:"secrets,omitempty"` // []string or []SecretConfig + Name string `json:"name"` + GpuSpecification *TaskGpuSpecificationInput `json:"gpuSpecification,omitempty"` + ContainerImage string `json:"containerImage,omitempty"` + ContainerArgs string `json:"containerArgs,omitempty"` + ContainerEnvironment []ContainerEnvironmentEntry `json:"containerEnvironment,omitempty"` + Models []ArtifactConfig `json:"models,omitempty"` + Resources []ArtifactConfig `json:"resources,omitempty"` + Tags []string `json:"tags,omitempty"` + Description string `json:"description,omitempty"` + MaxRuntimeDuration string `json:"maxRuntimeDuration,omitempty"` + MaxQueuedDuration string `json:"maxQueuedDuration,omitempty"` + TerminationGracePeriodDuration string `json:"terminationGracePeriodDuration,omitempty"` + ResultHandlingStrategy string `json:"resultHandlingStrategy,omitempty"` + ResultsLocation string `json:"resultsLocation,omitempty"` + HelmChart string `json:"helmChart,omitempty"` + Telemetries *TaskTelemetriesInput `json:"telemetries,omitempty"` + Secrets interface{} `json:"secrets,omitempty"` // []string or []SecretConfig } // TaskGpuSpecificationInput maps to GpuSpecificationDto. @@ -228,8 +227,8 @@ type TaskGpuSpecificationInput struct { // TaskHelmValidationInput maps to HelmValidationPolicyDto. type TaskHelmValidationInput struct { - Name string `json:"name"` - ExtraKubernetesTypes []TaskKubernetesTypeIn `json:"extraKubernetesTypes,omitempty"` + Name string `json:"name"` + ExtraKubernetesTypes []TaskKubernetesTypeIn `json:"extraKubernetesTypes,omitempty"` } // TaskKubernetesTypeIn maps to KubernetesType. @@ -263,11 +262,11 @@ type TaskBulkConfig struct { var taskCreateFlags struct { inputFile string - name string - gpu string - instanceType string - backend string - clusters []string + name string + gpu string + instanceType string + backend string + clusters []string containerImage string containerArgs string @@ -324,7 +323,6 @@ var taskUpdateSecretsFlags struct { secrets []string } - // ============================================================================ // Init // ============================================================================ @@ -1143,4 +1141,3 @@ func runTaskUpdateSecrets(cmd *cobra.Command, args []string) error { logging.Success("Updated %d secret(s) for task %s.", len(secrets), taskID) return nil } - diff --git a/src/clis/nvcf-cli/cmd/task_test.go b/src/clis/nvcf-cli/cmd/task_test.go index 5301ca1853..db71e482b5 100644 --- a/src/clis/nvcf-cli/cmd/task_test.go +++ b/src/clis/nvcf-cli/cmd/task_test.go @@ -33,15 +33,15 @@ func TestTaskCommandStructure(t *testing.T) { t.Run("registers all expected subcommands", func(t *testing.T) { expected := map[string]bool{ - "create": false, - "list": false, - "bulk": false, - "get [taskId]": false, - "delete [taskId]": false, - "cancel [taskId]": false, - "events [taskId]": false, - "results [taskId]": false, - "update-secrets [taskId]": false, + "create": false, + "list": false, + "bulk": false, + "get [taskId]": false, + "delete [taskId]": false, + "cancel [taskId]": false, + "events [taskId]": false, + "results [taskId]": false, + "update-secrets [taskId]": false, } for _, sub := range taskCmd.Commands() { if _, ok := expected[sub.Use]; ok { diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 1a508d967d..8adbcd82e0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -29,6 +29,7 @@ go_library( "registry_cred.go", "render.go", "stack.go", + "stack_namespaces.go", "stale_namespace.go", "validatortag.go", ], @@ -65,6 +66,7 @@ go_test( "register_test.go", "registry_cred_test.go", "render_test.go", + "stack_namespaces_test.go", "stack_test.go", "stale_namespace_test.go", "validatortag_test.go", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index b076239470..940ec8081a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -135,7 +135,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // labeled by us and are skipped. defer sweepManagedPullSecrets(context.Background(), client) - if err := ensureClusterValidatorRBAC(vctx, client); err != nil { + if err := ensureClusterValidatorRBAC(vctx, client, role); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } // Remove the ClusterRole and ClusterRoleBinding to minimize the window in @@ -148,7 +148,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image podMayBeRunning := false defer func() { if !noCleanup && !podMayBeRunning { - sweepClusterValidatorRBAC(context.Background(), client) + sweepClusterValidatorRBAC(context.Background(), client, role) } }() @@ -216,12 +216,13 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // Creates the SA/ClusterRole/ClusterRoleBinding the validator pod runs under, // idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so // newer CLI versions replace stale rules without the operator needing to delete. -func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface) error { - labels := clusterValidatorLabels() +func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role string) error { + labels := clusterValidatorRoleLabels(role) + name := clusterValidatorRBACName(role) sa := &corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorName, + Name: name, Namespace: clusterValidatorNamespace, Labels: labels, }, @@ -231,7 +232,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface } cr := &rbacv1.ClusterRole{ - ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorName, Labels: labels}, + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: labels}, Rules: []rbacv1.PolicyRule{ // Read-only: cluster inventory and configuration. {APIGroups: []string{""}, Resources: []string{"nodes", "configmaps"}, Verbs: []string{"get", "list", "watch"}}, @@ -256,7 +257,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface } // Update-or-Create so a future CLI version's expanded rules replace the // old set; AlreadyExists tolerance alone would silently keep stale rules. - if existing, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorName, metav1.GetOptions{}); err == nil { + if existing, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil { existing.Rules = cr.Rules existing.Labels = cr.Labels if _, err := client.RbacV1().ClusterRoles().Update(ctx, existing, metav1.UpdateOptions{}); err != nil { @@ -271,16 +272,16 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface } crb := &rbacv1.ClusterRoleBinding{ - ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorName, Labels: labels}, + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: labels}, Subjects: []rbacv1.Subject{{ Kind: rbacv1.ServiceAccountKind, - Name: clusterValidatorName, + Name: name, Namespace: clusterValidatorNamespace, }}, RoleRef: rbacv1.RoleRef{ APIGroup: rbacv1.GroupName, Kind: "ClusterRole", - Name: clusterValidatorName, + Name: name, }, } if _, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); err != nil && !apierrors.IsAlreadyExists(err) { @@ -323,10 +324,11 @@ func validatorConfigNameForRole(role string) string { // --no-cleanup is not set) to close the window where the elevated ClusterRole // exists. The next run recreates them via ensureClusterValidatorRBAC. // Errors are swallowed: stale RBAC is preferable to failing the result. -func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface) { - _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, clusterValidatorName, metav1.DeleteOptions{}) - _ = client.RbacV1().ClusterRoles().Delete(ctx, clusterValidatorName, metav1.DeleteOptions{}) - _ = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Delete(ctx, clusterValidatorName, metav1.DeleteOptions{}) +func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role string) { + name := clusterValidatorRBACName(role) + _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, metav1.DeleteOptions{}) + _ = client.RbacV1().ClusterRoles().Delete(ctx, name, metav1.DeleteOptions{}) + _ = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Delete(ctx, name, metav1.DeleteOptions{}) } // Errors are swallowed: a stale Job is preferable to blocking the new run. @@ -378,6 +380,20 @@ const clusterValidatorNoConfigName = "cluster-validator-no-config" // clusterValidatorRoleLabel scopes Job selectors to a single validator role. const clusterValidatorRoleLabel = "nvcf.nvidia.com/validator-role" +// clusterValidatorRBACName returns the ServiceAccount / ClusterRole / +// ClusterRoleBinding name for a role. +// +// Per-role names matter because ModeSplit runs both validators concurrently, +// and the two kubecontexts can resolve to the same cluster. With one shared +// name the first run to finish deletes the RBAC out from under the other run's +// pod, which then fails every API call with "forbidden". +func clusterValidatorRBACName(role string) string { + if role == "" { + return clusterValidatorName + } + return clusterValidatorName + "-" + role +} + // controlPlaneValidatorConfigTemplate is the baseline network-check ConfigMap for // control-plane preflight: nvcr.io reachability (critical) and NetworkPolicy // enforcement (non-critical). Extra registries are appended as non-critical probes. @@ -443,8 +459,14 @@ func buildControlPlaneValidatorConfig(extraRegistries []string) string { if host == "" { continue } - // Append under the existing reachability.endpoints list. - fmt.Fprintf(&extra, " - name: %s\n host: %s\n port: %d\n protocol: tcp+tls\n critical: false\n", host, host, port) + // Append under the existing reachability.endpoints list. Quote the host: + // it comes from operator input, and parseRegistryHostPort passes a value + // it cannot split through verbatim. An unquoted "[" or embedded newline + // would make the whole ConfigMap unparseable, and the validator then + // silently drops every reachability and enforcement check. + fmt.Fprintf(&extra, + " - name: %q\n host: %q\n port: %d\n protocol: tcp+tls\n critical: false\n", + host, host, port) } if extra.Len() == 0 { return controlPlaneValidatorConfigTemplate @@ -486,7 +508,7 @@ func parseRegistryHostPort(s string) (host string, port int) { func buildClusterValidatorJob(name, image, pullSecret, role string, noCleanup bool) *batchv1.Job { backoff := int32(0) podSpec := corev1.PodSpec{ - ServiceAccountName: clusterValidatorName, + ServiceAccountName: clusterValidatorRBACName(role), RestartPolicy: corev1.RestartPolicyNever, Containers: []corev1.Container{{ Name: clusterValidatorContainer, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 3db50167a6..be4dfa6003 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -276,14 +276,15 @@ func TestRunClusterValidator_RBACRefreshesClusterRoleRules(t *testing.T) { // TestEnsureClusterValidatorRBAC_WritableResources verifies that the // bootstrapped ClusterRole grants the write verbs required by enforcement // checks (namespace/pod create+delete), probe log reading (pods/log get), -// and the Gateway API checks added in Req 3/4. +// and the Gateway API checks. func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { client := fake.NewSimpleClientset() ctx := context.Background() - require.NoError(t, ensureClusterValidatorRBAC(ctx, client)) + const role = clusterValidatorControlPlaneRole + require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role)) - cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorName, metav1.GetOptions{}) + cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorRBACName(role), metav1.GetOptions{}) require.NoError(t, err) type check struct { @@ -677,3 +678,31 @@ func alreadyExistsReactor(resource, name string) ktesting.ReactionFunc { return true, nil, apierrors.NewAlreadyExists(gr, name) } } + +// ModeSplit runs both validators concurrently, and the two kubecontexts can +// resolve to the same cluster. With one shared RBAC name the first run to +// finish deletes the ServiceAccount, ClusterRole and binding out from under the +// other run's pod, which then fails every API call with "forbidden". +func TestClusterValidatorRBAC_IsScopedPerRole(t *testing.T) { + client := fake.NewSimpleClientset() + ctx := context.Background() + + cpName := clusterValidatorRBACName(clusterValidatorControlPlaneRole) + gpuName := clusterValidatorRBACName("compute-plane") + require.NotEqual(t, cpName, gpuName, "each role needs its own RBAC identity") + + require.NoError(t, ensureClusterValidatorRBAC(ctx, client, clusterValidatorControlPlaneRole)) + require.NoError(t, ensureClusterValidatorRBAC(ctx, client, "compute-plane")) + + // Sweeping one role must leave the other's RBAC intact. + sweepClusterValidatorRBAC(ctx, client, clusterValidatorControlPlaneRole) + + _, err := client.RbacV1().ClusterRoles().Get(ctx, cpName, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "the swept role's ClusterRole must be gone") + + _, err = client.RbacV1().ClusterRoles().Get(ctx, gpuName, metav1.GetOptions{}) + assert.NoError(t, err, "the other role's ClusterRole must survive") + + _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, gpuName, metav1.GetOptions{}) + assert.NoError(t, err, "the other role's ServiceAccount must survive") +} From 1bff24a1ce1e323bf4c55ab55756d2986f776cd9 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 14:10:15 +0530 Subject: [PATCH 019/127] style(nvcf-cli): revert unrelated gofmt churn in task and self_hosted commands --- src/clis/nvcf-cli/cmd/self_hosted.go | 4 +-- src/clis/nvcf-cli/cmd/task.go | 51 +++++++++++++++------------- src/clis/nvcf-cli/cmd/task_test.go | 18 +++++----- 3 files changed, 38 insertions(+), 35 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted.go b/src/clis/nvcf-cli/cmd/self_hosted.go index f6fcdc1b38..19c82c884f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted.go +++ b/src/clis/nvcf-cli/cmd/self_hosted.go @@ -41,8 +41,8 @@ and 'install --compute-plane' explicitly.`, // Persistent flags shared by all self-hosted subcommands. var ( - selfHostedControlPlaneStack string - selfHostedComputePlaneStack string + selfHostedControlPlaneStack string + selfHostedComputePlaneStack string selfHostedEnv string selfHostedNoApply bool selfHostedNonInter bool diff --git a/src/clis/nvcf-cli/cmd/task.go b/src/clis/nvcf-cli/cmd/task.go index 183b179c60..dc88bb3d90 100644 --- a/src/clis/nvcf-cli/cmd/task.go +++ b/src/clis/nvcf-cli/cmd/task.go @@ -188,6 +188,7 @@ like { "secrets": [{"name": "...", "value": "..."}] }.`, RunE: runTaskUpdateSecrets, } + // ============================================================================ // Configuration structs // ============================================================================ @@ -196,23 +197,23 @@ like { "secrets": [{"name": "...", "value": "..."}] }.`, // near 1:1 mapping of CreateTaskRequest with secret values typed loosely so // users can drop in either strings or objects. type TaskCreateConfig struct { - Name string `json:"name"` - GpuSpecification *TaskGpuSpecificationInput `json:"gpuSpecification,omitempty"` - ContainerImage string `json:"containerImage,omitempty"` - ContainerArgs string `json:"containerArgs,omitempty"` - ContainerEnvironment []ContainerEnvironmentEntry `json:"containerEnvironment,omitempty"` - Models []ArtifactConfig `json:"models,omitempty"` - Resources []ArtifactConfig `json:"resources,omitempty"` - Tags []string `json:"tags,omitempty"` - Description string `json:"description,omitempty"` - MaxRuntimeDuration string `json:"maxRuntimeDuration,omitempty"` - MaxQueuedDuration string `json:"maxQueuedDuration,omitempty"` - TerminationGracePeriodDuration string `json:"terminationGracePeriodDuration,omitempty"` - ResultHandlingStrategy string `json:"resultHandlingStrategy,omitempty"` - ResultsLocation string `json:"resultsLocation,omitempty"` - HelmChart string `json:"helmChart,omitempty"` - Telemetries *TaskTelemetriesInput `json:"telemetries,omitempty"` - Secrets interface{} `json:"secrets,omitempty"` // []string or []SecretConfig + Name string `json:"name"` + GpuSpecification *TaskGpuSpecificationInput `json:"gpuSpecification,omitempty"` + ContainerImage string `json:"containerImage,omitempty"` + ContainerArgs string `json:"containerArgs,omitempty"` + ContainerEnvironment []ContainerEnvironmentEntry `json:"containerEnvironment,omitempty"` + Models []ArtifactConfig `json:"models,omitempty"` + Resources []ArtifactConfig `json:"resources,omitempty"` + Tags []string `json:"tags,omitempty"` + Description string `json:"description,omitempty"` + MaxRuntimeDuration string `json:"maxRuntimeDuration,omitempty"` + MaxQueuedDuration string `json:"maxQueuedDuration,omitempty"` + TerminationGracePeriodDuration string `json:"terminationGracePeriodDuration,omitempty"` + ResultHandlingStrategy string `json:"resultHandlingStrategy,omitempty"` + ResultsLocation string `json:"resultsLocation,omitempty"` + HelmChart string `json:"helmChart,omitempty"` + Telemetries *TaskTelemetriesInput `json:"telemetries,omitempty"` + Secrets interface{} `json:"secrets,omitempty"` // []string or []SecretConfig } // TaskGpuSpecificationInput maps to GpuSpecificationDto. @@ -227,8 +228,8 @@ type TaskGpuSpecificationInput struct { // TaskHelmValidationInput maps to HelmValidationPolicyDto. type TaskHelmValidationInput struct { - Name string `json:"name"` - ExtraKubernetesTypes []TaskKubernetesTypeIn `json:"extraKubernetesTypes,omitempty"` + Name string `json:"name"` + ExtraKubernetesTypes []TaskKubernetesTypeIn `json:"extraKubernetesTypes,omitempty"` } // TaskKubernetesTypeIn maps to KubernetesType. @@ -262,11 +263,11 @@ type TaskBulkConfig struct { var taskCreateFlags struct { inputFile string - name string - gpu string - instanceType string - backend string - clusters []string + name string + gpu string + instanceType string + backend string + clusters []string containerImage string containerArgs string @@ -323,6 +324,7 @@ var taskUpdateSecretsFlags struct { secrets []string } + // ============================================================================ // Init // ============================================================================ @@ -1141,3 +1143,4 @@ func runTaskUpdateSecrets(cmd *cobra.Command, args []string) error { logging.Success("Updated %d secret(s) for task %s.", len(secrets), taskID) return nil } + diff --git a/src/clis/nvcf-cli/cmd/task_test.go b/src/clis/nvcf-cli/cmd/task_test.go index db71e482b5..5301ca1853 100644 --- a/src/clis/nvcf-cli/cmd/task_test.go +++ b/src/clis/nvcf-cli/cmd/task_test.go @@ -33,15 +33,15 @@ func TestTaskCommandStructure(t *testing.T) { t.Run("registers all expected subcommands", func(t *testing.T) { expected := map[string]bool{ - "create": false, - "list": false, - "bulk": false, - "get [taskId]": false, - "delete [taskId]": false, - "cancel [taskId]": false, - "events [taskId]": false, - "results [taskId]": false, - "update-secrets [taskId]": false, + "create": false, + "list": false, + "bulk": false, + "get [taskId]": false, + "delete [taskId]": false, + "cancel [taskId]": false, + "events [taskId]": false, + "results [taskId]": false, + "update-secrets [taskId]": false, } for _, sub := range taskCmd.Commands() { if _, ok := expected[sub.Use]; ok { From 0d3550266927a8f9405a6308afaaaeec50a4886e Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 16:05:01 +0530 Subject: [PATCH 020/127] fix(nvcf-cli): scope the managed pull secret per validator role --- .../internal/selfhosted/clustervalidator.go | 33 ++-- .../internal/selfhosted/pullsecret.go | 53 +++++-- .../internal/selfhosted/pullsecret_test.go | 147 ++++++++++++++---- 3 files changed, 181 insertions(+), 52 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 940ec8081a..3db254119f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -124,16 +124,27 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image vctx, cancel := context.WithTimeout(ctx, clusterValidatorTimeout) defer cancel() + // podMayBeRunning is true only between a successful Job create and a clean + // wait. Both cleanup defers below key off it: outside that window nothing + // is using the pull secret or the RBAC, so reclaiming them is safe, and + // inside it reclaiming them breaks the pod that is still running. + podMayBeRunning := false + // Resolver errors are non-fatal: fall through to the caller's value and // let waitForClusterValidatorJob surface ImagePullBackOff if needed. - if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image); err == nil { + if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role); err == nil { pullSecret = resolved } - // Sweep any pull secrets we created (mirror or env-mint) after the - // Job terminates. Uses a fresh context so cleanup runs even when - // vctx has expired. Operator-supplied secrets via the flag aren't - // labeled by us and are skipped. - defer sweepManagedPullSecrets(context.Background(), client) + // Sweep only this role's managed pull secret, and only once the pod can no + // longer need it. Sweeping unconditionally deletes the Secret out from + // under a pod that is still retrying its pull, which the kubelet then + // reports as FailedToRetrieveImagePullSecret. Operator-supplied secrets via + // the flag aren't labeled by us and are skipped. + defer func() { + if !podMayBeRunning { + sweepManagedPullSecrets(context.Background(), client, role) + } + }() if err := ensureClusterValidatorRBAC(vctx, client, role); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} @@ -141,11 +152,6 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // Remove the ClusterRole and ClusterRoleBinding to minimize the window in // which the elevated SA exists. When --no-cleanup is set the operator // expects to inspect the Job, so the RBAC stays either way. - // - // podMayBeRunning is true only between a successful Job create and a clean - // wait. Everywhere else nothing is using the RBAC, so reclaim it rather - // than leaking a cluster-wide ClusterRole. - podMayBeRunning := false defer func() { if !noCleanup && !podMayBeRunning { sweepClusterValidatorRBAC(context.Background(), client, role) @@ -353,8 +359,9 @@ func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Inter // Operator-supplied secrets via --cluster-validator-pull-secret aren't // labeled by us and are skipped by the selector. Errors are swallowed: // failing to clean up is preferable to failing the check itself. -func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface) { - selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli", clusterValidatorAppLabel) +func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role string) { + selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,%s=%s", + clusterValidatorAppLabel, clusterValidatorRoleLabel, role) _ = client.CoreV1().Secrets(clusterValidatorNamespace).DeleteCollection( ctx, metav1.DeleteOptions{}, diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index d01311e802..7d6ee66c9a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -37,10 +37,26 @@ const ( // can never collide with the conventional `nvcr-pull-secret` that // operators or the install flow may already manage in 'default'. // Pairs with isManagedByValidatorCLI label guard for defense-in-depth. + // + // The name is suffixed per role by validatorPullSecretRoleName: ModeSplit + // runs both validators concurrently, and the two kubecontexts can resolve + // to the same cluster. One shared Secret means the role that finishes first + // deletes it while the other Job is still pulling, which the kubelet + // reports as FailedToRetrieveImagePullSecret. validatorPullSecretName = "nvcf-preflight-pull-secret" validatorPullSecretScanTimeout = 10 * time.Second ) +// validatorPullSecretRoleName returns the managed pull-secret name for a role. +// A Secret cannot be co-owned, so each role needs its own rather than a shared +// object with a role label. +func validatorPullSecretRoleName(role string) string { + if role == "" { + return validatorPullSecretName + } + return validatorPullSecretName + "-" + role +} + // Mirrors the chain used by ensureLocalImagePullSecrets in cmd/self_hosted_up.go. var ngcAPIKeyEnvNames = []string{ "NGC_IMAGE_PULL_API_KEY", @@ -80,7 +96,7 @@ var validatorPullSecretSearchNamespaces = []string{ func resolveValidatorPullSecret( ctx context.Context, client kubernetes.Interface, - provided, image string, + provided, image, role string, ) (string, error) { if provided != "" { return provided, nil @@ -93,13 +109,13 @@ func resolveValidatorPullSecret( scanCtx, cancel := context.WithTimeout(ctx, validatorPullSecretScanTimeout) defer cancel() - if name, err := scanAndMirrorPullSecret(scanCtx, client, registry); err != nil { + if name, err := scanAndMirrorPullSecret(scanCtx, client, registry, role); err != nil { return "", err } else if name != "" { return name, nil } - if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry); err != nil { + if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry, role); err != nil { return "", err } else if name != "" { return name, nil @@ -131,7 +147,7 @@ func parseRegistryFromImage(image string) string { // registry. Mirrors the body into clusterValidatorNamespace when the match // lives elsewhere, so the Job can reference the secret without cross-namespace // lookups. -func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry string) (string, error) { +func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry, role string) (string, error) { for _, ns := range validatorPullSecretSearchNamespaces { // Filter client-side rather than via FieldSelector: server-side // type= selector on Secrets is only honored from k8s 1.27 onward. @@ -156,11 +172,11 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r // the destination namespace, and writeDockerConfigSecret's // delete-and-recreate path would otherwise destroy that // secret on type mismatch. - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretName, cfg); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg); err != nil { return "", fmt.Errorf("mirror pull secret %s/%s to %s/%s: %w", - s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretName, err) + s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretRoleName(role), err) } - return validatorPullSecretName, nil + return validatorPullSecretRoleName(role), nil } } return "", nil @@ -177,7 +193,7 @@ func dockerConfigHasRegistry(cfg []byte, registry string) bool { return ok } -func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry string) (string, error) { +func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry, role string) (string, error) { apiKey := firstNonEmptyEnv(ngcAPIKeyEnvNames...) if apiKey == "" { return "", nil @@ -186,11 +202,11 @@ func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interfac if err != nil { return "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) } - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretName, cfg); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg); err != nil { return "", fmt.Errorf("auto-create pull secret %s/%s: %w", - clusterValidatorNamespace, validatorPullSecretName, err) + clusterValidatorNamespace, validatorPullSecretRoleName(role), err) } - return validatorPullSecretName, nil + return validatorPullSecretRoleName(role), nil } // Mirrors cmd/self_hosted_up.go's firstNonEmptyEnv; kept local to avoid an @@ -221,8 +237,8 @@ func buildDockerConfigJSON(registry, username, password string) ([]byte, error) // Mirrors cmd/self_hosted_up.go's ensureDockerConfigSecret. Attaches the // CLI's managed-by labels so a future cleanup path can identify resources // to remove. -func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, namespace, name string, dockerConfig []byte) error { - labels := clusterValidatorLabels() +func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, namespace, name, role string, dockerConfig []byte) error { + labels := clusterValidatorRoleLabels(role) secrets := client.CoreV1().Secrets(namespace) secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ @@ -236,6 +252,17 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n current, err := secrets.Get(ctx, name, metav1.GetOptions{}) switch { case err == nil && current.Type == corev1.SecretTypeDockerConfigJson: + // Same guard as the type-mismatch branch below, for the same reason. A + // matching type is not permission to write: an operator-owned secret + // with a colliding name holds their registry credentials, and this + // would replace the data and stamp our managed labels on it, after + // which the role sweep would delete it outright. + if !isManagedByValidatorCLI(current) { + return fmt.Errorf( + "refusing to overwrite %s/%s which is not managed by nvcf-cli; "+ + "pass --cluster-validator-pull-secret to choose an explicit secret name", + namespace, name) + } if current.Data == nil { current.Data = map[string][]byte{} } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 7a77df310c..1762fac226 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -28,7 +28,9 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/fake" + ktesting "k8s.io/client-go/testing" ) func dockerConfigBlob(t *testing.T, registry, user, pass string) []byte { @@ -134,7 +136,7 @@ func TestWriteDockerConfigSecret_Create(t *testing.T) { client := fake.NewSimpleClientset() cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", cfg)) + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, cfg)) got, err := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) require.NoError(t, err) @@ -148,17 +150,22 @@ func TestWriteDockerConfigSecret_Update(t *testing.T) { old := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "stale-key") fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "rotated-key") + // Managed labels plus an unrelated one: only a secret we own may be + // updated, and updating must not drop labels the operator added. + existingLabels := clusterValidatorLabels() + existingLabels["existing-label"] = "preserved" + client := fake.NewSimpleClientset(&corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: "nvcr-pull-secret", Namespace: "default", - Labels: map[string]string{"existing-label": "preserved"}, + Labels: existingLabels, }, Type: corev1.SecretTypeDockerConfigJson, Data: map[string][]byte{corev1.DockerConfigJsonKey: old}, }) - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", fresh)) + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh)) got, _ := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) assert.Equal(t, fresh, got.Data[corev1.DockerConfigJsonKey], "data must be updated to the fresh body") @@ -181,7 +188,7 @@ func TestWriteDockerConfigSecret_TypeMismatchReplaces(t *testing.T) { Data: map[string][]byte{"some-key": []byte("some-value")}, }) - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", fresh)) + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh)) got, err := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) require.NoError(t, err) @@ -207,7 +214,7 @@ func TestWriteDockerConfigSecret_TypeMismatchRefusesUnlabeledSecret(t *testing.T Data: map[string][]byte{"operator-payload": operatorPayload}, }) - err := writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", fresh) + err := writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh) require.Error(t, err, "must refuse to destroy a non-CLI-managed secret") assert.Contains(t, err.Error(), "not managed by nvcf-cli") @@ -226,7 +233,7 @@ func TestScanAndMirrorPullSecret_FoundInDefault(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test") + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "operator-secret", name) @@ -247,12 +254,12 @@ func TestScanAndMirrorPullSecret_FoundInNvcfMirroredToDefault(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test") + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) - assert.Equal(t, validatorPullSecretName, name) + assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), name) - mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretName, metav1.GetOptions{}) - require.NoError(t, err, "mirror must be created under validatorPullSecretName") + mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + require.NoError(t, err, "mirror must be created under the role-scoped managed name") assert.Equal(t, cfg, mirrored.Data[corev1.DockerConfigJsonKey]) // The source secret must remain untouched in the source namespace. @@ -269,14 +276,14 @@ func TestScanAndMirrorPullSecret_RegistryMismatch(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test") + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "", name, "secret for a different registry must not match") } func TestScanAndMirrorPullSecret_NoSecrets(t *testing.T) { client := fake.NewSimpleClientset() - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test") + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "", name) } @@ -296,7 +303,7 @@ func TestScanAndMirrorPullSecret_PrefersDefaultNamespace(t *testing.T) { }, ) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test") + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "in-default", name) } @@ -308,7 +315,7 @@ func TestAutoCreatePullSecretFromEnv_NoEnv(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test") + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "", got, "no env var set means no secret minted") @@ -323,11 +330,11 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-test-123") client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test") + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) require.NoError(t, err) - assert.Equal(t, validatorPullSecretName, got) + assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) - s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretName, metav1.GetOptions{}) + s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) require.NoError(t, err) assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "private.registry.test"), "minted secret must contain auth for the validator image's registry") @@ -335,7 +342,7 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26") + got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "custom-secret", got, "explicit override always wins") @@ -355,14 +362,14 @@ func TestResolveValidatorPullSecret_ScanWins(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26") + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) require.NoError(t, err) // Mirror destination is the validator's well-known name, not the // source secret's name (avoids same-name collisions with operator // or chart-owned secrets in the destination namespace). - assert.Equal(t, validatorPullSecretName, got) + assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) - mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretName, metav1.GetOptions{}) + mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) require.NoError(t, err) assert.True(t, dockerConfigHasRegistry(mirrored.Data[corev1.DockerConfigJsonKey], "private.registry.test")) } @@ -374,11 +381,11 @@ func TestResolveValidatorPullSecret_EnvFallback(t *testing.T) { t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26") + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) require.NoError(t, err) - assert.Equal(t, validatorPullSecretName, got) + assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) - s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretName, metav1.GetOptions{}) + s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) require.NoError(t, err) assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "private.registry.test")) } @@ -389,7 +396,7 @@ func TestResolveValidatorPullSecret_AllEmpty(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26") + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "", got, "no override, no scan match, no env var -> empty so kubelet surfaces ImagePullBackOff") } @@ -400,10 +407,98 @@ func TestResolveValidatorPullSecret_UnparsableImage(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage") + got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, "", got, "no registry hostname means no scan target and no auto-create") list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) assert.Empty(t, list.Items, "no secret must be created when registry cannot be derived") } + +// ModeSplit runs both validators concurrently against contexts that can resolve +// to the same cluster. A Secret cannot be co-owned, so each role needs its own: +// with a shared name the role that finishes first deletes it while the other +// Job is still pulling, which the kubelet reports as +// FailedToRetrieveImagePullSecret. +// +// The sweep is asserted through a reactor rather than by observing deletions: +// the fake clientset implements DeleteCollection as a no-op, so a state-based +// assertion here would pass whatever the selector said. +func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { + ctx := context.Background() + + cpName := validatorPullSecretRoleName(clusterValidatorControlPlaneRole) + gpuName := validatorPullSecretRoleName("compute-plane") + require.NotEqual(t, cpName, gpuName, "each role needs its own managed pull secret") + + client := fake.NewSimpleClientset() + var gotSelector string + client.PrependReactor("delete-collection", "secrets", + func(action ktesting.Action) (bool, runtime.Object, error) { + gotSelector = action.(ktesting.DeleteCollectionAction). + GetListRestrictions().Labels.String() + return true, nil, nil + }) + + sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole) + + assert.Contains(t, gotSelector, clusterValidatorRoleLabel+"="+clusterValidatorControlPlaneRole, + "the sweep must select on the role so it cannot delete the other role's secret") +} + +// The managed labels a created secret carries must satisfy the sweep selector +// for that role, and must not satisfy another role's. +func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { + ctx := context.Background() + client := fake.NewSimpleClientset() + + // dockerConfigBlob encodes the auth value at runtime; a literal base64 + // docker credential in the source trips secret scanners. + cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") + require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + clusterValidatorControlPlaneRole, cfg)) + + got, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, + validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + require.NoError(t, err) + + assert.Equal(t, clusterValidatorControlPlaneRole, got.Labels[clusterValidatorRoleLabel], + "a managed secret must carry its own role label") + assert.Equal(t, "nvcf-cli", got.Labels["app.kubernetes.io/managed-by"], + "the managed-by label is what excludes operator-supplied secrets from cleanup") +} + +// A matching Secret type is not permission to write. An operator-owned secret +// with a colliding name holds their registry credentials; overwriting it would +// also stamp our managed labels on it, after which the role sweep would delete +// it outright. +func TestWriteDockerConfigSecret_RefusesUnmanagedSameTypeSecret(t *testing.T) { + ctx := context.Background() + operatorOwned := dockerConfigBlob(t, "private.registry.test", "operator", "their-secret") + ours := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "ours") + + client := fake.NewSimpleClientset(&corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: "nvcf-preflight-pull-secret-control-plane", + Namespace: clusterValidatorNamespace, + Labels: map[string]string{"owner": "operator"}, + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: operatorOwned}, + }) + + err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + "nvcf-preflight-pull-secret-control-plane", clusterValidatorControlPlaneRole, ours) + + require.Error(t, err, "an unmanaged secret of the same type must not be overwritten") + assert.Contains(t, err.Error(), "not managed by nvcf-cli") + + got, getErr := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, + "nvcf-preflight-pull-secret-control-plane", metav1.GetOptions{}) + require.NoError(t, getErr) + assert.Equal(t, operatorOwned, got.Data[corev1.DockerConfigJsonKey], + "the operator's credentials must be left untouched") + assert.NotContains(t, got.Labels, "app.kubernetes.io/managed-by", + "managed labels must not be stamped on it, or the sweep would later delete it") +} From 3fcd00dde95d2ca28efd12cdc41cb1444a35cc5a Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 16:50:31 +0530 Subject: [PATCH 021/127] fix(nvcf-cli): verify ownership before mutating or deleting any validator resource --- .../internal/selfhosted/clustervalidator.go | 35 ++++++++++-- .../selfhosted/clustervalidator_test.go | 57 ++++++++++++++++++- .../internal/selfhosted/pullsecret.go | 47 +++++++++++---- .../internal/selfhosted/pullsecret_test.go | 49 ++++++++++++++++ 4 files changed, 172 insertions(+), 16 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 3db254119f..249b77d064 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -264,6 +264,13 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // Update-or-Create so a future CLI version's expanded rules replace the // old set; AlreadyExists tolerance alone would silently keep stale rules. if existing, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil { + // Do not rewrite the rules of a ClusterRole we do not own: this is a + // cluster-scoped privilege object, and an operator-owned one with a + // colliding name would silently have its permissions replaced. + if !hasValidatorManagedLabels(existing.Labels) { + return fmt.Errorf( + "refusing to modify ClusterRole %s which is not managed by nvcf-cli", name) + } existing.Rules = cr.Rules existing.Labels = cr.Labels if _, err := client.RbacV1().ClusterRoles().Update(ctx, existing, metav1.UpdateOptions{}); err != nil { @@ -332,9 +339,23 @@ func validatorConfigNameForRole(role string) string { // Errors are swallowed: stale RBAC is preferable to failing the result. func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role string) { name := clusterValidatorRBACName(role) - _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, metav1.DeleteOptions{}) - _ = client.RbacV1().ClusterRoles().Delete(ctx, name, metav1.DeleteOptions{}) - _ = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Delete(ctx, name, metav1.DeleteOptions{}) + + // Delete by name, but only what we own. These are cluster-scoped objects + // and the errors here are swallowed, so an operator-owned ClusterRole with + // a colliding name would otherwise vanish with no diagnostic at all. + if crb, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}); err == nil && + hasValidatorManagedLabels(crb.Labels) { + _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, metav1.DeleteOptions{}) + } + if cr, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil && + hasValidatorManagedLabels(cr.Labels) { + _ = client.RbacV1().ClusterRoles().Delete(ctx, name, metav1.DeleteOptions{}) + } + sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) + if acct, err := sa.Get(ctx, name, metav1.GetOptions{}); err == nil && + hasValidatorManagedLabels(acct.Labels) { + _ = sa.Delete(ctx, name, metav1.DeleteOptions{}) + } } // Errors are swallowed: a stale Job is preferable to blocking the new run. @@ -443,7 +464,13 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa return nil } - // Always update so a newer CLI version's config (or new registries) replaces stale content. + // Always update so a newer CLI version's config (or new registries) replaces + // stale content, but never overwrite a ConfigMap we do not own. + if !hasValidatorManagedLabels(existing.Labels) { + return fmt.Errorf( + "refusing to overwrite ConfigMap %s/%s which is not managed by nvcf-cli", + clusterValidatorNamespace, clusterValidatorConfigName) + } existing.Data = desired.Data existing.Labels = desired.Labels if _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Update(ctx, existing, metav1.UpdateOptions{}); err != nil { diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index be4dfa6003..7298649e44 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -247,8 +247,10 @@ func TestRunClusterValidator_RBACRefreshesClusterRoleRules(t *testing.T) { oldRules := []rbacv1.PolicyRule{ {APIGroups: []string{""}, Resources: []string{"nodes"}, Verbs: []string{"get"}}, } + // Labelled as a prior CLI run would have left it: only a ClusterRole we own + // may have its rules rewritten. client := fake.NewSimpleClientset(&rbacv1.ClusterRole{ - ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorName}, + ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorName, Labels: clusterValidatorLabels()}, Rules: oldRules, }) @@ -706,3 +708,56 @@ func TestClusterValidatorRBAC_IsScopedPerRole(t *testing.T) { _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, gpuName, metav1.GetOptions{}) assert.NoError(t, err, "the other role's ServiceAccount must survive") } + +// A ClusterRole is a cluster-scoped privilege object. An operator-owned one with +// a colliding name must not have its rules rewritten, and the sweep must not +// delete it. +func TestClusterValidatorRBAC_RefusesUnmanagedClusterRole(t *testing.T) { + ctx := context.Background() + const role = clusterValidatorControlPlaneRole + name := clusterValidatorRBACName(role) + + operatorRules := []rbacv1.PolicyRule{ + {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"get"}}, + } + client := fake.NewSimpleClientset(&rbacv1.ClusterRole{ + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: map[string]string{"owner": "operator"}}, + Rules: operatorRules, + }) + + err := ensureClusterValidatorRBAC(ctx, client, role) + require.Error(t, err, "an unmanaged ClusterRole must not be rewritten") + assert.Contains(t, err.Error(), "not managed by nvcf-cli") + + got, getErr := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}) + require.NoError(t, getErr) + assert.Equal(t, operatorRules, got.Rules, "the operator's rules must be untouched") + + // The sweep must leave it alone too, even though it matches by name. + sweepClusterValidatorRBAC(ctx, client, role) + _, getErr = client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}) + assert.NoError(t, getErr, "the sweep must not delete a ClusterRole it does not own") +} + +// The same invariant for the network-check ConfigMap. +func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { + ctx := context.Background() + client := fake.NewSimpleClientset(&corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigName, + Namespace: clusterValidatorNamespace, + Labels: map[string]string{"owner": "operator"}, + }, + Data: map[string]string{"config.yaml": "operator: content"}, + }) + + err := ensureClusterValidatorConfig(ctx, client, nil) + require.Error(t, err, "an unmanaged ConfigMap must not be overwritten") + assert.Contains(t, err.Error(), "not managed by nvcf-cli") + + got, getErr := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, + clusterValidatorConfigName, metav1.GetOptions{}) + require.NoError(t, getErr) + assert.Equal(t, "operator: content", got.Data["config.yaml"], + "the operator's ConfigMap content must be untouched") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 7d6ee66c9a..a846e4c1c1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -257,11 +257,8 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n // with a colliding name holds their registry credentials, and this // would replace the data and stamp our managed labels on it, after // which the role sweep would delete it outright. - if !isManagedByValidatorCLI(current) { - return fmt.Errorf( - "refusing to overwrite %s/%s which is not managed by nvcf-cli; "+ - "pass --cluster-validator-pull-secret to choose an explicit secret name", - namespace, name) + if err := refuseIfUnmanaged(current, namespace, name, ""); err != nil { + return err } if current.Data == nil { current.Data = map[string][]byte{} @@ -283,11 +280,9 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n // Without this, an operator-owned secret with a colliding name // (e.g. an Opaque secret in 'default' sharing the validator's // pull-secret name) would be silently destroyed. - if !isManagedByValidatorCLI(current) { - return fmt.Errorf( - "refusing to replace %s/%s (type=%s) which is not managed by nvcf-cli; "+ - "pass --cluster-validator-pull-secret to choose an explicit secret name", - namespace, name, current.Type) + if err := refuseIfUnmanaged(current, namespace, name, + fmt.Sprintf("type=%s", current.Type)); err != nil { + return err } if err := secrets.Delete(ctx, name, metav1.DeleteOptions{}); err != nil && !apierrors.IsNotFound(err) { return fmt.Errorf("delete incompatible secret type %s: %w", current.Type, err) @@ -307,6 +302,9 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n if getErr != nil { return fmt.Errorf("get after create race: %w", getErr) } + if err := refuseIfUnmanaged(current, namespace, name, "lost create race"); err != nil { + return err + } if current.Type != corev1.SecretTypeDockerConfigJson { return fmt.Errorf("create race left secret %s/%s with type %s, want %s", namespace, name, current.Type, corev1.SecretTypeDockerConfigJson) @@ -332,9 +330,36 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n // writeDockerConfigSecret stamps on every secret it creates. Used to // gate the delete-then-recreate branch so we never destroy an operator- // or chart-owned secret that happens to share a name with one of ours. +// refuseIfUnmanaged rejects a Secret nvcf-cli does not own. Every path in +// writeDockerConfigSecret that mutates an existing Secret must call this: +// overwriting an operator-owned secret replaces their registry credentials and +// stamps our managed labels on it, after which the role sweep deletes it. +// +// detail is appended to the message when there is something useful to say +// (the conflicting type, the race), otherwise "". +func refuseIfUnmanaged(s *corev1.Secret, namespace, name, detail string) error { + if isManagedByValidatorCLI(s) { + return nil + } + if detail != "" { + detail = " (" + detail + ")" + } + return fmt.Errorf( + "refusing to overwrite %s/%s%s which is not managed by nvcf-cli; "+ + "pass --cluster-validator-pull-secret to choose an explicit secret name", + namespace, name, detail) +} + func isManagedByValidatorCLI(s *corev1.Secret) bool { + return hasValidatorManagedLabels(s.Labels) +} + +// hasValidatorManagedLabels reports whether an object carries the labels this +// CLI stamps on everything it creates. It is the ownership test for every +// resource the validator writes to or deletes by name, not just Secrets. +func hasValidatorManagedLabels(labels map[string]string) bool { for k, v := range clusterValidatorLabels() { - if s.Labels[k] != v { + if labels[k] != v { return false } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 1762fac226..80aa267b6a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -27,6 +27,7 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/fake" @@ -502,3 +503,51 @@ func TestWriteDockerConfigSecret_RefusesUnmanagedSameTypeSecret(t *testing.T) { assert.NotContains(t, got.Labels, "app.kubernetes.io/managed-by", "managed labels must not be stamped on it, or the sweep would later delete it") } + +// If an unmanaged Docker-config Secret appears between our Get and our Create, +// Create fails with AlreadyExists and the recovery path refetches it. That path +// must apply the same ownership check as the others, or a lost race silently +// overwrites an operator-owned secret and marks it for sweep deletion. +func TestWriteDockerConfigSecret_RefusesUnmanagedAfterCreateRace(t *testing.T) { + ctx := context.Background() + operatorOwned := dockerConfigBlob(t, "private.registry.test", "operator", "their-secret") + ours := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "ours") + + const name = "nvcf-preflight-pull-secret-control-plane" + client := fake.NewSimpleClientset() + + // First Get: absent, so the code proceeds to Create. Create: AlreadyExists, + // as though another actor won the race. Second Get: their unmanaged secret. + gets := 0 + client.PrependReactor("get", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { + gets++ + if gets == 1 { + return true, nil, apierrors.NewNotFound(corev1.Resource("secrets"), name) + } + return true, &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: clusterValidatorNamespace, + Labels: map[string]string{"owner": "operator"}, + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: operatorOwned}, + }, nil + }) + client.PrependReactor("create", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewAlreadyExists(corev1.Resource("secrets"), name) + }) + + var updated bool + client.PrependReactor("update", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { + updated = true + return true, nil, nil + }) + + err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, name, + clusterValidatorControlPlaneRole, ours) + + require.Error(t, err, "losing the create race to an unmanaged secret must not overwrite it") + assert.Contains(t, err.Error(), "not managed by nvcf-cli") + assert.False(t, updated, "no Update may be issued against an unmanaged secret") +} From 5952b0f56c872991cb0f72c0ad740130963c315f Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 17:21:24 +0530 Subject: [PATCH 022/127] fix(nvcf-cli): verify RBAC ownership before reuse and reject host-confusing registries --- .../internal/selfhosted/clustervalidator.go | 70 ++++++++++- .../selfhosted/clustervalidator_test.go | 117 ++++++++++++++++-- .../internal/selfhosted/validatortag.go | 30 +++++ .../internal/selfhosted/validatortag_test.go | 37 ++++++ 4 files changed, 236 insertions(+), 18 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 249b77d064..066223806c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -233,8 +233,24 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface Labels: labels, }, } - if _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Create(ctx, sa, metav1.CreateOptions{}); err != nil && !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("create service account: %w", err) + if _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Create(ctx, sa, metav1.CreateOptions{}); err != nil { + if !apierrors.IsAlreadyExists(err) { + return fmt.Errorf("create service account: %w", err) + } + // Do not adopt a ServiceAccount we did not create. The ClusterRoleBinding + // below would bind it to the validator ClusterRole, handing whoever + // controls that account cluster-wide create/delete on namespaces, pods, + // services and daemonsets. + existing, getErr := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, name, metav1.GetOptions{}) + if getErr != nil { + return fmt.Errorf("get existing service account: %w", getErr) + } + if !hasValidatorManagedLabels(existing.Labels) { + return fmt.Errorf( + "refusing to bind ServiceAccount %s/%s which is not managed by nvcf-cli; "+ + "remove it or run against a cluster where the name is free", + clusterValidatorNamespace, name) + } } cr := &rbacv1.ClusterRole{ @@ -297,12 +313,53 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface Name: name, }, } - if _, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); err != nil && !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("create cluster role binding: %w", err) + if _, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); err != nil { + if !apierrors.IsAlreadyExists(err) { + return fmt.Errorf("create cluster role binding: %w", err) + } + existing, getErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) + if getErr != nil { + return fmt.Errorf("get existing cluster role binding: %w", getErr) + } + // An unowned binding with this name may point anywhere, or bind subjects + // we never intended, so never leave it in place and assume it is ours. + if !hasValidatorManagedLabels(existing.Labels) { + return fmt.Errorf( + "refusing to reuse ClusterRoleBinding %s which is not managed by nvcf-cli; "+ + "remove it or run against a cluster where the name is free", name) + } + // Ours, but from an older CLI whose RoleRef or subjects differ. RoleRef + // is immutable, so replace rather than update. + if !clusterRoleBindingMatches(existing, crb) { + if delErr := client.RbacV1().ClusterRoleBindings().Delete(ctx, name, metav1.DeleteOptions{}); delErr != nil && + !apierrors.IsNotFound(delErr) { + return fmt.Errorf("replace stale cluster role binding: %w", delErr) + } + if _, cErr := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); cErr != nil { + return fmt.Errorf("recreate cluster role binding: %w", cErr) + } + } } return nil } +// clusterRoleBindingMatches reports whether an existing binding already grants +// exactly what we intend: the same ClusterRole, to the same single subject. +func clusterRoleBindingMatches(existing, want *rbacv1.ClusterRoleBinding) bool { + if existing.RoleRef != want.RoleRef { + return false + } + if len(existing.Subjects) != len(want.Subjects) { + return false + } + for i := range want.Subjects { + if existing.Subjects[i] != want.Subjects[i] { + return false + } + } + return true +} + func clusterValidatorLabels() map[string]string { return map[string]string{ "app.kubernetes.io/name": clusterValidatorAppLabel, @@ -517,7 +574,10 @@ func buildControlPlaneValidatorConfig(extraRegistries []string) string { // the input has a trailing colon with no digit (e.g. "nvcr.io:"). func parseRegistryHostPort(s string) (host string, port int) { s = strings.TrimSpace(s) - if s == "" { + // Reject anything that is not a bare host[:port]. Callers interpolate the + // result straight into a URL and into the validator ConfigMap, and an empty + // host is the signal to skip the entry entirely. + if !isBareRegistryHost(s) { return "", 0 } h, p, err := net.SplitHostPort(s) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 7298649e44..7fd3f22a51 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -210,20 +210,36 @@ func TestRunClusterValidator_JobFailed(t *testing.T) { } func TestRunClusterValidator_RBACIdempotent(t *testing.T) { - client := fake.NewSimpleClientset() - // Seed the cluster with the SA, ClusterRole, and ClusterRoleBinding so - // each Create returns AlreadyExists. The runner must treat that as + // Seed the SA, ClusterRole and ClusterRoleBinding exactly as a prior run + // would have left them: present, and carrying our managed labels. Each + // Create then returns AlreadyExists and the runner must treat that as // success and proceed to Job creation. - existing := []ktesting.ReactionFunc{ - alreadyExistsReactor("serviceaccounts", clusterValidatorName), - alreadyExistsReactor("clusterroles", clusterValidatorName), - alreadyExistsReactor("clusterrolebindings", clusterValidatorName), - } - verbs := []string{"create"} - resources := []string{"serviceaccounts", "clusterroles", "clusterrolebindings"} - for i, r := range existing { - client.PrependReactor(verbs[0], resources[i], r) - } + // + // Seeding real objects rather than faking AlreadyExists with a reactor + // matters: the runner refetches on conflict to confirm it owns what it is + // about to bind, so a reactor with nothing behind it is not a valid model. + client := fake.NewSimpleClientset( + &corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorName, Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + }}, + &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorName, Labels: clusterValidatorLabels(), + }}, + &rbacv1.ClusterRoleBinding{ + ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorName, Labels: clusterValidatorLabels(), + }, + Subjects: []rbacv1.Subject{{ + Kind: rbacv1.ServiceAccountKind, + Name: clusterValidatorName, + Namespace: clusterValidatorNamespace, + }}, + RoleRef: rbacv1.RoleRef{ + APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: clusterValidatorName, + }, + }, + ) var jobName atomic.Value jobName.Store("") @@ -761,3 +777,78 @@ func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { assert.Equal(t, "operator: content", got.Data["config.yaml"], "the operator's ConfigMap content must be untouched") } + +// An attacker who can create a ServiceAccount in the probe namespace could +// pre-create one under the generated name. Blindly tolerating AlreadyExists +// would then bind that account to the validator ClusterRole, handing whoever +// controls it cluster-wide create/delete on namespaces, pods and daemonsets. +func TestClusterValidatorRBAC_RefusesUnmanagedServiceAccount(t *testing.T) { + ctx := context.Background() + const role = clusterValidatorControlPlaneRole + name := clusterValidatorRBACName(role) + + client := fake.NewSimpleClientset(&corev1.ServiceAccount{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, Namespace: clusterValidatorNamespace, + Labels: map[string]string{"owner": "someone-else"}, + }, + }) + + err := ensureClusterValidatorRBAC(ctx, client, role) + require.Error(t, err, "an unowned ServiceAccount must not be adopted") + assert.Contains(t, err.Error(), "not managed by nvcf-cli") + + _, bindErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(bindErr), + "no ClusterRoleBinding may be created for a ServiceAccount we do not own") +} + +// A pre-existing ClusterRoleBinding under our name may bind subjects we never +// intended, or point at a different role. It must not be silently reused. +func TestClusterValidatorRBAC_RefusesUnmanagedClusterRoleBinding(t *testing.T) { + ctx := context.Background() + const role = clusterValidatorControlPlaneRole + name := clusterValidatorRBACName(role) + + client := fake.NewSimpleClientset(&rbacv1.ClusterRoleBinding{ + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: map[string]string{"owner": "someone-else"}}, + Subjects: []rbacv1.Subject{{ + Kind: rbacv1.ServiceAccountKind, Name: "attacker-sa", Namespace: "default", + }}, + RoleRef: rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: "cluster-admin"}, + }) + + err := ensureClusterValidatorRBAC(ctx, client, role) + require.Error(t, err, "an unowned ClusterRoleBinding must not be reused") + assert.Contains(t, err.Error(), "not managed by nvcf-cli") + + got, getErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) + require.NoError(t, getErr) + assert.Equal(t, "attacker-sa", got.Subjects[0].Name, "the existing binding must be left untouched") +} + +// A binding we own but from an older CLI can point at a stale RoleRef, which is +// immutable, so it has to be replaced rather than updated. +func TestClusterValidatorRBAC_ReplacesOwnedBindingWithStaleRoleRef(t *testing.T) { + ctx := context.Background() + const role = clusterValidatorControlPlaneRole + name := clusterValidatorRBACName(role) + + client := fake.NewSimpleClientset( + &rbacv1.ClusterRoleBinding{ + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: clusterValidatorLabels()}, + Subjects: []rbacv1.Subject{{ + Kind: rbacv1.ServiceAccountKind, Name: "old-name", Namespace: clusterValidatorNamespace, + }}, + RoleRef: rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: "old-role"}, + }, + ) + + require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role)) + + got, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, name, got.RoleRef.Name, "the stale RoleRef must be replaced with the current one") + require.Len(t, got.Subjects, 1) + assert.Equal(t, name, got.Subjects[0].Name, "the subject must be the current ServiceAccount") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 7b12c81332..7029581ab4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -440,7 +440,37 @@ var ngcApprovedHosts = []string{ // domain. The check strips any port from the registry string before matching // so that nvcr.io:443 is handled correctly, and uses dot-boundary matching to // reject deceptive suffixes such as evilnvcr.io or nvidia.com.invalid. +// isBareRegistryHost reports whether s is a plain host[:port], with nothing in +// it that could move the request somewhere else once concatenated into a URL. +// +// This matters because the registry string is interpolated directly into +// "https://" + registry + "/...". A value like "evil.com/x.nvcr.io" ends with a +// trusted suffix but parses to host evil.com, so a suffix check alone would +// authorize sending credentials to an attacker. IPv6 literals keep their +// brackets and are allowed. +func isBareRegistryHost(s string) bool { + if s == "" { + return false + } + // "/" and "@" move the host; "?" and "#" truncate it; whitespace and + // control characters have no place in a hostname. + if strings.ContainsAny(s, "/@?#\\") { + return false + } + for _, r := range s { + if r <= ' ' || r == 0x7f { + return false + } + } + return true +} + func isNGCRegistry(registry string) bool { + // Never treat a value we cannot safely place in a URL as an NGC host: the + // caller uses this to decide whether to forward the NGC API key. + if !isBareRegistryHost(registry) { + return false + } host := registry // Strip port if present (e.g. nvcr.io:5000 -> nvcr.io). if h, _, err := net.SplitHostPort(registry); err == nil { diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 88b5970441..d528c4a174 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -463,3 +463,40 @@ func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { require.Error(t, err, "non-NGC registry must be rejected without issuing a request") assert.Contains(t, err.Error(), "non-NGC registry") } + +// The registry string is concatenated into "https://" + registry + "/...", so a +// suffix match alone is not enough to authorize forwarding the NGC API key: +// "evil.com/x.nvcr.io" ends with a trusted suffix but parses to host evil.com. +func TestIsNGCRegistry_RejectsHostConfusion(t *testing.T) { + for _, tc := range []struct { + registry string + want bool + why string + }{ + {"nvcr.io", true, "the canonical host"}, + {"stg.nvcr.io", true, "a real subdomain"}, + {"evil.com/x.nvcr.io", false, "path component: the request host is evil.com"}, + {"evil.com@nvcr.io", false, "userinfo: not a bare host"}, + {"nvcr.io?x=.nvcr.io", false, "query truncates the host"}, + {"nvcr.io#.nvcr.io", false, "fragment truncates the host"}, + {"nvcr.io.evil.com", false, "deceptive suffix"}, + {"nvcr.io evil.com", false, "whitespace"}, + } { + assert.Equal(t, tc.want, isNGCRegistry(tc.registry), + "isNGCRegistry(%q): %s", tc.registry, tc.why) + } +} + +// A non-bare registry must never reach the NGC token exchange, which attaches +// the API key with basic auth. +func TestExchangeNGCBearerToken_RejectsHostConfusion(t *testing.T) { + t.Setenv("NGC_API_KEY", "test-key") + rec := &recordingTransport{inner: http.DefaultTransport} + client := &http.Client{Transport: rec} + + _, err := exchangeNGCBearerToken(context.Background(), client, "evil.com/x.nvcr.io", "repo/img") + + require.Error(t, err) + assert.Empty(t, rec.withAuth, "the NGC API key must not be sent to a confused host") + assert.Empty(t, rec.requests, "no request may be issued at all") +} From 96d08657699df40ee7ab583d5784149bdffd08e1 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 18:40:19 +0530 Subject: [PATCH 023/127] fix(nvcf-cli): give validator RBAC an unguessable per-run name and reject malformed ports --- .../internal/selfhosted/clustervalidator.go | 206 +++++++-------- .../selfhosted/clustervalidator_test.go | 238 ++++++------------ 2 files changed, 187 insertions(+), 257 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 066223806c..314cea3597 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -19,6 +19,8 @@ package selfhosted import ( "context" + cryptorand "crypto/rand" + "encoding/hex" "fmt" "io" "net" @@ -43,6 +45,9 @@ const ( clusterValidatorPollInterval = 2 * time.Second clusterValidatorTTLSeconds = int32(600) clusterValidatorHintURL = "https://docs.nvidia.com/nvcf/self-managed-clusters#cluster-validator" + // orphanValidatorRBACTTL is the minimum age before leftover validator RBAC + // is reclaimed. Must exceed the validator timeout so a live run is never hit. + orphanValidatorRBACTTL = 30 * time.Minute ) // Vars (not consts) so tests can shorten without the full production budget. @@ -146,7 +151,14 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } }() - if err := ensureClusterValidatorRBAC(vctx, client, role); err != nil { + // Random per-run identity for the SA/ClusterRole/ClusterRoleBinding, so a + // predictable name cannot be pre-created by someone else and then bound to + // the validator's cluster-wide permissions. + runID, err := newValidatorRunID() + if err != nil { + return ClusterValidatorResult{Err: err} + } + if err := ensureClusterValidatorRBAC(vctx, client, role, runID); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } // Remove the ClusterRole and ClusterRoleBinding to minimize the window in @@ -154,7 +166,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // expects to inspect the Job, so the RBAC stays either way. defer func() { if !noCleanup && !podMayBeRunning { - sweepClusterValidatorRBAC(context.Background(), client, role) + sweepClusterValidatorRBAC(context.Background(), client, role, runID) } }() @@ -173,11 +185,12 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } } + sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) sweepPriorClusterValidatorJobs(vctx, client, role) jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) if _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( - vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, noCleanup), metav1.CreateOptions{}, + vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup), metav1.CreateOptions{}, ); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("creating validator Job: %w", err)} } @@ -222,9 +235,9 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // Creates the SA/ClusterRole/ClusterRoleBinding the validator pod runs under, // idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so // newer CLI versions replace stale rules without the operator needing to delete. -func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role string) error { +func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) error { labels := clusterValidatorRoleLabels(role) - name := clusterValidatorRBACName(role) + name := clusterValidatorRBACName(role, runID) sa := &corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ @@ -233,24 +246,11 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface Labels: labels, }, } + // No AlreadyExists tolerance: the name carries a random per-run suffix, so + // anything already sitting there was not put there by this run and must not + // be adopted and bound to the validator ClusterRole. if _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Create(ctx, sa, metav1.CreateOptions{}); err != nil { - if !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("create service account: %w", err) - } - // Do not adopt a ServiceAccount we did not create. The ClusterRoleBinding - // below would bind it to the validator ClusterRole, handing whoever - // controls that account cluster-wide create/delete on namespaces, pods, - // services and daemonsets. - existing, getErr := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, name, metav1.GetOptions{}) - if getErr != nil { - return fmt.Errorf("get existing service account: %w", getErr) - } - if !hasValidatorManagedLabels(existing.Labels) { - return fmt.Errorf( - "refusing to bind ServiceAccount %s/%s which is not managed by nvcf-cli; "+ - "remove it or run against a cluster where the name is free", - clusterValidatorNamespace, name) - } + return fmt.Errorf("create service account: %w", err) } cr := &rbacv1.ClusterRole{ @@ -277,27 +277,11 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, }, } - // Update-or-Create so a future CLI version's expanded rules replace the - // old set; AlreadyExists tolerance alone would silently keep stale rules. - if existing, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil { - // Do not rewrite the rules of a ClusterRole we do not own: this is a - // cluster-scoped privilege object, and an operator-owned one with a - // colliding name would silently have its permissions replaced. - if !hasValidatorManagedLabels(existing.Labels) { - return fmt.Errorf( - "refusing to modify ClusterRole %s which is not managed by nvcf-cli", name) - } - existing.Rules = cr.Rules - existing.Labels = cr.Labels - if _, err := client.RbacV1().ClusterRoles().Update(ctx, existing, metav1.UpdateOptions{}); err != nil { - return fmt.Errorf("update cluster role: %w", err) - } - } else if apierrors.IsNotFound(err) { - if _, err := client.RbacV1().ClusterRoles().Create(ctx, cr, metav1.CreateOptions{}); err != nil && !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("create cluster role: %w", err) - } - } else { - return fmt.Errorf("get cluster role: %w", err) + // Create only, for the same reason as the ServiceAccount above. The name is + // unique per run, so there are no stale rules from an older CLI to refresh + // and nothing legitimate to overwrite. + if _, err := client.RbacV1().ClusterRoles().Create(ctx, cr, metav1.CreateOptions{}); err != nil { + return fmt.Errorf("create cluster role: %w", err) } crb := &rbacv1.ClusterRoleBinding{ @@ -313,53 +297,13 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface Name: name, }, } + // Create only, same reasoning as above. if _, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); err != nil { - if !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("create cluster role binding: %w", err) - } - existing, getErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) - if getErr != nil { - return fmt.Errorf("get existing cluster role binding: %w", getErr) - } - // An unowned binding with this name may point anywhere, or bind subjects - // we never intended, so never leave it in place and assume it is ours. - if !hasValidatorManagedLabels(existing.Labels) { - return fmt.Errorf( - "refusing to reuse ClusterRoleBinding %s which is not managed by nvcf-cli; "+ - "remove it or run against a cluster where the name is free", name) - } - // Ours, but from an older CLI whose RoleRef or subjects differ. RoleRef - // is immutable, so replace rather than update. - if !clusterRoleBindingMatches(existing, crb) { - if delErr := client.RbacV1().ClusterRoleBindings().Delete(ctx, name, metav1.DeleteOptions{}); delErr != nil && - !apierrors.IsNotFound(delErr) { - return fmt.Errorf("replace stale cluster role binding: %w", delErr) - } - if _, cErr := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); cErr != nil { - return fmt.Errorf("recreate cluster role binding: %w", cErr) - } - } + return fmt.Errorf("create cluster role binding: %w", err) } return nil } -// clusterRoleBindingMatches reports whether an existing binding already grants -// exactly what we intend: the same ClusterRole, to the same single subject. -func clusterRoleBindingMatches(existing, want *rbacv1.ClusterRoleBinding) bool { - if existing.RoleRef != want.RoleRef { - return false - } - if len(existing.Subjects) != len(want.Subjects) { - return false - } - for i := range want.Subjects { - if existing.Subjects[i] != want.Subjects[i] { - return false - } - } - return true -} - func clusterValidatorLabels() map[string]string { return map[string]string{ "app.kubernetes.io/name": clusterValidatorAppLabel, @@ -394,8 +338,44 @@ func validatorConfigNameForRole(role string) string { // --no-cleanup is not set) to close the window where the elevated ClusterRole // exists. The next run recreates them via ensureClusterValidatorRBAC. // Errors are swallowed: stale RBAC is preferable to failing the result. -func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role string) { - name := clusterValidatorRBACName(role) +// sweepOrphanClusterValidatorRBAC removes validator RBAC left behind by a run +// that died before its deferred cleanup (SIGKILL, OOM, lost terminal). +// +// Needed because the names are random per run: a fixed name self-healed by +// being reused, these would accumulate. Only objects carrying our labels and +// older than the TTL are removed, so a concurrent run is never disturbed. +func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, ttl time.Duration) { + selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli", + clusterValidatorAppLabel) + cutoff := time.Now().Add(-ttl) + opts := metav1.ListOptions{LabelSelector: selector} + + if l, err := client.RbacV1().ClusterRoleBindings().List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; o.CreationTimestamp.Before(&metav1.Time{Time: cutoff}) { + _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, o.Name, metav1.DeleteOptions{}) + } + } + } + if l, err := client.RbacV1().ClusterRoles().List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; o.CreationTimestamp.Before(&metav1.Time{Time: cutoff}) { + _ = client.RbacV1().ClusterRoles().Delete(ctx, o.Name, metav1.DeleteOptions{}) + } + } + } + sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) + if l, err := sa.List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; o.CreationTimestamp.Before(&metav1.Time{Time: cutoff}) { + _ = sa.Delete(ctx, o.Name, metav1.DeleteOptions{}) + } + } + } +} + +func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) { + name := clusterValidatorRBACName(role, runID) // Delete by name, but only what we own. These are cluster-scoped objects // and the errors here are swallowed, so an operator-owned ClusterRole with @@ -466,17 +446,36 @@ const clusterValidatorNoConfigName = "cluster-validator-no-config" const clusterValidatorRoleLabel = "nvcf.nvidia.com/validator-role" // clusterValidatorRBACName returns the ServiceAccount / ClusterRole / -// ClusterRoleBinding name for a role. +// ClusterRoleBinding name for one run of one role. +// +// The runID is random per run, which is what makes the name safe to create. +// A predictable name can be squatted: the managed labels are three public +// constants, so anyone who can create a ServiceAccount in the probe namespace +// could pre-create one carrying them, and a label check alone would then adopt +// it and bind it to the validator ClusterRole. With an unguessable name there +// is no collision to adopt, so the resources are only ever created by us. // -// Per-role names matter because ModeSplit runs both validators concurrently, -// and the two kubecontexts can resolve to the same cluster. With one shared -// name the first run to finish deletes the RBAC out from under the other run's -// pod, which then fails every API call with "forbidden". -func clusterValidatorRBACName(role string) string { - if role == "" { - return clusterValidatorName - } - return clusterValidatorName + "-" + role +// Per-role naming also matters because ModeSplit runs both validators +// concurrently against contexts that can resolve to the same cluster. +func clusterValidatorRBACName(role, runID string) string { + name := clusterValidatorName + if role != "" { + name += "-" + role + } + if runID != "" { + name += "-" + runID + } + return name +} + +// newValidatorRunID returns an unguessable suffix for this run's RBAC names. +// crypto/rand, not math/rand: a predictable value would defeat the point. +func newValidatorRunID() (string, error) { + b := make([]byte, 5) + if _, err := cryptorand.Read(b); err != nil { + return "", fmt.Errorf("generating run id: %w", err) + } + return hex.EncodeToString(b), nil } // controlPlaneValidatorConfigTemplate is the baseline network-check ConfigMap for @@ -586,12 +585,15 @@ func parseRegistryHostPort(s string) (host string, port int) { return s, 443 } if p == "" { - // Trailing colon with no port digit (e.g. "nvcr.io:"). - return h, 443 + // Trailing colon with no port digit (e.g. "nvcr.io:") is the same typo. + return "", 0 } n, err := strconv.Atoi(p) if err != nil || n <= 0 || n > 65535 { - return h, 443 + // An explicit but unparseable port is a typo, not a request for 443. + // Silently probing a different endpoint than configured would report a + // result for something the operator never asked about. + return "", 0 } return h, n } @@ -599,10 +601,10 @@ func parseRegistryHostPort(s string) (host string, port int) { // buildClusterValidatorJob creates the validator Job. PullIfNotPresent reuses // locally-imported images. VALIDATOR_PREFLIGHT=true skips the summary ConfigMap // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). -func buildClusterValidatorJob(name, image, pullSecret, role string, noCleanup bool) *batchv1.Job { +func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool) *batchv1.Job { backoff := int32(0) podSpec := corev1.PodSpec{ - ServiceAccountName: clusterValidatorRBACName(role), + ServiceAccountName: clusterValidatorRBACName(role, runID), RestartPolicy: corev1.RestartPolicyNever, Containers: []corev1.Container{{ Name: clusterValidatorContainer, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 7fd3f22a51..7706dcd866 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -257,40 +257,6 @@ func TestRunClusterValidator_RBACIdempotent(t *testing.T) { assert.True(t, res.Passed) } -// Regression guard: a ClusterRole left over from an older CLI version must -// be refreshed with the current rule set instead of silently kept stale. -func TestRunClusterValidator_RBACRefreshesClusterRoleRules(t *testing.T) { - oldRules := []rbacv1.PolicyRule{ - {APIGroups: []string{""}, Resources: []string{"nodes"}, Verbs: []string{"get"}}, - } - // Labelled as a prior CLI run would have left it: only a ClusterRole we own - // may have its rules rewritten. - client := fake.NewSimpleClientset(&rbacv1.ClusterRole{ - ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorName, Labels: clusterValidatorLabels()}, - Rules: oldRules, - }) - - var jobName atomic.Value - jobName.Store("") - client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { - jobName.Store(action.(ktesting.CreateAction).GetObject().(*batchv1.Job).Name) - return false, nil, nil - }) - client.PrependReactor("get", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { - return jobSucceededReactor(jobName.Load().(string))(action) - }) - client.PrependReactor("list", "pods", podListReactor("")) - - // noCleanup=true so the ClusterRole is not swept before we inspect it. - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", true, "", nil) - require.NoError(t, res.Err) - - got, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorName, metav1.GetOptions{}) - require.NoError(t, err) - assert.Greater(t, len(got.Rules), len(oldRules), - "ClusterRole rules must be refreshed to the current set on each run, not kept stale") -} - // TestEnsureClusterValidatorRBAC_WritableResources verifies that the // bootstrapped ClusterRole grants the write verbs required by enforcement // checks (namespace/pod create+delete), probe log reading (pods/log get), @@ -300,9 +266,10 @@ func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { ctx := context.Background() const role = clusterValidatorControlPlaneRole - require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role)) + const runID = "testrunid" + require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role, runID)) - cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorRBACName(role), metav1.GetOptions{}) + cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorRBACName(role, runID), metav1.GetOptions{}) require.NoError(t, err) type check struct { @@ -511,7 +478,7 @@ func TestRunClusterValidator_ContextCanceled(t *testing.T) { } func TestBuildClusterValidatorJobShape(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", false) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false) assert.Equal(t, "test-job", job.Name) assert.Equal(t, clusterValidatorNamespace, job.Namespace) @@ -528,8 +495,8 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { "IfNotPresent so locally-imported images (k3d image import, kind load) are picked up without a registry pull") assert.Equal(t, corev1.RestartPolicyNever, job.Spec.Template.Spec.RestartPolicy, "validator is a one-shot command, not a long-running service") - assert.Equal(t, clusterValidatorName, job.Spec.Template.Spec.ServiceAccountName, - "pod must run under the CLI-bootstrapped SA, not the namespace default") + assert.Equal(t, clusterValidatorRBACName("", "runid"), job.Spec.Template.Spec.ServiceAccountName, + "pod must run under this run's bootstrapped SA, not the namespace default") labels := job.Labels assert.Equal(t, clusterValidatorAppLabel, labels["app.kubernetes.io/name"]) @@ -548,7 +515,7 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { } func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, false) + job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, "runid", false) env := map[string]string{} for _, e := range job.Spec.Template.Spec.Containers[0].Env { env[e.Name] = e.Value @@ -558,19 +525,19 @@ func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { } func TestBuildClusterValidatorJobShape_WithPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", false) + job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", "runid", false) require.Len(t, job.Spec.Template.Spec.ImagePullSecrets, 1) assert.Equal(t, "nvcr-pull-secret", job.Spec.Template.Spec.ImagePullSecrets[0].Name) } func TestBuildClusterValidatorJobShape_NoPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", false) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false) assert.Empty(t, job.Spec.Template.Spec.ImagePullSecrets, "empty pull-secret arg must not produce an empty-name ImagePullSecrets entry") } func TestBuildClusterValidatorJobShape_NoCleanup(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", true) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", true) assert.Nil(t, job.Spec.TTLSecondsAfterFinished, "--no-cleanup must omit TTLSecondsAfterFinished so the Job persists for debugging") } @@ -670,8 +637,13 @@ func TestParseRegistryHostPort(t *testing.T) { // IPv6: net.SplitHostPort handles bracketed literals correctly. {"[::1]:5000", "::1", 5000}, {"[2001:db8::1]:443", "2001:db8::1", 443}, - // Trailing colon with no digit → default to 443. - {"nvcr.io:", "nvcr.io", 443}, + // An explicit but unusable port is a typo, not a request for 443: + // probing a different endpoint than configured reports a result for + // something the operator never asked about. + {"nvcr.io:", "", 0}, + {"nvcr.io:abc", "", 0}, + {"nvcr.io:0", "", 0}, + {"nvcr.io:70000", "", 0}, } for _, tt := range tests { t.Run(tt.in, func(t *testing.T) { @@ -697,64 +669,6 @@ func alreadyExistsReactor(resource, name string) ktesting.ReactionFunc { } } -// ModeSplit runs both validators concurrently, and the two kubecontexts can -// resolve to the same cluster. With one shared RBAC name the first run to -// finish deletes the ServiceAccount, ClusterRole and binding out from under the -// other run's pod, which then fails every API call with "forbidden". -func TestClusterValidatorRBAC_IsScopedPerRole(t *testing.T) { - client := fake.NewSimpleClientset() - ctx := context.Background() - - cpName := clusterValidatorRBACName(clusterValidatorControlPlaneRole) - gpuName := clusterValidatorRBACName("compute-plane") - require.NotEqual(t, cpName, gpuName, "each role needs its own RBAC identity") - - require.NoError(t, ensureClusterValidatorRBAC(ctx, client, clusterValidatorControlPlaneRole)) - require.NoError(t, ensureClusterValidatorRBAC(ctx, client, "compute-plane")) - - // Sweeping one role must leave the other's RBAC intact. - sweepClusterValidatorRBAC(ctx, client, clusterValidatorControlPlaneRole) - - _, err := client.RbacV1().ClusterRoles().Get(ctx, cpName, metav1.GetOptions{}) - assert.True(t, apierrors.IsNotFound(err), "the swept role's ClusterRole must be gone") - - _, err = client.RbacV1().ClusterRoles().Get(ctx, gpuName, metav1.GetOptions{}) - assert.NoError(t, err, "the other role's ClusterRole must survive") - - _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, gpuName, metav1.GetOptions{}) - assert.NoError(t, err, "the other role's ServiceAccount must survive") -} - -// A ClusterRole is a cluster-scoped privilege object. An operator-owned one with -// a colliding name must not have its rules rewritten, and the sweep must not -// delete it. -func TestClusterValidatorRBAC_RefusesUnmanagedClusterRole(t *testing.T) { - ctx := context.Background() - const role = clusterValidatorControlPlaneRole - name := clusterValidatorRBACName(role) - - operatorRules := []rbacv1.PolicyRule{ - {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"get"}}, - } - client := fake.NewSimpleClientset(&rbacv1.ClusterRole{ - ObjectMeta: metav1.ObjectMeta{Name: name, Labels: map[string]string{"owner": "operator"}}, - Rules: operatorRules, - }) - - err := ensureClusterValidatorRBAC(ctx, client, role) - require.Error(t, err, "an unmanaged ClusterRole must not be rewritten") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") - - got, getErr := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}) - require.NoError(t, getErr) - assert.Equal(t, operatorRules, got.Rules, "the operator's rules must be untouched") - - // The sweep must leave it alone too, even though it matches by name. - sweepClusterValidatorRBAC(ctx, client, role) - _, getErr = client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}) - assert.NoError(t, getErr, "the sweep must not delete a ClusterRole it does not own") -} - // The same invariant for the network-check ConfigMap. func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { ctx := context.Background() @@ -778,77 +692,91 @@ func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { "the operator's ConfigMap content must be untouched") } -// An attacker who can create a ServiceAccount in the probe namespace could -// pre-create one under the generated name. Blindly tolerating AlreadyExists -// would then bind that account to the validator ClusterRole, handing whoever -// controls it cluster-wide create/delete on namespaces, pods and daemonsets. -func TestClusterValidatorRBAC_RefusesUnmanagedServiceAccount(t *testing.T) { +// The managed labels are three public constants, so a label check alone cannot +// establish ownership: anyone able to create a ServiceAccount in the probe +// namespace could stamp them. Safety comes from the name being unguessable, so +// there is no predictable object to pre-create and get bound to the validator's +// cluster-wide permissions. +func TestClusterValidatorRBACName_IsUnpredictableAndPerRun(t *testing.T) { + a, err := newValidatorRunID() + require.NoError(t, err) + b, err := newValidatorRunID() + require.NoError(t, err) + + assert.NotEqual(t, a, b, "each run must get a distinct identity") + assert.NotEmpty(t, a) + + const role = clusterValidatorControlPlaneRole + assert.NotEqual(t, clusterValidatorRBACName(role, a), clusterValidatorRBACName(role, b), + "RBAC names must differ per run") + assert.NotEqual(t, clusterValidatorRBACName(role, a), clusterValidatorRBACName("compute-plane", a), + "RBAC names must differ per role within a run") +} + +// Nothing pre-existing is adopted: creation is unconditional, so a squatted +// object surfaces as an error rather than being bound to our ClusterRole. +func TestEnsureClusterValidatorRBAC_DoesNotAdoptExistingObjects(t *testing.T) { ctx := context.Background() const role = clusterValidatorControlPlaneRole - name := clusterValidatorRBACName(role) + const runID = "collide" + name := clusterValidatorRBACName(role, runID) + // Forged managed labels: a label check alone would have adopted this. client := fake.NewSimpleClientset(&corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ - Name: name, Namespace: clusterValidatorNamespace, - Labels: map[string]string{"owner": "someone-else"}, + Name: name, Namespace: clusterValidatorNamespace, Labels: clusterValidatorLabels(), }, }) - err := ensureClusterValidatorRBAC(ctx, client, role) - require.Error(t, err, "an unowned ServiceAccount must not be adopted") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") + err := ensureClusterValidatorRBAC(ctx, client, role, runID) + require.Error(t, err, "a pre-existing object must not be adopted, forged labels or not") _, bindErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) assert.True(t, apierrors.IsNotFound(bindErr), - "no ClusterRoleBinding may be created for a ServiceAccount we do not own") + "no binding may be created when the ServiceAccount was not created by this run") } -// A pre-existing ClusterRoleBinding under our name may bind subjects we never -// intended, or point at a different role. It must not be silently reused. -func TestClusterValidatorRBAC_RefusesUnmanagedClusterRoleBinding(t *testing.T) { +// Random names cannot self-heal by being reused next run, so leftovers from a +// killed run are reclaimed by age. A fresh one must survive: it may belong to a +// run happening right now. +func TestSweepOrphanClusterValidatorRBAC_AgeScoped(t *testing.T) { ctx := context.Background() - const role = clusterValidatorControlPlaneRole - name := clusterValidatorRBACName(role) + old := metav1.NewTime(time.Now().Add(-2 * time.Hour)) + now := metav1.NewTime(time.Now()) - client := fake.NewSimpleClientset(&rbacv1.ClusterRoleBinding{ - ObjectMeta: metav1.ObjectMeta{Name: name, Labels: map[string]string{"owner": "someone-else"}}, - Subjects: []rbacv1.Subject{{ - Kind: rbacv1.ServiceAccountKind, Name: "attacker-sa", Namespace: "default", + client := fake.NewSimpleClientset( + &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ + Name: "stale", Labels: clusterValidatorLabels(), CreationTimestamp: old, }}, - RoleRef: rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: "cluster-admin"}, - }) - - err := ensureClusterValidatorRBAC(ctx, client, role) - require.Error(t, err, "an unowned ClusterRoleBinding must not be reused") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") + &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ + Name: "fresh", Labels: clusterValidatorLabels(), CreationTimestamp: now, + }}, + &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ + Name: "theirs", Labels: map[string]string{"owner": "operator"}, CreationTimestamp: old, + }}, + ) - got, getErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) - require.NoError(t, getErr) - assert.Equal(t, "attacker-sa", got.Subjects[0].Name, "the existing binding must be left untouched") -} + sweepOrphanClusterValidatorRBAC(ctx, client, orphanValidatorRBACTTL) -// A binding we own but from an older CLI can point at a stale RoleRef, which is -// immutable, so it has to be replaced rather than updated. -func TestClusterValidatorRBAC_ReplacesOwnedBindingWithStaleRoleRef(t *testing.T) { - ctx := context.Background() - const role = clusterValidatorControlPlaneRole - name := clusterValidatorRBACName(role) + _, err := client.RbacV1().ClusterRoles().Get(ctx, "stale", metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "a leftover past the TTL must be reclaimed") - client := fake.NewSimpleClientset( - &rbacv1.ClusterRoleBinding{ - ObjectMeta: metav1.ObjectMeta{Name: name, Labels: clusterValidatorLabels()}, - Subjects: []rbacv1.Subject{{ - Kind: rbacv1.ServiceAccountKind, Name: "old-name", Namespace: clusterValidatorNamespace, - }}, - RoleRef: rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: "old-role"}, - }, - ) + _, err = client.RbacV1().ClusterRoles().Get(ctx, "fresh", metav1.GetOptions{}) + assert.NoError(t, err, "a recent one may belong to a concurrent run") - require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role)) + _, err = client.RbacV1().ClusterRoles().Get(ctx, "theirs", metav1.GetOptions{}) + assert.NoError(t, err, "an unlabelled ClusterRole is not ours to delete") +} - got, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, name, got.RoleRef.Name, "the stale RoleRef must be replaced with the current one") - require.Len(t, got.Subjects, 1) - assert.Equal(t, name, got.Subjects[0].Name, "the subject must be the current ServiceAccount") +// An explicit but unparseable port is a typo. Silently probing 443 would report +// a result for an endpoint the operator never configured. +func TestParseRegistryHostPort_RejectsMalformedExplicitPort(t *testing.T) { + for _, in := range []string{"registry.example:abc", "registry.example:0", "registry.example:99999", "registry.example:"} { + host, port := parseRegistryHostPort(in) + assert.Empty(t, host, "%q must be rejected, not defaulted", in) + assert.Zero(t, port, "%q must not fall back to a port", in) + } + host, port := parseRegistryHostPort("registry.example") + assert.Equal(t, "registry.example", host, "no explicit port keeps the default") + assert.Equal(t, 443, port) } From cbd2c1ff0105f31989f220fb0c65eb3ced7434ab Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 19:11:53 +0530 Subject: [PATCH 024/127] fix(nvcf-cli): require the generated name before deleting any validator resource --- .../internal/selfhosted/clustervalidator.go | 69 ++++++++++++---- .../selfhosted/clustervalidator_test.go | 82 +++++++++++++------ .../internal/selfhosted/pullsecret_test.go | 32 +++++--- 3 files changed, 128 insertions(+), 55 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 314cea3597..4030172ebd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -345,21 +345,34 @@ func validatorConfigNameForRole(role string) string { // being reused, these would accumulate. Only objects carrying our labels and // older than the TTL are removed, so a concurrent run is never disturbed. func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, ttl time.Duration) { - selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli", + // All three managed labels, not two: the component label is part of what + // identifies these as ours. + selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,app.kubernetes.io/component=preflight", clusterValidatorAppLabel) - cutoff := time.Now().Add(-ttl) opts := metav1.ListOptions{LabelSelector: selector} + cutoff := metav1.Time{Time: time.Now().Add(-ttl)} + + // reclaimable requires the generated name as well as the labels and the + // age. Labels alone are three public constants and can be copied onto + // anything, and this deletes cluster-scoped objects with errors swallowed. + reclaimable := func(o metav1.Object) bool { + if !strings.HasPrefix(o.GetName(), clusterValidatorName) { + return false + } + ts := o.GetCreationTimestamp() + return ts.Before(&cutoff) + } if l, err := client.RbacV1().ClusterRoleBindings().List(ctx, opts); err == nil { for i := range l.Items { - if o := &l.Items[i]; o.CreationTimestamp.Before(&metav1.Time{Time: cutoff}) { + if o := &l.Items[i]; reclaimable(o) { _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, o.Name, metav1.DeleteOptions{}) } } } if l, err := client.RbacV1().ClusterRoles().List(ctx, opts); err == nil { for i := range l.Items { - if o := &l.Items[i]; o.CreationTimestamp.Before(&metav1.Time{Time: cutoff}) { + if o := &l.Items[i]; reclaimable(o) { _ = client.RbacV1().ClusterRoles().Delete(ctx, o.Name, metav1.DeleteOptions{}) } } @@ -367,7 +380,7 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) if l, err := sa.List(ctx, opts); err == nil { for i := range l.Items { - if o := &l.Items[i]; o.CreationTimestamp.Before(&metav1.Time{Time: cutoff}) { + if o := &l.Items[i]; reclaimable(o) { _ = sa.Delete(ctx, o.Name, metav1.DeleteOptions{}) } } @@ -399,14 +412,22 @@ func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Interface, role string) { // Scope to this role: in ModeSingle both roles run against the same // cluster, so an unscoped selector deletes the other role's Job mid-command. - selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,%s=%s", - clusterValidatorAppLabel, clusterValidatorRoleLabel, role) + // + // List-then-delete rather than DeleteCollection: the name has to be checked + // too, which a collection selector cannot express, and the labels alone are + // public constants that anything could carry. + jobs := client.BatchV1().Jobs(clusterValidatorNamespace) + l, err := jobs.List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(role)}) + if err != nil { + return + } propagation := metav1.DeletePropagationBackground - _ = client.BatchV1().Jobs(clusterValidatorNamespace).DeleteCollection( - ctx, - metav1.DeleteOptions{PropagationPolicy: &propagation}, - metav1.ListOptions{LabelSelector: selector}, - ) + for i := range l.Items { + if !strings.HasPrefix(l.Items[i].Name, clusterValidatorName) { + continue + } + _ = jobs.Delete(ctx, l.Items[i].Name, metav1.DeleteOptions{PropagationPolicy: &propagation}) + } } // sweepManagedPullSecrets removes any docker-registry secrets in @@ -418,13 +439,25 @@ func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Inter // labeled by us and are skipped by the selector. Errors are swallowed: // failing to clean up is preferable to failing the check itself. func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role string) { - selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,%s=%s", + // Same reasoning as sweepPriorClusterValidatorJobs: the generated name is + // part of the ownership test, not just the labels. + secrets := client.CoreV1().Secrets(clusterValidatorNamespace) + l, err := secrets.List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(role)}) + if err != nil { + return + } + for i := range l.Items { + if !strings.HasPrefix(l.Items[i].Name, validatorPullSecretName) { + continue + } + _ = secrets.Delete(ctx, l.Items[i].Name, metav1.DeleteOptions{}) + } +} + +// validatorRoleSelector matches objects this CLI created for one validator role. +func validatorRoleSelector(role string) string { + return fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,app.kubernetes.io/component=preflight,%s=%s", clusterValidatorAppLabel, clusterValidatorRoleLabel, role) - _ = client.CoreV1().Secrets(clusterValidatorNamespace).DeleteCollection( - ctx, - metav1.DeleteOptions{}, - metav1.ListOptions{LabelSelector: selector}, - ) } // clusterValidatorControlPlaneRole is the role value passed as VALIDATOR_ROLE diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 7706dcd866..c6c2114d51 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -99,15 +99,6 @@ func podListReactor(waitingReason string) ktesting.ReactionFunc { } } -func hasActionPrefix(actions []ktesting.Action, verb, resource string) bool { - for _, a := range actions { - if a.GetVerb() == verb && a.GetResource().Resource == resource { - return true - } - } - return false -} - func TestRunClusterValidator_EmptyImage(t *testing.T) { // In normal flow the caller gates on a configured image, so this // branch is defensive. Verify it returns a clear error and makes @@ -174,19 +165,20 @@ func TestRunClusterValidator_HappyPath(t *testing.T) { assert.Equal(t, int32(0), res.ExitCode) assert.NotEmpty(t, res.JobName, "JobName must be populated so operators can read logs after the run") - // Sweep must run before create so the singleton invariant holds. + // Sweep must run before create so the singleton invariant holds. The sweep + // lists rather than issuing a DeleteCollection, because the generated name + // has to be checked too and a collection selector cannot express that. actions := client.Actions() - require.True(t, hasActionPrefix(actions, "delete-collection", "jobs"), - "runClusterValidator must sweep prior Jobs before creating the new one") var sweepIdx, createIdx = -1, -1 for i, a := range actions { - if a.GetVerb() == "delete-collection" && a.GetResource().Resource == "jobs" && sweepIdx == -1 { + if a.GetVerb() == "list" && a.GetResource().Resource == "jobs" && sweepIdx == -1 { sweepIdx = i } if a.GetVerb() == "create" && a.GetResource().Resource == "jobs" && createIdx == -1 { createIdx = i } } + require.NotEqual(t, -1, sweepIdx, "runClusterValidator must sweep prior Jobs before creating the new one") assert.Less(t, sweepIdx, createIdx, "sweep must precede create in action sequence") } @@ -737,35 +729,41 @@ func TestEnsureClusterValidatorRBAC_DoesNotAdoptExistingObjects(t *testing.T) { } // Random names cannot self-heal by being reused next run, so leftovers from a -// killed run are reclaimed by age. A fresh one must survive: it may belong to a -// run happening right now. -func TestSweepOrphanClusterValidatorRBAC_AgeScoped(t *testing.T) { +// killed run are reclaimed by age. Two things must survive: anything recent +// (it may belong to a run happening right now) and anything whose name is not +// one we generate, even when it carries our labels. Those labels are three +// public constants, so they can be copied onto anything. +func TestSweepOrphanClusterValidatorRBAC_RequiresNameLabelsAndAge(t *testing.T) { ctx := context.Background() old := metav1.NewTime(time.Now().Add(-2 * time.Hour)) now := metav1.NewTime(time.Now()) + staleName := clusterValidatorRBACName(clusterValidatorControlPlaneRole, "deadbeef01") + freshName := clusterValidatorRBACName("compute-plane", "cafebabe02") client := fake.NewSimpleClientset( &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ - Name: "stale", Labels: clusterValidatorLabels(), CreationTimestamp: old, + Name: staleName, Labels: clusterValidatorLabels(), CreationTimestamp: old, }}, &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ - Name: "fresh", Labels: clusterValidatorLabels(), CreationTimestamp: now, + Name: freshName, Labels: clusterValidatorLabels(), CreationTimestamp: now, }}, + // Our labels, but not a name we generate: an operator copying the + // labels onto their own ClusterRole must not have it deleted. &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ - Name: "theirs", Labels: map[string]string{"owner": "operator"}, CreationTimestamp: old, + Name: "operator-owned-role", Labels: clusterValidatorLabels(), CreationTimestamp: old, }}, ) sweepOrphanClusterValidatorRBAC(ctx, client, orphanValidatorRBACTTL) - _, err := client.RbacV1().ClusterRoles().Get(ctx, "stale", metav1.GetOptions{}) - assert.True(t, apierrors.IsNotFound(err), "a leftover past the TTL must be reclaimed") + _, err := client.RbacV1().ClusterRoles().Get(ctx, staleName, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "a generated name past the TTL must be reclaimed") - _, err = client.RbacV1().ClusterRoles().Get(ctx, "fresh", metav1.GetOptions{}) + _, err = client.RbacV1().ClusterRoles().Get(ctx, freshName, metav1.GetOptions{}) assert.NoError(t, err, "a recent one may belong to a concurrent run") - _, err = client.RbacV1().ClusterRoles().Get(ctx, "theirs", metav1.GetOptions{}) - assert.NoError(t, err, "an unlabelled ClusterRole is not ours to delete") + _, err = client.RbacV1().ClusterRoles().Get(ctx, "operator-owned-role", metav1.GetOptions{}) + assert.NoError(t, err, "matching labels alone must not authorize deleting someone else's object") } // An explicit but unparseable port is a typo. Silently probing 443 would report @@ -780,3 +778,39 @@ func TestParseRegistryHostPort_RejectsMalformedExplicitPort(t *testing.T) { assert.Equal(t, "registry.example", host, "no explicit port keeps the default") assert.Equal(t, 443, port) } + +// The prior-run Job sweep deletes by label plus generated name. Labels alone +// are three public constants, so a Job carrying them under an unrelated name is +// not ours to delete. +func TestSweepPriorClusterValidatorJobs_RequiresGeneratedName(t *testing.T) { + ctx := context.Background() + const role = clusterValidatorControlPlaneRole + ours := clusterValidatorName + "-1700000000" + + client := fake.NewSimpleClientset( + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ + Name: ours, Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels(role), + }}, + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ + Name: "operator-owned-job", Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels(role), + }}, + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorName + "-9999999999", Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels("compute-plane"), + }}, + ) + + sweepPriorClusterValidatorJobs(ctx, client, role) + + jobs := client.BatchV1().Jobs(clusterValidatorNamespace) + _, err := jobs.Get(ctx, ours, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "this role's prior Job must be swept") + + _, err = jobs.Get(ctx, "operator-owned-job", metav1.GetOptions{}) + assert.NoError(t, err, "matching labels alone must not authorize deleting someone else's Job") + + _, err = jobs.Get(ctx, clusterValidatorName+"-9999999999", metav1.GetOptions{}) + assert.NoError(t, err, "the other role's Job must survive") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 80aa267b6a..80cc3b3ae8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -422,29 +422,35 @@ func TestResolveValidatorPullSecret_UnparsableImage(t *testing.T) { // Job is still pulling, which the kubelet reports as // FailedToRetrieveImagePullSecret. // -// The sweep is asserted through a reactor rather than by observing deletions: -// the fake clientset implements DeleteCollection as a no-op, so a state-based -// assertion here would pass whatever the selector said. +// State-assertable now that the sweep lists and deletes individually; the fake +// clientset implements DeleteCollection as a no-op. func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { ctx := context.Background() - cpName := validatorPullSecretRoleName(clusterValidatorControlPlaneRole) gpuName := validatorPullSecretRoleName("compute-plane") require.NotEqual(t, cpName, gpuName, "each role needs its own managed pull secret") + cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") client := fake.NewSimpleClientset() - var gotSelector string - client.PrependReactor("delete-collection", "secrets", - func(action ktesting.Action) (bool, runtime.Object, error) { - gotSelector = action.(ktesting.DeleteCollectionAction). - GetListRestrictions().Labels.String() - return true, nil, nil - }) + require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + cpName, clusterValidatorControlPlaneRole, cfg)) + require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + gpuName, "compute-plane", cfg)) + // Our labels, but not a name we generate: must survive. + require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + "operator-owned-secret", clusterValidatorControlPlaneRole, cfg)) sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole) - assert.Contains(t, gotSelector, clusterValidatorRoleLabel+"="+clusterValidatorControlPlaneRole, - "the sweep must select on the role so it cannot delete the other role's secret") + secrets := client.CoreV1().Secrets(clusterValidatorNamespace) + _, err := secrets.Get(ctx, cpName, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "this role's managed secret must be swept") + + _, err = secrets.Get(ctx, gpuName, metav1.GetOptions{}) + assert.NoError(t, err, "the other role's secret must survive") + + _, err = secrets.Get(ctx, "operator-owned-secret", metav1.GetOptions{}) + assert.NoError(t, err, "matching labels alone must not authorize deleting someone else's secret") } // The managed labels a created secret carries must satisfy the sweep selector From ca3a28c6030347482bcc212ac3503b721511769f Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 19:32:38 +0530 Subject: [PATCH 025/127] refactor(nvcf-cli): derive validator label selectors from the managed label maps --- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 23 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 8adbcd82e0..730c3ebb46 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -46,6 +46,7 @@ go_library( "@io_k8s_api//rbac/v1:rbac", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/labels", "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//rest", "@io_k8s_client_go//tools/clientcmd", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 4030172ebd..926532b994 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -34,6 +34,7 @@ import ( rbacv1 "k8s.io/api/rbac/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes" ) @@ -236,14 +237,14 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so // newer CLI versions replace stale rules without the operator needing to delete. func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) error { - labels := clusterValidatorRoleLabels(role) + roleLabels := clusterValidatorRoleLabels(role) name := clusterValidatorRBACName(role, runID) sa := &corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: clusterValidatorNamespace, - Labels: labels, + Labels: roleLabels, }, } // No AlreadyExists tolerance: the name carries a random per-run suffix, so @@ -254,7 +255,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface } cr := &rbacv1.ClusterRole{ - ObjectMeta: metav1.ObjectMeta{Name: name, Labels: labels}, + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: roleLabels}, Rules: []rbacv1.PolicyRule{ // Read-only: cluster inventory and configuration. {APIGroups: []string{""}, Resources: []string{"nodes", "configmaps"}, Verbs: []string{"get", "list", "watch"}}, @@ -285,7 +286,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface } crb := &rbacv1.ClusterRoleBinding{ - ObjectMeta: metav1.ObjectMeta{Name: name, Labels: labels}, + ObjectMeta: metav1.ObjectMeta{Name: name, Labels: roleLabels}, Subjects: []rbacv1.Subject{{ Kind: rbacv1.ServiceAccountKind, Name: name, @@ -345,11 +346,10 @@ func validatorConfigNameForRole(role string) string { // being reused, these would accumulate. Only objects carrying our labels and // older than the TTL are removed, so a concurrent run is never disturbed. func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, ttl time.Duration) { - // All three managed labels, not two: the component label is part of what - // identifies these as ours. - selector := fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,app.kubernetes.io/component=preflight", - clusterValidatorAppLabel) - opts := metav1.ListOptions{LabelSelector: selector} + // Derived from the same map the objects are stamped with, so the selector + // cannot drift from the labels. All three managed labels are required: the + // component label is part of what identifies these as ours. + opts := metav1.ListOptions{LabelSelector: labels.SelectorFromSet(clusterValidatorLabels()).String()} cutoff := metav1.Time{Time: time.Now().Add(-ttl)} // reclaimable requires the generated name as well as the labels and the @@ -455,9 +455,10 @@ func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, r } // validatorRoleSelector matches objects this CLI created for one validator role. +// Derived from clusterValidatorRoleLabels so it cannot drift from the labels +// actually stamped on the objects. func validatorRoleSelector(role string) string { - return fmt.Sprintf("app.kubernetes.io/name=%s,app.kubernetes.io/managed-by=nvcf-cli,app.kubernetes.io/component=preflight,%s=%s", - clusterValidatorAppLabel, clusterValidatorRoleLabel, role) + return labels.SelectorFromSet(clusterValidatorRoleLabels(role)).String() } // clusterValidatorControlPlaneRole is the role value passed as VALIDATOR_ROLE From 46bac78c7357345a1b25d9c8401a3d6dfe344e6e Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 15 Sep 2026 20:00:35 +0530 Subject: [PATCH 026/127] fix(nvcf-cli): run split-mode preflight only for the roles the flags target --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 112 +++++++++++------ .../nvcf-cli/cmd/self_hosted_check_test.go | 113 ++++++++++++++++++ .../nvcf-cli/internal/selfhosted/preflight.go | 11 +- 3 files changed, 197 insertions(+), 39 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index ce9e436ca7..c87220f74e 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -392,6 +392,32 @@ func controlPlaneIsTargeted(mode kubectx.Mode) bool { return checkControlPlane || checkAll || (checkPre && mode == kubectx.ModeSingle) } +// The *IsVisited pair reports whether a cluster should be contacted at all, +// which is broader than whether its role-specific check set runs. --pre in +// ModeSplit visits both clusters for the shared pre-install checks (stale +// namespaces) without targeting either role, so the targeting predicates alone +// cannot gate the dispatch. In ModeSingle --pre already targets both roles and +// these are equivalent to their *IsTargeted counterparts. +func computePlaneIsVisited(mode kubectx.Mode) bool { + return computePlaneIsTargeted(mode) || checkPre +} + +func controlPlaneIsVisited(mode kubectx.Mode) bool { + return controlPlaneIsTargeted(mode) || checkPre +} + +// withoutHostLocalChecks returns a copy of cfg with the inputs for the checks +// that run on the operator's machine cleared: local tool versions and registry +// credentials. Neither contacts a cluster, so exactly one role invocation must +// carry them. Without this both roles emit the same check IDs, which +// double-counts them in the pass/fail totals and repeats them in --json. +func withoutHostLocalChecks(cfg selfhosted.PreflightConfig) selfhosted.PreflightConfig { + cfg.Tools = nil + cfg.Registries = nil + cfg.RegistryChecker = nil + return cfg +} + // maybeShowClusterValidatorLogs prints the cleaned cluster-validator transcript // to the given writer when --show-logs is set, framed by markers so operators // can find it in mixed CLI output. Silent no-op when: @@ -504,43 +530,61 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin cpClusterValidator = newClusterValidatorForSelfHosted() } + // Local tool versions and registry credentials are checked on the + // operator's machine, so they belong to one invocation only. The control + // plane carries them when it runs; otherwise the compute plane does, so + // neither is silently dropped by a compute-plane-only invocation. + runControlPlane := controlPlaneIsVisited(mode) + runComputePlane := computePlaneIsVisited(mode) + cpCfg, gpuCfg := cfg, cfg + if runControlPlane { + gpuCfg = withoutHostLocalChecks(cfg) + } + switch mode { case kubectx.ModeSplit: // Run both roles in parallel; each gets its own kubeconfig context. + // Each dispatch is gated: with only one role selected the other + // cluster is never contacted, so its stale-namespace probe cannot + // report a failure the operator did not ask about. var ( cpResults []selfhosted.CheckResult gpuResults []selfhosted.CheckResult ) eg, egCtx := errgroup.WithContext(ctx) - eg.Go(func() error { - rc := selfhosted.RoleConfig{ - KubeContext: selfHostedControlPlaneContext, - ClusterValidator: cpClusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorRegistries: registries, - StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedControlPlaneStack), - } - cpResults = selfhosted.RunPreflightForRole(egCtx, cfg, selfhosted.RoleControlPlane, rc, sink) - return nil - }) - eg.Go(func() error { - rc := selfhosted.RoleConfig{ - KubeContext: selfHostedComputePlaneContext, - SISURL: icmsURL, - InotifyProber: inotifyProber, - ClusterValidator: clusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedComputePlaneStack), - } - gpuResults = selfhosted.RunPreflightForRole(egCtx, cfg, selfhosted.RoleComputePlane, rc, sink) - return nil - }) + if runControlPlane { + eg.Go(func() error { + rc := selfhosted.RoleConfig{ + KubeContext: selfHostedControlPlaneContext, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedControlPlaneStack), + } + cpResults = selfhosted.RunPreflightForRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) + return nil + }) + } + if runComputePlane { + eg.Go(func() error { + rc := selfhosted.RoleConfig{ + KubeContext: selfHostedComputePlaneContext, + SISURL: icmsURL, + InotifyProber: inotifyProber, + ClusterValidator: clusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedComputePlaneStack), + } + gpuResults = selfhosted.RunPreflightForRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) + return nil + }) + } _ = eg.Wait() return append(cpResults, gpuResults...) @@ -553,13 +597,13 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // second exec-credential-plugin prompt. staleForControlPlane := staleNSProber staleForComputePlane := staleNSProber - if controlPlaneIsTargeted(mode) { + if runControlPlane { staleForComputePlane = nil } else { staleForControlPlane = nil } - if controlPlaneIsTargeted(mode) { + if runControlPlane { cpRC := selfhosted.RoleConfig{ SISURL: icmsURL, ClusterValidator: cpClusterValidator, @@ -571,9 +615,9 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin StackDir: localStackDir(selfHostedControlPlaneStack), } results = append(results, - selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleControlPlane, cpRC, sink)...) + selfhosted.RunPreflightForRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) } - if computePlaneIsTargeted(mode) { + if runComputePlane { gpuRC := selfhosted.RoleConfig{ SISURL: icmsURL, InotifyProber: inotifyProber, @@ -585,7 +629,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin StackDir: localStackDir(selfHostedComputePlaneStack), } results = append(results, - selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleComputePlane, gpuRC, sink)...) + selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) } return results } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 38fed5637d..cca9e83dd9 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -563,3 +563,116 @@ func parseJSONLLines(t *testing.T, s string) []map[string]any { } return out } + +// TestPlaneIsVisited covers the dispatch predicates, which are broader than +// the targeting predicates: --pre in ModeSplit visits both clusters for the +// shared pre-install checks without targeting either role. Gating the split +// dispatch on the targeting predicates alone would make --pre a no-op there. +func TestPlaneIsVisited(t *testing.T) { + t.Cleanup(func() { + checkPre = false + checkControlPlane = false + checkComputePlane = false + checkAll = false + }) + + tests := []struct { + name string + pre, cp, gpu bool + all bool + mode kubectx.Mode + wantCP bool + wantComputeGP bool + }{ + {"--pre split visits both", true, false, false, false, kubectx.ModeSplit, true, true}, + {"--pre single visits both", true, false, false, false, kubectx.ModeSingle, true, true}, + {"--control-plane split skips compute", false, true, false, false, kubectx.ModeSplit, true, false}, + {"--compute-plane split skips control", false, false, true, false, kubectx.ModeSplit, false, true}, + {"--all split visits both", false, false, false, true, kubectx.ModeSplit, true, true}, + {"--control-plane single skips compute", false, true, false, false, kubectx.ModeSingle, true, false}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + checkPre, checkControlPlane, checkComputePlane, checkAll = tt.pre, tt.cp, tt.gpu, tt.all + assert.Equal(t, tt.wantCP, controlPlaneIsVisited(tt.mode)) + assert.Equal(t, tt.wantComputeGP, computePlaneIsVisited(tt.mode)) + }) + } +} + +// TestCheck_SplitModeControlPlaneOnlySkipsComputeCluster is the regression +// guard for the dispatch gating: in ModeSplit with only --control-plane, the +// compute cluster must not be contacted at all, so no compute-plane-cluster +// category is emitted. +func TestCheck_SplitModeControlPlaneOnlySkipsComputeCluster(t *testing.T) { + t.Cleanup(func() { + selfHostedJSON = false + selfHostedOutput = "text" + checkControlPlane = false + selfHostedControlPlaneContext = "" + selfHostedComputePlaneContext = "" + }) + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", + "--control-plane-context", "cp-ctx", "--compute-plane-context", "gpu-ctx", + "--skip-cluster-validation", "--json"}) + _ = rootCmd.Execute() + + lines := parseJSONLLines(t, stderr.String()) + require.NotEmpty(t, lines, "expected at least one JSONL line") + + var categories []string + for _, l := range lines[1:] { + if l["event"] == "category_completed" { + if cat, ok := l["category"].(string); ok { + categories = append(categories, cat) + } + } + } + assert.Contains(t, categories, "control-plane-cluster") + assert.NotContains(t, categories, "compute-plane-cluster", + "--control-plane in split mode must not probe the compute cluster") +} + +// TestCheck_HostLocalChecksRunOnce guards against the host-local categories +// being emitted once per role. Local tool versions and registry credentials +// are checked on the operator's machine, so running them for both roles +// repeats the same check IDs in --json and double-counts them in the totals. +func TestCheck_HostLocalChecksRunOnce(t *testing.T) { + t.Cleanup(func() { + selfHostedJSON = false + selfHostedOutput = "text" + checkAll = false + }) + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + rootCmd.SetArgs([]string{"self-hosted", "check", "--all", "--skip-cluster-validation", "--json"}) + _ = rootCmd.Execute() + + lines := parseJSONLLines(t, stderr.String()) + require.NotEmpty(t, lines, "expected at least one JSONL line") + + counts := map[string]int{} + for _, l := range lines { + if l["event"] != "check_completed" { + continue + } + if id, ok := l["id"].(string); ok && strings.HasPrefix(id, "local-host-tools-") { + counts[id]++ + } + } + require.NotEmpty(t, counts, "expected local-host-tools checks in the stream") + for id, n := range counts { + assert.Equal(t, 1, n, "check %s emitted %d times", id, n) + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 39e1d50d73..86f9d082a0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -352,11 +352,12 @@ func buildCategories(cfg PreflightConfig, role Role, rc RoleConfig) []categorySp } // Registry credential check runs from the operator's machine — no cluster - // contact needed. Gated on role != RoleComputePlane so the category is - // emitted at most once per invocation: in ModeSingle RunPreflightForRole - // is called for RoleControlPlane then RoleComputePlane sequentially; the - // gate ensures no duplicate check_started/check_completed events. - if role != RoleComputePlane && len(cfg.Registries) > 0 && cfg.RegistryChecker != nil { + // contact needed. RunPreflightForRole is called once per role, so the + // caller clears Registries on every role but one to avoid duplicate + // check_started/check_completed events. Deduplicating on the role here + // instead would drop the check entirely when the control plane does not + // run, which is the case for a compute-plane-only invocation. + if len(cfg.Registries) > 0 && cfg.RegistryChecker != nil { out = append(out, buildRegistryCredentialCategory(cfg)) } From 95e5648ca4c4026ee5c2583757d30876c1b3af9c Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 16 Sep 2026 00:24:30 +0530 Subject: [PATCH 027/127] fix(nvcf-cli): pin preflight remediation hints to the probed kube context --- .../internal/selfhosted/clustervalidator.go | 8 ++- .../selfhosted/clustervalidator_test.go | 20 ++++++- .../nvcf-cli/internal/selfhosted/preflight.go | 54 +++++++++++++++---- .../selfhosted/stale_namespace_test.go | 32 +++++++++++ 4 files changed, 100 insertions(+), 14 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 926532b994..2d40c79803 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -814,9 +814,13 @@ func cleanValidatorOutput(raw string) string { return s + "\n" } -func kubectlLogsHint(jobName string) string { +// Pinned to the context the Job was created in: in ModeSplit the two roles +// run against different clusters, so a bare kubectl command resolves to +// whichever context is current and the hint reports "job not found". +func kubectlLogsHint(kubeContext, jobName string) string { if jobName == "" { return "" } - return fmt.Sprintf("kubectl logs -n %s job/%s --tail=-1", clusterValidatorNamespace, jobName) + return fmt.Sprintf("kubectl%s logs -n %s job/%s --tail=-1", + kubectlContextArg(kubeContext), clusterValidatorNamespace, jobName) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index c6c2114d51..3bcc2b9d0d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -575,15 +575,31 @@ func TestCleanValidatorOutput_EmptyInput(t *testing.T) { } func TestKubectlLogsHint(t *testing.T) { - got := kubectlLogsHint("nvcf-preflight-validator-12345") + got := kubectlLogsHint("", "nvcf-preflight-validator-12345") assert.Equal(t, "kubectl logs -n default job/nvcf-preflight-validator-12345 --tail=-1", got, ) } +// In ModeSplit the two roles run against different clusters, so the hint has +// to name the context the Job was actually created in. +func TestKubectlLogsHint_PinsContext(t *testing.T) { + got := kubectlLogsHint("gpu-ctx", "nvcf-preflight-validator-12345") + assert.Equal(t, + "kubectl --context gpu-ctx logs -n default job/nvcf-preflight-validator-12345 --tail=-1", + got, + ) +} + +func TestKubectlLogsHint_QuotesContext(t *testing.T) { + got := kubectlLogsHint("my ctx", "nvcf-preflight-validator-12345") + assert.Contains(t, got, "--context 'my ctx'", + "a context name with a space must be quoted so the pasted command does not split it") +} + func TestKubectlLogsHint_EmptyJob(t *testing.T) { - assert.Equal(t, "", kubectlLogsHint(""), + assert.Equal(t, "", kubectlLogsHint("gpu-ctx", ""), "empty jobName must produce empty hint so callers can compose detail without conditionals") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 86f9d082a0..aa27e7c7fa 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -593,7 +593,7 @@ func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret s Registries: registries, }) r.Logs = result.Logs - r.Detail = clusterValidatorDetail(result.JobName) + r.Detail = clusterValidatorDetail(kubeContext, result.JobName) if result.Err != nil { r.Severity = "warning" @@ -614,8 +614,8 @@ func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret s } } -func clusterValidatorDetail(jobName string) string { - hint := kubectlLogsHint(jobName) +func clusterValidatorDetail(kubeContext, jobName string) string { + hint := kubectlLogsHint(kubeContext, jobName) if hint == "" { return "" } @@ -718,6 +718,11 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp emptyShell = append(emptyShell, ns.Name) } } + // Every hint is pinned to the context that was actually probed. + // In split mode the two callers pass different contexts, so a bare + // kubectl command would run against whatever context happens to be + // current, and these hints delete namespaces. + kctl := "kubectl" + kubectlContextArg(kubeContext) var hints []string if len(terminating) > 0 { // spec.finalizers is writable only through the /finalize @@ -726,19 +731,19 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp // --type=merge` prints "patched" and changes nothing. for _, ns := range terminating { hints = append(hints, fmt.Sprintf( - "clear namespace finalizers on %s: kubectl get ns %s -o json | "+ - "jq '.spec.finalizers=[]' | kubectl replace --raw /api/v1/namespaces/%s/finalize -f -", - ns, ns, ns)) + "clear namespace finalizers on %s: %s get ns %s -o json | "+ + "jq '.spec.finalizers=[]' | %s replace --raw /api/v1/namespaces/%s/finalize -f -", + ns, kctl, ns, kctl, ns)) } hints = append(hints, "if it stays Terminating, the deadlock is on objects inside it: "+ - "kubectl api-resources --verbs=list --namespaced -o name | "+ - "xargs -n1 kubectl get -n --show-kind --ignore-not-found") + kctl+" api-resources --verbs=list --namespaced -o name | "+ + "xargs -n1 "+kctl+" get -n --show-kind --ignore-not-found") } if len(emptyShell) > 0 { hints = append(hints, - fmt.Sprintf("inspect and delete empty namespaces: kubectl delete namespace %s", - strings.Join(emptyShell, " "))) + fmt.Sprintf("inspect and delete empty namespaces: %s delete namespace %s", + kctl, strings.Join(emptyShell, " "))) } r.Message = fmt.Sprintf("%d stale namespace(s) detected: %s. To resolve: %s", len(stale), strings.Join(parts, ", "), strings.Join(hints, "; ")) @@ -747,6 +752,35 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp } } +// kubectlContextArg renders the probed context as a --context flag for the +// remediation hints, or "" when no explicit context was given so the hint stays +// readable for a single-cluster setup. The value is shell-quoted: a context +// name is operator-supplied and arbitrary. +func kubectlContextArg(kubeContext string) string { + if kubeContext == "" { + return "" + } + return " --context " + shellQuoteArg(kubeContext) +} + +// shellQuoteArg makes s safe to paste into a shell. Unquoted when it holds only +// characters no shell treats specially, so the common case stays legible. +func shellQuoteArg(s string) string { + if s == "" { + return "''" + } + safe := strings.IndexFunc(s, func(r rune) bool { + return !(r == '-' || r == '_' || r == '.' || r == '/' || r == ':' || r == '@' || r == '=' || + (r >= '0' && r <= '9') || + (r >= 'A' && r <= 'Z') || + (r >= 'a' && r <= 'z')) + }) == -1 + if safe { + return s + } + return "'" + strings.ReplaceAll(s, "'", "'\"'\"'") + "'" +} + // placeholderCheck returns a binaryCheckSpec that emits a passing "info" // CheckResult with the given message. Used until M3/M+10 cluster-side probes ship. func placeholderCheck(id, label, message string) binaryCheckSpec { diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 5f20baf0d2..2f21a76048 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -20,6 +20,7 @@ package selfhosted import ( "context" "fmt" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -274,3 +275,34 @@ func TestControlPlaneNamespaceList_ExcludesRuntimeOwnedNamespaces(t *testing.T) assert.NotContains(t, nvcfComputePlaneNamespaces, "nvca-system", "nvca-system is operator-created and hosts no release") } + +// TestStaleNamespaceCheck_HintsPinTheProbedContext guards the remediation +// hints in split mode. The two callers probe different clusters, so a bare +// kubectl command in a hint runs against whatever context is current, and +// these hints delete namespaces. +func TestStaleNamespaceCheck_HintsPinTheProbedContext(t *testing.T) { + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{ + {Name: "nvcf", Reason: "stuck Terminating"}, + {Name: "api-keys", Reason: "no Helm release"}, + }, nil + } + r := staleNamespaceCheck(prober, "cp-ctx", []string{"nvcf", "api-keys"}).Run(context.Background()) + + // Every kubectl invocation, including the one piped into xargs, has to + // carry the flag: one unpinned command is enough to hit the wrong cluster. + for _, cmd := range strings.Split(r.Message, "kubectl ")[1:] { + assert.True(t, strings.HasPrefix(cmd, "--context cp-ctx "), + "unpinned kubectl invocation in hint: kubectl %s", cmd) + } + assert.Contains(t, r.Message, "kubectl --context cp-ctx delete namespace api-keys") +} + +func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil + } + r := staleNamespaceCheck(prober, "my ctx", []string{"nvcf"}).Run(context.Background()) + assert.Contains(t, r.Message, "--context 'my ctx' delete namespace nvcf", + "a context name with a space must be quoted so the pasted command does not split it") +} From ef693a47a5efd04f046dff13715602bee56dd5bf Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 16 Sep 2026 00:24:30 +0530 Subject: [PATCH 028/127] docs(nvcf-cli): document the cluster-validator check flags and registry list --- .../nvcf-self-managed-cli/reference/flags.md | 29 + src/clis/nvcf-cli/.nvcf-cli.yaml.template | 20 +- .../agentskill/skilldata_generated.go | 7113 +++++++++-------- 3 files changed, 3624 insertions(+), 3538 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index ca093b8da5..ca329b2743 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -26,6 +26,35 @@ | `--icms-url URL` | Public ICMS URL; required when contexts differ | derived from `base_http_url` | | `--local-only` | `check --pre` only; skip all kubectl contact | `false` | +## `check`-specific + +At least one of `--pre`, `--control-plane`, `--compute-plane`, or `--all` is +required. Each selects a role; only the selected roles contact a cluster. + +| Flag | Purpose | Default | +|---|---|---| +| `--pre` | Pre-flight: local-host tools plus cluster readiness | `false` | +| `--control-plane` | Control-plane checks | `false` | +| `--compute-plane` | Compute-plane checks | `false` | +| `--all` | Every category | `false` | +| `--cluster-name NAME` | Cluster name for compute-plane checks | - | +| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | + +### Cluster-validator flags + +The validator runs as a Job in the cluster being checked. The CLI creates a +ServiceAccount, ClusterRole, and ClusterRoleBinding for it and removes them +after the run, so the kubeconfig context needs permission to manage those. + +| Flag | Purpose | Default | +|---|---|---| +| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. Unset everywhere skips the probe with a warning | - | +| `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. `nvcr.io` is always probed. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | `nvcr.io` only | +| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and falls back to minting one from `NGC_API_KEY` | auto-detect | +| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | +| `--no-cleanup` | Keep the validator Job (and its RBAC) after the run for debugging. The next run still sweeps prior Jobs | `false` | +| `--show-logs` | Print the validator transcript to stderr after the check events. Useful when piping `--json` to a script that also wants the transcript | `false` | + ## `up`-specific | Flag | Purpose | Default | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 585adc8b21..f21daa19d5 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -142,7 +142,13 @@ api_keys_owner_id: svc@nvcf-api.local # Image reference for the cluster-validator pod used by # `nvcf-cli self-hosted check`. The CLI runs this image as a Job in the -# compute-plane cluster to verify NVCA prerequisites before install. +# cluster being checked to verify prerequisites before install. One image +# serves both roles; the Job environment selects the check set. +# +# The Job needs a ServiceAccount, ClusterRole, and ClusterRoleBinding, which +# the CLI creates and removes per run. The kubeconfig context therefore needs +# permission to manage those objects; without it the probe reports a warning +# instead of a result. # # Config key: cluster_validator_image # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_IMAGE @@ -156,6 +162,18 @@ api_keys_owner_id: svc@nvcf-api.local # Prod: nvcr.io/nvidia/nvcf-byoc/cluster-validator # cluster_validator_image: nvcr.io/nvidia/nvcf-byoc/cluster-validator +# Extra container registries the control-plane validator probes for +# reachability, as host:port. nvcr.io is always probed, so list only the +# registries your stack pulls from in addition to it. +# +# Config key: cluster_validator_registries (list) +# Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES (comma-separated) +# Command-line flag: --cluster-validator-registries (repeatable or comma-separated) +# +# cluster_validator_registries: +# - harbor.example.com:443 +# - ghcr.io:443 + # ============================================================================== # General Settings # ============================================================================== diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index f004cac554..441a759bf5 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAxOTU0MDEsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAxOTc2MzYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImY2MjBlMTRmMTYxYTZiZWJlMTNlN2Y1NTkwMDE5N2VkYmEx" + "NTExYzY0ZjQwYzM0ZmM3OGZjMjM4MWQxMTI3YzciLAogICAgICAic2l6ZSI6IDI0NTgxCiAgICB9" + @@ -71,3553 +71,3592 @@ const skillDataZipBase64 = "" + "bmNlL2V4aXQtY29kZXMubWQiLAogICAgICAic2hhMjU2IjogIjY0YjVmYTliY2FmMGUwYTUzZjc4" + "OTIwYjczZmNiNTMwYWI2OTQ1MWI0OGE1YjQ5M2YyNTJjYTE4NTgzYWIwODYiLAogICAgICAic2l6" + "ZSI6IDE3NDkKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZmxhZ3MubWQiLAogICAgICAic2hhMjU2IjogIjU0YjVlYTc5ODFkMjYyNmM1" + - "ODM1MzMyYWJhMjdlYjI4N2FjYTg5ZTFiYWRjYjJmYWI4MDcwMWFlMjlmNzZlMDgiLAogICAgICAi" + - "c2l6ZSI6IDg5MDIKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNjMw" + - "ODRlMjI0OWYxZDE1NGM1OTgxZTRhMDcyYjdjNzg0Yjg1ZWExNDYwODY1MTVlYWI0YWI2NzBhOTQw" + - "ZTk0IiwKICAgICAgInNpemUiOiA0NDY4CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAic2hhMjU2IjogImMz" + - "M2ZkODMwNWVjM2ZkMDIwZWI0Yzk4MmMzYWZlNzZhN2MxZDQzYzNlMDU0YzhmYmQzOGM0YmIxYjcw" + - "N2M3NWEiLAogICAgICAic2l6ZSI6IDI1MTU0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvbiIsCiAgICAgICJz" + - "aGEyNTYiOiAiYzViNDUzMzdlNDliM2FiOGFlMjgzNDVkMzE2NGE3ZjU3OTE5ZTY0NDg5ODcwMmQw" + - "Y2FhZDQ4YWVlMjhiMWYzYSIsCiAgICAgICJzaXplIjogMjE5MzMKICAgIH0sCiAgICB7CiAgICAg" + - "ICJwYXRoIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZCIsCiAg" + - "ICAgICJzaGEyNTYiOiAiOWEzOWU1Y2NhYmQ0MDgxOWM3MWYyYjBmMmQ3NTIzMTZiNzIzMTU2NTRk" + - "ODBkM2QwMTc2OThjZTFmYjNlNWIxMSIsCiAgICAgICJzaXplIjogMTAzNjcKICAgIH0sCiAgICB7" + - "CiAgICAgICJwYXRoIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kIiwKICAgICAgInNoYTI1NiI6ICI1ZGVlNThh" + - "ZTJjNjdhNjI5NDZlM2M1OTMwMmFmYWNjNDBiZGU3MWY4ZGMyZjI1Y2Q3Nzk5Y2M0NWI0NzRmYTE5" + - "IiwKICAgICAgInNpemUiOiAxMjMwNgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAg" + - "InNoYTI1NiI6ICJhNTI4MTU4YmMwYmZmZmVlZjZlMDFkZTM4NGNhZjU2NWU2NDQ1YjQ4YWJkM2Nl" + - "ZTQwMDQ4NzFmNTIzZjUzYjk3IiwKICAgICAgInNpemUiOiAxMjQzNwogICAgfSwKICAgIHsKICAg" + - "ICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + - "bWZpbGUtc3RydWN0dXJlLm1kIiwKICAgICAgInNoYTI1NiI6ICIxZDUyNzc2ZjlkN2Q4ZGY1OGRl" + - "ZmUzMDQ2ZDYzZWM4ZjUyZmQzMDFjMjE1YmYwZTFhYjZiYjkxOTE2MjA3M2RlIiwKICAgICAgInNp" + - "emUiOiAxMDEyNwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCIsCiAgICAgICJzaGEyNTYi" + - "OiAiNTA1MjRlNmUxOTcxMTgzYmRjOWFkMGFjMzhhODA3ZGY3MmNjMDg1MWI3OWY1MThmZTExYTQ4" + - "ZTQ1OTdjODUwZSIsCiAgICAgICJzaXplIjogMTk3NwogICAgfSwKICAgIHsKICAgICAgInBhdGgi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + - "Lm1kIiwKICAgICAgInNoYTI1NiI6ICJlYzFmM2ZmY2QxN2U1Zjk1ODNmZWUzOTc0NGVlODk3ZDQ2" + - "NmJjM2NmNjM4OTI5NDI2NGQ4OWU3ZjllZDAxYjg3IiwKICAgICAgInNpemUiOiA1NjMyCiAgICB9" + - "CiAgXQp9ClBLBwhLpxLcSBAAAEgQAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACMACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkKZGVzY3JpcHRpb246IHwKICBJbnN0YWxsLCBvcGVyYXRlLCBhbmQgdGVh" + - "ciBkb3duIHNlbGYtaG9zdGVkIE5WSURJQSBDbG91ZCBGdW5jdGlvbnMgKE5WQ0YpCiAgZGVwbG95" + - "bWVudHMgd2l0aCBudmNmLWNsaS4gVXNlIGZvciBjb250cm9sLXBsYW5lIG9yIGNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCwKICBzdGF0dXMgY2hlY2tzLCBjbHVzdGVyIHJlZ2lzdHJhdGlvbiwgZnVuY3Rp" + - "b24gZGVwbG95L2ludm9rZSwgdGFzawogIGNyZWF0ZS9saXN0L2NhbmNlbC9kZWxldGUsIEFQSSBr" + - "ZXlzLCBhZG1pbiB0b2tlbnMsIEpXS1Mgcm90YXRpb24sCiAgZmFpbGVkLWluc3RhbGwgZGlhZ25v" + - "c2lzLCBhbmQgdW5pbnN0YWxsIG9yIGRvd24gd29ya2Zsb3dzLiBUcmlnZ2VyIGtleXdvcmRzOgog" + - "IG52Y2YsIG52Y2YtY2xpLCBzZWxmLWhvc3RlZCBudmNmLCBzZWxmLW1hbmFnZWQgbnZjZiwgTlZD" + - "RkJhY2tlbmQsIE5WQ0EsIE5DUCwKICBJQ01TLCBoZWxtZmlsZSwgY29udHJvbCBwbGFuZSwgY29t" + - "cHV0ZSBwbGFuZSwgTExNIGZ1bmN0aW9uLAogIE9wZW5BSS1jb21wYXRpYmxlIGludm9jYXRpb24s" + - "IFJlc3BvbnNlcyBBUEksIGVtYmVkZGluZ3MsIGJhdGNoIHRhc2ssIHRhc2sKICBtb25pdG9yLCBj" + - "bHVzdGVyIHJvdGF0ZSwgY2x1c3RlciBkZWxldGUsIGhlbG0gdGFzaywgaGVsbS1iYXNlZCB0YXNr" + - "LAogIHRhc2sgc2VjcmV0cywgdXBkYXRlIHRhc2sgc2VjcmV0cywgcmV0cmlldmUgdGFzayByZXN1" + - "bHRzLCBidWxrIGZldGNoIHRhc2tzLAogIHRhc2sgcmVzdWx0cywgTlZDVCwgTlZDVCB0YXNrLCBO" + - "VkNUIGJhdGNoIGpvYi4KYWxsb3dlZC10b29sczogQmFzaCwgUmVhZCwgQXNrVXNlclF1ZXN0aW9u" + - "CmFyZ3VtZW50LWhpbnQ6ICJbaW5zdGFsbHxzdGF0dXN8Y2hlY2t8ZGVwbG95LWZ1bmN0aW9ufHJl" + - "Z2lzdGVyLWNsdXN0ZXJ8dGVhcmRvd25dIFthcmdzXSIKLS0tCjwhLS0KVG9rZW4gQnVkZ2V0Ogot" + - "IExldmVsIDEgKFlBTUwpOiB+MTIwIHRva2VucwotIExldmVsIDIgKHRoaXMgZmlsZSk6IH4xOTAw" + - "IHRva2VucyAodGFyZ2V0IDwyMDAwKQotIExldmVsIDMgKHByb21wdHMvLCByZWZlcmVuY2UvLCBl" + - "eGFtcGxlcy8pOiBsb2FkZWQgb24gZGVtYW5kCi0tPgoKIyBOVkNGIFNlbGYtSG9zdGVkIENMSQoK" + - "YG52Y2YtY2xpYCBkcml2ZXMgZXZlcnkgc3RlcCBvZiBicmluZ2luZyB1cCBzZWxmLWhvc3RlZCBO" + - "VklESUEgQ2xvdWQgRnVuY3Rpb25zOiBjbHVzdGVyIHJlZ2lzdHJhdGlvbiwgY29udHJvbC1wbGFu" + - "ZSBpbnN0YWxsLCBjb21wdXRlLXBsYW5lIGluc3RhbGwsIGZ1bmN0aW9uIGRlcGxveS9pbnZva2Us" + - "IGFuZCBsaWZlY3ljbGUgbWFuYWdlbWVudC4gVXNlIHRoaXMgc2tpbGwgYW55IHRpbWUgdGhlIHVz" + - "ZXIgd2FudHMgdG8gb3BlcmF0ZSBzZWxmLWhvc3RlZCBOVkNGLgoKIyMgV2hlbiB0byB1c2UKCi0g" + - "Imluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiIgLyAiYnJpbmcgdXAgYW4gTlZDRiBjbHVzdGVyIgot" + - "ICJyZWdpc3RlciBhIChjb21wdXRlfEdQVSkgY2x1c3RlciB3aXRoIE5WQ0YiCi0gImRlcGxveSBh" + - "IChjb250YWluZXJ8R1BVKSBmdW5jdGlvbiIgLyAiaW52b2tlIGFuIE5WQ0YgZnVuY3Rpb24iCi0g" + - "ImNoZWNrIE5WQ0YgY2x1c3RlciBoZWFsdGgiIC8gImlzIG15IE5WQ0YgaW5zdGFsbCBPSz8iCi0g" + - "InJvdGF0ZSBOVkNGIGNsdXN0ZXIgSldLUyIgLyAidGhlIE5WQ0EgYWdlbnQgc3RvcHBlZCBhdXRo" + - "ZW50aWNhdGluZyIKLSAidGVhciBkb3duIE5WQ0YiIC8gInJlbW92ZSB0aGUgY29tcHV0ZSBwbGFu" + - "ZSIgLyAidW5pbnN0YWxsIE5WQ0YiIC8gImRlcmVnaXN0ZXIgdGhpcyBjbHVzdGVyIgotICJwcmV2" + - "aWV3IHdoYXQgYGRvd25gIHdvdWxkIGRvIiAvICJkcnktcnVuIHVuaW5zdGFsbCIKLSBBbnkgdGFz" + - "ayBvcGVyYXRpb246IGNyZWF0ZSAvIHJ1biAvIHN1Ym1pdCAvIG1vbml0b3IgLyBjYW5jZWwgLyBk" + - "ZWxldGUgLyBsaXN0IHRhc2tzLCBoZWxtIHRhc2ssIHVwZGF0ZSB0YXNrIHNlY3JldHMsIHJldHJp" + - "ZXZlIHRhc2sgcmVzdWx0cywgYnVsayBmZXRjaCB0YXNrIGRldGFpbHMuCi0gQW55IHJlZmVyZW5j" + - "ZSB0byBgTlZDVGAsIGBOVkNUIHRhc2tgLCBvciBgTlZDVCBiYXRjaCBqb2JgIChsaXN0IC8gcnVu" + - "IC8gY2FuY2VsIC8gZGVsZXRlIC8gcmVzdWx0cykuCi0gQW55IHJlZmVyZW5jZSB0byBgTlZDRkJh" + - "Y2tlbmRgLCBgTlZDQWAsIElDTVMsIGhlbG0gcmVsZWFzZXMgbGlrZSBgaGVsbS1udmNmLSpgLCBv" + - "ciBgaWNtcy48ZG9tYWluPmAgLyBgYXBpLjxkb21haW4+YCBVUkxzLgoKIyMgUXVpY2sgc3RhcnQK" + - "CkZvciByZW1vdGUgb25lLWNsaWNrIGluc3RhbGxzLCBwcmVwYXJlIEdhdGV3YXkgQVBJIGluZ3Jl" + - "c3MgYW5kIENMSSBlbmRwb2ludApjb25maWd1cmF0aW9uIGJlZm9yZSBydW5uaW5nIGBzZWxmLWhv" + - "c3RlZCB1cGAuIFRoZSBjb21tYW5kIGFwcGxpZXMgdGhlIGNvbnRyb2wKcGxhbmUgYW5kIHRoZW4g" + - "aW1tZWRpYXRlbHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgYW5kIGdSUEMgZW5k" + - "cG9pbnRzLgpJZiB0aGUgR2F0ZXdheSBpcyBub3QgcHJvZ3JhbW1lZCBvciB0aGUgQ0xJIGhvc3Qg" + - "aGVhZGVycyBkbyBub3QgbWF0Y2ggdGhlCkhUVFBSb3V0ZXMgcmVuZGVyZWQgYnkgdGhlIHN0YWNr" + - "IGVudmlyb25tZW50LCBwb3N0LWluc3RhbGwgaGVhbHRoIGFuZCBjbHVzdGVyCnJlZ2lzdHJhdGlv" + - "biB3aWxsIGZhaWwuCgpgYGBzaAojIFNpbmdsZS1jbHVzdGVyIChjb250cm9sICsgY29tcHV0ZSBv" + - "biB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1" + - "cCAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKCiMgU3BsaXQtY2x1c3RlciAoY29udHJvbCBwbGFu" + - "ZSBvbiBjb250ZXh0IEEsIGNvbXB1dGUgcGxhbmUgb24gY29udGV4dCBCKToKS1VCRUNPTkZJRz1j" + - "cC55YW1sOmdwdTEueWFtbCBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5h" + - "bWU9bmNwLWxvY2FsIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2lj" + - "bXMubnZjZi5leGFtcGxlLmNvbQoKIyBBZGQgYSBuZXcgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlz" + - "dGluZyBjb250cm9sIHBsYW5lIChubyBrdWJlY3RsIGFjY2VzcyB0byBDUCBuZWVkZWQ7CiMgcmVh" + - "Y2hlcyB0aGUgY29udHJvbCBwbGFuZSB2aWEgdGhlIHB1YmxpYyBJQ01TIEhUVFBSb3V0ZSk6Cm52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZT1u" + - "Y3AtbG9jYWwtMiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MiBcCiAgLS1p" + - "Y21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgLS10b2tlbj0kQURNSU5f" + - "SldUCgojIFRlYXIgZG93biAoYWx3YXlzIHBsYW4tb25seSBmaXJzdCk6Cm52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8" + - "IGpxCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCgoj" + - "IFBlci1wbGFuZSB1bmluc3RhbGwgKEdpdE9wczsgbWlycm9ycyBgaW5zdGFsbGApOgpudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVz" + - "dGVyLW5hbWU9bmNwLWxvY2FsIHwga3ViZWN0bCBkZWxldGUgLWYgLQpgYGAKCj4gKipgdXBgIHZz" + - "IGBhZGQtY29tcHV0ZS1wbGFuZWAuKiogYHVwYCBhbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXMg" + - "4oCUIHVzZSBpdCBmb3IgdGhlICpmaXJzdCogaW5zdGFsbC4gYGFkZC1jb21wdXRlLXBsYW5lYCBp" + - "cyB0aGUgcmlnaHQgc3ViY29tbWFuZCBhbnkgdGltZSB0aGUgY29udHJvbCBwbGFuZSBpcyBhbHJl" + - "YWR5IHJ1bm5pbmcgYW5kIHlvdSB3YW50IHRvIGF0dGFjaCBhbiBOdGggY29tcHV0ZSBjbHVzdGVy" + - "LgoKPiAqKmBkb3duYCBhbHdheXMgd2l0aCBgLS1wbGFuLW9ubHlgIGZpcnN0LioqIFNob3cgdGhl" + - "IHVzZXIgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IGJlZm9yZSBydW5uaW5n" + - "IGZvciByZWFsLgoKIyMgQXV0aGVudGljYXRpb24KCmBudmNmLWNsaWAgdXNlcyB0d28gY3JlZGVu" + - "dGlhbHMuIEVhY2ggaXMgcmVzb2x2ZWQgaW5kZXBlbmRlbnRseSBpbiB0aGlzIG9yZGVyOgoKfCBQ" + - "cmVjZWRlbmNlIHwgU291cmNlIHwKfC0tLXwtLS18CnwgMSAoaGlnaGVzdCkgfCBFbnZpcm9ubWVu" + - "dCB2YXJpYWJsZSAoYE5WQ0ZfVE9LRU5gLCBgTlZDRl9BUElfS0VZYCkgfAp8IDIgfCBDb25maWcg" + - "ZmlsZSAoYH4vLm52Y2YtY2xpLnlhbWxgLCBrZXlzIGB0b2tlbmAgYW5kIGBhcGlfa2V5YCkgfAp8" + - "IDMgfCBTdGF0ZSBmaWxlIChgfi8ubnZjZi1jbGkuc3RhdGVgKSwgc2tpcHBlZCB3aGVuIHRoZSBz" + - "dG9yZWQgdG9rZW4gaXMgZXhwaXJlZCB8Cgp8IEVudiB2YXIgfCBUb2tlbiB0eXBlIHwgVXNlZCBi" + - "eSB8CnwtLS18LS0tfC0tLXwKfCBgTlZDRl9UT0tFTmAgfCBBZG1pbiBKV1QgfCBgZnVuY3Rpb24g" + - "Y3JlYXRlYCAvIGBkZXBsb3lgIC8gYHVwZGF0ZWAgLyBgZGVsZXRlYCwgY2x1c3RlciBtYW5hZ2Vt" + - "ZW50IChgY2x1c3RlciByZWdpc3RlcmAvYHJvdGF0ZWAvYGRlbGV0ZWAsIGBzZWxmLWhvc3RlZGAg" + - "b3BzKS4gUmVxdWlyZWQgZm9yIGFkbWluIGNvbW1hbmRzOyBwcmVmZXJyZWQgZm9yIHRoZSByZXN0" + - "LiB8CnwgYE5WQ0ZfQVBJX0tFWWAgfCBgbnZhcGktLi4uYCBBUEkga2V5IHwgYGZ1bmN0aW9uIGlu" + - "dm9rZWAgLyBgbGlzdGAgLyBgZ2V0YCwgcXVldWUgZGV0YWlscy4gRmFsbHMgYmFjayB0byBgTlZD" + - "Rl9UT0tFTmAgd2hlbiB1bnNldC4gfAoKVG9rZW4gZ2VuZXJhdGlvbiBmbG93OgoKMS4gUG9pbnQg" + - "dGhlIENMSSBhdCB5b3VyIHNlbGYtaG9zdGVkIGVuZHBvaW50cy4gRGVmYXVsdHMgdGFyZ2V0IHBy" + - "b2R1Y3Rpb24gTlZDRjsgb3ZlcnJpZGUgd2l0aCBlbnYgdmFycyBvciBhIHlhbWwgZmlsZSAoYC0t" + - "Y29uZmlnIDxwYXRoPmAsIGAuLy5udmNmLWNsaS55YW1sYCwgb3IgYH4vLm52Y2YtY2xpLnlhbWxg" + - "OyBhIGZ1bGwgdGVtcGxhdGUgc2hpcHMgYXQgYHNyYy9jbGlzL252Y2YtY2xpLy5udmNmLWNsaS55" + - "YW1sLnRlbXBsYXRlYCkuCgogICBgTlZDRl9CQVNFX0hUVFBfVVJMYCAvIGBBUElfS0VZU19TRVJW" + - "SUNFX1VSTGAgLyBgTlZDRl9CQVNFX0dSUENfVVJMYCB0ZWxsIHRoZSBDTEkgKndoZXJlIHRvIHNl" + - "bmQgcmVxdWVzdHMqLiBgQVBJX0hPU1RgIC8gYEFQSV9LRVlTX0hPU1RgIC8gYElOVk9LRV9IT1NU" + - "YCBzZXQgdGhlIGBIb3N0OmAgaGVhZGVyIG9uIHRob3NlIHJlcXVlc3RzIOKAlCBuZWVkZWQgd2hl" + - "biBldmVyeSBOVkNGIHNlcnZpY2Ugc2l0cyBiZWhpbmQgYSBzaW5nbGUgZ2F0ZXdheSB0aGF0IHJv" + - "dXRlcyBieSBob3N0bmFtZSAoRW52b3kgR2F0ZXdheSBIVFRQUm91dGUgb24gYGFwaS48RUxCPmAs" + - "IGBhcGkta2V5cy48RUxCPmAsIGBpbnZvY2F0aW9uLjxFTEI+YCwgYGxsbS48RUxCPmApLiBTa2lw" + - "IHRoZSB0aHJlZSBIb3N0IHZhcnMgd2hlbiB0aGUgYmFzZSBVUkwgYWxyZWFkeSByZXNvbHZlcyB0" + - "byB0aGUgcmlnaHQgc2VydmljZS4KCiAgIEVudi12YXIgZm9ybToKICAgYGBgc2gKICAgZXhwb3J0" + - "IE5WQ0ZfQkFTRV9IVFRQX1VSTD1odHRwczovL2d3LmV4YW1wbGUuY29tCiAgIGV4cG9ydCBBUElf" + - "S0VZU19TRVJWSUNFX1VSTD1odHRwczovL2d3LmV4YW1wbGUuY29tCiAgIGV4cG9ydCBOVkNGX0JB" + - "U0VfR1JQQ19VUkw9Z3cuZXhhbXBsZS5jb206NDQzCgogICAjIE9ubHkgd2hlbiB0aGUgZ2F0ZXdh" + - "eSByb3V0ZXMgYnkgSG9zdCBoZWFkZXI6CiAgIGV4cG9ydCBBUElfS0VZU19IT1NUPWFwaS1rZXlz" + - "Lmd3LmV4YW1wbGUuY29tCiAgIGV4cG9ydCBBUElfSE9TVD1hcGkuZ3cuZXhhbXBsZS5jb20KICAg" + - "ZXhwb3J0IElOVk9LRV9IT1NUPWludm9jYXRpb24uZ3cuZXhhbXBsZS5jb20KICAgYGBgCgogICBZ" + - "YW1sIGZvcm0gKGB+Ly5udmNmLWNsaS55YW1sYCk6CiAgIGBgYHlhbWwKICAgYmFzZV9odHRwX3Vy" + - "bDogaHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogaHR0cHM6" + - "Ly9ndy5leGFtcGxlLmNvbQogICBiYXNlX2dycGNfdXJsOiBndy5leGFtcGxlLmNvbTo0NDMKCiAg" + - "ICMgT25seSB3aGVuIHRoZSBnYXRld2F5IHJvdXRlcyBieSBIb3N0IGhlYWRlcjoKICAgYXBpX2tl" + - "eXNfaG9zdDogYXBpLWtleXMuZ3cuZXhhbXBsZS5jb20KICAgYXBpX2hvc3Q6IGFwaS5ndy5leGFt" + - "cGxlLmNvbQogICBpbnZva2VfaG9zdDogaW52b2NhdGlvbi5ndy5leGFtcGxlLmNvbQogICBgYGAK" + - "CjIuIGBudmNmLWNsaSBpbml0YCBjYWxscyB0aGUgQVBJIEtleXMgc2VydmljZSB2aWEgdGhvc2Ug" + - "ZW5kcG9pbnRzIGFuZCB3cml0ZXMgdGhlIGFkbWluIHRva2VuIHRvIGB+Ly5udmNmLWNsaS5zdGF0" + - "ZWAuIFVzZSBgbnZjZi1jbGkgcmVmcmVzaGAgdG8gcm90YXRlIGEgc3RvcmVkIHRva2VuLgozLiBB" + - "ZnRlciBgaW5pdGAsIGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlYCBtaW50cyBmdW5jdGlvbiAr" + - "IHRhc2sgQVBJIGtleXMgKGFsc28gc3RvcmVkIGluIHN0YXRlKS4KCkFmdGVyIGBpbml0YCwgdGhl" + - "IGNyZWRlbnRpYWxzIGxpdmUgaW4gYH4vLm52Y2YtY2xpLnN0YXRlYCwgc28gbGF0ZXIgY29tbWFu" + - "ZHMgd29yayB3aXRob3V0IGV4cG9ydGluZyBgTlZDRl9UT0tFTmAgb3IgYE5WQ0ZfQVBJX0tFWWAu" + - "IEV4cG9ydCB0aGUgZW52IHZhciBvbmx5IHRvIG92ZXJyaWRlIHRoZSBzdG9yZWQgdmFsdWUgKGZv" + - "ciBleGFtcGxlIGEgc2hvcnRlci1saXZlZCB0b2tlbiBmcm9tIENJKS4KCiMjIENvcmUgc3ViY29t" + - "bWFuZHMKCnwgU3ViY29tbWFuZCB8IFdoYXQgaXQgZG9lcyB8IFdoZW4gdG8gdXNlIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbLS1sb2NhbC1vbmx5" + - "IFx8IC0tY29udHJvbC1wbGFuZS1jb250ZXh0PVggXHwgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9" + - "WV1gIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyArIGNsdXN0ZXItc2lkZSBwcmVyZXF1" + - "aXNpdGVzIHwgQWx3YXlzIHJ1biBmaXJzdCBvbiBhIG5ldyBlbnZpcm9ubWVudCB8CnwgYG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFx8IGt1YmVjdGwgYXBwbHkg" + - "LWYgLWAgfCBSZW5kZXIgKyBhcHBseSB0aGUgY29udHJvbCBwbGFuZSB8IFdoZW4geW91IHdhbnQg" + - "bWFudWFsIGNvbnRyb2wgb3ZlciBhcHBseSAoR2l0T3BzLWZyaWVuZGx5KSB8CnwgYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggXHwg" + - "a3ViZWN0bCBhcHBseSAtZiAtYCB8IFJlZ2lzdGVyIGNsdXN0ZXIgKyByZW5kZXIgY29tcHV0ZSBw" + - "bGFuZSB8IFNhbWUg4oCUIG1hbnVhbCBhcHBseSBwYXRoIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsOiBwcmUtZmxp" + - "Z2h0IOKGkiBjb250cm9sIHBsYW5lIOKGkiByZWdpc3RlciDihpIgY29tcHV0ZSBwbGFuZSB8IFN0" + - "YW5kYXJkIGluc3RhbGwgcGF0aCAoYm90aCBwbGFuZXMgZnJvbSBzY3JhdGNoKSB8CnwgYG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIHVwIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1" + - "bjogZW1pdCBwaGFzZS1ieS1waGFzZSBwbGFuICsgRVRBIHdpdGhvdXQgY2hhbmdpbmcgc3RhdGUg" + - "fCBBZ2VudCAvIENJIHByZXZpZXcgYmVmb3JlIGNvbW1pdCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ9WSAtLWljbXMtdXJsPeKApiAtLXRva2VuPSRKV1RgIHwgQWRkIGEgbmV3IGNvbXB1dGUg" + - "cGxhbmUgdG8gYW4gKmV4aXN0aW5nKiBjb250cm9sIHBsYW5lIChubyBDUCBpbnN0YWxsKSB8IEFk" + - "ZGluZyB0aGUgMm5kLCAzcmQsIOKApiBHUFUgY2x1c3RlciBhZnRlciB0aGUgaW5pdGlhbCBgdXBg" + - "IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfCBQ" + - "ZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxh" + - "bmUgKHJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCkgfCBGaW5hbCB0" + - "ZWFyZG93biBhZnRlciBhbGwgY29tcHV0ZSBwbGFuZXMgYXJlIGdvbmUsIG9yIHNjcmlwdGVkIHBp" + - "cGVsaW5lcyB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxh" + - "bmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVsbWZpbGUgZGVz" + - "dHJveWAgb24gYSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSB8" + - "IEp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2VzIHdpdGhvdXQgdGhlIElDTVMtc2lkZSBjbGVh" + - "bnVwIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5l" + - "PmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgfCBHaXRPcHM7" + - "IGBcfCBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMgfAp8IGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwgT3JjaGVzdHJhdG9y" + - "OiBkcmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxldGUg" + - "aW4gSUNNUyB8IFN0YW5kYXJkICJyZW1vdmUgb25lIEdQVSBjbHVzdGVyIiBwYXRoIHwKfCBgbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwgT3JjaGVzdHJhdG9yOiB0" + - "ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFuZSB8" + - "IEZ1bGwgdW5pbnN0YWxsIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25s" + - "eSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyAocGhhc2VzICsgaGVsbSByZWxl" + - "YXNlcyArIElDTVMgcm93cyArIEVUQXM7IG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCAqKkFM" + - "V0FZUyBydW4gYmVmb3JlIGFueSBhY3R1YWwgYGRvd25gKiogfAp8IGBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1lPVhdIFstLXdhdGNoXSBbLS1qc29uXWAgfCBTbmFw" + - "c2hvdCBkYXNoYm9hcmQgb2YgY2x1c3RlciBpZGVudGl0eSArIGNvbXBvbmVudCBoZWFsdGggKyBy" + - "ZWNlbnQgZXZlbnRzIHwgUm91dGluZSBoZWFsdGggY2hlY2tzOyBgLS13YXRjaGAgZm9yIGxpdmUg" + - "fAp8IGBudmNmLWNsaSBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyBzZXJ2" + - "aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IHwgQmVmb3JlIGFueSBjbHVzdGVyLW1hbmFn" + - "ZW1lbnQgb3BlcmF0aW9uOyBpZGVtcG90ZW50IHwKfCBgbnZjZi1jbGkgY2x1c3RlciByZWdpc3Rl" + - "ciAtLW5hbWU9WCAtLW5jYS1pZD1ZIC0tcmVnaW9uPVogWy0taWdub3JlLWV4aXN0aW5nXWAgfCBS" + - "ZWdpc3RlciBhIGNsdXN0ZXIgSldLUytPSURDIGlzc3VlciB3aXRoIElDTVMgfCBTdGFuZGFsb25l" + - "IHJlZ2lzdGVyICh3aXRob3V0IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCkgfAp8IGBudmNmLWNsaSBj" + - "bHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUm90YXRlIGNsdXN0ZXIgSldLUyBpbiBJ" + - "Q01TIHwgV2hlbiBOVkNBJ3MgSzhzIHNpZ25pbmcga2V5IGNoYW5nZWQgYW5kIFBTQVQgdmVyaWZp" + - "Y2F0aW9uIHN0YXJ0ZWQgNDAxLWluZyB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1" + - "c3Rlci1pZD1JRGAgfCBSZW1vdmUgY2x1c3RlciByZWdpc3RyYXRpb24gZnJvbSBJQ01TIHwgKipD" + - "b25maXJtIHdpdGggdXNlci4qKiBEZXN0cm95cyBJQ01TIHN0YXRlIGZvciB0aGUgY2x1c3Rlci4g" + - "fAp8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249IuKApiIgLS1leHBp" + - "cmVzLWluPTFoYCB8IE1pbnQgYm90aCBhIGZ1bmN0aW9uIEFQSSBrZXkgYW5kIGEgdGFzayBBUEkg" + - "a2V5IChkZWZhdWx0KSB8IEJlZm9yZSBpbnZva2luZyBmdW5jdGlvbnMgb3IgY3JlYXRpbmcgdGFz" + - "a3M7IHJ1biBhZnRlciBldmVyeSBgaW5pdGAgfAp8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + - "IC0tZm9yIGZ1bmN0aW9uIC0tZGVzY3JpcHRpb249IuKApiJgIHwgTWludCBhIGZ1bmN0aW9uIEFQ" + - "SSBrZXkgb25seSAoYGludm9rZV9mdW5jdGlvbmAgc2NvcGUpIHwgV2hlbiBvbmx5IGZ1bmN0aW9u" + - "IGludm9jYXRpb24gaXMgbmVlZGVkIHwKfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZv" + - "ciB0YXNrIC0tZGVzY3JpcHRpb249IuKApiJgIHwgTWludCBhIHRhc2sgQVBJIGtleSBvbmx5IHwg" + - "V2hlbiBvbmx5IHRhc2sgb3BlcmF0aW9ucyBhcmUgbmVlZGVkIHwKfCBgbnZjZi1jbGkgZnVuY3Rp" + - "b24gY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRh" + - "IGluIElDTVMgfCBGaXJzdCBzdGVwIG9mIGFueSBmdW5jdGlvbiBkZXBsb3k7IHVzZSBgZnVuY3Rp" + - "b25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGZvciBMTE0gZnVuY3Rpb25z" + - "IHwKfCBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9PGpzb24+" + - "YCB8IFNjaGVkdWxlIGEgZGVwbG95bWVudCBvZiBhIGNyZWF0ZWQgZnVuY3Rpb24gfCBXYWl0cyBm" + - "b3IgQUNUSVZFIGJlZm9yZSByZXR1cm5pbmcgKHRpbWVvdXQgOTAwcykgfAp8IGBudmNmLWNsaSBm" + - "dW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPTxqc29uPmAgfCBJbnZva2UgYSBkZXBsb3llZCBm" + - "dW5jdGlvbiB8IFJlcXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbikgfAp8IGBudmNmLWNs" + - "aSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFJl" + - "bW92ZSBhIGZ1bmN0aW9uIGFuZCBpdHMgZGVwbG95bWVudCB8ICoqQ29uZmlybSB3aXRoIHVzZXIu" + - "KiogfAp8IGBudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1IMTAwIC0taW5zdGFu" + - "Y2UtdHlwZT1ZIC0taW1hZ2U9WmAgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzazsgc2F2ZXMgdGFz" + - "ayBJRCB0byBDTEkgc3RhdGUgfCBSZXF1aXJlcyB0YXNrIEFQSSBrZXk7IHNldCBgTlZDRl9CQVNF" + - "X05WQ1RfVVJMYCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50IHwKfCBgbnZjZi1jbGkgdGFz" + - "ayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEwMCAtLWluc3RhbmNlLXR5cGU9WSAtLWhlbG0tY2hh" + - "cnQ9WmAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBTYW1lIGFzIGNvbnRhaW5lciB0YXNrOyBgLS1o" + - "ZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGBudmNmLWNsaSB0YXNrIGNyZWF0ZSAt" + - "LWlucHV0LWZpbGU9PGpzb24+YCB8IFN1Ym1pdCBhIHRhc2sgZnJvbSBhIEpTT04gY29uZmlnIGZp" + - "bGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBjb25maWd1cmF0aW9ucyB8CnwgYG52Y2Yt" + - "Y2xpIHRhc2sgbGlzdCBbLS1zdGF0dXM9UVVFVUVEXHxSVU5OSU5HXHxDT01QTEVURURdYCB8IExp" + - "c3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgfAp8IGBudmNmLWNsaSB0" + - "YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgZGV0YWlscyBmb3IgYSB0YXNrOyB1c2VzIHNhdmVkIHRh" + - "c2sgSUQgaWYgb21pdHRlZCB8IHwKfCBgbnZjZi1jbGkgdGFzayBldmVudHMgW3Rhc2tJZF1gIHwg" + - "U3RyZWFtIGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgbnZjZi1jbGkgdGFzayBy" + - "ZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQg" + - "dGFzayB8IFJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQ7IHJldHVybnMgZW1wdHkgbGlz" + - "dCBmb3IgYE5PTkVgIHN0cmF0ZWd5IHwKfCBgbnZjZi1jbGkgdGFzayBjYW5jZWwgW3Rhc2tJZF1g" + - "IHwgQ2FuY2VsIGEgcXVldWVkIG9yIHJ1bm5pbmcgdGFzayB8IHwKfCBgbnZjZi1jbGkgdGFzayBk" + - "ZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKkNvbmZpcm0gd2l0aCB1" + - "c2VyLioqIHwKfCBgbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3Jl" + - "dHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3Jl" + - "dHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4g" + - "dGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IHwKfCBgbnZjZi1jbGkgdGFzayBidWxrIC0tdGFz" + - "ay1pZHM9SUQxLElEMmAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBpbiBvbmUg" + - "Y2FsbCB8IHwKCj4gUmVnaXN0cnkgY3JlZGVudGlhbCBwcm9wYWdhdGlvbjogYWZ0ZXIgYHJlZ2lz" + - "dHJ5LWNyZWRlbnRpYWwgYWRkYC9gdXBkYXRlYC9gZGVsZXRlYCwgdGFzayBjcmVhdGlvbiBjYW4g" + - "a2VlcCB1c2luZyB0aGUgcHJldmlvdXMgY3JlZGVudGlhbCBmb3IgdXAgdG8gYWJvdXQgNSBtaW51" + - "dGVzIChOVkNUIGNhY2hlcyBhY2NvdW50IGNyZWRlbnRpYWxzIGF0IGBudmN0Lm52Y2YuY2FjaGUt" + - "dHRsYCwgZGVmYXVsdCBgUFQ1TWApLCBldmVuIHRob3VnaCBgcmVnaXN0cnktY3JlZGVudGlhbCBs" + - "aXN0YC9gZ2V0YCBzaG93IHRoZSBuZXcgdmFsdWUgaW1tZWRpYXRlbHkuIFdhaXQgYWJvdXQgNSBt" + - "aW51dGVzLCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252" + - "Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseS4gU2VlIFtyZWZlcmVuY2UvdHJvdWJsZXNob290" + - "aW5nLm1kXShyZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kKS4KCiMjIExMTSBmdW5jdGlvbiB0" + - "eXBlCgpVc2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGZvciBPcGVuQUktY29tcGF0aWJsZSBtb2Rl" + - "bHMgc2VydmVkIHRocm91Z2ggdGhlIHNlbGYtbWFuYWdlZCBMTE0gR2F0ZXdheS4gTExNIGZ1bmN0" + - "aW9ucyBtdXN0IGRlZmluZSBhdCBsZWFzdCBvbmUgYG1vZGVsc1tdYCBlbnRyeSB3aXRoIGBuYW1l" + - "YCBhbmQgYGxsbUNvbmZpZy51cmlzYDsgdGhlIHN1cHBvcnRlZCB1cHN0cmVhbSBwYXRocyBhcmUg" + - "YC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRp" + - "bmdzYC4KClVzZSBgL2hlYWx0aGAgb24gcG9ydCBgODAwMGAgYXMgdGhlIGRlZmF1bHQgT3BlbkFJ" + - "LWNvbXBhdGlibGUgY29udGFpbmVyIGhlYWx0aCBwcm9iZSB1bmxlc3MgdGhlIGltYWdlIGV4cG9z" + - "ZXMgYSBkaWZmZXJlbnQgcmVhZGluZXNzIHBhdGguCgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRl" + - "cGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExM" + - "TSBmdW5jdGlvbiwga2VlcCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1D" + - "b25maWdgLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCBp" + - "biB0aGUgY3JlYXRlIHJlcXVlc3QuIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAgbXVzdCBtYXRjaCB0" + - "aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LCBhbmQgYGluZmVyZW5j" + - "ZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQuCgpJbnZvY2F0aW9uIHVzZXMgdGhlIExM" + - "TSByb3V0ZSwgZm9yIGV4YW1wbGUgYGh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEv" + - "Y2hhdC9jb21wbGV0aW9uc2AuIFRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVu" + - "Y3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmA7IHRoZSBmdW5jdGlvbiBJRCBpcyB0aGUgcm91dGluZyBr" + - "ZXkgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4KClVwZGF0ZSBtdXRh" + - "YmxlIHBlci1tb2RlbCByb3V0aW5nIHNldHRpbmdzIHdpdGggYG52Y2YtY2xpIGZ1bmN0aW9uIHVw" + - "ZGF0ZSAtLWxsbS1tb2RlbC11cGRhdGU9J25hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRo" + - "b2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD4nYCwgb3IgcHV0IHRoZSBzYW1lIGZpZWxkcyB1bmRl" + - "ciBgbW9kZWxVcGRhdGVzW10ubGxtQ29uZmlnYCBpbiBhbiB1cGRhdGUgSlNPTiBmaWxlLiBTZWUg" + - "W3JlZmVyZW5jZS9mbGFncy5tZF0ocmVmZXJlbmNlL2ZsYWdzLm1kKSBmb3IgYWNjZXB0ZWQgcm91" + - "dGluZyBtZXRob2RzLiBgdG9rZW5SYXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIg" + - "bGltaXRzIGZvciBgU2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2A7IHVzZSBKU09OIGlucHV0IGZv" + - "ciBjb21iaW5lZCBsaW1pdHMgc3VjaCBhcyBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAt" + - "RCwxMDAwMDAwLVdgLiBEbyBub3QgaW5jbHVkZSBgdXJpc2AgaW4gbW9kZWwgdXBkYXRlcy4KCkZv" + - "ciBgL3YxL3Jlc3BvbnNlc2AsIHRoZSBnYXRld2F5IHByb3hpZXMgdGhlIG5hdGl2ZSBSZXNwb25z" + - "ZXMgcGF0aCB1cHN0cmVhbSwgcmVsYXlzIFNTRSB0byBzdHJlYW1pbmcgY2xpZW50cywgYW5kIGFn" + - "Z3JlZ2F0ZXMgdGhlIHRlcm1pbmFsIEpTT04gcmVzcG9uc2UgZm9yIG5vbi1zdHJlYW1pbmcgY2xp" + - "ZW50cy4gRm9yIGAvdjEvZW1iZWRkaW5nc2AsIGlucHV0IG1heSBiZSBhIHN0cmluZyBvciBzdHJp" + - "bmcgYXJyYXksIG11c3QgYmUgbm9uLWVtcHR5LCBhbmQgbWF5IGNvbnRhaW4gYXQgbW9zdCAyMDQ4" + - "IGVudHJpZXMuCgpTZXNzaW9uIHN0aWNraW5lc3MgdXNlcyBgeC1tdWx0aS10dXJuLXNlc3Npb24t" + - "aWRgIGZvciBjaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIG9ubHku" + - "IEVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90IHVzZSBzdGlja2luZXNzLgoKIyMgQ29tbW9uIHdv" + - "cmtmbG93cwoKRm9yIHN0ZXAtYnktc3RlcCBwbGF5Ym9va3MsIGxvYWQgdGhlIHByb21wdCB0aGF0" + - "IG1hdGNoZXMgdGhlIHVzZXIncyBpbnRlbnQ6CgotICoqSW5zdGFsbCBmcm9tIHNjcmF0Y2guKiog" + - "W3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRdKHByb21wdHMvaW5zdGFsbC1mcm9tLXNj" + - "cmF0Y2gubWQpIOKAlCBrM2QgY2x1c3RlciDihpIgcHJlZmxpZ2h0IOKGkiB1cCDihpIgZGVwbG95" + - "IGEgc21va2UgZnVuY3Rpb24uCi0gKipBZGQgYSBuZXcgY29tcHV0ZSBwbGFuZS4qKiBbcHJvbXB0" + - "cy9hZGQtY29tcHV0ZS1wbGFuZS5tZF0ocHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZCkg4oCU" + - "IHNwbGl0LWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUuCi0g" + - "KipEZXBsb3kgYW5kIGludm9rZSBhIGZ1bmN0aW9uLioqIFtwcm9tcHRzL2RlcGxveS1hbmQtaW52" + - "b2tlLm1kXShwcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kKSDigJQgY3JlYXRlIOKGkiBkZXBs" + - "b3kg4oaSIEFQSSBrZXkg4oaSIGludm9rZSwgaW5jbHVkaW5nIHRoZSBMTE0gY3JlYXRlL2ludm9r" + - "ZSB2YXJpYW50LgotICoqRGlhZ25vc2UgYSBmYWlsZWQgaW5zdGFsbC4qKiBbcHJvbXB0cy9kaWFn" + - "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0ocHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + - "ZCkg4oCUIGBzdGF0dXMgLS1qc29uYCDihpIgaWRlbnRpZnkgZmFpbGVkIGNvbXBvbmVudCDihpIg" + - "a3ViZWN0bCBkZXNjcmliZSDihpIgcmVtZWRpYXRpb24uCi0gKipSb3RhdGUgSldLUy4qKiBbcHJv" + - "bXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kXShwcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3Mu" + - "bWQpIOKAlCB3aGVuIFBTQVQgYXV0aCBzdGFydHMgZmFpbGluZy4KLSAqKlRlYXIgZG93bi4qKiBb" + - "cHJvbXB0cy90ZWFyZG93bi5tZF0ocHJvbXB0cy90ZWFyZG93bi5tZCkg4oCUIGBkb3duIC0tcGxh" + - "bi1vbmx5YCBmaXJzdCwgdGhlbiByZWFsIHJ1bi4gYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgZm9y" + - "IG9uZSBjb21wdXRlIHBsYW5lIChvcmNoZXN0cmF0b3I6IGRyYWluICsgdW5pbnN0YWxsICsgY2x1" + - "c3RlciBkZWxldGUpOyBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgZm9yIHRoZSBjb250cm9s" + - "IHBsYW5lIChwZXItcGxhbmUgcHJpbWl0aXZlKTsgYGRvd24gLS1hbGwgLS1jb25maXJtYCBmb3Ig" + - "ZXZlcnl0aGluZzsgYHVuaW5zdGFsbCAtLW5vLWFwcGx5IDxwbGFuZT4gfCBrdWJlY3RsIGRlbGV0" + - "ZSAtZiAtYCBmb3IgR2l0T3BzLgotICoqQ3JlYXRlIGFuZCBydW4gYSB0YXNrLioqIFtwcm9tcHRz" + - "L2NyZWF0ZS1hbmQtcnVuLXRhc2subWRdKHByb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZCkg" + - "4oCUIG1pbnQgQVBJIGtleXMg4oaSIHRhc2sgY3JlYXRlIChjb250YWluZXIgb3IgSGVsbSkg4oaS" + - "IG1vbml0b3Igd2l0aCBgdGFzayBnZXRgIC8gYHRhc2sgZXZlbnRzYCDihpIgcmV0cmlldmUgcmVz" + - "dWx0cyDihpIgY2xlYW51cC4KCiMjIFJlZmVyZW5jZQoKLSBbcmVmZXJlbmNlL2NvbW1hbmRzLm1k" + - "XShyZWZlcmVuY2UvY29tbWFuZHMubWQpIOKAlCBmdWxsIHN1YmNvbW1hbmQgY2hlYXQgc2hlZXQK" + - "LSBbcmVmZXJlbmNlL2ZsYWdzLm1kXShyZWZlcmVuY2UvZmxhZ3MubWQpIOKAlCBnbG9iYWwgKyBw" + - "ZXItY29tbWFuZCBmbGFncwotIFtyZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZF0ocmVmZXJlbmNlL2V4" + - "aXQtY29kZXMubWQpIOKAlCB3aGF0IGVhY2ggbm9uLXplcm8gZXhpdCBtZWFucwotIFtyZWZlcmVu" + - "Y2UvdHJvdWJsZXNob290aW5nLm1kXShyZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kKSDigJQg" + - "a25vd24gZXJyb3JzIOKGkiByZW1lZGlhdGlvbiB0YWJsZQoKIyMgU2FmZXR5IHJ1bGVzIOKAlCBD" + - "UklUSUNBTAoKKipORVZFUiBkbyB0aGVzZSB3aXRob3V0IGV4cGxpY2l0IHVzZXIgY29uZmlybWF0" + - "aW9uOioqCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGluIGFu" + - "eSBmb3JtIOKAlCBkZXN0cnVjdGl2ZS4gKipBTFdBWVMgcnVuIHdpdGggYC0tcGxhbi1vbmx5YCAo" + - "YGRvd25gKSBvciBgLS1uby1hcHBseWAgKGB1bmluc3RhbGxgKSBmaXJzdCoqIGFuZCBzaG93IHRo" + - "ZSB1c2VyIHdoYXQgd291bGQgaGFwcGVuLiBTdGF0ZSB3aGljaCBjb21wdXRlIHBsYW5lKHMpIGFu" + - "ZCB3aGV0aGVyIHBlcnNpc3RlbnQgc3RhdGUgd291bGQgYmUgd2lwZWQuCi0gYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIGRvd24gLS1yZW1vdmUtcGVyc2lzdGVudGAgKG9yIGB1bmluc3RhbGwgLS1yZW1v" + - "dmUtcGVyc2lzdGVudGApIOKAlCBkZWxldGVzIENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwg" + - "a2V5cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEuICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIENv" + - "bmZpcm0gZXhwbGljaXRseSB0aGF0IHRoaXMgaXMgd2hhdCB0aGUgdXNlciB3YW50cy4KLSBgbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLWZvcmNlLXdpdGgt" + - "cmVnaXN0ZXJlZC1jbHVzdGVyc2Ag4oCUIG9ycGhhbnMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRl" + - "IHBsYW5lIChQU0FUIGF1dGggYnJlYWtzIGltbWVkaWF0ZWx5KS4gU3RhdGUgdGhlIGNvbnNlcXVl" + - "bmNlIGJlZm9yZSBwYXNzaW5nIHRoaXMgZmxhZy4KLSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + - "biAtLWFsbGAg4oCUIG51a2VzIGV2ZXJ5dGhpbmcuIEFsd2F5cyBzaG93IHRoZSBjbHVzdGVyIGxp" + - "c3QgKGBudmNmLWNsaSBjbHVzdGVyIGxpc3RgKSBhbmQgZ2V0IGNvbmZpcm1hdGlvbi4KLSBgbnZj" + - "Zi1jbGkgY2x1c3RlciBkZWxldGVgIOKAlCByZW1vdmVzIHRoZSBjbHVzdGVyJ3MgSUNNUyByZWdp" + - "c3RyYXRpb247IHRoZSBjb21wdXRlIHBsYW5lIGltbWVkaWF0ZWx5IHN0b3BzIGJlaW5nIGFibGUg" + - "dG8gYXV0aGVudGljYXRlLgotIGBudmNmLWNsaSBmdW5jdGlvbiBkZWxldGVgIOKAlCByZW1vdmVz" + - "IGEgZnVuY3Rpb24gYW5kIGFueSBhY3RpdmUgZGVwbG95bWVudC4KLSBgbnZjZi1jbGkgdGFzayBk" + - "ZWxldGVgIOKAlCBwZXJtYW5lbnRseSByZW1vdmVzIHRoZSB0YXNrIHJlY29yZC4gU3RvcCwgc3Rh" + - "dGUgdGhlIHRhc2sgSUQgYW5kIGN1cnJlbnQgc3RhdHVzLCB0aGVuIHdhaXQgZm9yIGEgc3Vic2Vx" + - "dWVudCB1c2VyIHJlcGx5IHRoYXQgZXhwbGljaXRseSBjb25maXJtcyBkZWxldGlvbiBvZiB0aGF0" + - "IHNwZWNpZmljIHRhc2sgYmVmb3JlIHJ1bm5pbmcgdGhpcyBjb21tYW5kLiBEbyBub3QgdHJlYXQg" + - "dGhlIHVzZXIncyBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24uCi0gQW55" + - "IHJhdyBgaGVsbSB1bmluc3RhbGxgIG9yIGBrdWJlY3RsIGRlbGV0ZSBwdmMvcHZgIOKAlCBhZmZl" + - "Y3RzIHBlcnNpc3RlbnQgc3RhdGUuIFByZWZlciBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAg" + - "KG9yY2hlc3RyYXRvcikgb3IgYHVuaW5zdGFsbGAgKHBlci1wbGFuZSkgd2hpY2ggaGFuZGxlIHRo" + - "aXMgc2FmZWx5LgotIEFueSBgLS1mb3JjZWAgZmxhZyAoYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVk" + - "LWNsdXN0ZXJzYCwgYC0tY29uZmlybWAgaW4gbm9uLWludGVyYWN0aXZlIGNvbnRleHRzKS4KCioq" + - "QUxXQVlTIGRvIHRoZXNlOioqCi0gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgIGJl" + - "Zm9yZSBhc3N1bWluZyBhIGNsdXN0ZXIgZXhpc3RzIC8gaXMgaGVhbHRoeS4KLSBTaG93IHRoZSBw" + - "bGFubmVkIGFjdGlvbiAoY2x1c3RlciBuYW1lLCBmdW5jdGlvbiBuYW1lLCBHUFUgdHlwZSwgY29z" + - "dCBpZiBrbm93bikgYmVmb3JlIGNyZWF0aW5nLgotIEJlZm9yZSBjcmVhdGluZyBvciBkZXBsb3lp" + - "bmcgYSBjb250YWluZXIgb3IgTExNIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlv" + - "biBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4gRm9yIExMTSBmdW5jdGlv" + - "bnMsIGFsc28gY29uZmlybSB0aGUgZXhhY3QgbW9kZWwgbmFtZSB1c2VkIGluIGBtb2RlbHNbXS5u" + - "YW1lYCBhbmQgT3BlbkFJIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIElm" + - "IGFueSB2YWx1ZSBpcyBtaXNzaW5nLCBhc2sgdGhlIHVzZXIgaW5zdGVhZCBvZiBndWVzc2luZyBv" + - "ciBzdWJtaXR0aW5nIGV4YW1wbGUgcGxhY2Vob2xkZXJzLgotIENvbmZpcm0gZXhhY3QgcmVzb3Vy" + - "Y2UgbmFtZXMgYmVmb3JlIGRlbGV0aW9uIOKAlCBtYXRjaCBhZ2FpbnN0IGBjbHVzdGVyIGxpc3Rg" + - "IC8gYGZ1bmN0aW9uIGxpc3RgIG91dHB1dC4KLSBJbiBDSSAvIG5vbi1pbnRlcmFjdGl2ZSBjb250" + - "ZXh0cywgdXNlIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgLiBOZXZlciBwcm9wb3Nl" + - "IGludGVyYWN0aXZlIGBudmNmLWNsaSBpbml0YCB3aGVuIGAkQ0lgIGlzIHNldC4KCioqTkVWRVIg" + - "cGFzdGUgdGhlc2UgaW50byBjaGF0IC8gbG9ncyAvIGZlZWRiYWNrOioqCi0gQWRtaW4gdG9rZW5z" + - "IChmdWxsIEpXVCkuIFNob3cgdGhlIGZpcnN0IDggY2hhcnMgKyBgLi4uYCBpZiB5b3UgbXVzdCBy" + - "ZWZlcmVuY2Ugb25lLgotIEFQSSBrZXlzIChgbnZhcGkt4oCmYCkuCi0gQ29udGVudHMgb2YgYH4v" + - "Lm52Y2YtY2xpLnN0YXRlYCBvciBhbnkga3ViZWNvbmZpZy4KLSBBbnkgZGF0YSBtYXJrZWQgc2Vj" + - "cmV0IGluIGhlbG1maWxlIHZhbHVlcy4KCj4gTm90ZSAob25seSB3aGVuIG9wZXJhdGluZyBtb3Jl" + - "IHRoYW4gb25lIGNsdXN0ZXIgZnJvbSB0aGUgc2FtZSBtYWNoaW5lKTogdGhlIENMSSdzIGRlZmF1" + - "bHQKPiBjb25maWcgKGB+Ly5udmNmLWNsaS55YW1sYCkgYW5kIHN0YXRlIChgfi8ubnZjZi1jbGku" + - "c3RhdGVgKSBhcmUgYSBzaW5nbGUgc2hhcmVkIHNsb3QsIG5vdAo+IHBlci1jbHVzdGVyLiBXaXRo" + - "IGEgc2luZ2xlIGNvbnRyb2wgcGxhbmUgKHRoZSBjb21tb24gY2FzZSkgdGhpcyBuZWVkcyBubyBh" + - "dHRlbnRpb24uIElmIHlvdQo+IG1hbmFnZSBtdWx0aXBsZSBjbHVzdGVycywgcGFzcyBgLS1jb25m" + - "aWcgPGNsdXN0ZXI+LnlhbWxgIG9uIGV2ZXJ5IGNvbW1hbmQgKG9yIGtlZXAgYQo+IGRlbGliZXJh" + - "dGVseS1zd2l0Y2hlZCBwZXItY2x1c3RlciBkZWZhdWx0KTogd2l0aCBubyBgLS1jb25maWdgLCBj" + - "b21tYW5kcyB0YXJnZXQgd2hpY2hldmVyCj4gY2x1c3RlciB3YXMgbGFzdCBgaW5pdGAnZCwgYW5k" + - "IGBpbml0YCAvIGBhcGkta2V5IGdlbmVyYXRlYCBtdXRhdGUgdGhhdCBzaGFyZWQgZGVmYXVsdCwg" + - "c28gYW4KPiB1bnNjb3BlZCBgYXBpLWtleSBnZW5lcmF0ZWAgY2FuIG1pbnQgb3Igc3VyZmFjZSBr" + - "ZXlzIGFnYWluc3QgdGhlIHdyb25nIGNsdXN0ZXIuCgojIyBPdXRwdXQgbW9kZXMgKGZvciBhZ2Vu" + - "dCBwaXBpbmcpCgpgbnZjZi1jbGlgIHN1YmNvbW1hbmRzIHRoYXQgbG9uZy1ydW4gKGB1cGAsIGBz" + - "dGF0dXNgLCBgY2hlY2tgKSBhY2NlcHQgZm91ciBvdXRwdXQgbW9kZXM6CgotICoqYC0tanNvbmAq" + - "KiDigJQgSlNPTkwgZXZlbnRzIG9uIHN0ZGVycjsgb25lIGV2ZW50IHBlciBsaW5lOyBzdGFibGUg" + - "c2NoZW1hIChgc2NoZW1hVmVyc2lvbjogMmApLiAqKlVzZSB0aGlzIHdoZW4gcnVubmluZyB1bmRl" + - "ciBhbiBhZ2VudC4qKiBQYXJzZSBsaW5lLWJ5LWxpbmUgd2l0aCBganEgLWMgLmAgb3IgYGpzb24u" + - "bG9hZHMoKWAuCi0gKipgLS1wbGFpbmAqKiDigJQgUGxhaW4gdGltZXN0YW1wZWQgbGluZXMsIFJG" + - "QzMzMzkgVVRDLCBgW05OLzhdYCBwaGFzZSBwcmVmaXg7IGdyZXAtZnJpZW5kbHkuIERlZmF1bHQg" + - "aW4gbm9uLVRUWS4KLSAqKmAtLWFjY2Vzc2libGVgKiog4oCUIFBsYWluIG91dHB1dCB3aXRob3V0" + - "IHNwaW5uZXJzLCB3aXRoIHZlcmJvc2Ugc3RhdGUgbWFya2VycyAoYFtjb21wbGV0ZWRdYCwgYFty" + - "dW5uaW5nXWAsIGBbcGVuZGluZ11gLCBgW2ZhaWxlZF1gKS4gRm9yIHNjcmVlbiByZWFkZXJzIGFu" + - "ZCBjb25zdHJhaW5lZCB0ZXJtaW5hbHMuCi0gKioobm8gZmxhZykqKiDigJQgQnViYmxldGVhIFRU" + - "WSBkYXNoYm9hcmQuIERlZmF1bHQgaW4gVFRZIOKJpTEwMMOXMzAuIERvbid0IHVzZSB1bmRlciBh" + - "biBhZ2VudCAoY3Vyc29yLXVwIHNlcXVlbmNlcyBhcmUgbm9pc3kpLgoKQXV0by1kZXRlY3QgcGlj" + - "a3MgdGhlIHJpZ2h0IG1vZGUgZm9yIHdoYXRldmVyIHN0ZG91dC9zdGRlcnIgaXMuIFRoZSBDTEkg" + - "YWxzbyBob25vcnMgYE5PX0NPTE9SYCAoYW55IHZhbHVlIOKGkiBmb3JjZXMgcGxhaW4pLCBgVEVS" + - "TT1kdW1iYCAoZm9yY2VzIHBsYWluKSwgYW5kIGBDST10cnV0aHlgIChmb3JjZXMgcGxhaW4gZXZl" + - "biBvbiBhIGZha2UgVFRZKS4gV2hlbiB0aGUgdGVybWluYWwgaXMgc21hbGxlciB0aGFuIDEwMMOX" + - "MzAsIHRoZSBidWJibGV0ZWEgcmVuZGVyZXIgZmFsbHMgYmFjayB0byBhIGNvbXBhY3QgbGF5b3V0" + - "LiBFeHBsaWNpdCBgLS1qc29uYCBpcyB0aGUgcmlnaHQgY2FsbCBmb3IgYWdlbnQgcGlwaW5nLgoK" + - "IyMgT24gZmFpbHVyZQoKYG52Y2YtY2xpYCBmYWlsdXJlcyBlbWl0IHN0cnVjdHVyZWQgYHBoYXNl" + - "X2ZhaWxlZGAgZXZlbnRzIGluIEpTT046CgpgYGBqc29uCnsiZXZlbnQiOiJwaGFzZV9mYWlsZWQi" + - "LCJwaGFzZU51bSI6NCwicGhhc2UiOiJhcHBseS1jcCIsCiAiZXJyQ2F0ZWdvcnkiOiJoZWxtX2Fw" + - "cGx5IiwiZXJyTWVzc2FnZSI6ImhlbG0gaW5zdGFsbCBhcGkta2V5czogdGltZWQgb3V0IiwKICJy" + - "ZXRyeUNsYXNzIjoiYmFja29mZiIsInJldHJ5QWZ0ZXJTZWMiOjYwLAogInJlbWVkaWF0aW9uIjpb" + - "Imt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAiLAog" + - "ICAgICAgICAgICAgICAgIlJlLXJ1biB3aXRoIC0tZGVidWcgZm9yIHZlcmJvc2UgaGVsbWZpbGUg" + - "b3V0cHV0Il0sCiAicmF3Ijp7InN1YnByb2Nlc3MiOiJoZWxtZmlsZSIsImV4aXRDb2RlIjoxLCJz" + - "dGRlcnJUYWlsIjoi4oCmIiwia3ViZXJuZXRlc1JlYXNvbiI6IkZhaWxlZFNjaGVkdWxpbmcifX0K" + - "YGBgCgpUaGUgYHJldHJ5Q2xhc3NgIGZpZWxkIHRlbGxzIHRoZSBhZ2VudCBob3cgdG8gaGFuZGxl" + - "IHRoZSBmYWlsdXJlOgoKfCBgcmV0cnlDbGFzc2AgfCBNZWFuaW5nIHwgQWdlbnQgYWN0aW9uIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBpbW1lZGlhdGVgIHwgVHJhbnNpZW50IGJsaXAgfCBSZXRyeSB0aGUg" + - "c2FtZSBgdXBgIGNvbW1hbmQgbm93IHwKfCBgYmFja29mZmAgfCBSYXRlIGxpbWl0IC8gcGVuZGlu" + - "ZyBvcGVyYXRpb24gfCBXYWl0IGByZXRyeUFmdGVyU2VjYCBzZWNvbmRzLCB0aGVuIHJldHJ5IHwK" + - "fCBgYWZ0ZXJfcmVtZWRpYXRpb25gIHwgT3BlcmF0b3IgbXVzdCBpbnRlcnZlbmUgfCBTdXJmYWNl" + - "IGBlcnJNZXNzYWdlYCArIGByZW1lZGlhdGlvbmAsIFNUT1AuIERvbid0IGF1dG8tcmV0cnkuIHwK" + - "fCBgbm9uZWAgfCBOb24tcmV0cnlhYmxlIHwgU2FtZSBhcyBgYWZ0ZXJfcmVtZWRpYXRpb25gIOKA" + - "lCBzdXJmYWNlIGFuZCBzdG9wIHwKfCBgdW5rbm93bmAgfCBDbGFzc2lmaWVyIHVuc3VyZSB8IFRy" + - "ZWF0IGNvbnNlcnZhdGl2ZWx5OiBzdXJmYWNlIGFuZCBzdG9wIHwKCk5ldmVyIHJlLXJ1biB3aXRo" + - "IGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUpLiBUaGUgYHJhd2AgYmxvY2sgY2Fycmll" + - "cyB0aGUgdW5kZXJseWluZyBzaWduYWwgKHN1YnByb2Nlc3MgZXhpdCwgSFRUUCBzdGF0dXMsIEs4" + - "cyByZWFzb24pIOKAlCBxdW90ZSByZWxldmFudCBmaWVsZHMgd2hlbiBleHBsYWluaW5nIGZhaWx1" + - "cmVzIHRvIHRoZSB1c2VyLCBidXQgZG9uJ3QgZHVtcCBgc3RkZXJyVGFpbGAgdmVyYmF0aW0gaW50" + - "byBjaGF0IHdpdGhvdXQgc2Nhbm5pbmcgZm9yIHNlY3JldHMgZmlyc3QuCgojIyBRdWljayBjb21t" + - "YW5kIHJlZmVyZW5jZQoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgICAg" + - "ICAgICAgICAgICMgcHJlLWZsaWdodApudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXIt" + - "bmFtZT1OQU1FICAgIyBvbmUtc2hvdCBpbnN0YWxsCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1" + - "cyAgICAgICAgICAgICAgICAgICAjIHNuYXBzaG90Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1" + - "cyAtLXdhdGNoICAgICAgICAgICAjIGxpdmUKbnZjZi1jbGkgaW5pdCAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgbWludCBhZG1pbiB0b2tlbiAoY2xlYXJzIGFsbCBzYXZlZCBBUEkg" + - "a2V5cykKbnZjZi1jbGkgY2x1c3RlciByZWdpc3RlciDigKYgICAgICAgICAgICAgICAgICAgIyBy" + - "ZWdpc3RlciBjbHVzdGVyCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3i" + - "gKYgICAgICMgbWludCBib3RoIGZ1bmN0aW9uIGFuZCB0YXNrIEFQSSBrZXlzIChydW4gYWZ0ZXIg" + - "ZXZlcnkgaW5pdCkKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciBmdW5jdGlvbiDigKYg" + - "ICAgIyBmdW5jdGlvbiBrZXkgb25seQpudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRh" + - "c2sg4oCmICAgICAgICAjIHRhc2sga2V5IG9ubHkKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0t" + - "aW5wdXQtZmlsZT3igKYgICAgICAgIyBjcmVhdGUgZnVuY3Rpb24KbnZjZi1jbGkgZnVuY3Rpb24g" + - "Y3JlYXRlIC0tZnVuY3Rpb24tdHlwZT1MTE0gLS1sbG0tbW9kZWw9PHNwZWM+ICAjIGNyZWF0ZSBM" + - "TE0gZnVuY3Rpb24gbWV0YWRhdGEKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0tbmFtZT1sbG0t" + - "aGVsbSAtLWluZmVyZW5jZS11cmw9LyAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0tZnVuY3Rp" + - "b24tdHlwZT1MTE0gLS1oZWxtLWNoYXJ0PTxjaGFydD4gLS1oZWxtLWNoYXJ0LXNlcnZpY2U9PHNl" + - "cnZpY2U+IC0tbGxtLW1vZGVsPTxzcGVjPgpudmNmLWNsaSBmdW5jdGlvbiB1cGRhdGUgLS1sbG0t" + - "bW9kZWwtdXBkYXRlPTxzcGVjPiAgIyB1cGRhdGUgTExNIHJvdXRpbmcvdG9rZW4gbGltaXRzCm52" + - "Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPeKApgpudmNmLWNsaSBm" + - "dW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPeKApgoKIyBUYXNrIGNvbW1hbmRzIOKAlCByZXF1" + - "aXJlcyBOVkNGX0JBU0VfTlZDVF9VUkw9aHR0cDovLzxudmN0LWdhdGV3YXk+Cm52Y2YtY2xpIHRh" + - "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1pbWFnZT1a" + - "Cm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLmpzb24gICAjIGZyb20gSlNP" + - "TiBjb25maWcKbnZjZi1jbGkgdGFzayBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + - "bGlzdCBhbGwgdGFza3MKbnZjZi1jbGkgdGFzayBsaXN0IC0tc3RhdHVzPVJVTk5JTkcgICAgICAg" + - "ICAgICMgZmlsdGVyIGJ5IHN0YXR1cwpudmNmLWNsaSB0YXNrIGdldCBbdGFza0lkXSAgICAgICAg" + - "ICAgICAgICAgICAgIyB0YXNrIGRldGFpbHMKbnZjZi1jbGkgdGFzayBldmVudHMgW3Rhc2tJZF0g" + - "ICAgICAgICAgICAgICAgICMgbGlmZWN5Y2xlIGV2ZW50cwpudmNmLWNsaSB0YXNrIHJlc3VsdHMg" + - "W3Rhc2tJZF0gICAgICAgICAgICAgICAgIyByZXN1bHQgYXJ0aWZhY3RzCm52Y2YtY2xpIHRhc2sg" + - "Y2FuY2VsIFt0YXNrSWRdCm52Y2YtY2xpIHRhc2sgZGVsZXRlIFt0YXNrSWRdCmBgYAoKIyMgRmVl" + - "ZGJhY2sKCklmIHRoZSB1c2VyIGhpdHMgYSBidWcgb3IgbGltaXRhdGlvbiwgZmlsZSBhbiBpc3N1" + - "ZSB0aHJvdWdoIHRoZSBwcm9qZWN0IHRyYWNrZXIuIERvbid0IGluY2x1ZGUgc2VjcmV0cy4KUEsH" + - "CMWeKOUFYAAABWAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMwAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOEiMgQ0kgcGlwZWxp" + - "bmUgcGF0dGVybnMKCkhvdyB0byBkcml2ZSBgbnZjZi1jbGlgIGZyb20gQ0kgKEdpdExhYiBDSSwg" + - "R2l0SHViIEFjdGlvbnMsIEplbmtpbnMsIEFyZ29DRCkuIFBhdHRlcm5zIHRoYXQgc3VyZmFjZSBm" + - "cmVxdWVudGx5LgoKIyMgQmFzaWMgaW5zdGFsbCBwaXBlbGluZQoKYGBgeWFtbAojIEdpdExhYiBD" + - "SSBleGFtcGxlCmRlcGxveV9udmNmOgogIHN0YWdlOiBkZXBsb3kKICBpbWFnZTogbnZjci5pby8w" + - "NjUxMTU1MjE1ODY0OTc5L25jcC1kZXYvbnZjZi1jbGk6MS40LjAKICB2YXJpYWJsZXM6CiAgICBL" + - "VUJFQ09ORklHOiAkS1VCRUNPTkZJR19GSUxFCiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtZSAnLmV2ZW50ICE9ICJwaGFzZV9mYWls" + - "ZWQiJyB8fCBleGl0IDIKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5h" + - "bWU9JENMVVNURVJfTkFNRSAtLXRva2VuPSROVkNGX0FETUlOX0pXVCAtLW5vbi1pbnRlcmFjdGl2" + - "ZSAtLWpzb24KICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1l" + - "ICcudmVyZGljdCA9PSAiaGVhbHRoeSInCmBgYAoKTm90ZXM6Ci0gYC0tbm9uLWludGVyYWN0aXZl" + - "IC0tdG9rZW49JEpXVGAgaXMgcmVxdWlyZWQgaW4gQ0k7IG5ldmVyIHVzZSBpbnRlcmFjdGl2ZSBg" + - "aW5pdGAuCi0gQWx3YXlzIGAtLWpzb25gIGZvciBtYWNoaW5lLXBhcnNpbmcuCi0gRmluYWwgc3Rh" + - "dHVzIGNoZWNrIGdhdGVzIGRvd25zdHJlYW0gc3RhZ2VzIG9uIGB2ZXJkaWN0ID09ICJoZWFsdGh5" + - "ImAuCgojIyBHaXRPcHMgKEFyZ28gLyBGbHV4KSBwYXR0ZXJuCgpDSSBkb2Vzbid0IGBrdWJlY3Rs" + - "IGFwcGx5YCDigJQgaW5zdGVhZCwgcmVuZGVyIG1hbmlmZXN0cywgY29tbWl0IHRoZW0sIGxldCB0" + - "aGUgY29udHJvbGxlciBhcHBseS4KCmBgYHlhbWwKcmVuZGVyOgogIHNjcmlwdDoKICAgIC0gbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgLS1uby1hcHBseSA+IHJl" + - "bmRlcmVkL2NvbnRyb2wtcGxhbmUueWFtbAogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0" + - "YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLW5vLWFwcGx5ID4gcmVu" + - "ZGVyZWQvY29tcHV0ZS1wbGFuZS55YW1sCiAgICAtIGdpdCBhZGQgcmVuZGVyZWQvICYmIGdpdCBj" + - "b21taXQgLW0gImRlcGxveSBOVkNGICRUQUciICYmIGdpdCBwdXNoCmBgYAoKVGhlbiBBcmdvQ0Qg" + - "b3IgRmx1eCB3YXRjaGVzIGByZW5kZXJlZC9gIGFuZCBhcHBsaWVzLiBUaGUgQ0xJIG5ldmVyIHRv" + - "dWNoZXMgdGhlIGNsdXN0ZXIgZGlyZWN0bHkuCgpGb3IgdGhlIHJlZ2lzdGVyIHN0ZXAgKHdoaWNo" + - "IG11dGF0ZXMgSUNNUywgbm90IGp1c3QgSzhzKToKCmBgYHlhbWwKcmVnaXN0ZXI6CiAgc2NyaXB0" + - "OgogICAgLSBudmNmLWNsaSBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT0kTkFNRSAtLW5jYS1pZD0k" + - "TkNBIC0tcmVnaW9uPSRSRUdJT04gLS1pZ25vcmUtZXhpc3RpbmcKYGBgCgpgLS1pZ25vcmUtZXhp" + - "c3RpbmdgIGlzIHRoZSBHaXRPcHMtZnJpZW5kbHkgaWRlbXBvdGVudCBjb250cmFjdC4KCiMjIE11" + - "bHRpLWNsdXN0ZXIgcGlwZWxpbmUKCldoZW4gdGhlIHBpcGVsaW5lIG1hbmFnZXMgbWFueSBjb21w" + - "dXRlIGNsdXN0ZXJzIGFnYWluc3Qgb25lIGNvbnRyb2wgcGxhbmU6CgpgYGB5YW1sCmRlcGxveV9j" + - "b21wdXRlX3BsYW5lczoKICBwYXJhbGxlbDoKICAgIG1hdHJpeDoKICAgICAgLSBDTFVTVEVSOiBu" + - "Y3AtZWFzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWVhc3QtMQogICAgICAtIENMVVNU" + - "RVI6IG5jcC13ZXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtd2VzdC0xCiAgICAgIC0g" + - "Q0xVU1RFUjogbmNwLWV1LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZXUtMQogIHNjcmlw" + - "dDoKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAKICAgICAgICAtLWNsdXN0ZXItbmFtZT0k" + - "Q0xVU1RFUgogICAgICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSRDT05URVhUCiAgICAgICAg" + - "LS1pY21zLXVybD0kSUNNU19QVUJMSUNfVVJMCiAgICAgICAgLS10b2tlbj0kTlZDRl9BRE1JTl9K" + - "V1QKICAgICAgICAtLW5vbi1pbnRlcmFjdGl2ZQogICAgICAgIC0tanNvbgpgYGAKCkVhY2ggcGFy" + - "YWxsZWwgam9iIHJlZ2lzdGVycyArIGluc3RhbGxzIG9uZSBjb21wdXRlIHBsYW5lIGFnYWluc3Qg" + - "dGhlIHNoYXJlZCBjb250cm9sIHBsYW5lLiBGYWlsdXJlcyBhcmUgaXNvbGF0ZWQuCgojIyBQbGFu" + - "LW9ubHkgcHJldmlldyBpbiBQUnMKCmBgYHlhbWwKcHJldmlldzoKICBydWxlczoKICAgIC0gaWY6" + - "ICRDSV9QSVBFTElORV9TT1VSQ0UgPT0gIm1lcmdlX3JlcXVlc3RfZXZlbnQiCiAgc2NyaXB0Ogog" + - "ICAgLSB8CiAgICAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAgICAtLWNsdXN0ZXIt" + - "bmFtZT0kQ0xVU1RFUl9OQU1FIFwKICAgICAgICAtLXBsYW4tb25seSBcCiAgICAgICAgLS1qc29u" + - "IHwgdGVlIHBsYW4uanNvbmwKICAgIC0ganEgLXMgJy5bMF0nIHBsYW4uanNvbmwgPiBwbGFuLmpz" + - "b24KICAgIC0gJ2dpdGxhYi1tci1jb21tZW50ICIjIyBOVkNGIGRlcGxveSBwbGFuXG5cblxgXGBc" + - "YGpzb25cbiQoY2F0IHBsYW4uanNvbilcblxgXGBcYCInCmBgYAoKYC0tcGxhbi1vbmx5YCBleGl0" + - "cyAwIHdpdGhvdXQgY2hhbmdpbmcgY2x1c3RlciBzdGF0ZTsgdGhlIEpTT05MIG91dHB1dCBsaXN0" + - "cyBlYWNoIHBoYXNlICsgRVRBLiBSZW5kZXJzIG5pY2VseSBhcyBhbiBNUiBjb21tZW50LgpQSwcI" + - "IcbIhvAKAADwCgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOEiMgTXVsdGktY2x1" + - "c3RlciBwYXR0ZXJucwoKRXhhbXBsZXMgb2Ygc3BsaXQtY2x1c3RlciArIG1hbnktY29tcHV0ZS1w" + - "bGFuZSBvcGVyYXRpb24uCgojIyBPbmUgY29udHJvbCBwbGFuZSArIE4gY29tcHV0ZSBwbGFuZXMK" + - "ClRoZSBjYW5vbmljYWwgbXVsdGktY2x1c3RlciB0b3BvbG9neS4gRWFjaCBjb21wdXRlIHBsYW5l" + - "IGlzIHJlZ2lzdGVyZWQgc2VwYXJhdGVseToKCmBgYHNoCiMgMS4gQnJpbmcgdXAgdGhlIGNvbnRy" + - "b2wgcGxhbmUgKG9uZS10aW1lLCBvbiB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyKToKS1VCRUNP" + - "TkZJRz1jcC55YW1sIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + - "IHwga3ViZWN0bCBhcHBseSAtZiAtCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJv" + - "bC1wbGFuZSAtLXdhaXQgNW0KCiMgMi4gUmVnaXN0ZXIgKyBpbnN0YWxsIGVhY2ggY29tcHV0ZSBw" + - "bGFuZToKZm9yIENUWCBpbiBhZG1pbkBncHUtZWFzdC0xIGFkbWluQGdwdS13ZXN0LTEgYWRtaW5A" + - "Z3B1LWV1LTE7IGRvCiAgTkFNRT0kKGVjaG8gIiRDVFgiIHwgY3V0IC1kQCAtZjIpCiAgbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNm" + - "LmV4YW1wbGUuY29tIFwKICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldUIFwKICAgIC0tbm9uLWlu" + - "dGVyYWN0aXZlIFwKICAgIC0tanNvbgpkb25lCgojIDMuIFZlcmlmeSBhbGwgY29tcHV0ZSBwbGFu" + - "ZXMgcmVnaXN0ZXJlZDoKbnZjZi1jbGkgY2x1c3RlciBsaXN0IC0tanNvbiB8IGpxICcuY2x1c3Rl" + - "cnNbXSB8IHtuYW1lLCByZWdpb24sIGxhc3RIZWFydGJlYXR9JwpgYGAKCiMjIENvbXB1dGUtcGxh" + - "bmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3RsIGFjY2Vz" + - "cyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBpcyBvcGVy" + - "YXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBwbGFuZSBm" + - "b3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1YmxpYyBhcGkg" + - "Z2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMgcmVhY2hh" + - "YmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3MgbmVlZGVk" + - "KToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxlLmNvbQoK" + - "IyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToKbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + - "bWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAog" + - "IC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNm" + - "LmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVyYWN0aXZl" + - "CgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29udHJvbC1w" + - "bGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + - "aWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVjaWZp" + - "YyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5lcyBh" + - "bmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVuY3Rp" + + "aS9yZWZlcmVuY2UvZmxhZ3MubWQiLAogICAgICAic2hhMjU2IjogIjJlMWQ2MTQ5OTBkMDFmN2Fm" + + "MGNiN2FkZDdmOWVmY2I5MTE1NjYzNmFmMzU0YzcwMjE5MzQxM2JjY2NhMDMyZjEiLAogICAgICAi" + + "c2l6ZSI6IDExMTM3CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCIsCiAgICAgICJzaGEyNTYiOiAiYTYz" + + "MDg0ZTIyNDlmMWQxNTRjNTk4MWU0YTA3MmI3Yzc4NGI4NWVhMTQ2MDg2NTE1ZWFiNGFiNjcwYTk0" + + "MGU5NCIsCiAgICAgICJzaXplIjogNDQ2OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgInNoYTI1NiI6ICJj" + + "MzNmZDgzMDVlYzNmZDAyMGViNGM5ODJjM2FmZTc2YTdjMWQ0M2MzZTA1NGM4ZmJkMzhjNGJiMWI3" + + "MDdjNzVhIiwKICAgICAgInNpemUiOiAyNTE1NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb24iLAogICAgICAi" + + "c2hhMjU2IjogImM1YjQ1MzM3ZTQ5YjNhYjhhZTI4MzQ1ZDMxNjRhN2Y1NzkxOWU2NDQ4OTg3MDJk" + + "MGNhYWQ0OGFlZTI4YjFmM2EiLAogICAgICAic2l6ZSI6IDIxOTMzCiAgICB9LAogICAgewogICAg" + + "ICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWQiLAog" + + "ICAgICAic2hhMjU2IjogIjlhMzllNWNjYWJkNDA4MTljNzFmMmIwZjJkNzUyMzE2YjcyMzE1NjU0" + + "ZDgwZDNkMDE3Njk4Y2UxZmIzZTViMTEiLAogICAgICAic2l6ZSI6IDEwMzY3CiAgICB9LAogICAg" + + "ewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + + "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCIsCiAgICAgICJzaGEyNTYiOiAiNWRlZTU4" + + "YWUyYzY3YTYyOTQ2ZTNjNTkzMDJhZmFjYzQwYmRlNzFmOGRjMmYyNWNkNzc5OWNjNDViNDc0ZmEx" + + "OSIsCiAgICAgICJzaXplIjogMTIzMDYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAg" + + "ICJzaGEyNTYiOiAiYTUyODE1OGJjMGJmZmZlZWY2ZTAxZGUzODRjYWY1NjVlNjQ0NWI0OGFiZDNj" + + "ZWU0MDA0ODcxZjUyM2Y1M2I5NyIsCiAgICAgICJzaXplIjogMTI0MzcKICAgIH0sCiAgICB7CiAg" + + "ICAgICJwYXRoIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hl" + + "bG1maWxlLXN0cnVjdHVyZS5tZCIsCiAgICAgICJzaGEyNTYiOiAiMWQ1Mjc3NmY5ZDdkOGRmNThk" + + "ZWZlMzA0NmQ2M2VjOGY1MmZkMzAxYzIxNWJmMGUxYWI2YmI5MTkxNjIwNzNkZSIsCiAgICAgICJz" + + "aXplIjogMTAxMjcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQiLAogICAgICAic2hhMjU2" + + "IjogIjUwNTI0ZTZlMTk3MTE4M2JkYzlhZDBhYzM4YTgwN2RmNzJjYzA4NTFiNzlmNTE4ZmUxMWE0" + + "OGU0NTk3Yzg1MGUiLAogICAgICAic2l6ZSI6IDE5NzcKICAgIH0sCiAgICB7CiAgICAgICJwYXRo" + + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0" + + "cy5tZCIsCiAgICAgICJzaGEyNTYiOiAiZWMxZjNmZmNkMTdlNWY5NTgzZmVlMzk3NDRlZTg5N2Q0" + + "NjZiYzNjZjYzODkyOTQyNjRkODllN2Y5ZWQwMWI4NyIsCiAgICAgICJzaXplIjogNTYzMgogICAg" + + "fQogIF0KfQpQSwcIjHZJYkkQAABJEAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAjAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpCmRlc2NyaXB0aW9uOiB8CiAgSW5zdGFsbCwgb3BlcmF0ZSwgYW5kIHRl" + + "YXIgZG93biBzZWxmLWhvc3RlZCBOVklESUEgQ2xvdWQgRnVuY3Rpb25zIChOVkNGKQogIGRlcGxv" + + "eW1lbnRzIHdpdGggbnZjZi1jbGkuIFVzZSBmb3IgY29udHJvbC1wbGFuZSBvciBjb21wdXRlLXBs" + + "YW5lIGluc3RhbGwsCiAgc3RhdHVzIGNoZWNrcywgY2x1c3RlciByZWdpc3RyYXRpb24sIGZ1bmN0" + + "aW9uIGRlcGxveS9pbnZva2UsIHRhc2sKICBjcmVhdGUvbGlzdC9jYW5jZWwvZGVsZXRlLCBBUEkg" + + "a2V5cywgYWRtaW4gdG9rZW5zLCBKV0tTIHJvdGF0aW9uLAogIGZhaWxlZC1pbnN0YWxsIGRpYWdu" + + "b3NpcywgYW5kIHVuaW5zdGFsbCBvciBkb3duIHdvcmtmbG93cy4gVHJpZ2dlciBrZXl3b3JkczoK" + + "ICBudmNmLCBudmNmLWNsaSwgc2VsZi1ob3N0ZWQgbnZjZiwgc2VsZi1tYW5hZ2VkIG52Y2YsIE5W" + + "Q0ZCYWNrZW5kLCBOVkNBLCBOQ1AsCiAgSUNNUywgaGVsbWZpbGUsIGNvbnRyb2wgcGxhbmUsIGNv" + + "bXB1dGUgcGxhbmUsIExMTSBmdW5jdGlvbiwKICBPcGVuQUktY29tcGF0aWJsZSBpbnZvY2F0aW9u" + + "LCBSZXNwb25zZXMgQVBJLCBlbWJlZGRpbmdzLCBiYXRjaCB0YXNrLCB0YXNrCiAgbW9uaXRvciwg" + + "Y2x1c3RlciByb3RhdGUsIGNsdXN0ZXIgZGVsZXRlLCBoZWxtIHRhc2ssIGhlbG0tYmFzZWQgdGFz" + + "aywKICB0YXNrIHNlY3JldHMsIHVwZGF0ZSB0YXNrIHNlY3JldHMsIHJldHJpZXZlIHRhc2sgcmVz" + + "dWx0cywgYnVsayBmZXRjaCB0YXNrcywKICB0YXNrIHJlc3VsdHMsIE5WQ1QsIE5WQ1QgdGFzaywg" + + "TlZDVCBiYXRjaCBqb2IuCmFsbG93ZWQtdG9vbHM6IEJhc2gsIFJlYWQsIEFza1VzZXJRdWVzdGlv" + + "bgphcmd1bWVudC1oaW50OiAiW2luc3RhbGx8c3RhdHVzfGNoZWNrfGRlcGxveS1mdW5jdGlvbnxy" + + "ZWdpc3Rlci1jbHVzdGVyfHRlYXJkb3duXSBbYXJnc10iCi0tLQo8IS0tClRva2VuIEJ1ZGdldDoK" + + "LSBMZXZlbCAxIChZQU1MKTogfjEyMCB0b2tlbnMKLSBMZXZlbCAyICh0aGlzIGZpbGUpOiB+MTkw" + + "MCB0b2tlbnMgKHRhcmdldCA8MjAwMCkKLSBMZXZlbCAzIChwcm9tcHRzLywgcmVmZXJlbmNlLywg" + + "ZXhhbXBsZXMvKTogbG9hZGVkIG9uIGRlbWFuZAotLT4KCiMgTlZDRiBTZWxmLUhvc3RlZCBDTEkK" + + "CmBudmNmLWNsaWAgZHJpdmVzIGV2ZXJ5IHN0ZXAgb2YgYnJpbmdpbmcgdXAgc2VsZi1ob3N0ZWQg" + + "TlZJRElBIENsb3VkIEZ1bmN0aW9uczogY2x1c3RlciByZWdpc3RyYXRpb24sIGNvbnRyb2wtcGxh" + + "bmUgaW5zdGFsbCwgY29tcHV0ZS1wbGFuZSBpbnN0YWxsLCBmdW5jdGlvbiBkZXBsb3kvaW52b2tl" + + "LCBhbmQgbGlmZWN5Y2xlIG1hbmFnZW1lbnQuIFVzZSB0aGlzIHNraWxsIGFueSB0aW1lIHRoZSB1" + + "c2VyIHdhbnRzIHRvIG9wZXJhdGUgc2VsZi1ob3N0ZWQgTlZDRi4KCiMjIFdoZW4gdG8gdXNlCgot" + + "ICJpbnN0YWxsIHNlbGYtaG9zdGVkIE5WQ0YiIC8gImJyaW5nIHVwIGFuIE5WQ0YgY2x1c3RlciIK" + + "LSAicmVnaXN0ZXIgYSAoY29tcHV0ZXxHUFUpIGNsdXN0ZXIgd2l0aCBOVkNGIgotICJkZXBsb3kg" + + "YSAoY29udGFpbmVyfEdQVSkgZnVuY3Rpb24iIC8gImludm9rZSBhbiBOVkNGIGZ1bmN0aW9uIgot" + + "ICJjaGVjayBOVkNGIGNsdXN0ZXIgaGVhbHRoIiAvICJpcyBteSBOVkNGIGluc3RhbGwgT0s/Igot" + + "ICJyb3RhdGUgTlZDRiBjbHVzdGVyIEpXS1MiIC8gInRoZSBOVkNBIGFnZW50IHN0b3BwZWQgYXV0" + + "aGVudGljYXRpbmciCi0gInRlYXIgZG93biBOVkNGIiAvICJyZW1vdmUgdGhlIGNvbXB1dGUgcGxh" + + "bmUiIC8gInVuaW5zdGFsbCBOVkNGIiAvICJkZXJlZ2lzdGVyIHRoaXMgY2x1c3RlciIKLSAicHJl" + + "dmlldyB3aGF0IGBkb3duYCB3b3VsZCBkbyIgLyAiZHJ5LXJ1biB1bmluc3RhbGwiCi0gQW55IHRh" + + "c2sgb3BlcmF0aW9uOiBjcmVhdGUgLyBydW4gLyBzdWJtaXQgLyBtb25pdG9yIC8gY2FuY2VsIC8g" + + "ZGVsZXRlIC8gbGlzdCB0YXNrcywgaGVsbSB0YXNrLCB1cGRhdGUgdGFzayBzZWNyZXRzLCByZXRy" + + "aWV2ZSB0YXNrIHJlc3VsdHMsIGJ1bGsgZmV0Y2ggdGFzayBkZXRhaWxzLgotIEFueSByZWZlcmVu" + + "Y2UgdG8gYE5WQ1RgLCBgTlZDVCB0YXNrYCwgb3IgYE5WQ1QgYmF0Y2ggam9iYCAobGlzdCAvIHJ1" + + "biAvIGNhbmNlbCAvIGRlbGV0ZSAvIHJlc3VsdHMpLgotIEFueSByZWZlcmVuY2UgdG8gYE5WQ0ZC" + + "YWNrZW5kYCwgYE5WQ0FgLCBJQ01TLCBoZWxtIHJlbGVhc2VzIGxpa2UgYGhlbG0tbnZjZi0qYCwg" + + "b3IgYGljbXMuPGRvbWFpbj5gIC8gYGFwaS48ZG9tYWluPmAgVVJMcy4KCiMjIFF1aWNrIHN0YXJ0" + + "CgpGb3IgcmVtb3RlIG9uZS1jbGljayBpbnN0YWxscywgcHJlcGFyZSBHYXRld2F5IEFQSSBpbmdy" + + "ZXNzIGFuZCBDTEkgZW5kcG9pbnQKY29uZmlndXJhdGlvbiBiZWZvcmUgcnVubmluZyBgc2VsZi1o" + + "b3N0ZWQgdXBgLiBUaGUgY29tbWFuZCBhcHBsaWVzIHRoZSBjb250cm9sCnBsYW5lIGFuZCB0aGVu" + + "IGltbWVkaWF0ZWx5IGNhbGxzIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIGFuZCBnUlBDIGVu" + + "ZHBvaW50cy4KSWYgdGhlIEdhdGV3YXkgaXMgbm90IHByb2dyYW1tZWQgb3IgdGhlIENMSSBob3N0" + + "IGhlYWRlcnMgZG8gbm90IG1hdGNoIHRoZQpIVFRQUm91dGVzIHJlbmRlcmVkIGJ5IHRoZSBzdGFj" + + "ayBlbnZpcm9ubWVudCwgcG9zdC1pbnN0YWxsIGhlYWx0aCBhbmQgY2x1c3RlcgpyZWdpc3RyYXRp" + + "b24gd2lsbCBmYWlsLgoKYGBgc2gKIyBTaW5nbGUtY2x1c3RlciAoY29udHJvbCArIGNvbXB1dGUg" + + "b24gdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0KToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "dXAgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCgojIFNwbGl0LWNsdXN0ZXIgKGNvbnRyb2wgcGxh" + + "bmUgb24gY29udGV4dCBBLCBjb21wdXRlIHBsYW5lIG9uIGNvbnRleHQgQik6CktVQkVDT05GSUc9" + + "Y3AueWFtbDpncHUxLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogIC0tY2x1c3Rlci1u" + + "YW1lPW5jcC1sb2NhbCBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9YWRtaW5AY3AgXAogIC0t" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9p" + + "Y21zLm52Y2YuZXhhbXBsZS5jb20KCiMgQWRkIGEgbmV3IGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhp" + + "c3RpbmcgY29udHJvbCBwbGFuZSAobm8ga3ViZWN0bCBhY2Nlc3MgdG8gQ1AgbmVlZGVkOwojIHJl" + + "YWNoZXMgdGhlIGNvbnRyb2wgcGxhbmUgdmlhIHRoZSBwdWJsaWMgSUNNUyBIVFRQUm91dGUpOgpu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWU9" + + "bmNwLWxvY2FsLTIgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTIgXAogIC0t" + + "aWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9rZW49JEFETUlO" + + "X0pXVAoKIyBUZWFyIGRvd24gKGFsd2F5cyBwbGFuLW9ubHkgZmlyc3QpOgpudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24g" + + "fCBqcQpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbAoK" + + "IyBQZXItcGxhbmUgdW5pbnN0YWxsIChHaXRPcHM7IG1pcnJvcnMgYGluc3RhbGxgKToKbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1" + + "c3Rlci1uYW1lPW5jcC1sb2NhbCB8IGt1YmVjdGwgZGVsZXRlIC1mIC0KYGBgCgo+ICoqYHVwYCB2" + + "cyBgYWRkLWNvbXB1dGUtcGxhbmVgLioqIGB1cGAgYWx3YXlzIGluc3RhbGxzIGJvdGggcGxhbmVz" + + "IOKAlCB1c2UgaXQgZm9yIHRoZSAqZmlyc3QqIGluc3RhbGwuIGBhZGQtY29tcHV0ZS1wbGFuZWAg" + + "aXMgdGhlIHJpZ2h0IHN1YmNvbW1hbmQgYW55IHRpbWUgdGhlIGNvbnRyb2wgcGxhbmUgaXMgYWxy" + + "ZWFkeSBydW5uaW5nIGFuZCB5b3Ugd2FudCB0byBhdHRhY2ggYW4gTnRoIGNvbXB1dGUgY2x1c3Rl" + + "ci4KCj4gKipgZG93bmAgYWx3YXlzIHdpdGggYC0tcGxhbi1vbmx5YCBmaXJzdC4qKiBTaG93IHRo" + + "ZSB1c2VyIHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1tdYCBhcnJheSBiZWZvcmUgcnVubmlu" + + "ZyBmb3IgcmVhbC4KCiMjIEF1dGhlbnRpY2F0aW9uCgpgbnZjZi1jbGlgIHVzZXMgdHdvIGNyZWRl" + + "bnRpYWxzLiBFYWNoIGlzIHJlc29sdmVkIGluZGVwZW5kZW50bHkgaW4gdGhpcyBvcmRlcjoKCnwg" + + "UHJlY2VkZW5jZSB8IFNvdXJjZSB8CnwtLS18LS0tfAp8IDEgKGhpZ2hlc3QpIHwgRW52aXJvbm1l" + + "bnQgdmFyaWFibGUgKGBOVkNGX1RPS0VOYCwgYE5WQ0ZfQVBJX0tFWWApIHwKfCAyIHwgQ29uZmln" + + "IGZpbGUgKGB+Ly5udmNmLWNsaS55YW1sYCwga2V5cyBgdG9rZW5gIGFuZCBgYXBpX2tleWApIHwK" + + "fCAzIHwgU3RhdGUgZmlsZSAoYH4vLm52Y2YtY2xpLnN0YXRlYCksIHNraXBwZWQgd2hlbiB0aGUg" + + "c3RvcmVkIHRva2VuIGlzIGV4cGlyZWQgfAoKfCBFbnYgdmFyIHwgVG9rZW4gdHlwZSB8IFVzZWQg" + + "YnkgfAp8LS0tfC0tLXwtLS18CnwgYE5WQ0ZfVE9LRU5gIHwgQWRtaW4gSldUIHwgYGZ1bmN0aW9u" + + "IGNyZWF0ZWAgLyBgZGVwbG95YCAvIGB1cGRhdGVgIC8gYGRlbGV0ZWAsIGNsdXN0ZXIgbWFuYWdl" + + "bWVudCAoYGNsdXN0ZXIgcmVnaXN0ZXJgL2Byb3RhdGVgL2BkZWxldGVgLCBgc2VsZi1ob3N0ZWRg" + + "IG9wcykuIFJlcXVpcmVkIGZvciBhZG1pbiBjb21tYW5kczsgcHJlZmVycmVkIGZvciB0aGUgcmVz" + + "dC4gfAp8IGBOVkNGX0FQSV9LRVlgIHwgYG52YXBpLS4uLmAgQVBJIGtleSB8IGBmdW5jdGlvbiBp" + + "bnZva2VgIC8gYGxpc3RgIC8gYGdldGAsIHF1ZXVlIGRldGFpbHMuIEZhbGxzIGJhY2sgdG8gYE5W" + + "Q0ZfVE9LRU5gIHdoZW4gdW5zZXQuIHwKClRva2VuIGdlbmVyYXRpb24gZmxvdzoKCjEuIFBvaW50" + + "IHRoZSBDTEkgYXQgeW91ciBzZWxmLWhvc3RlZCBlbmRwb2ludHMuIERlZmF1bHRzIHRhcmdldCBw" + + "cm9kdWN0aW9uIE5WQ0Y7IG92ZXJyaWRlIHdpdGggZW52IHZhcnMgb3IgYSB5YW1sIGZpbGUgKGAt" + + "LWNvbmZpZyA8cGF0aD5gLCBgLi8ubnZjZi1jbGkueWFtbGAsIG9yIGB+Ly5udmNmLWNsaS55YW1s" + + "YDsgYSBmdWxsIHRlbXBsYXRlIHNoaXBzIGF0IGBzcmMvY2xpcy9udmNmLWNsaS8ubnZjZi1jbGku" + + "eWFtbC50ZW1wbGF0ZWApLgoKICAgYE5WQ0ZfQkFTRV9IVFRQX1VSTGAgLyBgQVBJX0tFWVNfU0VS" + + "VklDRV9VUkxgIC8gYE5WQ0ZfQkFTRV9HUlBDX1VSTGAgdGVsbCB0aGUgQ0xJICp3aGVyZSB0byBz" + + "ZW5kIHJlcXVlc3RzKi4gYEFQSV9IT1NUYCAvIGBBUElfS0VZU19IT1NUYCAvIGBJTlZPS0VfSE9T" + + "VGAgc2V0IHRoZSBgSG9zdDpgIGhlYWRlciBvbiB0aG9zZSByZXF1ZXN0cyDigJQgbmVlZGVkIHdo" + + "ZW4gZXZlcnkgTlZDRiBzZXJ2aWNlIHNpdHMgYmVoaW5kIGEgc2luZ2xlIGdhdGV3YXkgdGhhdCBy" + + "b3V0ZXMgYnkgaG9zdG5hbWUgKEVudm95IEdhdGV3YXkgSFRUUFJvdXRlIG9uIGBhcGkuPEVMQj5g" + + "LCBgYXBpLWtleXMuPEVMQj5gLCBgaW52b2NhdGlvbi48RUxCPmAsIGBsbG0uPEVMQj5gKS4gU2tp" + + "cCB0aGUgdGhyZWUgSG9zdCB2YXJzIHdoZW4gdGhlIGJhc2UgVVJMIGFscmVhZHkgcmVzb2x2ZXMg" + + "dG8gdGhlIHJpZ2h0IHNlcnZpY2UuCgogICBFbnYtdmFyIGZvcm06CiAgIGBgYHNoCiAgIGV4cG9y" + + "dCBOVkNGX0JBU0VfSFRUUF9VUkw9aHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBleHBvcnQgQVBJ" + + "X0tFWVNfU0VSVklDRV9VUkw9aHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBleHBvcnQgTlZDRl9C" + + "QVNFX0dSUENfVVJMPWd3LmV4YW1wbGUuY29tOjQ0MwoKICAgIyBPbmx5IHdoZW4gdGhlIGdhdGV3" + + "YXkgcm91dGVzIGJ5IEhvc3QgaGVhZGVyOgogICBleHBvcnQgQVBJX0tFWVNfSE9TVD1hcGkta2V5" + + "cy5ndy5leGFtcGxlLmNvbQogICBleHBvcnQgQVBJX0hPU1Q9YXBpLmd3LmV4YW1wbGUuY29tCiAg" + + "IGV4cG9ydCBJTlZPS0VfSE9TVD1pbnZvY2F0aW9uLmd3LmV4YW1wbGUuY29tCiAgIGBgYAoKICAg" + + "WWFtbCBmb3JtIChgfi8ubnZjZi1jbGkueWFtbGApOgogICBgYGB5YW1sCiAgIGJhc2VfaHR0cF91" + + "cmw6IGh0dHBzOi8vZ3cuZXhhbXBsZS5jb20KICAgYXBpX2tleXNfc2VydmljZV91cmw6IGh0dHBz" + + "Oi8vZ3cuZXhhbXBsZS5jb20KICAgYmFzZV9ncnBjX3VybDogZ3cuZXhhbXBsZS5jb206NDQzCgog" + + "ICAjIE9ubHkgd2hlbiB0aGUgZ2F0ZXdheSByb3V0ZXMgYnkgSG9zdCBoZWFkZXI6CiAgIGFwaV9r" + + "ZXlzX2hvc3Q6IGFwaS1rZXlzLmd3LmV4YW1wbGUuY29tCiAgIGFwaV9ob3N0OiBhcGkuZ3cuZXhh" + + "bXBsZS5jb20KICAgaW52b2tlX2hvc3Q6IGludm9jYXRpb24uZ3cuZXhhbXBsZS5jb20KICAgYGBg" + + "CgoyLiBgbnZjZi1jbGkgaW5pdGAgY2FsbHMgdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRob3Nl" + + "IGVuZHBvaW50cyBhbmQgd3JpdGVzIHRoZSBhZG1pbiB0b2tlbiB0byBgfi8ubnZjZi1jbGkuc3Rh" + + "dGVgLiBVc2UgYG52Y2YtY2xpIHJlZnJlc2hgIHRvIHJvdGF0ZSBhIHN0b3JlZCB0b2tlbi4KMy4g" + + "QWZ0ZXIgYGluaXRgLCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZWAgbWludHMgZnVuY3Rpb24g" + + "KyB0YXNrIEFQSSBrZXlzIChhbHNvIHN0b3JlZCBpbiBzdGF0ZSkuCgpBZnRlciBgaW5pdGAsIHRo" + + "ZSBjcmVkZW50aWFscyBsaXZlIGluIGB+Ly5udmNmLWNsaS5zdGF0ZWAsIHNvIGxhdGVyIGNvbW1h" + + "bmRzIHdvcmsgd2l0aG91dCBleHBvcnRpbmcgYE5WQ0ZfVE9LRU5gIG9yIGBOVkNGX0FQSV9LRVlg" + + "LiBFeHBvcnQgdGhlIGVudiB2YXIgb25seSB0byBvdmVycmlkZSB0aGUgc3RvcmVkIHZhbHVlIChm" + + "b3IgZXhhbXBsZSBhIHNob3J0ZXItbGl2ZWQgdG9rZW4gZnJvbSBDSSkuCgojIyBDb3JlIHN1YmNv" + + "bW1hbmRzCgp8IFN1YmNvbW1hbmQgfCBXaGF0IGl0IGRvZXMgfCBXaGVuIHRvIHVzZSB8CnwtLS18" + + "LS0tfC0tLXwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgWy0tbG9jYWwtb25s" + + "eSBcfCAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1YIFx8IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PVldYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3QgdG9vbHMgKyBjbHVzdGVyLXNpZGUgcHJlcmVx" + + "dWlzaXRlcyB8IEFsd2F5cyBydW4gZmlyc3Qgb24gYSBuZXcgZW52aXJvbm1lbnQgfAp8IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC1gIHwgUmVuZGVyICsgYXBwbHkgdGhlIGNvbnRyb2wgcGxhbmUgfCBXaGVuIHlvdSB3YW50" + + "IG1hbnVhbCBjb250cm9sIG92ZXIgYXBwbHkgKEdpdE9wcy1mcmllbmRseSkgfAp8IGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFx8" + + "IGt1YmVjdGwgYXBwbHkgLWYgLWAgfCBSZWdpc3RlciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUg" + + "cGxhbmUgfCBTYW1lIOKAlCBtYW51YWwgYXBwbHkgcGF0aCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHVwIC0tY2x1c3Rlci1uYW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbDogcHJlLWZs" + + "aWdodCDihpIgY29udHJvbCBwbGFuZSDihpIgcmVnaXN0ZXIg4oaSIGNvbXB1dGUgcGxhbmUgfCBT" + + "dGFuZGFyZCBpbnN0YWxsIHBhdGggKGJvdGggcGxhbmVzIGZyb20gc2NyYXRjaCkgfAp8IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1y" + + "dW46IGVtaXQgcGhhc2UtYnktcGhhc2UgcGxhbiArIEVUQSB3aXRob3V0IGNoYW5naW5nIHN0YXRl" + + "IHwgQWdlbnQgLyBDSSBwcmV2aWV3IGJlZm9yZSBjb21taXQgfAp8IGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBhZGQtY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PVkgLS1pY21zLXVybD3igKYgLS10b2tlbj0kSldUYCB8IEFkZCBhIG5ldyBjb21wdXRl" + + "IHBsYW5lIHRvIGFuICpleGlzdGluZyogY29udHJvbCBwbGFuZSAobm8gQ1AgaW5zdGFsbCkgfCBB" + + "ZGRpbmcgdGhlIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGluaXRpYWwgYHVw" + + "YCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwg" + + "UGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBs" + + "YW5lIChyZWZ1c2VzIGlmIGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQpIHwgRmluYWwg" + + "dGVhcmRvd24gYWZ0ZXIgYWxsIGNvbXB1dGUgcGxhbmVzIGFyZSBnb25lLCBvciBzY3JpcHRlZCBw" + + "aXBlbGluZXMgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBs" + + "YW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1maWxlIGRl" + + "c3Ryb3lgIG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikg" + + "fCBKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyB3aXRob3V0IHRoZSBJQ01TLXNpZGUgY2xl" + + "YW51cCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IDxwbGFu" + + "ZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZlc3RgIHwgR2l0T3Bz" + + "OyBgXHwga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzIHwKfCBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8IE9yY2hlc3RyYXRv" + + "cjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRl" + + "IGluIElDTVMgfCBTdGFuZGFyZCAicmVtb3ZlIG9uZSBHUFUgY2x1c3RlciIgcGF0aCB8CnwgYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8IE9yY2hlc3RyYXRvcjog" + + "dGVhciBkb3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wgcGxhbmUg" + + "fCBGdWxsIHVuaW5zdGFsbCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9u" + + "bHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuIHByZXZpZXcgKHBoYXNlcyArIGhlbG0gcmVs" + + "ZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzOyBubyBoZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgKipB" + + "TFdBWVMgcnVuIGJlZm9yZSBhbnkgYWN0dWFsIGBkb3duYCoqIHwKfCBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgc3RhdHVzIFstLWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF0gWy0tanNvbl1gIHwgU25h" + + "cHNob3QgZGFzaGJvYXJkIG9mIGNsdXN0ZXIgaWRlbnRpdHkgKyBjb21wb25lbnQgaGVhbHRoICsg" + + "cmVjZW50IGV2ZW50cyB8IFJvdXRpbmUgaGVhbHRoIGNoZWNrczsgYC0td2F0Y2hgIGZvciBsaXZl" + + "IHwKfCBgbnZjZi1jbGkgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgc2Vy" + + "dmljZSB2aWEgdGhlIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IEJlZm9yZSBhbnkgY2x1c3Rlci1tYW5h" + + "Z2VtZW50IG9wZXJhdGlvbjsgaWRlbXBvdGVudCB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0" + + "ZXIgLS1uYW1lPVggLS1uY2EtaWQ9WSAtLXJlZ2lvbj1aIFstLWlnbm9yZS1leGlzdGluZ11gIHwg" + + "UmVnaXN0ZXIgYSBjbHVzdGVyIEpXS1MrT0lEQyBpc3N1ZXIgd2l0aCBJQ01TIHwgU3RhbmRhbG9u" + + "ZSByZWdpc3RlciAod2l0aG91dCBjb21wdXRlLXBsYW5lIGluc3RhbGwpIHwKfCBgbnZjZi1jbGkg" + + "Y2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJvdGF0ZSBjbHVzdGVyIEpXS1MgaW4g" + + "SUNNUyB8IFdoZW4gTlZDQSdzIEs4cyBzaWduaW5nIGtleSBjaGFuZ2VkIGFuZCBQU0FUIHZlcmlm" + + "aWNhdGlvbiBzdGFydGVkIDQwMS1pbmcgfAp8IGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNs" + + "dXN0ZXItaWQ9SURgIHwgUmVtb3ZlIGNsdXN0ZXIgcmVnaXN0cmF0aW9uIGZyb20gSUNNUyB8ICoq" + + "Q29uZmlybSB3aXRoIHVzZXIuKiogRGVzdHJveXMgSUNNUyBzdGF0ZSBmb3IgdGhlIGNsdXN0ZXIu" + + "IHwKfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSLigKYiIC0tZXhw" + + "aXJlcy1pbj0xaGAgfCBNaW50IGJvdGggYSBmdW5jdGlvbiBBUEkga2V5IGFuZCBhIHRhc2sgQVBJ" + + "IGtleSAoZGVmYXVsdCkgfCBCZWZvcmUgaW52b2tpbmcgZnVuY3Rpb25zIG9yIGNyZWF0aW5nIHRh" + + "c2tzOyBydW4gYWZ0ZXIgZXZlcnkgYGluaXRgIHwKfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0" + + "ZSAtLWZvciBmdW5jdGlvbiAtLWRlc2NyaXB0aW9uPSLigKYiYCB8IE1pbnQgYSBmdW5jdGlvbiBB" + + "UEkga2V5IG9ubHkgKGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlKSB8IFdoZW4gb25seSBmdW5jdGlv" + + "biBpbnZvY2F0aW9uIGlzIG5lZWRlZCB8CnwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1m" + + "b3IgdGFzayAtLWRlc2NyaXB0aW9uPSLigKYiYCB8IE1pbnQgYSB0YXNrIEFQSSBrZXkgb25seSB8" + + "IFdoZW4gb25seSB0YXNrIG9wZXJhdGlvbnMgYXJlIG5lZWRlZCB8CnwgYG52Y2YtY2xpIGZ1bmN0" + + "aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9PGpzb24+YCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0" + + "YSBpbiBJQ01TIHwgRmlyc3Qgc3RlcCBvZiBhbnkgZnVuY3Rpb24gZGVwbG95OyB1c2UgYGZ1bmN0" + + "aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmb3IgTExNIGZ1bmN0aW9u" + + "cyB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPTxqc29u" + + "PmAgfCBTY2hlZHVsZSBhIGRlcGxveW1lbnQgb2YgYSBjcmVhdGVkIGZ1bmN0aW9uIHwgV2FpdHMg" + + "Zm9yIEFDVElWRSBiZWZvcmUgcmV0dXJuaW5nICh0aW1lb3V0IDkwMHMpIHwKfCBgbnZjZi1jbGkg" + + "ZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgSW52b2tlIGEgZGVwbG95ZWQg" + + "ZnVuY3Rpb24gfCBSZXF1aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pIHwKfCBgbnZjZi1j" + + "bGkgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBS" + + "ZW1vdmUgYSBmdW5jdGlvbiBhbmQgaXRzIGRlcGxveW1lbnQgfCAqKkNvbmZpcm0gd2l0aCB1c2Vy" + + "LioqIHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEwMCAtLWluc3Rh" + + "bmNlLXR5cGU9WSAtLWltYWdlPVpgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2s7IHNhdmVzIHRh" + + "c2sgSUQgdG8gQ0xJIHN0YXRlIHwgUmVxdWlyZXMgdGFzayBBUEkga2V5OyBzZXQgYE5WQ0ZfQkFT" + + "RV9OVkNUX1VSTGAgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludCB8CnwgYG52Y2YtY2xpIHRh" + + "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1oZWxtLWNo" + + "YXJ0PVpgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgU2FtZSBhcyBjb250YWluZXIgdGFzazsgYC0t" + + "aGVsbS1jaGFydGAgcmVwbGFjZXMgYC0taW1hZ2VgIHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUg" + + "LS1pbnB1dC1maWxlPTxqc29uPmAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBm" + + "aWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGBudmNm" + + "LWNsaSB0YXNrIGxpc3QgWy0tc3RhdHVzPVFVRVVFRFx8UlVOTklOR1x8Q09NUExFVEVEXWAgfCBM" + + "aXN0IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IHwKfCBgbnZjZi1jbGkg" + + "dGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IGRldGFpbHMgZm9yIGEgdGFzazsgdXNlcyBzYXZlZCB0" + + "YXNrIElEIGlmIG9taXR0ZWQgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZXZlbnRzIFt0YXNrSWRdYCB8" + + "IFN0cmVhbSBsaWZlY3ljbGUgZXZlbnRzIGZvciBhIHRhc2sgfCB8CnwgYG52Y2YtY2xpIHRhc2sg" + + "cmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFjdHMgZm9yIGEgY29tcGxldGVk" + + "IHRhc2sgfCBSZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9ydGVkOyByZXR1cm5zIGVtcHR5IGxp" + + "c3QgZm9yIGBOT05FYCBzdHJhdGVneSB8CnwgYG52Y2YtY2xpIHRhc2sgY2FuY2VsIFt0YXNrSWRd" + + "YCB8IENhbmNlbCBhIHF1ZXVlZCBvciBydW5uaW5nIHRhc2sgfCB8CnwgYG52Y2YtY2xpIHRhc2sg" + + "ZGVsZXRlIFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipDb25maXJtIHdpdGgg" + + "dXNlci4qKiB8CnwgYG52Y2YtY2xpIHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNy" + + "ZXRzIE5BTUU9dmFsdWVgIHwgVXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNy" + + "ZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGlu" + + "IHRoZSByZXF1ZXN0IGFyZSBwcmVzZXJ2ZWQgfCB8CnwgYG52Y2YtY2xpIHRhc2sgYnVsayAtLXRh" + + "c2staWRzPUlEMSxJRDJgIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3MgaW4gb25l" + + "IGNhbGwgfCB8Cgo+IFJlZ2lzdHJ5IGNyZWRlbnRpYWwgcHJvcGFnYXRpb246IGFmdGVyIGByZWdp" + + "c3RyeS1jcmVkZW50aWFsIGFkZGAvYHVwZGF0ZWAvYGRlbGV0ZWAsIHRhc2sgY3JlYXRpb24gY2Fu" + + "IGtlZXAgdXNpbmcgdGhlIHByZXZpb3VzIGNyZWRlbnRpYWwgZm9yIHVwIHRvIGFib3V0IDUgbWlu" + + "dXRlcyAoTlZDVCBjYWNoZXMgYWNjb3VudCBjcmVkZW50aWFscyBhdCBgbnZjdC5udmNmLmNhY2hl" + + "LXR0bGAsIGRlZmF1bHQgYFBUNU1gKSwgZXZlbiB0aG91Z2ggYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + + "bGlzdGAvYGdldGAgc2hvdyB0aGUgbmV3IHZhbHVlIGltbWVkaWF0ZWx5LiBXYWl0IGFib3V0IDUg" + + "bWludXRlcywgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9u" + + "dmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkuIFNlZSBbcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + + "dGluZy5tZF0ocmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCkuCgojIyBMTE0gZnVuY3Rpb24g" + + "dHlwZQoKVXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBmb3IgT3BlbkFJLWNvbXBhdGlibGUgbW9k" + + "ZWxzIHNlcnZlZCB0aHJvdWdoIHRoZSBzZWxmLW1hbmFnZWQgTExNIEdhdGV3YXkuIExMTSBmdW5j" + + "dGlvbnMgbXVzdCBkZWZpbmUgYXQgbGVhc3Qgb25lIGBtb2RlbHNbXWAgZW50cnkgd2l0aCBgbmFt" + + "ZWAgYW5kIGBsbG1Db25maWcudXJpc2A7IHRoZSBzdXBwb3J0ZWQgdXBzdHJlYW0gcGF0aHMgYXJl" + + "IGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRk" + + "aW5nc2AuCgpVc2UgYC9oZWFsdGhgIG9uIHBvcnQgYDgwMDBgIGFzIHRoZSBkZWZhdWx0IE9wZW5B" + + "SS1jb21wYXRpYmxlIGNvbnRhaW5lciBoZWFsdGggcHJvYmUgdW5sZXNzIHRoZSBpbWFnZSBleHBv" + + "c2VzIGEgZGlmZmVyZW50IHJlYWRpbmVzcyBwYXRoLgoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5k" + + "ZXBlbmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBM" + + "TE0gZnVuY3Rpb24sIGtlZXAgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxt" + + "Q29uZmlnYCwgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAg" + + "aW4gdGhlIGNyZWF0ZSByZXF1ZXN0LiBgaGVsbUNoYXJ0U2VydmljZU5hbWVgIG11c3QgbWF0Y2gg" + + "dGhlIEt1YmVybmV0ZXMgU2VydmljZSBleHBvc2VkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVu" + + "Y2VQb3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKSW52b2NhdGlvbiB1c2VzIHRoZSBM" + + "TE0gcm91dGUsIGZvciBleGFtcGxlIGBodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3Yx" + + "L2NoYXQvY29tcGxldGlvbnNgLiBUaGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1" + + "bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOyB0aGUgZnVuY3Rpb24gSUQgaXMgdGhlIHJvdXRpbmcg" + + "a2V5IGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uCgpVcGRhdGUgbXV0" + + "YWJsZSBwZXItbW9kZWwgcm91dGluZyBzZXR0aW5ncyB3aXRoIGBudmNmLWNsaSBmdW5jdGlvbiB1" + + "cGRhdGUgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0" + + "aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+J2AsIG9yIHB1dCB0aGUgc2FtZSBmaWVsZHMgdW5k" + + "ZXIgYG1vZGVsVXBkYXRlc1tdLmxsbUNvbmZpZ2AgaW4gYW4gdXBkYXRlIEpTT04gZmlsZS4gU2Vl" + + "IFtyZWZlcmVuY2UvZmxhZ3MubWRdKHJlZmVyZW5jZS9mbGFncy5tZCkgZm9yIGFjY2VwdGVkIHJv" + + "dXRpbmcgbWV0aG9kcy4gYHRva2VuUmF0ZUxpbWl0YCBzdXBwb3J0cyBwb3NpdGl2ZSBpbnRlZ2Vy" + + "IGxpbWl0cyBmb3IgYFNgLCBgTWAsIGBIYCwgYERgLCBhbmQgYFdgOyB1c2UgSlNPTiBpbnB1dCBm" + + "b3IgY29tYmluZWQgbGltaXRzIHN1Y2ggYXMgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAw" + + "LUQsMTAwMDAwMC1XYC4gRG8gbm90IGluY2x1ZGUgYHVyaXNgIGluIG1vZGVsIHVwZGF0ZXMuCgpG" + + "b3IgYC92MS9yZXNwb25zZXNgLCB0aGUgZ2F0ZXdheSBwcm94aWVzIHRoZSBuYXRpdmUgUmVzcG9u" + + "c2VzIHBhdGggdXBzdHJlYW0sIHJlbGF5cyBTU0UgdG8gc3RyZWFtaW5nIGNsaWVudHMsIGFuZCBh" + + "Z2dyZWdhdGVzIHRoZSB0ZXJtaW5hbCBKU09OIHJlc3BvbnNlIGZvciBub24tc3RyZWFtaW5nIGNs" + + "aWVudHMuIEZvciBgL3YxL2VtYmVkZGluZ3NgLCBpbnB1dCBtYXkgYmUgYSBzdHJpbmcgb3Igc3Ry" + + "aW5nIGFycmF5LCBtdXN0IGJlIG5vbi1lbXB0eSwgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0" + + "OCBlbnRyaWVzLgoKU2Vzc2lvbiBzdGlja2luZXNzIHVzZXMgYHgtbXVsdGktdHVybi1zZXNzaW9u" + + "LWlkYCBmb3IgY2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBvbmx5" + + "LiBFbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdCB1c2Ugc3RpY2tpbmVzcy4KCiMjIENvbW1vbiB3" + + "b3JrZmxvd3MKCkZvciBzdGVwLWJ5LXN0ZXAgcGxheWJvb2tzLCBsb2FkIHRoZSBwcm9tcHQgdGhh" + + "dCBtYXRjaGVzIHRoZSB1c2VyJ3MgaW50ZW50OgoKLSAqKkluc3RhbGwgZnJvbSBzY3JhdGNoLioq" + + "IFtwcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kXShwcm9tcHRzL2luc3RhbGwtZnJvbS1z" + + "Y3JhdGNoLm1kKSDigJQgazNkIGNsdXN0ZXIg4oaSIHByZWZsaWdodCDihpIgdXAg4oaSIGRlcGxv" + + "eSBhIHNtb2tlIGZ1bmN0aW9uLgotICoqQWRkIGEgbmV3IGNvbXB1dGUgcGxhbmUuKiogW3Byb21w" + + "dHMvYWRkLWNvbXB1dGUtcGxhbmUubWRdKHByb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQpIOKA" + + "lCBzcGxpdC1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lLgot" + + "ICoqRGVwbG95IGFuZCBpbnZva2UgYSBmdW5jdGlvbi4qKiBbcHJvbXB0cy9kZXBsb3ktYW5kLWlu" + + "dm9rZS5tZF0ocHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZCkg4oCUIGNyZWF0ZSDihpIgZGVw" + + "bG95IOKGkiBBUEkga2V5IOKGkiBpbnZva2UsIGluY2x1ZGluZyB0aGUgTExNIGNyZWF0ZS9pbnZv" + + "a2UgdmFyaWFudC4KLSAqKkRpYWdub3NlIGEgZmFpbGVkIGluc3RhbGwuKiogW3Byb21wdHMvZGlh" + + "Z25vc2UtZmFpbGVkLWluc3RhbGwubWRdKHByb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwu" + + "bWQpIOKAlCBgc3RhdHVzIC0tanNvbmAg4oaSIGlkZW50aWZ5IGZhaWxlZCBjb21wb25lbnQg4oaS" + + "IGt1YmVjdGwgZGVzY3JpYmUg4oaSIHJlbWVkaWF0aW9uLgotICoqUm90YXRlIEpXS1MuKiogW3By" + + "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZF0ocHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + + "Lm1kKSDigJQgd2hlbiBQU0FUIGF1dGggc3RhcnRzIGZhaWxpbmcuCi0gKipUZWFyIGRvd24uKiog" + + "W3Byb21wdHMvdGVhcmRvd24ubWRdKHByb21wdHMvdGVhcmRvd24ubWQpIOKAlCBgZG93biAtLXBs" + + "YW4tb25seWAgZmlyc3QsIHRoZW4gcmVhbCBydW4uIGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIGZv" + + "ciBvbmUgY29tcHV0ZSBwbGFuZSAob3JjaGVzdHJhdG9yOiBkcmFpbiArIHVuaW5zdGFsbCArIGNs" + + "dXN0ZXIgZGVsZXRlKTsgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIGZvciB0aGUgY29udHJv" + + "bCBwbGFuZSAocGVyLXBsYW5lIHByaW1pdGl2ZSk7IGBkb3duIC0tYWxsIC0tY29uZmlybWAgZm9y" + + "IGV2ZXJ5dGhpbmc7IGB1bmluc3RhbGwgLS1uby1hcHBseSA8cGxhbmU+IHwga3ViZWN0bCBkZWxl" + + "dGUgLWYgLWAgZm9yIEdpdE9wcy4KLSAqKkNyZWF0ZSBhbmQgcnVuIGEgdGFzay4qKiBbcHJvbXB0" + + "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kXShwcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQp" + + "IOKAlCBtaW50IEFQSSBrZXlzIOKGkiB0YXNrIGNyZWF0ZSAoY29udGFpbmVyIG9yIEhlbG0pIOKG" + + "kiBtb25pdG9yIHdpdGggYHRhc2sgZ2V0YCAvIGB0YXNrIGV2ZW50c2Ag4oaSIHJldHJpZXZlIHJl" + + "c3VsdHMg4oaSIGNsZWFudXAuCgojIyBSZWZlcmVuY2UKCi0gW3JlZmVyZW5jZS9jb21tYW5kcy5t" + + "ZF0ocmVmZXJlbmNlL2NvbW1hbmRzLm1kKSDigJQgZnVsbCBzdWJjb21tYW5kIGNoZWF0IHNoZWV0" + + "Ci0gW3JlZmVyZW5jZS9mbGFncy5tZF0ocmVmZXJlbmNlL2ZsYWdzLm1kKSDigJQgZ2xvYmFsICsg" + + "cGVyLWNvbW1hbmQgZmxhZ3MKLSBbcmVmZXJlbmNlL2V4aXQtY29kZXMubWRdKHJlZmVyZW5jZS9l" + + "eGl0LWNvZGVzLm1kKSDigJQgd2hhdCBlYWNoIG5vbi16ZXJvIGV4aXQgbWVhbnMKLSBbcmVmZXJl" + + "bmNlL3Ryb3VibGVzaG9vdGluZy5tZF0ocmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCkg4oCU" + + "IGtub3duIGVycm9ycyDihpIgcmVtZWRpYXRpb24gdGFibGUKCiMjIFNhZmV0eSBydWxlcyDigJQg" + + "Q1JJVElDQUwKCioqTkVWRVIgZG8gdGhlc2Ugd2l0aG91dCBleHBsaWNpdCB1c2VyIGNvbmZpcm1h" + + "dGlvbjoqKgotIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbiBh" + + "bnkgZm9ybSDigJQgZGVzdHJ1Y3RpdmUuICoqQUxXQVlTIHJ1biB3aXRoIGAtLXBsYW4tb25seWAg" + + "KGBkb3duYCkgb3IgYC0tbm8tYXBwbHlgIChgdW5pbnN0YWxsYCkgZmlyc3QqKiBhbmQgc2hvdyB0" + + "aGUgdXNlciB3aGF0IHdvdWxkIGhhcHBlbi4gU3RhdGUgd2hpY2ggY29tcHV0ZSBwbGFuZShzKSBh" + + "bmQgd2hldGhlciBwZXJzaXN0ZW50IHN0YXRlIHdvdWxkIGJlIHdpcGVkLgotIGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBkb3duIC0tcmVtb3ZlLXBlcnNpc3RlbnRgIChvciBgdW5pbnN0YWxsIC0tcmVt" + + "b3ZlLXBlcnNpc3RlbnRgKSDigJQgZGVsZXRlcyBDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFs" + + "IGtleXMsIHNyLWRlZmF1bHQgdXNlciBkYXRhLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiBD" + + "b25maXJtIGV4cGxpY2l0bHkgdGhhdCB0aGlzIGlzIHdoYXQgdGhlIHVzZXIgd2FudHMuCi0gYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgLS1mb3JjZS13aXRo" + + "LXJlZ2lzdGVyZWQtY2x1c3RlcnNgIOKAlCBvcnBoYW5zIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0" + + "ZSBwbGFuZSAoUFNBVCBhdXRoIGJyZWFrcyBpbW1lZGlhdGVseSkuIFN0YXRlIHRoZSBjb25zZXF1" + + "ZW5jZSBiZWZvcmUgcGFzc2luZyB0aGlzIGZsYWcuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1hbGxgIOKAlCBudWtlcyBldmVyeXRoaW5nLiBBbHdheXMgc2hvdyB0aGUgY2x1c3RlciBs" + + "aXN0IChgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCkgYW5kIGdldCBjb25maXJtYXRpb24uCi0gYG52" + + "Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCDigJQgcmVtb3ZlcyB0aGUgY2x1c3RlcidzIElDTVMgcmVn" + + "aXN0cmF0aW9uOyB0aGUgY29tcHV0ZSBwbGFuZSBpbW1lZGlhdGVseSBzdG9wcyBiZWluZyBhYmxl" + + "IHRvIGF1dGhlbnRpY2F0ZS4KLSBgbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlYCDigJQgcmVtb3Zl" + + "cyBhIGZ1bmN0aW9uIGFuZCBhbnkgYWN0aXZlIGRlcGxveW1lbnQuCi0gYG52Y2YtY2xpIHRhc2sg" + + "ZGVsZXRlYCDigJQgcGVybWFuZW50bHkgcmVtb3ZlcyB0aGUgdGFzayByZWNvcmQuIFN0b3AsIHN0" + + "YXRlIHRoZSB0YXNrIElEIGFuZCBjdXJyZW50IHN0YXR1cywgdGhlbiB3YWl0IGZvciBhIHN1YnNl" + + "cXVlbnQgdXNlciByZXBseSB0aGF0IGV4cGxpY2l0bHkgY29uZmlybXMgZGVsZXRpb24gb2YgdGhh" + + "dCBzcGVjaWZpYyB0YXNrIGJlZm9yZSBydW5uaW5nIHRoaXMgY29tbWFuZC4gRG8gbm90IHRyZWF0" + + "IHRoZSB1c2VyJ3Mgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLgotIEFu" + + "eSByYXcgYGhlbG0gdW5pbnN0YWxsYCBvciBga3ViZWN0bCBkZWxldGUgcHZjL3B2YCDigJQgYWZm" + + "ZWN0cyBwZXJzaXN0ZW50IHN0YXRlLiBQcmVmZXIgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25g" + + "IChvcmNoZXN0cmF0b3IpIG9yIGB1bmluc3RhbGxgIChwZXItcGxhbmUpIHdoaWNoIGhhbmRsZSB0" + + "aGlzIHNhZmVseS4KLSBBbnkgYC0tZm9yY2VgIGZsYWcgKGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJl" + + "ZC1jbHVzdGVyc2AsIGAtLWNvbmZpcm1gIGluIG5vbi1pbnRlcmFjdGl2ZSBjb250ZXh0cykuCgoq" + + "KkFMV0FZUyBkbyB0aGVzZToqKgotIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCBi" + + "ZWZvcmUgYXNzdW1pbmcgYSBjbHVzdGVyIGV4aXN0cyAvIGlzIGhlYWx0aHkuCi0gU2hvdyB0aGUg" + + "cGxhbm5lZCBhY3Rpb24gKGNsdXN0ZXIgbmFtZSwgZnVuY3Rpb24gbmFtZSwgR1BVIHR5cGUsIGNv" + + "c3QgaWYga25vd24pIGJlZm9yZSBjcmVhdGluZy4KLSBCZWZvcmUgY3JlYXRpbmcgb3IgZGVwbG95" + + "aW5nIGEgY29udGFpbmVyIG9yIExMTSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rp" + + "b24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIEZvciBMTE0gZnVuY3Rp" + + "b25zLCBhbHNvIGNvbmZpcm0gdGhlIGV4YWN0IG1vZGVsIG5hbWUgdXNlZCBpbiBgbW9kZWxzW10u" + + "bmFtZWAgYW5kIE9wZW5BSSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBJ" + + "ZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgYXNrIHRoZSB1c2VyIGluc3RlYWQgb2YgZ3Vlc3Npbmcg" + + "b3Igc3VibWl0dGluZyBleGFtcGxlIHBsYWNlaG9sZGVycy4KLSBDb25maXJtIGV4YWN0IHJlc291" + + "cmNlIG5hbWVzIGJlZm9yZSBkZWxldGlvbiDigJQgbWF0Y2ggYWdhaW5zdCBgY2x1c3RlciBsaXN0" + + "YCAvIGBmdW5jdGlvbiBsaXN0YCBvdXRwdXQuCi0gSW4gQ0kgLyBub24taW50ZXJhY3RpdmUgY29u" + + "dGV4dHMsIHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYC4gTmV2ZXIgcHJvcG9z" + + "ZSBpbnRlcmFjdGl2ZSBgbnZjZi1jbGkgaW5pdGAgd2hlbiBgJENJYCBpcyBzZXQuCgoqKk5FVkVS" + + "IHBhc3RlIHRoZXNlIGludG8gY2hhdCAvIGxvZ3MgLyBmZWVkYmFjazoqKgotIEFkbWluIHRva2Vu" + + "cyAoZnVsbCBKV1QpLiBTaG93IHRoZSBmaXJzdCA4IGNoYXJzICsgYC4uLmAgaWYgeW91IG11c3Qg" + + "cmVmZXJlbmNlIG9uZS4KLSBBUEkga2V5cyAoYG52YXBpLeKApmApLgotIENvbnRlbnRzIG9mIGB+" + + "Ly5udmNmLWNsaS5zdGF0ZWAgb3IgYW55IGt1YmVjb25maWcuCi0gQW55IGRhdGEgbWFya2VkIHNl" + + "Y3JldCBpbiBoZWxtZmlsZSB2YWx1ZXMuCgo+IE5vdGUgKG9ubHkgd2hlbiBvcGVyYXRpbmcgbW9y" + + "ZSB0aGFuIG9uZSBjbHVzdGVyIGZyb20gdGhlIHNhbWUgbWFjaGluZSk6IHRoZSBDTEkncyBkZWZh" + + "dWx0Cj4gY29uZmlnIChgfi8ubnZjZi1jbGkueWFtbGApIGFuZCBzdGF0ZSAoYH4vLm52Y2YtY2xp" + + "LnN0YXRlYCkgYXJlIGEgc2luZ2xlIHNoYXJlZCBzbG90LCBub3QKPiBwZXItY2x1c3Rlci4gV2l0" + + "aCBhIHNpbmdsZSBjb250cm9sIHBsYW5lICh0aGUgY29tbW9uIGNhc2UpIHRoaXMgbmVlZHMgbm8g" + + "YXR0ZW50aW9uLiBJZiB5b3UKPiBtYW5hZ2UgbXVsdGlwbGUgY2x1c3RlcnMsIHBhc3MgYC0tY29u" + + "ZmlnIDxjbHVzdGVyPi55YW1sYCBvbiBldmVyeSBjb21tYW5kIChvciBrZWVwIGEKPiBkZWxpYmVy" + + "YXRlbHktc3dpdGNoZWQgcGVyLWNsdXN0ZXIgZGVmYXVsdCk6IHdpdGggbm8gYC0tY29uZmlnYCwg" + + "Y29tbWFuZHMgdGFyZ2V0IHdoaWNoZXZlcgo+IGNsdXN0ZXIgd2FzIGxhc3QgYGluaXRgJ2QsIGFu" + + "ZCBgaW5pdGAgLyBgYXBpLWtleSBnZW5lcmF0ZWAgbXV0YXRlIHRoYXQgc2hhcmVkIGRlZmF1bHQs" + + "IHNvIGFuCj4gdW5zY29wZWQgYGFwaS1rZXkgZ2VuZXJhdGVgIGNhbiBtaW50IG9yIHN1cmZhY2Ug" + + "a2V5cyBhZ2FpbnN0IHRoZSB3cm9uZyBjbHVzdGVyLgoKIyMgT3V0cHV0IG1vZGVzIChmb3IgYWdl" + + "bnQgcGlwaW5nKQoKYG52Y2YtY2xpYCBzdWJjb21tYW5kcyB0aGF0IGxvbmctcnVuIChgdXBgLCBg" + + "c3RhdHVzYCwgYGNoZWNrYCkgYWNjZXB0IGZvdXIgb3V0cHV0IG1vZGVzOgoKLSAqKmAtLWpzb25g" + + "Kiog4oCUIEpTT05MIGV2ZW50cyBvbiBzdGRlcnI7IG9uZSBldmVudCBwZXIgbGluZTsgc3RhYmxl" + + "IHNjaGVtYSAoYHNjaGVtYVZlcnNpb246IDJgKS4gKipVc2UgdGhpcyB3aGVuIHJ1bm5pbmcgdW5k" + + "ZXIgYW4gYWdlbnQuKiogUGFyc2UgbGluZS1ieS1saW5lIHdpdGggYGpxIC1jIC5gIG9yIGBqc29u" + + "LmxvYWRzKClgLgotICoqYC0tcGxhaW5gKiog4oCUIFBsYWluIHRpbWVzdGFtcGVkIGxpbmVzLCBS" + + "RkMzMzM5IFVUQywgYFtOTi84XWAgcGhhc2UgcHJlZml4OyBncmVwLWZyaWVuZGx5LiBEZWZhdWx0" + + "IGluIG5vbi1UVFkuCi0gKipgLS1hY2Nlc3NpYmxlYCoqIOKAlCBQbGFpbiBvdXRwdXQgd2l0aG91" + + "dCBzcGlubmVycywgd2l0aCB2ZXJib3NlIHN0YXRlIG1hcmtlcnMgKGBbY29tcGxldGVkXWAsIGBb" + + "cnVubmluZ11gLCBgW3BlbmRpbmddYCwgYFtmYWlsZWRdYCkuIEZvciBzY3JlZW4gcmVhZGVycyBh" + + "bmQgY29uc3RyYWluZWQgdGVybWluYWxzLgotICoqKG5vIGZsYWcpKiog4oCUIEJ1YmJsZXRlYSBU" + + "VFkgZGFzaGJvYXJkLiBEZWZhdWx0IGluIFRUWSDiiaUxMDDDlzMwLiBEb24ndCB1c2UgdW5kZXIg" + + "YW4gYWdlbnQgKGN1cnNvci11cCBzZXF1ZW5jZXMgYXJlIG5vaXN5KS4KCkF1dG8tZGV0ZWN0IHBp" + + "Y2tzIHRoZSByaWdodCBtb2RlIGZvciB3aGF0ZXZlciBzdGRvdXQvc3RkZXJyIGlzLiBUaGUgQ0xJ" + + "IGFsc28gaG9ub3JzIGBOT19DT0xPUmAgKGFueSB2YWx1ZSDihpIgZm9yY2VzIHBsYWluKSwgYFRF" + + "Uk09ZHVtYmAgKGZvcmNlcyBwbGFpbiksIGFuZCBgQ0k9dHJ1dGh5YCAoZm9yY2VzIHBsYWluIGV2" + + "ZW4gb24gYSBmYWtlIFRUWSkuIFdoZW4gdGhlIHRlcm1pbmFsIGlzIHNtYWxsZXIgdGhhbiAxMDDD" + + "lzMwLCB0aGUgYnViYmxldGVhIHJlbmRlcmVyIGZhbGxzIGJhY2sgdG8gYSBjb21wYWN0IGxheW91" + + "dC4gRXhwbGljaXQgYC0tanNvbmAgaXMgdGhlIHJpZ2h0IGNhbGwgZm9yIGFnZW50IHBpcGluZy4K" + + "CiMjIE9uIGZhaWx1cmUKCmBudmNmLWNsaWAgZmFpbHVyZXMgZW1pdCBzdHJ1Y3R1cmVkIGBwaGFz" + + "ZV9mYWlsZWRgIGV2ZW50cyBpbiBKU09OOgoKYGBganNvbgp7ImV2ZW50IjoicGhhc2VfZmFpbGVk" + + "IiwicGhhc2VOdW0iOjQsInBoYXNlIjoiYXBwbHktY3AiLAogImVyckNhdGVnb3J5IjoiaGVsbV9h" + + "cHBseSIsImVyck1lc3NhZ2UiOiJoZWxtIGluc3RhbGwgYXBpLWtleXM6IHRpbWVkIG91dCIsCiAi" + + "cmV0cnlDbGFzcyI6ImJhY2tvZmYiLCJyZXRyeUFmdGVyU2VjIjo2MCwKICJyZW1lZGlhdGlvbiI6" + + "WyJrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIiwK" + + "ICAgICAgICAgICAgICAgICJSZS1ydW4gd2l0aCAtLWRlYnVnIGZvciB2ZXJib3NlIGhlbG1maWxl" + + "IG91dHB1dCJdLAogInJhdyI6eyJzdWJwcm9jZXNzIjoiaGVsbWZpbGUiLCJleGl0Q29kZSI6MSwi" + + "c3RkZXJyVGFpbCI6IuKApiIsImt1YmVybmV0ZXNSZWFzb24iOiJGYWlsZWRTY2hlZHVsaW5nIn19" + + "CmBgYAoKVGhlIGByZXRyeUNsYXNzYCBmaWVsZCB0ZWxscyB0aGUgYWdlbnQgaG93IHRvIGhhbmRs" + + "ZSB0aGUgZmFpbHVyZToKCnwgYHJldHJ5Q2xhc3NgIHwgTWVhbmluZyB8IEFnZW50IGFjdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBgaW1tZWRpYXRlYCB8IFRyYW5zaWVudCBibGlwIHwgUmV0cnkgdGhl" + + "IHNhbWUgYHVwYCBjb21tYW5kIG5vdyB8CnwgYGJhY2tvZmZgIHwgUmF0ZSBsaW1pdCAvIHBlbmRp" + + "bmcgb3BlcmF0aW9uIHwgV2FpdCBgcmV0cnlBZnRlclNlY2Agc2Vjb25kcywgdGhlbiByZXRyeSB8" + + "CnwgYGFmdGVyX3JlbWVkaWF0aW9uYCB8IE9wZXJhdG9yIG11c3QgaW50ZXJ2ZW5lIHwgU3VyZmFj" + + "ZSBgZXJyTWVzc2FnZWAgKyBgcmVtZWRpYXRpb25gLCBTVE9QLiBEb24ndCBhdXRvLXJldHJ5LiB8" + + "CnwgYG5vbmVgIHwgTm9uLXJldHJ5YWJsZSB8IFNhbWUgYXMgYGFmdGVyX3JlbWVkaWF0aW9uYCDi" + + "gJQgc3VyZmFjZSBhbmQgc3RvcCB8CnwgYHVua25vd25gIHwgQ2xhc3NpZmllciB1bnN1cmUgfCBU" + + "cmVhdCBjb25zZXJ2YXRpdmVseTogc3VyZmFjZSBhbmQgc3RvcCB8CgpOZXZlciByZS1ydW4gd2l0" + + "aCBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25lKS4gVGhlIGByYXdgIGJsb2NrIGNhcnJp" + + "ZXMgdGhlIHVuZGVybHlpbmcgc2lnbmFsIChzdWJwcm9jZXNzIGV4aXQsIEhUVFAgc3RhdHVzLCBL" + + "OHMgcmVhc29uKSDigJQgcXVvdGUgcmVsZXZhbnQgZmllbGRzIHdoZW4gZXhwbGFpbmluZyBmYWls" + + "dXJlcyB0byB0aGUgdXNlciwgYnV0IGRvbid0IGR1bXAgYHN0ZGVyclRhaWxgIHZlcmJhdGltIGlu" + + "dG8gY2hhdCB3aXRob3V0IHNjYW5uaW5nIGZvciBzZWNyZXRzIGZpcnN0LgoKIyMgUXVpY2sgY29t" + + "bWFuZCByZWZlcmVuY2UKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlICAg" + + "ICAgICAgICAgICAjIHByZS1mbGlnaHQKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVy" + + "LW5hbWU9TkFNRSAgICMgb25lLXNob3QgaW5zdGFsbApudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + + "dXMgICAgICAgICAgICAgICAgICAgIyBzbmFwc2hvdApudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + + "dXMgLS13YXRjaCAgICAgICAgICAgIyBsaXZlCm52Y2YtY2xpIGluaXQgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIG1pbnQgYWRtaW4gdG9rZW4gKGNsZWFycyBhbGwgc2F2ZWQgQVBJ" + + "IGtleXMpCm52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIg4oCmICAgICAgICAgICAgICAgICAgICMg" + + "cmVnaXN0ZXIgY2x1c3RlcgpudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249" + + "4oCmICAgICAjIG1pbnQgYm90aCBmdW5jdGlvbiBhbmQgdGFzayBBUEkga2V5cyAocnVuIGFmdGVy" + + "IGV2ZXJ5IGluaXQpCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgZnVuY3Rpb24g4oCm" + + "ICAgICMgZnVuY3Rpb24ga2V5IG9ubHkKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0" + + "YXNrIOKApiAgICAgICAgIyB0YXNrIGtleSBvbmx5Cm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAt" + + "LWlucHV0LWZpbGU94oCmICAgICAgICMgY3JlYXRlIGZ1bmN0aW9uCm52Y2YtY2xpIGZ1bmN0aW9u" + + "IGNyZWF0ZSAtLWZ1bmN0aW9uLXR5cGU9TExNIC0tbGxtLW1vZGVsPTxzcGVjPiAgIyBjcmVhdGUg" + + "TExNIGZ1bmN0aW9uIG1ldGFkYXRhCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLW5hbWU9bGxt" + + "LWhlbG0gLS1pbmZlcmVuY2UtdXJsPS8gLS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWZ1bmN0" + + "aW9uLXR5cGU9TExNIC0taGVsbS1jaGFydD08Y2hhcnQ+IC0taGVsbS1jaGFydC1zZXJ2aWNlPTxz" + + "ZXJ2aWNlPiAtLWxsbS1tb2RlbD08c3BlYz4KbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIC0tbGxt" + + "LW1vZGVsLXVwZGF0ZT08c3BlYz4gICMgdXBkYXRlIExMTSByb3V0aW5nL3Rva2VuIGxpbWl0cwpu" + + "dmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT3igKYKbnZjZi1jbGkg" + + "ZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT3igKYKCiMgVGFzayBjb21tYW5kcyDigJQgcmVx" + + "dWlyZXMgTlZDRl9CQVNFX05WQ1RfVVJMPWh0dHA6Ly88bnZjdC1nYXRld2F5PgpudmNmLWNsaSB0" + + "YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1IMTAwIC0taW5zdGFuY2UtdHlwZT1ZIC0taW1hZ2U9" + + "WgpudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay5qc29uICAgIyBmcm9tIEpT" + + "T04gY29uZmlnCm52Y2YtY2xpIHRhc2sgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAj" + + "IGxpc3QgYWxsIHRhc2tzCm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1SVU5OSU5HICAgICAg" + + "ICAgICAjIGZpbHRlciBieSBzdGF0dXMKbnZjZi1jbGkgdGFzayBnZXQgW3Rhc2tJZF0gICAgICAg" + + "ICAgICAgICAgICAgICMgdGFzayBkZXRhaWxzCm52Y2YtY2xpIHRhc2sgZXZlbnRzIFt0YXNrSWRd" + + "ICAgICAgICAgICAgICAgICAjIGxpZmVjeWNsZSBldmVudHMKbnZjZi1jbGkgdGFzayByZXN1bHRz" + + "IFt0YXNrSWRdICAgICAgICAgICAgICAgICMgcmVzdWx0IGFydGlmYWN0cwpudmNmLWNsaSB0YXNr" + + "IGNhbmNlbCBbdGFza0lkXQpudmNmLWNsaSB0YXNrIGRlbGV0ZSBbdGFza0lkXQpgYGAKCiMjIEZl" + + "ZWRiYWNrCgpJZiB0aGUgdXNlciBoaXRzIGEgYnVnIG9yIGxpbWl0YXRpb24sIGZpbGUgYW4gaXNz" + + "dWUgdGhyb3VnaCB0aGUgcHJvamVjdCB0cmFja2VyLiBEb24ndCBpbmNsdWRlIHNlY3JldHMuClBL" + + "BwjFnijlBWAAAAVgAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADMACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhIjIENJIHBpcGVs" + + "aW5lIHBhdHRlcm5zCgpIb3cgdG8gZHJpdmUgYG52Y2YtY2xpYCBmcm9tIENJIChHaXRMYWIgQ0ks" + + "IEdpdEh1YiBBY3Rpb25zLCBKZW5raW5zLCBBcmdvQ0QpLiBQYXR0ZXJucyB0aGF0IHN1cmZhY2Ug" + + "ZnJlcXVlbnRseS4KCiMjIEJhc2ljIGluc3RhbGwgcGlwZWxpbmUKCmBgYHlhbWwKIyBHaXRMYWIg" + + "Q0kgZXhhbXBsZQpkZXBsb3lfbnZjZjoKICBzdGFnZTogZGVwbG95CiAgaW1hZ2U6IG52Y3IuaW8v" + + "MDY1MTE1NTIxNTg2NDk3OS9uY3AtZGV2L252Y2YtY2xpOjEuNC4wCiAgdmFyaWFibGVzOgogICAg" + + "S1VCRUNPTkZJRzogJEtVQkVDT05GSUdfRklMRQogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgY2hlY2sgLS1wcmUgLS1qc29uIHwganEgLWUgJy5ldmVudCAhPSAicGhhc2VfZmFp" + + "bGVkIicgfHwgZXhpdCAyCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1u" + + "YW1lPSRDTFVTVEVSX05BTUUgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgLS1ub24taW50ZXJhY3Rp" + + "dmUgLS1qc29uCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAt" + + "ZSAnLnZlcmRpY3QgPT0gImhlYWx0aHkiJwpgYGAKCk5vdGVzOgotIGAtLW5vbi1pbnRlcmFjdGl2" + + "ZSAtLXRva2VuPSRKV1RgIGlzIHJlcXVpcmVkIGluIENJOyBuZXZlciB1c2UgaW50ZXJhY3RpdmUg" + + "YGluaXRgLgotIEFsd2F5cyBgLS1qc29uYCBmb3IgbWFjaGluZS1wYXJzaW5nLgotIEZpbmFsIHN0" + + "YXR1cyBjaGVjayBnYXRlcyBkb3duc3RyZWFtIHN0YWdlcyBvbiBgdmVyZGljdCA9PSAiaGVhbHRo" + + "eSJgLgoKIyMgR2l0T3BzIChBcmdvIC8gRmx1eCkgcGF0dGVybgoKQ0kgZG9lc24ndCBga3ViZWN0" + + "bCBhcHBseWAg4oCUIGluc3RlYWQsIHJlbmRlciBtYW5pZmVzdHMsIGNvbW1pdCB0aGVtLCBsZXQg" + + "dGhlIGNvbnRyb2xsZXIgYXBwbHkuCgpgYGB5YW1sCnJlbmRlcjoKICBzY3JpcHQ6CiAgICAtIG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIC0tbm8tYXBwbHkgPiBy" + + "ZW5kZXJlZC9jb250cm9sLXBsYW5lLnlhbWwKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5z" + + "dGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1uby1hcHBseSA+IHJl" + + "bmRlcmVkL2NvbXB1dGUtcGxhbmUueWFtbAogICAgLSBnaXQgYWRkIHJlbmRlcmVkLyAmJiBnaXQg" + + "Y29tbWl0IC1tICJkZXBsb3kgTlZDRiAkVEFHIiAmJiBnaXQgcHVzaApgYGAKClRoZW4gQXJnb0NE" + + "IG9yIEZsdXggd2F0Y2hlcyBgcmVuZGVyZWQvYCBhbmQgYXBwbGllcy4gVGhlIENMSSBuZXZlciB0" + + "b3VjaGVzIHRoZSBjbHVzdGVyIGRpcmVjdGx5LgoKRm9yIHRoZSByZWdpc3RlciBzdGVwICh3aGlj" + + "aCBtdXRhdGVzIElDTVMsIG5vdCBqdXN0IEs4cyk6CgpgYGB5YW1sCnJlZ2lzdGVyOgogIHNjcmlw" + + "dDoKICAgIC0gbnZjZi1jbGkgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9JE5BTUUgLS1uY2EtaWQ9" + + "JE5DQSAtLXJlZ2lvbj0kUkVHSU9OIC0taWdub3JlLWV4aXN0aW5nCmBgYAoKYC0taWdub3JlLWV4" + + "aXN0aW5nYCBpcyB0aGUgR2l0T3BzLWZyaWVuZGx5IGlkZW1wb3RlbnQgY29udHJhY3QuCgojIyBN" + + "dWx0aS1jbHVzdGVyIHBpcGVsaW5lCgpXaGVuIHRoZSBwaXBlbGluZSBtYW5hZ2VzIG1hbnkgY29t" + + "cHV0ZSBjbHVzdGVycyBhZ2FpbnN0IG9uZSBjb250cm9sIHBsYW5lOgoKYGBgeWFtbApkZXBsb3lf" + + "Y29tcHV0ZV9wbGFuZXM6CiAgcGFyYWxsZWw6CiAgICBtYXRyaXg6CiAgICAgIC0gQ0xVU1RFUjog" + + "bmNwLWVhc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1lYXN0LTEKICAgICAgLSBDTFVT" + + "VEVSOiBuY3Atd2VzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LXdlc3QtMQogICAgICAt" + + "IENMVVNURVI6IG5jcC1ldS0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWV1LTEKICBzY3Jp" + + "cHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9" + + "JENMVVNURVIKICAgICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ09OVEVYVAogICAgICAg" + + "IC0taWNtcy11cmw9JElDTVNfUFVCTElDX1VSTAogICAgICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5f" + + "SldUCiAgICAgICAgLS1ub24taW50ZXJhY3RpdmUKICAgICAgICAtLWpzb24KYGBgCgpFYWNoIHBh" + + "cmFsbGVsIGpvYiByZWdpc3RlcnMgKyBpbnN0YWxscyBvbmUgY29tcHV0ZSBwbGFuZSBhZ2FpbnN0" + + "IHRoZSBzaGFyZWQgY29udHJvbCBwbGFuZS4gRmFpbHVyZXMgYXJlIGlzb2xhdGVkLgoKIyMgUGxh" + + "bi1vbmx5IHByZXZpZXcgaW4gUFJzCgpgYGB5YW1sCnByZXZpZXc6CiAgcnVsZXM6CiAgICAtIGlm" + + "OiAkQ0lfUElQRUxJTkVfU09VUkNFID09ICJtZXJnZV9yZXF1ZXN0X2V2ZW50IgogIHNjcmlwdDoK" + + "ICAgIC0gfAogICAgICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgICAgLS1jbHVzdGVy" + + "LW5hbWU9JENMVVNURVJfTkFNRSBcCiAgICAgICAgLS1wbGFuLW9ubHkgXAogICAgICAgIC0tanNv" + + "biB8IHRlZSBwbGFuLmpzb25sCiAgICAtIGpxIC1zICcuWzBdJyBwbGFuLmpzb25sID4gcGxhbi5q" + + "c29uCiAgICAtICdnaXRsYWItbXItY29tbWVudCAiIyMgTlZDRiBkZXBsb3kgcGxhblxuXG5cYFxg" + + "XGBqc29uXG4kKGNhdCBwbGFuLmpzb24pXG5cYFxgXGAiJwpgYGAKCmAtLXBsYW4tb25seWAgZXhp" + + "dHMgMCB3aXRob3V0IGNoYW5naW5nIGNsdXN0ZXIgc3RhdGU7IHRoZSBKU09OTCBvdXRwdXQgbGlz" + + "dHMgZWFjaCBwaGFzZSArIEVUQS4gUmVuZGVycyBuaWNlbHkgYXMgYW4gTVIgY29tbWVudC4KUEsH" + + "CCHGyIbwCgAA8AoAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhIjIE11bHRpLWNs" + + "dXN0ZXIgcGF0dGVybnMKCkV4YW1wbGVzIG9mIHNwbGl0LWNsdXN0ZXIgKyBtYW55LWNvbXB1dGUt" + + "cGxhbmUgb3BlcmF0aW9uLgoKIyMgT25lIGNvbnRyb2wgcGxhbmUgKyBOIGNvbXB1dGUgcGxhbmVz" + + "CgpUaGUgY2Fub25pY2FsIG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kuIEVhY2ggY29tcHV0ZSBwbGFu" + + "ZSBpcyByZWdpc3RlcmVkIHNlcGFyYXRlbHk6CgpgYGBzaAojIDEuIEJyaW5nIHVwIHRoZSBjb250" + + "cm9sIHBsYW5lIChvbmUtdGltZSwgb24gdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlcik6CktVQkVD" + + "T05GSUc9Y3AueWFtbCBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFu" + + "ZSB8IGt1YmVjdGwgYXBwbHkgLWYgLQpudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbnRy" + + "b2wtcGxhbmUgLS13YWl0IDVtCgojIDIuIFJlZ2lzdGVyICsgaW5zdGFsbCBlYWNoIGNvbXB1dGUg" + + "cGxhbmU6CmZvciBDVFggaW4gYWRtaW5AZ3B1LWVhc3QtMSBhZG1pbkBncHUtd2VzdC0xIGFkbWlu" + + "QGdwdS1ldS0xOyBkbwogIE5BTUU9JChlY2hvICIkQ1RYIiB8IGN1dCAtZEAgLWYyKQogIG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tY29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PSRDVFggXAogICAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZj" + + "Zi5leGFtcGxlLmNvbSBcCiAgICAtLXRva2VuPSROVkNGX0FETUlOX0pXVCBcCiAgICAtLW5vbi1p" + + "bnRlcmFjdGl2ZSBcCiAgICAtLWpzb24KZG9uZQoKIyAzLiBWZXJpZnkgYWxsIGNvbXB1dGUgcGxh" + + "bmVzIHJlZ2lzdGVyZWQ6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdCAtLWpzb24gfCBqcSAnLmNsdXN0" + + "ZXJzW10gfCB7bmFtZSwgcmVnaW9uLCBsYXN0SGVhcnRiZWF0fScKYGBgCgojIyBDb21wdXRlLXBs" + + "YW5lLW9ubHkgb3BlcmF0b3Igc2NlbmFyaW8KClRoZSBvcGVyYXRvciBoYXMga3ViZWN0bCBhY2Nl" + + "c3MgdG8gT05FIGNvbXB1dGUgcGxhbmUgb25seSDigJQgdGhlIGNvbnRyb2wgcGxhbmUgaXMgb3Bl" + + "cmF0ZWQgYnkgc29tZW9uZSBlbHNlIChlLmcuIFlvdHRhIHJ1bnMgdGhlIGNvbnRyb2wgcGxhbmUg" + + "Zm9yIGEgY3VzdG9tZXIpLgoKYGBgc2gKIyBNaW50IGEgdG9rZW4gdmlhIHRoZSBwdWJsaWMgYXBp" + + "IGdhdGV3YXkgKHRoZSBjb250cm9sIHBsYW5lJ3MgQVBJIEtleXMKIyBzZXJ2aWNlIGlzIHJlYWNo" + + "YWJsZSB2aWEgYXBpLm52Y2YuZXhhbXBsZS5jb20g4oCUIG5vIGt1YmVjdGwgYWNjZXNzIG5lZWRl" + + "ZCk6Cm52Y2YtY2xpIGluaXQgLS1hcGktdXJsPWh0dHBzOi8vYXBpLm52Y2YuZXhhbXBsZS5jb20K" + + "CiMgUnVuIHByZS1mbGlnaHQgc2NvcGVkIHRvIHRoZSBjb21wdXRlIHBsYW5lIG9ubHk6Cm52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1h" + + "ZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwK" + + "ICAtLWpzb24KCiMgQnJpbmcgdXAganVzdCB0aGUgY29tcHV0ZSBwbGFuZToKbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgdXAgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1jb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZj" + + "Zi5leGFtcGxlLmNvbSBcCiAgLS10b2tlbj0kQURNSU5fSldUIFwKICAtLW5vbi1pbnRlcmFjdGl2" + + "ZQoKIyBTdGF0dXMgKGNvbXB1dGUtb25seSDigJQgb3BlcmF0b3IgY2FuJ3Qgc2VlIGNvbnRyb2wt" + + "cGxhbmUgY29tcG9uZW50IGhlYWx0aCk6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczov" + + "L2ljbXMubnZjZi5leGFtcGxlLmNvbQpgYGAKCiMjIEZ1bmN0aW9ucyB0YXJnZXRpbmcgc3BlY2lm" + + "aWMgY29tcHV0ZSBwbGFuZXMKCldoZW4geW91IGhhdmUgbXVsdGlwbGUgY29tcHV0ZSBwbGFuZXMg" + + "YW5kIHdhbnQgYSBmdW5jdGlvbiB0byBkZXBsb3kgdG8gb25lOgoKYGBganNvbgp7CiAgImZ1bmN0" + + "aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1l" + + "bnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlw" + + "ZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5z" + + "dGFuY2VzIjogMSwKICAgICJjbHVzdGVycyI6IFsiZ3B1LWVhc3QtMSJdCiAgfV0KfQpgYGAKClRo" + + "ZSBgY2x1c3RlcnNgIGFycmF5ICh1c2luZyBjbHVzdGVyIG5hbWVzLCBub3QgSURzKSBsaW1pdHMg" + + "c2NoZWR1bGluZyB0byB0aG9zZSBjb21wdXRlIHBsYW5lcy4gT21pdCB0byBsZXQgSUNNUyBjaG9v" + + "c2UgYW55IGNvbXB1dGUgcGxhbmUgd2l0aCBhIG1hdGNoaW5nIFNLVS4KCiMjIFN0YXR1cyBmYW4t" + + "b3V0IGFjcm9zcyBjb21wdXRlIHBsYW5lcwoKYGBgc2gKIyBMaXN0IGFsbCByZWdpc3RlcmVkIGNv" + + "bXB1dGUgcGxhbmVzOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QgLS1qc29uIHwganEgLXIgJy5jbHVz" + + "dGVyc1tdLm5hbWUnID4gY2x1c3RlcnMudHh0CgojIFN0YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0" + + "ZSBwbGFuZSAoYXNzdW1pbmcgZWFjaCBjb250ZXh0IG5hbWUgbWF0Y2hlcyk6CndoaWxlIHJlYWQg" + + "TkFNRTsgZG8KICBlY2hvICI9PT0gJE5BTUUgPT09IgogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0" + + "YXR1cyBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD1hZG1pbkAkTkFNRSBcCiAgICAtLWpzb24gfCBqcSAtYyAne2NsdXN0ZXI6LmNsdXN0ZXIs" + + "IHZlcmRpY3Q6LnZlcmRpY3QsIHJlY29uY2lsZToucmVjb25jaWxlQWdlU2VjfScKZG9uZSA8IGNs" + + "dXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJlIE0rMTEgbWlsZXN0b25lIHdpbGwgYWRkIG5hdGl2ZSBm" + + "YW4tb3V0IChgc3RhdHVzIC0tYWxsLWNvbXB1dGUtcGxhbmVzYCkgc28gdGhpcyBkb2Vzbid0IG5l" + + "ZWQgYSBzaGVsbCBsb29wLgpQSwcIaHY/QegLAADoCwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFu" + + "ZS5tZFVUBQABAKbOEiMgQWRkIGEgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9s" + + "IHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtpbmcgTlZDRiBjb250cm9sIHBsYW5lIChydW5uaW5nIHNv" + + "bWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJlZ2lzdGVyIGEgbmV3IEdQVSBjbHVzdGVyIGFnYWluc3Qg" + + "aXQuIFRoaXMgaXMgdGhlIG11bHRpLWNsdXN0ZXIgc2NhbGluZyBwYXRoOiBvbmUgY29udHJvbCBw" + + "bGFuZSDihpIgTiBjb21wdXRlIHBsYW5lcy4KCiMjIFByZXJlcXVpc2l0ZXMgdGhlIHVzZXIgbXVz" + + "dCBoYXZlCgotICoqa3ViZWN0bCBjb250ZXh0IGZvciB0aGUgbmV3IGNvbXB1dGUgcGxhbmUqKiBp" + + "biB0aGVpciBgS1VCRUNPTkZJR2AuCi0gKipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3Rp" + + "bmcgY29udHJvbCBwbGFuZSAoZS5nLiBgaHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4K" + + "LSAqKkFkbWluIEpXVCoqIGZvciB0aGUgY29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxp" + + "dHkgdG8gbWludCBvbmUgdmlhIGBudmNmLWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBs" + + "YW5lJ3MgcHVibGljIGFwaSBlbmRwb2ludC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQ" + + "SSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNj" + + "ZXNzIHRvIHRoZSBjb250cm9sIHBsYW5lIGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikK" + + "LSAqKkEgdW5pcXVlIGAtLWNsdXN0ZXItbmFtZWAqKiB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRo" + + "IGFscmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3Rg" + + "IGZyb20gYSBjb250cm9sLXBsYW5lIGNvbnRleHQgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gKipB" + + "c2sgZm9yIGlucHV0czoqKgogICAtIGAtLWNsdXN0ZXItbmFtZT08dW5pcXVlPmAg4oCUIG11c3Qg" + + "YmUgdW5pcXVlIHdpdGhpbiB0aGUgY29udHJvbCBwbGFuZSdzIE5DQSBzY29wZQogICAtIGAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD08Y29udGV4dD5gIOKAlCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3Mg" + + "a3ViZWN0bCBjb250ZXh0CiAgIC0gYC0taWNtcy11cmw9PGh0dHBzOi8vaWNtcy5udmNmLmV4YW1w" + + "bGUuY29tPmAg4oCUIGNvbnRyb2wgcGxhbmUncyBwdWJsaWMgSUNNUyBVUkwKICAgLSBHUFUgdHlw" + + "ZT8gKGRlZmF1bHQgYEgxMDBgLCBidXQgYXNrKQoKMi4gKipQcmUtZmxpZ2h0IGp1c3QgdGhlIGNv" + + "bXB1dGUgcGxhbmU6KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0t" + + "cHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJs" + + "PSRJQ01TIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAgIGBgYAoKICAgVGhpcyB2YWxpZGF0ZXMg" + + "dGhlIEdQVSBvcGVyYXRvciBpcyBpbnN0YWxsZWQsIEdQVSBub2RlIGxhYmVscyBhcmUgcHJlc2Vu" + + "dCwgYW5kIElDTVMgaXMgcmVhY2hhYmxlIHZpYSBIVFRQLiBBZGRyZXNzIGFueSBmYWlsdXJlcyBi" + + "ZWZvcmUgcHJvY2VlZGluZy4KCjMuICoqUnVuIGBhZGQtY29tcHV0ZS1wbGFuZWA6KioKCiAgIGBg" + + "YHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIFwKICAgICAtLWNs" + + "dXN0ZXItbmFtZT0kTkFNRSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAg" + + "ICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS10b2tlbj0kSldUIFwKICAgICAtLW5vbi1pbnRl" + + "cmFjdGl2ZSBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgVGhpcyBpcyBhIHNlcGFyYXRlIHN1YmNv" + + "bW1hbmQgZnJvbSBgdXBgLiBJdCBydW5zIG9ubHkgdGhlIGNvbXB1dGUtcGxhbmUtcmVsZXZhbnQg" + + "cGhhc2VzOiAxIChjb21wdXRlLXBsYW5lIHByZWZsaWdodCksIDUgKHJlZ2lzdGVyKSwgNiAoY29t" + + "cHV0ZS1wbGFuZSBhcHBseSksIDggKGZpbmFsIGhlYWx0aCBvbiB0aGUgbmV3IGNvbXB1dGUgcGxh" + + "bmUpLiBJdCBkb2VzIE5PVCB0b3VjaCB0aGUgY29udHJvbCBwbGFuZSBhbmQgZG9lcyBOT1QgYWNj" + + "ZXB0IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dGAg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIHJl" + + "YWNoZWQgb3ZlciBIVFRQUyBhdCBgLS1pY21zLXVybGAuIGAtLXRva2VuYCBpcyByZXF1aXJlZCBi" + + "ZWNhdXNlIHRoZXJlJ3Mgbm8ga3ViZWN0bCBwYXRoIHRvIG1pbnQgb25lIGZyb20uCgo0LiAqKlZl" + + "cmlmeS4qKiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1F" + + "IC0tanNvbiB8IGpxYCDigJQgZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0" + + "ZXJlZCBDb21wdXRlIFBsYW5lcyBwYW5lbCBmcm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBu" + + "ZXcgY2x1c3Rlci4KCjUuICoqU21va2UuKiogW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3kt" + + "YW5kLWludm9rZS5tZCkg4oCUIGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29t" + + "cHV0ZSBwbGFuZSB0byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1" + + "c3RlciB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgYWRkLWNvbXB1dGUtcGxh" + + "bmVgJ3MgcmVnaXN0ZXIgcGhhc2UgdXNlcyBgLS1pZ25vcmUtZXhpc3RpbmdgIHNlbWFudGljcyDi" + + "gJQgaXQnbGwgbWF0Y2ggdGhlIGV4aXN0aW5nIElDTVMgcm93IGFuZCByZXVzZSBpdHMgY2x1c3Rl" + + "cklkLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIq" + + "KiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3Vz" + + "bHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQg" + + "cGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxs" + + "IHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2ls" + + "bCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNB" + + "IGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1" + + "c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBg" + + "bnZjZi1jbGkgY2x1c3RlciBsaXN0YCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9j" + + "ZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwj+ZkM6zAwAAMwMAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEg" + + "dGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25p" + + "dG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMK" + + "ClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRp" + + "b24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5l" + + "cmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+" + + "IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJv" + + "dGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5" + + "OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRp" + + "b249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFj" + + "aCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkg" + + "Z2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgg" + + "LS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4g" + + "dGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2" + + "YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUg" + + "a2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVy" + + "IHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUg" + + "cnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJp" + + "ZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoK" + + "ICAgYGBgc2gKICAgcHJpbnRlbnYgTlZDRl9BUElfS0VZID4gL2Rldi9udWxsIDI+JjEgJiYgZWNo" + + "byBzZXQgfHwgZWNobyB1bnNldAogICBgYGAKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3JlZCBr" + + "ZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgogICBgYGBzaAogICBweXRob24z" + + "IC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+Ly5u" + + "dmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0KCdu" + + "dmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAozLiBJZiB0aGUgZXhwaXJ5" + + "IGlzIGluIHRoZSBwYXN0IG9yIG1pc3NpbmcsIHJlZ2VuZXJhdGU6CiAgIGBgYHNoCiAgIG52Y2Yt" + + "Y2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVz" + + "Y3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAgYGBgCjQu" + + "IEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRob3V0IGxv" + + "Z2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4IOKAlCBu" + + "ZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9uOgotICJt" + + "aXNzaW5nIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIiBvciBleGl0IDI6IGtleSBub3QgaW5q" + + "ZWN0ZWQ7IHJlcGVhdCBwcmUtZmxpZ2h0LgotIEhUVFAgNDAzOiBrZXkgZXhwaXJlZCBvciB3cm9u" + + "ZyBhdWRpZW5jZTsgcmVnZW5lcmF0ZS4KLSBFbXB0eSB0YXNrIGxpc3Q6IHZhbGlkOyBubyB0YXNr" + + "cyBleGlzdCB5ZXQuCgojIyAyLiBUYXNrIENSRUFURTogY29udGFpbmVyCgpEZWZpbmUgdGhlIHRh" + + "c2sgaW4gYSBKU09OIGZpbGUuIE1pbmltdW0gdmlhYmxlIGNvbnRhaW5lciB0YXNrOgoKYGBganNv" + + "bgp7CiAgIm5hbWUiOiAic21va2UtY29udGFpbmVyLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9u" + + "IjogewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAw" + + "XzF4IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJjb250YWluZXJJbWFnZSI6" + + "ICJudmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCIsCiAgImNvbnRhaW5lckFyZ3MiOiAicHl0aG9u" + + "IC1jIFwicHJpbnQoJ2hlbGxvIGZyb20gdGFzaycpXCIiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0" + + "ZWd5IjogIk5PTkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZp" + + "bGU9dGFzay1jb250YWluZXIuanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCkNhcHR1" + + "cmUgdGhlIHRhc2sgSUQgZnJvbSB0aGUgb3V0cHV0LiBTdGF0ZSBwZXJzaXN0ZW5jZSBjYW4gZmFp" + + "bCBzaWxlbnRseSwgc28gcGFzcwpgPHRhc2tJZD5gIGV4cGxpY2l0bHkgb24gc3Vic2VxdWVudCBj" + + "b21tYW5kcyByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHNhdmVkIHN0YXRlLgoKRXF1aXZhbGVudCBD" + + "TEkgZmxhZ3MgZm9ybSBmb3IgcXVpY2sgYWQtaG9jIHJ1bnM6CgpgYGBzaApudmNmLWNsaSB0YXNr" + + "IGNyZWF0ZSBcCiAgLS1uYW1lPXNtb2tlLWNvbnRhaW5lci10YXNrIFwKICAtLWdwdT1IMTAwIFwK" + + "ICAtLWluc3RhbmNlLXR5cGU9TkNQLkdQVS5IMTAwXzF4IFwKICAtLWJhY2tlbmQ9bmNwLWxvY2Fs" + + "IFwKICAtLWltYWdlPW52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IFwKICAtLWNvbnRhaW5lci1h" + + "cmdzPSJweXRob24gLWMgJ3ByaW50KGhlbGxvIGZyb20gdGFzayknIiBcCiAgLS1yZXN1bHQtc3Ry" + + "YXRlZ3k9Tk9ORQpgYGAKClRvIHRhcmdldCBhIHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcjoKCmBg" + + "YHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29u" + + "IC0tY2x1c3RlcnM9bXktY2x1c3RlcgpgYGAKClRvIGluamVjdCBlbnZpcm9ubWVudCB2YXJpYWJs" + + "ZXMgb3Igc2VjcmV0cywgZWl0aGVyIHBhc3MgZmxhZ3M6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNy" + + "ZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiBcCiAgLS1jb250YWluZXItZW52" + + "IE1ZX0VOVj12YWx1ZSBcCiAgLS1zZWNyZXRzIE1ZX1NFQ1JFVD1zM2NyM3QKYGBgCgpvciBzZXQg" + + "dGhlbSBpbiB0aGUgSlNPTiBmaWxlOgoKYGBganNvbgp7CiAgImNvbnRhaW5lckVudmlyb25tZW50" + + "IjogWwogICAgeyJrZXkiOiAiTVlfRU5WIiwgInZhbHVlIjogInZhbHVlIn0KICBdLAogICJzZWNy" + + "ZXRzIjogWwogICAgeyJuYW1lIjogIk1ZX1NFQ1JFVCIsICJ2YWx1ZSI6ICJzM2NyM3QifQogIF0K" + + "fQpgYGAKClNlY3JldHMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IGFuZCBub3QgcmV0dXJuZWQgaW4g" + + "bGlzdCBvciBnZXQgcmVzcG9uc2VzIGJ5IGRlZmF1bHQ7IGRvIG5vdCBsb2cgdGhlbS4KCiMjIDMu" + + "IFRhc2sgQ1JFQVRFOiBIZWxtCgpGb3IgSGVsbS10eXBlIHRhc2tzLCByZXBsYWNlIGBjb250YWlu" + + "ZXJJbWFnZWAgd2l0aCBgaGVsbUNoYXJ0YDoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWhl" + + "bG0tdGFzayIsCiAgImdwdVNwZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAg" + + "Imluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxv" + + "Y2FsIgogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vPG9y" + + "Zz4vY2hhcnRzL2V4YW1wbGUtdGFzay0wLjEuMC50Z3oiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0" + + "ZWd5IjogIk5PTkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZp" + + "bGU9dGFzay1oZWxtLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpgaGVsbUNoYXJ0" + + "YCBhbmQgYGNvbnRhaW5lckltYWdlYCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgoKIyMgM2IuIFVw" + + "ZGF0ZSBzZWNyZXRzIG9uIGEgcnVubmluZyB0YXNrCgpgYGBzaApudmNmLWNsaSB0YXNrIHVwZGF0" + + "ZS1zZWNyZXRzIDx0YXNrX2lkPiAtLXNlY3JldHMgTkFNRT12YWx1ZQpgYGAKCmB1cGRhdGUtc2Vj" + + "cmV0c2AgbWVyZ2VzIHNlY3JldHMgYnkgbmFtZTogc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQg" + + "b3IgdXBkYXRlZCwgYW5kIGV4aXN0aW5nIHNlY3JldHMgbm90IGluY2x1ZGVkIGluIHRoZSByZXF1" + + "ZXN0IGFyZSBwcmVzZXJ2ZWQuIERvIG5vdCBlY2hvIHNlY3JldCB2YWx1ZXMgaW50byBjaGF0LgoK" + + "IyMgNC4gTW9uaXRvcgoKUG9sbCB0YXNrIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQg" + + "PHRhc2tfaWQ+CiMgLT4gaWQ6IDx0YXNrX2lkPgojIC0+IHN0YXR1czogUlVOTklORwpgYGAKCk9y" + + "IHVzZSB0aGUgdGFzayBJRCBzYXZlZCB0byBzdGF0ZSBmcm9tIHRoZSBtb3N0IHJlY2VudCBgdGFz" + + "ayBjcmVhdGVgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQKYGBgCgpTdGF0dXMgdmFsdWVzOiBg" + + "UVVFVUVEYCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBg" + + "Q0FOQ0VMRURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFY" + + "X1FVRVVFRF9EVVJBVElPTmAuCgpJbnNwZWN0IGxpZmVjeWNsZSBldmVudHMgZm9yIHByb2dyZXNz" + + "IGRldGFpbHMgb3IgZmFpbHVyZSBjb250ZXh0OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBldmVudHMg" + + "PHRhc2tfaWQ+CmBgYAoKSWYgdGhlIHRhc2sgaXMgc3R1Y2sgaW4gYFFVRVVFRGAsIGNoZWNrIHRo" + + "YXQgYSBjb21wdXRlIGNsdXN0ZXIgd2l0aCBhIG1hdGNoaW5nIEdQVSBTS1UKaXMgcmVnaXN0ZXJl" + + "ZCBhbmQgaGVhbHRoeSAoYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1c2ApLgoKSWYgdGhlIHRh" + + "c2sgbW92ZXMgdG8gYEVSUk9SRURgLCB0aGUgZXZlbnRzIG91dHB1dCBjb250YWlucyB0aGUgZmFp" + + "bHVyZSByZWFzb24uIEZvcgpjb250YWluZXItbGV2ZWwgZGV0YWlsLCBpbnNwZWN0IHRoZSB0YXNr" + + "IHdvcmtsb2FkIHBvZHMgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlciB3aXRoCmBrdWJlY3Rs" + + "YCBhZ2FpbnN0IHRoZSBhcHByb3ByaWF0ZSBuYW1lc3BhY2UgYW5kIGNvbnRleHQuCgojIyA1LiBS" + + "ZXRyaWV2ZSByZXN1bHRzCgpGb3IgdGFza3Mgd2l0aCBgcmVzdWx0SGFuZGxpbmdTdHJhdGVneTog" + + "Tk9ORWAsIHJlc3VsdHMgYXJlIGVtcHR5IGJ5IGRlc2lnbjoKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + + "cmVzdWx0cyA8dGFza19pZD4KIyAtPiB7InJlc3VsdHMiOiBbXX0KYGBgCgpGb3IgdGFza3Mgd2l0" + + "aCBgcmVzdWx0SGFuZGxpbmdTdHJhdGVneTogVVBMT0FEYCwgcmVzdWx0cyB1cGxvYWQgdG8gdGhl" + + "IGxvY2F0aW9uIG5hbWVkIGluCmByZXN1bHRzTG9jYXRpb25gLiBUaGUgdGFzaydzIGNyZWRlbnRp" + + "YWxzIG11c3QgaGF2ZSB3cml0ZSBhY2Nlc3MgdG8gdGhhdCBsb2NhdGlvbi4gQWZ0ZXIKdGhlIHRh" + + "c2sgcmVhY2hlcyBgQ09NUExFVEVEYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyA8dGFz" + + "a19pZD4KYGBgCgpOb3RlOiByZXN1bHQgdXBsb2FkIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGluIHRo" + + "aXMgcmVsZWFzZS4KCiMjIDYuIENsZWFudXAKCkNhbmNlbCBhIHJ1bm5pbmcgdGFzazoKCmBgYHNo" + + "Cm52Y2YtY2xpIHRhc2sgY2FuY2VsIDx0YXNrX2lkPgpgYGAKCkRlbGV0ZSB0aGUgdGFzayByZWNv" + + "cmQgYWZ0ZXIgaXQgcmVhY2hlcyBhIHRlcm1pbmFsIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFz" + + "ayBkZWxldGUgPHRhc2tfaWQ+CmBgYAoKU3RvcCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJl" + + "Zm9yZSBydW5uaW5nIHRhc2sgZGVsZXRlLiBTdGF0ZSB0aGUgdGFzayBJRCBhbmQgaXRzIGN1cnJl" + + "bnQgc3RhdHVzLiBEbyBub3QgcHJvY2VlZCBldmVuIHdoZW4gdGhlIHVzZXIncyBwcm9tcHQgYWxy" + + "ZWFkeSByZXF1ZXN0ZWQgZGVsZXRpb24g4oCUIGFsd2F5cyBnZXQgYW4gZXhwbGljaXQgbGFzdC1s" + + "b29rIGNvbmZpcm1hdGlvbi4gRGVsZXRpb24gaXMgcGVybWFuZW50IGFuZCBjYW5ub3QgYmUgdW5k" + + "b25lLgoKVG8gbGlzdCBhbGwgdGFza3MgZm9yIHRoZSBjdXJyZW50IG93bmVyICh1c2VmdWwgYmVm" + + "b3JlIGJ1bGsgY2xlYW51cCk6CgpgYGBzaApudmNmLWNsaSB0YXNrIGxpc3QKbnZjZi1jbGkgdGFz" + + "ayBsaXN0IC0tc3RhdHVzPUNPTVBMRVRFRApgYGAKCiMjIE5vdGVzCgotIEdQVSBmYW1pbHkgYW5k" + + "IGluc3RhbmNlIHR5cGUgbXVzdCBtYXRjaCBhIHJlZ2lzdGVyZWQgY29tcHV0ZSBjbHVzdGVyIFNL" + + "VS4gTWlzbWF0Y2gKICBjYXVzZXMgdGhlIHRhc2sgdG8gcmVtYWluIGBRVUVVRURgIGluZGVmaW5p" + + "dGVseS4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3RgIHRvIGNoZWNrCiAgcmVnaXN0ZXJlZCBT" + + "S1VzLgotIEZvciBjb250YWluZXIgaW1hZ2VzIG9uIHByaXZhdGUgcmVnaXN0cmllcywgZW5zdXJl" + + "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIncwogIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGlz" + + "IGNvbmZpZ3VyZWQgZm9yIHRoZSByZWdpc3RyeSBob3N0LgpQSwcIkdwb+ZgZAACYGQAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOEiMgRGVwbG95IGFuZCBpbnZva2UgYSBjb250" + + "YWluZXIgZnVuY3Rpb24KClN0YW5kYXJkIGZvdXItc3RlcCBmbG93OiBmdW5jdGlvbiBDUkVBVEUg" + + "4oaSIERFUExPWSDihpIgQVBJIGtleSAoZm9yIGludm9rZSBzY29wZSkg4oaSIElOVk9LRS4KCiMj" + + "IDEuIEZ1bmN0aW9uIENSRUFURQoKRGVmaW5lIHRoZSBmdW5jdGlvbiBpbiBhIEpTT04gZmlsZS4g" + + "TWluaW11bToKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0" + + "IGZ1bmN0aW9uIG5hbWUgYW5kIGNvbnRhaW5lciBpbWFnZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRo" + + "ZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1p" + + "dCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAi" + + "PGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJt" + + "ZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvZWNobyIsCiAgImluZmVy" + + "ZW5jZVBvcnQiOiA4MDAwLAogICJkZXNjcmlwdGlvbiI6ICJzbW9rZSB0ZXN0IGVjaG8gZnVuY3Rp" + + "b24iLAogICJmdW5jdGlvblR5cGUiOiAiREVGQVVMVCIsCiAgImFwaUJvZHlGb3JtYXQiOiAiQ1VT" + + "VE9NIiwKICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIv" + + "aGVhbHRoIiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJl" + + "eHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9Cn0KYGBgCgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + + "biBjcmVhdGUgLS1pbnB1dC1maWxlPWNyZWF0ZS1mbi5qc29uCiMg4oaSIEZ1bmN0aW9uIElEOiA8" + + "Zm5faWQ+CiMg4oaSIFZlcnNpb24gSUQ6IDx2ZXJfaWQ+CmBgYAoKU2F2ZSB0aGUgSURzIOKAlCB0" + + "aGV5J3JlIG5lZWRlZCBmb3IgZGVwbG95ICsgaW52b2tlLgoKIyMjIExMTSBmdW5jdGlvbiB2YXJp" + + "YW50CgpGb3IgYW4gT3BlbkFJLWNvbXBhdGlibGUgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9u" + + "VHlwZTogIkxMTSJgIGFuZCBwdXQgcm91dGUgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNv" + + "bmZpZ2A6CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBm" + + "dW5jdGlvbiBuYW1lLCBjb250YWluZXIgaW1hZ2UsIGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVz" + + "ZXIuIElmIGFueSB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQg" + + "b3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAi" + + "bmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAi" + + "PGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJp" + + "bmZlcmVuY2VQb3J0IjogODAwMCwKICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6" + + "IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9y" + + "dCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2Rl" + + "IjogMjAwCiAgfSwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29uZmlybWVk" + + "LW1vZGVsLW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6IFsiL3Yx" + + "L2NoYXQvY29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5ncyJdLAog" + + "ICAgICAgICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9rZW5SYXRl" + + "TGltaXQiOiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVudCBDTEkg" + + "ZmxhZyBmb3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5hbWU9Ijxj" + + "b25maXJtZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWltYWdlPSI8Y29uZmlybWVkLWNvbnRhaW5l" + + "ci1pbWFnZT4iIFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAgLS1pbmZlcmVuY2UtcG9ydD04MDAw" + + "IFwKICAtLWhlYWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFsdGgtcG9ydD04MDAwIFwKICAtLWhl" + + "YWx0aC10aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90b2NvbD1IVFRQIFwKICAtLWhlYWx0" + + "aC1leHBlY3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9uLXR5cGU9TExNIFwKICAtLWxsbS1t" + + "b2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlv" + + "bnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmlu" + + "LHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhlIHNhbWUgZGVwbG95IHN0ZXAgYmVs" + + "b3cgYWZ0ZXIgdGhlIExMTSBmdW5jdGlvbiBpcyBjcmVhdGVkLgoKT3B0aW9uYWwgbW9kZWwgcm91" + + "dGluZyB1cGRhdGUgYWZ0ZXIgY3JlYXRpb246CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiB1cGRh" + + "dGUgXAogIC0tZnVuY3Rpb24taWQ9PGZuX2lkPiBcCiAgLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+IFwK" + + "ICAtLWxsbS1tb2RlbC11cGRhdGU9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPixyb3V0aW5n" + + "TWV0aG9kPXBvd2VyX29mX3R3byx0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoaXMg" + + "Zm9yIG11dGFibGUgYHJvdXRpbmdNZXRob2RgIGFuZCBgdG9rZW5SYXRlTGltaXRgOyBjcmVhdGUt" + + "dGltZSBgdXJpc2Agc3RheSBpbiBgbW9kZWxzW10ubGxtQ29uZmlnYC4KYHRva2VuUmF0ZUxpbWl0" + + "YCBzdXBwb3J0cyBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBmb3IgYFNgLCBgTWAsIGBI" + + "YCwgYERgLCBhbmQgYFdgLiBVc2UgYDEwMDAtU2AgZm9yIGEgc2luZ2xlIGlubGluZSBDTEkgbGlt" + + "aXQuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCBsaW1pdHMsIHN1Y2ggYXMgYDEwMDAtUyw1" + + "MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCwgYmVjYXVzZSBpbmxpbmUgbW9kZWwg" + + "c3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLgoKIyMjIEhlbG0gY2hhcnQgTExN" + + "IGZ1bmN0aW9uIHZhcmlhbnQKCkxMTSBmdW5jdGlvbiB0eXBlIGlzIGluZGVwZW5kZW50IG9mIHdv" + + "cmtsb2FkIHBhY2thZ2luZy4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBr" + + "ZWVwIHRoZSBzYW1lIGBmdW5jdGlvblR5cGVgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmaWVs" + + "ZHMsIHRoZW4gc2V0IGBoZWxtQ2hhcnRgIGFuZCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLiBUaGUg" + + "c2VydmljZSBuYW1lIG11c3QgbWF0Y2ggYSBLdWJlcm5ldGVzIFNlcnZpY2UgcmVuZGVyZWQgYnkg" + + "dGhlIGNoYXJ0LCBhbmQgYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQu" + + "CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlv" + + "biBuYW1lIGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBt" + + "aXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0IGV4YW1wbGUgdmFs" + + "dWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1" + + "bmN0aW9uLW5hbWU+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVuY2VQb3J0Ijog" + + "ODAwMCwKICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2Nv" + + "bCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAi" + + "dGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfSwKICAi" + + "aGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hh" + + "cnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiIsCiAgImhlbG1DaGFydFNlcnZpY2VOYW1l" + + "IjogIm9wZW5haS1jb21wYXRpYmxlIiwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6" + + "ICI8Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAi" + + "dXJpcyI6IFsiL3YxL2NoYXQvY29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1i" + + "ZWRkaW5ncyJdLAogICAgICAgICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAg" + + "ICAidG9rZW5SYXRlTGltaXQiOiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1" + + "aXZhbGVudCBDTEkgZmxhZyBmb3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwK" + + "ICAtLW5hbWU9Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWluZmVyZW5jZS11cmw9" + + "LyBcCiAgLS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWhlYWx0aC11cmk9L2hlYWx0aCBcCiAg" + + "LS1oZWFsdGgtcG9ydD04MDAwIFwKICAtLWhlYWx0aC10aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0" + + "aC1wcm90b2NvbD1IVFRQIFwKICAtLWhlYWx0aC1leHBlY3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1" + + "bmN0aW9uLXR5cGU9TExNIFwKICAtLWhlbG0tY2hhcnQ9aHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEu" + + "Y29tL2V4YW1wbGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IFwKICAt" + + "LWhlbG0tY2hhcnQtc2VydmljZT1vcGVuYWktY29tcGF0aWJsZSBcCiAgLS1sbG0tbW9kZWw9J25h" + + "bWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9y" + + "ZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJh" + + "dGVMaW1pdD0xMDAwLVMnCmBgYAoKRGVwbG95IGlzIHVuY2hhbmdlZC4gUHV0IGNoYXJ0LXNwZWNp" + + "ZmljIHZhbHVlcyB1bmRlciBgZGVwbG95bWVudFNwZWNpZmljYXRpb25zW10uY29uZmlndXJhdGlv" + + "bmAgb25seSB3aGVuIHRoZSBjaGFydCBuZWVkcyB2YWx1ZSBvdmVycmlkZXM6CgpgYGBqc29uCnsK" + + "ICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAi" + + "ZGVwbG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5z" + + "dGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAg" + + "ICJtYXhJbnN0YW5jZXMiOiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwLAogICAg" + + "ImNvbmZpZ3VyYXRpb24iOiB7CiAgICAgICJzZXJ2aW5nIjogewogICAgICAgICJ0ZW5zb3JQYXJh" + + "bGxlbFNpemUiOiAxCiAgICAgIH0KICAgIH0KICB9XQp9CmBgYAoKTExNIEdhdGV3YXkgcm91dGVz" + + "IHJlcXVlc3RzIGJ5IHRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZS4gVXNlIGA8ZnVuY3Rpb24taWQ+" + + "Lzxtb2RlbC1uYW1lPmA6IHRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9u" + + "LCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHRvIHRoZSB1cHN0cmVhbSBjb250YWlu" + + "ZXIgdGhyb3VnaCBgc3RhcmdhdGUtY2xpZW50YC4KClN1cHBvcnRlZCBMTE0gcGF0aHM6Cgp8IFBh" + + "dGggfCBOb3RlcyB8CnwgLS0tIHwgLS0tIHwKfCBgL3YxL2NoYXQvY29tcGxldGlvbnNgIHwgU3Vw" + + "cG9ydHMgc3RyZWFtaW5nIGFuZCBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL3Jlc3BvbnNl" + + "c2AgfCBOYXRpdmUgUmVzcG9uc2VzIHByb3h5IHBhdGg7IHJlbGF5cyBTU0UgZm9yIHN0cmVhbWlu" + + "ZyBjbGllbnRzIGFuZCByZXR1cm5zIHRlcm1pbmFsIEpTT04gZm9yIG5vbi1zdHJlYW1pbmcgY2xp" + + "ZW50cy4gU3VwcG9ydHMgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9lbWJlZGRpbmdzYCB8" + + "IEFjY2VwdHMgc3RyaW5nIG9yIHN0cmluZy1hcnJheSBgaW5wdXRgOyBpbnB1dCBtdXN0IGJlIG5v" + + "bi1lbXB0eSBhbmQgbWF5IGNvbnRhaW4gYXQgbW9zdCAyMDQ4IGVudHJpZXMuIE5vIHNlc3Npb24g" + + "c3RpY2tpbmVzcy4gfAoKIyMgMi4gRnVuY3Rpb24gREVQTE9ZCgpgYGBqc29uCnsKICAiZnVuY3Rp" + "b25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVu" + "dFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBl" + "IjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0" + - "YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoKVGhl" + - "IGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0cyBz" + - "Y2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNob29z" + - "ZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZhbi1v" + - "dXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQgY29t" + - "cHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdCAtLWpzb24gfCBqcSAtciAnLmNsdXN0" + - "ZXJzW10ubmFtZScgPiBjbHVzdGVycy50eHQKCiMgU3RhdHVzIHNuYXBzaG90IHBlciBjb21wdXRl" + - "IHBsYW5lIChhc3N1bWluZyBlYWNoIGNvbnRleHQgbmFtZSBtYXRjaGVzKToKd2hpbGUgcmVhZCBO" + - "QU1FOyBkbwogIGVjaG8gIj09PSAkTkFNRSA9PT0iCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzIFwKICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PWFkbWluQCROQU1FIFwKICAgIC0tanNvbiB8IGpxIC1jICd7Y2x1c3RlcjouY2x1c3Rlciwg" + - "dmVyZGljdDoudmVyZGljdCwgcmVjb25jaWxlOi5yZWNvbmNpbGVBZ2VTZWN9Jwpkb25lIDwgY2x1" + - "c3RlcnMudHh0CmBgYAoKQSBmdXR1cmUgTSsxMSBtaWxlc3RvbmUgd2lsbCBhZGQgbmF0aXZlIGZh" + - "bi1vdXQgKGBzdGF0dXMgLS1hbGwtY29tcHV0ZS1wbGFuZXNgKSBzbyB0aGlzIGRvZXNuJ3QgbmVl" + - "ZCBhIHNoZWxsIGxvb3AuClBLBwhodj9B6AsAAOgLAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5l" + - "Lm1kVVQFAAEAps4SIyBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5nIGNvbnRyb2wg" + - "cGxhbmUKClVzZXIgaGFzIGEgd29ya2luZyBOVkNGIGNvbnRyb2wgcGxhbmUgKHJ1bm5pbmcgc29t" + - "ZXdoZXJlKSBhbmQgd2FudHMgdG8gcmVnaXN0ZXIgYSBuZXcgR1BVIGNsdXN0ZXIgYWdhaW5zdCBp" + - "dC4gVGhpcyBpcyB0aGUgbXVsdGktY2x1c3RlciBzY2FsaW5nIHBhdGg6IG9uZSBjb250cm9sIHBs" + - "YW5lIOKGkiBOIGNvbXB1dGUgcGxhbmVzLgoKIyMgUHJlcmVxdWlzaXRlcyB0aGUgdXNlciBtdXN0" + - "IGhhdmUKCi0gKiprdWJlY3RsIGNvbnRleHQgZm9yIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSoqIGlu" + - "IHRoZWlyIGBLVUJFQ09ORklHYC4KLSAqKlB1YmxpYyBJQ01TIFVSTCoqIG9mIHRoZSBleGlzdGlu" + - "ZyBjb250cm9sIHBsYW5lIChlLmcuIGBodHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbWApLgot" + - "ICoqQWRtaW4gSldUKiogZm9yIHRoZSBjb250cm9sIHBsYW5lJ3MgYWNjb3VudCwgT1IgYWJpbGl0" + - "eSB0byBtaW50IG9uZSB2aWEgYG52Y2YtY2xpIGluaXRgIGFnYWluc3QgdGhlIGNvbnRyb2wgcGxh" + - "bmUncyBwdWJsaWMgYXBpIGVuZHBvaW50LiAoQWRtaW4gdG9rZW5zIGNvbWUgZnJvbSB0aGUgQVBJ" + - "IEtleXMgc2VydmljZSB2aWEgdGhlIHB1YmxpYyBhcGkgZ2F0ZXdheSDigJQga3ViZWN0bCBhY2Nl" + - "c3MgdG8gdGhlIGNvbnRyb2wgcGxhbmUgaXMgTk9UIHJlcXVpcmVkIHRvIG9idGFpbiBvbmUuKQot" + - "ICoqQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCoqIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGgg" + - "YWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJzLiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAg" + - "ZnJvbSBhIGNvbnRyb2wtcGxhbmUgY29udGV4dCB0byBjaGVjay4KCiMjIFN0ZXBzCgoxLiAqKkFz" + - "ayBmb3IgaW5wdXRzOioqCiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQgbXVzdCBi" + - "ZSB1bmlxdWUgd2l0aGluIHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0gYC0tY29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PTxjb250ZXh0PmAg4oCUIHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBr" + - "dWJlY3RsIGNvbnRleHQKICAgLSBgLS1pY21zLXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBs" + - "ZS5jb20+YCDigJQgY29udHJvbCBwbGFuZSdzIHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBl" + - "PyAoZGVmYXVsdCBgSDEwMGAsIGJ1dCBhc2spCgoyLiAqKlByZS1mbGlnaHQganVzdCB0aGUgY29t" + - "cHV0ZSBwbGFuZToqKgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1w" + - "cmUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9" + - "JElDTVMgXAogICAgIC0tanNvbiB8IGpxIC1jIC4KICAgYGBgCgogICBUaGlzIHZhbGlkYXRlcyB0" + - "aGUgR1BVIG9wZXJhdG9yIGlzIGluc3RhbGxlZCwgR1BVIG5vZGUgbGFiZWxzIGFyZSBwcmVzZW50" + - "LCBhbmQgSUNNUyBpcyByZWFjaGFibGUgdmlhIEhUVFAuIEFkZHJlc3MgYW55IGZhaWx1cmVzIGJl" + - "Zm9yZSBwcm9jZWVkaW5nLgoKMy4gKipSdW4gYGFkZC1jb21wdXRlLXBsYW5lYDoqKgoKICAgYGBg" + - "c2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUtcGxhbmUgXAogICAgIC0tY2x1" + - "c3Rlci1uYW1lPSROQU1FIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAg" + - "ICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLXRva2VuPSRKV1QgXAogICAgIC0tbm9uLWludGVy" + - "YWN0aXZlIFwKICAgICAtLWpzb24KICAgYGBgCgogICBUaGlzIGlzIGEgc2VwYXJhdGUgc3ViY29t" + - "bWFuZCBmcm9tIGB1cGAuIEl0IHJ1bnMgb25seSB0aGUgY29tcHV0ZS1wbGFuZS1yZWxldmFudCBw" + - "aGFzZXM6IDEgKGNvbXB1dGUtcGxhbmUgcHJlZmxpZ2h0KSwgNSAocmVnaXN0ZXIpLCA2IChjb21w" + - "dXRlLXBsYW5lIGFwcGx5KSwgOCAoZmluYWwgaGVhbHRoIG9uIHRoZSBuZXcgY29tcHV0ZSBwbGFu" + - "ZSkuIEl0IGRvZXMgTk9UIHRvdWNoIHRoZSBjb250cm9sIHBsYW5lIGFuZCBkb2VzIE5PVCBhY2Nl" + - "cHQgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCDigJQgdGhlIGNvbnRyb2wgcGxhbmUgaXMgcmVh" + - "Y2hlZCBvdmVyIEhUVFBTIGF0IGAtLWljbXMtdXJsYC4gYC0tdG9rZW5gIGlzIHJlcXVpcmVkIGJl" + - "Y2F1c2UgdGhlcmUncyBubyBrdWJlY3RsIHBhdGggdG8gbWludCBvbmUgZnJvbS4KCjQuICoqVmVy" + - "aWZ5LioqIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1jbHVzdGVyLW5hbWU9JE5BTUUg" + - "LS1qc29uIHwganFgIOKAlCBleHBlY3QgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIFRoZSBSZWdpc3Rl" + - "cmVkIENvbXB1dGUgUGxhbmVzIHBhbmVsIGZyb20gSUNNUyBzaG91bGQgbm93IGxpc3QgdGhlIG5l" + - "dyBjbHVzdGVyLgoKNS4gKipTbW9rZS4qKiBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRlcGxveS1h" + - "bmQtaW52b2tlLm1kKSDigJQgZGVwbG95IGEgc21hbGwgZnVuY3Rpb24gdG8gdGhlIG5ldyBjb21w" + - "dXRlIHBsYW5lIHRvIGNvbmZpcm0gc2NoZWR1bGluZyB3b3Jrcy4KCiMjIFdoYXQgaWYgYSBjbHVz" + - "dGVyIHdpdGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cz8KCmBhZGQtY29tcHV0ZS1wbGFu" + - "ZWAncyByZWdpc3RlciBwaGFzZSB1c2VzIGAtLWlnbm9yZS1leGlzdGluZ2Agc2VtYW50aWNzIOKA" + - "lCBpdCdsbCBtYXRjaCB0aGUgZXhpc3RpbmcgSUNNUyByb3cgYW5kIHJldXNlIGl0cyBjbHVzdGVy" + - "SWQuIFR3byBzY2VuYXJpb3M6CgotICoqUmUtcmVnaXN0ZXJpbmcgdGhlIHNhbWUgY2x1c3Rlcioq" + - "IChyZS1ydW5uaW5nIG9uIHRoZSBzYW1lIGNvbXB1dGUgcGxhbmUgdGhhdCB3YXMgcHJldmlvdXNs" + - "eSByZWdpc3RlcmVkKTogZXhwZWN0ZWQsIG5vLW9wIHNlbWFudGljcy4KLSAqKkRpZmZlcmVudCBw" + - "aHlzaWNhbCBjbHVzdGVyIGJ1dCBzYW1lIG5hbWUqKjogdGhlIHNlY29uZCBhdHRlbXB0IHdpbGwg" + - "cmV1c2UgdGhlIElDTVMgcm93LCBidXQgdGhlIG5ldyBjb21wdXRlIHBsYW5lJ3MgSldLUyB3aWxs" + - "IGJlIHNpbGVudGx5ICpyZXBsYWNlZCog4oCUIHRoZSBvbGQgY29tcHV0ZSBwbGFuZSdzIE5WQ0Eg" + - "YWdlbnQgd2lsbCBzdGFydCBmYWlsaW5nIFBTQVQgYXV0aC4gKipDb25maXJtIHdpdGggdGhlIHVz" + - "ZXIqKiB0aGF0IHRoZXkgbWVhbnQgdG8gb3ZlcndyaXRlLgoKV2hlbiBpbiBkb3VidCwgcnVuIGBu" + - "dmNmLWNsaSBjbHVzdGVyIGxpc3RgIGZpcnN0IGFuZCBhc2sgdGhlIHVzZXIgYmVmb3JlIHByb2Nl" + - "ZWRpbmcgd2l0aCBhIG5hbWUgdGhhdCBhbHJlYWR5IGV4aXN0cy4KUEsHCP5mQzrMDAAAzAwAAFBL" + + "YW5jZXMiOiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwCiAgfV0KfQpgYGAKCk5v" + + "dGU6IGBncHVgIGlzIHRoZSBHUFUgKipmYW1pbHkqKiAoZS5nLiBgSDEwMGApLCBgaW5zdGFuY2VU" + + "eXBlYCBpcyB0aGUgU0tVIChlLmcuIGBOQ1AuR1BVLkgxMDBfMXhgKS4gTWlzbWF0Y2ggcmV0dXJu" + + "cyBJQ01TIDQwMCAiSW52YWxpZCBHUFUiLgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95" + + "IGNyZWF0ZSAtLWlucHV0LWZpbGU9ZGVwbG95LWZuLmpzb24KYGBgCgpUaGlzIGNvbW1hbmQgKipi" + + "bG9ja3MqKiB1bnRpbCB0aGUgZGVwbG95bWVudCByZWFjaGVzIEFDVElWRSAoZGVmYXVsdCA5MDBz" + + "IHRpbWVvdXQpLiBXaGVuIGl0IHJldHVybnMgcmM9MCwgYSBmdW5jdGlvbiBwb2QgaXMgcnVubmlu" + + "ZyBpbiB0aGUgYG52Y2YtYmFja2VuZGAgbmFtZXNwYWNlIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNs" + + "dXN0ZXIuCgojIyAzLiBNaW50IGFuIEFQSSBrZXkgd2l0aCBgaW52b2tlX2Z1bmN0aW9uYCBzY29w" + + "ZQoKYG52Y2YtY2xpIGluaXRgJ3MgYWRtaW4gdG9rZW4gZG9lcyBOT1QgY2FycnkgdGhlIGBpbnZv" + + "a2VfZnVuY3Rpb25gIHNjb3BlIOKAlCBpbnZva2Ugd291bGQgNDAzIHdpdGggIm1pc3NpbmcgcmVx" + + "dWVzdGVkIGF1dGhvcml0aWVzIi4gTWludCBhbiBBUEkga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IGlu" + + "dm9rZSIgLS1leHBpcmVzLWluPTFoCiMg4oaSIEFQSSBLZXk6IG52YXBpLW52Y2Ytc3RnLS4uLgpg" + + "YGAKClRoZSBrZXkgaXMgYXV0b21hdGljYWxseSBzYXZlZCB0byB0aGUgQ0xJIHN0YXRlIGZpbGUg" + + "YW5kIHVzZWQgYnkgdGhlIG5leHQgYGZ1bmN0aW9uIGludm9rZWAgY2FsbC4gKipEb24ndCBlY2hv" + + "IHRoZSBrZXkgaW50byBjaGF0IC8gbG9ncyoqLgoKIyMgNC4gRnVuY3Rpb24gSU5WT0tFCgpgYGBq" + + "c29uCnsKICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+" + + "IiwKICAicmVxdWVzdEJvZHkiOiB7Im1lc3NhZ2UiOiAiaGVsbG8ifQp9CmBgYAoKYGBgc2gKbnZj" + + "Zi1jbGkgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1pbnZva2UtZm4uanNvbgojIOKGkiBG" + + "dW5jdGlvbiBpbnZvY2F0aW9uIGNvbXBsZXRlZCEKIyDihpIgU3RhdHVzOiBmdWxmaWxsZWQKIyDi" + + "hpIgUmVxdWVzdCBJRDogLi4uCmBgYAoKRm9yIGFuIExMTSBmdW5jdGlvbiwgaW52b2tlIHRoZSBP" + + "cGVuQUktY29tcGF0aWJsZSByb3V0ZSBhZnRlciBkZXBsb3ltZW50OgoKYGBgc2gKY3VybCAtc1Mg" + + "LVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9jaGF0L2NvbXBsZXRp" + + "b25zIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAt" + + "SCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6" + + "ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgInN0cmVhbSI6IHRydWUsCiAg" + + "ICAibWVzc2FnZXMiOiBbCiAgICAgIHsKICAgICAgICAicm9sZSI6ICJ1c2VyIiwKICAgICAgICAi" + + "Y29udGVudCI6ICJIZWxsbyIKICAgICAgfQogICAgXQogIH0nCmBgYAoKVGhlIE9wZW5BSSBgbW9k" + + "ZWxgIHZhbHVlIG11c3QgYmUgYDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YCBzbyB0aGUgZ2F0" + + "ZXdheSBjYW4gc2VsZWN0IHRoZSBmdW5jdGlvbiBhbmQgbW9kZWwuCgpSZXNwb25zZXMgQVBJIGV4" + + "YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxk" + + "b21haW4+L3YxL3Jlc3BvbnNlcyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNG" + + "X0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1k" + + "ICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJp" + + "bnB1dCI6ICJXcml0ZSBhIG9uZSBzZW50ZW5jZSBzdW1tYXJ5IG9mIE5WQ0YuIgogIH0nCmBgYAoK" + + "RW1iZWRkaW5ncyBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0u" + + "aW52b2NhdGlvbi48ZG9tYWluPi92MS9lbWJlZGRpbmdzIiBcCiAgLUggIkF1dGhvcml6YXRpb246" + + "IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlv" + + "bi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwt" + + "bmFtZT4iLAogICAgImlucHV0IjogIk5WQ0YgZW1iZWRkaW5ncyBjaGVjayIKICB9JwpgYGAKCklm" + + "IHN0YXR1cyBpcyBgZXJyb3JlZGAsIHF1ZXJ5IElDTVMgZm9yIHRoZSBkZXBsb3ltZW50J3MgcG9k" + + "IGxvZ3MgKGt1YmVjdGwgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcikgYW5kIHN1cmZhY2Ug" + + "dG8gdGhlIHVzZXIuCgojIyA1LiBDbGVhbnVwCgpXaGVuIHRoZSB1c2VyIGlzIGRvbmUgd2l0aCB0" + + "aGUgc21va2UgdGVzdDoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9u" + + "LWlkPTxmbl9pZD4gLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+CmBgYAoKKipDb25maXJtIHdpdGggdGhl" + + "IHVzZXIgYmVmb3JlIGRlbGV0aW5nLioqIFRoaXMgcmVtb3ZlcyBib3RoIHRoZSBkZXBsb3ltZW50" + + "IGFuZCB0aGUgZnVuY3Rpb24gcmVjb3JkLgoKIyMgTm90ZXMKCi0gRGVwbG95IHRpbWVzIGNhbiB2" + + "YXJ5IHdpZGVseSBkZXBlbmRpbmcgb24gTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5IG9uIGNvbGQt" + + "Y2x1c3RlciBydW5zICgxLTcgbWludXRlcyBvYnNlcnZlZCBpbiBkZXYtVk0gdGVzdHMpLiBCZSBw" + + "YXRpZW50OyBkb24ndCBraWxsIHRoZSBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAgY29tbWFuZCBl" + + "YXJseS4KLSBGb3IgZGlmZmVyZW50IEdQVSBmYW1pbGllcywgY2hhbmdlIGJvdGggYGdwdWAgYW5k" + + "IGBpbnN0YW5jZVR5cGVgIHRvZ2V0aGVyLiBDb21tb24gU0tVczogYE5DUC5HUFUuSDEwMF8xeGAs" + + "IGBOQ1AuR1BVLkgxMDBfMnhgLCBgTkNQLkdQVS5BMTAwXzF4YC4KLSBUaGUgZnVuY3Rpb24ncyBj" + + "b250YWluZXIgaW1hZ2UgbXVzdCBiZSBwdWxsYWJsZSBmcm9tIHRoZSBjb21wdXRlLXBsYW5lIGNs" + + "dXN0ZXIncyBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgKGNoZWNrIGBrdWJlY3RsIGRl" + + "c2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmRgIGlmIHBvZHMgbGFuZCBpbiBgSW1hZ2VQdWxsQmFj" + + "a09mZmApLgpQSwcI0kPcBBglAAAYJQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA9AAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + + "ZFVUBQABAKbOEiMgRGlhZ25vc2UgYSBmYWlsZWQgc2VsZi1ob3N0ZWQgTlZDRiBpbnN0YWxsCgpV" + + "c2VyIHNheXMgIm15IGluc3RhbGwgZmFpbGVkIiBvciAiWCBpc24ndCB3b3JraW5nIi4gRG9uJ3Qg" + + "Z3Vlc3Mg4oCUIHF1ZXJ5IHRoZSBjbHVzdGVyLgoKIyMgMS4gR2V0IHRoZSB2ZXJkaWN0CgpgYGBz" + + "aApudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganEgLWMgLgpgYGAKClRoZSBm" + + "aXJzdCBldmVudCBpcyB0aGUgc25hcHNob3QuIFBhcnNlIGAudmVyZGljdGA6CgotICoqYGhlYWx0" + + "aHlgKiog4oCUIG5vdGhpbmcncyB3cm9uZy4gQXNrIHRoZSB1c2VyIHdoYXQgdGhleSdyZSBhY3R1" + + "YWxseSBzZWVpbmc7IHRoZWlyIHByb2JsZW0gbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIChm" + + "dW5jdGlvbiBkZXBsb3ksIG5ldHdvcmssIGV0Yy4pLgotICoqYGRlZ3JhZGVkYCoqIOKAlCBhdCBs" + + "ZWFzdCBvbmUgY29tcG9uZW50IG5vdCByZWFkeS4gVGhlIENvbXBvbmVudHMgbGlzdCB3aWxsIGlk" + + "ZW50aWZ5IHdoaWNoLiBNb3N0IGNvbW1vbjogYGNhc3NhbmRyYWAgUG9kSW5pdGlhbGl6aW5nLCBg" + + "b3BlbmJhb2Agbm90IHVuc2VhbGVkLCBgc2lzYCBJbWFnZVB1bGxCYWNrT2ZmLgotICoqYGZhaWxl" + + "ZGAqKiDigJQgTlZDRkJhY2tlbmQgYEhlYWx0aD1GYWlsZWRgLiBSZWFkIHRoZSBjbHVzdGVyJ3Mg" + + "TlZDRkJhY2tlbmQgc3RhdHVzIGNvbmRpdGlvbiBtZXNzYWdlLgotICoqYHVua25vd25gKiog4oCU" + + "IElDTVMgdW5yZWFjaGFibGUuIFRoZSBjb250cm9sIHBsYW5lIGl0c2VsZiBtYXkgYmUgZG93bjsg" + + "Y2hlY2sgYGt1YmVjdGwgZ2V0IHBvZHMgLW4gc2lzYCBkaXJlY3RseS4KCiMjIDIuIERyaWxsIGlu" + + "dG8gdGhlIGZhaWxpbmcgY29tcG9uZW50CgpGb3IgZWFjaCBub24tcmVhZHkgY29tcG9uZW50LCB0" + + "aGUgc25hcHNob3QgaW5jbHVkZXMgYSBgbWVzc2FnZWAgKGUuZy4gYGNhc3NhbmRyYS0wIFBvZElu" + + "aXRpYWxpemluZyA2bTIzc2ApLiBBc2sgdGhlIHVzZXIgdG8gcnVuOgoKYGBgc2gKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gPG5zPiA8cG9kPgprdWJlY3RsIGxvZ3MgLW4gPG5zPiA8cG9kPiAtLWFs" + + "bC1jb250YWluZXJzIC0tdGFpbD0xMDAKYGBgCgpTdXJmYWNlIHRoZSBldmVudHMgKyBsYXN0IGxv" + + "ZyBsaW5lcy4gRG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUgcG9kYCB1bmxlc3MgdGhlIHVz" + + "ZXIgY29uZmlybXMg4oCUIENhc3NhbmRyYSByZXN0YXJ0IGxvc2VzIGFueSBpbi1wcm9ncmVzcyBt" + + "aWdyYXRpb24uCgojIyAzLiBDb21tb24gcGF0dGVybnMKCnwgU3ltcHRvbSB8IExpa2VseSBjYXVz" + + "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBjYXNzYW5kcmEtMCBQb2RJbml0aWFs" + + "aXppbmdgIGZvciA+NSBtaW4gfCBTdG9yYWdlQ2xhc3MgbWlzc2luZyBvciBQViBzdHVjayBgUGVu" + + "ZGluZ2AgfCBga3ViZWN0bCBnZXQgcHYscHZjIC1BYCDigJQgY29uZmlybSBhIGRlZmF1bHQgU3Rv" + + "cmFnZUNsYXNzIGV4aXN0cy4gTG9jYWwgZGV2OiBga3ViZWN0bCBwYXRjaCBzdG9yYWdlY2xhc3Mg" + + "bG9jYWwtcGF0aCAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mu" + + "a3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCB8CnwgYGhlbG0gaW5z" + + "dGFsbCAuLi46IHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmEgdG8gYmVjb21lIGF2YWls" + + "YWJsZWAgfCBTYW1lIGFzIGFib3ZlIHwgU2FtZSB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGlu" + + "c3RhbGxlZGAgKHByZWZsaWdodCkgfCBNdWx0aS1jbHVzdGVyIGBudmNmLWdhdGV3YXktcm91dGVz" + + "YCBjaGFydCBuZWVkcyBlbnZveS1nYXRld2F5IHByZXJlcXVpc2l0ZSB8IEluc3RhbGwgZW52b3kt" + + "Z2F0ZXdheTogYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRl" + + "d2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNw" + + "YWNlYCB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElE" + + "OiA8aWQ+YCAoTlZDQSBhZ2VudCkgfCBDb21wdXRlIHBsYW5lJ3MgUFNBVCB3YXMgaXNzdWVkIGJ5" + + "IGEgSzhzIHNlcnZlciB3aG9zZSBKV0tTIGRvZXNuJ3QgbWF0Y2ggd2hhdCdzIHN0b3JlZCBpbiBJ" + + "Q01TIHwgUmUtcmVnaXN0ZXI6IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9" + + "PGlkPmAgZnJvbSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBL" + + "OHMgQVBJIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0" + + "ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgKGluaXQgLyBjbHVzdGVyIHJlZ2lzdGVy" + + "KSB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBg" + + "cm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgbnZj" + + "YS1vcGVyYXRvcmAgSW1hZ2VQdWxsQmFja09mZiBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJ" + + "bWFnZSBub3QgaW4gY2x1c3RlciAobXVsdGktY2x1c3RlciB0b3BvbG9neSBidWlsZHMgaXQgbG9j" + + "YWxseSkgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQg" + + "LWMgPGNsdXN0ZXI+YCAob3Igd2hhdGV2ZXIgeW91ciBpbWFnZSBwdXNoIHBhdGggaXMpIHwKfCBg" + + "cmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yKSB8IE9sZGVy" + + "IG52Y2YtY2xpOyB0aGUgZW52IHByb3BhZ2F0aW9uIGZpeCBsYW5kZWQgaW4gTSs1IGZvbGxvdy11" + + "cHMgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSB2ZXJzaW9uIGFmdGVyIGA2YWE1NzA0YCB8Cgoj" + + "IyA0LiBXaGVuIHRoZSB1c2VyIHdhbnRzIHRvIHN0YXJ0IG92ZXIKCklmIHRoZXkgY29uZmlybSBh" + + "IHRlYXJkb3duOgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sg" + + "JiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFzZSBpbiByZXZl" + + "cnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRv" + + "ciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsgdGhlbiBjb250" + + "cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9PGlk" + + "PmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9yZSBhbnkgdGVh" + + "cmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMgZGVzdHJ1Y3Rp" + + "dmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipE" + + "b24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0aWMgb25seS4K" + + "LSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUgdXNlciBleHBs" + + "aWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRl" + + "bGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVsZXRlcyB0aGUg" + + "dW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVyZW50IGlucHV0" + + "cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVzYCAvIGBrdWJl" + + "Y3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCA6cP5e9DgAAvQ4AAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9t" + + "LXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBmcm9tIHNjcmF0" + + "Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBhIGZyZXNoIEt1" + + "YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlzIHRoZSBtb3N0" + + "IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuICoqQ29uZmlybSB0aGUgdG9wb2xvZ3ku" + + "KiogQXNrIHRoZSB1c2VyOgogICAtICJTaW5nbGUtY2x1c3RlciAoY29udHJvbCBwbGFuZSBhbmQg" + + "Y29tcHV0ZSBwbGFuZSBvbiBvbmUgY2x1c3Rlciwgc2ltcGxlcikgb3Igc3BsaXQgKGNvbnRyb2wg" + + "cGxhbmUgb24gY2x1c3RlciBBLCBjb21wdXRlIHBsYW5lIG9uIGNsdXN0ZXIgQiwgcHJvZHVjdGlv" + + "bi1zaGFwZWQpPyIKICAgLSAiV2hhdCdzIHRoZSBjbHVzdGVyIG5hbWUgKHRoZSBgLS1jbHVzdGVy" + + "LW5hbWVgIGZsYWcsIGJlY29tZXMgdGhlIElDTVMgcm93IGlkZW50aWZpZXIpPyBFeGFtcGxlczog" + + "YG5jcC1sb2NhbGAgZm9yIGxvY2FsIGRldiwgYHByb2QtdXMtZWFzdC0xYCBmb3IgcHJvZHVjdGlv" + + "bi4iCiAgIC0gRm9yIHNwbGl0OiAiQ29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGNvbnRleHQgbmFt" + + "ZT8gQ29tcHV0ZS1wbGFuZSBjb250ZXh0PyBQdWJsaWMgSUNNUyBVUkw/IgoKMi4gKipQcmVwYXJl" + + "IHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGszZC4q" + + "KiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVs" + + "eSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMu" + + "IEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQK" + + "ICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2Vy" + + "IGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJl" + + "YWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0" + + "ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFs" + + "b25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1m" + + "IGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMv" + + "ZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3Bh" + + "Y2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lz" + + "IG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9y" + + "IG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAg" + + "ICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVl" + + "IC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8v" + + "ZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4z" + + "IFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQoKICAga3ViZWN0bCBhcHBseSAtZiAtIDw8" + + "RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDog" + + "R2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29u" + + "dHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxl" + + "cgogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBnYXRl" + + "d2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6CiAg" + + "ICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAg" + + "YW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1i" + + "YWxhbmNlci10eXBlOiAibmxiIgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdz" + + "LWxvYWQtYmFsYW5jZXItc2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBzcGVjOgogICAgIGdh" + + "dGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0gbmFtZTogaHR0cAogICAg" + + "ICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBhbGxvd2VkUm91dGVzOgog" + + "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAg" + + "c2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9w" + + "bGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHByb3RvY29sOiBUQ1AKICAg" + + "ICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2Vz" + + "OgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAg" + + "ICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAg" + + "IEVPRgogICBgYGAKCiAgIENhcHR1cmUgdGhlIEdhdGV3YXkgdmFsdWVzIGFuZCB3cml0ZSB0aGUg" + + "Q0xJIGNvbmZpZzoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDTFVTVEVSX05BTUU9Im52Y2YtcmVtb3Rl" + + "IgogICBleHBvcnQgTkNBX0lEPSJudmNmLWRlZmF1bHQiCiAgIGV4cG9ydCBSRUdJT049InVzLXdl" + + "c3QtMSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAg" + + "IGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgogICBleHBvcnQgR1JQQ19H" + + "QVRFV0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9O" + + "QU1FPSJudmNmLWdhdGV3YXkiCgogICBrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFD" + + "RSIgd2FpdCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRp" + + "b249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KICAga3ViZWN0bCAtbiAiJEdSUENfR0FU" + + "RVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEdSUENfR0FURVdBWV9OQU1FIiBcCiAgICAg" + + "LS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCgogICBleHBvcnQg" + + "R0FURVdBWV9BRERSPSIkKGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQg" + + "ImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + + "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9BRERSPSIkKGt1" + + "YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQgImdhdGV3YXkvJEdSUENfR0FU" + + "RVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + + "ZX0nKSIKICAgZXhwb3J0IFNUQUNLX0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBT" + + "ZXQgYFNUQUNLX0RPTUFJTmAgdG8gdGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0" + + "YWxsZWQgSFRUUFJvdXRlcy4KICAgRm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVj" + + "dGlvbiBETlMsIHVzZSB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBg" + + "YGBzaAogICBjYXQgPiAubnZjZi1jbGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0" + + "cDovLyR7R0FURVdBWV9BRERSfSIKICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQURE" + + "Un0iCiAgIGJhc2VfZ3JwY191cmw6ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBp" + + "X2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNf" + + "aG9zdDogImFwaS1rZXlzLiR7U1RBQ0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFD" + + "S19ET01BSU59IgogICBpbnZva2VfaG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoK" + + "ICAgYXBpX2tleXNfc2VydmljZV9pZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZp" + + "Y2UtaWQtYWtldG0iCiAgIGFwaV9rZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFw" + + "aV9rZXlzX293bmVyX2lkOiAic3ZjQG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtO" + + "Q0FfSUR9IgogICBFT0YKICAgYGBgCgozLiAqKlJ1biBwcmUtZmxpZ2h0LioqIENob29zZSB0aGUg" + + "Zmxhdm9yIG1hdGNoaW5nIHRoZSB0b3BvbG9neToKCiAgIGBgYHNoCiAgICMgU2luZ2xlLWNsdXN0" + + "ZXIKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgLS1qc29uIHwganEgLWMgLgoK" + + "ICAgIyBTcGxpdAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1j" + + "b250cm9sLXBsYW5lLWNvbnRleHQ9YWRtaW5AY3AgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PWFkbWluQGdwdTEgXAogICAgIC0tanNvbiB8IGpxIC1jIC4KCiAgICMgQ29tcHV0ZS1vbmx5" + + "IChvcGVyYXRvciB3aXRoIGt1YmVjdGwgb24gY29tcHV0ZSBwbGFuZSBvbmx5KQogICBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9" + + "YWRtaW5AZ3B1MSBcCiAgICAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNv" + + "bSBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAgIFBhcnNlIHRoZSBKU09OTCBzdHJl" + + "YW0uIElmIGFueSBjaGVjayBmYWlscyAoYCJwYXNzZWQiOmZhbHNlYCkgd2l0aCBgc2V2ZXJpdHk6" + + "IGVycm9yYCwgc3VyZmFjZSBgbWVzc2FnZWAgKyBgaGludFVSTGAgdG8gdGhlIHVzZXIgYW5kIHN0" + + "b3AuIERvbid0IHByb2NlZWQgdG8gaW5zdGFsbCB3aXRoIGJyb2tlbiBwcmVyZXFzLgoKNC4gKipN" + + "aW50IGFkbWluIHRva2VuIGlmIG5lZWRlZC4qKiBgbnZjZi1jbGkgaW5pdGAgaXMgaWRlbXBvdGVu" + + "dCDigJQgY2FsbCBpdCBpZiB0aGUgdXNlciBkb2Vzbid0IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5p" + + "dCB0YWxrcyB0byBBUEkgS2V5cyB2aWEgdGhlIHB1YmxpYyBhcGkgZ2F0ZXdheSwgc28gaXQgd29y" + + "a3MgaW4gY29tcHV0ZS1vbmx5IG1vZGUgdG9vLgoKNS4gKipSdW4gYHVwYC4qKiBVc2UgYC0tanNv" + + "bmAgZm9yIHRoZSBKU09OTCBldmVudCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCB1cCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAg" + + "IC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAg" + + "LS1qc29uCiAgIGBgYAoKICAgRm9yIHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNv" + + "bnRleHQgZmxhZ3M6CgogICBgYGBzaAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJh" + + "ZG1pbkBjb250cm9sLXBsYW5lIgogICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1p" + + "bkBncHUtY2x1c3RlciIKCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD0iJHtDT05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ9IiR7Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1" + + "c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBc" + + "CiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNl" + + "IGV2ZW50czoKICAgLSBgcGhhc2Vfc3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYCDigJQgbG9n" + + "IHByb2dyZXNzCiAgIC0gYHBoYXNlX3Byb2dyZXNzYCDigJQgc3ViLXByb2dyZXNzIGZvciB0aGUg" + + "bG9uZyBhcHBseSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBgd2FpdGluZ2Ag4oCUIHN1" + + "cmZhY2UgdG8gdXNlciBpZiBpdCBwZXJzaXN0cyAoPjIgbWluKQogICAtIGBwaGFzZV9mYWlsZWRg" + + "IOKAlCBTVE9QLiBTdXJmYWNlIGBlcnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5l" + + "LiBEZWNpZGUgYmFzZWQgb24gYHJldHJ5Q2xhc3NgOiBgaW1tZWRpYXRlYCDihpIgbWF5IHJlLXJ1" + + "biBub3cgd2l0aCB1c2VyIE9LOyBgYmFja29mZmAg4oaSIHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIHRo" + + "ZW4gcmUtcnVuIHdpdGggdXNlciBPSzsgYGFmdGVyX3JlbWVkaWF0aW9uYC9gbm9uZWAvYHVua25v" + + "d25gIOKGkiBvcGVyYXRvciBtdXN0IGFjdCBmaXJzdCwgZG8gTk9UIGF1dG8tcmV0cnkuCiAgIC0g" + + "YGZpbmFsYCDigJQgZG9uZS4gUHJpbnQgY2x1c3RlcklkLCBOVkNGQmFja2VuZCBoZWFsdGguCgo2" + + "LiAqKlZlcmlmeSB3aXRoIHN0YXR1cy4qKiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0t" + + "anNvbiB8IGpxYCDigJQgZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBJZiBub3QsIHJvdXRl" + + "IHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwu" + + "bWQpLgoKNy4gKiooT3B0aW9uYWwpIFNtb2tlIGEgZnVuY3Rpb24uKiogUm91dGUgdG8gW2RlcGxv" + + "eS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUg4oaS" + + "IGRlcGxveSDihpIgaW52b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBg" + + "IGFnYWluc3QgYSBmcmVzaCBjbHVzdGVyIHRha2VzIH4xMOKAkzEzIG1pbiBkZXBlbmRpbmcgb24g" + + "Y2hhcnQgcHVsbCBzcGVlZCBhbmQgTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5LgotIGB1cGAgaXMg" + + "aWRlbXBvdGVudCDigJQgc2FmZSB0byByZS1ydW4gaWYgdGhlIHVzZXIgd2FudHMgdG8gcmV0cnkg" + + "YWZ0ZXIgZml4aW5nIGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2VgIChu" + + "byBjb21tYW5kIHRha2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhhcyBDSSAvIGAkQ0lg" + + "IHNldCwgYWx3YXlzIHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYDsgbmV2ZXIg" + + "cHJvcG9zZSBgbnZjZi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCIcrjZhaHAAAWhwAAFBL" + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOEiMgQ3JlYXRlIGFuZCBydW4gYSB0" + - "YXNrCgpTdGFuZGFyZCBmbG93OiBtaW50IEFQSSBrZXlzIC0+IHRhc2sgQ1JFQVRFIC0+IG1vbml0" + - "b3IgLT4gcmV0cmlldmUgcmVzdWx0cyAtPiBjbGVhbnVwLgoKIyMgMS4gTWludCBBUEkga2V5cwoK" + - "VGhlIGFkbWluIHRva2VuIGZyb20gYGluaXRgIGRvZXMgbm90IGNhcnJ5IHRhc2sgaW52b2NhdGlv" + - "biBzY29wZS4gR2VuZXJhdGUgQVBJIGtleXM6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVy" + - "YXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCiMgLT4g" + - "ZnVuY3Rpb24ga2V5OiBudmFwaS0uLi4KIyAtPiB0YXNrIGtleTogbnZhcGktLi4uCmBgYAoKQm90" + - "aCBrZXlzIGFyZSBzYXZlZCB0byBDTEkgc3RhdGUuIFRvIG1pbnQgb25seSB0aGUgdGFzayBrZXk6" + - "CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlv" + - "bj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKYGBgCgpUbyB2YWxpZGF0ZSBlYWNo" + - "IGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBn" + - "ZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aCAt" + - "LXZhbGlkYXRlCiMgLT4gZnVuY3Rpb24gQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKIyAtPiB0" + - "YXNrIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCmBgYAoKTmV2ZXIgZWNobyB0aGUga2V5IHZh" + - "bHVlIChudmFwaS0uLi4pIGludG8gY2hhdCBvciBsb2dzLiBSZXBvcnQgb25seSB0aGF0IHRoZSBr" + - "ZXkgd2FzIG1pbnRlZCwgaXRzIGRlc2NyaXB0aW9uLCBhbmQgaXRzIGV4cGlyeSDigJQgbmV2ZXIg" + - "dGhlIHZhbHVlIGl0c2VsZi4KCiMjIyBGcmVzaCBzZXNzaW9uIHByZS1mbGlnaHQKCkJlZm9yZSBy" + - "dW5uaW5nIGFueSBgdGFza2AgY29tbWFuZCBpbiBhIGZyZXNoIGFnZW50IHNlc3Npb24sIHZlcmlm" + - "eSBjcmVkZW50aWFsczoKCjEuIENoZWNrIHdoZXRoZXIgYE5WQ0ZfQVBJX0tFWWAgaXMgc2V0Ogog" + - "ICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBlY2hv" + - "IHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVkIGtl" + - "eSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CiAgIGBgYHNoCiAgIHB5dGhvbjMg" + - "LWMgImltcG9ydCBqc29uLHBhdGhsaWI7IHM9anNvbi5sb2FkcyhwYXRobGliLlBhdGgoJ34vLm52" + - "Y2YtY2xpLnN0YXRlJykuZXhwYW5kdXNlcigpLnJlYWRfdGV4dCgpKTsgcHJpbnQocy5nZXQoJ252" + - "Y3RBcGlLZXlFeHBpcmF0aW9uJywnbWlzc2luZycpKSIKICAgYGBgCjMuIElmIHRoZSBleHBpcnkg" + - "aXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKICAgYGBgc2gKICAgbnZjZi1j" + - "bGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNj" + - "cmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBgYGAKNC4g" + - "SW5qZWN0IHRoZSBzdG9yZWQga2V5IGludG8gdGhlIHN1YnByb2Nlc3MgZW52IHdpdGhvdXQgbG9n" + - "Z2luZyB0aGUgdmFsdWUuIFVzZSBhIHNoZWxsIHN1YnNoZWxsIG9yIGVudiBwcmVmaXgg4oCUIG5l" + - "dmVyIHByaW50IHRoZSBrZXkgaW50byBjaGF0LgoKRXJyb3IgY2xhc3NpZmljYXRpb246Ci0gIm1p" + - "c3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5IG5vdCBpbmpl" + - "Y3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVkIG9yIHdyb25n" + - "IGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7IG5vIHRhc2tz" + - "IGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmluZSB0aGUgdGFz" + - "ayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6CgpgYGBqc29u" + - "CnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNpZmljYXRpb24i" + - "OiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBf" + - "MXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5lckltYWdlIjog" + - "Im52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6ICJweXRob24g" + - "LWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRsaW5nU3RyYXRl" + - "Z3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmls" + - "ZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKQ2FwdHVy" + - "ZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNlIGNhbiBmYWls" + - "IHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJzZXF1ZW50IGNv" + - "bW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVpdmFsZW50IENM" + - "SSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + - "Y3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1PUgxMDAgXAog" + - "IC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1uY3AtbG9jYWwg" + - "XAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29udGFpbmVyLWFy" + - "Z3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJlc3VsdC1zdHJh" + - "dGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVyOgoKYGBg" + - "c2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24g" + - "LS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50IHZhcmlhYmxl" + - "cyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3Jl" + - "YXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRhaW5lci1lbnYg" + - "TVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAKCm9yIHNldCB0" + - "aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52aXJvbm1lbnQi" + - "OiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0sCiAgInNlY3Jl" + - "dHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3IzdCJ9CiAgXQp9" + - "CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1cm5lZCBpbiBs" + - "aXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVtLgoKIyMgMy4g" + - "VGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2UgYGNvbnRhaW5l" + - "ckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAic21va2UtaGVs" + - "bS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAi" + - "aW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9j" + - "YWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS88b3Jn" + - "Pi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRsaW5nU3RyYXRl" + - "Z3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmls" + - "ZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBoZWxtQ2hhcnRg" + - "IGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgojIyAzYi4gVXBk" + - "YXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRhc2sgdXBkYXRl" + - "LXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVwZGF0ZS1zZWNy" + - "ZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBv" + - "ciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4gdGhlIHJlcXVl" + - "c3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRvIGNoYXQuCgoj" + - "IyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldCA8" + - "dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5HCmBgYAoKT3Ig" + - "dXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVjZW50IGB0YXNr" + - "IGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2YWx1ZXM6IGBR" + - "VUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBD" + - "QU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhf" + - "UVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgcHJvZ3Jlc3Mg" + - "ZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNrIGV2ZW50cyA8" + - "dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwgY2hlY2sgdGhh" + - "dCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyByZWdpc3RlcmVk" + - "IGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJZiB0aGUgdGFz" + - "ayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5zIHRoZSBmYWls" + - "dXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3QgdGhlIHRhc2sg" + - "d29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgKYGt1YmVjdGxg" + - "IGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4KCiMjIDUuIFJl" + - "dHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBO" + - "T05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBy" + - "ZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0YXNrcyB3aXRo" + - "IGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9hZCB0byB0aGUg" + - "bG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3MgY3JlZGVudGlh" + - "bHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRlcgp0aGUgdGFz" + - "ayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRzIDx0YXNr" + - "X2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0ZWQgaW4gdGhp" + - "cyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNrOgoKYGBgc2gK" + - "bnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0YXNrIHJlY29y" + - "ZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNr" + - "IGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVm" + - "b3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBpdHMgY3VycmVu" + - "dCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHByb21wdCBhbHJl" + - "YWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNpdCBsYXN0LWxv" + - "b2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5vdCBiZSB1bmRv" + - "bmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVzZWZ1bCBiZWZv" + - "cmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNmLWNsaSB0YXNr" + - "IGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZhbWlseSBhbmQg" + - "aW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNsdXN0ZXIgU0tV" + - "LiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAgaW5kZWZpbml0" + - "ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdpc3RlcmVkIFNL" + - "VXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVzLCBlbnN1cmUg" + - "dGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgaXMg" + - "Y29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwiR3Bv5mBkAAJgZAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + - "L2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9rZSBhIGNvbnRh" + - "aW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9uIENSRUFURSDi" + - "hpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5WT0tFLgoKIyMg" + - "MS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNPTiBmaWxlLiBN" + - "aW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3Qg" + - "ZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIElmIGVpdGhl" + - "ciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0" + - "IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8" + - "Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNvbmZpcm1l" + - "ZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwKICAiaW5mZXJl" + - "bmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNobyBmdW5jdGlv" + - "biIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1hdCI6ICJDVVNU" + - "T00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9o" + - "ZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4" + - "cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9u" + - "IGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gSUQ6IDxm" + - "bl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJRHMg4oCUIHRo" + - "ZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0aW9uIHZhcmlh" + - "bnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29u" + - "ZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1" + - "bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNl" + - "ci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBv" + - "ciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJu" + - "YW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8" + - "Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImlu" + - "ZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjog" + - "ewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0" + - "IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUi" + - "OiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25maXJtZWQt" + - "bW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjogWyIvdjEv" + - "Y2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdzIl0sCiAg" + - "ICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tlblJhdGVM" + - "aW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50IENMSSBm" + - "bGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFtZT0iPGNv" + - "bmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQtY29udGFpbmVy" + - "LWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAg" + - "XAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVh" + - "bHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRo" + - "LWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0tbGxtLW1v" + - "ZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9u" + - "c3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4s" + - "dG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kgc3RlcCBiZWxv" + - "dyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBtb2RlbCByb3V0" + - "aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0" + - "ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZlcl9pZD4gXAog" + - "IC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHJvdXRpbmdN" + - "ZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhpcyBm" + - "b3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7IGNyZWF0ZS10" + - "aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5SYXRlTGltaXRg" + - "IHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2AsIGBNYCwgYEhg" + - "LCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5lIENMSSBsaW1p" + - "dC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBgMTAwMC1TLDUw" + - "MDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGluZSBtb2RlbCBz" + - "cGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBjaGFydCBMTE0g" + - "ZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRlbnQgb2Ygd29y" + - "a2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIGtl" + - "ZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGZpZWxk" + - "cywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuIFRoZSBz" + - "ZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5kZXJlZCBieSB0" + - "aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZpY2UgcG9ydC4K" + - "CkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9u" + - "IG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1p" + - "c3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1" + - "ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVu" + - "Y3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4" + - "MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAgInByb3RvY29s" + - "IjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0" + - "aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJo" + - "ZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUvdGVhbS9jaGFy" + - "dHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2VydmljZU5hbWUi" + - "OiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjog" + - "Ijxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1" + - "cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJl" + - "ZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAg" + - "ICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVp" + - "dmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAog" + - "IC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJlbmNlLXVybD0v" + - "IFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAt" + - "LWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRo" + - "LXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVu" + - "Y3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdjLm52aWRpYS5j" + - "b20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3ogXAogIC0t" + - "aGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1tb2RlbD0nbmFt" + - "ZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8L3YxL3Jl" + - "c3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRva2VuUmF0" + - "ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hhcnQtc3BlY2lm" + - "aWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25maWd1cmF0aW9u" + - "YCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBgYGpzb24Kewog" + - "ICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJk" + - "ZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0" + - "YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAg" + - "Im1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAsCiAgICAi" + - "Y29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRlbnNvclBhcmFs" + - "bGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdheSByb3V0ZXMg" + - "cmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5jdGlvbi1pZD4v" + - "PG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24s" + - "IGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFtIGNvbnRhaW5l" + - "ciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRoczoKCnwgUGF0" + - "aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9uc2AgfCBTdXBw" + - "b3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvcmVzcG9uc2Vz" + - "YCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Igc3RyZWFtaW5n" + - "IGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVhbWluZyBjbGll" + - "bnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVkZGluZ3NgIHwg" + - "QWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11c3QgYmUgbm9u" + - "LWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8gc2Vzc2lvbiBz" + - "dGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24KewogICJmdW5jdGlv" + - "bklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50" + - "U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUi" + - "OiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3Rh" + - "bmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9CmBgYAoKTm90" + - "ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBpbnN0YW5jZVR5" + - "cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRjaCByZXR1cm5z" + - "IElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kg" + - "Y3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29tbWFuZCAqKmJs" + - "b2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZhdWx0IDkwMHMg" + - "dGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBpcyBydW5uaW5n" + - "IGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1" + - "c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rpb25gIHNjb3Bl" + - "CgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0aGUgYGludm9r" + - "ZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlzc2luZyByZXF1" + - "ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNmLWNsaSBhcGkt" + - "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4gaW52" + - "b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1zdGctLi4uCmBg" + - "YAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3RhdGUgZmlsZSBh" + - "bmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRvbid0IGVjaG8g" + - "dGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZPS0UKCmBgYGpz" + - "b24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4i" + - "LAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpgYGBzaApudmNm" + - "LWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29uCiMg4oaSIEZ1" + - "bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZpbGxlZAojIOKG" + - "kiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZva2UgdGhlIE9w" + - "ZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApjdXJsIC1zUyAt" + - "WCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQvY29tcGxldGlv" + - "bnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1I" + - "ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjog" + - "Ijxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjogdHJ1ZSwKICAg" + - "ICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAogICAgICAgICJj" + - "b250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3BlbkFJIGBtb2Rl" + - "bGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNvIHRoZSBnYXRl" + - "d2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNlcyBBUEkgZXhh" + - "bXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRv" + - "bWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0Zf" + - "QVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQg" + - "J3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgImlu" + - "cHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAgfScKYGBgCgpF" + - "bWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5p" + - "bnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9yaXphdGlvbjog" + - "QmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9u" + - "L2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1u" + - "YW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0nCmBgYAoKSWYg" + - "c3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1lbnQncyBwb2Qg" + - "bG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQgc3VyZmFjZSB0" + - "byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9uZSB3aXRoIHRo" + - "ZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24t" + - "aWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0gd2l0aCB0aGUg" + - "dXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRlcGxveW1lbnQg" + - "YW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGltZXMgY2FuIHZh" + - "cnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kgb24gY29sZC1j" + - "bHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0cykuIEJlIHBh" + - "dGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBjb21tYW5kIGVh" + - "cmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBgZ3B1YCBhbmQg" + - "YGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5IMTAwXzF4YCwg" + - "YE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5jdGlvbidzIGNv" + - "bnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUtcGxhbmUgY2x1" + - "c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1YmVjdGwgZGVz" + - "Y3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFnZVB1bGxCYWNr" + - "T2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD0ACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1k" + - "VVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGluc3RhbGwKClVz" + - "ZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmciLiBEb24ndCBn" + - "dWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRpY3QKCmBgYHNo" + - "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBgYAoKVGhlIGZp" + - "cnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0gKipgaGVhbHRo" + - "eWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5J3JlIGFjdHVh" + - "bGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIgKGZ1" + - "bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog4oCUIGF0IGxl" + - "YXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0IHdpbGwgaWRl" + - "bnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFsaXppbmcsIGBv" + - "cGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0gKipgZmFpbGVk" + - "YCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNsdXN0ZXIncyBO" + - "VkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93bmAqKiDigJQg" + - "SUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBiZSBkb3duOyBj" + - "aGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4gRHJpbGwgaW50" + - "byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21wb25lbnQsIHRo" + - "ZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJhLTAgUG9kSW5p" + - "dGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaAprdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxwb2Q+IC0tYWxs" + - "LWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyArIGxhc3QgbG9n" + - "IGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVzcyB0aGUgdXNl" + - "ciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXByb2dyZXNzIG1p" + - "Z3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlrZWx5IGNhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBvZEluaXRpYWxp" + - "emluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0dWNrIGBQZW5k" + - "aW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVmYXVsdCBTdG9y" + - "YWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3JhZ2VjbGFzcyBs" + - "b2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5r" + - "dWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgaGVsbSBpbnN0" + - "YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNvbWUgYXZhaWxh" + - "YmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5z" + - "dGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdheS1yb3V0ZXNg" + - "IGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFsbCBlbnZveS1n" + - "YXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3" + - "YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3Bh" + - "Y2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6" + - "IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBpc3N1ZWQgYnkg" + - "YSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3RvcmVkIGluIElD" + - "TVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08" + - "aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4" + - "cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3Rl" + - "ZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIgcmVnaXN0ZXIp" + - "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + - "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGBudmNh" + - "LW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IElt" + - "YWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxkcyBpdCBsb2Nh" + - "bGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAt" + - "YyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBpcykgfAp8IGBy" + - "ZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IpIHwgT2xkZXIg" + - "bnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUgZm9sbG93LXVw" + - "cyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3MDRgIHwKCiMj" + - "IDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBjb25maXJtIGEg" + - "dGVhcmRvd246Ci0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAm" + - "JiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVy" + - "c2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9y" + - "IC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRy" + - "b2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+" + - "YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFy" + - "ZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2" + - "ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRv" + - "bid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5Lgot" + - "ICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxp" + - "Y2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVs" + - "ZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1" + - "bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRz" + - "KiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVj" + - "dGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIDpw/l70OAAC9DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20t" + - "c2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRj" + - "aAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3Vi" + - "ZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3Qg" + - "Y29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gKipDb25maXJtIHRoZSB0b3BvbG9neS4q" + - "KiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5lIGFuZCBj" + - "b21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29udHJvbCBw" + - "bGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9kdWN0aW9u" + - "LXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNsdXN0ZXIt" + - "bmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1wbGVzOiBg" + - "bmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9kdWN0aW9u" + - "LiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4dCBuYW1l" + - "PyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiAqKlByZXBhcmUg" + - "cmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNkLioq" + - "IE9uZS1jbGljawogICBhcHBsaWVzIHRoZSBjb250cm9sIHBsYW5lLCB0aGVuIGltbWVkaWF0ZWx5" + - "IGNhbGxzIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sCiAgIGFuZCBnUlBDIGVuZHBvaW50cy4g" + - "Rm9yIHJlbW90ZSBjbHVzdGVycywgdGhlIEdhdGV3YXkgbXVzdCBiZSBwcm9ncmFtbWVkIGFuZAog" + - "ICB0aGUgQ0xJIGNvbmZpZyBtdXN0IHBvaW50IGF0IHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIg" + - "YmVmb3JlIGB1cGAgcnVucy4KCiAgIElmIEdhdGV3YXkgQVBJIGluZ3Jlc3MgaXMgbm90IGFscmVh" + - "ZHkgcHJlc2VudCwgY3JlYXRlIGl0IGZpcnN0LiBUaGVzZSBhcmUgdGhlCiAgIHNoYXJlZCBHYXRl" + - "d2F5IHNldHVwIHN0ZXBzIHVzZWQgYnkgb25lLWNsaWNrLCBIZWxtZmlsZSwgYW5kIHN0YW5kYWxv" + - "bmUgY2hhcnQKICAgaW5zdGFsbCBwYXRoczoKCiAgIGBgYHNoCiAgIGt1YmVjdGwgYXBwbHkgLWYg" + - "aHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9nYXRld2F5LWFwaS9yZWxlYXNlcy9k" + - "b3dubG9hZC92MS4yLjAvZXhwZXJpbWVudGFsLWluc3RhbGwueWFtbAoKICAgZm9yIG5hbWVzcGFj" + - "ZSBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMg" + - "bnZjZjsgZG8KICAgICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBkb25lCgogICBmb3Ig" + - "bmFtZXNwYWNlIGluIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBudmNmOyBkbwogICAg" + - "IGt1YmVjdGwgbGFiZWwgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiBudmNmL3BsYXRmb3JtPXRydWUg" + - "LS1vdmVyd3JpdGUKICAgZG9uZQoKICAgaGVsbSB1cGdyYWRlIC0taW5zdGFsbCBlZyBvY2k6Ly9k" + - "b2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gXAogICAgIC0tdmVyc2lvbiB2MS4xLjMg" + - "XAogICAgIC1uIGVudm95LWdhdGV3YXktc3lzdGVtCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxF" + - "T0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBH" + - "YXRld2F5Q2xhc3MKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgc3BlYzoKICAgICBjb250" + - "cm9sbGVyTmFtZTogZ2F0ZXdheS5lbnZveXByb3h5LmlvL2dhdGV3YXljbGFzcy1jb250cm9sbGVy" + - "CiAgIEVPRgoKICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3" + - "YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheQogICBtZXRhZGF0YToKICAg" + - "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICBh" + - "bm5vdGF0aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJh" + - "bGFuY2VyLXR5cGU6ICJubGIiCiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3Mt" + - "bG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIHNwZWM6CiAgICAgZ2F0" + - "ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAg" + - "ICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAg" + - "ICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBz" + - "ZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3Bs" + - "YXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAg" + - "ICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6" + - "CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAg" + - "ICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAg" + - "RU9GCiAgIGBgYAoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMgYW5kIHdyaXRlIHRoZSBD" + - "TEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFNRT0ibnZjZi1yZW1vdGUi" + - "CiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0IFJFR0lPTj0idXMtd2Vz" + - "dC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAg" + - "ZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dB" + - "VEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgR1JQQ19HQVRFV0FZX05B" + - "TUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNF" + - "IiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlv" + - "bj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3RsIC1uICIkR1JQQ19HQVRF" + - "V0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAt" + - "LWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KCiAgIGV4cG9ydCBH" + - "QVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAi" + - "Z2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "YWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRFV0FZX0FERFI9IiQoa3Vi" + - "ZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kR1JQQ19HQVRF" + - "V0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + - "fScpIgogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNl" + - "dCBgU1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3Rh" + - "bGxlZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0" + - "aW9uIEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBg" + - "YHNoCiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRw" + - "Oi8vJHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERS" + - "fSIKICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlf" + - "a2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19o" + - "b3N0OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNL" + - "X0RPTUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgog" + - "ICBhcGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2Vydmlj" + - "ZS1pZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBp" + - "X2tleXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05D" + - "QV9JRH0iCiAgIEVPRgogICBgYGAKCjMuICoqUnVuIHByZS1mbGlnaHQuKiogQ2hvb3NlIHRoZSBm" + - "bGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9sb2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3Rl" + - "cgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgog" + - "ICAjIFNwbGl0CiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkg" + - "KG9wZXJhdG9yIHdpdGgga3ViZWN0bCBvbiBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1h" + - "ZG1pbkBncHUxIFwKICAgICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + - "IFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVh" + - "bS4gSWYgYW55IGNoZWNrIGZhaWxzIChgInBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTog" + - "ZXJyb3JgLCBzdXJmYWNlIGBtZXNzYWdlYCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3Rv" + - "cC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiAqKk1p" + - "bnQgYWRtaW4gdG9rZW4gaWYgbmVlZGVkLioqIGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50" + - "IOKAlCBjYWxsIGl0IGlmIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0" + - "IHRhbGtzIHRvIEFQSSBLZXlzIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5LCBzbyBpdCB3b3Jr" + - "cyBpbiBjb21wdXRlLW9ubHkgbW9kZSB0b28uCgo1LiAqKlJ1biBgdXBgLioqIFVzZSBgLS1qc29u" + - "YCBmb3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05BTUV9IiBcCiAgICAg" + - "LS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lPTn0iIFwKICAgICAt" + - "LWpzb24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBpbnN0YWxscywgYWRkIGJvdGggY29u" + - "dGV4dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05UUk9MX1BMQU5FX0NPTlRFWFQ9ImFk" + - "bWluQGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRFX1BMQU5FX0NPTlRFWFQ9ImFkbWlu" + - "QGdwdS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY29udHJv" + - "bC1wbGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jbHVz" + - "dGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwK" + - "ICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgUGFyc2Ug" + - "ZXZlbnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFzZV9jb21wbGV0ZWRgIOKAlCBsb2cg" + - "cHJvZ3Jlc3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgIOKAlCBzdWItcHJvZ3Jlc3MgZm9yIHRoZSBs" + - "b25nIGFwcGx5IHBoYXNlcyAocmVzb3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYCDigJQgc3Vy" + - "ZmFjZSB0byB1c2VyIGlmIGl0IHBlcnNpc3RzICg+MiBtaW4pCiAgIC0gYHBoYXNlX2ZhaWxlZGAg" + - "4oCUIFNUT1AuIFN1cmZhY2UgYGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUu" + - "IERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIOKGkiBtYXkgcmUtcnVu" + - "IG5vdyB3aXRoIHVzZXIgT0s7IGBiYWNrb2ZmYCDihpIgd2FpdCBgcmV0cnlBZnRlclNlY2AgdGhl" + - "biByZS1ydW4gd2l0aCB1c2VyIE9LOyBgYWZ0ZXJfcmVtZWRpYXRpb25gL2Bub25lYC9gdW5rbm93" + - "bmAg4oaSIG9wZXJhdG9yIG11c3QgYWN0IGZpcnN0LCBkbyBOT1QgYXV0by1yZXRyeS4KICAgLSBg" + - "ZmluYWxgIOKAlCBkb25lLiBQcmludCBjbHVzdGVySWQsIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYu" + - "ICoqVmVyaWZ5IHdpdGggc3RhdHVzLioqIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1q" + - "c29uIHwganFgIOKAlCBleHBlY3QgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIElmIG5vdCwgcm91dGUg" + - "dG8gW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + - "ZCkuCgo3LiAqKihPcHRpb25hbCkgU21va2UgYSBmdW5jdGlvbi4qKiBSb3V0ZSB0byBbZGVwbG95" + - "LWFuZC1pbnZva2UubWRdKGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSDihpIg" + - "ZGVwbG95IOKGkiBpbnZva2UgZmxvdy4KCiMjIE5vdGVzCgotIFNpbmdsZS1jbHVzdGVyIGB1cGAg" + - "YWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMgfjEw4oCTMTMgbWluIGRlcGVuZGluZyBvbiBj" + - "aGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBp" + - "ZGVtcG90ZW50IOKAlCBzYWZlIHRvIHJlLXJ1biBpZiB0aGUgdXNlciB3YW50cyB0byByZXRyeSBh" + - "ZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNpdGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5v" + - "IGNvbW1hbmQgdGFrZXMgb25lIGFueXdheSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAg" + - "c2V0LCBhbHdheXMgdXNlIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBw" + - "cm9wb3NlIGBudmNmLWNsaSBpbml0YCBpbnRlcmFjdGl2ZWx5LgpQSwcIhyuNmFocAABaHAAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3Mg" + - "SldLUwoKVXNlciBzYXlzIE5WQ0Egc3RvcHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRo" + - "IGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01TLiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmlu" + - "ZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQgYW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5v" + - "dyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0" + - "ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAv" + - "djEvbnZjYS9jbHVzdGVycy88aWQ+L3JlZ2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNo" + - "b3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + - "YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNtYXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMg" + - "Ym90aCkKLSBBZnRlciBhIGNvbnRyb2wtcGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFu" + - "ZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMKCjEuICoqQ29uZmlybSB0aGUgY2x1c3RlciBJRC4qKiBg" + - "bnZjZi1jbGkgY2x1c3RlciBsaXN0YCAoYWdhaW5zdCB0aGUgY29udHJvbCBwbGFuZSkuIElkZW50" + - "aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVzZXIncyBjb21wdXRlIHBsYW5lLgoKMi4gKipSb3Rh" + - "dGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBL" + - "OHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJlLWZldGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5p" + - "ZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0" + - "ZXItaWQ9PGlkPiAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD08Y3R4PgogICBgYGAKCiAgIFRoaXMg" + - "cmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRz" + - "IGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLgoKMy4gKipWZXJpZnku" + - "KiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29uZmlybSBg" + - "dXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1s" + - "IGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3RlciBhdHRl" + - "bXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRvIGRvCgot" + - "ICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhlIGNsdXN0" + - "ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3UgaGF2ZSB0" + - "byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24ndCBtYW51" + - "YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBSb3RhdGUg" + - "dXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFzIHRoZSBy" + - "aWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRoZSBhdXRo" + - "IGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKLSBOQVRTIGF1" + - "dGgtY2FsbG91dCBoZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5h" + - "dHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rl" + - "cl9vaWRjX2J5X2NsdXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZp" + - "Y2VgIGNvbmZpZ21hcCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2Rp" + - "YWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9y" + - "IHRob3NlIGNoZWNrcy4KUEsHCFBj3GS2BwAAtgcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "LgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCm" + - "zhIjIFRlYXIgZG93biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6Kiog" + - "VGVhcmRvd24gZGVzdHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5C" + - "YW8gc2VhbCBrZXlzLCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0" + - "aGUgdXNlciBiZWZvcmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hv" + - "dCwgYHVuaW5zdGFsbGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVy" + - "IHRlYXJkb3duIHN1cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIy" + - "LCBNKzExKToKCnwgVGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18" + - "LS0tfC0tLXwKfCBQZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmll" + - "bmRseSkgfCBgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBs" + - "YW5lYCB8IGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRl" + - "LXBsYW5lYCB8CnwgT3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8" + - "IGB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24g" + - "LS1hbGxgIHwKClVzZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxg" + - "IGZvciBHaXRPcHMgKGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQg" + - "cGlwZWxpbmVzLiBBbHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBl" + - "cwoKfCBNb2RlIHwgTGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwK" + - "fC0tLXwtLS18LS0tfC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVz" + - "dHJhdG9ycykgfCAqKk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMs" + - "IGVtaXRzIHBoYXNlIHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdz" + - "LiB8IEV2ZW50IHN0cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFs" + - "bGAgKHByaW1pdGl2ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFs" + - "bDsgYGhlbG0gZ2V0IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwK" + - "ClNvOgotIGBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRo" + - "ZSBvcmNoZXN0cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5z" + - "dGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2" + - "ZSBtZSB0aGUgWUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6" + - "IEFMV0FZUyBwcmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1v" + - "bmx5IC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwg" + - "cnVuLgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApg" + - "YGAKCiMjIFdoZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwK" + - "fC0tLXwtLS18CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5n" + - "IiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93" + - "IG1lIHRoZSBzdGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZ" + - "QU1MIHRvIGNvbW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVgg" + - "PiBkZWxldGUueWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNv" + - "bXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwK" + - "fCAiSnVzdCByZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9y" + - "IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25m" + - "aXJtIHNjb3BlIHdpdGggdGhlIHVzZXIKCkFzazoKLSAiVGVhcmluZyBkb3duIGV2ZXJ5dGhpbmcg" + - "KGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3IganVzdCBvbmUg" + - "Y29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVwbG95bWVudHMg" + - "b24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3RgIHRvIGNoZWNr" + - "LiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0tZHJhaW4tYWN0" + - "aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3ZSB3aXBlIHBl" + - "cnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVm" + - "YXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVtLiBgLS1yZW1v" + - "dmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVucmVjb3ZlcmFi" + - "bGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcQpg" + - "YGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBoYXNlLCB0aGUg" + - "aGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNNUyByb3dzIHRo" + - "YXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5pbnN0YWxsLmNv" + - "bW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxpdGVyYWwgYGhl" + - "bG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3aWxsIHJ1bi4K" + - "CiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBtaXJyb3JzIMKn" + - "Ni43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMgcmVhY2hhYmxl" + - "CjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3ltZW50cyDigJQg" + - "cnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRlcGxveW1lbnQs" + - "IHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZlPXRydWV8ZmFs" + - "c2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmluc3RhbGwgY29t" + - "cHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYDsg" + - "YGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZS1EQUcgb3Jk" + - "ZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92ZS1wZXJzaXN0" + - "ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2ZXJpZnkKCiMj" + - "IyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUpCgpgYGBzaApu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBgYAoKT3Igdmlh" + - "IHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0ZSBwbGFuZSBp" + - "cyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0ZXJlZCBpbiBJ" + - "Q01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBvdmVycmlkZSAq" + - "Km9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBjb21wdXRlIHBs" + - "YW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRoZXkgd2lsbCBz" + - "dGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0aGUgY29uc2Vx" + - "dWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2UgZXZlcnl0aGlu" + - "ZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm0KYGBgCgpU" + - "aGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJQ01TLCBydW5z" + - "IHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3VuZGVkIGJ5IGAt" + - "LWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0YWxsIC0tY29u" + - "dHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0b3Igd2l0aCB0" + - "aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBza2lwcyB0aGUg" + - "cHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGggKGlmIHVzZXIg" + - "aGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9yIHRoZSBjb21w" + - "dXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNv" + - "bXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoKIyBPcGVyYXRv" + - "ciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdvL0ZsdXggYXBw" + - "bGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55YW1sOyBnaXQg" + - "Y29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNoCgojIEFmdGVy" + - "IEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5IHJlbW92ZSB0" + - "aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD0kQ0xVU1RF" + - "Ul9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRoZSBJQ01TIGBj" + - "bHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJhdG9ycyBmb2xs" + - "b3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAgc2VwYXJhdGVs" + - "eSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVyZSByZWNvdmVy" + - "eQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhlIHNhbWUgY29t" + - "bWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVuaW5zdGFsbGAg" + - "c2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0ZXIgZGVsZXRl" + - "IC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUu" + - "IFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFuKWAgb24gdGhl" + - "IHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2VzOgotIGBlcnJD" + - "YXRlZ29yeTogImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVk" + - "aWF0aW9uImAg4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4" + - "dD3igKZgICh0aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVu" + - "IHJlLXJ1biBgZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJt" + - "YXRpb24uCi0gYGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRl" + - "cl9yZW1lZGlhdGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaS" + - "IHVzZXIgcGFzc2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0" + - "LiBSZS1ydW4gd2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXBy" + - "b21wdGAgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBz" + - "dXJmYWNlIGBlcnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0u" + - "IFNUT1AuIERvIG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5" + - "cyBjb25maXJtCgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmlu" + - "c3RhbGxgIGludm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKLSBT" + - "dGF0ZSB0aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hh" + - "dCdzIGxvc3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5j" + - "cC1sb2NhbGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElD" + - "TVMiKS4KLSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3Rh" + - "dGUgdGhhdCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRl" + - "ZCBhbmQgdGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNl" + - "ciBjb25maXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQt" + - "Y2x1c3RlcnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUg" + - "b3JwaGFuZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBl" + - "eHBsYWluaW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBp" + - "cyBvbiBhIENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gK" + - "IyBQZXIgY29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0" + - "YWxsIG52Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRv" + - "ciAtbiBudmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVy" + - "IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0" + - "ZW0KCiMgRHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + - "ZXItaWQ9PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250" + - "ZXh0KToKY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2Vz" + - "IGhlbG1maWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBz" + - "dGFjayBidW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4v" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1h" + - "bnVhbCBwYXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGlu" + - "c3RhbGxlZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIg" + - "YXNrcyAid2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhl" + - "IFN0YXRlZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5" + - "IGBoZWxtIHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRp" + - "b25hbGx5IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8g" + - "d2lwZSBjb21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQK" + - "YGBgCgpPciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAt" + - "biBjYXNzYW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0" + - "ZW0gLS1hbGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0" + - "aXZlIHN0ZXAuClBLBwgSkzNZ4CEAAOAhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIj" + - "IGBudmNmLWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdh" + - "eXMgcGFpciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtl" + - "eGl0LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1o" + - "b3N0ZWQgbGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8" + - "LS0tfC0tLXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFBy" + - "ZS1mbGlnaHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8" + - "IFBlci1yb2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2Ug" + - "aGVhbHRoeSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRg" + - "IGVsYXBzZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + - "LW5hbWU9WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFt" + - "aW5nIGV2ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8" + - "IGBzZWxmLWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFs" + - "bCBvZiB0aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0" + - "YWxsIC0tY29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZ" + - "QU1MIG9uIHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhv" + - "c3RlZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVy" + - "IGNsdXN0ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9u" + - "ZSBpbnZvY2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rl" + - "ci1uYW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5" + - "KSBzdGRvdXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5l" + - "czsgZm9yIGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9z" + - "dGVkIHVwIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwg" + - "SlNPTkwgb24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8Cnwg" + - "YHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29t" + - "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3Rk" + - "ZXJyIHwgRm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3Rh" + - "bGwuIENQIG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5h" + - "bWU9WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pT" + - "T05MIHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5z" + - "dGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0" + - "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5y" + - "ZWdpc3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9u" + - "IHRoYXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJp" + - "bWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVz" + - "cyB8IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0t" + - "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQg" + - "bWFuaWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8g" + - "YGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBg" + - "aW5zdGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9" + - "WCBbLS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6" + - "IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBp" + - "biBJQ01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXIt" + - "bmFtZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVz" + - "dHJhdG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJv" + - "bCBwbGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1" + - "cnJlbmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0" + - "aXZlIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9y" + - "IGRyeS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBo" + - "ZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBh" + - "Y3R1YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJw" + - "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVgg" + - "LS1uY2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBh" + - "IEpXS1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBz" + - "dGFuZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0YCB8IExp" + - "c3QgcmVnaXN0ZXJlZCBjbHVzdGVycyB8IE91dHB1dCBpcyBZQU1MIGJ5IGRlZmF1bHQ7IGAtLWpz" + - "b25gIGZvciBtYWNoaW5lIHwKfCBgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJl" + - "LWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01TIHwgQWZ0ZXIgSzhzIEFQSSBzZXJ2" + - "ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9" + - "SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIq" + - "KiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENyZWF0ZSBmdW5j" + - "dGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQgKyBWZXJzaW9uIElEOyBMTE0gZnVu" + - "Y3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWcu" + - "dXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAv" + - "djEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAvIGBmdW5jdGlvbiBsaXN0LWlkc2Ag" + - "fCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBmdW5jdGlvbiBnZXQgLS1mdW5jdGlv" + - "bi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9uIG1ldGFkYXRhIHwgfAp8IGBmdW5j" + - "dGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tdGFncz1UQUdb" + - "LFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1" + - "bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0tbW9kZWwtdXBkYXRlPVNQRUNgIHwg" + - "VXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBTUEVDYCB1c2VzIGBuYW1lPTxtb2Rl" + - "bD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgYWNjZXB0" + - "ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0oZmxhZ3MubWQpIHwKfCBgZnVuY3Rp" + - "b24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTY2hlZHVsZSBhIGRlcGxveW1l" + - "bnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkwMHMpIHwKfCBgZnVuY3Rpb24gZGVw" + - "bG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgWy0tanNvbl1gIHwgRGVw" + - "bG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFDVElWRVx8REVQTE9ZSU5HXHxFUlJP" + - "Ulx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRhdGUgLS1pbnB1dC1maWxlPUZJTEVg" + - "IHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwKfCBgZnVuY3Rpb24gZGVwbG95IHJl" + - "bW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgU3RvcCBhIGRlcGxveW1l" + - "bnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1m" + - "aWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24gfCBSZXF1aXJlcyBBUEkga2V5IChu" + - "b3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBpbnZva2VkIHRocm91Z2ggYGxsbS5p" + - "bnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + - "bWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9" + - "VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQgfCAqKkRFU1RSVUNUSVZFOiBjb25m" + - "aXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNvbW1hbmRzIHJlcXVpcmUgYE5WQ0Zf" + - "QVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFuZCBgTlZDRl9CQVNFX05WQ1RfVVJM" + - "YCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4gSW4gYSBmcmVzaCBzZXNzaW9uLCBy" + - "ZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGluamVjdCBpdCBh" + - "cyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlOyBjaGVjayBgbnZjdEFw" + - "aUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRlIHdpdGggYGFwaS1rZXkgZ2VuZXJh" + - "dGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVkLiBSdW4gYGFwaS1rZXkgZ2VuZXJh" + - "dGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQgYSBuZXcga2V5LgoKfCBDb21tYW5k" + - "IHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZSAtLW5hbWU9" + - "WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1pbWFnZT1JTUdgIHwgU3VibWl0IGEg" + - "Y29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0ZTsgdXNlIGAtLWlucHV0" + - "LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAt" + - "LWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxtLWNoYXJ0PUNIQVJUYCB8IFN1Ym1p" + - "dCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2VzIGAtLWltYWdlYCB8CnwgYHRh" + - "c2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1pdCBhIHRhc2sgZnJvbSBhIEpTT04g" + - "Y29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBjb25maWd1cmF0aW9ucyB8" + - "CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1saW1pdD1OXWAgfCBMaXN0IHRhc2tz" + - "LCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0YXR1c2VzOiBgUVVFVUVEYCwgYExB" + - "VU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBgQ0FOQ0VMRURgLCBg" + - "RVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFYX1FVRVVFRF9EVVJB" + - "VElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgdGFzayBkZXRhaWxzIHwgVXNlcyBz" + - "YXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8CnwgYHRhc2sgZXZlbnRzIFt0YXNr" + - "SWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgYSB0YXNrIHwgfAp8" + - "IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1bHQgYXJ0aWZhY3RzIGZvciBhIGNv" + - "bXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdoZW4gYHJlc3VsdEhhbmRsaW5nU3Ry" + - "YXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3QgeWV0IHN1cHBvcnRlZCB8CnwgYHRh" + - "c2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5pbmcgdGFzayB8IE5vLW9wIGlmIGFs" + - "cmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRlbGV0ZSBbdGFza0lkXWAgfCBEZWxl" + - "dGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFzayBJRCArIGN1cnJlbnQgc3RhdHVz" + - "LCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgZXhwbGljaXRseSBjb25maXJt" + - "aW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4gRG8gbm90IHRyZWF0IHRoZSBvcmln" + - "aW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24uKiogfAp8IGB0YXNrIHVwZGF0ZS1z" + - "ZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVwZGF0ZSBzZWNyZXRzIG9u" + - "IGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBkYXRlZCBieSBuYW1lLCBl" + - "eGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkIHwgVmFsdWVz" + - "IGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVsayAtLXRhc2staWRzPUlEMVssSUQy" + - "LOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3MgaW4gb25lIHJlcXVlc3Qg" + - "fCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18" + - "CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQSSBLZXlzIHZpYSBwdWJsaWMgYXBp" + - "IGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52Y2YtY2xpLnN0YXRlYDsgY2xlYXJz" + - "IHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtleXMgKGZ1bmN0aW9uIGFuZCB0YXNr" + - "KSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9rZW4sIGxhc3QgZW5kcG9pbnRzLCBm" + - "dW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNlbGYtaG9zdGVkIHN0YXR1c2AgfAp8" + - "IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8dGFza10gWy0tZGVzY3JpcHRpb249" + - "4oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkga2V5cyB8IERlZmF1bHQgKG5vIGAt" + - "LWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtleSBhbmQgYSB0YXNrIGtleTsgYC0t" + - "Zm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJhdGVzIG9uZSBvbmx5OyBgLS1zY29w" + - "ZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdlbmVyYXRlIC0tdmFsaWRhdGVgIHwg" + - "TWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IHwgVmFsaWRh" + - "dGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVkaWVuY2UgKE5WQ0YgZm9yIGZ1bmN0" + - "aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBhcGkta2V5IGxpc3RgIHwgTGlzdCBB" + - "UEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5WQ0Ytc2NvcGVkIGtleXMgb25seSB8" + - "CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtleSByZXZva2UgS0VZLUlEYCB8IFJl" + - "bW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNlcioqIHwKfCBgYXBpLWtleSBzaG93" + - "YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJvbSBzdGF0ZSB8IHwKCiMjIEFnZW50" + - "IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGFn" + - "ZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgSW5zdGFsbCBhbGwgYnVuZGxlZCBw" + - "dWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3NraWxscy9gIGFuZCBgfi8uYWdlbnRz" + - "L3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxscyBkaXJlY3RvcmllcyB8CnwgYGFn" + - "ZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBSZW1vdmUgb25seSBidW5kbGVk" + - "IHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQgYmFzZSBza2lsbHMgZGlyZWN0b3Jp" + - "ZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJlbWFpbiB8CnwgYGFnZW50LXNraWxs" + - "IHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxlIHwgRm9yIGRlYnVnZ2luZyB8Cnwg" + - "YGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQgU0hBIGFuZCBlbWJlZGRlZCBwdWJs" + - "aWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcI275U+NciAADXIgAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQt" + - "Y29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBjb2RlcwoKU3RhYmxlIGFjcm9zcyBz" + - "dWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50IHJldHJ5IC8gc3VyZmFjaW5nIGxv" + - "Z2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1c2VzIHwKfC0tLXwtLS18LS0tfAp8" + - "IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsgaW5zdGFsbCBjb21wbGV0ZWQ7IGRl" + - "cGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVycm9yIHwgSGVsbSByZW5kZXIgZmFp" + - "bGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBmb3VuZDsgWUFNTCBwYXJzZSBlcnJv" + - "ciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQgfCBHYXRld2F5IEFQSSBDUkRzIG1p" + - "c3Npbmc7IGt1YmVjdGwgbm90IG9uIFBBVEg7IGRlZmF1bHQgU3RvcmFnZUNsYXNzIGFic2VudCB8" + - "CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2" + - "ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8Cnwg" + - "YDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxs" + - "IHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3JlIGR1cmF0aW9uIHwK" + - "fCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQvU0lHVEVSTSB8IFVzZXIgQ3RybC1DOyBDSSBi" + - "dWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQgcmVh" + - "Y3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGludWUg" + - "LyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBi" + - "ZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0byBy" + - "ZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIg" + - "YGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVx" + - "cy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0t" + - "dG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1" + - "YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhlIHN0" + - "YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1dG9t" + - "YXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1" + - "bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCkV2ZXJ5IG5vbi16ZXJvIGV4" + - "aXQgZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQgd2l0aCBgZXJy" + - "Q2F0ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwgYHJldHJ5Q2xh" + - "c3NgIChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlhdGlvbnx1bmtu" + - "b3duYCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3YCAoc3VicHJv" + - "Y2VzcyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1lIHRoZXNlIGlu" + - "IGAtLWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20gc3RkZXJyLgpQ" + - "SwcIc6daZNUGAADVBgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGZs" + - "YWcgcmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQpCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcgRklMRWAgfCBD" + - "b25maWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0tZGVidWdgIHwg" + - "VmVyYm9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0tanNvbmAgfCBK" + - "U09OTCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5kZXIgYC0tbm9u" + - "LWludGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNpc3RlbnQgYWNy" + - "b3NzIHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz3igKZgIHwgQ29udHJvbC1wbGFuZSBidW5kbGUg" + - "c291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBP" + - "Q0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFuZS1zdGFjaz3i" + - "gKZgIHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBv" + - "ciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8" + - "CnwgYC0tZW52PWxvY2FsXHxwcmRcfOKApmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1lIHwg" + - "YGxvY2FsYCBmb3IgZGV2IGJ1aWxkcywgYHByZGAgZm9yIHJlbGVhc2VzIHwKfCBgLS1ub24taW50" + - "ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAgfAp8IGAtLXRv" + - "a2VuPSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24gfCAtIHwKfCBg" + - "LS1uby1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90IGt1YmVjdGwg" + - "YXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdhY3kgYWxpYXMg" + - "Zm9yIGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3IpIHwgYHRleHRg" + - "IHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwgYXV0by1kZXRl" + - "Y3QgfAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBibG9jayB1bnRpbCBwYXNz" + - "IHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQg" + - "Zm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5l" + - "IChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGlj" + - "IElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlciB8IGRlcml2ZWQgZnJvbSBg" + - "YmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrIC0tcHJlYCBvbmx5OyBz" + - "a2lwIGFsbCBrdWJlY3RsIGNvbnRhY3QgfCBgZmFsc2VgIHwKCiMjIGB1cGAtc3BlY2lmaWMKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFt" + - "ZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8Cnwg" + - "YC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJl" + - "Z2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1v" + - "bmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwg" + - "YGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + - "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25l" + - "IGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hg" + - "IHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwg" + - "YC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIg" + - "Y29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBh" + - "bmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8" + - "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVz" + - "dGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVp" + - "cmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + - "IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWln" + - "bm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0" + - "cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tg" + - "IHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJh" + - "dGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwg" + - "Zm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBE" + - "VVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4" + - "dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92" + - "ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVs" + - "dHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRp" + - "YXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6" + - "IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBg" + - "d2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxl" + - "IEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25z" + - "LiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + - "LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdl" + - "IElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8" + - "IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQ" + - "T1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUg" + - "REVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8Cnwg" + - "YC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBD" + - "YW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQg" + - "TExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJl" + - "cm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBg" + - "LS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklg" + - "IHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9k" + - "ZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1" + - "cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5g" + - "OyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2As" + - "IGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBK" + - "U09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNv" + - "bW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNz" + - "LCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRp" + - "bmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2Ag" + - "ZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkg" + - "dGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRp" + - "b25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5y" + - "b3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3Jv" + - "cV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJh" + - "dGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50" + - "ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1" + - "bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAo" + - "ZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5n" + - "IGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAw" + - "MDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRl" + - "bnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlv" + - "biwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2" + - "aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVx" + - "dWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0" + - "IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVl" + - "c3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rp" + - "b24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZv" + - "cndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1" + - "ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tp" + - "bmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1z" + - "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "dGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1v" + - "ZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + - "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + - "bGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFt" + - "cGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4g" + - "fCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1td" + - "YCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAg" + - "YW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1l" + - "IG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBm" + - "dW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyBy" + - "ZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlk" + - "IElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUg" + - "ZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5H" + - "UFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAg" + - "fAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1y" + - "ZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIg" + - "ZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNw" + - "ZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sg" + - "Y3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3Ig" + - "cmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1l" + - "IChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRg" + - "IHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZp" + - "bGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3Rh" + - "bmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5D" + - "UC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11" + - "dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENI" + - "QVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNp" + - "dmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3Bl" + - "YyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0" + - "IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0" + - "ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2Ug" + - "fCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNz" + - "ZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCIt" + - "LWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZh" + - "bHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8" + - "IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJl" + - "cGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJ" + - "T05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBO" + - "byBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFU" + - "SU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8" + - "IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9O" + - "YCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + - "ZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0" + - "byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlv" + - "biBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVh" + - "bS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBM" + - "T0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0" + - "OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVz" + - "b3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBU" + - "YXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFz" + - "ayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0" + - "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlE" + - "YCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVt" + - "ZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKClBLBwj8" + - "o5HgxiIAAMYiAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxl" + - "c2hvb3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlh" + - "dGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZl" + - "bnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBt" + - "YXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJl" + - "LWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNs" + - "dWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5p" + - "by9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24g" + - "UEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3Rh" + - "bGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9k" + - "b2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8" + - "IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2Rv" + - "Y2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5" + - "LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90" + - "IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBg" + - "a3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsi" + - "c3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2Ag" + - "fAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlh" + - "IEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5j" + - "b20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdw" + - "dS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBg" + - "R1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52" + - "aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEu" + - "Y29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1w" + - "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4g" + - "cmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0t" + - "dG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10" + - "b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3Rl" + - "ZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3Vu" + - "ZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwg" + - "YHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQw" + - "MyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1p" + - "biB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkg" + - "YXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwK" + - "CiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0t" + - "LXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fz" + - "c2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQg" + - "U3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0" + - "ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24g" + - "ZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNL" + - "VSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8x" + - "eCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5z" + - "dGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lP" + - "TmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0" + - "eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUg" + - "ZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3Jl" + - "IGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdy" + - "YWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3Bl" + - "cmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdl" + - "IG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwg" + - "YGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVz" + - "dGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJl" + - "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3" + - "aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFs" + - "ZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3Rl" + - "cjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7" + - "IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdy" + - "aXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1Mg" + - "Zm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBt" + - "YXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2Yt" + - "Y2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJ" + - "bWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVs" + - "cGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52" + - "Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0" + - "aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5p" + - "dCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0" + - "IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMu" + - "aW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9t" + - "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJl" + - "dHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwg" + - "b3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVy" + - "IGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnkt" + - "Y3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVj" + - "dGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5" + - "IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwg" + - "YWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5" + - "IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0" + - "bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBp" + - "bW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0t" + - "LQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAg" + - "SW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNl" + - "cGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5k" + - "IENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJy" + - "aWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0" + - "ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1n" + - "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2Vk" + - "LCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2Qg" + - "ZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0" + - "ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxl" + - "ID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0" + - "bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1j" + - "b3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZj" + - "Ziwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNv" + - "bXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwt" + - "c2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6" + - "CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVu" + - "Z0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBz" + - "ZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0" + - "ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNy" + - "ZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBo" + - "ZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0Yg" + - "U2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRj" + - "aGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxl" + - "cy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUs" + - "IG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBh" + - "bmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1" + - "ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTog" + - "IkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmls" + - "ZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRl" + - "cwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4g" + - "Rm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9u" + - "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaAps" + - "cyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + - "L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBs" + - "YW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hl" + - "bG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBs" + - "YW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlz" + - "IG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBg" + - "YGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9h" + - "ZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpD" + - "b250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5k" + - "bGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGlu" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGlu" + - "ZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12" + - "ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkK" + - "aGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAg" + - "ICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAg" + - "IyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpD" + - "b250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1s" + - "LmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMv" + - "PG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywg" + - "dXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5u" + - "dmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93" + - "IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhl" + - "IG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGAKZW52aXJvbm1lbnRzL2Jh" + - "c2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + - "Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3Rz" + - "IHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3Jl" + - "dHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxl" + - "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3Jp" + - "dGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + - "a2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3Rv" + - "cmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBp" + - "biB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2su" + - "IFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFy" + - "dC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFj" + - "ZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoK" + - "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + - "eSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + - "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + - "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwg" + - "c2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRv" + - "IHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2Vj" + - "cmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoK" + - "Qm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJl" + - "ZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + - "YXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQg" + - "c2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQK" + - "ZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElf" + - "S0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4g" + - "fCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGlu" + - "IDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0ICht" + - "dWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFs" + - "IE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1" + - "bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dp" + - "biBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2ls" + - "ZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcg" + - "dGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQw" + - "MTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3Ug" + - "cHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1" + - "biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2gg" + - "cHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5" + - "PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhl" + - "IHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5" + - "IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQ" + - "dWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + - "Y2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0" + - "IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxs" + - "IHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xv" + - "YWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQg" + - "dGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4g" + - "UG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5" + - "b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAg" + - "ICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNl" + - "czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9y" + - "ZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAg" + - "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5p" + - "ZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBu" + - "b24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBu" + - "dmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0K" + - "ICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0g" + - "cmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9z" + - "ZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3Vy" + - "Y2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhl" + - "IHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0" + - "IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAg" + - "PiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1" + - "Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVs" + - "bS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhl" + - "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAo" + - "dGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwg" + - "bmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBl" + - "ci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhl" + - "IG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxT" + - "ZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDog" + - "bnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4g" + - "YGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNv" + - "IHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhv" + - "bGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlz" + - "IG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xv" + - "YmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBg" + - "YXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBs" + - "b2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gK" + - "R0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8" + - "Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + - "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUg" + - "YSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlv" + - "biBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRo" + - "ZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3Jh" + - "cnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNo" + - "IGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQURE" + - "UkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVz" + - "ZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdB" + - "VEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9i" + - "YWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3Rp" + - "bmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMj" + - "IDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJP" + - "VEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBm" + - "aWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fz" + - "c2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vydmlj" + - "ZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBv" + - "bmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVw" + - "cyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMg" + - "d2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0" + - "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpI" + - "ZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNl" + - "bGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBO" + - "QVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFy" + - "eSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5" + - "IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRk" + - "b24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSBy" + - "b3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBP" + - "YnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBh" + - "IHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoK" + - "IyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBp" + - "cyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFj" + - "aW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBO" + - "VkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0" + - "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRo" + - "ZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRl" + - "d2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNl" + - "IGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhl" + - "bS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGlu" + - "CmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0" + - "eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRo" + - "ZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5k" + - "IGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBo" + - "b3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5n" + - "Q29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5p" + - "dHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQg" + - "YnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFm" + - "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAg" + - "cmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + - "LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0" + - "aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + - "bmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZh" + - "bml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5k" + - "YXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRy" + - "YWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0" + - "ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRp" + - "b25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + - "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + - "dGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBu" + - "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkK" + - "dW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQu" + - "CgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHks" + - "IGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + - "YW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1" + - "dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkg" + - "b25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhv" + - "ciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxs" + - "IHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNl" + - "IHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwK" + - "ICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRz" + - "LgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkK" + - "Zm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFu" + - "ZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1" + - "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9y" + - "CnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2Nv" + - "cGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBo" + - "ZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNl" + - "cnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9u" + - "LXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0" + - "aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwg" + - "YW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVu" + - "dG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2Ug" + - "Y2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhl" + - "IHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVh" + - "c2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBk" + - "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + - "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "dHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + - "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMj" + - "IyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5z" + - "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52" + - "Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAt" + - "LWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + - "c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxt" + - "IENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5" + - "IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNh" + - "c3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1h" + - "Z2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0" + - "aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVl" + - "czpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + - "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + - "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + - "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + - "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + - "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + - "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + - "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + - "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + - "MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRo" + - "ZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFt" + - "bC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEg" + - "c2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpg" + - "YGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRl" + - "bnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1" + - "bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0" + - "aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQ" + - "SSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwK" + - "fC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFn" + - "ZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0" + - "aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0" + - "ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5" + - "YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVu" + - "dj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJT" + - "X0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBz" + - "ZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBz" + - "ZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0" + - "bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0" + - "cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdq" + - "c29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFD" + - "RV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQg" + - "b2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1" + - "bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2" + - "YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBk" + - "b2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRv" + - "YXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + - "fCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAu" + - "Cj4gIC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJl" + - "dHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3Jk" + - "IGZvcm1hdCJgLgo+ICAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVj" + - "YXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdh" + - "cmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBi" + - "YWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5j" + - "b2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3Rh" + - "Y2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50" + - "ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBr" + - "diBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2Vj" + - "cmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBl" + - "YXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4g" + - "ICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBp" + - "Y2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCgo+IE5vdGUgKG11bHRpLW9yZyk6" + - "IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24g" + - "aW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50" + - "IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNj" + - "b3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNy" + - "ZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9y" + - "aW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhl" + - "bnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlh" + - "bCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2Ug" + - "YSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmpl" + - "Y3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBU" + - "aGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmln" + - "dXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJ" + - "bnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRo" + - "dWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZl" + - "cm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1" + - "bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5" + - "PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2Vj" + - "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBw" + - "bHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1h" + - "Z2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBv" + - "ZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52" + - "Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + - "JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQg" + - "aWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRo" + - "IElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBz" + - "ZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShy" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0" + - "dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAg" + - "ICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMg" + - "LW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoK" + - "IyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8Cnwt" + - "LS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0" + - "aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4" + - "aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sg" + - "b24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNr" + - "IE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZh" + - "dWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25v" + - "d24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVu" + - "QmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0" + - "aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3Jh" + - "dGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFu" + - "eSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + - "Y292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRp" + - "b25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5n" + - "Lm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwK" + - "fCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwg" + - "fCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREIt" + - "YmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0" + - "byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BB" + - "U1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0" + - "byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhl" + - "IHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVu" + - "IHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdg" + - "IHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3Vi" + - "ZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVs" + - "ZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBg" + - "aGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2Nv" + - "dW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3Jl" + - "dHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5r" + - "bm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29r" + - "IG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBh" + - "aXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhl" + - "IGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0" + - "aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10" + - "aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0" + - "IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVk" + - "IHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVz" + - "b2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3Rvcnkg" + - "YW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5k" + - "IHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVl" + - "cyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlz" + - "bWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2" + - "ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBB" + - "V1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwK" + - "CiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3Vu" + - "dCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxl" + - "YXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1" + - "c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3Nm" + - "dWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVk" + - "IGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUg" + - "aG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1" + - "ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24g" + - "Y2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBv" + - "ZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBh" + - "dGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMg" + - "YWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ug" + - "c28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0" + - "IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2sp" + - "OgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJv" + - "b3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGkt" + - "YWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBg" + - "CgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0o" + - "ZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5u" + - "dmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3Nw" + - "bGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5j" + - "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxs" + - "LXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpB" + - "ZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRv" + - "IGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52" + - "b2tlIGVuZHBvaW50cy4KUEsHCC/auXVCYgAAQmIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "NAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25V" + - "VAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAg" + - "InF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFX" + - "UyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3Bl" + - "cmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxs" + - "IHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4y" + - "LjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJl" + - "Y3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2Vl" + - "ZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZp" + - "ZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUp" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlz" + - "ID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZl" + - "cmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21w" + - "YXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUg" + - "c3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywg" + - "anVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNo" + - "ZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tp" + - "cCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmll" + - "dyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhw" + - "bGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGlu" + - "ZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1w" + - "bGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1h" + - "bmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1" + - "biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBl" + - "dmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1k" + - "cnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBh" + - "cmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJl" + - "IGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0" + - "IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhl" + - "biBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sg" + - "bmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZj" + - "YS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVy" + - "IHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBj" + - "b21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJl" + - "bW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVw" + - "bGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3Bh" + - "Y2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3Bh" + - "Y2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVy" + - "IGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0" + - "bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVy" + - "cyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIs" + - "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2Vw" + - "YXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNv" + - "bXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVu" + - "dCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9s" + - "LXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdh" + - "dGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGlu" + - "c3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxl" + - "IHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1" + - "YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGgg" + - "dGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3Ry" + - "YXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRo" + - "ZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21w" + - "dXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGlu" + - "dm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwg" + - "YXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0" + - "aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9O" + - "QU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklM" + - "RT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1G" + - "SUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFn" + - "ZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcg" + - "aWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhv" + - "c3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQg" + - "SldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + - "cmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90" + - "IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + - "Ny1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0" + - "byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBm" + - "b3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBo" + - "ZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9j" + - "a2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdD" + - "X0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBs" + - "b2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBw" + - "YXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWly" + - "ZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + - "YXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0" + - "d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzkt" + - "bWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBO" + - "VkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8s" + - "IGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZp" + - "bGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4" + - "dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRp" + - "ZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5k" + - "bGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1" + - "Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwu" + - "Z290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFn" + - "ZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEt" + - "Y2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5z" + - "dGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNs" + - "dXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRf" + + "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRlIGEgY2x1c3Rlcidz" + + "IEpXS1MKClVzZXIgc2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcsIG9yIFBTQVQgYXV0" + + "aCBpcyA0MDEtaW5nIGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVyJ3MgSldUIHNpZ25p" + + "bmcga2V5cyBtYXkgaGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQgaW4gSUNNUyBpcyBu" + + "b3cgc3RhbGUuCgojIyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lz" + + "dGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhUVFAgNDAxYCBvbiBg" + + "L3YxL252Y2EvY2x1c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQotIElDTVMgbG9ncyBz" + + "aG93IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlk" + + "PmAgKGNhdXNlZCBieSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQgcm90YXRlIGZpeGVz" + + "IGJvdGgpCi0gQWZ0ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9yIGNvbXB1dGUtcGxh" + + "bmUgSzhzIHVwZ3JhZGUKCiMjIFN0ZXBzCgoxLiAqKkNvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuKiog" + + "YG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgKGFnYWluc3QgdGhlIGNvbnRyb2wgcGxhbmUpLiBJZGVu" + + "dGlmeSB0aGUgcm93IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90" + + "YXRlLioqIEZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3Mg" + + "SzhzIEFQSSAoYmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVu" + + "aWQvdjEvandrc2ApOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVz" + + "dGVyLWlkPTxpZD4gLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlz" + + "IHJlLWZldGNoZXMgSldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVU" + + "cyBpdCB0byBJQ01TLiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5" + + "LioqIGBudmNmLWNsaSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0g" + + "YHVwZGF0ZWRBdGAgYWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAt" + + "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0" + + "ZW1wdHMgc2hvdWxkIHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoK" + + "LSAqKkRvbid0IGBjbHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVz" + + "dGVyIElEICsgZ3JvdXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUg" + + "dG8gcmVkZXBsb3kgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFu" + + "dWFsbHkgZWRpdCBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRl" + + "IHVwZGF0ZXMgSUNNUyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUg" + + "cmlnaHQgY2x1c3RlciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0" + + "aCBmYWlsdXJlIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6Ci0gTkFUUyBh" + + "dXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcD1u" + + "YXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4gYGNsdXN0" + + "ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZhbC1zZXJ2" + + "aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRlIHRvIFtk" + + "aWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpIGZv" + + "ciB0aG9zZSBjaGVja3MuClBLBwhQY9xktgcAALYHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEA" + + "ps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FGRVRZOioq" + + "IFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dzLCBPcGVu" + + "QmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJtIHdpdGgg" + + "dGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Igb25lLXNo" + + "b3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0d28tdGll" + + "ciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUgKFJFUS0y" + + "MiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUgfAp8LS0t" + + "fC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRPcHMtZnJp" + + "ZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29tcHV0ZS1w" + + "bGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0tY29tcHV0" + + "ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsgSUNNUykg" + + "fCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAvIGBkb3du" + + "IC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5pbnN0YWxs" + + "YCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNjcmlwdGVk" + + "IHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1biBzaGFw" + + "ZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91dHB1dCB8" + + "CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAgKG9yY2hl" + + "c3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50IGZpbGVz" + + "LCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQgc3RyaW5n" + + "cy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1bmluc3Rh" + + "bGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9yIGluc3Rh" + + "bGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0ZG91dCB8" + + "CgpTbzoKLSBgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0" + + "aGUgb3JjaGVzdHJhdG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmlu" + + "c3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdp" + + "dmUgbWUgdGhlIFlBTUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAx" + + "OiBBTFdBWVMgcHJldmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4t" + + "b25seSAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFs" + + "IHJ1bi4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwK" + + "YGBgCgojIyBXaGVuIHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8" + + "CnwtLS18LS0tfAp8ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGlu" + + "ZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hv" + + "dyBtZSB0aGUgc3RlcHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUg" + + "WUFNTCB0byBjb21taXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1Y" + + "ID4gZGVsZXRlLnlhbWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBj" + + "b21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8" + + "CnwgIkp1c3QgcmVtb3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZv" + + "ciBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29u" + + "ZmlybSBzY29wZSB3aXRoIHRoZSB1c2VyCgpBc2s6Ci0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5n" + + "IChjb21wdXRlIHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25l" + + "IGNvbXB1dGUgcGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRz" + + "IG9uIHRoaXMgY2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVj" + + "ay4iIChJbXBvcnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFj" + + "dGl2ZT10cnVlfHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBw" + + "ZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRl" + + "ZmF1bHQgdXNlciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVt" + + "b3ZlLXBlcnNpc3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJh" + + "YmxlLioqIgoKIyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEK" + + "YGBgCgpUaGlzIGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhl" + + "IGhlbG0gcmVsZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0" + + "aGF0IHdvdWxkIGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5j" + + "b21tYW5kc1tdYCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBo" + + "ZWxtIHVuaW5zdGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4u" + + "CgojIyMgMy4gRXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + + "biAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDC" + + "pzYuNy4xKToKCjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJs" + + "ZQoyLiBSZXNvbHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCU" + + "IHJ1bnMgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50" + + "LCBwb2xscyB1bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZh" + + "bHNlfHByb21wdGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNv" + + "bXB1dGUgcGxhbmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7" + + "IGBoZWxtIHVuaW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9y" + + "ZGVyCjUuIFJlbW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lz" + + "dGVudGApCjYuIFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5Cgoj" + + "IyMgNC4gVGVhciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gK" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZp" + + "YSB0aGUgb3JjaGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUg" + + "aXMgYWxzbyBnb2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lYCByZWZ1c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4g" + + "SUNNUy4gVXNlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUg" + + "Kipvbmx5KiogaWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBw" + + "bGFuZXMgKFBTQVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwg" + + "c3RhcnQgZmFpbGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNl" + + "cXVlbmNlIGJlZm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhp" + + "bmcKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoK" + + "VGhpcyBpdGVyYXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVu" + + "cyB0aGUgcGVyLWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBg" + + "LS1hbGwtY29uY3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNv" + + "bnRyb2wtcGxhbmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGgg" + + "dGhlIGNsdXN0ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhl" + + "IHByb21wdCBmb3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2Vy" + + "IGhhcyBBcmdvIC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29t" + + "cHV0ZSBwbGFuZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1j" + + "b21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0" + + "b3IgY29tbWl0cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFw" + + "cGxpZXMgdGhlIGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0" + + "IGNvbW1pdCAtbSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRl" + + "ciBBcmdvIHN5bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUg" + + "dGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNU" + + "RVJfSUQKYGBgCgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBg" + + "Y2x1c3RlciBkZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9s" + + "bG93aW5nIEdpdE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRl" + + "bHksIG9yIHVzZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3Zl" + + "cnkKCklmIGBkb3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNv" + + "bW1hbmQqKi4gVGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxg" + + "IHNraXBzIHJlbGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0" + + "ZSAtLWlnbm9yZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25l" + + "LiBQaGFzZSA0ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRo" + + "ZSBzZWNvbmQgcnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKLSBgZXJy" + + "Q2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1l" + + "ZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1rdWJlLWNvbnRl" + + "eHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2UgbmFtZSkgdGhl" + + "biByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVzZXIgY29uZmly" + + "bWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNsYXNzOiAiYWZ0" + + "ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxveW1lbnRzIOKG" + + "kiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3ltZW50cyBleGlz" + + "dC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWluLWFjdGl2ZT1w" + + "cm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdvcmllcyDihpIg" + + "c3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5nIHZlcmJhdGlt" + + "LiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQuCgojIyBBbHdh" + + "eXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5p" + + "bnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUgZmxhZ3M6Ci0g" + + "U3RhdGUgdGhlIGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdo" + + "YXQncyBsb3N0IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBu" + + "Y3AtbG9jYWxgIHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJ" + + "Q01TIikuCi0gSWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0" + + "YXRlIHRoYXQgQ2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0" + + "ZWQgYW5kIHRoYXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVz" + + "ZXIgY29uZmlybWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVk" + + "LWNsdXN0ZXJzYCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJl" + + "IG9ycGhhbmVkLgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQg" + + "ZXhwbGFpbmluZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIg" + + "aXMgb24gYSBDTEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNo" + + "CiMgUGVyIGNvbXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5z" + + "dGFsbCBudmNhLWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0" + + "b3IgLW4gbnZjYS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBl" + + "ciAtbiBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lz" + + "dGVtCgojIERyYWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVz" + + "dGVyLWlkPTxpZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29u" + + "dGV4dCk6CmNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tl" + + "cyBoZWxtZmlsZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQg" + + "c3RhY2sgYnVuZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4u" + + "L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBt" + + "YW51YWwgcGF0aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBp" + + "bnN0YWxsZWQuCgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2Vy" + + "IGFza3MgIndoeSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRo" + + "ZSBTdGF0ZWZ1bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBi" + + "eSBgaGVsbSB1bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50" + + "aW9uYWxseSBzbyBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRv" + + "IHdpcGUgY29tcGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50" + + "CmBgYAoKT3IsIHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMg" + + "LW4gY2Fzc2FuZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lz" + + "dGVtIC0tYWxsCmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVj" + + "dGl2ZSBzdGVwLgpQSwcIEpMzWeAhAADgIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4S" + + "IyBgbnZjZi1jbGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3" + + "YXlzIHBhaXIgd2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBb" + + "ZXhpdC1jb2Rlcy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYt" + + "aG9zdGVkIGxpZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwK" + + "fC0tLXwtLS18LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQ" + + "cmUtZmxpZ2h0IHZhbGlkYXRpb24gKG5vIGFkbWluIGNyZWRzKSB8IHN0cmVhbWluZyBldmVudHMg" + + "fCBQZXItcm9sZSB3aXRoIGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dGAgLyBgLS1jb21wdXRlLXBs" + + "YW5lLWNvbnRleHRgOyBgLS1sb2NhbC1vbmx5YCBza2lwcyBrdWJlY3RsIHwKfCBgc2VsZi1ob3N0" + + "ZWQgY2hlY2sgLS1jb250cm9sLXBsYW5lIFstLXdhaXQgRFVSXWAgfCBFdmVyeSBDUCByZWxlYXNl" + + "IGhlYWx0aHkgfCBzdHJlYW1pbmcgZXZlbnRzIHwgUG9sbHMgdW50aWwgcGFzcyBvciBgLS13YWl0" + + "YCBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rl" + + "ci1uYW1lPVggWy0td2FpdCBEVVJdYCB8IFBlci1jbHVzdGVyIHdvcmtlciBzdGF0ZSB8IHN0cmVh" + + "bWluZyBldmVudHMgfCBOVkNBICsgb3BlcmF0b3IgKyBKV0tTLWZpbmdlcnByaW50IG1hdGNoIHwK" + + "fCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEZhbi1vdXQgb3ZlciBh" + + "bGwgb2YgdGhlIGFib3ZlIHwgc3RyZWFtaW5nIGV2ZW50cyB8IHwKfCBgc2VsZi1ob3N0ZWQgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwg" + + "WUFNTCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1o" + + "b3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3Rl" + + "ciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBP" + + "bmUgaW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0" + + "ZXItbmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0" + + "eSkgc3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFu" + + "ZXM7IGZvciBjb21wdXRlLW9ubHkgdXNlIGBhZGQtY29tcHV0ZS1wbGFuZWAgfAp8IGBzZWxmLWhv" + + "c3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyB8" + + "IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZyaWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMgfAp8" + + "IGBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIC0tY29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PVkgLS1pY21zLXVybD1VUkwgLS10b2tlbj0kSldUYCB8IEFkZCBhIGNv" + + "bXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIG9uIHN0" + + "ZGVyciB8IEZvciAybmQsIDNyZCwg4oCmIEdQVSBjbHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBpbnN0" + + "YWxsLiBDUCBub3QgdG91Y2hlZC4gfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1u" + + "YW1lPVhdIFstLXdhdGNoXWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFpbi9K" + + "U09OTCB8IGAtLXdhdGNoYCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1bmlu" + + "c3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHByaW1p" + + "dGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVu" + + "cmVnaXN0ZXIsIG5vIGRyYWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNlcyBv" + + "biB0aGF0IGNvbXB1dGUgcGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9s" + + "LXBsYW5lIFstLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5lIHBy" + + "aW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJvZ3Jl" + + "c3MgfCBSZWZ1c2VzIGlmIGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNzIGAt" + + "LWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3Rh" + + "bGwgLS1uby1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0gZ2V0" + + "IG1hbmlmZXN0YCBwZXIgcmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBlIHRv" + + "IGBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJvcnMg" + + "YGluc3RhbGwgLS1uby1hcHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1l" + + "PVggWy0tZHJhaW4tYWN0aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJhdG9y" + + "OiBkcmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxldGUg" + + "aW4gSUNNUyB8IHByb2dyZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVzdGVy" + + "LW5hbWU9WGAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9yY2hl" + + "c3RyYXRvcjogdGVhciBkb3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRy" + + "b2wgcGxhbmUgfCBwcm9ncmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1jb25j" + + "dXJyZW5jeWAgKGRlZmF1bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRlcmFj" + + "dGl2ZSB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3RyYXRv" + + "ciBkcnktcnVuOiBwaGFzZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAobm8g" + + "aGVsbS9oZWxtZmlsZSBjb250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBhbnkg" + + "YWN0dWFsIGBkb3duYCoqIHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1Y" + + "IC0tbmNhLWlkPVkgWy0tcmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIg" + + "YSBKV0tTK09JREMgd2l0aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxseTsg" + + "c3RhbmRhbG9uZSBmb3IgbWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdGAgfCBM" + + "aXN0IHJlZ2lzdGVyZWQgY2x1c3RlcnMgfCBPdXRwdXQgaXMgWUFNTCBieSBkZWZhdWx0OyBgLS1q" + + "c29uYCBmb3IgbWFjaGluZSB8CnwgYGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBS" + + "ZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQgdG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2Vy" + + "dmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlk" + + "PUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2Vy" + + "KiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0t" + + "LXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVu" + + "Y3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1" + + "bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmln" + + "LnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBg" + + "L3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNg" + + "IHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rp" + + "b24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVu" + + "Y3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFH" + + "WyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1m" + + "dW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8" + + "IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25maWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9k" + + "ZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2Vw" + + "dGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0" + + "aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3lt" + + "ZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVmYXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRl" + + "cGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIFstLWpzb25dYCB8IERl" + + "cGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJS" + + "T1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxF" + + "YCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxhY2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSBy" + + "ZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3lt" + + "ZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQt" + + "ZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAo" + + "bm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9ucyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0u" + + "aW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1u" + + "YW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlk" + + "PVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3ltZW50IHwgKipERVNUUlVDVElWRTogY29u" + + "ZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoKVGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNG" + + "X0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVkIGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VS" + + "TGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwg" + + "cmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQg" + + "YXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RB" + + "cGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVy" + + "YXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVy" + + "YXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFu" + + "ZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1l" + + "PVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBh" + + "IGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1" + + "dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdzIHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVgg" + + "LS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJt" + + "aXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0" + + "YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09O" + + "IGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMg" + + "fAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRVU10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNr" + + "cywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBM" + + "QVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwg" + + "YEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVS" + + "QVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMg" + + "c2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFz" + + "a0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwK" + + "fCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBj" + + "b21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkgbGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0" + + "cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0" + + "YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBh" + + "bHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVs" + + "ZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1" + + "cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmly" + + "bWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmljIHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3Jp" + + "Z2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUt" + + "c2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBv" + + "biBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwg" + + "ZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVl" + + "cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElE" + + "MizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0" + + "IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0t" + + "fAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFw" + + "aSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFy" + + "cyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFz" + + "aykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywg" + + "ZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBmcm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwK" + + "fCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9u" + + "PeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBg" + + "LS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5jdGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAt" + + "LWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2Nv" + + "cGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8" + + "IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlk" + + "YXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5j" + + "dGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMpIHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3Qg" + + "QVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkg" + + "fAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8gYGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBS" + + "ZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hv" + + "d2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2Vu" + + "dCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBh" + + "Z2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQg" + + "cHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNsYXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50" + + "cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBh" + + "Z2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxl" + + "ZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUgdGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9y" + + "aWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNraWxscyByZW1haW4gfAp8IGBhZ2VudC1za2ls" + + "bCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBidW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRkZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8" + + "IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVi" + + "bGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsHCNu+VPjXIgAA1yIAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0" + + "LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mg" + + "c3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBs" + + "b2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFtcGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwK" + + "fCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBk" + + "ZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZh" + + "aWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJy" + + "b3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgR2F0ZXdheSBBUEkgQ1JEcyBt" + + "aXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIOyBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQg" + + "fAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3Rp" + + "dmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8" + + "IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFs" + + "bCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRpZG4ndCBwYXNzIGJlZm9yZSBkdXJhdGlvbiB8" + + "CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5UL1NJR1RFUk0gfCBVc2VyIEN0cmwtQzsgQ0kg" + + "YnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJl" + + "YWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVl" + + "IC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sg" + + "YmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8g" + + "cmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWly" + + "IGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJl" + + "cXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAt" + + "LXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBg" + + "NWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBz" + + "dGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRv" + + "bWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1y" + + "dW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpFdmVyeSBub24temVybyBl" + + "eGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVy" + + "ckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNs" + + "YXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5r" + + "bm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnBy" + + "b2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBp" + + "biBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4K" + + "UEsHCHOnWmTVBgAA1QYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBm" + + "bGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwg" + + "Q29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8" + + "IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwg" + + "SlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5v" + + "bi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFj" + + "cm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + + "LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxl" + + "IHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQg" + + "T0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9" + + "4oCmYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + + "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + + "fAp8IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8" + + "IGBsb2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWlu" + + "dGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10" + + "b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8Cnwg" + + "YC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3Rs" + + "IGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFz" + + "IGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0" + + "YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0" + + "ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFz" + + "cyB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0" + + "IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFu" + + "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1Ymxp" + + "YyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20g" + + "YGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVjayAtLXByZWAgb25seTsg" + + "c2tpcCBhbGwga3ViZWN0bCBjb250YWN0IHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmlj" + + "CgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUt" + + "cGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5" + + "IHRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1o" + + "b3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9s" + + "LXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1w" + + "bGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBFdmVy" + + "eSBjYXRlZ29yeSB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIg" + + "bmFtZSBmb3IgY29tcHV0ZS1wbGFuZSBjaGVja3MgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hl" + + "Y2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVu" + + "IHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YC4gRW52" + + "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8CgojIyMgQ2x1" + + "c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUg" + + "Y2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwg" + + "Q2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0IGFuZCByZW1vdmVzIHRo" + + "ZW0KYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNz" + + "aW9uIHRvIG1hbmFnZSB0aG9zZS4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1h" + + "Z2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9J" + + "TUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBu" + + "byB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4g" + + "VW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUgd2l0aCBhIHdhcm5pbmcgfCAtIHwKfCBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3Q6cG9ydCwuLi5gIHwgRXh0cmEgcmVn" + + "aXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IgcHJvYmVzIGZvciByZWFjaGFiaWxp" + + "dHkuIGBudmNyLmlvYCBpcyBhbHdheXMgcHJvYmVkLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFy" + + "YXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZp" + + "ZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgIHwgYG52Y3IuaW9gIG9ubHkgfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5" + + "IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdo" + + "ZW4gZW1wdHksIHRoZSBDTEkgbG9va3MgZm9yIG9uZSBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGFu" + + "ZCBmYWxscyBiYWNrIHRvIG1pbnRpbmcgb25lIGZyb20gYE5HQ19BUElfS0VZYCB8IGF1dG8tZGV0" + + "ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVy" + + "IHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQ" + + "X0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAg" + + "dGhlIHZhbGlkYXRvciBKb2IgKGFuZCBpdHMgUkJBQykgYWZ0ZXIgdGhlIHJ1biBmb3IgZGVidWdn" + + "aW5nLiBUaGUgbmV4dCBydW4gc3RpbGwgc3dlZXBzIHByaW9yIEpvYnMgfCBgZmFsc2VgIHwKfCBg" + + "LS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBh" + + "ZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBVc2VmdWwgd2hlbiBwaXBpbmcgYC0tanNvbmAgdG8gYSBz" + + "Y3JpcHQgdGhhdCBhbHNvIHdhbnRzIHRoZSB0cmFuc2NyaXB0IHwgYGZhbHNlYCB8CgojIyBgdXBg" + + "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVp" + + "cmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1" + + "bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAg" + + "fAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhv" + + "dXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8" + + "IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykg" + + "fAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50" + + "ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5B" + + "TUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBT" + + "a2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNp" + + "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1l" + + "IE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwg" + + "TkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1" + + "cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29u" + + "ZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2Yg" + + "ZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZp" + + "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1" + + "bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChv" + + "bWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJl" + + "YWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAt" + + "LWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7" + + "IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVb" + + "LFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChz" + + "ZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0" + + "ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1" + + "cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwg" + + "YGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoK" + + "YC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlv" + + "biBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAt" + + "IHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVu" + + "Y2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5m" + + "ZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1m" + + "dW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBg" + + "REVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJ" + + "IHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNo" + + "YXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNl" + + "IE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJl" + + "cXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1F" + + "OlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8" + + "CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxt" + + "b2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVM" + + "aW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5p" + + "dD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNg" + + "LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5l" + + "IHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKCkluIEpTT04gYW5k" + + "IGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFu" + + "ZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxt" + + "Q29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRo" + + "cyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEv" + + "Y2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2Au" + + "IGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJf" + + "b2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1D" + + "b25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVk" + + "IHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0" + + "LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAo" + + "aG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3" + + "aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1I" + + "LDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5n" + + "IGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tl" + + "ZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBg" + + "aGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNh" + + "bWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVz" + + "IFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52" + + "b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4i" + + "YC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9k" + + "ZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3Bv" + + "bnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBz" + + "ZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0" + + "aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0g" + + "fAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQg" + + "YG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1p" + + "dD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9r" + + "ZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0" + + "b2tlbiBsaW1pdHMuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBt" + + "b2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJv" + + "dXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFy" + + "ZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVw" + + "ZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZp" + + "bGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUt" + + "c2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1" + + "IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8" + + "IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJl" + + "cGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFg" + + "IHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1" + + "bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVd" + + "YCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1Up" + + "IHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + + "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1F" + + "YCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16" + + "MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91" + + "dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUg" + + "VFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + + "IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWlu" + + "ZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0t" + + "aGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0" + + "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwg" + + "SlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVu" + + "IGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAt" + + "IHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4g" + + "dGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdT" + + "YCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3Ry" + + "aW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5l" + + "ci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVh" + + "dGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50" + + "IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1y" + + "dW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5n" + + "LiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4" + + "LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9u" + + "IChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1n" + + "cmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAx" + + "KSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8" + + "Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJl" + + "c3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBg" + + "b3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0" + + "LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBN" + + "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJ" + + "T046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBU" + + "QUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlv" + + "biBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBV" + + "VUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxl" + + "bWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAt" + + "LXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElE" + + "IHwgLSB8CgpQSwcIDgwGlYErAACBKwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + + "AKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFu" + + "ZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFz" + + "ZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBi" + + "ZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBh" + + "cnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + + "LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhg" + + "IGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczov" + + "L2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVs" + + "bWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9o" + + "ZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRw" + + "czovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90" + + "IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFs" + + "bCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3Rv" + + "cmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFu" + + "bm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFu" + + "bm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3Mi" + + "OiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBs" + + "YW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8v" + + "ZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRl" + + "c3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAg" + + "Zm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + + "b2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUt" + + "bGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMj" + + "IEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5z" + + "dGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFj" + + "dGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25l" + + "ZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGlu" + + "ZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29u" + + "dHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAg" + + "YWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBp" + + "bnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3Bl" + + "IHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUt" + + "cnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + + "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fz" + + "c2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29u" + + "ZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBj" + + "YXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmll" + + "ZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWls" + + "eSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJO" + + "Q1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciBy" + + "ZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBg" + + "Q0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9y" + + "IGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNl" + + "dGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52" + + "Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcg" + + "TkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAg" + + "fAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6" + + "cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWls" + + "ZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6" + + "cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNo" + + "TG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVn" + + "aXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20g" + + "cHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRo" + + "ZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVu" + + "dCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0" + + "aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJ" + + "Q01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2ln" + + "bmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1" + + "bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1j" + + "cmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29u" + + "ZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5B" + + "VFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRT" + + "IGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFw" + + "cC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFz" + + "a3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRh" + + "c2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZv" + + "ciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwg" + + "c2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hp" + + "bGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcg" + + "dmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291" + + "bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVm" + + "YXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhh" + + "dCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRy" + + "eSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFw" + + "aWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + + "bWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2Ny" + + "aXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9s" + + "LXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZp" + + "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAog" + + "IHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNl" + + "IGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + + "IHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUs" + + "IHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9y" + + "CiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQg" + + "d29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1" + + "aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBw" + + "bHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29y" + + "ZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAu" + + "MCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + + "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + + "b3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEds" + + "b2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + + "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0" + + "YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wt" + + "cGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1l" + + "bnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6" + + "IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJl" + + "Ci0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBn" + + "dWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhl" + + "bG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0" + + "YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAg" + + "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBm" + + "dW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMj" + + "IFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0" + + "Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90" + + "aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRz" + + "LyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBs" + + "YW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRz" + + "LyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVy" + + "IGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMg" + + "ZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9u" + + "IDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVz" + + "b3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZl" + + "cnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRy" + + "b2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3Rp" + + "dHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoK" + + "VmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNo" + + "CmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1" + + "ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0g" + + "cGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwg" + + "dmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBj" + + "bHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVk" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRz" + + "LyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBg" + + "ZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFt" + + "bGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNl" + + "IHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgCmVu" + + "dmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdp" + + "dGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAt" + + "PiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0" + + "ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0" + + "cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJy" + + "aWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRl" + + "bmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJv" + + "dWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBz" + + "ZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkg" + + "Y2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25v" + + "cmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92" + + "ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZh" + + "bHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlk" + + "aW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENy" + + "ZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0" + + "ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + + "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + + "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0" + + "ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + + "a2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUg" + + "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2Nr" + + "ZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJ" + + "ZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZp" + + "bGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNp" + + "bWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hh" + + "cnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "YCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0" + + "byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBh" + + "dXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMg" + + "YXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiRO" + + "R0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicg" + + "LXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVn" + + "aW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1w" + + "YXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBg" + + "YAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dp" + + "biBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVz" + + "IHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5" + + "IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0g" + + "cmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZm" + + "ZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhl" + + "Cj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5p" + + "ZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcg" + + "a2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+" + + "IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5" + + "IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0t" + + "cGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVs" + + "eWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNp" + + "bmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChS" + + "ZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRl" + + "cyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEg" + + "cmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGlj" + + "aXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBu" + + "b2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGlj" + + "YWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVw" + + "cwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAg" + + "IHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhh" + + "bXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToK" + + "ICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlv" + + "dSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXIt" + + "cmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoK" + + "ICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMs" + + "IHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWlu" + + "ZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1p" + + "cy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0" + + "dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRp" + + "YS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xv" + + "YmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3Jl" + + "IHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0" + + "dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50" + + "Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3Ry" + + "eT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRl" + + "ciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFi" + + "b3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1" + + "dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2Vz" + + "cyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90" + + "IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3Rp" + + "bGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9i" + + "YWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVs" + + "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFs" + + "IGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBp" + + "bWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBj" + + "cmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZl" + + "ciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlm" + + "IHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRl" + + "IGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91" + + "dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0" + + "ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3" + + "YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3" + + "YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + + "cmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFk" + + "ZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5" + + "IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJl" + + "c3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIu" + + "CgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZl" + + "ZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRv" + + "IGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBw" + + "cm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSBy" + + "ZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdl" + + "cywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhl" + + "IGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1w" + + "bGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZl" + + "c3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kK" + + "YGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4g" + + "VGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRg" + + "LCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fz" + + "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2Au" + + "IElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2" + + "aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNl" + + "IGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRo" + + "ZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNh" + + "bWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3lt" + + "ZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoK" + + "CnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0t" + + "LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBl" + + "bmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBg" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBj" + + "LXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9w" + + "dGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5j" + + "bHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + + "YCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2Vy" + + "dmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwK" + + "Ck1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9k" + + "cyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFu" + + "aXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9y" + + "IGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0" + + "aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFi" + + "bGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5" + + "CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBh" + + "IGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0" + + "IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24s" + + "IGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFk" + + "ZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZp" + + "Zzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFu" + + "ZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1l" + + "bnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdh" + + "dGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5z" + + "dGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlk" + + "ZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5T" + + "IHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFu" + + "aXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCBy" + + "b3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMK" + + "YGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQg" + + "ZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5r" + + "dWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1B" + + "IHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDov" + + "LzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRl" + + "d2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlv" + + "biwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNl" + + "IGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0Yg" + + "VUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMg" + + "ZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMg" + + "dGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBw" + + "YWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAK" + + "cm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwg" + + "aXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVi" + + "bGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQg" + + "c2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25d" + + "KHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJh" + + "dGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3Qg" + + "aW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNo" + + "b29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIg" + + "YW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9m" + + "aWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBs" + + "YW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5z" + + "dGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + + "YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVy" + + "aWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJv" + + "eSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhl" + + "IHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3Rl" + + "YXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNv" + + "bnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNg" + + "LCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlg" + + "LCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnkt" + + "c2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlz" + + "c3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9u" + + "bHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5h" + + "bWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1" + + "bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9u" + + "IGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdl" + + "ciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZp" + + "bGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3Ro" + + "ZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNv" + + "bnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0" + + "ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBh" + + "biBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1l" + + "dGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNl" + + "cnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVy" + + "IHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25m" + + "aXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpg" + + "YGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1l" + + "c3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFu" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + + "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92" + + "ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVk" + + "KQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0" + + "ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3Ng" + + "LCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2" + + "YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5k" + + "IGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUt" + + "dmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZp" + + "bGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjgu" + + "MAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1z" + + "eXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdv" + + "dG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9F" + + "TlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgog" + + "ICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6" + + "IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAg" + + "ICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNl" + + "IHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6" + + "YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVk" + + "ZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3" + + "IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAg" + + "ICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBk" + + "aXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQg" + + "dGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29y" + + "cmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxs" + + "IFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1Q" + + "dWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNG" + + "IHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGlt" + + "YWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNp" + + "ZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRv" + + "Y2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0" + + "ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNG" + + "X0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAg" + + "LT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNy" + + "ZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmln" + + "anNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46" + + "PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBh" + + "Y2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4g" + + "ZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9s" + + "ZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFk" + + "cyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFs" + + "dWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkg" + + "dGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBm" + + "aWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBi" + + "ZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tl" + + "bjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJj" + + "b25maWdqc29uPilgLgo+ICAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rp" + + "b24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2Vy" + + "bmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAgLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3" + + "b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAg" + + "IGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBs" + + "b29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmlu" + + "ZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3Rh" + + "bGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4gICAgYGBgYmFzaAo+ICAg" + + "IEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAt" + + "QSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + + "bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMg" + + "ZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + + "dWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252" + + "Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAoKPiBOb3Rl" + + "IChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1" + + "c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZl" + + "IGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtl" + + "eSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhl" + + "IHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50" + + "IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4g" + + "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8g" + + "b25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29t" + + "bWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9t" + + "YXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0Yg" + + "bmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVy" + + "LWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpg" + + "YGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + + "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + + "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgoj" + + "IDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9L" + + "RVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tl" + + "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIk" + + "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpk" + + "b25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAt" + + "ZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0" + + "YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0" + + "czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBn" + + "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFn" + + "ZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBg" + + "CgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChl" + + "LmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlB" + + "TUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgoj" + + "IyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + + "ZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0" + + "bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50" + + "IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1" + + "c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZg" + + "ICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENo" + + "ZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5p" + + "dDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9w" + + "ZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYElu" + + "aXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0" + + "MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWdu" + + "YXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5" + + "IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBg" + + "b3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1v" + + "biBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRp" + + "b25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1z" + + "ZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVj" + + "ayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJj" + + "ZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMg" + + "YmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNg" + + "IGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxU" + + "X0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3Rp" + + "bGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + + "c3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + + "U1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMg" + + "fAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdl" + + "IGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdl" + + "IHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxl" + + "ZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBh" + + "Z2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50" + + "aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1h" + + "Y2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJl" + + "dHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0" + + "LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVk" + + "LCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJl" + + "LXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5" + + "IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCBy" + + "YW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwg" + + "dG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBw" + + "YXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRo" + + "ZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtp" + + "bmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5u" + + "b3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4g" + + "cmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFj" + + "ZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5j" + + "cGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0" + + "LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4g" + + "ZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBk" + + "ZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0" + + "aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBg" + + "bnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMg" + + "b24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5k" + + "IHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiBy" + + "ZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQK" + + "ZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMg" + + "YDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0" + + "aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + + "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJ" + + "ZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBg" + + "YXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpv" + + "YiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxv" + + "Y2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Yg" + + "am9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdh" + + "cyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBb" + + "ZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0" + + "dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJl" + + "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkg" + + "a2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgv2rl1QmIAAEJiAABQSwMEFAAIAAAAAAAh" + + "AAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + + "cy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZl" + + "cnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBz" + + "dGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRv" + + "IHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAx" + + "LjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMu" + + "MTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBk" + + "aWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2" + + "YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lv" + + "bicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2Vx" + + "dWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2" + + "ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2lu" + + "IGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVy" + + "IHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVk" + + "IHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rp" + + "b24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNr" + + "aXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIg" + + "YXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBs" + + "YXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxl" + + "IHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5k" + + "IGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScg" + + "dG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3" + + "IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBp" + + "cyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNG" + + "IG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVw" + + "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5h" + + "bWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20g" + + "cmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJj" + + "ZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxl" + + "dGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + + "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + + "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBh" + + "bmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5k" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJl" + + "c291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNl" + + "ZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24g" + + "c3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1h" + + "bmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5v" + + "dCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92" + + "aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3Bs" + + "aXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBs" + + "YW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBz" + + "dGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2Vw" + + "YXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBw" + + "bHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhv" + + "c3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0" + + "aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + + "IHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxp" + + "ZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50" + + "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFs" + + "bGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNl" + + "X2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3Vy" + + "bCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGlj" + + "bXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3" + + "aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBL" + + "VUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RF" + + "Ul9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21z" + + "LXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlz" + + "IG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292" + + "ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxv" + + "dyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJB" + + "dXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVn" + + "aXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVp" + + "cmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + + "aGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBl" + + "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + + "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hl" + + "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + + "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJv" + + "dGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0" + + "byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5" + + "IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZp" + + "bGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRf" + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24g" + - "Zmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250" + - "cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRl" + - "ZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUg" + - "Zm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRl" + - "ZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUg" + - "YXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2" + - "YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUg" + + "KGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBs" + + "KSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0" + + "aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sg" + + "YnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBh" + + "IG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3Rl" + + "ZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8s" + + "IGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3Qg" + + "Zm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3lu" + + "YyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxv" + + "Y2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9y" + + "bSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + + "bXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUs" + + "IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIs" + + "IGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBt" + + "b25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQg" + + "b25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBj" + + "b21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBh" + + "bmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQg" + + "dG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAg" + + "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1z" + + "eXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3Rl" + + "bSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1w" + + "bGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNp" + + "ZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2Fp" + + "dCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhl" + + "IGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + + "ZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUg" + + "d2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0" + + "byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwg" + + "YSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZs" + + "YWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5z" + + "dGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRo" + + "ZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJv" + + "ZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0" + + "IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + + "bGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGlu" + + "Y2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGlu" + + "Y2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNv" + + "bnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFu" + + "ZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + + "IGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9p" + + "bnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9u" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJj" + + "ZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxs" + + "ZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxs" + + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + + "IlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwg" + + "dGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJl" + + "LWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBi" + + "bG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2Vk" + + "IHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQg" + + "YmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + + "ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0" + + "byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4g" + + "dGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAi" + + "VGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcg" + + "dmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0" + + "ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAi" + + "RGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5k" + + "IE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1" + + "c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVz" + + "IHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1l" + + "c3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2ll" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFj" + + "ZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAg" + + "IlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcg" + + "b3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWct" + + "aW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGlu" + + "IEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdu" + + "b3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUg" + + "cG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + + "biB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNz" + + "dWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1" + + "bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1" + + "bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + + "ZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBh" + + "Y2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBw" + + "cm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1v" + + "dGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBh" + + "IHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFu" + + "ZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1y" + + "ZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29u" + + "ZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + + "bGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4g" + + "ZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRo" + + "ZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyBy" + + "b3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0" + + "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNs" + + "dWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQg" + + "TkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVs" + + "bCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1t" + + "YW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7" + + "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2Ug" + + "dG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdy" + + "cGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQg" + + "bmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29y" + + "a2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRz" + + "U2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9j" + + "YXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBj" + + "U2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5u" + + "dmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10" + + "YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + + "IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIs" + + "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5k" + + "IEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2" + + "aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RI" + + "ZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhl" + + "IGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1t" + + "YW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5" + + "IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + + "dG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJk" + + "b3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBh" + + "bmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24g" + + "b2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBs" + + "YW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9y" + + "ZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRl" + + "YXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQg" + + "aWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBp" + + "bnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + + "bWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0" + + "IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBl" + + "eHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVk" + + "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5k" + + "IHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVy" + + "IHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRp" + + "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9u" + + "IHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVu" + + "IHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwg" + + "cmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRp" + + "b24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25z" + - "IChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "dmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBj" + - "cmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1z" + - "eXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFn" + - "ZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2" + - "aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5W" + - "PXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + - "YWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMs" + - "IGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAg" + - "ICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0" + - "ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5n" + - "IGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmls" + - "ZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkg" + - "Y29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNv" + - "bXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + - "bWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRz" + - "LCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxh" + - "bmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9k" + - "dWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0" + - "Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBy" + - "YW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlm" + - "aWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUu" + - "eWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25m" + - "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + - "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250" + - "cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdp" + - "b24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0t" + - "Y29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1l" + - "bnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12" + - "YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFn" + - "ZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5k" + - "IGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVl" + - "c3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2Ug" + - "bWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNh" + - "cHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVk" + - "IHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGds" + - "b2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJu" + - "ZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVm" + - "b3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRo" + - "ICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJU" + - "aGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVz" + - "b3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNs" + - "dWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBi" + - "bG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2Fy" + - "bmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxh" + - "Y2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJl" + - "Zm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2Vs" + - "ZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0" + - "aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBm" + - "b3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1m" + - "aWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91" + - "cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1k" + - "ZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0" + - "ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHBy" + - "b3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNl" + - "IGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNr" + - "b2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFj" + - "a09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5k" + - "cyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQg" + - "Zm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3Bl" + - "YyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBz" + - "ZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFu" + - "ZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCBy" + - "YW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZl" + - "bnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdl" + - "UHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAg" + - "ICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3Bl" + - "Y2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGlu" + - "Zy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBj" + - "b21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRz" + - "IEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwg" + - "c2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBj" + - "b250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95" + - "LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5" + - "LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkg" + - "bG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5B" + - "VFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0" + - "aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hv" + - "c3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFs" + - "IFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBh" + - "bGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBv" + - "bmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFu" + - "ZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRl" + - "d2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMg" + - "R2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52" + - "b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMu" + - "bnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBu" + - "dmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VV" + - "UkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRv" + - "IHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFn" + - "ZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBh" + - "bmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1l" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJv" + - "dXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8u" + - "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBh" + - "Z2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMs" + - "IGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + - "Z3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVy" + - "T3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + - "LCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFu" + - "ZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAg" + - "ICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVy" + - "YXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3Rl" + - "bSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1" + - "ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + - "YW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQg" + - "Q0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUg" + - "ZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21w" + - "dXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3Nl" + - "ZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5k" + - "b2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mg" + - "d2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUg" + - "SGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + - "c2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQg" + - "dmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNr" + - "LW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRl" + - "bmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3Qg" + - "ZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9u" + - "IHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBs" + - "aXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRv" + - "ZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wt" + - "cGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFy" + - "Z2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFu" + - "ZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUg" + - "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyBy" + - "YW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29t" + - "cHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxl" + - "IGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUg" + - "Y29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + - "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + - "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + - "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + - "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + - "ZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBt" + - "aXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93" + - "cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + - "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5l" + - "IE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklM" + - "RSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUg" + - "cmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1h" + - "bmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0" + - "ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRp" + - "dGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMg" + - "dGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlv" + - "biIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywg" + - "LS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0t" + - "cGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRv" + - "d24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRy" + - "b2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkg" + - "YWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVu" + - "dGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2Ug" + - "Y2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywg" + - "aW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBw" + - "YXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5" + - "IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBi" + - "YXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4g" + - "aW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55" + - "YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5y" + - "ZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAog" + - "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVz" + - "dCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFy" + - "Yml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2si" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9u" + - "cyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBX" + - "aGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5l" + - "ZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9u" + - "IHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3Ig" + - "dGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhh" + - "dCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFu" + - "Y2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + - "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBG" + - "b3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCBpbmNsdWRlZCBib3RoIGFkZG9u" + - "cy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZSBhbmQgYWdlbnRDb25maWcubWVyZ2VDb25m" + - "aWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUsIHdpdGggYSB3YXJuaW5nIHRoYXQgdGhv" + - "c2Ugc2V0dGluZ3MgYXJlIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21w" + - "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9u" + - "LCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExN" + - "IGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVk" + - "LCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2lu" + - "Z2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUg" + - "cmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNh" + - "bm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0" + - "aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgaW5jbHVkZWQgYWRkb25zLmxsbS5nYXRld2F5LmF1dGgu" + - "Z3JwY0luc2VjdXJlIGFuZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIGlz" + - "b2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBhbmQgd2FybmVkIGFnYWluc3QgdXNpbmcgdGhlbSBp" + - "biBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5l" + - "IEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0" + - "aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhp" + - "c3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1n" + - "YXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxs" + - "bS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVw" + - "IGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhh" + - "dCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1" + - "c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlk" + - "ZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJh" + - "c2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50" + - "IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZl" + - "cnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcI" + - "KxO4P61VAACtVQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3Jr" + - "ZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1w" + - "bGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJh" + - "IHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4s" + - "IGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBP" + - "T01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVs" + - "ZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + - "bXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1w" + - "L2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlk" + - "ZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1w" + - "bGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRp" + - "cmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + - "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + - "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + - "CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + - "ICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzog" + - "VmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRp" + - "ZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0g" + - "cmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFt" + - "aSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVy" + - "IGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBs" + - "ZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoK" + - "RGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChg" + - "bnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVs" + - "bCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBg" + - "YHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJj" + - "ZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + - "CiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252" + - "Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNo" + - "YXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + - "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + - "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFj" + - "ZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5n" + - "Yy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIg" + - "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + - "cmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNl" + - "cnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAg" + - "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIg" + - "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGlt" + - "YWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lm" + - "aWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNh" + - "c3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBg" + - "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + - "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + - "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + - "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + - "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNy" + - "ZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2" + - "ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2Vw" + - "YXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9w" + - "ZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVt" + - "YC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVw" + - "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2Vydmlj" + - "ZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2Ug" + - "MSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFn" + - "ZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVs" + - "dC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAt" + - "byBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMi" + - "ICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1j" + - "cmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50" + - "cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + - "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZj" + - "ci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwK" + - "CldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4K" + - "CiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVS" + - "X05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVw" + - "IGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVy" + - "ZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2Et" + - "Y2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNv" + - "bXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZv" + - "cmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxj" + - "b25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1y" + - "ZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1p" + - "c3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVy" + - "LgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUg" + - "dGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2Vy" + - "dmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5n" + - "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQK" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + - "YWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0" + - "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpg" + - "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBi" + - "b3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVh" + - "bnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwg" + - "XAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNh" + - "c3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5k" + - "cyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxp" + - "dCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3Rh" + - "bGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBv" + - "aW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9h" + - "ZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3Rl" + - "cCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1n" + - "YXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + - "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBV" + - "cGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5g" + - "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0" + - "aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBp" + - "Ljxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJg" + - "LiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2Vy" + - "dmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQpt" + - "YXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVk" + - "IHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3Mt" + - "YmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1" + - "dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4g" + - "S2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCBy" + - "ZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNl" + - "ZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQg" + - "Y29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBg" + - "YmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWlu" + - "PiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1n" + - "YXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Et" + - "b3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1" + - "c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kg" + - "T25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBv" + - "biBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fz" + - "c2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVt" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVj" + - "aWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwg" + - "UmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1n" + - "cm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + - "Z3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVl" + - "YCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + - "Y2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRy" + - "dWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + - "IHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + - "ZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRl" + - "ciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERl" + - "cGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkg" + - "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMu" + - "dmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBO" + - "VkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2Ug" + - "YW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55" + - "IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "IGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1z" + - "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1" + - "dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBm" + - "aXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hv" + - "b3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4g" + - "RG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUg" + - "dmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29u" + - "dHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "fAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUt" + - "cGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBw" + - "cm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwK" + - "ClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBu" + - "b3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBh" + - "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRo" + - "cyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFj" + - "a2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + - "CmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVu" + - "ZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0" + - "ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wt" + - "cGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNl" + - "dHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBh" + - "bmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBF" + - "S1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2Rv" + - "Y3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhl" + - "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + - "bGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3" + - "YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRT" + - "IHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBh" + - "ZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1h" + - "ZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhl" + - "IEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoK" + - "YGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50" + - "czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAg" + - "bnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + - "ICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + - "Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9t" + - "YWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yu" + - "c3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRy" + - "b2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAg" + - "c2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + - "ICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0K" + - "ICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6" + - "IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAg" + - "ICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAg" + - "ICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RB" + - "cGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3Ru" + - "YW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAg" + - "ICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292" + - "ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3Bl" + - "cmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lz" + - "LjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwu" + - "PGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+Igpg" + - "YGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29u" + - "dGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0" + - "ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFs" + - "bCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0" + - "ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBg" + - "TlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9n" + - "cnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDog" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJh" + - "cGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3" + - "YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBm" + - "aWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01T" + - "X1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJs" + - "YDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhl" + - "YWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0" + - "ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxh" + - "bmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVn" + - "aXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9" + - "PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8v" + - "PGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05G" + - "SUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAog" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1" + - "YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5k" + - "IEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBk" + - "ZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUt" + - "cGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9t" + - "aXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0" + - "IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0" + - "ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVn" + - "aW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhl" + - "IGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoK" + - "CmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8" + - "ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1y" + - "ZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpg" + - "YGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21w" + - "dXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9i" + - "ZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1h" + - "dXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0" + - "ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29u" + - "dHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24g" + - "dGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + - "YXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2Ag" + - "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3Ig" + - "dXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAu" + - "IERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBG" + - "b3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + - "bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdh" + - "eSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + - "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3Ig" + - "LW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFn" + - "ZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3Rl" + - "bQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUg" + - "cGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVy" + - "Cm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBO" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Uu" + - "IElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + - "YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhl" + - "bG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUg" + - "dW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + - "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBj" + - "bHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNo" + - "b3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVz" + - "dGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZv" + - "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4K" + - "CmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3Ro" + - "IGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBj" + - "b250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBh" + - "bWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMg" + - "aXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0" + - "aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMt" + - "dXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "YGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3Rl" + - "ciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mg" + - "b25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBj" + - "b250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJl" + - "ZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBH" + - "ZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51" + - "aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBi" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhl" + + "bG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0" + + "IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24s" + + "IHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQg" + + "bmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVp" + + "dGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRv" + + "d24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVz" + + "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0" + + "cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwg" + + "YWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGgg" + + "dGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRl" + + "ZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + + "YW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4g" + + "Y29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBL" + + "VUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rl" + + "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAog" + + "ICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4" + + "IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhh" + + "dCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3Qg" + + "cHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRo" + + "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNp" + + "dCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGgg" + + "c3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVy" + + "bCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBz" + + "dGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1v" + + "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4i" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJx" + + "dWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQn" + + "cyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4g" + + "TlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVl" + + "cyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0" + + "aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + + "IGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + + "ZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAt" + + "PiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQg" + + "dGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlz" + + "IChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1h" + + "Z2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9w" + + "YWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2Ug" + + "dmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1" + + "bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6" + + "IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + + "c3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24g" + + "c3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQg" + + "dGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUg" + + "cmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQg" + + "ZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4g" + + "bm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5v" + + "bmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRp" + + "bmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgaW5jbHVk" + + "ZWQgYm90aCBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmUgYW5kIGFnZW50Q29u" + + "ZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlLCB3aXRoIGEgd2Fy" + + "bmluZyB0aGF0IHRob3NlIHNldHRpbmdzIGFyZSBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJl" + + "c2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5n" + + "IGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVy" + + "aWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9u" + + "cy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAg" + + "IlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8g" + + "MSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3Rh" + + "dGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQg" + + "bGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUg" + + "Zm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGluY2x1ZGVkIGFkZG9ucy5sbG0u" + + "Z2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZSBhbmQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + + "cmUgZm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgYW5kIHdhcm5lZCBhZ2FpbnN0" + + "IHVzaW5nIHRoZW0gaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUg" + + "Y29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRl" + + "IHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciBy" + + "ZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlm" + + "aWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0" + + "ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0" + + "aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0" + + "aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBm" + + "YWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVu" + + "dCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYg" + + "c2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQg" + + "bm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBp" + + "bnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlk" + + "ZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3Vp" + + "ZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAg" + + "IF0KICB9Cl0KUEsHCCsTuD+tVQAArVUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBF" + + "eGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJp" + + "b3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZh" + + "dWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNl" + + "IHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJl" + + "c3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlh" + + "IGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNl" + + "bGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVz" + + "b3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAy" + + "OiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwK" + + "CkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUg" + + "YHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1s" + + "Ci0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRy" + + "YS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5" + + "CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUt" + + "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAg" + + "IC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + + "ICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVl" + + "c3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAK" + + "CiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3Mt" + + "YWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFt" + + "bCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVz" + + "ZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNz" + + "YW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgot" + + "LS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQ" + + "dWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3Rs" + + "eSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVz" + + "aW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVu" + + "dCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhl" + + "bG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5" + + "OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRv" + + "cnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZv" + + "ciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUg" + + "JyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + + "aW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENy" + + "ZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElf" + + "S0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFt" + + "ZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGlu" + + "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + + "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + + "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + + "dG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFt" + + "ZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBT" + + "dGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhl" + + "IGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBF" + + "eGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + + "Z290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + + "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + + "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAg" + + "aW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZl" + + "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0" + + "aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + + "ZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25s" + + "eSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRv" + + "CmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJl" + + "ZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMj" + + "IyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1r" + + "dWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6" + + "IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQK" + + "CkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2ls" + + "bCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApm" + + "b3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAt" + + "LW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNj" + + "b3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJu" + + "YW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBg" + + "CgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + + "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGlt" + + "YWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBh" + + "bmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEg" + + "Y2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNr" + + "CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJv" + + "eSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNv" + + "bXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29u" + + "dGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQj" + + "ZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJl" + + "Z2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAg" + + "ZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25m" + + "aXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xp" + + "PiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVz" + + "dGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwK" + + "ICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNv" + + "bXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3Rh" + + "Y2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFt" + + "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBC" + + "ZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBl" + + "eHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUK" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9y" + + "IGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2Ug" + + "bWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25s" + + "eSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVu" + + "YW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3Qg" + + "ZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + + "IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklM" + + "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + + "PgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBu" + + "YW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVy" + + "aWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1v" + + "KScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAog" + + "IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwoj" + + "IEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWlu" + + "c3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5t" + + "ZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGlu" + + "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEg" + + "R2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3" + + "YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBv" + + "aW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9B" + + "RERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + + "YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5z" + + "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoK" + + "IyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBn" + + "bG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hh" + + "bmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMs" + + "IHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBg" + + "R0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBr" + + "ZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQURE" + + "UmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1l" + + "bnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5" + + "CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZp" + + "Y2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJ" + + "IFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5n" + + "ZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2Ft" + + "ZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + + "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRo" + + "ZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGgg" + + "Y29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0" + + "OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBc" + + "CiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVy" + + "YXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUt" + + "Y2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0" + + "dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1w" + + "bGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hl" + + "biBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBq" + + "dXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1" + + "cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fz" + + "c2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kg" + + "anVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoK" + + "fCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFz" + + "ZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8" + + "CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0" + + "aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwg" + + "b3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxt" + + "LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3" + + "YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + + "IHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10" + + "cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + + "cmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGkt" + + "Z2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkg" + + "R2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNl" + + "IGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11" + + "aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMg" + + "dGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFz" + + "ZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJl" + + "bGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4t" + + "aXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0" + + "IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8o" + + "AAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVU" + + "BQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBs" + + "YW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNv" + + "bnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRl" + + "IGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVs" + + "bCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGgg" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwg" + + "U291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0" + + "IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5l" + + "IGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlh" + + "bWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZs" + + "b3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMg" + + "bm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2Ug" + + "bW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcK" + + "ZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0" + + "dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBh" + + "bmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVl" + + "cyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9u" + + "OgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "IGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBh" + + "bmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1" + + "bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2" + + "YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + + "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + + "ZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBH" + + "YXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91" + + "dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5h" + + "YmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0" + + "aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJl" + + "LApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRv" + + "bWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0" + + "byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3" + + "b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRl" + + "d2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRk" + + "cmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRv" + + "bWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRl" + + "d2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9u" + + "LjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0" + + "cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlB" + + "cGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0" + + "ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZv" + + "eS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVu" + + "dm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAg" + + "ICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAg" + + "ICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4i" + + "XQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAg" + + "ICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAg" + + "ICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAg" + + "IGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + + "YWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJM" + + "OiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJP" + + "dmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdh" + + "dGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3" + + "YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFn" + + "YWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91" + + "Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZp" + + "ZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNf" + + "c2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDov" + + "LzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlf" + + "a2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZv" + + "Y2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+" + + "IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwg" + + "c2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQn" + + "cyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdh" + + "dGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkg" + + "ZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRo" + + "ZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1l" + + "PiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNN" + + "U19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1" + + "dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAg" + + "TlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + + "dGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29t" + + "cHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9J" + + "REMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11" + + "bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24g" + + "Ym90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50" + + "IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVh" + + "ZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkg" + + "Y29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1" + + "bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + + "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1j" + + "b250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5h" + + "bWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + + "CmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxh" + + "bmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIg" + + "XAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + + "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZh" + + "bHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUt" + + "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNs" + + "dXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29u" + + "dGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50" + + "cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBT" + + "ZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFj" + + "ZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3Rl" + + "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFu" + + "YWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkg" + + "aW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdl" + + "UHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQK" + + "YW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBg" + + "bnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wt" + + "cGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1z" + + "ZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4" + + "cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAog" + + "IC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9u" + + "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRo" + + "PSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4g" + + "LW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBl" + + "dmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2Zm" + + "cyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQg" + + "YmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2Ug" + + "YnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUg" + + "SGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4K" + + "Rm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVu" + + "ZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEg" + + "YW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5h" + + "bWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQg" + + "Z2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0" + + "LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9u" + + "IHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1F" + + "PTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklM" + + "RT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmln" + + "PiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0" + + "cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5n" + + "CmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9u" + + "IGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJl" + + "Z2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNv" + + "bnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZp" + + "Zz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + + "aWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1" + + "aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBj" + + "bGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3cs" + + "IGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1l" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2Ug" + + "YGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3Ry" + + "YXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBi" + "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0t" + - "cGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + - "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1p" + - "Y21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFj" + - "aCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBh" + - "bmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5l" + - "IG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAA" + - "EjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcg" + - "UmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Yg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpg" + - "YGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJl" + - "Y2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3Rs" + - "IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMg" + - "RGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1l" + - "cykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMj" + - "IEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgCk5BTUUgICAgICAg" + - "ICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0w" + - "ICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMg" + - "c2hvdzoKYGBgCkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + - "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + - "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + - "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + - "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + - "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + - "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + - "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CiAgIGBgYGJhc2gKICAga3ViZWN0" + - "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tl" + - "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + - "CiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNl" + - "PTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVy" + - "ZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQg" + - "dmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + - "ZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5i" + - "YW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBT" + - "ZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + - "bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxl" + - "dGUgYW5kIHJlY3JlYXRlCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3It" + - "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlh" + - "bHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMg" + - "U3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgpg" + - "YGAKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJU" + - "UyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAg" + - "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhl" + - "IHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gK" + - "IyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + - "Q2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZh" + - "dWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVs" + - "dC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFp" + - "bmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8g" + - "cG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNz" + - "dWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRp" + - "ZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1" + - "cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgogICBgYGBiYXNoCiAgIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJv" + - "eQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYg" + - "bmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + - "bmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5v" + - "dCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + - "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + - "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + - "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + - "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + - "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + - "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + - "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + - "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + - "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + - "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + - "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + - "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + - "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + - "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + - "LAogICB0aGVuIHJlLXJ1biBpdDoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAo" + - "ZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMg" + - "ICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAg" + - "ZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + - "YW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAogICBUaGUgbWlncmF0aW9uIGxv" + - "ZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAu" + - "Li4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBK" + - "V1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZp" + - "Y2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFL" + - "UyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtz" + - "LWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGlj" + - "LXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25p" + - "bmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9t" + - "cwoKYGBgCk5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fz" + - "c2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFn" + - "bm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBj" + - "YXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRl" + - "IENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBp" + - "bgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAg" + - "ICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9y" + - "eTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5" + - "OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4g" + - "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + - "YC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGAK" + - "TkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEt" + - "MCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMg" + - "LSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2Qn" + - "cyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZm" + - "aWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAK" + - "CiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2Vs" + - "ZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9k" + - "ZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBu" + - "b3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMq" + - "KjogQ2hlY2sgbm9kZSBjYXBhY2l0eQogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9k" + - "ZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMj" + - "IEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBg" + - "YmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBg" + - "CgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZp" + - "Y2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBG" + - "aXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0" + - "IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJl" + - "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMg" + - "RmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2" + - "aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBi" + - "b290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9v" + - "dHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChq" + - "b2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxv" + - "Z3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAK" + - "YGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjog" + - "Q3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1" + - "dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKICAg" + - "YGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VS" + - "X0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9r" + - "ZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBj" + - "YW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJl" + - "Z2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + - "aWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2ll" + - "czoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0" + - "bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMg" + - "UmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVy" + - "ZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRl" + - "LXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoK" + - "CmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAg" + - "MTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1" + - "biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFs" + - "IGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJv" + - "bSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFt" + - "ZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwpr" + - "dWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAt" + - "byBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAu" + - "bWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBu" + - "cz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4" + - "dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntc" + - "Im1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7" + - "fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5h" + - "bGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3Rs" + - "IC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29u" + - "IDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBr" + - "dWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3" + - "ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUK" + - "YGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMg" + - "U3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNh" + - "LW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBu" + - "b3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1v" + - "cGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0" + - "aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhl" + - "CkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBh" + - "bmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9u" + - "ZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBv" + - "ZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZj" + - "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + - "YS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUg" + - "cmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4K" + - "YG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZj" + - "YS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNl" + - "ZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQp" + - "LgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJl" + - "cXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhl" + - "IEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJl" + - "cG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQURE" + - "Uj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + - "IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3Rh" + - "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3No" + - "b3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8k" + - "R0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQg" + - "YnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2" + - "aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9t" + - "YWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRh" + - "dGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95" + - "bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZy" + - "ZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0" + - "ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNv" + - "dmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNl" + - "LXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBy" + - "dW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3Rl" + - "bSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2Yg" + - "fCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJl" + - "dmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBh" + - "cGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBz" + - "aXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250" + - "cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQ" + - "SwcIVj5nkJUwAACVMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRV" + - "VAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlv" + - "dXQKCmBgYApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0g" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8" + - "ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5n" + - "cmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5" + - "IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAg" + - "ICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBg" + - "LS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlk" + - "ZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNl" + - "bnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFt" + - "bC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXIt" + - "Y2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + - "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVu" + - "ZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBu" + - "dmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50" + - "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + - "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + - "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBg" + - "CgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29u" + - "dGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQg" + - "ZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRl" + - "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1p" + - "eCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIg" + - "UmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + - "YXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + - "LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2lu" + - "ZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1z" + - "eXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJh" + - "IHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpV" + - "c2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2Ut" + - "Z3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBS" + - "ZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwt" + - "LS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBp" + - "LWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2Vz" + - "IHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9u" + - "LXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMg" + - "fAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rh" + - "cnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + - "CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2Vydmlj" + - "ZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tl" + - "bi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8Cnwg" + - "aW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGlu" + - "Z3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9" + - "XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9y" + - "eSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nr" + - "czsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXIt" + - "cHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgoj" + - "IyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + - "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + - "IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBv" + - "YnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4g" + - "dGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJ" + - "bmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBg" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3Bl" + - "cnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMg" + - "bGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJl" + - "cGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0" + - "IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywg" + - "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + - "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVt" + - "cGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52" + - "Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1s" + - "LmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + - "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNs" + - "dWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3Qg" + - "cmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291" + - "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgoj" + - "IyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290" + - "bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAot" + - "IG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoK" + - "ICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4g" + - "aW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxh" + - "dGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBs" + - "YWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9y" + - "aXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jv" + - "c3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1l" + - "bnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxh" + - "dGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8" + - "cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1" + - "LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVu" + - "Y2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCAr" + - "IGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMu" + - "IEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6Cgoj" + - "IyMgQ2Fzc2FuZHJhCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFn" + - "ZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdl" + - "LipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVj" + - "dG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xv" + - "YmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwotIGBuYXRzLmNvbnRhaW5lci5pbWFn" + - "ZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIu" + - "aW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNs" + - "YXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlm" + - "IGVuYWJsZWQpCgojIyMgT3BlbkJhbwotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5k" + - "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0g" + - "YG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipg" + - "Ci0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBl" + - "dGMuKQotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2Vy" + - "dmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2Jz" + - "ZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxl" + - "IHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRo" + - "CmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJv" + - "dXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRv" + - "bWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29u" + - "ZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25k" + - "aXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBs" + - "bG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rl" + - "ciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJl" + - "Zm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFi" + - "bGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgYXV0aDoK" + - "ICAgICAgICBncnBjSW5zZWN1cmU6IHRydWUKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNl" + - "TW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAg" + - "ICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAog" + - "ICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3Ry" + - "aWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAK" + - "ClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0" + - "IGNsdXN0ZXJzLiBGb3Igc2hhcmVkCm9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZSB0aGUgcmVx" + - "dWlyZWQgcmVwbGljYSBjb3VudCBhbmQgVExTLWNhcGFibGUgc2VydmljZQpjb25maWd1cmF0aW9u" + - "LiBgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlYCBhbmQKYHdvcmtsb2FkLnN0" + - "YXJnYXRlUVVJQ0luc2VjdXJlYCBlbmFibGUgcGxhaW50ZXh0IHRyYW5zcG9ydHMuIERvIG5vdCB1" + - "c2UgdGhlbSBpbgpwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9m" + - "LXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1" + - "cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9h" + - "ZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9j" + - "cy91c2VyL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0" + - "aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1bHQg" + - "aW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBz" + - "aWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICBlbnY6CiAgICBOVkNGX1NJ" + - "REVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9w" + - "eWxvbjowLjIuMQpgYGAKClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFu" + - "ZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFu" + - "ZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZD" + - "QSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5" + - "bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZy" + - "b20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2Zp" + - "bGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJp" + - "dmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHBvZHMga2VlcCB0aGVpciBleGlzdGluZyBzaWRl" + - "Y2FyIGFyZ3VtZW50cy4gUmVjcmVhdGUgb3IKcmVkZXBsb3kgdGhvc2UgZnVuY3Rpb25zIGFmdGVy" + - "IHRoZSBjb21wdXRlLXBsYW5lIHJlZnJlc2guIFZlcmlmeSB0aGUgY29udHJvbApwbGFuZSwgcm91" + - "dGUsIGFuZCB3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52" + - "Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJl" + - "cXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGkt" + - "Z2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdy" + - "ZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAog" + - "IC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3Jr" + - "ZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBj" + - "bHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2Vj" + - "dXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBz" + - "ZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20v" + - "TlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xv" + - "YWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRh" + - "cmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBn" + - "cm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBC" + - "eSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0" + - "ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpg" + - "YGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFi" + - "ZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwjAViDnjycA" + - "AI8nAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0Yg" + - "VUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFk" + - "bWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25s" + - "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBX" + - "aGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1p" + - "bi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUg" + - "YWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFz" + - "ZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNl" + - "IGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFi" + - "bGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6" + - "CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5k" + - "IGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1" + - "bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJh" + - "c2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0" + - "ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + - "a2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + - "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNl" + - "PW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + - "LQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0" + - "aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZp" + - "Y2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBg" + - "bnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRl" + - "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZl" + - "cmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVk" + - "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQg" + - "aHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWku" + - "PGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3Vy" + - "aXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVk" + - "LiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2Vz" + - "cyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBp" + - "biBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBS" + - "ZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHBy" + - "aXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBu" + - "ZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApj" + - "b21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWlyIG93biBjbHVz" + - "dGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSBy" + - "ZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3Qg" + - "dGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhl" + - "IGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNh" + - "LW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFw" + - "cHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVs" + - "bSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVs" + - "bSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2" + - "ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoK" + - "YGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBp" + - "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + - "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBw" + - "bHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + - "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0t" + - "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + - "R0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBw" + - "bHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2Nr" + - "ZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAu" + - "CgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246" + - "IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBuYW1lOiBudmNm" + - "LWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UKICBydWxlczoK" + - "ICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6" + - "CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBraW5kczoKICAg" + - "ICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICAgLSAibnZj" + - "ZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIKICAgICAgICAg" + - "ICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fz" + - "c2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAgICAgICAgICAt" + - "ICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdl" + - "OgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAg" + - "ICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8K" + - "ICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAg" + - "IC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBv" + - "bGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVl" + - "IHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "LiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2" + - "ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMu" + - "CgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZj" + - "YS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJh" + - "dG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSck" + - "b2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5h" + - "bWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAg" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAK" + - "ClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBg" + - "eWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpg" + - "YGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9w" + - "ZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNy" + - "ZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBg" + - "YmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNl" + - "Y3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxs" + - "U2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRo" + - "ZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0n" + - "ey5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQt" + - "aW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5h" + - "bWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + - "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIK" + - "CiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZj" + - "ci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUg" + - "Tm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5v" + - "ZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ks" + - "IEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgot" + - "ICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBi" + - "dWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVy" + - "ZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRy" + - "b3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBh" + - "cHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVh" + - "dGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRv" + - "IHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1j" + - "b250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5v" + - "IGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9k" + - "cyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9s" + - "aWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpg" + - "YGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNy" + - "ZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1j" + - "cmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQACAAAAAAAIQBL" + - "pxLcSBAAAEgQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAxZ4o5QVgAAAFYAAAIwAJAAAAAAAAAAAAAACREAAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAIcbIhvAKAADw" + - "CgAAMwAJAAAAAAAAAAAAAADwcAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMv" + - "Y2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAGh2P0HoCwAA6AsAADQACQAA" + - "AAAAAAAAAAAASnwAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNs" + - "dXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA/mZDOswMAADMDAAANwAJAAAAAAAAAAAA" + - "AACdiAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFu" + - "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCR3Bv5mBkAAJgZAAA5AAkAAAAAAAAAAAAAANeV" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2su" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAAAAAAAADfrwAA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQAOnD+XvQ4AAL0OAAA9AAkAAAAAAAAAAAAAAGXVAABkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAIcrjZhaHAAAWhwAADoACQAAAAAAAAAAAAAAluQAAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAUGPcZLYHAAC2BwAAOQAJAAAAAAAAAAAAAABhAQEAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhABKTM1ngIQAA4CEAAC4ACQAAAAAAAAAAAAAAhwkBAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEA275U+NciAADXIgAAMAAJAAAAAAAAAAAAAADMKwEAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHOn" + - "WmTVBgAA1QYAADIACQAAAAAAAAAAAAAACk8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAPyjkeDGIgAAxiIA" + - "AC0ACQAAAAAAAAAAAAAASFYBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9m" + - "bGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDzrhOEdBEAAHQRAAA3AAkAAAAAAAAAAAAA" + - "AHJ5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5n" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAC/auXVCYgAAQmIAACwACQAAAAAAAAAAAAAAVIsB" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhACsTuD+tVQAArVUAADQACQAAAAAAAAAAAAAA+e0BAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAAARRAIAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIw" + - "AAASMAAATAAJAAAAAAAAAAAAAAD2bAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQBWPmeQlTAAAJUwAAA7AAkAAAAAAAAAAAAAAIudAgBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQDAViDnjycAAI8nAABEAAkAAAAAAAAAAAAAAJLOAgBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAAJz2AgBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAAAADL/gIAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + - "bWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAQBUDAAAA" + "PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMg" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3Qu" + + "IE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNv" + + "IGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUK" + + "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBs" + + "YXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29u" + + "dHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBi" + + "ZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUK" + + "cHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBc" + + "CiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAog" + + "IC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJs" + + "PiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUt" + + "Y2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + + "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBg" + + "ZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNv" + + "bXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUg" + + "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4u" + + "ClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbO" + + "EiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5n" + + "IGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1" + + "cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJl" + + "Y3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0g" + + "bGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWls" + + "dXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RU" + + "aW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRp" + + "dGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBg" + + "YApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFH" + + "RQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVt" + + "CmBgYAoKRXZlbnRzIHNob3c6CmBgYApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4v" + + "aW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + + "IyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxs" + + "IHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1j" + + "cmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVs" + + "bFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNv" + + "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VB" + + "Y2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8" + + "bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4" + + "ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAogICBgYGBi" + + "YXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + + "CiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + + "b2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + + "ICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2Qg" + + "ZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRz" + + "YCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2Vj" + + "cmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2" + + "aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1z" + + "ZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBz" + + "ZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRl" + + "IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3Jy" + + "ZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0" + + "IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBm" + + "b3IgbWludXRlczoKYGBgCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRV" + + "UyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJ" + + "bml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29u" + + "dGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5C" + + "YW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1" + + "bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBn" + + "ZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3Rs" + + "IGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVj" + + "ayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxu" + + "YW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoK" + + "MS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBp" + + "bWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWln" + + "cmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5j" + + "YCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKICAgYGBgYmFz" + + "aAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8t" + + "c2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQog" + + "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1" + + "bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBy" + + "dW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKICAgYGBg" + + "YmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMg" + + "b3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9n" + + "cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkg" + + "dmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBv" + + "biBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0" + + "aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1" + + "cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxp" + + "ZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0" + + "IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9r" + + "ZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1h" + + "Z2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZl" + + "cyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0" + + "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhl" + + "CiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxl" + + "ZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkg" + + "ZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMg" + + "dGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CiAgIGBgYGJhc2gKICAgIyBJbiB5b3Vy" + + "IGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBv" + + "cGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToK" + + "ICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0" + + "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKICAgVGhl" + + "IG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3Vt" + + "ZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZp" + + "bmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwg" + + "YW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4g" + + "fjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFi" + + "bGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1" + + "c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyBy" + + "b3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJh" + + "CgojIyMgU3ltcHRvbXMKCmBgYApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + + "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0K" + + "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMg" + + "Rml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNl" + + "ZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0g" + + "Y2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgog" + + "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3Qg" + + "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + + "aXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBT" + + "eW1wdG9tcwoKYGBgCk5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + + "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMj" + + "IyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVy" + + "ZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21t" + + "b24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRu" + + "J3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFi" + + "bGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5v" + + "dCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBD" + + "aGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQogICBgYGBiYXNoCiAgIGt1" + + "YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0" + + "b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCiAgIGBg" + + "YGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2ll" + + "bnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + + "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + + "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + + "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + + "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + + "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + + "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + + "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + + "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + + "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + + "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + + "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + + "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + + "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + + "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + + "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + + "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + + "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + + "ZSBBUEkga2V5CiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwK" + + "ICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRw" + + "dXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNo" + + "YWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3Vu" + + "dEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxz" + + "IGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWlu" + + "ZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1l" + + "c3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMg" + + "JiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFt" + + "ZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpg" + + "YGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1w" + + "dG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBU" + + "ZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBU" + + "ZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBg" + + "CgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0" + + "ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBm" + + "aW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVs" + + "ZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2Vu" + + "ZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNm" + + "YmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNw" + + "YWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2Nv" + + "bnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29u" + + "dGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBl" + + "PW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBV" + + "VEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJp" + + "bmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7" + + "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2Ug" + + "IiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0g" + + "W10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2Ug" + + "XAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9k" + + "ZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5v" + + "dCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxl" + + "dGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBi" + + "dXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNh" + + "LW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBw" + + "b2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3Qg" + + "aWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyBy" + + "ZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QK" + + "c3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1" + + "Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3Jp" + + "YmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0" + + "b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAK" + + "CkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNy" + + "ZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + + "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVz" + + "cGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUt" + + "cGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMj" + + "IFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBm" + + "YWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBU" + + "aGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpz" + + "b25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlf" + + "QUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFp" + + "bj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNz" + + "IGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVS" + + "TCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVw" + + "IC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2Vl" + + "cCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVu" + + "Y2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9y" + + "IHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZp" + + "ZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRo" + + "ZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNl" + + "eGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNl" + + "ZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hp" + + "Y2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2Vydmlj" + + "ZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNh" + + "c3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2Vy" + + "dmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFy" + + "eS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8" + + "IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFw" + + "aSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkg" + + "KGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNl" + + "ICsgcm91dGVzIHwKUEsHCFY+Z5CVMAAAlTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUt" + + "c3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBE" + + "aXJlY3RvcnkgTGF5b3V0CgpgYGAKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmls" + + "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5k" + + "cmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBz" + + "ZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMg" + + "T2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + + "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + + "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + + "bm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55" + + "YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpg" + + "LS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNv" + + "bnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0g" + + "aGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0" + + "ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBs" + + "ICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwt" + + "LSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERl" + + "ZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAg" + + "ICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5n" + + "b3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hh" + + "cnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFu" + + "ZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3Ro" + + "IGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhl" + + "IENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3Vy" + + "Y2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmls" + + "ZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8" + + "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + + "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0" + + "ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2Vy" + + "dmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMg" + + "fAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + + "RGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3" + + "aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFt" + + "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0t" + + "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1h" + + "cGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBz" + + "aXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + + "CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52" + + "Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2" + + "aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + + "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwg" + + "bnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0t" + + "YXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhl" + + "bG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91" + + "cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBs" + + "YXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52" + + "Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5n" + + "b3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBg" + + "YWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVz" + + "OmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8" + + "IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0t" + + "LS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNl" + + "cnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNp" + + "ZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoK" + + "IyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJn" + + "ZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVt" + + "cGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1l" + + "cmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVs" + + "ZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGly" + + "ZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVt" + + "cGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2Ag" + + "ZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRl" + + "IGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6" + + "IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAu" + + "Li9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVp" + + "cmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcs" + + "IE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5j" + + "eQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxw" + + "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + + "YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUK" + + "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTog" + + "ODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDIt" + + "Y29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlz" + + "bS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZj" + + "ZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZh" + + "bHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1" + + "ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0" + + "aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8g" + + "aGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0" + + "cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxg" + + "IC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3Ry" + + "dWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNp" + + "dGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGln" + + "aGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3Vn" + + "aAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQg" + + "ZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3Bl" + + "Y2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSBy" + + "ZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBj" + + "YXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWln" + + "cmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2Fu" + + "ZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBg" + + "Y2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKLSBgbmF0cy5j" + + "b250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNC" + + "b3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUu" + + "cHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2Rl" + + "U2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KLSBgb3BlbmJhby5taWdyYXRpb25z" + + "LmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rv" + + "ci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5k" + + "YXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2Vz" + + "IChBUEksIFNJUywgZXRjLikKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + + "dG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNl" + + "Pi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJs" + + "ZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBm" + + "dW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBs" + + "bG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5p" + + "bnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5h" + + "YmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUg" + + "SGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRo" + + "ZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRl" + + "ZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAg" + + "bGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAx" + + "CiAgICAgIGF1dGg6CiAgICAgICAgZ3JwY0luc2VjdXJlOiB0cnVlCiAgICAgIG1ldHJpY3M6CiAg" + + "ICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVz" + + "dFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vy" + + "dmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVy" + + "Z2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAg" + + "bmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1" + + "cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2lu" + + "Z2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gRm9yIHNoYXJlZApvciBwcm9kdWN0aW9uIGNsdXN0ZXJz" + + "LCB1c2UgdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIFRMUy1jYXBhYmxlIHNlcnZpY2UK" + + "Y29uZmlndXJhdGlvbi4gYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZWAgYW5k" + + "CmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgZW5hYmxlIHBsYWludGV4dCB0cmFuc3Bv" + + "cnRzLiBEbyBub3QgdXNlIHRoZW0gaW4KcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1" + + "c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlz" + + "CnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVl" + + "c3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2Yv" + + "YmxvYi9tYWluL2RvY3MvdXNlci9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQp" + + "Cmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3Rh" + + "Y2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVy" + + "YXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgZW52" + + "OgogICAgTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRTogPHJlZ2lzdHJ5Pi88" + + "cmVwb3NpdG9yeT4vcHlsb246MC4yLjEKYGBgCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVk" + + "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVk" + + "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFs" + + "bGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3Rh" + + "bGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0" + + "IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1h" + + "aW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiBwb2RzIGtlZXAgdGhlaXIg" + + "ZXhpc3Rpbmcgc2lkZWNhciBhcmd1bWVudHMuIFJlY3JlYXRlIG9yCnJlZGVwbG95IHRob3NlIGZ1" + + "bmN0aW9ucyBhZnRlciB0aGUgY29tcHV0ZS1wbGFuZSByZWZyZXNoLiBWZXJpZnkgdGhlIGNvbnRy" + + "b2wKcGxhbmUsIHJvdXRlLCBhbmQgd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAt" + + "biBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVw" + + "IC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRw" + + "cm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5j" + + "dGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5h" + + "bWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2Nh" + + "bCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUK" + + "YC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRo" + + "bSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6" + + "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rh" + + "cmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUg" + + "U2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAoj" + + "IEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmls" + + "aXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5" + + "bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSBy" + + "ZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVh" + + "c2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlg" + + "LgpQSwcIwFYg548nAACPJwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQF" + + "AAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + + "YWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQg" + + "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJ" + + "IGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3Ug" + + "bmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + + "Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24g" + + "dW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRo" + + "ZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + + "YHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUg" + + "bmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFu" + + "ZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVn" + + "aXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQ" + + "SV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + + "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxk" + + "b21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFw" + + "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2" + + "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoK" + + "IyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2Vu" + + "dCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVp" + + "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJI" + + "b3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIK" + + "YGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVu" + + "YXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBS" + + "ZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGlj" + + "YXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAA" + + "uQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQ" + + "dWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1h" + + "Z2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCks" + + "IEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJv" + + "bC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0" + + "aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNl" + + "IGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVy" + + "bm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNz" + + "aW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNl" + + "Y3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoK" + + "IyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5v" + + "CgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlv" + + "L2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9r" + + "eXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBw" + + "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + + "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + + "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJl" + + "cGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2Nr" + + "ZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFt" + + "bAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6" + + "CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZh" + + "bHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2Rz" + + "CiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAg" + + "ICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + + "ICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJz" + + "aXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAg" + + "ICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIK" + + "ICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hT" + + "dHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9u" + + "czoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + + "LWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRz" + + "OgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdl" + + "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBs" + + "YW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + + "biBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFy" + + "ZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJv" + + "bC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0" + + "IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + + "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6" + + "IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5j" + + "ZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3Rl" + + "bWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0" + + "LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJp" + + "ZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRo" + + "ZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5z" + + "cGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + + "XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + + "LW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1h" + + "Z2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBw" + + "dWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "ZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + + "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBV" + + "bmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNv" + + "bXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxs" + + "IFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMq" + + "KjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5" + + "YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGlj" + + "aXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVk" + + "ZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBS" + + "ZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vy" + + "dmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJh" + + "Y2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZl" + + "Y3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUg" + + "c3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBg" + + "CgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZl" + + "cm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRj" + + "aGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cg" + + "UkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJl" + + "bmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhh" + + "Y3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQg" + + "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwEC" + + "FAAUAAgAAAAAACEAjHZJYkkQAABJEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5q" + + "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMWeKOUFYAAABWAAACMACQAAAAAAAAAAAAAAkhAA" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhACHGyIbwCgAA8AoAADMACQAAAAAAAAAAAAAA8XAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBodj9B" + + "6AsAAOgLAAA0AAkAAAAAAAAAAAAAAEt8AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + + "cGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP5mQzrMDAAAzAwA" + + "ADcACQAAAAAAAAAAAAAAnogAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRk" + + "LWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAkdwb+ZgZAACYGQAAOQAJ" + + "AAAAAAAAAAAAAADYlQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + + "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAA" + + "AAAAAAAAAAAA4K8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + + "ZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEADpw/l70OAAC9DgAAPQAJAAAAAAAA" + + "AAAAAABm1QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWls" + + "ZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCHK42YWhwAAFocAAA6AAkAAAAA" + + "AAAAAAAAAJfkAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJv" + + "bS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAFBj3GS2BwAAtgcAADkACQAAAAAA" + + "AAAAAAAAYgEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0" + + "ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQASkzNZ4CEAAOAhAAAuAAkAAAAAAAAA" + + "AAAAAIgJAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhANu+VPjXIgAA1yIAADAACQAAAAAAAAAAAAAAzSsBAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkAAAAAAAAAAAAAAAtPAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQAODAaVgSsAAIErAAAtAAkAAAAAAAAAAAAAAElWAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAA" + + "NwAJAAAAAAAAAAAAAAAuggEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + + "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAv2rl1QmIAAEJiAAAsAAkA" + + "AAAAAAAAAAAAABCUAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQArE7g/rVUAAK1VAAA0AAkAAAAAAAAAAAAAALX2AQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAzUwCAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAsnUCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAVj5nkJUwAACVMAAAOwAJAAAAAAAAAAAAAABHpgIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAwFYg548nAACPJwAARAAJAAAAAAAAAAAAAABO1wIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAA" + + "AABY/wIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + + "LXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAA" + + "AAAAAAAAhwcDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAPwdAwAAAA==" var ( skillDataOnce sync.Once From 2630d3aa64e64fe186aa9b9fffc990d70767022d Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 16 Sep 2026 01:48:38 +0530 Subject: [PATCH 029/127] fix(nvcf-cli): pin deletes to the inspected object and always credential-check an NGC endpoint --- .../examples/ci-pipelines.md | 6 +- .../nvcf-self-managed-cli/reference/flags.md | 2 +- .../agentskill/skilldata_generated.go | 6386 +++++++++-------- .../internal/selfhosted/clustervalidator.go | 18 +- .../nvcf-cli/internal/selfhosted/preflight.go | 24 +- .../internal/selfhosted/pullsecret.go | 19 +- .../internal/selfhosted/pullsecret_test.go | 66 + .../nvcf-cli/internal/selfhosted/register.go | 27 + .../internal/selfhosted/registry_cred.go | 25 + .../internal/selfhosted/registry_cred_test.go | 49 + .../selfhosted/stale_namespace_test.go | 58 + 11 files changed, 3470 insertions(+), 3210 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index e854a34373..f13e32d79a 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -12,15 +12,17 @@ deploy_nvcf: variables: KUBECONFIG: $KUBECONFIG_FILE script: - - nvcf-cli self-hosted check --pre --json | jq -e '.event != "phase_failed"' || exit 2 + - nvcf-cli self-hosted check --pre --json 2>&1 >/dev/null | grep '^{' | jq -e '.event != "phase_failed"' || exit 2 - nvcf-cli self-hosted up --cluster-name=$CLUSTER_NAME --token=$NVCF_ADMIN_JWT --non-interactive --json - - nvcf-cli self-hosted status --json | jq -e '.verdict == "healthy"' + - nvcf-cli self-hosted status --json 2>&1 >/dev/null | grep '^{' | jq -e '.verdict == "healthy"' ``` Notes: - `--non-interactive --token=$JWT` is required in CI; never use interactive `init`. - Always `--json` for machine-parsing. +- `--json` writes JSONL to stderr, not stdout, so redirect with `2>&1 >/dev/null` before a parser. +- stderr also carries plain-text notices, so filter to JSON lines. Do not add `--show-logs` here: it appends a non-JSON transcript to the same stream. - Final status check gates downstream stages on `verdict == "healthy"`. ## GitOps (Argo / Flux) pattern diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index fc184f9bd1..cdc0e0cf53 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -53,7 +53,7 @@ after the run, so the kubeconfig context needs permission to manage those. | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and falls back to minting one from `NGC_API_KEY` | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job (and its RBAC) after the run for debugging. The next run still sweeps prior Jobs | `false` | -| `--show-logs` | Print the validator transcript to stderr after the check events. Useful when piping `--json` to a script that also wants the transcript | `false` | +| `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | ## `up`-specific diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 8058db021a..d51dddae64 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,14 +31,14 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDI2NzAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDMwMjMsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxYjU2MzQyMmU4MWRkYWJiNDgxMzhkYWI4" + - "NmQ3ZTZkMTBmNDIyMWYwMDk5OGM1MjlhODc1NDZhYjlkZmQ5MjUyIiwKICAgICAgInNpemUiOiAy" + - "ODAxCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4NGVlNGE0MDc3MzRkYjkzZWRhMjg2OTBk" + + "NTk5OGU2ZWI0YjBlYTkwMTFlY2U4YWIxYWE2OWQyNzMzNjU2OTRmIiwKICAgICAgInNpemUiOiAz" + + "MTA3CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NGI1ZmE5YmNhZjBlMGE1M2Y3" + "ODkyMGI3M2ZjYjUzMGFiNjk0NTFiNDhhNWI0OTNmMjUyY2ExODU4M2FiMDg2IiwKICAgICAgInNp" + "emUiOiAxNzQ5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NmNhZGYyYjliZGMzYThj" + - "NmZjOWI2N2EzZTIxZjZmZjE2YTNiYzE5MjI1NDE3OTllYWJjNjAyY2Y3MmQxOTg3IiwKICAgICAg" + - "InNpemUiOiAxMTc1MgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJmMjNhZDhmYzViMGUyNTdk" + + "ZmQ0MmRlMGRjOTA0YmQ5ZTVhYTMxYmNkMTQ5ZWM4OWRmZWUxMjllYTU5NzRiYmZlIiwKICAgICAg" + + "InNpemUiOiAxMTc5OQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCGfXWVRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCE8jOeVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -550,3073 +550,2252 @@ const skillDataZipBase64 = "" + "cGxlCmRlcGxveV9udmNmOgogIHN0YWdlOiBkZXBsb3kKICBpbWFnZTogbnZjci5pby8wNjUxMTU1" + "MjE1ODY0OTc5L25jcC1kZXYvbnZjZi1jbGk6MS40LjAKICB2YXJpYWJsZXM6CiAgICBLVUJFQ09O" + "RklHOiAkS1VCRUNPTkZJR19GSUxFCiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtZSAnLmV2ZW50ICE9ICJwaGFzZV9mYWlsZWQiJyB8" + - "fCBleGl0IDIKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9JENM" + - "VVNURVJfTkFNRSAtLXRva2VuPSROVkNGX0FETUlOX0pXVCAtLW5vbi1pbnRlcmFjdGl2ZSAtLWpz" + - "b24KICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1lICcudmVy" + - "ZGljdCA9PSAiaGVhbHRoeSInCmBgYAoKTm90ZXM6CgotIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRv" + - "a2VuPSRKV1RgIGlzIHJlcXVpcmVkIGluIENJOyBuZXZlciB1c2UgaW50ZXJhY3RpdmUgYGluaXRg" + - "LgotIEFsd2F5cyBgLS1qc29uYCBmb3IgbWFjaGluZS1wYXJzaW5nLgotIEZpbmFsIHN0YXR1cyBj" + - "aGVjayBnYXRlcyBkb3duc3RyZWFtIHN0YWdlcyBvbiBgdmVyZGljdCA9PSAiaGVhbHRoeSJgLgoK" + - "IyMgR2l0T3BzIChBcmdvIC8gRmx1eCkgcGF0dGVybgoKQ0kgZG9lc24ndCBga3ViZWN0bCBhcHBs" + - "eWAg4oCUIGluc3RlYWQsIHJlbmRlciBtYW5pZmVzdHMsIGNvbW1pdCB0aGVtLCBsZXQgdGhlIGNv" + - "bnRyb2xsZXIgYXBwbHkuCgpgYGB5YW1sCnJlbmRlcjoKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIC0tbm8tYXBwbHkgPiByZW5kZXJl" + - "ZC9jb250cm9sLXBsYW5lLnlhbWwKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + - "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1uby1hcHBseSA+IHJlbmRlcmVk" + - "L2NvbXB1dGUtcGxhbmUueWFtbAogICAgLSBnaXQgYWRkIHJlbmRlcmVkLyAmJiBnaXQgY29tbWl0" + - "IC1tICJkZXBsb3kgTlZDRiAkVEFHIiAmJiBnaXQgcHVzaApgYGAKClRoZW4gQXJnb0NEIG9yIEZs" + - "dXggd2F0Y2hlcyBgcmVuZGVyZWQvYCBhbmQgYXBwbGllcy4gVGhlIENMSSBuZXZlciB0b3VjaGVz" + - "IHRoZSBjbHVzdGVyIGRpcmVjdGx5LgoKRm9yIHRoZSByZWdpc3RlciBzdGVwICh3aGljaCBtdXRh" + - "dGVzIElDTVMsIG5vdCBqdXN0IEs4cyk6CgpgYGB5YW1sCnJlZ2lzdGVyOgogIHNjcmlwdDoKICAg" + - "IC0gbnZjZi1jbGkgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9JE5BTUUgLS1uY2EtaWQ9JE5DQSAt" + - "LXJlZ2lvbj0kUkVHSU9OIC0taWdub3JlLWV4aXN0aW5nCmBgYAoKYC0taWdub3JlLWV4aXN0aW5n" + - "YCBpcyB0aGUgR2l0T3BzLWZyaWVuZGx5IGlkZW1wb3RlbnQgY29udHJhY3QuCgojIyBNdWx0aS1j" + - "bHVzdGVyIHBpcGVsaW5lCgpXaGVuIHRoZSBwaXBlbGluZSBtYW5hZ2VzIG1hbnkgY29tcHV0ZSBj" + - "bHVzdGVycyBhZ2FpbnN0IG9uZSBjb250cm9sIHBsYW5lOgoKYGBgeWFtbApkZXBsb3lfY29tcHV0" + - "ZV9wbGFuZXM6CiAgcGFyYWxsZWw6CiAgICBtYXRyaXg6CiAgICAgIC0gQ0xVU1RFUjogbmNwLWVh" + - "c3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1lYXN0LTEKICAgICAgLSBDTFVTVEVSOiBu" + - "Y3Atd2VzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LXdlc3QtMQogICAgICAtIENMVVNU" + - "RVI6IG5jcC1ldS0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWV1LTEKICBzY3JpcHQ6CiAg" + - "ICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNU" + - "RVIKICAgICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0taWNt" + - "cy11cmw9JElDTVNfUFVCTElDX1VSTAogICAgICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldUCiAg" + - "ICAgICAgLS1ub24taW50ZXJhY3RpdmUKICAgICAgICAtLWpzb24KYGBgCgpFYWNoIHBhcmFsbGVs" + - "IGpvYiByZWdpc3RlcnMgKyBpbnN0YWxscyBvbmUgY29tcHV0ZSBwbGFuZSBhZ2FpbnN0IHRoZSBz" + - "aGFyZWQgY29udHJvbCBwbGFuZS4gRmFpbHVyZXMgYXJlIGlzb2xhdGVkLgoKIyMgUGxhbi1vbmx5" + - "IHByZXZpZXcgaW4gUFJzCgpgYGB5YW1sCnByZXZpZXc6CiAgcnVsZXM6CiAgICAtIGlmOiAkQ0lf" + - "UElQRUxJTkVfU09VUkNFID09ICJtZXJnZV9yZXF1ZXN0X2V2ZW50IgogIHNjcmlwdDoKICAgIC0g" + - "fAogICAgICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9" + - "JENMVVNURVJfTkFNRSBcCiAgICAgICAgLS1wbGFuLW9ubHkgXAogICAgICAgIC0tanNvbiB8IHRl" + - "ZSBwbGFuLmpzb25sCiAgICAtIGpxIC1zICcuWzBdJyBwbGFuLmpzb25sID4gcGxhbi5qc29uCiAg" + - "ICAtICdnaXRsYWItbXItY29tbWVudCAiIyMgTlZDRiBkZXBsb3kgcGxhblxuXG5cYFxgXGBqc29u" + - "XG4kKGNhdCBwbGFuLmpzb24pXG5cYFxgXGAiJwpgYGAKCmAtLXBsYW4tb25seWAgZXhpdHMgMCB3" + - "aXRob3V0IGNoYW5naW5nIGNsdXN0ZXIgc3RhdGU7IHRoZSBKU09OTCBvdXRwdXQgbGlzdHMgZWFj" + - "aCBwaGFzZSArIEVUQS4gUmVuZGVycyBuaWNlbHkgYXMgYW4gTVIgY29tbWVudC4KUEsHCJy3fgfx" + - "CgAA8QoAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhIjIE11bHRpLWNsdXN0ZXIg" + - "cGF0dGVybnMKCkV4YW1wbGVzIG9mIHNwbGl0LWNsdXN0ZXIgKyBtYW55LWNvbXB1dGUtcGxhbmUg" + - "b3BlcmF0aW9uLgoKIyMgT25lIGNvbnRyb2wgcGxhbmUgKyBOIGNvbXB1dGUgcGxhbmVzCgpUaGUg" + - "Y2Fub25pY2FsIG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kuIEVhY2ggY29tcHV0ZSBwbGFuZSBpcyBy" + - "ZWdpc3RlcmVkIHNlcGFyYXRlbHk6CgpgYGBzaAojIDEuIEJyaW5nIHVwIHRoZSBjb250cm9sIHBs" + - "YW5lIChvbmUtdGltZSwgb24gdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlcik6CktVQkVDT05GSUc9" + - "Y3AueWFtbCBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQpudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbnRyb2wtcGxh" + - "bmUgLS13YWl0IDVtCgojIDIuIFJlZ2lzdGVyICsgaW5zdGFsbCBlYWNoIGNvbXB1dGUgcGxhbmU6" + - "CmZvciBDVFggaW4gYWRtaW5AZ3B1LWVhc3QtMSBhZG1pbkBncHUtd2VzdC0xIGFkbWluQGdwdS1l" + - "dS0xOyBkbwogIE5BTUU9JChlY2hvICIkQ1RYIiB8IGN1dCAtZEAgLWYyKQogIG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVwIFwKICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tY29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PSRDVFggXAogICAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFt" + - "cGxlLmNvbSBcCiAgICAtLXRva2VuPSROVkNGX0FETUlOX0pXVCBcCiAgICAtLW5vbi1pbnRlcmFj" + - "dGl2ZSBcCiAgICAtLWpzb24KZG9uZQoKIyAzLiBWZXJpZnkgYWxsIGNvbXB1dGUgcGxhbmVzIHJl" + - "Z2lzdGVyZWQ6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0Ff" + - "SUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgJy5jbHVzdGVyc1tdIHwge25hbWU6" + - "IC5jbHVzdGVyTmFtZSwgc3RhdHVzLCBudmNhVmVyc2lvbn0nCmBgYAoKIyMgQ29tcHV0ZS1wbGFu" + - "ZS1vbmx5IG9wZXJhdG9yIHNjZW5hcmlvCgpUaGUgb3BlcmF0b3IgaGFzIGt1YmVjdGwgYWNjZXNz" + - "IHRvIE9ORSBjb21wdXRlIHBsYW5lIG9ubHkg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIG9wZXJh" + - "dGVkIGJ5IHNvbWVvbmUgZWxzZSAoZS5nLiBZb3R0YSBydW5zIHRoZSBjb250cm9sIHBsYW5lIGZv" + - "ciBhIGN1c3RvbWVyKS4KCmBgYHNoCiMgTWludCBhIHRva2VuIHZpYSB0aGUgcHVibGljIGFwaSBn" + - "YXRld2F5ICh0aGUgY29udHJvbCBwbGFuZSdzIEFQSSBLZXlzCiMgc2VydmljZSBpcyByZWFjaGFi" + - "bGUgdmlhIGFwaS5udmNmLmV4YW1wbGUuY29tIOKAlCBubyBrdWJlY3RsIGFjY2VzcyBuZWVkZWQp" + - "OgpudmNmLWNsaSBpbml0IC0tYXBpLXVybD1odHRwczovL2FwaS5udmNmLmV4YW1wbGUuY29tCgoj" + - "IFJ1biBwcmUtZmxpZ2h0IHNjb3BlZCB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5OgpudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRt" + - "aW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAg" + - "LS1qc29uCgojIEJyaW5nIHVwIGp1c3QgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHVwIFwKICAtLWNsdXN0ZXItbmFtZT1teS1jb21wdXRlLTEgXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2Yu" + - "ZXhhbXBsZS5jb20gXAogIC0tdG9rZW49JEFETUlOX0pXVCBcCiAgLS1ub24taW50ZXJhY3RpdmUK" + - "CiMgU3RhdHVzIChjb21wdXRlLW9ubHkg4oCUIG9wZXJhdG9yIGNhbid0IHNlZSBjb250cm9sLXBs" + - "YW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogIC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9p" + - "Y21zLm52Y2YuZXhhbXBsZS5jb20KYGBgCgojIyBGdW5jdGlvbnMgdGFyZ2V0aW5nIHNwZWNpZmlj" + - "IGNvbXB1dGUgcGxhbmVzCgpXaGVuIHlvdSBoYXZlIG11bHRpcGxlIGNvbXB1dGUgcGxhbmVzIGFu" + - "ZCB3YW50IGEgZnVuY3Rpb24gdG8gZGVwbG95IHRvIG9uZToKCmBgYGpzb24KewogICJmdW5jdGlv" + - "bklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50" + - "U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUi" + - "OiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3Rh" + - "bmNlcyI6IDEsCiAgICAiY2x1c3RlcnMiOiBbImdwdS1lYXN0LTEiXQogIH1dCn0KYGBgCgpUaGUg" + - "YGNsdXN0ZXJzYCBhcnJheSAodXNpbmcgY2x1c3RlciBuYW1lcywgbm90IElEcykgbGltaXRzIHNj" + - "aGVkdWxpbmcgdG8gdGhvc2UgY29tcHV0ZSBwbGFuZXMuIE9taXQgdG8gbGV0IElDTVMgY2hvb3Nl" + - "IGFueSBjb21wdXRlIHBsYW5lIHdpdGggYSBtYXRjaGluZyBTS1UuCgojIyBTdGF0dXMgZmFuLW91" + - "dCBhY3Jvc3MgY29tcHV0ZSBwbGFuZXMKCmBgYHNoCiMgTGlzdCBhbGwgcmVnaXN0ZXJlZCBjb21w" + - "dXRlIHBsYW5lczoKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5D" + - "QV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBcCiAgfCBqcSAtciAnLmNsdXN0ZXJzW10uY2x1" + - "c3Rlck5hbWUnID4gY2x1c3RlcnMudHh0CgojIFN0YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0ZSBw" + - "bGFuZSAoYXNzdW1pbmcgZWFjaCBjb250ZXh0IG5hbWUgbWF0Y2hlcyk6CndoaWxlIHJlYWQgTkFN" + - "RTsgZG8KICBlY2hvICI9PT0gJE5BTUUgPT09IgogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1" + - "cyBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD1hZG1pbkAkTkFNRSBcCiAgICAtLWpzb24gfCBqcSAtYyAne2NsdXN0ZXI6LmNsdXN0ZXIsIHZl" + - "cmRpY3Q6LnZlcmRpY3QsIHJlY29uY2lsZToucmVjb25jaWxlQWdlU2VjfScKZG9uZSA8IGNsdXN0" + - "ZXJzLnR4dApgYGAKCkEgZnV0dXJlIE0rMTEgbWlsZXN0b25lIHdpbGwgYWRkIG5hdGl2ZSBmYW4t" + - "b3V0IChgc3RhdHVzIC0tYWxsLWNvbXB1dGUtcGxhbmVzYCkgc28gdGhpcyBkb2Vzbid0IG5lZWQg" + - "YSBzaGVsbCBsb29wLgpQSwcIoRTjgV0MAABdDAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5t" + - "ZFVUBQABAKbOEiMgQWRkIGEgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBs" + - "YW5lCgpVc2VyIGhhcyBhIHdvcmtpbmcgTlZDRiBjb250cm9sIHBsYW5lIChydW5uaW5nIHNvbWV3" + - "aGVyZSkgYW5kIHdhbnRzIHRvIHJlZ2lzdGVyIGEgbmV3IEdQVSBjbHVzdGVyIGFnYWluc3QgaXQu" + - "IFRoaXMgaXMgdGhlIG11bHRpLWNsdXN0ZXIgc2NhbGluZyBwYXRoOiBvbmUgY29udHJvbCBwbGFu" + - "ZSDihpIgTiBjb21wdXRlIHBsYW5lcy4KCiMjIFByZXJlcXVpc2l0ZXMgdGhlIHVzZXIgbXVzdCBo" + - "YXZlCgotICoqa3ViZWN0bCBjb250ZXh0IGZvciB0aGUgbmV3IGNvbXB1dGUgcGxhbmUqKiBpbiB0" + - "aGVpciBgS1VCRUNPTkZJR2AuCi0gKipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3Rpbmcg" + - "Y29udHJvbCBwbGFuZSAoZS5nLiBgaHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAq" + - "KkFkbWluIEpXVCoqIGZvciB0aGUgY29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkg" + - "dG8gbWludCBvbmUgdmlhIGBudmNmLWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5l" + - "J3MgcHVibGljIGFwaSBlbmRwb2ludC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBL" + - "ZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNz" + - "IHRvIHRoZSBjb250cm9sIHBsYW5lIGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBB" + - "IHVuaXF1ZSBgLS1jbHVzdGVyLW5hbWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFk" + - "eS1yZWdpc3RlcmVkIGNsdXN0ZXJzLiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3Rl" + - "cmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVw" + - "cwoKMS4gKipBc2sgZm9yIGlucHV0czoqKgogICAtIGAtLWNsdXN0ZXItbmFtZT08dW5pcXVlPmAg" + - "4oCUIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgY29udHJvbCBwbGFuZSdzIE5DQSBzY29wZQog" + - "ICAtIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD08Y29udGV4dD5gIOKAlCB0aGUgbmV3IEdQVSBj" + - "bHVzdGVyJ3Mga3ViZWN0bCBjb250ZXh0CiAgIC0gYC0taWNtcy11cmw9PGh0dHBzOi8vaWNtcy5u" + - "dmNmLmV4YW1wbGUuY29tPmAg4oCUIGNvbnRyb2wgcGxhbmUncyBwdWJsaWMgSUNNUyBVUkwKICAg" + - "LSBHUFUgdHlwZT8gKGRlZmF1bHQgYEgxMDBgLCBidXQgYXNrKQoKMi4gKipQcmUtZmxpZ2h0IGp1" + - "c3QgdGhlIGNvbXB1dGUgcGxhbmU6KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgICAt" + - "LWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAgIGBgYAoKICAgVGhpcyB2" + - "YWxpZGF0ZXMgdGhlIEdQVSBvcGVyYXRvciBpcyBpbnN0YWxsZWQsIEdQVSBub2RlIGxhYmVscyBh" + - "cmUgcHJlc2VudCwgYW5kIElDTVMgaXMgcmVhY2hhYmxlIHZpYSBIVFRQLiBBZGRyZXNzIGFueSBm" + - "YWlsdXJlcyBiZWZvcmUgcHJvY2VlZGluZy4KCjMuICoqUnVuIGBhZGQtY29tcHV0ZS1wbGFuZWA6" + - "KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIFwK" + - "ICAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9" + - "JENUWCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS10b2tlbj0kSldUIFwKICAgICAt" + - "LW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgVGhpcyBpcyBhIHNlcGFy" + - "YXRlIHN1YmNvbW1hbmQgZnJvbSBgdXBgLiBJdCBydW5zIG9ubHkgdGhlIGNvbXB1dGUtcGxhbmUt" + - "cmVsZXZhbnQgcGhhc2VzOiAxIChjb21wdXRlLXBsYW5lIHByZWZsaWdodCksIDUgKHJlZ2lzdGVy" + - "KSwgNiAoY29tcHV0ZS1wbGFuZSBhcHBseSksIDggKGZpbmFsIGhlYWx0aCBvbiB0aGUgbmV3IGNv" + - "bXB1dGUgcGxhbmUpLiBJdCBkb2VzIE5PVCB0b3VjaCB0aGUgY29udHJvbCBwbGFuZSBhbmQgZG9l" + - "cyBOT1QgYWNjZXB0IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dGAg4oCUIHRoZSBjb250cm9sIHBs" + - "YW5lIGlzIHJlYWNoZWQgb3ZlciBIVFRQUyBhdCBgLS1pY21zLXVybGAuIGAtLXRva2VuYCBpcyBy" + - "ZXF1aXJlZCBiZWNhdXNlIHRoZXJlJ3Mgbm8ga3ViZWN0bCBwYXRoIHRvIG1pbnQgb25lIGZyb20u" + - "Cgo0LiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tY2x1c3Rlci1u" + - "YW1lPSROQU1FIC0tanNvbiB8IGpxYCDigJQgZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBU" + - "aGUgUmVnaXN0ZXJlZCBDb21wdXRlIFBsYW5lcyBwYW5lbCBmcm9tIElDTVMgc2hvdWxkIG5vdyBs" + - "aXN0IHRoZSBuZXcgY2x1c3Rlci4KCjUuICoqU21va2UuKiogW2RlcGxveS1hbmQtaW52b2tlLm1k" + - "XShkZXBsb3ktYW5kLWludm9rZS5tZCkg4oCUIGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRo" + - "ZSBuZXcgY29tcHV0ZSBwbGFuZSB0byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0" + - "IGlmIGEgY2x1c3RlciB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgYWRkLWNv" + - "bXB1dGUtcGxhbmVgJ3MgcmVnaXN0ZXIgcGhhc2UgdXNlcyBgLS1pZ25vcmUtZXhpc3RpbmdgIHNl" + - "bWFudGljcyDigJQgaXQnbGwgbWF0Y2ggdGhlIGV4aXN0aW5nIElDTVMgcm93IGFuZCByZXVzZSBp" + - "dHMgY2x1c3RlcklkLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBzYW1l" + - "IGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQgd2Fz" + - "IHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0gKipE" + - "aWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQgYXR0" + - "ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSdz" + - "IEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUgcGxh" + - "bmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmlybSB3" + - "aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4gZG91" + - "YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9J" + - "RCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9jZWVk" + - "aW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwhCJ0kPBQ0AAAUNAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEgdGFz" + - "awoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25pdG9y" + - "IC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMKClRo" + - "ZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRpb24g" + - "c2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0" + - "ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+IGZ1" + - "bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJvdGgg" + - "a2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5OgoK" + - "YGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249" + - "InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFjaCBr" + - "ZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGggLS12" + - "YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4gdGFz" + - "ayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2YWx1" + - "ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUga2V5" + - "IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVyIHRo" + - "ZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUgcnVu" + - "bmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJpZnkg" + - "Y3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoKCiAg" + - "IGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVjaG8g" + - "c2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVkIGtl" + - "eSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRob24z" + - "IC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+Ly5u" + - "dmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0KCdu" + - "dmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4cGly" + - "eSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAgbnZj" + - "Zi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1k" + - "ZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBgYGAK" + - "CjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRob3V0" + - "IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4IOKA" + - "lCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9uOgoK" + - "LSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkgbm90" + - "IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQgb3Ig" + - "d3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsgbm8g" + - "dGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5lIHRo" + - "ZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoKCmBg" + - "YGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lmaWNh" + - "dGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUu" + - "SDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVySW1h" + - "Z2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjogInB5" + - "dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxpbmdT" + - "dHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1" + - "dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpD" + - "YXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2UgY2Fu" + - "IGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNlcXVl" + - "bnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2YWxl" + - "bnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1jbGkg" + - "dGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9SDEw" + - "MCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5jcC1s" + - "b2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250YWlu" + - "ZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVzdWx0" + - "LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXI6" + - "CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWluZXIu" + - "anNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQgdmFy" + - "aWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkgdGFz" + - "ayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFpbmVy" + - "LWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoKb3Ig" + - "c2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZpcm9u" + - "bWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAi" + - "c2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0In0K" + - "ICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVybmVk" + - "IGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0uCgoj" + - "IyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBgY29u" + - "dGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9r" + - "ZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAwIiwK" + - "ICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjogIm5j" + - "cC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29t" + - "Lzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxpbmdT" + - "dHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1" + - "dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhlbG1D" + - "aGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMjIDNi" + - "LiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFzayB1" + - "cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBkYXRl" + - "LXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFk" + - "ZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0aGUg" + - "cmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8gY2hh" + - "dC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + - "Z2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcKYGBg" + - "CgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNlbnQg" + - "YHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZhbHVl" + - "czogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVE" + - "YCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVE" + - "X01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBwcm9n" + - "cmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZXZl" + - "bnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBjaGVj" + - "ayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJlZ2lz" + - "dGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklmIHRo" + - "ZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMgdGhl" + - "IGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0aGUg" + - "dGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApga3Vi" + - "ZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoKIyMg" + - "NS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRl" + - "Z3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNsaSB0" + - "YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRhc2tz" + - "IHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2FkIHRv" + - "IHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBjcmVk" + - "ZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVyCnRo" + - "ZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMg" + - "PHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRlZCBp" + - "biB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6Cgpg" + - "YGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRhc2sg" + - "cmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2YtY2xp" + - "IHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNl" + - "ciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0cyBj" + - "dXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJvbXB0" + - "IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0IGxh" + - "c3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90IGJl" + - "IHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNlZnVs" + - "IGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2YtY2xp" + - "IHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFtaWx5" + - "IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1c3Rl" + - "ciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBpbmRl" + - "ZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lzdGVy" + - "ZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMsIGVu" + - "c3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhlbHBl" + - "ciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tlIGEg" + - "Y29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24gQ1JF" + - "QVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZPS0Uu" + - "CgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09OIGZp" + - "bGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBl" + - "eGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4gSWYg" + - "ZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBz" + - "dWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1l" + - "IjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29u" + - "ZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAogICJp" + - "bmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hvIGZ1" + - "bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0Ijog" + - "IkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmki" + - "OiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAg" + - "ICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgZnVu" + - "Y3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlvbiBJ" + - "RDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElEcyDi" + - "gJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rpb24g" + - "dmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5j" + - "dGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5s" + - "bG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhh" + - "Y3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRoIHRo" + - "ZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52" + + "ZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLWUg" + + "Jy5ldmVudCAhPSAicGhhc2VfZmFpbGVkIicgfHwgZXhpdCAyCiAgICAtIG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgLS10b2tlbj0kTlZDRl9BRE1J" + + "Tl9KV1QgLS1ub24taW50ZXJhY3RpdmUgLS1qc29uCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHN0YXR1cyAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLWUgJy52ZXJk" + + "aWN0ID09ICJoZWFsdGh5IicKYGBgCgpOb3RlczoKCi0gYC0tbm9uLWludGVyYWN0aXZlIC0tdG9r" + + "ZW49JEpXVGAgaXMgcmVxdWlyZWQgaW4gQ0k7IG5ldmVyIHVzZSBpbnRlcmFjdGl2ZSBgaW5pdGAu" + + "Ci0gQWx3YXlzIGAtLWpzb25gIGZvciBtYWNoaW5lLXBhcnNpbmcuCi0gYC0tanNvbmAgd3JpdGVz" + + "IEpTT05MIHRvIHN0ZGVyciwgbm90IHN0ZG91dCwgc28gcmVkaXJlY3Qgd2l0aCBgMj4mMSA+L2Rl" + + "di9udWxsYCBiZWZvcmUgYSBwYXJzZXIuCi0gc3RkZXJyIGFsc28gY2FycmllcyBwbGFpbi10ZXh0" + + "IG5vdGljZXMsIHNvIGZpbHRlciB0byBKU09OIGxpbmVzLiBEbyBub3QgYWRkIGAtLXNob3ctbG9n" + + "c2AgaGVyZTogaXQgYXBwZW5kcyBhIG5vbi1KU09OIHRyYW5zY3JpcHQgdG8gdGhlIHNhbWUgc3Ry" + + "ZWFtLgotIEZpbmFsIHN0YXR1cyBjaGVjayBnYXRlcyBkb3duc3RyZWFtIHN0YWdlcyBvbiBgdmVy" + + "ZGljdCA9PSAiaGVhbHRoeSJgLgoKIyMgR2l0T3BzIChBcmdvIC8gRmx1eCkgcGF0dGVybgoKQ0kg" + + "ZG9lc24ndCBga3ViZWN0bCBhcHBseWAg4oCUIGluc3RlYWQsIHJlbmRlciBtYW5pZmVzdHMsIGNv" + + "bW1pdCB0aGVtLCBsZXQgdGhlIGNvbnRyb2xsZXIgYXBwbHkuCgpgYGB5YW1sCnJlbmRlcjoKICBz" + + "Y3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + + "IC0tbm8tYXBwbHkgPiByZW5kZXJlZC9jb250cm9sLXBsYW5lLnlhbWwKICAgIC0gbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUg" + + "LS1uby1hcHBseSA+IHJlbmRlcmVkL2NvbXB1dGUtcGxhbmUueWFtbAogICAgLSBnaXQgYWRkIHJl" + + "bmRlcmVkLyAmJiBnaXQgY29tbWl0IC1tICJkZXBsb3kgTlZDRiAkVEFHIiAmJiBnaXQgcHVzaApg" + + "YGAKClRoZW4gQXJnb0NEIG9yIEZsdXggd2F0Y2hlcyBgcmVuZGVyZWQvYCBhbmQgYXBwbGllcy4g" + + "VGhlIENMSSBuZXZlciB0b3VjaGVzIHRoZSBjbHVzdGVyIGRpcmVjdGx5LgoKRm9yIHRoZSByZWdp" + + "c3RlciBzdGVwICh3aGljaCBtdXRhdGVzIElDTVMsIG5vdCBqdXN0IEs4cyk6CgpgYGB5YW1sCnJl" + + "Z2lzdGVyOgogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9" + + "JE5BTUUgLS1uY2EtaWQ9JE5DQSAtLXJlZ2lvbj0kUkVHSU9OIC0taWdub3JlLWV4aXN0aW5nCmBg" + + "YAoKYC0taWdub3JlLWV4aXN0aW5nYCBpcyB0aGUgR2l0T3BzLWZyaWVuZGx5IGlkZW1wb3RlbnQg" + + "Y29udHJhY3QuCgojIyBNdWx0aS1jbHVzdGVyIHBpcGVsaW5lCgpXaGVuIHRoZSBwaXBlbGluZSBt" + + "YW5hZ2VzIG1hbnkgY29tcHV0ZSBjbHVzdGVycyBhZ2FpbnN0IG9uZSBjb250cm9sIHBsYW5lOgoK" + + "YGBgeWFtbApkZXBsb3lfY29tcHV0ZV9wbGFuZXM6CiAgcGFyYWxsZWw6CiAgICBtYXRyaXg6CiAg" + + "ICAgIC0gQ0xVU1RFUjogbmNwLWVhc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1lYXN0" + + "LTEKICAgICAgLSBDTFVTVEVSOiBuY3Atd2VzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1" + + "LXdlc3QtMQogICAgICAtIENMVVNURVI6IG5jcC1ldS0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5A" + + "Z3B1LWV1LTEKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwCiAgICAgICAg" + + "LS1jbHVzdGVyLW5hbWU9JENMVVNURVIKICAgICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0k" + + "Q09OVEVYVAogICAgICAgIC0taWNtcy11cmw9JElDTVNfUFVCTElDX1VSTAogICAgICAgIC0tdG9r" + + "ZW49JE5WQ0ZfQURNSU5fSldUCiAgICAgICAgLS1ub24taW50ZXJhY3RpdmUKICAgICAgICAtLWpz" + + "b24KYGBgCgpFYWNoIHBhcmFsbGVsIGpvYiByZWdpc3RlcnMgKyBpbnN0YWxscyBvbmUgY29tcHV0" + + "ZSBwbGFuZSBhZ2FpbnN0IHRoZSBzaGFyZWQgY29udHJvbCBwbGFuZS4gRmFpbHVyZXMgYXJlIGlz" + + "b2xhdGVkLgoKIyMgUGxhbi1vbmx5IHByZXZpZXcgaW4gUFJzCgpgYGB5YW1sCnByZXZpZXc6CiAg" + + "cnVsZXM6CiAgICAtIGlmOiAkQ0lfUElQRUxJTkVfU09VUkNFID09ICJtZXJnZV9yZXF1ZXN0X2V2" + + "ZW50IgogIHNjcmlwdDoKICAgIC0gfAogICAgICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAg" + + "ICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVJfTkFNRSBcCiAgICAgICAgLS1wbGFuLW9ubHkg" + + "XAogICAgICAgIC0tanNvbiB8IHRlZSBwbGFuLmpzb25sCiAgICAtIGpxIC1zICcuWzBdJyBwbGFu" + + "Lmpzb25sID4gcGxhbi5qc29uCiAgICAtICdnaXRsYWItbXItY29tbWVudCAiIyMgTlZDRiBkZXBs" + + "b3kgcGxhblxuXG5cYFxgXGBqc29uXG4kKGNhdCBwbGFuLmpzb24pXG5cYFxgXGAiJwpgYGAKCmAt" + + "LXBsYW4tb25seWAgZXhpdHMgMCB3aXRob3V0IGNoYW5naW5nIGNsdXN0ZXIgc3RhdGU7IHRoZSBK" + + "U09OTCBvdXRwdXQgbGlzdHMgZWFjaCBwaGFzZSArIEVUQS4gUmVuZGVycyBuaWNlbHkgYXMgYW4g" + + "TVIgY29tbWVudC4KUEsHCG3jewUjDAAAIwwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUA" + + "AQCmzhIjIE11bHRpLWNsdXN0ZXIgcGF0dGVybnMKCkV4YW1wbGVzIG9mIHNwbGl0LWNsdXN0ZXIg" + + "KyBtYW55LWNvbXB1dGUtcGxhbmUgb3BlcmF0aW9uLgoKIyMgT25lIGNvbnRyb2wgcGxhbmUgKyBO" + + "IGNvbXB1dGUgcGxhbmVzCgpUaGUgY2Fub25pY2FsIG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kuIEVh" + + "Y2ggY29tcHV0ZSBwbGFuZSBpcyByZWdpc3RlcmVkIHNlcGFyYXRlbHk6CgpgYGBzaAojIDEuIEJy" + + "aW5nIHVwIHRoZSBjb250cm9sIHBsYW5lIChvbmUtdGltZSwgb24gdGhlIGNvbnRyb2wtcGxhbmUg" + + "Y2x1c3Rlcik6CktVQkVDT05GSUc9Y3AueWFtbCBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxs" + + "IC0tY29udHJvbC1wbGFuZSB8IGt1YmVjdGwgYXBwbHkgLWYgLQpudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgLS13YWl0IDVtCgojIDIuIFJlZ2lzdGVyICsgaW5zdGFs" + + "bCBlYWNoIGNvbXB1dGUgcGxhbmU6CmZvciBDVFggaW4gYWRtaW5AZ3B1LWVhc3QtMSBhZG1pbkBn" + + "cHUtd2VzdC0xIGFkbWluQGdwdS1ldS0xOyBkbwogIE5BTUU9JChlY2hvICIkQ1RYIiB8IGN1dCAt" + + "ZEAgLWYyKQogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgIC0tY2x1c3Rlci1uYW1lPSRO" + + "QU1FIFwKICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSRDVFggXAogICAgLS1pY21zLXVybD1o" + + "dHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgICAtLXRva2VuPSROVkNGX0FETUlOX0pX" + + "VCBcCiAgICAtLW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAtLWpzb24KZG9uZQoKIyAzLiBWZXJpZnkg" + + "YWxsIGNvbXB1dGUgcGxhbmVzIHJlZ2lzdGVyZWQ6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdp" + + "c3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEg" + + "Jy5jbHVzdGVyc1tdIHwge25hbWU6IC5jbHVzdGVyTmFtZSwgc3RhdHVzLCBudmNhVmVyc2lvbn0n" + + "CmBgYAoKIyMgQ29tcHV0ZS1wbGFuZS1vbmx5IG9wZXJhdG9yIHNjZW5hcmlvCgpUaGUgb3BlcmF0" + + "b3IgaGFzIGt1YmVjdGwgYWNjZXNzIHRvIE9ORSBjb21wdXRlIHBsYW5lIG9ubHkg4oCUIHRoZSBj" + + "b250cm9sIHBsYW5lIGlzIG9wZXJhdGVkIGJ5IHNvbWVvbmUgZWxzZSAoZS5nLiBZb3R0YSBydW5z" + + "IHRoZSBjb250cm9sIHBsYW5lIGZvciBhIGN1c3RvbWVyKS4KCmBgYHNoCiMgTWludCBhIHRva2Vu" + + "IHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5ICh0aGUgY29udHJvbCBwbGFuZSdzIEFQSSBLZXlz" + + "CiMgc2VydmljZSBpcyByZWFjaGFibGUgdmlhIGFwaS5udmNmLmV4YW1wbGUuY29tIOKAlCBubyBr" + + "dWJlY3RsIGFjY2VzcyBuZWVkZWQpOgpudmNmLWNsaSBpbml0IC0tYXBpLXVybD1odHRwczovL2Fw" + + "aS5udmNmLmV4YW1wbGUuY29tCgojIFJ1biBwcmUtZmxpZ2h0IHNjb3BlZCB0byB0aGUgY29tcHV0" + + "ZSBwbGFuZSBvbmx5OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMu" + + "bnZjZi5leGFtcGxlLmNvbSBcCiAgLS1qc29uCgojIEJyaW5nIHVwIGp1c3QgdGhlIGNvbXB1dGUg" + + "cGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAtLWNsdXN0ZXItbmFtZT1teS1jb21w" + + "dXRlLTEgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11" + + "cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9rZW49JEFETUlOX0pXVCBc" + + "CiAgLS1ub24taW50ZXJhY3RpdmUKCiMgU3RhdHVzIChjb21wdXRlLW9ubHkg4oCUIG9wZXJhdG9y" + + "IGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBzdGF0dXMgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAog" + + "IC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20KYGBgCgojIyBGdW5jdGlv" + + "bnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVzCgpXaGVuIHlvdSBoYXZlIG11bHRp" + + "cGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rpb24gdG8gZGVwbG95IHRvIG9uZToK" + + "CmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZl" + + "cl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAw" + + "IiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5j" + + "ZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAiY2x1c3RlcnMiOiBbImdwdS1lYXN0" + + "LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJheSAodXNpbmcgY2x1c3RlciBuYW1l" + + "cywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhvc2UgY29tcHV0ZSBwbGFuZXMuIE9t" + + "aXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBsYW5lIHdpdGggYSBtYXRjaGluZyBT" + + "S1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0ZSBwbGFuZXMKCmBgYHNoCiMgTGlz" + + "dCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJl" + + "Z2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBcCiAgfCBq" + + "cSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1c3RlcnMudHh0CgojIFN0YXR1cyBz" + + "bmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcgZWFjaCBjb250ZXh0IG5hbWUgbWF0" + + "Y2hlcyk6CndoaWxlIHJlYWQgTkFNRTsgZG8KICBlY2hvICI9PT0gJE5BTUUgPT09IgogIG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkAkTkFNRSBcCiAgICAtLWpzb24gfCBqcSAtYyAn" + + "e2NsdXN0ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3QsIHJlY29uY2lsZToucmVjb25jaWxl" + + "QWdlU2VjfScKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJlIE0rMTEgbWlsZXN0b25l" + + "IHdpbGwgYWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0tYWxsLWNvbXB1dGUtcGxhbmVzYCkg" + + "c28gdGhpcyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQSwcIoRTjgV0MAABdDAAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRkIGEgY29tcHV0ZSBwbGFuZSB0byBh" + + "biBleGlzdGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtpbmcgTlZDRiBjb250cm9s" + + "IHBsYW5lIChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJlZ2lzdGVyIGEgbmV3IEdQ" + + "VSBjbHVzdGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11bHRpLWNsdXN0ZXIgc2NhbGluZyBw" + + "YXRoOiBvbmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRlIHBsYW5lcy4KCiMjIFByZXJlcXVp" + + "c2l0ZXMgdGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0bCBjb250ZXh0IGZvciB0aGUgbmV3" + + "IGNvbXB1dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJR2AuCi0gKipQdWJsaWMgSUNNUyBV" + + "UkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAoZS5nLiBgaHR0cHM6Ly9pY21zLm52" + + "Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZvciB0aGUgY29udHJvbCBwbGFuZSdz" + + "IGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlhIGBudmNmLWNsaSBpbml0YCBhZ2Fp" + + "bnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBlbmRwb2ludC4gKEFkbWluIHRva2Vu" + + "cyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3" + + "YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9sIHBsYW5lIGlzIE5PVCByZXF1aXJl" + + "ZCB0byBvYnRhaW4gb25lLikKLSBBIHVuaXF1ZSBgLS1jbHVzdGVyLW5hbWVgIHRoYXQgZG9lc24n" + + "dCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJzLiBVc2UgYG52Y2YtY2xp" + + "IGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNN" + + "U2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gKipBc2sgZm9yIGlucHV0czoqKgogICAtIGAtLWNs" + + "dXN0ZXItbmFtZT08dW5pcXVlPmAg4oCUIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgY29udHJv" + + "bCBwbGFuZSdzIE5DQSBzY29wZQogICAtIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD08Y29udGV4" + + "dD5gIOKAlCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3Mga3ViZWN0bCBjb250ZXh0CiAgIC0gYC0taWNt" + + "cy11cmw9PGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tPmAg4oCUIGNvbnRyb2wgcGxhbmUn" + + "cyBwdWJsaWMgSUNNUyBVUkwKICAgLSBHUFUgdHlwZT8gKGRlZmF1bHQgYEgxMDBgLCBidXQgYXNr" + + "KQoKMi4gKipQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUgcGxhbmU6KioKCiAgIGBgYHNoCiAg" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gfCBqcSAt" + + "YyAuCiAgIGBgYAoKICAgVGhpcyB2YWxpZGF0ZXMgdGhlIEdQVSBvcGVyYXRvciBpcyBpbnN0YWxs" + + "ZWQsIEdQVSBub2RlIGxhYmVscyBhcmUgcHJlc2VudCwgYW5kIElDTVMgaXMgcmVhY2hhYmxlIHZp" + + "YSBIVFRQLiBBZGRyZXNzIGFueSBmYWlsdXJlcyBiZWZvcmUgcHJvY2VlZGluZy4KCjMuICoqUnVu" + + "IGBhZGQtY29tcHV0ZS1wbGFuZWA6KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGFkZC1jb21wdXRlLXBsYW5lIFwKICAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAgLS1j" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAg" + + "LS10b2tlbj0kSldUIFwKICAgICAtLW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAgLS1qc29uCiAgIGBg" + + "YAoKICAgVGhpcyBpcyBhIHNlcGFyYXRlIHN1YmNvbW1hbmQgZnJvbSBgdXBgLiBJdCBydW5zIG9u" + + "bHkgdGhlIGNvbXB1dGUtcGxhbmUtcmVsZXZhbnQgcGhhc2VzOiAxIChjb21wdXRlLXBsYW5lIHBy" + + "ZWZsaWdodCksIDUgKHJlZ2lzdGVyKSwgNiAoY29tcHV0ZS1wbGFuZSBhcHBseSksIDggKGZpbmFs" + + "IGhlYWx0aCBvbiB0aGUgbmV3IGNvbXB1dGUgcGxhbmUpLiBJdCBkb2VzIE5PVCB0b3VjaCB0aGUg" + + "Y29udHJvbCBwbGFuZSBhbmQgZG9lcyBOT1QgYWNjZXB0IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + + "dGAg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIHJlYWNoZWQgb3ZlciBIVFRQUyBhdCBgLS1pY21z" + + "LXVybGAuIGAtLXRva2VuYCBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZXJlJ3Mgbm8ga3ViZWN0bCBw" + + "YXRoIHRvIG1pbnQgb25lIGZyb20uCgo0LiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxYCDigJQgZXhwZWN0IGB2" + + "ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0ZXJlZCBDb21wdXRlIFBsYW5lcyBwYW5lbCBm" + + "cm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBuZXcgY2x1c3Rlci4KCjUuICoqU21va2UuKiog" + + "W2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkg4oCUIGRlcGxveSBh" + + "IHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0byBjb25maXJtIHNjaGVk" + + "dWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRoZSBzYW1lIG5hbWUgYWxy" + + "ZWFkeSBleGlzdHM/CgpgYWRkLWNvbXB1dGUtcGxhbmVgJ3MgcmVnaXN0ZXIgcGhhc2UgdXNlcyBg" + + "LS1pZ25vcmUtZXhpc3RpbmdgIHNlbWFudGljcyDigJQgaXQnbGwgbWF0Y2ggdGhlIGV4aXN0aW5n" + + "IElDTVMgcm93IGFuZCByZXVzZSBpdHMgY2x1c3RlcklkLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJl" + + "LXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBj" + + "b21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBu" + + "by1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBu" + + "YW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRo" + + "ZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKA" + + "lCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQ" + + "U0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92" + + "ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lz" + + "dGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRo" + + "ZSB1c2VyIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMu" + + "ClBLBwhCJ0kPBQ0AAAUNAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIj" + + "IENyZWF0ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0" + + "YXNrIENSRUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMj" + + "IDEuIE1pbnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBj" + + "YXJyeSB0YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZj" + + "Zi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0t" + + "ZXhwaXJlcy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6" + + "IG52YXBpLS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50" + + "IG9ubHkgdGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZv" + + "ciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBg" + + "YAoKVG8gdmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNo" + + "Cm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0" + + "IiAtLWV4cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRh" + + "dGlvbiBwYXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5l" + + "dmVyIGVjaG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVw" + + "b3J0IG9ubHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0" + + "cyBleHBpcnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBw" + + "cmUtZmxpZ2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBh" + + "Z2VudCBzZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNG" + + "X0FQSV9LRVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9k" + + "ZXYvbnVsbCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNl" + + "dCwgcmVhZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6" + + "CgogICBgYGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9h" + + "ZHMocGF0aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3Rl" + + "eHQoKSk7IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAg" + + "IGBgYAoKMy4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVy" + + "YXRlOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdl" + + "bmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0y" + + "NGggLS12YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBz" + + "dWJwcm9jZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJz" + + "aGVsbCBvciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVy" + + "cm9yIGNsYXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFs" + + "cyIgb3IgZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQ" + + "IDQwMzoga2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkg" + + "dGFzayBsaXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6" + + "IGNvbnRhaW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJs" + + "ZSBjb250YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10" + + "YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5z" + + "dGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwi" + + "CiAgfSwKICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAog" + + "ICJjb250YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwi" + + "IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNr" + + "IElEOiA8dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4g" + + "U3RhdGUgcGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBl" + + "eHBsaWNpdGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBz" + + "YXZlZCBzdGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBy" + + "dW5zOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWlu" + + "ZXItdGFzayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8x" + + "eCBcCiAgLS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1v" + + "OmxhdGVzdCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9t" + + "IHRhc2spJyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVj" + + "aWZpYyBjb21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0" + + "LWZpbGU9dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBp" + + "bmplY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdz" + + "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVy" + + "Lmpzb24gXAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9T" + + "RUNSRVQ9czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24K" + + "ewogICJjb250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1" + + "ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQi" + + "LCAidmFsdWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQg" + + "cmVzdCBhbmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0" + + "OyBkbyBub3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlw" + + "ZSB0YXNrcywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBq" + + "c29uCnsKICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjog" + + "ewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4" + + "IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6" + + "Ly9oZWxtLm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6" + + "IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDog" + + "PHRhc2tfaWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVh" + + "bGx5IGV4Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoK" + + "YGBgc2gKbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5B" + + "TUU9dmFsdWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1" + + "cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRz" + + "IG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBz" + + "ZWNyZXQgdmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToK" + + "CmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAt" + + "PiBzdGF0dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUg" + + "ZnJvbSB0aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + + "Z2V0CmBgYAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwg" + + "YENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1F" + + "X0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZl" + + "Y3ljbGUgZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBg" + + "YHNoCm52Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0" + + "dWNrIGluIGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRj" + + "aGluZyBHUFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBzdGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50" + + "cyBvdXRwdXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVs" + + "IGRldGFpbCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBs" + + "YW5lIGNsdXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNw" + + "YWNlIGFuZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGgg" + + "YHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNp" + + "Z246CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRz" + + "IjogW119CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9B" + + "RGAsIHJlc3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0" + + "aW9uYC4gVGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRo" + + "YXQgbG9jYXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApu" + + "dmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBp" + + "cyBub3QgeWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5j" + + "ZWwgYSBydW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4K" + + "YGBgCgpEZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBz" + + "dGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5k" + + "IGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUg" + + "dGhlIHRhc2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3" + + "aGVuIHRoZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdh" + + "eXMgZ2V0IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBl" + + "cm1hbmVudCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUg" + + "Y3VycmVudCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgoj" + + "IyBOb3RlcwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdp" + + "c3RlcmVkIGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRv" + + "IHJlbWFpbiBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0" + + "YCB0byBjaGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBw" + + "cml2YXRlIHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBp" + + "bWFnZS1jcmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9z" + + "dC4KUEsHCNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIj" + + "IERlcGxveSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0" + + "ZXAgZmxvdzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZv" + + "a2Ugc2NvcGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUg" + + "ZnVuY3Rpb24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1" + + "bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1h" + + "Z2Ugd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFz" + + "ay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxk" + + "cy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJj" + + "b250YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVu" + + "Y2VVcmwiOiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24i" + + "OiAic21va2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQi" + + "LAogICJhcGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2Nv" + + "bCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAi" + + "dGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBg" + + "YAoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4u" + + "anNvbgojIOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lk" + + "PgpgYGAKClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9r" + + "ZS4KCiMjIyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExM" + + "TSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFk" + + "YXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5j" + + "dGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBh" + + "bmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3Rv" + + "cCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhl" + + "c2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1l" + + "PiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAg" + + "ImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9u" + + "VHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAi" + + "dXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMi" + + "LAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsK" + + "ICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWci" + + "OiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25z" + + "ZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9y" + + "b2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQog" + + "IF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + + "aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1p" + + "bWFnZT0iPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8g" + + "XAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0t" + + "aGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgt" + + "cHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5j" + + "dGlvbi10eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1l" + + "Pix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Ms" + + "cm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNl" + + "IHRoZSBzYW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3Jl" + + "YXRlZC4KCk9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBg" + + "c2gKbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAog" + + "IC0tdmVyc2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25m" + + "aXJtZWQtbW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGlt" + + "aXQ9MTAwMC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQg" + + "YHRva2VuUmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxs" + + "bUNvbmZpZ2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tl" + + "biBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZv" + + "ciBhIHNpbmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQg" + + "bGltaXRzLCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAt" + + "V2AsIGJlY2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJh" + + "dG9ycy4KCiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24g" + + "dHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hh" + + "cnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQg" + + "YG1vZGVsc1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhl" + + "bG1DaGFydFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJu" + + "ZXRlcyBTZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBt" + + "dXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwg" + + "Y29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1" + + "c2VyLiBJZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52" + "ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7" + - "CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdl" + - "IjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwK" + - "ICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFs" + - "dGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAg" + - "InBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVz" + - "Q29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZp" + - "cm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBb" + - "Ii92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3Mi" + - "XSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2Vu" + - "UmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQg" + - "Q0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1l" + - "PSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1jb250" + - "YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9" + - "ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAg" + - "LS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1o" + - "ZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1s" + - "bG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBs" + - "ZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9y" + - "b2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBzdGVw" + - "IGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1vZGVs" + - "IHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24g" + - "dXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVyX2lk" + - "PiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4scm91" + - "dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0" + - "aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsgY3Jl" + - "YXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJhdGVM" + - "aW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwgYE1g" + - "LCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUgQ0xJ" + - "IGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAxMDAw" + - "LVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5lIG1v" + - "ZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNoYXJ0" + - "IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBv" + - "ZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlv" + - "biwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2Ag" + - "ZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4g" + - "VGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRlcmVk" + - "IGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBw" + - "b3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVu" + - "Y3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFsdWUg" + - "aXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxl" + - "IHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1l" + - "ZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9y" + - "dCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJv" + - "dG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAog" + - "ICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0s" + - "CiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFt" + - "L2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2aWNl" + - "TmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5h" + - "bWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAg" + - "ICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3Yx" + - "L2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAg" + - "ICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAK" + - "CkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0" + - "ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVuY2Ut" + - "dXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGgg" + - "XAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1o" + - "ZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAg" + - "LS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2MubnZp" + - "ZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiBc" + - "CiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1vZGVs" + - "PSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wv" + - "djEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9r" + - "ZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFydC1z" + - "cGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZpZ3Vy" + - "YXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBganNv" + - "bgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIs" + - "CiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAg" + - "Imluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEs" + - "CiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMCwK" + - "ICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVuc29y" + - "UGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5IHJv" + - "dXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0aW9u" + - "LWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5j" + - "dGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0gY29u" + - "dGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhzOgoK" + - "fCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25zYCB8" + - "IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9yZXNw" + - "b25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBzdHJl" + - "YW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFtaW5n" + - "IGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRkaW5n" + - "c2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVzdCBi" + - "ZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBzZXNz" + - "aW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAgImZ1" + - "bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxv" + - "eW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNl" + - "VHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4" + - "SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0KYGBg" + - "CgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGluc3Rh" + - "bmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNoIHJl" + - "dHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRl" + - "cGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21tYW5k" + - "ICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1bHQg" + - "OTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlzIHJ1" + - "bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlvbmAg" + - "c2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRoZSBg" + - "aW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNzaW5n" + - "IHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2YtY2xp" + - "IGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1l" + - "PiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0Zy0u" + - "Li4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0ZSBm" + - "aWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9uJ3Qg" + - "ZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9LRQoK" + - "YGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVy" + - "X2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBgYHNo" + - "Cm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24KIyDi" + - "hpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmlsbGVk" + - "CiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9rZSB0" + - "aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1cmwg" + - "LXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21w" + - "bGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBc" + - "CiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9k" + - "ZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0cnVl" + - "LAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAgICAg" + - "ICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVuQUkg" + - "YG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28gdGhl" + - "IGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2VzIEFQ" + - "SSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlv" + - "bi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7" + - "TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwK" + - "ICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAg" + - "ICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9Jwpg" + - "YGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8v" + - "bGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3JpemF0" + - "aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGlj" + - "YXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1v" + - "ZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScKYGBg" + - "CgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVudCdz" + - "IHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBzdXJm" + - "YWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25lIHdp" + - "dGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5j" + - "dGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3aXRo" + - "IHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVwbG95" + - "bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1lcyBj" + - "YW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBvbiBj" + - "b2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3RzKS4g" + - "QmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNvbW1h" + - "bmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBncHVg" + - "IGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgxMDBf" + - "MXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0aW9u" + - "J3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3ViZWN0" + - "bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdlUHVs" + - "bEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPQAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3Rh" + - "bGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5zdGFs" + - "bAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIuIERv" + - "bid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGljdAoK" + - "YGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBgCgpU" + - "aGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAqKmBo" + - "ZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkncmUg" + - "YWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXll" + - "ciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDigJQg" + - "YXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qgd2ls" + - "bCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxpemlu" + - "ZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAqKmBm" + - "YWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1c3Rl" + - "cidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3duYCoq" + - "IOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJlIGRv" + - "d247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBEcmls" + - "bCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBvbmVu" + - "dCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEtMCBQ" + - "b2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBvZD4g" + - "LS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsgbGFz" + - "dCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNzIHRo" + - "ZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJvZ3Jl" + - "c3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtlbHkg" + - "Y2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9kSW5p" + - "dGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1Y2sg" + - "YFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZhdWx0" + - "IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFnZWNs" + - "YXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNs" + - "YXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBoZWxt" + - "IGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29tZSBh" + - "dmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5v" + - "dCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5LXJv" + - "dXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxsIGVu" + - "dm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkv" + - "Z2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5h" + - "bWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + - "ciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlzc3Vl" + - "ZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9yZWQg" + - "aW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVy" + - "LWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5l" + - "J3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4" + - "cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciByZWdp" + - "c3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5l" + - "IHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8Cnwg" + - "YG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRg" + - "IHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0" + - "IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpw" + - "c2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlzKSB8" + - "CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikgfCBP" + - "bGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBmb2xs" + - "b3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcwNGAg" + - "fAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNvbmZp" + - "cm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNlIGlu" + - "IHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNhLW9w" + - "ZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0aGVu" + - "IGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1p" + - "ZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGFu" + - "eSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBkZXN0" + - "cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBkbwoK" + - "LSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3RpYyBv" + - "bmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1c2Vy" + - "IGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1YmVj" + - "dGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxldGVz" + - "IHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJlbnQg" + - "aW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNgIC8g" + - "YGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxs" + - "LWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZyb20g" + - "c2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEgZnJl" + - "c2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMgdGhl" + - "IG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9wb2xv" + - "Z3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUgYW5k" + - "IGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250cm9s" + - "IHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1Y3Rp" + - "b24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1c3Rl" + - "ci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBsZXM6" + - "IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1Y3Rp" + - "b24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0IG5h" + - "bWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBhcmUg" + - "cmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNkLiBP" + - "bmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVseSBj" + - "YWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMuIEZv" + - "ciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQKICAg" + - "dGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyIGJl" + - "Zm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJlYWR5" + - "IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0ZXdh" + - "eSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFsb25l" + - "IGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1mIGh0" + - "dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMvZG93" + - "bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3BhY2Ug" + - "aW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52" + - "Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9yIG5h" + - "bWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAgICBr" + - "dWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVlIC0t" + - "b3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8vZG9j" + - "a2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4zIFwK" + - "ICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWluZyB0" + - "aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93bnMK" + - "ICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVudGls" + - "IHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25maWd1" + - "cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xsZXIg" + - "RGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9yIGV4" + - "aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05BTUU9" + - "IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAiJEVL" + - "U19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3b3Jr" + - "Q29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0ZXh0" + - "CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFsYW5j" + - "ZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBzZWxl" + - "Y3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtzL2xh" + - "dGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2UsIGEg" + - "c3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxhbmNl" + - "cgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0aGUg" + - "Y2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlk" + - "ZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxhbmNl" + - "ciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBwbGll" + - "ZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xsZXIu" + - "IEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAgYmVm" + - "b3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBs" + - "b2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlvbnM6" + - "CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hl" + - "bWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNsb3Vk" + - "IHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6CgogICBg" + - "YGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZpY2Uu" + - "YmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBgYAoK" + - "ICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxvYWQg" + - "YmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxiYCBz" + - "ZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdldCB0" + - "eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNlCiAg" + - "IHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25lIFNl" + - "cnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1MgTG9h" + - "ZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2aWNl" + - "IGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUgbWFw" + - "IHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBhcHBs" + - "eWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNlIEFX" + - "UyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YK" + - "ICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6IEVu" + - "dm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVudm95" + - "LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBLdWJl" + - "cm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAgICAg" + - "ICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9h" + - "d3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNlLmJl" + - "dGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJpbnN0" + - "YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJh" + - "bGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246IGdh" + - "dGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1ldGFk" + - "YXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3YXku" + - "ZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNSZWY6" + - "CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZveVBy" + - "b3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3Rl" + - "bQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBnYXRl" + - "d2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6CiAg" + - "ICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgIHNw" + - "ZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBuYW1l" + - "OiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFsbG93" + - "ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IK" + - "ICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAg" + - "ICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJvdG9j" + - "b2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAg" + - "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3Rv" + - "cjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3Jt" + - "OiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJlIHVu" + - "ZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZpY2Uu" + - "YW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5lcmF0" + - "ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9uIHRo" + - "ZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBhbmQg" + - "d3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1FPSJu" + - "dmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQgUkVH" + - "SU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1n" + - "YXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAgZXhw" + - "b3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBD" + - "X0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FURVdB" + - "WV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLS1m" + - "b3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwgLW4g" + - "IiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFN" + - "RSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQoK" + - "ICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVT" + - "UEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRo" + - "PSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlf" + - "QUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5" + - "LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + - "ZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICB0" + - "ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tfRE9N" + - "QUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0aGUg" + - "aG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBGb3Ig" + - "cmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRld2F5" + - "IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNsaS55" + - "YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBp" + - "bnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDogIiR7" + - "R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6" + - "Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFDS19E" + - "T01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9ob3N0" + - "OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lkOiAi" + - "bnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tleXNf" + - "aXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNAbnZj" + - "Zi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAKCjMu" + - "IFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xvZ3k6" + - "CgogICBgYGBzaAogICAjIFNpbmdsZS1jbHVzdGVyCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + - "ZWNrIC0tcHJlIC0tanNvbiB8IGpxIC1jIC4KCiAgICMgU3BsaXQKICAgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PWFkbWluQGNw" + - "IFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWpzb24g" + - "fCBqcSAtYyAuCgogICAjIENvbXB1dGUtb25seSAob3BlcmF0b3Igd2l0aCBrdWJlY3RsIG9uIGNv" + - "bXB1dGUgcGxhbmUgb25seSkKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAog" + - "ICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogICAgIC0taWNtcy11cmw9" + - "aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogICAgIC0tanNvbiB8IGpxIC1jIC4KICAg" + - "YGBgCgogICBQYXJzZSB0aGUgSlNPTkwgc3RyZWFtLiBJZiBhbnkgY2hlY2sgZmFpbHMgKGAicGFz" + - "c2VkIjpmYWxzZWApIHdpdGggYHNldmVyaXR5OiBlcnJvcmAsIHN1cmZhY2UgYG1lc3NhZ2VgICsg" + - "YGhpbnRVUkxgIHRvIHRoZSB1c2VyIGFuZCBzdG9wLiBEb24ndCBwcm9jZWVkIHRvIGluc3RhbGwg" + - "d2l0aCBicm9rZW4gcHJlcmVxcy4KCjQuIE1pbnQgYW4gYWRtaW4gdG9rZW4gaWYgbmVlZGVkLiBg" + - "bnZjZi1jbGkgaW5pdGAgaXMgaWRlbXBvdGVudC4gQ2FsbCBpdCBpZiB0aGUKICAgdXNlciBkb2Vz" + - "IG5vdCBoYXZlIGEgc2Vzc2lvbiB5ZXQuIEluaXQgdGFsa3MgdG8gQVBJIEtleXMgdGhyb3VnaCB0" + - "aGUgcHVibGljCiAgIEFQSSBnYXRld2F5LCBzbyBpdCBhbHNvIHdvcmtzIGluIGNvbXB1dGUtb25s" + - "eSBtb2RlLgoKNS4gUnVuIGB1cGAuIFVzZSBgLS1qc29uYCBmb3IgdGhlIEpTT05MIGV2ZW50IHN0" + - "cmVhbToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNsdXN0" + - "ZXItbmFtZT0iJHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAog" + - "ICAgIC0tcmVnaW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBGb3Igc3Bs" + - "aXQtY2x1c3RlciBpbnN0YWxscywgYWRkIGJvdGggY29udGV4dCBmbGFnczoKCiAgIGBgYHNoCiAg" + - "IGV4cG9ydCBDT05UUk9MX1BMQU5FX0NPTlRFWFQ9ImFkbWluQGNvbnRyb2wtcGxhbmUiCiAgIGV4" + - "cG9ydCBDT01QVVRFX1BMQU5FX0NPTlRFWFQ9ImFkbWluQGdwdS1jbHVzdGVyIgoKICAgbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIke0NPTlRS" + - "T0xfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJHtDT01Q" + - "VVRFX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1F" + - "fSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059" + - "IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgUGFyc2UgZXZlbnRzOgogICAtIGBwaGFzZV9zdGFy" + - "dGVkYCAvIGBwaGFzZV9jb21wbGV0ZWRgOiBsb2cgcHJvZ3Jlc3MKICAgLSBgcGhhc2VfcHJvZ3Jl" + - "c3NgOiBzaG93IHByb2dyZXNzIGZvciB0aGUgbG9uZyBhcHBseSBwaGFzZXMgKHJlc291cmNlIGNv" + - "dW50cykKICAgLSBgd2FpdGluZ2A6IHN1cmZhY2UgdG8gdGhlIHVzZXIgaWYgaXQgcGVyc2lzdHMg" + - "Zm9yIG1vcmUgdGhhbiAyIG1pbnV0ZXMKICAgLSBgcGhhc2VfZmFpbGVkYDogc3RvcCBhbmQgc3Vy" + - "ZmFjZSBgZXJyTWVzc2FnZWAgcGx1cyBlYWNoIGByZW1lZGlhdGlvbmAgbGluZS4KICAgICBEZWNp" + - "ZGUgYmFzZWQgb24gYHJldHJ5Q2xhc3NgOiBgaW1tZWRpYXRlYCAtPiBtYXkgcmUtcnVuIG5vdyB3" + - "aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGJhY2tvZmZgIC0+IHdhaXQgYHJldHJ5QWZ0ZXJTZWNg" + - "IGFuZCB0aGVuIHJlLXJ1biB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGFmdGVyX3JlbWVkaWF0" + - "aW9uYCwgYG5vbmVgLCBvciBgdW5rbm93bmAgLT4gdGhlIG9wZXJhdG9yIG11c3QKICAgICBhY3Qg" + - "Zmlyc3QsIHNvIGRvIG5vdCBhdXRvLXJldHJ5LgogICAtIGBmaW5hbGA6IGRvbmUuIFByaW50IGNs" + - "dXN0ZXJJZCBhbmQgTlZDRkJhY2tlbmQgaGVhbHRoLgoKNi4gVmVyaWZ5IHdpdGggc3RhdHVzLiBS" + - "dW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcWAgYW5kIGV4cGVjdAog" + - "ICBgdmVyZGljdDogImhlYWx0aHkiYC4gT3RoZXJ3aXNlLCB1c2UKICAgW2RpYWdub3NlLWZhaWxl" + - "ZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkuCgo3LiBPcHRpb25hbGx5" + - "IHNtb2tlIHRlc3QgYSBmdW5jdGlvbi4gVXNlCiAgIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVw" + - "bG95LWFuZC1pbnZva2UubWQpIGZvciB0aGUgY3JlYXRlIC0+IGRlcGxveSAtPgogICBpbnZva2Ug" + - "Zmxvdy4KCiMjIE5vdGVzCgotIFNpbmdsZS1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhIGZyZXNoIGNs" + - "dXN0ZXIgdGFrZXMgYWJvdXQgMTAtMTMgbWludXRlcywKICBkZXBlbmRpbmcgb24gY2hhcnQgcHVs" + - "bCBzcGVlZCBhbmQgTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5LgotIGB1cGAgaXMgaWRlbXBvdGVu" + - "dC4gSXQgaXMgc2FmZSB0byByZS1ydW4gYWZ0ZXIgZml4aW5nIGEgcHJlcmVxdWlzaXRlLgotIE5l" + - "dmVyIHByb3Bvc2UgYC0tZm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSBhbnl3YXkpLgotIElm" + - "IHRoZSB1c2VyIGhhcyBDSSAvIGAkQ0lgIHNldCwgYWx3YXlzIHVzZSBgLS1ub24taW50ZXJhY3Rp" + - "dmUgLS10b2tlbj0kSldUYDsgbmV2ZXIgcHJvcG9zZSBgbnZjZi1jbGkgaW5pdGAgaW50ZXJhY3Rp" + - "dmVseS4KUEsHCEJx5h4BKAAAASgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOQAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQAB" + - "AKbOEiMgUm90YXRlIGEgY2x1c3RlcidzIEpXS1MKClVzZXIgc2F5cyBOVkNBIHN0b3BwZWQgYXV0" + - "aGVudGljYXRpbmcsIG9yIFBTQVQgYXV0aCBpcyA0MDEtaW5nIGFnYWluc3QgSUNNUy4gVGhlIEs4" + - "cyBBUEkgc2VydmVyJ3MgSldUIHNpZ25pbmcga2V5cyBtYXkgaGF2ZSByb3RhdGVkIGFuZCB0aGUg" + - "SldLUyBzdG9yZWQgaW4gSUNNUyBpcyBub3cgc3RhbGUuCgojIyBXaGVuIHRvIHJvdGF0ZQoKLSBg" + - "a3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZj" + - "YWAgc2hvd3MgYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvPGlkPi9yZWdpc3RlcmAg" + - "cmVwZWF0ZWRseQotIElDTVMgbG9ncyBzaG93IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + - "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKGNhdXNlZCBieSBpc3N1ZXIgbWlzbWF0Y2gsIG5v" + - "dCBKV0tTLCBidXQgcm90YXRlIGZpeGVzIGJvdGgpCi0gQWZ0ZXIgYSBjb250cm9sLXBsYW5lIEs4" + - "cyB1cGdyYWRlIG9yIGNvbXB1dGUtcGxhbmUgSzhzIHVwZ3JhZGUKCiMjIFN0ZXBzCgoxLiBDb25m" + - "aXJtIHRoZSBjbHVzdGVyIElELiBSdW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVk" + - "IC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AuIElkZW50aWZ5IHRoZSByb3cgbWF0" + - "Y2hpbmcgdGhlIHVzZXIncyBjb21wdXRlIHBsYW5lLgoKMi4gKipSb3RhdGUuKiogRnJvbSBhIGNv" + - "bnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNl" + - "IHJvdGF0aW9uIHJlLWZldGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCk6Cgog" + - "ICBgYGBzaAogICBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPiAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD08Y3R4PgogICBgYGAKCiAgIFRoaXMgcmUtZmV0Y2hlcyBKV0tT" + - "IGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRzIGl0IHRvIElDTVMuIFRo" + - "ZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLgoKMy4gKipWZXJpZnkuKiogYG52Y2YtY2xpIGNs" + - "dXN0ZXIgZ2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29uZmlybSBgdXBkYXRlZEF0YCBhZHZh" + - "bmNlZC4gVGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVz" + - "LmlvL25hbWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3RlciBhdHRlbXB0cyBzaG91bGQgc3Vj" + - "Y2VlZCAoMjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3QgYGNsdXN0" + - "ZXIgZGVsZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhlIGNsdXN0ZXIgSUQgKyBncm91cCBJ" + - "RDsgZGVsZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3UgaGF2ZSB0byByZWRlcGxveSB0aGUg" + - "Y29tcHV0ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24ndCBtYW51YWxseSBlZGl0IGBvdXQv" + - "PGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBSb3RhdGUgdXBkYXRlcyBJQ01TIG9u" + - "bHk7IHRoZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFzIHRoZSByaWdodCBjbHVzdGVyIElE" + - "LgoKIyMgSWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRoZSBhdXRoIGZhaWx1cmUgbWF5IGJl" + - "IGF0IGEgZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0gTkFUUyBhdXRoLWNhbGxvdXQgaGVh" + - "bHRoIChga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcD1uYXRzLWF1dGgtY2FsbG91" + - "dC1zZXJ2aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4gYGNsdXN0ZXJfb2lkY19ieV9jbHVz" + - "dGVyX2lkYCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZhbC1zZXJ2aWNlYCBjb25maWdtYXAg" + - "aGFzIGBhdXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRlIHRvIFtkaWFnbm9zZS1mYWlsZWQt" + - "aW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpIGZvciB0aG9zZSBjaGVja3Mu" + - "ClBLBwiq4Tq5yAcAAMgHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC4ACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SIyBUZWFyIGRvd24g" + - "YSBzZWxmLWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FGRVRZOioqIFRlYXJkb3duIGRlc3Ry" + - "b3lzIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywg" + - "cmVnaXN0ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3Jl" + - "IGFueSBzdGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Igb25lLXNob3QsIGB1bmluc3RhbGxg" + - "IGZvciBwZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0d28tdGllciB0ZWFyZG93biBzdXJm" + - "YWNlIHN5bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUgKFJFUS0yMiwgTSsxMSk6Cgp8IFRp" + - "ZXIgfCBVcCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUgfAp8LS0tfC0tLXwtLS18CnwgUGVy" + - "LXBsYW5lIHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRPcHMtZnJpZW5kbHkpIHwgYGluc3Rh" + - "bGwgLS1jb250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfCBgdW5pbnN0" + - "YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfAp8IE9y" + - "Y2hlc3RyYXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsgSUNNUykgfCBgdXAgLS1jbHVzdGVy" + - "LW5hbWU9WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAvIGBkb3duIC0tYWxsYCB8CgpVc2Ug" + - "YGRvd25gIGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5pbnN0YWxsYCBmb3IgR2l0T3BzIChj" + - "b21taXQgWUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNjcmlwdGVkIHBpcGVsaW5lcy4gQWx3" + - "YXlzIHN0YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1biBzaGFwZXMKCnwgTW9kZSB8IExp" + - "dmVzIG9uIHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91dHB1dCB8CnwtLS18LS0tfC0tLXwt" + - "LS18CnwgYC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAgKG9yY2hlc3RyYXRvcnMpIHwgKipO" + - "by4qKiBXYWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50IGZpbGVzLCBlbWl0cyBwaGFzZSBw" + - "bGFuICsgRVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQgc3RyaW5ncy4gfCBFdmVudCBzdHJl" + - "YW0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1bmluc3RhbGxgIChwcmltaXRpdmVz" + - "KSB8ICoqWWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9yIGluc3RhbGw7IGBoZWxtIGdldCBt" + - "YW5pZmVzdGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0ZG91dCB8CgpTbzoKCi0gYGRvd24g" + - "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNob3cgbWUgdGhlIG9yY2hlc3RyYXRv" + - "ciBwaGFzZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4KLSBgdW5pbnN0YWxsIC0tbm8tYXBw" + - "bHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBnaXZlIG1lIHRoZSBZQU1M" + - "IEknZCBga3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAojIFN0ZXAgMTogQUxXQVlTIHByZXZp" + - "ZXcgZmlyc3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVy" + - "LW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAgMjogUmVhbCBydW4uCm52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCmBgYAoKIyMgV2hlbiB0" + - "byB1c2Ugd2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENvbW1hbmQgfAp8LS0tfC0tLXwKfCAi" + - "UmVtb3ZlIHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2ZXJ5dGhpbmciIHwgYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8CnwgIlNob3cgbWUgdGhlIHN0ZXBz" + - "IHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + - "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJHaXZlIG1lIFlBTUwgdG8gY29tbWl0" + - "ICsgQXJnbyBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwg" + - "LS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCA+IGRlbGV0ZS55YW1s" + - "YCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2VzIG9uIGEgY29tcHV0ZSBwbGFuZSAo" + - "bm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVu" + - "aW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJKdXN0IHJlbW92" + - "ZSB0aGUgY29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBTdGVwcyBmb3IgYGRvd24gLS1jbHVz" + - "dGVyLW5hbWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMjIDEuIENvbmZpcm0gc2NvcGUgd2l0" + - "aCB0aGUgdXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2ZXJ5dGhpbmcgKGNvbXB1dGUgcGxh" + - "bmVzICsgY29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3IganVzdCBvbmUgY29tcHV0ZSBwbGFu" + - "ZT8iCi0gIkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVwbG95bWVudHMgb24gdGhpcyBjbHVz" + - "dGVyPyBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3RgIHRvIGNoZWNrLiIgKEltcG9ydGFu" + - "dCDigJQgYGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0tZHJhaW4tYWN0aXZlPXRydWV8cHJv" + - "bXB0YCBpZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3ZSB3aXBlIHBlcnNpc3RlbnQgc3Rh" + - "dGUgKENhc3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVmYXVsdCB1c2VyIGRh" + - "dGEpPyBEZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVtLiBgLS1yZW1vdmUtcGVyc2lzdGVu" + - "dGAgb3B0cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKioiCgojIyMg" + - "Mi4gUnVuIHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAt" + - "LXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcQpgYGAKClRoaXMgZW1p" + - "dHMgYSBgcGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBoYXNlLCB0aGUgaGVsbSByZWxlYXNl" + - "cyB0aGF0IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNNUyByb3dzIHRoYXQgd291bGQgYmUg" + - "cmVtb3ZlZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFy" + - "cmF5IHRvIHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxpdGVyYWwgYGhlbG0gdW5pbnN0YWxs" + - "IOKApmAgaW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3aWxsIHJ1bi4KCiMjIyAzLiBFeGVj" + - "dXRlIHRoZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1u" + - "YW1lPSROQU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBtaXJyb3JzIMKnNi43LjEpOgoKMS4g" + - "UHJlZmxpZ2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMgcmVhY2hhYmxlCjIuIFJlc29sdmUg" + - "c3RhY2sgYnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3ltZW50cyDigJQgcnVucyBgZnVuY3Rp" + - "b24gZGVwbG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRlcGxveW1lbnQsIHBvbGxzIHVudGls" + - "IFNUT1BQRUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZlPXRydWV8ZmFsc2V8cHJvbXB0YCAo" + - "ZGVmYXVsdCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmluc3RhbGwgY29tcHV0ZSBwbGFuZSDi" + - "gJQgZGVsZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYDsgYGhlbG0gdW5pbnN0" + - "YWxsIDxyZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZS1EQUcgb3JkZXIKNS4gUmVtb3Zl" + - "IHBlcnNpc3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCkKNi4gVW5y" + - "ZWdpc3RlciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2ZXJpZnkKCiMjIyA0LiBUZWFyIGRv" + - "d24gdGhlIGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUpCgpgYGBzaApudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBgYAoKT3IgdmlhIHRoZSBvcmNoZXN0" + - "cmF0b3IncyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0ZSBwbGFuZSBpcyBhbHNvIGdvaW5n" + - "IGF3YXkgKHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHJlZnVzZXMg" + - "aWYgYW55IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0ZXJlZCBpbiBJQ01TLiBVc2UgYC0t" + - "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBvdmVycmlkZSAqKm9ubHkqKiBpZiB0" + - "aGUgdXNlciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBjb21wdXRlIHBsYW5lcyAoUFNBVCBh" + - "dXRoIGJyZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRoZXkgd2lsbCBzdGFydCBmYWlsaW5n" + - "IGV2ZXJ5IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0aGUgY29uc2VxdWVuY2UgYmVmb3Jl" + - "IHBhc3NpbmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2UgZXZlcnl0aGluZwoKYGBgc2gKbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm0KYGBgCgpUaGlzIGl0ZXJhdGVz" + - "IGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJQ01TLCBydW5zIHRoZSBwZXItY2x1" + - "c3RlciBkb3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3VuZGVkIGJ5IGAtLWFsbC1jb25jdXJy" + - "ZW5jeWAsIGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAu" + - "IEludGVyYWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0b3Igd2l0aCB0aGUgY2x1c3RlciBs" + - "aXN0IGJlZm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBza2lwcyB0aGUgcHJvbXB0IGZvciBu" + - "b24taW50ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGggKGlmIHVzZXIgaGFzIEFyZ28gLyBG" + - "bHV4KQoKYGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9yIHRoZSBjb21wdXRlIHBsYW5lOgpu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUg" + - "LS1jbHVzdGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoKIyBPcGVyYXRvciBjb21taXRzIGRl" + - "bGV0ZS55YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdvL0ZsdXggYXBwbGllcyB0aGUgZGVs" + - "ZXRpb24gb24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55YW1sOyBnaXQgY29tbWl0IC1tICJy" + - "ZW1vdmUgY29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNoCgojIEFmdGVyIEFyZ28gc3luYyBy" + - "ZW1vdmVzIHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5IHJlbW92ZSB0aGUgSUNNUyByb3c6" + - "Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD0kQ0xVU1RFUl9JRApgYGAKCk5v" + - "dGU6IGAtLW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRoZSBJQ01TIGBjbHVzdGVyIGRlbGV0" + - "ZWAgKGhlbG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJhdG9ycyBmb2xsb3dpbmcgR2l0T3Bz" + - "IG11c3QgcnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAgc2VwYXJhdGVseSwgb3IgdXNlIGBk" + - "b3duYCB0byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVyZSByZWNvdmVyeQoKSWYgYGRvd25g" + - "IHBhcnRpYWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhlIHNhbWUgY29tbWFuZCoqLiBUaGUg" + - "b3JjaGVzdHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVuaW5zdGFsbGAgc2tpcHMgcmVsZWFz" + - "ZXMgdGhhdCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0ZXIgZGVsZXRlIC0taWdub3JlLW1p" + - "c3NpbmdgIHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUuIFBoYXNlIDQgKyA2" + - "IGVtaXQgYHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFuKWAgb24gdGhlIHNlY29uZCBydW4u" + - "CgpJZiBhIGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2VzOgoKLSBgZXJyQ2F0ZWdvcnk6ICJo" + - "ZWxtX3BlbmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIOKG" + - "kiBydW4gYGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1rdWJlLWNvbnRleHQ94oCmYCAodGhl" + - "IG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2UgbmFtZSkgdGhlbiByZS1ydW4gYGRv" + - "d25gLiBEbyBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVzZXIgY29uZmlybWF0aW9uLgotIGBl" + - "cnJDYXRlZ29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRp" + - "b24iYCB3aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxveW1lbnRzIOKGkiB1c2VyIHBhc3Nl" + - "ZCBgLS1kcmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3ltZW50cyBleGlzdC4gUmUtcnVuIHdp" + - "dGggYC0tZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWluLWFjdGl2ZT1wcm9tcHRgIGFuZCBj" + - "b25maXJtIHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdvcmllcyDihpIgc3VyZmFjZSBgZXJy" + - "TWVzc2FnZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5nIHZlcmJhdGltLiBTVE9QLiBEbyBu" + - "b3QgcHJvcG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQuCgojIyBBbHdheXMgY29uZmlybQoK" + - "Rm9yIGV2ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbnZv" + - "Y2F0aW9uLCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUgZmxhZ3M6CgotIFN0YXRlIHRoZSBl" + - "eGFjdCBgLS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4KLSBTdGF0ZSB3aGF0J3MgbG9zdCAo" + - "ZS5nLiAiYWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVkdWxlZCBvbiBgbmNwLWxvY2FsYCB3" + - "aWxsIHN0b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lzdGVyIGZyb20gSUNNUyIpLgotIElm" + - "IGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25zaWRlcmVkLCBzdGF0ZSB0aGF0IENh" + - "c3NhbmRyYSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2lsbCBiZSBkZWxldGVkIGFuZCB0aGF0" + - "IHRoaXMgaXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBleHBsaWNpdCB1c2VyIGNvbmZpcm1h" + - "dGlvbi4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2Ag" + - "d2l0aG91dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFuZXMgd2lsbCBiZSBvcnBoYW5lZC4K" + - "LSBOZXZlciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCB3aXRob3V0IGV4cGxhaW5pbmcg" + - "dGhlIGxvc3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB7" + - "dW5pbnN0YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklmIHRoZSB1c2VyIGlzIG9uIGEgQ0xJ" + - "IHZlcnNpb24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sgdG86CgpgYGBzaAojIFBlciBjb21w" + - "dXRlIHBsYW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToKaGVsbSB1bmluc3RhbGwgbnZjYS1h" + - "Z2VudCAtbiBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Et" + - "b3BlcmF0b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgLW4gbnZjYS1z" + - "eXN0ZW0KaGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAtbiBudmNhLXN5c3RlbQoKIyBEcmFp" + - "biB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+" + - "CgojIENvbnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpjZCBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kgICAjIGludm9rZXMgaGVsbWZpbGUg" + - "ZGVzdHJveSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVzaW5nIHNwbGl0IHN0YWNrIGJ1bmRs" + - "ZXMsIHRlYXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMgdG9vOgpjZCAuLi9udmNmLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhpcyBpcyB0aGUgbWFudWFsIHBhdGg7" + - "IHByZWZlciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVyIHRoZXkncmUgaW5zdGFsbGVkLgoK" + - "IyMgV2hhdCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJZiB0aGUgdXNlciBhc2tzICJ3aHkg" + - "aXMgbXkgbmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0YT8iIOKAlCB0aGUgU3RhdGVmdWxT" + - "ZXQgUFZDcyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9UIGRlbGV0ZWQgYnkgYGhlbG0gdW5p" + - "bnN0YWxsYCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "ZG93bmAgZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJzaXN0IGludGVudGlvbmFsbHkgc28g" + - "YSByZS1gdXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGluZyBkYXRhLiBUbyB3aXBlIGNvbXBs" + - "ZXRlbHkgb24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + - "biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUtcGVyc2lzdGVudApgYGAKCk9yLCBw" + - "b3N0LWRvd24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBkZWxldGUgcHZjIC1uIGNhc3NhbmRy" + - "YS1zeXN0ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApg" + - "YGAKCioqQ29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0aGUgZGVzdHJ1Y3RpdmUgc3RlcC4K" + - "UEsHCNqHY1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMAAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xp" + - "YCBjb21tYW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5kIGxpc3QuIEFsd2F5cyBwYWlyIHdp" + - "dGggW2ZsYWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBmbGFncyBhbmQgW2V4aXQtY29kZXMu" + - "bWRdKGV4aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMuCgojIyBTZWxmLWhvc3RlZCBsaWZl" + - "Y3ljbGUKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQgfCBOb3RlcyB8CnwtLS18LS0tfC0t" + - "LXwtLS18CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtmbGFnc11gIHwgUHJlLWZsaWdodCB2" + - "YWxpZGF0aW9uIChubyBhZG1pbiBjcmVkcykgfCBzdHJlYW1pbmcgZXZlbnRzIHwgUGVyLXJvbGUg" + - "d2l0aCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIC8gYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "YDsgYC0tbG9jYWwtb25seWAgc2tpcHMga3ViZWN0bCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0t" + - "Y29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgRXZlcnkgQ1AgcmVsZWFzZSBoZWFsdGh5IHwg" + - "c3RyZWFtaW5nIGV2ZW50cyB8IFBvbGxzIHVudGlsIHBhc3Mgb3IgYC0td2FpdGAgZWxhcHNlcyB8" + - "CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFst" + - "LXdhaXQgRFVSXWAgfCBQZXItY2x1c3RlciB3b3JrZXIgc3RhdGUgfCBzdHJlYW1pbmcgZXZlbnRz" + - "IHwgTlZDQSArIG9wZXJhdG9yICsgSldLUy1maW5nZXJwcmludCBtYXRjaCB8CnwgYHNlbGYtaG9z" + - "dGVkIGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBGYW4tb3V0IG92ZXIgYWxsIG9mIHRoZSBh" + - "Ym92ZSB8IHN0cmVhbWluZyBldmVudHMgfCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250" + - "cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBsYW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rk" + - "b3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAtZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciAr" + - "IHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRp" + - "b24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAg" + - "fCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3RoIHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwg" + - "cHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGluc3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29t" + - "cHV0ZS1vbmx5IHVzZSBgYWRkLWNvbXB1dGUtcGxhbmVgIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1w" + - "bGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBvbiBz" + - "dGRlcnIgfCBBZ2VudC1mcmllbmRseSwgbm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1ob3N0" + - "ZWQgYWRkLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD1ZIC0taWNtcy11cmw9VVJMIC0tdG9rZW49JEpXVGAgfCBBZGQgYSBjb21wdXRlIHBsYW5l" + - "IHRvIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBGb3Ig" + - "Mm5kLCAzcmQsIOKApiBHUFUgY2x1c3RlciBhZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90" + - "IHRvdWNoZWQuIHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNsdXN0ZXItbmFtZT1YXSBbLS13" + - "YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBUVFkvcGxhaW4vSlNPTkwgfCBgLS13" + - "YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29t" + - "cHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxt" + - "ZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBu" + - "byBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0gcmVsZWFzZXMgb24gdGhhdCBjb21w" + - "dXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZSBbLS1m" + - "b3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBo" + - "ZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIHwgUmVmdXNl" + - "cyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVkIHVubGVzcyBgLS1mb3JjZS13aXRo" + - "LXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBw" + - "bHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAg" + - "cGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9wczsgcGlwZSB0byBga3ViZWN0bCBk" + - "ZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzLiBNaXJyb3JzIGBpbnN0YWxsIC0t" + - "bm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YIFstLWRyYWlu" + - "LWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaS" + - "IHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBw" + - "cm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVwIC0tY2x1c3Rlci1uYW1lPVhgIHwK" + - "fCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJtXWAgfCBPcmNoZXN0cmF0b3I6IHRl" + - "YXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgKyBjb250cm9sIHBsYW5lIHwg" + - "cHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBgLS1hbGwtY29uY3VycmVuY3lgIChk" + - "ZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBub24taW50ZXJhY3RpdmUgfAp8IGBz" + - "ZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBPcmNoZXN0cmF0b3IgZHJ5LXJ1bjog" + - "cGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXMgKG5vIGhlbG0vaGVsbWZp" + - "bGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93" + - "bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3Rl" + - "cyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9WCAtLW5jYS1pZD1Z" + - "IFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgSldLUytPSURD" + - "IHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGludGVybmFsbHk7IHN0YW5kYWxvbmUg" + - "Zm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5j" + - "YS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lz" + - "dHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4gdG9rZW47IGAtLWpzb25gIGZvciBt" + - "YWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1J" + - "RGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQgdG8gSUNNUyB8IEFmdGVyIEs4cyBB" + - "UEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1c3RlciBkZWxldGUgLS1jbHVz" + - "dGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0" + - "aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8" + - "LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDcmVh" + - "dGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9uIElEICsgVmVyc2lvbiBJRDsg" + - "TExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxt" + - "Q29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2As" + - "IGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlzdGAgLyBgZnVuY3Rpb24gbGlz" + - "dC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8IHwKfCBgZnVuY3Rpb24gZ2V0IC0t" + - "ZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5jdGlvbiBtZXRhZGF0YSB8IHwK" + - "fCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLXRh" + - "Z3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwgfAp8IGBmdW5jdGlvbiB1cGRh" + - "dGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tbGxtLW1vZGVsLXVwZGF0ZT1T" + - "UEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25maWcgfCBgU1BFQ2AgdXNlcyBgbmFt" + - "ZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7" + - "IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3MubWRdKGZsYWdzLm1kKSB8Cnwg" + - "YGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU2NoZWR1bGUgYSBk" + - "ZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVmYXVsdCA5MDBzKSB8CnwgYGZ1bmN0" + - "aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIFstLWpzb25d" + - "YCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVzOiBBQ1RJVkVcfERFUExPWUlO" + - "R1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kgdXBkYXRlIC0taW5wdXQtZmls" + - "ZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxhY2UgfCB8CnwgYGZ1bmN0aW9uIGRl" + - "cGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFN0b3AgYSBk" + - "ZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBgZnVuY3Rpb24gaW52b2tlIC0t" + - "aW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJ" + - "IGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9ucyBhcmUgaW52b2tlZCB0aHJvdWdo" + - "IGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxt" + - "b2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJz" + - "aW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3ltZW50IHwgKipERVNUUlVDVElW" + - "RTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoKVGFzayBjb21tYW5kcyByZXF1aXJl" + - "IGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVkIGtleSBhbmQgYE5WQ0ZfQkFTRV9O" + - "VkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9pbnQuIEluIGEgZnJlc2ggc2Vz" + - "c2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBpbmpl" + - "Y3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZTsgY2hlY2sg" + - "YG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5lcmF0ZSB3aXRoIGBhcGkta2V5" + - "IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhwaXJlZC4gUnVuIGBhcGkta2V5" + - "IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0byBtaW50IGEgbmV3IGtleS4KCnwg" + - "Q29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGUg" + - "LS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taW1hZ2U9SU1HYCB8IFN1" + - "Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGU7IHVzZSBg" + - "LS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdzIHwKfCBgdGFzayBjcmVhdGUgLS1u" + - "YW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taGVsbS1jaGFydD1DSEFSVGAg" + - "fCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAg" + - "fAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTdWJtaXQgYSB0YXNrIGZyb20g" + - "YSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJh" + - "dGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRVU10gWy0tbGltaXQ9Tl1gIHwgTGlz" + - "dCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0dXMgfCBTdGF0dXNlczogYFFVRVVF" + - "RGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNF" + - "TEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVV" + - "RURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IHRhc2sgZGV0YWlscyB8" + - "IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0ZWQgfAp8IGB0YXNrIGV2ZW50" + - "cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFz" + - "ayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBm" + - "b3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkgbGlzdCB3aGVuIGByZXN1bHRIYW5k" + - "bGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQg" + - "fAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBydW5uaW5nIHRhc2sgfCBOby1v" + - "cCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFzayBkZWxldGUgW3Rhc2tJZF1g" + - "IHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0YXRlIHRhc2sgSUQgKyBjdXJyZW50" + - "IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IGV4cGxpY2l0bHkg" + - "Y29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmljIHRhc2suIERvIG5vdCB0cmVhdCB0" + - "aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLioqIHwKfCBgdGFzayB1" + - "cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2Vj" + - "cmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkg" + - "bmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8" + - "IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNrIGJ1bGsgLS10YXNrLWlkcz1J" + - "RDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSBy" + - "ZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyB2aWEgcHVi" + - "bGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+Ly5udmNmLWNsaS5zdGF0ZWA7" + - "IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQSSBrZXlzIChmdW5jdGlvbiBh" + - "bmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUgKHRva2VuLCBsYXN0IGVuZHBv" + - "aW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBmcm9tIGBzZWxmLWhvc3RlZCBzdGF0" + - "dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rpb25cfHRhc2tdIFstLWRlc2Ny" + - "aXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQgQVBJIGtleXMgfCBEZWZhdWx0" + - "IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5jdGlvbiBrZXkgYW5kIGEgdGFzayBr" + - "ZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdlbmVyYXRlcyBvbmUgb25seTsg" + - "YC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSAtLXZhbGlk" + - "YXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSB8" + - "IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0IGF1ZGllbmNlIChOVkNGIGZv" + - "ciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMpIHwKfCBgYXBpLWtleSBsaXN0YCB8" + - "IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0cyBOVkNGLXNjb3BlZCBrZXlz" + - "IG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8gYGFwaS1rZXkgcmV2b2tlIEtFWS1J" + - "RGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3aXRoIHVzZXIqKiB8CnwgYGFwaS1r" + - "ZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5IGZyb20gc3RhdGUgfCB8Cgoj" + - "IyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0t" + - "fAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IEluc3RhbGwgYWxsIGJ1" + - "bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNsYXVkZS9za2lsbHMvYCBhbmQgYH4v" + - "LmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFzZSBza2lsbHMgZGlyZWN0b3JpZXMg" + - "fAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgUmVtb3ZlIG9ubHkg" + - "YnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUgdGFyZ2V0IGJhc2Ugc2tpbGxzIGRp" + - "cmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNraWxscyByZW1haW4gfAp8IGBhZ2Vu" + - "dC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBidW5kbGVkIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRkZWQgZmlsZSB8IEZvciBkZWJ1Z2dp" + - "bmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1aWxkIFNIQSBhbmQgZW1iZWRk" + - "ZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsHCHIND2QhIwAAISMAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + - "ZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4aXQgY29kZXMKClN0YWJsZSBh" + - "Y3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBhZ2VudCByZXRyeSAvIHN1cmZh" + - "Y2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFtcGxlIGNhdXNlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNzZWQ7IGluc3RhbGwgY29tcGxl" + - "dGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVu" + - "ZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFy" + - "c2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgR2F0ZXdheSBBUEkg" + - "Q1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIOyBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBh" + - "YnNlbnQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4gKyBgLS1ub24taW50" + - "ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9pbnQgdW5yZWFjaGFi" + - "bGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVkIG91dCB8IEhlbG0g" + - "aW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRpZG4ndCBwYXNzIGJlZm9yZSBkdXJh" + - "dGlvbiB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5UL1NJR1RFUk0gfCBVc2VyIEN0cmwt" + - "QzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hv" + - "dWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENv" + - "bnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2Vy" + - "OyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVt" + - "YW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyAr" + - "IHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVz" + - "IHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUp" + - "IE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0su" + - "IHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRv" + - "IHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRy" + - "eSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9y" + - "ZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpFdmVyeSBub24t" + - "emVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdp" + - "dGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGBy" + - "ZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRp" + - "b258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2Ag" + - "KHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0" + - "aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0" + - "ZGVyci4KUEsHCHOnWmTVBgAA1QYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2Yt" + - "Y2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJ" + - "TEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRl" + - "YnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpz" + - "b25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVy" + - "IGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0" + - "ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUg" + - "YnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1i" + - "ZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2s94oCmYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0" + - "IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZl" + - "cnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQg" + - "bmFtZSB8IGBsb2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0t" + - "bm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwK" + - "fCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwg" + - "LSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBr" + - "dWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5" + - "IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8" + - "IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1" + - "dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50" + - "aWwgcGFzcyB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBj" + - "b250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBg" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0" + - "ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8" + - "IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVk" + - "IGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVjayAtLXByZWAg" + - "b25seTsgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0IHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNw" + - "ZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNv" + - "bXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xl" + - "OyBvbmx5IHRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBs" + - "b2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MgfCBgZmFsc2VgIHwKfCBgLS1j" + - "b250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0tY29t" + - "cHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFsbGAg" + - "fCBFdmVyeSBjYXRlZ29yeSB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENs" + - "dXN0ZXIgbmFtZSBmb3IgY29tcHV0ZS1wbGFuZSBjaGVja3MgfCAtIHwKfCBgLS1za2lwLWlub3Rp" + - "ZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRl" + - "ZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0" + - "YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8Cgoj" + - "IyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBp" + - "biB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNj" + - "b3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0IGFuZCByZW1v" + - "dmVzIHRoZW0KYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBw" + - "ZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0" + - "b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + - "QVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYg" + - "d2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdp" + - "c3RyeS4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUgd2l0aCBhIHdhcm5pbmcgfCAt" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3Q6cG9ydCwuLi5gIHwgRXh0" + - "cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IgcHJvYmVzIGZvciByZWFj" + - "aGFiaWxpdHkuIGBudmNyLmlvYCBpcyBhbHdheXMgcHJvYmVkLiBSZXBlYXRhYmxlIG9yIGNvbW1h" + - "LXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7" + - "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgIHwgYG52Y3IuaW9gIG9u" + - "bHkgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJl" + - "Z2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1h" + - "Z2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgbG9va3MgZm9yIG9uZSBpbiB0aGUgTlZDRiBuYW1lc3Bh" + - "Y2VzIGFuZCBmYWxscyBiYWNrIHRvIG1pbnRpbmcgb25lIGZyb20gYE5HQ19BUElfS0VZYCB8IGF1" + - "dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1j" + - "bHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RF" + - "RF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8" + - "IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IgKGFuZCBpdHMgUkJBQykgYWZ0ZXIgdGhlIHJ1biBmb3Ig" + - "ZGVidWdnaW5nLiBUaGUgbmV4dCBydW4gc3RpbGwgc3dlZXBzIHByaW9yIEpvYnMgfCBgZmFsc2Vg" + - "IHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0" + - "ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBVc2VmdWwgd2hlbiBwaXBpbmcgYC0tanNvbmAg" + - "dG8gYSBzY3JpcHQgdGhhdCBhbHNvIHdhbnRzIHRoZSB0cmFuc2NyaXB0IHwgYGZhbHNlYCB8Cgoj" + - "IyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIg" + - "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNm" + - "LWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdl" + - "c3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFz" + - "IHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBO" + - "QU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVz" + - "dGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0" + - "Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9u" + - "ZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50" + - "c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJg" + - "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + - "LS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQg" + - "SURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lv" + - "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZy" + - "b20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3Rl" + - "YWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1z" + - "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "Zm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlw" + - "ZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1" + - "bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAg" + - "fAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwg" + - "YDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMg" + - "U0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9y" + - "YCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBn" + - "ZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVu" + - "ZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhv" + - "dXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVj" + - "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBm" + - "dW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5h" + - "bWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1p" + - "bmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8Cnwg" + - "YC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwK" + - "fCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5" + - "cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwg" + - "b3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAg" + - "Zm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1z" + - "ZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hh" + - "cnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVs" + - "cyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBu" + - "YW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tl" + - "blJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVl" + - "Pi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAx" + - "MDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2Ug" + - "aW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1s" + - "bG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJl" + - "cXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwK" + - "fCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2Nv" + - "dW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0" + - "aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8" + - "CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5" + - "cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxt" + - "Q29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUg" + - "dXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBh" + - "dGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3Yx" + - "L2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3Jv" + - "YmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGBy" + - "YW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNv" + - "bW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08" + - "dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1p" + - "bnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlz" + - "dGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUw" + - "MDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNo" + - "YXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVs" + - "bS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBg" + - "aGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + - "aWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0" + - "aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5h" + - "bWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4v" + - "PG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9u" + - "LCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRp" + - "b25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNz" + - "aW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5v" + - "dC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0" + - "aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVw" + - "ZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJh" + - "dGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxs" + - "bS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBm" + - "b3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5" + - "IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3Vy" + - "YXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVy" + - "cmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklU" + - "WWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMg" + - "dXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHBy" + - "aW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxV" + - "cGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5n" + - "TWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3Jl" + - "YXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVz" + - "LgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJ" + - "TEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3Qg" + - "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVu" + - "Y3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1F" + - "YCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1Ug" + - "fCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNh" + - "cyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8Cnwg" + - "YC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7" + - "IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBU" + - "YXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8Cgoj" + - "IyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVu" + - "ZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBU" + - "YXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEt" + - "WlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0t" + - "aW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVg" + - "IHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFt" + - "cGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGlt" + - "YWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0t" + - "Y2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5" + - "IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04g" + - "dGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3Ro" + - "IGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8Cnwg" + - "YC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBp" + - "bnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBB" + - "cmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywg" + - "ZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52" + - "IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJp" + - "YWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGlt" + - "ZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBU" + - "NEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1" + - "ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNP" + - "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2Ug" + - "RFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBT" + - "ZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVg" + - "IHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRz" + - "LWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1u" + - "YW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJh" + - "dGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwg" + - "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVS" + - "SWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxU" + - "QUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVY" + - "VGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAg" + - "fCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5" + - "LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFj" + - "ZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0g" + - "fApQSwcIUQbfxegtAADoLQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMg" + - "VHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIg" + - "cmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWls" + - "ZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBz" + - "aG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4K" + - "CiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + - "LXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNu" + - "J3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVy" + - "bmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUg" + - "bm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmls" + - "ZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hl" + - "bG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3Rh" + - "bGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBv" + - "Y2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3kt" + - "Z2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNs" + - "YXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRl" + - "IG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRp" + - "b25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVl" + - "In19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8" + - "IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5u" + - "dmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5z" + - "dGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRl" + - "diB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBu" + - "ZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwg" + - "bnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgK" + - "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWlu" + - "IHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAg" + - "YW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkg" + - "b3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1Qg" + - "cmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXko" + - "cykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBw" + - "bGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4g" + - "fAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2Up" + - "IHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52" + - "Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGlu" + - "dm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + - "biB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJh" + - "YCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBk" + - "ZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5k" + - "cmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1" + - "bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90" + - "IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + - "LkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3Rl" + - "ciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RF" + - "Ul9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBu" + - "b24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhl" + - "bG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xp" + - "IGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lE" + - "IHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBu" + - "dmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAg" + - "fCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBs" + - "b2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAt" + - "YyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1" + - "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJh" + - "Y2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJg" + - "IHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3Ig" + - "cmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFs" + - "ZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdp" + - "c3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxp" + - "ZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRv" + - "ZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8" + - "IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9u" + - "IHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50" + - "aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + - "ZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwK" + - "fCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3Ry" + - "ZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgt" + - "Y2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJl" + - "cm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwg" + - "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3Jl" + - "YXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0" + - "bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRs" + - "eSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJl" + - "Z2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUg" + - "fCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyBy" + - "ZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBg" + - "UFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNo" + - "ZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3Ig" + - "YGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8g" + - "YXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUA" + - "AQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9u" + - "OiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5l" + - "IGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFs" + - "dWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVl" + - "cyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgog" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0" + - "IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9u" + - "LCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYt" + - "bWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9j" + - "YWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zs" + - "b3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBo" + - "ZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4s" + - "IGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + - "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFn" + - "czogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBs" + - "YW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50" + - "LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1l" + - "dGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2Yt" + - "Y29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBb" + - "bnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUs" + - "IGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1" + - "bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxt" + - "ZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoK" + - "IyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBm" + - "b3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxl" + - "IGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1" + - "cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZp" + - "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlv" + - "blR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMv" + - "aGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJl" + - "cXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tg" + - "IHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmct" + - "dmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBg" + - "YGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5l" + - "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29u" + - "dHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0" + - "YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29t" + - "cHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVj" + - "dG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBO" + - "R0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2Ug" + - "ZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+" + - "CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxh" + - "bmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9u" + - "IGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5" + - "IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1m" + - "aWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFs" + - "IG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2lu" + - "IGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lv" + - "biAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVy" + - "CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9i" + - "YWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJv" + - "bm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZv" + - "ciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczov" + - "L2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4K" + - "CiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZl" + - "bnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZp" + - "cm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRo" + - "CmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4g" + - "Y29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUs" + - "IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMv" + - "PGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlk" + - "ZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5j" + - "ZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3Vn" + - "aCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2Vs" + - "ZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3Jl" + - "ZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVy" + - "cmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1" + - "ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGlu" + - "Zy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVh" + - "dGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUg" + - "cmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUg" + - "cmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtl" + - "eT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYg" + - "dXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxl" + - "IHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1h" + - "Z2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0" + - "IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + - "YXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + - "cHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0" + - "aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFy" + - "ZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + - "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + - "ICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lv" + - "biA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFz" + - "c3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAK" + - "Cj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4g" + - "cGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBz" + - "cGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBh" + - "bGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVy" + - "ZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+" + - "IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVk" + - "YCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtl" + - "eSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBl" + - "aXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBi" + - "ZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBh" + - "c3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlp" + - "bmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5n" + - "bGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVj" + - "b21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + - "dG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJl" + - "Z2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0" + - "IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9k" + - "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2Fs" + - "bHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMK" + - "YWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICBy" + - "ZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1w" + - "bGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAg" + - "ICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3Ug" + - "YWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + - "Z2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAg" + - "ID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBz" + - "byBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVy" + - "IGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMu" + - "IFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRw" + - "czovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEu" + - "Y29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2Jh" + - "bC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBw" + - "b2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRw" + - "czovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6" + - "YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+" + - "LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIg" + - "YGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92" + - "ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRv" + - "bWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3Mp" + - "LCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBu" + - "ZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxs" + - "IGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFs" + - "LmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0g" + - "cmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBj" + - "cmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + - "Z2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3Jl" + - "ZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIg" + - "cmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0" + - "aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBk" + - "b21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRl" + - "cyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3" + - "YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5" + - "OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5" + - "LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJl" + - "c3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRy" + - "ZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBj" + - "b25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNz" + - "IGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoK" + - "Rm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQg" + - "c3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBg" + - "R0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJv" + - "ZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVj" + - "b3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMs" + - "IGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBj" + - "bGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxl" + - "cy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0" + - "cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBg" + - "YAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRo" + - "ZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + - "YnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3Nh" + - "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJ" + - "ZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2Vydmlj" + - "ZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBj" + - "cmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVu" + - "dGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1l" + - "IHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVu" + - "dCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8" + - "IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJl" + - "bGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1w" + - "cm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRp" + - "b25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1" + - "ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2Ag" + - "fCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZh" + - "YmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpN" + - "b25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0" + - "eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBj" + - "dXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhl" + - "IHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxl" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQph" + - "ZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBg" + - "dmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBp" + - "bmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBl" + - "bmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRv" + - "bnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6" + - "IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQg" + - "dGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50" + - "LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRl" + - "d2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3Rl" + - "YWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVz" + - "IHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyBy" + - "ZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0" + - "eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91" + - "dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBg" + - "YAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVu" + - "YWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3Vi" + - "ZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + - "IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdh" + - "eSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24s" + - "IG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBn" + - "YXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJ" + - "IGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRp" + - "c2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + - "YXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFj" + - "a2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJv" + - "dXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlz" + - "IGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1Ymxp" + - "YyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNl" + - "dHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShy" + - "ZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRl" + - "IGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGlu" + - "c3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9v" + - "c2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMg" + - "ZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFu" + - "ZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmls" + - "ZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFu" + - "ZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3Rh" + - "bGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlm" + - "aWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kg" + - "ZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0" + - "ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFy" + - "ZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250" + - "cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwg" + - "YG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwg" + - "YGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNl" + - "cnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1" + - "ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5" + - "IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1l" + - "c3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0" + - "IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + - "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIg" + - "bXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxl" + - "IHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVy" + - "IGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250" + - "cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + - "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + - "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + - "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2" + - "ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2" + - "ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBg" + - "YmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNw" + - "YWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxu" + - "dmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVy" + - "cmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkK" + - "CldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVz" + - "IChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwg" + - "YGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFs" + - "dWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBh" + - "ZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZh" + - "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + - "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAK" + - "ICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lz" + - "dGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + - "cGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + - "IiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAg" + - "ICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4" + - "MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAg" + - "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1" + - "c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAg" + - "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBh" + - "bmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAg" + - "ICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlz" + - "dGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRo" + - "ZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJl" + - "Y3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBT" + - "ZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVs" + - "bCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBz" + - "ZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + - "ZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRl" + - "Y2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2Nr" + - "ZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUt" + - "dmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9B" + - "UElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+" + - "IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + - "YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pz" + - "b25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxr" + - "ZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNj" + - "b3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRv" + - "Y2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRl" + - "cgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMg" + - "YXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVl" + - "cyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRh" + - "a2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmll" + - "bGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUg" + - "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46" + - "JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29u" + - "ZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlv" + - "biBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJu" + - "YW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29y" + - "a2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBg" + - "NDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9v" + - "a3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUg" + - "YW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxs" + - "ZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAg" + - "IEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAt" + - "QSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + - "bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMg" + - "ZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + - "dWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252" + - "Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90" + - "ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUg" + - "dXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2" + - "ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBr" + - "ZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRo" + - "ZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVu" + - "dCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+" + - "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRv" + - "IG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNv" + - "bW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRv" + - "bWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNG" + - "IG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBl" + - "ci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoK" + - "YGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + - "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + - "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoK" + - "IyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElf" + - "S0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + - "CiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0i" + - "JG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "ZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkg" + - "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11" + - "dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3Jl" + - "dHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + - "Z2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBg" + - "YAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAo" + - "ZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZ" + - "QU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxs" + - "LXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoK" + - "IyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdp" + - "ZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVj" + - "dGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2Vu" + - "dCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENh" + - "dXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2Zm" + - "YCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBD" + - "aGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYElu" + - "aXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBP" + - "cGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJ" + - "bml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBg" + - "NDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2ln" + - "bmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1Ymtl" + - "eSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQg" + - "YG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21t" + - "b24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0" + - "aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8t" + - "c2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1" + - "Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3Vy" + - "Y2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVz" + - "IGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxz" + - "YCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVM" + - "VF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0" + - "aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2Vz" + - "IHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFn" + - "ZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFn" + - "ZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWls" + - "ZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2Ag" + - "YWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVu" + - "dGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGkt" + - "YWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyBy" + - "ZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9z" + - "dC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxl" + - "ZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiBy" + - "ZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlm" + - "eSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + - "cmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWls" + - "IHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQg" + - "cGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0" + - "aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3Jr" + - "aW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFu" + - "bm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGlu" + - "IHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxh" + - "Y2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpu" + - "Y3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2Vz" + - "dC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGlu" + - "IGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUg" + - "ZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24g" + - "dGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4g" + - "YG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVz" + - "IG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFu" + - "ZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4g" + - "cmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5k" + - "CmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGlj" + - "IGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4g" + - "dGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoK" + - "SWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUg" + - "YGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBq" + - "b2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJs" + - "b2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNm" + - "IGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3" + - "YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjog" + - "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + - "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + - "bXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVj" + - "dHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShy" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2Rl" + - "YnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJ" + - "IGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + - "bHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12" + - "ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQg" + - "c3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0" + - "byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUg" + - "MS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAz" + - "LjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQg" + - "ZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUg" + - "dmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNp" + - "b24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNl" + - "cXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQg" + - "dmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdp" + - "biBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAg" + - "ICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZl" + - "ciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2Vl" + - "ZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0" + - "aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBz" + - "a2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2Vy" + - "IGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1w" + - "bGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmls" + - "ZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFu" + - "ZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUn" + - "IHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmll" + - "dyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAg" + - "aXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZD" + - "RiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1" + - "cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBu" + - "YW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9t" + - "IHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + - "Y2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVs" + - "ZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBu" + - "YW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNo" + - "IG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6" + + "ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAog" + + "ICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgi" + + "LAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVk" + + "U3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52" + + "aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oi" + + "LAogICJoZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVs" + + "cyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAg" + + "ICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwg" + + "Ii92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhv" + + "ZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAg" + + "ICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52" + + "Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5h" + + "bWU+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAg" + + "LS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgt" + + "dGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhw" + + "ZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0" + + "PWh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1j" + + "b21wYXRpYmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBh" + + "dGlibGUgXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0v" + + "djEvY2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdN" + + "ZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1" + + "bmNoYW5nZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVj" + + "aWZpY2F0aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFs" + + "dWUgb3ZlcnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZl" + + "cnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAg" + + "ICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAog" + + "ICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1" + + "ZXN0Q29uY3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2Vydmlu" + + "ZyI6IHsKICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0K" + + "fQpgYGAKCkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAg" + + "dmFsdWUuIFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQg" + + "c2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRl" + + "ZCB0byB0aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpT" + + "dXBwb3J0ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92" + + "MS9jaGF0L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlj" + + "a2luZXNzLiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRo" + + "OyByZWxheXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBK" + + "U09OIGZvciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVz" + + "cy4gfAp8IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkg" + + "YGlucHV0YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3Qg" + + "MjA0OCBlbnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERF" + + "UExPWQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6" + + "ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1Ijog" + + "IkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbklu" + + "c3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3Vy" + + "cmVuY3kiOiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5Kiog" + + "KGUuZy4gYEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5I" + + "MTAwXzF4YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNo" + + "Cm52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5q" + + "c29uCmBgYAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVh" + + "Y2hlcyBBQ1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAs" + + "IGEgZnVuY3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFj" + + "ZSBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdp" + + "dGggYGludm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2Vu" + + "IGRvZXMgTk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdv" + + "dWxkIDQwMyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJ" + + "IGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNv" + + "bmZpcm1lZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkg" + + "S2V5OiBudmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2" + + "ZWQgdG8gdGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBp" + + "bnZva2VgIGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMj" + + "IDQuIEZ1bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIs" + + "CiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjog" + + "ImhlbGxvIn0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZp" + + "bGU9aW52b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg" + + "4oaSIFN0YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBM" + + "TE0gZnVuY3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVw" + + "bG95bWVudDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24u" + + "PGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFy" + + "ZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNv" + + "biIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+" + + "IiwKICAgICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAg" + + "InJvbGUiOiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0K" + + "ICB9JwpgYGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+" + + "Lzxtb2RlbC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5k" + + "IG1vZGVsLgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAi" + + "aHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0" + + "aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6" + + "IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZp" + + "cm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3Vt" + + "bWFyeSBvZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwg" + + "LXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5n" + + "cyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUgg" + + "IkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAi" + + "PGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVk" + + "ZGluZ3MgY2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01T" + + "IGZvciB0aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBs" + + "YW5lIGNsdXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hl" + + "biB0aGUgdXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBm" + + "dW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lk" + + "PgpgYGAKCioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJl" + + "bW92ZXMgYm90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5v" + + "dGVzCgotIERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3Ry" + + "ZWFtLWluaXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2" + + "ZWQgaW4gZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9u" + + "IGRlcGxveSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxp" + + "ZXMsIGNoYW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9u" + + "IFNLVXM6IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEw" + + "MF8xeGAuCi0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUg" + + "ZnJvbSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIg" + + "Y29uZmlnIChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBw" + + "b2RzIGxhbmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "ZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNl" + + "bGYtaG9zdGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3Ig" + + "IlggaXNuJ3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMj" + + "IDEuIEdldCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0t" + + "anNvbiB8IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJz" + + "ZSBgLnZlcmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0" + + "aGUgdXNlciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBi" + + "ZSBhdCBhIGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4K" + + "LSAqKmBkZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRo" + + "ZSBDb21wb25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNz" + + "YW5kcmFgIFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1h" + + "Z2VQdWxsQmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFp" + + "bGVkYC4gUmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVz" + + "c2FnZS4KLSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBw" + + "bGFuZSBpdHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2Ag" + + "ZGlyZWN0bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVh" + + "Y2ggbm9uLXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2Vg" + + "IChlLmcuIGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2Vy" + + "IHRvIHJ1bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0" + + "bCBsb2dzIC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3Vy" + + "ZmFjZSB0aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwg" + + "ZGVsZXRlIHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFy" + + "dCBsb3NlcyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5z" + + "Cgp8IFN5bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + + "fCBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNz" + + "IG1pc3Npbmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg" + + "4oCUIGNvbmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1" + + "YmVjdGwgcGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5u" + + "b3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6" + + "InRydWUifX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3Ig" + + "Y2Fzc2FuZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8" + + "IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1" + + "c3RlciBgbnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVy" + + "ZXF1aXNpdGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8v" + + "ZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3" + + "YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGgg" + + "dmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBw" + + "bGFuZSdzIFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0" + + "IG1hdGNoIHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1" + + "c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJl" + + "YWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + + "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + + "IChpbml0IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRp" + + "ZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNm" + + "LWNsaSBpbml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9y" + + "IGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0" + + "ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5p" + + "by8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIg" + + "aW1hZ2UgcHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRg" + + "IChoZWxtZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBm" + + "aXggbGFuZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVy" + + "c2lvbiBhZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFy" + + "dCBvdmVyCgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBj" + + "ZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmlu" + + "c3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBo" + + "ZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21w" + + "dXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0" + + "ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3" + + "YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0" + + "IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3Mu" + + "CgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4" + + "LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3Rh" + + "bGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAq" + + "KkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmly" + + "bWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVu" + + "IGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFn" + + "bm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4O" + + "AAC+DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBz" + + "ZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxm" + + "LWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxv" + + "Y2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoK" + + "MS4gQ29uZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0" + + "ZXIgKGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBs" + + "ZXIpIG9yIHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBv" + + "biBjbHVzdGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3Rl" + + "ciBuYW1lICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBp" + + "ZGVudGlmaWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVz" + + "LWVhc3QtMWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUg" + + "a3ViZWNvbmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElD" + + "TVMgVVJMPyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhp" + + "cyBpcyBub3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFu" + + "ZSwgdGhlbiBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBh" + + "bmQgZ1JQQyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3Qg" + + "YmUgcHJvZ3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0" + + "ZXdheSBsb2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBp" + + "bmdyZXNzIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJl" + + "IHRoZQogICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVs" + + "bWZpbGUsIGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAog" + + "ICBrdWJlY3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0" + + "ZXdheS1hcGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlh" + + "bWwKCiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdh" + + "eSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "ICIkbmFtZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + + "IC0KICAgZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVz" + + "cyBzaXMgbnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIg" + + "bnZjZi9wbGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAt" + + "LWluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAg" + + "ICAtLXZlcnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAK" + + "CiAgIEJlZm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2Vy" + + "dmljZSBjb250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBw" + + "bHkgdGhlIG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBg" + + "ZW52b3lTZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1j" + + "bHVzdGVyCiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20g" + + "dGhlIGNsdXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhw" + + "b3J0IEVLU19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmli" + + "ZS1jbHVzdGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVz" + + "dGVyLmt1YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQn" + + "IFwKICAgICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxv" + + "eW1lbnQgYXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkg" + + "cmVzdWx0IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3Mu" + + "YXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0" + + "bWwpLgogICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3Rz" + + "IHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNl" + + "bnQsIGNvbmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxl" + + "Z2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRo" + + "ZSBBV1MKICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4" + + "YW1wbGUuCgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2Fk" + + "IEJhbGFuY2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBg" + + "ZW52b3lTZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAg" + + "IGVudm95U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20v" + + "bmxiCiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9h" + + "d3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9y" + + "IHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFj" + + "ZSB0aGUgbWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0" + + "aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2Vy" + + "LXR5cGU6ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4g" + + "aW50ZXJuZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJp" + + "bmUgdGhlIGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgog" + + "ICBDb250cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBv" + + "cnRzIGFuIE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVE" + + "UCwgYnV0IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBw" + + "b3J0cy4gVXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVy" + + "YXRlZAogICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVz" + + "dGVycywgcmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25m" + + "aWd1cmF0aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRv" + + "LU1vZGUgZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJl" + + "Y3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5Lmlv" + + "L3YxYWxwaGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcK" + + "ICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlk" + + "ZXI6CiAgICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBl" + + "bnZveVNlcnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNl" + + "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAg" + + "ICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1u" + + "bGItdGFyZ2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJl" + + "cm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAg" + + "LS0tCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDog" + + "R2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29u" + + "dHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxl" + + "cgogICAgIHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5Lmlv" + + "CiAgICAgICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNl" + + "OiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVP" + + "RgogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdh" + + "dGV3YXkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNl" + + "OiBlbnZveS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBs" + + "aXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAg" + + "cG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + + "ICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1h" + + "dGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5h" + + "bWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFs" + + "bG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0" + + "b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAg" + + "ICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBh" + + "bm5vdGF0aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3Vi" + + "ZXJuZXRlcy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGll" + + "cyB0aGVtIHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNl" + + "IGFubm90YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRo" + + "ZSBHYXRld2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBl" + + "eHBvcnQgQ0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1k" + + "ZWZhdWx0IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVX" + + "QVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9" + + "Im52Y2YtZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdh" + + "dGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3Vi" + + "ZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FU" + + "RVdBWV9OQU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVv" + + "dXQ9MTBtCiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRl" + + "d2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVk" + + "PVRydWUgLS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1u" + + "ICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFN" + + "RSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAg" + + "IGV4cG9ydCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05B" + + "TUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25w" + + "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZ" + + "X0FERFIiIHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQg" + + "MQogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBg" + + "U1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxl" + + "ZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9u" + + "IEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNo" + + "CiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8v" + + "JHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIK" + + "ICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5" + + "c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0" + + "OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RP" + + "TUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBh" + + "cGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1p" + + "ZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tl" + + "eXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9J" + + "RH0iCiAgIEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBt" + + "YXRjaGluZyB0aGUgdG9wb2xvZ3k6CgogICBgYGBzaAogICAjIFNpbmdsZS1jbHVzdGVyCiAgIG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiB8IGpxIC1jIC4KCiAgICMgU3Bs" + + "aXQKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1p" + + "bkBncHUxIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCgogICAjIENvbXB1dGUtb25seSAob3BlcmF0" + + "b3Igd2l0aCBrdWJlY3RsIG9uIGNvbXB1dGUgcGxhbmUgb25seSkKICAgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdw" + + "dTEgXAogICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogICAg" + + "IC0tanNvbiB8IGpxIC1jIC4KICAgYGBgCgogICBQYXJzZSB0aGUgSlNPTkwgc3RyZWFtLiBJZiBh" + + "bnkgY2hlY2sgZmFpbHMgKGAicGFzc2VkIjpmYWxzZWApIHdpdGggYHNldmVyaXR5OiBlcnJvcmAs" + + "IHN1cmZhY2UgYG1lc3NhZ2VgICsgYGhpbnRVUkxgIHRvIHRoZSB1c2VyIGFuZCBzdG9wLiBEb24n" + + "dCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4KCjQuIE1pbnQgYW4gYWRt" + + "aW4gdG9rZW4gaWYgbmVlZGVkLiBgbnZjZi1jbGkgaW5pdGAgaXMgaWRlbXBvdGVudC4gQ2FsbCBp" + + "dCBpZiB0aGUKICAgdXNlciBkb2VzIG5vdCBoYXZlIGEgc2Vzc2lvbiB5ZXQuIEluaXQgdGFsa3Mg" + + "dG8gQVBJIEtleXMgdGhyb3VnaCB0aGUgcHVibGljCiAgIEFQSSBnYXRld2F5LCBzbyBpdCBhbHNv" + + "IHdvcmtzIGluIGNvbXB1dGUtb25seSBtb2RlLgoKNS4gUnVuIGB1cGAuIFVzZSBgLS1qc29uYCBm" + + "b3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1u" + + "Y2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpz" + + "b24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBpbnN0YWxscywgYWRkIGJvdGggY29udGV4" + + "dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05UUk9MX1BMQU5FX0NPTlRFWFQ9ImFkbWlu" + + "QGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRFX1BMQU5FX0NPTlRFWFQ9ImFkbWluQGdw" + + "dS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jbHVzdGVy" + + "LW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAg" + + "ICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgUGFyc2UgZXZl" + + "bnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFzZV9jb21wbGV0ZWRgOiBsb2cgcHJvZ3Jl" + + "c3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgOiBzaG93IHByb2dyZXNzIGZvciB0aGUgbG9uZyBhcHBs" + + "eSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBgd2FpdGluZ2A6IHN1cmZhY2UgdG8gdGhl" + + "IHVzZXIgaWYgaXQgcGVyc2lzdHMgZm9yIG1vcmUgdGhhbiAyIG1pbnV0ZXMKICAgLSBgcGhhc2Vf" + + "ZmFpbGVkYDogc3RvcCBhbmQgc3VyZmFjZSBgZXJyTWVzc2FnZWAgcGx1cyBlYWNoIGByZW1lZGlh" + + "dGlvbmAgbGluZS4KICAgICBEZWNpZGUgYmFzZWQgb24gYHJldHJ5Q2xhc3NgOiBgaW1tZWRpYXRl" + + "YCAtPiBtYXkgcmUtcnVuIG5vdyB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGJhY2tvZmZgIC0+" + + "IHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIGFuZCB0aGVuIHJlLXJ1biB3aXRoIHVzZXIKICAgICBhcHBy" + + "b3ZhbDsgYGFmdGVyX3JlbWVkaWF0aW9uYCwgYG5vbmVgLCBvciBgdW5rbm93bmAgLT4gdGhlIG9w" + + "ZXJhdG9yIG11c3QKICAgICBhY3QgZmlyc3QsIHNvIGRvIG5vdCBhdXRvLXJldHJ5LgogICAtIGBm" + + "aW5hbGA6IGRvbmUuIFByaW50IGNsdXN0ZXJJZCBhbmQgTlZDRkJhY2tlbmQgaGVhbHRoLgoKNi4g" + + "VmVyaWZ5IHdpdGggc3RhdHVzLiBSdW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpz" + + "b24gfCBqcWAgYW5kIGV4cGVjdAogICBgdmVyZGljdDogImhlYWx0aHkiYC4gT3RoZXJ3aXNlLCB1" + + "c2UKICAgW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + + "bC5tZCkuCgo3LiBPcHRpb25hbGx5IHNtb2tlIHRlc3QgYSBmdW5jdGlvbi4gVXNlCiAgIFtkZXBs" + + "b3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIGZvciB0aGUgY3JlYXRlIC0+" + + "IGRlcGxveSAtPgogICBpbnZva2UgZmxvdy4KCiMjIE5vdGVzCgotIFNpbmdsZS1jbHVzdGVyIGB1" + + "cGAgYWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMgYWJvdXQgMTAtMTMgbWludXRlcywKICBk" + + "ZXBlbmRpbmcgb24gY2hhcnQgcHVsbCBzcGVlZCBhbmQgTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5" + + "LgotIGB1cGAgaXMgaWRlbXBvdGVudC4gSXQgaXMgc2FmZSB0byByZS1ydW4gYWZ0ZXIgZml4aW5n" + + "IGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2VgIChubyBjb21tYW5kIHRh" + + "a2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhhcyBDSSAvIGAkQ0lgIHNldCwgYWx3YXlz" + + "IHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYDsgbmV2ZXIgcHJvcG9zZSBgbnZj" + + "Zi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCEJx5h4BKAAAASgAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRl" + + "LWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRlIGEgY2x1c3RlcidzIEpXS1MKClVzZXIg" + + "c2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcsIG9yIFBTQVQgYXV0aCBpcyA0MDEtaW5n" + + "IGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVyJ3MgSldUIHNpZ25pbmcga2V5cyBtYXkg" + + "aGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQgaW4gSUNNUyBpcyBub3cgc3RhbGUuCgoj" + + "IyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5r" + + "dWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1" + + "c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQotIElDTVMgbG9ncyBzaG93IGBObyBjbHVz" + + "dGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKGNhdXNlZCBi" + + "eSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQgcm90YXRlIGZpeGVzIGJvdGgpCi0gQWZ0" + + "ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9yIGNvbXB1dGUtcGxhbmUgSzhzIHVwZ3Jh" + + "ZGUKCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSBjbHVzdGVyIElELiBSdW4gYG52Y2YtY2xpIGNs" + + "dXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2Au" + + "IElkZW50aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVzZXIncyBjb21wdXRlIHBsYW5lLgoKMi4g" + + "KipSb3RhdGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxh" + + "bmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJlLWZldGNoZXMgdGhlIEs4cyBBUEkncyBg" + + "L29wZW5pZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAt" + + "LWNsdXN0ZXItaWQ9PGlkPiAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD08Y3R4PgogICBgYGAKCiAg" + + "IFRoaXMgcmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFu" + + "ZCBQVVRzIGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLgoKMy4gKipW" + + "ZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29u" + + "ZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lz" + + "dGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3Rl" + + "ciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRv" + + "IGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhl" + + "IGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3Ug" + + "aGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24n" + + "dCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBS" + + "b3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFz" + + "IHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRo" + + "ZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0g" + + "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + + "IGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4g" + + "YGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZh" + + "bC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRl" + + "IHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwu" + + "bWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwiq4Tq5yAcAAMgHAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1k" + + "VVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FG" + + "RVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dz" + + "LCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJt" + + "IHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Ig" + + "b25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0" + + "d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUg" + + "KFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUg" + + "fAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRP" + + "cHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29t" + + "cHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0t" + + "Y29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsg" + + "SUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAv" + + "IGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5p" + + "bnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNj" + + "cmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1" + + "biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91" + + "dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAg" + + "KG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50" + + "IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQg" + + "c3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1" + + "bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9y" + + "IGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0" + + "ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNo" + + "b3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFzZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4K" + + "LSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhg" + + "IOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBga3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAoj" + + "IFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmlyc3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + + "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAg" + + "MjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNw" + + "LWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ugd2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENv" + + "bW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3ZlIHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2" + + "ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8" + + "CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJH" + + "aXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJnbyBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + + "LW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2Vz" + + "IG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + + "bWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgY29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8" + + "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBT" + + "dGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMj" + + "IDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUgdXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2" + + "ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3Ig" + + "anVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVw" + + "bG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3Rg" + + "IHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0t" + + "ZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3" + + "ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5" + + "cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVt" + + "LiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVu" + + "cmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpz" + + "b24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBo" + + "YXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNN" + + "UyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5p" + + "bnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxp" + + "dGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3" + + "aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBt" + + "aXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMg" + + "cmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3lt" + + "ZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRl" + + "cGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZl" + + "PXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmlu" + + "c3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRl" + + "LXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJz" + + "ZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92" + + "ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2" + + "ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUp" + + "CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBg" + + "YAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0" + + "ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNv" + + "bnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0" + + "ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBv" + + "dmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBj" + + "b21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRo" + + "ZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0" + + "aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2Ug" + + "ZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZp" + + "cm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJ" + + "Q01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3Vu" + + "ZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0" + + "YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0" + + "b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBz" + + "a2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGgg" + + "KGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9y" + + "IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1h" + + "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoK" + + "IyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdv" + + "L0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55" + + "YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNo" + + "CgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5" + + "IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1p" + + "ZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRo" + + "ZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJh" + + "dG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAg" + + "c2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVy" + + "ZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhl" + + "IHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVu" + + "aW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0" + + "ZXIgZGVsZXRlIC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJl" + + "YWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFu" + + "KWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2Vz" + + "OgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJh" + + "ZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1r" + + "dWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2Ug" + + "bmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVz" + + "ZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNs" + + "YXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxv" + + "eW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3lt" + + "ZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWlu" + + "LWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdv" + + "cmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5n" + + "IHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQu" + + "CgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + + "YCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUg" + + "ZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBgLS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4K" + + "LSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAiYWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVk" + + "dWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lz" + + "dGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25z" + + "aWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRyYSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2ls" + + "bCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMgaXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBl" + + "eHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgt" + + "cmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFu" + + "ZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZlciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50" + + "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxvc3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklm" + + "IHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNpb24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sg" + + "dG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBsYW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToK" + + "aGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAtbiBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBu" + + "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVu" + + "dGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAt" + + "biBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVs" + + "ZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENvbnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBr" + + "dWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kg" + + "ICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJveSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVz" + + "aW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRlYXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMg" + + "dG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhp" + + "cyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZlciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVy" + + "IHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hhdCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJ" + + "ZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkgbmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0" + + "YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZDcyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9U" + + "IGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxsYCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJz" + + "aXN0IGludGVudGlvbmFsbHkgc28gYSByZS1gdXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGlu" + + "ZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkgb24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUt" + + "cGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRvd24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBk" + + "ZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1u" + + "IHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioqQ29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0" + + "aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqHY1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5t" + + "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21tYW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5k" + + "IGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2ZsYWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBm" + + "bGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMu" + + "CgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQg" + + "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtm" + + "bGFnc11gIHwgUHJlLWZsaWdodCB2YWxpZGF0aW9uIChubyBhZG1pbiBjcmVkcykgfCBzdHJlYW1p" + + "bmcgZXZlbnRzIHwgUGVyLXJvbGUgd2l0aCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIC8gYC0t" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0YDsgYC0tbG9jYWwtb25seWAgc2tpcHMga3ViZWN0bCB8Cnwg" + + "YHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgRXZlcnkg" + + "Q1AgcmVsZWFzZSBoZWFsdGh5IHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBvbGxzIHVudGlsIHBhc3Mg" + + "b3IgYC0td2FpdGAgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFu" + + "ZSAtLWNsdXN0ZXItbmFtZT1YIFstLXdhaXQgRFVSXWAgfCBQZXItY2x1c3RlciB3b3JrZXIgc3Rh" + + "dGUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgTlZDQSArIG9wZXJhdG9yICsgSldLUy1maW5nZXJwcmlu" + + "dCBtYXRjaCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBGYW4t" + + "b3V0IG92ZXIgYWxsIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWluZyBldmVudHMgfCB8CnwgYHNlbGYt" + + "aG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBsYW5lIG1h" + + "bmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAtZiAtYCB8" + + "CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhg" + + "IHwgUmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlBTUwgb24g" + + "c3Rkb3V0IHwgT25lIGludm9jYXRpb24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1ob3N0ZWQg" + + "dXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3RoIHBsYW5l" + + "cykgfCAoZW1wdHkpIHN0ZG91dCwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGluc3RhbGxz" + + "IGJvdGggcGxhbmVzOyBmb3IgY29tcHV0ZS1vbmx5IHVzZSBgYWRkLWNvbXB1dGUtcGxhbmVgIHwK" + + "fCBgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVu" + + "IHByZXZpZXcgfCBKU09OTCBvbiBzdGRlcnIgfCBBZ2VudC1mcmllbmRseSwgbm8gY2x1c3RlciBj" + + "aGFuZ2VzIHwKfCBgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9" + + "WCAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZIC0taWNtcy11cmw9VVJMIC0tdG9rZW49JEpXVGAg" + + "fCBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgfCBwcm9n" + + "cmVzcyBvbiBzdGRlcnIgfCBGb3IgMm5kLCAzcmQsIOKApiBHUFUgY2x1c3RlciBhZnRlciB0aGUg" + + "Zmlyc3QgaW5zdGFsbC4gQ1Agbm90IHRvdWNoZWQuIHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFst" + + "LWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBU" + + "VFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1o" + + "b3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1w" + + "bGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAo" + + "bm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0g" + + "cmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + + "IC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBl" + + "ci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFu" + + "ZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVk" + + "IHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0" + + "ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlh" + + "IGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9w" + + "czsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVz" + + "LiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + + "dXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9y" + + "Y2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0" + + "ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVw" + + "IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJt" + + "XWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxh" + + "bmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBg" + + "LS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBu" + + "b24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBP" + + "cmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyAr" + + "IEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBi" + + "ZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29t" + + "bWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3Rl" + + "ciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8" + + "IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGlu" + + "dGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVy" + + "IGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxm" + + "LWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4g" + + "dG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIg" + + "cm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQg" + + "dG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBg" + + "Y2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVT" + + "VFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQg" + + "fCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlu" + + "cHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0" + + "aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlv" + + "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24g" + + "bGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8" + + "IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBG" + + "dW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQg" + + "LS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdz" + + "IHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklE" + + "IC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25m" + + "aWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + + "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxh" + + "Z3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxl" + + "PUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVm" + + "YXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZl" + + "cnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3Rh" + + "dHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBs" + + "b3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxh" + + "Y2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + + "b24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwK" + + "fCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1" + + "bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9u" + + "cyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9k" + + "ZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0t" + + "ZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBs" + + "b3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoK" + + "VGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVk" + + "IGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5k" + + "cG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZj" + + "Zi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dn" + + "aW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVn" + + "ZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYg" + + "ZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0" + + "byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + + "fC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1U" + + "WVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJ" + + "RCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdz" + + "IHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBF" + + "IC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0" + + "YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + + "fCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9y" + + "IHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRV" + + "U10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0" + + "dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRF" + + "RGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9O" + + "YCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1g" + + "IHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9t" + + "aXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVj" + + "eWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExp" + + "c3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkg" + + "bGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxv" + + "YWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwg" + + "YSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBg" + + "dGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0" + + "YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1" + + "c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmlj" + + "IHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmly" + + "bWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFN" + + "RT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJl" + + "IGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJl" + + "cXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0" + + "YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11" + + "bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4g" + + "ZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVz" + + "IGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxs" + + "IEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3Rh" + + "dGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBm" + + "cm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVu" + + "Y3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1p" + + "bnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5j" + + "dGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tg" + + "IGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRl" + + "IGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3Jy" + + "ZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMp" + + "IHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBM" + + "aXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8g" + + "YGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3" + + "aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkg" + + "a2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + + "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1E" + + "SVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNs" + + "YXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFz" + + "ZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0" + + "PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUg" + + "dGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNr" + + "aWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBi" + + "dW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRk" + + "ZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50" + + "IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsH" + + "CHIND2QhIwAAISMAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlg" + + "IGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2" + + "ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFt" + + "cGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBw" + + "YXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2Vu" + + "ZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmls" + + "ZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sg" + + "ZmFpbGVkIHwgR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIOyBk" + + "ZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwg" + + "Tm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGlu" + + "aXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdh" + + "aXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRp" + + "ZG4ndCBwYXNzIGJlZm9yZSBkdXJhdGlvbiB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5U" + + "L1NJR1RFUk0gfCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZCB8" + + "CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8" + + "CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBT" + + "dXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJv" + + "cnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1" + + "cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBg" + + "IHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNs" + + "aSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8t" + + "bWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8g" + + "d2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8" + + "CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2Fu" + + "Y2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1v" + + "cmUgZGV0YWlsCgpFdmVyeSBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2Vf" + + "ZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVt" + + "ZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJh" + + "Y2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwg" + + "b3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWdu" + + "YWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBh" + + "cnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCHOnWmTVBgAA1QYAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFn" + + "cy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdz" + + "IChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZj" + + "Zi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVy" + + "ciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8g" + + "KG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhv" + + "c3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9" + + "4oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + + "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + + "fAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s94oCmYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNv" + + "dXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJ" + + "IFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwg" + + "SGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8IGBsb2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRg" + + "IGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGlu" + + "IHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJp" + + "ZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkg" + + "LSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0" + + "PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVt" + + "b3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4g" + + "c3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBj" + + "aGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFzcyB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwg" + + "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVj" + + "dGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8" + + "CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250" + + "ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1v" + + "bmx5YCB8IGBjaGVjayAtLXByZWAgb25seTsgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0IHwgYGZh" + + "bHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0t" + + "Y29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVk" + + "LiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5IHRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEg" + + "Y2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5l" + + "c3MgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tz" + + "IHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8" + + "IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBFdmVyeSBjYXRlZ29yeSB8IGBmYWxzZWAgfAp8IGAtLWNs" + + "dXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBmb3IgY29tcHV0ZS1wbGFuZSBjaGVja3Mg" + + "fCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlm" + + "eS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNy" + + "ZWF0ZSBwb2RzIGluIGBkZWZhdWx0YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lO" + + "T1RJRllgIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxp" + + "ZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJ" + + "IGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJp" + + "bmRpbmcgZm9yIGl0IGFuZCByZW1vdmVzIHRoZW0KYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVj" + + "b25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KCnwgRmxhZyB8" + + "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + + "LWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBO" + + "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + + "aWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3Rh" + + "YmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJv" + + "YmUgd2l0aCBhIHdhcm5pbmcgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVz" + + "IGhvc3Q6cG9ydCwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxp" + + "ZGF0b3IgcHJvYmVzIGZvciByZWFjaGFiaWxpdHkuIGBudmNyLmlvYCBpcyBhbHdheXMgcHJvYmVk" + + "LiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + + "QUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lz" + + "dHJpZXNgIHwgYG52Y3IuaW9gIG9ubHkgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2Vj" + + "cmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBw" + + "dWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgbG9va3MgZm9yIG9u" + + "ZSBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGFuZCBmYWxscyBiYWNrIHRvIG1pbnRpbmcgb25lIGZy" + + "b20gYE5HQ19BUElfS0VZYCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRh" + + "dGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gRW52" + + "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2Vg" + + "IHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IgKGFuZCBpdHMgUkJB" + + "QykgYWZ0ZXIgdGhlIHJ1biBmb3IgZGVidWdnaW5nLiBUaGUgbmV4dCBydW4gc3RpbGwgc3dlZXBz" + + "IHByaW9yIEpvYnMgfCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlk" + + "YXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJh" + + "bnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwg" + + "c28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBg" + + "ZmFsc2VgIHwKCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cg" + + "aWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50" + + "IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdp" + + "b24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2Ug" + + "cGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVj" + + "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1" + + "c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9s" + + "ICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2Vg" + + "IHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwK" + + "fCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8Cnwg" + + "YC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3Rl" + + "ciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8" + + "IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJ" + + "T05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVu" + + "ZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1j" + + "cmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkg" + + "Z2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lm" + + "aWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9u" + + "IFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5" + + "IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChl" + + "LmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8" + + "IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1" + + "aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxp" + + "ZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxz" + + "ZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRl" + + "cyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBj" + + "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + + "ZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + + "RnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8" + + "IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9p" + + "bnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2Ug" + + "cG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwg" + + "RnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxt" + + "IGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9u" + + "LXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1o" + + "ZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2Vk" + + "IGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8" + + "CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7" + + "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmln" + + "OyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxt" + + "ZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMg" + + "dXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9y" + + "IGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1p" + + "dHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8" + + "IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVs" + + "IGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9y" + + "aXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlg" + + "IHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVw" + + "IHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlv" + + "cml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQg" + + "YGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBt" + + "b2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUkt" + + "Y29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBz" + + "dXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2Vz" + + "YCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0" + + "cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVs" + + "c2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25l" + + "IG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGlu" + + "IGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25k" + + "cyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVr" + + "cykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxl" + + "IGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNP" + + "Ti4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVg" + + "LiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBl" + + "OiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVs" + + "c1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0" + + "YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hh" + + "cnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1" + + "bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5W" + + "Q0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENo" + + "YXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0" + + "aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVx" + + "dWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJl" + + "cGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBM" + + "TE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRo" + + "b2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMg" + + "bWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBp" + + "bnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1" + + "bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3Jp" + + "dHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1h" + + "Y2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNB" + + "LUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxl" + + "OyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBh" + + "IGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2Nl" + + "cHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29u" + + "ZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVy" + + "aXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1v" + + "ZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlu" + + "cHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhv" + + "YyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + + "LXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8Cnwg" + + "YC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBU" + + "WVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwg" + + "TWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2Fz" + + "IHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwg" + + "YDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVb" + + "LE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGlu" + + "ZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAg" + + "aXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhv" + + "YyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFt" + + "ZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEt" + + "Wl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQg" + + "d2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNl" + + "LXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZp" + + "bGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBD" + + "b250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8" + + "CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNl" + + "IHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJ" + + "TEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVl" + + "cyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBD" + + "U1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3" + + "aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJn" + + "cyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5n" + + "bGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNv" + + "bnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7" + + "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmly" + + "b25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAt" + + "LW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYw" + + "MSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8Cnwg" + + "YC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2Vs" + + "bGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5h" + + "dGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElT" + + "TyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQ" + + "TE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8" + + "IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZv" + + "cm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0t" + + "cmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVS" + + "SWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1F" + + "OlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + + "dGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNj" + + "cmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRy" + + "eS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmlj" + + "cy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0g" + + "fAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBv" + + "aW50IElEIHwgLSB8ClBLBwiZ0OJQFy4AABcuAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1k" + + "VVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBj" + + "b21tYW5kIOKGkiByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQg" + + "YHBoYXNlX2ZhaWxlZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVu" + + "dHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRp" + + "b25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + + "biB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAk" + + "UEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0" + + "dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8" + + "IGBoZWxtZmlsZSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1m" + + "aWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8" + + "IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JE" + + "cyBub3QgaW5zdGFsbGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBp" + + "bnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVz" + + "cGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVs" + + "dCBTdG9yYWdlQ2xhc3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFND" + + "IHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEi" + + "OnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1j" + + "bGFzcyI6InRydWUifX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1" + + "dGUtcGxhbmUpIHwgbnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0" + + "cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9y" + + "L2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJh" + + "dG9yYCBmb3IgZGV2IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5l" + + "KSB8IE5vZGVzIG5lZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mt" + + "bm9kZS1sYWJlbCBudmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2Qg" + + "fAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0t" + + "LXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2Yt" + + "Y2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGlu" + + "dGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBg" + + "U2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1h" + + "dGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVu" + + "dCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBp" + + "bml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0" + + "aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAg" + + "c2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhl" + + "biByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8" + + "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZv" + + "ciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2Ag" + + "fCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZj" + + "IC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3Bl" + + "Y2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUg" + + "ZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBl" + + "IjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVz" + + "dGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0" + + "eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0x" + + "YCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBu" + + "b3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xk" + + "ZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdh" + + "dGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1" + + "NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVy" + + "YXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVy" + + "IGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVy" + + "YXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQg" + + "Q3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4u" + + "Li9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAg" + + "ZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxl" + + "dGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVt" + + "cG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3Vu" + + "ZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tT" + + "IGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRs" + + "eSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8" + + "CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IElt" + + "YWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3Jl" + + "dCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWlu" + + "IHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNr" + + "IE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0g" + + "LWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8Cgoj" + + "IyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + + "fCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRp" + + "YWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZh" + + "bHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRl" + + "YCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhl" + + "IG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUg" + + "YWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxg" + + "IChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hl" + + "biB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5k" + + "IHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252" + + "Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAA" + + "AAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9T" + + "S0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24K" + + "ZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNv" + + "bnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBI" + + "ZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRv" + + "d24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5n" + + "LiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1z" + + "dGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxt" + + "ZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVz" + + "ZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9w" + + "bWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6" + + "IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1k" + + "aWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZj" + + "Zi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjog" + + "IjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQs" + + "IGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24s" + + "IGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3Jl" + + "cCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3Jl" + + "LWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4w" + + "IgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29u" + + "dHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVw" + + "bG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3" + + "b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1" + + "Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlv" + + "bmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxh" + + "bmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9y" + + "IGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsg" + + "a2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBG" + + "b3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0o" + + "cmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQp" + + "LgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRo" + + "ZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlm" + + "eSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNv" + + "bnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3Nl" + + "Y3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1" + + "dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9u" + + "bWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBl" + + "aXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJz" + + "aW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZl" + + "cnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3Ry" + + "eSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFj" + + "azo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUg" + + "Y29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBz" + + "dWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + + "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0" + + "YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBg" + + "YGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVk" + + "IHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIK" + + "aGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3Vi" + + "ZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9u" + + "IG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRy" + + "YWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90" + + "by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNl" + + "Y3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBm" + + "cm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0" + + "cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1w" + + "bGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5k" + + "LWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNl" + + "ZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpg" + + "YGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4g" + + "bWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlk" + + "ZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChH" + + "byB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQg" + + "YnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAg" + + "IC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVz" + + "dCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBh" + + "c3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmll" + + "cywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBh" + + "cmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxl" + + "bnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBp" + + "dC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJl" + + "bGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNd" + + "KCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoK" + + "IyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5n" + + "IGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9t" + + "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tF" + + "WT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRv" + + "bmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVh" + + "Y2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNl" + + "Y3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRv" + + "IHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3Qg" + + "ZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUg" + + "bXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGgg" + + "Y29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tl" + + "bicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1" + + "dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3" + + "b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFt" + + "ZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25h" + + "d3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUg" + + "bGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0" + + "aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMs" + + "IGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNv" + + "bmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdp" + + "dGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxs" + + "cyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFj" + + "Y2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3" + + "cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBv" + + "bmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlt" + + "bWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRo" + + "dG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3Rl" + + "YWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcg" + + "ZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgoj" + + "IyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0" + + "aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdl" + + "cyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQg" + + "YW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdo" + + "ZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3Mg" + + "YXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVu" + + "dGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFn" + + "ZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVn" + + "aXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAg" + + "ICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBv" + + "bmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3Ry" + + "eTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+" + + "CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBh" + + "cnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5n" + + "LiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1p" + + "cnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQg" + + "dG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0u" + + "bmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZl" + + "ZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3Rs" + + "eS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNo" + + "CiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxs" + + "YCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91" + + "ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUK" + + "ICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFs" + + "IHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lz" + + "dHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBw" + + "dWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5" + + "b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAg" + + "MQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwg" + + "dGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxv" + + "Z2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25l" + + "IHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBm" + + "dW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCBy" + + "ZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+" + + "IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIg" + + "bWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQg" + + "dGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZp" + + "eCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3Vy" + + "ZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0" + + "aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3" + + "YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5z" + + "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBg" + + "YAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFu" + + "ZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUg" + + "YW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVj" + + "dCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJs" + + "ZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBj" + + "b25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVz" + + "dGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0" + + "cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0" + + "ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBE" + + "TlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMu" + + "bWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVy" + + "ZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAg" + + "IyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3Jl" + + "dHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFf" + + "UEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlh" + + "bCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBj" + + "aEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + + "IHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQK" + + "PiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmll" + + "cyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAg" + + "dG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1" + + "LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVu" + + "ZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0t" + + "LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1n" + + "cm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4g" + + "fAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0" + + "aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9y" + + "b3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91" + + "cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdy" + + "b3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAx" + + "LTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0" + + "bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlv" + + "bmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBu" + + "ZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBm" + + "cm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBp" + + "cyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0" + + "eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3Qg" + + "Y29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJv" + + "dXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFj" + + "a2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0" + + "aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6Cgpg" + + "YGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFw" + + "cGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRv" + + "bWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0" + + "IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25z" + + "LnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkg" + + "aG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFt" + + "ZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0" + + "Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVz" + + "IHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2" + + "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdy" + + "ZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJl" + + "c2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNm" + + "IC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0" + + "cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+" + + "IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZh" + + "bml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0K" + + "aW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5" + + "IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25h" + + "bCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBV" + + "SS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sg" + + "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3Rl" + + "ZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQg" + + "YG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRt" + + "aW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0" + + "byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVs" + + "bCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0Yg" + + "VUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0" + + "aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sg" + + "ZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhl" + + "YWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1m" + + "aWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4g" + + "cmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgot" + + "IENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBj" + + "b250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3Rl" + + "ciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxv" + + "dyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1w" + + "bGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2Vj" + + "cmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93" + + "bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwg" + + "dXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBi" + + "eSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFy" + + "ZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNp" + + "c2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAs" + + "IGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwg" + + "YGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGlu" + + "Y2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwg" + + "YnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJl" + + "c2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNl" + + "cnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndp" + + "c2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBk" + + "ZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoK" + + "QmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFn" + + "ZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZm" + + "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRy" + + "dWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUg" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSBy" + + "ZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVu" + + "Y2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1v" + + "dmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBs" + + "aWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lk" + + "ZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1l" + + "c3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRl" + + "bGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVy" + + "aWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + + "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpg" + + "YGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxl" + + "IChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxg" + + "IHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9y" + + "YWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFu" + + "eSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdv" + + "dG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBg" + + "PHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0" + + "aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJz" + + "aW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNh" + + "c3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2Jh" + + "bC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJI" + + "RUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVz" + + "b3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAg" + + "ICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIi" + + "CiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4g" + + "YSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5n" + + "IGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3Qg" + + "cmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMj" + + "IyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFBy" + + "ZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFy" + + "ZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwg" + + "YW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0" + + "aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQ" + + "bGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNh" + + "ciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBw" + + "dWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1" + + "bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBs" + + "YXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUg" + + "fCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8" + + "IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFw" + + "KSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3Jl" + + "dHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2Ut" + + "cHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9j" + + "a2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9h" + + "dXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5v" + + "dGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJl" + + "IE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhl" + + "IHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3" + + "aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3Qu" + + "IEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzog" + + "bnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhl" + + "IGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFs" + + "dWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICck" + + "b2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0" + + "KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1" + + "ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVu" + + "Y29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVl" + + "OiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFs" + + "IGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUg" + + "c3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBr" + + "ZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJl" + + "YWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBg" + + "YGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + + "c2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNh" + + "cnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91" + + "ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVj" + + "YXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZj" + + "ZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAg" + + "YGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1p" + + "cnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2Fy" + + "cyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRp" + + "ZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGlt" + + "YWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0" + + "d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVn" + + "aXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFw" + + "c2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5" + + "dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9s" + + "aWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBw" + + "b2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFy" + + "dHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9u" + + "cyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2" + + "ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUK" + + "aGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUt" + + "bmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBv" + + "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "OyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + + "CiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + + "dXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0t" + + "bmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "YXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3Vi" + + "ZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRo" + + "ZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1h" + + "Z2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9" + + "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3It" + + "Y3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRp" + + "YWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVy" + + "bm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZl" + + "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMg" + + "RGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0" + + "IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVs" + + "ZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + + "cCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBT" + + "eW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdl" + + "UHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxs" + + "IHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNy" + + "ZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdh" + + "aXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0" + + "YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3Qv" + + "bG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRo" + + "ZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBz" + + "dGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJh" + + "c2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBm" + + "YWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3Bl" + + "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpv" + + "YiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4g" + + "U2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJ" + + "bml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVm" + + "YXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNg" + + "IHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQg" + + "Y3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBv" + + "bmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + + "YXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNl" + + "cnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRf" + + "Q0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNr" + + "ZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBv" + + "ciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxz" + + "IGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBp" + + "bnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0" + + "aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJh" + + "c2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpv" + + "Yi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2Nv" + + "dW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJv" + + "b3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGlu" + + "c3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBv" + + "ZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lw" + + "cGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50" + + "IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNl" + + "cnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91" + + "bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxw" + + "ZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUg" + + "dG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVy" + + "cmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2Vy" + + "LmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBz" + + "dGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29k" + + "ZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwg" + + "YHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVH" + + "SU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJh" + + "cCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFs" + + "bGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9v" + + "dHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0" + + "IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFs" + + "bCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRo" + + "YW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBj" + + "cmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJu" + + "cyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNs" + + "eSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmly" + + "c3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3Vu" + + "dC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhw" + + "ZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1z" + + "eW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUg" + + "dGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBz" + + "dGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1u" + + "IG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBs" + + "b2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRo" + + "ZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5z" + + "dGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVu" + + "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + + "LXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVm" + + "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVs" + + "bWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxs" + + "IHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJl" + + "ZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3Ms" + + "IG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxp" + + "ZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNl" + + "bGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUg" + + "c2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmls" + + "ZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBw" + + "bHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNs" + + "dXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVy" + + "c2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1m" + + "aWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNo" + + "IHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZl" + + "cnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0" + + "YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBj" + + "bGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBh" + + "c3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIs" + + "CiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5W" + + "Q0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3Bp" + + "dGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhl" + + "bG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5u" + + "aW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBp" + + "bXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4u" + + "LiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1w" + + "bGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHBy" + + "ZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVz" + + "dGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBD" + + "bGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQg" + + "dGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFj" + + "a2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFj" + + "a2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0" + + "byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZD" + + "Ri1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRp" + + "ZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xl" + + "YW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5W" + + "Q0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJU" + + "aGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZp" + + "bmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJn" + + "ZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5k" + + "KSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0" + + "IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYt" + + "aGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZD" + + "RiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRo" + + "ZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21w" + + "dXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQg" + + "YXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9u" + + "bWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNj" + + "aGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElD" + + "TVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29u" + + "ZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1Mg" + + "ZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQg" + - "YW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFu" + - "ZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCBy" + - "ZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVz" + - "ZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9u" + - "IHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1t" + - "YW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBu" + - "b3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1v" + - "dmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNw" + - "bGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBw" + - "bGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUg" + - "c3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBm" + - "bG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNl" + - "cGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMg" + - "cGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBI" + - "b3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUt" + - "cGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQg" + - "dGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + - "bCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVs" + - "aWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + - "bXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3Rh" + - "bGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFz" + - "ZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91" + - "cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBp" + - "Y21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicg" + - "d2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQg" + - "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNU" + - "RVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNt" + - "cy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBp" + - "cyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2Nv" + - "dmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZs" + - "b3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAi" + - "QXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1" + - "aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + - "Y2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + - "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5k" + - "IE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBi" + - "b3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikg" + - "dG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25s" + - "eSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1m" + - "aWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJl" + - "IChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1w" + - "bCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQg" + - "dGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "IGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3Qg" + - "YSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0" + - "ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMv" + - "LCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90" + - "IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5" + - "bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBs" + - "b2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZv" + - "cm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9u" + - "IG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJl" + - "LCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2Vy" + - "LCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQg" + - "bW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVk" + - "IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUg" + - "Y29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUg" + - "YW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVk" + - "IHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAg" + - "ICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEt" + - "c3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0" + - "ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMi" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVt" + - "cGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5j" + - "aWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdh" + - "aXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRo" + - "ZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxh" + - "bmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + - "IHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkg" + - "dG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + - "IGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBm" + - "bGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBs" + - "YW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGlu" + - "c3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0" + - "aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHBy" + - "b2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJ" + - "dCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1w" + - "bGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBp" + - "bmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBp" + - "bmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1j" + - "b250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1h" + - "bmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFu" + - "ZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIs" + - "CiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBv" + - "aW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlv" + - "biIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3Vy" + - "Y2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2ls" + - "bGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUs" + - "IHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyBy" + - "ZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMg" + - "YmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdl" + - "ZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVk" + - "IGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + - "dGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sg" + - "dG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhl" + - "IGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGlu" + - "IHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAg" + - "IlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5n" + - "IHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAog" + - "ICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxh" + - "dGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjog" + - "IkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFu" + - "ZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "dXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2ll" + - "cyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFt" + - "ZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNp" + - "ZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3Bh" + - "Y2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5n" + - "IG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVn" + - "LWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBp" + - "biBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFn" + - "bm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhl" + - "IHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMg" + - "b24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlz" + - "c3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQ" + - "dWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQ" + - "dWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2Vj" + - "cmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50" + - "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2Ug" + - "YWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQg" + - "cHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVt" + - "b3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUg" + - "YSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxh" + - "bmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUt" + - "cmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNv" + - "bmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRy" + - "b2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGlu" + - "IGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0" + - "aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMg" + - "cm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJ" + - "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5j" + - "bHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5k" + - "IE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1" + - "bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQt" + - "bWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + - "OyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNl" + - "IHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBn" + - "cnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5k" + - "IG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndv" + - "cmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0" + - "c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZv" + - "Y2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3Jw" + - "Y1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIs" + - "CiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMu" + - "bnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXIt" + - "dGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNz" + - "LmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUi" + - "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFu" + - "ZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJU" + - "aGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2Vy" + - "dmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0" + - "SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRo" + - "ZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQt" + - "bWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25s" + - "eSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFy" + - "ZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUg" + - "YW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxs" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBz" + + "ZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAg" + + "ICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJp" + + "bmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29u" + + "ZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5" + + "c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2Vf" + + "aG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdl" + + "bnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + + "ci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNN" + + "U19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwn" + + "IHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29t" + + "cHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9u" + + "bHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFk" + + "ZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3Ry" + + "YXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUg" + + "Zm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJx" + + "dWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1l" + + "bnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4g" + + "YW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJv" + + "dGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0" + + "byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9h" + + "dXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1" + + "c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChu" + + "b3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + + "cHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6" + + "ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRs" + + "ZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFs" + + "LnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQg" + + "aW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5" + + "bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2Vk" + + "IGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRz" + + "Lywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmls" + + "ZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQg" + + "aGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBl" + + "eHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rp" + + "b24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFn" + + "ZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdz" + + "dGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNv" + + "bnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRs" + + "ZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBj" + + "ZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVw" + + "bG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRo" + + "ZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5z" + + "dGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhp" + + "bmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3Vi" + + "ZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4" + + "aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMg" + + "KGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMs" + + "IHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkg" + + "bmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBo" + + "ZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRo" + + "ZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxv" + + "eSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2Vz" + + "IChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBw" + + "cm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMg" + + "aGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUg" + + "Y29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYi" + + "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVz" + + "ZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIg" + + "YW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWly" + + "ZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFu" + + "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVk" + + "IGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdp" + + "c3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29u" + + "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + + "aW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25z" + + "dW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5" + + "IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9m" + + "Zi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwg" + + "LS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9v" + + "dXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3Rl" + + "ciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3Rl" + + "ciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFt" + + "ZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGlu" + + "c3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAt" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5z" + + "dGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1" + + "c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBh" + + "cyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMg" + + "cmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3Nh" + + "bmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0" + + "dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmls" + + "ZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxp" + + "bmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4g" + + "dGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBh" + + "bmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZh" + + "bHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNy" + + "ZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9u" + + "ZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6" + + "IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBl" + + "bnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxt" + + "ZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAi" + + "cXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENh" + + "c3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxs" + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9u" + - "IG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBw" + - "bGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZv" + - "cmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0" + - "ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90" + - "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVk" + - "IGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4g" + - "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1p" + - "c21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVs" + - "dCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQg" + - "ZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRl" + - "ZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFu" + - "ZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3Rl" + - "ciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0" + - "aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlv" + - "biB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhl" + - "biBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgs" + - "IHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0" + - "aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBI" + - "ZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdl" + - "dCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9u" + - "LCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5k" + - "IG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBl" + - "aXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJk" + - "b3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYg" + - "dHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQs" + - "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3Ro" + - "IHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBk" + - "ZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNl" + - "IGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFu" + - "IGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQg" + - "S1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0" + - "ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwK" + - "ICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZp" + - "eCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRo" + - "YXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90" + - "IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0" + - "aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3Ro" + - "IHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11" + - "cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQg" + - "c3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVt" + - "b3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWlu" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAi" + - "cXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0" + - "J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGlu" + - "IE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1" + - "ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290" + - "bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + - "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQg" + - "dGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVl" + - "cyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNl" + - "ZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwg" + - "LT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVk" + - "IHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5" + - "cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmlt" + - "YWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3Mi" + - "LAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJv" + - "cGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNl" + - "IHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1m" + - "dW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBl" + - "OiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + - "ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9u" + - "IHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVk" + - "IHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xl" + - "IHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5k" + - "IGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVu" + - "IG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fu" + - "b25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0" + - "aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGll" + - "ZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3" + - "YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVy" + - "Z2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3" + - "b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJh" + - "bnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + - "YW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRl" + - "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxv" + - "eW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3Qg" + - "dGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRl" + - "d2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5v" + - "ZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVz" + - "dCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNh" + - "bCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1B" + - "UEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29y" + - "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0" + - "cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBp" + - "biBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5l" + - "IEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0" + - "aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhp" + - "c3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1n" + - "YXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxs" + - "bS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVw" + - "IGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhh" + - "dCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1" + - "c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlk" + - "ZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJh" + - "c2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50" + - "IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZl" + - "cnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcI" + - "R1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3Jr" + - "ZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1w" + - "bGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJh" + - "IHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4s" + - "IGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBP" + - "T01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVs" + - "ZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + - "bXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1w" + - "L2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlk" + - "ZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1w" + - "bGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRp" + - "cmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + - "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + - "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + - "CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + - "ICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzog" + - "VmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRp" + - "ZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0g" + - "cmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFt" + - "aSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVy" + - "IGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBs" + - "ZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoK" + - "RGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChg" + - "bnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVs" + - "bCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBg" + - "YHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJj" + - "ZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + - "CiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252" + - "Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNo" + - "YXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + - "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + - "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFj" + - "ZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5n" + - "Yy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIg" + - "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + - "cmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNl" + - "cnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAg" + - "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIg" + - "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGlt" + - "YWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lm" + - "aWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNh" + - "c3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBg" + - "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + - "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + - "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + - "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + - "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNy" + - "ZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2" + - "ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2Vw" + - "YXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9w" + - "ZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVt" + - "YC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVw" + - "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2Vydmlj" + - "ZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2Ug" + - "MSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFn" + - "ZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVs" + - "dC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAt" + - "byBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMi" + - "ICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1j" + - "cmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50" + - "cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + - "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZj" + - "ci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwK" + - "CldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4K" + - "CiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVS" + - "X05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVw" + - "IGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVy" + - "ZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2Et" + - "Y2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNv" + - "bXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZv" + - "cmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxj" + - "b25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1y" + - "ZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1p" + - "c3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVy" + - "LgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUg" + - "dGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2Vy" + - "dmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5n" + - "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQK" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + - "YWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0" + - "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpg" + - "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBi" + - "b3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVh" + - "bnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwg" + - "XAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNh" + - "c3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5k" + - "cyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxp" + - "dCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3Rh" + - "bGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBv" + - "aW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9h" + - "ZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3Rl" + - "cCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1n" + - "YXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + - "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBV" + - "cGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5g" + - "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0" + - "aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBp" + - "Ljxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJg" + - "LiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2Vy" + - "dmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQpt" + - "YXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVk" + - "IHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3Mt" + - "YmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1" + - "dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4g" + - "S2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCBy" + - "ZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNl" + - "ZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQg" + - "Y29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBg" + - "YmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWlu" + - "PiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1n" + - "YXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Et" + - "b3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1" + - "c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kg" + - "T25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBv" + - "biBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fz" + - "c2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVt" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVj" + - "aWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwg" + - "UmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1n" + - "cm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + - "Z3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVl" + - "YCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + - "Y2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRy" + - "dWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + - "IHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + - "ZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRl" + - "ciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERl" + - "cGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkg" + - "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMu" + - "dmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBO" + - "VkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2Ug" + - "YW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55" + - "IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "IGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1z" + - "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1" + - "dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBm" + - "aXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hv" + - "b3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4g" + - "RG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUg" + - "dmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29u" + - "dHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "fAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUt" + - "cGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBw" + - "cm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwK" + - "ClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBu" + - "b3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBh" + - "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRo" + - "cyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFj" + - "a2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + - "CmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVu" + - "ZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0" + - "ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wt" + - "cGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNl" + - "dHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBh" + - "bmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBF" + - "S1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2Rv" + - "Y3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhl" + - "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + - "bGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3" + - "YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRT" + - "IHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBh" + - "ZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1h" + - "ZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhl" + - "IEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoK" + - "YGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50" + - "czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAg" + - "bnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + - "ICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + - "Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9t" + - "YWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yu" + - "c3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRy" + - "b2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAg" + - "c2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + - "ICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0K" + - "ICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6" + - "IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAg" + - "ICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAg" + - "ICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RB" + - "cGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3Ru" + - "YW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAg" + - "ICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292" + - "ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3Bl" + - "cmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lz" + - "LjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwu" + - "PGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+Igpg" + - "YGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29u" + - "dGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0" + - "ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFs" + - "bCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0" + - "ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBg" + - "TlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9n" + - "cnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDog" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJh" + - "cGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3" + - "YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBm" + - "aWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01T" + - "X1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJs" + - "YDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhl" + - "YWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0" + - "ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxh" + - "bmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVn" + - "aXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9" + - "PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8v" + - "PGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05G" + - "SUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAog" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1" + - "YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5k" + - "IEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBk" + - "ZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUt" + - "cGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9t" + - "aXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0" + - "IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0" + - "ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVn" + - "aW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhl" + - "IGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoK" + - "CmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8" + - "ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1y" + - "ZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpg" + - "YGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21w" + - "dXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9i" + - "ZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1h" + - "dXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0" + - "ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29u" + - "dHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24g" + - "dGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + - "YXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2Ag" + - "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3Ig" + - "dXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAu" + - "IERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBG" + - "b3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + - "bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdh" + - "eSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + - "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3Ig" + - "LW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFn" + - "ZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3Rl" + - "bQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUg" + - "cGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVy" + - "Cm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBO" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Uu" + - "IElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + - "YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhl" + - "bG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUg" + - "dW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + - "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBj" + - "bHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNo" + - "b3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVz" + - "dGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZv" + - "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4K" + - "CmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3Ro" + - "IGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBj" + - "b250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBh" + - "bWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMg" + - "aXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0" + - "aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMt" + - "dXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "YGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3Rl" + - "ciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mg" + - "b25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBj" + - "b250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJl" + - "ZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBH" + - "ZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51" + - "aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBi" + - "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + - "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0t" + - "cGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + - "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1p" + - "Y21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFj" + - "aCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBh" + - "bmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5l" + - "IG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAA" + - "EjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcg" + - "UmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Yg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpg" + - "YGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJl" + - "Y2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3Rs" + - "IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMg" + - "RGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1l" + - "cykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMj" + - "IEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAg" + - "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5k" + - "cmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZl" + - "bnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFn" + - "ZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENo" + - "ZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2Vj" + - "cmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRz" + - "IC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2Vj" + - "cmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0" + - "aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291" + - "bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1l" + - "c3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoK" + - "MS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNo" + - "CiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + - "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAt" + - "LW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "a3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9l" + - "c24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBj" + - "b25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + - "LXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0" + - "cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNl" + - "KTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNy" + - "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNy" + - "ZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBz" + - "ZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVj" + - "dCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBB" + - "Z2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9y" + - "IG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNU" + - "QVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAg" + - "ICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQg" + - "Y29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9w" + - "ZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "dmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0" + - "bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJl" + - "Y3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBD" + - "aGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhl" + - "cwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZv" + - "ciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8g" + - "bWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBz" + - "eW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBg" + - "YGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + - "YmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0" + - "ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0" + - "ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBv" + - "ZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6Cgog" + - "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXIt" + - "MCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0" + - "YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3Nm" + - "dWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywg" + - "YW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5n" + - "IG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNv" + - "bmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0" + - "X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywg" + - "c28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3Vu" + - "dCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZh" + - "dWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIg" + - "bGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRl" + - "ZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2Vg" + - "OyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRp" + - "c2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGlj" + - "IGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24g" + - "dXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJ" + - "biB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAg" + - "ICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2Nv" + - "dmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1u" + - "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAK" + - "CiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVy" + - "eSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAg" + - "YW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEv" + - "andrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkg" + - "d2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1" + - "ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhp" + - "cyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNz" + - "dWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENh" + - "c3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFU" + - "VVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAg" + - "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBw" + - "b2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRl" + - "IgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxl" + - "IHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4K" + - "CmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAg" + - "ICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAg" + - "IGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVz" + - "ZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQu" + - "IFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVu" + - "ZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMg" + - "ICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAg" + - "ICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNj" + - "aGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTog" + - "MTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5v" + - "ZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVu" + - "dHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3Rv" + - "ciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNm" + - "CiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNs" + - "YXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBg" + - "CgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAg" + - "YGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAi" + - "QWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4g" + - "RmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3Mg" + - "cmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3lu" + - "Y2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25z" + - "IHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2Ut" + - "bmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxl" + - "ZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJ" + - "ZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1l" + - "c3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBw" + - "dWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFw" + - "IEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMg" + - "Y2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMj" + - "IERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwg" + - "Z2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBt" + - "aW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52" + - "Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0" + - "ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEu" + - "ICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxl" + - "bnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVu" + - "Y29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIg" + - "ZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQg" + - "LWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIu" + - "ICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBz" + - "cGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBG" + - "aXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNl" + - "cyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kK" + - "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1u" + - "b3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUg" + - "bmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYm" + - "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlm" + - "IG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZp" + - "bmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFt" + - "ZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwoj" + - "IG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRl" + - "cm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBj" + - "b21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBo" + - "YXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNv" + - "dXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQg" + - "Q09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6" + - "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + - "RV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1td" + - "IHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4" + - "YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMj" + - "Ki99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5h" + - "bWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJz" + - "XCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBu" + - "YW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3Bl" + - "cmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05U" + - "RVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAn" + - "LnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + - "RV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMv" + - "ZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3Bl" + - "cmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhp" + - "c3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1v" + - "cGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3Np" + - "cyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2Vk" + - "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVu" + - "IG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJv" + - "bSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4K" + - "CklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRo" + - "ZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + - "ZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVw" + - "bG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1u" + - "IG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5" + - "IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpi" + - "cm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwt" + - "c2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVu" + - "ZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmln" + - "dXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxh" + - "bmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMj" + - "IyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZv" + - "eS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScp" + - "CnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAt" + - "SCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBD" + - "aGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3Jl" + - "cCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwK" + - "ICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFu" + - "ZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGll" + - "bnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0" + - "CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0" + - "YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUg" + - "NF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9p" + - "bnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWlj" + - "ayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8" + - "IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1z" + - "eXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1z" + - "eXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNl" + - "LCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwg" + - "bGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJv" + - "eHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5" + - "IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAA" + - "AAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0" + - "dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + - "Z290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5n" + - "b3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2Vy" + - "dmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0t" + - "IGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVm" + - "YXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAg" + - "ICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBg" + - "LS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lz" + - "dHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + - "ICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2ll" + - "cy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAg" + - "YC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFu" + - "ZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwg" + - "ICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwg" + - "ICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVy" + - "cmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUg" + - "dGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBz" + - "ZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2" + - "YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmls" + - "ZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2Zp" + - "bGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBl" + - "bmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90" + - "ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVs" + - "bS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIg" + - "fCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFn" + - "ZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRy" + - "YSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lg" + - "IHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2Ag" + - "bGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + - "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + - "IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwg" + - "c2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2Yt" + - "YXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + - "aW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVs" + - "bS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52" + - "Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZj" + - "Zi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFs" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZj" + - "Zi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdh" + - "eSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + - "YWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkt" + - "a2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdh" + - "eS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNl" + - "cyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2Ug" + - "T0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZh" + - "bHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24g" + - "YGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2Ag" + - "aGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55" + - "YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0t" + - "LS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVh" + - "c2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVk" + - "IG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUu" + - "IFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDog" + - "KmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + - "Z290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFz" + - "ZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBg" + - "dmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRl" + - "J3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBs" + - "YXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + - "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + - "b3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6" + - "ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9" + - "fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxw" + - "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + - "YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fz" + - "c2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5n" + - "b3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0" + - "IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNz" + - "YW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + - "czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmls" + - "ZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRp" + - "dmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246" + - "IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZp" + - "Y2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlv" + - "dSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2lu" + - "Y2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVj" + - "ZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50" + - "cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoy" + - "LiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMK" + - "My4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3Ry" + - "dWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+" + - "LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJs" + - "b2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlh" + - "bWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9t" + - "IGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBh" + - "bmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91" + - "Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNz" + - "YW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBv" + - "c2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVy" + - "c2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9k" + - "ZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNs" + - "YXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2Fk" + - "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNv" + - "bmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBv" + - "ZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVu" + - "QmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmlt" + - "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMg" + - "KGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+" + - "LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3Rv" + - "cmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGlu" + - "Z3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJl" + - "Zm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAi" + - "TExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFw" + - "aS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVu" + - "IEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0" + - "byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMu" + - "bGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGgu" + - "CgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZp" + - "Z3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhl" + - "IHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0" + - "ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + - "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAg" + - "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + - "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwK" + - "ICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0" + - "cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBg" + - "CgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVz" + - "dCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRl" + - "eHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMg" + - "dGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQK" + - "YGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBh" + - "IFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2Vw" + - "YXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJl" + - "ZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3" + - "b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3" + - "b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUg" + - "cmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + - "Y29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0" + - "aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIu" + - "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3VzZXIvbGxtLXJlcXVlc3Qtcm91dGVyLWxv" + - "YWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVk" + - "IG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9y" + - "eSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBg" + - "YHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAg" + - "ICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lz" + - "dHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5O" + - "VkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQu" + - "ClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1" + - "dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29u" + - "ZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBk" + - "YXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0" + - "ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGlu" + - "c3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6Cgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBp" + - "bnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24g" + - "bXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3Qg" + - "cmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0" + - "YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2" + - "ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1l" + - "CnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250" + - "cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lv" + - "bi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0" + - "bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQg" + - "cG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRl" + - "cicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJh" + - "Y2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3Bl" + - "Yy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17" + - "ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJg" + - "IGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIg" + - "c2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3Vy" + - "YXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3Jj" + - "L2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9u" + - "Lm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9y" + - "IGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVz" + - "dC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgoj" + - "IERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1w" + - "cm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9" + - "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCLE1HdsCKgAAAioAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBv" + - "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2Fi" + - "bGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + - "aW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZD" + - "RiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJh" + - "Y3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9l" + - "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1" + - "ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMK" + - "dGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxl" + - "bnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0" + - "cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0" + - "ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5n" + - "IGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + - "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29y" + - "ZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + - "aG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52" + - "Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZp" + - "cm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3" + - "IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + - "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52" + - "Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBh" + - "bmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + - "CnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBW" + - "UE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAg" + - "cm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldo" + - "ZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1w" + - "bGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBv" + - "biBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMg" + - "YXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ug" + - "b25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUg" + - "YXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1w" + - "bGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQg" + - "b3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQg" + - "dG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMj" + - "IDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + - "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + - "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBc" + - "CiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3Jl" + - "YXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + + "IlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUg" + + "ZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVw" + + "ZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5" + + "IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRl" + + "bmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0" + + "ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZv" + + "ciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJh" + + "IHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBh" + + "bmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRl" + + "c2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQ" + + "dWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRp" + + "ZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlz" + + "c2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2lu" + + "Zy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2Vl" + + "IHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBm" + + "b3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQv" + + "b3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290" + + "IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjog" + + "IkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0Yg" + + "Y29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBh" + + "bmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdh" + + "dGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNm" + + "LWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRw" + + "b2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5k" + + "IE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBk" + + "aXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0" + + "IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMs" + + "IFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3Jl" + + "YXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNs" + + "dWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21w" + + "dXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lz" + + "dGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xs" + + "ZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2Yt" + + "Z2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VV" + + "UkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVS" + + "TCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3By" + + "b3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQ" + + "QyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5" + + "QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkg" + + "YW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkg" + + "c2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + + "ZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5" + + "IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VV" + + "UkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFs" + + "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUi" + + "LAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5j" + + "bHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMg" + + "Y3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBh" + + "bmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzEx" + + "LXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29u" + + "dHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3Ro" + + "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVy" + + "ZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRo" + + "ZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcg" + + "Zm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBs" + + "YW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRp" + + "b24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZl" + + "IGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24g" + + "YW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJz" + + "aGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1p" + + "c3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFj" + + "ZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92" + + "ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0" + + "aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0" + + "YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBu" + + "YW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJl" + + "ZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVz" + + "dGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0" + + "ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFz" + + "dCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1" + + "c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRl" + + "c3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBj" + + "b25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNs" + + "dXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAg" + + "ICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUs" + + "IGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + + "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQg" + + "YWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdo" + + "ZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwK" + + "ICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFt" + + "ZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNl" + + "IHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZp" + + "bGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJF" + + "Q09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVk" + + "IG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBj" + + "b21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhl" + + "IGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25z" + + "LCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01T" + + "IGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdh" + + "cm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5k" + + "IGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1j" + + "b25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBh" + + "bmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAg" + + "IlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVz" + + "dGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0" + + "aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRl" + + "bmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQg" + + "WUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFs" + + "dWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWlu" + + "ZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9i" + + "YWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQg" + + "Z2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5k" + + "IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBp" + + "bmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2" + + "YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55" + + "YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50" + + "IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBz" + + "cGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNz" + + "LCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBh" + + "cmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1" + + "ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0" + + "aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWly" + + "ZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1l" + + "bmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBm" + + "dW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2Rl" + + "IGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2" + + "ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmln" + + "dXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qg" + + "cm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXIt" + + "b2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlu" + + "a2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9y" + + "IG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3Rl" + + "ciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1" + + "bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2Vu" + + "dENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhl" + + "IHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0" + + "IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhl" + + "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxs" + + "YXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRo" + + "ZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVu" + + "YWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdl" + + "bnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRo" + + "ZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + + "IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0" + + "aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhl" + + "ciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBn" + + "YXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBp" + + "bmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0" + + "ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIg" + + "dHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNv" + + "bnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBw" + + "bGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVk" + + "ZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmll" + + "ZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUs" + + "IGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlv" + + "biI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGlu" + + "ZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFs" + + "c2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQg" + + "cmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNr" + + "aWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5v" + + "dCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5z" + + "dGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUg" + + "aGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRh" + + "bmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBd" + + "CiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhh" + + "bXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9z" + + "LgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVs" + + "dCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0" + + "eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0" + + "YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBo" + + "ZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxp" + + "bmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1j" + + "YXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291" + + "cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjog" + + "QWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJ" + + "biB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBz" + + "ZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAot" + + "IG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEu" + + "ZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQog" + + "IHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZh" + + "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAt" + + "IGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + + "ICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0" + + "czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgoj" + + "IyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFm" + + "dGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwg" + + "ICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0" + + "YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2Fu" + + "ZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0t" + + "CgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVs" + + "bCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkg" + + "ZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2lu" + + "ZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQg" + + "Zm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxt" + + "OgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTog" + + "bnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5" + + "OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3Ig" + + "aGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICck" + + "b2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlv" + + "IC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVh" + + "dGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + "WT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVz" + @@ -3628,124 +2807,951 @@ const skillDataZipBase64 = "" + "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9u" + - "LU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNl" + - "cm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENs" + - "dXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVz" + - "dGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3Bl" + - "YzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxs" + - "c2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSBy" + - "ZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAg" + - "ICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5" + - "cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0g" + - "Im5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAg" + - "ICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0" + - "YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAg" + - "ICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdl" + - "cHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAg" + - "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBc" + - "CiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5z" + - "dGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJv" + - "bC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZp" + - "bGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2Vj" + - "cmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0" + - "CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + - "cHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + - "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9" + - "bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAog" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxT" + - "ZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNl" + - "Y3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29t" + - "cHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5z" + - "dGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRy" + - "b2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3si" + - "bmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52" + - "Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6" + - "IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScu" + - "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + - "IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0" + - "b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3Rl" + - "bQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3" + - "aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFp" + - "bmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9t" + - "IEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBO" + - "byBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVy" + - "cyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRp" + - "dHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBz" + - "dGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVy" + - "bm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kg" + - "aXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxu" + - "YW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90" + - "IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoK" + - "IyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2Vj" + - "cmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1l" + - "CgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBl" + - "eGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0" + - "YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQ" + - "SwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAGfXWVRKEAAAShAAABIACQAAAAAAAAAAAAAA" + - "AAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNh" + - "AAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQCct34H8QoAAPEKAAAzAAkAAAAAAAAAAAAAAEByAABkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAACbfQAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAGOKAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA1pcAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAOWxAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKS" + - "LCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAa9cAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "QnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAACd5gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq" + - "4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAAA8PAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odj" + - "VuQhAADkIQAALgAJAAAAAAAAAAAAAABHFwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkA" + - "AAAAAAAAAAAAAJA5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFu" + - "ZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAc6daZNUGAADVBgAAMgAJAAAAAAAAAAAAAAAY" + - "XQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAUQbfxegtAADoLQAALQAJAAAAAAAAAAAAAABWZAEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAAopIBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAACEpAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAA" + - "NAAJAAAAAAAAAAAAAAAwBwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + - "bHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAA" + - "AAAAAAAAAOVdAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAMqGAgBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsA" + - "CQAAAAAAAAAAAAAAX7cCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALE1HdsCKgAAAioAAEQA" + - "CQAAAAAAAAAAAAAAhugCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5" + - "BwAAuQcAAD8ACQAAAAAAAAAAAAAAAxMDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBL" + - "QjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAADIbAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8J" + - "AACnMQMAAAA=" + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3Rl" + + "cCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBj" + + "aGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhh" + + "bXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25k" + + "aXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAg" + + "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + + "IC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1z" + + "ZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGlt" + + "YWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJl" + + "bmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhl" + + "IGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Vz" + + "LiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkg" + + "aW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpg" + + "bnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMg" + + "U3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3Vi" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQ" + + "YXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpB" + + "ZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwg" + + "YmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9y" + + "IG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1u" + + "by1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291" + + "bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFt" + + "ZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoK" + + "VmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + + "cCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFn" + + "ZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5k" + + "IFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNs" + + "ZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoK" + + "YGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kg" + + "XAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + + "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21w" + + "dXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRl" + + "eHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2Zh" + + "aWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdp" + + "c3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZy" + + "b20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rl" + + "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmly" + + "bWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4g" + + "LS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rl" + + "ci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAg" + + "LS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21w" + + "dXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNr" + + "CgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVz" + + "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVm" + + "b3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0" + + "ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBh" + + "biBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1l" + + "dGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkg" + + "cGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFu" + + "Y2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRl" + + "bGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBc" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4K" + + "YGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFt" + + "ZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlm" + + "eSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbykn" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBn" + + "cmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBC" + + "b3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0" + + "YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQj" + + "Y2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdh" + + "dGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5" + + "IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2lu" + + "dC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQURE" + + "Uj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + + "IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3Rh" + + "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMj" + + "IyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xv" + + "YmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5n" + + "ZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBz" + + "dWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdB" + + "VEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2Vl" + + "cCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJg" + + "IHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50" + + "IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0" + + "aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNl" + + "VVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBV" + + "UkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2Vk" + + "LiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUK" + + "aGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUg" + + "ZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNv" + + "bnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + + "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAog" + + "IC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0" + + "b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVz" + + "LmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxl" + + "IDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4g" + + "aXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVz" + + "dCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMK" + + "a3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3Nh" + + "bmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1" + + "c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwg" + + "U2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2Ut" + + "Z3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8" + + "IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlv" + + "bi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9w" + + "dGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5l" + + "bmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2th" + + "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5" + + "LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + + "aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1" + + "ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJl" + + "cXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdh" + + "dGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxl" + + "ZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdh" + + "dGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBh" + + "bmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlg" + + "IHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + + "YXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2Ut" + + "Z3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxl" + + "YXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlz" + + "c3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBp" + + "dCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAA" + + "fygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUA" + + "AQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFu" + + "ZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250" + + "cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBj" + + "bHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwg" + + "bGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRo" + + "ZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNv" + + "dXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8" + + "CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBh" + + "bmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1" + + "ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93" + + "IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5v" + + "dCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1v" + + "bm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4" + + "dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0" + + "ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5k" + + "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMg" + + "RmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoK" + + "Ci0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBm" + + "b3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5k" + + "IHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxs" + + "IHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFs" + + "dWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVd" + + "KGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4" + + "YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0" + + "ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRl" + + "cyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJs" + + "ZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhl" + + "IGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwK" + + "YDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21h" + + "aW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8g" + + "dGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29y" + + "a2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRv" + + "bWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdh" + + "eS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJl" + + "c3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21h" + + "aW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdh" + + "eS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48" + + "Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6" + + "Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBp" + + "OgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3" + + "YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3kt" + + "Z2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZv" + + "eS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAg" + + "IG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAg" + + "cm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0" + + "cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0K" + + "ICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAg" + + "ICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAg" + + "bmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBp" + + "c3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFs" + + "OgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDog" + + "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3Zl" + + "cnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJp" + + "ZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRl" + + "d2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5" + + "LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2Fp" + + "bnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdo" + + "IGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcg" + + "cGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + + "c3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3Nl" + + "cnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tl" + + "eXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2Nh" + + "dGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIK" + + "YGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNj" + + "aGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3Mg" + + "YC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRl" + + "d2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZs" + + "YWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUg" + + "Y29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4g" + + "XAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNf" + + "VVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + + "LXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5W" + + "Q0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rl" + + "ci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1" + + "dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURD" + + "IGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0" + + "aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJv" + + "dGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBp" + + "dCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5" + + "IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNv" + + "bnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1l" + + "ZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25m" + + "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1j" + + "b250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29u" + + "dHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1l" + + "PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApg" + + "YGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5l" + + "IGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + + "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwK" + + "ICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1" + + "ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVz" + + "dGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + + "eHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMK" + + "d2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2Vj" + + "cmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2Vz" + + "IG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1" + + "bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFu" + + "ZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52" + + "Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBs" + + "YW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2Vj" + + "cmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBs" + + "aWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAt" + + "biBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZj" + + "YS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0n" + + "ey5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1u" + + "IG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZl" + + "cnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMg" + + "Y2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJl" + + "Zm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5" + + "IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + + "bG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZv" + + "ciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRl" + + "ZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJs" + + "ZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFu" + + "ZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1l" + + "c3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdl" + + "dHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4K" + + "CkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2" + + "YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08" + + "Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9" + + "PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4g" + + "Y2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJh" + + "dGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpg" + + "YGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBi" + + "ZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdp" + + "c3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250" + + "cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + + "IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklM" + + "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + + "PgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWly" + + "ZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xl" + + "YW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBr" + + "ZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBk" + + "b3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0" + + "aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFz" + + "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + + "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "XAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1p" + + "ZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBO" + + "YW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBp" + + "dCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNv" + + "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFz" + + "dCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRy" + + "b2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVm" + + "b3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnBy" + + "ZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + + "XAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUt" + + "cmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRv" + + "d25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21w" + + "dXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNv" + + "bnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQ" + + "SwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIj" + + "IERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBj" + + "b21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMg" + + "Q29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0" + + "bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3Vi" + + "ZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxp" + + "c3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVy" + + "ZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGlt" + + "ZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRp" + + "b25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + + "bWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0" + + "ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAg" + + "QUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAg" + + "NW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3Iu" + + "aW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpg" + + "YGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sg" + + "aWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0" + + "IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBp" + + "bWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+" + + "IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBT" + + "ZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFt" + + "ZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoK" + + "IyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQK" + + "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNy" + + "LWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNl" + + "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + + "WSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMg" + + "YnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVs" + + "bFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3Jl" + + "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFn" + + "ZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90" + + "YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2Vl" + + "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRp" + + "YWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUg" + + "d2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1" + + "Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYElu" + + "aXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAg" + + "IFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0" + + "dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lz" + + "CgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2Fp" + + "dGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBn" + + "ZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9i" + + "IHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBv" + + "ZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBv" + + "cGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJl" + + "Y3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBg" + + "YAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVp" + + "ciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIu" + + "ICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4g" + + "YGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVu" + + "YmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + + "IHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAg" + + "ICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAq" + + "Kk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFs" + + "IHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + + "YmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0" + + "LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + + "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21t" + + "b24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVz" + + "IGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1l" + + "dGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBr" + + "ZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3Mg" + + "bGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNl" + + "cnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZp" + + "Y2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhl" + + "IHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2Yg" + + "dGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFi" + + "bGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNj" + + "b3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91" + + "bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhl" + + "IG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBg" + + "YmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAg" + + "aXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRl" + + "bGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBz" + + "eW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2" + + "ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25m" + + "aWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4u" + + "L29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCBy" + + "ZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3Rl" + + "ciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMg" + + "bmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1h" + + "dGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01L" + + "aWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBS" + + "RUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09N" + + "S2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3Rs" + + "IGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMg" + + "Ikxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2" + + "aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhh" + + "bXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGlt" + + "aXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVz" + + "dHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGBy" + + "ZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3Jh" + + "cHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBT" + + "dHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFE" + + "WSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGlu" + + "ZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2" + + "ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + + "ZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUg" + + "YXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5Igoj" + + "IC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAt" + + "ICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipO" + + "b2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9u" + + "bWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMg" + + "fCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNr" + + "IHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2Vj" + + "bGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNh" + + "cGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8" + + "IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0g" + + "UmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3Qg" + + "LUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBo" + + "ZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsg" + + "KG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9y" + + "eSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJv" + + "eSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + + "ZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1l" + + "c3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMg" + + "UmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3Vu" + + "dCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0" + + "IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZh" + + "aWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0" + + "dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVz" + + "IGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + + "c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBh" + + "cHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9u" + + "IENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4g" + + "YHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZ" + + "YCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBW" + + "ZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5H" + + "JyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4" + + "CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhl" + + "IHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRp" + + "YWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNv" + + "dmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + + "IC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxs" + + "IHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51" + + "cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVw" + + "IGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVj" + + "dGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFj" + + "a2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFn" + + "YWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5l" + + "CnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQg" + + "Y3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBi" + + "YXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVt" + + "b3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRl" + + "eHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBq" + + "cSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUn" + + "IC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9Ijsg" + + "bmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2Zi" + + "YWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntc" + + "ImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVs" + + "ZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMg" + + "aW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRD" + + "T01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8" + + "IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRl" + + "eHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1l" + + "c3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVy" + + "ZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRl" + + "ciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVw" + + "bG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95" + + "bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgoj" + + "IyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFs" + + "bGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBm" + + "bG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlv" + + "biBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1w" + + "bGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3Ig" + + "dGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWws" + + "IGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAog" + + "IC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10" + + "YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZj" + + "ZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1" + + "cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9y" + + "YC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8g" + + "bm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0" + + "cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6" + + "IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdo" + + "IHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0" + + "cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVu" + + "ZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRl" + + "d2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNb" + + "MF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21h" + + "aW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9o" + + "ZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVw" + + "bG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZp" + + "Y2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhv" + + "c3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUg" + + "ZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUg" + + "b25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRp" + + "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNl" + + "ZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0" + + "ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1h" + + "cHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5h" + + "bWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0t" + + "LXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEg" + + "fAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0" + + "aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVl" + + "c3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWlu" + + "LWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVu" + + "dm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxt" + + "ZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRl" + + "bmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDIt" + + "Y29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBg" + + "LS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9w" + + "dGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAg" + + "ICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5h" + + "bWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2Vj" + + "cmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZh" + + "bHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAg" + + "ICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + + "ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEt" + + "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21w" + + "b25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0" + + "b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0t" + + "IGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmly" + + "b25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmly" + + "b25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBH" + + "byB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0" + + "YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhl" + + "IEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhl" + + "IENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wt" + + "cGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5k" + + "b2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoK" + + "IyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + + "c3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + + "IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVu" + + "YmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNl" + + "Y3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52" + + "Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAq" + + "ZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVw" + + "ZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBD" + + "aGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0t" + + "fC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNl" + + "cnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8" + + "IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8" + + "IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMt" + + "cHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFw" + + "aSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNl" + + "IHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8" + + "IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52" + + "Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxt" + + "LWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNl" + + "cnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1w" + + "cm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwg" + + "bnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpN" + + "b3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJl" + + "bGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3Rh" + + "bmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFy" + + "ZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5k" + + "IGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNl" + + "cnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExh" + + "YmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFi" + + "aWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxp" + + "dHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJv" + + "bm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNl" + + "CgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRl" + + "bmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRv" + + "IHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYg" + + "eW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0" + + "aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVk" + + "ZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUt" + + "dmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZp" + + "bGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAg" + + "ZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVs" + + "ZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAg" + + "ICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9" + + "fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoK" + + "LSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVp" + + "cmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRl" + + "CiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAg" + + "ICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJp" + + "dGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxt" + + "ZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBp" + + "CiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1w" + + "bGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQg" + + "cmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVl" + + "cyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMg" + + "VmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBg" + + "ZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52" + + "aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50" + + "IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNz" + + "aW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZh" + + "bHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBg" + + "dmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hh" + + "dCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxg" + + "IHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNp" + + "ZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBw" + + "YXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5k" + + "cmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVn" + + "aXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNh" + + "c3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYg" + + "YGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1" + + "bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBg" + + "bmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipg" + + "Ci0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVg" + + "Ci0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVk" + + "KQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5i" + + "YW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJh" + + "by5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2Rl" + + "IHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgot" + + "IGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4u" + + "bm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJp" + + "bGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBM" + + "TE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5j" + + "dGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAg" + + "YW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5g" + + "IHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJl" + + "cyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24g" + + "aXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5h" + + "YmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRk" + + "IHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBh" + + "cHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0" + + "cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAg" + + "ICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0" + + "Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2" + + "aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJn" + + "ZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBu" + + "YW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3Vy" + + "ZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5n" + + "bGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2Vy" + + "dmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFj" + + "awpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFp" + + "bnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAg" + + "b25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5z" + + "cG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UK" + + "dGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0" + + "aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMg" + + "cGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVj" + + "dGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9h" + + "ZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcg" + + "bWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRw" + + "czovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3MvdXNlci9sbG0tcmVxdWVz" + + "dC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2Ug" + + "aXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFu" + + "ZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBs" + + "aWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAg" + + "ICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWlt" + + "YWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5" + + "IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMg" + + "ZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5" + + "IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZp" + + "ZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFw" + + "cGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBl" + + "dmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + + "IGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdl" + + "Q29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + + "bGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGlu" + + "c3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxs" + + "YXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2" + + "ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVk" + + "IHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lp" + + "bmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0" + + "ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5j" + + "dGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2Vy" + + "IHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0" + + "ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJl" + + "cXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3Rs" + + "IC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0n" + + "e3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19" + + "ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBg" + + "bGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9h" + + "ZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rhcmdh" + + "dGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + + "b2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNv" + + "bmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMg" + + "cmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1l" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + + "ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1" + + "bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "dGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRt" + + "aW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2Vs" + + "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIsTUd2wIqAAACKgAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNG" + + "IFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4g" + + "SXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUK" + + "CkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5k" + + "IHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUg" + + "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlg" + + "IHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhh" + + "dCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZp" + + "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAg" + + "IGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNl" + + "Y3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5" + + "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "YXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUu" + + "Zy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwg" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2Vy" + + "dmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9j" + + "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVm" + + "YXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMK" + + "YG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoK" + + "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVh" + + "c2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVt" + + "cGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52" + + "Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRl" + + "IG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + + "IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0Yg" + + "VUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9z" + + "ZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVk" + + "IG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhl" + + "IGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBP" + + "dmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5" + + "IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVs" + + "bFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBj" + + "cmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4g" + + "RG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29u" + + "dHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50" + + "bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5l" + + "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21t" + + "ZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2" + + "ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUK" + + "aGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUt" + + "bmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAK" + + "CiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + + "cmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpg" + + "YGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAt" + + "LWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5" + + "IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3Yx" + + "CmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxs" + + "c2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFk" + + "ZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToK" + + "ICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9k" + + "CiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAg" + + "IC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAg" + + "ICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0i" + + "CiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2Vy" + + "IgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1l" + + "dGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRp" + + "YS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVj" + + "OgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3It" + + "Y3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAK" + + "CiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxl" + + "Y3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1w" + + "bGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0" + + "aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1Q" + + "bGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9u" + + "IHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1v" + + "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQg" + + "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgog" + + "IGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQg" + + "YW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1p" + + "cnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVy" + + "IG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpz" + + "ZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0" + + "aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + + "cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4" + + "cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5v" + + "dGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5u" + + "b3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScK" + + "IyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAt" + + "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJT" + + "dWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBj" + + "aGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1u" + + "IG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0g" + + "KipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6" + + "b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNh" + + "biBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdp" + + "c3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVu" + + "dGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFu" + + "YWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcK" + + "CiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5" + + "CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiog" + + "dGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3Jl" + + "YXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRl" + + "IHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29u" + + "dHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1" + + "bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1p" + + "bWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcg" + + "c2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0" + + "aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAt" + + "LWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + + "cGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEATyM55UoQAABKEAAAEgAJ" + + "AAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "AP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAG3jewUjDAAAIwwAADMACQAAAAAAAAAA" + + "AAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAM1+AABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAlYsAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAAImQAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAF7MAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAACd2AAAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAM/nAABkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAAQRABAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAHkYAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2Qh" + + "IwAAISMAADAACQAAAAAAAAAAAAAAwjoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "ZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkA" + + "AAAAAAAAAAAAAEpeAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1j" + + "b2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCZ0OJQFy4AABcuAAAtAAkAAAAAAAAAAAAA" + + "AIhlAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAADlAEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAOWlAQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBH" + + "VWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAJEIAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAA" + + "fygAAC8ACQAAAAAAAAAAAAAARl8CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAA" + + "AAAAAAAAK4gCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpw" + + "O7UwAAC1MAAAOwAJAAAAAAAAAAAAAADAuAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsTUd" + + "2wIqAAACKgAARAAJAAAAAAAAAAAAAADn6QIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAABkFAMAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAkxwDAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsF" + + "BgAAAAAXABcArwkAAAgzAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 2d40c79803..f90b53a5cf 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -366,14 +366,14 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte if l, err := client.RbacV1().ClusterRoleBindings().List(ctx, opts); err == nil { for i := range l.Items { if o := &l.Items[i]; reclaimable(o) { - _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, o.Name, metav1.DeleteOptions{}) + _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, o.Name, deleteExactly(o)) } } } if l, err := client.RbacV1().ClusterRoles().List(ctx, opts); err == nil { for i := range l.Items { if o := &l.Items[i]; reclaimable(o) { - _ = client.RbacV1().ClusterRoles().Delete(ctx, o.Name, metav1.DeleteOptions{}) + _ = client.RbacV1().ClusterRoles().Delete(ctx, o.Name, deleteExactly(o)) } } } @@ -381,7 +381,7 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte if l, err := sa.List(ctx, opts); err == nil { for i := range l.Items { if o := &l.Items[i]; reclaimable(o) { - _ = sa.Delete(ctx, o.Name, metav1.DeleteOptions{}) + _ = sa.Delete(ctx, o.Name, deleteExactly(o)) } } } @@ -395,16 +395,16 @@ func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, // a colliding name would otherwise vanish with no diagnostic at all. if crb, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}); err == nil && hasValidatorManagedLabels(crb.Labels) { - _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, metav1.DeleteOptions{}) + _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, deleteExactly(crb)) } if cr, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil && hasValidatorManagedLabels(cr.Labels) { - _ = client.RbacV1().ClusterRoles().Delete(ctx, name, metav1.DeleteOptions{}) + _ = client.RbacV1().ClusterRoles().Delete(ctx, name, deleteExactly(cr)) } sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) if acct, err := sa.Get(ctx, name, metav1.GetOptions{}); err == nil && hasValidatorManagedLabels(acct.Labels) { - _ = sa.Delete(ctx, name, metav1.DeleteOptions{}) + _ = sa.Delete(ctx, name, deleteExactly(acct)) } } @@ -426,7 +426,9 @@ func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Inter if !strings.HasPrefix(l.Items[i].Name, clusterValidatorName) { continue } - _ = jobs.Delete(ctx, l.Items[i].Name, metav1.DeleteOptions{PropagationPolicy: &propagation}) + opts := deleteExactly(&l.Items[i]) + opts.PropagationPolicy = &propagation + _ = jobs.Delete(ctx, l.Items[i].Name, opts) } } @@ -450,7 +452,7 @@ func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, r if !strings.HasPrefix(l.Items[i].Name, validatorPullSecretName) { continue } - _ = secrets.Delete(ctx, l.Items[i].Name, metav1.DeleteOptions{}) + _ = secrets.Delete(ctx, l.Items[i].Name, deleteExactly(&l.Items[i])) } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index aa27e7c7fa..9da51e617c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -719,10 +719,12 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp } } // Every hint is pinned to the context that was actually probed. - // In split mode the two callers pass different contexts, so a bare - // kubectl command would run against whatever context happens to be - // current, and these hints delete namespaces. - kctl := "kubectl" + kubectlContextArg(kubeContext) + // In split mode the two callers pass different contexts, and with + // no context flag the probe followed the current-context at the + // time it ran. Either way the name is resolved and written into + // the command, because these hints delete namespaces and the + // current-context can change between reading this and pasting it. + kctl := "kubectl" + kubectlContextArg(effectiveKubeContext(kubeContext)) var hints []string if len(terminating) > 0 { // spec.finalizers is writable only through the /finalize @@ -735,10 +737,16 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp "jq '.spec.finalizers=[]' | %s replace --raw /api/v1/namespaces/%s/finalize -f -", ns, kctl, ns, kctl, ns)) } - hints = append(hints, - "if it stays Terminating, the deadlock is on objects inside it: "+ - kctl+" api-resources --verbs=list --namespaced -o name | "+ - "xargs -n1 "+kctl+" get -n --show-kind --ignore-not-found") + // One command per namespace with the real name substituted. A + // `` placeholder is not pasteable: the shell reads `<` and + // `>` as redirection, so the command fails before kubectl runs. + for _, ns := range terminating { + hints = append(hints, fmt.Sprintf( + "if %s stays Terminating, the deadlock is on objects inside it: "+ + "%s api-resources --verbs=list --namespaced -o name | "+ + "xargs -n1 %s get -n %s --show-kind --ignore-not-found", + ns, kctl, kctl, ns)) + } } if len(emptyShell) > 0 { hints = append(hints, diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index a846e4c1c1..e9c17d4f8d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -32,6 +32,19 @@ import ( "k8s.io/client-go/kubernetes" ) +// deleteExactly pins a delete to the object that was inspected. The ownership +// guards read an object and then delete it by name, and in that window another +// actor can relabel it, or delete and recreate it under the same name. Without +// preconditions the delete lands on whatever holds the name by then; with them +// the apiserver rejects it as a conflict instead. +func deleteExactly(o metav1.Object) metav1.DeleteOptions { + uid := o.GetUID() + rv := o.GetResourceVersion() + return metav1.DeleteOptions{ + Preconditions: &metav1.Preconditions{UID: &uid, ResourceVersion: &rv}, + } +} + const ( // Project-specific name so the auto-created / mirrored pull secret // can never collide with the conventional `nvcr-pull-secret` that @@ -284,7 +297,11 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n fmt.Sprintf("type=%s", current.Type)); err != nil { return err } - if err := secrets.Delete(ctx, name, metav1.DeleteOptions{}); err != nil && !apierrors.IsNotFound(err) { + // A conflict means the object changed between the ownership check and + // this delete, so the thing now holding the name was never vetted. + // Stop rather than fall through to Create, which would otherwise + // silently adopt or overwrite it. + if err := secrets.Delete(ctx, name, deleteExactly(current)); err != nil && !apierrors.IsNotFound(err) { return fmt.Errorf("delete incompatible secret type %s: %w", current.Type, err) } case !apierrors.IsNotFound(err): diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 80cc3b3ae8..e60e908d0d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -21,6 +21,7 @@ import ( "context" "encoding/base64" "encoding/json" + "errors" "testing" "github.com/stretchr/testify/assert" @@ -30,6 +31,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/kubernetes/fake" ktesting "k8s.io/client-go/testing" ) @@ -557,3 +559,67 @@ func TestWriteDockerConfigSecret_RefusesUnmanagedAfterCreateRace(t *testing.T) { assert.Contains(t, err.Error(), "not managed by nvcf-cli") assert.False(t, updated, "no Update may be issued against an unmanaged secret") } + +// The ownership check reads the Secret and then deletes it by name. In that +// window another actor can delete and recreate it, so the delete has to name +// the exact object that was vetted rather than whatever holds the name by then. +func TestWriteDockerConfigSecret_TypeMismatchDeletePinsTheInspectedObject(t *testing.T) { + fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") + existing := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: "nvcr-pull-secret", + Namespace: "default", + Labels: clusterValidatorLabels(), + UID: "uid-1", + ResourceVersion: "42", + }, + Type: corev1.SecretTypeOpaque, + } + client := fake.NewSimpleClientset(existing) + + var opts metav1.DeleteOptions + client.PrependReactor("delete", "secrets", func(a ktesting.Action) (bool, runtime.Object, error) { + opts = a.(ktesting.DeleteActionImpl).DeleteOptions + return false, nil, nil + }) + + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", + "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh)) + + require.NotNil(t, opts.Preconditions, "delete must carry preconditions") + require.NotNil(t, opts.Preconditions.UID) + require.NotNil(t, opts.Preconditions.ResourceVersion) + assert.Equal(t, existing.UID, *opts.Preconditions.UID) + assert.Equal(t, existing.ResourceVersion, *opts.Preconditions.ResourceVersion) +} + +// A conflict means the object changed after the ownership check, so the run +// must stop instead of creating over whatever now holds the name. +func TestWriteDockerConfigSecret_TypeMismatchStopsOnDeleteConflict(t *testing.T) { + fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") + client := fake.NewSimpleClientset(&corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: "nvcr-pull-secret", + Namespace: "default", + Labels: clusterValidatorLabels(), + UID: "uid-1", + }, + Type: corev1.SecretTypeOpaque, + }) + client.PrependReactor("delete", "secrets", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewConflict( + schema.GroupResource{Resource: "secrets"}, "nvcr-pull-secret", + errors.New("UID precondition mismatch")) + }) + + created := false + client.PrependReactor("create", "secrets", func(ktesting.Action) (bool, runtime.Object, error) { + created = true + return false, nil, nil + }) + + err := writeDockerConfigSecret(context.Background(), client, "default", + "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh) + require.Error(t, err, "a changed object must abort the replace") + assert.False(t, created, "must not create over an object that was never vetted") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/register.go b/src/clis/nvcf-cli/internal/selfhosted/register.go index 14d18dfdb6..1e8f1bc6ae 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/register.go +++ b/src/clis/nvcf-cli/internal/selfhosted/register.go @@ -319,6 +319,33 @@ var loadKubeConfigFn = loadKubeConfig // When kctx is empty the kubeconfig's current-context is used, preserving // single-cluster behavior. The loading-rules chain follows the same priority // as kubectl: KUBECONFIG env var → ~/.kube/config. +// currentKubeContextNameFn is a seam: tests must not depend on the developer's +// kubeconfig, and hint output would otherwise vary by machine. +var currentKubeContextNameFn = currentKubeContextName + +// currentKubeContextName returns the kubeconfig's current-context, or "" when +// it cannot be read. Used to name the context in remediation hints when the +// caller did not pass one explicitly. Best-effort by design: a hint without +// the flag is still correct at the moment it is printed. +func currentKubeContextName() string { + raw, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( + clientcmd.NewDefaultClientConfigLoadingRules(), &clientcmd.ConfigOverrides{}, + ).RawConfig() + if err != nil { + return "" + } + return raw.CurrentContext +} + +// effectiveKubeContext resolves the context a probe actually used, so a hint +// naming it stays correct after the current-context changes. +func effectiveKubeContext(kctx string) string { + if kctx != "" { + return kctx + } + return currentKubeContextNameFn() +} + func loadKubeConfig(kctx string) (*rest.Config, error) { loadingRules := clientcmd.NewDefaultClientConfigLoadingRules() overrides := &clientcmd.ConfigOverrides{} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 140fb9fdf9..354dd47d15 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -37,6 +37,11 @@ const ( // contacted when the stack is not rewriting cert-manager images to // global.image.registry, which global.yaml.gotmpl does for all five of them. certManagerRegistry = "quay.io" + + // ngcRegistry is the default global.image.registry in the stack's + // environments/base.yaml, and the fallback when no source named a + // registry. See the tail of EnumerateRegistries. + ngcRegistry = "nvcr.io" ) // RegistryCredentialChecker probes whether credentials are present and valid @@ -252,7 +257,9 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re // Critical follows the same rule as every other source rather than being // forced true: an air-gapped install that side-loaded the image never // contacts this registry at pull time (ImagePullPolicy is IfNotPresent). + imageNamedRegistry := false if reg, repo, _, ok := parseImageRef(imageRef); ok && reg != "" { + imageNamedRegistry = true add(reg, repo, isNGCRegistry(reg)) } @@ -295,6 +302,24 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re add(reg, "", false) } + // Fallback for "no source named a registry at all": no validator image is + // configured and no stack values file resolved. That is the default + // configuration rather than an edge case, and without this the run reports + // on quay.io alone while the operator's NGC credentials go unchecked. + // environments/base.yaml sets global.image.registry to nvcr.io, so it is + // the right guess when there is nothing else to go on. + // + // Deliberately not triggered when the image or the stack named a non-NGC + // registry: that is a mirrored install, which has no reason to reach + // nvcr.io, and probing it there would add a failing round trip for the + // sites least able to make it. + // + // Non-critical, unlike an NGC registry a source actually named. A guess + // must not hard-fail the run, and this category has no opt-out flag. + if !imageNamedRegistry && stackRegistry == "" { + add(ngcRegistry, "", false) + } + return out } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index bdafc6d6a3..a173aa284e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -23,6 +23,7 @@ import ( "net/http" "net/http/httptest" "os" + "path/filepath" "strings" "testing" @@ -335,3 +336,51 @@ func TestEnumerateRegistries_NonNGCImageRegistryIsNotCritical(t *testing.T) { } t.Fatal("mirror.company.internal not enumerated") } + +// With no validator image and no stack values file, nothing names a registry +// and the run would report on quay.io alone, leaving the operator's NGC +// credentials unchecked in what is the default configuration. +func TestEnumerateRegistries_FallsBackToNGCWhenNothingNamesARegistry(t *testing.T) { + got := EnumerateRegistries("", "", nil) + + var ngc *RegistryEntry + for i := range got { + if got[i].Registry == "nvcr.io" { + ngc = &got[i] + } + } + require.NotNil(t, ngc, "nvcr.io must be probed when no source names a registry") + assert.False(t, ngc.Critical, + "a guessed registry must not hard-fail the run; this category has no opt-out flag") +} + +// A mirrored install has no reason to reach nvcr.io, and probing it there adds +// a failing round trip for the sites least able to make it. +func TestEnumerateRegistries_NoNGCFallbackForAMirroredStack(t *testing.T) { + dir := t.TempDir() + values := filepath.Join(dir, "base.yaml") + require.NoError(t, os.WriteFile(values, + []byte("global:\n image:\n registry: harbor.example.com\n"), 0o600)) + + got := EnumerateRegistries("", values, nil) + for _, e := range got { + assert.NotEqual(t, "nvcr.io", e.Registry, + "a stack that named its own registry must not be probed against NGC") + } +} + +// The fallback must not shadow or duplicate an NGC registry a source named, +// which carries a repo hint and is critical. +func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { + got := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", "", nil) + + n := 0 + for _, e := range got { + if e.Registry == "nvcr.io" { + n++ + assert.True(t, e.Critical, "an NGC registry named by the image stays critical") + assert.Equal(t, "nvidia/nvcf-byoc/cluster-validator", e.RepoHint) + } + } + assert.Equal(t, 1, n, "nvcr.io must appear exactly once") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 2f21a76048..e0271db531 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -171,7 +171,18 @@ func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { // -- staleNamespaceCheck binaryCheckSpec -- +// pinCurrentKubeContext keeps hint assertions independent of the developer's +// kubeconfig: without it, a machine with a current-context makes every hint +// carry a --context flag the test did not ask for. +func pinCurrentKubeContext(t *testing.T, name string) { + t.Helper() + prev := currentKubeContextNameFn + currentKubeContextNameFn = func() string { return name } + t.Cleanup(func() { currentKubeContextNameFn = prev }) +} + func TestStaleNamespaceCheck_ProberErrorDegradestoWarning(t *testing.T) { + pinCurrentKubeContext(t, "") // A prober that cannot contact the cluster must not fail the overall check // at error severity - it would produce false failures on transient network // issues or misconfigured kubeconfigs. @@ -186,6 +197,7 @@ func TestStaleNamespaceCheck_ProberErrorDegradestoWarning(t *testing.T) { } func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { + pinCurrentKubeContext(t, "") // A successfully detected stale namespace must fail at error severity so // anyFailed trips the non-zero exit code. prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { @@ -201,6 +213,7 @@ func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { } func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { + pinCurrentKubeContext(t, "") prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { return nil, nil } @@ -209,6 +222,7 @@ func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { } func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { + pinCurrentKubeContext(t, "") // The remediation command must name every stale namespace so the operator // can copy-paste it without having to cross-reference the check output. prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { @@ -281,6 +295,7 @@ func TestControlPlaneNamespaceList_ExcludesRuntimeOwnedNamespaces(t *testing.T) // kubectl command in a hint runs against whatever context is current, and // these hints delete namespaces. func TestStaleNamespaceCheck_HintsPinTheProbedContext(t *testing.T) { + pinCurrentKubeContext(t, "") prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { return []StaleNamespace{ {Name: "nvcf", Reason: "stuck Terminating"}, @@ -299,6 +314,7 @@ func TestStaleNamespaceCheck_HintsPinTheProbedContext(t *testing.T) { } func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { + pinCurrentKubeContext(t, "") prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } @@ -306,3 +322,45 @@ func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { assert.Contains(t, r.Message, "--context 'my ctx' delete namespace nvcf", "a context name with a space must be quoted so the pasted command does not split it") } + +// TestStaleNamespaceCheck_HintsSubstituteTheNamespace guards against a bare +// `` placeholder in a pasteable command: the shell reads `<` and `>` as +// redirection, so the command fails before kubectl runs. +func TestStaleNamespaceCheck_HintsSubstituteTheNamespace(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{ + {Name: "nvcf", Reason: "stuck Terminating"}, + {Name: "sis", Reason: "stuck Terminating"}, + }, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf", "sis"}).Run(context.Background()) + + assert.NotContains(t, r.Message, "", + "a shell-redirection placeholder must not appear in a copy-pasteable command") + assert.Contains(t, r.Message, "xargs -n1 kubectl get -n nvcf ") + assert.Contains(t, r.Message, "xargs -n1 kubectl get -n sis ") +} + +// TestStaleNamespaceCheck_HintsNameTheCurrentContext covers the single-cluster +// path. The probe followed the current-context, so the hint has to name it: +// the operator can switch context between reading this and pasting it, and +// these commands delete namespaces. +func TestStaleNamespaceCheck_HintsNameTheCurrentContext(t *testing.T) { + pinCurrentKubeContext(t, "k3d-local") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) + assert.Contains(t, r.Message, "kubectl --context k3d-local delete namespace nvcf") +} + +// An unreadable kubeconfig must not break the hint; it degrades to no flag. +func TestStaleNamespaceCheck_HintsOmitUnknownContext(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) + assert.Contains(t, r.Message, "kubectl delete namespace nvcf") +} From 458b201686682996ac84c4b75978ce0301f37aeb Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 16 Sep 2026 02:12:32 +0530 Subject: [PATCH 030/127] fix(nvcf-cli): probe the resolved kube context so stale-namespace hints match it --- .../examples/ci-pipelines.md | 5 +- .../agentskill/skilldata_generated.go | 6392 +++++++++-------- .../nvcf-cli/internal/selfhosted/preflight.go | 19 +- .../selfhosted/stale_namespace_test.go | 15 + 4 files changed, 3228 insertions(+), 3203 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index f13e32d79a..ee36891ae5 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -12,9 +12,9 @@ deploy_nvcf: variables: KUBECONFIG: $KUBECONFIG_FILE script: - - nvcf-cli self-hosted check --pre --json 2>&1 >/dev/null | grep '^{' | jq -e '.event != "phase_failed"' || exit 2 + - nvcf-cli self-hosted check --pre --json 2>&1 >/dev/null | grep '^{' | jq -se 'length > 0 and all(.[]; .event != "phase_failed")' || exit 2 - nvcf-cli self-hosted up --cluster-name=$CLUSTER_NAME --token=$NVCF_ADMIN_JWT --non-interactive --json - - nvcf-cli self-hosted status --json 2>&1 >/dev/null | grep '^{' | jq -e '.verdict == "healthy"' + - nvcf-cli self-hosted status --json 2>&1 >/dev/null | grep '^{' | jq -se 'any(.[]; .verdict == "healthy")' ``` Notes: @@ -22,6 +22,7 @@ Notes: - `--non-interactive --token=$JWT` is required in CI; never use interactive `init`. - Always `--json` for machine-parsing. - `--json` writes JSONL to stderr, not stdout, so redirect with `2>&1 >/dev/null` before a parser. +- Slurp with `jq -s` before testing a condition. Without it `jq -e` takes its exit status from the last event alone, so a `phase_failed` followed by any other event still exits 0. - stderr also carries plain-text notices, so filter to JSON lines. Do not add `--show-logs` here: it appends a non-JSON transcript to the same stream. - Final status check gates downstream stages on `verdict == "healthy"`. diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index d51dddae64..fb4c37f925 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,14 +31,14 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDMwMjMsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDMyNDAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4NGVlNGE0MDc3MzRkYjkzZWRhMjg2OTBk" + - "NTk5OGU2ZWI0YjBlYTkwMTFlY2U4YWIxYWE2OWQyNzMzNjU2OTRmIiwKICAgICAgInNpemUiOiAz" + - "MTA3CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJkMzM5M2VmOTVhZWRiYWE1NzBiY2JiZjQ3" + + "MzVkM2ZhYjI1MzY0MDdlM2U1NjdlZmMzNzhhOWVkM2JiYTJmMWNjIiwKICAgICAgInNpemUiOiAz" + + "MzI0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCE8jOeVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCAICbAFKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -550,2252 +550,3083 @@ const skillDataZipBase64 = "" + "cGxlCmRlcGxveV9udmNmOgogIHN0YWdlOiBkZXBsb3kKICBpbWFnZTogbnZjci5pby8wNjUxMTU1" + "MjE1ODY0OTc5L25jcC1kZXYvbnZjZi1jbGk6MS40LjAKICB2YXJpYWJsZXM6CiAgICBLVUJFQ09O" + "RklHOiAkS1VCRUNPTkZJR19GSUxFCiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLWUg" + - "Jy5ldmVudCAhPSAicGhhc2VfZmFpbGVkIicgfHwgZXhpdCAyCiAgICAtIG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgLS10b2tlbj0kTlZDRl9BRE1J" + - "Tl9KV1QgLS1ub24taW50ZXJhY3RpdmUgLS1qc29uCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IHN0YXR1cyAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLWUgJy52ZXJk" + - "aWN0ID09ICJoZWFsdGh5IicKYGBgCgpOb3RlczoKCi0gYC0tbm9uLWludGVyYWN0aXZlIC0tdG9r" + - "ZW49JEpXVGAgaXMgcmVxdWlyZWQgaW4gQ0k7IG5ldmVyIHVzZSBpbnRlcmFjdGl2ZSBgaW5pdGAu" + - "Ci0gQWx3YXlzIGAtLWpzb25gIGZvciBtYWNoaW5lLXBhcnNpbmcuCi0gYC0tanNvbmAgd3JpdGVz" + - "IEpTT05MIHRvIHN0ZGVyciwgbm90IHN0ZG91dCwgc28gcmVkaXJlY3Qgd2l0aCBgMj4mMSA+L2Rl" + - "di9udWxsYCBiZWZvcmUgYSBwYXJzZXIuCi0gc3RkZXJyIGFsc28gY2FycmllcyBwbGFpbi10ZXh0" + - "IG5vdGljZXMsIHNvIGZpbHRlciB0byBKU09OIGxpbmVzLiBEbyBub3QgYWRkIGAtLXNob3ctbG9n" + - "c2AgaGVyZTogaXQgYXBwZW5kcyBhIG5vbi1KU09OIHRyYW5zY3JpcHQgdG8gdGhlIHNhbWUgc3Ry" + - "ZWFtLgotIEZpbmFsIHN0YXR1cyBjaGVjayBnYXRlcyBkb3duc3RyZWFtIHN0YWdlcyBvbiBgdmVy" + - "ZGljdCA9PSAiaGVhbHRoeSJgLgoKIyMgR2l0T3BzIChBcmdvIC8gRmx1eCkgcGF0dGVybgoKQ0kg" + - "ZG9lc24ndCBga3ViZWN0bCBhcHBseWAg4oCUIGluc3RlYWQsIHJlbmRlciBtYW5pZmVzdHMsIGNv" + - "bW1pdCB0aGVtLCBsZXQgdGhlIGNvbnRyb2xsZXIgYXBwbHkuCgpgYGB5YW1sCnJlbmRlcjoKICBz" + - "Y3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + - "IC0tbm8tYXBwbHkgPiByZW5kZXJlZC9jb250cm9sLXBsYW5lLnlhbWwKICAgIC0gbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUg" + - "LS1uby1hcHBseSA+IHJlbmRlcmVkL2NvbXB1dGUtcGxhbmUueWFtbAogICAgLSBnaXQgYWRkIHJl" + - "bmRlcmVkLyAmJiBnaXQgY29tbWl0IC1tICJkZXBsb3kgTlZDRiAkVEFHIiAmJiBnaXQgcHVzaApg" + - "YGAKClRoZW4gQXJnb0NEIG9yIEZsdXggd2F0Y2hlcyBgcmVuZGVyZWQvYCBhbmQgYXBwbGllcy4g" + - "VGhlIENMSSBuZXZlciB0b3VjaGVzIHRoZSBjbHVzdGVyIGRpcmVjdGx5LgoKRm9yIHRoZSByZWdp" + - "c3RlciBzdGVwICh3aGljaCBtdXRhdGVzIElDTVMsIG5vdCBqdXN0IEs4cyk6CgpgYGB5YW1sCnJl" + - "Z2lzdGVyOgogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9" + - "JE5BTUUgLS1uY2EtaWQ9JE5DQSAtLXJlZ2lvbj0kUkVHSU9OIC0taWdub3JlLWV4aXN0aW5nCmBg" + - "YAoKYC0taWdub3JlLWV4aXN0aW5nYCBpcyB0aGUgR2l0T3BzLWZyaWVuZGx5IGlkZW1wb3RlbnQg" + - "Y29udHJhY3QuCgojIyBNdWx0aS1jbHVzdGVyIHBpcGVsaW5lCgpXaGVuIHRoZSBwaXBlbGluZSBt" + - "YW5hZ2VzIG1hbnkgY29tcHV0ZSBjbHVzdGVycyBhZ2FpbnN0IG9uZSBjb250cm9sIHBsYW5lOgoK" + - "YGBgeWFtbApkZXBsb3lfY29tcHV0ZV9wbGFuZXM6CiAgcGFyYWxsZWw6CiAgICBtYXRyaXg6CiAg" + - "ICAgIC0gQ0xVU1RFUjogbmNwLWVhc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1lYXN0" + - "LTEKICAgICAgLSBDTFVTVEVSOiBuY3Atd2VzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1" + - "LXdlc3QtMQogICAgICAtIENMVVNURVI6IG5jcC1ldS0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5A" + - "Z3B1LWV1LTEKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwCiAgICAgICAg" + - "LS1jbHVzdGVyLW5hbWU9JENMVVNURVIKICAgICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0k" + - "Q09OVEVYVAogICAgICAgIC0taWNtcy11cmw9JElDTVNfUFVCTElDX1VSTAogICAgICAgIC0tdG9r" + - "ZW49JE5WQ0ZfQURNSU5fSldUCiAgICAgICAgLS1ub24taW50ZXJhY3RpdmUKICAgICAgICAtLWpz" + - "b24KYGBgCgpFYWNoIHBhcmFsbGVsIGpvYiByZWdpc3RlcnMgKyBpbnN0YWxscyBvbmUgY29tcHV0" + - "ZSBwbGFuZSBhZ2FpbnN0IHRoZSBzaGFyZWQgY29udHJvbCBwbGFuZS4gRmFpbHVyZXMgYXJlIGlz" + - "b2xhdGVkLgoKIyMgUGxhbi1vbmx5IHByZXZpZXcgaW4gUFJzCgpgYGB5YW1sCnByZXZpZXc6CiAg" + - "cnVsZXM6CiAgICAtIGlmOiAkQ0lfUElQRUxJTkVfU09VUkNFID09ICJtZXJnZV9yZXF1ZXN0X2V2" + - "ZW50IgogIHNjcmlwdDoKICAgIC0gfAogICAgICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAg" + - "ICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVJfTkFNRSBcCiAgICAgICAgLS1wbGFuLW9ubHkg" + - "XAogICAgICAgIC0tanNvbiB8IHRlZSBwbGFuLmpzb25sCiAgICAtIGpxIC1zICcuWzBdJyBwbGFu" + - "Lmpzb25sID4gcGxhbi5qc29uCiAgICAtICdnaXRsYWItbXItY29tbWVudCAiIyMgTlZDRiBkZXBs" + - "b3kgcGxhblxuXG5cYFxgXGBqc29uXG4kKGNhdCBwbGFuLmpzb24pXG5cYFxgXGAiJwpgYGAKCmAt" + - "LXBsYW4tb25seWAgZXhpdHMgMCB3aXRob3V0IGNoYW5naW5nIGNsdXN0ZXIgc3RhdGU7IHRoZSBK" + - "U09OTCBvdXRwdXQgbGlzdHMgZWFjaCBwaGFzZSArIEVUQS4gUmVuZGVycyBuaWNlbHkgYXMgYW4g" + - "TVIgY29tbWVudC4KUEsHCG3jewUjDAAAIwwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUA" + - "AQCmzhIjIE11bHRpLWNsdXN0ZXIgcGF0dGVybnMKCkV4YW1wbGVzIG9mIHNwbGl0LWNsdXN0ZXIg" + - "KyBtYW55LWNvbXB1dGUtcGxhbmUgb3BlcmF0aW9uLgoKIyMgT25lIGNvbnRyb2wgcGxhbmUgKyBO" + - "IGNvbXB1dGUgcGxhbmVzCgpUaGUgY2Fub25pY2FsIG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kuIEVh" + - "Y2ggY29tcHV0ZSBwbGFuZSBpcyByZWdpc3RlcmVkIHNlcGFyYXRlbHk6CgpgYGBzaAojIDEuIEJy" + - "aW5nIHVwIHRoZSBjb250cm9sIHBsYW5lIChvbmUtdGltZSwgb24gdGhlIGNvbnRyb2wtcGxhbmUg" + - "Y2x1c3Rlcik6CktVQkVDT05GSUc9Y3AueWFtbCBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxs" + - "IC0tY29udHJvbC1wbGFuZSB8IGt1YmVjdGwgYXBwbHkgLWYgLQpudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgLS13YWl0IDVtCgojIDIuIFJlZ2lzdGVyICsgaW5zdGFs" + - "bCBlYWNoIGNvbXB1dGUgcGxhbmU6CmZvciBDVFggaW4gYWRtaW5AZ3B1LWVhc3QtMSBhZG1pbkBn" + - "cHUtd2VzdC0xIGFkbWluQGdwdS1ldS0xOyBkbwogIE5BTUU9JChlY2hvICIkQ1RYIiB8IGN1dCAt" + - "ZEAgLWYyKQogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgIC0tY2x1c3Rlci1uYW1lPSRO" + - "QU1FIFwKICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSRDVFggXAogICAgLS1pY21zLXVybD1o" + - "dHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgICAtLXRva2VuPSROVkNGX0FETUlOX0pX" + - "VCBcCiAgICAtLW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAtLWpzb24KZG9uZQoKIyAzLiBWZXJpZnkg" + - "YWxsIGNvbXB1dGUgcGxhbmVzIHJlZ2lzdGVyZWQ6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdp" + - "c3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEg" + - "Jy5jbHVzdGVyc1tdIHwge25hbWU6IC5jbHVzdGVyTmFtZSwgc3RhdHVzLCBudmNhVmVyc2lvbn0n" + - "CmBgYAoKIyMgQ29tcHV0ZS1wbGFuZS1vbmx5IG9wZXJhdG9yIHNjZW5hcmlvCgpUaGUgb3BlcmF0" + - "b3IgaGFzIGt1YmVjdGwgYWNjZXNzIHRvIE9ORSBjb21wdXRlIHBsYW5lIG9ubHkg4oCUIHRoZSBj" + - "b250cm9sIHBsYW5lIGlzIG9wZXJhdGVkIGJ5IHNvbWVvbmUgZWxzZSAoZS5nLiBZb3R0YSBydW5z" + - "IHRoZSBjb250cm9sIHBsYW5lIGZvciBhIGN1c3RvbWVyKS4KCmBgYHNoCiMgTWludCBhIHRva2Vu" + - "IHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5ICh0aGUgY29udHJvbCBwbGFuZSdzIEFQSSBLZXlz" + - "CiMgc2VydmljZSBpcyByZWFjaGFibGUgdmlhIGFwaS5udmNmLmV4YW1wbGUuY29tIOKAlCBubyBr" + - "dWJlY3RsIGFjY2VzcyBuZWVkZWQpOgpudmNmLWNsaSBpbml0IC0tYXBpLXVybD1odHRwczovL2Fw" + - "aS5udmNmLmV4YW1wbGUuY29tCgojIFJ1biBwcmUtZmxpZ2h0IHNjb3BlZCB0byB0aGUgY29tcHV0" + - "ZSBwbGFuZSBvbmx5OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMu" + - "bnZjZi5leGFtcGxlLmNvbSBcCiAgLS1qc29uCgojIEJyaW5nIHVwIGp1c3QgdGhlIGNvbXB1dGUg" + - "cGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAtLWNsdXN0ZXItbmFtZT1teS1jb21w" + - "dXRlLTEgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11" + - "cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9rZW49JEFETUlOX0pXVCBc" + - "CiAgLS1ub24taW50ZXJhY3RpdmUKCiMgU3RhdHVzIChjb21wdXRlLW9ubHkg4oCUIG9wZXJhdG9y" + - "IGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBzdGF0dXMgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAog" + - "IC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20KYGBgCgojIyBGdW5jdGlv" + - "bnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVzCgpXaGVuIHlvdSBoYXZlIG11bHRp" + - "cGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rpb24gdG8gZGVwbG95IHRvIG9uZToK" + - "CmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZl" + - "cl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAw" + - "IiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5j" + - "ZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAiY2x1c3RlcnMiOiBbImdwdS1lYXN0" + - "LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJheSAodXNpbmcgY2x1c3RlciBuYW1l" + - "cywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhvc2UgY29tcHV0ZSBwbGFuZXMuIE9t" + - "aXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBsYW5lIHdpdGggYSBtYXRjaGluZyBT" + - "S1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0ZSBwbGFuZXMKCmBgYHNoCiMgTGlz" + - "dCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJl" + - "Z2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBcCiAgfCBq" + - "cSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1c3RlcnMudHh0CgojIFN0YXR1cyBz" + - "bmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcgZWFjaCBjb250ZXh0IG5hbWUgbWF0" + - "Y2hlcyk6CndoaWxlIHJlYWQgTkFNRTsgZG8KICBlY2hvICI9PT0gJE5BTUUgPT09IgogIG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkAkTkFNRSBcCiAgICAtLWpzb24gfCBqcSAtYyAn" + - "e2NsdXN0ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3QsIHJlY29uY2lsZToucmVjb25jaWxl" + - "QWdlU2VjfScKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJlIE0rMTEgbWlsZXN0b25l" + - "IHdpbGwgYWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0tYWxsLWNvbXB1dGUtcGxhbmVzYCkg" + - "c28gdGhpcyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQSwcIoRTjgV0MAABdDAAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRkIGEgY29tcHV0ZSBwbGFuZSB0byBh" + - "biBleGlzdGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtpbmcgTlZDRiBjb250cm9s" + - "IHBsYW5lIChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJlZ2lzdGVyIGEgbmV3IEdQ" + - "VSBjbHVzdGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11bHRpLWNsdXN0ZXIgc2NhbGluZyBw" + - "YXRoOiBvbmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRlIHBsYW5lcy4KCiMjIFByZXJlcXVp" + - "c2l0ZXMgdGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0bCBjb250ZXh0IGZvciB0aGUgbmV3" + - "IGNvbXB1dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJR2AuCi0gKipQdWJsaWMgSUNNUyBV" + - "UkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAoZS5nLiBgaHR0cHM6Ly9pY21zLm52" + - "Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZvciB0aGUgY29udHJvbCBwbGFuZSdz" + - "IGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlhIGBudmNmLWNsaSBpbml0YCBhZ2Fp" + - "bnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBlbmRwb2ludC4gKEFkbWluIHRva2Vu" + - "cyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3" + - "YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9sIHBsYW5lIGlzIE5PVCByZXF1aXJl" + - "ZCB0byBvYnRhaW4gb25lLikKLSBBIHVuaXF1ZSBgLS1jbHVzdGVyLW5hbWVgIHRoYXQgZG9lc24n" + - "dCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJzLiBVc2UgYG52Y2YtY2xp" + - "IGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNN" + - "U2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gKipBc2sgZm9yIGlucHV0czoqKgogICAtIGAtLWNs" + - "dXN0ZXItbmFtZT08dW5pcXVlPmAg4oCUIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgY29udHJv" + - "bCBwbGFuZSdzIE5DQSBzY29wZQogICAtIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD08Y29udGV4" + - "dD5gIOKAlCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3Mga3ViZWN0bCBjb250ZXh0CiAgIC0gYC0taWNt" + - "cy11cmw9PGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tPmAg4oCUIGNvbnRyb2wgcGxhbmUn" + - "cyBwdWJsaWMgSUNNUyBVUkwKICAgLSBHUFUgdHlwZT8gKGRlZmF1bHQgYEgxMDBgLCBidXQgYXNr" + - "KQoKMi4gKipQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUgcGxhbmU6KioKCiAgIGBgYHNoCiAg" + - "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gfCBqcSAt" + - "YyAuCiAgIGBgYAoKICAgVGhpcyB2YWxpZGF0ZXMgdGhlIEdQVSBvcGVyYXRvciBpcyBpbnN0YWxs" + - "ZWQsIEdQVSBub2RlIGxhYmVscyBhcmUgcHJlc2VudCwgYW5kIElDTVMgaXMgcmVhY2hhYmxlIHZp" + - "YSBIVFRQLiBBZGRyZXNzIGFueSBmYWlsdXJlcyBiZWZvcmUgcHJvY2VlZGluZy4KCjMuICoqUnVu" + - "IGBhZGQtY29tcHV0ZS1wbGFuZWA6KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGFkZC1jb21wdXRlLXBsYW5lIFwKICAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAgLS1j" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAg" + - "LS10b2tlbj0kSldUIFwKICAgICAtLW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAgLS1qc29uCiAgIGBg" + - "YAoKICAgVGhpcyBpcyBhIHNlcGFyYXRlIHN1YmNvbW1hbmQgZnJvbSBgdXBgLiBJdCBydW5zIG9u" + - "bHkgdGhlIGNvbXB1dGUtcGxhbmUtcmVsZXZhbnQgcGhhc2VzOiAxIChjb21wdXRlLXBsYW5lIHBy" + - "ZWZsaWdodCksIDUgKHJlZ2lzdGVyKSwgNiAoY29tcHV0ZS1wbGFuZSBhcHBseSksIDggKGZpbmFs" + - "IGhlYWx0aCBvbiB0aGUgbmV3IGNvbXB1dGUgcGxhbmUpLiBJdCBkb2VzIE5PVCB0b3VjaCB0aGUg" + - "Y29udHJvbCBwbGFuZSBhbmQgZG9lcyBOT1QgYWNjZXB0IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + - "dGAg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIHJlYWNoZWQgb3ZlciBIVFRQUyBhdCBgLS1pY21z" + - "LXVybGAuIGAtLXRva2VuYCBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZXJlJ3Mgbm8ga3ViZWN0bCBw" + - "YXRoIHRvIG1pbnQgb25lIGZyb20uCgo0LiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxYCDigJQgZXhwZWN0IGB2" + - "ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0ZXJlZCBDb21wdXRlIFBsYW5lcyBwYW5lbCBm" + - "cm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBuZXcgY2x1c3Rlci4KCjUuICoqU21va2UuKiog" + - "W2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkg4oCUIGRlcGxveSBh" + - "IHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0byBjb25maXJtIHNjaGVk" + - "dWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRoZSBzYW1lIG5hbWUgYWxy" + - "ZWFkeSBleGlzdHM/CgpgYWRkLWNvbXB1dGUtcGxhbmVgJ3MgcmVnaXN0ZXIgcGhhc2UgdXNlcyBg" + - "LS1pZ25vcmUtZXhpc3RpbmdgIHNlbWFudGljcyDigJQgaXQnbGwgbWF0Y2ggdGhlIGV4aXN0aW5n" + - "IElDTVMgcm93IGFuZCByZXVzZSBpdHMgY2x1c3RlcklkLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJl" + - "LXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBj" + - "b21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBu" + - "by1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBu" + - "YW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRo" + - "ZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKA" + - "lCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQ" + - "U0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92" + - "ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lz" + - "dGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRo" + - "ZSB1c2VyIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMu" + - "ClBLBwhCJ0kPBQ0AAAUNAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIj" + - "IENyZWF0ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0" + - "YXNrIENSRUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMj" + - "IDEuIE1pbnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBj" + - "YXJyeSB0YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZj" + - "Zi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0t" + - "ZXhwaXJlcy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6" + - "IG52YXBpLS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50" + - "IG9ubHkgdGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZv" + - "ciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBg" + - "YAoKVG8gdmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNo" + - "Cm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0" + - "IiAtLWV4cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRh" + - "dGlvbiBwYXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5l" + - "dmVyIGVjaG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVw" + - "b3J0IG9ubHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0" + - "cyBleHBpcnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBw" + - "cmUtZmxpZ2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBh" + - "Z2VudCBzZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNG" + - "X0FQSV9LRVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9k" + - "ZXYvbnVsbCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNl" + - "dCwgcmVhZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6" + - "CgogICBgYGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9h" + - "ZHMocGF0aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3Rl" + - "eHQoKSk7IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAg" + - "IGBgYAoKMy4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVy" + - "YXRlOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdl" + - "bmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0y" + - "NGggLS12YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBz" + - "dWJwcm9jZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJz" + - "aGVsbCBvciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVy" + - "cm9yIGNsYXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFs" + - "cyIgb3IgZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQ" + - "IDQwMzoga2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkg" + - "dGFzayBsaXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6" + - "IGNvbnRhaW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJs" + - "ZSBjb250YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10" + - "YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5z" + - "dGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwi" + - "CiAgfSwKICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAog" + - "ICJjb250YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwi" + - "IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNr" + - "IElEOiA8dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4g" + - "U3RhdGUgcGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBl" + - "eHBsaWNpdGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBz" + - "YXZlZCBzdGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBy" + - "dW5zOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWlu" + - "ZXItdGFzayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8x" + - "eCBcCiAgLS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1v" + - "OmxhdGVzdCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9t" + - "IHRhc2spJyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVj" + - "aWZpYyBjb21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0" + - "LWZpbGU9dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBp" + - "bmplY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdz" + - "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVy" + - "Lmpzb24gXAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9T" + - "RUNSRVQ9czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24K" + - "ewogICJjb250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1" + - "ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQi" + - "LCAidmFsdWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQg" + - "cmVzdCBhbmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0" + - "OyBkbyBub3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlw" + - "ZSB0YXNrcywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBq" + - "c29uCnsKICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjog" + - "ewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4" + - "IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6" + - "Ly9oZWxtLm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6" + - "IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDog" + - "PHRhc2tfaWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVh" + - "bGx5IGV4Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoK" + - "YGBgc2gKbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5B" + - "TUU9dmFsdWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1" + - "cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRz" + - "IG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBz" + - "ZWNyZXQgdmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToK" + - "CmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAt" + - "PiBzdGF0dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUg" + - "ZnJvbSB0aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + - "Z2V0CmBgYAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwg" + - "YENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1F" + - "X0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZl" + - "Y3ljbGUgZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBg" + - "YHNoCm52Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0" + - "dWNrIGluIGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRj" + - "aGluZyBHUFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBzdGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50" + - "cyBvdXRwdXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVs" + - "IGRldGFpbCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBs" + - "YW5lIGNsdXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNw" + - "YWNlIGFuZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGgg" + - "YHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNp" + - "Z246CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRz" + - "IjogW119CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9B" + - "RGAsIHJlc3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0" + - "aW9uYC4gVGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRo" + - "YXQgbG9jYXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApu" + - "dmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBp" + - "cyBub3QgeWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5j" + - "ZWwgYSBydW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4K" + - "YGBgCgpEZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBz" + - "dGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5k" + - "IGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUg" + - "dGhlIHRhc2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3" + - "aGVuIHRoZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdh" + - "eXMgZ2V0IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBl" + - "cm1hbmVudCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUg" + - "Y3VycmVudCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgoj" + - "IyBOb3RlcwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdp" + - "c3RlcmVkIGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRv" + - "IHJlbWFpbiBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0" + - "YCB0byBjaGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBw" + - "cml2YXRlIHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBp" + - "bWFnZS1jcmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9z" + - "dC4KUEsHCNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIj" + - "IERlcGxveSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0" + - "ZXAgZmxvdzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZv" + - "a2Ugc2NvcGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUg" + - "ZnVuY3Rpb24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1" + - "bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1h" + - "Z2Ugd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFz" + - "ay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxk" + - "cy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJj" + - "b250YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVu" + - "Y2VVcmwiOiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24i" + - "OiAic21va2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQi" + - "LAogICJhcGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2Nv" + - "bCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAi" + - "dGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBg" + - "YAoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4u" + - "anNvbgojIOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lk" + - "PgpgYGAKClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9r" + - "ZS4KCiMjIyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExM" + - "TSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFk" + - "YXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5j" + - "dGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBh" + - "bmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3Rv" + - "cCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhl" + - "c2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1l" + - "PiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAg" + - "ImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9u" + - "VHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAi" + - "dXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMi" + - "LAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsK" + - "ICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWci" + - "OiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25z" + - "ZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9y" + - "b2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQog" + - "IF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + - "aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1p" + - "bWFnZT0iPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8g" + - "XAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0t" + - "aGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgt" + - "cHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5j" + - "dGlvbi10eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1l" + - "Pix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Ms" + - "cm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNl" + - "IHRoZSBzYW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3Jl" + - "YXRlZC4KCk9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBg" + - "c2gKbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAog" + - "IC0tdmVyc2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25m" + - "aXJtZWQtbW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGlt" + - "aXQ9MTAwMC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQg" + - "YHRva2VuUmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxs" + - "bUNvbmZpZ2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tl" + - "biBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZv" + - "ciBhIHNpbmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQg" + - "bGltaXRzLCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAt" + - "V2AsIGJlY2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJh" + - "dG9ycy4KCiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24g" + - "dHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hh" + - "cnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQg" + - "YG1vZGVsc1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhl" + - "bG1DaGFydFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJu" + - "ZXRlcyBTZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBt" + - "dXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwg" + - "Y29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1" + - "c2VyLiBJZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52" + - "ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7" + - "CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6" + - "ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAog" + - "ICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgi" + - "LAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVk" + - "U3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52" + - "aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oi" + - "LAogICJoZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVs" + - "cyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAg" + - "ICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwg" + - "Ii92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhv" + - "ZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAg" + - "ICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52" + - "Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5h" + - "bWU+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAg" + - "LS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgt" + - "dGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhw" + - "ZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0" + - "PWh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1j" + - "b21wYXRpYmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBh" + - "dGlibGUgXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0v" + - "djEvY2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdN" + - "ZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1" + - "bmNoYW5nZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVj" + - "aWZpY2F0aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFs" + - "dWUgb3ZlcnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZl" + - "cnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAg" + - "ICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAog" + - "ICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1" + - "ZXN0Q29uY3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2Vydmlu" + - "ZyI6IHsKICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0K" + - "fQpgYGAKCkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAg" + - "dmFsdWUuIFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQg" + - "c2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRl" + - "ZCB0byB0aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpT" + - "dXBwb3J0ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92" + - "MS9jaGF0L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlj" + - "a2luZXNzLiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRo" + - "OyByZWxheXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBK" + - "U09OIGZvciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVz" + - "cy4gfAp8IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkg" + - "YGlucHV0YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3Qg" + - "MjA0OCBlbnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERF" + - "UExPWQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6" + - "ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1Ijog" + - "IkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbklu" + - "c3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3Vy" + - "cmVuY3kiOiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5Kiog" + - "KGUuZy4gYEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5I" + - "MTAwXzF4YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNo" + - "Cm52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5q" + - "c29uCmBgYAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVh" + - "Y2hlcyBBQ1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAs" + - "IGEgZnVuY3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFj" + - "ZSBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdp" + - "dGggYGludm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2Vu" + - "IGRvZXMgTk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdv" + - "dWxkIDQwMyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJ" + - "IGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNv" + - "bmZpcm1lZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkg" + - "S2V5OiBudmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2" + - "ZWQgdG8gdGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBp" + - "bnZva2VgIGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMj" + - "IDQuIEZ1bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIs" + - "CiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjog" + - "ImhlbGxvIn0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZp" + - "bGU9aW52b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg" + - "4oaSIFN0YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBM" + - "TE0gZnVuY3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVw" + - "bG95bWVudDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24u" + - "PGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFy" + - "ZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNv" + - "biIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+" + - "IiwKICAgICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAg" + - "InJvbGUiOiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0K" + - "ICB9JwpgYGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+" + - "Lzxtb2RlbC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5k" + - "IG1vZGVsLgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAi" + - "aHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0" + - "aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6" + - "IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZp" + - "cm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3Vt" + - "bWFyeSBvZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwg" + - "LXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5n" + - "cyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUgg" + - "IkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAi" + - "PGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVk" + - "ZGluZ3MgY2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01T" + - "IGZvciB0aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBs" + - "YW5lIGNsdXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hl" + - "biB0aGUgdXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBm" + - "dW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lk" + - "PgpgYGAKCioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJl" + - "bW92ZXMgYm90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5v" + - "dGVzCgotIERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3Ry" + - "ZWFtLWluaXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2" + - "ZWQgaW4gZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9u" + - "IGRlcGxveSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxp" + - "ZXMsIGNoYW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9u" + - "IFNLVXM6IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEw" + - "MF8xeGAuCi0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUg" + - "ZnJvbSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIg" + - "Y29uZmlnIChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBw" + - "b2RzIGxhbmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "ZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNl" + - "bGYtaG9zdGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3Ig" + - "IlggaXNuJ3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMj" + - "IDEuIEdldCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0t" + - "anNvbiB8IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJz" + - "ZSBgLnZlcmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0" + - "aGUgdXNlciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBi" + - "ZSBhdCBhIGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4K" + - "LSAqKmBkZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRo" + - "ZSBDb21wb25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNz" + - "YW5kcmFgIFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1h" + - "Z2VQdWxsQmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFp" + - "bGVkYC4gUmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVz" + - "c2FnZS4KLSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBw" + - "bGFuZSBpdHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2Ag" + - "ZGlyZWN0bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVh" + - "Y2ggbm9uLXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2Vg" + - "IChlLmcuIGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2Vy" + - "IHRvIHJ1bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0" + - "bCBsb2dzIC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3Vy" + - "ZmFjZSB0aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwg" + - "ZGVsZXRlIHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFy" + - "dCBsb3NlcyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5z" + - "Cgp8IFN5bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNz" + - "IG1pc3Npbmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg" + - "4oCUIGNvbmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1" + - "YmVjdGwgcGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5u" + - "b3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6" + - "InRydWUifX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3Ig" + - "Y2Fzc2FuZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8" + - "IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1" + - "c3RlciBgbnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVy" + - "ZXF1aXNpdGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8v" + - "ZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3" + - "YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGgg" + - "dmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBw" + - "bGFuZSdzIFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0" + - "IG1hdGNoIHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1" + - "c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJl" + - "YWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + - "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + - "IChpbml0IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRp" + - "ZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNm" + - "LWNsaSBpbml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9y" + - "IGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0" + - "ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5p" + - "by8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIg" + - "aW1hZ2UgcHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRg" + - "IChoZWxtZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBm" + - "aXggbGFuZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVy" + - "c2lvbiBhZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFy" + - "dCBvdmVyCgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBj" + - "ZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmlu" + - "c3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBo" + - "ZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21w" + - "dXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0" + - "ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3" + - "YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0" + - "IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3Mu" + - "CgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4" + - "LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3Rh" + - "bGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAq" + - "KkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmly" + - "bWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVu" + - "IGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFn" + - "bm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4O" + - "AAC+DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBz" + - "ZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxm" + - "LWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxv" + - "Y2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoK" + - "MS4gQ29uZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0" + - "ZXIgKGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBs" + - "ZXIpIG9yIHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBv" + - "biBjbHVzdGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3Rl" + - "ciBuYW1lICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBp" + - "ZGVudGlmaWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVz" + - "LWVhc3QtMWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUg" + - "a3ViZWNvbmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElD" + - "TVMgVVJMPyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhp" + - "cyBpcyBub3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFu" + - "ZSwgdGhlbiBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBh" + - "bmQgZ1JQQyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3Qg" + - "YmUgcHJvZ3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0" + - "ZXdheSBsb2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBp" + - "bmdyZXNzIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJl" + - "IHRoZQogICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVs" + - "bWZpbGUsIGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAog" + - "ICBrdWJlY3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0" + - "ZXdheS1hcGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlh" + - "bWwKCiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdh" + - "eSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "ICIkbmFtZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + - "IC0KICAgZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVz" + - "cyBzaXMgbnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIg" + - "bnZjZi9wbGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAt" + - "LWluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAg" + - "ICAtLXZlcnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAK" + - "CiAgIEJlZm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2Vy" + - "dmljZSBjb250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBw" + - "bHkgdGhlIG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBg" + - "ZW52b3lTZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1j" + - "bHVzdGVyCiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20g" + - "dGhlIGNsdXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhw" + - "b3J0IEVLU19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmli" + - "ZS1jbHVzdGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVz" + - "dGVyLmt1YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQn" + - "IFwKICAgICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxv" + - "eW1lbnQgYXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkg" + - "cmVzdWx0IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3Mu" + - "YXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0" + - "bWwpLgogICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3Rz" + - "IHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNl" + - "bnQsIGNvbmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxl" + - "Z2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRo" + - "ZSBBV1MKICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4" + - "YW1wbGUuCgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2Fk" + - "IEJhbGFuY2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBg" + - "ZW52b3lTZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAg" + - "IGVudm95U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20v" + - "bmxiCiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9h" + - "d3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9y" + - "IHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFj" + - "ZSB0aGUgbWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0" + - "aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2Vy" + - "LXR5cGU6ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4g" + - "aW50ZXJuZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJp" + - "bmUgdGhlIGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgog" + - "ICBDb250cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBv" + - "cnRzIGFuIE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVE" + - "UCwgYnV0IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBw" + - "b3J0cy4gVXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVy" + - "YXRlZAogICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVz" + - "dGVycywgcmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25m" + - "aWd1cmF0aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRv" + - "LU1vZGUgZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJl" + - "Y3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5Lmlv" + - "L3YxYWxwaGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcK" + - "ICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlk" + - "ZXI6CiAgICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBl" + - "bnZveVNlcnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNl" + - "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAg" + - "ICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1u" + - "bGItdGFyZ2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJl" + - "cm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAg" + - "LS0tCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDog" + - "R2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29u" + - "dHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxl" + - "cgogICAgIHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5Lmlv" + - "CiAgICAgICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNl" + - "OiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVP" + - "RgogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdh" + - "dGV3YXkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNl" + - "OiBlbnZveS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBs" + - "aXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAg" + - "cG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + - "ICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1h" + - "dGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5h" + - "bWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFs" + - "bG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0" + - "b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAg" + - "ICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBh" + - "bm5vdGF0aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3Vi" + - "ZXJuZXRlcy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGll" + - "cyB0aGVtIHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNl" + - "IGFubm90YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRo" + - "ZSBHYXRld2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBl" + - "eHBvcnQgQ0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1k" + - "ZWZhdWx0IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVX" + - "QVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9" + - "Im52Y2YtZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdh" + - "dGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3Vi" + - "ZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FU" + - "RVdBWV9OQU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVv" + - "dXQ9MTBtCiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRl" + - "d2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVk" + - "PVRydWUgLS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1u" + - "ICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFN" + - "RSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAg" + - "IGV4cG9ydCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05B" + - "TUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25w" + - "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZ" + - "X0FERFIiIHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQg" + - "MQogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBg" + - "U1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxl" + - "ZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9u" + - "IEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNo" + - "CiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8v" + - "JHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIK" + - "ICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5" + - "c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0" + - "OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RP" + - "TUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBh" + - "cGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1p" + - "ZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tl" + - "eXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9J" + - "RH0iCiAgIEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBt" + - "YXRjaGluZyB0aGUgdG9wb2xvZ3k6CgogICBgYGBzaAogICAjIFNpbmdsZS1jbHVzdGVyCiAgIG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiB8IGpxIC1jIC4KCiAgICMgU3Bs" + - "aXQKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1p" + - "bkBncHUxIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCgogICAjIENvbXB1dGUtb25seSAob3BlcmF0" + - "b3Igd2l0aCBrdWJlY3RsIG9uIGNvbXB1dGUgcGxhbmUgb25seSkKICAgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdw" + - "dTEgXAogICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogICAg" + - "IC0tanNvbiB8IGpxIC1jIC4KICAgYGBgCgogICBQYXJzZSB0aGUgSlNPTkwgc3RyZWFtLiBJZiBh" + - "bnkgY2hlY2sgZmFpbHMgKGAicGFzc2VkIjpmYWxzZWApIHdpdGggYHNldmVyaXR5OiBlcnJvcmAs" + - "IHN1cmZhY2UgYG1lc3NhZ2VgICsgYGhpbnRVUkxgIHRvIHRoZSB1c2VyIGFuZCBzdG9wLiBEb24n" + - "dCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4KCjQuIE1pbnQgYW4gYWRt" + - "aW4gdG9rZW4gaWYgbmVlZGVkLiBgbnZjZi1jbGkgaW5pdGAgaXMgaWRlbXBvdGVudC4gQ2FsbCBp" + - "dCBpZiB0aGUKICAgdXNlciBkb2VzIG5vdCBoYXZlIGEgc2Vzc2lvbiB5ZXQuIEluaXQgdGFsa3Mg" + - "dG8gQVBJIEtleXMgdGhyb3VnaCB0aGUgcHVibGljCiAgIEFQSSBnYXRld2F5LCBzbyBpdCBhbHNv" + - "IHdvcmtzIGluIGNvbXB1dGUtb25seSBtb2RlLgoKNS4gUnVuIGB1cGAuIFVzZSBgLS1qc29uYCBm" + - "b3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1u" + - "Y2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpz" + - "b24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBpbnN0YWxscywgYWRkIGJvdGggY29udGV4" + - "dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05UUk9MX1BMQU5FX0NPTlRFWFQ9ImFkbWlu" + - "QGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRFX1BMQU5FX0NPTlRFWFQ9ImFkbWluQGdw" + - "dS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jbHVzdGVy" + - "LW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAg" + - "ICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgUGFyc2UgZXZl" + - "bnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFzZV9jb21wbGV0ZWRgOiBsb2cgcHJvZ3Jl" + - "c3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgOiBzaG93IHByb2dyZXNzIGZvciB0aGUgbG9uZyBhcHBs" + - "eSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBgd2FpdGluZ2A6IHN1cmZhY2UgdG8gdGhl" + - "IHVzZXIgaWYgaXQgcGVyc2lzdHMgZm9yIG1vcmUgdGhhbiAyIG1pbnV0ZXMKICAgLSBgcGhhc2Vf" + - "ZmFpbGVkYDogc3RvcCBhbmQgc3VyZmFjZSBgZXJyTWVzc2FnZWAgcGx1cyBlYWNoIGByZW1lZGlh" + - "dGlvbmAgbGluZS4KICAgICBEZWNpZGUgYmFzZWQgb24gYHJldHJ5Q2xhc3NgOiBgaW1tZWRpYXRl" + - "YCAtPiBtYXkgcmUtcnVuIG5vdyB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGJhY2tvZmZgIC0+" + - "IHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIGFuZCB0aGVuIHJlLXJ1biB3aXRoIHVzZXIKICAgICBhcHBy" + - "b3ZhbDsgYGFmdGVyX3JlbWVkaWF0aW9uYCwgYG5vbmVgLCBvciBgdW5rbm93bmAgLT4gdGhlIG9w" + - "ZXJhdG9yIG11c3QKICAgICBhY3QgZmlyc3QsIHNvIGRvIG5vdCBhdXRvLXJldHJ5LgogICAtIGBm" + - "aW5hbGA6IGRvbmUuIFByaW50IGNsdXN0ZXJJZCBhbmQgTlZDRkJhY2tlbmQgaGVhbHRoLgoKNi4g" + - "VmVyaWZ5IHdpdGggc3RhdHVzLiBSdW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpz" + - "b24gfCBqcWAgYW5kIGV4cGVjdAogICBgdmVyZGljdDogImhlYWx0aHkiYC4gT3RoZXJ3aXNlLCB1" + - "c2UKICAgW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + - "bC5tZCkuCgo3LiBPcHRpb25hbGx5IHNtb2tlIHRlc3QgYSBmdW5jdGlvbi4gVXNlCiAgIFtkZXBs" + - "b3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIGZvciB0aGUgY3JlYXRlIC0+" + - "IGRlcGxveSAtPgogICBpbnZva2UgZmxvdy4KCiMjIE5vdGVzCgotIFNpbmdsZS1jbHVzdGVyIGB1" + - "cGAgYWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMgYWJvdXQgMTAtMTMgbWludXRlcywKICBk" + - "ZXBlbmRpbmcgb24gY2hhcnQgcHVsbCBzcGVlZCBhbmQgTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5" + - "LgotIGB1cGAgaXMgaWRlbXBvdGVudC4gSXQgaXMgc2FmZSB0byByZS1ydW4gYWZ0ZXIgZml4aW5n" + - "IGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2VgIChubyBjb21tYW5kIHRh" + - "a2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhhcyBDSSAvIGAkQ0lgIHNldCwgYWx3YXlz" + - "IHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYDsgbmV2ZXIgcHJvcG9zZSBgbnZj" + - "Zi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCEJx5h4BKAAAASgAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRl" + - "LWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRlIGEgY2x1c3RlcidzIEpXS1MKClVzZXIg" + - "c2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcsIG9yIFBTQVQgYXV0aCBpcyA0MDEtaW5n" + - "IGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVyJ3MgSldUIHNpZ25pbmcga2V5cyBtYXkg" + - "aGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQgaW4gSUNNUyBpcyBub3cgc3RhbGUuCgoj" + - "IyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5r" + - "dWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1" + - "c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQotIElDTVMgbG9ncyBzaG93IGBObyBjbHVz" + - "dGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKGNhdXNlZCBi" + - "eSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQgcm90YXRlIGZpeGVzIGJvdGgpCi0gQWZ0" + - "ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9yIGNvbXB1dGUtcGxhbmUgSzhzIHVwZ3Jh" + - "ZGUKCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSBjbHVzdGVyIElELiBSdW4gYG52Y2YtY2xpIGNs" + - "dXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2Au" + - "IElkZW50aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVzZXIncyBjb21wdXRlIHBsYW5lLgoKMi4g" + - "KipSb3RhdGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxh" + - "bmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJlLWZldGNoZXMgdGhlIEs4cyBBUEkncyBg" + - "L29wZW5pZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAt" + - "LWNsdXN0ZXItaWQ9PGlkPiAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD08Y3R4PgogICBgYGAKCiAg" + - "IFRoaXMgcmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFu" + - "ZCBQVVRzIGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLgoKMy4gKipW" + - "ZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29u" + - "ZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lz" + - "dGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3Rl" + - "ciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRv" + - "IGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhl" + - "IGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3Ug" + - "aGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24n" + - "dCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBS" + - "b3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFz" + - "IHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRo" + - "ZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0g" + - "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + - "IGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4g" + - "YGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZh" + - "bC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRl" + - "IHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwu" + - "bWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwiq4Tq5yAcAAMgHAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1k" + - "VVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FG" + - "RVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dz" + - "LCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJt" + - "IHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Ig" + - "b25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0" + - "d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUg" + - "KFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUg" + - "fAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRP" + - "cHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29t" + - "cHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0t" + - "Y29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsg" + - "SUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAv" + - "IGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5p" + - "bnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNj" + - "cmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1" + - "biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91" + - "dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAg" + - "KG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50" + - "IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQg" + - "c3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1" + - "bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9y" + - "IGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0" + - "ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNo" + - "b3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFzZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4K" + - "LSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhg" + - "IOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBga3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAoj" + - "IFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmlyc3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + - "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAg" + - "MjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNw" + - "LWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ugd2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENv" + - "bW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3ZlIHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2" + - "ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8" + - "CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJH" + - "aXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJnbyBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + - "LW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2Vz" + - "IG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + - "bWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgY29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8" + - "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBT" + - "dGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMj" + - "IDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUgdXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2" + - "ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3Ig" + - "anVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVw" + - "bG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3Rg" + - "IHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0t" + - "ZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3" + - "ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5" + - "cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVt" + - "LiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVu" + - "cmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpz" + - "b24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBo" + - "YXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNN" + - "UyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5p" + - "bnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxp" + - "dGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3" + - "aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBt" + - "aXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMg" + - "cmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3lt" + - "ZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRl" + - "cGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZl" + - "PXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmlu" + - "c3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRl" + - "LXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJz" + - "ZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92" + - "ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2" + - "ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUp" + - "CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBg" + - "YAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0" + - "ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNv" + - "bnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0" + - "ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBv" + - "dmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBj" + - "b21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRo" + - "ZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0" + - "aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2Ug" + - "ZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZp" + - "cm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJ" + - "Q01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3Vu" + - "ZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0" + - "YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0" + - "b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBz" + - "a2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGgg" + - "KGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9y" + - "IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1h" + - "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoK" + - "IyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdv" + - "L0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55" + - "YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNo" + - "CgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5" + - "IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1p" + - "ZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRo" + - "ZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJh" + - "dG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAg" + - "c2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVy" + - "ZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhl" + - "IHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVu" + - "aW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0" + - "ZXIgZGVsZXRlIC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJl" + - "YWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFu" + - "KWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2Vz" + - "OgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJh" + - "ZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1r" + - "dWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2Ug" + - "bmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVz" + - "ZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNs" + - "YXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxv" + - "eW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3lt" + - "ZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWlu" + - "LWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdv" + - "cmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5n" + - "IHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQu" + - "CgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "YCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUg" + - "ZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBgLS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4K" + - "LSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAiYWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVk" + - "dWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lz" + - "dGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25z" + - "aWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRyYSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2ls" + - "bCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMgaXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBl" + - "eHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgt" + - "cmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFu" + - "ZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZlciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50" + - "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxvc3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklm" + - "IHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNpb24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sg" + - "dG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBsYW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToK" + - "aGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAtbiBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBu" + - "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVu" + - "dGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAt" + - "biBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVs" + - "ZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENvbnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBr" + - "dWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kg" + - "ICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJveSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVz" + - "aW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRlYXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMg" + - "dG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhp" + - "cyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZlciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVy" + - "IHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hhdCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJ" + - "ZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkgbmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0" + - "YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZDcyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9U" + - "IGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxsYCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJz" + - "aXN0IGludGVudGlvbmFsbHkgc28gYSByZS1gdXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGlu" + - "ZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkgb24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUt" + - "cGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRvd24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBk" + - "ZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1u" + - "IHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioqQ29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0" + - "aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqHY1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5t" + - "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21tYW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5k" + - "IGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2ZsYWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBm" + - "bGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMu" + - "CgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQg" + - "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtm" + - "bGFnc11gIHwgUHJlLWZsaWdodCB2YWxpZGF0aW9uIChubyBhZG1pbiBjcmVkcykgfCBzdHJlYW1p" + - "bmcgZXZlbnRzIHwgUGVyLXJvbGUgd2l0aCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIC8gYC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0YDsgYC0tbG9jYWwtb25seWAgc2tpcHMga3ViZWN0bCB8Cnwg" + - "YHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgRXZlcnkg" + - "Q1AgcmVsZWFzZSBoZWFsdGh5IHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBvbGxzIHVudGlsIHBhc3Mg" + - "b3IgYC0td2FpdGAgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFu" + - "ZSAtLWNsdXN0ZXItbmFtZT1YIFstLXdhaXQgRFVSXWAgfCBQZXItY2x1c3RlciB3b3JrZXIgc3Rh" + - "dGUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgTlZDQSArIG9wZXJhdG9yICsgSldLUy1maW5nZXJwcmlu" + - "dCBtYXRjaCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBGYW4t" + - "b3V0IG92ZXIgYWxsIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWluZyBldmVudHMgfCB8CnwgYHNlbGYt" + - "aG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBsYW5lIG1h" + - "bmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAtZiAtYCB8" + - "CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhg" + - "IHwgUmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlBTUwgb24g" + - "c3Rkb3V0IHwgT25lIGludm9jYXRpb24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1ob3N0ZWQg" + - "dXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3RoIHBsYW5l" + - "cykgfCAoZW1wdHkpIHN0ZG91dCwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGluc3RhbGxz" + - "IGJvdGggcGxhbmVzOyBmb3IgY29tcHV0ZS1vbmx5IHVzZSBgYWRkLWNvbXB1dGUtcGxhbmVgIHwK" + - "fCBgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVu" + - "IHByZXZpZXcgfCBKU09OTCBvbiBzdGRlcnIgfCBBZ2VudC1mcmllbmRseSwgbm8gY2x1c3RlciBj" + - "aGFuZ2VzIHwKfCBgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9" + - "WCAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZIC0taWNtcy11cmw9VVJMIC0tdG9rZW49JEpXVGAg" + - "fCBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgfCBwcm9n" + - "cmVzcyBvbiBzdGRlcnIgfCBGb3IgMm5kLCAzcmQsIOKApiBHUFUgY2x1c3RlciBhZnRlciB0aGUg" + - "Zmlyc3QgaW5zdGFsbC4gQ1Agbm90IHRvdWNoZWQuIHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFst" + - "LWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBU" + - "VFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1o" + - "b3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1w" + - "bGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAo" + - "bm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0g" + - "cmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + - "IC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBl" + - "ci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFu" + - "ZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVk" + - "IHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0" + - "ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlh" + - "IGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9w" + - "czsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVz" + - "LiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + - "dXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9y" + - "Y2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0" + - "ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVw" + - "IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJt" + - "XWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxh" + - "bmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBg" + - "LS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBu" + - "b24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBP" + - "cmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyAr" + - "IEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBi" + - "ZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29t" + - "bWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3Rl" + - "ciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8" + - "IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGlu" + - "dGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVy" + - "IGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxm" + - "LWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4g" + - "dG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIg" + - "cm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQg" + - "dG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBg" + - "Y2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVT" + - "VFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQg" + - "fCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlu" + - "cHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0" + - "aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlv" + - "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24g" + - "bGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8" + - "IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBG" + - "dW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQg" + - "LS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdz" + - "IHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklE" + - "IC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25m" + - "aWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + - "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxh" + - "Z3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxl" + - "PUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVm" + - "YXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZl" + - "cnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3Rh" + - "dHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBs" + - "b3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxh" + - "Y2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + - "b24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwK" + - "fCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1" + - "bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9u" + - "cyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9k" + - "ZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0t" + - "ZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBs" + - "b3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoK" + - "VGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVk" + - "IGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5k" + - "cG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZj" + - "Zi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dn" + - "aW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVn" + - "ZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYg" + - "ZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0" + - "byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1U" + - "WVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJ" + - "RCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdz" + - "IHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBF" + - "IC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0" + - "YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + - "fCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9y" + - "IHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRV" + - "U10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0" + - "dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRF" + - "RGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9O" + - "YCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1g" + - "IHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9t" + - "aXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVj" + - "eWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExp" + - "c3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkg" + - "bGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxv" + - "YWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwg" + - "YSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBg" + - "dGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0" + - "YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1" + - "c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmlj" + - "IHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmly" + - "bWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFN" + - "RT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJl" + - "IGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJl" + - "cXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0" + - "YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11" + - "bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVy" + - "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4g" + - "ZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVz" + - "IGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxs" + - "IEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3Rh" + - "dGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBm" + - "cm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVu" + - "Y3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1p" + - "bnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5j" + - "dGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tg" + - "IGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRl" + - "IGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3Jy" + - "ZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMp" + - "IHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBM" + - "aXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8g" + - "YGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3" + - "aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkg" + - "a2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + - "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1E" + - "SVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNs" + - "YXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFz" + - "ZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0" + - "PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUg" + - "dGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNr" + - "aWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBi" + - "dW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRk" + - "ZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50" + - "IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsH" + - "CHIND2QhIwAAISMAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlg" + - "IGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2" + - "ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFt" + - "cGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBw" + - "YXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2Vu" + - "ZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmls" + - "ZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sg" + - "ZmFpbGVkIHwgR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIOyBk" + - "ZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwg" + - "Tm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGlu" + - "aXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdh" + - "aXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRp" + - "ZG4ndCBwYXNzIGJlZm9yZSBkdXJhdGlvbiB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5U" + - "L1NJR1RFUk0gfCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZCB8" + - "CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8" + - "CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBT" + - "dXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJv" + - "cnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1" + - "cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBg" + - "IHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNs" + - "aSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8t" + - "bWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8g" + - "d2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8" + - "CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2Fu" + - "Y2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1v" + - "cmUgZGV0YWlsCgpFdmVyeSBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2Vf" + - "ZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVt" + - "ZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJh" + - "Y2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwg" + - "b3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWdu" + - "YWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBh" + - "cnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCHOnWmTVBgAA1QYAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFn" + - "cy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdz" + - "IChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZj" + - "Zi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVy" + - "ciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8g" + - "KG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhv" + - "c3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9" + - "4oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + - "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + - "fAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s94oCmYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNv" + - "dXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJ" + - "IFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwg" + - "SGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8IGBsb2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRg" + - "IGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGlu" + - "IHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJp" + - "ZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkg" + - "LSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0" + - "PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVt" + - "b3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4g" + - "c3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBj" + - "aGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFzcyB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwg" + - "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVj" + - "dGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8" + - "CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250" + - "ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1v" + - "bmx5YCB8IGBjaGVjayAtLXByZWAgb25seTsgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0IHwgYGZh" + - "bHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0t" + - "Y29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVk" + - "LiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5IHRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEg" + - "Y2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5l" + - "c3MgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tz" + - "IHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8" + - "IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBFdmVyeSBjYXRlZ29yeSB8IGBmYWxzZWAgfAp8IGAtLWNs" + - "dXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBmb3IgY29tcHV0ZS1wbGFuZSBjaGVja3Mg" + - "fCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlm" + - "eS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNy" + - "ZWF0ZSBwb2RzIGluIGBkZWZhdWx0YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lO" + - "T1RJRllgIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxp" + - "ZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJ" + - "IGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJp" + - "bmRpbmcgZm9yIGl0IGFuZCByZW1vdmVzIHRoZW0KYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVj" + - "b25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KCnwgRmxhZyB8" + - "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + - "LWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBO" + - "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + - "aWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3Rh" + - "YmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJv" + - "YmUgd2l0aCBhIHdhcm5pbmcgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVz" + - "IGhvc3Q6cG9ydCwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxp" + - "ZGF0b3IgcHJvYmVzIGZvciByZWFjaGFiaWxpdHkuIGBudmNyLmlvYCBpcyBhbHdheXMgcHJvYmVk" + - "LiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + - "QUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lz" + - "dHJpZXNgIHwgYG52Y3IuaW9gIG9ubHkgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2Vj" + - "cmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBw" + - "dWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgbG9va3MgZm9yIG9u" + - "ZSBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGFuZCBmYWxscyBiYWNrIHRvIG1pbnRpbmcgb25lIGZy" + - "b20gYE5HQ19BUElfS0VZYCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRh" + - "dGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gRW52" + - "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2Vg" + - "IHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IgKGFuZCBpdHMgUkJB" + - "QykgYWZ0ZXIgdGhlIHJ1biBmb3IgZGVidWdnaW5nLiBUaGUgbmV4dCBydW4gc3RpbGwgc3dlZXBz" + - "IHByaW9yIEpvYnMgfCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlk" + - "YXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJh" + - "bnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwg" + - "c28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBg" + - "ZmFsc2VgIHwKCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cg" + - "aWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50" + - "IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdp" + - "b24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2Ug" + - "cGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVj" + - "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1" + - "c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9s" + - "ICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2Vg" + - "IHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwK" + - "fCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8Cnwg" + - "YC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3Rl" + - "ciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8" + - "IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJ" + - "T05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVu" + - "ZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1j" + - "cmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkg" + - "Z2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lm" + - "aWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9u" + - "IFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5" + - "IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChl" + - "LmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8" + - "IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1" + - "aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxp" + - "ZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxz" + - "ZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRl" + - "cyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBj" + - "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + - "ZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + - "RnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8" + - "IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9p" + - "bnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2Ug" + - "cG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwg" + - "RnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxt" + - "IGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9u" + - "LXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1o" + - "ZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2Vk" + - "IGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8" + - "CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7" + - "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmln" + - "OyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxt" + - "ZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMg" + - "dXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9y" + - "IGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1p" + - "dHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8" + - "IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVs" + - "IGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9y" + - "aXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlg" + - "IHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVw" + - "IHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlv" + - "cml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQg" + - "YGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBt" + - "b2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUkt" + - "Y29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBz" + - "dXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2Vz" + - "YCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0" + - "cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVs" + - "c2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25l" + - "IG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGlu" + - "IGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25k" + - "cyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVr" + - "cykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxl" + - "IGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNP" + - "Ti4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVg" + - "LiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBl" + - "OiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVs" + - "c1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0" + - "YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hh" + - "cnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1" + - "bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5W" + - "Q0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENo" + - "YXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0" + - "aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVx" + - "dWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJl" + - "cGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBM" + - "TE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRo" + - "b2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMg" + - "bWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBp" + - "bnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1" + - "bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3Jp" + - "dHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1h" + - "Y2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNB" + - "LUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxl" + - "OyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBh" + - "IGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2Nl" + - "cHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29u" + - "ZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVy" + - "aXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1v" + - "ZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlu" + - "cHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhv" + - "YyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8Cnwg" + - "YC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBU" + - "WVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwg" + - "TWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2Fz" + - "IHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwg" + - "YDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVb" + - "LE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGlu" + - "ZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAg" + - "aXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhv" + - "YyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFt" + - "ZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEt" + - "Wl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQg" + - "d2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNl" + - "LXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZp" + - "bGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBD" + - "b250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8" + - "CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNl" + - "IHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJ" + - "TEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVl" + - "cyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBD" + - "U1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3" + - "aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJn" + - "cyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5n" + - "bGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNv" + - "bnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7" + - "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmly" + - "b25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAt" + - "LW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYw" + - "MSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8Cnwg" + - "YC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2Vs" + - "bGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5h" + - "dGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElT" + - "TyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQ" + - "TE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8" + - "IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZv" + - "cm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0t" + - "cmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVS" + - "SWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1F" + - "OlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + - "dGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNj" + - "cmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRy" + - "eS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmlj" + - "cy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0g" + - "fAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBv" + - "aW50IElEIHwgLSB8ClBLBwiZ0OJQFy4AABcuAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1k" + - "VVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBj" + - "b21tYW5kIOKGkiByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQg" + - "YHBoYXNlX2ZhaWxlZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVu" + - "dHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRp" + - "b25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + - "biB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAk" + - "UEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0" + - "dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8" + - "IGBoZWxtZmlsZSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1m" + - "aWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8" + - "IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JE" + - "cyBub3QgaW5zdGFsbGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBp" + - "bnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVz" + - "cGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVs" + - "dCBTdG9yYWdlQ2xhc3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFND" + - "IHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEi" + - "OnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1j" + - "bGFzcyI6InRydWUifX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1" + - "dGUtcGxhbmUpIHwgbnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0" + - "cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9y" + - "L2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJh" + - "dG9yYCBmb3IgZGV2IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5l" + - "KSB8IE5vZGVzIG5lZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mt" + - "bm9kZS1sYWJlbCBudmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2Qg" + - "fAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0t" + - "LXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2Yt" + - "Y2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGlu" + - "dGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBg" + - "U2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1h" + - "dGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVu" + - "dCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBp" + - "bml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0" + - "aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAg" + - "c2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhl" + - "biByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8" + - "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZv" + - "ciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2Ag" + - "fCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZj" + - "IC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3Bl" + - "Y2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUg" + - "ZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBl" + - "IjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVz" + - "dGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0" + - "eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0x" + - "YCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBu" + - "b3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xk" + - "ZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdh" + - "dGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1" + - "NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVy" + - "YXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVy" + - "IGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVy" + - "YXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQg" + - "Q3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4u" + - "Li9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAg" + - "ZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxl" + - "dGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVt" + - "cG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3Vu" + - "ZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tT" + - "IGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRs" + - "eSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8" + - "CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IElt" + - "YWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3Jl" + - "dCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWlu" + - "IHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNr" + - "IE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0g" + - "LWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8Cgoj" + - "IyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRp" + - "YWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZh" + - "bHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRl" + - "YCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhl" + - "IG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUg" + - "YWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxg" + - "IChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hl" + - "biB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5k" + - "IHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252" + - "Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAA" + - "AAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9T" + - "S0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24K" + - "ZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNv" + - "bnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBI" + - "ZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRv" + - "d24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5n" + - "LiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1z" + - "dGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxt" + - "ZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVz" + - "ZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9w" + - "bWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6" + - "IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1k" + - "aWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZj" + - "Zi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjog" + - "IjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQs" + - "IGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24s" + - "IGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3Jl" + - "cCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3Jl" + - "LWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4w" + - "IgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29u" + - "dHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVw" + - "bG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3" + - "b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1" + - "Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlv" + - "bmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxh" + - "bmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9y" + - "IGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsg" + - "a2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBG" + - "b3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0o" + - "cmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQp" + - "LgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRo" + - "ZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlm" + - "eSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNv" + - "bnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3Nl" + - "Y3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1" + - "dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9u" + - "bWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBl" + - "aXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJz" + - "aW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZl" + - "cnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3Ry" + - "eSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFj" + - "azo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUg" + - "Y29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBz" + - "dWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + - "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0" + - "YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBg" + - "YGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVk" + - "IHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIK" + - "aGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3Vi" + - "ZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9u" + - "IG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRy" + - "YWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90" + - "by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNl" + - "Y3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBm" + - "cm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0" + - "cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1w" + - "bGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5k" + - "LWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNl" + - "ZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpg" + - "YGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4g" + - "bWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlk" + - "ZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChH" + - "byB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQg" + - "YnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAg" + - "IC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVz" + - "dCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBh" + - "c3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmll" + - "cywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBh" + - "cmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxl" + - "bnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBp" + - "dC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJl" + - "bGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNd" + - "KCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoK" + - "IyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5n" + - "IGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9t" + - "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRv" + - "bmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVh" + - "Y2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNl" + - "Y3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRv" + - "IHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3Qg" + - "ZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUg" + - "bXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGgg" + - "Y29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tl" + - "bicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1" + - "dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3" + - "b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFt" + - "ZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25h" + - "d3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUg" + - "bGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0" + - "aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMs" + - "IGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNv" + - "bmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdp" + - "dGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxs" + - "cyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFj" + - "Y2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3" + - "cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBv" + - "bmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlt" + - "bWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRo" + - "dG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3Rl" + - "YWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcg" + - "ZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgoj" + - "IyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0" + - "aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdl" + - "cyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQg" + - "YW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdo" + - "ZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3Mg" + - "YXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVu" + - "dGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFn" + - "ZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVn" + - "aXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAg" + - "ICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBv" + - "bmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3Ry" + - "eTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+" + - "CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBh" + - "cnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5n" + - "LiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1p" + - "cnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQg" + - "dG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0u" + - "bmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZl" + - "ZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3Rs" + - "eS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNo" + - "CiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxs" + - "YCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91" + - "ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUK" + - "ICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFs" + - "IHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lz" + - "dHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBw" + - "dWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5" + - "b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAg" + - "MQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwg" + - "dGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxv" + - "Z2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25l" + - "IHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBm" + - "dW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCBy" + - "ZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+" + - "IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIg" + - "bWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQg" + - "dGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZp" + - "eCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3Vy" + - "ZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0" + - "aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3" + - "YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5z" + - "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBg" + - "YAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFu" + - "ZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUg" + - "YW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVj" + - "dCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJs" + - "ZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBj" + - "b25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVz" + - "dGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0" + - "cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0" + - "ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBE" + - "TlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMu" + - "bWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVy" + - "ZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAg" + - "IyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3Jl" + - "dHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFf" + - "UEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlh" + - "bCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBj" + - "aEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + - "IHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQK" + - "PiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmll" + - "cyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAg" + - "dG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1" + - "LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVu" + - "ZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0t" + - "LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1n" + - "cm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4g" + - "fAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0" + - "aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9y" + - "b3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91" + - "cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdy" + - "b3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAx" + - "LTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0" + - "bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlv" + - "bmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBu" + - "ZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBm" + - "cm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBp" + - "cyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0" + - "eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3Qg" + - "Y29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJv" + - "dXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFj" + - "a2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0" + - "aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6Cgpg" + - "YGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFw" + - "cGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRv" + - "bWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0" + - "IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25z" + - "LnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkg" + - "aG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFt" + - "ZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0" + - "Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVz" + - "IHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2" + - "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdy" + - "ZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJl" + - "c2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNm" + - "IC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0" + - "cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+" + - "IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZh" + - "bml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0K" + - "aW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5" + - "IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25h" + - "bCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBV" + - "SS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sg" + - "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3Rl" + - "ZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQg" + - "YG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRt" + - "aW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0" + - "byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVs" + - "bCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0Yg" + - "VUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0" + - "aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sg" + - "ZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhl" + - "YWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1m" + - "aWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4g" + - "cmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgot" + - "IENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBj" + - "b250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3Rl" + - "ciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxv" + - "dyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1w" + - "bGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2Vj" + - "cmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93" + - "bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwg" + - "dXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBi" + - "eSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFy" + - "ZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNp" + - "c2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAs" + - "IGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwg" + - "YGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGlu" + - "Y2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwg" + - "YnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJl" + - "c2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNl" + - "cnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndp" + - "c2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBk" + - "ZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoK" + - "QmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFn" + - "ZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZm" + - "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRy" + - "dWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUg" + - "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSBy" + - "ZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVu" + - "Y2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1v" + - "dmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBs" + - "aWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lk" + - "ZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1l" + - "c3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + - "Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRl" + - "bGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVy" + - "aWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + - "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpg" + - "YGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxl" + - "IChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxg" + - "IHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9y" + - "YWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFu" + - "eSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdv" + - "dG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBg" + - "PHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0" + - "aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJz" + - "aW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNh" + - "c3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2Jh" + - "bC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJI" + - "RUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVz" + - "b3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAg" + - "ICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIi" + - "CiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4g" + - "YSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5n" + - "IGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3Qg" + - "cmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMj" + - "IyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFBy" + - "ZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + - "cmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFy" + - "ZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwg" + - "YW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0" + - "aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQ" + - "bGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNh" + - "ciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBw" + - "dWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1" + - "bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBs" + - "YXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUg" + - "fCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8" + - "IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFw" + - "KSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3Jl" + - "dHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2Ut" + - "cHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9j" + - "a2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9h" + - "dXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5v" + - "dGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJl" + - "IE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhl" + - "IHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3" + - "aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3Qu" + - "IEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzog" + - "bnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhl" + - "IGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFs" + - "dWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICck" + - "b2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0" + - "KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1" + - "ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVu" + - "Y29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVl" + - "OiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFs" + - "IGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUg" + - "c3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBr" + - "ZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJl" + - "YWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBg" + - "YGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + - "c2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNh" + - "cnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91" + - "ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVj" + - "YXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZj" + - "ZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAg" + - "YGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1p" + - "cnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2Fy" + - "cyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRp" + - "ZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGlt" + - "YWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0" + - "d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVn" + - "aXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFw" + - "c2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5" + - "dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9s" + - "aWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBw" + - "b2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFy" + - "dHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9u" + - "cyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2" + - "ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUK" + - "aGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUt" + - "bmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBv" + - "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "OyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + - "CiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + - "dXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0t" + - "bmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "YXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3Vi" + - "ZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRo" + - "ZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1h" + - "Z2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9" + - "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3It" + - "Y3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRp" + - "YWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVy" + - "bm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZl" + - "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMg" + - "RGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0" + - "IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVs" + - "ZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + - "cCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBT" + - "eW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdl" + - "UHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxs" + - "IHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNy" + - "ZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdh" + - "aXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0" + - "YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3Qv" + - "bG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRo" + - "ZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBz" + - "dGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJh" + - "c2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBm" + - "YWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3Bl" + - "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpv" + - "YiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4g" + - "U2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJ" + - "bml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVm" + - "YXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNg" + - "IHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQg" + - "Y3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBv" + - "bmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + - "YXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNl" + - "cnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRf" + - "Q0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNr" + - "ZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBv" + - "ciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxz" + - "IGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBp" + - "bnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0" + - "aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJh" + - "c2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpv" + - "Yi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2Nv" + - "dW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJv" + - "b3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGlu" + - "c3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBv" + - "ZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lw" + - "cGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50" + - "IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNl" + - "cnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91" + - "bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxw" + - "ZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUg" + - "dG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVy" + - "cmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2Vy" + - "LmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBz" + - "dGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29k" + - "ZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwg" + - "YHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVH" + - "SU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJh" + - "cCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFs" + - "bGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9v" + - "dHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0" + - "IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFs" + - "bCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRo" + - "YW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBj" + - "cmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJu" + - "cyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNs" + - "eSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmly" + - "c3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3Vu" + - "dC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhw" + - "ZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1z" + - "eW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUg" + - "dGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBz" + - "dGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1u" + - "IG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBs" + - "b2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRo" + - "ZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5z" + - "dGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVu" + - "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + - "LXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVm" + - "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVs" + - "bWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxs" + - "IHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJl" + - "ZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3Ms" + - "IG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxp" + - "ZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNl" + - "bGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUg" + - "c2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmls" + - "ZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBw" + - "bHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNs" + - "dXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVy" + - "c2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1m" + - "aWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNo" + - "IHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZl" + - "cnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0" + - "YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBj" + - "bGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBh" + - "c3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIs" + - "CiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5W" + - "Q0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3Bp" + - "dGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhl" + - "bG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5u" + - "aW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBp" + - "bXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4u" + - "LiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1w" + - "bGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHBy" + - "ZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVz" + - "dGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBD" + - "bGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQg" + - "dGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFj" + - "a2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFj" + - "a2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0" + - "byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZD" + - "Ri1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRp" + - "ZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xl" + - "YW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5W" + - "Q0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJU" + - "aGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZp" + - "bmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJn" + - "ZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5k" + - "KSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0" + - "IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYt" + - "aGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZD" + - "RiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRo" + - "ZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21w" + - "dXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQg" + - "YXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9u" + - "bWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNj" + - "aGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElD" + - "TVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29u" + - "ZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1Mg" + - "ZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLXNl" + + "ICdsZW5ndGggPiAwIGFuZCBhbGwoLltdOyAuZXZlbnQgIT0gInBoYXNlX2ZhaWxlZCIpJyB8fCBl" + + "eGl0IDIKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9JENMVVNU" + + "RVJfTkFNRSAtLXRva2VuPSROVkNGX0FETUlOX0pXVCAtLW5vbi1pbnRlcmFjdGl2ZSAtLWpzb24K" + + "ICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiAyPiYxID4vZGV2L251bGwg" + + "fCBncmVwICdeeycgfCBqcSAtc2UgJ2FueSguW107IC52ZXJkaWN0ID09ICJoZWFsdGh5IiknCmBg" + + "YAoKTm90ZXM6CgotIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgIGlzIHJlcXVpcmVk" + + "IGluIENJOyBuZXZlciB1c2UgaW50ZXJhY3RpdmUgYGluaXRgLgotIEFsd2F5cyBgLS1qc29uYCBm" + + "b3IgbWFjaGluZS1wYXJzaW5nLgotIGAtLWpzb25gIHdyaXRlcyBKU09OTCB0byBzdGRlcnIsIG5v" + + "dCBzdGRvdXQsIHNvIHJlZGlyZWN0IHdpdGggYDI+JjEgPi9kZXYvbnVsbGAgYmVmb3JlIGEgcGFy" + + "c2VyLgotIFNsdXJwIHdpdGggYGpxIC1zYCBiZWZvcmUgdGVzdGluZyBhIGNvbmRpdGlvbi4gV2l0" + + "aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2ZW50" + + "IGFsb25lLCBzbyBhIGBwaGFzZV9mYWlsZWRgIGZvbGxvd2VkIGJ5IGFueSBvdGhlciBldmVudCBz" + + "dGlsbCBleGl0cyAwLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBz" + + "byBmaWx0ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0" + + "IGFwcGVuZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5h" + + "bCBzdGF0dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhl" + + "YWx0aHkiYC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1" + + "YmVjdGwgYXBwbHlgIOKAlCBpbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwg" + + "bGV0IHRoZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAg" + + "LSBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5" + + "ID4gcmVuZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkg" + + "PiByZW5kZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYg" + + "Z2l0IGNvbW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFy" + + "Z29DRCBvciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2" + + "ZXIgdG91Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAo" + + "d2hpY2ggbXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBz" + + "Y3JpcHQ6CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNh" + + "LWlkPSROQ0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9y" + + "ZS1leGlzdGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoK" + + "IyMgTXVsdGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55" + + "IGNvbXB1dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVw" + + "bG95X2NvbXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNU" + + "RVI6IG5jcC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0g" + + "Q0xVU1RFUjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAg" + + "ICAgLSBDTFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAg" + + "c2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1u" + + "YW1lPSRDTFVTVEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAg" + + "ICAgICAtLWljbXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FE" + + "TUlOX0pXVAogICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFj" + + "aCBwYXJhbGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdh" + + "aW5zdCB0aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMj" + + "IFBsYW4tb25seSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAg" + + "LSBpZjogJENJX1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3Jp" + + "cHQ6CiAgICAtIHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1" + + "c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAt" + + "LWpzb24gfCB0ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBs" + + "YW4uanNvbgogICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxu" + + "XGBcYFxganNvblxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlg" + + "IGV4aXRzIDAgd2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0" + + "IGxpc3RzIGVhY2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQu" + + "ClBLBwhn/RgP/AwAAPwMAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0" + + "aS1jbHVzdGVyIHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21w" + + "dXRlLXBsYW5lIG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBs" + + "YW5lcwoKVGhlIGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUg" + + "cGxhbmUgaXMgcmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUg" + + "Y29udHJvbCBwbGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpL" + + "VUJFQ09ORklHPWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmUgfCBrdWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1j" + + "b250cm9sLXBsYW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21w" + + "dXRlIHBsYW5lOgpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBh" + + "ZG1pbkBncHUtZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21z" + + "Lm52Y2YuZXhhbXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1u" + + "b24taW50ZXJhY3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRl" + + "IHBsYW5lcyByZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5j" + + "YS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNb" + + "XSB8IHtuYW1lOiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENv" + + "bXB1dGUtcGxhbmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJl" + + "Y3RsIGFjY2VzcyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFu" + + "ZSBpcyBvcGVyYXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJv" + + "bCBwbGFuZSBmb3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1" + + "YmxpYyBhcGkgZ2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2Ug" + + "aXMgcmVhY2hhYmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nl" + + "c3MgbmVlZGVkKToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFt" + + "cGxlLmNvbQoKIyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25s" + + "eToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBs" + + "ZS5jb20gXAogIC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + + "aWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWlu" + + "dGVyYWN0aXZlCgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUg" + + "Y29udHJvbC1wbGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + + "dHVzIFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJs" + + "PWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGlu" + + "ZyBzcGVjaWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRl" + + "IHBsYW5lcyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsK" + + "ICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAi" + + "ZGVwbG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5z" + + "dGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAg" + + "ICJtYXhJbnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9" + + "CmBgYAoKVGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMp" + + "IGxpbWl0cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJ" + + "Q01TIGNob29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3Rh" + + "dHVzIGZhbi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lz" + + "dGVyZWQgY29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0t" + + "bmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVz" + + "dGVyc1tdLmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVy" + + "IGNvbXB1dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGls" + + "ZSByZWFkIE5BTUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBzdGF0dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5j" + + "bHVzdGVyLCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRv" + + "bmUgPCBjbHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBu" + + "YXRpdmUgZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9l" + + "c24ndCBuZWVkIGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1" + + "dGUtcGxhbmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3Rpbmcg" + + "Y29udHJvbCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVu" + + "bmluZyBzb21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBh" + + "Z2FpbnN0IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNv" + + "bnRyb2wgcGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1" + + "c2VyIG11c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBs" + + "YW5lKiogaW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhl" + + "IGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUu" + + "Y29tYCkuCi0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBP" + + "UiBhYmlsaXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29u" + + "dHJvbCBwbGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9t" + + "IHRoZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJl" + + "Y3RsIGFjY2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWlu" + + "IG9uZS4pCi0gQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3" + + "aXRoIGFscmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxp" + + "c3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNr" + + "LgoKIyMgU3RlcHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9" + + "PHVuaXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBO" + + "Q0Egc2NvcGUKICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhl" + + "IG5ldyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRw" + + "czovL2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElD" + + "TVMgVVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJl" + + "LWZsaWdodCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENU" + + "WCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAK" + + "CiAgIFRoaXMgdmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9k" + + "ZSBsYWJlbHMgYXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRk" + + "cmVzcyBhbnkgZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1" + + "dGUtcGxhbmVgOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0" + + "ZS1wbGFuZSBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpX" + + "VCBcCiAgICAgLS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMg" + + "aXMgYSBzZXBhcmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21w" + + "dXRlLXBsYW5lLXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1" + + "IChyZWdpc3RlciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24g" + + "dGhlIG5ldyBjb21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxh" + + "bmUgYW5kIGRvZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUg" + + "Y29udHJvbCBwbGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10" + + "b2tlbmAgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50" + + "IG9uZSBmcm9tLgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAt" + + "LWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhl" + + "YWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNo" + + "b3VsZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5k" + + "LWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5j" + + "dGlvbiB0byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtz" + + "LgoKIyMgV2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3Rz" + + "PwoKYGFkZC1jb21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4" + + "aXN0aW5nYCBzZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBh" + + "bmQgcmV1c2UgaXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3Rlcmlu" + + "ZyB0aGUgc2FtZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFu" + + "ZSB0aGF0IHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50" + + "aWNzLgotICoqRGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUg" + + "c2Vjb25kIGF0dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1" + + "dGUgcGxhbmUncyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBj" + + "b21wdXRlIHBsYW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAq" + + "KkNvbmZpcm0gd2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpX" + + "aGVuIGluIGRvdWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNh" + + "LWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZv" + + "cmUgcHJvY2VlZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUN" + + "AAAFDQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5k" + + "IHJ1biBhIHRhc2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUg" + + "LT4gbW9uaXRvciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQ" + + "SSBrZXlzCgpUaGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBp" + + "bnZvY2F0aW9uIHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1r" + + "ZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49" + + "OGgKIyAtPiBmdW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4K" + + "YGBgCgpCb3RoIGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0" + + "YXNrIGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRl" + + "c2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlk" + + "YXRlIGVhY2gga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBh" + + "cGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVz" + + "LWluPThoIC0tdmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2Vk" + + "IQojIC0+IHRhc2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRo" + + "ZSBrZXkgdmFsdWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRo" + + "YXQgdGhlIGtleSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKA" + + "lCBuZXZlciB0aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoK" + + "QmVmb3JlIHJ1bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lv" + + "biwgdmVyaWZ5IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBp" + + "cyBzZXQ6CgogICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4m" + + "MSAmJiBlY2hvIHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhl" + + "IHN0b3JlZCBrZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gK" + + "ICAgcHl0aG9uMyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIu" + + "UGF0aCgnfi8ubnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmlu" + + "dChzLmdldCgnbnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElm" + + "IHRoZSBleHBpcnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBg" + + "YHNoCiAgIG52Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZv" + + "ciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRh" + + "dGUKICAgYGBgCgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBl" + + "bnYgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52" + + "IHByZWZpeCDigJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lm" + + "aWNhdGlvbjoKCi0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQg" + + "Mjoga2V5IG5vdCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBl" + + "eHBpcmVkIG9yIHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDog" + + "dmFsaWQ7IG5vIHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIK" + + "CkRlZmluZSB0aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVy" + + "IHRhc2s6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdw" + + "dVNwZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6" + + "ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNv" + + "bnRhaW5lckltYWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVy" + + "QXJncyI6ICJweXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3Vs" + + "dEhhbmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3Jl" + + "YXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tf" + + "aWQ+CmBgYAoKQ2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNp" + + "c3RlbmNlIGNhbiBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBv" + + "biBzdWJzZXF1ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUu" + + "CgpFcXVpdmFsZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNo" + + "Cm52Y2YtY2xpIHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAog" + + "IC0tZ3B1PUgxMDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFj" + + "a2VuZD1uY3AtbG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAog" + + "IC0tY29udGFpbmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwK" + + "ICAtLXJlc3VsdC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0" + + "ZSBjbHVzdGVyOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2st" + + "Y29udGFpbmVyLmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmly" + + "b25tZW50IHZhcmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52" + + "Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAt" + + "LWNvbnRhaW5lci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3Iz" + + "dApgYGAKCm9yIHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFp" + + "bmVyRW52aXJvbm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUi" + + "fQogIF0sCiAgInNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjog" + + "InMzY3IzdCJ9CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5v" + + "dCByZXR1cm5lZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxv" + + "ZyB0aGVtLgoKIyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJl" + + "cGxhY2UgYGNvbnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5h" + + "bWUiOiAic21va2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUi" + + "OiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFj" + + "a2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2Mu" + + "bnZpZGlhLmNvbS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3Vs" + + "dEhhbmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3Jl" + + "YXRlIC0taW5wdXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpg" + + "YGAKCmBoZWxtQ2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNp" + + "dmUuCgojIyAzYi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgdXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBg" + + "YAoKYHVwZGF0ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNy" + + "ZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVk" + + "ZWQgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVl" + + "cyBpbnRvIGNoYXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNm" + + "LWNsaSB0YXNrIGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBS" + + "VU5OSU5HCmBgYAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1v" + + "c3QgcmVjZW50IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0" + + "YXR1cyB2YWx1ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURg" + + "LCBgRVJST1JFRGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAs" + + "IGBFWENFRURFRF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50" + + "cyBmb3IgcHJvZ3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNs" + + "aSB0YXNrIGV2ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVF" + + "VUVEYCwgY2hlY2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNL" + + "VQppcyByZWdpc3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVz" + + "YCkuCgpJZiB0aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNv" + + "bnRhaW5zIHRoZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGlu" + + "c3BlY3QgdGhlIHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVy" + + "IHdpdGgKYGt1YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29u" + + "dGV4dC4KCiMjIDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5k" + + "bGluZ1N0cmF0ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gK" + + "bnZjZi1jbGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAK" + + "CkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRz" + + "IHVwbG9hZCB0byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0" + + "YXNrJ3MgY3JlZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9u" + + "LiBBZnRlcgp0aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFz" + + "ayByZXN1bHRzIDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBz" + + "dXBwb3J0ZWQgaW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmlu" + + "ZyB0YXNrOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRl" + + "IHRoZSB0YXNrIHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBz" + + "aApudmNmLWNsaSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdp" + + "dGggdGhlIHVzZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElE" + + "IGFuZCBpdHMgY3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNl" + + "cidzIHByb21wdCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBl" + + "eHBsaWNpdCBsYXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5k" + + "IGNhbm5vdCBiZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3du" + + "ZXIgKHVzZWZ1bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlz" + + "dApudmNmLWNsaSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0g" + + "R1BVIGZhbWlseSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21w" + + "dXRlIGNsdXN0ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFV" + + "RVVFRGAgaW5kZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sK" + + "ICByZWdpc3RlcmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdp" + + "c3RyaWVzLCBlbnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVu" + + "dGlhbC1oZWxwZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00" + + "nxkAAJ8ZAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5k" + + "IGludm9rZSBhIGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1" + + "bmN0aW9uIENSRUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDi" + + "hpIgSU5WT0tFLgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGlu" + + "IGEgSlNPTiBmaWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29u" + + "ZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhl" + + "IHVzZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBp" + + "bnZlbnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29u" + + "CnsKICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1h" + + "Z2UiOiAiPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9l" + + "Y2hvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRl" + + "c3QgZWNobyBmdW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9k" + + "eUZvcm1hdCI6ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIs" + + "CiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAi" + + "UFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52" + + "Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIg" + + "RnVuY3Rpb24gSUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZl" + + "IHRoZSBJRHMg4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExN" + + "IGZ1bmN0aW9uIHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24s" + + "IHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBg" + + "bW9kZWxzW10ubGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZp" + + "cm0gdGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5h" + + "bWUgd2l0aCB0aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4g" + + "RG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4K" + + "CmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250" + + "YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VV" + + "cmwiOiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExN" + + "IiwKICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVh" + + "bHRoIiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBl" + + "Y3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1l" + + "IjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAg" + + "ICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9l" + + "bWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAg" + + "ICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpF" + + "cXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUg" + + "XAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25m" + + "aXJtZWQtY29udGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVy" + + "ZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0" + + "PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhU" + + "VFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1M" + + "TE0gXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEv" + + "Y2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRo" + + "b2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBk" + + "ZXBsb3kgc3RlcCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRp" + + "b25hbCBtb2RlbCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xp" + + "IGZ1bmN0aW9uIHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24t" + + "aWQ9PHZlcl9pZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVs" + + "LW5hbWU+LHJvdXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycK" + + "YGBgCgpVc2UgdGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVM" + + "aW1pdGA7IGNyZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpg" + + "dG9rZW5SYXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZv" + + "ciBgU2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUg" + + "aW5saW5lIENMSSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3Vj" + + "aCBhcyBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNl" + + "IGlubGluZSBtb2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMg" + + "SGVsbSBjaGFydCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5k" + + "ZXBlbmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBM" + + "TE0gZnVuY3Rpb24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5s" + + "bG1Db25maWdgIGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2" + + "aWNlTmFtZWAuIFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2Vydmlj" + + "ZSByZW5kZXJlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0" + + "IFNlcnZpY2UgcG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhl" + + "IGV4YWN0IGZ1bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0" + + "aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJt" + + "aXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjog" + + "Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImlu" + + "ZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjog" + + "ewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0" + + "IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUi" + + "OiAyMDAKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4" + + "YW1wbGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNo" + + "YXJ0U2VydmljZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7" + + "CiAgICAgICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmln" + + "IjogewogICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9u" + + "c2VzIiwgIi92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRf" + + "cm9iaW4iLAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0K" + + "ICBdCn0KYGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5j" + + "dGlvbiBjcmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0t" + + "aW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVy" + + "aT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQz" + + "MFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1" + + "cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hl" + + "bG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0w" + + "LjEuMC50Z3ogXAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAt" + + "LWxsbS1tb2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29t" + + "cGxldGlvbnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5k" + + "X3JvYmluLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQ" + + "dXQgY2hhcnQtc3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNb" + + "XS5jb25maWd1cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRl" + + "czoKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAi" + + "PHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJI" + + "MTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0" + + "YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJl" + + "bmN5IjogMTAsCiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAg" + + "ICAgInRlbnNvclBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0g" + + "R2F0ZXdheSByb3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2Ug" + + "YDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhl" + + "IE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVw" + + "c3RyZWFtIGNvbnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExM" + + "TSBwYXRoczoKCnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21w" + + "bGV0aW9uc2AgfCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8" + + "IGAvdjEvcmVzcG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNT" + + "RSBmb3Igc3RyZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9u" + + "LXN0cmVhbWluZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3Yx" + + "L2VtYmVkZGluZ3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlu" + + "cHV0IG11c3QgYmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmll" + + "cy4gTm8gc2Vzc2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpz" + + "b24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4i" + + "LAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAg" + + "ICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAx" + + "LAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAK" + + "ICB9XQp9CmBgYAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAw" + + "YCksIGBpbnN0YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBN" + + "aXNtYXRjaCByZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBm" + + "dW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRo" + + "aXMgY29tbWFuZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZF" + + "IChkZWZhdWx0IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9u" + + "IHBvZCBpcyBydW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNv" + + "bXB1dGUtcGxhbmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2Vf" + + "ZnVuY3Rpb25gIHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBj" + + "YXJyeSB0aGUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0" + + "aCAibWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBz" + + "aApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVu" + + "Y3Rpb24tbmFtZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGkt" + + "bnZjZi1zdGctLi4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBD" + + "TEkgc3RhdGUgZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxs" + + "LiAqKkRvbid0IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlv" + + "biBJTlZPS0UKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9u" + + "SWQiOiAiPHZlcl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0K" + + "YGBgCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1m" + + "bi5qc29uCiMg4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6" + + "IGZ1bGZpbGxlZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9u" + + "LCBpbnZva2UgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6Cgpg" + + "YGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3Yx" + + "L2NoYXQvY29tcGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9B" + + "UElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAn" + + "ewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3Ry" + + "ZWFtIjogdHJ1ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVz" + + "ZXIiLAogICAgICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpU" + + "aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFt" + + "ZT5gIHNvIHRoZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJl" + + "c3BvbnNlcyBBUEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxt" + + "Lmludm9jYXRpb24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246" + + "IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlv" + + "bi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwt" + + "bmFtZT4iLAogICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZD" + + "Ri4iCiAgfScKYGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NU" + + "ICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAi" + + "QXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5" + + "cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNv" + + "bmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNr" + + "IgogIH0nCmBgYAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRl" + + "cGxveW1lbnQncyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVy" + + "KSBhbmQgc3VyZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIg" + + "aXMgZG9uZSB3aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVs" + + "ZXRlIC0tZnVuY3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNv" + + "bmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGgg" + + "dGhlIGRlcGxveW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBs" + + "b3kgdGltZXMgY2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxh" + + "dGVuY3kgb24gY29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1W" + + "TSB0ZXN0cykuIEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3Jl" + + "YXRlYCBjb21tYW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2Ug" + + "Ym90aCBgZ3B1YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQ" + + "LkdQVS5IMTAwXzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRo" + + "ZSBmdW5jdGlvbidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNv" + + "bXB1dGUtcGxhbmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hl" + + "Y2sgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGlu" + + "IGBJbWFnZVB1bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAD0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZh" + + "aWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBO" + + "VkNGIGluc3RhbGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdv" + + "cmtpbmciLiBEb24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhl" + + "IHZlcmRpY3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAt" + + "YyAuCmBgYAoKVGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0" + + "YDoKCi0gKipgaGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hh" + + "dCB0aGV5J3JlIGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZm" + + "ZXJlbnQgbGF5ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFk" + + "ZWRgKiog4oCUIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50" + + "cyBsaXN0IHdpbGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJ" + + "bml0aWFsaXppbmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tP" + + "ZmYuCi0gKipgZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQg" + + "dGhlIGNsdXN0ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipg" + + "dW5rbm93bmAqKiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxm" + + "IG1heSBiZSBkb3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoK" + + "IyMgMi4gRHJpbGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFk" + + "eSBjb21wb25lbnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fz" + + "c2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46Cgpg" + + "YGBzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8" + + "bnM+IDxwb2Q+IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2" + + "ZW50cyArIGxhc3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2Rg" + + "IHVubGVzcyB0aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55" + + "IGluLXByb2dyZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9t" + + "IHwgTGlrZWx5IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRy" + + "YS0wIFBvZEluaXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9y" + + "IFBWIHN0dWNrIGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJt" + + "IGEgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNo" + + "IHN0b3JhZ2VjbGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7" + + "InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdg" + + "IHwKfCBgaGVsbSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0" + + "byBiZWNvbWUgYXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBB" + + "UEkgQ1JEcyBub3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2Yt" + + "Z2F0ZXdheS1yb3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwg" + + "SW5zdGFsbCBlbnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9l" + + "bnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAt" + + "LWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1Mg" + + "Zm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FU" + + "IHdhcyBpc3N1ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0" + + "J3Mgc3RvcmVkIGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRl" + + "IC0tY2x1c3Rlci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29t" + + "cHV0ZSBwbGFuZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFs" + + "Z29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNs" + + "dXN0ZXIgcmVnaXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29u" + + "dHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAg" + + "YWdhaW4gfAp8IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVy" + + "YXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5" + + "IGJ1aWxkcyBpdCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Et" + + "b3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2gg" + + "cGF0aCBpcykgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUg" + + "ZXJyb3IpIHwgT2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBp" + + "biBNKzUgZm9sbG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIg" + + "YDZhYTU3MDRgIHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYg" + + "dGhleSBjb25maXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIg" + + "cmVsZWFzZSBpbiByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3Rh" + + "bGwgbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBG" + + "SVJTVDsgdGhlbiBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAt" + + "LWNsdXN0ZXItaWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJt" + + "IGJlZm9yZSBhbnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRp" + + "b24gaXMgZGVzdHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBu" + + "b3QgdG8gZG8KCi0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRp" + + "YWdub3N0aWMgb25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVz" + + "cyB0aGUgdXNlciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9w" + + "b3NlIGBrdWJlY3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQg" + + "aXQgZGVsZXRlcyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGgg" + + "ZGlmZmVyZW50IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBg" + + "c3RhdHVzYCAvIGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQg" + + "TlZDRiBmcm9tIHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZD" + + "RiBvbiBhIGZyZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBU" + + "aGlzIGlzIHRoZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0g" + + "dGhlIHRvcG9sb2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9s" + + "IHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxp" + + "dCAoY29udHJvbCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBC" + + "LCBwcm9kdWN0aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhl" + + "IGAtLWNsdXN0ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/" + + "IEV4YW1wbGVzOiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZv" + + "ciBwcm9kdWN0aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcg" + + "Y29udGV4dCBuYW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoy" + + "LiBQcmVwYXJlIHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxv" + + "Y2FsIGszZC4gT25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1t" + + "ZWRpYXRlbHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5k" + + "cG9pbnRzLiBGb3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1t" + + "ZWQgYW5kCiAgIHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBi" + + "YWxhbmNlciBiZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBu" + + "b3QgYWxyZWFkeSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hh" + + "cmVkIEdhdGV3YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQg" + + "c3RhbmRhbG9uZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBh" + + "cHBseSAtZiBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3Jl" + + "bGVhc2VzL2Rvd25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3Ig" + + "bmFtZXNwYWNlIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMg" + + "ZXNzIHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFj" + + "ZSIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUK" + + "CiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7" + + "IGRvCiAgICAga3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZv" + + "cm09dHJ1ZSAtLW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVn" + + "IG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9u" + + "IHYxLjEuMyBcCiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUg" + + "YXBwbHlpbmcgdGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJv" + + "bGxlciBvd25zCiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5p" + + "ZmVzdCB1bnRpbCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2Vydmlj" + + "ZWAgY29uZmlndXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBj" + + "b250cm9sbGVyIERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVy" + + "IGFnZSBvciBleGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xV" + + "U1RFUl9OQU1FPSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAt" + + "LW5hbWUgIiRFS1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5l" + + "dGVzTmV0d29ya0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1v" + + "dXRwdXQgdGV4dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1s" + + "b2FkLWJhbGFuY2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBg" + + "VHJ1ZWAgc2VsZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24u" + + "Y29tL2Vrcy9sYXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3Ro" + + "ZXJ3aXNlLCBhIHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExv" + + "YWQgQmFsYW5jZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJt" + + "IHRoYXQgdGhlIGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNs" + + "b3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExv" + + "YWQgQmFsYW5jZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAg" + + "VGhlIGFwcGxpZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBD" + + "b250cm9sbGVyLiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2Vydmlj" + + "ZWAgbWFwIGJlZm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZp" + + "Y2U6CiAgICAgbG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFu" + + "bm90YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFs" + + "YW5jZXItc2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5" + + "IEFXUyBjbG91ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3" + + "aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAg" + + "ICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxi" + + "IgogICBgYGAKCiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZh" + + "Y2luZyBsb2FkIGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdh" + + "Y3kgYG5sYmAgc2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxl" + + "ciB0YXJnZXQgdHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIg" + + "U2VydmljZQogICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWpl" + + "Y3RzIG9uZSBTZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0" + + "aGUgQVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52" + + "b3kgU2VydmljZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxh" + + "Y2UgdGhlIG1hcCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBi" + + "ZWZvcmUgYXBwbHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1w" + + "bGU6IHVzZSBBV1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAt" + + "ZiAtIDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQog" + + "ICBraW5kOiBFbnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNw" + + "YWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAg" + + "dHlwZTogS3ViZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNl" + + "OgogICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVy" + + "bmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAg" + + "c2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10" + + "eXBlOiAiaW5zdGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9h" + + "d3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlW" + + "ZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFz" + + "cwogICBtZXRhZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1l" + + "OiBnYXRld2F5LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJh" + + "bWV0ZXJzUmVmOgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2lu" + + "ZDogRW52b3lQcm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVy" + + "c2lvbjogZ2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1l" + + "dGFkYXRhOgogICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0" + + "ZXdheQogICBzcGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgog" + + "ICAgIC0gbmFtZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAg" + + "ICAgICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206" + + "IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoK" + + "ICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAg" + + "ICAgIHByb3RvY29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVz" + + "OgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAg" + + "ICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZj" + + "Zi9wbGF0Zm9ybTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMg" + + "bXVzdCBiZSB1bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52" + + "b3lTZXJ2aWNlLmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0" + + "aGUgZ2VuZXJhdGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9u" + + "cwogICBvbiB0aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2" + + "YWx1ZXMgYW5kIHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNU" + + "RVJfTkFNRT0ibnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAg" + + "ZXhwb3J0IFJFR0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFD" + + "RT0iZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3" + + "YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBl" + + "eHBvcnQgR1JQQ19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRI" + + "VFRQX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIg" + + "XAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBr" + + "dWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19H" + + "QVRFV0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGlt" + + "ZW91dD0xMG0KCiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FU" + + "RVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAt" + + "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQ" + + "Q19HQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdl" + + "dCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0" + + "dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBl" + + "eGl0IDEKICAgdGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0" + + "IFNUQUNLX0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJ" + + "TmAgdG8gdGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRl" + + "cy4KICAgRm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0" + + "aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAu" + + "bnZjZi1jbGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9B" + + "RERSfSIKICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3Jw" + + "Y191cmw6ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91" + + "cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlz" + + "LiR7U1RBQ0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBp" + + "bnZva2VfaG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2Vy" + + "dmljZV9pZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAg" + + "IGFwaV9rZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lk" + + "OiAic3ZjQG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YK" + + "ICAgYGBgCgozLiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhl" + + "IHRvcG9sb2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAg" + + "ICAgLS1qc29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3Vi" + + "ZWN0bCBvbiBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNr" + + "IC0tcHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAt" + + "LWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBq" + + "cSAtYyAuCiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZh" + + "aWxzIChgInBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBt" + + "ZXNzYWdlYCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0" + + "byBpbnN0YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlm" + + "IG5lZWRlZC4gYG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAg" + + "IHVzZXIgZG9lcyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlz" + + "IHRocm91Z2ggdGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBj" + + "b21wdXRlLW9ubHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09O" + + "TCBldmVudCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAg" + + "ICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05D" + + "QV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoK" + + "ICAgRm9yIHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6Cgog" + + "ICBgYGBzaAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBs" + + "YW5lIgogICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIK" + + "CiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD0iJHtDT05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ9IiR7Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NM" + + "VVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249" + + "IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBg" + + "cGhhc2Vfc3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBo" + + "YXNlX3Byb2dyZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChy" + + "ZXNvdXJjZSBjb3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0" + + "IHBlcnNpc3RzIGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0" + + "b3AgYW5kIHN1cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUu" + + "CiAgICAgRGVjaWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJl" + + "LXJ1biBub3cgd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRy" + + "eUFmdGVyU2VjYCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRl" + + "cl9yZW1lZGlhdGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0" + + "CiAgICAgYWN0IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25l" + + "LiBQcmludCBjbHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRo" + + "IHN0YXR1cy4gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFu" + + "ZCBleHBlY3QKICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFn" + + "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4g" + + "T3B0aW9uYWxseSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZv" + + "a2UubWRdKGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4K" + + "ICAgaW52b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3Qg" + + "YSBmcmVzaCBjbHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9u" + + "IGNoYXJ0IHB1bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlz" + + "IGlkZW1wb3RlbnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVp" + + "c2l0ZS4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55" + + "d2F5KS4KLSBJZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9u" + + "LWludGVyYWN0aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRg" + + "IGludGVyYWN0aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "ADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3" + + "a3MubWRVVAUAAQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBz" + + "dG9wcGVkIGF1dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElD" + + "TVMuIFRoZSBLOHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRl" + + "ZCBhbmQgdGhlIEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byBy" + + "b3RhdGUKCi0gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5p" + + "by9uYW1lPW52Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4v" + + "cmVnaXN0ZXJgIHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3" + + "aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1p" + + "c21hdGNoLCBub3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJv" + + "bC1wbGFuZSBLOHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVw" + + "cwoKMS4gQ29uZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3Qt" + + "cmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0" + + "aGUgcm93IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioq" + + "IEZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQ" + + "SSAoYmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEv" + + "andrc2ApOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlk" + + "PTxpZD4gLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZl" + + "dGNoZXMgSldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0" + + "byBJQ01TLiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBu" + + "dmNmLWNsaSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0" + + "ZWRBdGAgYWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAu" + + "a3ViZXJuZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMg" + + "c2hvdWxkIHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRv" + + "bid0IGBjbHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElE" + + "ICsgZ3JvdXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVk" + + "ZXBsb3kgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkg" + + "ZWRpdCBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0" + + "ZXMgSUNNUyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQg" + + "Y2x1c3RlciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWls" + + "dXJlIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1j" + + "YWxsb3V0IGhlYWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1h" + + "dXRoLWNhbGxvdXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29p" + + "ZGNfYnlfY2x1c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAg" + + "Y29uZmlnbWFwIGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25v" + + "c2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhv" + + "c2UgY2hlY2tzLgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMg" + + "VGVhciBkb3duIGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFy" + + "ZG93biBkZXN0cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBz" + + "ZWFsIGtleXMsIHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1" + + "c2VyIGJlZm9yZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBg" + + "dW5pbnN0YWxsYCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVh" + + "cmRvd24gc3VyZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0r" + + "MTEpOgoKfCBUaWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18" + + "LS0tfAp8IFBlci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5" + + "KSB8IGBpbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVg" + + "IHwgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxh" + + "bmVgIHwKfCBPcmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVw" + + "IC0tY2x1c3Rlci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFs" + + "bGAgfAoKVXNlIGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9y" + + "IEdpdE9wcyAoY29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBl" + + "bGluZXMuIEFsd2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8" + + "IE1vZGUgfCBMaXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0t" + + "fC0tLXwtLS18LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0" + + "b3JzKSB8ICoqTm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1p" + + "dHMgcGhhc2UgcGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwg" + + "RXZlbnQgc3RyZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAo" + + "cHJpbWl0aXZlcykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBg" + + "aGVsbSBnZXQgbWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286" + + "CgotIGBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBv" + + "cmNoZXN0cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFs" + + "bCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBt" + + "ZSB0aGUgWUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFM" + + "V0FZUyBwcmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5" + + "IC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVu" + + "LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAK" + + "CiMjIFdoZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0t" + + "LXwtLS18CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8" + + "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1l" + + "IHRoZSBzdGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1M" + + "IHRvIGNvbW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "dW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBk" + + "ZWxldGUueWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1" + + "dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAi" + + "SnVzdCByZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBk" + + "b3duIC0tY2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJt" + + "IHNjb3BlIHdpdGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChj" + + "b21wdXRlIHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNv" + + "bXB1dGUgcGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9u" + + "IHRoaXMgY2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4i" + + "IChJbXBvcnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2" + + "ZT10cnVlfHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJz" + + "aXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1" + + "bHQgdXNlciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3Zl" + + "LXBlcnNpc3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxl" + + "LioqIgoKIyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBg" + + "CgpUaGlzIGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhl" + + "bG0gcmVsZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0" + + "IHdvdWxkIGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21t" + + "YW5kc1tdYCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxt" + + "IHVuaW5zdGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgoj" + + "IyMgMy4gRXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAt" + + "LWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYu" + + "Ny4xKToKCjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoy" + + "LiBSZXNvbHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1" + + "bnMgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBw" + + "b2xscyB1bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNl" + + "fHByb21wdGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1" + + "dGUgcGxhbmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBo" + + "ZWxtIHVuaW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVy" + + "CjUuIFJlbW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVu" + + "dGApCjYuIFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMg" + + "NC4gVGVhciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0" + + "aGUgb3JjaGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMg" + + "YWxzbyBnb2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5l" + + "YCByZWZ1c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNN" + + "Uy4gVXNlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipv" + + "bmx5KiogaWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFu" + + "ZXMgKFBTQVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3Rh" + + "cnQgZmFpbGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVl" + + "bmNlIGJlZm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcK" + + "CmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhp" + + "cyBpdGVyYXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0" + + "aGUgcGVyLWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1h" + + "bGwtY29uY3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRy" + + "b2wtcGxhbmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhl" + + "IGNsdXN0ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHBy" + + "b21wdCBmb3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhh" + + "cyBBcmdvIC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0" + + "ZSBwbGFuZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21w" + + "dXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3Ig" + + "Y29tbWl0cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxp" + + "ZXMgdGhlIGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNv" + + "bW1pdCAtbSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBB" + + "cmdvIHN5bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhl" + + "IElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJf" + + "SUQKYGBgCgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1" + + "c3RlciBkZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93" + + "aW5nIEdpdE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHks" + + "IG9yIHVzZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkK" + + "CklmIGBkb3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1h" + + "bmQqKi4gVGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNr" + + "aXBzIHJlbGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAt" + + "LWlnbm9yZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQ" + + "aGFzZSA0ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBz" + + "ZWNvbmQgcnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNh" + + "dGVnb3J5OiAiaGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRp" + + "YXRpb24iYCDihpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0" + + "PeKApmAgKHRoZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4g" + + "cmUtcnVuIGBkb3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1h" + + "dGlvbi4KLSBgZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVy" + + "X3JlbWVkaWF0aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIg" + + "dXNlciBwYXNzZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3Qu" + + "IFJlLXJ1biB3aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJv" + + "bXB0YCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1" + + "cmZhY2UgYGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4g" + + "U1RPUC4gRG8gbm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlz" + + "IGNvbmZpcm0KCkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5z" + + "dGFsbGAgaW52b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBT" + + "dGF0ZSB0aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hh" + + "dCdzIGxvc3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5j" + + "cC1sb2NhbGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElD" + + "TVMiKS4KLSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3Rh" + + "dGUgdGhhdCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRl" + + "ZCBhbmQgdGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNl" + + "ciBjb25maXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQt" + + "Y2x1c3RlcnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUg" + + "b3JwaGFuZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBl" + + "eHBsYWluaW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBp" + + "cyBvbiBhIENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gK" + + "IyBQZXIgY29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0" + + "YWxsIG52Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRv" + + "ciAtbiBudmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVy" + + "IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0" + + "ZW0KCiMgRHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + + "ZXItaWQ9PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250" + + "ZXh0KToKY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2Vz" + + "IGhlbG1maWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBz" + + "dGFjayBidW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4v" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1h" + + "bnVhbCBwYXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGlu" + + "c3RhbGxlZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIg" + + "YXNrcyAid2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhl" + + "IFN0YXRlZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5" + + "IGBoZWxtIHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRp" + + "b25hbGx5IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8g" + + "d2lwZSBjb21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQK" + + "YGBgCgpPciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAt" + + "biBjYXNzYW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0" + + "ZW0gLS1hbGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0" + + "aXZlIHN0ZXAuClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIj" + + "IGBudmNmLWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdh" + + "eXMgcGFpciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtl" + + "eGl0LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1o" + + "b3N0ZWQgbGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8" + + "LS0tfC0tLXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFBy" + + "ZS1mbGlnaHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8" + + "IFBlci1yb2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3Rl" + + "ZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2Ug" + + "aGVhbHRoeSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRg" + + "IGVsYXBzZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + + "LW5hbWU9WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFt" + + "aW5nIGV2ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8" + + "IGBzZWxmLWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFs" + + "bCBvZiB0aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0" + + "YWxsIC0tY29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZ" + + "QU1MIG9uIHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhv" + + "c3RlZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVy" + + "IGNsdXN0ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9u" + + "ZSBpbnZvY2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rl" + + "ci1uYW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5" + + "KSBzdGRvdXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5l" + + "czsgZm9yIGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9z" + + "dGVkIHVwIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwg" + + "SlNPTkwgb24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8Cnwg" + + "YHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29t" + + "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3Rk" + + "ZXJyIHwgRm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3Rh" + + "bGwuIENQIG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5h" + + "bWU9WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pT" + + "T05MIHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5z" + + "dGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0" + + "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5y" + + "ZWdpc3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9u" + + "IHRoYXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJp" + + "bWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVz" + + "cyB8IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0t" + + "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQg" + + "bWFuaWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8g" + + "YGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBg" + + "aW5zdGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9" + + "WCBbLS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6" + + "IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBp" + + "biBJQ01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXIt" + + "bmFtZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVz" + + "dHJhdG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJv" + + "bCBwbGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1" + + "cnJlbmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0" + + "aXZlIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9y" + + "IGRyeS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBo" + + "ZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBh" + + "Y3R1YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJw" + + "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVgg" + + "LS1uY2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBh" + + "IEpXS1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBz" + + "dGFuZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lz" + + "dGVyZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1" + + "c3RlciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1q" + + "c29uYCBmb3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNs" + + "dXN0ZXItaWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBB" + + "ZnRlciBLOHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVs" + + "ZXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBj" + + "b25maXJtIHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + + "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJ" + + "TEVgIHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZl" + + "cnNpb24gSUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1v" + + "ZGVsc1tdLmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9y" + + "ZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1" + + "bmN0aW9uIGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0" + + "aW9uIGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0" + + "YWRhdGEgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1p" + + "ZD1WSUQgLS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVu" + + "Y3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2Rl" + + "bC11cGRhdGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNg" + + "IHVzZXMgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + + "PTxsaW1pdD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFn" + + "cy5tZCkgfAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNj" + + "aGVkdWxlIGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykg" + + "fAp8IGBmdW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + + "RCBbLS1qc29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZF" + + "XHxERVBMT1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAt" + + "LWlucHV0LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBm" + + "dW5jdGlvbiBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAg" + + "fCBTdG9wIGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9u" + + "IGludm9rZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJl" + + "cXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9r" + + "ZWQgdGhyb3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0" + + "aW9uLWlkPi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlk" + + "PUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoq" + + "REVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFu" + + "ZHMgcmVxdWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBO" + + "VkNGX0JBU0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBh" + + "IGZyZXNoIHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRl" + + "YCBhbmQgaW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFs" + + "dWU7IGNoZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0" + + "aCBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1" + + "biBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5l" + + "dyBrZXkuCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRh" + + "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdl" + + "PUlNR2AgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0" + + "YXRlOyB1c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sg" + + "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hh" + + "cnQ9Q0hBUlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMg" + + "YC0taW1hZ2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEg" + + "dGFzayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + + "IGNvbmZpZ3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0" + + "PU5dYCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVz" + + "ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JF" + + "RGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURF" + + "RF9NQVhfUVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNr" + + "IGRldGFpbHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBg" + + "dGFzayBldmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRz" + + "IGZvciBhIHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBh" + + "cnRpZmFjdHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBg" + + "cmVzdWx0SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQg" + + "c3VwcG9ydGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0" + + "YXNrIHwgTm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRl" + + "IFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElE" + + "ICsgY3VycmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBl" + + "eHBsaWNpdGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBu" + + "b3QgdHJlYXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8" + + "CnwgYHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + + "VXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1" + + "cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBw" + + "cmVzZXJ2ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0t" + + "dGFzay1pZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNr" + + "cyBpbiBvbmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3Rl" + + "cyB8CnwtLS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtl" + + "eXMgdmlhIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1j" + + "bGkuc3RhdGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAo" + + "ZnVuY3Rpb24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwg" + + "bGFzdCBlbmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1o" + + "b3N0ZWQgc3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNr" + + "XSBbLS1kZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlz" + + "IHwgRGVmYXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFu" + + "ZCBhIHRhc2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMg" + + "b25lIG9ubHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJh" + + "dGUgLS12YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVy" + + "YXRlZCBrZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5j" + + "ZSAoTlZDRiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1r" + + "ZXkgbGlzdGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1z" + + "Y29wZWQga2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJl" + + "dm9rZSBLRVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiog" + + "fAp8IGBhcGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0" + + "YXRlIHwgfAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0" + + "YWxsIGFsbCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxz" + + "L2AgYW5kIGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRp" + + "cmVjdG9yaWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJl" + + "bW92ZSBvbmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNl" + + "IHNraWxscyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWlu" + + "IHwKfCBgYWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBG" + + "b3IgZGVidWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEg" + + "YW5kIGVtYmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEj" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVz" + + "CgpTdGFibGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0" + + "cnkgLyBzdXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMg" + + "fAp8LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0" + + "YWxsIGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3Ig" + + "fCBIZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5k" + + "OyBZQU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEdh" + + "dGV3YXkgQVBJIENSRHMgbWlzc2luZzsga3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9y" + + "YWdlQ2xhc3MgYWJzZW50IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsg" + + "YC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50" + + "IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBv" + + "dXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWRuJ3QgcGFzcyBi" + + "ZWZvcmUgZHVyYXRpb24gfAp8IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVC9TSUdURVJNIHwg" + + "VXNlciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQgfAoKIyMgSG93IGFu" + + "IGFnZW50IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwK" + + "fCBgMGAgfCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRl" + + "cnIgdG8gdXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkg" + + "bmVlZCBhIGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxl" + + "ZCBjaGVja3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUg" + + "dXNlciBmaXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGlu" + + "dGVyYWN0aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91" + + "dCB1c2VyIE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2Vy" + + "LCBkaWcgaW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwg" + + "RG9uJ3QgcmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29u" + + "ZmlybSBiZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoK" + + "RXZlcnkgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNP" + + "TiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAo" + + "YXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVy" + + "X3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwg" + + "YW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlz" + + "IGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xp" + + "c2ggZnJvbSBzdGRlcnIuClBLBwhzp1pk1QYAANUGAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + + "zhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3Vi" + + "Y29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxg" + + "IHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2Vg" + + "IHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZ" + + "LCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVu" + + "dCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPeKApmAgfCBDb250" + + "cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9g" + + "IFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrPeKApmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2Fs" + + "IHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVk" + + "IGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx84oCmYCB8IEhlbG1maWxlIGVu" + + "dmlyb25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3IgcmVsZWFz" + + "ZXMgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwg" + + "YGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQg" + + "c2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1M" + + "LCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29u" + + "YCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4" + + "dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBv" + + "dXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7" + + "IGJsb2NrIHVudGlsIHBhc3MgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8" + + "IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29u" + + "dGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQg" + + "Zm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMt" + + "dXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVy" + + "IHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hl" + + "Y2sgLS1wcmVgIG9ubHk7IHNraXAgYWxsIGt1YmVjdGwgY29udGFjdCB8IGBmYWxzZWAgfAoKIyMg" + + "YGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxh" + + "bmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxl" + + "Y3RzIGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJl" + + "LWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzIHwgYGZhbHNl" + + "YCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAg" + + "fAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwK" + + "fCBgLS1hbGxgIHwgRXZlcnkgY2F0ZWdvcnkgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUg" + + "TkFNRWAgfCBDbHVzdGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hlY2tzIHwgLSB8CnwgYC0t" + + "c2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHBy" + + "b2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBp" + + "biBgZGVmYXVsdGAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBm" + + "YWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMg" + + "YXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEK" + + "U2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBp" + + "dCBhbmQgcmVtb3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRl" + + "eHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZg" + + "IHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xV" + + "U1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFn" + + "ZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJv" + + "bSB0aGUgcmVnaXN0cnkuIFVuc2V0IGV2ZXJ5d2hlcmUgc2tpcHMgdGhlIHByb2JlIHdpdGggYSB3" + + "YXJuaW5nIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0OnBvcnQs" + + "Li4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yIHByb2Jl" + + "cyBmb3IgcmVhY2hhYmlsaXR5LiBgbnZjci5pb2AgaXMgYWx3YXlzIHByb2JlZC4gUmVwZWF0YWJs" + + "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JF" + + "R0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IGBu" + + "dmNyLmlvYCBvbmx5IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8" + + "IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFs" + + "aWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIGxvb2tzIGZvciBvbmUgaW4gdGhlIE5W" + + "Q0YgbmFtZXNwYWNlcyBhbmQgZmFsbHMgYmFjayB0byBtaW50aW5nIG9uZSBmcm9tIGBOR0NfQVBJ" + + "X0tFWWAgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tp" + + "cCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEVudjogYE5WQ0ZfQ0xJ" + + "X1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gIHwgYGZhbHNlYCB8CnwgYC0tbm8t" + + "Y2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iIChhbmQgaXRzIFJCQUMpIGFmdGVyIHRo" + + "ZSBydW4gZm9yIGRlYnVnZ2luZy4gVGhlIG5leHQgcnVuIHN0aWxsIHN3ZWVwcyBwcmlvciBKb2Jz" + + "IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNj" + + "cmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMg" + + "bm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRo" + + "aXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8Cgoj" + + "IyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + + "LXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIg" + + "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNm" + + "LWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdl" + + "c3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFz" + + "IHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBO" + + "QU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVz" + + "dGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0" + + "Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9u" + + "ZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50" + + "c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJg" + + "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQg" + + "SURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lv" + + "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZy" + + "b20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3Rl" + + "YWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1z" + + "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + + "Zm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlw" + + "ZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1" + + "bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAg" + + "fAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwg" + + "YDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMg" + + "U0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9y" + + "YCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBn" + + "ZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVu" + + "ZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhv" + + "dXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVj" + + "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBm" + + "dW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5h" + + "bWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1p" + + "bmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8Cnwg" + + "YC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwK" + + "fCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5" + + "cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwg" + + "b3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAg" + + "Zm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1z" + + "ZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hh" + + "cnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVs" + + "cyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + + "IHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBu" + + "YW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tl" + + "blJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVl" + + "Pi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAx" + + "MDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2Ug" + + "aW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1s" + + "bG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJl" + + "cXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwK" + + "fCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2Nv" + + "dW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0" + + "aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8" + + "CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5" + + "cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxt" + + "Q29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUg" + + "dXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBh" + + "dGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3Yx" + + "L2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3Jv" + + "YmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGBy" + + "YW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNv" + + "bW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08" + + "dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1p" + + "bnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlz" + + "dGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUw" + + "MDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNo" + + "YXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVs" + + "bS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBg" + + "aGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + + "aWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0" + + "aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5h" + + "bWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4v" + + "PG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9u" + + "LCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRp" + + "b25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNz" + + "aW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5v" + + "dC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0" + + "aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVw" + + "ZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJh" + + "dGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxs" + + "bS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBm" + + "b3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5" + + "IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3Vy" + + "YXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVy" + + "cmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklU" + + "WWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMg" + + "dXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHBy" + + "aW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxV" + + "cGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5n" + + "TWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3Jl" + + "YXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVz" + + "LgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJ" + + "TEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3Qg" + + "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVu" + + "Y3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1F" + + "YCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1Ug" + + "fCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNh" + + "cyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8Cnwg" + + "YC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7" + + "IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBU" + + "YXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8Cgoj" + + "IyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVu" + + "ZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBU" + + "YXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEt" + + "WlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0t" + + "aW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVg" + + "IHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFt" + + "cGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGlt" + + "YWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0t" + + "Y2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5" + + "IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04g" + + "dGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3Ro" + + "IGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8Cnwg" + + "YC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBp" + + "bnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBB" + + "cmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywg" + + "ZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52" + + "IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxl" + + "IHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJp" + + "YWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGlt" + + "ZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBU" + + "NEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1" + + "ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNP" + + "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2Ug" + + "RFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBT" + + "ZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVg" + + "IHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRz" + + "LWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1u" + + "YW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJh" + + "dGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwg" + + "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVS" + + "SWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxU" + + "QUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVY" + + "VGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAg" + + "fCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5" + + "LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFj" + + "ZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0g" + + "fApQSwcImdDiUBcuAAAXLgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMg" + + "VHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIg" + + "cmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWls" + + "ZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBz" + + "aG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4K" + + "CiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + + "LXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNu" + + "J3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVy" + + "bmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUg" + + "bm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmls" + + "ZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hl" + + "bG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3Rh" + + "bGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBv" + + "Y2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3kt" + + "Z2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNs" + + "YXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRl" + + "IG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRp" + + "b25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVl" + + "In19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8" + + "IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5u" + + "dmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5z" + + "dGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRl" + + "diB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBu" + + "ZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwg" + + "bnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgK" + + "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWlu" + + "IHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAg" + + "YW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkg" + + "b3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1Qg" + + "cmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXko" + + "cykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBw" + + "bGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4g" + + "fAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2Up" + + "IHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52" + + "Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGlu" + + "dm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + + "biB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJh" + + "YCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBk" + + "ZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5k" + + "cmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1" + + "bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90" + + "IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + + "LkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3Rl" + + "ciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RF" + + "Ul9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBu" + + "b24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhl" + + "bG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xp" + + "IGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lE" + + "IHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBu" + + "dmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAg" + + "fCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBs" + + "b2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAt" + + "YyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1" + + "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJh" + + "Y2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJg" + + "IHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3Ig" + + "cmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFs" + + "ZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdp" + + "c3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxp" + + "ZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRv" + + "ZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8" + + "IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9u" + + "IHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50" + + "aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + + "ZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwK" + + "fCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3Ry" + + "ZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgt" + + "Y2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJl" + + "cm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwg" + + "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3Jl" + + "YXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0" + + "bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRs" + + "eSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJl" + + "Z2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUg" + + "fCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyBy" + + "ZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBg" + + "UFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNo" + + "ZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3Ig" + + "YGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8g" + + "YXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUA" + + "AQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9u" + + "OiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5l" + + "IGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFs" + + "dWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVl" + + "cyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgog" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0" + + "IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9u" + + "LCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYt" + + "bWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9j" + + "YWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zs" + + "b3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBo" + + "ZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4s" + + "IGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + + "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFn" + + "czogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBs" + + "YW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50" + + "LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1l" + + "dGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2Yt" + + "Y29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBb" + + "bnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUs" + + "IGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1" + + "bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxt" + + "ZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoK" + + "IyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBm" + + "b3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxl" + + "IGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1" + + "cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1z" + + "dGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZp" + + "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlv" + + "blR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMv" + + "aGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJl" + + "cXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tg" + + "IHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmct" + + "dmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBg" + + "YGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5l" + + "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29u" + + "dHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0" + + "YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29t" + + "cHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVj" + + "dG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBO" + + "R0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2Ug" + + "ZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+" + + "CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxh" + + "bmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9u" + + "IGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5" + + "IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1m" + + "aWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFs" + + "IG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2lu" + + "IGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lv" + + "biAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVy" + + "CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNm" + + "LXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9i" + + "YWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJv" + + "bm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZv" + + "ciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczov" + + "L2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4K" + + "CiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZl" + + "bnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZp" + + "cm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRo" + + "CmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4g" + + "Y29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUs" + + "IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMv" + + "PGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlk" + + "ZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5j" + + "ZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3Vn" + + "aCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2Vs" + + "ZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3Jl" + + "ZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVy" + + "cmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1" + + "ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGlu" + + "Zy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVh" + + "dGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUg" + + "cmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUg" + + "cmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtl" + + "eT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYg" + + "dXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxl" + + "IHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1h" + + "Z2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0" + + "IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + + "YXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + + "cHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0" + + "aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFy" + + "ZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + + "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + + "ICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lv" + + "biA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFz" + + "c3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAK" + + "Cj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4g" + + "cGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBz" + + "cGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBh" + + "bGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVy" + + "ZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+" + + "IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVk" + + "YCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtl" + + "eSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBl" + + "aXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBi" + + "ZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBh" + + "c3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlp" + + "bmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5n" + + "bGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVj" + + "b21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + + "dG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJl" + + "Z2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0" + + "IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9k" + + "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2Fs" + + "bHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMK" + + "YWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICBy" + + "ZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1w" + + "bGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAg" + + "ICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3Ug" + + "YWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + + "Z2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAg" + + "ID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBz" + + "byBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVy" + + "IGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMu" + + "IFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRw" + + "czovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEu" + + "Y29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2Jh" + + "bC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBw" + + "b2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRw" + + "czovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6" + + "YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+" + + "LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIg" + + "YGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92" + + "ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRv" + + "bWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3Mp" + + "LCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBu" + + "ZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxs" + + "IGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFs" + + "LmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0g" + + "cmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBj" + + "cmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + + "Z2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3Jl" + + "ZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIg" + + "cmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0" + + "aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBk" + + "b21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRl" + + "cyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3" + + "YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5" + + "OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5" + + "LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJl" + + "c3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRy" + + "ZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBj" + + "b25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNz" + + "IGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoK" + + "Rm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQg" + + "c3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBg" + + "R0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJv" + + "ZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVj" + + "b3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMs" + + "IGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBj" + + "bGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxl" + + "cy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0" + + "cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBg" + + "YAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRo" + + "ZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + + "YnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3Nh" + + "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJ" + + "ZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2Vydmlj" + + "ZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBj" + + "cmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVu" + + "dGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1l" + + "IHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVu" + + "dCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8" + + "IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJl" + + "bGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1w" + + "cm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRp" + + "b25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1" + + "ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2Ag" + + "fCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZh" + + "YmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpN" + + "b25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0" + + "eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBj" + + "dXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhl" + + "IHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxl" + + "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQph" + + "ZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBg" + + "dmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMs" + + "IHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBp" + + "bmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBl" + + "bmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRv" + + "bnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6" + + "IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQg" + + "dGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50" + + "LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRl" + + "d2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3Rl" + + "YWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVz" + + "IHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyBy" + + "ZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0" + + "eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91" + + "dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBg" + + "YAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVu" + + "YWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3Vi" + + "ZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + + "IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdh" + + "eSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24s" + + "IG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBn" + + "YXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJ" + + "IGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRp" + + "c2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + + "YXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFj" + + "a2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJv" + + "dXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlz" + + "IGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1Ymxp" + + "YyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNl" + + "dHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShy" + + "ZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRl" + + "IGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGlu" + + "c3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9v" + + "c2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMg" + + "ZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFu" + + "ZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmls" + + "ZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFu" + + "ZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3Rh" + + "bGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlm" + + "aWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kg" + + "ZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0" + + "ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFy" + + "ZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250" + + "cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwg" + + "YG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwg" + + "YGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNl" + + "cnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1" + + "ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5" + + "IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1l" + + "c3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0" + + "IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + + "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIg" + + "bXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxl" + + "IHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVy" + + "IGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250" + + "cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + + "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + + "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + + "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2" + + "ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2" + + "ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNm" + + "LXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBg" + + "YmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNw" + + "YWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxu" + + "dmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVy" + + "cmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkK" + + "CldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVz" + + "IChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwg" + + "YGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFs" + + "dWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBh" + + "ZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZh" + + "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + + "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAK" + + "ICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lz" + + "dGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + + "cGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + + "IiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAg" + + "ICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4" + + "MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAg" + + "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1" + + "c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAg" + + "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + + "YGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBh" + + "bmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAg" + + "ICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlz" + + "dGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRo" + + "ZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJl" + + "Y3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBT" + + "ZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVs" + + "bCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBz" + + "ZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + + "ZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRl" + + "Y2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2Nr" + + "ZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUt" + + "dmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9B" + + "UElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+" + + "IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + + "YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pz" + + "b25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxr" + + "ZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNj" + + "b3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRv" + + "Y2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRl" + + "cgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMg" + + "YXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVl" + + "cyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRh" + + "a2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmll" + + "bGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUg" + + "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46" + + "JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29u" + + "ZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlv" + + "biBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJu" + + "YW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29y" + + "a2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBg" + + "NDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9v" + + "a3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUg" + + "YW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxs" + + "ZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAg" + + "IEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAt" + + "QSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + + "bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMg" + + "ZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + + "dWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252" + + "Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90" + + "ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUg" + + "dXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2" + + "ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBr" + + "ZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRo" + + "ZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVu" + + "dCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+" + + "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRv" + + "IG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNv" + + "bW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRv" + + "bWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNG" + + "IG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBl" + + "ci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoK" + + "YGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + + "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + + "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoK" + + "IyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElf" + + "S0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2Nr" + + "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + + "CiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0i" + + "JG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "ZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkg" + + "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11" + + "dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3Jl" + + "dHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + + "Z2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBg" + + "YAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAo" + + "ZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZ" + + "QU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxs" + + "LXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoK" + + "IyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdp" + + "ZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVj" + + "dGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2Vu" + + "dCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENh" + + "dXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2Zm" + + "YCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBD" + + "aGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYElu" + + "aXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBP" + + "cGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJ" + + "bml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBg" + + "NDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2ln" + + "bmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1Ymtl" + + "eSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQg" + + "YG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21t" + + "b24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0" + + "aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8t" + + "c2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJl" + + "bmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1" + + "Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3Vy" + + "Y2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVz" + + "IGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxz" + + "YCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVM" + + "VF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0" + + "aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + + "c3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + + "QVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2Vz" + + "IHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFn" + + "ZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFn" + + "ZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWls" + + "ZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2Ag" + + "YWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVu" + + "dGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGkt" + + "YWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyBy" + + "ZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9z" + + "dC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxl" + + "ZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiBy" + + "ZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlm" + + "eSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + + "cmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWls" + + "IHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQg" + + "cGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0" + + "aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3Jr" + + "aW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFu" + + "bm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGlu" + + "IHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxh" + + "Y2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpu" + + "Y3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2Vz" + + "dC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGlu" + + "IGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUg" + + "ZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24g" + + "dGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4g" + + "YG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVz" + + "IG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFu" + + "ZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4g" + + "cmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5k" + + "CmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGlj" + + "IGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4g" + + "dGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoK" + + "SWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUg" + + "YGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBq" + + "b2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJs" + + "b2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNm" + + "IGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3" + + "YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjog" + + "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + + "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + + "bXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVj" + + "dHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShy" + + "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2Rl" + + "YnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJ" + + "IGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + + "bHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12" + + "ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQg" + + "c3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0" + + "byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUg" + + "MS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAz" + + "LjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQg" + + "ZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUg" + + "dmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNp" + + "b24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNl" + + "cXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQg" + + "dmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdp" + + "biBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAg" + + "ICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZl" + + "ciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2Vl" + + "ZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0" + + "aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBz" + + "a2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2Vy" + + "IGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1w" + + "bGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmls" + + "ZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFu" + + "ZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUn" + + "IHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmll" + + "dyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAg" + + "aXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZD" + + "RiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1" + + "cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBu" + + "YW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9t" + + "IHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + + "Y2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVs" + + "ZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBu" + + "YW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNo" + + "IG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBz" + - "ZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAg" + - "ICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJp" + - "bmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29u" + - "ZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5" + - "c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2Vf" + - "aG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdl" + - "bnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + - "ci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNN" + - "U19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwn" + - "IHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29t" + - "cHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9u" + - "bHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFk" + - "ZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3Ry" + - "YXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUg" + - "Zm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJx" + - "dWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1l" + - "bnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4g" + - "YW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJv" + - "dGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0" + - "byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9h" + - "dXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1" + - "c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChu" + - "b3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + - "cHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6" + - "ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRs" + - "ZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFs" + - "LnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQg" + - "aW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5" + - "bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2Vk" + - "IGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRz" + - "Lywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmls" + - "ZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQg" + - "aGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBl" + - "eHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rp" + - "b24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFn" + - "ZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdz" + - "dGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRs" + - "ZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBj" + - "ZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVw" + - "bG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRo" + - "ZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5z" + - "dGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhp" + - "bmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3Vi" + - "ZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4" + - "aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMg" + - "KGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMs" + - "IHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkg" + - "bmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBo" + - "ZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRo" + - "ZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxv" + - "eSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2Vz" + - "IChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBw" + - "cm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMg" + - "aGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUg" + - "Y29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYi" + - "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVz" + - "ZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIg" + - "YW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWly" + - "ZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFu" + - "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVk" + - "IGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdp" + - "c3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + - "aW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25z" + - "dW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5" + - "IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9m" + - "Zi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwg" + - "LS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9v" + - "dXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3Rl" + - "ciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3Rl" + - "ciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFt" + - "ZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGlu" + - "c3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAt" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5z" + - "dGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1" + - "c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBh" + - "cyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMg" + - "cmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3Nh" + - "bmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0" + - "dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmls" + - "ZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxp" + - "bmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4g" + - "dGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBh" + - "bmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZh" + - "bHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNy" + - "ZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9u" + - "ZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6" + - "IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBl" + - "bnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxt" + - "ZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAi" + - "cXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENh" + - "c3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxs" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQg" + + "YW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFu" + + "ZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCBy" + + "ZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVz" + + "ZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9u" + + "IHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1t" + + "YW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBu" + + "b3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1v" + + "dmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNw" + + "bGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBw" + + "bGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUg" + + "c3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBm" + + "bG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNl" + + "cGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMg" + + "cGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBI" + + "b3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUt" + + "cGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQg" + + "dGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + + "bCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVs" + + "aWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + + "bXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3Rh" + + "bGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFz" + + "ZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91" + + "cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBp" + + "Y21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicg" + + "d2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQg" + + "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNU" + + "RVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + + "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNt" + + "cy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBp" + + "cyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2Nv" + + "dmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZs" + + "b3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAi" + + "QXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1" + + "aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + + "Y2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + + "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5k" + + "IE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBi" + + "b3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikg" + + "dG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25s" + + "eSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1m" + + "aWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJl" + + "IChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1w" + + "bCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQg" + + "dGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + + "IGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3Qg" + + "YSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0" + + "ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMv" + + "LCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90" + + "IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5" + + "bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBs" + + "b2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZv" + + "cm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9u" + + "IG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5l" + + "IGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJl" + + "LCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2Vy" + + "LCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQg" + + "bW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVk" + + "IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUg" + + "Y29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUg" + + "YW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVk" + + "IHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAg" + + "ICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEt" + + "c3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0" + + "ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMi" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVt" + + "cGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAi" + + "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5j" + + "aWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdh" + + "aXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRo" + + "ZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxh" + + "bmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + + "IHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "IlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkg" + + "dG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + + "IGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBm" + + "bGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNv" + + "bnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBs" + + "YW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGlu" + + "c3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0" + + "aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHBy" + + "b2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJ" + + "dCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1w" + + "bGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBp" + + "bmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBp" + + "bmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1j" + + "b250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1h" + + "bmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFu" + + "ZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIs" + + "CiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBv" + + "aW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlv" + + "biIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3Vy" + + "Y2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2ls" + + "bGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUs" + + "IHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyBy" + + "ZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMg" + + "YmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdl" + + "ZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVk" + + "IGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + + "dGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sg" + + "dG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhl" + + "IGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGlu" + + "IHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAg" + + "IlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5n" + + "IHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAog" + + "ICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxh" + + "dGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjog" + + "IkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFu" + + "ZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "dXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2ll" + + "cyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFt" + + "ZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNp" + + "ZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3Bh" + + "Y2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5n" + + "IG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVn" + + "LWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBp" + + "biBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFn" + + "bm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhl" + + "IHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMg" + + "b24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlz" + + "c3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQ" + + "dWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQ" + + "dWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2Vj" + + "cmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50" + + "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2Ug" + + "YWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQg" + + "cHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVt" + + "b3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUg" + + "YSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxh" + + "bmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUt" + + "cmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNv" + + "bmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRy" + + "b2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGlu" + + "IGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0" + + "aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMg" + + "cm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJ" + + "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5j" + + "bHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5k" + + "IE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1" + + "bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQt" + + "bWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + + "OyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNl" + + "IHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBn" + + "cnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5k" + + "IG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndv" + + "cmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0" + + "c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZv" + + "Y2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3Jw" + + "Y1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIs" + + "CiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMu" + + "bnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXIt" + + "dGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNz" + + "LmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUi" + + "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFu" + + "ZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJU" + + "aGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2Vy" + + "dmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0" + + "SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRo" + + "ZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQt" + + "bWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25s" + + "eSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFy" + + "ZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUg" + + "YW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxs" + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUg" + - "ZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVw" + - "ZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5" + - "IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRl" + - "bmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0" + - "ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZv" + - "ciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJh" + - "IHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBh" + - "bmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRl" + - "c2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQ" + - "dWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRp" + - "ZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlz" + - "c2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2lu" + - "Zy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2Vl" + - "IHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBm" + - "b3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQv" + - "b3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290" + - "IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjog" + - "IkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0Yg" + - "Y29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBh" + - "bmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdh" + - "dGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNm" + - "LWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRw" + - "b2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5k" + - "IE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBk" + - "aXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0" + - "IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMs" + - "IFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3Jl" + - "YXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNs" + - "dWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21w" + - "dXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lz" + - "dGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xs" + - "ZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2Yt" + - "Z2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VV" + - "UkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVS" + - "TCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3By" + - "b3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQ" + - "QyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5" + - "QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkg" + - "YW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkg" + - "c2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + - "ZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5" + - "IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VV" + - "UkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFs" + - "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUi" + - "LAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5j" + - "bHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMg" + - "Y3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBh" + - "bmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzEx" + - "LXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29u" + - "dHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3Ro" + - "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVy" + - "ZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRo" + - "ZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcg" + - "Zm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBs" + - "YW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRp" + - "b24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZl" + - "IGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24g" + - "YW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJz" + - "aGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1p" + - "c3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFj" + - "ZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92" + - "ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0" + - "aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0" + - "YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBu" + - "YW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJl" + - "ZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVz" + - "dGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0" + - "ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFz" + - "dCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1" + - "c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRl" + - "c3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBj" + - "b25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNs" + - "dXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAg" + - "ICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUs" + - "IGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + - "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQg" + - "YWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdo" + - "ZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwK" + - "ICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFt" + - "ZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNl" + - "IHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZp" + - "bGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJF" + - "Q09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVk" + - "IG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBj" + - "b21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhl" + - "IGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25z" + - "LCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01T" + - "IGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdh" + - "cm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5k" + - "IGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1j" + - "b25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBh" + - "bmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAg" + - "IlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVz" + - "dGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0" + - "aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRl" + - "bmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQg" + - "WUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFs" + - "dWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWlu" + - "ZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9i" + - "YWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQg" + - "Z2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5k" + - "IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBp" + - "bmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2" + - "YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55" + - "YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50" + - "IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBz" + - "cGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNz" + - "LCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBh" + - "cmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1" + - "ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0" + - "aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWly" + - "ZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1l" + - "bmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBm" + - "dW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2Rl" + - "IGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2" + - "ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmln" + - "dXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qg" + - "cm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXIt" + - "b2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlu" + - "a2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9y" + - "IG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3Rl" + - "ciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1" + - "bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2Vu" + - "dENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhl" + - "IHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0" + - "IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhl" + - "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxs" + - "YXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRo" + - "ZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVu" + - "YWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdl" + - "bnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRo" + - "ZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + - "IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0" + - "aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhl" + - "ciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBn" + - "YXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBp" + - "bmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0" + - "ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIg" + - "dHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNv" + - "bnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBw" + - "bGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVk" + - "ZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmll" + - "ZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUs" + - "IGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlv" + - "biI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGlu" + - "ZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFs" + - "c2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQg" + - "cmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNr" + - "aWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5v" + - "dCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5z" + - "dGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUg" + - "aGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRh" + - "bmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBd" + - "CiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhh" + - "bXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9z" + - "LgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVs" + - "dCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0" + - "eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0" + - "YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBo" + - "ZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxp" + - "bmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1j" + - "YXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291" + - "cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjog" + - "QWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJ" + - "biB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBz" + - "ZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAot" + - "IG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEu" + - "ZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQog" + - "IHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZh" + - "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAt" + - "IGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + - "ICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0" + - "czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgoj" + - "IyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFm" + - "dGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwg" + - "ICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0" + - "YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2Fu" + - "ZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0t" + - "CgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVs" + - "bCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkg" + - "ZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2lu" + - "ZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQg" + - "Zm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxt" + - "OgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTog" + - "bnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5" + - "OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3Ig" + - "aGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICck" + - "b2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlv" + - "IC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVh" + - "dGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + + "IlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9u" + + "IG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBw" + + "bGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZv" + + "cmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0" + + "ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90" + + "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVk" + + "IGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4g" + + "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1p" + + "c21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVs" + + "dCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQg" + + "ZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRl" + + "ZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFu" + + "ZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3Rl" + + "ciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0" + + "aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlv" + + "biB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhl" + + "biBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgs" + + "IHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0" + + "aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBI" + + "ZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdl" + + "dCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9u" + + "LCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5k" + + "IG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBl" + + "aXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJk" + + "b3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + + "c2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYg" + + "dHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQs" + + "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3Ro" + + "IHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBk" + + "ZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNl" + + "IGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFu" + + "IGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQg" + + "S1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0" + + "ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwK" + + "ICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZp" + + "eCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRo" + + "YXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90" + + "IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0" + + "aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3Ro" + + "IHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11" + + "cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQg" + + "c3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVt" + + "b3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWlu" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAi" + + "cXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0" + + "J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGlu" + + "IE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1" + + "ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290" + + "bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + + "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQg" + + "dGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVl" + + "cyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNl" + + "ZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwg" + + "LT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVk" + + "IHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5" + + "cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmlt" + + "YWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3Mi" + + "LAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJv" + + "cGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNl" + + "IHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1m" + + "dW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBl" + + "OiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + + "ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9u" + + "IHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVk" + + "IHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xl" + + "IHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5k" + + "IGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVu" + + "IG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fu" + + "b25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0" + + "aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGll" + + "ZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3" + + "YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVy" + + "Z2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3" + + "b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJh" + + "bnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + + "YW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRl" + + "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxv" + + "eW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3Qg" + + "dGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRl" + + "d2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5v" + + "ZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVz" + + "dCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNh" + + "bCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1B" + + "UEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29y" + + "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0" + + "cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBp" + + "biBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5l" + + "IEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0" + + "aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhp" + + "c3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1n" + + "YXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxs" + + "bS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVw" + + "IGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhh" + + "dCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1" + + "c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlk" + + "ZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJh" + + "c2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50" + + "IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZl" + + "cnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcI" + + "R1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3Jr" + + "ZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1w" + + "bGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJh" + + "IHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4s" + + "IGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBP" + + "T01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVs" + + "ZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + + "bXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1w" + + "L2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlk" + + "ZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1w" + + "bGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRp" + + "cmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + + "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + + "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + + "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + + "CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4" + + "IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + + "ICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzog" + + "VmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRp" + + "ZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0g" + + "cmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFt" + + "aSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVy" + + "IGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBs" + + "ZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoK" + + "RGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChg" + + "bnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVs" + + "bCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBg" + + "YHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJj" + + "ZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + + "CiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252" + + "Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNo" + + "YXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + + "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + + "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFj" + + "ZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5n" + + "Yy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIg" + + "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + + "cmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNl" + + "cnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAg" + + "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIg" + + "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGlt" + + "YWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lm" + + "aWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNh" + + "c3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBg" + + "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + + "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + + "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + + "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + + "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNy" + + "ZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + + "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2" + + "ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2Vw" + + "YXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9w" + + "ZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVt" + + "YC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVw" + + "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2Vydmlj" + + "ZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2Ug" + + "MSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFn" + + "ZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVs" + + "dC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAt" + + "byBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMi" + + "ICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1j" + + "cmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBg" + + "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50" + + "cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + + "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZj" + + "ci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwK" + + "CldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4K" + + "CiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVS" + + "X05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + + "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVw" + + "IGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVy" + + "ZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2Et" + + "Y2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNv" + + "bXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZv" + + "cmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxj" + + "b25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1y" + + "ZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1p" + + "c3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVy" + + "LgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUg" + + "dGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2Vy" + + "dmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5n" + + "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQK" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + + "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + + "YWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0" + + "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpg" + + "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBi" + + "b3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVh" + + "bnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBg" + + "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwg" + + "XAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNh" + + "c3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5k" + + "cyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxp" + + "dCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3Rh" + + "bGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBv" + + "aW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9h" + + "ZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3Rl" + + "cCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1n" + + "YXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + + "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBV" + + "cGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5g" + + "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0" + + "aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBp" + + "Ljxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJg" + + "LiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2Vy" + + "dmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQpt" + + "YXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVk" + + "IHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3Mt" + + "YmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1" + + "dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4g" + + "S2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCBy" + + "ZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNl" + + "ZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQg" + + "Y29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBg" + + "YmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWlu" + + "PiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1n" + + "YXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Et" + + "b3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1" + + "c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kg" + + "T25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBv" + + "biBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fz" + + "c2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVt" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVj" + + "aWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwg" + + "UmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1n" + + "cm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + + "Z3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0t" + + "cmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVl" + + "YCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + + "Y2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRy" + + "dWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + + "IHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + + "ZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRl" + + "ciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERl" + + "cGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8" + + "IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkg" + + "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMu" + + "dmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBO" + + "VkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2Ug" + + "YW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jl" + + "c3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55" + + "IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlg" + + "IGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1z" + + "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAI" + + "AAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1" + + "dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBm" + + "aXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hv" + + "b3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4g" + + "RG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUg" + + "dmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29u" + + "dHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "fAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUt" + + "cGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBw" + + "cm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + + "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwK" + + "ClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBu" + + "b3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBh" + + "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRo" + + "cyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFj" + + "a2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + + "CmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVu" + + "ZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0" + + "ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wt" + + "cGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNl" + + "dHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBh" + + "bmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBF" + + "S1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2Rv" + + "Y3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhl" + + "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + + "bGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3" + + "YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRT" + + "IHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBh" + + "ZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1h" + + "ZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhl" + + "IEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoK" + + "YGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + + "YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50" + + "czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAg" + + "bnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + + "ICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + + "Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9t" + + "YWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yu" + + "c3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRy" + + "b2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAg" + + "c2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + + "ICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0K" + + "ICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6" + + "IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAg" + + "ICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAg" + + "ICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RB" + + "cGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3Ru" + + "YW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAg" + + "ICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292" + + "ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3Bl" + + "cmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lz" + + "LjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwu" + + "PGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "Pjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+Igpg" + + "YGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29u" + + "dGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0" + + "ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + + "bmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFs" + + "bCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + + "bmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0" + + "ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBg" + + "TlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9n" + + "cnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDog" + + "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJh" + + "cGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3" + + "YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBm" + + "aWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01T" + + "X1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJs" + + "YDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhl" + + "YWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0" + + "ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxh" + + "bmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVn" + + "aXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9" + + "PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8v" + + "PGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + + "Y29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05G" + + "SUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAog" + + "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1" + + "YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5k" + + "IEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBk" + + "ZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUt" + + "cGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9t" + + "aXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0" + + "IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + + "IGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0" + + "ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + + "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVn" + + "aW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhl" + + "IGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoK" + + "CmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29u" + + "dHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8" + + "ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9s" + + "LXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1y" + + "ZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + + "ICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpg" + + "YGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21w" + + "dXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9i" + + "ZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1h" + + "dXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0" + + "ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29u" + + "dHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24g" + + "dGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + + "YXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2Ag" + + "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3Ig" + + "dXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAu" + + "IERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBG" + + "b3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + + "bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdh" + + "eSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + + "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3Ig" + + "LW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0" + + "ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFn" + + "ZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3Rl" + + "bQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUg" + + "cGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95" + + "IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVy" + + "Cm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBO" + + "YW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Uu" + + "IElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + + "YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhl" + + "bG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUg" + + "dW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + + "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + + "YW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + + "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBj" + + "bHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNo" + + "b3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVz" + + "dGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZv" + + "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4K" + + "CmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + + "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3Ro" + + "IGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBj" + + "b250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBh" + + "bWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMg" + + "aXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0" + + "aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkg" + + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + + "CiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0t" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMt" + + "dXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVy" + + "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + + "YGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3Rl" + + "ciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mg" + + "b25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBj" + + "b250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJl" + + "ZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBH" + + "ZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51" + + "aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBi" + + "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + + "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0t" + + "cGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + + "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1p" + + "Y21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + + "ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFj" + + "aCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBh" + + "bmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5l" + + "IG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAA" + + "EjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcg" + + "UmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Yg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpg" + + "YGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJl" + + "Y2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3Rs" + + "IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMg" + + "RGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1l" + + "cykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMj" + + "IEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAg" + + "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5k" + + "cmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZl" + + "bnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFn" + + "ZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENo" + + "ZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2Vj" + + "cmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRz" + + "IC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2Vj" + + "cmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0" + + "aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291" + + "bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1l" + + "c3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoK" + + "MS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNo" + + "CiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + + "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + + "dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAt" + + "LW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "a3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9l" + + "c24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBj" + + "b25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + + "LXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0" + + "cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNl" + + "KTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNy" + + "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNy" + + "ZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBz" + + "ZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVj" + + "dCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBB" + + "Z2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9y" + + "IG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNU" + + "QVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAg" + + "ICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQg" + + "Y29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9w" + + "ZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + + "dmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0" + + "bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJl" + + "Y3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBD" + + "aGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1u" + + "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhl" + + "cwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZv" + + "ciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8g" + + "bWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBz" + + "eW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBg" + + "YGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + + "YmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0" + + "ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0" + + "ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBv" + + "ZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6Cgog" + + "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXIt" + + "MCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0" + + "YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3Nm" + + "dWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywg" + + "YW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5n" + + "IG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNv" + + "bmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0" + + "X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywg" + + "c28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3Vu" + + "dCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZh" + + "dWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIg" + + "bGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRl" + + "ZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2Vg" + + "OyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRp" + + "c2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGlj" + + "IGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24g" + + "dXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJ" + + "biB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAg" + + "ICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2Nv" + + "dmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1u" + + "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAK" + + "CiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVy" + + "eSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAg" + + "YW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEv" + + "andrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkg" + + "d2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1" + + "ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhp" + + "cyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNz" + + "dWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENh" + + "c3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFU" + + "VVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAg" + + "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBw" + + "b2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRl" + + "IgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxl" + + "IHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4K" + + "CmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAg" + + "ICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAg" + + "IGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVz" + + "ZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQu" + + "IFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVu" + + "ZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMg" + + "ICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAg" + + "ICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNj" + + "aGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + + "ZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTog" + + "MTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5v" + + "ZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVu" + + "dHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3Rv" + + "ciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNm" + + "CiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNs" + + "YXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBg" + + "CgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAg" + + "YGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAi" + + "QWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4g" + + "RmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3Mg" + + "cmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3lu" + + "Y2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25z" + + "IHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2Ut" + + "bmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxl" + + "ZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJ" + + "ZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1l" + + "c3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBw" + + "dWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFw" + + "IEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMg" + + "Y2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMj" + + "IERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwg" + + "Z2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBt" + + "aW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52" + + "Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0" + + "ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEu" + + "ICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxl" + + "bnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVu" + + "Y29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIg" + + "ZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQg" + + "LWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIu" + + "ICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBz" + + "cGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBG" + + "aXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNl" + + "cyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kK" + + "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1u" + + "b3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUg" + + "bmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYm" + + "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlm" + + "IG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZp" + + "bmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFt" + + "ZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwoj" + + "IG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRl" + + "cm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBj" + + "b21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBo" + + "YXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNv" + + "dXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQg" + + "Q09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6" + + "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + + "RV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1td" + + "IHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4" + + "YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMj" + + "Ki99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5h" + + "bWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJz" + + "XCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBu" + + "YW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3Bl" + + "cmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05U" + + "RVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAn" + + "LnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + + "RV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMv" + + "ZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3Bl" + + "cmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhp" + + "c3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1v" + + "cGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3Np" + + "cyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2Vk" + + "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVu" + + "IG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJv" + + "bSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4K" + + "CklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRo" + + "ZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + + "ZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVw" + + "bG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1u" + + "IG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5" + + "IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFy" + + "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpi" + + "cm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwt" + + "c2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVu" + + "ZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmln" + + "dXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxh" + + "bmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMj" + + "IyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZv" + + "eS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScp" + + "CnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAt" + + "SCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBD" + + "aGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3Jl" + + "cCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwK" + + "ICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFu" + + "ZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGll" + + "bnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0" + + "CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0" + + "YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUg" + + "NF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9p" + + "bnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWlj" + + "ayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8" + + "IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1z" + + "eXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1z" + + "eXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNl" + + "LCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwg" + + "bGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJv" + + "eHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5" + + "IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAA" + + "AAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0" + + "dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + + "Z290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5n" + + "b3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2Vy" + + "dmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0t" + + "IGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVm" + + "YXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAg" + + "ICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBg" + + "LS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lz" + + "dHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + + "ICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2ll" + + "cy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAg" + + "YC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFu" + + "ZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwg" + + "ICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwg" + + "ICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVy" + + "cmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUg" + + "dGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBz" + + "ZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2" + + "YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmls" + + "ZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2Zp" + + "bGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBl" + + "bmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90" + + "ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVs" + + "bS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIg" + + "fCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFn" + + "ZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRy" + + "YSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lg" + + "IHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2Ag" + + "bGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + + "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + + "IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwg" + + "c2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2Yt" + + "YXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + + "aW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVs" + + "bS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52" + + "Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZj" + + "Zi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFs" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZj" + + "Zi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdh" + + "eSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + + "YWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkt" + + "a2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdh" + + "eS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNl" + + "cyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2Ug" + + "T0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZh" + + "bHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24g" + + "YGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2Ag" + + "aGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55" + + "YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0t" + + "LS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVh" + + "c2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVk" + + "IG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUu" + + "IFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDog" + + "KmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + + "Z290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFz" + + "ZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBg" + + "dmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRl" + + "J3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBs" + + "YXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + + "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + + "b3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6" + + "ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9" + + "fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxw" + + "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + + "YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fz" + + "c2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5n" + + "b3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0" + + "IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + + "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNz" + + "YW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + + "czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmls" + + "ZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRp" + + "dmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246" + + "IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZp" + + "Y2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlv" + + "dSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2lu" + + "Y2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVj" + + "ZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50" + + "cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoy" + + "LiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMK" + + "My4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3Ry" + + "dWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+" + + "LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJs" + + "b2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlh" + + "bWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9t" + + "IGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBh" + + "bmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91" + + "Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNz" + + "YW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBv" + + "c2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVy" + + "c2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9k" + + "ZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNs" + + "YXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2Fk" + + "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNv" + + "bmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBv" + + "ZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVu" + + "QmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmlt" + + "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMg" + + "KGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+" + + "LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3Rv" + + "cmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGlu" + + "Z3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJl" + + "Zm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAi" + + "TExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFw" + + "aS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVu" + + "IEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0" + + "byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMu" + + "bGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGgu" + + "CgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZp" + + "Z3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhl" + + "IHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0" + + "ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + + "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAg" + + "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + + "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwK" + + "ICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0" + + "cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBg" + + "CgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVz" + + "dCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRl" + + "eHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMg" + + "dGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQK" + + "YGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBh" + + "IFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2Vw" + + "YXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJl" + + "ZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3" + + "b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3" + + "b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUg" + + "cmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + + "Y29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0" + + "aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIu" + + "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3VzZXIvbGxtLXJlcXVlc3Qtcm91dGVyLWxv" + + "YWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVk" + + "IG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9y" + + "eSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBg" + + "YHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAg" + + "ICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lz" + + "dHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5O" + + "VkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQu" + + "ClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1" + + "dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29u" + + "ZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBk" + + "YXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0" + + "ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGlu" + + "c3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6Cgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBp" + + "bnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24g" + + "bXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3Qg" + + "cmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0" + + "YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2" + + "ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1l" + + "CnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250" + + "cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lv" + + "bi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0" + + "bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQg" + + "cG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRl" + + "cicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJh" + + "Y2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3Bl" + + "Yy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17" + + "ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJg" + + "IGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIg" + + "c2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3Vy" + + "YXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3Jj" + + "L2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9u" + + "Lm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9y" + + "IGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + + "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVz" + + "dC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgoj" + + "IERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1w" + + "cm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9" + + "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCLE1HdsCKgAAAioAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBv" + + "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2Fi" + + "bGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + + "aW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZD" + + "RiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJh" + + "Y3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9l" + + "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1" + + "ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMK" + + "dGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxl" + + "bnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0" + + "cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0" + + "ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5n" + + "IGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + + "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29y" + + "ZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + + "aG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52" + + "Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZp" + + "cm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3" + + "IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + + "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + + "cGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52" + + "Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBh" + + "bmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + + "CnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBW" + + "UE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAg" + + "cm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldo" + + "ZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1w" + + "bGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBv" + + "biBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMg" + + "YXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ug" + + "b25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUg" + + "YXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1w" + + "bGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQg" + + "b3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQg" + + "dG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMj" + + "IDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + + "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + + "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBc" + + "CiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3Jl" + + "YXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + "WT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVz" + @@ -2807,951 +3638,124 @@ const skillDataZipBase64 = "" + "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3Rl" + - "cCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBj" + - "aGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhh" + - "bXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25k" + - "aXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAg" + - "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + - "IC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1z" + - "ZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGlt" + - "YWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJl" + - "bmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhl" + - "IGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Vz" + - "LiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkg" + - "aW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpg" + - "bnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMg" + - "U3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3Vi" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQ" + - "YXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpB" + - "ZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwg" + - "YmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9y" + - "IG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1u" + - "by1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291" + - "bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFt" + - "ZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoK" + - "VmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + - "cCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFn" + - "ZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5k" + - "IFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNs" + - "ZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoK" + - "YGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kg" + - "XAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + - "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21w" + - "dXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRl" + - "eHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2Zh" + - "aWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdp" + - "c3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZy" + - "b20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rl" + - "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmly" + - "bWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4g" + - "LS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rl" + - "ci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAg" + - "LS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21w" + - "dXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNr" + - "CgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVz" + - "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVm" + - "b3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0" + - "ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBh" + - "biBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5h" + - "Z2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1l" + - "dGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkg" + - "cGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFu" + - "Y2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRl" + - "bGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBc" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4K" + - "YGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFt" + - "ZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlm" + - "eSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbykn" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBn" + - "cmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBC" + - "b3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0" + - "YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQj" + - "Y2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdh" + - "dGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5" + - "IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2lu" + - "dC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQURE" + - "Uj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + - "IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3Rh" + - "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMj" + - "IyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xv" + - "YmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5n" + - "ZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBz" + - "dWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdB" + - "VEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2Vl" + - "cCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJg" + - "IHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50" + - "IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0" + - "aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNl" + - "VVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBV" + - "UkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2Vk" + - "LiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUK" + - "aGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUg" + - "ZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNv" + - "bnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + - "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAog" + - "IC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0" + - "b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVz" + - "LmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxl" + - "IDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4g" + - "aXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVz" + - "dCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMK" + - "a3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3Nh" + - "bmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1" + - "c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwg" + - "U2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2Ut" + - "Z3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8" + - "IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlv" + - "bi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9w" + - "dGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5l" + - "bmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2th" + - "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5" + - "LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + - "aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1" + - "ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJl" + - "cXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdh" + - "dGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxl" + - "ZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdh" + - "dGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBh" + - "bmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlg" + - "IHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + - "YXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2Ut" + - "Z3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxl" + - "YXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlz" + - "c3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBp" + - "dCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAA" + - "fygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUA" + - "AQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFu" + - "ZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250" + - "cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBj" + - "bHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwg" + - "bGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRo" + - "ZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNv" + - "dXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8" + - "CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBh" + - "bmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1" + - "ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93" + - "IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5v" + - "dCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1v" + - "bm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4" + - "dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0" + - "ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5k" + - "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMg" + - "RmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoK" + - "Ci0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBm" + - "b3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5k" + - "IHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxs" + - "IHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFs" + - "dWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVd" + - "KGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4" + - "YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0" + - "ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRl" + - "cyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJs" + - "ZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhl" + - "IGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwK" + - "YDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21h" + - "aW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8g" + - "dGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29y" + - "a2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRv" + - "bWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdh" + - "eS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJl" + - "c3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21h" + - "aW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdh" + - "eS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48" + - "Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6" + - "Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBp" + - "OgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3" + - "YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3kt" + - "Z2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZv" + - "eS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAg" + - "IG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAg" + - "cm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0" + - "cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0K" + - "ICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAg" + - "ICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAg" + - "bmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBp" + - "c3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFs" + - "OgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDog" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3Zl" + - "cnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJp" + - "ZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRl" + - "d2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5" + - "LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2Fp" + - "bnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdo" + - "IGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcg" + - "cGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + - "c3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3Nl" + - "cnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tl" + - "eXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2Nh" + - "dGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIK" + - "YGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNj" + - "aGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3Mg" + - "YC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRl" + - "d2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZs" + - "YWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUg" + - "Y29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4g" + - "XAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNf" + - "VVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + - "LXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5W" + - "Q0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rl" + - "ci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1" + - "dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURD" + - "IGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0" + - "aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJv" + - "dGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBp" + - "dCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5" + - "IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1l" + - "ZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25m" + - "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1j" + - "b250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29u" + - "dHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1l" + - "PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApg" + - "YGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5l" + - "IGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + - "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwK" + - "ICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1" + - "ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVz" + - "dGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + - "eHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMK" + - "d2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2Vj" + - "cmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2Vz" + - "IG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1" + - "bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFu" + - "ZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52" + - "Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBs" + - "YW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2Vj" + - "cmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBs" + - "aWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAt" + - "biBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZj" + - "YS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUt" + - "cGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0n" + - "ey5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1u" + - "IG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZl" + - "cnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMg" + - "Y2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJl" + - "Zm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5" + - "IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + - "bG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZv" + - "ciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRl" + - "ZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJs" + - "ZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFu" + - "ZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1l" + - "c3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdl" + - "dHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4K" + - "CkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2" + - "YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08" + - "Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9" + - "PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4g" + - "Y2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJh" + - "dGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpg" + - "YGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBi" + - "ZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdp" + - "c3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250" + - "cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + - "IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklM" + - "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + - "PgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWly" + - "ZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xl" + - "YW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBr" + - "ZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBk" + - "b3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0" + - "aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFz" + - "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "XAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1p" + - "ZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBO" + - "YW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBp" + - "dCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNv" + - "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFz" + - "dCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRy" + - "b2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVm" + - "b3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnBy" + - "ZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + - "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + - "XAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUt" + - "cmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + - "cGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRv" + - "d25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21w" + - "dXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNv" + - "bnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQ" + - "SwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIj" + - "IERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBj" + - "b21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMg" + - "Q29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0" + - "bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3Vi" + - "ZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxp" + - "c3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVy" + - "ZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGlt" + - "ZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRp" + - "b25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + - "bWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0" + - "ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAg" + - "QUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAg" + - "NW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3Iu" + - "aW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpg" + - "YGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sg" + - "aWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0" + - "IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBp" + - "bWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+" + - "IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBT" + - "ZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFt" + - "ZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoK" + - "IyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQK" + - "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNy" + - "LWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNl" + - "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + - "WSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMg" + - "YnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVs" + - "bFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3Jl" + - "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFn" + - "ZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90" + - "YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2Vl" + - "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRp" + - "YWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUg" + - "d2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1" + - "Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYElu" + - "aXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAg" + - "IFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0" + - "dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lz" + - "CgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2Fp" + - "dGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBn" + - "ZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9i" + - "IHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBv" + - "ZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBv" + - "cGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJl" + - "Y3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBg" + - "YAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVp" + - "ciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIu" + - "ICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4g" + - "YGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVu" + - "YmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + - "IHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAg" + - "ICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAq" + - "Kk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFs" + - "IHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + - "YmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0" + - "LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + - "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21t" + - "b24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVz" + - "IGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1l" + - "dGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBr" + - "ZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3Mg" + - "bGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNl" + - "cnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZp" + - "Y2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhl" + - "IHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2Yg" + - "dGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFi" + - "bGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNj" + - "b3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91" + - "bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhl" + - "IG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBg" + - "YmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAg" + - "aXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRl" + - "bGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBz" + - "eW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2" + - "ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25m" + - "aWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4u" + - "L29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCBy" + - "ZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3Rl" + - "ciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMg" + - "bmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1h" + - "dGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01L" + - "aWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBS" + - "RUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09N" + - "S2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3Rs" + - "IGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMg" + - "Ikxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2" + - "aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhh" + - "bXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGlt" + - "aXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVz" + - "dHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGBy" + - "ZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3Jh" + - "cHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBT" + - "dHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFE" + - "WSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGlu" + - "ZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2" + - "ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + - "ZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUg" + - "YXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5Igoj" + - "IC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAt" + - "ICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipO" + - "b2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9u" + - "bWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMg" + - "fCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNr" + - "IHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2Vj" + - "bGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNh" + - "cGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8" + - "IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0g" + - "UmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3Qg" + - "LUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBo" + - "ZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsg" + - "KG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9y" + - "eSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJv" + - "eSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + - "ZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1l" + - "c3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMg" + - "UmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3Vu" + - "dCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0" + - "IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZh" + - "aWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0" + - "dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVz" + - "IGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + - "c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBh" + - "cHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9u" + - "IENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4g" + - "YHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZ" + - "YCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBW" + - "ZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5H" + - "JyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4" + - "CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhl" + - "IHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRp" + - "YWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNv" + - "dmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + - "IC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxs" + - "IHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51" + - "cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVw" + - "IGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVj" + - "dGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFj" + - "a2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFn" + - "YWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5l" + - "CnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQg" + - "Y3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBi" + - "YXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVt" + - "b3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRl" + - "eHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBq" + - "cSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUn" + - "IC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9Ijsg" + - "bmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2Zi" + - "YWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntc" + - "ImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVs" + - "ZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMg" + - "aW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRD" + - "T01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8" + - "IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRl" + - "eHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1l" + - "c3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVy" + - "ZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRl" + - "ciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVw" + - "bG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95" + - "bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgoj" + - "IyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFs" + - "bGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBm" + - "bG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlv" + - "biBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1w" + - "bGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3Ig" + - "dGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWws" + - "IGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAog" + - "IC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10" + - "YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZj" + - "ZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1" + - "cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9y" + - "YC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8g" + - "bm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0" + - "cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6" + - "IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdo" + - "IHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0" + - "cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVu" + - "ZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRl" + - "d2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNb" + - "MF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21h" + - "aW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9o" + - "ZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVw" + - "bG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZp" + - "Y2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhv" + - "c3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUg" + - "ZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUg" + - "b25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRp" + - "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNl" + - "ZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0" + - "ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1h" + - "cHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5h" + - "bWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0t" + - "LXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEg" + - "fAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0" + - "aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVl" + - "c3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWlu" + - "LWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVu" + - "dm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxt" + - "ZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRl" + - "bmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDIt" + - "Y29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBg" + - "LS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9w" + - "dGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAg" + - "ICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5h" + - "bWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2Vj" + - "cmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZh" + - "bHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAg" + - "ICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + - "ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEt" + - "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21w" + - "b25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0" + - "b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0t" + - "IGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmly" + - "b25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmly" + - "b25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBH" + - "byB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0" + - "YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhl" + - "IEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhl" + - "IENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wt" + - "cGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5k" + - "b2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoK" + - "IyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + - "c3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + - "IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVu" + - "YmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNl" + - "Y3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52" + - "Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAq" + - "ZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVw" + - "ZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBD" + - "aGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0t" + - "fC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNl" + - "cnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8" + - "IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8" + - "IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMt" + - "cHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFw" + - "aSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNl" + - "IHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8" + - "IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52" + - "Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxt" + - "LWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNl" + - "cnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1w" + - "cm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwg" + - "bnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpN" + - "b3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJl" + - "bGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3Rh" + - "bmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFy" + - "ZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5k" + - "IGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNl" + - "cnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExh" + - "YmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFi" + - "aWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxp" + - "dHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJv" + - "bm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNl" + - "CgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRl" + - "bmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRv" + - "IHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYg" + - "eW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0" + - "aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVk" + - "ZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUt" + - "dmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZp" + - "bGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAg" + - "ZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVs" + - "ZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAg" + - "ICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9" + - "fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoK" + - "LSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVp" + - "cmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRl" + - "CiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAg" + - "ICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJp" + - "dGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxt" + - "ZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBp" + - "CiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1w" + - "bGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQg" + - "cmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVl" + - "cyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMg" + - "VmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBg" + - "ZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52" + - "aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50" + - "IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNz" + - "aW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZh" + - "bHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBg" + - "dmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hh" + - "dCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxg" + - "IHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNp" + - "ZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBw" + - "YXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5k" + - "cmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVn" + - "aXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNh" + - "c3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYg" + - "YGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1" + - "bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBg" + - "bmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipg" + - "Ci0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVg" + - "Ci0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVk" + - "KQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5i" + - "YW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJh" + - "by5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2Rl" + - "IHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgot" + - "IGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4u" + - "bm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJp" + - "bGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBM" + - "TE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5j" + - "dGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAg" + - "YW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5g" + - "IHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJl" + - "cyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24g" + - "aXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5h" + - "YmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRk" + - "IHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBh" + - "cHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0" + - "cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAg" + - "ICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0" + - "Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2" + - "aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJn" + - "ZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBu" + - "YW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3Vy" + - "ZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5n" + - "bGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2Vy" + - "dmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFj" + - "awpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFp" + - "bnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAg" + - "b25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5z" + - "cG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UK" + - "dGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0" + - "aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMg" + - "cGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVj" + - "dGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9h" + - "ZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcg" + - "bWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRw" + - "czovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3MvdXNlci9sbG0tcmVxdWVz" + - "dC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2Ug" + - "aXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFu" + - "ZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBs" + - "aWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAg" + - "ICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWlt" + - "YWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5" + - "IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMg" + - "ZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5" + - "IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZp" + - "ZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFw" + - "cGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBl" + - "dmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + - "IGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdl" + - "Q29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + - "bGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGlu" + - "c3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxs" + - "YXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2" + - "ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVk" + - "IHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lp" + - "bmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0" + - "ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5j" + - "dGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2Vy" + - "IHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0" + - "ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgpr" + - "dWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJl" + - "cXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3Rs" + - "IC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0n" + - "e3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19" + - "ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBg" + - "bGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9h" + - "ZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rhcmdh" + - "dGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + - "b2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNv" + - "bmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMg" + - "cmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1l" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + - "ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1" + - "bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "dGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRt" + - "aW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2Vs" + - "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIsTUd2wIqAAACKgAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNG" + - "IFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4g" + - "SXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + - "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUK" + - "CkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5k" + - "IHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUg" + - "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlg" + - "IHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhh" + - "dCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZp" + - "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAg" + - "IGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNl" + - "Y3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5" + - "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "YXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUu" + - "Zy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwg" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2Vy" + - "dmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9j" + - "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVm" + - "YXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMK" + - "YG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoK" + - "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVh" + - "c2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVt" + - "cGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52" + - "Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRl" + - "IG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + - "IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0Yg" + - "VUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9z" + - "ZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVk" + - "IG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhl" + - "IGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBP" + - "dmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5" + - "IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVs" + - "bFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBj" + - "cmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4g" + - "RG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29u" + - "dHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50" + - "bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5l" + - "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21t" + - "ZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2" + - "ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUK" + - "aGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUt" + - "bmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAK" + - "CiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + - "cmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpg" + - "YGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAt" + - "LWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5" + - "IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3Yx" + - "CmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxs" + - "c2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFk" + - "ZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToK" + - "ICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9k" + - "CiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAg" + - "IC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAg" + - "ICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0i" + - "CiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2Vy" + - "IgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1l" + - "dGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRp" + - "YS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVj" + - "OgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3It" + - "Y3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAK" + - "CiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxl" + - "Y3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1w" + - "bGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0" + - "aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1Q" + - "bGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9u" + - "IHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1v" + - "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQg" + - "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgog" + - "IGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQg" + - "YW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1p" + - "cnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVy" + - "IG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpz" + - "ZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0" + - "aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + - "cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4" + - "cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5v" + - "dGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5u" + - "b3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScK" + - "IyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAt" + - "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJT" + - "dWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBj" + - "aGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1u" + - "IG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0g" + - "KipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6" + - "b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNh" + - "biBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdp" + - "c3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVu" + - "dGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFu" + - "YWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcK" + - "CiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5" + - "CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiog" + - "dGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3Jl" + - "YXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRl" + - "IHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29u" + - "dHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1" + - "bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1p" + - "bWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcg" + - "c2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0" + - "aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAt" + - "LWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + - "cGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEATyM55UoQAABKEAAAEgAJ" + - "AAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "AP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAG3jewUjDAAAIwwAADMACQAAAAAAAAAA" + - "AAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAM1+AABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAlYsAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAAImQAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAF7MAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAACd2AAAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAM/nAABkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAAQRABAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAHkYAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2Qh" + - "IwAAISMAADAACQAAAAAAAAAAAAAAwjoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkA" + - "AAAAAAAAAAAAAEpeAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1j" + - "b2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCZ0OJQFy4AABcuAAAtAAkAAAAAAAAAAAAA" + - "AIhlAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAADlAEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAOWlAQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBH" + - "VWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAJEIAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAA" + - "fygAAC8ACQAAAAAAAAAAAAAARl8CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAA" + - "AAAAAAAAK4gCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpw" + - "O7UwAAC1MAAAOwAJAAAAAAAAAAAAAADAuAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsTUd" + - "2wIqAAACKgAARAAJAAAAAAAAAAAAAADn6QIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAABkFAMAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAkxwDAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsF" + - "BgAAAAAXABcArwkAAAgzAwAAAA==" + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9u" + + "LU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNl" + + "cm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENs" + + "dXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVz" + + "dGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3Bl" + + "YzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxs" + + "c2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSBy" + + "ZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAg" + + "ICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5" + + "cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0g" + + "Im5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAg" + + "ICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0" + + "YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAg" + + "ICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdl" + + "cHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAg" + + "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBc" + + "CiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5z" + + "dGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJv" + + "bC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZp" + + "bGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2Vj" + + "cmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0" + + "CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + + "cHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + + "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9" + + "bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXIt" + + "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAog" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxT" + + "ZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNl" + + "Y3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29t" + + "cHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5z" + + "dGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRy" + + "b2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + + "CiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3si" + + "bmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52" + + "Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6" + + "IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScu" + + "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + + "IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0" + + "b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3Rl" + + "bQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3" + + "aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFp" + + "bmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9t" + + "IEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBO" + + "byBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVy" + + "cyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRp" + + "dHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBz" + + "dGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVy" + + "bm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kg" + + "aXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxu" + + "YW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90" + + "IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoK" + + "IyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2Vj" + + "cmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1l" + + "CgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBl" + + "eGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0" + + "YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQ" + + "SwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAAICbAFKEAAAShAAABIACQAAAAAAAAAAAAAA" + + "AAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNh" + + "AAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQBn/RgP/AwAAPwMAAAzAAkAAAAAAAAAAAAAAEByAABkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAACmfwAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAG6MAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA4ZkAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAPCzAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKS" + + "LCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAdtkAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "QnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAACo6AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq" + + "4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAABoRAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odj" + + "VuQhAADkIQAALgAJAAAAAAAAAAAAAABSGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkA" + + "AAAAAAAAAAAAAJs7AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFu" + + "ZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAc6daZNUGAADVBgAAMgAJAAAAAAAAAAAAAAAj" + + "XwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAmdDiUBcuAAAXLgAALQAJAAAAAAAAAAAAAABhZgEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAA3JQBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAC+pgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAA" + + "NAAJAAAAAAAAAAAAAABqCQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + + "bHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAA" + + "AAAAAAAAAB9gAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAASJAgBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsA" + + "CQAAAAAAAAAAAAAAmbkCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALE1HdsCKgAAAioAAEQA" + + "CQAAAAAAAAAAAAAAwOoCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5" + + "BwAAuQcAAD8ACQAAAAAAAAAAAAAAPRUDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBL" + + "QjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAGwdAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8J" + + "AADhMwMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 9da51e617c..5da8db5fd6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -695,7 +695,12 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp HumanLabel: "checking for stale NVCF namespaces…", Run: func(ctx context.Context) CheckResult { r := CheckResult{ID: id, Severity: "error"} - stale, err := prober(ctx, kubeContext, namespaces) + // Resolve the context before probing, then probe that exact name. + // Resolving afterwards leaves a window where the current-context + // changes in between, which would have the hints delete namespaces + // in a cluster other than the one that was read. + probedContext := effectiveKubeContext(kubeContext) + stale, err := prober(ctx, probedContext, namespaces) if err != nil { r.Severity = "warning" r.Message = "stale namespace probe failed: " + err.Error() @@ -718,13 +723,13 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp emptyShell = append(emptyShell, ns.Name) } } - // Every hint is pinned to the context that was actually probed. + // Every hint names the context that was actually probed, above. // In split mode the two callers pass different contexts, and with - // no context flag the probe followed the current-context at the - // time it ran. Either way the name is resolved and written into - // the command, because these hints delete namespaces and the - // current-context can change between reading this and pasting it. - kctl := "kubectl" + kubectlContextArg(effectiveKubeContext(kubeContext)) + // no context flag the probe followed the current-context. Either + // way the name goes into the command, because these hints delete + // namespaces and the current-context can change between reading + // the output and pasting it. + kctl := "kubectl" + kubectlContextArg(probedContext) var hints []string if len(terminating) > 0 { // spec.finalizers is writable only through the /finalize diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index e0271db531..5a852b3867 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -364,3 +364,18 @@ func TestStaleNamespaceCheck_HintsOmitUnknownContext(t *testing.T) { r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) assert.Contains(t, r.Message, "kubectl delete namespace nvcf") } + +// The probe must run against the same context the hints name. Resolving the +// current-context after probing leaves a window where it changes in between, +// which would have the delete hints target a cluster that was never read. +func TestStaleNamespaceCheck_ProbesTheResolvedContext(t *testing.T) { + pinCurrentKubeContext(t, "k3d-local") + var probed string + prober := func(_ context.Context, kctx string, _ []string) ([]StaleNamespace, error) { + probed = kctx + return nil, nil + } + staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) + assert.Equal(t, "k3d-local", probed, + "the probe must target the resolved context, not whatever is current when it runs") +} From 13ddd00e144ff72c4e21f909ba1f2ed00014d4f1 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 22 Sep 2026 15:41:04 +0530 Subject: [PATCH 031/127] fix(nvcf-cli): stop leaking the NGC key to mirrored registries and restore --pre coverage in split mode --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 69 ++++++++++++--- .../nvcf-cli/cmd/self_hosted_check_test.go | 58 ++++++++++--- src/clis/nvcf-cli/go.mod | 4 +- .../internal/selfhosted/clustervalidator.go | 54 +++++++++--- .../selfhosted/clustervalidator_test.go | 83 ++++++++++++++++++- .../selfhosted/orchestrator_errors_test.go | 4 +- .../nvcf-cli/internal/selfhosted/preflight.go | 60 ++++++++++++-- .../internal/selfhosted/preflight_test.go | 32 +++++++ .../internal/selfhosted/pullsecret.go | 18 +++- .../internal/selfhosted/pullsecret_test.go | 47 +++++++++-- .../internal/selfhosted/registry_cred.go | 25 ++++-- .../internal/selfhosted/registry_cred_test.go | 50 ++++++++++- .../selfhosted/stale_namespace_test.go | 4 +- .../internal/selfhosted/validatortag.go | 6 +- .../internal/selfhosted/validatortag_test.go | 2 +- 15 files changed, 446 insertions(+), 70 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index c87220f74e..f279e3bb91 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -143,8 +143,12 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // one-shot stderr note up-front explaining why no validator row // appears in the output. Empty == not configured anywhere. // One image covers both roles (VALIDATOR_ROLE selects the check set). + // *IsVisited, matching the dispatch below. --pre in ModeSplit visits both + // clusters but targets neither role, so gating image resolution on + // *IsTargeted left the validator unresolved and both probes nil, with no + // note explaining why. anyValidatorIsTargeted := !localOnly && !skipClusterValidation && - (computePlaneIsTargeted(mode) || controlPlaneIsTargeted(mode)) + (computePlaneIsVisited(mode) || controlPlaneIsVisited(mode)) clusterValidatorImage := "" if anyValidatorIsTargeted { if img, ok := resolveClusterValidatorImage(c.Context()); ok { @@ -185,7 +189,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // validator row" with "validator silently dropped". Print at most one // reason; --skip-cluster-validation takes precedence over missing // config since it's the explicit operator choice. - if !localOnly && (computePlaneIsTargeted(mode) || controlPlaneIsTargeted(mode)) { + if !localOnly && (computePlaneIsVisited(mode) || controlPlaneIsVisited(mode)) { switch { case skipClusterValidation: fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (--skip-cluster-validation)") @@ -320,9 +324,15 @@ func resolveStackValuesFile() string { } } - env := os.Getenv("HELMFILE_ENV") + // selfHostedEnv (--env, default "local"), not HELMFILE_ENV: that variable + // is only ever injected into the helmfile subprocess, so reading it here + // always returned "" and fell through to base.yaml. An operator whose + // local.yaml points global.image.registry at their mirror would get + // base.yaml's nvcr.io, and the preflight would credential-check a registry + // the install never pulls from. + env := strings.TrimSpace(selfHostedEnv) if env == "" { - env = "default" + env = "local" } names := []string{env + ".yaml", "base.yaml"} @@ -494,7 +504,9 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin skipInotify := checkSkipInotifyCheck || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") != "" var inotifyProber selfhosted.NodeInotifyProber - if computePlaneIsTargeted(mode) && !skipInotify { + // Visited, not targeted: the inotify limit is exactly what --pre exists to + // catch before NVCA bootstrap, so it must run for --pre in ModeSplit too. + if computePlaneIsVisited(mode) && !skipInotify { inotifyProber = newInotifyProberForSelfHosted() } @@ -509,7 +521,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // still creates a ServiceAccount, cluster-wide ClusterRole/CRB, pull secret // and validator Job in the compute cluster. var clusterValidator selfhosted.ClusterValidator - if computePlaneIsTargeted(mode) && clusterValidatorImage != "" { + if computePlaneIsVisited(mode) && clusterValidatorImage != "" { clusterValidator = newClusterValidatorForSelfHosted() } @@ -526,7 +538,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // clusterValidator is nil and keying off it would drop the control-plane // validator check from the run entirely. var cpClusterValidator selfhosted.ClusterValidator - if controlPlaneIsTargeted(mode) && clusterValidatorImage != "" { + if controlPlaneIsVisited(mode) && clusterValidatorImage != "" { cpClusterValidator = newClusterValidatorForSelfHosted() } @@ -588,19 +600,30 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin _ = eg.Wait() return append(cpResults, gpuResults...) - default: // ModeSingle — one cluster; run only the roles the flags target. + default: // ModeSingle - one cluster; run only the roles the flags target. var results []selfhosted.CheckResult // The stale-namespace probe goes to exactly one role. Both roles share // the cluster here, so handing it to both emits two check_completed // events with the same ID and loads the kubeconfig twice, which means a // second exec-credential-plugin prompt. + // + // The two roles probe disjoint namespace lists, so the skipped role's + // namespaces are merged into the surviving probe rather than dropped. + // Without that, a kai-scheduler or nvca-operator namespace wedged + // Terminating by a failed teardown reports "no stale NVCF namespaces + // detected" and the next install fails into it. staleForControlPlane := staleNSProber staleForComputePlane := staleNSProber + var cpExtraNamespaces, gpuExtraNamespaces []string if runControlPlane { staleForComputePlane = nil + cpExtraNamespaces = selfhosted.ComputePlaneStaleNamespaces( + localStackDir(selfHostedComputePlaneStack)) } else { staleForControlPlane = nil + gpuExtraNamespaces = selfhosted.ControlPlaneStaleNamespaces( + localStackDir(selfHostedControlPlaneStack)) } if runControlPlane { @@ -613,6 +636,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorRegistries: registries, StaleNamespaceProber: staleForControlPlane, StackDir: localStackDir(selfHostedControlPlaneStack), + ExtraStaleNamespaces: cpExtraNamespaces, } results = append(results, selfhosted.RunPreflightForRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) @@ -627,6 +651,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), + ExtraStaleNamespaces: gpuExtraNamespaces, } results = append(results, selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) @@ -652,17 +677,29 @@ func resolveClusterValidatorImage(ctx context.Context) (string, bool) { // emitCheckFinal emits a Final event with check-mode verdict fields derived // from the result slice. Called once per run (or once per wait-loop exit). func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []selfhosted.CheckResult) { - var passed, failed int + // Success and FailedCount must agree with the process exit code, which is + // driven by anyFailed. Counting every non-pass as a failure made a + // warning-severity result emit success:false / verdict:failed while the + // process exited 0, so a CI gate on final.success broke for anyone whose + // registry credentials live in a Docker credential helper. "warnings" is + // already part of the documented Verdict vocabulary; it was never emitted. + var passed, failed, warned int for _, r := range results { - if r.Passed { + switch { + case r.Passed: passed++ - } else { + case isBlockingFailure(r): failed++ + default: + warned++ } } verdict := "ok" - if failed > 0 { + switch { + case failed > 0: verdict = "failed" + case warned > 0: + verdict = "warnings" } _ = sink.Emit(ctx, progress.Final{ Success: failed == 0, @@ -675,9 +712,15 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self // anyFailed returns true if any check failed at error severity. Warnings do // not trigger non-zero exit per spec §6.3. +// isBlockingFailure is the single definition of "this fails the run". Both the +// exit code and the JSON verdict derive from it, so they cannot disagree. +func isBlockingFailure(r selfhosted.CheckResult) bool { + return !r.Passed && r.Severity == selfhosted.SeverityError +} + func anyFailed(results []selfhosted.CheckResult) bool { for _, r := range results { - if !r.Passed && r.Severity == "error" { + if isBlockingFailure(r) { return true } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index cca9e83dd9..f2f661d1f6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -30,6 +30,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "nvcf-cli/internal/selfhosted" "nvcf-cli/internal/selfhosted/kubectx" "nvcf-cli/internal/selfhosted/progress" ) @@ -368,8 +369,8 @@ func TestComputePlaneIsTargeted(t *testing.T) { {"--compute-plane split", false, true, false, kubectx.ModeSplit, true}, {"--all single", false, false, true, kubectx.ModeSingle, true}, {"--all split", false, false, true, kubectx.ModeSplit, true}, - {"--pre single — implicit compute plane", true, false, false, kubectx.ModeSingle, true}, - {"--pre split — must not target compute plane", true, false, false, kubectx.ModeSplit, false}, + {"--pre single - implicit compute plane", true, false, false, kubectx.ModeSingle, true}, + {"--pre split - must not target compute plane", true, false, false, kubectx.ModeSplit, false}, {"--control-plane only", false, false, false, kubectx.ModeSingle, false}, {"no relevant flag", false, false, false, kubectx.ModeSingle, false}, } @@ -513,11 +514,11 @@ func TestCheck_ValidatorSkipNoteAppearsOnComputePlane(t *testing.T) { "expected skip note when compute plane is targeted and --skip-cluster-validation is set") } -// TestCheck_ValidatorSkipNoteAbsentForPreInSplitMode verifies that the -// "cluster-validator skipped" note does NOT appear when --pre is used in -// split mode, because the compute plane is not explicitly targeted and -// ModeSplit + --pre does not implicitly make either context the compute plane. -func TestCheck_ValidatorSkipNoteAbsentForPreInSplitMode(t *testing.T) { +// --pre in ModeSplit visits both clusters, so when the validator is skipped the +// operator must be told why. This previously asserted silence, which is the +// "no validator row vs validator silently dropped" confusion the note exists +// to prevent. +func TestCheck_ValidatorSkipNotePresentForPreInSplitMode(t *testing.T) { t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -539,13 +540,10 @@ func TestCheck_ValidatorSkipNoteAbsentForPreInSplitMode(t *testing.T) { }) _ = rootCmd.Execute() - assert.NotContains(t, stderr.String(), "cluster-validator skipped", - "skip note must not appear for --pre in split mode (compute plane not targeted)") + assert.Contains(t, stderr.String(), "cluster-validator skipped", + "--pre in split mode visits both clusters, so an explicit skip must be explained") } -// parseJSONLLines splits s into non-empty lines, skips any non-JSON lines -// (e.g. cobra error messages written to stderr), and unmarshals each JSON line -// as an object. Returns them in order. func parseJSONLLines(t *testing.T, s string) []map[string]any { t.Helper() var out []map[string]any @@ -676,3 +674,39 @@ func TestCheck_HostLocalChecksRunOnce(t *testing.T) { assert.Equal(t, 1, n, "check %s emitted %d times", id, n) } } + +// The JSON verdict and the exit code must derive from the same predicate. A +// warning-severity result previously emitted success:false / verdict:failed +// while the process exited 0, so a CI gate on final.success broke for every +// user whose registry credentials live in a Docker credential helper. +func TestEmitCheckFinal_WarningIsNotAFailure(t *testing.T) { + results := []selfhosted.CheckResult{ + {ID: "a", Passed: true, Severity: selfhosted.SeverityInfo}, + {ID: "b", Passed: false, Severity: selfhosted.SeverityWarning}, + } + assert.False(t, anyFailed(results), "a warning must not set the exit code") + + var buf bytes.Buffer + sink := progress.NewJSONLRenderer(&buf) + emitCheckFinal(context.Background(), sink, results) + + line := buf.String() + assert.Contains(t, line, `"verdict":"warnings"`) + assert.Contains(t, line, `"success":true`, + "success must agree with the exit code") + assert.Contains(t, line, `"failedCount":0`) +} + +func TestEmitCheckFinal_ErrorIsAFailure(t *testing.T) { + results := []selfhosted.CheckResult{ + {ID: "a", Passed: true, Severity: selfhosted.SeverityInfo}, + {ID: "b", Passed: false, Severity: selfhosted.SeverityError}, + } + assert.True(t, anyFailed(results)) + + var buf bytes.Buffer + sink := progress.NewJSONLRenderer(&buf) + emitCheckFinal(context.Background(), sink, results) + assert.Contains(t, buf.String(), `"verdict":"failed"`) + assert.Contains(t, buf.String(), `"success":false`) +} diff --git a/src/clis/nvcf-cli/go.mod b/src/clis/nvcf-cli/go.mod index 9a4c8d3d83..19cc5ea3ba 100644 --- a/src/clis/nvcf-cli/go.mod +++ b/src/clis/nvcf-cli/go.mod @@ -11,6 +11,7 @@ require ( github.com/charmbracelet/lipgloss v1.0.0 github.com/muesli/termenv v0.15.2 github.com/spf13/cobra v1.9.1 + github.com/spf13/pflag v1.0.6 github.com/spf13/viper v1.18.2 github.com/stretchr/testify v1.10.0 golang.org/x/oauth2 v0.27.0 @@ -23,6 +24,7 @@ require ( k8s.io/apiextensions-apiserver v0.34.1 k8s.io/apimachinery v0.34.1 k8s.io/client-go v0.34.1 + sigs.k8s.io/yaml v1.6.0 ) require ( @@ -68,7 +70,6 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect - github.com/spf13/pflag v1.0.6 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/x448/float16 v0.8.4 // indirect go.uber.org/multierr v1.11.0 // indirect @@ -89,5 +90,4 @@ require ( sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect - sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index f90b53a5cf..c31b66ec8c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -146,8 +146,12 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // under a pod that is still retrying its pull, which the kubelet then // reports as FailedToRetrieveImagePullSecret. Operator-supplied secrets via // the flag aren't labeled by us and are skipped. + // --no-cleanup is honoured here as it is for the RBAC below: an operator + // who keeps the Job for debugging and then re-runs the preserved pod would + // otherwise hit FailedToRetrieveImagePullSecret, the exact symptom the + // per-role secret scoping exists to prevent. defer func() { - if !podMayBeRunning { + if !noCleanup && !podMayBeRunning { sweepManagedPullSecrets(context.Background(), client, role) } }() @@ -159,25 +163,38 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image if err != nil { return ClusterValidatorResult{Err: err} } - if err := ensureClusterValidatorRBAC(vctx, client, role, runID); err != nil { - return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} - } - // Remove the ClusterRole and ClusterRoleBinding to minimize the window in - // which the elevated SA exists. When --no-cleanup is set the operator - // expects to inspect the Job, so the RBAC stays either way. + // Register the cleanup before the bootstrap, not after. ensureClusterValidatorRBAC + // creates three objects in sequence and returns on the first failure, so a + // kubeconfig that can create a ServiceAccount but not a cluster-scoped + // ClusterRole would otherwise abandon the ServiceAccount on every attempt. + // The names are per-run now, so nothing self-heals by reuse: under --wait + // that leaks one object per poll. The sweep is name-scoped and + // label-guarded, so running it when nothing was created is a no-op. defer func() { if !noCleanup && !podMayBeRunning { sweepClusterValidatorRBAC(context.Background(), client, role, runID) } }() + if err := ensureClusterValidatorRBAC(vctx, client, role, runID); err != nil { + return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} + } // For the control-plane role, create a ConfigMap with reachability // endpoints and enforcement config so the validator runs its configurable // checks. Best-effort: a failure here is logged but does not abort the - // run — the validator gracefully skips configurable checks when the + // run - the validator gracefully skips configurable checks when the // ConfigMap is absent. var configNote string if role == clusterValidatorControlPlaneRole { + // The ConfigMap is the one object this run creates that had no cleanup + // path, so it was left in the cluster forever. Same gating as the + // other sweeps: keep it when the pod may still read it, or when the + // operator asked to keep the run's artifacts. + defer func() { + if !noCleanup && !podMayBeRunning { + sweepClusterValidatorConfig(context.Background(), client) + } + }() if err := ensureClusterValidatorConfig(vctx, client, registries); err != nil { // Non-fatal: continue without the ConfigMap; the validator skips // configurable reachability and enforcement checks silently unless @@ -187,7 +204,12 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) - sweepPriorClusterValidatorJobs(vctx, client, role) + // Skipped under --no-cleanup: this runs before the new Job is created, so + // otherwise the next same-role run destroys the Job the operator asked to + // keep. The singleton guarantee is worth less than the artifact they kept. + if !noCleanup { + sweepPriorClusterValidatorJobs(vctx, client, role) + } jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) if _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( @@ -617,7 +639,7 @@ func parseRegistryHostPort(s string) (host string, port int) { } h, p, err := net.SplitHostPort(s) if err != nil { - // No port present (e.g. "nvcr.io") — return the input as-is. + // No port present (e.g. "nvcr.io") - return the input as-is. return s, 443 } if p == "" { @@ -826,3 +848,15 @@ func kubectlLogsHint(kubeContext, jobName string) string { return fmt.Sprintf("kubectl%s logs -n %s job/%s --tail=-1", kubectlContextArg(kubeContext), clusterValidatorNamespace, jobName) } + +// sweepClusterValidatorConfig removes the network-checks ConfigMap this run +// created. Only ours: the name is a constant an operator could also be using, +// so the managed labels decide. Errors are swallowed, as with the other sweeps. +func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interface) { + cms := client.CoreV1().ConfigMaps(clusterValidatorNamespace) + cm, err := cms.Get(ctx, clusterValidatorConfigName, metav1.GetOptions{}) + if err != nil || !hasValidatorManagedLabels(cm.Labels) { + return + } + _ = cms.Delete(ctx, clusterValidatorConfigName, deleteExactly(cm)) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 3bcc2b9d0d..b04fb3a11f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -122,6 +122,26 @@ func TestClusterValidatorCheck_OrchestratorErrorStaysWarning(t *testing.T) { assert.Contains(t, r.Message, "cluster-validator did not complete") } +// driveJobToSuccess wires the reactors that make a created Job reach a +// Succeeded terminal state, mirroring TestRunClusterValidator_HappyPath. +func driveJobToSuccess(client *fake.Clientset) { + var jobName atomic.Value + jobName.Store("") + client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { + job := action.(ktesting.CreateAction).GetObject().(*batchv1.Job) + jobName.Store(job.Name) + return false, nil, nil + }) + client.PrependReactor("get", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { + name := jobName.Load().(string) + if name == "" { + return false, nil, nil + } + return jobSucceededReactor(name)(action) + }) + client.PrependReactor("list", "pods", podListReactor("")) +} + func TestRunClusterValidator_HappyPath(t *testing.T) { client := fake.NewSimpleClientset() // Capture the Job name the runner picks, then drive Get/List reactors to @@ -624,7 +644,7 @@ func TestBuildControlPlaneValidatorConfig_WithExtras(t *testing.T) { } func TestBuildControlPlaneValidatorConfig_InvalidRegistrySkipped(t *testing.T) { - // A blank entry is parsed as host="" → skipped; only the valid entry appears. + // A blank entry is parsed as host="" -> skipped; only the valid entry appears. got := buildControlPlaneValidatorConfig([]string{" ", "valid.registry.internal:5000"}) assert.Contains(t, got, "valid.registry.internal", "valid registry must appear") // The blank entry must not add an empty host: line. @@ -639,9 +659,9 @@ func TestParseRegistryHostPort(t *testing.T) { }{ {"nvcr.io:443", "nvcr.io", 443}, {"harbor.company.internal:5000", "harbor.company.internal", 5000}, - {"registry.example.com", "registry.example.com", 443}, // no port → 443 - {"", "", 0}, // empty → skip - {" ", "", 0}, // blank → skip + {"registry.example.com", "registry.example.com", 443}, // no port -> 443 + {"", "", 0}, // empty -> skip + {" ", "", 0}, // blank -> skip // IPv6: net.SplitHostPort handles bracketed literals correctly. {"[::1]:5000", "::1", 5000}, {"[2001:db8::1]:443", "2001:db8::1", 443}, @@ -830,3 +850,58 @@ func TestSweepPriorClusterValidatorJobs_RequiresGeneratedName(t *testing.T) { _, err = jobs.Get(ctx, clusterValidatorName+"-9999999999", metav1.GetOptions{}) assert.NoError(t, err, "the other role's Job must survive") } + +// The network-checks ConfigMap was the one object a run created with no +// cleanup path, so it accumulated in the cluster forever. +func TestSweepClusterValidatorConfig_DeletesOwnAndSparesOperators(t *testing.T) { + managed := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigName, Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + }} + client := fake.NewSimpleClientset(managed) + sweepClusterValidatorConfig(context.Background(), client) + _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), clusterValidatorConfigName, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "our own ConfigMap must be reclaimed") + + // Same name, operator-owned: the name is a constant they could also use. + operator := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigName, Namespace: clusterValidatorNamespace, + Labels: map[string]string{"owner": "operator"}, + }} + client2 := fake.NewSimpleClientset(operator) + sweepClusterValidatorConfig(context.Background(), client2) + _, err = client2.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), clusterValidatorConfigName, metav1.GetOptions{}) + assert.NoError(t, err, "an unmanaged ConfigMap with the same name must survive") +} + +// --no-cleanup must preserve the whole run, not just the Job: an operator who +// keeps the Job and re-runs the pod needs its pull secret to still exist. +func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { + prior := &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorName + "-earlier", Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), + }} + secret := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), + }, + Type: corev1.SecretTypeDockerConfigJson, + } + client := fake.NewSimpleClientset(prior, secret) + driveJobToSuccess(client) + + runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", + "", true /* noCleanup */, clusterValidatorControlPlaneRole, nil) + + _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get( + context.Background(), prior.Name, metav1.GetOptions{}) + assert.NoError(t, err, "--no-cleanup must not destroy a deliberately preserved Job") + + _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get( + context.Background(), secret.Name, metav1.GetOptions{}) + assert.NoError(t, err, "--no-cleanup must keep the pull secret the preserved pod needs") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go b/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go index 5a1df7f0b7..1bd771a614 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/orchestrator_errors_test.go @@ -423,8 +423,8 @@ func TestRetryAfterFromError_Parsing(t *testing.T) { {"Retry-After: 120s", 120}, {"retry-after: 5", 5}, {"no header here", 5}, // default - {"Retry-After: ", 5}, // no digits → default - {"Retry-After: 0", 5}, // zero → default + {"Retry-After: ", 5}, // no digits -> default + {"Retry-After: 0", 5}, // zero -> default {"Retry-After: 300 ok", 300}, // stops at first non-digit } for _, tc := range cases { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 5da8db5fd6..dc91752c4a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -45,6 +45,15 @@ const ( binaryVersionMessage = "%s %s on PATH (%s required)" ) +// Severity values for CheckResult. Typed constants rather than bare strings: +// a typo'd "Error" silently downgraded a hard failure to a warning, and the +// exit code keys off an exact match. +const ( + SeverityInfo = "info" + SeverityWarning = "warning" + SeverityError = "error" +) + // One row in the linkerd-style output. Logs is internal-only and is not // forwarded into the CheckCompleted JSONL wire event, so it never leaks // into the stable JSON contract. @@ -318,6 +327,14 @@ type RoleConfig struct { // so the check follows the stack instead of drifting from it. StackDir string + // ExtraStaleNamespaces are merged into this role's stale-namespace scan. + // In ModeSingle both roles share one cluster, so only one of them runs the + // probe to avoid emitting the same check ID twice; the other role's + // namespaces are passed here instead of being dropped. The two roles probe + // disjoint lists, so without this the skipped role's namespaces are never + // scanned on the one topology where they sit on the same cluster. + ExtraStaleNamespaces []string + // ClusterValidatorRegistries is an optional list of "host:port" registry // endpoints added to the control-plane validator ConfigMap alongside the // built-in nvcr.io probe. Ignored for the compute-plane validator. @@ -351,7 +368,7 @@ func buildCategories(cfg PreflightConfig, role Role, rc RoleConfig) []categorySp out = append(out, *local) } - // Registry credential check runs from the operator's machine — no cluster + // Registry credential check runs from the operator's machine - no cluster // contact needed. RunPreflightForRole is called once per role, so the // caller clears Registries on every role but one to avoid duplicate // check_started/check_completed events. Deduplicating on the role here @@ -412,7 +429,8 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { if rc.StaleNamespaceProber != nil { cat.checks = append(cat.checks, staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, - resolveStackNamespaces(rc.StackDir, nvcfControlPlaneNamespaces))) + mergeNamespaces(resolveStackNamespaces(rc.StackDir, nvcfControlPlaneNamespaces), + rc.ExtraStaleNamespaces))) } // Containerized cluster-validator probe for control-plane checks // (Gateway API CRDs, Envoy Gateway, StorageClass, external LB, @@ -448,7 +466,8 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { if rc.StaleNamespaceProber != nil { cat.checks = append([]binaryCheckSpec{ staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, - resolveStackNamespaces(rc.StackDir, nvcfComputePlaneNamespaces)), + mergeNamespaces(resolveStackNamespaces(rc.StackDir, nvcfComputePlaneNamespaces), + rc.ExtraStaleNamespaces)), }, cat.checks...) } if rc.SISURL != "" { @@ -648,7 +667,7 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn } return binaryCheckSpec{ ID: id, - HumanLabel: fmt.Sprintf("checking credentials for %s…", entry.Registry), + HumanLabel: fmt.Sprintf("checking credentials for %s...", entry.Registry), Run: func(ctx context.Context) CheckResult { r := CheckResult{ ID: id, @@ -688,11 +707,31 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn // staleNamespaceCheck detects NVCF namespaces stuck Terminating or left as // empty shells after a partial teardown. Severity is error; prober errors // degrade to warning so transient kubeconfig issues don't falsely fail. +// mergeNamespaces returns the union of two namespace lists, order-stable and +// de-duplicated. +func mergeNamespaces(base, extra []string) []string { + if len(extra) == 0 { + return base + } + seen := make(map[string]bool, len(base)+len(extra)) + out := make([]string, 0, len(base)+len(extra)) + for _, list := range [][]string{base, extra} { + for _, ns := range list { + if ns == "" || seen[ns] { + continue + } + seen[ns] = true + out = append(out, ns) + } + } + return out +} + func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namespaces []string) binaryCheckSpec { const id = "stale-namespaces" return binaryCheckSpec{ ID: id, - HumanLabel: "checking for stale NVCF namespaces…", + HumanLabel: "checking for stale NVCF namespaces...", Run: func(ctx context.Context) CheckResult { r := CheckResult{ID: id, Severity: "error"} // Resolve the context before probing, then probe that exact name. @@ -928,3 +967,14 @@ func (*noopSink) Close() error { return nil } func RunPreflight(ctx context.Context, cfg PreflightConfig) []CheckResult { return RunPreflightStreaming(ctx, cfg, &noopSink{}) } + +// ControlPlaneStaleNamespaces and ComputePlaneStaleNamespaces expose each +// role's stale-namespace list so the cmd layer can merge the two when a single +// cluster hosts both roles and only one probe runs. +func ControlPlaneStaleNamespaces(stackDir string) []string { + return resolveStackNamespaces(stackDir, nvcfControlPlaneNamespaces) +} + +func ComputePlaneStaleNamespaces(stackDir string) []string { + return resolveStackNamespaces(stackDir, nvcfComputePlaneNamespaces) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 93dee7b253..862d6bc591 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -670,3 +670,35 @@ func TestParseInotifyOutput(t *testing.T) { require.Error(t, err) }) } + +// In ModeSingle one cluster hosts both roles and only one stale-namespace +// probe runs, so the skipped role's namespaces must be merged in. Dropping +// them means a kai-scheduler or nvca-operator namespace wedged Terminating is +// reported as "no stale NVCF namespaces detected". +func TestStaleNamespaceCheck_MergesTheOtherRolesNamespaces(t *testing.T) { + var probed []string + prober := func(_ context.Context, _ string, namespaces []string) ([]StaleNamespace, error) { + probed = namespaces + return nil, nil + } + rc := RoleConfig{ + StaleNamespaceProber: prober, + ExtraStaleNamespaces: ComputePlaneStaleNamespaces(""), + } + cat := controlPlaneCheckCategory(rc) + require.NotEmpty(t, cat.checks) + cat.checks[0].Run(context.Background()) + + for _, ns := range []string{"nvcf", "vault-system"} { + assert.Contains(t, probed, ns, "the control-plane list must still be covered") + } + for _, ns := range []string{"nvca-operator", "kai-scheduler"} { + assert.Contains(t, probed, ns, "the compute-plane list must be merged in, not dropped") + } +} + +func TestMergeNamespaces_DedupesAndKeepsOrder(t *testing.T) { + got := mergeNamespaces([]string{"a", "b"}, []string{"b", "c", ""}) + assert.Equal(t, []string{"a", "b", "c"}, got) + assert.Nil(t, mergeNamespaces(nil, nil)) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index e9c17d4f8d..08d75b0c44 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -38,10 +38,15 @@ import ( // preconditions the delete lands on whatever holds the name by then; with them // the apiserver rejects it as a conflict instead. func deleteExactly(o metav1.Object) metav1.DeleteOptions { + // UID only. UID already pins identity, which is the whole goal: a + // delete-and-recreate under the same name changes it. ResourceVersion + // additionally pins the object's version, so any concurrent write turns + // the delete into a 409 that every sweep then swallows. That bites hardest + // on the singleton Job sweep, whose only target is an active Job whose + // .status the Job controller mutates continuously. uid := o.GetUID() - rv := o.GetResourceVersion() return metav1.DeleteOptions{ - Preconditions: &metav1.Preconditions{UID: &uid, ResourceVersion: &rv}, + Preconditions: &metav1.Preconditions{UID: &uid}, } } @@ -211,6 +216,15 @@ func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interfac if apiKey == "" { return "", nil } + // Only ever hand the NGC key to NGC. Without this an operator who mirrors + // the validator image to ghcr.io or a corporate Harbor and still exports + // NGC_API_KEY gets it written as that registry's password, and the kubelet + // then sends the live key to a third party as HTTP Basic auth, where it + // lands in their access logs. The local probe already guards this the same + // way; the Secret path did not. + if !isNGCRegistry(registry) { + return "", nil + } cfg, err := buildDockerConfigJSON(registry, "$oauthtoken", apiKey) if err != nil { return "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index e60e908d0d..e989714027 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -333,13 +333,13 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-test-123") client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "nvcr.io", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) require.NoError(t, err) - assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "private.registry.test"), + assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "nvcr.io"), "minted secret must contain auth for the validator image's registry") } @@ -384,13 +384,28 @@ func TestResolveValidatorPullSecret_EnvFallback(t *testing.T) { t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) require.NoError(t, err) assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) require.NoError(t, err) - assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "private.registry.test")) + assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "nvcr.io")) +} + +// A mirrored validator image must not receive the NGC key via the env +// fallback: the kubelet would send it to that registry as Basic auth. +func TestResolveValidatorPullSecret_EnvFallbackRefusesMirroredRegistry(t *testing.T) { + for _, name := range ngcAPIKeyEnvNames { + t.Setenv(name, "") + } + t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") + client := fake.NewSimpleClientset() + + got, err := resolveValidatorPullSecret(context.Background(), client, "", + "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + require.NoError(t, err) + assert.Empty(t, got, "no secret may be minted for a non-NGC registry") } func TestResolveValidatorPullSecret_AllEmpty(t *testing.T) { @@ -588,9 +603,10 @@ func TestWriteDockerConfigSecret_TypeMismatchDeletePinsTheInspectedObject(t *tes require.NotNil(t, opts.Preconditions, "delete must carry preconditions") require.NotNil(t, opts.Preconditions.UID) - require.NotNil(t, opts.Preconditions.ResourceVersion) assert.Equal(t, existing.UID, *opts.Preconditions.UID) - assert.Equal(t, existing.ResourceVersion, *opts.Preconditions.ResourceVersion) + assert.Nil(t, opts.Preconditions.ResourceVersion, + "UID alone pins identity; pinning ResourceVersion turns any concurrent "+ + "write into a 409 that the sweeps swallow") } // A conflict means the object changed after the ownership check, so the run @@ -623,3 +639,22 @@ func TestWriteDockerConfigSecret_TypeMismatchStopsOnDeleteConflict(t *testing.T) require.Error(t, err, "a changed object must abort the replace") assert.False(t, created, "must not create over an object that was never vetted") } + +// NGC_API_KEY must never be minted as the password for a registry that is not +// NGC. An operator who mirrors the validator image to ghcr.io or a corporate +// Harbor and still exports NGC_API_KEY would otherwise have the kubelet send +// the live key to a third party as HTTP Basic auth. +func TestAutoCreatePullSecretFromEnv_RefusesNonNGCRegistry(t *testing.T) { + t.Setenv("NGC_API_KEY", "nvapi-secret-value") + client := fake.NewSimpleClientset() + + name, err := autoCreatePullSecretFromEnv(context.Background(), client, + "ghcr.io", clusterValidatorControlPlaneRole) + require.NoError(t, err) + assert.Empty(t, name, "no secret may be minted for a non-NGC registry") + + secrets, err := client.CoreV1().Secrets(clusterValidatorNamespace).List( + context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + assert.Empty(t, secrets.Items, "the NGC key must not reach a third-party registry") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 354dd47d15..debfb1863e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -122,7 +122,7 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri } return requireConfiguredCredentials(registry) case http.StatusUnauthorized: - // Auth required — proceed with token exchange. + // Auth required - proceed with token exchange. default: resp.Body.Close() return fmt.Errorf("unexpected status %s from %s", resp.Status, registry) @@ -147,7 +147,7 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth) if err != nil { // Use credentialsForRegistry (not ngcCredentials) so NGC_API_KEY does - // not masquerade as credentials for quay.io, GHCR, or Harbor — those + // not masquerade as credentials for quay.io, GHCR, or Harbor - those // registries reject NGC tokens, which would wrongly produce "credentials // rejected" when the real diagnosis is "no credentials configured." if _, _, hasCreds := credentialsForRegistry(registry); !hasCreds { @@ -245,13 +245,23 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re if registry == "" || seen[registry] { return } + // Every source goes through the same host validation. The probe builds + // "https://" + registry + "/v2/", so a value carrying "/" or "@" moves + // the host: global.image.registry set to "nvcr.io@attacker.example.com" + // in a values file the CLI finds by walking up from CWD would otherwise + // aim an outbound request wherever that names. Extras were guarded via + // parseRegistryHostPort; the image ref and the values file were not. + if !isBareRegistryHost(strings.TrimSuffix(strings.TrimPrefix(registry, "["), "]")) && + !isBareRegistryHost(registry) { + return + } seen[registry] = true out = append(out, RegistryEntry{Registry: registry, RepoHint: repoHint, Critical: critical}) } // Source 1: base registry from the configured validator image. // Carry the repo path as a scope hint so the token exchange uses the - // operator's actual org rather than a fake one — NGC returns 403 for + // operator's actual org rather than a fake one - NGC returns 403 for // orgs the API key cannot access, even if the key itself is valid. // // Critical follows the same rule as every other source rather than being @@ -296,8 +306,13 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re reg := host if port != 0 && port != 443 { reg = net.JoinHostPort(host, strconv.Itoa(port)) - } else if strings.Contains(host, ":") { - reg = "[" + host + "]" // bare IPv6 literal on the default port + } else if strings.Contains(host, ":") && !strings.HasPrefix(host, "[") { + // Bare IPv6 literal on the default port. parseRegistryHostPort + // returns the input verbatim when SplitHostPort fails, and it + // fails on an already-bracketed "[fd00::1]" with missingPort, so + // without the prefix guard that arrives here still bracketed and + // becomes "[[fd00::1]]", which is not a parseable URL host. + reg = "[" + host + "]" } add(reg, "", false) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index a173aa284e..be9b35b494 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -34,7 +34,7 @@ import ( // -- probeRegistryCredential -- func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { - // Registry returns 200 on /v2/ with the registry API header → public, + // Registry returns 200 on /v2/ with the registry API header -> public, // no credentials needed. srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Docker-Distribution-Api-Version", "registry/2.0") @@ -88,7 +88,7 @@ func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { } func TestProbeRegistryCredential_AuthFails(t *testing.T) { - // Registry returns 401 but the token endpoint returns 401 too → bad credentials. + // Registry returns 401 but the token endpoint returns 401 too -> bad credentials. tokenSrv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusUnauthorized) })) @@ -179,7 +179,7 @@ func TestEnumerateRegistries_ExtrasAppended(t *testing.T) { } func TestEnumerateRegistries_NoDuplicates(t *testing.T) { - // Pass nvcr.io both as the image registry and as an extra — must not dedup. + // Pass nvcr.io both as the image registry and as an extra - must not dedup. entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", []string{"nvcr.io"}) @@ -384,3 +384,47 @@ func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { } assert.Equal(t, 1, n, "nvcr.io must appear exactly once") } + +// parseRegistryHostPort returns its input verbatim when SplitHostPort fails, +// and it fails on an already-bracketed literal with missingPort. Without a +// prefix guard that arrives here still bracketed and becomes "[[fd00::1]]", +// which http.NewRequest rejects. The documented bracketed form must work. +func TestEnumerateRegistries_DoesNotDoubleBracketIPv6(t *testing.T) { + for _, in := range []string{"[fd00::1]", "fd00::1"} { + got := EnumerateRegistries("", "", []string{in}) + var found string + for _, e := range got { + if strings.Contains(e.Registry, "fd00") { + found = e.Registry + } + } + assert.Equal(t, "[fd00::1]", found, "input %q must yield a singly-bracketed host", in) + } +} + +func TestEnumerateRegistries_KeepsBracketedIPv6WithPort(t *testing.T) { + got := EnumerateRegistries("", "", []string{"[fd00::1]:5000"}) + var found string + for _, e := range got { + if strings.Contains(e.Registry, "fd00") { + found = e.Registry + } + } + assert.Equal(t, "[fd00::1]:5000", found) +} + +// The probe builds "https://" + registry + "/v2/", so a registry string that +// carries "/" or "@" moves the host. A values file the CLI finds by walking up +// from CWD must not be able to aim an outbound request. +func TestEnumerateRegistries_RejectsHostMovingRegistryStrings(t *testing.T) { + dir := t.TempDir() + values := filepath.Join(dir, "base.yaml") + require.NoError(t, os.WriteFile(values, + []byte("global:\n image:\n registry: nvcr.io@attacker.example.com\n"), 0o600)) + + for _, e := range EnumerateRegistries("nvcr.io@evil.test/x/y:1", values, nil) { + assert.NotContains(t, e.Registry, "@", "a host-moving string must not be probed") + assert.NotContains(t, e.Registry, "attacker.example.com") + assert.NotContains(t, e.Registry, "evil.test") + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 5a852b3867..3276f2d971 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -70,7 +70,7 @@ func TestProbeStaleNamespaces_TerminatingIsByPhase(t *testing.T) { } func TestProbeStaleNamespaces_EmptyShellNoHelmSecrets(t *testing.T) { - // Namespace exists and is Active but holds no Helm release secrets → + // Namespace exists and is Active but holds no Helm release secrets -> // leftover empty shell from a partial helm uninstall. client := fake.NewSimpleClientset(&corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, @@ -84,7 +84,7 @@ func TestProbeStaleNamespaces_EmptyShellNoHelmSecrets(t *testing.T) { } func TestProbeStaleNamespaces_HealthyReleaseNotStale(t *testing.T) { - // Namespace exists and carries an owner=helm secret → active Helm release, + // Namespace exists and carries an owner=helm secret -> active Helm release, // not stale. client := fake.NewSimpleClientset( &corev1.Namespace{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 7029581ab4..f608623a4a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -205,7 +205,7 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep realm, service, scope := parseWWWAuthenticate(wwwAuthenticate) if realm == "" { - // No parseable WWW-Authenticate — use NGC's /proxy_auth as fallback. + // No parseable WWW-Authenticate - use NGC's /proxy_auth as fallback. return exchangeNGCBearerToken(ctx, client, registry, repo) } @@ -252,7 +252,7 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep // Use scope from the WWW-Authenticate header when present. // When scope is empty and a repo is provided, synthesize the standard // pull scope. When neither is present (credential probe, no specific - // repo needed), omit scope entirely — most registries issue a valid + // repo needed), omit scope entirely - most registries issue a valid // token and the absence of a resource scope avoids org-level 403s for // non-existent repositories. if scope == "" && repo != "" { @@ -269,7 +269,7 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep } // Add credentials when present. Docker config covers any registry; // NGC API key is only applicable to NGC-hosted registries. - // Critically: do NOT apply NGC_API_KEY to non-NGC registries — quay.io, + // Critically: do NOT apply NGC_API_KEY to non-NGC registries - quay.io, // GHCR, and Harbor will reject it, producing a misleading "credentials // rejected" error when the real situation is "no credentials configured." if user, pass, ok := credentialsForRegistry(registry); ok { diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index d528c4a174..f1dafeb95d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -277,7 +277,7 @@ func TestParseWWWAuthenticate_GHCR(t *testing.T) { } func TestParseWWWAuthenticate_NoBearer(t *testing.T) { - // Basic auth challenge — should return empty strings. + // Basic auth challenge - should return empty strings. realm, service, scope := parseWWWAuthenticate(`Basic realm="My Registry"`) assert.Empty(t, realm) assert.Empty(t, service) From bb0d56b73bc39e02de2a83f8b2c62283eab68a8b Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 22 Sep 2026 16:21:00 +0530 Subject: [PATCH 032/127] fix(nvcf-cli): scope pull-secret adoption per role and stop the stale-namespace check deleting healthy namespaces --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 37 +++--- .../nvcf-cli/cmd/self_hosted_check_test.go | 8 +- src/clis/nvcf-cli/cmd/self_hosted_up.go | 22 ++-- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 67 +++++++++- .../selfhosted/clustervalidator_test.go | 117 ++++++++---------- .../nvcf-cli/internal/selfhosted/preflight.go | 27 ++-- .../internal/selfhosted/pullsecret.go | 33 +++-- .../internal/selfhosted/pullsecret_test.go | 60 +++++++++ .../nvcf-cli/internal/selfhosted/register.go | 12 +- .../internal/selfhosted/stack_namespaces.go | 28 +++-- .../selfhosted/stack_namespaces_test.go | 34 ++++- .../internal/selfhosted/stale_namespace.go | 19 ++- .../selfhosted/stale_namespace_test.go | 90 ++++++++++++-- .../internal/selfhosted/validatortag.go | 24 ++-- 15 files changed, 422 insertions(+), 157 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index f279e3bb91..f400339f1c 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -148,7 +148,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // *IsTargeted left the validator unresolved and both probes nil, with no // note explaining why. anyValidatorIsTargeted := !localOnly && !skipClusterValidation && - (computePlaneIsVisited(mode) || controlPlaneIsVisited(mode)) + (computePlaneIsVisited() || controlPlaneIsVisited()) clusterValidatorImage := "" if anyValidatorIsTargeted { if img, ok := resolveClusterValidatorImage(c.Context()); ok { @@ -189,7 +189,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // validator row" with "validator silently dropped". Print at most one // reason; --skip-cluster-validation takes precedence over missing // config since it's the explicit operator choice. - if !localOnly && (computePlaneIsVisited(mode) || controlPlaneIsVisited(mode)) { + if !localOnly && (computePlaneIsVisited() || controlPlaneIsVisited()) { switch { case skipClusterValidation: fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (--skip-cluster-validation)") @@ -406,14 +406,17 @@ func controlPlaneIsTargeted(mode kubectx.Mode) bool { // which is broader than whether its role-specific check set runs. --pre in // ModeSplit visits both clusters for the shared pre-install checks (stale // namespaces) without targeting either role, so the targeting predicates alone -// cannot gate the dispatch. In ModeSingle --pre already targets both roles and -// these are equivalent to their *IsTargeted counterparts. -func computePlaneIsVisited(mode kubectx.Mode) bool { - return computePlaneIsTargeted(mode) || checkPre +// cannot gate the dispatch. +// +// No mode parameter, unlike *IsTargeted: "(X || (pre && single)) || pre" +// absorbs to "X || pre", so the mode cannot change the answer. Taking one +// would imply a mode-dependence that does not exist. +func computePlaneIsVisited() bool { + return checkComputePlane || checkAll || checkPre } -func controlPlaneIsVisited(mode kubectx.Mode) bool { - return controlPlaneIsTargeted(mode) || checkPre +func controlPlaneIsVisited() bool { + return checkControlPlane || checkAll || checkPre } // withoutHostLocalChecks returns a copy of cfg with the inputs for the checks @@ -506,7 +509,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin var inotifyProber selfhosted.NodeInotifyProber // Visited, not targeted: the inotify limit is exactly what --pre exists to // catch before NVCA bootstrap, so it must run for --pre in ModeSplit too. - if computePlaneIsVisited(mode) && !skipInotify { + if computePlaneIsVisited() && !skipInotify { inotifyProber = newInotifyProberForSelfHosted() } @@ -521,7 +524,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // still creates a ServiceAccount, cluster-wide ClusterRole/CRB, pull secret // and validator Job in the compute cluster. var clusterValidator selfhosted.ClusterValidator - if computePlaneIsVisited(mode) && clusterValidatorImage != "" { + if computePlaneIsVisited() && clusterValidatorImage != "" { clusterValidator = newClusterValidatorForSelfHosted() } @@ -538,7 +541,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // clusterValidator is nil and keying off it would drop the control-plane // validator check from the run entirely. var cpClusterValidator selfhosted.ClusterValidator - if controlPlaneIsVisited(mode) && clusterValidatorImage != "" { + if controlPlaneIsVisited() && clusterValidatorImage != "" { cpClusterValidator = newClusterValidatorForSelfHosted() } @@ -546,8 +549,8 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // operator's machine, so they belong to one invocation only. The control // plane carries them when it runs; otherwise the compute plane does, so // neither is silently dropped by a compute-plane-only invocation. - runControlPlane := controlPlaneIsVisited(mode) - runComputePlane := computePlaneIsVisited(mode) + runControlPlane := controlPlaneIsVisited() + runComputePlane := computePlaneIsVisited() cpCfg, gpuCfg := cfg, cfg if runControlPlane { gpuCfg = withoutHostLocalChecks(cfg) @@ -710,14 +713,14 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self }) } -// anyFailed returns true if any check failed at error severity. Warnings do -// not trigger non-zero exit per spec §6.3. -// isBlockingFailure is the single definition of "this fails the run". Both the -// exit code and the JSON verdict derive from it, so they cannot disagree. func isBlockingFailure(r selfhosted.CheckResult) bool { return !r.Passed && r.Severity == selfhosted.SeverityError } +// anyFailed returns true if any check failed at error severity. Warnings do +// not trigger non-zero exit per spec §6.3. +// isBlockingFailure is the single definition of "this fails the run". Both the +// exit code and the JSON verdict derive from it, so they cannot disagree. func anyFailed(results []selfhosted.CheckResult) bool { for _, r := range results { if isBlockingFailure(r) { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index f2f661d1f6..46e0d312b6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -566,6 +566,10 @@ func parseJSONLLines(t *testing.T, s string) []map[string]any { // the targeting predicates: --pre in ModeSplit visits both clusters for the // shared pre-install checks without targeting either role. Gating the split // dispatch on the targeting predicates alone would make --pre a no-op there. +// +// The mode column is kept to document that the answer is the same in both +// modes: the predicate is mode-independent by absorption, so a table that +// varied only the mode would be asserting a dependence that does not exist. func TestPlaneIsVisited(t *testing.T) { t.Cleanup(func() { checkPre = false @@ -593,8 +597,8 @@ func TestPlaneIsVisited(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { checkPre, checkControlPlane, checkComputePlane, checkAll = tt.pre, tt.cp, tt.gpu, tt.all - assert.Equal(t, tt.wantCP, controlPlaneIsVisited(tt.mode)) - assert.Equal(t, tt.wantComputeGP, computePlaneIsVisited(tt.mode)) + assert.Equal(t, tt.wantCP, controlPlaneIsVisited()) + assert.Equal(t, tt.wantComputeGP, computePlaneIsVisited()) }) } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_up.go b/src/clis/nvcf-cli/cmd/self_hosted_up.go index d9b3f9f9e4..681da61272 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_up.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_up.go @@ -1507,6 +1507,17 @@ func kubectxFor(phaseNum int) string { } } +type registerValuesWriteRequest struct { + StackPath string + ClusterName string + NCAID string + Region string + IdentitySource string + ClusterID string + ClusterGroupID string + Endpoints registerEndpointValues +} + // writeRegisterValuesYAML persists the helm values handoff file the worker-layer // helmfile expects at /out/-register-values.yaml. Schema mirrors // `printRegistrationOutput` (cmd/cluster_registration.go, fixed in `ff9aaf7`): @@ -1519,17 +1530,6 @@ func kubectxFor(phaseNum int) string { // The pre-`ff9aaf7` shape (nested `selfManaged.clusterId`, lowercase-d) left // the chart's `.Values.clusterID` empty → cluster-dto.yaml rendered with empty // IDs → operator failed to fetch backend identity. (Iter #12 from dev-VM E2E.) -type registerValuesWriteRequest struct { - StackPath string - ClusterName string - NCAID string - Region string - IdentitySource string - ClusterID string - ClusterGroupID string - Endpoints registerEndpointValues -} - func writeRegisterValuesYAML(req registerValuesWriteRequest) error { outDir := filepath.Join(req.StackPath, "out") if err := os.MkdirAll(outDir, 0o755); err != nil { diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 730c3ebb46..1b08299376 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -45,6 +45,7 @@ go_library( "@io_k8s_api//core/v1:core", "@io_k8s_api//rbac/v1:rbac", "@io_k8s_apimachinery//pkg/api/errors", + "@io_k8s_apimachinery//pkg/api/resource", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/labels", "@io_k8s_client_go//kubernetes", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index c31b66ec8c..506cc56d93 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -33,6 +33,7 @@ import ( corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes" @@ -356,11 +357,6 @@ func validatorConfigNameForRole(role string) string { return clusterValidatorNoConfigName } -// sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding -// created by ensureClusterValidatorRBAC. Called after Job completion (when -// --no-cleanup is not set) to close the window where the elevated ClusterRole -// exists. The next run recreates them via ensureClusterValidatorRBAC. -// Errors are swallowed: stale RBAC is preferable to failing the result. // sweepOrphanClusterValidatorRBAC removes validator RBAC left behind by a run // that died before its deferred cleanup (SIGKILL, OOM, lost terminal). // @@ -409,6 +405,12 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } +// sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding +// created by ensureClusterValidatorRBAC. Called after Job completion (when +// --no-cleanup is not set) to close the window where the elevated ClusterRole +// exists. Each run mints its own names, so nothing is reused and anything left +// behind is reclaimed by sweepOrphanClusterValidatorRBAC instead. +// Errors are swallowed: stale RBAC is preferable to failing the result. func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) { name := clusterValidatorRBACName(role, runID) @@ -490,6 +492,10 @@ func validatorRoleSelector(role string) string { // without importing that package. const clusterValidatorControlPlaneRole = "control-plane" +// clusterValidatorComputePlaneRole is the other VALIDATOR_ROLE value. Both are +// named so role-scoping logic reads the same on either side. +const clusterValidatorComputePlaneRole = "compute-plane" + // clusterValidatorConfigName is the default ConfigMap name the validator binary // looks for when VALIDATOR_CONFIG_NAME is empty. Must stay in sync with // defaultConfigMapName in nvca/cmd/cluster-validator/main.go. @@ -661,13 +667,39 @@ func parseRegistryHostPort(s string) (host string, port int) { // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool) *batchv1.Job { backoff := int32(0) + // Pod shape mirrors deployments/nvca-operator/templates/cronjob.yaml, which + // runs this same image. Two producers of one pod spec now exist in two + // languages, so they are kept deliberately in step: without the security + // context the Job is rejected outright by a namespace enforcing the + // PodSecurity "restricted" profile, and without the tolerations it never + // schedules on a cluster whose nodes all carry the control-plane taint. + // Either way waitForClusterValidatorJob burns its full budget and the run + // leaks, so these are correctness, not hardening. + runAsUser := int64(65534) + runAsNonRoot := true + readOnlyRoot := true + allowPrivEsc := false podSpec := corev1.PodSpec{ ServiceAccountName: clusterValidatorRBACName(role, runID), RestartPolicy: corev1.RestartPolicyNever, + Tolerations: clusterValidatorTolerations(), + SecurityContext: &corev1.PodSecurityContext{ + RunAsUser: &runAsUser, + RunAsGroup: &runAsUser, + FSGroup: &runAsUser, + }, Containers: []corev1.Container{{ Name: clusterValidatorContainer, Image: image, ImagePullPolicy: corev1.PullIfNotPresent, + Resources: clusterValidatorResources(), + SecurityContext: &corev1.SecurityContext{ + RunAsNonRoot: &runAsNonRoot, + ReadOnlyRootFilesystem: &readOnlyRoot, + AllowPrivilegeEscalation: &allowPrivEsc, + Capabilities: &corev1.Capabilities{Drop: []corev1.Capability{"ALL"}}, + SeccompProfile: &corev1.SeccompProfile{Type: corev1.SeccompProfileTypeRuntimeDefault}, + }, Env: []corev1.EnvVar{ {Name: "VALIDATOR_CONFIG_NAMESPACE", Value: clusterValidatorNamespace}, // Name the ConfigMap explicitly for the control-plane role and @@ -860,3 +892,28 @@ func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interfac } _ = cms.Delete(ctx, clusterValidatorConfigName, deleteExactly(cm)) } + +// clusterValidatorTolerations mirrors the chart's tolerations so the Job can +// schedule on a cluster whose nodes all carry the control-plane taint, which +// is the normal shape for a dedicated control plane. +func clusterValidatorTolerations() []corev1.Toleration { + return []corev1.Toleration{ + {Key: "node-role.kubernetes.io/control-plane", Operator: corev1.TolerationOpExists, Effect: corev1.TaintEffectNoSchedule}, + {Key: "node-role.kubernetes.io/master", Operator: corev1.TolerationOpExists, Effect: corev1.TaintEffectNoSchedule}, + } +} + +// clusterValidatorResources mirrors the chart's defaults. Without requests the +// Job is rejected outright by a namespace carrying a LimitRange or a quota. +func clusterValidatorResources() corev1.ResourceRequirements { + return corev1.ResourceRequirements{ + Requests: corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("100m"), + corev1.ResourceMemory: resource.MustParse("64Mi"), + }, + Limits: corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("200m"), + corev1.ResourceMemory: resource.MustParse("128Mi"), + }, + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index b04fb3a11f..ff61e2a931 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -221,58 +221,25 @@ func TestRunClusterValidator_JobFailed(t *testing.T) { assert.NotEmpty(t, res.JobName, "JobName must be populated on failure for kubectl-logs follow-up") } -func TestRunClusterValidator_RBACIdempotent(t *testing.T) { - // Seed the SA, ClusterRole and ClusterRoleBinding exactly as a prior run - // would have left them: present, and carrying our managed labels. Each - // Create then returns AlreadyExists and the runner must treat that as - // success and proceed to Job creation. - // - // Seeding real objects rather than faking AlreadyExists with a reactor - // matters: the runner refetches on conflict to confirm it owns what it is - // about to bind, so a reactor with nothing behind it is not a valid model. - client := fake.NewSimpleClientset( - &corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorName, Namespace: clusterValidatorNamespace, - Labels: clusterValidatorLabels(), - }}, - &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorName, Labels: clusterValidatorLabels(), - }}, - &rbacv1.ClusterRoleBinding{ - ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorName, Labels: clusterValidatorLabels(), - }, - Subjects: []rbacv1.Subject{{ - Kind: rbacv1.ServiceAccountKind, - Name: clusterValidatorName, - Namespace: clusterValidatorNamespace, - }}, - RoleRef: rbacv1.RoleRef{ - APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: clusterValidatorName, - }, - }, - ) - - var jobName atomic.Value - jobName.Store("") - client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { - jobName.Store(action.(ktesting.CreateAction).GetObject().(*batchv1.Job).Name) - return false, nil, nil - }) - client.PrependReactor("get", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { - return jobSucceededReactor(jobName.Load().(string))(action) +// Each run mints an unguessable RBAC name, so there is no idempotence left to +// test: a name collision means something else already holds the name this run +// is about to bind cluster-wide permissions to. That must fail, not be adopted. +// (Replaces TestRunClusterValidator_RBACIdempotent, which seeded objects under +// the old fixed name and so never produced the AlreadyExists it described.) +func TestRunClusterValidator_RBACNameCollisionIsNotAdopted(t *testing.T) { + client := fake.NewSimpleClientset() + client.PrependReactor("create", "clusterroles", func(action ktesting.Action) (bool, runtime.Object, error) { + name := action.(ktesting.CreateAction).GetObject().(*rbacv1.ClusterRole).Name + return true, nil, apierrors.NewAlreadyExists( + schema.GroupResource{Group: "rbac.authorization.k8s.io", Resource: "clusterroles"}, name) }) - client.PrependReactor("list", "pods", podListReactor("")) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) - require.NoError(t, res.Err, "AlreadyExists on RBAC bootstrap must be treated as success") - assert.True(t, res.Passed) + res := runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", + "", false, clusterValidatorControlPlaneRole, nil) + require.Error(t, res.Err, "a pre-existing object under our generated name must not be adopted") + assert.Contains(t, res.Err.Error(), "bootstrapping validator RBAC") } -// TestEnsureClusterValidatorRBAC_WritableResources verifies that the -// bootstrapped ClusterRole grants the write verbs required by enforcement -// checks (namespace/pod create+delete), probe log reading (pods/log get), -// and the Gateway API checks. func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { client := fake.NewSimpleClientset() ctx := context.Background() @@ -681,23 +648,6 @@ func TestParseRegistryHostPort(t *testing.T) { }) } } - -func alreadyExistsReactor(resource, name string) ktesting.ReactionFunc { - gr := schema.GroupResource{Resource: resource} - return func(action ktesting.Action) (bool, runtime.Object, error) { - createAction, ok := action.(ktesting.CreateAction) - if !ok { - return false, nil, nil - } - meta, ok := createAction.GetObject().(metav1.Object) - if !ok || meta.GetName() != name { - return false, nil, nil - } - return true, nil, apierrors.NewAlreadyExists(gr, name) - } -} - -// The same invariant for the network-check ConfigMap. func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { ctx := context.Background() client := fake.NewSimpleClientset(&corev1.ConfigMap{ @@ -905,3 +855,40 @@ func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { context.Background(), secret.Name, metav1.GetOptions{}) assert.NoError(t, err, "--no-cleanup must keep the pull secret the preserved pod needs") } + +// The Job runs the same image as the chart's CronJob, so it needs the same pod +// shape. Without the security context a namespace enforcing the PodSecurity +// "restricted" profile rejects it at admission; without the tolerations it +// never schedules on a cluster whose nodes all carry the control-plane taint. +// Either way the wait burns its full budget and the run leaks. +func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { + job := buildClusterValidatorJob("j", "nvcr.io/x/validator:1", "", + clusterValidatorControlPlaneRole, "runid", false) + spec := job.Spec.Template.Spec + + require.NotNil(t, spec.SecurityContext, "pod security context is required under restricted") + require.NotNil(t, spec.SecurityContext.RunAsUser) + assert.Equal(t, int64(65534), *spec.SecurityContext.RunAsUser, "chart runs this image as 65534") + + require.Len(t, spec.Containers, 1) + sc := spec.Containers[0].SecurityContext + require.NotNil(t, sc, "container security context is required under restricted") + require.NotNil(t, sc.RunAsNonRoot) + assert.True(t, *sc.RunAsNonRoot) + require.NotNil(t, sc.AllowPrivilegeEscalation) + assert.False(t, *sc.AllowPrivilegeEscalation) + require.NotNil(t, sc.Capabilities) + assert.Equal(t, []corev1.Capability{"ALL"}, sc.Capabilities.Drop) + require.NotNil(t, sc.SeccompProfile) + assert.Equal(t, corev1.SeccompProfileTypeRuntimeDefault, sc.SeccompProfile.Type) + + var keys []string + for _, tol := range spec.Tolerations { + keys = append(keys, tol.Key) + } + assert.Contains(t, keys, "node-role.kubernetes.io/control-plane") + assert.Contains(t, keys, "node-role.kubernetes.io/master") + + assert.False(t, spec.Containers[0].Resources.Requests.Cpu().IsZero(), + "a namespace with a LimitRange or quota rejects a pod with no requests") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index dc91752c4a..623c132c75 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -704,11 +704,6 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn } } -// staleNamespaceCheck detects NVCF namespaces stuck Terminating or left as -// empty shells after a partial teardown. Severity is error; prober errors -// degrade to warning so transient kubeconfig issues don't falsely fail. -// mergeNamespaces returns the union of two namespace lists, order-stable and -// de-duplicated. func mergeNamespaces(base, extra []string) []string { if len(extra) == 0 { return base @@ -727,6 +722,11 @@ func mergeNamespaces(base, extra []string) []string { return out } +// staleNamespaceCheck detects NVCF namespaces stuck Terminating or left as +// empty shells after a partial teardown. Severity is error; prober errors +// degrade to warning so transient kubeconfig issues don't falsely fail. +// mergeNamespaces returns the union of two namespace lists, order-stable and +// de-duplicated. func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namespaces []string) binaryCheckSpec { const id = "stale-namespaces" return binaryCheckSpec{ @@ -793,9 +793,22 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp } } if len(emptyShell) > 0 { + // Deliberately not a delete command. A namespace with no Helm + // release is not necessarily stale: the stack gates + // cert-manager, NATS, OpenBao and Cassandra on *.enabled, so an + // operator who installs one the documented upstream way, or via + // Argo, owns a healthy namespace with no owner=helm object. + // Handing them "kubectl delete namespace cert-manager" would + // destroy every Certificate and Issuer in the cluster. hints = append(hints, - fmt.Sprintf("inspect and delete empty namespaces: %s delete namespace %s", - kctl, strings.Join(emptyShell, " "))) + fmt.Sprintf("inspect these and remove them only after confirming they are unused: %s get all -n %s", + kctl, strings.Join(emptyShell, " -n "))) + } + // Only a namespace stuck Terminating blocks the run. "No Helm + // release" is a heuristic over a conditionally-installed stack, so + // it warns rather than turning a supported install shape into exit 2. + if len(terminating) == 0 { + r.Severity = SeverityWarning } r.Message = fmt.Sprintf("%d stale namespace(s) detected: %s. To resolve: %s", len(stale), strings.Join(parts, ", "), strings.Join(hints, "; ")) diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 08d75b0c44..5904679b98 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -182,6 +182,17 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r continue } if s.Namespace == clusterValidatorNamespace { + // Adopt an operator-supplied Secret (no managed labels, so no + // sweep touches it) or this role's own. Never the other + // role's: in ModeSplit both kubecontexts can resolve to one + // cluster, and that role's deferred sweep would delete the + // Secret while this role's pod is still pulling, which the + // kubelet reports as FailedToRetrieveImagePullSecret. That is + // the exact failure per-role naming was introduced to prevent. + if hasValidatorManagedLabels(s.Labels) && + s.Labels[clusterValidatorRoleLabel] != role { + continue + } return s.Name, nil } // Mirror under the validator's well-known name rather than the @@ -357,17 +368,6 @@ func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, n return nil } -// isManagedByValidatorCLI reports whether the secret carries the labels -// writeDockerConfigSecret stamps on every secret it creates. Used to -// gate the delete-then-recreate branch so we never destroy an operator- -// or chart-owned secret that happens to share a name with one of ours. -// refuseIfUnmanaged rejects a Secret nvcf-cli does not own. Every path in -// writeDockerConfigSecret that mutates an existing Secret must call this: -// overwriting an operator-owned secret replaces their registry credentials and -// stamps our managed labels on it, after which the role sweep deletes it. -// -// detail is appended to the message when there is something useful to say -// (the conflicting type, the race), otherwise "". func refuseIfUnmanaged(s *corev1.Secret, namespace, name, detail string) error { if isManagedByValidatorCLI(s) { return nil @@ -381,6 +381,17 @@ func refuseIfUnmanaged(s *corev1.Secret, namespace, name, detail string) error { namespace, name, detail) } +// isManagedByValidatorCLI reports whether the secret carries the labels +// writeDockerConfigSecret stamps on every secret it creates. Used to +// gate the delete-then-recreate branch so we never destroy an operator- +// or chart-owned secret that happens to share a name with one of ours. +// refuseIfUnmanaged rejects a Secret nvcf-cli does not own. Every path in +// writeDockerConfigSecret that mutates an existing Secret must call this: +// overwriting an operator-owned secret replaces their registry credentials and +// stamps our managed labels on it, after which the role sweep deletes it. +// +// detail is appended to the message when there is something useful to say +// (the conflicting type, the race), otherwise "". func isManagedByValidatorCLI(s *corev1.Secret) bool { return hasValidatorManagedLabels(s.Labels) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index e989714027..f3d7e7354a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -658,3 +658,63 @@ func TestAutoCreatePullSecretFromEnv_RefusesNonNGCRegistry(t *testing.T) { require.NoError(t, err) assert.Empty(t, secrets.Items, "the NGC key must not reach a third-party registry") } + +// In ModeSplit both kubecontexts can resolve to one cluster. Adopting the +// other role's managed Secret means that role's sweep deletes it while this +// role's pod is still pulling. +func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + otherRole := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + } + client := fake.NewSimpleClientset(otherRole) + + got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + clusterValidatorComputePlaneRole) + require.NoError(t, err) + assert.NotEqual(t, otherRole.Name, got, + "the compute role must not adopt the control-plane role's managed Secret") +} + +// An operator-supplied Secret carries no managed labels, so no sweep touches +// it and adopting it is safe. +func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + operator := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{Name: "operator-pull", Namespace: clusterValidatorNamespace}, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + } + client := fake.NewSimpleClientset(operator) + + got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + clusterValidatorComputePlaneRole) + require.NoError(t, err) + assert.Equal(t, "operator-pull", got) +} + +// This role's own Secret is still adopted rather than re-minted. +func TestScanAndMirrorPullSecret_AdoptsOwnRoleSecret(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + own := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRoleName(clusterValidatorComputePlaneRole), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRoleLabels(clusterValidatorComputePlaneRole), + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + } + client := fake.NewSimpleClientset(own) + + got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + clusterValidatorComputePlaneRole) + require.NoError(t, err) + assert.Equal(t, own.Name, got) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/register.go b/src/clis/nvcf-cli/internal/selfhosted/register.go index 1e8f1bc6ae..75908c93f4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/register.go +++ b/src/clis/nvcf-cli/internal/selfhosted/register.go @@ -315,12 +315,6 @@ func resolveClusterID(resp *client.RegisterClusterResponse) string { // avoid touching a real kubeconfig file. var loadKubeConfigFn = loadKubeConfig -// loadKubeConfig builds a *rest.Config for the given kubeconfig context. -// When kctx is empty the kubeconfig's current-context is used, preserving -// single-cluster behavior. The loading-rules chain follows the same priority -// as kubectl: KUBECONFIG env var → ~/.kube/config. -// currentKubeContextNameFn is a seam: tests must not depend on the developer's -// kubeconfig, and hint output would otherwise vary by machine. var currentKubeContextNameFn = currentKubeContextName // currentKubeContextName returns the kubeconfig's current-context, or "" when @@ -346,6 +340,12 @@ func effectiveKubeContext(kctx string) string { return currentKubeContextNameFn() } +// loadKubeConfig builds a *rest.Config for the given kubeconfig context. +// When kctx is empty the kubeconfig's current-context is used, preserving +// single-cluster behavior. The loading-rules chain follows the same priority +// as kubectl: KUBECONFIG env var → ~/.kube/config. +// currentKubeContextNameFn is a seam: tests must not depend on the developer's +// kubeconfig, and hint output would otherwise vary by machine. func loadKubeConfig(kctx string) (*rest.Config, error) { loadingRules := clientcmd.NewDefaultClientConfigLoadingRules() overrides := &clientcmd.ConfigOverrides{} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go index 054a7aa7da..a6bf51426d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go @@ -53,8 +53,16 @@ func stackReleaseNamespaces(stackDir string) []string { if stackDir == "" { return nil } - entries, err := filepath.Glob(filepath.Join(stackDir, "helmfile.d", "*.yaml.gotmpl")) - if err != nil || len(entries) == 0 { + // helmfile accepts plain .yaml fragments as well as .yaml.gotmpl. + var entries []string + for _, pattern := range []string{"*.yaml.gotmpl", "*.yaml"} { + matches, err := filepath.Glob(filepath.Join(stackDir, "helmfile.d", pattern)) + if err != nil { + return nil + } + entries = append(entries, matches...) + } + if len(entries) == 0 { return nil } @@ -62,7 +70,13 @@ func stackReleaseNamespaces(stackDir string) []string { for _, path := range entries { body, err := os.ReadFile(path) if err != nil { - continue + // Bail out rather than deriving a partial list. A single + // unreadable fragment (a root-owned 0600 file left by "sudo + // helmfile", say) would otherwise silently drop a third of the + // namespaces, and the caller prefers any non-empty derived list + // over the complete static fallback. That turns a truncated scan + // into an affirmative all-clear. + return nil } for _, m := range helmfileNamespaceRE.FindAllStringSubmatch(string(body), -1) { if ns := strings.TrimSpace(m[1]); ns != "" { @@ -86,8 +100,8 @@ func stackReleaseNamespaces(stackDir string) []string { // It prefers what the stack actually declares and falls back to the static // list when no stack is available. func resolveStackNamespaces(stackDir string, fallback []string) []string { - if derived := stackReleaseNamespaces(stackDir); len(derived) > 0 { - return derived - } - return fallback + // Union, not replace. The derived list follows the stack, but it cannot see + // namespaces behind a helmfiles: include, so on its own it can still be + // short. Merging keeps the static list as a floor. + return mergeNamespaces(fallback, stackReleaseNamespaces(stackDir)) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go index febf3ff2c3..b5319c20f2 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go @@ -88,12 +88,40 @@ func TestResolveStackNamespaces_FallsBackWhenNoStack(t *testing.T) { "a directory with no helmfile.d must use the static list") } -func TestResolveStackNamespaces_PrefersStack(t *testing.T) { +// The derived list is additive, not a replacement: it cannot see namespaces +// behind a helmfiles: include, so on its own it can still be short. The static +// list stays as a floor. +func TestResolveStackNamespaces_UnionsStackWithStatic(t *testing.T) { dir := writeStack(t, map[string]string{ "01.yaml.gotmpl": "releases:\n - name: a\n namespace: from-stack\n", }) - assert.Equal(t, []string{"from-stack"}, resolveStackNamespaces(dir, []string{"static"}), - "a readable stack must win over the static list") + got := resolveStackNamespaces(dir, []string{"static"}) + assert.Contains(t, got, "from-stack", "the stack's namespaces must be picked up") + assert.Contains(t, got, "static", "the static list must remain a floor") +} + +// An unreadable fragment must not yield a truncated list that then overrides +// the complete static one, which would report an affirmative all-clear over a +// scan missing a third of its namespaces. +func TestStackReleaseNamespaces_UnreadableFragmentYieldsNothing(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml.gotmpl": "releases:\n - name: a\n namespace: one\n", + "02.yaml.gotmpl": "releases:\n - name: b\n namespace: two\n", + }) + unreadable := filepath.Join(dir, "helmfile.d", "02.yaml.gotmpl") + require.NoError(t, os.Chmod(unreadable, 0o000)) + t.Cleanup(func() { _ = os.Chmod(unreadable, 0o600) }) + + assert.Nil(t, stackReleaseNamespaces(dir), + "a partial parse must not masquerade as the stack's full namespace set") +} + +// helmfile accepts plain .yaml fragments too. +func TestStackReleaseNamespaces_ReadsPlainYAMLFragments(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml": "releases:\n - name: a\n namespace: plain-yaml\n", + }) + assert.Contains(t, stackReleaseNamespaces(dir), "plain-yaml") } // A `namespace:` key nested inside a release's values block is chart diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 7dde653238..02a42b108e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -138,6 +138,10 @@ func helmReleaseExists( func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { var stale []StaleNamespace + // noRelease is held back until we know the Helm storage driver keeps its + // state in-cluster at all; see the gate below. + var noRelease []string + anyHelmReleaseSeen := false for _, name := range namespaces { ns, err := client.CoreV1().Namespaces().Get(ctx, name, metav1.GetOptions{}) if err != nil { @@ -167,6 +171,7 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) } if found { + anyHelmReleaseSeen = true continue // healthy: active Helm release found via the secret driver } found, err = helmReleaseExists( @@ -180,7 +185,19 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name if err != nil { return stale, fmt.Errorf("list Helm configmaps in %s: %w", name, err) } - if !found { + if found { + anyHelmReleaseSeen = true + continue + } + noRelease = append(noRelease, name) + } + + // Only trust the "no Helm release" signal when at least one owner=helm + // object was seen somewhere. HELM_DRIVER=sql keeps release state in a + // database with no in-cluster object at all, so without this every + // namespace of a healthy production install reports stale. + if anyHelmReleaseSeen { + for _, name := range noRelease { stale = append(stale, StaleNamespace{Name: name, Reason: "no Helm release"}) } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 3276f2d971..6278985c93 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -72,11 +72,26 @@ func TestProbeStaleNamespaces_TerminatingIsByPhase(t *testing.T) { func TestProbeStaleNamespaces_EmptyShellNoHelmSecrets(t *testing.T) { // Namespace exists and is Active but holds no Helm release secrets -> // leftover empty shell from a partial helm uninstall. - client := fake.NewSimpleClientset(&corev1.Namespace{ - ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, - Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, - }) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + // + // A second namespace carries a real release so the driver is known to keep + // its state in-cluster. Without that the signal is unusable and correctly + // suppressed, which is what HELM_DRIVER=sql looks like. + client := fake.NewSimpleClientset( + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "sis"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, + &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: "sh.helm.release.v1.sis.v1", + Namespace: "sis", + Labels: map[string]string{"owner": "helm", "name": "sis", "status": "deployed"}, + }}, + ) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) require.NoError(t, err) require.Len(t, stale, 1) assert.Equal(t, "nvcf", stale[0].Name) @@ -236,7 +251,7 @@ func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { assert.Contains(t, r.Message, "api-keys") assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", "the remediation must use the finalize subresource; a plain patch is silently reverted") - assert.Contains(t, r.Message, "kubectl delete namespace api-keys") + assert.Contains(t, r.Message, "kubectl get all -n api-keys") } // A namespace on a real install holds many non-Helm Secrets (ServiceAccount @@ -310,7 +325,7 @@ func TestStaleNamespaceCheck_HintsPinTheProbedContext(t *testing.T) { assert.True(t, strings.HasPrefix(cmd, "--context cp-ctx "), "unpinned kubectl invocation in hint: kubectl %s", cmd) } - assert.Contains(t, r.Message, "kubectl --context cp-ctx delete namespace api-keys") + assert.Contains(t, r.Message, "kubectl --context cp-ctx get all -n api-keys") } func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { @@ -319,7 +334,7 @@ func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } r := staleNamespaceCheck(prober, "my ctx", []string{"nvcf"}).Run(context.Background()) - assert.Contains(t, r.Message, "--context 'my ctx' delete namespace nvcf", + assert.Contains(t, r.Message, "--context 'my ctx' get all -n nvcf", "a context name with a space must be quoted so the pasted command does not split it") } @@ -352,7 +367,7 @@ func TestStaleNamespaceCheck_HintsNameTheCurrentContext(t *testing.T) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) - assert.Contains(t, r.Message, "kubectl --context k3d-local delete namespace nvcf") + assert.Contains(t, r.Message, "kubectl --context k3d-local get all -n nvcf") } // An unreadable kubeconfig must not break the hint; it degrades to no flag. @@ -362,7 +377,7 @@ func TestStaleNamespaceCheck_HintsOmitUnknownContext(t *testing.T) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) - assert.Contains(t, r.Message, "kubectl delete namespace nvcf") + assert.Contains(t, r.Message, "kubectl get all -n nvcf") } // The probe must run against the same context the hints name. Resolving the @@ -379,3 +394,58 @@ func TestStaleNamespaceCheck_ProbesTheResolvedContext(t *testing.T) { assert.Equal(t, "k3d-local", probed, "the probe must target the resolved context, not whatever is current when it runs") } + +// HELM_DRIVER=sql keeps release state in a database, so a healthy production +// install has no owner=helm object anywhere. Without a gate every stack +// namespace reports stale at error severity with a delete remediation. +func TestProbeStaleNamespaces_NoHelmObjectsAnywhereReportsNothing(t *testing.T) { + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "sis"}}, + ) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) + require.NoError(t, err) + assert.Empty(t, got, + "with no in-cluster Helm state at all the signal is unusable, not evidence of staleness") +} + +// A namespace stuck Terminating is still reported even when no Helm release +// object exists anywhere: that signal does not depend on the storage driver. +func TestProbeStaleNamespaces_TerminatingReportedWithoutHelmObjects(t *testing.T) { + client := fake.NewSimpleClientset( + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, + }, + ) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + require.Len(t, got, 1) + assert.Equal(t, "stuck Terminating", got[0].Reason) +} + +// A conditionally-disabled component installed the upstream way is healthy. +// Reporting it at error severity turns a supported shape into exit 2, and the +// old remediation would have destroyed every Certificate in the cluster. +func TestStaleNamespaceCheck_NoHelmReleaseWarnsAndDoesNotSuggestDelete(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "cert-manager", Reason: "no Helm release"}}, nil + } + r := staleNamespaceCheck(prober, "", []string{"cert-manager"}).Run(context.Background()) + + assert.Equal(t, SeverityWarning, r.Severity, + "a namespace with no Helm release must not fail the run") + assert.NotContains(t, r.Message, "delete namespace", + "the remediation must not destroy a namespace the operator may own") +} + +// A namespace stuck Terminating does block the run. +func TestStaleNamespaceCheck_TerminatingIsStillAnError(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: "stuck Terminating"}}, nil + } + r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) + assert.Equal(t, SeverityError, r.Severity) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index f608623a4a..6b96684eee 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -436,18 +436,6 @@ var ngcApprovedHosts = []string{ ".ngc.nvidia", } -// isNGCRegistry returns true when the registry host belongs to an NVIDIA / NGC -// domain. The check strips any port from the registry string before matching -// so that nvcr.io:443 is handled correctly, and uses dot-boundary matching to -// reject deceptive suffixes such as evilnvcr.io or nvidia.com.invalid. -// isBareRegistryHost reports whether s is a plain host[:port], with nothing in -// it that could move the request somewhere else once concatenated into a URL. -// -// This matters because the registry string is interpolated directly into -// "https://" + registry + "/...". A value like "evil.com/x.nvcr.io" ends with a -// trusted suffix but parses to host evil.com, so a suffix check alone would -// authorize sending credentials to an attacker. IPv6 literals keep their -// brackets and are allowed. func isBareRegistryHost(s string) bool { if s == "" { return false @@ -465,6 +453,18 @@ func isBareRegistryHost(s string) bool { return true } +// isNGCRegistry returns true when the registry host belongs to an NVIDIA / NGC +// domain. The check strips any port from the registry string before matching +// so that nvcr.io:443 is handled correctly, and uses dot-boundary matching to +// reject deceptive suffixes such as evilnvcr.io or nvidia.com.invalid. +// isBareRegistryHost reports whether s is a plain host[:port], with nothing in +// it that could move the request somewhere else once concatenated into a URL. +// +// This matters because the registry string is interpolated directly into +// "https://" + registry + "/...". A value like "evil.com/x.nvcr.io" ends with a +// trusted suffix but parses to host evil.com, so a suffix check alone would +// authorize sending credentials to an attacker. IPv6 literals keep their +// brackets and are allowed. func isNGCRegistry(registry string) bool { // Never treat a value we cannot safely place in a URL as an NGC host: the // caller uses this to decide whether to forward the NGC API key. From e5ab3dde80a48b6fb91999728d69eed74eb891da Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 22 Sep 2026 16:56:44 +0530 Subject: [PATCH 033/127] fix(nvcf-cli): bound the validator Job and make the check command's tests hermetic --- src/clis/nvcf-cli/cmd/main_test.go | 27 +++- src/clis/nvcf-cli/cmd/self_hosted_check.go | 4 +- .../nvcf-cli/cmd/self_hosted_check_test.go | 19 +++ .../internal/selfhosted/clustervalidator.go | 67 ++++++++- .../selfhosted/clustervalidator_test.go | 131 +++++++++++++++++- .../nvcf-cli/internal/selfhosted/preflight.go | 13 +- .../internal/selfhosted/pullsecret.go | 17 +-- .../internal/selfhosted/pullsecret_test.go | 58 ++++---- .../selfhosted/stack_namespaces_test.go | 8 +- .../selfhosted/stale_namespace_test.go | 19 +++ 10 files changed, 309 insertions(+), 54 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index d0fa86ed75..4d65747743 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -21,14 +21,35 @@ import ( "context" "os" "testing" + + "nvcf-cli/internal/selfhosted" ) -// Default-stub out the validator-tag registry probe so cmd tests don't make -// real network calls or pollute the on-disk cache. Individual tests can -// reassign the variable if they explicitly want to exercise discovery. +// Default-stub every seam that would otherwise reach the developer's cluster or +// the network. Individual tests reassign a variable when they explicitly want +// to exercise that path. +// +// These are not conveniences. Without them `go test ./cmd/` creates a hostPath +// busybox pod per node in `default` (the inotify probe), lists Secrets across +// the stack namespaces of whatever kubeconfig happens to be current, and makes +// an outbound request to nvcr.io per configured registry. That mutates a real +// cluster from a unit test, and it is why the package took minutes and failed +// on a proxied kubeconfig rather than seconds and deterministically. func TestMain(m *testing.M) { resolveLatestValidatorTagForSelfHosted = func(_ context.Context, _ string) (string, bool) { return "", false } + // Nil prober: the inotify check is skipped rather than creating pods. + newInotifyProberForSelfHosted = func() selfhosted.NodeInotifyProber { return nil } + // No cluster contact, and a clean result so the category still renders. + newStaleNamespaceProberForSelfHosted = func() selfhosted.StaleNamespaceProber { + return func(context.Context, string, []string) ([]selfhosted.StaleNamespace, error) { + return nil, nil + } + } + // No outbound registry request. + newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { + return func(context.Context, string, string, bool) error { return nil } + } os.Exit(m.Run()) } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index f400339f1c..e8e80d40c7 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -453,7 +453,9 @@ func maybeShowClusterValidatorLogs(w io.Writer, results []selfhosted.CheckResult fmt.Fprintln(w, "--- cluster-validator logs ---") fmt.Fprint(w, r.Logs) fmt.Fprintln(w, "--- end cluster-validator logs ---") - return + // No early return: both roles produce a cluster-validator result under + // the same ID, so stopping at the first drops the other transcript + // entirely from --all --show-logs. } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 46e0d312b6..ddf4f72cac 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -714,3 +714,22 @@ func TestEmitCheckFinal_ErrorIsAFailure(t *testing.T) { assert.Contains(t, buf.String(), `"verdict":"failed"`) assert.Contains(t, buf.String(), `"success":false`) } + +// Both roles emit a cluster-validator result under the same ID, so stopping at +// the first drops the other transcript entirely from --all --show-logs. +func TestMaybeShowClusterValidatorLogs_PrintsBothRoles(t *testing.T) { + prev := checkShowLogs + checkShowLogs = true + t.Cleanup(func() { checkShowLogs = prev }) + + var buf bytes.Buffer + maybeShowClusterValidatorLogs(&buf, []selfhosted.CheckResult{ + {ID: "cluster-validator", Logs: "control-plane transcript\n"}, + {ID: "cluster-validator", Logs: "compute-plane transcript\n"}, + }) + + out := buf.String() + assert.Contains(t, out, "control-plane transcript") + assert.Contains(t, out, "compute-plane transcript") + assert.Equal(t, 2, strings.Count(out, "--- cluster-validator logs ---")) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 506cc56d93..7ce77715cd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -139,7 +139,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // Resolver errors are non-fatal: fall through to the caller's value and // let waitForClusterValidatorJob surface ImagePullBackOff if needed. - if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role); err == nil { + if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role, noCleanup); err == nil { pullSecret = resolved } // Sweep only this role's managed pull secret, and only once the pod can no @@ -176,7 +176,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image sweepClusterValidatorRBAC(context.Background(), client, role, runID) } }() - if err := ensureClusterValidatorRBAC(vctx, client, role, runID); err != nil { + if err := ensureClusterValidatorRBAC(vctx, client, role, runID, noCleanup); err != nil { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } @@ -259,8 +259,8 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // Creates the SA/ClusterRole/ClusterRoleBinding the validator pod runs under, // idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so // newer CLI versions replace stale rules without the operator needing to delete. -func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) error { - roleLabels := clusterValidatorRoleLabels(role) +func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool) error { + roleLabels := clusterValidatorRoleLabelsPreserved(role, preserve) name := clusterValidatorRBACName(role, runID) sa := &corev1.ServiceAccount{ @@ -341,8 +341,17 @@ func clusterValidatorLabels() map[string]string { // role's Job mid-command, including under --no-cleanup, which makes the // printed `kubectl logs job/...` hint 404. func clusterValidatorRoleLabels(role string) map[string]string { + return clusterValidatorRoleLabelsPreserved(role, false) +} + +// clusterValidatorRoleLabelsPreserved adds the preserve marker when the run was +// asked to keep its artifacts, so the orphan sweeper leaves them alone. +func clusterValidatorRoleLabelsPreserved(role string, preserve bool) map[string]string { l := clusterValidatorLabels() l[clusterValidatorRoleLabel] = role + if preserve { + l[clusterValidatorPreserveLabel] = "true" + } return l } @@ -373,10 +382,25 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte // reclaimable requires the generated name as well as the labels and the // age. Labels alone are three public constants and can be copied onto // anything, and this deletes cluster-scoped objects with errors swallowed. + // Pull secrets carry the other generated-name prefix. + reclaimableSecret := func(o metav1.Object) bool { + if !strings.HasPrefix(o.GetName(), validatorPullSecretName) { + return false + } + if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { + return false + } + ts := o.GetCreationTimestamp() + return ts.Before(&cutoff) + } + reclaimable := func(o metav1.Object) bool { if !strings.HasPrefix(o.GetName(), clusterValidatorName) { return false } + if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { + return false + } ts := o.GetCreationTimestamp() return ts.Before(&cutoff) } @@ -395,6 +419,18 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } } + // Pull secrets too: the deferred sweep is suppressed whenever the pod may + // still be running, and that is exactly the ImagePullBackOff path, so + // without this arm a Secret holding $oauthtoken:$NGC_API_KEY is the one + // object with no reclaim at all. + secrets := client.CoreV1().Secrets(clusterValidatorNamespace) + if l, err := secrets.List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; reclaimableSecret(o) { + _ = secrets.Delete(ctx, o.Name, deleteExactly(o)) + } + } + } sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) if l, err := sa.List(ctx, opts); err == nil { for i := range l.Items { @@ -509,6 +545,12 @@ const clusterValidatorNoConfigName = "cluster-validator-no-config" // clusterValidatorRoleLabel scopes Job selectors to a single validator role. const clusterValidatorRoleLabel = "nvcf.nvidia.com/validator-role" +// clusterValidatorPreserveLabel marks objects an operator asked to keep with +// --no-cleanup. The orphan sweeper skips them: without it a preserved run is +// reclaimed anyway once it is older than the TTL, which makes the flag mean +// "keep for 30 minutes". +const clusterValidatorPreserveLabel = "nvcf.nvidia.com/validator-preserve" + // clusterValidatorRBACName returns the ServiceAccount / ClusterRole / // ClusterRoleBinding name for one run of one role. // @@ -553,7 +595,13 @@ const controlPlaneValidatorConfigTemplate = `reachability: protocol: tcp+tls critical: true enforcement: - enabled: true + # Disabled for preflight. VALIDATOR_PREFLIGHT only suppresses the summary + # write, so enforcement would still run: it creates netpol-validation + # namespaces, server and client pods and NetworkPolicies, and pulls + # busybox from Docker Hub. Doing that on a virgin or air-gapped cluster, + # before anything is installed and with no flag to turn it off, is not + # something a read-only readiness check should do. + enabled: false testImage: busybox:1.36 timeoutSeconds: 60 critical: false @@ -667,6 +715,7 @@ func parseRegistryHostPort(s string) (host string, port int) { // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool) *batchv1.Job { backoff := int32(0) + activeDeadline := int64(clusterValidatorTimeout/time.Second) + 60 // Pod shape mirrors deployments/nvca-operator/templates/cronjob.yaml, which // runs this same image. Two producers of one pod spec now exist in two // languages, so they are kept deliberately in step: without the security @@ -725,6 +774,14 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle }, Spec: batchv1.JobSpec{ BackoffLimit: &backoff, + // Without a deadline an ImagePullBackOff Job never reaches a + // terminal state, so TTLSecondsAfterFinished never fires and the + // Job, its RBAC and its pull secret persist indefinitely. The + // deferred sweeps are suppressed on that path by design, because + // the pod may still be running, so this is the only reclaim. + // Sized above the runner's own budget so it never truncates a wait + // that is still making progress. + ActiveDeadlineSeconds: &activeDeadline, Template: corev1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{Labels: clusterValidatorRoleLabels(role)}, Spec: podSpec, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index ff61e2a931..f9732e31c1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -246,7 +246,7 @@ func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { const role = clusterValidatorControlPlaneRole const runID = "testrunid" - require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role, runID)) + require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role, runID, false)) cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorRBACName(role, runID), metav1.GetOptions{}) require.NoError(t, err) @@ -706,7 +706,7 @@ func TestEnsureClusterValidatorRBAC_DoesNotAdoptExistingObjects(t *testing.T) { }, }) - err := ensureClusterValidatorRBAC(ctx, client, role, runID) + err := ensureClusterValidatorRBAC(ctx, client, role, runID, false) require.Error(t, err, "a pre-existing object must not be adopted, forged labels or not") _, bindErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) @@ -831,13 +831,17 @@ func TestSweepClusterValidatorConfig_DeletesOwnAndSparesOperators(t *testing.T) func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { prior := &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ Name: clusterValidatorName + "-earlier", Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), + Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), + CreationTimestamp: metav1.NewTime(time.Now()), }} secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), Namespace: clusterValidatorNamespace, Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), + // The fake clientset leaves this zero, which the orphan sweeper + // reads as older than any TTL. A real apiserver stamps it. + CreationTimestamp: metav1.NewTime(time.Now()), }, Type: corev1.SecretTypeDockerConfigJson, } @@ -892,3 +896,124 @@ func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { assert.False(t, spec.Containers[0].Resources.Requests.Cpu().IsZero(), "a namespace with a LimitRange or quota rejects a pod with no requests") } + +// An ImagePullBackOff Job never reaches a terminal state on its own, so +// TTLSecondsAfterFinished never fires and the Job, its cluster-wide RBAC and +// its NGC-derived pull secret persist forever. The deferred sweeps are +// suppressed on that path by design, so the deadline is the only reclaim. +func TestBuildClusterValidatorJob_SetsActiveDeadline(t *testing.T) { + job := buildClusterValidatorJob("j", "nvcr.io/x/validator:1", "", + clusterValidatorControlPlaneRole, "runid", false) + require.NotNil(t, job.Spec.ActiveDeadlineSeconds, + "a Job with no deadline cannot terminate itself on a pull failure") + assert.Greater(t, *job.Spec.ActiveDeadlineSeconds, int64(clusterValidatorTimeout/time.Second), + "the deadline must outlast the runner's own wait so it never truncates a live run") +} + +// The pull secret holds $oauthtoken:$NGC_API_KEY, and the deferred sweep is +// skipped whenever the pod may still be running, which is the pull-failure +// path. The orphan sweeper is its only other reclaim. +func TestSweepOrphanClusterValidatorRBAC_ReclaimsStalePullSecret(t *testing.T) { + old := metav1.NewTime(time.Now().Add(-time.Hour)) + stale := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + CreationTimestamp: old, + }} + client := fake.NewSimpleClientset(stale) + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + _, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( + context.Background(), stale.Name, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "a stale managed pull secret must be reclaimed") +} + +// A fresh secret may belong to a concurrent run, and an operator-supplied one +// carries neither our labels nor our name. +func TestSweepOrphanClusterValidatorRBAC_SparesFreshAndUnmanagedSecrets(t *testing.T) { + fresh := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + CreationTimestamp: metav1.NewTime(time.Now()), + }} + operator := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: "operator-pull", + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + CreationTimestamp: metav1.NewTime(time.Now().Add(-time.Hour)), + }} + client := fake.NewSimpleClientset(fresh, operator) + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + for _, name := range []string{fresh.Name, operator.Name} { + _, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( + context.Background(), name, metav1.GetOptions{}) + assert.NoError(t, err, "%s must survive the orphan sweep", name) + } +} + +// The preflight ConfigMap must not switch on active NetworkPolicy enforcement. +// VALIDATOR_PREFLIGHT only suppresses the summary write, so enforcement would +// still create namespaces, pods and NetworkPolicies and pull busybox from +// Docker Hub, on a cluster where nothing is installed yet. +func TestBuildControlPlaneValidatorConfig_EnforcementDisabledForPreflight(t *testing.T) { + cfg := buildControlPlaneValidatorConfig(nil) + idx := strings.Index(cfg, "enforcement:") + require.GreaterOrEqual(t, idx, 0, "the enforcement block must be present") + assert.Contains(t, cfg[idx:], "enabled: false", + "a read-only readiness check must not mutate the cluster or need Docker Hub") +} + +// --no-cleanup must outlast the orphan TTL. Without a preserve marker the +// orphan sweeper reclaims a deliberately kept run after 30 minutes, which +// makes the flag mean "keep for 30 minutes". +func TestSweepOrphanClusterValidatorRBAC_SparesPreservedObjects(t *testing.T) { + labels := clusterValidatorLabels() + labels[clusterValidatorPreserveLabel] = "true" + old := metav1.NewTime(time.Now().Add(-time.Hour)) + client := fake.NewSimpleClientset( + &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorName + "-control-plane-abc", Labels: labels, CreationTimestamp: old, + }}, + &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Namespace: clusterValidatorNamespace, Labels: labels, CreationTimestamp: old, + }}, + ) + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + _, err := client.RbacV1().ClusterRoles().Get(context.Background(), + clusterValidatorName+"-control-plane-abc", metav1.GetOptions{}) + assert.NoError(t, err, "a preserved ClusterRole must survive the orphan sweep") + _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), + validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + assert.NoError(t, err, "a preserved pull secret must survive the orphan sweep") +} + +// The preserve marker has to be applied at creation, not just honoured by the +// sweeper, or the mechanism is inert. +func TestEnsureClusterValidatorRBAC_LabelsPreservedRun(t *testing.T) { + client := fake.NewSimpleClientset() + require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, + clusterValidatorControlPlaneRole, "abc123", true)) + + cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), + clusterValidatorRBACName(clusterValidatorControlPlaneRole, "abc123"), metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, "true", cr.Labels[clusterValidatorPreserveLabel], + "--no-cleanup must mark its objects so the orphan sweeper spares them") +} + +func TestEnsureClusterValidatorRBAC_NoPreserveLabelByDefault(t *testing.T) { + client := fake.NewSimpleClientset() + require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, + clusterValidatorControlPlaneRole, "abc123", false)) + + cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), + clusterValidatorRBACName(clusterValidatorControlPlaneRole, "abc123"), metav1.GetOptions{}) + require.NoError(t, err) + assert.NotContains(t, cr.Labels, clusterValidatorPreserveLabel, + "an ordinary run must stay reclaimable") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 623c132c75..97285be354 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -800,9 +800,16 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp // Argo, owns a healthy namespace with no owner=helm object. // Handing them "kubectl delete namespace cert-manager" would // destroy every Certificate and Issuer in the cluster. - hints = append(hints, - fmt.Sprintf("inspect these and remove them only after confirming they are unused: %s get all -n %s", - kctl, strings.Join(emptyShell, " -n "))) + // One command per namespace. kubectl takes a single + // namespace and keeps the last -n it sees, so joining them + // produces a command that silently inspects only the last one + // and reports the rest as empty, which is the opposite of what + // an operator deciding whether to delete them needs. + for _, ns := range emptyShell { + hints = append(hints, fmt.Sprintf( + "inspect %s and remove it only after confirming it is unused: %s get all -n %s", + ns, kctl, ns)) + } } // Only a namespace stuck Terminating blocks the run. "No Helm // release" is a heuristic over a conditionally-installed stack, so diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 5904679b98..5309838f4b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -115,6 +115,7 @@ func resolveValidatorPullSecret( ctx context.Context, client kubernetes.Interface, provided, image, role string, + preserve bool, ) (string, error) { if provided != "" { return provided, nil @@ -127,13 +128,13 @@ func resolveValidatorPullSecret( scanCtx, cancel := context.WithTimeout(ctx, validatorPullSecretScanTimeout) defer cancel() - if name, err := scanAndMirrorPullSecret(scanCtx, client, registry, role); err != nil { + if name, err := scanAndMirrorPullSecret(scanCtx, client, registry, role, preserve); err != nil { return "", err } else if name != "" { return name, nil } - if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry, role); err != nil { + if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry, role, preserve); err != nil { return "", err } else if name != "" { return name, nil @@ -165,7 +166,7 @@ func parseRegistryFromImage(image string) string { // registry. Mirrors the body into clusterValidatorNamespace when the match // lives elsewhere, so the Job can reference the secret without cross-namespace // lookups. -func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry, role string) (string, error) { +func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry, role string, preserve bool) (string, error) { for _, ns := range validatorPullSecretSearchNamespaces { // Filter client-side rather than via FieldSelector: server-side // type= selector on Secrets is only honored from k8s 1.27 onward. @@ -201,7 +202,7 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r // the destination namespace, and writeDockerConfigSecret's // delete-and-recreate path would otherwise destroy that // secret on type mismatch. - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg, preserve); err != nil { return "", fmt.Errorf("mirror pull secret %s/%s to %s/%s: %w", s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretRoleName(role), err) } @@ -222,7 +223,7 @@ func dockerConfigHasRegistry(cfg []byte, registry string) bool { return ok } -func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry, role string) (string, error) { +func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry, role string, preserve bool) (string, error) { apiKey := firstNonEmptyEnv(ngcAPIKeyEnvNames...) if apiKey == "" { return "", nil @@ -240,7 +241,7 @@ func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interfac if err != nil { return "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) } - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg, preserve); err != nil { return "", fmt.Errorf("auto-create pull secret %s/%s: %w", clusterValidatorNamespace, validatorPullSecretRoleName(role), err) } @@ -275,8 +276,8 @@ func buildDockerConfigJSON(registry, username, password string) ([]byte, error) // Mirrors cmd/self_hosted_up.go's ensureDockerConfigSecret. Attaches the // CLI's managed-by labels so a future cleanup path can identify resources // to remove. -func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, namespace, name, role string, dockerConfig []byte) error { - labels := clusterValidatorRoleLabels(role) +func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, namespace, name, role string, dockerConfig []byte, preserve bool) error { + labels := clusterValidatorRoleLabelsPreserved(role, preserve) secrets := client.CoreV1().Secrets(namespace) secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index f3d7e7354a..aa0b5227e7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -139,7 +139,7 @@ func TestWriteDockerConfigSecret_Create(t *testing.T) { client := fake.NewSimpleClientset() cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, cfg)) + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, cfg, false), false) got, err := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) require.NoError(t, err) @@ -168,7 +168,7 @@ func TestWriteDockerConfigSecret_Update(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: old}, }) - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh)) + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false), false) got, _ := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) assert.Equal(t, fresh, got.Data[corev1.DockerConfigJsonKey], "data must be updated to the fresh body") @@ -191,7 +191,7 @@ func TestWriteDockerConfigSecret_TypeMismatchReplaces(t *testing.T) { Data: map[string][]byte{"some-key": []byte("some-value")}, }) - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh)) + require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false), false) got, err := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) require.NoError(t, err) @@ -217,7 +217,7 @@ func TestWriteDockerConfigSecret_TypeMismatchRefusesUnlabeledSecret(t *testing.T Data: map[string][]byte{"operator-payload": operatorPayload}, }) - err := writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh) + err := writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false) require.Error(t, err, "must refuse to destroy a non-CLI-managed secret") assert.Contains(t, err.Error(), "not managed by nvcf-cli") @@ -236,7 +236,7 @@ func TestScanAndMirrorPullSecret_FoundInDefault(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "operator-secret", name) @@ -257,7 +257,7 @@ func TestScanAndMirrorPullSecret_FoundInNvcfMirroredToDefault(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), name) @@ -279,14 +279,14 @@ func TestScanAndMirrorPullSecret_RegistryMismatch(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "", name, "secret for a different registry must not match") } func TestScanAndMirrorPullSecret_NoSecrets(t *testing.T) { client := fake.NewSimpleClientset() - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "", name) } @@ -306,7 +306,7 @@ func TestScanAndMirrorPullSecret_PrefersDefaultNamespace(t *testing.T) { }, ) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "in-default", name) } @@ -318,7 +318,7 @@ func TestAutoCreatePullSecretFromEnv_NoEnv(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole) + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "", got, "no env var set means no secret minted") @@ -333,7 +333,7 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-test-123") client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "nvcr.io", clusterValidatorControlPlaneRole) + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "nvcr.io", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) @@ -345,7 +345,7 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "custom-secret", got, "explicit override always wins") @@ -365,7 +365,7 @@ func TestResolveValidatorPullSecret_ScanWins(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) require.NoError(t, err) // Mirror destination is the validator's well-known name, not the // source secret's name (avoids same-name collisions with operator @@ -384,7 +384,7 @@ func TestResolveValidatorPullSecret_EnvFallback(t *testing.T) { t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) @@ -403,7 +403,7 @@ func TestResolveValidatorPullSecret_EnvFallbackRefusesMirroredRegistry(t *testin client := fake.NewSimpleClientset() got, err := resolveValidatorPullSecret(context.Background(), client, "", - "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Empty(t, got, "no secret may be minted for a non-NGC registry") } @@ -414,7 +414,7 @@ func TestResolveValidatorPullSecret_AllEmpty(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "", got, "no override, no scan match, no env var -> empty so kubelet surfaces ImagePullBackOff") } @@ -425,7 +425,7 @@ func TestResolveValidatorPullSecret_UnparsableImage(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage", clusterValidatorControlPlaneRole) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Equal(t, "", got, "no registry hostname means no scan target and no auto-create") @@ -450,12 +450,12 @@ func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") client := fake.NewSimpleClientset() require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - cpName, clusterValidatorControlPlaneRole, cfg)) + cpName, clusterValidatorControlPlaneRole, cfg, false)) require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - gpuName, "compute-plane", cfg)) + gpuName, "compute-plane", cfg, false)) // Our labels, but not a name we generate: must survive. require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - "operator-owned-secret", clusterValidatorControlPlaneRole, cfg)) + "operator-owned-secret", clusterValidatorControlPlaneRole, cfg, false)) sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole) @@ -481,7 +481,7 @@ func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), - clusterValidatorControlPlaneRole, cfg)) + clusterValidatorControlPlaneRole, cfg, false)) got, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) @@ -513,7 +513,7 @@ func TestWriteDockerConfigSecret_RefusesUnmanagedSameTypeSecret(t *testing.T) { }) err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - "nvcf-preflight-pull-secret-control-plane", clusterValidatorControlPlaneRole, ours) + "nvcf-preflight-pull-secret-control-plane", clusterValidatorControlPlaneRole, ours, false) require.Error(t, err, "an unmanaged secret of the same type must not be overwritten") assert.Contains(t, err.Error(), "not managed by nvcf-cli") @@ -568,7 +568,7 @@ func TestWriteDockerConfigSecret_RefusesUnmanagedAfterCreateRace(t *testing.T) { }) err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, name, - clusterValidatorControlPlaneRole, ours) + clusterValidatorControlPlaneRole, ours, false) require.Error(t, err, "losing the create race to an unmanaged secret must not overwrite it") assert.Contains(t, err.Error(), "not managed by nvcf-cli") @@ -599,7 +599,7 @@ func TestWriteDockerConfigSecret_TypeMismatchDeletePinsTheInspectedObject(t *tes }) require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", - "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh)) + "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false), false) require.NotNil(t, opts.Preconditions, "delete must carry preconditions") require.NotNil(t, opts.Preconditions.UID) @@ -635,7 +635,7 @@ func TestWriteDockerConfigSecret_TypeMismatchStopsOnDeleteConflict(t *testing.T) }) err := writeDockerConfigSecret(context.Background(), client, "default", - "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh) + "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false) require.Error(t, err, "a changed object must abort the replace") assert.False(t, created, "must not create over an object that was never vetted") } @@ -649,7 +649,7 @@ func TestAutoCreatePullSecretFromEnv_RefusesNonNGCRegistry(t *testing.T) { client := fake.NewSimpleClientset() name, err := autoCreatePullSecretFromEnv(context.Background(), client, - "ghcr.io", clusterValidatorControlPlaneRole) + "ghcr.io", clusterValidatorControlPlaneRole, false) require.NoError(t, err) assert.Empty(t, name, "no secret may be minted for a non-NGC registry") @@ -676,7 +676,7 @@ func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { client := fake.NewSimpleClientset(otherRole) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", - clusterValidatorComputePlaneRole) + clusterValidatorComputePlaneRole, false) require.NoError(t, err) assert.NotEqual(t, otherRole.Name, got, "the compute role must not adopt the control-plane role's managed Secret") @@ -694,7 +694,7 @@ func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { client := fake.NewSimpleClientset(operator) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", - clusterValidatorComputePlaneRole) + clusterValidatorComputePlaneRole, false) require.NoError(t, err) assert.Equal(t, "operator-pull", got) } @@ -714,7 +714,7 @@ func TestScanAndMirrorPullSecret_AdoptsOwnRoleSecret(t *testing.T) { client := fake.NewSimpleClientset(own) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", - clusterValidatorComputePlaneRole) + clusterValidatorComputePlaneRole, false) require.NoError(t, err) assert.Equal(t, own.Name, got) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go index b5319c20f2..236e0102fd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go @@ -108,9 +108,13 @@ func TestStackReleaseNamespaces_UnreadableFragmentYieldsNothing(t *testing.T) { "01.yaml.gotmpl": "releases:\n - name: a\n namespace: one\n", "02.yaml.gotmpl": "releases:\n - name: b\n namespace: two\n", }) + // A directory, not a chmod 000 file: root bypasses the permission bits, so + // a mode-based fixture passes locally and fails in CI, where tests run as + // root. os.ReadFile returns EISDIR for every UID, so the test means the + // same thing everywhere rather than being skipped where it matters most. unreadable := filepath.Join(dir, "helmfile.d", "02.yaml.gotmpl") - require.NoError(t, os.Chmod(unreadable, 0o000)) - t.Cleanup(func() { _ = os.Chmod(unreadable, 0o600) }) + require.NoError(t, os.Remove(unreadable)) + require.NoError(t, os.Mkdir(unreadable, 0o755)) assert.Nil(t, stackReleaseNamespaces(dir), "a partial parse must not masquerade as the stack's full namespace set") diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 6278985c93..e99a06868f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -449,3 +449,22 @@ func TestStaleNamespaceCheck_TerminatingIsStillAnError(t *testing.T) { r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) assert.Equal(t, SeverityError, r.Severity) } + +// kubectl keeps only the last -n it is given, so a joined command inspects one +// namespace and reports the rest as empty, which is the opposite of what an +// operator deciding whether to delete them needs. +func TestStaleNamespaceCheck_HintsOneCommandPerNamespace(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{ + {Name: "api-keys", Reason: "no Helm release"}, + {Name: "ess", Reason: "no Helm release"}, + }, nil + } + r := staleNamespaceCheck(prober, "", []string{"api-keys", "ess"}).Run(context.Background()) + + assert.NotContains(t, r.Message, "-n api-keys -n ess", + "a joined namespace list silently inspects only the last one") + assert.Contains(t, r.Message, "get all -n api-keys") + assert.Contains(t, r.Message, "get all -n ess") +} From 937c88d4288e9d793ac761ed96b8293eaa90b692 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 22 Sep 2026 18:10:09 +0530 Subject: [PATCH 034/127] docs(nvcf-cli): give isBareRegistryHost and isNGCRegistry their own doc comments An earlier insertion landed isBareRegistryHost's doc inside isNGCRegistry's comment block, leaving one function undocumented and the other described by two stacked paragraphs. Same insertion-before-anchor pattern fixed elsewhere in this branch; no behaviour change. --- .../nvcf-cli/internal/selfhosted/validatortag.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 6b96684eee..59de253e63 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -436,6 +436,14 @@ var ngcApprovedHosts = []string{ ".ngc.nvidia", } +// isBareRegistryHost reports whether s is a plain host[:port], with nothing in +// it that could move the request somewhere else once concatenated into a URL. +// +// This matters because the registry string is interpolated directly into +// "https://" + registry + "/...". A value like "evil.com/x.nvcr.io" ends with a +// trusted suffix but parses to host evil.com, so a suffix check alone would +// authorize sending credentials to an attacker. IPv6 literals keep their +// brackets and are allowed. func isBareRegistryHost(s string) bool { if s == "" { return false @@ -457,14 +465,6 @@ func isBareRegistryHost(s string) bool { // domain. The check strips any port from the registry string before matching // so that nvcr.io:443 is handled correctly, and uses dot-boundary matching to // reject deceptive suffixes such as evilnvcr.io or nvidia.com.invalid. -// isBareRegistryHost reports whether s is a plain host[:port], with nothing in -// it that could move the request somewhere else once concatenated into a URL. -// -// This matters because the registry string is interpolated directly into -// "https://" + registry + "/...". A value like "evil.com/x.nvcr.io" ends with a -// trusted suffix but parses to host evil.com, so a suffix check alone would -// authorize sending credentials to an attacker. IPv6 literals keep their -// brackets and are allowed. func isNGCRegistry(registry string) bool { // Never treat a value we cannot safely place in a URL as an NGC host: the // caller uses this to decide whether to forward the NGC API key. From fe418ddf01b1af00ef0206623635526030596e08 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 22 Sep 2026 18:10:39 +0530 Subject: [PATCH 035/127] fix(nvcf-cli): scope the validator's pull secret and config to one run The pull Secret and the network-checks ConfigMap were both created under predictable names and owned by labels alone. The managed labels are three public constants, so anyone able to create objects in the validator's namespace could pre-create either name wearing those labels, pass the ownership check, and receive whatever the run wrote there. For the Secret that is the NGC credential. Both names now carry the run's unguessable suffix, matching what the RBAC objects already did, and the Secret write is create-only: nothing this CLI created can hold a name it just generated, so an AlreadyExists means another object does and erroring beats overwriting. That removed the last caller of refuseIfUnmanaged, which is deleted here. Run-scoping also removes two lifetime conflicts. Two overlapping commands no longer share one ConfigMap, where the first to finish deleted config the other pod had not read yet; and a sweep can no longer delete a Secret another run selected. The orphan sweeper gains Secret and ConfigMap arms, because run-scoped names removed the accidental self-healing a fixed name gave us: a killed run used to leave one object the next run overwrote, and would now leave one per run, per --wait poll. Also here: the Job carries activeDeadlineSeconds, so an ImagePullBackOff can reach a terminal state and its TTL can fire rather than leaking the Job, its cluster-wide RBAC and its pull secret indefinitely; --no-cleanup marks every object it preserves so the orphan sweeper spares them instead of reclaiming a deliberately kept run after 30 minutes; and enforcement is disabled in the preflight template, since a readiness check should not create namespaces, pods and NetworkPolicies or need Docker Hub egress before anything is installed. --- .../internal/selfhosted/clustervalidator.go | 115 +++-- .../selfhosted/clustervalidator_test.go | 108 ++++- .../internal/selfhosted/pullsecret.go | 164 ++----- .../internal/selfhosted/pullsecret_test.go | 403 +++++------------- 4 files changed, 343 insertions(+), 447 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 7ce77715cd..307c599c43 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -137,9 +137,24 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // inside it reclaiming them breaks the pod that is still running. podMayBeRunning := false + // Random per-run identity. Every object this run creates carries it, so a + // predictable name cannot be pre-created by someone else and then either + // bound to the validator's cluster-wide permissions or overwritten with the + // NGC credential. Generated before anything is created, because the pull + // secret name needs it too. + runID, err := newValidatorRunID() + if err != nil { + return ClusterValidatorResult{Err: err} + } + + // Reclaim leftovers from dead runs before resolving this run's pull secret, + // not after: the sweep matches on the shared name prefix, so running it + // later can delete the Secret this run just selected. + sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) + // Resolver errors are non-fatal: fall through to the caller's value and // let waitForClusterValidatorJob surface ImagePullBackOff if needed. - if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role, noCleanup); err == nil { + if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role, runID, noCleanup); err == nil { pullSecret = resolved } // Sweep only this role's managed pull secret, and only once the pod can no @@ -153,17 +168,10 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // per-role secret scoping exists to prevent. defer func() { if !noCleanup && !podMayBeRunning { - sweepManagedPullSecrets(context.Background(), client, role) + sweepManagedPullSecrets(context.Background(), client, role, runID) } }() - // Random per-run identity for the SA/ClusterRole/ClusterRoleBinding, so a - // predictable name cannot be pre-created by someone else and then bound to - // the validator's cluster-wide permissions. - runID, err := newValidatorRunID() - if err != nil { - return ClusterValidatorResult{Err: err} - } // Register the cleanup before the bootstrap, not after. ensureClusterValidatorRBAC // creates three objects in sequence and returns on the first failure, so a // kubeconfig that can create a ServiceAccount but not a cluster-scoped @@ -193,10 +201,10 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // operator asked to keep the run's artifacts. defer func() { if !noCleanup && !podMayBeRunning { - sweepClusterValidatorConfig(context.Background(), client) + sweepClusterValidatorConfig(context.Background(), client, runID) } }() - if err := ensureClusterValidatorConfig(vctx, client, registries); err != nil { + if err := ensureClusterValidatorConfig(vctx, client, registries, runID, noCleanup); err != nil { // Non-fatal: continue without the ConfigMap; the validator skips // configurable reachability and enforcement checks silently unless // we surface this note in the transcript. @@ -204,7 +212,6 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } } - sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) // Skipped under --no-cleanup: this runs before the new Job is created, so // otherwise the next same-role run destroys the Job the operator asked to // keep. The singleton guarantee is worth less than the artifact they kept. @@ -359,13 +366,38 @@ func clusterValidatorRoleLabelsPreserved(role string, preserve bool) map[string] // should read. Only the control-plane role has one; the compute-plane role gets // a sentinel that resolves to nothing so it cannot inherit the control-plane's // reachability and enforcement config. -func validatorConfigNameForRole(role string) string { +func validatorConfigNameForRole(role, runID string) string { if role == clusterValidatorControlPlaneRole { - return clusterValidatorConfigName + return clusterValidatorConfigRunName(runID) } return clusterValidatorNoConfigName } +// clusterValidatorConfigLabels are the managed labels for the network-checks +// ConfigMap, plus the preserve marker when the run was asked to keep its +// artifacts. Without the marker the next run's orphan sweeper reclaims the +// ConfigMap once it is older than the TTL, and an operator re-running a Job +// they deliberately kept gets a validator that silently skips the configurable +// reachability and enforcement checks. +func clusterValidatorConfigLabels(preserve bool) map[string]string { + l := clusterValidatorLabels() + if preserve { + l[clusterValidatorPreserveLabel] = "true" + } + return l +} + +// clusterValidatorConfigRunName scopes the network-checks ConfigMap to one run. +// A shared name lets two overlapping commands overwrite each other's registry +// list, and lets the first to finish delete the config the other pod has not +// read yet. +func clusterValidatorConfigRunName(runID string) string { + if runID == "" { + return clusterValidatorConfigName + } + return clusterValidatorConfigName + "-" + runID +} + // sweepOrphanClusterValidatorRBAC removes validator RBAC left behind by a run // that died before its deferred cleanup (SIGKILL, OOM, lost terminal). // @@ -382,6 +414,18 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte // reclaimable requires the generated name as well as the labels and the // age. Labels alone are three public constants and can be copied onto // anything, and this deletes cluster-scoped objects with errors swallowed. + // Network-check ConfigMaps carry their own generated-name prefix. + reclaimableConfig := func(o metav1.Object) bool { + if !strings.HasPrefix(o.GetName(), clusterValidatorConfigName) { + return false + } + if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { + return false + } + ts := o.GetCreationTimestamp() + return ts.Before(&cutoff) + } + // Pull secrets carry the other generated-name prefix. reclaimableSecret := func(o metav1.Object) bool { if !strings.HasPrefix(o.GetName(), validatorPullSecretName) { @@ -419,6 +463,19 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } } + // Network-check ConfigMaps too. Run-scoping the name removed the accidental + // self-healing the fixed name gave us: a killed run used to leave exactly + // one object that the next run overwrote, and now each leaves its own, so + // under --wait they accumulate per poll. Same shape as the RBAC objects. + cms := client.CoreV1().ConfigMaps(clusterValidatorNamespace) + if l, err := cms.List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; reclaimableConfig(o) { + _ = cms.Delete(ctx, o.Name, deleteExactly(o)) + } + } + } + // Pull secrets too: the deferred sweep is suppressed whenever the pod may // still be running, and that is exactly the ImagePullBackOff path, so // without this arm a Secret holding $oauthtoken:$NGC_API_KEY is the one @@ -500,7 +557,7 @@ func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Inter // Operator-supplied secrets via --cluster-validator-pull-secret aren't // labeled by us and are skipped by the selector. Errors are swallowed: // failing to clean up is preferable to failing the check itself. -func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role string) { +func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role, runID string) { // Same reasoning as sweepPriorClusterValidatorJobs: the generated name is // part of the ownership test, not just the labels. secrets := client.CoreV1().Secrets(clusterValidatorNamespace) @@ -509,7 +566,9 @@ func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, r return } for i := range l.Items { - if !strings.HasPrefix(l.Items[i].Name, validatorPullSecretName) { + // Only this run's Secret. The name is unguessable and unique per run, + // so a sweep can no longer take out a Secret another run selected. + if l.Items[i].Name != validatorPullSecretRunName(role, runID) { continue } _ = secrets.Delete(ctx, l.Items[i].Name, deleteExactly(&l.Items[i])) @@ -610,18 +669,18 @@ enforcement: // ensureClusterValidatorConfig creates or updates the network-check ConfigMap. // extraRegistries are added as non-critical tcp+tls probes. Best-effort: the // validator skips configurable checks when the ConfigMap is absent. -func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, extraRegistries []string) error { +func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, extraRegistries []string, runID string, preserve bool) error { content := buildControlPlaneValidatorConfig(extraRegistries) desired := &corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigName, + Name: clusterValidatorConfigRunName(runID), Namespace: clusterValidatorNamespace, - Labels: clusterValidatorLabels(), + Labels: clusterValidatorConfigLabels(preserve), }, Data: map[string]string{"config.yaml": content}, } - existing, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, clusterValidatorConfigName, metav1.GetOptions{}) + existing, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, clusterValidatorConfigRunName(runID), metav1.GetOptions{}) if err != nil { if !apierrors.IsNotFound(err) { return fmt.Errorf("get validator config ConfigMap: %w", err) @@ -637,7 +696,7 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa if !hasValidatorManagedLabels(existing.Labels) { return fmt.Errorf( "refusing to overwrite ConfigMap %s/%s which is not managed by nvcf-cli", - clusterValidatorNamespace, clusterValidatorConfigName) + clusterValidatorNamespace, clusterValidatorConfigRunName(runID)) } existing.Data = desired.Data existing.Labels = desired.Labels @@ -757,7 +816,7 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle // default name, so both roles would resolve the same ConfigMap // and the compute-plane preflight would silently run the // control-plane's active NetworkPolicy enforcement. - {Name: "VALIDATOR_CONFIG_NAME", Value: validatorConfigNameForRole(role)}, + {Name: "VALIDATOR_CONFIG_NAME", Value: validatorConfigNameForRole(role, runID)}, {Name: "VALIDATOR_PREFLIGHT", Value: "true"}, {Name: "VALIDATOR_ROLE", Value: role}, }, @@ -939,15 +998,17 @@ func kubectlLogsHint(kubeContext, jobName string) string { } // sweepClusterValidatorConfig removes the network-checks ConfigMap this run -// created. Only ours: the name is a constant an operator could also be using, -// so the managed labels decide. Errors are swallowed, as with the other sweeps. -func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interface) { +// created. The name is scoped to this run, and the managed labels are checked +// as well, so a same-named object belonging to anyone else is left alone. +// Errors are swallowed, as with the other sweeps. +func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, runID string) { cms := client.CoreV1().ConfigMaps(clusterValidatorNamespace) - cm, err := cms.Get(ctx, clusterValidatorConfigName, metav1.GetOptions{}) + name := clusterValidatorConfigRunName(runID) + cm, err := cms.Get(ctx, name, metav1.GetOptions{}) if err != nil || !hasValidatorManagedLabels(cm.Labels) { return } - _ = cms.Delete(ctx, clusterValidatorConfigName, deleteExactly(cm)) + _ = cms.Delete(ctx, name, deleteExactly(cm)) } // clusterValidatorTolerations mirrors the chart's tolerations so the Job can diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index f9732e31c1..bf7f04a654 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -652,19 +652,19 @@ func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { ctx := context.Background() client := fake.NewSimpleClientset(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigName, + Name: clusterValidatorConfigRunName("runid"), Namespace: clusterValidatorNamespace, Labels: map[string]string{"owner": "operator"}, }, Data: map[string]string{"config.yaml": "operator: content"}, }) - err := ensureClusterValidatorConfig(ctx, client, nil) + err := ensureClusterValidatorConfig(ctx, client, nil, "runid", false) require.Error(t, err, "an unmanaged ConfigMap must not be overwritten") assert.Contains(t, err.Error(), "not managed by nvcf-cli") got, getErr := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, - clusterValidatorConfigName, metav1.GetOptions{}) + clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) require.NoError(t, getErr) assert.Equal(t, "operator: content", got.Data["config.yaml"], "the operator's ConfigMap content must be untouched") @@ -805,24 +805,24 @@ func TestSweepPriorClusterValidatorJobs_RequiresGeneratedName(t *testing.T) { // cleanup path, so it accumulated in the cluster forever. func TestSweepClusterValidatorConfig_DeletesOwnAndSparesOperators(t *testing.T) { managed := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigName, Namespace: clusterValidatorNamespace, + Name: clusterValidatorConfigRunName("runid"), Namespace: clusterValidatorNamespace, Labels: clusterValidatorLabels(), }} client := fake.NewSimpleClientset(managed) - sweepClusterValidatorConfig(context.Background(), client) + sweepClusterValidatorConfig(context.Background(), client, "runid") _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( - context.Background(), clusterValidatorConfigName, metav1.GetOptions{}) + context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) assert.True(t, apierrors.IsNotFound(err), "our own ConfigMap must be reclaimed") // Same name, operator-owned: the name is a constant they could also use. operator := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigName, Namespace: clusterValidatorNamespace, + Name: clusterValidatorConfigRunName("runid"), Namespace: clusterValidatorNamespace, Labels: map[string]string{"owner": "operator"}, }} client2 := fake.NewSimpleClientset(operator) - sweepClusterValidatorConfig(context.Background(), client2) + sweepClusterValidatorConfig(context.Background(), client2, "runid") _, err = client2.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( - context.Background(), clusterValidatorConfigName, metav1.GetOptions{}) + context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) assert.NoError(t, err, "an unmanaged ConfigMap with the same name must survive") } @@ -836,7 +836,7 @@ func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { }} secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), Namespace: clusterValidatorNamespace, Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), // The fake clientset leaves this zero, which the orphan sweeper @@ -916,7 +916,7 @@ func TestBuildClusterValidatorJob_SetsActiveDeadline(t *testing.T) { func TestSweepOrphanClusterValidatorRBAC_ReclaimsStalePullSecret(t *testing.T) { old := metav1.NewTime(time.Now().Add(-time.Hour)) stale := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), Namespace: clusterValidatorNamespace, Labels: clusterValidatorLabels(), CreationTimestamp: old, @@ -933,7 +933,7 @@ func TestSweepOrphanClusterValidatorRBAC_ReclaimsStalePullSecret(t *testing.T) { // carries neither our labels nor our name. func TestSweepOrphanClusterValidatorRBAC_SparesFreshAndUnmanagedSecrets(t *testing.T) { fresh := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), Namespace: clusterValidatorNamespace, Labels: clusterValidatorLabels(), CreationTimestamp: metav1.NewTime(time.Now()), @@ -978,7 +978,7 @@ func TestSweepOrphanClusterValidatorRBAC_SparesPreservedObjects(t *testing.T) { Name: clusterValidatorName + "-control-plane-abc", Labels: labels, CreationTimestamp: old, }}, &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), Namespace: clusterValidatorNamespace, Labels: labels, CreationTimestamp: old, }}, ) @@ -988,7 +988,7 @@ func TestSweepOrphanClusterValidatorRBAC_SparesPreservedObjects(t *testing.T) { clusterValidatorName+"-control-plane-abc", metav1.GetOptions{}) assert.NoError(t, err, "a preserved ClusterRole must survive the orphan sweep") _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), - validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) assert.NoError(t, err, "a preserved pull secret must survive the orphan sweep") } @@ -1017,3 +1017,83 @@ func TestEnsureClusterValidatorRBAC_NoPreserveLabelByDefault(t *testing.T) { assert.NotContains(t, cr.Labels, clusterValidatorPreserveLabel, "an ordinary run must stay reclaimable") } + +// Run-scoping the ConfigMap name removed the accidental self-healing the fixed +// name gave us: a killed run used to leave exactly one object that the next run +// overwrote, and now each leaves its own. The deferred sweep is suppressed on +// the pull-failure path, so the orphan sweeper is the only reclaim. +func TestSweepOrphanClusterValidatorRBAC_ReclaimsStaleConfigMap(t *testing.T) { + old := metav1.NewTime(time.Now().Add(-time.Hour)) + stale := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigRunName("deadbeef01"), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + CreationTimestamp: old, + }} + client := fake.NewSimpleClientset(stale) + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), stale.Name, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), + "a per-run ConfigMap left by a killed run must be reclaimed") +} + +func TestSweepOrphanClusterValidatorRBAC_SparesFreshAndUnmanagedConfigMaps(t *testing.T) { + fresh := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigRunName("aaaaaaaa01"), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + CreationTimestamp: metav1.NewTime(time.Now()), + }} + operator := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ + Name: "operator-owned", + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + CreationTimestamp: metav1.NewTime(time.Now().Add(-time.Hour)), + }} + client := fake.NewSimpleClientset(fresh, operator) + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + for _, name := range []string{fresh.Name, operator.Name} { + _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), name, metav1.GetOptions{}) + assert.NoError(t, err, "%s must survive the orphan sweep", name) + } +} + +// --no-cleanup must preserve the ConfigMap as well as the Job and its RBAC. +// Without the marker the next run's orphan sweeper reclaims it after the TTL, +// and an operator re-running the Job they kept gets a validator that silently +// skips the configurable reachability and enforcement checks. +func TestEnsureClusterValidatorConfig_MarksPreservedRun(t *testing.T) { + client := fake.NewSimpleClientset() + require.NoError(t, ensureClusterValidatorConfig(context.Background(), client, nil, "runid", true)) + + cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, "true", cm.Labels[clusterValidatorPreserveLabel]) + + // And the orphan sweeper honours it even once it is older than the TTL. + cm.CreationTimestamp = metav1.NewTime(time.Now().Add(-time.Hour)) + _, err = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Update( + context.Background(), cm, metav1.UpdateOptions{}) + require.NoError(t, err) + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + _, err = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) + assert.NoError(t, err, "a preserved ConfigMap must survive the orphan sweep") +} + +func TestEnsureClusterValidatorConfig_NoPreserveMarkerByDefault(t *testing.T) { + client := fake.NewSimpleClientset() + require.NoError(t, ensureClusterValidatorConfig(context.Background(), client, nil, "runid", false)) + + cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( + context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) + require.NoError(t, err) + assert.NotContains(t, cm.Labels, clusterValidatorPreserveLabel, + "an ordinary run must stay reclaimable") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 5309838f4b..1fb43122f0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -75,6 +75,20 @@ func validatorPullSecretRoleName(role string) string { return validatorPullSecretName + "-" + role } +// validatorPullSecretRunName is the name this run mints under. It carries the +// run's unguessable suffix because the managed labels are three public +// constants: with a predictable name, anyone able to create a Secret in this +// namespace could pre-create it wearing those labels, pass the ownership check, +// and have the NGC credential written into an object they control. Same +// reasoning as the per-run RBAC names. +func validatorPullSecretRunName(role, runID string) string { + base := validatorPullSecretRoleName(role) + if runID == "" { + return base + } + return base + "-" + runID +} + // Mirrors the chain used by ensureLocalImagePullSecrets in cmd/self_hosted_up.go. var ngcAPIKeyEnvNames = []string{ "NGC_IMAGE_PULL_API_KEY", @@ -114,7 +128,7 @@ var validatorPullSecretSearchNamespaces = []string{ func resolveValidatorPullSecret( ctx context.Context, client kubernetes.Interface, - provided, image, role string, + provided, image, role, runID string, preserve bool, ) (string, error) { if provided != "" { @@ -128,13 +142,13 @@ func resolveValidatorPullSecret( scanCtx, cancel := context.WithTimeout(ctx, validatorPullSecretScanTimeout) defer cancel() - if name, err := scanAndMirrorPullSecret(scanCtx, client, registry, role, preserve); err != nil { + if name, err := scanAndMirrorPullSecret(scanCtx, client, registry, role, runID, preserve); err != nil { return "", err } else if name != "" { return name, nil } - if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry, role, preserve); err != nil { + if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry, role, runID, preserve); err != nil { return "", err } else if name != "" { return name, nil @@ -166,7 +180,7 @@ func parseRegistryFromImage(image string) string { // registry. Mirrors the body into clusterValidatorNamespace when the match // lives elsewhere, so the Job can reference the secret without cross-namespace // lookups. -func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry, role string, preserve bool) (string, error) { +func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry, role, runID string, preserve bool) (string, error) { for _, ns := range validatorPullSecretSearchNamespaces { // Filter client-side rather than via FieldSelector: server-side // type= selector on Secrets is only honored from k8s 1.27 onward. @@ -202,11 +216,11 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r // the destination namespace, and writeDockerConfigSecret's // delete-and-recreate path would otherwise destroy that // secret on type mismatch. - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg, preserve); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, cfg, preserve); err != nil { return "", fmt.Errorf("mirror pull secret %s/%s to %s/%s: %w", - s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretRoleName(role), err) + s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), err) } - return validatorPullSecretRoleName(role), nil + return validatorPullSecretRunName(role, runID), nil } } return "", nil @@ -223,7 +237,7 @@ func dockerConfigHasRegistry(cfg []byte, registry string) bool { return ok } -func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry, role string, preserve bool) (string, error) { +func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry, role, runID string, preserve bool) (string, error) { apiKey := firstNonEmptyEnv(ngcAPIKeyEnvNames...) if apiKey == "" { return "", nil @@ -241,11 +255,11 @@ func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interfac if err != nil { return "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) } - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRoleName(role), role, cfg, preserve); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, cfg, preserve); err != nil { return "", fmt.Errorf("auto-create pull secret %s/%s: %w", - clusterValidatorNamespace, validatorPullSecretRoleName(role), err) + clusterValidatorNamespace, validatorPullSecretRunName(role, runID), err) } - return validatorPullSecretRoleName(role), nil + return validatorPullSecretRunName(role, runID), nil } // Mirrors cmd/self_hosted_up.go's firstNonEmptyEnv; kept local to avoid an @@ -273,126 +287,42 @@ func buildDockerConfigJSON(registry, username, password string) ([]byte, error) }) } -// Mirrors cmd/self_hosted_up.go's ensureDockerConfigSecret. Attaches the -// CLI's managed-by labels so a future cleanup path can identify resources -// to remove. +// writeDockerConfigSecret creates the pull Secret this run will reference. +// +// Create-only. The name carries this run's unguessable suffix, so nothing this +// CLI created can already hold it and any collision is another object. +// Adopting one would write the NGC credential into something we do not own, +// which label-based ownership cannot prevent: the managed labels are three +// public constants anyone can copy onto a Secret they pre-create under a +// predictable name. func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, namespace, name, role string, dockerConfig []byte, preserve bool) error { - labels := clusterValidatorRoleLabelsPreserved(role, preserve) - secrets := client.CoreV1().Secrets(namespace) secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: namespace, - Labels: labels, + Labels: clusterValidatorRoleLabelsPreserved(role, preserve), }, Type: corev1.SecretTypeDockerConfigJson, Data: map[string][]byte{corev1.DockerConfigJsonKey: dockerConfig}, } - current, err := secrets.Get(ctx, name, metav1.GetOptions{}) - switch { - case err == nil && current.Type == corev1.SecretTypeDockerConfigJson: - // Same guard as the type-mismatch branch below, for the same reason. A - // matching type is not permission to write: an operator-owned secret - // with a colliding name holds their registry credentials, and this - // would replace the data and stamp our managed labels on it, after - // which the role sweep would delete it outright. - if err := refuseIfUnmanaged(current, namespace, name, ""); err != nil { - return err - } - if current.Data == nil { - current.Data = map[string][]byte{} - } - current.Data[corev1.DockerConfigJsonKey] = dockerConfig - if current.Labels == nil { - current.Labels = map[string]string{} - } - for k, v := range labels { - current.Labels[k] = v - } - if _, err := secrets.Update(ctx, current, metav1.UpdateOptions{}); err != nil { - return fmt.Errorf("update: %w", err) - } - return nil - case err == nil: - // Secret.Type is immutable; can't Update across a type change. - // Guard the delete: only replace secrets we previously managed. - // Without this, an operator-owned secret with a colliding name - // (e.g. an Opaque secret in 'default' sharing the validator's - // pull-secret name) would be silently destroyed. - if err := refuseIfUnmanaged(current, namespace, name, - fmt.Sprintf("type=%s", current.Type)); err != nil { - return err - } - // A conflict means the object changed between the ownership check and - // this delete, so the thing now holding the name was never vetted. - // Stop rather than fall through to Create, which would otherwise - // silently adopt or overwrite it. - if err := secrets.Delete(ctx, name, deleteExactly(current)); err != nil && !apierrors.IsNotFound(err) { - return fmt.Errorf("delete incompatible secret type %s: %w", current.Type, err) - } - case !apierrors.IsNotFound(err): - return fmt.Errorf("get: %w", err) - } - if _, err := secrets.Create(ctx, secret, metav1.CreateOptions{}); err != nil { - if !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("create: %w", err) - } - // Lost a delete->create race: another actor recreated the secret - // in the narrow window between our Delete and Create. Refetch and - // overwrite with our content so the caller still gets the - // credentials it asked for. - current, getErr := secrets.Get(ctx, name, metav1.GetOptions{}) - if getErr != nil { - return fmt.Errorf("get after create race: %w", getErr) - } - if err := refuseIfUnmanaged(current, namespace, name, "lost create race"); err != nil { - return err - } - if current.Type != corev1.SecretTypeDockerConfigJson { - return fmt.Errorf("create race left secret %s/%s with type %s, want %s", - namespace, name, current.Type, corev1.SecretTypeDockerConfigJson) - } - if current.Data == nil { - current.Data = map[string][]byte{} - } - current.Data[corev1.DockerConfigJsonKey] = dockerConfig - if current.Labels == nil { - current.Labels = map[string]string{} - } - for k, v := range labels { - current.Labels[k] = v - } - if _, err := secrets.Update(ctx, current, metav1.UpdateOptions{}); err != nil { - return fmt.Errorf("update after create race: %w", err) + if _, err := client.CoreV1().Secrets(namespace).Create(ctx, secret, metav1.CreateOptions{}); err != nil { + if apierrors.IsAlreadyExists(err) { + return fmt.Errorf( + "refusing to overwrite existing secret %s/%s: this run generated that name, so "+ + "another object already holds it; pass --cluster-validator-pull-secret to "+ + "choose an explicit secret name", + namespace, name) } + return fmt.Errorf("create: %w", err) } return nil } -func refuseIfUnmanaged(s *corev1.Secret, namespace, name, detail string) error { - if isManagedByValidatorCLI(s) { - return nil - } - if detail != "" { - detail = " (" + detail + ")" - } - return fmt.Errorf( - "refusing to overwrite %s/%s%s which is not managed by nvcf-cli; "+ - "pass --cluster-validator-pull-secret to choose an explicit secret name", - namespace, name, detail) -} - -// isManagedByValidatorCLI reports whether the secret carries the labels -// writeDockerConfigSecret stamps on every secret it creates. Used to -// gate the delete-then-recreate branch so we never destroy an operator- -// or chart-owned secret that happens to share a name with one of ours. -// refuseIfUnmanaged rejects a Secret nvcf-cli does not own. Every path in -// writeDockerConfigSecret that mutates an existing Secret must call this: -// overwriting an operator-owned secret replaces their registry credentials and -// stamps our managed labels on it, after which the role sweep deletes it. -// -// detail is appended to the message when there is something useful to say -// (the conflicting type, the race), otherwise "". +// isManagedByValidatorCLI reports whether a Secret carries the labels this CLI +// stamps on the ones it creates. Necessary but not sufficient for ownership: +// the labels are three public constants anyone can copy onto a Secret they +// pre-create, which is why the generated names are run-scoped and the write +// path is create-only rather than adopt-or-update. func isManagedByValidatorCLI(s *corev1.Secret) bool { return hasValidatorManagedLabels(s.Labels) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index aa0b5227e7..ee958421fc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -21,7 +21,6 @@ import ( "context" "encoding/base64" "encoding/json" - "errors" "testing" "github.com/stretchr/testify/assert" @@ -30,10 +29,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/kubernetes/fake" - ktesting "k8s.io/client-go/testing" ) func dockerConfigBlob(t *testing.T, registry, user, pass string) []byte { @@ -135,99 +131,6 @@ func TestFirstNonEmptyEnv(t *testing.T) { }) } -func TestWriteDockerConfigSecret_Create(t *testing.T) { - client := fake.NewSimpleClientset() - cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, cfg, false), false) - - got, err := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, corev1.SecretTypeDockerConfigJson, got.Type) - assert.Equal(t, cfg, got.Data[corev1.DockerConfigJsonKey]) - assert.Equal(t, clusterValidatorAppLabel, got.Labels["app.kubernetes.io/name"], - "label must be attached so the secret is identifiable as CLI-managed") -} - -func TestWriteDockerConfigSecret_Update(t *testing.T) { - old := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "stale-key") - fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "rotated-key") - - // Managed labels plus an unrelated one: only a secret we own may be - // updated, and updating must not drop labels the operator added. - existingLabels := clusterValidatorLabels() - existingLabels["existing-label"] = "preserved" - - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nvcr-pull-secret", - Namespace: "default", - Labels: existingLabels, - }, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: old}, - }) - - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false), false) - - got, _ := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) - assert.Equal(t, fresh, got.Data[corev1.DockerConfigJsonKey], "data must be updated to the fresh body") - assert.Equal(t, "preserved", got.Labels["existing-label"], "pre-existing labels must be preserved on update") - assert.Equal(t, clusterValidatorAppLabel, got.Labels["app.kubernetes.io/name"], "CLI labels must be added on update") -} - -// Regression guard for the immutable-Type silent-failure path: a pre-existing -// secret with the wrong Type (but our labels) must be replaced (delete + -// create), not Updated. -func TestWriteDockerConfigSecret_TypeMismatchReplaces(t *testing.T) { - fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nvcr-pull-secret", - Namespace: "default", - Labels: clusterValidatorLabels(), - }, - Type: corev1.SecretTypeOpaque, // wrong type — Update would 422 - Data: map[string][]byte{"some-key": []byte("some-value")}, - }) - - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false), false) - - got, err := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, corev1.SecretTypeDockerConfigJson, got.Type, - "secret must be recreated with the correct dockerconfigjson type") - assert.Equal(t, fresh, got.Data[corev1.DockerConfigJsonKey]) - assert.NotContains(t, got.Data, "some-key", "old Opaque payload must not survive the recreate") -} - -// Operator-owned secret with the same name but no CLI labels must NOT be -// destroyed. The replace path is the only place operator data is at risk -// (immutable Type forces delete+create), so the label guard lives there. -func TestWriteDockerConfigSecret_TypeMismatchRefusesUnlabeledSecret(t *testing.T) { - fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - operatorPayload := []byte("operator-data-do-not-destroy") - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nvcr-pull-secret", - Namespace: "default", - // No CLI labels: an operator- or chart-owned secret. - }, - Type: corev1.SecretTypeOpaque, - Data: map[string][]byte{"operator-payload": operatorPayload}, - }) - - err := writeDockerConfigSecret(context.Background(), client, "default", "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false) - require.Error(t, err, "must refuse to destroy a non-CLI-managed secret") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") - - // Original payload must still be intact. - got, getErr := client.CoreV1().Secrets("default").Get(context.Background(), "nvcr-pull-secret", metav1.GetOptions{}) - require.NoError(t, getErr) - assert.Equal(t, corev1.SecretTypeOpaque, got.Type, "type must be unchanged") - assert.Equal(t, operatorPayload, got.Data["operator-payload"], "operator data must not be touched") -} - func TestScanAndMirrorPullSecret_FoundInDefault(t *testing.T) { cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") client := fake.NewSimpleClientset(&corev1.Secret{ @@ -236,7 +139,7 @@ func TestScanAndMirrorPullSecret_FoundInDefault(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "operator-secret", name) @@ -257,11 +160,11 @@ func TestScanAndMirrorPullSecret_FoundInNvcfMirroredToDefault(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) - assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), name) + assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), name) - mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) require.NoError(t, err, "mirror must be created under the role-scoped managed name") assert.Equal(t, cfg, mirrored.Data[corev1.DockerConfigJsonKey]) @@ -279,14 +182,14 @@ func TestScanAndMirrorPullSecret_RegistryMismatch(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "", name, "secret for a different registry must not match") } func TestScanAndMirrorPullSecret_NoSecrets(t *testing.T) { client := fake.NewSimpleClientset() - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "", name) } @@ -306,7 +209,7 @@ func TestScanAndMirrorPullSecret_PrefersDefaultNamespace(t *testing.T) { }, ) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) + name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "in-default", name) } @@ -318,7 +221,7 @@ func TestAutoCreatePullSecretFromEnv_NoEnv(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, false) + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "", got, "no env var set means no secret minted") @@ -333,11 +236,11 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-test-123") client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "nvcr.io", clusterValidatorControlPlaneRole, false) + got, err := autoCreatePullSecretFromEnv(context.Background(), client, "nvcr.io", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) - assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) + assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), got) - s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) require.NoError(t, err) assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "nvcr.io"), "minted secret must contain auth for the validator image's registry") @@ -345,7 +248,7 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) + got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "custom-secret", got, "explicit override always wins") @@ -365,14 +268,14 @@ func TestResolveValidatorPullSecret_ScanWins(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, }) - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) // Mirror destination is the validator's well-known name, not the // source secret's name (avoids same-name collisions with operator // or chart-owned secrets in the destination namespace). - assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) + assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), got) - mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) require.NoError(t, err) assert.True(t, dockerConfigHasRegistry(mirrored.Data[corev1.DockerConfigJsonKey], "private.registry.test")) } @@ -384,11 +287,11 @@ func TestResolveValidatorPullSecret_EnvFallback(t *testing.T) { t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) - assert.Equal(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), got) + assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), got) - s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) require.NoError(t, err) assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "nvcr.io")) } @@ -403,7 +306,7 @@ func TestResolveValidatorPullSecret_EnvFallbackRefusesMirroredRegistry(t *testin client := fake.NewSimpleClientset() got, err := resolveValidatorPullSecret(context.Background(), client, "", - "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) + "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Empty(t, got, "no secret may be minted for a non-NGC registry") } @@ -414,7 +317,7 @@ func TestResolveValidatorPullSecret_AllEmpty(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, false) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "", got, "no override, no scan match, no env var -> empty so kubelet surfaces ImagePullBackOff") } @@ -425,7 +328,7 @@ func TestResolveValidatorPullSecret_UnparsableImage(t *testing.T) { } client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage", clusterValidatorControlPlaneRole, false) + got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "", got, "no registry hostname means no scan target and no auto-create") @@ -443,7 +346,7 @@ func TestResolveValidatorPullSecret_UnparsableImage(t *testing.T) { // clientset implements DeleteCollection as a no-op. func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { ctx := context.Background() - cpName := validatorPullSecretRoleName(clusterValidatorControlPlaneRole) + cpName := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") gpuName := validatorPullSecretRoleName("compute-plane") require.NotEqual(t, cpName, gpuName, "each role needs its own managed pull secret") @@ -457,7 +360,7 @@ func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, "operator-owned-secret", clusterValidatorControlPlaneRole, cfg, false)) - sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole) + sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole, "runid") secrets := client.CoreV1().Secrets(clusterValidatorNamespace) _, err := secrets.Get(ctx, cpName, metav1.GetOptions{}) @@ -475,181 +378,28 @@ func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { ctx := context.Background() client := fake.NewSimpleClientset() - - // dockerConfigBlob encodes the auth value at runtime; a literal base64 - // docker credential in the source trips secret scanners. - cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - validatorPullSecretRoleName(clusterValidatorControlPlaneRole), - clusterValidatorControlPlaneRole, cfg, false)) + name, clusterValidatorControlPlaneRole, cfg, false)) - got, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, - validatorPullSecretRoleName(clusterValidatorControlPlaneRole), metav1.GetOptions{}) + own, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, + metav1.ListOptions{LabelSelector: validatorRoleSelector(clusterValidatorControlPlaneRole)}) require.NoError(t, err) + assert.Len(t, own.Items, 1, "the secret must match its own role's selector") - assert.Equal(t, clusterValidatorControlPlaneRole, got.Labels[clusterValidatorRoleLabel], - "a managed secret must carry its own role label") - assert.Equal(t, "nvcf-cli", got.Labels["app.kubernetes.io/managed-by"], - "the managed-by label is what excludes operator-supplied secrets from cleanup") -} - -// A matching Secret type is not permission to write. An operator-owned secret -// with a colliding name holds their registry credentials; overwriting it would -// also stamp our managed labels on it, after which the role sweep would delete -// it outright. -func TestWriteDockerConfigSecret_RefusesUnmanagedSameTypeSecret(t *testing.T) { - ctx := context.Background() - operatorOwned := dockerConfigBlob(t, "private.registry.test", "operator", "their-secret") - ours := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "ours") - - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nvcf-preflight-pull-secret-control-plane", - Namespace: clusterValidatorNamespace, - Labels: map[string]string{"owner": "operator"}, - }, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: operatorOwned}, - }) - - err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - "nvcf-preflight-pull-secret-control-plane", clusterValidatorControlPlaneRole, ours, false) - - require.Error(t, err, "an unmanaged secret of the same type must not be overwritten") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") - - got, getErr := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, - "nvcf-preflight-pull-secret-control-plane", metav1.GetOptions{}) - require.NoError(t, getErr) - assert.Equal(t, operatorOwned, got.Data[corev1.DockerConfigJsonKey], - "the operator's credentials must be left untouched") - assert.NotContains(t, got.Labels, "app.kubernetes.io/managed-by", - "managed labels must not be stamped on it, or the sweep would later delete it") -} - -// If an unmanaged Docker-config Secret appears between our Get and our Create, -// Create fails with AlreadyExists and the recovery path refetches it. That path -// must apply the same ownership check as the others, or a lost race silently -// overwrites an operator-owned secret and marks it for sweep deletion. -func TestWriteDockerConfigSecret_RefusesUnmanagedAfterCreateRace(t *testing.T) { - ctx := context.Background() - operatorOwned := dockerConfigBlob(t, "private.registry.test", "operator", "their-secret") - ours := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "ours") - - const name = "nvcf-preflight-pull-secret-control-plane" - client := fake.NewSimpleClientset() - - // First Get: absent, so the code proceeds to Create. Create: AlreadyExists, - // as though another actor won the race. Second Get: their unmanaged secret. - gets := 0 - client.PrependReactor("get", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { - gets++ - if gets == 1 { - return true, nil, apierrors.NewNotFound(corev1.Resource("secrets"), name) - } - return true, &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: clusterValidatorNamespace, - Labels: map[string]string{"owner": "operator"}, - }, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: operatorOwned}, - }, nil - }) - client.PrependReactor("create", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { - return true, nil, apierrors.NewAlreadyExists(corev1.Resource("secrets"), name) - }) - - var updated bool - client.PrependReactor("update", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { - updated = true - return true, nil, nil - }) - - err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, name, - clusterValidatorControlPlaneRole, ours, false) - - require.Error(t, err, "losing the create race to an unmanaged secret must not overwrite it") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") - assert.False(t, updated, "no Update may be issued against an unmanaged secret") -} - -// The ownership check reads the Secret and then deletes it by name. In that -// window another actor can delete and recreate it, so the delete has to name -// the exact object that was vetted rather than whatever holds the name by then. -func TestWriteDockerConfigSecret_TypeMismatchDeletePinsTheInspectedObject(t *testing.T) { - fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - existing := &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nvcr-pull-secret", - Namespace: "default", - Labels: clusterValidatorLabels(), - UID: "uid-1", - ResourceVersion: "42", - }, - Type: corev1.SecretTypeOpaque, - } - client := fake.NewSimpleClientset(existing) - - var opts metav1.DeleteOptions - client.PrependReactor("delete", "secrets", func(a ktesting.Action) (bool, runtime.Object, error) { - opts = a.(ktesting.DeleteActionImpl).DeleteOptions - return false, nil, nil - }) - - require.NoError(t, writeDockerConfigSecret(context.Background(), client, "default", - "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false), false) - - require.NotNil(t, opts.Preconditions, "delete must carry preconditions") - require.NotNil(t, opts.Preconditions.UID) - assert.Equal(t, existing.UID, *opts.Preconditions.UID) - assert.Nil(t, opts.Preconditions.ResourceVersion, - "UID alone pins identity; pinning ResourceVersion turns any concurrent "+ - "write into a 409 that the sweeps swallow") -} - -// A conflict means the object changed after the ownership check, so the run -// must stop instead of creating over whatever now holds the name. -func TestWriteDockerConfigSecret_TypeMismatchStopsOnDeleteConflict(t *testing.T) { - fresh := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "nvcr-pull-secret", - Namespace: "default", - Labels: clusterValidatorLabels(), - UID: "uid-1", - }, - Type: corev1.SecretTypeOpaque, - }) - client.PrependReactor("delete", "secrets", func(ktesting.Action) (bool, runtime.Object, error) { - return true, nil, apierrors.NewConflict( - schema.GroupResource{Resource: "secrets"}, "nvcr-pull-secret", - errors.New("UID precondition mismatch")) - }) - - created := false - client.PrependReactor("create", "secrets", func(ktesting.Action) (bool, runtime.Object, error) { - created = true - return false, nil, nil - }) - - err := writeDockerConfigSecret(context.Background(), client, "default", - "nvcr-pull-secret", clusterValidatorControlPlaneRole, fresh, false) - require.Error(t, err, "a changed object must abort the replace") - assert.False(t, created, "must not create over an object that was never vetted") + other, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, + metav1.ListOptions{LabelSelector: validatorRoleSelector(clusterValidatorComputePlaneRole)}) + require.NoError(t, err) + assert.Empty(t, other.Items, "it must not match the other role's selector") } -// NGC_API_KEY must never be minted as the password for a registry that is not -// NGC. An operator who mirrors the validator image to ghcr.io or a corporate -// Harbor and still exports NGC_API_KEY would otherwise have the kubelet send -// the live key to a third party as HTTP Basic auth. func TestAutoCreatePullSecretFromEnv_RefusesNonNGCRegistry(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-secret-value") client := fake.NewSimpleClientset() name, err := autoCreatePullSecretFromEnv(context.Background(), client, - "ghcr.io", clusterValidatorControlPlaneRole, false) + "ghcr.io", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Empty(t, name, "no secret may be minted for a non-NGC registry") @@ -666,7 +416,7 @@ func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") otherRole := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRoleName(clusterValidatorControlPlaneRole), + Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), Namespace: clusterValidatorNamespace, Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), }, @@ -676,7 +426,7 @@ func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { client := fake.NewSimpleClientset(otherRole) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", - clusterValidatorComputePlaneRole, false) + clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.NotEqual(t, otherRole.Name, got, "the compute role must not adopt the control-plane role's managed Secret") @@ -694,7 +444,7 @@ func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { client := fake.NewSimpleClientset(operator) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", - clusterValidatorComputePlaneRole, false) + clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "operator-pull", got) } @@ -704,7 +454,7 @@ func TestScanAndMirrorPullSecret_AdoptsOwnRoleSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") own := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRoleName(clusterValidatorComputePlaneRole), + Name: validatorPullSecretRunName(clusterValidatorComputePlaneRole, "runid"), Namespace: clusterValidatorNamespace, Labels: clusterValidatorRoleLabels(clusterValidatorComputePlaneRole), }, @@ -714,7 +464,82 @@ func TestScanAndMirrorPullSecret_AdoptsOwnRoleSecret(t *testing.T) { client := fake.NewSimpleClientset(own) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", - clusterValidatorComputePlaneRole, false) + clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, own.Name, got) } + +// writeDockerConfigSecret is create-only. The name carries this run's +// unguessable suffix, so nothing this CLI created can already hold it and any +// collision is another object. Adopting one would write the NGC credential +// into something we do not own, which label-based ownership cannot prevent: +// the managed labels are three public constants anyone can copy. +func TestWriteDockerConfigSecret_CreatesUnderTheRunScopedName(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + client := fake.NewSimpleClientset() + name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") + + require.NoError(t, writeDockerConfigSecret(context.Background(), client, + clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, cfg, false)) + + s, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( + context.Background(), name, metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, corev1.SecretTypeDockerConfigJson, s.Type) + assert.True(t, hasValidatorManagedLabels(s.Labels)) +} + +func TestWriteDockerConfigSecret_RefusesAnyCollision(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") + + // Even wearing our managed labels: labels are forgeable, the name is not. + squatter := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, Namespace: clusterValidatorNamespace, + Labels: clusterValidatorLabels(), + }, + Type: corev1.SecretTypeOpaque, + Data: map[string][]byte{"planted": []byte("x")}, + } + client := fake.NewSimpleClientset(squatter) + + err := writeDockerConfigSecret(context.Background(), client, + clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, cfg, false) + require.Error(t, err, "a collision on an unguessable name must never be adopted") + assert.Contains(t, err.Error(), "refusing to overwrite") + + got, gerr := client.CoreV1().Secrets(clusterValidatorNamespace).Get( + context.Background(), name, metav1.GetOptions{}) + require.NoError(t, gerr) + assert.Equal(t, corev1.SecretTypeOpaque, got.Type, "the other object must be untouched") + assert.Contains(t, got.Data, "planted") + assert.NotContains(t, got.Data, corev1.DockerConfigJsonKey, + "the NGC credential must not be written into an object we do not own") +} + +// The unguessable suffix is the actual control. Labels cannot carry it: they +// are three public constants, so a predictable name lets anyone able to create +// a Secret here pre-create it wearing those labels and receive the NGC +// credential. Create-only is only safe because the name cannot be guessed. +func TestValidatorPullSecretRunName_CarriesTheRunID(t *testing.T) { + name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "a1b2c3d4e5") + assert.Contains(t, name, "a1b2c3d4e5", + "a predictable secret name can be pre-created by someone else") + assert.NotEqual(t, validatorPullSecretRoleName(clusterValidatorControlPlaneRole), name) + + // Two runs never collide, so one run's sweep cannot take out another's. + other := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "f6g7h8i9j0") + assert.NotEqual(t, name, other) +} + +// The mint path must use the run-scoped name, not the role name. +func TestAutoCreatePullSecretFromEnv_MintsUnderTheRunScopedName(t *testing.T) { + t.Setenv("NGC_API_KEY", "nvapi-secret-value") + client := fake.NewSimpleClientset() + + got, err := autoCreatePullSecretFromEnv(context.Background(), client, + "nvcr.io", clusterValidatorControlPlaneRole, "a1b2c3d4e5", false) + require.NoError(t, err) + assert.Contains(t, got, "a1b2c3d4e5", "the minted secret must be run-scoped") +} From 35312909d3ec78593c6afcbb18623f7f489b1d13 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 22 Sep 2026 19:01:32 +0530 Subject: [PATCH 036/127] fix(nvcf-cli): preserve the validator Job under --no-cleanup like its other resources The RBAC objects, the pull Secret and the network-checks ConfigMap all take the preserve marker when --no-cleanup is set; the Job did not. The run that sets the flag already skips the prior-Job sweep, so this only showed up later: the next ordinary run of the same role deleted the Job an operator had kept, while its ConfigMap, RBAC and Secret survived, leaving those pointing at a Job that no longer existed. The Job now carries the marker and the sweep skips anything wearing it. The role selector is unaffected, since a label selector matches on subset. --- .../internal/selfhosted/clustervalidator.go | 10 +++++- .../selfhosted/clustervalidator_test.go | 34 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 307c599c43..f3ec9eeca3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -543,6 +543,14 @@ func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Inter if !strings.HasPrefix(l.Items[i].Name, clusterValidatorName) { continue } + // A Job an operator kept with --no-cleanup survives later ordinary + // runs too. The current run already skips this sweep under that flag, + // but without the marker the next run of the same role deletes the Job + // while its ConfigMap, RBAC and pull secret survive, leaving the + // preserved artifacts pointing at a Job that no longer exists. + if l.Items[i].Labels[clusterValidatorPreserveLabel] == "true" { + continue + } opts := deleteExactly(&l.Items[i]) opts.PropagationPolicy = &propagation _ = jobs.Delete(ctx, l.Items[i].Name, opts) @@ -829,7 +837,7 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(role), + Labels: clusterValidatorRoleLabelsPreserved(role, noCleanup), }, Spec: batchv1.JobSpec{ BackoffLimit: &backoff, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index bf7f04a654..fcf877b4ff 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -1097,3 +1097,37 @@ func TestEnsureClusterValidatorConfig_NoPreserveMarkerByDefault(t *testing.T) { assert.NotContains(t, cm.Labels, clusterValidatorPreserveLabel, "an ordinary run must stay reclaimable") } + +// --no-cleanup has to outlast the run that set it. The run itself already skips +// the prior-Job sweep, but without a marker on the Job the next ordinary run of +// the same role deletes it, while its ConfigMap, RBAC and pull secret survive. +func TestBuildClusterValidatorJob_MarksPreservedRun(t *testing.T) { + kept := buildClusterValidatorJob("j", "nvcr.io/x/v:1", "", + clusterValidatorControlPlaneRole, "runid", true) + assert.Equal(t, "true", kept.Labels[clusterValidatorPreserveLabel]) + + ordinary := buildClusterValidatorJob("j", "nvcr.io/x/v:1", "", + clusterValidatorControlPlaneRole, "runid", false) + assert.NotContains(t, ordinary.Labels, clusterValidatorPreserveLabel, + "an ordinary run must stay sweepable") +} + +func TestSweepPriorClusterValidatorJobs_SparesPreservedJob(t *testing.T) { + preserved := buildClusterValidatorJob(clusterValidatorName+"-kept", "nvcr.io/x/v:1", "", + clusterValidatorControlPlaneRole, "runid", true) + preserved.Namespace = clusterValidatorNamespace + ordinary := buildClusterValidatorJob(clusterValidatorName+"-old", "nvcr.io/x/v:1", "", + clusterValidatorControlPlaneRole, "runid", false) + ordinary.Namespace = clusterValidatorNamespace + + client := fake.NewSimpleClientset(preserved, ordinary) + sweepPriorClusterValidatorJobs(context.Background(), client, clusterValidatorControlPlaneRole) + + _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get( + context.Background(), preserved.Name, metav1.GetOptions{}) + assert.NoError(t, err, "a Job kept with --no-cleanup must survive a later run's sweep") + + _, err = client.BatchV1().Jobs(clusterValidatorNamespace).Get( + context.Background(), ordinary.Name, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "an ordinary prior Job must still be swept") +} From 6e321290b7d09f9f54135268df7487d6ed032379 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 00:40:23 +0530 Subject: [PATCH 037/127] fix(nvcf-cli): scope validator cleanup to one run and reclaim every artifact it creates Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 4 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 11 +- .../internal/selfhosted/clustervalidator.go | 280 ++++++++++------ .../clustervalidator_lifecycle_test.go | 298 ++++++++++++++++++ .../selfhosted/clustervalidator_test.go | 66 +--- .../nvcf-cli/internal/selfhosted/preflight.go | 19 ++ .../internal/selfhosted/pullsecret.go | 28 +- .../internal/selfhosted/pullsecret_test.go | 40 +-- 8 files changed, 549 insertions(+), 197 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index cdc0e0cf53..4a2a0df8d8 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -50,9 +50,9 @@ after the run, so the kubeconfig context needs permission to manage those. |---|---|---| | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. Unset everywhere skips the probe with a warning | - | | `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. `nvcr.io` is always probed. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | `nvcr.io` only | -| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and falls back to minting one from `NGC_API_KEY` | auto-detect | +| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on an NGC registry, it mints one from `NGC_API_KEY` | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | -| `--no-cleanup` | Keep the validator Job (and its RBAC) after the run for debugging. The next run still sweeps prior Jobs | `false` | +| `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A later check reclaims them after 24 hours; the result prints the `kubectl delete` command that removes them now | `false` | | `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | ## `up`-specific diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index e8e80d40c7..6504ad9430 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -107,12 +107,13 @@ func init() { selfHostedCheckCmd.Flags().Lookup("cluster-validator-image")) selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorPullSecret, "cluster-validator-pull-secret", "", "Name of a docker-registry Secret in the 'default' namespace to pull the validator image. "+ - "When empty, the runner scans NVCF namespaces for a matching secret (mirroring it into "+ - "'default' if found elsewhere) and falls back to auto-creating one from NGC_API_KEY. "+ - "Set to force a specific name.") + "When empty, the runner scans NVCF namespaces for a matching secret and copies it into "+ + "'default' for the run if it lives elsewhere. Failing that, and only when the image is on "+ + "an NGC registry, it mints one from NGC_API_KEY. Set to force a specific name.") selfHostedCheckCmd.Flags().BoolVar(&checkClusterValidatorNoCleanup, "no-cleanup", false, - "Disable the validator Job's TTL so the Job persists for debugging. "+ - "The next run still deletes prior Jobs via the singleton sweep.") + "Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging instead of "+ + "removing them after the run. They are reclaimed by a later check after 24 hours; the "+ + "result prints the kubectl command that removes them now.") selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorRegistries, "cluster-validator-registries", nil, "Additional container registries to probe for reachability in the control-plane validator. "+ "Format: host:port (e.g. harbor.company.internal:443,ghcr.io:443). "+ diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index f3ec9eeca3..85bf2f3b41 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -21,6 +21,8 @@ import ( "context" cryptorand "crypto/rand" "encoding/hex" + "encoding/json" + "errors" "fmt" "io" "net" @@ -36,6 +38,7 @@ import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" ) @@ -50,6 +53,18 @@ const ( // orphanValidatorRBACTTL is the minimum age before leftover validator RBAC // is reclaimed. Must exceed the validator timeout so a live run is never hit. orphanValidatorRBACTTL = 30 * time.Minute + // preservedValidatorTTL bounds how long --no-cleanup artifacts survive. + // Exempting them outright left a cluster-wide ClusterRole and an NGC-key + // Secret in place forever once nobody ran the check again. + preservedValidatorTTL = 24 * time.Hour + // clusterValidatorManagedBy tells this CLI's per-run objects apart from the + // fixed-name set released CLIs create. Those releases DeleteCollection on + // managed-by=nvcf-cli, so sharing the value let each version delete the + // other's in-flight Jobs, Secrets and RBAC. + clusterValidatorManagedBy = "nvcf-cli-validator" + // clusterValidatorRunLabel carries the run ID on everything one run + // creates, so the cleanup hint can address exactly that run's objects. + clusterValidatorRunLabel = "nvcf.nvidia.com/validator-run" ) // Vars (not consts) so tests can shorten without the full production budget. @@ -99,7 +114,9 @@ type ClusterValidatorResult struct { ExitCode int32 Logs string JobName string - Err error + // RunID labels every object the run created (clusterValidatorRunLabel). + RunID string + Err error } type ClusterValidator func(ctx context.Context, params ClusterValidatorParams) ClusterValidatorResult @@ -212,25 +229,36 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } } - // Skipped under --no-cleanup: this runs before the new Job is created, so - // otherwise the next same-role run destroys the Job the operator asked to - // keep. The singleton guarantee is worth less than the artifact they kept. - if !noCleanup { - sweepPriorClusterValidatorJobs(vctx, client, role) - } - + // No sweep of earlier Jobs: every Job now carries a deadline and a TTL, + // so a role-wide sweep could only ever hit an overlapping run's live Job. jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) - if _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( + job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup), metav1.CreateOptions{}, - ); err != nil { - return ClusterValidatorResult{Err: fmt.Errorf("creating validator Job: %w", err)} + ) + if err != nil { + return ClusterValidatorResult{RunID: runID, Err: fmt.Errorf("creating validator Job: %w", err)} } podMayBeRunning = true + // The Job owns this run's pull secret and ConfigMap, so they go when its + // TTL (or, for --no-cleanup, the preserved-object sweep) removes it, even + // on paths where the deferred sweeps are suppressed. The ServiceAccount is + // deliberately not owned: the ClusterRole and binding are cluster-scoped + // and cannot be, and deleting the account alone would leave a binding + // that anyone able to recreate that ServiceAccount name could inherit. + var owned []ownedArtifact + if pullSecret == validatorPullSecretRunName(role, runID) { + owned = append(owned, ownedArtifact{kind: "Secret", name: pullSecret}) + } + if role == clusterValidatorControlPlaneRole && configNote == "" { + owned = append(owned, ownedArtifact{kind: "ConfigMap", name: clusterValidatorConfigRunName(runID)}) + } + ownByJob(vctx, client, job, owned) + final, waitErr := waitForClusterValidatorJob(vctx, client, jobName) // A clean wait means the pod reached a terminal state, so the RBAC can go. - // A timeout or pull failure leaves it running: pulling the RBAC then fills - // the surviving transcript with "forbidden" and masks the real cause. + // A timeout leaves it running: pulling the RBAC then fills the surviving + // transcript with "forbidden" and masks the real cause. podMayBeRunning = waitErr != nil // Fetch logs under a fresh ctx from the parent: vctx is expired on the @@ -243,9 +271,21 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image cleaned = configNote + "\n" + cleaned } + // A pull failure is different: the container never started, so nothing + // uses the RBAC, the pull secret or the ConfigMap. Delete the Job so its + // pod stops retrying, and let the deferred sweeps run now rather than + // leaving a cluster-wide ClusterRole and an NGC-key Secret for a later + // run's orphan sweep, or for nobody. + var pullErr *validatorImagePullError + if errors.As(waitErr, &pullErr) && !noCleanup { + deleteValidatorJob(context.Background(), client, jobName) + podMayBeRunning = false + } + if waitErr != nil { return ClusterValidatorResult{ JobName: jobName, + RunID: runID, Logs: cleaned, Err: waitErr, } @@ -260,14 +300,69 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image ExitCode: containerExitCode(exitCtx, client, jobName), Logs: cleaned, JobName: jobName, + RunID: runID, } } +// ownedArtifact names a namespaced object the validator Job should own. +type ownedArtifact struct{ kind, name string } + +// ownByJob sets the Job as the controller-less owner of each artifact, so +// garbage collection removes them with it. Best-effort: a failure only means +// the artifact waits for the deferred or orphan sweep, as before. +func ownByJob(ctx context.Context, client kubernetes.Interface, job *batchv1.Job, artifacts []ownedArtifact) { + if job == nil || job.UID == "" { + return + } + patch, err := json.Marshal(map[string]any{"metadata": map[string]any{ + "ownerReferences": []metav1.OwnerReference{{ + APIVersion: "batch/v1", Kind: "Job", Name: job.Name, UID: job.UID, + }}, + }}) + if err != nil { + return + } + for _, a := range artifacts { + switch a.kind { + case "Secret": + _, _ = client.CoreV1().Secrets(clusterValidatorNamespace).Patch( + ctx, a.name, types.MergePatchType, patch, metav1.PatchOptions{}) + case "ConfigMap": + _, _ = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Patch( + ctx, a.name, types.MergePatchType, patch, metav1.PatchOptions{}) + } + } +} + +// deleteValidatorJob removes this run's Job and its pod, but only a Job +// carrying our labels. +func deleteValidatorJob(ctx context.Context, client kubernetes.Interface, name string) { + dctx, cancel := context.WithTimeout(ctx, 10*time.Second) + defer cancel() + jobs := client.BatchV1().Jobs(clusterValidatorNamespace) + job, err := jobs.Get(dctx, name, metav1.GetOptions{}) + if err != nil || !hasValidatorManagedLabels(job.Labels) { + return + } + propagation := metav1.DeletePropagationBackground + opts := deleteExactly(job) + opts.PropagationPolicy = &propagation + _ = jobs.Delete(dctx, name, opts) +} + +// validatorImagePullError reports that the validator pod could not pull its +// image, so its container never started. +type validatorImagePullError struct{ reason, message string } + +func (e *validatorImagePullError) Error() string { + return fmt.Sprintf("validator pod cannot pull image (%s): %s", e.reason, e.message) +} + // Creates the SA/ClusterRole/ClusterRoleBinding the validator pod runs under, // idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so // newer CLI versions replace stale rules without the operator needing to delete. func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool) error { - roleLabels := clusterValidatorRoleLabelsPreserved(role, preserve) + roleLabels := clusterValidatorRunLabels(role, runID, preserve) name := clusterValidatorRBACName(role, runID) sa := &corev1.ServiceAccount{ @@ -338,7 +433,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface func clusterValidatorLabels() map[string]string { return map[string]string{ "app.kubernetes.io/name": clusterValidatorAppLabel, - "app.kubernetes.io/managed-by": "nvcf-cli", + "app.kubernetes.io/managed-by": clusterValidatorManagedBy, "app.kubernetes.io/component": "preflight", } } @@ -348,14 +443,21 @@ func clusterValidatorLabels() map[string]string { // role's Job mid-command, including under --no-cleanup, which makes the // printed `kubectl logs job/...` hint 404. func clusterValidatorRoleLabels(role string) map[string]string { - return clusterValidatorRoleLabelsPreserved(role, false) + return clusterValidatorRunLabels(role, "", false) } -// clusterValidatorRoleLabelsPreserved adds the preserve marker when the run was -// asked to keep its artifacts, so the orphan sweeper leaves them alone. -func clusterValidatorRoleLabelsPreserved(role string, preserve bool) map[string]string { +// clusterValidatorRunLabels are the labels for one run's objects: the managed +// labels, the role, the run ID, and the preserve marker when the run was asked +// to keep its artifacts (which the orphan sweeper then keeps for +// preservedValidatorTTL instead of orphanValidatorRBACTTL). +func clusterValidatorRunLabels(role, runID string, preserve bool) map[string]string { l := clusterValidatorLabels() - l[clusterValidatorRoleLabel] = role + if role != "" { + l[clusterValidatorRoleLabel] = role + } + if runID != "" { + l[clusterValidatorRunLabel] = runID + } if preserve { l[clusterValidatorPreserveLabel] = "true" } @@ -379,12 +481,8 @@ func validatorConfigNameForRole(role, runID string) string { // ConfigMap once it is older than the TTL, and an operator re-running a Job // they deliberately kept gets a validator that silently skips the configurable // reachability and enforcement checks. -func clusterValidatorConfigLabels(preserve bool) map[string]string { - l := clusterValidatorLabels() - if preserve { - l[clusterValidatorPreserveLabel] = "true" - } - return l +func clusterValidatorConfigLabels(runID string, preserve bool) map[string]string { + return clusterValidatorRunLabels("", runID, preserve) } // clusterValidatorConfigRunName scopes the network-checks ConfigMap to one run. @@ -409,44 +507,35 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte // cannot drift from the labels. All three managed labels are required: the // component label is part of what identifies these as ours. opts := metav1.ListOptions{LabelSelector: labels.SelectorFromSet(clusterValidatorLabels()).String()} - cutoff := metav1.Time{Time: time.Now().Add(-ttl)} + now := time.Now() - // reclaimable requires the generated name as well as the labels and the - // age. Labels alone are three public constants and can be copied onto - // anything, and this deletes cluster-scoped objects with errors swallowed. - // Network-check ConfigMaps carry their own generated-name prefix. - reclaimableConfig := func(o metav1.Object) bool { - if !strings.HasPrefix(o.GetName(), clusterValidatorConfigName) { - return false - } + // stale applies the TTL for the object's kind of run. A --no-cleanup run's + // objects are kept longer, not forever: exempting them left a cluster-wide + // ClusterRole and an NGC-key Secret behind permanently. + stale := func(o metav1.Object) bool { + limit := ttl if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { - return false + limit = preservedValidatorTTL } ts := o.GetCreationTimestamp() - return ts.Before(&cutoff) + return ts.Time.Before(now.Add(-limit)) } - // Pull secrets carry the other generated-name prefix. + // Each reclaimable test requires the generated name as well as the labels + // and the age. Labels alone are public constants and can be copied onto + // anything, and this deletes cluster-scoped objects with errors swallowed. + // Network-check ConfigMaps and pull secrets carry their own name prefixes. + reclaimableConfig := func(o metav1.Object) bool { + return strings.HasPrefix(o.GetName(), clusterValidatorConfigName) && stale(o) + } reclaimableSecret := func(o metav1.Object) bool { - if !strings.HasPrefix(o.GetName(), validatorPullSecretName) { - return false - } - if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { - return false - } - ts := o.GetCreationTimestamp() - return ts.Before(&cutoff) + return strings.HasPrefix(o.GetName(), validatorPullSecretName) && stale(o) } - + // The bare legacy name is the fixed-name set released CLIs keep and reuse. + // Its labels no longer match this selector, but exclude it by name too so + // a released CLI's pod never loses its binding mid-run. reclaimable := func(o metav1.Object) bool { - if !strings.HasPrefix(o.GetName(), clusterValidatorName) { - return false - } - if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { - return false - } - ts := o.GetCreationTimestamp() - return ts.Before(&cutoff) + return strings.HasPrefix(o.GetName(), clusterValidatorName+"-") && stale(o) } if l, err := client.RbacV1().ClusterRoleBindings().List(ctx, opts); err == nil { @@ -496,6 +585,24 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } } + + // Jobs only need this for --no-cleanup runs: every other Job carries a + // deadline and a TTL. A preserved Job has neither, so without this arm it + // and its pod would stay forever. Background propagation removes the pod, + // and the Job's ownerReferences take its Secret and ConfigMap with it. + jobs := client.BatchV1().Jobs(clusterValidatorNamespace) + if l, err := jobs.List(ctx, opts); err == nil { + propagation := metav1.DeletePropagationBackground + for i := range l.Items { + o := &l.Items[i] + if o.Labels[clusterValidatorPreserveLabel] != "true" || !reclaimable(o) { + continue + } + del := deleteExactly(o) + del.PropagationPolicy = &propagation + _ = jobs.Delete(ctx, o.Name, del) + } + } } // sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding @@ -525,38 +632,6 @@ func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, } } -// Errors are swallowed: a stale Job is preferable to blocking the new run. -func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Interface, role string) { - // Scope to this role: in ModeSingle both roles run against the same - // cluster, so an unscoped selector deletes the other role's Job mid-command. - // - // List-then-delete rather than DeleteCollection: the name has to be checked - // too, which a collection selector cannot express, and the labels alone are - // public constants that anything could carry. - jobs := client.BatchV1().Jobs(clusterValidatorNamespace) - l, err := jobs.List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(role)}) - if err != nil { - return - } - propagation := metav1.DeletePropagationBackground - for i := range l.Items { - if !strings.HasPrefix(l.Items[i].Name, clusterValidatorName) { - continue - } - // A Job an operator kept with --no-cleanup survives later ordinary - // runs too. The current run already skips this sweep under that flag, - // but without the marker the next run of the same role deletes the Job - // while its ConfigMap, RBAC and pull secret survive, leaving the - // preserved artifacts pointing at a Job that no longer exists. - if l.Items[i].Labels[clusterValidatorPreserveLabel] == "true" { - continue - } - opts := deleteExactly(&l.Items[i]) - opts.PropagationPolicy = &propagation - _ = jobs.Delete(ctx, l.Items[i].Name, opts) - } -} - // sweepManagedPullSecrets removes any docker-registry secrets in // clusterValidatorNamespace that we previously created (mirrored from // another namespace or minted from NGC_API_KEY). Called after the Job @@ -566,8 +641,8 @@ func sweepPriorClusterValidatorJobs(ctx context.Context, client kubernetes.Inter // labeled by us and are skipped by the selector. Errors are swallowed: // failing to clean up is preferable to failing the check itself. func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role, runID string) { - // Same reasoning as sweepPriorClusterValidatorJobs: the generated name is - // part of the ownership test, not just the labels. + // The generated name is part of the ownership test, not just the labels, + // which are public constants anything could carry. secrets := client.CoreV1().Secrets(clusterValidatorNamespace) l, err := secrets.List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(role)}) if err != nil { @@ -683,7 +758,7 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa ObjectMeta: metav1.ObjectMeta{ Name: clusterValidatorConfigRunName(runID), Namespace: clusterValidatorNamespace, - Labels: clusterValidatorConfigLabels(preserve), + Labels: clusterValidatorConfigLabels(runID, preserve), }, Data: map[string]string{"config.yaml": content}, } @@ -782,7 +857,6 @@ func parseRegistryHostPort(s string) (host string, port int) { // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool) *batchv1.Job { backoff := int32(0) - activeDeadline := int64(clusterValidatorTimeout/time.Second) + 60 // Pod shape mirrors deployments/nvca-operator/templates/cronjob.yaml, which // runs this same image. Two producers of one pod spec now exist in two // languages, so they are kept deliberately in step: without the security @@ -837,25 +911,27 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabelsPreserved(role, noCleanup), + Labels: clusterValidatorRunLabels(role, runID, noCleanup), }, Spec: batchv1.JobSpec{ BackoffLimit: &backoff, - // Without a deadline an ImagePullBackOff Job never reaches a - // terminal state, so TTLSecondsAfterFinished never fires and the - // Job, its RBAC and its pull secret persist indefinitely. The - // deferred sweeps are suppressed on that path by design, because - // the pod may still be running, so this is the only reclaim. - // Sized above the runner's own budget so it never truncates a wait - // that is still making progress. - ActiveDeadlineSeconds: &activeDeadline, Template: corev1.PodTemplateSpec{ - ObjectMeta: metav1.ObjectMeta{Labels: clusterValidatorRoleLabels(role)}, + ObjectMeta: metav1.ObjectMeta{Labels: clusterValidatorRunLabels(role, runID, false)}, Spec: podSpec, }, }, } if !noCleanup { + // Without a deadline a Job whose pod never finishes never becomes + // terminal, so its TTL never fires. The deadline plus the TTL remove + // the Job and its pod, and through ownerReferences its pull secret and + // ConfigMap. The ServiceAccount, ClusterRole and binding are left to + // the deferred sweeps, or to a later run's orphan sweep. Sized above + // the runner's own budget so it never truncates a wait that is still + // making progress. A --no-cleanup Job gets neither, so the pod and its + // logs survive for debugging until the preserved-object sweep. + activeDeadline := int64(clusterValidatorTimeout/time.Second) + 60 + job.Spec.ActiveDeadlineSeconds = &activeDeadline ttl := clusterValidatorTTLSeconds job.Spec.TTLSecondsAfterFinished = &ttl } @@ -882,7 +958,7 @@ func waitForClusterValidatorJob(ctx context.Context, client kubernetes.Interface return job, nil } if reason, msg := podPullFailureReason(ctx, client, jobName); reason != "" { - return job, fmt.Errorf("validator pod cannot pull image (%s): %s", reason, msg) + return job, &validatorImagePullError{reason: reason, message: msg} } select { case <-ctx.Done(): diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go new file mode 100644 index 0000000000..ce910620e0 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -0,0 +1,298 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "sync/atomic" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + batchv1 "k8s.io/api/batch/v1" + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/kubernetes/fake" + ktesting "k8s.io/client-go/testing" +) + +// leftovers lists what one run left behind, by kind, other than its Job and +// pod (which the Job's deadline and TTL remove). +func leftovers(t *testing.T, client *fake.Clientset, runID string) map[string][]string { + t.Helper() + ctx := context.Background() + opts := metav1.ListOptions{LabelSelector: clusterValidatorRunLabel + "=" + runID} + out := map[string][]string{} + sas, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).List(ctx, opts) + require.NoError(t, err) + for _, o := range sas.Items { + out["ServiceAccount"] = append(out["ServiceAccount"], o.Name) + } + crs, err := client.RbacV1().ClusterRoles().List(ctx, opts) + require.NoError(t, err) + for _, o := range crs.Items { + out["ClusterRole"] = append(out["ClusterRole"], o.Name) + } + crbs, err := client.RbacV1().ClusterRoleBindings().List(ctx, opts) + require.NoError(t, err) + for _, o := range crbs.Items { + out["ClusterRoleBinding"] = append(out["ClusterRoleBinding"], o.Name) + } + secrets, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, opts) + require.NoError(t, err) + for _, o := range secrets.Items { + out["Secret"] = append(out["Secret"], o.Name) + } + cms, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).List(ctx, opts) + require.NoError(t, err) + for _, o := range cms.Items { + out["ConfigMap"] = append(out["ConfigMap"], o.Name) + } + return out +} + +// lifecycleClient drives a Job through the given terminal behaviour. The Job +// gets a UID, as a real apiserver assigns one, so ownerReferences can be set. +func lifecycleClient(jobStatus func(name string) *batchv1.Job, waiting string) *fake.Clientset { + client := fake.NewSimpleClientset() + var jobName atomic.Value + jobName.Store("") + client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { + job := action.(ktesting.CreateAction).GetObject().(*batchv1.Job) + job.UID = types.UID("uid-" + job.Name) + jobName.Store(job.Name) + return false, nil, nil + }) + client.PrependReactor("get", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { + name := jobName.Load().(string) + if name == "" || action.(ktesting.GetAction).GetName() != name || jobStatus == nil { + return false, nil, nil + } + job := jobStatus(name) + job.Labels = clusterValidatorLabels() + return true, job, nil + }) + client.PrependReactor("list", "pods", podListReactor(waiting)) + client.PrependReactor("get", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + if action.GetSubresource() != "" { + return false, nil, nil + } + pod := &corev1.Pod{ObjectMeta: metav1.ObjectMeta{ + Name: action.(ktesting.GetAction).GetName(), Namespace: clusterValidatorNamespace, + }} + if waiting != "" { + pod.Status.ContainerStatuses = []corev1.ContainerStatus{{ + Name: clusterValidatorContainer, + State: corev1.ContainerState{Waiting: &corev1.ContainerStateWaiting{Reason: waiting}}, + }} + } else { + pod.Status.ContainerStatuses = []corev1.ContainerStatus{{ + Name: clusterValidatorContainer, + State: corev1.ContainerState{Terminated: &corev1.ContainerStateTerminated{}}, + }} + } + return true, pod, nil + }) + return client +} + +func succeeded(name string) *batchv1.Job { + return &batchv1.Job{ + ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: clusterValidatorNamespace}, + Status: batchv1.JobStatus{Succeeded: 1}, + } +} + +func running(name string) *batchv1.Job { + return &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: clusterValidatorNamespace}} +} + +// A clean run removes everything it created apart from the Job, which its TTL +// removes: the RBAC, the minted NGC pull secret and the network-check +// ConfigMap. +func TestRunClusterValidator_HappyPathLeavesNothingBehind(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(succeeded, "") + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil) + require.NoError(t, res.Err) + require.NotEmpty(t, res.RunID) + assert.Empty(t, leftovers(t, client, res.RunID)) +} + +// A bootstrap that fails after the ServiceAccount exists must not abandon it. +func TestRunClusterValidator_FailedBootstrapLeavesNothingBehind(t *testing.T) { + client := fake.NewSimpleClientset() + client.PrependReactor("create", "clusterroles", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewForbidden( + schema.GroupResource{Group: rbacv1.GroupName, Resource: "clusterroles"}, "", nil) + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil) + require.Error(t, res.Err) + sas, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).List(context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + assert.Empty(t, sas.Items, "the ServiceAccount created before the failure must be removed") +} + +// A pull failure means the container never started, so nothing uses the RBAC, +// the NGC pull secret or the ConfigMap: the Job is deleted and all of them go +// now, instead of waiting 30 minutes for another run's orphan sweep. +func TestRunClusterValidator_PullFailureLeavesNothingBehind(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "ImagePullBackOff") + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil) + require.Error(t, res.Err) + assert.Empty(t, leftovers(t, client, res.RunID)) + deleted := false + for _, a := range client.Actions() { + if a.GetVerb() == "delete" && a.GetResource().Resource == "jobs" && + a.(ktesting.DeleteAction).GetName() == res.JobName { + deleted = true + } + } + assert.True(t, deleted, "the Job must be deleted so its pod stops retrying the pull") +} + +// While the pod may still be running its RBAC must stay, but the Job owns the +// pull secret and ConfigMap so its deadline and TTL take them too. +func TestRunClusterValidator_RunningPodKeepsRBACAndJobOwnsArtifacts(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "") + ctx, cancel := context.WithTimeout(context.Background(), 200*time.Millisecond) + defer cancel() + + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil) + require.Error(t, res.Err) + left := leftovers(t, client, res.RunID) + assert.Len(t, left["ServiceAccount"], 1, "a running pod must keep its RBAC") + require.Len(t, left["Secret"], 1) + require.Len(t, left["ConfigMap"], 1) + + secret, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), left["Secret"][0], metav1.GetOptions{}) + require.NoError(t, err) + require.Len(t, secret.OwnerReferences, 1) + assert.Equal(t, "Job", secret.OwnerReferences[0].Kind) + assert.Equal(t, res.JobName, secret.OwnerReferences[0].Name) + cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(context.Background(), left["ConfigMap"][0], metav1.GetOptions{}) + require.NoError(t, err) + require.Len(t, cm.OwnerReferences, 1) + assert.Equal(t, res.JobName, cm.OwnerReferences[0].Name) +} + +// The deferred sweep removes only this run's Secret. A concurrent same-role +// run's Secret must survive it, or that run's pod fails its pull mid-flight. +func TestRunClusterValidator_SparesConcurrentSameRoleSecret(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + other := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRunName(clusterValidatorComputePlaneRole, "other"), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRunLabels(clusterValidatorComputePlaneRole, "other", false), + CreationTimestamp: metav1.Now(), + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: []byte(`{"auths":{}}`)}, + } + client := lifecycleClient(succeeded, "") + _, err := client.CoreV1().Secrets(clusterValidatorNamespace).Create(context.Background(), other, metav1.CreateOptions{}) + require.NoError(t, err) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil) + require.NoError(t, res.Err) + _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), other.Name, metav1.GetOptions{}) + assert.NoError(t, err, "another run's Secret must survive this run's sweep") +} + +// --no-cleanup keeps everything, labelled with the run so the printed command +// removes exactly that run. +func TestRunClusterValidator_NoCleanupKeepsRunAndPrintsTheCommand(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(succeeded, "") + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorControlPlaneRole, nil) + require.NoError(t, res.Err) + left := leftovers(t, client, res.RunID) + for _, kind := range []string{"ServiceAccount", "ClusterRole", "ClusterRoleBinding", "Secret", "ConfigMap"} { + assert.Len(t, left[kind], 1, kind) + } + hint := validatorCleanupHint("ctx-a", res.RunID) + assert.Contains(t, hint, clusterValidatorRunLabel+"="+res.RunID) + assert.Contains(t, hint, "clusterrole,clusterrolebinding") + assert.Contains(t, hint, "--context ctx-a") +} + +func stampAge(o metav1.Object, age time.Duration) { + o.SetCreationTimestamp(metav1.NewTime(time.Now().Add(-age))) +} + +// Preserved objects are kept for a day, not forever, and the orphan sweep +// reclaims a preserved Job too. Objects labelled by a released CLI, including +// its fixed legacy name, are never touched. +func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *testing.T) { + name := func(run string) string { return clusterValidatorRBACName(clusterValidatorControlPlaneRole, run) } + sa := func(n string, lbls map[string]string, age time.Duration) *corev1.ServiceAccount { + o := &corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{Name: n, Namespace: clusterValidatorNamespace, Labels: lbls}} + stampAge(o, age) + return o + } + job := func(n string, lbls map[string]string, age time.Duration) *batchv1.Job { + o := &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: n, Namespace: clusterValidatorNamespace, Labels: lbls}} + stampAge(o, age) + return o + } + legacy := map[string]string{ + "app.kubernetes.io/name": clusterValidatorAppLabel, "app.kubernetes.io/managed-by": "nvcf-cli", + "app.kubernetes.io/component": "preflight", + } + client := fake.NewSimpleClientset( + sa(name("old-kept"), clusterValidatorRunLabels(clusterValidatorControlPlaneRole, "old-kept", true), 25*time.Hour), + sa(name("new-kept"), clusterValidatorRunLabels(clusterValidatorControlPlaneRole, "new-kept", true), time.Hour), + sa(clusterValidatorName, legacy, 1000*time.Hour), + job(clusterValidatorName+"-1", clusterValidatorRunLabels(clusterValidatorControlPlaneRole, "old-kept", true), 25*time.Hour), + job(clusterValidatorName+"-2", clusterValidatorRunLabels(clusterValidatorControlPlaneRole, "new-kept", true), time.Hour), + ) + + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + + ctx := context.Background() + _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, name("old-kept"), metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "a preserved object older than a day is reclaimed") + _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, name("new-kept"), metav1.GetOptions{}) + assert.NoError(t, err, "a preserved object younger than a day is kept") + _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, clusterValidatorName, metav1.GetOptions{}) + assert.NoError(t, err, "a released CLI's fixed-name object is never touched") + _, err = client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, clusterValidatorName+"-1", metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "a preserved Job older than a day is reclaimed") + _, err = client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, clusterValidatorName+"-2", metav1.GetOptions{}) + assert.NoError(t, err) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index fcf877b4ff..0acbb0b652 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -479,8 +479,13 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { labels := job.Labels assert.Equal(t, clusterValidatorAppLabel, labels["app.kubernetes.io/name"]) - assert.Equal(t, "nvcf-cli", labels["app.kubernetes.io/managed-by"]) + assert.NotEqual(t, "nvcf-cli", labels["app.kubernetes.io/managed-by"], + "released CLIs DeleteCollection on managed-by=nvcf-cli, so a shared value lets each version delete the other's objects") assert.Equal(t, "preflight", labels["app.kubernetes.io/component"]) + assert.Equal(t, "runid", labels[clusterValidatorRunLabel]) + assert.Equal(t, "runid", job.Spec.Template.Labels[clusterValidatorRunLabel]) + require.NotNil(t, job.Spec.ActiveDeadlineSeconds, + "without a deadline a Job whose pod never finishes never becomes terminal, so its TTL never fires") // The validator must run in preflight mode so it skips the summary // ConfigMap write (the metrics path needs the NVCA agent, which is not @@ -519,6 +524,9 @@ func TestBuildClusterValidatorJobShape_NoCleanup(t *testing.T) { job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", true) assert.Nil(t, job.Spec.TTLSecondsAfterFinished, "--no-cleanup must omit TTLSecondsAfterFinished so the Job persists for debugging") + assert.Nil(t, job.Spec.ActiveDeadlineSeconds, + "a deadline would kill the kept pod, and its logs, shortly after the CLI gives up") + assert.Equal(t, "true", job.Labels[clusterValidatorPreserveLabel]) } func TestCleanValidatorOutput_StripsANSI(t *testing.T) { @@ -765,42 +773,6 @@ func TestParseRegistryHostPort_RejectsMalformedExplicitPort(t *testing.T) { assert.Equal(t, 443, port) } -// The prior-run Job sweep deletes by label plus generated name. Labels alone -// are three public constants, so a Job carrying them under an unrelated name is -// not ours to delete. -func TestSweepPriorClusterValidatorJobs_RequiresGeneratedName(t *testing.T) { - ctx := context.Background() - const role = clusterValidatorControlPlaneRole - ours := clusterValidatorName + "-1700000000" - - client := fake.NewSimpleClientset( - &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ - Name: ours, Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(role), - }}, - &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ - Name: "operator-owned-job", Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(role), - }}, - &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorName + "-9999999999", Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels("compute-plane"), - }}, - ) - - sweepPriorClusterValidatorJobs(ctx, client, role) - - jobs := client.BatchV1().Jobs(clusterValidatorNamespace) - _, err := jobs.Get(ctx, ours, metav1.GetOptions{}) - assert.True(t, apierrors.IsNotFound(err), "this role's prior Job must be swept") - - _, err = jobs.Get(ctx, "operator-owned-job", metav1.GetOptions{}) - assert.NoError(t, err, "matching labels alone must not authorize deleting someone else's Job") - - _, err = jobs.Get(ctx, clusterValidatorName+"-9999999999", metav1.GetOptions{}) - assert.NoError(t, err, "the other role's Job must survive") -} - // The network-checks ConfigMap was the one object a run created with no // cleanup path, so it accumulated in the cluster forever. func TestSweepClusterValidatorConfig_DeletesOwnAndSparesOperators(t *testing.T) { @@ -1111,23 +1083,3 @@ func TestBuildClusterValidatorJob_MarksPreservedRun(t *testing.T) { assert.NotContains(t, ordinary.Labels, clusterValidatorPreserveLabel, "an ordinary run must stay sweepable") } - -func TestSweepPriorClusterValidatorJobs_SparesPreservedJob(t *testing.T) { - preserved := buildClusterValidatorJob(clusterValidatorName+"-kept", "nvcr.io/x/v:1", "", - clusterValidatorControlPlaneRole, "runid", true) - preserved.Namespace = clusterValidatorNamespace - ordinary := buildClusterValidatorJob(clusterValidatorName+"-old", "nvcr.io/x/v:1", "", - clusterValidatorControlPlaneRole, "runid", false) - ordinary.Namespace = clusterValidatorNamespace - - client := fake.NewSimpleClientset(preserved, ordinary) - sweepPriorClusterValidatorJobs(context.Background(), client, clusterValidatorControlPlaneRole) - - _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get( - context.Background(), preserved.Name, metav1.GetOptions{}) - assert.NoError(t, err, "a Job kept with --no-cleanup must survive a later run's sweep") - - _, err = client.BatchV1().Jobs(clusterValidatorNamespace).Get( - context.Background(), ordinary.Name, metav1.GetOptions{}) - assert.True(t, apierrors.IsNotFound(err), "an ordinary prior Job must still be swept") -} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 97285be354..f0167a0d71 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -613,6 +613,11 @@ func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret s }) r.Logs = result.Logs r.Detail = clusterValidatorDetail(kubeContext, result.JobName) + if noCleanup { + if hint := validatorCleanupHint(kubeContext, result.RunID); hint != "" { + r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + hint + } + } if result.Err != nil { r.Severity = "warning" @@ -633,6 +638,20 @@ func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret s } } +// validatorCleanupHint is the command that removes everything one --no-cleanup +// run kept. Everything it created carries the run label, so one selector +// covers the namespaced objects and one the cluster-scoped RBAC. +func validatorCleanupHint(kubeContext, runID string) string { + if runID == "" { + return "" + } + sel := clusterValidatorRunLabel + "=" + runID + ctx := kubectlContextArg(kubeContext) + return fmt.Sprintf("kept with --no-cleanup; remove with: kubectl%s delete -n %s job,serviceaccount,secret,configmap -l %s && "+ + "kubectl%s delete clusterrole,clusterrolebinding -l %s", + ctx, clusterValidatorNamespace, sel, ctx, sel) +} + func clusterValidatorDetail(kubeContext, jobName string) string { hint := kubectlLogsHint(kubeContext, jobName) if hint == "" { diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 1fb43122f0..e23daf1376 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -197,15 +197,15 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r continue } if s.Namespace == clusterValidatorNamespace { - // Adopt an operator-supplied Secret (no managed labels, so no - // sweep touches it) or this role's own. Never the other - // role's: in ModeSplit both kubecontexts can resolve to one - // cluster, and that role's deferred sweep would delete the - // Secret while this role's pod is still pulling, which the - // kubelet reports as FailedToRetrieveImagePullSecret. That is - // the exact failure per-role naming was introduced to prevent. - if hasValidatorManagedLabels(s.Labels) && - s.Labels[clusterValidatorRoleLabel] != role { + // Adopt only an operator-supplied Secret (no managed labels, so + // no sweep touches it). Never one another run minted: those + // are per-run now, so adopting one reuses a possibly stale + // NGC key (a run with a bad key keeps its Secret while its pod + // may still be pulling), can outlive this run, and can be + // deleted by its own run's sweep mid-pull, which the kubelet + // reports as FailedToRetrieveImagePullSecret. A --no-cleanup + // Secret would otherwise be adopted by every later run. + if hasValidatorManagedLabels(s.Labels) { continue } return s.Name, nil @@ -216,7 +216,7 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r // the destination namespace, and writeDockerConfigSecret's // delete-and-recreate path would otherwise destroy that // secret on type mismatch. - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, cfg, preserve); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, runID, cfg, preserve); err != nil { return "", fmt.Errorf("mirror pull secret %s/%s to %s/%s: %w", s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), err) } @@ -255,7 +255,7 @@ func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interfac if err != nil { return "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) } - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, cfg, preserve); err != nil { + if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, runID, cfg, preserve); err != nil { return "", fmt.Errorf("auto-create pull secret %s/%s: %w", clusterValidatorNamespace, validatorPullSecretRunName(role, runID), err) } @@ -295,12 +295,14 @@ func buildDockerConfigJSON(registry, username, password string) ([]byte, error) // which label-based ownership cannot prevent: the managed labels are three // public constants anyone can copy onto a Secret they pre-create under a // predictable name. -func writeDockerConfigSecret(ctx context.Context, client kubernetes.Interface, namespace, name, role string, dockerConfig []byte, preserve bool) error { +func writeDockerConfigSecret( + ctx context.Context, client kubernetes.Interface, namespace, name, role, runID string, dockerConfig []byte, preserve bool, +) error { secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: namespace, - Labels: clusterValidatorRoleLabelsPreserved(role, preserve), + Labels: clusterValidatorRunLabels(role, runID, preserve), }, Type: corev1.SecretTypeDockerConfigJson, Data: map[string][]byte{corev1.DockerConfigJsonKey: dockerConfig}, diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index ee958421fc..2f4aa2fb07 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -353,12 +353,12 @@ func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") client := fake.NewSimpleClientset() require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - cpName, clusterValidatorControlPlaneRole, cfg, false)) + cpName, clusterValidatorControlPlaneRole, "run1", cfg, false)) require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - gpuName, "compute-plane", cfg, false)) + gpuName, "compute-plane", "run1", cfg, false)) // Our labels, but not a name we generate: must survive. require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - "operator-owned-secret", clusterValidatorControlPlaneRole, cfg, false)) + "operator-owned-secret", clusterValidatorControlPlaneRole, "run1", cfg, false)) sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole, "runid") @@ -381,7 +381,7 @@ func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - name, clusterValidatorControlPlaneRole, cfg, false)) + name, clusterValidatorControlPlaneRole, "run1", cfg, false)) own, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(clusterValidatorControlPlaneRole)}) @@ -449,24 +449,28 @@ func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { assert.Equal(t, "operator-pull", got) } -// This role's own Secret is still adopted rather than re-minted. -func TestScanAndMirrorPullSecret_AdoptsOwnRoleSecret(t *testing.T) { +// No Secret another run minted is adopted, even one of the same role: it may +// hold a stale key, may be deleted by its own run's sweep mid-pull, and a +// --no-cleanup one would otherwise be adopted by every later run. +func TestScanAndMirrorPullSecret_NeverAdoptsAnotherRunsSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") - own := &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRunName(clusterValidatorComputePlaneRole, "runid"), - Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(clusterValidatorComputePlaneRole), - }, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + secret := func(runID string, preserve bool) *corev1.Secret { + return &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRunName(clusterValidatorComputePlaneRole, runID), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRunLabels(clusterValidatorComputePlaneRole, runID, preserve), + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + } } - client := fake.NewSimpleClientset(own) + client := fake.NewSimpleClientset(secret("earlier", false), secret("kept", true)) got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) - assert.Equal(t, own.Name, got) + assert.Empty(t, got, "a managed Secret from another run must not be adopted") } // writeDockerConfigSecret is create-only. The name carries this run's @@ -480,7 +484,7 @@ func TestWriteDockerConfigSecret_CreatesUnderTheRunScopedName(t *testing.T) { name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") require.NoError(t, writeDockerConfigSecret(context.Background(), client, - clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, cfg, false)) + clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, "run1", cfg, false)) s, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( context.Background(), name, metav1.GetOptions{}) @@ -505,7 +509,7 @@ func TestWriteDockerConfigSecret_RefusesAnyCollision(t *testing.T) { client := fake.NewSimpleClientset(squatter) err := writeDockerConfigSecret(context.Background(), client, - clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, cfg, false) + clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, "run1", cfg, false) require.Error(t, err, "a collision on an unguessable name must never be adopted") assert.Contains(t, err.Error(), "refusing to overwrite") From d642bef55f80d870168ba07f07a3a7f126fad2e3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 01:03:09 +0530 Subject: [PATCH 038/127] fix(nvcf-cli): forward the validator's settings and probe the registries the install uses Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/main_test.go | 75 +- src/clis/nvcf-cli/cmd/root.go | 1 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 134 +- .../cmd/self_hosted_check_stackvalues_test.go | 82 + .../nvcf-cli/cmd/self_hosted_check_test.go | 14 + .../self_hosted_check_validatorenv_test.go | 99 + src/clis/nvcf-cli/cmd/self_hosted_test.go | 1 + .../agentskill/skilldata_generated.go | 4123 +++++++++-------- .../internal/selfhosted/clustervalidator.go | 131 +- .../clustervalidator_lifecycle_test.go | 75 +- .../selfhosted/clustervalidator_test.go | 81 +- .../nvcf-cli/internal/selfhosted/preflight.go | 19 +- .../internal/selfhosted/registry_cred.go | 157 +- .../internal/selfhosted/registry_cred_test.go | 161 +- 14 files changed, 2888 insertions(+), 2265 deletions(-) create mode 100644 src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go create mode 100644 src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 4d65747743..c2abc70774 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -19,9 +19,14 @@ package cmd import ( "context" + "net/http" + "net/http/httptest" "os" "testing" + "github.com/spf13/pflag" + "github.com/spf13/viper" + "nvcf-cli/internal/selfhosted" ) @@ -51,5 +56,73 @@ func TestMain(m *testing.M) { newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { return func(context.Context, string, string, bool) error { return nil } } - os.Exit(m.Run()) + // No validator Job. A developer with NVCF_CLI_CLUSTER_VALIDATOR_IMAGE + // exported, or cluster_validator_image in ~/.nvcf-cli.yaml, would + // otherwise have every check test create RBAC, Secrets and Jobs in the + // current kube context and wait up to five minutes per role. + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(context.Context, selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + for _, k := range []string{ + "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES", + "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE", + } { + _ = os.Unsetenv(k) + } + // The SIS reachability check has no seam, but it resolves its URL from + // NVCF_ICMS_URL, so resetCheckFlags points check tests at this local + // server instead of the real SIS. Scoped per test: setting it for the + // whole package would change what the ICMS URL resolution tests resolve. + sis := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + w.WriteHeader(http.StatusOK) + })) + testSISURL = sis.URL + code := m.Run() + sis.Close() + os.Exit(code) +} + +// testSISURL is a local stand-in for SIS, set by TestMain. +var testSISURL string + +// resetCheckFlags returns every `self-hosted check` flag to its default, +// including cobra's Changed marker, now and when the test ends. The flag +// variables are package globals that survive rootCmd.Execute, so without this +// a test that passes --pre leaks it into whichever test runs next, and a +// regression guard can pass or fail on test order alone. +func resetCheckFlags(t *testing.T) { + t.Helper() + if testSISURL != "" { + t.Setenv("NVCF_ICMS_URL", testSISURL) + } + reset := func() { + checkPre, checkControlPlane, checkComputePlane, checkAll = false, false, false, false + checkClusterName = "" + checkLocalOnly, checkSkipInotifyCheck, checkSkipClusterValidation = false, false, false + checkClusterValidatorImage, checkClusterValidatorPullSecret = "", "" + checkClusterValidatorNoCleanup = false + checkClusterValidatorRegistries = nil + checkClusterValidatorProbeImage = "" + checkShowLogs = false + selfHostedJSON, selfHostedPlain = false, false + selfHostedOutput = "text" + selfHostedWait = "" + selfHostedControlPlaneContext, selfHostedComputePlaneContext = "", "" + for _, fs := range []*pflag.FlagSet{selfHostedCheckCmd.Flags(), selfHostedCmd.PersistentFlags()} { + fs.VisitAll(func(f *pflag.Flag) { f.Changed = false }) + } + // Other tests call viper.Reset(), which drops the bindings made at + // init, so a flag passed to check would silently not be read. + for key, flag := range map[string]string{ + "cluster_validator_image": "cluster-validator-image", + "cluster_validator_registries": "cluster-validator-registries", + "cluster_validator_probe_image": "cluster-validator-probe-image", + } { + _ = viper.BindPFlag(key, selfHostedCheckCmd.Flags().Lookup(flag)) + } + } + reset() + t.Cleanup(reset) } diff --git a/src/clis/nvcf-cli/cmd/root.go b/src/clis/nvcf-cli/cmd/root.go index 2f07f1b943..ee098e5be5 100644 --- a/src/clis/nvcf-cli/cmd/root.go +++ b/src/clis/nvcf-cli/cmd/root.go @@ -286,6 +286,7 @@ func initConfig() { // NVCF_CLI_CLUSTER_VALIDATOR_IMAGE override. viper.BindEnv("cluster_validator_image", "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE") viper.BindEnv("cluster_validator_registries", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES") + viper.BindEnv("cluster_validator_probe_image", "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE") // If a config file is found, read it in. if err := viper.ReadInConfig(); err == nil && viper.GetBool("debug") { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 6504ad9430..2f50b4da38 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -48,6 +48,7 @@ var ( checkClusterValidatorPullSecret string checkClusterValidatorNoCleanup bool checkClusterValidatorRegistries []string + checkClusterValidatorProbeImage string checkShowLogs bool ) @@ -117,10 +118,18 @@ func init() { selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorRegistries, "cluster-validator-registries", nil, "Additional container registries to probe for reachability in the control-plane validator. "+ "Format: host:port (e.g. harbor.company.internal:443,ghcr.io:443). "+ - "nvcr.io is always included. Env: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES. "+ + "Added to the registries the install pulls from, which are probed with the same "+ + "criticality as the local credential check. Env: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES. "+ "Can also be set in nvcf-cli config as cluster_validator_registries (list).") _ = viper.BindPFlag("cluster_validator_registries", selfHostedCheckCmd.Flags().Lookup("cluster-validator-registries")) + selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorProbeImage, "cluster-validator-probe-image", "", + "Image for the control-plane validator's node-to-node overlay probe (needs sh and busybox-style nc). "+ + "Defaults to busybox:1.36 from Docker Hub; set a mirror for air-gapped clusters. "+ + "Env: NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE. "+ + "Can also be set in nvcf-cli config as cluster_validator_probe_image.") + _ = viper.BindPFlag("cluster_validator_probe_image", + selfHostedCheckCmd.Flags().Lookup("cluster-validator-probe-image")) selfHostedCheckCmd.Flags().BoolVar(&checkShowLogs, "show-logs", false, "Print the cleaned cluster-validator transcript to stderr after the check events. "+ "Useful when piping --json output to a script that also wants the transcript.") @@ -212,9 +221,8 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // --cluster-validator-registries extras independently of the image config. if !localOnly { extraRegistries := configuredValidatorRegistries() - stackValuesFile := resolveStackValuesFile() credEntries = selfhosted.EnumerateRegistries( - clusterValidatorImage, stackValuesFile, extraRegistries, + clusterValidatorImage, resolveStackValuesFiles(), extraRegistries, ) if len(credEntries) > 0 { registryChecker = newRegistryCredentialCheckerForSelfHosted() @@ -299,16 +307,14 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } } -// resolveStackValuesFile returns the environment values YAML to read -// global.image.registry from, or "" when none is available. +// resolveStackValuesFiles returns the stack values files preflight reads, in +// the order helmfile layers them: base.yaml first, then the environment file +// over it. Returns nil when no stack is found. // // It prefers --control-plane-stack, the same source every sibling command uses, -// and only falls back to walking up from the working directory. Within a stack -// it tries HELMFILE_ENV (default "default") and then base.yaml, which is where -// global.image.registry actually lives. The previous version looked only for -// environments/local.yaml, which is not a tracked file, so on any clean -// checkout os.Stat never succeeded and this whole lookup was dead. -func resolveStackValuesFile() string { +// and only falls back to walking up from the working directory. The +// environment follows resolveStackEnv. +func resolveStackValuesFiles() []string { var roots []string if selfHostedControlPlaneStack != "" { roots = append(roots, selfHostedControlPlaneStack) @@ -325,32 +331,45 @@ func resolveStackValuesFile() string { } } - // selfHostedEnv (--env, default "local"), not HELMFILE_ENV: that variable - // is only ever injected into the helmfile subprocess, so reading it here - // always returned "" and fell through to base.yaml. An operator whose - // local.yaml points global.image.registry at their mirror would get - // base.yaml's nvcr.io, and the preflight would credential-check a registry - // the install never pulls from. - env := strings.TrimSpace(selfHostedEnv) - if env == "" { - env = "local" - } - names := []string{env + ".yaml", "base.yaml"} - + env := resolveStackEnv() for _, root := range roots { for _, sub := range [][]string{ {"deploy", "stacks", "self-managed", "environments"}, {"environments"}, // a stack dir passed directly } { - for _, name := range names { - candidate := filepath.Join(append(append([]string{root}, sub...), name)...) + dir := filepath.Join(append([]string{root}, sub...)...) + var files []string + for _, name := range []string{"base.yaml", env + ".yaml"} { + candidate := filepath.Join(dir, name) if _, err := os.Stat(candidate); err == nil { - return candidate + files = append(files, candidate) } } + if len(files) > 0 { + return files + } } } - return "" + return nil +} + +// resolveStackEnv picks the helmfile environment preflight reads: an explicit +// --env, then HELMFILE_ENV for an operator who exports it and runs helmfile +// directly, then --env's default. When the CLI runs helmfile itself it passes +// --env as HELMFILE_ENV, so an explicit flag must win. +func resolveStackEnv() string { + if f := selfHostedCmd.PersistentFlags().Lookup("env"); f != nil && f.Changed { + if env := strings.TrimSpace(selfHostedEnv); env != "" { + return env + } + } + if env := strings.TrimSpace(os.Getenv("HELMFILE_ENV")); env != "" { + return env + } + if env := strings.TrimSpace(selfHostedEnv); env != "" { + return env + } + return "local" } // localStackDir returns src when it points at a readable local directory. @@ -533,9 +552,11 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin staleNSProber := newStaleNamespaceProberForSelfHosted() - // Additional registries to probe in the control-plane validator ConfigMap. - // Priority: flag > env > config file. - registries := configuredValidatorRegistries() + // The control-plane validator probes the same registries, with the same + // criticality, as the local credential check, extras included. + registries := cfg.Registries + validatorEnv := clusterValidatorJobEnv( + selfhosted.LoadStackValues(resolveStackValuesFiles())) // The cluster-validator image is the same for both roles; VALIDATOR_ROLE // in the Job env selects which check set runs inside the binary. @@ -578,6 +599,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: validatorEnv, ClusterValidatorRegistries: registries, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedControlPlaneStack), @@ -596,6 +618,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: validatorEnv, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedComputePlaneStack), } @@ -639,6 +662,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: validatorEnv, ClusterValidatorRegistries: registries, StaleNamespaceProber: staleForControlPlane, StackDir: localStackDir(selfHostedControlPlaneStack), @@ -655,6 +679,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: validatorEnv, StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), ExtraStaleNamespaces: gpuExtraNamespaces, @@ -666,6 +691,55 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin } } +// clusterValidatorJobEnv is what the validator container needs from the CLI's +// resolved configuration, matching what the chart CronJob forwards: +// - VALIDATOR_POST_INSTALL on every run except --pre, so an empty control +// plane fails after install instead of passing as pre-install; +// - relocated OpenBao and Envoy Gateway namespaces, without which the Tier +// rows assess the defaults and miss the real components; +// - NVCF_GATEWAY_NAMES, the override for the NVCF Gateway discovery; +// - the overlay probe image, so a mirrored cluster does not pull busybox +// from Docker Hub. +func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { + env := map[string]string{} + if !checkPre { + env["VALIDATOR_POST_INSTALL"] = "true" + } + if ns := configValue("NVCF_OPENBAO_NAMESPACE"); ns != "" { + env["NVCF_OPENBAO_NAMESPACE"] = ns + } + envoyNS := configValue("NVCF_ENVOY_GATEWAY_NAMESPACE") + if envoyNS == "" { + envoyNS = stack.EnvoyGatewayNamespace + } + if envoyNS != "" { + env["NVCF_ENVOY_GATEWAY_NAMESPACE"] = envoyNS + } + if names := configValue("NVCF_GATEWAY_NAMES"); names != "" { + env["NVCF_GATEWAY_NAMES"] = names + } + probe := strings.TrimSpace(viper.GetString("cluster_validator_probe_image")) + if probe == "" { + probe = configValue("NVCF_N2N_PROBE_IMAGE") + } + if probe != "" { + env["NVCF_N2N_PROBE_IMAGE"] = probe + } + return env +} + +// configValue reads a setting the way the CLI's cluster configuration does +// (environment, then the nvcf-cli config file). +func configValue(key string) string { + if v := strings.TrimSpace(os.Getenv(key)); v != "" { + return v + } + if viper.IsSet(key) { + return strings.TrimSpace(viper.GetString(key)) + } + return "" +} + // resolveClusterValidatorImage resolves the validator image from flag > env > // config-file. Returns ("", false) when unconfigured. When only a repo is // given, discovers the latest stable tag (1h cached; falls back on failure). diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go new file mode 100644 index 0000000000..ef805f46b6 --- /dev/null +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -0,0 +1,82 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package cmd + +import ( + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// stackWithEnvs creates a stack directory holding base.yaml and one file per +// named environment. +func stackWithEnvs(t *testing.T, envs ...string) string { + t.Helper() + dir := t.TempDir() + envDir := filepath.Join(dir, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + for _, name := range append([]string{"base"}, envs...) { + require.NoError(t, os.WriteFile(filepath.Join(envDir, name+".yaml"), []byte("global: {}\n"), 0o644)) + } + return dir +} + +// withEnvFlag sets --env as if the operator passed it, and restores it. +func withEnvFlag(t *testing.T, value string, changed bool) { + t.Helper() + f := selfHostedCmd.PersistentFlags().Lookup("env") + require.NotNil(t, f) + prevValue, prevChanged := selfHostedEnv, f.Changed + selfHostedEnv, f.Changed = value, changed + t.Cleanup(func() { selfHostedEnv, f.Changed = prevValue, prevChanged }) +} + +// helmfile layers the environment file over base.yaml, so both are returned, +// base first. Returning only the first file that exists dropped whichever +// half the other one set. +func TestResolveStackValuesFiles_LayersEnvOverBase(t *testing.T) { + stack := stackWithEnvs(t, "local") + prev := selfHostedControlPlaneStack + selfHostedControlPlaneStack = stack + t.Cleanup(func() { selfHostedControlPlaneStack = prev }) + t.Setenv("HELMFILE_ENV", "") + withEnvFlag(t, "local", false) + + got := resolveStackValuesFiles() + require.Len(t, got, 2) + assert.Equal(t, "base.yaml", filepath.Base(got[0])) + assert.Equal(t, "local.yaml", filepath.Base(got[1])) +} + +// An operator who exports HELMFILE_ENV and runs helmfile directly gets that +// environment; an explicit --env still wins over it. +func TestResolveStackEnv_Precedence(t *testing.T) { + t.Setenv("HELMFILE_ENV", "airgap") + withEnvFlag(t, "local", false) + assert.Equal(t, "airgap", resolveStackEnv(), "HELMFILE_ENV beats the --env default") + + withEnvFlag(t, "staging", true) + assert.Equal(t, "staging", resolveStackEnv(), "an explicit --env beats HELMFILE_ENV") + + t.Setenv("HELMFILE_ENV", "") + withEnvFlag(t, "local", false) + assert.Equal(t, "local", resolveStackEnv()) +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index ddf4f72cac..31f6a105e1 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -40,6 +40,7 @@ import ( // - prints a deprecation warning to stderr, AND // - falls through to JSONL streaming behaviour on stderr (same as --json). func TestCheck_LegacyOutputJSONWarnsAndStreams(t *testing.T) { + resetCheckFlags(t) // Reset global flag state left over from other tests. t.Cleanup(func() { selfHostedJSON = false @@ -65,6 +66,7 @@ func TestCheck_LegacyOutputJSONWarnsAndStreams(t *testing.T) { // the §6.6.3 schema: schemaVersion header, then check_started/check_completed/ // category_completed events per check, then a final event with verdict fields. func TestCheck_NewJSON(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -114,6 +116,7 @@ func TestCheck_NewJSON(t *testing.T) { // TestCheck_WaitTimesOutCleanly verifies that --wait honors the timeout duration. func TestSelfHostedCheck_WaitTimesOutCleanly(t *testing.T) { + resetCheckFlags(t) t.Setenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY", "1") t.Setenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL", "1") // seam: forces a failing check rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--wait", "2s"}) @@ -162,6 +165,7 @@ func TestCheck_OneShotTTYUsesStaticRenderer(t *testing.T) { // TestCheck_PreflightStreamingOrder verifies that for each tool the events arrive // in CheckStarted → CheckCompleted order, and CategoryCompleted follows all checks. func TestCheck_PreflightStreamingOrder(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -221,6 +225,7 @@ func TestCheck_PreflightStreamingOrder(t *testing.T) { // TestCheck_LocalOnlyFlag verifies that --local-only causes only local-host-tools // events (no control-plane-cluster or compute-plane-cluster events). func TestCheck_LocalOnlyFlag(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -256,6 +261,7 @@ func TestCheck_LocalOnlyFlag(t *testing.T) { // TestCheck_SingleClusterMode verifies that without context flags, both // control-plane-cluster and compute-plane-cluster category events appear. func TestCheck_SingleClusterMode(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -287,6 +293,7 @@ func TestCheck_SingleClusterMode(t *testing.T) { } func TestCheck_PreDoesNotProbeSISReachability(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -311,6 +318,7 @@ func TestCheck_PreDoesNotProbeSISReachability(t *testing.T) { // TestCheck_SplitClusterMode verifies that providing both context flags causes // both control-plane and compute-plane category events (run in parallel). func TestCheck_SplitClusterMode(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -423,6 +431,7 @@ func TestControlPlaneIsTargeted(t *testing.T) { // produces compute-plane-cluster category events. Before the gating fix this // flag was a complete no-op and produced no check events at all. func TestCheck_ComputePlaneFlagRunsChecks(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -455,6 +464,7 @@ func TestCheck_ComputePlaneFlagRunsChecks(t *testing.T) { // TestCheck_ControlPlaneFlagRunsChecks verifies that --control-plane alone // produces control-plane-cluster category events. func TestCheck_ControlPlaneFlagRunsChecks(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -489,6 +499,7 @@ func TestCheck_ControlPlaneFlagRunsChecks(t *testing.T) { // used with --skip-cluster-validation (compute plane is targeted, validator is // suppressed). func TestCheck_ValidatorSkipNoteAppearsOnComputePlane(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -519,6 +530,7 @@ func TestCheck_ValidatorSkipNoteAppearsOnComputePlane(t *testing.T) { // "no validator row vs validator silently dropped" confusion the note exists // to prevent. func TestCheck_ValidatorSkipNotePresentForPreInSplitMode(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -608,6 +620,7 @@ func TestPlaneIsVisited(t *testing.T) { // compute cluster must not be contacted at all, so no compute-plane-cluster // category is emitted. func TestCheck_SplitModeControlPlaneOnlySkipsComputeCluster(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" @@ -647,6 +660,7 @@ func TestCheck_SplitModeControlPlaneOnlySkipsComputeCluster(t *testing.T) { // are checked on the operator's machine, so running them for both roles // repeats the same check IDs in --json and double-counts them in the totals. func TestCheck_HostLocalChecksRunOnce(t *testing.T) { + resetCheckFlags(t) t.Cleanup(func() { selfHostedJSON = false selfHostedOutput = "text" diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go new file mode 100644 index 0000000000..140fc2c060 --- /dev/null +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -0,0 +1,99 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package cmd + +import ( + "bytes" + "context" + "sync" + "testing" + + "github.com/spf13/viper" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "nvcf-cli/internal/selfhosted" +) + +// The Job gets what the chart CronJob forwards: the post-install signal on +// every run but --pre, relocated namespaces, the Gateway override and the +// probe image. +func TestClusterValidatorJobEnv(t *testing.T) { + prevPre := checkPre + t.Cleanup(func() { + checkPre = prevPre + viper.Set("cluster_validator_probe_image", "") + }) + for _, k := range []string{"NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", "NVCF_N2N_PROBE_IMAGE"} { + t.Setenv(k, "") + } + + checkPre = false + env := clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway"}) + assert.Equal(t, "true", env["VALIDATOR_POST_INSTALL"], "a post-install run must say so") + assert.Equal(t, "gateway", env["NVCF_ENVOY_GATEWAY_NAMESPACE"], "the stack's controller namespace is forwarded") + assert.NotContains(t, env, "NVCF_OPENBAO_NAMESPACE") + + checkPre = true + t.Setenv("NVCF_OPENBAO_NAMESPACE", "openbao") + t.Setenv("NVCF_ENVOY_GATEWAY_NAMESPACE", "edge") + t.Setenv("NVCF_GATEWAY_NAMES", "gateway/shared-gw") + viper.Set("cluster_validator_probe_image", "mirror.example/busybox:1.36") + env = clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway"}) + assert.NotContains(t, env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") + assert.Equal(t, "openbao", env["NVCF_OPENBAO_NAMESPACE"]) + assert.Equal(t, "edge", env["NVCF_ENVOY_GATEWAY_NAMESPACE"], "an explicit setting beats the stack values") + assert.Equal(t, "gateway/shared-gw", env["NVCF_GATEWAY_NAMES"]) + assert.Equal(t, "mirror.example/busybox:1.36", env["NVCF_N2N_PROBE_IMAGE"]) +} + +// The control-plane validator is handed the registries the credential check +// enumerated (here the validator image's), and the forwarded env. A post-install +// --control-plane run must carry VALIDATOR_POST_INSTALL. +func TestCheck_ControlPlaneValidatorGetsRegistriesAndEnv(t *testing.T) { + resetCheckFlags(t) + var mu sync.Mutex + got := map[string]selfhosted.ClusterValidatorParams{} + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + defer mu.Unlock() + got[p.Role] = p + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + + var errBuf bytes.Buffer + rootCmd.SetErr(&errBuf) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--json", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}) + _ = rootCmd.Execute() + + cp, ok := got["control-plane"] + require.True(t, ok, "the control-plane validator must run; output: %s", errBuf.String()) + var regs []string + for _, r := range cp.Registries { + regs = append(regs, r.Registry) + } + assert.Contains(t, regs, "nvcr.io", "the enumerated registries must reach the validator") + assert.Equal(t, "true", cp.Env["VALIDATOR_POST_INSTALL"]) +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_test.go b/src/clis/nvcf-cli/cmd/self_hosted_test.go index 8c5e1ce23d..bfec3afd11 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_test.go @@ -58,6 +58,7 @@ func TestSelfHostedFlags_OnlyOneContextErrors(t *testing.T) { } func TestSelfHostedFlags_SameContextErrors(t *testing.T) { + resetCheckFlags(t) rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane-context=cp", "--compute-plane-context=cp"}) t.Cleanup(func() { selfHostedControlPlaneContext = "" diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index fb4c37f925..0db54fc1ad 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDMyNDAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDM0MTAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NGI1ZmE5YmNhZjBlMGE1M2Y3" + "ODkyMGI3M2ZjYjUzMGFiNjk0NTFiNDhhNWI0OTNmMjUyY2ExODU4M2FiMDg2IiwKICAgICAgInNp" + "emUiOiAxNzQ5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJmMjNhZDhmYzViMGUyNTdk" + - "ZmQ0MmRlMGRjOTA0YmQ5ZTVhYTMxYmNkMTQ5ZWM4OWRmZWUxMjllYTU5NzRiYmZlIiwKICAgICAg" + - "InNpemUiOiAxMTc5OQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJkZGU4MjJlYTNiNGZkMDc5" + + "M2RmNzgxNjFiYjBhOTQxYWI4ZGFjMDk1YjlmYjZkZTU5ZjU4YTVlOGUzZWE0YzMwIiwKICAgICAg" + + "InNpemUiOiAxMTk2OQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCAICbAFKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCG81oMVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1698,2064 +1698,2067 @@ const skillDataZipBase64 = "" + "dmNyLmlvYCBvbmx5IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8" + "IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFs" + "aWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIGxvb2tzIGZvciBvbmUgaW4gdGhlIE5W" + - "Q0YgbmFtZXNwYWNlcyBhbmQgZmFsbHMgYmFjayB0byBtaW50aW5nIG9uZSBmcm9tIGBOR0NfQVBJ" + - "X0tFWWAgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tp" + - "cCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEVudjogYE5WQ0ZfQ0xJ" + - "X1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gIHwgYGZhbHNlYCB8CnwgYC0tbm8t" + - "Y2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iIChhbmQgaXRzIFJCQUMpIGFmdGVyIHRo" + - "ZSBydW4gZm9yIGRlYnVnZ2luZy4gVGhlIG5leHQgcnVuIHN0aWxsIHN3ZWVwcyBwcmlvciBKb2Jz" + - "IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNj" + - "cmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMg" + - "bm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRo" + - "aXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8Cgoj" + - "IyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIg" + - "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNm" + - "LWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdl" + - "c3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFz" + - "IHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBO" + - "QU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVz" + - "dGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0" + - "Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9u" + - "ZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50" + - "c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJg" + - "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + - "LS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQg" + - "SURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lv" + - "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZy" + - "b20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3Rl" + - "YWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1z" + - "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "Zm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlw" + - "ZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1" + - "bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAg" + - "fAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwg" + - "YDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMg" + - "U0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9y" + - "YCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBn" + - "ZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVu" + - "ZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhv" + - "dXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVj" + - "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBm" + - "dW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5h" + - "bWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1p" + - "bmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8Cnwg" + - "YC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwK" + - "fCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5" + - "cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwg" + - "b3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAg" + - "Zm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1z" + - "ZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hh" + - "cnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVs" + - "cyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBu" + - "YW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tl" + - "blJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVl" + - "Pi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAx" + - "MDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2Ug" + - "aW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1s" + - "bG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJl" + - "cXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwK" + - "fCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2Nv" + - "dW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0" + - "aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8" + - "CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5" + - "cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxt" + - "Q29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUg" + - "dXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBh" + - "dGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3Yx" + - "L2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3Jv" + - "YmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGBy" + - "YW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNv" + - "bW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08" + - "dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1p" + - "bnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlz" + - "dGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUw" + - "MDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNo" + - "YXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVs" + - "bS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBg" + - "aGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + - "aWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0" + - "aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5h" + - "bWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4v" + - "PG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9u" + - "LCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRp" + - "b25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNz" + - "aW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5v" + - "dC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0" + - "aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVw" + - "ZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJh" + - "dGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxs" + - "bS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBm" + - "b3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5" + - "IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3Vy" + - "YXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVy" + - "cmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklU" + - "WWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMg" + - "dXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHBy" + - "aW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxV" + - "cGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5n" + - "TWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3Jl" + - "YXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVz" + - "LgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJ" + - "TEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3Qg" + - "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVu" + - "Y3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1F" + - "YCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1Ug" + - "fCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNh" + - "cyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8Cnwg" + - "YC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7" + - "IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBU" + - "YXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8Cgoj" + - "IyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVu" + - "ZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBU" + - "YXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEt" + - "WlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0t" + - "aW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVg" + - "IHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFt" + - "cGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGlt" + - "YWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0t" + - "Y2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5" + - "IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04g" + - "dGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3Ro" + - "IGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8Cnwg" + - "YC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBp" + - "bnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBB" + - "cmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywg" + - "ZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52" + - "IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJp" + - "YWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGlt" + - "ZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBU" + - "NEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1" + - "ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNP" + - "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2Ug" + - "RFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBT" + - "ZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVg" + - "IHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRz" + - "LWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1u" + - "YW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJh" + - "dGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwg" + - "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVS" + - "SWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxU" + - "QUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVY" + - "VGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAg" + - "fCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5" + - "LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFj" + - "ZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0g" + - "fApQSwcImdDiUBcuAAAXLgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMg" + - "VHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIg" + - "cmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWls" + - "ZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBz" + - "aG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4K" + - "CiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + - "LXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNu" + - "J3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVy" + - "bmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUg" + - "bm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmls" + - "ZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hl" + - "bG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3Rh" + - "bGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBv" + - "Y2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3kt" + - "Z2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNs" + - "YXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRl" + - "IG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRp" + - "b25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVl" + - "In19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8" + - "IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5u" + - "dmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5z" + - "dGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRl" + - "diB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBu" + - "ZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwg" + - "bnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgK" + - "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWlu" + - "IHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAg" + - "YW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkg" + - "b3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1Qg" + - "cmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXko" + - "cykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBw" + - "bGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4g" + - "fAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2Up" + - "IHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52" + - "Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGlu" + - "dm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + - "biB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJh" + - "YCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBk" + - "ZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5k" + - "cmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1" + - "bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90" + - "IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + - "LkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3Rl" + - "ciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RF" + - "Ul9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBu" + - "b24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhl" + - "bG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xp" + - "IGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lE" + - "IHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBu" + - "dmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAg" + - "fCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBs" + - "b2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAt" + - "YyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1" + - "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJh" + - "Y2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJg" + - "IHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3Ig" + - "cmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFs" + - "ZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdp" + - "c3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxp" + - "ZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRv" + - "ZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8" + - "IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9u" + - "IHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50" + - "aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + - "ZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwK" + - "fCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3Ry" + - "ZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgt" + - "Y2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJl" + - "cm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwg" + - "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3Jl" + - "YXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0" + - "bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRs" + - "eSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJl" + - "Z2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUg" + - "fCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyBy" + - "ZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBg" + - "UFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNo" + - "ZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3Ig" + - "YGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8g" + - "YXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUA" + - "AQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9u" + - "OiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5l" + - "IGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFs" + - "dWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVl" + - "cyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgog" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0" + - "IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9u" + - "LCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYt" + - "bWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9j" + - "YWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zs" + - "b3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBo" + - "ZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4s" + - "IGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + - "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFn" + - "czogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBs" + - "YW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50" + - "LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1l" + - "dGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2Yt" + - "Y29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBb" + - "bnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUs" + - "IGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1" + - "bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxt" + - "ZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoK" + - "IyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBm" + - "b3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxl" + - "IGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1" + - "cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZp" + - "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlv" + - "blR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMv" + - "aGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJl" + - "cXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tg" + - "IHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmct" + - "dmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBg" + - "YGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5l" + - "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29u" + - "dHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0" + - "YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29t" + - "cHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVj" + - "dG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBO" + - "R0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2Ug" + - "ZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+" + - "CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxh" + - "bmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9u" + - "IGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5" + - "IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1m" + - "aWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFs" + - "IG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2lu" + - "IGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lv" + - "biAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVy" + - "CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9i" + - "YWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJv" + - "bm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZv" + - "ciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczov" + - "L2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4K" + - "CiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZl" + - "bnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZp" + - "cm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRo" + - "CmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4g" + - "Y29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUs" + - "IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMv" + - "PGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlk" + - "ZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5j" + - "ZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3Vn" + - "aCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2Vs" + - "ZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3Jl" + - "ZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVy" + - "cmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1" + - "ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGlu" + - "Zy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVh" + - "dGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUg" + - "cmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUg" + - "cmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtl" + - "eT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYg" + - "dXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxl" + - "IHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1h" + - "Z2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0" + - "IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + - "YXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + - "cHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0" + - "aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFy" + - "ZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + - "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + - "ICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lv" + - "biA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFz" + - "c3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAK" + - "Cj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4g" + - "cGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBz" + - "cGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBh" + - "bGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVy" + - "ZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+" + - "IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVk" + - "YCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtl" + - "eSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBl" + - "aXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBi" + - "ZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBh" + - "c3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlp" + - "bmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5n" + - "bGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVj" + - "b21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + - "dG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJl" + - "Z2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0" + - "IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9k" + - "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2Fs" + - "bHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMK" + - "YWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICBy" + - "ZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1w" + - "bGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAg" + - "ICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3Ug" + - "YWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + - "Z2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAg" + - "ID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBz" + - "byBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVy" + - "IGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMu" + - "IFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRw" + - "czovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEu" + - "Y29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2Jh" + - "bC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBw" + - "b2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRw" + - "czovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6" + - "YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+" + - "LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIg" + - "YGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92" + - "ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRv" + - "bWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3Mp" + - "LCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBu" + - "ZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxs" + - "IGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFs" + - "LmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0g" + - "cmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBj" + - "cmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + - "Z2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3Jl" + - "ZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIg" + - "cmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0" + - "aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBk" + - "b21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRl" + - "cyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3" + - "YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5" + - "OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5" + - "LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJl" + - "c3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRy" + - "ZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBj" + - "b25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNz" + - "IGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoK" + - "Rm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQg" + - "c3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBg" + - "R0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJv" + - "ZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVj" + - "b3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMs" + - "IGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBj" + - "bGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxl" + - "cy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0" + - "cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBg" + - "YAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRo" + - "ZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + - "YnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3Nh" + - "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJ" + - "ZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2Vydmlj" + - "ZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBj" + - "cmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVu" + - "dGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1l" + - "IHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVu" + - "dCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8" + - "IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJl" + - "bGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1w" + - "cm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRp" + - "b25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1" + - "ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2Ag" + - "fCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZh" + - "YmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpN" + - "b25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0" + - "eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBj" + - "dXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhl" + - "IHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxl" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQph" + - "ZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBg" + - "dmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBp" + - "bmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBl" + - "bmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRv" + - "bnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6" + - "IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQg" + - "dGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50" + - "LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRl" + - "d2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3Rl" + - "YWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVz" + - "IHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyBy" + - "ZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0" + - "eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91" + - "dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBg" + - "YAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVu" + - "YWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3Vi" + - "ZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + - "IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdh" + - "eSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24s" + - "IG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBn" + - "YXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJ" + - "IGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRp" + - "c2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + - "YXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFj" + - "a2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJv" + - "dXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlz" + - "IGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1Ymxp" + - "YyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNl" + - "dHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShy" + - "ZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRl" + - "IGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGlu" + - "c3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9v" + - "c2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMg" + - "ZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFu" + - "ZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmls" + - "ZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFu" + - "ZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3Rh" + - "bGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlm" + - "aWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kg" + - "ZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0" + - "ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFy" + - "ZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250" + - "cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwg" + - "YG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwg" + - "YGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNl" + - "cnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1" + - "ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5" + - "IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1l" + - "c3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0" + - "IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + - "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIg" + - "bXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxl" + - "IHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVy" + - "IGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250" + - "cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + - "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + - "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + - "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2" + - "ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2" + - "ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBg" + - "YmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNw" + - "YWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxu" + - "dmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVy" + - "cmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkK" + - "CldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVz" + - "IChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwg" + - "YGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFs" + - "dWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBh" + - "ZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZh" + - "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + - "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAK" + - "ICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lz" + - "dGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + - "cGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + - "IiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAg" + - "ICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4" + - "MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAg" + - "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1" + - "c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAg" + - "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBh" + - "bmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAg" + - "ICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlz" + - "dGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRo" + - "ZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJl" + - "Y3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBT" + - "ZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVs" + - "bCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBz" + - "ZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + - "ZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRl" + - "Y2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2Nr" + - "ZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUt" + - "dmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9B" + - "UElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+" + - "IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + - "YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pz" + - "b25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxr" + - "ZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNj" + - "b3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRv" + - "Y2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRl" + - "cgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMg" + - "YXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVl" + - "cyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRh" + - "a2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmll" + - "bGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUg" + - "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46" + - "JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29u" + - "ZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlv" + - "biBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJu" + - "YW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29y" + - "a2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBg" + - "NDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9v" + - "a3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUg" + - "YW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxs" + - "ZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAg" + - "IEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAt" + - "QSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + - "bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMg" + - "ZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + - "dWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252" + - "Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90" + - "ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUg" + - "dXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2" + - "ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBr" + - "ZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRo" + - "ZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVu" + - "dCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+" + - "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRv" + - "IG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNv" + - "bW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRv" + - "bWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNG" + - "IG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBl" + - "ci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoK" + - "YGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + - "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + - "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoK" + - "IyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElf" + - "S0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + - "CiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0i" + - "JG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "ZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkg" + - "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11" + - "dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3Jl" + - "dHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + - "Z2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBg" + - "YAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAo" + - "ZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZ" + - "QU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxs" + - "LXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoK" + - "IyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdp" + - "ZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVj" + - "dGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2Vu" + - "dCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENh" + - "dXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2Zm" + - "YCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBD" + - "aGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYElu" + - "aXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBP" + - "cGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJ" + - "bml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBg" + - "NDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2ln" + - "bmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1Ymtl" + - "eSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQg" + - "YG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21t" + - "b24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0" + - "aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8t" + - "c2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1" + - "Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3Vy" + - "Y2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVz" + - "IGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxz" + - "YCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVM" + - "VF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0" + - "aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2Vz" + - "IHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFn" + - "ZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFn" + - "ZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWls" + - "ZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2Ag" + - "YWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVu" + - "dGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGkt" + - "YWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyBy" + - "ZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9z" + - "dC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxl" + - "ZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiBy" + - "ZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlm" + - "eSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + - "cmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWls" + - "IHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQg" + - "cGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0" + - "aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3Jr" + - "aW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFu" + - "bm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGlu" + - "IHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxh" + - "Y2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpu" + - "Y3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2Vz" + - "dC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGlu" + - "IGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUg" + - "ZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24g" + - "dGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4g" + - "YG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVz" + - "IG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFu" + - "ZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4g" + - "cmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5k" + - "CmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGlj" + - "IGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4g" + - "dGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoK" + - "SWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUg" + - "YGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBq" + - "b2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJs" + - "b2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNm" + - "IGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3" + - "YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjog" + - "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + - "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + - "bXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVj" + - "dHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShy" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2Rl" + - "YnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJ" + - "IGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + - "bHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12" + - "ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQg" + - "c3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0" + - "byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUg" + - "MS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAz" + - "LjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQg" + - "ZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUg" + - "dmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNp" + - "b24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNl" + - "cXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQg" + - "dmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdp" + - "biBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAg" + - "ICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZl" + - "ciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2Vl" + - "ZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0" + - "aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBz" + - "a2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2Vy" + - "IGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1w" + - "bGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmls" + - "ZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFu" + - "ZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUn" + - "IHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmll" + - "dyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAg" + - "aXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZD" + - "RiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1" + - "cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBu" + - "YW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9t" + - "IHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + - "Y2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVs" + - "ZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBu" + - "YW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNo" + - "IG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQg" + - "YW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFu" + - "ZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCBy" + - "ZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVz" + - "ZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9u" + - "IHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1t" + - "YW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBu" + - "b3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1v" + - "dmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNw" + - "bGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBw" + - "bGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUg" + - "c3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBm" + - "bG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNl" + - "cGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMg" + - "cGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBI" + - "b3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUt" + - "cGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQg" + - "dGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + - "bCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVs" + - "aWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + - "bXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3Rh" + - "bGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFz" + - "ZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91" + - "cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBp" + - "Y21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicg" + - "d2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQg" + - "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNU" + - "RVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNt" + - "cy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBp" + - "cyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2Nv" + - "dmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZs" + - "b3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAi" + - "QXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1" + - "aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + - "Y2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + - "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5k" + - "IE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBi" + - "b3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikg" + - "dG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25s" + - "eSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1m" + - "aWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJl" + - "IChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1w" + - "bCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQg" + - "dGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "IGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3Qg" + - "YSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0" + - "ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMv" + - "LCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90" + - "IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5" + - "bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBs" + - "b2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZv" + - "cm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9u" + - "IG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwK" + + "Q0YgbmFtZXNwYWNlcyBhbmQgY29waWVzIGl0IGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBG" + + "YWlsaW5nIHRoYXQsIGFuZCBvbmx5IGZvciBhbiBpbWFnZSBvbiBhbiBOR0MgcmVnaXN0cnksIGl0" + + "IG1pbnRzIG9uZSBmcm9tIGBOR0NfQVBJX0tFWWAgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1j" + + "bHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUg" + + "ZW50aXJlbHkuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJ" + + "T05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9i" + + "LCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcu" + + "IEEgbGF0ZXIgY2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3VyczsgdGhlIHJlc3VsdCBw" + + "cmludHMgdGhlIGBrdWJlY3RsIGRlbGV0ZWAgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cg" + + "fCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2Ny" + + "aXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJhbnNjcmlwdCBpcyBu" + + "b3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhp" + + "cyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMj" + + "IGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAo" + + "cmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2Yt" + + "ZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2Vz" + + "dC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMg" + + "d2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5B" + + "TUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0" + + "ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRj" + + "aC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25l" + + "bnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRz" + + "YCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAt" + + "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJ" + + "RGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9u" + + "IHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJv" + + "bSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVh" + + "ZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNw" + + "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1m" + + "b3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBl" + + "IHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVt" + + "YW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8" + + "CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBg" + + "N2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBT" + + "Q09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3Jg" + + "IHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdl" + + "bmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5k" + + "ZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91" + + "cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNp" + + "ZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1" + + "bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFt" + + "ZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWlu" + + "ZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBg" + + "LS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8" + + "IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlw" + + "ZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBv" + + "ciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBm" + + "b3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNl" + + "cnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFy" + + "dC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxz" + + "IE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUg" + + "fCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5h" + + "bWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2Vu" + + "UmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+" + + "LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEw" + + "MDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBp" + + "bmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxs" + + "bS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVx" + + "dWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8" + + "IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291" + + "bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3Rp" + + "bmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwK" + + "CkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlw" + + "ZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1D" + + "b25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1" + + "cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0" + + "aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEv" + + "ZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9i" + + "aW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJh" + + "bmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29t" + + "bWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1" + + "bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWlu" + + "dXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0" + + "aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAw" + + "MC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hh" + + "cnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxt" + + "LWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBo" + + "ZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZp" + + "Z2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRo" + + "ZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + + "ZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88" + + "bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24s" + + "IGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlv" + + "bnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Np" + + "b24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90" + + "LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rp" + + "b24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBk" + + "YXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0" + + "ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxt" + + "LW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZv" + + "ciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkg" + + "UFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJh" + + "dGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJy" + + "aWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZ" + + "YCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1" + + "cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJp" + + "b3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVw" + + "ZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdN" + + "ZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVh" + + "dGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMu" + + "CgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklM" + + "RWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1" + + "c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5j" + + "dGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVg" + + "IHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8" + + "IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2Fz" + + "IHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBg" + + "LS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsg" + + "c2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRh" + + "cmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMj" + + "IGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5k" + + "ZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRh" + + "c2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1a" + + "XC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1p" + + "bnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAg" + + "fCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1w" + + "bGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1h" + + "Z2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1j" + + "aGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkg" + + "ZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0" + + "YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGgg" + + "YXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBg" + + "LS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGlu" + + "c3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFy" + + "Z3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBl" + + "LmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYg" + + "TkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUg" + + "fCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlh" + + "YmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1l" + + "IERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0" + + "SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVl" + + "ZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08g" + + "ODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBE" + + "VVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNl" + + "cnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAg" + + "fCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMt" + + "bG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5h" + + "bWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0" + + "ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBh" + + "cnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJ" + + "YCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRB" + + "R11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhU" + + "YCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8" + + "IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnkt" + + "aWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNl" + + "cy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + + "ClBLBwjA1FCIwS4AAMEuAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBU" + + "cm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiBy" + + "ZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxl" + + "ZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNo" + + "b3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoK" + + "IyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + + "fC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24n" + + "dCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJu" + + "ZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBu" + + "b3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxl" + + "I2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVs" + + "bS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFs" + + "bGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9j" + + "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1n" + + "YXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xh" + + "c3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUg" + + "b25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlv" + + "bnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUi" + + "fX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwg" + + "bnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52" + + "aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0" + + "YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2" + + "IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5l" + + "ZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBu" + + "dmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoK" + + "fCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4g" + + "dG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBh" + + "bmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBv" + + "ciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCBy" + + "ZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShz" + + "KSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBs" + + "YW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8" + + "CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkg" + + "fCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZj" + + "Zi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52" + + "b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + + "IHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFg" + + "IHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRl" + + "ZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRy" + + "YS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVu" + + "Y3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3Qg" + + "dGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUu" + + "SDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVy" + + "IC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVS" + + "X1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5v" + + "bi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVs" + + "bWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkg" + + "YmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQg" + + "fCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52" + + "Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8" + + "IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxv" + + "Y2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1j" + + "IDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVz" + + "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFj" + + "a09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAg" + + "fCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciBy" + + "ZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxl" + + "IGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lz" + + "dGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlk" + + "IEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9l" + + "c24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwg" + + "YG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24g" + + "cG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRp" + + "YWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "IC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8" + + "IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJl" + + "YW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1j" + + "YWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVy" + + "bmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBT" + + "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVh" + + "dGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3Ru" + + "YW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5" + + "IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVn" + + "aXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8" + + "IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJl" + + "Z2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQ" + + "VDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hl" + + "ZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBg" + + "a3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBh" + + "cHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQAB" + + "AKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246" + + "ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUg" + + "YW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1" + + "ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVz" + + "IG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQg" + + "Y29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24s" + + "IENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1t" + + "YW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2Nh" + + "bCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxv" + + "dyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhl" + + "bG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwg" + + "a3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8" + + "bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdz" + + "OiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxh" + + "bmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQs" + + "IHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0" + + "YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1j" + + "b3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtu" + + "dmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwg" + + "Y29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVs" + + "bC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1m" + + "aWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgoj" + + "IE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZv" + + "ciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUg" + + "YnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVw" + + "Z3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmls" + + "ZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9u" + + "VHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9o" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVx" + + "dWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2Ag" + + "cGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12" + + "ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBg" + + "YmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUt" + + "c3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250" + + "cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21w" + + "dXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0" + + "b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5H" + + "QzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4v" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBk" + + "b3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4K" + + "YGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFu" + + "ZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24g" + + "YXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkg" + + "dG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZp" + + "bGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwg" + + "bW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4g" + + "bGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9u" + + "ICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIK" + + "YGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2Jh" + + "bC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9u" + + "bWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9y" + + "IEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8v" + + "ZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoK" + + "IyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVu" + + "dHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmly" + + "b25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgK" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBj" + + "b25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwg" + + "Y29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88" + + "ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRk" + + "ZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNl" + + "KQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdo" + + "IHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxl" + + "Y3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVk" + + "IGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJy" + + "aWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVl" + + "czpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5n" + + "LWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0" + + "ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSBy" + + "ZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + + "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSBy" + + "ZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5" + + "PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2Vj" + + "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + + "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + + "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1" + + "c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUg" + + "cmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFn" + + "ZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQg" + + "cmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBh" + + "cmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBw" + + "dWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRo" + + "ZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJl" + + "IHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0Nf" + + "QVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAg" + + "IiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9u" + + "IDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNz" + + "d29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoK" + + "PiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBw" + + "ZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNw" + + "YW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFs" + + "bAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVn" + + "aXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJl" + + "bnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4g" + + "Zmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRg" + + "IChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5" + + "KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVp" + + "dGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJl" + + "Zm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFz" + + "c3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWlu" + + "Zwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmds" + + "ZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNv" + + "bW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0" + + "byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVn" + + "aXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQg" + + "aW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2Rl" + + "IG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxs" + + "eSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwph" + + "Ym92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJl" + + "Z2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBs" + + "ZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAg" + + "ICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBh" + + "bHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + + "aXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAg" + + "PiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNv" + + "IGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIg" + + "aW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4g" + + "U29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBz" + + "Oi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5j" + + "b21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFs" + + "LmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBv" + + "aW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBz" + + "Oi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pg" + + "LCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4v" + + "PG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBg" + + "Z2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3Zl" + + "LiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9t" + + "YXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2Vzcyks" + + "IHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5l" + + "ZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwg" + + "Y3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwu" + + "aW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSBy" + + "ZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNy" + + "ZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + + "ZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVk" + + "ZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciBy" + + "ZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRo" + + "ZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRv" + + "bWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVz" + + "IHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdh" + + "eSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6" + + "CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXkt" + + "bmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVz" + + "c2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJl" + + "c3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNv" + + "bmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3Mg" + + "Zm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpG" + + "b3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBz" + + "dWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBH" + + "QVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9k" + + "dWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNv" + + "cmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywg" + + "a2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNs" + + "aWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVz" + + "Lm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3Rz" + + "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBg" + + "Cgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhl" + + "IHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBi" + + "dXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2Fu" + + "ZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElm" + + "IHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNl" + + "IHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNy" + + "YXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50" + + "aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUg" + + "dmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50" + + "IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwg" + + "UGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0t" + + "LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + + "bmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVs" + + "ZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXBy" + + "b3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlv" + + "bmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVk" + + "ZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8" + + "IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFi" + + "aWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1v" + + "bml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAt" + + "QSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5" + + "IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1" + + "c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUg" + + "c3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUg" + + "b25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFk" + + "ZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2" + + "YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywg" + + "c2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGlu" + + "Y2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVu" + + "YWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9u" + + "czoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzog" + + "e30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0" + + "aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQt" + + "c3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3" + + "YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVh" + + "ZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMg" + + "c3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJl" + + "Y29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5" + + "LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0" + + "ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBg" + + "CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5h" + + "YmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJl" + + "cm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwg" + + "Z3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5" + + "IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwg" + + "b3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdh" + + "dGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkg" + + "aXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlz" + + "YWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + + "dCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNr" + + "YWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91" + + "dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMg" + + "Y3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGlj" + + "IGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0" + + "dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJl" + + "ZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUg" + + "Y29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5z" + + "dGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29z" + + "ZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBm" + + "bG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5k" + + "CiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxl" + + "IGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5l" + + "IGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFs" + + "bCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZp" + + "Y2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBl" + + "dmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRl" + + "YXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJk" + + "b3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRy" + + "b2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBg" + + "b3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBg" + + "aW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2Vy" + + "dmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vl" + + "ci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkg" + + "d2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQg" + + "bmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBt" + + "dXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUg" + + "dHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIg" + + "aGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRy" + + "b2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJu" + + "YWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBp" + + "bnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFk" + + "YXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZl" + + "IHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZl" + + "cmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJt" + + "YXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBi" + + "YXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3Bh" + + "Y2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52" + + "Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJy" + + "aWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoK" + + "V29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMg" + + "KGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBg" + + "Z2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1" + + "ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFk" + + "ZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFs" + + "dWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUg" + + "c3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAog" + + "IGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0" + + "ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + + "bAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + + "IH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAg" + + "ICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgx" + + "OTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAg" + + "IG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVz" + + "ZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCBy" + + "ZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBg" + + "Z2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFu" + + "ZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAg" + + "ICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0" + + "aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhl" + + "CmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVj" + + "dCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNl" + + "Y3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxs" + + "IFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNl" + + "cnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdl" + + "IGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVj" + + "YXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tl" + + "ci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12" + + "YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQ" + + "SV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4g" + + "T3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRg" + + "IChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNv" + + "bmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtl" + + "eT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2Nv" + + "dW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9j" + + "a2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVy" + + "Cj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBh" + + "cyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVz" + + "IGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFr" + + "ZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVs" + + "ZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBg" + + "YmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjol" + + "cycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25m" + + "aWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9u" + + "IGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5h" + + "bWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3Jr" + + "ZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0" + + "MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29r" + + "cyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBh" + + "bmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxl" + + "ZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAg" + + "QVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1B" + + "KQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVs" + + "bC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBl" + + "bmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + + "bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZj" + + "Zi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3Rl" + + "IChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1" + + "c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZl" + + "IGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtl" + + "eSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhl" + + "IHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50" + + "IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4g" + + "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8g" + + "b25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29t" + + "bWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9t" + + "YXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0Yg" + + "bmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVy" + + "LWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpg" + + "YGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + + "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + + "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgoj" + + "IDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9L" + + "RVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tl" + + "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIk" + + "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpk" + + "b25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAt" + + "ZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0" + + "YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0" + + "czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBn" + + "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFn" + + "ZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBg" + + "CgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChl" + + "LmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlB" + + "TUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgoj" + + "IyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + + "ZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0" + + "bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50" + + "IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1" + + "c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZg" + + "ICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENo" + + "ZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5p" + + "dDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9w" + + "ZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYElu" + + "aXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0" + + "MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWdu" + + "YXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5" + + "IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBg" + + "b3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1v" + + "biBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRp" + + "b25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1z" + + "ZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVj" + + "ayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJj" + + "ZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMg" + + "YmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNg" + + "IGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxU" + + "X0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3Rp" + + "bGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + + "c3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + + "U1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMg" + + "fAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdl" + + "IGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdl" + + "IHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxl" + + "ZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBh" + + "Z2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50" + + "aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1h" + + "Y2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJl" + + "dHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0" + + "LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVk" + + "LCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJl" + + "LXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5" + + "IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCBy" + + "YW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwg" + + "dG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBw" + + "YXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRo" + + "ZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtp" + + "bmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5u" + + "b3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4g" + + "cmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFj" + + "ZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5j" + + "cGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0" + + "LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4g" + + "ZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBk" + + "ZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0" + + "aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBg" + + "bnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMg" + + "b24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5k" + + "IHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiBy" + + "ZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQK" + + "ZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMg" + + "YDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0" + + "aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + + "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJ" + + "ZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBg" + + "YXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpv" + + "YiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxv" + + "Y2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Yg" + + "am9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdh" + + "cyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBb" + + "ZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0" + + "dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJl" + + "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkg" + + "a2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAh" + + "AAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + + "cy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZl" + + "cnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBz" + + "dGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRv" + + "IHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAx" + + "LjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMu" + + "MTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBk" + + "aWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2" + + "YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lv" + + "bicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2Vx" + + "dWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2" + + "ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2lu" + + "IGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVy" + + "IHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVk" + + "IHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rp" + + "b24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNr" + + "aXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIg" + + "YXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBs" + + "YXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxl" + + "IHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5k" + + "IGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScg" + + "dG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3" + + "IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBp" + + "cyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNG" + + "IG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVw" + + "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5h" + + "bWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20g" + + "cmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJj" + + "ZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxl" + + "dGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + + "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + + "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBh" + + "bmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5k" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJl" + + "c291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNl" + + "ZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24g" + + "c3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1h" + + "bmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5v" + + "dCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92" + + "aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3Bs" + + "aXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBs" + + "YW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBz" + + "dGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwK" + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJl" + - "LCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2Vy" + - "LCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQg" + - "bW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVk" + - "IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUg" + - "Y29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUg" + - "YW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVk" + - "IHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAg" + - "ICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEt" + - "c3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0" + - "ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMi" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVt" + - "cGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5j" + - "aWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdh" + - "aXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRo" + - "ZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxh" + - "bmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + - "IHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkg" + - "dG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + - "IGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBm" + - "bGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBs" + - "YW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGlu" + - "c3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0" + - "aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHBy" + - "b2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJ" + - "dCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1w" + - "bGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBp" + - "bmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBp" + - "bmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1j" + - "b250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1h" + - "bmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFu" + - "ZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIs" + - "CiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBv" + - "aW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlv" + - "biIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3Vy" + - "Y2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2ls" + - "bGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUs" + - "IHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyBy" + - "ZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMg" + - "YmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdl" + - "ZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVk" + - "IGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + - "dGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sg" + - "dG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhl" + - "IGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGlu" + - "IHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAg" + - "IlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5n" + - "IHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAog" + - "ICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxh" + - "dGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjog" + - "IkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFu" + - "ZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "dXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2ll" + - "cyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFt" + - "ZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNp" + - "ZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3Bh" + - "Y2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5n" + - "IG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVn" + - "LWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBp" + - "biBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRf" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2Vw" + + "YXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBw" + + "bHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhv" + + "c3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0" + + "aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + + "IHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxp" + + "ZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50" + + "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFs" + + "bGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNl" + + "X2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3Vy" + + "bCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGlj" + + "bXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3" + + "aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBL" + + "VUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RF" + + "Ul9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21z" + + "LXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlz" + + "IG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292" + + "ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxv" + + "dyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJB" + + "dXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVn" + + "aXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVp" + + "cmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + + "aGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBl" + + "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + + "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hl" + + "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + + "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJv" + + "dGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0" + + "byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5" + + "IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZp" + + "bGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRf" + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFn" + - "bm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhl" + - "IHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMg" + - "b24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlz" + - "c3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQ" + - "dWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQ" + - "dWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2Vj" + - "cmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50" + - "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2Ug" + - "YWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQg" + - "cHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVt" + - "b3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUg" + - "YSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxh" + - "bmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUt" + - "cmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNv" + - "bmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRy" + - "b2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGlu" + - "IGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0" + - "aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMg" + - "cm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJ" + - "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5j" + - "bHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5k" + - "IE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1" + - "bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQt" + - "bWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + - "OyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNl" + - "IHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBn" + - "cnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5k" + - "IG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndv" + - "cmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0" + - "c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZv" + - "Y2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3Jw" + - "Y1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIs" + - "CiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMu" + - "bnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXIt" + - "dGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNz" + - "LmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUi" + - "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFu" + - "ZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJU" + - "aGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2Vy" + - "dmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0" + - "SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRo" + - "ZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQt" + - "bWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25s" + - "eSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFy" + - "ZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUg" + - "YW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxs" + + "dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUg" + + "KGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBs" + + "KSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0" + + "aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sg" + + "YnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBh" + + "IG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3Rl" + + "ZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8s" + + "IGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3Qg" + + "Zm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3lu" + + "YyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxv" + + "Y2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9y" + + "bSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + + "bXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUs" + + "IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIs" + + "IGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBt" + + "b25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQg" + + "b25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBj" + + "b21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBh" + + "bmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQg" + + "dG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAg" + + "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1z" + + "eXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3Rl" + + "bSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1w" + + "bGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNp" + + "ZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2Fp" + + "dCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhl" + + "IGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + + "ZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUg" + + "d2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0" + + "byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwg" + + "YSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZs" + + "YWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5z" + + "dGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRo" + + "ZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJv" + + "ZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0" + + "IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + + "bGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGlu" + + "Y2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGlu" + + "Y2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNv" + + "bnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFu" + + "ZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + + "IGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9p" + + "bnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9u" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJj" + + "ZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxs" + + "ZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxs" + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9u" + - "IG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBw" + - "bGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZv" + - "cmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0" + - "ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90" + - "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVk" + - "IGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4g" + - "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1p" + - "c21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVs" + - "dCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQg" + - "ZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRl" + - "ZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFu" + - "ZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3Rl" + - "ciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0" + - "aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlv" + - "biB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhl" + - "biBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgs" + - "IHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0" + - "aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBI" + - "ZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdl" + - "dCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9u" + - "LCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5k" + - "IG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBl" + - "aXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJk" + - "b3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYg" + - "dHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQs" + - "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3Ro" + - "IHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBk" + - "ZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNl" + - "IGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFu" + - "IGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQg" + - "S1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0" + - "ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwK" + - "ICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZp" + - "eCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRo" + - "YXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90" + - "IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0" + - "aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3Ro" + - "IHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11" + - "cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQg" + - "c3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVt" + - "b3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWlu" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAi" + - "cXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0" + - "J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGlu" + - "IE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1" + - "ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290" + - "bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + - "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQg" + - "dGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVl" + - "cyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNl" + - "ZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwg" + - "LT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVk" + - "IHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5" + - "cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmlt" + - "YWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3Mi" + - "LAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJv" + - "cGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNl" + - "IHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1m" + - "dW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBl" + - "OiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + - "ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9u" + - "IHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVk" + - "IHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xl" + - "IHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5k" + - "IGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVu" + - "IG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fu" + - "b25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0" + - "aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGll" + - "ZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3" + - "YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVy" + - "Z2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3" + - "b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJh" + - "bnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + - "YW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRl" + - "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxv" + - "eW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3Qg" + - "dGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRl" + - "d2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5v" + - "ZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVz" + - "dCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNh" + - "bCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1B" + - "UEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29y" + - "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0" + - "cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBp" + - "biBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5l" + - "IEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0" + - "aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhp" + - "c3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1n" + - "YXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxs" + - "bS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVw" + - "IGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhh" + - "dCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1" + - "c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlk" + - "ZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJh" + - "c2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50" + - "IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZl" + - "cnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcI" + - "R1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3Jr" + - "ZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1w" + - "bGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJh" + - "IHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4s" + - "IGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBP" + - "T01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVs" + - "ZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + - "bXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1w" + - "L2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlk" + - "ZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1w" + - "bGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRp" + - "cmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + - "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + - "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + - "CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + - "ICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzog" + - "VmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRp" + - "ZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0g" + - "cmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFt" + - "aSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVy" + - "IGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBs" + - "ZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoK" + - "RGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChg" + - "bnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVs" + - "bCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBg" + - "YHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJj" + - "ZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + - "CiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252" + - "Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNo" + - "YXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + - "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + - "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFj" + - "ZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5n" + - "Yy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIg" + - "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + - "cmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNl" + - "cnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAg" + - "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIg" + - "XAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGlt" + - "YWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lm" + - "aWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNh" + - "c3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBg" + - "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + - "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + - "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + - "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + - "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNy" + - "ZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2" + - "ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2Vw" + - "YXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9w" + - "ZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVt" + - "YC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVw" + - "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2Vydmlj" + - "ZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2Ug" + - "MSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFn" + - "ZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVs" + - "dC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAt" + - "byBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMi" + - "ICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1j" + - "cmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50" + - "cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + - "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZj" + - "ci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwK" + - "CldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4K" + - "CiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVS" + - "X05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVw" + - "IGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVy" + - "ZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2Et" + - "Y2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNv" + - "bXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZv" + - "cmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxj" + - "b25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1y" + - "ZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1p" + - "c3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVy" + - "LgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUg" + - "dGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2Vy" + - "dmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5n" + - "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQK" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + - "YWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0" + - "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpg" + - "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBi" + - "b3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVh" + - "bnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwg" + - "XAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNh" + - "c3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5k" + - "cyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxp" + - "dCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3Rh" + - "bGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBv" + - "aW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9h" + - "ZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3Rl" + - "cCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1n" + - "YXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + - "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBV" + - "cGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5g" + - "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0" + - "aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBp" + - "Ljxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJg" + - "LiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2Vy" + - "dmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQpt" + - "YXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVk" + - "IHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3Mt" + - "YmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1" + - "dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4g" + - "S2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCBy" + - "ZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNl" + - "ZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQg" + - "Y29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBg" + - "YmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWlu" + - "PiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1n" + - "YXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Et" + - "b3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1" + - "c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kg" + - "T25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBv" + - "biBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fz" + - "c2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVt" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVj" + - "aWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwg" + - "UmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1n" + - "cm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + - "Z3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVl" + - "YCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + - "Y2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRy" + - "dWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + - "IHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + - "ZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRl" + - "ciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERl" + - "cGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkg" + - "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMu" + - "dmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBO" + - "VkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2Ug" + - "YW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55" + - "IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "IGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1z" + - "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1" + - "dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBm" + - "aXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hv" + - "b3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4g" + - "RG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUg" + - "dmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29u" + - "dHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "fAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUt" + - "cGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBw" + - "cm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwK" + - "ClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBu" + - "b3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBh" + - "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRo" + - "cyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFj" + - "a2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + - "CmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVu" + - "ZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0" + - "ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wt" + - "cGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNl" + - "dHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBh" + - "bmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBF" + - "S1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2Rv" + - "Y3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhl" + - "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + - "bGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3" + - "YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRT" + - "IHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBh" + - "ZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1h" + - "ZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhl" + - "IEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoK" + - "YGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50" + - "czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAg" + - "bnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + - "ICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + - "Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9t" + - "YWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yu" + - "c3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRy" + - "b2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAg" + - "c2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + - "ICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0K" + - "ICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6" + - "IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAg" + - "ICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAg" + - "ICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RB" + - "cGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3Ru" + - "YW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAg" + - "ICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292" + - "ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3Bl" + - "cmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lz" + - "LjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwu" + - "PGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+Igpg" + - "YGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29u" + - "dGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0" + - "ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFs" + - "bCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0" + - "ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBg" + - "TlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9n" + - "cnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDog" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJh" + - "cGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3" + - "YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBm" + - "aWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01T" + - "X1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJs" + - "YDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhl" + - "YWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0" + - "ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxh" + - "bmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVn" + - "aXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9" + - "PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8v" + - "PGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05G" + - "SUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAog" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1" + - "YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5k" + - "IEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBk" + - "ZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUt" + - "cGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9t" + - "aXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0" + - "IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0" + - "ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVn" + - "aW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhl" + - "IGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoK" + - "CmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8" + - "ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1y" + - "ZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpg" + - "YGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21w" + - "dXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9i" + - "ZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1h" + - "dXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0" + - "ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29u" + - "dHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24g" + - "dGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + - "YXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2Ag" + - "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3Ig" + - "dXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAu" + - "IERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBG" + - "b3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + - "bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdh" + - "eSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + - "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3Ig" + - "LW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFn" + - "ZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3Rl" + - "bQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUg" + - "cGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVy" + - "Cm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBO" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Uu" + - "IElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + - "YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhl" + - "bG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUg" + - "dW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + - "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBj" + - "bHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNo" + - "b3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVz" + - "dGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZv" + - "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4K" + - "CmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3Ro" + - "IGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBj" + - "b250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBh" + - "bWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMg" + - "aXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0" + - "aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMt" + - "dXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "YGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3Rl" + - "ciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mg" + - "b25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBj" + - "b250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJl" + - "ZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBH" + - "ZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51" + - "aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBi" + - "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + - "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0t" + - "cGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + - "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1p" + - "Y21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFj" + - "aCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBh" + - "bmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5l" + - "IG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAA" + - "EjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcg" + - "UmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Yg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpg" + - "YGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJl" + - "Y2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3Rs" + - "IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMg" + - "RGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1l" + - "cykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMj" + - "IEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAg" + - "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5k" + - "cmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZl" + - "bnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFn" + - "ZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENo" + - "ZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2Vj" + - "cmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRz" + - "IC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2Vj" + - "cmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0" + - "aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291" + - "bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1l" + - "c3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoK" + - "MS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNo" + - "CiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + - "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAt" + - "LW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "a3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9l" + - "c24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBj" + - "b25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + - "LXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0" + - "cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNl" + - "KTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNy" + - "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNy" + - "ZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBz" + - "ZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVj" + - "dCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBB" + - "Z2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9y" + - "IG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNU" + - "QVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAg" + - "ICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQg" + - "Y29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9w" + - "ZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "dmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0" + - "bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJl" + - "Y3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBD" + - "aGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhl" + - "cwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZv" + - "ciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8g" + - "bWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBz" + - "eW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBg" + - "YGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + - "YmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0" + - "ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0" + - "ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBv" + - "ZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6Cgog" + - "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXIt" + - "MCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0" + - "YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3Nm" + - "dWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywg" + - "YW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5n" + - "IG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNv" + - "bmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0" + - "X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywg" + - "c28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3Vu" + - "dCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZh" + - "dWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIg" + - "bGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRl" + - "ZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2Vg" + - "OyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRp" + - "c2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGlj" + - "IGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24g" + - "dXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJ" + - "biB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAg" + - "ICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2Nv" + - "dmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1u" + - "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAK" + - "CiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVy" + - "eSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAg" + - "YW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEv" + - "andrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkg" + - "d2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1" + - "ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhp" + - "cyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNz" + - "dWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENh" + - "c3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFU" + - "VVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAg" + - "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBw" + - "b2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRl" + - "IgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxl" + - "IHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4K" + - "CmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAg" + - "ICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAg" + - "IGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVz" + - "ZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQu" + - "IFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVu" + - "ZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMg" + - "ICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAg" + - "ICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNj" + - "aGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTog" + - "MTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5v" + - "ZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVu" + - "dHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3Rv" + - "ciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNm" + - "CiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNs" + - "YXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBg" + - "CgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAg" + - "YGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAi" + - "QWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4g" + - "RmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3Mg" + - "cmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3lu" + - "Y2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25z" + - "IHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2Ut" + - "bmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxl" + - "ZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJ" + - "ZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1l" + - "c3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBw" + - "dWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFw" + - "IEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMg" + - "Y2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMj" + - "IERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwg" + - "Z2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBt" + - "aW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52" + - "Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0" + - "ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEu" + - "ICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxl" + - "bnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVu" + - "Y29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIg" + - "ZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQg" + - "LWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIu" + - "ICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBz" + - "cGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBG" + - "aXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNl" + - "cyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kK" + - "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1u" + - "b3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUg" + - "bmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYm" + - "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlm" + - "IG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZp" + - "bmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFt" + - "ZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwoj" + - "IG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRl" + - "cm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBj" + - "b21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBo" + - "YXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNv" + - "dXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQg" + - "Q09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6" + - "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + - "RV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1td" + - "IHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4" + - "YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMj" + - "Ki99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5h" + - "bWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJz" + - "XCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBu" + - "YW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3Bl" + - "cmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05U" + - "RVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAn" + - "LnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + - "RV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMv" + - "ZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3Bl" + - "cmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhp" + - "c3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1v" + - "cGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3Np" + - "cyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2Vk" + - "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVu" + - "IG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJv" + - "bSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4K" + - "CklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRo" + - "ZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + - "ZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVw" + - "bG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1u" + - "IG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5" + - "IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpi" + - "cm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwt" + - "c2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVu" + - "ZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmln" + - "dXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxh" + - "bmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMj" + - "IyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZv" + - "eS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScp" + - "CnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAt" + - "SCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBD" + - "aGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3Jl" + - "cCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwK" + - "ICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFu" + - "ZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGll" + - "bnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0" + - "CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0" + - "YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUg" + - "NF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9p" + - "bnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWlj" + - "ayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8" + - "IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1z" + - "eXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1z" + - "eXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNl" + - "LCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwg" + - "bGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJv" + - "eHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5" + - "IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAA" + - "AAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0" + - "dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + - "Z290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5n" + - "b3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2Vy" + - "dmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0t" + - "IGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVm" + - "YXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAg" + - "ICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBg" + - "LS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lz" + - "dHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + - "ICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2ll" + - "cy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAg" + - "YC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFu" + - "ZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwg" + - "ICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwg" + - "ICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVy" + - "cmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUg" + - "dGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBz" + - "ZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2" + - "YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmls" + - "ZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2Zp" + - "bGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBl" + - "bmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90" + - "ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVs" + - "bS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIg" + - "fCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFn" + - "ZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRy" + - "YSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lg" + - "IHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2Ag" + - "bGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + - "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + - "IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwg" + - "c2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2Yt" + - "YXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + - "aW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVs" + - "bS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52" + - "Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZj" + - "Zi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFs" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZj" + - "Zi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdh" + - "eSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + - "YWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkt" + - "a2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdh" + - "eS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNl" + - "cyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2Ug" + - "T0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZh" + - "bHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24g" + - "YGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2Ag" + - "aGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55" + - "YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0t" + - "LS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVh" + - "c2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVk" + - "IG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUu" + - "IFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDog" + - "KmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwu" + - "Z290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFz" + - "ZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBg" + - "dmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRl" + - "J3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBs" + - "YXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + - "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + - "b3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6" + - "ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9" + - "fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxw" + - "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + - "YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fz" + - "c2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5n" + - "b3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0" + - "IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNz" + - "YW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + - "czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmls" + - "ZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRp" + - "dmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246" + - "IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZp" + - "Y2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlv" + - "dSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2lu" + - "Y2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVj" + - "ZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50" + - "cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoy" + - "LiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMK" + - "My4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3Ry" + - "dWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+" + - "LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJs" + - "b2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlh" + - "bWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9t" + - "IGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBh" + - "bmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91" + - "Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNz" + - "YW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBv" + - "c2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVy" + - "c2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9k" + - "ZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNs" + - "YXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2Fk" + - "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNv" + - "bmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBv" + - "ZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVu" + - "QmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmlt" + - "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMg" + - "KGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+" + - "LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3Rv" + - "cmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGlu" + - "Z3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJl" + - "Zm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAi" + - "TExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFw" + - "aS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVu" + - "IEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0" + - "byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMu" + - "bGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGgu" + - "CgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZp" + - "Z3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhl" + - "IHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0" + - "ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + - "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAg" + - "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + - "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwK" + - "ICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0" + - "cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBg" + - "CgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVz" + - "dCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRl" + - "eHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMg" + - "dGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQK" + - "YGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBh" + - "IFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2Vw" + - "YXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJl" + - "ZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3" + - "b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3" + - "b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUg" + - "cmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + - "Y29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0" + - "aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIu" + - "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3VzZXIvbGxtLXJlcXVlc3Qtcm91dGVyLWxv" + - "YWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVk" + - "IG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9y" + - "eSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBg" + - "YHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAg" + - "ICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lz" + - "dHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5O" + - "VkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQu" + - "ClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1" + - "dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29u" + - "ZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBk" + - "YXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0" + - "ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGlu" + - "c3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6Cgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBp" + - "bnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24g" + - "bXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3Qg" + - "cmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0" + - "YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2" + - "ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1l" + - "CnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250" + - "cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lv" + - "bi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0" + - "bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQg" + - "cG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRl" + - "cicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJh" + - "Y2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3Bl" + - "Yy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17" + - "ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJg" + - "IGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIg" + - "c2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3Vy" + - "YXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3Jj" + - "L2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9u" + - "Lm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9y" + - "IGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVz" + - "dC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgoj" + - "IERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1w" + - "cm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9" + - "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCLE1HdsCKgAAAioAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBv" + - "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2Fi" + - "bGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + - "aW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZD" + - "RiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJh" + - "Y3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9l" + - "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1" + - "ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMK" + - "dGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxl" + - "bnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0" + - "cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0" + - "ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5n" + - "IGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + - "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29y" + - "ZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + - "aG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52" + - "Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZp" + - "cm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3" + - "IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + - "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52" + - "Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBh" + - "bmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + - "CnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBW" + - "UE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAg" + - "cm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldo" + - "ZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1w" + - "bGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBv" + - "biBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMg" + - "YXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ug" + - "b25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUg" + - "YXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1w" + - "bGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQg" + - "b3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQg" + - "dG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMj" + - "IDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + - "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + - "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBc" + - "CiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3Jl" + - "YXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + - "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + - "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVz" + - "cGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + - "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + - "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9u" + - "LU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNl" + - "cm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENs" + - "dXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVz" + - "dGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3Bl" + - "YzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxs" + - "c2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSBy" + - "ZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAg" + - "ICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5" + - "cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0g" + - "Im5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAg" + - "ICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0" + - "YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAg" + - "ICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdl" + - "cHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAg" + - "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBc" + - "CiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5z" + - "dGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJv" + - "bC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZp" + - "bGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2Vj" + - "cmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0" + - "CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + - "cHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + - "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9" + - "bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAog" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxT" + - "ZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNl" + - "Y3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29t" + - "cHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5z" + - "dGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRy" + - "b2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3si" + - "bmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52" + - "Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6" + - "IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScu" + - "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + - "IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0" + - "b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3Rl" + - "bQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3" + - "aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFp" + - "bmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9t" + - "IEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBO" + - "byBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVy" + - "cyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRp" + - "dHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBz" + - "dGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVy" + - "bm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kg" + - "aXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxu" + - "YW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90" + - "IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoK" + - "IyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2Vj" + - "cmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1l" + - "CgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBl" + - "eGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0" + - "YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQ" + - "SwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAAICbAFKEAAAShAAABIACQAAAAAAAAAAAAAA" + - "AAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNh" + - "AAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQBn/RgP/AwAAPwMAAAzAAkAAAAAAAAAAAAAAEByAABkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAACmfwAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAG6MAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA4ZkAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAPCzAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKS" + - "LCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAdtkAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "QnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAACo6AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq" + - "4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAABoRAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odj" + - "VuQhAADkIQAALgAJAAAAAAAAAAAAAABSGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkA" + - "AAAAAAAAAAAAAJs7AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFu" + - "ZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAc6daZNUGAADVBgAAMgAJAAAAAAAAAAAAAAAj" + - "XwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAmdDiUBcuAAAXLgAALQAJAAAAAAAAAAAAAABhZgEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAA3JQBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAC+pgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAA" + - "NAAJAAAAAAAAAAAAAABqCQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + - "bHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAA" + - "AAAAAAAAAB9gAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAASJAgBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsA" + - "CQAAAAAAAAAAAAAAmbkCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALE1HdsCKgAAAioAAEQA" + - "CQAAAAAAAAAAAAAAwOoCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5" + - "BwAAuQcAAD8ACQAAAAAAAAAAAAAAPRUDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBL" + - "QjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAGwdAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8J" + - "AADhMwMAAAA=" + "IlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwg" + + "dGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJl" + + "LWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBi" + + "bG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2Vk" + + "IHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQg" + + "YmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + + "ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0" + + "byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4g" + + "dGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAi" + + "VGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcg" + + "dmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0" + + "ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAi" + + "RGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5k" + + "IE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1" + + "c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVz" + + "IHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1l" + + "c3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2ll" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFj" + + "ZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAg" + + "IlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcg" + + "b3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWct" + + "aW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGlu" + + "IEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdu" + + "b3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUg" + + "cG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + + "biB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNz" + + "dWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1" + + "bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1" + + "bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + + "ZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBh" + + "Y2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBw" + + "cm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1v" + + "dGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBh" + + "IHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFu" + + "ZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1y" + + "ZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29u" + + "ZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + + "bGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4g" + + "ZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRo" + + "ZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyBy" + + "b3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0" + + "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNs" + + "dWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQg" + + "TkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVs" + + "bCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1t" + + "YW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7" + + "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2Ug" + + "dG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdy" + + "cGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQg" + + "bmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29y" + + "a2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRz" + + "U2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9j" + + "YXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBj" + + "U2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5u" + + "dmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10" + + "YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + + "IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIs" + + "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5k" + + "IEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2" + + "aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RI" + + "ZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhl" + + "IGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1t" + + "YW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5" + + "IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + + "dG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJk" + + "b3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBh" + + "bmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24g" + + "b2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBs" + + "YW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9y" + + "ZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRl" + + "YXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQg" + + "aWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBp" + + "bnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + + "bWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0" + + "IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBl" + + "eHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVk" + + "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5k" + + "IHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVy" + + "IHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRp" + + "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9u" + + "IHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVu" + + "IHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwg" + + "cmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRp" + + "b24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhl" + + "bG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0" + + "IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24s" + + "IHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQg" + + "bmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVp" + + "dGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRv" + + "d24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVz" + + "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0" + + "cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwg" + + "YWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGgg" + + "dGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRl" + + "ZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + + "YW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4g" + + "Y29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBL" + + "VUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rl" + + "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAog" + + "ICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4" + + "IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhh" + + "dCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3Qg" + + "cHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRo" + + "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNp" + + "dCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGgg" + + "c3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVy" + + "bCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBz" + + "dGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1v" + + "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4i" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJx" + + "dWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQn" + + "cyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4g" + + "TlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVl" + + "cyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0" + + "aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + + "IGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + + "ZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAt" + + "PiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQg" + + "dGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlz" + + "IChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1h" + + "Z2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9w" + + "YWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2Ug" + + "dmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1" + + "bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6" + + "IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + + "c3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24g" + + "c3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQg" + + "dGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUg" + + "cmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQg" + + "ZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4g" + + "bm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5v" + + "bmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRp" + + "bmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVk" + + "IG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdh" + + "eS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJn" + + "ZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdv" + + "cmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFu" + + "c3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxh" + + "bmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVw" + + "bG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95" + + "bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0" + + "aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3" + + "YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9k" + + "ZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0" + + "IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2Fs" + + "IHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQ" + + "SSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3Jr" + + "bG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRy" + + "YW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlu" + + "IHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUg" + + "SGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRo" + + "ZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlz" + + "dGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdh" + + "dGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxt" + + "LXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAg" + + "YSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0" + + "IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVz" + + "ZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRl" + + "ZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFz" + + "ZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQg" + + "cHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVy" + + "cmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhH" + + "VWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtl" + + "ZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBs" + + "ZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEg" + + "cmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwg" + + "YHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9P" + + "TUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxl" + + "YXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + + "cGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAv" + + "Y2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRl" + + "IHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBs" + + "ZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGly" + + "ZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + + "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + + "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + + "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + + "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgi" + + "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAg" + + "ICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBW" + + "ZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlm" + + "ZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSBy" + + "ZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1p" + + "IGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIg" + + "Y2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxl" + + "IDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpE" + + "ZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBu" + + "dmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxs" + + "IHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBg" + + "eWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNl" + + "czoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YK" + + "ICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZj" + + "ZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hh" + + "cnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicg" + + "LXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0" + + "b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNl" + + "cyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdj" + + "LWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBh" + + "cGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBc" + + "CiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + + "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + + "YW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNy" + + "ZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2Vy" + + "dmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAt" + + "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBc" + + "CiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1h" + + "Z2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZp" + + "YyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fz" + + "c2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5" + + "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + + "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + + "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + + "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3Jl" + + "dHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZl" + + "cnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBh" + + "cmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3Bl" + + "cmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1g" + + "LiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBs" + + "b3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNl" + + "QWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAx" + + "IChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdl" + + "UHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0" + + "LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1v" + + "IGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIg" + + "IiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNy" + + "ZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRz" + + "IC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1p" + + "IHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNy" + + "LmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoK" + + "V2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoK" + + "IyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJf" + + "TkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + + "X0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAg" + + "aXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJl" + + "IGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1j" + + "bGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29t" + + "cHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9y" + + "ZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNv" + + "bmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJl" + + "Z2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlz" + + "c2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIu" + + "CgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0" + + "aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2" + + "YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcg" + + "ZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBh" + + "biBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5l" + + "bmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApz" + + "dGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBh" + + "Ym9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3Bh" + + "Y2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRp" + + "bmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBg" + + "YGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + + "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJv" + + "dGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFu" + + "dXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBc" + + "CiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fz" + + "c2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRz" + + "IHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0" + + "IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFs" + + "bGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9p" + + "bnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2Fk" + + "IGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVw" + + "IDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdh" + + "dGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nl" + + "c1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVw" + + "ZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAs" + + "IHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRo" + + "ZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGku" + + "PGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAu" + + "IEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2" + + "ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1h" + + "dGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQg" + + "d2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1i" + + "ZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0" + + "ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBL" + + "ZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJl" + + "Z2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2Vk" + + "IG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBj" + + "b21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBi" + + "YXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+" + + "IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdh" + + "dGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + + "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + + "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBP" + + "bmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9u" + + "IHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNz" + + "YW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQg" + + "cG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0K" + + "a3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNp" + + "ZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1j" + + "YXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBS" + + "ZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBn" + + "cnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1y" + + "ZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVg" + + "LCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + + "bHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1" + + "ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + + "dGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1l" + + "PWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVy" + + "IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVw" + + "bG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8Cnwg" + + "YG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3" + + "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52" + + "YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5W" + + "Q0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBh" + + "bmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + + "c2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkg" + + "aW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAg" + + "ZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNl" + + "bGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0" + + "ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZp" + + "cnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9v" + + "c2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBE" + + "byBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2" + + "YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250" + + "cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18" + + "CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1w" + + "bGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHBy" + + "b2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29u" + + "dHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoK" + + "VGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5v" + + "dCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEg" + + "Y29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhz" + + "IGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNr" + + "YWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQK" + + "YG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5k" + + "bGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRl" + + "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1w" + + "bGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0" + + "dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFu" + + "ZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVL" + + "UywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + + "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUg" + + "Y29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9s" + + "bGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdh" + + "eS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMg" + + "cm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFk" + + "ZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFk" + + "ZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUg" + + "RE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6Cgpg" + + "YGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRz" + + "OgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBu" + + "dmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Igog" + + "ICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAg" + + "ICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZj" + + "dEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Igog" + + "ICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21h" + + "aW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5z" + + "dmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJv" + + "bGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBz" + + "aGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAg" + + "ICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQog" + + "ICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTog" + + "ZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAg" + + "ICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAg" + + "ICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFw" + + "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + + "bWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAg" + + "ICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zl" + + "cnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVy" + + "YXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMu" + + "PGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48" + + "Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+" + + "OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBg" + + "YAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250" + + "ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRl" + + "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFu" + + "ZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxs" + + "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFu" + + "ZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRl" + + "d2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBO" + + "VkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dy" + + "cGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAi" + + "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRy" + + "ZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFw" + + "aS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdh" + + "eS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZp" + + "ZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNf" + + "VVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxg" + + "OyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVh" + + "ZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3Rl" + + "ciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFu" + + "ZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdp" + + "c3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08" + + "bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + + "b25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJ" + + "Rz08cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAg" + + "SEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3Vi" + + "ZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQg" + + "SldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRl" + + "cGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1w" + + "bGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21p" + + "dHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQg" + + "Y2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRl" + + "LXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdp" + + "b24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUg" + + "ZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoK" + + "YGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + + "bnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + + "bmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJl" + + "Z2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwK" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBg" + + "YAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1" + + "dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2Jl" + + "cyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1" + + "dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRl" + + "IHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250" + + "cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + + "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0" + + "aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJh" + + "dG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBp" + + "biB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1" + + "c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4g" + + "RG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZv" + + "ciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + + "bC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5" + + "IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRl" + + "d2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAt" + + "biBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdl" + + "bnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVt" + + "CmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBw" + + "bGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kg" + + "dGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIK" + + "b25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5h" + + "bWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4g" + + "SWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5h" + + "bCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + + "YWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5h" + + "Z2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2" + + "ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBt" + + "aXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3Zh" + + "bCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1" + + "bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1l" + + "PiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxh" + + "bmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxl" + + "dGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+" + + "IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNs" + + "dXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hv" + + "dyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0" + + "ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9y" + + "IGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoK" + + "YGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGgg" + + "YEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNv" + + "bnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFt" + + "YmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBp" + + "dHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRo" + + "IHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAt" + + "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + + "ICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11" + + "cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXIt" + + "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpg" + + "YGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVy" + + "IGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBv" + + "bmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNv" + + "bnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVk" + + "CmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdl" + + "dCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVp" + + "bmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJh" + + "c2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5l" + + "LXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBc" + + "CiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1w" + + "bGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + + "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWlj" + + "bXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNo" + + "IGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFu" + + "ZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUg" + + "b25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAAS" + + "MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBS" + + "ZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBz" + + "ZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBg" + + "YGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAt" + + "QSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9k" + + "cyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVj" + + "ZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwg" + + "Z2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBE" + + "ZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVz" + + "KQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMg" + + "RmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + + "ICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRy" + + "YS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVu" + + "dHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdl" + + "OnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hl" + + "Y2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNy" + + "ZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMg" + + "LW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNy" + + "ZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRo" + + "PSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3Vu" + + "dCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVz" + + "cGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgox" + + "LiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gK" + + "ICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAg" + + "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + + "aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0t" + + "bmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vz" + + "bid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNv" + + "bmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwt" + + "c2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRz" + + "KiogKG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2Up" + + "OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3Jl" + + "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3Jl" + + "dCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNl" + + "Y3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0" + + "IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFn" + + "ZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3Ig" + + "bWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RB" + + "VFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAg" + + "IEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBj" + + "b250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3Bl" + + "bkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2" + + "YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3Rs" + + "IGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVj" + + "dGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENo" + + "ZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVz" + + "CgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9y" + + "IGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBt" + + "aWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5" + + "bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBg" + + "YmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5i" + + "YW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3Rl" + + "bQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRl" + + "IHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9k" + + "cyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAg" + + "IGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0w" + + "IC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRg" + + "IGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1" + + "bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBh" + + "bmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcg" + + "bXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29u" + + "ZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3Rf" + + "dmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBz" + + "byBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50" + + "IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1" + + "bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBs" + + "ZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVm" + + "YXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7" + + "IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlz" + + "YWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMg" + + "a2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1" + + "c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIElu" + + "IHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAg" + + "IyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292" + + "ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4g" + + "dmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoK" + + "ICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5" + + "IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBh" + + "bmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9q" + + "d2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3" + + "aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3Vl" + + "ciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlz" + + "IGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1" + + "ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fz" + + "c2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRV" + + "UyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAg" + + "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBv" + + "ZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUi" + + "CmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUg" + + "dmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoK" + + "YGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAg" + + "IGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + + "Y3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNl" + + "dGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4g" + + "VXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5k" + + "aW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAg" + + "ICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAg" + + "ICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2No" + + "ZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAx" + + "MiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9k" + + "ZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50" + + "dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9y" + + "IG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgog" + + "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YK" + + "ICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xh" + + "c3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAK" + + "CjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJB" + + "bGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBG" + + "YWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyBy" + + "ZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5j" + + "YCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMg" + + "c2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1u" + + "YW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVk" + + "IHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElm" + + "IG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVz" + + "cGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1" + + "bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAg" + + "Sm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBj" + + "YW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBn" + + "ZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1p" + + "bnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZj" + + "ZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRl" + + "cy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4g" + + "KipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVu" + + "dj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5j" + + "b2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBl" + + "bmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAt" + + "ZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4g" + + "KipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNw" + + "ZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZp" + + "eAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2Vz" + + "IHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQpr" + + "dWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5v" + + "dC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBu" + + "YW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYg" + + "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYg" + + "bmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + + "dXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmlu" + + "YWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1l" + + "c3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMg" + + "bnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVy" + + "bWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNv" + + "bXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhh" + + "cyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291" + + "cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBD" + + "T01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXpl" + + "cnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRF" + + "X0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10g" + + "fCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhh" + + "cmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMq" + + "L30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFt" + + "ZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNc" + + "IjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5h" + + "bWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVy" + + "YXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRF" + + "WFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcu" + + "c3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRF" + + "X0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9m" + + "aW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVy" + + "YXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBs" + + "YW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlz" + + "dHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9w" + + "ZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lz" + + "IGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQg" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4g" + + "b25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9t" + + "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoK" + + "SWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhl" + + "IGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3Bl" + + "cmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBs" + + "b3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4g" + + "bnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkg" + + "dGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJy" + + "b2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + + "ZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5k" + + "cG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1" + + "cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFu" + + "Y2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMj" + + "IERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95" + + "LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykK" + + "dGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1I" + + "ICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENo" + + "ZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVw" + + "IG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAog" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1s" + + "CmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5k" + + "IEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVu" + + "dCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QK" + + "R2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3Rh" + + "bGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0" + + "XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2lu" + + "dC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNr" + + "IHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwg" + + "TmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5" + + "c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5" + + "c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2Us" + + "IGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBs" + + "bG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94" + + "eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3Rl" + + "bSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkg" + + "fCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + + "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1" + + "cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5n" + + "b3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdv" + + "dG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2" + + "YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0g" + + "ZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZh" + + "dWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAg" + + "ICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAt" + + "LSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0" + + "cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAg" + + "ICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBg" + + "LS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5k" + + "IG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAg" + + "ICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAg" + + "IGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJy" + + "aWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0" + + "aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNl" + + "cGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZh" + + "bHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxl" + + "IGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmls" + + "ZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVu" + + "ZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3Rl" + + "cyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxt" + + "LW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8" + + "IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdl" + + "bWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJh" + + "IHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAg" + + "dGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBs" + + "YWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVz" + + "cGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18Cnwg" + + "YXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBz" + + "aXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1h" + + "cGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1p" + + "bnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxt" + + "LW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZj" + + "Zi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNm" + + "LW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwg" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNm" + + "LWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5" + + "IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBh" + + "ZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1r" + + "ZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5" + + "LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2Vz" + + "IHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBP" + + "Q0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFs" + + "dWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBg" + + "YWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBo" + + "YXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5Lnlh" + + "bWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0t" + + "LS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFz" + + "ZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQg" + + "b24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4g" + + "U2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAq" + + "ZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5n" + + "b3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNl" + + "LgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2" + + "YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUn" + + "cyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxh" + + "dGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVm" + + "ZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9v" + + "dC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTog" + + "JmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19" + + "CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHBy" + + "aXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlh" + + "bWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNz" + + "YW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdv" + + "dG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3Qg" + + "cmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxN" + + "RklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3Nh" + + "bmRyYTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + + "OgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxl" + + "IG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2" + + "ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjog" + + "MS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2Vydmlj" + + "ZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91" + + "IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5j" + + "ZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNl" + + "ZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRz" + + "L2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIu" + + "IGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwoz" + + "LiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1" + + "Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4t" + + "c2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxv" + + "Y2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFt" + + "bC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20g" + + "YC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFu" + + "ZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3Vn" + + "aCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3Nh" + + "bmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9z" + + "aXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJz" + + "aXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2Rl" + + "U2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xh" + + "c3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRl" + + "ci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29u" + + "ZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9k" + + "VGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5C" + + "YW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9u" + + "cy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1h" + + "Z2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAo" + + "aWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4u" + + "aW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9y" + + "YCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5n" + + "cykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVm" + + "b3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJM" + + "TE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBp" + + "LWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4g" + + "R2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRv" + + "IHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5s" + + "bG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4K" + + "CkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmln" + + "dXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUg" + + "c3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRl" + + "d2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNl" + + "TW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAg" + + "ICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoK" + + "ICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAog" + + "ICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3Ry" + + "aWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAK" + + "ClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0" + + "IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4" + + "dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0" + + "aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApg" + + "YWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEg" + + "VExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBh" + + "cmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVk" + + "IHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdv" + + "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdv" + + "cmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSBy" + + "ZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBj" + + "b25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRo" + + "IHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5j" + + "b20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3MvdXNlci9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + + "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + + "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + + "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + + "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + + "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + + "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + + "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + + "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + + "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + + "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + + "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + + "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + + "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + + "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + + "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + + "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + + "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + + "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + + "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + + "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + + "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + + "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + + "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + + "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + + "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + + "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + + "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + + "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + + "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + + "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + + "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + + "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + + "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + + "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + + "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + + "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIsTUd2wIqAAACKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + + "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + + "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + + "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + + "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + + "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + + "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + + "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + + "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + + "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + + "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + + "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + + "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + + "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + + "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + + "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + + "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + + "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + + "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + + "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + + "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + + "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + + "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + + "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + + "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + + "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + + "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + + "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + + "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + + "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + + "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + + "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + + "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + + "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + + "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + + "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + + "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + + "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + + "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + + "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + + "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + + "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + + "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + + "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + + "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + + "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + + "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + + "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + + "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + + "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + + "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + + "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + + "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + + "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + + "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + + "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + + "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + + "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + + "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + + "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + + "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + + "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + + "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + + "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + + "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + + "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + + "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + + "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + + "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + + "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + + "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + + "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + + "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + + "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + + "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + + "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + + "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + + "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + + "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + + "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + + "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + + "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + + "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + + "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAbzWgxUoQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + + "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EA" + + "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAGf9GA/8DAAA/AwAADMACQAAAAAAAAAAAAAAQHIAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAKZ/AABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAbowAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADhmQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA8LMAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + + "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAAB22QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBC" + + "ceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAKjoAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrh" + + "OrnIBwAAyAcAADkACQAAAAAAAAAAAAAAGhEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + + "5CEAAOQhAAAuAAkAAAAAAAAAAAAAAFIZAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAA" + + "AAAAAAAAAAAAmzsBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + + "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkAAAAAAAAAAAAAACNf" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDA1FCIwS4AAMEuAAAtAAkAAAAAAAAAAAAAAGFmAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAACGlQEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAGinAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + + "AAkAAAAAAAAAAAAAABQKAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + + "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + + "AAAAAAAAyWACAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAArokCAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + + "AAAAAAAAAAAAAABDugIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsTUd2wIqAAACKgAARAAJ" + + "AAAAAAAAAAAAAABq6wIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + + "AAC5BwAAPwAJAAAAAAAAAAAAAADnFQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + + "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAAFh4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + + "AIs0AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 85bf2f3b41..84b8faef95 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -27,6 +27,7 @@ import ( "io" "net" "regexp" + "sort" "strconv" "strings" "time" @@ -99,11 +100,13 @@ type ClusterValidatorParams struct { // "compute-plane" (empty = compute-plane default). Passed to the Job as // VALIDATOR_ROLE. See clustervalidator.RoleControlPlane / RoleComputePlane. Role string - // Registries is a list of additional "host:port" registry endpoints to - // probe for reachability in the control-plane validator ConfigMap (in - // addition to nvcr.io which is always included). Ignored for the - // compute-plane role. - Registries []string + // Registries are probed for reachability by the control-plane validator: + // the same list, with the same criticality, the local credential check + // uses. Ignored for the compute-plane role. + Registries []RegistryEntry + // Env is passed to the validator container: namespace overrides, the + // probe image, and whether the control plane is expected to be installed. + Env map[string]string } // Err is non-nil only when the run failed to execute (RBAC bootstrap, @@ -133,12 +136,15 @@ func NewClusterValidator() ClusterValidator { if err != nil { return ClusterValidatorResult{Err: fmt.Errorf("building kubernetes client: %w", err)} } - return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup, p.Role, p.Registries) + return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup, p.Role, p.Registries, p.Env) } } // Testable core. Pass a fake clientset to unit-test without a real cluster. -func runClusterValidator(ctx context.Context, client kubernetes.Interface, image, pullSecret string, noCleanup bool, role string, registries []string) ClusterValidatorResult { +func runClusterValidator( + ctx context.Context, client kubernetes.Interface, image, pullSecret string, noCleanup bool, role string, + registries []RegistryEntry, env map[string]string, +) ClusterValidatorResult { if image == "" { // Defensive: callers gate on configured image before invoking the // validator, so this branch shouldn't fire in normal use. @@ -233,7 +239,7 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image // so a role-wide sweep could only ever hit an overlapping run's live Job. jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( - vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup), metav1.CreateOptions{}, + vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, env), metav1.CreateOptions{}, ) if err != nil { return ClusterValidatorResult{RunID: runID, Err: fmt.Errorf("creating validator Job: %w", err)} @@ -304,6 +310,28 @@ func runClusterValidator(ctx context.Context, client kubernetes.Interface, image } } +// extraValidatorEnv returns env as container variables in a stable order, +// skipping empty values and any name the Job already sets, so an override can +// never change the role, the config name or preflight mode. +func extraValidatorEnv(base []corev1.EnvVar, env map[string]string) []corev1.EnvVar { + set := map[string]bool{} + for _, e := range base { + set[e.Name] = true + } + names := make([]string, 0, len(env)) + for k, v := range env { + if v != "" && !set[k] { + names = append(names, k) + } + } + sort.Strings(names) + out := make([]corev1.EnvVar, 0, len(names)) + for _, k := range names { + out = append(out, corev1.EnvVar{Name: k, Value: env[k]}) + } + return out +} + // ownedArtifact names a namespaced object the validator Job should own. type ownedArtifact struct{ kind, name string } @@ -398,8 +426,12 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // DaemonSets: create/delete for the node-to-node DaemonSet probe; list to watch pod readiness. {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"get", "list"}}, {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"get", "list", "create", "delete"}}, - // Gateway API: control-plane gateway and route health checks. - {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{"gatewayclasses", "gateways", "httproutes", "grpcroutes"}, Verbs: []string{"get", "list"}}, + // Gateway API: control-plane gateway and route health checks. The + // validator follows every NVCF route kind's parentRefs to learn + // which Gateways are NVCF's, so all four route kinds are read. + {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{ + "gatewayclasses", "gateways", "httproutes", "grpcroutes", "tcproutes", "udproutes", + }, Verbs: []string{"get", "list"}}, {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, }, } @@ -729,14 +761,9 @@ func newValidatorRunID() (string, error) { // controlPlaneValidatorConfigTemplate is the baseline network-check ConfigMap for // control-plane preflight: nvcr.io reachability (critical) and NetworkPolicy // enforcement (non-critical). Extra registries are appended as non-critical probes. -const controlPlaneValidatorConfigTemplate = `reachability: - endpoints: - - name: nvcr.io - host: nvcr.io - port: 443 - protocol: tcp+tls - critical: true -enforcement: +// controlPlaneValidatorEnforcementConfig follows the generated reachability +// section in the control-plane validator ConfigMap. +const controlPlaneValidatorEnforcementConfig = `enforcement: # Disabled for preflight. VALIDATOR_PREFLIGHT only suppresses the summary # write, so enforcement would still run: it creates netpol-validation # namespaces, server and client pods and NetworkPolicies, and pulls @@ -750,10 +777,9 @@ enforcement: ` // ensureClusterValidatorConfig creates or updates the network-check ConfigMap. -// extraRegistries are added as non-critical tcp+tls probes. Best-effort: the -// validator skips configurable checks when the ConfigMap is absent. -func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, extraRegistries []string, runID string, preserve bool) error { - content := buildControlPlaneValidatorConfig(extraRegistries) +// Best-effort: the validator skips configurable checks when it is absent. +func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, registries []RegistryEntry, runID string, preserve bool) error { + content := buildControlPlaneValidatorConfig(registries) desired := &corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ Name: clusterValidatorConfigRunName(runID), @@ -789,36 +815,33 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa return nil } -// buildControlPlaneValidatorConfig assembles the network-check ConfigMap YAML -// from the baseline template plus any operator-supplied extra registries. -func buildControlPlaneValidatorConfig(extraRegistries []string) string { - if len(extraRegistries) == 0 { - return controlPlaneValidatorConfigTemplate - } - - // Parse host:port entries and append as non-critical tcp+tls endpoints. - var extra strings.Builder - for _, reg := range extraRegistries { - host, port := parseRegistryHostPort(reg) +// buildControlPlaneValidatorConfig assembles the network-check ConfigMap YAML. +// The reachability endpoints are the registries the install pulls from, as +// EnumerateRegistries resolved them for the local credential check, with the +// same criticality, so the two checks cannot disagree. A fixed critical +// nvcr.io entry failed every mirrored or air-gapped control plane, the exact +// install shape EnumerateRegistries deliberately does not send to nvcr.io. +// With no registries the section is omitted and the validator runs without +// configured reachability endpoints. +func buildControlPlaneValidatorConfig(registries []RegistryEntry) string { + var b strings.Builder + for _, reg := range registries { + host, port := parseRegistryHostPort(reg.Registry) if host == "" { continue } - // Append under the existing reachability.endpoints list. Quote the host: - // it comes from operator input, and parseRegistryHostPort passes a value - // it cannot split through verbatim. An unquoted "[" or embedded newline - // would make the whole ConfigMap unparseable, and the validator then - // silently drops every reachability and enforcement check. - fmt.Fprintf(&extra, - " - name: %q\n host: %q\n port: %d\n protocol: tcp+tls\n critical: false\n", - host, host, port) - } - if extra.Len() == 0 { - return controlPlaneValidatorConfigTemplate - } - - // Insert extra endpoints after the nvcr.io entry (before the enforcement block). - return strings.Replace(controlPlaneValidatorConfigTemplate, - "enforcement:", extra.String()+"enforcement:", 1) + if b.Len() == 0 { + b.WriteString("reachability:\n endpoints:\n") + } + // Quote the values: they come from operator input and the stack + // values. An unquoted "[" or embedded newline would make the whole + // ConfigMap unparseable, and the validator then silently drops every + // reachability and enforcement check. + fmt.Fprintf(&b, + " - name: %q\n host: %q\n port: %d\n protocol: tcp+tls\n critical: %t\n", + reg.Registry, host, port, reg.Critical) + } + return b.String() + controlPlaneValidatorEnforcementConfig } // parseRegistryHostPort splits a "host:port" string using net.SplitHostPort, @@ -835,8 +858,11 @@ func parseRegistryHostPort(s string) (host string, port int) { } h, p, err := net.SplitHostPort(s) if err != nil { - // No port present (e.g. "nvcr.io") - return the input as-is. - return s, 443 + // No port present (e.g. "nvcr.io"). Strip IPv6 brackets: the value + // goes into the validator ConfigMap as a bare host, and the validator + // brackets it itself with net.JoinHostPort, so "[fd00::1]" would be + // dialled as "[[fd00::1]]:443" and reported unreachable. + return strings.TrimSuffix(strings.TrimPrefix(s, "["), "]"), 443 } if p == "" { // Trailing colon with no port digit (e.g. "nvcr.io:") is the same typo. @@ -855,7 +881,7 @@ func parseRegistryHostPort(s string) (host string, port int) { // buildClusterValidatorJob creates the validator Job. PullIfNotPresent reuses // locally-imported images. VALIDATOR_PREFLIGHT=true skips the summary ConfigMap // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). -func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool) *batchv1.Job { +func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool, env map[string]string) *batchv1.Job { backoff := int32(0) // Pod shape mirrors deployments/nvca-operator/templates/cronjob.yaml, which // runs this same image. Two producers of one pod spec now exist in two @@ -904,6 +930,7 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle }, }}, } + podSpec.Containers[0].Env = append(podSpec.Containers[0].Env, extraValidatorEnv(podSpec.Containers[0].Env, env)...) if pullSecret != "" { podSpec.ImagePullSecrets = []corev1.LocalObjectReference{{Name: pullSecret}} } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index ce910620e0..b0595aba11 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -137,7 +137,7 @@ func TestRunClusterValidator_HappyPathLeavesNothingBehind(t *testing.T) { client := lifecycleClient(succeeded, "") res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", - "", false, clusterValidatorControlPlaneRole, nil) + "", false, clusterValidatorControlPlaneRole, nil, nil) require.NoError(t, res.Err) require.NotEmpty(t, res.RunID) assert.Empty(t, leftovers(t, client, res.RunID)) @@ -152,7 +152,7 @@ func TestRunClusterValidator_FailedBootstrapLeavesNothingBehind(t *testing.T) { }) res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", - "", false, clusterValidatorComputePlaneRole, nil) + "", false, clusterValidatorComputePlaneRole, nil, nil) require.Error(t, res.Err) sas, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).List(context.Background(), metav1.ListOptions{}) require.NoError(t, err) @@ -167,7 +167,7 @@ func TestRunClusterValidator_PullFailureLeavesNothingBehind(t *testing.T) { client := lifecycleClient(running, "ImagePullBackOff") res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", - "", false, clusterValidatorControlPlaneRole, nil) + "", false, clusterValidatorControlPlaneRole, nil, nil) require.Error(t, res.Err) assert.Empty(t, leftovers(t, client, res.RunID)) deleted := false @@ -189,7 +189,7 @@ func TestRunClusterValidator_RunningPodKeepsRBACAndJobOwnsArtifacts(t *testing.T defer cancel() res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", - "", false, clusterValidatorControlPlaneRole, nil) + "", false, clusterValidatorControlPlaneRole, nil, nil) require.Error(t, res.Err) left := leftovers(t, client, res.RunID) assert.Len(t, left["ServiceAccount"], 1, "a running pod must keep its RBAC") @@ -226,7 +226,7 @@ func TestRunClusterValidator_SparesConcurrentSameRoleSecret(t *testing.T) { require.NoError(t, err) res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", - "", false, clusterValidatorComputePlaneRole, nil) + "", false, clusterValidatorComputePlaneRole, nil, nil) require.NoError(t, res.Err) _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), other.Name, metav1.GetOptions{}) assert.NoError(t, err, "another run's Secret must survive this run's sweep") @@ -239,7 +239,7 @@ func TestRunClusterValidator_NoCleanupKeepsRunAndPrintsTheCommand(t *testing.T) client := lifecycleClient(succeeded, "") res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", - "", true, clusterValidatorControlPlaneRole, nil) + "", true, clusterValidatorControlPlaneRole, nil, nil) require.NoError(t, res.Err) left := leftovers(t, client, res.RunID) for _, kind := range []string{"ServiceAccount", "ClusterRole", "ClusterRoleBinding", "Secret", "ConfigMap"} { @@ -296,3 +296,66 @@ func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *tes _, err = client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, clusterValidatorName+"-2", metav1.GetOptions{}) assert.NoError(t, err) } + +// Forwarded settings reach the container in a stable order, empty values are +// dropped, and nothing forwarded can override what the Job itself sets. +func TestBuildClusterValidatorJob_ForwardsEnvWithoutOverridingCore(t *testing.T) { + job := buildClusterValidatorJob("j", "img:1", "", clusterValidatorControlPlaneRole, "runid", false, map[string]string{ + "NVCF_OPENBAO_NAMESPACE": "openbao", + "VALIDATOR_POST_INSTALL": "true", + "VALIDATOR_ROLE": "compute-plane", + "NVCF_GATEWAY_NAMES": "", + }) + env := map[string]string{} + var order []string + for _, e := range job.Spec.Template.Spec.Containers[0].Env { + env[e.Name] = e.Value + order = append(order, e.Name) + } + assert.Equal(t, "openbao", env["NVCF_OPENBAO_NAMESPACE"]) + assert.Equal(t, "true", env["VALIDATOR_POST_INSTALL"]) + assert.Equal(t, clusterValidatorControlPlaneRole, env["VALIDATOR_ROLE"], "a forwarded value must not override the role") + _, hasEmpty := env["NVCF_GATEWAY_NAMES"] + assert.False(t, hasEmpty, "empty values are not forwarded") + assert.Equal(t, []string{"VALIDATOR_CONFIG_NAMESPACE", "VALIDATOR_CONFIG_NAME", "VALIDATOR_PREFLIGHT", + "VALIDATOR_ROLE", "NVCF_OPENBAO_NAMESPACE", "VALIDATOR_POST_INSTALL"}, order) +} + +// The validator discovers NVCF Gateways from every route kind and reads the +// Gateways' classes, so the CLI's ClusterRole must allow all of them. +func TestEnsureClusterValidatorRBAC_GrantsGatewayAPIReads(t *testing.T) { + client := fake.NewSimpleClientset() + require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, clusterValidatorControlPlaneRole, "runid", false)) + cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), + clusterValidatorRBACName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) + require.NoError(t, err) + granted := map[string]bool{} + for _, r := range cr.Rules { + for _, g := range r.APIGroups { + if g != "gateway.networking.k8s.io" { + continue + } + for _, res := range r.Resources { + granted[res] = true + } + } + } + for _, res := range []string{"gateways", "httproutes", "grpcroutes", "tcproutes", "udproutes"} { + assert.True(t, granted[res], res) + } +} + +// The control-plane validator receives the enumerated registries and the +// forwarded env; the compute-plane one gets the env but no registries. +func TestClusterValidatorCheck_PassesRegistriesAndEnv(t *testing.T) { + var got ClusterValidatorParams + cv := func(_ context.Context, p ClusterValidatorParams) ClusterValidatorResult { + got = p + return ClusterValidatorResult{Passed: true} + } + regs := []RegistryEntry{{Registry: "harbor.corp.example"}} + env := map[string]string{"VALIDATOR_POST_INSTALL": "true"} + clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, regs, env).Run(context.Background()) + assert.Equal(t, regs, got.Registries) + assert.Equal(t, env, got.Env) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 0acbb0b652..d41dd58887 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -104,7 +104,7 @@ func TestRunClusterValidator_EmptyImage(t *testing.T) { // branch is defensive. Verify it returns a clear error and makes // no API calls. client := fake.NewSimpleClientset() - res := runClusterValidator(context.Background(), client, "", "", false, "", nil) + res := runClusterValidator(context.Background(), client, "", "", false, "", nil, nil) require.Error(t, res.Err) assert.Contains(t, res.Err.Error(), "image is empty") assert.False(t, res.Passed) @@ -115,7 +115,7 @@ func TestClusterValidatorCheck_OrchestratorErrorStaysWarning(t *testing.T) { cv := func(_ context.Context, _ ClusterValidatorParams) ClusterValidatorResult { return ClusterValidatorResult{Err: fmt.Errorf("transient: API server unreachable")} } - r := clusterValidatorCheck(cv, "", "", "", false, "", nil).Run(context.Background()) + r := clusterValidatorCheck(cv, "", "", "", false, "", nil, nil).Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, "warning", r.Severity, "transient orchestrator failures should not fail the overall preflight") @@ -179,7 +179,7 @@ func TestRunClusterValidator_HappyPath(t *testing.T) { }, nil }) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil, nil) require.NoError(t, res.Err, "happy path must not surface an error") assert.True(t, res.Passed, "Succeeded>0 maps to Passed=true") assert.Equal(t, int32(0), res.ExitCode) @@ -215,7 +215,7 @@ func TestRunClusterValidator_JobFailed(t *testing.T) { }) client.PrependReactor("list", "pods", podListReactor("")) - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil, nil) require.NoError(t, res.Err, "a clean Passed=false verdict must not set Err") assert.False(t, res.Passed, "Failed>0 maps to Passed=false") assert.NotEmpty(t, res.JobName, "JobName must be populated on failure for kubectl-logs follow-up") @@ -235,7 +235,7 @@ func TestRunClusterValidator_RBACNameCollisionIsNotAdopted(t *testing.T) { }) res := runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", - "", false, clusterValidatorControlPlaneRole, nil) + "", false, clusterValidatorControlPlaneRole, nil, nil) require.Error(t, res.Err, "a pre-existing object under our generated name must not be adopted") assert.Contains(t, res.Err.Error(), "bootstrapping validator RBAC") } @@ -360,7 +360,7 @@ func TestRunClusterValidator_ImagePullBackOffShortCircuits(t *testing.T) { }) start := time.Now() - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil, nil) elapsed := time.Since(start) require.Error(t, res.Err, "ImagePullBackOff must short-circuit the wait with an error") @@ -398,7 +398,7 @@ func TestRunClusterValidator_LogFetchSurvivesValidatorTimeout(t *testing.T) { client.PrependReactor("list", "pods", podListReactor("")) // Parent ctx stays alive for the entire run; only vctx expires. - res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil) + res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil, nil) require.Error(t, res.Err, "wait must surface the deadline-exceeded error") assert.Contains(t, res.Err.Error(), "waiting for job", @@ -451,13 +451,13 @@ func TestRunClusterValidator_ContextCanceled(t *testing.T) { time.Sleep(50 * time.Millisecond) cancel() }() - res := runClusterValidator(ctx, client, "test-image:1.0", "", false, "", nil) + res := runClusterValidator(ctx, client, "test-image:1.0", "", false, "", nil, nil) require.Error(t, res.Err) assert.Contains(t, res.Err.Error(), "context") } func TestBuildClusterValidatorJobShape(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false, nil) assert.Equal(t, "test-job", job.Name) assert.Equal(t, clusterValidatorNamespace, job.Namespace) @@ -499,7 +499,7 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { } func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, "runid", false) + job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, "runid", false, nil) env := map[string]string{} for _, e := range job.Spec.Template.Spec.Containers[0].Env { env[e.Name] = e.Value @@ -509,19 +509,19 @@ func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { } func TestBuildClusterValidatorJobShape_WithPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", "runid", false) + job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", "runid", false, nil) require.Len(t, job.Spec.Template.Spec.ImagePullSecrets, 1) assert.Equal(t, "nvcr-pull-secret", job.Spec.Template.Spec.ImagePullSecrets[0].Name) } func TestBuildClusterValidatorJobShape_NoPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false, nil) assert.Empty(t, job.Spec.Template.Spec.ImagePullSecrets, "empty pull-secret arg must not produce an empty-name ImagePullSecrets entry") } func TestBuildClusterValidatorJobShape_NoCleanup(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", true) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", true, nil) assert.Nil(t, job.Spec.TTLSecondsAfterFinished, "--no-cleanup must omit TTLSecondsAfterFinished so the Job persists for debugging") assert.Nil(t, job.Spec.ActiveDeadlineSeconds, @@ -598,32 +598,41 @@ func TestKubectlLogsHint_EmptyJob(t *testing.T) { "empty jobName must produce empty hint so callers can compose detail without conditionals") } -func TestBuildControlPlaneValidatorConfig_NoExtras(t *testing.T) { +// With no registries the reachability section is omitted rather than filled +// with a guess. +func TestBuildControlPlaneValidatorConfig_NoRegistries(t *testing.T) { got := buildControlPlaneValidatorConfig(nil) - assert.Equal(t, controlPlaneValidatorConfigTemplate, got, - "no extra registries must return the template unchanged") - assert.Contains(t, got, "nvcr.io", "nvcr.io must always be present") + assert.NotContains(t, got, "reachability:") + assert.NotContains(t, got, "nvcr.io", "no hardcoded nvcr.io endpoint") assert.Contains(t, got, "enforcement:", "enforcement block must be present") } -func TestBuildControlPlaneValidatorConfig_WithExtras(t *testing.T) { - got := buildControlPlaneValidatorConfig([]string{"harbor.company.internal:443", "ghcr.io:443"}) - assert.Contains(t, got, "harbor.company.internal") - assert.Contains(t, got, "ghcr.io") - assert.Contains(t, got, "nvcr.io", "nvcr.io must still be present alongside extras") - assert.Contains(t, got, "enforcement:", "enforcement block must still be present after extras") - // Extra registries must appear BEFORE enforcement. - harborIdx := strings.Index(got, "harbor.company.internal") - enforcementIdx := strings.Index(got, "enforcement:") - assert.Less(t, harborIdx, enforcementIdx, "extra registry endpoints must appear before the enforcement block") +// The endpoints are exactly the enumerated registries, with the same +// criticality. A mirrored install whose list has no nvcr.io must not be made +// to dial it: a fixed critical nvcr.io failed every such control plane. +func TestBuildControlPlaneValidatorConfig_FollowsEnumeratedRegistries(t *testing.T) { + got := buildControlPlaneValidatorConfig([]RegistryEntry{ + {Registry: "harbor.company.internal", Critical: false}, + {Registry: "registry.example:5000", Critical: true}, + }) + assert.NotContains(t, got, "nvcr.io") + assert.Contains(t, got, `host: "harbor.company.internal"`) + assert.Contains(t, got, `host: "registry.example"`) + assert.Contains(t, got, "port: 5000") + assert.Contains(t, got, "host: \"harbor.company.internal\"\n port: 443\n protocol: tcp+tls\n critical: false\n") + assert.Contains(t, got, "host: \"registry.example\"\n port: 5000\n protocol: tcp+tls\n critical: true\n") + assert.Less(t, strings.Index(got, "harbor.company.internal"), strings.Index(got, "enforcement:"), + "endpoints must appear before the enforcement block") + + ngc := buildControlPlaneValidatorConfig([]RegistryEntry{{Registry: "nvcr.io", Critical: true}}) + assert.Contains(t, ngc, `host: "nvcr.io"`) + assert.Contains(t, ngc, "critical: true", "an NGC install keeps nvcr.io critical") } func TestBuildControlPlaneValidatorConfig_InvalidRegistrySkipped(t *testing.T) { - // A blank entry is parsed as host="" -> skipped; only the valid entry appears. - got := buildControlPlaneValidatorConfig([]string{" ", "valid.registry.internal:5000"}) + got := buildControlPlaneValidatorConfig([]RegistryEntry{{Registry: " "}, {Registry: "valid.registry.internal:5000"}}) assert.Contains(t, got, "valid.registry.internal", "valid registry must appear") - // The blank entry must not add an empty host: line. - assert.NotContains(t, got, "host: \n", "blank entry must not produce an empty host line") + assert.NotContains(t, got, "host: \"\"", "blank entry must not produce an empty host") } func TestParseRegistryHostPort(t *testing.T) { @@ -821,7 +830,7 @@ func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { driveJobToSuccess(client) runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", - "", true /* noCleanup */, clusterValidatorControlPlaneRole, nil) + "", true /* noCleanup */, clusterValidatorControlPlaneRole, nil, nil) _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get( context.Background(), prior.Name, metav1.GetOptions{}) @@ -839,7 +848,7 @@ func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { // Either way the wait burns its full budget and the run leaks. func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { job := buildClusterValidatorJob("j", "nvcr.io/x/validator:1", "", - clusterValidatorControlPlaneRole, "runid", false) + clusterValidatorControlPlaneRole, "runid", false, nil) spec := job.Spec.Template.Spec require.NotNil(t, spec.SecurityContext, "pod security context is required under restricted") @@ -875,7 +884,7 @@ func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { // suppressed on that path by design, so the deadline is the only reclaim. func TestBuildClusterValidatorJob_SetsActiveDeadline(t *testing.T) { job := buildClusterValidatorJob("j", "nvcr.io/x/validator:1", "", - clusterValidatorControlPlaneRole, "runid", false) + clusterValidatorControlPlaneRole, "runid", false, nil) require.NotNil(t, job.Spec.ActiveDeadlineSeconds, "a Job with no deadline cannot terminate itself on a pull failure") assert.Greater(t, *job.Spec.ActiveDeadlineSeconds, int64(clusterValidatorTimeout/time.Second), @@ -1075,11 +1084,11 @@ func TestEnsureClusterValidatorConfig_NoPreserveMarkerByDefault(t *testing.T) { // the same role deletes it, while its ConfigMap, RBAC and pull secret survive. func TestBuildClusterValidatorJob_MarksPreservedRun(t *testing.T) { kept := buildClusterValidatorJob("j", "nvcr.io/x/v:1", "", - clusterValidatorControlPlaneRole, "runid", true) + clusterValidatorControlPlaneRole, "runid", true, nil) assert.Equal(t, "true", kept.Labels[clusterValidatorPreserveLabel]) ordinary := buildClusterValidatorJob("j", "nvcr.io/x/v:1", "", - clusterValidatorControlPlaneRole, "runid", false) + clusterValidatorControlPlaneRole, "runid", false, nil) assert.NotContains(t, ordinary.Labels, clusterValidatorPreserveLabel, "an ordinary run must stay sweepable") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index f0167a0d71..0ebb35d7d4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -335,10 +335,13 @@ type RoleConfig struct { // scanned on the one topology where they sit on the same cluster. ExtraStaleNamespaces []string - // ClusterValidatorRegistries is an optional list of "host:port" registry - // endpoints added to the control-plane validator ConfigMap alongside the - // built-in nvcr.io probe. Ignored for the compute-plane validator. - ClusterValidatorRegistries []string + // ClusterValidatorRegistries are the registries the control-plane + // validator probes for reachability: the EnumerateRegistries result the + // local credential check also uses. Ignored for the compute-plane validator. + ClusterValidatorRegistries []RegistryEntry + + // ClusterValidatorEnv is passed to the validator container for both roles. + ClusterValidatorEnv map[string]string } // categorySpec groups a set of checks under a named category. Categories run @@ -444,6 +447,7 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { rc.ClusterValidatorNoCleanup, validatorRoleControlPlane, rc.ClusterValidatorRegistries, + rc.ClusterValidatorEnv, )) } return cat @@ -485,6 +489,7 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { rc.ClusterValidatorNoCleanup, validatorRoleComputePlane, nil, // registries: compute-plane doesn't use the ConfigMap reachability list + rc.ClusterValidatorEnv, )) } return cat @@ -593,7 +598,10 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS // clusterValidatorCheck runs the validator Job. Runner errors (RBAC/timeout) // are warning severity; validator failures are error. role selects the check // set via VALIDATOR_ROLE; registries extends the ConfigMap reachability list. -func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool, role string, registries []string) binaryCheckSpec { +func clusterValidatorCheck( + cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool, role string, + registries []RegistryEntry, env map[string]string, +) binaryCheckSpec { const id = "cluster-validator" return binaryCheckSpec{ ID: id, @@ -610,6 +618,7 @@ func clusterValidatorCheck(cv ClusterValidator, kubeContext, image, pullSecret s NoCleanup: noCleanup, Role: role, Registries: registries, + Env: env, }) r.Logs = result.Logs r.Detail = clusterValidatorDetail(kubeContext, result.JobName) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index debfb1863e..9336d8b798 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -233,17 +233,92 @@ type RegistryEntry struct { Critical bool } +// StackValues are the stack settings preflight needs, read from the stack's +// environment values with the same layering helmfile uses. +type StackValues struct { + // Found is true when at least one values file was read. + Found bool + // ImageRegistry is global.image.registry. The stack renders + // registry + "/" + repository, so it may carry a path. + ImageRegistry string + // ACMESolverRepository is certManager.acmesolver.image.repository. When + // unset the ACME solver keeps the chart's quay.io/jetstack default. + ACMESolverRepository string + // EnvoyGatewayNamespace is ingress.gatewayApi.controllerNamespace. + EnvoyGatewayNamespace string +} + +// LoadStackValues reads files in order and layers each over the previous, +// the way helmfile layers an environment file over base.yaml. Unreadable or +// malformed files are skipped. +func LoadStackValues(files []string) StackValues { + merged := map[string]any{} + found := false + for _, path := range files { + data, err := os.ReadFile(path) + if err != nil { + continue + } + var doc map[string]any + if err := yaml.Unmarshal(data, &doc); err != nil { + continue + } + found = true + mergeValues(merged, doc) + } + return StackValues{ + Found: found, + ImageRegistry: digString(merged, "global", "image", "registry"), + ACMESolverRepository: digString(merged, "certManager", "acmesolver", "image", "repository"), + EnvoyGatewayNamespace: digString(merged, "ingress", "gatewayApi", "controllerNamespace"), + } +} + +// mergeValues deep-merges src into dst: maps merge key by key, anything else +// in src replaces what dst held. +func mergeValues(dst, src map[string]any) { + for k, v := range src { + if sv, ok := v.(map[string]any); ok { + if dv, ok := dst[k].(map[string]any); ok { + mergeValues(dv, sv) + continue + } + } + dst[k] = v + } +} + +func digString(m map[string]any, keys ...string) string { + var cur any = m + for _, k := range keys { + mm, ok := cur.(map[string]any) + if !ok { + return "" + } + cur = mm[k] + } + s, _ := cur.(string) + return strings.TrimSpace(s) +} + // EnumerateRegistries builds the deduplicated list of registries to credential- -// check from the image ref, cert-manager (quay.io), the stack values file -// (global.image.registry), and operator-supplied extras. -func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []RegistryEntry { +// check from the image ref, cert-manager (quay.io), the stack values +// (global.image.registry), and operator-supplied extras. stackValuesFiles are +// layered in order (base.yaml first, then the environment file). +func EnumerateRegistries(imageRef string, stackValuesFiles []string, extras []string) []RegistryEntry { seen := make(map[string]bool) var out []RegistryEntry + stack := LoadStackValues(stackValuesFiles) - add := func(registry, repoHint string, critical bool) { + // add reports whether the registry is in the list, so a source only counts + // as having named a registry once its value passed validation. + add := func(registry, repoHint string, critical bool) bool { registry = strings.TrimSpace(registry) - if registry == "" || seen[registry] { - return + if registry == "" { + return false + } + if seen[registry] { + return true } // Every source goes through the same host validation. The probe builds // "https://" + registry + "/v2/", so a value carrying "/" or "@" moves @@ -253,10 +328,11 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re // parseRegistryHostPort; the image ref and the values file were not. if !isBareRegistryHost(strings.TrimSuffix(strings.TrimPrefix(registry, "["), "]")) && !isBareRegistryHost(registry) { - return + return false } seen[registry] = true out = append(out, RegistryEntry{Registry: registry, RepoHint: repoHint, Critical: critical}) + return true } // Source 1: base registry from the configured validator image. @@ -269,28 +345,27 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re // contacts this registry at pull time (ImagePullPolicy is IfNotPresent). imageNamedRegistry := false if reg, repo, _, ok := parseImageRef(imageRef); ok && reg != "" { - imageNamedRegistry = true - add(reg, repo, isNGCRegistry(reg)) + imageNamedRegistry = add(reg, repo, isNGCRegistry(reg)) } - // Source 2: read global.image.registry from the environment values file. - // This catches cases where the operator points at a custom NGC org or a - // staging environment that differs from the validator image's registry. - stackRegistry := "" - if stackValuesFile != "" { - stackRegistry = readGlobalImageRegistry(stackValuesFile) - if stackRegistry != "" { - // If it's an NGC registry, mark critical; customer mirrors are non-critical. - add(stackRegistry, "", isNGCRegistry(stackRegistry)) - } + // Source 2: global.image.registry from the stack values. This catches an + // operator pointing at a custom NGC org or a staging registry that differs + // from the validator image's. The stack renders registry + "/" + repository, + // so "harbor.corp.example/nvcf" is a valid value: probe its host and carry + // the path as the scope hint rather than rejecting the whole value. + stackNamedRegistry := false + if host, path, _ := strings.Cut(stack.ImageRegistry, "/"); host != "" { + // If it's an NGC registry, mark critical; customer mirrors are non-critical. + stackNamedRegistry = add(host, path, isNGCRegistry(host)) } - // Source 3: cert-manager, but only when the stack is not mirroring it. - // deploy/stacks/self-managed/global.yaml.gotmpl rewrites every cert-manager - // image to global.image.registry, so on a configured stack quay.io is never - // contacted and probing it is a pointless round trip. It is only reachable - // when no stack values file resolved. - if stackRegistry == "" { + // Source 3: cert-manager's ACME solver. global.yaml.gotmpl moves the + // controller images to the mirror, but the solver keeps the chart's + // quay.io/jetstack default unless certManager.acmesolver.image is set, so + // a mirrored site still pulls it from quay.io at its first HTTP-01 order. + // Probe quay.io unless the stack points the solver somewhere else. + if acme := stack.ACMESolverRepository; !stack.Found || acme == "" || + strings.HasPrefix(acme, certManagerRegistry+"/") { add(certManagerRegistry, "", false) } @@ -306,12 +381,9 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re reg := host if port != 0 && port != 443 { reg = net.JoinHostPort(host, strconv.Itoa(port)) - } else if strings.Contains(host, ":") && !strings.HasPrefix(host, "[") { - // Bare IPv6 literal on the default port. parseRegistryHostPort - // returns the input verbatim when SplitHostPort fails, and it - // fails on an already-bracketed "[fd00::1]" with missingPort, so - // without the prefix guard that arrives here still bracketed and - // becomes "[[fd00::1]]", which is not a parseable URL host. + } else if strings.Contains(host, ":") { + // IPv6 literal on the default port. parseRegistryHostPort returns + // it unbracketed, so bracket it once for the URL host. reg = "[" + host + "]" } add(reg, "", false) @@ -331,30 +403,9 @@ func EnumerateRegistries(imageRef, stackValuesFile string, extras []string) []Re // // Non-critical, unlike an NGC registry a source actually named. A guess // must not hard-fail the run, and this category has no opt-out flag. - if !imageNamedRegistry && stackRegistry == "" { + if !imageNamedRegistry && !stackNamedRegistry { add(ngcRegistry, "", false) } return out } - -// readGlobalImageRegistry reads the global.image.registry key from an -// environment values YAML file (e.g. environments/local.yaml). Returns "" -// on any error so the caller can safely ignore missing or malformed files. -func readGlobalImageRegistry(path string) string { - data, err := os.ReadFile(path) - if err != nil { - return "" - } - var vals struct { - Global struct { - Image struct { - Registry string `json:"registry" yaml:"registry"` - } `json:"image" yaml:"image"` - } `json:"global" yaml:"global"` - } - if err := yaml.Unmarshal(data, &vals); err != nil { - return "" - } - return strings.TrimSpace(vals.Global.Image.Registry) -} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index be9b35b494..e589752390 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -125,7 +125,7 @@ func TestProbeRegistryCredential_ECRSkipped(t *testing.T) { // -- EnumerateRegistries -- func TestEnumerateRegistries_FromImageRef(t *testing.T) { - entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", "", nil) + entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", nil, nil) require.NotEmpty(t, entries) found := false @@ -141,7 +141,7 @@ func TestEnumerateRegistries_FromImageRef(t *testing.T) { func TestEnumerateRegistries_RepoHintFromImageRef(t *testing.T) { // The RepoHint must be the repo path from the image ref so the token // exchange uses the operator's actual org, not a fake one. - entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", "", nil) + entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", nil, nil) for _, e := range entries { if e.Registry == "nvcr.io" { assert.Equal(t, "nvidia/nvcf-byoc/cluster-validator", e.RepoHint, @@ -155,7 +155,7 @@ func TestEnumerateRegistries_RepoHintFromImageRef(t *testing.T) { func TestEnumerateRegistries_IncludesCertManagerWhenStackIsNotMirroring(t *testing.T) { // With no stack values file there is no global.image.registry to mirror // cert-manager to, so its upstream registry is genuinely contacted. - entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", nil) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, nil) found := false for _, e := range entries { if e.Registry == "quay.io" { @@ -167,7 +167,7 @@ func TestEnumerateRegistries_IncludesCertManagerWhenStackIsNotMirroring(t *testi } func TestEnumerateRegistries_ExtrasAppended(t *testing.T) { - entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", + entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, []string{"harbor.company.internal:443", "ghcr.io:443"}) registries := make(map[string]bool, len(entries)) @@ -180,7 +180,7 @@ func TestEnumerateRegistries_ExtrasAppended(t *testing.T) { func TestEnumerateRegistries_NoDuplicates(t *testing.T) { // Pass nvcr.io both as the image registry and as an extra - must not dedup. - entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", + entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, []string{"nvcr.io"}) count := 0 @@ -202,7 +202,7 @@ global: registry: stg.nvcr.io `))) - entries := EnumerateRegistries("nvcr.io/some/image:1.0", valuesPath, nil) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", []string{valuesPath}, nil) found := false for _, e := range entries { if e.Registry == "stg.nvcr.io" { @@ -222,12 +222,12 @@ global: registry: nvcr.io repository: nvidia/nvcf-byoc `))) - got := readGlobalImageRegistry(path) + got := LoadStackValues([]string{path}).ImageRegistry assert.Equal(t, "nvcr.io", got) } func TestReadGlobalImageRegistry_MissingFile(t *testing.T) { - got := readGlobalImageRegistry("/nonexistent/path/values.yaml") + got := LoadStackValues([]string{"/nonexistent/path/values.yaml"}).ImageRegistry assert.Empty(t, got, "missing file must return empty string, not error") } @@ -235,7 +235,7 @@ func TestReadGlobalImageRegistry_MissingKey(t *testing.T) { dir := t.TempDir() path := dir + "/values.yaml" require.NoError(t, writeFile(path, []byte(`other: value`))) - got := readGlobalImageRegistry(path) + got := LoadStackValues([]string{path}).ImageRegistry assert.Empty(t, got, "missing global.image.registry must return empty string") } @@ -289,19 +289,22 @@ func writeFile(path string, data []byte) error { return os.WriteFile(path, data, 0o644) } -// The stack rewrites every cert-manager image to global.image.registry, so on -// a configured stack quay.io is never contacted at pull time and probing it is -// a pointless 10-second round trip on every invocation. -func TestEnumerateRegistries_SkipsCertManagerWhenStackMirrors(t *testing.T) { +// When the stack also mirrors the ACME solver, nothing it installs is pulled +// from quay.io, so probing it is a pointless 10-second round trip. +func TestEnumerateRegistries_SkipsCertManagerWhenSolverIsMirrored(t *testing.T) { dir := t.TempDir() valuesPath := dir + "/base.yaml" require.NoError(t, writeFile(valuesPath, []byte(` global: image: registry: mirror.company.internal +certManager: + acmesolver: + image: + repository: mirror.company.internal/jetstack/cert-manager-acmesolver `))) - entries := EnumerateRegistries("nvcr.io/some/image:1.0", valuesPath, nil) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", []string{valuesPath}, nil) for _, e := range entries { assert.NotEqual(t, certManagerRegistry, e.Registry, "a stack mirroring images must not trigger a quay.io probe") @@ -310,7 +313,7 @@ global: // A bare IPv6 literal must stay bracketed or the probe URL is malformed. func TestEnumerateRegistries_BracketsIPv6Extras(t *testing.T) { - entries := EnumerateRegistries("nvcr.io/some/image:1.0", "", []string{"[::1]:5000"}) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, []string{"[::1]:5000"}) found := false for _, e := range entries { @@ -327,7 +330,7 @@ func TestEnumerateRegistries_BracketsIPv6Extras(t *testing.T) { // other source. Forcing it true makes an air-gapped install fail preflight for // a registry that is never contacted (ImagePullPolicy is IfNotPresent). func TestEnumerateRegistries_NonNGCImageRegistryIsNotCritical(t *testing.T) { - entries := EnumerateRegistries("mirror.company.internal/nvcf/cluster-validator:1.0", "", nil) + entries := EnumerateRegistries("mirror.company.internal/nvcf/cluster-validator:1.0", nil, nil) for _, e := range entries { if e.Registry == "mirror.company.internal" { assert.False(t, e.Critical, "a non-NGC mirror must not be forced critical") @@ -341,7 +344,7 @@ func TestEnumerateRegistries_NonNGCImageRegistryIsNotCritical(t *testing.T) { // and the run would report on quay.io alone, leaving the operator's NGC // credentials unchecked in what is the default configuration. func TestEnumerateRegistries_FallsBackToNGCWhenNothingNamesARegistry(t *testing.T) { - got := EnumerateRegistries("", "", nil) + got := EnumerateRegistries("", nil, nil) var ngc *RegistryEntry for i := range got { @@ -362,7 +365,7 @@ func TestEnumerateRegistries_NoNGCFallbackForAMirroredStack(t *testing.T) { require.NoError(t, os.WriteFile(values, []byte("global:\n image:\n registry: harbor.example.com\n"), 0o600)) - got := EnumerateRegistries("", values, nil) + got := EnumerateRegistries("", []string{values}, nil) for _, e := range got { assert.NotEqual(t, "nvcr.io", e.Registry, "a stack that named its own registry must not be probed against NGC") @@ -372,7 +375,7 @@ func TestEnumerateRegistries_NoNGCFallbackForAMirroredStack(t *testing.T) { // The fallback must not shadow or duplicate an NGC registry a source named, // which carries a repo hint and is critical. func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { - got := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", "", nil) + got := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", nil, nil) n := 0 for _, e := range got { @@ -391,7 +394,7 @@ func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { // which http.NewRequest rejects. The documented bracketed form must work. func TestEnumerateRegistries_DoesNotDoubleBracketIPv6(t *testing.T) { for _, in := range []string{"[fd00::1]", "fd00::1"} { - got := EnumerateRegistries("", "", []string{in}) + got := EnumerateRegistries("", nil, []string{in}) var found string for _, e := range got { if strings.Contains(e.Registry, "fd00") { @@ -403,7 +406,7 @@ func TestEnumerateRegistries_DoesNotDoubleBracketIPv6(t *testing.T) { } func TestEnumerateRegistries_KeepsBracketedIPv6WithPort(t *testing.T) { - got := EnumerateRegistries("", "", []string{"[fd00::1]:5000"}) + got := EnumerateRegistries("", nil, []string{"[fd00::1]:5000"}) var found string for _, e := range got { if strings.Contains(e.Registry, "fd00") { @@ -422,9 +425,123 @@ func TestEnumerateRegistries_RejectsHostMovingRegistryStrings(t *testing.T) { require.NoError(t, os.WriteFile(values, []byte("global:\n image:\n registry: nvcr.io@attacker.example.com\n"), 0o600)) - for _, e := range EnumerateRegistries("nvcr.io@evil.test/x/y:1", values, nil) { + for _, e := range EnumerateRegistries("nvcr.io@evil.test/x/y:1", []string{values}, nil) { assert.NotContains(t, e.Registry, "@", "a host-moving string must not be probed") assert.NotContains(t, e.Registry, "attacker.example.com") assert.NotContains(t, e.Registry, "evil.test") } } + +// helmfile layers the environment file over base.yaml, so an env file that +// overrides only the repository keeps base.yaml's registry, and an env file +// that sets a mirror replaces it. +func TestLoadStackValues_LayersEnvOverBase(t *testing.T) { + dir := t.TempDir() + base, env := dir+"/base.yaml", dir+"/airgap.yaml" + require.NoError(t, writeFile(base, []byte(` +global: + image: + registry: nvcr.io + repository: nvidia/nvcf-byoc +ingress: + gatewayApi: + controllerNamespace: envoy-gateway-system +`))) + require.NoError(t, writeFile(env, []byte(` +global: + image: + repository: other/repo +`))) + got := LoadStackValues([]string{base, env}) + assert.True(t, got.Found) + assert.Equal(t, "nvcr.io", got.ImageRegistry, "an env file that only overrides the repository keeps the base registry") + assert.Equal(t, "envoy-gateway-system", got.EnvoyGatewayNamespace) + + require.NoError(t, writeFile(env, []byte(` +global: + image: + registry: harbor.corp.example +`))) + assert.Equal(t, "harbor.corp.example", LoadStackValues([]string{base, env}).ImageRegistry) +} + +// A registry value carrying a path is valid for the stack, which renders +// registry + "/" + repository. It must still be probed, and it must still +// suppress the nvcr.io guess, rather than dropping the whole category. +func TestEnumerateRegistries_StackRegistryWithPath(t *testing.T) { + dir := t.TempDir() + values := dir + "/base.yaml" + require.NoError(t, writeFile(values, []byte(` +global: + image: + registry: harbor.corp.example/nvcf +certManager: + acmesolver: + image: + repository: harbor.corp.example/jetstack/cert-manager-acmesolver +`))) + got := EnumerateRegistries("", []string{values}, nil) + require.Len(t, got, 1) + assert.Equal(t, "harbor.corp.example", got[0].Registry) + assert.Equal(t, "nvcf", got[0].RepoHint) +} + +// A rejected registry value must not count as a source naming a registry: +// otherwise it suppresses the nvcr.io fallback and the category vanishes. +func TestEnumerateRegistries_RejectedValueDoesNotSuppressFallback(t *testing.T) { + dir := t.TempDir() + values := dir + "/base.yaml" + require.NoError(t, writeFile(values, []byte("global:\n image:\n registry: \"nvcr.io@evil.test\"\n"))) + got := EnumerateRegistries("", []string{values}, nil) + var names []string + for _, e := range got { + names = append(names, e.Registry) + } + assert.Contains(t, names, ngcRegistry) + assert.NotContains(t, names, "nvcr.io@evil.test") +} + +// quay.io depends on the ACME solver image, which the stack leaves on +// quay.io/jetstack unless it is overridden, not on whether a values file was +// found. +func TestEnumerateRegistries_QuayFollowsTheACMESolverImage(t *testing.T) { + dir := t.TempDir() + values := dir + "/base.yaml" + names := func() []string { + var out []string + for _, e := range EnumerateRegistries("", []string{values}, nil) { + out = append(out, e.Registry) + } + return out + } + require.NoError(t, writeFile(values, []byte("global:\n image:\n registry: harbor.corp.example\n"))) + assert.Contains(t, names(), certManagerRegistry, "a mirrored stack still pulls the default ACME solver from quay.io") + + require.NoError(t, writeFile(values, []byte( + "global:\n image:\n registry: harbor.corp.example\ncertManager:\n acmesolver:\n image:\n repository: harbor.corp.example/jetstack/acmesolver\n"))) + assert.NotContains(t, names(), certManagerRegistry, "a mirrored ACME solver never reaches quay.io") +} + +// "[fd00::1]" with no port must reach the ConfigMap unbracketed; the validator +// brackets it itself, and a double bracket is never reachable. +func TestParseRegistryHostPort_StripsIPv6Brackets(t *testing.T) { + host, port := parseRegistryHostPort("[fd00::1]") + assert.Equal(t, "fd00::1", host) + assert.Equal(t, 443, port) + got := EnumerateRegistries("", nil, []string{"[fd00::1]"}) + var names []string + for _, e := range got { + names = append(names, e.Registry) + } + assert.Contains(t, names, "[fd00::1]") +} + +// A validator image whose registry fails validation must not count as naming +// a registry either, or the nvcr.io fallback is suppressed with nothing probed. +func TestEnumerateRegistries_RejectedImageRegistryDoesNotSuppressFallback(t *testing.T) { + var names []string + for _, e := range EnumerateRegistries("user@evil.test/nvidia/validator:1", nil, nil) { + names = append(names, e.Registry) + } + assert.Contains(t, names, ngcRegistry) +} From af2c3c3052be231ac23f77d452d858a9689fdff1 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 01:20:11 +0530 Subject: [PATCH 039/127] fix(nvcf-cli): count checks by one rule, scope stale namespaces and SIS to the requested roles, and read helper-stored credentials Signed-off-by: rohithb --- .../examples/ci-pipelines.md | 5 +- .../nvcf-self-managed-cli/reference/flags.md | 4 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 39 +- .../cmd/self_hosted_check_scope_test.go | 95 + .../nvcf-cli/cmd/self_hosted_helm_runtime.go | 2 +- .../agentskill/skilldata_generated.go | 6414 +++++++++-------- .../internal/selfhosted/credhelper_test.go | 99 + .../internal/selfhosted/helm_runtime.go | 4 +- .../nvcf-cli/internal/selfhosted/output.go | 8 +- .../nvcf-cli/internal/selfhosted/preflight.go | 93 +- .../internal/selfhosted/preflight_test.go | 14 + .../internal/selfhosted/progress/event.go | 7 +- .../selfhosted/progress/render_jsonl.go | 26 +- .../selfhosted/progress/render_plain.go | 4 +- .../selfhosted/progress/render_tty.go | 40 +- .../selfhosted/progress/render_tty_test.go | 23 + .../progress/testdata/jsonl_check.golden | 2 +- .../progress/testdata/plain_check.golden | 2 +- .../internal/selfhosted/registry_cred.go | 33 +- .../internal/selfhosted/stale_namespace.go | 22 +- .../selfhosted/stale_namespace_test.go | 40 +- .../internal/selfhosted/validatortag.go | 51 +- 22 files changed, 3695 insertions(+), 3332 deletions(-) create mode 100644 src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index ee36891ae5..a41e605e14 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -12,7 +12,7 @@ deploy_nvcf: variables: KUBECONFIG: $KUBECONFIG_FILE script: - - nvcf-cli self-hosted check --pre --json 2>&1 >/dev/null | grep '^{' | jq -se 'length > 0 and all(.[]; .event != "phase_failed")' || exit 2 + - nvcf-cli self-hosted check --pre --json 2>&1 >/dev/null | grep '^{' | jq -se 'any(.[]; .event == "final" and .success)' || exit 2 - nvcf-cli self-hosted up --cluster-name=$CLUSTER_NAME --token=$NVCF_ADMIN_JWT --non-interactive --json - nvcf-cli self-hosted status --json 2>&1 >/dev/null | grep '^{' | jq -se 'any(.[]; .verdict == "healthy")' ``` @@ -22,7 +22,8 @@ Notes: - `--non-interactive --token=$JWT` is required in CI; never use interactive `init`. - Always `--json` for machine-parsing. - `--json` writes JSONL to stderr, not stdout, so redirect with `2>&1 >/dev/null` before a parser. -- Slurp with `jq -s` before testing a condition. Without it `jq -e` takes its exit status from the last event alone, so a `phase_failed` followed by any other event still exits 0. +- `check` reports its verdict in one `final` event, with `success: false` when any check failed at error severity. Gate on that event: `check` never emits `phase_failed`, so a condition on it always passes. Requiring the `final` event also fails the step when the command dies before emitting it. +- Slurp with `jq -s` before testing a condition. Without it `jq -e` takes its exit status from the last event alone. - stderr also carries plain-text notices, so filter to JSON lines. Do not add `--show-logs` here: it appends a non-JSON transcript to the same stream. - Final status check gates downstream stages on `verdict == "healthy"`. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 4a2a0df8d8..2f6a0c35c1 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -33,10 +33,10 @@ required. Each selects a role; only the selected roles contact a cluster. | Flag | Purpose | Default | |---|---|---| -| `--pre` | Pre-flight: local-host tools plus cluster readiness | `false` | +| `--pre` | Pre-flight: local-host tools plus cluster readiness. Skips SIS reachability, since SIS is not installed yet, unless `--all` or `--compute-plane` is also passed | `false` | | `--control-plane` | Control-plane checks | `false` | | `--compute-plane` | Compute-plane checks | `false` | -| `--all` | Every category | `false` | +| `--all` | Every category, including SIS reachability when combined with `--pre` | `false` | | `--cluster-name NAME` | Cluster name for compute-plane checks | - | | `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 2f50b4da38..6e64c02d9b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -518,12 +518,13 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{}, sink) } - // SIS reachability is a compute-plane concern, and it is skipped pre-install - // because SIS is not up yet. The previous `!checkPre` form was also true - // whenever --control-plane was passed, so a control-plane run fired an HTTP - // request at SIS that the operator never asked for. + // SIS reachability is a compute-plane concern. A bare --pre skips it + // because SIS is not up before install, but an explicit --all or + // --compute-plane still asks for it, as it always has. Requiring the + // compute plane to be targeted stops a --control-plane run from probing + // SIS, which the older `|| !checkPre` form did. icmsURL := "" - if computePlaneIsTargeted(mode) && !checkPre { + if computePlaneIsTargeted(mode) && (checkAll || checkComputePlane || !checkPre) { icmsURL = resolveICMSURL(selfHostedICMSURL) } @@ -642,17 +643,20 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // Without that, a kai-scheduler or nvca-operator namespace wedged // Terminating by a failed teardown reports "no stale NVCF namespaces // detected" and the next install fails into it. + // Merged only when both roles run: a --control-plane run must not + // report a stuck kai-scheduler namespace, nor --compute-plane a stuck + // vault-system, which is the rule ModeSplit already follows. staleForControlPlane := staleNSProber staleForComputePlane := staleNSProber - var cpExtraNamespaces, gpuExtraNamespaces []string + var cpExtraNamespaces []string if runControlPlane { staleForComputePlane = nil - cpExtraNamespaces = selfhosted.ComputePlaneStaleNamespaces( - localStackDir(selfHostedComputePlaneStack)) + if runComputePlane { + cpExtraNamespaces = selfhosted.ComputePlaneStaleNamespaces( + localStackDir(selfHostedComputePlaneStack)) + } } else { staleForControlPlane = nil - gpuExtraNamespaces = selfhosted.ControlPlaneStaleNamespaces( - localStackDir(selfHostedControlPlaneStack)) } if runControlPlane { @@ -682,7 +686,6 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorEnv: validatorEnv, StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), - ExtraStaleNamespaces: gpuExtraNamespaces, } results = append(results, selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) @@ -763,17 +766,7 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self // process exited 0, so a CI gate on final.success broke for anyone whose // registry credentials live in a Docker credential helper. "warnings" is // already part of the documented Verdict vocabulary; it was never emitted. - var passed, failed, warned int - for _, r := range results { - switch { - case r.Passed: - passed++ - case isBlockingFailure(r): - failed++ - default: - warned++ - } - } + passed, failed, warned := selfhosted.CountResults(results) verdict := "ok" switch { case failed > 0: @@ -791,7 +784,7 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self } func isBlockingFailure(r selfhosted.CheckResult) bool { - return !r.Passed && r.Severity == selfhosted.SeverityError + return r.IsBlockingFailure() } // anyFailed returns true if any check failed at error severity. Warnings do diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go new file mode 100644 index 0000000000..41fc8df9a6 --- /dev/null +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -0,0 +1,95 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package cmd + +import ( + "bytes" + "context" + "net/http" + "net/http/httptest" + "sync" + "sync/atomic" + "testing" + + "github.com/stretchr/testify/assert" + + "nvcf-cli/internal/selfhosted" +) + +// runCheckRecording runs `self-hosted check` in ModeSingle with the given +// flags and returns the namespaces the stale-namespace probe was asked about +// and how many times SIS was contacted. +func runCheckRecording(t *testing.T, args ...string) (namespaces []string, sisHits int64) { + t.Helper() + resetCheckFlags(t) + var hits atomic.Int64 + sis := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + hits.Add(1) + w.WriteHeader(http.StatusOK) + })) + t.Cleanup(sis.Close) + t.Setenv("NVCF_ICMS_URL", sis.URL) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + + var mu sync.Mutex + prev := newStaleNamespaceProberForSelfHosted + newStaleNamespaceProberForSelfHosted = func() selfhosted.StaleNamespaceProber { + return func(_ context.Context, _ string, ns []string) ([]selfhosted.StaleNamespace, error) { + mu.Lock() + defer mu.Unlock() + namespaces = append(namespaces, ns...) + return nil, nil + } + } + t.Cleanup(func() { newStaleNamespaceProberForSelfHosted = prev }) + + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs(append([]string{"self-hosted", "check", "--skip-cluster-validation", "--json"}, args...)) + _ = rootCmd.Execute() + return namespaces, hits.Load() +} + +// Each role's namespaces are scanned only when that role runs. Merging both in +// for a single-role run reported a stuck kai-scheduler on --control-plane. +func TestCheck_StaleNamespacesFollowTheRequestedRoles(t *testing.T) { + ns, _ := runCheckRecording(t, "--control-plane") + assert.Contains(t, ns, "vault-system") + assert.NotContains(t, ns, "kai-scheduler", "--control-plane must not scan compute namespaces") + + ns, _ = runCheckRecording(t, "--compute-plane") + assert.Contains(t, ns, "kai-scheduler") + assert.NotContains(t, ns, "vault-system", "--compute-plane must not scan control-plane namespaces") + + ns, _ = runCheckRecording(t, "--all") + assert.Contains(t, ns, "vault-system") + assert.Contains(t, ns, "kai-scheduler", "--all scans both") +} + +// A bare --pre skips SIS, which is not up before install; an explicit --all or +// --compute-plane still asks for it; --control-plane never contacts it. +func TestCheck_SISReachabilityScope(t *testing.T) { + _, hits := runCheckRecording(t, "--pre") + assert.Zero(t, hits, "--pre alone is pre-install") + _, hits = runCheckRecording(t, "--pre", "--all") + assert.NotZero(t, hits, "--all asks for every category, --pre included") + _, hits = runCheckRecording(t, "--pre", "--compute-plane") + assert.NotZero(t, hits) + _, hits = runCheckRecording(t, "--control-plane") + assert.Zero(t, hits, "SIS is a compute-plane check") +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_helm_runtime.go b/src/clis/nvcf-cli/cmd/self_hosted_helm_runtime.go index 66aeaa4fbe..ec9b4939ae 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_helm_runtime.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_helm_runtime.go @@ -30,7 +30,7 @@ var resolveSelfHostedHelmRuntimeMode = func(ctx context.Context) (selfhosted.Hel Tools: selfHostedHelmRuntimePreflightTools(), }) for _, result := range results { - if !result.Passed && result.Severity == "error" { + if result.IsBlockingFailure() { return "", fmt.Errorf("%s: %s", result.ID, result.Message) } } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 0db54fc1ad..c50b8202f9 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,14 +31,14 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDM0MTAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDM3OTgsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJkMzM5M2VmOTVhZWRiYWE1NzBiY2JiZjQ3" + - "MzVkM2ZhYjI1MzY0MDdlM2U1NjdlZmMzNzhhOWVkM2JiYTJmMWNjIiwKICAgICAgInNpemUiOiAz" + - "MzI0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI5OTMzYTc0ZGVhNGUxZGQ3ZWNiNzdjNjg4" + + "YTRlMTE3M2IwODE5MzgzNmMxODE2ZGI3NmYyOTYwOTkwN2VkZGJkIiwKICAgICAgInNpemUiOiAz" + + "NTQ5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NGI1ZmE5YmNhZjBlMGE1M2Y3" + "ODkyMGI3M2ZjYjUzMGFiNjk0NTFiNDhhNWI0OTNmMjUyY2ExODU4M2FiMDg2IiwKICAgICAgInNp" + "emUiOiAxNzQ5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJkZGU4MjJlYTNiNGZkMDc5" + - "M2RmNzgxNjFiYjBhOTQxYWI4ZGFjMDk1YjlmYjZkZTU5ZjU4YTVlOGUzZWE0YzMwIiwKICAgICAg" + - "InNpemUiOiAxMTk2OQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1OTM1ZDkzNjE4ZGM5M2Qx" + + "OTM5ZGMxNmYzYWQ5NjRjOGRjOGY0YjllOTYxNzViNmQxM2QxM2Q3ZWY1YzM0OTE3IiwKICAgICAg" + + "InNpemUiOiAxMjEzMgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCG81oMVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJeqZHVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -551,2258 +551,3092 @@ const skillDataZipBase64 = "" + "MjE1ODY0OTc5L25jcC1kZXYvbnZjZi1jbGk6MS40LjAKICB2YXJpYWJsZXM6CiAgICBLVUJFQ09O" + "RklHOiAkS1VCRUNPTkZJR19GSUxFCiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + "ZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLXNl" + - "ICdsZW5ndGggPiAwIGFuZCBhbGwoLltdOyAuZXZlbnQgIT0gInBoYXNlX2ZhaWxlZCIpJyB8fCBl" + - "eGl0IDIKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9JENMVVNU" + - "RVJfTkFNRSAtLXRva2VuPSROVkNGX0FETUlOX0pXVCAtLW5vbi1pbnRlcmFjdGl2ZSAtLWpzb24K" + - "ICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiAyPiYxID4vZGV2L251bGwg" + - "fCBncmVwICdeeycgfCBqcSAtc2UgJ2FueSguW107IC52ZXJkaWN0ID09ICJoZWFsdGh5IiknCmBg" + - "YAoKTm90ZXM6CgotIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgIGlzIHJlcXVpcmVk" + - "IGluIENJOyBuZXZlciB1c2UgaW50ZXJhY3RpdmUgYGluaXRgLgotIEFsd2F5cyBgLS1qc29uYCBm" + - "b3IgbWFjaGluZS1wYXJzaW5nLgotIGAtLWpzb25gIHdyaXRlcyBKU09OTCB0byBzdGRlcnIsIG5v" + - "dCBzdGRvdXQsIHNvIHJlZGlyZWN0IHdpdGggYDI+JjEgPi9kZXYvbnVsbGAgYmVmb3JlIGEgcGFy" + - "c2VyLgotIFNsdXJwIHdpdGggYGpxIC1zYCBiZWZvcmUgdGVzdGluZyBhIGNvbmRpdGlvbi4gV2l0" + - "aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2ZW50" + - "IGFsb25lLCBzbyBhIGBwaGFzZV9mYWlsZWRgIGZvbGxvd2VkIGJ5IGFueSBvdGhlciBldmVudCBz" + - "dGlsbCBleGl0cyAwLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBz" + - "byBmaWx0ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0" + - "IGFwcGVuZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5h" + - "bCBzdGF0dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhl" + - "YWx0aHkiYC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1" + - "YmVjdGwgYXBwbHlgIOKAlCBpbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwg" + - "bGV0IHRoZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAg" + - "LSBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5" + - "ID4gcmVuZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkg" + - "PiByZW5kZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYg" + - "Z2l0IGNvbW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFy" + - "Z29DRCBvciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2" + - "ZXIgdG91Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAo" + - "d2hpY2ggbXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBz" + - "Y3JpcHQ6CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNh" + - "LWlkPSROQ0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9y" + - "ZS1leGlzdGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoK" + - "IyMgTXVsdGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55" + - "IGNvbXB1dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVw" + - "bG95X2NvbXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNU" + - "RVI6IG5jcC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0g" + - "Q0xVU1RFUjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAg" + - "ICAgLSBDTFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAg" + - "c2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1u" + - "YW1lPSRDTFVTVEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAg" + - "ICAgICAtLWljbXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FE" + - "TUlOX0pXVAogICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFj" + - "aCBwYXJhbGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdh" + - "aW5zdCB0aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMj" + - "IFBsYW4tb25seSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAg" + - "LSBpZjogJENJX1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3Jp" + - "cHQ6CiAgICAtIHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1" + - "c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAt" + - "LWpzb24gfCB0ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBs" + - "YW4uanNvbgogICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxu" + - "XGBcYFxganNvblxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlg" + - "IGV4aXRzIDAgd2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0" + - "IGxpc3RzIGVhY2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQu" + - "ClBLBwhn/RgP/AwAAPwMAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0" + - "aS1jbHVzdGVyIHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21w" + - "dXRlLXBsYW5lIG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBs" + - "YW5lcwoKVGhlIGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUg" + - "cGxhbmUgaXMgcmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUg" + - "Y29udHJvbCBwbGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpL" + - "VUJFQ09ORklHPWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgfCBrdWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1j" + - "b250cm9sLXBsYW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21w" + - "dXRlIHBsYW5lOgpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBh" + - "ZG1pbkBncHUtZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21z" + - "Lm52Y2YuZXhhbXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1u" + - "b24taW50ZXJhY3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRl" + - "IHBsYW5lcyByZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5j" + - "YS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNb" + - "XSB8IHtuYW1lOiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENv" + - "bXB1dGUtcGxhbmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJl" + - "Y3RsIGFjY2VzcyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFu" + - "ZSBpcyBvcGVyYXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJv" + - "bCBwbGFuZSBmb3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1" + - "YmxpYyBhcGkgZ2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2Ug" + - "aXMgcmVhY2hhYmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nl" + - "c3MgbmVlZGVkKToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFt" + - "cGxlLmNvbQoKIyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25s" + - "eToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBs" + - "ZS5jb20gXAogIC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + - "aWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWlu" + - "dGVyYWN0aXZlCgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUg" + - "Y29udHJvbC1wbGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzIFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJs" + - "PWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGlu" + - "ZyBzcGVjaWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRl" + - "IHBsYW5lcyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsK" + - "ICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAi" + - "ZGVwbG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5z" + - "dGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAg" + - "ICJtYXhJbnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9" + - "CmBgYAoKVGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMp" + - "IGxpbWl0cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJ" + - "Q01TIGNob29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3Rh" + - "dHVzIGZhbi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lz" + - "dGVyZWQgY29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0t" + - "bmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVz" + - "dGVyc1tdLmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVy" + - "IGNvbXB1dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGls" + - "ZSByZWFkIE5BTUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBzdGF0dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5j" + - "bHVzdGVyLCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRv" + - "bmUgPCBjbHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBu" + - "YXRpdmUgZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9l" + - "c24ndCBuZWVkIGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1" + - "dGUtcGxhbmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3Rpbmcg" + - "Y29udHJvbCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVu" + - "bmluZyBzb21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBh" + - "Z2FpbnN0IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNv" + - "bnRyb2wgcGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1" + - "c2VyIG11c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBs" + - "YW5lKiogaW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhl" + - "IGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUu" + - "Y29tYCkuCi0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBP" + - "UiBhYmlsaXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29u" + - "dHJvbCBwbGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9t" + - "IHRoZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJl" + - "Y3RsIGFjY2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWlu" + - "IG9uZS4pCi0gQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3" + - "aXRoIGFscmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxp" + - "c3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNr" + - "LgoKIyMgU3RlcHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9" + - "PHVuaXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBO" + - "Q0Egc2NvcGUKICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhl" + - "IG5ldyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRw" + - "czovL2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElD" + - "TVMgVVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJl" + - "LWZsaWdodCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENU" + - "WCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAK" + - "CiAgIFRoaXMgdmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9k" + - "ZSBsYWJlbHMgYXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRk" + - "cmVzcyBhbnkgZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1" + - "dGUtcGxhbmVgOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0" + - "ZS1wbGFuZSBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpX" + - "VCBcCiAgICAgLS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMg" + - "aXMgYSBzZXBhcmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21w" + - "dXRlLXBsYW5lLXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1" + - "IChyZWdpc3RlciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24g" + - "dGhlIG5ldyBjb21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxh" + - "bmUgYW5kIGRvZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUg" + - "Y29udHJvbCBwbGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10" + - "b2tlbmAgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50" + - "IG9uZSBmcm9tLgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAt" + - "LWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhl" + - "YWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNo" + - "b3VsZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5k" + - "LWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5j" + - "dGlvbiB0byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtz" + - "LgoKIyMgV2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3Rz" + - "PwoKYGFkZC1jb21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4" + - "aXN0aW5nYCBzZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBh" + - "bmQgcmV1c2UgaXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3Rlcmlu" + - "ZyB0aGUgc2FtZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFu" + - "ZSB0aGF0IHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50" + - "aWNzLgotICoqRGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUg" + - "c2Vjb25kIGF0dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1" + - "dGUgcGxhbmUncyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBj" + - "b21wdXRlIHBsYW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAq" + - "KkNvbmZpcm0gd2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpX" + - "aGVuIGluIGRvdWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNh" + - "LWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZv" + - "cmUgcHJvY2VlZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUN" + - "AAAFDQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5k" + - "IHJ1biBhIHRhc2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUg" + - "LT4gbW9uaXRvciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQ" + - "SSBrZXlzCgpUaGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBp" + - "bnZvY2F0aW9uIHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1r" + - "ZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49" + - "OGgKIyAtPiBmdW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4K" + - "YGBgCgpCb3RoIGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0" + - "YXNrIGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRl" + - "c2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlk" + - "YXRlIGVhY2gga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBh" + - "cGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVz" + - "LWluPThoIC0tdmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2Vk" + - "IQojIC0+IHRhc2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRo" + - "ZSBrZXkgdmFsdWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRo" + - "YXQgdGhlIGtleSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKA" + - "lCBuZXZlciB0aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoK" + - "QmVmb3JlIHJ1bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lv" + - "biwgdmVyaWZ5IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBp" + - "cyBzZXQ6CgogICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4m" + - "MSAmJiBlY2hvIHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhl" + - "IHN0b3JlZCBrZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gK" + - "ICAgcHl0aG9uMyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIu" + - "UGF0aCgnfi8ubnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmlu" + - "dChzLmdldCgnbnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElm" + - "IHRoZSBleHBpcnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBg" + - "YHNoCiAgIG52Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZv" + - "ciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRh" + - "dGUKICAgYGBgCgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBl" + - "bnYgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52" + - "IHByZWZpeCDigJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lm" + - "aWNhdGlvbjoKCi0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQg" + - "Mjoga2V5IG5vdCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBl" + - "eHBpcmVkIG9yIHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDog" + - "dmFsaWQ7IG5vIHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIK" + - "CkRlZmluZSB0aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVy" + - "IHRhc2s6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdw" + - "dVNwZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6" + - "ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNv" + - "bnRhaW5lckltYWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVy" + - "QXJncyI6ICJweXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3Vs" + - "dEhhbmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3Jl" + - "YXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tf" + - "aWQ+CmBgYAoKQ2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNp" + - "c3RlbmNlIGNhbiBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBv" + - "biBzdWJzZXF1ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUu" + - "CgpFcXVpdmFsZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNo" + - "Cm52Y2YtY2xpIHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAog" + - "IC0tZ3B1PUgxMDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFj" + - "a2VuZD1uY3AtbG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAog" + - "IC0tY29udGFpbmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwK" + - "ICAtLXJlc3VsdC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0" + - "ZSBjbHVzdGVyOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2st" + - "Y29udGFpbmVyLmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmly" + - "b25tZW50IHZhcmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52" + - "Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAt" + - "LWNvbnRhaW5lci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3Iz" + - "dApgYGAKCm9yIHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFp" + - "bmVyRW52aXJvbm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUi" + - "fQogIF0sCiAgInNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjog" + - "InMzY3IzdCJ9CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5v" + - "dCByZXR1cm5lZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxv" + - "ZyB0aGVtLgoKIyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJl" + - "cGxhY2UgYGNvbnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5h" + - "bWUiOiAic21va2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUi" + - "OiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFj" + - "a2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2Mu" + - "bnZpZGlhLmNvbS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3Vs" + - "dEhhbmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3Jl" + - "YXRlIC0taW5wdXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpg" + - "YGAKCmBoZWxtQ2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNp" + - "dmUuCgojIyAzYi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2Yt" + - "Y2xpIHRhc2sgdXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBg" + - "YAoKYHVwZGF0ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNy" + - "ZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVk" + - "ZWQgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVl" + - "cyBpbnRvIGNoYXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNm" + - "LWNsaSB0YXNrIGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBS" + - "VU5OSU5HCmBgYAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1v" + - "c3QgcmVjZW50IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0" + - "YXR1cyB2YWx1ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURg" + - "LCBgRVJST1JFRGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAs" + - "IGBFWENFRURFRF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50" + - "cyBmb3IgcHJvZ3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNs" + - "aSB0YXNrIGV2ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVF" + - "VUVEYCwgY2hlY2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNL" + - "VQppcyByZWdpc3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVz" + - "YCkuCgpJZiB0aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNv" + - "bnRhaW5zIHRoZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGlu" + - "c3BlY3QgdGhlIHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVy" + - "IHdpdGgKYGt1YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29u" + - "dGV4dC4KCiMjIDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5k" + - "bGluZ1N0cmF0ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gK" + - "bnZjZi1jbGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAK" + - "CkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRz" + - "IHVwbG9hZCB0byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0" + - "YXNrJ3MgY3JlZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9u" + - "LiBBZnRlcgp0aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFz" + - "ayByZXN1bHRzIDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBz" + - "dXBwb3J0ZWQgaW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmlu" + - "ZyB0YXNrOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRl" + - "IHRoZSB0YXNrIHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBz" + - "aApudmNmLWNsaSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdp" + - "dGggdGhlIHVzZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElE" + - "IGFuZCBpdHMgY3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNl" + - "cidzIHByb21wdCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBl" + - "eHBsaWNpdCBsYXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5k" + - "IGNhbm5vdCBiZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3du" + - "ZXIgKHVzZWZ1bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlz" + - "dApudmNmLWNsaSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0g" + - "R1BVIGZhbWlseSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21w" + - "dXRlIGNsdXN0ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFV" + - "RVVFRGAgaW5kZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sK" + - "ICByZWdpc3RlcmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdp" + - "c3RyaWVzLCBlbnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVu" + - "dGlhbC1oZWxwZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00" + - "nxkAAJ8ZAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5k" + - "IGludm9rZSBhIGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1" + - "bmN0aW9uIENSRUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDi" + - "hpIgSU5WT0tFLgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGlu" + - "IGEgSlNPTiBmaWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29u" + - "ZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhl" + - "IHVzZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBp" + - "bnZlbnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29u" + - "CnsKICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1h" + - "Z2UiOiAiPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9l" + - "Y2hvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRl" + - "c3QgZWNobyBmdW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9k" + - "eUZvcm1hdCI6ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIs" + - "CiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAi" + - "UFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52" + - "Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIg" + - "RnVuY3Rpb24gSUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZl" + - "IHRoZSBJRHMg4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExN" + - "IGZ1bmN0aW9uIHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24s" + - "IHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBg" + - "bW9kZWxzW10ubGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZp" + - "cm0gdGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5h" + - "bWUgd2l0aCB0aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4g" + - "RG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4K" + - "CmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250" + - "YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VV" + - "cmwiOiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExN" + - "IiwKICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVh" + - "bHRoIiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBl" + - "Y3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1l" + - "IjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAg" + - "ICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9l" + - "bWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAg" + - "ICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpF" + - "cXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUg" + - "XAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25m" + - "aXJtZWQtY29udGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVy" + - "ZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0" + - "PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhU" + - "VFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1M" + - "TE0gXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEv" + - "Y2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRo" + - "b2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBk" + - "ZXBsb3kgc3RlcCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRp" + - "b25hbCBtb2RlbCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xp" + - "IGZ1bmN0aW9uIHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24t" + - "aWQ9PHZlcl9pZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVs" + - "LW5hbWU+LHJvdXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycK" + - "YGBgCgpVc2UgdGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVM" + - "aW1pdGA7IGNyZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpg" + - "dG9rZW5SYXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZv" + - "ciBgU2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUg" + - "aW5saW5lIENMSSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3Vj" + - "aCBhcyBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNl" + - "IGlubGluZSBtb2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMg" + - "SGVsbSBjaGFydCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5k" + - "ZXBlbmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBM" + - "TE0gZnVuY3Rpb24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5s" + - "bG1Db25maWdgIGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2" + - "aWNlTmFtZWAuIFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2Vydmlj" + - "ZSByZW5kZXJlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0" + - "IFNlcnZpY2UgcG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhl" + - "IGV4YWN0IGZ1bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0" + - "aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJt" + - "aXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjog" + - "Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImlu" + - "ZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjog" + - "ewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0" + - "IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUi" + - "OiAyMDAKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4" + - "YW1wbGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNo" + - "YXJ0U2VydmljZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7" + - "CiAgICAgICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmln" + - "IjogewogICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9u" + - "c2VzIiwgIi92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRf" + - "cm9iaW4iLAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0K" + - "ICBdCn0KYGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5j" + - "dGlvbiBjcmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0t" + - "aW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVy" + - "aT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQz" + - "MFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1" + - "cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hl" + - "bG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0w" + - "LjEuMC50Z3ogXAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAt" + - "LWxsbS1tb2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29t" + - "cGxldGlvbnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5k" + - "X3JvYmluLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQ" + - "dXQgY2hhcnQtc3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNb" + - "XS5jb25maWd1cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRl" + - "czoKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAi" + - "PHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJI" + - "MTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0" + - "YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJl" + - "bmN5IjogMTAsCiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAg" + - "ICAgInRlbnNvclBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0g" + - "R2F0ZXdheSByb3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2Ug" + - "YDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhl" + - "IE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVw" + - "c3RyZWFtIGNvbnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExM" + - "TSBwYXRoczoKCnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21w" + - "bGV0aW9uc2AgfCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8" + - "IGAvdjEvcmVzcG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNT" + - "RSBmb3Igc3RyZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9u" + - "LXN0cmVhbWluZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3Yx" + - "L2VtYmVkZGluZ3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlu" + - "cHV0IG11c3QgYmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmll" + - "cy4gTm8gc2Vzc2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpz" + - "b24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4i" + - "LAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAg" + - "ICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAx" + - "LAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAK" + - "ICB9XQp9CmBgYAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAw" + - "YCksIGBpbnN0YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBN" + - "aXNtYXRjaCByZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBm" + - "dW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRo" + - "aXMgY29tbWFuZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZF" + - "IChkZWZhdWx0IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9u" + - "IHBvZCBpcyBydW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNv" + - "bXB1dGUtcGxhbmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2Vf" + - "ZnVuY3Rpb25gIHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBj" + - "YXJyeSB0aGUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0" + - "aCAibWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBz" + - "aApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVu" + - "Y3Rpb24tbmFtZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGkt" + - "bnZjZi1zdGctLi4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBD" + - "TEkgc3RhdGUgZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxs" + - "LiAqKkRvbid0IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlv" + - "biBJTlZPS0UKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9u" + - "SWQiOiAiPHZlcl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0K" + - "YGBgCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1m" + - "bi5qc29uCiMg4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6" + - "IGZ1bGZpbGxlZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9u" + - "LCBpbnZva2UgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6Cgpg" + - "YGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3Yx" + - "L2NoYXQvY29tcGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9B" + - "UElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAn" + - "ewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3Ry" + - "ZWFtIjogdHJ1ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVz" + - "ZXIiLAogICAgICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpU" + - "aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFt" + - "ZT5gIHNvIHRoZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJl" + - "c3BvbnNlcyBBUEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxt" + - "Lmludm9jYXRpb24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246" + - "IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlv" + - "bi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwt" + - "bmFtZT4iLAogICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZD" + - "Ri4iCiAgfScKYGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NU" + - "ICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAi" + - "QXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5" + - "cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNv" + - "bmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNr" + - "IgogIH0nCmBgYAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRl" + - "cGxveW1lbnQncyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVy" + - "KSBhbmQgc3VyZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIg" + - "aXMgZG9uZSB3aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVs" + - "ZXRlIC0tZnVuY3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNv" + - "bmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGgg" + - "dGhlIGRlcGxveW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBs" + - "b3kgdGltZXMgY2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxh" + - "dGVuY3kgb24gY29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1W" + - "TSB0ZXN0cykuIEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3Jl" + - "YXRlYCBjb21tYW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2Ug" + - "Ym90aCBgZ3B1YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQ" + - "LkdQVS5IMTAwXzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRo" + - "ZSBmdW5jdGlvbidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNv" + - "bXB1dGUtcGxhbmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hl" + - "Y2sgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGlu" + - "IGBJbWFnZVB1bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAD0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZh" + - "aWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBO" + - "VkNGIGluc3RhbGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdv" + - "cmtpbmciLiBEb24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhl" + - "IHZlcmRpY3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAt" + - "YyAuCmBgYAoKVGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0" + - "YDoKCi0gKipgaGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hh" + - "dCB0aGV5J3JlIGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZm" + - "ZXJlbnQgbGF5ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFk" + - "ZWRgKiog4oCUIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50" + - "cyBsaXN0IHdpbGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJ" + - "bml0aWFsaXppbmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tP" + - "ZmYuCi0gKipgZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQg" + - "dGhlIGNsdXN0ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipg" + - "dW5rbm93bmAqKiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxm" + - "IG1heSBiZSBkb3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoK" + - "IyMgMi4gRHJpbGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFk" + - "eSBjb21wb25lbnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fz" + - "c2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46Cgpg" + - "YGBzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8" + - "bnM+IDxwb2Q+IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2" + - "ZW50cyArIGxhc3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2Rg" + - "IHVubGVzcyB0aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55" + - "IGluLXByb2dyZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9t" + - "IHwgTGlrZWx5IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRy" + - "YS0wIFBvZEluaXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9y" + - "IFBWIHN0dWNrIGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJt" + - "IGEgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNo" + - "IHN0b3JhZ2VjbGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7" + - "InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdg" + - "IHwKfCBgaGVsbSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0" + - "byBiZWNvbWUgYXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBB" + - "UEkgQ1JEcyBub3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2Yt" + - "Z2F0ZXdheS1yb3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwg" + - "SW5zdGFsbCBlbnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9l" + - "bnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAt" + - "LWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1Mg" + - "Zm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FU" + - "IHdhcyBpc3N1ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0" + - "J3Mgc3RvcmVkIGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRl" + - "IC0tY2x1c3Rlci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29t" + - "cHV0ZSBwbGFuZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFs" + - "Z29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNs" + - "dXN0ZXIgcmVnaXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29u" + - "dHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAg" + - "YWdhaW4gfAp8IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVy" + - "YXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5" + - "IGJ1aWxkcyBpdCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Et" + - "b3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2gg" + - "cGF0aCBpcykgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUg" + - "ZXJyb3IpIHwgT2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBp" + - "biBNKzUgZm9sbG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIg" + - "YDZhYTU3MDRgIHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYg" + - "dGhleSBjb25maXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIg" + - "cmVsZWFzZSBpbiByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3Rh" + - "bGwgbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBG" + - "SVJTVDsgdGhlbiBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAt" + - "LWNsdXN0ZXItaWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJt" + - "IGJlZm9yZSBhbnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRp" + - "b24gaXMgZGVzdHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBu" + - "b3QgdG8gZG8KCi0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRp" + - "YWdub3N0aWMgb25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVz" + - "cyB0aGUgdXNlciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9w" + - "b3NlIGBrdWJlY3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQg" + - "aXQgZGVsZXRlcyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGgg" + - "ZGlmZmVyZW50IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBg" + - "c3RhdHVzYCAvIGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQg" + - "TlZDRiBmcm9tIHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZD" + - "RiBvbiBhIGZyZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBU" + - "aGlzIGlzIHRoZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0g" + - "dGhlIHRvcG9sb2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9s" + - "IHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxp" + - "dCAoY29udHJvbCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBC" + - "LCBwcm9kdWN0aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhl" + - "IGAtLWNsdXN0ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/" + - "IEV4YW1wbGVzOiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZv" + - "ciBwcm9kdWN0aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcg" + - "Y29udGV4dCBuYW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoy" + - "LiBQcmVwYXJlIHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxv" + - "Y2FsIGszZC4gT25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1t" + - "ZWRpYXRlbHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5k" + - "cG9pbnRzLiBGb3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1t" + - "ZWQgYW5kCiAgIHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBi" + - "YWxhbmNlciBiZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBu" + - "b3QgYWxyZWFkeSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hh" + - "cmVkIEdhdGV3YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQg" + - "c3RhbmRhbG9uZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBh" + - "cHBseSAtZiBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3Jl" + - "bGVhc2VzL2Rvd25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3Ig" + - "bmFtZXNwYWNlIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMg" + - "ZXNzIHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFj" + - "ZSIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUK" + - "CiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7" + - "IGRvCiAgICAga3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZv" + - "cm09dHJ1ZSAtLW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVn" + - "IG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9u" + - "IHYxLjEuMyBcCiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUg" + - "YXBwbHlpbmcgdGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJv" + - "bGxlciBvd25zCiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5p" + - "ZmVzdCB1bnRpbCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2Vydmlj" + - "ZWAgY29uZmlndXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBj" + - "b250cm9sbGVyIERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVy" + - "IGFnZSBvciBleGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xV" + - "U1RFUl9OQU1FPSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAt" + - "LW5hbWUgIiRFS1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5l" + - "dGVzTmV0d29ya0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1v" + - "dXRwdXQgdGV4dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1s" + - "b2FkLWJhbGFuY2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBg" + - "VHJ1ZWAgc2VsZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24u" + - "Y29tL2Vrcy9sYXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3Ro" + - "ZXJ3aXNlLCBhIHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExv" + - "YWQgQmFsYW5jZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJt" + - "IHRoYXQgdGhlIGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNs" + - "b3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExv" + - "YWQgQmFsYW5jZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAg" + - "VGhlIGFwcGxpZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBD" + - "b250cm9sbGVyLiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2Vydmlj" + - "ZWAgbWFwIGJlZm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZp" + - "Y2U6CiAgICAgbG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFu" + - "bm90YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFs" + - "YW5jZXItc2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5" + - "IEFXUyBjbG91ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3" + - "aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAg" + - "ICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxi" + - "IgogICBgYGAKCiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZh" + - "Y2luZyBsb2FkIGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdh" + - "Y3kgYG5sYmAgc2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxl" + - "ciB0YXJnZXQgdHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIg" + - "U2VydmljZQogICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWpl" + - "Y3RzIG9uZSBTZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0" + - "aGUgQVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52" + - "b3kgU2VydmljZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxh" + - "Y2UgdGhlIG1hcCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBi" + - "ZWZvcmUgYXBwbHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1w" + - "bGU6IHVzZSBBV1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAt" + - "ZiAtIDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQog" + - "ICBraW5kOiBFbnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNw" + - "YWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAg" + - "dHlwZTogS3ViZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNl" + - "OgogICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVy" + - "bmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAg" + - "c2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10" + - "eXBlOiAiaW5zdGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9h" + - "d3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlW" + - "ZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFz" + - "cwogICBtZXRhZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1l" + - "OiBnYXRld2F5LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJh" + - "bWV0ZXJzUmVmOgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2lu" + - "ZDogRW52b3lQcm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVy" + - "c2lvbjogZ2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1l" + - "dGFkYXRhOgogICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0" + - "ZXdheQogICBzcGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgog" + - "ICAgIC0gbmFtZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAg" + - "ICAgICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206" + - "IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoK" + - "ICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAg" + - "ICAgIHByb3RvY29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVz" + - "OgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAg" + - "ICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZj" + - "Zi9wbGF0Zm9ybTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMg" + - "bXVzdCBiZSB1bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52" + - "b3lTZXJ2aWNlLmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0" + - "aGUgZ2VuZXJhdGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9u" + - "cwogICBvbiB0aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2" + - "YWx1ZXMgYW5kIHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNU" + - "RVJfTkFNRT0ibnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAg" + - "ZXhwb3J0IFJFR0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFD" + - "RT0iZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3" + - "YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBl" + - "eHBvcnQgR1JQQ19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRI" + - "VFRQX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIg" + - "XAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBr" + - "dWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19H" + - "QVRFV0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGlt" + - "ZW91dD0xMG0KCiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FU" + - "RVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAt" + - "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQ" + - "Q19HQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdl" + - "dCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0" + - "dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBl" + - "eGl0IDEKICAgdGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0" + - "IFNUQUNLX0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJ" + - "TmAgdG8gdGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRl" + - "cy4KICAgRm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0" + - "aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAu" + - "bnZjZi1jbGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9B" + - "RERSfSIKICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3Jw" + - "Y191cmw6ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91" + - "cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlz" + - "LiR7U1RBQ0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBp" + - "bnZva2VfaG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2Vy" + - "dmljZV9pZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAg" + - "IGFwaV9rZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lk" + - "OiAic3ZjQG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YK" + - "ICAgYGBgCgozLiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhl" + - "IHRvcG9sb2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAg" + - "ICAgLS1qc29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3Vi" + - "ZWN0bCBvbiBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNr" + - "IC0tcHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAt" + - "LWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBq" + - "cSAtYyAuCiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZh" + - "aWxzIChgInBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBt" + - "ZXNzYWdlYCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0" + - "byBpbnN0YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlm" + - "IG5lZWRlZC4gYG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAg" + - "IHVzZXIgZG9lcyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlz" + - "IHRocm91Z2ggdGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBj" + - "b21wdXRlLW9ubHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09O" + - "TCBldmVudCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAg" + - "ICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05D" + - "QV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoK" + - "ICAgRm9yIHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6Cgog" + - "ICBgYGBzaAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBs" + - "YW5lIgogICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIK" + - "CiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD0iJHtDT05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ9IiR7Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NM" + - "VVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249" + - "IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBg" + - "cGhhc2Vfc3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBo" + - "YXNlX3Byb2dyZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChy" + - "ZXNvdXJjZSBjb3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0" + - "IHBlcnNpc3RzIGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0" + - "b3AgYW5kIHN1cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUu" + - "CiAgICAgRGVjaWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJl" + - "LXJ1biBub3cgd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRy" + - "eUFmdGVyU2VjYCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRl" + - "cl9yZW1lZGlhdGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0" + - "CiAgICAgYWN0IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25l" + - "LiBQcmludCBjbHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRo" + - "IHN0YXR1cy4gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFu" + - "ZCBleHBlY3QKICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFn" + - "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4g" + - "T3B0aW9uYWxseSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZv" + - "a2UubWRdKGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4K" + - "ICAgaW52b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3Qg" + - "YSBmcmVzaCBjbHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9u" + - "IGNoYXJ0IHB1bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlz" + - "IGlkZW1wb3RlbnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVp" + - "c2l0ZS4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55" + - "d2F5KS4KLSBJZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9u" + - "LWludGVyYWN0aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRg" + - "IGludGVyYWN0aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3" + - "a3MubWRVVAUAAQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBz" + - "dG9wcGVkIGF1dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElD" + - "TVMuIFRoZSBLOHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRl" + - "ZCBhbmQgdGhlIEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byBy" + - "b3RhdGUKCi0gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5p" + - "by9uYW1lPW52Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4v" + - "cmVnaXN0ZXJgIHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3" + - "aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1p" + - "c21hdGNoLCBub3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJv" + - "bC1wbGFuZSBLOHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVw" + - "cwoKMS4gQ29uZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3Qt" + - "cmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0" + - "aGUgcm93IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioq" + - "IEZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQ" + - "SSAoYmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEv" + - "andrc2ApOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlk" + - "PTxpZD4gLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZl" + - "dGNoZXMgSldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0" + - "byBJQ01TLiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBu" + - "dmNmLWNsaSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0" + - "ZWRBdGAgYWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAu" + - "a3ViZXJuZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMg" + - "c2hvdWxkIHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRv" + - "bid0IGBjbHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElE" + - "ICsgZ3JvdXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVk" + - "ZXBsb3kgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkg" + - "ZWRpdCBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0" + - "ZXMgSUNNUyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQg" + - "Y2x1c3RlciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWls" + - "dXJlIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1j" + - "YWxsb3V0IGhlYWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1h" + - "dXRoLWNhbGxvdXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29p" + - "ZGNfYnlfY2x1c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAg" + - "Y29uZmlnbWFwIGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25v" + - "c2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhv" + - "c2UgY2hlY2tzLgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMg" + - "VGVhciBkb3duIGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFy" + - "ZG93biBkZXN0cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBz" + - "ZWFsIGtleXMsIHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1" + - "c2VyIGJlZm9yZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBg" + - "dW5pbnN0YWxsYCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVh" + - "cmRvd24gc3VyZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0r" + - "MTEpOgoKfCBUaWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18" + - "LS0tfAp8IFBlci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5" + - "KSB8IGBpbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVg" + - "IHwgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxh" + - "bmVgIHwKfCBPcmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVw" + - "IC0tY2x1c3Rlci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFs" + - "bGAgfAoKVXNlIGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9y" + - "IEdpdE9wcyAoY29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBl" + - "bGluZXMuIEFsd2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8" + - "IE1vZGUgfCBMaXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0t" + - "fC0tLXwtLS18LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0" + - "b3JzKSB8ICoqTm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1p" + - "dHMgcGhhc2UgcGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwg" + - "RXZlbnQgc3RyZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAo" + - "cHJpbWl0aXZlcykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBg" + - "aGVsbSBnZXQgbWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286" + - "CgotIGBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBv" + - "cmNoZXN0cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFs" + - "bCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBt" + - "ZSB0aGUgWUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFM" + - "V0FZUyBwcmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5" + - "IC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVu" + - "LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAK" + - "CiMjIFdoZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0t" + - "LXwtLS18CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8" + - "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1l" + - "IHRoZSBzdGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1M" + - "IHRvIGNvbW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "dW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBk" + - "ZWxldGUueWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1" + - "dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAi" + - "SnVzdCByZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBk" + - "b3duIC0tY2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJt" + - "IHNjb3BlIHdpdGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChj" + - "b21wdXRlIHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNv" + - "bXB1dGUgcGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9u" + - "IHRoaXMgY2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4i" + - "IChJbXBvcnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2" + - "ZT10cnVlfHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJz" + - "aXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1" + - "bHQgdXNlciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3Zl" + - "LXBlcnNpc3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxl" + - "LioqIgoKIyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBg" + - "CgpUaGlzIGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhl" + - "bG0gcmVsZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0" + - "IHdvdWxkIGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21t" + - "YW5kc1tdYCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxt" + - "IHVuaW5zdGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgoj" + - "IyMgMy4gRXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAt" + - "LWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYu" + - "Ny4xKToKCjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoy" + - "LiBSZXNvbHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1" + - "bnMgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBw" + - "b2xscyB1bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNl" + - "fHByb21wdGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1" + - "dGUgcGxhbmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBo" + - "ZWxtIHVuaW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVy" + - "CjUuIFJlbW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVu" + - "dGApCjYuIFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMg" + - "NC4gVGVhciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0" + - "aGUgb3JjaGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMg" + - "YWxzbyBnb2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5l" + - "YCByZWZ1c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNN" + - "Uy4gVXNlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipv" + - "bmx5KiogaWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFu" + - "ZXMgKFBTQVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3Rh" + - "cnQgZmFpbGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVl" + - "bmNlIGJlZm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcK" + - "CmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhp" + - "cyBpdGVyYXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0" + - "aGUgcGVyLWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1h" + - "bGwtY29uY3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRy" + - "b2wtcGxhbmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhl" + - "IGNsdXN0ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHBy" + - "b21wdCBmb3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhh" + - "cyBBcmdvIC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0" + - "ZSBwbGFuZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21w" + - "dXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3Ig" + - "Y29tbWl0cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxp" + - "ZXMgdGhlIGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNv" + - "bW1pdCAtbSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBB" + - "cmdvIHN5bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhl" + - "IElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJf" + - "SUQKYGBgCgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1" + - "c3RlciBkZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93" + - "aW5nIEdpdE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHks" + - "IG9yIHVzZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkK" + - "CklmIGBkb3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1h" + - "bmQqKi4gVGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNr" + - "aXBzIHJlbGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAt" + - "LWlnbm9yZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQ" + - "aGFzZSA0ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBz" + - "ZWNvbmQgcnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNh" + - "dGVnb3J5OiAiaGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRp" + - "YXRpb24iYCDihpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0" + - "PeKApmAgKHRoZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4g" + - "cmUtcnVuIGBkb3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1h" + - "dGlvbi4KLSBgZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVy" + - "X3JlbWVkaWF0aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIg" + - "dXNlciBwYXNzZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3Qu" + - "IFJlLXJ1biB3aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJv" + - "bXB0YCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1" + - "cmZhY2UgYGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4g" + - "U1RPUC4gRG8gbm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlz" + - "IGNvbmZpcm0KCkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5z" + - "dGFsbGAgaW52b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBT" + - "dGF0ZSB0aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hh" + - "dCdzIGxvc3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5j" + - "cC1sb2NhbGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElD" + - "TVMiKS4KLSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3Rh" + - "dGUgdGhhdCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRl" + - "ZCBhbmQgdGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNl" + - "ciBjb25maXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQt" + - "Y2x1c3RlcnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUg" + - "b3JwaGFuZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBl" + - "eHBsYWluaW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBp" + - "cyBvbiBhIENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gK" + - "IyBQZXIgY29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0" + - "YWxsIG52Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRv" + - "ciAtbiBudmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVy" + - "IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0" + - "ZW0KCiMgRHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + - "ZXItaWQ9PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250" + - "ZXh0KToKY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2Vz" + - "IGhlbG1maWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBz" + - "dGFjayBidW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4v" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1h" + - "bnVhbCBwYXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGlu" + - "c3RhbGxlZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIg" + - "YXNrcyAid2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhl" + - "IFN0YXRlZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5" + - "IGBoZWxtIHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRp" + - "b25hbGx5IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8g" + - "d2lwZSBjb21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQK" + - "YGBgCgpPciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAt" + - "biBjYXNzYW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0" + - "ZW0gLS1hbGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0" + - "aXZlIHN0ZXAuClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIj" + - "IGBudmNmLWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdh" + - "eXMgcGFpciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtl" + - "eGl0LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1o" + - "b3N0ZWQgbGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8" + - "LS0tfC0tLXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFBy" + - "ZS1mbGlnaHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8" + - "IFBlci1yb2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2Ug" + - "aGVhbHRoeSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRg" + - "IGVsYXBzZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + - "LW5hbWU9WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFt" + - "aW5nIGV2ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8" + - "IGBzZWxmLWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFs" + - "bCBvZiB0aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0" + - "YWxsIC0tY29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZ" + - "QU1MIG9uIHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhv" + - "c3RlZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVy" + - "IGNsdXN0ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9u" + - "ZSBpbnZvY2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rl" + - "ci1uYW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5" + - "KSBzdGRvdXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5l" + - "czsgZm9yIGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9z" + - "dGVkIHVwIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwg" + - "SlNPTkwgb24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8Cnwg" + - "YHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29t" + - "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3Rk" + - "ZXJyIHwgRm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3Rh" + - "bGwuIENQIG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5h" + - "bWU9WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pT" + - "T05MIHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5z" + - "dGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0" + - "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5y" + - "ZWdpc3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9u" + - "IHRoYXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJp" + - "bWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVz" + - "cyB8IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0t" + - "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQg" + - "bWFuaWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8g" + - "YGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBg" + - "aW5zdGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9" + - "WCBbLS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6" + - "IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBp" + - "biBJQ01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXIt" + - "bmFtZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVz" + - "dHJhdG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJv" + - "bCBwbGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1" + - "cnJlbmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0" + - "aXZlIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9y" + - "IGRyeS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBo" + - "ZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBh" + - "Y3R1YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJw" + - "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVgg" + - "LS1uY2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBh" + - "IEpXS1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBz" + - "dGFuZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lz" + - "dGVyZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1" + - "c3RlciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1q" + - "c29uYCBmb3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNs" + - "dXN0ZXItaWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBB" + - "ZnRlciBLOHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVs" + - "ZXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBj" + - "b25maXJtIHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + - "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJ" + - "TEVgIHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZl" + - "cnNpb24gSUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1v" + - "ZGVsc1tdLmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9y" + - "ZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1" + - "bmN0aW9uIGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0" + - "aW9uIGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0" + - "YWRhdGEgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1p" + - "ZD1WSUQgLS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVu" + - "Y3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2Rl" + - "bC11cGRhdGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNg" + - "IHVzZXMgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + - "PTxsaW1pdD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFn" + - "cy5tZCkgfAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNj" + - "aGVkdWxlIGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykg" + - "fAp8IGBmdW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + - "RCBbLS1qc29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZF" + - "XHxERVBMT1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAt" + - "LWlucHV0LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBm" + - "dW5jdGlvbiBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAg" + - "fCBTdG9wIGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9u" + - "IGludm9rZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJl" + - "cXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9r" + - "ZWQgdGhyb3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0" + - "aW9uLWlkPi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlk" + - "PUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoq" + - "REVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFu" + - "ZHMgcmVxdWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBO" + - "VkNGX0JBU0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBh" + - "IGZyZXNoIHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRl" + - "YCBhbmQgaW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFs" + - "dWU7IGNoZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0" + - "aCBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1" + - "biBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5l" + - "dyBrZXkuCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRh" + - "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdl" + - "PUlNR2AgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0" + - "YXRlOyB1c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sg" + - "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hh" + - "cnQ9Q0hBUlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMg" + - "YC0taW1hZ2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEg" + - "dGFzayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + - "IGNvbmZpZ3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0" + - "PU5dYCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVz" + - "ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JF" + - "RGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURF" + - "RF9NQVhfUVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNr" + - "IGRldGFpbHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBg" + - "dGFzayBldmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRz" + - "IGZvciBhIHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBh" + - "cnRpZmFjdHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBg" + - "cmVzdWx0SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQg" + - "c3VwcG9ydGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0" + - "YXNrIHwgTm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRl" + - "IFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElE" + - "ICsgY3VycmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBl" + - "eHBsaWNpdGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBu" + - "b3QgdHJlYXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8" + - "CnwgYHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + - "VXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1" + - "cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBw" + - "cmVzZXJ2ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0t" + - "dGFzay1pZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNr" + - "cyBpbiBvbmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3Rl" + - "cyB8CnwtLS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtl" + - "eXMgdmlhIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1j" + - "bGkuc3RhdGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAo" + - "ZnVuY3Rpb24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwg" + - "bGFzdCBlbmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1o" + - "b3N0ZWQgc3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNr" + - "XSBbLS1kZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlz" + - "IHwgRGVmYXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFu" + - "ZCBhIHRhc2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMg" + - "b25lIG9ubHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJh" + - "dGUgLS12YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVy" + - "YXRlZCBrZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5j" + - "ZSAoTlZDRiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1r" + - "ZXkgbGlzdGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1z" + - "Y29wZWQga2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJl" + - "dm9rZSBLRVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiog" + - "fAp8IGBhcGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0" + - "YXRlIHwgfAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0" + - "YWxsIGFsbCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxz" + - "L2AgYW5kIGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRp" + - "cmVjdG9yaWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJl" + - "bW92ZSBvbmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNl" + - "IHNraWxscyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWlu" + - "IHwKfCBgYWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBG" + - "b3IgZGVidWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEg" + - "YW5kIGVtYmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEj" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVz" + - "CgpTdGFibGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0" + - "cnkgLyBzdXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMg" + - "fAp8LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0" + - "YWxsIGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3Ig" + - "fCBIZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5k" + - "OyBZQU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEdh" + - "dGV3YXkgQVBJIENSRHMgbWlzc2luZzsga3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9y" + - "YWdlQ2xhc3MgYWJzZW50IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsg" + - "YC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50" + - "IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBv" + - "dXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWRuJ3QgcGFzcyBi" + - "ZWZvcmUgZHVyYXRpb24gfAp8IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVC9TSUdURVJNIHwg" + - "VXNlciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQgfAoKIyMgSG93IGFu" + - "IGFnZW50IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwK" + - "fCBgMGAgfCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRl" + - "cnIgdG8gdXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkg" + - "bmVlZCBhIGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxl" + - "ZCBjaGVja3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUg" + - "dXNlciBmaXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGlu" + - "dGVyYWN0aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91" + - "dCB1c2VyIE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2Vy" + - "LCBkaWcgaW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwg" + - "RG9uJ3QgcmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29u" + - "ZmlybSBiZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoK" + - "RXZlcnkgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNP" + - "TiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAo" + - "YXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVy" + - "X3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwg" + - "YW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlz" + - "IGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xp" + - "c2ggZnJvbSBzdGRlcnIuClBLBwhzp1pk1QYAANUGAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + - "zhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3Vi" + - "Y29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxg" + - "IHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2Vg" + - "IHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZ" + - "LCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVu" + - "dCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPeKApmAgfCBDb250" + - "cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9g" + - "IFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrPeKApmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2Fs" + - "IHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVk" + - "IGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx84oCmYCB8IEhlbG1maWxlIGVu" + - "dmlyb25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3IgcmVsZWFz" + - "ZXMgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwg" + - "YGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQg" + - "c2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1M" + - "LCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29u" + - "YCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4" + - "dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBv" + - "dXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7" + - "IGJsb2NrIHVudGlsIHBhc3MgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8" + - "IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29u" + - "dGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQg" + - "Zm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMt" + - "dXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVy" + - "IHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hl" + - "Y2sgLS1wcmVgIG9ubHk7IHNraXAgYWxsIGt1YmVjdGwgY29udGFjdCB8IGBmYWxzZWAgfAoKIyMg" + - "YGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxh" + - "bmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxl" + - "Y3RzIGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJl" + - "LWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzIHwgYGZhbHNl" + - "YCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAg" + - "fAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwK" + - "fCBgLS1hbGxgIHwgRXZlcnkgY2F0ZWdvcnkgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUg" + - "TkFNRWAgfCBDbHVzdGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hlY2tzIHwgLSB8CnwgYC0t" + - "c2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHBy" + - "b2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBp" + - "biBgZGVmYXVsdGAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBm" + - "YWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMg" + - "YXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEK" + - "U2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBp" + - "dCBhbmQgcmVtb3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRl" + - "eHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZg" + - "IHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xV" + - "U1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFn" + - "ZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJv" + - "bSB0aGUgcmVnaXN0cnkuIFVuc2V0IGV2ZXJ5d2hlcmUgc2tpcHMgdGhlIHByb2JlIHdpdGggYSB3" + - "YXJuaW5nIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0OnBvcnQs" + - "Li4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yIHByb2Jl" + - "cyBmb3IgcmVhY2hhYmlsaXR5LiBgbnZjci5pb2AgaXMgYWx3YXlzIHByb2JlZC4gUmVwZWF0YWJs" + - "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JF" + - "R0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IGBu" + - "dmNyLmlvYCBvbmx5IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8" + - "IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFs" + - "aWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIGxvb2tzIGZvciBvbmUgaW4gdGhlIE5W" + - "Q0YgbmFtZXNwYWNlcyBhbmQgY29waWVzIGl0IGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBG" + - "YWlsaW5nIHRoYXQsIGFuZCBvbmx5IGZvciBhbiBpbWFnZSBvbiBhbiBOR0MgcmVnaXN0cnksIGl0" + - "IG1pbnRzIG9uZSBmcm9tIGBOR0NfQVBJX0tFWWAgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1j" + - "bHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUg" + - "ZW50aXJlbHkuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJ" + - "T05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9i" + - "LCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcu" + - "IEEgbGF0ZXIgY2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3VyczsgdGhlIHJlc3VsdCBw" + - "cmludHMgdGhlIGBrdWJlY3RsIGRlbGV0ZWAgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cg" + - "fCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2Ny" + - "aXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJhbnNjcmlwdCBpcyBu" + - "b3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhp" + - "cyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMj" + - "IGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAo" + - "cmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2Yt" + - "ZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2Vz" + - "dC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMg" + - "d2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5B" + - "TUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0" + - "ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRj" + - "aC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25l" + - "bnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRz" + - "YCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAt" + - "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJ" + - "RGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9u" + - "IHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJv" + - "bSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVh" + - "ZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNw" + - "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1m" + - "b3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBl" + - "IHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVt" + - "YW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8" + - "CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBg" + - "N2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBT" + - "Q09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3Jg" + - "IHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdl" + - "bmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5k" + - "ZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91" + - "cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNp" + - "ZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1" + - "bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFt" + - "ZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWlu" + - "ZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBg" + - "LS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8" + - "IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlw" + - "ZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBv" + - "ciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBm" + - "b3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNl" + - "cnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFy" + - "dC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxz" + - "IE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUg" + - "fCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5h" + - "bWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2Vu" + - "UmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+" + - "LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEw" + - "MDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBp" + - "bmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxs" + - "bS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVx" + - "dWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8" + - "IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291" + - "bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3Rp" + - "bmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwK" + - "CkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlw" + - "ZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1D" + - "b25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1" + - "cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0" + - "aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEv" + - "ZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9i" + - "aW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJh" + - "bmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29t" + - "bWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1" + - "bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWlu" + - "dXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0" + - "aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAw" + - "MC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hh" + - "cnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxt" + - "LWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBo" + - "ZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZp" + - "Z2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRo" + - "ZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + - "ZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88" + - "bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24s" + - "IGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlv" + - "bnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Np" + - "b24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90" + - "LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rp" + - "b24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBk" + - "YXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0" + - "ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxt" + - "LW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZv" + - "ciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkg" + - "UFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJh" + - "dGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJy" + - "aWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZ" + - "YCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1" + - "cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJp" + - "b3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVw" + - "ZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdN" + - "ZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVh" + - "dGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMu" + - "CgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklM" + - "RWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1" + - "c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5j" + - "dGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVg" + - "IHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8" + - "IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2Fz" + - "IHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBg" + - "LS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsg" + - "c2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRh" + - "cmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMj" + - "IGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5k" + - "ZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRh" + - "c2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1a" + - "XC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1p" + - "bnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAg" + - "fCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1w" + - "bGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1h" + - "Z2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1j" + - "aGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkg" + - "ZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0" + - "YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGgg" + - "YXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBg" + - "LS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGlu" + - "c3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFy" + - "Z3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBl" + - "LmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYg" + - "TkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUg" + - "fCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlh" + - "YmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1l" + - "IERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0" + - "SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVl" + - "ZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08g" + - "ODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBE" + - "VVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNl" + - "cnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAg" + - "fCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMt" + - "bG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5h" + - "bWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0" + - "ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBh" + - "cnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJ" + - "YCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRB" + - "R11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhU" + - "YCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8" + - "IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnkt" + - "aWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNl" + - "cy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + - "ClBLBwjA1FCIwS4AAMEuAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBU" + - "cm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiBy" + - "ZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxl" + - "ZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNo" + - "b3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoK" + - "IyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + - "fC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24n" + - "dCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJu" + - "ZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBu" + - "b3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxl" + - "I2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVs" + - "bS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFs" + - "bGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9j" + - "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1n" + - "YXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xh" + - "c3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUg" + - "b25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlv" + - "bnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUi" + - "fX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwg" + - "bnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52" + - "aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0" + - "YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2" + - "IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5l" + - "ZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBu" + - "dmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoK" + - "fCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4g" + - "dG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBh" + - "bmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBv" + - "ciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCBy" + - "ZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShz" + - "KSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBs" + - "YW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8" + - "CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkg" + - "fCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZj" + - "Zi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52" + - "b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + - "IHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFg" + - "IHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRl" + - "ZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRy" + - "YS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVu" + - "Y3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3Qg" + - "dGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUu" + - "SDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVy" + - "IC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVS" + - "X1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5v" + - "bi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVs" + - "bWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkg" + - "YmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQg" + - "fCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52" + - "Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8" + - "IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxv" + - "Y2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1j" + - "IDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVz" + - "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFj" + - "a09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAg" + - "fCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciBy" + - "ZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxl" + - "IGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lz" + - "dGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlk" + - "IEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9l" + - "c24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwg" + - "YG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24g" + - "cG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRp" + - "YWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "IC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8" + - "IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJl" + - "YW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1j" + - "YWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVy" + - "bmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBT" + - "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVh" + - "dGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3Ru" + - "YW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5" + - "IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVn" + - "aXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8" + - "IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJl" + - "Z2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQ" + - "VDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hl" + - "ZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBg" + - "a3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBh" + - "cHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQAB" + - "AKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246" + - "ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUg" + - "YW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1" + - "ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVz" + - "IG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQg" + - "Y29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24s" + - "IENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1t" + - "YW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2Nh" + - "bCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxv" + - "dyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhl" + - "bG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwg" + - "a3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8" + - "bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdz" + - "OiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxh" + - "bmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQs" + - "IHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0" + - "YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1j" + - "b3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtu" + - "dmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwg" + - "Y29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVs" + - "bC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1m" + - "aWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgoj" + - "IE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZv" + - "ciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUg" + - "YnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVw" + - "Z3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmls" + - "ZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9u" + - "VHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVx" + - "dWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2Ag" + - "cGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12" + - "ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBg" + - "YmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUt" + - "c3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250" + - "cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21w" + - "dXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0" + - "b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5H" + - "QzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4v" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBk" + - "b3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4K" + - "YGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFu" + - "ZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24g" + - "YXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkg" + - "dG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZp" + - "bGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwg" + - "bW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4g" + - "bGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9u" + - "ICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIK" + - "YGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2Jh" + - "bC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9u" + - "bWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9y" + - "IEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8v" + - "ZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoK" + - "IyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVu" + - "dHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmly" + - "b25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgK" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBj" + - "b25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwg" + - "Y29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88" + - "ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRk" + - "ZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNl" + - "KQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdo" + - "IHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxl" + - "Y3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVk" + - "IGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJy" + - "aWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVl" + - "czpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5n" + - "LWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0" + - "ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSBy" + - "ZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + - "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSBy" + - "ZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5" + - "PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2Vj" + - "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1" + - "c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUg" + - "cmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFn" + - "ZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQg" + - "cmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBh" + - "cmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBw" + - "dWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRo" + - "ZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJl" + - "IHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0Nf" + - "QVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAg" + - "IiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9u" + - "IDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNz" + - "d29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoK" + - "PiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBw" + - "ZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNw" + - "YW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFs" + - "bAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVn" + - "aXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJl" + - "bnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4g" + - "Zmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRg" + - "IChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5" + - "KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVp" + - "dGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJl" + - "Zm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFz" + - "c3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWlu" + - "Zwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmds" + - "ZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNv" + - "bW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0" + - "byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVn" + - "aXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQg" + - "aW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2Rl" + - "IG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxs" + - "eSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwph" + - "Ym92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJl" + - "Z2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBs" + - "ZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAg" + - "ICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBh" + - "bHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + - "aXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAg" + - "PiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNv" + - "IGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIg" + - "aW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4g" + - "U29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBz" + - "Oi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5j" + - "b21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFs" + - "LmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBv" + - "aW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBz" + - "Oi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pg" + - "LCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4v" + - "PG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBg" + - "Z2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3Zl" + - "LiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9t" + - "YXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2Vzcyks" + - "IHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5l" + - "ZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwg" + - "Y3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwu" + - "aW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSBy" + - "ZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNy" + - "ZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + - "ZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVk" + - "ZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciBy" + - "ZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRo" + - "ZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRv" + - "bWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVz" + - "IHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdh" + - "eSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6" + - "CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXkt" + - "bmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVz" + - "c2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJl" + - "c3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNv" + - "bmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3Mg" + - "Zm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpG" + - "b3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBz" + - "dWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBH" + - "QVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9k" + - "dWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNv" + - "cmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywg" + - "a2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNs" + - "aWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVz" + - "Lm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3Rz" + - "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBg" + - "Cgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhl" + - "IHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBi" + - "dXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2Fu" + - "ZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElm" + - "IHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNl" + - "IHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNy" + - "YXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50" + - "aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUg" + - "dmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50" + - "IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwg" + - "UGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + - "bmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVs" + - "ZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXBy" + - "b3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlv" + - "bmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVk" + - "ZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8" + - "IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFi" + - "aWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1v" + - "bml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAt" + - "QSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5" + - "IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1" + - "c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUg" + - "c3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUg" + - "b25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFk" + - "ZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2" + - "YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywg" + - "c2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGlu" + - "Y2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVu" + - "YWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9u" + - "czoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzog" + - "e30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0" + - "aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQt" + - "c3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3" + - "YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVh" + - "ZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMg" + - "c3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJl" + - "Y29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5" + - "LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0" + - "ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBg" + - "CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5h" + - "YmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJl" + - "cm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwg" + - "Z3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5" + - "IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwg" + - "b3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdh" + - "dGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkg" + - "aXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlz" + - "YWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + - "dCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNr" + - "YWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91" + - "dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMg" + - "Y3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGlj" + - "IGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0" + - "dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJl" + - "ZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUg" + - "Y29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5z" + - "dGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29z" + - "ZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBm" + - "bG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5k" + - "CiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxl" + - "IGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFs" + - "bCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZp" + - "Y2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBl" + - "dmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRl" + - "YXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJk" + - "b3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRy" + - "b2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBg" + - "b3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBg" + - "aW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2Vy" + - "dmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vl" + - "ci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkg" + - "d2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQg" + - "bmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBt" + - "dXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUg" + - "dHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIg" + - "aGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRy" + - "b2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJu" + - "YWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBp" + - "bnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFk" + - "YXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZl" + - "IHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZl" + - "cmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJt" + - "YXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBi" + - "YXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3Bh" + - "Y2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52" + - "Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJy" + - "aWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoK" + - "V29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMg" + - "KGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBg" + - "Z2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1" + - "ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFk" + - "ZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFs" + - "dWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUg" + - "c3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAog" + - "IGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0" + - "ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + - "bAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + - "IH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAg" + - "ICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgx" + - "OTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAg" + - "IG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVz" + - "ZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCBy" + - "ZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBg" + - "Z2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFu" + - "ZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAg" + - "ICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0" + - "aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhl" + - "CmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVj" + - "dCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNl" + - "Y3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxs" + - "IFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNl" + - "cnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdl" + - "IGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVj" + - "YXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tl" + - "ci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12" + - "YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQ" + - "SV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4g" + - "T3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRg" + - "IChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNv" + - "bmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtl" + - "eT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2Nv" + - "dW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9j" + - "a2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVy" + - "Cj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBh" + - "cyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVz" + - "IGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFr" + - "ZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVs" + - "ZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBg" + - "YmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjol" + - "cycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25m" + - "aWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9u" + - "IGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5h" + - "bWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3Jr" + - "ZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0" + - "MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29r" + - "cyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBh" + - "bmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxl" + - "ZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAg" + - "QVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1B" + - "KQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVs" + - "bC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBl" + - "bmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + - "bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZj" + - "Zi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3Rl" + - "IChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1" + - "c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZl" + - "IGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtl" + - "eSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhl" + - "IHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50" + - "IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4g" + - "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8g" + - "b25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29t" + - "bWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9t" + - "YXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0Yg" + - "bmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVy" + - "LWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpg" + - "YGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + - "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + - "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgoj" + - "IDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9L" + - "RVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + - "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + - "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tl" + - "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIk" + - "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpk" + - "b25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAt" + - "ZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0" + - "YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0" + - "czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBn" + - "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFn" + - "ZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBg" + - "CgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChl" + - "LmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlB" + - "TUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwt" + - "c2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgoj" + - "IyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + - "ZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0" + - "bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50" + - "IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1" + - "c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZg" + - "ICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENo" + - "ZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5p" + - "dDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9w" + - "ZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYElu" + - "aXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0" + - "MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWdu" + - "YXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5" + - "IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBg" + - "b3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1v" + - "biBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRp" + - "b25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1z" + - "ZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVj" + - "ayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJj" + - "ZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMg" + - "YmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNg" + - "IGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxU" + - "X0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3Rp" + - "bGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + - "c3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + - "U1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMg" + - "fAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdl" + - "IGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdl" + - "IHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxl" + - "ZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBh" + - "Z2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50" + - "aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1h" + - "Y2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJl" + - "dHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0" + - "LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVk" + - "LCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJl" + - "LXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5" + - "IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCBy" + - "YW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwg" + - "dG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBw" + - "YXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRo" + - "ZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtp" + - "bmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5u" + - "b3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4g" + - "cmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFj" + - "ZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5j" + - "cGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0" + - "LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4g" + - "ZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBk" + - "ZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0" + - "aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBg" + - "bnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMg" + - "b24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5k" + - "IHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiBy" + - "ZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQK" + - "ZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMg" + - "YDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0" + - "aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + - "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJ" + - "ZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBg" + - "YXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpv" + - "YiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxv" + - "Y2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Yg" + - "am9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdh" + - "cyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBb" + - "ZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + - "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + - "cGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0" + - "dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJl" + - "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkg" + - "a2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAh" + - "AAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + - "cy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZl" + - "cnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBz" + - "dGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRv" + - "IHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAx" + - "LjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMu" + - "MTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBk" + - "aWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2" + - "YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lv" + - "bicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2Vx" + - "dWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2" + - "ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2lu" + - "IGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVy" + - "IHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVk" + - "IHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rp" + - "b24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNr" + - "aXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIg" + - "YXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBs" + - "YXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxl" + - "IHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5k" + - "IGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "aGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScg" + - "dG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3" + - "IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBp" + - "cyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNG" + - "IG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVw" + - "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5h" + - "bWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20g" + - "cmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJj" + - "ZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxl" + - "dGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + - "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + - "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBh" + - "bmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5k" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJl" + - "c291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNl" + - "ZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24g" + - "c3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1h" + - "bmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5v" + - "dCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92" + - "aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3Bs" + - "aXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBs" + - "YW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBz" + - "dGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2Vw" + - "YXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBw" + - "bHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhv" + - "c3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0" + - "aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + - "IHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxp" + - "ZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + - "cHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50" + - "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFs" + - "bGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNl" + - "X2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3Vy" + - "bCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGlj" + - "bXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3" + - "aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBL" + - "VUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RF" + - "Ul9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21z" + - "LXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlz" + - "IG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292" + - "ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBh" + - "Z2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxv" + - "dyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJB" + - "dXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4" + + "ICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyB8fCBleGl0IDIKICAg" + + "IC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVJfTkFNRSAt" + + "LXRva2VuPSROVkNGX0FETUlOX0pXVCAtLW5vbi1pbnRlcmFjdGl2ZSAtLWpzb24KICAgIC0gbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBncmVwICde" + + "eycgfCBqcSAtc2UgJ2FueSguW107IC52ZXJkaWN0ID09ICJoZWFsdGh5IiknCmBgYAoKTm90ZXM6" + + "CgotIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgIGlzIHJlcXVpcmVkIGluIENJOyBu" + + "ZXZlciB1c2UgaW50ZXJhY3RpdmUgYGluaXRgLgotIEFsd2F5cyBgLS1qc29uYCBmb3IgbWFjaGlu" + + "ZS1wYXJzaW5nLgotIGAtLWpzb25gIHdyaXRlcyBKU09OTCB0byBzdGRlcnIsIG5vdCBzdGRvdXQs" + + "IHNvIHJlZGlyZWN0IHdpdGggYDI+JjEgPi9kZXYvbnVsbGAgYmVmb3JlIGEgcGFyc2VyLgotIGBj" + + "aGVja2AgcmVwb3J0cyBpdHMgdmVyZGljdCBpbiBvbmUgYGZpbmFsYCBldmVudCwgd2l0aCBgc3Vj" + + "Y2VzczogZmFsc2VgIHdoZW4gYW55IGNoZWNrIGZhaWxlZCBhdCBlcnJvciBzZXZlcml0eS4gR2F0" + + "ZSBvbiB0aGF0IGV2ZW50OiBgY2hlY2tgIG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgLCBzbyBh" + + "IGNvbmRpdGlvbiBvbiBpdCBhbHdheXMgcGFzc2VzLiBSZXF1aXJpbmcgdGhlIGBmaW5hbGAgZXZl" + + "bnQgYWxzbyBmYWlscyB0aGUgc3RlcCB3aGVuIHRoZSBjb21tYW5kIGRpZXMgYmVmb3JlIGVtaXR0" + + "aW5nIGl0LgotIFNsdXJwIHdpdGggYGpxIC1zYCBiZWZvcmUgdGVzdGluZyBhIGNvbmRpdGlvbi4g" + + "V2l0aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2" + + "ZW50IGFsb25lLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBzbyBm" + + "aWx0ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0IGFw" + + "cGVuZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5hbCBz" + + "dGF0dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhlYWx0" + + "aHkiYC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1YmVj" + + "dGwgYXBwbHlgIOKAlCBpbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwgbGV0" + + "IHRoZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAgLSBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4g" + + "cmVuZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGlu" + + "c3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkgPiBy" + + "ZW5kZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0" + + "IGNvbW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29D" + + "RCBvciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIg" + + "dG91Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hp" + + "Y2ggbXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBzY3Jp" + + "cHQ6CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlk" + + "PSROQ0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9yZS1l" + + "eGlzdGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMg" + + "TXVsdGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55IGNv" + + "bXB1dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVwbG95" + + "X2NvbXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNURVI6" + + "IG5jcC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0gQ0xV" + + "U1RFUjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAgICAg" + + "LSBDTFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAgc2Ny" + + "aXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1uYW1l" + + "PSRDTFVTVEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAgICAg" + + "ICAtLWljbXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FETUlO" + + "X0pXVAogICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFjaCBw" + + "YXJhbGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdhaW5z" + + "dCB0aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMjIFBs" + + "YW4tb25seSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBp" + + "ZjogJENJX1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6" + + "CiAgICAtIHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rl" + + "ci1uYW1lPSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpz" + + "b24gfCB0ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4u" + + "anNvbgogICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBc" + + "YFxganNvblxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4" + + "aXRzIDAgd2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxp" + + "c3RzIGVhY2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBL" + + "BwiZ9g2l3Q0AAN0NAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1j" + + "bHVzdGVyIHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRl" + + "LXBsYW5lIG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5l" + + "cwoKVGhlIGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxh" + + "bmUgaXMgcmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29u" + + "dHJvbCBwbGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJF" + + "Q09ORklHPWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + + "bmUgfCBrdWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250" + + "cm9sLXBsYW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21wdXRl" + + "IHBsYW5lOgpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBhZG1p" + + "bkBncHUtZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52" + + "Y2YuZXhhbXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1ub24t" + + "aW50ZXJhY3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRlIHBs" + + "YW5lcyByZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1p" + + "ZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNbXSB8" + + "IHtuYW1lOiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENvbXB1" + + "dGUtcGxhbmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3Rs" + + "IGFjY2VzcyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBp" + + "cyBvcGVyYXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBw" + + "bGFuZSBmb3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1Ymxp" + + "YyBhcGkgZ2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMg" + + "cmVhY2hhYmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3Mg" + + "bmVlZGVkKToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxl" + + "LmNvbQoKIyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToK" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5j" + + "b20gXAogIC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNt" + + "cy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVy" + + "YWN0aXZlCgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29u" + + "dHJvbC1wbGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVz" + + "IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0" + + "dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBz" + + "cGVjaWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBs" + + "YW5lcyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAi" + + "ZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVw" + + "bG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFu" + + "Y2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJt" + + "YXhJbnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBg" + + "YAoKVGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxp" + + "bWl0cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01T" + + "IGNob29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVz" + + "IGZhbi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVy" + + "ZWQgY29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNh" + + "LWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVy" + + "c1tdLmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNv" + + "bXB1dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSBy" + + "ZWFkIE5BTUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBzdGF0dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVz" + + "dGVyLCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUg" + + "PCBjbHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRp" + + "dmUgZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24n" + + "dCBuZWVkIGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + + "cGxhbmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29u" + + "dHJvbCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmlu" + + "ZyBzb21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2Fp" + + "bnN0IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRy" + + "b2wgcGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2Vy" + + "IG11c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5l" + + "KiogaW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4" + + "aXN0aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + + "YCkuCi0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBh" + + "YmlsaXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJv" + + "bCBwbGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRo" + + "ZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3Rs" + + "IGFjY2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9u" + + "ZS4pCi0gQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRo" + + "IGFscmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3Qt" + + "cmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNrLgoK" + + "IyMgU3RlcHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVu" + + "aXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Eg" + + "c2NvcGUKICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhlIG5l" + + "dyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczov" + + "L2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMg" + + "VVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJlLWZs" + + "aWdodCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBc" + + "CiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAg" + + "IFRoaXMgdmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9kZSBs" + + "YWJlbHMgYXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRkcmVz" + + "cyBhbnkgZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1dGUt" + + "cGxhbmVgOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1w" + + "bGFuZSBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBc" + + "CiAgICAgLS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMgaXMg" + + "YSBzZXBhcmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21wdXRl" + + "LXBsYW5lLXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1IChy" + + "ZWdpc3RlciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24gdGhl" + + "IG5ldyBjb21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxhbmUg" + + "YW5kIGRvZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUgY29u" + + "dHJvbCBwbGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10b2tl" + + "bmAgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50IG9u" + + "ZSBmcm9tLgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNs" + + "dXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhlYWx0" + + "aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3Vs" + + "ZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5kLWlu" + + "dm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5jdGlv" + + "biB0byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoK" + + "IyMgV2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoK" + + "YGFkZC1jb21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4aXN0" + + "aW5nYCBzZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBhbmQg" + + "cmV1c2UgaXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0" + + "aGUgc2FtZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0" + + "aGF0IHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNz" + + "LgotICoqRGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vj" + + "b25kIGF0dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUg" + + "cGxhbmUncyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21w" + + "dXRlIHBsYW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNv" + + "bmZpcm0gd2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVu" + + "IGluIGRvdWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlk" + + "PSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUg" + + "cHJvY2VlZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUNAAAF" + + "DQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1" + + "biBhIHRhc2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4g" + + "bW9uaXRvciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBr" + + "ZXlzCgpUaGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZv" + + "Y2F0aW9uIHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkg" + + "Z2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgK" + + "IyAtPiBmdW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBg" + + "CgpCb3RoIGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNr" + + "IGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2Ny" + + "aXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRl" + + "IGVhY2gga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkt" + + "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWlu" + + "PThoIC0tdmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQoj" + + "IC0+IHRhc2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBr" + + "ZXkgdmFsdWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQg" + + "dGhlIGtleSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBu" + + "ZXZlciB0aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVm" + + "b3JlIHJ1bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwg" + + "dmVyaWZ5IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBz" + + "ZXQ6CgogICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAm" + + "JiBlY2hvIHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0" + + "b3JlZCBrZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAg" + + "cHl0aG9uMyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0" + + "aCgnfi8ubnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChz" + + "LmdldCgnbnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRo" + + "ZSBleHBpcnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNo" + + "CiAgIG52Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0" + + "YXNrIC0tZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUK" + + "ICAgYGBgCgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYg" + + "d2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHBy" + + "ZWZpeCDigJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNh" + + "dGlvbjoKCi0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjog" + + "a2V5IG5vdCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBp" + + "cmVkIG9yIHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFs" + + "aWQ7IG5vIHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRl" + + "ZmluZSB0aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRh" + + "c2s6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNw" + + "ZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJO" + + "Q1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRh" + + "aW5lckltYWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJn" + + "cyI6ICJweXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhh" + + "bmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRl" + + "IC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+" + + "CmBgYAoKQ2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3Rl" + + "bmNlIGNhbiBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBz" + + "dWJzZXF1ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpF" + + "cXVpdmFsZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52" + + "Y2YtY2xpIHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0t" + + "Z3B1PUgxMDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2Vu" + + "ZD1uY3AtbG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0t" + + "Y29udGFpbmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAt" + + "LXJlc3VsdC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBj" + + "bHVzdGVyOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29u" + + "dGFpbmVyLmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25t" + + "ZW50IHZhcmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNv" + + "bnRhaW5lci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApg" + + "YGAKCm9yIHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVy" + + "RW52aXJvbm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQog" + + "IF0sCiAgInNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMz" + + "Y3IzdCJ9CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCBy" + + "ZXR1cm5lZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0" + + "aGVtLgoKIyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxh" + + "Y2UgYGNvbnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUi" + + "OiAic21va2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAi" + + "SDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2Vu" + + "ZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZp" + + "ZGlhLmNvbS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhh" + + "bmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRl" + + "IC0taW5wdXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAK" + + "CmBoZWxtQ2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUu" + + "CgojIyAzYi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xp" + + "IHRhc2sgdXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoK" + + "YHVwZGF0ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRz" + + "IGFyZSBhZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQg" + + "aW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBp" + + "bnRvIGNoYXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNs" + + "aSB0YXNrIGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5O" + + "SU5HCmBgYAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3Qg" + + "cmVjZW50IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1" + + "cyB2YWx1ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBg" + + "RVJST1JFRGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBF" + + "WENFRURFRF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBm" + + "b3IgcHJvZ3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0" + + "YXNrIGV2ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVE" + + "YCwgY2hlY2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQpp" + + "cyByZWdpc3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCku" + + "CgpJZiB0aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRh" + + "aW5zIHRoZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3Bl" + + "Y3QgdGhlIHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdp" + + "dGgKYGt1YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4" + + "dC4KCiMjIDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGlu" + + "Z1N0cmF0ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZj" + + "Zi1jbGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZv" + + "ciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVw" + + "bG9hZCB0byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNr" + + "J3MgY3JlZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBB" + + "ZnRlcgp0aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBy" + + "ZXN1bHRzIDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBw" + + "b3J0ZWQgaW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0" + + "YXNrOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRo" + + "ZSB0YXNrIHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApu" + + "dmNmLWNsaSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGgg" + + "dGhlIHVzZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFu" + + "ZCBpdHMgY3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidz" + + "IHByb21wdCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBs" + + "aWNpdCBsYXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNh" + + "bm5vdCBiZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIg" + + "KHVzZWZ1bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApu" + + "dmNmLWNsaSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BV" + + "IGZhbWlseSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRl" + + "IGNsdXN0ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVF" + + "RGAgaW5kZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICBy" + + "ZWdpc3RlcmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3Ry" + + "aWVzLCBlbnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlh" + + "bC1oZWxwZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkA" + + "AJ8ZAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGlu" + + "dm9rZSBhIGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0" + + "aW9uIENSRUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIg" + + "SU5WT0tFLgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEg" + + "SlNPTiBmaWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmly" + + "bSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVz" + + "ZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZl" + + "bnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsK" + + "ICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2Ui" + + "OiAiPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hv" + + "IiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3Qg" + + "ZWNobyBmdW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZv" + + "cm1hdCI6ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAg" + + "ICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQz" + + "MFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2Yt" + + "Y2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVu" + + "Y3Rpb24gSUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRo" + + "ZSBJRHMg4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1" + + "bmN0aW9uIHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNl" + + "dCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9k" + + "ZWxzW10ubGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0g" + + "dGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUg" + + "d2l0aCB0aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8g" + + "bm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBg" + + "YGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWlu" + + "ZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwi" + + "OiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwK" + + "ICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRo" + + "IiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3Rl" + + "ZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjog" + + "Ijxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1" + + "cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJl" + + "ZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAg" + + "ICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVp" + + "dmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAog" + + "IC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJt" + + "ZWQtY29udGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5j" + + "ZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgw" + + "MDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAg" + + "XAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0g" + + "XAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hh" + + "dC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9" + + "cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBs" + + "b3kgc3RlcCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25h" + + "bCBtb2RlbCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1" + + "bmN0aW9uIHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9" + + "PHZlcl9pZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5h" + + "bWU+LHJvdXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBg" + + "CgpVc2UgdGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1p" + + "dGA7IGNyZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9r" + + "ZW5SYXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBg" + + "U2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5s" + + "aW5lIENMSSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBh" + + "cyBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlu" + + "bGluZSBtb2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVs" + + "bSBjaGFydCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBl" + + "bmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0g" + + "ZnVuY3Rpb24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1D" + + "b25maWdgIGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNl" + + "TmFtZWAuIFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSBy" + + "ZW5kZXJlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNl" + + "cnZpY2UgcG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4" + + "YWN0IGZ1bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVy" + + "IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQg" + + "ZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxj" + + "b25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVy" + + "ZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewog" + + "ICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0Ijog" + + "ODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAy" + + "MDAKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1w" + + "bGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0" + + "U2VydmljZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAg" + + "ICAgICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjog" + + "ewogICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2Vz" + + "IiwgIi92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9i" + + "aW4iLAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBd" + + "Cn0KYGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + + "biBjcmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5m" + + "ZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0v" + + "aGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMg" + + "XAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0y" + + "MDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0u" + + "bmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEu" + + "MC50Z3ogXAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxs" + + "bS1tb2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxl" + + "dGlvbnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3Jv" + + "YmluLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQg" + + "Y2hhcnQtc3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5j" + + "b25maWd1cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoK" + + "CmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZl" + + "cl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAw" + + "IiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5j" + + "ZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5" + + "IjogMTAsCiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAg" + + "InRlbnNvclBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0" + + "ZXdheSByb3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxm" + + "dW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5W" + + "Q0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3Ry" + + "ZWFtIGNvbnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBw" + + "YXRoczoKCnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0" + + "aW9uc2AgfCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAv" + + "djEvcmVzcG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBm" + + "b3Igc3RyZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0" + + "cmVhbWluZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2Vt" + + "YmVkZGluZ3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0" + + "IG11c3QgYmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4g" + + "Tm8gc2Vzc2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24K" + + "ewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAog" + + "ICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJp" + + "bnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAog" + + "ICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9" + + "XQp9CmBgYAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCks" + + "IGBpbnN0YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNt" + + "YXRjaCByZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5j" + + "dGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMg" + + "Y29tbWFuZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChk" + + "ZWZhdWx0IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBv" + + "ZCBpcyBydW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1" + + "dGUtcGxhbmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVu" + + "Y3Rpb25gIHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJy" + + "eSB0aGUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAi" + + "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApu" + + "dmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rp" + + "b24tbmFtZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZj" + + "Zi1zdGctLi4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkg" + + "c3RhdGUgZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAq" + + "KkRvbid0IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJ" + + "TlZPS0UKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQi" + + "OiAiPHZlcl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBg" + + "CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5q" + + "c29uCiMg4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1" + + "bGZpbGxlZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBp" + + "bnZva2UgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBz" + + "aApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2No" + + "YXQvY29tcGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElf" + + "S0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewog" + + "ICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFt" + + "IjogdHJ1ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIi" + + "LAogICAgICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUg" + + "T3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5g" + + "IHNvIHRoZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3Bv" + + "bnNlcyBBUEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmlu" + + "dm9jYXRpb24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJl" + + "YXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9q" + + "c29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFt" + + "ZT4iLAogICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4i" + + "CiAgfScKYGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJo" + + "dHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0" + + "aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6" + + "IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZp" + + "cm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgog" + + "IH0nCmBgYAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxv" + + "eW1lbnQncyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBh" + + "bmQgc3VyZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMg" + + "ZG9uZSB3aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRl" + + "IC0tZnVuY3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZp" + + "cm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhl" + + "IGRlcGxveW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kg" + + "dGltZXMgY2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVu" + + "Y3kgb24gY29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0" + + "ZXN0cykuIEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRl" + + "YCBjb21tYW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90" + + "aCBgZ3B1YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQ" + + "VS5IMTAwXzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBm" + + "dW5jdGlvbidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1" + + "dGUtcGxhbmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sg" + + "YGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJ" + + "bWFnZVB1bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAAD0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxl" + + "ZC1pbnN0YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNG" + + "IGluc3RhbGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtp" + + "bmciLiBEb24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZl" + + "cmRpY3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAu" + + "CmBgYAoKVGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoK" + + "Ci0gKipgaGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0" + + "aGV5J3JlIGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJl" + + "bnQgbGF5ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRg" + + "Kiog4oCUIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBs" + + "aXN0IHdpbGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0" + + "aWFsaXppbmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYu" + + "Ci0gKipgZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhl" + + "IGNsdXN0ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5r" + + "bm93bmAqKiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1h" + + "eSBiZSBkb3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMg" + + "Mi4gRHJpbGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBj" + + "b21wb25lbnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2Fu" + + "ZHJhLTAgUG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBz" + + "aAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+" + + "IDxwb2Q+IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50" + + "cyArIGxhc3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVu" + + "bGVzcyB0aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGlu" + + "LXByb2dyZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwg" + + "TGlrZWx5IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0w" + + "IFBvZEluaXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBW" + + "IHN0dWNrIGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEg" + + "ZGVmYXVsdCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0" + + "b3JhZ2VjbGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + + "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + + "fCBgaGVsbSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBi" + + "ZWNvbWUgYXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkg" + + "Q1JEcyBub3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0" + + "ZXdheS1yb3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5z" + + "dGFsbCBlbnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZv" + + "eXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNy" + + "ZWF0ZS1uYW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9y" + + "IGNsdXN0ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdh" + + "cyBpc3N1ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mg" + + "c3RvcmVkIGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0t" + + "Y2x1c3Rlci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0" + + "ZSBwbGFuZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29y" + + "aXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0" + + "ZXIgcmVnaXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJv" + + "bCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdh" + + "aW4gfAp8IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRv" + + "cjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1" + + "aWxkcyBpdCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3Bl" + + "cmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0" + + "aCBpcykgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJy" + + "b3IpIHwgT2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBN" + + "KzUgZm9sbG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZh" + + "YTU3MDRgIHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhl" + + "eSBjb25maXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVs" + + "ZWFzZSBpbiByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwg" + + "bnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJT" + + "VDsgdGhlbiBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNs" + + "dXN0ZXItaWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJl" + + "Zm9yZSBhbnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24g" + + "aXMgZGVzdHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3Qg" + + "dG8gZG8KCi0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdu" + + "b3N0aWMgb25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0" + + "aGUgdXNlciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3Nl" + + "IGBrdWJlY3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQg" + + "ZGVsZXRlcyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlm" + + "ZmVyZW50IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3Rh" + + "dHVzYCAvIGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "aW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZD" + + "RiBmcm9tIHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBv" + + "biBhIGZyZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlz" + + "IGlzIHRoZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhl" + + "IHRvcG9sb2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBs" + + "YW5lIGFuZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAo" + + "Y29udHJvbCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBw" + + "cm9kdWN0aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAt" + + "LWNsdXN0ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4" + + "YW1wbGVzOiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBw" + + "cm9kdWN0aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29u" + + "dGV4dCBuYW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQ" + + "cmVwYXJlIHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2Fs" + + "IGszZC4gT25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRp" + + "YXRlbHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9p" + + "bnRzLiBGb3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQg" + + "YW5kCiAgIHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxh" + + "bmNlciBiZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3Qg" + + "YWxyZWFkeSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVk" + + "IEdhdGV3YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3Rh" + + "bmRhbG9uZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBs" + + "eSAtZiBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVh" + + "c2VzL2Rvd25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFt" + + "ZXNwYWNlIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNz" + + "IHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAg" + + "IGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRv" + + "CiAgICAga3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09" + + "dHJ1ZSAtLW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9j" + + "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYx" + + "LjEuMyBcCiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBw" + + "bHlpbmcgdGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxl" + + "ciBvd25zCiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVz" + + "dCB1bnRpbCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAg" + + "Y29uZmlndXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250" + + "cm9sbGVyIERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFn" + + "ZSBvciBleGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RF" + + "Ul9OQU1FPSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5h" + + "bWUgIiRFS1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVz" + + "TmV0d29ya0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRw" + + "dXQgdGV4dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2Fk" + + "LWJhbGFuY2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1" + + "ZWAgc2VsZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29t" + + "L2Vrcy9sYXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3" + + "aXNlLCBhIHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQg" + + "QmFsYW5jZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRo" + + "YXQgdGhlIGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3Vk" + + "IHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQg" + + "QmFsYW5jZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhl" + + "IGFwcGxpZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250" + + "cm9sbGVyLiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAg" + + "bWFwIGJlZm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6" + + "CiAgICAgbG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90" + + "YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5j" + + "ZXItc2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFX" + + "UyBjbG91ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRo" + + "OgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBz" + + "ZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgog" + + "ICBgYGAKCiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2lu" + + "ZyBsb2FkIGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kg" + + "YG5sYmAgc2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0" + + "YXJnZXQgdHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2Vy" + + "dmljZQogICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3Rz" + + "IG9uZSBTZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUg" + + "QVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kg" + + "U2VydmljZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2Ug" + + "dGhlIG1hcCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZv" + + "cmUgYXBwbHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6" + + "IHVzZSBBV1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAt" + + "IDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBr" + + "aW5kOiBFbnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNl" + + "OiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlw" + + "ZTogS3ViZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgog" + + "ICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0" + + "ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2Vy" + + "dmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBl" + + "OiAiaW5zdGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3Mt" + + "bG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJz" + + "aW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwog" + + "ICBtZXRhZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBn" + + "YXRld2F5LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0" + + "ZXJzUmVmOgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDog" + + "RW52b3lQcm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lv" + + "bjogZ2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFk" + + "YXRhOgogICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + + "eQogICBzcGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAg" + + "IC0gbmFtZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAg" + + "ICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNl" + + "bGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAg" + + "ICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAg" + + "IHByb3RvY29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgog" + + "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAg" + + "c2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9w" + + "bGF0Zm9ybTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVz" + + "dCBiZSB1bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lT" + + "ZXJ2aWNlLmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUg" + + "Z2VuZXJhdGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwog" + + "ICBvbiB0aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1" + + "ZXMgYW5kIHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJf" + + "TkFNRT0ibnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhw" + + "b3J0IFJFR0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0i" + + "ZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXki" + + "CiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBv" + + "cnQgR1JQQ19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQ" + + "X0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAog" + + "ICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJl" + + "Y3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRF" + + "V0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91" + + "dD0xMG0KCiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdB" + + "WV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19H" + + "QVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAi" + + "Z2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + + "YWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0" + + "IDEKICAgdGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNU" + + "QUNLX0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAg" + + "dG8gdGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4K" + + "ICAgRm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUg" + + "R2F0ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZj" + + "Zi1jbGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERS" + + "fSIKICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191" + + "cmw6ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6" + + "ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7" + + "U1RBQ0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZv" + + "a2VfaG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2Vydmlj" + + "ZV9pZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFw" + + "aV9rZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAi" + + "c3ZjQG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAg" + + "YGBgCgozLiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRv" + + "cG9sb2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1h" + + "ZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAg" + + "LS1qc29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3ViZWN0" + + "bCBvbiBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0t" + + "cHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWlj" + + "bXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBqcSAt" + + "YyAuCiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZhaWxz" + + "IChgInBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBtZXNz" + + "YWdlYCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBp" + + "bnN0YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5l" + + "ZWRlZC4gYG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVz" + + "ZXIgZG9lcyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRo" + + "cm91Z2ggdGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21w" + + "dXRlLW9ubHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBl" + + "dmVudCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAg" + + "LS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9J" + + "RH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAg" + + "Rm9yIHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBg" + + "YGBzaAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5l" + + "IgogICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAg" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0i" + + "JHtDT05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9" + + "IiR7Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNU" + + "RVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7" + + "UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhh" + + "c2Vfc3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNl" + + "X3Byb2dyZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNv" + + "dXJjZSBjb3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBl" + + "cnNpc3RzIGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3Ag" + + "YW5kIHN1cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAg" + + "ICAgRGVjaWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1" + + "biBub3cgd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFm" + + "dGVyU2VjYCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9y" + + "ZW1lZGlhdGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAg" + + "ICAgYWN0IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQ" + + "cmludCBjbHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0" + + "YXR1cy4gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBl" + + "eHBlY3QKICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9z" + + "ZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0" + + "aW9uYWxseSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2Uu" + + "bWRdKGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAg" + + "aW52b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBm" + + "cmVzaCBjbHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNo" + + "YXJ0IHB1bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlk" + + "ZW1wb3RlbnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0" + + "ZS4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5" + + "KS4KLSBJZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWlu" + + "dGVyYWN0aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGlu" + + "dGVyYWN0aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3Mu" + + "bWRVVAUAAQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9w" + + "cGVkIGF1dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMu" + + "IFRoZSBLOHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBh" + + "bmQgdGhlIEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3Rh" + + "dGUKCi0gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + + "YW1lPW52Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVn" + + "aXN0ZXJgIHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRo" + + "IHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21h" + + "dGNoLCBub3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1w" + + "bGFuZSBLOHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoK" + + "MS4gQ29uZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVn" + + "aXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUg" + + "cm93IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIEZy" + + "b20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAo" + + "YmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandr" + + "c2ApOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxp" + + "ZD4gLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZldGNo" + + "ZXMgSldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJ" + + "Q01TLiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBudmNm" + + "LWNsaSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0ZWRB" + + "dGAgYWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3Vi" + + "ZXJuZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMgc2hv" + + "dWxkIHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0" + + "IGBjbHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElEICsg" + + "Z3JvdXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVkZXBs" + + "b3kgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkgZWRp" + + "dCBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0ZXMg" + + "SUNNUyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgY2x1" + + "c3RlciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWlsdXJl" + + "IG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1jYWxs" + + "b3V0IGhlYWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1hdXRo" + + "LWNhbGxvdXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29pZGNf" + + "YnlfY2x1c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAgY29u" + + "ZmlnbWFwIGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25vc2Ut" + + "ZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhvc2Ug" + + "Y2hlY2tzLgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMgVGVh" + + "ciBkb3duIGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFyZG93" + + "biBkZXN0cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFs" + + "IGtleXMsIHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1c2Vy" + + "IGJlZm9yZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBgdW5p" + + "bnN0YWxsYCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVhcmRv" + + "d24gc3VyZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0rMTEp" + + "OgoKfCBUaWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18LS0t" + + "fAp8IFBlci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5KSB8" + + "IGBpbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwg" + + "YHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVg" + + "IHwKfCBPcmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVwIC0t" + + "Y2x1c3Rlci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFsbGAg" + + "fAoKVXNlIGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9yIEdp" + + "dE9wcyAoY29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBlbGlu" + + "ZXMuIEFsd2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8IE1v" + + "ZGUgfCBMaXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0tfC0t" + + "LXwtLS18LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0b3Jz" + + "KSB8ICoqTm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1pdHMg" + + "cGhhc2UgcGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwgRXZl" + + "bnQgc3RyZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAocHJp" + + "bWl0aXZlcykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBgaGVs" + + "bSBnZXQgbWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286Cgot" + + "IGBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBvcmNo" + + "ZXN0cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFsbCAt" + + "LW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBtZSB0" + + "aGUgWUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFMV0FZ" + + "UyBwcmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0t" + + "Y2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVuLgpu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAKCiMj" + + "IFdoZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0tLXwt" + + "LS18CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8IGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1lIHRo" + + "ZSBzdGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1MIHRv" + + "IGNvbW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5p" + + "bnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBkZWxl" + + "dGUueWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1dGUg" + + "cGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiSnVz" + + "dCByZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBkb3du" + + "IC0tY2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJtIHNj" + + "b3BlIHdpdGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChjb21w" + + "dXRlIHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNvbXB1" + + "dGUgcGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9uIHRo" + + "aXMgY2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4iIChJ" + + "bXBvcnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2ZT10" + + "cnVlfHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJzaXN0" + + "ZW50IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQg" + + "dXNlciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3ZlLXBl" + + "cnNpc3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioq" + + "IgoKIyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBgCgpU" + + "aGlzIGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhlbG0g" + + "cmVsZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0IHdv" + + "dWxkIGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5k" + + "c1tdYCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxtIHVu" + + "aW5zdGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgojIyMg" + + "My4gRXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + + "dXN0ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYuNy4x" + + "KToKCjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoyLiBS" + + "ZXNvbHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1bnMg" + + "YGZ1bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBwb2xs" + + "cyB1bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNlfHBy" + + "b21wdGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1dGUg" + + "cGxhbmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBoZWxt" + + "IHVuaW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVyCjUu" + + "IFJlbW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVudGAp" + + "CjYuIFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMgNC4g" + + "VGVhciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0aGUg" + + "b3JjaGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMgYWxz" + + "byBnb2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCBy" + + "ZWZ1c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNNUy4g" + + "VXNlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipvbmx5" + + "KiogaWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFuZXMg" + + "KFBTQVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3RhcnQg" + + "ZmFpbGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVlbmNl" + + "IGJlZm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcKCmBg" + + "YHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhpcyBp" + + "dGVyYXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0aGUg" + + "cGVyLWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1hbGwt" + + "Y29uY3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhlIGNs" + + "dXN0ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHByb21w" + + "dCBmb3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhhcyBB" + + "cmdvIC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0ZSBw" + + "bGFuZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRl" + + "LXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3IgY29t" + + "bWl0cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxpZXMg" + + "dGhlIGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNvbW1p" + + "dCAtbSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBBcmdv" + + "IHN5bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhlIElD" + + "TVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJfSUQK" + + "YGBgCgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1c3Rl" + + "ciBkZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93aW5n" + + "IEdpdE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHksIG9y" + + "IHVzZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkKCklm" + + "IGBkb3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1hbmQq" + + "Ki4gVGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNraXBz" + + "IHJlbGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAtLWln" + + "bm9yZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQaGFz" + + "ZSA0ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBzZWNv" + + "bmQgcnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNhdGVn" + + "b3J5OiAiaGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRp" + + "b24iYCDihpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0PeKA" + + "pmAgKHRoZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4gcmUt" + + "cnVuIGBkb3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1hdGlv" + + "bi4KLSBgZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVyX3Jl" + + "bWVkaWF0aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIgdXNl" + + "ciBwYXNzZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3QuIFJl" + + "LXJ1biB3aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJvbXB0" + + "YCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1cmZh" + + "Y2UgYGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4gU1RP" + + "UC4gRG8gbm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlzIGNv" + + "bmZpcm0KCkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFs" + + "bGAgaW52b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBTdGF0" + + "ZSB0aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hhdCdz" + + "IGxvc3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5jcC1s" + + "b2NhbGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElDTVMi" + + "KS4KLSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3RhdGUg" + + "dGhhdCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRlZCBh" + + "bmQgdGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNlciBj" + + "b25maXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1" + + "c3RlcnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUgb3Jw" + + "aGFuZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBleHBs" + + "YWluaW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBpcyBv" + + "biBhIENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gKIyBQ" + + "ZXIgY29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0YWxs" + + "IG52Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAt" + + "biBudmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIC1u" + + "IG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0ZW0K" + + "CiMgRHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXIt" + + "aWQ9PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250ZXh0" + + "KToKY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2VzIGhl" + + "bG1maWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBzdGFj" + + "ayBidW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4vbnZj" + + "Zi1jb21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1hbnVh" + + "bCBwYXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGluc3Rh" + + "bGxlZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIgYXNr" + + "cyAid2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhlIFN0" + + "YXRlZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5IGBo" + + "ZWxtIHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRpb25h" + + "bGx5IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8gd2lw" + + "ZSBjb21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQKYGBg" + + "CgpPciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiBj" + + "YXNzYW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0ZW0g" + + "LS1hbGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0aXZl" + + "IHN0ZXAuClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIjIGBu" + + "dmNmLWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdheXMg" + + "cGFpciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtleGl0" + + "LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1ob3N0" + + "ZWQgbGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8LS0t" + + "fC0tLXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFByZS1m" + + "bGlnaHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBl" + + "ci1yb2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3RlZCBj" + + "aGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2UgaGVh" + + "bHRoeSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRgIGVs" + + "YXBzZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + + "bWU9WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFtaW5n" + + "IGV2ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8IGBz" + + "ZWxmLWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFsbCBv" + + "ZiB0aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0YWxs" + + "IC0tY29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZQU1M" + + "IG9uIHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhvc3Rl" + + "ZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVyIGNs" + + "dXN0ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9uZSBp" + + "bnZvY2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1u" + + "YW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5KSBz" + + "dGRvdXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5lczsg" + + "Zm9yIGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9zdGVk" + + "IHVwIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwgSlNP" + + "Tkwgb24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8CnwgYHNl" + + "bGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29tcHV0" + + "ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3RkZXJy" + + "IHwgRm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3RhbGwu" + + "IENQIG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9" + + "WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pTT05M" + + "IHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZl" + + "OiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdp" + + "c3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9uIHRo" + + "YXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + + "bmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJpbWl0" + + "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8" + + "IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0tZm9y" + + "Y2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAt" + + "LW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFu" + + "aWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8gYGt1" + + "YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBgaW5z" + + "dGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WCBb" + + "LS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6IGRy" + + "YWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJ" + + "Q01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXItbmFt" + + "ZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVzdHJh" + + "dG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBw" + + "bGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1cnJl" + + "bmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0aXZl" + + "IHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9yIGRy" + + "eS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBoZWxt" + + "L2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBhY3R1" + + "YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJwb3Nl" + + "IHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1u" + + "Y2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBhIEpX" + + "S1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBzdGFu" + + "ZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lzdGVy" + + "ZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1c3Rl" + + "ciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1qc29u" + + "YCBmb3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0" + + "ZXItaWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBBZnRl" + + "ciBLOHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVsZXRl" + + "IC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBjb25m" + + "aXJtIHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5v" + + "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVg" + + "IHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZlcnNp" + + "b24gSUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVs" + + "c1tdLmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNw" + + "b25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1bmN0" + + "aW9uIGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0aW9u" + + "IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0YWRh" + + "dGEgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1W" + + "SUQgLS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVuY3Rp" + + "b24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2RlbC11" + + "cGRhdGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNgIHVz" + + "ZXMgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxs" + + "aW1pdD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFncy5t" + + "ZCkgfAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNjaGVk" + + "dWxlIGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykgfAp8" + + "IGBmdW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCBb" + + "LS1qc29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZFXHxE" + + "RVBMT1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAtLWlu" + + "cHV0LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBmdW5j" + + "dGlvbiBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBT" + + "dG9wIGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9uIGlu" + + "dm9rZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJlcXVp" + + "cmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9rZWQg" + + "dGhyb3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0aW9u" + + "LWlkPi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPUlE" + + "IC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoqREVT" + + "VFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFuZHMg" + + "cmVxdWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBOVkNG" + + "X0JBU0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBhIGZy" + + "ZXNoIHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRlYCBh" + + "bmQgaW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFsdWU7" + + "IGNoZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0aCBg" + + "YXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1biBg" + + "YXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5ldyBr" + + "ZXkuCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sg" + + "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdlPUlN" + + "R2AgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0YXRl" + + "OyB1c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sgY3Jl" + + "YXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hhcnQ9" + + "Q0hBUlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMgYC0t" + + "aW1hZ2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEgdGFz" + + "ayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGNv" + + "bmZpZ3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0PU5d" + + "YCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVzZXM6" + + "IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAs" + + "IGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9N" + + "QVhfUVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNrIGRl" + + "dGFpbHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBgdGFz" + + "ayBldmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRzIGZv" + + "ciBhIHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRp" + + "ZmFjdHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBgcmVz" + + "dWx0SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3Vw" + + "cG9ydGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0YXNr" + + "IHwgTm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRlIFt0" + + "YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElEICsg" + + "Y3VycmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBleHBs" + + "aWNpdGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBub3Qg" + + "dHJlYXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8Cnwg" + + "YHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgVXBk" + + "YXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRh" + + "dGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBwcmVz" + + "ZXJ2ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0tdGFz" + + "ay1pZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBp" + + "biBvbmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8" + + "CnwtLS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMg" + + "dmlhIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1jbGku" + + "c3RhdGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAoZnVu" + + "Y3Rpb24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwgbGFz" + + "dCBlbmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1ob3N0" + + "ZWQgc3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNrXSBb" + + "LS1kZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlzIHwg" + + "RGVmYXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFuZCBh" + + "IHRhc2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMgb25l" + + "IG9ubHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUg" + + "LS12YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVyYXRl" + + "ZCBrZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5jZSAo" + + "TlZDRiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1rZXkg" + + "bGlzdGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1zY29w" + + "ZWQga2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJldm9r" + + "ZSBLRVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiogfAp8" + + "IGBhcGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0YXRl" + + "IHwgfAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + + "LS0tfC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0YWxs" + + "IGFsbCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxzL2Ag" + + "YW5kIGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRpcmVj" + + "dG9yaWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJlbW92" + + "ZSBvbmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNlIHNr" + + "aWxscyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWluIHwK" + + "fCBgYWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBGb3Ig" + + "ZGVidWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEgYW5k" + + "IGVtYmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEjAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + + "ZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVzCgpT" + + "dGFibGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0cnkg" + + "LyBzdXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMgfAp8" + + "LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxs" + + "IGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBI" + + "ZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZ" + + "QU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEdhdGV3" + + "YXkgQVBJIENSRHMgbWlzc2luZzsga3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdl" + + "Q2xhc3MgYWJzZW50IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsgYC0t" + + "bm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50IHVu" + + "cmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBvdXQg" + + "fCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWRuJ3QgcGFzcyBiZWZv" + + "cmUgZHVyYXRpb24gfAp8IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVC9TSUdURVJNIHwgVXNl" + + "ciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQgfAoKIyMgSG93IGFuIGFn" + + "ZW50IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBg" + + "MGAgfCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIg" + + "dG8gdXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVl" + + "ZCBhIGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBj" + + "aGVja3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNl" + + "ciBmaXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVy" + + "YWN0aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1" + + "c2VyIE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBk" + + "aWcgaW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9u" + + "J3QgcmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmly" + + "bSBiZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKRXZl" + + "cnkgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBl" + + "dmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJy" + + "YXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3Jl" + + "bWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5k" + + "IGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNv" + + "bnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2gg" + + "ZnJvbSBzdGRlcnIuClBLBwhzp1pk1QYAANUGAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0A" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIj" + + "IGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3ViY29t" + + "bWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNv" + + "bmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwK" + + "fCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwK" + + "fCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZLCBv" + + "biB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAo" + + "cGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPeKApmAgfCBDb250cm9s" + + "LXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVS" + + "TCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrPeKApmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBh" + + "dGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5" + + "IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx84oCmYCB8IEhlbG1maWxlIGVudmly" + + "b25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3IgcmVsZWFzZXMg" + + "fAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZh" + + "bHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vz" + + "c2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBk" + + "byBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8" + + "IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBt" + + "YWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRw" + + "dXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IGJs" + + "b2NrIHVudGlsIHBhc3MgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1" + + "YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4" + + "dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9y" + + "IGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJs" + + "IFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyIHwg" + + "ZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2sg" + + "LS1wcmVgIG9ubHk7IHNraXAgYWxsIGt1YmVjdGwgY29udGFjdCB8IGBmYWxzZWAgfAoKIyMgYGNo" + + "ZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVg" + + "LCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3Rz" + + "IGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZs" + + "aWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMg" + + "cmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1h" + + "bGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0t" + + "Y29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNv" + + "bXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxg" + + "IHwgRXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmlu" + + "ZWQgd2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1" + + "c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlm" + + "eS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVk" + + "IHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRg" + + "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMj" + + "IyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGlu" + + "IHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2Nv" + + "dW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92" + + "ZXMgdGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBl" + + "cm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRv" + + "ciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + + "VE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3" + + "aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lz" + + "dHJ5LiBVbnNldCBldmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0g" + + "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRy" + + "YSByZWdpc3RyaWVzIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNo" + + "YWJpbGl0eS4gYG52Y3IuaW9gIGlzIGFsd2F5cyBwcm9iZWQuIFJlcGVhdGFibGUgb3IgY29tbWEt" + + "c2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsg" + + "Y29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCBgbnZjci5pb2Agb25s" + + "eSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVn" + + "aXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFn" + + "ZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5hbWVzcGFj" + + "ZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0" + + "LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdDIHJlZ2lzdHJ5LCBpdCBtaW50cyBvbmUg" + + "ZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxp" + + "ZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBF" + + "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxz" + + "ZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwg" + + "UkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGxhdGVyIGNo" + + "ZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRoZSByZXN1bHQgcHJpbnRzIHRoZSBg" + + "a3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8" + + "CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRl" + + "cnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFu" + + "ZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4g" + + "YSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNwZWNp" + + "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVz" + + "dGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8" + + "IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwK" + + "fCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAt" + + "LXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hh" + + "bmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0" + + "IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAt" + + "LXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwg" + + "RFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwg" + + "RmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2" + + "ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVg" + + "IHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElE" + + "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0" + + "LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwK" + + "fCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1v" + + "bi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9u" + + "XHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRv" + + "IGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxl" + + "IGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGly" + + "ZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNl" + + "ZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BF" + + "XWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNl" + + "IGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5" + + "IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9u" + + "IHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChk" + + "YXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + + "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZp" + + "bml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQg" + + "fAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBg" + + "LS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJs" + + "IFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNl" + + "LXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlv" + + "bi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVM" + + "VGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVy" + + "ZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBh" + + "Y2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVg" + + "IHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVk" + + "IHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJ" + + "T046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + + "bGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4s" + + "dXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + + "bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdp" + + "dGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2Ug" + + "aW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNz" + + "IHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1w" + + "cmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3Jp" + + "dHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVy" + + "LWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5" + + "IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQg" + + "b3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFu" + + "ZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBh" + + "bmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxs" + + "bUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0" + + "aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3Yx" + + "L2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3Ng" + + "LiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2Vy" + + "X29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxt" + + "Q29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRl" + + "ZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1h" + + "dC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAg" + + "KGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMg" + + "d2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAt" + + "SCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2lu" + + "ZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNr" + + "ZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwg" + + "YGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBz" + + "YW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRl" + + "cyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGlu" + + "dm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+" + + "ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1v" + + "ZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNw" + + "b25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Ig" + + "c2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5j" + + "dGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + + "LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAt" + + "IHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0" + + "IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGlt" + + "aXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRv" + + "a2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQg" + + "dG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8" + + "IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0" + + "aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8" + + "CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNj" + + "b3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlz" + + "dGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0g" + + "fAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVu" + + "dHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQv" + + "b3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9k" + + "ZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0" + + "aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + + "bWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURg" + + "IHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1p" + + "bHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5I" + + "MTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8Cnwg" + + "YC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVl" + + "c3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZh" + + "dWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lm" + + "aWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVh" + + "dGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBl" + + "YXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJl" + + "cXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8" + + "IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWAp" + + "IHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2Ug" + + "dHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQ" + + "VS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFs" + + "bHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRg" + + "IHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3" + + "aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZp" + + "bGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8" + + "IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMg" + + "TkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENv" + + "bW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3" + + "aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBv" + + "Y2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVg" + + "IHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + + "c2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0" + + "YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAg" + + "fCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRl" + + "ZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05g" + + "IHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2Vy" + + "dmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwg" + + "R3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVs" + + "dCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhh" + + "bmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExP" + + "Q0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5h" + + "bWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURg" + + "IHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJl" + + "cGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJj" + + "ZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sg" + + "dGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRl" + + "c2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVt" + + "ZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwg" + + "TWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5" + + "LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIm1pHP2Qv" + + "AABkLwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290" + + "aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRpb24u" + + "IEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyB0" + + "aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRv" + + "IGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGln" + + "aHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1" + + "YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBr" + + "dWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9j" + + "cy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBBVEhg" + + "IHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRp" + + "b24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9p" + + "bnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBlbnZv" + + "eS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIu" + + "aW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBhdmFp" + + "bGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1YmVj" + + "dGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3Jh" + + "Z2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBg" + + "R1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBHUFUg" + + "b3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2Rh" + + "dGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3Bl" + + "cmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQVSBu" + + "b2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlkaWEu" + + "Y29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNvbS9n" + + "cHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVp" + + "cmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2Vu" + + "YCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49" + + "JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFu" + + "b3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwg" + + "U3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+" + + "Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlz" + + "c2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9r" + + "ZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1r" + + "ZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJ" + + "bnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + + "fC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRy" + + "YSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3Jh" + + "Z2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8" + + "CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxv" + + "eSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBV" + + "c2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8" + + "CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwg" + + "LS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVu" + + "diBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFs" + + "dWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9y" + + "IGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21t" + + "aXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBg" + + "bnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9y" + + "OiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3Qg" + + "aW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2Qg" + + "aW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5g" + + "IHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlh" + + "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBg" + + "SFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91" + + "dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNs" + + "dXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1y" + + "dW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMg" + + "YSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBj" + + "bHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2gg" + + "d2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBj" + + "bHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQ" + + "dWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBj" + + "b25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJh" + + "Y2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBk" + + "ZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFn" + + "IChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFs" + + "dGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + + "bWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENh" + + "dXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5z" + + "IGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtl" + + "ZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVn" + + "aXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRl" + + "bnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBw" + + "cm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVk" + + "ZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0" + + "IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZy" + + "ZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4g" + + "bnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRp" + + "YXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFt" + + "ZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3Rh" + + "bGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0" + + "ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMs" + + "IHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxh" + + "bmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJh" + + "dGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Ig" + + "c2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmly" + + "b25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4K" + + "bGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAx" + + "LjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0" + + "Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1l" + + "bmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNl" + + "bGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRl" + + "LXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3Jl" + + "dHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGlu" + + "dGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + + "aGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1t" + + "YW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxh" + + "bmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10K" + + "ICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwg" + + "a3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYt" + + "TWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcg" + + "TlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgoj" + + "IyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0" + + "ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBu" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFu" + + "ZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3Ry" + + "dWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFz" + + "ayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBz" + + "cGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZj" + + "Zi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNv" + + "bnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZp" + + "cm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1z" + + "dGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmls" + + "ZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1z" + + "dGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNz" + + "aW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNo" + + "Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1t" + + "YW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVy" + + "c2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJv" + + "bC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJv" + + "b3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3Bs" + + "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + + "bnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5k" + + "IGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lv" + + "biAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0g" + + "dmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMg" + + "TXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xp" + + "ZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJv" + + "bC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3Rt" + + "cGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1l" + + "Pi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0" + + "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + + "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1" + + "ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0" + + "IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFz" + + "ZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkK" + + "Z2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMg" + + "cGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0" + + "cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVh" + + "c2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0" + + "aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBr" + + "ZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9y" + + "YWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGlu" + + "IHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFs" + + "LnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJh" + + "cnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4g" + + "U2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0" + + "LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNl" + + "cyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpg" + + "YGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRl" + + "IG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUu" + + "Zy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBp" + + "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + + "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + + "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAt" + + "LWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + + "TkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGll" + + "bnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBz" + + "ZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8g" + + "cmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNy" + + "ZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpC" + + "b3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVk" + + "IGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hh" + + "cnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBz" + + "ZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApk" + + "b2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhl" + + "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9L" + + "RVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8" + + "IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4g" + + "PGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhl" + + "bG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11" + + "bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwg" + + "TkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVu" + + "ZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxl" + + "bnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0" + + "aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAx" + + "OiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBw" + + "dWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVu" + + "IHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBw" + + "dWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+" + + "YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUg" + + "c3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkg" + + "bWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1" + + "bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGlj" + + "YWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQg" + + "dGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwg" + + "c2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9h" + + "ZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0" + + "aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQ" + + "b2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "OgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlv" + + "dXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAg" + + "ICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2Vz" + + "OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3Jl" + + "ZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAg" + + "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlm" + + "ZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5v" + + "bi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52" + + "Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQog" + + "ICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSBy" + + "ZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3Nl" + + "IGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJj" + + "ZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUg" + + "c3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQg" + + "dG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+" + + "IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3Vi" + + "LXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxt" + + "LnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUg" + + "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0" + + "aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBu" + + "ZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVy" + + "LW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUg" + + "bmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNl" + + "Y3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBu" + + "dmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBg" + + "ZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28g" + + "dGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9s" + + "ZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMg" + + "bWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9i" + + "YWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBh" + + "cGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxv" + + "YWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApH" + + "QVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxn" + + "YXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + + "ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBh" + + "IGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9u" + + "IGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhl" + + "IHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFy" + + "eSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2gg" + + "YXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERS" + + "RVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNl" + + "IHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FU" + + "RVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2Jh" + + "bC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGlu" + + "YXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMg" + + "NC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9U" + + "SCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZp" + + "bGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNz" + + "YW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNl" + + "Um9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9u" + + "bHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBz" + + "IHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3" + + "aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQK" + + "PiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBE" + + "RUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhl" + + "bG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2Vs" + + "ZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0t" + + "LS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5B" + + "VFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9" + + "c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5" + + "LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkg" + + "R2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRv" + + "biB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJv" + + "dXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9i" + + "c2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEg" + + "c2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgoj" + + "IyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlz" + + "IGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNp" + + "bmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5W" + + "Q0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3Rh" + + "Y2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhl" + + "IGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3" + + "YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2Ug" + + "Y29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVt" + + "LgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4K" + + "YGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5" + + "R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhl" + + "IGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQg" + + "aXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhv" + + "c3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdD" + + "b25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0" + + "eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBi" + + "eSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0" + + "ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCBy" + + "ZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHkt" + + "Z2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRo" + + "ZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + + "YW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFu" + + "aXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRy" + + "ZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRh" + + "cmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJh" + + "ZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRl" + + "cy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlv" + + "bmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRl" + + "ZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + + "aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5v" + + "dCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywg" + + "c2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1" + + "bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4K" + + "CkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwg" + + "YW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252" + + "Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxh" + + "bmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0" + + "ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBv" + + "bmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9y" + + "IHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwg" + + "d2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2Ug" + + "dGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAog" + + "IHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMu" + + "CgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpm" + + "b3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5k" + + "IHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0" + + "ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IK" + + "dGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + + "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29w" + + "ZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhl" + + "bG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2Vy" + + "dmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24t" + + "c2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRp" + + "b25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBh" + + "bmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50" + + "b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBj" + + "bGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVz" + + "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUg" + + "cmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFz" + + "ZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRl" + + "c3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4g" + + "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3Rh" + + "Y2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + + "cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJv" + + "cnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNw" + + "YWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFt" + + "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMj" + + "IFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZj" + + "Zi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0t" + + "aWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlz" + + "fGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0g" + + "Q2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkg" + + "Zm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fz" + + "c2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFn" + + "ZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRo" + + "ZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVz" + + "OmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVy" + + "cyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3Qu" + + "CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246" + + "IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpk" + + "ZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4v" + + "PHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRz" + + "LnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + + "czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAg" + + "ICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQw" + + "OTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRl" + + "cGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhl" + + "IHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1s" + + "LmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBz" + + "aW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBg" + + "YAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVu" + + "dGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVs" + + "ZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRo" + + "ZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJ" + + "IEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8" + + "LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdl" + + "cyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rp" + + "b24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3Rl" + + "ZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlg" + + "IFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52" + + "Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNf" + + "SU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNl" + + "cnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNl" + + "Y3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3Rs" + + "IGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJh" + + "c2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3Ry" + + "YXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pz" + + "b24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNF" + + "X1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBv" + + "ZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3Vt" + + "ZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZh" + + "bHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRv" + + "Y2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9h" + + "dXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8" + + "IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4K" + + "Pgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJl" + + "dHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3Jk" + + "IGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNh" + + "ciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2Fy" + + "ZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJh" + + "ZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNv" + + "ZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFj" + + "ayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmlu" + + "dGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8g" + + "a3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNl" + + "Y3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVw" + + "ZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+" + + "ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBw" + + "aWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3Jn" + + "KTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlv" + + "biBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJl" + + "bnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBh" + + "Y2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNl" + + "Y3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJy" + + "b3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0" + + "aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50" + + "aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVz" + + "ZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGlu" + + "amVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMu" + + "IFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25m" + + "aWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEu" + + "IEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdp" + + "dGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5" + + "dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUg" + + "cHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1r" + + "ZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBz" + + "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52" + + "Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tl" + + "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBB" + + "cHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1p" + + "bWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkg" + + "cG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTog" + + "bnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8" + + "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0" + + "c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRl" + + "ZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdp" + + "dGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxs" + + "IHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRd" + + "KHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0" + + "YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAg" + + "ICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50" + + "cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBg" + + "CgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwK" + + "fC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5h" + + "dXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQg" + + "ZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVj" + + "ayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hl" + + "Y2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBg" + + "dmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBr" + + "bm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9w" + + "ZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9m" + + "IHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8g" + + "YW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJE" + + "aXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3Jh" + + "dGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dp" + + "bmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4g" + + "fAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFs" + + "bCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBE" + + "Qi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5n" + + "IHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFf" + + "UEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRz" + + "IHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0" + + "aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRo" + + "ZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGlu" + + "Z2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBr" + + "dWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSBy" + + "ZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8" + + "IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFj" + + "Y291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2Vj" + + "cmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + + "c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBV" + + "bmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhv" + + "b2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJl" + + "cGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0" + + "aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVu" + + "IHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5" + + "LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1" + + "bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29k" + + "ZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSBy" + + "ZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9y" + + "eSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBh" + + "bmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFs" + + "dWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBt" + + "aXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVy" + + "aXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQg" + + "YEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcg" + + "fAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2Nv" + + "dW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJl" + + "bGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVj" + + "YXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vz" + + "c2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWly" + + "ZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRo" + + "ZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNl" + + "cXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93" + + "biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcg" + + "cG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVj" + + "dGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29u" + + "cGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBp" + + "cyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFz" + + "ZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYg" + + "aXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9v" + + "ayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQt" + + "Ym9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFw" + + "aS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApg" + + "YGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1k" + + "XShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2Nz" + + "Lm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBb" + + "c3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + + "bnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJl" + + "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkK" + + "CkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwg" + + "dG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBp" + + "bnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNv" + + "blVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAg" + + "ICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkg" + + "QVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBv" + + "cGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBh" + + "bGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAx" + + "LjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1" + + "YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9j" + + "ZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJp" + + "ZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9k" + + "ZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQg" + + "aXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQg" + + "dmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNv" + + "bXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmls" + + "ZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNr" + + "LCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUg" + + "Y2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBz" + + "a2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2" + + "aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBl" + + "eHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJs" + + "aW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRl" + + "bXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcg" + + "bWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkg" + + "cnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50" + + "IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1" + + "LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2Vz" + + "IGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4" + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVn" + - "aXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVp" + - "cmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + - "aGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBl" + - "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + - "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hl" + - "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + - "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJv" + - "dGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0" + - "byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5" + - "IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZp" + - "bGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUg" + - "KGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBs" + - "KSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0" + - "aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sg" + - "YnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBh" + - "IG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3Rl" + - "ZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8s" + - "IGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3Qg" + - "Zm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3lu" + - "YyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxv" + - "Y2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9y" + - "bSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + - "bXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUg" + - "aW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUs" + - "IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIs" + - "IGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBt" + - "b25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQg" + - "b25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBj" + - "b21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBh" + - "bmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQg" + - "dG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAg" + - "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1z" + - "eXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3Rl" + - "bSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1w" + - "bGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNp" + - "ZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2Fp" + - "dCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhl" + - "IGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + - "ZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUg" + - "d2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0" + - "byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwg" + - "YSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZs" + - "YWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5z" + - "dGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRo" + - "ZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJv" + - "ZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0" + - "IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBs" + - "YW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + - "bGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGlu" + - "Y2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGlu" + - "Y2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNv" + - "bnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFu" + - "ZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + - "IGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9p" + - "bnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9u" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJj" + - "ZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxs" + - "ZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxs" + - "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwg" + - "dGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJl" + - "LWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBi" + - "bG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2Vk" + - "IHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQg" + - "YmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + - "ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0" + - "byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4g" + - "dGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAi" + - "VGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcg" + - "dmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0" + - "ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAi" + - "RGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5k" + - "IE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1" + - "c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVz" + - "IHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1l" + - "c3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2ll" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFj" + - "ZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAg" + - "IlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcg" + - "b3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWct" + - "aW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGlu" + - "IEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdu" + - "b3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUg" + - "cG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + - "biB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNz" + - "dWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1" + - "bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1" + - "bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + - "ZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBh" + - "Y2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBw" + - "cm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1v" + - "dGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBh" + - "IHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFu" + - "ZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1y" + - "ZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29u" + - "ZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJv" + - "bGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4g" + - "ZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRo" + - "ZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyBy" + - "b3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0" + - "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNs" + - "dWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQg" + - "TkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVs" + - "bCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1t" + - "YW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7" + - "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2Ug" + - "dG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdy" + - "cGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQg" + - "bmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29y" + - "a2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRz" + - "U2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9j" + - "YXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBj" + - "U2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5u" + - "dmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10" + - "YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3Mu" + - "Z2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + - "IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIs" + - "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5k" + - "IEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2" + - "aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RI" + - "ZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhl" + - "IGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1t" + - "YW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5" + - "IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + - "dG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJk" + - "b3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBh" + - "bmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24g" + - "b2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBs" + - "YW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9y" + - "ZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRl" + - "YXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + - "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQg" + - "aWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBp" + - "bnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + - "bWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0" + - "IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBl" + - "eHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVk" + - "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5k" + - "IHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVy" + - "IHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRp" + - "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9u" + - "IHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVu" + - "IHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwg" + - "cmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRp" + - "b24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhl" + - "bG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0" + - "IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24s" + - "IHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQg" + - "bmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVp" + - "dGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRv" + - "d24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVz" + - "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5h" + - "YmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0" + - "cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwg" + - "YWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGgg" + - "dGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRl" + - "ZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + - "YW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4g" + - "Y29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBL" + - "VUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rl" + - "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAog" + - "ICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4" + - "IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhh" + - "dCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3Qg" + - "cHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRo" + - "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNp" + - "dCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGgg" + - "c3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVy" + - "bCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBz" + - "dGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1v" + - "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4i" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJx" + - "dWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQn" + - "cyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4g" + - "TlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVl" + - "cyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3Rt" + - "cGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0" + - "aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + - "IGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + - "ZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAt" + - "PiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQg" + - "dGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlz" + - "IChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1h" + - "Z2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9w" + - "YWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2Ug" + - "dmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1" + - "bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6" + - "IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + - "c3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24g" + - "c3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQg" + - "dGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUg" + - "cmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQg" + - "ZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4g" + - "bm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5v" + - "bmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRp" + - "bmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVk" + - "IG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdh" + - "eS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJn" + - "ZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdv" + - "cmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFu" + - "c3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxh" + - "bmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVw" + - "bG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95" + - "bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0" + - "aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3" + - "YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9k" + - "ZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0" + - "IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2Fs" + - "IHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQ" + - "SSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3Jr" + - "bG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRy" + - "YW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlu" + - "IHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUg" + - "SGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRo" + - "ZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlz" + - "dGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdh" + - "dGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxt" + - "LXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAg" + - "YSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0" + - "IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVz" + - "ZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRl" + - "ZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFz" + - "ZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQg" + - "cHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVy" + - "cmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhH" + - "VWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtl" + - "ZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBs" + - "ZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEg" + - "cmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwg" + - "YHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9P" + - "TUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxl" + - "YXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + - "cGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAv" + - "Y2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRl" + - "IHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBs" + - "ZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGly" + - "ZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + - "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + - "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + - "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + - "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgi" + - "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAg" + - "ICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBW" + - "ZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlm" + - "ZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSBy" + - "ZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1p" + - "IGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIg" + - "Y2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxl" + - "IDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpE" + - "ZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBu" + - "dmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxs" + - "IHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBg" + - "eWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNl" + - "czoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YK" + - "ICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZj" + - "ZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hh" + - "cnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicg" + - "LXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0" + - "b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNl" + - "cyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdj" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdl" + + "cmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4g" + + "SXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0" + + "aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVj" + + "ayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChu" + + "dmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0" + + "ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhl" + + "IGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAi" + + "VGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8g" + + "cmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCBy" + + "ZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVz" + + "cGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVz" + + "cGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3Ro" + + "ZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJl" + + "Y3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6" + + "ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93" + + "IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBz" + + "ZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUg" + + "Y29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5k" + + "ZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRy" + + "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUt" + + "R2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywg" + + "aW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZp" + + "bGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUg" + + "a3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0" + + "aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lz" + + "dHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4" + + "dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQg" + + "dGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNv" + + "bXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwg" + + "aW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJs" + + "LCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9y" + + "IHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVS" + + "X05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19G" + + "SUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVM" + + "TUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUg" + + "YWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZp" + + "ZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMt" + + "aG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFu" + + "ZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBu" + + "b3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "Ikc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRl" + + "IHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNl" + + "IGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBk" + + "b2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBy" + + "YW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBO" + + "R0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5" + + "IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZ" + + "IHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1" + + "aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + + "Y2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhl" + + "IHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + + "OS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9y" + + "IE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5k" + + "LywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4g" + + "ZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8g" + + "ZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQg" + + "ZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1" + + "bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0" + + "cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFt" + + "bC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUg" + + "YWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAi" + + "VGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "MS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBp" + + "bnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1Mg" + + "Y2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + + "biBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNv" + + "bnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNh" + + "dGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRo" + + "ZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVu" + + "dGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFu" + + "ZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lv" + + "bnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50" + + "IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRz" + + "LXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFu" + + "YWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHBy" + + "ZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9F" + + "TlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4" + + "cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNl" + + "cywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAog" + + "ICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdp" + + "c3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNp" + + "bmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhl" + + "bG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9m" + + "aWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBt" + + "eSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUg" + + "Y29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUu" + + "eWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + + "ZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1w" + + "bGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHBy" + + "b2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3" + + "aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVy" + + "aWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNv" + + "bmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52" + + "LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNv" + + "bnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJl" + + "Z2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQg" + + "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + + "LWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAt" + + "LXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUg" + + "YWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBh" + + "bmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJx" + + "dWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFz" + + "ZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "Y2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZp" + + "ZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcg" + + "Z2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdh" + + "cm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBi" + + "ZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdp" + + "dGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAg" + + "IlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSBy" + + "ZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWlu" + + "Y2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6" + + "IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3" + + "YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVw" + + "bGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFn" + + "ZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYg" + + "YmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1z" + + "ZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5" + + "IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0t" + + "IGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVs" + + "bWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdy" + + "b3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAi" + + "VGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5" + + "c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQg" + + "cHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVh" + + "c2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJh" + + "Y2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxC" + + "YWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1h" + + "bmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tl" + + "ZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBz" + + "cGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5n" + + "IHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykg" + + "YW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBl" + + "dmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUg" + + "Y2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1h" + + "Z2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBz" + + "cGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0" + + "aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtT" + + "IGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBp" + + "dHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVs" + + "bCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhl" + + "IGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52" + + "b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3" + + "YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94" + + "eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMg" + + "TkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVk" + + "IHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNf" + + "aG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJu" + + "YWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGlu" + + "IGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0" + + "IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQg" + + "YW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdh" + + "dGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0" + + "cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBl" + + "bnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50" + + "cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkws" + + "IG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vydmlj" + + "ZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwg" + + "dG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUg" + + "YWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBj" + + "IGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5h" + + "bWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGku" + + "cm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJh" + + "by5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhl" + + "IGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxk" + + "cywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29u" + + "ZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFk" + + "ZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJp" + + "ZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBs" + + "YW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAg" + + "ICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9w" + + "ZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lz" + + "dGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAi" + + "cXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUt" + + "cGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFu" + + "ZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmls" + + "ZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNv" + + "bXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFz" + + "c2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhh" + + "bmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93" + + "cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRo" + + "ZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + + "YWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFu" + + "ZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3Rh" + + "Y2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZp" + + "ZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5v" + + "dCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29u" + + "ZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRp" + + "b24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0" + + "IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkg" + + "ZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJv" + + "bC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0" + + "YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQg" + + "YW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRo" + + "ZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25l" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93" + + "IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBj" + + "b21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZp" + + "bGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9y" + + "ZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9m" + + "ZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdh" + + "cm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + + "bG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + + "IGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZl" + + "cmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9u" + + "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZs" + + "b3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBk" + + "aWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNp" + + "dCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxh" + + "bmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19G" + + "SUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9y" + + "ZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29t" + + "bWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1" + + "c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29u" + + "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdh" + + "cyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0" + + "aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhz" + + "LCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24g" + + "LS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + + "ZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29u" + + "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAi" + + "SSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2ls" + + "ZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5j" + + "ZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRz" + + "LCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5" + + "IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJh" + + "cnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46" + + "IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAt" + + "PiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFs" + + "LnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJh" + + "LnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBt" + + "dXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhl" + + "IGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQg" + + "YXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9j" + + "ayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAog" + + "ICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rp" + + "b25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIu" + + "IFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkg" + + "bmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRk" + + "b24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZv" + + "ciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0" + + "aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFs" + + "YW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVl" + + "c3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMu" + + "IEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2Vs" + + "Zi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1" + + "dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29y" + + "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNw" + + "b3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5v" + + "dCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRo" + + "ZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0" + + "aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0" + + "ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRl" + + "IGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1" + + "ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVz" + + "dGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVm" + + "YXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJv" + + "dXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGlj" + + "YXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rhcmdh" + + "dGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFu" + + "ZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVu" + + "dmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxl" + + "Y3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1" + + "bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0t" + + "cmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lk" + + "ZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "Ikc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZD" + + "RiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxs" + + "IjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRv" + + "IHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYt" + + "bWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNp" + + "ZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIs" + + "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rp" + + "b24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGsz" + + "ZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUg" + + "YXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMg" + + "YmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJp" + + "ZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxp" + + "bWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJn" + + "ZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoK" + + "U29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMg" + + "YmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3Rt" + + "cC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3Jl" + + "LnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmls" + + "ZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBg" + + "PHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0" + + "aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJz" + + "aW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNh" + + "c3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2Jh" + + "bC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJI" + + "RUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVz" + + "b3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAg" + + "ICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIi" + + "CiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBh" + + "cHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNz" + + "LWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNo" + + "YW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBp" + + "cyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2Ug" + + "ZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kg" + + "ZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBO" + + "VkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGlu" + + "c3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoK" + + "IyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJl" + + "Z2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAg" + + "ICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMg" + + "U3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoK" + + "YGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIk" + + "TkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwg" + + "c2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIK" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3Jl" + + "dHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVs" + + "bFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBg" + + "aGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6" + + "IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxl" + + "ZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVl" + + "czoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4v" + + "e3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3Nh" + + "bmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAg" + + "ICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShy" + + "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoK" + + "VGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0" + + "ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhl" + + "IGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZv" + + "ciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5j" + + "aWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2Zm" + + "YC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZj" + + "ZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29s" + + "dW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAg" + + "ICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAg" + + "ZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0" + + "ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1z" + + "eXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hv" + + "dWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0t" + + "LQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBs" + + "b3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6" + + "IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0" + + "ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21w" + + "dXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9u" + + "IGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdn" + + "aW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVj" + + "ay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3Rl" + + "cgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcg" + + "dGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0" + + "ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24t" + + "dmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpS" + + "ZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAg" + + "MzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1h" + + "bmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMK" + + "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlk" + + "ZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwg" + + "aW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + + "c2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdl" + + "ZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVy" + + "aWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlz" + + "c2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwg" + + "YWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVD" + + "T05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + + "R19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25m" + + "aWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1i" + + "aWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUg" + + "JyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRz" + + "fHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0" + + "dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9s" + + "bG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRo" + + "ZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0t" + + "LQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoK" + + "VGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3" + + "YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhl" + + "IG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVu" + + "dm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9" + + "JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFu" + + "ZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0" + + "bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29y" + + "ZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBh" + + "bmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1w" + + "b3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1" + + "ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9z" + + "dGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0" + + "IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1" + + "ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNN" + + "UywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBk" + + "b21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24g" + + "YW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5" + + "LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29t" + + "bWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3No" + + "b3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8k" + + "R0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdp" + + "ZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0" + + "ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJv" + + "dXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0" + + "IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10" + + "aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0" + + "IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3Bl" + + "cmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkg" + + "LS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRl" + + "bmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNv" + + "bmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVu" + + "QmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0" + + "cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNl" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8" + + "LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBu" + + "YXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + + "c2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwg" + + "ZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0" + + "ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwg" + + "dmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFk" + + "ZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25h" + + "bCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBh" + + "bmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVz" + + "dC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0u" + + "ZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRo" + + "ZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0" + + "eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3Rh" + + "Y2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdh" + + "eS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkg" + + "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMu" + + "bnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVz" + + "cyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwg" + + "cmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhh" + + "dmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1l" + + "PWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJl" + + "IHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiBy" + + "ZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5k" + + "b2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJp" + + "bmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cu" + + "CgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBl" + + "bmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxl" + + "IHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJv" + + "bm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0" + + "aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJ" + + "LWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUt" + + "cHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJv" + + "ZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1h" + + "dXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxh" + + "bmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSBy" + + "ZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBt" + + "YXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZv" + + "cgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmly" + + "b25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdp" + + "c3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAg" + + "Zm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1y" + + "ZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUg" + + "Y2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNv" + + "bS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxh" + + "bmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52" + + "b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRl" + + "d2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUg" + + "Y29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMg" + + "dGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMg" + + "dGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndo" + + "b3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoK" + + "ICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2" + + "aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRz" + + "U2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZp" + + "Y2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vydmlj" + + "ZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRp" + + "b25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNw" + + "cm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIu" + + "bG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3Bh" + + "Y2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFt" + + "ZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtu" + + "YW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoK" + + "ICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + + "YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToK" + + "ICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVz" + + "OiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAg" + + "Z3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3Jr" + + "ZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDog" + + "dHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBl" + + "bmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBz" + + "ZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRv" + + "bWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "ICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAg" + + "ICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcg" + + "YW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJh" + + "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZp" + + "Zz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZp" + + "Zz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNz" + + "LCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09O" + + "RklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "aW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxn" + + "YXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9o" + + "b3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0" + + "ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIK" + + "aWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFp" + + "biBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBv" + + "bmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9z" + + "dGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUg" + + "aXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUg" + + "Y29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNo" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rl" + + "ciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAog" + + "IENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAg" + + "TlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8t" + + "bnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0" + + "aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBg" + + "S1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFu" + + "ZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3" + + "aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgoj" + + "IyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmly" + + "c3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdp" + + "c3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + + "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rl" + + "ci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+" + + "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lz" + + "dGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZj" + + "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + + "bGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55" + + "YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAt" + + "LWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lv" + + "bj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAt" + + "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + + "ICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJh" + + "dGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJs" + + "ZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1Mu" + + "IERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxt" + + "ZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJv" + + "bC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpj" + + "b250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUg" + + "Y29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJl" + + "ZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBu" + + "dmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQK" + + "ZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMg" + + "YW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + + "ZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBu" + + "YW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRl" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAt" + + "biBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVy" + + "YXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4g" + + "bnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9" + + "aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRl" + + "YXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3Jl" + + "IHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9s" + + "IHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2Vy" + + "dmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJl" + + "c2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdo" + + "ZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0" + + "aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBh" + + "Ym9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + + "IHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNo" + + "aW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBt" + + "aXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVy" + + "aWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51" + + "cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + + "aWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNs" + + "dXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2Et" + + "aWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFu" + + "ZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + + "dGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0" + + "IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAu" + + "IFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21w" + + "dXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VC" + + "RUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklH" + + "YCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5l" + + "CmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJl" + + "Y3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1" + + "bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIg" + + "SUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBj" + + "b21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNv" + + "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9s" + + "LXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRl" + + "LXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1" + + "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRo" + + "ZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBs" + + "YW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNv" + + "bXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5l" + + "IHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCBy" + + "ZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHBy" + + "ZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xp" + + "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + + "XAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21z" + + "LXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1p" + + "ZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + + "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAog" + + "IGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + + "IC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNs" + + "dXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3Rl" + + "cnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIg" + + "bm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpS" + + "ZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + + "IHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxs" + + "IHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoK" + + "IyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVz" + + "cGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMg" + + "KG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMg" + + "LW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBz" + + "cGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IElt" + + "YWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFE" + + "WSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEg" + + "ICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6Cgpg" + + "YGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEg" + + "VW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1h" + + "Z2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + + "bWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBp" + + "biB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3Bh" + + "Y2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3Rs" + + "IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmlt" + + "YWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdl" + + "UHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpz" + + "b25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQg" + + "bWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwg" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08" + + "bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + + "eSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVu" + + "Y2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZp" + + "YSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQp" + + "LgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFv" + + "LCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2Vy" + + "dmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + + "LXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRl" + + "IGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1j" + + "cmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFs" + + "cwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBT" + + "eW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6Cgpg" + + "YGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVT" + + "VEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAg" + + "IDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlz" + + "IHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBi" + + "YXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVt" + + "CgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAt" + + "biB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4g" + + "dmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNv" + + "bnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+" + + "IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVu" + + "QmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxs" + + "IGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpv" + + "YiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50" + + "ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBk" + + "ZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0" + + "bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + + "dCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBi" + + "dXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAg" + + "IGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFv" + + "IC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRo" + + "L2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0" + + "ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBj" + + "bHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBK" + + "V0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0" + + "aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25f" + + "cHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90" + + "IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhl" + + "IHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWlu" + + "aXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0" + + "OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5i" + + "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWln" + + "cmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2lu" + + "ZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFj" + + "a2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2" + + "ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2" + + "YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFv" + + "OgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAg" + + "ICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3Rl" + + "bSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdy" + + "YXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBm" + + "cm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBP" + + "cGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0" + + "aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1p" + + "bi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAo" + + "dGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRo" + + "ZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRp" + + "bmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMj" + + "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + + "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpg" + + "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBG" + + "aXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2Vl" + + "IEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBj" + + "YXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4Igog" + + "ICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAg" + + "ICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBh" + + "dmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNp" + + "dCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5" + + "bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMg" + + "ICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAK" + + "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFp" + + "bHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBD" + + "b21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBk" + + "aWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFp" + + "bGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWlt" + + "IG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoq" + + "OiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4g" + + "KipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3Vm" + + "ZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBr" + + "dWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJl" + + "c291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRl" + + "CgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRo" + + "IFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0" + + "byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoK" + + "IyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5h" + + "bWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFu" + + "ZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2Ug" + + "bmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBp" + + "ZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVs" + + "ZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQK" + + "CiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3Jl" + + "YXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoK" + + "YGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4g" + + "bnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJl" + + "Y3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sg" + + "QVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + + "dmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFz" + + "ZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMu" + + "eWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBq" + + "dXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVk" + + "ZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91" + + "bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkg" + + "dW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4g" + + "YGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVk" + + "ZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRl" + + "c3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxl" + + "dGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFw" + + "aS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + + "IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgoj" + + "IyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVj" + + "ayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0" + + "b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAg" + + "MTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRl" + + "eHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBS" + + "ZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZv" + + "cmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05U" + + "RVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZD" + + "RkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBn" + + "ZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRh" + + "Lm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNo" + + "IC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0" + + "bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMi" + + "IC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8g" + + "IiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5" + + "IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1i" + + "YWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFt" + + "ZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxp" + + "emVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBy" + + "ZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1m" + + "IC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2lu" + + "ZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + + "IGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBl" + + "eGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAg" + + "LW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMK" + + "CkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBm" + + "bG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4g" + + "RG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxh" + + "dGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNv" + + "bnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNh" + + "LW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0" + + "b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1" + + "bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0" + + "b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVh" + + "bCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNj" + + "b21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5n" + + "ZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBk" + + "b21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBs" + + "YWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwK" + + "ICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRH" + + "QVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBp" + + "Ljxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3Qg" + + "YWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1Nl" + + "cnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBG" + + "aXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJy" + + "aWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRp" + + "b24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRk" + + "cmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhy" + + "b3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBs" + + "ZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4K" + + "CiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2Ug" + + "Zm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8" + + "IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRz" + + "IHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVu" + + "YmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5" + + "LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRl" + + "d2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8" + + "IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBn" + + "YXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSBy" + + "ZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hl" + + "bG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5j" + + "ZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8K" + + "fC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5B" + + "VFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFt" + + "bC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50" + + "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + + "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + + "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1l" + + "Pi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBw" + + "YXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBs" + + "YXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1w" + + "bCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2Eu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZp" + + "Z3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAg" + + "ICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1u" + + "YW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGds" + + "b2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1" + + "Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZp" + + "cm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBh" + + "dXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3Rl" + + "YWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVu" + + "ZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMj" + + "IEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFt" + + "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0t" + + "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMg" + + "fCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Yt" + + "b3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVu" + + "ZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRy" + + "YS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGlu" + + "aGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMg" + + "MDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJl" + + "bCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwg" + + "aGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1u" + + "dmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1z" + + "ZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMt" + + "cHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8" + + "IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2Vy" + + "dmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNl" + + "cnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVz" + + "dC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVs" + + "bS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVy" + + "LXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyBy" + + "ZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBl" + + "bnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVy" + + "aXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBm" + + "cm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0u" + + "ZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFs" + + "b25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoK" + + "fCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0t" + + "LXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJp" + + "b3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFi" + + "aWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYg" + + "ZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lg" + + "IChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVy" + + "Z2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hh" + + "Kio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5" + + "IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpg" + + "IGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoK" + + "CkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUg" + + "YHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1s" + + "CiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5" + + "CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVz" + + "OgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + + "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4g" + + "b3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6" + + "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUK" + + "ICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9" + + "fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91" + + "ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + + "ICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpV" + + "c2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFu" + + "Y2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFt" + + "ZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVu" + + "IGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQg" + + "dG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2Ag" + + "aXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9t" + + "IGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxg" + + "IC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1z" + + "cGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFt" + + "bGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxl" + + "YXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBh" + + "c3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAo" + + "dGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0" + + "cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBl" + + "eHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGlj" + + "YUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBj" + + "YXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6" + + "ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5l" + + "bmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5B" + + "VFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAK" + + "LSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJl" + + "YW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1l" + + "cmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVu" + + "YmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBv" + + "cGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9w" + + "ZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQp" + + "CgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChy" + + "ZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJs" + + "ZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExN" + + "IEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGlu" + + "ZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBh" + + "ZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwg" + + "YWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJ" + + "CmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExM" + + "TSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRg" + + "LiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5n" + + "bGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8K" + + "YGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBg" + + "eWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAg" + + "cmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAg" + + "ICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNv" + + "dW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBl" + + "bmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6" + + "CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3" + + "b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxp" + + "Y2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4g" + + "VGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBw" + + "b3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkg" + + "R2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0u" + + "Z2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxl" + + "IE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBz" + + "aGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNv" + + "dW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFy" + + "Z2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNw" + + "b3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0" + + "ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + + "biBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBS" + + "ZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + + "dmNmL2Jsb2IvbWFpbi9kb2NzL3VzZXIvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5n" + + "Lm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhl" + + "IHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBn" + + "ZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgog" + + "IHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNh" + + "cnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3Np" + + "dG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJT" + + "X0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0" + + "cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmln" + + "dXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFs" + + "dWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9s" + + "LXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRl" + + "IHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBz" + + "bwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1h" + + "bmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4g" + + "cHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVl" + + "cy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3Jr" + + "ZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNy" + + "ZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9l" + + "cyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVw" + + "ZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRo" + + "ZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVm" + + "dWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNm" + + "IHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBn" + + "ZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBv" + + "ZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJz" + + "Wz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpG" + + "b3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBp" + + "bmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBh" + + "bGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVd" + + "KGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9y" + + "dXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhl" + + "bG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBg" + + "YGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5j" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2Jz" + + "ZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0" + + "ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBz" + + "aW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5v" + + "IGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVy" + + "LXByb3h5YC4KUEsHCLE1HdsCKgAAAioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRv" + + "bi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3Vz" + + "dG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1" + + "bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUg" + + "TlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdo" + + "ZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpw" + + "YWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFp" + + "biBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + + "IGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVu" + + "YWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFt" + + "bGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMg" + + "Q3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNw" + + "YWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2" + + "YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBw" + + "dWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + + "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZj" + + "Zi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAu" + + "CgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0" + + "aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5W" + + "PTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3lu" + + "YwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlz" + + "IHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4g" + + "bnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAt" + + "aSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9z" + + "dGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJl" + + "bnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRl" + + "cm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1" + + "dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4" + + "+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMg" + + "SW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBO" + + "VkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZj" + + "ci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2Qu" + + "IENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3Vy" + + "ZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5h" + + "bWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNl" + + "cyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0" + + "IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNl" + + "CnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lz" + + "dGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwg" + + "S3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdp" + + "dGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5" + + "dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wt" + + "cGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdj" + "LWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBh" + "cGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAt" + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBc" + @@ -2814,951 +3648,123 @@ const skillDataZipBase64 = "" + "dmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAt" + "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBc" + "CiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1h" + - "Z2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZp" + - "YyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fz" + - "c2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5" + - "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + - "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + - "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + - "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3Jl" + - "dHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZl" + - "cnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBh" + - "cmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3Bl" + - "cmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1g" + - "LiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBs" + - "b3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNl" + - "QWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAx" + - "IChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdl" + - "UHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0" + - "LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1v" + - "IGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIg" + - "IiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNy" + - "ZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRz" + - "IC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1p" + - "IHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNy" + - "LmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoK" + - "V2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoK" + - "IyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJf" + - "TkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + - "X0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAg" + - "aXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJl" + - "IGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1j" + - "bGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29t" + - "cHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9y" + - "ZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNv" + - "bmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJl" + - "Z2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlz" + - "c2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIu" + - "CgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0" + - "aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2" + - "YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcg" + - "ZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBh" + - "biBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5l" + - "bmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApz" + - "dGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBh" + - "Ym9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3Bh" + - "Y2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRp" + - "bmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBg" + - "YGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + - "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJv" + - "dGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFu" + - "dXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBc" + - "CiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fz" + - "c2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRz" + - "IHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0" + - "IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFs" + - "bGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9p" + - "bnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2Fk" + - "IGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVw" + - "IDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdh" + - "dGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nl" + - "c1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVw" + - "ZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAs" + - "IHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRo" + - "ZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGku" + - "PGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAu" + - "IEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2" + - "ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1h" + - "dGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQg" + - "d2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1i" + - "ZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0" + - "ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBL" + - "ZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJl" + - "Z2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2Vk" + - "IG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBj" + - "b21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBi" + - "YXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+" + - "IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdh" + - "dGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + - "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + - "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBP" + - "bmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9u" + - "IHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNz" + - "YW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQg" + - "cG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0K" + - "a3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNp" + - "ZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1j" + - "YXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBS" + - "ZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBn" + - "cnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1y" + - "ZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVg" + - "LCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + - "bHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1" + - "ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + - "dGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1l" + - "PWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVy" + - "IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVw" + - "bG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8Cnwg" + - "YG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3" + - "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52" + - "YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5W" + - "Q0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBh" + - "bmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + - "c2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkg" + - "aW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAg" + - "ZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNl" + - "bGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0" + - "ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZp" + - "cnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9v" + - "c2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBE" + - "byBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2" + - "YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250" + - "cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18" + - "CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1w" + - "bGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHBy" + - "b2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29u" + - "dHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoK" + - "VGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5v" + - "dCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEg" + - "Y29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhz" + - "IGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNr" + - "YWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQK" + - "YG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5k" + - "bGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRl" + - "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1w" + - "bGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0" + - "dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFu" + - "ZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVL" + - "UywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + - "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUg" + - "Y29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9s" + - "bGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdh" + - "eS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMg" + - "cm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFk" + - "ZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFk" + - "ZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUg" + - "RE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6Cgpg" + - "YGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRz" + - "OgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBu" + - "dmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Igog" + - "ICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAg" + - "ICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZj" + - "dEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Igog" + - "ICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21h" + - "aW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5z" + - "dmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJv" + - "bGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBz" + - "aGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAg" + - "ICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQog" + - "ICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTog" + - "ZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAg" + - "ICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAg" + - "ICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFw" + - "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + - "bWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAg" + - "ICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zl" + - "cnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVy" + - "YXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMu" + - "PGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48" + - "Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+" + - "OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBg" + - "YAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250" + - "ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRl" + - "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFu" + - "ZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxs" + - "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFu" + - "ZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRl" + - "d2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBO" + - "VkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dy" + - "cGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAi" + - "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRy" + - "ZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFw" + - "aS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdh" + - "eS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZp" + - "ZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNf" + - "VVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxg" + - "OyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVh" + - "ZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3Rl" + - "ciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFu" + - "ZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdp" + - "c3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08" + - "bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + - "b25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJ" + - "Rz08cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAg" + - "SEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3Vi" + - "ZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQg" + - "SldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRl" + - "cGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1w" + - "bGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21p" + - "dHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQg" + - "Y2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + - "aW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRl" + - "LXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdp" + - "b24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUg" + - "ZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoK" + - "YGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + - "bnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + - "bmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJl" + - "Z2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwK" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBg" + - "YAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1" + - "dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2Jl" + - "cyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1" + - "dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRl" + - "IHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250" + - "cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + - "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0" + - "aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJh" + - "dG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBp" + - "biB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1" + - "c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4g" + - "RG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZv" + - "ciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + - "bC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5" + - "IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRl" + - "d2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAt" + - "biBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdl" + - "bnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVt" + - "CmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBw" + - "bGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kg" + - "dGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIK" + - "b25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5h" + - "bWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4g" + - "SWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5h" + - "bCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + - "YWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5h" + - "Z2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2" + - "ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBt" + - "aXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3Zh" + - "bCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1" + - "bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1l" + - "PiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxh" + - "bmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxl" + - "dGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNs" + - "dXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hv" + - "dyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0" + - "ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9y" + - "IGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoK" + - "YGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + - "XAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGgg" + - "YEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNv" + - "bnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFt" + - "YmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBp" + - "dHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRo" + - "IHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAt" + - "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + - "ICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11" + - "cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXIt" + - "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpg" + - "YGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVy" + - "IGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBv" + - "bmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNv" + - "bnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVk" + - "CmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdl" + - "dCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVp" + - "bmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJh" + - "c2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5l" + - "LXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBc" + - "CiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1w" + - "bGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + - "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWlj" + - "bXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNo" + - "IGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFu" + - "ZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUg" + - "b25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAAS" + - "MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBS" + - "ZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBz" + - "ZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBg" + - "YGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAt" + - "QSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9k" + - "cyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVj" + - "ZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwg" + - "Z2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBE" + - "ZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVz" + - "KQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMg" + - "RmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + - "ICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRy" + - "YS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVu" + - "dHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdl" + - "OnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hl" + - "Y2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNy" + - "ZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMg" + - "LW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNy" + - "ZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRo" + - "PSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3Vu" + - "dCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVz" + - "cGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgox" + - "LiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gK" + - "ICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAg" + - "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + - "aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0t" + - "bmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vz" + - "bid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNv" + - "bmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwt" + - "c2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRz" + - "KiogKG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2Up" + - "OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3Jl" + - "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3Jl" + - "dCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNl" + - "Y3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0" + - "IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFn" + - "ZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3Ig" + - "bWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RB" + - "VFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAg" + - "IEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBj" + - "b250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3Bl" + - "bkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2" + - "YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3Rs" + - "IGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVj" + - "dGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENo" + - "ZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVz" + - "CgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9y" + - "IGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBt" + - "aWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5" + - "bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBg" + - "YmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5i" + - "YW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3Rl" + - "bQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRl" + - "IHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9k" + - "cyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAg" + - "IGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0w" + - "IC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRg" + - "IGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1" + - "bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBh" + - "bmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcg" + - "bXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29u" + - "ZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3Rf" + - "dmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBz" + - "byBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50" + - "IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1" + - "bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBs" + - "ZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVm" + - "YXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7" + - "IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlz" + - "YWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMg" + - "a2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1" + - "c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIElu" + - "IHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAg" + - "IyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292" + - "ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4g" + - "dmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoK" + - "ICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5" + - "IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBh" + - "bmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9q" + - "d2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3" + - "aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3Vl" + - "ciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlz" + - "IGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1" + - "ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fz" + - "c2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRV" + - "UyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAg" + - "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBv" + - "ZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUi" + - "CmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUg" + - "dmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoK" + - "YGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAg" + - "IGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + - "Y3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNl" + - "dGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4g" + - "VXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5k" + - "aW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAg" + - "ICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAg" + - "ICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2No" + - "ZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAx" + - "MiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9k" + - "ZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50" + - "dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9y" + - "IG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgog" + - "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YK" + - "ICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xh" + - "c3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAK" + - "CjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBg" + - "YGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJB" + - "bGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBG" + - "YWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyBy" + - "ZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5j" + - "YCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMg" + - "c2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1u" + - "YW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVk" + - "IHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElm" + - "IG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVz" + - "cGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1" + - "bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAg" + - "Sm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBj" + - "YW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBn" + - "ZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1p" + - "bnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZj" + - "ZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRl" + - "cy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4g" + - "KipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVu" + - "dj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5j" + - "b2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBl" + - "bmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAt" + - "ZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4g" + - "KipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNw" + - "ZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZp" + - "eAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2Vz" + - "IHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQpr" + - "dWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5v" + - "dC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBu" + - "YW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYg" + - "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYg" + - "bmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + - "dXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmlu" + - "YWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1l" + - "c3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMg" + - "bnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVy" + - "bWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNv" + - "bXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhh" + - "cyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291" + - "cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBD" + - "T01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXpl" + - "cnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRF" + - "X0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10g" + - "fCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhh" + - "cmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMq" + - "L30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFt" + - "ZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNc" + - "IjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5h" + - "bWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVy" + - "YXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRF" + - "WFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcu" + - "c3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRF" + - "X0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9m" + - "aW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVy" + - "YXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBs" + - "YW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlz" + - "dHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9w" + - "ZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lz" + - "IGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQg" + - "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4g" + - "b25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9t" + - "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoK" + - "SWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhl" + - "IGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3Bl" + - "cmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBs" + - "b3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4g" + - "bnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkg" + - "dGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJy" + - "b2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + - "ZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5k" + - "cG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1" + - "cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFu" + - "Y2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMj" + - "IERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95" + - "LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykK" + - "dGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1I" + - "ICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENo" + - "ZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVw" + - "IG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAog" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1s" + - "CmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5k" + - "IEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVu" + - "dCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QK" + - "R2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3Rh" + - "bGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0" + - "XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2lu" + - "dC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNr" + - "IHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwg" + - "TmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5" + - "c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5" + - "c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2Us" + - "IGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBs" + - "bG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94" + - "eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3Rl" + - "bSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkg" + - "fCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + - "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1" + - "cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5n" + - "b3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdv" + - "dG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2" + - "YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0g" + - "ZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZh" + - "dWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAg" + - "ICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAt" + - "LSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0" + - "cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAg" + - "ICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVz" + - "LnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBg" + - "LS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5k" + - "IG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAg" + - "ICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAg" + - "IGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJy" + - "aWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0" + - "aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNl" + - "cGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZh" + - "bHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxl" + - "IGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmls" + - "ZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVu" + - "ZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3Rl" + - "cyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxt" + - "LW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8" + - "IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdl" + - "bWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJh" + - "IHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAg" + - "dGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBs" + - "YWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVz" + - "cGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18Cnwg" + - "YXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBz" + - "aXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1h" + - "cGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1p" + - "bnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxt" + - "LW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZj" + - "Zi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNm" + - "LW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwg" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNm" + - "LWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5" + - "IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBh" + - "ZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1r" + - "ZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5" + - "LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2Vz" + - "IHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBP" + - "Q0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFs" + - "dWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBg" + - "YWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBo" + - "YXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5Lnlh" + - "bWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0t" + - "LS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFz" + - "ZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQg" + - "b24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4g" + - "U2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAq" + - "ZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5n" + - "b3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNl" + - "LgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2" + - "YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUn" + - "cyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxh" + - "dGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVm" + - "ZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9v" + - "dC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTog" + - "JmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19" + - "CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHBy" + - "aXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlh" + - "bWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdv" + - "dG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3Qg" + - "cmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxN" + - "RklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3Nh" + - "bmRyYTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + - "OgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxl" + - "IG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2" + - "ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjog" + - "MS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2Vydmlj" + - "ZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91" + - "IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5j" + - "ZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNl" + - "ZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRz" + - "L2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIu" + - "IGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwoz" + - "LiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1" + - "Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4t" + - "c2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxv" + - "Y2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFt" + - "bC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20g" + - "YC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFu" + - "ZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3Vn" + - "aCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3Nh" + - "bmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9z" + - "aXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJz" + - "aXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2Rl" + - "U2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xh" + - "c3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRl" + - "ci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29u" + - "ZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9k" + - "VGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5C" + - "YW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9u" + - "cy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1h" + - "Z2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAo" + - "aWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4u" + - "aW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9y" + - "YCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5n" + - "cykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVm" + - "b3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJM" + - "TE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBp" + - "LWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4g" + - "R2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRv" + - "IHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5s" + - "bG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4K" + - "CkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmln" + - "dXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUg" + - "c3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRl" + - "d2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNl" + - "TW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAg" + - "ICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAog" + - "ICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3Ry" + - "aWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAK" + - "ClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0" + - "IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4" + - "dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0" + - "aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApg" + - "YWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEg" + - "VExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBh" + - "cmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVk" + - "IHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdv" + - "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdv" + - "cmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSBy" + - "ZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBj" + - "b25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRo" + - "IHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5j" + - "b20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3MvdXNlci9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + - "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + - "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + - "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + - "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + - "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + - "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + - "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + - "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + - "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + - "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + - "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + - "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + - "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + - "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + - "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + - "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + - "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + - "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + - "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + - "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + - "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + - "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + - "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + - "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + - "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + - "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + - "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + - "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + - "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + - "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + - "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + - "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + - "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + - "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + - "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + - "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIsTUd2wIqAAACKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + - "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + - "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + - "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + - "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + - "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + - "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + - "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + - "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + - "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + - "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + - "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + - "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + - "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + - "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + - "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + - "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + - "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + - "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + - "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + - "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + - "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + - "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + - "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + - "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + - "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + - "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + - "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + - "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + - "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + - "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + - "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + - "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + - "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + - "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + - "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + - "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + - "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + - "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + - "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + - "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + - "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + - "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + - "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + - "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + - "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + - "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + - "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + - "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + - "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + - "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + - "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + - "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + - "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + - "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + - "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + - "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + - "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + - "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + - "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + - "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + - "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + - "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + - "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + - "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + - "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + - "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + - "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + - "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + - "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + - "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + - "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + - "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + - "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + - "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + - "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + - "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + - "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + - "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + - "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + - "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + - "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + - "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + - "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + - "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + - "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + - "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAbzWgxUoQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + - "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EA" + - "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAGf9GA/8DAAA/AwAADMACQAAAAAAAAAAAAAAQHIAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAKZ/AABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAbowAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADhmQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA8LMAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + - "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAAB22QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBC" + - "ceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAKjoAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrh" + - "OrnIBwAAyAcAADkACQAAAAAAAAAAAAAAGhEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + - "5CEAAOQhAAAuAAkAAAAAAAAAAAAAAFIZAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAA" + - "AAAAAAAAAAAAmzsBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + - "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkAAAAAAAAAAAAAACNf" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDA1FCIwS4AAMEuAAAtAAkAAAAAAAAAAAAAAGFmAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAACGlQEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAGinAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + - "AAkAAAAAAAAAAAAAABQKAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + - "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + - "AAAAAAAAyWACAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAArokCAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + - "AAAAAAAAAAAAAABDugIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsTUd2wIqAAACKgAARAAJ" + - "AAAAAAAAAAAAAABq6wIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + - "AAC5BwAAPwAJAAAAAAAAAAAAAADnFQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + - "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAAFh4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + - "AIs0AwAAAA==" + "bC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3Ry" + + "aWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQg" + + "YC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kK" + + "CmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1l" + + "dGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3Jv" + + "dW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52" + + "Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAg" + + "ICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2Vz" + + "OgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAg" + + "ICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVt" + + "IgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1z" + + "eXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAg" + + "IHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5u" + + "b3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1p" + + "bmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxs" + + "U2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJu" + + "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29u" + + "dHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0" + + "YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0" + + "aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3" + + "IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhl" + + "IHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + + "bmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwK" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRv" + + "Y2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + + "R0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVu" + + "dmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + + "LSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCBy" + + "ZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZj" + + "YS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3Bh" + + "Y2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoK" + + "IyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9k" + + "IGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBh" + + "dGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3It" + + "Y3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwu" + + "Y29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMg" + + "Q2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + + "cCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90" + + "ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9u" + + "IHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdo" + + "ZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2Rl" + + "IHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlS" + + "ZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0" + + "IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3Jl" + + "dHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0" + + "aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1p" + + "bGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFn" + + "ZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9u" + + "bHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4g" + + "RGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0t" + + "YWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBg" + + "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMg" + + "LW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBu" + + "b3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3Vs" + + "ZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5" + + "IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0" + + "aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4" + + "dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAA" + + "FgAAUEsBAhQAFAAIAAAAAAAhAJeqZHVKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFu" + + "aWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNhAAAjAAkAAAAAAAAA" + + "AAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQCZ9g2l3Q0AAN0NAAAzAAkAAAAAAAAAAAAAAEByAABkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAACHgAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCJ0kP" + + "BQ0AAAUNAAA3AAkAAAAAAAAAAAAAAE+NAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAA" + + "nxkAADkACQAAAAAAAAAAAAAAwpoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "Y3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABgl" + + "AAA3AAkAAAAAAAAAAAAAANG0AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Rl" + + "cGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0A" + + "CQAAAAAAAAAAAAAAV9oAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25v" + + "c2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQnHmHgEoAAABKAAA" + + "OgAJAAAAAAAAAAAAAACJ6QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0" + + "YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5" + + "AAkAAAAAAAAAAAAAAPsRAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0" + + "ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJ" + + "AAAAAAAAAAAAAAAzGgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93" + + "bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkAAAAAAAAAAAAAAHw8" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAc6daZNUGAADVBgAAMgAJAAAAAAAAAAAAAAAEYAEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAm1pHP2QvAABkLwAALQAJAAAAAAAAAAAAAABCZwEAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAPOuE4R0" + + "EQAAdBEAADcACQAAAAAAAAAAAAAACpcBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "ZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJ" + + "YgAALAAJAAAAAAAAAAAAAADsqAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "U0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAA" + + "AACYCwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNv" + + "blVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAE1iAgBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAADKLAgBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAA" + + "x7sCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALE1HdsCKgAAAioAAEQACQAAAAAAAAAAAAAA" + + "7uwCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZp" + + "bGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAA" + + "AAAAAAAAAAAAaxcDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+" + + "AAkAAAAAAAAAAAAAAJofAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + + "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAAPNgMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go new file mode 100644 index 0000000000..751afb93f9 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -0,0 +1,99 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "os" + "path/filepath" + "runtime" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// A registry may send several WWW-Authenticate headers. The Bearer one is +// answered wherever it appears; reading only the first reported a registry +// answering "Negotiate" then "Bearer" as a clean skip. +func TestSelectAuthChallenge(t *testing.T) { + bearer := `Bearer realm="https://auth.example/token",service="registry"` + assert.Equal(t, bearer, selectAuthChallenge([]string{"Negotiate", bearer})) + assert.Equal(t, `Basic realm="r"`, selectAuthChallenge([]string{`Basic realm="r"`})) + assert.Equal(t, "", selectAuthChallenge(nil)) +} + +// dockerHome writes ~/.docker/config.json under a temporary HOME and puts a +// fake docker-credential- for each helper on PATH, each answering with +// its own secret. +func dockerHome(t *testing.T, config string, helpers ...string) { + t.Helper() + if runtime.GOOS == "windows" { + t.Skip("shell-script credential helpers") + } + home := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(home, ".docker"), 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(home, ".docker", "config.json"), []byte(config), 0o600)) + t.Setenv("HOME", home) + bin := t.TempDir() + for _, h := range helpers { + script := "#!/bin/sh\n[ \"$1\" = get ] || exit 1\nread server\n" + + "printf '{\"ServerURL\":\"%s\",\"Username\":\"u-" + h + "\",\"Secret\":\"s-" + h + "\"}' \"$server\"\n" + require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-"+h), []byte(script), 0o755)) + } + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + prev := credentialHelperTimeout + credentialHelperTimeout = time.Minute + t.Cleanup(func() { credentialHelperTimeout = prev }) +} + +// Docker Desktop leaves only an empty auths entry and keeps the login in +// credsStore, so a working `docker login` must be read through the helper. +func TestCredsFromDockerConfig_UsesCredsStore(t *testing.T) { + dockerHome(t, `{"auths":{"nvcr.io":{}},"credsStore":"store"}`, "store") + u, p, ok := credsFromDockerConfig("nvcr.io") + require.True(t, ok) + assert.Equal(t, "u-store", u) + assert.Equal(t, "s-store", p) +} + +// A per-registry credHelpers entry wins over the global store. +func TestCredsFromDockerConfig_CredHelpersBeatCredsStore(t *testing.T) { + dockerHome(t, `{"credsStore":"store","credHelpers":{"nvcr.io":"ngc"}}`, "store", "ngc") + u, _, ok := credsFromDockerConfig("nvcr.io") + require.True(t, ok) + assert.Equal(t, "u-ngc", u) +} + +// Inline credentials are still read without running any helper. +func TestCredsFromDockerConfig_InlineAuthNeedsNoHelper(t *testing.T) { + dockerHome(t, `{"auths":{"nvcr.io":{"username":"x","password":"y"}},"credsStore":"missing"}`) + u, p, ok := credsFromDockerConfig("nvcr.io") + require.True(t, ok) + assert.Equal(t, "x", u) + assert.Equal(t, "y", p) +} + +// The helper name comes from a file; anything that is not a plain helper +// suffix is refused rather than put on an exec path. +func TestCredsFromDockerConfig_RefusesUnsafeHelperName(t *testing.T) { + // The helper exists on PATH, so only the name check can refuse it. + dockerHome(t, `{"credsStore":"bad name"}`, "bad name") + _, _, ok := credsFromDockerConfig("nvcr.io") + assert.False(t, ok) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/helm_runtime.go b/src/clis/nvcf-cli/internal/selfhosted/helm_runtime.go index 7af90e8492..6441e14149 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/helm_runtime.go +++ b/src/clis/nvcf-cli/internal/selfhosted/helm_runtime.go @@ -71,7 +71,7 @@ func checkHelmRuntimeCompatibility(ctx context.Context, helmfileSpec, helmSpec B r := CheckResult{ ID: "local-host-tools-helm-runtime", Category: "local-host-tools", - Severity: "error", + Severity: SeverityError, HintURL: "https://github.com/helmfile/helmfile#installation", } _, helmfileVersion, err := probeBinarySpecVersion(ctx, helmfileSpec) @@ -93,7 +93,7 @@ func checkHelmRuntimeCompatibility(ctx context.Context, helmfileSpec, helmSpec B return r } r.Passed = true - r.Severity = "info" + r.Severity = SeverityInfo r.Detail = string(mode) r.Message = fmt.Sprintf("Helm %s with helmfile %s uses %s mode", helmVersion, helmfileVersion, mode) return r diff --git a/src/clis/nvcf-cli/internal/selfhosted/output.go b/src/clis/nvcf-cli/internal/selfhosted/output.go index c0fdf3d919..cbfb7920dc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/output.go +++ b/src/clis/nvcf-cli/internal/selfhosted/output.go @@ -77,7 +77,7 @@ func mark(r CheckResult) string { switch { case r.Passed: return "✓" - case r.Severity == "warning": + case r.Severity == SeverityWarning: return "‼" default: return "×" @@ -98,10 +98,10 @@ func statusGlyph(status string) string { func overallStatus(results []CheckResult) string { hasWarn := false for _, r := range results { - if !r.Passed && r.Severity == "error" { - return "error" + if r.IsBlockingFailure() { + return SeverityError } - if !r.Passed && r.Severity == "warning" { + if r.IsWarning() { hasWarn = true } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 0ebb35d7d4..3ab81ecccc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -54,6 +54,33 @@ const ( SeverityError = "error" ) +// IsBlockingFailure reports whether the result fails the run: a miss at error +// severity. The exit code, the final event, the category counts and the +// summaries all derive from this one rule so they cannot disagree. +func (r CheckResult) IsBlockingFailure() bool { + return !r.Passed && r.Severity == SeverityError +} + +// IsWarning reports a miss that does not fail the run. +func (r CheckResult) IsWarning() bool { + return !r.Passed && !r.IsBlockingFailure() +} + +// CountResults tallies results by the one rule every count uses. +func CountResults(results []CheckResult) (passed, failed, warned int) { + for _, r := range results { + switch { + case r.Passed: + passed++ + case r.IsBlockingFailure(): + failed++ + default: + warned++ + } + } + return passed, failed, warned +} + // One row in the linkerd-style output. Logs is internal-only and is not // forwarded into the CheckCompleted JSONL wire event, so it never leaks // into the stable JSON contract. @@ -85,7 +112,7 @@ func checkBinary(ctx context.Context, s BinarySpec) CheckResult { r := CheckResult{ ID: "local-host-tools-" + s.Name, Category: "local-host-tools", - Severity: "error", + Severity: SeverityError, HintURL: s.HintURL, } path, err := s.LookPath(s.Name) @@ -533,18 +560,18 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS Run: func(ctx context.Context) CheckResult { r := CheckResult{ ID: id, - Severity: "error", + Severity: SeverityError, HintURL: inotifyHintURL, } limits, err := prober(ctx, kubeContext) if err != nil { - r.Severity = "warning" + r.Severity = SeverityWarning r.Message = "node inotify probe failed: " + err.Error() r.Err = err return r } if len(limits) == 0 { - r.Severity = "warning" + r.Severity = SeverityWarning r.Passed = true r.Message = "no nodes returned by inotify probe; skipping" return r @@ -581,7 +608,7 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS return r } if len(probeErrs) > 0 { - r.Severity = "warning" + r.Severity = SeverityWarning r.Message = fmt.Sprintf( "could not probe inotify limits on %d node(s): %s", len(probeErrs), strings.Join(probeErrs, "; "), @@ -629,18 +656,18 @@ func clusterValidatorCheck( } if result.Err != nil { - r.Severity = "warning" + r.Severity = SeverityWarning r.Message = "cluster-validator did not complete: " + result.Err.Error() r.Err = result.Err return r } r.Passed = result.Passed if result.Passed { - r.Severity = "info" + r.Severity = SeverityInfo r.Message = "cluster passed cluster-validator built-in checks" return r } - r.Severity = "error" + r.Severity = SeverityError r.Message = fmt.Sprintf("cluster-validator reported failures (exit code %d)", result.ExitCode) return r }, @@ -711,11 +738,11 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn switch { case errors.As(err, &skipped): r.Passed = true - r.Severity = "info" + r.Severity = SeverityInfo r.Message = entry.Registry + ": skipped (" + skipped.reason + ")" return r case errors.As(err, &unverified): - r.Severity = "warning" + r.Severity = SeverityWarning r.Message = entry.Registry + ": " + err.Error() r.Err = err return r @@ -725,7 +752,7 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn return r } r.Passed = true - r.Severity = "info" + r.Severity = SeverityInfo r.Message = entry.Registry + ": credentials valid" return r }, @@ -761,7 +788,7 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp ID: id, HumanLabel: "checking for stale NVCF namespaces...", Run: func(ctx context.Context) CheckResult { - r := CheckResult{ID: id, Severity: "error"} + r := CheckResult{ID: id, Severity: SeverityError} // Resolve the context before probing, then probe that exact name. // Resolving afterwards leaves a window where the current-context // changes in between, which would have the hints delete namespaces @@ -769,13 +796,13 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp probedContext := effectiveKubeContext(kubeContext) stale, err := prober(ctx, probedContext, namespaces) if err != nil { - r.Severity = "warning" + r.Severity = SeverityWarning r.Message = "stale namespace probe failed: " + err.Error() r.Err = err return r } if len(stale) == 0 { - r.Severity = "info" + r.Severity = SeverityInfo r.Passed = true r.Message = "no stale NVCF namespaces detected" return r @@ -833,10 +860,16 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp // produces a command that silently inspects only the last one // and reports the rest as empty, which is the opposite of what // an operator deciding whether to delete them needs. + // Enumerate every namespaced kind, not `get all`: that omits + // PVCs, Secrets, ConfigMaps and custom resources, so after a + // partial teardown it reports "No resources found" over the + // Cassandra volumes and the OpenBao unseal Secret. for _, ns := range emptyShell { hints = append(hints, fmt.Sprintf( - "inspect %s and remove it only after confirming it is unused: %s get all -n %s", - ns, kctl, ns)) + "inspect %s and remove it only after confirming it is unused: "+ + "%s api-resources --verbs=list --namespaced -o name | "+ + "xargs -n1 %s get -n %s --show-kind --ignore-not-found", + ns, kctl, kctl, ns)) } } // Only a namespace stuck Terminating blocks the run. "No Helm @@ -890,7 +923,7 @@ func placeholderCheck(id, label, message string) binaryCheckSpec { Run: func(_ context.Context) CheckResult { return CheckResult{ ID: id, - Severity: "info", + Severity: SeverityInfo, Passed: true, Message: message, } @@ -909,7 +942,7 @@ func sisReachabilityCheck(sisURL string) binaryCheckSpec { req, err := http.NewRequestWithContext(ctx, http.MethodGet, strings.TrimRight(sisURL, "/")+"/v1/health", nil) if err != nil { return CheckResult{ - ID: "sis-reachability", Severity: "error", Passed: false, + ID: "sis-reachability", Severity: SeverityError, Passed: false, Message: "SIS request build failed: " + err.Error(), HintURL: "https://docs.nvidia.com/nvcf/self-hosted/troubleshooting#sis-reachability", } @@ -917,7 +950,7 @@ func sisReachabilityCheck(sisURL string) binaryCheckSpec { resp, err := cli.Do(req) if err != nil { return CheckResult{ - ID: "sis-reachability", Severity: "error", Passed: false, + ID: "sis-reachability", Severity: SeverityError, Passed: false, Message: "SIS unreachable: " + err.Error(), HintURL: "https://docs.nvidia.com/nvcf/self-hosted/troubleshooting#sis-reachability", } @@ -925,13 +958,13 @@ func sisReachabilityCheck(sisURL string) binaryCheckSpec { defer resp.Body.Close() if resp.StatusCode >= 500 { return CheckResult{ - ID: "sis-reachability", Severity: "error", Passed: false, + ID: "sis-reachability", Severity: SeverityError, Passed: false, Message: fmt.Sprintf("SIS returned %d", resp.StatusCode), HintURL: "https://docs.nvidia.com/nvcf/self-hosted/troubleshooting#sis-reachability", } } return CheckResult{ - ID: "sis-reachability", Severity: "info", Passed: true, + ID: "sis-reachability", Severity: SeverityInfo, Passed: true, Message: fmt.Sprintf("SIS reachable (%d)", resp.StatusCode), } }, @@ -961,7 +994,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro categories := buildCategories(cfg, role, rc) for _, cat := range categories { catStart := time.Now() - var passed, failed int + var catResults []CheckResult for _, spec := range cat.checks { if ctx.Err() != nil { return all @@ -983,17 +1016,15 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro Detail: res.Detail, HintURL: res.HintURL, }) - if res.Passed { - passed++ - } else { - failed++ - } + catResults = append(catResults, res) } + passed, failed, warned := CountResults(catResults) _ = sink.Emit(ctx, progress.CategoryCompleted{ - Category: cat.name, - PassedCount: passed, - FailedCount: failed, - DurationSec: time.Since(catStart).Seconds(), + Category: cat.name, + PassedCount: passed, + FailedCount: failed, + WarningCount: warned, + DurationSec: time.Since(catStart).Seconds(), }) } return all diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 862d6bc591..66725d4662 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -702,3 +702,17 @@ func TestMergeNamespaces_DedupesAndKeepsOrder(t *testing.T) { assert.Equal(t, []string{"a", "b", "c"}, got) assert.Nil(t, mergeNamespaces(nil, nil)) } + +// Every count derives from one rule: only an error-severity miss fails; any +// other miss is a warning. +func TestCountResults_OneRule(t *testing.T) { + p, f, w := CountResults([]CheckResult{ + {Passed: true, Severity: SeverityInfo}, + {Passed: false, Severity: SeverityError}, + {Passed: false, Severity: SeverityWarning}, + {Passed: false, Severity: SeverityInfo}, + }) + assert.Equal(t, 1, p) + assert.Equal(t, 1, f) + assert.Equal(t, 2, w) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go index a0bb6075da..b69d96fb1a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go @@ -288,8 +288,11 @@ func (CheckCompleted) kind() eventKind { return "check_completed" } type CategoryCompleted struct { Category string PassedCount int - FailedCount int - DurationSec float64 + // FailedCount counts error-severity failures only, the ones that fail the + // run; WarningCount counts the non-passing rest. + FailedCount int + WarningCount int + DurationSec float64 } func (CategoryCompleted) kind() eventKind { return "category_completed" } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go index 736f861e06..17a3d85df4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go @@ -547,12 +547,13 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { } case CategoryCompleted: return wireCategoryCompleted{ - Event: "category_completed", - TS: ts, - Category: ev.Category, - PassedCount: ev.PassedCount, - FailedCount: ev.FailedCount, - DurationSec: ev.DurationSec, + Event: "category_completed", + TS: ts, + Category: ev.Category, + PassedCount: ev.PassedCount, + FailedCount: ev.FailedCount, + WarningCount: ev.WarningCount, + DurationSec: ev.DurationSec, } } return nil @@ -750,12 +751,13 @@ type wireCheckCompleted struct { } type wireCategoryCompleted struct { - Event string `json:"event"` - TS string `json:"ts"` - Category string `json:"category"` - PassedCount int `json:"passedCount"` - FailedCount int `json:"failedCount"` - DurationSec float64 `json:"durationSec"` + Event string `json:"event"` + TS string `json:"ts"` + Category string `json:"category"` + PassedCount int `json:"passedCount"` + FailedCount int `json:"failedCount"` + WarningCount int `json:"warningCount"` + DurationSec float64 `json:"durationSec"` } // Wire structs for composed status snapshot (Plan Deviation #19 / §6.5.4). diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go index 1d3046f07c..3c37759008 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go @@ -239,8 +239,8 @@ func (r *PlainRenderer) Emit(_ context.Context, e Event) error { } return r.writef("\n") case CategoryCompleted: - return r.writef("%s [pre] category_completed %-25spassed=%d failed=%d duration=%gs\n", - ts, ev.Category, ev.PassedCount, ev.FailedCount, ev.DurationSec) + return r.writef("%s [pre] category_completed %-25spassed=%d failed=%d warnings=%d duration=%gs\n", + ts, ev.Category, ev.PassedCount, ev.FailedCount, ev.WarningCount, ev.DurationSec) case DrainProgress: return r.writef("%s [%02d/%d] drain-active: %s → %s\n", ts, ev.Num, r.effectiveTotalPhases(), ev.Deployment, ev.State) diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index 16b10cb677..6191c974dd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -1819,7 +1819,7 @@ func (m Model) viewCheck(now time.Time) string { } // ── status line ─────────────────────────────────────────────────────────── - passed, failed, total := m.checkTally() + passed, failed, warned, total := m.checkTally() if m.finished && m.checkFinalTotal > 0 { passed = m.checkFinalPassed failed = m.checkFinalFailed @@ -1843,16 +1843,22 @@ func (m Model) viewCheck(now time.Time) string { } allFinished := !anyInFlight && m.finished + tally := fmt.Sprintf("%d/%d passed, %d failed", passed, total, failed) + if warned > 0 { + tally += fmt.Sprintf(", %d warning(s)", warned) + } var statusLine string switch { case anyInFlight || (!m.finished && len(m.checkCategories) > 0 && !allFinished): - statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, 0 failed)", passed, total) + statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, %d failed)", passed, total, failed) case m.finished && failed > 0: - statusLine = fmt.Sprintf("Status: ✘ failed (%d/%d passed, %d failed)", passed, total, failed) - case m.finished && failed == 0: - statusLine = fmt.Sprintf("Status: ✓ ok (%d/%d passed, 0 failed)", passed, total) + statusLine = fmt.Sprintf("Status: ✘ failed (%s)", tally) + case m.finished && warned > 0: + statusLine = fmt.Sprintf("Status: ✓ ok with warnings (%s)", tally) + case m.finished: + statusLine = fmt.Sprintf("Status: ✓ ok (%s)", tally) default: - statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, 0 failed)", passed, total) + statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, %d failed)", passed, total, failed) } b.WriteString("\n") @@ -1863,20 +1869,26 @@ func (m Model) viewCheck(now time.Time) string { } // checkTally returns (passed, failed, total) counts from all accumulated check rows. -func (m Model) checkTally() (passed, failed, total int) { +// checkTally counts finished rows by the same rule as the final event: only an +// error-severity miss is a failure, any other miss is a warning. +func (m Model) checkTally() (passed, failed, warned, total int) { for _, cat := range m.checkCategories { for _, row := range cat.checks { total++ - if row.finished { - if row.passed { - passed++ - } else { - failed++ - } + if !row.finished { + continue + } + switch { + case row.passed: + passed++ + case row.severity == "error": + failed++ + default: + warned++ } } } - return passed, failed, total + return passed, failed, warned, total } // ─── style helpers ──────────────────────────────────────────────────────────── diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index df09f04d18..e55823d69d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -881,3 +881,26 @@ func TestTTY_StatusWatchTickResetsBetweenSnapshots(t *testing.T) { assert.Equal(t, 1, sisCount, "rendered View should show SIS exactly once after 5 watch ticks, not %d times", sisCount) } + +// A finished run with a warning says so and accounts for it, rather than +// printing "ok (2/3 passed, 0 failed)" with one check unexplained. +func TestTTY_CheckCompleteWithWarning(t *testing.T) { + t.Setenv("NO_COLOR", "1") + m := NewModel(ModelOpts{Mode: ModeCheck, AsciiOnly: true, TotalChecks: 3, + NowFunc: func() time.Time { return ts("2026-04-29T03:45:12Z") }}) + m.SetSize(120, 40) + events := []Event{ + CheckStarted{Category: "local-host-tools", ID: "a"}, + CheckCompleted{Category: "local-host-tools", ID: "a", Passed: true, Severity: "info", Message: "a"}, + CheckStarted{Category: "local-host-tools", ID: "b"}, + CheckCompleted{Category: "local-host-tools", ID: "b", Passed: true, Severity: "info", Message: "b"}, + CheckStarted{Category: "registry-credentials", ID: "c"}, + CheckCompleted{Category: "registry-credentials", ID: "c", Passed: false, Severity: "warning", Message: "c"}, + Final{Success: true, TotalChecks: 3, PassedCount: 2, FailedCount: 0}, + } + var model tea.Model = m + for _, e := range events { + model, _ = model.(Model).applyCheckEvent(e) + } + assert.Contains(t, model.(Model).View(), "ok with warnings (2/3 passed, 0 failed, 1 warning(s))") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden index 597f7b68f9..5c668e09bc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden @@ -5,5 +5,5 @@ {"event":"check_completed","ts":"2026-04-29T03:45:01Z","category":"local-host-tools","id":"helmfile-on-path","passed":true,"severity":"info","message":"helmfile 0.162.0 on PATH","detail":"0.162.0"} {"event":"check_started","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","id":"gateway-api"} {"event":"check_completed","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","id":"gateway-api","passed":false,"severity":"error","message":"Gateway API CRDs not installed","hintURL":"https://docs.nvidia.com/nvcf/self-hosted/gateway-api"} -{"event":"category_completed","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","passedCount":13,"failedCount":1,"durationSec":2.4} +{"event":"category_completed","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","passedCount":13,"failedCount":1,"warningCount":0,"durationSec":2.4} {"event":"final","ts":"2026-04-29T03:45:09Z","success":false,"durationSec":0,"droppedProgressEvents":0,"verdict":"failed","totalChecks":14,"passedCount":13,"failedCount":1} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden index 6312b923fe..2ddf8bc6ed 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden @@ -4,5 +4,5 @@ 2026-04-29T03:45:01Z [pre] check_completed local-host-tools/helmfile-on-path passed=true detail="0.162.0" 2026-04-29T03:45:08Z [pre] check_started pre-kubernetes-setup/gateway-api 2026-04-29T03:45:08Z [pre] check_completed pre-kubernetes-setup/gateway-api passed=false severity=error message="Gateway API CRDs not installed" hintURL="https://docs.nvidia.com/nvcf/self-hosted/gateway-api" -2026-04-29T03:45:08Z [pre] category_completed pre-kubernetes-setup passed=13 failed=1 duration=2.4s +2026-04-29T03:45:08Z [pre] category_completed pre-kubernetes-setup passed=13 failed=1 warnings=0 duration=2.4s 2026-04-29T03:45:09Z final verdict=failed totalChecks=14 passed=13 failed=1 diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 9336d8b798..e06d477d8f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -99,7 +99,7 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri // identify itself as an OCI registry so a captive portal or TLS-intercepting // proxy answering 200 HTML is not read as success. isOCI := resp.Header.Get("Docker-Distribution-Api-Version") != "" || - strings.Contains(resp.Header.Get("Www-Authenticate"), "realm") + strings.Contains(strings.Join(resp.Header.Values("Www-Authenticate"), ","), "realm") switch resp.StatusCode { case http.StatusOK: @@ -132,7 +132,7 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri // from the configured image (repoHint). Using a fake repo name causes // org-level 403s from NGC and GHCR for non-existent orgs, which is // indistinguishable from bad credentials. - wwwAuth := resp.Header.Get("Www-Authenticate") + wwwAuth := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) resp.Body.Close() // Only the Bearer flow is implemented. Self-hosted Harbor and htpasswd @@ -152,8 +152,9 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri // rejected" when the real diagnosis is "no credentials configured." if _, _, hasCreds := credentialsForRegistry(registry); !hasCreds { // Same situation as the critical path below, so the same verdict: - // no readable local credential is not proof that none exists, since - // a credential helper is invisible here. + // no readable local credential is not proof that none exists (a + // helper binary may be missing from PATH, or the login may live + // outside the docker config entirely). return errRegistryCredentialsUnverified{registry: registry} } return fmt.Errorf("credentials rejected by %s: %w", registry, err) @@ -172,6 +173,22 @@ type errRegistryProbeSkipped struct{ reason string } func (e errRegistryProbeSkipped) Error() string { return e.reason } +// selectAuthChallenge picks the challenge to answer when a registry offers +// several, as it may in separate WWW-Authenticate headers: the Bearer one if +// present, otherwise the first. Reading only the first header reported a +// registry answering "Negotiate" then "Bearer" as a clean skip. +func selectAuthChallenge(challenges []string) string { + for _, c := range challenges { + if strings.EqualFold(authChallengeScheme(c), "Bearer") { + return c + } + } + if len(challenges) > 0 { + return challenges[0] + } + return "" +} + // authChallengeScheme returns the auth scheme named by a WWW-Authenticate // header, or "" when the header is absent or malformed. func authChallengeScheme(header string) string { @@ -189,10 +206,10 @@ func authChallengeScheme(header string) string { // for the registry. // // A missing credential is a warning, not a hard failure: credsFromDockerConfig -// reads only inline auth entries, so a workstation using a credential helper -// (credsStore on Docker Desktop, docker-credential-pass on Linux) has a working -// docker login that is invisible here. The install path also mints or mirrors a -// pull secret of its own, so preflight must not be the thing that blocks. +// reads inline auth entries and asks credsStore / credHelpers helpers, but a +// helper binary can be absent from PATH or refuse to answer non-interactively. +// The install path also mints or mirrors a pull secret of its own, so preflight +// must not be the thing that blocks. func requireConfiguredCredentials(registry string) error { if _, _, ok := credentialsForRegistry(registry); ok { return nil diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 02a42b108e..c93c8dccb9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -20,6 +20,8 @@ package selfhosted import ( "context" "fmt" + "os" + "strings" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -136,12 +138,17 @@ func helmReleaseExists( return false, fmt.Errorf("gave up after %d pages scanning for Helm releases", helmReleaseListMaxPages) } +// helmReleasesAreInCluster reports whether Helm stores release state as +// in-cluster Secrets or ConfigMaps, the drivers this probe can see. +func helmReleasesAreInCluster() bool { + return !strings.EqualFold(strings.TrimSpace(os.Getenv("HELM_DRIVER")), "sql") +} + func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { var stale []StaleNamespace // noRelease is held back until we know the Helm storage driver keeps its // state in-cluster at all; see the gate below. var noRelease []string - anyHelmReleaseSeen := false for _, name := range namespaces { ns, err := client.CoreV1().Namespaces().Get(ctx, name, metav1.GetOptions{}) if err != nil { @@ -171,7 +178,6 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) } if found { - anyHelmReleaseSeen = true continue // healthy: active Helm release found via the secret driver } found, err = helmReleaseExists( @@ -186,17 +192,17 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name return stale, fmt.Errorf("list Helm configmaps in %s: %w", name, err) } if found { - anyHelmReleaseSeen = true continue } noRelease = append(noRelease, name) } - // Only trust the "no Helm release" signal when at least one owner=helm - // object was seen somewhere. HELM_DRIVER=sql keeps release state in a - // database with no in-cluster object at all, so without this every - // namespace of a healthy production install reports stale. - if anyHelmReleaseSeen { + // Trust the "no Helm release" signal unless Helm keeps its release state + // outside the cluster. HELM_DRIVER=sql stores it in a database, so every + // namespace of a healthy install would look stale. Inferring the driver + // from "no owner=helm object anywhere" hid exactly the state `down` + // leaves behind: every release destroyed, every namespace and PVC kept. + if helmReleasesAreInCluster() { for _, name := range noRelease { stale = append(stale, StaleNamespace{Name: name, Reason: "no Helm release"}) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index e99a06868f..821947fa8d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -251,7 +251,8 @@ func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { assert.Contains(t, r.Message, "api-keys") assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", "the remediation must use the finalize subresource; a plain patch is silently reverted") - assert.Contains(t, r.Message, "kubectl get all -n api-keys") + assert.Contains(t, r.Message, "xargs -n1 kubectl get -n api-keys --show-kind --ignore-not-found") + assert.NotContains(t, r.Message, "get all", "get all omits PVCs, Secrets and custom resources") } // A namespace on a real install holds many non-Helm Secrets (ServiceAccount @@ -325,7 +326,7 @@ func TestStaleNamespaceCheck_HintsPinTheProbedContext(t *testing.T) { assert.True(t, strings.HasPrefix(cmd, "--context cp-ctx "), "unpinned kubectl invocation in hint: kubectl %s", cmd) } - assert.Contains(t, r.Message, "kubectl --context cp-ctx get all -n api-keys") + assert.Contains(t, r.Message, "xargs -n1 kubectl --context cp-ctx get -n api-keys") } func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { @@ -334,7 +335,7 @@ func TestStaleNamespaceCheck_HintsQuoteTheContext(t *testing.T) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } r := staleNamespaceCheck(prober, "my ctx", []string{"nvcf"}).Run(context.Background()) - assert.Contains(t, r.Message, "--context 'my ctx' get all -n nvcf", + assert.Contains(t, r.Message, "--context 'my ctx' get -n nvcf", "a context name with a space must be quoted so the pasted command does not split it") } @@ -367,7 +368,7 @@ func TestStaleNamespaceCheck_HintsNameTheCurrentContext(t *testing.T) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) - assert.Contains(t, r.Message, "kubectl --context k3d-local get all -n nvcf") + assert.Contains(t, r.Message, "xargs -n1 kubectl --context k3d-local get -n nvcf") } // An unreadable kubeconfig must not break the hint; it degrades to no flag. @@ -377,7 +378,7 @@ func TestStaleNamespaceCheck_HintsOmitUnknownContext(t *testing.T) { return []StaleNamespace{{Name: "nvcf", Reason: "no Helm release"}}, nil } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) - assert.Contains(t, r.Message, "kubectl get all -n nvcf") + assert.Contains(t, r.Message, "xargs -n1 kubectl get -n nvcf") } // The probe must run against the same context the hints name. Resolving the @@ -395,18 +396,31 @@ func TestStaleNamespaceCheck_ProbesTheResolvedContext(t *testing.T) { "the probe must target the resolved context, not whatever is current when it runs") } -// HELM_DRIVER=sql keeps release state in a database, so a healthy production -// install has no owner=helm object anywhere. Without a gate every stack -// namespace reports stale at error severity with a delete remediation. -func TestProbeStaleNamespaces_NoHelmObjectsAnywhereReportsNothing(t *testing.T) { +// `down` destroys every release but keeps the namespaces and their PVCs, so no +// owner=helm object exists anywhere. With the default driver that is exactly +// the stale state to report; a reinstall would silently reattach the old +// Cassandra and OpenBao volumes. +func TestProbeStaleNamespaces_AfterDownReportsEveryNamespace(t *testing.T) { + t.Setenv("HELM_DRIVER", "") client := fake.NewSimpleClientset( &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "sis"}}, ) got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) require.NoError(t, err) - assert.Empty(t, got, - "with no in-cluster Helm state at all the signal is unusable, not evidence of staleness") + assert.Len(t, got, 2) +} + +// HELM_DRIVER=sql keeps release state in a database, so the absence of an +// in-cluster release object says nothing and must not be reported. +func TestProbeStaleNamespaces_SQLDriverSkipsTheNoReleaseSignal(t *testing.T) { + t.Setenv("HELM_DRIVER", "sql") + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, + ) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + assert.Empty(t, got) } // A namespace stuck Terminating is still reported even when no Helm release @@ -465,6 +479,6 @@ func TestStaleNamespaceCheck_HintsOneCommandPerNamespace(t *testing.T) { assert.NotContains(t, r.Message, "-n api-keys -n ess", "a joined namespace list silently inspects only the last one") - assert.Contains(t, r.Message, "get all -n api-keys") - assert.Contains(t, r.Message, "get all -n ess") + assert.Contains(t, r.Message, "get -n api-keys --show-kind") + assert.Contains(t, r.Message, "get -n ess --show-kind") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 59de253e63..99c6434c88 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -27,6 +27,7 @@ import ( "net/http" "net/url" "os" + "os/exec" "path/filepath" "regexp" "sort" @@ -155,7 +156,7 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte return nil, fmt.Errorf("registry returned %s", resp.Status) } // Capture the auth challenge before closing. - wwwAuth := resp.Header.Get("Www-Authenticate") + wwwAuth := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) resp.Body.Close() // Generic OCI Bearer-token exchange: uses the realm/service/scope from @@ -536,12 +537,24 @@ func credsFromDockerConfig(registry string) (string, string, bool) { Username string `json:"username"` Password string `json:"password"` } `json:"auths"` + CredsStore string `json:"credsStore"` + CredHelpers map[string]string `json:"credHelpers"` } if err := json.Unmarshal(body, &doc); err != nil { return "", "", false } + // A per-registry helper wins over the global store, as in docker itself. + // Docker Desktop keeps every login in credsStore and leaves only an empty + // auths entry, so without this a working `docker login` is invisible. + helper := doc.CredHelpers[registry] + if helper == "" { + helper = doc.CredsStore + } entry, ok := doc.Auths[registry] - if !ok { + if !ok || (entry.Auth == "" && entry.Username == "") { + if helper != "" { + return credsFromHelper(helper, registry) + } return "", "", false } if entry.Username != "" && entry.Password != "" { @@ -561,6 +574,40 @@ func credsFromDockerConfig(registry string) (string, string, bool) { return "", "", false } +// credentialHelperName matches the docker-credential- suffixes docker +// accepts. Anything else is refused rather than put on an exec path. +var credentialHelperName = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9_.-]*$`) + +// credentialHelperTimeout bounds one helper call; a helper waiting on a +// keychain prompt must not stall preflight. A var so tests can allow for a +// loaded machine starting a freshly written helper script. +var credentialHelperTimeout = 5 * time.Second + +// credsFromHelper asks docker-credential- for registry's credential +// using the credential-helper protocol docker uses: "get" with the server URL +// on stdin, JSON {"Username","Secret"} on stdout. +func credsFromHelper(helper, registry string) (string, string, bool) { + if !credentialHelperName.MatchString(helper) { + return "", "", false + } + ctx, cancel := context.WithTimeout(context.Background(), credentialHelperTimeout) + defer cancel() + cmd := exec.CommandContext(ctx, "docker-credential-"+helper, "get") + cmd.Stdin = strings.NewReader(registry) + out, err := cmd.Output() + if err != nil { + return "", "", false + } + var cred struct { + Username string `json:"Username"` + Secret string `json:"Secret"` + } + if err := json.Unmarshal(out, &cred); err != nil || cred.Secret == "" { + return "", "", false + } + return cred.Username, cred.Secret, true +} + // pickBestValidatorTag filters to recognized validator tags and returns // the best one: // From b375d4bc24e8269dcb7b2da4db1e9427e80b9106 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 01:21:37 +0530 Subject: [PATCH 040/127] build(nvcf-cli): register the new validator tests and deps with Bazel Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/BUILD.bazel | 3 +++ src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/clis/nvcf-cli/cmd/BUILD.bazel b/src/clis/nvcf-cli/cmd/BUILD.bazel index f67e61ba00..fffbab7f87 100644 --- a/src/clis/nvcf-cli/cmd/BUILD.bazel +++ b/src/clis/nvcf-cli/cmd/BUILD.bazel @@ -120,7 +120,10 @@ go_test( "main_test.go", "registry_test.go", "root_test.go", + "self_hosted_check_scope_test.go", + "self_hosted_check_stackvalues_test.go", "self_hosted_check_test.go", + "self_hosted_check_validatorenv_test.go", "self_hosted_compute_plane_test.go", "self_hosted_control_plane_test.go", "self_hosted_down_test.go", diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 1b08299376..dd7ceab04d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -48,6 +48,7 @@ go_library( "@io_k8s_apimachinery//pkg/api/resource", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/labels", + "@io_k8s_apimachinery//pkg/types", "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//rest", "@io_k8s_client_go//tools/clientcmd", @@ -59,7 +60,9 @@ go_library( go_test( name = "selfhosted_test", srcs = [ + "clustervalidator_lifecycle_test.go", "clustervalidator_test.go", + "credhelper_test.go", "inotify_probe_test.go", "orchestrator_errors_test.go", "output_test.go", @@ -88,6 +91,7 @@ go_test( "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/runtime/schema", + "@io_k8s_apimachinery//pkg/types", "@io_k8s_client_go//kubernetes/fake", "@io_k8s_client_go//rest", "@io_k8s_client_go//testing", From fbe7599d5d890d8dfe6adb38c24a3f57020d1ce4 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 01:58:56 +0530 Subject: [PATCH 041/127] fix(nvcf-cli): report a validator image without role support as a warning instead of a failed control plane Signed-off-by: rohithb --- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 5 ++++- .../clustervalidator_lifecycle_test.go | 22 +++++++++++++++++++ .../nvcf-cli/internal/selfhosted/preflight.go | 19 ++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index f21daa19d5..65d66132f0 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -143,7 +143,10 @@ api_keys_owner_id: svc@nvcf-api.local # Image reference for the cluster-validator pod used by # `nvcf-cli self-hosted check`. The CLI runs this image as a Job in the # cluster being checked to verify prerequisites before install. One image -# serves both roles; the Job environment selects the check set. +# serves both roles; the Job environment selects the check set. The +# control-plane checks need an image from an NVCA release that supports +# validator roles; with an older image the CLI reports a warning instead of +# running them. # # The Job needs a ServiceAccount, ClusterRole, and ClusterRoleBinding, which # the CLI creates and removes per run. The kubeconfig context therefore needs diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index b0595aba11..943f0a938c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -359,3 +359,25 @@ func TestClusterValidatorCheck_PassesRegistriesAndEnv(t *testing.T) { assert.Equal(t, regs, got.Registries) assert.Equal(t, env, got.Env) } + +// An image that predates validator roles runs the GPU checks on the control +// plane and fails. Without the role line in its transcript that is the image +// being too old, not the cluster failing, so it is a warning. +func TestClusterValidatorCheck_PreRoleImageIsAWarning(t *testing.T) { + run := func(logs string, passed bool) CheckResult { + cv := func(context.Context, ClusterValidatorParams) ClusterValidatorResult { + return ClusterValidatorResult{Passed: passed, ExitCode: 1, Logs: logs} + } + return clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, nil, nil).Run(context.Background()) + } + + old := run("Starting NVCF cluster validation\nGPU Resources: none found\n", false) + assert.Equal(t, SeverityWarning, old.Severity) + assert.Contains(t, old.Message, "does not support the control-plane checks") + + current := run("Starting NVCF cluster validation\nValidator role: control-plane\nTier-1: failed\n", false) + assert.Equal(t, SeverityError, current.Severity, "a role-aware image's failure is a real failure") + + unread := run("", false) + assert.Equal(t, SeverityError, unread.Severity, "an empty transcript proves nothing about the image") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index a0bc93b329..8fe5f27b1f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -661,6 +661,20 @@ func clusterValidatorCheck( r.Err = result.Err return r } + // An image that predates role support ignores VALIDATOR_ROLE and runs + // the compute-plane GPU checks, which fail on a CPU-only control + // plane. The latest tag can be such an image until a release with + // role support is published, so report it as the image being too + // old rather than as the cluster failing. An empty transcript + // proves nothing, so it is left to the normal handling. + if role == validatorRoleControlPlane && result.Logs != "" && + !strings.Contains(result.Logs, validatorRoleMarker+validatorRoleControlPlane) { + r.Severity = SeverityWarning + r.Message = "cluster-validator image does not support the control-plane checks (it ran the " + + "compute-plane set); use an image from an NVCA release that supports validator roles, " + + "or pass --skip-cluster-validation" + return r + } r.Passed = result.Passed if result.Passed { r.Severity = SeverityInfo @@ -674,6 +688,11 @@ func clusterValidatorCheck( } } +// validatorRoleMarker prefixes the line a role-aware validator prints naming +// the check set it runs. Must match RoleMarker in +// nvca/internal/clustervalidator/validator.go. +const validatorRoleMarker = "Validator role: " + // validatorCleanupHint is the command that removes everything one --no-cleanup // run kept. Everything it created carries the run label, so one selector // covers the namespaced objects and one the cluster-scoped RBAC. From 79590671787c07901687667adf2e3530465e4b4c Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 02:00:34 +0530 Subject: [PATCH 042/127] docs(nvcf-cli): drop a comment reference to the removed prior-Job sweep Signed-off-by: rohithb --- src/clis/nvcf-cli/internal/selfhosted/pullsecret.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index e23daf1376..498262795e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -42,8 +42,7 @@ func deleteExactly(o metav1.Object) metav1.DeleteOptions { // delete-and-recreate under the same name changes it. ResourceVersion // additionally pins the object's version, so any concurrent write turns // the delete into a 409 that every sweep then swallows. That bites hardest - // on the singleton Job sweep, whose only target is an active Job whose - // .status the Job controller mutates continuously. + // on a Job, whose .status the Job controller mutates continuously. uid := o.GetUID() return metav1.DeleteOptions{ Preconditions: &metav1.Preconditions{UID: &uid}, From 178461e69f6e1bfb1bbb84ea6390b35a93ec7c9d Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 03:20:09 +0530 Subject: [PATCH 043/127] fix(nvcf-cli): require positive evidence of a legacy validator, clean up on interrupt, and follow docker's credential order Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 10 +- .../agentskill/skilldata_generated.go | 479 +++++++++--------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 9 + .../clustervalidator_lifecycle_test.go | 32 +- .../internal/selfhosted/credhelper_test.go | 78 ++- .../nvcf-cli/internal/selfhosted/main_test.go | 37 ++ .../nvcf-cli/internal/selfhosted/preflight.go | 26 +- .../internal/selfhosted/pullsecret.go | 13 +- .../internal/selfhosted/pullsecret_test.go | 25 + .../internal/selfhosted/registry_cred.go | 41 +- .../internal/selfhosted/registry_cred_test.go | 27 + .../internal/selfhosted/validatortag.go | 72 ++- .../internal/selfhosted/validatortag_test.go | 35 +- 14 files changed, 617 insertions(+), 268 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/main_test.go diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 6e64c02d9b..caa4e57221 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -22,8 +22,10 @@ import ( "fmt" "io" "os" + "os/signal" "path/filepath" "strings" + "syscall" "time" "github.com/spf13/cobra" @@ -186,7 +188,13 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { outerTimeout += waitDur } } - ctx, cancel := context.WithTimeout(c.Context(), outerTimeout) + // Catch Ctrl-C and SIGTERM so an interrupted run unwinds through its + // deferred cleanup. Without this the process exits on the signal and the + // validator's cluster-wide ClusterRole, bound to a ServiceAccount in + // default, stays behind until a later check's orphan sweep. + sigCtx, stop := signal.NotifyContext(c.Context(), os.Interrupt, syscall.SIGTERM) + defer stop() + ctx, cancel := context.WithTimeout(sigCtx, outerTimeout) defer cancel() // Legacy --output=json: warn and treat as --json. diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index c50b8202f9..526fbada7d 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDM3OTgsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDM4MDYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -94,16 +94,16 @@ const skillDataZipBase64 = "" + "ICAic2hhMjU2IjogImQwZWZkNjI0Njg3OGQ2MWFlZTZmYmUzNTZjMDI1YmE1ZDU4ZDA1M2UyZmRk" + "ZTNkNzFiYzkyYzYzMTE5ZTM4YjEiLAogICAgICAic2l6ZSI6IDEyNDY5CiAgICB9LAogICAgewog" + "ICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQiLAogICAgICAic2hhMjU2IjogImVkNDA2NWVhOWNlMTFjY2Q1" + - "Mjc5OTNmOGNlMjdjNDViYzdiZWYxNDM1MzNjNmRiOWFlM2I3ZmU3Njk3ZWQwZDUiLAogICAgICAi" + - "c2l6ZSI6IDEwNzU0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQiLAogICAgICAic2hhMjU2IjogImZhOTRiYmZjYjA1MWJhYTJl" + + "MDdjYWFlNDI3YTY3YmI0NWY5ODBkZGJhZGRhMzJhNGEwYzgzMDMzODYzOWU0NjgiLAogICAgICAi" + + "c2l6ZSI6IDEwNzYyCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdl" + "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kIiwKICAgICAgInNoYTI1" + "NiI6ICI1MDUyNGU2ZTE5NzExODNiZGM5YWQwYWMzOGE4MDdkZjcyY2MwODUxYjc5ZjUxOGZlMTFh" + "NDhlNDU5N2M4NTBlIiwKICAgICAgInNpemUiOiAxOTc3CiAgICB9LAogICAgewogICAgICAicGF0" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJeqZHVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCKv81L5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -3531,240 +3531,241 @@ const skillDataZipBase64 = "" + "ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + "biBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBS" + "ZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + - "dmNmL2Jsb2IvbWFpbi9kb2NzL3VzZXIvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5n" + - "Lm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhl" + - "IHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBn" + - "ZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgog" + - "IHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNh" + - "cnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3Np" + - "dG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJT" + - "X0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0" + - "cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmln" + - "dXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFs" + - "dWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9s" + - "LXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRl" + - "IHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBz" + - "bwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1h" + - "bmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4g" + - "cHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVl" + - "cy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3Jr" + - "ZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNy" + - "ZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9l" + - "cyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVw" + - "ZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRo" + - "ZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVm" + - "dWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNm" + - "IHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBn" + - "ZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBv" + - "ZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJz" + - "Wz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpG" + - "b3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBp" + - "bmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBh" + - "bGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVd" + - "KGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9y" + - "dXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhl" + - "bG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBg" + - "YGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5j" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2Jz" + - "ZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0" + - "ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBz" + - "aW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5v" + - "IGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVy" + - "LXByb3h5YC4KUEsHCLE1HdsCKgAAAioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRv" + - "bi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3Vz" + - "dG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1" + - "bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUg" + - "TlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdo" + - "ZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpw" + - "YWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFp" + - "biBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + - "IGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVu" + - "YWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFt" + - "bGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMg" + - "Q3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNw" + - "YWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2" + - "YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBw" + - "dWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + - "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZj" + - "Zi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAu" + - "CgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0" + - "aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5W" + - "PTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3lu" + - "YwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlz" + - "IHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4g" + - "bnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAt" + - "aSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9z" + - "dGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJl" + - "bnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRl" + - "cm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1" + - "dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4" + - "+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMg" + - "SW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBO" + - "VkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZj" + - "ci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2Qu" + - "IENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3Vy" + - "ZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5h" + - "bWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNl" + - "cyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0" + - "IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNl" + - "CnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lz" + - "dGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwg" + - "S3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdp" + - "dGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5" + - "dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wt" + - "cGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdj" + - "LWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBh" + - "cGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBc" + - "CiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + - "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + - "YW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNy" + - "ZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2Vy" + - "dmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAt" + - "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBc" + - "CiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3Ry" + - "aWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQg" + - "YC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kK" + - "CmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1l" + - "dGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3Jv" + - "dW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52" + - "Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAg" + - "ICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2Vz" + - "OgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAg" + - "ICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVt" + - "IgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1z" + - "eXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAg" + - "IHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5u" + - "b3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1p" + - "bmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxs" + - "U2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJu" + - "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29u" + - "dHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0" + - "YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0" + - "aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3" + - "IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhl" + - "IHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + - "bmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwK" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRv" + - "Y2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + - "R0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVu" + - "dmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + - "LSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCBy" + - "ZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZj" + - "YS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3Bh" + - "Y2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoK" + - "IyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9k" + - "IGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBh" + - "dGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3It" + - "Y3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwu" + - "Y29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMg" + - "Q2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + - "cCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90" + - "ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9u" + - "IHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdo" + - "ZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2Rl" + - "IHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlS" + - "ZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0" + - "IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3Jl" + - "dHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0" + - "aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1p" + - "bGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFn" + - "ZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9u" + - "bHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4g" + - "RGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0t" + - "YWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMg" + - "LW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBu" + - "b3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3Vs" + - "ZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5" + - "IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0" + - "aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4" + - "dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAA" + - "FgAAUEsBAhQAFAAIAAAAAAAhAJeqZHVKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFu" + - "aWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNhAAAjAAkAAAAAAAAA" + - "AAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQCZ9g2l3Q0AAN0NAAAzAAkAAAAAAAAAAAAAAEByAABkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAACHgAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCJ0kP" + - "BQ0AAAUNAAA3AAkAAAAAAAAAAAAAAE+NAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAA" + - "nxkAADkACQAAAAAAAAAAAAAAwpoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "Y3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABgl" + - "AAA3AAkAAAAAAAAAAAAAANG0AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Rl" + - "cGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0A" + - "CQAAAAAAAAAAAAAAV9oAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25v" + - "c2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQnHmHgEoAAABKAAA" + - "OgAJAAAAAAAAAAAAAACJ6QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0" + - "YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5" + - "AAkAAAAAAAAAAAAAAPsRAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0" + - "ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJ" + - "AAAAAAAAAAAAAAAzGgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93" + - "bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkAAAAAAAAAAAAAAHw8" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAc6daZNUGAADVBgAAMgAJAAAAAAAAAAAAAAAEYAEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAm1pHP2QvAABkLwAALQAJAAAAAAAAAAAAAABCZwEAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAPOuE4R0" + - "EQAAdBEAADcACQAAAAAAAAAAAAAACpcBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJ" + - "YgAALAAJAAAAAAAAAAAAAADsqAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "U0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAA" + - "AACYCwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNv" + - "blVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAE1iAgBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAADKLAgBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAA" + - "x7sCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALE1HdsCKgAAAioAAEQACQAAAAAAAAAAAAAA" + - "7uwCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZp" + - "bGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAA" + - "AAAAAAAAAAAAaxcDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+" + - "AAkAAAAAAAAAAAAAAJofAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + - "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAAPNgMAAAA=" + "dmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1i" + + "YWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0" + + "c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBz" + + "ZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFt" + + "bAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAg" + + "ICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+" + + "LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0Zf" + + "U0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhl" + + "IHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5l" + + "dyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGlj" + + "dGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVk" + + "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVk" + + "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFs" + + "bGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3Rh" + + "bGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0" + + "IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1h" + + "aW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4g" + + "dGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNp" + + "b24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVy" + + "c2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wt" + + "cGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBW" + + "ZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdl" + + "dCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2Rz" + + "IC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwpr" + + "dWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2Vu" + + "ZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNv" + + "bnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9" + + "JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJn" + + "cyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hl" + + "bWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlv" + + "biBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGli" + + "cmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQp" + + "LgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3Jv" + + "dXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdy" + + "ZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJv" + + "dXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxt" + + "LWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVz" + + "dHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5" + + "YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1p" + + "bi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + + "LXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlv" + + "bmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQg" + + "YnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + + "dWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJ" + + "IG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVk" + + "IHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5v" + + "dCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywg" + + "c2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVt" + + "LgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1u" + + "YW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUK" + + "YGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRo" + + "ZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJv" + + "bSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBu" + + "dmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBP" + + "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlv" + + "KQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBk" + + "b2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + + "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + + "TkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0" + + "IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11" + + "aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWlu" + + "ZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5k" + + "IGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxN" + + "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5n" + + "cmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUg" + + "YWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95" + + "LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11" + + "aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwg" + + "aXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVi" + + "bGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwg" + + "b3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0" + + "ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQF" + + "AAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBw" + + "dWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwg" + + "TkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2" + + "ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUg" + + "Y29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUg" + + "bWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHBy" + + "b2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5l" + + "IHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVy" + + "YXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBg" + + "bnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4g" + + "SW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5" + + "dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5" + + "dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAt" + + "LWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUg" + + "Y29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8" + + "eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + + "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNl" + + "ICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + + "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRv" + + "Y2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + + "IFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNl" + + "PSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdD" + + "IHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFt" + + "ZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3Rl" + + "clBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQ" + + "b2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgog" + + "IGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNy" + + "ZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291" + + "cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5h" + + "bWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgog" + + "ICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0" + + "cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + + "InZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6" + + "CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAg" + + "ICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxs" + + "c2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBp" + + "bWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAt" + + "ZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxs" + + "IHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBs" + + "YW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBt" + + "b2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQg" + + "aW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNy" + + "ZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNs" + + "dXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + + "IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBz" + + "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNy" + + "LmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNz" + + "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUt" + + "cGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3Jl" + + "dHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVz" + + "ZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0" + + "IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRl" + + "IG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxs" + + "IGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1w" + + "bGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAt" + + "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1l" + + "IjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwu" + + "bnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2" + + "ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0" + + "VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVs" + + "bGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBt" + + "aXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBg" + + "YAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGgg" + + "SUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJS" + + "ZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNS" + + "IHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1" + + "bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6" + + "IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwg" + + "YW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxs" + + "IGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBw" + + "b2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBh" + + "cHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVz" + + "cGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVu" + + "bmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMg" + + "UG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRz" + + "CiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRo" + + "ZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0" + + "cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdl" + + "dC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhL" + + "QjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAq/zUvkoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAA" + + "ZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMA" + + "CQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAJn2DaXdDQAA3Q0AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAIeAAABkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAT40AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADCmgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD" + + "3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA0bQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4O" + + "AAC+DgAAPQAJAAAAAAAAAAAAAABX2gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYe" + + "ASgAAAEoAAA6AAkAAAAAAAAAAAAAAInpAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnI" + + "BwAAyAcAADkACQAAAAAAAAAAAAAA+xEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEA" + + "AOQhAAAuAAkAAAAAAAAAAAAAADMaAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + + "L3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAA" + + "AAAAAAAAfDwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkAAAAAAAAAAAAAAARgAQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQCbWkc/ZC8AAGQvAAAtAAkAAAAAAAAAAAAAAEJnAQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAAKlwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAR" + + "wxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAOyoAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkA" + + "AAAAAAAAAAAAAJgLAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9l" + + "dmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAA" + + "AAAATWICAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAMosCAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + + "bnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAA" + + "AAAAAAAAAADHuwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + + "cy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAA" + + "AAAAAAAAAADu7AIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + + "cy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5" + + "BwAAPwAJAAAAAAAAAAAAAABzFwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagA" + + "FgAAABYAAD4ACQAAAAAAAAAAAAAAoh8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAABc2" + + "AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index dd7ceab04d..8b0ad18555 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -64,6 +64,7 @@ go_test( "clustervalidator_test.go", "credhelper_test.go", "inotify_probe_test.go", + "main_test.go", "orchestrator_errors_test.go", "output_test.go", "preflight_test.go", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 84b8faef95..765aa5fc7b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -287,6 +287,15 @@ func runClusterValidator( deleteValidatorJob(context.Background(), client, jobName) podMayBeRunning = false } + // An interrupt (Ctrl-C, SIGTERM) cancels the caller's context. The + // operator has abandoned the run, so stop the pod and reclaim everything + // now rather than leave cluster-wide RBAC for a later orphan sweep. A + // timeout is different: it leaves ctx itself live, and a pod that may + // still be running keeps its RBAC. + if errors.Is(ctx.Err(), context.Canceled) && !noCleanup { + deleteValidatorJob(context.Background(), client, jobName) + podMayBeRunning = false + } if waitErr != nil { return ClusterValidatorResult{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 943f0a938c..854218a902 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -371,13 +371,43 @@ func TestClusterValidatorCheck_PreRoleImageIsAWarning(t *testing.T) { return clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, nil, nil).Run(context.Background()) } - old := run("Starting NVCF cluster validation\nGPU Resources: none found\n", false) + old := run("Starting NVCF cluster validation\n=== GPU Resources ===\nno GPUs found\n", false) assert.Equal(t, SeverityWarning, old.Severity) assert.Contains(t, old.Message, "does not support the control-plane checks") + // A role-aware image that fails before printing its role line prints no + // GPU section either, so its failure must stand. + early := run("level=fatal msg=\"Failed to create Kubernetes client\"\n", false) + assert.Equal(t, SeverityError, early.Severity, "a missing role line alone is not proof of an old image") + current := run("Starting NVCF cluster validation\nValidator role: control-plane\nTier-1: failed\n", false) assert.Equal(t, SeverityError, current.Severity, "a role-aware image's failure is a real failure") unread := run("", false) assert.Equal(t, SeverityError, unread.Severity, "an empty transcript proves nothing about the image") } + +// An interrupt cancels the caller's context. The operator abandoned the run, +// so the Job is stopped and everything reclaimed now, rather than leaving a +// cluster-wide ClusterRole bound in default until a later orphan sweep. +func TestRunClusterValidator_InterruptLeavesNothingBehind(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "") + ctx, cancel := context.WithCancel(context.Background()) + go func() { + time.Sleep(200 * time.Millisecond) + cancel() + }() + + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil, nil) + require.Error(t, res.Err) + assert.Empty(t, leftovers(t, client, res.RunID)) + deleted := false + for _, a := range client.Actions() { + if a.GetVerb() == "delete" && a.GetResource().Resource == "jobs" { + deleted = true + } + } + assert.True(t, deleted, "the Job must be stopped so its pod stops using the RBAC") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index 751afb93f9..94b58a4181 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -18,6 +18,7 @@ limitations under the License. package selfhosted import ( + "encoding/json" "os" "path/filepath" "runtime" @@ -41,6 +42,21 @@ func TestSelectAuthChallenge(t *testing.T) { // dockerHome writes ~/.docker/config.json under a temporary HOME and puts a // fake docker-credential- for each helper on PATH, each answering with // its own secret. +// inlineDockerConfig builds a config.json with one inline credential at run +// time. A literal auths blob trips secret scanners even with fake values. +func inlineDockerConfig(t *testing.T, registry, user, pass, credsStore string) string { + t.Helper() + cfg := map[string]any{"auths": map[string]any{ + registry: map[string]string{"username": user, "password": pass}, + }} + if credsStore != "" { + cfg["credsStore"] = credsStore + } + b, err := json.Marshal(cfg) + require.NoError(t, err) + return string(b) +} + func dockerHome(t *testing.T, config string, helpers ...string) { t.Helper() if runtime.GOOS == "windows" { @@ -80,15 +96,63 @@ func TestCredsFromDockerConfig_CredHelpersBeatCredsStore(t *testing.T) { assert.Equal(t, "u-ngc", u) } -// Inline credentials are still read without running any helper. -func TestCredsFromDockerConfig_InlineAuthNeedsNoHelper(t *testing.T) { - dockerHome(t, `{"auths":{"nvcr.io":{"username":"x","password":"y"}},"credsStore":"missing"}`) +// Inline credentials are read when no store is configured. +func TestCredsFromDockerConfig_InlineAuthWithoutAStore(t *testing.T) { + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "x", "y", "")) u, p, ok := credsFromDockerConfig("nvcr.io") require.True(t, ok) assert.Equal(t, "x", u) assert.Equal(t, "y", p) } +// With a store configured docker never reads an inline password, so a stale +// one left in the file must not win over the store. +func TestCredsFromDockerConfig_StoreBeatsStaleInlineAuth(t *testing.T) { + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "old", "stale", "store"), "store") + u, p, ok := credsFromDockerConfig("nvcr.io") + require.True(t, ok) + assert.Equal(t, "u-store", u) + assert.Equal(t, "s-store", p) +} + +// Docker Hub logins live under the legacy index key, whatever host name the +// image uses. +func TestCredsFromDockerConfig_DockerHubKey(t *testing.T) { + dockerHome(t, inlineDockerConfig(t, "https://index.docker.io/v1/", "hub", "pw", "")) + for _, host := range []string{"docker.io", "index.docker.io", "registry-1.docker.io"} { + u, _, ok := credsFromDockerConfig(host) + require.True(t, ok, host) + assert.Equal(t, "hub", u) + } +} + +// The timeout holds even when the helper leaves a child holding stdout open. +func TestCredsFromHelper_TimeoutIsEnforced(t *testing.T) { + dockerHome(t, `{"credsStore":"hang"}`) + bin := t.TempDir() + script := "#!/bin/sh\nsleep 30 &\nsleep 30\n" + require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-hang"), []byte(script), 0o755)) + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + credentialHelperTimeout = 500 * time.Millisecond + + start := time.Now() + _, _, ok := credsFromDockerConfig("nvcr.io") + assert.False(t, ok) + assert.Less(t, time.Since(start), 10*time.Second, "the helper call must not outlive its timeout by the child's lifetime") +} + +// A helper that floods stdout is refused rather than buffered without bound. +func TestCredsFromHelper_OutputIsCapped(t *testing.T) { + dockerHome(t, `{"credsStore":"flood"}`) + bin := t.TempDir() + // Valid JSON padded past the cap, so only the cap can refuse it. + script := "#!/bin/sh\nprintf '{\"Username\":\"u\",\"Secret\":\"s\"}'\nhead -c 200000 /dev/zero | tr '\\0' ' '\n" + require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-flood"), []byte(script), 0o755)) + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + _, _, ok := credsFromDockerConfig("nvcr.io") + assert.False(t, ok) +} + // The helper name comes from a file; anything that is not a plain helper // suffix is refused rather than put on an exec path. func TestCredsFromDockerConfig_RefusesUnsafeHelperName(t *testing.T) { @@ -97,3 +161,11 @@ func TestCredsFromDockerConfig_RefusesUnsafeHelperName(t *testing.T) { _, _, ok := credsFromDockerConfig("nvcr.io") assert.False(t, ok) } + +// Several challenges can share one header, comma-separated. +func TestSelectAuthChallenge_JoinedInOneHeader(t *testing.T) { + got := selectAuthChallenge([]string{`Negotiate, Bearer realm="https://auth.example/token",service="r"`}) + assert.Equal(t, `Bearer realm="https://auth.example/token",service="r"`, got) + assert.Equal(t, `Basic realm="bearer thing"`, selectAuthChallenge([]string{`Basic realm="bearer thing"`}), + "a quoted word is not a challenge") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/main_test.go b/src/clis/nvcf-cli/internal/selfhosted/main_test.go new file mode 100644 index 0000000000..6c652255a8 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/main_test.go @@ -0,0 +1,37 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "os" + "testing" +) + +// TestMain points HOME at an empty directory so no test reads the developer's +// ~/.docker/config.json, or runs a credential helper it names. Tests that need +// a docker config write their own under a temporary HOME. +func TestMain(m *testing.M) { + home, err := os.MkdirTemp("", "selfhosted-test-home-") + if err != nil { + panic(err) + } + _ = os.Setenv("HOME", home) + code := m.Run() + _ = os.RemoveAll(home) + os.Exit(code) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 8fe5f27b1f..f8d58fd08c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -665,10 +665,11 @@ func clusterValidatorCheck( // the compute-plane GPU checks, which fail on a CPU-only control // plane. The latest tag can be such an image until a release with // role support is published, so report it as the image being too - // old rather than as the cluster failing. An empty transcript - // proves nothing, so it is left to the normal handling. - if role == validatorRoleControlPlane && result.Logs != "" && - !strings.Contains(result.Logs, validatorRoleMarker+validatorRoleControlPlane) { + // old rather than as the cluster failing. That needs positive + // evidence of the legacy check set, not just a missing role line: a + // role-aware image that fails before printing it (say, building its + // Kubernetes client) must still fail the run. + if role == validatorRoleControlPlane && isLegacyComputePlaneTranscript(result.Logs) { r.Severity = SeverityWarning r.Message = "cluster-validator image does not support the control-plane checks (it ran the " + "compute-plane set); use an image from an NVCA release that supports validator roles, " + @@ -693,6 +694,17 @@ func clusterValidatorCheck( // nvca/internal/clustervalidator/validator.go. const validatorRoleMarker = "Validator role: " +// legacyComputePlaneHeader is a section header only the compute-plane check +// set prints. A validator that predates roles always runs that set. +const legacyComputePlaneHeader = "GPU Resources" + +// isLegacyComputePlaneTranscript reports whether logs come from a validator +// that ignored the requested control-plane role: no role line, and the +// compute-plane check set's output instead. +func isLegacyComputePlaneTranscript(logs string) bool { + return !strings.Contains(logs, validatorRoleMarker) && strings.Contains(logs, legacyComputePlaneHeader) +} + // validatorCleanupHint is the command that removes everything one --no-cleanup // run kept. Everything it created carries the run label, so one selector // covers the namespaced objects and one the cluster-scoped RBAC. @@ -754,7 +766,13 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn // credential. Neither may block the run. var skipped errRegistryProbeSkipped var unverified errRegistryCredentialsUnverified + var notVerified errRegistryCredentialsNotVerified switch { + case errors.As(err, ¬Verified): + r.Passed = true + r.Severity = SeverityInfo + r.Message = entry.Registry + ": " + err.Error() + return r case errors.As(err, &skipped): r.Passed = true r.Severity = SeverityInfo diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 498262795e..dff41a7094 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -204,7 +204,7 @@ func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, r // deleted by its own run's sweep mid-pull, which the kubelet // reports as FailedToRetrieveImagePullSecret. A --no-cleanup // Secret would otherwise be adopted by every later run. - if hasValidatorManagedLabels(s.Labels) { + if isAnyValidatorSecret(&s) { continue } return s.Name, nil @@ -328,6 +328,17 @@ func isManagedByValidatorCLI(s *corev1.Secret) bool { return hasValidatorManagedLabels(s.Labels) } +// isAnyValidatorSecret reports whether a Secret was minted by any version of +// this CLI's validator, including released ones that label with +// managed-by=nvcf-cli and use the bare nvcf-preflight-pull-secret name. Such a +// Secret belongs to another run: its CLI deletes it on exit, possibly while +// this run's pod is still pulling, and a stale one would be reused forever. +func isAnyValidatorSecret(s *corev1.Secret) bool { + return hasValidatorManagedLabels(s.Labels) || + s.Labels["app.kubernetes.io/name"] == clusterValidatorAppLabel || + strings.HasPrefix(s.Name, validatorPullSecretName) +} + // hasValidatorManagedLabels reports whether an object carries the labels this // CLI stamps on everything it creates. It is the ownership test for every // resource the validator writes to or deletes by name, not just Secrets. diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 2f4aa2fb07..f6cbc29653 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -547,3 +547,28 @@ func TestAutoCreatePullSecretFromEnv_MintsUnderTheRunScopedName(t *testing.T) { require.NoError(t, err) assert.Contains(t, got, "a1b2c3d4e5", "the minted secret must be run-scoped") } + +// A released CLI's pull Secret carries managed-by=nvcf-cli and the bare name. +// It is that CLI's to delete, so adopting it breaks a pull mid-flight or +// reuses a stale key forever. +func TestScanAndMirrorPullSecret_NeverAdoptsAReleasedCLIsSecret(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + legacy := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretName, + Namespace: clusterValidatorNamespace, + Labels: map[string]string{ + "app.kubernetes.io/name": clusterValidatorAppLabel, + "app.kubernetes.io/managed-by": "nvcf-cli", + "app.kubernetes.io/component": "preflight", + }, + }, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + } + client := fake.NewSimpleClientset(legacy) + got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + clusterValidatorComputePlaneRole, "runid", false) + require.NoError(t, err) + assert.Empty(t, got) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index e06d477d8f..a0bee9386d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -115,12 +115,16 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri } } // Anonymous read works. For a critical registry that is still not - // enough: the install pulls private repositories, so fall through to - // the credential requirement below rather than returning early. + // enough: the install pulls private repositories, so a credential must + // exist. It cannot be verified here, since /v2/ accepts anyone, so say + // so rather than report "credentials valid". if !critical { return nil } - return requireConfiguredCredentials(registry) + if err := requireConfiguredCredentials(registry); err != nil { + return err + } + return errRegistryCredentialsNotVerified{registry: registry} case http.StatusUnauthorized: // Auth required - proceed with token exchange. default: @@ -167,6 +171,15 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri return nil } +// errRegistryCredentialsNotVerified marks a registry that allows anonymous +// access to /v2/: a local credential exists, but nothing here proves the +// registry accepts it. Reported as a pass that says so. +type errRegistryCredentialsNotVerified struct{ registry string } + +func (e errRegistryCredentialsNotVerified) Error() string { + return "credentials configured; not verified, because the registry allows anonymous access to /v2/" +} + // errRegistryProbeSkipped marks a registry this probe cannot speak to. The // caller reports it as a skip rather than a credential failure. type errRegistryProbeSkipped struct{ reason string } @@ -182,6 +195,11 @@ func selectAuthChallenge(challenges []string) string { if strings.EqualFold(authChallengeScheme(c), "Bearer") { return c } + // Several challenges can also share one header, comma-separated: + // `Negotiate, Bearer realm="..."`. Take the Bearer one from there. + if i := bearerChallengeStart(c); i > 0 { + return c[i:] + } } if len(challenges) > 0 { return challenges[0] @@ -189,6 +207,23 @@ func selectAuthChallenge(challenges []string) string { return "" } +// bearerChallengeStart returns where a Bearer challenge begins after a comma +// in a joined WWW-Authenticate value, or -1. +func bearerChallengeStart(header string) int { + lower := strings.ToLower(header) + for from := 0; ; { + j := strings.Index(lower[from:], "bearer ") + if j < 0 { + return -1 + } + j += from + if j > 0 && strings.HasSuffix(strings.TrimRight(lower[:j], " "), ",") { + return j + } + from = j + 1 + } +} + // authChallengeScheme returns the auth scheme named by a WWW-Authenticate // header, or "" when the header is absent or malformed. func authChallengeScheme(header string) string { diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index e589752390..162b08a2ee 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -545,3 +545,30 @@ func TestEnumerateRegistries_RejectedImageRegistryDoesNotSuppressFallback(t *tes } assert.Contains(t, names, ngcRegistry) } + +// A critical registry whose /v2/ answers 200 lets anyone in, so a configured +// credential cannot be checked there. The result says so instead of +// "credentials valid", and the check still passes. +func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + w.Header().Set("Docker-Distribution-Api-Version", "registry/2.0") + w.WriteHeader(http.StatusOK) + })) + defer srv.Close() + origTransport := http.DefaultTransport + http.DefaultTransport = srv.Client().Transport + t.Cleanup(func() { http.DefaultTransport = origTransport }) + host := strings.TrimPrefix(srv.URL, "https://") + dockerHome(t, inlineDockerConfig(t, host, "u", "p", "")) + + err := probeRegistryCredential(context.Background(), host, "", true) + var notVerified errRegistryCredentialsNotVerified + require.ErrorAs(t, err, ¬Verified) + + r := registryCredentialCheck(func(ctx context.Context, reg, repo string, critical bool) error { + return probeRegistryCredential(ctx, reg, repo, critical) + }, RegistryEntry{Registry: host, Critical: true}).Run(context.Background()) + assert.True(t, r.Passed) + assert.NotContains(t, r.Message, "credentials valid") + assert.Contains(t, r.Message, "not verified") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 99c6434c88..4830f3d55a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -18,6 +18,7 @@ limitations under the License. package selfhosted import ( + "bytes" "context" "encoding/base64" "encoding/json" @@ -228,7 +229,9 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep // or is an NGC auth domain when the registry is NGC-hosted (NGC delegates // token issuance to authn.nvidia.com and other nvidia.com sub-domains). realmHost := strings.ToLower(u.Hostname()) - regHost := strings.ToLower(registry) + // Brackets off, to match u.Hostname(): "[fd00::1]" with no port fails + // SplitHostPort and would otherwise reject its own token server. + regHost := strings.ToLower(strings.TrimSuffix(strings.TrimPrefix(registry, "["), "]")) if h, _, err := net.SplitHostPort(registry); err == nil { regHost = strings.ToLower(h) } @@ -543,18 +546,21 @@ func credsFromDockerConfig(registry string) (string, string, bool) { if err := json.Unmarshal(body, &doc); err != nil { return "", "", false } - // A per-registry helper wins over the global store, as in docker itself. - // Docker Desktop keeps every login in credsStore and leaves only an empty - // auths entry, so without this a working `docker login` is invisible. - helper := doc.CredHelpers[registry] + // Docker's order: a per-registry credHelpers entry, else credsStore, and + // only with neither configured the inline auths entry. With a store + // configured docker never reads an inline password, so an old one left in + // the file must not win here either: that sent a stale key while `docker + // pull` worked. + key := dockerConfigKey(registry) + helper := doc.CredHelpers[key] if helper == "" { helper = doc.CredsStore } - entry, ok := doc.Auths[registry] - if !ok || (entry.Auth == "" && entry.Username == "") { - if helper != "" { - return credsFromHelper(helper, registry) - } + if helper != "" { + return credsFromHelper(helper, key) + } + entry, ok := doc.Auths[key] + if !ok { return "", "", false } if entry.Username != "" && entry.Password != "" { @@ -574,6 +580,20 @@ func credsFromDockerConfig(registry string) (string, string, bool) { return "", "", false } +// dockerHubConfigKey is the key docker stores Docker Hub logins under. +const dockerHubConfigKey = "https://index.docker.io/v1/" + +// dockerConfigKey maps a registry host to the key docker uses for it in +// config.json. Docker Hub's hosts all share one legacy key; every other +// registry is keyed by its host. +func dockerConfigKey(registry string) string { + switch registry { + case "docker.io", "index.docker.io", "registry-1.docker.io": + return dockerHubConfigKey + } + return registry +} + // credentialHelperName matches the docker-credential- suffixes docker // accepts. Anything else is refused rather than put on an exec path. var credentialHelperName = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9_.-]*$`) @@ -594,20 +614,46 @@ func credsFromHelper(helper, registry string) (string, string, bool) { defer cancel() cmd := exec.CommandContext(ctx, "docker-credential-"+helper, "get") cmd.Stdin = strings.NewReader(registry) - out, err := cmd.Output() - if err != nil { + // Without WaitDelay a helper that leaves a child holding stdout open keeps + // Output waiting past the timeout. The output cap keeps a misbehaving + // helper from filling memory; a credential is a few hundred bytes. + cmd.WaitDelay = time.Second + var out cappedBuffer + cmd.Stdout = &out + if err := cmd.Run(); err != nil || out.overflow { return "", "", false } var cred struct { Username string `json:"Username"` Secret string `json:"Secret"` } - if err := json.Unmarshal(out, &cred); err != nil || cred.Secret == "" { + if err := json.Unmarshal(out.buf.Bytes(), &cred); err != nil || cred.Secret == "" { return "", "", false } return cred.Username, cred.Secret, true } +// credentialHelperOutputLimit caps what a credential helper may write. +const credentialHelperOutputLimit = 64 << 10 + +// cappedBuffer keeps at most credentialHelperOutputLimit bytes and records +// whether more were written. +type cappedBuffer struct { + buf bytes.Buffer + overflow bool +} + +func (c *cappedBuffer) Write(p []byte) (int, error) { + if room := credentialHelperOutputLimit - c.buf.Len(); len(p) > room { + c.overflow = true + if room > 0 { + c.buf.Write(p[:room]) + } + return len(p), nil + } + return c.buf.Write(p) +} + // pickBestValidatorTag filters to recognized validator tags and returns // the best one: // diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index f1dafeb95d..3d12742105 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -372,8 +372,9 @@ func TestExchangeBearerToken_RejectsAttackerRealm(t *testing.T) { // // Credentials have to be configured for the assertion to mean anything: if // none were present, no request could carry an Authorization header whether - // the control works or not. - t.Setenv("NGC_API_KEY", "test-key") + // the control works or not. NGC_API_KEY is not one: it only applies to NGC + // registries, so it left this assertion vacuous. + dockerHome(t, inlineDockerConfig(t, "harbor.company.internal", "u", "p", "")) rec := &recordingTransport{inner: http.DefaultTransport} client := &http.Client{Transport: rec} @@ -396,7 +397,7 @@ func TestExchangeBearerToken_RejectsAttackerRealm(t *testing.T) { // u.Host (":443") so it clears the relative-realm guard, but Hostname() is "", // and an empty trustedRealmDelegations lookup would compare equal to it. func TestExchangeBearerToken_RejectsEmptyRealmHost(t *testing.T) { - t.Setenv("NGC_API_KEY", "test-key") + dockerHome(t, inlineDockerConfig(t, "harbor.company.internal", "u", "p", "")) rec := &recordingTransport{inner: http.DefaultTransport} client := &http.Client{Transport: rec} @@ -500,3 +501,31 @@ func TestExchangeNGCBearerToken_RejectsHostConfusion(t *testing.T) { assert.Empty(t, rec.withAuth, "the NGC API key must not be sent to a confused host") assert.Empty(t, rec.requests, "no request may be issued at all") } + +// A bracketed IPv6 registry on the default port must accept its own token +// server: u.Hostname() drops the brackets, so the registry side must too. +func TestExchangeBearerToken_AcceptsBracketedIPv6Registry(t *testing.T) { + dockerHome(t, inlineDockerConfig(t, "[fd00::1]", "u", "p", "")) + rec := &recordingTransport{inner: roundTripperFunc(func(r *http.Request) (*http.Response, error) { + return &http.Response{ + StatusCode: http.StatusOK, + Body: io.NopCloser(strings.NewReader(`{"token":"t"}`)), + Header: make(http.Header), + }, nil + })} + tok, err := exchangeBearerToken(context.Background(), &http.Client{Transport: rec}, + "[fd00::1]", "repo", `Bearer realm="https://[fd00::1]/token",service="r"`) + require.NoError(t, err) + assert.Equal(t, "t", tok) +} + +// A redirect may not downgrade to cleartext: Go keeps the Authorization header +// across a same-host redirect whatever the scheme. +func TestRefuseInsecureRedirect(t *testing.T) { + plain, err := http.NewRequest(http.MethodGet, "http://reg.example.com/token", nil) + require.NoError(t, err) + assert.Error(t, refuseInsecureRedirect(plain, nil)) + secure, err := http.NewRequest(http.MethodGet, "https://reg.example.com/token", nil) + require.NoError(t, err) + assert.NoError(t, refuseInsecureRedirect(secure, nil)) +} From 047d62c6f4689483a48dfffb5db58bcc88686f32 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 03:23:31 +0530 Subject: [PATCH 044/127] fix(nvcf-cli): trim the validator ClusterRole to the verbs its checks use Signed-off-by: rohithb --- .../internal/selfhosted/clustervalidator.go | 24 ++++++++++--------- .../clustervalidator_lifecycle_test.go | 21 ++++++++++++++++ .../selfhosted/clustervalidator_test.go | 11 ++++----- 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 765aa5fc7b..80ee140294 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -418,14 +418,16 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface cr := &rbacv1.ClusterRole{ ObjectMeta: metav1.ObjectMeta{Name: name, Labels: roleLabels}, + // Least privilege: only what the validator actually calls. It never + // creates Services, reads pod logs or watches anything, and it reads + // GatewayClasses through discovery alone. Rules: []rbacv1.PolicyRule{ - // Read-only: cluster inventory and configuration. - {APIGroups: []string{""}, Resources: []string{"nodes", "configmaps"}, Verbs: []string{"get", "list", "watch"}}, - // Read + write: enforcement checks create and delete probe namespaces - // and pods; the active-LB check creates and deletes a probe service. - {APIGroups: []string{""}, Resources: []string{"namespaces", "pods", "services"}, Verbs: []string{"get", "list", "watch", "create", "delete"}}, - // Pod log subresource: read probe output without exec. - {APIGroups: []string{""}, Resources: []string{"pods/log"}, Verbs: []string{"get"}}, + // Read-only: cluster inventory, its config ConfigMap, and the + // LoadBalancer Services the external-LB check inspects. + {APIGroups: []string{""}, Resources: []string{"nodes", "configmaps", "services"}, Verbs: []string{"get", "list"}}, + // Read + write: the overlay and enforcement probes create and delete + // their own namespaces and pods. + {APIGroups: []string{""}, Resources: []string{"namespaces", "pods"}, Verbs: []string{"get", "list", "create", "delete"}}, {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"csidrivers", "storageclasses"}, Verbs: []string{"get", "list"}}, // NetworkPolicies: read for CNI detection; write for enforcement // check which creates/updates/deletes policies in the temp namespace. @@ -435,11 +437,11 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // DaemonSets: create/delete for the node-to-node DaemonSet probe; list to watch pod readiness. {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"get", "list"}}, {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"get", "list", "create", "delete"}}, - // Gateway API: control-plane gateway and route health checks. The - // validator follows every NVCF route kind's parentRefs to learn - // which Gateways are NVCF's, so all four route kinds are read. + // Gateway API: the validator follows every NVCF route kind's + // parentRefs to learn which Gateways are NVCF's, and reads those + // Gateways' classes. {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{ - "gatewayclasses", "gateways", "httproutes", "grpcroutes", "tcproutes", "udproutes", + "gateways", "httproutes", "grpcroutes", "tcproutes", "udproutes", }, Verbs: []string{"get", "list"}}, {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, }, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 854218a902..4c490806b3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -411,3 +411,24 @@ func TestRunClusterValidator_InterruptLeavesNothingBehind(t *testing.T) { } assert.True(t, deleted, "the Job must be stopped so its pod stops using the RBAC") } + +// The run's ClusterRole grants only what the validator calls. It never creates +// Services, reads pod logs or watches anything. +func TestEnsureClusterValidatorRBAC_LeastPrivilege(t *testing.T) { + client := fake.NewSimpleClientset() + require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, clusterValidatorControlPlaneRole, "runid", false)) + cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), + clusterValidatorRBACName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) + require.NoError(t, err) + for _, r := range cr.Rules { + for _, v := range r.Verbs { + assert.NotEqual(t, "watch", v, "no rule needs watch") + } + for _, res := range r.Resources { + assert.NotEqual(t, "pods/log", res) + if res == "services" { + assert.ElementsMatch(t, []string{"get", "list"}, r.Verbs, "services are only read") + } + } + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index d41dd58887..3bc0a496a6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -263,17 +263,16 @@ func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { // Probe pods spun up for node-to-node and inter-namespace checks. {"", "pods", "create"}, {"", "pods", "delete"}, - // Log reading: fetch probe output without exec. - {"", "pods/log", "get"}, - // Active LB probe service. - {"", "services", "create"}, - {"", "services", "delete"}, + // The external-LB check lists LoadBalancer Services. + {"", "services", "list"}, + // The node-to-node probe DaemonSet. + {"apps", "daemonsets", "create"}, + {"apps", "daemonsets", "delete"}, // Enforcement check creates/updates/deletes NetworkPolicies in temp namespace. {"networking.k8s.io", "networkpolicies", "create"}, {"networking.k8s.io", "networkpolicies", "update"}, {"networking.k8s.io", "networkpolicies", "delete"}, // Gateway API health checks. - {"gateway.networking.k8s.io", "gatewayclasses", "get"}, {"gateway.networking.k8s.io", "gateways", "list"}, {"gateway.networking.k8s.io", "httproutes", "get"}, {"gateway.networking.k8s.io", "grpcroutes", "list"}, From 8581a783201eb0b89b266d348909cf570a517706 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 03:31:54 +0530 Subject: [PATCH 045/127] fix(nvcf-cli): keep the no-cleanup hint on RBAC failure, forward list-valued gateway names, and mark warnings apart from failures Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 24 +++++++-- .../cmd/self_hosted_check_scope_test.go | 13 +++++ .../self_hosted_check_validatorenv_test.go | 49 +++++++++++++++++++ .../internal/selfhosted/clustervalidator.go | 43 +++++++++------- .../clustervalidator_lifecycle_test.go | 35 +++++++++++++ .../nvcf-cli/internal/selfhosted/preflight.go | 31 +++++++----- .../selfhosted/progress/render_tty.go | 7 ++- .../selfhosted/progress/render_tty_test.go | 7 +++ .../selfhosted/stale_namespace_test.go | 4 ++ 9 files changed, 175 insertions(+), 38 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index caa4e57221..67b233ef1f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -207,6 +207,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // validator row" with "validator silently dropped". Print at most one // reason; --skip-cluster-validation takes precedence over missing // config since it's the explicit operator choice. + // --local-only overrides the required scope flag, so say which checks + // that drops rather than print a clean host-only result for --all. + if localOnly { + fmt.Fprintln(c.ErrOrStderr(), "note: --local-only runs the local host checks only; cluster checks for the requested scope are skipped") + } if !localOnly && (computePlaneIsVisited() || controlPlaneIsVisited()) { switch { case skipClusterValidation: @@ -740,15 +745,26 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { } // configValue reads a setting the way the CLI's cluster configuration does -// (environment, then the nvcf-cli config file). +// (environment, then the nvcf-cli config file). A YAML list in the config +// file is joined with commas, the form the validator's list settings parse; +// GetString alone returns "" for a list and would drop it silently. func configValue(key string) string { if v := strings.TrimSpace(os.Getenv(key)); v != "" { return v } - if viper.IsSet(key) { - return strings.TrimSpace(viper.GetString(key)) + if !viper.IsSet(key) { + return "" } - return "" + if _, isList := viper.Get(key).([]any); isList { + var items []string + for _, item := range viper.GetStringSlice(key) { + if item = strings.TrimSpace(item); item != "" { + items = append(items, item) + } + } + return strings.Join(items, ",") + } + return strings.TrimSpace(viper.GetString(key)) } // resolveClusterValidatorImage resolves the validator image from flag > env > diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 41fc8df9a6..79db6a6cb6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -93,3 +93,16 @@ func TestCheck_SISReachabilityScope(t *testing.T) { _, hits = runCheckRecording(t, "--control-plane") assert.Zero(t, hits, "SIS is a compute-plane check") } + +// --local-only overrides the required scope flag; the run says so on stderr. +func TestCheck_LocalOnlyNotesSkippedClusterChecks(t *testing.T) { + resetCheckFlags(t) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) + rootCmd.SetArgs([]string{"self-hosted", "check", "--all", "--local-only", "--json"}) + _ = rootCmd.Execute() + assert.Contains(t, stderr.String(), "--local-only runs the local host checks only") +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 140fc2c060..a37649344b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -97,3 +97,52 @@ func TestCheck_ControlPlaneValidatorGetsRegistriesAndEnv(t *testing.T) { assert.Contains(t, regs, "nvcr.io", "the enumerated registries must reach the validator") assert.Equal(t, "true", cp.Env["VALIDATOR_POST_INSTALL"]) } + +// NVCF_GATEWAY_NAMES written as a YAML list in the config file reaches the Job +// in the comma form the validator parses, not as an empty string. +func TestClusterValidatorJobEnv_GatewayNamesYAMLList(t *testing.T) { + t.Setenv("NVCF_GATEWAY_NAMES", "") + viper.Set("NVCF_GATEWAY_NAMES", []any{"gateway/nvcf-gw", " edge/shared ", ""}) + t.Cleanup(func() { viper.Set("NVCF_GATEWAY_NAMES", nil) }) + + env := clusterValidatorJobEnv(selfhosted.StackValues{}) + assert.Equal(t, "gateway/nvcf-gw,edge/shared", env["NVCF_GATEWAY_NAMES"]) +} + +// --pre in split mode visits both clusters, so each gets its own validator +// role against its own context, both marked pre-install. +func TestCheck_PreSplitRunsBothValidatorRoles(t *testing.T) { + resetCheckFlags(t) + var mu sync.Mutex + got := map[string]selfhosted.ClusterValidatorParams{} + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + defer mu.Unlock() + got[p.Role] = p + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + + var errBuf bytes.Buffer + rootCmd.SetErr(&errBuf) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json", + "--control-plane-context", "cp-ctx", "--compute-plane-context", "gpu-ctx", + "--icms-url", "https://sis.example.invalid", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}) + _ = rootCmd.Execute() + + mu.Lock() + defer mu.Unlock() + cp, ok := got["control-plane"] + require.True(t, ok, "the control-plane validator must run; output: %s", errBuf.String()) + gpu, ok := got["compute-plane"] + require.True(t, ok, "the compute-plane validator must run; output: %s", errBuf.String()) + assert.Equal(t, "cp-ctx", cp.KubeContext) + assert.Equal(t, "gpu-ctx", gpu.KubeContext) + assert.NotContains(t, cp.Env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 80ee140294..ebcc4592d0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -208,7 +208,9 @@ func runClusterValidator( } }() if err := ensureClusterValidatorRBAC(vctx, client, role, runID, noCleanup); err != nil { - return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} + // RunID lets --no-cleanup print the command that removes whatever the + // failed bootstrap and the pull-secret step already created. + return ClusterValidatorResult{RunID: runID, Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} } // For the control-plane role, create a ConfigMap with reachability @@ -246,9 +248,10 @@ func runClusterValidator( } podMayBeRunning = true - // The Job owns this run's pull secret and ConfigMap, so they go when its - // TTL (or, for --no-cleanup, the preserved-object sweep) removes it, even - // on paths where the deferred sweeps are suppressed. The ServiceAccount is + // The Job owns this run's pull secret and ConfigMap, so they go when the + // Job goes, even on paths where the deferred sweeps are suppressed: its + // TTL removes it, or for --no-cleanup a later check's orphan sweep once + // preservedValidatorTTL has passed. The ServiceAccount is // deliberately not owned: the ClusterRole and binding are cluster-scoped // and cannot be, and deleting the account alone would leave a binding // that anyone able to recreate that ServiceAccount name could inherit. @@ -395,9 +398,9 @@ func (e *validatorImagePullError) Error() string { return fmt.Sprintf("validator pod cannot pull image (%s): %s", e.reason, e.message) } -// Creates the SA/ClusterRole/ClusterRoleBinding the validator pod runs under, -// idempotent via AlreadyExists tolerance. ClusterRole uses update-or-create so -// newer CLI versions replace stale rules without the operator needing to delete. +// ensureClusterValidatorRBAC creates this run's ServiceAccount, ClusterRole and +// ClusterRoleBinding for the validator pod. Create only: the names are unique +// per run, so an object that already exists was not made by this run. func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool) error { roleLabels := clusterValidatorRunLabels(role, runID, preserve) name := clusterValidatorRBACName(role, runID) @@ -481,10 +484,9 @@ func clusterValidatorLabels() map[string]string { } } -// clusterValidatorRoleLabels adds the role so the prior-run sweep only matches -// Jobs from the same role. Without it, a ModeSingle run deletes the other -// role's Job mid-command, including under --no-cleanup, which makes the -// printed `kubectl logs job/...` hint 404. +// clusterValidatorRoleLabels are the managed labels plus the role, with no run +// ID. validatorRoleSelector matches on them, so a lookup for one role never +// returns the other role's objects in a ModeSingle run. func clusterValidatorRoleLabels(role string) map[string]string { return clusterValidatorRunLabels(role, "", false) } @@ -675,10 +677,11 @@ func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, } } -// sweepManagedPullSecrets removes any docker-registry secrets in -// clusterValidatorNamespace that we previously created (mirrored from -// another namespace or minted from NGC_API_KEY). Called after the Job -// terminates so NGC credentials don't persist across preflight runs. +// sweepManagedPullSecrets removes this run's docker-registry secret in +// clusterValidatorNamespace (mirrored from another namespace or minted from +// NGC_API_KEY). Called after the Job terminates so NGC credentials don't +// persist across preflight runs. Other runs' secrets are left to their own +// sweeps or to sweepOrphanClusterValidatorRBAC. // // Operator-supplied secrets via --cluster-validator-pull-secret aren't // labeled by us and are skipped by the selector. Errors are swallowed: @@ -787,7 +790,7 @@ const controlPlaneValidatorEnforcementConfig = `enforcement: critical: false ` -// ensureClusterValidatorConfig creates or updates the network-check ConfigMap. +// ensureClusterValidatorConfig creates this run's network-check ConfigMap. // Best-effort: the validator skips configurable checks when it is absent. func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, registries []RegistryEntry, runID string, preserve bool) error { content := buildControlPlaneValidatorConfig(registries) @@ -811,8 +814,9 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa return nil } - // Always update so a newer CLI version's config (or new registries) replaces - // stale content, but never overwrite a ConfigMap we do not own. + // The name is per run, so an existing object was not created by this run. + // Replace the content only when it carries our labels; never overwrite a + // ConfigMap we do not own. if !hasValidatorManagedLabels(existing.Labels) { return fmt.Errorf( "refusing to overwrite ConfigMap %s/%s which is not managed by nvcf-cli", @@ -967,7 +971,8 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle // the deferred sweeps, or to a later run's orphan sweep. Sized above // the runner's own budget so it never truncates a wait that is still // making progress. A --no-cleanup Job gets neither, so the pod and its - // logs survive for debugging until the preserved-object sweep. + // logs survive for debugging until the operator removes them or a + // later check's orphan sweep runs after preservedValidatorTTL. activeDeadline := int64(clusterValidatorTimeout/time.Second) + 60 job.Spec.ActiveDeadlineSeconds = &activeDeadline ttl := clusterValidatorTTLSeconds diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 4c490806b3..00d142c276 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -159,6 +159,22 @@ func TestRunClusterValidator_FailedBootstrapLeavesNothingBehind(t *testing.T) { assert.Empty(t, sas.Items, "the ServiceAccount created before the failure must be removed") } +// Under --no-cleanup a failed bootstrap keeps what it created, so the result +// still carries the run ID the removal command selects on. +func TestRunClusterValidator_NoCleanupFailedBootstrapReportsTheRun(t *testing.T) { + client := fake.NewSimpleClientset() + client.PrependReactor("create", "clusterroles", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewForbidden( + schema.GroupResource{Group: rbacv1.GroupName, Resource: "clusterroles"}, "", nil) + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + require.NotEmpty(t, res.RunID) + assert.Len(t, leftovers(t, client, res.RunID)["ServiceAccount"], 1) +} + // A pull failure means the container never started, so nothing uses the RBAC, // the NGC pull secret or the ConfigMap: the Job is deleted and all of them go // now, instead of waiting 30 minutes for another run's orphan sweep. @@ -432,3 +448,22 @@ func TestEnsureClusterValidatorRBAC_LeastPrivilege(t *testing.T) { } } } + +// Only the control-plane Job reads a network-check ConfigMap. The compute-plane +// Job gets a non-empty name that resolves to nothing: an empty value would let +// the validator fall back to its default name and pick up control-plane config. +func TestBuildClusterValidatorJob_ConfigNamePerRole(t *testing.T) { + configName := func(role string) string { + job := buildClusterValidatorJob("j", "img:1", "", role, "runid", false, nil) + for _, e := range job.Spec.Template.Spec.Containers[0].Env { + if e.Name == "VALIDATOR_CONFIG_NAME" { + return e.Value + } + } + return "" + } + assert.Equal(t, clusterValidatorConfigRunName("runid"), configName(clusterValidatorControlPlaneRole)) + cp := configName(clusterValidatorComputePlaneRole) + assert.Equal(t, clusterValidatorNoConfigName, cp) + assert.NotEqual(t, clusterValidatorConfigName, cp, "must not be the validator's default name") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index f8d58fd08c..7b2c6b1f35 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -796,6 +796,8 @@ func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEn } } +// mergeNamespaces returns the union of two namespace lists, order-stable and +// de-duplicated. func mergeNamespaces(base, extra []string) []string { if len(extra) == 0 { return base @@ -817,8 +819,6 @@ func mergeNamespaces(base, extra []string) []string { // staleNamespaceCheck detects NVCF namespaces stuck Terminating or left as // empty shells after a partial teardown. Severity is error; prober errors // degrade to warning so transient kubeconfig issues don't falsely fail. -// mergeNamespaces returns the union of two namespace lists, order-stable and -// de-duplicated. func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namespaces []string) binaryCheckSpec { const id = "stale-namespaces" return binaryCheckSpec{ @@ -863,26 +863,31 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp kctl := "kubectl" + kubectlContextArg(probedContext) var hints []string if len(terminating) > 0 { - // spec.finalizers is writable only through the /finalize - // subresource: a plain patch or update is silently reverted by - // the apiserver's namespace strategy, so `kubectl patch ... - // --type=merge` prints "patched" and changes nothing. - for _, ns := range terminating { - hints = append(hints, fmt.Sprintf( - "clear namespace finalizers on %s: %s get ns %s -o json | "+ - "jq '.spec.finalizers=[]' | %s replace --raw /api/v1/namespaces/%s/finalize -f -", - ns, kctl, ns, kctl, ns)) - } + // Inspect first, force last. A namespace usually stays + // Terminating because an object inside it still has a + // finalizer; clearing the namespace's own finalizers skips that + // object's cleanup and can orphan what it manages, such as a + // cloud load balancer or volume. // One command per namespace with the real name substituted. A // `` placeholder is not pasteable: the shell reads `<` and // `>` as redirection, so the command fails before kubectl runs. for _, ns := range terminating { hints = append(hints, fmt.Sprintf( - "if %s stays Terminating, the deadlock is on objects inside it: "+ + "find what is holding %s in Terminating: "+ "%s api-resources --verbs=list --namespaced -o name | "+ "xargs -n1 %s get -n %s --show-kind --ignore-not-found", ns, kctl, kctl, ns)) } + // spec.finalizers is writable only through the /finalize + // subresource: a plain patch or update is silently reverted by + // the apiserver's namespace strategy, so `kubectl patch ... + // --type=merge` prints "patched" and changes nothing. + for _, ns := range terminating { + hints = append(hints, fmt.Sprintf( + "only if nothing inside %s can be cleaned up, force-clear its finalizers: %s get ns %s -o json | "+ + "jq '.spec.finalizers=[]' | %s replace --raw /api/v1/namespaces/%s/finalize -f -", + ns, kctl, ns, kctl, ns)) + } } if len(emptyShell) > 0 { // Deliberately not a delete command. A namespace with no Helm diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index 6191c974dd..7af56b8e17 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -1763,13 +1763,16 @@ func humanCategoryName(raw string) string { // checkGlyph returns the bracketed glyph for a check row. Matches install-mode // convention: bracket + unicode, unchanged in ASCII-only mode (AsciiOnly only -// strips ANSI color codes, not unicode characters). +// strips ANSI color codes, not unicode characters). A miss below error +// severity is a warning, tallied and exited on as one, so it gets its own mark. func checkGlyph(row checkRow) string { switch { case row.finished && row.passed: return "[✓]" - case row.finished && !row.passed: + case row.finished && row.severity == "error": return "[✘]" + case row.finished: + return "[!]" case row.started && !row.finished: return "[▶]" default: diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index e55823d69d..1c1250e0e4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -568,6 +568,13 @@ func TestCheckOneShotRenderer_FlushesFailedSummaryOnFinal(t *testing.T) { assert.Contains(t, out, "Status: ✘ failed (1/2 passed, 1 failed)") } +// A warning row is not marked as a failure: it does not fail the run. +func TestCheckGlyph_WarningIsNotAFailure(t *testing.T) { + assert.Equal(t, "[✓]", checkGlyph(checkRow{finished: true, passed: true})) + assert.Equal(t, "[✘]", checkGlyph(checkRow{finished: true, severity: "error"})) + assert.Equal(t, "[!]", checkGlyph(checkRow{finished: true, severity: "warning"})) +} + func TestCheckOneShotRenderer_UsesFinalTallyForStatus(t *testing.T) { t.Setenv("NO_COLOR", "1") diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 821947fa8d..d2b4b8aa67 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -225,6 +225,10 @@ func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { assert.Contains(t, r.Message, "nvcf") assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", "the remediation must use the finalize subresource; a plain patch is silently reverted") + inspect := strings.Index(r.Message, "xargs -n1 kubectl get -n nvcf") + force := strings.Index(r.Message, "/finalize") + require.GreaterOrEqual(t, inspect, 0) + assert.Less(t, inspect, force, "inspecting the namespace comes before force-clearing its finalizers") } func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { From 88072220616cdaceb13bbcb733105f8821594487 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 03:31:54 +0530 Subject: [PATCH 046/127] docs(nvcf-cli): document the validator registry set, probe image, local-only scope and check exit codes Signed-off-by: rohithb --- .../reference/exit-codes.md | 4 +- .../nvcf-self-managed-cli/reference/flags.md | 5 +- .../agentskill/skilldata_generated.go | 4319 +++++++++-------- 3 files changed, 2173 insertions(+), 2155 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index fe27d62671..1c6924095f 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,7 +6,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent. Warning-severity results, such as a validator that could not run, exit `0` | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but didn't pass before duration | | `130` | Cancelled by SIGINT/SIGTERM | User Ctrl-C; CI budget exceeded; pod evicted | @@ -24,4 +24,4 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. ## Where to find more detail -Every non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. +`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 2f6a0c35c1..19b255688b 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -24,7 +24,7 @@ | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ | derived from `base_http_url` | -| `--local-only` | `check --pre` only; skip all kubectl contact | `false` | +| `--local-only` | `check` only; run the local-host checks and skip all kubectl contact, whatever scope flag is passed. The CLI prints a note saying so. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY` | `false` | ## `check`-specific @@ -49,7 +49,8 @@ after the run, so the kubeconfig context needs permission to manage those. | Flag | Purpose | Default | |---|---|---| | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. Unset everywhere skips the probe with a warning | - | -| `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. `nvcr.io` is always probed. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | `nvcr.io` only | +| `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed, as non-critical, only when neither the image nor the stack names a registry. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | +| `--cluster-validator-probe-image REF` | Image for the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on an NGC registry, it mints one from `NGC_API_KEY` | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A later check reclaims them after 24 hours; the result prints the `kubectl delete` command that removes them now | `false` | diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 526fbada7d..2655ad84e6 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDM4MDYsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDQ3OTYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NGI1ZmE5YmNhZjBlMGE1M2Y3" + - "ODkyMGI3M2ZjYjUzMGFiNjk0NTFiNDhhNWI0OTNmMjUyY2ExODU4M2FiMDg2IiwKICAgICAgInNp" + - "emUiOiAxNzQ5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1OTM1ZDkzNjE4ZGM5M2Qx" + - "OTM5ZGMxNmYzYWQ5NjRjOGRjOGY0YjllOTYxNzViNmQxM2QxM2Q3ZWY1YzM0OTE3IiwKICAgICAg" + - "InNpemUiOiAxMjEzMgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNDgzOTMwM2MwNGU4ZjUzYmVh" + + "N2FkMzQyZGI1MGY4YjRmNzI5ODUzNjEzOTJlZjhjMDcyNDFkMmZhM2I4MDc3IiwKICAgICAgInNp" + + "emUiOiAyMDE4CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIyNzYzYWY2ZjA2YzYzM2E4" + + "YzU5MzY4NTJkYWIzMmViYzgwMDQ1MTFiZDdkZmNhOGQ2ZTZhMmM0N2Q3N2VmNTcxIiwKICAgICAg" + + "InNpemUiOiAxMjg1MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCKv81L5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCF3Gf9hKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1617,2155 +1617,2172 @@ const skillDataZipBase64 = "" + "LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxs" + "IGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBI" + "ZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZ" + - "QU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEdhdGV3" + - "YXkgQVBJIENSRHMgbWlzc2luZzsga3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdl" + - "Q2xhc3MgYWJzZW50IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsgYC0t" + - "bm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50IHVu" + - "cmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBvdXQg" + - "fCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWRuJ3QgcGFzcyBiZWZv" + - "cmUgZHVyYXRpb24gfAp8IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVC9TSUdURVJNIHwgVXNl" + - "ciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQgfAoKIyMgSG93IGFuIGFn" + - "ZW50IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBg" + - "MGAgfCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIg" + - "dG8gdXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVl" + - "ZCBhIGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBj" + - "aGVja3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNl" + - "ciBmaXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVy" + - "YWN0aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1" + - "c2VyIE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBk" + - "aWcgaW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9u" + - "J3QgcmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmly" + - "bSBiZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKRXZl" + - "cnkgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBl" + - "dmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJy" + - "YXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3Jl" + - "bWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5k" + - "IGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNv" + - "bnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2gg" + - "ZnJvbSBzdGRlcnIuClBLBwhzp1pk1QYAANUGAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0A" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIj" + - "IGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3ViY29t" + - "bWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNv" + - "bmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwK" + - "fCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwK" + - "fCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZLCBv" + - "biB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAo" + - "cGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPeKApmAgfCBDb250cm9s" + - "LXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVS" + - "TCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrPeKApmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBh" + - "dGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5" + - "IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx84oCmYCB8IEhlbG1maWxlIGVudmly" + - "b25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3IgcmVsZWFzZXMg" + - "fAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZh" + - "bHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vz" + - "c2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBk" + - "byBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8" + - "IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBt" + - "YWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRw" + - "dXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IGJs" + - "b2NrIHVudGlsIHBhc3MgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1" + - "YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4" + - "dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9y" + - "IGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJs" + - "IFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyIHwg" + - "ZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2sg" + - "LS1wcmVgIG9ubHk7IHNraXAgYWxsIGt1YmVjdGwgY29udGFjdCB8IGBmYWxzZWAgfAoKIyMgYGNo" + - "ZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVg" + - "LCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3Rz" + - "IGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZs" + - "aWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMg" + - "cmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1h" + - "bGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0t" + - "Y29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNv" + - "bXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxg" + - "IHwgRXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmlu" + - "ZWQgd2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1" + - "c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlm" + - "eS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVk" + - "IHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRg" + - "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMj" + - "IyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGlu" + - "IHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2Nv" + - "dW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92" + - "ZXMgdGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBl" + - "cm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRv" + - "ciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + - "VE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3" + - "aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lz" + - "dHJ5LiBVbnNldCBldmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0g" + - "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRy" + - "YSByZWdpc3RyaWVzIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNo" + - "YWJpbGl0eS4gYG52Y3IuaW9gIGlzIGFsd2F5cyBwcm9iZWQuIFJlcGVhdGFibGUgb3IgY29tbWEt" + - "c2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsg" + - "Y29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCBgbnZjci5pb2Agb25s" + - "eSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVn" + - "aXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFn" + - "ZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5hbWVzcGFj" + - "ZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0" + - "LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdDIHJlZ2lzdHJ5LCBpdCBtaW50cyBvbmUg" + - "ZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxp" + - "ZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBF" + - "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxz" + - "ZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwg" + - "UkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGxhdGVyIGNo" + - "ZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRoZSByZXN1bHQgcHJpbnRzIHRoZSBg" + - "a3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8" + - "CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRl" + - "cnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFu" + - "ZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4g" + - "YSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNwZWNp" + - "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVz" + - "dGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8" + - "IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwK" + - "fCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAt" + - "LXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hh" + - "bmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0" + - "IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAt" + - "LXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwg" + - "RFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwg" + - "RmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2" + - "ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVg" + - "IHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElE" + - "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0" + - "LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwK" + - "fCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1v" + - "bi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9u" + - "XHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRv" + - "IGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxl" + - "IGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGly" + - "ZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNl" + - "ZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BF" + - "XWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNl" + - "IGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5" + - "IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9u" + - "IHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChk" + - "YXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + - "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZp" + - "bml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQg" + - "fAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBg" + - "LS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJs" + - "IFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNl" + - "LXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlv" + - "bi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVM" + - "VGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVy" + - "ZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBh" + - "Y2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVg" + - "IHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVk" + - "IHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJ" + - "T046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + - "bGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4s" + - "dXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + - "bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdp" + - "dGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2Ug" + - "aW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNz" + - "IHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1w" + - "cmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3Jp" + - "dHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVy" + - "LWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5" + - "IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQg" + - "b3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFu" + - "ZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBh" + - "bmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxs" + - "bUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0" + - "aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3Yx" + - "L2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3Ng" + - "LiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2Vy" + - "X29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxt" + - "Q29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRl" + - "ZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1h" + - "dC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAg" + - "KGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMg" + - "d2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAt" + - "SCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2lu" + - "ZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNr" + - "ZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwg" + - "YGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBz" + - "YW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRl" + - "cyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGlu" + - "dm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+" + - "ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1v" + - "ZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNw" + - "b25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Ig" + - "c2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5j" + - "dGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + - "LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAt" + - "IHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0" + - "IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGlt" + - "aXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRv" + - "a2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQg" + - "dG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8" + - "IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0" + - "aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8" + - "CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNj" + - "b3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlz" + - "dGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0g" + - "fAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVu" + - "dHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQv" + - "b3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9k" + - "ZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0" + - "aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + - "bWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURg" + - "IHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1p" + - "bHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5I" + - "MTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8Cnwg" + - "YC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVl" + - "c3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZh" + - "dWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lm" + - "aWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVh" + - "dGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBl" + - "YXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJl" + - "cXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8" + - "IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWAp" + - "IHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2Ug" + - "dHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQ" + - "VS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFs" + - "bHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRg" + - "IHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3" + - "aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZp" + - "bGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8" + - "IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMg" + - "TkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENv" + - "bW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3" + - "aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBv" + - "Y2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVg" + - "IHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + - "c2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0" + - "YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAg" + - "fCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRl" + - "ZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05g" + - "IHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2Vy" + - "dmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwg" + - "R3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVs" + - "dCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhh" + - "bmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExP" + - "Q0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5h" + - "bWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURg" + - "IHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJl" + - "cGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJj" + - "ZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sg" + - "dGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRl" + - "c2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVt" + - "ZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwg" + - "TWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5" + - "LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIm1pHP2Qv" + - "AABkLwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290" + - "aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRpb24u" + - "IEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyB0" + - "aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRv" + - "IGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGln" + - "aHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1" + - "YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBr" + - "dWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9j" + - "cy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBBVEhg" + - "IHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRp" + - "b24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9p" + - "bnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBlbnZv" + - "eS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIu" + - "aW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBhdmFp" + - "bGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1YmVj" + - "dGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3Jh" + - "Z2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBg" + - "R1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBHUFUg" + - "b3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2Rh" + - "dGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3Bl" + - "cmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQVSBu" + - "b2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlkaWEu" + - "Y29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNvbS9n" + - "cHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVp" + - "cmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2Vu" + - "YCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49" + - "JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFu" + - "b3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwg" + - "U3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+" + - "Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlz" + - "c2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9r" + - "ZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1r" + - "ZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJ" + - "bnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + - "fC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRy" + - "YSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3Jh" + - "Z2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8" + - "CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxv" + - "eSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBV" + - "c2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8" + - "CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwg" + - "LS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVu" + - "diBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFs" + - "dWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9y" + - "IGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21t" + - "aXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBg" + - "bnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9y" + - "OiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3Qg" + - "aW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2Qg" + - "aW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5g" + - "IHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlh" + - "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBg" + - "SFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91" + - "dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNs" + - "dXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1y" + - "dW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMg" + - "YSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBj" + - "bHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2gg" + - "d2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBj" + - "bHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQ" + - "dWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBj" + - "b25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJh" + - "Y2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBk" + - "ZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFn" + - "IChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFs" + - "dGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + - "bWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENh" + - "dXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5z" + - "IGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtl" + - "ZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVn" + - "aXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRl" + - "bnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBw" + - "cm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVk" + - "ZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0" + - "IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZy" + - "ZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4g" + - "bnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRp" + - "YXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFt" + - "ZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3Rh" + - "bGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0" + - "ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMs" + - "IHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxh" + - "bmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJh" + - "dGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Ig" + - "c2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmly" + - "b25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4K" + - "bGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAx" + - "LjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0" + - "Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1l" + - "bmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNl" + - "bGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRl" + - "LXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3Jl" + - "dHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGlu" + - "dGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + - "aGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1t" + - "YW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxh" + - "bmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10K" + - "ICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwg" + - "a3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYt" + - "TWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcg" + - "TlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgoj" + - "IyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0" + - "ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBu" + - "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFu" + - "ZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3Ry" + - "dWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFz" + - "ayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBz" + - "cGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZj" + - "Zi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNv" + - "bnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZp" + - "cm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1z" + - "dGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmls" + - "ZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1z" + - "dGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNz" + - "aW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNo" + - "Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1t" + - "YW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVy" + - "c2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJv" + - "bC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJv" + - "b3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + - "bnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5k" + - "IGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lv" + - "biAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0g" + - "dmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMg" + - "TXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xp" + - "ZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJv" + - "bC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3Rt" + - "cGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1l" + - "Pi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0" + - "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + - "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1" + - "ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0" + - "IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFz" + - "ZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkK" + - "Z2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMg" + - "cGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0" + - "cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVh" + - "c2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0" + - "aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBr" + - "ZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9y" + - "YWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGlu" + - "IHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFs" + - "LnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJh" + - "cnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4g" + - "U2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0" + - "LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNl" + - "cyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpg" + - "YGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRl" + - "IG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUu" + - "Zy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBp" + - "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + - "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + - "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAt" + - "LWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + - "TkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGll" + - "bnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBz" + - "ZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8g" + - "cmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNy" + - "ZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpC" + - "b3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVk" + - "IGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hh" + - "cnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBz" + - "ZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApk" + - "b2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhl" + - "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9L" + - "RVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8" + - "IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4g" + - "PGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhl" + - "bG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11" + - "bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwg" + - "TkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVu" + - "ZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxl" + - "bnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0" + - "aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAx" + - "OiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBw" + - "dWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVu" + - "IHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBw" + - "dWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+" + - "YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUg" + - "c3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkg" + - "bWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1" + - "bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGlj" + - "YWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQg" + - "dGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwg" + - "c2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9h" + - "ZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0" + - "aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQ" + - "b2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + - "OgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlv" + - "dXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAg" + - "ICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2Vz" + - "OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3Jl" + - "ZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAg" + - "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlm" + - "ZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5v" + - "bi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52" + - "Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQog" + - "ICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSBy" + - "ZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3Nl" + - "IGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJj" + - "ZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUg" + - "c3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQg" + - "dG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+" + - "IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3Vi" + - "LXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxt" + - "LnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUg" + - "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0" + - "aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBu" + - "ZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVy" + - "LW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUg" + - "bmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNl" + - "Y3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBu" + - "dmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBg" + - "ZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28g" + - "dGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9s" + - "ZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMg" + - "bWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9i" + - "YWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBh" + - "cGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxv" + - "YWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApH" + - "QVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxn" + - "YXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + - "ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBh" + - "IGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9u" + - "IGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhl" + - "IHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFy" + - "eSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2gg" + - "YXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERS" + - "RVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNl" + - "IHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FU" + - "RVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2Jh" + - "bC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGlu" + - "YXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMg" + - "NC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9U" + - "SCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZp" + - "bGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNz" + - "YW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNl" + - "Um9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9u" + - "bHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBz" + - "IHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3" + - "aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQK" + - "PiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBE" + - "RUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhl" + - "bG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2Vs" + - "ZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5B" + - "VFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9" + - "c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5" + - "LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkg" + - "R2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRv" + - "biB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJv" + - "dXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9i" + - "c2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEg" + - "c2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgoj" + - "IyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlz" + - "IGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNp" + - "bmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5W" + - "Q0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3Rh" + - "Y2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhl" + - "IGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3" + - "YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2Ug" + - "Y29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVt" + - "LgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4K" + - "YGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5" + - "R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhl" + - "IGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQg" + - "aXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhv" + - "c3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdD" + - "b25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0" + - "eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBi" + - "eSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0" + - "ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCBy" + - "ZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHkt" + - "Z2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRo" + - "ZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + - "YW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFu" + - "aXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRy" + - "ZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRh" + - "cmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJh" + - "ZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRl" + - "cy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlv" + - "bmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRl" + - "ZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + - "aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5v" + - "dCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywg" + - "c2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1" + - "bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4K" + - "CkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwg" + - "YW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252" + - "Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxh" + - "bmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0" + - "ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBv" + - "bmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9y" + - "IHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwg" + - "d2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2Ug" + - "dGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAog" + - "IHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMu" + - "CgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpm" + - "b3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5k" + - "IHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0" + - "ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IK" + - "dGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + - "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29w" + - "ZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhl" + - "bG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2Vy" + - "dmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24t" + - "c2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRp" + - "b25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBh" + - "bmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50" + - "b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBj" + - "bGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVz" + - "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUg" + - "cmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFz" + - "ZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRl" + - "c3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4g" + - "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + - "YmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3Rh" + - "Y2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + - "cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJv" + - "cnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNw" + - "YWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFt" + - "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMj" + - "IFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZj" + - "Zi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0t" + - "aWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlz" + - "fGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0g" + - "Q2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkg" + - "Zm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fz" + - "c2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFn" + - "ZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRo" + - "ZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVz" + - "OmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVy" + - "cyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3Qu" + - "CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246" + - "IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpk" + - "ZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4v" + - "PHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRz" + - "LnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + - "czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAg" + - "ICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQw" + - "OTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRl" + - "cGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhl" + - "IHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1s" + - "LmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBz" + - "aW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBg" + - "YAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVu" + - "dGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVs" + - "ZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRo" + - "ZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJ" + - "IEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8" + - "LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdl" + - "cyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rp" + - "b24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3Rl" + - "ZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlg" + - "IFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52" + - "Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNf" + - "SU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNl" + - "cnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNl" + - "Y3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3Rs" + - "IGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJh" + - "c2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3Ry" + - "YXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pz" + - "b24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNF" + - "X1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBv" + - "ZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3Vt" + - "ZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZh" + - "bHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRv" + - "Y2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9h" + - "dXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8" + - "IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4K" + - "Pgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJl" + - "dHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3Jk" + - "IGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNh" + - "ciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2Fy" + - "ZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJh" + - "ZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNv" + - "ZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFj" + - "ayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmlu" + - "dGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8g" + - "a3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNl" + - "Y3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVw" + - "ZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+" + - "ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBw" + - "aWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3Jn" + - "KTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlv" + - "biBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJl" + - "bnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBh" + - "Y2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNl" + - "Y3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJy" + - "b3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0" + - "aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50" + - "aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVz" + - "ZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGlu" + - "amVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMu" + - "IFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25m" + - "aWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEu" + - "IEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdp" + - "dGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5" + - "dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUg" + - "cHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1r" + - "ZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBz" + - "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52" + - "Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tl" + - "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBB" + - "cHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1p" + - "bWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkg" + - "cG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTog" + - "bnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8" + - "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0" + - "c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRl" + - "ZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdp" + - "dGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxs" + - "IHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRd" + - "KHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0" + - "YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAg" + - "ICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50" + - "cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBg" + - "CgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwK" + - "fC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5h" + - "dXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQg" + - "ZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVj" + - "ayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hl" + - "Y2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBg" + - "dmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBr" + - "bm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9w" + - "ZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9m" + - "IHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8g" + - "YW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJE" + - "aXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3Jh" + - "dGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dp" + - "bmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4g" + - "fAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFs" + - "bCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBE" + - "Qi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5n" + - "IHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFf" + - "UEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRz" + - "IHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0" + - "aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRo" + - "ZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGlu" + - "Z2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBr" + - "dWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSBy" + - "ZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8" + - "IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFj" + - "Y291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2Vj" + - "cmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + - "c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBV" + - "bmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhv" + - "b2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJl" + - "cGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0" + - "aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVu" + - "IHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5" + - "LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1" + - "bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29k" + - "ZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSBy" + - "ZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9y" + - "eSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBh" + - "bmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFs" + - "dWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBt" + - "aXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVy" + - "aXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQg" + - "YEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcg" + - "fAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2Nv" + - "dW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJl" + - "bGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVj" + - "YXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vz" + - "c2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWly" + - "ZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRo" + - "ZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNl" + - "cXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93" + - "biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcg" + - "cG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVj" + - "dGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29u" + - "cGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBp" + - "cyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFz" + - "ZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYg" + - "aXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9v" + - "ayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQt" + - "Ym9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFw" + - "aS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApg" + - "YGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1k" + - "XShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2Nz" + - "Lm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBb" + - "c3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + - "bnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJl" + - "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkK" + - "CkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwg" + - "dG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBp" + - "bnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + - "AAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNv" + - "blVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAg" + - "ICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkg" + - "QVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBv" + - "cGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBh" + - "bGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAx" + - "LjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1" + - "YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9j" + - "ZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJp" + - "ZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9k" + - "ZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQg" + - "aXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQg" + - "dmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNv" + - "bXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmls" + - "ZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNr" + - "LCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUg" + - "Y2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBz" + - "a2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2" + - "aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBl" + - "eHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJs" + - "aW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRl" + - "bXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcg" + - "bWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkg" + - "cnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50" + - "IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1" + - "LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2Vz" + - "IGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdl" + - "cmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4g" + - "SXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0" + - "aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVj" + - "ayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChu" + - "dmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0" + - "ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhl" + - "IGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAi" + - "VGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8g" + - "cmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCBy" + - "ZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVz" + - "cGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVz" + - "cGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3Ro" + - "ZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJl" + - "Y3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6" + - "ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93" + - "IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBz" + - "ZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUg" + - "Y29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5k" + - "ZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRy" + - "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUt" + - "R2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywg" + - "aW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZp" + - "bGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUg" + - "a3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0" + - "aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lz" + - "dHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4" + - "dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQg" + - "dGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNv" + - "bXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwg" + - "aW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJs" + - "LCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9y" + - "IHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVS" + - "X05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19G" + - "SUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVM" + - "TUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUg" + - "YWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZp" + - "ZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMt" + - "aG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFu" + - "ZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBu" + - "b3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "Ikc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRl" + - "IHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2ls" + + "QU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNo" + + "ZWNrYCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsg" + + "a3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50LiBXYXJuaW5n" + + "LXNldmVyaXR5IHJlc3VsdHMsIHN1Y2ggYXMgYSB2YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVu" + + "LCBleGl0IGAwYCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5v" + + "bi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJl" + + "YWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwg" + + "SGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3Jl" + + "IGR1cmF0aW9uIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQvU0lHVEVSTSB8IFVzZXIg" + + "Q3RybC1DOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkIHwKCiMjIEhvdyBhbiBhZ2Vu" + + "dCBzaG91bGQgcmVhY3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBg" + + "IHwgQ29udGludWUgLyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRv" + + "IHVzZXI7IGFzayBiZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQg" + + "YSBodW1hbiB0byByZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hl" + + "Y2tzICsgdGhlaXIgYGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIg" + + "Zml4ZXMgcHJlcmVxcy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFj" + + "dGl2ZSkgT1IgYC0tdG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNl" + + "ciBPSy4gfAp8IGA1YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGln" + + "IGludG8gdGhlIHN0YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0" + + "IHJldHJ5IGF1dG9tYXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0g" + + "YmVmb3JlIHJlLXJ1bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVj" + + "a2AgcmVwb3J0cyBpdHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBg" + + "dmVyZGljdGAsIGBmYWlsZWRDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsg" + + "c2VlIGBleGFtcGxlcy9jaS1waXBlbGluZXMubWRgLiBFdmVyeSBvdGhlciBub24temVybyBleGl0" + + "IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNh" + + "dGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNz" + + "YCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93" + + "bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nl" + + "c3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBg" + + "LS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsH" + + "CE/s1mHiBwAA4gcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFn" + + "IHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29u" + + "ZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZl" + + "cmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNP" + + "TkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1p" + + "bnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9z" + + "cyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNv" + + "dXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJ" + + "IFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s94oCm" + + "YCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3Ig" + + "YG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8" + + "IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8IGBs" + + "b2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWludGVy" + + "YWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tl" + + "bj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0t" + + "bm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFw" + + "cGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZv" + + "ciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8" + + "CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0" + + "IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFzcyB8" + + "IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZv" + + "ciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRl" + + "LXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAo" + + "UkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJ" + + "Q01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJh" + + "c2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBs" + + "b2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZlciBz" + + "Y29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIENMSSBwcmludHMgYSBub3RlIHNheWluZyBzby4gRW52" + + "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNr" + + "YC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBg" + + "LS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEg" + + "cm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdo" + + "dDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVh" + + "Y2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxg" + + "IG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0tY29u" + + "dHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1" + + "dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwg" + + "RXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmluZWQg" + + "d2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3Rl" + + "ciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1j" + + "aGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdo" + + "ZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLiBF" + + "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMjIyBD" + + "bHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRo" + + "ZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50" + + "LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92ZXMg" + + "dGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1p" + + "c3Npb24gdG8gbWFuYWdlIHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBp" + + "bWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9S" + + "X0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRo" + + "IG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5" + + "LiBVbnNldCBldmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRyYSBy" + + "ZWdpc3RyaWVzIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNoYWJp" + + "bGl0eS4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMg" + + "ZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFs" + + "LmltYWdlLnJlZ2lzdHJ5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01F" + + "IHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1h" + + "Z2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBub24tY3JpdGljYWwsIG9ubHkgd2hlbiBuZWl0" + + "aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFJlcGVhdGFibGUg" + + "b3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJ" + + "U1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwK" + + "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBj" + + "b250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVk" + + "cyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2Fw" + + "cGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFH" + + "RWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94" + + "OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNy" + + "ZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1" + + "bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Igb25l" + + "IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBmb3Ig" + + "dGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdDIHJl" + + "Z2lzdHJ5LCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3QgfAp8" + + "IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRh" + + "dG9yIHByb2JlIGVudGlyZWx5LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + + "Ul9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFs" + + "aWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3Ig" + + "ZGVidWdnaW5nLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRo" + + "ZSByZXN1bHQgcHJpbnRzIHRoZSBga3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVz" + + "IHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0" + + "b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5z" + + "Y3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNv" + + "IGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZh" + + "bHNlYCB8CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlk" + + "ZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJ" + + "RCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9u" + + "IHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBs" + + "YW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lm" + + "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0" + + "ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCAr" + + "IGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8" + + "CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8Cnwg" + + "YC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAt" + + "LW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIg" + + "cmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBg" + + "LS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9O" + + "YCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRw" + + "b2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3Jl" + + "YXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdl" + + "bmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmll" + + "ZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBU" + + "RVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBu" + + "dmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5n" + + "LiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBg" + + "LS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWly" + + "ZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRh" + + "dGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2Vg" + + "IHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMp" + + "LCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3Jl" + + "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVw" + + "ZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1" + + "bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAt" + + "IHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50" + + "IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBv" + + "cnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1" + + "bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBj" + + "aGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10" + + "eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVs" + + "bS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBi" + + "eSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8" + + "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyBy" + + "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsg" + + "Zm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0" + + "aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVz" + + "ZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBl" + + "eGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + + "IGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAt" + + "IHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBk" + + "ZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0" + + "eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8" + + "IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0" + + "byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3Jp" + + "dHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBm" + + "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9k" + + "ZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNv" + + "bXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3Vw" + + "cG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2As" + + "IGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMg" + + "YHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNh" + + "cmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBv" + + "ciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBg" + + "PHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMp" + + "LCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3Mp" + + "LiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBg" + + "MTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04u" + + "CgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4g" + + "Rm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTog" + + "IkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNb" + + "XS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAg" + + "bXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0" + + "U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5j" + + "dGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNG" + + "IGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0" + + "IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGkt" + + "dHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVl" + + "c3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBs" + + "YWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExN" + + "IG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9k" + + "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1h" + + "dGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5w" + + "dXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0" + + "LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5" + + "IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNj" + + "b3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1J" + + "RDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsg" + + "c3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBk" + + "ZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0" + + "cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZp" + + "Zy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlz" + + "YCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2Rl" + + "bCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1" + + "dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mg" + + "b25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + + "LWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQ" + + "RWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1p" + + "biByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8" + + "IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAw" + + "YCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxO" + + "QU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcg" + + "U0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlz" + + "IHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + + "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + + "TkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpd" + + "W2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdp" + + "dGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10" + + "eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxl" + + "YCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + + "dGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8" + + "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8" + + "IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxF" + + "YCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMg" + + "d2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQ" + + "IHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0" + + "aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3Mg" + + "QVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xl" + + "IHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250" + + "YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyBy" + + "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9u" + + "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1t" + + "YXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEs" + + "IGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAt" + + "LW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxh" + + "dGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRp" + + "b24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08g" + + "ODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExP" + + "QURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBg" + + "LS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3Jt" + + "YXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJl" + + "c3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklg" + + "IHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpW" + + "RVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRh" + + "Z3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3Jp" + + "cHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnkt" + + "aWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3Mt" + + "dGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwK" + + "fCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2lu" + + "dCBJRCB8IC0gfApQSwcIjsCI8TUyAAA1MgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVU" + + "BQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29t" + + "bWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBw" + + "aGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRy" + + "eSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9u" + + "YCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + + "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRw" + + "czovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBg" + + "aGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmls" + + "ZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBo" + + "dHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMg" + + "bm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5z" + + "dGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3Bh" + + "Y2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQg" + + "U3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8" + + "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + + "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + + "c3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRl" + + "LXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBz" + + "Oi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9s" + + "YXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRv" + + "cmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkg" + + "fCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5v" + + "ZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwK" + + "CiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + + "CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNs" + + "aS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRl" + + "cmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNp" + + "Z25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRj" + + "aGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQg" + + "Y29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5p" + + "dGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlv" + + "biBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNj" + + "b3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4g" + + "cmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBS" + + "ZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3Ig" + + "Y2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwg" + + "Q29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAt" + + "biBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNp" + + "ZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZh" + + "bWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6" + + "ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3Rl" + + "ciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkg" + + "KyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAg" + + "KG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90" + + "IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVy" + + "IG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRp" + + "bmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcw" + + "NGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0" + + "b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBi" + + "dWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0" + + "b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1w" + + "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENy" + + "YXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4v" + + "cmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZy" + + "b20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRl" + + "IHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBv" + + "dGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQg" + + "d2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBp" + + "biBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkg" + + "c2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8" + + "IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFn" + + "ZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRl" + + "c2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQg" + + "Y29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8" + + "IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBO" + + "QVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + + "IGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMg" + + "VGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFs" + + "IGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1" + + "ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAg" + + "d2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBu" + + "ZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFj" + + "Y291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAo" + + "ZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4g" + + "dGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCBy" + + "ZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0" + + "LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJ" + + "TEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRl" + + "c2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250" + + "cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVs" + + "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3du" + + "LAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4g" + + "VXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5z" + + "dGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZp" + + "bGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2Ug" + + "Zm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1l" + + "bnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBS" + + "ZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlm" + + "ZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2Yt" + + "Y29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIx" + + "LjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBj" + + "b250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBk" + + "ZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAs" + + "IEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1l" + + "bmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIK" + + "ICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRy" + + "b2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxv" + + "eW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29y" + + "a3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0" + + "dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25h" + + "bCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + + "IEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBp" + + "bnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtl" + + "ZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9y" + + "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJl" + + "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4K" + + "CiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUg" + + "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkg" + + "Ym90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250" + + "cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNy" + + "ZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRl" + + "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + + "bnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0" + + "aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lv" + + "bnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJz" + + "aW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkg" + + "cmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6" + + "PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNv" + + "bnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vi" + + "c3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFy" + + "dAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBi" + + "YXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBz" + + "ZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhl" + + "bG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVj" + + "dGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBv" + + "ZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFj" + + "dGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8v" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNy" + + "ZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJv" + + "bSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMu" + + "eWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxl" + + "XShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1l" + + "eGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRl" + + "bmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBg" + + "dGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1l" + + "cmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVz" + + "KQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28g" + + "dGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + + "CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAt" + + "PiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3Qg" + + "cHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNz" + + "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMs" + + "IG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJi" + + "aXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50" + + "bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQu" + + "CgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxl" + + "YXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgj" + + "b3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMj" + + "IyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBh" + + "IHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "OyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBh" + + "IHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9" + + "Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25l" + + "CmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNo" + + "IGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNy" + + "ZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5" + + "b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3Ry" + + "eSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + + "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11" + + "c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNv" + + "bW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + + "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + + "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29y" + + "ZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUg" + + "QVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdz" + + "LmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxh" + + "c3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhl" + + "IGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBi" + + "dXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25k" + + "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRo" + + "IGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMg" + + "Zm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nl" + + "c3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jv" + + "bmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25l" + + "IG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1l" + + "ZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRv" + + "a2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFk" + + "IG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZy" + + "b20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMj" + + "IDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhl" + + "bnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMg" + + "aW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFu" + + "CmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVy" + + "ZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1" + + "dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRp" + + "YWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6" + + "CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lz" + + "dHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAg" + + "IGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25s" + + "eSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6" + + "IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgog" + + "ICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0" + + "aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4g" + + "Q29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJy" + + "b3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRv" + + "IGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5n" + + "Yy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQg" + + "YnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHku" + + "IEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAog" + + "ICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAg" + + "dGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXIt" + + "cmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAg" + + "ID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBz" + + "dGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3Ry" + + "eQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVs" + + "bCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91" + + "IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEK" + + "ICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRo" + + "ZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dp" + + "bmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSBy" + + "ZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + + "Y3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVn" + + "aXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3" + + "aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1p" + + "cnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRo" + + "ZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXgg" + + "Zm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUg" + + "dGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGlu" + + "ZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5" + + "IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3Rh" + + "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAK" + + "ClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQg" + + "R2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFu" + + "ZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3Qg" + + "ZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUg" + + "cmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29u" + + "bmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3Rg" + + "LiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMg" + + "cm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVy" + + "IGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5T" + + "IG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1k" + + "XShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVk" + + "IG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMg" + + "RGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRz" + + "IGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + + "U1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWws" + + "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hA" + + "bmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + + "aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4g" + + "c2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMg" + + "dG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRv" + + "IHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4g" + + "RGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRl" + + "bmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0t" + + "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3Jv" + + "dXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwK" + + "fCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlv" + + "biwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91" + + "dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNr" + + "YWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91" + + "cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0y" + + "IG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25h" + + "bCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVl" + + "ZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJv" + + "bnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMg" + + "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkg" + + "R2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNv" + + "bnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0" + + "ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2th" + + "Z2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhl" + + "IGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBg" + + "eWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBp" + + "bmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21h" + + "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBk" + + "ZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52" + + "YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhv" + + "c3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUg" + + "b3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNo" + + "aW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + + "aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2Vydmlj" + + "ZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + + "cyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNl" + + "bnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAt" + + "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHBy" + + "b3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIg" + + "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5p" + + "dHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmlu" + + "dm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0" + + "aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwp" + + "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUku" + + "IEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + + "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQg" + + "c3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBu" + + "dmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWlu" + + "IHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8g" + + "dGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwg" + + "c2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJ" + + "IEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhl" + + "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRv" + + "ZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFs" + + "dGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJl" + + "Z2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBD" + + "TEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIg" + + "YW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cg" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3Jl" + + "dHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24K" + + "CkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVz" + + "aW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkg" + + "dGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6" + + "IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNg" + + "LCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBg" + + "bm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBh" + + "ZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNs" + + "dWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1" + + "dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNl" + + "cnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0" + + "LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNl" + + "IEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVs" + + "ZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJl" + + "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + + "IGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + + "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + + "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + + "ZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + + "LiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3Zh" + + "bCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUg" + + "dGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNw" + + "YWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxl" + + "dGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlm" + + "eSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + + "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBg" + + "CgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAo" + + "bGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBw" + + "cm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFn" + + "ZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkg" + + "Y2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3Rt" + + "cGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxw" + + "cml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhl" + + "IGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + + "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + + "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + + "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291" + + "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAg" + + "bWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgog" + + "ICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEg" + + "cmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBg" + + "dmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJl" + + "LWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMg" + + "UHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2" + + "aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUg" + + "dGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFu" + + "ZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGgg" + + "dGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxh" + + "bmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIg" + + "SW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVs" + + "bHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5j" + + "dGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0" + + "Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwg" + + "SzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBg" + + "PHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkg" + + "fCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRz" + + "LnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + + "bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tl" + + "cmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0" + + "aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3Rl" + + "OiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBO" + + "T1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBw" + + "bGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hp" + + "Y2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBC" + + "b3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52" + + "Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBg" + + "YXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVl" + + "IG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9h" + + "dXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8" + + "ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6" + + "IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNv" + + "ZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTog" + + "ZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBh" + + "bmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5" + + "bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5" + + "IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFk" + + "eS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBg" + + "YmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3Ns" + + "IGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJz" + + "L2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQg" + + "VGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fy" + + "cy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2Yg" + + "ZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBg" + + "YAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJy" + + "b3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMg" + + "b2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZm" + + "ZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFn" + + "ZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdv" + + "IGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lz" + + "dHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNl" + + "cyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZl" + + "cm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGlj" + + "eSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9k" + + "cyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRz" + + "IC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMg" + + "bmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVy" + + "bm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhl" + + "bG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5h" + + "bWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + + "aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5h" + + "bWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVj" + + "dGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUg" + + "cG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdl" + + "UHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7" + + "LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNy" + + "ZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFs" + + "IGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5v" + + "IHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJl" + + "bmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERl" + + "YnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Rz" + + "IC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAt" + + "QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVh" + + "c2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + + "ICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3lt" + + "cHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1" + + "bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBz" + + "ZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0" + + "cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0" + + "aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0" + + "dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xv" + + "Z2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUg" + + "dG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3Rh" + + "dGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNl" + + "IGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFs" + + "c2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5i" + + "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2Ig" + + "YG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNl" + + "ZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5p" + + "dDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1" + + "bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2" + + "aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNy" + + "ZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25s" + + "eSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + + "c3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2" + + "aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NB" + + "U1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2Vk" + + "IHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Ig" + + "bm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBh" + + "bmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5z" + + "dGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhl" + + "biBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNl" + + "NjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2Iv" + + "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3Vu" + + "dCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290" + + "c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0" + + "YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2Yg" + + "YSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBl" + + "ZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBi" + + "b290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2" + + "aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5k" + + "IHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVy" + + "cy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRv" + + "IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJp" + + "ZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5k" + + "aXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3Rh" + + "cnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVk" + + "IHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1" + + "cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lP" + + "Tj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + + "cmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxg" + + "IGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBv" + + "bmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwg" + + "ZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFu" + + "IGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3Jl" + + "YXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMg" + + "YSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkg" + + "d3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0" + + "IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQt" + + "Ym9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVj" + + "dCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3lu" + + "Y2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRo" + + "ZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3Rh" + + "dGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBu" + + "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9n" + + "cyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUg" + + "YWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3Rh" + + "bGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQg" + + "RXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10" + + "by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1m" + + "aWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBz" + + "ZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBt" + + "YW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRh" + + "dGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxm" + + "LW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2ls" + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNl" + - "IGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBk" + - "b2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNr" + + "aWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUg" + + "KG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1" + + "Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVz" + + "dGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNp" + + "b25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmls" + + "ZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCBy" + + "ZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJz" + + "aW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + + "ZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFs" + + "bGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xp" + + "ZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNz" + + "ZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAog" + + "ICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNG" + + "IHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRl" + + "IHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxt" + + "ZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmlu" + + "ZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1w" + + "b3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4g" + + "dGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxh" + + "dGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2" + + "aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rp" + + "b24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xl" + + "YW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRo" + + "ZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tl" + + "bmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + + "bmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8g" + + "Zm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0Yt" + + "bWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQg" + + "bm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBy" + - "YW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBO" + - "R0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5" + - "IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZ" + - "IHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1" + - "aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + - "Y2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhl" + - "IHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + - "OS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9y" + - "IE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5k" + - "LywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4g" + - "ZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8g" + - "ZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQg" + - "ZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1" + - "bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0" + - "cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFt" + - "bC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUg" + - "YWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAi" + - "VGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "MS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBp" + - "bnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1Mg" + - "Y2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + - "biBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNv" + - "bnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNh" + - "dGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRo" + - "ZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVu" + - "dGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFu" + - "ZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lv" + - "bnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50" + - "IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRz" + - "LXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFu" + - "YWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHBy" + - "ZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9F" + - "TlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4" + - "cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNl" + - "cywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAog" + - "ICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdp" + - "c3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNp" + - "bmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhl" + - "bG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9m" + - "aWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBt" + - "eSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUg" + - "Y29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + - "aW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUu" + - "eWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + - "ZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1w" + - "bGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHBy" + - "b2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3" + - "aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBj" + + "b25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFu" + + "dXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNG" + + "QmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhl" + + "IGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5h" + + "bGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0" + + "ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkg" + + "YW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBm" + + "aXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhl" + + "bG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0Yg" + + "Y29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUg" + + "SGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0" + + "ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1" + + "dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hl" + + "bWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhl" + + "IGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01T" + + "X1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZp" + + "Zy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZy" + + "b20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2Vw" + + "YXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAg" + + "IlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5n" + + "IG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + + "Z3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNf" + + "c2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hv" + + "c3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIt" + + "Y2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNf" + + "VVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + + "dXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3" + + "aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1" + + "dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5" + + "IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVy" + + "LCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0" + + "aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZv" + + "ciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVl" + + "c3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFu" + + "ZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3Ro" + + "IGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + + "cHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0" + + "aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + + "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + + "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + + "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHBy" + + "b3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAi" + + "UnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUg" + + "c3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55" + + "YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGlu" + + "c3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5j" + + "IGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBm" + + "b3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8s" + + "IHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVz" + + "IHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhl" + + "bG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0" + + "cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9u" + + "IjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + + "IHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3Rh" + + "Z2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250" + + "cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUg" + + "c3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2Vy" + + "dC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxv" + + "eWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVu" + + "IHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3Rh" + + "bGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5n" + + "IHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "dmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVj" + + "dGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlz" + + "dHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChj" + + "YXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2" + + "YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5h" + + "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVs" + + "bWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3ki" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAo" + + "ZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJv" + + "eGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhl" + + "YWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNv" + + "bXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFu" + + "ZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2Ug" + + "bnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFu" + + "ZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVk" + + "IGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0" + + "aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBj" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0" + + "ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWlu" + + "IGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3Vt" + + "ZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBp" + + "bnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0t" + + "Y29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + + "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + + "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + + "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUs" + + "IC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0" + + "YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3Rh" + + "bGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0" + + "ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMg" + + "dGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJl" + + "Z2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5k" + + "cmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRp" + + "bmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUg" + + "dGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5l" + + "IHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRo" + + "ZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5k" + + "IHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhh" + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVy" + - "aWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNv" + - "bmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52" + - "LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJl" + - "Z2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQg" + - "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + - "LWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAt" + - "LXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUg" + - "YWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBh" + - "bmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJx" + - "dWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFz" + - "ZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "Y2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZp" + - "ZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcg" + - "Z2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdh" + - "cm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBi" + - "ZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdp" + - "dGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAg" + - "IlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSBy" + - "ZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWlu" + - "Y2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6" + - "IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3" + - "YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVw" + - "bGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFn" + - "ZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYg" + - "YmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1z" + - "ZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5" + - "IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0t" + - "IGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVs" + - "bWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdy" + - "b3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAi" + - "VGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5" + - "c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "cHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVh" + - "c2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJh" + - "Y2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxC" + - "YWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1h" + - "bmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tl" + - "ZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBz" + - "cGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5n" + - "IHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykg" + - "YW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBl" + - "dmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUg" + - "Y2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1h" + - "Z2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBz" + - "cGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0" + - "aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtT" + - "IGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBp" + - "dHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVs" + - "bCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhl" + - "IGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52" + - "b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3" + - "YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94" + - "eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMg" + - "TkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVk" + - "IHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNf" + - "aG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJu" + - "YWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGlu" + - "IGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0" + - "IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQg" + - "YW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdh" + - "dGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0" + - "cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBl" + - "bnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50" + - "cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkws" + - "IG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vydmlj" + - "ZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwg" + - "dG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUg" + - "YWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBj" + - "IGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5h" + - "bWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGku" + - "cm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJh" + - "by5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxk" + - "cywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29u" + - "ZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFk" + - "ZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJp" + - "ZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBs" + - "YW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAg" + - "ICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9w" + - "ZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lz" + - "dGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAi" + - "cXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUt" + - "cGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFu" + - "ZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmls" + - "ZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNv" + - "bXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFz" + - "c2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhh" + - "bmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93" + - "cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRo" + - "ZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + - "YWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFu" + - "ZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3Rh" + - "Y2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZp" + - "ZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5v" + - "dCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29u" + - "ZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRp" + - "b24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0" + - "IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkg" + - "ZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJv" + - "bC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0" + - "YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQg" + - "YW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRo" + - "ZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25l" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93" + - "IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBj" + - "b21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZp" + - "bGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9y" + - "ZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9m" + - "ZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdh" + - "cm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + - "bG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + - "IGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZl" + - "cmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9u" + - "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZs" + - "b3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBk" + - "aWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNp" + - "dCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxh" + - "bmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19G" + - "SUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9y" + - "ZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29t" + - "bWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1" + - "c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29u" + - "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdh" + - "cyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0" + - "aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhz" + - "LCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24g" + - "LS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + - "ZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29u" + - "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAi" + - "SSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2ls" + - "ZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5j" + - "ZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRz" + - "LCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5" + - "IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJh" + - "cnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46" + - "IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAt" + - "PiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFs" + - "LnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJh" + - "LnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBt" + - "dXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhl" + - "IGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQg" + - "YXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9j" + - "ayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAog" + - "ICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rp" + - "b25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIu" + - "IFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkg" + - "bmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRk" + - "b24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZv" + - "ciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0" + - "aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFs" + - "YW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVl" + - "c3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMu" + - "IEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2Vs" + - "Zi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1" + - "dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29y" + - "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNw" + - "b3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5v" + - "dCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRo" + - "ZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0" + - "aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0" + - "ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRl" + - "IGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1" + - "ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVz" + - "dGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVm" + - "YXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJv" + - "dXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGlj" + - "YXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rhcmdh" + - "dGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFu" + - "ZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVu" + - "dmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxl" + - "Y3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1" + - "bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lk" + - "ZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "Ikc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZD" + - "RiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxs" + - "IjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRv" + - "IHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYt" + - "bWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNp" + - "ZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIs" + - "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rp" + - "b24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGsz" + - "ZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUg" + - "YXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMg" + - "YmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJp" + - "ZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxp" + - "bWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJn" + - "ZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoK" + - "U29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMg" + - "YmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3Rt" + - "cC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3Jl" + - "LnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmls" + - "ZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBg" + - "PHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0" + - "aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJz" + - "aW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNh" + - "c3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2Jh" + - "bC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJI" + - "RUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVz" + - "b3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAg" + - "ICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIi" + - "CiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBh" + - "cHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNz" + - "LWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNo" + - "YW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + - "cmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBp" + - "cyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2Ug" + - "ZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kg" + - "ZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBO" + - "VkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGlu" + - "c3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoK" + - "IyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJl" + - "Z2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAg" + - "ICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMg" + - "U3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoK" + - "YGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIk" + - "TkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwg" + - "c2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIK" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3Jl" + - "dHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVs" + - "bFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBg" + - "aGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6" + - "IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxl" + - "ZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVl" + - "czoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4v" + - "e3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3Nh" + - "bmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAg" + - "ICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShy" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoK" + - "VGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0" + - "ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhl" + - "IGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZv" + - "ciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5j" + - "aWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2Zm" + - "YC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZj" + - "ZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29s" + - "dW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAg" + - "ICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAg" + - "ZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0" + - "ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1z" + - "eXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hv" + - "dWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0t" + - "LQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBs" + - "b3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6" + - "IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0" + - "ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21w" + - "dXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9u" + - "IGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdn" + - "aW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVj" + - "ay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3Rl" + - "cgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcg" + - "dGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0" + - "ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24t" + - "dmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpS" + - "ZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAg" + - "MzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1h" + - "bmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMK" + - "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlk" + - "ZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwg" + - "aW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + - "c2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdl" + - "ZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVy" + - "aWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlz" + - "c2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwg" + - "YWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVD" + - "T05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25m" + - "aWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1i" + - "aWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUg" + - "JyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRz" + - "fHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0" + - "dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9s" + - "bG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRo" + - "ZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0t" + - "LQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoK" + - "VGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3" + - "YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhl" + - "IG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVu" + - "dm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9" + - "JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFu" + - "ZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0" + - "bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29y" + - "ZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBh" + - "bmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1w" + - "b3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1" + - "ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9z" + - "dGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0" + - "IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1" + - "ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNN" + - "UywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBk" + - "b21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24g" + - "YW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5" + - "LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29t" + - "bWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3No" + - "b3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8k" + - "R0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdp" + - "ZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0" + - "ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJv" + - "dXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0" + - "IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10" + - "aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0" + - "IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3Bl" + - "cmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkg" + - "LS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRl" + - "bmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNv" + - "bmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVu" + - "QmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0" + - "cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNl" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + - "bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8" + - "LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBu" + - "YXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + - "c2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwg" + - "ZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0" + - "ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwg" + - "dmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFk" + - "ZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25h" + - "bCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBh" + - "bmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVz" + - "dC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0u" + - "ZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRo" + - "ZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0" + - "eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3Rh" + - "Y2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdh" + - "eS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkg" + - "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMu" + - "bnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVz" + - "cyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwg" + - "cmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhh" + - "dmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1l" + - "PWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBs" + - "YW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJl" + - "IHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiBy" + - "ZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5k" + - "b2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJp" + - "bmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cu" + - "CgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBl" + - "bmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxl" + - "IHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJv" + - "bm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0" + - "aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJ" + - "LWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUt" + - "cHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJv" + - "ZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1h" + - "dXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxh" + - "bmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSBy" + - "ZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBt" + - "YXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZv" + - "cgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmly" + - "b25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdp" + - "c3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAg" + - "Zm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1y" + - "ZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUg" + - "Y2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNv" + - "bS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxh" + - "bmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52" + - "b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRl" + - "d2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUg" + - "Y29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMg" + - "dGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMg" + - "dGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndo" + - "b3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoK" + - "ICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2" + - "aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRz" + - "U2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZp" + - "Y2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vydmlj" + - "ZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRp" + - "b25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNw" + - "cm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIu" + - "bG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3Bh" + - "Y2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFt" + - "ZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtu" + - "YW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoK" + - "ICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + - "YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToK" + - "ICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVz" + - "OiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAg" + - "Z3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3Jr" + - "ZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDog" + - "dHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBl" + - "bmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBz" + - "ZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRv" + - "bWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + - "ICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9t" + - "YWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAg" + - "ICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcg" + - "YW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJh" + - "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZp" + - "Zz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZp" + - "Zz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNz" + - "LCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09O" + - "RklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + - "aW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxn" + - "YXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9o" + - "b3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0" + - "ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIK" + - "aWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFp" + - "biBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBv" + - "bmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9z" + - "dGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUg" + - "aXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUg" + - "Y29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNo" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rl" + - "ciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAog" + - "IENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAg" + - "TlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8t" + - "bnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0" + - "aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBg" + - "S1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFu" + - "ZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3" + - "aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgoj" + - "IyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmly" + - "c3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdp" + - "c3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + - "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rl" + - "ci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lz" + - "dGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZj" + - "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + - "bGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55" + - "YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAt" + - "LWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lv" + - "bj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAt" + - "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + - "ICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1" + + "ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAog" + + "ICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0" + + "cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUp" + + "IiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBz" + + "cGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50" + + "aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZp" + + "bGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1" + + "ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNz" + + "YW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRl" + + "cGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVu" + + "ZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBk" + + "ZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5j" + + "eSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVt" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3Ig" + + "dGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "IlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBw" + + "b2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5k" + + "IHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNj" + + "cmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVs" + + "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZp" + + "ZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Np" + + "bmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + + "bWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0" + + "aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9y" + + "IHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAi" + + "VGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29y" + + "IHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBj" + + "YXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJD" + + "b25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNv" + + "bnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5k" + + "IHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRl" + + "d2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1n" + + "YXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9p" + + "bnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBO" + + "VkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlz" + + "Y292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBm" + + "aWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBS" + + "ZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0" + + "ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVk" + + "aW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3Rl" + + "bS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVy" + + "TmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + + "c2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdh" + + "dGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + + "Z2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJM" + + "LCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkws" + + "IGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94" + + "eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMg" + + "c2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFw" + + "aS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFu" + + "ZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNl" + + "dCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAg" + + "IlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVk" + + "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + + "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIs" + + "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJM" + + "LCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNl" + + "cnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwK" + + "ICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1" + + "ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNy" + + "ZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5k" + + "IG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1z" + + "cGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRy" + + "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0" + + "aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVn" + + "aXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUg" + + "Y29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZv" + + "cm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + + "ZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9u" + + "IGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFu" + + "ZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hp" + + "cCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNz" + + "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2Ug" + + "YnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVu" + + "YW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhl" + + "IGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0" + + "dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFt" + + "ZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRp" + + "Y3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNv" + + "bmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rl" + + "ci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVu" + + "dCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3Qg" + + "cmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0" + + "ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0" + + "cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29u" + + "ZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVz" + + "dGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAg" + + "IkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBi" + + "b3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + + "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFi" + + "b3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVu" + + "IGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAg" + + "ICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVz" + + "cGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBw" + + "cm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxl" + + "IGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNP" + + "TkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBv" + + "dXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29t" + + "cGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBm" + + "dWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywg" + + "c3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBh" + + "bmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJu" + + "ZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBn" + + "b3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29u" + + "ZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5k" + + "IC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJU" + + "aGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3Rl" + + "ciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlv" + + "bnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5j" + + "ZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlB" + + "TUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVl" + + "cyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVk" + + "IHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFs" + + "LnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGds" + + "b2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBl" + + "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5s" + + "aW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFs" + + "dWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFt" + + "bC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBp" + + "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + + "Y2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywg" + + "Z2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJi" + + "aXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + + "OiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhh" + + "dCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUg" + + "YSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5h" + + "YmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVu" + + "Y3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBp" + + "c29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVy" + + "aWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3Vy" + + "ZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJv" + + "dXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9m" + + "LXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtl" + + "ZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBv" + + "dGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIs" + + "IGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5k" + + "bGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRD" + + "b25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBz" + + "ZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3" + + "b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBj" + + "b21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0" + + "aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUg" + + "TExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFi" + + "bGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50" + + "IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUg" + + "c2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0" + + "aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhl" + + "IGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIg" + + "bWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0" + + "ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5j" + + "bHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVk" + + "IHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRy" + + "YW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250" + + "cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxh" + + "bmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVw" + + "bG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + + "bGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBh" + + "bmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24i" + + "OiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3Rpbmci" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNl" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJl" + + "cXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2ls" + + "bCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3Qg" + + "cmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3Rl" + + "YWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhl" + + "bG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAi" + + "VGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5j" + + "ZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQog" + + "IH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1w" + + "bGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4K" + + "CiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQg" + + "Q2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlw" + + "ZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFy" + + "dCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVs" + + "bWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5l" + + "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJj" + + "ZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFk" + + "ZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4g" + + "dGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2Vj" + + "cmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBu" + + "YW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVu" + + "YWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2" + + "YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1" + + "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBj" + + "YXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAg" + + "ICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6" + + "CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMj" + + "IFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRl" + + "ci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAj" + + "IENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAg" + + "KGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRy" + + "YSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoK" + + "IyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwg" + + "U2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZy" + + "b20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcg" + + "aW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZv" + + "ciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToK" + + "ICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52" + + "aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTog" + + "bnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhl" + + "bG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9h" + + "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAt" + + "dSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRl" + + "IG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9" + + "Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0t" + + "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + + "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + + "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAg" + + "NDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hh" + + "cnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1w" + + "bGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + + "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFn" + + "ZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5j" + + "ZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBr" + + "ZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4g" + + "Rm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGlu" + + "IGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52" + + "Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0" + + "ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0" + + "Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0" + + "ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJl" + + "IGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBu" + + "cyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8t" + + "aGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50" + + "IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUi" + + "OiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZl" + + "cmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + + "IHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2Ui" + + "IGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBS" + + "ZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVh" + + "biBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + + "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0" + + "ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0" + + "IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWls" + + "dXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0" + + "ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9t" + + "CmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXIt" + + "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1h" + + "dGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0t" + + "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + + "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + + "aWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0" + + "ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoK" + + "UHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3Bh" + + "Y2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9y" + + "ZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + + "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + + "aW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + + "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBs" + + "YW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + + "IGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxl" + + "dGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXApt" + + "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkg" + + "Y2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Z2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3Jl" + + "cCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90" + + "aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFs" + + "bCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2Ns" + + "ZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRl" + + "d2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBv" + + "ciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQu" + + "CgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9" + + "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBc" + + "CiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1" + + "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMg" + + "U3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2Jh" + + "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2Vk" + + "LiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3Vj" + + "aCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRF" + + "V0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAg" + + "aXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3" + + "aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBj" + + "b25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhl" + + "IGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVS" + + "TGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJM" + + "IGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4g" + + "UmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhh" + + "bmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZp" + + "ZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250" + + "ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + + "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAt" + + "biBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9y" + + "IC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5h" + + "Z2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1" + + "OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0" + + "ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3Qg" + + "TkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1" + + "YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5k" + + "cmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0" + + "IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNl" + + "bGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBg" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24t" + + "c2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRp" + + "b25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5h" + + "YmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdl" + + "cyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5l" + + "bmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + + "dCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVg" + + "IHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1" + + "ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRl" + + "d2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9" + + "dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRl" + + "d2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5k" + + "IGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8" + + "IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + + "IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdy" + + "b3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFz" + + "ZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1" + + "ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQg" + + "d2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8o" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEA" + + "ps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUg" + + "YW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJv" + + "bApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1" + + "c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxp" + + "ZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUg" + + "SGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3Vy" + + "Y2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8" + + "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5k" + + "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAg" + + "fAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBh" + + "bmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3Qg" + + "Y29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25v" + + "cmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRy" + + "YWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1z" + + "dGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUg" + + "dGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZs" + + "b3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246Cgot" + + "IGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9y" + + "IGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBz" + + "ZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBz" + + "ZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVl" + + "cy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3" + + "YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMg" + + "dG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVz" + + "IHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBl" + + "eHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8" + + "Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWlu" + + "PmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRo" + + "YXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtl" + + "ckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21h" + + "aW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "Pjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWlu" + + "PiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdh" + + "dGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8v" + + "YXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToK" + + "ICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5" + + "czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdh" + + "dGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3kt" + + "Z2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBu" + + "YW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJv" + + "dXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1" + + "ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAg" + + "ICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAg" + + "ICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5h" + + "dHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNz" + + "dWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoK" + + "ICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + + "aWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + + "OiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1k" + + "b21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5z" + + "dCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBh" + + "IGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBh" + + "c3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2" + + "aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlz" + + "X2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRp" + + "b24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBg" + + "YAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hl" + + "bWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAt" + + "LWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdh" + + "eSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFn" + + "LgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNv" + + "bXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + + "ICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VS" + + "TD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + + "bGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNG" + + "X0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXIt" + + "bmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + + "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBp" + + "c3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGkt" + + "Y2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3Ro" + + "CmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQg" + + "bWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0" + + "aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250" + + "cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQg" + + "YnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + + "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + + "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRy" + + "b2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBg" + + "CgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBj" + + "b21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + + "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + + "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + + "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFu" + + "ZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1j" + "b21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJh" + - "dGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJs" + - "ZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1Mu" + - "IERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxt" + - "ZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJv" + - "bC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpj" + - "b250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUg" + - "Y29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJl" + - "ZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBu" + - "dmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQK" + - "ZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMg" + - "YW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + - "ZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBu" + - "YW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRl" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAt" + - "biBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVy" + - "YXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4g" + - "bnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9" + - "aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRl" + - "YXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3Jl" + - "IHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9s" + - "IHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2Vy" + - "dmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJl" + - "c2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdo" + - "ZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0" + - "aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBh" + - "Ym9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + - "IHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNo" + - "aW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBt" + - "aXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVy" + - "aWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVl" + - "cyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51" + - "cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + - "aWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNs" + - "dXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2Et" + - "aWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFu" + - "ZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + - "dGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0" + - "IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAu" + - "IFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21w" + - "dXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VC" + - "RUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklH" + - "YCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5l" + - "CmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJl" + - "Y3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1" + - "bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIg" + - "SUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBj" + - "b21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNv" + - "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9s" + - "LXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRl" + - "LXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1" + - "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRo" + - "ZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBs" + - "YW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNv" + - "bXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5l" + - "IHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCBy" + - "ZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHBy" + - "ZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xp" + - "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + - "XAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21z" + - "LXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1p" + - "ZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + - "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAog" + - "IGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + - "IC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNs" + - "dXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3Rl" + - "cnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIg" + - "bm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpS" + - "ZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + - "IHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxs" + - "IHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoK" + - "IyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVz" + - "cGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMg" + - "KG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMg" + - "LW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBz" + - "cGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IElt" + - "YWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFE" + - "WSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEg" + - "ICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6Cgpg" + - "YGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEg" + - "VW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1h" + - "Z2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + - "bWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBp" + - "biB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3Bh" + - "Y2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3Rs" + - "IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmlt" + - "YWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdl" + - "UHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpz" + - "b25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQg" + - "bWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwg" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXIt" + - "c2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08" + - "bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + - "eSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVu" + - "Y2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZp" + - "YSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQp" + - "LgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFv" + - "LCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2Vy" + - "dmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + - "LXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRl" + - "IGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1j" + - "cmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFs" + - "cwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBT" + - "eW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6Cgpg" + - "YGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVT" + - "VEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAg" + - "IDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlz" + - "IHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBi" + - "YXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVt" + - "CgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAt" + - "biB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4g" + - "dmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNv" + - "bnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+" + - "IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVu" + - "QmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxs" + - "IGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpv" + - "YiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50" + - "ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBk" + - "ZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0" + - "bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + - "dCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBi" + - "dXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAg" + - "IGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFv" + - "IC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRo" + - "L2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0" + - "ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBj" + - "bHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBK" + - "V0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0" + - "aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25f" + - "cHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90" + - "IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhl" + - "IHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWlu" + - "aXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0" + - "OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5i" + - "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWln" + - "cmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2lu" + - "ZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFj" + - "a2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2" + - "ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2" + - "YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFv" + - "OgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAg" + - "ICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3Rl" + - "bSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdy" + - "YXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBm" + - "cm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBP" + - "cGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0" + - "aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1p" + - "bi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAo" + - "dGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRo" + - "ZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRp" + - "bmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMj" + - "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + - "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpg" + - "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBG" + - "aXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2Vl" + - "IEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBj" + - "YXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4Igog" + - "ICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAg" + - "ICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBh" + - "dmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNp" + - "dCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5" + - "bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMg" + - "ICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAK" + - "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFp" + - "bHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBD" + - "b21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBk" + - "aWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFp" + - "bGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWlt" + - "IG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoq" + - "OiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4g" + - "KipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3Vm" + - "ZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBr" + - "dWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJl" + - "c291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRl" + - "CgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRo" + - "IFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0" + - "byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoK" + - "IyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5h" + - "bWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFu" + - "ZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2Ug" + - "bmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBp" + - "ZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVs" + - "ZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQK" + - "CiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3Jl" + - "YXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4g" + - "bnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJl" + - "Y3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sg" + - "QVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + - "dmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFz" + - "ZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMu" + - "eWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBq" + - "dXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVk" + - "ZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91" + - "bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkg" + - "dW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4g" + - "YGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVk" + - "ZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRl" + - "c3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxl" + - "dGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFw" + - "aS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxN" + + "bHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1j" + + "b250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52" + + "IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVz" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3Rl" + + "ciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + + "IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndp" + + "dGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3Jl" + + "dHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBv" + + "biB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "CmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBg" + + "bnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxs" + + "U2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQg" + + "b3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNh" + + "LXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFu" + + "ZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3Jl" + + "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGlj" + + "aXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4g" + + "ZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Et" + + "b3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3su" + + "c3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBu" + + "dmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5" + + "IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNh" + + "biBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZv" + + "cmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBk" + + "ZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + + "IHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQK" + + "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + + "YWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0" + + "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpG" + + "b3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFs" + + "dWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + + "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + + "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + + "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + + "CgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + + "eWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVm" + + "b3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0" + + "cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJv" + + "bCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBc" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4K" + + "YGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVk" + + "IG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFu" + + "dXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2Vl" + + "cApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93" + + "bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlv" + + "biBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAg" + + "LS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQg" + + "PG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFt" + + "ZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQg" + + "cHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25k" + + "aXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3Qg" + + "cmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9s" + + "IHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9y" + + "ZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVm" + + "aXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + + "ICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZp" + + "Zz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBs" + + "YW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJl" + + "YWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3du" + + "YCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0" + + "ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250" + + "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsH" + + "CJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBE" + + "ZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29t" + + "bW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENv" + + "bW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVj" + + "dGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0" + + "IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVz" + + "KQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVz" + + "dGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9u" + + "cywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1l" + + "PgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + + "dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFH" + + "RQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVt" + + "CmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlv" + + "Ly4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlm" + + "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBu" + + "dmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1h" + + "Z2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAt" + + "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vy" + + "dmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+" + + "IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMj" + + "IyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0Cgog" + + "ICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJu" + + "YW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1" + + "dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxT" + + "ZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRz" + + "Lm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQ" + + "dWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFy" + + "eS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBb" + + "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFs" + + "cyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdp" + + "dGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNr" + + "IChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0" + + "OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBS" + + "RUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZs" + + "dCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + + "VGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRp" + + "bmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiBy" + + "YW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2Qg" + + "bG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3Bl" + + "bmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0" + + "bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAK" + + "CiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIg" + + "ZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAq" + + "Kk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBo" + + "ZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJh" + + "bzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2" + + "YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAj" + + "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipP" + + "cGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBz" + + "dGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + + "by1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1h" + + "Z2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5" + + "IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9u" + + "IG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBh" + + "IHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRo" + + "b2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5" + + "CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxp" + + "dmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2" + + "aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNl" + + "J3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBw" + + "b2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRo" + + "ZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + + "ZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292" + + "ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50" + + "ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBt" + + "aWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJh" + + "c2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwp" + + "LCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlz" + + "c3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxl" + + "dGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3lu" + + "YwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVk" + + "IGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmln" + + "dXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9v" + + "cGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVh" + + "Y2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIg" + + "T0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5l" + + "ZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRj" + + "aCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2ls" + + "bGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVB" + + "RFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtp" + + "bGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJM" + + "YXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlh" + + "IGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1w" + + "bGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0" + + "czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3Rz" + + "OgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVz" + + "b3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBw" + + "ZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1" + + "Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + + "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcg" + + "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVu" + + "dHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2" + + "YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAt" + + "ICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAi" + + "cGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9k" + + "ZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1l" + + "bnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwg" + + "Z3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBz" + + "dG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xh" + + "c3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBh" + + "Y2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBn" + + "cmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJl" + + "bGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1B" + + "CiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVs" + + "bWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrICht" + + "aWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3Rvcnkg" + + "PHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kg" + + "dGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRl" + + "c3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNw" + + "YWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJl" + + "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQg" + + "Qm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBm" + + "dW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWls" + + "dXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVz" + + "Cmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBh" + + "ZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0" + + "cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBw" + + "Lmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBD" + + "YXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBz" + + "ZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAg" + + "YmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVy" + + "aWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycg" + + "fCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAog" + + "ICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSBy" + + "ZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFs" + + "c2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3Zl" + + "ciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxN" + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + - "IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgoj" + - "IyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVj" + - "ayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0" + - "b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAg" + - "MTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRl" + - "eHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBS" + - "ZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZv" + - "cmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05U" + - "RVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZD" + - "RkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBn" + - "ZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRh" + - "Lm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNo" + - "IC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0" + - "bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMi" + - "IC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8g" + - "IiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5" + - "IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1i" + - "YWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFt" + - "ZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxp" + - "emVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBy" + - "ZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1m" + - "IC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2lu" + - "ZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + - "IGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBl" + - "eGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAg" + - "LW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMK" + - "CkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBm" + - "bG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4g" + - "RG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxh" + - "dGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNv" + - "bnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNh" + - "LW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0" + - "b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1" + - "bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0" + - "b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVh" + - "bCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNj" + - "b21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5n" + - "ZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBk" + - "b21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBs" + - "YWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwK" + - "ICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRH" + - "QVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBp" + - "Ljxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3Qg" + - "YWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1Nl" + - "cnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBG" + - "aXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJy" + - "aWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRp" + - "b24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRk" + - "cmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhy" + - "b3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBs" + - "ZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4K" + - "CiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2Ug" + - "Zm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8" + - "IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRz" + - "IHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVu" + - "YmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5" + - "LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRl" + - "d2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8" + - "IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBn" + - "YXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSBy" + - "ZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hl" + - "bG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5j" + - "ZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8K" + - "fC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5B" + - "VFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAg" + - "ICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFt" + - "bC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50" + - "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + - "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + - "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1l" + - "Pi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBw" + - "YXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBs" + - "YXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1w" + - "bCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2Eu" + - "eWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZp" + - "Z3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAg" + - "ICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1u" + - "YW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGds" + - "b2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1" + - "Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZp" + - "cm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBh" + - "dXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3Rl" + - "YWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVu" + - "ZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMj" + - "IEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFt" + - "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0t" + - "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMg" + - "fCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Yt" + - "b3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVu" + - "ZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRy" + - "YS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGlu" + - "aGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMg" + - "MDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJl" + - "bCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwg" + - "aGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1u" + - "dmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1z" + - "ZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMt" + - "cHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8" + - "IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2Vy" + - "dmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNl" + - "cnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVz" + - "dC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVs" + - "bS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVy" + - "LXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyBy" + - "ZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBl" + - "bnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVy" + - "aXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBm" + - "cm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0u" + - "ZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFs" + - "b25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoK" + - "fCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0t" + - "LXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJp" + - "b3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFi" + - "aWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYg" + - "ZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lg" + - "IChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVy" + - "Z2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hh" + - "Kio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5" + - "IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpg" + - "IGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoK" + - "CkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUg" + - "YHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1s" + - "CiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5" + - "CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVz" + - "OgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + - "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4g" + - "b3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6" + - "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUK" + - "ICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9" + - "fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91" + - "ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + - "ICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpV" + - "c2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFu" + - "Y2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFt" + - "ZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVu" + - "IGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQg" + - "dG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2Ag" + - "aXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9t" + - "IGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxg" + - "IC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1z" + - "cGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFt" + - "bGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxl" + - "YXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBh" + - "c3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAo" + - "dGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0" + - "cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBl" + - "eHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGlj" + - "YUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBj" + - "YXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6" + - "ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5l" + - "bmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5B" + - "VFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAK" + - "LSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJl" + - "YW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1l" + - "cmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVu" + - "YmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBv" + - "cGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9w" + - "ZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQp" + - "CgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChy" + - "ZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJs" + - "ZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExN" + - "IEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGlu" + - "ZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBh" + - "ZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwg" + - "YWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJ" + - "CmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExM" + - "TSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRg" + - "LiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5n" + - "bGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8K" + - "YGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBg" + - "eWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAg" + - "cmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAg" + - "ICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNv" + - "dW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBl" + - "bmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6" + - "CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3" + - "b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxp" + - "Y2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4g" + - "VGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBw" + - "b3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkg" + - "R2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0u" + - "Z2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxl" + - "IE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBz" + - "aGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNv" + - "dW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFy" + - "Z2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNw" + - "b3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0" + - "ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + - "biBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBS" + - "ZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + - "dmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1i" + - "YWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0" + - "c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBz" + - "ZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFt" + - "bAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAg" + - "ICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+" + - "LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0Zf" + - "U0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhl" + - "IHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5l" + - "dyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGlj" + - "dGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVk" + - "IGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVk" + - "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFs" + - "bGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3Rh" + - "bGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0" + - "IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1h" + - "aW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4g" + - "dGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNp" + - "b24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVy" + - "c2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wt" + - "cGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBW" + - "ZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdl" + - "dCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2Rz" + - "IC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwpr" + - "dWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2Vu" + - "ZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNv" + - "bnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9" + - "JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJn" + - "cyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hl" + - "bWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlv" + - "biBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGli" + - "cmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQp" + - "LgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3Jv" + - "dXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdy" + - "ZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJv" + - "dXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxt" + - "LWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVz" + - "dHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5" + - "YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1p" + - "bi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + - "AAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + - "LXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlv" + - "bmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQg" + - "YnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + - "dWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJ" + - "IG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVk" + - "IHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5v" + - "dCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywg" + - "c2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVt" + - "LgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1u" + - "YW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUK" + - "YGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRo" + - "ZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJv" + - "bSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBu" + - "dmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBP" + - "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlv" + - "KQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBk" + - "b2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + - "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + - "TkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0" + - "IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11" + - "aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWlu" + - "ZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5k" + - "IGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxN" + - "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5n" + - "cmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUg" + - "YWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95" + - "LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11" + - "aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwg" + - "aXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVi" + - "bGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwg" + - "b3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0" + - "ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQF" + - "AAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBw" + - "dWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwg" + - "TkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2" + - "ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUg" + - "Y29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUg" + - "bWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHBy" + - "b2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5l" + - "IHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVy" + - "YXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBg" + - "bnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4g" + - "SW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5" + - "dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5" + - "dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAt" + - "LWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUg" + - "Y29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8" + - "eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + - "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNl" + - "ICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + - "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRv" + - "Y2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + - "IFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNl" + - "PSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdD" + - "IHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFt" + - "ZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3Rl" + - "clBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQ" + - "b2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgog" + - "IGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNy" + - "ZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291" + - "cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5h" + - "bWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgog" + - "ICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0" + - "cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + - "InZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6" + - "CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAg" + - "ICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxs" + - "c2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBp" + - "bWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAt" + - "ZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxs" + - "IHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBs" + - "YW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBt" + - "b2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQg" + - "aW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNy" + - "ZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNs" + - "dXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + - "IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBz" + - "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNz" + - "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUt" + - "cGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3Jl" + - "dHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVz" + - "ZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0" + - "IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRl" + - "IG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxs" + - "IGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1w" + - "bGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAt" + - "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1l" + - "IjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwu" + - "bnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2" + - "ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0" + - "VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVs" + - "bGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBt" + - "aXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBg" + - "YAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGgg" + - "SUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJS" + - "ZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNS" + - "IHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1" + - "bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6" + - "IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwg" + - "YW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxs" + - "IGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBw" + - "b2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBh" + - "cHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVz" + - "cGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVu" + - "bmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMg" + - "UG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRz" + - "CiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRo" + - "ZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0" + - "cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdl" + - "dC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhL" + - "QjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAq/zUvkoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAA" + - "ZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMA" + - "CQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAJn2DaXdDQAA3Q0AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAIeAAABkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAT40AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADCmgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD" + - "3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA0bQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4O" + - "AAC+DgAAPQAJAAAAAAAAAAAAAABX2gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYe" + - "ASgAAAEoAAA6AAkAAAAAAAAAAAAAAInpAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnI" + - "BwAAyAcAADkACQAAAAAAAAAAAAAA+xEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEA" + - "AOQhAAAuAAkAAAAAAAAAAAAAADMaAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + - "L3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAA" + - "AAAAAAAAfDwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBzp1pk1QYAANUGAAAyAAkAAAAAAAAAAAAAAARgAQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQCbWkc/ZC8AAGQvAAAtAAkAAAAAAAAAAAAAAEJnAQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAAKlwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAR" + - "wxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAOyoAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkA" + - "AAAAAAAAAAAAAJgLAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9l" + - "dmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAA" + - "AAAATWICAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAMosCAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + - "bnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAA" + - "AAAAAAAAAADHuwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + - "cy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAA" + - "AAAAAAAAAADu7AIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + - "cy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5" + - "BwAAPwAJAAAAAAAAAAAAAABzFwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagA" + - "FgAAABYAAD4ACQAAAAAAAAAAAAAAoh8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAABc2" + - "AwAAAA==" + "IGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAt" + + "LWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0" + + "bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBz" + + "ZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAg" + + "U3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBo" + + "YW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tl" + + "bmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2Fp" + + "bnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0" + + "ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1" + + "c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFz" + + "aApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92" + + "ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0" + + "ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEg" + + "Jy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAt" + + "ciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5h" + + "bWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFj" + + "a2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJm" + + "aW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0" + + "ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGlu" + + "IG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + + "UFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBc" + + "CiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0" + + "ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNw" + + "YWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6" + + "IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIg" + + "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxv" + + "eW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJh" + + "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1l" + + "bnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMj" + + "IERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxh" + + "dGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxv" + + "dy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + + "c3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRo" + + "ZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBp" + + "bnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAt" + + "biBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFp" + + "bD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2Zi" + + "YWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJl" + + "cywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAu" + + "IFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5v" + + "dCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMu" + + "bWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBH" + + "YXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0" + + "aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMg" + + "bG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRw" + + "b2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdh" + + "eSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBd" + + "LnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWlu" + + "PiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVh" + + "bHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxv" + + "eW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNl" + + "fG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0" + + "bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRp" + + "cmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9u" + + "bHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9u" + + "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUK" + + "W0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3" + + "YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBw" + + "aW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1l" + + "c3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18" + + "CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwK" + + "fCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlv" + + "bi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0" + + "LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1p" + + "c3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZv" + + "eS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZp" + + "bGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNm" + + "LXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5j" + + "aWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNv" + + "cmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0t" + + "IDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRp" + + "b25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAg" + + "ICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1l" + + "Pi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3Jl" + + "dHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1" + + "ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVz" + + "CgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRl" + + "cGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9u" + + "ZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9y" + + "IGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBi" + + "YXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9u" + + "bWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9u" + + "bWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28g" + + "dGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFj" + + "a3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBI" + + "ZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBD" + + "TEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9m" + + "ZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMj" + + "IyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + + "YWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBu" + + "YXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJh" + + "by1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNy" + + "ZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNm" + + "LWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRl" + + "cGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVu" + + "ZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + + "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + + "LS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2" + + "aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBo" + + "ZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBo" + + "ZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXBy" + + "b3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkg" + + "fCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8" + + "IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBo" + + "ZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + + "L2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1h" + + "cGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJv" + + "eHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52" + + "Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9z" + + "dCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxl" + + "YXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5k" + + "YWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUg" + + "Z2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBg" + + "aW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2" + + "YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJl" + + "bCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmls" + + "aXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5" + + "IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25t" + + "ZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoK" + + "IyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5j" + + "aWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0" + + "aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlv" + + "dSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhl" + + "IHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + + "YWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZh" + + "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + + "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRl" + + "cGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVh" + + "c2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + + "ICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0t" + + "c2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0g" + + "bmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + + "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJl" + + "ZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQog" + + "ICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAg" + + "ICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRg" + + "IChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZp" + + "bGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQog" + + "IHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxh" + + "dGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJl" + + "bGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + + "ZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZh" + + "bHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVu" + + "dmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmly" + + "b25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBv" + + "dmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2lu" + + "ZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1" + + "ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZh" + + "bHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQg" + + "Z2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCBy" + + "ZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZp" + + "YyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFz" + + "c2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJh" + + "CgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lz" + + "dHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNz" + + "YW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBn" + + "bG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0" + + "U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5h" + + "dHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAot" + + "IGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAot" + + "IGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkK" + + "CiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFv" + + "Lm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8u" + + "c2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBz" + + "ZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBg" + + "PHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5v" + + "ZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxp" + + "dHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExN" + + "IGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rp" + + "b25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFu" + + "ZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCBy" + + "b3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMg" + + "d29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlz" + + "IGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJs" + + "ZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0" + + "aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBw" + + "bHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1" + + "ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAg" + + "ICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJv" + + "dXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + + "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VD" + + "b25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFt" + + "ZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6" + + "IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xl" + + "LW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZl" + + "cyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sK" + + "ZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50" + + "ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9u" + + "bHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3Bv" + + "cnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRo" + + "ZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlv" + + "bi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBs" + + "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rp" + + "b24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQt" + + "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1l" + + "dGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6" + + "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0t" + + "cmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIg" + + "aW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lz" + + "dHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFn" + + "ZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0" + + "YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xp" + + "ZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUg" + + "bGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBh" + + "dGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRp" + + "YmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3Rl" + + "LWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIg" + + "YW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVm" + + "cmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9m" + + "ZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmln" + + "Lm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBs" + + "YXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0" + + "ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9m" + + "aWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBp" + + "bnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5j" + + "dGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNh" + + "cHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVk" + + "ZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFn" + + "ZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5l" + + "dyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQK" + + "d29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1h" + + "cGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJv" + + "dXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8" + + "bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQpr" + + "dWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29u" + + "cGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFy" + + "Z3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMs" + + "IHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpG" + + "b3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpb" + + "U3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + + "dmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFu" + + "Y2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3Bl" + + "Y2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + + "bmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFz" + + "ZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1p" + + "bi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAo" + + "ZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3Rl" + + "OiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2Ug" + + "YC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9u" + + "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5l" + + "bCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3Rh" + + "Y2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBl" + + "bmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwg" + + "VUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJ" + + "ZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBu" + + "dmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2th" + + "Z2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGlu" + + "IGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZV" + + "aToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBw" + + "dWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3Jl" + + "dCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0" + + "cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1" + + "YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2Nr" + + "ZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVp" + + "IFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpU" + + "aGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + + "bmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCBy" + + "b3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlg" + + "IHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2Yt" + + "dWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhl" + + "IHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + + "ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+" + + "IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhl" + + "IE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90" + + "IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0" + + "cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQg" + + "b2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNl" + + "CgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJl" + + "Z2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGlt" + + "YWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1w" + + "bGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250" + + "ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5k" + + "ZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNy" + + "ZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRl" + + "LXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRv" + + "cmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAo" + + "UmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBh" + + "ZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1" + + "cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1j" + + "cmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gK" + + "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "ZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + + "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "ZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZl" + + "cmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMu" + + "IEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5v" + + "LmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1h" + + "Z2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5h" + + "bWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAg" + + "IGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAg" + + "IC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAg" + + "ICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVz" + + "cyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1z" + + "eXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1t" + + "YW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAg" + + "ICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNm" + + "Lm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAg" + + "ICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6" + + "IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFt" + + "bApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRo" + + "ZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29u" + + "dHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5q" + + "ZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29t" + + "cHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + + "b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9" + + "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVu" + + "Y2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xv" + + "YmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUg" + + "Y2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAg" + + "YW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBi" + + "cm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9y" + + "IHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBD" + + "aGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + + "JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJu" + + "byBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRh" + + "dGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + + "LWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+" + + "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + + "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNr" + + "IHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMg" + + "XAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVk" + + "ZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZl" + + "IGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5l" + + "dGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1Ymxp" + + "YyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4g" + + "Y3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdp" + + "dGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hv" + + "b3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcg" + + "cG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFm" + + "dGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2Vy" + + "IHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4g" + + "ZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Np" + + "b24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxk" + + "IGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNm" + + "LWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMg" + + "V3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZl" + + "cmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4g" + + "PG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAXcZ/2EoQAABK" + + "EAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJn2DaXdDQAA3Q0AADMACQAA" + + "AAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVs" + + "aW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAA" + + "AIeAAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAT40AAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADCmgAAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA0bQAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABX2gAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAInpAABkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAA+xEBAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAADMaAQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "AHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAfDwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBP7NZh4gcAAOIH" + + "AAAyAAkAAAAAAAAAAAAAAARgAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + + "ZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCOwIjxNTIAADUyAAAtAAkAAAAA" + + "AAAAAAAAAE9oAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAADomgEAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAMqsAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAHYPAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJS" + + "TkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAK2YCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwA" + + "CQAAAAAAAAAAAAAAEI8CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAClvwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAADM8AIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAABRGwMAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAgCMDAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEA" + + "ps4SUEsFBgAAAAAXABcArwkAAPU5AwAAAA==" var ( skillDataOnce sync.Once From 0d240a8cd03ee8db8e92a0731df3dfa324bb082a Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 04:04:39 +0530 Subject: [PATCH 047/127] fix(nvcf-cli): fail check when the cluster validator cannot run, and exit 130 on interrupt Signed-off-by: rohithb --- .../reference/exit-codes.md | 2 +- .../nvcf-self-managed-cli/reference/flags.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 19 + .../cmd/self_hosted_check_scope_test.go | 23 + .../agentskill/skilldata_generated.go | 4333 +++++++++-------- .../selfhosted/clustervalidator_test.go | 12 +- .../nvcf-cli/internal/selfhosted/preflight.go | 11 +- 7 files changed, 2227 insertions(+), 2175 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 1c6924095f..6b17b56cc3 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,7 +6,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent. Warning-severity results, such as a validator that could not run, exit `0` | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent; a cluster-validator that could not run (RBAC denied, image pull failure, timeout). Warning-severity results exit `0` | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but didn't pass before duration | | `130` | Cancelled by SIGINT/SIGTERM | User Ctrl-C; CI budget exceeded; pod evicted | diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 19b255688b..e95df295a7 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -52,7 +52,7 @@ after the run, so the kubeconfig context needs permission to manage those. | `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed, as non-critical, only when neither the image nor the stack names a registry. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on an NGC registry, it mints one from `NGC_API_KEY` | auto-detect | -| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | +| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A later check reclaims them after 24 hours; the result prints the `kubectl delete` command that removes them now | `false` | | `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 67b233ef1f..9bd79e32f5 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -194,6 +194,16 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // default, stays behind until a later check's orphan sweep. sigCtx, stop := signal.NotifyContext(c.Context(), os.Interrupt, syscall.SIGTERM) defer stop() + // Catch only the first signal. Restoring the default handler once it + // arrives lets a second Ctrl-C exit at once instead of waiting out the + // cleanup. + go func() { + <-sigCtx.Done() + stop() + }() + // interrupted is an explicit cancel, not the timeout below, which is a + // child of sigCtx and leaves it live. + interrupted := func() bool { return sigCtx.Err() != nil } ctx, cancel := context.WithTimeout(sigCtx, outerTimeout) defer cancel() @@ -281,6 +291,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if selfHostedWait == "" { // Single-shot mode. lastResults = runOnce() + if interrupted() { + return &ExitCodeError{Code: 130, Msg: "interrupted"} + } emitCheckFinal(ctx, sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) if anyFailed(lastResults) { @@ -301,6 +314,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { for { lastResults = runOnce() + if interrupted() { + return &ExitCodeError{Code: 130, Msg: "interrupted"} + } if !anyFailed(lastResults) { emitCheckFinal(ctx, sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) @@ -315,6 +331,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { case <-ticker.C: // continue polling case <-ctx.Done(): + if interrupted() { + return &ExitCodeError{Code: 130, Msg: "interrupted"} + } return ctx.Err() } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 79db6a6cb6..a949b8fd6b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -27,6 +27,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "nvcf-cli/internal/selfhosted" ) @@ -106,3 +107,25 @@ func TestCheck_LocalOnlyNotesSkippedClusterChecks(t *testing.T) { _ = rootCmd.Execute() assert.Contains(t, stderr.String(), "--local-only runs the local host checks only") } + +// An interrupted run reports the interrupt, not a verdict: with the validator +// cut short the results would otherwise read as a failure, or as a pass. +func TestCheck_InterruptExits130(t *testing.T) { + resetCheckFlags(t) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + ctx, cancel := context.WithCancel(context.Background()) + cancel() + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) + // Cobra keeps a subcommand's context from an earlier Execute, so set it + // on the command that runs. + selfHostedCheckCmd.SetContext(ctx) + t.Cleanup(func() { selfHostedCheckCmd.SetContext(context.Background()) }) + rootCmd.SetArgs([]string{"self-hosted", "check", "--all", "--local-only", "--json"}) + err := rootCmd.Execute() + + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) +} diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 2655ad84e6..7c81b16cb3 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDQ3OTYsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDQ5ODgsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNDgzOTMwM2MwNGU4ZjUzYmVh" + - "N2FkMzQyZGI1MGY4YjRmNzI5ODUzNjEzOTJlZjhjMDcyNDFkMmZhM2I4MDc3IiwKICAgICAgInNp" + - "emUiOiAyMDE4CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIyNzYzYWY2ZjA2YzYzM2E4" + - "YzU5MzY4NTJkYWIzMmViYzgwMDQ1MTFiZDdkZmNhOGQ2ZTZhMmM0N2Q3N2VmNTcxIiwKICAgICAg" + - "InNpemUiOiAxMjg1MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzkyNTFlYjMyZmRmNmFjMzBl" + + "NDBmMzRmYjQ0OGJiZDI4Y2UxYWE5NjZjY2JlMDg3ZDhmNjA5Zjg0N2Q3OGI3IiwKICAgICAgInNp" + + "emUiOiAyMDYwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2OTVkMjEzOGUxYzA2OWM5" + + "ZDA1ZjMyNjU5ZWUyMWMyNWEyY2YyMjRhMWE2ZjhiMjkyYWIwYTQwMTliZThjNDBlIiwKICAgICAg" + + "InNpemUiOiAxMzAwMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCF3Gf9hKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCAqF8NhKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1619,2170 +1619,2173 @@ const skillDataZipBase64 = "" + "ZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZ" + "QU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNo" + "ZWNrYCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsg" + - "a3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50LiBXYXJuaW5n" + - "LXNldmVyaXR5IHJlc3VsdHMsIHN1Y2ggYXMgYSB2YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVu" + - "LCBleGl0IGAwYCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5v" + - "bi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJl" + - "YWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwg" + - "SGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3Jl" + - "IGR1cmF0aW9uIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQvU0lHVEVSTSB8IFVzZXIg" + - "Q3RybC1DOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkIHwKCiMjIEhvdyBhbiBhZ2Vu" + - "dCBzaG91bGQgcmVhY3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBg" + - "IHwgQ29udGludWUgLyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRv" + - "IHVzZXI7IGFzayBiZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQg" + - "YSBodW1hbiB0byByZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hl" + - "Y2tzICsgdGhlaXIgYGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIg" + - "Zml4ZXMgcHJlcmVxcy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFj" + - "dGl2ZSkgT1IgYC0tdG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNl" + - "ciBPSy4gfAp8IGA1YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGln" + - "IGludG8gdGhlIHN0YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0" + - "IHJldHJ5IGF1dG9tYXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0g" + - "YmVmb3JlIHJlLXJ1bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVj" + - "a2AgcmVwb3J0cyBpdHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBg" + - "dmVyZGljdGAsIGBmYWlsZWRDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsg" + - "c2VlIGBleGFtcGxlcy9jaS1waXBlbGluZXMubWRgLiBFdmVyeSBvdGhlciBub24temVybyBleGl0" + - "IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNh" + - "dGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNz" + - "YCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93" + - "bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nl" + - "c3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBg" + - "LS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsH" + - "CE/s1mHiBwAA4gcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFn" + - "IHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29u" + - "ZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZl" + - "cmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNP" + - "TkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1p" + - "bnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9z" + - "cyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNv" + - "dXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJ" + - "IFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s94oCm" + - "YCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3Ig" + - "YG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8" + - "IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8IGBs" + - "b2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWludGVy" + - "YWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tl" + - "bj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0t" + - "bm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFw" + - "cGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZv" + - "ciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8" + - "CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0" + - "IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFzcyB8" + - "IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZv" + - "ciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRl" + - "LXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAo" + - "UkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJ" + - "Q01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJh" + - "c2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBs" + - "b2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZlciBz" + - "Y29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIENMSSBwcmludHMgYSBub3RlIHNheWluZyBzby4gRW52" + - "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNr" + - "YC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBg" + - "LS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEg" + - "cm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdo" + - "dDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVh" + - "Y2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxg" + - "IG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0tY29u" + - "dHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1" + - "dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwg" + - "RXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmluZWQg" + - "d2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3Rl" + - "ciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1j" + - "aGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdo" + - "ZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLiBF" + - "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMjIyBD" + - "bHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRo" + - "ZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50" + - "LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92ZXMg" + - "dGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1p" + - "c3Npb24gdG8gbWFuYWdlIHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBp" + - "bWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9S" + - "X0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRo" + - "IG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5" + - "LiBVbnNldCBldmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRyYSBy" + - "ZWdpc3RyaWVzIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNoYWJp" + - "bGl0eS4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMg" + - "ZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFs" + - "LmltYWdlLnJlZ2lzdHJ5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01F" + - "IHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1h" + - "Z2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBub24tY3JpdGljYWwsIG9ubHkgd2hlbiBuZWl0" + - "aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFJlcGVhdGFibGUg" + - "b3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJ" + - "U1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwK" + - "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBj" + - "b250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVk" + - "cyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2Fw" + - "cGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFH" + - "RWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94" + - "OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNy" + - "ZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1" + - "bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Igb25l" + - "IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBmb3Ig" + - "dGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdDIHJl" + - "Z2lzdHJ5LCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3QgfAp8" + - "IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRh" + - "dG9yIHByb2JlIGVudGlyZWx5LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + - "Ul9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFs" + - "aWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3Ig" + - "ZGVidWdnaW5nLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRo" + - "ZSByZXN1bHQgcHJpbnRzIHRoZSBga3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVz" + - "IHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0" + - "b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5z" + - "Y3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNv" + - "IGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZh" + - "bHNlYCB8CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlk" + - "ZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJ" + - "RCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9u" + - "IHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBs" + - "YW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lm" + - "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0" + - "ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCAr" + - "IGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8" + - "CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8Cnwg" + - "YC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAt" + - "LW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIg" + - "cmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBg" + - "LS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9O" + - "YCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRw" + - "b2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3Jl" + - "YXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdl" + - "bmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmll" + - "ZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBU" + - "RVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBu" + - "dmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5n" + - "LiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBg" + - "LS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWly" + - "ZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRh" + - "dGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2Vg" + - "IHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMp" + - "LCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3Jl" + - "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVw" + - "ZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1" + - "bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAt" + - "IHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50" + - "IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBv" + - "cnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1" + - "bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBj" + - "aGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10" + - "eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVs" + - "bS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBi" + - "eSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8" + - "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyBy" + - "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsg" + - "Zm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0" + - "aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVz" + - "ZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBl" + - "eGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + - "IGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAt" + - "IHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBk" + - "ZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0" + - "eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8" + - "IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0" + - "byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3Jp" + - "dHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBm" + - "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9k" + - "ZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNv" + - "bXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3Vw" + - "cG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2As" + - "IGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMg" + - "YHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNh" + - "cmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBv" + - "ciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBg" + - "PHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMp" + - "LCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3Mp" + - "LiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBg" + - "MTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04u" + - "CgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4g" + - "Rm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTog" + - "IkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNb" + - "XS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAg" + - "bXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0" + - "U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5j" + - "dGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNG" + - "IGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0" + - "IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGkt" + - "dHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVl" + - "c3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBs" + - "YWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExN" + - "IG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9k" + - "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1h" + - "dGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5w" + - "dXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0" + - "LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5" + - "IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNj" + - "b3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1J" + - "RDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsg" + - "c3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBk" + - "ZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0" + - "cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZp" + - "Zy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlz" + - "YCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2Rl" + - "bCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1" + - "dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mg" + - "b25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + - "LWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQ" + - "RWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1p" + - "biByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8" + - "IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAw" + - "YCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxO" + - "QU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcg" + - "U0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlz" + - "IHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + - "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + - "TkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpd" + - "W2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdp" + - "dGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10" + - "eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxl" + - "YCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + - "dGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8" + - "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8" + - "IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxF" + - "YCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMg" + - "d2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQ" + - "IHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0" + - "aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3Mg" + - "QVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xl" + - "IHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250" + - "YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyBy" + - "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9u" + - "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1t" + - "YXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEs" + - "IGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAt" + - "LW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxh" + - "dGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRp" + - "b24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08g" + - "ODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExP" + - "QURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBg" + - "LS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3Jt" + - "YXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJl" + - "c3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklg" + - "IHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpW" + - "RVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRh" + - "Z3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3Jp" + - "cHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnkt" + - "aWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3Mt" + - "dGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwK" + - "fCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2lu" + - "dCBJRCB8IC0gfApQSwcIjsCI8TUyAAA1MgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVU" + - "BQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29t" + - "bWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBw" + - "aGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRy" + - "eSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9u" + - "YCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + - "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRw" + - "czovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBg" + - "aGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmls" + - "ZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBo" + - "dHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMg" + - "bm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5z" + - "dGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3Bh" + - "Y2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQg" + - "U3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8" + - "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + - "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + - "c3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRl" + - "LXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBz" + - "Oi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9s" + - "YXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRv" + - "cmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkg" + - "fCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5v" + - "ZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwK" + - "CiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + - "CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNs" + - "aS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRl" + - "cmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNp" + - "Z25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRj" + - "aGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQg" + - "Y29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5p" + - "dGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlv" + - "biBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNj" + - "b3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4g" + - "cmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBS" + - "ZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3Ig" + - "Y2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwg" + - "Q29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAt" + - "biBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNp" + - "ZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZh" + - "bWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6" + - "ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3Rl" + - "ciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkg" + - "KyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAg" + - "KG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90" + - "IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVy" + - "IG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRp" + - "bmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcw" + - "NGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0" + - "b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBi" + - "dWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0" + - "b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1w" + - "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENy" + - "YXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4v" + - "cmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZy" + - "b20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRl" + - "IHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBv" + - "dGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQg" + - "d2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBp" + - "biBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkg" + - "c2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8" + - "IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFn" + - "ZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQg" + - "Y29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8" + - "IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBO" + - "QVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + - "IGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMg" + - "VGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + - "YHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFs" + - "IGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1" + - "ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAg" + - "d2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBu" + - "ZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFj" + - "Y291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAo" + - "ZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4g" + - "dGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCBy" + - "ZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0" + - "LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJ" + - "TEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRl" + - "c2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250" + - "cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVs" + - "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3du" + - "LAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4g" + - "VXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5z" + - "dGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZp" + - "bGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2Ug" + - "Zm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1l" + - "bnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBS" + - "ZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlm" + - "ZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2Yt" + - "Y29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIx" + - "LjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBj" + - "b250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBk" + - "ZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAs" + - "IEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1l" + - "bmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIK" + - "ICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRy" + - "b2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxv" + - "eW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29y" + - "a3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0" + - "dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25h" + - "bCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + - "IEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBp" + - "bnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtl" + - "ZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9y" + - "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJl" + - "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4K" + - "CiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUg" + - "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkg" + - "Ym90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250" + - "cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNy" + - "ZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRl" + - "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + - "bnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0" + - "aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lv" + - "bnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJz" + - "aW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkg" + - "cmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6" + - "PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNv" + - "bnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vi" + - "c3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFy" + - "dAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBi" + - "YXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBz" + - "ZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhl" + - "bG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVj" + - "dGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBv" + - "ZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFj" + - "dGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8v" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNy" + - "ZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJv" + - "bSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMu" + - "eWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxl" + - "XShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1l" + - "eGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRl" + - "bmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBg" + - "dGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1l" + - "cmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVz" + - "KQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28g" + - "dGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + - "CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAt" + - "PiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3Qg" + - "cHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNz" + - "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMs" + - "IG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJi" + - "aXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50" + - "bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQu" + - "CgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxl" + - "YXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgj" + - "b3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMj" + - "IyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBh" + - "IHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "OyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBh" + - "IHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9" + - "Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25l" + - "CmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNo" + - "IGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNy" + - "ZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5" + - "b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3Ry" + - "eSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + - "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11" + - "c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNv" + - "bW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + - "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + - "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29y" + - "ZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUg" + - "QVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdz" + - "LmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxh" + - "c3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhl" + - "IGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBi" + - "dXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25k" + - "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRo" + - "IGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMg" + - "Zm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nl" + - "c3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jv" + - "bmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25l" + - "IG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1l" + - "ZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRv" + - "a2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFk" + - "IG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZy" + - "b20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMj" + - "IDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhl" + - "bnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMg" + - "aW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFu" + - "CmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVy" + - "ZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1" + - "dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRp" + - "YWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6" + - "CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lz" + - "dHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAg" + - "IGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25s" + - "eSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6" + - "IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgog" + - "ICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0" + - "aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4g" + - "Q29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJy" + - "b3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRv" + - "IGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5n" + - "Yy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQg" + - "YnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHku" + - "IEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAog" + - "ICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAg" + - "dGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXIt" + - "cmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAg" + - "ID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBz" + - "dGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3Ry" + - "eQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVs" + - "bCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91" + - "IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEK" + - "ICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRo" + - "ZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dp" + - "bmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSBy" + - "ZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + - "Y3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVn" + - "aXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3" + - "aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1p" + - "cnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRo" + - "ZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXgg" + - "Zm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUg" + - "dGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGlu" + - "ZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5" + - "IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3Rh" + - "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAK" + - "ClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQg" + - "R2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFu" + - "ZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3Qg" + - "ZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUg" + - "cmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29u" + - "bmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3Rg" + - "LiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMg" + - "cm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVy" + - "IGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5T" + - "IG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1k" + - "XShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVk" + - "IG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMg" + - "RGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRz" + - "IGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + - "U1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWws" + - "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hA" + - "bmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + - "aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4g" + - "c2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMg" + - "dG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRv" + - "IHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4g" + - "RGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRl" + - "bmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0t" + - "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3Jv" + - "dXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwK" + - "fCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlv" + - "biwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91" + - "dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNr" + - "YWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91" + - "cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0y" + - "IG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25h" + - "bCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVl" + - "ZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJv" + - "bnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMg" + - "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkg" + - "R2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNv" + - "bnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0" + - "ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2th" + - "Z2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhl" + - "IGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBg" + - "eWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBp" + - "bmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21h" + - "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBk" + - "ZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52" + - "YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhv" + - "c3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUg" + - "b3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNo" + - "aW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + - "aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2Vydmlj" + - "ZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1u" + - "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + - "cyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNl" + - "bnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAt" + - "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHBy" + - "b3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIg" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5p" + - "dHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmlu" + - "dm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0" + - "aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwp" + - "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUku" + - "IEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + - "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQg" + - "c3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBu" + - "dmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWlu" + - "IHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8g" + - "dGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwg" + - "c2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJ" + - "IEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhl" + - "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRv" + - "ZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFs" + - "dGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJl" + - "Z2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBD" + - "TEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIg" + - "YW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cg" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3Jl" + - "dHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24K" + - "CkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVz" + - "aW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkg" + - "dGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6" + - "IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNg" + - "LCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBg" + - "bm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBh" + - "ZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNs" + - "dWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1" + - "dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNl" + - "cnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0" + - "LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNl" + - "IEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVs" + - "ZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJl" + - "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + - "IGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + - "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + - "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + - "ZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + - "LiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3Zh" + - "bCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUg" + - "dGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNw" + - "YWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxl" + - "dGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlm" + - "eSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + - "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBg" + - "CgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAo" + - "bGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBw" + - "cm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFn" + - "ZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkg" + - "Y2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3Rt" + - "cGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxw" + - "cml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhl" + - "IGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + - "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + - "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291" + - "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAg" + - "bWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgog" + - "ICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEg" + - "cmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBg" + - "dmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJl" + - "LWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMg" + - "UHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2" + - "aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUg" + - "dGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFu" + - "ZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGgg" + - "dGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxh" + - "bmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIg" + - "SW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVs" + - "bHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5j" + - "dGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0" + - "Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwg" + - "SzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBg" + - "PHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkg" + - "fCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRz" + - "LnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + - "bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tl" + - "cmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0" + - "aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3Rl" + - "OiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBO" + - "T1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBw" + - "bGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hp" + - "Y2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBC" + - "b3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52" + - "Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBg" + - "YXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVl" + - "IG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9h" + - "dXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8" + - "ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6" + - "IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNv" + - "ZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTog" + - "ZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBh" + - "bmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5" + - "bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5" + - "IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFk" + - "eS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBg" + - "YmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3Ns" + - "IGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJz" + - "L2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQg" + - "VGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fy" + - "cy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2Yg" + - "ZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBg" + - "YAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJy" + - "b3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMg" + - "b2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZm" + - "ZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFn" + - "ZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdv" + - "IGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lz" + - "dHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNl" + - "cyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZl" + - "cm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGlj" + - "eSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9k" + - "cyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRz" + - "IC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMg" + - "bmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVy" + - "bm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhl" + - "bG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5h" + - "bWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + - "ZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + - "aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5h" + - "bWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVj" + - "dGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUg" + - "cG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdl" + - "UHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7" + - "LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNy" + - "ZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFs" + - "IGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5v" + - "IHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJl" + - "bmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERl" + - "YnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Rz" + - "IC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAt" + - "QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVh" + - "c2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + - "ICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3lt" + - "cHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1" + - "bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBz" + - "ZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0" + - "cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0" + - "aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0" + - "dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xv" + - "Z2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUg" + - "dG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3Rh" + - "dGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNl" + - "IGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFs" + - "c2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5i" + - "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2Ig" + - "YG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNl" + - "ZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5p" + - "dDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1" + - "bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2" + - "aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNy" + - "ZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25s" + - "eSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + - "c3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2" + - "aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NB" + - "U1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2Vk" + - "IHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Ig" + - "bm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBh" + - "bmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5z" + - "dGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhl" + - "biBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNl" + - "NjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2Iv" + - "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3Vu" + - "dCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290" + - "c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0" + - "YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2Yg" + - "YSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBl" + - "ZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBi" + - "b290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2" + - "aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5k" + - "IHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVy" + - "cy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRv" + - "IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJp" + - "ZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5k" + - "aXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3Rh" + - "cnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVk" + - "IHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1" + - "cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lP" + - "Tj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + - "cmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxg" + - "IGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBv" + - "bmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwg" + - "ZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFu" + - "IGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3Jl" + - "YXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMg" + - "YSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkg" + - "d3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0" + - "IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQt" + - "Ym9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVj" + - "dCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3lu" + - "Y2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRo" + - "ZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3Rh" + - "dGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBu" + - "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9n" + - "cyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUg" + - "YWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3Rh" + - "bGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQg" + - "RXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10" + - "by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1m" + - "aWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBz" + - "ZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBt" + - "YW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRh" + - "dGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxm" + - "LW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNr" + - "aWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUg" + - "KG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1" + - "Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVz" + - "dGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNp" + - "b25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmls" + - "ZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCBy" + - "ZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJz" + - "aW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + - "ZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFs" + - "bGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xp" + - "ZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNz" + - "ZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAog" + - "ICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNG" + - "IHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRl" + - "IHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxt" + - "ZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmlu" + - "ZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1w" + - "b3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4g" + - "dGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBh" + - "Z2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxh" + - "dGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2" + - "aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rp" + - "b24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xl" + - "YW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRo" + - "ZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tl" + - "bmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + - "bmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8g" + - "Zm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0Yt" + - "bWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQg" + - "bm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBj" + - "b25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFu" + - "dXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNG" + - "QmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhl" + - "IGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5h" + - "bGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0" + - "ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkg" + - "YW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBm" + - "aXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhl" + - "bG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0Yg" + - "Y29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUg" + - "SGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0" + - "ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1" + - "dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hl" + - "bWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhl" + - "IGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01T" + - "X1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZp" + - "Zy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZy" + - "b20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2Vw" + - "YXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAg" + - "IlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5n" + - "IG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + - "Z3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNf" + - "c2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hv" + - "c3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIt" + - "Y2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNf" + - "VVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + - "dXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3" + - "aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1" + - "dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5" + - "IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVy" + - "LCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0" + - "aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZv" + - "ciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVl" + - "c3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50" + + "a3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0" + + "ZXItdmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwg" + + "ZmFpbHVyZSwgdGltZW91dCkuIFdhcm5pbmctc2V2ZXJpdHkgcmVzdWx0cyBleGl0IGAwYCB8Cnwg" + + "YDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAg" + + "c2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVg" + + "IHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRp" + + "bWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3JlIGR1cmF0aW9uIHwKfCBg" + + "MTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQvU0lHVEVSTSB8IFVzZXIgQ3RybC1DOyBDSSBidWRn" + + "ZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQgcmVhY3QK" + + "CnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGludWUgLyBy" + + "ZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBiZWZv" + + "cmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0byByZWFk" + + "IHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIgYGhp" + + "bnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVxcy4g" + + "fAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0tdG9r" + + "ZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1YCB8" + + "IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhlIHN0YWxs" + + "ZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1dG9tYXRp" + + "Y2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1bm5p" + + "bmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBpdHMg" + + "b3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGBmYWls" + + "ZWRDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9j" + + "aS1waXBlbGluZXMubWRgLiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0" + + "dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1l" + + "c3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8" + + "aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRl" + + "clNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3Vi" + + "ZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJh" + + "dGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCEaudvAMCAAADAgAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMg" + + "R2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + + "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8" + + "IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dn" + + "aW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0" + + "ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwK" + + "CiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wt" + + "cGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0" + + "aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkg" + + "Q0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s94oCmYCB8IENvbXB1dGUtcGxh" + + "bmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwg" + + "ZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8" + + "cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8IGBsb2NhbGAgZm9yIGRldiBi" + + "dWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2Fi" + + "bGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWlu" + + "IEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGlu" + + "c3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8" + + "CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVw" + + "cmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwg" + + "Rm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERV" + + "UkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFzcyB8IC0gfAp8IGAtLWNvbnRy" + + "b2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5l" + + "IChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQg" + + "Q1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJl" + + "bnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWly" + + "ZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwK" + + "fCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNr" + + "cyBhbmQgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBh" + + "c3NlZC4gVGhlIENMSSBwcmludHMgYSBub3RlIHNheWluZyBzby4gRW52OiBgTlZDRl9DTElfU0VM" + + "RkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQg" + + "bGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5l" + + "YCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEgcm9sZTsgb25seSB0aGUg" + + "c2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0" + + "b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5j" + + "ZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUt" + + "cGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBD" + + "b250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ29t" + + "cHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgRXZlcnkgY2F0ZWdvcnks" + + "IGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmluZWQgd2l0aCBgLS1wcmVgIHwg" + + "YGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIGZvciBjb21w" + + "dXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRo" + + "ZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25m" + + "aWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLiBFbnY6IGBOVkNGX0NMSV9T" + + "RUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRv" + + "ciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5n" + + "IGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwg" + + "YW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92ZXMgdGhlbQphZnRlciB0aGUg" + + "cnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdl" + + "IHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + + "Y2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlv" + + "biBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmln" + + "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3Zl" + + "cnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBVbnNldCBldmVyeXdo" + + "ZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFs" + + "aWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRoZSBj" + + "b250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNoYWJpbGl0eS4gVGhleSBhcmUg" + + "YWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlk" + + "YXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5" + + "YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3Mg" + + "dGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2Ag" + + "aXMgcHJvYmVkLCBhcyBub24tY3JpdGljYWwsIG9ubHkgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBu" + + "b3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJh" + + "dGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmln" + + "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBjb250cm9sLXBsYW5lIHZh" + + "bGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1" + + "c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBF" + + "bnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkg" + + "YGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9j" + + "a2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2Nr" + + "ZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRv" + + "ciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5h" + + "bWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGlu" + + "ZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdDIHJlZ2lzdHJ5LCBpdCBtaW50" + + "cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rl" + + "ci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGly" + + "ZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMg" + + "dGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxl" + + "IHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFbnY6IGBOVkNGX0NMSV9T" + + "RUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNs" + + "ZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNy" + + "ZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRo" + + "ZW0gYWZ0ZXIgMjQgaG91cnM7IHRoZSByZXN1bHQgcHJpbnRzIHRoZSBga3ViZWN0bCBkZWxldGVg" + + "IGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dz" + + "YCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNo" + + "ZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNv" + + "IHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVh" + + "ZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQ" + + "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAg" + + "fCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1p" + + "ZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVH" + + "SU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBE" + + "cnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAg" + + "fAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRl" + + "IHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUg" + + "cmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNo" + + "YCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVu" + + "dHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBm" + + "YWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1l" + + "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAt" + + "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21z" + + "LXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhp" + + "c3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFs" + + "c2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVy" + + "YXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgp" + + "IHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUg" + + "a2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05g" + + "IHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBk" + + "dXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBk" + + "ZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8Cnwg" + + "YC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFm" + + "dGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNl" + + "Y29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVr" + + "cykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBp" + + "cyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFk" + + "LWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAg" + + "fCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWlu" + + "ZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBD" + + "b250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRc" + + "fFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0t" + + "Y2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVz" + + "ZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3Jr" + + "bG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBT" + + "ZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1j" + + "aGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5k" + + "YXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNg" + + "IHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVy" + + "aT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0" + + "YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBI" + + "YCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3Ig" + + "Y29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMg" + + "ZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklU" + + "WWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVl" + + "cyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3Jp" + + "dHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBl" + + "YXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1" + + "aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3Ms" + + "IExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGlu" + + "ZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBk" + + "ZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0" + + "aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlv" + + "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJv" + + "dXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9x" + + "X211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0" + + "ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRl" + + "Z2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVu" + + "aXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChk" + + "YXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcg" + + "bGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAw" + + "MDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVu" + + "dCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9u" + + "LCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZp" + + "Y2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1" + + "ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQg" + + "ZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVz" + + "dHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlv" + + "biBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9y" + + "d2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVl" + + "c3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2lu" + + "ZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNw" + + "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10" + + "YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9k" + + "ZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4s" + + "cm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJs" + + "ZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1w" + + "bGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8" + + "IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1" + + "bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5k" + + "IGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1h" + + "Y2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBv" + + "dmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92" + + "ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1" + + "bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9k" + + "ZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50" + + "b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5k" + + "IGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVh" + + "dGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpT" + + "T04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQg" + + "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8" + + "IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0t" + + "bWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNl" + + "cyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kg" + + "TmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwK" + + "fCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVz" + + "dGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpg" + + "LS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVm" + + "aW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4" + + "IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwg" + + "R1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgx" + + "MDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQg" + + "d2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8Cnwg" + + "YC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdp" + + "dGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBV" + + "Ukwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8" + + "CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mg" + + "b3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFD" + + "S0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwg" + + "U3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8" + + "CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0" + + "aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gt" + + "c2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVu" + + "dmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZh" + + "bHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVk" + + "IGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9j" + + "ayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9y" + + "IG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4g" + + "cXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBU" + + "NzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFm" + + "dGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAt" + + "LXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1" + + "dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3Vs" + + "dCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVg" + + "OyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9k" + + "ZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwK" + + "fCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVw" + + "ZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNl" + + "cGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8" + + "CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJ" + + "RCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0" + + "cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJh" + + "Y2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIrEyKo8syAADLMgAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + + "L3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJv" + + "cnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3" + + "aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChS" + + "RVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29y" + + "eWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBB" + + "VEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFs" + + "bCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9p" + + "bnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBz" + + "Oi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5v" + + "dCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8" + + "CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJl" + + "cSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9n" + + "YXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFt" + + "ZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3Rl" + + "ciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5h" + + "bWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5l" + + "dGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5v" + + "dCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2lu" + + "ZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQt" + + "bmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1Ig" + + "dXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNz" + + "aW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlg" + + "IGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBl" + + "ckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + + "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3Qg" + + "cnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwg" + + "YG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRl" + + "cmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGht" + + "IGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5q" + + "c29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0" + + "ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQg" + + "YXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZl" + + "IGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1k" + + "ZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoK" + + "fCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0" + + "aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQ" + + "VkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sg" + + "YGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BV" + + "ICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVs" + + "ZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEw" + + "MCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0" + + "IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5l" + + "KSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3Mg" + + "YC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWly" + + "ZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRl" + + "LXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBF" + + "eHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEg" + + "cmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNr" + + "T2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdp" + + "c3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52" + + "Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUt" + + "cGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + + "fC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAv" + + "djEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24n" + + "dCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8" + + "CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + + "YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBs" + + "YW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAt" + + "LWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4g" + + "YG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBv" + + "ciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBj" + + "aGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERF" + + "UExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIp" + + "IOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBs" + + "b2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNh" + + "bGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + + "b24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBF" + + "PiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJl" + + "dmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlh" + + "bCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdl" + + "dGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxh" + + "eTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBu" + + "dmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBw" + + "bGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVw" + + "IHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJl" + + "c3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864T" + + "hHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUg" + + "TlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + + "CiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxs" + + "YXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywg" + + "YW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBu" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRp" + + "b24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + + "bmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVw" + + "bG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRo" + + "ZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hl" + + "LTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBo" + + "ZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2" + + "ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZp" + + "ZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVs" + + "bWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJv" + + "ZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hl" + + "bGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQog" + + "IGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNv" + + "bT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + + "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + + "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFti" + + "YXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21h" + + "aW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBP" + + "cGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBs" + + "YW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMK" + + "ClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGlu" + + "IG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBo" + + "YW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1" + + "bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1m" + + "dW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJh" + + "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRp" + + "b24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5l" + + "LXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250" + + "cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1w" + + "bGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBt" + + "YXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSBy" + + "ZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2" + + "ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNm" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + + "cyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cK" + + "Y29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "LgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3Jl" + + "IGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAx" + + "LjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAg" + + "ICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhl" + + "bG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0" + + "aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + + "cyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6" + + "CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUu" + + "ZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlm" + + "eSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNl" + + "Y3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltD" + + "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + + "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJz" + + "dGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1" + + "cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAg" + + "IChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAg" + + "ICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290" + + "bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + + "cykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNl" + + "bnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVl" + + "czogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hh" + + "cnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNv" + + "dW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVu" + + "dCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBk" + + "b2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + + "LCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5n" + + "IEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBD" + + "bGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVs" + + "bCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBp" + + "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + + "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + + "IiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBP" + + "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlv" + + "KQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + + "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + + "YW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVz" + + "dCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0u" + + "IFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBB" + + "dXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9n" + + "aW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVs" + + "bSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBg" + + "YmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZj" + + "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3Mg" + + "ZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5l" + + "Y3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9n" + + "aW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEp" + + "Lgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBu" + + "ZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9z" + + "dCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+" + + "IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVz" + + "IHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBh" + + "IG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1" + + "Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFn" + + "ZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRo" + + "IHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4g" + + "YC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVs" + + "bGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAo" + + "UHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0" + + "aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lz" + + "dHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1p" + + "cnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2Fu" + + "IHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhh" + + "bXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpn" + + "cmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQg" + + "YW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sg" + + "YXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAog" + + "ICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAg" + + "ICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8" + + "bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFy" + + "dHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5" + + "OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBv" + + "ZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJl" + + "Zm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJl" + + "IGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhv" + + "dWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3Ig" + + "ZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFu" + + "ZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkg" + + "b3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBt" + + "aXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSBy" + + "ZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNo" + + "YXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBP" + + "Q0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4g" + + "U2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50" + + "aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3Jr" + + "bG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJl" + + "cm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZj" + + "ci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVz" + + "dCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAog" + + "ICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJv" + + "bSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2" + + "YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRl" + + "YCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFs" + + "IG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1h" + + "Z2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0" + + "aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRz" + + "IHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJ" + + "dCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1" + + "ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9" + + "JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFj" + + "ZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + + "R0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQ" + + "LiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUg" + + "bG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBz" + + "dGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhv" + + "dXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21h" + + "aW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQg" + + "YEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMg" + + "ZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4g" + + "SWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJs" + + "ZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFt" + + "cGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQg" + + "ZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRl" + + "ICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFz" + + "c3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4g" + + "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFz" + + "IGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwg" + + "dGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9D" + + "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBh" + + "bmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVu" + + "dGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNl" + + "cnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRS" + + "QV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMg" + + "aW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNl" + + "cyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0t" + + "LXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENh" + + "c3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJ" + + "LCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0" + + "aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBV" + + "SSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwK" + + "fCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4g" + + "fAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3Rh" + + "Y2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWlu" + + "YWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZh" + + "bml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRl" + + "ZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9y" + + "IHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZv" + + "Y2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + + "dCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFj" + + "ayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5k" + + "IGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVz" + + "ZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNr" + + "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88" + + "ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVu" + + "YWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + + "aG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRl" + + "d2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFw" + + "cGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3Ug" + + "bmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVz" + + "ZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFj" + + "a2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0" + + "aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3" + + "IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0" + + "ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + + "LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdo" + + "ZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRl" + + "d2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhv" + + "c3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBg" + + "YAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5" + + "cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91" + + "dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFi" + + "bGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + + "YWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWls" + + "YWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRv" + + "bi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + + "Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rp" + + "b24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7" + + "IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50" + + "LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlv" + + "biBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQp" + + "LgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBj" + + "b250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25l" + + "bnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFu" + + "ZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmly" + + "b25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0" + + "ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2Vu" + + "ZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBj" + + "b21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRo" + + "ZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + + "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVL" + + "UyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVy" + + "LgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUg" + + "dGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9m" + + "Zjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95" + + "IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBU" + + "aGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRy" + + "YWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBj" + + "LXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdh" + + "dGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBg" + + "Y2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVk" + + "ZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZl" + + "cyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + + "ZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJs" + + "ZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFj" + + "ay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNl" + + "cyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5" + + "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7" + + "IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFu" + + "Y2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJk" + + "b3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVj" + + "dG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpg" + + "YGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0" + + "ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3Vu" + + "ZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdy" + + "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNo" + + "b3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgoj" + + "IyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBg" + + "Z2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FD" + + "b3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVh" + + "c2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBo" + + "ZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRo" + + "ZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + + "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFt" + + "ZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFi" + + "bGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + + "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + + "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fz" + + "c2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAg" + + "Y3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgog" + + "ICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwg" + + "bWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBp" + + "bmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + + "dWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRo" + + "ZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVs" + + "bCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8g" + + "bm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9m" + + "IHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jv" + + "bmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdp" + + "c3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0t" + + "fAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZh" + + "bGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52" + + "Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdv" + + "cmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZl" + + "cm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxg" + + "IChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNS" + + "RVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBp" + + "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3Jt" + + "YXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3Ig" + + "eW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9r" + + "ZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhl" + + "IHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRz" + + "IHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RP" + + "Q0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZp" + + "Z2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9j" + + "a2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFu" + + "ZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBi" + + "dWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + + "KWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0" + + "IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNj" + + "b3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAw" + + "ICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0g" + + "V3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBt" + + "YWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gg" + + "a2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcK" + + "PiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVn" + + "LiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVs" + + "bCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2Vu" + + "OiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2Vz" + + "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4g" + + "ICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNl" + + "cy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9s" + + "bG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3" + + "IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5n" + + "IGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0" + + "aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdz" + + "LCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJh" + + "cCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMp" + + "Cj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGlu" + + "ZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBh" + + "dXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMg" + + "Q29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0" + + "YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxs" + + "U2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5p" + + "Zm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhl" + + "bG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJu" + + "bwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5v" + + "LwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAt" + + "biBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4g" + + "ZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4g" + + "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + + "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1k" + + "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5H" + + "Q19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJu" + + "byBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQt" + + "cG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lv" + + "biB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4g" + + "VmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNo" + + "b3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENT" + + "UCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9s" + + "ZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlv" + + "biBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAj" + + "IEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29y" + + "dC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZh" + + "aWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0t" + + "LS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1p" + + "c3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBT" + + "QSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBv" + + "ZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2Rz" + + "ICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5p" + + "dGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vz" + + "c2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGgg" + + "Y29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3Mg" + + "bGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJE" + + "aXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVy" + + "IGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + + "ZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5j" + + "IGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRg" + + "IG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBj" + + "YXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2Vydmlj" + + "ZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8" + + "IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fz" + + "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2Ag" + + "fCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxl" + + "IGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNz" + + "YW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUg" + + "c2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJl" + + "IHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWls" + + "ZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0" + + "cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFw" + + "IHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hl" + + "Y2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAg" + + "fAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9p" + + "ZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0" + + "aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2" + + "ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRo" + + "ZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUg" + + "W1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJv" + + "b3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNl" + + "Y3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2Fw" + + "cC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91" + + "bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhl" + + "IGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RP" + + "T0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNv" + + "bm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMg" + + "c2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBg" + + "QVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNw" + + "YCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0" + + "aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQg" + + "YnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9u" + + "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBv" + + "c3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0" + + "YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZl" + + "CnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1" + + "bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24v" + + "YWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdp" + + "dGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBp" + + "dCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBu" + + "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + + "c3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBg" + + "LCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBm" + + "aXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBh" + + "IGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdu" + + "b3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9u" + + "YWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCks" + + "IHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + + "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1w" + + "bGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "Ci0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1z" + + "dHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCks" + + "IGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1l" + + "bnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0" + + "aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRz" + + "LgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7" + + "CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAi" + + "SW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVy" + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFu" + - "ZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3Ro" + - "IGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + - "cHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIs" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVw" + + "IGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9v" + + "bCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49" + + "IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3" + + "aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxl" + + "IHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEu" + + "eCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1k" + + "aWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwg" + + "dmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFs" + + "bCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVt" + + "cGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxt" + + "ZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhl" + + "IGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1h" + + "bmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRo" + + "ZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBz" + + "eW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVs" + + "bWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9y" + + "ZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBz" + + "eW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tl" + + "ZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUt" + + "Y2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBU" + + "ZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZp" + + "bmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5h" + + "bGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFt" + + "ZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJ" + + "dCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBu" + + "dmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIs" + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0" + - "aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + - "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + - "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + - "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHBy" + - "b3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAi" + - "UnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUg" + - "c3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55" + - "YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGlu" + - "c3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5j" + - "IGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBm" + - "b3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8s" + - "IHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVz" + - "IHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhl" + - "bG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0" + - "cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9u" + - "IjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + - "IHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3Rh" + - "Z2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250" + - "cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUg" + - "c3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2Vy" + - "dC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxv" + - "eWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVu" + - "IHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3Rh" + - "bGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5n" + - "IHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "dmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVj" + - "dGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlz" + - "dHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChj" + - "YXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2" + - "YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5h" + - "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVs" + - "bWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3ki" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAo" + - "ZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJv" + - "eGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhl" + - "YWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNv" + - "bXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFu" + - "ZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2Ug" + - "bnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFu" + - "ZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVk" + - "IGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0" + - "aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBj" + - "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0" + - "ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWlu" + - "IGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3Vt" + - "ZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBp" + - "bnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYu" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUg" + + "Y29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + + "a3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZp" + + "bmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRv" + + "IGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAi" + + "VGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3Bl" + + "cmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNv" + + "dXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3Bh" + + "Y2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlv" + + "biI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29t" + + "cHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVy" + + "IGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENM" + + "SSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29u" + + "ZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBj" + + "b250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1" + + "c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhl" + + "biByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZp" + + "cm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNj" + + "b3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMg" + + "dW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxh" + + "bmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAog" + + "ICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFz" + + "ZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBp" + + "X2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3" + + "YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwg" + + "Q0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFt" + + "bCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQg" + + "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + + "YXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3Vw" + + "cGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENM" + + "SSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhl" + + "IGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29u" + + "dHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBw" + + "cm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2Vy" + + "LWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZD" + + "RiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFu" + + "IGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJ" + + "dCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMg" + + "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxv" + + "bmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dp" + + "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + + "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8n" + + "IHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhl" + + "bG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNh" + + "dGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRs" + + "ZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3Vy" + + "cmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQg" + + "dG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRz" + + "Lywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3Qg" + + "Zm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2Nh" + + "dGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0" + + "IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZp" + + "bGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAg" + + "ICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBh" + + "bmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3Ry" + + "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxs" + + "YXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2Yg" + + "dGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52" + + "aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRh" + + "dGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFt" + + "ZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3Ry" + + "aWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wt" + + "cGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5k" + + "IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRl" + + "IHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBo" + + "ZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUg" + + "YnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJv" + + "bC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwg" + + "YXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBh" + + "ZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVM" + + "TUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRl" + + "cGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxt" + + "ZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBj" + + "b250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2Jz" + + "ZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhl" + + "IGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0" + + "YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUg" + + "ZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1n" + + "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBm" + + "bG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwK" + + "ICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5l" + + "IGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVy" + + "LiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVx" + + "dWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBz" + + "aG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVk" + + "aW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "aywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5k" + + "LiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1" + + "ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIs" + + "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + + "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0" + + "cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29u" + + "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + + "aW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJl" + + "LWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUg" + + "Z2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXgg" + + "aW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNz" + + "YW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRz" + + "IHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJh" + + "c2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRy" + + "YSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290" + + "bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUg" + + "WUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcu" + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0t" + - "Y29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + - "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + - "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + - "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUs" + - "IC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0" + - "YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3Rh" + - "bGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0" + - "ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMg" + - "dGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJl" + - "Z2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5k" + - "cmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRp" + - "bmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUg" + - "dGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5l" + - "IHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRo" + - "ZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5k" + - "IHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + - "cmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1" + - "ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAog" + - "ICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0" + - "cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUp" + - "IiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBz" + - "cGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50" + - "aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZp" + - "bGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1" + - "ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNz" + - "YW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRl" + - "cGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVu" + - "ZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBk" + - "ZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5j" + - "eSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVt" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3Ig" + - "dGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBw" + - "b2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5k" + - "IHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNj" + - "cmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVs" + - "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZp" + - "ZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Np" + - "bmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + - "bWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0" + - "aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9y" + - "IHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAi" + - "VGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29y" + - "IHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBj" + - "YXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJD" + - "b25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNv" + - "bnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5k" + - "IHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRl" + - "d2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1n" + - "YXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9p" + - "bnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBO" + - "VkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlz" + - "Y292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBm" + - "aWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBS" + - "ZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0" + - "ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVk" + - "aW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3Rl" + - "bS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVy" + - "TmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + - "c2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdh" + - "dGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + - "Z2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJM" + - "LCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkws" + - "IGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94" + - "eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMg" + - "c2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFw" + - "aS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFu" + - "ZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNl" + - "dCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAg" + - "IlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVk" + - "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + - "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIs" + - "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJM" + - "LCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNl" + - "cnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwK" + - "ICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1" + - "ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNy" + - "ZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5k" + - "IG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1z" + - "cGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRy" + - "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0" + - "aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVn" + - "aXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUg" + - "Y29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZv" + - "cm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + - "ZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9u" + - "IGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFu" + - "ZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hp" + - "cCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNz" + - "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2Ug" + - "YnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVu" + - "YW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhl" + - "IGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0" + - "dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFt" + - "ZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRp" + - "Y3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNv" + - "bmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rl" + - "ci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVu" + - "dCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3Qg" + - "cmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0" + - "ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0" + - "cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29u" + - "ZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVz" + - "dGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAg" + - "IkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBi" + - "b3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + - "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFi" + - "b3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVu" + - "IGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAg" + - "ICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBw" + - "cm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxl" + - "IGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNP" + - "TkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBv" + - "dXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29t" + - "cGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBm" + - "dWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywg" + - "c3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBh" + - "bmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJu" + - "ZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBn" + - "b3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29u" + - "ZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5k" + - "IC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJU" + - "aGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3Rl" + - "ciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlv" + - "bnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5j" + - "ZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlB" + - "TUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVl" + - "cyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVk" + - "IHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFs" + - "LnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGds" + - "b2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBl" + - "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5s" + - "aW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFs" + - "dWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFt" + - "bC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBp" + - "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + - "Y2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywg" + - "Z2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJi" + - "aXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + - "OiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhh" + - "dCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUg" + - "YSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5h" + - "YmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVu" + - "Y3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBp" + - "c29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVy" + - "aWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3Vy" + - "ZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJv" + - "dXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9m" + - "LXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtl" + - "ZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBv" + - "dGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIs" + - "IGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5k" + - "bGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRD" + - "b25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBz" + - "ZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3" + - "b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBj" + - "b21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0" + - "aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUg" + - "TExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFi" + - "bGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50" + - "IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUg" + - "c2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0" + - "aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhl" + - "IGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIg" + - "bWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0" + - "ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5j" + - "bHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVk" + - "IHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRy" + - "YW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250" + - "cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxh" + - "bmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVw" + - "bG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + - "bGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBh" + - "bmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24i" + - "OiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3Rpbmci" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNl" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJl" + - "cXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2ls" + - "bCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3Qg" + - "cmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3Rl" + - "YWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhl" + - "bG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAi" + - "VGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5j" + - "ZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQog" + - "IH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1w" + - "bGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4K" + - "CiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQg" + - "Q2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlw" + - "ZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFy" + - "dCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVs" + - "bWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5l" + - "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJj" + - "ZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFk" + - "ZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4g" + - "dGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2Vj" + - "cmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBu" + - "YW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVu" + - "YWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2" + - "YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1" + - "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBj" + - "YXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAg" + - "ICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6" + - "CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMj" + - "IFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRl" + - "ci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAj" + - "IENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAg" + - "KGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRy" + - "YSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoK" + - "IyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwg" + - "U2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZy" + - "b20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcg" + - "aW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZv" + - "ciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToK" + - "ICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52" + - "aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTog" + - "bnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhl" + - "bG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9h" + - "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAt" + - "dSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRl" + - "IG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9" + - "Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + - "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + - "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0t" + - "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + - "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + - "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAg" + - "NDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hh" + - "cnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1w" + - "bGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + - "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFn" + - "ZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5j" + - "ZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBr" + - "ZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4g" + - "Rm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGlu" + - "IGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52" + - "Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0" + - "ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0" + - "Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0" + - "ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJl" + - "IGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBu" + - "cyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8t" + - "aGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50" + - "IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUi" + - "OiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZl" + - "cmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + - "IHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2Ui" + - "IGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBS" + - "ZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVh" + - "biBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + - "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0" + - "ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0" + - "IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWls" + - "dXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0" + - "ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9t" + - "CmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXIt" + - "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1h" + - "dGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0t" + - "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + - "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + - "aWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0" + - "ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoK" + - "UHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3Bh" + - "Y2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9y" + - "ZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + - "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + - "aW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + - "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBs" + - "YW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + - "IGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxl" + - "dGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXApt" + - "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkg" + - "Y2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Z2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3Jl" + - "cCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90" + - "aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFs" + - "bCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2Ns" + - "ZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRl" + - "d2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBv" + - "ciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQu" + - "CgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9" + - "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBc" + - "CiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1" + - "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMg" + - "U3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2Jh" + - "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2Vk" + - "LiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3Vj" + - "aCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRF" + - "V0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAg" + - "aXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3" + - "aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBj" + - "b25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhl" + - "IGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVS" + - "TGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJM" + - "IGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4g" + - "UmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhh" + - "bmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZp" + - "ZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250" + - "ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + - "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAt" + - "biBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9y" + - "IC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5h" + - "Z2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1" + - "OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0" + - "ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3Qg" + - "TkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1" + - "YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5k" + - "cmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0" + - "IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNl" + - "bGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBg" + - "cmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24t" + - "c2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRp" + - "b25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5h" + - "YmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdl" + - "cyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5l" + - "bmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + - "dCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVg" + - "IHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1" + - "ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRl" + - "d2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9" + - "dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRl" + - "d2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5k" + - "IGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8" + - "IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + - "IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdy" + - "b3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFz" + - "ZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1" + - "ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQg" + - "d2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8o" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEA" + - "ps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUg" + - "YW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJv" + - "bApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1" + - "c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxp" + - "ZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUg" + - "SGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3Vy" + - "Y2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8" + - "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5k" + - "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAg" + - "fAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBh" + - "bmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3Qg" + - "Y29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25v" + - "cmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRy" + - "YWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUg" + - "dGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZs" + - "b3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246Cgot" + - "IGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9y" + - "IGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBz" + - "ZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBz" + - "ZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVl" + - "cy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + - "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + - "cGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3" + - "YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMg" + - "dG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVz" + - "IHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBl" + - "eHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8" + - "Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWlu" + - "PmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRo" + - "YXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtl" + - "ckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21h" + - "aW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWlu" + - "PiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdh" + - "dGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8v" + - "YXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToK" + - "ICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5" + - "czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdh" + - "dGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3kt" + - "Z2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBu" + - "YW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJv" + - "dXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1" + - "ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAg" + - "ICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAg" + - "ICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5h" + - "dHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNz" + - "dWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoK" + - "ICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJo" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + - "aWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + - "OiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1k" + - "b21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5z" + - "dCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBh" + - "IGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBh" + - "c3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2" + - "aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlz" + - "X2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRp" + - "b24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBg" + - "YAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hl" + - "bWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAt" + - "LWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdh" + - "eSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFn" + - "LgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNv" + - "bXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + - "ICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VS" + - "TD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + - "bGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNG" + - "X0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXIt" + - "bmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + - "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBp" + - "c3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGkt" + - "Y2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3Ro" + - "CmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQg" + - "bWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0" + - "aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250" + - "cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQg" + - "YnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + - "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + - "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRy" + - "b2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBg" + - "CgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBj" + - "b21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + - "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + - "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFu" + - "ZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1j" + - "b250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52" + - "IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVz" + + "b24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2Rp" + + "ZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMg" + + "d2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55" + + "YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVz" + + "dCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhl" + + "IFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBs" + + "YXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0" + + "aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5n" + + "IHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1k" + + "ZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVu" + + "ZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3Ig" + + "dG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlm" + + "aWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBz" + + "eW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlm" + + "aWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJh" + + "LXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNl" + + "bGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1" + + "ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAx" + + "IFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRl" + + "YnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5" + + "IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + + "ZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNl" + + "IGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3Jvbmcg" + + "Y3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRo" + + "ZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQg" + + "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAi" + + "VGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3Rl" + + "bSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + + "biB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQg" + + "aWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRz" + + "IiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3Rl" + + "ciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdh" + + "eSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + + "dG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4" + + "IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlk" + + "ZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJs" + + "ZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3" + + "YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUg" + + "Y29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9z" + + "dCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBs" + + "YW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1v" + + "cGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + + "cnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVy" + + "ZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVS" + + "TCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJM" + + "LCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJU" + + "aGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wt" + + "cGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBi" + + "b3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdy" + + "cGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5h" + + "YmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlz" + + "c3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + + "ZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNj" + + "aGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRl" + + "LXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2" + + "YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFu" + + "ZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0" + + "IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0" + + "ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJy" + + "b3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVh" + + "ciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVu" + + "dCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2" + + "YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3ll" + + "ZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBi" + + "ZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJv" + + "bC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVz" + + "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBu" + + "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Us" + + "IHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0" + + "ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRj" + + "aGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJl" + + "c2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0" + + "aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUg" + + "Q0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2Vk" + + "IHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0" + + "aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkg" + + "SUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFs" + + "LCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBs" + + "YXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdp" + + "dGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5l" + + "IG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZv" + + "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0" + + "ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25m" + + "aWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1" + + "c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5l" + + "IGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + + "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + + "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + + "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + + "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVk" + + "IHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + + "bWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0" + + "aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBp" + + "dCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24i" + + "LAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVz" + + "dHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRo" + + "ZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlh" + + "bWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRo" + + "ZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0" + + "IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkg" + + "ZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJv" + + "bC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdp" + + "c3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRo" + + "ZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFp" + + "biwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5k" + + "IHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVy" + + "cyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5" + + "IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "IlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVl" + + "IHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4g" + + "SG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55" + + "YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVz" + + "KSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdo" + + "IHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + + "IG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBl" + + "bnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9u" + + "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwg" + + "Z2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEg" + + "cmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBl" + + "eGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0" + + "IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjog" + + "IkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1t" + + "YW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUg" + + "Y29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMu" + + "bGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBH" + + "YXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0" + + "IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + + "dGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQt" + + "YmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0" + + "ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhv" + + "cCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVR" + + "VUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fy" + + "bmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlv" + + "bi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYg" + + "dXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + + "bnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3Jr" + + "ZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBh" + + "dGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxp" + + "Y2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXIt" + + "b2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFu" + + "Y2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + + "IHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1" + + "bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUg" + + "b25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5z" + + "dCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZy" + + "ZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBh" + + "bmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIs" + + "IHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcg" + + "LS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9y" + + "LWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1" + + "c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJz" + + "aG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9j" + + "YWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYt" + + "aG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxs" + + "YXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFk" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBp" + + "bnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2Nh" + + "bCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9j" + + "YWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBs" + + "ZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBk" + + "ZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJl" + + "c291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00g" + + "b24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTog" + + "Q2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJy" + + "aWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3Rl" + + "cCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55" + + "YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0x" + + "MApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVz" + + "PmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3Rh" + + "Y2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + + "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + + "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAg" + + "ICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJN" + + "aQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1l" + + "bW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + + "bGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90" + + "bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5v" + + "dGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxl" + + "IGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291" + + "cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0" + + "ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxp" + + "bmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJy" + + "b3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29u" + + "ZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + + "CiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZj" + + "ci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50" + + "aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIg" + + "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + + "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBg" + + "YAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFz" + + "aApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + + "LQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3Ry" + + "eSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2Vy" + + "LXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJ" + + "X0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + + "LQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUg" + + "cmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0" + + "byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1k" + + "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZl" + + "cnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTog" + + "Y2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + + "YmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + + "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBn" + + "bG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3Jl" + + "ZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRy" + + "b2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVh" + + "dGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVy" + + "YXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNw" + + "dWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5j" + + "CmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91" + + "dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMs" + + "IE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJl" + + "c3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9y" + + "IHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNh" + + "IC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRh" + + "Lm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQ" + + "dWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0" + + "LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29y" + + "dC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nl" + + "c3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAz" + + "OiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tl" + + "biBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNv" + + "bXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + + "b25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVz" + + "ZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4K" + + "CiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3Rl" + + "cklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9y" + + "ZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRo" + + "ZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoK" + + "YGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + + "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + + "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBh" + + "bmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUg" + + "Y29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFj" + + "ZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRo" + + "ZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIK" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5n" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + + "b3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRl" + + "c3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + + "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVz" + + "ZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAu" + + "CgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFj" + + "a2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBp" + + "LWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAK" + + "CiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0" + + "YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRo" + + "ZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0" + + "OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkg" + + "cHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFu" + + "ZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoK" + + "YGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAog" + + "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + + "VEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVz" + + "cyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkg" + + "SG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVk" + + "IHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlv" + + "bi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1l" + + "bnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVj" + + "dCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9y" + + "IGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVz" + + "c2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxh" + + "bmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBO" + + "QVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QK" + + "b3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlv" + + "biB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3Rl" + + "cCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + + "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + + "YWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + + "YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVw" + + "bG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2Vu" + + "ZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9y" + + "PWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpg" + + "YGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBm" + + "b3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpg" + + "YGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5" + + "bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0" + + "bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQt" + + "c3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2Vs" + + "ZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0t" + + "LS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEs" + + "IG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywg" + + "c2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5" + + "LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGkt" + + "Z2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkg" + + "b25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBh" + + "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkg" + + "aW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25z" + + "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVw" + + "bG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8" + + "CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3" + + "YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERl" + + "cGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + + "dWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVg" + + "IHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9" + + "dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0" + + "ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1l" + + "IHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdy" + + "b3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1w" + + "cm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNr" + + "cy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5z" + + "dGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1" + + "c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJh" + + "dGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBI" + + "YW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdp" + + "c3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFy" + + "YXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8" + + "IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1" + + "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRv" + + "cnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhl" + + "bG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNv" + + "bW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3Qu" + + "IE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9u" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + + "IGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoK" + + "IyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJl" + + "Zm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBH" + + "YXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxh" + + "bmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywg" + + "UmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + + "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + + "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQg" + + "a2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3kt" + + "Z2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBl" + + "bnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9z" + + "dCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNz" + + "IGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3Vi" + + "ZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0" + + "ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0" + + "cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5h" + + "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8v" + + "dGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93" + + "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAi" + + "aHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3Jw" + + "Y1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmlu" + + "Z3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3" + + "YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5" + + "LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3" + + "YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBu" + + "dmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0" + + "ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgog" + + "ICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGku" + + "PGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3" + + "YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoK" + + "ICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBg" + + "YAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAg" + + "ICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNT" + + "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJl" + + "dmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2" + + "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0" + + "c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJy" + + "aWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhl" + + "IGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + + "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + + "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUg" + + "cmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBk" + + "YXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwK" + + "YmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0" + + "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+" + + "OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "aWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRl" + + "d2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+Igpp" + + "bnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lz" + + "LjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25s" + + "eSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdp" + + "c3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZp" + + "ZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1o" + + "b3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + + "LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9O" + + "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9O" + + "PTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgt" + + "dG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmln" + + "PgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBD" + + "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + + "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9u" + + "IGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJl" + + "IGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxF" + + "YCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1j" + + "bHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50" + + "IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBG" + + "bG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMg" + + "dGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBi" + + "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + + "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9s" + + "LXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8" + + "bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + + "bGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9y" + + "IGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + + "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0" + + "ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0" + + "ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0" + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3Rl" + - "ciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + - "IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndp" + - "dGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3Jl" + - "dHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBv" + - "biB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "CmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBg" + - "bnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxs" + - "U2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQg" + - "b3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNh" + - "LXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFu" + - "ZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3Jl" + - "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGlj" + - "aXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4g" + - "ZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Et" + - "b3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3su" + - "c3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBu" + - "dmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5" + - "IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNh" + - "biBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZv" + - "cmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBk" + - "ZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + - "IHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQK" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + - "YWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0" + - "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpG" + - "b3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFs" + - "dWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + - "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + - "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + - "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + - "CgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + - "eWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVm" + - "b3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0" + - "cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJv" + - "bCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBc" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4K" + - "YGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVk" + - "IG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFu" + - "dXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2Vl" + - "cApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93" + - "bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlv" + - "biBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAg" + - "LS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQg" + - "PG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFt" + - "ZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQg" + - "cHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25k" + - "aXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3Qg" + - "cmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9s" + - "IHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9y" + - "ZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVm" + - "aXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + - "ICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZp" + - "Zz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBs" + - "YW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJl" + - "YWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3du" + - "YCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0" + - "ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250" + - "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsH" + - "CJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBE" + - "ZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29t" + - "bW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENv" + - "bW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVj" + - "dGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0" + - "IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVz" + - "KQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVz" + - "dGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9u" + - "cywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1l" + - "PgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + - "dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFH" + - "RQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVt" + - "CmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlv" + - "Ly4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlm" + - "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBu" + - "dmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1h" + - "Z2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAt" + - "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vy" + - "dmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+" + - "IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMj" + - "IyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0Cgog" + - "ICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJu" + - "YW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1" + - "dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxT" + - "ZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRz" + - "Lm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQ" + - "dWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFy" + - "eS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBb" + - "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFs" + - "cyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdp" + - "dGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNr" + - "IChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0" + - "OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBS" + - "RUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZs" + - "dCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + - "VGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRp" + - "bmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiBy" + - "YW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2Qg" + - "bG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3Bl" + - "bmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0" + - "bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAK" + - "CiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIg" + - "ZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAq" + - "Kk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBo" + - "ZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJh" + - "bzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2" + - "YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAj" + - "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipP" + - "cGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBz" + - "dGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + - "by1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1h" + - "Z2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5" + - "IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9u" + - "IG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBh" + - "IHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRo" + - "b2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5" + - "CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxp" + - "dmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2" + - "aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNl" + - "J3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBw" + - "b2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRo" + - "ZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + - "ZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292" + - "ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50" + - "ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBt" + - "aWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJh" + - "c2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwp" + - "LCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlz" + - "c3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxl" + - "dGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3lu" + - "YwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVk" + - "IGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmln" + - "dXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9v" + - "cGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVh" + - "Y2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIg" + - "T0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5l" + - "ZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRj" + - "aCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2ls" + - "bGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVB" + - "RFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtp" + - "bGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJM" + - "YXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlh" + - "IGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1w" + - "bGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0" + - "czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3Rz" + - "OgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVz" + - "b3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBw" + - "ZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1" + - "Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + - "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcg" + - "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVu" + - "dHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2" + - "YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAt" + - "ICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAi" + - "cGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9k" + - "ZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1l" + - "bnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwg" + - "Z3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBz" + - "dG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xh" + - "c3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBh" + - "Y2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBn" + - "cmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJl" + - "bGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1B" + - "CiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVs" + - "bWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrICht" + - "aWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3Rvcnkg" + - "PHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kg" + - "dGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRl" + - "c3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNw" + - "YWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJl" + - "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQg" + - "Qm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBm" + - "dW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWls" + - "dXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVz" + - "Cmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBh" + - "ZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBw" + - "Lmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBD" + - "YXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBz" + - "ZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAg" + - "YmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVy" + - "aWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycg" + - "fCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAog" + - "ICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSBy" + - "ZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFs" + - "c2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3Zl" + - "ciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + - "IGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAt" + - "LWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0" + - "bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBz" + - "ZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAg" + - "U3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBo" + - "YW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tl" + - "bmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2Fp" + - "bnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0" + - "ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1" + - "c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFz" + - "aApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92" + - "ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0" + - "ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEg" + - "Jy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAt" + - "ciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5h" + - "bWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFj" + - "a2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJm" + - "aW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0" + - "ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGlu" + - "IG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + - "UFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBc" + - "CiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0" + - "ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNw" + - "YWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6" + - "IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIg" + - "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxv" + - "eW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJh" + - "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1l" + - "bnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMj" + - "IERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxh" + - "dGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxv" + - "dy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + - "c3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRo" + - "ZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBp" + - "bnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAt" + - "biBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFp" + - "bD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2Zi" + - "YWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJl" + - "cywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAu" + - "IFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5v" + - "dCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMu" + - "bWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBH" + - "YXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0" + - "aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMg" + - "bG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRw" + - "b2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdh" + - "eSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBd" + - "LnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWlu" + - "PiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVh" + - "bHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxv" + - "eW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNl" + - "fG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0" + - "bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRp" + - "cmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9u" + - "bHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9u" + - "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUK" + - "W0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3" + - "YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBw" + - "aW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1l" + - "c3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18" + - "CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwK" + - "fCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlv" + - "bi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0" + - "LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1p" + - "c3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZv" + - "eS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZp" + - "bGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5j" + - "aWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNv" + - "cmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0t" + - "IDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRp" + - "b25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAg" + - "ICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1l" + - "Pi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3Jl" + - "dHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1" + - "ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVz" + - "CgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRl" + - "cGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9u" + - "ZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9y" + - "IGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBi" + - "YXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9u" + - "bWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9u" + - "bWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28g" + - "dGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFj" + - "a3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBI" + - "ZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBD" + - "TEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9m" + - "ZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMj" + - "IyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + - "YWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBu" + - "YXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJh" + - "by1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNy" + - "ZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNm" + - "LWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRl" + - "cGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVu" + - "ZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + + "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5l" + + "IGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291" + + "dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAt" + + "LWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUg" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRo" + + "ZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJv" + + "bSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNl" + + "IHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2" + + "YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQg" + + "aW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4" + + "dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + + "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRl" + + "IHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJv" + + "dWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJv" + + "bm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBh" + + "bmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFj" + + "ZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFt" + + "cGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmlj" + + "YXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + + "IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVz" + + "IFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9" + + "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52" + + "Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBc" + + "CiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVv" + + "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNy" + + "ZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95" + + "IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBs" + + "YW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBs" + + "eSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1h" + + "bmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMg" + + "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5h" + + "Z2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + + "ZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0" + + "cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + + "CmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0g" + + "cmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRl" + + "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFj" + + "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + + "CmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4g" + + "ZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoK" + + "CmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95" + + "IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+" + + "IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0" + + "ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAog" + + "IC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20K" + + "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1u" + + "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5k" + + "IGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRl" + + "IGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRo" + + "ZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJv" + + "bC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "ZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05G" + + "SUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVz" + + "ZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUg" + + "Q0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBj" + + "b21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5" + + "IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0" + + "ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0" + + "ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBc" + + "CiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "IFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21z" + + "LXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNv" + + "bXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpu" + + "b3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + + "IGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRo" + + "ZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNv" + + "IGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZv" + + "ciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1" + + "dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + + "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + + "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFt" + + "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZj" + + "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + + "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2Et" + + "aWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVu" + + "IGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93" + + "LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdp" + + "c3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFn" + + "bm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVz" + + "LgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFs" + + "bCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3Bl" + + "Y2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhl" + + "bG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZv" + + "ciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4g" + + "LS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNo" + + "b3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYK" + + "CiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + + "ICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJh" + + "Y2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0" + + "byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBg" + + "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwpr" + + "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUg" + + "IkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNl" + + "Cmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlm" + + "IHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + + "JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3Vi" + + "ZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdl" + + "UHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1l" + + "c3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBk" + + "b2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAg" + + "ICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoK" + + "Mi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNo" + + "YXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1" + + "ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBk" + + "b2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNl" + + "cnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFu" + + "ZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + + "NC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + + "YWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZh" + + "aWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2Vydmlj" + + "ZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAg" + + "ICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZj" + + "Zi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBt" + + "CmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2Vu" + + "dC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3Bl" + + "bkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9w" + + "ZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0K" + + "CiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9w" + + "ZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9u" + + "IHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMg" + + "dmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1" + + "bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3Vy" + + "Y2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6" + + "IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ry" + + "b3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVj" + + "dGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + + "YWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAg" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + + "ciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxp" + + "emVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAt" + + "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMK" + + "ICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4g" + + "YDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNp" + + "Z25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9J" + + "REMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9w" + + "ZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0" + + "aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3Rl" + + "YWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQog" + + "ICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBw" + + "cmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMg" + + "b24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMg" + + "dGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5p" + + "c3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93" + + "cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3Vu" + + "dCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1" + + "ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVu" + + "IHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdy" + + "YXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZl" + + "ci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3Vs" + + "ZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2Vs" + + "bC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tT" + + "IFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2Rz" + + "IGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0" + + "ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3Rl" + + "cmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5" + + "IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlz" + + "LgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0" + + "ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + + "ZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNz" + + "YW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENh" + + "c3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpb" + + "ZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICBy" + + "ZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTog" + + "ODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0" + + "MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhl" + + "IE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4K" + + "CiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + + "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + + "LTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgoj" + + "IC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9k" + + "J3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3Vm" + + "ZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBg" + + "CgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNl" + + "bGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBu" + + "b2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNz" + + "IG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBr" + + "dWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJj" + + "ZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJl" + + "IG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBg" + + "CgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMK" + + "CmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVk" + + "CmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBz" + + "ZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoK" + + "YGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgoj" + + "IyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3Qg" + + "anVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoK" + + "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAK" + + "CiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoK" + + "U2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNo" + + "b3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNr" + + "IGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9n" + + "cyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252" + + "Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0" + + "bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9" + + "MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxz" + + "Kio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBg" + + "JG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5" + + "CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8g" + + "J1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1" + + "dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjog" + + "QVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3Ry" + + "YXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNy" + + "ZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5k" + + "ZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFt" + + "ZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBz" + + "aXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBG" + + "YWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNv" + + "bXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRp" + + "bmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRp" + + "bmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZp" + + "eAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBu" + + "b3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVy" + + "cyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVj" + + "ayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + + "Y2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRz" + + "IC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIv" + + "IiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIk" + + "MSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRj" + + "b250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAt" + + "cCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRF" + + "WFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWly" + + "IGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1v" + + "IGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwK" + + "ICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAg" + + "LS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwK" + + "ZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkK" + + "CiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8g" + + "YG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMg" + + "YXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRv" + + "cgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBu" + + "dmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5" + + "IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBv" + + "ciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0" + + "aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1" + + "dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBi" + + "dXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxv" + + "eSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAt" + + "biBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJp" + + "dmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0" + + "cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRv" + + "IGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9v" + + "cC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNl" + + "Y3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9t" + + "cwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRl" + + "ciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3" + + "YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdB" + + "WV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + + "dGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0n" + + "ey5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRp" + + "ZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0" + + "cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMg" + + "dXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNt" + + "c1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2Jh" + + "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQu" + + "IFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBk" + + "ZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5k" + + "IHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBz" + + "ZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00" + + "LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1l" + + "c3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZp" + + "Y2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0t" + + "LS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEt" + + "c3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8Cnwg" + + "bnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2Vydmlj" + + "ZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5" + + "cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNp" + + "cyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNz" + + "IGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRl" + + "cyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5" + + "IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQv" + + "CnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwg" + + "T3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZp" + + "Y2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNl" + + "cnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + + "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + + "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + + "dCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwg" + + "ICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBn" + + "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + + "dWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxt" + + "ZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBs" + + "YW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVu" + + "dmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVs" + + "dCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAg" + + "ICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1w" + + "bCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2" + + "YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNs" + + "dXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52" + + "aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJ" + + "LWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4g" + + "RG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBh" + + "bmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVs" + + "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + + "LS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8" + + "IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIg" + + "fCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8Cnwg" + + "Y2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRh" + + "YmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGgg" + + "YHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdv" + + "dG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18" + + "LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1r" + + "ZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8" + + "IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBp" + + "bnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2Vz" + + "IHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + + "cmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGkt" + + "Z2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1h" + + "ZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxh" + + "YmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5" + + "c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6" + + "IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAg" + + "cmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1w" + + "bF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1p" + + "bi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBi" + + "bG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + - "LS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2" + - "aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBo" + - "ZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBo" + - "ZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXBy" + - "b3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkg" + - "fCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8" + - "IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBo" + - "ZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + - "L2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1h" + - "cGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJv" + - "eHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52" + - "Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9z" + - "dCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxl" + - "YXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5k" + - "YWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUg" + - "Z2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBg" + - "aW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2" + - "YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJl" + - "bCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmls" + - "aXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5" + - "IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25t" + - "ZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoK" + - "IyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5j" + - "aWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0" + - "aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlv" + - "dSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhl" + - "IHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + - "YWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZh" + - "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + - "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRl" + - "cGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVh" + - "c2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + - "ICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0t" + - "c2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0g" + - "bmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + - "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJl" + - "ZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQog" + - "ICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAg" + - "ICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRg" + - "IChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZp" + - "bGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQog" + - "IHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxh" + - "dGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJl" + - "bGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + - "ZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZh" + - "bHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVu" + - "dmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmly" + - "b25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBv" + - "dmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2lu" + - "ZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1" + - "ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZh" + - "bHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQg" + - "Z2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCBy" + - "ZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZp" + - "YyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFz" + - "c2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJh" + - "CgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lz" + - "dHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNz" + - "YW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBn" + - "bG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0" + - "U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5h" + - "dHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAot" + - "IGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAot" + - "IGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkK" + - "CiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFv" + - "Lm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8u" + - "c2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBz" + - "ZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBg" + - "PHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5v" + - "ZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxp" + - "dHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExN" + - "IGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rp" + - "b25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFu" + - "ZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCBy" + - "b3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMg" + - "d29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlz" + - "IGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJs" + - "ZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0" + - "aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBw" + - "bHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1" + - "ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAg" + - "ICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJv" + - "dXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + - "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VD" + - "b25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFt" + - "ZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6" + - "IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xl" + - "LW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZl" + - "cyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sK" + - "ZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50" + - "ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9u" + - "bHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3Bv" + - "cnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRo" + - "ZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlv" + - "bi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBs" + - "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rp" + - "b24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQt" + - "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1l" + - "dGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6" + - "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0t" + - "cmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIg" + - "aW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lz" + - "dHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFn" + - "ZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0" + - "YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xp" + - "ZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUg" + - "bGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBh" + - "dGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRp" + - "YmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3Rl" + - "LWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIg" + - "YW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVm" + - "cmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9m" + - "ZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmln" + - "Lm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBs" + - "YXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0" + - "ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9m" + - "aWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBp" + - "bnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5j" + - "dGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNh" + - "cHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVk" + - "ZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFn" + - "ZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5l" + - "dyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQK" + - "d29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1h" + - "cGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJv" + - "dXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8" + - "bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQpr" + - "dWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29u" + - "cGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFy" + - "Z3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMs" + - "IHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpG" + - "b3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpb" + - "U3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + - "dmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFu" + - "Y2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3Bl" + - "Y2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + - "bmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFz" + - "ZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1p" + - "bi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAo" + - "ZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3Rl" + - "OiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2Ug" + - "YC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9u" + - "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5l" + - "bCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3Rh" + - "Y2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBl" + - "bmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwg" + - "VUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJ" + - "ZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBu" + - "dmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2th" + - "Z2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGlu" + - "IGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZV" + - "aToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBw" + - "dWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3Jl" + - "dCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0" + - "cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1" + - "YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVp" + - "IFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpU" + - "aGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + - "bmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCBy" + - "b3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlg" + - "IHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2Yt" + - "dWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhl" + - "IHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + - "ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+" + - "IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhl" + - "IE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90" + - "IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0" + - "cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQg" + - "b2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNl" + - "CgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJl" + - "Z2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGlt" + - "YWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1w" + - "bGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250" + - "ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5k" + - "ZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNy" + - "ZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRl" + - "LXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRv" + - "cmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAo" + - "UmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBh" + - "ZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1" + - "cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1j" + - "cmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gK" + - "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "ZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + - "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "ZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZl" + - "cmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMu" + - "IEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5v" + - "LmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1h" + - "Z2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5h" + - "bWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAg" + - "IGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAg" + - "IC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAg" + - "ICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVz" + - "cyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1z" + - "eXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1t" + - "YW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAg" + - "ICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNm" + - "Lm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAg" + - "ICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6" + - "IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFt" + - "bApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRo" + - "ZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29u" + - "dHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5q" + - "ZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29t" + - "cHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + - "b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9" + - "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVu" + - "Y2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xv" + - "YmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUg" + - "Y2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAg" + - "YW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBi" + - "cm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9y" + - "IHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBD" + - "aGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + - "JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJu" + - "byBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRh" + - "dGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + - "LWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+" + - "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + - "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNr" + - "IHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMg" + - "XAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVk" + - "ZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZl" + - "IGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5l" + - "dGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1Ymxp" + - "YyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4g" + - "Y3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdp" + - "dGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hv" + - "b3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcg" + - "cG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFm" + - "dGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2Vy" + - "IHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4g" + - "ZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Np" + - "b24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxk" + - "IGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNm" + - "LWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMg" + - "V3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZl" + - "cmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4g" + - "PG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAXcZ/2EoQAABK" + - "EAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJn2DaXdDQAA3Q0AADMACQAA" + - "AAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVs" + - "aW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAA" + - "AIeAAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAT40AAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADCmgAAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA0bQAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABX2gAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAInpAABkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAA+xEBAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAADMaAQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "AHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAfDwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBP7NZh4gcAAOIH" + - "AAAyAAkAAAAAAAAAAAAAAARgAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + - "ZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCOwIjxNTIAADUyAAAtAAkAAAAA" + - "AAAAAAAAAE9oAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAADomgEAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAMqsAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAHYPAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJS" + - "TkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAK2YCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwA" + - "CQAAAAAAAAAAAAAAEI8CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAClvwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAADM8AIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAABRGwMAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAgCMDAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEA" + - "ps4SUEsFBgAAAAAXABcArwkAAPU5AwAAAA==" + "LS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFi" + + "aWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMg" + + "ZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBU" + + "ZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoK" + + "VXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0" + + "ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2Ug" + + "cmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNl" + + "LCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHku" + + "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0" + + "ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + + "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVm" + + "aW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZj" + + "Zi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + + "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVT" + + "VCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + + "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwg" + + "ICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAg" + + "ICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTky" + + "TWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3Jl" + + "LnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoK" + + "YGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAg" + + "aW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVz" + + "OmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0" + + "aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQg" + + "Z2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdo" + + "ZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNo" + + "YXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "IC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0g" + + "R28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1" + + "cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZl" + + "IHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0" + + "IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpg" + + "Z2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZp" + + "cm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + + "YyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVy" + + "ZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNz" + + "YW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0" + + "aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJh" + + "Lm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fz" + + "c2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29u" + + "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94" + + "LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2" + + "Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNl" + + "bGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMu" + + "aW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9y" + + "LmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRh" + + "dGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMg" + + "KEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + + "dG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNl" + + "Pi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJs" + + "ZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBm" + + "dW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBs" + + "bG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5p" + + "bnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5h" + + "YmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUg" + + "SGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRo" + + "ZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRl" + + "ZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAg" + + "bGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAx" + + "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + + "OiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + + "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoK" + + "YWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRp" + + "b25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAg" + + "c3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25s" + + "eSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZD" + + "RiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRo" + + "ZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50" + + "aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdy" + + "cGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29y" + + "a2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVj" + + "dGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFu" + + "YWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3Vy" + + "ZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5v" + + "dCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXIt" + + "b2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZp" + + "Z3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBM" + + "b2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9k" + + "b2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1" + + "aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sn" + + "cyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRl" + + "ZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3Rl" + + "Q29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAg" + + "ICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9w" + + "eWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JP" + + "VVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0" + + "ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9u" + + "cwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFp" + + "bCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUg" + + "ZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUg" + + "dXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0Eg" + + "cmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5j" + + "CmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9t" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxl" + + "LWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZl" + + "bi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRl" + + "Y2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4g" + + "UmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBh" + + "cHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApj" + + "cmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAt" + + "biBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVw" + + "IC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRw" + + "cm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5j" + + "dGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5h" + + "bWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2Nh" + + "bCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUK" + + "YC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRo" + + "bSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6" + + "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rh" + + "cmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUg" + + "U2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAoj" + + "IEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmls" + + "aXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5" + + "bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSBy" + + "ZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVh" + + "c2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlg" + + "LgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQF" + + "AAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + + "YWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQg" + + "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJ" + + "IGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3Ug" + + "bmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + + "Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24g" + + "dW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRo" + + "ZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + + "YHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUg" + + "bmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFu" + + "ZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVn" + + "aXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQ" + + "SV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + + "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxk" + + "b21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFw" + + "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2" + + "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoK" + + "IyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2Vu" + + "dCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVp" + + "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJI" + + "b3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIK" + + "YGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVu" + + "YXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBS" + + "ZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGlj" + + "YXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAA" + + "uQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQ" + + "dWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1h" + + "Z2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCks" + + "IEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJv" + + "bC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0" + + "aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNl" + + "IGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVy" + + "bm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNz" + + "aW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNl" + + "Y3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoK" + + "IyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5v" + + "CgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlv" + + "L2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9r" + + "eXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBw" + + "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + + "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + + "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJl" + + "cGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2Nr" + + "ZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFt" + + "bAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6" + + "CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZh" + + "bHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2Rz" + + "CiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAg" + + "ICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + + "ICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJz" + + "aXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAg" + + "ICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIK" + + "ICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hT" + + "dHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9u" + + "czoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + + "LWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRz" + + "OgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdl" + + "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBs" + + "YW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + + "biBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFy" + + "ZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJv" + + "bC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0" + + "IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + + "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6" + + "IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5j" + + "ZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3Rl" + + "bWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0" + + "LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJp" + + "ZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRo" + + "ZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5z" + + "cGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + + "XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + + "LW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1h" + + "Z2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBw" + + "dWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "ZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + + "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBV" + + "bmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNv" + + "bXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxs" + + "IFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMq" + + "KjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5" + + "YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGlj" + + "aXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVk" + + "ZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBS" + + "ZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vy" + + "dmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJh" + + "Y2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZl" + + "Y3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUg" + + "c3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBg" + + "CgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZl" + + "cm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRj" + + "aGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cg" + + "UkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJl" + + "bmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhh" + + "Y3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQg" + + "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwEC" + + "FAAUAAgAAAAAACEACoXw2EoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5q" + + "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAA" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAJn2DaXdDQAA3Q0AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOB" + + "XQwAAF0MAAA0AAkAAAAAAAAAAAAAAIeAAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + + "cGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0A" + + "ADcACQAAAAAAAAAAAAAAT40AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRk" + + "LWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJ" + + "AAAAAAAAAAAAAADCmgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + + "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAA" + + "AAAAAAAAAAAA0bQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + + "ZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAA" + + "AAAAAABX2gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWls" + + "ZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAA" + + "AAAAAAAAAInpAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJv" + + "bS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAA" + + "AAAAAAAA+xEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0" + + "ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAA" + + "AAAAADMaAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAfDwBAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQBGrnbwDAgAAAwIAAAyAAkAAAAAAAAAAAAAAARgAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQCsTIqjyzIAAMsyAAAtAAkAAAAAAAAAAAAAAHloAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAA" + + "NwAJAAAAAAAAAAAAAAComwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + + "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkA" + + "AAAAAAAAAAAAAIqtAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAADYQAgBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAA62YCAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA0I8CAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAABlwAIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAACM8QIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAA" + + "AAARHAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + + "LXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAA" + + "AAAAAAAAQCQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAALU6AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 3bc0a496a6..b6f15278d9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -111,15 +111,19 @@ func TestRunClusterValidator_EmptyImage(t *testing.T) { assert.Empty(t, client.Actions(), "no API calls should be made when input validation fails") } -func TestClusterValidatorCheck_OrchestratorErrorStaysWarning(t *testing.T) { +// A validator that could not run checked nothing, so it fails the run rather +// than letting a readiness gate pass. The message names the opt-out. +func TestClusterValidatorCheck_OrchestratorErrorFails(t *testing.T) { cv := func(_ context.Context, _ ClusterValidatorParams) ClusterValidatorResult { - return ClusterValidatorResult{Err: fmt.Errorf("transient: API server unreachable")} + return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: forbidden")} } r := clusterValidatorCheck(cv, "", "", "", false, "", nil, nil).Run(context.Background()) assert.False(t, r.Passed) - assert.Equal(t, "warning", r.Severity, - "transient orchestrator failures should not fail the overall preflight") + assert.Equal(t, SeverityError, r.Severity) + assert.True(t, r.IsBlockingFailure()) assert.Contains(t, r.Message, "cluster-validator did not complete") + assert.Contains(t, r.Message, "forbidden") + assert.Contains(t, r.Message, "--skip-cluster-validation") } // driveJobToSuccess wires the reactors that make a created Job reach a diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 7b2c6b1f35..777621095d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -622,8 +622,10 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS } } -// clusterValidatorCheck runs the validator Job. Runner errors (RBAC/timeout) -// are warning severity; validator failures are error. role selects the check +// clusterValidatorCheck runs the validator Job. A validator that could not run +// (RBAC denied, image pull failure, timeout) is an error like a validator +// failure: nothing was checked, and a readiness gate must not pass on that. +// --skip-cluster-validation is the explicit opt-out. role selects the check // set via VALIDATOR_ROLE; registries extends the ConfigMap reachability list. func clusterValidatorCheck( cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool, role string, @@ -656,8 +658,9 @@ func clusterValidatorCheck( } if result.Err != nil { - r.Severity = SeverityWarning - r.Message = "cluster-validator did not complete: " + result.Err.Error() + r.Severity = SeverityError + r.Message = "cluster-validator did not complete, so the cluster was not validated: " + + result.Err.Error() + "; fix the cause, or pass --skip-cluster-validation to run without it" r.Err = result.Err return r } From 2672f1e4177f8e22bbdd027e8297b438a9fb9cd7 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 05:09:38 +0530 Subject: [PATCH 048/127] fix(nvcf-cli): bound the validator cleanup sweeps and end an interrupted check with a cancelled final event Signed-off-by: rohithb --- .../reference/exit-codes.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 13 +- .../cmd/self_hosted_check_scope_test.go | 5 +- .../agentskill/skilldata_generated.go | 4277 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 22 +- .../clustervalidator_lifecycle_test.go | 63 + .../selfhosted/progress/render_tty.go | 5 + .../selfhosted/progress/render_tty_test.go | 19 + 9 files changed, 2262 insertions(+), 2145 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 6b17b56cc3..a08c0e050b 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -24,4 +24,4 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. ## Where to find more detail -`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. +`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 9bd79e32f5..979b42b29b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -267,6 +267,13 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if starter, ok := sink.(interface{ Start() }); ok { starter.Start() } + // An interrupted run still ends the stream with a final event, marked + // cancelled as up marks its own, so a --json consumer is not left waiting + // for one. Emitted on a fresh ctx: the run's ctx is already cancelled. + exitInterrupted := func() error { + _ = sink.Emit(context.Background(), progress.Final{Cancelled: true}) + return &ExitCodeError{Code: 130, Msg: "interrupted"} + } var lastResults []selfhosted.CheckResult @@ -292,7 +299,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // Single-shot mode. lastResults = runOnce() if interrupted() { - return &ExitCodeError{Code: 130, Msg: "interrupted"} + return exitInterrupted() } emitCheckFinal(ctx, sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) @@ -315,7 +322,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { for { lastResults = runOnce() if interrupted() { - return &ExitCodeError{Code: 130, Msg: "interrupted"} + return exitInterrupted() } if !anyFailed(lastResults) { emitCheckFinal(ctx, sink, lastResults) @@ -332,7 +339,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // continue polling case <-ctx.Done(): if interrupted() { - return &ExitCodeError{Code: 130, Msg: "interrupted"} + return exitInterrupted() } return ctx.Err() } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index a949b8fd6b..a26741fd0d 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -115,7 +115,8 @@ func TestCheck_InterruptExits130(t *testing.T) { t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") ctx, cancel := context.WithCancel(context.Background()) cancel() - rootCmd.SetErr(&bytes.Buffer{}) + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) rootCmd.SetOut(&bytes.Buffer{}) t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) // Cobra keeps a subcommand's context from an earlier Execute, so set it @@ -128,4 +129,6 @@ func TestCheck_InterruptExits130(t *testing.T) { var exitErr *ExitCodeError require.ErrorAs(t, err, &exitErr) assert.Equal(t, 130, exitErr.Code) + assert.Regexp(t, `"event":"final".*"cancelled":true`, stderr.String(), + "the JSON stream still ends with a final event, marked cancelled") } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 7c81b16cb3..4517574a0f 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDQ5ODgsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDUxMjAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -68,9 +68,9 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzkyNTFlYjMyZmRmNmFjMzBl" + - "NDBmMzRmYjQ0OGJiZDI4Y2UxYWE5NjZjY2JlMDg3ZDhmNjA5Zjg0N2Q3OGI3IiwKICAgICAgInNp" + - "emUiOiAyMDYwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4YmUxYzcxMjYwYWYzNWUwYjNi" + + "Mzc2NWYzZjA3MTU2Zjg2ZjIzNmE2MzdhYTZjZGViZTgzOGQ0ZTkxYWI4OTVhIiwKICAgICAgInNp" + + "emUiOiAyMTkyCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2OTVkMjEzOGUxYzA2OWM5" + "ZDA1ZjMyNjU5ZWUyMWMyNWEyY2YyMjRhMWE2ZjhiMjkyYWIwYTQwMTliZThjNDBlIiwKICAgICAg" + "InNpemUiOiAxMzAwMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCAqF8NhKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCAeNqUdKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1641,2151 +1641,2154 @@ const skillDataZipBase64 = "" + "bmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBpdHMg" + "b3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGBmYWls" + "ZWRDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9j" + - "aS1waXBlbGluZXMubWRgLiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0" + - "dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1l" + - "c3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8" + - "aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRl" + - "clNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3Vi" + - "ZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJh" + - "dGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCEaudvAMCAAADAgAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMg" + - "R2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + - "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8" + - "IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dn" + - "aW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0" + - "ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwK" + - "CiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wt" + - "cGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0" + - "aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkg" + - "Q0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s94oCmYCB8IENvbXB1dGUtcGxh" + - "bmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwg" + - "ZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8" + - "cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8IGBsb2NhbGAgZm9yIGRldiBi" + - "dWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2Fi" + - "bGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWlu" + - "IEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGlu" + - "c3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8" + - "CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVw" + - "cmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwg" + - "Rm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERV" + - "UkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFzcyB8IC0gfAp8IGAtLWNvbnRy" + - "b2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5l" + - "IChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQg" + - "Q1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJl" + - "bnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWly" + - "ZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwK" + - "fCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNr" + - "cyBhbmQgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBh" + - "c3NlZC4gVGhlIENMSSBwcmludHMgYSBub3RlIHNheWluZyBzby4gRW52OiBgTlZDRl9DTElfU0VM" + - "RkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQg" + - "bGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5l" + - "YCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEgcm9sZTsgb25seSB0aGUg" + - "c2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0" + - "b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5j" + - "ZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUt" + - "cGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBD" + - "b250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ29t" + - "cHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgRXZlcnkgY2F0ZWdvcnks" + - "IGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmluZWQgd2l0aCBgLS1wcmVgIHwg" + - "YGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIGZvciBjb21w" + - "dXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRo" + - "ZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25m" + - "aWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLiBFbnY6IGBOVkNGX0NMSV9T" + - "RUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRv" + - "ciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5n" + - "IGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwg" + - "YW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92ZXMgdGhlbQphZnRlciB0aGUg" + - "cnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdl" + - "IHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "Y2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlv" + - "biBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmln" + - "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3Zl" + - "cnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBVbnNldCBldmVyeXdo" + - "ZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFs" + - "aWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRoZSBj" + - "b250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNoYWJpbGl0eS4gVGhleSBhcmUg" + - "YWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlk" + - "YXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5" + - "YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3Mg" + - "dGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2Ag" + - "aXMgcHJvYmVkLCBhcyBub24tY3JpdGljYWwsIG9ubHkgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBu" + - "b3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJh" + - "dGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmln" + - "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBjb250cm9sLXBsYW5lIHZh" + - "bGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1" + - "c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBF" + - "bnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkg" + - "YGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9j" + - "a2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2Nr" + - "ZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRv" + - "ciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5h" + - "bWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGlu" + - "ZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdDIHJlZ2lzdHJ5LCBpdCBtaW50" + - "cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rl" + - "ci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGly" + - "ZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMg" + - "dGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxl" + - "IHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFbnY6IGBOVkNGX0NMSV9T" + - "RUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNs" + - "ZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNy" + - "ZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRo" + - "ZW0gYWZ0ZXIgMjQgaG91cnM7IHRoZSByZXN1bHQgcHJpbnRzIHRoZSBga3ViZWN0bCBkZWxldGVg" + - "IGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dz" + - "YCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNo" + - "ZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNv" + - "IHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVh" + - "ZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAg" + - "fCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1p" + - "ZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVH" + - "SU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBE" + - "cnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAg" + - "fAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRl" + - "IHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUg" + - "cmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNo" + - "YCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVu" + - "dHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBm" + - "YWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1l" + - "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAt" + - "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21z" + - "LXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhp" + - "c3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFs" + - "c2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVy" + - "YXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgp" + - "IHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUg" + - "a2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05g" + - "IHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBk" + - "dXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBk" + - "ZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8Cnwg" + - "YC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFm" + - "dGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNl" + - "Y29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVr" + - "cykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBp" + - "cyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFk" + - "LWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAg" + - "fCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWlu" + - "ZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBD" + - "b250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRc" + - "fFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0t" + - "Y2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVz" + - "ZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3Jr" + - "bG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBT" + - "ZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1j" + - "aGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5k" + - "YXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNg" + - "IHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVy" + - "aT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0" + - "YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBI" + - "YCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3Ig" + - "Y29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMg" + - "ZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklU" + - "WWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVl" + - "cyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3Jp" + - "dHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBl" + - "YXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1" + - "aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3Ms" + - "IExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGlu" + - "ZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBk" + - "ZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0" + - "aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlv" + - "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJv" + - "dXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9x" + - "X211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0" + - "ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRl" + - "Z2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVu" + - "aXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChk" + - "YXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcg" + - "bGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAw" + - "MDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVu" + - "dCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9u" + - "LCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZp" + - "Y2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1" + - "ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQg" + - "ZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVz" + - "dHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlv" + - "biBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9y" + - "d2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVl" + - "c3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2lu" + - "ZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNw" + - "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10" + - "YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9k" + - "ZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4s" + - "cm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJs" + - "ZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1w" + - "bGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8" + - "IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1" + - "bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5k" + - "IGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1h" + - "Y2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBv" + - "dmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92" + - "ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1" + - "bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9k" + - "ZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50" + - "b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5k" + - "IGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVh" + - "dGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpT" + - "T04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQg" + - "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8" + - "IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0t" + - "bWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNl" + - "cyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kg" + - "TmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwK" + - "fCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVz" + - "dGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpg" + - "LS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVm" + - "aW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4" + - "IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwg" + - "R1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgx" + - "MDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQg" + - "d2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8Cnwg" + - "YC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdp" + - "dGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBV" + - "Ukwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8" + - "CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mg" + - "b3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFD" + - "S0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwg" + - "U3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8" + - "CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0" + - "aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gt" + - "c2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVu" + - "dmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZh" + - "bHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVk" + - "IGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9j" + - "ayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9y" + - "IG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4g" + - "cXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBU" + - "NzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFm" + - "dGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAt" + - "LXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1" + - "dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3Vs" + - "dCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVg" + - "OyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9k" + - "ZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwK" + - "fCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVw" + - "ZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNl" + - "cGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8" + - "CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJ" + - "RCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0" + - "cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJh" + - "Y2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIrEyKo8syAADLMgAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + - "L3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJv" + - "cnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3" + - "aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChS" + - "RVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29y" + - "eWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBB" + - "VEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFs" + - "bCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9p" + - "bnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBz" + - "Oi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5v" + - "dCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8" + - "CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJl" + - "cSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9n" + - "YXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFt" + - "ZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3Rl" + - "ciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5h" + - "bWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5l" + - "dGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5v" + - "dCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2lu" + - "ZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQt" + - "bmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1Ig" + - "dXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNz" + - "aW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlg" + - "IGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBl" + - "ckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + - "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3Qg" + - "cnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwg" + - "YG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRl" + - "cmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGht" + - "IGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5q" + - "c29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0" + - "ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQg" + - "YXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZl" + - "IGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1k" + - "ZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoK" + - "fCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0" + - "aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQ" + - "VkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sg" + - "YGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BV" + - "ICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVs" + - "ZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEw" + - "MCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0" + - "IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5l" + - "KSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3Mg" + - "YC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWly" + - "ZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRl" + - "LXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBF" + - "eHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEg" + - "cmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNr" + - "T2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdp" + - "c3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52" + - "Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUt" + - "cGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + - "fC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAv" + - "djEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24n" + - "dCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8" + - "CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + - "YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBs" + - "YW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAt" + - "LWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4g" + - "YG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBv" + - "ciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBj" + - "aGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERF" + - "UExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIp" + - "IOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBs" + - "b2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNh" + - "bGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + - "b24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBF" + - "PiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJl" + - "dmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlh" + - "bCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdl" + - "dGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxh" + - "eTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBu" + - "dmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBw" + - "bGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVw" + - "IHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJl" + - "c3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864T" + - "hHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUg" + - "TlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + - "CiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxs" + - "YXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywg" + - "YW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBu" + - "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRp" + - "b24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + - "bmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVw" + - "bG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRo" + - "ZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hl" + - "LTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBo" + - "ZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2" + - "ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZp" + - "ZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVs" + - "bWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJv" + - "ZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hl" + - "bGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQog" + - "IGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNv" + - "bT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + - "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + - "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFti" + - "YXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21h" + - "aW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBP" + - "cGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBs" + - "YW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMK" + - "ClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGlu" + - "IG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBo" + - "YW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1" + - "bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1m" + - "dW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJh" + - "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRp" + - "b24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5l" + - "LXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250" + - "cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1w" + - "bGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBt" + - "YXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSBy" + - "ZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2" + - "ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNm" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + - "cyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cK" + - "Y29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "LgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3Jl" + - "IGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAx" + - "LjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAg" + - "ICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhl" + - "bG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0" + - "aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + - "cyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6" + - "CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUu" + - "ZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlm" + - "eSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNl" + - "Y3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltD" + - "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + - "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJz" + - "dGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1" + - "cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAg" + - "IChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAg" + - "ICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290" + - "bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + - "cykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNl" + - "bnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVl" + - "czogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hh" + - "cnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNv" + - "dW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVu" + - "dCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBk" + - "b2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + - "LCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5n" + - "IEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBD" + - "bGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVs" + - "bCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBp" + - "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + - "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + - "IiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBP" + - "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlv" + - "KQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + - "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + - "YW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVz" + - "dCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0u" + - "IFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBB" + - "dXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9n" + - "aW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVs" + - "bSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBg" + - "YmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZj" + - "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3Mg" + - "ZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5l" + - "Y3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9n" + - "aW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEp" + - "Lgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBu" + - "ZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9z" + - "dCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+" + - "IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVz" + - "IHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBh" + - "IG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1" + - "Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFn" + - "ZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRo" + - "IHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4g" + - "YC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVs" + - "bGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAo" + - "UHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0" + - "aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lz" + - "dHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1p" + - "cnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2Fu" + - "IHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhh" + - "bXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpn" + - "cmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQg" + - "YW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sg" + - "YXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAog" + - "ICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAg" + - "ICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8" + - "bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFy" + - "dHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5" + - "OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBv" + - "ZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJl" + - "Zm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJl" + - "IGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhv" + - "dWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3Ig" + - "ZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFu" + - "ZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkg" + - "b3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBt" + - "aXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSBy" + - "ZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNo" + - "YXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBP" + - "Q0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4g" + - "U2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50" + - "aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3Jr" + - "bG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJl" + - "cm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZj" + - "ci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVz" + - "dCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAog" + - "ICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJv" + - "bSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2" + - "YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRl" + - "YCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFs" + - "IG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1h" + - "Z2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0" + - "aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRz" + - "IHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJ" + - "dCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1" + - "ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9" + - "JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFj" + - "ZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + - "R0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQ" + - "LiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUg" + - "bG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBz" + - "dGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhv" + - "dXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21h" + - "aW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQg" + - "YEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMg" + - "ZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4g" + - "SWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJs" + - "ZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFt" + - "cGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQg" + - "ZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRl" + - "ICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFz" + - "c3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4g" + - "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFz" + - "IGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwg" + - "dGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9D" + - "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBh" + - "bmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVu" + - "dGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNl" + - "cnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRS" + - "QV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMg" + - "aW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNl" + - "cyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0t" + - "LXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENh" + - "c3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJ" + - "LCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0" + - "aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBV" + - "SSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwK" + - "fCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4g" + - "fAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3Rh" + - "Y2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWlu" + - "YWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZh" + - "bml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRl" + - "ZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9y" + - "IHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZv" + - "Y2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + - "dCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFj" + - "ayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5k" + - "IGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVz" + - "ZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNr" + - "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88" + - "ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVu" + - "YWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + - "aG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRl" + - "d2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFw" + - "cGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3Ug" + - "bmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVz" + - "ZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFj" + - "a2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0" + - "aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3" + - "IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0" + - "ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + - "LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdo" + - "ZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRl" + - "d2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhv" + - "c3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBg" + - "YAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5" + - "cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91" + - "dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFi" + - "bGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + - "YWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWls" + - "YWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRv" + - "bi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + - "Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rp" + - "b24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7" + - "IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50" + - "LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlv" + - "biBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQp" + - "LgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBj" + - "b250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25l" + - "bnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFu" + - "ZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmly" + - "b25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0" + - "ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2Vu" + - "ZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBj" + - "b21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRo" + - "ZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + - "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVL" + - "UyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVy" + - "LgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUg" + - "dGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9m" + - "Zjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95" + - "IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBU" + - "aGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRy" + - "YWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBj" + - "LXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdh" + - "dGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBg" + - "Y2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVk" + - "ZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZl" + - "cyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + - "ZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJs" + - "ZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFj" + - "ay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNl" + - "cyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5" + - "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7" + - "IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFu" + - "Y2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJk" + - "b3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVj" + - "dG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpg" + - "YGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0" + - "ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3Vu" + - "ZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdy" + - "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNo" + - "b3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgoj" + - "IyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBg" + - "Z2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FD" + - "b3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVh" + - "c2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBo" + - "ZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRo" + - "ZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + - "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFt" + - "ZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFi" + - "bGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + - "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fz" + - "c2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAg" + - "Y3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgog" + - "ICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwg" + - "bWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBp" + - "bmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + - "dWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRo" + - "ZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVs" + - "bCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8g" + - "bm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9m" + - "IHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jv" + - "bmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdp" + - "c3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0t" + - "fAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZh" + - "bGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52" + - "Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdv" + - "cmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZl" + - "cm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxg" + - "IChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNS" + - "RVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBp" + - "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3Jt" + - "YXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3Ig" + - "eW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9r" + - "ZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhl" + - "IHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRz" + - "IHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RP" + - "Q0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZp" + - "Z2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9j" + - "a2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFu" + - "ZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBi" + - "dWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + - "KWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0" + - "IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNj" + - "b3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAw" + - "ICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0g" + - "V3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBt" + - "YWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gg" + - "a2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcK" + - "PiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVn" + - "LiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVs" + - "bCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2Vu" + - "OiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2Vz" + - "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4g" + - "ICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNl" + - "cy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9s" + - "bG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3" + - "IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5n" + - "IGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0" + - "aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdz" + - "LCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJh" + - "cCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMp" + - "Cj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGlu" + - "ZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBh" + - "dXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMg" + - "Q29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0" + - "YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxs" + - "U2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5p" + - "Zm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhl" + - "bG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJu" + - "bwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5v" + - "LwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAt" + - "biBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4g" + - "ZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4g" + - "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + - "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1k" + - "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5H" + - "Q19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJu" + - "byBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQt" + - "cG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lv" + - "biB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4g" + - "VmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNo" + - "b3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENT" + - "UCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9s" + - "ZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlv" + - "biBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAj" + - "IEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29y" + - "dC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZh" + - "aWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0t" + - "LS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1p" + - "c3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBT" + - "QSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBv" + - "ZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2Rz" + - "ICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5p" + - "dGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vz" + - "c2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGgg" + - "Y29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3Mg" + - "bGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJE" + - "aXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVy" + - "IGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + - "ZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5j" + - "IGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRg" + - "IG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBj" + - "YXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2Vydmlj" + - "ZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8" + - "IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fz" + - "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2Ag" + - "fCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxl" + - "IGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNz" + - "YW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUg" + - "c2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJl" + - "IHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWls" + - "ZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0" + - "cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFw" + - "IHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hl" + - "Y2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAg" + - "fAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9p" + - "ZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0" + - "aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2" + - "ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRo" + - "ZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUg" + - "W1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJv" + - "b3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNl" + - "Y3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2Fw" + - "cC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91" + - "bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhl" + - "IGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RP" + - "T0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNv" + - "bm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMg" + - "c2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBg" + - "QVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNw" + - "YCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0" + - "aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQg" + - "YnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9u" + - "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBv" + - "c3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0" + - "YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZl" + - "CnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1" + - "bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24v" + - "YWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdp" + - "dGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBp" + - "dCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBu" + - "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "c3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBg" + - "LCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBm" + - "aXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBh" + - "IGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdu" + - "b3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9u" + - "YWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCks" + - "IHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + - "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1w" + - "bGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "Ci0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1z" + - "dHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCks" + - "IGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1l" + - "bnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0" + - "aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRz" + - "LgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7" + - "CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAi" + - "SW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVy" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVw" + - "IGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9v" + - "bCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49" + - "IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3" + - "aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxl" + - "IHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEu" + - "eCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1k" + - "aWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwg" + - "dmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFs" + - "bCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVt" + - "cGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxt" + - "ZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhl" + - "IGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1h" + - "bmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRo" + - "ZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBz" + - "eW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVs" + - "bWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9y" + - "ZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBz" + - "eW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tl" + - "ZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUt" + - "Y2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBU" + - "ZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "aS1waXBlbGluZXMubWRgLiBBIGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMgYGZpbmFs" + + "YCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7IGB1cGAg" + + "ZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0LiBFdmVyeSBvdGhlciBub24temVybyBl" + + "eGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVy" + + "ckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNs" + + "YXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5r" + + "bm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnBy" + + "b2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBp" + + "biBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4K" + + "UEsHCA/3S8WQCAAAkAgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBm" + + "bGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwg" + + "Q29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8" + + "IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwg" + + "SlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5v" + + "bi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFj" + + "cm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + + "LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxl" + + "IHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQg" + + "T0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9" + + "4oCmYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + + "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + + "fAp8IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8" + + "IGBsb2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWlu" + + "dGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10" + + "b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8Cnwg" + + "YC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3Rs" + + "IGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFz" + + "IGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0" + + "YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0" + + "ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFz" + + "cyB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0" + + "IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFu" + + "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1Ymxp" + + "YyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20g" + + "YGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRo" + + "ZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZl" + + "ciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIENMSSBwcmludHMgYSBub3RlIHNheWluZyBzby4g" + + "RW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNo" + + "ZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVg" + + "LCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3Rz" + + "IGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZs" + + "aWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMg" + + "cmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1h" + + "bGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0t" + + "Y29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNv" + + "bXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxg" + + "IHwgRXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmlu" + + "ZWQgd2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1" + + "c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlm" + + "eS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVk" + + "IHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRg" + + "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMj" + + "IyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGlu" + + "IHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2Nv" + + "dW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92" + + "ZXMgdGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBl" + + "cm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRv" + + "ciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + + "VE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3" + + "aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lz" + + "dHJ5LiBVbnNldCBldmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0g" + + "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRy" + + "YSByZWdpc3RyaWVzIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNo" + + "YWJpbGl0eS4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVs" + + "bHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xv" + + "YmFsLmltYWdlLnJlZ2lzdHJ5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBB" + + "Q01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIu" + + "aW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBub24tY3JpdGljYWwsIG9ubHkgd2hlbiBu" + + "ZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFJlcGVhdGFi" + + "bGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9S" + + "RUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAt" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRo" + + "ZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBO" + + "ZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXIt" + + "Z2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9J" + + "TUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5" + + "Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1z" + + "ZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRv" + + "IHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Ig" + + "b25lIGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBm" + + "b3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdD" + + "IHJlZ2lzdHJ5LCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3Qg" + + "fAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFs" + + "aWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0" + + "IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxp" + + "Y2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdl" + + "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBm" + + "YWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBv" + + "ZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGxhdGVy" + + "IGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRoZSByZXN1bHQgcHJpbnRzIHRo" + + "ZSBga3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNl" + + "YCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBz" + + "dGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04s" + + "IGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdo" + + "ZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNw" + + "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1j" + + "bHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVk" + + "KSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRg" + + "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + + "IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQg" + + "Y2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExp" + + "bWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8" + + "IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2" + + "YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVg" + + "IHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lw" + + "IGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmlj" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5B" + + "TUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + + "IElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13" + + "ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmln" + + "IHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFp" + + "bC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0" + + "aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0" + + "IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRh" + + "YmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4" + + "cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBh" + + "cnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFND" + + "T1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2" + + "aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQg" + + "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0" + + "aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRg" + + "IChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + + "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBk" + + "ZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + + "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwK" + + "fCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + + "dXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJl" + + "bmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5j" + + "dGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVG" + + "QVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + + "ZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0" + + "LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5B" + + "TUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVp" + + "cmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + + "UlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2Rl" + + "bD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1p" + + "dD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5g" + + "IHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBV" + + "c2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNw" + + "ZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + + "dC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJp" + + "b3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0t" + + "cGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9y" + + "aXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0Eg" + + "SUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09O" + + "IGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4g" + + "YGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0g" + + "cGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBg" + + "L3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGlu" + + "Z3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBv" + + "d2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpg" + + "bGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFy" + + "YXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZv" + + "cm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBg" + + "SGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5p" + + "dHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAw" + + "MDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2th" + + "Z2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBi" + + "YWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0" + + "YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRo" + + "ZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJu" + + "ZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExN" + + "IGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + + "bWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + + "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBS" + + "ZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBm" + + "b3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBm" + + "dW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3Mg" + + "fCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9y" + + "bWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + + "bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAu" + + "IFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmlu" + + "ZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZ" + + "YCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0" + + "aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwg" + + "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + + "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + + "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + + "IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11g" + + "IGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBh" + + "bmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUg" + + "bW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1" + + "bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + + "Y29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQg" + + "SURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBm" + + "YW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQ" + + "VS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8" + + "CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJl" + + "cXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBk" + + "ZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3Bl" + + "Y2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBj" + + "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + + "ZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUg" + + "KHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAg" + + "fAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + + "ZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFu" + + "Y2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQ" + + "LkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0" + + "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hB" + + "UlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2" + + "ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVj" + + "IGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQg" + + "fAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3Rl" + + "cnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8" + + "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3Nl" + + "ZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0t" + + "ZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFs" + + "dWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVw" + + "ZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElP" + + "TmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5v" + + "IGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJ" + + "T05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwg" + + "U2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05g" + + "IHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVm" + + "YXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRv" + + "IGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9u" + + "IExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFt" + + "LW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExP" + + "QURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7" + + "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNv" + + "dXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRh" + + "c2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNr" + + "IGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRl" + + "bGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURg" + + "IHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1l" + + "dHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIrEyK" + + "o8syAADLMgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNo" + + "b290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRp" + + "b24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50" + + "cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFw" + + "IHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1m" + + "bGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVk" + + "ZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8v" + + "ZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBB" + + "VEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxs" + + "YXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9j" + + "cy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBl" + + "bnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2Nr" + + "ZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBh" + + "dmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1" + + "YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + + "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + + "fCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBH" + + "UFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + + "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQ" + + "VSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlk" + + "aWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNv" + + "bS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRv" + + "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJl" + + "cXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRv" + + "a2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9r" + + "ZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + + "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + + "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + + "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMg" + + "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4g" + + "dG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFw" + + "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8Cgoj" + + "IyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + + "LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3Nh" + + "bmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0" + + "b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVt" + + "YCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRl" + + "cGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1Ug" + + "fCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgi" + + "YCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3Rh" + + "bGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05g" + + "IGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkg" + + "dmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVy" + + "cm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBj" + + "b21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFk" + + "ZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJh" + + "dG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + + "b3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBr" + + "M2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rl" + + "cj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + + "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0" + + "aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUg" + + "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7" + + "IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyBy" + + "ZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0" + + "ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZv" + + "ciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0" + + "Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNs" + + "aSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1h" + + "Z2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBl" + + "ciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNm" + + "LWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlv" + + "biBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQg" + + "bGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBo" + + "ZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + + "L25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1" + + "cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9y" + + "IGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBg" + + "cmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNy" + + "ZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3Rl" + + "ZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBj" + + "cmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFi" + + "b3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSBy" + + "ZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwg" + + "LW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1t" + + "ZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0K" + + "bmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIElu" + + "c3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBh" + + "cmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBD" + + "TEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlk" + + "ZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUt" + + "cGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2Vu" + + "ZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwg" + + "b3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVu" + + "dmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVh" + + "ZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+" + + "PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwg" + + "bWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29y" + + "ZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2Ys" + + "IHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21w" + + "dXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNl" + + "Y3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgog" + + "IGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdA" + + "ZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2Vs" + + "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + + "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + + "c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVs" + + "bSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNl" + + "bGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hp" + + "bmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMu" + + "CgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBv" + + "ciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + + "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVz" + + "IGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJM" + + "TE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + + "c3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMK" + + "CkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZv" + + "ciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMg" + + "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9l" + + "bnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFu" + + "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxt" + + "ZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBt" + + "aXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBi" + + "YXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQt" + + "dmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29u" + + "dHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxl" + + "IHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcg" + + "YW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVy" + + "c2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhl" + + "bG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAg" + + "ICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMg" + + "Q2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29u" + + "dHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5n" + + "b3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxu" + + "YW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVz" + + "ZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + + "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBW" + + "YWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBt" + + "b3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMv" + + "YmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQg" + + "YnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVj" + + "dHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2Vj" + + "cmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJl" + + "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpD" + + "cml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + + "YyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBz" + + "dG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "IGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9j" + + "ay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNo" + + "YXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNw" + + "YWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkp" + + "CgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + + "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVs" + + "bCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2Ug" + + "dG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1z" + + "ZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5" + + "CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVp" + + "cmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + + "Y2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRl" + + "ZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJl" + + "ZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9u" + + "PiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3Rk" + + "aW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTog" + + "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3Qg" + + "KG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVy" + + "YWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZl" + + "IHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBz" + + "aWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9y" + + "ZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEg" + + "NDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlv" + + "dSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUt" + + "cnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFj" + + "aCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxr" + + "ZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0" + + "aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0" + + "cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQp" + + "IFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21h" + + "dGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRo" + + "YXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1" + + "bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3Jr" + + "bG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2lu" + + "dCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgox" + + "LiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTog" + + "PHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAg" + + "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3Vy" + + "Y2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJy" + + "b3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5Pgog" + + "ICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1h" + + "bmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0" + + "IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAo" + + "YG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVs" + + "bQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVs" + + "bSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRo" + + "b3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNv" + + "dXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0" + + "aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hh" + + "cnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgog" + + "ICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3It" + + "c3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5o" + + "ZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0" + + "aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5" + + "ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVs" + + "bCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUg" + + "cGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0" + + "aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVs" + + "bFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkg" + + "bG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFs" + + "OiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAg" + + "PiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwg" + + "c28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkg" + + "aG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2Ug" + + "aXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBn" + + "bG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFz" + + "IGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRz" + + "IGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFz" + + "aApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1u" + + "IDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52" + + "YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBi" + + "ZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0" + + "aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4g" + + "VGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBv" + + "cmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1" + + "Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9B" + + "RERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwg" + + "dXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBg" + + "R0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGds" + + "b2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVz" + + "dGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgoj" + + "IyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQg" + + "Qk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRz" + + "IGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBj" + + "YXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2" + + "aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0" + + "IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtl" + + "ZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29w" + + "cyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBT" + + "ZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFz" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMK" + + "CkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwg" + + "U2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0t" + + "LS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + + "IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3Jv" + + "dXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90" + + "YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5p" + + "dHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + + "ZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5" + + "IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8" + + "IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGlu" + + "IGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBg" + + "CgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5" + + "IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1m" + + "YWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJk" + + "IE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4g" + + "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYg" + + "dGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdh" + + "dGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + + "c2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0" + + "aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQg" + + "aW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFu" + + "aXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoK" + + "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + + "bmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmlj" + + "IGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBp" + + "bmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZh" + + "bml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRl" + + "ZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoK" + + "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5" + + "YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5p" + + "dHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5" + + "IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + + "by9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkg" + + "dmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3Rh" + + "bmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMg" + + "dHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJv" + + "dXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5" + + "CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + + "ZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + + "eQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5l" + + "dC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBs" + + "eSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2Vz" + + "L252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + + "cGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29t" + + "cHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3Rs" + + "eSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0" + + "aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3Rh" + + "bGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1" + + "c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + + "LAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + + "ZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwg" + + "YW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29t" + + "cHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBm" + + "b3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpT" + + "Y29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5l" + + "IGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8t" + + "c2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRp" + + "b24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBv" + + "cHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlg" + + "LCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52" + + "ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFj" + + "ZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2Ug" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0" + + "aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVs" + + "ZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5l" + + "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + + "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFt" + + "ZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcg" + + "bmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoK" + + "IyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "bnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMi" + + "IC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + + "ZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhl" + + "bG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9u" + + "bHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBg" + + "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5p" + + "bWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0" + + "IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFs" + + "dWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + + "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + + "b3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRp" + + "b246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6" + + "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0g" + + "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + + "ZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + + "bWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAg" + + "ICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6" + + "IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDog" + + "KmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkg" + + "YSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5" + + "CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3Jl" + + "ZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQg" + + "cnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlm" + + "IHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwg" + + "QVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQg" + + "fAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGlt" + + "YWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVu" + + "Y3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmpl" + + "Y3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0" + + "cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNB" + + "UlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8g" + + "YHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQg" + + "YHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJl" + + "Y3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwg" + + "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290" + + "c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZp" + + "Z2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBM" + + "QUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2" + + "NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29u" + + "c3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+" + + "IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhl" + + "IGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgi" + + "JG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZ" + + "IiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4p" + + "YC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVg" + + "IHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3" + + "b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lk" + + "ZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJl" + + "Z2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBh" + + "IGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBl" + + "bmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBz" + + "dGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChw" + + "cmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBi" + + "YW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + + "IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwg" + + "cmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + + "dAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAg" + + "IyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGkt" + + "b3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5j" + + "dGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZm" + + "ZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRo" + + "ZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2Fy" + + "IHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBN" + + "aXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIg" + + "YXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVk" + + "ZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkK" + + "ClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5" + + "IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFj" + + "ZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBj" + + "b25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAoj" + + "IDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + + "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + + "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVh" + + "dGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + + "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAz" + + "LiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJu" + + "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZl" + + "cnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFt" + + "ZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2Vj" + + "cmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5l" + + "ZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNS" + + "IHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBw" + + "dWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + + "bWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNr" + + "IHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2" + + "ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMK" + + "YGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4" + + "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEg" + + "VW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNy" + + "ZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBz" + + "dHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwg" + + "Q2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAg" + + "KyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBu" + + "byBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8" + + "IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFk" + + "IG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8u" + + "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtT" + + "IC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1p" + + "Z3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAj" + + "NC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBz" + + "bWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwK" + + "fCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0" + + "aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5E" + + "UkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1" + + "bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBp" + + "biB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + + "IHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVu" + + "ZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8" + + "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVs" + + "bSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdh" + + "eSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8" + + "IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4g" + + "c2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + + "b290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQw" + + "NCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxs" + + "IGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2Fz" + + "IHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBz" + + "byB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUt" + + "cnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVy" + + "aWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQg" + + "dmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJk" + + "Y29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGlt" + + "ZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVj" + + "dG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25z" + + "YCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2Ug" + + "dmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRh" + + "ZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAg" + + "ZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBT" + + "ZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25m" + + "aWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBh" + + "Y2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlg" + + "IHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4g" + + "QmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3Vj" + + "Y2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVw" + + "YWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyks" + + "IHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1" + + "YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5r" + + "bm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5p" + + "bmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpv" + + "YiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVs" + + "ZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3Qg" + + "aWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUK" + + "aG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291" + + "bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRl" + + "ZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVz" + + "Lm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + + "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFu" + + "ZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVm" + + "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2Vz" + + "L3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + + "ZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tp" + + "bGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFu" + + "ZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + + "anNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIs" + + "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + + "bXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJz" + + "dCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0" + + "ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5v" + + "dCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5k" + + "IGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBw" + + "cm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVk" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2" + + "ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwg" + + "bW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + + "aXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBh" + + "bmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9u" + + "IGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + + "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1" + + "aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0" + + "aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0" + + "byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBw" + + "cmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJ" + + "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90" + + "IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxl" + + "IHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZp" + + "ZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5k" + + "bHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + + "YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "Ikc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3Bh" + + "Y2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + + "IHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + + "cy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0" + + "LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBz" + + "dHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + + "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + + "dXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQg" + + "dGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + + "dG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0" + + "bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5h" + + "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + + "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + + "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBk" + + "aXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5h" + + "bGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtm" + + "bG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQg" + + "YSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBU" + + "aGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVw" + + "ZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNv" + + "bnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJh" + + "cmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxk" + + "cywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFr" + + "ZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1" + + "dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQg" + + "d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJl" + + "Z2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + + "dGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxs" + + "ZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhl" + + "IGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3Vy" + + "bCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNf" + + "dXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3Qg" + + "Zm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVT" + + "VEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwg" + + "SEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + + "aGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNv" + + "bmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWlj" + + "bXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURD" + + "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRp" + + "ZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGlj" + + "YXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNh" + + "dXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + + "byBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + + "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElf" + + "S0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + + "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + + "Q0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2Yg" + + "dGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMg" + + "Zm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZp" + - "bmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5h" + - "bGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFt" + - "ZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJ" + - "dCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBu" + - "dmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUg" + - "Y29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + - "a3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZp" + - "bmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRv" + - "IGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAi" + - "VGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3Bl" + - "cmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNv" + - "dXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3Bh" + - "Y2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlv" + - "biI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29t" + - "cHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVy" + - "IGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENM" + - "SSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + - "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29u" + - "ZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBj" + - "b250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1" + - "c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhl" + - "biByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZp" + - "cm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNj" + - "b3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMg" + - "dW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxh" + - "bmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAog" + - "ICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFz" + - "ZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBp" + - "X2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3" + - "YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwg" + - "Q0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFt" + - "bCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQg" + - "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + - "YXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3Vw" + - "cGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENM" + - "SSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhl" + - "IGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29u" + - "dHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBw" + - "cm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2Vy" + - "LWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZD" + - "RiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFu" + - "IGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJ" + - "dCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMg" + - "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxv" + - "bmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dp" + - "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + - "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8n" + - "IHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhl" + - "bG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNh" + - "dGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRs" + - "ZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3Vy" + - "cmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQg" + - "dG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRz" + - "Lywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3Qg" + - "Zm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2Nh" + - "dGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0" + - "IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZp" + - "bGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAg" + - "ICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBh" + - "bmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3Ry" + - "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxs" + - "YXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2Yg" + - "dGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52" + - "aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "ZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmls" + + "ZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdo" + + "ZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIg" + + "dG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4g" + + "SXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5n" + + "IGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxl" + + "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0" + + "aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAg" + + "ICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVh" + + "biBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + + "S1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxh" + + "dGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVk" + + "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50" + + "aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVk" + + "IHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1" + + "bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBw" + + "bGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1m" + + "aWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVy" + + "c2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBh" + + "Z2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFn" + + "ZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBu" + + "YXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQt" + + "bWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRv" + + "IHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + + "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2" + + "aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMi" + + "LAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCBy" + + "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sg" + + "dXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1w" + + "cm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFs" + + "bCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJh" + + "dGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxh" + + "bmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29t" + + "bWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0" + + "ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5k" + + "IHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90" + + "IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQg" + + "dmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + + "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + + "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + + "LWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAt" + + "LXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0" + + "ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "LCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRl" + + "ZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJU" + + "aGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJj" + + "ZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNy" + + "ZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRh" + - "dGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFt" + - "ZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3Ry" + - "aWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wt" + - "cGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5k" + - "IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRl" + - "IHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4i" + + "bnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9k" + + "aWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRp" + + "bmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0" + + "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlm" + + "ZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5l" + + "IHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVk" + + "ZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJl" + + "LWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1" + + "ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczog" + + "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhl" + + "IGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRp" + + "ZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "Ni1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBv" + + "bmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFv" + + "IC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUg" + + "aGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNl" + + "IGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4i" + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBo" + - "ZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUg" + - "YnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJv" + - "bC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwg" + - "YXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBh" + - "ZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVM" + - "TUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRl" + - "cGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxt" + - "ZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBj" + - "b250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2Jz" + - "ZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhl" + - "IGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0" + - "YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUg" + - "ZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1n" + - "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBm" + - "bG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwK" + - "ICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5l" + - "IGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVy" + - "LiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVx" + - "dWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBz" + - "aG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVk" + - "aW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "aywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5k" + - "LiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1" + - "ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIs" + - "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + - "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0" + - "cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + - "aW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJl" + - "LWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUg" + - "Z2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXgg" + - "aW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNz" + - "YW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRz" + - "IHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJh" + - "c2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRy" + - "YSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290" + - "bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUg" + - "WUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcu" + + "biIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAg" + + "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRz" + + "LXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJl" + + "bGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVs" + + "bGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1" + + "bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNv" + + "bW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hl" + + "Y2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + + "ZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNz" + + "aW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0" + + "cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09m" + + "ZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0" + + "aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + + "aW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIs" + + "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQg" + + "YSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1y" + + "b3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUg" + + "RUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3Vn" + + "aCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkg" + + "cHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + + "dGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4g" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdh" + + "dGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1w" + + "cm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBs" + + "dXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1" + + "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGlj" + + "bXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0" + + "ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0" + + "IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + + "YnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95" + + "LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQg" + + "bmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFj" + + "ZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBv" + + "aW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VV" + + "UkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vy" + + "dmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VV" + + "UkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJU" + + "aGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5n" + + "cnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9z" + + "dG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlB" + + "cGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3Bl" + + "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAi" + + "VGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZp" + + "ZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RI" + + "ZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3Zl" + + "cnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9s" + + "LXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIs" + + "CiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNh" + + "LW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Et" + + "c3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAg" + + "ICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + + "dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVz" + + "IGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxt" + + "ZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5" + + "IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQg" + + "cGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVy" + + "IGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBm" + + "bG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + + "IHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUs" + + "IGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + + "ZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + + "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3Ry" + + "YXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + + "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + + "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + + "dHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRo" + + "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3" + + "ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5n" + + "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBn" + + "b25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBm" + + "bG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0" + + "cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVs" + + "bWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJl" + + "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFu" + + "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + + "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + + "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + + "IHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5n" + + "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3du" + + "IGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + + "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + + "aWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wt" + + "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJl" + + "Zm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + + "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + + "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + + "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0" + + "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBh" + + "dGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRv" + + "d24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + + "YXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUg" + + "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24i" + + "OiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcg" + + "c2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + + "ZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNy" + + "ZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + + "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3Mu" + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2Rp" + - "ZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMg" + - "d2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55" + - "YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVz" + - "dCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhl" + - "IFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBs" + - "YXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0" + - "aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5n" + - "IHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1k" + - "ZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVu" + - "ZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3Ig" + - "dG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlm" + - "aWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBz" + - "eW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlm" + - "aWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJh" + - "LXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNl" + - "bGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1" + - "ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAx" + - "IFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRl" + - "YnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5" + - "IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + - "ZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNl" + - "IGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3Jvbmcg" + - "Y3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRo" + - "ZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQg" + - "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAi" + - "VGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3Rl" + - "bSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + - "biB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQg" + - "aWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRz" + - "IiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3Rl" + - "ciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdh" + - "eSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + - "dG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4" + - "IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlk" + - "ZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJs" + - "ZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3" + - "YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUg" + - "Y29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9z" + - "dCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBs" + - "YW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1v" + - "cGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + - "cnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3Mu" + - "Z2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVy" + - "ZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVS" + - "TCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJM" + - "LCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJU" + - "aGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wt" + - "cGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBi" + - "b3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdy" + - "cGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5h" + - "YmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlz" + - "c3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + - "ZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNj" + - "aGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRl" + - "LXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2" + - "YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFu" + - "ZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0" + - "IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0" + - "ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJy" + - "b3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVh" + - "ciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVu" + - "dCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2" + - "YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3ll" + - "ZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBi" + - "ZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJv" + - "bC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVz" + - "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBu" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Us" + - "IHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0" + - "ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRj" + - "aGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJl" + - "c2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0" + - "aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUg" + - "Q0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2Vk" + - "IHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0" + - "aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkg" + - "SUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFs" + - "LCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBs" + - "YXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdp" + - "dGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5l" + - "IG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZv" + - "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0" + - "ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25m" + - "aWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1" + - "c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5l" + - "IGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + - "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + - "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + - "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVk" + - "IHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + - "bWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0" + - "aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBp" + - "dCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24i" + - "LAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVz" + - "dHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRo" + - "ZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlh" + - "bWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRo" + - "ZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0" + - "IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkg" + - "ZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJv" + - "bC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdp" + - "c3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRo" + - "ZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFp" + - "biwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5k" + - "IHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVy" + - "cyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5" + - "IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVl" + - "IHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4g" + - "SG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55" + - "YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVz" + - "KSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdo" + - "IHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + - "IG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBl" + - "bnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9u" + - "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwg" + - "Z2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEg" + - "cmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBl" + - "eGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0" + - "IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjog" + - "IkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1t" + - "YW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUg" + - "Y29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMu" + - "bGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBH" + - "YXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0" + - "IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + - "dGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQt" + - "YmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0" + - "ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhv" + - "cCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVR" + - "VUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fy" + - "bmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlv" + - "bi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYg" + - "dXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + - "bnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3Jr" + - "ZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBh" + - "dGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxp" + - "Y2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXIt" + - "b2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFu" + - "Y2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + - "IHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1" + - "bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUg" + - "b25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5z" + - "dCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZy" + - "ZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBh" + - "bmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIs" + - "IHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcg" + - "LS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9y" + - "LWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1" + - "c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJz" + - "aG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9j" + - "YWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYt" + - "aG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxs" + - "YXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFk" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBp" + - "bnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2Nh" + - "bCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9j" + - "YWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBs" + - "ZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBk" + - "ZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJl" + - "c291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00g" + - "b24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTog" + - "Q2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJy" + - "aWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3Rl" + - "cCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55" + - "YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0x" + - "MApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVz" + - "PmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3Rh" + - "Y2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + - "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + - "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + - "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + - "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAg" + - "ICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJN" + - "aQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1l" + - "bW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + - "bGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90" + - "bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5v" + - "dGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxl" + - "IGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291" + - "cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0" + - "ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxp" + - "bmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJy" + - "b3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29u" + - "ZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + - "CiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZj" + - "ci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50" + - "aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIg" + - "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + - "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBg" + - "YAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFz" + - "aApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + - "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + - "LQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3Ry" + - "eSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2Vy" + - "LXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJ" + - "X0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + - "LQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUg" + - "cmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0" + - "byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1k" + - "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZl" + - "cnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTog" + - "Y2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + - "YmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + - "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBn" + - "bG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3Jl" + - "ZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwt" + - "c2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRy" + - "b2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVh" + - "dGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVy" + - "YXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNw" + - "dWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5j" + - "CmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91" + - "dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMs" + - "IE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJl" + - "c3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9y" + - "IHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNh" + - "IC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRh" + - "Lm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQ" + - "dWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0" + - "LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29y" + - "dC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nl" + - "c3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAz" + - "OiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tl" + - "biBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNv" + - "bXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "b24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + + "aW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0" + + "cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xv" + + "YmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2Fu" + + "ZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMu" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "cyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAi" + + "VGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBh" + + "bmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBi" + + "bG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMi" + + "LAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVu" + + "Y3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + + "ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRv" + + "IEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0g" + + "YWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2Fz" + + "IGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5l" + + "ZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQt" + + "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + + "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhv" + + "ZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + + "IGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcu" + + "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJh" + + "bnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlz" + + "IG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5n" + + "IHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4" + + "aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCBy" + + "b3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29s" + + "ZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCBy" + + "ZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBj" + + "bHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + + "ZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + + "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + + "dGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQs" + + "IGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxl" + + "IGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBz" + + "ZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExN" + + "IGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBs" + + "bG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIg" + + "c2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwg" + + "TlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdz" + + "IHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNl" + + "bGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNw" + + "ZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + + "ZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1" + + "Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVk" + + "IGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0" + + "aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABK" + + "VgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBs" + + "ZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3Zl" + + "cnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNl" + + "IGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhs" + + "YXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRg" + + "LgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1" + + "ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + + "L3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVm" + + "b3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxt" + + "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93" + + "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + + "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + + "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + + "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + + "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + + "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAg" + + "ICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTog" + + "IjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFu" + + "ZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9j" + + "YXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2Vz" + + "IGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJl" + + "KSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + + "c2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBs" + + "b3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRo" + + "ZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2Ap" + + "IGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRz" + + "LgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAg" + + "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6" + + "CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgoj" + + "IyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxz" + + "KQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + + "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + + "ICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1" + + "bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5" + + "PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2Vj" + + "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + + "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + + "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNl" + + "Y3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdl" + + "UHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBp" + + "biBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5h" + + "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + + "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + + "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + + "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + + "c3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + + "ICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0" + + "LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29t" + + "cHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsg" + + "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRz" + + "IGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5k" + + "ZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNr" + + "T2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0g" + + "bnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20t" + + "Y29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwK" + + "ICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0n" + + "CiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRl" + + "bGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVs" + + "dC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + + "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAK" + + "Ci0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBk" + + "ZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVw" + + "IDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + + "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNr" + + "IG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVi" + + "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1z" + + "dHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1" + + "c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRp" + + "bmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + + "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + + "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + + "CgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0" + + "ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0" + + "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ks" + + "IGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + + "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktV" + + "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVj" + + "b25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMK" + + "YW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAg" + + "LUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + + "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQg" + + "cmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoK" + + "Rm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiks" + + "IHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "Ci0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5n" + + "ZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNl" + + "ciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQg" + + "dGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1u" + + "IGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + + "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5T" + + "IGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBo" + + "b3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJl" + + "Y29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+" + + "YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0" + + "ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRl" + + "IHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBg" + + "SG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGly" + + "ZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2" + + "YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUK" + + "SUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVp" + + "ciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRp" + + "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5h" + + "bGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUg" + + "Y29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcg" + + "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + + "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1v" + + "IHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHBy" + + "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + + "cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + + "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + + "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + + "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + + "aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBl" + + "bmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNl" + + "IGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBP" + + "cGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + + "dXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + + "bmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxl" + + "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMg" + + "fAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + + "fCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + + "eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9u" + + "YWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + + "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRp" + + "b25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRv" + + "biBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVx" + + "dWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBs" + + "bG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + + "IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZh" + + "bml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUg" + + "c3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0" + + "ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9u" + + "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + + "bnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5n" + + "cmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1" + + "YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90" + + "IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBu" + + "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + + "YXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhl" + + "biByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBo" + + "YW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNv" + + "bWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFu" + + "ZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1m" + + "aWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52" + + "aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + + "cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwg" + + "Q0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkg" + + "cHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFu" + + "ZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wt" + + "cGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRo" + + "ZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVl" + + "ZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3Rz" + + "IGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVu" + + "dmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICBy" + + "ZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgot" + + "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0" + + "ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0" + + "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + + "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wt" + + "cGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpg" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1n" + + "YXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBU" + + "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBs" + + "dXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAg" + + "aXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNl" + + "Cndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAoj" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2Jh" + + "bDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52" + + "Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZO" + + "YXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNl" + + "cnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9j" + + "YXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdy" + + "cGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0" + + "ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1l" + + "c3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7" + + "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6" + + "IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0" + + "czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdh" + + "dGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFw" + + "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + + "bWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAg" + + "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + + "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxl" + + "ZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAg" + + "ICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAg" + + "ICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + + "ICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZp" + + "ZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRy" + + "ZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElf" + + "Q09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDog" + + "IjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFw" + + "aV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48" + + "Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWlu" + + "PiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29u" + + "dGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFw" + + "cyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNf" + + "aG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhl" + + "cmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0" + + "aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBi" + + "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + + "c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4g" + + "XAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBc" + + "CiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgt" + + "dG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+" + + "CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJv" + + "bSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50" + + "LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29t" + + "bWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25s" + + "eQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIu" + + "CgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwg" + + "Zmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSBy" + + "ZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdp" + + "b24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVy" + + "c2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJl" + + "Z2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lz" + + "dHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNo" + + "YWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpX" + + "S1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBI" + + "ZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29u" + + "dHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFu" + + "ZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1" + + "dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBh" + + "ZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFu" + + "ZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0" + + "cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFu" + + "ZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + + "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0" + + "ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + + "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + + "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + + "IFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + + "b3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250" + + "cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJl" + + "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5" + + "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIK" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xl" + + "YW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + - "b25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVz" + - "ZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4K" + - "CiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3Rl" + - "cklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9y" + - "ZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRo" + - "ZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoK" + - "YGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + + "b25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBh" + - "bmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUg" + - "Y29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFj" + - "ZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRo" + - "ZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIK" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5n" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + - "b3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRl" + - "c3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + - "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVz" + - "ZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAu" + - "CgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFj" + - "a2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBp" + - "LWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAK" + - "CiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0" + - "YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRo" + - "ZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0" + - "OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkg" + - "cHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFu" + - "ZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoK" + - "YGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAog" + - "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + - "VEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVz" + - "cyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkg" + - "SG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVk" + - "IHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlv" + - "bi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1l" + - "bnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVj" + - "dCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9y" + - "IGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVz" + - "c2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxh" + - "bmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBO" + - "QVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QK" + - "b3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlv" + - "biB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3Rl" + - "cCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + - "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + - "YWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + - "YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVw" + - "bG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2Vu" + - "ZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9y" + - "PWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpg" + - "YGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBm" + - "b3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpg" + - "YGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5" + - "bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0" + - "bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQt" + - "c3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2Vs" + - "ZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0t" + - "LS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEs" + - "IG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywg" + - "c2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5" + - "LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGkt" + - "Z2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkg" + - "b25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBh" + - "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkg" + - "aW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25z" + - "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVw" + - "bG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8" + - "CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3" + - "YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERl" + - "cGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + - "dWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVg" + - "IHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9" + - "dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0" + - "ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1l" + - "IHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdy" + - "b3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1w" + - "cm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNr" + - "cy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5z" + - "dGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1" + - "c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJh" + - "dGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBI" + - "YW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdp" + - "c3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFy" + - "YXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8" + - "IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1" + - "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRv" + - "cnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhl" + - "bG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNv" + - "bW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3Qu" + - "IE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9u" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + - "IGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoK" + - "IyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJl" + - "Zm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBH" + - "YXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxh" + - "bmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywg" + - "UmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + - "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + - "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQg" + - "a2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3kt" + - "Z2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBl" + - "bnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9z" + - "dCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNz" + - "IGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3Vi" + - "ZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0" + - "ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0" + - "cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5h" + - "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8v" + - "dGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93" + - "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAi" + - "aHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3Jw" + - "Y1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmlu" + - "Z3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3" + - "YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5" + - "LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3" + - "YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBu" + - "dmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0" + - "ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgog" + - "ICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGku" + - "PGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3" + - "YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoK" + - "ICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBg" + - "YAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAg" + - "ICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNT" + - "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJl" + - "dmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2" + - "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0" + - "c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJy" + - "aWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhl" + - "IGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + - "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + - "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUg" + - "cmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBk" + - "YXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwK" + - "YmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0" + - "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+" + - "OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + - "aWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRl" + - "d2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+Igpp" + - "bnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lz" + - "LjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25s" + - "eSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdp" + - "c3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZp" + - "ZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1o" + - "b3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + - "LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9O" + - "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9O" + - "PTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgt" + - "dG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmln" + - "PgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBD" + - "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + - "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9u" + - "IGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJl" + - "IGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxF" + - "YCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1j" + - "bHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50" + - "IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBG" + - "bG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMg" + - "dGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBi" + - "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + - "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9s" + - "LXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8" + - "bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + - "bGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9y" + - "IGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + + "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURg" + + "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + + "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4" + + "YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0" + + "ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gK" + + "S1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + + "Q09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09O" + + "RklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBs" + + "YW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBr" + + "dWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0" + + "ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2Ft" + + "ZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0" + - "ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0" + - "ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + - "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5l" + - "IGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291" + - "dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAt" + - "LWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUg" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRo" + - "ZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJv" + - "bSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNl" + - "IHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2" + - "YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQg" + - "aW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4" + - "dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + - "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRl" + - "IHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJv" + - "dWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJv" + - "bm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBh" + - "bmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFj" + - "ZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFt" + - "cGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmlj" + - "YXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + - "IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVz" + - "IFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9" + - "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52" + - "Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBc" + - "CiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVv" + - "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNy" + - "ZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95" + - "IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBs" + - "YW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBs" + - "eSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1h" + - "bmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMg" + - "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5h" + - "Z2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + - "ZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0" + - "cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + - "CmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0g" + - "cmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRl" + - "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFj" + - "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + - "CmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4g" + - "ZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoK" + - "CmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95" + - "IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+" + - "IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0" + - "ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAog" + - "IC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20K" + - "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1u" + - "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5k" + - "IGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRl" + - "IGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRo" + - "ZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJv" + - "bC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "ZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + - "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05G" + - "SUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVz" + - "ZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUg" + - "Q0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBj" + - "b21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5" + - "IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0" + - "ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0" + - "ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBc" + - "CiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "IFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21z" + - "LXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNv" + - "bXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpu" + - "b3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + - "IGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRo" + - "ZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNv" + - "IGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZv" + - "ciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1" + - "dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + - "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + - "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFt" + - "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZj" + - "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + - "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2Et" + - "aWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVu" + - "IGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93" + - "LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdp" + - "c3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFn" + - "bm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVz" + - "LgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFs" + - "bCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3Bl" + - "Y2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhl" + - "bG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZv" + - "ciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4g" + - "LS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNo" + - "b3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYK" + - "CiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + - "ICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJh" + - "Y2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0" + - "byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBg" + - "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwpr" + - "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUg" + - "IkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNl" + - "Cmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlm" + - "IHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + - "JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3Vi" + - "ZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdl" + - "UHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1l" + - "c3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBk" + - "b2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAg" + - "ICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoK" + - "Mi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNo" + - "YXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1" + - "ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBk" + - "b2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNl" + - "cnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFu" + - "ZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + - "NC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + - "YWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZh" + - "aWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2Vydmlj" + - "ZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAg" + - "ICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZj" + - "Zi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBt" + - "CmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2Vu" + - "dC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3Bl" + - "bkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9w" + - "ZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0K" + - "CiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9w" + - "ZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9u" + - "IHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMg" + - "dmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1" + - "bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3Vy" + - "Y2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6" + - "IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ry" + - "b3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVj" + - "dGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + - "YWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAg" + + "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250" + + "cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21w" + + "dXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93" + + "IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAt" + + "LXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0" + + "IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBs" + + "YW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVy" + + "LCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVu" + + "IHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + + "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5" + + "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + + "YS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + + "XAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRl" + + "IGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdp" + + "c3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNl" + + "CgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMg" + + "QWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + + "ZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVu" + + "dHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVu" + + "dHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUg" + + "YSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0" + + "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6" + + "IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBS" + + "RUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAw" + + "LzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6" + + "CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + + "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + + "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + + "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + + "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + + "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + + "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + + "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + + "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + + "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2Nr" + + "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFj" + + "ZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + + "cHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZl" + + "cmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVk" + + "IHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + + "bWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVu" + + "YmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2gg" + + "U2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVs" + + "ZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZj" + + "ci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50" + + "aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMj" + + "IyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6" + + "CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + + "UkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAv" + + "MSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVy" + + "IGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpg" + + "YGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9i" + + "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3Mg" + + "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0" + + "IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipP" + + "cGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBw" + + "dWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9u" + + "IGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMg" + + "aW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAg" + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + - "ciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxp" + - "emVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAt" + - "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMK" + - "ICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4g" + - "YDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNp" + - "Z25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9J" + - "REMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9w" + - "ZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0" + - "aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3Rl" + - "YWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQog" + - "ICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBw" + - "cmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMg" + - "b24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMg" + - "dGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5p" + - "c3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93" + - "cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3Vu" + - "dCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1" + - "ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVu" + - "IHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdy" + - "YXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6" + - "IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZl" + - "ci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3Vs" + - "ZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2Vs" + - "bC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tT" + - "IFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2Rz" + - "IGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0" + - "ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3Rl" + - "cmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5" + - "IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlz" + - "LgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0" + - "ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + - "ZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNz" + - "YW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENh" + - "c3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpb" + - "ZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICBy" + - "ZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTog" + - "ODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0" + - "MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhl" + - "IE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4K" + - "CiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + - "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + - "LTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgoj" + - "IC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9k" + - "J3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3Vm" + - "ZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBg" + - "CgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNl" + - "bGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBu" + - "b2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNz" + - "IG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBr" + - "dWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJj" + - "ZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJl" + - "IG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBg" + - "CgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMK" + - "CmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVk" + - "CmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBz" + - "ZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgoj" + - "IyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3Qg" + - "anVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoK" + - "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAK" + - "CiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoK" + - "U2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNo" + - "b3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNr" + - "IGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9n" + - "cyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252" + - "Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0" + - "bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9" + - "MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxz" + - "Kio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBg" + - "JG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5" + - "CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8g" + - "J1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1" + - "dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjog" + - "QVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3Ry" + - "YXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNy" + - "ZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5k" + - "ZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52" + - "Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFt" + - "ZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBz" + - "aXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBG" + - "YWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNv" + - "bXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRp" + - "bmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRp" + - "bmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZp" + - "eAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBu" + - "b3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVy" + - "cyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVj" + - "ayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + - "Y2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRz" + - "IC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIv" + - "IiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIk" + - "MSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRj" + - "b250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAt" + - "cCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRF" + - "WFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWly" + - "IGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1" + - "YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1v" + - "IGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwK" + - "ICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAg" + - "LS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwK" + - "ZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkK" + - "CiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8g" + - "YG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMg" + - "YXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRv" + - "cgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBu" + - "dmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5" + - "IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBv" + - "ciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0" + - "aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1" + - "dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBi" + - "dXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxv" + - "eSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAt" + - "biBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJp" + - "dmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0" + - "cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRv" + - "IGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9v" + - "cC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNl" + - "Y3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9t" + - "cwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRl" + - "ciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3" + - "YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdB" + - "WV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + - "dGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0n" + - "ey5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRp" + - "ZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0" + - "cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMg" + - "dXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNt" + - "c1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2Jh" + - "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQu" + - "IFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBk" + - "ZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5k" + - "IHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBz" + - "ZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00" + - "LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1l" + - "c3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZp" + - "Y2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0t" + - "LS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEt" + - "c3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8Cnwg" + - "bnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2Vydmlj" + - "ZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5" + - "cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNp" + - "cyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNz" + - "IGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRl" + - "cyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5" + - "IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQv" + - "CnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwg" + - "T3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZp" + - "Y2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNl" + - "cnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + - "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + - "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + - "dCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwg" + - "ICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBn" + - "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + - "dWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxt" + - "ZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBs" + - "YW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVu" + - "dmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVs" + - "dCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAg" + - "ICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1w" + - "bCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2" + - "YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNs" + - "dXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52" + - "aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJ" + - "LWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4g" + - "RG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBh" + - "bmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVs" + - "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + - "LS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8" + - "IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIg" + - "fCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8Cnwg" + - "Y2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRh" + - "YmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGgg" + - "YHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdv" + - "dG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18" + - "LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1r" + - "ZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8" + - "IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBp" + - "bnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2Vz" + - "IHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + - "IHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGkt" + - "Z2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1h" + - "ZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxh" + - "YmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5" + - "c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6" + - "IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAg" + - "cmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1w" + - "bF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1p" + - "bi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBi" + - "bG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + - "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + - "LS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFi" + - "aWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMg" + - "ZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBU" + - "ZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoK" + - "VXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0" + - "ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2Ug" + - "cmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNl" + - "LCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHku" + - "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0" + - "ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + - "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVm" + - "aW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZj" + - "Zi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + - "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVT" + - "VCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + - "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwg" + - "ICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAg" + - "ICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTky" + - "TWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3Jl" + - "LnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoK" + - "YGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAg" + - "aW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVz" + - "OmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0" + - "aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQg" + - "Z2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdo" + - "ZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNo" + - "YXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + - "IC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0g" + - "R28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1" + - "cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZl" + - "IHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0" + - "IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpg" + - "Z2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZp" + - "cm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + - "YyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVy" + - "ZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNz" + - "YW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0" + - "aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJh" + - "Lm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fz" + - "c2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29u" + - "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94" + - "LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2" + - "Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNl" + - "bGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMu" + - "aW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9y" + - "LmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRh" + - "dGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMg" + - "KEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + - "dG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNl" + - "Pi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJs" + - "ZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBm" + - "dW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBs" + - "bG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5p" + - "bnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5h" + - "YmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUg" + - "SGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRo" + - "ZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRl" + - "ZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAg" + - "bGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAx" + - "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + - "OiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + - "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoK" + - "YWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRp" + - "b25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAg" + - "c3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25s" + - "eSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZD" + - "RiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRo" + - "ZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50" + - "aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdy" + - "cGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29y" + - "a2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVj" + - "dGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFu" + - "YWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3Vy" + - "ZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5v" + - "dCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXIt" + - "b2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZp" + - "Z3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBM" + - "b2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9k" + - "b2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1" + - "aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sn" + - "cyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRl" + - "ZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3Rl" + - "Q29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAg" + - "ICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9w" + - "eWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JP" + - "VVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0" + - "ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9u" + - "cwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFp" + - "bCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUg" + - "ZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUg" + - "dXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0Eg" + - "cmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5j" + - "CmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9t" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxl" + - "LWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZl" + - "bi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRl" + - "Y2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4g" + - "UmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBh" + - "cHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApj" + - "cmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAt" + - "biBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVw" + - "IC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRw" + - "cm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5j" + - "dGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5h" + - "bWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2Nh" + - "bCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUK" + - "YC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRo" + - "bSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6" + - "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rh" + - "cmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUg" + - "U2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAoj" + - "IEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmls" + - "aXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5" + - "bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSBy" + - "ZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVh" + - "c2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlg" + - "LgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQF" + - "AAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + - "YWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQg" + - "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJ" + - "IGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3Ug" + - "bmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + - "Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24g" + - "dW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRo" + - "ZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + - "YHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUg" + - "bmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFu" + - "ZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVn" + - "aXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1" + - "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcg" + - "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQ" + - "SV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + - "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + - "Y3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxk" + - "b21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFw" + - "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2" + - "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1u" + - "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoK" + - "IyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2Vu" + - "dCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVp" + - "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJI" + - "b3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIK" + - "YGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVu" + - "YXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBS" + - "ZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGlj" + - "YXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAA" + - "uQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQ" + - "dWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1h" + - "Z2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCks" + - "IEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJv" + - "bC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0" + - "aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNl" + - "IGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVy" + - "bm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNz" + - "aW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNl" + - "Y3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoK" + - "IyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5v" + - "CgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlv" + - "L2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9r" + - "eXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBw" + - "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + - "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + - "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + - "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJl" + - "cGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2Nr" + - "ZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFt" + - "bAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6" + - "CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZh" + - "bHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2Rz" + - "CiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAg" + - "ICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + - "ICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJz" + - "aXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAg" + - "ICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIK" + - "ICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hT" + - "dHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9u" + - "czoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + - "LWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRz" + - "OgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdl" + - "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBs" + - "YW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + - "biBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFy" + - "ZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJv" + - "bC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0" + - "IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + - "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "ciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNl" + + "Y3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmlu" + + "ZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNo" + + "CiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVu" + + "YmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBh" + + "dXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxp" + + "ZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFu" + + "eSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtl" + + "eSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQg" + + "d2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRp" + + "b25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fu" + + "bm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMg" + + "dGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50" + + "LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJ" + + "bml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9w" + + "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAg" + + "bWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBV" + + "c2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxs" + + "YmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUg" + + "bGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVu" + + "diB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVu" + + "YmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + + "IyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5" + + "c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBt" + + "aWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVu" + + "dCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5h" + + "bCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFu" + + "ZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4x" + + "IG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxl" + + "ZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNl" + + "IHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90" + + "YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoK" + + "IyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVT" + + "VEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEw" + + "bQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMj" + + "IyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + + "U2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwK" + + "LSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4" + + "IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIi" + + "CiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5v" + + "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + + "aWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMj" + + "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + + "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpg" + + "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcg" + + "ZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoK" + + "IyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShz" + + "KSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + + "dmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNs" + + "YWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRj" + + "aCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoK" + + "Mi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0" + + "cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKklu" + + "c3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVk" + + "IHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0" + + "YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3" + + "aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFy" + + "cyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQp" + + "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4g" + + "PG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNl" + + "IGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3Bh" + + "Y2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + + "dCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08" + + "cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWls" + + "ZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUg" + + "Y3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3Np" + + "cwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMg" + + "LW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQpr" + + "dWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hl" + + "Y2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + + "ZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3Jvbmcg" + + "YmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3Jl" + + "dHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5v" + + "dCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBj" + + "cmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBT" + + "aG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0" + + "cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQg" + + "aW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBj" + + "cmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0" + + "IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQK" + + "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZp" + + "Y2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMp" + + "CgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpz" + + "dHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3Bl" + + "cmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5n" + + "ICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNv" + + "bnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVk" + + "LiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5k" + + "CmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9D" + + "T05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + + "TlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + + "IiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFk" + + "YXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9" + + "IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3Vi" + + "ZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIk" + + "bnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSIn" + + "IF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + + "IGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZj" + + "Zi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQg" + + "bmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmlu" + + "YWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + + "IiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUi" + + "IC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlz" + + "c2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgpp" + + "dCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBc" + + "CiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4" + + "ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxt" + + "ZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhh" + + "dCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3Rh" + + "bGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRl" + + "IGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9u" + + "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3Bl" + + "cmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhl" + + "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1h" + + "bnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + + "ZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENo" + + "YW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0" + + "ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyBy" + + "ZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + + "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + + "IiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + + "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJl" + + "Y3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0" + + "c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMj" + + "IyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92" + + "ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGlu" + + "YXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXkt" + + "YWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + + "dGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhh" + + "bXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdl" + + "KS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVu" + + "Y2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFj" + + "ZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBu" + + "YXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBv" + + "cGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXBy" + + "b3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1n" + + "YXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVz" + + "cyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZv" + + "eSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdh" + + "eSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVy" + + "ZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + + "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHku" + + "eWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25t" + + "ZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1" + + "ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAg" + + "ICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1u" + + "YW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRz" + + "LCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRl" + + "bXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52" + + "Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNv" + + "bmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAg" + + "ICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVu" + + "di1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0t" + + "IGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25z" + + "dHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBl" + + "bnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxv" + + "dyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGlu" + + "c3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRz" + + "IGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "CiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMu" + + "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0t" + + "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5h" + + "dHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52" + + "Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRl" + + "cGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3Nh" + + "bmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRl" + + "IGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgoj" + + "IyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBM" + + "YWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlz" + + "IHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVs" + + "bS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlv" + + "bi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdy" + + "cGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFw" + + "aSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnkt" + + "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVx" + + "dWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2Yv" + + "aGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNz" + + "dWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChu" + + "byByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMg" + + "fCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGlu" + + "aGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0" + + "cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4u" + + "L2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5s" + + "bG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFu" + + "ZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1w" + + "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + + "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2" + + "YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2Vy" + + "dmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQg" + + "aWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVu" + + "Y3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4g" + + "TWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290" + + "Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAg" + + "a2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVl" + + "czpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVl" + + "czoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRl" + + "bmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFs" + + "dWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZh" + + "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdo" + + "ZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAg" + + "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1" + + "ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + + "IiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + + "WW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + + "ICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUp" + + "CgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJp" + + "dGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAg" + + "bmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpX" + + "aGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5l" + + "ZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVl" + + "c2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpG" + + "cm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlh" + + "bWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2Jh" + + "bC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFy" + + "dC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMu" + + "eWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiBy" + + "ZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + + "IFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVz" + + "YCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3Ry" + + "dWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBp" + + "dCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVw" + + "bGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + + "IGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uu" + + "c2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9y" + + "cy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMj" + + "IE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2Uu" + + "KmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRz" + + "dHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRl" + + "Lm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBv" + + "cGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAot" + + "IGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0g" + + "YG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJs" + + "ZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipg" + + "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVu" + + "YWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMg" + + "TExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVh" + + "dGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRo" + + "ZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5" + + "YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkg" + + "QVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhl" + + "IExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJs" + + "ZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBz" + + "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24g" + + "dG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoK" + + "YGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAg" + + "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + + "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGlj" + + "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + + "ICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0" + + "ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAg" + + "ICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJl" + + "cGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVy" + + "cy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBv" + + "biBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBB" + + "UEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5s" + + "bG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBh" + + "YmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZv" + + "ciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNh" + + "IGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5z" + + "dGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJh" + + "bnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCBy" + + "b3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + + "dGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xM" + + "TSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJ" + + "QS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + + "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + + "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + + "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + + "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + + "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + + "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + + "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + + "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + + "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + + "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + + "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + + "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + + "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + + "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + + "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + + "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + + "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + + "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + + "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + + "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + + "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + + "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + + "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + + "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + + "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + + "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + + "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + + "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + + "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + + "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + + "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + + "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + + "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + + "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + + "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + + "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + + "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + + "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + + "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + + "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + + "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + + "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + + "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + + "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + + "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + + "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + + "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + + "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + + "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + + "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + + "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + + "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + + "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + + "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + + "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + + "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + + "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + + "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + + "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + + "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + + "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + + "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + + "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + + "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + + "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + + "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + + "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + + "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + + "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + + "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + + "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + + "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + + "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + + "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + + "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + + "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + + "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + + "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + + "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + + "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + + "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + + "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + + "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + + "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + + "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + + "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + + "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + + "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + + "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + + "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6" + - "IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5j" + - "ZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3Rl" + - "bWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0" + - "LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJp" + - "ZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRo" + - "ZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5z" + - "cGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + - "XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + - "LW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1h" + - "Z2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBw" + - "dWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "ZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + - "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBV" + - "bmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNv" + - "bXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxs" + - "IFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMq" + - "KjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5" + - "YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGlj" + - "aXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVk" + - "ZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBS" + - "ZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vy" + - "dmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJh" + - "Y2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZl" + - "Y3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUg" + - "c3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBg" + - "CgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaApr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZl" + - "cm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRj" + - "aGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cg" + - "UkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJl" + - "bmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhh" + - "Y3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQg" + - "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwEC" + - "FAAUAAgAAAAAACEACoXw2EoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5q" + - "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAA" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAJn2DaXdDQAA3Q0AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOB" + - "XQwAAF0MAAA0AAkAAAAAAAAAAAAAAIeAAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + - "cGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0A" + - "ADcACQAAAAAAAAAAAAAAT40AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRk" + - "LWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJ" + - "AAAAAAAAAAAAAADCmgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + - "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAA" + - "AAAAAAAAAAAA0bQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + - "ZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAA" + - "AAAAAABX2gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWls" + - "ZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAA" + - "AAAAAAAAAInpAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJv" + - "bS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAA" + - "AAAAAAAA+xEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0" + - "ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAA" + - "AAAAADMaAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAfDwBAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQBGrnbwDAgAAAwIAAAyAAkAAAAAAAAAAAAAAARgAQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQCsTIqjyzIAAMsyAAAtAAkAAAAAAAAAAAAAAHloAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAA" + - "NwAJAAAAAAAAAAAAAAComwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + - "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkA" + - "AAAAAAAAAAAAAIqtAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAADYQAgBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAA62YCAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA0I8CAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAABlwAIAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAACM8QIAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + - "Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAA" + - "AAARHAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + - "LXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAA" + - "AAAAAAAAQCQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAALU6AwAAAA==" + "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + + "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + + "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + + "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + + "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + + "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + + "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + + "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + + "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + + "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + + "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + + "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + + "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + + "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + + "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + + "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + + "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + + "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + + "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + + "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + + "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + + "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + + "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + + "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + + "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + + "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + + "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + + "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + + "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + + "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAB42pR0oQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + + "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EA" + + "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAJn2DaXdDQAA3Q0AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAIeAAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAT40AAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADCmgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA0bQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + + "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAABX2gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBC" + + "ceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAInpAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrh" + + "OrnIBwAAyAcAADkACQAAAAAAAAAAAAAA+xEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + + "5CEAAOQhAAAuAAkAAAAAAAAAAAAAADMaAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAA" + + "AAAAAAAAAAAAfDwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + + "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAP90vFkAgAAJAIAAAyAAkAAAAAAAAAAAAAAARg" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQCsTIqjyzIAAMsyAAAtAAkAAAAAAAAAAAAAAP1oAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAAsnAEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAA6uAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + + "AAkAAAAAAAAAAAAAALoQAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + + "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + + "AAAAAAAAb2cCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAVJACAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + + "AAAAAAAAAAAAAADpwAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJ" + + "AAAAAAAAAAAAAAAQ8gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + + "AAC5BwAAPwAJAAAAAAAAAAAAAACVHAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + + "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAAxCQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + + "ADk7AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 8b0ad18555..ee3d8832ae 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -93,6 +93,7 @@ go_test( "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/runtime/schema", "@io_k8s_apimachinery//pkg/types", + "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//kubernetes/fake", "@io_k8s_client_go//rest", "@io_k8s_client_go//testing", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index ebcc4592d0..2d7b8f85df 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -72,8 +72,18 @@ const ( var ( clusterValidatorTimeout = 5 * time.Minute clusterValidatorLogFetchTimeout = 10 * time.Second + // validatorCleanupTimeout bounds each deferred sweep. They run after an + // interrupt, when CI will not send a second signal, so an unreachable + // apiserver must not hold the CLI open. + validatorCleanupTimeout = 30 * time.Second ) +// cleanupContext is a fresh, bounded context for one deferred sweep. It does +// not derive from the run's ctx, which may already be cancelled. +func cleanupContext() (context.Context, context.CancelFunc) { + return context.WithTimeout(context.Background(), validatorCleanupTimeout) +} + // Kubelet Waiting.Reason values that mean the pod will never start without // operator intervention. Detecting any short-circuits the 5-minute wait. var pullFailureReasons = map[string]struct{}{ @@ -191,7 +201,9 @@ func runClusterValidator( // per-role secret scoping exists to prevent. defer func() { if !noCleanup && !podMayBeRunning { - sweepManagedPullSecrets(context.Background(), client, role, runID) + cctx, cancel := cleanupContext() + defer cancel() + sweepManagedPullSecrets(cctx, client, role, runID) } }() @@ -204,7 +216,9 @@ func runClusterValidator( // label-guarded, so running it when nothing was created is a no-op. defer func() { if !noCleanup && !podMayBeRunning { - sweepClusterValidatorRBAC(context.Background(), client, role, runID) + cctx, cancel := cleanupContext() + defer cancel() + sweepClusterValidatorRBAC(cctx, client, role, runID) } }() if err := ensureClusterValidatorRBAC(vctx, client, role, runID, noCleanup); err != nil { @@ -226,7 +240,9 @@ func runClusterValidator( // operator asked to keep the run's artifacts. defer func() { if !noCleanup && !podMayBeRunning { - sweepClusterValidatorConfig(context.Background(), client, runID) + cctx, cancel := cleanupContext() + defer cancel() + sweepClusterValidatorConfig(cctx, client, runID) } }() if err := ensureClusterValidatorConfig(vctx, client, registries, runID, noCleanup); err != nil { diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 00d142c276..f78e655bbb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -19,6 +19,10 @@ package selfhosted import ( "context" + "io" + "net/http" + "net/http/httptest" + "strings" "sync/atomic" "testing" "time" @@ -34,7 +38,9 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" + "k8s.io/client-go/rest" ktesting "k8s.io/client-go/testing" ) @@ -467,3 +473,60 @@ func TestBuildClusterValidatorJob_ConfigNamePerRole(t *testing.T) { assert.Equal(t, clusterValidatorNoConfigName, cp) assert.NotEqual(t, clusterValidatorConfigName, cp, "must not be the validator's default name") } + +// An apiserver that stops answering after the bootstrap fails must not hold +// the CLI open in the deferred sweeps: each one is bounded, and the run +// returns once they time out. +func TestRunClusterValidator_CleanupIsBoundedWhenTheAPIServerHangs(t *testing.T) { + prev := validatorCleanupTimeout + validatorCleanupTimeout = 500 * time.Millisecond + t.Cleanup(func() { validatorCleanupTimeout = prev }) + + var hang atomic.Bool + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if hang.Load() { + <-r.Context().Done() + return + } + w.Header().Set("Content-Type", "application/json") + switch { + case r.Method == http.MethodPost && strings.HasSuffix(r.URL.Path, "/clusterroles"): + // The bootstrap fails here, after its ServiceAccount exists, and + // the apiserver goes silent for everything after. + hang.Store(true) + w.WriteHeader(http.StatusForbidden) + _, _ = io.WriteString(w, `{"kind":"Status","apiVersion":"v1","status":"Failure","reason":"Forbidden","code":403}`) + case r.Method == http.MethodPost: + body, _ := io.ReadAll(r.Body) + w.WriteHeader(http.StatusCreated) + _, _ = w.Write(body) + default: + w.WriteHeader(http.StatusInternalServerError) + _, _ = io.WriteString(w, `{"kind":"Status","apiVersion":"v1","status":"Failure","code":500}`) + } + })) + t.Cleanup(func() { + srv.CloseClientConnections() + srv.Close() + }) + // JSON, so the server can echo a created object back as the response. + client, err := kubernetes.NewForConfig(&rest.Config{ + Host: srv.URL, + ContentConfig: rest.ContentConfig{ContentType: "application/json"}, + }) + require.NoError(t, err) + + done := make(chan ClusterValidatorResult, 1) + go func() { + done <- runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + }() + select { + case res := <-done: + require.Error(t, res.Err) + assert.Contains(t, res.Err.Error(), "create cluster role", "the run must reach the hang, not fail earlier") + assert.True(t, hang.Load()) + case <-time.After(10 * time.Second): + t.Fatal("the deferred cleanup did not return against a hung apiserver") + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index 7af56b8e17..1d57946947 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -285,6 +285,7 @@ type Model struct { checkFinalTotal int checkFinalPassed int checkFinalFailed int + checkCancelled bool // final event came from SIGINT/SIGTERM, not a verdict // log tail (LogLine ring buffer; rendered as a "Recent" panel during // long phases like apply-cp). Capacity is fixed; new lines push older @@ -744,6 +745,7 @@ func (m Model) applyCheckEvent(e Event) (tea.Model, tea.Cmd) { m.checkFinalTotal = ev.TotalChecks m.checkFinalPassed = ev.PassedCount m.checkFinalFailed = ev.FailedCount + m.checkCancelled = ev.Cancelled return m, tea.Quit } return m, nil @@ -1852,6 +1854,9 @@ func (m Model) viewCheck(now time.Time) string { } var statusLine string switch { + case m.finished && m.checkCancelled: + // Checks cut short by the interrupt are neither passed nor failed. + statusLine = fmt.Sprintf("Status: cancelled (%s)", tally) case anyInFlight || (!m.finished && len(m.checkCategories) > 0 && !allFinished): statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, %d failed)", passed, total, failed) case m.finished && failed > 0: diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index 1c1250e0e4..d860d5a325 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -568,6 +568,25 @@ func TestCheckOneShotRenderer_FlushesFailedSummaryOnFinal(t *testing.T) { assert.Contains(t, out, "Status: ✘ failed (1/2 passed, 1 failed)") } +// An interrupted check ends on a cancelled final event, which must not read +// as a pass. +func TestCheckOneShotRenderer_CancelledIsNotOK(t *testing.T) { + t.Setenv("NO_COLOR", "1") + var buf bytes.Buffer + r := NewCheckOneShotRenderer(&buf, ModelOpts{Mode: ModeCheck, Output: &buf}) + ctx := context.Background() + require.NoError(t, r.Emit(ctx, CheckStarted{Category: "local-host-tools", ID: "kubectl-on-path"})) + require.NoError(t, r.Emit(ctx, CheckCompleted{ + Category: "local-host-tools", ID: "kubectl-on-path", Passed: true, Severity: "info", Message: "kubectl on PATH", + })) + require.NoError(t, r.Emit(ctx, Final{Cancelled: true})) + require.NoError(t, r.Close()) + + out := buf.String() + assert.Contains(t, out, "Status: cancelled") + assert.NotContains(t, out, "Status: ✓ ok") +} + // A warning row is not marked as a failure: it does not fail the run. func TestCheckGlyph_WarningIsNotAFailure(t *testing.T) { assert.Equal(t, "[✓]", checkGlyph(checkRow{finished: true, passed: true})) From bc370f07eb419991ebda175a9058fff8dcab5e11 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 30 Sep 2026 05:51:11 +0530 Subject: [PATCH 049/127] fix(nvcf-cli): correct stale validator comments, use severity constants throughout, and keep the stale-namespace tests independent of HELM_DRIVER Signed-off-by: rohithb --- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 12 +++--- src/clis/nvcf-cli/cmd/self_hosted_check.go | 2 +- .../self_hosted_check_validatorenv_test.go | 37 +++++++++++++++++++ .../internal/selfhosted/clustervalidator.go | 10 ++--- .../nvcf-cli/internal/selfhosted/main_test.go | 5 ++- .../nvcf-cli/internal/selfhosted/preflight.go | 4 +- .../nvcf-cli/internal/selfhosted/register.go | 4 +- .../selfhosted/stale_namespace_test.go | 8 ++-- 8 files changed, 60 insertions(+), 22 deletions(-) diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 65d66132f0..2529d20bbd 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -150,8 +150,8 @@ api_keys_owner_id: svc@nvcf-api.local # # The Job needs a ServiceAccount, ClusterRole, and ClusterRoleBinding, which # the CLI creates and removes per run. The kubeconfig context therefore needs -# permission to manage those objects; without it the probe reports a warning -# instead of a result. +# permission to manage those objects; without it the validator cannot run and +# the check fails. Pass --skip-cluster-validation to run without it. # # Config key: cluster_validator_image # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_IMAGE @@ -159,15 +159,17 @@ api_keys_owner_id: svc@nvcf-api.local # # When the value has no tag, the latest tag is discovered from the # registry (preferring stable releases over rc). If unset everywhere, -# the validator probe is skipped with a warning. +# the validator probe is skipped with a note on stderr. # # Staging: stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator # Prod: nvcr.io/nvidia/nvcf-byoc/cluster-validator # cluster_validator_image: nvcr.io/nvidia/nvcf-byoc/cluster-validator # Extra container registries the control-plane validator probes for -# reachability, as host:port. nvcr.io is always probed, so list only the -# registries your stack pulls from in addition to it. +# reachability, as host:port. The registries the install pulls from are +# probed already: the validator image's registry, the stack's +# global.image.registry, and quay.io for the cert-manager ACME solver. List +# only registries beyond those. # # Config key: cluster_validator_registries (list) # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES (comma-separated) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 979b42b29b..6280da3a51 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -287,7 +287,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { results = append([]selfhosted.CheckResult{{ ID: "force-fail-test-seam", Category: "test", - Severity: "error", + Severity: selfhosted.SeverityError, Passed: false, Message: "forced failure (test seam)", }}, results...) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index a37649344b..c955381400 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -146,3 +146,40 @@ func TestCheck_PreSplitRunsBothValidatorRoles(t *testing.T) { assert.Equal(t, "gpu-ctx", gpu.KubeContext) assert.NotContains(t, cp.Env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") } + +// NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES is read, and a comma-separated value is +// split into separate registries rather than parsed as one host. +func TestCheck_RegistriesEnvVarIsSplitOnCommas(t *testing.T) { + resetCheckFlags(t) + t.Setenv("NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES", "harbor.example.com:443, ghcr.io:443") + var mu sync.Mutex + var got selfhosted.ClusterValidatorParams + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + defer mu.Unlock() + if p.Role == "control-plane" { + got = p + } + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--json", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}) + _ = rootCmd.Execute() + + mu.Lock() + defer mu.Unlock() + var regs []string + for _, r := range got.Registries { + regs = append(regs, r.Registry) + } + assert.Contains(t, regs, "harbor.example.com") + assert.Contains(t, regs, "ghcr.io") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 2d7b8f85df..166d12701f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -750,9 +750,10 @@ const clusterValidatorNoConfigName = "cluster-validator-no-config" const clusterValidatorRoleLabel = "nvcf.nvidia.com/validator-role" // clusterValidatorPreserveLabel marks objects an operator asked to keep with -// --no-cleanup. The orphan sweeper skips them: without it a preserved run is -// reclaimed anyway once it is older than the TTL, which makes the flag mean -// "keep for 30 minutes". +// --no-cleanup. The orphan sweeper keeps them for preservedValidatorTTL instead +// of orphanValidatorRBACTTL: without the label a preserved run would be +// reclaimed after 30 minutes, and with no limit at all a kept ClusterRole and +// NGC-key Secret would stay forever. const clusterValidatorPreserveLabel = "nvcf.nvidia.com/validator-preserve" // clusterValidatorRBACName returns the ServiceAccount / ClusterRole / @@ -788,9 +789,6 @@ func newValidatorRunID() (string, error) { return hex.EncodeToString(b), nil } -// controlPlaneValidatorConfigTemplate is the baseline network-check ConfigMap for -// control-plane preflight: nvcr.io reachability (critical) and NetworkPolicy -// enforcement (non-critical). Extra registries are appended as non-critical probes. // controlPlaneValidatorEnforcementConfig follows the generated reachability // section in the control-plane validator ConfigMap. const controlPlaneValidatorEnforcementConfig = `enforcement: diff --git a/src/clis/nvcf-cli/internal/selfhosted/main_test.go b/src/clis/nvcf-cli/internal/selfhosted/main_test.go index 6c652255a8..ae1b789353 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/main_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/main_test.go @@ -24,13 +24,16 @@ import ( // TestMain points HOME at an empty directory so no test reads the developer's // ~/.docker/config.json, or runs a credential helper it names. Tests that need -// a docker config write their own under a temporary HOME. +// a docker config write their own under a temporary HOME. HELM_DRIVER is +// cleared too: an exported sql driver turns off the stale-namespace probe's +// no-release signal, which the probe tests assert on. func TestMain(m *testing.M) { home, err := os.MkdirTemp("", "selfhosted-test-home-") if err != nil { panic(err) } _ = os.Setenv("HOME", home) + _ = os.Unsetenv("HELM_DRIVER") code := m.Run() _ = os.RemoveAll(home) os.Exit(code) diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 777621095d..1130e17205 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -750,9 +750,9 @@ func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { // fail at warning so they don't block the operator on optional registries. func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEntry) binaryCheckSpec { id := "registry-cred-" + entry.Registry - severity := "warning" + severity := SeverityWarning if entry.Critical { - severity = "error" + severity = SeverityError } return binaryCheckSpec{ ID: id, diff --git a/src/clis/nvcf-cli/internal/selfhosted/register.go b/src/clis/nvcf-cli/internal/selfhosted/register.go index 75908c93f4..ee8f1d3310 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/register.go +++ b/src/clis/nvcf-cli/internal/selfhosted/register.go @@ -315,6 +315,8 @@ func resolveClusterID(resp *client.RegisterClusterResponse) string { // avoid touching a real kubeconfig file. var loadKubeConfigFn = loadKubeConfig +// currentKubeContextNameFn is a seam: tests must not depend on the developer's +// kubeconfig, and hint output would otherwise vary by machine. var currentKubeContextNameFn = currentKubeContextName // currentKubeContextName returns the kubeconfig's current-context, or "" when @@ -344,8 +346,6 @@ func effectiveKubeContext(kctx string) string { // When kctx is empty the kubeconfig's current-context is used, preserving // single-cluster behavior. The loading-rules chain follows the same priority // as kubectl: KUBECONFIG env var → ~/.kube/config. -// currentKubeContextNameFn is a seam: tests must not depend on the developer's -// kubeconfig, and hint output would otherwise vary by machine. func loadKubeConfig(kctx string) (*rest.Config, error) { loadingRules := clientcmd.NewDefaultClientConfigLoadingRules() overrides := &clientcmd.ConfigOverrides{} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index d2b4b8aa67..d6ab34968c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -71,11 +71,8 @@ func TestProbeStaleNamespaces_TerminatingIsByPhase(t *testing.T) { func TestProbeStaleNamespaces_EmptyShellNoHelmSecrets(t *testing.T) { // Namespace exists and is Active but holds no Helm release secrets -> - // leftover empty shell from a partial helm uninstall. - // - // A second namespace carries a real release so the driver is known to keep - // its state in-cluster. Without that the signal is unusable and correctly - // suppressed, which is what HELM_DRIVER=sql looks like. + // leftover empty shell from a partial helm uninstall. The second namespace + // carries a release and is not reported. client := fake.NewSimpleClientset( &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, @@ -238,6 +235,7 @@ func TestStaleNamespaceCheck_CleanPasses(t *testing.T) { } r := staleNamespaceCheck(prober, "", []string{"nvcf", "sis"}).Run(context.Background()) assert.True(t, r.Passed) + assert.Equal(t, SeverityInfo, r.Severity, "a clean pass must not carry the error severity it starts with") } func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { From cca7029fae6d7ae755af3de5e3cec52dec722e0e Mon Sep 17 00:00:00 2001 From: rohithb Date: Thu, 1 Oct 2026 01:38:46 +0530 Subject: [PATCH 050/127] fix(nvcf-cli): pass the stack's NVCF Gateways and HA mode to the validator, and let it read probe pod events Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 12 +++++ .../self_hosted_check_validatorenv_test.go | 21 ++++++++ .../internal/selfhosted/clustervalidator.go | 4 ++ .../clustervalidator_lifecycle_test.go | 6 +++ .../internal/selfhosted/registry_cred.go | 49 +++++++++++++++++-- .../internal/selfhosted/registry_cred_test.go | 36 ++++++++++++++ 6 files changed, 124 insertions(+), 4 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 6280da3a51..ddb278be51 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -757,8 +757,20 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { if envoyNS != "" { env["NVCF_ENVOY_GATEWAY_NAMESPACE"] = envoyNS } + // The launcher knows the NVCF Gateways from the stack, so the validator + // need not rediscover them from route labels, and after install can fail + // a named Gateway that has no proxy. An explicit setting still wins. if names := configValue("NVCF_GATEWAY_NAMES"); names != "" { env["NVCF_GATEWAY_NAMES"] = names + } else if len(stack.Gateways) > 0 { + env["NVCF_GATEWAY_NAMES"] = strings.Join(stack.Gateways, ",") + } + // Below three replicas a quorum component is a lost quorum under an HA + // mode and the deployed shape under none; only the stack says which. + if mode := configValue("NVCF_HA_MODE"); mode != "" { + env["NVCF_HA_MODE"] = mode + } else if stack.HAMode != "" { + env["NVCF_HA_MODE"] = stack.HAMode } probe := strings.TrimSpace(viper.GetString("cluster_validator_probe_image")) if probe == "" { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index c955381400..1fcd945091 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -183,3 +183,24 @@ func TestCheck_RegistriesEnvVarIsSplitOnCommas(t *testing.T) { assert.Contains(t, regs, "harbor.example.com") assert.Contains(t, regs, "ghcr.io") } + +// The stack's Gateways and HA mode reach the Job; an explicit setting wins. +func TestClusterValidatorJobEnv_ForwardsStackGatewaysAndHAMode(t *testing.T) { + for _, k := range []string{"NVCF_GATEWAY_NAMES", "NVCF_HA_MODE"} { + t.Setenv(k, "") + } + stack := selfhosted.StackValues{HAMode: "none", Gateways: []string{"gw/grpc-gw", "gw/shared-gw"}} + env := clusterValidatorJobEnv(stack) + assert.Equal(t, "gw/grpc-gw,gw/shared-gw", env["NVCF_GATEWAY_NAMES"]) + assert.Equal(t, "none", env["NVCF_HA_MODE"]) + + t.Setenv("NVCF_GATEWAY_NAMES", "edge/nvcf-gw") + t.Setenv("NVCF_HA_MODE", "preferred") + env = clusterValidatorJobEnv(stack) + assert.Equal(t, "edge/nvcf-gw", env["NVCF_GATEWAY_NAMES"]) + assert.Equal(t, "preferred", env["NVCF_HA_MODE"]) + + t.Setenv("NVCF_HA_MODE", "") + env = clusterValidatorJobEnv(selfhosted.StackValues{}) + assert.NotContains(t, env, "NVCF_HA_MODE", "no stack, no mode: the validator records sub-quorum as not assessed") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 166d12701f..8efe995342 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -447,6 +447,10 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // Read + write: the overlay and enforcement probes create and delete // their own namespaces and pods. {APIGroups: []string{""}, Resources: []string{"namespaces", "pods"}, Verbs: []string{"get", "list", "create", "delete"}}, + // Events, list only: the overlay probe reads its pods' events to + // tell a slow first image pull, which publishes no pod IP until + // it returns, from a node that could not network the pod. + {APIGroups: []string{""}, Resources: []string{"events"}, Verbs: []string{"list"}}, {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"csidrivers", "storageclasses"}, Verbs: []string{"get", "list"}}, // NetworkPolicies: read for CNI detection; write for enforcement // check which creates/updates/deletes policies in the temp namespace. diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index f78e655bbb..49942f18ec 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -442,6 +442,7 @@ func TestEnsureClusterValidatorRBAC_LeastPrivilege(t *testing.T) { cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorRBACName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) require.NoError(t, err) + sawEvents := false for _, r := range cr.Rules { for _, v := range r.Verbs { assert.NotEqual(t, "watch", v, "no rule needs watch") @@ -451,8 +452,13 @@ func TestEnsureClusterValidatorRBAC_LeastPrivilege(t *testing.T) { if res == "services" { assert.ElementsMatch(t, []string{"get", "list"}, r.Verbs, "services are only read") } + if res == "events" { + assert.Equal(t, []string{"list"}, r.Verbs, "the probe only lists its pods' events") + sawEvents = true + } } } + assert.True(t, sawEvents, "the overlay probe needs to list events") } // Only the control-plane Job reads a network-check ConfigMap. The compute-plane diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index a0bee9386d..ec8c69b90a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -23,6 +23,7 @@ import ( "net" "net/http" "os" + "sort" "strconv" "strings" "time" @@ -298,6 +299,12 @@ type StackValues struct { ACMESolverRepository string // EnvoyGatewayNamespace is ingress.gatewayApi.controllerNamespace. EnvoyGatewayNamespace string + // HAMode is highAvailability.mode, defaulting to "none" as the stack's + // own template does when the key is unset. Empty when no file was read. + HAMode string + // Gateways are the NVCF Gateways the stack names under + // ingress.gatewayApi.gateways, as sorted, distinct namespace/name entries. + Gateways []string } // LoadStackValues reads files in order and layers each over the previous, @@ -318,12 +325,42 @@ func LoadStackValues(files []string) StackValues { found = true mergeValues(merged, doc) } - return StackValues{ + values := StackValues{ Found: found, ImageRegistry: digString(merged, "global", "image", "registry"), ACMESolverRepository: digString(merged, "certManager", "acmesolver", "image", "repository"), EnvoyGatewayNamespace: digString(merged, "ingress", "gatewayApi", "controllerNamespace"), + Gateways: stackGateways(merged), } + if found { + values.HAMode = digString(merged, "highAvailability", "mode") + if values.HAMode == "" { + values.HAMode = "none" + } + } + return values +} + +// stackGateways returns the Gateways named under ingress.gatewayApi.gateways +// that have both a name and a namespace, as sorted, distinct namespace/name +// entries. An entry the environment left empty is one it does not use. +func stackGateways(merged map[string]any) []string { + gateways, _ := digAny(merged, "ingress", "gatewayApi", "gateways").(map[string]any) + seen := map[string]bool{} + var out []string + for key := range gateways { + name := digString(gateways, key, "name") + ns := digString(gateways, key, "namespace") + if name == "" || ns == "" || strings.Contains(name, "/") || strings.Contains(ns, "/") { + continue + } + if entry := ns + "/" + name; !seen[entry] { + seen[entry] = true + out = append(out, entry) + } + } + sort.Strings(out) + return out } // mergeValues deep-merges src into dst: maps merge key by key, anything else @@ -341,16 +378,20 @@ func mergeValues(dst, src map[string]any) { } func digString(m map[string]any, keys ...string) string { + s, _ := digAny(m, keys...).(string) + return strings.TrimSpace(s) +} + +func digAny(m map[string]any, keys ...string) any { var cur any = m for _, k := range keys { mm, ok := cur.(map[string]any) if !ok { - return "" + return nil } cur = mm[k] } - s, _ := cur.(string) - return strings.TrimSpace(s) + return cur } // EnumerateRegistries builds the deduplicated list of registries to credential- diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 162b08a2ee..33f6777900 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -572,3 +572,39 @@ func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { assert.NotContains(t, r.Message, "credentials valid") assert.Contains(t, r.Message, "not verified") } + +// The launcher reads the stack's HA mode and NVCF Gateways, so the validator +// is told rather than left to guess. An unset mode is "none", as the stack's +// own template reads it, and a Gateway entry left empty is not in use. +func TestLoadStackValues_HAModeAndGateways(t *testing.T) { + dir := t.TempDir() + base, env := dir+"/base.yaml", dir+"/prod.yaml" + require.NoError(t, writeFile(base, []byte(` +ingress: + gatewayApi: + gateways: + shared: {name: "", namespace: ""} + grpc: {name: "", namespace: ""} + llmGrpc: {name: "", namespace: ""} +`))) + require.NoError(t, writeFile(env, []byte(` +highAvailability: + mode: enforced +ingress: + gatewayApi: + gateways: + shared: {name: shared-gw, namespace: envoy-gateway-system} + grpc: {name: grpc-gw, namespace: envoy-gateway-system} + nats: {name: shared-gw, namespace: envoy-gateway-system} +`))) + got := LoadStackValues([]string{base, env}) + assert.Equal(t, "enforced", got.HAMode) + assert.Equal(t, []string{"envoy-gateway-system/grpc-gw", "envoy-gateway-system/shared-gw"}, got.Gateways, + "sorted, distinct, and without the unused llmGrpc entry") + + got = LoadStackValues([]string{base}) + assert.Equal(t, "none", got.HAMode, "unset reads as none, as the stack template does") + assert.Empty(t, got.Gateways) + + assert.Empty(t, LoadStackValues(nil).HAMode, "no stack read means no mode to report") +} From 698d4bf01277c1bf9b7d4909ff2bfe40d794d88f Mon Sep 17 00:00:00 2001 From: rohithb Date: Thu, 1 Oct 2026 02:57:39 +0530 Subject: [PATCH 051/127] fix(nvcf-cli): grade a spent check budget as a timeout, stop the validator before revoking its RBAC, retry transient Job reads and pulls, and poll --wait through rollouts Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/BUILD.bazel | 1 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 73 ++++- .../cmd/self_hosted_check_scope_test.go | 120 ++++++++ .../nvcf-cli/cmd/self_hosted_check_test.go | 2 +- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 173 +++++++++--- .../clustervalidator_lifecycle_test.go | 263 +++++++++++++++++- .../selfhosted/clustervalidator_test.go | 22 +- .../nvcf-cli/internal/selfhosted/main_test.go | 6 + .../internal/selfhosted/miniapiserver_test.go | 211 ++++++++++++++ .../nvcf-cli/internal/selfhosted/preflight.go | 133 ++++++++- .../internal/selfhosted/preflight_test.go | 32 +++ .../selfhosted/progress/render_tty.go | 11 + .../selfhosted/progress/render_tty_test.go | 15 + .../internal/selfhosted/progress/select.go | 5 + 15 files changed, 998 insertions(+), 70 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go diff --git a/src/clis/nvcf-cli/cmd/BUILD.bazel b/src/clis/nvcf-cli/cmd/BUILD.bazel index fffbab7f87..a53af5ab63 100644 --- a/src/clis/nvcf-cli/cmd/BUILD.bazel +++ b/src/clis/nvcf-cli/cmd/BUILD.bazel @@ -150,6 +150,7 @@ go_test( "//src/clis/nvcf-cli/internal/selfhosted/teardown", "//src/clis/nvcf-cli/internal/state", "//src/clis/nvcf-cli/internal/trustbundle", + "@com_github_masterminds_semver_v3//:semver", "@com_github_spf13_cobra//:cobra", "@com_github_spf13_pflag//:pflag", "@com_github_spf13_viper//:viper", diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index ddb278be51..92ba8e5917 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -141,6 +141,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if !checkPre && !checkControlPlane && !checkComputePlane && !checkAll { return fmt.Errorf("at least one of --pre, --control-plane, --compute-plane, or --all is required") } + if checkClusterValidatorNoCleanup && selfHostedWait != "" { + // Each poll is a new validator run, so --no-cleanup would keep a full + // set of RBAC, Secret, ConfigMap and Job for every poll. + return fmt.Errorf("--no-cleanup keeps one run's objects for debugging and cannot be combined with --wait") + } localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" skipClusterValidation := checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" @@ -204,7 +209,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // interrupted is an explicit cancel, not the timeout below, which is a // child of sigCtx and leaves it live. interrupted := func() bool { return sigCtx.Err() != nil } - ctx, cancel := context.WithTimeout(sigCtx, outerTimeout) + ctx, cancel := context.WithTimeout(sigCtx, checkBudget(outerTimeout)) defer cancel() // Legacy --output=json: warn and treat as --json. @@ -254,12 +259,13 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { cfg := selfhosted.PreflightConfig{ LocalOnly: localOnly, - Tools: selfHostedPreflightTools(), + Tools: checkPreflightTools(), Registries: credEntries, RegistryChecker: registryChecker, } - sink, err := selectCheckRenderer(c.ErrOrStderr(), selfHostedWait != "") + // A quit key in the dashboard cancels the run the way a signal does. + sink, err := selectCheckRenderer(c.ErrOrStderr(), selfHostedWait != "", stop) if err != nil { return err } @@ -295,12 +301,24 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { return results } + // The outer budget ran out during a run: the checks it did not reach are + // already error rows, so the verdict is a timeout rather than whatever + // the partial set would grade as. + exitBudgetSpent := func() error { + emitCheckFinal(context.Background(), sink, lastResults) + maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) + return &ExitCodeError{Code: 5, Msg: "timed out: the check budget ran out before every check ran"} + } + if selfHostedWait == "" { // Single-shot mode. lastResults = runOnce() if interrupted() { return exitInterrupted() } + if ctx.Err() != nil { + return exitBudgetSpent() + } emitCheckFinal(ctx, sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) if anyFailed(lastResults) { @@ -319,29 +337,45 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { ticker := time.NewTicker(5 * time.Second) defer ticker.Stop() + waitTimeout := func() error { + emitCheckFinal(context.Background(), sink, lastResults) + maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) + return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} + } for { lastResults = runOnce() if interrupted() { return exitInterrupted() } - if !anyFailed(lastResults) { + // An iteration that overran the budget ran on a dead context, and its + // results are incomplete: never a pass. + if ctx.Err() != nil { + return exitBudgetSpent() + } + if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults) { emitCheckFinal(ctx, sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) return nil } + // The deadline is checked first: with several cases ready, select + // picks at random, and the ticker then re-ran the checks on a spent + // budget. select { case <-deadline: - emitCheckFinal(ctx, sink, lastResults) - maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} + return waitTimeout() + default: + } + select { + case <-deadline: + return waitTimeout() case <-ticker.C: // continue polling case <-ctx.Done(): if interrupted() { return exitInterrupted() } - return ctx.Err() + return waitTimeout() } } } @@ -518,7 +552,7 @@ func maybeShowClusterValidatorLogs(w io.Writer, results []selfhosted.CheckResult } } -func selectCheckRenderer(w io.Writer, wait bool) (progress.EventSink, error) { +func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { if !wait && !selfHostedJSON && !selfHostedPlain && !selfHostedAccessible && checkWriterIsTTY(w) { return progress.NewCheckOneShotRenderer(w, progress.ModelOpts{ Mode: progress.ModeCheck, @@ -526,6 +560,7 @@ func selectCheckRenderer(w io.Writer, wait bool) (progress.EventSink, error) { Cluster: checkClusterName, ControlPlaneContext: selfHostedControlPlaneContext, ComputePlaneContext: selfHostedComputePlaneContext, + OnQuit: onQuit, }), nil } @@ -537,6 +572,7 @@ func selectCheckRenderer(w io.Writer, wait bool) (progress.EventSink, error) { Cluster: checkClusterName, ControlPlaneContext: selfHostedControlPlaneContext, ComputePlaneContext: selfHostedComputePlaneContext, + OnQuit: onQuit, }) return sink, err } @@ -853,6 +889,25 @@ func isBlockingFailure(r selfhosted.CheckResult) bool { // not trigger non-zero exit per spec §6.3. // isBlockingFailure is the single definition of "this fails the run". Both the // exit code and the JSON verdict derive from it, so they cannot disagree. +// checkPreflightTools is a test seam over the local tool checks, so command +// tests do not depend on what is installed on the machine running them. +var checkPreflightTools = selfHostedPreflightTools + +// checkBudget is a test seam over the command's outer time budget. +var checkBudget = func(d time.Duration) time.Duration { return d } + +// anyWarningToWaitOn reports a warning expected to clear by itself, such as a +// rollout the validator saw in progress. --wait keeps polling on it; a single +// run still exits 0. +func anyWarningToWaitOn(results []selfhosted.CheckResult) bool { + for _, r := range results { + if r.Transient && !r.Passed { + return true + } + } + return false +} + func anyFailed(results []selfhosted.CheckResult) bool { for _, r := range results { if isBlockingFailure(r) { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index a26741fd0d..255e80545f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -25,7 +25,9 @@ import ( "sync" "sync/atomic" "testing" + "time" + "github.com/Masterminds/semver/v3" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -132,3 +134,121 @@ func TestCheck_InterruptExits130(t *testing.T) { assert.Regexp(t, `"event":"final".*"cancelled":true`, stderr.String(), "the JSON stream still ends with a final event, marked cancelled") } + +// runCheckWithBudget runs check --control-plane --json with the outer budget +// shortened to budget and a validator stub that holds its role until the +// context ends, or returns result at once. +func runCheckWithBudget(t *testing.T, budget time.Duration, validator func(context.Context) selfhosted.ClusterValidatorResult, + args ...string) (error, string) { + t.Helper() + resetCheckFlags(t) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + prevBudget, prevCV, prevTools := checkBudget, newClusterValidatorForSelfHosted, checkPreflightTools + checkBudget = func(time.Duration) time.Duration { return budget } + checkPreflightTools = passingPreflightTools + t.Cleanup(func() { checkPreflightTools = prevTools }) + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(ctx context.Context, _ selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + return validator(ctx) + } + } + t.Cleanup(func() { checkBudget, newClusterValidatorForSelfHosted = prevBudget, prevCV }) + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) + rootCmd.SetArgs(append([]string{"self-hosted", "check", "--control-plane", "--json", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}, args...)) + return rootCmd.Execute(), stderr.String() +} + +func holdUntilDone(ctx context.Context) selfhosted.ClusterValidatorResult { + <-ctx.Done() + return selfhosted.ClusterValidatorResult{Err: ctx.Err()} +} + +// A run that outlives its budget is a timeout, never a pass: exit 5 with a +// final event that says it failed, not success on whatever had run. +func TestCheck_BudgetSpentIsATimeout(t *testing.T) { + for _, args := range [][]string{nil, {"--wait", "1m"}} { + err, stderr := runCheckWithBudget(t, 300*time.Millisecond, holdUntilDone, args...) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr, "args %v", args) + assert.Equal(t, 5, exitErr.Code, "args %v", args) + assert.Regexp(t, `"event":"final".*"success":false`, stderr, "args %v", args) + } +} + +// --wait keeps polling while the validator reports a rollout in progress, +// instead of stopping on the first run that exits 0. +func TestCheck_WaitPollsOnARolloutInProgress(t *testing.T) { + calls := 0 + err, _ := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + calls++ + logs := "Validator role: control-plane\nCluster is NVCF-Ready\n" + if calls == 1 { + logs = "Validator role: control-plane\nnvcf/api: rollout in progress (updated: 2/3)\n" + + "Cluster is NVCF-Ready (with warnings)\n" + } + return selfhosted.ClusterValidatorResult{Passed: true, Logs: logs} + }, "--wait", "30s") + require.NoError(t, err) + assert.Equal(t, 2, calls, "the second run, after the rollout, ends the wait") +} + +// Results from an iteration that ran on a dead context are not a verdict, even +// when every row that did run passed; and a budget that runs out while --wait +// sleeps between polls is a timeout too. +func TestCheck_BudgetSpentIsATimeoutEvenWhenRowsPassed(t *testing.T) { + passOnDeadCtx := func(ctx context.Context) selfhosted.ClusterValidatorResult { + <-ctx.Done() + return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + } + failFast := func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: control-plane\n"} + } + for name, tc := range map[string]struct { + budget time.Duration + v func(context.Context) selfhosted.ClusterValidatorResult + args []string + }{ + "passed on a dead context": {300 * time.Millisecond, passOnDeadCtx, []string{"--wait", "1m"}}, + "budget ends between polls": {3 * time.Second, failFast, []string{"--wait", "1m"}}, + "single run, dead-context pass": {300 * time.Millisecond, passOnDeadCtx, nil}, + } { + err, stderr := runCheckWithBudget(t, tc.budget, tc.v, tc.args...) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr, name) + assert.Equal(t, 5, exitErr.Code, name) + assert.Contains(t, stderr, `"event":"final"`, name) + } +} + +// Each --wait poll is a new validator run, so --no-cleanup would keep a full +// set of cluster-wide RBAC, Secret, ConfigMap and Job per poll. +func TestCheck_WaitWithNoCleanupIsRejected(t *testing.T) { + resetCheckFlags(t) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--wait", "1m", "--no-cleanup"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "cannot be combined with --wait") +} + +// passingPreflightTools is the real tool set with every tool found at its +// minimum version. +func passingPreflightTools() []selfhosted.BinarySpec { + specs := selfHostedPreflightTools() + for i := range specs { + v := specs[i].MinVer + if v == nil { + v = semver.MustParse("1.0.0") + } + name := specs[i].Name + specs[i].LookPath = func(string) (string, error) { return "/usr/local/bin/" + name, nil } + specs[i].Version = func(context.Context, string) (*semver.Version, error) { return v, nil } + } + return specs +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 31f6a105e1..579d788a25 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -140,7 +140,7 @@ func TestCheck_OneShotTTYUsesStaticRenderer(t *testing.T) { checkWriterIsTTY = func(io.Writer) bool { return true } var stderr bytes.Buffer - sink, err := selectCheckRenderer(&stderr, false) + sink, err := selectCheckRenderer(&stderr, false, nil) require.NoError(t, err) require.IsType(t, &progress.CheckOneShotRenderer{}, sink) diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index ee3d8832ae..9fb1539132 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -65,6 +65,7 @@ go_test( "credhelper_test.go", "inotify_probe_test.go", "main_test.go", + "miniapiserver_test.go", "orchestrator_errors_test.go", "output_test.go", "preflight_test.go", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 8efe995342..d94c187da9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -130,6 +130,10 @@ type ClusterValidatorResult struct { // RunID labels every object the run created (clusterValidatorRunLabel). RunID string Err error + // LeftBehind reports that this run's RBAC and other objects were kept + // because its pod could still be running, so the caller can print the + // command that removes them rather than leave them for the orphan sweep. + LeftBehind bool } type ClusterValidator func(ctx context.Context, params ClusterValidatorParams) ClusterValidatorResult @@ -180,9 +184,9 @@ func runClusterValidator( return ClusterValidatorResult{Err: err} } - // Reclaim leftovers from dead runs before resolving this run's pull secret, - // not after: the sweep matches on the shared name prefix, so running it - // later can delete the Secret this run just selected. + // Reclaim leftovers from dead runs before resolving this run's pull + // secret. The sweep only takes objects older than its TTL, so it cannot + // reach anything this run is about to create. sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) // Resolver errors are non-fatal: fall through to the caller's value and @@ -260,6 +264,10 @@ func runClusterValidator( vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, env), metav1.CreateOptions{}, ) if err != nil { + // A create cut off by an interrupt or a dropped connection may still + // have been applied, and a Job left behind would run with its RBAC + // swept. The name is this run's own, so removing it is safe. + podMayBeRunning = !stopValidatorJob(client, jobName) return ClusterValidatorResult{RunID: runID, Err: fmt.Errorf("creating validator Job: %w", err)} } podMayBeRunning = true @@ -271,6 +279,9 @@ func runClusterValidator( // deliberately not owned: the ClusterRole and binding are cluster-scoped // and cannot be, and deleting the account alone would leave a binding // that anyone able to recreate that ServiceAccount name could inherit. + // Not under --no-cleanup: a kept Secret or ConfigMap owned by the kept Job + // would be garbage-collected the moment an operator re-runs that Job by + // deleting and recreating it. var owned []ownedArtifact if pullSecret == validatorPullSecretRunName(role, runID) { owned = append(owned, ownedArtifact{kind: "Secret", name: pullSecret}) @@ -278,12 +289,15 @@ func runClusterValidator( if role == clusterValidatorControlPlaneRole && configNote == "" { owned = append(owned, ownedArtifact{kind: "ConfigMap", name: clusterValidatorConfigRunName(runID)}) } - ownByJob(vctx, client, job, owned) + if !noCleanup { + ownByJob(vctx, client, job, owned) + } final, waitErr := waitForClusterValidatorJob(vctx, client, jobName) // A clean wait means the pod reached a terminal state, so the RBAC can go. - // A timeout leaves it running: pulling the RBAC then fills the surviving - // transcript with "forbidden" and masks the real cause. + // Otherwise the pod may still be running: pulling the RBAC then fills its + // transcript with "forbidden", and cuts off the validator's own cleanup + // of its probe resources. podMayBeRunning = waitErr != nil // Fetch logs under a fresh ctx from the parent: vctx is expired on the @@ -301,28 +315,43 @@ func runClusterValidator( // pod stops retrying, and let the deferred sweeps run now rather than // leaving a cluster-wide ClusterRole and an NGC-key Secret for a later // run's orphan sweep, or for nobody. + // Each stop deletes the Job in the foreground and waits, bounded, for its + // pod to end before the deferred sweeps revoke its RBAC. The validator + // removes its own probe namespace and DaemonSet on SIGTERM, and needs + // that RBAC to do it. var pullErr *validatorImagePullError - if errors.As(waitErr, &pullErr) && !noCleanup { - deleteValidatorJob(context.Background(), client, jobName) - podMayBeRunning = false - } - // An interrupt (Ctrl-C, SIGTERM) cancels the caller's context. The - // operator has abandoned the run, so stop the pod and reclaim everything - // now rather than leave cluster-wide RBAC for a later orphan sweep. A - // timeout is different: it leaves ctx itself live, and a pod that may - // still be running keeps its RBAC. - if errors.Is(ctx.Err(), context.Canceled) && !noCleanup { - deleteValidatorJob(context.Background(), client, jobName) - podMayBeRunning = false + interrupted := errors.Is(ctx.Err(), context.Canceled) + stopped := false + switch { + case errors.As(waitErr, &pullErr) && noCleanup: + // Kept for debugging, but a pod that cannot pull has nothing to + // run: suspend the Job so the pod stops retrying forever. + suspendValidatorJob(client, jobName) + case (errors.As(waitErr, &pullErr) || interrupted) && !noCleanup: + // A pull failure never started the container, and an interrupt means + // the operator abandoned the run: stop the Job and reclaim everything + // now rather than leave cluster-wide RBAC for a later orphan sweep. + podMayBeRunning = !stopValidatorJob(client, jobName) + stopped = true + case waitErr != nil && !noCleanup: + // A plain timeout: the Job's active deadline ends the pod shortly + // after this wait gave up. Wait for that, then sweep, as on success. + podMayBeRunning = !waitValidatorPodsDone(client, jobName, validatorDeadlineGrace) } if waitErr != nil { - return ClusterValidatorResult{ - JobName: jobName, - RunID: runID, - Logs: cleaned, - Err: waitErr, + res := ClusterValidatorResult{ + JobName: jobName, + RunID: runID, + Logs: cleaned, + Err: waitErr, + LeftBehind: podMayBeRunning && !noCleanup, + } + if stopped { + // The Job is gone, so a hint to read its logs would 404. + res.JobName = "" } + return res } // Separate short ctx so a slow log fetch can't burn the exit-code lookup's @@ -400,12 +429,75 @@ func deleteValidatorJob(ctx context.Context, client kubernetes.Interface, name s if err != nil || !hasValidatorManagedLabels(job.Labels) { return } - propagation := metav1.DeletePropagationBackground + // Foreground: the Job is removed only after its pod, so the pod gets its + // SIGTERM and grace period while its RBAC still exists. + propagation := metav1.DeletePropagationForeground opts := deleteExactly(job) opts.PropagationPolicy = &propagation _ = jobs.Delete(dctx, name, opts) } +// Vars (not consts) so tests can shorten them. +var ( + // validatorStopTimeout bounds the wait for a stopped Job's pod to end. + // It covers the pod's default 30s termination grace period. + validatorStopTimeout = 45 * time.Second + // validatorDeadlineGrace bounds the wait, after this run's own timeout, + // for the Job's active deadline (60s later) to end the pod. + validatorDeadlineGrace = 120 * time.Second + // validatorPullFailureGrace is how long a pull failure must persist before + // it is final. The kubelet retries after 10s and then 20s, so a transient + // registry error clears inside it. + validatorPullFailureGrace = 30 * time.Second + // validatorGetErrorLimit is how many consecutive failed Job reads end the + // wait. One 5xx or a refused connection during an apiserver restart is + // not the Job's result. + validatorGetErrorLimit = 5 +) + +// stopValidatorJob deletes the Job and reports whether its pods ended within +// validatorStopTimeout. +func stopValidatorJob(client kubernetes.Interface, name string) bool { + deleteValidatorJob(context.Background(), client, name) + return waitValidatorPodsDone(client, name, validatorStopTimeout) +} + +// suspendValidatorJob stops a kept Job from creating or retrying its pod. +func suspendValidatorJob(client kubernetes.Interface, name string) { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + _, _ = client.BatchV1().Jobs(clusterValidatorNamespace).Patch(ctx, name, types.MergePatchType, + []byte(`{"spec":{"suspend":true}}`), metav1.PatchOptions{}) +} + +// waitValidatorPodsDone waits up to limit, on a fresh context, until no pod of +// the Job is still running, and reports whether that happened. +func waitValidatorPodsDone(client kubernetes.Interface, jobName string, limit time.Duration) bool { + ctx, cancel := context.WithTimeout(context.Background(), limit) + defer cancel() + for { + pods, err := client.CoreV1().Pods(clusterValidatorNamespace).List(ctx, + metav1.ListOptions{LabelSelector: "job-name=" + jobName}) + if err == nil && allPodsDone(pods.Items) { + return true + } + select { + case <-ctx.Done(): + return false + case <-time.After(time.Second): + } + } +} + +func allPodsDone(pods []corev1.Pod) bool { + for i := range pods { + if p := pods[i].Status.Phase; p != corev1.PodSucceeded && p != corev1.PodFailed { + return false + } + } + return true +} + // validatorImagePullError reports that the validator pod could not pull its // image, so its container never started. type validatorImagePullError struct{ reason, message string } @@ -1005,21 +1097,40 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle func waitForClusterValidatorJob(ctx context.Context, client kubernetes.Interface, jobName string) (*batchv1.Job, error) { ticker := time.NewTicker(clusterValidatorPollInterval) defer ticker.Stop() + getErrors := 0 + var pullFailingSince time.Time for { job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, jobName, metav1.GetOptions{}) - if err != nil { + switch { + case err != nil: // If the deadline fired between ticker and Get, surface the wait // wording the select branch would have used. if ctxErr := ctx.Err(); ctxErr != nil { return nil, fmt.Errorf("waiting for job %s: %w", jobName, ctxErr) } - return nil, fmt.Errorf("get job %s: %w", jobName, err) - } - if job.Status.Succeeded > 0 || job.Status.Failed > 0 { + // A missing Job or a permission error cannot change; anything else + // is retried a few times before it decides the run. + getErrors++ + if apierrors.IsNotFound(err) || apierrors.IsForbidden(err) || apierrors.IsUnauthorized(err) || + getErrors >= validatorGetErrorLimit { + return nil, fmt.Errorf("get job %s: %w", jobName, err) + } + case job.Status.Succeeded > 0 || job.Status.Failed > 0: return job, nil - } - if reason, msg := podPullFailureReason(ctx, client, jobName); reason != "" { - return job, &validatorImagePullError{reason: reason, message: msg} + default: + getErrors = 0 + reason, msg := podPullFailureReason(ctx, client, jobName) + switch { + case reason == "": + pullFailingSince = time.Time{} + case reason == "InvalidImageName": + // A malformed reference never pulls. + return job, &validatorImagePullError{reason: reason, message: msg} + case pullFailingSince.IsZero(): + pullFailingSince = time.Now() + case time.Since(pullFailingSince) >= validatorPullFailureGrace: + return job, &validatorImagePullError{reason: reason, message: msg} + } } select { case <-ctx.Done(): diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 49942f18ec..8ee90438f9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -19,6 +19,8 @@ package selfhosted import ( "context" + "errors" + "fmt" "io" "net/http" "net/http/httptest" @@ -101,6 +103,19 @@ func lifecycleClient(jobStatus func(name string) *batchv1.Job, waiting string) * return true, job, nil }) client.PrependReactor("list", "pods", podListReactor(waiting)) + // Deleting the Job takes its pod with it, as the garbage collector would; + // the fake clientset has none. + var jobDeleted atomic.Bool + client.PrependReactor("delete", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + jobDeleted.Store(true) + return false, nil, nil + }) + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + if jobDeleted.Load() { + return true, &corev1.PodList{}, nil + } + return false, nil, nil + }) client.PrependReactor("get", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { if action.GetSubresource() != "" { return false, nil, nil @@ -192,14 +207,18 @@ func TestRunClusterValidator_PullFailureLeavesNothingBehind(t *testing.T) { "", false, clusterValidatorControlPlaneRole, nil, nil) require.Error(t, res.Err) assert.Empty(t, leftovers(t, client, res.RunID)) - deleted := false + created, deleted := "", "" for _, a := range client.Actions() { - if a.GetVerb() == "delete" && a.GetResource().Resource == "jobs" && - a.(ktesting.DeleteAction).GetName() == res.JobName { - deleted = true + switch { + case a.GetVerb() == "create" && a.GetResource().Resource == "jobs": + created = a.(ktesting.CreateAction).GetObject().(*batchv1.Job).Name + case a.GetVerb() == "delete" && a.GetResource().Resource == "jobs": + deleted = a.(ktesting.DeleteAction).GetName() } } - assert.True(t, deleted, "the Job must be deleted so its pod stops retrying the pull") + require.NotEmpty(t, created) + assert.Equal(t, created, deleted, "the Job must be deleted so its pod stops retrying the pull") + assert.Empty(t, res.JobName, "no hint may point at the Job that was just deleted") } // While the pod may still be running its RBAC must stay, but the Job owns the @@ -213,6 +232,7 @@ func TestRunClusterValidator_RunningPodKeepsRBACAndJobOwnsArtifacts(t *testing.T res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", "", false, clusterValidatorControlPlaneRole, nil, nil) require.Error(t, res.Err) + assert.True(t, res.LeftBehind, "the caller prints the command that removes what was kept") left := leftovers(t, client, res.RunID) assert.Len(t, left["ServiceAccount"], 1, "a running pod must keep its RBAC") require.Len(t, left["Secret"], 1) @@ -393,10 +413,25 @@ func TestClusterValidatorCheck_PreRoleImageIsAWarning(t *testing.T) { return clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, nil, nil).Run(context.Background()) } - old := run("Starting NVCF cluster validation\n=== GPU Resources ===\nno GPUs found\n", false) + legacy := func(summaryRows ...string) string { + return "Starting NVCF cluster validation\n=== GPU Resources ===\nno GPUs found\n" + + "=== Validation Summary ===\nCheck Results:\n" + strings.Join(summaryRows, "\n") + + "\nCluster is NVCF-Not-Ready\n" + } + old := run(legacy("\u2713 Control Plane: Healthy", "\u2717 GPU Resources: Not Available"), false) assert.Equal(t, SeverityWarning, old.Severity) assert.Contains(t, old.Message, "does not support the control-plane checks") + // The old image's checks common to both roles still see real failures, + // and those must not be downgraded with the GPU row. + readyz := run(legacy("\u2717 Control Plane: Unhealthy", "\u2717 GPU Resources: Not Available"), false) + assert.Equal(t, SeverityError, readyz.Severity) + assert.Contains(t, readyz.Message, "Control Plane: Unhealthy") + assert.NotContains(t, readyz.Message, "GPU Resources") + + noSummary := run("Starting NVCF cluster validation\n=== GPU Resources ===\nno GPUs found\n", false) + assert.Equal(t, SeverityError, noSummary.Severity, "without its summary nothing shows the rest passed") + // A role-aware image that fails before printing its role line prints no // GPU section either, so its failure must stand. early := run("level=fatal msg=\"Failed to create Kubernetes client\"\n", false) @@ -536,3 +571,219 @@ func TestRunClusterValidator_CleanupIsBoundedWhenTheAPIServerHangs(t *testing.T) t.Fatal("the deferred cleanup did not return against a hung apiserver") } } + +// A Job that succeeds with the validator's own warnings is not a clean pass. A +// rollout in progress is marked transient, so --wait keeps polling on it; any +// other warning is not, so --wait does not poll forever on it. +func TestClusterValidatorCheck_PassWithWarnings(t *testing.T) { + run := func(logs string) CheckResult { + cv := func(context.Context, ClusterValidatorParams) ClusterValidatorResult { + return ClusterValidatorResult{Passed: true, Logs: logs} + } + return clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, nil, nil).Run(context.Background()) + } + base := "Validator role: control-plane\n" + + rolling := run(base + "Tier-2 StatefulSets: nats-system/nats: rolling update in progress (ready: 2/3)\n" + + "Cluster is NVCF-Ready (with warnings)\n") + assert.False(t, rolling.Passed) + assert.Equal(t, SeverityWarning, rolling.Severity) + assert.True(t, rolling.Transient) + + other := run(base + "Node-to-Node: not applicable (one Ready, schedulable node)\nCluster is NVCF-Ready (with warnings)\n") + assert.Equal(t, SeverityWarning, other.Severity) + assert.False(t, other.Transient, "a permanent warning must not keep --wait polling") + + clean := run(base + "Cluster is NVCF-Ready\n") + assert.True(t, clean.Passed) + assert.Equal(t, SeverityInfo, clean.Severity) +} + +// jobDeletes returns the DeleteOptions of every Job delete the client saw. +func jobDeletes(client *fake.Clientset) []metav1.DeleteOptions { + var out []metav1.DeleteOptions + for _, a := range client.Actions() { + if d, ok := a.(ktesting.DeleteActionImpl); ok && d.GetResource().Resource == "jobs" { + out = append(out, d.DeleteOptions) + } + } + return out +} + +// An interrupt stops the Job in the foreground, so its pod gets SIGTERM and +// its grace period while it still has the RBAC it needs to remove its own +// probe resources. Background propagation revoked that RBAC first. +func TestRunClusterValidator_InterruptStopsTheJobInTheForeground(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "") + ctx, cancel := context.WithCancel(context.Background()) + client.PrependReactor("create", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + cancel() + return false, nil, nil + }) + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + deletes := jobDeletes(client) + require.NotEmpty(t, deletes) + require.NotNil(t, deletes[0].PropagationPolicy) + assert.Equal(t, metav1.DeletePropagationForeground, *deletes[0].PropagationPolicy) + assert.Empty(t, leftovers(t, client, res.RunID), "the pod ended, so everything else goes") +} + +// If the stopped pod does not end within the bound, its RBAC stays rather than +// being pulled from under it, and the caller is told what was kept. +func TestRunClusterValidator_PodThatWillNotEndKeepsItsRBAC(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "") + client.PrependReactor("list", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + sel := action.(ktesting.ListAction).GetListRestrictions().Labels.String() + return true, &corev1.PodList{Items: []corev1.Pod{{ + ObjectMeta: metav1.ObjectMeta{Name: "stuck", Namespace: clusterValidatorNamespace, + Labels: map[string]string{"job-name": strings.TrimPrefix(sel, "job-name=")}}, + Status: corev1.PodStatus{Phase: corev1.PodRunning}, + }}}, nil + }) + ctx, cancel := context.WithCancel(context.Background()) + client.PrependReactor("create", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + cancel() + return false, nil, nil + }) + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + assert.True(t, res.LeftBehind) + assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1) +} + +// On a plain timeout the Job's own deadline ends the pod shortly after; once it +// has, the RBAC is swept as on success instead of waiting for a later sweep. +func TestRunClusterValidator_TimeoutSweepsOnceThePodEnds(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "") + var ended atomic.Bool + client.PrependReactor("list", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + if !ended.Load() { + return false, nil, nil + } + return true, &corev1.PodList{Items: []corev1.Pod{{Status: corev1.PodStatus{Phase: corev1.PodFailed}}}}, nil + }) + prev := clusterValidatorTimeout + clusterValidatorTimeout = 300 * time.Millisecond + t.Cleanup(func() { clusterValidatorTimeout = prev }) + go func() { + time.Sleep(time.Second) + ended.Store(true) + }() + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + assert.False(t, res.LeftBehind) + assert.Empty(t, leftovers(t, client, res.RunID)["ClusterRole"], "the deadline ended the pod, so its RBAC goes") +} + +// Under --no-cleanup the kept Secret and ConfigMap are not owned by the kept +// Job: re-running that Job by replacing it would garbage-collect them. A pull +// failure suspends the kept Job, so its pod stops retrying forever, and an +// interrupt keeps everything. +func TestRunClusterValidator_NoCleanupKeepsArtifactsUnowned(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(succeeded, "") + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorControlPlaneRole, nil, nil) + require.NoError(t, res.Err) + left := leftovers(t, client, res.RunID) + require.Len(t, left["Secret"], 1) + require.Len(t, left["ConfigMap"], 1) + sec, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), left["Secret"][0], metav1.GetOptions{}) + require.NoError(t, err) + assert.Empty(t, sec.OwnerReferences) + cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(context.Background(), left["ConfigMap"][0], metav1.GetOptions{}) + require.NoError(t, err) + assert.Empty(t, cm.OwnerReferences) + + pulling := lifecycleClient(running, "ImagePullBackOff") + res = runClusterValidator(context.Background(), pulling, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + assert.Empty(t, jobDeletes(pulling), "a kept Job is not deleted") + suspended := false + for _, a := range pulling.Actions() { + if p, ok := a.(ktesting.PatchAction); ok && p.GetResource().Resource == "jobs" && + strings.Contains(string(p.GetPatch()), `"suspend":true`) { + suspended = true + } + } + assert.True(t, suspended, "the kept Job must stop retrying the pull") + + interrupted := lifecycleClient(running, "") + ctx, cancel := context.WithCancel(context.Background()) + interrupted.PrependReactor("create", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + cancel() + return false, nil, nil + }) + res = runClusterValidator(ctx, interrupted, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + assert.Empty(t, jobDeletes(interrupted), "--no-cleanup keeps the Job even on an interrupt") +} + +// The operator's own pull Secret is never made a dependent of the Job: only +// the Secret this run minted is, so a Job TTL cannot garbage-collect theirs. +func TestRunClusterValidator_OperatorPullSecretIsNeverOwned(t *testing.T) { + client := lifecycleClient(succeeded, "") + _, err := client.CoreV1().Secrets(clusterValidatorNamespace).Create(context.Background(), &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{Name: "my-pull", Namespace: clusterValidatorNamespace}, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: []byte(`{"auths":{}}`)}, + }, metav1.CreateOptions{}) + require.NoError(t, err) + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "my-pull", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + sec, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), "my-pull", metav1.GetOptions{}) + require.NoError(t, err) + assert.Empty(t, sec.OwnerReferences) +} + +// One failed Job read is not the Job's result, and a first pull error is what +// a transient registry blip looks like: both are retried. A malformed image +// reference never pulls, so it ends the wait at once. +func TestWaitForClusterValidatorJob_TransientErrorsAreRetried(t *testing.T) { + client := lifecycleClient(succeeded, "") + calls := 0 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + calls++ + if calls <= 2 { + return true, nil, apierrors.NewInternalError(fmt.Errorf("etcd timeout")) + } + return false, nil, nil + }) + _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create(context.Background(), + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: "j", Namespace: clusterValidatorNamespace}}, metav1.CreateOptions{}) + require.NoError(t, err) + job, err := waitForClusterValidatorJob(context.Background(), client, "j") + require.NoError(t, err) + assert.Equal(t, int32(1), job.Status.Succeeded) + + prev := validatorPullFailureGrace + validatorPullFailureGrace = time.Hour + t.Cleanup(func() { validatorPullFailureGrace = prev }) + pulling := lifecycleClient(running, "ErrImagePull") + _, err = pulling.BatchV1().Jobs(clusterValidatorNamespace).Create(context.Background(), + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: "j", Namespace: clusterValidatorNamespace}}, metav1.CreateOptions{}) + require.NoError(t, err) + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + _, err = waitForClusterValidatorJob(ctx, pulling, "j") + var pullErr *validatorImagePullError + assert.False(t, errors.As(err, &pullErr), "a pull error inside the grace period is retried") + + invalid := lifecycleClient(running, "InvalidImageName") + _, err = invalid.BatchV1().Jobs(clusterValidatorNamespace).Create(context.Background(), + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: "j", Namespace: clusterValidatorNamespace}}, metav1.CreateOptions{}) + require.NoError(t, err) + _, err = waitForClusterValidatorJob(context.Background(), invalid, "j") + assert.True(t, errors.As(err, &pullErr), "a malformed reference never pulls") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index b6f15278d9..881c7f4634 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -189,21 +189,13 @@ func TestRunClusterValidator_HappyPath(t *testing.T) { assert.Equal(t, int32(0), res.ExitCode) assert.NotEmpty(t, res.JobName, "JobName must be populated so operators can read logs after the run") - // Sweep must run before create so the singleton invariant holds. The sweep - // lists rather than issuing a DeleteCollection, because the generated name - // has to be checked too and a collection selector cannot express that. - actions := client.Actions() - var sweepIdx, createIdx = -1, -1 - for i, a := range actions { - if a.GetVerb() == "list" && a.GetResource().Resource == "jobs" && sweepIdx == -1 { - sweepIdx = i - } - if a.GetVerb() == "create" && a.GetResource().Resource == "jobs" && createIdx == -1 { - createIdx = i - } + // No Job is deleted on a clean run: there is no sweep of earlier Jobs, + // which could only ever hit an overlapping run's live one. The orphan + // sweep lists Jobs but reclaims only preserved ones past their TTL. + for _, a := range client.Actions() { + assert.False(t, a.GetVerb() == "delete" && a.GetResource().Resource == "jobs", + "a clean run deletes no Job") } - require.NotEqual(t, -1, sweepIdx, "runClusterValidator must sweep prior Jobs before creating the new one") - assert.Less(t, sweepIdx, createIdx, "sweep must precede create in action sequence") } func TestRunClusterValidator_JobFailed(t *testing.T) { @@ -369,7 +361,7 @@ func TestRunClusterValidator_ImagePullBackOffShortCircuits(t *testing.T) { require.Error(t, res.Err, "ImagePullBackOff must short-circuit the wait with an error") assert.Contains(t, res.Err.Error(), "ImagePullBackOff") assert.Contains(t, res.Err.Error(), "cannot pull image") - assert.NotEmpty(t, res.JobName, "JobName must still be populated so the operator can describe the pod") + assert.Empty(t, res.JobName, "the Job is deleted on a pull failure, so no logs hint may name it") assert.Less(t, elapsed, clusterValidatorTimeout, "short-circuit must return well before the 5-minute timeout; otherwise the early-detect path is broken") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/main_test.go b/src/clis/nvcf-cli/internal/selfhosted/main_test.go index ae1b789353..0d9e6b6e57 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/main_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/main_test.go @@ -20,6 +20,7 @@ package selfhosted import ( "os" "testing" + "time" ) // TestMain points HOME at an empty directory so no test reads the developer's @@ -34,6 +35,11 @@ func TestMain(m *testing.M) { } _ = os.Setenv("HOME", home) _ = os.Unsetenv("HELM_DRIVER") + // The fake clientset has no controllers, so a pod never ends on its own: + // keep the waits for that short. Tests of the waits set their own. + validatorStopTimeout = 2 * time.Second + validatorDeadlineGrace = 2 * time.Second + validatorPullFailureGrace = 0 code := m.Run() _ = os.RemoveAll(home) os.Exit(code) diff --git a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go new file mode 100644 index 0000000000..eb0aed8141 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go @@ -0,0 +1,211 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "strings" + "sync" + "sync/atomic" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" +) + +// miniAPIServer is an in-memory apiserver over real HTTP, for what the fake +// clientset cannot show: request contexts and calls that hang. A request whose +// context is already cancelled never reaches it, which is the point. It +// stores what is created, lists it back, and records deletes. +type miniAPIServer struct { + t *testing.T + mu sync.Mutex + objects map[string]map[string]any // collection path -> name -> object + deletes []string // "/" + // hangDeletes holds every DELETE until the client gives up. + hangDeletes atomic.Bool + // jobCreated is closed on the first Job create. + jobCreated chan struct{} + onceJob sync.Once + // runningJob, when set, is the status every Job read returns. + runningJob bool +} + +func newMiniAPIServer(t *testing.T) (*miniAPIServer, kubernetes.Interface) { + t.Helper() + m := &miniAPIServer{t: t, objects: map[string]map[string]any{}, jobCreated: make(chan struct{}), runningJob: true} + srv := httptest.NewServer(http.HandlerFunc(m.serve)) + t.Cleanup(func() { + srv.CloseClientConnections() + srv.Close() + }) + client, err := kubernetes.NewForConfig(&rest.Config{ + Host: srv.URL, + ContentConfig: rest.ContentConfig{ContentType: "application/json"}, + }) + require.NoError(t, err) + return m, client +} + +func (m *miniAPIServer) deleted() []string { + m.mu.Lock() + defer m.mu.Unlock() + return append([]string(nil), m.deletes...) +} + +func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + path := strings.TrimSuffix(r.URL.Path, "/") + collection, name := path, "" + if i := strings.LastIndex(path, "/"); i > 0 && isNamedPath(path) { + collection, name = path[:i], path[i+1:] + } + m.mu.Lock() + defer m.mu.Unlock() + switch r.Method { + case http.MethodPost: + body, _ := io.ReadAll(r.Body) + var obj map[string]any + _ = json.Unmarshal(body, &obj) + meta, _ := obj["metadata"].(map[string]any) + n, _ := meta["name"].(string) + meta["uid"] = "uid-" + n + if m.objects[collection] == nil { + m.objects[collection] = map[string]any{} + } + m.objects[collection][n] = obj + if strings.HasSuffix(collection, "/jobs") { + m.onceJob.Do(func() { close(m.jobCreated) }) + } + w.WriteHeader(http.StatusCreated) + _ = json.NewEncoder(w).Encode(obj) + case http.MethodGet: + if name == "" { + items := []any{} + for _, o := range m.objects[collection] { + items = append(items, o) + } + _ = json.NewEncoder(w).Encode(map[string]any{"apiVersion": "v1", "kind": "List", "items": items}) + return + } + obj, ok := m.objects[collection][name] + if !ok { + notFound(w) + return + } + _ = json.NewEncoder(w).Encode(obj) + case http.MethodDelete: + if m.hangDeletes.Load() { + // The server notices a closed connection only once the body has + // been read, so read it before waiting on the request context. + _, _ = io.Copy(io.Discard, r.Body) + m.mu.Unlock() + <-r.Context().Done() + m.mu.Lock() + return + } + m.deletes = append(m.deletes, collection+"/"+name) + delete(m.objects[collection], name) + if strings.HasSuffix(collection, "/jobs") { + // The Job's pods go with it, as the garbage collector would. + delete(m.objects, strings.TrimSuffix(collection, "/jobs")+"/pods") + } + _ = json.NewEncoder(w).Encode(map[string]any{"kind": "Status", "apiVersion": "v1", "status": "Success"}) + default: + // PATCH and PUT: accept and echo nothing interesting. + _ = json.NewEncoder(w).Encode(map[string]any{}) + } +} + +// isNamedPath reports whether path names one object rather than a collection: +// its last segment follows a resource segment. +func isNamedPath(path string) bool { + parts := strings.Split(strings.Trim(path, "/"), "/") + resources := map[string]bool{ + "jobs": true, "pods": true, "secrets": true, "configmaps": true, "serviceaccounts": true, + "clusterroles": true, "clusterrolebindings": true, "namespaces": true, + } + return len(parts) >= 2 && resources[parts[len(parts)-2]] +} + +func notFound(w http.ResponseWriter) { + w.WriteHeader(http.StatusNotFound) + _, _ = io.WriteString(w, `{"kind":"Status","apiVersion":"v1","status":"Failure","reason":"NotFound","code":404}`) +} + +// runInterrupted starts a run against m, cancels it once the Job exists, and +// returns the result. +func runInterrupted(t *testing.T, client kubernetes.Interface, m *miniAPIServer) ClusterValidatorResult { + t.Helper() + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + done := make(chan ClusterValidatorResult, 1) + go func() { + done <- runClusterValidator(ctx, client, "registry.example.com/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + }() + select { + case <-m.jobCreated: + case <-time.After(30 * time.Second): + t.Fatal("the run never created its Job") + } + cancel() + select { + case res := <-done: + return res + case <-time.After(60 * time.Second): + t.Fatal("the interrupted run did not return") + } + return ClusterValidatorResult{} +} + +// On an interrupt the cleanup requests really go out. A cleanup context +// derived from the cancelled run context sends none, which the fake clientset +// cannot show because it ignores contexts. +func TestRunClusterValidator_InterruptSendsCleanupOverTheWire(t *testing.T) { + m, client := newMiniAPIServer(t) + res := runInterrupted(t, client, m) + require.Error(t, res.Err) + + got := strings.Join(m.deleted(), " ") + for _, want := range []string{"/jobs/", "/clusterrolebindings/", "/clusterroles/", "/serviceaccounts/"} { + assert.Contains(t, got, want) + } +} + +// A delete that never answers does not hold the CLI open: every cleanup call +// is bounded. +func TestRunClusterValidator_HungDeletesAreBounded(t *testing.T) { + prev := validatorCleanupTimeout + validatorCleanupTimeout = 500 * time.Millisecond + t.Cleanup(func() { validatorCleanupTimeout = prev }) + m, client := newMiniAPIServer(t) + m.hangDeletes.Store(true) + + start := time.Now() + res := runInterrupted(t, client, m) + require.Error(t, res.Err) + assert.Less(t, time.Since(start), 25*time.Second) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 1130e17205..a88d0764fc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -94,6 +94,9 @@ type CheckResult struct { HintURL string Err error // populated only when the check itself failed to execute Logs string // optional: full check transcript for --show-logs; not emitted to JSON + // Transient marks a warning expected to clear by itself, such as a + // rollout in progress. --wait keeps polling while one remains. + Transient bool } // BinarySpec defines a tool that must be on PATH and a version constraint. @@ -651,10 +654,18 @@ func clusterValidatorCheck( }) r.Logs = result.Logs r.Detail = clusterValidatorDetail(kubeContext, result.JobName) - if noCleanup { + switch { + case noCleanup: if hint := validatorCleanupHint(kubeContext, result.RunID); hint != "" { r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + hint } + case result.LeftBehind: + // The pod could still be running, so its RBAC was kept rather + // than pulled out from under it. Say how to remove it once it + // ends, instead of leaving it for a later check's sweep. + if hint := validatorLeftBehindHint(kubeContext, result.RunID); hint != "" { + r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + hint + } } if result.Err != nil { @@ -673,6 +684,16 @@ func clusterValidatorCheck( // role-aware image that fails before printing it (say, building its // Kubernetes client) must still fail the run. if role == validatorRoleControlPlane && isLegacyComputePlaneTranscript(result.Logs) { + // Downgrade only the failure the old image causes by itself: its + // GPU check on a CPU-only control plane. Its checks common to both + // roles (the control plane's /readyz, admission webhooks, critical + // registry reachability) still see real failures, and those fail. + if others := legacyCriticalFailures(result.Logs); len(others) > 0 { + r.Severity = SeverityError + r.Message = "cluster-validator reported failures (" + strings.Join(others, "; ") + + "); the image predates validator roles, so only its checks common to both roles ran" + return r + } r.Severity = SeverityWarning r.Message = "cluster-validator image does not support the control-plane checks (it ran the " + "compute-plane set); use an image from an NVCA release that supports validator roles, " + @@ -680,6 +701,19 @@ func clusterValidatorCheck( return r } r.Passed = result.Passed + if result.Passed && strings.Contains(result.Logs, validatorReadyWithWarnings) { + // The Job succeeding is not a clean pass when the validator + // itself reported warnings. A rollout in progress is expected + // to clear, so --wait keeps polling on it. + r.Passed = false + r.Severity = SeverityWarning + r.Transient = isRolloutTranscript(result.Logs) + r.Message = "cluster-validator passed with warnings; run with --show-logs for details" + if r.Transient { + r.Message = "cluster-validator passed with a rollout in progress; --wait polls until it completes" + } + return r + } if result.Passed { r.Severity = SeverityInfo r.Message = "cluster passed cluster-validator built-in checks" @@ -697,6 +731,57 @@ func clusterValidatorCheck( // nvca/internal/clustervalidator/validator.go. const validatorRoleMarker = "Validator role: " +// validatorReadyWithWarnings is in the verdict line of a run that passed every +// critical check with warnings. Must match printSummary in +// nvca/internal/clustervalidator/validator.go. +const validatorReadyWithWarnings = "NVCF-Ready (with warnings)" + +// validatorRolloutMarkers are in the validator's warnings for a Deployment or +// StatefulSet rollout in progress (checks.go, Tier-1 and Tier-2). +var validatorRolloutMarkers = []string{"rollout in progress", "rolling update in progress", "mid-rollout"} + +func isRolloutTranscript(logs string) bool { + for _, m := range validatorRolloutMarkers { + if strings.Contains(logs, m) { + return true + } + } + return false +} + +// validatorSummaryStart and validatorFailIcon locate the failed critical rows +// the validator prints in its summary. Must match printSummary and printError +// in nvca/internal/clustervalidator. +const ( + validatorSummaryStart = "Check Results:" + validatorFailIcon = "\u2717" +) + +// legacyCriticalFailures returns the failed critical summary rows of a +// pre-role transcript other than GPU Resources, the one row the compute-plane +// set fails on any CPU-only control plane. A transcript without a summary +// returns a row saying so: nothing shows the run was otherwise clean. +func legacyCriticalFailures(logs string) []string { + i := strings.LastIndex(logs, validatorSummaryStart) + if i < 0 { + return []string{"the validator printed no summary"} + } + var out []string + for _, line := range strings.Split(logs[i:], "\n") { + if strings.Contains(line, "Cluster is") { + break + } + _, row, ok := strings.Cut(line, validatorFailIcon) + if !ok { + continue + } + if row = strings.TrimSpace(row); row != "" && !strings.HasPrefix(row, "GPU Resources") { + out = append(out, row) + } + } + return out +} + // legacyComputePlaneHeader is a section header only the compute-plane check // set prints. A validator that predates roles always runs that set. const legacyComputePlaneHeader = "GPU Resources" @@ -722,6 +807,20 @@ func validatorCleanupHint(kubeContext, runID string) string { ctx, clusterValidatorNamespace, sel, ctx, sel) } +// validatorLeftBehindHint is the removal command for a run whose pod outlived +// the wait, so its RBAC was kept. +func validatorLeftBehindHint(kubeContext, runID string) string { + if runID == "" { + return "" + } + sel := clusterValidatorRunLabel + "=" + runID + ctx := kubectlContextArg(kubeContext) + return fmt.Sprintf("the validator pod was still running, so its objects were kept; once it ends remove them "+ + "with: kubectl%s delete -n %s job,serviceaccount,secret,configmap -l %s && "+ + "kubectl%s delete clusterrole,clusterrolebinding -l %s", + ctx, clusterValidatorNamespace, sel, ctx, sel) +} + func clusterValidatorDetail(kubeContext, jobName string) string { hint := kubectlLogsHint(kubeContext, jobName) if hint == "" { @@ -1041,15 +1140,33 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro catStart := time.Now() var catResults []CheckResult for _, spec := range cat.checks { - if ctx.Err() != nil { + var res CheckResult + switch { + case errors.Is(ctx.Err(), context.Canceled): + // Interrupted: the command reports the interrupt, not rows. return all + case ctx.Err() != nil: + // The budget ran out before this check started. Dropping it + // let the partial set grade as the verdict, so a validator + // that never ran could pass the gate. + res = CheckResult{ + ID: spec.ID, Severity: SeverityError, + Message: "not run: the check's time budget ran out before it started", + Err: ctx.Err(), + } + default: + _ = sink.Emit(ctx, progress.CheckStarted{ + Category: cat.name, + ID: spec.ID, + Message: spec.HumanLabel, + }) + res = spec.Run(ctx) + if errors.Is(ctx.Err(), context.Canceled) { + // Cut short by the interrupt, so its result is not a + // finding; the cancelled final event says what happened. + return all + } } - _ = sink.Emit(ctx, progress.CheckStarted{ - Category: cat.name, - ID: spec.ID, - Message: spec.HumanLabel, - }) - res := spec.Run(ctx) res.Category = cat.name all = append(all, res) _ = sink.Emit(ctx, progress.CheckCompleted{ diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 66725d4662..d0e0515b7a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -25,6 +25,7 @@ import ( "os" "path/filepath" "testing" + "time" "github.com/Masterminds/semver/v3" "github.com/stretchr/testify/assert" @@ -716,3 +717,34 @@ func TestCountResults_OneRule(t *testing.T) { assert.Equal(t, 1, f) assert.Equal(t, 2, w) } + +// When the budget runs out, the checks not yet started are error rows rather +// than silently dropped, so a partial run cannot grade as a pass. An +// interrupt ends the run without them: the command reports the interrupt. +func TestRunPreflight_BudgetSpentChecksAreNotRunErrors(t *testing.T) { + cfg := PreflightConfig{Tools: []BinarySpec{passingToolSpec("kubectl", "1.30.0"), passingToolSpec("helm", "3.15.0")}} + + expired, cancel := context.WithDeadline(context.Background(), time.Now().Add(-time.Second)) + defer cancel() + res := RunPreflightForRole(expired, cfg, RoleLocalOnly, RoleConfig{}, &captureSink{}) + require.NotEmpty(t, res) + for _, r := range res { + assert.True(t, r.IsBlockingFailure(), r.ID) + assert.Contains(t, r.Message, "not run", r.ID) + } + + cancelled, stop := context.WithCancel(context.Background()) + stop() + assert.Empty(t, RunPreflightForRole(cancelled, cfg, RoleLocalOnly, RoleConfig{}, &captureSink{})) + + // A check cut short by the interrupt is not a finding either. + midRun, stopMidRun := context.WithCancel(context.Background()) + defer stopMidRun() + interrupting := passingToolSpec("kubectl", "1.30.0") + interrupting.Version = func(context.Context, string) (*semver.Version, error) { + stopMidRun() + return nil, context.Canceled + } + cfg = PreflightConfig{Tools: []BinarySpec{interrupting}} + assert.Empty(t, RunPreflightForRole(midRun, cfg, RoleLocalOnly, RoleConfig{}, &captureSink{})) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index 1d57946947..3c3ddf51ab 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -192,6 +192,12 @@ type ModelOpts struct { // Leave both empty (the default) for single-cluster mode. ControlPlaneContext string ComputePlaneContext string + + // OnQuit runs when the operator presses a quit key. Bubbletea reads the + // terminal in raw mode, so Ctrl-C arrives as a key press, not a signal: + // without this, quitting closed the dashboard while the command kept + // running behind it. + OnQuit func() } // checkCategoryState holds the accumulated state for one pre-flight check @@ -229,6 +235,7 @@ type Model struct { controlCtx string // M+9: control-plane kubeconfig context (empty → single-cluster) computeCtx string // M+9: compute-plane kubeconfig context (empty → single-cluster) nowFunc func() time.Time + onQuit func() // dynamic state (mutated by Update) started time.Time @@ -354,6 +361,7 @@ func NewModel(opts ModelOpts) Model { asciiOnly: opts.AsciiOnly, mode: opts.Mode, totalChecks: opts.TotalChecks, + onQuit: opts.OnQuit, } switch opts.Mode { @@ -437,6 +445,9 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case tea.KeyMsg: switch msg.String() { case "q", "ctrl+c", "esc": + if m.onQuit != nil { + m.onQuit() + } return m, tea.Quit } return m, nil diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index d860d5a325..f2beae2652 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -930,3 +930,18 @@ func TestTTY_CheckCompleteWithWarning(t *testing.T) { } assert.Contains(t, model.(Model).View(), "ok with warnings (2/3 passed, 0 failed, 1 warning(s))") } + +// Bubbletea reads the terminal in raw mode, so Ctrl-C is a key press, not a +// signal. Each quit key must reach the run, or quitting closes the dashboard +// while the command keeps running behind it. +func TestModel_QuitKeysCallOnQuit(t *testing.T) { + for _, key := range []tea.KeyMsg{{Type: tea.KeyCtrlC}, {Type: tea.KeyEsc}, {Type: tea.KeyRunes, Runes: []rune("q")}} { + called := 0 + m := NewModel(ModelOpts{Mode: ModeCheck, OnQuit: func() { called++ }}) + _, cmd := m.Update(key) + require.NotNil(t, cmd, key.String()) + assert.Equal(t, 1, called, key.String()) + } + _, cmd := NewModel(ModelOpts{Mode: ModeCheck}).Update(tea.KeyMsg{Type: tea.KeyCtrlC}) + assert.NotNil(t, cmd, "without a hook the dashboard still quits") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/select.go b/src/clis/nvcf-cli/internal/selfhosted/progress/select.go index f8e3ff017d..a69cc557db 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/select.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/select.go @@ -105,6 +105,9 @@ type RenderOpts struct { // (7-phase teardown) and ModeUninstall (3-5 phase per-plane teardown). // Zero leaves the renderer's default in place. TotalPhases int + + // OnQuit is passed to the TTY renderer; see ModelOpts.OnQuit. + OnQuit func() } // SelectRenderer picks an EventSink based on opts and ambient state. The @@ -180,6 +183,7 @@ func SelectRenderer(stderr io.Writer, opts RenderOpts) (EventSink, RendererKind, ControlPlaneContext: opts.ControlPlaneContext, ComputePlaneContext: opts.ComputePlaneContext, NowFunc: func() time.Time { return time.Now().UTC() }, + OnQuit: opts.OnQuit, }), RendererTTYCompact, nil } @@ -194,6 +198,7 @@ func SelectRenderer(stderr io.Writer, opts RenderOpts) (EventSink, RendererKind, ControlPlaneContext: opts.ControlPlaneContext, ComputePlaneContext: opts.ComputePlaneContext, NowFunc: func() time.Time { return time.Now().UTC() }, + OnQuit: opts.OnQuit, }), RendererTTYFull, nil } From 183583a09c6942901c2159708b3e71f8416f9156 Mon Sep 17 00:00:00 2001 From: rohithb Date: Thu, 1 Oct 2026 03:15:10 +0530 Subject: [PATCH 052/127] fix(nvcf-cli): skip an unresolvable validator tag, prefer the NGC key the install uses, make validator reachability non-critical, stop flagging pre-created or live namespaces as stale, send post-install for --pre --all, and isolate check tests Signed-off-by: rohithb --- .../examples/ci-pipelines.md | 2 +- .../reference/exit-codes.md | 2 +- .../nvcf-self-managed-cli/reference/flags.md | 14 +- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 18 +- src/clis/nvcf-cli/cmd/main_test.go | 24 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 74 +- .../cmd/self_hosted_check_scope_test.go | 27 + .../self_hosted_check_validatorenv_test.go | 85 +- .../agentskill/skilldata_generated.go | 6458 +++++++++-------- .../internal/selfhosted/clustervalidator.go | 16 +- .../selfhosted/clustervalidator_test.go | 9 +- .../internal/selfhosted/credhelper_test.go | 22 + .../internal/selfhosted/stale_namespace.go | 54 + .../selfhosted/stale_namespace_test.go | 50 + .../internal/selfhosted/validatortag.go | 34 +- 15 files changed, 3567 insertions(+), 3322 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index a41e605e14..1376210db0 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -29,7 +29,7 @@ Notes: ## GitOps (Argo / Flux) pattern -CI doesn't `kubectl apply` — instead, render manifests, commit them, let the controller apply. +CI doesn't `kubectl apply`. Instead, render manifests, commit them, let the controller apply. ```yaml render: diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index a08c0e050b..5050ca05c9 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -8,7 +8,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | | `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent; a cluster-validator that could not run (RBAC denied, image pull failure, timeout). Warning-severity results exit `0` | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | -| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but didn't pass before duration | +| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but didn't pass before duration; the check's time budget ran out before every check ran (those report as not run) | | `130` | Cancelled by SIGINT/SIGTERM | User Ctrl-C; CI budget exceeded; pod evicted | ## How an agent should react diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index e95df295a7..b2e0c8aecf 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -12,15 +12,15 @@ | Flag | Purpose | Default | |---|---|---| -| `--control-plane-stack=…` | Control-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | -| `--compute-plane-stack=…` | Compute-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | -| `--env=local\|prd\|…` | Helmfile environment name | `local` for dev builds, `prd` for releases | +| `--control-plane-stack=...` | Control-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | +| `--compute-plane-stack=...` | Compute-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | +| `--env=local\|prd\|...` | Helmfile environment name | `local` for dev builds, `prd` for releases | | `--non-interactive` | Disable all stdin prompts | `false` | | `--token=$JWT` | Admin JWT, overrides stored session | - | | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | | `--output=text\|json` | Legacy alias for `--json` (deprecated, removed in next major) | `text` | | `--plain` | Force plain streaming output | auto-detect | -| `--wait DURATION` | `check` only; block until pass | - | +| `--wait DURATION` | `check` only; poll until the check passes or DURATION runs out (exit `5`). A warning that is expected to clear, such as a rollout in progress, keeps it polling. Cannot be combined with `--no-cleanup` | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ | derived from `base_http_url` | @@ -33,7 +33,7 @@ required. Each selects a role; only the selected roles contact a cluster. | Flag | Purpose | Default | |---|---|---| -| `--pre` | Pre-flight: local-host tools plus cluster readiness. Skips SIS reachability, since SIS is not installed yet, unless `--all` or `--compute-plane` is also passed | `false` | +| `--pre` | Pre-flight: local-host tools plus cluster readiness. Skips SIS reachability, since SIS is not installed yet, unless `--all` or `--compute-plane` is also passed. With `--all`, or with a role's own flag, that role's validator checks the cluster as installed | `false` | | `--control-plane` | Control-plane checks | `false` | | `--compute-plane` | Compute-plane checks | `false` | | `--all` | Every category, including SIS reachability when combined with `--pre` | `false` | @@ -48,8 +48,8 @@ after the run, so the kubeconfig context needs permission to manage those. | Flag | Purpose | Default | |---|---|---| -| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. Unset everywhere skips the probe with a warning | - | -| `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed, as non-critical, only when neither the image nor the stack names a registry. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | +| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry; if no tag can be discovered, the probe is skipped with a note to pin one. Unset everywhere skips the probe with a warning | - | +| `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed only when neither the image nor the stack names a registry. The validator dials from a pod with no proxy, so an unreachable registry is a warning; the local credential check is what fails a registry the install cannot pull from. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on an NGC registry, it mints one from `NGC_API_KEY` | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 2529d20bbd..0d7cde536e 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -158,8 +158,10 @@ api_keys_owner_id: svc@nvcf-api.local # Command-line flag: --cluster-validator-image # # When the value has no tag, the latest tag is discovered from the -# registry (preferring stable releases over rc). If unset everywhere, -# the validator probe is skipped with a note on stderr. +# registry (preferring stable releases over rc). If discovery fails, the +# validator is skipped with a note rather than pulled as :latest; pin a tag +# to avoid depending on discovery. If unset everywhere, the validator probe +# is skipped with a note on stderr. # # Staging: stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator # Prod: nvcr.io/nvidia/nvcf-byoc/cluster-validator @@ -179,6 +181,18 @@ api_keys_owner_id: svc@nvcf-api.local # - harbor.example.com:443 # - ghcr.io:443 +# Image for the control-plane validator's node-to-node overlay probe, which +# needs sh and a busybox-style nc. Defaults to busybox:1.36 from Docker Hub. +# Set a mirror for air-gapped clusters. The probe pods get no imagePullSecrets, +# so the image must be pullable anonymously or through node-level registry +# credentials. +# +# Config key: cluster_validator_probe_image +# Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE +# Command-line flag: --cluster-validator-probe-image +# +# cluster_validator_probe_image: harbor.example.com/library/busybox:1.36 + # ============================================================================== # General Settings # ============================================================================== diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index c2abc70774..95a996977f 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -41,6 +41,14 @@ import ( // cluster from a unit test, and it is why the package took minutes and failed // on a proxied kubeconfig rather than seconds and deterministically. func TestMain(m *testing.M) { + // Every command reads ~/.nvcf-cli.yaml and some tests save + // ~/.nvcf-cli.state, so a developer's real config would steer results and + // a test run would overwrite their saved credentials. + home, err := os.MkdirTemp("", "nvcf-cli-cmd-test-home-") + if err != nil { + panic(err) + } + _ = os.Setenv("HOME", home) resolveLatestValidatorTagForSelfHosted = func(_ context.Context, _ string) (string, bool) { return "", false } @@ -81,12 +89,24 @@ func TestMain(m *testing.M) { testSISURL = sis.URL code := m.Run() sis.Close() + _ = os.RemoveAll(home) os.Exit(code) } // testSISURL is a local stand-in for SIS, set by TestMain. var testSISURL string +// resetFlag returns f to its default value and clears its Changed marker. A +// slice flag is replaced, since Set appends once the flag has been set. +func resetFlag(f *pflag.Flag) { + if sv, ok := f.Value.(pflag.SliceValue); ok { + _ = sv.Replace(nil) + } else { + _ = f.Value.Set(f.DefValue) + } + f.Changed = false +} + // resetCheckFlags returns every `self-hosted check` flag to its default, // including cobra's Changed marker, now and when the test ends. The flag // variables are package globals that survive rootCmd.Execute, so without this @@ -110,8 +130,10 @@ func resetCheckFlags(t *testing.T) { selfHostedOutput = "text" selfHostedWait = "" selfHostedControlPlaneContext, selfHostedComputePlaneContext = "", "" + // Values too, not only the Changed marker: a test that passes + // --icms-url would otherwise point every later check at its URL. for _, fs := range []*pflag.FlagSet{selfHostedCheckCmd.Flags(), selfHostedCmd.PersistentFlags()} { - fs.VisitAll(func(f *pflag.Flag) { f.Changed = false }) + fs.VisitAll(resetFlag) } // Other tests call viper.Reset(), which drops the bindings made at // init, so a flag passed to check would silently not be read. diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 92ba8e5917..2d13120e8b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -166,11 +166,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // note explaining why. anyValidatorIsTargeted := !localOnly && !skipClusterValidation && (computePlaneIsVisited() || controlPlaneIsVisited()) - clusterValidatorImage := "" + clusterValidatorImage, unresolvedImage := "", "" if anyValidatorIsTargeted { - if img, ok := resolveClusterValidatorImage(c.Context()); ok { - clusterValidatorImage = img - } + clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(c.Context()) } clusterValidatorWillRun := anyValidatorIsTargeted && clusterValidatorImage != "" @@ -231,6 +229,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { switch { case skipClusterValidation: fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (--skip-cluster-validation)") + case unresolvedImage != "": + fmt.Fprintf(c.ErrOrStderr(), "note: cluster-validator skipped (could not resolve a tag for %s; "+ + "pin cluster_validator_image to a tag)\n", unresolvedImage) case clusterValidatorImage == "": fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (cluster_validator_image not set in nvcf-cli config)") } @@ -593,13 +594,12 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{}, sink) } - // SIS reachability is a compute-plane concern. A bare --pre skips it - // because SIS is not up before install, but an explicit --all or - // --compute-plane still asks for it, as it always has. Requiring the - // compute plane to be targeted stops a --control-plane run from probing - // SIS, which the older `|| !checkPre` form did. + // SIS reachability is a compute-plane, post-install concern: only an + // explicit --all or --compute-plane asks for it. A bare --pre skips it + // because SIS is not up before install, and --control-plane does not + // target the compute plane. icmsURL := "" - if computePlaneIsTargeted(mode) && (checkAll || checkComputePlane || !checkPre) { + if checkAll || checkComputePlane { icmsURL = resolveICMSURL(selfHostedICMSURL) } @@ -633,6 +633,8 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin registries := cfg.Registries validatorEnv := clusterValidatorJobEnv( selfhosted.LoadStackValues(resolveStackValuesFiles())) + cpValidatorEnv := validatorEnvForRole(validatorEnv, checkControlPlane) + gpuValidatorEnv := validatorEnvForRole(validatorEnv, checkComputePlane) // The cluster-validator image is the same for both roles; VALIDATOR_ROLE // in the Job env selects which check set runs inside the binary. @@ -675,7 +677,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: validatorEnv, + ClusterValidatorEnv: cpValidatorEnv, ClusterValidatorRegistries: registries, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedControlPlaneStack), @@ -694,7 +696,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: validatorEnv, + ClusterValidatorEnv: gpuValidatorEnv, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedComputePlaneStack), } @@ -741,7 +743,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: validatorEnv, + ClusterValidatorEnv: cpValidatorEnv, ClusterValidatorRegistries: registries, StaleNamespaceProber: staleForControlPlane, StackDir: localStackDir(selfHostedControlPlaneStack), @@ -758,7 +760,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: validatorEnv, + ClusterValidatorEnv: gpuValidatorEnv, StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), } @@ -769,10 +771,27 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin } } +// validatorEnvForRole returns env for one role's validator. A role whose own +// flag is passed alongside --pre (--pre --control-plane) is checked as +// installed, the way --all is, so its validator is told the run is +// post-install. env itself is not modified. +func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string { + if !roleFlag || env["VALIDATOR_POST_INSTALL"] != "" { + return env + } + out := make(map[string]string, len(env)+1) + for k, v := range env { + out[k] = v + } + out["VALIDATOR_POST_INSTALL"] = "true" + return out +} + // clusterValidatorJobEnv is what the validator container needs from the CLI's // resolved configuration, matching what the chart CronJob forwards: -// - VALIDATOR_POST_INSTALL on every run except --pre, so an empty control -// plane fails after install instead of passing as pre-install; +// - VALIDATOR_POST_INSTALL on every run except a bare --pre, so an empty +// control plane fails after install instead of passing as pre-install +// (validatorEnvForRole adds it for a role its own flag targets); // - relocated OpenBao and Envoy Gateway namespaces, without which the Tier // rows assess the defaults and miss the real components; // - NVCF_GATEWAY_NAMES, the override for the NVCF Gateway discovery; @@ -780,7 +799,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // from Docker Hub. func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { env := map[string]string{} - if !checkPre { + if !checkPre || checkAll { env["VALIDATOR_POST_INSTALL"] = "true" } if ns := configValue("NVCF_OPENBAO_NAMESPACE"); ns != "" { @@ -844,15 +863,22 @@ func configValue(key string) string { // resolveClusterValidatorImage resolves the validator image from flag > env > // config-file. Returns ("", false) when unconfigured. When only a repo is // given, discovers the latest stable tag (1h cached; falls back on failure). -func resolveClusterValidatorImage(ctx context.Context) (string, bool) { - image := viper.GetString("cluster_validator_image") - if image == "" { - return "", false +// +// An unpinned image whose tag could not be discovered is not launched: the +// kubelet would pull it as :latest, which the validator repository does not +// publish, and fail the run on a pull error instead of saying why. +func resolveClusterValidatorImage(ctx context.Context) (image string, unresolved string) { + configured := viper.GetString("cluster_validator_image") + if configured == "" { + return "", "" + } + if discovered, ok := resolveLatestValidatorTagForSelfHosted(ctx, configured); ok { + return discovered, "" } - if discovered, ok := resolveLatestValidatorTagForSelfHosted(ctx, image); ok { - return discovered, true + if !selfhosted.ImageRefIsPinned(configured) { + return "", configured } - return image, true + return configured, "" } // emitCheckFinal emits a Final event with check-mode verdict fields derived diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 255e80545f..58ef6ee90a 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -95,6 +95,8 @@ func TestCheck_SISReachabilityScope(t *testing.T) { assert.NotZero(t, hits) _, hits = runCheckRecording(t, "--control-plane") assert.Zero(t, hits, "SIS is a compute-plane check") + _, hits = runCheckRecording(t, "--pre", "--control-plane") + assert.Zero(t, hits, "--pre visits the compute plane but --control-plane does not ask for SIS") } // --local-only overrides the required scope flag; the run says so on stderr. @@ -252,3 +254,28 @@ func passingPreflightTools() []selfhosted.BinarySpec { } return specs } + +// An unpinned validator image whose tag cannot be discovered is not launched: +// the kubelet would pull :latest, which the repository does not publish. The +// run skips the validator and says to pin a tag. +func TestCheck_UnresolvedValidatorTagIsSkippedWithANote(t *testing.T) { + calls := 0 + _, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + calls++ + return selfhosted.ClusterValidatorResult{Passed: true} + }, "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator") + assert.Zero(t, calls, "the untagged image must not be launched") + assert.Contains(t, stderr, "could not resolve a tag for nvcr.io/nvidia/nvcf-byoc/cluster-validator") +} + +func TestImageRefIsPinned(t *testing.T) { + for ref, want := range map[string]bool{ + "nvcr.io/nvidia/validator:3.2.26": true, + "nvcr.io/nvidia/validator@sha256:abcd": true, + "localhost:5000/validator": false, + "nvcr.io/nvidia/validator": false, + "registry.example.com:443/team/validator": false, + } { + assert.Equal(t, want, selfhosted.ImageRefIsPinned(ref), ref) + } +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 1fcd945091..3d97b3713b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -34,11 +34,7 @@ import ( // every run but --pre, relocated namespaces, the Gateway override and the // probe image. func TestClusterValidatorJobEnv(t *testing.T) { - prevPre := checkPre - t.Cleanup(func() { - checkPre = prevPre - viper.Set("cluster_validator_probe_image", "") - }) + resetCheckFlags(t) for _, k := range []string{"NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", "NVCF_N2N_PROBE_IMAGE"} { t.Setenv(k, "") } @@ -53,7 +49,7 @@ func TestClusterValidatorJobEnv(t *testing.T) { t.Setenv("NVCF_OPENBAO_NAMESPACE", "openbao") t.Setenv("NVCF_ENVOY_GATEWAY_NAMESPACE", "edge") t.Setenv("NVCF_GATEWAY_NAMES", "gateway/shared-gw") - viper.Set("cluster_validator_probe_image", "mirror.example/busybox:1.36") + require.NoError(t, selfHostedCheckCmd.Flags().Set("cluster-validator-probe-image", "mirror.example/busybox:1.36")) env = clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway"}) assert.NotContains(t, env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") assert.Equal(t, "openbao", env["NVCF_OPENBAO_NAMESPACE"]) @@ -110,41 +106,56 @@ func TestClusterValidatorJobEnv_GatewayNamesYAMLList(t *testing.T) { } // --pre in split mode visits both clusters, so each gets its own validator -// role against its own context, both marked pre-install. +// role against its own context. A bare --pre is pre-install for both; --all +// checks both as installed, and a role's own flag checks that role as +// installed while the other stays pre-install. func TestCheck_PreSplitRunsBothValidatorRoles(t *testing.T) { - resetCheckFlags(t) - var mu sync.Mutex - got := map[string]selfhosted.ClusterValidatorParams{} - prev := newClusterValidatorForSelfHosted - newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { - return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + for _, tc := range []struct { + name string + extra []string + cpPost, gpuPost bool + }{ + {name: "bare pre", extra: []string{"--icms-url", "https://sis.example.invalid"}}, + {name: "pre all", extra: []string{"--all", "--cluster-name", "gpu"}, cpPost: true, gpuPost: true}, + {name: "pre control-plane", extra: []string{"--control-plane"}, cpPost: true}, + } { + t.Run(tc.name, func(t *testing.T) { + resetCheckFlags(t) + var mu sync.Mutex + got := map[string]selfhosted.ClusterValidatorParams{} + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + defer mu.Unlock() + got[p.Role] = p + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + + var errBuf bytes.Buffer + rootCmd.SetErr(&errBuf) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs(append([]string{"self-hosted", "check", "--pre", "--json", + "--control-plane-context", "cp-ctx", "--compute-plane-context", "gpu-ctx", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}, + tc.extra...)) + _ = rootCmd.Execute() + mu.Lock() defer mu.Unlock() - got[p.Role] = p - return selfhosted.ClusterValidatorResult{Passed: true} - } + cp, ok := got["control-plane"] + require.True(t, ok, "the control-plane validator must run; output: %s", errBuf.String()) + gpu, ok := got["compute-plane"] + require.True(t, ok, "the compute-plane validator must run; output: %s", errBuf.String()) + assert.Equal(t, "cp-ctx", cp.KubeContext) + assert.Equal(t, "gpu-ctx", gpu.KubeContext) + assert.Equal(t, tc.cpPost, cp.Env["VALIDATOR_POST_INSTALL"] == "true", "control-plane post-install") + assert.Equal(t, tc.gpuPost, gpu.Env["VALIDATOR_POST_INSTALL"] == "true", "compute-plane post-install") + }) } - t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) - t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") - - var errBuf bytes.Buffer - rootCmd.SetErr(&errBuf) - rootCmd.SetOut(&bytes.Buffer{}) - rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json", - "--control-plane-context", "cp-ctx", "--compute-plane-context", "gpu-ctx", - "--icms-url", "https://sis.example.invalid", - "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}) - _ = rootCmd.Execute() - - mu.Lock() - defer mu.Unlock() - cp, ok := got["control-plane"] - require.True(t, ok, "the control-plane validator must run; output: %s", errBuf.String()) - gpu, ok := got["compute-plane"] - require.True(t, ok, "the compute-plane validator must run; output: %s", errBuf.String()) - assert.Equal(t, "cp-ctx", cp.KubeContext) - assert.Equal(t, "gpu-ctx", gpu.KubeContext) - assert.NotContains(t, cp.Env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") } // NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES is read, and a comma-separated value is diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 4517574a0f..becf4e98a8 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,14 +31,14 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDUxMjAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDU2ODksCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI5OTMzYTc0ZGVhNGUxZGQ3ZWNiNzdjNjg4" + - "YTRlMTE3M2IwODE5MzgzNmMxODE2ZGI3NmYyOTYwOTkwN2VkZGJkIiwKICAgICAgInNpemUiOiAz" + - "NTQ5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlNWYyMDUxYTdmNGZmMGE5N2M0M2NmYmEy" + + "NzU0NDA3YTQzMGMwMDdlMmVkNzFmY2QxYzgxNTQwNmExYjNkYzI1IiwKICAgICAgInNpemUiOiAz" + + "NTQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4YmUxYzcxMjYwYWYzNWUwYjNi" + - "Mzc2NWYzZjA3MTU2Zjg2ZjIzNmE2MzdhYTZjZGViZTgzOGQ0ZTkxYWI4OTVhIiwKICAgICAgInNp" + - "emUiOiAyMTkyCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2OTVkMjEzOGUxYzA2OWM5" + - "ZDA1ZjMyNjU5ZWUyMWMyNWEyY2YyMjRhMWE2ZjhiMjkyYWIwYTQwMTliZThjNDBlIiwKICAgICAg" + - "InNpemUiOiAxMzAwMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2M2E4MzUzMTIyYmE4MGUzNmE1" + + "NzY2ODI0Y2FlZjdhZDAzZjBlM2JhZjQ5Njc0ODVkYmZmZDE2ZTAwMDU3YzhjIiwKICAgICAgInNp" + + "emUiOiAyMjc0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJmNWViYjE3OGY3YmFlODky" + + "YjAwOGFmYzZhMjllZjIzOWU3ZTk0M2E3NjEzM2VmYzc4ZTIyN2M4ODIwMTUwY2U2IiwKICAgICAg" + + "InNpemUiOiAxMzQ5MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCAeNqUdKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCPcAtkBKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -572,3223 +572,3233 @@ const skillDataZipBase64 = "" + "cGVuZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5hbCBz" + "dGF0dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhlYWx0" + "aHkiYC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1YmVj" + - "dGwgYXBwbHlgIOKAlCBpbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwgbGV0" + - "IHRoZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAgLSBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4g" + - "cmVuZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGlu" + - "c3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkgPiBy" + - "ZW5kZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0" + - "IGNvbW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29D" + - "RCBvciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIg" + - "dG91Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hp" + - "Y2ggbXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBzY3Jp" + - "cHQ6CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlk" + - "PSROQ0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9yZS1l" + - "eGlzdGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMg" + - "TXVsdGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55IGNv" + - "bXB1dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVwbG95" + - "X2NvbXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNURVI6" + - "IG5jcC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0gQ0xV" + - "U1RFUjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAgICAg" + - "LSBDTFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAgc2Ny" + - "aXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1uYW1l" + - "PSRDTFVTVEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAgICAg" + - "ICAtLWljbXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FETUlO" + - "X0pXVAogICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFjaCBw" + - "YXJhbGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdhaW5z" + - "dCB0aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMjIFBs" + - "YW4tb25seSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBp" + - "ZjogJENJX1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6" + - "CiAgICAtIHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rl" + - "ci1uYW1lPSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpz" + - "b24gfCB0ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4u" + - "anNvbgogICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBc" + - "YFxganNvblxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4" + - "aXRzIDAgd2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxp" + - "c3RzIGVhY2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBL" + - "BwiZ9g2l3Q0AAN0NAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1j" + - "bHVzdGVyIHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRl" + - "LXBsYW5lIG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5l" + - "cwoKVGhlIGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxh" + - "bmUgaXMgcmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29u" + - "dHJvbCBwbGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJF" + - "Q09ORklHPWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmUgfCBrdWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250" + - "cm9sLXBsYW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21wdXRl" + - "IHBsYW5lOgpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBhZG1p" + - "bkBncHUtZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52" + - "Y2YuZXhhbXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1ub24t" + - "aW50ZXJhY3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRlIHBs" + - "YW5lcyByZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1p" + - "ZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNbXSB8" + - "IHtuYW1lOiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENvbXB1" + - "dGUtcGxhbmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3Rs" + - "IGFjY2VzcyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBp" + - "cyBvcGVyYXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBw" + - "bGFuZSBmb3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1Ymxp" + - "YyBhcGkgZ2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMg" + - "cmVhY2hhYmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3Mg" + - "bmVlZGVkKToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxl" + - "LmNvbQoKIyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToK" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5j" + - "b20gXAogIC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNt" + - "cy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVy" + - "YWN0aXZlCgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29u" + - "dHJvbC1wbGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVz" + - "IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0" + - "dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBz" + - "cGVjaWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBs" + - "YW5lcyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAi" + - "ZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVw" + - "bG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFu" + - "Y2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJt" + - "YXhJbnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBg" + - "YAoKVGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxp" + - "bWl0cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01T" + - "IGNob29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVz" + - "IGZhbi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVy" + - "ZWQgY29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNh" + - "LWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVy" + - "c1tdLmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNv" + - "bXB1dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSBy" + - "ZWFkIE5BTUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBzdGF0dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVz" + - "dGVyLCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUg" + - "PCBjbHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRp" + - "dmUgZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24n" + - "dCBuZWVkIGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + - "cGxhbmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29u" + - "dHJvbCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmlu" + - "ZyBzb21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2Fp" + - "bnN0IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRy" + - "b2wgcGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2Vy" + - "IG11c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5l" + - "KiogaW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4" + - "aXN0aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + - "YCkuCi0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBh" + - "YmlsaXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJv" + - "bCBwbGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRo" + - "ZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3Rs" + - "IGFjY2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9u" + - "ZS4pCi0gQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRo" + - "IGFscmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3Qt" + - "cmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNrLgoK" + - "IyMgU3RlcHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVu" + - "aXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Eg" + - "c2NvcGUKICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhlIG5l" + - "dyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczov" + - "L2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMg" + - "VVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJlLWZs" + - "aWdodCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBc" + - "CiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAg" + - "IFRoaXMgdmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9kZSBs" + - "YWJlbHMgYXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRkcmVz" + - "cyBhbnkgZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1dGUt" + - "cGxhbmVgOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1w" + - "bGFuZSBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBc" + - "CiAgICAgLS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMgaXMg" + - "YSBzZXBhcmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21wdXRl" + - "LXBsYW5lLXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1IChy" + - "ZWdpc3RlciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24gdGhl" + - "IG5ldyBjb21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxhbmUg" + - "YW5kIGRvZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUgY29u" + - "dHJvbCBwbGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10b2tl" + - "bmAgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50IG9u" + - "ZSBmcm9tLgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNs" + - "dXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhlYWx0" + - "aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3Vs" + - "ZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5kLWlu" + - "dm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5jdGlv" + - "biB0byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoK" + - "IyMgV2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoK" + - "YGFkZC1jb21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4aXN0" + - "aW5nYCBzZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBhbmQg" + - "cmV1c2UgaXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0" + - "aGUgc2FtZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0" + - "aGF0IHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNz" + - "LgotICoqRGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vj" + - "b25kIGF0dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUg" + - "cGxhbmUncyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21w" + - "dXRlIHBsYW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNv" + - "bmZpcm0gd2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVu" + - "IGluIGRvdWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlk" + - "PSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUg" + - "cHJvY2VlZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUNAAAF" + - "DQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1" + - "biBhIHRhc2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4g" + - "bW9uaXRvciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBr" + - "ZXlzCgpUaGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZv" + - "Y2F0aW9uIHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkg" + - "Z2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgK" + - "IyAtPiBmdW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBg" + - "CgpCb3RoIGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNr" + - "IGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2Ny" + - "aXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRl" + - "IGVhY2gga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkt" + - "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWlu" + - "PThoIC0tdmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQoj" + - "IC0+IHRhc2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBr" + - "ZXkgdmFsdWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQg" + - "dGhlIGtleSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBu" + - "ZXZlciB0aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVm" + - "b3JlIHJ1bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwg" + - "dmVyaWZ5IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBz" + - "ZXQ6CgogICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAm" + - "JiBlY2hvIHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0" + - "b3JlZCBrZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAg" + - "cHl0aG9uMyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0" + - "aCgnfi8ubnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChz" + - "LmdldCgnbnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRo" + - "ZSBleHBpcnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNo" + - "CiAgIG52Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0" + - "YXNrIC0tZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUK" + - "ICAgYGBgCgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYg" + - "d2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHBy" + - "ZWZpeCDigJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNh" + - "dGlvbjoKCi0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjog" + - "a2V5IG5vdCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBp" + - "cmVkIG9yIHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFs" + - "aWQ7IG5vIHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRl" + - "ZmluZSB0aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRh" + - "c2s6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNw" + - "ZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJO" + - "Q1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRh" + - "aW5lckltYWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJn" + - "cyI6ICJweXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhh" + - "bmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRl" + - "IC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+" + - "CmBgYAoKQ2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3Rl" + - "bmNlIGNhbiBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBz" + - "dWJzZXF1ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpF" + - "cXVpdmFsZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52" + - "Y2YtY2xpIHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0t" + - "Z3B1PUgxMDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2Vu" + - "ZD1uY3AtbG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0t" + - "Y29udGFpbmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAt" + - "LXJlc3VsdC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBj" + - "bHVzdGVyOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29u" + - "dGFpbmVyLmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25t" + - "ZW50IHZhcmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2Yt" + - "Y2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNv" + - "bnRhaW5lci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApg" + - "YGAKCm9yIHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVy" + - "RW52aXJvbm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQog" + - "IF0sCiAgInNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMz" + - "Y3IzdCJ9CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCBy" + - "ZXR1cm5lZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0" + - "aGVtLgoKIyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxh" + - "Y2UgYGNvbnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUi" + - "OiAic21va2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAi" + - "SDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2Vu" + - "ZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZp" + - "ZGlhLmNvbS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhh" + - "bmRsaW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRl" + - "IC0taW5wdXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAK" + - "CmBoZWxtQ2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUu" + - "CgojIyAzYi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xp" + - "IHRhc2sgdXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoK" + - "YHVwZGF0ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRz" + - "IGFyZSBhZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQg" + - "aW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBp" + - "bnRvIGNoYXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNs" + - "aSB0YXNrIGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5O" + - "SU5HCmBgYAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3Qg" + - "cmVjZW50IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1" + - "cyB2YWx1ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBg" + - "RVJST1JFRGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBF" + - "WENFRURFRF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBm" + - "b3IgcHJvZ3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0" + - "YXNrIGV2ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVE" + - "YCwgY2hlY2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQpp" + - "cyByZWdpc3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCku" + - "CgpJZiB0aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRh" + - "aW5zIHRoZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3Bl" + - "Y3QgdGhlIHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdp" + - "dGgKYGt1YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4" + - "dC4KCiMjIDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGlu" + - "Z1N0cmF0ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZj" + - "Zi1jbGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZv" + - "ciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVw" + - "bG9hZCB0byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNr" + - "J3MgY3JlZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBB" + - "ZnRlcgp0aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBy" + - "ZXN1bHRzIDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBw" + - "b3J0ZWQgaW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0" + - "YXNrOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRo" + - "ZSB0YXNrIHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApu" + - "dmNmLWNsaSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGgg" + - "dGhlIHVzZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFu" + - "ZCBpdHMgY3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidz" + - "IHByb21wdCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBs" + - "aWNpdCBsYXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNh" + - "bm5vdCBiZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIg" + - "KHVzZWZ1bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApu" + - "dmNmLWNsaSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BV" + - "IGZhbWlseSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRl" + - "IGNsdXN0ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVF" + - "RGAgaW5kZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICBy" + - "ZWdpc3RlcmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3Ry" + - "aWVzLCBlbnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlh" + - "bC1oZWxwZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkA" + - "AJ8ZAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGlu" + - "dm9rZSBhIGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0" + - "aW9uIENSRUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIg" + - "SU5WT0tFLgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEg" + - "SlNPTiBmaWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmly" + - "bSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVz" + - "ZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZl" + - "bnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsK" + - "ICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2Ui" + - "OiAiPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hv" + - "IiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3Qg" + - "ZWNobyBmdW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZv" + - "cm1hdCI6ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAg" + - "ICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQz" + - "MFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2Yt" + - "Y2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVu" + - "Y3Rpb24gSUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRo" + - "ZSBJRHMg4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1" + - "bmN0aW9uIHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNl" + - "dCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9k" + - "ZWxzW10ubGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0g" + - "dGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUg" + - "d2l0aCB0aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8g" + - "bm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBg" + - "YGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWlu" + - "ZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwi" + - "OiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwK" + - "ICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRo" + - "IiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3Rl" + - "ZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjog" + - "Ijxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1" + - "cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJl" + - "ZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAg" + - "ICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVp" + - "dmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAog" + - "IC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJt" + - "ZWQtY29udGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5j" + - "ZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgw" + - "MDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAg" + - "XAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0g" + - "XAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hh" + - "dC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9" + - "cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBs" + - "b3kgc3RlcCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25h" + - "bCBtb2RlbCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1" + - "bmN0aW9uIHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9" + - "PHZlcl9pZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5h" + - "bWU+LHJvdXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBg" + - "CgpVc2UgdGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1p" + - "dGA7IGNyZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9r" + - "ZW5SYXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBg" + - "U2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5s" + - "aW5lIENMSSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBh" + - "cyBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlu" + - "bGluZSBtb2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVs" + - "bSBjaGFydCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBl" + - "bmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0g" + - "ZnVuY3Rpb24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1D" + - "b25maWdgIGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNl" + - "TmFtZWAuIFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSBy" + - "ZW5kZXJlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNl" + - "cnZpY2UgcG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4" + - "YWN0IGZ1bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVy" + - "IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQg" + - "ZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxj" + - "b25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVy" + - "ZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewog" + - "ICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0Ijog" + - "ODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAy" + - "MDAKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1w" + - "bGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0" + - "U2VydmljZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAg" + - "ICAgICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjog" + - "ewogICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2Vz" + - "IiwgIi92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9i" + - "aW4iLAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBd" + - "Cn0KYGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + - "biBjcmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5m" + - "ZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0v" + - "aGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMg" + - "XAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0y" + - "MDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0u" + - "bmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEu" + - "MC50Z3ogXAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxs" + - "bS1tb2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxl" + - "dGlvbnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3Jv" + - "YmluLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQg" + - "Y2hhcnQtc3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5j" + - "b25maWd1cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoK" + - "CmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZl" + - "cl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAw" + - "IiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5j" + - "ZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5" + - "IjogMTAsCiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAg" + - "InRlbnNvclBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0" + - "ZXdheSByb3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxm" + - "dW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5W" + - "Q0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3Ry" + - "ZWFtIGNvbnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBw" + - "YXRoczoKCnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0" + - "aW9uc2AgfCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAv" + - "djEvcmVzcG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBm" + - "b3Igc3RyZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0" + - "cmVhbWluZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2Vt" + - "YmVkZGluZ3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0" + - "IG11c3QgYmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4g" + - "Tm8gc2Vzc2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24K" + - "ewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAog" + - "ICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJp" + - "bnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAog" + - "ICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9" + - "XQp9CmBgYAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCks" + - "IGBpbnN0YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNt" + - "YXRjaCByZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5j" + - "dGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMg" + - "Y29tbWFuZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChk" + - "ZWZhdWx0IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBv" + - "ZCBpcyBydW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1" + - "dGUtcGxhbmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVu" + - "Y3Rpb25gIHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJy" + - "eSB0aGUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAi" + - "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApu" + - "dmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rp" + - "b24tbmFtZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZj" + - "Zi1zdGctLi4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkg" + - "c3RhdGUgZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAq" + - "KkRvbid0IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJ" + - "TlZPS0UKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQi" + - "OiAiPHZlcl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBg" + - "CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5q" + - "c29uCiMg4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1" + - "bGZpbGxlZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBp" + - "bnZva2UgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBz" + - "aApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2No" + - "YXQvY29tcGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElf" + - "S0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewog" + - "ICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFt" + - "IjogdHJ1ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIi" + - "LAogICAgICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUg" + - "T3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5g" + - "IHNvIHRoZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3Bv" + - "bnNlcyBBUEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmlu" + - "dm9jYXRpb24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJl" + - "YXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9q" + - "c29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFt" + - "ZT4iLAogICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4i" + - "CiAgfScKYGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJo" + - "dHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0" + - "aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6" + - "IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZp" + - "cm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgog" + - "IH0nCmBgYAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxv" + - "eW1lbnQncyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBh" + - "bmQgc3VyZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMg" + - "ZG9uZSB3aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRl" + - "IC0tZnVuY3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZp" + - "cm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhl" + - "IGRlcGxveW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kg" + - "dGltZXMgY2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVu" + - "Y3kgb24gY29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0" + - "ZXN0cykuIEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRl" + - "YCBjb21tYW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90" + - "aCBgZ3B1YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQ" + - "VS5IMTAwXzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBm" + - "dW5jdGlvbidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1" + - "dGUtcGxhbmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sg" + - "YGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJ" + - "bWFnZVB1bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAAD0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxl" + - "ZC1pbnN0YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNG" + - "IGluc3RhbGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtp" + - "bmciLiBEb24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZl" + - "cmRpY3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAu" + - "CmBgYAoKVGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoK" + - "Ci0gKipgaGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0" + - "aGV5J3JlIGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJl" + - "bnQgbGF5ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRg" + - "Kiog4oCUIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBs" + - "aXN0IHdpbGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0" + - "aWFsaXppbmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYu" + - "Ci0gKipgZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhl" + - "IGNsdXN0ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5r" + - "bm93bmAqKiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1h" + - "eSBiZSBkb3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMg" + - "Mi4gRHJpbGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBj" + - "b21wb25lbnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2Fu" + - "ZHJhLTAgUG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBz" + - "aAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+" + - "IDxwb2Q+IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50" + - "cyArIGxhc3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVu" + - "bGVzcyB0aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGlu" + - "LXByb2dyZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwg" + - "TGlrZWx5IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0w" + - "IFBvZEluaXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBW" + - "IHN0dWNrIGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEg" + - "ZGVmYXVsdCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0" + - "b3JhZ2VjbGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + - "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + - "fCBgaGVsbSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBi" + - "ZWNvbWUgYXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkg" + - "Q1JEcyBub3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0" + - "ZXdheS1yb3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5z" + - "dGFsbCBlbnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZv" + - "eXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNy" + - "ZWF0ZS1uYW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9y" + - "IGNsdXN0ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdh" + - "cyBpc3N1ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mg" + - "c3RvcmVkIGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0t" + - "Y2x1c3Rlci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0" + - "ZSBwbGFuZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29y" + - "aXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0" + - "ZXIgcmVnaXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJv" + - "bCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdh" + - "aW4gfAp8IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRv" + - "cjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1" + - "aWxkcyBpdCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3Bl" + - "cmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0" + - "aCBpcykgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJy" + - "b3IpIHwgT2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBN" + - "KzUgZm9sbG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZh" + - "YTU3MDRgIHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhl" + - "eSBjb25maXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVs" + - "ZWFzZSBpbiByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwg" + - "bnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJT" + - "VDsgdGhlbiBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNs" + - "dXN0ZXItaWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJl" + - "Zm9yZSBhbnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24g" + - "aXMgZGVzdHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3Qg" + - "dG8gZG8KCi0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdu" + - "b3N0aWMgb25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0" + - "aGUgdXNlciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3Nl" + - "IGBrdWJlY3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQg" + - "ZGVsZXRlcyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlm" + - "ZmVyZW50IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3Rh" + - "dHVzYCAvIGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "aW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZD" + - "RiBmcm9tIHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBv" + - "biBhIGZyZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlz" + - "IGlzIHRoZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhl" + - "IHRvcG9sb2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBs" + - "YW5lIGFuZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAo" + - "Y29udHJvbCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBw" + - "cm9kdWN0aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAt" + - "LWNsdXN0ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4" + - "YW1wbGVzOiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBw" + - "cm9kdWN0aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29u" + - "dGV4dCBuYW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQ" + - "cmVwYXJlIHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2Fs" + - "IGszZC4gT25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRp" + - "YXRlbHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9p" + - "bnRzLiBGb3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQg" + - "YW5kCiAgIHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxh" + - "bmNlciBiZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3Qg" + - "YWxyZWFkeSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVk" + - "IEdhdGV3YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3Rh" + - "bmRhbG9uZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBs" + - "eSAtZiBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVh" + - "c2VzL2Rvd25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFt" + - "ZXNwYWNlIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNz" + - "IHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAg" + - "IGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRv" + - "CiAgICAga3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09" + - "dHJ1ZSAtLW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9j" + - "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYx" + - "LjEuMyBcCiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBw" + - "bHlpbmcgdGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxl" + - "ciBvd25zCiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVz" + - "dCB1bnRpbCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAg" + - "Y29uZmlndXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250" + - "cm9sbGVyIERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFn" + - "ZSBvciBleGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RF" + - "Ul9OQU1FPSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5h" + - "bWUgIiRFS1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVz" + - "TmV0d29ya0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRw" + - "dXQgdGV4dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2Fk" + - "LWJhbGFuY2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1" + - "ZWAgc2VsZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29t" + - "L2Vrcy9sYXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3" + - "aXNlLCBhIHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQg" + - "QmFsYW5jZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRo" + - "YXQgdGhlIGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3Vk" + - "IHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQg" + - "QmFsYW5jZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhl" + - "IGFwcGxpZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250" + - "cm9sbGVyLiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAg" + - "bWFwIGJlZm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6" + - "CiAgICAgbG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90" + - "YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5j" + - "ZXItc2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFX" + - "UyBjbG91ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRo" + - "OgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBz" + - "ZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgog" + - "ICBgYGAKCiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2lu" + - "ZyBsb2FkIGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kg" + - "YG5sYmAgc2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0" + - "YXJnZXQgdHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2Vy" + - "dmljZQogICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3Rz" + - "IG9uZSBTZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUg" + - "QVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kg" + - "U2VydmljZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2Ug" + - "dGhlIG1hcCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZv" + - "cmUgYXBwbHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6" + - "IHVzZSBBV1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAt" + - "IDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBr" + - "aW5kOiBFbnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNl" + - "OiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlw" + - "ZTogS3ViZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgog" + - "ICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0" + - "ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2Vy" + - "dmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBl" + - "OiAiaW5zdGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3Mt" + - "bG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJz" + - "aW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwog" + - "ICBtZXRhZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBn" + - "YXRld2F5LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0" + - "ZXJzUmVmOgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDog" + - "RW52b3lQcm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + - "eS1zeXN0ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lv" + - "bjogZ2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFk" + - "YXRhOgogICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + - "eQogICBzcGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAg" + - "IC0gbmFtZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAg" + - "ICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNl" + - "bGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAg" + - "ICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAg" + - "IHByb3RvY29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgog" + - "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAg" + - "c2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9w" + - "bGF0Zm9ybTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVz" + - "dCBiZSB1bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lT" + - "ZXJ2aWNlLmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUg" + - "Z2VuZXJhdGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwog" + - "ICBvbiB0aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1" + - "ZXMgYW5kIHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJf" + - "TkFNRT0ibnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhw" + - "b3J0IFJFR0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0i" + - "ZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXki" + - "CiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBv" + - "cnQgR1JQQ19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQ" + - "X0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAog" + - "ICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJl" + - "Y3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRF" + - "V0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91" + - "dD0xMG0KCiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdB" + - "WV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19H" + - "QVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAi" + - "Z2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "YWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0" + - "IDEKICAgdGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNU" + - "QUNLX0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAg" + - "dG8gdGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4K" + - "ICAgRm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUg" + - "R2F0ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZj" + - "Zi1jbGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERS" + - "fSIKICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191" + - "cmw6ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6" + - "ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7" + - "U1RBQ0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZv" + - "a2VfaG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2Vydmlj" + - "ZV9pZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFw" + - "aV9rZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAi" + - "c3ZjQG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAg" + - "YGBgCgozLiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRv" + - "cG9sb2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1h" + - "ZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAg" + - "LS1qc29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3ViZWN0" + - "bCBvbiBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0t" + - "cHJlIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWlj" + - "bXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBqcSAt" + - "YyAuCiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZhaWxz" + - "IChgInBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBtZXNz" + - "YWdlYCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBp" + - "bnN0YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5l" + - "ZWRlZC4gYG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVz" + - "ZXIgZG9lcyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRo" + - "cm91Z2ggdGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21w" + - "dXRlLW9ubHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBl" + - "dmVudCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAg" + - "LS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9J" + - "RH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAg" + - "Rm9yIHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBg" + - "YGBzaAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5l" + - "IgogICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAg" + - "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0i" + - "JHtDT05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9" + - "IiR7Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNU" + - "RVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7" + - "UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhh" + - "c2Vfc3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNl" + - "X3Byb2dyZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNv" + - "dXJjZSBjb3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBl" + - "cnNpc3RzIGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3Ag" + - "YW5kIHN1cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAg" + - "ICAgRGVjaWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1" + - "biBub3cgd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFm" + - "dGVyU2VjYCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9y" + - "ZW1lZGlhdGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAg" + - "ICAgYWN0IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQ" + - "cmludCBjbHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0" + - "YXR1cy4gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBl" + - "eHBlY3QKICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9z" + - "ZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0" + - "aW9uYWxseSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2Uu" + - "bWRdKGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAg" + - "aW52b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBm" + - "cmVzaCBjbHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNo" + - "YXJ0IHB1bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlk" + - "ZW1wb3RlbnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0" + - "ZS4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5" + - "KS4KLSBJZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWlu" + - "dGVyYWN0aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGlu" + - "dGVyYWN0aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3Mu" + - "bWRVVAUAAQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9w" + - "cGVkIGF1dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMu" + - "IFRoZSBLOHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBh" + - "bmQgdGhlIEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3Rh" + - "dGUKCi0gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + - "YW1lPW52Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVn" + - "aXN0ZXJgIHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRo" + - "IHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21h" + - "dGNoLCBub3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1w" + - "bGFuZSBLOHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoK" + - "MS4gQ29uZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVn" + - "aXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUg" + - "cm93IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIEZy" + - "b20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAo" + - "YmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandr" + - "c2ApOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxp" + - "ZD4gLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZldGNo" + - "ZXMgSldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJ" + - "Q01TLiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBudmNm" + - "LWNsaSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0ZWRB" + - "dGAgYWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3Vi" + - "ZXJuZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMgc2hv" + - "dWxkIHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0" + - "IGBjbHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElEICsg" + - "Z3JvdXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVkZXBs" + - "b3kgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkgZWRp" + - "dCBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0ZXMg" + - "SUNNUyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgY2x1" + - "c3RlciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWlsdXJl" + - "IG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1jYWxs" + - "b3V0IGhlYWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1hdXRo" + - "LWNhbGxvdXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29pZGNf" + - "YnlfY2x1c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAgY29u" + - "ZmlnbWFwIGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25vc2Ut" + - "ZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhvc2Ug" + - "Y2hlY2tzLgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMgVGVh" + - "ciBkb3duIGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFyZG93" + - "biBkZXN0cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFs" + - "IGtleXMsIHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1c2Vy" + - "IGJlZm9yZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBgdW5p" + - "bnN0YWxsYCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVhcmRv" + - "d24gc3VyZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0rMTEp" + - "OgoKfCBUaWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18LS0t" + - "fAp8IFBlci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5KSB8" + - "IGBpbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwg" + - "YHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVg" + - "IHwKfCBPcmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVwIC0t" + - "Y2x1c3Rlci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFsbGAg" + - "fAoKVXNlIGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9yIEdp" + - "dE9wcyAoY29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBlbGlu" + - "ZXMuIEFsd2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8IE1v" + - "ZGUgfCBMaXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0tfC0t" + - "LXwtLS18LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0b3Jz" + - "KSB8ICoqTm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1pdHMg" + - "cGhhc2UgcGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwgRXZl" + - "bnQgc3RyZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAocHJp" + - "bWl0aXZlcykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBgaGVs" + - "bSBnZXQgbWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286Cgot" + - "IGBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBvcmNo" + - "ZXN0cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFsbCAt" + - "LW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBtZSB0" + - "aGUgWUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFMV0FZ" + - "UyBwcmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0t" + - "Y2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVuLgpu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAKCiMj" + - "IFdoZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0tLXwt" + - "LS18CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8IGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1lIHRo" + - "ZSBzdGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1MIHRv" + - "IGNvbW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5p" + - "bnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBkZWxl" + - "dGUueWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1dGUg" + - "cGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiSnVz" + - "dCByZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBkb3du" + - "IC0tY2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJtIHNj" + - "b3BlIHdpdGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChjb21w" + - "dXRlIHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNvbXB1" + - "dGUgcGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9uIHRo" + - "aXMgY2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4iIChJ" + - "bXBvcnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2ZT10" + - "cnVlfHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJzaXN0" + - "ZW50IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQg" + - "dXNlciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3ZlLXBl" + - "cnNpc3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioq" + - "IgoKIyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBgCgpU" + - "aGlzIGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhlbG0g" + - "cmVsZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0IHdv" + - "dWxkIGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5k" + - "c1tdYCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxtIHVu" + - "aW5zdGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgojIyMg" + - "My4gRXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + - "dXN0ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYuNy4x" + - "KToKCjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoyLiBS" + - "ZXNvbHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1bnMg" + - "YGZ1bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBwb2xs" + - "cyB1bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNlfHBy" + - "b21wdGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1dGUg" + - "cGxhbmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBoZWxt" + - "IHVuaW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVyCjUu" + - "IFJlbW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVudGAp" + - "CjYuIFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMgNC4g" + - "VGVhciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0aGUg" + - "b3JjaGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMgYWxz" + - "byBnb2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCBy" + - "ZWZ1c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNNUy4g" + - "VXNlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipvbmx5" + - "KiogaWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFuZXMg" + - "KFBTQVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3RhcnQg" + - "ZmFpbGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVlbmNl" + - "IGJlZm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcKCmBg" + - "YHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhpcyBp" + - "dGVyYXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0aGUg" + - "cGVyLWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1hbGwt" + - "Y29uY3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhlIGNs" + - "dXN0ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHByb21w" + - "dCBmb3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhhcyBB" + - "cmdvIC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0ZSBw" + - "bGFuZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRl" + - "LXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3IgY29t" + - "bWl0cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxpZXMg" + - "dGhlIGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNvbW1p" + - "dCAtbSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBBcmdv" + - "IHN5bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhlIElD" + - "TVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJfSUQK" + - "YGBgCgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1c3Rl" + - "ciBkZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93aW5n" + - "IEdpdE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHksIG9y" + - "IHVzZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkKCklm" + - "IGBkb3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1hbmQq" + - "Ki4gVGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNraXBz" + - "IHJlbGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAtLWln" + - "bm9yZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQaGFz" + - "ZSA0ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBzZWNv" + - "bmQgcnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNhdGVn" + - "b3J5OiAiaGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRp" + - "b24iYCDihpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0PeKA" + - "pmAgKHRoZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4gcmUt" + - "cnVuIGBkb3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1hdGlv" + - "bi4KLSBgZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVyX3Jl" + - "bWVkaWF0aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIgdXNl" + - "ciBwYXNzZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3QuIFJl" + - "LXJ1biB3aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJvbXB0" + - "YCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1cmZh" + - "Y2UgYGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4gU1RP" + - "UC4gRG8gbm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlzIGNv" + - "bmZpcm0KCkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFs" + - "bGAgaW52b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBTdGF0" + - "ZSB0aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hhdCdz" + - "IGxvc3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5jcC1s" + - "b2NhbGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElDTVMi" + - "KS4KLSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3RhdGUg" + - "dGhhdCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRlZCBh" + - "bmQgdGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNlciBj" + - "b25maXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1" + - "c3RlcnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUgb3Jw" + - "aGFuZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBleHBs" + - "YWluaW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBpcyBv" + - "biBhIENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gKIyBQ" + - "ZXIgY29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0YWxs" + - "IG52Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAt" + - "biBudmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIC1u" + - "IG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0ZW0K" + - "CiMgRHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXIt" + - "aWQ9PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250ZXh0" + - "KToKY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2VzIGhl" + - "bG1maWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBzdGFj" + - "ayBidW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4vbnZj" + - "Zi1jb21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1hbnVh" + - "bCBwYXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGluc3Rh" + - "bGxlZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIgYXNr" + - "cyAid2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhlIFN0" + - "YXRlZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5IGBo" + - "ZWxtIHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRpb25h" + - "bGx5IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8gd2lw" + - "ZSBjb21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQKYGBg" + - "CgpPciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiBj" + - "YXNzYW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0ZW0g" + - "LS1hbGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0aXZl" + - "IHN0ZXAuClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIjIGBu" + - "dmNmLWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdheXMg" + - "cGFpciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtleGl0" + - "LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1ob3N0" + - "ZWQgbGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8LS0t" + - "fC0tLXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFByZS1m" + - "bGlnaHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBl" + - "ci1yb2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3RlZCBj" + - "aGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2UgaGVh" + - "bHRoeSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRgIGVs" + - "YXBzZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + - "bWU9WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFtaW5n" + - "IGV2ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8IGBz" + - "ZWxmLWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFsbCBv" + - "ZiB0aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0YWxs" + - "IC0tY29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZQU1M" + - "IG9uIHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhvc3Rl" + - "ZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVyIGNs" + - "dXN0ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9uZSBp" + - "bnZvY2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1u" + - "YW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5KSBz" + - "dGRvdXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5lczsg" + - "Zm9yIGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9zdGVk" + - "IHVwIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwgSlNP" + - "Tkwgb24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8CnwgYHNl" + - "bGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29tcHV0" + - "ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3RkZXJy" + - "IHwgRm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3RhbGwu" + - "IENQIG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9" + - "WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pTT05M" + - "IHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZl" + - "OiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdp" + - "c3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9uIHRo" + - "YXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJpbWl0" + - "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8" + - "IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0tZm9y" + - "Y2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAt" + - "LW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFu" + - "aWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8gYGt1" + - "YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBgaW5z" + - "dGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WCBb" + - "LS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6IGRy" + - "YWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJ" + - "Q01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXItbmFt" + - "ZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVzdHJh" + - "dG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBw" + - "bGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1cnJl" + - "bmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0aXZl" + - "IHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9yIGRy" + - "eS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBoZWxt" + - "L2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBhY3R1" + - "YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJwb3Nl" + - "IHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1u" + - "Y2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBhIEpX" + - "S1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBzdGFu" + - "ZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lzdGVy" + - "ZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1c3Rl" + - "ciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1qc29u" + - "YCBmb3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0" + - "ZXItaWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBBZnRl" + - "ciBLOHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVsZXRl" + - "IC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBjb25m" + - "aXJtIHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5v" + - "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVg" + - "IHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZlcnNp" + - "b24gSUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVs" + - "c1tdLmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNw" + - "b25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1bmN0" + - "aW9uIGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0aW9u" + - "IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0YWRh" + - "dGEgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1W" + - "SUQgLS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVuY3Rp" + - "b24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2RlbC11" + - "cGRhdGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNgIHVz" + - "ZXMgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxs" + - "aW1pdD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFncy5t" + - "ZCkgfAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNjaGVk" + - "dWxlIGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykgfAp8" + - "IGBmdW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCBb" + - "LS1qc29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZFXHxE" + - "RVBMT1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAtLWlu" + - "cHV0LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBmdW5j" + - "dGlvbiBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBT" + - "dG9wIGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9uIGlu" + - "dm9rZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJlcXVp" + - "cmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9rZWQg" + - "dGhyb3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0aW9u" + - "LWlkPi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPUlE" + - "IC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoqREVT" + - "VFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFuZHMg" + - "cmVxdWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBOVkNG" + - "X0JBU0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBhIGZy" + - "ZXNoIHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRlYCBh" + - "bmQgaW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFsdWU7" + - "IGNoZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0aCBg" + - "YXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1biBg" + - "YXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5ldyBr" + - "ZXkuCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sg" + - "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdlPUlN" + - "R2AgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0YXRl" + - "OyB1c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sgY3Jl" + - "YXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hhcnQ9" + - "Q0hBUlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMgYC0t" + - "aW1hZ2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEgdGFz" + - "ayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGNv" + - "bmZpZ3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0PU5d" + - "YCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVzZXM6" + - "IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAs" + - "IGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9N" + - "QVhfUVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNrIGRl" + - "dGFpbHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBgdGFz" + - "ayBldmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRzIGZv" + - "ciBhIHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRp" + - "ZmFjdHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBgcmVz" + - "dWx0SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3Vw" + - "cG9ydGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0YXNr" + - "IHwgTm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRlIFt0" + - "YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElEICsg" + - "Y3VycmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBleHBs" + - "aWNpdGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBub3Qg" + - "dHJlYXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8Cnwg" + - "YHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgVXBk" + - "YXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRh" + - "dGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBwcmVz" + - "ZXJ2ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0tdGFz" + - "ay1pZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBp" + - "biBvbmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8" + - "CnwtLS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMg" + - "dmlhIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1jbGku" + - "c3RhdGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAoZnVu" + - "Y3Rpb24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwgbGFz" + - "dCBlbmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1ob3N0" + - "ZWQgc3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNrXSBb" + - "LS1kZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlzIHwg" + - "RGVmYXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFuZCBh" + - "IHRhc2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMgb25l" + - "IG9ubHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUg" + - "LS12YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVyYXRl" + - "ZCBrZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5jZSAo" + - "TlZDRiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1rZXkg" + - "bGlzdGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1zY29w" + - "ZWQga2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJldm9r" + - "ZSBLRVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiogfAp8" + - "IGBhcGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0YXRl" + - "IHwgfAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + - "LS0tfC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0YWxs" + - "IGFsbCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxzL2Ag" + - "YW5kIGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRpcmVj" + - "dG9yaWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJlbW92" + - "ZSBvbmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNlIHNr" + - "aWxscyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWluIHwK" + - "fCBgYWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBGb3Ig" + - "ZGVidWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEgYW5k" + - "IGVtYmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEjAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + - "ZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVzCgpT" + - "dGFibGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0cnkg" + - "LyBzdXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMgfAp8" + - "LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxs" + - "IGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBI" + - "ZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZ" + - "QU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNo" + - "ZWNrYCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsg" + - "a3ViZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0" + - "ZXItdmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwg" + - "ZmFpbHVyZSwgdGltZW91dCkuIFdhcm5pbmctc2V2ZXJpdHkgcmVzdWx0cyBleGl0IGAwYCB8Cnwg" + - "YDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAg" + - "c2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVg" + - "IHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRp" + - "bWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3JlIGR1cmF0aW9uIHwKfCBg" + - "MTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQvU0lHVEVSTSB8IFVzZXIgQ3RybC1DOyBDSSBidWRn" + - "ZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQgcmVhY3QK" + - "CnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGludWUgLyBy" + - "ZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBiZWZv" + - "cmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0byByZWFk" + - "IHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIgYGhp" + - "bnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVxcy4g" + - "fAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0tdG9r" + - "ZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1YCB8" + - "IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhlIHN0YWxs" + - "ZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1dG9tYXRp" + - "Y2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1bm5p" + - "bmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBpdHMg" + - "b3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGBmYWls" + - "ZWRDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9j" + - "aS1waXBlbGluZXMubWRgLiBBIGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMgYGZpbmFs" + - "YCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7IGB1cGAg" + - "ZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0LiBFdmVyeSBvdGhlciBub24temVybyBl" + - "eGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVy" + - "ckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNs" + - "YXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5r" + - "bm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnBy" + - "b2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBp" + - "biBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4K" + - "UEsHCA/3S8WQCAAAkAgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBm" + - "bGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwg" + - "Q29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8" + - "IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwg" + - "SlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5v" + - "bi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFj" + - "cm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + - "LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s94oCmYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxl" + - "IHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQg" + - "T0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9" + - "4oCmYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + - "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + - "fAp8IGAtLWVudj1sb2NhbFx8cHJkXHzigKZgIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZSB8" + - "IGBsb2NhbGAgZm9yIGRldiBidWlsZHMsIGBwcmRgIGZvciByZWxlYXNlcyB8CnwgYC0tbm9uLWlu" + - "dGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10" + - "b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8Cnwg" + - "YC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3Rs" + - "IGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFz" + - "IGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0" + - "YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0" + - "ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgYmxvY2sgdW50aWwgcGFz" + - "cyB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0" + - "IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFu" + - "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1Ymxp" + - "YyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20g" + - "YGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRo" + - "ZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZl" + - "ciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIENMSSBwcmludHMgYSBub3RlIHNheWluZyBzby4g" + - "RW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNo" + - "ZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVg" + - "LCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3Rz" + - "IGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZs" + - "aWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMg" + - "cmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1h" + - "bGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkIHwgYGZhbHNlYCB8CnwgYC0t" + - "Y29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNv" + - "bXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxg" + - "IHwgRXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmlu" + - "ZWQgd2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1" + - "c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlm" + - "eS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVk" + - "IHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRg" + - "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMj" + - "IyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGlu" + - "IHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2Nv" + - "dW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQgYW5kIHJlbW92" + - "ZXMgdGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBl" + - "cm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRv" + - "ciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + - "VE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3" + - "aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lz" + - "dHJ5LiBVbnNldCBldmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0g" + - "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRy" + - "YSByZWdpc3RyaWVzIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNo" + - "YWJpbGl0eS4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVs" + - "bHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xv" + - "YmFsLmltYWdlLnJlZ2lzdHJ5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBB" + - "Q01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIu" + - "aW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBub24tY3JpdGljYWwsIG9ubHkgd2hlbiBu" + - "ZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFJlcGVhdGFi" + - "bGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9S" + - "RUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAt" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRo" + - "ZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBO" + - "ZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXIt" + - "Z2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9J" + - "TUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5" + - "Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1z" + - "ZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRv" + - "IHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSBsb29rcyBmb3Ig" + - "b25lIGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRvIGBkZWZhdWx0YCBm" + - "b3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1hZ2Ugb24gYW4gTkdD" + - "IHJlZ2lzdHJ5LCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgIHwgYXV0by1kZXRlY3Qg" + - "fAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFs" + - "aWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0" + - "IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxp" + - "Y2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdl" + - "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBm" + - "YWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBv" + - "ZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGxhdGVy" + - "IGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRoZSByZXN1bHQgcHJpbnRzIHRo" + - "ZSBga3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNl" + - "YCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBz" + - "dGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04s" + - "IGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdo" + - "ZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNw" + - "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1j" + - "bHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVk" + - "KSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRg" + - "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + - "IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQg" + - "Y2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExp" + - "bWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8" + - "IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2" + - "YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVg" + - "IHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lw" + - "IGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmlj" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5B" + - "TUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + - "IElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13" + - "ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmln" + - "IHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFp" + - "bC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0" + - "aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0" + - "IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRh" + - "YmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4" + - "cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBh" + - "cnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFND" + - "T1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2" + - "aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQg" + - "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0" + - "aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRg" + - "IChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + - "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBk" + - "ZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + - "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwK" + - "fCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + - "dXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJl" + - "bmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5j" + - "dGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVG" + - "QVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + - "ZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0" + - "LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5B" + - "TUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVp" + - "cmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + - "UlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2Rl" + - "bD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1p" + - "dD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5g" + - "IHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBV" + - "c2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNw" + - "ZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + - "dC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJp" + - "b3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0t" + - "cGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9y" + - "aXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0Eg" + - "SUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09O" + - "IGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4g" + - "YGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0g" + - "cGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBg" + - "L3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGlu" + - "Z3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBv" + - "d2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpg" + - "bGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFy" + - "YXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZv" + - "cm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBg" + - "SGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5p" + - "dHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAw" + - "MDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2th" + - "Z2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBi" + - "YWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0" + - "YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRo" + - "ZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJu" + - "ZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExN" + - "IGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + - "bWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + - "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBS" + - "ZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBm" + - "b3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBm" + - "dW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3Mg" + - "fCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9y" + - "bWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + - "bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAu" + - "IFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmlu" + - "ZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZ" + - "YCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0" + - "aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwg" + - "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + - "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + - "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + - "IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11g" + - "IGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBh" + - "bmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUg" + - "bW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1" + - "bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + - "Y29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQg" + - "SURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBm" + - "YW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQ" + - "VS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8" + - "CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJl" + - "cXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBk" + - "ZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3Bl" + - "Y2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBj" + - "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + - "ZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUg" + - "KHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAg" + - "fAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + - "ZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFu" + - "Y2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQ" + - "LkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0" + - "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hB" + - "UlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2" + - "ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVj" + - "IGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQg" + - "fAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3Rl" + - "cnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8" + - "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3Nl" + - "ZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0t" + - "ZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFs" + - "dWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVw" + - "ZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElP" + - "TmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5v" + - "IGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJ" + - "T05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwg" + - "U2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05g" + - "IHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVm" + - "YXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRv" + - "IGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9u" + - "IExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFt" + - "LW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExP" + - "QURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7" + - "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNv" + - "dXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRh" + - "c2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNr" + - "IGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRl" + - "bGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURg" + - "IHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1l" + - "dHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIrEyK" + - "o8syAADLMgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNo" + - "b290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRp" + - "b24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50" + - "cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFw" + - "IHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1m" + - "bGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + - "YGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVk" + - "ZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8v" + - "ZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBB" + - "VEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxs" + - "YXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9j" + - "cy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBl" + - "bnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2Nr" + - "ZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBh" + - "dmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1" + - "YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + - "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + - "fCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBH" + - "UFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + - "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQ" + - "VSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlk" + - "aWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNv" + - "bS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRv" + - "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJl" + - "cXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRv" + - "a2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9r" + - "ZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + - "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + - "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + - "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMg" + - "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4g" + - "dG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFw" + - "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8Cgoj" + - "IyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + - "LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3Nh" + - "bmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0" + - "b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVt" + - "YCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRl" + - "cGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1Ug" + - "fCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgi" + - "YCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05g" + - "IGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkg" + - "dmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVy" + - "cm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBj" + - "b21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFk" + - "ZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJh" + - "dG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + - "b3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBr" + - "M2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rl" + - "cj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + - "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0" + - "aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUg" + - "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7" + - "IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyBy" + - "ZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0" + - "ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZv" + - "ciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0" + - "Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNs" + - "aSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1h" + - "Z2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBl" + - "ciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNm" + - "LWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlv" + - "biBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQg" + - "bGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBo" + - "ZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + - "L25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1" + - "cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9y" + - "IGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBg" + - "cmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNy" + - "ZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3Rl" + - "ZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBj" + - "cmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFi" + - "b3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSBy" + - "ZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwg" + - "LW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1t" + - "ZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0K" + - "bmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIElu" + - "c3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBh" + - "cmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBD" + - "TEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlk" + - "ZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUt" + - "cGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2Vu" + - "ZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwg" + - "b3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVu" + - "dmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVh" + - "ZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+" + - "PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwg" + - "bWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29y" + - "ZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2Ys" + - "IHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21w" + - "dXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNl" + - "Y3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgog" + - "IGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdA" + - "ZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2Vs" + - "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + - "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + - "c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVs" + - "bSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNl" + - "bGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hp" + - "bmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMu" + - "CgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBv" + - "ciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + - "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVz" + - "IGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJM" + - "TE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + - "c3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMK" + - "CkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZv" + - "ciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMg" + - "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9l" + - "bnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFu" + - "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxt" + - "ZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBt" + - "aXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBi" + - "YXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQt" + - "dmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29u" + - "dHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxl" + - "IHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcg" + - "YW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVy" + - "c2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhl" + - "bG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAg" + - "ICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMg" + - "Q2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29u" + - "dHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5n" + - "b3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxu" + - "YW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVz" + - "ZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + - "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBW" + - "YWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBt" + - "b3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMv" + - "YmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQg" + - "YnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVj" + - "dHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2Vj" + - "cmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJl" + - "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpD" + - "cml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + - "YyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBz" + - "dG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "IGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9j" + - "ay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNo" + - "YXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNw" + - "YWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkp" + - "CgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + - "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVs" + - "bCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2Ug" + - "dG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1z" + - "ZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5" + - "CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVp" + - "cmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + - "Y2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRl" + - "ZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJl" + - "ZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9u" + - "PiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3Rk" + - "aW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTog" + - "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3Qg" + - "KG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVy" + - "YWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZl" + - "IHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBz" + - "aWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9y" + - "ZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEg" + - "NDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlv" + - "dSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUt" + - "cnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFj" + - "aCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxr" + - "ZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0" + - "aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0" + - "cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQp" + - "IFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21h" + - "dGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRo" + - "YXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1" + - "bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3Jr" + - "bG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2lu" + - "dCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgox" + - "LiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTog" + - "PHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAg" + - "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3Vy" + - "Y2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJy" + - "b3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5Pgog" + - "ICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1h" + - "bmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0" + - "IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAo" + - "YG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVs" + - "bQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVs" + - "bSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRo" + - "b3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNv" + - "dXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0" + - "aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hh" + - "cnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgog" + - "ICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3It" + - "c3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5o" + - "ZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0" + - "aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5" + - "ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVs" + - "bCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUg" + - "cGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0" + - "aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVs" + - "bFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkg" + - "bG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFs" + - "OiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAg" + - "PiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwg" + - "c28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkg" + - "aG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2Ug" + - "aXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBn" + - "bG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFz" + - "IGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRz" + - "IGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFz" + - "aApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1u" + - "IDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52" + - "YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBi" + - "ZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0" + - "aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4g" + - "VGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBv" + - "cmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1" + - "Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9B" + - "RERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwg" + - "dXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBg" + - "R0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGds" + - "b2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVz" + - "dGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgoj" + - "IyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQg" + - "Qk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRz" + - "IGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBj" + - "YXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2" + - "aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0" + - "IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtl" + - "ZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29w" + - "cyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBT" + - "ZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFz" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMK" + - "CkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwg" + - "U2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0t" + - "LS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + - "IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3Jv" + - "dXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90" + - "YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5p" + - "dHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + - "ZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5" + - "IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8" + - "IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGlu" + - "IGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBg" + - "CgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5" + - "IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1m" + - "YWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJk" + - "IE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4g" + - "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYg" + - "dGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdh" + - "dGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + - "c2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0" + - "aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQg" + - "aW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFu" + - "aXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoK" + - "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + - "bmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmlj" + - "IGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBp" + - "bmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZh" + - "bml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRl" + - "ZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoK" + - "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5" + - "YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5p" + - "dHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5" + - "IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + - "by9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkg" + - "dmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3Rh" + - "bmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMg" + - "dHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJv" + - "dXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5" + - "CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + - "ZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + - "eQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5l" + - "dC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBs" + - "eSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2Vz" + - "L252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + - "cGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29t" + - "cHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3Rs" + - "eSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0" + - "aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3Rh" + - "bGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1" + - "c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + - "LAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + - "ZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwg" + - "YW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29t" + - "cHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBm" + - "b3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpT" + - "Y29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5l" + - "IGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8t" + - "c2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRp" + - "b24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBv" + - "cHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "LCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52" + - "ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFj" + - "ZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2Ug" + - "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0" + - "aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVs" + - "ZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5l" + - "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFt" + - "ZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcg" + - "bmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoK" + - "IyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "bnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMi" + - "IC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + - "ZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhl" + - "bG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9u" + - "bHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBg" + - "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5p" + - "bWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0" + - "IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFs" + - "dWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + - "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + - "b3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRp" + - "b246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6" + - "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0g" + - "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + - "ZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + - "bWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAg" + - "ICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6" + - "IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDog" + - "KmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkg" + - "YSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5" + - "CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3Jl" + - "ZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQg" + - "cnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlm" + - "IHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwg" + - "QVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQg" + - "fAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGlt" + - "YWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVu" + - "Y3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmpl" + - "Y3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0" + - "cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNB" + - "UlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8g" + - "YHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQg" + - "YHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJl" + - "Y3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwg" + - "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290" + - "c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZp" + - "Z2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBM" + - "QUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2" + - "NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29u" + - "c3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+" + - "IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhl" + - "IGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgi" + - "JG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZ" + - "IiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4p" + - "YC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVg" + - "IHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3" + - "b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lk" + - "ZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJl" + - "Z2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBh" + - "IGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBl" + - "bmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBz" + - "dGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChw" + - "cmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBi" + - "YW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + - "IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwg" + - "cmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + - "dAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAg" + - "IyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGkt" + - "b3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5j" + - "dGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZm" + - "ZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRo" + - "ZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2Fy" + - "IHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBN" + - "aXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIg" + - "YXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVk" + - "ZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkK" + - "ClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5" + - "IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFj" + - "ZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBj" + - "b25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAoj" + - "IDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + - "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + - "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVh" + - "dGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + - "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAz" + - "LiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJu" + - "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZl" + - "cnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFt" + - "ZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2Vj" + - "cmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5l" + - "ZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNS" + - "IHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBw" + - "dWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + - "bWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNr" + - "IHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2" + - "ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMK" + - "YGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4" + - "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEg" + - "VW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNy" + - "ZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBz" + - "dHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwg" + - "Q2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAg" + - "KyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBu" + - "byBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8" + - "IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFk" + - "IG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8u" + - "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtT" + - "IC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1p" + - "Z3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAj" + - "NC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBz" + - "bWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwK" + - "fCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0" + - "aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5E" + - "UkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1" + - "bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBp" + - "biB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + - "IHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVu" + - "ZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8" + - "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVs" + - "bSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdh" + - "eSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8" + - "IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4g" + - "c2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + - "b290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQw" + - "NCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxs" + - "IGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2Fz" + - "IHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBz" + - "byB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUt" + - "cnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVy" + - "aWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQg" + - "dmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJk" + - "Y29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGlt" + - "ZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVj" + - "dG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25z" + - "YCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2Ug" + - "dmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRh" + - "ZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAg" + - "ZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBT" + - "ZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25m" + - "aWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBh" + - "Y2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlg" + - "IHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4g" + - "QmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3Vj" + - "Y2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVw" + - "YWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyks" + - "IHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1" + - "YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5r" + - "bm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5p" + - "bmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpv" + - "YiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVs" + - "ZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3Qg" + - "aWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUK" + - "aG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291" + - "bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRl" + - "ZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVz" + - "Lm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + - "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFu" + - "ZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVm" + - "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2Vz" + - "L3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + - "ZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tp" + - "bGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFu" + - "ZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + - "anNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIs" + - "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + - "bXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJz" + - "dCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0" + - "ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5v" + - "dCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5k" + - "IGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBw" + - "cm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVk" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2" + - "ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwg" + - "bW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + - "aXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBh" + - "bmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9u" + - "IGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + - "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1" + - "aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0" + - "aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0" + - "byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBw" + - "cmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJ" + - "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90" + - "IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxl" + - "IHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZp" + - "ZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5k" + - "bHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + - "YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "Ikc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3Bh" + - "Y2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + - "IHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + - "cy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0" + - "LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBz" + - "dHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + - "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + - "dXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQg" + - "dGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + - "dG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0" + - "bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5h" + - "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + - "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + - "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBk" + - "aXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5h" + - "bGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtm" + - "bG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQg" + - "YSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBU" + - "aGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVw" + - "ZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNv" + - "bnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJh" + - "cmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxk" + - "cywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFr" + - "ZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1" + - "dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQg" + - "d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJl" + - "Z2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + - "dGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxs" + - "ZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhl" + - "IGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3Vy" + - "bCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNf" + - "dXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3Qg" + - "Zm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVT" + - "VEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwg" + - "SEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + - "aGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNv" + - "bmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWlj" + - "bXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURD" + - "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRp" + - "ZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGlj" + - "YXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNh" + - "dXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + - "byBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + - "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElf" + - "S0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + - "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + - "Q0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2Yg" + - "dGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMg" + - "Zm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmls" + - "ZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdo" + - "ZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIg" + - "dG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4g" + - "SXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5n" + - "IGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxl" + - "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0" + - "aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAg" + - "ICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVh" + - "biBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + - "S1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBl" + + "dGwgYXBwbHlgLiBJbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwgbGV0IHRo" + + "ZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAgLSBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4gcmVu" + + "ZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3Rh" + + "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkgPiByZW5k" + + "ZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0IGNv" + + "bW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29DRCBv" + + "ciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIgdG91" + + "Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hpY2gg" + + "bXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBzY3JpcHQ6" + + "CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlkPSRO" + + "Q0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9yZS1leGlz" + + "dGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMgTXVs" + + "dGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55IGNvbXB1" + + "dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVwbG95X2Nv" + + "bXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNURVI6IG5j" + + "cC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0gQ0xVU1RF" + + "UjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAgICAgLSBD" + + "TFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAgc2NyaXB0" + + "OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRD" + + "TFVTVEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAgICAgICAt" + + "LWljbXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FETUlOX0pX" + + "VAogICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFjaCBwYXJh" + + "bGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdhaW5zdCB0" + + "aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMjIFBsYW4t" + + "b25seSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjog" + + "JENJX1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAg" + + "ICAtIHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1u" + + "YW1lPSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24g" + + "fCB0ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNv" + + "bgogICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxg" + + "anNvblxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRz" + + "IDAgd2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3Rz" + + "IGVhY2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwgU" + + "m+5a2g0AANoNAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVz" + + "dGVyIHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBs" + + "YW5lIG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoK" + + "VGhlIGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUg" + + "aXMgcmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJv" + + "bCBwbGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09O" + + "RklHPWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + + "fCBrdWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9s" + + "LXBsYW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21wdXRlIHBs" + + "YW5lOgpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBhZG1pbkBn" + + "cHUtZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2Yu" + + "ZXhhbXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1ub24taW50" + + "ZXJhY3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRlIHBsYW5l" + + "cyByZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0k" + + "TkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNbXSB8IHtu" + + "YW1lOiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENvbXB1dGUt" + + "cGxhbmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3RsIGFj" + + "Y2VzcyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBpcyBv" + + "cGVyYXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBwbGFu" + + "ZSBmb3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1YmxpYyBh" + + "cGkgZ2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMgcmVh" + + "Y2hhYmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3MgbmVl" + + "ZGVkKToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxlLmNv" + + "bQoKIyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToKbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20g" + + "XAogIC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5u" + + "dmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVyYWN0" + + "aXZlCgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29udHJv" + + "bC1wbGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBz" + + "Oi8vaWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVj" + + "aWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5l" + + "cyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVu" + + "Y3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95" + + "bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VU" + + "eXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJ" + + "bnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoK" + + "VGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0" + + "cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNo" + + "b29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZh" + + "bi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQg" + + "Y29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlk" + + "PSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVyc1td" + + "LmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNvbXB1" + + "dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSByZWFk" + + "IE5BTUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBz" + + "dGF0dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVzdGVy" + + "LCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUgPCBj" + + "bHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRpdmUg" + + "ZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24ndCBu" + + "ZWVkIGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxh" + + "bmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJv" + + "bCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmluZyBz" + + "b21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2FpbnN0" + + "IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRyb2wg" + + "cGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2VyIG11" + + "c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5lKiog" + + "aW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4aXN0" + + "aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tYCku" + + "Ci0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBhYmls" + + "aXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJvbCBw" + + "bGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRoZSBB" + + "UEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3RsIGFj" + + "Y2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9uZS4p" + + "Ci0gQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIGFs" + + "cmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVn" + + "aXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNrLgoKIyMg" + + "U3RlcHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVuaXF1" + + "ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Egc2Nv" + + "cGUKICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhlIG5ldyBH" + + "UFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2lj" + + "bXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJM" + + "CiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJlLWZsaWdo" + + "dCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAg" + + "ICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAgIFRo" + + "aXMgdmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9kZSBsYWJl" + + "bHMgYXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRkcmVzcyBh" + + "bnkgZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1dGUtcGxh" + + "bmVgOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBcCiAg" + + "ICAgLS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMgaXMgYSBz" + + "ZXBhcmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21wdXRlLXBs" + + "YW5lLXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1IChyZWdp" + + "c3RlciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24gdGhlIG5l" + + "dyBjb21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxhbmUgYW5k" + + "IGRvZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUgY29udHJv" + + "bCBwbGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10b2tlbmAg" + + "aXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50IG9uZSBm" + + "cm9tLgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0" + + "ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHki" + + "YC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBu" + + "b3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5kLWludm9r" + + "ZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0" + + "byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMg" + + "V2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGFk" + + "ZC1jb21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4aXN0aW5n" + + "YCBzZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBhbmQgcmV1" + + "c2UgaXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0aGUg" + + "c2FtZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0aGF0" + + "IHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNzLgot" + + "ICoqRGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vjb25k" + + "IGF0dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUgcGxh" + + "bmUncyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21wdXRl" + + "IHBsYW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNvbmZp" + + "cm0gd2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVuIGlu" + + "IGRvdWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + + "Q0FfSUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUgcHJv" + + "Y2VlZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUNAAAFDQAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1biBh" + + "IHRhc2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4gbW9u" + + "aXRvciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBrZXlz" + + "CgpUaGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZvY2F0" + + "aW9uIHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + + "ZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKIyAt" + + "PiBmdW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBgCgpC" + + "b3RoIGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNrIGtl" + + "eToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0" + + "aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRlIGVh" + + "Y2gga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5" + + "IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPTho" + + "IC0tdmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQojIC0+" + + "IHRhc2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBrZXkg" + + "dmFsdWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQgdGhl" + + "IGtleSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBuZXZl" + + "ciB0aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVmb3Jl" + + "IHJ1bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwgdmVy" + + "aWZ5IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBzZXQ6" + + "CgogICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBl" + + "Y2hvIHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3Jl" + + "ZCBrZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAgcHl0" + + "aG9uMyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0aCgn" + + "fi8ubnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChzLmdl" + + "dCgnbnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRoZSBl" + + "eHBpcnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNoCiAg" + + "IG52Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNr" + + "IC0tZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAg" + + "YGBgCgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYgd2l0" + + "aG91dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHByZWZp" + + "eCDigJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNhdGlv" + + "bjoKCi0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5" + + "IG5vdCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVk" + + "IG9yIHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7" + + "IG5vIHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmlu" + + "ZSB0aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6" + + "CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNp" + + "ZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1Au" + + "R1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5l" + + "ckltYWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6" + + "ICJweXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRs" + + "aW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0t" + + "aW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBg" + + "YAoKQ2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNl" + + "IGNhbiBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJz" + + "ZXF1ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVp" + + "dmFsZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1" + + "PUgxMDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1u" + + "Y3AtbG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29u" + + "dGFpbmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJl" + + "c3VsdC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVz" + + "dGVyOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFp" + + "bmVyLmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50" + + "IHZhcmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xp" + + "IHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRh" + + "aW5lci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAK" + + "Cm9yIHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52" + + "aXJvbm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0s" + + "CiAgInNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3Iz" + + "dCJ9CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1" + + "cm5lZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVt" + + "LgoKIyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2Ug" + + "YGNvbnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAi" + + "c21va2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEw" + + "MCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6" + + "ICJuY3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlh" + + "LmNvbS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRs" + + "aW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0t" + + "aW5wdXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBo" + + "ZWxtQ2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgoj" + + "IyAzYi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRh" + + "c2sgdXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVw" + + "ZGF0ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFy" + + "ZSBhZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4g" + + "dGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRv" + + "IGNoYXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0" + + "YXNrIGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5H" + + "CmBgYAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVj" + + "ZW50IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2" + + "YWx1ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJS" + + "T1JFRGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENF" + + "RURFRF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3Ig" + + "cHJvZ3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNr" + + "IGV2ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwg" + + "Y2hlY2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyBy" + + "ZWdpc3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJ" + + "ZiB0aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5z" + + "IHRoZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3Qg" + + "dGhlIHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgK" + + "YGt1YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4K" + + "CiMjIDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0" + + "cmF0ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0" + + "YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9h" + + "ZCB0byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3Mg" + + "Y3JlZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRl" + + "cgp0aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1" + + "bHRzIDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0" + + "ZWQgaW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNr" + + "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0" + + "YXNrIHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNm" + + "LWNsaSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhl" + + "IHVzZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBp" + + "dHMgY3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHBy" + + "b21wdCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNp" + + "dCBsYXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5v" + + "dCBiZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVz" + + "ZWZ1bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNm" + + "LWNsaSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZh" + + "bWlseSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNs" + + "dXN0ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAg" + + "aW5kZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdp" + + "c3RlcmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVz" + + "LCBlbnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1o" + + "ZWxwZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkAAJ8Z" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9r" + + "ZSBhIGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9u" + + "IENSRUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5W" + + "T0tFLgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNP" + + "TiBmaWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0" + + "aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIu" + + "IElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQg" + + "b3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAi" + + "bmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAi" + + "PGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwK" + + "ICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNo" + + "byBmdW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1h" + + "dCI6ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAi" + + "dXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMi" + + "LAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xp" + + "IGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rp" + + "b24gSUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJ" + + "RHMg4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0" + + "aW9uIHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBg" + + "ZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxz" + + "W10ubGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhl" + + "IGV4YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0" + + "aCB0aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90" + + "IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpz" + + "b24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJ" + + "bWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAi" + + "LyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAi" + + "aGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwK" + + "ICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0" + + "YXR1c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxj" + + "b25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlz" + + "IjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRp" + + "bmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0" + + "b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFs" + + "ZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0t" + + "bmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQt" + + "Y29udGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1w" + + "b3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAg" + + "XAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAog" + + "IC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAog" + + "IC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9j" + + "b21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91" + + "bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kg" + + "c3RlcCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBt" + + "b2RlbCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + + "aW9uIHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZl" + + "cl9pZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+" + + "LHJvdXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpV" + + "c2UgdGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7" + + "IGNyZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5S" + + "YXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2As" + + "IGBNYCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5l" + + "IENMSSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBg" + + "MTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGlu" + + "ZSBtb2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBj" + + "aGFydCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRl" + + "bnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVu" + + "Y3Rpb24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + + "aWdgIGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + + "ZWAuIFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5k" + + "ZXJlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZp" + + "Y2UgcG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0" + + "IGZ1bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZh" + + "bHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhh" + + "bXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25m" + + "aXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5j" + + "ZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAg" + + "InByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAw" + + "MCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAK" + + "ICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUv" + + "dGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2Vy" + + "dmljZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAg" + + "ICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewog" + + "ICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwg" + + "Ii92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4i" + + "LAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0K" + + "YGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBj" + + "cmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJl" + + "bmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVh" + + "bHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAog" + + "IC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAg" + + "XAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdj" + + "Lm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50" + + "Z3ogXAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1t" + + "b2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlv" + + "bnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmlu" + + "LHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hh" + + "cnQtc3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25m" + + "aWd1cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBg" + + "YGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9p" + + "ZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwK" + + "ICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMi" + + "OiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5Ijog" + + "MTAsCiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRl" + + "bnNvclBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdh" + + "eSByb3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5j" + + "dGlvbi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0Yg" + + "ZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFt" + + "IGNvbnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRo" + + "czoKCnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9u" + + "c2AgfCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEv" + + "cmVzcG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Ig" + + "c3RyZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVh" + + "bWluZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVk" + + "ZGluZ3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11" + + "c3QgYmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8g" + + "c2Vzc2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24Kewog" + + "ICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJk" + + "ZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0" + + "YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAg" + + "Im1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9" + + "CmBgYAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBp" + + "bnN0YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRj" + + "aCByZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + + "biBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29t" + + "bWFuZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZh" + + "dWx0IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBp" + + "cyBydW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUt" + + "cGxhbmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rp" + + "b25gIHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0" + + "aGUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlz" + + "c2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNm" + + "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24t" + + "bmFtZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1z" + + "dGctLi4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3Rh" + + "dGUgZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRv" + + "bid0IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZP" + + "S0UKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAi" + + "PHZlcl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpg" + + "YGBzaApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29u" + + "CiMg4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZp" + + "bGxlZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZv" + + "a2UgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApj" + + "dXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQv" + + "Y29tcGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZ" + + "fSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAg" + + "Im1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjog" + + "dHJ1ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAog" + + "ICAgICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3Bl" + + "bkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNv" + + "IHRoZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNl" + + "cyBBUEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9j" + + "YXRpb24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJl" + + "ciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u" + + "IiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4i" + + "LAogICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAg" + + "fScKYGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRw" + + "czovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9y" + + "aXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFw" + + "cGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1l" + + "ZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0n" + + "CmBgYAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1l" + + "bnQncyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQg" + + "c3VyZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9u" + + "ZSB3aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0t" + + "ZnVuY3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0g" + + "d2l0aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRl" + + "cGxveW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGlt" + + "ZXMgY2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kg" + + "b24gY29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0" + + "cykuIEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBj" + + "b21tYW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBg" + + "Z3B1YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5I" + + "MTAwXzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5j" + + "dGlvbidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUt" + + "cGxhbmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1" + + "YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFn" + + "ZVB1bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AD0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + + "bnN0YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGlu" + + "c3RhbGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmci" + + "LiBEb24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRp" + + "Y3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBg" + + "YAoKVGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0g" + + "KipgaGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5" + + "J3JlIGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQg" + + "bGF5ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog" + + "4oCUIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0" + + "IHdpbGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFs" + + "aXppbmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0g" + + "KipgZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNs" + + "dXN0ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93" + + "bmAqKiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBi" + + "ZSBkb3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4g" + + "RHJpbGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21w" + + "b25lbnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJh" + + "LTAgUG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaApr" + + "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxw" + + "b2Q+IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyAr" + + "IGxhc3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVz" + + "cyB0aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXBy" + + "b2dyZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlr" + + "ZWx5IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBv" + + "ZEluaXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0" + + "dWNrIGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVm" + + "YXVsdCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3Jh" + + "Z2VjbGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3Jh" + + "Z2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBg" + + "aGVsbSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNv" + + "bWUgYXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JE" + + "cyBub3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdh" + + "eS1yb3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFs" + + "bCBlbnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXBy" + + "b3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0" + + "ZS1uYW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNs" + + "dXN0ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBp" + + "c3N1ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3Rv" + + "cmVkIGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + + "c3Rlci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBw" + + "bGFuZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRo" + + "bSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIg" + + "cmVnaXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBw" + + "bGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4g" + + "fAp8IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpw" + + "c2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxk" + + "cyBpdCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0" + + "b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBp" + + "cykgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3Ip" + + "IHwgT2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUg" + + "Zm9sbG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3" + + "MDRgIHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBj" + + "b25maXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFz" + + "ZSBpbiByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZj" + + "YS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsg" + + "dGhlbiBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + + "ZXItaWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9y" + + "ZSBhbnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMg" + + "ZGVzdHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8g" + + "ZG8KCi0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0" + + "aWMgb25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUg" + + "dXNlciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBr" + + "dWJlY3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVs" + + "ZXRlcyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVy" + + "ZW50IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVz" + + "YCAvIGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5z" + + "dGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBm" + + "cm9tIHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBh" + + "IGZyZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlz" + + "IHRoZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIHRv" + + "cG9sb2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5l" + + "IGFuZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29u" + + "dHJvbCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9k" + + "dWN0aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNs" + + "dXN0ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1w" + + "bGVzOiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9k" + + "dWN0aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4" + + "dCBuYW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQcmVw" + + "YXJlIHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGsz" + + "ZC4gT25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRpYXRl" + + "bHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9pbnRz" + + "LiBGb3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQgYW5k" + + "CiAgIHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNl" + + "ciBiZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3QgYWxy" + + "ZWFkeSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVkIEdh" + + "dGV3YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3RhbmRh" + + "bG9uZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBseSAt" + + "ZiBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVhc2Vz" + + "L2Rvd25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFtZXNw" + + "YWNlIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNp" + + "cyBudmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAgIGZv" + + "ciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAg" + + "ICAga3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09dHJ1" + + "ZSAtLW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9jaTov" + + "L2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYxLjEu" + + "MyBcCiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBwbHlp" + + "bmcgdGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxlciBv" + + "d25zCiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVzdCB1" + + "bnRpbCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAgY29u" + + "ZmlndXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250cm9s" + + "bGVyIERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFnZSBv" + + "ciBleGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RFUl9O" + + "QU1FPSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5hbWUg" + + "IiRFS1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVzTmV0" + + "d29ya0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRwdXQg" + + "dGV4dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2FkLWJh" + + "bGFuY2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1ZWAg" + + "c2VsZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vr" + + "cy9sYXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3aXNl" + + "LCBhIHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQgQmFs" + + "YW5jZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRoYXQg" + + "dGhlIGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHBy" + + "b3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQgQmFs" + + "YW5jZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhlIGFw" + + "cGxpZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9s" + + "bGVyLiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAgbWFw" + + "IGJlZm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAg" + + "ICAgbG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90YXRp" + + "b25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXIt" + + "c2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFXUyBj" + + "bG91ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRoOgoK" + + "ICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2" + + "aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgogICBg" + + "YGAKCiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2luZyBs" + + "b2FkIGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kgYG5s" + + "YmAgc2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0YXJn" + + "ZXQgdHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2Vydmlj" + + "ZQogICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3RzIG9u" + + "ZSBTZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUgQVdT" + + "IExvYWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kgU2Vy" + + "dmljZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2UgdGhl" + + "IG1hcCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZvcmUg" + + "YXBwbHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6IHVz" + + "ZSBBV1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAtIDw8" + + "RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBraW5k" + + "OiBFbnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNlOiBl" + + "bnZveS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlwZTog" + + "S3ViZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgogICAg" + + "ICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMu" + + "aW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2Vydmlj" + + "ZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBlOiAi" + + "aW5zdGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9h" + + "ZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJzaW9u" + + "OiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwogICBt" + + "ZXRhZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBnYXRl" + + "d2F5LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0ZXJz" + + "UmVmOgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDogRW52" + + "b3lQcm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjog" + + "Z2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFkYXRh" + + "OgogICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQog" + + "ICBzcGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0g" + + "bmFtZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBh" + + "bGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVj" + + "dG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAg" + + "ICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHBy" + + "b3RvY29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAg" + + "ICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2Vs" + + "ZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0" + + "Zm9ybTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVzdCBi" + + "ZSB1bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lTZXJ2" + + "aWNlLmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUgZ2Vu" + + "ZXJhdGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwogICBv" + + "biB0aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMg" + + "YW5kIHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFN" + + "RT0ibnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0" + + "IFJFR0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52" + + "b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAg" + + "IGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQg" + + "R1JQQ19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dB" + + "VEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAg" + + "IC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3Rs" + + "IC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZ" + + "X05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0x" + + "MG0KCiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9O" + + "QU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29u" + + "cGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRF" + + "V0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0" + + "ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + + "cmVzc2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0IDEK" + + "ICAgdGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNUQUNL" + + "X0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAgdG8g" + + "dGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4KICAg" + + "Rm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUgR2F0" + + "ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZjZi1j" + + "bGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIK" + + "ICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191cmw6" + + "ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6ICJo" + + "dHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7U1RB" + + "Q0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZva2Vf" + + "aG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2VydmljZV9p" + + "ZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFwaV9r" + + "ZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAic3Zj" + + "QG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAgYGBg" + + "CgozLiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9s" + + "b2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1p" + + "bkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1q" + + "c29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3ViZWN0bCBv" + + "biBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJl" + + "IFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWljbXMt" + + "dXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBqcSAtYyAu" + + "CiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZhaWxzIChg" + + "InBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBtZXNzYWdl" + + "YCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0" + + "YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRl" + + "ZC4gYG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIg" + + "ZG9lcyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91" + + "Z2ggdGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRl" + + "LW9ubHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVu" + + "dCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1j" + + "bHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0i" + + "IFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9y" + + "IHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBz" + + "aAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgog" + + "ICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtD" + + "T05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7" + + "Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJf" + + "TkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVH" + + "SU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vf" + + "c3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3By" + + "b2dyZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJj" + + "ZSBjb3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNp" + + "c3RzIGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5k" + + "IHN1cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAg" + + "RGVjaWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBu" + + "b3cgd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVy" + + "U2VjYCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1l" + + "ZGlhdGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAg" + + "YWN0IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmlu" + + "dCBjbHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1" + + "cy4gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBl" + + "Y3QKICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1m" + + "YWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9u" + + "YWxseSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRd" + + "KGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52" + + "b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVz" + + "aCBjbHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0" + + "IHB1bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1w" + + "b3RlbnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4K" + + "LSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4K" + + "LSBJZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVy" + + "YWN0aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVy" + + "YWN0aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRV" + + "VAUAAQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVk" + + "IGF1dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRo" + + "ZSBLOHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQg" + + "dGhlIEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUK" + + "Ci0gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1l" + + "PW52Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0" + + "ZXJgIHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZh" + + "bGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNo" + + "LCBub3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFu" + + "ZSBLOHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4g" + + "Q29uZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0" + + "ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93" + + "IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIEZyb20g" + + "YSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAoYmVj" + + "YXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandrc2Ap" + + "OgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD4g" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZldGNoZXMg" + + "SldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJQ01T" + + "LiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBudmNmLWNs" + + "aSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0ZWRBdGAg" + + "YWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJu" + + "ZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMgc2hvdWxk" + + "IHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IGBj" + + "bHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElEICsgZ3Jv" + + "dXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVkZXBsb3kg" + + "dGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkgZWRpdCBg" + + "b3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0ZXMgSUNN" + + "UyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgY2x1c3Rl" + + "ciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWlsdXJlIG1h" + + "eSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1jYWxsb3V0" + + "IGhlYWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1hdXRoLWNh" + + "bGxvdXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29pZGNfYnlf" + + "Y2x1c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAgY29uZmln" + + "bWFwIGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25vc2UtZmFp" + + "bGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhvc2UgY2hl" + + "Y2tzLgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMgVGVhciBk" + + "b3duIGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFyZG93biBk" + + "ZXN0cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFsIGtl" + + "eXMsIHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJl" + + "Zm9yZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBgdW5pbnN0" + + "YWxsYCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVhcmRvd24g" + + "c3VyZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0rMTEpOgoK" + + "fCBUaWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18LS0tfAp8" + + "IFBlci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5KSB8IGBp" + + "bnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwgYHVu" + + "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwK" + + "fCBPcmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVwIC0tY2x1" + + "c3Rlci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFsbGAgfAoK" + + "VXNlIGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9yIEdpdE9w" + + "cyAoY29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBlbGluZXMu" + + "IEFsd2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8IE1vZGUg" + + "fCBMaXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0tfC0tLXwt" + + "LS18LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0b3JzKSB8" + + "ICoqTm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1pdHMgcGhh" + + "c2UgcGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwgRXZlbnQg" + + "c3RyZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAocHJpbWl0" + + "aXZlcykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBgaGVsbSBn" + + "ZXQgbWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286CgotIGBk" + + "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBvcmNoZXN0" + + "cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFsbCAtLW5v" + + "LWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBtZSB0aGUg" + + "WUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFMV0FZUyBw" + + "cmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1" + + "c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVuLgpudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAKCiMjIFdo" + + "ZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0tLXwtLS18" + + "CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "ZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1lIHRoZSBz" + + "dGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + + "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1MIHRvIGNv" + + "bW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0" + + "YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBkZWxldGUu" + + "eWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1dGUgcGxh" + + "bmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiSnVzdCBy" + + "ZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBkb3duIC0t" + + "Y2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJtIHNjb3Bl" + + "IHdpdGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChjb21wdXRl" + + "IHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNvbXB1dGUg" + + "cGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9uIHRoaXMg" + + "Y2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4iIChJbXBv" + + "cnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2ZT10cnVl" + + "fHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJzaXN0ZW50" + + "IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQgdXNl" + + "ciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3ZlLXBlcnNp" + + "c3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIgoK" + + "IyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBgCgpUaGlz" + + "IGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhlbG0gcmVs" + + "ZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0IHdvdWxk" + + "IGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1td" + + "YCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxtIHVuaW5z" + + "dGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgojIyMgMy4g" + + "RXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0" + + "ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYuNy4xKToK" + + "CjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoyLiBSZXNv" + + "bHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1bnMgYGZ1" + + "bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBwb2xscyB1" + + "bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNlfHByb21w" + + "dGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1dGUgcGxh" + + "bmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBoZWxtIHVu" + + "aW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVyCjUuIFJl" + + "bW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVudGApCjYu" + + "IFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMgNC4gVGVh" + + "ciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0aGUgb3Jj" + + "aGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMgYWxzbyBn" + + "b2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCByZWZ1" + + "c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNNUy4gVXNl" + + "IGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipvbmx5Kiog" + + "aWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFuZXMgKFBT" + + "QVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3RhcnQgZmFp" + + "bGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVlbmNlIGJl" + + "Zm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcKCmBgYHNo" + + "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhpcyBpdGVy" + + "YXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0aGUgcGVy" + + "LWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1hbGwtY29u" + + "Y3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + + "bmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhlIGNsdXN0" + + "ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHByb21wdCBm" + + "b3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhhcyBBcmdv" + + "IC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0ZSBwbGFu" + + "ZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBs" + + "YW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3IgY29tbWl0" + + "cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxpZXMgdGhl" + + "IGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNvbW1pdCAt" + + "bSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBBcmdvIHN5" + + "bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhlIElDTVMg" + + "cm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJfSUQKYGBg" + + "CgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1c3RlciBk" + + "ZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93aW5nIEdp" + + "dE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHksIG9yIHVz" + + "ZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkKCklmIGBk" + + "b3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1hbmQqKi4g" + + "VGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNraXBzIHJl" + + "bGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAtLWlnbm9y" + + "ZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQaGFzZSA0" + + "ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBzZWNvbmQg" + + "cnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNhdGVnb3J5" + + "OiAiaGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24i" + + "YCDihpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0PeKApmAg" + + "KHRoZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4gcmUtcnVu" + + "IGBkb3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1hdGlvbi4K" + + "LSBgZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVk" + + "aWF0aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIgdXNlciBw" + + "YXNzZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3QuIFJlLXJ1" + + "biB3aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJvbXB0YCBh" + + "bmQgY29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1cmZhY2Ug" + + "YGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4gU1RPUC4g" + + "RG8gbm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlzIGNvbmZp" + + "cm0KCkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFsbGAg" + + "aW52b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBTdGF0ZSB0" + + "aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hhdCdzIGxv" + + "c3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5jcC1sb2Nh" + + "bGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElDTVMiKS4K" + + "LSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3RhdGUgdGhh" + + "dCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRlZCBhbmQg" + + "dGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNlciBjb25m" + + "aXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3Rl" + + "cnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUgb3JwaGFu" + + "ZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBleHBsYWlu" + + "aW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBpcyBvbiBh" + + "IENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gKIyBQZXIg" + + "Y29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0YWxsIG52" + + "Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAtbiBu" + + "dmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIC1uIG52" + + "Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0ZW0KCiMg" + + "RHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9" + + "PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToK" + + "Y2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2VzIGhlbG1m" + + "aWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBzdGFjayBi" + + "dW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4vbnZjZi1j" + + "b21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1hbnVhbCBw" + + "YXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGluc3RhbGxl" + + "ZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIgYXNrcyAi" + + "d2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhlIFN0YXRl" + + "ZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5IGBoZWxt" + + "IHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRpb25hbGx5" + + "IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8gd2lwZSBj" + + "b21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQKYGBgCgpP" + + "ciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiBjYXNz" + + "YW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0ZW0gLS1h" + + "bGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0aXZlIHN0" + + "ZXAuClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIjIGBudmNm" + + "LWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdheXMgcGFp" + + "ciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtleGl0LWNv" + + "ZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1ob3N0ZWQg" + + "bGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8LS0tfC0t" + + "LXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFByZS1mbGln" + + "aHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBlci1y" + + "b2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3RlZCBjaGVj" + + "ayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2UgaGVhbHRo" + + "eSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRgIGVsYXBz" + + "ZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9" + + "WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFtaW5nIGV2" + + "ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8IGBzZWxm" + + "LWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFsbCBvZiB0" + + "aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0YWxsIC0t" + + "Y29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZQU1MIG9u" + + "IHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhvc3RlZCBp" + + "bnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVyIGNsdXN0" + + "ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9uZSBpbnZv" + + "Y2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1l" + + "PVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5KSBzdGRv" + + "dXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5lczsgZm9y" + + "IGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9zdGVkIHVw" + + "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwgSlNPTkwg" + + "b24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8CnwgYHNlbGYt" + + "aG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29tcHV0ZSBw" + + "bGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwg" + + "Rm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3RhbGwuIENQ" + + "IG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9WF0g" + + "Wy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pTT05MIHwg" + + "YC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAt" + + "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBg" + + "aGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rl" + + "ciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9uIHRoYXQg" + + "Y29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + + "Wy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJpbWl0aXZl" + + "OiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8IFJl" + + "ZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0tZm9yY2Ut" + + "d2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5v" + + "LWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZl" + + "c3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8gYGt1YmVj" + + "dGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBgaW5zdGFs" + + "bCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WCBbLS1k" + + "cmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6IGRyYWlu" + + "IOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJQ01T" + + "IHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXItbmFtZT1Y" + + "YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVzdHJhdG9y" + + "OiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFu" + + "ZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1cnJlbmN5" + + "YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0aXZlIHwK" + + "fCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9yIGRyeS1y" + + "dW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBoZWxtL2hl" + + "bG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBhY3R1YWwg" + + "YGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJwb3NlIHwg" + + "Tm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1uY2Et" + + "aWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBhIEpXS1Mr" + + "T0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBzdGFuZGFs" + + "b25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQg" + + "LS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1c3RlciBy" + + "ZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1qc29uYCBm" + + "b3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXIt" + + "aWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBBZnRlciBL" + + "OHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVsZXRlIC0t" + + "Y2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBjb25maXJt" + + "IHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVz" + + "IHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwg" + + "Q3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZlcnNpb24g" + + "SUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1td" + + "LmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25z" + + "ZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1bmN0aW9u" + + "IGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0aW9uIGdl" + + "dCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0YWRhdGEg" + + "fCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQg" + + "LS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVuY3Rpb24g" + + "dXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2RlbC11cGRh" + + "dGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNgIHVzZXMg" + + "YG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1p" + + "dD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFncy5tZCkg" + + "fAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNjaGVkdWxl" + + "IGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykgfAp8IGBm" + + "dW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCBbLS1q" + + "c29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZFXHxERVBM" + + "T1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAtLWlucHV0" + + "LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBmdW5jdGlv" + + "biBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBTdG9w" + + "IGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9uIGludm9r" + + "ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJlcXVpcmVz" + + "IEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9rZWQgdGhy" + + "b3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0aW9uLWlk" + + "Pi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0t" + + "dmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoqREVTVFJV" + + "Q1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFuZHMgcmVx" + + "dWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBOVkNGX0JB" + + "U0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBhIGZyZXNo" + + "IHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQg" + + "aW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFsdWU7IGNo" + + "ZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0aCBgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1biBgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5ldyBrZXku" + + "Cgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3Jl" + + "YXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdlPUlNR2Ag" + + "fCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0YXRlOyB1" + + "c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sgY3JlYXRl" + + "IC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hhcnQ9Q0hB" + + "UlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMgYC0taW1h" + + "Z2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEgdGFzayBm" + + "cm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGNvbmZp" + + "Z3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0PU5dYCB8" + + "IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVzZXM6IGBR" + + "VUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBD" + + "QU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhf" + + "UVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNrIGRldGFp" + + "bHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBgdGFzayBl" + + "dmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBh" + + "IHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFj" + + "dHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBgcmVzdWx0" + + "SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9y" + + "dGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0YXNrIHwg" + + "Tm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRlIFt0YXNr" + + "SWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElEICsgY3Vy" + + "cmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBleHBsaWNp" + + "dGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBub3QgdHJl" + + "YXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8CnwgYHRh" + + "c2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgVXBkYXRl" + + "IHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVk" + + "IGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBwcmVzZXJ2" + + "ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0tdGFzay1p" + + "ZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBpbiBv" + + "bmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgdmlh" + + "IHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1jbGkuc3Rh" + + "dGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAoZnVuY3Rp" + + "b24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwgbGFzdCBl" + + "bmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1ob3N0ZWQg" + + "c3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNrXSBbLS1k" + + "ZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlzIHwgRGVm" + + "YXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFuZCBhIHRh" + + "c2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMgb25lIG9u" + + "bHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgLS12" + + "YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBr" + + "ZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5jZSAoTlZD" + + "RiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1rZXkgbGlz" + + "dGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1zY29wZWQg" + + "a2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJldm9rZSBL" + + "RVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiogfAp8IGBh" + + "cGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0YXRlIHwg" + + "fAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + + "fC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0YWxsIGFs" + + "bCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxzL2AgYW5k" + + "IGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRpcmVjdG9y" + + "aWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJlbW92ZSBv" + + "bmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNlIHNraWxs" + + "cyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWluIHwKfCBg" + + "YWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBGb3IgZGVi" + + "dWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEgYW5kIGVt" + + "YmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEjAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZl" + + "cmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVzCgpTdGFi" + + "bGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0cnkgLyBz" + + "dXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMgfAp8LS0t" + + "fC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxsIGNv" + + "bXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBIZWxt" + + "IHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZQU1M" + + "IHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNoZWNr" + + "YCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsga3Vi" + + "ZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + + "bHVyZSwgdGltZW91dCkuIFdhcm5pbmctc2V2ZXJpdHkgcmVzdWx0cyBleGl0IGAwYCB8CnwgYDNg" + + "IHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0" + + "OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwg" + + "TWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVv" + + "dXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3JlIGR1cmF0aW9uOyB0aGUgY2hl" + + "Y2sncyB0aW1lIGJ1ZGdldCByYW4gb3V0IGJlZm9yZSBldmVyeSBjaGVjayByYW4gKHRob3NlIHJl" + + "cG9ydCBhcyBub3QgcnVuKSB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5UL1NJR1RFUk0g" + + "fCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZCB8CgojIyBIb3cg" + + "YW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0t" + + "fAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0" + + "ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxs" + + "eSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFp" + + "bGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRo" + + "ZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAo" + + "aW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRo" + + "b3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25n" + + "ZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAg" + + "fCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBD" + + "b25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWls" + + "CgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNj" + + "ZXNzYCwgYHZlcmRpY3RgLCBgZmFpbGVkQ291bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2Zh" + + "aWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kYC4gQSBjYW5jZWxsYXRpb24gKGV4" + + "aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0aCBgY2FuY2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9m" + + "IGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFzZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4g" + + "RXZlcnkgb3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxl" + + "ZGAgSlNPTiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0" + + "aW9uYCAoYXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2Zm" + + "fGFmdGVyX3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlv" + + "bmFsKSwgYW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4g" + + "QWx3YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5n" + + "IEVuZ2xpc2ggZnJvbSBzdGRlcnIuClBLBwg8GfBY4ggAAOIIAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRV" + + "VAUAAQCmzhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZl" + + "cnkgc3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xp" + + "LnlhbWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBg" + + "ZmFsc2VgIHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYg" + + "aW4gVFRZLCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRg" + + "IHBhcmVudCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAg" + + "fCBDb250cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBv" + + "Y2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6" + + "IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwg" + + "cGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1m" + + "aWxlIGVudmlyb25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3Ig" + + "cmVsZWFzZXMgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9t" + + "cHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBz" + + "dG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1p" + + "dCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0" + + "XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQg" + + "aW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVh" + + "bWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tg" + + "IG9ubHk7IHBvbGwgdW50aWwgdGhlIGNoZWNrIHBhc3NlcyBvciBEVVJBVElPTiBydW5zIG91dCAo" + + "ZXhpdCBgNWApLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0byBjbGVhciwgc3VjaCBhcyBh" + + "IHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcuIENhbm5vdCBiZSBjb21iaW5l" + + "ZCB3aXRoIGAtLW5vLWNsZWFudXBgIHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENU" + + "WGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50" + + "IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250" + + "ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1p" + + "Y21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRp" + + "ZmZlciB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwg" + + "YGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBrdWJl" + + "Y3RsIGNvbnRhY3QsIHdoYXRldmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgQ0xJIHByaW50" + + "cyBhIG5vdGUgc2F5aW5nIHNvLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlg" + + "IHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJl" + + "YCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJl" + + "cXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5IHRoZSBzZWxlY3RlZCByb2xlcyBjb250" + + "YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciBy" + + "ZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBpcyBub3QgaW5zdGFs" + + "bGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNz" + + "ZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywgdGhhdCByb2xlJ3Mg" + + "dmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQgfCBgZmFsc2VgIHwKfCBg" + + "LS1jb250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0t" + + "Y29tcHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFs" + + "bGAgfCBFdmVyeSBjYXRlZ29yeSwgaW5jbHVkaW5nIFNJUyByZWFjaGFiaWxpdHkgd2hlbiBjb21i" + + "aW5lZCB3aXRoIGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBD" + + "bHVzdGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hlY2tzIHwgLSB8CnwgYC0tc2tpcC1pbm90" + + "aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVk" + + "ZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVs" + + "dGAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBmYWxzZWAgfAoK" + + "IyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2Ig" + + "aW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2VydmljZUFj" + + "Y291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCBhbmQgcmVt" + + "b3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMg" + + "cGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + + "CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRh" + + "dG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJ" + + "REFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVm" + + "IHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVn" + + "aXN0cnk7IGlmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHByb2JlIGlzIHNraXBwZWQg" + + "d2l0aCBhIG5vdGUgdG8gcGluIG9uZS4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUg" + + "d2l0aCBhIHdhcm5pbmcgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhv" + + "c3Q6cG9ydCwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0" + + "b3IgcHJvYmVzIGZvciByZWFjaGFiaWxpdHkuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3Ry" + + "aWVzIHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3Ry" + + "eSwgdGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIGFuZCBgcXVheS5pb2AgZm9y" + + "IHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBzZXRzIGBjZXJ0" + + "TWFuYWdlci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCBvbmx5IHdoZW4g" + + "bmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgdmFs" + + "aWRhdG9yIGRpYWxzIGZyb20gYSBwb2Qgd2l0aCBubyBwcm94eSwgc28gYW4gdW5yZWFjaGFibGUg" + + "cmVnaXN0cnkgaXMgYSB3YXJuaW5nOyB0aGUgbG9jYWwgY3JlZGVudGlhbCBjaGVjayBpcyB3aGF0" + + "IGZhaWxzIGEgcmVnaXN0cnkgdGhlIGluc3RhbGwgY2Fubm90IHB1bGwgZnJvbS4gUmVwZWF0YWJs" + + "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JF" + + "R0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0g" + + "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhl" + + "IGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5l" + + "ZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1n" + + "YXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lN" + + "QUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3li" + + "b3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNl" + + "Y3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8g" + + "cHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIGxvb2tzIGZvciBv" + + "bmUgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBhbmQgY29waWVzIGl0IGludG8gYGRlZmF1bHRgIGZv" + + "ciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGFuZCBvbmx5IGZvciBhbiBpbWFnZSBvbiBhbiBOR0Mg" + + "cmVnaXN0cnksIGl0IG1pbnRzIG9uZSBmcm9tIGBOR0NfQVBJX0tFWWAgfCBhdXRvLWRldGVjdCB8" + + "CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxp" + + "ZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQg" + + "Y2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGlj" + + "aXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2Uu" + + "IEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gIHwgYGZh" + + "bHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9k" + + "LCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEgbGF0ZXIg" + + "Y2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3VyczsgdGhlIHJlc3VsdCBwcmludHMgdGhl" + + "IGBrdWJlY3RsIGRlbGV0ZWAgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cgfCBgZmFsc2Vg" + + "IHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0" + + "ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwg" + + "YW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hl" + + "biBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIGB1cGAtc3Bl" + + "Y2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNs" + + "dXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQp" + + "IHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAg" + + "fAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8Cnwg" + + "YC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBj" + + "aGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGlt" + + "aXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8Cnwg" + + "YC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZh" + + "bCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAg" + + "fCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAg" + + "ZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFN" + + "RWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0Eg" + + "SUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdl" + + "c3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcg" + + "fAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWls" + + "LW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rp" + + "b25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQg" + + "dG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFi" + + "bGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhw" + + "aXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFy" + + "c2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NP" + + "UEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZp" + + "Y2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBr" + + "ZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRp" + + "b24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAg" + + "KGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1p" + + "bnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRl" + + "ZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8" + + "IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11" + + "cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVu" + + "Y2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0" + + "aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZB" + + "VUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVm" + + "ZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQt" + + "cGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFN" + + "RWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWly" + + "ZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVS" + + "U0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBg" + + "LS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVs" + + "Pix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + + "PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAg" + + "d2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVz" + + "ZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3Bl" + + "Y3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0" + + "LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlv" + + "cml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1w" + + "ZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3Jp" + + "dHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJ" + + "RCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04g" + + "YW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + + "IGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBg" + + "bGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBw" + + "YXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAv" + + "djEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5n" + + "c2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93" + + "ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBs" + + "bG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJh" + + "dGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9y" + + "bWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBI" + + "YCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0" + + "cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAw" + + "MC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2Fn" + + "aW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJh" + + "Y2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRg" + + "LCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhl" + + "IHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5l" + + "dGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0g" + + "aW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFt" + + "ZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUg" + + "bW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJl" + + "c3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZv" + + "ciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1" + + "bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8" + + "IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3Jt" + + "YXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxs" + + "aW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4g" + + "VG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5l" + + "ZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlg" + + "IHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRo" + + "IHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAt" + + "IHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1h" + + "Y2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBk" + + "aXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwg" + + "LSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAg" + + "ZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFu" + + "ZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBt" + + "b2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVu" + + "Y3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + + "b21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJ" + + "RGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZh" + + "bWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BV" + + "LkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwK" + + "fCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVx" + + "dWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRl" + + "ZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVj" + + "aWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNy" + + "ZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJl" + + "cGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAo" + + "cmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8" + + "CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxl" + + "YCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5j" + + "ZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1Au" + + "R1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1" + + "YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFS" + + "VGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZl" + + "IHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMg" + + "ZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8" + + "CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVy" + + "cyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwg" + + "Q29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2Vk" + + "IHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1l" + + "cG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1" + + "ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBg" + + "LS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBl" + + "YXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9O" + + "YCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8g" + + "ZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElP" + + "TmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBT" + + "ZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAg" + + "fCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZh" + + "dWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8g" + + "aGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24g" + + "TE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0t" + + "bmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9B" + + "RGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291" + + "cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFz" + + "ayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sg" + + "ZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVs" + + "ZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAg" + + "fCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0" + + "cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwhbBfsn" + + "tTQAALU0AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hv" + + "b3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlhdGlv" + + "bi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRz" + + "IHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAg" + + "dG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZs" + + "aWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBg" + + "a3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRl" + + "IGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9k" + + "b2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24gUEFU" + + "SGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxh" + + "dGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2Nz" + + "L2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8IGVu" + + "dm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tl" + + "ci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5" + + "c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90IGF2" + + "YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBga3Vi" + + "ZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3Rv" + + "cmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8" + + "IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlhIEdQ" + + "VSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + + "ZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1v" + + "cGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBgR1BV" + + "IG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52aWRp" + + "YS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEuY29t" + + "L2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVx" + + "dWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9r" + + "ZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tl" + + "bj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDog" + + "QW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAg" + + "fCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJt" + + "IH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBt" + + "aXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0" + + "b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMj" + + "IEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + + "LS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2Fu" + + "ZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3Rv" + + "cmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1g" + + "IHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVw" + + "bG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8" + + "IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJg" + + "IHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFs" + + "bCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAg" + + "ZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2" + + "YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJy" + + "b3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNv" + + "bW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRl" + + "IGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0" + + "b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5v" + + "dCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGsz" + + "ZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVy" + + "PmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVk" + + "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRo" + + "IGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBg" + + "b3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3Rlcjsg" + + "Y2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJl" + + "LXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRl" + + "cyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9y" + + "IGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRj" + + "aCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xp" + + "IGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFn" + + "ZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVy" + + "IGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2Yt" + + "YmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9u" + + "IGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBs" + + "YWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhl" + + "YWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + + "bmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwg" + + "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVy" + + "bnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Ig" + + "a2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGBy" + + "ZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3Jl" + + "ZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVk" + + "IHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNy" + + "ZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJv" + + "dXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJl" + + "ZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAt" + + "biBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1l" + + "ZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpu" + + "YW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5z" + + "dGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFy" + + "YXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENM" + + "SSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRl" + + "cywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1w" + + "bGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5l" + + "cmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBv" + + "ciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52" + + "aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFk" + + "LgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49" + + "IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBt" + + "YXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3Jl" + + "LWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwg" + + "c2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1" + + "dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2Vj" + + "cmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAg" + + "aW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0Bl" + + "eGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxm" + + "LW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1w" + + "bGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRz" + + "XQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxt" + + "LCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2Vs" + + "Zi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGlu" + + "ZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4K" + + "CiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9y" + + "IHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQg" + + "YG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMg" + + "YW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1z" + + "dHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoK" + + "QXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9y" + + "IHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBu" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8" + + "Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vu" + + "dmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5l" + + "LXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1m" + + "aWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5l" + + "LXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1p" + + "c3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJh" + + "c2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12" + + "ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250" + + "cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUg" + + "cm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBh" + + "bmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJz" + + "aW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVs" + + "bSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAg" + + "IyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBD" + + "bGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250" + + "cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1z" + + "dGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdv" + + "dG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5h" + + "bWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNl" + + "IHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlk" + + "aWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZh" + + "bHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1v" + + "c3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9i" + + "YXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBi" + + "eQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0" + + "cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNy" + + "ZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVs" + + "ZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNy" + + "aXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + + "IGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0" + + "b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUg" + + "aW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0" + + "cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2Nr" + + "LiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hh" + + "cnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3Bh" + + "Y2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkK" + + "CmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVh" + + "dGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAo" + + "ZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5z" + + "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZh" + + "dWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + + "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxs" + + "IHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0" + + "byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNl" + + "Y3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkK" + + "CkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWly" + + "ZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + + "aGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVk" + + "IHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVk" + + "CmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIK" + + "aGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJ" + + "X0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+" + + "IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRp" + + "biA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBg" + + "aGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAo" + + "bXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJh" + + "bCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUg" + + "dW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNp" + + "bGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3Jn" + + "IHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0" + + "MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91" + + "IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1y" + + "dW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNo" + + "IHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtl" + + "eT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRo" + + "ZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3Ry" + + "eSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkg" + + "UHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0" + + "aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhh" + + "dCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVs" + + "bCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmts" + + "b2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50" + + "IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEu" + + "IFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8" + + "eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAg" + + "ICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJj" + + "ZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJv" + + "cmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAg" + + "ICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFu" + + "aWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQg" + + "bm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChg" + + "bnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxt" + + "CiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxt" + + "IHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhv" + + "c2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291" + + "cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRo" + + "ZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFy" + + "dCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAg" + + "ID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1z" + + "dWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhl" + + "bG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRo" + + "ZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkg" + + "KHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxs" + + "IG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBw" + + "ZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRo" + + "ZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxs" + + "U2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBs" + + "b2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6" + + "IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+" + + "IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBz" + + "byB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBo" + + "b2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBp" + + "cyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGds" + + "b2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMg" + + "YGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMg" + + "bG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNo" + + "CkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4g" + + "PGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZh" + + "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJl" + + "IGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRp" + + "b24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBU" + + "aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9y" + + "YXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3Vj" + + "aCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FE" + + "RFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1" + + "c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBH" + + "QVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xv" + + "YmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0" + + "aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMj" + + "IyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBC" + + "T1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMg" + + "ZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNh" + + "c3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZp" + + "Y2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQg" + + "b25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2Vl" + + "cHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3Bz" + + "IHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNl" + + "dAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMg" + + "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoK" + + "SGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBT" + + "ZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwg" + + "TkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91" + + "cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3Rh" + + "cnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0" + + "eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFk" + + "ZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkg" + + "cm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwg" + + "T2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4g" + + "YSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAK" + + "CiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkg" + + "aXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZh" + + "Y2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQg" + + "TlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBz" + + "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0" + + "aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0" + + "ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVz" + + "ZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRo" + + "ZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBp" + + "bgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5p" + + "dHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpU" + + "aGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2Vu" + + "ZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMg" + + "aG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGlu" + + "Z0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFu" + + "aXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVk" + + "IGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpB" + + "ZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlg" + + "IHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0" + + "eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkg" + + "dGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + + "L25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2" + + "YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFu" + + "ZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0" + + "cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91" + + "dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0" + + "aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkK" + + "ZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + + "IHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMg" + + "bm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVz" + + "LCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5" + + "CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0" + + "LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5" + + "LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMv" + + "bnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1w" + + "bGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21w" + + "dXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5" + + "IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRo" + + "b3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFs" + + "bCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVz" + + "ZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGws" + + "CiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5k" + + "cy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "CmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBh" + + "bmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21w" + + "dXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZv" + + "cgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNj" + + "b3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUg" + + "aGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1z" + + "ZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlv" + + "bi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9w" + + "dGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAs" + + "IGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZl" + + "bnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNl" + + "IGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHBy" + + "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRo" + + "ZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxl" + + "YXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUg" + + "ZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBh" + + "biBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5l" + + "bmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBz" + + "dGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBh" + + "Ym9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1l" + + "c3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBu" + + "YW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgoj" + + "IyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBu" + + "dmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIg" + + "LS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtl" + + "eXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVs" + + "bSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25s" + + "eSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBj" + + "YXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmlt" + + "YWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQg" + + "dGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1" + + "ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVm" + + "ZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9v" + + "dC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlv" + + "bjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDog" + + "KmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAu" + + "Li88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3Jl" + + "dHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGlt" + + "aXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAg" + + "ICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTog" + + "NDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAq" + + "ZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0" + + "aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlh" + + "bWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBh" + + "IHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkK" + + "YGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVk" + + "ZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBy" + + "dWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYg" + + "dGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBB" + + "UEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8" + + "CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1h" + + "Z2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5j" + + "dGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVj" + + "dGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3Ry" + + "eWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+Lzxl" + + "bnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FS" + + "U19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBg" + + "c2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBg" + + "c2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVj" + + "dGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBg" + + "YmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3Rz" + + "dHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmln" + + "anNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExB" + + "Q0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0" + + "IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25z" + + "dW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4g" + + "dmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUg" + + "ZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIk" + + "b2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVki" + + "IHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilg" + + "Lgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAg" + + "cmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dv" + + "cmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRl" + + "Y2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVn" + + "YXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEg" + + "YmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVu" + + "Y29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0" + + "YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHBy" + + "aW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJh" + + "byBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQg" + + "c2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCBy" + + "ZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + + "Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAj" + + "IHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1v" + + "cmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0" + + "aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZl" + + "cmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhl" + + "IGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIg" + + "c2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1p" + + "cnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBh" + + "dXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRl" + + "bnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoK" + + "VXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkg" + + "aW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNl" + + "cy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNv" + + "bmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMg" + + "MS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + + "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + + "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0" + + "ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + + "LWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9" + + "bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9j" + + "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAg" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMu" + + "IEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5v" + + "LWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVy" + + "eSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1l" + + "OiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1u" + + "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNy" + + "ZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVl" + + "ZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Ig" + + "d2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1" + + "bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sg" + + "c3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZl" + + "bnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpg" + + "YGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXgg" + + "fAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBV" + + "bmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3Jl" + + "dCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0" + + "dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBD" + + "aGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCAr" + + "IGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5v" + + "IGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwg" + + "T3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQg" + + "b2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5t" + + "aWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1Mg" + + "LyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + + "ckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWln" + + "cmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVn" + + "Z2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0" + + "LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNt" + + "YWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8" + + "IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3Rp" + + "bmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRS" + + "QV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVs" + + "dHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGlu" + + "IHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + + "dGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5k" + + "aW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwg" + + "YGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxt" + + "IHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5" + + "IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8Cnwg" + + "QWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBz" + + "ZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJv" + + "b3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0" + + "IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwg" + + "aG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMg" + + "cmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNv" + + "IHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1y" + + "dW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJp" + + "ZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2" + + "YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRj" + + "b2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1l" + + "IHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0" + + "b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNg" + + "IGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2" + + "YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFn" + + "IG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBk" + + "ZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNl" + + "dCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZp" + + "ZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFj" + + "Y291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAg" + + "cmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBC" + + "ZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNj" + + "ZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBh" + + "aXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwg" + + "dGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vi" + + "c2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtu" + + "b3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmlu" + + "ZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpz" + + "b25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9i" + + "IGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxl" + + "YXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBp" + + "ZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpo" + + "b29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3Vu" + + "dC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVk" + + "CmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMu" + + "bWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2Rv" + + "Y3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5k" + + "IFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZl" + + "cmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + + "KQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2ls" + + "bCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5k" + + "IGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + + "c29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBt" + + "eSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0" + + "IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRl" + + "IGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90" + + "IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQg" + + "a3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHBy" + + "b2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZl" + + "cmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBt" + + "b2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + + "dCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFu" + + "ZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24g" + + "Y29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1m" + + "aWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVp" + + "Y2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRo" + + "ZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRv" + + "IHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHBy" + + "ZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0" + + "IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3Qg" + + "YmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUg" + + "dGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmll" + + "dyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRs" + + "eSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAog" + + "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRh" + + "bnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "RzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFj" + + "ZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMg" + + "d2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2Vz" + + "LiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3Qs" + + "IHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0" + + "dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + + "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + + "c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0" + + "aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0" + + "byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3Rs" + + "IHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFt" + + "ZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFt" + + "ZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBv" + + "dGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRp" + + "cmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFs" + + "aXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zs" + + "b3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBh" + + "IHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRo" + + "ZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBl" + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxh" + - "dGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVk" + - "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50" + - "aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVk" + - "IHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1" + - "bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBw" + - "bGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1m" + - "aWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBl" + + "bmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29u" + + "dHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFy" + + "ZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRz" + + "LCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtl" + + "ZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0" + + "ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3" + + "aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVn" + + "aXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250" + + "ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxl" + + "ZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUg" + + "Y29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJs" + + "LCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191" + + "cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBm" + + "b3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNU" + + "RVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklH" + + "X0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBI" + + "RUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29u" + + "ZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNt" + + "cy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMg" + + "YW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlk" + + "IG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNh" + + "dGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1" + + "c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNv" + + "IGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5k" + + "IE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0" + + "cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9L" + + "RVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJl" + + "cXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9D" + + "SSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0" + + "aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "Ikc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBm" + + "b3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxl" + + "LmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hl" + + "biBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0" + + "byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJ" + + "dCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3Npbmcg" + + "YnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUg" + + "c3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55" + + "YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRo" + + "ZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "IlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFu" + + "IGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + + "UyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0" + + "aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQg" + + "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRp" + + "Y2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQg" + + "dGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3Vt" + + "ZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBs" + + "YW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJz" + + "aW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFn" + + "ZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdl" + + "bnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5h" + + "dHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1t" + + "YW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8g" + + "cHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxF" + + "X0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZp" + + "Y2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIs" + + "CiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJl" + + "Z2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1" + + "c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRp" + + "ZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUg" + + "SGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXBy" + + "b2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxs" + + "IG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0" + + "ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFu" + + "ZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21t" + + "YW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRl" + + "LXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQg" + + "cHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qg" + + "c3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2" + + "ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0t" + + "Y29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1l" + + "bnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0t" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0t" + + "cmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRl" + + "ZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + + "IC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVk" + + "IC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNl" + + "IGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAg" + + "InF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3Jl" + + "YXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2Rp" + + "ZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGlu" + + "ZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQg" + + "d2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZm" + + "IGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVy" + - "c2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBh" + - "Z2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFn" + - "ZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBu" + - "YXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQt" + - "bWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRv" + - "IHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + - "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2" + - "aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMi" + - "LAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCBy" + - "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sg" + - "dXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1w" + - "cm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFs" + - "bCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJh" + - "dGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxh" + - "bmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29t" + - "bWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0" + - "ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5k" + - "IHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90" + - "IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQg" + - "dmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + - "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + - "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + - "LWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAt" + - "LXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0" + - "ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "LCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRl" + - "ZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJU" + - "aGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJj" + - "ZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNy" + - "ZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9k" + - "aWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRp" + - "bmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0" + - "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlm" + - "ZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5l" + - "IHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVk" + - "ZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJl" + - "LWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1" + - "ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczog" + - "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhl" + - "IGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRp" + - "ZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "Ni1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBv" + - "bmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFv" + - "IC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUg" + - "aGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNl" + - "IGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4i" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUg" + + "d2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAg" + + "ICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRl" + + "IHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUt" + + "aW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVl" + + "czogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50" + + "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiBy" + + "ZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUg" + + "YWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlm" + + "ZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2" + + "LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9u" + + "bHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8g" + + "LS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBo" + + "ZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2Ug" + + "Z3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + + "dXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMt" + + "c3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVs" + + "ZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxs" + + "YmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVs" + + "bEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29t" + + "bWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVj" + + "a2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9k" + + "IHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Np" + + "bmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRz" + + "KSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2Zm" + + "IGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRo" + + "ZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBp" + + "bWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwK" + + "ICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBh" + + "IHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJv" + + "dXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBF" + + "S1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdo" + + "IGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBw" + + "dWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0" + + "aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBl" + + "bnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0" + + "ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXBy" + + "b3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1" + + "cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3Vy" + + "ZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNt" + + "c19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRl" + + "cm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQg" + + "aW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBi" + + "dXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFy" + + "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3kt" + + "Z2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBu" + + "YXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNl" + + "IGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9p" + + "bnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVS" + + "TCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2" + + "aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVS" + + "TCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdy" + + "cGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0" + + "bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFw" + + "aS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVu" + + "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJU" + + "aGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmll" + + "bGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBj" + + "b25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhl" + + "YWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wt" + + "cGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwK" + + "ICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Et" + + "b3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1z" + + "eXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + + "ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMg" + + "YW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1m" + + "aWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkg" + + "Y29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBw" + + "YXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIg" + + "aGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZs" + + "b3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUg" + + "dGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwg" + + "YW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBz" + + "dGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + + "dmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQg" + + "bm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBj" + + "b25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJh" + + "dGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3Bl" + + "Y3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25s" + + "eSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250" + + "cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhl" + + "IHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdl" + + "ZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3Zpbmcg" + + "dGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdv" + + "bmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZs" + + "b3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRz" + + "IGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxt" + + "ZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVm" + + "b3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5k" + + "b2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mg" + + "d2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUg" + + "SGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + + "c2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQg" + + "dmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcg" + + "b24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24g" + + "Zmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5k" + + "IGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1w" + + "bGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklH" + + "X0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVm" + + "b3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBj" + + "b21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1j" + + "bHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBj" + + "b25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQg" + + "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJt" + + "YXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0" + + "aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93" + + "biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhh" + + "dCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBj" + + "b250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6" + + "ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBz" + + "aWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRl" + + "bmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3Jl" + + "dHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9u" + + "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0" + + "cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4i" + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAg" + - "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRz" + - "LXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJl" + - "bGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVs" + - "bGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1" + - "bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNv" + - "bW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hl" + - "Y2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + - "ZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNz" + - "aW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0" + - "cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09m" + - "ZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0" + - "aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + - "aW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIs" + - "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQg" + - "YSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1y" + - "b3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUg" + - "RUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3Vn" + - "aCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkg" + - "cHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + - "dGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4g" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdh" + - "dGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1w" + - "cm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBs" + - "dXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1" + - "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGlj" + - "bXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0" + - "ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0" + - "IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + - "YnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hh" + - "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95" + - "LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQg" + - "bmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFj" + - "ZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBv" + - "aW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VV" + - "UkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vy" + - "dmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VV" + - "UkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJU" + - "aGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5n" + - "cnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9z" + - "dG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlB" + - "cGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3Bl" + - "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAi" + - "VGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZp" + - "ZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RI" + - "ZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3Zl" + - "cnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9s" + - "LXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIs" + - "CiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNh" + - "LW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Et" + - "c3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAg" + - "ICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + - "dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVz" + - "IGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxt" + - "ZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5" + - "IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQg" + - "cGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVy" + - "IGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBm" + - "bG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + - "IHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUs" + - "IGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + - "ZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + - "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3Ry" + - "YXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + - "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + - "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + - "dHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRo" + - "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3" + - "ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5n" + - "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBn" + - "b25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBm" + - "bG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0" + - "cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVs" + - "bWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJl" + - "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFu" + - "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + - "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + - "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + - "IHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5n" + - "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3du" + - "IGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + - "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + - "aWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wt" + - "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJl" + - "Zm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + - "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + - "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + - "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0" + - "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBh" + - "dGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRv" + - "d24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + - "YXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUg" + - "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24i" + - "OiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcg" + - "c2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + - "ZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNy" + - "ZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + - "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3Mu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + - "aW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0" + - "cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xv" + - "YmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2Fu" + - "ZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMu" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "cyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAi" + - "VGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBh" + - "bmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBi" + - "bG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMi" + - "LAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVu" + - "Y3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + - "ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRv" + - "IEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0g" + - "YWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2Fz" + - "IGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5l" + - "ZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQt" + - "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + - "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhv" + - "ZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + - "IGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcu" + - "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJh" + - "bnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlz" + - "IG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5n" + - "IHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4" + - "aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCBy" + - "b3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29s" + - "ZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCBy" + - "ZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBj" + - "bHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + - "ZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + - "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + - "dGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQs" + - "IGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxl" + - "IGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBz" + - "ZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExN" + - "IGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBs" + - "bG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIg" + - "c2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwg" + - "TlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdz" + - "IHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNl" + - "bGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNw" + - "ZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + - "ZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1" + - "Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVk" + - "IGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0" + - "aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABK" + - "VgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBs" + - "ZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3Zl" + - "cnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNl" + - "IGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhs" + - "YXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRg" + - "LgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1" + - "ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + - "L3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVm" + - "b3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxt" + - "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93" + - "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + - "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + - "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + - "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + - "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + - "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAg" + - "ICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTog" + - "IjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFu" + - "ZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9j" + - "YXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2Vz" + - "IGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJl" + - "KSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + - "c2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBs" + - "b3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRo" + - "ZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2Ap" + - "IGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRz" + - "LgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAg" + - "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6" + - "CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgoj" + - "IyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxz" + - "KQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + - "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + - "ICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1" + - "bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5" + - "PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + - "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2Vj" + - "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNl" + - "Y3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdl" + - "UHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBp" + - "biBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5h" + - "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + - "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + - "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + - "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + - "c3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + - "ICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0" + - "LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29t" + - "cHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsg" + - "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRz" + - "IGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5k" + - "ZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNr" + - "T2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0g" + - "bnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20t" + - "Y29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwK" + - "ICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0n" + - "CiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRl" + - "bGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVs" + - "dC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + - "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAK" + - "Ci0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBk" + - "ZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVw" + - "IDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + - "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNr" + - "IG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVi" + - "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1z" + - "dHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1" + - "c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRp" + - "bmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + - "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + - "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + - "CgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0" + - "ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0" + - "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ks" + - "IGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + - "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktV" + - "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVj" + - "b25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMK" + - "YW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAg" + - "LUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + - "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQg" + - "cmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoK" + - "Rm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiks" + - "IHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "Ci0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5n" + - "ZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNl" + - "ciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQg" + - "dGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1u" + - "IGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + - "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5T" + - "IGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBo" + - "b3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJl" + - "Y29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+" + - "YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0" + - "ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRl" + - "IHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBg" + - "SG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGly" + - "ZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2" + - "YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUK" + - "SUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVp" + - "ciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRp" + - "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5h" + - "bGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUg" + - "Y29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcg" + - "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + - "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1v" + - "IHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHBy" + - "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + - "cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + - "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + - "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + - "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + - "aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBl" + - "bmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNl" + - "IGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBP" + - "cGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + - "dXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "bmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxl" + - "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMg" + - "fAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + - "fCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + - "eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9u" + - "YWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + - "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRp" + - "b25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRv" + - "biBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVx" + - "dWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBs" + - "bG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + - "IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZh" + - "bml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUg" + - "c3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0" + - "ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9u" + - "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + - "bnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5n" + - "cmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1" + - "YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90" + - "IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBu" + - "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + - "YXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhl" + - "biByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBo" + - "YW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNv" + - "bWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFu" + - "ZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1m" + - "aWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52" + - "aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + - "cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwg" + - "Q0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkg" + - "cHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFu" + - "ZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wt" + - "cGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRo" + - "ZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVl" + - "ZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3Rz" + - "IGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVu" + - "dmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICBy" + - "ZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgot" + - "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0" + - "ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0" + - "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + - "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wt" + - "cGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpg" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1n" + - "YXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBU" + - "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBs" + - "dXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAg" + - "aXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNl" + - "Cndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAoj" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2Jh" + - "bDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52" + - "Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZO" + - "YXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNl" + - "cnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9j" + - "YXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdy" + - "cGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0" + - "ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1l" + - "c3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7" + - "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6" + - "IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0" + - "czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdh" + - "dGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFw" + - "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + - "bWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAg" + - "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + - "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxl" + - "ZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAg" + - "ICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAg" + - "ICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + - "ICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZp" + - "ZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRy" + - "ZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElf" + - "Q09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDog" + - "IjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFw" + - "aV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48" + - "Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWlu" + - "PiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29u" + - "dGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFw" + - "cyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNf" + - "aG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhl" + - "cmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0" + - "aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBi" + - "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + - "c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4g" + - "XAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBc" + - "CiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgt" + - "dG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+" + - "CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJv" + - "bSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50" + - "LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29t" + - "bWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25s" + - "eQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIu" + - "CgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwg" + - "Zmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSBy" + - "ZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + - "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdp" + - "b24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVy" + - "c2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJl" + - "Z2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lz" + - "dHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNo" + - "YWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpX" + - "S1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBI" + - "ZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29u" + - "dHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFu" + - "ZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1" + - "dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNv" + - "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBh" + - "ZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFu" + - "ZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0" + - "cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFu" + - "ZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + - "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0" + - "ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + - "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + - "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + - "IFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + - "b3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250" + - "cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJl" + - "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + - "cHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5" + - "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIK" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xl" + - "YW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + - "b25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + - "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURg" + - "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + - "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4" + - "YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0" + - "ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gK" + - "S1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + - "Q09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09O" + - "RklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBs" + - "YW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBr" + - "dWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0" + - "ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2Ft" + - "ZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + - "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250" + - "cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21w" + - "dXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93" + - "IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAt" + - "LXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0" + - "IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBs" + - "YW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVy" + - "LCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVu" + - "IHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + - "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5" + - "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + - "YS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + - "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + - "XAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRl" + - "IGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdp" + - "c3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNl" + - "CgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMg" + - "QWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + - "ZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVu" + - "dHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVu" + - "dHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUg" + - "YSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0" + - "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6" + - "IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBS" + - "RUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAw" + - "LzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6" + - "CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + - "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + - "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + - "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + - "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + - "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + - "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + - "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + - "XAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFj" + - "ZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZl" + - "cmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVk" + - "IHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + - "bWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVu" + - "YmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2gg" + - "U2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + - "dWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVs" + - "ZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZj" + - "ci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50" + - "aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMj" + - "IyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6" + - "CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + - "UkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAv" + - "MSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVy" + - "IGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpg" + - "YGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9i" + - "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3Mg" + - "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0" + - "IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipP" + - "cGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBw" + - "dWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9u" + - "IGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMg" + - "aW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAg" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + - "ciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNl" + - "Y3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmlu" + - "ZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNo" + - "CiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVu" + - "YmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBh" + - "dXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxp" + - "ZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFu" + - "eSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtl" + - "eSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQg" + - "d2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRp" + - "b25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fu" + - "bm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMg" + - "dGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50" + - "LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJ" + - "bml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9w" + - "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAg" + - "bWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBV" + - "c2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxs" + - "YmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUg" + - "bGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVu" + - "diB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVu" + - "YmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + - "IyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5" + - "c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBt" + - "aWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVu" + - "dCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5h" + - "bCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFu" + - "ZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4x" + - "IG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxl" + - "ZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNl" + - "IHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90" + - "YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoK" + - "IyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVT" + - "VEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEw" + - "bQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMj" + - "IyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + - "U2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwK" + - "LSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIi" + - "CiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5v" + - "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + - "aWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMj" + - "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + - "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpg" + - "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcg" + - "ZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoK" + - "IyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShz" + - "KSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + - "dmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNs" + - "YWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRj" + - "aCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoK" + - "Mi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0" + - "cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKklu" + - "c3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVk" + - "IHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0" + - "YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3" + - "aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFy" + - "cyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQp" + - "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4g" + - "PG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNl" + - "IGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3Bh" + - "Y2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + - "dCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08" + - "cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWls" + - "ZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUg" + - "Y3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3Np" + - "cwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMg" + - "LW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQpr" + - "dWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hl" + - "Y2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + - "ZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3Jvbmcg" + - "YmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3Jl" + - "dHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5v" + - "dCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBj" + - "cmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBT" + - "aG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0" + - "cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQg" + - "aW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBj" + - "cmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0" + - "IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQK" + - "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZp" + - "Y2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMp" + - "CgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpz" + - "dHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3Bl" + - "cmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5n" + - "ICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNv" + - "bnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVk" + - "LiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5k" + - "CmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9D" + - "T05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + - "TlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + - "IiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFk" + - "YXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9" + - "IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3Vi" + - "ZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIk" + - "bnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSIn" + - "IF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + - "IGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZj" + - "Zi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQg" + - "bmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmlu" + - "YWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + - "IiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUi" + - "IC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlz" + - "c2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgpp" + - "dCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBc" + - "CiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4" + - "ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhh" + - "dCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3Rh" + - "bGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRl" + - "IGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9u" + - "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3Bl" + - "cmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhl" + - "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1h" + - "bnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + - "ZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENo" + - "YW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0" + - "ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyBy" + - "ZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + - "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + - "IiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + - "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJl" + - "Y3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0" + - "c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMj" + - "IyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92" + - "ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGlu" + - "YXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXkt" + - "YWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + - "dGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhh" + - "bXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdl" + - "KS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVu" + - "Y2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFj" + - "ZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBu" + - "YXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBv" + - "cGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXBy" + - "b3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1n" + - "YXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVz" + - "cyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZv" + - "eSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdh" + - "eSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVy" + - "ZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + - "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHku" + - "eWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25t" + - "ZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1" + - "ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAg" + - "ICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1u" + - "YW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRz" + - "LCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRl" + - "bXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52" + - "Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNv" + - "bmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAg" + - "ICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVu" + - "di1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0t" + - "IGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25z" + - "dHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBl" + - "bnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxv" + - "dyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGlu" + - "c3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRz" + - "IGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "CiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMu" + - "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0t" + - "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5h" + - "dHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52" + - "Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRl" + - "cGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3Nh" + - "bmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRl" + - "IGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgoj" + - "IyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBM" + - "YWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlz" + - "IHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVs" + - "bS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZj" + - "ZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlv" + - "bi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdy" + - "cGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFw" + - "aSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnkt" + - "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVx" + - "dWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2Yv" + - "aGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNz" + - "dWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChu" + - "byByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMg" + - "fCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGlu" + - "aGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0" + - "cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4u" + - "L2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5s" + - "bG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFu" + - "ZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1w" + - "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + - "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2" + - "YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2Vy" + - "dmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQg" + - "aWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVu" + - "Y3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4g" + - "TWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290" + - "Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAg" + - "a2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVl" + - "czpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVl" + - "czoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRl" + - "bmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFs" + - "dWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZh" + - "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdo" + - "ZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAg" + - "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1" + - "ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + - "IiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + - "WW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + - "ICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUp" + - "CgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJp" + - "dGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAg" + - "bmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpX" + - "aGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5l" + - "ZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVl" + - "c2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpG" + - "cm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlh" + - "bWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFy" + - "dC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMu" + - "eWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiBy" + - "ZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + - "IFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVz" + - "YCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3Ry" + - "dWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBp" + - "dCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVw" + - "bGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + - "IGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uu" + - "c2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9y" + - "cy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMj" + - "IE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2Uu" + - "KmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRz" + - "dHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRl" + - "Lm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBv" + - "cGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAot" + - "IGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0g" + - "YG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJs" + - "ZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipg" + - "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVu" + - "YWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMg" + - "TExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVh" + - "dGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRo" + - "ZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5" + - "YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkg" + - "QVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhl" + - "IExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJs" + - "ZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBz" + - "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24g" + - "dG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoK" + - "YGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAg" + - "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + - "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGlj" + - "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + - "ICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0" + - "ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAg" + - "ICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJl" + - "cGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVy" + - "cy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBv" + - "biBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBB" + - "UEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5s" + - "bG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBh" + - "YmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZv" + - "ciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNh" + - "IGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5z" + - "dGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJh" + - "bnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCBy" + - "b3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + - "dGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xM" + - "TSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJ" + - "QS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + - "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + - "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + - "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + - "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + - "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + - "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + - "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + - "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + - "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + - "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + - "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + - "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + - "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + - "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + - "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + - "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + - "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + - "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + - "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + - "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + - "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + - "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + - "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + - "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + - "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + - "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + - "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + - "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + - "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + - "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + - "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + - "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + - "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + - "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + - "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + - "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + - "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + - "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + - "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + - "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + - "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + - "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + - "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + - "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + - "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + - "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + - "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + - "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + - "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + - "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + - "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + - "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + - "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + - "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + - "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + - "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + - "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + - "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + - "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + - "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + - "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + - "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + - "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + - "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + - "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + - "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + - "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + - "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + - "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + - "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + - "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + - "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + - "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + - "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + - "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + - "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + - "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + - "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + - "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + - "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + - "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + - "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + - "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + - "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + - "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + - "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + - "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + - "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + - "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + - "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + - "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + - "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + - "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + - "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + - "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + - "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + - "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + - "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + - "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + - "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + - "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + - "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + - "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + - "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + - "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + - "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + - "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + - "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + - "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + - "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + - "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + - "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + - "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + - "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + - "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + - "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + - "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + - "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + - "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + - "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + - "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + - "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAB42pR0oQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + - "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EA" + - "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAJn2DaXdDQAA3Q0AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAIeAAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAT40AAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADCmgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA0bQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + - "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAABX2gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBC" + - "ceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAInpAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrh" + - "OrnIBwAAyAcAADkACQAAAAAAAAAAAAAA+xEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + - "5CEAAOQhAAAuAAkAAAAAAAAAAAAAADMaAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAA" + - "AAAAAAAAAAAAfDwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + - "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAP90vFkAgAAJAIAAAyAAkAAAAAAAAAAAAAAARg" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQCsTIqjyzIAAMsyAAAtAAkAAAAAAAAAAAAAAP1oAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAAsnAEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAA6uAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + - "AAkAAAAAAAAAAAAAALoQAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + - "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + - "AAAAAAAAb2cCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAVJACAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + - "AAAAAAAAAAAAAADpwAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJ" + - "AAAAAAAAAAAAAAAQ8gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + - "AAC5BwAAPwAJAAAAAAAAAAAAAACVHAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + - "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAAxCQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + - "ADk7AwAAAA==" + "biIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + + "bjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRz" + + "IC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9i" + + "YWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5k" + + "cmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4p" + + "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + + "IG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFu" + + "ZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJs" + + "b2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIs" + + "CiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5j" + + "dGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rl" + + "ci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8g" + + "SSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBh" + + "ZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMg" + + "Zm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVk" + + "IHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1i" + + "YWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVx" + + "dWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9k" + + "cy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBz" + + "ZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkg" + + "YXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53" + + "b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFu" + + "c3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMg" + + "bm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcg" + + "dGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhp" + + "c3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJv" + + "dXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xl" + + "dGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJl" + + "cXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNs" + + "dXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBk" + + "ZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qt" + + "cm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50" + + "aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFy" + + "Z2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwg" + + "YW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUg" + + "ZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNl" + + "bGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0g" + + "ZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxs" + + "bS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBz" + + "aWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBO" + + "VkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3Mg" + + "dG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2Vs" + + "Zi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3Bl" + + "Y2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1k" + + "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVj" + + "dGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQg" + + "azNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRo" + + "ZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpW" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxl" + + "cyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVy" + + "cmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2Ug" + + "bGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxh" + + "cmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAu" + + "CgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVl" + + "cyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAv" + + "dG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZv" + + "cmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1m" + + "aWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3cs" + + "IGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0" + + "IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZl" + + "cnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTog" + + "Y2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + + "YmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + + "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBy" + + "ZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAg" + + "ICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAi" + + "MiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5k" + + "IGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nh" + + "c3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMg" + + "Y2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUp" + + "IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVz" + + "ZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxv" + + "eSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhl" + + "IE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkg" + + "aW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMu" + + "CgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAg" + + "cmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToK" + + "ICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMj" + + "IyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMp" + + "CgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0Nf" + + "QVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAg" + + "IiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVs" + + "bCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+" + + "IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + + "bwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + + "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2Vj" + + "cmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQ" + + "dWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGlu" + + "IGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFt" + + "ZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFi" + + "bGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + + "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + + "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fz" + + "c2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAg" + + "ICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRd" + + "KHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQu" + + "CgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21w" + + "dXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0" + + "aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMg" + + "Zm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRl" + + "bmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tP" + + "ZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBu" + + "dmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1j" + + "b2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAog" + + "ICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScK" + + "ICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVs" + + "ZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0" + + "LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBT" + + "aG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoK" + + "LS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRl" + + "cGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAg" + + "MTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1" + + "c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sg" + + "b24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1" + + "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0" + + "dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVz" + + "dGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1" + + "ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGlu" + + "ZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1" + + "c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlv" + + "bi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAK" + + "ClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3Rl" + + "cCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQt" + + "bWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + + "cwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwg" + + "aWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5h" + + "bCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + + "YWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5h" + + "Z2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2" + + "ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBt" + + "aXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3Zh" + + "bCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VC" + + "RUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNv" + + "bmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwph" + + "bWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAt" + + "RSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5h" + + "dHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCBy" + + "ZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpG" + + "b2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwg" + + "dGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + + "LS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdl" + + "CgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2Vy" + + "IHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0" + + "aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4g" + + "ZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + + "ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMg" + + "YW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhv" + + "c3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVj" + + "b3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5g" + + "IGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRl" + + "bXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUg" + + "c3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBI" + + "b3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJl" + + "Y3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZh" + + "bHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJ" + + "Q01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWly" + + "IGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlv" + + "biBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFs" + + "bHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBj" + + "b21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyAr" + + "c2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDov" + + "LyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8g" + + "d2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJv" + + "dXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNw" + + "cm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + + "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + + "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + + "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + + "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + + "eSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVu" + + "ZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2Ug" + + "Y29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9w" + + "ZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBu" + + "YXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBn" + + "ZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVh" + + "c2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "c3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8" + + "CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + + "IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZp" + + "Y2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5" + + "LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJv" + + "dXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25h" + + "bCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUg" + + "YWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlv" + + "bmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9u" + + "IGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1" + + "ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxs" + + "bS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3Qg" + + "dGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFu" + + "aXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBz" + + "dGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRl" + + "d2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25s" + + "eSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9u" + + "cy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdy" + + "ZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVh" + + "bCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3Qg" + + "aGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5h" + + "bWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBh" + + "cmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVu" + + "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhh" + + "bmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29t" + + "YmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5l" + + "IGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZp" + + "bGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZp" + + "cm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3Ry" + + "YXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBD" + + "TEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBw" + + "cm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5k" + + "LWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1w" + + "bGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhl" + + "IHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVk" + + "IG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMg" + + "Zm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52" + + "aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJl" + + "Z2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0g" + + "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRl" + + "LXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRo" + + "ZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEu" + + "Y29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1w" + + "bGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBl" + + "bnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdh" + + "dGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRo" + + "ZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1" + + "cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBp" + + "cyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UK" + + "d2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFs" + + "OgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZj" + + "ZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1Nl" + + "cnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5h" + + "dHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2Vy" + + "dmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2" + + "aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2Nh" + + "dGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3Jw" + + "Y3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rl" + + "ci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVz" + + "cGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtu" + + "YW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzog" + + "e25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRz" + + "OgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0" + + "ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBp" + + "OgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFt" + + "ZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAg" + + "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + + "cmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVk" + + "OiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAg" + + "IGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAg" + + "IHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRy" + + "ZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1k" + + "b21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAg" + + "ICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmll" + + "dyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBg" + + "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxN" + + "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29u" + + "ZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxN" + + "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29u" + + "ZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJl" + + "c3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9D" + + "T05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAi" + + "PGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBp" + + "X2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxn" + + "YXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+" + + "IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250" + + "YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBz" + + "IG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19o" + + "b3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVy" + + "ZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJh" + + "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVz" + + "dGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBc" + + "CiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwK" + + "ICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10" + + "by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4K" + + "YGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9t" + + "IHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQs" + + "IGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21t" + + "YW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5" + + "CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4K" + + "CiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBm" + + "aXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJl" + + "Z2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0" + + "ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBc" + + "CiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "IFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVz" + + "dGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lv" + + "bj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJz" + + "aXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApu" + + "dmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5l" + + "LXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAt" + + "LXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + + "IC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVn" + + "aW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xp" + + "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + + "XAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0" + + "cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hh" + + "YmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldL" + + "Uy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhl" + + "bG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250" + + "cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5l" + + "CmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0" + + "ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQg" + + "cmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29t" + + "cHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4g" + + "YG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFk" + + "ZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5k" + + "cyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRz" + + "Lm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5k" + + "IG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdp" + + "ZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRl" + + "IC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9w" + + "ZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAt" + + "biBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9" + + "Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + + "VGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZv" + + "cmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVz" + + "ZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBw" + + "cmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkg" + + "d2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxs" + + "YXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5k" + + "IGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVh" + + "c2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0" + + "Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9y" + + "IG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2" + + "ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFs" + + "dWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVh" + + "bnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + + "bmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0t" + + "Y2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5j" + + "YS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAg" + + "YW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + + "cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhh" + + "Y3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRl" + + "YC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNv" + + "bXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApL" + + "VUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05G" + + "SUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxh" + + "bmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1" + + "YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "CnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3Rl" + + "ciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1l" + + "IGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8" + + "Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBs" + + "YW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1" + + "dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cg" + + "dGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0t" + + "cGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQg" + + "Y29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxh" + + "bmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIs" + + "IHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNp" + + "dCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4g" + + "cHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1j" + + "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + + "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + + "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkg" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + + "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + + "CiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + + "CiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUg" + + "Y2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lz" + + "dGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRl" + + "ciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UK" + + "ClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFn" + + "ZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBB" + + "bGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRl" + + "CgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFt" + + "ZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50" + + "cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50" + + "cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBh" + + "IHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3Rs" + + "IGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTog" + + "SW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJF" + + "QURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAv" + + "MSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoK" + + "CmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQw" + + "MSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBp" + + "bWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3Rz" + + "IGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + + "cGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVj" + + "dGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMu" + + "aW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1h" + + "Z2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8g" + + "anNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3Jl" + + "dCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0" + + "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tl" + + "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + + "CiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNl" + + "PTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVy" + + "ZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQg" + + "dmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + + "ZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5i" + + "YW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBT" + + "ZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + + "bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxl" + + "dGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNy" + + "LWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRp" + + "YWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMj" + + "IFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoK" + + "CmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBS" + + "RVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8x" + + "ICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIg" + + "aXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBg" + + "YGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0" + + "ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2Jz" + + "IC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAt" + + "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQg" + + "Y29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9w" + + "ZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1" + + "bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24g" + + "am9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBp" + + "bnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVy" + + "IGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2Vj" + + "cmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5n" + + "IGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gK" + + "ICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5i" + + "YW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1" + + "dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlk" + + "YXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55" + + "IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5" + + "IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3" + + "aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlv" + + "bl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5u" + + "b3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0" + + "aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQt" + + "aW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYElu" + + "aXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3Bl" + + "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBt" + + "aWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVz" + + "aW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxi" + + "YWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBs" + + "aXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52" + + "IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5i" + + "YW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAj" + + "ICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lz" + + "dGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1p" + + "Z3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50" + + "IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFs" + + "IE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5k" + + "IHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEg" + + "bWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVk" + + "ICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2Ug" + + "dGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3Rh" + + "dGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgoj" + + "IyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNU" + + "QVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBt" + + "CmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNz" + + "YW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMj" + + "IEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBT" + + "ZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAot" + + "IGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgi" + + "CiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIK" + + "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90" + + "IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxp" + + "Y2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMg" + + "U3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJU" + + "UyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBg" + + "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBm" + + "YWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+Cgoj" + + "IENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMp" + + "IGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2" + + "YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xh" + + "aW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNo" + + "Kio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNo" + + "CiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoy" + + "LiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3Rz" + + "CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5z" + + "dWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAg" + + "IGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQg" + + "cmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3Rh" + + "dGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdp" + + "dGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJz" + + "IHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCku" + + "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8" + + "bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2Ug" + + "YW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFj" + + "ZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0" + + "IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxy" + + "ZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxl" + + "ZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBj" + + "cmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lz" + + "CgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAt" + + "biBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1" + + "YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVj" + + "ayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1l" + + "PW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBi" + + "YXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0" + + "cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90" + + "IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNy" + + "ZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNo" + + "b3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3Ry" + + "eSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBp" + + "biBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNy" + + "ZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQg" + + "ZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRl" + + "bGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZApr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "YXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykK" + + "CiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0" + + "dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVy" + + "YXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcg" + + "ICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29u" + + "dGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQu" + + "IFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQK" + + "Zm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NP" + + "TlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBO" + + "VkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQi" + + "IGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRh" + + "dGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30g" + + "c2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJl" + + "Y3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRu" + + "cyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19Iicg" + + "XyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMg" + + "YnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNm" + + "LWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBu" + + "YW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5h" + + "bGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQi" + + "IHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIg" + + "LWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNz" + + "aW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3Rh" + + "bGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0" + + "IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwK" + + "ICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhl" + + "cwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1m" + + "aWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0" + + "IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "LiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFs" + + "bGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUg" + + "Y29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252" + + "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVy" + + "YXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUg" + + "cHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVy" + + "YXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFu" + + "dWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + + "I2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hh" + + "bmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRl" + + "IGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJl" + + "cGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3Np" + + "cwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkg" + + "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAi" + + "JEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBh" + + "cGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVj" + + "dCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRz" + + "U2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMj" + + "IEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3Zl" + + "cnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5h" + + "dGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1h" + + "ZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0" + + "aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFt" + + "cGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2Up" + + "LgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5j" + + "ZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNl" + + "IHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5h" + + "dHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9w" + + "ZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJv" + + "eHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdh" + + "dGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNz" + + "IHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95" + + "IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5" + + "IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "aGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJl" + + "bmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + + "Lwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMg" + + "TkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAg" + + "ICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55" + + "YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1l" + + "bnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVl" + + "cyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAg" + + "ICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5h" + + "bWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMs" + + "IHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVt" + + "cGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFu" + + "ZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + + "bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZj" + + "YS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29u" + + "ZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAg" + + "ICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52" + + "LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0g" + + "Z2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0" + + "cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVu" + + "dmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93" + + "IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5z" + + "dGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMg" + + "ZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + + "IyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55" + + "YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0t" + + "LS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0" + + "cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZj" + + "Zi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVw" + + "ZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2Fu" + + "ZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUg" + + "aW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMj" + + "IyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExh" + + "YmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMg" + + "fCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxt" + + "LW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9u" + + "LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3Jw" + + "Yy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBp" + + "IHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1z" + + "ZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1" + + "ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9o" + + "ZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1" + + "ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5v" + + "IHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8" + + "IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5o" + + "ZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRz" + + "IGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxs" + + "bS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5k" + + "YWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBs" + + "Cgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0t" + + "LS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZh" + + "cmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2" + + "YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBp" + + "ZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5j" + + "eWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBN" + + "ZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3Rj" + + "aGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBr" + + "ZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVz" + + "OmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVz" + + "OgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRo" + + "ZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlh" + + "bWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVu" + + "Y3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1" + + "ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFs" + + "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hl" + + "biBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8" + + "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVk" + + "ZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + + "IH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZ" + + "b3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAg" + + "ICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkK" + + "ClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0" + + "YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBu" + + "YW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldo" + + "ZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVl" + + "ZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVz" + + "YCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZy" + + "b20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFt" + + "bGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFs" + + "LnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0" + + "LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55" + + "YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJl" + + "bGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwg" + + "UGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNg" + + "ICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1" + + "Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0" + + "IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBs" + + "aWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0g" + + "YGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5z" + + "aXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3Jz" + + "LmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMg" + + "TkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4q" + + "YAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0" + + "cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUu" + + "bWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9w" + + "ZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0g" + + "YG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBg" + + "b3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxl" + + "ZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAg" + + "KHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5h" + + "YmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBM" + + "TE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0" + + "aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhl" + + "IGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlg" + + "LCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBB" + + "UEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUg" + + "TExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxl" + + "ZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNp" + + "bmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0" + + "bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6Cgpg" + + "YGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAg" + + "ICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoK" + + "ICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNh" + + "Q291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAg" + + "IGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3Rl" + + "cjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAg" + + "IHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVw" + + "bGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJz" + + "LiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9u" + + "IHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQ" + + "SSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxs" + + "bS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFi" + + "bGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9y" + + "IHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2Eg" + + "Y291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0" + + "YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFu" + + "c3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJv" + + "dXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0" + + "aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExN" + + "IFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElB" + + "L252Y2YvYmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2Fk" + + "LWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBv" + + "dXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnks" + + "IHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5" + + "YW1sCmFwaToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAg" + + "ICAgIHNpZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3Ry" + + "eT4vPHJlcG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZD" + + "Rl9TSURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpU" + + "aGUgc3RhY2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQg" + + "bmV3IGNvbmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZs" + + "aWN0aW5nIHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0" + + "ZWQgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVy" + + "ZWQgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0" + + "YWxsYXRpb24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCBjb21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11" + + "c3QgcmVtYWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJl" + + "bWFpbiB2YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFp" + + "biB0aGUgd29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVy" + + "c2lvbiBpcyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2" + + "ZXJzaW9uIGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJv" + + "bC1wbGFuZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24u" + + "IFZlcmlmeSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwg" + + "Z2V0IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXIn" + + "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNr" + + "ZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMu" + + "Y29udGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2Vu" + + "ZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBh" + + "cmdzIG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNj" + + "aGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0" + + "aW9uIGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9s" + + "aWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5t" + + "ZCkuCgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBn" + + "cm91cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWlu" + + "Z3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5j" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qt" + + "cm91dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1s" + + "bG0tYXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBE" + + "ZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJv" + + "eHlgIGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFk" + + "bWluLWlzc3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252" + + "Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0" + + "aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxl" + + "ZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + + "Y2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0Yg" + + "VUkgb25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0" + + "ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMg" + + "bm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVz" + + "LCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRo" + + "ZW0uCgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52" + + "LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1" + + "ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUg" + + "dGhlIG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBm" + + "cm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IG52Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgoj" + + "IE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3Iu" + + "aW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBc" + + "CiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGll" + + "bnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhv" + + "c3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNm" + + "LXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJt" + + "aW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBh" + + "bmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + + "bmdyZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRo" + + "ZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBs" + + "b3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNm" + + "LXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5l" + + "bCBpcyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpw" + + "dWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBO" + + "LCBvciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJv" + + "dXRlLgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRV" + + "VAUAAQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVu" + + "IHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxl" + + "LCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24g" + + "ZXZlcnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFy" + + "ZSBjb25maWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9u" + + "ZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFw" + + "cHJvYWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxh" + + "bmUgcG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRv" + + "IGBudmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAx" + + "LiBJbnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8v" + + "a3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwg" + + "a3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAog" + + "IC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0" + + "ZSBjb250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9" + + "Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0t" + + "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + + "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + + "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1O" + + "R0MgcmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJu" + + "YW1lYCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVz" + + "dGVyUG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3Rl" + + "clBvbGljeQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6" + + "CiAgYmFja2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNl" + + "Y3JldC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVz" + + "b3VyY2VzOgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAg" + + "bmFtZXNwYWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMi" + + "CiAgICAgICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJu" + + "YXRzLXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAg" + + "LSAidmF1bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0" + + "ZToKICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAg" + + "ICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1" + + "bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAg" + + "IGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBg" + + "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAog" + + "IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3Rh" + + "bGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wt" + + "cGxhbmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxl" + + "IG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3Jl" + + "dCBpbnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoK" + + "Q3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUg" + + "Y2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBw" + + "bHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52" + + "Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2Vj" + + "cmV0czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + + "dXNlIHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNy" + + "ZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1" + + "dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3Rh" + + "bGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9s" + + "LXBsYW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAog" + + "IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5h" + + "bWUiOiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + + "PiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNm" + + "XC5udmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBr" + + "eXZlcm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxh" + + "c3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBw" + + "dWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9y" + + "IG1pcnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0K" + + "YGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0" + + "aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5l" + + "clJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBF" + + "Q1Igd2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8g" + + "cHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMq" + + "KjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5" + + "LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3Rp" + + "bGwgaW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5v" + + "IHBvbGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlz" + + "IGFwcGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJh" + + "c2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFt" + + "ZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBy" + + "dW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMj" + + "IyBQb2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3Jl" + + "dHMKIyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoK" + + "VGhlIHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhp" + + "c3RzIHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFy" + + "Z2V0LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsH" + + "CEtCNagAFgAAABYAAFBLAQIUABQACAAAAAAAIQD3ALZAShAAAEoQAAASAAkAAAAAAAAAAAAAAAAA" + + "AABkYXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA/3bzZ1NhAABTYQAA" + + "IwAJAAAAAAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAFJvuWtoNAADaDQAAMwAJAAAAAAAAAAAAAABAcgAAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAKEU44FdDAAAXQwAADQACQAAAAAAAAAAAAAAhIAAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAQidJDwUNAAAFDQAANwAJAAAAAAAAAAAAAABMjQAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQDU3o00nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAAL+aAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "0kPcBBglAAAYJQAANwAJAAAAAAAAAAAAAADOtAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwm" + + "vg4AAL4OAAA9AAkAAAAAAAAAAAAAAFTaAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEJx" + + "5h4BKAAAASgAADoACQAAAAAAAAAAAAAAhukAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6" + + "ucgHAADIBwAAOQAJAAAAAAAAAAAAAAD4EQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bk" + + "IQAA5CEAAC4ACQAAAAAAAAAAAAAAMBoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcg0PZCEjAAAhIwAAMAAJAAAA" + + "AAAAAAAAAAB5PAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRz" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADwZ8FjiCAAA4ggAADIACQAAAAAAAAAAAAAAAWAB" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAFsF+ye1NAAAtTQAAC0ACQAAAAAAAAAAAAAATGkBAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQDzrhOEdBEAAHQRAAA3AAkAAAAAAAAAAAAAAGWeAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ABHDFJNJYgAASWIAACwACQAAAAAAAAAAAAAAR7ABAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQA" + + "CQAAAAAAAAAAAAAA8xICAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxz" + + "L2V2YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAA" + + "AAAAAACoaQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAACNkgIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkA" + + "AAAAAAAAAAAAACLDAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkA" + + "AAAAAAAAAAAAAEn0AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcA" + + "ALkHAAA/AAkAAAAAAAAAAAAAAM4eAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1" + + "qAAWAAAAFgAAPgAJAAAAAAAAAAAAAAD9JgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAA" + + "cj0DAAAA" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index d94c187da9..29681a0d8b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -942,12 +942,12 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa // buildControlPlaneValidatorConfig assembles the network-check ConfigMap YAML. // The reachability endpoints are the registries the install pulls from, as -// EnumerateRegistries resolved them for the local credential check, with the -// same criticality, so the two checks cannot disagree. A fixed critical -// nvcr.io entry failed every mirrored or air-gapped control plane, the exact -// install shape EnumerateRegistries deliberately does not send to nvcr.io. -// With no registries the section is omitted and the validator runs without -// configured reachability endpoints. +// EnumerateRegistries resolved them for the local credential check, and all of +// them are non-critical. The validator dials them from a pod with no proxy +// support, but nodes pull through the container runtime, often via an +// HTTPS_PROXY or a registry mirror that pods cannot use: a failed in-pod dial +// is worth a warning, not proof that the nodes cannot pull. With no +// registries the section is omitted. func buildControlPlaneValidatorConfig(registries []RegistryEntry) string { var b strings.Builder for _, reg := range registries { @@ -963,8 +963,8 @@ func buildControlPlaneValidatorConfig(registries []RegistryEntry) string { // ConfigMap unparseable, and the validator then silently drops every // reachability and enforcement check. fmt.Fprintf(&b, - " - name: %q\n host: %q\n port: %d\n protocol: tcp+tls\n critical: %t\n", - reg.Registry, host, port, reg.Critical) + " - name: %q\n host: %q\n port: %d\n protocol: tcp+tls\n critical: false\n", + reg.Registry, host, port) } return b.String() + controlPlaneValidatorEnforcementConfig } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 881c7f4634..1fb135b3c2 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -605,7 +605,7 @@ func TestBuildControlPlaneValidatorConfig_NoRegistries(t *testing.T) { // The endpoints are exactly the enumerated registries, with the same // criticality. A mirrored install whose list has no nvcr.io must not be made // to dial it: a fixed critical nvcr.io failed every such control plane. -func TestBuildControlPlaneValidatorConfig_FollowsEnumeratedRegistries(t *testing.T) { +func TestBuildControlPlaneValidatorConfig_EndpointsAreNotCritical(t *testing.T) { got := buildControlPlaneValidatorConfig([]RegistryEntry{ {Registry: "harbor.company.internal", Critical: false}, {Registry: "registry.example:5000", Critical: true}, @@ -615,13 +615,16 @@ func TestBuildControlPlaneValidatorConfig_FollowsEnumeratedRegistries(t *testing assert.Contains(t, got, `host: "registry.example"`) assert.Contains(t, got, "port: 5000") assert.Contains(t, got, "host: \"harbor.company.internal\"\n port: 443\n protocol: tcp+tls\n critical: false\n") - assert.Contains(t, got, "host: \"registry.example\"\n port: 5000\n protocol: tcp+tls\n critical: true\n") + assert.Contains(t, got, "host: \"registry.example\"\n port: 5000\n protocol: tcp+tls\n critical: false\n", + "an in-pod dial is not evidence the nodes cannot pull, so no endpoint is critical") assert.Less(t, strings.Index(got, "harbor.company.internal"), strings.Index(got, "enforcement:"), "endpoints must appear before the enforcement block") + // Nodes can pull nvcr.io through a runtime proxy or mirror that pods have + // no route to, so even an NGC install's nvcr.io is only a warning. ngc := buildControlPlaneValidatorConfig([]RegistryEntry{{Registry: "nvcr.io", Critical: true}}) assert.Contains(t, ngc, `host: "nvcr.io"`) - assert.Contains(t, ngc, "critical: true", "an NGC install keeps nvcr.io critical") + assert.NotContains(t, ngc, "critical: true") } func TestBuildControlPlaneValidatorConfig_InvalidRegistrySkipped(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index 94b58a4181..ed1c0ac15e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -169,3 +169,25 @@ func TestSelectAuthChallenge_JoinedInOneHeader(t *testing.T) { assert.Equal(t, `Basic realm="bearer thing"`, selectAuthChallenge([]string{`Basic realm="bearer thing"`}), "a quoted word is not a challenge") } + +// For an NGC registry the check uses NGC_API_KEY when it is set, the key the +// install mints its pull secrets from, even when a credential store also has a +// login for it. Without the key, the store is used. Other registries never +// get the key. +func TestCredentialsForRegistry_NGCKeyMatchesWhatTheInstallUses(t *testing.T) { + dockerHome(t, `{"auths":{"nvcr.io":{}},"credsStore":"store"}`, "store") + t.Setenv("NGC_API_KEY", "env-key") + u, p, ok := credentialsForRegistry("nvcr.io") + require.True(t, ok) + assert.Equal(t, "$oauthtoken", u) + assert.Equal(t, "env-key", p) + + t.Setenv("NGC_API_KEY", "") + u, _, ok = credentialsForRegistry("nvcr.io") + require.True(t, ok) + assert.Equal(t, "u-store", u, "without the key the store's login is used") + + t.Setenv("NGC_API_KEY", "env-key") + _, p, _ = credentialsForRegistry("quay.io") + assert.NotEqual(t, "env-key", p, "the NGC key is never sent to another registry") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index c93c8dccb9..9e50b211b5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -138,6 +138,51 @@ func helmReleaseExists( return false, fmt.Errorf("gave up after %d pages scanning for Helm releases", helmReleaseListMaxPages) } +// hasPods reports whether namespace ns runs any pod. A read error reports +// false, so the namespace is still flagged. +func hasPods(ctx context.Context, client kubernetes.Interface, ns string) bool { + pods, err := client.CoreV1().Pods(ns).List(ctx, metav1.ListOptions{Limit: 1}) + return err == nil && len(pods.Items) > 0 +} + +// onlyInstallPreparation reports whether namespace ns holds a registry pull +// Secret and nothing else an operator or an install would create: only the +// tokens and CA ConfigMap Kubernetes adds to every namespace, and no PVCs. An +// empty namespace, or a read error, reports false, so it is still flagged. +func onlyInstallPreparation(ctx context.Context, client kubernetes.Interface, ns string) bool { + pvcs, err := client.CoreV1().PersistentVolumeClaims(ns).List(ctx, metav1.ListOptions{Limit: 1}) + if err != nil || len(pvcs.Items) > 0 { + return false + } + secrets, err := client.CoreV1().Secrets(ns).List(ctx, metav1.ListOptions{}) + if err != nil { + return false + } + pullSecrets := 0 + for i := range secrets.Items { + switch secrets.Items[i].Type { + case corev1.SecretTypeDockerConfigJson, corev1.SecretTypeDockercfg: + pullSecrets++ + case corev1.SecretTypeServiceAccountToken: + default: + return false + } + } + if pullSecrets == 0 { + return false + } + cms, err := client.CoreV1().ConfigMaps(ns).List(ctx, metav1.ListOptions{}) + if err != nil { + return false + } + for i := range cms.Items { + if cms.Items[i].Name != "kube-root-ca.crt" { + return false + } + } + return true +} + // helmReleasesAreInCluster reports whether Helm stores release state as // in-cluster Secrets or ConfigMaps, the drivers this probe can see. func helmReleasesAreInCluster() bool { @@ -194,6 +239,15 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name if found { continue } + // No release is not yet a leftover. The documented install pre-creates + // the namespaces holding only a registry pull Secret, so before the + // first install none has a release; and an install rendered with + // `helm template` (Argo CD) never records one but runs pods. What + // `down` leaves behind runs nothing and still holds data (PVCs, + // Secrets, ConfigMaps). + if hasPods(ctx, client, name) || onlyInstallPreparation(ctx, client, name) { + continue + } noRelease = append(noRelease, name) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index d6ab34968c..ec7c50a145 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -484,3 +484,53 @@ func TestStaleNamespaceCheck_HintsOneCommandPerNamespace(t *testing.T) { assert.Contains(t, r.Message, "get -n api-keys --show-kind") assert.Contains(t, r.Message, "get -n ess --show-kind") } + +// The documented install pre-creates each namespace holding only a registry +// pull Secret, so before the first install none has a release. That is not a +// leftover and must not be flagged, while a namespace that still holds data, +// as `down` leaves them, is. +func TestProbeStaleNamespaces_PreCreatedNamespaceIsNotStale(t *testing.T) { + ns := func(name string) *corev1.Namespace { + return &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: name}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}} + } + pull := func(ns string) *corev1.Secret { + return &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "nvcr-pull-secret", Namespace: ns}, + Type: corev1.SecretTypeDockerConfigJson} + } + client := fake.NewSimpleClientset( + ns("nvcf"), pull("nvcf"), + &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "kube-root-ca.crt", Namespace: "nvcf"}}, + ns("cassandra-system"), pull("cassandra-system"), + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data-cassandra-0", Namespace: "cassandra-system"}}, + ns("vault-system"), pull("vault-system"), + &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "vault-unseal", Namespace: "vault-system"}, + Type: corev1.SecretTypeOpaque}, + ns("sis"), pull("sis"), + &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "sis-config", Namespace: "sis"}}, + ) + stale, err := probeStaleNamespaces(context.Background(), client, + []string{"nvcf", "cassandra-system", "vault-system", "sis"}) + require.NoError(t, err) + var names []string + for _, s := range stale { + names = append(names, s.Name) + } + assert.ElementsMatch(t, []string{"cassandra-system", "vault-system", "sis"}, names, + "only the namespaces that still hold data") +} + +// An install rendered with `helm template` (Argo CD) records no Helm release +// but runs pods. That is a live install, not a leftover. +func TestProbeStaleNamespaces_NamespaceRunningPodsIsNotStale(t *testing.T) { + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nats-system"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}}, + &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "nats-0", Namespace: "nats-system"}}, + &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "nats-auth", Namespace: "nats-system"}, + Type: corev1.SecretTypeOpaque}, + ) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nats-system"}) + require.NoError(t, err) + assert.Empty(t, stale) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 4830f3d55a..ea42963607 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -94,6 +94,16 @@ func ResolveLatestValidatorTag(ctx context.Context, baseImage string) (string, b return fmt.Sprintf("%s/%s:%s", registry, repo, best), true } +// ImageRefIsPinned reports whether ref names a tag or a digest. An unpinned +// reference is pulled as :latest, which a registry need not have. +func ImageRefIsPinned(ref string) bool { + ref = strings.TrimSpace(ref) + if strings.Contains(ref, "@") { + return true + } + return strings.Contains(ref[strings.LastIndex(ref, "/")+1:], ":") +} + // parseImageRef splits "registry/repo:tag" or "registry/repo@digest" into // its parts. The registry must contain a '.' or ':' to distinguish a // real hostname from a Docker Hub library shorthand. Returns ok=false on @@ -497,32 +507,28 @@ func isNGCRegistry(registry string) bool { return false } -// credentialsForRegistry resolves (username, password) for any registry. -// Checks ~/.docker/config.json first, then falls back to NGC_API_KEY only -// for NGC-domain registries to avoid sending NGC creds to unrelated registries. +// credentialsForRegistry resolves (username, password) for any registry. For +// an NGC registry NGC_API_KEY comes first when it is set, because that is the +// key up and the validator pull secret mint from: checking a keychain login +// instead validated a different credential from the one the install uses. +// NGC_API_KEY is never sent to any other registry. Without it, or for any +// other registry, ~/.docker/config.json is used. func credentialsForRegistry(registry string) (string, string, bool) { - if u, p, ok := credsFromDockerConfig(registry); ok { - return u, p, true - } if isNGCRegistry(registry) { if key := firstNonEmptyEnv(ngcAPIKeyEnvNames...); key != "" { return "$oauthtoken", key, true } } - return "", "", false + return credsFromDockerConfig(registry) } -// ngcCredentials resolves (username, password) for an NGC-hosted registry. -// Checks ~/.docker/config.json first; falls back to NGC_API_KEY env vars -// with the literal "$oauthtoken" sentinel username NGC expects. +// ngcCredentials resolves (username, password) for an NGC-hosted registry, in +// the same order: NGC_API_KEY, then ~/.docker/config.json. func ngcCredentials(registry string) (string, string, bool) { - if u, p, ok := credsFromDockerConfig(registry); ok { - return u, p, true - } if key := firstNonEmptyEnv(ngcAPIKeyEnvNames...); key != "" { return "$oauthtoken", key, true } - return "", "", false + return credsFromDockerConfig(registry) } func credsFromDockerConfig(registry string) (string, string, bool) { From ccd590890dad7c79eba394774afdb1b50a2ee1ea Mon Sep 17 00:00:00 2001 From: rohithb Date: Thu, 1 Oct 2026 04:04:56 +0530 Subject: [PATCH 053/127] fix(nvcf-cli): size the check budget from the validator's full run, read a file:// control-plane stack, and document that OnQuit must not block Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 21 ++++++++---- .../cmd/self_hosted_check_scope_test.go | 26 +++++++++++++- .../cmd/self_hosted_check_stackvalues_test.go | 18 ++++++++++ .../internal/selfhosted/clustervalidator.go | 10 ++++++ .../clustervalidator_lifecycle_test.go | 34 +++++++++++++++++++ .../selfhosted/progress/render_tty.go | 4 ++- 6 files changed, 104 insertions(+), 9 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 2d13120e8b..3be8eb9d17 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -174,13 +174,18 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { outerTimeout := 2 * time.Minute if clusterValidatorWillRun { - // Each validator Job has a 5m internal budget. ModeSingle runs both - // validators sequentially (two 5m runs); ModeSplit runs them in - // parallel so one 6m ceiling covers both. + // A role's share is a minute for the probes that run first, plus the + // longest a validator can take, which includes the wait after its own + // timeout for the Job's deadline to end the pod. Sizing on the + // validator's timeout alone ran the budget out while that wait was + // still in progress, reporting "not every check ran" in place of the + // validator's own failure. ModeSingle runs both validators in turn; + // ModeSplit runs them in parallel, so one share covers both. + perRole := time.Minute + selfhosted.ClusterValidatorRunCeiling() if mode == kubectx.ModeSingle && controlPlaneIsTargeted(mode) && computePlaneIsTargeted(mode) { - outerTimeout = 12 * time.Minute + outerTimeout = 2 * perRole } else { - outerTimeout = 6 * time.Minute + outerTimeout = perRole } } // --wait polls for the declared duration. The outer ctx has to outlive @@ -390,8 +395,10 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // environment follows resolveStackEnv. func resolveStackValuesFiles() []string { var roots []string - if selfHostedControlPlaneStack != "" { - roots = append(roots, selfHostedControlPlaneStack) + // localStackDir strips file:// and drops remote sources, which + // filepath.Join would otherwise turn into a path that never exists. + if dir := localStackDir(selfHostedControlPlaneStack); dir != "" { + roots = append(roots, dir) } if cwd, err := os.Getwd(); err == nil { dir := cwd diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 58ef6ee90a..bd7327c2e7 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -146,7 +146,7 @@ func runCheckWithBudget(t *testing.T, budget time.Duration, validator func(conte resetCheckFlags(t) t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") prevBudget, prevCV, prevTools := checkBudget, newClusterValidatorForSelfHosted, checkPreflightTools - checkBudget = func(time.Duration) time.Duration { return budget } + checkBudget = func(d time.Duration) time.Duration { requestedBudget = d; return budget } checkPreflightTools = passingPreflightTools t.Cleanup(func() { checkPreflightTools = prevTools }) newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { @@ -164,6 +164,9 @@ func runCheckWithBudget(t *testing.T, budget time.Duration, validator func(conte return rootCmd.Execute(), stderr.String() } +// requestedBudget is the outer budget the last runCheckWithBudget run asked for. +var requestedBudget time.Duration + func holdUntilDone(ctx context.Context) selfhosted.ClusterValidatorResult { <-ctx.Done() return selfhosted.ClusterValidatorResult{Err: ctx.Err()} @@ -279,3 +282,24 @@ func TestImageRefIsPinned(t *testing.T) { assert.Equal(t, want, selfhosted.ImageRefIsPinned(ref), ref) } } + +// The budget covers each validator's longest run, including the wait after its +// own timeout for the Job's deadline to end the pod, so a validator that times +// out is graded as its own failure and not as a spent budget. Both roles on one +// cluster run in turn and need a share each. +func TestCheck_BudgetCoversEachValidatorsFullRun(t *testing.T) { + ceiling := selfhosted.ClusterValidatorRunCeiling() + passNow := func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Passed: true} + } + for _, tc := range []struct { + args []string + validators time.Duration + }{ + {args: nil, validators: 1}, + {args: []string{"--pre"}, validators: 2}, + } { + _, _ = runCheckWithBudget(t, time.Minute, passNow, tc.args...) + assert.GreaterOrEqual(t, requestedBudget, tc.validators*ceiling+time.Minute, "args %v", tc.args) + } +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index ef805f46b6..e1df05cafb 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -20,6 +20,7 @@ package cmd import ( "os" "path/filepath" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -80,3 +81,20 @@ func TestResolveStackEnv_Precedence(t *testing.T) { withEnvFlag(t, "local", false) assert.Equal(t, "local", resolveStackEnv()) } + +// A file:// stack source is read from its directory. Joined verbatim it named +// a path that never exists, and the lookup fell back to the working directory. +func TestResolveStackValuesFiles_FileURLStack(t *testing.T) { + stack := stackWithEnvs(t, "local") + prev := selfHostedControlPlaneStack + selfHostedControlPlaneStack = "file://" + stack + t.Cleanup(func() { selfHostedControlPlaneStack = prev }) + t.Setenv("HELMFILE_ENV", "") + withEnvFlag(t, "local", false) + + got := resolveStackValuesFiles() + require.Len(t, got, 2) + for _, f := range got { + assert.True(t, strings.HasPrefix(f, stack), "%s is not from the file:// stack", f) + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 29681a0d8b..086c3473fc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -78,6 +78,13 @@ var ( validatorCleanupTimeout = 30 * time.Second ) +// ClusterValidatorRunCeiling is the longest one validator run can take: its +// own timeout, then on a timeout the wait for the Job's deadline to end the +// pod and the log fetch, plus a margin for the pod's termination grace period. +func ClusterValidatorRunCeiling() time.Duration { + return clusterValidatorTimeout + validatorDeadlineGrace + clusterValidatorLogFetchTimeout + validatorRunMargin +} + // cleanupContext is a fresh, bounded context for one deferred sweep. It does // not derive from the run's ctx, which may already be cancelled. func cleanupContext() (context.Context, context.CancelFunc) { @@ -445,6 +452,9 @@ var ( // validatorDeadlineGrace bounds the wait, after this run's own timeout, // for the Job's active deadline (60s later) to end the pod. validatorDeadlineGrace = 120 * time.Second + // validatorRunMargin is ClusterValidatorRunCeiling's allowance for the + // pod's termination grace period and the API round trips between waits. + validatorRunMargin = 30 * time.Second // validatorPullFailureGrace is how long a pull failure must persist before // it is final. The kubelet retries after 10s and then 20s, so a transient // registry error clears inside it. diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 8ee90438f9..918afcaf1d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -787,3 +787,37 @@ func TestWaitForClusterValidatorJob_TransientErrorsAreRetried(t *testing.T) { _, err = waitForClusterValidatorJob(context.Background(), invalid, "j") assert.True(t, errors.As(err, &pullErr), "a malformed reference never pulls") } + +// A run that times out with a pod that will not end returns within +// ClusterValidatorRunCeiling, which the check's budget is sized from. The +// ceiling counts every wait the timeout path makes, so shortening one of them +// here cannot leave the budget short in production. +func TestClusterValidatorRunCeiling_CoversTheTimeoutPath(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "") + client.PrependReactor("list", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + sel := action.(ktesting.ListAction).GetListRestrictions().Labels.String() + return true, &corev1.PodList{Items: []corev1.Pod{{ + ObjectMeta: metav1.ObjectMeta{Name: "stuck", Namespace: clusterValidatorNamespace, + Labels: map[string]string{"job-name": strings.TrimPrefix(sel, "job-name=")}}, + Status: corev1.PodStatus{Phase: corev1.PodRunning}, + }}}, nil + }) + // The deadline grace dominates the margin, so a ceiling that leaves it + // out is short of the run. + prevTimeout, prevGrace, prevLogs, prevMargin := + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorRunMargin + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorRunMargin = + 300*time.Millisecond, 3*time.Second, 500*time.Millisecond, time.Second + t.Cleanup(func() { + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorRunMargin = + prevTimeout, prevGrace, prevLogs, prevMargin + }) + + start := time.Now() + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + assert.True(t, res.LeftBehind, "the pod never ended, so the whole grace was spent") + assert.LessOrEqual(t, time.Since(start), ClusterValidatorRunCeiling()) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index 3c3ddf51ab..bcbf80f4b6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -196,7 +196,9 @@ type ModelOpts struct { // OnQuit runs when the operator presses a quit key. Bubbletea reads the // terminal in raw mode, so Ctrl-C arrives as a key press, not a signal: // without this, quitting closed the dashboard while the command kept - // running behind it. + // running behind it. It is called synchronously inside Update, so it must + // not block: cancel a context or signal a channel, and leave the cleanup + // to the command. OnQuit func() } From 828ce3757c4506240c66f76998c95a68e415bfb0 Mon Sep 17 00:00:00 2001 From: rohithb Date: Thu, 1 Oct 2026 04:40:55 +0530 Subject: [PATCH 054/127] fix(nvcf-cli): count the deferred cleanup sweeps in the validator run ceiling Signed-off-by: rohithb --- .../internal/selfhosted/clustervalidator.go | 11 +++- .../internal/selfhosted/miniapiserver_test.go | 53 ++++++++++++++++++- 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 086c3473fc..c0da210dc8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -78,11 +78,18 @@ var ( validatorCleanupTimeout = 30 * time.Second ) +// validatorDeferredSweeps is how many deferred sweeps one run can make, each +// bounded by validatorCleanupTimeout: the pull secret, the RBAC, and for the +// control-plane role the network-checks ConfigMap. +const validatorDeferredSweeps = 3 + // ClusterValidatorRunCeiling is the longest one validator run can take: its // own timeout, then on a timeout the wait for the Job's deadline to end the -// pod and the log fetch, plus a margin for the pod's termination grace period. +// pod and the log fetch, then the deferred sweeps, which run in turn on fresh +// contexts, plus a margin for the pod's termination grace period. func ClusterValidatorRunCeiling() time.Duration { - return clusterValidatorTimeout + validatorDeadlineGrace + clusterValidatorLogFetchTimeout + validatorRunMargin + return clusterValidatorTimeout + validatorDeadlineGrace + clusterValidatorLogFetchTimeout + + validatorDeferredSweeps*validatorCleanupTimeout + validatorRunMargin } // cleanupContext is a fresh, bounded context for one deferred sweep. It does diff --git a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go index eb0aed8141..278ba86465 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go @@ -107,7 +107,11 @@ func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { for _, o := range m.objects[collection] { items = append(items, o) } - _ = json.NewEncoder(w).Encode(map[string]any{"apiVersion": "v1", "kind": "List", "items": items}) + // A typed client decodes only its own list kind. + _ = json.NewEncoder(w).Encode(map[string]any{ + "apiVersion": listAPIVersion(collection), "kind": listKinds[collection[strings.LastIndex(collection, "/")+1:]], + "items": items, + }) return } obj, ok := m.objects[collection][name] @@ -139,6 +143,23 @@ func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { } } +// listKinds maps a collection's resource to the kind a typed client decodes. +var listKinds = map[string]string{ + "jobs": "JobList", "pods": "PodList", "secrets": "SecretList", "configmaps": "ConfigMapList", + "serviceaccounts": "ServiceAccountList", "clusterroles": "ClusterRoleList", + "clusterrolebindings": "ClusterRoleBindingList", "namespaces": "NamespaceList", +} + +// listAPIVersion is the group version in a collection path: "v1" under /api, +// "/" under /apis. +func listAPIVersion(collection string) string { + parts := strings.Split(strings.Trim(collection, "/"), "/") + if len(parts) >= 3 && parts[0] == "apis" { + return parts[1] + "/" + parts[2] + } + return "v1" +} + // isNamedPath reports whether path names one object rather than a collection: // its last segment follows a resource segment. func isNamedPath(path string) bool { @@ -209,3 +230,33 @@ func TestRunClusterValidator_HungDeletesAreBounded(t *testing.T) { require.Error(t, res.Err) assert.Less(t, time.Since(start), 25*time.Second) } + +// A control-plane run that times out once its pod has ended makes all three +// deferred sweeps in turn, each on its own bounded context. With every DELETE +// hanging, the run still returns within ClusterValidatorRunCeiling, which the +// check's budget is sized from. +func TestClusterValidatorRunCeiling_CoversHungSweeps(t *testing.T) { + prevTimeout, prevGrace, prevLogs, prevCleanup, prevMargin := clusterValidatorTimeout, + validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, validatorRunMargin + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, + validatorRunMargin = 3*time.Second, time.Second, 500*time.Millisecond, time.Second, 200*time.Millisecond + t.Cleanup(func() { + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, + validatorRunMargin = prevTimeout, prevGrace, prevLogs, prevCleanup, prevMargin + }) + // An NGC image with NGC_API_KEY mints a pull Secret, and a registry makes + // the ConfigMap, so each of the three sweeps has an object to delete. + t.Setenv("NGC_API_KEY", "key") + m, client := newMiniAPIServer(t) + m.hangDeletes.Store(true) + + start := time.Now() + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) + elapsed := time.Since(start) + require.Error(t, res.Err) + require.Contains(t, res.Err.Error(), "waiting for job", "the run reached the Job wait and timed out there") + assert.GreaterOrEqual(t, elapsed, validatorDeferredSweeps*validatorCleanupTimeout, + "every sweep ran and hung until its bound") + assert.LessOrEqual(t, elapsed, ClusterValidatorRunCeiling()) +} From e19b05b82f4df60f5161ea0e60bf998da181d636 Mon Sep 17 00:00:00 2001 From: rohithb Date: Thu, 1 Oct 2026 19:31:34 +0530 Subject: [PATCH 055/127] fix(nvcf-cli): grant the validator reads on gatewayclasses and controllerrevisions, add --cluster-validator-tolerations, and stop forwarding the HA mode the validator now infers Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 1 + src/clis/nvcf-cli/.nvcf-cli.yaml.template | 11 + src/clis/nvcf-cli/cmd/main_test.go | 2 + src/clis/nvcf-cli/cmd/root.go | 1 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 175 +- .../self_hosted_check_validatorenv_test.go | 81 +- .../agentskill/skilldata_generated.go | 4115 +++++++++-------- .../internal/selfhosted/clustervalidator.go | 26 +- .../clustervalidator_lifecycle_test.go | 23 +- .../nvcf-cli/internal/selfhosted/preflight.go | 9 +- .../internal/selfhosted/registry_cred.go | 9 - .../internal/selfhosted/registry_cred_test.go | 6 +- 12 files changed, 2311 insertions(+), 2148 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index b2e0c8aecf..3ce3d8ebc2 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -51,6 +51,7 @@ after the run, so the kubeconfig context needs permission to manage those. | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry; if no tag can be discovered, the probe is skipped with a note to pin one. Unset everywhere skips the probe with a warning | - | | `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed only when neither the image nor the stack names a registry. The validator dials from a pod with no proxy, so an unreachable registry is a warning; the local credential check is what fails a registry the install cannot pull from. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | +| `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on an NGC registry, it mints one from `NGC_API_KEY` | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A later check reclaims them after 24 hours; the result prints the `kubectl delete` command that removes them now | `false` | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 0d7cde536e..aa51314f26 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -193,6 +193,17 @@ api_keys_owner_id: svc@nvcf-api.local # # cluster_validator_probe_image: harbor.example.com/library/busybox:1.36 +# Tolerations added to the validator Job, beside the control-plane ones it +# always carries, for clusters whose nodes use other taints. Each entry is +# key[=value][:effect], with effect NoSchedule, PreferNoSchedule or NoExecute. +# +# Config key: cluster_validator_tolerations +# Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS (comma-separated) +# Command-line flag: --cluster-validator-tolerations +# +# cluster_validator_tolerations: +# - dedicated=infra:NoSchedule + # ============================================================================== # General Settings # ============================================================================== diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 95a996977f..5092c6b78a 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -125,6 +125,7 @@ func resetCheckFlags(t *testing.T) { checkClusterValidatorNoCleanup = false checkClusterValidatorRegistries = nil checkClusterValidatorProbeImage = "" + checkClusterValidatorTolerations = nil checkShowLogs = false selfHostedJSON, selfHostedPlain = false, false selfHostedOutput = "text" @@ -141,6 +142,7 @@ func resetCheckFlags(t *testing.T) { "cluster_validator_image": "cluster-validator-image", "cluster_validator_registries": "cluster-validator-registries", "cluster_validator_probe_image": "cluster-validator-probe-image", + "cluster_validator_tolerations": "cluster-validator-tolerations", } { _ = viper.BindPFlag(key, selfHostedCheckCmd.Flags().Lookup(flag)) } diff --git a/src/clis/nvcf-cli/cmd/root.go b/src/clis/nvcf-cli/cmd/root.go index ee098e5be5..06638e4cbf 100644 --- a/src/clis/nvcf-cli/cmd/root.go +++ b/src/clis/nvcf-cli/cmd/root.go @@ -287,6 +287,7 @@ func initConfig() { viper.BindEnv("cluster_validator_image", "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE") viper.BindEnv("cluster_validator_registries", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES") viper.BindEnv("cluster_validator_probe_image", "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE") + viper.BindEnv("cluster_validator_tolerations", "NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS") // If a config file is found, read it in. if err := viper.ReadInConfig(); err == nil && viper.GetBool("debug") { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 3be8eb9d17..ed077441d3 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -31,6 +31,7 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" "golang.org/x/sync/errgroup" + corev1 "k8s.io/api/core/v1" "nvcf-cli/internal/selfhosted" "nvcf-cli/internal/selfhosted/kubectx" @@ -38,20 +39,21 @@ import ( ) var ( - checkPre bool - checkControlPlane bool - checkComputePlane bool - checkAll bool - checkClusterName string - checkLocalOnly bool - checkSkipInotifyCheck bool - checkSkipClusterValidation bool - checkClusterValidatorImage string - checkClusterValidatorPullSecret string - checkClusterValidatorNoCleanup bool - checkClusterValidatorRegistries []string - checkClusterValidatorProbeImage string - checkShowLogs bool + checkPre bool + checkControlPlane bool + checkComputePlane bool + checkAll bool + checkClusterName string + checkLocalOnly bool + checkSkipInotifyCheck bool + checkSkipClusterValidation bool + checkClusterValidatorImage string + checkClusterValidatorPullSecret string + checkClusterValidatorNoCleanup bool + checkClusterValidatorRegistries []string + checkClusterValidatorTolerations []string + checkClusterValidatorProbeImage string + checkShowLogs bool ) // Test seam. @@ -125,6 +127,14 @@ func init() { "Can also be set in nvcf-cli config as cluster_validator_registries (list).") _ = viper.BindPFlag("cluster_validator_registries", selfHostedCheckCmd.Flags().Lookup("cluster-validator-registries")) + selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorTolerations, "cluster-validator-tolerations", nil, + "Tolerations added to the validator Job, for clusters whose nodes carry taints other than the "+ + "control-plane ones it always tolerates. Format: key[=value][:effect], effect one of NoSchedule, "+ + "PreferNoSchedule or NoExecute (e.g. dedicated=infra:NoSchedule). Repeatable or comma-separated. "+ + "Env: NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS. "+ + "Can also be set in nvcf-cli config as cluster_validator_tolerations (list).") + _ = viper.BindPFlag("cluster_validator_tolerations", + selfHostedCheckCmd.Flags().Lookup("cluster-validator-tolerations")) selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorProbeImage, "cluster-validator-probe-image", "", "Image for the control-plane validator's node-to-node overlay probe (needs sh and busybox-style nc). "+ "Defaults to busybox:1.36 from Docker Hub; set a mirror for air-gapped clusters. "+ @@ -146,6 +156,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // set of RBAC, Secret, ConfigMap and Job for every poll. return fmt.Errorf("--no-cleanup keeps one run's objects for debugging and cannot be combined with --wait") } + if _, err := configuredValidatorTolerations(); err != nil { + return err + } localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" skipClusterValidation := checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" @@ -490,6 +503,51 @@ func configuredValidatorRegistries() []string { return out } +// configuredValidatorTolerations parses the validator Job's extra tolerations +// from the flag, env var, or config file. Each is key[=value][:effect]: with +// a value it matches that value, without one any; with no effect it matches +// every effect. +func configuredValidatorTolerations() ([]corev1.Toleration, error) { + var out []corev1.Toleration + for _, raw := range viper.GetStringSlice("cluster_validator_tolerations") { + for _, entry := range strings.Split(raw, ",") { + if entry = strings.TrimSpace(entry); entry == "" { + continue + } + t, err := parseToleration(entry) + if err != nil { + return nil, fmt.Errorf("--cluster-validator-tolerations %q: %w", entry, err) + } + out = append(out, t) + } + } + return out, nil +} + +var tolerationEffects = map[string]corev1.TaintEffect{ + "noschedule": corev1.TaintEffectNoSchedule, + "prefernoschedule": corev1.TaintEffectPreferNoSchedule, + "noexecute": corev1.TaintEffectNoExecute, +} + +func parseToleration(entry string) (corev1.Toleration, error) { + t := corev1.Toleration{Operator: corev1.TolerationOpExists} + if rest, effect, ok := strings.Cut(entry, ":"); ok { + e, known := tolerationEffects[strings.ToLower(effect)] + if !known { + return t, fmt.Errorf("effect must be NoSchedule, PreferNoSchedule or NoExecute, got %q", effect) + } + t.Effect, entry = e, rest + } + if key, value, ok := strings.Cut(entry, "="); ok { + t.Operator, t.Value, entry = corev1.TolerationOpEqual, value, key + } + if t.Key = entry; t.Key == "" { + return t, fmt.Errorf("a taint key is required") + } + return t, nil +} + // computePlaneIsTargeted reports whether the compute-plane validator should run: // --compute-plane, --all, or --pre in ModeSingle. --pre in ModeSplit does not // target it because separate clusters have no implicit compute-plane role. @@ -640,6 +698,8 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin registries := cfg.Registries validatorEnv := clusterValidatorJobEnv( selfhosted.LoadStackValues(resolveStackValuesFiles())) + // Validated before the run starts. + validatorTolerations, _ := configuredValidatorTolerations() cpValidatorEnv := validatorEnvForRole(validatorEnv, checkControlPlane) gpuValidatorEnv := validatorEnvForRole(validatorEnv, checkComputePlane) @@ -679,15 +739,16 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if runControlPlane { eg.Go(func() error { rc := selfhosted.RoleConfig{ - KubeContext: selfHostedControlPlaneContext, - ClusterValidator: cpClusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: cpValidatorEnv, - ClusterValidatorRegistries: registries, - StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedControlPlaneStack), + KubeContext: selfHostedControlPlaneContext, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: cpValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedControlPlaneStack), } cpResults = selfhosted.RunPreflightForRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) return nil @@ -696,16 +757,17 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if runComputePlane { eg.Go(func() error { rc := selfhosted.RoleConfig{ - KubeContext: selfHostedComputePlaneContext, - SISURL: icmsURL, - InotifyProber: inotifyProber, - ClusterValidator: clusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: gpuValidatorEnv, - StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedComputePlaneStack), + KubeContext: selfHostedComputePlaneContext, + SISURL: icmsURL, + InotifyProber: inotifyProber, + ClusterValidator: clusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: gpuValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedComputePlaneStack), } gpuResults = selfhosted.RunPreflightForRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -745,31 +807,33 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if runControlPlane { cpRC := selfhosted.RoleConfig{ - SISURL: icmsURL, - ClusterValidator: cpClusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: cpValidatorEnv, - ClusterValidatorRegistries: registries, - StaleNamespaceProber: staleForControlPlane, - StackDir: localStackDir(selfHostedControlPlaneStack), - ExtraStaleNamespaces: cpExtraNamespaces, + SISURL: icmsURL, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: cpValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleForControlPlane, + StackDir: localStackDir(selfHostedControlPlaneStack), + ExtraStaleNamespaces: cpExtraNamespaces, } results = append(results, selfhosted.RunPreflightForRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) } if runComputePlane { gpuRC := selfhosted.RoleConfig{ - SISURL: icmsURL, - InotifyProber: inotifyProber, - ClusterValidator: clusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: gpuValidatorEnv, - StaleNamespaceProber: staleForComputePlane, - StackDir: localStackDir(selfHostedComputePlaneStack), + SISURL: icmsURL, + InotifyProber: inotifyProber, + ClusterValidator: clusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: gpuValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + StaleNamespaceProber: staleForComputePlane, + StackDir: localStackDir(selfHostedComputePlaneStack), } results = append(results, selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) @@ -827,13 +891,6 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { } else if len(stack.Gateways) > 0 { env["NVCF_GATEWAY_NAMES"] = strings.Join(stack.Gateways, ",") } - // Below three replicas a quorum component is a lost quorum under an HA - // mode and the deployed shape under none; only the stack says which. - if mode := configValue("NVCF_HA_MODE"); mode != "" { - env["NVCF_HA_MODE"] = mode - } else if stack.HAMode != "" { - env["NVCF_HA_MODE"] = stack.HAMode - } probe := strings.TrimSpace(viper.GetString("cluster_validator_probe_image")) if probe == "" { probe = configValue("NVCF_N2N_PROBE_IMAGE") diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 3d97b3713b..e45a90f700 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -26,6 +26,7 @@ import ( "github.com/spf13/viper" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + corev1 "k8s.io/api/core/v1" "nvcf-cli/internal/selfhosted" ) @@ -195,23 +196,79 @@ func TestCheck_RegistriesEnvVarIsSplitOnCommas(t *testing.T) { assert.Contains(t, regs, "ghcr.io") } -// The stack's Gateways and HA mode reach the Job; an explicit setting wins. -func TestClusterValidatorJobEnv_ForwardsStackGatewaysAndHAMode(t *testing.T) { - for _, k := range []string{"NVCF_GATEWAY_NAMES", "NVCF_HA_MODE"} { - t.Setenv(k, "") - } - stack := selfhosted.StackValues{HAMode: "none", Gateways: []string{"gw/grpc-gw", "gw/shared-gw"}} +// The stack's Gateways reach the Job; an explicit setting wins. No HA mode is +// forwarded: the validator reads it from the anti-affinity the stack renders. +func TestClusterValidatorJobEnv_ForwardsStackGateways(t *testing.T) { + t.Setenv("NVCF_GATEWAY_NAMES", "") + t.Setenv("NVCF_HA_MODE", "preferred") + stack := selfhosted.StackValues{Gateways: []string{"gw/grpc-gw", "gw/shared-gw"}} env := clusterValidatorJobEnv(stack) assert.Equal(t, "gw/grpc-gw,gw/shared-gw", env["NVCF_GATEWAY_NAMES"]) - assert.Equal(t, "none", env["NVCF_HA_MODE"]) + assert.NotContains(t, env, "NVCF_HA_MODE") t.Setenv("NVCF_GATEWAY_NAMES", "edge/nvcf-gw") - t.Setenv("NVCF_HA_MODE", "preferred") env = clusterValidatorJobEnv(stack) assert.Equal(t, "edge/nvcf-gw", env["NVCF_GATEWAY_NAMES"]) - assert.Equal(t, "preferred", env["NVCF_HA_MODE"]) +} - t.Setenv("NVCF_HA_MODE", "") - env = clusterValidatorJobEnv(selfhosted.StackValues{}) - assert.NotContains(t, env, "NVCF_HA_MODE", "no stack, no mode: the validator records sub-quorum as not assessed") +// --cluster-validator-tolerations reaches the validator Job of both roles, so +// a cluster whose nodes carry other taints can schedule it, as the chart's +// clusterValidator.tolerations allows. A malformed entry fails the command +// before anything runs. +func TestCheck_ValidatorTolerationsReachBothRoles(t *testing.T) { + resetCheckFlags(t) + var mu sync.Mutex + got := map[string][]corev1.Toleration{} + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + defer mu.Unlock() + got[p.Role] = p.Tolerations + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", + "--cluster-validator-tolerations", "dedicated=infra:NoSchedule,special"}) + _ = rootCmd.Execute() + + want := []corev1.Toleration{ + {Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", Effect: corev1.TaintEffectNoSchedule}, + {Key: "special", Operator: corev1.TolerationOpExists}, + } + mu.Lock() + defer mu.Unlock() + assert.Equal(t, want, got["control-plane"]) + assert.Equal(t, want, got["compute-plane"]) + + resetCheckFlags(t) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json", + "--cluster-validator-tolerations", "dedicated:Sometimes"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "effect must be NoSchedule, PreferNoSchedule or NoExecute") +} + +func TestParseToleration(t *testing.T) { + for in, want := range map[string]corev1.Toleration{ + "dedicated=infra:NoSchedule": {Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", + Effect: corev1.TaintEffectNoSchedule}, + "example.com/role:noexecute": {Key: "example.com/role", Operator: corev1.TolerationOpExists, + Effect: corev1.TaintEffectNoExecute}, + "special": {Key: "special", Operator: corev1.TolerationOpExists}, + } { + got, err := parseToleration(in) + require.NoError(t, err, in) + assert.Equal(t, want, got, in) + } + for _, in := range []string{":NoSchedule", "=v", "k:Never"} { + _, err := parseToleration(in) + assert.Error(t, err, in) + } } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index becf4e98a8..645890d18e 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDU2ODksCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDYxMDcsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2M2E4MzUzMTIyYmE4MGUzNmE1" + "NzY2ODI0Y2FlZjdhZDAzZjBlM2JhZjQ5Njc0ODVkYmZmZDE2ZTAwMDU3YzhjIiwKICAgICAgInNp" + "emUiOiAyMjc0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJmNWViYjE3OGY3YmFlODky" + - "YjAwOGFmYzZhMjllZjIzOWU3ZTk0M2E3NjEzM2VmYzc4ZTIyN2M4ODIwMTUwY2U2IiwKICAgICAg" + - "InNpemUiOiAxMzQ5MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4MDczZjViODU3ODU4MzBj" + + "ZjkzNTM3N2Q5N2FiNDM0YTBmODIxOGUyNGY3YzZlM2E0MjYxZjBlNThkOGFlODIwIiwKICAgICAg" + + "InNpemUiOiAxMzkxMQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCPcAtkBKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCM77XX1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1732,1944 +1732,1124 @@ const skillDataZipBase64 = "" + "ZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1n" + "YXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lN" + "QUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3li" + - "b3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNl" + - "Y3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8g" + - "cHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIGxvb2tzIGZvciBv" + - "bmUgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBhbmQgY29waWVzIGl0IGludG8gYGRlZmF1bHRgIGZv" + - "ciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGFuZCBvbmx5IGZvciBhbiBpbWFnZSBvbiBhbiBOR0Mg" + - "cmVnaXN0cnksIGl0IG1pbnRzIG9uZSBmcm9tIGBOR0NfQVBJX0tFWWAgfCBhdXRvLWRldGVjdCB8" + - "CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxp" + - "ZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQg" + - "Y2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGlj" + - "aXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2Uu" + - "IEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gIHwgYGZh" + - "bHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9k" + - "LCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEgbGF0ZXIg" + - "Y2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3VyczsgdGhlIHJlc3VsdCBwcmludHMgdGhl" + - "IGBrdWJlY3RsIGRlbGV0ZWAgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cgfCBgZmFsc2Vg" + - "IHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0" + - "ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwg" + - "YW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hl" + - "biBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIGB1cGAtc3Bl" + - "Y2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNs" + - "dXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQp" + - "IHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAg" + - "fAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8Cnwg" + - "YC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBj" + - "aGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGlt" + - "aXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8Cnwg" + - "YC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZh" + - "bCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAg" + - "fCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAg" + - "ZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFN" + - "RWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0Eg" + - "SUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdl" + - "c3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcg" + - "fAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWls" + - "LW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rp" + - "b25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQg" + - "dG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFi" + - "bGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhw" + - "aXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFy" + - "c2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NP" + - "UEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZp" + - "Y2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBr" + - "ZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRp" + - "b24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAg" + - "KGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1p" + - "bnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRl" + - "ZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8" + - "IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11" + - "cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVu" + - "Y2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0" + - "aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZB" + - "VUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVm" + - "ZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQt" + - "cGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFN" + - "RWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWly" + - "ZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVS" + - "U0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBg" + - "LS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVs" + - "Pix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + - "PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAg" + - "d2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVz" + - "ZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3Bl" + - "Y3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0" + - "LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlv" + - "cml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1w" + - "ZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3Jp" + - "dHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJ" + - "RCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04g" + - "YW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + - "IGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBg" + - "bGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBw" + - "YXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAv" + - "djEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5n" + - "c2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93" + - "ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBs" + - "bG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJh" + - "dGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9y" + - "bWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBI" + - "YCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0" + - "cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAw" + - "MC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2Fn" + - "aW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJh" + - "Y2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRg" + - "LCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhl" + - "IHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5l" + - "dGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0g" + - "aW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFt" + - "ZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUg" + - "bW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJl" + - "c3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZv" + - "ciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1" + - "bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8" + - "IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3Jt" + - "YXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxs" + - "aW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4g" + - "VG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5l" + - "ZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlg" + - "IHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRo" + - "IHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAt" + - "IHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1h" + - "Y2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBk" + - "aXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwg" + - "LSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAg" + - "ZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFu" + - "ZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBt" + - "b2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVu" + - "Y3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + - "b21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJ" + - "RGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZh" + - "bWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BV" + - "LkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwK" + - "fCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVx" + - "dWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRl" + - "ZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVj" + - "aWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNy" + - "ZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJl" + - "cGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAo" + - "cmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8" + - "CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxl" + - "YCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5j" + - "ZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1Au" + - "R1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1" + - "YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFS" + - "VGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZl" + - "IHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMg" + - "ZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8" + - "CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVy" + - "cyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwg" + - "Q29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2Vk" + - "IHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1l" + - "cG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1" + - "ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBg" + - "LS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBl" + - "YXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9O" + - "YCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8g" + - "ZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElP" + - "TmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBT" + - "ZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAg" + - "fCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZh" + - "dWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8g" + - "aGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24g" + - "TE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0t" + - "bmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9B" + - "RGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsg" + - "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291" + - "cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFz" + - "ayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sg" + - "ZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVs" + - "ZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAg" + - "fCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0" + - "cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwhbBfsn" + - "tTQAALU0AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hv" + - "b3RpbmcKCktub3duIGVycm9ycyDihpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlhdGlv" + - "bi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRz" + - "IHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAg" + - "dG8gYW4gYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZs" + - "aWdodAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBg" + - "a3ViZWN0bCBub3Qgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRl" + - "IGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9k" + - "b2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24gUEFU" + - "SGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxh" + - "dGlvbiB8CnwgYGhlbG0gbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2Nz" + - "L2ludHJvL2luc3RhbGwvIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8IGVu" + - "dm95LWdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tl" + - "ci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5" + - "c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90IGF2" + - "YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBga3Vi" + - "ZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3Rv" + - "cmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8" + - "IGBHUFUgb3BlcmF0b3Igbm90IGluc3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlhIEdQ" + - "VSBvcGVyYXRvciBtaXNzaW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + - "ZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1v" + - "cGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBgR1BV" + - "IG5vZGUgbGFiZWxzIG1pc3NpbmdgIChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52aWRp" + - "YS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEuY29t" + - "L2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1wdG9t" + - "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVx" + - "dWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9r" + - "ZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tl" + - "bj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDog" + - "QW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAg" + - "fCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJt" + - "IH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBt" + - "aXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0" + - "b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMj" + - "IEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + - "LS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2Fu" + - "ZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3Rv" + - "cmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1g" + - "IHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVw" + - "bG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8" + - "IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJg" + - "IHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFs" + - "bCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAg" + - "ZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2" + - "YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJy" + - "b3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNv" + - "bW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRl" + - "IGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0" + - "b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5v" + - "dCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGsz" + - "ZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVy" + - "PmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVk" + - "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRo" + - "IGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBg" + - "b3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3Rlcjsg" + - "Y2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJl" + - "LXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRl" + - "cyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9y" + - "IGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRj" + - "aCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xp" + - "IGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFn" + - "ZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVy" + - "IGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2Yt" + - "YmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9u" + - "IGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBs" + - "YWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhl" + - "YWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + - "bmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwg" + - "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVy" + - "bnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Ig" + - "a2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGBy" + - "ZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3Jl" + - "ZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVk" + - "IHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNy" + - "ZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJv" + - "dXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJl" + - "ZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAt" + - "biBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1l" + - "ZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpu" + - "YW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5z" + - "dGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFy" + - "YXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENM" + - "SSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRl" + - "cywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1w" + - "bGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5l" + - "cmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBv" + - "ciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52" + - "aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFk" + - "LgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49" + - "IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBt" + - "YXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3Jl" + - "LWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwg" + - "c2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1" + - "dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2Vj" + - "cmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAg" + - "aW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0Bl" + - "eGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxm" + - "LW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1w" + - "bGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRz" + - "XQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxt" + - "LCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2Vs" + - "Zi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGlu" + - "ZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4K" + - "CiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9y" + - "IHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQg" + - "YG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMg" + - "YW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1z" + - "dHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoK" + - "QXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9y" + - "IHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBu" + - "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8" + - "Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vu" + - "dmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5l" + - "LXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1m" + - "aWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5l" + - "LXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1p" + - "c3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJh" + - "c2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12" + - "ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250" + - "cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUg" + - "cm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBh" + - "bmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJz" + - "aW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVs" + - "bSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAg" + - "IyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBD" + - "bGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250" + - "cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdv" + - "dG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5h" + - "bWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNl" + - "IHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlk" + - "aWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZh" + - "bHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1v" + - "c3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9i" + - "YXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBi" + - "eQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0" + - "cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNy" + - "ZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVs" + - "ZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNy" + - "aXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + - "IGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0" + - "b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUg" + - "aW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0" + - "cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2Nr" + - "LiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hh" + - "cnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3Bh" + - "Y2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkK" + - "CmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVh" + - "dGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + - "bHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAo" + - "ZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5z" + - "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZh" + - "dWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + - "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxs" + - "IHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0" + - "byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNl" + - "Y3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkK" + - "CkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWly" + - "ZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + - "aGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVk" + - "IHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVk" + - "CmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIK" + - "aGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJ" + - "X0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+" + - "IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRp" + - "biA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBg" + - "aGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAo" + - "bXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJh" + - "bCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUg" + - "dW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNp" + - "bGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3Jn" + - "IHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0" + - "MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91" + - "IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1y" + - "dW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNo" + - "IHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtl" + - "eT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRo" + - "ZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3Ry" + - "eSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkg" + - "UHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0" + - "aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhh" + - "dCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVs" + - "bCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmts" + - "b2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50" + - "IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEu" + - "IFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8" + - "eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAg" + - "ICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJj" + - "ZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJv" + - "cmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAg" + - "ICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFu" + - "aWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQg" + - "bm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChg" + - "bnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxt" + - "CiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxt" + - "IHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhv" + - "c2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291" + - "cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRo" + - "ZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFy" + - "dCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAg" + - "ID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1z" + - "dWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhl" + - "bG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRo" + - "ZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkg" + - "KHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxs" + - "IG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBw" + - "ZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRo" + - "ZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxs" + - "U2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBs" + - "b2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6" + - "IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+" + - "IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBz" + - "byB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBo" + - "b2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBp" + - "cyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGds" + - "b2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMg" + - "YGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMg" + - "bG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNo" + - "CkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4g" + - "PGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZh" + - "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJl" + - "IGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRp" + - "b24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBU" + - "aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9y" + - "YXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3Vj" + - "aCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FE" + - "RFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1" + - "c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBH" + - "QVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xv" + - "YmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0" + - "aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMj" + - "IyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBC" + - "T1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMg" + - "ZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNh" + - "c3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZp" + - "Y2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQg" + - "b25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2Vl" + - "cHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3Bz" + - "IHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNl" + - "dAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMg" + - "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoK" + - "SGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBT" + - "ZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwg" + - "TkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91" + - "cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3Rh" + - "cnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0" + - "eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFk" + - "ZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkg" + - "cm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwg" + - "T2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4g" + - "YSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAK" + - "CiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkg" + - "aXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZh" + - "Y2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQg" + - "TlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBz" + - "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0" + - "aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0" + - "ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVz" + - "ZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRo" + - "ZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBp" + - "bgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5p" + - "dHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpU" + - "aGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2Vu" + - "ZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMg" + - "aG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGlu" + - "Z0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFu" + - "aXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVk" + - "IGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpB" + - "ZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlg" + - "IHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0" + - "eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkg" + - "dGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + - "L25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2" + - "YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFu" + - "ZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0" + - "cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91" + - "dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0" + - "aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkK" + - "ZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + - "IHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMg" + - "bm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVz" + - "LCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5" + - "CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0" + - "LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5" + - "LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMv" + - "bnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1w" + - "bGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21w" + - "dXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5" + - "IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRo" + - "b3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFs" + - "bCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVz" + - "ZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGws" + - "CiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5k" + - "cy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "CmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBh" + - "bmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21w" + - "dXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZv" + - "cgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNj" + - "b3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUg" + - "aGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1z" + - "ZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlv" + - "bi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9w" + - "dGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAs" + - "IGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZl" + - "bnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNl" + - "IGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHBy" + - "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRo" + - "ZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxl" + - "YXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUg" + - "ZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBh" + - "biBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5l" + - "bmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBz" + - "dGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBh" + - "Ym9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1l" + - "c3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBu" + - "YW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgoj" + - "IyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBu" + - "dmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIg" + - "LS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtl" + - "eXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVs" + - "bSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25s" + - "eSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBj" + - "YXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmlt" + - "YWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQg" + - "dGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1" + - "ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVm" + - "ZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9v" + - "dC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlv" + - "bjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDog" + - "KmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAu" + - "Li88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3Jl" + - "dHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGlt" + - "aXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAg" + - "ICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTog" + - "NDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAq" + - "ZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0" + - "aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBh" + - "IHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkK" + - "YGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVk" + - "ZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBy" + - "dWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYg" + - "dGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBB" + - "UEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8" + - "CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1h" + - "Z2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5j" + - "dGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVj" + - "dGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3Ry" + - "eWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+Lzxl" + - "bnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FS" + - "U19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBg" + - "c2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBg" + - "c2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVj" + - "dGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBg" + - "YmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3Rz" + - "dHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmln" + - "anNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExB" + - "Q0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0" + - "IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25z" + - "dW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4g" + - "dmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUg" + - "ZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIk" + - "b2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVki" + - "IHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilg" + - "Lgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAg" + - "cmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dv" + - "cmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRl" + - "Y2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVn" + - "YXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEg" + - "YmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVu" + - "Y29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0" + - "YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHBy" + - "aW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJh" + - "byBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQg" + - "c2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCBy" + - "ZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + - "Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAj" + - "IHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1v" + - "cmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0" + - "aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZl" + - "cmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhl" + - "IGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIg" + - "c2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1p" + - "cnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBh" + - "dXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRl" + - "bnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoK" + - "VXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkg" + - "aW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNl" + - "cy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNv" + - "bmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMg" + - "MS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + - "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + - "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0" + - "ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + - "LWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9" + - "bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9j" + - "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAg" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMu" + - "IEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5v" + - "LWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVy" + - "eSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1l" + - "OiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNy" + - "ZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVl" + - "ZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Ig" + - "d2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1" + - "bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sg" + - "c3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZl" + - "bnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpg" + - "YGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXgg" + - "fAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBV" + - "bmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3Jl" + - "dCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0" + - "dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBD" + - "aGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCAr" + - "IGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5v" + - "IGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwg" + - "T3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQg" + - "b2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5t" + - "aWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1Mg" + - "LyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + - "ckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWln" + - "cmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVn" + - "Z2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0" + - "LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNt" + - "YWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8" + - "IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3Rp" + - "bmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRS" + - "QV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVs" + - "dHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGlu" + - "IHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + - "dGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5k" + - "aW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwg" + - "YGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxt" + - "IHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5" + - "IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8Cnwg" + - "QWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBz" + - "ZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJv" + - "b3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0" + - "IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwg" + - "aG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMg" + - "cmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNv" + - "IHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1y" + - "dW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJp" + - "ZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2" + - "YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRj" + - "b2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1l" + - "IHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0" + - "b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNg" + - "IGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2" + - "YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFn" + - "IG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBk" + - "ZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNl" + - "dCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZp" + - "ZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFj" + - "Y291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAg" + - "cmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBC" + - "ZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNj" + - "ZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBh" + - "aXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwg" + - "dGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vi" + - "c2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtu" + - "b3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmlu" + - "ZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpz" + - "b25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9i" + - "IGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxl" + - "YXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBp" + - "ZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpo" + - "b29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3Vu" + - "dC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVk" + - "CmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMu" + - "bWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2Rv" + - "Y3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5k" + - "IFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZl" + - "cmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + - "KQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2ls" + - "bCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5k" + - "IGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + - "c29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBt" + - "eSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0" + - "IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRl" + - "IGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90" + - "IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQg" + - "a3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHBy" + - "b2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQu" + + "b3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0" + + "aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhl" + + "IHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBj" + + "YXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0" + + "IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1h" + + "bGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBh" + + "cmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29u" + + "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgIHwgLSB8CnwgYC0tY2x1c3Rl" + + "ci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGlu" + + "IGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwg" + + "dGhlIENMSSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBp" + + "dCBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3Ig" + + "YW4gaW1hZ2Ugb24gYW4gTkdDIHJlZ2lzdHJ5LCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9L" + + "RVlgIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAg" + + "dGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0" + + "IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhp" + + "cyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fu" + + "bm90IHB1bGwgdGhlIGltYWdlLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + + "Ul9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFs" + + "aWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3Ig" + + "ZGVidWdnaW5nLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRo" + + "ZSByZXN1bHQgcHJpbnRzIHRoZSBga3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVz" + + "IHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0" + + "b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5z" + + "Y3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNv" + + "IGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZh" + + "bHNlYCB8CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlk" + + "ZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJ" + + "RCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9u" + + "IHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBs" + + "YW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lm" + + "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0" + + "ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCAr" + + "IGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8" + + "CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8Cnwg" + + "YC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAt" + + "LW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIg" + + "cmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBg" + + "LS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9O" + + "YCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRw" + + "b2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3Jl" + + "YXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdl" + + "bmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmll" + + "ZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBU" + + "RVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBu" + + "dmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5n" + + "LiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBg" + + "LS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWly" + + "ZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRh" + + "dGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2Vg" + + "IHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMp" + + "LCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3Jl" + + "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVw" + + "ZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1" + + "bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAt" + + "IHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50" + + "IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBv" + + "cnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1" + + "bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBj" + + "aGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10" + + "eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVs" + + "bS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBi" + + "eSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8" + + "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyBy" + + "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsg" + + "Zm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0" + + "aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVz" + + "ZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBl" + + "eGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + + "IGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAt" + + "IHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBk" + + "ZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0" + + "eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8" + + "IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0" + + "byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3Jp" + + "dHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBm" + + "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9k" + + "ZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNv" + + "bXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3Vw" + + "cG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2As" + + "IGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMg" + + "YHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNh" + + "cmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBv" + + "ciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBg" + + "PHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMp" + + "LCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3Mp" + + "LiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBg" + + "MTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04u" + + "CgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4g" + + "Rm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTog" + + "IkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNb" + + "XS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAg" + + "bXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0" + + "U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5j" + + "dGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNG" + + "IGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0" + + "IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGkt" + + "dHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVl" + + "c3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBs" + + "YWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExN" + + "IG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9k" + + "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1h" + + "dGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5w" + + "dXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0" + + "LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5" + + "IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNj" + + "b3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1J" + + "RDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsg" + + "c3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBk" + + "ZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0" + + "cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZp" + + "Zy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlz" + + "YCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2Rl" + + "bCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1" + + "dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mg" + + "b25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + + "LWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQ" + + "RWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1p" + + "biByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8" + + "IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAw" + + "YCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxO" + + "QU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcg" + + "U0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlz" + + "IHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + + "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + + "TkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpd" + + "W2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdp" + + "dGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10" + + "eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxl" + + "YCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + + "dGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8" + + "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8" + + "IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxF" + + "YCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMg" + + "d2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQ" + + "IHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0" + + "aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3Mg" + + "QVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xl" + + "IHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250" + + "YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyBy" + + "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9u" + + "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1t" + + "YXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEs" + + "IGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAt" + + "LW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxh" + + "dGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRp" + + "b24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08g" + + "ODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExP" + + "QURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBg" + + "LS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3Jt" + + "YXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJl" + + "c3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklg" + + "IHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpW" + + "RVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRh" + + "Z3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3Jp" + + "cHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnkt" + + "aWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3Mt" + + "dGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwK" + + "fCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2lu" + + "dCBJRCB8IC0gfApQSwcIr1eBRVc2AABXNgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVU" + + "BQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29t" + + "bWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBw" + + "aGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRy" + + "eSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9u" + + "YCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + + "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRw" + + "czovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBg" + + "aGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmls" + + "ZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBo" + + "dHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMg" + + "bm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5z" + + "dGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3Bh" + + "Y2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQg" + + "U3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8" + + "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + + "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + + "c3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRl" + + "LXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBz" + + "Oi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9s" + + "YXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRv" + + "cmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkg" + + "fCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5v" + + "ZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwK" + + "CiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + + "CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNs" + + "aS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRl" + + "cmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNp" + + "Z25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRj" + + "aGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQg" + + "Y29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5p" + + "dGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlv" + + "biBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNj" + + "b3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4g" + + "cmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBS" + + "ZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3Ig" + + "Y2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwg" + + "Q29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAt" + + "biBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNp" + + "ZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZh" + + "bWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6" + + "ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3Rl" + + "ciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkg" + + "KyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAg" + + "KG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90" + + "IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVy" + + "IG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRp" + + "bmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcw" + + "NGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0" + + "b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBi" + + "dWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0" + + "b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1w" + + "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENy" + + "YXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4v" + + "cmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZy" + + "b20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRl" + + "IHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBv" + + "dGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQg" + + "d2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBp" + + "biBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkg" + + "c2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8" + + "IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFn" + + "ZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRl" + + "c2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQg" + + "Y29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8" + + "IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBO" + + "QVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + + "IGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMg" + + "VGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFs" + + "IGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1" + + "ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAg" + + "d2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBu" + + "ZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFj" + + "Y291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAo" + + "ZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4g" + + "dGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCBy" + + "ZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0" + + "LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJ" + + "TEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRl" + + "c2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250" + + "cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVs" + + "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3du" + + "LAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4g" + + "VXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5z" + + "dGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZp" + + "bGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2Ug" + + "Zm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1l" + + "bnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBS" + + "ZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlm" + + "ZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2Yt" + + "Y29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIx" + + "LjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBj" + + "b250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBk" + + "ZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAs" + + "IEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1l" + + "bmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIK" + + "ICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRy" + + "b2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxv" + + "eW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29y" + + "a3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0" + + "dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25h" + + "bCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + + "IEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBp" + + "bnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtl" + + "ZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9y" + + "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJl" + + "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4K" + + "CiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUg" + + "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkg" + + "Ym90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250" + + "cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNy" + + "ZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRl" + + "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + + "bnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0" + + "aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lv" + + "bnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJz" + + "aW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkg" + + "cmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6" + + "PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNv" + + "bnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vi" + + "c3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFy" + + "dAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBi" + + "YXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBz" + + "ZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhl" + + "bG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVj" + + "dGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBv" + + "ZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFj" + + "dGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8v" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNy" + + "ZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJv" + + "bSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMu" + + "eWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxl" + + "XShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1l" + + "eGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRl" + + "bmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBg" + + "dGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1l" + + "cmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVz" + + "KQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28g" + + "dGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + + "CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAt" + + "PiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3Qg" + + "cHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNz" + + "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMs" + + "IG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJi" + + "aXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50" + + "bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQu" + + "CgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxl" + + "YXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgj" + + "b3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMj" + + "IyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBh" + + "IHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "OyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBh" + + "IHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9" + + "Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25l" + + "CmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNo" + + "IGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNy" + + "ZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5" + + "b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3Ry" + + "eSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + + "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11" + + "c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNv" + + "bW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + + "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + + "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29y" + + "ZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUg" + + "QVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdz" + + "LmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxh" + + "c3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhl" + + "IGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBi" + + "dXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25k" + + "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRo" + + "IGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMg" + + "Zm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nl" + + "c3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jv" + + "bmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25l" + + "IG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1l" + + "ZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRv" + + "a2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFk" + + "IG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZy" + + "b20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMj" + + "IDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhl" + + "bnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMg" + + "aW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFu" + + "CmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVy" + + "ZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1" + + "dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRp" + + "YWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6" + + "CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lz" + + "dHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAg" + + "IGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25s" + + "eSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6" + + "IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgog" + + "ICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0" + + "aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4g" + + "Q29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJy" + + "b3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRv" + + "IGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5n" + + "Yy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQg" + + "YnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHku" + + "IEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAog" + + "ICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAg" + + "dGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXIt" + + "cmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAg" + + "ID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBz" + + "dGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3Ry" + + "eQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVs" + + "bCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91" + + "IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEK" + + "ICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRo" + + "ZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dp" + + "bmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSBy" + + "ZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + + "Y3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVn" + + "aXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3" + + "aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1p" + + "cnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRo" + + "ZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXgg" + + "Zm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUg" + + "dGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGlu" + + "ZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5" + + "IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3Rh" + + "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAK" + + "ClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQg" + + "R2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFu" + + "ZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3Qg" + + "ZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUg" + + "cmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29u" + + "bmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3Rg" + + "LiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMg" + + "cm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVy" + + "IGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5T" + + "IG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1k" + + "XShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVk" + + "IG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMg" + + "RGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRz" + + "IGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + + "U1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWws" + + "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hA" + + "bmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + + "aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4g" + + "c2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMg" + + "dG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRv" + + "IHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4g" + + "RGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRl" + + "bmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0t" + + "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3Jv" + + "dXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwK" + + "fCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlv" + + "biwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91" + + "dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNr" + + "YWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91" + + "cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0y" + + "IG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25h" + + "bCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVl" + + "ZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJv" + + "bnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMg" + + "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkg" + + "R2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNv" + + "bnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0" + + "ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2th" + + "Z2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhl" + + "IGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBg" + + "eWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBp" + + "bmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21h" + + "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBk" + + "ZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52" + + "YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhv" + + "c3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUg" + + "b3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNo" + + "aW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + + "aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2Vydmlj" + + "ZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + + "cyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNl" + + "bnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAt" + + "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHBy" + + "b3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIg" + + "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5p" + + "dHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmlu" + + "dm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0" + + "aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwp" + + "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUku" + + "IEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + + "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQg" + + "c3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBu" + + "dmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWlu" + + "IHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8g" + + "dGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwg" + + "c2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJ" + + "IEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhl" + + "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRv" + + "ZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFs" + + "dGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJl" + + "Z2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBD" + + "TEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIg" + + "YW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cg" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3Jl" + + "dHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24K" + + "CkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVz" + + "aW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkg" + + "dGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6" + + "IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNg" + + "LCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBg" + + "bm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBh" + + "ZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNs" + + "dWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1" + + "dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNl" + + "cnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0" + + "LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNl" + + "IEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVs" + + "ZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJl" + + "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + + "IGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + + "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + + "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + + "ZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + + "LiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3Zh" + + "bCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUg" + + "dGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNw" + + "YWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxl" + + "dGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlm" + + "eSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + + "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBg" + + "CgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAo" + + "bGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBw" + + "cm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFn" + + "ZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkg" + + "Y2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3Rt" + + "cGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxw" + + "cml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhl" + + "IGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + + "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + + "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + + "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291" + + "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAg" + + "bWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgog" + + "ICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEg" + + "cmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBg" + + "dmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJl" + + "LWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMg" + + "UHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2" + + "aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUg" + + "dGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFu" + + "ZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGgg" + + "dGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxh" + + "bmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIg" + + "SW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVs" + + "bHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5j" + + "dGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0" + + "Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwg" + + "SzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBg" + + "PHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkg" + + "fCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRz" + + "LnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + + "bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tl" + + "cmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0" + + "aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3Rl" + + "OiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBO" + + "T1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBw" + + "bGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hp" + + "Y2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBC" + + "b3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52" + + "Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBg" + + "YXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVl" + + "IG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9h" + + "dXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8" + + "ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6" + + "IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNv" + + "ZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTog" + + "ZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBh" + + "bmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5" + + "bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5" + + "IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFk" + + "eS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBg" + + "YmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3Ns" + + "IGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJz" + + "L2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQg" + + "VGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fy" + + "cy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2Yg" + + "ZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBg" + + "YAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJy" + + "b3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMg" + + "b2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZm" + + "ZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFn" + + "ZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdv" + + "IGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lz" + + "dHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNl" + + "cyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZl" + + "cm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGlj" + + "eSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9k" + + "cyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRz" + + "IC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMg" + + "bmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVy" + + "bm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhl" + + "bG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5h" + + "bWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + + "aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5h" + + "bWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVj" + + "dGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUg" + + "cG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdl" + + "UHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7" + + "LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNy" + + "ZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFs" + + "IGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5v" + + "IHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJl" + + "bmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERl" + + "YnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Rz" + + "IC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAt" + + "QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVh" + + "c2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + + "ICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3lt" + + "cHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1" + + "bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBz" + + "ZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0" + + "cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0" + + "aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0" + + "dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xv" + + "Z2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUg" + + "dG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3Rh" + + "dGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNl" + + "IGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFs" + + "c2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5i" + + "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2Ig" + + "YG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNl" + + "ZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5p" + + "dDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1" + + "bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2" + + "aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNy" + + "ZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25s" + + "eSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + + "c3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2" + + "aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NB" + + "U1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2Vk" + + "IHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Ig" + + "bm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBh" + + "bmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5z" + + "dGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhl" + + "biBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNl" + + "NjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2Iv" + + "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3Vu" + + "dCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290" + + "c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0" + + "YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2Yg" + + "YSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBl" + + "ZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBi" + + "b290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2" + + "aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5k" + + "IHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVy" + + "cy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRv" + + "IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJp" + + "ZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5k" + + "aXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3Rh" + + "cnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVk" + + "IHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1" + + "cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lP" + + "Tj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + + "cmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxg" + + "IGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBv" + + "bmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwg" + + "ZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFu" + + "IGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3Jl" + + "YXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMg" + + "YSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkg" + + "d3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0" + + "IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQt" + + "Ym9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVj" + + "dCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3lu" + + "Y2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRo" + + "ZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3Rh" + + "dGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBu" + + "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9n" + + "cyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUg" + + "YWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3Rh" + + "bGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQg" + + "RXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10" + + "by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1m" + + "aWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBz" + + "ZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBt" + + "YW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRh" + + "dGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxm" + + "LW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNr" + + "aWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUg" + + "KG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1" + + "Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVz" + + "dGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNp" + + "b25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmls" + + "ZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCBy" + + "ZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJz" + + "aW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + + "ZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFs" + + "bGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xp" + + "ZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNz" + + "ZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAog" + + "ICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNG" + + "IHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRl" + + "IHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxt" + + "ZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmlu" + + "ZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1w" + + "b3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4g" + + "dGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxh" + + "dGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2" + + "aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rp" + + "b24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xl" + + "YW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRo" + + "ZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tl" + + "bmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + + "bmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8g" + + "Zm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0Yt" + + "bWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQg" + + "bm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBj" + + "b25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFu" + + "dXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNG" + + "QmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhl" + + "IGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5h" + + "bGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0" + + "ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkg" + + "YW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBm" + + "aXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhl" + + "bG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0Yg" + + "Y29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUg" + + "SGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0" + + "ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1" + + "dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hl" + + "bWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhl" + + "IGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01T" + + "X1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZp" + + "Zy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZy" + + "b20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2Vw" + + "YXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAg" + + "IlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5n" + + "IG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + + "Z3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNf" + + "c2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hv" + + "c3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIt" + + "Y2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNf" + + "VVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + + "dXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3" + + "aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1" + + "dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5" + + "IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVy" + + "LCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0" + + "aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZv" + + "ciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVl" + + "c3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFu" + + "ZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3Ro" + + "IGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + + "cHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0" + + "aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + + "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + + "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + + "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHBy" + + "b3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAi" + + "UnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUg" + + "c3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55" + + "YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGlu" + + "c3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5j" + + "IGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBm" + + "b3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8s" + + "IHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVz" + + "IHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhl" + + "bG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0" + + "cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9u" + + "IjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + + "IHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3Rh" + + "Z2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250" + + "cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUg" + + "c3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2Vy" + + "dC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxv" + + "eWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVu" + + "IHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3Rh" + + "bGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5n" + + "IHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "dmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVj" + + "dGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlz" + + "dHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChj" + + "YXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2" + + "YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5h" + + "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVs" + + "bWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3ki" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAo" + + "ZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJv" + + "eGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhl" + + "YWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNv" + + "bXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFu" + + "ZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2Ug" + + "bnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFu" + + "ZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVk" + + "IGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0" + + "aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBj" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0" + + "ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWlu" + + "IGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3Vt" + + "ZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBp" + + "bnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYu" + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZl" + - "cmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBt" + - "b2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + - "dCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFu" + - "ZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24g" + - "Y29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1m" + - "aWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVp" + - "Y2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRo" + - "ZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRv" + - "IHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHBy" + - "ZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0" + - "IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3Qg" + - "YmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUg" + - "dGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmll" + - "dyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRs" + - "eSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAog" + - "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRh" + - "bnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "RzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFj" + - "ZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMg" + - "d2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2Vz" + - "LiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3Qs" + - "IHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0" + - "dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + - "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + - "c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0" + - "aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0" + - "byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3Rs" + - "IHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFt" + - "ZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFt" + - "ZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBv" + - "dGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRp" + - "cmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFs" + - "aXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zs" + - "b3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBh" + - "IHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRo" + - "ZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBl" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0t" + + "Y29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + + "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + + "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + + "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUs" + + "IC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0" + + "YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3Rh" + + "bGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0" + + "ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMg" + + "dGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJl" + + "Z2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5k" + + "cmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRp" + + "bmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBl" + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBl" + - "bmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29u" + - "dHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFy" + - "ZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRz" + - "LCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtl" + - "ZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0" + - "ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3" + - "aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVn" + - "aXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250" + - "ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxl" + - "ZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUg" + - "Y29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJs" + - "LCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191" + - "cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBm" + - "b3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNU" + - "RVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklH" + - "X0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBI" + - "RUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29u" + - "ZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNt" + - "cy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMg" + - "YW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlk" + - "IG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNh" + - "dGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1" + - "c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNv" + - "IGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUg" + + "dGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5l" + + "IHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRo" + + "ZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5k" + + "IHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhh" + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5k" + - "IE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0" + - "cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9L" + - "RVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJl" + - "cXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9D" + - "SSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0" + - "aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "Ikc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBm" + - "b3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1" + + "ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAog" + + "ICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0" + + "cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUp" + + "IiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBz" + + "cGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50" + + "aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZp" + + "bGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1" + + "ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNz" + + "YW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRl" + + "cGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVu" + + "ZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBk" + + "ZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5j" + + "eSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVt" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3Ig" + + "dGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "IlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBw" + + "b2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5k" + + "IHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNj" + + "cmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVs" + + "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZp" + + "ZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Np" + + "bmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + + "bWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0" + + "aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9y" + + "IHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAi" + + "VGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29y" + + "IHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBj" + + "YXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJD" + + "b25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNv" + + "bnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5k" + + "IHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxl" + - "LmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hl" + - "biBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0" + - "byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJ" + - "dCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3Npbmcg" + - "YnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUg" + - "c3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55" + - "YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRo" + - "ZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFu" + - "IGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + - "UyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVj" + + "IGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRl" + + "d2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1n" + + "YXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9p" + + "bnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBO" + + "VkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlz" + + "Y292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBm" + + "aWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBS" + + "ZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0" + + "ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVk" + + "aW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3Rl" + + "bS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVy" + + "TmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + + "c2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdh" + + "dGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + + "Z2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJM" + + "LCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkws" + + "IGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94" + + "eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMg" + + "c2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFw" + + "aS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFu" + + "ZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNl" + + "dCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAg" + + "IlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVk" + + "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + + "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIs" + + "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJM" + + "LCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNl" + + "cnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwK" + + "ICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1" + + "ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNy" + + "ZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5k" + + "IG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1z" + + "cGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRy" + + "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0" + + "aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVj" + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0" + - "aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQg" + - "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRp" + - "Y2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQg" + - "dGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3Vt" + - "ZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBs" + - "YW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJz" + - "aW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFn" + - "ZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdl" + - "bnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5h" + - "dHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1t" + - "YW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8g" + - "cHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxF" + - "X0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZp" + - "Y2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIs" + - "CiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJl" + - "Z2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1" + - "c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRp" + - "ZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUg" + - "SGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXBy" + - "b2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxs" + - "IG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0" + - "ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFu" + - "ZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21t" + - "YW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRl" + - "LXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQg" + - "cHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qg" + - "c3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2" + - "ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0t" + - "Y29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1l" + - "bnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0t" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0t" + - "cmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRl" + - "ZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + - "IC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVk" + - "IC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNl" + - "IGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAg" + - "InF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3Jl" + - "YXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "X3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVn" + + "aXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUg" + + "Y29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZv" + + "cm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + + "ZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9u" + + "IGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFu" + + "ZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hp" + + "cCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNz" + + "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2Ug" + + "YnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVu" + + "YW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhl" + + "IGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0" + + "dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFt" + + "ZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRp" + + "Y3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNv" + + "bmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rl" + + "ci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVu" + + "dCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3Qg" + + "cmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0" + + "ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0" + + "cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29u" + + "ZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVz" + + "dGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAg" + + "IkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBi" + + "b3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + + "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFi" + + "b3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVu" + + "IGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAg" + + "ICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVz" + + "cGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBw" + + "cm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxl" + + "IGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNP" + + "TkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBv" + + "dXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29t" + + "cGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBm" + + "dWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywg" + + "c3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBh" + + "bmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJu" + + "ZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBn" + + "b3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29u" + + "ZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5k" + + "IC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJU" + + "aGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3Rl" + + "ciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlv" + + "bnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5j" + + "ZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlB" + + "TUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVl" + + "cyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVk" + + "IHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFs" + + "LnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGds" + + "b2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBl" + + "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5s" + + "aW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFs" + + "dWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFt" + + "bC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBp" + + "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + + "Y2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywg" + + "Z2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJi" + + "aXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + + "OiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhh" + + "dCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUg" + + "YSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5h" + + "YmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVu" + + "Y3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBp" + + "c29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVy" + + "aWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2Rp" + - "ZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGlu" + - "ZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQg" + - "d2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZm" + - "IGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUg" + - "d2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAg" + - "ICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRl" + - "IHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUt" + - "aW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVl" + - "czogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50" + - "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiBy" + - "ZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUg" + - "YWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlm" + - "ZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2" + - "LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9u" + - "bHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8g" + - "LS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBo" + - "ZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2Ug" + - "Z3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + - "dXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMt" + - "c3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVs" + - "ZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxs" + - "YmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVs" + - "bEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29t" + - "bWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVj" + - "a2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9k" + - "IHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Np" + - "bmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRz" + - "KSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2Zm" + - "IGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRo" + - "ZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBp" + - "bWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwK" + - "ICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBh" + - "IHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJv" + - "dXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBF" + - "S1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdo" + - "IGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBw" + - "dWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0" + - "aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBl" + - "bnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0" + - "ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXBy" + - "b3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1" + - "cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3Vy" + - "ZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNt" + - "c19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRl" + - "cm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQg" + - "aW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBi" + - "dXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3kt" + - "Z2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBu" + - "YXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNl" + - "IGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9p" + - "bnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVS" + - "TCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2" + - "aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVS" + - "TCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdy" + - "cGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0" + - "bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFw" + - "aS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVu" + - "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJU" + - "aGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmll" + - "bGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBj" + - "b25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhl" + - "YWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVy" + - "cmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wt" + - "cGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwK" + - "ICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Et" + - "b3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1z" + - "eXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + - "ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMg" + - "YW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1m" + - "aWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkg" + - "Y29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBw" + - "YXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIg" + - "aGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZs" + - "b3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUg" + - "dGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwg" + - "YW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBz" + - "dGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + - "dmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQg" + - "bm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBj" + - "b25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJh" + - "dGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3Bl" + - "Y3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25s" + - "eSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250" + - "cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhl" + - "IHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdl" + - "ZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3Zpbmcg" + - "dGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdv" + - "bmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZs" + - "b3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRz" + - "IGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxt" + - "ZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVm" + - "b3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5k" + - "b2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mg" + - "d2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUg" + - "SGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + - "c2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQg" + - "dmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcg" + - "b24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24g" + - "Zmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5k" + - "IGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1w" + - "bGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklH" + - "X0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVm" + - "b3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBj" + - "b21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1j" + - "bHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBj" + - "b25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQg" + - "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJt" + - "YXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0" + - "aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93" + - "biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhh" + - "dCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBj" + - "b250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6" + - "ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBz" + - "aWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRl" + - "bmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3Jl" + - "dHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9u" + - "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0" + - "cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + - "bjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRz" + - "IC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9i" + - "YWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5k" + - "cmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4p" + - "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + - "IG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFu" + - "ZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJs" + - "b2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIs" + - "CiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5j" + - "dGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rl" + - "ci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8g" + - "SSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBh" + - "ZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMg" + - "Zm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVk" + - "IHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1i" + - "YWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVx" + - "dWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9k" + - "cy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBz" + - "ZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkg" + - "YXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53" + - "b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFu" + - "c3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMg" + - "bm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcg" + - "dGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhp" + - "c3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJv" + - "dXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xl" + - "dGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJl" + - "cXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNs" + - "dXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBk" + - "ZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qt" + - "cm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50" + - "aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFy" + - "Z2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwg" + - "YW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUg" + - "ZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNl" + - "bGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0g" + - "ZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxs" + - "bS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBz" + - "aWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBO" + - "VkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3Mg" + - "dG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2Vs" + - "Zi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3Bl" + - "Y2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1k" + - "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVj" + - "dGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQg" + - "azNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRo" + - "ZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpW" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxl" + - "cyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVy" + - "cmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2Ug" + - "bGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxh" + - "cmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAu" + - "CgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVl" + - "cyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAv" + - "dG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZv" + - "cmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1m" + - "aWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3cs" + - "IGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0" + - "IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZl" + - "cnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTog" + - "Y2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + - "YmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + - "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBy" + - "ZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAg" + - "ICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAi" + - "MiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5k" + - "IGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nh" + - "c3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMg" + - "Y2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUp" + - "IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVz" + - "ZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxv" + - "eSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhl" + - "IE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkg" + - "aW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMu" + - "CgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAg" + - "cmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToK" + - "ICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMj" + - "IyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMp" + - "CgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0Nf" + - "QVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAg" + - "IiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVs" + - "bCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+" + - "IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + - "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + - "bwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + - "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2Vj" + - "cmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQ" + - "dWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGlu" + - "IGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFt" + - "ZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFi" + - "bGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + - "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fz" + - "c2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAg" + - "ICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRd" + - "KHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQu" + - "CgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21w" + - "dXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0" + - "aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMg" + - "Zm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRl" + - "bmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tP" + - "ZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBu" + - "dmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1j" + - "b2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAog" + - "ICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScK" + - "ICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVs" + - "ZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0" + - "LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBT" + - "aG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoK" + - "LS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRl" + - "cGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAg" + - "MTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1" + - "c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sg" + - "b24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1" + - "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0" + - "dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVz" + - "dGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1" + - "ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGlu" + - "ZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1" + - "c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlv" + - "bi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAK" + - "ClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3Rl" + - "cCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQt" + - "bWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + - "cwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwg" + - "aWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5h" + - "bCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + - "YWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5h" + - "Z2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2" + - "ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBt" + - "aXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3Zh" + - "bCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VC" + - "RUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNv" + - "bmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwph" + - "bWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAt" + - "RSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5h" + - "dHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCBy" + - "ZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpG" + - "b2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwg" + - "dGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + - "LS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdl" + - "CgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2Vy" + - "IHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0" + - "aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4g" + - "ZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + - "ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMg" + - "YW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhv" + - "c3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVj" + - "b3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5g" + - "IGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRl" + - "bXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUg" + - "c3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBI" + - "b3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJl" + - "Y3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZh" + - "bHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJ" + - "Q01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWly" + - "IGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlv" + - "biBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFs" + - "bHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBj" + - "b21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyAr" + - "c2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDov" + - "LyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8g" + - "d2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJv" + - "dXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNw" + - "cm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + - "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + - "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + - "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + - "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + - "eSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVu" + - "ZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2Ug" + - "Y29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9w" + - "ZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBu" + - "YXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBn" + - "ZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVh" + - "c2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "c3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8" + - "CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + - "IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZp" + - "Y2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5" + - "LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJv" + - "dXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25h" + - "bCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUg" + - "YWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlv" + - "bmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9u" + - "IGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1" + - "ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxs" + - "bS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3Qg" + - "dGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFu" + - "aXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBz" + - "dGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRl" + - "d2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25s" + - "eSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9u" + - "cy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdy" + - "ZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVh" + - "bCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3Qg" + - "aGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5h" + - "bWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBh" + - "cmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVu" + - "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhh" + - "bmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29t" + - "YmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5l" + - "IGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZp" + - "bGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZp" + - "cm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3Ry" + - "YXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBD" + - "TEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBw" + - "cm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5k" + - "LWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1w" + - "bGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhl" + - "IHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVk" + - "IG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMg" + - "Zm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52" + - "aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJl" + - "Z2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0g" + - "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRl" + - "LXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRo" + - "ZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEu" + - "Y29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1w" + - "bGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBl" + - "bnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdh" + - "dGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRo" + - "ZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1" + - "cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBp" + - "cyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UK" + - "d2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFs" + - "OgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZj" + - "ZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1Nl" + - "cnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5h" + - "dHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2Vy" + - "dmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2" + - "aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2Nh" + - "dGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3Jw" + - "Y3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rl" + - "ci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVz" + - "cGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtu" + - "YW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzog" + - "e25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRz" + - "OgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0" + - "ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBp" + - "OgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFt" + - "ZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAg" + - "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + - "cmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVk" + - "OiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAg" + - "IGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAg" + - "IHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRy" + - "ZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1k" + - "b21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAg" + - "ICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmll" + - "dyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBg" + - "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxN" + - "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29u" + - "ZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxN" + - "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29u" + - "ZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJl" + - "c3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9D" + - "T05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAi" + - "PGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBp" + - "X2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxn" + - "YXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+" + - "IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250" + - "YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBz" + - "IG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19o" + - "b3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVy" + - "ZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJh" + - "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVz" + - "dGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBc" + - "CiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwK" + - "ICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10" + - "by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4K" + - "YGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9t" + - "IHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQs" + - "IGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21t" + - "YW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5" + - "CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4K" + - "CiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBm" + - "aXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJl" + - "Z2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0" + - "ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBc" + - "CiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "IFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVz" + - "dGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lv" + - "bj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJz" + - "aXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApu" + - "dmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5l" + - "LXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAt" + - "LXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + - "IC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVn" + - "aW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xp" + - "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + - "XAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0" + - "cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hh" + - "YmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldL" + - "Uy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhl" + - "bG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250" + - "cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5l" + - "CmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0" + - "ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQg" + - "cmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29t" + - "cHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4g" + - "YG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFk" + - "ZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5k" + - "cyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRz" + - "Lm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5k" + - "IG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdp" + - "ZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRl" + - "IC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9w" + - "ZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAt" + - "biBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9" + - "Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + - "VGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZv" + - "cmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVz" + - "ZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBw" + - "cmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkg" + - "d2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxs" + - "YXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5k" + - "IGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVh" + - "c2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0" + - "Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9y" + - "IG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2" + - "ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFs" + - "dWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVh" + - "bnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + - "bmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0t" + - "Y2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5j" + - "YS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAg" + - "YW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + - "cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhh" + - "Y3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRl" + - "YC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNv" + - "bXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApL" + - "VUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05G" + - "SUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxh" + - "bmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1" + - "YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "CnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3Rl" + - "ciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1l" + - "IGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8" + - "Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBs" + - "YW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1" + - "dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cg" + - "dGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0t" + - "cGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQg" + - "Y29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxh" + - "bmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIs" + - "IHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNp" + - "dCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4g" + - "cHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1j" + - "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + - "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + - "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkg" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + - "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + - "CiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + - "CiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUg" + - "Y2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lz" + - "dGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRl" + - "ciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UK" + - "ClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFn" + - "ZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBB" + - "bGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRl" + - "CgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFt" + - "ZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50" + - "cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50" + - "cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBh" + - "IHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3Rs" + - "IGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTog" + - "SW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJF" + - "QURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAv" + - "MSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoK" + - "CmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQw" + - "MSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBp" + - "bWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3Rz" + - "IGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + - "cGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVj" + - "dGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMu" + - "aW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1h" + - "Z2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8g" + - "anNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3Jl" + - "dCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0" + - "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tl" + - "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + - "CiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNl" + - "PTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVy" + - "ZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQg" + - "dmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + - "ZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5i" + - "YW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBT" + - "ZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1" + - "bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxl" + - "dGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNy" + - "LWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRp" + - "YWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMj" + - "IFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoK" + - "CmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBS" + - "RVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8x" + - "ICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIg" + - "aXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBg" + - "YGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0" + - "ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2Jz" + - "IC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAt" + - "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQg" + - "Y29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9w" + - "ZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1" + - "bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24g" + - "am9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBp" + - "bnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVy" + - "IGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2Vj" + - "cmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5n" + - "IGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gK" + - "ICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5i" + - "YW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1" + - "dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlk" + - "YXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55" + - "IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5" + - "IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3" + - "aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlv" + - "bl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5u" + - "b3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0" + - "aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQt" + - "aW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYElu" + - "aXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3Bl" + - "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBt" + - "aWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVz" + - "aW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxi" + - "YWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBs" + - "aXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52" + - "IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5i" + - "YW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAj" + - "ICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lz" + - "dGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1p" + - "Z3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50" + - "IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFs" + - "IE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5k" + - "IHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEg" + - "bWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVk" + - "ICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2Ug" + - "dGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3Rh" + - "dGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgoj" + - "IyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNU" + - "QVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBt" + - "CmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNz" + - "YW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMj" + - "IEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBT" + - "ZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAot" + - "IGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgi" + - "CiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIK" + - "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90" + - "IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxp" + - "Y2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMg" + - "U3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJU" + - "UyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBg" + - "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBm" + - "YWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+Cgoj" + - "IENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMp" + - "IGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2" + - "YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xh" + - "aW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNo" + - "Kio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNo" + - "CiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoy" + - "LiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3Rz" + - "CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5z" + - "dWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAg" + - "IGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQg" + - "cmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3Rh" + - "dGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdp" + - "dGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJz" + - "IHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCku" + - "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8" + - "bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2Ug" + - "YW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFj" + - "ZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0" + - "IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxy" + - "ZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxl" + - "ZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBj" + - "cmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lz" + - "CgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAt" + - "biBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1" + - "YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVj" + - "ayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1l" + - "PW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBi" + - "YXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0" + - "cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90" + - "IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNy" + - "ZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNo" + - "b3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3Ry" + - "eSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBp" + - "biBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNy" + - "ZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQg" + - "ZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRl" + - "bGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZApr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "YXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykK" + - "CiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0" + - "dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVy" + - "YXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcg" + - "ICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29u" + - "dGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQu" + - "IFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQK" + - "Zm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NP" + - "TlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBO" + - "VkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQi" + - "IGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRh" + - "dGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30g" + - "c2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJl" + - "Y3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRu" + - "cyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19Iicg" + - "XyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMg" + - "YnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNm" + - "LWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBu" + - "YW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5h" + - "bGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQi" + - "IHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIg" + - "LWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNz" + - "aW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3Rh" + - "bGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0" + - "IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwK" + - "ICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhl" + - "cwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1m" + - "aWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0" + - "IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "LiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFs" + - "bGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUg" + - "Y29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252" + - "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVy" + - "YXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUg" + - "cHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVy" + - "YXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFu" + - "dWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + - "I2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hh" + - "bmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRl" + - "IGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJl" + - "cGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3Np" + - "cwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkg" + - "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAi" + - "JEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBh" + - "cGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVj" + - "dCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRz" + - "U2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMj" + - "IEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3Zl" + - "cnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5h" + - "dGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1h" + - "ZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0" + - "aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFt" + - "cGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2Up" + - "LgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5j" + - "ZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNl" + - "IHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5h" + - "dHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9w" + - "ZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJv" + - "eHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdh" + - "dGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNz" + - "IHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95" + - "IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5" + - "IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "aGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJl" + - "bmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "Lwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMg" + - "TkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAg" + - "ICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55" + - "YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1l" + - "bnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVl" + - "cyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAg" + - "ICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5h" + - "bWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMs" + - "IHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVt" + - "cGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFu" + - "ZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + - "bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZj" + - "YS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29u" + - "ZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAg" + - "ICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52" + - "LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0g" + - "Z2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0" + - "cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVu" + - "dmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93" + - "IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5z" + - "dGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMg" + - "ZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + - "IyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55" + - "YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0t" + - "LS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0" + - "cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZj" + - "Zi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVw" + - "ZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2Fu" + - "ZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUg" + - "aW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMj" + - "IyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExh" + - "YmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMg" + - "fCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxt" + - "LW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNm" + - "IHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9u" + - "LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3Jw" + - "Yy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBp" + - "IHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1z" + - "ZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1" + - "ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9o" + - "ZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1" + - "ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5v" + - "IHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8" + - "IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5o" + - "ZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRz" + - "IGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxs" + - "bS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5k" + - "YWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBs" + - "Cgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0t" + - "LS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZh" + - "cmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2" + - "YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBp" + - "ZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5j" + - "eWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBN" + - "ZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3Rj" + - "aGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBr" + - "ZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVz" + - "OmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVz" + - "OgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRo" + - "ZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlh" + - "bWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVu" + - "Y3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1" + - "ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFs" + - "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hl" + - "biBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8" + - "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVk" + - "ZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + - "IH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZ" + - "b3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAg" + - "ICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkK" + - "ClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0" + - "YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBu" + - "YW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldo" + - "ZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVl" + - "ZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVz" + - "YCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZy" + - "b20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFt" + - "bGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFs" + - "LnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0" + - "LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55" + - "YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJl" + - "bGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwg" + - "UGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNg" + - "ICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1" + - "Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0" + - "IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBs" + - "aWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0g" + - "YGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5z" + - "aXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3Jz" + - "LmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMg" + - "TkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4q" + - "YAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0" + - "cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUu" + - "bWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9w" + - "ZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0g" + - "YG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBg" + - "b3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxl" + - "ZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAg" + - "KHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5h" + - "YmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBM" + - "TE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0" + - "aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhl" + - "IGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlg" + - "LCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBB" + - "UEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUg" + - "TExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxl" + - "ZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNp" + - "bmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0" + - "bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6Cgpg" + - "YGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAg" + - "ICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNh" + - "Q291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAg" + - "IGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3Rl" + - "cjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAg" + - "IHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVw" + - "bGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJz" + - "LiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9u" + - "IHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQ" + - "SSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxs" + - "bS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFi" + - "bGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9y" + - "IHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2Eg" + - "Y291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0" + - "YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFu" + - "c3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJv" + - "dXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0" + - "aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExN" + - "IFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElB" + - "L252Y2YvYmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2Fk" + - "LWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBv" + - "dXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnks" + - "IHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5" + - "YW1sCmFwaToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAg" + - "ICAgIHNpZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3Ry" + - "eT4vPHJlcG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZD" + - "Rl9TSURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpU" + - "aGUgc3RhY2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQg" + - "bmV3IGNvbmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZs" + - "aWN0aW5nIHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0" + - "ZWQgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVy" + - "ZWQgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0" + - "YWxsYXRpb24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCBjb21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11" + - "c3QgcmVtYWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJl" + - "bWFpbiB2YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFp" + - "biB0aGUgd29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVy" + - "c2lvbiBpcyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2" + - "ZXJzaW9uIGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJv" + - "bC1wbGFuZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24u" + - "IFZlcmlmeSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwg" + - "Z2V0IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXIn" + - "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNr" + - "ZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMu" + - "Y29udGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2Vu" + - "ZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBh" + - "cmdzIG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNj" + - "aGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0" + - "aW9uIGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9s" + - "aWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5t" + - "ZCkuCgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBn" + - "cm91cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWlu" + - "Z3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5j" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qt" + - "cm91dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1s" + - "bG0tYXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBE" + - "ZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJv" + - "eHlgIGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFk" + - "bWluLWlzc3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252" + - "Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0" + - "aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxl" + - "ZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + - "Y2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0Yg" + - "VUkgb25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0" + - "ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMg" + - "bm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVz" + - "LCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRo" + - "ZW0uCgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52" + - "LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1" + - "ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUg" + - "dGhlIG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBm" + - "cm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IG52Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgoj" + - "IE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3Iu" + - "aW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBc" + - "CiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGll" + - "bnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhv" + - "c3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNm" + - "LXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJt" + - "aW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBh" + - "bmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + - "bmdyZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRo" + - "ZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBs" + - "b3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNm" + - "LXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5l" + - "bCBpcyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpw" + - "dWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBO" + - "LCBvciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJv" + - "dXRlLgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRV" + - "VAUAAQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVu" + - "IHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxl" + - "LCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24g" + - "ZXZlcnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFy" + - "ZSBjb25maWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9u" + - "ZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFw" + - "cHJvYWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxh" + - "bmUgcG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9w" + - "ZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRv" + - "IGBudmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAx" + - "LiBJbnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8v" + - "a3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwg" + - "a3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAog" + - "IC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0" + - "ZSBjb250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9" + + "dCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3Vy" + + "ZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJv" + + "dXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9m" + + "LXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtl" + + "ZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBv" + + "dGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIs" + + "IGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5k" + + "bGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRD" + + "b25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBz" + + "ZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3" + + "b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBj" + + "b21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0" + + "aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUg" + + "TExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFi" + + "bGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50" + + "IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUg" + + "c2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0" + + "aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhl" + + "IGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIg" + + "bWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0" + + "ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5j" + + "bHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVk" + + "IHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRy" + + "YW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250" + + "cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxh" + + "bmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVw" + + "bG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + + "bGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBh" + + "bmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24i" + + "OiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3Rpbmci" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNl" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJl" + + "cXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2ls" + + "bCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3Qg" + + "cmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3Rl" + + "YWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhl" + + "bG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAi" + + "VGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5j" + + "ZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQog" + + "IH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1w" + + "bGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4K" + + "CiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQg" + + "Q2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlw" + + "ZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFy" + + "dCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVs" + + "bWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5l" + + "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJj" + + "ZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFk" + + "ZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4g" + + "dGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2Vj" + + "cmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBu" + + "YW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVu" + + "YWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2" + + "YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1" + + "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBj" + + "YXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAg" + + "ICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6" + + "CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMj" + + "IFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRl" + + "ci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAj" + + "IENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAg" + + "KGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRy" + + "YSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoK" + + "IyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwg" + + "U2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZy" + + "b20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcg" + + "aW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZv" + + "ciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToK" + + "ICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52" + + "aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTog" + + "bnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhl" + + "bG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9h" + + "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAt" + + "dSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRl" + + "IG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9" + "Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + @@ -3681,124 +2861,951 @@ const skillDataZipBase64 = "" + "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1O" + - "R0MgcmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJu" + - "YW1lYCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVz" + - "dGVyUG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3Rl" + - "clBvbGljeQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6" + - "CiAgYmFja2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNl" + - "Y3JldC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVz" + - "b3VyY2VzOgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAg" + - "bmFtZXNwYWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMi" + - "CiAgICAgICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJu" + - "YXRzLXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAg" + - "LSAidmF1bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0" + - "ZToKICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAg" + - "ICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1" + - "bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAg" + - "IGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAog" + - "IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3Rh" + - "bGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wt" + - "cGxhbmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxl" + - "IG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3Jl" + - "dCBpbnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoK" + - "Q3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUg" + - "Y2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBw" + - "bHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52" + - "Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2Vj" + - "cmV0czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + - "dXNlIHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNy" + - "ZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1" + - "dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3Rh" + - "bGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9s" + - "LXBsYW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAog" + - "IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5h" + - "bWUiOiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + - "PiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNm" + - "XC5udmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBr" + - "eXZlcm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxh" + - "c3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBw" + - "dWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9y" + - "IG1pcnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0K" + - "YGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0" + - "aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5l" + - "clJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBF" + - "Q1Igd2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8g" + - "cHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMq" + - "KjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5" + - "LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3Rp" + - "bGwgaW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5v" + - "IHBvbGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlz" + - "IGFwcGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJh" + - "c2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFt" + - "ZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBy" + - "dW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMj" + - "IyBQb2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3Jl" + - "dHMKIyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoK" + - "VGhlIHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhp" + - "c3RzIHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFy" + - "Z2V0LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsH" + - "CEtCNagAFgAAABYAAFBLAQIUABQACAAAAAAAIQD3ALZAShAAAEoQAAASAAkAAAAAAAAAAAAAAAAA" + - "AABkYXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA/3bzZ1NhAABTYQAA" + - "IwAJAAAAAAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAFJvuWtoNAADaDQAAMwAJAAAAAAAAAAAAAABAcgAAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAKEU44FdDAAAXQwAADQACQAAAAAAAAAAAAAAhIAAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAQidJDwUNAAAFDQAANwAJAAAAAAAAAAAAAABMjQAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDU3o00nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAAL+aAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "0kPcBBglAAAYJQAANwAJAAAAAAAAAAAAAADOtAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwm" + - "vg4AAL4OAAA9AAkAAAAAAAAAAAAAAFTaAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEJx" + - "5h4BKAAAASgAADoACQAAAAAAAAAAAAAAhukAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6" + - "ucgHAADIBwAAOQAJAAAAAAAAAAAAAAD4EQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bk" + - "IQAA5CEAAC4ACQAAAAAAAAAAAAAAMBoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcg0PZCEjAAAhIwAAMAAJAAAA" + - "AAAAAAAAAAB5PAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRz" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADwZ8FjiCAAA4ggAADIACQAAAAAAAAAAAAAAAWAB" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAFsF+ye1NAAAtTQAAC0ACQAAAAAAAAAAAAAATGkBAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQDzrhOEdBEAAHQRAAA3AAkAAAAAAAAAAAAAAGWeAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ABHDFJNJYgAASWIAACwACQAAAAAAAAAAAAAAR7ABAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQA" + - "CQAAAAAAAAAAAAAA8xICAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxz" + - "L2V2YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAA" + - "AAAAAACoaQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAACNkgIAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkA" + - "AAAAAAAAAAAAACLDAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkA" + - "AAAAAAAAAAAAAEn0AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcA" + - "ALkHAAA/AAkAAAAAAAAAAAAAAM4eAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1" + - "qAAWAAAAFgAAPgAJAAAAAAAAAAAAAAD9JgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAA" + - "cj0DAAAA" + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAg" + + "NDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hh" + + "cnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1w" + + "bGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + + "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFn" + + "ZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5j" + + "ZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBr" + + "ZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4g" + + "Rm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGlu" + + "IGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52" + + "Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0" + + "ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0" + + "Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0" + + "ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJl" + + "IGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBu" + + "cyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8t" + + "aGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50" + + "IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUi" + + "OiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZl" + + "cmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + + "IHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2Ui" + + "IGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBS" + + "ZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVh" + + "biBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + + "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0" + + "ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0" + + "IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWls" + + "dXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0" + + "ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9t" + + "CmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXIt" + + "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1h" + + "dGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0t" + + "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + + "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + + "aWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0" + + "ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoK" + + "UHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3Bh" + + "Y2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9y" + + "ZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + + "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + + "aW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + + "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBs" + + "YW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + + "IGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxl" + + "dGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXApt" + + "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkg" + + "Y2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Z2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3Jl" + + "cCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90" + + "aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFs" + + "bCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2Ns" + + "ZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRl" + + "d2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBv" + + "ciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQu" + + "CgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9" + + "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBc" + + "CiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1" + + "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMg" + + "U3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2Jh" + + "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2Vk" + + "LiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3Vj" + + "aCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRF" + + "V0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAg" + + "aXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3" + + "aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBj" + + "b25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhl" + + "IGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVS" + + "TGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJM" + + "IGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4g" + + "UmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhh" + + "bmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZp" + + "ZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250" + + "ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + + "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAt" + + "biBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9y" + + "IC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5h" + + "Z2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1" + + "OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0" + + "ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3Qg" + + "TkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1" + + "YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5k" + + "cmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0" + + "IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNl" + + "bGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBg" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24t" + + "c2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRp" + + "b25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5h" + + "YmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdl" + + "cyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5l" + + "bmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + + "dCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVg" + + "IHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1" + + "ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRl" + + "d2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9" + + "dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRl" + + "d2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5k" + + "IGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8" + + "IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + + "IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdy" + + "b3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFz" + + "ZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1" + + "ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQg" + + "d2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8o" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEA" + + "ps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUg" + + "YW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJv" + + "bApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1" + + "c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxp" + + "ZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUg" + + "SGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3Vy" + + "Y2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8" + + "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5k" + + "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAg" + + "fAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBh" + + "bmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3Qg" + + "Y29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25v" + + "cmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRy" + + "YWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1z" + + "dGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUg" + + "dGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZs" + + "b3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246Cgot" + + "IGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9y" + + "IGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBz" + + "ZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBz" + + "ZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVl" + + "cy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3" + + "YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMg" + + "dG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVz" + + "IHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBl" + + "eHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8" + + "Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWlu" + + "PmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRo" + + "YXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtl" + + "ckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21h" + + "aW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "Pjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWlu" + + "PiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdh" + + "dGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8v" + + "YXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToK" + + "ICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5" + + "czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdh" + + "dGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3kt" + + "Z2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBu" + + "YW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJv" + + "dXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1" + + "ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAg" + + "ICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAg" + + "ICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5h" + + "dHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNz" + + "dWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoK" + + "ICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + + "aWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + + "OiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1k" + + "b21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5z" + + "dCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBh" + + "IGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBh" + + "c3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2" + + "aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlz" + + "X2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRp" + + "b24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBg" + + "YAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hl" + + "bWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAt" + + "LWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdh" + + "eSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFn" + + "LgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNv" + + "bXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + + "ICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VS" + + "TD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + + "bGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNG" + + "X0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXIt" + + "bmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + + "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBp" + + "c3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGkt" + + "Y2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3Ro" + + "CmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQg" + + "bWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0" + + "aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250" + + "cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQg" + + "YnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + + "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + + "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRy" + + "b2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBg" + + "CgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBj" + + "b21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + + "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + + "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + + "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFu" + + "ZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1j" + + "b250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52" + + "IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVz" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3Rl" + + "ciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + + "IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndp" + + "dGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3Jl" + + "dHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBv" + + "biB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "CmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBg" + + "bnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxs" + + "U2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQg" + + "b3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNh" + + "LXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFu" + + "ZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3Jl" + + "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGlj" + + "aXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4g" + + "ZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Et" + + "b3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3su" + + "c3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBu" + + "dmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5" + + "IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNh" + + "biBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZv" + + "cmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBk" + + "ZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + + "IHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQK" + + "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + + "YWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0" + + "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpG" + + "b3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFs" + + "dWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + + "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + + "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + + "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + + "CgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + + "eWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVm" + + "b3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0" + + "cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJv" + + "bCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBc" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4K" + + "YGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVk" + + "IG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFu" + + "dXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2Vl" + + "cApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93" + + "bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlv" + + "biBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAg" + + "LS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQg" + + "PG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFt" + + "ZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQg" + + "cHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25k" + + "aXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3Qg" + + "cmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9s" + + "IHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9y" + + "ZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVm" + + "aXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + + "ICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZp" + + "Zz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBs" + + "YW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJl" + + "YWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3du" + + "YCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0" + + "ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250" + + "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsH" + + "CJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBE" + + "ZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29t" + + "bW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENv" + + "bW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVj" + + "dGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0" + + "IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVz" + + "KQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVz" + + "dGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9u" + + "cywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1l" + + "PgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + + "dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFH" + + "RQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVt" + + "CmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlv" + + "Ly4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlm" + + "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBu" + + "dmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1h" + + "Z2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAt" + + "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vy" + + "dmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+" + + "IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMj" + + "IyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0Cgog" + + "ICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJu" + + "YW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1" + + "dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxT" + + "ZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRz" + + "Lm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQ" + + "dWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFy" + + "eS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBb" + + "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFs" + + "cyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdp" + + "dGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNr" + + "IChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0" + + "OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBS" + + "RUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZs" + + "dCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + + "VGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRp" + + "bmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiBy" + + "YW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2Qg" + + "bG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3Bl" + + "bmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0" + + "bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAK" + + "CiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIg" + + "ZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAq" + + "Kk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBo" + + "ZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJh" + + "bzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2" + + "YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAj" + + "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipP" + + "cGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBz" + + "dGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + + "by1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1h" + + "Z2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5" + + "IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9u" + + "IG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBh" + + "IHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRo" + + "b2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5" + + "CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxp" + + "dmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2" + + "aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNl" + + "J3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBw" + + "b2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRo" + + "ZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + + "ZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292" + + "ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50" + + "ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBt" + + "aWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJh" + + "c2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwp" + + "LCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlz" + + "c3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxl" + + "dGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3lu" + + "YwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVk" + + "IGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmln" + + "dXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9v" + + "cGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVh" + + "Y2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIg" + + "T0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5l" + + "ZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRj" + + "aCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2ls" + + "bGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVB" + + "RFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtp" + + "bGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJM" + + "YXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlh" + + "IGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1w" + + "bGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0" + + "czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3Rz" + + "OgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVz" + + "b3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBw" + + "ZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1" + + "Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + + "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcg" + + "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVu" + + "dHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2" + + "YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAt" + + "ICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAi" + + "cGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9k" + + "ZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1l" + + "bnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwg" + + "Z3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBz" + + "dG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xh" + + "c3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBh" + + "Y2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBn" + + "cmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJl" + + "bGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1B" + + "CiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVs" + + "bWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrICht" + + "aWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3Rvcnkg" + + "PHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kg" + + "dGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRl" + + "c3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNw" + + "YWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJl" + + "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQg" + + "Qm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBm" + + "dW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWls" + + "dXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVz" + + "Cmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBh" + + "ZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0" + + "cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBw" + + "Lmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBD" + + "YXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBz" + + "ZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAg" + + "YmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVy" + + "aWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycg" + + "fCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAog" + + "ICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSBy" + + "ZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFs" + + "c2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3Zl" + + "ciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + + "IGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAt" + + "LWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0" + + "bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBz" + + "ZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAg" + + "U3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBo" + + "YW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tl" + + "bmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2Fp" + + "bnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0" + + "ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1" + + "c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFz" + + "aApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92" + + "ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0" + + "ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEg" + + "Jy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAt" + + "ciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5h" + + "bWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFj" + + "a2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJm" + + "aW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0" + + "ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGlu" + + "IG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + + "UFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBc" + + "CiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0" + + "ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNw" + + "YWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6" + + "IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIg" + + "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxv" + + "eW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJh" + + "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1l" + + "bnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMj" + + "IERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxh" + + "dGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxv" + + "dy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + + "c3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRo" + + "ZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBp" + + "bnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAt" + + "biBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFp" + + "bD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2Zi" + + "YWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJl" + + "cywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAu" + + "IFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5v" + + "dCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMu" + + "bWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBH" + + "YXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0" + + "aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMg" + + "bG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRw" + + "b2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdh" + + "eSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBd" + + "LnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWlu" + + "PiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVh" + + "bHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxv" + + "eW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNl" + + "fG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0" + + "bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRp" + + "cmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9u" + + "bHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9u" + + "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUK" + + "W0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3" + + "YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBw" + + "aW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1l" + + "c3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18" + + "CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwK" + + "fCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlv" + + "bi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0" + + "LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1p" + + "c3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZv" + + "eS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZp" + + "bGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNm" + + "LXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5j" + + "aWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNv" + + "cmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0t" + + "IDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRp" + + "b25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAg" + + "ICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1l" + + "Pi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3Jl" + + "dHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1" + + "ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVz" + + "CgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRl" + + "cGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9u" + + "ZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9y" + + "IGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBi" + + "YXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9u" + + "bWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9u" + + "bWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28g" + + "dGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFj" + + "a3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBI" + + "ZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBD" + + "TEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9m" + + "ZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMj" + + "IyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + + "YWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBu" + + "YXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJh" + + "by1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNy" + + "ZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNm" + + "LWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRl" + + "cGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVu" + + "ZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + + "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + + "LS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2" + + "aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBo" + + "ZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBo" + + "ZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXBy" + + "b3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkg" + + "fCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8" + + "IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBo" + + "ZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + + "L2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1h" + + "cGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJv" + + "eHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52" + + "Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9z" + + "dCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxl" + + "YXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5k" + + "YWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUg" + + "Z2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBg" + + "aW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2" + + "YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJl" + + "bCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmls" + + "aXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5" + + "IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25t" + + "ZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoK" + + "IyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5j" + + "aWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0" + + "aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlv" + + "dSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhl" + + "IHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + + "YWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZh" + + "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + + "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRl" + + "cGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVh" + + "c2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + + "ICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0t" + + "c2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0g" + + "bmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + + "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJl" + + "ZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQog" + + "ICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAg" + + "ICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRg" + + "IChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZp" + + "bGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQog" + + "IHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxh" + + "dGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJl" + + "bGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + + "ZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZh" + + "bHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVu" + + "dmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmly" + + "b25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBv" + + "dmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2lu" + + "ZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1" + + "ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZh" + + "bHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQg" + + "Z2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCBy" + + "ZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZp" + + "YyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFz" + + "c2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJh" + + "CgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lz" + + "dHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNz" + + "YW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBn" + + "bG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0" + + "U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5h" + + "dHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAot" + + "IGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAot" + + "IGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkK" + + "CiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFv" + + "Lm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8u" + + "c2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBz" + + "ZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBg" + + "PHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5v" + + "ZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxp" + + "dHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExN" + + "IGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rp" + + "b25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFu" + + "ZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCBy" + + "b3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMg" + + "d29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlz" + + "IGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJs" + + "ZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0" + + "aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBw" + + "bHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1" + + "ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAg" + + "ICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJv" + + "dXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + + "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VD" + + "b25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFt" + + "ZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6" + + "IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xl" + + "LW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZl" + + "cyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sK" + + "ZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50" + + "ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9u" + + "bHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3Bv" + + "cnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRo" + + "ZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlv" + + "bi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBs" + + "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rp" + + "b24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQt" + + "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1l" + + "dGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6" + + "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0t" + + "cmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIg" + + "aW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lz" + + "dHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFn" + + "ZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0" + + "YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xp" + + "ZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUg" + + "bGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBh" + + "dGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRp" + + "YmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3Rl" + + "LWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIg" + + "YW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVm" + + "cmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9m" + + "ZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmln" + + "Lm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBs" + + "YXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0" + + "ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9m" + + "aWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBp" + + "bnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5j" + + "dGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNh" + + "cHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVk" + + "ZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFn" + + "ZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5l" + + "dyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQK" + + "d29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1h" + + "cGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJv" + + "dXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8" + + "bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQpr" + + "dWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29u" + + "cGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFy" + + "Z3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMs" + + "IHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpG" + + "b3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpb" + + "U3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + + "dmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFu" + + "Y2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3Bl" + + "Y2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + + "bmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFz" + + "ZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1p" + + "bi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAo" + + "ZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3Rl" + + "OiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2Ug" + + "YC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9u" + + "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5l" + + "bCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3Rh" + + "Y2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBl" + + "bmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwg" + + "VUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJ" + + "ZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBu" + + "dmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2th" + + "Z2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGlu" + + "IGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZV" + + "aToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBw" + + "dWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3Jl" + + "dCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0" + + "cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1" + + "YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2Nr" + + "ZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVp" + + "IFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpU" + + "aGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + + "bmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCBy" + + "b3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlg" + + "IHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2Yt" + + "dWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhl" + + "IHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + + "ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+" + + "IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhl" + + "IE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90" + + "IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0" + + "cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQg" + + "b2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNl" + + "CgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJl" + + "Z2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGlt" + + "YWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1w" + + "bGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250" + + "ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5k" + + "ZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNy" + + "ZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRl" + + "LXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRv" + + "cmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAo" + + "UmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBh" + + "ZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1" + + "cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1j" + + "cmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gK" + + "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "ZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + + "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "ZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZl" + + "cmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMu" + + "IEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5v" + + "LmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1h" + + "Z2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5h" + + "bWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAg" + + "IGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAg" + + "IC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAg" + + "ICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVz" + + "cyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1z" + + "eXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1t" + + "YW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAg" + + "ICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNm" + + "Lm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAg" + + "ICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6" + + "IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFt" + + "bApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRo" + + "ZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29u" + + "dHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5q" + + "ZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29t" + + "cHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + + "b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9" + + "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVu" + + "Y2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xv" + + "YmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUg" + + "Y2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAg" + + "YW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBi" + + "cm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9y" + + "IHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBD" + + "aGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + + "JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJu" + + "byBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRh" + + "dGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + + "LWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+" + + "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + + "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNr" + + "IHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMg" + + "XAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVk" + + "ZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZl" + + "IGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5l" + + "dGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1Ymxp" + + "YyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4g" + + "Y3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdp" + + "dGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hv" + + "b3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcg" + + "cG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFm" + + "dGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2Vy" + + "IHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4g" + + "ZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Np" + + "b24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxk" + + "IGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNm" + + "LWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMg" + + "V3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZl" + + "cmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4g" + + "PG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAzvtdfUoQAABK" + + "EAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABSb7lraDQAA2g0AADMACQAA" + + "AAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVs" + + "aW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAA" + + "AISAAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAATI0AAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAC/mgAAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAzrQAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABU2gAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAIbpAABkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAA+BEBAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAADAaAQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "AHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAeTwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA8GfBY4ggAAOII" + + "AAAyAAkAAAAAAAAAAAAAAAFgAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + + "ZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCvV4FFVzYAAFc2AAAtAAkAAAAA" + + "AAAAAAAAAExpAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAAHoAEAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAOmxAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAJUUAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJS" + + "TkB/KAAAfygAAC8ACQAAAAAAAAAAAAAASmsCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwA" + + "CQAAAAAAAAAAAAAAL5QCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAADExAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAADr9QIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAABwIAMAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAnygDAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEA" + + "ps4SUEsFBgAAAAAXABcArwkAABQ/AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index c0da210dc8..3ff792d990 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -131,6 +131,10 @@ type ClusterValidatorParams struct { // Env is passed to the validator container: namespace overrides, the // probe image, and whether the control plane is expected to be installed. Env map[string]string + // Tolerations are added to the control-plane ones the Job always + // carries, for clusters whose nodes use other taints, as the chart's + // clusterValidator.tolerations does. + Tolerations []corev1.Toleration } // Err is non-nil only when the run failed to execute (RBAC bootstrap, @@ -164,14 +168,15 @@ func NewClusterValidator() ClusterValidator { if err != nil { return ClusterValidatorResult{Err: fmt.Errorf("building kubernetes client: %w", err)} } - return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup, p.Role, p.Registries, p.Env) + return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup, p.Role, p.Registries, p.Env, + p.Tolerations...) } } // Testable core. Pass a fake clientset to unit-test without a real cluster. func runClusterValidator( ctx context.Context, client kubernetes.Interface, image, pullSecret string, noCleanup bool, role string, - registries []RegistryEntry, env map[string]string, + registries []RegistryEntry, env map[string]string, tolerations ...corev1.Toleration, ) ClusterValidatorResult { if image == "" { // Defensive: callers gate on configured image before invoking the @@ -275,7 +280,8 @@ func runClusterValidator( // so a role-wide sweep could only ever hit an overlapping run's live Job. jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( - vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, env), metav1.CreateOptions{}, + vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, env, tolerations...), + metav1.CreateOptions{}, ) if err != nil { // A create cut off by an interrupt or a dropped connection may still @@ -568,12 +574,15 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // Deployments/StatefulSets: list for Tier-1/Tier-2 HA readiness checks. // DaemonSets: create/delete for the node-to-node DaemonSet probe; list to watch pod readiness. {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"get", "list"}}, + // ControllerRevisions: the creation time of a rolling StatefulSet's + // update revision dates its rollout, which Tier-2 bounds. + {APIGroups: []string{"apps"}, Resources: []string{"controllerrevisions"}, Verbs: []string{"get"}}, {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"get", "list", "create", "delete"}}, // Gateway API: the validator follows every NVCF route kind's // parentRefs to learn which Gateways are NVCF's, and reads those - // Gateways' classes. + // Gateways' classes and the controllers that run them. {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{ - "gateways", "httproutes", "grpcroutes", "tcproutes", "udproutes", + "gateways", "gatewayclasses", "httproutes", "grpcroutes", "tcproutes", "udproutes", }, Verbs: []string{"get", "list"}}, {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, }, @@ -1023,7 +1032,10 @@ func parseRegistryHostPort(s string) (host string, port int) { // buildClusterValidatorJob creates the validator Job. PullIfNotPresent reuses // locally-imported images. VALIDATOR_PREFLIGHT=true skips the summary ConfigMap // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). -func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCleanup bool, env map[string]string) *batchv1.Job { +func buildClusterValidatorJob( + name, image, pullSecret, role, runID string, noCleanup bool, env map[string]string, + tolerations ...corev1.Toleration, +) *batchv1.Job { backoff := int32(0) // Pod shape mirrors deployments/nvca-operator/templates/cronjob.yaml, which // runs this same image. Two producers of one pod spec now exist in two @@ -1040,7 +1052,7 @@ func buildClusterValidatorJob(name, image, pullSecret, role, runID string, noCle podSpec := corev1.PodSpec{ ServiceAccountName: clusterValidatorRBACName(role, runID), RestartPolicy: corev1.RestartPolicyNever, - Tolerations: clusterValidatorTolerations(), + Tolerations: append(clusterValidatorTolerations(), tolerations...), SecurityContext: &corev1.PodSecurityContext{ RunAsUser: &runAsUser, RunAsGroup: &runAsUser, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 918afcaf1d..80b9c703bb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -382,9 +382,30 @@ func TestEnsureClusterValidatorRBAC_GrantsGatewayAPIReads(t *testing.T) { } } } - for _, res := range []string{"gateways", "httproutes", "grpcroutes", "tcproutes", "udproutes"} { + for _, res := range []string{"gateways", "gatewayclasses", "httproutes", "grpcroutes", "tcproutes", "udproutes"} { assert.True(t, granted[res], res) } + // Tier-2 dates a rolling StatefulSet's rollout from its update revision. + assert.True(t, rbacRuleCovers(cr.Rules, "apps", "controllerrevisions", "get")) +} + +// The extra tolerations reach the Job beside the control-plane ones it always +// carries, so a cluster whose nodes use other taints can schedule it. +func TestRunClusterValidator_ExtraTolerationsReachTheJob(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(succeeded, "") + var job *batchv1.Job + client.PrependReactor("create", "jobs", func(a ktesting.Action) (bool, runtime.Object, error) { + job = a.(ktesting.CreateAction).GetObject().(*batchv1.Job).DeepCopy() + return false, nil, nil + }) + extra := corev1.Toleration{Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", + Effect: corev1.TaintEffectNoSchedule} + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", "", false, + clusterValidatorComputePlaneRole, nil, nil, extra) + require.NoError(t, res.Err) + require.NotNil(t, job) + assert.Equal(t, append(clusterValidatorTolerations(), extra), job.Spec.Template.Spec.Tolerations) } // The control-plane validator receives the enumerated registries and the diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index a88d0764fc..cdf1798fec 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -30,6 +30,7 @@ import ( "time" "github.com/Masterminds/semver/v3" + corev1 "k8s.io/api/core/v1" "nvcf-cli/internal/selfhosted/progress" ) @@ -372,6 +373,9 @@ type RoleConfig struct { // ClusterValidatorEnv is passed to the validator container for both roles. ClusterValidatorEnv map[string]string + // ClusterValidatorTolerations are added to the validator Job's + // control-plane tolerations. + ClusterValidatorTolerations []corev1.Toleration } // categorySpec groups a set of checks under a named category. Categories run @@ -478,6 +482,7 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { validatorRoleControlPlane, rc.ClusterValidatorRegistries, rc.ClusterValidatorEnv, + rc.ClusterValidatorTolerations..., )) } return cat @@ -520,6 +525,7 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { validatorRoleComputePlane, nil, // registries: compute-plane doesn't use the ConfigMap reachability list rc.ClusterValidatorEnv, + rc.ClusterValidatorTolerations..., )) } return cat @@ -632,7 +638,7 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS // set via VALIDATOR_ROLE; registries extends the ConfigMap reachability list. func clusterValidatorCheck( cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool, role string, - registries []RegistryEntry, env map[string]string, + registries []RegistryEntry, env map[string]string, tolerations ...corev1.Toleration, ) binaryCheckSpec { const id = "cluster-validator" return binaryCheckSpec{ @@ -651,6 +657,7 @@ func clusterValidatorCheck( Role: role, Registries: registries, Env: env, + Tolerations: tolerations, }) r.Logs = result.Logs r.Detail = clusterValidatorDetail(kubeContext, result.JobName) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index ec8c69b90a..3d5b8ec76e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -299,9 +299,6 @@ type StackValues struct { ACMESolverRepository string // EnvoyGatewayNamespace is ingress.gatewayApi.controllerNamespace. EnvoyGatewayNamespace string - // HAMode is highAvailability.mode, defaulting to "none" as the stack's - // own template does when the key is unset. Empty when no file was read. - HAMode string // Gateways are the NVCF Gateways the stack names under // ingress.gatewayApi.gateways, as sorted, distinct namespace/name entries. Gateways []string @@ -332,12 +329,6 @@ func LoadStackValues(files []string) StackValues { EnvoyGatewayNamespace: digString(merged, "ingress", "gatewayApi", "controllerNamespace"), Gateways: stackGateways(merged), } - if found { - values.HAMode = digString(merged, "highAvailability", "mode") - if values.HAMode == "" { - values.HAMode = "none" - } - } return values } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 33f6777900..7db67f7477 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -576,7 +576,7 @@ func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { // The launcher reads the stack's HA mode and NVCF Gateways, so the validator // is told rather than left to guess. An unset mode is "none", as the stack's // own template reads it, and a Gateway entry left empty is not in use. -func TestLoadStackValues_HAModeAndGateways(t *testing.T) { +func TestLoadStackValues_Gateways(t *testing.T) { dir := t.TempDir() base, env := dir+"/base.yaml", dir+"/prod.yaml" require.NoError(t, writeFile(base, []byte(` @@ -598,13 +598,9 @@ ingress: nats: {name: shared-gw, namespace: envoy-gateway-system} `))) got := LoadStackValues([]string{base, env}) - assert.Equal(t, "enforced", got.HAMode) assert.Equal(t, []string{"envoy-gateway-system/grpc-gw", "envoy-gateway-system/shared-gw"}, got.Gateways, "sorted, distinct, and without the unused llmGrpc entry") got = LoadStackValues([]string{base}) - assert.Equal(t, "none", got.HAMode, "unset reads as none, as the stack template does") assert.Empty(t, got.Gateways) - - assert.Empty(t, LoadStackValues(nil).HAMode, "no stack read means no mode to report") } From f456c1eb90542dff0dd46525cfbae3e8f36318d1 Mon Sep 17 00:00:00 2001 From: rohithb Date: Fri, 2 Oct 2026 20:25:08 +0530 Subject: [PATCH 056/127] fix(nvcf-cli): time out check only on checks the budget stopped, keep the validator's cleanup command on an interrupt, grade a late validator on its Job, gate stack Gateways on the env file and the stack's own gates, send NGC_API_KEY to nvcr.io only, and report stale namespaces only when they hold install data Signed-off-by: rohithb --- .../examples/ci-pipelines.md | 2 +- .../reference/exit-codes.md | 6 +- .../nvcf-self-managed-cli/reference/flags.md | 11 +- src/clis/nvcf-cli/cmd/main_test.go | 11 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 239 +- .../cmd/self_hosted_check_scope_test.go | 210 +- .../self_hosted_check_validatorenv_test.go | 61 + .../agentskill/skilldata_generated.go | 6511 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 197 +- .../clustervalidator_lifecycle_test.go | 275 +- .../selfhosted/clustervalidator_test.go | 5 +- .../internal/selfhosted/inotify_probe.go | 16 + .../internal/selfhosted/inotify_probe_test.go | 46 + .../internal/selfhosted/miniapiserver_test.go | 124 +- .../nvcf-cli/internal/selfhosted/preflight.go | 96 +- .../internal/selfhosted/preflight_test.go | 108 + .../internal/selfhosted/progress/event.go | 5 +- .../selfhosted/progress/render_jsonl.go | 21 +- .../selfhosted/progress/render_jsonl_test.go | 30 + .../internal/selfhosted/progress/select.go | 26 +- .../selfhosted/progress/select_test.go | 31 + .../internal/selfhosted/pullsecret.go | 14 +- .../internal/selfhosted/pullsecret_test.go | 18 + .../internal/selfhosted/registry_cred.go | 29 +- .../internal/selfhosted/registry_cred_test.go | 55 +- .../internal/selfhosted/stale_namespace.go | 122 +- .../selfhosted/stale_namespace_test.go | 134 +- .../internal/selfhosted/validatortag.go | 39 +- .../internal/selfhosted/validatortag_test.go | 38 +- 30 files changed, 4903 insertions(+), 3578 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index 1376210db0..ea697848a9 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -22,7 +22,7 @@ Notes: - `--non-interactive --token=$JWT` is required in CI; never use interactive `init`. - Always `--json` for machine-parsing. - `--json` writes JSONL to stderr, not stdout, so redirect with `2>&1 >/dev/null` before a parser. -- `check` reports its verdict in one `final` event, with `success: false` when any check failed at error severity. Gate on that event: `check` never emits `phase_failed`, so a condition on it always passes. Requiring the `final` event also fails the step when the command dies before emitting it. +- `check` reports its verdict in one `final` event, with `success: false` when any check failed at error severity or the run timed out (exit `5`, `verdict: "timeout"`). Gate on that event: `check` never emits `phase_failed`, so a condition on it always passes. Requiring the `final` event also fails the step when the command dies before emitting it. - Slurp with `jq -s` before testing a condition. Without it `jq -e` takes its exit status from the last event alone. - stderr also carries plain-text notices, so filter to JSON lines. Do not add `--show-logs` here: it appends a non-JSON transcript to the same stream. - Final status check gates downstream stages on `verdict == "healthy"`. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 5050ca05c9..6477cae918 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,9 +6,9 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent; a cluster-validator that could not run (RBAC denied, image pull failure, timeout). Warning-severity results exit `0` | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent; a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image). Warning-severity results exit `0` | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | -| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but didn't pass before duration; the check's time budget ran out before every check ran (those report as not run) | +| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short). A check that already had its result keeps it, so a validator's own failure is exit `2` | | `130` | Cancelled by SIGINT/SIGTERM | User Ctrl-C; CI budget exceeded; pod evicted | ## How an agent should react @@ -24,4 +24,4 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. ## Where to find more detail -`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. +`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 3ce3d8ebc2..2a8a80adcf 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -20,7 +20,7 @@ | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | | `--output=text\|json` | Legacy alias for `--json` (deprecated, removed in next major) | `text` | | `--plain` | Force plain streaming output | auto-detect | -| `--wait DURATION` | `check` only; poll until the check passes or DURATION runs out (exit `5`). A warning that is expected to clear, such as a rollout in progress, keeps it polling. Cannot be combined with `--no-cleanup` | - | +| `--wait DURATION` | `check` only; poll until the check passes or DURATION runs out (exit `5`, `final` with `success: false`). A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. Cannot be combined with `--no-cleanup` | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ | derived from `base_http_url` | @@ -46,13 +46,18 @@ The validator runs as a Job in the cluster being checked. The CLI creates a ServiceAccount, ClusterRole, and ClusterRoleBinding for it and removes them after the run, so the kubeconfig context needs permission to manage those. +When `check` reads the stack's environment file, `environments/.yaml` +from `--control-plane-stack` or a stack checkout above the working directory, +it tells the validator which Gateways the stack wires NVCF routes to. Without +that file it does not, and the validator finds them from the routes. + | Flag | Purpose | Default | |---|---|---| -| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry; if no tag can be discovered, the probe is skipped with a note to pin one. Unset everywhere skips the probe with a warning | - | +| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere skips the probe with a warning | - | | `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed only when neither the image nor the stack names a registry. The validator dials from a pod with no proxy, so an unreachable registry is a warning; the local credential check is what fails a registry the install cannot pull from. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | -| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on an NGC registry, it mints one from `NGC_API_KEY` | auto-detect | +| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on `nvcr.io`, it mints one from `NGC_API_KEY`. The key is never sent to another registry, other NVIDIA registries included; those use your docker login | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A later check reclaims them after 24 hours; the result prints the `kubectl delete` command that removes them now | `false` | | `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 5092c6b78a..a92be42017 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -28,6 +28,7 @@ import ( "github.com/spf13/viper" "nvcf-cli/internal/selfhosted" + "nvcf-cli/internal/state" ) // Default-stub every seam that would otherwise reach the developer's cluster or @@ -49,6 +50,16 @@ func TestMain(m *testing.M) { panic(err) } _ = os.Setenv("HOME", home) + // The state manager resolved its path from HOME at package init, before + // the swap above, so it still points at the real ~/.nvcf-cli.state. + state.ResetDefaultStateManager() + // A developer's own toggles would change what every check test runs. + for _, k := range []string{ + "NVCF_CLI_SELFHOSTED_LOCAL_ONLY", "NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION", + "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "NVCF_CLI_SELFHOSTED_FORCE_FAIL", + } { + _ = os.Unsetenv(k) + } resolveLatestValidatorTagForSelfHosted = func(_ context.Context, _ string) (string, bool) { return "", false } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index ed077441d3..966adfb3c6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -18,6 +18,7 @@ limitations under the License. package cmd import ( + "cmp" "context" "fmt" "io" @@ -183,18 +184,20 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if anyValidatorIsTargeted { clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(c.Context()) } - clusterValidatorWillRun := anyValidatorIsTargeted && clusterValidatorImage != "" + // An image whose tag did not resolve is still sized for: --wait resolves + // it again on every poll, and the validator runs once it does. + clusterValidatorConfigured := anyValidatorIsTargeted && (clusterValidatorImage != "" || unresolvedImage != "") - outerTimeout := 2 * time.Minute - if clusterValidatorWillRun { - // A role's share is a minute for the probes that run first, plus the + outerTimeout := checkProbeShare + if clusterValidatorConfigured { + // A role's share is the time for the probes that run first, plus the // longest a validator can take, which includes the wait after its own // timeout for the Job's deadline to end the pod. Sizing on the // validator's timeout alone ran the budget out while that wait was // still in progress, reporting "not every check ran" in place of the // validator's own failure. ModeSingle runs both validators in turn; // ModeSplit runs them in parallel, so one share covers both. - perRole := time.Minute + selfhosted.ClusterValidatorRunCeiling() + perRole := checkProbeShare + selfhosted.ClusterValidatorRunCeiling() if mode == kubectx.ModeSingle && controlPlaneIsTargeted(mode) && computePlaneIsTargeted(mode) { outerTimeout = 2 * perRole } else { @@ -248,8 +251,8 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { case skipClusterValidation: fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (--skip-cluster-validation)") case unresolvedImage != "": - fmt.Fprintf(c.ErrOrStderr(), "note: cluster-validator skipped (could not resolve a tag for %s; "+ - "pin cluster_validator_image to a tag)\n", unresolvedImage) + // Reported as a failed check row instead: a note on stderr is + // lost to a consumer of the JSON stream. case clusterValidatorImage == "": fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (cluster_validator_image not set in nvcf-cli config)") } @@ -268,8 +271,10 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // --cluster-validator-registries extras independently of the image config. if !localOnly { extraRegistries := configuredValidatorRegistries() + // The configured image when its tag did not resolve: its registry, + // and the repository the credentials must reach, are the same. credEntries = selfhosted.EnumerateRegistries( - clusterValidatorImage, resolveStackValuesFiles(), extraRegistries, + cmp.Or(clusterValidatorImage, unresolvedImage), resolveStackValuesFiles(), extraRegistries, ) if len(credEntries) > 0 { registryChecker = newRegistryCredentialCheckerForSelfHosted() @@ -284,7 +289,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } // A quit key in the dashboard cancels the run the way a signal does. - sink, err := selectCheckRenderer(c.ErrOrStderr(), selfHostedWait != "", stop) + sink, err := selectCheckRendererFn(c.ErrOrStderr(), selfHostedWait != "", stop) if err != nil { return err } @@ -295,8 +300,16 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // An interrupted run still ends the stream with a final event, marked // cancelled as up marks its own, so a --json consumer is not left waiting // for one. Emitted on a fresh ctx: the run's ctx is already cancelled. - exitInterrupted := func() error { + // A check that kept objects in the cluster, the validator whose pod + // would not stop, says how to remove them; repeat it on stderr, since an + // interrupt may already have closed the dashboard. + exitInterrupted := func(results []selfhosted.CheckResult) error { _ = sink.Emit(context.Background(), progress.Final{Cancelled: true}) + for _, r := range results { + if r.Cleanup != "" { + fmt.Fprintf(c.ErrOrStderr(), "note: %s left objects in the cluster; %s\n", r.ID, r.Cleanup) + } + } return &ExitCodeError{Code: 130, Msg: "interrupted"} } @@ -304,8 +317,14 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { runOnce := func() []selfhosted.CheckResult { var results []selfhosted.CheckResult + if unresolvedImage != "" { + // Discovery fails transiently too, and each --wait poll is a new + // chance to run the validator. + clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(ctx) + } if checkPre || checkAll || checkControlPlane || checkComputePlane { - results = append(results, runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage)...) + results = append(results, + runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage, unresolvedImage)...) } // Inject force-fail seam for tests. if os.Getenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL") != "" { @@ -320,22 +339,23 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { return results } - // The outer budget ran out during a run: the checks it did not reach are - // already error rows, so the verdict is a timeout rather than whatever - // the partial set would grade as. + // The outer budget stopped a check: one never started, or ran out of time + // while it ran. Its row is no finding, so the verdict is a timeout rather + // than whatever the partial set would grade as. A budget that ran out + // only after every check had its result changes nothing. exitBudgetSpent := func() error { - emitCheckFinal(context.Background(), sink, lastResults) + emitCheckTimeout(sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - return &ExitCodeError{Code: 5, Msg: "timed out: the check budget ran out before every check ran"} + return &ExitCodeError{Code: 5, Msg: "timed out: the check budget ran out before every check finished"} } if selfHostedWait == "" { // Single-shot mode. lastResults = runOnce() if interrupted() { - return exitInterrupted() + return exitInterrupted(lastResults) } - if ctx.Err() != nil { + if anyCutShort(lastResults) { return exitBudgetSpent() } emitCheckFinal(ctx, sink, lastResults) @@ -356,19 +376,24 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { ticker := time.NewTicker(5 * time.Second) defer ticker.Stop() + // Every exit 5 reports success:false, so a gate on the final event agrees + // with the exit code: a run still waiting on a rollout has not passed. waitTimeout := func() error { - emitCheckFinal(context.Background(), sink, lastResults) + emitCheckTimeout(sink, lastResults) maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} + if anyFailed(lastResults) { + return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} + } + return &ExitCodeError{Code: 5, Msg: "wait timeout: a rollout was still in progress after " + selfHostedWait} } for { lastResults = runOnce() if interrupted() { - return exitInterrupted() + return exitInterrupted(lastResults) } - // An iteration that overran the budget ran on a dead context, and its - // results are incomplete: never a pass. - if ctx.Err() != nil { + // An iteration the budget cut short has incomplete results: never a + // pass. + if anyCutShort(lastResults) { return exitBudgetSpent() } if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults) { @@ -392,13 +417,50 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // continue polling case <-ctx.Done(): if interrupted() { - return exitInterrupted() + return exitInterrupted(lastResults) } return waitTimeout() } } } +// validatorStackValues returns the stack values forwarded to the validator, or +// none unless the install's environment file was read from the stack the +// command points at: a local --control-plane-stack, or with no stack flag the +// checkout found above the working directory. helmfile refuses to install +// without that file, so base.yaml alone does not describe the install. With a +// remote stack, what a walk up from the working directory finds is another +// stack. Another stack's Gateways would have the validator judge Gateways the +// install never created. +func validatorStackValues() selfhosted.StackValues { + dir := localStackDir(selfHostedControlPlaneStack) + if selfHostedControlPlaneStack != "" && dir == "" { + return selfhosted.StackValues{} + } + files := resolveStackValuesFiles() + env := resolveStackEnv() + ".yaml" + for _, f := range files { + if filepath.Base(f) == env && (dir == "" || isUnder(dir, f)) { + return selfhosted.LoadStackValues(files) + } + } + return selfhosted.StackValues{} +} + +// isUnder reports whether path is inside dir. +func isUnder(dir, path string) bool { + absDir, err := filepath.Abs(dir) + if err != nil { + return false + } + absPath, err := filepath.Abs(path) + if err != nil { + return false + } + rel, err := filepath.Rel(absDir, absPath) + return err == nil && rel != ".." && !strings.HasPrefix(rel, ".."+string(filepath.Separator)) +} + // resolveStackValuesFiles returns the stack values files preflight reads, in // the order helmfile layers them: base.yaml first, then the environment file // over it. Returns nil when no stack is found. @@ -618,6 +680,9 @@ func maybeShowClusterValidatorLogs(w io.Writer, results []selfhosted.CheckResult } } +// selectCheckRendererFn is a test seam over selectCheckRenderer. +var selectCheckRendererFn = selectCheckRenderer + func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { if !wait && !selfHostedJSON && !selfHostedPlain && !selfHostedAccessible && checkWriterIsTTY(w) { return progress.NewCheckOneShotRenderer(w, progress.ModelOpts{ @@ -653,7 +718,10 @@ func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventS // mode is the already-resolved kubectx.Mode (hoisted to the caller so image // resolution and timeout sizing share the same answer). clusterValidatorImage // is the already-resolved validator image (empty when not configured). -func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, mode kubectx.Mode, clusterValidatorImage string) []selfhosted.CheckResult { +func runPreflightByRole( + ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, mode kubectx.Mode, + clusterValidatorImage, unresolvedImage string, +) []selfhosted.CheckResult { // LocalOnly: skip all cluster probes. if cfg.LocalOnly { return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{}, sink) @@ -696,8 +764,7 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin // The control-plane validator probes the same registries, with the same // criticality, as the local credential check, extras included. registries := cfg.Registries - validatorEnv := clusterValidatorJobEnv( - selfhosted.LoadStackValues(resolveStackValuesFiles())) + validatorEnv := clusterValidatorJobEnv(validatorStackValues()) // Validated before the run starts. validatorTolerations, _ := configuredValidatorTolerations() cpValidatorEnv := validatorEnvForRole(validatorEnv, checkControlPlane) @@ -739,16 +806,17 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if runControlPlane { eg.Go(func() error { rc := selfhosted.RoleConfig{ - KubeContext: selfHostedControlPlaneContext, - ClusterValidator: cpClusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: cpValidatorEnv, - ClusterValidatorTolerations: validatorTolerations, - ClusterValidatorRegistries: registries, - StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedControlPlaneStack), + KubeContext: selfHostedControlPlaneContext, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: cpValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + ClusterValidatorUnresolvedImage: unresolvedImage, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedControlPlaneStack), } cpResults = selfhosted.RunPreflightForRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) return nil @@ -757,17 +825,18 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if runComputePlane { eg.Go(func() error { rc := selfhosted.RoleConfig{ - KubeContext: selfHostedComputePlaneContext, - SISURL: icmsURL, - InotifyProber: inotifyProber, - ClusterValidator: clusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: gpuValidatorEnv, - ClusterValidatorTolerations: validatorTolerations, - StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedComputePlaneStack), + KubeContext: selfHostedComputePlaneContext, + SISURL: icmsURL, + InotifyProber: inotifyProber, + ClusterValidator: clusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: gpuValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + ClusterValidatorUnresolvedImage: unresolvedImage, + StaleNamespaceProber: staleNSProber, + StackDir: localStackDir(selfHostedComputePlaneStack), } gpuResults = selfhosted.RunPreflightForRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -807,33 +876,35 @@ func runPreflightByRole(ctx context.Context, cfg selfhosted.PreflightConfig, sin if runControlPlane { cpRC := selfhosted.RoleConfig{ - SISURL: icmsURL, - ClusterValidator: cpClusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: cpValidatorEnv, - ClusterValidatorTolerations: validatorTolerations, - ClusterValidatorRegistries: registries, - StaleNamespaceProber: staleForControlPlane, - StackDir: localStackDir(selfHostedControlPlaneStack), - ExtraStaleNamespaces: cpExtraNamespaces, + SISURL: icmsURL, + ClusterValidator: cpClusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: cpValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + ClusterValidatorUnresolvedImage: unresolvedImage, + ClusterValidatorRegistries: registries, + StaleNamespaceProber: staleForControlPlane, + StackDir: localStackDir(selfHostedControlPlaneStack), + ExtraStaleNamespaces: cpExtraNamespaces, } results = append(results, selfhosted.RunPreflightForRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) } if runComputePlane { gpuRC := selfhosted.RoleConfig{ - SISURL: icmsURL, - InotifyProber: inotifyProber, - ClusterValidator: clusterValidator, - ClusterValidatorImage: clusterValidatorImage, - ClusterValidatorPullSecret: checkClusterValidatorPullSecret, - ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, - ClusterValidatorEnv: gpuValidatorEnv, - ClusterValidatorTolerations: validatorTolerations, - StaleNamespaceProber: staleForComputePlane, - StackDir: localStackDir(selfHostedComputePlaneStack), + SISURL: icmsURL, + InotifyProber: inotifyProber, + ClusterValidator: clusterValidator, + ClusterValidatorImage: clusterValidatorImage, + ClusterValidatorPullSecret: checkClusterValidatorPullSecret, + ClusterValidatorNoCleanup: checkClusterValidatorNoCleanup, + ClusterValidatorEnv: gpuValidatorEnv, + ClusterValidatorTolerations: validatorTolerations, + ClusterValidatorUnresolvedImage: unresolvedImage, + StaleNamespaceProber: staleForComputePlane, + StackDir: localStackDir(selfHostedComputePlaneStack), } results = append(results, selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) @@ -971,6 +1042,29 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self }) } +// emitCheckTimeout emits the final event of a run that ended in a timeout, +// exit 5. Nothing passed the gate, whatever the rows say, so success is false. +func emitCheckTimeout(sink progress.EventSink, results []selfhosted.CheckResult) { + passed, failed, _ := selfhosted.CountResults(results) + _ = sink.Emit(context.Background(), progress.Final{ + Success: false, + Verdict: "timeout", + TotalChecks: len(results), + PassedCount: passed, + FailedCount: failed, + }) +} + +// anyCutShort reports a check the run's budget stopped before it finished. +func anyCutShort(results []selfhosted.CheckResult) bool { + for _, r := range results { + if r.CutShort { + return true + } + } + return false +} + func isBlockingFailure(r selfhosted.CheckResult) bool { return r.IsBlockingFailure() } @@ -986,6 +1080,11 @@ var checkPreflightTools = selfHostedPreflightTools // checkBudget is a test seam over the command's outer time budget. var checkBudget = func(d time.Duration) time.Duration { return d } +// checkProbeShare is the budget for the checks that run before a validator, +// and the whole budget of a run without one. The slowest of them, the node +// inotify probe, is bounded inside it. +const checkProbeShare = 2 * time.Minute + // anyWarningToWaitOn reports a warning expected to clear by itself, such as a // rollout the validator saw in progress. --wait keeps polling on it; a single // run still exits 0. diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index bd7327c2e7..8ece826767 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -20,8 +20,12 @@ package cmd import ( "bytes" "context" + "encoding/json" + "errors" + "io" "net/http" "net/http/httptest" + "strings" "sync" "sync/atomic" "testing" @@ -32,6 +36,7 @@ import ( "github.com/stretchr/testify/require" "nvcf-cli/internal/selfhosted" + "nvcf-cli/internal/selfhosted/progress" ) // runCheckRecording runs `self-hosted check` in ModeSingle with the given @@ -172,6 +177,40 @@ func holdUntilDone(ctx context.Context) selfhosted.ClusterValidatorResult { return selfhosted.ClusterValidatorResult{Err: ctx.Err()} } +// checkEvents returns the JSON events of kind a --json run wrote to stderr, +// in order. +func checkEvents(t *testing.T, stderr, kind string) []map[string]any { + t.Helper() + var out []map[string]any + for _, line := range strings.Split(stderr, "\n") { + var m map[string]any + if strings.HasPrefix(line, "{") && json.Unmarshal([]byte(line), &m) == nil && m["event"] == kind { + out = append(out, m) + } + } + return out +} + +// finalEvent returns the run's final event. +func finalEvent(t *testing.T, stderr string) map[string]any { + t.Helper() + finals := checkEvents(t, stderr, "final") + require.Len(t, finals, 1, "a run ends with exactly one final event") + return finals[0] +} + +// validatorRow returns the cluster-validator check_completed event. +func validatorRow(t *testing.T, stderr string) map[string]any { + t.Helper() + for _, e := range checkEvents(t, stderr, "check_completed") { + if e["id"] == "cluster-validator" { + return e + } + } + t.Fatalf("no cluster-validator row in:\n%s", stderr) + return nil +} + // A run that outlives its budget is a timeout, never a pass: exit 5 with a // final event that says it failed, not success on whatever had run. func TestCheck_BudgetSpentIsATimeout(t *testing.T) { @@ -180,7 +219,10 @@ func TestCheck_BudgetSpentIsATimeout(t *testing.T) { var exitErr *ExitCodeError require.ErrorAs(t, err, &exitErr, "args %v", args) assert.Equal(t, 5, exitErr.Code, "args %v", args) - assert.Regexp(t, `"event":"final".*"success":false`, stderr, "args %v", args) + final := finalEvent(t, stderr) + assert.Equal(t, false, final["success"], "args %v", args) + assert.Equal(t, "timeout", final["verdict"], "args %v", args) + assert.Contains(t, validatorRow(t, stderr)["message"], "cut short: ", "args %v", args) } } @@ -201,32 +243,95 @@ func TestCheck_WaitPollsOnARolloutInProgress(t *testing.T) { assert.Equal(t, 2, calls, "the second run, after the rollout, ends the wait") } -// Results from an iteration that ran on a dead context are not a verdict, even -// when every row that did run passed; and a budget that runs out while --wait -// sleeps between polls is a timeout too. -func TestCheck_BudgetSpentIsATimeoutEvenWhenRowsPassed(t *testing.T) { - passOnDeadCtx := func(ctx context.Context) selfhosted.ClusterValidatorResult { - <-ctx.Done() - return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} - } - failFast := func(context.Context) selfhosted.ClusterValidatorResult { - return selfhosted.ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: control-plane\n"} - } +// A budget that runs out after a check has its result changes nothing: the +// result is the verdict. A validator that passed passes, and its own failure +// is exit 2, not a timeout that tells an agent to retry with a longer budget. +func TestCheck_ResultsInHandWhenTheBudgetEndsAreGraded(t *testing.T) { + ready := selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} for name, tc := range map[string]struct { - budget time.Duration - v func(context.Context) selfhosted.ClusterValidatorResult - args []string + result selfhosted.ClusterValidatorResult + args []string + wantCode int + wantVerdict string }{ - "passed on a dead context": {300 * time.Millisecond, passOnDeadCtx, []string{"--wait", "1m"}}, - "budget ends between polls": {3 * time.Second, failFast, []string{"--wait", "1m"}}, - "single run, dead-context pass": {300 * time.Millisecond, passOnDeadCtx, nil}, + "passed": {result: ready, wantVerdict: "ok"}, + "passed, --wait": {result: ready, args: []string{"--wait", "1m"}, wantVerdict: "ok"}, + "its own timeout": {result: selfhosted.ClusterValidatorResult{Err: errors.New("the validator did not finish within 5m0s")}, wantCode: 2, wantVerdict: "failed"}, } { - err, stderr := runCheckWithBudget(t, tc.budget, tc.v, tc.args...) - var exitErr *ExitCodeError - require.ErrorAs(t, err, &exitErr, name) - assert.Equal(t, 5, exitErr.Code, name) - assert.Contains(t, stderr, `"event":"final"`, name) + err, stderr := runCheckWithBudget(t, 300*time.Millisecond, func(ctx context.Context) selfhosted.ClusterValidatorResult { + <-ctx.Done() + return tc.result + }, tc.args...) + if tc.wantCode == 0 { + require.NoError(t, err, name) + } else { + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr, name) + assert.Equal(t, tc.wantCode, exitErr.Code, name) + } + final := finalEvent(t, stderr) + assert.Equal(t, tc.wantCode == 0, final["success"], name) + assert.Equal(t, tc.wantVerdict, final["verdict"], name) + } +} + +// A budget that runs out while --wait sleeps between polls is a timeout, and +// says the checks were still failing. +func TestCheck_BudgetEndingBetweenPollsIsATimeout(t *testing.T) { + err, stderr := runCheckWithBudget(t, 2*time.Second, func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: control-plane\n"} + }, "--wait", "1m") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 5, exitErr.Code) + assert.Contains(t, exitErr.Msg, "checks still failing") + final := finalEvent(t, stderr) + assert.Equal(t, false, final["success"]) + assert.Equal(t, "timeout", final["verdict"]) +} + +// A --wait that ends with a rollout still in progress has not passed: exit 5 +// with success false, so a gate on the final event agrees with the exit code. +// The row that kept it polling is marked transient, and nothing failed. +func TestCheck_WaitTimeoutOnARolloutIsNotASuccess(t *testing.T) { + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\n" + + "nvcf/api: rollout in progress (updated: 2/3)\nCluster is NVCF-Ready (with warnings)\n"} + }, "--wait", "1s") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 5, exitErr.Code) + assert.Contains(t, exitErr.Msg, "a rollout was still in progress") + assert.Equal(t, true, validatorRow(t, stderr)["transient"]) + final := finalEvent(t, stderr) + assert.Equal(t, false, final["success"]) + assert.Equal(t, "timeout", final["verdict"]) + assert.EqualValues(t, 0, final["failedCount"]) +} + +// The dashboard's quit key interrupts the run as a signal does: exit 130. A +// validator that kept objects in the cluster still says how to remove them, +// on stderr too, as the dashboard may already be gone. Wiring the key to the +// budget's cancel instead read as a finished run. +func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { + prev := selectCheckRendererFn + t.Cleanup(func() { selectCheckRendererFn = prev }) + quit := make(chan func(), 1) + selectCheckRendererFn = func(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { + quit <- onQuit + return prev(w, wait, onQuit) } + err, stderr := runCheckWithBudget(t, time.Minute, func(ctx context.Context) selfhosted.ClusterValidatorResult { + (<-quit)() + <-ctx.Done() + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", LeftBehind: true} + }) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) + assert.Equal(t, true, finalEvent(t, stderr)["cancelled"]) + assert.Contains(t, stderr, "note: cluster-validator left objects in the cluster; the validator pod was still running") + assert.Contains(t, stderr, "nvcf.nvidia.com/validator-run=run1") } // Each --wait poll is a new validator run, so --no-cleanup would keep a full @@ -259,16 +364,61 @@ func passingPreflightTools() []selfhosted.BinarySpec { } // An unpinned validator image whose tag cannot be discovered is not launched: -// the kubelet would pull :latest, which the repository does not publish. The -// run skips the validator and says to pin a tag. -func TestCheck_UnresolvedValidatorTagIsSkippedWithANote(t *testing.T) { +// the kubelet would pull :latest, which the repository does not publish. +// Nothing was validated, so the run fails with a row that says to pin a tag, +// and the image's registry is still checked for credentials. +func TestCheck_UnresolvedValidatorTagFailsTheRun(t *testing.T) { + var mu sync.Mutex + var registries []string + prev := newRegistryCredentialCheckerForSelfHosted + newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { + return func(_ context.Context, registry, _ string, _ bool) error { + mu.Lock() + defer mu.Unlock() + registries = append(registries, registry) + return nil + } + } + t.Cleanup(func() { newRegistryCredentialCheckerForSelfHosted = prev }) calls := 0 - _, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { calls++ return selfhosted.ClusterValidatorResult{Passed: true} - }, "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator") + }, "--cluster-validator-image", "harbor.example.com/nvcf/cluster-validator") assert.Zero(t, calls, "the untagged image must not be launched") - assert.Contains(t, stderr, "could not resolve a tag for nvcr.io/nvidia/nvcf-byoc/cluster-validator") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 2, exitErr.Code) + row := validatorRow(t, stderr) + assert.Equal(t, "error", row["severity"]) + assert.Contains(t, row["message"], "could not resolve a tag for harbor.example.com/nvcf/cluster-validator") + assert.Equal(t, false, finalEvent(t, stderr)["success"]) + mu.Lock() + defer mu.Unlock() + assert.Contains(t, registries, "harbor.example.com") +} + +// The tag is resolved again on every --wait poll, so a discovery failure that +// clears lets the validator run. +func TestCheck_WaitResolvesTheValidatorTagAgainEachPoll(t *testing.T) { + prev := resolveLatestValidatorTagForSelfHosted + t.Cleanup(func() { resolveLatestValidatorTagForSelfHosted = prev }) + var resolves atomic.Int32 + resolveLatestValidatorTagForSelfHosted = func(_ context.Context, image string) (string, bool) { + // Before the loop, and on the first poll. + if resolves.Add(1) <= 2 { + return "", false + } + return image + ":1.2.3", true + } + var images []string + err, _ := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + images = append(images, "ran") + return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + }, "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator", "--wait", "30s") + require.NoError(t, err) + assert.Len(t, images, 1, "the second poll ran the validator") + assert.EqualValues(t, 3, resolves.Load()) } func TestImageRefIsPinned(t *testing.T) { @@ -300,6 +450,6 @@ func TestCheck_BudgetCoversEachValidatorsFullRun(t *testing.T) { {args: []string{"--pre"}, validators: 2}, } { _, _ = runCheckWithBudget(t, time.Minute, passNow, tc.args...) - assert.GreaterOrEqual(t, requestedBudget, tc.validators*ceiling+time.Minute, "args %v", tc.args) + assert.GreaterOrEqual(t, requestedBudget, tc.validators*ceiling+checkProbeShare, "args %v", tc.args) } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index e45a90f700..8860b10c6a 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -20,6 +20,8 @@ package cmd import ( "bytes" "context" + "os" + "path/filepath" "sync" "testing" @@ -272,3 +274,62 @@ func TestParseToleration(t *testing.T) { assert.Error(t, err, in) } } + +// Stack values reach the validator only when the install's environment file +// was read from the stack the command points at. helmfile refuses to install +// without that file, so base.yaml alone does not describe the install, and a +// stack found above the working directory is not a remote stack the command +// was given. Another stack's Gateways would have the validator fail ones the +// install never created. +func TestCheck_StackGatewaysNeedTheEnvironmentFile(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_GATEWAY_NAMES", "") + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + stack := t.TempDir() + envDir := filepath.Join(stack, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "base.yaml"), []byte(` +ingress: + gatewayApi: + enabled: true + gateways: + shared: {name: nvcf-gateway, namespace: envoy-gateway} + grpc: {name: nvcf-gateway, namespace: envoy-gateway} +`), 0o644)) + prev := newClusterValidatorForSelfHosted + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + run := func(stackFlag string) map[string]string { + resetCheckFlags(t) + var got map[string]string + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + got = p.Env + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + args := []string{"self-hosted", "check", "--control-plane", "--json", "--env", "prod", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"} + if stackFlag != "" { + args = append(args, "--control-plane-stack", stackFlag) + } + rootCmd.SetArgs(args) + _ = rootCmd.Execute() + require.NotNil(t, got, "the validator ran") + return got + } + + assert.NotContains(t, run(stack), "NVCF_GATEWAY_NAMES", "base.yaml without prod.yaml is not the install") + + require.NoError(t, os.WriteFile(filepath.Join(envDir, "prod.yaml"), []byte("global: {domain: example.com}\n"), 0o644)) + assert.Equal(t, "envoy-gateway/nvcf-gateway", run(stack)["NVCF_GATEWAY_NAMES"]) + + // The same stack found above the working directory is not the remote + // stack the command was given, nor a local one without environments. + t.Chdir(stack) + assert.NotContains(t, run("oci://registry.example.com/nvcf/stack:1.0.0"), "NVCF_GATEWAY_NAMES") + assert.NotContains(t, run(t.TempDir()), "NVCF_GATEWAY_NAMES") + assert.Equal(t, "envoy-gateway/nvcf-gateway", run("")["NVCF_GATEWAY_NAMES"], + "with no stack flag the checkout above the working directory is the stack") +} diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 645890d18e..c52bdc7b68 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,14 +31,14 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDYxMDcsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDcwNTYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlNWYyMDUxYTdmNGZmMGE5N2M0M2NmYmEy" + - "NzU0NDA3YTQzMGMwMDdlMmVkNzFmY2QxYzgxNTQwNmExYjNkYzI1IiwKICAgICAgInNpemUiOiAz" + - "NTQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiOGM5YTE4ZmY3ODk1MTZjYjlkM2Q5ODRi" + + "NzNmYzI0MjUyMjYxMjI0NzBmZjNjMzBlMTgzMThkNWJhMDFkNWJjIiwKICAgICAgInNpemUiOiAz" + + "NjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2M2E4MzUzMTIyYmE4MGUzNmE1" + - "NzY2ODI0Y2FlZjdhZDAzZjBlM2JhZjQ5Njc0ODVkYmZmZDE2ZTAwMDU3YzhjIiwKICAgICAgInNp" + - "emUiOiAyMjc0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4MDczZjViODU3ODU4MzBj" + - "ZjkzNTM3N2Q5N2FiNDM0YTBmODIxOGUyNGY3YzZlM2E0MjYxZjBlNThkOGFlODIwIiwKICAgICAg" + - "InNpemUiOiAxMzkxMQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxY2JiNWVkZDI3Nzc3Yjc1MzRk" + + "YWE3N2JhN2ViZWY1NmY0NGMyMTE0Y2IyOWM5MjMzZWYyMGE2MDcyNDZjYjc4IiwKICAgICAgInNp" + + "emUiOiAyNjEwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI5MWRiZjU4MzJkOGUwYzZk" + + "MDNiMTg0ZjM3ZGQ4NzZiYmQzYmVhNjRlZDZhZGVhMzk2MmNlYWNmZmM2NDkxNDhjIiwKICAgICAg" + + "InNpemUiOiAxNDQ3MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCM77XX1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCD0gGPhKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -561,3251 +561,3268 @@ const skillDataZipBase64 = "" + "ZS1wYXJzaW5nLgotIGAtLWpzb25gIHdyaXRlcyBKU09OTCB0byBzdGRlcnIsIG5vdCBzdGRvdXQs" + "IHNvIHJlZGlyZWN0IHdpdGggYDI+JjEgPi9kZXYvbnVsbGAgYmVmb3JlIGEgcGFyc2VyLgotIGBj" + "aGVja2AgcmVwb3J0cyBpdHMgdmVyZGljdCBpbiBvbmUgYGZpbmFsYCBldmVudCwgd2l0aCBgc3Vj" + - "Y2VzczogZmFsc2VgIHdoZW4gYW55IGNoZWNrIGZhaWxlZCBhdCBlcnJvciBzZXZlcml0eS4gR2F0" + - "ZSBvbiB0aGF0IGV2ZW50OiBgY2hlY2tgIG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgLCBzbyBh" + - "IGNvbmRpdGlvbiBvbiBpdCBhbHdheXMgcGFzc2VzLiBSZXF1aXJpbmcgdGhlIGBmaW5hbGAgZXZl" + - "bnQgYWxzbyBmYWlscyB0aGUgc3RlcCB3aGVuIHRoZSBjb21tYW5kIGRpZXMgYmVmb3JlIGVtaXR0" + - "aW5nIGl0LgotIFNsdXJwIHdpdGggYGpxIC1zYCBiZWZvcmUgdGVzdGluZyBhIGNvbmRpdGlvbi4g" + - "V2l0aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2" + - "ZW50IGFsb25lLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBzbyBm" + - "aWx0ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0IGFw" + - "cGVuZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5hbCBz" + - "dGF0dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhlYWx0" + - "aHkiYC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1YmVj" + - "dGwgYXBwbHlgLiBJbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwgbGV0IHRo" + - "ZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAgLSBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4gcmVu" + - "ZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkgPiByZW5k" + - "ZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0IGNv" + - "bW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29DRCBv" + - "ciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIgdG91" + - "Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hpY2gg" + - "bXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBzY3JpcHQ6" + - "CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlkPSRO" + - "Q0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9yZS1leGlz" + - "dGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMgTXVs" + - "dGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55IGNvbXB1" + - "dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVwbG95X2Nv" + - "bXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNURVI6IG5j" + - "cC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0gQ0xVU1RF" + - "UjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAgICAgLSBD" + - "TFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAgc2NyaXB0" + - "OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRD" + - "TFVTVEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAgICAgICAt" + - "LWljbXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FETUlOX0pX" + - "VAogICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFjaCBwYXJh" + - "bGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdhaW5zdCB0" + - "aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMjIFBsYW4t" + - "b25seSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjog" + - "JENJX1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAg" + - "ICAtIHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1u" + - "YW1lPSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24g" + - "fCB0ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNv" + - "bgogICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxg" + - "anNvblxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRz" + - "IDAgd2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3Rz" + - "IGVhY2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwgU" + - "m+5a2g0AANoNAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVz" + - "dGVyIHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBs" + - "YW5lIG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoK" + - "VGhlIGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUg" + - "aXMgcmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJv" + - "bCBwbGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09O" + - "RklHPWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + - "fCBrdWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9s" + - "LXBsYW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21wdXRlIHBs" + - "YW5lOgpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBhZG1pbkBn" + - "cHUtZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2Yu" + - "ZXhhbXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1ub24taW50" + - "ZXJhY3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRlIHBsYW5l" + - "cyByZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0k" + - "TkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNbXSB8IHtu" + - "YW1lOiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENvbXB1dGUt" + - "cGxhbmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3RsIGFj" + - "Y2VzcyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBpcyBv" + - "cGVyYXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBwbGFu" + - "ZSBmb3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1YmxpYyBh" + - "cGkgZ2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMgcmVh" + - "Y2hhYmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3MgbmVl" + - "ZGVkKToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxlLmNv" + - "bQoKIyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToKbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20g" + - "XAogIC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5u" + - "dmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVyYWN0" + - "aXZlCgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29udHJv" + - "bC1wbGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBz" + - "Oi8vaWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVj" + - "aWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5l" + - "cyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVu" + - "Y3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95" + - "bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VU" + - "eXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJ" + - "bnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoK" + - "VGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0" + - "cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNo" + - "b29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZh" + - "bi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQg" + - "Y29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlk" + - "PSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVyc1td" + - "LmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNvbXB1" + - "dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSByZWFk" + - "IE5BTUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBz" + - "dGF0dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVzdGVy" + - "LCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUgPCBj" + - "bHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRpdmUg" + - "ZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24ndCBu" + - "ZWVkIGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxh" + - "bmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJv" + - "bCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmluZyBz" + - "b21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2FpbnN0" + - "IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRyb2wg" + - "cGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2VyIG11" + - "c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5lKiog" + - "aW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4aXN0" + - "aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tYCku" + - "Ci0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBhYmls" + - "aXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJvbCBw" + - "bGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRoZSBB" + - "UEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3RsIGFj" + - "Y2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9uZS4p" + - "Ci0gQSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIGFs" + - "cmVhZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVn" + - "aXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNrLgoKIyMg" + - "U3RlcHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVuaXF1" + - "ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Egc2Nv" + - "cGUKICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhlIG5ldyBH" + - "UFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2lj" + - "bXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJM" + - "CiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJlLWZsaWdo" + - "dCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAg" + - "ICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAgIFRo" + - "aXMgdmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9kZSBsYWJl" + - "bHMgYXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRkcmVzcyBh" + - "bnkgZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1dGUtcGxh" + - "bmVgOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBcCiAg" + - "ICAgLS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMgaXMgYSBz" + - "ZXBhcmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21wdXRlLXBs" + - "YW5lLXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1IChyZWdp" + - "c3RlciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24gdGhlIG5l" + - "dyBjb21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxhbmUgYW5k" + - "IGRvZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUgY29udHJv" + - "bCBwbGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10b2tlbmAg" + - "aXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50IG9uZSBm" + - "cm9tLgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0" + - "ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHki" + - "YC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBu" + - "b3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5kLWludm9r" + - "ZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0" + - "byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMg" + - "V2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGFk" + - "ZC1jb21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4aXN0aW5n" + - "YCBzZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBhbmQgcmV1" + - "c2UgaXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0aGUg" + - "c2FtZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0aGF0" + - "IHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNzLgot" + - "ICoqRGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vjb25k" + - "IGF0dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUgcGxh" + - "bmUncyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21wdXRl" + - "IHBsYW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNvbmZp" + - "cm0gd2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVuIGlu" + - "IGRvdWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + - "Q0FfSUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUgcHJv" + - "Y2VlZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUNAAAFDQAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1biBh" + - "IHRhc2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4gbW9u" + - "aXRvciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBrZXlz" + - "CgpUaGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZvY2F0" + - "aW9uIHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKIyAt" + - "PiBmdW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBgCgpC" + - "b3RoIGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNrIGtl" + - "eToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0" + - "aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRlIGVh" + - "Y2gga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5" + - "IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPTho" + - "IC0tdmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQojIC0+" + - "IHRhc2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBrZXkg" + - "dmFsdWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQgdGhl" + - "IGtleSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBuZXZl" + - "ciB0aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVmb3Jl" + - "IHJ1bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwgdmVy" + - "aWZ5IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBzZXQ6" + - "CgogICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBl" + - "Y2hvIHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3Jl" + - "ZCBrZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAgcHl0" + - "aG9uMyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0aCgn" + - "fi8ubnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChzLmdl" + - "dCgnbnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRoZSBl" + - "eHBpcnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNoCiAg" + - "IG52Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNr" + - "IC0tZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAg" + - "YGBgCgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYgd2l0" + - "aG91dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHByZWZp" + - "eCDigJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNhdGlv" + - "bjoKCi0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5" + - "IG5vdCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVk" + - "IG9yIHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7" + - "IG5vIHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmlu" + - "ZSB0aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6" + - "CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNp" + - "ZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1Au" + - "R1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5l" + - "ckltYWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6" + - "ICJweXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRs" + - "aW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0t" + - "aW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBg" + - "YAoKQ2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNl" + - "IGNhbiBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJz" + - "ZXF1ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVp" + - "dmFsZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2Yt" + - "Y2xpIHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1" + - "PUgxMDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1u" + - "Y3AtbG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29u" + - "dGFpbmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJl" + - "c3VsdC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVz" + - "dGVyOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFp" + - "bmVyLmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50" + - "IHZhcmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xp" + - "IHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRh" + - "aW5lci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAK" + - "Cm9yIHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52" + - "aXJvbm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0s" + - "CiAgInNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3Iz" + - "dCJ9CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1" + - "cm5lZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVt" + - "LgoKIyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2Ug" + - "YGNvbnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAi" + - "c21va2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEw" + - "MCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6" + - "ICJuY3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlh" + - "LmNvbS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRs" + - "aW5nU3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0t" + - "aW5wdXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBo" + - "ZWxtQ2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgoj" + - "IyAzYi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRh" + - "c2sgdXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVw" + - "ZGF0ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFy" + - "ZSBhZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4g" + - "dGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRv" + - "IGNoYXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0" + - "YXNrIGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5H" + - "CmBgYAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVj" + - "ZW50IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2" + - "YWx1ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJS" + - "T1JFRGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENF" + - "RURFRF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3Ig" + - "cHJvZ3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNr" + - "IGV2ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwg" + - "Y2hlY2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyBy" + - "ZWdpc3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJ" + - "ZiB0aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5z" + - "IHRoZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3Qg" + - "dGhlIHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgK" + - "YGt1YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4K" + - "CiMjIDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0" + - "cmF0ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0" + - "YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9h" + - "ZCB0byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3Mg" + - "Y3JlZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRl" + - "cgp0aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1" + - "bHRzIDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0" + - "ZWQgaW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNr" + - "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0" + - "YXNrIHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNm" + - "LWNsaSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhl" + - "IHVzZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBp" + - "dHMgY3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHBy" + - "b21wdCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNp" + - "dCBsYXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5v" + - "dCBiZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVz" + - "ZWZ1bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNm" + - "LWNsaSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZh" + - "bWlseSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNs" + - "dXN0ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAg" + - "aW5kZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdp" + - "c3RlcmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVz" + - "LCBlbnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1o" + - "ZWxwZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkAAJ8Z" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9r" + - "ZSBhIGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9u" + - "IENSRUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5W" + - "T0tFLgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNP" + - "TiBmaWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0" + - "aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIu" + - "IElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQg" + - "b3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAi" + - "bmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAi" + - "PGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwK" + - "ICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNo" + - "byBmdW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1h" + - "dCI6ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAi" + - "dXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMi" + - "LAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xp" + - "IGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rp" + - "b24gSUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJ" + - "RHMg4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0" + - "aW9uIHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBg" + - "ZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxz" + - "W10ubGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhl" + - "IGV4YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0" + - "aCB0aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90" + - "IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpz" + - "b24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJ" + - "bWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAi" + - "LyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAi" + - "aGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwK" + - "ICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0" + - "YXR1c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxj" + - "b25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlz" + - "IjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRp" + - "bmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0" + - "b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFs" + - "ZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0t" + - "bmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQt" + - "Y29udGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1w" + - "b3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAg" + - "XAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAog" + - "IC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAog" + - "IC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9j" + - "b21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91" + - "bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kg" + - "c3RlcCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBt" + - "b2RlbCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + - "aW9uIHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZl" + - "cl9pZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+" + - "LHJvdXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpV" + - "c2UgdGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7" + - "IGNyZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5S" + - "YXRlTGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2As" + - "IGBNYCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5l" + - "IENMSSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBg" + - "MTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGlu" + - "ZSBtb2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBj" + - "aGFydCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRl" + - "bnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVu" + - "Y3Rpb24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + - "aWdgIGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + - "ZWAuIFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5k" + - "ZXJlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZp" + - "Y2UgcG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0" + - "IGZ1bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZh" + - "bHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhh" + - "bXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25m" + - "aXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5j" + - "ZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAg" + - "InByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAw" + - "MCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAK" + - "ICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUv" + - "dGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2Vy" + - "dmljZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAg" + - "ICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewog" + - "ICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwg" + - "Ii92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4i" + - "LAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0K" + - "YGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBj" + - "cmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJl" + - "bmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVh" + - "bHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAog" + - "IC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAg" + - "XAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdj" + - "Lm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50" + - "Z3ogXAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1t" + - "b2RlbD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlv" + - "bnN8L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmlu" + - "LHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hh" + - "cnQtc3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25m" + - "aWd1cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBg" + - "YGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9p" + - "ZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwK" + - "ICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMi" + - "OiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5Ijog" + - "MTAsCiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRl" + - "bnNvclBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdh" + - "eSByb3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5j" + - "dGlvbi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0Yg" + - "ZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFt" + - "IGNvbnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRo" + - "czoKCnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9u" + - "c2AgfCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEv" + - "cmVzcG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Ig" + - "c3RyZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVh" + - "bWluZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVk" + - "ZGluZ3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11" + - "c3QgYmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8g" + - "c2Vzc2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24Kewog" + - "ICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJk" + - "ZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0" + - "YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAg" + - "Im1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9" + - "CmBgYAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBp" + - "bnN0YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRj" + - "aCByZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + - "biBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29t" + - "bWFuZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZh" + - "dWx0IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBp" + - "cyBydW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUt" + - "cGxhbmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rp" + - "b25gIHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0" + - "aGUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlz" + - "c2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNm" + - "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24t" + - "bmFtZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1z" + - "dGctLi4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3Rh" + - "dGUgZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRv" + - "bid0IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZP" + - "S0UKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAi" + - "PHZlcl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpg" + - "YGBzaApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29u" + - "CiMg4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZp" + - "bGxlZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZv" + - "a2UgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApj" + - "dXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQv" + - "Y29tcGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZ" + - "fSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAg" + - "Im1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjog" + - "dHJ1ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAog" + - "ICAgICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3Bl" + - "bkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNv" + - "IHRoZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNl" + - "cyBBUEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9j" + - "YXRpb24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJl" + - "ciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u" + - "IiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4i" + - "LAogICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAg" + - "fScKYGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRw" + - "czovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9y" + - "aXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFw" + - "cGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1l" + - "ZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0n" + - "CmBgYAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1l" + - "bnQncyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQg" + - "c3VyZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9u" + - "ZSB3aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0t" + - "ZnVuY3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0g" + - "d2l0aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRl" + - "cGxveW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGlt" + - "ZXMgY2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kg" + - "b24gY29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0" + - "cykuIEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBj" + - "b21tYW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBg" + - "Z3B1YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5I" + - "MTAwXzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5j" + - "dGlvbidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUt" + - "cGxhbmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1" + - "YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFn" + - "ZVB1bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AD0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + - "bnN0YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGlu" + - "c3RhbGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmci" + - "LiBEb24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRp" + - "Y3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBg" + - "YAoKVGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0g" + - "KipgaGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5" + - "J3JlIGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQg" + - "bGF5ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog" + - "4oCUIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0" + - "IHdpbGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFs" + - "aXppbmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0g" + - "KipgZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNs" + - "dXN0ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93" + - "bmAqKiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBi" + - "ZSBkb3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4g" + - "RHJpbGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21w" + - "b25lbnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJh" + - "LTAgUG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaApr" + - "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxw" + - "b2Q+IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyAr" + - "IGxhc3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVz" + - "cyB0aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXBy" + - "b2dyZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlr" + - "ZWx5IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBv" + - "ZEluaXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0" + - "dWNrIGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVm" + - "YXVsdCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3Jh" + - "Z2VjbGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3Jh" + - "Z2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBg" + - "aGVsbSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNv" + - "bWUgYXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JE" + - "cyBub3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdh" + - "eS1yb3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFs" + - "bCBlbnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXBy" + - "b3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0" + - "ZS1uYW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNs" + - "dXN0ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBp" + - "c3N1ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3Rv" + - "cmVkIGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + - "c3Rlci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBw" + - "bGFuZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRo" + - "bSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIg" + - "cmVnaXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBw" + - "bGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4g" + - "fAp8IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpw" + - "c2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxk" + - "cyBpdCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0" + - "b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBp" + - "cykgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3Ip" + - "IHwgT2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUg" + - "Zm9sbG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3" + - "MDRgIHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBj" + - "b25maXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFz" + - "ZSBpbiByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZj" + - "YS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsg" + - "dGhlbiBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + - "ZXItaWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9y" + - "ZSBhbnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMg" + - "ZGVzdHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8g" + - "ZG8KCi0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0" + - "aWMgb25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUg" + - "dXNlciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBr" + - "dWJlY3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVs" + - "ZXRlcyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVy" + - "ZW50IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVz" + - "YCAvIGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5z" + - "dGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBm" + - "cm9tIHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBh" + - "IGZyZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlz" + - "IHRoZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIHRv" + - "cG9sb2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5l" + - "IGFuZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29u" + - "dHJvbCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9k" + - "dWN0aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNs" + - "dXN0ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1w" + - "bGVzOiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9k" + - "dWN0aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4" + - "dCBuYW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQcmVw" + - "YXJlIHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGsz" + - "ZC4gT25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRpYXRl" + - "bHkgY2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9pbnRz" + - "LiBGb3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQgYW5k" + - "CiAgIHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNl" + - "ciBiZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3QgYWxy" + - "ZWFkeSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVkIEdh" + - "dGV3YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3RhbmRh" + - "bG9uZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBseSAt" + - "ZiBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVhc2Vz" + - "L2Rvd25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFtZXNw" + - "YWNlIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNp" + - "cyBudmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAgIGZv" + - "ciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAg" + - "ICAga3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09dHJ1" + - "ZSAtLW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9jaTov" + - "L2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYxLjEu" + - "MyBcCiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBwbHlp" + - "bmcgdGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxlciBv" + - "d25zCiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVzdCB1" + - "bnRpbCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAgY29u" + - "ZmlndXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250cm9s" + - "bGVyIERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFnZSBv" + - "ciBleGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RFUl9O" + - "QU1FPSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5hbWUg" + - "IiRFS1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVzTmV0" + - "d29ya0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRwdXQg" + - "dGV4dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2FkLWJh" + - "bGFuY2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1ZWAg" + - "c2VsZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vr" + - "cy9sYXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3aXNl" + - "LCBhIHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQgQmFs" + - "YW5jZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRoYXQg" + - "dGhlIGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHBy" + - "b3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQgQmFs" + - "YW5jZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhlIGFw" + - "cGxpZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9s" + - "bGVyLiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAgbWFw" + - "IGJlZm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAg" + - "ICAgbG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90YXRp" + - "b25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXIt" + - "c2NoZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFXUyBj" + - "bG91ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRoOgoK" + - "ICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2" + - "aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgogICBg" + - "YGAKCiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2luZyBs" + - "b2FkIGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kgYG5s" + - "YmAgc2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0YXJn" + - "ZXQgdHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2Vydmlj" + - "ZQogICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3RzIG9u" + - "ZSBTZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUgQVdT" + - "IExvYWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kgU2Vy" + - "dmljZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2UgdGhl" + - "IG1hcCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZvcmUg" + - "YXBwbHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6IHVz" + - "ZSBBV1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAtIDw8" + - "RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBraW5k" + - "OiBFbnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNlOiBl" + - "bnZveS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlwZTog" + - "S3ViZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgogICAg" + - "ICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMu" + - "aW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2Vydmlj" + - "ZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBlOiAi" + - "aW5zdGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9h" + - "ZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJzaW9u" + - "OiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwogICBt" + - "ZXRhZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBnYXRl" + - "d2F5LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0ZXJz" + - "UmVmOgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDogRW52" + - "b3lQcm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjog" + - "Z2F0ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFkYXRh" + - "OgogICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQog" + - "ICBzcGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0g" + - "bmFtZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBh" + - "bGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVj" + - "dG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAg" + - "ICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHBy" + - "b3RvY29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAg" + - "ICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2Vs" + - "ZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0" + - "Zm9ybTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVzdCBi" + - "ZSB1bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lTZXJ2" + - "aWNlLmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUgZ2Vu" + - "ZXJhdGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwogICBv" + - "biB0aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMg" + - "YW5kIHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFN" + - "RT0ibnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0" + - "IFJFR0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52" + - "b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAg" + - "IGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQg" + - "R1JQQ19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dB" + - "VEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAg" + - "IC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3Rs" + - "IC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZ" + - "X05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0x" + - "MG0KCiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9O" + - "QU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29u" + - "cGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRF" + - "V0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0" + - "ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + - "cmVzc2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0IDEK" + - "ICAgdGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNUQUNL" + - "X0RPTUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAgdG8g" + - "dGhlIGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4KICAg" + - "Rm9yIHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUgR2F0" + - "ZXdheSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZjZi1j" + - "bGkueWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIK" + - "ICAgaW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191cmw6" + - "ICIke0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6ICJo" + - "dHRwOi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7U1RB" + - "Q0tfRE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZva2Vf" + - "aG9zdDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2VydmljZV9p" + - "ZDogIm52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFwaV9r" + - "ZXlzX2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAic3Zj" + - "QG52Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAgYGBg" + - "CgozLiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9s" + - "b2d5OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1p" + - "bkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1q" + - "c29uIHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3ViZWN0bCBv" + - "biBjb21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJl" + - "IFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWljbXMt" + - "dXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBqcSAtYyAu" + - "CiAgIGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZhaWxzIChg" + - "InBhc3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBtZXNzYWdl" + - "YCArIGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0" + - "YWxsIHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRl" + - "ZC4gYG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIg" + - "ZG9lcyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91" + - "Z2ggdGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRl" + - "LW9ubHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVu" + - "dCBzdHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1j" + - "bHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0i" + - "IFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9y" + - "IHNwbGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBz" + - "aAogICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgog" + - "ICBleHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtD" + - "T05UUk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7" + - "Q09NUFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJf" + - "TkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVH" + - "SU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vf" + - "c3RhcnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3By" + - "b2dyZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJj" + - "ZSBjb3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNp" + - "c3RzIGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5k" + - "IHN1cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAg" + - "RGVjaWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBu" + - "b3cgd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVy" + - "U2VjYCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1l" + - "ZGlhdGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAg" + - "YWN0IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmlu" + - "dCBjbHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1" + - "cy4gUnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBl" + - "Y3QKICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1m" + - "YWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9u" + - "YWxseSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRd" + - "KGRlcGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52" + - "b2tlIGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVz" + - "aCBjbHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0" + - "IHB1bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1w" + - "b3RlbnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4K" + - "LSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4K" + - "LSBJZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVy" + - "YWN0aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVy" + - "YWN0aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRV" + - "VAUAAQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVk" + - "IGF1dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRo" + - "ZSBLOHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQg" + - "dGhlIEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUK" + - "Ci0gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1l" + - "PW52Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0" + - "ZXJgIHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZh" + - "bGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNo" + - "LCBub3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFu" + - "ZSBLOHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4g" + - "Q29uZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0" + - "ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93" + - "IG1hdGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIEZyb20g" + - "YSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAoYmVj" + - "YXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandrc2Ap" + - "OgoKICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD4g" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZldGNoZXMg" + - "SldLUyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJQ01T" + - "LiBUaGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBudmNmLWNs" + - "aSBjbHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0ZWRBdGAg" + - "YWR2YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJu" + - "ZXRlcy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMgc2hvdWxk" + - "IHN1Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IGBj" + - "bHVzdGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElEICsgZ3Jv" + - "dXAgSUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVkZXBsb3kg" + - "dGhlIGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkgZWRpdCBg" + - "b3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0ZXMgSUNN" + - "UyBvbmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgY2x1c3Rl" + - "ciBJRC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWlsdXJlIG1h" + - "eSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1jYWxsb3V0" + - "IGhlYWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1hdXRoLWNh" + - "bGxvdXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29pZGNfYnlf" + - "Y2x1c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAgY29uZmln" + - "bWFwIGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25vc2UtZmFp" + - "bGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhvc2UgY2hl" + - "Y2tzLgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMgVGVhciBk" + - "b3duIGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFyZG93biBk" + - "ZXN0cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFsIGtl" + - "eXMsIHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJl" + - "Zm9yZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBgdW5pbnN0" + - "YWxsYCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVhcmRvd24g" + - "c3VyZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0rMTEpOgoK" + - "fCBUaWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18LS0tfAp8" + - "IFBlci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5KSB8IGBp" + - "bnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwgYHVu" + - "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwK" + - "fCBPcmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVwIC0tY2x1" + - "c3Rlci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFsbGAgfAoK" + - "VXNlIGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9yIEdpdE9w" + - "cyAoY29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBlbGluZXMu" + - "IEFsd2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8IE1vZGUg" + - "fCBMaXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0tfC0tLXwt" + - "LS18LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0b3JzKSB8" + - "ICoqTm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1pdHMgcGhh" + - "c2UgcGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwgRXZlbnQg" + - "c3RyZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAocHJpbWl0" + - "aXZlcykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBgaGVsbSBn" + - "ZXQgbWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286CgotIGBk" + - "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBvcmNoZXN0" + - "cmF0b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFsbCAtLW5v" + - "LWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBtZSB0aGUg" + - "WUFNTCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFMV0FZUyBw" + - "cmV2aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1" + - "c3Rlci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVuLgpudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAKCiMjIFdo" + - "ZW4gdG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0tLXwtLS18" + - "CnwgIlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "ZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8IGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1lIHRoZSBz" + - "dGVwcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + - "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1MIHRvIGNv" + - "bW1pdCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0" + - "YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBkZWxldGUu" + - "eWFtbGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1dGUgcGxh" + - "bmUgKG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiSnVzdCBy" + - "ZW1vdmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBkb3duIC0t" + - "Y2x1c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJtIHNjb3Bl" + - "IHdpdGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChjb21wdXRl" + - "IHBsYW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNvbXB1dGUg" + - "cGxhbmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9uIHRoaXMg" + - "Y2x1c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4iIChJbXBv" + - "cnRhbnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2ZT10cnVl" + - "fHByb21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJzaXN0ZW50" + - "IHN0YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQgdXNl" + - "ciBkYXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3ZlLXBlcnNp" + - "c3RlbnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIgoK" + - "IyMjIDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + - "d24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBgCgpUaGlz" + - "IGVtaXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhlbG0gcmVs" + - "ZWFzZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0IHdvdWxk" + - "IGJlIHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1td" + - "YCBhcnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxtIHVuaW5z" + - "dGFsbCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgojIyMgMy4g" + - "RXhlY3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0" + - "ZXItbmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYuNy4xKToK" + - "CjEuIFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoyLiBSZXNv" + - "bHZlIHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1bnMgYGZ1" + - "bmN0aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBwb2xscyB1" + - "bnRpbCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNlfHByb21w" + - "dGAgKGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1dGUgcGxh" + - "bmUg4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBoZWxtIHVu" + - "aW5zdGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVyCjUuIFJl" + - "bW92ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVudGApCjYu" + - "IFVucmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMgNC4gVGVh" + - "ciBkb3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0aGUgb3Jj" + - "aGVzdHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMgYWxzbyBn" + - "b2luZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCByZWZ1" + - "c2VzIGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNNUy4gVXNl" + - "IGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipvbmx5Kiog" + - "aWYgdGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFuZXMgKFBT" + - "QVQgYXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3RhcnQgZmFp" + - "bGluZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVlbmNlIGJl" + - "Zm9yZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcKCmBgYHNo" + - "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhpcyBpdGVy" + - "YXRlcyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0aGUgcGVy" + - "LWNsdXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1hbGwtY29u" + - "Y3VycmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmVgLiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhlIGNsdXN0" + - "ZXIgbGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHByb21wdCBm" + - "b3Igbm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhhcyBBcmdv" + - "IC8gRmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0ZSBwbGFu" + - "ZToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBs" + - "YW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3IgY29tbWl0" + - "cyBkZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxpZXMgdGhl" + - "IGRlbGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNvbW1pdCAt" + - "bSAicmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBBcmdvIHN5" + - "bmMgcmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhlIElDTVMg" + - "cm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJfSUQKYGBg" + - "CgpOb3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1c3RlciBk" + - "ZWxldGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93aW5nIEdp" + - "dE9wcyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHksIG9yIHVz" + - "ZSBgZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkKCklmIGBk" + - "b3duYCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1hbmQqKi4g" + - "VGhlIG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNraXBzIHJl" + - "bGVhc2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAtLWlnbm9y" + - "ZS1taXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQaGFzZSA0" + - "ICsgNiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBzZWNvbmQg" + - "cnVuLgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNhdGVnb3J5" + - "OiAiaGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24i" + - "YCDihpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0PeKApmAg" + - "KHRoZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4gcmUtcnVu" + - "IGBkb3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1hdGlvbi4K" + - "LSBgZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVk" + - "aWF0aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIgdXNlciBw" + - "YXNzZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3QuIFJlLXJ1" + - "biB3aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJvbXB0YCBh" + - "bmQgY29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1cmZhY2Ug" + - "YGVyck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4gU1RPUC4g" + - "RG8gbm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlzIGNvbmZp" + - "cm0KCkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFsbGAg" + - "aW52b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBTdGF0ZSB0" + - "aGUgZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hhdCdzIGxv" + - "c3QgKGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5jcC1sb2Nh" + - "bGAgd2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElDTVMiKS4K" + - "LSBJZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3RhdGUgdGhh" + - "dCBDYXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRlZCBhbmQg" + - "dGhhdCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNlciBjb25m" + - "aXJtYXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3Rl" + - "cnNgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUgb3JwaGFu" + - "ZWQuCi0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBleHBsYWlu" + - "aW5nIHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQge3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBpcyBvbiBh" + - "IENMSSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gKIyBQZXIg" + - "Y29tcHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0YWxsIG52" + - "Y2EtYWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAtbiBu" + - "dmNhLW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIC1uIG52" + - "Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0ZW0KCiMg" + - "RHJhaW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9" + - "PGlkPgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToK" + - "Y2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2VzIGhlbG1m" + - "aWxlIGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBzdGFjayBi" + - "dW5kbGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4vbnZjZi1j" + - "b21wdXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1hbnVhbCBw" + - "YXRoOyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGluc3RhbGxl" + - "ZC4KCiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIgYXNrcyAi" + - "d2h5IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhlIFN0YXRl" + - "ZnVsU2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5IGBoZWxt" + - "IHVuaW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRpb25hbGx5" + - "IHNvIGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8gd2lwZSBj" + - "b21wbGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQKYGBgCgpP" + - "ciwgcG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiBjYXNz" + - "YW5kcmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0ZW0gLS1h" + - "bGwKYGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0aXZlIHN0" + - "ZXAuClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIjIGBudmNm" + - "LWNsaWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdheXMgcGFp" + - "ciB3aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtleGl0LWNv" + - "ZGVzLm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1ob3N0ZWQg" + - "bGlmZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8LS0tfC0t" + - "LXwtLS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFByZS1mbGln" + - "aHQgdmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBlci1y" + - "b2xlIHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3RlZCBjaGVj" + - "ayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2UgaGVhbHRo" + - "eSB8IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRgIGVsYXBz" + - "ZXMgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9" + - "WCBbLS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFtaW5nIGV2" + - "ZW50cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8IGBzZWxm" + - "LWhvc3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFsbCBvZiB0" + - "aGUgYWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0YWxsIC0t" + - "Y29udHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZQU1MIG9u" + - "IHN0ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhvc3RlZCBp" + - "bnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVyIGNsdXN0" + - "ZXIgKyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9uZSBpbnZv" + - "Y2F0aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1l" + - "PVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5KSBzdGRv" + - "dXQsIHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5lczsgZm9y" + - "IGNvbXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9zdGVkIHVw" + - "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwgSlNPTkwg" + - "b24gc3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8CnwgYHNlbGYt" + - "aG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29tcHV0ZSBw" + - "bGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwg" + - "Rm9yIDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3RhbGwuIENQ" + - "IG5vdCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9WF0g" + - "Wy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pTT05MIHwg" + - "YC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAt" + - "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBg" + - "aGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rl" + - "ciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9uIHRoYXQg" + - "Y29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + - "Wy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJpbWl0aXZl" + - "OiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8IFJl" + - "ZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0tZm9yY2Ut" + - "d2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5v" + - "LWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZl" + - "c3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8gYGt1YmVj" + - "dGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBgaW5zdGFs" + - "bCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WCBbLS1k" + - "cmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6IGRyYWlu" + - "IOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJQ01T" + - "IHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXItbmFtZT1Y" + - "YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVzdHJhdG9y" + - "OiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFu" + - "ZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1cnJlbmN5" + - "YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0aXZlIHwK" + - "fCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9yIGRyeS1y" + - "dW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBoZWxtL2hl" + - "bG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBhY3R1YWwg" + - "YGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJwb3NlIHwg" + - "Tm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1uY2Et" + - "aWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBhIEpXS1Mr" + - "T0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBzdGFuZGFs" + - "b25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQg" + - "LS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1c3RlciBy" + - "ZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1qc29uYCBm" + - "b3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXIt" + - "aWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBBZnRlciBL" + - "OHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVsZXRlIC0t" + - "Y2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBjb25maXJt" + - "IHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVz" + - "IHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwg" + - "Q3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZlcnNpb24g" + - "SUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1td" + - "LmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25z" + - "ZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1bmN0aW9u" + - "IGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0aW9uIGdl" + - "dCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0YWRhdGEg" + - "fCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQg" + - "LS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVuY3Rpb24g" + - "dXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2RlbC11cGRh" + - "dGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNgIHVzZXMg" + - "YG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1p" + - "dD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFncy5tZCkg" + - "fAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNjaGVkdWxl" + - "IGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykgfAp8IGBm" + - "dW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCBbLS1q" + - "c29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZFXHxERVBM" + - "T1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAtLWlucHV0" + - "LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBmdW5jdGlv" + - "biBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBTdG9w" + - "IGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9uIGludm9r" + - "ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJlcXVpcmVz" + - "IEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9rZWQgdGhy" + - "b3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0aW9uLWlk" + - "Pi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0t" + - "dmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoqREVTVFJV" + - "Q1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFuZHMgcmVx" + - "dWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBOVkNGX0JB" + - "U0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBhIGZyZXNo" + - "IHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQg" + - "aW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFsdWU7IGNo" + - "ZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0aCBgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1biBgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5ldyBrZXku" + - "Cgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3Jl" + - "YXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdlPUlNR2Ag" + - "fCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0YXRlOyB1" + - "c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sgY3JlYXRl" + - "IC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hhcnQ9Q0hB" + - "UlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMgYC0taW1h" + - "Z2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEgdGFzayBm" + - "cm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGNvbmZp" + - "Z3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0PU5dYCB8" + - "IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVzZXM6IGBR" + - "VUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBD" + - "QU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhf" + - "UVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNrIGRldGFp" + - "bHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBgdGFzayBl" + - "dmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBh" + - "IHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFj" + - "dHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBgcmVzdWx0" + - "SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9y" + - "dGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0YXNrIHwg" + - "Tm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRlIFt0YXNr" + - "SWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElEICsgY3Vy" + - "cmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBleHBsaWNp" + - "dGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBub3QgdHJl" + - "YXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8CnwgYHRh" + - "c2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgVXBkYXRl" + - "IHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVk" + - "IGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBwcmVzZXJ2" + - "ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0tdGFzay1p" + - "ZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBpbiBv" + - "bmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgdmlh" + - "IHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1jbGkuc3Rh" + - "dGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAoZnVuY3Rp" + - "b24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwgbGFzdCBl" + - "bmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1ob3N0ZWQg" + - "c3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNrXSBbLS1k" + - "ZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlzIHwgRGVm" + - "YXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFuZCBhIHRh" + - "c2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMgb25lIG9u" + - "bHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgLS12" + - "YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBr" + - "ZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5jZSAoTlZD" + - "RiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1rZXkgbGlz" + - "dGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1zY29wZWQg" + - "a2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJldm9rZSBL" + - "RVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiogfAp8IGBh" + - "cGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0YXRlIHwg" + - "fAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0YWxsIGFs" + - "bCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxzL2AgYW5k" + - "IGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRpcmVjdG9y" + - "aWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJlbW92ZSBv" + - "bmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNlIHNraWxs" + - "cyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWluIHwKfCBg" + - "YWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBGb3IgZGVi" + - "dWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEgYW5kIGVt" + - "YmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEjAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZl" + - "cmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVzCgpTdGFi" + - "bGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0cnkgLyBz" + - "dXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMgfAp8LS0t" + - "fC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxsIGNv" + - "bXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBIZWxt" + - "IHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZQU1M" + - "IHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNoZWNr" + - "YCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsga3Vi" + - "ZWN0bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + - "bHVyZSwgdGltZW91dCkuIFdhcm5pbmctc2V2ZXJpdHkgcmVzdWx0cyBleGl0IGAwYCB8CnwgYDNg" + - "IHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0" + - "OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwg" + - "TWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVv" + - "dXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkbid0IHBhc3MgYmVmb3JlIGR1cmF0aW9uOyB0aGUgY2hl" + - "Y2sncyB0aW1lIGJ1ZGdldCByYW4gb3V0IGJlZm9yZSBldmVyeSBjaGVjayByYW4gKHRob3NlIHJl" + - "cG9ydCBhcyBub3QgcnVuKSB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5UL1NJR1RFUk0g" + - "fCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZCB8CgojIyBIb3cg" + - "YW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0t" + - "fAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0" + - "ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxs" + - "eSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFp" + - "bGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRo" + - "ZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAo" + - "aW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRo" + - "b3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25n" + - "ZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAg" + - "fCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBD" + - "b25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWls" + - "CgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNj" + - "ZXNzYCwgYHZlcmRpY3RgLCBgZmFpbGVkQ291bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2Zh" + - "aWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kYC4gQSBjYW5jZWxsYXRpb24gKGV4" + - "aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0aCBgY2FuY2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9m" + - "IGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFzZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4g" + - "RXZlcnkgb3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxl" + - "ZGAgSlNPTiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0" + - "aW9uYCAoYXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2Zm" + - "fGFmdGVyX3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlv" + - "bmFsKSwgYW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4g" + - "QWx3YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5n" + - "IEVuZ2xpc2ggZnJvbSBzdGRlcnIuClBLBwg8GfBY4ggAAOIIAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRV" + - "VAUAAQCmzhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZl" + - "cnkgc3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xp" + - "LnlhbWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBg" + - "ZmFsc2VgIHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYg" + - "aW4gVFRZLCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRg" + - "IHBhcmVudCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAg" + - "fCBDb250cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBv" + - "Y2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6" + - "IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwg" + - "cGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1m" + - "aWxlIGVudmlyb25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3Ig" + - "cmVsZWFzZXMgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9t" + - "cHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBz" + - "dG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1p" + - "dCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0" + - "XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQg" + - "aW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVh" + - "bWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tg" + - "IG9ubHk7IHBvbGwgdW50aWwgdGhlIGNoZWNrIHBhc3NlcyBvciBEVVJBVElPTiBydW5zIG91dCAo" + - "ZXhpdCBgNWApLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0byBjbGVhciwgc3VjaCBhcyBh" + - "IHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcuIENhbm5vdCBiZSBjb21iaW5l" + - "ZCB3aXRoIGAtLW5vLWNsZWFudXBgIHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENU" + - "WGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50" + - "IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250" + - "ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1p" + - "Y21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRp" + - "ZmZlciB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwg" + - "YGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBrdWJl" + - "Y3RsIGNvbnRhY3QsIHdoYXRldmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgQ0xJIHByaW50" + - "cyBhIG5vdGUgc2F5aW5nIHNvLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlg" + - "IHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJl" + - "YCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJl" + - "cXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5IHRoZSBzZWxlY3RlZCByb2xlcyBjb250" + - "YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciBy" + - "ZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBpcyBub3QgaW5zdGFs" + - "bGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNz" + - "ZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywgdGhhdCByb2xlJ3Mg" + - "dmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQgfCBgZmFsc2VgIHwKfCBg" + - "LS1jb250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0t" + - "Y29tcHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFs" + - "bGAgfCBFdmVyeSBjYXRlZ29yeSwgaW5jbHVkaW5nIFNJUyByZWFjaGFiaWxpdHkgd2hlbiBjb21i" + - "aW5lZCB3aXRoIGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBD" + - "bHVzdGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hlY2tzIHwgLSB8CnwgYC0tc2tpcC1pbm90" + - "aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVk" + - "ZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVs" + - "dGAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBmYWxzZWAgfAoK" + - "IyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2Ig" + - "aW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2VydmljZUFj" + - "Y291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCBhbmQgcmVt" + - "b3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMg" + - "cGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + - "CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRh" + - "dG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJ" + - "REFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVm" + - "IHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVn" + - "aXN0cnk7IGlmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHByb2JlIGlzIHNraXBwZWQg" + - "d2l0aCBhIG5vdGUgdG8gcGluIG9uZS4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUg" + - "d2l0aCBhIHdhcm5pbmcgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhv" + - "c3Q6cG9ydCwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0" + - "b3IgcHJvYmVzIGZvciByZWFjaGFiaWxpdHkuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3Ry" + - "aWVzIHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3Ry" + - "eSwgdGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIGFuZCBgcXVheS5pb2AgZm9y" + - "IHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBzZXRzIGBjZXJ0" + - "TWFuYWdlci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCBvbmx5IHdoZW4g" + - "bmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgdmFs" + - "aWRhdG9yIGRpYWxzIGZyb20gYSBwb2Qgd2l0aCBubyBwcm94eSwgc28gYW4gdW5yZWFjaGFibGUg" + - "cmVnaXN0cnkgaXMgYSB3YXJuaW5nOyB0aGUgbG9jYWwgY3JlZGVudGlhbCBjaGVjayBpcyB3aGF0" + - "IGZhaWxzIGEgcmVnaXN0cnkgdGhlIGluc3RhbGwgY2Fubm90IHB1bGwgZnJvbS4gUmVwZWF0YWJs" + - "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JF" + - "R0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0g" + - "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhl" + - "IGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5l" + - "ZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1n" + - "YXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lN" + - "QUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3li" + - "b3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0" + - "aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhl" + - "IHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBj" + - "YXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0" + - "IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1h" + - "bGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBh" + - "cmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29u" + - "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgIHwgLSB8CnwgYC0tY2x1c3Rl" + - "ci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGlu" + - "IGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwg" + - "dGhlIENMSSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBp" + - "dCBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3Ig" + - "YW4gaW1hZ2Ugb24gYW4gTkdDIHJlZ2lzdHJ5LCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9L" + - "RVlgIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAg" + - "dGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0" + - "IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhp" + - "cyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fu" + - "bm90IHB1bGwgdGhlIGltYWdlLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + - "Ul9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFs" + - "aWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3Ig" + - "ZGVidWdnaW5nLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnM7IHRo" + - "ZSByZXN1bHQgcHJpbnRzIHRoZSBga3ViZWN0bCBkZWxldGVgIGNvbW1hbmQgdGhhdCByZW1vdmVz" + - "IHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0" + - "b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5z" + - "Y3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNv" + - "IGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZh" + - "bHNlYCB8CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlk" + - "ZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJ" + - "RCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9u" + - "IHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBs" + - "YW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lm" + - "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0" + - "ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCAr" + - "IGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8" + - "CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8Cnwg" + - "YC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAt" + - "LW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIg" + - "cmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBg" + - "LS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9O" + - "YCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRw" + - "b2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3Jl" + - "YXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdl" + - "bmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmll" + - "ZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBU" + - "RVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBu" + - "dmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5n" + - "LiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBg" + - "LS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWly" + - "ZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRh" + - "dGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2Vg" + - "IHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMp" + - "LCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3Jl" + + "Y2VzczogZmFsc2VgIHdoZW4gYW55IGNoZWNrIGZhaWxlZCBhdCBlcnJvciBzZXZlcml0eSBvciB0" + + "aGUgcnVuIHRpbWVkIG91dCAoZXhpdCBgNWAsIGB2ZXJkaWN0OiAidGltZW91dCJgKS4gR2F0ZSBv" + + "biB0aGF0IGV2ZW50OiBgY2hlY2tgIG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgLCBzbyBhIGNv" + + "bmRpdGlvbiBvbiBpdCBhbHdheXMgcGFzc2VzLiBSZXF1aXJpbmcgdGhlIGBmaW5hbGAgZXZlbnQg" + + "YWxzbyBmYWlscyB0aGUgc3RlcCB3aGVuIHRoZSBjb21tYW5kIGRpZXMgYmVmb3JlIGVtaXR0aW5n" + + "IGl0LgotIFNsdXJwIHdpdGggYGpxIC1zYCBiZWZvcmUgdGVzdGluZyBhIGNvbmRpdGlvbi4gV2l0" + + "aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2ZW50" + + "IGFsb25lLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBzbyBmaWx0" + + "ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0IGFwcGVu" + + "ZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5hbCBzdGF0" + + "dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhlYWx0aHki" + + "YC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1YmVjdGwg" + + "YXBwbHlgLiBJbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwgbGV0IHRoZSBj" + + "b250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAgLSBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4gcmVuZGVy" + + "ZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwg" + + "LS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkgPiByZW5kZXJl" + + "ZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0IGNvbW1p" + + "dCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29DRCBvciBG" + + "bHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIgdG91Y2hl" + + "cyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hpY2ggbXV0" + + "YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBzY3JpcHQ6CiAg" + + "ICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlkPSROQ0Eg" + + "LS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9yZS1leGlzdGlu" + + "Z2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMgTXVsdGkt" + + "Y2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55IGNvbXB1dGUg" + + "Y2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVwbG95X2NvbXB1" + + "dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNURVI6IG5jcC1l" + + "YXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0gQ0xVU1RFUjog" + + "bmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAgICAgLSBDTFVT" + + "VEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAgc2NyaXB0Ogog" + + "ICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRDTFVT" + + "VEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAgICAgICAtLWlj" + + "bXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FETUlOX0pXVAog" + + "ICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFjaCBwYXJhbGxl" + + "bCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdhaW5zdCB0aGUg" + + "c2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMjIFBsYW4tb25s" + + "eSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjogJENJ" + + "X1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAgICAt" + + "IHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1uYW1l" + + "PSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24gfCB0" + + "ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNvbgog" + + "ICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxganNv" + + "blxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRzIDAg" + + "d2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3RzIGVh" + + "Y2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwjAUUNz" + + "EA4AABAOAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVzdGVy" + + "IHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBsYW5l" + + "IG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoKVGhl" + + "IGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUgaXMg" + + "cmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJvbCBw" + + "bGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09ORklH" + + "PWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9sLXBs" + + "YW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21wdXRlIHBsYW5l" + + "Ogpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBhZG1pbkBncHUt" + + "ZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhh" + + "bXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1ub24taW50ZXJh" + + "Y3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRlIHBsYW5lcyBy" + + "ZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNB" + + "X0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNbXSB8IHtuYW1l" + + "OiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENvbXB1dGUtcGxh" + + "bmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3RsIGFjY2Vz" + + "cyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBpcyBvcGVy" + + "YXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBwbGFuZSBm" + + "b3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1YmxpYyBhcGkg" + + "Z2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMgcmVhY2hh" + + "YmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3MgbmVlZGVk" + + "KToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxlLmNvbQoK" + + "IyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToKbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + + "bWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAog" + + "IC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNm" + + "LmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVyYWN0aXZl" + + "CgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29udHJvbC1w" + + "bGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + + "aWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVjaWZp" + + "YyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5lcyBh" + + "bmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVuY3Rp" + + "b25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVu" + + "dFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBl" + + "IjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0" + + "YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoKVGhl" + + "IGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0cyBz" + + "Y2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNob29z" + + "ZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZhbi1v" + + "dXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQgY29t" + + "cHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + + "Q0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVyc1tdLmNs" + + "dXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNvbXB1dGUg" + + "cGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSByZWFkIE5B" + + "TUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + + "dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVzdGVyLCB2" + + "ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUgPCBjbHVz" + + "dGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRpdmUgZmFu" + + "LW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24ndCBuZWVk" + + "IGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + + "NwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUu" + + "bWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJvbCBw" + + "bGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmluZyBzb21l" + + "d2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2FpbnN0IGl0" + + "LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRyb2wgcGxh" + + "bmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2VyIG11c3Qg" + + "aGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5lKiogaW4g" + + "dGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4aXN0aW5n" + + "IGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tYCkuCi0g" + + "KipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBhYmlsaXR5" + + "IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJvbCBwbGFu" + + "ZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRoZSBBUEkg" + + "S2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3RsIGFjY2Vz" + + "cyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9uZS4pCi0g" + + "QSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIGFscmVh" + + "ZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0" + + "ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNrLgoKIyMgU3Rl" + + "cHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVuaXF1ZT5g" + + "IOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Egc2NvcGUK" + + "ICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhlIG5ldyBHUFUg" + + "Y2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2ljbXMu" + + "bnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJMCiAg" + + "IC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJlLWZsaWdodCBq" + + "dXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAg" + + "LS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAgIFRoaXMg" + + "dmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9kZSBsYWJlbHMg" + + "YXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRkcmVzcyBhbnkg" + + "ZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1dGUtcGxhbmVg" + + "OioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFuZSBc" + + "CiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBcCiAgICAg" + + "LS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMgaXMgYSBzZXBh" + + "cmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21wdXRlLXBsYW5l" + + "LXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1IChyZWdpc3Rl" + + "ciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24gdGhlIG5ldyBj" + + "b21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxhbmUgYW5kIGRv" + + "ZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUgY29udHJvbCBw" + + "bGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10b2tlbmAgaXMg" + + "cmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50IG9uZSBmcm9t" + + "LgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0ZXIt" + + "bmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHkiYC4g" + + "VGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBub3cg" + + "bGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5kLWludm9rZS5t" + + "ZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0byB0" + + "aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMgV2hh" + + "dCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGFkZC1j" + + "b21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4aXN0aW5nYCBz" + + "ZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBhbmQgcmV1c2Ug" + + "aXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0aGUgc2Ft" + + "ZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0aGF0IHdh" + + "cyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNzLgotICoq" + + "RGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vjb25kIGF0" + + "dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUgcGxhbmUn" + + "cyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21wdXRlIHBs" + + "YW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNvbmZpcm0g" + + "d2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVuIGluIGRv" + + "dWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0Ff" + + "SUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUgcHJvY2Vl" + + "ZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUNAAAFDQAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1biBhIHRh" + + "c2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4gbW9uaXRv" + + "ciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBrZXlzCgpU" + + "aGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZvY2F0aW9u" + + "IHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJh" + + "dGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKIyAtPiBm" + + "dW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBgCgpCb3Ro" + + "IGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNrIGtleToK" + + "CmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9u" + + "PSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRlIGVhY2gg" + + "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdl" + + "bmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoIC0t" + + "dmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQojIC0+IHRh" + + "c2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBrZXkgdmFs" + + "dWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQgdGhlIGtl" + + "eSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBuZXZlciB0" + + "aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVmb3JlIHJ1" + + "bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwgdmVyaWZ5" + + "IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBzZXQ6Cgog" + + "ICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBlY2hv" + + "IHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3JlZCBr" + + "ZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAgcHl0aG9u" + + "MyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0aCgnfi8u" + + "bnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChzLmdldCgn" + + "bnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRoZSBleHBp" + + "cnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNoCiAgIG52" + + "Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0t" + + "ZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAgYGBg" + + "Cgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYgd2l0aG91" + + "dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHByZWZpeCDi" + + "gJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNhdGlvbjoK" + + "Ci0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5IG5v" + + "dCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVkIG9y" + + "IHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7IG5v" + + "IHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmluZSB0" + + "aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6Cgpg" + + "YGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNpZmlj" + + "YXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + + "LkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5lcklt" + + "YWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6ICJw" + + "eXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRsaW5n" + + "U3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5w" + + "dXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoK" + + "Q2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNlIGNh" + + "biBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJzZXF1" + + "ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVpdmFs" + + "ZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2YtY2xp" + + "IHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1PUgx" + + "MDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1uY3At" + + "bG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29udGFp" + + "bmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJlc3Vs" + + "dC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVy" + + "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVy" + + "Lmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50IHZh" + + "cmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xpIHRh" + + "c2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRhaW5l" + + "ci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAKCm9y" + + "IHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52aXJv" + + "bm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0sCiAg" + + "InNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3IzdCJ9" + + "CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1cm5l" + + "ZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVtLgoK" + + "IyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2UgYGNv" + + "bnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAic21v" + + "a2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIs" + + "CiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJu" + + "Y3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNv" + + "bS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRsaW5n" + + "U3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5w" + + "dXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBoZWxt" + + "Q2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgojIyAz" + + "Yi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + + "dXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVwZGF0" + + "ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFyZSBh" + + "ZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4gdGhl" + + "IHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRvIGNo" + + "YXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNr" + + "IGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5HCmBg" + + "YAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVjZW50" + + "IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2YWx1" + + "ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JF" + + "RGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURF" + + "RF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgcHJv" + + "Z3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNrIGV2" + + "ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwgY2hl" + + "Y2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyByZWdp" + + "c3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJZiB0" + + "aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5zIHRo" + + "ZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3QgdGhl" + + "IHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgKYGt1" + + "YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4KCiMj" + + "IDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0" + + "ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1jbGkg" + + "dGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0YXNr" + + "cyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9hZCB0" + + "byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3MgY3Jl" + + "ZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRlcgp0" + + "aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRz" + + "IDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0ZWQg" + + "aW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNrOgoK" + + "YGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0YXNr" + + "IHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNmLWNs" + + "aSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhlIHVz" + + "ZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBpdHMg" + + "Y3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHByb21w" + + "dCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNpdCBs" + + "YXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5vdCBi" + + "ZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVzZWZ1" + + "bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNmLWNs" + + "aSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZhbWls" + + "eSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNsdXN0" + + "ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAgaW5k" + + "ZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdpc3Rl" + + "cmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVzLCBl" + + "bnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1oZWxw" + + "ZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkAAJ8ZAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9rZSBh" + + "IGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9uIENS" + + "RUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5WT0tF" + + "LgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNPTiBm" + + "aWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUg" + + "ZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIElm" + + "IGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Ig" + + "c3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFt" + + "ZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNv" + + "bmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwKICAi" + + "aW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNobyBm" + + "dW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1hdCI6" + + "ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJp" + + "IjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAog" + + "ICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1" + + "bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24g" + + "SUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJRHMg" + + "4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0aW9u" + + "IHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBgZnVu" + + "Y3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10u" + + "bGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4" + + "YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0aCB0" + + "aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGlu" + + "dmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24K" + + "ewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFn" + + "ZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIs" + + "CiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVh" + + "bHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAg" + + "ICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1" + + "c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25m" + + "aXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjog" + + "WyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdz" + + "Il0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tl" + + "blJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50" + + "IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFt" + + "ZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQtY29u" + + "dGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0" + + "PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAog" + + "IC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0t" + + "aGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0t" + + "bGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21w" + + "bGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRf" + + "cm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kgc3Rl" + + "cCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBtb2Rl" + + "bCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9u" + + "IHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZlcl9p" + + "ZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHJv" + + "dXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2Ug" + + "dGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7IGNy" + + "ZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5SYXRl" + + "TGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2AsIGBN" + + "YCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5lIENM" + + "SSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBgMTAw" + + "MC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGluZSBt" + + "b2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBjaGFy" + + "dCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRlbnQg" + + "b2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rp" + + "b24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdg" + + "IGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAu" + + "IFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5kZXJl" + + "ZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZpY2Ug" + + "cG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1" + + "bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVl" + + "IGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBs" + + "ZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJt" + + "ZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5jZVBv" + + "cnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAgInBy" + + "b3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAwMCwK" + + "ICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9" + + "LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUvdGVh" + + "bS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2Vydmlj" + + "ZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJu" + + "YW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAg" + + "ICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92" + + "MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAog" + + "ICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBg" + + "CgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVh" + + "dGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJlbmNl" + + "LXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRo" + + "IFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0t" + + "aGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAog" + + "IC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdjLm52" + + "aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3og" + + "XAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1tb2Rl" + + "bD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8" + + "L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRv" + + "a2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hhcnQt" + + "c3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25maWd1" + + "cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBgYGpz" + + "b24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4i" + + "LAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAg" + + "ICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAx" + + "LAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAs" + + "CiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRlbnNv" + + "clBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdheSBy" + + "b3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5jdGlv" + + "bi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVu" + + "Y3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFtIGNv" + + "bnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRoczoK" + + "CnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9uc2Ag" + + "fCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvcmVz" + + "cG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Igc3Ry" + + "ZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVhbWlu" + + "ZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVkZGlu" + + "Z3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11c3Qg" + + "YmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8gc2Vz" + + "c2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24KewogICJm" + + "dW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBs" + + "b3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5j" + + "ZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1h" + + "eEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9CmBg" + + "YAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBpbnN0" + + "YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRjaCBy" + + "ZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBk" + + "ZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29tbWFu" + + "ZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZhdWx0" + + "IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBpcyBy" + + "dW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUtcGxh" + + "bmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rpb25g" + + "IHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0aGUg" + + "YGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlzc2lu" + + "ZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNmLWNs" + + "aSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFt" + + "ZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1zdGct" + + "Li4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3RhdGUg" + + "ZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRvbid0" + + "IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZPS0UK" + + "CmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZl" + + "cl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpgYGBz" + + "aApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29uCiMg" + + "4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZpbGxl" + + "ZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZva2Ug" + + "dGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApjdXJs" + + "IC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQvY29t" + + "cGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIg" + + "XAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1v" + + "ZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjogdHJ1" + + "ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAogICAg" + + "ICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3BlbkFJ" + + "IGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNvIHRo" + + "ZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNlcyBB" + + "UEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRp" + + "b24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAk" + + "e05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBc" + + "CiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAog" + + "ICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAgfScK" + + "YGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczov" + + "L2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9yaXph" + + "dGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxp" + + "Y2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1t" + + "b2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0nCmBg" + + "YAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1lbnQn" + + "cyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQgc3Vy" + + "ZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9uZSB3" + + "aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0tZnVu" + + "Y3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0gd2l0" + + "aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRlcGxv" + + "eW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGltZXMg" + + "Y2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kgb24g" + + "Y29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0cyku" + + "IEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBjb21t" + + "YW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBgZ3B1" + + "YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5IMTAw" + + "XzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5jdGlv" + + "bidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUtcGxh" + + "bmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1YmVj" + + "dGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFnZVB1" + + "bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD0A" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0" + + "YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGluc3Rh" + + "bGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmciLiBE" + + "b24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRpY3QK" + + "CmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBgYAoK" + + "VGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0gKipg" + + "aGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5J3Jl" + + "IGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5" + + "ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog4oCU" + + "IGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0IHdp" + + "bGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFsaXpp" + + "bmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0gKipg" + + "ZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNsdXN0" + + "ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93bmAq" + + "KiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBiZSBk" + + "b3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4gRHJp" + + "bGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21wb25l" + + "bnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJhLTAg" + + "UG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaAprdWJl" + + "Y3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxwb2Q+" + + "IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyArIGxh" + + "c3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVzcyB0" + + "aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXByb2dy" + + "ZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlrZWx5" + + "IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBvZElu" + + "aXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0dWNr" + + "IGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVmYXVs" + + "dCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3JhZ2Vj" + + "bGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2Vj" + + "bGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgaGVs" + + "bSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNvbWUg" + + "YXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBu" + + "b3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdheS1y" + + "b3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFsbCBl" + + "bnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5" + + "L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1u" + + "YW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0" + + "ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBpc3N1" + + "ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3RvcmVk" + + "IGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rl" + + "ci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFu" + + "ZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBl" + + "eHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIgcmVn" + + "aXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFu" + + "ZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8" + + "IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0" + + "YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxkcyBp" + + "dCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6" + + "cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBpcykg" + + "fAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IpIHwg" + + "T2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUgZm9s" + + "bG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3MDRg" + + "IHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBjb25m" + + "aXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFzZSBp" + + "biByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZjYS1v" + + "cGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsgdGhl" + + "biBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXIt" + + "aWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9yZSBh" + + "bnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMgZGVz" + + "dHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8gZG8K" + + "Ci0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0aWMg" + + "b25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUgdXNl" + + "ciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBrdWJl" + + "Y3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVsZXRl" + + "cyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVyZW50" + + "IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVzYCAv" + + "IGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFs" + + "bC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBmcm9t" + + "IHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBhIGZy" + + "ZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlzIHRo" + + "ZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIHRvcG9s" + + "b2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5lIGFu" + + "ZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29udHJv" + + "bCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9kdWN0" + + "aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNsdXN0" + + "ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1wbGVz" + + "OiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9kdWN0" + + "aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4dCBu" + + "YW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQcmVwYXJl" + + "IHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGszZC4g" + + "T25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRpYXRlbHkg" + + "Y2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9pbnRzLiBG" + + "b3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQgYW5kCiAg" + + "IHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNlciBi" + + "ZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3QgYWxyZWFk" + + "eSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVkIEdhdGV3" + + "YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3RhbmRhbG9u" + + "ZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBseSAtZiBo" + + "dHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVhc2VzL2Rv" + + "d25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFtZXNwYWNl" + + "IGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBu" + + "dmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAgIGZvciBu" + + "YW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAg" + + "a3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09dHJ1ZSAt" + + "LW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9jaTovL2Rv" + + "Y2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYxLjEuMyBc" + + "CiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBwbHlpbmcg" + + "dGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxlciBvd25z" + + "CiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVzdCB1bnRp" + + "bCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAgY29uZmln" + + "dXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250cm9sbGVy" + + "IERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFnZSBvciBl" + + "eGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RFUl9OQU1F" + + "PSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5hbWUgIiRF" + + "S1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVzTmV0d29y" + + "a0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRwdXQgdGV4" + + "dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2FkLWJhbGFu" + + "Y2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1ZWAgc2Vs" + + "ZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vrcy9s" + + "YXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3aXNlLCBh" + + "IHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQgQmFsYW5j" + + "ZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRoYXQgdGhl" + + "IGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3Zp" + + "ZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQgQmFsYW5j" + + "ZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhlIGFwcGxp" + + "ZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVy" + + "LiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAgbWFwIGJl" + + "Zm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAg" + + "bG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90YXRpb25z" + + "OgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2No" + + "ZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFXUyBjbG91" + + "ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRoOgoKICAg" + + "YGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNl" + + "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgogICBgYGAK" + + "CiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2luZyBsb2Fk" + + "IGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kgYG5sYmAg" + + "c2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0YXJnZXQg" + + "dHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2VydmljZQog" + + "ICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3RzIG9uZSBT" + + "ZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUgQVdTIExv" + + "YWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kgU2Vydmlj" + + "ZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2UgdGhlIG1h" + + "cCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZvcmUgYXBw" + + "bHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6IHVzZSBB" + + "V1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9G" + + "CiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBraW5kOiBF" + + "bnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNlOiBlbnZv" + + "eS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlwZTogS3Vi" + + "ZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgogICAgICAg" + + "ICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8v" + + "YXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2VydmljZS5i" + + "ZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBlOiAiaW5z" + + "dGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1i" + + "YWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJzaW9uOiBn" + + "YXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwogICBtZXRh" + + "ZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBnYXRld2F5" + + "LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0ZXJzUmVm" + + "OgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDogRW52b3lQ" + + "cm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0" + + "ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFkYXRhOgog" + + "ICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICBz" + + "cGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0gbmFt" + + "ZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBhbGxv" + + "d2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9y" + + "CiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAg" + + "ICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHByb3Rv" + + "Y29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAgICAg" + + "ICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0" + + "b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9y" + + "bTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVzdCBiZSB1" + + "bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lTZXJ2aWNl" + + "LmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUgZ2VuZXJh" + + "dGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwogICBvbiB0" + + "aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMgYW5k" + + "IHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFNRT0i" + + "bnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0IFJF" + + "R0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52b3kt" + + "Z2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAgIGV4" + + "cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgR1JQ" + + "Q19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVX" + + "QVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC0t" + + "Zm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3RsIC1u" + + "ICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05B" + + "TUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0K" + + "CiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1F" + + "U1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0" + + "aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRFV0FZ" + + "X0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdh" + + "eS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVz" + + "c2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAg" + + "dGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNUQUNLX0RP" + + "TUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAgdG8gdGhl" + + "IGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4KICAgRm9y" + + "IHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUgR2F0ZXdh" + + "eSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZjZi1jbGku" + + "eWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAg" + + "aW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191cmw6ICIk" + + "e0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRw" + + "Oi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7U1RBQ0tf" + + "RE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZva2VfaG9z" + + "dDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2VydmljZV9pZDog" + + "Im52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFwaV9rZXlz" + + "X2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAic3ZjQG52" + + "Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAgYGBgCgoz" + + "LiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9sb2d5" + + "OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + + "aGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBj" + + "cCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29u" + + "IHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3ViZWN0bCBvbiBj" + + "b21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwK" + + "ICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWljbXMtdXJs" + + "PWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAg" + + "IGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZhaWxzIChgInBh" + + "c3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBtZXNzYWdlYCAr" + + "IGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0YWxs" + + "IHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRlZC4g" + + "YG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIgZG9l" + + "cyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91Z2gg" + + "dGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRlLW9u" + + "bHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVudCBz" + + "dHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jbHVz" + + "dGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwK" + + "ICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9yIHNw" + + "bGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBzaAog" + + "ICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgogICBl" + + "eHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtDT05U" + + "Uk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7Q09N" + + "UFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFN" + + "RX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9O" + + "fSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vfc3Rh" + + "cnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3Byb2dy" + + "ZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJjZSBj" + + "b3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNpc3Rz" + + "IGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5kIHN1" + + "cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAgRGVj" + + "aWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBub3cg" + + "d2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVyU2Vj" + + "YCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1lZGlh" + + "dGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAgYWN0" + + "IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmludCBj" + + "bHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1cy4g" + + "UnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBlY3QK" + + "ICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1mYWls" + + "ZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9uYWxs" + + "eSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRl" + + "cGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52b2tl" + + "IGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVzaCBj" + + "bHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0IHB1" + + "bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1wb3Rl" + + "bnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4KLSBO" + + "ZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4KLSBJ" + + "ZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVyYWN0" + + "aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVyYWN0" + + "aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUA" + + "AQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVkIGF1" + + "dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRoZSBL" + + "OHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQgdGhl" + + "IEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUKCi0g" + + "YGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52" + + "Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0ZXJg" + + "IHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlk" + + "IEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNoLCBu" + + "b3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFuZSBL" + + "OHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4gQ29u" + + "ZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJl" + + "ZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93IG1h" + + "dGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIEZyb20gYSBj" + + "b250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAoYmVjYXVz" + + "ZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandrc2ApOgoK" + + "ICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD4gLS1j" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZldGNoZXMgSldL" + + "UyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJQ01TLiBU" + + "aGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBudmNmLWNsaSBj" + + "bHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0ZWRBdGAgYWR2" + + "YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRl" + + "cy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMgc2hvdWxkIHN1" + + "Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IGBjbHVz" + + "dGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElEICsgZ3JvdXAg" + + "SUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVkZXBsb3kgdGhl" + + "IGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkgZWRpdCBgb3V0" + + "LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0ZXMgSUNNUyBv" + + "bmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgY2x1c3RlciBJ" + + "RC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWlsdXJlIG1heSBi" + + "ZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1jYWxsb3V0IGhl" + + "YWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1hdXRoLWNhbGxv" + + "dXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29pZGNfYnlfY2x1" + + "c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAgY29uZmlnbWFw" + + "IGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25vc2UtZmFpbGVk" + + "LWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhvc2UgY2hlY2tz" + + "LgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMgVGVhciBkb3du" + + "IGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFyZG93biBkZXN0" + + "cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFsIGtleXMs" + + "IHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9y" + + "ZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBgdW5pbnN0YWxs" + + "YCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVhcmRvd24gc3Vy" + + "ZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0rMTEpOgoKfCBU" + + "aWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18LS0tfAp8IFBl" + + "ci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5KSB8IGBpbnN0" + + "YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwgYHVuaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwKfCBP" + + "cmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVwIC0tY2x1c3Rl" + + "ci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFsbGAgfAoKVXNl" + + "IGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9yIEdpdE9wcyAo" + + "Y29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBlbGluZXMuIEFs" + + "d2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8IE1vZGUgfCBM" + + "aXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0tfC0tLXwtLS18" + + "LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0b3JzKSB8ICoq" + + "Tm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1pdHMgcGhhc2Ug" + + "cGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwgRXZlbnQgc3Ry" + + "ZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAocHJpbWl0aXZl" + + "cykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBgaGVsbSBnZXQg" + + "bWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286CgotIGBkb3du" + + "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBvcmNoZXN0cmF0" + + "b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFsbCAtLW5vLWFw" + + "cGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBtZSB0aGUgWUFN" + + "TCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFMV0FZUyBwcmV2" + + "aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rl" + + "ci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVuLgpudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAKCiMjIFdoZW4g" + + "dG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0tLXwtLS18Cnwg" + + "IlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + + "biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8IGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1lIHRoZSBzdGVw" + + "cyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + + "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1MIHRvIGNvbW1p" + + "dCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + + "IC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBkZWxldGUueWFt" + + "bGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1dGUgcGxhbmUg" + + "KG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1" + + "bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiSnVzdCByZW1v" + + "dmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBkb3duIC0tY2x1" + + "c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJtIHNjb3BlIHdp" + + "dGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChjb21wdXRlIHBs" + + "YW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNvbXB1dGUgcGxh" + + "bmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9uIHRoaXMgY2x1" + + "c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4iIChJbXBvcnRh" + + "bnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2ZT10cnVlfHBy" + + "b21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJzaXN0ZW50IHN0" + + "YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQgdXNlciBk" + + "YXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3ZlLXBlcnNpc3Rl" + + "bnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIgoKIyMj" + + "IDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + + "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBgCgpUaGlzIGVt" + + "aXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhlbG0gcmVsZWFz" + + "ZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0IHdvdWxkIGJl" + + "IHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1tdYCBh" + + "cnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxtIHVuaW5zdGFs" + + "bCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgojIyMgMy4gRXhl" + + "Y3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXIt" + + "bmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYuNy4xKToKCjEu" + + "IFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoyLiBSZXNvbHZl" + + "IHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1bnMgYGZ1bmN0" + + "aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBwb2xscyB1bnRp" + + "bCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNlfHByb21wdGAg" + + "KGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1dGUgcGxhbmUg" + + "4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBoZWxtIHVuaW5z" + + "dGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVyCjUuIFJlbW92" + + "ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVudGApCjYuIFVu" + + "cmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMgNC4gVGVhciBk" + + "b3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0aGUgb3JjaGVz" + + "dHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMgYWxzbyBnb2lu" + + "ZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCByZWZ1c2Vz" + + "IGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNNUy4gVXNlIGAt" + + "LWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipvbmx5KiogaWYg" + + "dGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFuZXMgKFBTQVQg" + + "YXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3RhcnQgZmFpbGlu" + + "ZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVlbmNlIGJlZm9y" + + "ZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcKCmBgYHNoCm52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhpcyBpdGVyYXRl" + + "cyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0aGUgcGVyLWNs" + + "dXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1hbGwtY29uY3Vy" + + "cmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVg" + + "LiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhlIGNsdXN0ZXIg" + + "bGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHByb21wdCBmb3Ig" + + "bm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhhcyBBcmdvIC8g" + + "Rmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0ZSBwbGFuZToK" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5l" + + "IC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3IgY29tbWl0cyBk" + + "ZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxpZXMgdGhlIGRl" + + "bGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNvbW1pdCAtbSAi" + + "cmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBBcmdvIHN5bmMg" + + "cmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhlIElDTVMgcm93" + + "OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJfSUQKYGBgCgpO" + + "b3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1c3RlciBkZWxl" + + "dGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93aW5nIEdpdE9w" + + "cyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHksIG9yIHVzZSBg" + + "ZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkKCklmIGBkb3du" + + "YCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1hbmQqKi4gVGhl" + + "IG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNraXBzIHJlbGVh" + + "c2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAtLWlnbm9yZS1t" + + "aXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQaGFzZSA0ICsg" + + "NiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBzZWNvbmQgcnVu" + + "LgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNhdGVnb3J5OiAi" + + "aGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCDi" + + "hpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0PeKApmAgKHRo" + + "ZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4gcmUtcnVuIGBk" + + "b3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBg" + + "ZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0" + + "aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIgdXNlciBwYXNz" + + "ZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3QuIFJlLXJ1biB3" + + "aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJvbXB0YCBhbmQg" + + "Y29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1cmZhY2UgYGVy" + + "ck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4gU1RPUC4gRG8g" + + "bm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlzIGNvbmZpcm0K" + + "CkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFsbGAgaW52" + + "b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBTdGF0ZSB0aGUg" + + "ZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hhdCdzIGxvc3Qg" + + "KGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5jcC1sb2NhbGAg" + + "d2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElDTVMiKS4KLSBJ" + + "ZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3RhdGUgdGhhdCBD" + + "YXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRlZCBhbmQgdGhh" + + "dCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNlciBjb25maXJt" + + "YXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNg" + + "IHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUgb3JwaGFuZWQu" + + "Ci0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBleHBsYWluaW5n" + + "IHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "e3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBpcyBvbiBhIENM" + + "SSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gKIyBQZXIgY29t" + + "cHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0YWxsIG52Y2Et" + + "YWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAtbiBudmNh" + + "LW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIC1uIG52Y2Et" + + "c3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0ZW0KCiMgRHJh" + + "aW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9PGlk" + + "PgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToKY2Qg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2VzIGhlbG1maWxl" + + "IGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBzdGFjayBidW5k" + + "bGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4vbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1hbnVhbCBwYXRo" + + "OyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGluc3RhbGxlZC4K" + + "CiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIgYXNrcyAid2h5" + + "IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhlIFN0YXRlZnVs" + + "U2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5IGBoZWxtIHVu" + + "aW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRpb25hbGx5IHNv" + + "IGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8gd2lwZSBjb21w" + + "bGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQKYGBgCgpPciwg" + + "cG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiBjYXNzYW5k" + + "cmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwK" + + "YGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0aXZlIHN0ZXAu" + + "ClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIjIGBudmNmLWNs" + + "aWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdheXMgcGFpciB3" + + "aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtleGl0LWNvZGVz" + + "Lm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1ob3N0ZWQgbGlm" + + "ZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8LS0tfC0tLXwt" + + "LS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFByZS1mbGlnaHQg" + + "dmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBlci1yb2xl" + + "IHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4" + + "dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAt" + + "LWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2UgaGVhbHRoeSB8" + + "IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRgIGVsYXBzZXMg" + + "fAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCBb" + + "LS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFtaW5nIGV2ZW50" + + "cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8IGBzZWxmLWhv" + + "c3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFsbCBvZiB0aGUg" + + "YWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29u" + + "dHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0" + + "ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhvc3RlZCBpbnN0" + + "YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVyIGNsdXN0ZXIg" + + "KyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9uZSBpbnZvY2F0" + + "aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1lPVhg" + + "IHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5KSBzdGRvdXQs" + + "IHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5lczsgZm9yIGNv" + + "bXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9zdGVkIHVwIC0t" + + "cGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwgSlNPTkwgb24g" + + "c3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8CnwgYHNlbGYtaG9z" + + "dGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29tcHV0ZSBwbGFu" + + "ZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwgRm9y" + + "IDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3RhbGwuIENQIG5v" + + "dCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9WF0gWy0t" + + "d2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pTT05MIHwgYC0t" + + "d2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNv" + + "bXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVs" + + "bWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwg" + + "bm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9uIHRoYXQgY29t" + + "cHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgWy0t" + + "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBg" + + "aGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8IFJlZnVz" + + "ZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0tZm9yY2Utd2l0" + + "aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFw" + + "cGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZlc3Rg" + + "IHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8gYGt1YmVjdGwg" + + "ZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBgaW5zdGFsbCAt" + + "LW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WCBbLS1kcmFp" + + "bi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6IGRyYWluIOKG" + + "kiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJQ01TIHwg" + + "cHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8" + + "CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVzdHJhdG9yOiB0" + + "ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFuZSB8" + + "IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1cnJlbmN5YCAo" + + "ZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0aXZlIHwKfCBg" + + "c2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9yIGRyeS1ydW46" + + "IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBoZWxtL2hlbG1m" + + "aWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBhY3R1YWwgYGRv" + + "d25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90" + + "ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1uY2EtaWQ9" + + "WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBhIEpXS1MrT0lE" + + "QyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBzdGFuZGFsb25l" + + "IGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1u" + + "Y2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1c3RlciByZWdp" + + "c3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1qc29uYCBmb3Ig" + + "bWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9" + + "SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBBZnRlciBLOHMg" + + "QVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVsZXRlIC0tY2x1" + + "c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBjb25maXJtIHdp" + + "dGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwK" + + "fC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgQ3Jl" + + "YXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZlcnNpb24gSUQ7" + + "IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1tdLmxs" + + "bUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + + "LCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1bmN0aW9uIGxp" + + "c3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0aW9uIGdldCAt" + + "LWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0YWRhdGEgfCB8" + + "CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS10" + + "YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVuY3Rpb24gdXBk" + + "YXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2RlbC11cGRhdGU9" + + "U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNgIHVzZXMgYG5h" + + "bWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5g" + + "OyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFncy5tZCkgfAp8" + + "IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNjaGVkdWxlIGEg" + + "ZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykgfAp8IGBmdW5j" + + "dGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCBbLS1qc29u" + + "XWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZFXHxERVBMT1lJ" + + "TkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAtLWlucHV0LWZp" + + "bGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBmdW5jdGlvbiBk" + + "ZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBTdG9wIGEg" + + "ZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9uIGludm9rZSAt" + + "LWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJlcXVpcmVzIEFQ" + + "SSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9rZWQgdGhyb3Vn" + + "aCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88" + + "bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVy" + + "c2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoqREVTVFJVQ1RJ" + + "VkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFuZHMgcmVxdWly" + + "ZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBOVkNGX0JBU0Vf" + + "TlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBhIGZyZXNoIHNl" + + "c3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgaW5q" + + "ZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFsdWU7IGNoZWNr" + + "IGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0aCBgYXBpLWtl" + + "eSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1biBgYXBpLWtl" + + "eSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5ldyBrZXkuCgp8" + + "IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRl" + + "IC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdlPUlNR2AgfCBT" + + "dWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0YXRlOyB1c2Ug" + + "YC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sgY3JlYXRlIC0t" + + "bmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hhcnQ9Q0hBUlRg" + + "IHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMgYC0taW1hZ2Vg" + + "IHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEgdGFzayBmcm9t" + + "IGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGNvbmZpZ3Vy" + + "YXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0PU5dYCB8IExp" + + "c3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVzZXM6IGBRVUVV" + + "RURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBDQU5D" + + "RUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhfUVVF" + + "VUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNrIGRldGFpbHMg" + + "fCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBgdGFzayBldmVu" + + "dHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBhIHRh" + + "c2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFjdHMg" + + "Zm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBgcmVzdWx0SGFu" + + "ZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9ydGVk" + + "IHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0YXNrIHwgTm8t" + + "b3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRlIFt0YXNrSWRd" + + "YCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElEICsgY3VycmVu" + + "dCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBleHBsaWNpdGx5" + + "IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBub3QgdHJlYXQg" + + "dGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8CnwgYHRhc2sg" + + "dXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgVXBkYXRlIHNl" + + "Y3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVkIGJ5" + + "IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBwcmVzZXJ2ZWQg" + + "fCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0tdGFzay1pZHM9" + + "SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBpbiBvbmUg" + + "cmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + + "LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgdmlhIHB1" + + "YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1jbGkuc3RhdGVg" + + "OyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAoZnVuY3Rpb24g" + + "YW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwgbGFzdCBlbmRw" + + "b2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1ob3N0ZWQgc3Rh" + + "dHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNrXSBbLS1kZXNj" + + "cmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlzIHwgRGVmYXVs" + + "dCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFuZCBhIHRhc2sg" + + "a2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMgb25lIG9ubHk7" + + "IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgLS12YWxp" + + "ZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkg" + + "fCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5jZSAoTlZDRiBm" + + "b3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1rZXkgbGlzdGAg" + + "fCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1zY29wZWQga2V5" + + "cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJldm9rZSBLRVkt" + + "SURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiogfAp8IGBhcGkt" + + "a2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0YXRlIHwgfAoK" + + "IyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0t" + + "LXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0YWxsIGFsbCBi" + + "dW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxzL2AgYW5kIGB+" + + "Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVz" + + "IHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJlbW92ZSBvbmx5" + + "IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNlIHNraWxscyBk" + + "aXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWluIHwKfCBgYWdl" + + "bnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBGb3IgZGVidWdn" + + "aW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEgYW5kIGVtYmVk" + + "ZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEjAABQSwMEFAAI" + + "AAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + + "Y2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVzCgpTdGFibGUg" + + "YWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0cnkgLyBzdXJm" + + "YWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMgfAp8LS0tfC0t" + + "LXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxsIGNvbXBs" + + "ZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBIZWxtIHJl" + + "bmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZQU1MIHBh" + + "cnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNoZWNrYCBy" + + "ZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsga3ViZWN0" + + "bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXItdmFs" + + "aWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVy" + + "ZSwgaXRzIG93biB0aW1lb3V0LCBubyB0YWcgZm91bmQgZm9yIGFuIHVudGFnZ2VkIGltYWdlKS4g" + + "V2FybmluZy1zZXZlcml0eSByZXN1bHRzIGV4aXQgYDBgIHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZh" + + "aWxlZCB8IE5vIHRva2VuICsgYC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQg" + + "SldUOyBpbml0IGVuZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBv" + + "ciBgLS13YWl0YCB0aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVk" + + "IGJ1dCBkaWQgbm90IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0" + + "aWxsIGluIHByb2dyZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sg" + + "YmVmb3JlIGl0IGZpbmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQgc2hvcnQpLiBB" + + "IGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3VsdCBrZWVwcyBpdCwgc28gYSB2YWxpZGF0" + + "b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lH" + + "SU5UL1NJR1RFUk0gfCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3Rl" + + "ZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlv" + + "ciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAg" + + "fCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBl" + + "cnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8" + + "IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBg" + + "dXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNm" + + "LWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1" + + "dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQg" + + "dG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2Vs" + + "LiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkg" + + "Y2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5k" + + "IG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAg" + + "ZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBgZmFpbGVkQ291bnRgKSBhbmQgbmV2ZXIgZW1p" + + "dHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kYC4gSXRzIGV4" + + "aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBg" + + "Y2hlY2tfY29tcGxldGVkYCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMg" + + "b24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYC4gQSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGAp" + + "IGVtaXRzIGBmaW5hbGAgd2l0aCBgY2FuY2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9m" + + "YWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFzZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4gRXZlcnkgb3Ro" + + "ZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBl" + + "dmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJy" + + "YXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3Jl" + + "bWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5k" + + "IGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNv" + + "bnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2gg" + + "ZnJvbSBzdGRlcnIuClBLBwiObgsJMgoAADIKAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0A" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIj" + + "IGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3ViY29t" + + "bWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNv" + + "bmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwK" + + "fCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwK" + + "fCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZLCBv" + + "biB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAo" + + "cGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBDb250cm9s" + + "LXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVS" + + "TCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBh" + + "dGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5" + + "IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxlIGVudmly" + + "b25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3IgcmVsZWFzZXMg" + + "fAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZh" + + "bHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vz" + + "c2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBk" + + "byBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8" + + "IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBt" + + "YWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRw" + + "dXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IHBv" + + "bGwgdW50aWwgdGhlIGNoZWNrIHBhc3NlcyBvciBEVVJBVElPTiBydW5zIG91dCAoZXhpdCBgNWAs" + + "IGBmaW5hbGAgd2l0aCBgc3VjY2VzczogZmFsc2VgKS4gQSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0" + + "ZWQgdG8gY2xlYXIsIHN1Y2ggYXMgYSByb2xsb3V0IGluIHByb2dyZXNzLCBrZWVwcyBpdCBwb2xs" + + "aW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGNhcnJpZXMgYHRyYW5zaWVudDog" + + "dHJ1ZWAuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgIHwgLSB8CnwgYC0t" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wg" + + "cGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwg" + + "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyBy" + + "ZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlciB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3Vy" + + "bGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3Qg" + + "Y2hlY2tzIGFuZCBza2lwIGFsbCBrdWJlY3RsIGNvbnRhY3QsIHdoYXRldmVyIHNjb3BlIGZsYWcg" + + "aXMgcGFzc2VkLiBUaGUgQ0xJIHByaW50cyBhIG5vdGUgc2F5aW5nIHNvLiBFbnY6IGBOVkNGX0NM" + + "SV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmlj" + + "CgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUt" + + "cGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5" + + "IHRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1o" + + "b3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHks" + + "IHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29t" + + "cHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUn" + + "cyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBp" + + "bnN0YWxsZWQgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUg" + + "Y2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNo" + + "ZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBFdmVyeSBjYXRlZ29yeSwgaW5jbHVkaW5nIFNJ" + + "UyByZWFjaGFiaWxpdHkgd2hlbiBjb21iaW5lZCB3aXRoIGAtLXByZWAgfCBgZmFsc2VgIHwKfCBg" + + "LS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hl" + + "Y2tzIHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlu" + + "b3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5v" + + "dCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJ" + + "UF9JTk9USUZZYCB8IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUg" + + "dmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhl" + + "IENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJv" + + "bGVCaW5kaW5nIGZvciBpdCBhbmQgcmVtb3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBr" + + "dWJlY29uZmlnIGNvbnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgpXaGVu" + + "IGBjaGVja2AgcmVhZHMgdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSwgYGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYApmcm9tIGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgIG9yIGEgc3RhY2sgY2hl" + + "Y2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LAppdCB0ZWxscyB0aGUgdmFsaWRhdG9y" + + "IHdoaWNoIEdhdGV3YXlzIHRoZSBzdGFjayB3aXJlcyBOVkNGIHJvdXRlcyB0by4gV2l0aG91dAp0" + + "aGF0IGZpbGUgaXQgZG9lcyBub3QsIGFuZCB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZW0gZnJvbSB0" + + "aGUgcm91dGVzLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1" + + "dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29u" + + "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNj" + + "b3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcg" + + "Y2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93" + + "IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdh" + + "aW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUgd2l0aCBh" + + "IHdhcm5pbmcgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3Q6cG9y" + + "dCwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IgcHJv" + + "YmVzIGZvciByZWFjaGFiaWxpdHkuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVzIHRo" + + "ZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwgdGhl" + + "IHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIGFuZCBgcXVheS5pb2AgZm9yIHRoZSBj" + + "ZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBzZXRzIGBjZXJ0TWFuYWdl" + + "ci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCBvbmx5IHdoZW4gbmVpdGhl" + + "ciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgdmFsaWRhdG9y" + + "IGRpYWxzIGZyb20gYSBwb2Qgd2l0aCBubyBwcm94eSwgc28gYW4gdW5yZWFjaGFibGUgcmVnaXN0" + + "cnkgaXMgYSB3YXJuaW5nOyB0aGUgbG9jYWwgY3JlZGVudGlhbCBjaGVjayBpcyB3aGF0IGZhaWxz" + + "IGEgcmVnaXN0cnkgdGhlIGluc3RhbGwgY2Fubm90IHB1bGwgZnJvbS4gUmVwZWF0YWJsZSBvciBj" + + "b21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJ" + + "RVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0gfAp8IGAt" + + "LWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBz" + + "aGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQg" + + "Y2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsg" + + "Y29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4z" + + "NmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBr" + + "ZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlk" + + "YXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVz" + + "LCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBO" + + "b1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1l" + + "ZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQu" + + "IEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtl" + + "eSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxp" + + "ZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZh" + + "dWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENM" + + "SSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRv" + + "IGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1h" + + "Z2Ugb24gYG52Y3IuaW9gLCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgLiBUaGUga2V5" + + "IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeSwgb3RoZXIgTlZJRElBIHJlZ2lzdHJp" + + "ZXMgaW5jbHVkZWQ7IHRob3NlIHVzZSB5b3VyIGRvY2tlciBsb2dpbiB8IGF1dG8tZGV0ZWN0IHwK" + + "fCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlk" + + "YXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBj" + + "YW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNp" + + "dGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4g" + + "RW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFs" + + "c2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2Qs" + + "IFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBsYXRlciBj" + + "aGVjayByZWNsYWltcyB0aGVtIGFmdGVyIDI0IGhvdXJzOyB0aGUgcmVzdWx0IHByaW50cyB0aGUg" + + "YGt1YmVjdGwgZGVsZXRlYCBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdyB8IGBmYWxzZWAg" + + "fAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCB0aGUgdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3Rk" + + "ZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBh" + + "bmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVu" + + "IGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMgYHVwYC1zcGVj" + + "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1" + + "c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkg" + + "fCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8" + + "CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBg" + + "LS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNo" + + "YW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1p" + + "dCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBg" + + "LS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFs" + + "IERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8" + + "IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBl" + + "dmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1F" + + "YCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJ" + + "RCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2Vz" + + "dC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8" + + "CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwt" + + "b24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwg" + + "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlv" + + "blx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0" + + "byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJs" + + "ZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBp" + + "cmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJz" + + "ZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09Q" + + "RV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2Vydmlj" + + "ZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtl" + + "eSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlv" + + "biB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAo" + + "ZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlu" + + "cHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVm" + + "aW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + + "IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8Cnwg" + + "YC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVy" + + "bCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5j" + + "ZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rp" + + "b24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFV" + + "TFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZl" + + "cmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1w" + + "YWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1F" + + "YCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJl" + + "ZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJT" + + "SU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAt" + + "LWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + + "LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9" + + "PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3" + + "aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNl" + + "IGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVj" + + "cyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQt" + + "cHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9y" + + "aXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBl" + + "ci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0" + + "eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElE" + + "IG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBh" + + "bmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAg" + + "YW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBs" + + "bG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBh" + + "dGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92" + + "MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdz" + + "YC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dl" + + "cl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxs" + + "bUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0" + + "ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3Jt" + + "YXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhg" + + "IChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRz" + + "IHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAw" + + "LUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdp" + + "bmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFj" + + "a2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAs" + + "IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUg" + + "c2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0" + + "ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBp" + + "bnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1l" + + "PiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBt" + + "b2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVz" + + "cG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9y" + + "IHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVu" + + "Y3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwg" + + "LSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1h" + + "dCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + + "bWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBU" + + "b2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVk" + + "IHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAg" + + "fCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGgg" + + "dGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0g" + + "fAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFj" + + "Y291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRp" + + "c3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAt" + + "IHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBl" + + "bnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5k" + + "L29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1v" + + "ZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5j" + + "dGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNv" + + "bW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElE" + + "YCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFt" + + "aWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUu" + + "SDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8" + + "IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1" + + "ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVm" + + "YXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNp" + + "ZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3Jl" + "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVw" + - "ZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1" + - "bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAt" + - "IHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50" + - "IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBv" + - "cnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1" + - "bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBj" + - "aGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10" + - "eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVs" + - "bS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBi" + - "eSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8" + - "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyBy" + - "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsg" + - "Zm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0" + - "aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVz" + - "ZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBl" + - "eGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + - "IGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAt" + - "IHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBk" + - "ZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0" + - "eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8" + - "IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0" + - "byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3Jp" + - "dHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBm" + - "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9k" + - "ZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNv" + - "bXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3Vw" + - "cG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2As" + - "IGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMg" + - "YHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNh" + - "cmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBv" + - "ciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBg" + - "PHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMp" + - "LCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3Mp" + - "LiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBg" + - "MTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04u" + - "CgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4g" + - "Rm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTog" + - "IkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNb" + - "XS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAg" + - "bXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0" + - "U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5j" + - "dGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNG" + - "IGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0" + - "IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGkt" + - "dHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVl" + - "c3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBs" + - "YWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExN" + - "IG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9k" + - "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1h" + - "dGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5w" + - "dXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0" + - "LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5" + - "IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNj" + - "b3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1J" + - "RDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsg" + - "c3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBk" + - "ZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0" + - "cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZp" + - "Zy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlz" + - "YCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2Rl" + - "bCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1" + - "dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mg" + - "b25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + - "LWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQ" + - "RWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1p" + - "biByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8" + - "IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAw" + - "YCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxO" + - "QU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcg" + - "U0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlz" + - "IHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + - "dXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + - "TkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpd" + - "W2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdp" + - "dGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10" + - "eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxl" + - "YCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + - "dGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8" + - "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8" + - "IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxF" + - "YCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMg" + - "d2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQ" + - "IHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0" + - "aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3Mg" + - "QVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xl" + - "IHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250" + - "YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyBy" + - "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9u" + - "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1t" + - "YXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEs" + - "IGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAt" + - "LW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxh" + - "dGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRp" + - "b24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08g" + - "ODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExP" + - "QURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBg" + - "LS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3Jt" + - "YXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJl" + - "c3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklg" + - "IHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpW" + - "RVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRh" + - "Z3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3Jp" + - "cHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnkt" + - "aWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3Mt" + - "dGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwK" + - "fCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2lu" + - "dCBJRCB8IC0gfApQSwcIr1eBRVc2AABXNgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVU" + - "BQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29t" + - "bWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBw" + - "aGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRy" + - "eSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9u" + - "YCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + - "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRw" + - "czovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBg" + - "aGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmls" + - "ZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBo" + - "dHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMg" + - "bm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5z" + - "dGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3Bh" + - "Y2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQg" + - "U3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8" + - "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + - "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + - "c3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRl" + - "LXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBz" + - "Oi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9s" + - "YXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRv" + - "cmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkg" + - "fCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5v" + - "ZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwK" + - "CiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + - "CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNs" + - "aS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRl" + - "cmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNp" + - "Z25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRj" + - "aGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQg" + - "Y29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5p" + - "dGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlv" + - "biBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNj" + - "b3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4g" + - "cmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBS" + - "ZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3Ig" + - "Y2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwg" + - "Q29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAt" + - "biBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNp" + - "ZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZh" + - "bWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6" + - "ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3Rl" + - "ciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkg" + - "KyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAg" + - "KG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90" + - "IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVy" + - "IG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRp" + - "bmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcw" + - "NGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0" + - "b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBi" + - "dWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0" + - "b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1w" + - "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENy" + - "YXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4v" + - "cmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZy" + - "b20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRl" + - "IHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBv" + - "dGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQg" + - "d2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBp" + - "biBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkg" + - "c2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8" + - "IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFn" + - "ZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQg" + - "Y29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8" + - "IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBO" + - "QVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + - "IGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMg" + - "VGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + - "YHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFs" + - "IGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1" + - "ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAg" + - "d2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBu" + - "ZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFj" + - "Y291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAo" + - "ZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4g" + - "dGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCBy" + - "ZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0" + - "LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJ" + - "TEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRl" + - "c2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250" + - "cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVs" + - "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3du" + - "LAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4g" + - "VXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5z" + - "dGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZp" + - "bGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2Ug" + - "Zm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1l" + - "bnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBS" + - "ZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlm" + - "ZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2Yt" + - "Y29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIx" + - "LjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBj" + - "b250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBk" + - "ZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAs" + - "IEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1l" + - "bmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIK" + - "ICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRy" + - "b2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxv" + - "eW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29y" + - "a3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0" + - "dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25h" + - "bCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + - "IEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBp" + - "bnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtl" + - "ZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9y" + - "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJl" + - "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4K" + - "CiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUg" + - "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkg" + - "Ym90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250" + - "cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNy" + - "ZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRl" + - "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + - "bnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0" + - "aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lv" + - "bnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJz" + - "aW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkg" + - "cmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6" + - "PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNv" + - "bnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vi" + - "c3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFy" + - "dAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBi" + - "YXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBz" + - "ZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhl" + - "bG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVj" + - "dGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBv" + - "ZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFj" + - "dGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8v" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNy" + - "ZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJv" + - "bSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMu" + - "eWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxl" + - "XShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1l" + - "eGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRl" + - "bmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBg" + - "dGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1l" + - "cmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVz" + - "KQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28g" + - "dGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + - "CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAt" + - "PiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3Qg" + - "cHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNz" + - "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMs" + - "IG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJi" + - "aXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50" + - "bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQu" + - "CgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxl" + - "YXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgj" + - "b3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMj" + - "IyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBh" + - "IHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "OyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBh" + - "IHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9" + - "Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25l" + - "CmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNo" + - "IGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNy" + - "ZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5" + - "b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3Ry" + - "eSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + - "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11" + - "c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNv" + - "bW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + - "IC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + - "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29y" + - "ZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUg" + - "QVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdz" + - "LmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxh" + - "c3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhl" + - "IGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBi" + - "dXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25k" + - "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRo" + - "IGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMg" + - "Zm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nl" + - "c3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jv" + - "bmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25l" + - "IG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1l" + - "ZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRv" + - "a2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFk" + - "IG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZy" + - "b20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMj" + - "IDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhl" + - "bnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMg" + - "aW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFu" + - "CmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVy" + - "ZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1" + - "dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRp" + - "YWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6" + - "CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lz" + - "dHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAg" + - "IGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25s" + - "eSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6" + - "IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgog" + - "ICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0" + - "aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4g" + - "Q29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJy" + - "b3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRv" + - "IGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5n" + - "Yy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQg" + - "YnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHku" + - "IEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAog" + - "ICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAg" + - "dGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXIt" + - "cmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAg" + - "ID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBz" + - "dGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3Ry" + - "eQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVs" + - "bCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91" + - "IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEK" + - "ICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRo" + - "ZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dp" + - "bmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSBy" + - "ZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + - "Y3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVn" + - "aXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3" + - "aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1p" + - "cnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRo" + - "ZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXgg" + - "Zm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUg" + - "dGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGlu" + - "ZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5" + - "IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3Rh" + - "dHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAK" + - "ClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQg" + - "R2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFu" + - "ZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3Qg" + - "ZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUg" + - "cmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29u" + - "bmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3Rg" + - "LiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMg" + - "cm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVy" + - "IGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5T" + - "IG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1k" + - "XShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVk" + - "IG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMg" + - "RGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRz" + - "IGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BB" + - "U1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWws" + - "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hA" + - "bmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + - "aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4g" + - "c2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMg" + - "dG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRv" + - "IHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4g" + - "RGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRl" + - "bmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0t" + - "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3Jv" + - "dXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwK" + - "fCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlv" + - "biwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91" + - "dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNr" + - "YWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91" + - "cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0y" + - "IG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25h" + - "bCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVl" + - "ZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJv" + - "bnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMg" + - "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkg" + - "R2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNv" + - "bnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0" + - "ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2th" + - "Z2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhl" + - "IGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBg" + - "eWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBp" + - "bmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21h" + - "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBk" + - "ZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52" + - "YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhv" + - "c3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUg" + - "b3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNo" + - "aW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + - "aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2Vydmlj" + - "ZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1u" + - "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + - "cyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNl" + - "bnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAt" + - "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHBy" + - "b3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIg" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5p" + - "dHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmlu" + - "dm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0" + - "aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwp" + - "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUku" + - "IEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + - "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQg" + - "c3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBu" + - "dmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWlu" + - "IHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8g" + - "dGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwg" + - "c2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJ" + - "IEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhl" + - "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRv" + - "ZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFs" + - "dGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJl" + - "Z2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBD" + - "TEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIg" + - "YW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cg" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3Jl" + - "dHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24K" + - "CkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVz" + - "aW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkg" + - "dGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6" + - "IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNg" + - "LCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBg" + - "bm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBh" + - "ZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNs" + - "dWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1" + - "dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNl" + - "cnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0" + - "LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNl" + - "IEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVs" + - "ZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJl" + - "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + - "IGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + - "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + - "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + - "ZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + - "LiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3Zh" + - "bCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUg" + - "dGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNw" + - "YWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxl" + - "dGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlm" + - "eSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + - "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBg" + - "CgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAo" + - "bGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBw" + - "cm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFn" + - "ZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkg" + - "Y2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3Rt" + - "cGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxw" + - "cml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhl" + - "IGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + - "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + - "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291" + - "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAg" + - "bWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgog" + - "ICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEg" + - "cmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBg" + - "dmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJl" + - "LWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMg" + - "UHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2" + - "aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUg" + - "dGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFu" + - "ZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGgg" + - "dGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxh" + - "bmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIg" + - "SW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVs" + - "bHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5j" + - "dGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0" + - "Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwg" + - "SzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBg" + - "PHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkg" + - "fCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRz" + - "LnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1" + - "bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tl" + - "cmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0" + - "aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3Rl" + - "OiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBO" + - "T1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBw" + - "bGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hp" + - "Y2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBC" + - "b3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52" + - "Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBg" + - "YXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVl" + - "IG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9h" + - "dXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8" + - "ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6" + - "IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNv" + - "ZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTog" + - "ZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBh" + - "bmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5" + - "bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5" + - "IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFk" + - "eS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBg" + - "YmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3Ns" + - "IGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJz" + - "L2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQg" + - "VGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fy" + - "cy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2Yg" + - "ZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBg" + - "YAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJy" + - "b3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMg" + - "b2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZm" + - "ZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFn" + - "ZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdv" + - "IGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lz" + - "dHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNl" + - "cyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZl" + - "cm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGlj" + - "eSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9k" + - "cyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRz" + - "IC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMg" + - "bmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVy" + - "bm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhl" + - "bG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5h" + - "bWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + - "ZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + - "aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5h" + - "bWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVj" + - "dGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUg" + - "cG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdl" + - "UHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7" + - "LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNy" + - "ZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFs" + - "IGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5v" + - "IHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJl" + - "bmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERl" + - "YnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Rz" + - "IC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAt" + - "QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVh" + - "c2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + - "ICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3lt" + - "cHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1" + - "bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBz" + - "ZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0" + - "cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0" + - "aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0" + - "dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xv" + - "Z2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUg" + - "dG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3Rh" + - "dGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNl" + - "IGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFs" + - "c2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5i" + - "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2Ig" + - "YG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNl" + - "ZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5p" + - "dDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1" + - "bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2" + - "aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNy" + - "ZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25s" + - "eSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + - "c3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2" + - "aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NB" + - "U1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2Vk" + - "IHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Ig" + - "bm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBh" + - "bmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5z" + - "dGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhl" + - "biBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNl" + - "NjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2Iv" + - "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3Vu" + - "dCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290" + - "c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0" + - "YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2Yg" + - "YSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBl" + - "ZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBi" + - "b290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2" + - "aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5k" + - "IHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVy" + - "cy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRv" + - "IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJp" + - "ZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5k" + - "aXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3Rh" + - "cnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVk" + - "IHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1" + - "cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lP" + - "Tj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAg" + - "cmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxg" + - "IGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBv" + - "bmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwg" + - "ZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFu" + - "IGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3Jl" + - "YXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMg" + - "YSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkg" + - "d3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0" + - "IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQt" + - "Ym9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVj" + - "dCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3lu" + - "Y2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRo" + - "ZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3Rh" + - "dGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBu" + - "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9n" + - "cyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUg" + - "YWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3Rh" + - "bGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQg" + - "RXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10" + - "by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1m" + - "aWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBz" + - "ZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBt" + - "YW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRh" + - "dGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxm" + - "LW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNr" + - "aWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUg" + - "KG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1" + - "Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVz" + - "dGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNp" + - "b25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmls" + - "ZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCBy" + - "ZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJz" + - "aW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + - "ZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFs" + - "bGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xp" + - "ZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNz" + - "ZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAog" + - "ICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNG" + - "IHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRl" + - "IHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxt" + - "ZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmlu" + - "ZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1w" + - "b3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4g" + - "dGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBh" + - "Z2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxh" + - "dGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2" + - "aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rp" + - "b24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xl" + - "YW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRo" + - "ZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tl" + - "bmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + - "bmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8g" + - "Zm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0Yt" + - "bWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQg" + - "bm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBj" + - "b25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFu" + - "dXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNG" + - "QmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhl" + - "IGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5h" + - "bGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0" + - "ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkg" + - "YW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBm" + - "aXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhl" + - "bG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0Yg" + - "Y29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUg" + - "SGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0" + - "ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1" + - "dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hl" + - "bWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhl" + - "IGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01T" + - "X1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZp" + - "Zy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZy" + - "b20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2Vw" + - "YXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAg" + - "IlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5n" + - "IG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + - "Z3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNf" + - "c2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hv" + - "c3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIt" + - "Y2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNf" + - "VVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + - "dXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3" + - "aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1" + - "dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5" + - "IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVy" + - "LCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0" + - "aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZv" + - "ciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVl" + - "c3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFu" + - "ZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3Ro" + - "IGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8g" + - "cHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0" + - "aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNl" + - "cm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + - "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + - "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHBy" + - "b3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAi" + - "UnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUg" + - "c3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55" + - "YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGlu" + - "c3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5j" + - "IGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBm" + - "b3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8s" + - "IHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVz" + - "IHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhl" + - "bG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0" + - "cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9u" + - "IjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + - "IHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3Rh" + - "Z2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250" + - "cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUg" + - "c3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2Vy" + - "dC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxv" + - "eWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVu" + - "IHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3Rh" + - "bGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5n" + - "IHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "ZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChy" + + "ZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwK" + + "fCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVg" + + "KSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNl" + + "IHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5H" + + "UFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVh" + + "bGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJU" + + "YCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUg" + + "d2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBm" + + "aWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwK" + + "fCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJz" + + "IE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBD" + + "b21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQg" + + "d2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVw" + + "b2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVl" + + "YCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAt" + + "LXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVh" + + "dGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05g" + + "IHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBk" + + "ZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9O" + + "YCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNl" + + "cnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8" + + "IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1" + + "bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBo" + + "YW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBM" + + "T0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1u" + + "YW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FE" + + "YCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyBy" + + "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3Vy" + + "Y2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNr" + + "IHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBk" + + "ZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxl" + + "bWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8" + + "IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRy" + + "eS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCOtGk5OG" + + "OAAAhjgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9v" + + "dGluZwoKS25vd24gZXJyb3JzIOKGkiBkaWFnbm9zdGljIGNvbW1hbmQg4oaSIHJlbWVkaWF0aW9u" + + "LiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBldmVudHMg" + + "dGhlIENMSSBlbWl0cyAoUkVRLTE1KSDigJQgZXZlcnkgZW50cnkgYmVsb3cgc2hvdWxkIG1hcCB0" + + "byBhbiBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxp" + + "Z2h0Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBr" + + "dWJlY3RsIG5vdCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUg" + + "a3ViZWN0bCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2Rv" + + "Y3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBvbiBQQVRI" + + "YCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0" + + "aW9uIHwKfCBgaGVsbSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3Mv" + + "aW50cm8vaW5zdGFsbC8gfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIHwgZW52" + + "b3ktZ2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2Vy" + + "LmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lz" + + "dGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBub3QgYXZh" + + "aWxhYmxlYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MgfCBBbm5vdGF0ZSBvbmU6IGBrdWJl" + + "Y3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9y" + + "YWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCB8Cnwg" + + "YEdQVSBvcGVyYXRvciBub3QgaW5zdGFsbGVkYCAoY29tcHV0ZS1wbGFuZSkgfCBudmlkaWEgR1BV" + + "IG9wZXJhdG9yIG1pc3NpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9k" + + "YXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9w" + + "ZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYgfAp8IGBHUFUg" + + "bm9kZSBsYWJlbHMgbWlzc2luZ2AgKGNvbXB1dGUtcGxhbmUpIHwgTm9kZXMgbmVlZCBgbnZpZGlh" + + "LmNvbS9ncHUuZmFtaWx5YCBldGMuIHwgU2V0IGAtLWszcy1ub2RlLWxhYmVsIG52aWRpYS5jb20v" + + "Z3B1LmZhbWlseT1ob3BwZXJAYWdlbnQ6TmAgZm9yIGszZCB8CgojIyBBdXRoCgp8IFN5bXB0b20g" + + "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1" + + "aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tl" + + "bmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2Vu" + + "PSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBB" + + "bm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8" + + "IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0g" + + "fi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1p" + + "c3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRv" + + "a2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkt" + + "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMg" + + "SW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + + "LXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5k" + + "cmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9y" + + "YWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAg" + + "fAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBs" + + "b3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwg" + + "VXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAg" + + "fAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxs" + + "IC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBl" + + "bnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZh" + + "bHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJv" + + "ciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29t" + + "bWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUg" + + "YG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRv" + + "cjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90" + + "IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNk" + + "IGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+" + + "YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + + "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGgg" + + "YEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBv" + + "dXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBj" + + "bHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUt" + + "cnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVz" + + "IGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3Ig" + + "Y2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNo" + + "IHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkg" + + "Y2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdl" + + "UHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIg" + + "Y29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1i" + + "YWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24g" + + "ZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxh" + + "ZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVh" + + "bHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + + "YW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBD" + + "YXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJu" + + "cyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBr" + + "ZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJl" + + "Z2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVk" + + "ZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQg" + + "cHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3Jl" + + "ZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91" + + "dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVm" + + "cmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1u" + + "IG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVk" + + "aWF0ZWx5IHwKUEsHCPOuE4R0EQAAdBEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5h" + + "bWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0" + + "YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJh" + + "dGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + + "IHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVz" + + "LCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBs" + + "YW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVy" + + "YXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9y" + + "IHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZp" + + "cm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQu" + + "CmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0g" + + "MS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1h" + + "dGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUt" + + "ZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBz" + + "ZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0" + + "ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNy" + + "ZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBp" + + "bnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + + "Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYt" + + "bWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBs" + + "YW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNd" + + "CiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0s" + + "IGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxm" + + "LU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5n" + + "IE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoK" + + "IyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3Ig" + + "dGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBh" + + "bmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExN" + + "ImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0" + + "cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpB" + + "c2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Ig" + + "c3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52" + + "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxj" + + "b250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52" + + "aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUt" + + "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZp" + + "bGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUt" + + "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlz" + + "c2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFz" + + "aApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZl" + + "cnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRy" + + "b2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSBy" + + "b290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFu" + + "ZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNp" + + "b24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxt" + + "IHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAj" + + "IE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENs" + + "aWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRy" + + "b2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290" + + "bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFt" + + "ZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2Ug" + + "dGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + + "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFs" + + "dWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9z" + + "dCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jh" + + "c2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + + "Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3Rz" + + "IHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3Jl" + + "dHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxl" + + "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3Jp" + + "dGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + + "a2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3Rv" + + "cmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBp" + + "biB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2Jh" + + "bC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2su" + + "IFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFy" + + "dC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFj" + + "ZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoK" + + "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + + "ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + + "eSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + + "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + + "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + + "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwg" + + "c2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRv" + + "IHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2Vj" + + "cmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoK" + + "Qm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJl" + + "ZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + + "YXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQg" + + "c2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQK" + + "ZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElf" + + "S0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4g" + + "fCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGlu" + + "IDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0ICht" + + "dWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFs" + + "IE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1" + + "bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dp" + + "biBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2ls" + + "ZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcg" + + "dGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQw" + + "MTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3Ug" + + "cHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1" + + "biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2gg" + + "cHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5" + + "PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhl" + + "IHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5" + + "IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQ" + + "dWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + + "Y2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0" + + "IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxs" + + "IHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xv" + + "YWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQg" + + "dGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4g" + + "UG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5" + + "b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAg" + + "ICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNl" + + "czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9y" + + "ZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAg" + + "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5p" + + "ZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBu" + + "b24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBu" + + "dmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0K" + + "ICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0g" + + "cmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9z" + + "ZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3Vy" + + "Y2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhl" + + "IHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0" + + "IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAg" + + "PiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1" + + "Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVs" + + "bS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhl" + + "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAo" + + "dGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwg" + + "bmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBl" + + "ci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhl" + + "IG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxT" + + "ZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDog" + + "bnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4g" + + "YGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNv" + + "IHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhv" + + "bGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlz" + + "IG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xv" + + "YmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBg" + + "YXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBs" + + "b2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gK" + + "R0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8" + + "Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + + "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUg" + + "YSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlv" + + "biBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRo" + + "ZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3Jh" + + "cnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNo" + + "IGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQURE" + + "UkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVz" + + "ZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdB" + + "VEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9i" + + "YWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3Rp" + + "bmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMj" + + "IDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJP" + + "VEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBm" + + "aWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fz" + + "c2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vydmlj" + + "ZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBv" + + "bmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVw" + + "cyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMg" + + "d2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0" + + "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpI" + + "ZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNl" + + "bGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBO" + + "QVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3Vw" + + "PXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFy" + + "eSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5" + + "IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRk" + + "b24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSBy" + + "b3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBP" + + "YnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBh" + + "IHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoK" + + "IyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBp" + + "cyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFj" + + "aW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBO" + + "VkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0" + + "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRo" + + "ZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRl" + + "d2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNl" + + "IGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhl" + + "bS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGlu" + + "CmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0" + + "eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRo" + + "ZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5k" + + "IGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBo" + + "b3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5n" + + "Q29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5p" + + "dHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQg" + + "YnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFm" + + "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAg" + + "cmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + + "LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0" + + "aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + + "bmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZh" + + "bml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5k" + + "YXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRy" + + "YWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0" + + "ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRp" + + "b25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + + "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + + "dGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBu" + + "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMs" + + "IHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkK" + + "dW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQu" + + "CgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHks" + + "IGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + + "YW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1" + + "dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkg" + + "b25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhv" + + "ciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxs" + + "IHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNl" + + "IHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwK" + + "ICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRz" + + "LgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkK" + + "Zm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFu" + + "ZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1" + + "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9y" + + "CnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2Nv" + + "cGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBo" + + "ZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNl" + + "cnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9u" + + "LXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0" + + "aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwg" + + "YW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVu" + + "dG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2Ug" + + "Y2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + + "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhl" + + "IHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVh" + + "c2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBk" + + "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + + "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0" + + "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "dHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + + "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVz" + + "cGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + + "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMj" + + "IyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5z" + + "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52" + + "Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAt" + + "LWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + + "ZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + + "c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxt" + + "IENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5" + + "IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNh" + + "c3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1h" + + "Z2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0" + + "aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVl" + + "czpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + + "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + + "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + + "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + + "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + + "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + + "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + + "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + + "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + + "MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpk" + + "ZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRo" + + "ZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFt" + + "bC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEg" + + "c2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpg" + + "YGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRl" + + "bnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1" + + "bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0" + + "aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQ" + + "SSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwK" + + "fC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFn" + + "ZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0" + + "aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0" + + "ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5" + + "YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVu" + + "dj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJT" + + "X0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBz" + + "ZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBz" + + "ZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0" + + "bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBi" + + "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0" + + "cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdq" + + "c29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFD" + + "RV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQg" + + "b2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1" + + "bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2" + + "YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBk" + + "b2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRv" + + "YXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + + "fCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAu" + + "Cj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCBy" + + "ZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29y" + + "ZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVj" + + "YXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdh" + + "cmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBi" + + "YWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5j" + + "b2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3Rh" + + "Y2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJp" + + "bnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFv" + + "IGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBz" + + "ZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJl" + + "cGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQK" + + "PiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMg" + + "cGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9y" + + "Zyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rp" + + "b24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVy" + + "ZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUg" + + "YWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBz" + + "ZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWly" + + "cm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1" + + "dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVu" + + "dGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpV" + + "c2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBp" + + "bmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2Vz" + + "LiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29u" + + "ZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAx" + + "LiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5n" + + "aXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBr" + + "eXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRl" + + "IHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + + "a2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUg" + + "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2Nr" + + "ZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4g" + + "QXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8t" + + "aW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5" + + "IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6" + + "IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3Jl" + + "dHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVk" + + "ZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3" + + "aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVs" + + "bCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBz" + + "dGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAg" + + "ICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVu" + + "dHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBg" + + "YAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8" + + "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVu" + + "YXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0" + + "IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1" + + "Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENo" + + "ZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsg" + + "YHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8g" + + "a25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBP" + + "cGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBv" + + "ZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAv" + + "IGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + + "RGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdy" + + "YXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQu" + + "IHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21h" + + "bGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8Cnwg" + + "REItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGlu" + + "ZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJB" + + "X1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0" + + "cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4g" + + "dGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + + "aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRp" + + "bmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBg" + + "a3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0g" + + "cmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkg" + + "fCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBB" + + "Y2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNl" + + "Y3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9v" + + "dHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQg" + + "VW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBo" + + "b29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyBy" + + "ZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28g" + + "dGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1" + + "biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3Zlcmlm" + + "eS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZh" + + "dWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNv" + + "ZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUg" + + "cmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3Rv" + + "cnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2Ag" + + "YW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZh" + + "bHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcg" + + "bWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRl" + + "cml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0" + + "IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmln" + + "IHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNj" + + "b3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCBy" + + "ZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJl" + + "Y2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nl" + + "c3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFp" + + "cmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0" + + "aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJz" + + "ZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25v" + + "d24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5n" + + "IHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNv" + + "bnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2Ig" + + "aXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVh" + + "c2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlm" + + "IGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhv" + + "b2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + + "LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQK" + + "YGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5t" + + "ZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + + "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQg" + + "W3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9w" + + "dWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQp" + + "CgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxs" + + "IHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQg" + + "aW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpz" + + "b25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAog" + + "ICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15" + + "IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qg" + + "b3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUg" + + "YWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3Qg" + + "MS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBr" + + "dWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJv" + + "Y2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVy" + + "aWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1v" + + "ZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0" + + "IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5k" + + "IHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBj" + + "b21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZp" + + "bGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWlj" + + "aywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhl" + + "IGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8g" + + "c2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJl" + + "dmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQg" + + "ZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBi" + + "bGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0" + + "ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3" + + "IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5" + + "IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFu" + + "dCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + + "NS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNl" + + "cyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3" + + "ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMu" + + "IEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwg" + + "dGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1" + + "Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAo" + + "bnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVz" + + "dGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRo" + + "ZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAg" + + "IlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRv" + + "IHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwg" + + "cmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1l" + + "c3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1l" + + "c3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90" + + "aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGly" + + "ZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxp" + + "emVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxv" + + "dyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEg" + + "c2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhl" + + "IGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVu" + + "ZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250" + + "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJl" + + "LUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMs" + + "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2Vm" + + "aWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRl" + + "IGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdp" + + "dGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdp" + + "c3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + + "eHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVk" + + "IHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBj" + + "b21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmws" + + "IGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3Vy" + + "bCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZv" + + "ciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RF" + + "Ul9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdf" + + "RklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhF" + + "TE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhl" + + "IGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25m" + + "aWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21z" + + "LWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBh" + + "bmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQg" + + "bm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0" + + "ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dp" + + "biBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVz" + + "ZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28g" + + "ZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "dmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVj" + - "dGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlz" + - "dHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChj" + - "YXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2" + - "YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5h" + - "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVs" + - "bWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3ki" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAo" + - "ZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJv" + - "eGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhl" + - "YWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNv" + - "bXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFu" + - "ZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2Ug" + - "bnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFu" + - "ZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVk" + - "IGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0" + - "aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBj" + - "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0" + - "ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWlu" + - "IGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3Vt" + - "ZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBp" + - "bnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0t" + - "Y29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + - "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + - "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIg" + - "Y29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUs" + - "IC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0" + - "YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3Rh" + - "bGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0" + - "ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMg" + - "dGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJl" + - "Z2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5k" + - "cmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRp" + - "bmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUg" + - "dGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5l" + - "IHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRo" + - "ZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5k" + - "IHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + - "cmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1" + - "ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAog" + - "ICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0" + - "cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUp" + - "IiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBz" + - "cGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50" + - "aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZp" + - "bGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1" + - "ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNz" + - "YW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRl" + - "cGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVu" + - "ZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBk" + - "ZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5j" + - "eSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVt" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3Ig" + - "dGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBw" + - "b2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5k" + - "IHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNj" + - "cmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVs" + - "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZp" + - "ZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Np" + - "bmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + - "bWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0" + - "aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9y" + - "IHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAi" + - "VGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29y" + - "IHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBj" + - "YXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJD" + - "b25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNv" + - "bnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5k" + - "IHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRl" + - "d2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1n" + - "YXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9p" + - "bnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBO" + - "VkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlz" + - "Y292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBm" + - "aWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBS" + - "ZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0" + - "ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVk" + - "aW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3Rl" + - "bS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "cmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + + "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3Ry" + + "eSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tF" + + "WSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVx" + + "dWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + + "IGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRo" + + "ZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "RzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZv" + + "ciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + + "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVu" + + "IGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRv" + + "IGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0" + + "IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBi" + + "dW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + + "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBz" + + "dHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlh" + + "bWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhl" + + "IGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAg" + + "IlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4g" + + "aW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtT" + + "IGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRp" + + "b24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGlj" + + "YXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0" + + "aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1l" + + "bnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxh" + + "bmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNp" + + "b25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0" + + "cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1h" + + "bmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBw" + + "cmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVf" + + "RU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2Vydmlj" + + "ZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwK" + + "ICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVn" + + "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVz" + + "aW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBI" + + "ZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJv" + + "ZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwg" + + "bXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRl" + + "IGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + + "IGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1h" + + "bmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUt" + + "cGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBw" + + "cm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBz" + + "d2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZl" + + "cmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + + "b25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVu" + + "diwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1y" + + "ZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVk" + + "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + + "LS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQg" + + "LS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhl" + + "IGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2Ug" + + "YW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAi" + + "cXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVh" + + "c2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlm" + + "aWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5n" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3" + + "YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYg" + + "YmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3" + + "aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUg" + + "cmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1p" + + "bmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVz" + + "OiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQg" + + "d2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJl" + + "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBh" + + "Z2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZm" + + "IGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYt" + + "c2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25s" + + "eSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAt" + + "LSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhl" + + "bG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBn" + + "cm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAg" + + "IlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1z" + + "eXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50" + + "IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxl" + + "YXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxi" + + "YWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxs" + + "QmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21t" + + "YW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNr" + + "ZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qg" + + "c3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2lu" + + "ZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMp" + + "IGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYg" + + "ZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhl" + + "IGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGlt" + + "YWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAog" + + "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEg" + + "c3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91" + + "dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVL" + + "UyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2gg" + + "aXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1" + + "bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRo" + + "ZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVu" + + "dm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRl" + + "d2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJv" + + "eHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVz" + + "IE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJl" + + "ZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21z" + + "X2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVy" + + "bmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBp" + + "biBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1" + + "dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5h" + + "dHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2Ug" + + "ZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2lu" + + "dHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJM" + + "LCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZp" + + "Y2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJM" + + "IHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhl" + + "IGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3Jw" + + "YyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3Ru" + + "YW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBp" + + "LnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5i" + + "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + + "ZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNv" + + "bmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVh" + + "ZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + + "aWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1w" + + "bGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAog" + + "ICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1v" + + "cGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5" + + "c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAg" + + "InF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRl" + + "LXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBh" + + "bmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZp" + + "bGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBh" + + "c3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBo" + + "YW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxv" + + "d3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBh" + + "bmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0" + + "YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2" + + "aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBu" + + "b3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNv" + + "bmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0" + + "aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVj" + + "dCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5" + + "IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRy" + + "b2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUg" + + "dGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2Vk" + + "IGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0" + + "aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29u" + + "ZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVy" + - "TmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + - "c2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdh" + - "dGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + - "Z2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJM" + - "LCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkws" + - "IGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94" + - "eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMg" + - "c2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFw" + - "aS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFu" + - "ZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNl" + - "dCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAg" + - "IlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVk" + - "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + - "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIs" + - "CiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJM" + - "LCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNl" + - "cnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwK" + - "ICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1" + - "ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNy" + - "ZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5k" + - "IG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1z" + - "cGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRy" + - "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0" + - "aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVn" + - "aXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUg" + - "Y29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZv" + - "cm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + - "ZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9u" + - "IGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFu" + - "ZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hp" + - "cCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNz" + - "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2Ug" + - "YnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVu" + - "YW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhl" + - "IGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0" + - "dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFt" + - "ZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRp" + - "Y3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNv" + - "bmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rl" + - "ci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVu" + - "dCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3Qg" + - "cmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0" + - "ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0" + - "cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29u" + - "ZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVz" + - "dGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAg" + - "IkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBi" + - "b3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + - "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFi" + - "b3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVu" + - "IGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAg" + - "ICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBw" + - "cm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxl" + - "IGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNP" + - "TkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBv" + - "dXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29t" + - "cGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBm" + - "dWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywg" + - "c3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBh" + - "bmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJu" + - "ZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBn" + - "b3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29u" + - "ZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5k" + - "IC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJU" + - "aGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3Rl" + - "ciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlv" + - "bnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5j" + - "ZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlB" + - "TUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVl" + - "cyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVk" + - "IHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFs" + - "LnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGds" + - "b2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBl" + - "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5s" + - "aW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFs" + - "dWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFt" + - "bC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBp" + - "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + - "Y2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywg" + - "Z2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJi" + - "aXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVz" + - "OiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhh" + - "dCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUg" + - "YSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5h" + - "YmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVu" + - "Y3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBp" + - "c29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVy" + - "aWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3Vy" + - "ZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJv" + - "dXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9m" + - "LXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtl" + - "ZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBv" + - "dGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIs" + - "IGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5k" + - "bGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRD" + - "b25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBz" + - "ZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3" + - "b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBj" + - "b21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0" + - "aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUg" + - "TExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFi" + - "bGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50" + - "IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUg" + - "c2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0" + - "aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhl" + - "IGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIg" + - "bWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0" + - "ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5j" + - "bHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVk" + - "IHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRy" + - "YW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250" + - "cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxh" + - "bmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVw" + - "bG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + - "bGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBh" + - "bmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24i" + - "OiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3Rpbmci" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNl" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJl" + - "cXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2ls" + - "bCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3Qg" + - "cmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3Rl" + - "YWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhl" + - "bG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAi" + - "VGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5j" + - "ZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQog" + - "IH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1w" + - "bGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4K" + - "CiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQg" + - "Q2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlw" + - "ZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFy" + - "dCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVs" + - "bWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5l" + - "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJj" + - "ZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFk" + - "ZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4g" + - "dGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2Vj" + - "cmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBu" + - "YW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVu" + - "YWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2" + - "YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1" + - "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBj" + - "YXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAg" + - "ICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6" + - "CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMj" + - "IFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRl" + - "ci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAj" + - "IENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAg" + - "KGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRy" + - "YSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoK" + - "IyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwg" + - "U2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZy" + - "b20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcg" + - "aW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZv" + - "ciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToK" + - "ICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52" + - "aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTog" + - "bnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhl" + - "bG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9h" + - "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAt" + - "dSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRl" + - "IG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9" + - "Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + - "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + - "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0t" + - "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + - "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + - "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAg" + - "NDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hh" + - "cnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1w" + - "bGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + - "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFn" + - "ZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5j" + - "ZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBr" + - "ZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4g" + - "Rm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGlu" + - "IGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52" + - "Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0" + - "ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0" + - "Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0" + - "ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJl" + - "IGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBu" + - "cyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8t" + - "aGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50" + - "IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUi" + - "OiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZl" + - "cmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + - "IHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2Ui" + - "IGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBS" + - "ZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVh" + - "biBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + - "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0" + - "ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0" + - "IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWls" + - "dXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0" + - "ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9t" + - "CmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXIt" + - "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1h" + - "dGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0t" + - "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + - "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + - "aWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0" + - "ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoK" + - "UHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3Bh" + - "Y2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9y" + - "ZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + - "bmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + - "aW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + - "ZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBs" + - "YW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + - "IGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxl" + - "dGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXApt" + - "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkg" + - "Y2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Z2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3Jl" + - "cCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90" + - "aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFs" + - "bCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2Ns" + - "ZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRl" + - "d2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBv" + - "ciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQu" + - "CgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9" + - "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBc" + - "CiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1" + - "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMg" + - "U3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2Jh" + - "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2Vk" + - "LiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3Vj" + - "aCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRF" + - "V0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAg" + - "aXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3" + - "aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBj" + - "b25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhl" + - "IGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVS" + - "TGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJM" + - "IGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4g" + - "UmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhh" + - "bmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZp" + - "ZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250" + - "ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + - "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAt" + - "biBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9y" + - "IC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5h" + - "Z2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1" + - "OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0" + - "ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3Qg" + - "TkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1" + - "YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5k" + - "cmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0" + - "IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNl" + - "bGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBg" + - "cmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24t" + - "c2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRp" + - "b25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5h" + - "YmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdl" + - "cyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5l" + - "bmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + - "dCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVg" + - "IHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1" + - "ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRl" + - "d2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9" + - "dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRl" + - "d2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5k" + - "IGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8" + - "IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + - "IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdy" + - "b3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFz" + - "ZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1" + - "ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQg" + - "d2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8o" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEA" + - "ps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUg" + - "YW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJv" + - "bApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1" + - "c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxp" + - "ZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUg" + - "SGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3Vy" + - "Y2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8" + - "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5k" + - "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAg" + - "fAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBh" + - "bmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3Qg" + - "Y29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25v" + - "cmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRy" + - "YWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUg" + - "dGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZs" + - "b3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246Cgot" + - "IGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9y" + - "IGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBz" + - "ZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBz" + - "ZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVl" + - "cy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + - "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + - "cGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3" + - "YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMg" + - "dG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVz" + - "IHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBl" + - "eHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8" + - "Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWlu" + - "PmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRo" + - "YXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtl" + - "ckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21h" + - "aW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWlu" + - "PiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdh" + - "dGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8v" + - "YXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToK" + - "ICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5" + - "czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdh" + - "dGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3kt" + - "Z2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBu" + - "YW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJv" + - "dXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1" + - "ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAg" + - "ICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAg" + - "ICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5h" + - "dHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNz" + - "dWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoK" + - "ICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJo" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + - "aWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + - "OiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1k" + - "b21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5z" + - "dCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBh" + - "IGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBh" + - "c3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2" + - "aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlz" + - "X2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRp" + - "b24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBg" + - "YAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hl" + - "bWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAt" + - "LWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdh" + - "eSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFn" + - "LgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNv" + - "bXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + - "ICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VS" + - "TD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + - "bGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNG" + - "X0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXIt" + - "bmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + - "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBp" + - "c3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGkt" + - "Y2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3Ro" + - "CmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQg" + - "bWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0" + - "aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250" + - "cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQg" + - "YnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + - "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + - "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRy" + - "b2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBg" + - "CgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBj" + - "b21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + - "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + - "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFu" + - "ZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1j" + - "b250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52" + - "IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVz" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3Rl" + - "ciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + - "IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndp" + - "dGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3Jl" + - "dHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBv" + - "biB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "CmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBg" + - "bnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxs" + - "U2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQg" + - "b3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNh" + - "LXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFu" + - "ZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3Jl" + - "dHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGlj" + - "aXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4g" + - "ZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Et" + - "b3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3su" + - "c3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBu" + - "dmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5" + - "IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNh" + - "biBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZv" + - "cmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBk" + - "ZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + - "IHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQK" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNw" + - "YWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0" + - "aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpG" + - "b3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFs" + - "dWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + - "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + - "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + - "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + - "CgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + - "eWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVm" + - "b3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0" + - "cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJv" + - "bCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBc" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4K" + - "YGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVk" + - "IG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFu" + - "dXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2Vl" + - "cApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93" + - "bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlv" + - "biBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAg" + - "LS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQg" + - "PG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFt" + - "ZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQg" + - "cHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25k" + - "aXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3Qg" + - "cmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9s" + - "IHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9y" + - "ZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVm" + - "aXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "dGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxv" + + "dyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMg" + + "Y29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1m" + + "aWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZv" + + "cmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRv" + + "ZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3" + + "YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBI" + + "ZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + + "ZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2" + + "ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBv" + + "biBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBm" + + "bG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQg" + + "ZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBs" + + "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdf" + + "RklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZv" + + "cmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNv" + + "bW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNs" + + "dXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNv" + + "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3" + + "YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRo" + + "cywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3du" + + "IC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + + "IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNv" + + "bnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjog" + + "IkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNp" + + "bGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVu" + + "Y2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0" + + "cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25s" + + "eSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWlu" + + "OiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMg" + + "LT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRy" + + "YS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLiki" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMg" + + "bXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5k" + + "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxv" + + "Y2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0" + + "aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVy" + + "LiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJ" + + "IG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFk" + + "ZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBm" + + "b3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQg" + + "dGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJh" + + "bGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1" + + "ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2Rz" + + "LiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNl" + + "bGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBh" + + "dXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndv" + + "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5z" + + "cG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBu" + + "b3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0" + + "aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlz" + + "dGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91" + + "dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0" + + "ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVx" + + "dWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1" + + "c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRl" + + "ZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1y" + + "b3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhl" + + "IGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + + "Y2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJn" + + "YXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBh" + + "bmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBl" + + "bnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2Vs" + + "ZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBm" + + "dW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxt" + + "LXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNp" + + "ZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5W" + + "Q0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0" + + "byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxm" + + "LW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVj" + + "aWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQi" + + "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0" + + "aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBr" + + "M2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhl" + + "IGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVz" + + "IGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJy" + + "aWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBs" + + "aW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFy" + + "Z2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4K" + + "ClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVz" + + "IGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + + "bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9y" + + "ZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZp" + + "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywg" + + "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + + "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVy" + + "c2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBj" + + "YXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + + "YWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + + "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJl" + + "c291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAg" + + "ICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIy" + + "IgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQg" + + "YXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fz" + + "cy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBj" + + "aGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkg" + + "aXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNl" + + "IGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95" + + "IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUg" + + "TlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBp" + + "bnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4K" + + "CiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICBy" + + "ZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgog" + + "ICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMj" + + "IFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykK" + + "CmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + + "JE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxs" + + "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + + "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + + "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNy" + + "ZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1" + + "bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4g" + + "YGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1l" + + "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + + "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + + "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + + "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + + "YW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAg" + + "ICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0o" + + "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4K" + + "ClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1" + + "dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRo" + + "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3Bs" + + "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + + "bnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBm" + + "b3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVu" + + "Y2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09m" + + "ZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52" + + "Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNv" + + "bHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAg" + + "ICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19Jwog" + + "IGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxl" + + "dGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQt" + + "c3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNo" + + "b3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgot" + + "LS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVw" + + "bG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAx" + + "OiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + + "dGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29t" + + "cHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBv" + + "biBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVn" + + "Z2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1" + + "Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0" + + "ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5n" + + "IHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVz" + + "dGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9u" + + "LXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoK" + + "UmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVw" + + "IDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1t" + + "YW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2Vz" + + "Cm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBp" + + "ZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFs" + + "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFn" + + "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + + "cmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1p" + + "c3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + + "IGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNp" + + "dCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJF" + + "Q09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + + "SUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29u" + + "ZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFt" + + "YmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1F" + + "ICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + + "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJl" + + "dHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZv" + + "bGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0" + + "aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgot" + + "LS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UK" + + "ClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIg" + + "d2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRo" + + "ZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBl" + + "bnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + + "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBh" + + "bmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + + "dG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNv" + + "cmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAg" + + "YW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVt" + + "cG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBz" + + "dWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhv" + + "c3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVj" + + "dCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFs" + + "dWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklD" + + "TVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIg" + + "ZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9u" + + "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxs" + + "eS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNv" + + "bW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtz" + + "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + + "JEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + + "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91" + + "dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3By" + + "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91" + + "dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0t" + + "dGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2Fp" + + "dCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9w" + + "ZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5" + + "IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5k" + + "ZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBj" + + "b25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3Bl" + + "bkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5h" + + "dHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFz" + + "ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + + "eW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwK" + + "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwg" + + "bmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHks" + + "IGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91" + + "dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFs" + + "IHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBh" + + "ZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9u" + + "YWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24g" + + "YW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVl" + + "c3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxt" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0" + + "aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5p" + + "dHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0" + + "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3" + + "YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5" + + "IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25z" + + "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jl" + + "c3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFs" + + "IHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBo" + + "YXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFt" + + "ZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAA" + + "AAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + + "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFy" + + "ZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4g" + + "cmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFu" + + "ZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21i" + + "aW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUg" + + "ZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmls" + + "ZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmly" + + "b25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + + "dGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENM" + + "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHBy" + + "b2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQt" + + "YXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUg" + + "cmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQg" + + "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBm" + + "b3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZp" + + "cm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVn" + + "aXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "IGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUt" + + "cmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhl" + + "IGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5j" + + "b20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBs" + + "YW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVu" + + "dm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0" + + "ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhl" + + "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVz" + + "IHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlz" + + "IHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3" + + "aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + + "CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNm" + + "U2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0" + + "c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2" + + "aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZp" + + "Y2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0" + + "aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBj" + + "cHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVy" + + "LmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNw" + + "YWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25h" + + "bWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7" + + "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6" + + "CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + + "d2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6" + + "CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1l" + + "czogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAg" + + "IGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29y" + + "a2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAg" + + "ZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAg" + + "c2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + + "c3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1k" + + "b21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + + "CiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRv" + + "bWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + + "ICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3" + + "IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBi" + + "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + + "aWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + + "aWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVz" + + "cywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NP" + + "TkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + + "Cmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8" + + "Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlf" + + "aG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdh" + + "dGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4i" + + "CmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRh" + + "aW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMg" + + "b25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hv" + + "c3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJl" + + "IGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhl" + + "IGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFz" + + "aAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0" + + "ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwK" + + "ICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAog" + + "IE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRv" + + "LW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpg" + + "YGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20g" + + "dGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwg" + + "YEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1h" + + "bmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkK" + + "d2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoK" + + "IyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZp" + + "cnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVn" + + "aXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + + "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0" + + "ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9u" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNp" + + "c3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52" + + "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + + "cGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUu" + + "eWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + + "LS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdp" + + "b24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkg" + + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + + "CiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3Ry" + + "YXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFi" + + "bGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tT" + + "LiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVs" + + "bWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRy" + + "b2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUK" + + "Y29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRl" + + "IGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBy" + + "ZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBg" + + "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRk" + + "CmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRz" + + "IGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + + "bWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQg" + + "bmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lk" + + "ZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUg" + + "LW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3Bl" + + "cmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1u" + + "IG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30n" + + "PWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBU" + + "ZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9y" + + "ZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJv" + + "bCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNl" + + "cnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHBy" + + "ZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3" + + "aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + + "dGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQg" + + "YWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + + "ZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRj" + + "aGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3Ig" + + "bWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZl" + + "cmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJt" + + "YXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFu" + + "dXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxN" + + "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29u" + + "ZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1j" + + "bHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBh" + + "bmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3Ry" + + "YXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFj" + + "dCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVg" + + "LiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29t" + + "cHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktV" + + "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJ" + + "R2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFu" + + "ZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3Vi" + + "ZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAK" + + "dW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVy" + + "IElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUg" + + "Y29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + + "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21w" + + "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0" + + "aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1w" + + "bGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBj" + + "b21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + + "ZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3Rlciwg" + + "cmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBw" + + "cmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + + "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2Et" + + "aWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + - "ICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZp" + - "Zz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBs" + - "YW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJl" + - "YWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3du" + - "YCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0" + - "ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250" + - "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsH" + - "CJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBE" + - "ZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29t" + - "bW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENv" + - "bW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVj" + - "dGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0" + - "IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVz" + - "KQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVz" + - "dGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9u" + - "cywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1l" + - "PgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + - "dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFH" + - "RQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVt" + - "CmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlv" + - "Ly4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlm" + - "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBu" + - "dmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1h" + - "Z2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAt" + - "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vy" + - "dmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+" + - "IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMj" + - "IyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0Cgog" + - "ICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJu" + - "YW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1" + - "dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxT" + - "ZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRz" + - "Lm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQ" + - "dWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFy" + - "eS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBb" + - "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFs" + - "cyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdp" + - "dGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNr" + - "IChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0" + - "OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBS" + - "RUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZs" + - "dCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + - "VGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRp" + - "bmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiBy" + - "YW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2Qg" + - "bG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3Bl" + - "bmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0" + - "bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAK" + - "CiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIg" + - "ZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAq" + - "Kk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBo" + - "ZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJh" + - "bzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2" + - "YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAj" + - "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipP" + - "cGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBz" + - "dGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + - "by1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1h" + - "Z2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5" + - "IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9u" + - "IG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBh" + - "IHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRo" + - "b2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5" + - "CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxp" + - "dmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2" + - "aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNl" + - "J3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBw" + - "b2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRo" + - "ZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + - "ZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292" + - "ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50" + - "ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBt" + - "aWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJh" + - "c2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwp" + - "LCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlz" + - "c3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxl" + - "dGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3lu" + - "YwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVk" + - "IGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmln" + - "dXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9v" + - "cGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVh" + - "Y2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIg" + - "T0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5l" + - "ZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRj" + - "aCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2ls" + - "bGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVB" + - "RFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtp" + - "bGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJM" + - "YXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlh" + - "IGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1w" + - "bGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0" + - "czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3Rz" + - "OgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVz" + - "b3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBw" + - "ZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1" + - "Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + - "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcg" + - "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVu" + - "dHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2" + - "YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAt" + - "ICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAi" + - "cGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9k" + - "ZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1l" + - "bnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwg" + - "Z3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBz" + - "dG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xh" + - "c3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBh" + - "Y2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBn" + - "cmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJl" + - "bGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1B" + - "CiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVs" + - "bWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrICht" + - "aWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3Rvcnkg" + - "PHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kg" + - "dGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRl" + - "c3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNw" + - "YWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJl" + - "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQg" + - "Qm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBm" + - "dW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWls" + - "dXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVz" + - "Cmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBh" + - "ZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBw" + - "Lmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBD" + - "YXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBz" + - "ZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAg" + - "YmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVy" + - "aWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycg" + - "fCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAog" + - "ICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSBy" + - "ZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFs" + - "c2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3Zl" + - "ciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + - "IGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAt" + - "LWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0" + - "bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBz" + - "ZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAg" + - "U3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBo" + - "YW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tl" + - "bmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2Fp" + - "bnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0" + - "ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1" + - "c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFz" + - "aApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92" + - "ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0" + - "ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEg" + - "Jy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAt" + - "ciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5h" + - "bWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFj" + - "a2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJm" + - "aW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0" + - "ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGlu" + - "IG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + - "UFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBc" + - "CiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0" + - "ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNw" + - "YWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6" + - "IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIg" + - "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxv" + - "eW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJh" + - "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1l" + - "bnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMj" + - "IERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxh" + - "dGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxv" + - "dy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + - "c3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRo" + - "ZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBp" + - "bnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAt" + - "biBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFp" + - "bD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2Zi" + - "YWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJl" + - "cywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAu" + - "IFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5v" + - "dCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMu" + - "bWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBH" + - "YXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0" + - "aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMg" + - "bG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRw" + - "b2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdh" + - "eSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBd" + - "LnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWlu" + - "PiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVh" + - "bHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxv" + - "eW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNl" + - "fG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0" + - "bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRp" + - "cmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9u" + - "bHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9u" + - "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUK" + - "W0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3" + - "YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBw" + - "aW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1l" + - "c3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18" + - "CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwK" + - "fCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlv" + - "bi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0" + - "LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1p" + - "c3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZv" + - "eS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZp" + - "bGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5j" + - "aWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNv" + - "cmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0t" + - "IDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRp" + - "b25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAg" + - "ICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1l" + - "Pi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3Jl" + - "dHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1" + - "ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVz" + - "CgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRl" + - "cGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9u" + - "ZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9y" + - "IGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBi" + - "YXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9u" + - "bWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9u" + - "bWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28g" + - "dGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFj" + - "a3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBI" + - "ZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBD" + - "TEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9m" + - "ZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMj" + - "IyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + - "YWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBu" + - "YXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJh" + - "by1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNy" + - "ZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNm" + - "LWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRl" + - "cGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVu" + - "ZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + - "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + - "LS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2" + - "aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBo" + - "ZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBo" + - "ZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXBy" + - "b3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkg" + - "fCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8" + - "IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBo" + - "ZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + - "L2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1h" + - "cGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJv" + - "eHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52" + - "Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9z" + - "dCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxl" + - "YXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5k" + - "YWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUg" + - "Z2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBg" + - "aW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2" + - "YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJl" + - "bCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmls" + - "aXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5" + - "IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25t" + - "ZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoK" + - "IyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5j" + - "aWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0" + - "aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlv" + - "dSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhl" + - "IHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUg" + - "YWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZh" + - "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + - "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRl" + - "cGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVh" + - "c2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + - "ICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0t" + - "c2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0g" + - "bmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + - "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJl" + - "ZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQog" + - "ICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAg" + - "ICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRg" + - "IChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZp" + - "bGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQog" + - "IHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxh" + - "dGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJl" + - "bGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + - "ZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZh" + - "bHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVu" + - "dmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmly" + - "b25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBv" + - "dmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2lu" + - "ZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1" + - "ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZh" + - "bHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQg" + - "Z2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCBy" + - "ZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZp" + - "YyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFz" + - "c2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJh" + - "CgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lz" + - "dHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNz" + - "YW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBn" + - "bG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0" + - "U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5h" + - "dHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAot" + - "IGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAot" + - "IGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkK" + - "CiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFv" + - "Lm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8u" + - "c2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBz" + - "ZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBg" + - "PHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5v" + - "ZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxp" + - "dHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExN" + - "IGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rp" + - "b25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFu" + - "ZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCBy" + - "b3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMg" + - "d29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlz" + - "IGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJs" + - "ZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0" + - "aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBw" + - "bHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1" + - "ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAg" + - "ICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJv" + - "dXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vydmlj" + - "ZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VD" + - "b25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFt" + - "ZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6" + - "IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xl" + - "LW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZl" + - "cyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sK" + - "ZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50" + - "ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9u" + - "bHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3Bv" + - "cnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRo" + - "ZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlv" + - "bi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBs" + - "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rp" + - "b24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQt" + - "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1l" + - "dGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6" + - "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0t" + - "cmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIg" + - "aW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lz" + - "dHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFn" + - "ZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0" + - "YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xp" + - "ZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUg" + - "bGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBh" + - "dGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRp" + - "YmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3Rl" + - "LWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIg" + - "YW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVm" + - "cmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9m" + - "ZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmln" + - "Lm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBs" + - "YXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0" + - "ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9m" + - "aWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBp" + - "bnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5j" + - "dGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNh" + - "cHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVk" + - "ZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFn" + - "ZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5l" + - "dyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQK" + - "d29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1h" + - "cGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJv" + - "dXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8" + - "bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQpr" + - "dWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29u" + - "cGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFy" + - "Z3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMs" + - "IHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpG" + - "b3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpb" + - "U3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9u" + - "dmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFu" + - "Y2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3Bl" + - "Y2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + - "bmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFz" + - "ZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1p" + - "bi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAo" + - "ZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3Rl" + - "OiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2Ug" + - "YC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9u" + - "CgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5l" + - "bCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3Rh" + - "Y2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBl" + - "bmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwg" + - "VUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJ" + - "ZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBu" + - "dmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2th" + - "Z2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGlu" + - "IGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZV" + - "aToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBw" + - "dWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3Jl" + - "dCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0" + - "cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1" + - "YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVp" + - "IFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpU" + - "aGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + - "bmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCBy" + - "b3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlg" + - "IHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2Yt" + - "dWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhl" + - "IHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + - "ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+" + - "IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhl" + - "IE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90" + - "IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0" + - "cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQg" + - "b2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNl" + - "CgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJl" + - "Z2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGlt" + - "YWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1w" + - "bGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250" + - "ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5k" + - "ZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNy" + - "ZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRl" + - "LXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRv" + - "cmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAo" + - "UmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBh" + - "ZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1" + - "cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1j" + - "cmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gK" + - "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "ZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + - "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "ZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZl" + - "cmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMu" + - "IEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5v" + - "LmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1h" + - "Z2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5h" + - "bWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAg" + - "IGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAg" + - "IC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAg" + - "ICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVz" + - "cyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1z" + - "eXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1t" + - "YW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAg" + - "ICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNm" + - "Lm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAg" + - "ICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6" + - "IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFt" + - "bApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRo" + - "ZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29u" + - "dHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5q" + - "ZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29t" + - "cHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + - "b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9" + - "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVu" + - "Y2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xv" + - "YmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUg" + - "Y2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAg" + - "YW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBi" + - "cm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9y" + - "IHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBD" + - "aGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + - "JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJu" + - "byBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRh" + - "dGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + - "LWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+" + - "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + - "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNr" + - "IHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMg" + - "XAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVk" + - "ZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZl" + - "IGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5l" + - "dGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1Ymxp" + - "YyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4g" + - "Y3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdp" + - "dGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hv" + - "b3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcg" + - "cG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFm" + - "dGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2Vy" + - "IHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4g" + - "ZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Np" + - "b24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxk" + - "IGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNm" + - "LWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMg" + - "V3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZl" + - "cmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4g" + - "PG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAzvtdfUoQAABK" + - "EAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABSb7lraDQAA2g0AADMACQAA" + - "AAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVs" + - "aW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAA" + - "AISAAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAATI0AAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAC/mgAAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAzrQAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABU2gAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAIbpAABkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAA+BEBAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAADAaAQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "AHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAeTwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA8GfBY4ggAAOII" + - "AAAyAAkAAAAAAAAAAAAAAAFgAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + - "ZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCvV4FFVzYAAFc2AAAtAAkAAAAA" + - "AAAAAAAAAExpAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAAAHoAEAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAOmxAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAJUUAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJS" + - "TkB/KAAAfygAAC8ACQAAAAAAAAAAAAAASmsCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwA" + - "CQAAAAAAAAAAAAAAL5QCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAADExAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAADr9QIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAABwIAMAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAnygDAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEA" + - "ps4SUEsFBgAAAAAXABcArwkAABQ/AwAAAA==" + "ICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + + "ICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBj" + + "bHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0" + + "ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVy" + + "IG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAI" + + "AAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoK" + + "UmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdl" + + "ZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFs" + + "bCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUK" + + "CiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1l" + + "c3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRz" + + "IChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRz" + + "IC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEg" + + "c3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJ" + + "bWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVB" + + "RFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8x" + + "ICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoK" + + "YGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAx" + + "IFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGlt" + + "YWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMg" + + "aW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + + "YWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + + "bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5p" + + "bWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFn" + + "ZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBq" + + "c29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0" + + "IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9" + + "PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJl" + + "bmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2" + + "aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + + "KS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJh" + + "bywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNl" + + "cnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + + "bC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0" + + "ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3It" + + "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlh" + + "bHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMg" + + "U3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoK" + + "YGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJF" + + "U1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEg" + + "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBp" + + "cyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBg" + + "YmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3Rl" + + "bQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMg" + + "LW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + + "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBj" + + "b250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNl" + + "PiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3Bl" + + "bkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVs" + + "bCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBq" + + "b2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGlu" + + "dGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIg" + + "ZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + + "ZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcg" + + "YnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + + "byAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0" + + "aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRh" + + "dGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkg" + + "Y2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkg" + + "SldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdp" + + "dGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9u" + + "X3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5v" + + "dCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRo" + + "ZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1p" + + "bml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5p" + + "dDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVu" + + "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1p" + + "Z3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNp" + + "bmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJh" + + "Y2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxp" + + "dmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYg" + + "dmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJh" + + "bzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMg" + + "ICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0" + + "ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWln" + + "cmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQg" + + "ZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwg" + + "T3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQg" + + "dGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBt" + + "aW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQg" + + "KHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0" + + "aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0" + + "aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMj" + + "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + + "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0K" + + "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMg" + + "Rml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNl" + + "ZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0g" + + "Y2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgog" + + "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3Qg" + + "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + + "aXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBT" + + "eW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRT" + + "ICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBg" + + "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZh" + + "aWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMg" + + "Q29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykg" + + "ZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZh" + + "aWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFp" + + "bSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gq" + + "KjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gK" + + "ICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIu" + + "ICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMK" + + "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1" + + "ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAg" + + "a3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCBy" + + "ZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0" + + "ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0" + + "aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMg" + + "dG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4K" + + "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxu" + + "YW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBh" + + "bmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNl" + + "IG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQg" + + "aWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJl" + + "bGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVk" + + "CgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNy" + + "ZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1u" + + "IG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3Vi" + + "ZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNr" + + "IEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9" + + "bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJh" + + "c2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRz" + + "LnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3Qg" + + "anVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3Jl" + + "ZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hv" + + "dWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5" + + "IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGlu" + + "IGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3Jl" + + "ZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBk" + + "ZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVs" + + "ZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBh" + + "cGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + + "cyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoK" + + "IyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1" + + "Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJh" + + "dG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAg" + + "IDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250" + + "ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4g" + + "UmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApm" + + "b3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09O" + + "VEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + + "Q0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + + "Z2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0" + + "YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBz" + + "aCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVj" + + "dGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5z" + + "IiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBf" + + "ICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBi" + + "eSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2Yt" + + "YmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5h" + + "bWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFs" + + "aXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + + "cmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAt" + + "ZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Np" + + "bmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + + "bCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQg" + + "ZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAog" + + "IC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVz" + + "CgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQg" + + "ZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + + "IERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxs" + + "YXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBj" + + "b250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZj" + + "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJh" + + "dG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBw" + + "dWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJh" + + "dG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51" + + "YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQj" + + "Y29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFu" + + "Z2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUg" + + "ZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVw" + + "bGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lz" + + "CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBc" + + "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + + "R0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + + "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0" + + "IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNT" + + "ZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + + "YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMg" + + "Rml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVy" + + "cmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0" + + "aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFk" + + "ZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + + "cm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1w" + + "bGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSku" + + "CgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNl" + + "IGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2Ug" + + "fCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0" + + "cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3Bl" + + "bmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + + "eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0" + + "ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3Mg" + + "fCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kg" + + "Z2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkg" + + "cmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9o" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVu" + + "Y2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sv" + + "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBO" + + "QVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5Lnlh" + + "bWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVu" + + "dHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVz" + + "IChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAg" + + "IyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFt" + + "ZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywg" + + "cGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1w" + + "bGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5l" + + "LXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNh" + + "LnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25m" + + "aWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAg" + + "ICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYt" + + "bmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBn" + + "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + + "dWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52" + + "aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cg" + + "YXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0" + + "ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBl" + + "bmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + + "IyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0t" + + "LS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRz" + + "IHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNm" + + "LW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBl" + + "bmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5k" + + "cmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBp" + + "bmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMj" + + "IDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + + "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8" + + "IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0t" + + "bnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2Yg" + + "fCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24t" + + "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBj" + + "LXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkg" + + "fCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNl" + + "cnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVl" + + "c3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hl" + + "bG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vl" + + "ci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8g" + + "cmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwg" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhl" + + "cml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMg" + + "ZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9n" + + "bG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxt" + + "LmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRh" + + "bG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwK" + + "CnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0t" + + "LS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFy" + + "aW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZh" + + "YmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlm" + + "IGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5" + + "YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1l" + + "cmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNo" + + "YSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtl" + + "eSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6" + + "YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6" + + "CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhl" + + "IGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFt" + + "bAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5j" + + "eQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVl" + + "czoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1" + + "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVu" + + "IG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRl" + + "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + + "fX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlv" + + "dXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + + "ICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoK" + + "VXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRh" + + "bmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5h" + + "bWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hl" + + "biBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVk" + + "IHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNg" + + "IGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJv" + + "bSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1s" + + "YCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQt" + + "c3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlh" + + "bWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVs" + + "ZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQ" + + "YXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2Ag" + + "KHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVj" + + "dHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQg" + + "ZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxp" + + "Y2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + + "Y2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNp" + + "emVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMu" + + "ZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBO" + + "QVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipg" + + "Ci0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3Ry" + + "ZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5t" + + "ZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3Bl" + + "bmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBg" + + "b3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBv" + + "cGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVk" + + "KQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAo" + + "cmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFi" + + "bGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExM" + + "TSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRp" + + "bmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUg" + + "YWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAs" + + "IGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQ" + + "SQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBM" + + "TE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVk" + + "YC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2lu" + + "Z2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRv" + + "CmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBg" + + "YHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAg" + + "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + + "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FD" + + "b3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAg" + + "ZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVy" + + "OgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAg" + + "d29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBs" + + "aWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMu" + + "IFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24g" + + "cG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJ" + + "IEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxt" + + "LmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJs" + + "ZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Ig" + + "c2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBj" + + "b3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + + "cG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91" + + "dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRp" + + "b24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0g" + + "UmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + + "bnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQt" + + "YmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91" + + "dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwg" + + "c2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlh" + + "bWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAg" + + "ICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5" + + "Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNG" + + "X1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRo" + + "ZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBu" + + "ZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxp" + + "Y3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRl" + + "ZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJl" + + "ZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3Rh" + + "bGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVz" + + "dCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVt" + + "YWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWlu" + + "IHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJz" + + "aW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZl" + + "cnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9s" + + "LXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4g" + + "VmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBn" + + "ZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9k" + + "cyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicK" + + "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tl" + + "bmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5j" + + "b250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5k" + + "fScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFy" + + "Z3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2No" + + "ZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRp" + + "b24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xp" + + "YnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1k" + + "KS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdy" + + "b3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5n" + + "cmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1y" + + "b3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxs" + + "bS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERl" + + "c3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94" + + "eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRt" + + "aW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZj" + + "Zi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRp" + + "b25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVk" + + "IGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + + "bHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBV" + + "SSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3Rl" + + "ZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBu" + + "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMs" + + "IHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhl" + + "bS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYt" + + "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVl" + + "CmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0" + + "aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZy" + + "b20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "bnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMg" + + "T25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5p" + + "bykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVu" + + "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + + "dCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2Yt" + + "dWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1p" + + "bmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFu" + + "ZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVM" + + "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWlu" + + "Z3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhl" + + "IGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxv" + + "eSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2Yt" + + "dWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVs" + + "IGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1" + + "YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4s" + + "IG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91" + + "dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVU" + + "BQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4g" + + "cHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUs" + + "IE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBl" + + "dmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJl" + + "IGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25l" + + "IG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBw" + + "cm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFu" + + "ZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8g" + + "YG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEu" + + "IEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9r" + + "eXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBr" + + "eXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAg" + + "LS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRl" + + "IGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0i" + + "PHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + + "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFj" + + "ZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + + "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + + "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + + "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5H" + + "QyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5h" + + "bWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0" + + "ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVy" + + "UG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoK" + + "ICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2Vj" + + "cmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNv" + + "dXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBu" + + "YW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIK" + + "ICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5h" + + "dHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAt" + + "ICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRl" + + "OgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAg" + + "ICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVs" + + "bHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAg" + + "aW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAg" + + "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFs" + + "bCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1w" + + "bGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShj" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUg" + + "bW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0" + + "IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpD" + + "cmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBj" + + "bHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBs" + + "eSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + + "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRl" + + "LXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNy" + + "ZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + + "c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3Jl" + + "dCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0" + + "ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFs" + + "bCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wt" + + "cGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + + "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFt" + + "ZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+" + + "IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2Zc" + + "Lm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5" + + "dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFz" + + "dFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1" + + "bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3Ig" + + "bWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpg" + + "YGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRo" + + "IElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVy" + + "UmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVD" + + "UiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBw" + + "dWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoq" + + "OiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHks" + + "IGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGls" + + "bCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8g" + + "cG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMg" + + "YXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1l" + + "c3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1" + + "bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMj" + + "IFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0" + + "cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpU" + + "aGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlz" + + "dHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + + "ZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcI" + + "S0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAD0gGPhKEAAAShAAABIACQAAAAAAAAAAAAAAAAAA" + + "AGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNhAAAj" + + "AAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDAUUNzEA4AABAOAAAzAAkAAAAAAAAAAAAAAEByAABkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAAC6gAAAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAIKNAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA9ZoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDS" + + "Q9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAAS1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+" + + "DgAAvg4AAD0ACQAAAAAAAAAAAAAAitoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQnHm" + + "HgEoAAABKAAAOgAJAAAAAAAAAAAAAAC86QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5" + + "yAcAAMgHAAA5AAkAAAAAAAAAAAAAAC4SAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQh" + + "AADkIQAALgAJAAAAAAAAAAAAAABmGgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkAAAAA" + + "AAAAAAAAAK88AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAjm4LCTIKAAAyCgAAMgAJAAAAAAAAAAAAAAA3YAEA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEA60aTk4Y4AACGOAAALQAJAAAAAAAAAAAAAADSagEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAAvKMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "EcMUk0liAABJYgAALAAJAAAAAAAAAAAAAACetQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJ" + + "AAAAAAAAAAAAAABKGAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMv" + + "ZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAA" + + "AAAAAP9uAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAOSXAgBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAA" + + "AAAAAAAAAAAAecgCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAA" + + "AAAAAAAAAAAAoPkCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAA" + + "uQcAAD8ACQAAAAAAAAAAAAAAJSQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWo" + + "ABYAAAAWAAA+AAkAAAAAAAAAAAAAAFQsAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADJ" + + "QgMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 9fb1539132..9989e9f0a5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -86,6 +86,7 @@ go_test( "@com_github_masterminds_semver_v3//:semver", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", + "@io_k8s_api//apps/v1:apps", "@io_k8s_api//batch/v1:batch", "@io_k8s_api//core/v1:core", "@io_k8s_api//rbac/v1:rbac", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 3ff792d990..2af9f5612c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -44,13 +44,12 @@ import ( ) const ( - clusterValidatorNamespace = "default" - clusterValidatorName = "nvcf-preflight-validator" - clusterValidatorContainer = "validator" - clusterValidatorAppLabel = "nvcf-cluster-validator" - clusterValidatorPollInterval = 2 * time.Second - clusterValidatorTTLSeconds = int32(600) - clusterValidatorHintURL = "https://docs.nvidia.com/nvcf/self-managed-clusters#cluster-validator" + clusterValidatorNamespace = "default" + clusterValidatorName = "nvcf-preflight-validator" + clusterValidatorContainer = "validator" + clusterValidatorAppLabel = "nvcf-cluster-validator" + clusterValidatorTTLSeconds = int32(600) + clusterValidatorHintURL = "https://docs.nvidia.com/nvcf/self-managed-clusters#cluster-validator" // orphanValidatorRBACTTL is the minimum age before leftover validator RBAC // is reclaimed. Must exceed the validator timeout so a live run is never hit. orphanValidatorRBACTTL = 30 * time.Minute @@ -71,6 +70,7 @@ const ( // Vars (not consts) so tests can shorten without the full production budget. var ( clusterValidatorTimeout = 5 * time.Minute + clusterValidatorPollInterval = 2 * time.Second clusterValidatorLogFetchTimeout = 10 * time.Second // validatorCleanupTimeout bounds each deferred sweep. They run after an // interrupt, when CI will not send a second signal, so an unreachable @@ -83,12 +83,18 @@ var ( // control-plane role the network-checks ConfigMap. const validatorDeferredSweeps = 3 +// validatorGradeReads is how many reads, each bounded by +// clusterValidatorLogFetchTimeout, one run can make once its wait ends: the +// transcript, then for a validator that finishes late the Job and the +// transcript again, and the container's exit code. +const validatorGradeReads = 4 + // ClusterValidatorRunCeiling is the longest one validator run can take: its // own timeout, then on a timeout the wait for the Job's deadline to end the -// pod and the log fetch, then the deferred sweeps, which run in turn on fresh -// contexts, plus a margin for the pod's termination grace period. +// pod and the reads that grade it, then the deferred sweeps, which run in turn +// on fresh contexts, plus a margin for the pod's termination grace period. func ClusterValidatorRunCeiling() time.Duration { - return clusterValidatorTimeout + validatorDeadlineGrace + clusterValidatorLogFetchTimeout + + return clusterValidatorTimeout + validatorDeadlineGrace + validatorGradeReads*clusterValidatorLogFetchTimeout + validatorDeferredSweeps*validatorCleanupTimeout + validatorRunMargin } @@ -286,9 +292,16 @@ func runClusterValidator( if err != nil { // A create cut off by an interrupt or a dropped connection may still // have been applied, and a Job left behind would run with its RBAC - // swept. The name is this run's own, so removing it is safe. - podMayBeRunning = !stopValidatorJob(client, jobName) - return ClusterValidatorResult{RunID: runID, Err: fmt.Errorf("creating validator Job: %w", err)} + // swept. The name is this run's own, so removing it is safe, except + // under --no-cleanup, which keeps whatever this run made. When its + // pod may still be running, its objects are kept and the result says + // how to remove them. + if !noCleanup { + podMayBeRunning = !stopValidatorJob(client, jobName) + } + return ClusterValidatorResult{ + RunID: runID, Err: fmt.Errorf("creating validator Job: %w", err), LeftBehind: podMayBeRunning, + } } podMayBeRunning = true @@ -319,15 +332,24 @@ func runClusterValidator( // transcript with "forbidden", and cuts off the validator's own cleanup // of its probe resources. podMayBeRunning = waitErr != nil - - // Fetch logs under a fresh ctx from the parent: vctx is expired on the - // timeout path, and dropping the partial transcript hurts most there. - logCtx, logCancel := context.WithTimeout(ctx, clusterValidatorLogFetchTimeout) - defer logCancel() - rawLogs, _ := fetchClusterValidatorLogs(logCtx, client, jobName) - cleaned := cleanValidatorOutput(rawLogs) - if configNote != "" { - cleaned = configNote + "\n" + cleaned + // The run's own context has ended: the operator interrupted it, or the + // check's time budget ran out. Nothing will wait for a later result, so + // the Job is stopped now rather than left to its deadline. + abandoned := waitErr != nil && ctx.Err() != nil + ownTimeout := waitErr != nil && !abandoned && errors.Is(waitErr, context.DeadlineExceeded) + if ownTimeout { + // The validator's own timeout, not the check's budget: its result is + // that it did not finish, which is not the budget cutting it short. + waitErr = fmt.Errorf("the validator did not finish within %s", clusterValidatorTimeout) + } + + // Read the transcript before anything stops the pod, on a fresh context: + // the run's own may be over, and a run that timed out is where the + // partial transcript matters most. Not after an interrupt, which only + // wants the cleanup. + var rawLogs string + if !errors.Is(ctx.Err(), context.Canceled) { + rawLogs = readValidatorLogs(client, jobName) } // A pull failure is different: the container never started, so nothing @@ -340,25 +362,51 @@ func runClusterValidator( // removes its own probe namespace and DaemonSet on SIGTERM, and needs // that RBAC to do it. var pullErr *validatorImagePullError - interrupted := errors.Is(ctx.Err(), context.Canceled) + isPullErr := errors.As(waitErr, &pullErr) stopped := false switch { - case errors.As(waitErr, &pullErr) && noCleanup: + case waitErr == nil: + case isPullErr && noCleanup: // Kept for debugging, but a pod that cannot pull has nothing to // run: suspend the Job so the pod stops retrying forever. suspendValidatorJob(client, jobName) - case (errors.As(waitErr, &pullErr) || interrupted) && !noCleanup: - // A pull failure never started the container, and an interrupt means - // the operator abandoned the run: stop the Job and reclaim everything - // now rather than leave cluster-wide RBAC for a later orphan sweep. + case (isPullErr || abandoned) && !noCleanup: podMayBeRunning = !stopValidatorJob(client, jobName) stopped = true - case waitErr != nil && !noCleanup: - // A plain timeout: the Job's active deadline ends the pod shortly - // after this wait gave up. Wait for that, then sweep, as on success. - podMayBeRunning = !waitValidatorPodsDone(client, jobName, validatorDeadlineGrace) + case !noCleanup: + // The validator's own timeout passed, or its Job could not be read + // for a while. Its active deadline ends the pod soon after the + // timeout, so wait for that, then grade on what the Job actually + // did: a validator that finished late, or while its Job could not be + // read, still has a result. An interrupt or the end of the check's + // budget during the wait stops the Job instead. + limit := validatorDeadlineGrace + if deadline, ok := vctx.Deadline(); ok { + limit += max(time.Until(deadline), 0) + } + done, ended := waitValidatorPodsDoneOrEnded(ctx, client, jobName, limit) + switch { + case ended: + podMayBeRunning = !stopValidatorJob(client, jobName) + stopped = true + if !ownTimeout { + // The result was still to come when the run ended, so this + // is the interrupt or the budget, not the validator. + waitErr = fmt.Errorf("waiting for job %s: %w (after %w)", jobName, ctx.Err(), waitErr) + } + case done: + podMayBeRunning = false + if job, ok := readFinishedValidatorJob(client, jobName); ok { + final, waitErr = job, nil + rawLogs = readValidatorLogs(client, jobName) + } + } } + cleaned := cleanValidatorOutput(rawLogs) + if configNote != "" { + cleaned = configNote + "\n" + cleaned + } if waitErr != nil { res := ClusterValidatorResult{ JobName: jobName, @@ -374,9 +422,8 @@ func runClusterValidator( return res } - // Separate short ctx so a slow log fetch can't burn the exit-code lookup's - // budget and silently return -1 on clean completions. - exitCtx, exitCancel := context.WithTimeout(ctx, 5*time.Second) + // A fresh context: the run's own may have ended while the Job was read. + exitCtx, exitCancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) defer exitCancel() return ClusterValidatorResult{ Passed: final.Status.Succeeded > 0, @@ -387,6 +434,37 @@ func runClusterValidator( } } +// readValidatorLogs fetches the validator's transcript on a fresh, bounded +// context, so it works after the run's own context has ended. +func readValidatorLogs(client kubernetes.Interface, jobName string) string { + ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) + defer cancel() + logs, _ := fetchClusterValidatorLogs(ctx, client, jobName) + return logs +} + +// readFinishedValidatorJob reads the Job once its pod has ended and returns +// it when it has finished, retrying a few transient read errors. +func readFinishedValidatorJob(client kubernetes.Interface, jobName string) (*batchv1.Job, bool) { + ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) + defer cancel() + for attempt := 0; attempt < validatorGetErrorLimit; attempt++ { + job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, jobName, metav1.GetOptions{}) + switch { + case err == nil: + return job, job.Status.Succeeded > 0 || job.Status.Failed > 0 + case apierrors.IsNotFound(err), apierrors.IsForbidden(err), apierrors.IsUnauthorized(err): + return nil, false + } + select { + case <-ctx.Done(): + return nil, false + case <-time.After(clusterValidatorPollInterval): + } + } + return nil, false +} + // extraValidatorEnv returns env as container variables in a stable order, // skipping empty values and any name the Job already sets, so an override can // never change the role, the config name or preflight mode. @@ -469,9 +547,12 @@ var ( // pod's termination grace period and the API round trips between waits. validatorRunMargin = 30 * time.Second // validatorPullFailureGrace is how long a pull failure must persist before - // it is final. The kubelet retries after 10s and then 20s, so a transient - // registry error clears inside it. - validatorPullFailureGrace = 30 * time.Second + // it is final. The kubelet's image backoff starts at 10s and doubles, and + // a failed sync is retried after about 10s more, so its second retry can + // start 30 to 50s after the first failure. A minute and a half covers + // it, so a registry outage of under a minute does not fail the run. A + // pull error that cannot clear (see permanentPullFailure) is final at once. + validatorPullFailureGrace = 90 * time.Second // validatorGetErrorLimit is how many consecutive failed Job reads end the // wait. One 5xx or a refused connection during an apiserver restart is // not the Job's result. @@ -496,17 +577,30 @@ func suspendValidatorJob(client kubernetes.Interface, name string) { // waitValidatorPodsDone waits up to limit, on a fresh context, until no pod of // the Job is still running, and reports whether that happened. func waitValidatorPodsDone(client kubernetes.Interface, jobName string, limit time.Duration) bool { + done, _ := waitValidatorPodsDoneOrEnded(context.Background(), client, jobName, limit) + return done +} + +// waitValidatorPodsDoneOrEnded waits up to limit until no pod of the Job is +// still running, or until run ends: an interrupt, or the check's budget. It +// reports whether the pods were done, and whether run ended first. Pod reads +// happen on their own context, so they work after run has ended. +func waitValidatorPodsDoneOrEnded( + run context.Context, client kubernetes.Interface, jobName string, limit time.Duration, +) (done, ended bool) { ctx, cancel := context.WithTimeout(context.Background(), limit) defer cancel() for { pods, err := client.CoreV1().Pods(clusterValidatorNamespace).List(ctx, metav1.ListOptions{LabelSelector: "job-name=" + jobName}) if err == nil && allPodsDone(pods.Items) { - return true + return true, false } select { + case <-run.Done(): + return false, true case <-ctx.Done(): - return false + return false, false case <-time.After(time.Second): } } @@ -1152,8 +1246,9 @@ func waitForClusterValidatorJob(ctx context.Context, client kubernetes.Interface switch { case reason == "": pullFailingSince = time.Time{} - case reason == "InvalidImageName": - // A malformed reference never pulls. + case reason == "InvalidImageName" || permanentPullFailure(msg): + // A malformed reference never pulls, nor does an image the + // registry does not have or will not serve to these credentials. return job, &validatorImagePullError{reason: reason, message: msg} case pullFailingSince.IsZero(): pullFailingSince = time.Now() @@ -1169,6 +1264,24 @@ func waitForClusterValidatorJob(ctx context.Context, client kubernetes.Interface } } +// permanentPullFailures are in the kubelet's message for a pull that no retry +// fixes: the image is not in the registry, or the credentials are refused. +var permanentPullFailures = []string{ + "not found", "manifest unknown", "unauthorized", "authentication required", "denied", +} + +// permanentPullFailure reports whether a pull error message says retrying +// cannot help. +func permanentPullFailure(message string) bool { + message = strings.ToLower(message) + for _, m := range permanentPullFailures { + if strings.Contains(message, m) { + return true + } + } + return false +} + // Returns ("", "") when no pull failure is observed; callers treat that // as "keep waiting". func podPullFailureReason(ctx context.Context, client kubernetes.Interface, jobName string) (reason, message string) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 80b9c703bb..8519ddc26e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -222,16 +222,21 @@ func TestRunClusterValidator_PullFailureLeavesNothingBehind(t *testing.T) { } // While the pod may still be running its RBAC must stay, but the Job owns the -// pull secret and ConfigMap so its deadline and TTL take them too. +// pull secret and ConfigMap so its deadline and TTL take them too. The +// validator's own timeout leaves it to its deadline; only the end of the run +// stops it. func TestRunClusterValidator_RunningPodKeepsRBACAndJobOwnsArtifacts(t *testing.T) { t.Setenv("NGC_API_KEY", "key") + prev := clusterValidatorTimeout + clusterValidatorTimeout = 200 * time.Millisecond + t.Cleanup(func() { clusterValidatorTimeout = prev }) client := lifecycleClient(running, "") - ctx, cancel := context.WithTimeout(context.Background(), 200*time.Millisecond) - defer cancel() - res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", "", false, clusterValidatorControlPlaneRole, nil, nil) require.Error(t, res.Err) + assert.Contains(t, res.Err.Error(), "the validator did not finish within 200ms") + assert.Empty(t, jobDeletes(client), "the Job's deadline ends the pod; nothing stops it early") assert.True(t, res.LeftBehind, "the caller prints the command that removes what was kept") left := leftovers(t, client, res.RunID) assert.Len(t, left["ServiceAccount"], 1, "a running pod must keep its RBAC") @@ -824,21 +829,265 @@ func TestClusterValidatorRunCeiling_CoversTheTimeoutPath(t *testing.T) { Status: corev1.PodStatus{Phase: corev1.PodRunning}, }}}, nil }) - // The deadline grace dominates the margin, so a ceiling that leaves it - // out is short of the run. - prevTimeout, prevGrace, prevLogs, prevMargin := - clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorRunMargin - clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorRunMargin = - 300*time.Millisecond, 3*time.Second, 500*time.Millisecond, time.Second + // The deadline grace dominates every other bound in the ceiling, so a + // ceiling that leaves it out is short of the run, and a wait shorter than + // the grace ends before it. + prevTimeout, prevGrace, prevLogs, prevCleanup, prevMargin := clusterValidatorTimeout, + validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, validatorRunMargin + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, + validatorRunMargin = 300*time.Millisecond, 3*time.Second, 100*time.Millisecond, 100*time.Millisecond, + 100*time.Millisecond t.Cleanup(func() { - clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorRunMargin = - prevTimeout, prevGrace, prevLogs, prevMargin + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, + validatorRunMargin = prevTimeout, prevGrace, prevLogs, prevCleanup, prevMargin }) start := time.Now() res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", "", false, clusterValidatorComputePlaneRole, nil, nil) + elapsed := time.Since(start) require.Error(t, res.Err) assert.True(t, res.LeftBehind, "the pod never ended, so the whole grace was spent") - assert.LessOrEqual(t, time.Since(start), ClusterValidatorRunCeiling()) + assert.GreaterOrEqual(t, elapsed, clusterValidatorTimeout+validatorDeadlineGrace, + "the run waited out the deadline grace, not a shorter wait") + assert.LessOrEqual(t, elapsed, ClusterValidatorRunCeiling()) +} + +// podPhaseReactor answers the Job's pod list with one pod in the phase phase() +// returns at the time of the call. +func podPhaseReactor(phase func() corev1.PodPhase) ktesting.ReactionFunc { + return func(action ktesting.Action) (bool, runtime.Object, error) { + jobName := strings.TrimPrefix(action.(ktesting.ListAction).GetListRestrictions().Labels.String(), "job-name=") + return true, &corev1.PodList{Items: []corev1.Pod{{ + ObjectMeta: metav1.ObjectMeta{Name: jobName + "-pod", Namespace: clusterValidatorNamespace, + Labels: map[string]string{"job-name": jobName}}, + Status: corev1.PodStatus{Phase: phase()}, + }}}, nil + } +} + +// A validator that finishes after the CLI's own timeout, while the CLI waits +// for the Job's deadline to end its pod, is graded on what it did. That wait +// is the deadline grace, not the shorter wait for a stopped Job. +func TestRunClusterValidator_LateFinishIsGraded(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + prevTimeout, prevStop, prevGrace := clusterValidatorTimeout, validatorStopTimeout, validatorDeadlineGrace + clusterValidatorTimeout, validatorStopTimeout, validatorDeadlineGrace = + 300*time.Millisecond, 300*time.Millisecond, 5*time.Second + t.Cleanup(func() { + clusterValidatorTimeout, validatorStopTimeout, validatorDeadlineGrace = prevTimeout, prevStop, prevGrace + }) + var finished atomic.Bool + client := lifecycleClient(func(name string) *batchv1.Job { + if finished.Load() { + return succeeded(name) + } + return running(name) + }, "") + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { + if finished.Load() { + return corev1.PodSucceeded + } + return corev1.PodRunning + })) + timer := time.AfterFunc(1500*time.Millisecond, func() { finished.Store(true) }) + t.Cleanup(func() { timer.Stop() }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.True(t, res.Passed) + assert.False(t, res.LeftBehind) + assert.NotEmpty(t, res.JobName) + assert.Empty(t, leftovers(t, client, res.RunID), "the pod ended, so the sweeps ran") +} + +// Failed Job reads end the wait, but not the run: once the pod has ended the +// Job is read again, and a validator that passed while its Job could not be +// read passes. +func TestRunClusterValidator_JobReadOutageIsGradedOnTheJob(t *testing.T) { + prev := clusterValidatorPollInterval + clusterValidatorPollInterval = 20 * time.Millisecond + t.Cleanup(func() { clusterValidatorPollInterval = prev }) + client := lifecycleClient(succeeded, "") + var failedReads atomic.Int32 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + if failedReads.Load() < int32(validatorGetErrorLimit) { + failedReads.Add(1) + return true, nil, apierrors.NewServiceUnavailable("the apiserver is restarting") + } + return false, nil, nil + }) + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodSucceeded })) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.True(t, res.Passed) + assert.EqualValues(t, validatorGetErrorLimit, failedReads.Load(), "the outage ended the wait") +} + +// Only consecutive failed reads end the wait: a good read in between starts +// the count again. +func TestWaitForClusterValidatorJob_OnlyConsecutiveReadErrorsEndTheWait(t *testing.T) { + prev := clusterValidatorPollInterval + clusterValidatorPollInterval = 10 * time.Millisecond + t.Cleanup(func() { clusterValidatorPollInterval = prev }) + client := fake.NewSimpleClientset() + calls := 0 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + calls++ + switch { + case calls > 3*validatorGetErrorLimit: + return true, succeeded("j"), nil + case calls%validatorGetErrorLimit == 0: + return true, running("j"), nil + } + return true, nil, apierrors.NewInternalError(fmt.Errorf("etcd timeout")) + }) + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + job, err := waitForClusterValidatorJob(ctx, client, "j") + require.NoError(t, err) + assert.Equal(t, int32(1), job.Status.Succeeded) +} + +// A missing Job, or one this kubeconfig may not read, cannot change, so the +// first such read ends the wait. +func TestWaitForClusterValidatorJob_PermanentReadErrorsEndTheWaitAtOnce(t *testing.T) { + prev := clusterValidatorPollInterval + clusterValidatorPollInterval = 10 * time.Millisecond + t.Cleanup(func() { clusterValidatorPollInterval = prev }) + gr := schema.GroupResource{Group: batchv1.GroupName, Resource: "jobs"} + for _, readErr := range []error{ + apierrors.NewNotFound(gr, "j"), + apierrors.NewForbidden(gr, "j", errors.New("denied")), + apierrors.NewUnauthorized("expired token"), + } { + client := fake.NewSimpleClientset() + calls := 0 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + calls++ + return true, nil, readErr + }) + _, err := waitForClusterValidatorJob(context.Background(), client, "j") + require.Error(t, err) + assert.Equal(t, 1, calls, "%v is not retried", readErr) + } +} + +// A pull error no retry fixes is final at once. One that can clear, a +// registry outage or a DNS failure, waits out the grace. +func TestWaitForClusterValidatorJob_PermanentPullErrorsAreFinalAtOnce(t *testing.T) { + prevGrace, prevPoll := validatorPullFailureGrace, clusterValidatorPollInterval + validatorPullFailureGrace, clusterValidatorPollInterval = time.Hour, 10*time.Millisecond + t.Cleanup(func() { validatorPullFailureGrace, clusterValidatorPollInterval = prevGrace, prevPoll }) + for msg, final := range map[string]bool{ + `failed to resolve reference "nvcr.io/nvidia/validator:9": nvcr.io/nvidia/validator:9: not found`: true, + `failed to authorize: failed to fetch oauth token: 401 Unauthorized`: true, + `pull access denied, repository does not exist or may require authorization`: true, + `failed to do request: Head "https://nvcr.io/v2/nvidia/validator/manifests/9": 503 Service Unavailable`: false, + `dial tcp: lookup nvcr.io on 10.96.0.10:53: i/o timeout`: false, + } { + client := fake.NewSimpleClientset() + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + return true, running("j"), nil + }) + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodPending })) + client.PrependReactor("get", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + return true, &corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: action.(ktesting.GetAction).GetName(), Namespace: clusterValidatorNamespace}, + Status: corev1.PodStatus{ContainerStatuses: []corev1.ContainerStatus{{ + Name: clusterValidatorContainer, + State: corev1.ContainerState{Waiting: &corev1.ContainerStateWaiting{Reason: "ErrImagePull", Message: msg}}, + }}}, + }, nil + }) + ctx, cancel := context.WithTimeout(context.Background(), 300*time.Millisecond) + _, err := waitForClusterValidatorJob(ctx, client, "j") + cancel() + var pullErr *validatorImagePullError + assert.Equal(t, final, errors.As(err, &pullErr), msg) + } +} + +// A pod that cannot be listed may still be running: stopping its Job does not +// revoke its RBAC until the pod is seen to end, and the result says how to +// remove what was kept. +func TestRunClusterValidator_UnlistablePodKeepsItsRBAC(t *testing.T) { + prev := validatorStopTimeout + validatorStopTimeout = 300 * time.Millisecond + t.Cleanup(func() { validatorStopTimeout = prev }) + client := lifecycleClient(running, "ImagePullBackOff") + var deleted atomic.Bool + client.PrependReactor("delete", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + deleted.Store(true) + return false, nil, nil + }) + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + if deleted.Load() { + return true, nil, errors.New("connection refused") + } + return false, nil, nil + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + var pullErr *validatorImagePullError + require.ErrorAs(t, res.Err, &pullErr) + assert.True(t, res.LeftBehind) + assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1, "the RBAC stays until the pod is seen to end") +} + +// A Job create that fails may still have been applied, the response lost. Its +// Job is stopped, and when its pod does not end the objects are kept and the +// result says how to remove them. Under --no-cleanup the Job is kept, like +// everything else the run made. +func TestRunClusterValidator_FailedCreateThatWasApplied(t *testing.T) { + prev := validatorStopTimeout + validatorStopTimeout = 300 * time.Millisecond + t.Cleanup(func() { validatorStopTimeout = prev }) + for _, noCleanup := range []bool{false, true} { + client := lifecycleClient(running, "") + client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { + job := action.(ktesting.CreateAction).GetObject().(*batchv1.Job) + require.NoError(t, client.Tracker().Add(job)) + return true, nil, apierrors.NewInternalError(errors.New("connection reset by peer")) + }) + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodRunning })) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", noCleanup, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorContains(t, res.Err, "creating validator Job") + require.NotEmpty(t, res.RunID, "noCleanup=%v", noCleanup) + if noCleanup { + assert.Empty(t, jobDeletes(client), "--no-cleanup keeps the Job") + assert.False(t, res.LeftBehind, "the --no-cleanup command covers what was kept") + continue + } + assert.NotEmpty(t, jobDeletes(client), "the applied Job is stopped") + assert.True(t, res.LeftBehind, "its pod did not end, so its objects were kept") + assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1) + } +} + +// A run whose budget ends while it waits out a Job read outage was cut short: +// the validator's result was still to come, so the error says the budget +// ended rather than reading as the validator's failure. +func TestRunClusterValidator_BudgetEndDuringAReadOutageIsCutShort(t *testing.T) { + prev := clusterValidatorPollInterval + clusterValidatorPollInterval = 20 * time.Millisecond + t.Cleanup(func() { clusterValidatorPollInterval = prev }) + client := lifecycleClient(running, "") + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewServiceUnavailable("the apiserver is restarting") + }) + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodRunning })) + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorIs(t, res.Err, context.DeadlineExceeded) + assert.ErrorContains(t, res.Err, "the apiserver is restarting", "the outage is still named") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 1fb135b3c2..91b2aafdb2 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -395,9 +395,8 @@ func TestRunClusterValidator_LogFetchSurvivesValidatorTimeout(t *testing.T) { // Parent ctx stays alive for the entire run; only vctx expires. res := runClusterValidator(context.Background(), client, "test-image:1.0", "", false, "", nil, nil) - require.Error(t, res.Err, "wait must surface the deadline-exceeded error") - assert.Contains(t, res.Err.Error(), "waiting for job", - "timeout path must report the wait failure verbatim") + require.Error(t, res.Err, "wait must surface the validator's own timeout") + assert.Contains(t, res.Err.Error(), "the validator did not finish within 100ms") assert.NotEmpty(t, res.JobName, "JobName must be populated so operators can run the kubectl-logs hint") diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index 75fd86bdcf..6d51a087b9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -120,6 +120,11 @@ func NewInotifyProber() NodeInotifyProber { } } +// inotifyProbeBudget bounds the whole probe, inside the time the check sets +// aside for the checks that run before the validator. A var so tests can +// shorten it. +var inotifyProbeBudget = 100 * time.Second + // probeAllNodes is the testable core: it takes a kubernetes.Interface so // callers can inject fake.NewSimpleClientset. It probes nodes in parallel // with a small concurrency cap so image-pull latency doesn't blow the @@ -132,6 +137,13 @@ func NewInotifyProber() NodeInotifyProber { // violations on some nodes are never dropped when other nodes are // concurrently unreachable. func probeAllNodes(ctx context.Context, client kubernetes.Interface) ([]NodeInotifyLimits, error) { + // Nodes are probed probeConcurrency at a time, so on a cluster whose + // probe pods stall each wave takes perNodePodTimeout: unbounded, the probe + // ran past the time the check sets aside for the checks before the + // validator, and cut the validator short. A node not reached in time is + // reported as not probed. + ctx, cancel := context.WithTimeout(ctx, inotifyProbeBudget) + defer cancel() nodes, err := client.CoreV1().Nodes().List(ctx, metav1.ListOptions{}) if err != nil { return nil, fmt.Errorf("listing nodes: %w", err) @@ -168,6 +180,10 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface) ([]NodeInot // the parsed limits or a per-node error. func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName string) NodeInotifyLimits { res := NodeInotifyLimits{NodeName: nodeName} + if ctx.Err() != nil { + res.Err = fmt.Errorf("not probed: the inotify probe's %s budget ran out", inotifyProbeBudget) + return res + } pctx, cancel := context.WithTimeout(ctx, perNodePodTimeout) defer cancel() diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index 6cc13c3410..f23ca4fe0b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -20,7 +20,10 @@ package selfhosted import ( "context" "fmt" + "strings" + "sync/atomic" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -72,6 +75,49 @@ func TestProbeAllNodes_PodCreateErrorSurfacesPerNode(t *testing.T) { } } +// The probe is bounded as a whole. Nodes are probed probeConcurrency at a +// time, so on a cluster whose probe pods never finish each wave took +// perNodePodTimeout, and the probe cut short the validator that runs after it. +// Nodes the budget did not reach are reported as not probed, and every pod +// created is removed. +func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { + prev := inotifyProbeBudget + inotifyProbeBudget = 500 * time.Millisecond + t.Cleanup(func() { inotifyProbeBudget = prev }) + const extra = 3 + var nodes []runtime.Object + for i := 0; i < probeConcurrency+extra; i++ { + nodes = append(nodes, fakeNode(fmt.Sprintf("node-%02d", i))) + } + client := fake.NewSimpleClientset(nodes...) + var created atomic.Int32 + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + // The fake clientset does not honour generateName. The pods never + // reach a terminal phase, like pods that cannot pull or schedule. + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod) + pod.Name = fmt.Sprintf("%s%d", pod.GenerateName, created.Add(1)) + return false, nil, nil + }) + + start := time.Now() + results, err := probeAllNodes(context.Background(), client) + require.NoError(t, err) + assert.Less(t, time.Since(start), 5*time.Second, "the probe outlived its budget") + require.Len(t, results, probeConcurrency+extra) + notProbed := 0 + for _, r := range results { + require.Error(t, r.Err, r.NodeName) + if strings.Contains(r.Err.Error(), "not probed: the inotify probe's 500ms budget ran out") { + notProbed++ + } + } + assert.Equal(t, extra, notProbed, "the nodes past the first wave are never reached") + pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + assert.Empty(t, pods.Items, "every probe pod created is removed") + assert.EqualValues(t, probeConcurrency, created.Load()) +} + func TestBuildInotifyProbePodShape(t *testing.T) { pod := buildInotifyProbePod("node-x") diff --git a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go index 278ba86465..1d45900b8e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go @@ -51,6 +51,8 @@ type miniAPIServer struct { onceJob sync.Once // runningJob, when set, is the status every Job read returns. runningJob bool + // podLogs, when set, gives each Job a running pod whose log is podLogs. + podLogs string } func newMiniAPIServer(t *testing.T) (*miniAPIServer, kubernetes.Interface) { @@ -64,6 +66,10 @@ func newMiniAPIServer(t *testing.T) (*miniAPIServer, kubernetes.Interface) { client, err := kubernetes.NewForConfig(&rest.Config{ Host: srv.URL, ContentConfig: rest.ContentConfig{ContentType: "application/json"}, + // No client-side throttling: a run's requests then take as long as + // the server makes them, and a short run deadline is not spent in + // the client's rate limiter. + QPS: -1, }) require.NoError(t, err) return m, client @@ -76,8 +82,13 @@ func (m *miniAPIServer) deleted() []string { } func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/json") path := strings.TrimSuffix(r.URL.Path, "/") + if r.Method == http.MethodGet && strings.HasSuffix(path, "/log") { + w.Header().Set("Content-Type", "text/plain") + _, _ = io.WriteString(w, m.podLogs) + return + } + w.Header().Set("Content-Type", "application/json") collection, name := path, "" if i := strings.LastIndex(path, "/"); i > 0 && isNamedPath(path) { collection, name = path[:i], path[i+1:] @@ -98,6 +109,17 @@ func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { m.objects[collection][n] = obj if strings.HasSuffix(collection, "/jobs") { m.onceJob.Do(func() { close(m.jobCreated) }) + if m.podLogs != "" { + pods := podsCollection(collection) + if m.objects[pods] == nil { + m.objects[pods] = map[string]any{} + } + m.objects[pods][n+"-pod"] = map[string]any{ + "apiVersion": "v1", "kind": "Pod", + "metadata": map[string]any{"name": n + "-pod", "labels": map[string]any{"job-name": n}}, + "status": map[string]any{"phase": "Running"}, + } + } } w.WriteHeader(http.StatusCreated) _ = json.NewEncoder(w).Encode(obj) @@ -134,7 +156,7 @@ func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { delete(m.objects[collection], name) if strings.HasSuffix(collection, "/jobs") { // The Job's pods go with it, as the garbage collector would. - delete(m.objects, strings.TrimSuffix(collection, "/jobs")+"/pods") + delete(m.objects, podsCollection(collection)) } _ = json.NewEncoder(w).Encode(map[string]any{"kind": "Status", "apiVersion": "v1", "status": "Success"}) default: @@ -143,6 +165,12 @@ func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { } } +// podsCollection is the pod collection in the namespace of a Job collection. +func podsCollection(jobs string) string { + _, ns, _ := strings.Cut(jobs, "/namespaces/") + return "/api/v1/namespaces/" + strings.TrimSuffix(ns, "/jobs") + "/pods" +} + // listKinds maps a collection's resource to the kind a typed client decodes. var listKinds = map[string]string{ "jobs": "JobList", "pods": "PodList", "secrets": "SecretList", "configmaps": "ConfigMapList", @@ -179,13 +207,21 @@ func notFound(w http.ResponseWriter) { // runInterrupted starts a run against m, cancels it once the Job exists, and // returns the result. func runInterrupted(t *testing.T, client kubernetes.Interface, m *miniAPIServer) ClusterValidatorResult { + t.Helper() + return runInterruptedAs(t, client, m, "registry.example.com/validator:1", clusterValidatorComputePlaneRole, nil) +} + +// runInterruptedAs is runInterrupted with the image, role and registries the +// run is given. +func runInterruptedAs( + t *testing.T, client kubernetes.Interface, m *miniAPIServer, image, role string, registries []RegistryEntry, +) ClusterValidatorResult { t.Helper() ctx, cancel := context.WithCancel(context.Background()) defer cancel() done := make(chan ClusterValidatorResult, 1) go func() { - done <- runClusterValidator(ctx, client, "registry.example.com/validator:1", - "", false, clusterValidatorComputePlaneRole, nil, nil) + done <- runClusterValidator(ctx, client, image, "", false, role, registries, nil) }() select { case <-m.jobCreated: @@ -202,14 +238,83 @@ func runInterrupted(t *testing.T, client kubernetes.Interface, m *miniAPIServer) return ClusterValidatorResult{} } -// On an interrupt the cleanup requests really go out. A cleanup context -// derived from the cancelled run context sends none, which the fake clientset -// cannot show because it ignores contexts. +// On an interrupt the cleanup requests really go out, for the NGC-key pull +// Secret and the ConfigMap as well as the RBAC. A cleanup context derived from +// the cancelled run context sends none, which the fake clientset cannot show +// because it ignores contexts. func TestRunClusterValidator_InterruptSendsCleanupOverTheWire(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") m, client := newMiniAPIServer(t) - res := runInterrupted(t, client, m) + res := runInterruptedAs(t, client, m, "nvcr.io/nvidia/validator:1", clusterValidatorControlPlaneRole, + []RegistryEntry{{Registry: "nvcr.io"}}) require.Error(t, res.Err) + got := strings.Join(m.deleted(), " ") + for _, want := range []string{ + "/jobs/", "/clusterrolebindings/", "/clusterroles/", "/serviceaccounts/", "/secrets/", "/configmaps/", + } { + assert.Contains(t, got, want) + } +} + +// The check's budget running out ends the run as an interrupt does: the Job +// is stopped and everything swept, not left to its deadline with its RBAC +// kept. The transcript is read first, on a fresh context; a read on the run's +// expired context never leaves the client. +func TestRunClusterValidator_BudgetEndStopsTheJobAndKeepsTheTranscript(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + m, client := newMiniAPIServer(t) + m.podLogs = "Validator role: control-plane\npartial transcript\n" + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + + start := time.Now() + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", "", false, + clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) + require.ErrorIs(t, res.Err, context.DeadlineExceeded, "the budget cut it short; the validator did not fail") + assert.Less(t, time.Since(start), time.Second+validatorDeadlineGrace, "it did not wait for the Job's deadline") + assert.Contains(t, res.Logs, "partial transcript") + assert.False(t, res.LeftBehind) + assert.Empty(t, res.JobName, "the Job is gone, so no hint may point at it") + got := strings.Join(m.deleted(), " ") + for _, want := range []string{ + "/jobs/", "/clusterrolebindings/", "/clusterroles/", "/serviceaccounts/", "/secrets/", "/configmaps/", + } { + assert.Contains(t, got, want) + } +} + +// An interrupt while the run waits, after the validator's own timeout, for the +// Job's deadline to end the pod is acted on at once: the Job is stopped and +// everything swept, instead of the wait running out first. +func TestRunClusterValidator_InterruptDuringTheDeadlineGraceStopsTheJob(t *testing.T) { + prevTimeout, prevGrace := clusterValidatorTimeout, validatorDeadlineGrace + clusterValidatorTimeout, validatorDeadlineGrace = 300*time.Millisecond, time.Minute + t.Cleanup(func() { clusterValidatorTimeout, validatorDeadlineGrace = prevTimeout, prevGrace }) + m, client := newMiniAPIServer(t) + m.podLogs = "Validator role: compute-plane\n" + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + done := make(chan ClusterValidatorResult, 1) + go func() { + done <- runClusterValidator(ctx, client, "registry.example.com/validator:1", "", false, + clusterValidatorComputePlaneRole, nil, nil) + }() + select { + case <-m.jobCreated: + case res := <-done: + t.Fatalf("the run ended before it created its Job: %v", res.Err) + } + time.Sleep(clusterValidatorTimeout + time.Second) + cancel() + + select { + case res := <-done: + require.ErrorContains(t, res.Err, "the validator did not finish within") + assert.False(t, res.LeftBehind) + case <-time.After(10 * time.Second): + t.Fatal("the interrupt was not acted on during the wait for the Job's deadline") + } got := strings.Join(m.deleted(), " ") for _, want := range []string{"/jobs/", "/clusterrolebindings/", "/clusterroles/", "/serviceaccounts/"} { assert.Contains(t, got, want) @@ -255,7 +360,8 @@ func TestClusterValidatorRunCeiling_CoversHungSweeps(t *testing.T) { "", false, clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) elapsed := time.Since(start) require.Error(t, res.Err) - require.Contains(t, res.Err.Error(), "waiting for job", "the run reached the Job wait and timed out there") + require.Contains(t, res.Err.Error(), "the validator did not finish within", + "the run reached the Job wait and timed out there") assert.GreaterOrEqual(t, elapsed, validatorDeferredSweeps*validatorCleanupTimeout, "every sweep ran and hung until its bound") assert.LessOrEqual(t, elapsed, ClusterValidatorRunCeiling()) diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index cdf1798fec..9112223169 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -98,6 +98,13 @@ type CheckResult struct { // Transient marks a warning expected to clear by itself, such as a // rollout in progress. --wait keeps polling while one remains. Transient bool + // CutShort marks a check the run's time budget stopped: it never started, + // or ran out of time while it ran. Such a result is no finding about the + // cluster, so the verdict is a timeout. + CutShort bool + // Cleanup is the command that removes what the check left in the + // cluster. Its row is reported even when the run is interrupted. + Cleanup string } // BinarySpec defines a tool that must be on PATH and a version constraint. @@ -376,6 +383,11 @@ type RoleConfig struct { // ClusterValidatorTolerations are added to the validator Job's // control-plane tolerations. ClusterValidatorTolerations []corev1.Toleration + + // ClusterValidatorUnresolvedImage is a configured validator image without + // a tag whose latest tag could not be discovered. The validator does not + // run, and the role reports that as a failed check rather than nothing. + ClusterValidatorUnresolvedImage string } // categorySpec groups a set of checks under a named category. Categories run @@ -484,6 +496,8 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { rc.ClusterValidatorEnv, rc.ClusterValidatorTolerations..., )) + } else if rc.ClusterValidatorUnresolvedImage != "" { + cat.checks = append(cat.checks, unresolvedValidatorCheck(rc.ClusterValidatorUnresolvedImage)) } return cat } @@ -527,6 +541,8 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { rc.ClusterValidatorEnv, rc.ClusterValidatorTolerations..., )) + } else if rc.ClusterValidatorUnresolvedImage != "" { + cat.checks = append(cat.checks, unresolvedValidatorCheck(rc.ClusterValidatorUnresolvedImage)) } return cat } @@ -631,6 +647,28 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS } } +// unresolvedValidatorCheck reports a configured validator that cannot run +// because its image has no tag and the latest one could not be discovered. +// The kubelet would pull such a reference as :latest, which the validator +// repository does not publish. It fails like any validator that could not +// run: nothing was validated. +func unresolvedValidatorCheck(image string) binaryCheckSpec { + const id = "cluster-validator" + return binaryCheckSpec{ + ID: id, + HumanLabel: "resolving the cluster-validator image…", + Run: func(context.Context) CheckResult { + return CheckResult{ + ID: id, + Severity: SeverityError, + HintURL: clusterValidatorHintURL, + Message: "cluster-validator not run: could not resolve a tag for " + image + + "; pin cluster_validator_image to a tag, or pass --skip-cluster-validation", + } + }, + } +} + // clusterValidatorCheck runs the validator Job. A validator that could not run // (RBAC denied, image pull failure, timeout) is an error like a validator // failure: nothing was checked, and a readiness gate must not pass on that. @@ -663,18 +701,23 @@ func clusterValidatorCheck( r.Detail = clusterValidatorDetail(kubeContext, result.JobName) switch { case noCleanup: - if hint := validatorCleanupHint(kubeContext, result.RunID); hint != "" { - r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + hint - } + r.Cleanup = validatorCleanupHint(kubeContext, result.RunID) case result.LeftBehind: // The pod could still be running, so its RBAC was kept rather // than pulled out from under it. Say how to remove it once it // ends, instead of leaving it for a later check's sweep. - if hint := validatorLeftBehindHint(kubeContext, result.RunID); hint != "" { - r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + hint - } + r.Cleanup = validatorLeftBehindHint(kubeContext, result.RunID) + } + if r.Cleanup != "" { + r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + r.Cleanup } + if errors.Is(result.Err, context.Canceled) { + r.Severity = SeverityWarning + r.Message = "cluster-validator was interrupted" + r.Err = result.Err + return r + } if result.Err != nil { r.Severity = SeverityError r.Message = "cluster-validator did not complete, so the cluster was not validated: " + @@ -1157,7 +1200,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro // let the partial set grade as the verdict, so a validator // that never ran could pass the gate. res = CheckResult{ - ID: spec.ID, Severity: SeverityError, + ID: spec.ID, Severity: SeverityError, CutShort: true, Message: "not run: the check's time budget ran out before it started", Err: ctx.Err(), } @@ -1171,20 +1214,26 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro if errors.Is(ctx.Err(), context.Canceled) { // Cut short by the interrupt, so its result is not a // finding; the cancelled final event says what happened. + // A row that says how to remove what the check left in + // the cluster is still reported: nothing else will. + if res.Cleanup != "" { + res.Category = cat.name + all = append(all, res) + emitCheckCompleted(sink, cat.name, res) + } return all } + if !res.Passed && errors.Is(ctx.Err(), context.DeadlineExceeded) && + errors.Is(res.Err, context.DeadlineExceeded) { + // The budget ran out while it ran: no finding either way. + res.CutShort = true + res.Severity = SeverityError + res.Message = "cut short: the check's time budget ran out before it finished (" + res.Message + ")" + } } res.Category = cat.name all = append(all, res) - _ = sink.Emit(ctx, progress.CheckCompleted{ - Category: cat.name, - ID: res.ID, - Passed: res.Passed, - Severity: res.Severity, - Message: res.Message, - Detail: res.Detail, - HintURL: res.HintURL, - }) + emitCheckCompleted(sink, cat.name, res) catResults = append(catResults, res) } passed, failed, warned := CountResults(catResults) @@ -1199,6 +1248,21 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro return all } +// emitCheckCompleted reports one check's result. It uses a fresh context: the +// run's own may have ended, and the row must still reach the stream. +func emitCheckCompleted(sink progress.EventSink, category string, res CheckResult) { + _ = sink.Emit(context.Background(), progress.CheckCompleted{ + Category: category, + ID: res.ID, + Passed: res.Passed, + Severity: res.Severity, + Message: res.Message, + Detail: res.Detail, + HintURL: res.HintURL, + Transient: res.Transient, + }) +} + // noopSink is a progress.EventSink that discards all events. Used by RunPreflight // to delegate to RunPreflightStreaming without streaming overhead for callers that // only need the final result slice. diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index d0e0515b7a..d6a803f043 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -19,11 +19,13 @@ package selfhosted import ( "context" + "errors" "fmt" "net/http" "net/http/httptest" "os" "path/filepath" + "strings" "testing" "time" @@ -730,6 +732,7 @@ func TestRunPreflight_BudgetSpentChecksAreNotRunErrors(t *testing.T) { require.NotEmpty(t, res) for _, r := range res { assert.True(t, r.IsBlockingFailure(), r.ID) + assert.True(t, r.CutShort, r.ID) assert.Contains(t, r.Message, "not run", r.ID) } @@ -748,3 +751,108 @@ func TestRunPreflight_BudgetSpentChecksAreNotRunErrors(t *testing.T) { cfg = PreflightConfig{Tools: []BinarySpec{interrupting}} assert.Empty(t, RunPreflightForRole(midRun, cfg, RoleLocalOnly, RoleConfig{}, &captureSink{})) } + +// A check the budget stopped while it ran is cut short: no finding either way. +// One that had its result, a pass or its own failure, keeps it even when the +// budget ran out right after. +func TestRunPreflight_CutShortOnlyWhenTheBudgetStoppedTheCheck(t *testing.T) { + spec := func(name string, version func(ctx context.Context) (*semver.Version, error)) BinarySpec { + s := passingToolSpec(name, "1.30.0") + s.Version = func(ctx context.Context, _ string) (*semver.Version, error) { return version(ctx) } + return s + } + for name, tc := range map[string]struct { + version func(ctx context.Context) (*semver.Version, error) + cutShort bool + passed bool + }{ + "stopped by the budget": { + version: func(ctx context.Context) (*semver.Version, error) { <-ctx.Done(); return nil, ctx.Err() }, + cutShort: true, + }, + "its own failure": { + version: func(ctx context.Context) (*semver.Version, error) { + <-ctx.Done() + return nil, errors.New("exec format error") + }, + }, + "passed as the budget ran out": { + version: func(ctx context.Context) (*semver.Version, error) { + <-ctx.Done() + return semver.MustParse("1.30.0"), nil + }, + passed: true, + }, + } { + ctx, cancel := context.WithTimeout(context.Background(), 50*time.Millisecond) + res := RunPreflightForRole(ctx, PreflightConfig{Tools: []BinarySpec{spec("kubectl", tc.version)}}, + RoleLocalOnly, RoleConfig{}, &captureSink{}) + cancel() + require.Len(t, res, 1, name) + assert.Equal(t, tc.cutShort, res[0].CutShort, name) + assert.Equal(t, tc.passed, res[0].Passed, name) + if tc.cutShort { + assert.True(t, strings.HasPrefix(res[0].Message, "cut short: "), name) + } + } +} + +// A row that says how to remove what a check left in the cluster is reported +// even when the run is interrupted, as an event too, since nothing else will +// say it. An interrupted row without one is not a finding and is dropped. +func TestRunPreflight_InterruptKeepsTheCleanupRow(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + sink := &captureSink{} + rc := RoleConfig{ + KubeContext: "ctx-a", + ClusterValidatorImage: "nvcr.io/nvidia/validator:1", + ClusterValidator: func(context.Context, ClusterValidatorParams) ClusterValidatorResult { + cancel() + return ClusterValidatorResult{RunID: "run1", Err: context.Canceled, LeftBehind: true} + }, + } + res := RunPreflightForRole(ctx, PreflightConfig{}, RoleControlPlane, rc, sink) + require.Len(t, res, 1) + assert.Equal(t, "cluster-validator", res[0].ID) + assert.Equal(t, SeverityWarning, res[0].Severity) + assert.Equal(t, "cluster-validator was interrupted", res[0].Message) + assert.Contains(t, res[0].Cleanup, clusterValidatorRunLabel+"=run1") + assert.Contains(t, res[0].Cleanup, "--context ctx-a") + var emitted []progress.CheckCompleted + for _, e := range sink.events { + if cc, ok := e.(progress.CheckCompleted); ok { + emitted = append(emitted, cc) + } + } + require.Len(t, emitted, 1) + assert.Contains(t, emitted[0].Detail, res[0].Cleanup) + + dropped, stop := context.WithCancel(context.Background()) + defer stop() + rc.ClusterValidator = func(context.Context, ClusterValidatorParams) ClusterValidatorResult { + stop() + return ClusterValidatorResult{RunID: "run2", Err: context.Canceled} + } + assert.Empty(t, RunPreflightForRole(dropped, PreflightConfig{}, RoleControlPlane, rc, &captureSink{})) +} + +// A configured validator whose tag could not be resolved does not run, and +// each role says so as a failed row: a note on stderr is lost to a consumer +// of the JSON stream, and nothing was validated. +func TestRunPreflight_UnresolvedValidatorImageFailsEachRole(t *testing.T) { + rc := RoleConfig{ClusterValidatorUnresolvedImage: "nvcr.io/nvidia/nvcf-byoc/cluster-validator"} + for _, role := range []Role{RoleControlPlane, RoleComputePlane} { + res := RunPreflightForRole(context.Background(), PreflightConfig{}, role, rc, &captureSink{}) + var row *CheckResult + for i := range res { + if res[i].ID == "cluster-validator" { + row = &res[i] + } + } + require.NotNil(t, row, role) + assert.True(t, row.IsBlockingFailure(), role) + assert.Contains(t, row.Message, "could not resolve a tag for nvcr.io/nvidia/nvcf-byoc/cluster-validator", role) + assert.Contains(t, row.Message, "--skip-cluster-validation", role) + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go index b69d96fb1a..70f1c240a1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go @@ -184,7 +184,7 @@ type Final struct { // Check-mode terminal fields (M+8.11, REQ-19): set by `nvcf self-hosted check` // to surface the verdict + tally. Zero values for other modes (omit on wire). - Verdict string // "ok" | "warnings" | "failed" | "error" + Verdict string // "ok" | "warnings" | "failed" | "error" | "timeout" TotalChecks int PassedCount int FailedCount int @@ -279,6 +279,9 @@ type CheckCompleted struct { Message string Detail string // optional: short version string or extra context HintURL string // optional: remediation-docs link + // Transient marks a warning expected to clear by itself, such as a + // rollout in progress; --wait keeps polling while one remains. + Transient bool } func (CheckCompleted) kind() eventKind { return "check_completed" } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go index 17a3d85df4..bf95e07d39 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go @@ -535,15 +535,16 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { } case CheckCompleted: return wireCheckCompleted{ - Event: "check_completed", - TS: ts, - Category: ev.Category, - ID: ev.ID, - Passed: ev.Passed, - Severity: ev.Severity, - Message: ev.Message, - Detail: ev.Detail, - HintURL: ev.HintURL, + Event: "check_completed", + TS: ts, + Category: ev.Category, + ID: ev.ID, + Passed: ev.Passed, + Severity: ev.Severity, + Message: ev.Message, + Detail: ev.Detail, + Transient: ev.Transient, + HintURL: ev.HintURL, } case CategoryCompleted: return wireCategoryCompleted{ @@ -748,6 +749,8 @@ type wireCheckCompleted struct { Message string `json:"message,omitempty"` Detail string `json:"detail,omitempty"` HintURL string `json:"hintURL,omitempty"` + // Transient is set on a warning --wait keeps polling on. + Transient bool `json:"transient,omitempty"` } type wireCategoryCompleted struct { diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go index 3f55654def..2874679b1b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go @@ -20,10 +20,12 @@ package progress import ( "bytes" "context" + "encoding/json" "strings" "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -461,3 +463,31 @@ func TestRenderJSONL_Uninstall(t *testing.T) { got := runEmitWithTotalPhases(t, clock, events, 3) assertGolden(t, "testdata/jsonl_uninstall.golden", got) } + +// A warning --wait polls on is marked transient on the wire, so a consumer of +// the stream can tell a rollout in progress from a finding. The field is left +// out otherwise. A run that timed out ends with success false. +func TestRenderJSONL_CheckTransientAndTimeout(t *testing.T) { + clock := &fakeClock{times: []time.Time{ts("2026-04-29T03:45:01Z")}} + got := runEmit(t, clock, []Event{ + CheckCompleted{Category: "control-plane-cluster", ID: "cluster-validator", Severity: "warning", + Message: "rollout in progress", Transient: true}, + CheckCompleted{Category: "control-plane-cluster", ID: "stale-namespaces", Severity: "warning", + Message: "1 stale namespace"}, + Final{Success: false, Verdict: "timeout", TotalChecks: 2, PassedCount: 0, FailedCount: 0}, + }) + lines := strings.Split(strings.TrimSpace(got), "\n") + var events []map[string]any + for _, l := range lines { + var m map[string]any + require.NoError(t, json.Unmarshal([]byte(l), &m), l) + if m["event"] != "schemaVersion" { + events = append(events, m) + } + } + require.Len(t, events, 3) + assert.Equal(t, true, events[0]["transient"]) + assert.NotContains(t, events[1], "transient") + assert.Equal(t, false, events[2]["success"]) + assert.Equal(t, "timeout", events[2]["verdict"]) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/select.go b/src/clis/nvcf-cli/internal/selfhosted/progress/select.go index a69cc557db..86349be3ef 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/select.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/select.go @@ -173,22 +173,20 @@ func SelectRenderer(stderr io.Writer, opts RenderOpts) (EventSink, RendererKind, size = detectTerminalSize(stderr) } if size != nil && (size.Cols < compactThresholdCols || size.Rows < compactThresholdRows) { - return NewTTYRenderer(stderr, ModelOpts{ - Output: stderr, - Mode: opts.Mode, - TotalPhases: opts.TotalPhases, - Cluster: opts.Cluster, - Target: opts.Target, - Stack: opts.Stack, - ControlPlaneContext: opts.ControlPlaneContext, - ComputePlaneContext: opts.ComputePlaneContext, - NowFunc: func() time.Time { return time.Now().UTC() }, - OnQuit: opts.OnQuit, - }), RendererTTYCompact, nil + return newTTYRenderer(stderr, ttyModelOpts(stderr, opts)), RendererTTYCompact, nil } // Row 9: default — full bubbletea. - return NewTTYRenderer(stderr, ModelOpts{ + return newTTYRenderer(stderr, ttyModelOpts(stderr, opts)), RendererTTYFull, nil +} + +// newTTYRenderer is a test seam over NewTTYRenderer. +var newTTYRenderer = NewTTYRenderer + +// ttyModelOpts is the bubbletea model configuration both TTY layouts use. It +// carries OnQuit: in raw mode a quit key is the only Ctrl-C the run sees. +func ttyModelOpts(stderr io.Writer, opts RenderOpts) ModelOpts { + return ModelOpts{ Output: stderr, Mode: opts.Mode, TotalPhases: opts.TotalPhases, @@ -199,7 +197,7 @@ func SelectRenderer(stderr io.Writer, opts RenderOpts) (EventSink, RendererKind, ComputePlaneContext: opts.ComputePlaneContext, NowFunc: func() time.Time { return time.Now().UTC() }, OnQuit: opts.OnQuit, - }), RendererTTYFull, nil + } } // isWriterTTY returns true iff w is an *os.File whose file descriptor is diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/select_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/select_test.go index 0985bae7c5..b4cdd7f6e6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/select_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/select_test.go @@ -19,6 +19,7 @@ package progress import ( "bytes" + "io" "os" "testing" @@ -206,3 +207,33 @@ func TestSelectRenderer_BoundaryConditions(t *testing.T) { require.NoError(t, err) assert.Equal(t, RendererTTYFull, kind) } + +// Both TTY layouts read the terminal in raw mode, where Ctrl-C is a key press +// and OnQuit is the only way it reaches the command. +func TestSelectRenderer_TTYLayoutsCarryOnQuit(t *testing.T) { + prev := newTTYRenderer + t.Cleanup(func() { newTTYRenderer = prev }) + var got ModelOpts + newTTYRenderer = func(stderr io.Writer, opts ModelOpts) *TTYRenderer { + got = opts + return prev(stderr, opts) + } + for size, want := range map[Size]RendererKind{ + {Cols: 80, Rows: 24}: RendererTTYCompact, + {Cols: 200, Rows: 60}: RendererTTYFull, + } { + got = ModelOpts{} + quits := 0 + _, kind, err := SelectRenderer(os.Stderr, RenderOpts{ + TerminalSize: &size, + Env: map[string]string{"TERM": "xterm-256color"}, + Mode: ModeCheck, + OnQuit: func() { quits++ }, + }) + require.NoError(t, err) + require.Equal(t, want, kind) + require.NotNil(t, got.OnQuit, "%s drops OnQuit", kind) + got.OnQuit() + assert.Equal(t, 1, quits, "%s must call the caller's OnQuit", kind) + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index dff41a7094..51d5df47c9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -241,13 +241,13 @@ func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interfac if apiKey == "" { return "", nil } - // Only ever hand the NGC key to NGC. Without this an operator who mirrors - // the validator image to ghcr.io or a corporate Harbor and still exports - // NGC_API_KEY gets it written as that registry's password, and the kubelet - // then sends the live key to a third party as HTTP Basic auth, where it - // lands in their access logs. The local probe already guards this the same - // way; the Secret path did not. - if !isNGCRegistry(registry) { + // Only ever hand the NGC key to nvcr.io, the registry up mints for. Without + // this an operator who mirrors the validator image to ghcr.io or a + // corporate Harbor and still exports NGC_API_KEY gets it written as that + // registry's password, and the kubelet then sends the live key to a third + // party as HTTP Basic auth, where it lands in their access logs. Other + // NVIDIA registries (staging NGC, internal ones) take their own logins. + if !isNGCKeyRegistry(registry) { return "", nil } cfg, err := buildDockerConfigJSON(registry, "$oauthtoken", apiKey) diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index f6cbc29653..e83e1fb348 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -246,6 +246,24 @@ func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { "minted secret must contain auth for the validator image's registry") } +// The key is minted into a pull Secret for nvcr.io only, as up mints it. +// Another NVIDIA registry, staging NGC included, never gets it. +func TestAutoCreatePullSecretFromEnv_OnlyForNvcrIO(t *testing.T) { + for _, name := range ngcAPIKeyEnvNames { + t.Setenv(name, "") + } + t.Setenv("NGC_API_KEY", "nvapi-test-123") + for _, registry := range []string{"stg.nvcr.io", "registry.nvidia.com:5005", "ghcr.io"} { + client := fake.NewSimpleClientset() + got, err := autoCreatePullSecretFromEnv(context.Background(), client, registry, + clusterValidatorControlPlaneRole, "runid", false) + require.NoError(t, err) + assert.Empty(t, got, registry) + list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) + assert.Empty(t, list.Items, "%s must not get the NGC key", registry) + } +} + func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 3d5b8ec76e..5739545a34 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -332,14 +332,28 @@ func LoadStackValues(files []string) StackValues { return values } -// stackGateways returns the Gateways named under ingress.gatewayApi.gateways -// that have both a name and a namespace, as sorted, distinct namespace/name -// entries. An entry the environment left empty is one it does not use. +// stackGateways returns the Gateways the stack wires NVCF routes to, as +// sorted, distinct namespace/name entries, applying the gates its template +// applies (global.yaml.gotmpl, nvcfGatewayRoutes): none unless +// ingress.gatewayApi.enabled, shared and grpc always, nats only with its +// route enabled, and llmGrpc and llmQuic only with the LLM worker route. An +// environment file can name a Gateway whose route stays off, and the stack +// never creates or wires that Gateway, so the validator must not look for it. func stackGateways(merged map[string]any) []string { + if !digBool(merged, "ingress", "gatewayApi", "enabled") { + return nil + } + wired := []string{"shared", "grpc"} + if digBool(merged, "ingress", "gatewayApi", "routes", "nats", "enabled") { + wired = append(wired, "nats") + } + if digBool(merged, "ingress", "gatewayApi", "routes", "llmWorker", "enabled") { + wired = append(wired, "llmGrpc", "llmQuic") + } gateways, _ := digAny(merged, "ingress", "gatewayApi", "gateways").(map[string]any) seen := map[string]bool{} var out []string - for key := range gateways { + for _, key := range wired { name := digString(gateways, key, "name") ns := digString(gateways, key, "namespace") if name == "" || ns == "" || strings.Contains(name, "/") || strings.Contains(ns, "/") { @@ -368,6 +382,13 @@ func mergeValues(dst, src map[string]any) { } } +// digBool reads a YAML boolean, false when absent or of another type, as the +// stack's dig with a false default reads it. +func digBool(m map[string]any, keys ...string) bool { + b, _ := digAny(m, keys...).(bool) + return b +} + func digString(m map[string]any, keys ...string) string { s, _ := digAny(m, keys...).(string) return strings.TrimSpace(s) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 7db67f7477..eba5e24935 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -573,34 +573,55 @@ func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { assert.Contains(t, r.Message, "not verified") } -// The launcher reads the stack's HA mode and NVCF Gateways, so the validator -// is told rather than left to guess. An unset mode is "none", as the stack's -// own template reads it, and a Gateway entry left empty is not in use. +// The Gateways forwarded are the ones the stack wires NVCF routes to, with +// the gates its template applies: none without ingress.gatewayApi.enabled, +// shared and grpc always, nats only with its route on, and llmGrpc and +// llmQuic only with the LLM worker route on. An environment file can name a +// Gateway whose route stays off, and the stack never creates that Gateway. func TestLoadStackValues_Gateways(t *testing.T) { dir := t.TempDir() - base, env := dir+"/base.yaml", dir+"/prod.yaml" + base := dir + "/base.yaml" require.NoError(t, writeFile(base, []byte(` ingress: gatewayApi: + enabled: true gateways: shared: {name: "", namespace: ""} grpc: {name: "", namespace: ""} llmGrpc: {name: "", namespace: ""} `))) - require.NoError(t, writeFile(env, []byte(` -highAvailability: - mode: enforced -ingress: - gatewayApi: - gateways: + const named = ` shared: {name: shared-gw, namespace: envoy-gateway-system} grpc: {name: grpc-gw, namespace: envoy-gateway-system} - nats: {name: shared-gw, namespace: envoy-gateway-system} -`))) - got := LoadStackValues([]string{base, env}) - assert.Equal(t, []string{"envoy-gateway-system/grpc-gw", "envoy-gateway-system/shared-gw"}, got.Gateways, - "sorted, distinct, and without the unused llmGrpc entry") + nats: {name: nats-gw, namespace: envoy-gateway-system} + llmGrpc: {name: llm-grpc-gateway, namespace: envoy-gateway} + llmQuic: {name: llm-quic-gateway, namespace: envoy-gateway} +` + for name, tc := range map[string]struct { + env string + want []string + }{ + "routes off": { + env: "ingress:\n gatewayApi:\n gateways:" + named, + want: []string{"envoy-gateway-system/grpc-gw", "envoy-gateway-system/shared-gw"}, + }, + "routes on": { + env: "ingress:\n gatewayApi:\n routes:\n nats: {enabled: true}\n llmWorker: {enabled: true}\n" + + " gateways:" + named, + want: []string{ + "envoy-gateway-system/grpc-gw", "envoy-gateway-system/nats-gw", "envoy-gateway-system/shared-gw", + "envoy-gateway/llm-grpc-gateway", "envoy-gateway/llm-quic-gateway", + }, + }, + "gateway API off": { + env: "ingress:\n gatewayApi:\n enabled: false\n gateways:" + named, + want: nil, + }, + } { + env := dir + "/" + strings.ReplaceAll(name, " ", "-") + ".yaml" + require.NoError(t, writeFile(env, []byte(tc.env)), name) + assert.Equal(t, tc.want, LoadStackValues([]string{base, env}).Gateways, name) + } - got = LoadStackValues([]string{base}) - assert.Empty(t, got.Gateways) + assert.Empty(t, LoadStackValues([]string{base}).Gateways, "an entry left empty is one the install does not use") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 9e50b211b5..b1cf6c21c1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -91,9 +91,9 @@ func NewStaleNamespaceProber() StaleNamespaceProber { // A namespace is considered stale when either: // - its DeletionTimestamp is set or its phase is Terminating (finalizer // deadlock; it will never complete without operator intervention), or -// - it exists but holds no active Helm release (empty shell left by a partial -// helm uninstall or a failed teardown that cleaned the release but not the -// namespace). +// - it holds no active Helm release, runs no workload, and still holds what a +// removed install leaves (volume claims, hook Jobs): a partial helm +// uninstall or a teardown that removed the release but not its data. // // Helm 3 marks each release secret with the label owner=helm; absence of any // such secret means no live Helm release occupies the namespace. @@ -138,49 +138,89 @@ func helmReleaseExists( return false, fmt.Errorf("gave up after %d pages scanning for Helm releases", helmReleaseListMaxPages) } -// hasPods reports whether namespace ns runs any pod. A read error reports -// false, so the namespace is still flagged. -func hasPods(ctx context.Context, client kubernetes.Interface, ns string) bool { - pods, err := client.CoreV1().Pods(ns).List(ctx, metav1.ListOptions{Limit: 1}) - return err == nil && len(pods.Items) > 0 -} - -// onlyInstallPreparation reports whether namespace ns holds a registry pull -// Secret and nothing else an operator or an install would create: only the -// tokens and CA ConfigMap Kubernetes adds to every namespace, and no PVCs. An -// empty namespace, or a read error, reports false, so it is still flagged. -func onlyInstallPreparation(ctx context.Context, client kubernetes.Interface, ns string) bool { - pvcs, err := client.CoreV1().PersistentVolumeClaims(ns).List(ctx, metav1.ListOptions{Limit: 1}) - if err != nil || len(pvcs.Items) > 0 { - return false - } - secrets, err := client.CoreV1().Secrets(ns).List(ctx, metav1.ListOptions{}) +// hasLiveWorkload reports whether namespace ns runs a workload: a Pending or +// Running pod that is not terminating and not a Job's. An install rendered +// with helm template, as Argo CD does, records no Helm release but runs these. +// Job pods are left out because Helm never deletes its hook Jobs, so a +// removed install leaves their Completed pods behind. A read error reports +// false, so the namespace is still judged by what it holds. +func hasLiveWorkload(ctx context.Context, client kubernetes.Interface, ns string) bool { + pods, err := client.CoreV1().Pods(ns).List(ctx, metav1.ListOptions{}) if err != nil { return false } - pullSecrets := 0 - for i := range secrets.Items { - switch secrets.Items[i].Type { - case corev1.SecretTypeDockerConfigJson, corev1.SecretTypeDockercfg: - pullSecrets++ - case corev1.SecretTypeServiceAccountToken: - default: - return false + for i := range pods.Items { + p := &pods.Items[i] + if p.DeletionTimestamp != nil || ownedByJob(p) { + continue + } + if p.Status.Phase == corev1.PodPending || p.Status.Phase == corev1.PodRunning { + return true } } - if pullSecrets == 0 { - return false + return false +} + +func ownedByJob(p *corev1.Pod) bool { + for _, ref := range p.OwnerReferences { + if ref.Kind == "Job" { + return true + } } - cms, err := client.CoreV1().ConfigMaps(ns).List(ctx, metav1.ListOptions{}) - if err != nil { - return false + return false +} + +// holdsInstallLeftovers reports whether namespace ns holds what a removed +// install leaves behind: volume claims, which helm never deletes and a +// reinstall would silently reattach, or workload objects such as the hook +// Jobs Helm also leaves. A namespace holding only what is created ahead of an +// install (pull and TLS Secrets, CA ConfigMaps, labels), or nothing at all, +// is a fresh one. A read error reports true, so the namespace is still flagged. +func holdsInstallLeftovers(ctx context.Context, client kubernetes.Interface, ns string) bool { + one := metav1.ListOptions{Limit: 1} + present := []func() (int, error){ + func() (int, error) { + l, err := client.CoreV1().PersistentVolumeClaims(ns).List(ctx, one) + if err != nil { + return 0, err + } + return len(l.Items), nil + }, + func() (int, error) { + l, err := client.BatchV1().Jobs(ns).List(ctx, one) + if err != nil { + return 0, err + } + return len(l.Items), nil + }, + func() (int, error) { + l, err := client.AppsV1().StatefulSets(ns).List(ctx, one) + if err != nil { + return 0, err + } + return len(l.Items), nil + }, + func() (int, error) { + l, err := client.AppsV1().Deployments(ns).List(ctx, one) + if err != nil { + return 0, err + } + return len(l.Items), nil + }, + func() (int, error) { + l, err := client.AppsV1().DaemonSets(ns).List(ctx, one) + if err != nil { + return 0, err + } + return len(l.Items), nil + }, } - for i := range cms.Items { - if cms.Items[i].Name != "kube-root-ca.crt" { - return false + for _, count := range present { + if n, err := count(); err != nil || n > 0 { + return true } } - return true + return false } // helmReleasesAreInCluster reports whether Helm stores release state as @@ -240,12 +280,12 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name continue } // No release is not yet a leftover. The documented install pre-creates - // the namespaces holding only a registry pull Secret, so before the + // namespaces, labelled and holding pull or TLS Secrets, so before the // first install none has a release; and an install rendered with // `helm template` (Argo CD) never records one but runs pods. What - // `down` leaves behind runs nothing and still holds data (PVCs, - // Secrets, ConfigMaps). - if hasPods(ctx, client, name) || onlyInstallPreparation(ctx, client, name) { + // `down` leaves behind runs nothing, and holds volume claims or the + // hook Jobs Helm never deletes. + if hasLiveWorkload(ctx, client, name) || !holdsInstallLeftovers(ctx, client, name) { continue } noRelease = append(noRelease, name) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index ec7c50a145..50d561ea7b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -26,6 +26,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + appsv1 "k8s.io/api/apps/v1" + batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -69,15 +71,16 @@ func TestProbeStaleNamespaces_TerminatingIsByPhase(t *testing.T) { assert.Contains(t, stale[0].Reason, "Terminating") } -func TestProbeStaleNamespaces_EmptyShellNoHelmSecrets(t *testing.T) { - // Namespace exists and is Active but holds no Helm release secrets -> - // leftover empty shell from a partial helm uninstall. The second namespace - // carries a release and is not reported. +func TestProbeStaleNamespaces_NoReleaseWithInstallDataIsStale(t *testing.T) { + // Namespace exists and is Active, holds no Helm release, and still holds a + // volume claim -> leftover of a partial helm uninstall. The second + // namespace carries a release and is not reported. client := fake.NewSimpleClientset( &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, }, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: "nvcf"}}, &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "sis"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, @@ -139,7 +142,8 @@ func TestProbeStaleNamespaces_HealthyReleaseConfigMapDriverNotStale(t *testing.T } func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { - // One absent, one healthy, one terminating, one empty shell. + // One absent, one healthy, one terminating, one left with its data, and + // one empty, as before a first install. now := metav1.Now() client := fake.NewSimpleClientset( // "sis" - healthy with a Helm release @@ -158,18 +162,24 @@ func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &now}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, }, - // "api-keys" - empty shell + // "api-keys" - no release, its volume claim left behind &corev1.Namespace{ ObjectMeta: metav1.ObjectMeta{Name: "api-keys"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, }, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: "api-keys"}}, + // "ess" - empty, created ahead of a first install + &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "ess"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, // "cassandra-system" - absent (not present in fake) ) - namespaces := []string{"cassandra-system", "sis", "nvcf", "api-keys"} + namespaces := []string{"cassandra-system", "sis", "nvcf", "api-keys", "ess"} stale, err := probeStaleNamespaces(context.Background(), client, namespaces) require.NoError(t, err) - require.Len(t, stale, 2, "only nvcf (terminating) and api-keys (empty shell) should be stale") + require.Len(t, stale, 2, "only nvcf (terminating) and api-keys (data left behind) should be stale") staleNames := make(map[string]string, 2) for _, s := range stale { @@ -401,18 +411,66 @@ func TestStaleNamespaceCheck_ProbesTheResolvedContext(t *testing.T) { // `down` destroys every release but keeps the namespaces and their PVCs, so no // owner=helm object exists anywhere. With the default driver that is exactly // the stale state to report; a reinstall would silently reattach the old -// Cassandra and OpenBao volumes. +// Cassandra and OpenBao volumes. Helm never deletes hook Jobs, so their +// Completed pods are still there, and they are not a live install. func TestProbeStaleNamespaces_AfterDownReportsEveryNamespace(t *testing.T) { t.Setenv("HELM_DRIVER", "") - client := fake.NewSimpleClientset( - &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, - &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "sis"}}, - ) - got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) + var objects []runtime.Object + for _, ns := range []string{"cassandra-system", "vault-system"} { + objects = append(objects, + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data-0", Namespace: ns}}, + &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: "initialize-cluster", Namespace: ns}}, + &corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "initialize-cluster-x1", Namespace: ns, + OwnerReferences: []metav1.OwnerReference{{Kind: "Job", Name: "initialize-cluster"}}}, + Status: corev1.PodStatus{Phase: corev1.PodSucceeded}, + }, + ) + } + client := fake.NewSimpleClientset(objects...) + got, err := probeStaleNamespaces(context.Background(), client, []string{"cassandra-system", "vault-system"}) require.NoError(t, err) assert.Len(t, got, 2) } +// Only a Pending or Running pod that is neither terminating nor a Job's is a +// live workload. A hook Job's pod, even one still running, and a pod being +// deleted do not keep a namespace holding install data from being reported. +func TestProbeStaleNamespaces_OnlyALiveWorkloadIsAnInstall(t *testing.T) { + now := metav1.Now() + pod := func(ns string, phase corev1.PodPhase, mutate func(*corev1.Pod)) *corev1.Pod { + p := &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "p", Namespace: ns}, Status: corev1.PodStatus{Phase: phase}} + if mutate != nil { + mutate(p) + } + return p + } + cases := map[string]struct { + pod *corev1.Pod + stale bool + }{ + "running": {pod("a", corev1.PodRunning, nil), false}, + "pending": {pod("b", corev1.PodPending, nil), false}, + "succeeded": {pod("c", corev1.PodSucceeded, nil), true}, + "terminating": {pod("d", corev1.PodRunning, func(p *corev1.Pod) { p.DeletionTimestamp = &now }), true}, + "hook job's": {pod("e", corev1.PodRunning, func(p *corev1.Pod) { + p.OwnerReferences = []metav1.OwnerReference{{Kind: "Job", Name: "migrations"}} + }), true}, + } + for name, tc := range cases { + ns := tc.pod.Namespace + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: ns}}, + tc.pod, + ) + got, err := probeStaleNamespaces(context.Background(), client, []string{ns}) + require.NoError(t, err, name) + assert.Equal(t, tc.stale, len(got) == 1, name) + } +} + // HELM_DRIVER=sql keeps release state in a database, so the absence of an // in-cluster release object says nothing and must not be reported. func TestProbeStaleNamespaces_SQLDriverSkipsTheNoReleaseSignal(t *testing.T) { @@ -485,48 +543,54 @@ func TestStaleNamespaceCheck_HintsOneCommandPerNamespace(t *testing.T) { assert.Contains(t, r.Message, "get -n ess --show-kind") } -// The documented install pre-creates each namespace holding only a registry -// pull Secret, so before the first install none has a release. That is not a -// leftover and must not be flagged, while a namespace that still holds data, -// as `down` leaves them, is. +// The documented install pre-creates namespaces before the first install, so +// none has a release yet: labelled and empty, or holding a pull Secret, a TLS +// Secret, or the CA ConfigMap a mesh or the platform adds. None of that is a +// leftover. A namespace that still holds volume claims or workload objects, as +// `down` leaves them, is. func TestProbeStaleNamespaces_PreCreatedNamespaceIsNotStale(t *testing.T) { ns := func(name string) *corev1.Namespace { - return &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: name}, + return &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: name, Labels: map[string]string{"nvcf/platform": "true"}}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}} } - pull := func(ns string) *corev1.Secret { - return &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "nvcr-pull-secret", Namespace: ns}, - Type: corev1.SecretTypeDockerConfigJson} + secret := func(ns, name string, typ corev1.SecretType) *corev1.Secret { + return &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: ns}, Type: typ} + } + configMap := func(ns, name string) *corev1.ConfigMap { + return &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: ns}} } client := fake.NewSimpleClientset( - ns("nvcf"), pull("nvcf"), - &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "kube-root-ca.crt", Namespace: "nvcf"}}, - ns("cassandra-system"), pull("cassandra-system"), + ns("api-keys"), + ns("ess"), secret("ess", "nvcr-pull-secret", corev1.SecretTypeDockerConfigJson), + ns("nvcf"), secret("nvcf", "stargate-quic-tls", corev1.SecretTypeTLS), configMap("nvcf", "kube-root-ca.crt"), + ns("sis"), configMap("sis", "istio-ca-root-cert"), configMap("sis", "openshift-service-ca.crt"), + ns("cassandra-system"), secret("cassandra-system", "nvcr-pull-secret", corev1.SecretTypeDockerConfigJson), &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data-cassandra-0", Namespace: "cassandra-system"}}, - ns("vault-system"), pull("vault-system"), - &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "vault-unseal", Namespace: "vault-system"}, - Type: corev1.SecretTypeOpaque}, - ns("sis"), pull("sis"), - &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "sis-config", Namespace: "sis"}}, + ns("vault-system"), secret("vault-system", "vault-unseal", corev1.SecretTypeOpaque), + &appsv1.StatefulSet{ObjectMeta: metav1.ObjectMeta{Name: "openbao-server", Namespace: "vault-system"}}, ) stale, err := probeStaleNamespaces(context.Background(), client, - []string{"nvcf", "cassandra-system", "vault-system", "sis"}) + []string{"api-keys", "ess", "nvcf", "sis", "cassandra-system", "vault-system"}) require.NoError(t, err) var names []string for _, s := range stale { names = append(names, s.Name) } - assert.ElementsMatch(t, []string{"cassandra-system", "vault-system", "sis"}, names, - "only the namespaces that still hold data") + assert.ElementsMatch(t, []string{"cassandra-system", "vault-system"}, names, + "only the namespaces that still hold volume claims or workload objects") } // An install rendered with `helm template` (Argo CD) records no Helm release -// but runs pods. That is a live install, not a leftover. +// but runs pods. That is a live install, not a leftover, though it holds what +// a leftover would. func TestProbeStaleNamespaces_NamespaceRunningPodsIsNotStale(t *testing.T) { client := fake.NewSimpleClientset( &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nats-system"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}}, - &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "nats-0", Namespace: "nats-system"}}, + &appsv1.StatefulSet{ObjectMeta: metav1.ObjectMeta{Name: "nats", Namespace: "nats-system"}}, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "nats-js-nats-0", Namespace: "nats-system"}}, + &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "nats-0", Namespace: "nats-system"}, + Status: corev1.PodStatus{Phase: corev1.PodRunning}}, &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "nats-auth", Namespace: "nats-system"}, Type: corev1.SecretTypeOpaque}, ) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index ea42963607..36cf6db02e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -507,14 +507,32 @@ func isNGCRegistry(registry string) bool { return false } +// ngcKeyRegistryHost is the one registry NGC_API_KEY is for: the registry up +// mints its pull secrets for from that key. isNGCRegistry also accepts other +// NVIDIA hosts (staging NGC, internal registries), and those take their own +// logins, never the NGC key. +const ngcKeyRegistryHost = "nvcr.io" + +// isNGCKeyRegistry reports whether NGC_API_KEY may be sent to registry. +func isNGCKeyRegistry(registry string) bool { + if !isBareRegistryHost(registry) { + return false + } + host := registry + if h, _, err := net.SplitHostPort(registry); err == nil { + host = h + } + return strings.EqualFold(host, ngcKeyRegistryHost) +} + // credentialsForRegistry resolves (username, password) for any registry. For -// an NGC registry NGC_API_KEY comes first when it is set, because that is the -// key up and the validator pull secret mint from: checking a keychain login -// instead validated a different credential from the one the install uses. -// NGC_API_KEY is never sent to any other registry. Without it, or for any -// other registry, ~/.docker/config.json is used. +// nvcr.io NGC_API_KEY comes first when it is set, because that is the key up +// and the validator pull secret mint from: checking a keychain login instead +// validated a different credential from the one the install uses. NGC_API_KEY +// is never sent to any other registry, NVIDIA's own included. Without it, or +// for any other registry, ~/.docker/config.json is used. func credentialsForRegistry(registry string) (string, string, bool) { - if isNGCRegistry(registry) { + if isNGCKeyRegistry(registry) { if key := firstNonEmptyEnv(ngcAPIKeyEnvNames...); key != "" { return "$oauthtoken", key, true } @@ -522,13 +540,10 @@ func credentialsForRegistry(registry string) (string, string, bool) { return credsFromDockerConfig(registry) } -// ngcCredentials resolves (username, password) for an NGC-hosted registry, in -// the same order: NGC_API_KEY, then ~/.docker/config.json. +// ngcCredentials resolves (username, password) for an NGC-hosted registry's +// /proxy_auth exchange, by the same rule as credentialsForRegistry. func ngcCredentials(registry string) (string, string, bool) { - if key := firstNonEmptyEnv(ngcAPIKeyEnvNames...); key != "" { - return "$oauthtoken", key, true - } - return credsFromDockerConfig(registry) + return credentialsForRegistry(registry) } func credsFromDockerConfig(registry string) (string, string, bool) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 3d12742105..eb30db1d7d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -19,6 +19,7 @@ package selfhosted import ( "context" + "encoding/base64" "encoding/json" "fmt" "io" @@ -252,12 +253,47 @@ func TestNGCCredentials_EnvFallback(t *testing.T) { } t.Setenv("NGC_API_KEY", "from-env") - user, pass, ok := ngcCredentials("stg.nvcr.io") + user, pass, ok := ngcCredentials("nvcr.io") require.True(t, ok) assert.Equal(t, "$oauthtoken", user) assert.Equal(t, "from-env", pass) } +// NGC_API_KEY is for nvcr.io, the one registry up mints its pull secrets for. +// Other NVIDIA registries, staging NGC and internal ones, take their own +// docker login, and the key is never sent to them. +func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { + dir := t.TempDir() + t.Setenv("HOME", dir) + for _, n := range ngcAPIKeyEnvNames { + t.Setenv(n, "") + } + t.Setenv("NGC_API_KEY", "ngc-key") + login := base64.StdEncoding.EncodeToString([]byte("robot:own-login")) + auths := map[string]any{} + for _, host := range []string{"nvcr.io", "stg.nvcr.io", "registry.nvidia.com:5005"} { + auths[host] = map[string]string{"auth": login} + } + cfg, err := json.Marshal(map[string]any{"auths": auths}) + require.NoError(t, err) + require.NoError(t, os.MkdirAll(filepath.Join(dir, ".docker"), 0o700)) + require.NoError(t, os.WriteFile(filepath.Join(dir, ".docker", "config.json"), cfg, 0o600)) + + for host, wantPass := range map[string]string{ + "nvcr.io": "ngc-key", + "NVCR.IO:443": "ngc-key", + "stg.nvcr.io": "own-login", + "registry.nvidia.com:5005": "own-login", + } { + _, pass, ok := credentialsForRegistry(host) + require.True(t, ok, host) + assert.Equal(t, wantPass, pass, host) + _, pass, ok = ngcCredentials(host) + require.True(t, ok, host) + assert.Equal(t, wantPass, pass, "%s: the /proxy_auth exchange follows the same rule", host) + } +} + // -- parseWWWAuthenticate -- func TestParseWWWAuthenticate_Standard(t *testing.T) { From cbf80d870504c389a4f4446719916a1896736007 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 01:01:28 +0530 Subject: [PATCH 057/127] fix(nvcf-cli): grade validator runs on the Job end state Signed-off-by: rohithb --- .../examples/ci-pipelines.md | 1 + .../reference/exit-codes.md | 4 +- .../nvcf-self-managed-cli/reference/flags.md | 2 +- src/clis/nvcf-cli/cmd/main_test.go | 4 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 325 +- .../cmd/self_hosted_check_scope_test.go | 361 +- .../nvcf-cli/cmd/self_hosted_check_test.go | 22 +- .../agentskill/skilldata_generated.go | 6518 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 622 +- .../clustervalidator_lifecycle_test.go | 893 ++- .../selfhosted/clustervalidator_test.go | 58 +- .../internal/selfhosted/inotify_probe.go | 4 + .../nvcf-cli/internal/selfhosted/preflight.go | 419 +- .../internal/selfhosted/progress/event.go | 6 + .../selfhosted/progress/render_jsonl.go | 6 + .../internal/selfhosted/pullsecret_test.go | 31 + 17 files changed, 5477 insertions(+), 3800 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index ea697848a9..9bfe735165 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -25,6 +25,7 @@ Notes: - `check` reports its verdict in one `final` event, with `success: false` when any check failed at error severity or the run timed out (exit `5`, `verdict: "timeout"`). Gate on that event: `check` never emits `phase_failed`, so a condition on it always passes. Requiring the `final` event also fails the step when the command dies before emitting it. - Slurp with `jq -s` before testing a condition. Without it `jq -e` takes its exit status from the last event alone. - stderr also carries plain-text notices, so filter to JSON lines. Do not add `--show-logs` here: it appends a non-JSON transcript to the same stream. +- The plain-text notice that says how to remove objects a validator run left in the cluster is filtered out with the rest. Read the same commands from the `final` event instead, for example `jq -r '.[] | select(.event == "final") | .cleanup[]?'` on the slurped stream. - Final status check gates downstream stages on `verdict == "healthy"`. ## GitOps (Argo / Flux) pattern diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 6477cae918..8d4cd3bc94 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -9,7 +9,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. | `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent; a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image). Warning-severity results exit `0` | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short). A check that already had its result keeps it, so a validator's own failure is exit `2` | -| `130` | Cancelled by SIGINT/SIGTERM | User Ctrl-C; CI budget exceeded; pod evicted | +| `130` | Cancelled by SIGINT, SIGTERM or SIGHUP | User Ctrl-C; CI budget exceeded; pod evicted; terminal or SSH session closed | ## How an agent should react @@ -24,4 +24,4 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. ## Where to find more detail -`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. +`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. When a cluster-validator run left objects in the cluster (`--no-cleanup`, a pod that would not stop, or a cleanup that failed), `check` lists the commands that remove them in the `final` event's `cleanup` array and in that row's `cleanup` field, on every exit code, and prints them again as its last stderr lines. On an interrupt it prints them at once, before its own cleanup, which a second Ctrl-C cuts short. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 2a8a80adcf..81c0f1f2d3 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -59,7 +59,7 @@ that file it does not, and the validator finds them from the routes. | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on `nvcr.io`, it mints one from `NGC_API_KEY`. The key is never sent to another registry, other NVIDIA registries included; those use your docker login | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | -| `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A later check reclaims them after 24 hours; the result prints the `kubectl delete` command that removes them now | `false` | +| `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check reclaims them after 24 hours. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now | `false` | | `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | ## `up`-specific diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index a92be42017..5d75f7c76e 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -80,8 +80,8 @@ func TestMain(m *testing.M) { // otherwise have every check test create RBAC, Secrets and Jobs in the // current kube context and wait up to five minutes per role. newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { - return func(context.Context, selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { - return selfhosted.ClusterValidatorResult{Passed: true} + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: " + p.Role + "\nCluster is NVCF-Ready\n"} } } for _, k := range []string{ diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 966adfb3c6..92d45738f6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -26,6 +26,7 @@ import ( "os/signal" "path/filepath" "strings" + "sync" "syscall" "time" @@ -118,8 +119,9 @@ func init() { "an NGC registry, it mints one from NGC_API_KEY. Set to force a specific name.") selfHostedCheckCmd.Flags().BoolVar(&checkClusterValidatorNoCleanup, "no-cleanup", false, "Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging instead of "+ - "removing them after the run. They are reclaimed by a later check after 24 hours; the "+ - "result prints the kubectl command that removes them now.") + "removing them after the run. A kept Job whose pod cannot pull its image is suspended, which "+ + "deletes the pod. They are reclaimed by a later check after 24 hours; the result prints the "+ + "kubectl command that removes them now.") selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorRegistries, "cluster-validator-registries", nil, "Additional container registries to probe for reachability in the control-plane validator. "+ "Format: host:port (e.g. harbor.company.internal:443,ghcr.io:443). "+ @@ -212,18 +214,40 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { outerTimeout += waitDur } } - // Catch Ctrl-C and SIGTERM so an interrupted run unwinds through its - // deferred cleanup. Without this the process exits on the signal and the - // validator's cluster-wide ClusterRole, bound to a ServiceAccount in - // default, stays behind until a later check's orphan sweep. - sigCtx, stop := signal.NotifyContext(c.Context(), os.Interrupt, syscall.SIGTERM) + // Every validator run that may leave objects in a cluster registers its + // removal command here, across --wait polls, so every exit can print it. + ledger := &selfhosted.CleanupLedger{} + errOut := c.ErrOrStderr() + + // Catch Ctrl-C, SIGTERM and SIGHUP (a closed terminal or a dropped SSH + // session) so an interrupted run unwinds through its deferred cleanup. + // Without this the process exits on the signal and the validator's + // cluster-wide ClusterRole, bound to a ServiceAccount in default, stays + // behind until a later check's orphan sweep. + sigCtx, stop := signal.NotifyContext(c.Context(), os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) defer stop() - // Catch only the first signal. Restoring the default handler once it - // arrives lets a second Ctrl-C exit at once instead of waiting out the - // cleanup. + // After the first signal or quit key, say at once how to remove what the + // runs in progress may leave, before anything can end the process. A + // second Ctrl-C then exits at once, through the default handler. SIGTERM + // and SIGHUP stay caught until the bounded teardown ends: CI follows its + // SIGINT with a SIGTERM a few seconds later. + held := make(chan os.Signal, 1) + defer signal.Stop(held) + var noteOnce sync.Once + noteInterrupt := func() { + noteOnce.Do(func() { printInterruptCleanup(errOut, ledger.Outstanding()) }) + } + returned := make(chan struct{}) + defer close(returned) go func() { - <-sigCtx.Done() + select { + case <-returned: + return + case <-sigCtx.Done(): + } + signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) stop() + noteInterrupt() }() // interrupted is an explicit cancel, not the timeout below, which is a // child of sigCtx and leaves it live. @@ -286,141 +310,166 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { Tools: checkPreflightTools(), Registries: credEntries, RegistryChecker: registryChecker, + Interrupted: interrupted, } // A quit key in the dashboard cancels the run the way a signal does. - sink, err := selectCheckRendererFn(c.ErrOrStderr(), selfHostedWait != "", stop) + sink, err := selectCheckRendererFn(errOut, selfHostedWait != "", stop) if err != nil { return err } - defer sink.Close() if starter, ok := sink.(interface{ Start() }); ok { starter.Start() } - // An interrupted run still ends the stream with a final event, marked - // cancelled as up marks its own, so a --json consumer is not left waiting - // for one. Emitted on a fresh ctx: the run's ctx is already cancelled. - // A check that kept objects in the cluster, the validator whose pod - // would not stop, says how to remove them; repeat it on stderr, since an - // interrupt may already have closed the dashboard. - exitInterrupted := func(results []selfhosted.CheckResult) error { - _ = sink.Emit(context.Background(), progress.Final{Cancelled: true}) - for _, r := range results { - if r.Cleanup != "" { - fmt.Fprintf(c.ErrOrStderr(), "note: %s left objects in the cluster; %s\n", r.ID, r.Cleanup) - } + var lastResults []selfhosted.CheckResult + runErr := func() error { + // An interrupted run still ends the stream with a final event, marked + // cancelled as up marks its own, so a --json consumer is not left waiting + // for one. Emitted on a fresh ctx: the run's ctx is already cancelled. + exitInterrupted := func() error { + // The note goes first, whichever of this and the signal handler + // gets there first. + noteInterrupt() + _ = sink.Emit(context.Background(), progress.Final{Cancelled: true, Cleanup: ledger.Outstanding()}) + return &ExitCodeError{Code: 130, Msg: "interrupted"} } - return &ExitCodeError{Code: 130, Msg: "interrupted"} - } - var lastResults []selfhosted.CheckResult + runOnce := func() []selfhosted.CheckResult { + var results []selfhosted.CheckResult + if unresolvedImage != "" { + // Discovery fails transiently too, and each --wait poll is a new + // chance to run the validator. + clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(ctx) + } + if checkPre || checkAll || checkControlPlane || checkComputePlane { + results = append(results, + runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger)...) + } + // Inject force-fail seam for tests. + if os.Getenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL") != "" { + results = append([]selfhosted.CheckResult{{ + ID: "force-fail-test-seam", + Category: "test", + Severity: selfhosted.SeverityError, + Passed: false, + Message: "forced failure (test seam)", + }}, results...) + } + return results + } - runOnce := func() []selfhosted.CheckResult { - var results []selfhosted.CheckResult - if unresolvedImage != "" { - // Discovery fails transiently too, and each --wait poll is a new - // chance to run the validator. - clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(ctx) + // The outer budget stopped a check: one never started, or ran out of time + // while it ran. Its row is no finding, so the verdict is a timeout rather + // than whatever the partial set would grade as. A budget that ran out + // only after every check had its result changes nothing. + exitBudgetSpent := func() error { + emitCheckTimeout(sink, lastResults, ledger.Outstanding()) + return &ExitCodeError{Code: 5, Msg: "timed out: the check budget ran out before every check finished"} } - if checkPre || checkAll || checkControlPlane || checkComputePlane { - results = append(results, - runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage, unresolvedImage)...) + + if selfHostedWait == "" { + // Single-shot mode. + lastResults = runOnce() + if interrupted() { + return exitInterrupted() + } + if anyCutShort(lastResults) { + return exitBudgetSpent() + } + emitCheckFinal(ctx, sink, lastResults, ledger.Outstanding()) + if anyFailed(lastResults) { + return &ExitCodeError{Code: 2, Msg: "pre-flight checks failed"} + } + return nil } - // Inject force-fail seam for tests. - if os.Getenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL") != "" { - results = append([]selfhosted.CheckResult{{ - ID: "force-fail-test-seam", - Category: "test", - Severity: selfhosted.SeverityError, - Passed: false, - Message: "forced failure (test seam)", - }}, results...) + + // --wait mode: poll every 5s until all checks pass or the duration elapses. + dur, err := time.ParseDuration(selfHostedWait) + if err != nil { + return fmt.Errorf("invalid --wait duration %q: %w", selfHostedWait, err) } - return results - } - // The outer budget stopped a check: one never started, or ran out of time - // while it ran. Its row is no finding, so the verdict is a timeout rather - // than whatever the partial set would grade as. A budget that ran out - // only after every check had its result changes nothing. - exitBudgetSpent := func() error { - emitCheckTimeout(sink, lastResults) - maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - return &ExitCodeError{Code: 5, Msg: "timed out: the check budget ran out before every check finished"} - } + deadline := time.After(dur) + ticker := time.NewTicker(5 * time.Second) + defer ticker.Stop() - if selfHostedWait == "" { - // Single-shot mode. - lastResults = runOnce() - if interrupted() { - return exitInterrupted(lastResults) - } - if anyCutShort(lastResults) { - return exitBudgetSpent() + // Every exit 5 reports success:false, so a gate on the final event agrees + // with the exit code: a run still waiting on a rollout has not passed. + waitTimeout := func() error { + emitCheckTimeout(sink, lastResults, ledger.Outstanding()) + if anyFailed(lastResults) { + return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} + } + return &ExitCodeError{Code: 5, Msg: "wait timeout: a rollout was still in progress after " + selfHostedWait} } - emitCheckFinal(ctx, sink, lastResults) - maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - if anyFailed(lastResults) { - return &ExitCodeError{Code: 2, Msg: "pre-flight checks failed"} + for { + lastResults = runOnce() + if interrupted() { + return exitInterrupted() + } + // An iteration the budget cut short has incomplete results: never a + // pass. + if anyCutShort(lastResults) { + return exitBudgetSpent() + } + if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults) { + emitCheckFinal(ctx, sink, lastResults, ledger.Outstanding()) + return nil + } + + // The deadline is checked first: with several cases ready, select + // picks at random, and the ticker then re-ran the checks on a spent + // budget. + select { + case <-deadline: + return waitTimeout() + default: + } + select { + case <-deadline: + return waitTimeout() + case <-ticker.C: + // continue polling + case <-ctx.Done(): + if interrupted() { + return exitInterrupted() + } + return waitTimeout() + } } - return nil - } + }() + // Every exit closes the dashboard first, so nothing printed after it is + // wiped, then prints the transcripts --show-logs asks for and the + // commands that remove what the runs kept in the cluster. + _ = sink.Close() + maybeShowClusterValidatorLogs(errOut, lastResults) + printKeptValidatorObjects(errOut, ledger.Outstanding()) + return runErr +} - // --wait mode: poll every 5s until all checks pass or the duration elapses. - dur, err := time.ParseDuration(selfHostedWait) - if err != nil { - return fmt.Errorf("invalid --wait duration %q: %w", selfHostedWait, err) +// printInterruptCleanup says, as soon as a run is interrupted, how to remove +// what its validator runs may leave in the cluster if the teardown is cut +// short. +func printInterruptCleanup(w io.Writer, commands []string) { + if len(commands) == 0 { + return } - - deadline := time.After(dur) - ticker := time.NewTicker(5 * time.Second) - defer ticker.Stop() - - // Every exit 5 reports success:false, so a gate on the final event agrees - // with the exit code: a run still waiting on a rollout has not passed. - waitTimeout := func() error { - emitCheckTimeout(sink, lastResults) - maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - if anyFailed(lastResults) { - return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} - } - return &ExitCodeError{Code: 5, Msg: "wait timeout: a rollout was still in progress after " + selfHostedWait} + fmt.Fprintln(w, "note: interrupted; stopping the cluster-validator and removing its objects. "+ + "A second Ctrl-C exits at once and leaves them; remove them with:") + for _, cmd := range commands { + fmt.Fprintln(w, " "+cmd) } - for { - lastResults = runOnce() - if interrupted() { - return exitInterrupted(lastResults) - } - // An iteration the budget cut short has incomplete results: never a - // pass. - if anyCutShort(lastResults) { - return exitBudgetSpent() - } - if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults) { - emitCheckFinal(ctx, sink, lastResults) - maybeShowClusterValidatorLogs(c.ErrOrStderr(), lastResults) - return nil - } +} - // The deadline is checked first: with several cases ready, select - // picks at random, and the ticker then re-ran the checks on a spent - // budget. - select { - case <-deadline: - return waitTimeout() - default: - } - select { - case <-deadline: - return waitTimeout() - case <-ticker.C: - // continue polling - case <-ctx.Done(): - if interrupted() { - return exitInterrupted(lastResults) - } - return waitTimeout() - } +// printKeptValidatorObjects prints, as the command ends, how to remove what +// its validator runs kept in the cluster. +func printKeptValidatorObjects(w io.Writer, commands []string) { + if len(commands) == 0 { + return + } + fmt.Fprintln(w, "note: the cluster-validator left objects in the cluster; remove them with:") + for _, cmd := range commands { + fmt.Fprintln(w, " "+cmd) } } @@ -660,9 +709,9 @@ func withoutHostLocalChecks(cfg selfhosted.PreflightConfig) selfhosted.Preflight // no compute-plane category was selected), // - the runner returned no Logs (Job never produced output). // -// Runs after emitCheckFinal in every exit path so the transcript appears -// after the structured events / table, regardless of which renderer was -// selected. +// Runs once the sink has closed, on every exit path, interrupt included, so +// the transcript appears after the structured events or table, whichever +// renderer was selected. func maybeShowClusterValidatorLogs(w io.Writer, results []selfhosted.CheckResult) { if !checkShowLogs { return @@ -683,9 +732,17 @@ func maybeShowClusterValidatorLogs(w io.Writer, results []selfhosted.CheckResult // selectCheckRendererFn is a test seam over selectCheckRenderer. var selectCheckRendererFn = selectCheckRenderer +// Test seams over the renderers selectCheckRenderer picks from. +var ( + selectProgressRenderer = progress.SelectRenderer + newCheckOneShotRenderer = func(w io.Writer, opts progress.ModelOpts) progress.EventSink { + return progress.NewCheckOneShotRenderer(w, opts) + } +) + func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { if !wait && !selfHostedJSON && !selfHostedPlain && !selfHostedAccessible && checkWriterIsTTY(w) { - return progress.NewCheckOneShotRenderer(w, progress.ModelOpts{ + return newCheckOneShotRenderer(w, progress.ModelOpts{ Mode: progress.ModeCheck, Output: w, Cluster: checkClusterName, @@ -695,7 +752,7 @@ func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventS }), nil } - sink, _, err := progress.SelectRenderer(w, progress.RenderOpts{ + sink, _, err := selectProgressRenderer(w, progress.RenderOpts{ JSON: selfHostedJSON, Plain: selfHostedPlain, Accessible: selfHostedAccessible, @@ -720,7 +777,7 @@ func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventS // is the already-resolved validator image (empty when not configured). func runPreflightByRole( ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, mode kubectx.Mode, - clusterValidatorImage, unresolvedImage string, + clusterValidatorImage, unresolvedImage string, ledger *selfhosted.CleanupLedger, ) []selfhosted.CheckResult { // LocalOnly: skip all cluster probes. if cfg.LocalOnly { @@ -815,6 +872,7 @@ func runPreflightByRole( ClusterValidatorTolerations: validatorTolerations, ClusterValidatorUnresolvedImage: unresolvedImage, ClusterValidatorRegistries: registries, + ValidatorCleanup: ledger, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedControlPlaneStack), } @@ -835,6 +893,7 @@ func runPreflightByRole( ClusterValidatorEnv: gpuValidatorEnv, ClusterValidatorTolerations: validatorTolerations, ClusterValidatorUnresolvedImage: unresolvedImage, + ValidatorCleanup: ledger, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedComputePlaneStack), } @@ -885,6 +944,7 @@ func runPreflightByRole( ClusterValidatorTolerations: validatorTolerations, ClusterValidatorUnresolvedImage: unresolvedImage, ClusterValidatorRegistries: registries, + ValidatorCleanup: ledger, StaleNamespaceProber: staleForControlPlane, StackDir: localStackDir(selfHostedControlPlaneStack), ExtraStaleNamespaces: cpExtraNamespaces, @@ -903,6 +963,7 @@ func runPreflightByRole( ClusterValidatorEnv: gpuValidatorEnv, ClusterValidatorTolerations: validatorTolerations, ClusterValidatorUnresolvedImage: unresolvedImage, + ValidatorCleanup: ledger, StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), } @@ -1018,7 +1079,7 @@ func resolveClusterValidatorImage(ctx context.Context) (image string, unresolved // emitCheckFinal emits a Final event with check-mode verdict fields derived // from the result slice. Called once per run (or once per wait-loop exit). -func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []selfhosted.CheckResult) { +func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []selfhosted.CheckResult, cleanup []string) { // Success and FailedCount must agree with the process exit code, which is // driven by anyFailed. Counting every non-pass as a failure made a // warning-severity result emit success:false / verdict:failed while the @@ -1039,12 +1100,13 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self TotalChecks: len(results), PassedCount: passed, FailedCount: failed, + Cleanup: cleanup, }) } // emitCheckTimeout emits the final event of a run that ended in a timeout, // exit 5. Nothing passed the gate, whatever the rows say, so success is false. -func emitCheckTimeout(sink progress.EventSink, results []selfhosted.CheckResult) { +func emitCheckTimeout(sink progress.EventSink, results []selfhosted.CheckResult, cleanup []string) { passed, failed, _ := selfhosted.CountResults(results) _ = sink.Emit(context.Background(), progress.Final{ Success: false, @@ -1052,6 +1114,7 @@ func emitCheckTimeout(sink progress.EventSink, results []selfhosted.CheckResult) TotalChecks: len(results), PassedCount: passed, FailedCount: failed, + Cleanup: cleanup, }) } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 8ece826767..65d7dc3fc6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -22,12 +22,16 @@ import ( "context" "encoding/json" "errors" + "fmt" "io" "net/http" "net/http/httptest" + "os" + "path/filepath" "strings" "sync" "sync/atomic" + "syscall" "testing" "time" @@ -146,27 +150,53 @@ func TestCheck_InterruptExits130(t *testing.T) { // shortened to budget and a validator stub that holds its role until the // context ends, or returns result at once. func runCheckWithBudget(t *testing.T, budget time.Duration, validator func(context.Context) selfhosted.ClusterValidatorResult, + args ...string) (error, string) { + t.Helper() + return runCheckWith(t, budget, func(ctx context.Context, _ selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + return validator(ctx) + }, &syncBuffer{}, args...) +} + +// runCheckWith is runCheckWithBudget with a validator stub that sees its +// parameters, writing stderr to out. +func runCheckWith(t *testing.T, budget time.Duration, validator selfhosted.ClusterValidator, out *syncBuffer, args ...string) (error, string) { t.Helper() resetCheckFlags(t) t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + // Hints name the current context; keep the developer's out of them. + t.Setenv("KUBECONFIG", filepath.Join(t.TempDir(), "none")) prevBudget, prevCV, prevTools := checkBudget, newClusterValidatorForSelfHosted, checkPreflightTools checkBudget = func(d time.Duration) time.Duration { requestedBudget = d; return budget } checkPreflightTools = passingPreflightTools t.Cleanup(func() { checkPreflightTools = prevTools }) - newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { - return func(ctx context.Context, _ selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { - return validator(ctx) - } - } + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return validator } t.Cleanup(func() { checkBudget, newClusterValidatorForSelfHosted = prevBudget, prevCV }) - var stderr bytes.Buffer - rootCmd.SetErr(&stderr) + rootCmd.SetErr(out) rootCmd.SetOut(&bytes.Buffer{}) t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) rootCmd.SetArgs(append([]string{"self-hosted", "check", "--control-plane", "--json", "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}, args...)) - return rootCmd.Execute(), stderr.String() + return rootCmd.Execute(), out.String() +} + +// syncBuffer is a bytes.Buffer safe to write from the interrupt handler while +// the run writes its events. +type syncBuffer struct { + mu sync.Mutex + buf bytes.Buffer +} + +func (b *syncBuffer) Write(p []byte) (int, error) { + b.mu.Lock() + defer b.mu.Unlock() + return b.buf.Write(p) +} + +func (b *syncBuffer) String() string { + b.mu.Lock() + defer b.mu.Unlock() + return b.buf.String() } // requestedBudget is the outer budget the last runCheckWithBudget run asked for. @@ -310,10 +340,12 @@ func TestCheck_WaitTimeoutOnARolloutIsNotASuccess(t *testing.T) { } // The dashboard's quit key interrupts the run as a signal does: exit 130. A -// validator that kept objects in the cluster still says how to remove them, -// on stderr too, as the dashboard may already be gone. Wiring the key to the -// budget's cancel instead read as a finished run. +// validator that kept objects in the cluster still says how to remove them: +// at once, before its teardown, and again on stderr once the dashboard is +// closed. Wiring the key to the budget's cancel instead read as a finished +// run. func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { + t.Setenv("KUBECONFIG", filepath.Join(t.TempDir(), "none")) prev := selectCheckRendererFn t.Cleanup(func() { selectCheckRendererFn = prev }) quit := make(chan func(), 1) @@ -321,17 +353,28 @@ func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { quit <- onQuit return prev(w, wait, onQuit) } - err, stderr := runCheckWithBudget(t, time.Minute, func(ctx context.Context) selfhosted.ClusterValidatorResult { + err, stderr := runCheckWith(t, time.Minute, func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + p.OnStart("run1") (<-quit)() <-ctx.Done() return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", LeftBehind: true} - }) + }, &syncBuffer{}) var exitErr *ExitCodeError require.ErrorAs(t, err, &exitErr) assert.Equal(t, 130, exitErr.Code) assert.Equal(t, true, finalEvent(t, stderr)["cancelled"]) - assert.Contains(t, stderr, "note: cluster-validator left objects in the cluster; the validator pod was still running") - assert.Contains(t, stderr, "nvcf.nvidia.com/validator-run=run1") + cmd := "kubectl get pods -n default -l nvcf.nvidia.com/validator-run=run1; " + + "kubectl delete -n default job -l nvcf.nvidia.com/validator-run=run1 --cascade=foreground --wait; " + + "kubectl delete clusterrolebinding,clusterrole -l nvcf.nvidia.com/validator-run=run1; " + + "kubectl delete -n default serviceaccount,secret,configmap -l nvcf.nvidia.com/validator-run=run1" + assert.Equal(t, []any{cmd}, finalEvent(t, stderr)["cleanup"]) + interruptNote := strings.Index(stderr, "note: interrupted; ") + require.GreaterOrEqual(t, interruptNote, 0, "the interrupt says at once how to remove the run's objects") + assert.Less(t, interruptNote, strings.Index(stderr, `"event":"final"`), "the note comes before the final event") + assert.Equal(t, cmd, validatorRow(t, stderr)["cleanup"]) + kept := strings.Index(stderr, "note: the cluster-validator left objects in the cluster; remove them with:\n "+cmd+"\n") + require.Positive(t, kept, "the removal command is repeated once the stream has ended") + assert.Greater(t, kept, strings.Index(stderr, `"event":"final"`)) } // Each --wait poll is a new validator run, so --no-cleanup would keep a full @@ -453,3 +496,291 @@ func TestCheck_BudgetCoversEachValidatorsFullRun(t *testing.T) { assert.GreaterOrEqual(t, requestedBudget, tc.validators*ceiling+checkProbeShare, "args %v", tc.args) } } + +// removalCommand is the command that removes validator run runID's objects, +// with no context pinned. +func removalCommand(runID string) string { + sel := "nvcf.nvidia.com/validator-run=" + runID + return "kubectl get pods -n default -l " + sel + "; " + + "kubectl delete -n default job -l " + sel + " --cascade=foreground --wait; " + + "kubectl delete clusterrolebinding,clusterrole -l " + sel + "; " + + "kubectl delete -n default serviceaccount,secret,configmap -l " + sel +} + +// keptNote is what the command prints last when runs kept objects. +func keptNote(commands ...string) string { + return "note: the cluster-validator left objects in the cluster; remove them with:\n " + + strings.Join(commands, "\n ") + "\n" +} + +// On an interrupt, the removal command of every run in progress is printed at +// once, before the teardown that may not finish: a second Ctrl-C or CI's +// follow-up SIGTERM can end the process at any time. +func TestCheck_InterruptPrintsTheRemovalCommandBeforeTheTeardown(t *testing.T) { + prev := selectCheckRendererFn + t.Cleanup(func() { selectCheckRendererFn = prev }) + quit := make(chan func(), 1) + selectCheckRendererFn = func(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { + quit <- onQuit + return prev(w, wait, onQuit) + } + out := &syncBuffer{} + note := "note: interrupted; stopping the cluster-validator and removing its objects. A second Ctrl-C " + + "exits at once and leaves them; remove them with:\n " + removalCommand("run1") + "\n" + printedFirst := false + err, stderr := runCheckWith(t, time.Minute, func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + p.OnStart("run1") + (<-quit)() + <-ctx.Done() + // The teardown takes a while; the note must not wait for it. + require.Eventually(t, func() bool { return strings.Contains(out.String(), note) }, 5*time.Second, 10*time.Millisecond) + printedFirst = true + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", Created: true} + }, out) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) + assert.True(t, printedFirst) + assert.Equal(t, 1, strings.Count(stderr, note), "printed once") + assert.NotContains(t, stderr, keptNote(removalCommand("run1")), "the teardown removed everything") +} + +// A closed terminal or a dropped SSH session sends SIGHUP. It goes through +// the same teardown as Ctrl-C, instead of killing the process with the run's +// cluster-wide RBAC and NGC-key Secret in place. +func TestCheck_SIGHUPGoesThroughTheTeardown(t *testing.T) { + err, stderr := runCheckWithBudget(t, time.Minute, func(ctx context.Context) selfhosted.ClusterValidatorResult { + require.NoError(t, syscall.Kill(os.Getpid(), syscall.SIGHUP)) + <-ctx.Done() + return selfhosted.ClusterValidatorResult{Err: ctx.Err()} + }) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) + assert.Equal(t, true, finalEvent(t, stderr)["cancelled"]) +} + +// Every exit that leaves objects behind says how to remove them: in the row, +// in the final event, and on stderr after the stream ends, where no dashboard +// can wipe it and a pipe into jq does not swallow it. +func TestCheck_KeptObjectsAreReportedOnEveryExit(t *testing.T) { + for name, tc := range map[string]struct { + budget time.Duration + result func(ctx context.Context) selfhosted.ClusterValidatorResult + args []string + code int + }{ + "no-cleanup pass": {budget: time.Minute, args: []string{"--no-cleanup"}, + result: func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Passed: true, RunID: "run1", Created: true, + Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + }}, + "failed, pod kept": {budget: time.Minute, code: 2, + result: func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Err: errors.New("did not finish"), RunID: "run1", LeftBehind: true} + }}, + "budget spent": {budget: 300 * time.Millisecond, code: 5, + result: func(ctx context.Context) selfhosted.ClusterValidatorResult { + <-ctx.Done() + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", LeftBehind: true} + }}, + } { + err, stderr := runCheckWithBudget(t, tc.budget, tc.result, tc.args...) + if tc.code == 0 { + require.NoError(t, err, name) + } else { + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr, name) + assert.Equal(t, tc.code, exitErr.Code, name) + } + cmd := removalCommand("run1") + assert.Equal(t, cmd, validatorRow(t, stderr)["cleanup"], name) + assert.Contains(t, validatorRow(t, stderr)["detail"], ": "+cmd, name) + if name == "no-cleanup pass" { + assert.Contains(t, validatorRow(t, stderr)["detail"], "kept with --no-cleanup; remove with: "+cmd) + } + assert.Equal(t, []any{cmd}, finalEvent(t, stderr)["cleanup"], name) + assert.True(t, strings.HasSuffix(strings.TrimSuffix(stderr, "Error: "+errText(err)+"\n"), keptNote(cmd)), + "%s: the command is printed last:\n%s", name, stderr) + } +} + +// errText is err's message, or "" for nil. +func errText(err error) string { + if err == nil { + return "" + } + return err.Error() +} + +// Under --wait, a poll whose run kept objects is not forgotten when a later +// poll passes: its command is still printed and still in the final event. +func TestCheck_WaitKeepsEarlierPollsRemovalCommands(t *testing.T) { + calls := 0 + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + calls++ + if calls == 1 { + return selfhosted.ClusterValidatorResult{Err: errors.New("did not finish"), RunID: "run1", LeftBehind: true} + } + return selfhosted.ClusterValidatorResult{Passed: true, RunID: "run2", Created: true, + Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + }, "--wait", "30s") + require.NoError(t, err) + assert.Equal(t, 2, calls) + assert.Equal(t, []any{removalCommand("run1")}, finalEvent(t, stderr)["cleanup"]) + assert.True(t, strings.HasSuffix(stderr, keptNote(removalCommand("run1"))), stderr) +} + +// An interrupt ends --wait with exit 130 and one cancelled final event, +// whether it lands during a poll that then passes, or between polls. +func TestCheck_WaitInterrupt(t *testing.T) { + ready := selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + prev := selectCheckRendererFn + t.Cleanup(func() { selectCheckRendererFn = prev }) + for name, validator := range map[string]func(quit func()) func(context.Context) selfhosted.ClusterValidatorResult{ + "during a poll": func(quit func()) func(context.Context) selfhosted.ClusterValidatorResult { + return func(context.Context) selfhosted.ClusterValidatorResult { + quit() + return ready + } + }, + "between polls": func(quit func()) func(context.Context) selfhosted.ClusterValidatorResult { + return func(context.Context) selfhosted.ClusterValidatorResult { + time.AfterFunc(100*time.Millisecond, quit) + return selfhosted.ClusterValidatorResult{Err: errors.New("did not finish")} + } + }, + } { + var onQuit atomic.Value + selectCheckRendererFn = func(w io.Writer, wait bool, q func()) (progress.EventSink, error) { + onQuit.Store(q) + return prev(w, wait, q) + } + quit := func() { onQuit.Load().(func())() } + start := time.Now() + err, stderr := runCheckWithBudget(t, time.Minute, validator(quit), "--wait", "10m") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr, name) + assert.Equal(t, 130, exitErr.Code, name) + final := finalEvent(t, stderr) + assert.Equal(t, true, final["cancelled"], name) + assert.Less(t, time.Since(start), 5*time.Second, "%s: no further poll runs", name) + } +} + +// An interrupt after the budget ran out reports the interrupt only: no +// synthetic cut-short or not-run rows ahead of the cancelled final event. +func TestCheck_InterruptAfterTheBudgetEmitsNoSyntheticRows(t *testing.T) { + prev := selectCheckRendererFn + t.Cleanup(func() { selectCheckRendererFn = prev }) + var onQuit atomic.Value + selectCheckRendererFn = func(w io.Writer, wait bool, q func()) (progress.EventSink, error) { + onQuit.Store(q) + return prev(w, wait, q) + } + err, stderr := runCheckWithBudget(t, 300*time.Millisecond, func(ctx context.Context) selfhosted.ClusterValidatorResult { + <-ctx.Done() + onQuit.Load().(func())() + return selfhosted.ClusterValidatorResult{Err: ctx.Err()} + }, "--all") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) + for _, row := range checkEvents(t, stderr, "check_completed") { + msg, _ := row["message"].(string) + assert.NotContains(t, msg, "cut short", row["id"]) + assert.NotContains(t, msg, "not run:", row["id"]) + } + assert.Equal(t, true, finalEvent(t, stderr)["cancelled"]) +} + +// --show-logs prints the kept transcript on an interrupt too. +func TestCheck_ShowLogsOnInterrupt(t *testing.T) { + prev := selectCheckRendererFn + t.Cleanup(func() { selectCheckRendererFn = prev }) + quit := make(chan func(), 1) + selectCheckRendererFn = func(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { + quit <- onQuit + return prev(w, wait, onQuit) + } + err, stderr := runCheckWithBudget(t, time.Minute, func(ctx context.Context) selfhosted.ClusterValidatorResult { + (<-quit)() + <-ctx.Done() + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", LeftBehind: true, + Logs: "Validator role: control-plane\nTier-1: checking\n"} + }, "--show-logs") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) + assert.Contains(t, stderr, "--- cluster-validator logs ---\nValidator role: control-plane\nTier-1: checking\n") +} + +// A check's own timeout under a live budget is its result: exit 2, not 5. +func TestCheck_ACheckOwnTimeoutIsAFailure(t *testing.T) { + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Err: fmt.Errorf("reading the Job: %w", context.DeadlineExceeded)} + }) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 2, exitErr.Code) + assert.Equal(t, "failed", finalEvent(t, stderr)["verdict"]) +} + +// Both TTY renderers get the quit key: in raw mode it is the only Ctrl-C the +// run sees, and without it the dashboard closes while the Jobs keep running. +func TestSelectCheckRenderer_TTYCarriesOnQuit(t *testing.T) { + resetCheckFlags(t) + prevTTY, prevSelect, prevOneShot := checkWriterIsTTY, selectProgressRenderer, newCheckOneShotRenderer + t.Cleanup(func() { + checkWriterIsTTY, selectProgressRenderer, newCheckOneShotRenderer = prevTTY, prevSelect, prevOneShot + }) + checkWriterIsTTY = func(io.Writer) bool { return true } + var got func() + selectProgressRenderer = func(w io.Writer, opts progress.RenderOpts) (progress.EventSink, progress.RendererKind, error) { + got = opts.OnQuit + return progress.NewPlainRenderer(w), progress.RendererTTYFull, nil + } + newCheckOneShotRenderer = func(w io.Writer, opts progress.ModelOpts) progress.EventSink { + got = opts.OnQuit + return progress.NewPlainRenderer(w) + } + for _, wait := range []bool{false, true} { + got = nil + quits := 0 + _, err := selectCheckRenderer(&bytes.Buffer{}, wait, func() { quits++ }) + require.NoError(t, err) + require.NotNil(t, got, "wait=%v", wait) + got() + assert.Equal(t, 1, quits, "wait=%v", wait) + } +} + +// The budget is exact: the probes' share, plus each validator's longest run +// for the validators that run in turn, plus the --wait duration. The inotify +// probe fits in the probes' share. +func TestCheck_BudgetComposition(t *testing.T) { + assert.Less(t, selfhosted.InotifyProbeBudget(), checkProbeShare) + perRole := checkProbeShare + selfhosted.ClusterValidatorRunCeiling() + passNow := func(context.Context) selfhosted.ClusterValidatorResult { + return selfhosted.ClusterValidatorResult{Passed: true} + } + for name, tc := range map[string]struct { + args []string + want time.Duration + }{ + "no validator": {args: []string{"--cluster-validator-image", ""}, want: checkProbeShare}, + "one role": {want: perRole}, + "split, both roles": {args: []string{"--all", "--control-plane-context", "a", "--compute-plane-context", "b"}, + want: perRole}, + "unresolved image": {args: []string{"--cluster-validator-image", "nvcr.io/nvidia/validator"}, want: perRole}, + "single, both roles": {args: []string{"--pre"}, want: 2 * perRole}, + "one role, --wait": {args: []string{"--wait", "10m"}, want: perRole + 10*time.Minute}, + "single, both, --wait": {args: []string{"--all", "--wait", "10m"}, want: 2*perRole + 10*time.Minute}, + "no validator, --wait 1m": {args: []string{"--cluster-validator-image", "", "--wait", "1m"}, + want: checkProbeShare + time.Minute}, + } { + requestedBudget = 0 + _, _ = runCheckWithBudget(t, time.Second, passNow, tc.args...) + assert.Equal(t, tc.want, requestedBudget, name) + } +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 579d788a25..f69ee457db 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -672,22 +672,36 @@ func TestCheck_HostLocalChecksRunOnce(t *testing.T) { rootCmd.SetOut(&bytes.Buffer{}) t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") - rootCmd.SetArgs([]string{"self-hosted", "check", "--all", "--skip-cluster-validation", "--json"}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--all", "--skip-cluster-validation", "--json", + "--cluster-validator-registries", "harbor.example.com:443"}) _ = rootCmd.Execute() lines := parseJSONLLines(t, stderr.String()) require.NotEmpty(t, lines, "expected at least one JSONL line") counts := map[string]int{} + registryRows := 0 for _, l := range lines { if l["event"] != "check_completed" { continue } - if id, ok := l["id"].(string); ok && strings.HasPrefix(id, "local-host-tools-") { + id, _ := l["id"].(string) + if strings.HasPrefix(id, "local-host-tools-") || strings.HasPrefix(id, "registry-cred-") { counts[id]++ } + if strings.HasPrefix(id, "registry-cred-") { + registryRows++ + } } require.NotEmpty(t, counts, "expected local-host-tools checks in the stream") + require.Positive(t, registryRows, "expected registry-credentials checks in the stream") + harbor := 0 + for id, n := range counts { + if strings.Contains(id, "harbor.example.com") { + harbor += n + } + } + assert.Equal(t, 1, harbor, "the extra registry is checked once: %v", counts) for id, n := range counts { assert.Equal(t, 1, n, "check %s emitted %d times", id, n) } @@ -706,7 +720,7 @@ func TestEmitCheckFinal_WarningIsNotAFailure(t *testing.T) { var buf bytes.Buffer sink := progress.NewJSONLRenderer(&buf) - emitCheckFinal(context.Background(), sink, results) + emitCheckFinal(context.Background(), sink, results, nil) line := buf.String() assert.Contains(t, line, `"verdict":"warnings"`) @@ -724,7 +738,7 @@ func TestEmitCheckFinal_ErrorIsAFailure(t *testing.T) { var buf bytes.Buffer sink := progress.NewJSONLRenderer(&buf) - emitCheckFinal(context.Background(), sink, results) + emitCheckFinal(context.Background(), sink, results, nil) assert.Contains(t, buf.String(), `"verdict":"failed"`) assert.Contains(t, buf.String(), `"success":false`) } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index c52bdc7b68..531f728ede 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,14 +31,14 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDcwNTYsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDc5NzAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiOGM5YTE4ZmY3ODk1MTZjYjlkM2Q5ODRi" + - "NzNmYzI0MjUyMjYxMjI0NzBmZjNjMzBlMTgzMThkNWJhMDFkNWJjIiwKICAgICAgInNpemUiOiAz" + - "NjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNWMxOThmZTVkMGM1Mjc5ZGJkYWU4YzMx" + + "ZWNlNTE3YWQwZWFiODVkYzMyMmQ1ZDMyNjA4N2FjMzhlY2M0ODRjIiwKICAgICAgInNpemUiOiAz" + + "ODY5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxY2JiNWVkZDI3Nzc3Yjc1MzRk" + - "YWE3N2JhN2ViZWY1NmY0NGMyMTE0Y2IyOWM5MjMzZWYyMGE2MDcyNDZjYjc4IiwKICAgICAgInNp" + - "emUiOiAyNjEwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI5MWRiZjU4MzJkOGUwYzZk" + - "MDNiMTg0ZjM3ZGQ4NzZiYmQzYmVhNjRlZDZhZGVhMzk2MmNlYWNmZmM2NDkxNDhjIiwKICAgICAg" + - "InNpemUiOiAxNDQ3MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiZGMwM2JmMDIxYTY2M2NjMGE3" + + "ZmU5MjNjMDgyY2UzNWY1YTg0N2ZjZjk3ZmI1ZjM0YzY2YjY1NDIyMjFiNzAxIiwKICAgICAgInNp" + + "emUiOiAzMDY1CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1YzcxOWUwMTVkYzlhZjZl" + + "MGRhOGIyNjFmMGFjZjk3NjJhNzBiZDZhMTI3MjVmNWQ5MDRmZDIxOThlZDM4ZmUwIiwKICAgICAg" + + "InNpemUiOiAxNDY2MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCD0gGPhKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCCZ3iBxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -570,3259 +570,3275 @@ const skillDataZipBase64 = "" + "aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2ZW50" + "IGFsb25lLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBzbyBmaWx0" + "ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0IGFwcGVu" + - "ZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBGaW5hbCBzdGF0" + - "dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBzdGFnZXMgb24gYHZlcmRpY3QgPT0gImhlYWx0aHki" + - "YC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgpIHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1YmVjdGwg" + - "YXBwbHlgLiBJbnN0ZWFkLCByZW5kZXIgbWFuaWZlc3RzLCBjb21taXQgdGhlbSwgbGV0IHRoZSBj" + - "b250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApyZW5kZXI6CiAgc2NyaXB0OgogICAgLSBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4gcmVuZGVy" + - "ZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwg" + - "LS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tbm8tYXBwbHkgPiByZW5kZXJl" + - "ZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0gZ2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0IGNvbW1p" + - "dCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYgZ2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29DRCBvciBG" + - "bHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5kIGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIgdG91Y2hl" + - "cyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZvciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hpY2ggbXV0" + - "YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoKYGBgeWFtbApyZWdpc3RlcjoKICBzY3JpcHQ6CiAg" + - "ICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlkPSROQ0Eg" + - "LS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1leGlzdGluZwpgYGAKCmAtLWlnbm9yZS1leGlzdGlu" + - "Z2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBpZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMgTXVsdGkt" + - "Y2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUgcGlwZWxpbmUgbWFuYWdlcyBtYW55IGNvbXB1dGUg" + - "Y2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJvbCBwbGFuZToKCmBgYHlhbWwKZGVwbG95X2NvbXB1" + - "dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAgbWF0cml4OgogICAgICAtIENMVVNURVI6IG5jcC1l" + - "YXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUtZWFzdC0xCiAgICAgIC0gQ0xVU1RFUjog" + - "bmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS13ZXN0LTEKICAgICAgLSBDTFVT" + - "VEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRFWFQ6IGFkbWluQGdwdS1ldS0xCiAgc2NyaXB0Ogog" + - "ICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRDTFVT" + - "VEVSCiAgICAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENPTlRFWFQKICAgICAgICAtLWlj" + - "bXMtdXJsPSRJQ01TX1BVQkxJQ19VUkwKICAgICAgICAtLXRva2VuPSROVkNGX0FETUlOX0pXVAog" + - "ICAgICAgIC0tbm9uLWludGVyYWN0aXZlCiAgICAgICAgLS1qc29uCmBgYAoKRWFjaCBwYXJhbGxl" + - "bCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25lIGNvbXB1dGUgcGxhbmUgYWdhaW5zdCB0aGUg" + - "c2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVzIGFyZSBpc29sYXRlZC4KCiMjIFBsYW4tb25s" + - "eSBwcmV2aWV3IGluIFBScwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjogJENJ" + - "X1BJUEVMSU5FX1NPVVJDRSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAgICAt" + - "IHwKICAgICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1uYW1l" + - "PSRDTFVTVEVSX05BTUUgXAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24gfCB0" + - "ZWUgcGxhbi5qc29ubAogICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNvbgog" + - "ICAgLSAnZ2l0bGFiLW1yLWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxganNv" + - "blxuJChjYXQgcGxhbi5qc29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRzIDAg" + - "d2l0aG91dCBjaGFuZ2luZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3RzIGVh" + - "Y2ggcGhhc2UgKyBFVEEuIFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwjAUUNz" + - "EA4AABAOAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVzdGVy" + - "IHBhdHRlcm5zCgpFeGFtcGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBsYW5l" + - "IG9wZXJhdGlvbi4KCiMjIE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoKVGhl" + - "IGNhbm9uaWNhbCBtdWx0aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUgaXMg" + - "cmVnaXN0ZXJlZCBzZXBhcmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJvbCBw" + - "bGFuZSAob25lLXRpbWUsIG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09ORklH" + - "PWNwLnlhbWwgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9sLXBs" + - "YW5lIC0td2FpdCA1bQoKIyAyLiBSZWdpc3RlciArIGluc3RhbGwgZWFjaCBjb21wdXRlIHBsYW5l" + - "Ogpmb3IgQ1RYIGluIGFkbWluQGdwdS1lYXN0LTEgYWRtaW5AZ3B1LXdlc3QtMSBhZG1pbkBncHUt" + - "ZXUtMTsgZG8KICBOQU1FPSQoZWNobyAiJENUWCIgfCBjdXQgLWRAIC1mMikKICBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1cCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhh" + - "bXBsZS5jb20gXAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1ub24taW50ZXJh" + - "Y3RpdmUgXAogICAgLS1qc29uCmRvbmUKCiMgMy4gVmVyaWZ5IGFsbCBjb21wdXRlIHBsYW5lcyBy" + - "ZWdpc3RlcmVkOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNB" + - "X0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxICcuY2x1c3RlcnNbXSB8IHtuYW1l" + - "OiAuY2x1c3Rlck5hbWUsIHN0YXR1cywgbnZjYVZlcnNpb259JwpgYGAKCiMjIENvbXB1dGUtcGxh" + - "bmUtb25seSBvcGVyYXRvciBzY2VuYXJpbwoKVGhlIG9wZXJhdG9yIGhhcyBrdWJlY3RsIGFjY2Vz" + - "cyB0byBPTkUgY29tcHV0ZSBwbGFuZSBvbmx5IOKAlCB0aGUgY29udHJvbCBwbGFuZSBpcyBvcGVy" + - "YXRlZCBieSBzb21lb25lIGVsc2UgKGUuZy4gWW90dGEgcnVucyB0aGUgY29udHJvbCBwbGFuZSBm" + - "b3IgYSBjdXN0b21lcikuCgpgYGBzaAojIE1pbnQgYSB0b2tlbiB2aWEgdGhlIHB1YmxpYyBhcGkg" + - "Z2F0ZXdheSAodGhlIGNvbnRyb2wgcGxhbmUncyBBUEkgS2V5cwojIHNlcnZpY2UgaXMgcmVhY2hh" + - "YmxlIHZpYSBhcGkubnZjZi5leGFtcGxlLmNvbSDigJQgbm8ga3ViZWN0bCBhY2Nlc3MgbmVlZGVk" + - "KToKbnZjZi1jbGkgaW5pdCAtLWFwaS11cmw9aHR0cHM6Ly9hcGkubnZjZi5leGFtcGxlLmNvbQoK" + - "IyBSdW4gcHJlLWZsaWdodCBzY29wZWQgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seToKbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + + "ZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBUaGUgcGxhaW4t" + + "dGV4dCBub3RpY2UgdGhhdCBzYXlzIGhvdyB0byByZW1vdmUgb2JqZWN0cyBhIHZhbGlkYXRvciBy" + + "dW4gbGVmdCBpbiB0aGUgY2x1c3RlciBpcyBmaWx0ZXJlZCBvdXQgd2l0aCB0aGUgcmVzdC4gUmVh" + + "ZCB0aGUgc2FtZSBjb21tYW5kcyBmcm9tIHRoZSBgZmluYWxgIGV2ZW50IGluc3RlYWQsIGZvciBl" + + "eGFtcGxlIGBqcSAtciAnLltdIHwgc2VsZWN0KC5ldmVudCA9PSAiZmluYWwiKSB8IC5jbGVhbnVw" + + "W10/J2Agb24gdGhlIHNsdXJwZWQgc3RyZWFtLgotIEZpbmFsIHN0YXR1cyBjaGVjayBnYXRlcyBk" + + "b3duc3RyZWFtIHN0YWdlcyBvbiBgdmVyZGljdCA9PSAiaGVhbHRoeSJgLgoKIyMgR2l0T3BzIChB" + + "cmdvIC8gRmx1eCkgcGF0dGVybgoKQ0kgZG9lc24ndCBga3ViZWN0bCBhcHBseWAuIEluc3RlYWQs" + + "IHJlbmRlciBtYW5pZmVzdHMsIGNvbW1pdCB0aGVtLCBsZXQgdGhlIGNvbnRyb2xsZXIgYXBwbHku" + + "CgpgYGB5YW1sCnJlbmRlcjoKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGlu" + + "c3RhbGwgLS1jb250cm9sLXBsYW5lIC0tbm8tYXBwbHkgPiByZW5kZXJlZC9jb250cm9sLXBsYW5l" + + "LnlhbWwKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg" + + "LS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1uby1hcHBseSA+IHJlbmRlcmVkL2NvbXB1dGUtcGxhbmUu" + + "eWFtbAogICAgLSBnaXQgYWRkIHJlbmRlcmVkLyAmJiBnaXQgY29tbWl0IC1tICJkZXBsb3kgTlZD" + + "RiAkVEFHIiAmJiBnaXQgcHVzaApgYGAKClRoZW4gQXJnb0NEIG9yIEZsdXggd2F0Y2hlcyBgcmVu" + + "ZGVyZWQvYCBhbmQgYXBwbGllcy4gVGhlIENMSSBuZXZlciB0b3VjaGVzIHRoZSBjbHVzdGVyIGRp" + + "cmVjdGx5LgoKRm9yIHRoZSByZWdpc3RlciBzdGVwICh3aGljaCBtdXRhdGVzIElDTVMsIG5vdCBq" + + "dXN0IEs4cyk6CgpgYGB5YW1sCnJlZ2lzdGVyOgogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgY2x1" + + "c3RlciByZWdpc3RlciAtLW5hbWU9JE5BTUUgLS1uY2EtaWQ9JE5DQSAtLXJlZ2lvbj0kUkVHSU9O" + + "IC0taWdub3JlLWV4aXN0aW5nCmBgYAoKYC0taWdub3JlLWV4aXN0aW5nYCBpcyB0aGUgR2l0T3Bz" + + "LWZyaWVuZGx5IGlkZW1wb3RlbnQgY29udHJhY3QuCgojIyBNdWx0aS1jbHVzdGVyIHBpcGVsaW5l" + + "CgpXaGVuIHRoZSBwaXBlbGluZSBtYW5hZ2VzIG1hbnkgY29tcHV0ZSBjbHVzdGVycyBhZ2FpbnN0" + + "IG9uZSBjb250cm9sIHBsYW5lOgoKYGBgeWFtbApkZXBsb3lfY29tcHV0ZV9wbGFuZXM6CiAgcGFy" + + "YWxsZWw6CiAgICBtYXRyaXg6CiAgICAgIC0gQ0xVU1RFUjogbmNwLWVhc3QtMQogICAgICAgIENP" + + "TlRFWFQ6IGFkbWluQGdwdS1lYXN0LTEKICAgICAgLSBDTFVTVEVSOiBuY3Atd2VzdC0xCiAgICAg" + + "ICAgQ09OVEVYVDogYWRtaW5AZ3B1LXdlc3QtMQogICAgICAtIENMVVNURVI6IG5jcC1ldS0xCiAg" + + "ICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWV1LTEKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVwCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVIKICAgICAgICAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0taWNtcy11cmw9JElDTVNfUFVC" + + "TElDX1VSTAogICAgICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldUCiAgICAgICAgLS1ub24taW50" + + "ZXJhY3RpdmUKICAgICAgICAtLWpzb24KYGBgCgpFYWNoIHBhcmFsbGVsIGpvYiByZWdpc3RlcnMg" + + "KyBpbnN0YWxscyBvbmUgY29tcHV0ZSBwbGFuZSBhZ2FpbnN0IHRoZSBzaGFyZWQgY29udHJvbCBw" + + "bGFuZS4gRmFpbHVyZXMgYXJlIGlzb2xhdGVkLgoKIyMgUGxhbi1vbmx5IHByZXZpZXcgaW4gUFJz" + + "CgpgYGB5YW1sCnByZXZpZXc6CiAgcnVsZXM6CiAgICAtIGlmOiAkQ0lfUElQRUxJTkVfU09VUkNF" + + "ID09ICJtZXJnZV9yZXF1ZXN0X2V2ZW50IgogIHNjcmlwdDoKICAgIC0gfAogICAgICBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVJfTkFNRSBc" + + "CiAgICAgICAgLS1wbGFuLW9ubHkgXAogICAgICAgIC0tanNvbiB8IHRlZSBwbGFuLmpzb25sCiAg" + + "ICAtIGpxIC1zICcuWzBdJyBwbGFuLmpzb25sID4gcGxhbi5qc29uCiAgICAtICdnaXRsYWItbXIt" + + "Y29tbWVudCAiIyMgTlZDRiBkZXBsb3kgcGxhblxuXG5cYFxgXGBqc29uXG4kKGNhdCBwbGFuLmpz" + + "b24pXG5cYFxgXGAiJwpgYGAKCmAtLXBsYW4tb25seWAgZXhpdHMgMCB3aXRob3V0IGNoYW5naW5n" + + "IGNsdXN0ZXIgc3RhdGU7IHRoZSBKU09OTCBvdXRwdXQgbGlzdHMgZWFjaCBwaGFzZSArIEVUQS4g" + + "UmVuZGVycyBuaWNlbHkgYXMgYW4gTVIgY29tbWVudC4KUEsHCEPP7+UdDwAAHQ8AAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + + "L211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhIjIE11bHRpLWNsdXN0ZXIgcGF0dGVybnMKCkV4YW1w" + + "bGVzIG9mIHNwbGl0LWNsdXN0ZXIgKyBtYW55LWNvbXB1dGUtcGxhbmUgb3BlcmF0aW9uLgoKIyMg" + + "T25lIGNvbnRyb2wgcGxhbmUgKyBOIGNvbXB1dGUgcGxhbmVzCgpUaGUgY2Fub25pY2FsIG11bHRp" + + "LWNsdXN0ZXIgdG9wb2xvZ3kuIEVhY2ggY29tcHV0ZSBwbGFuZSBpcyByZWdpc3RlcmVkIHNlcGFy" + + "YXRlbHk6CgpgYGBzaAojIDEuIEJyaW5nIHVwIHRoZSBjb250cm9sIHBsYW5lIChvbmUtdGltZSwg" + + "b24gdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlcik6CktVQkVDT05GSUc9Y3AueWFtbCBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSB8IGt1YmVjdGwgYXBwbHkgLWYg" + + "LQpudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgLS13YWl0IDVtCgoj" + + "IDIuIFJlZ2lzdGVyICsgaW5zdGFsbCBlYWNoIGNvbXB1dGUgcGxhbmU6CmZvciBDVFggaW4gYWRt" + + "aW5AZ3B1LWVhc3QtMSBhZG1pbkBncHUtd2VzdC0xIGFkbWluQGdwdS1ldS0xOyBkbwogIE5BTUU9" + + "JChlY2hvICIkQ1RYIiB8IGN1dCAtZEAgLWYyKQogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwK" + + "ICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSRD" + + "VFggXAogICAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgICAt" + + "LXRva2VuPSROVkNGX0FETUlOX0pXVCBcCiAgICAtLW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAtLWpz" + + "b24KZG9uZQoKIyAzLiBWZXJpZnkgYWxsIGNvbXB1dGUgcGxhbmVzIHJlZ2lzdGVyZWQ6Cm52Y2Yt" + + "Y2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0k" + + "SUNNUyAtLWpzb24gXAogIHwganEgJy5jbHVzdGVyc1tdIHwge25hbWU6IC5jbHVzdGVyTmFtZSwg" + + "c3RhdHVzLCBudmNhVmVyc2lvbn0nCmBgYAoKIyMgQ29tcHV0ZS1wbGFuZS1vbmx5IG9wZXJhdG9y" + + "IHNjZW5hcmlvCgpUaGUgb3BlcmF0b3IgaGFzIGt1YmVjdGwgYWNjZXNzIHRvIE9ORSBjb21wdXRl" + + "IHBsYW5lIG9ubHkg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIG9wZXJhdGVkIGJ5IHNvbWVvbmUg" + + "ZWxzZSAoZS5nLiBZb3R0YSBydW5zIHRoZSBjb250cm9sIHBsYW5lIGZvciBhIGN1c3RvbWVyKS4K" + + "CmBgYHNoCiMgTWludCBhIHRva2VuIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5ICh0aGUgY29u" + + "dHJvbCBwbGFuZSdzIEFQSSBLZXlzCiMgc2VydmljZSBpcyByZWFjaGFibGUgdmlhIGFwaS5udmNm" + + "LmV4YW1wbGUuY29tIOKAlCBubyBrdWJlY3RsIGFjY2VzcyBuZWVkZWQpOgpudmNmLWNsaSBpbml0" + + "IC0tYXBpLXVybD1odHRwczovL2FwaS5udmNmLmV4YW1wbGUuY29tCgojIFJ1biBwcmUtZmxpZ2h0" + + "IHNjb3BlZCB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + + "aGVjayAtLXByZSBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1p" + + "Y21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgLS1qc29uCgojIEJyaW5n" + + "IHVwIGp1c3QgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAt" + + "LWNsdXN0ZXItbmFtZT1teS1jb21wdXRlLTEgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + "bWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAog" + - "IC0tanNvbgoKIyBCcmluZyB1cCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCB1cCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNm" + - "LmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tbm9uLWludGVyYWN0aXZl" + - "CgojIFN0YXR1cyAoY29tcHV0ZS1vbmx5IOKAlCBvcGVyYXRvciBjYW4ndCBzZWUgY29udHJvbC1w" + - "bGFuZSBjb21wb25lbnQgaGVhbHRoKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + - "aWNtcy5udmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVjaWZp" + - "YyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5lcyBh" + - "bmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVuY3Rp" + - "b25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVu" + - "dFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBl" + - "IjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0" + - "YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoKVGhl" + - "IGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0cyBz" + - "Y2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNob29z" + - "ZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZhbi1v" + - "dXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQgY29t" + - "cHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + - "Q0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVyc1tdLmNs" + - "dXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNvbXB1dGUg" + - "cGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSByZWFkIE5B" + - "TUU7IGRvCiAgZWNobyAiPT09ICROQU1FID09PSIKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + - "dXMgXAogICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ9YWRtaW5AJE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVzdGVyLCB2" + - "ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUgPCBjbHVz" + - "dGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRpdmUgZmFu" + - "LW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24ndCBuZWVk" + - "IGEgc2hlbGwgbG9vcC4KUEsHCKEU44FdDAAAXQwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "NwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUu" + - "bWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJvbCBw" + - "bGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmluZyBzb21l" + - "d2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2FpbnN0IGl0" + - "LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRyb2wgcGxh" + - "bmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2VyIG11c3Qg" + - "aGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5lKiogaW4g" + - "dGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4aXN0aW5n" + - "IGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tYCkuCi0g" + - "KipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBhYmlsaXR5" + - "IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJvbCBwbGFu" + - "ZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRoZSBBUEkg" + - "S2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3RsIGFjY2Vz" + - "cyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9uZS4pCi0g" + - "QSB1bmlxdWUgYC0tY2x1c3Rlci1uYW1lYCB0aGF0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIGFscmVh" + - "ZHktcmVnaXN0ZXJlZCBjbHVzdGVycy4gVXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0" + - "ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgIHRvIGNoZWNrLgoKIyMgU3Rl" + - "cHMKCjEuICoqQXNrIGZvciBpbnB1dHM6KioKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVuaXF1ZT5g" + - "IOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Egc2NvcGUK" + - "ICAgLSBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9PGNvbnRleHQ+YCDigJQgdGhlIG5ldyBHUFUg" + - "Y2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2ljbXMu" + - "bnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJMCiAg" + - "IC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuICoqUHJlLWZsaWdodCBq" + - "dXN0IHRoZSBjb21wdXRlIHBsYW5lOioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAg" + - "LS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS1qc29uIHwganEgLWMgLgogICBgYGAKCiAgIFRoaXMg" + - "dmFsaWRhdGVzIHRoZSBHUFUgb3BlcmF0b3IgaXMgaW5zdGFsbGVkLCBHUFUgbm9kZSBsYWJlbHMg" + - "YXJlIHByZXNlbnQsIGFuZCBJQ01TIGlzIHJlYWNoYWJsZSB2aWEgSFRUUC4gQWRkcmVzcyBhbnkg" + - "ZmFpbHVyZXMgYmVmb3JlIHByb2NlZWRpbmcuCgozLiAqKlJ1biBgYWRkLWNvbXB1dGUtcGxhbmVg" + - "OioqCgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFuZSBc" + - "CiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBcCiAgICAg" + - "LS1ub24taW50ZXJhY3RpdmUgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFRoaXMgaXMgYSBzZXBh" + - "cmF0ZSBzdWJjb21tYW5kIGZyb20gYHVwYC4gSXQgcnVucyBvbmx5IHRoZSBjb21wdXRlLXBsYW5l" + - "LXJlbGV2YW50IHBoYXNlczogMSAoY29tcHV0ZS1wbGFuZSBwcmVmbGlnaHQpLCA1IChyZWdpc3Rl" + - "ciksIDYgKGNvbXB1dGUtcGxhbmUgYXBwbHkpLCA4IChmaW5hbCBoZWFsdGggb24gdGhlIG5ldyBj" + - "b21wdXRlIHBsYW5lKS4gSXQgZG9lcyBOT1QgdG91Y2ggdGhlIGNvbnRyb2wgcGxhbmUgYW5kIGRv" + - "ZXMgTk9UIGFjY2VwdCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIOKAlCB0aGUgY29udHJvbCBw" + - "bGFuZSBpcyByZWFjaGVkIG92ZXIgSFRUUFMgYXQgYC0taWNtcy11cmxgLiBgLS10b2tlbmAgaXMg" + - "cmVxdWlyZWQgYmVjYXVzZSB0aGVyZSdzIG5vIGt1YmVjdGwgcGF0aCB0byBtaW50IG9uZSBmcm9t" + - "LgoKNC4gKipWZXJpZnkuKiogYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0ZXIt" + - "bmFtZT0kTkFNRSAtLWpzb24gfCBqcWAg4oCUIGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHkiYC4g" + - "VGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBub3cg" + - "bGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiAqKlNtb2tlLioqIFtkZXBsb3ktYW5kLWludm9rZS5t" + - "ZF0oZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0byB0" + - "aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMgV2hh" + - "dCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGFkZC1j" + - "b21wdXRlLXBsYW5lYCdzIHJlZ2lzdGVyIHBoYXNlIHVzZXMgYC0taWdub3JlLWV4aXN0aW5nYCBz" + - "ZW1hbnRpY3Mg4oCUIGl0J2xsIG1hdGNoIHRoZSBleGlzdGluZyBJQ01TIHJvdyBhbmQgcmV1c2Ug" + - "aXRzIGNsdXN0ZXJJZC4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0aGUgc2Ft" + - "ZSBjbHVzdGVyKiogKHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0aGF0IHdh" + - "cyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNzLgotICoq" + - "RGlmZmVyZW50IHBoeXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vjb25kIGF0" + - "dGVtcHQgd2lsbCByZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUgcGxhbmUn" + - "cyBKV0tTIHdpbGwgYmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21wdXRlIHBs" + - "YW5lJ3MgTlZDQSBhZ2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNvbmZpcm0g" + - "d2l0aCB0aGUgdXNlcioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVuIGluIGRv" + - "dWJ0LCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0Ff" + - "SUQgLS1pY21zLXVybD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUgcHJvY2Vl" + - "ZGluZyB3aXRoIGEgbmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcIQidJDwUNAAAFDQAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1biBhIHRh" + - "c2sKClN0YW5kYXJkIGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4gbW9uaXRv" + - "ciAtPiByZXRyaWV2ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBrZXlzCgpU" + - "aGUgYWRtaW4gdG9rZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZvY2F0aW9u" + - "IHNjb3BlLiBHZW5lcmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJh" + - "dGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKIyAtPiBm" + - "dW5jdGlvbiBrZXk6IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBgCgpCb3Ro" + - "IGtleXMgYXJlIHNhdmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNrIGtleToK" + - "CmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9u" + - "PSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRlIGVhY2gg" + - "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdl" + - "bmVyYXRlIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoIC0t" + - "dmFsaWRhdGUKIyAtPiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQojIC0+IHRh" + - "c2sgQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBrZXkgdmFs" + - "dWUgKG52YXBpLS4uLikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQgdGhlIGtl" + - "eSB3YXMgbWludGVkLCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBuZXZlciB0" + - "aGUgdmFsdWUgaXRzZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVmb3JlIHJ1" + - "bm5pbmcgYW55IGB0YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwgdmVyaWZ5" + - "IGNyZWRlbnRpYWxzOgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBzZXQ6Cgog" + - "ICBgYGBzaAogICBwcmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBlY2hv" + - "IHNldCB8fCBlY2hvIHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3JlZCBr" + - "ZXkgZXhwaXJ5IHdpdGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAgcHl0aG9u" + - "MyAtYyAiaW1wb3J0IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0aCgnfi8u" + - "bnZjZi1jbGkuc3RhdGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChzLmdldCgn" + - "bnZjdEFwaUtleUV4cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRoZSBleHBp" + - "cnkgaXMgaW4gdGhlIHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNoCiAgIG52" + - "Y2YtY2xpIHJlZnJlc2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0t" + - "ZGVzY3JpcHRpb249InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAgYGBg" + - "Cgo0LiBJbmplY3QgdGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYgd2l0aG91" + - "dCBsb2dnaW5nIHRoZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHByZWZpeCDi" + - "gJQgbmV2ZXIgcHJpbnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNhdGlvbjoK" + - "Ci0gIm1pc3NpbmcgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5IG5v" + - "dCBpbmplY3RlZDsgcmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVkIG9y" + - "IHdyb25nIGF1ZGllbmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7IG5v" + - "IHRhc2tzIGV4aXN0IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmluZSB0" + - "aGUgdGFzayBpbiBhIEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6Cgpg" + - "YGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNpZmlj" + - "YXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + - "LkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5lcklt" + - "YWdlIjogIm52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6ICJw" + - "eXRob24gLWMgXCJwcmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRsaW5n" + - "U3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5w" + - "dXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoK" + - "Q2FwdHVyZSB0aGUgdGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNlIGNh" + - "biBmYWlsIHNpbGVudGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJzZXF1" + - "ZW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVpdmFs" + - "ZW50IENMSSBmbGFncyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2YtY2xp" + - "IHRhc2sgY3JlYXRlIFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1PUgx" + - "MDAgXAogIC0taW5zdGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1uY3At" + - "bG9jYWwgXAogIC0taW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29udGFp" + - "bmVyLWFyZ3M9InB5dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJlc3Vs" + - "dC1zdHJhdGVneT1OT05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVy" + - "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVy" + - "Lmpzb24gLS1jbHVzdGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50IHZh" + - "cmlhYmxlcyBvciBzZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xpIHRh" + - "c2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRhaW5l" + - "ci1lbnYgTVlfRU5WPXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAKCm9y" + - "IHNldCB0aGVtIGluIHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52aXJv" + - "bm1lbnQiOiBbCiAgICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0sCiAg" + - "InNlY3JldHMiOiBbCiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3IzdCJ9" + - "CiAgXQp9CmBgYAoKU2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1cm5l" + - "ZCBpbiBsaXN0IG9yIGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVtLgoK" + - "IyMgMy4gVGFzayBDUkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2UgYGNv" + - "bnRhaW5lckltYWdlYCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAic21v" + - "a2UtaGVsbS10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIs" + - "CiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJu" + - "Y3AtbG9jYWwiCiAgfSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNv" + - "bS88b3JnPi9jaGFydHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRsaW5n" + - "U3RyYXRlZ3kiOiAiTk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5w" + - "dXQtZmlsZT10YXNrLWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBoZWxt" + - "Q2hhcnRgIGFuZCBgY29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgojIyAz" + - "Yi4gVXBkYXRlIHNlY3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + - "dXBkYXRlLXNlY3JldHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVwZGF0" + - "ZS1zZWNyZXRzYCBtZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFyZSBh" + - "ZGRlZCBvciB1cGRhdGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4gdGhl" + - "IHJlcXVlc3QgYXJlIHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRvIGNo" + - "YXQuCgojIyA0LiBNb25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNr" + - "IGdldCA8dGFza19pZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5HCmBg" + - "YAoKT3IgdXNlIHRoZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVjZW50" + - "IGB0YXNrIGNyZWF0ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2YWx1" + - "ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JF" + - "RGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURF" + - "RF9NQVhfUVVFVUVEX0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgcHJv" + - "Z3Jlc3MgZGV0YWlscyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNrIGV2" + - "ZW50cyA8dGFza19pZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwgY2hl" + - "Y2sgdGhhdCBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyByZWdp" + - "c3RlcmVkIGFuZCBoZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJZiB0" + - "aGUgdGFzayBtb3ZlcyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5zIHRo" + - "ZSBmYWlsdXJlIHJlYXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3QgdGhl" + - "IHRhc2sgd29ya2xvYWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgKYGt1" + - "YmVjdGxgIGFnYWluc3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4KCiMj" + - "IDUuIFJldHJpZXZlIHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0" + - "ZWd5OiBOT05FYCwgcmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1jbGkg" + - "dGFzayByZXN1bHRzIDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0YXNr" + - "cyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9hZCB0" + - "byB0aGUgbG9jYXRpb24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3MgY3Jl" + - "ZGVudGlhbHMgbXVzdCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRlcgp0" + - "aGUgdGFzayByZWFjaGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRz" + - "IDx0YXNrX2lkPgpgYGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0ZWQg" + - "aW4gdGhpcyByZWxlYXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNrOgoK" + - "YGBgc2gKbnZjZi1jbGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0YXNr" + - "IHJlY29yZCBhZnRlciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNmLWNs" + - "aSB0YXNrIGRlbGV0ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhlIHVz" + - "ZXIgYmVmb3JlIHJ1bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBpdHMg" + - "Y3VycmVudCBzdGF0dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHByb21w" + - "dCBhbHJlYWR5IHJlcXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNpdCBs" + - "YXN0LWxvb2sgY29uZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5vdCBi" + - "ZSB1bmRvbmUuCgpUbyBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVzZWZ1" + - "bCBiZWZvcmUgYnVsayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNmLWNs" + - "aSB0YXNrIGxpc3QgLS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZhbWls" + - "eSBhbmQgaW5zdGFuY2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNsdXN0" + - "ZXIgU0tVLiBNaXNtYXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAgaW5k" + - "ZWZpbml0ZWx5LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdpc3Rl" + - "cmVkIFNLVXMuCi0gRm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVzLCBl" + - "bnN1cmUgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1oZWxw" + - "ZXIgaXMgY29uZmlndXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkAAJ8ZAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9rZSBh" + - "IGNvbnRhaW5lciBmdW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9uIENS" + - "RUFURSDihpIgREVQTE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5WT0tF" + - "LgoKIyMgMS4gRnVuY3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNPTiBm" + - "aWxlLiBNaW5pbXVtOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUg" + - "ZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIElm" + - "IGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Ig" + - "c3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFt" + - "ZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNv" + - "bmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwKICAi" + - "aW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNobyBm" + - "dW5jdGlvbiIsCiAgImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1hdCI6" + - "ICJDVVNUT00iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJp" + - "IjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAog" + - "ICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1" + - "bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24g" + - "SUQ6IDxmbl9pZD4KIyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJRHMg" + - "4oCUIHRoZXkncmUgbmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0aW9u" + - "IHZhcmlhbnQKCkZvciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBgZnVu" + - "Y3Rpb25UeXBlOiAiTExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10u" + - "bGxtQ29uZmlnYDoKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4" + - "YWN0IGZ1bmN0aW9uIG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0aCB0" + - "aGUgdXNlci4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGlu" + - "dmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24K" + - "ewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFn" + - "ZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIs" + - "CiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVh" + - "bHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAg" + - "ICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1" + - "c0NvZGUiOiAyMDAKICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25m" + - "aXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjog" + - "WyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdz" + - "Il0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tl" + - "blJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50" + - "IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFt" + - "ZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQtY29u" + - "dGFpbmVyLWltYWdlPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0" + - "PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAog" + - "IC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0t" + - "aGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0t" + - "bGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21w" + - "bGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRf" + - "cm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kgc3Rl" + - "cCBiZWxvdyBhZnRlciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBtb2Rl" + - "bCByb3V0aW5nIHVwZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9u" + - "IHVwZGF0ZSBcCiAgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZlcl9p" + - "ZD4gXAogIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHJv" + - "dXRpbmdNZXRob2Q9cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2Ug" + - "dGhpcyBmb3IgbXV0YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7IGNy" + - "ZWF0ZS10aW1lIGB1cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5SYXRl" + - "TGltaXRgIHN1cHBvcnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2AsIGBN" + - "YCwgYEhgLCBgRGAsIGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5lIENM" + - "SSBsaW1pdC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBgMTAw" + - "MC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGluZSBt" + - "b2RlbCBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBjaGFy" + - "dCBMTE0gZnVuY3Rpb24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRlbnQg" + - "b2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rp" + - "b24sIGtlZXAgdGhlIHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdg" + - "IGZpZWxkcywgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAu" + - "IFRoZSBzZXJ2aWNlIG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5kZXJl" + - "ZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZpY2Ug" + - "cG9ydC4KCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1" + - "bmN0aW9uIG5hbWUgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVl" + - "IGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBs" + - "ZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJt" + - "ZWQtZnVuY3Rpb24tbmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5jZVBv" + - "cnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAgInBy" + - "b3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAwMCwK" + - "ICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9" + - "LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUvdGVh" + - "bS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2Vydmlj" + - "ZU5hbWUiOiAib3BlbmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJu" + - "YW1lIjogIjxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAg" + - "ICAgICJ1cmlzIjogWyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92" + - "MS9lbWJlZGRpbmdzIl0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAog" + - "ICAgICAgICJ0b2tlblJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBg" + - "CgpFcXVpdmFsZW50IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVh" + - "dGUgXAogIC0tbmFtZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJlbmNl" + - "LXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRo" + - "IFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0t" + - "aGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAog" + - "IC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdjLm52" + - "aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3og" + - "XAogIC0taGVsbS1jaGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1tb2Rl" + - "bD0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8" + - "L3YxL3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRv" + - "a2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hhcnQt" + - "c3BlY2lmaWMgdmFsdWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25maWd1" + - "cmF0aW9uYCBvbmx5IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBgYGpz" + - "b24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4i" + - "LAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAg" + - "ICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAx" + - "LAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAs" + - "CiAgICAiY29uZmlndXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRlbnNv" + - "clBhcmFsbGVsU2l6ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdheSBy" + - "b3V0ZXMgcmVxdWVzdHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5jdGlv" + - "bi1pZD4vPG1vZGVsLW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVu" + - "Y3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFtIGNv" + - "bnRhaW5lciB0aHJvdWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRoczoK" + - "CnwgUGF0aCB8IE5vdGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9uc2Ag" + - "fCBTdXBwb3J0cyBzdHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvcmVz" + - "cG9uc2VzYCB8IE5hdGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Igc3Ry" + - "ZWFtaW5nIGNsaWVudHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVhbWlu" + - "ZyBjbGllbnRzLiBTdXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVkZGlu" + - "Z3NgIHwgQWNjZXB0cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11c3Qg" + - "YmUgbm9uLWVtcHR5IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8gc2Vz" + - "c2lvbiBzdGlja2luZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24KewogICJm" + - "dW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBs" + - "b3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5j" + - "ZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1h" + - "eEluc3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9CmBg" + - "YAoKTm90ZTogYGdwdWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBpbnN0" + - "YW5jZVR5cGVgIGlzIHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRjaCBy" + - "ZXR1cm5zIElDTVMgNDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBk" + - "ZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29tbWFu" + - "ZCAqKmJsb2NrcyoqIHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZhdWx0" + - "IDkwMHMgdGltZW91dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBpcyBy" + - "dW5uaW5nIGluIHRoZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUtcGxh" + - "bmUgY2x1c3Rlci4KCiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rpb25g" + - "IHNjb3BlCgpgbnZjZi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0aGUg" + - "YGludm9rZV9mdW5jdGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlzc2lu" + - "ZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNmLWNs" + - "aSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFt" + - "ZT4gaW52b2tlIiAtLWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1zdGct" + - "Li4uCmBgYAoKVGhlIGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3RhdGUg" + - "ZmlsZSBhbmQgdXNlZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRvbid0" + - "IGVjaG8gdGhlIGtleSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZPS0UK" + - "CmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZl" + - "cl9pZD4iLAogICJyZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpgYGBz" + - "aApudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29uCiMg" + - "4oaSIEZ1bmN0aW9uIGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZpbGxl" + - "ZAojIOKGkiBSZXF1ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZva2Ug" + - "dGhlIE9wZW5BSS1jb21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApjdXJs" + - "IC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQvY29t" + - "cGxldGlvbnMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIg" + + "IC0tdG9rZW49JEFETUlOX0pXVCBcCiAgLS1ub24taW50ZXJhY3RpdmUKCiMgU3RhdHVzIChjb21w" + + "dXRlLW9ubHkg4oCUIG9wZXJhdG9yIGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBo" + + "ZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBs" + + "ZS5jb20KYGBgCgojIyBGdW5jdGlvbnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVz" + + "CgpXaGVuIHlvdSBoYXZlIG11bHRpcGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rp" + + "b24gdG8gZGVwbG95IHRvIG9uZToKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4i" + + "LAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMi" + + "OiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAw" + + "XzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAi" + + "Y2x1c3RlcnMiOiBbImdwdS1lYXN0LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJh" + + "eSAodXNpbmcgY2x1c3RlciBuYW1lcywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhv" + + "c2UgY29tcHV0ZSBwbGFuZXMuIE9taXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBs" + + "YW5lIHdpdGggYSBtYXRjaGluZyBTS1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0" + + "ZSBwbGFuZXMKCmBgYHNoCiMgTGlzdCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZj" + + "Zi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJs" + + "PSRJQ01TIC0tanNvbiBcCiAgfCBqcSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1" + + "c3RlcnMudHh0CgojIFN0YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcg" + + "ZWFjaCBjb250ZXh0IG5hbWUgbWF0Y2hlcyk6CndoaWxlIHJlYWQgTkFNRTsgZG8KICBlY2hvICI9" + + "PT0gJE5BTUUgPT09IgogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAtLWNsdXN0" + + "ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkAkTkFNRSBc" + + "CiAgICAtLWpzb24gfCBqcSAtYyAne2NsdXN0ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3Qs" + + "IHJlY29uY2lsZToucmVjb25jaWxlQWdlU2VjfScKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEg" + + "ZnV0dXJlIE0rMTEgbWlsZXN0b25lIHdpbGwgYWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0t" + + "YWxsLWNvbXB1dGUtcGxhbmVzYCkgc28gdGhpcyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQ" + + "SwcIoRTjgV0MAABdDAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRk" + + "IGEgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBh" + + "IHdvcmtpbmcgTlZDRiBjb250cm9sIHBsYW5lIChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRz" + + "IHRvIHJlZ2lzdGVyIGEgbmV3IEdQVSBjbHVzdGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11" + + "bHRpLWNsdXN0ZXIgc2NhbGluZyBwYXRoOiBvbmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRl" + + "IHBsYW5lcy4KCiMjIFByZXJlcXVpc2l0ZXMgdGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0" + + "bCBjb250ZXh0IGZvciB0aGUgbmV3IGNvbXB1dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJ" + + "R2AuCi0gKipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAo" + + "ZS5nLiBgaHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZv" + + "ciB0aGUgY29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlh" + + "IGBudmNmLWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBl" + + "bmRwb2ludC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2Ugdmlh" + + "IHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9s" + + "IHBsYW5lIGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBBIHVuaXF1ZSBgLS1jbHVz" + + "dGVyLW5hbWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNs" + + "dXN0ZXJzLiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + + "Q0FfSUQgLS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gKipBc2sgZm9y" + + "IGlucHV0czoqKgogICAtIGAtLWNsdXN0ZXItbmFtZT08dW5pcXVlPmAg4oCUIG11c3QgYmUgdW5p" + + "cXVlIHdpdGhpbiB0aGUgY29udHJvbCBwbGFuZSdzIE5DQSBzY29wZQogICAtIGAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD08Y29udGV4dD5gIOKAlCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3Mga3ViZWN0" + + "bCBjb250ZXh0CiAgIC0gYC0taWNtcy11cmw9PGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + + "PmAg4oCUIGNvbnRyb2wgcGxhbmUncyBwdWJsaWMgSUNNUyBVUkwKICAgLSBHUFUgdHlwZT8gKGRl" + + "ZmF1bHQgYEgxMDBgLCBidXQgYXNrKQoKMi4gKipQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUg" + + "cGxhbmU6KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwK" + + "ICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01T" + + "IFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAgIGBgYAoKICAgVGhpcyB2YWxpZGF0ZXMgdGhlIEdQ" + + "VSBvcGVyYXRvciBpcyBpbnN0YWxsZWQsIEdQVSBub2RlIGxhYmVscyBhcmUgcHJlc2VudCwgYW5k" + + "IElDTVMgaXMgcmVhY2hhYmxlIHZpYSBIVFRQLiBBZGRyZXNzIGFueSBmYWlsdXJlcyBiZWZvcmUg" + + "cHJvY2VlZGluZy4KCjMuICoqUnVuIGBhZGQtY29tcHV0ZS1wbGFuZWA6KioKCiAgIGBgYHNoCiAg" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIFwKICAgICAtLWNsdXN0ZXIt" + + "bmFtZT0kTkFNRSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAgLS1p" + + "Y21zLXVybD0kSUNNUyBcCiAgICAgLS10b2tlbj0kSldUIFwKICAgICAtLW5vbi1pbnRlcmFjdGl2" + + "ZSBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgVGhpcyBpcyBhIHNlcGFyYXRlIHN1YmNvbW1hbmQg" + + "ZnJvbSBgdXBgLiBJdCBydW5zIG9ubHkgdGhlIGNvbXB1dGUtcGxhbmUtcmVsZXZhbnQgcGhhc2Vz" + + "OiAxIChjb21wdXRlLXBsYW5lIHByZWZsaWdodCksIDUgKHJlZ2lzdGVyKSwgNiAoY29tcHV0ZS1w" + + "bGFuZSBhcHBseSksIDggKGZpbmFsIGhlYWx0aCBvbiB0aGUgbmV3IGNvbXB1dGUgcGxhbmUpLiBJ" + + "dCBkb2VzIE5PVCB0b3VjaCB0aGUgY29udHJvbCBwbGFuZSBhbmQgZG9lcyBOT1QgYWNjZXB0IGAt" + + "LWNvbnRyb2wtcGxhbmUtY29udGV4dGAg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIHJlYWNoZWQg" + + "b3ZlciBIVFRQUyBhdCBgLS1pY21zLXVybGAuIGAtLXRva2VuYCBpcyByZXF1aXJlZCBiZWNhdXNl" + + "IHRoZXJlJ3Mgbm8ga3ViZWN0bCBwYXRoIHRvIG1pbnQgb25lIGZyb20uCgo0LiAqKlZlcmlmeS4q" + + "KiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNv" + + "biB8IGpxYCDigJQgZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0ZXJlZCBD" + + "b21wdXRlIFBsYW5lcyBwYW5lbCBmcm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBuZXcgY2x1" + + "c3Rlci4KCjUuICoqU21va2UuKiogW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWlu" + + "dm9rZS5tZCkg4oCUIGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBw" + + "bGFuZSB0byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3" + + "aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgYWRkLWNvbXB1dGUtcGxhbmVgJ3Mg" + + "cmVnaXN0ZXIgcGhhc2UgdXNlcyBgLS1pZ25vcmUtZXhpc3RpbmdgIHNlbWFudGljcyDigJQgaXQn" + + "bGwgbWF0Y2ggdGhlIGV4aXN0aW5nIElDTVMgcm93IGFuZCByZXVzZSBpdHMgY2x1c3RlcklkLiBU" + + "d28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUt" + + "cnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVn" + + "aXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2lj" + + "YWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNl" + + "IHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBz" + + "aWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50" + + "IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiog" + + "dGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1j" + + "bGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJ" + + "Q01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1l" + + "IHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwhCJ0kPBQ0AAAUNAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQt" + + "cnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxv" + + "dzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJl" + + "c3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBm" + + "cm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRl" + + "IEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9u" + + "PSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZh" + + "cGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQg" + + "dG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkg" + + "YXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVz" + + "dCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkg" + + "YWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlw" + + "dGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1" + + "bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlk" + + "YXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBp" + + "bnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0" + + "cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYu" + + "CgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tg" + + "IGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6Cgox" + + "LiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50" + + "ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5z" + + "ZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91" + + "dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNv" + + "bixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScp" + + "LmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJh" + + "dGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFz" + + "dCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAog" + + "ICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFz" + + "ay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUg" + + "c3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZh" + + "bHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0" + + "aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRo" + + "ZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBl" + + "YXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7" + + "IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0" + + "LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNP" + + "TiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1l" + + "IjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJn" + + "cHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAi" + + "YmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9u" + + "dmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50" + + "KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05F" + + "Igp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29u" + + "dGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNr" + + "IElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHks" + + "IHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0" + + "aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZv" + + "cm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAog" + + "IC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5j" + + "ZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFn" + + "ZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9u" + + "IC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUK" + + "YGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNs" + + "aSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJz" + + "PW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3Jl" + + "dHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1" + + "dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFs" + + "dWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhl" + + "IEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsi" + + "a2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAg" + + "IHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNy" + + "ZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0" + + "IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFU" + + "RTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdp" + + "dGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAog" + + "ICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5" + + "cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAog" + + "ICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9l" + + "eGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05F" + + "Igp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVs" + + "bS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250" + + "YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0" + + "cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8" + + "dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdl" + + "cyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQs" + + "IGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJl" + + "c2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0" + + "b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgoj" + + "IC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRh" + + "c2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoK" + + "CmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBM" + + "QVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwg" + + "YEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVS" + + "QVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9y" + + "IGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpg" + + "YGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0" + + "ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0" + + "aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRv" + + "IGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29u" + + "LiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBw" + + "b2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0" + + "aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVz" + + "dWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1" + + "bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRh" + + "c2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhh" + + "bmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBu" + + "YW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhh" + + "dmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMg" + + "YENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoK" + + "Tm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2Uu" + + "CgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0" + + "YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0" + + "IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0" + + "YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmlu" + + "ZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4g" + + "RG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVz" + + "dGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJt" + + "YXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxp" + + "c3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNs" + + "ZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0" + + "YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0" + + "eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNo" + + "CiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBg" + + "bnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3Ig" + + "Y29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0" + + "ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVk" + + "IGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + + "ZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0" + + "aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg" + + "4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlv" + + "biBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpC" + + "ZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBu" + + "YW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlz" + + "IG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2" + + "YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQt" + + "ZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5l" + + "ci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0Ijog" + + "ODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVu" + + "Y3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhl" + + "YWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAg" + + "ICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0" + + "dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0t" + + "aW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKG" + + "kiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVk" + + "ZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFu" + + "IE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVm" + + "b3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFt" + + "ZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkg" + + "dmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBl" + + "eGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNv" + + "bmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQt" + + "Y29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9y" + + "dCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJv" + + "dG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAog" + + "ICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0s" + + "CiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1l" + + "PiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBs" + + "ZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91" + + "dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEw" + + "MDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToK" + + "CmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1" + + "bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBc" + + "CiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFs" + + "dGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91" + + "dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQt" + + "c3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9" + + "PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNw" + + "b25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVM" + + "aW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRo" + + "ZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRl" + + "IGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1" + + "bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9k" + + "ZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dl" + + "cl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxl" + + "IGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNg" + + "IHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMg" + + "cG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5k" + + "IGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5w" + + "dXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAw" + + "MC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBj" + + "b21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2" + + "YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNr" + + "YWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2Ft" + + "ZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNl" + + "dCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFt" + + "ZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwg" + + "YW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNy" + + "ZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQg" + + "bW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3Rv" + + "cCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhl" + + "c2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1l" + + "PiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1" + + "bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIs" + + "CiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAi" + + "UFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6" + + "ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWkt" + + "Y29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWkt" + + "Y29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1l" + + "ZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92" + + "MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwK" + + "ICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0" + + "ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJ" + + "IGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8" + + "Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5m" + + "ZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBv" + + "cnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9" + + "SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBl" + + "PUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxl" + + "L3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0" + + "LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJt" + + "ZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92" + + "MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAw" + + "MC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMg" + + "dW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hl" + + "biB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9u" + + "SWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRT" + + "cGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6" + + "ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFu" + + "Y2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0" + + "aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjog" + + "MQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBi" + + "eSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFt" + + "ZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBt" + + "b2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2gg" + + "YHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMg" + + "fAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVh" + + "bWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZl" + + "IFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBh" + + "bmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBv" + + "cnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0" + + "cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5k" + + "IG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3Mu" + + "IHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZu" + + "X2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0" + + "aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + + "LkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwK" + + "ICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBp" + + "cyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhl" + + "IFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAg" + + "IkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1p" + + "bnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50" + + "aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4g" + + "V2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBu" + + "dmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMg" + + "My4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNs" + + "aSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9u" + + "YCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRo" + + "b3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJh" + + "dGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhw" + + "aXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5" + + "IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5" + + "IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGlu" + + "dG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1" + + "bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVl" + + "c3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + + "aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52" + + "b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3Qg" + + "SUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBh" + + "dGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0" + + "dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1I" + + "ICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQt" + + "VHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88" + + "Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2Vz" + + "IjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAi" + + "SGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBt" + + "dXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNl" + + "bGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBg" + + "c2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9y" + + "ZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIg" + "XAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1v" + - "ZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjogdHJ1" + - "ZSwKICAgICJtZXNzYWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAogICAg" + - "ICAgICJjb250ZW50IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3BlbkFJ" + - "IGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNvIHRo" + - "ZSBnYXRld2F5IGNhbiBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNlcyBB" + - "UEkgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRp" + - "b24uPGRvbWFpbj4vdjEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAk" + - "e05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBc" + - "CiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAog" + - "ICAgImlucHV0IjogIldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAgfScK" + - "YGBgCgpFbWJlZGRpbmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczov" + - "L2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9yaXph" + - "dGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxp" + - "Y2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1t" + - "b2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0nCmBg" + - "YAoKSWYgc3RhdHVzIGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1lbnQn" + - "cyBwb2QgbG9ncyAoa3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQgc3Vy" + - "ZmFjZSB0byB0aGUgdXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9uZSB3" + - "aXRoIHRoZSBzbW9rZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0tZnVu" + - "Y3Rpb24taWQ9PGZuX2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0gd2l0" + - "aCB0aGUgdXNlciBiZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRlcGxv" + - "eW1lbnQgYW5kIHRoZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGltZXMg" + - "Y2FuIHZhcnkgd2lkZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kgb24g" + - "Y29sZC1jbHVzdGVyIHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0cyku" + - "IEJlIHBhdGllbnQ7IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBjb21t" + - "YW5kIGVhcmx5LgotIEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBgZ3B1" + - "YCBhbmQgYGluc3RhbmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5IMTAw" + - "XzF4YCwgYE5DUC5HUFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5jdGlv" + - "bidzIGNvbnRhaW5lciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUtcGxh" + - "bmUgY2x1c3RlcidzIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFnZVB1" + - "bGxCYWNrT2ZmYCkuClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD0A" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0" + - "YWxsLm1kVVQFAAEAps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGluc3Rh" + - "bGwKClVzZXIgc2F5cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmciLiBE" + - "b24ndCBndWVzcyDigJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRpY3QK" + - "CmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBgYAoK" + - "VGhlIGZpcnN0IGV2ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0gKipg" + - "aGVhbHRoeWAqKiDigJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5J3Jl" + - "IGFjdHVhbGx5IHNlZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5" + - "ZXIgKGZ1bmN0aW9uIGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog4oCU" + - "IGF0IGxlYXN0IG9uZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0IHdp" + - "bGwgaWRlbnRpZnkgd2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFsaXpp" + - "bmcsIGBvcGVuYmFvYCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0gKipg" + - "ZmFpbGVkYCoqIOKAlCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNsdXN0" + - "ZXIncyBOVkNGQmFja2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93bmAq" + - "KiDigJQgSUNNUyB1bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBiZSBk" + - "b3duOyBjaGVjayBga3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4gRHJp" + - "bGwgaW50byB0aGUgZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21wb25l" + - "bnQsIHRoZSBzbmFwc2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJhLTAg" + - "UG9kSW5pdGlhbGl6aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaAprdWJl" + - "Y3RsIGRlc2NyaWJlIHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxwb2Q+" + - "IC0tYWxsLWNvbnRhaW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyArIGxh" + - "c3QgbG9nIGxpbmVzLiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVzcyB0" + - "aGUgdXNlciBjb25maXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXByb2dy" + - "ZXNzIG1pZ3JhdGlvbi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlrZWx5" + - "IGNhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBvZElu" + - "aXRpYWxpemluZ2AgZm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0dWNr" + - "IGBQZW5kaW5nYCB8IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVmYXVs" + - "dCBTdG9yYWdlQ2xhc3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3JhZ2Vj" + - "bGFzcyBsb2NhbC1wYXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2Vj" + - "bGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgaGVs" + - "bSBpbnN0YWxsIC4uLjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNvbWUg" + - "YXZhaWxhYmxlYCB8IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBu" + - "b3QgaW5zdGFsbGVkYCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdheS1y" + - "b3V0ZXNgIGNoYXJ0IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFsbCBl" + - "bnZveS1nYXRld2F5OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5" + - "L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1u" + - "YW1lc3BhY2VgIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0" + - "ZXIgSUQ6IDxpZD5gIChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBpc3N1" + - "ZWQgYnkgYSBLOHMgc2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3RvcmVk" + - "IGluIElDTVMgfCBSZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rl" + - "ci1pZD08aWQ+YCBmcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFu" + - "ZSdzIEs4cyBBUEkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBl" + - "eHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIgcmVn" + - "aXN0ZXIpIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFu" + - "ZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8" + - "IGBudmNhLW9wZXJhdG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0" + - "YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxkcyBp" + - "dCBsb2NhbGx5KSB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6" + - "cHNhdCAtYyA8Y2x1c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBpcykg" + - "fAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IpIHwg" + - "T2xkZXIgbnZjZi1jbGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUgZm9s" + - "bG93LXVwcyB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3MDRg" + - "IHwKCiMjIDQuIFdoZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBjb25m" + - "aXJtIGEgdGVhcmRvd246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2sgJiYgbWFrZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFzZSBp" + - "biByZXZlcnNlIG9yZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZjYS1v" + - "cGVyYXRvciAtbiBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsgdGhl" + - "biBjb250cm9sIHBsYW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXIt" + - "aWQ9PGlkPmAgdG8gcmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9yZSBh" + - "bnkgdGVhcmRvd24g4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMgZGVz" + - "dHJ1Y3RpdmUgYW5kIGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8gZG8K" + - "Ci0gKipEb24ndCBwcm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0aWMg" + - "b25seS4KLSAqKkRvbid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUgdXNl" + - "ciBleHBsaWNpdGx5IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBrdWJl" + - "Y3RsIGRlbGV0ZSBwdmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVsZXRl" + - "cyB0aGUgdW5kZXJseWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVyZW50" + - "IGlucHV0cyoqIHRvICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVzYCAv" + - "IGBrdWJlY3RsIGRlc2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAOgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFs" + - "bC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBmcm9t" + - "IHNjcmF0Y2gKClVzZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBhIGZy" + - "ZXNoIEt1YmVybmV0ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlzIHRo" + - "ZSBtb3N0IGNvbW1vbiBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIHRvcG9s" + - "b2d5LiBBc2sgdGhlIHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5lIGFu" + - "ZCBjb21wdXRlIHBsYW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29udHJv" + - "bCBwbGFuZSBvbiBjbHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9kdWN0" + - "aW9uLXNoYXBlZCk/IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNsdXN0" + - "ZXItbmFtZWAgZmxhZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1wbGVz" + - "OiBgbmNwLWxvY2FsYCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9kdWN0" + - "aW9uLiIKICAgLSBGb3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4dCBu" + - "YW1lPyBDb21wdXRlLXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQcmVwYXJl" + - "IHJlbW90ZSBHYXRld2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGszZC4g" + - "T25lLWNsaWNrCiAgIGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRpYXRlbHkg" + - "Y2FsbHMgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9pbnRzLiBG" + - "b3IgcmVtb3RlIGNsdXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQgYW5kCiAg" + - "IHRoZSBDTEkgY29uZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNlciBi" + - "ZWZvcmUgYHVwYCBydW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3QgYWxyZWFk" + - "eSBwcmVzZW50LCBjcmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVkIEdhdGV3" + - "YXkgc2V0dXAgc3RlcHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3RhbmRhbG9u" + - "ZSBjaGFydAogICBpbnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBseSAtZiBo" + - "dHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVhc2VzL2Rv" + - "d25sb2FkL3YxLjIuMC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFtZXNwYWNl" + - "IGluIGVudm95LWdhdGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBu" + - "dmNmOyBkbwogICAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAgIGZvciBu" + - "YW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAg" + - "a3ViZWN0bCBsYWJlbCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09dHJ1ZSAt" + - "LW92ZXJ3cml0ZQogICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9jaTovL2Rv" + - "Y2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYxLjEuMyBc" + - "CiAgICAgLW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBwbHlpbmcg" + - "dGhlIGBFbnZveVByb3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxlciBvd25z" + - "CiAgIGxvYWQgYmFsYW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVzdCB1bnRp" + - "bCB5b3UgaGF2ZSBzZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAgY29uZmln" + - "dXJhdGlvbi4gVXNlIHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250cm9sbGVy" + - "IERlcGxveW1lbnQgaW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFnZSBvciBl" + - "eGlzdGluZwogICBTZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RFUl9OQU1F" + - "PSI8Y2x1c3Rlci1uYW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5hbWUgIiRF" + - "S1NfQ0xVU1RFUl9OQU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVzTmV0d29y" + - "a0NvbmZpZy5lbGFzdGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRwdXQgdGV4" + - "dAogICBrdWJlY3RsIC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2FkLWJhbGFu" + - "Y2VyLWNvbnRyb2xsZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1ZWAgc2Vs" + - "ZWN0cwogICBbRUtTIEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vrcy9s" + - "YXRlc3QvdXNlcmd1aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3aXNlLCBh" + - "IHN1Y2Nlc3NmdWwgRGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQgQmFsYW5j" + - "ZXIKICAgQ29udHJvbGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRoYXQgdGhl" + - "IGNsdXN0ZXIgaW50ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3Zp" + - "ZGVyIFNlcnZpY2UgY29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQgQmFsYW5j" + - "ZXIgQ29udHJvbGxlciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhlIGFwcGxp" + - "ZWQgbWFuaWZlc3QgYmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVy" + - "LiBGb3IgRUtTCiAgIEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAgbWFwIGJl" + - "Zm9yZSBhcHBseWluZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAg" + - "bG9hZEJhbGFuY2VyQ2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90YXRpb25z" + - "OgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2No" + - "ZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFXUyBjbG91" + - "ZCBwcm92aWRlciBTZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRoOgoKICAg" + - "YGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNl" + - "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgogICBgYGAK" + - "CiAgIFRoZSBsZWdhY3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2luZyBsb2Fk" + - "IGJhbGFuY2VyIGJ5IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kgYG5sYmAg" + - "c2VsZWN0b3Igd2l0aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0YXJnZXQg" + - "dHlwZSBhbmQgc2NoZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2VydmljZQog" + - "ICB3aG9zZSBwb3J0cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3RzIG9uZSBT" + - "ZXJ2aWNlIHRoYXQgY29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUgQVdTIExv" + - "YWQgQmFsYW5jZXIgQ29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kgU2Vydmlj" + - "ZSBjb21iaW5lcyBwcm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2UgdGhlIG1h" + - "cCB3aXRoCiAgIHRoZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZvcmUgYXBw" + - "bHlpbmcgaXQuCgogICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6IHVzZSBB" + - "V1MgTEJDIHdpdGggaW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9G" + - "CiAgIGFwaVZlcnNpb246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBraW5kOiBF" + - "bnZveVByb3h5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNlOiBlbnZv" + - "eS1nYXRld2F5LXN5c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlwZTogS3Vi" + - "ZXJuZXRlcwogICAgICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgogICAgICAg" + - "ICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8v" + - "YXdzLWxvYWQtYmFsYW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2VydmljZS5i" + - "ZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBlOiAiaW5z" + - "dGFuY2UiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1i" + - "YWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJzaW9uOiBn" + - "YXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwogICBtZXRh" + - "ZGF0YToKICAgICBuYW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBnYXRld2F5" + - "LmVudm95cHJveHkuaW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0ZXJzUmVm" + - "OgogICAgICAgZ3JvdXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDogRW52b3lQ" + - "cm94eQogICAgICAgbmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0KICAgRU9GCgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0" + - "ZXdheS5uZXR3b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFkYXRhOgog" + - "ICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICBz" + - "cGVjOgogICAgIGdhdGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0gbmFt" + - "ZTogaHR0cAogICAgICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBhbGxv" + - "d2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9y" + - "CiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAg" + - "ICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHByb3Rv" + - "Y29sOiBUQ1AKICAgICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAgICAg" + - "ICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0" + - "b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9y" + - "bTogInRydWUiCiAgIEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVzdCBiZSB1" + - "bmRlcgogICBgRW52b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lTZXJ2aWNl" + - "LmFubm90YXRpb25zYC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUgZ2VuZXJh" + - "dGVkIEVudm95IFNlcnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwogICBvbiB0" + - "aGUgYEdhdGV3YXlgIHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMgYW5k" + - "IHdyaXRlIHRoZSBDTEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFNRT0i" + - "bnZjZi1yZW1vdGUiCiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0IFJF" + - "R0lPTj0idXMtd2VzdC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52b3kt" + - "Z2F0ZXdheSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAgIGV4" + - "cG9ydCBHUlBDX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgR1JQ" + - "Q19HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVX" + - "QVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC0t" + - "Zm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3RsIC1u" + - "ICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05B" + - "TUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0K" + - "CiAgIGV4cG9ydCBHQVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1F" + - "U1BBQ0UiIGdldCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0" + - "aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRFV0FZ" + - "X0FERFI9IiQoa3ViZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdh" + - "eS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVz" + - "c2VzWzBdLnZhbHVlfScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAg" + - "dGVzdCAtbiAiJEdSUENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNUQUNLX0RP" + - "TUFJTj0iJEdBVEVXQVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAgdG8gdGhl" + - "IGhvc3RuYW1lIHN1ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4KICAgRm9y" + - "IHJlbW90ZSB0ZXN0IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUgR2F0ZXdh" + - "eSBsb2FkIGJhbGFuY2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZjZi1jbGku" + - "eWFtbCA8PEVPRgogICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAg" + - "aW52b2tlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191cmw6ICIk" + - "e0dSUENfR0FURVdBWV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRw" + - "Oi8vJHtHQVRFV0FZX0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7U1RBQ0tf" + - "RE9NQUlOfSIKICAgYXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZva2VfaG9z" + - "dDogImludm9jYXRpb24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2VydmljZV9pZDog" + - "Im52aWRpYS1jbG91ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFwaV9rZXlz" + - "X2lzc3Vlcl9zZXJ2aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAic3ZjQG52" + - "Y2YtYXBpLmxvY2FsIgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAgYGBgCgoz" + - "LiBSdW4gcHJlLWZsaWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9sb2d5" + - "OgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + - "aGVjayAtLXByZSAtLWpzb24gfCBqcSAtYyAuCgogICAjIFNwbGl0CiAgIG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBj" + - "cCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29u" + - "IHwganEgLWMgLgoKICAgIyBDb21wdXRlLW9ubHkgKG9wZXJhdG9yIHdpdGgga3ViZWN0bCBvbiBj" + - "b21wdXRlIHBsYW5lIG9ubHkpCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwK" + - "ICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWljbXMtdXJs" + - "PWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAg" + - "IGBgYAoKICAgUGFyc2UgdGhlIEpTT05MIHN0cmVhbS4gSWYgYW55IGNoZWNrIGZhaWxzIChgInBh" + - "c3NlZCI6ZmFsc2VgKSB3aXRoIGBzZXZlcml0eTogZXJyb3JgLCBzdXJmYWNlIGBtZXNzYWdlYCAr" + - "IGBoaW50VVJMYCB0byB0aGUgdXNlciBhbmQgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0YWxs" + - "IHdpdGggYnJva2VuIHByZXJlcXMuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRlZC4g" + - "YG52Y2YtY2xpIGluaXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIgZG9l" + - "cyBub3QgaGF2ZSBhIHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91Z2gg" + - "dGhlIHB1YmxpYwogICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRlLW9u" + - "bHkgbW9kZS4KCjUuIFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVudCBz" + - "dHJlYW06CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jbHVz" + - "dGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwK" + - "ICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9yIHNw" + - "bGl0LWNsdXN0ZXIgaW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBzaAog" + - "ICBleHBvcnQgQ09OVFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgogICBl" + - "eHBvcnQgQ09NUFVURV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtDT05U" + - "Uk9MX1BMQU5FX0NPTlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7Q09N" + - "UFVURV9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFN" + - "RX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9O" + - "fSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vfc3Rh" + - "cnRlZGAgLyBgcGhhc2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3Byb2dy" + - "ZXNzYDogc2hvdyBwcm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJjZSBj" + - "b3VudHMpCiAgIC0gYHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNpc3Rz" + - "IGZvciBtb3JlIHRoYW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5kIHN1" + - "cmZhY2UgYGVyck1lc3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAgRGVj" + - "aWRlIGJhc2VkIG9uIGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBub3cg" + - "d2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVyU2Vj" + - "YCBhbmQgdGhlbiByZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1lZGlh" + - "dGlvbmAsIGBub25lYCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAgYWN0" + - "IGZpcnN0LCBzbyBkbyBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmludCBj" + - "bHVzdGVySWQgYW5kIE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1cy4g" + - "UnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBlY3QK" + - "ICAgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1mYWls" + - "ZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9uYWxs" + - "eSBzbW9rZSB0ZXN0IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRl" + - "cGxveS1hbmQtaW52b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52b2tl" + - "IGZsb3cuCgojIyBOb3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVzaCBj" + - "bHVzdGVyIHRha2VzIGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0IHB1" + - "bGwgc3BlZWQgYW5kIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1wb3Rl" + - "bnQuIEl0IGlzIHNhZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4KLSBO" + - "ZXZlciBwcm9wb3NlIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4KLSBJ" + - "ZiB0aGUgdXNlciBoYXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVyYWN0" + - "aXZlIC0tdG9rZW49JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVyYWN0" + - "aXZlbHkuClBLBwhCceYeASgAAAEoAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUA" + - "AQCmzhIjIFJvdGF0ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVkIGF1" + - "dGhlbnRpY2F0aW5nLCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRoZSBL" + - "OHMgQVBJIHNlcnZlcidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQgdGhl" + - "IEpXS1Mgc3RvcmVkIGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUKCi0g" + - "YGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52" + - "Y2FgIHNob3dzIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0ZXJg" + - "IHJlcGVhdGVkbHkKLSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlk" + - "IEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNoLCBu" + - "b3QgSldLUywgYnV0IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFuZSBL" + - "OHMgdXBncmFkZSBvciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4gQ29u" + - "ZmlybSB0aGUgY2x1c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJl" + - "ZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93IG1h" + - "dGNoaW5nIHRoZSB1c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIEZyb20gYSBj" + - "b250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAoYmVjYXVz" + - "ZSByb3RhdGlvbiByZS1mZXRjaGVzIHRoZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandrc2ApOgoK" + - "ICAgYGBgc2gKICAgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD4gLS1j" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ9PGN0eD4KICAgYGBgCgogICBUaGlzIHJlLWZldGNoZXMgSldL" + - "UyBmcm9tIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJQ01TLiBU" + - "aGUgY2x1c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4KCjMuICoqVmVyaWZ5LioqIGBudmNmLWNsaSBj" + - "bHVzdGVyIGdldCAtLWNsdXN0ZXItaWQ9PGlkPmAg4oCUIGNvbmZpcm0gYHVwZGF0ZWRBdGAgYWR2" + - "YW5jZWQuIFRoZW4gYGt1YmVjdGwgbG9ncyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRl" + - "cy5pby9uYW1lPW52Y2EgLS10YWlsPTIwYCDigJQgcmVnaXN0ZXIgYXR0ZW1wdHMgc2hvdWxkIHN1" + - "Y2NlZWQgKDIwMCwgbm90IDQwMSkuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IGBjbHVz" + - "dGVyIGRlbGV0ZWAuKiogUm90YXRpb24gcHJlc2VydmVzIHRoZSBjbHVzdGVyIElEICsgZ3JvdXAg" + - "SUQ7IGRlbGV0ZSBjcmVhdGVzIGEgbmV3IHJvdyBhbmQgeW91IGhhdmUgdG8gcmVkZXBsb3kgdGhl" + - "IGNvbXB1dGUgcGxhbmUgd2l0aCBuZXcgSURzLgotICoqRG9uJ3QgbWFudWFsbHkgZWRpdCBgb3V0" + - "LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuKiogUm90YXRlIHVwZGF0ZXMgSUNNUyBv" + - "bmx5OyB0aGUgaGVsbSB2YWx1ZXMgZmlsZSBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgY2x1c3RlciBJ" + - "RC4KCiMjIElmIHJvdGF0aW9uIGRvZXNuJ3QgZml4IGl0CgpUaGUgYXV0aCBmYWlsdXJlIG1heSBi" + - "ZSBhdCBhIGRpZmZlcmVudCBsYXllciDigJQgY2hlY2s6CgotIE5BVFMgYXV0aC1jYWxsb3V0IGhl" + - "YWx0aCAoYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHA9bmF0cy1hdXRoLWNhbGxv" + - "dXQtc2VydmljZWApCi0gQ2x1c3RlciByb3cgZXhpc3RzIGluIGBjbHVzdGVyX29pZGNfYnlfY2x1" + - "c3Rlcl9pZGAgQ2Fzc2FuZHJhIHRhYmxlCi0gYGhlbG0tcmV2YWwtc2VydmljZWAgY29uZmlnbWFw" + - "IGhhcyBgYXV0aHoub2lkYy5lbmFibGVkPXRydWVgCgpSb3V0ZSB0byBbZGlhZ25vc2UtZmFpbGVk" + - "LWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSBmb3IgdGhvc2UgY2hlY2tz" + - "LgpQSwcIquE6ucgHAADIBwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAuAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOEiMgVGVhciBkb3du" + - "IGEgc2VsZi1ob3N0ZWQgTlZDRiBkZXBsb3ltZW50CgoqKlNBRkVUWToqKiBUZWFyZG93biBkZXN0" + - "cm95cyBwZXJzaXN0ZW50IHN0YXRlIChDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFsIGtleXMs" + - "IHJlZ2lzdGVyZWQgY2x1c3RlcnMpLiBBbHdheXMgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9y" + - "ZSBhbnkgc3RlcC4KCiMjIFRMO0RSIOKAlCBgZG93bmAgZm9yIG9uZS1zaG90LCBgdW5pbnN0YWxs" + - "YCBmb3IgcGVyLXBsYW5lCgpUaGUgQ0xJIHByb3ZpZGVzIGEgdHdvLXRpZXIgdGVhcmRvd24gc3Vy" + - "ZmFjZSBzeW1tZXRyaWMgd2l0aCB0aGUgaW5zdGFsbCBzaWRlIChSRVEtMjIsIE0rMTEpOgoKfCBU" + - "aWVyIHwgVXAgc2lkZSAoZXhpc3RpbmcpIHwgRG93biBzaWRlIHwKfC0tLXwtLS18LS0tfAp8IFBl" + - "ci1wbGFuZSBwcmltaXRpdmUgKHJlbmRlcnMgWUFNTDsgR2l0T3BzLWZyaWVuZGx5KSB8IGBpbnN0" + - "YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwgYHVuaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgIHwKfCBP" + - "cmNoZXN0cmF0b3IgKG9uZS1zaG90LCBtdWx0aS1wbGFuZSArIElDTVMpIHwgYHVwIC0tY2x1c3Rl" + - "ci1uYW1lPVhgIHwgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgLyBgZG93biAtLWFsbGAgfAoKVXNl" + - "IGBkb3duYCBmb3Igbm9ybWFsIHRlYXJkb3duLiBVc2UgYHVuaW5zdGFsbGAgZm9yIEdpdE9wcyAo" + - "Y29tbWl0IFlBTUw7IEFyZ28vRmx1eCBhcHBsaWVzKSBvciBzY3JpcHRlZCBwaXBlbGluZXMuIEFs" + - "d2F5cyBzdGFydCB3aXRoIGEgZHJ5LXJ1bi4KCiMjIERyeS1ydW4gc2hhcGVzCgp8IE1vZGUgfCBM" + - "aXZlcyBvbiB8IEludm9rZXMgaGVsbS9oZWxtZmlsZT8gfCBPdXRwdXQgfAp8LS0tfC0tLXwtLS18" + - "LS0tfAp8IGAtLXBsYW4tb25seWAgfCBgdXBgIC8gYGRvd25gIChvcmNoZXN0cmF0b3JzKSB8ICoq" + - "Tm8uKiogV2Fsa3MgcmVzb2x2ZWQgc3RhY2sgZW50cnlwb2ludCBmaWxlcywgZW1pdHMgcGhhc2Ug" + - "cGxhbiArIEVUQXMgKyBoZWxtIHVuaW5zdGFsbCBjb21tYW5kIHN0cmluZ3MuIHwgRXZlbnQgc3Ry" + - "ZWFtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgLyBgdW5pbnN0YWxsYCAocHJpbWl0aXZl" + - "cykgfCAqKlllcy4qKiBgaGVsbWZpbGUgdGVtcGxhdGVgIGZvciBpbnN0YWxsOyBgaGVsbSBnZXQg" + - "bWFuaWZlc3RgIGZvciB1bmluc3RhbGwuIHwgWUFNTCBvbiBzdGRvdXQgfAoKU286CgotIGBkb3du" + - "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBzaG93IG1lIHRoZSBvcmNoZXN0cmF0" + - "b3IgcGhhc2VzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmcuCi0gYHVuaW5zdGFsbCAtLW5vLWFw" + - "cGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgZ2l2ZSBtZSB0aGUgWUFN" + - "TCBJJ2QgYGt1YmVjdGwgZGVsZXRlIC1mIC1gLgoKYGBgc2gKIyBTdGVwIDE6IEFMV0FZUyBwcmV2" + - "aWV3IGZpcnN0LgpudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rl" + - "ci1uYW1lPW5jcC1sb2NhbCAtLWpzb24gfCBqcQoKIyBTdGVwIDI6IFJlYWwgcnVuLgpudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbApgYGAKCiMjIFdoZW4g" + - "dG8gdXNlIHdoaWNoIGZvcm0KCnwgVXNlciBpbnRlbnQgfCBDb21tYW5kIHwKfC0tLXwtLS18Cnwg" + - "IlJlbW92ZSB0aGlzIG9uZSBHUFUgY2x1c3RlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + - "biAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIlRlYXIgZG93biBldmVyeXRoaW5nIiB8IGBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfAp8ICJTaG93IG1lIHRoZSBzdGVw" + - "cyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiR2l2ZSBtZSBZQU1MIHRvIGNvbW1p" + - "dCArIEFyZ28gZGVsZXRlcyBsYXRlciIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + - "IC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggPiBkZWxldGUueWFt" + - "bGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgaGVsbSByZWxlYXNlcyBvbiBhIGNvbXB1dGUgcGxhbmUg" + - "KG5vIElDTVMgdW5yZWdpc3Rlciwgbm8gZHJhaW4pIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1" + - "bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiSnVzdCByZW1v" + - "dmUgdGhlIGNvbnRyb2wtcGxhbmUgaGVsbSByZWxlYXNlcyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgfAoKIyMgU3RlcHMgZm9yIGBkb3duIC0tY2x1" + - "c3Rlci1uYW1lPVhgICh0aGUgc3RhbmRhcmQgcGF0aCkKCiMjIyAxLiBDb25maXJtIHNjb3BlIHdp" + - "dGggdGhlIHVzZXIKCkFzazoKCi0gIlRlYXJpbmcgZG93biBldmVyeXRoaW5nIChjb21wdXRlIHBs" + - "YW5lcyArIGNvbnRyb2wgcGxhbmUgKyBJQ01TIHJvd3MpIG9yIGp1c3Qgb25lIGNvbXB1dGUgcGxh" + - "bmU/IgotICJBcmUgdGhlcmUgQUNUSVZFIGZ1bmN0aW9uIGRlcGxveW1lbnRzIG9uIHRoaXMgY2x1" + - "c3Rlcj8gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBsaXN0YCB0byBjaGVjay4iIChJbXBvcnRh" + - "bnQg4oCUIGBkb3duYCB3aWxsIHJlZnVzZSB3aXRob3V0IGAtLWRyYWluLWFjdGl2ZT10cnVlfHBy" + - "b21wdGAgaWYgYW55IGFyZSBBQ1RJVkUuKQotICJTaG91bGQgd2Ugd2lwZSBwZXJzaXN0ZW50IHN0" + - "YXRlIChDYXNzYW5kcmEgZGF0YSwgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQgdXNlciBk" + - "YXRhKT8gRGVmYXVsdCBpcyB0byAqKnByZXNlcnZlKiogdGhlbS4gYC0tcmVtb3ZlLXBlcnNpc3Rl" + - "bnRgIG9wdHMgaW4gdG8gZGVsZXRpb24uICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIgoKIyMj" + - "IDIuIFJ1biBwbGFuLW9ubHkgZmlyc3QKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + - "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganEKYGBgCgpUaGlzIGVt" + - "aXRzIGEgYHBsYW5uZWRgIGV2ZW50IGxpc3RpbmcgZWFjaCBwaGFzZSwgdGhlIGhlbG0gcmVsZWFz" + - "ZXMgdGhhdCB3b3VsZCBiZSB1bmluc3RhbGxlZCwgdGhlIElDTVMgcm93cyB0aGF0IHdvdWxkIGJl" + - "IHJlbW92ZWQsIGFuZCBFVEFzLiBDb3B5IHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1tdYCBh" + - "cnJheSB0byB0aGUgdXNlciDigJQgdGhvc2UgYXJlIHRoZSBsaXRlcmFsIGBoZWxtIHVuaW5zdGFs" + - "bCDigKZgIGludm9jYXRpb25zIHRoZSBvcmNoZXN0cmF0b3Igd2lsbCBydW4uCgojIyMgMy4gRXhl" + - "Y3V0ZSB0aGUgZG93bgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXIt" + - "bmFtZT0kTkFNRSAtLWpzb24KYGBgCgpQaGFzZXMgKDEtNywgbWlycm9ycyDCpzYuNy4xKToKCjEu" + - "IFByZWZsaWdodCDigJQga3ViZWN0bCBhY2Nlc3MgKyBJQ01TIHJlYWNoYWJsZQoyLiBSZXNvbHZl" + - "IHN0YWNrIGJ1bmRsZQozLiBEcmFpbiBhY3RpdmUgZGVwbG95bWVudHMg4oCUIHJ1bnMgYGZ1bmN0" + - "aW9uIGRlcGxveSByZW1vdmVgIGZvciBlYWNoIEFDVElWRSBkZXBsb3ltZW50LCBwb2xscyB1bnRp" + - "bCBTVE9QUEVELiBTdWJqZWN0IHRvIGAtLWRyYWluLWFjdGl2ZT10cnVlfGZhbHNlfHByb21wdGAg" + - "KGRlZmF1bHQgaXMgYHByb21wdGAgaW4gVFRZKS4KNC4gVW5pbnN0YWxsIGNvbXB1dGUgcGxhbmUg" + - "4oCUIGRlbGVnYXRlcyB0byBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWA7IGBoZWxtIHVuaW5z" + - "dGFsbCA8cmVsZWFzZT5gIHBlciByZWxlYXNlIGluIHJldmVyc2UtREFHIG9yZGVyCjUuIFJlbW92" + - "ZSBwZXJzaXN0ZW50IChza2lwcGVkIHVubGVzcyBgLS1yZW1vdmUtcGVyc2lzdGVudGApCjYuIFVu" + - "cmVnaXN0ZXIgY2x1c3RlciBmcm9tIElDTVMKNy4gRmluYWwgdmVyaWZ5CgojIyMgNC4gVGVhciBk" + - "b3duIHRoZSBjb250cm9sIHBsYW5lIChpZiBhcHBsaWNhYmxlKQoKYGBgc2gKbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZQpgYGAKCk9yIHZpYSB0aGUgb3JjaGVz" + - "dHJhdG9yJ3MgYC0tYWxsYCBtb2RlIGlmIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgaXMgYWxzbyBnb2lu" + - "ZyBhd2F5IChzZWUgc3RlcCA1KS4KCmB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCByZWZ1c2Vz" + - "IGlmIGFueSBjb21wdXRlIHBsYW5lIGlzIHN0aWxsIHJlZ2lzdGVyZWQgaW4gSUNNUy4gVXNlIGAt" + - "LWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgdG8gb3ZlcnJpZGUgKipvbmx5KiogaWYg" + - "dGhlIHVzZXIgZXhwbGljaXRseSB3YW50cyB0byBvcnBoYW4gY29tcHV0ZSBwbGFuZXMgKFBTQVQg" + - "YXV0aCBicmVha3MgZm9yIHRob3NlIGNsdXN0ZXJzIOKAlCB0aGV5IHdpbGwgc3RhcnQgZmFpbGlu" + - "ZyBldmVyeSBoZWFsdGggY2hlY2spLiBBbHdheXMgc3RhdGUgdGhlIGNvbnNlcXVlbmNlIGJlZm9y" + - "ZSBwYXNzaW5nIHRoZSBmbGFnLgoKIyMjIDUuIE9yLCBudWtlIGV2ZXJ5dGhpbmcKCmBgYHNoCm52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtCmBgYAoKVGhpcyBpdGVyYXRl" + - "cyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgaW4gSUNNUywgcnVucyB0aGUgcGVyLWNs" + - "dXN0ZXIgZG93biBmb3IgZWFjaCBpbiBwYXJhbGxlbCAoYm91bmRlZCBieSBgLS1hbGwtY29uY3Vy" + - "cmVuY3lgLCBkZWZhdWx0IDQpLCB0aGVuIHJ1bnMgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVg" + - "LiBJbnRlcmFjdGl2ZSBtb2RlIHByb21wdHMgdGhlIG9wZXJhdG9yIHdpdGggdGhlIGNsdXN0ZXIg" + - "bGlzdCBiZWZvcmUgcHJvY2VlZGluZzsgYC0tY29uZmlybWAgc2tpcHMgdGhlIHByb21wdCBmb3Ig" + - "bm9uLWludGVyYWN0aXZlIHVzZS4KCiMjIEdpdE9wcyBwYXRoIChpZiB1c2VyIGhhcyBBcmdvIC8g" + - "Rmx1eCkKCmBgYHNoCiMgUmVuZGVyIGRlbGV0ZSBZQU1MIGZvciB0aGUgY29tcHV0ZSBwbGFuZToK" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5l" + - "IC0tY2x1c3Rlci1uYW1lPSROQU1FID4gZGVsZXRlLnlhbWwKCiMgT3BlcmF0b3IgY29tbWl0cyBk" + - "ZWxldGUueWFtbCB0byB0aGVpciBHaXRPcHMgcmVwby4gQXJnby9GbHV4IGFwcGxpZXMgdGhlIGRl" + - "bGV0aW9uIG9uIG5leHQgc3luYy4KZ2l0IGFkZCBkZWxldGUueWFtbDsgZ2l0IGNvbW1pdCAtbSAi" + - "cmVtb3ZlIGNvbXB1dGUgcGxhbmUgJE5BTUUiOyBnaXQgcHVzaAoKIyBBZnRlciBBcmdvIHN5bmMg" + - "cmVtb3ZlcyB0aGUgSzhzIHJlc291cmNlcywgc2VwYXJhdGVseSByZW1vdmUgdGhlIElDTVMgcm93" + - "OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9JENMVVNURVJfSUQKYGBgCgpO" + - "b3RlOiBgLS1uby1hcHBseWAgZG9lcyBOT1QgaW5jbHVkZSB0aGUgSUNNUyBgY2x1c3RlciBkZWxl" + - "dGVgIChoZWxtIGRvZXNuJ3QgbWFuYWdlIHRoYXQpLiBPcGVyYXRvcnMgZm9sbG93aW5nIEdpdE9w" + - "cyBtdXN0IHJ1biBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIHNlcGFyYXRlbHksIG9yIHVzZSBg" + - "ZG93bmAgdG8gb3JjaGVzdHJhdGUgYm90aC4KCiMjIEZhaWx1cmUgcmVjb3ZlcnkKCklmIGBkb3du" + - "YCBwYXJ0aWFsLWZhaWxzIG1pZC13YXksICoqcmUtcnVuIHRoZSBzYW1lIGNvbW1hbmQqKi4gVGhl" + - "IG9yY2hlc3RyYXRvciBpcyBpZGVtcG90ZW50OiBgaGVsbSB1bmluc3RhbGxgIHNraXBzIHJlbGVh" + - "c2VzIHRoYXQgYXJlIGFscmVhZHkgZ29uZSwgYW5kIGBjbHVzdGVyIGRlbGV0ZSAtLWlnbm9yZS1t" + - "aXNzaW5nYCBza2lwcyBJQ01TIHJvd3MgdGhhdCBhcmUgYWxyZWFkeSBnb25lLiBQaGFzZSA0ICsg" + - "NiBlbWl0IGBwaGFzZTogc2tpcHBlZCAoYWxyZWFkeSBjbGVhbilgIG9uIHRoZSBzZWNvbmQgcnVu" + - "LgoKSWYgYSBgcGhhc2VfZmFpbGVkYCBldmVudCBzdXJmYWNlczoKCi0gYGVyckNhdGVnb3J5OiAi" + - "aGVsbV9wZW5kaW5nX3VwZ3JhZGUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCDi" + - "hpIgcnVuIGBoZWxtIHJvbGxiYWNrIDxyZWxlYXNlPiAwIC0ta3ViZS1jb250ZXh0PeKApmAgKHRo" + - "ZSBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGFjdCByZWxlYXNlIG5hbWUpIHRoZW4gcmUtcnVuIGBk" + - "b3duYC4gRG8gTk9UIGF1dG8tcm9sbGJhY2sgd2l0aG91dCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBg" + - "ZXJyQ2F0ZWdvcnk6ICJjb21wdXRlX3BsYW5lIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0" + - "aW9uImAgd2l0aCBtZXNzYWdlIGFib3V0IEFDVElWRSBkZXBsb3ltZW50cyDihpIgdXNlciBwYXNz" + - "ZWQgYC0tZHJhaW4tYWN0aXZlPWZhbHNlYCBidXQgZGVwbG95bWVudHMgZXhpc3QuIFJlLXJ1biB3" + - "aXRoIGAtLWRyYWluLWFjdGl2ZT10cnVlYCBvciBgLS1kcmFpbi1hY3RpdmU9cHJvbXB0YCBhbmQg" + - "Y29uZmlybSB3aXRoIHRoZSB1c2VyLgotIE90aGVyIGNhdGVnb3JpZXMg4oaSIHN1cmZhY2UgYGVy" + - "ck1lc3NhZ2VgICsgZWFjaCBgcmVtZWRpYXRpb25gIHN0cmluZyB2ZXJiYXRpbS4gU1RPUC4gRG8g" + - "bm90IHByb3Bvc2UgcmV0cnkgd2l0aG91dCB1c2VyIGlucHV0LgoKIyMgQWx3YXlzIGNvbmZpcm0K" + - "CkZvciBldmVyeSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFsbGAgaW52" + - "b2NhdGlvbiwgZXNwZWNpYWxseSB3aXRoIGRlc3RydWN0aXZlIGZsYWdzOgoKLSBTdGF0ZSB0aGUg" + - "ZXhhY3QgYC0tY2x1c3Rlci1uYW1lYCAob3IgYC0tYWxsYCkuCi0gU3RhdGUgd2hhdCdzIGxvc3Qg" + - "KGUuZy4gImFsbCBmdW5jdGlvbiBkZXBsb3ltZW50cyBzY2hlZHVsZWQgb24gYG5jcC1sb2NhbGAg" + - "d2lsbCBzdG9wOyBjb21wdXRlIHBsYW5lIHdpbGwgZGVyZWdpc3RlciBmcm9tIElDTVMiKS4KLSBJ" + - "ZiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgaXMgYmVpbmcgY29uc2lkZXJlZCwgc3RhdGUgdGhhdCBD" + - "YXNzYW5kcmEgcm93cyArIE9wZW5CYW8gc2VhbCBrZXlzIHdpbGwgYmUgZGVsZXRlZCBhbmQgdGhh" + - "dCB0aGlzIGlzIHVucmVjb3ZlcmFibGUuCi0gV2FpdCBmb3IgZXhwbGljaXQgdXNlciBjb25maXJt" + - "YXRpb24uCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNg" + - "IHdpdGhvdXQgZXhwbGFpbmluZyB0aGF0IGNvbXB1dGUgcGxhbmVzIHdpbGwgYmUgb3JwaGFuZWQu" + - "Ci0gTmV2ZXIgcHJvcG9zZSBgLS1yZW1vdmUtcGVyc2lzdGVudGAgd2l0aG91dCBleHBsYWluaW5n" + - "IHRoZSBsb3NzLgoKIyMgTWFudWFsIGZhbGxiYWNrIChpZiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "e3VuaW5zdGFsbCxkb3dufWAgaXMgdW5hdmFpbGFibGUpCgpJZiB0aGUgdXNlciBpcyBvbiBhIENM" + - "SSB2ZXJzaW9uIG9sZGVyIHRoYW4gTSsxMSwgZmFsbCBiYWNrIHRvOgoKYGBgc2gKIyBQZXIgY29t" + - "cHV0ZSBwbGFuZSAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmhlbG0gdW5pbnN0YWxsIG52Y2Et" + - "YWdlbnQgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAtbiBudmNh" + - "LW9wZXJhdG9yCmhlbG0gdW5pbnN0YWxsIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIC1uIG52Y2Et" + - "c3lzdGVtCmhlbG0gdW5pbnN0YWxsIHNoYXJlZHN0b3JhZ2UgLW4gbnZjYS1zeXN0ZW0KCiMgRHJh" + - "aW4gdGhlIElDTVMgcm93OgpudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9PGlk" + - "PgoKIyBDb250cm9sIHBsYW5lIHRlYXJkb3duIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToKY2Qg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbWFrZSBkZXN0cm95ICAgIyBpbnZva2VzIGhlbG1maWxl" + - "IGRlc3Ryb3kgYWNyb3NzIGFsbCByZWxlYXNlcwoKIyBJZiB1c2luZyBzcGxpdCBzdGFjayBidW5k" + - "bGVzLCB0ZWFyZG93biBjb21wdXRlIHBsYW5lIHJlbGVhc2VzIHRvbzoKY2QgLi4vbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrCm1ha2UgZGVzdHJveQpgYGAKClRoaXMgaXMgdGhlIG1hbnVhbCBwYXRo" + - "OyBwcmVmZXIgdGhlIG5ldyBzdWJjb21tYW5kcyB3aGVuZXZlciB0aGV5J3JlIGluc3RhbGxlZC4K" + - "CiMjIFdoYXQgYGt1YmVjdGwgZGVsZXRlIHB2Y2AgZG9lcwoKSWYgdGhlIHVzZXIgYXNrcyAid2h5" + - "IGlzIG15IG5ldyBpbnN0YWxsIHNlZWluZyB0aGUgb2xkIGRhdGE/IiDigJQgdGhlIFN0YXRlZnVs" + - "U2V0IFBWQ3MgKENhc3NhbmRyYSwgT3BlbkJhbykgYXJlIE5PVCBkZWxldGVkIGJ5IGBoZWxtIHVu" + - "aW5zdGFsbGAgKGFuZCBzbyBhcmUgTk9UIGRlbGV0ZWQgYnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGRvd25gIGVpdGhlciwgYnkgZGVmYXVsdCkuIFRoZXkgcGVyc2lzdCBpbnRlbnRpb25hbGx5IHNv" + - "IGEgcmUtYHVwYCBjYW4gcmVzdW1lIGFnYWluc3QgZXhpc3RpbmcgZGF0YS4gVG8gd2lwZSBjb21w" + - "bGV0ZWx5IG9uIHRoZSBuZXh0IGBkb3duYDoKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + - "d24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tcmVtb3ZlLXBlcnNpc3RlbnQKYGBgCgpPciwg" + - "cG9zdC1kb3duLCBtYW51YWxseToKCmBgYHNoCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiBjYXNzYW5k" + - "cmEtc3lzdGVtIC0tYWxsCmt1YmVjdGwgZGVsZXRlIHB2YyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwK" + - "YGBgCgoqKkNvbmZpcm0gd2l0aCB1c2VyLioqIFRoaXMgaXMgdGhlIGRlc3RydWN0aXZlIHN0ZXAu" + - "ClBLBwjah2NW5CEAAOQhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADAACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhIjIGBudmNmLWNs" + - "aWAgY29tbWFuZCByZWZlcmVuY2UKCkZ1bGwgc3ViY29tbWFuZCBsaXN0LiBBbHdheXMgcGFpciB3" + - "aXRoIFtmbGFncy5tZF0oZmxhZ3MubWQpIGZvciBnbG9iYWwgZmxhZ3MgYW5kIFtleGl0LWNvZGVz" + - "Lm1kXShleGl0LWNvZGVzLm1kKSBmb3IgcmV0dXJuIGNvZGVzLgoKIyMgU2VsZi1ob3N0ZWQgbGlm" + - "ZWN5Y2xlCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgT3V0cHV0IHwgTm90ZXMgfAp8LS0tfC0tLXwt" + - "LS18LS0tfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBbZmxhZ3NdYCB8IFByZS1mbGlnaHQg" + - "dmFsaWRhdGlvbiAobm8gYWRtaW4gY3JlZHMpIHwgc3RyZWFtaW5nIGV2ZW50cyB8IFBlci1yb2xl" + - "IHdpdGggYC0tY29udHJvbC1wbGFuZS1jb250ZXh0YCAvIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4" + - "dGA7IGAtLWxvY2FsLW9ubHlgIHNraXBzIGt1YmVjdGwgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAt" + - "LWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEV2ZXJ5IENQIHJlbGVhc2UgaGVhbHRoeSB8" + - "IHN0cmVhbWluZyBldmVudHMgfCBQb2xscyB1bnRpbCBwYXNzIG9yIGAtLXdhaXRgIGVsYXBzZXMg" + - "fAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCBb" + - "LS13YWl0IERVUl1gIHwgUGVyLWNsdXN0ZXIgd29ya2VyIHN0YXRlIHwgc3RyZWFtaW5nIGV2ZW50" + - "cyB8IE5WQ0EgKyBvcGVyYXRvciArIEpXS1MtZmluZ2VycHJpbnQgbWF0Y2ggfAp8IGBzZWxmLWhv" + - "c3RlZCBjaGVjayAtLWFsbCBbLS13YWl0IERVUl1gIHwgRmFuLW91dCBvdmVyIGFsbCBvZiB0aGUg" + - "YWJvdmUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgfAp8IGBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29u" + - "dHJvbC1wbGFuZWAgfCBSZW5kZXIgY29udHJvbC1wbGFuZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0" + - "ZG91dCB8IFBpcGUgdG8gYGt1YmVjdGwgYXBwbHkgLWYgLWAgfAp8IGBzZWxmLWhvc3RlZCBpbnN0" + - "YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFJlZ2lzdGVyIGNsdXN0ZXIg" + - "KyByZW5kZXIgY29tcHV0ZSBtYW5pZmVzdHMgfCBZQU1MIG9uIHN0ZG91dCB8IE9uZSBpbnZvY2F0" + - "aW9uIHBlciBHUFUgY2x1c3RlciB8CnwgYHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1lPVhg" + - "IHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbCAoYm90aCBwbGFuZXMpIHwgKGVtcHR5KSBzdGRvdXQs" + - "IHByb2dyZXNzIG9uIHN0ZGVyciB8IEFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5lczsgZm9yIGNv" + - "bXB1dGUtb25seSB1c2UgYGFkZC1jb21wdXRlLXBsYW5lYCB8CnwgYHNlbGYtaG9zdGVkIHVwIC0t" + - "cGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IHwgSlNPTkwgb24g" + - "c3RkZXJyIHwgQWdlbnQtZnJpZW5kbHksIG5vIGNsdXN0ZXIgY2hhbmdlcyB8CnwgYHNlbGYtaG9z" + - "dGVkIGFkZC1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVggLS1jb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ9WSAtLWljbXMtdXJsPVVSTCAtLXRva2VuPSRKV1RgIHwgQWRkIGEgY29tcHV0ZSBwbGFu" + - "ZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwgRm9y" + - "IDJuZCwgM3JkLCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGZpcnN0IGluc3RhbGwuIENQIG5v" + - "dCB0b3VjaGVkLiB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9WF0gWy0t" + - "d2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pTT05MIHwgYC0t" + - "d2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNv" + - "bXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVs" + - "bWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rlciwg" + - "bm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9uIHRoYXQgY29t" + - "cHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgWy0t" + - "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBg" + - "aGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8IFJlZnVz" + - "ZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0tZm9yY2Utd2l0" + - "aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFw" + - "cGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZlc3Rg" + - "IHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8gYGt1YmVjdGwg" + - "ZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBgaW5zdGFsbCAt" + - "LW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WCBbLS1kcmFp" + - "bi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6IGRyYWluIOKG" + - "kiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJQ01TIHwg" + - "cHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8" + - "CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVzdHJhdG9yOiB0" + - "ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFuZSB8" + - "IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1cnJlbmN5YCAo" + - "ZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0aXZlIHwKfCBg" + - "c2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9yIGRyeS1ydW46" + - "IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBoZWxtL2hlbG1m" + - "aWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBhY3R1YWwgYGRv" + - "d25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90" + - "ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1uY2EtaWQ9" + - "WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBhIEpXS1MrT0lE" + - "QyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBzdGFuZGFsb25l" + - "IGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1u" + - "Y2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1c3RlciByZWdp" + - "c3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1qc29uYCBmb3Ig" + - "bWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9" + - "SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBBZnRlciBLOHMg" + - "QVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVsZXRlIC0tY2x1" + - "c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBjb25maXJtIHdp" + - "dGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgQ3Jl" + - "YXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZlcnNpb24gSUQ7" + - "IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1tdLmxs" + - "bUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + - "LCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1bmN0aW9uIGxp" + - "c3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0aW9uIGdldCAt" + - "LWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0YWRhdGEgfCB8" + - "CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS10" + - "YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVuY3Rpb24gdXBk" + - "YXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2RlbC11cGRhdGU9" + - "U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNgIHVzZXMgYG5h" + - "bWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5g" + - "OyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFncy5tZCkgfAp8" + - "IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNjaGVkdWxlIGEg" + - "ZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykgfAp8IGBmdW5j" + - "dGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCBbLS1qc29u" + - "XWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZFXHxERVBMT1lJ" + - "TkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAtLWlucHV0LWZp" + - "bGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBmdW5jdGlvbiBk" + - "ZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBTdG9wIGEg" + - "ZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9uIGludm9rZSAt" + - "LWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJlcXVpcmVzIEFQ" + - "SSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9rZWQgdGhyb3Vn" + - "aCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88" + - "bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVy" + - "c2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoqREVTVFJVQ1RJ" + - "VkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFuZHMgcmVxdWly" + - "ZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBOVkNGX0JBU0Vf" + - "TlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBhIGZyZXNoIHNl" + - "c3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgaW5q" + - "ZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFsdWU7IGNoZWNr" + - "IGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0aCBgYXBpLWtl" + - "eSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1biBgYXBpLWtl" + - "eSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5ldyBrZXkuCgp8" + - "IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRl" + - "IC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdlPUlNR2AgfCBT" + - "dWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0YXRlOyB1c2Ug" + - "YC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sgY3JlYXRlIC0t" + - "bmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hhcnQ9Q0hBUlRg" + - "IHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMgYC0taW1hZ2Vg" + - "IHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEgdGFzayBmcm9t" + - "IGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGNvbmZpZ3Vy" + - "YXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0PU5dYCB8IExp" + - "c3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVzZXM6IGBRVUVV" + - "RURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBDQU5D" + - "RUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhfUVVF" + - "VUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNrIGRldGFpbHMg" + - "fCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBgdGFzayBldmVu" + - "dHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBhIHRh" + - "c2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFjdHMg" + - "Zm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBgcmVzdWx0SGFu" + - "ZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9ydGVk" + - "IHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0YXNrIHwgTm8t" + - "b3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRlIFt0YXNrSWRd" + - "YCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElEICsgY3VycmVu" + - "dCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBleHBsaWNpdGx5" + - "IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBub3QgdHJlYXQg" + - "dGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8CnwgYHRhc2sg" + - "dXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgVXBkYXRlIHNl" + - "Y3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRhdGVkIGJ5" + - "IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBwcmVzZXJ2ZWQg" + - "fCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0tdGFzay1pZHM9" + - "SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNrcyBpbiBvbmUg" + - "cmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + - "LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgdmlhIHB1" + - "YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1jbGkuc3RhdGVg" + - "OyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAoZnVuY3Rpb24g" + - "YW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwgbGFzdCBlbmRw" + - "b2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNrXSBbLS1kZXNj" + - "cmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlzIHwgRGVmYXVs" + - "dCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFuZCBhIHRhc2sg" + - "a2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMgb25lIG9ubHk7" + - "IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgLS12YWxp" + - "ZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkg" + - "fCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5jZSAoTlZDRiBm" + - "b3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1rZXkgbGlzdGAg" + - "fCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1zY29wZWQga2V5" + - "cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJldm9rZSBLRVkt" + - "SURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiogfAp8IGBhcGkt" + - "a2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0YXRlIHwgfAoK" + - "IyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0t" + - "LXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0YWxsIGFsbCBi" + - "dW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxzL2AgYW5kIGB+" + - "Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVz" + - "IHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJlbW92ZSBvbmx5" + - "IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNlIHNraWxscyBk" + - "aXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWluIHwKfCBgYWdl" + - "bnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBGb3IgZGVidWdn" + - "aW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEgYW5kIGVtYmVk" + - "ZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwhyDQ9kISMAACEjAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + - "Y2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVzCgpTdGFibGUg" + - "YWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0cnkgLyBzdXJm" + - "YWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMgfAp8LS0tfC0t" + - "LXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0YWxsIGNvbXBs" + - "ZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3IgfCBIZWxtIHJl" + - "bmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5kOyBZQU1MIHBh" + - "cnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEgYGNoZWNrYCBy" + - "ZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2luZzsga3ViZWN0" + - "bCBub3Qgb24gUEFUSDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXItdmFs" + - "aWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVy" + - "ZSwgaXRzIG93biB0aW1lb3V0LCBubyB0YWcgZm91bmQgZm9yIGFuIHVudGFnZ2VkIGltYWdlKS4g" + - "V2FybmluZy1zZXZlcml0eSByZXN1bHRzIGV4aXQgYDBgIHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZh" + - "aWxlZCB8IE5vIHRva2VuICsgYC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQg" + - "SldUOyBpbml0IGVuZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBv" + - "ciBgLS13YWl0YCB0aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVk" + - "IGJ1dCBkaWQgbm90IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0" + - "aWxsIGluIHByb2dyZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sg" + - "YmVmb3JlIGl0IGZpbmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQgc2hvcnQpLiBB" + - "IGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3VsdCBrZWVwcyBpdCwgc28gYSB2YWxpZGF0" + - "b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lH" + - "SU5UL1NJR1RFUk0gfCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3Rl" + - "ZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlv" + - "ciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAg" + - "fCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBl" + - "cnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8" + - "IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBg" + - "dXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNm" + - "LWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1" + - "dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQg" + - "dG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2Vs" + - "LiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkg" + - "Y2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5k" + - "IG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAg" + - "ZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBgZmFpbGVkQ291bnRgKSBhbmQgbmV2ZXIgZW1p" + - "dHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kYC4gSXRzIGV4" + - "aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBg" + - "Y2hlY2tfY29tcGxldGVkYCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMg" + - "b24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYC4gQSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGAp" + - "IGVtaXRzIGBmaW5hbGAgd2l0aCBgY2FuY2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9m" + - "YWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFzZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4gRXZlcnkgb3Ro" + - "ZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBl" + - "dmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJy" + - "YXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3Jl" + - "bWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5k" + - "IGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNv" + - "bnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2gg" + - "ZnJvbSBzdGRlcnIuClBLBwiObgsJMgoAADIKAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0A" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIj" + - "IGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3ViY29t" + - "bWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNv" + - "bmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwK" + - "fCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwK" + - "fCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZLCBv" + - "biB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAo" + - "cGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBDb250cm9s" + - "LXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVS" + - "TCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBh" + - "dGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5" + - "IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxlIGVudmly" + - "b25tZW50IG5hbWUgfCBgbG9jYWxgIGZvciBkZXYgYnVpbGRzLCBgcHJkYCBmb3IgcmVsZWFzZXMg" + - "fAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZh" + - "bHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vz" + - "c2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBk" + - "byBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8" + - "IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBt" + - "YWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRw" + - "dXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IHBv" + - "bGwgdW50aWwgdGhlIGNoZWNrIHBhc3NlcyBvciBEVVJBVElPTiBydW5zIG91dCAoZXhpdCBgNWAs" + - "IGBmaW5hbGAgd2l0aCBgc3VjY2VzczogZmFsc2VgKS4gQSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0" + - "ZWQgdG8gY2xlYXIsIHN1Y2ggYXMgYSByb2xsb3V0IGluIHByb2dyZXNzLCBrZWVwcyBpdCBwb2xs" + - "aW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGNhcnJpZXMgYHRyYW5zaWVudDog" + - "dHJ1ZWAuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgIHwgLSB8CnwgYC0t" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wg" + - "cGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwg" + - "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyBy" + - "ZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlciB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3Vy" + - "bGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3Qg" + - "Y2hlY2tzIGFuZCBza2lwIGFsbCBrdWJlY3RsIGNvbnRhY3QsIHdoYXRldmVyIHNjb3BlIGZsYWcg" + - "aXMgcGFzc2VkLiBUaGUgQ0xJIHByaW50cyBhIG5vdGUgc2F5aW5nIHNvLiBFbnY6IGBOVkNGX0NM" + - "SV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmlj" + - "CgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUt" + - "cGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5" + - "IHRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1o" + - "b3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHks" + - "IHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29t" + - "cHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUn" + - "cyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBp" + - "bnN0YWxsZWQgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUg" + - "Y2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNo" + - "ZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBFdmVyeSBjYXRlZ29yeSwgaW5jbHVkaW5nIFNJ" + - "UyByZWFjaGFiaWxpdHkgd2hlbiBjb21iaW5lZCB3aXRoIGAtLXByZWAgfCBgZmFsc2VgIHwKfCBg" + - "LS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hl" + - "Y2tzIHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlu" + - "b3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5v" + - "dCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJ" + - "UF9JTk9USUZZYCB8IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUg" + - "dmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhl" + - "IENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJv" + - "bGVCaW5kaW5nIGZvciBpdCBhbmQgcmVtb3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBr" + - "dWJlY29uZmlnIGNvbnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgpXaGVu" + - "IGBjaGVja2AgcmVhZHMgdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSwgYGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYApmcm9tIGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgIG9yIGEgc3RhY2sgY2hl" + - "Y2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LAppdCB0ZWxscyB0aGUgdmFsaWRhdG9y" + - "IHdoaWNoIEdhdGV3YXlzIHRoZSBzdGFjayB3aXJlcyBOVkNGIHJvdXRlcyB0by4gV2l0aG91dAp0" + - "aGF0IGZpbGUgaXQgZG9lcyBub3QsIGFuZCB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZW0gZnJvbSB0" + - "aGUgcm91dGVzLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1" + - "dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29u" + - "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNj" + - "b3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcg" + - "Y2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93" + - "IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdh" + - "aW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUgd2l0aCBh" + - "IHdhcm5pbmcgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3Q6cG9y" + - "dCwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IgcHJv" + - "YmVzIGZvciByZWFjaGFiaWxpdHkuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVzIHRo" + - "ZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwgdGhl" + - "IHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIGFuZCBgcXVheS5pb2AgZm9yIHRoZSBj" + - "ZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBzZXRzIGBjZXJ0TWFuYWdl" + - "ci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCBvbmx5IHdoZW4gbmVpdGhl" + - "ciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgdmFsaWRhdG9y" + - "IGRpYWxzIGZyb20gYSBwb2Qgd2l0aCBubyBwcm94eSwgc28gYW4gdW5yZWFjaGFibGUgcmVnaXN0" + - "cnkgaXMgYSB3YXJuaW5nOyB0aGUgbG9jYWwgY3JlZGVudGlhbCBjaGVjayBpcyB3aGF0IGZhaWxz" + - "IGEgcmVnaXN0cnkgdGhlIGluc3RhbGwgY2Fubm90IHB1bGwgZnJvbS4gUmVwZWF0YWJsZSBvciBj" + - "b21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJ" + - "RVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0gfAp8IGAt" + - "LWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBz" + - "aGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQg" + - "Y2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsg" + - "Y29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4z" + - "NmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBr" + - "ZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlk" + - "YXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVz" + - "LCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBO" + - "b1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1l" + - "ZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQu" + - "IEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtl" + - "eSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxp" + - "ZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZh" + - "dWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENM" + - "SSBsb29rcyBmb3Igb25lIGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgYW5kIGNvcGllcyBpdCBpbnRv" + - "IGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBhbmQgb25seSBmb3IgYW4gaW1h" + - "Z2Ugb24gYG52Y3IuaW9gLCBpdCBtaW50cyBvbmUgZnJvbSBgTkdDX0FQSV9LRVlgLiBUaGUga2V5" + - "IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeSwgb3RoZXIgTlZJRElBIHJlZ2lzdHJp" + - "ZXMgaW5jbHVkZWQ7IHRob3NlIHVzZSB5b3VyIGRvY2tlciBsb2dpbiB8IGF1dG8tZGV0ZWN0IHwK" + - "fCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlk" + - "YXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBj" + - "YW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNp" + - "dGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4g" + - "RW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFs" + - "c2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2Qs" + - "IFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBsYXRlciBj" + - "aGVjayByZWNsYWltcyB0aGVtIGFmdGVyIDI0IGhvdXJzOyB0aGUgcmVzdWx0IHByaW50cyB0aGUg" + - "YGt1YmVjdGwgZGVsZXRlYCBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdyB8IGBmYWxzZWAg" + - "fAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCB0aGUgdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3Rk" + - "ZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBh" + - "bmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVu" + - "IGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMgYHVwYC1zcGVj" + - "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1" + - "c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkg" + - "fCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8" + - "CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBg" + - "LS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNo" + - "YW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1p" + - "dCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBg" + - "LS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFs" + - "IERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8" + - "IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBl" + - "dmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1F" + - "YCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJ" + - "RCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2Vz" + - "dC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8" + - "CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwt" + - "b24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlv" + - "blx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0" + - "byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJs" + - "ZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBp" + - "cmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJz" + - "ZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09Q" + - "RV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2Vydmlj" + - "ZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtl" + - "eSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlv" + - "biB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAo" + - "ZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlu" + - "cHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVm" + - "aW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + - "IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8Cnwg" + - "YC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVy" + - "bCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5j" + - "ZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rp" + - "b24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFV" + - "TFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZl" + - "cmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1w" + - "YWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1F" + - "YCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJl" + - "ZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJT" + - "SU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAt" + - "LWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + - "LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9" + - "PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3" + - "aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNl" + - "IGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVj" + - "cyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQt" + - "cHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9y" + - "aXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBl" + - "ci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0" + - "eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElE" + - "IG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBh" + - "bmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAg" + - "YW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBs" + - "bG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBh" + - "dGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92" + - "MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdz" + - "YC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dl" + - "cl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxs" + - "bUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0" + - "ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3Jt" + - "YXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhg" + - "IChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRz" + - "IHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAw" + - "LUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdp" + - "bmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFj" + - "a2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAs" + - "IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUg" + - "c2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0" + - "ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBp" + - "bnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1l" + - "PiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBt" + - "b2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVz" + - "cG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9y" + - "IHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVu" + - "Y3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwg" + - "LSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1h" + - "dCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + - "bWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBU" + - "b2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVk" + - "IHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAg" + - "fCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGgg" + - "dGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0g" + - "fAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFj" + - "Y291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRp" + - "c3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAt" + - "IHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBl" + - "bnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5k" + - "L29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1v" + - "ZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5j" + - "dGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNv" + - "bW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElE" + - "YCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFt" + - "aWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUu" + - "SDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8" + - "IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1" + - "ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVm" + - "YXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNp" + - "ZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3Jl" + - "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVw" + - "ZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChy" + - "ZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwK" + - "fCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVg" + - "KSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNl" + - "IHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5H" + - "UFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVh" + - "bGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJU" + - "YCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUg" + - "d2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBm" + - "aWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwK" + - "fCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJz" + - "IE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBD" + - "b21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQg" + - "d2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVw" + - "b2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVl" + - "YCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAt" + - "LXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVh" + - "dGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05g" + - "IHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBk" + - "ZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9O" + - "YCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNl" + - "cnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8" + - "IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1" + - "bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBo" + - "YW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBM" + - "T0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1u" + - "YW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FE" + - "YCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyBy" + - "ZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3Vy" + - "Y2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNr" + - "IHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBk" + - "ZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxl" + - "bWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8" + - "IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRy" + - "eS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCOtGk5OG" + - "OAAAhjgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9v" + - "dGluZwoKS25vd24gZXJyb3JzIOKGkiBkaWFnbm9zdGljIGNvbW1hbmQg4oaSIHJlbWVkaWF0aW9u" + - "LiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBldmVudHMg" + - "dGhlIENMSSBlbWl0cyAoUkVRLTE1KSDigJQgZXZlcnkgZW50cnkgYmVsb3cgc2hvdWxkIG1hcCB0" + - "byBhbiBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxp" + - "Z2h0Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBr" + - "dWJlY3RsIG5vdCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUg" + - "a3ViZWN0bCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2Rv" + - "Y3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBvbiBQQVRI" + - "YCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0" + - "aW9uIHwKfCBgaGVsbSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3Mv" + - "aW50cm8vaW5zdGFsbC8gfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIHwgZW52" + - "b3ktZ2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2Vy" + - "LmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lz" + - "dGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBub3QgYXZh" + - "aWxhYmxlYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MgfCBBbm5vdGF0ZSBvbmU6IGBrdWJl" + - "Y3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9y" + - "YWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCB8Cnwg" + - "YEdQVSBvcGVyYXRvciBub3QgaW5zdGFsbGVkYCAoY29tcHV0ZS1wbGFuZSkgfCBudmlkaWEgR1BV" + - "IG9wZXJhdG9yIG1pc3NpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9k" + - "YXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9w" + - "ZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYgfAp8IGBHUFUg" + - "bm9kZSBsYWJlbHMgbWlzc2luZ2AgKGNvbXB1dGUtcGxhbmUpIHwgTm9kZXMgbmVlZCBgbnZpZGlh" + - "LmNvbS9ncHUuZmFtaWx5YCBldGMuIHwgU2V0IGAtLWszcy1ub2RlLWxhYmVsIG52aWRpYS5jb20v" + - "Z3B1LmZhbWlseT1ob3BwZXJAYWdlbnQ6TmAgZm9yIGszZCB8CgojIyBBdXRoCgp8IFN5bXB0b20g" + - "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1" + - "aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tl" + - "bmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2Vu" + - "PSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBB" + - "bm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8" + - "IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0g" + - "fi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1p" + - "c3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRv" + - "a2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkt" + - "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMg" + - "SW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + - "LXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5k" + - "cmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9y" + - "YWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAg" + - "fAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBs" + - "b3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwg" + - "VXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAg" + - "fAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxs" + - "IC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBl" + - "bnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZh" + - "bHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJv" + - "ciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29t" + - "bWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUg" + - "YG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRv" + - "cjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90" + - "IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNk" + - "IGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+" + - "YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + - "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGgg" + - "YEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBv" + - "dXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBj" + - "bHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUt" + - "cnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVz" + - "IGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3Ig" + - "Y2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNo" + - "IHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkg" + - "Y2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdl" + - "UHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIg" + - "Y29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1i" + - "YWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24g" + - "ZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxh" + - "ZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVh" + - "bHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + - "YW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBD" + - "YXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJu" + - "cyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBr" + - "ZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJl" + - "Z2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVk" + - "ZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQg" + - "cHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3Jl" + - "ZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91" + - "dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVm" + - "cmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1u" + - "IG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVk" + - "aWF0ZWx5IHwKUEsHCPOuE4R0EQAAdBEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5h" + - "bWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0" + - "YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJh" + - "dGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + - "IHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVz" + - "LCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBs" + - "YW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVy" + - "YXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9y" + - "IHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZp" + - "cm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQu" + - "CmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0g" + - "MS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1h" + - "dGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUt" + - "ZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBz" + - "ZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0" + - "ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNy" + - "ZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBp" + - "bnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + - "Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYt" + - "bWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBs" + - "YW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNd" + - "CiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0s" + - "IGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxm" + - "LU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5n" + - "IE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoK" + - "IyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3Ig" + - "dGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBh" + - "bmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExN" + - "ImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0" + - "cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpB" + - "c2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Ig" + - "c3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52" + - "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxj" + - "b250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52" + - "aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUt" + - "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZp" + - "bGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUt" + - "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlz" + - "c2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFz" + - "aApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZl" + - "cnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRy" + - "b2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSBy" + - "b290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFu" + - "ZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNp" + - "b24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxt" + - "IHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAj" + - "IE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENs" + - "aWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRy" + - "b2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290" + - "bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFt" + - "ZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2Ug" + - "dGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + - "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFs" + - "dWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9z" + - "dCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jh" + - "c2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + - "Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3Rz" + - "IHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3Jl" + - "dHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxl" + - "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3Jp" + - "dGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + - "a2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3Rv" + - "cmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBp" + - "biB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2su" + - "IFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFy" + - "dC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFj" + - "ZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoK" + - "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3Jp" + + "dGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3Mg" + + "ZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24u" + + "PGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtO" + + "VkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAog" + + "IC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAg" + + "ICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMg" + + "YGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJl" + + "Y3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2Vy" + + "LgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRl" + + "c3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+" + + "IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9y" + + "ZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1" + + "bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkg" + + "ZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVu" + + "cyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9u" + + "J3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9y" + + "IGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VU" + + "eXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5I" + + "MTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGlt" + + "YWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1h" + + "Z2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsH" + + "CNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIj" + + "IERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJt" + + "eSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBx" + + "dWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQg" + + "aXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBu" + + "b3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5n" + + "OyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVw" + + "bG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNv" + + "bXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGlj" + + "aC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5v" + + "dCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5W" + + "Q0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5k" + + "IHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVh" + + "Y2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJl" + + "Y3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWls" + + "aW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90" + + "IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcg" + + "Nm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "IC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVy" + + "cyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERv" + + "bid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1z" + + "IOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoK" + + "IyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlh" + + "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3Ig" + + "PjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1" + + "YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBl" + + "eGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGgg" + + "LXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMu" + + "aW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0" + + "aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2Ft" + + "ZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChw" + + "cmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVl" + + "ZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBo" + + "ZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0t" + + "bmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBO" + + "byBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5W" + + "Q0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2" + + "ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJl" + + "Z2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20g" + + "YSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8Cnwg" + + "YFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBt" + + "YXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBz" + + "ZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2Yt" + + "Y2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3Jg" + + "IEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGlu" + + "IGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGsz" + + "ZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVy" + + "PmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52" + + "ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsg" + + "dGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFk" + + "ZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0" + + "aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoK" + + "Ci0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRl" + + "c3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIp" + + "LgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Et" + + "b3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7" + + "IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1v" + + "dmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQg" + + "Q2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9z" + + "ZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bv" + + "c2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3Qg" + + "cHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNr" + + "ZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2Aq" + + "KiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5n" + + "IFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNl" + + "ZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3Jp" + + "YmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5t" + + "ZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3" + + "YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBj" + + "bHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVu" + + "dHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNl" + + "cjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + + "b24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0" + + "ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAg" + + "IC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBi" + + "ZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZv" + + "ciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBz" + + "cGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxh" + + "bmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkg" + + "YW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBw" + + "bGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBL" + + "ZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3Rl" + + "cnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcg" + + "bXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMu" + + "CgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0" + + "ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1" + + "c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3Rh" + + "bGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNv" + + "bS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4" + + "cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZv" + + "eS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5h" + + "bWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRv" + + "bmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJv" + + "eHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1n" + + "YXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlg" + + "LCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNl" + + "cnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVj" + + "dGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhl" + + "IEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0" + + "ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZp" + + "Y2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+" + + "IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUi" + + "IFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNM" + + "b2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4g" + + "a3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgog" + + "ICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0" + + "byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUv" + + "YXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBs" + + "b3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVy" + + "LiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRp" + + "b25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250" + + "cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBi" + + "ZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxv" + + "dyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0" + + "byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0" + + "IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFz" + + "czogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNl" + + "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1m" + + "YWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZp" + + "Y2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95" + + "U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVz" + + "LmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBj" + + "b250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVm" + + "YXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRo" + + "ZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUg" + + "YW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVz" + + "ZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21i" + + "aW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250" + + "cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3Rv" + + "Y29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHBy" + + "b3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBg" + + "YHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0" + + "YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjog" + + "Z2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0" + + "YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVt" + + "CiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBr" + + "dWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6" + + "CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNl" + + "ci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5p" + + "by9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAg" + + "ICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTog" + + "ImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2lu" + + "Zy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6" + + "IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9n" + + "YXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDog" + + "Z2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1l" + + "OiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1" + + "YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcu" + + "azhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1n" + + "YXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdh" + + "eUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBw" + + "cm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAg" + + "ICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxl" + + "Y3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRm" + + "b3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAg" + + "cG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAg" + + "ICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAg" + + "IG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9G" + + "CiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVBy" + + "b3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBF" + + "bnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2Vydmlj" + + "ZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVz" + + "b3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBj" + + "b25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAg" + + "ZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEi" + + "CiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBv" + + "cnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdB" + + "WV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0i" + + "bnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdh" + + "aXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVBy" + + "b2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlf" + + "TkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9y" + + "PWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVX" + + "QVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRl" + + "d2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + + "ZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3Rs" + + "IC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlf" + + "TkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9Jyki" + + "CiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19H" + + "QVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9B" + + "RERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4" + + "IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxv" + + "d3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIK" + + "ICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJh" + + "c2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0" + + "cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FE" + + "RFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQURE" + + "Un0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlf" + + "aG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4k" + + "e1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1" + + "bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6" + + "ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgog" + + "ICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0" + + "LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xvZ3k6CgogICBgYGBzaAogICAj" + + "IFNpbmdsZS1jbHVzdGVyCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNv" + + "biB8IGpxIC1jIC4KCiAgICMgU3BsaXQKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1w" + + "cmUgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCgogICAj" + + "IENvbXB1dGUtb25seSAob3BlcmF0b3Igd2l0aCBrdWJlY3RsIG9uIGNvbXB1dGUgcGxhbmUgb25s" + + "eSkKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52" + + "Y2YuZXhhbXBsZS5jb20gXAogICAgIC0tanNvbiB8IGpxIC1jIC4KICAgYGBgCgogICBQYXJzZSB0" + + "aGUgSlNPTkwgc3RyZWFtLiBJZiBhbnkgY2hlY2sgZmFpbHMgKGAicGFzc2VkIjpmYWxzZWApIHdp" + + "dGggYHNldmVyaXR5OiBlcnJvcmAsIHN1cmZhY2UgYG1lc3NhZ2VgICsgYGhpbnRVUkxgIHRvIHRo" + + "ZSB1c2VyIGFuZCBzdG9wLiBEb24ndCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJl" + + "cmVxcy4KCjQuIE1pbnQgYW4gYWRtaW4gdG9rZW4gaWYgbmVlZGVkLiBgbnZjZi1jbGkgaW5pdGAg" + + "aXMgaWRlbXBvdGVudC4gQ2FsbCBpdCBpZiB0aGUKICAgdXNlciBkb2VzIG5vdCBoYXZlIGEgc2Vz" + + "c2lvbiB5ZXQuIEluaXQgdGFsa3MgdG8gQVBJIEtleXMgdGhyb3VnaCB0aGUgcHVibGljCiAgIEFQ" + + "SSBnYXRld2F5LCBzbyBpdCBhbHNvIHdvcmtzIGluIGNvbXB1dGUtb25seSBtb2RlLgoKNS4gUnVu" + + "IGB1cGAuIFVzZSBgLS1qc29uYCBmb3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBgYHNo" + + "CiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVT" + + "VEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIk" + + "e1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBpbnN0" + + "YWxscywgYWRkIGJvdGggY29udGV4dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05UUk9M" + + "X1BMQU5FX0NPTlRFWFQ9ImFkbWluQGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRFX1BM" + + "QU5FX0NPTlRFWFQ9ImFkbWluQGdwdS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "dXAgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09OVEVY" + + "VH0iIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NPTlRF" + + "WFR9IiBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNh" + + "LWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29u" + + "CiAgIGBgYAoKICAgUGFyc2UgZXZlbnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFzZV9j" + + "b21wbGV0ZWRgOiBsb2cgcHJvZ3Jlc3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgOiBzaG93IHByb2dy" + + "ZXNzIGZvciB0aGUgbG9uZyBhcHBseSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBgd2Fp" + + "dGluZ2A6IHN1cmZhY2UgdG8gdGhlIHVzZXIgaWYgaXQgcGVyc2lzdHMgZm9yIG1vcmUgdGhhbiAy" + + "IG1pbnV0ZXMKICAgLSBgcGhhc2VfZmFpbGVkYDogc3RvcCBhbmQgc3VyZmFjZSBgZXJyTWVzc2Fn" + + "ZWAgcGx1cyBlYWNoIGByZW1lZGlhdGlvbmAgbGluZS4KICAgICBEZWNpZGUgYmFzZWQgb24gYHJl" + + "dHJ5Q2xhc3NgOiBgaW1tZWRpYXRlYCAtPiBtYXkgcmUtcnVuIG5vdyB3aXRoIHVzZXIKICAgICBh" + + "cHByb3ZhbDsgYGJhY2tvZmZgIC0+IHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIGFuZCB0aGVuIHJlLXJ1" + + "biB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGFmdGVyX3JlbWVkaWF0aW9uYCwgYG5vbmVgLCBv" + + "ciBgdW5rbm93bmAgLT4gdGhlIG9wZXJhdG9yIG11c3QKICAgICBhY3QgZmlyc3QsIHNvIGRvIG5v" + + "dCBhdXRvLXJldHJ5LgogICAtIGBmaW5hbGA6IGRvbmUuIFByaW50IGNsdXN0ZXJJZCBhbmQgTlZD" + + "RkJhY2tlbmQgaGVhbHRoLgoKNi4gVmVyaWZ5IHdpdGggc3RhdHVzLiBSdW4gYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcWAgYW5kIGV4cGVjdAogICBgdmVyZGljdDogImhl" + + "YWx0aHkiYC4gT3RoZXJ3aXNlLCB1c2UKICAgW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kXShk" + + "aWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkuCgo3LiBPcHRpb25hbGx5IHNtb2tlIHRlc3QgYSBm" + + "dW5jdGlvbi4gVXNlCiAgIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2Uu" + + "bWQpIGZvciB0aGUgY3JlYXRlIC0+IGRlcGxveSAtPgogICBpbnZva2UgZmxvdy4KCiMjIE5vdGVz" + + "CgotIFNpbmdsZS1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMgYWJv" + + "dXQgMTAtMTMgbWludXRlcywKICBkZXBlbmRpbmcgb24gY2hhcnQgcHVsbCBzcGVlZCBhbmQgTkFU" + + "UyBzdHJlYW0taW5pdCBsYXRlbmN5LgotIGB1cGAgaXMgaWRlbXBvdGVudC4gSXQgaXMgc2FmZSB0" + + "byByZS1ydW4gYWZ0ZXIgZml4aW5nIGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2UgYC0t" + + "Zm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhhcyBD" + + "SSAvIGAkQ0lgIHNldCwgYWx3YXlzIHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0kSldU" + + "YDsgbmV2ZXIgcHJvcG9zZSBgbnZjZi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCEJx5h4B" + + "KAAAASgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRlIGEg" + + "Y2x1c3RlcidzIEpXS1MKClVzZXIgc2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcsIG9y" + + "IFBTQVQgYXV0aCBpcyA0MDEtaW5nIGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVyJ3Mg" + + "SldUIHNpZ25pbmcga2V5cyBtYXkgaGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQgaW4g" + + "SUNNUyBpcyBub3cgc3RhbGUuCgojIyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dzIC1u" + + "IG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhUVFAg" + + "NDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQotIElD" + + "TVMgbG9ncyBzaG93IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + + "ciBJRDogPGlkPmAgKGNhdXNlZCBieSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQgcm90" + + "YXRlIGZpeGVzIGJvdGgpCi0gQWZ0ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9yIGNv" + + "bXB1dGUtcGxhbmUgSzhzIHVwZ3JhZGUKCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSBjbHVzdGVy" + + "IElELiBSdW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0Ff" + + "SUQgLS1pY21zLXVybD0kSUNNU2AuIElkZW50aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVzZXIn" + + "cyBjb21wdXRlIHBsYW5lLgoKMi4gKipSb3RhdGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBjYW4g" + + "cmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJlLWZl" + + "dGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBudmNm" + + "LWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPiAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD08Y3R4PgogICBgYGAKCiAgIFRoaXMgcmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1" + + "dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRzIGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0" + + "YXlzIHRoZSBzYW1lLgoKMy4gKipWZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1" + + "c3Rlci1pZD08aWQ+YCDigJQgY29uZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3Vi" + + "ZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAt" + + "LXRhaWw9MjBgIOKAlCByZWdpc3RlciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3Qg" + + "NDAxKS4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBS" + + "b3RhdGlvbiBwcmVzZXJ2ZXMgdGhlIGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0" + + "ZXMgYSBuZXcgcm93IGFuZCB5b3UgaGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3" + + "aXRoIG5ldyBJRHMuCi0gKipEb24ndCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYC4qKiBSb3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZh" + + "bHVlcyBmaWxlIGFscmVhZHkgaGFzIHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRp" + + "b24gZG9lc24ndCBmaXggaXQKClRoZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50" + + "IGxheWVyIOKAlCBjaGVjazoKCi0gTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBs" + + "b2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBD" + + "bHVzdGVyIHJvdyBleGlzdHMgaW4gYGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5k" + + "cmEgdGFibGUKLSBgaGVsbS1yZXZhbC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRj" + + "LmVuYWJsZWQ9dHJ1ZWAKClJvdXRlIHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlh" + + "Z25vc2UtZmFpbGVkLWluc3RhbGwubWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwiq4Tq5yAcAAMgH" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBO" + + "VkNGIGRlcGxveW1lbnQKCioqU0FGRVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQg" + + "c3RhdGUgKENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVz" + + "dGVycykuIEFsd2F5cyBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMg" + + "VEw7RFIg4oCUIGBkb3duYCBmb3Igb25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUK" + + "ClRoZSBDTEkgcHJvdmlkZXMgYSB0d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3" + + "aXRoIHRoZSBpbnN0YWxsIHNpZGUgKFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChl" + + "eGlzdGluZykgfCBEb3duIHNpZGUgfAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2" + + "ZSAocmVuZGVycyBZQU1MOyBHaXRPcHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lYCAvIGBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1w" + + "bGFuZWAgLyBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25l" + + "LXNob3QsIG11bHRpLXBsYW5lICsgSUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93" + + "biAtLWNsdXN0ZXItbmFtZT1YYCAvIGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3Jt" + + "YWwgdGVhcmRvd24uIFVzZSBgdW5pbnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJn" + + "by9GbHV4IGFwcGxpZXMpIG9yIHNjcmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGgg" + + "YSBkcnktcnVuLgoKIyMgRHJ5LXJ1biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tl" + + "cyBoZWxtL2hlbG1maWxlPyB8IE91dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1v" + + "bmx5YCB8IGB1cGAgLyBgZG93bmAgKG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNv" + + "bHZlZCBzdGFjayBlbnRyeXBvaW50IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhl" + + "bG0gdW5pbnN0YWxsIGNvbW1hbmQgc3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFw" + + "cGx5YCB8IGBpbnN0YWxsYCAvIGB1bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBo" + + "ZWxtZmlsZSB0ZW1wbGF0ZWAgZm9yIGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVu" + + "aW5zdGFsbC4gfCBZQU1MIG9uIHN0ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFuLW9ubHkgLS1j" + + "bHVzdGVyLW5hbWU9WGAg4oCUIHNob3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFzZXMgd2l0aG91" + + "dCBpbnZva2luZyBhbnl0aGluZy4KLSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBs" + + "YW5lIC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBga3ViZWN0bCBk" + + "ZWxldGUgLWYgLWAuCgpgYGBzaAojIFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmlyc3QuCm52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2Fs" + + "IC0tanNvbiB8IGpxCgojIFN0ZXAgMjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ugd2hpY2ggZm9y" + + "bQoKfCBVc2VyIGludGVudCB8IENvbW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3ZlIHRoaXMgb25l" + + "IEdQVSBjbHVzdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1l" + + "PVhgIHwKfCAiVGVhciBkb3duIGV2ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1hbGwgLS1jb25maXJtYCB8CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhvdXQgaW52b2tp" + + "bmcgYW55dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1j" + + "bHVzdGVyLW5hbWU9WGAgfAp8ICJHaXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJnbyBkZWxldGVz" + + "IGxhdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNv" + + "bXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8CnwgIkp1c3QgcmVt" + + "b3ZlIHRoZSBoZWxtIHJlbGVhc2VzIG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lz" + + "dGVyLCBubyBkcmFpbikiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1" + + "dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgY29udHJvbC1w" + + "bGFuZSBoZWxtIHJlbGVhc2VzIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1j" + + "b250cm9sLXBsYW5lYCB8CgojIyBTdGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgKHRo" + + "ZSBzdGFuZGFyZCBwYXRoKQoKIyMjIDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUgdXNlcgoKQXNr" + + "OgoKLSAiVGVhcmluZyBkb3duIGV2ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBw" + + "bGFuZSArIElDTVMgcm93cykgb3IganVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVy" + + "ZSBBQ1RJVkUgZnVuY3Rpb24gZGVwbG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkg" + + "ZnVuY3Rpb24gZGVwbG95IGxpc3RgIHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdp" + + "bGwgcmVmdXNlIHdpdGhvdXQgYC0tZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJl" + + "IEFDVElWRS4pCi0gIlNob3VsZCB3ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBk" + + "YXRhLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlz" + + "IHRvICoqcHJlc2VydmUqKiB0aGVtLiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBk" + + "ZWxldGlvbi4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25s" + + "eSBmaXJzdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNs" + + "dXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAg" + + "ZXZlbnQgbGlzdGluZyBlYWNoIHBoYXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJl" + + "IHVuaW5zdGFsbGVkLCB0aGUgSUNNUyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVU" + + "QXMuIENvcHkgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2Vy" + + "IOKAlCB0aG9zZSBhcmUgdGhlIGxpdGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlv" + + "bnMgdGhlIG9yY2hlc3RyYXRvciB3aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpg" + + "YGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNv" + + "bgpgYGAKClBoYXNlcyAoMS03LCBtaXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBr" + + "dWJlY3RsIGFjY2VzcyArIElDTVMgcmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMu" + + "IERyYWluIGFjdGl2ZSBkZXBsb3ltZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92" + + "ZWAgZm9yIGVhY2ggQUNUSVZFIGRlcGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1Ympl" + + "Y3QgdG8gYC0tZHJhaW4tYWN0aXZlPXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJv" + + "bXB0YCBpbiBUVFkpLgo0LiBVbmluc3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRv" + + "IGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAg" + + "cGVyIHJlbGVhc2UgaW4gcmV2ZXJzZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNr" + + "aXBwZWQgdW5sZXNzIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVy" + + "IGZyb20gSUNNUwo3LiBGaW5hbCB2ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wg" + + "cGxhbmUgKGlmIGFwcGxpY2FibGUpCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3Rh" + + "bGwgLS1jb250cm9sLXBsYW5lCmBgYAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxg" + + "IG1vZGUgaWYgZXZlcnkgY29tcHV0ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVw" + + "IDUpLgoKYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUg" + + "cGxhbmUgaXMgc3RpbGwgcmVnaXN0ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdp" + + "c3RlcmVkLWNsdXN0ZXJzYCB0byBvdmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNp" + + "dGx5IHdhbnRzIHRvIG9ycGhhbiBjb21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3Ig" + + "dGhvc2UgY2x1c3RlcnMg4oCUIHRoZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBj" + + "aGVjaykuIEFsd2F5cyBzdGF0ZSB0aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZs" + + "YWcuCgojIyMgNS4gT3IsIG51a2UgZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93biAtLWFsbCAtLWNvbmZpcm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVy" + + "ZWQgY29tcHV0ZSBwbGFuZSBpbiBJQ01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBl" + + "YWNoIGluIHBhcmFsbGVsIChib3VuZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQg" + + "NCksIHRoZW4gcnVucyBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1v" + + "ZGUgcHJvbXB0cyB0aGUgb3BlcmF0b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9j" + + "ZWVkaW5nOyBgLS1jb25maXJtYCBza2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUg" + + "dXNlLgoKIyMgR2l0T3BzIHBhdGggKGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBS" + + "ZW5kZXIgZGVsZXRlIFlBTUwgZm9yIHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9" + + "JE5BTUUgPiBkZWxldGUueWFtbAoKIyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRo" + + "ZWlyIEdpdE9wcyByZXBvLiBBcmdvL0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBz" + + "eW5jLgpnaXQgYWRkIGRlbGV0ZS55YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBw" + + "bGFuZSAkTkFNRSI7IGdpdCBwdXNoCgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMg" + + "cmVzb3VyY2VzLCBzZXBhcmF0ZWx5IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0" + + "ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5" + + "YCBkb2VzIE5PVCBpbmNsdWRlIHRoZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24n" + + "dCBtYW5hZ2UgdGhhdCkuIE9wZXJhdG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNm" + + "LWNsaSBjbHVzdGVyIGRlbGV0ZWAgc2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0" + + "cmF0ZSBib3RoLgoKIyMgRmFpbHVyZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMg" + + "bWlkLXdheSwgKipyZS1ydW4gdGhlIHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlz" + + "IGlkZW1wb3RlbnQ6IGBoZWxtIHVuaW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxy" + + "ZWFkeSBnb25lLCBhbmQgYGNsdXN0ZXIgZGVsZXRlIC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElD" + + "TVMgcm93cyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBz" + + "a2lwcGVkIChhbHJlYWR5IGNsZWFuKWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9m" + + "YWlsZWRgIGV2ZW50IHN1cmZhY2VzOgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBn" + + "cmFkZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9s" + + "bGJhY2sgPHJlbGVhc2U+IDAgLS1rdWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVk" + + "ZXMgdGhlIGV4YWN0IHJlbGVhc2UgbmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0" + + "by1yb2xsYmFjayB3aXRob3V0IHVzZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNv" + + "bXB1dGVfcGxhbmUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3Nh" + + "Z2UgYWJvdXQgQUNUSVZFIGRlcGxveW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3Rp" + + "dmU9ZmFsc2VgIGJ1dCBkZXBsb3ltZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0" + + "aXZlPXRydWVgIG9yIGAtLWRyYWluLWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhl" + + "IHVzZXIuCi0gT3RoZXIgY2F0ZWdvcmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNo" + + "IGByZW1lZGlhdGlvbmAgc3RyaW5nIHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRy" + + "eSB3aXRob3V0IHVzZXIgaW5wdXQuCgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lh" + + "bGx5IHdpdGggZGVzdHJ1Y3RpdmUgZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBgLS1jbHVzdGVy" + + "LW5hbWVgIChvciBgLS1hbGxgKS4KLSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAiYWxsIGZ1bmN0" + + "aW9uIGRlcGxveW1lbnRzIHNjaGVkdWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0b3A7IGNvbXB1" + + "dGUgcGxhbmUgd2lsbCBkZXJlZ2lzdGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJlbW92ZS1wZXJz" + + "aXN0ZW50YCBpcyBiZWluZyBjb25zaWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRyYSByb3dzICsg" + + "T3BlbkJhbyBzZWFsIGtleXMgd2lsbCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMgaXMgdW5yZWNv" + + "dmVyYWJsZS4KLSBXYWl0IGZvciBleHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBOZXZlciBw" + + "cm9wb3NlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91dCBleHBsYWlu" + + "aW5nIHRoYXQgY29tcHV0ZSBwbGFuZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZlciBwcm9wb3Nl" + + "IGAtLXJlbW92ZS1wZXJzaXN0ZW50YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxvc3MuCgojIyBN" + + "YW51YWwgZmFsbGJhY2sgKGlmIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0YWxsLGRvd259" + + "YCBpcyB1bmF2YWlsYWJsZSkKCklmIHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNpb24gb2xkZXIg" + + "dGhhbiBNKzExLCBmYWxsIGJhY2sgdG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBsYW5lIChvbiBp" + + "dHMga3ViZWN0bCBjb250ZXh0KToKaGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAtbiBudmNhLXN5" + + "c3RlbQpoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IKaGVsbSB1" + + "bmluc3RhbGwgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmlu" + + "c3RhbGwgc2hhcmVkc3RvcmFnZSAtbiBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUgSUNNUyByb3c6" + + "Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENvbnRyb2wgcGxh" + + "bmUgdGVhcmRvd24gKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjawptYWtlIGRlc3Ryb3kgICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJveSBhY3Jvc3Mg" + + "YWxsIHJlbGVhc2VzCgojIElmIHVzaW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRlYXJkb3duIGNv" + + "bXB1dGUgcGxhbmUgcmVsZWFzZXMgdG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sK" + + "bWFrZSBkZXN0cm95CmBgYAoKVGhpcyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZlciB0aGUgbmV3" + + "IHN1YmNvbW1hbmRzIHdoZW5ldmVyIHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hhdCBga3ViZWN0" + + "bCBkZWxldGUgcHZjYCBkb2VzCgpJZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkgbmV3IGluc3Rh" + + "bGwgc2VlaW5nIHRoZSBvbGQgZGF0YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZDcyAoQ2Fzc2Fu" + + "ZHJhLCBPcGVuQmFvKSBhcmUgTk9UIGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxsYCAoYW5kIHNv" + + "IGFyZSBOT1QgZGVsZXRlZCBieSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgZWl0aGVyLCBi" + + "eSBkZWZhdWx0KS4gVGhleSBwZXJzaXN0IGludGVudGlvbmFsbHkgc28gYSByZS1gdXBgIGNhbiBy" + + "ZXN1bWUgYWdhaW5zdCBleGlzdGluZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkgb24gdGhlIG5l" + + "eHQgYGRvd25gOgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFt" + + "ZT1uY3AtbG9jYWwgLS1yZW1vdmUtcGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRvd24sIG1hbnVh" + + "bGx5OgoKYGBgc2gKa3ViZWN0bCBkZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW0gLS1hbGwK" + + "a3ViZWN0bCBkZWxldGUgcHZjIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioqQ29uZmlybSB3" + + "aXRoIHVzZXIuKiogVGhpcyBpcyB0aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqHY1bkIQAA5CEA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21tYW5kIHJlZmVy" + + "ZW5jZQoKRnVsbCBzdWJjb21tYW5kIGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2ZsYWdzLm1kXShm" + + "bGFncy5tZCkgZm9yIGdsb2JhbCBmbGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMu" + + "bWQpIGZvciByZXR1cm4gY29kZXMuCgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUKCnwgQ29tbWFu" + + "ZCB8IFB1cnBvc2UgfCBPdXRwdXQgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18CnwgYHNlbGYt" + + "aG9zdGVkIGNoZWNrIC0tcHJlIFtmbGFnc11gIHwgUHJlLWZsaWdodCB2YWxpZGF0aW9uIChubyBh" + + "ZG1pbiBjcmVkcykgfCBzdHJlYW1pbmcgZXZlbnRzIHwgUGVyLXJvbGUgd2l0aCBgLS1jb250cm9s" + + "LXBsYW5lLWNvbnRleHRgIC8gYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0YDsgYC0tbG9jYWwtb25s" + + "eWAgc2tpcHMga3ViZWN0bCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJvbC1wbGFuZSBb" + + "LS13YWl0IERVUl1gIHwgRXZlcnkgQ1AgcmVsZWFzZSBoZWFsdGh5IHwgc3RyZWFtaW5nIGV2ZW50" + + "cyB8IFBvbGxzIHVudGlsIHBhc3Mgb3IgYC0td2FpdGAgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVk" + + "IGNoZWNrIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFstLXdhaXQgRFVSXWAgfCBQ" + + "ZXItY2x1c3RlciB3b3JrZXIgc3RhdGUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgTlZDQSArIG9wZXJh" + + "dG9yICsgSldLUy1maW5nZXJwcmludCBtYXRjaCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tYWxs" + + "IFstLXdhaXQgRFVSXWAgfCBGYW4tb3V0IG92ZXIgYWxsIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWlu" + + "ZyBldmVudHMgfCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8IFJl" + + "bmRlciBjb250cm9sLXBsYW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgUGlwZSB0byBg" + + "a3ViZWN0bCBhcHBseSAtZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBs" + + "YW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRl" + + "IG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRpb24gcGVyIEdQVSBjbHVz" + + "dGVyIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJz" + + "dCBpbnN0YWxsIChib3RoIHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwgcHJvZ3Jlc3Mgb24gc3Rk" + + "ZXJyIHwgQWx3YXlzIGluc3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29tcHV0ZS1vbmx5IHVzZSBg" + + "YWRkLWNvbXB1dGUtcGxhbmVgIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1jbHVz" + + "dGVyLW5hbWU9WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBvbiBzdGRlcnIgfCBBZ2VudC1m" + + "cmllbmRseSwgbm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUt" + + "cGxhbmUgLS1jbHVzdGVyLW5hbWU9WCAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZIC0taWNtcy11" + + "cmw9VVJMIC0tdG9rZW49JEpXVGAgfCBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5n" + + "IGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBGb3IgMm5kLCAzcmQsIOKApiBH" + + "UFUgY2x1c3RlciBhZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90IHRvdWNoZWQuIHwKfCBg" + + "c2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNo" + + "b3QgY2x1c3RlciBoZWFsdGggfCBUVFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUg" + + "cmUtcmVuZGVyIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNs" + + "dXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBv" + + "biBvbmUgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9n" + + "cmVzcyB8IEp1c3QgdGhlIGhlbG0gcmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBg" + + "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lz" + + "dGVyZWQtY2x1c3RlcnNdYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95" + + "YCBvbiB0aGUgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBs" + + "YW5lcyBzdGlsbCByZWdpc3RlcmVkIHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1" + + "c3RlcnNgIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBS" + + "ZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZ" + + "QU1MIG9uIHN0ZG91dCB8IEdpdE9wczsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3Ig" + + "Y29tbWl0ICsgQXJnbyBhcHBsaWVzLiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBg" + + "c2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVt" + + "b3ZlLXBlcnNpc3RlbnRdYCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNv" + + "bXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1l" + + "dHJpYyBjb21wYW5pb24gdG8gYHVwIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQg" + + "ZG93biAtLWFsbCBbLS1jb25maXJtXWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSBy" + + "ZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3Vu" + + "ZGVkIHBhcmFsbGVsaXNtIHZpYSBgLS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1j" + + "b25maXJtYCByZXF1aXJlZCBpbiBub24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3du" + + "IC0tcGxhbi1vbmx5IC4uLmAgfCBPcmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSBy" + + "ZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBK" + + "U09OTCB8ICoqQWx3YXlzIHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVz" + + "dGVyIG1hbmFnZW1lbnQKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0t" + + "LXwKfCBgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBb" + + "LS1pZ25vcmUtZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVz" + + "ZWQgYnkgYHVwYCBQaGFzZSA1IGludGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdp" + + "c3RyYXRpb24gfAp8IGBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMt" + + "dXJsPVVSTF1gIHwgTGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJ" + + "Q01TIHwgVXNlcyB0aGUgYWRtaW4gdG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxl" + + "IG91dHB1dCB8CnwgYGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBK" + + "V0tTIGZyb20gSzhzIGFuZCBQVVQgdG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25p" + + "bmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJl" + + "bW92ZSBJQ01TIHJvdyB8ICoqREVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMg" + + "RnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0" + + "YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1" + + "c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZv" + + "ciBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVk" + + "ZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBm" + + "dW5jdGlvbnMgLyBJRHMgb25seSB8IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQg" + + "LS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBk" + + "YXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8" + + "IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1p" + + "ZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBM" + + "TE0gbW9kZWwgcm91dGluZyBjb25maWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRp" + + "bmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhv" + + "ZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxv" + + "eSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxv" + + "Y2tzIHVudGlsIEFDVElWRSAoZGVmYXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQg" + + "LS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQg" + + "c3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxF" + + "RGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlm" + + "eSBhIGRlcGxveW1lbnQgaW4gcGxhY2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1m" + + "dW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVw" + + "IGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxF" + + "YCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWlu" + + "IHRva2VuKTsgTExNIGZ1bmN0aW9ucyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlv" + + "bi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwK" + + "fCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBS" + + "ZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRo" + + "IHVzZXIqKiB8CgojIyBUYXNrcwoKVGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlg" + + "IHNldCB0byBhIHRhc2stc2NvcGVkIGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRv" + + "IHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZj" + + "dEFwaUtleWAgZnJvbSBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0Zf" + + "QVBJX0tFWWAgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBp" + + "cmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9y" + + "IHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9y" + + "IHRhc2tgIGFmdGVyIGBpbml0YCB0byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBv" + + "c2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9" + + "R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5l" + + "ciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBm" + + "b3IgcmVwZWF0YWJsZSBjb25maWdzIHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BV" + + "IC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxt" + + "IHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0" + + "ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBm" + + "aWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNr" + + "IGxpc3QgWy0tc3RhdHVzPVNUQVRVU10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9u" + + "YWxseSBmaWx0ZXJlZCBieSBzdGF0dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAs" + + "IGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVE" + + "X01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwK" + + "fCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFz" + + "ayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1s" + + "aW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayBy" + + "ZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQg" + + "dGFzayB8IFJldHVybnMgZW1wdHkgbGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBp" + + "cyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNl" + + "bCBbdGFza0lkXWAgfCBDYW5jZWwgYSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGlu" + + "IHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFz" + + "ayByZWNvcmQgfCAqKlN0b3AsIHN0YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdh" + + "aXQgZm9yIGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxl" + + "dGlvbiBvZiB0aGF0IHNwZWNpZmljIHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVs" + + "ZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBb" + + "dGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7" + + "IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcg" + + "c2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5j" + + "cnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8" + + "IEZldGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMg" + + "QXV0aAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0" + + "YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5" + + "IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBm" + + "dW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBz" + + "dGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24g" + + "Y29udGV4dCkgfCBEaXN0aW5jdCBmcm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtl" + + "eSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0t" + + "ZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTog" + + "Z2VuZXJhdGVzIGJvdGggYSBmdW5jdGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5j" + + "dGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1" + + "aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5k" + + "IGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNo" + + "IGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlz" + + "LCBOVkNUIGZvciB0YXNrIGtleXMpIHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMg" + + "Zm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkt" + + "a2V5IGRlbGV0ZSBLRVktSURgIC8gYGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4g" + + "QVBJIGtleSB8ICoqQ29uZmlybSB3aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93" + + "IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoK" + + "fCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2ls" + + "bCBpbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVz" + + "ZXIgc2tpbGxzIGludG8gYH4vLmNsYXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMv" + + "YCB8IERlZmF1bHQ6IGJvdGggYmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2ls" + + "bCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMg" + + "dXNlciBza2lsbHMgZnJvbSB0aGUgdGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRl" + + "bXBvdGVudDsgdW5yZWxhdGVkIHNraWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFst" + + "LWZpbGU9UkVMXWAgfCBQcmludCBidW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + + "bWRgIG9yIGFub3RoZXIgZW1iZWRkZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1z" + + "a2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIg" + + "c2tpbGwgc3VtbWFyeSB8IHwKUEsHCHIND2QhIwAAISMAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1k" + + "VVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFu" + + "ZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwg" + + "Q29kZSB8IE1lYW5pbmcgfCBFeGFtcGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBT" + + "dWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50" + + "IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0" + + "d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAy" + + "YCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBz" + + "ZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIOyBk" + + "ZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQ7IGEgY2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3Vs" + + "ZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVv" + + "dXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50YWdnZWQgaW1hZ2UpLiBXYXJuaW5nLXNldmVyaXR5" + + "IHJlc3VsdHMgZXhpdCBgMGAgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4g" + + "KyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9p" + + "bnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVk" + + "IG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRpZCBub3QgcGFz" + + "cyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGluZyBhIHJvbGxvdXQgc3RpbGwgaW4gcHJvZ3Jlc3M7" + + "IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0b3BwZWQgYSBjaGVjayBiZWZvcmUgaXQgZmluaXNo" + + "ZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9yIGN1dCBzaG9ydCkuIEEgY2hlY2sgdGhhdCBhbHJl" + + "YWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJl" + + "IGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3Ig" + + "U0lHSFVQIHwgVXNlciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQ7IHRl" + + "cm1pbmFsIG9yIFNTSCBzZXNzaW9uIGNsb3NlZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJl" + + "YWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVl" + + "IC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sg" + + "YmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8g" + + "cmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWly" + + "IGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJl" + + "cXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAt" + + "LXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBg" + + "NWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBz" + + "dGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRv" + + "bWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1y" + + "dW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMg" + + "aXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBg" + + "ZmFpbGVkQ291bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBs" + + "ZXMvY2ktcGlwZWxpbmVzLm1kYC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2VgIGFu" + + "ZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVudCBmb3IgYSB3" + + "YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYC4g" + + "QSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0aCBgY2FuY2VsbGVk" + + "OiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFzZV9jYW5j" + + "ZWxsZWRgIGJlZm9yZSBpdC4gV2hlbiBhIGNsdXN0ZXItdmFsaWRhdG9yIHJ1biBsZWZ0IG9iamVj" + + "dHMgaW4gdGhlIGNsdXN0ZXIgKGAtLW5vLWNsZWFudXBgLCBhIHBvZCB0aGF0IHdvdWxkIG5vdCBz" + + "dG9wLCBvciBhIGNsZWFudXAgdGhhdCBmYWlsZWQpLCBgY2hlY2tgIGxpc3RzIHRoZSBjb21tYW5k" + + "cyB0aGF0IHJlbW92ZSB0aGVtIGluIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGFycmF5" + + "IGFuZCBpbiB0aGF0IHJvdydzIGBjbGVhbnVwYCBmaWVsZCwgb24gZXZlcnkgZXhpdCBjb2RlLCBh" + + "bmQgcHJpbnRzIHRoZW0gYWdhaW4gYXMgaXRzIGxhc3Qgc3RkZXJyIGxpbmVzLiBPbiBhbiBpbnRl" + + "cnJ1cHQgaXQgcHJpbnRzIHRoZW0gYXQgb25jZSwgYmVmb3JlIGl0cyBvd24gY2xlYW51cCwgd2hp" + + "Y2ggYSBzZWNvbmQgQ3RybC1DIGN1dHMgc2hvcnQuIEV2ZXJ5IG90aGVyIG5vbi16ZXJvIGV4aXQg" + + "ZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQgd2l0aCBgZXJyQ2F0" + + "ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwgYHJldHJ5Q2xhc3Ng" + + "IChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlhdGlvbnx1bmtub3du" + + "YCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3YCAoc3VicHJvY2Vz" + + "cyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1lIHRoZXNlIGluIGAt" + + "LWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20gc3RkZXJyLgpQSwcI" + + "5C3JXvkLAAD5CwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGZsYWcg" + + "cmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQpCgp8IEZsYWcgfCBQ" + + "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcgRklMRWAgfCBDb25m" + + "aWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0tZGVidWdgIHwgVmVy" + + "Ym9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0tanNvbmAgfCBKU09O" + + "TCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5kZXIgYC0tbm9uLWlu" + + "dGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNpc3RlbnQgYWNyb3Nz" + + "IHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz0uLi5gIHwgQ29udHJvbC1wbGFuZSBidW5kbGUgc291" + + "cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kg" + + "VVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFuZS1zdGFjaz0uLi5g" + + "IHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBg" + + "b2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8Cnwg" + + "YC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1lIHwgYGxv" + + "Y2FsYCBmb3IgZGV2IGJ1aWxkcywgYHByZGAgZm9yIHJlbGVhc2VzIHwKfCBgLS1ub24taW50ZXJh" + + "Y3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAgfAp8IGAtLXRva2Vu" + + "PSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24gfCAtIHwKfCBgLS1u" + + "by1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90IGt1YmVjdGwgYXBw" + + "bHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdhY3kgYWxpYXMgZm9y" + + "IGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3IpIHwgYHRleHRgIHwK" + + "fCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwgYXV0by1kZXRlY3Qg" + + "fAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBwb2xsIHVudGlsIHRoZSBjaGVj" + + "ayBwYXNzZXMgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1" + + "Y2Nlc3M6IGZhbHNlYCkuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNo" + + "IGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hl" + + "Y2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBDYW5ub3QgYmUg" + + "Y29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYCB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwg" + + "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVj" + + "dGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8" + + "CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250" + + "ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1v" + + "bmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBh" + + "bGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIENM" + + "SSBwcmludHMgYSBub3RlIHNheWluZyBzby4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NB" + + "TF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9m" + + "IGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxs" + + "YCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9s" + + "ZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + + "LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNs" + + "dXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90" + + "IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFs" + + "c28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQg" + + "cm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkIHwgYGZhbHNl" + + "YCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAg" + + "fAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwK" + + "fCBgLS1hbGxgIHwgRXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdo" + + "ZW4gY29tYmluZWQgd2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5B" + + "TUVgIHwgQ2x1c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNr" + + "aXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9i" + + "ZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4g" + + "YGRlZmF1bHRgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFs" + + "c2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFz" + + "IGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNl" + + "cnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQg" + + "YW5kIHJlbW92ZXMgdGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0" + + "IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgoKV2hlbiBgY2hlY2tgIHJlYWRzIHRo" + + "ZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUsIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAKZnJv" + + "bSBgLS1jb250cm9sLXBsYW5lLXN0YWNrYCBvciBhIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZSB3" + + "b3JraW5nIGRpcmVjdG9yeSwKaXQgdGVsbHMgdGhlIHZhbGlkYXRvciB3aGljaCBHYXRld2F5cyB0" + + "aGUgc3RhY2sgd2lyZXMgTlZDRiByb3V0ZXMgdG8uIFdpdGhvdXQKdGhhdCBmaWxlIGl0IGRvZXMg" + + "bm90LCBhbmQgdGhlIHZhbGlkYXRvciBmaW5kcyB0aGVtIGZyb20gdGhlIHJvdXRlcy4KCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRh" + + "dG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcs" + + "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJf" + + "dmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qg" + + "c3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNjb3ZlcmVk" + + "LCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgaXRzIHJvdyBmYWlscyB0aGUgY2hlY2ss" + + "IHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdhaXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5IHBvbGwu" + + "IFVuc2V0IGV2ZXJ5d2hlcmUgc2tpcHMgdGhlIHByb2JlIHdpdGggYSB3YXJuaW5nIHwgLSB8Cnwg" + + "YC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0OnBvcnQsLi4uYCB8IEV4dHJhIHJl" + + "Z2lzdHJpZXMgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yIHByb2JlcyBmb3IgcmVhY2hhYmls" + + "aXR5LiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBm" + + "cm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwu" + + "aW1hZ2UucmVnaXN0cnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUg" + + "c29sdmVyIHVubGVzcyB0aGUgc3RhY2sgc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFn" + + "ZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQgb25seSB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0" + + "aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIHZhbGlkYXRvciBkaWFscyBmcm9tIGEgcG9k" + + "IHdpdGggbm8gcHJveHksIHNvIGFuIHVucmVhY2hhYmxlIHJlZ2lzdHJ5IGlzIGEgd2FybmluZzsg" + + "dGhlIGxvY2FsIGNyZWRlbnRpYWwgY2hlY2sgaXMgd2hhdCBmYWlscyBhIHJlZ2lzdHJ5IHRoZSBp" + + "bnN0YWxsIGNhbm5vdCBwdWxsIGZyb20uIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBF" + + "bnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBg" + + "Y2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + + "ci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRv" + + "cidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gt" + + "c3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBO" + + "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0" + + "ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1" + + "YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVj" + + "dF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUg" + + "dGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdo" + + "b3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVm" + + "ZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhl" + + "IGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9D" + + "TFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRh" + + "dG9yX3RvbGVyYXRpb25zYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0" + + "IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxs" + + "IHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgbG9va3MgZm9yIG9uZSBp" + + "biB0aGUgTlZDRiBuYW1lc3BhY2VzIGFuZCBjb3BpZXMgaXQgaW50byBgZGVmYXVsdGAgZm9yIHRo" + + "ZSBydW4uIEZhaWxpbmcgdGhhdCwgYW5kIG9ubHkgZm9yIGFuIGltYWdlIG9uIGBudmNyLmlvYCwg" + + "aXQgbWludHMgb25lIGZyb20gYE5HQ19BUElfS0VZYC4gVGhlIGtleSBpcyBuZXZlciBzZW50IHRv" + + "IGFub3RoZXIgcmVnaXN0cnksIG90aGVyIE5WSURJQSByZWdpc3RyaWVzIGluY2x1ZGVkOyB0aG9z" + + "ZSB1c2UgeW91ciBkb2NrZXIgbG9naW4gfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVy" + + "LXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJl" + + "bHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0" + + "aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUg" + + "d2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVudjogYE5WQ0ZfQ0xJX1NF" + + "TEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xl" + + "YW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3Jl" + + "dCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5v" + + "dCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRo" + + "ZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3Jp" + + "YmUgam9iYC4gQSBsYXRlciBjaGVjayByZWNsYWltcyB0aGVtIGFmdGVyIDI0IGhvdXJzLiBUaGUg" + + "cm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRl" + + "cnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNl" + + "YCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBz" + + "dGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04s" + + "IGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdo" + + "ZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNw" + + "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1j" + + "bHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVk" + + "KSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRg" + + "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + + "IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQg" + + "Y2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExp" + + "bWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8" + + "IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2" + + "YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVg" + + "IHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lw" + + "IGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmlj" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5B" + + "TUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + + "IElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13" + + "ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmln" + + "IHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFp" + + "bC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0" + + "aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0" + + "IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRh" + + "YmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4" + + "cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBh" + + "cnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFND" + + "T1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2" + + "aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQg" + + "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0" + + "aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRg" + + "IChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + + "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBk" + + "ZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + + "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwK" + + "fCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + + "dXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJl" + + "bmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5j" + + "dGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVG" + + "QVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + + "ZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0" + + "LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5B" + + "TUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVp" + + "cmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + + "UlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2Rl" + + "bD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1p" + + "dD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5g" + + "IHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBV" + + "c2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNw" + + "ZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + + "dC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJp" + + "b3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0t" + + "cGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9y" + + "aXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0Eg" + + "SUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09O" + + "IGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4g" + + "YGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0g" + + "cGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBg" + + "L3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGlu" + + "Z3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBv" + + "d2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpg" + + "bGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFy" + + "YXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZv" + + "cm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBg" + + "SGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5p" + + "dHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAw" + + "MDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2th" + + "Z2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBi" + + "YWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0" + + "YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRo" + + "ZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJu" + + "ZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExN" + + "IGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + + "bWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + + "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBS" + + "ZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBm" + + "b3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBm" + + "dW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3Mg" + + "fCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9y" + + "bWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + + "bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAu" + + "IFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmlu" + + "ZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZ" + + "YCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0" + + "aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwg" + + "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + + "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + + "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + + "IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11g" + + "IGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBh" + + "bmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUg" + + "bW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1" + + "bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + + "Y29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQg" + + "SURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBm" + + "YW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQ" + + "VS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8" + + "CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJl" + + "cXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBk" + + "ZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3Bl" + + "Y2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBj" + + "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + + "ZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUg" + + "KHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAg" + + "fAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + + "ZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFu" + + "Y2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQ" + + "LkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0" + + "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hB" + + "UlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2" + + "ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVj" + + "IGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQg" + + "fAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3Rl" + + "cnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8" + + "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3Nl" + + "ZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0t" + + "ZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFs" + + "dWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVw" + + "ZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElP" + + "TmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5v" + + "IGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJ" + + "T05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwg" + + "U2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05g" + + "IHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVm" + + "YXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRv" + + "IGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9u" + + "IExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFt" + + "LW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExP" + + "QURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7" + + "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNv" + + "dXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRh" + + "c2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNr" + + "IGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRl" + + "bGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURg" + + "IHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1l" + + "dHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcINL+x" + + "90Q5AABEOQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNo" + + "b290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRp" + + "b24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50" + + "cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFw" + + "IHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1m" + + "bGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVk" + + "ZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8v" + + "ZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBB" + + "VEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxs" + + "YXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9j" + + "cy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBl" + + "bnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2Nr" + + "ZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBh" + + "dmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1" + + "YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + + "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + + "fCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBH" + + "UFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + + "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQ" + + "VSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlk" + + "aWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNv" + + "bS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRv" + + "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJl" + + "cXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRv" + + "a2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9r" + + "ZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + + "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + + "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + + "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMg" + + "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4g" + + "dG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFw" + + "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8Cgoj" + + "IyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + + "LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3Nh" + + "bmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0" + + "b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVt" + + "YCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRl" + + "cGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1Ug" + + "fCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgi" + + "YCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3Rh" + + "bGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05g" + + "IGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkg" + + "dmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVy" + + "cm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBj" + + "b21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFk" + + "ZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJh" + + "dG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + + "b3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBr" + + "M2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rl" + + "cj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + + "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0" + + "aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUg" + + "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7" + + "IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyBy" + + "ZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0" + + "ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZv" + + "ciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0" + + "Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNs" + + "aSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1h" + + "Z2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBl" + + "ciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNm" + + "LWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlv" + + "biBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQg" + + "bGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBo" + + "ZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + + "L25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1" + + "cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9y" + + "IGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBg" + + "cmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNy" + + "ZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3Rl" + + "ZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBj" + + "cmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFi" + + "b3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSBy" + + "ZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwg" + + "LW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1t" + + "ZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0K" + + "bmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIElu" + + "c3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBh" + + "cmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBD" + + "TEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlk" + + "ZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUt" + + "cGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2Vu" + + "ZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwg" + + "b3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVu" + + "dmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVh" + + "ZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+" + + "PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwg" + + "bWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29y" + + "ZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2Ys" + + "IHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21w" + + "dXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNl" + + "Y3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgog" + + "IGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdA" + + "ZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2Vs" + + "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + + "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + + "c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVs" + + "bSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNl" + + "bGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hp" + + "bmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMu" + + "CgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBv" + + "ciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + + "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVz" + + "IGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJM" + + "TE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + + "c3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMK" + + "CkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZv" + + "ciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMg" + + "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9l" + + "bnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFu" + + "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxt" + + "ZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBt" + + "aXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBi" + + "YXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQt" + + "dmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29u" + + "dHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxl" + + "IHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcg" + + "YW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVy" + + "c2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhl" + + "bG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAg" + + "ICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMg" + + "Q2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29u" + + "dHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5n" + + "b3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxu" + + "YW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVz" + + "ZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + + "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBW" + + "YWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBt" + + "b3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMv" + + "YmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQg" + + "YnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVj" + + "dHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2Vj" + + "cmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJl" + + "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpD" + + "cml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + + "YyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBz" + + "dG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "IGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9j" + + "ay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNo" + + "YXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNw" + + "YWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkp" + + "CgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + + "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVs" + + "bCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2Ug" + + "dG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1z" + + "ZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5" + + "CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVp" + + "cmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + + "Y2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRl" + + "ZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJl" + + "ZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9u" + + "PiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3Rk" + + "aW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTog" + + "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3Qg" + + "KG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVy" + + "YWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZl" + + "IHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBz" + + "aWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9y" + + "ZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEg" + + "NDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlv" + + "dSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUt" + + "cnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFj" + + "aCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxr" + + "ZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0" + + "aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0" + + "cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQp" + + "IFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21h" + + "dGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRo" + + "YXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1" + + "bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3Jr" + + "bG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2lu" + + "dCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgox" + + "LiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTog" + + "PHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAg" + + "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3Vy" + + "Y2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJy" + + "b3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5Pgog" + + "ICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1h" + + "bmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0" + + "IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAo" + + "YG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVs" + + "bQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVs" + + "bSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRo" + + "b3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNv" + + "dXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0" + + "aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hh" + + "cnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgog" + + "ICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3It" + + "c3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5o" + + "ZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0" + + "aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5" + + "ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVs" + + "bCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUg" + + "cGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0" + + "aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVs" + + "bFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkg" + + "bG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFs" + + "OiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAg" + + "PiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwg" + + "c28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkg" + + "aG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2Ug" + + "aXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBn" + + "bG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFz" + + "IGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRz" + + "IGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFz" + + "aApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1u" + + "IDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52" + + "YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBi" + + "ZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0" + + "aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4g" + + "VGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBv" + + "cmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1" + + "Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9B" + + "RERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwg" + + "dXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBg" + + "R0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGds" + + "b2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVz" + + "dGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgoj" + + "IyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQg" + + "Qk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRz" + + "IGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBj" + + "YXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2" + + "aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0" + + "IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtl" + + "ZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29w" + + "cyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBT" + + "ZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFz" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMK" + + "CkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwg" + + "U2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0t" + + "LS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + + "IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3Jv" + + "dXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90" + + "YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5p" + + "dHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + + "ZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5" + + "IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8" + + "IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGlu" + + "IGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBg" + + "CgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5" + + "IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1m" + + "YWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJk" + + "IE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4g" + + "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYg" + + "dGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdh" + + "dGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + + "c2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0" + + "aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQg" + + "aW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFu" + + "aXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoK" + + "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + + "bmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmlj" + + "IGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBp" + + "bmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZh" + + "bml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRl" + + "ZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoK" + + "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5" + + "YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5p" + + "dHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5" + + "IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + + "by9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkg" + + "dmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3Rh" + + "bmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMg" + + "dHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJv" + + "dXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5" + + "CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + + "ZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + + "eQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5l" + + "dC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBs" + + "eSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2Vz" + + "L252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + + "cGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29t" + + "cHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3Rs" + + "eSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0" + + "aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3Rh" + + "bGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1" + + "c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + + "LAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + + "ZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwg" + + "YW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29t" + + "cHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBm" + + "b3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpT" + + "Y29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5l" + + "IGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8t" + + "c2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRp" + + "b24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBv" + + "cHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlg" + + "LCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52" + + "ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFj" + + "ZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2Ug" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0" + + "aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVs" + + "ZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5l" + + "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + + "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFt" + + "ZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcg" + + "bmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoK" + + "IyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "bnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMi" + + "IC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + + "ZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhl" + + "bG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9u" + + "bHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBg" + + "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5p" + + "bWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0" + + "IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFs" + + "dWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + + "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + + "b3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRp" + + "b246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6" + + "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0g" + + "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + + "ZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + + "bWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAg" + + "ICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6" + + "IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDog" + + "KmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkg" + + "YSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5" + + "CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3Jl" + + "ZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQg" + + "cnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlm" + + "IHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwg" + + "QVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQg" + + "fAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGlt" + + "YWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVu" + + "Y3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmpl" + + "Y3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0" + + "cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNB" + + "UlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8g" + + "YHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQg" + + "YHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJl" + + "Y3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwg" + + "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290" + + "c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZp" + + "Z2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBM" + + "QUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2" + + "NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29u" + + "c3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+" + + "IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhl" + + "IGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgi" + + "JG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZ" + + "IiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4p" + + "YC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVg" + + "IHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3" + + "b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lk" + + "ZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJl" + + "Z2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBh" + + "IGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBl" + + "bmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBz" + + "dGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChw" + + "cmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBi" + + "YW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + + "IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwg" + + "cmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + + "dAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAg" + + "IyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGkt" + + "b3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5j" + + "dGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZm" + + "ZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRo" + + "ZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2Fy" + + "IHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBN" + + "aXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIg" + + "YXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVk" + + "ZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkK" + + "ClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5" + + "IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFj" + + "ZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBj" + + "b25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAoj" + + "IDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + + "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + + "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVh" + + "dGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + + "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + - "eSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + - "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + - "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwg" + - "c2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRv" + - "IHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2Vj" + - "cmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoK" + - "Qm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJl" + - "ZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + - "YXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQg" + - "c2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQK" + - "ZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElf" + - "S0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4g" + - "fCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGlu" + - "IDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0ICht" + - "dWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFs" + - "IE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1" + - "bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dp" + - "biBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2ls" + - "ZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcg" + - "dGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQw" + - "MTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3Ug" + - "cHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1" + - "biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2gg" + - "cHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5" + - "PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhl" + - "IHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5" + - "IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQ" + - "dWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + - "Y2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0" + - "IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxs" + - "IHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xv" + - "YWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQg" + - "dGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4g" + - "UG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5" + - "b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAg" + - "ICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNl" + - "czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9y" + - "ZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAg" + - "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5p" + - "ZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBu" + - "b24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBu" + - "dmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0K" + - "ICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0g" + - "cmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9z" + - "ZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3Vy" + - "Y2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhl" + - "IHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0" + - "IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAg" + - "PiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1" + - "Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVs" + - "bS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhl" + - "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAo" + - "dGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwg" + - "bmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBl" + - "ci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhl" + - "IG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxT" + - "ZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDog" + - "bnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4g" + - "YGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNv" + - "IHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhv" + - "bGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlz" + - "IG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xv" + - "YmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBg" + - "YXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBs" + - "b2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gK" + - "R0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8" + - "Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + - "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUg" + - "YSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlv" + - "biBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRo" + - "ZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3Jh" + - "cnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNo" + - "IGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQURE" + - "UkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVz" + - "ZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdB" + - "VEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9i" + - "YWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3Rp" + - "bmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMj" + - "IDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJP" + - "VEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBm" + - "aWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fz" + - "c2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vydmlj" + - "ZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBv" + - "bmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVw" + - "cyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMg" + - "d2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0" + - "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpI" + - "ZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNl" + - "bGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBO" + - "QVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFy" + - "eSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5" + - "IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRk" + - "b24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSBy" + - "b3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBP" + - "YnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBh" + - "IHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoK" + - "IyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBp" + - "cyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFj" + - "aW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBO" + - "VkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0" + - "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRo" + - "ZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRl" + - "d2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNl" + - "IGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhl" + - "bS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGlu" + - "CmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0" + - "eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRo" + - "ZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5k" + - "IGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBo" + - "b3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5n" + - "Q29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5p" + - "dHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQg" + - "YnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFm" + - "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAg" + - "cmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + - "LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0" + - "aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + - "bmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZh" + - "bml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5k" + - "YXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRy" + - "YWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0" + - "ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRp" + - "b25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + - "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + - "dGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBu" + - "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkK" + - "dW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQu" + - "CgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHks" + - "IGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + - "YW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1" + - "dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkg" + - "b25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhv" + - "ciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxs" + - "IHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNl" + - "IHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwK" + - "ICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRz" + - "LgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkK" + - "Zm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFu" + - "ZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1" + - "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9y" + - "CnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2Nv" + - "cGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBo" + - "ZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNl" + - "cnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9u" + - "LXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0" + - "aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwg" + - "YW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVu" + - "dG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2Ug" + - "Y2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhl" + - "IHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVh" + - "c2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBk" + - "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + - "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "dHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + - "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMj" + - "IyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5z" + - "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52" + - "Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAt" + - "LWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + - "c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxt" + - "IENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5" + - "IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNh" + - "c3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1h" + - "Z2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0" + - "aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVl" + - "czpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + - "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + - "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + - "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + - "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + - "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + - "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + - "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + - "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + - "MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRo" + - "ZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFt" + - "bC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEg" + - "c2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpg" + - "YGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRl" + - "bnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1" + - "bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0" + - "aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQ" + - "SSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwK" + - "fC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFn" + - "ZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0" + - "aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0" + - "ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5" + - "YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVu" + - "dj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJT" + - "X0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBz" + - "ZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBz" + - "ZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0" + - "bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0" + - "cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdq" + - "c29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFD" + - "RV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQg" + - "b2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1" + - "bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2" + - "YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBk" + - "b2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRv" + - "YXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + - "fCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAu" + - "Cj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCBy" + - "ZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29y" + - "ZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVj" + - "YXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdh" + - "cmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBi" + - "YWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5j" + - "b2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3Rh" + - "Y2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJp" + - "bnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFv" + - "IGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBz" + - "ZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJl" + - "cGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQK" + - "PiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMg" + - "cGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9y" + - "Zyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rp" + - "b24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVy" + - "ZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUg" + - "YWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBz" + - "ZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWly" + - "cm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1" + - "dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVu" + - "dGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpV" + - "c2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBp" + - "bmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2Vz" + - "LiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29u" + - "ZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAx" + - "LiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5n" + - "aXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBr" + - "eXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRl" + - "IHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + - "a2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUg" + - "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2Nr" + - "ZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4g" + - "QXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8t" + - "aW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5" + - "IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6" + - "IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3Jl" + - "dHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVk" + - "ZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3" + - "aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVs" + - "bCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBz" + - "dGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVu" + - "dHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBg" + - "YAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8" + - "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVu" + - "YXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0" + - "IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1" + - "Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENo" + - "ZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsg" + - "YHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8g" + - "a25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBP" + - "cGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBv" + - "ZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAv" + - "IGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + - "RGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdy" + - "YXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQu" + - "IHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21h" + - "bGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8Cnwg" + - "REItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGlu" + - "ZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJB" + - "X1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0" + - "cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4g" + - "dGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + - "aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRp" + - "bmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBg" + - "a3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0g" + - "cmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkg" + - "fCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBB" + - "Y2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNl" + - "Y3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9v" + - "dHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQg" + - "VW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBo" + - "b29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyBy" + - "ZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28g" + - "dGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1" + - "biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3Zlcmlm" + - "eS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZh" + - "dWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNv" + - "ZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUg" + - "cmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3Rv" + - "cnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2Ag" + - "YW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZh" + - "bHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcg" + - "bWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRl" + - "cml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0" + - "IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmln" + - "IHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNj" + - "b3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCBy" + - "ZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJl" + - "Y2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nl" + - "c3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFp" + - "cmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0" + - "aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJz" + - "ZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25v" + - "d24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5n" + - "IHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNv" + - "bnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2Ig" + - "aXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVh" + - "c2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlm" + - "IGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhv" + - "b2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + - "LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQK" + - "YGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5t" + - "ZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + - "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQg" + - "W3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9w" + - "dWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQp" + - "CgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxs" + - "IHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQg" + - "aW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpz" + - "b25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAog" + - "ICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15" + - "IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qg" + - "b3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUg" + - "YWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3Qg" + - "MS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBr" + - "dWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJv" + - "Y2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVy" + - "aWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1v" + - "ZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0" + - "IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5k" + - "IHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBj" + - "b21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZp" + - "bGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWlj" + - "aywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhl" + - "IGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8g" + - "c2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJl" + - "dmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQg" + - "ZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBi" + - "bGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0" + - "ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3" + - "IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5" + - "IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFu" + - "dCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + - "NS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNl" + - "cyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3" + - "ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMu" + - "IEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwg" + - "dGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1" + - "Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAo" + - "bnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVz" + - "dGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRo" + - "ZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAg" + - "IlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRv" + - "IHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwg" + - "cmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1l" + - "c3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1l" + - "c3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90" + - "aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGly" + - "ZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxp" + - "emVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxv" + - "dyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEg" + - "c2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhl" + - "IGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVu" + - "ZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250" + - "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJl" + - "LUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMs" + - "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2Vm" + - "aWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRl" + - "IGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdp" + - "dGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdp" + - "c3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + - "eHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVk" + - "IHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBj" + - "b21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmws" + - "IGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3Vy" + - "bCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZv" + - "ciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RF" + - "Ul9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdf" + - "RklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhF" + - "TE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhl" + - "IGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25m" + - "aWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21z" + - "LWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBh" + - "bmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQg" + - "bm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0" + - "ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dp" + - "biBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVz" + - "ZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28g" + - "ZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + - "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3Ry" + - "eSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tF" + - "WSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVx" + - "dWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + - "IGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRo" + - "ZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "RzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZv" + - "ciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + - "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVu" + - "IGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRv" + - "IGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0" + - "IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBi" + - "dW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + - "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBz" + - "dHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlh" + - "bWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhl" + - "IGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAg" + - "IlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4g" + - "aW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtT" + - "IGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRp" + - "b24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGlj" + - "YXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0" + - "aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1l" + - "bnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxh" + - "bmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNp" + - "b25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0" + - "cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1h" + - "bmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBw" + - "cmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVf" + - "RU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2Vydmlj" + - "ZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwK" + - "ICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVn" + - "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVz" + - "aW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBI" + - "ZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJv" + - "ZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwg" + - "bXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRl" + - "IGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAg" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAz" + + "LiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJu" + + "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZl" + + "cnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFt" + + "ZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2Vj" + + "cmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5l" + + "ZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNS" + + "IHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBw" + + "dWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + + "bWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNr" + + "IHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2" + + "ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMK" + + "YGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4" + + "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEg" + + "VW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNy" + + "ZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBz" + + "dHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwg" + + "Q2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAg" + + "KyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBu" + + "byBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8" + + "IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFk" + + "IG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8u" + + "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtT" + + "IC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1p" + + "Z3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAj" + + "NC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBz" + + "bWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwK" + + "fCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0" + + "aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5E" + + "UkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1" + + "bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBp" + + "biB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + + "IHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVu" + + "ZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8" + + "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVs" + + "bSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdh" + + "eSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8" + + "IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4g" + + "c2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + + "b290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQw" + + "NCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxs" + + "IGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2Fz" + + "IHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBz" + + "byB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUt" + + "cnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVy" + + "aWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQg" + + "dmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJk" + + "Y29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGlt" + + "ZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVj" + + "dG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25z" + + "YCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2Ug" + + "dmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRh" + + "ZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAg" + + "ZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBT" + + "ZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25m" + + "aWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBh" + + "Y2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlg" + + "IHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4g" + + "QmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3Vj" + + "Y2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVw" + + "YWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyks" + + "IHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1" + + "YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5r" + + "bm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5p" + + "bmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpv" + + "YiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVs" + + "ZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3Qg" + + "aWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUK" + + "aG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291" + + "bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRl" + + "ZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVz" + + "Lm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + + "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFu" + + "ZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVm" + + "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2Vz" + + "L3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + + "ZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tp" + + "bGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFu" + + "ZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + + "anNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIs" + + "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + + "bXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJz" + + "dCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0" + + "ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5v" + + "dCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5k" + + "IGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBw" + + "cm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVk" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2" + + "ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwg" + + "bW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + + "aXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBh" + + "bmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9u" + + "IGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + + "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1" + + "aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0" + + "aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0" + + "byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBw" + + "cmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJ" + + "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90" + + "IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxl" + + "IHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZp" + + "ZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5k" + + "bHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + + "YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "Ikc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3Bh" + + "Y2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAg" + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1h" + - "bmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUt" + - "cGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBw" + - "cm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBz" + - "d2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + + "IHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + + "cy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0" + + "LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBz" + + "dHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + + "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + + "dXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQg" + + "dGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + + "dG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0" + + "bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5h" + + "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + + "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + + "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBk" + + "aXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5h" + + "bGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtm" + + "bG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQg" + + "YSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBU" + + "aGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVw" + + "ZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNv" + + "bnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJh" + + "cmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxk" + + "cywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFr" + + "ZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1" + + "dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQg" + + "d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJl" + + "Z2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + + "dGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxs" + + "ZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhl" + + "IGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3Vy" + + "bCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNf" + + "dXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3Qg" + + "Zm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVT" + + "VEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwg" + + "SEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + + "aGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNv" + + "bmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWlj" + + "bXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURD" + + "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRp" + + "ZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGlj" + + "YXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNh" + + "dXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + + "byBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZl" + - "cmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + - "b25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVu" + - "diwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + - "b250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1y" + - "ZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVk" + - "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + - "LS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQg" + - "LS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhl" + - "IGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2Ug" + - "YW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAi" + - "cXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVh" + - "c2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlm" + - "aWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5n" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3" + - "YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYg" + - "YmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3" + - "aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUg" + - "cmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1p" + - "bmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVz" + - "OiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "d2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJl" + - "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBh" + - "Z2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZm" + - "IGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYt" + - "c2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25s" + - "eSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAt" + - "LSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhl" + - "bG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBn" + - "cm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAg" + - "IlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1z" + - "eXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50" + - "IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxl" + - "YXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxi" + - "YWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxs" + - "QmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21t" + - "YW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNr" + - "ZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qg" + - "c3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2lu" + - "ZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMp" + - "IGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYg" + - "ZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhl" + - "IGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGlt" + - "YWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAog" + - "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEg" + - "c3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91" + - "dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVL" + - "UyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2gg" + - "aXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1" + - "bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRo" + - "ZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVu" + - "dm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRl" + - "d2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJv" + - "eHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVz" + - "IE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJl" + - "ZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21z" + - "X2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVy" + - "bmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBp" + - "biBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1" + - "dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9i" + + "dCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + + "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElf" + + "S0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + + "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + + "Q0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2Yg" + + "dGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMg" + + "Zm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmls" + + "ZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdo" + + "ZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIg" + + "dG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4g" + + "SXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5n" + + "IGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxl" + + "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0" + + "aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAg" + + "ICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVh" + + "biBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + + "S1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxh" + + "dGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVk" + + "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50" + + "aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVk" + + "IHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1" + + "bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBw" + + "bGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1m" + + "aWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVy" + + "c2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBh" + + "Z2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFn" + + "ZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBu" + + "YXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQt" + + "bWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRv" + + "IHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + + "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2" + + "aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMi" + + "LAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCBy" + + "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sg" + + "dXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1w" + + "cm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFs" + + "bCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJh" + + "dGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxh" + + "bmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29t" + + "bWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0" + + "ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5k" + + "IHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90" + + "IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9i" + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5h" + - "dHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2Ug" + - "ZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2lu" + - "dHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJM" + - "LCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZp" + - "Y2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJM" + - "IHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhl" + - "IGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3Jw" + - "YyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3Ru" + - "YW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBp" + - "LnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5i" + - "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + - "ZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNv" + - "bmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVh" + - "ZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + - "aWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1w" + - "bGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAog" + - "ICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1v" + - "cGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5" + - "c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAg" + - "InF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRl" + - "LXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBh" + - "bmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZp" + - "bGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBh" + - "c3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBo" + - "YW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxv" + - "d3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBh" + - "bmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2" + - "aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBu" + - "b3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNv" + - "bmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0" + - "aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVj" + - "dCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5" + - "IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRy" + - "b2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUg" + - "dGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2Vk" + - "IGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0" + - "aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29u" + - "ZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxv" + - "dyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMg" + - "Y29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1m" + - "aWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZv" + - "cmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRv" + - "ZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3" + - "YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBI" + - "ZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + - "ZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2" + - "ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBv" + - "biBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBm" + - "bG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQg" + - "ZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBs" + - "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdf" + - "RklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZv" + - "cmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNv" + - "bW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNs" + - "dXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNv" + - "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3" + - "YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRo" + - "cywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3du" + - "IC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + - "IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNv" + - "bnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjog" + - "IkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNp" + - "bGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVu" + - "Y2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0" + - "cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25s" + - "eSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWlu" + - "OiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMg" + - "LT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRy" + - "YS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLiki" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMg" + - "bXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5k" + - "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxv" + - "Y2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0" + - "aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVy" + - "LiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJ" + - "IG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFk" + - "ZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBm" + - "b3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQg" + - "dGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJh" + - "bGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1" + - "ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2Rz" + - "LiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNl" + - "bGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBh" + - "dXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndv" + - "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5z" + - "cG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBu" + - "b3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0" + - "aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlz" + - "dGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91" + - "dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0" + - "ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVx" + - "dWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1" + - "c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRl" + - "ZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1y" + - "b3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhl" + - "IGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + - "Y2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJn" + - "YXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBh" + - "bmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBl" + - "bnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2Vs" + - "ZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBm" + - "dW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxt" + - "LXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNp" + - "ZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5W" + - "Q0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0" + - "byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxm" + - "LW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVj" + - "aWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQi" + - "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0" + - "aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBr" + - "M2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhl" + - "IGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVz" + - "IGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJy" + - "aWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBs" + - "aW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFy" + - "Z2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4K" + - "ClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVz" + - "IGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + - "bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9y" + - "ZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZp" + - "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywg" + - "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + - "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVy" + - "c2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBj" + - "YXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + - "YWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + - "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJl" + - "c291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAg" + - "ICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIy" + - "IgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQg" + - "YXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fz" + - "cy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBj" + - "aGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkg" + - "aXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNl" + - "IGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95" + - "IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUg" + - "TlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBp" + - "bnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4K" + - "CiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICBy" + - "ZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgog" + - "ICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMj" + - "IFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykK" + - "CmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + - "JE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxs" + - "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + - "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + - "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + - "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + - "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNy" + - "ZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1" + - "bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4g" + - "YGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1l" + - "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + - "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + - "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + - "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + - "YW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAg" + - "ICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0o" + - "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4K" + - "ClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1" + - "dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRo" + - "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + - "bnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBm" + - "b3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVu" + - "Y2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09m" + - "ZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52" + - "Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNv" + - "bHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAg" + - "ICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19Jwog" + - "IGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxl" + - "dGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQt" + - "c3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNo" + - "b3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgot" + - "LS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVw" + - "bG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAx" + - "OiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + - "dGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29t" + - "cHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBv" + - "biBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVn" + - "Z2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1" + - "Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0" + - "ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5n" + - "IHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVz" + - "dGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9u" + - "LXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoK" + - "UmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVw" + - "IDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1t" + - "YW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2Vz" + - "Cm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBp" + - "ZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFs" + - "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFn" + - "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + - "cmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1p" + - "c3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + - "IGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNp" + - "dCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJF" + - "Q09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + - "SUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29u" + - "ZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFt" + - "YmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1F" + - "ICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + - "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJl" + - "dHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZv" + - "bGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0" + - "aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgot" + - "LS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UK" + - "ClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIg" + - "d2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRo" + - "ZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBl" + - "bnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + - "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBh" + - "bmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + - "dG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNv" + - "cmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAg" + - "YW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVt" + - "cG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBz" + - "dWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhv" + - "c3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVj" + - "dCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFs" + - "dWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklD" + - "TVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIg" + - "ZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9u" + - "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxs" + - "eS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNv" + - "bW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtz" + - "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + - "JEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + - "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91" + - "dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3By" + - "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91" + - "dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0t" + - "dGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2Fp" + - "dCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9w" + - "ZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5" + - "IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5k" + - "ZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBj" + - "b25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3Bl" + - "bkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5h" + - "dHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFz" + - "ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + - "eW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwK" + - "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwg" + - "bmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHks" + - "IGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91" + - "dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFs" + - "IHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBh" + - "ZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9u" + - "YWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24g" + - "YW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVl" + - "c3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxt" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0" + - "aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5p" + - "dHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0" + - "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3" + - "YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5" + - "IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25z" + - "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jl" + - "c3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFs" + - "IHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBo" + - "YXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFt" + - "ZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAA" + - "AAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + - "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFy" + - "ZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4g" + - "cmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFu" + - "ZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21i" + - "aW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUg" + - "ZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmls" + - "ZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmly" + - "b25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + - "dGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENM" + - "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHBy" + - "b2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQt" + - "YXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUg" + - "cmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQg" + - "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBm" + - "b3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZp" + - "cm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVn" + - "aXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + - "IGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUt" + - "cmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhl" + - "IGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5j" + - "b20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBs" + - "YW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVu" + - "dm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0" + - "ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhl" + - "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVz" + - "IHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlz" + - "IHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3" + - "aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + - "CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNm" + - "U2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0" + - "c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2" + - "aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZp" + - "Y2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0" + - "aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBj" + - "cHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVy" + - "LmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNw" + - "YWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25h" + - "bWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7" + - "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6" + - "CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + - "d2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6" + - "CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1l" + - "czogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAg" + - "IGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29y" + - "a2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6" + - "IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAg" + - "ZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAg" + - "c2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + - "c3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1k" + - "b21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + - "CiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRv" + - "bWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + - "ICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3" + - "IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBi" + - "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + - "aWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + - "aWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVz" + - "cywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NP" + - "TkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + - "Cmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8" + - "Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlf" + - "aG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdh" + - "dGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4i" + - "CmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRh" + - "aW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMg" + - "b25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hv" + - "c3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJl" + - "IGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhl" + - "IGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFz" + - "aAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0" + - "ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwK" + - "ICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAog" + - "IE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRv" + - "LW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpg" + - "YGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20g" + - "dGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwg" + - "YEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1h" + - "bmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkK" + - "d2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoK" + - "IyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZp" + - "cnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVn" + - "aXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + - "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0" + - "ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9u" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNp" + - "c3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52" + - "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + - "cGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUu" + - "eWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + - "LS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdp" + - "b24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3Ry" + - "YXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFi" + - "bGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tT" + - "LiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVs" + - "bWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRy" + - "b2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUK" + - "Y29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRl" + - "IGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBy" + - "ZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBg" + - "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRk" + - "CmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRz" + - "IGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + - "bWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQg" + - "bmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lk" + - "ZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUg" + - "LW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3Bl" + - "cmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1u" + - "IG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30n" + - "PWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBU" + - "ZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9y" + - "ZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJv" + - "bCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNl" + - "cnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHBy" + - "ZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3" + - "aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + - "dGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQg" + - "YWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + - "ZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRj" + - "aGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3Ig" + - "bWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZl" + - "cmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJt" + - "YXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFu" + - "dXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxN" + - "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29u" + - "ZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1j" + - "bHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBh" + - "bmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3Ry" + - "YXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFj" + - "dCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVg" + - "LiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29t" + - "cHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktV" + + "ZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQg" + + "dmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + + "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + + "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + + "LWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAt" + + "LXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0" + + "ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "LCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRl" + + "ZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJU" + + "aGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJj" + + "ZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNy" + + "ZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9k" + + "aWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRp" + + "bmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0" + + "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlm" + + "ZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5l" + + "IHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVk" + + "ZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJl" + + "LWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1" + + "ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczog" + + "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhl" + + "IGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRp" + + "ZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "Ni1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBv" + + "bmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFv" + + "IC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUg" + + "aGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNl" + + "IGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAg" + + "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRz" + + "LXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJl" + + "bGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVs" + + "bGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1" + + "bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNv" + + "bW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hl" + + "Y2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + + "ZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNz" + + "aW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0" + + "cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09m" + + "ZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0" + + "aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + + "aW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIs" + + "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQg" + + "YSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1y" + + "b3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUg" + + "RUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3Vn" + + "aCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkg" + + "cHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + + "dGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4g" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdh" + + "dGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1w" + + "cm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBs" + + "dXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1" + + "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGlj" + + "bXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0" + + "ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0" + + "IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + + "YnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95" + + "LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQg" + + "bmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFj" + + "ZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBv" + + "aW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VV" + + "UkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vy" + + "dmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VV" + + "UkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJU" + + "aGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5n" + + "cnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9z" + + "dG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlB" + + "cGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3Bl" + + "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAi" + + "VGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZp" + + "ZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RI" + + "ZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3Zl" + + "cnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9s" + + "LXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIs" + + "CiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNh" + + "LW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Et" + + "c3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAg" + + "ICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + + "dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVz" + + "IGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxt" + + "ZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5" + + "IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQg" + + "cGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVy" + + "IGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBm" + + "bG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + + "IHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUs" + + "IGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + + "ZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + + "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3Ry" + + "YXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + + "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + + "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + + "dHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRo" + + "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3" + + "ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5n" + + "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBn" + + "b25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBm" + + "bG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0" + + "cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVs" + + "bWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJl" + + "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFu" + + "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + + "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + + "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + + "IHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5n" + + "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3du" + + "IGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + + "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + + "aWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wt" + + "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJl" + + "Zm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + + "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + + "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + + "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0" + + "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBh" + + "dGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRv" + + "d24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + + "YXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUg" + + "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24i" + + "OiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcg" + + "c2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + + "ZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNy" + + "ZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + + "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3Mu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + + "aW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0" + + "cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xv" + + "YmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2Fu" + + "ZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMu" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "cyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAi" + + "VGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBh" + + "bmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBi" + + "bG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMi" + + "LAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVu" + + "Y3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + + "ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRv" + + "IEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0g" + + "YWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2Fz" + + "IGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5l" + + "ZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQt" + + "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + + "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhv" + + "ZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + + "IGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcu" + + "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJh" + + "bnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlz" + + "IG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5n" + + "IHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4" + + "aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCBy" + + "b3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29s" + + "ZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCBy" + + "ZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBj" + + "bHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + + "ZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + + "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + + "dGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQs" + + "IGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxl" + + "IGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBz" + + "ZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExN" + + "IGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBs" + + "bG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIg" + + "c2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwg" + + "TlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdz" + + "IHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNl" + + "bGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNw" + + "ZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + + "ZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1" + + "Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVk" + + "IGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0" + + "aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABK" + + "VgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBs" + + "ZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3Zl" + + "cnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNl" + + "IGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhs" + + "YXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRg" + + "LgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1" + + "ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + + "L3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVm" + + "b3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxt" + + "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93" + + "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + + "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + + "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + + "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + + "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + + "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAg" + + "ICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTog" + + "IjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFu" + + "ZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9j" + + "YXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2Vz" + + "IGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJl" + + "KSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + + "c2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBs" + + "b3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRo" + + "ZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2Ap" + + "IGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRz" + + "LgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAg" + + "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6" + + "CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgoj" + + "IyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxz" + + "KQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + + "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + + "ICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1" + + "bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5" + + "PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2Vj" + + "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + + "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + + "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNl" + + "Y3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdl" + + "UHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBp" + + "biBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5h" + + "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + + "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + + "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + + "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + + "c3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + + "ICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0" + + "LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29t" + + "cHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsg" + + "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRz" + + "IGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5k" + + "ZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNr" + + "T2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0g" + + "bnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20t" + + "Y29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwK" + + "ICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0n" + + "CiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRl" + + "bGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVs" + + "dC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + + "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAK" + + "Ci0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBk" + + "ZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVw" + + "IDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + + "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNr" + + "IG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVi" + + "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1z" + + "dHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1" + + "c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRp" + + "bmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + + "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + + "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + + "CgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0" + + "ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0" + + "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ks" + + "IGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + + "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktV" + "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJ" + - "R2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFu" + - "ZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3Vi" + - "ZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAK" + - "dW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVy" + - "IElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUg" + - "Y29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + - "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + - "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + - "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21w" + - "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0" + - "aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1w" + - "bGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBj" + - "b21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + - "ZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3Rlciwg" + - "cmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBw" + - "cmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNs" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVj" + + "b25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMK" + + "YW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAg" + + "LUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + + "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQg" + + "cmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoK" + + "Rm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiks" + + "IHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "Ci0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5n" + + "ZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNl" + + "ciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQg" + + "dGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1u" + + "IGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + + "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5T" + + "IGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBo" + + "b3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJl" + + "Y29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+" + + "YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0" + + "ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRl" + + "IHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBg" + + "SG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGly" + + "ZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2" + + "YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUK" + + "SUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVp" + + "ciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRp" + + "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5h" + + "bGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUg" + + "Y29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcg" + + "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + + "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1v" + + "IHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHBy" + + "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + + "cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + + "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + + "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + + "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + + "aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBl" + + "bmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNl" + + "IGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBP" + + "cGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + + "dXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + + "bmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxl" + + "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMg" + + "fAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + + "fCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + + "eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9u" + + "YWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + + "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRp" + + "b25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRv" + + "biBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVx" + + "dWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBs" + + "bG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + + "IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZh" + + "bml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUg" + + "c3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0" + + "ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9u" + + "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + + "bnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5n" + + "cmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1" + + "YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90" + + "IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBu" + + "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + + "YXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhl" + + "biByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBo" + + "YW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNv" + + "bWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFu" + + "ZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1m" + + "aWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52" + + "aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + + "cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwg" + + "Q0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkg" + + "cHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFu" + + "ZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wt" + + "cGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRo" + + "ZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVl" + + "ZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3Rz" + + "IGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVu" + + "dmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICBy" + + "ZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgot" + + "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0" + + "ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0" + + "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + + "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wt" + + "cGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpg" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1n" + + "YXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBU" + + "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBs" + + "dXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAg" + + "aXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNl" + + "Cndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAoj" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2Jh" + + "bDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52" + + "Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZO" + + "YXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNl" + + "cnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9j" + + "YXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdy" + + "cGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0" + + "ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1l" + + "c3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7" + + "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6" + + "IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0" + + "czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdh" + + "dGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFw" + + "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + + "bWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAg" + + "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + + "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxl" + + "ZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAg" + + "ICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAg" + + "ICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + + "ICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZp" + + "ZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRy" + + "ZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElf" + + "Q09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDog" + + "IjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFw" + + "aV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48" + + "Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWlu" + + "PiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29u" + + "dGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFw" + + "cyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNf" + + "aG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhl" + + "cmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0" + + "aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBi" + + "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + + "c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4g" + + "XAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBc" + + "CiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgt" + + "dG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+" + + "CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJv" + + "bSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50" + + "LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29t" + + "bWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25s" + + "eQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIu" + + "CgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwg" + + "Zmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSBy" + + "ZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdp" + + "b24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVy" + + "c2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJl" + + "Z2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNs" + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + - "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2Et" + - "aWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + - "ICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + - "ICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBj" + - "bHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0" + - "ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVy" + - "IG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoK" + - "UmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdl" + - "ZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFs" + - "bCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUK" + - "CiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1l" + - "c3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRz" + - "IChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRz" + - "IC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEg" + - "c3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJ" + - "bWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVB" + - "RFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8x" + - "ICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoK" + - "YGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAx" + - "IFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGlt" + - "YWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMg" + - "aW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + - "YWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + - "bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5p" + - "bWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFn" + - "ZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBq" + - "c29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0" + - "IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9" + - "PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + - "bHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJl" + - "bmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2" + - "aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + - "KS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJh" + - "bywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNl" + - "cnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + - "bC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0" + - "ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3It" + - "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlh" + - "bHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMg" + - "U3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoK" + - "YGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJF" + - "U1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEg" + - "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBp" + - "cyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBg" + - "YmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3Rl" + - "bQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMg" + - "LW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + - "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBj" + - "b250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNl" + - "PiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3Bl" + - "bkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVs" + - "bCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBq" + - "b2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGlu" + - "dGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIg" + - "ZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + - "ZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcg" + - "YnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + - "byAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0" + - "aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRh" + - "dGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkg" + - "Y2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkg" + - "SldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdp" + - "dGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9u" + - "X3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5v" + - "dCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRo" + - "ZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1p" + - "bml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5p" + - "dDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVu" + - "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1p" + - "Z3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNp" + - "bmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJh" + - "Y2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxp" + - "dmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYg" + - "dmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJh" + - "bzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMg" + - "ICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0" + - "ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWln" + - "cmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQg" + - "ZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwg" + - "T3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQg" + - "dGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBt" + - "aW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQg" + - "KHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0" + - "aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0" + - "aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMj" + - "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + - "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0K" + - "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMg" + - "Rml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNl" + - "ZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0g" + - "Y2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIK" + - "ICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgog" + - "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3Qg" + - "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + - "aXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBT" + - "eW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRT" + - "ICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBg" + - "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZh" + - "aWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMg" + - "Q29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykg" + - "ZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZh" + - "aWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFp" + - "bSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gq" + - "KjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gK" + - "ICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIu" + - "ICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMK" + - "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1" + - "ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAg" + - "a3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCBy" + - "ZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0" + - "ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0" + - "aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMg" + - "dG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4K" + - "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxu" + - "YW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBh" + - "bmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNl" + - "IG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQg" + - "aWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJl" + - "bGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVk" + - "CgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNy" + - "ZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1u" + - "IG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3Vi" + - "ZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNr" + - "IEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9" + - "bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJh" + - "c2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRz" + - "LnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3Qg" + - "anVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3Jl" + - "ZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hv" + - "dWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5" + - "IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGlu" + - "IGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3Jl" + - "ZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBk" + - "ZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVs" + - "ZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBh" + - "cGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + - "cyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoK" + - "IyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1" + - "Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJh" + - "dG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAg" + - "IDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250" + - "ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4g" + - "UmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApm" + - "b3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09O" + - "VEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + - "Q0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + - "Z2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0" + - "YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBz" + - "aCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVj" + - "dGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5z" + - "IiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBf" + - "ICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBi" + - "eSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2Yt" + - "YmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5h" + - "bWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFs" + - "aXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + - "cmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAt" + - "ZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Np" + - "bmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + - "bCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQg" + - "ZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAog" + - "IC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVz" + - "CgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQg" + - "ZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + - "IERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxs" + - "YXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBj" + - "b250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZj" + - "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJh" + - "dG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBw" + - "dWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJh" + - "dG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51" + - "YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQj" + - "Y29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFu" + - "Z2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUg" + - "ZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVw" + - "bGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lz" + - "CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + - "R0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + - "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0" + - "IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNT" + - "ZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMg" + - "Rml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVy" + - "cmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0" + - "aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFk" + - "ZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + - "cm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1w" + - "bGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSku" + - "CgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNl" + - "IGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2Ug" + - "fCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0" + - "cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3Bl" + - "bmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + - "eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0" + - "ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3Mg" + - "fCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kg" + - "Z2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkg" + - "cmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVu" + - "Y2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sv" + - "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBO" + - "QVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5Lnlh" + - "bWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVu" + - "dHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVz" + - "IChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAg" + - "IyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFt" + - "ZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywg" + - "cGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1w" + - "bGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5l" + - "LXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNh" + - "LnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25m" + - "aWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAg" + - "ICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYt" + - "bmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBn" + - "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + - "dWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52" + - "aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cg" + - "YXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0" + - "ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBl" + - "bmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + - "IyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0t" + - "LS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRz" + - "IHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNm" + - "LW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBl" + - "bmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5k" + - "cmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBp" + - "bmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMj" + - "IDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + - "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8" + - "IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0t" + - "bnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2Yg" + - "fCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24t" + - "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBj" + - "LXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkg" + - "fCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNl" + - "cnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVl" + - "c3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hl" + - "bG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vl" + - "ci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8g" + - "cmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwg" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhl" + - "cml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMg" + - "ZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9n" + - "bG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxt" + - "LmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRh" + - "bG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwK" + - "CnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0t" + - "LS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFy" + - "aW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZh" + - "YmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlm" + - "IGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5" + - "YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1l" + - "cmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNo" + - "YSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtl" + - "eSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6" + - "YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6" + - "CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhl" + - "IGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFt" + - "bAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5j" + - "eQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVl" + - "czoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1" + - "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVu" + - "IG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRl" + - "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + - "fX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlv" + - "dXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + - "ICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoK" + - "VXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRh" + - "bmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5h" + - "bWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hl" + - "biBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVk" + - "IHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNg" + - "IGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJv" + - "bSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1s" + - "YCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQt" + - "c3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlh" + - "bWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVs" + - "ZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQ" + - "YXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2Ag" + - "KHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVj" + - "dHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQg" + - "ZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxp" + - "Y2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + - "Y2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNp" + - "emVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMu" + - "ZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBO" + - "QVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipg" + - "Ci0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3Ry" + - "ZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5t" + - "ZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3Bl" + - "bmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBg" + - "b3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBv" + - "cGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVk" + - "KQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAo" + - "cmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFi" + - "bGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExM" + - "TSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRp" + - "bmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUg" + - "YWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAs" + - "IGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQ" + - "SQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBM" + - "TE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVk" + - "YC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2lu" + - "Z2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRv" + - "CmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBg" + - "YHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAg" + - "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + - "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FD" + - "b3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAg" + - "ZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVy" + - "OgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAg" + - "d29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBs" + - "aWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMu" + - "IFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24g" + - "cG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJ" + - "IEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxt" + - "LmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJs" + - "ZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Ig" + - "c2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBj" + - "b3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + - "cG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91" + - "dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRp" + - "b24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0g" + - "UmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + - "bnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQt" + - "YmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91" + - "dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwg" + - "c2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlh" + - "bWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAg" + - "ICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5" + - "Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNG" + - "X1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRo" + - "ZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBu" + - "ZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxp" + - "Y3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRl" + - "ZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJl" + - "ZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3Rh" + - "bGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVz" + - "dCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVt" + - "YWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWlu" + - "IHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJz" + - "aW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZl" + - "cnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9s" + - "LXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4g" + - "VmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBn" + - "ZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9k" + - "cyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicK" + - "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tl" + - "bmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5j" + - "b250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5k" + - "fScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFy" + - "Z3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2No" + - "ZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRp" + - "b24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xp" + - "YnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1k" + - "KS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdy" + - "b3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5n" + - "cmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1y" + - "b3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxs" + - "bS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERl" + - "c3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94" + - "eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRt" + - "aW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZj" + - "Zi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRp" + - "b25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVk" + - "IGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + - "bHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBV" + - "SSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3Rl" + - "ZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBu" + - "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhl" + - "bS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYt" + - "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVl" + - "CmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0" + - "aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZy" + - "b20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "bnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMg" + - "T25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5p" + - "bykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + - "dCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2Yt" + - "dWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1p" + - "bmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFu" + - "ZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVM" + - "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWlu" + - "Z3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhl" + - "IGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxv" + - "eSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2Yt" + - "dWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVs" + - "IGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1" + - "YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4s" + - "IG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91" + - "dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVU" + - "BQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4g" + - "cHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUs" + - "IE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBl" + - "dmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJl" + - "IGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25l" + - "IG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBw" + - "cm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFu" + - "ZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8g" + - "YG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEu" + - "IEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9r" + - "eXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBr" + - "eXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAg" + - "LS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRl" + - "IGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0i" + - "PHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + - "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFj" + - "ZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + - "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + - "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + - "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + - "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5H" + - "QyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5h" + - "bWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0" + - "ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVy" + - "UG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoK" + - "ICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2Vj" + - "cmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNv" + - "dXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBu" + - "YW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIK" + - "ICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5h" + - "dHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAt" + - "ICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRl" + - "OgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAg" + - "ICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVs" + - "bHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAg" + - "aW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAg" + - "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFs" + - "bCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1w" + - "bGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShj" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUg" + - "bW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0" + - "IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpD" + - "cmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBj" + - "bHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBs" + - "eSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + - "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRl" + - "LXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNy" + - "ZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + - "c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3Jl" + - "dCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0" + - "ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFs" + - "bCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wt" + - "cGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + - "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFt" + - "ZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+" + - "IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2Zc" + - "Lm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5" + - "dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFz" + - "dFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1" + - "bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3Ig" + - "bWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpg" + - "YGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRo" + - "IElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVy" + - "UmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVD" + - "UiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBw" + - "dWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoq" + - "OiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHks" + - "IGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGls" + - "bCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8g" + - "cG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMg" + - "YXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1l" + - "c3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1" + - "bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMj" + - "IFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0" + - "cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpU" + - "aGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlz" + - "dHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + - "ZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcI" + - "S0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAD0gGPhKEAAAShAAABIACQAAAAAAAAAAAAAAAAAA" + - "AGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/dvNnU2EAAFNhAAAj" + - "AAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDAUUNzEA4AABAOAAAzAAkAAAAAAAAAAAAAAEByAABkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAAC6gAAAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAIKNAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA9ZoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDS" + - "Q9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAAS1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+" + - "DgAAvg4AAD0ACQAAAAAAAAAAAAAAitoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQnHm" + - "HgEoAAABKAAAOgAJAAAAAAAAAAAAAAC86QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5" + - "yAcAAMgHAAA5AAkAAAAAAAAAAAAAAC4SAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQh" + - "AADkIQAALgAJAAAAAAAAAAAAAABmGgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMAACEjAAAwAAkAAAAA" + - "AAAAAAAAAK88AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAjm4LCTIKAAAyCgAAMgAJAAAAAAAAAAAAAAA3YAEA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEA60aTk4Y4AACGOAAALQAJAAAAAAAAAAAAAADSagEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAAvKMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "EcMUk0liAABJYgAALAAJAAAAAAAAAAAAAACetQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJ" + - "AAAAAAAAAAAAAABKGAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMv" + - "ZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAA" + - "AAAAAP9uAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAOSXAgBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAA" + - "AAAAAAAAAAAAecgCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAA" + - "AAAAAAAAAAAAoPkCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAA" + - "uQcAAD8ACQAAAAAAAAAAAAAAJSQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWo" + - "ABYAAAAWAAA+AAkAAAAAAAAAAAAAAFQsAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADJ" + - "QgMAAAA=" + "IFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lz" + + "dHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNo" + + "YWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpX" + + "S1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBI" + + "ZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29u" + + "dHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFu" + + "ZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1" + + "dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBh" + + "ZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFu" + + "ZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0" + + "cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFu" + + "ZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + + "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0" + + "ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + + "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + + "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + + "IFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + + "b3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250" + + "cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJl" + + "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5" + + "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIK" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xl" + + "YW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + + "b25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + + "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + + "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURg" + + "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + + "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4" + + "YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0" + + "ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gK" + + "S1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + + "Q09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09O" + + "RklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBs" + + "YW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBr" + + "dWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0" + + "ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2Ft" + + "ZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + + "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250" + + "cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21w" + + "dXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93" + + "IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAt" + + "LXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0" + + "IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBs" + + "YW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVy" + + "LCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVu" + + "IHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + + "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5" + + "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + + "YS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + + "XAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRl" + + "IGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdp" + + "c3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNl" + + "CgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMg" + + "QWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + + "ZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVu" + + "dHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVu" + + "dHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUg" + + "YSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0" + + "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6" + + "IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBS" + + "RUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAw" + + "LzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6" + + "CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + + "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + + "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + + "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + + "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + + "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + + "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + + "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + + "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + + "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2Nr" + + "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFj" + + "ZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + + "cHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZl" + + "cmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVk" + + "IHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + + "bWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVu" + + "YmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2gg" + + "U2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVs" + + "ZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZj" + + "ci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50" + + "aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMj" + + "IyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6" + + "CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + + "UkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAv" + + "MSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVy" + + "IGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpg" + + "YGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9i" + + "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3Mg" + + "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0" + + "IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipP" + + "cGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBw" + + "dWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9u" + + "IGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMg" + + "aW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAg" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + + "ciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNl" + + "Y3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmlu" + + "ZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNo" + + "CiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVu" + + "YmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBh" + + "dXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxp" + + "ZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFu" + + "eSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtl" + + "eSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQg" + + "d2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRp" + + "b25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fu" + + "bm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMg" + + "dGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50" + + "LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJ" + + "bml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9w" + + "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAg" + + "bWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBV" + + "c2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxs" + + "YmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUg" + + "bGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVu" + + "diB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVu" + + "YmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + + "IyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5" + + "c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBt" + + "aWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVu" + + "dCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5h" + + "bCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFu" + + "ZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4x" + + "IG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxl" + + "ZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNl" + + "IHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90" + + "YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoK" + + "IyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVT" + + "VEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEw" + + "bQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMj" + + "IyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + + "U2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwK" + + "LSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4" + + "IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIi" + + "CiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5v" + + "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + + "aWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMj" + + "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + + "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpg" + + "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcg" + + "ZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoK" + + "IyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShz" + + "KSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + + "dmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNs" + + "YWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRj" + + "aCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoK" + + "Mi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0" + + "cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKklu" + + "c3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVk" + + "IHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0" + + "YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3" + + "aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFy" + + "cyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQp" + + "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4g" + + "PG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNl" + + "IGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3Bh" + + "Y2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + + "dCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08" + + "cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWls" + + "ZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUg" + + "Y3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3Np" + + "cwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMg" + + "LW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQpr" + + "dWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hl" + + "Y2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + + "ZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3Jvbmcg" + + "YmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3Jl" + + "dHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5v" + + "dCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBj" + + "cmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBT" + + "aG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0" + + "cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQg" + + "aW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBj" + + "cmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0" + + "IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQK" + + "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZp" + + "Y2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMp" + + "CgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpz" + + "dHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3Bl" + + "cmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5n" + + "ICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNv" + + "bnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVk" + + "LiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5k" + + "CmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9D" + + "T05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + + "TlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + + "IiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFk" + + "YXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9" + + "IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3Vi" + + "ZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIk" + + "bnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSIn" + + "IF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + + "IGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZj" + + "Zi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQg" + + "bmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmlu" + + "YWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + + "IiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUi" + + "IC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlz" + + "c2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgpp" + + "dCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBc" + + "CiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4" + + "ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxt" + + "ZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhh" + + "dCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3Rh" + + "bGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRl" + + "IGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9u" + + "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3Bl" + + "cmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhl" + + "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1h" + + "bnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + + "ZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENo" + + "YW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0" + + "ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyBy" + + "ZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + + "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + + "IiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + + "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJl" + + "Y3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0" + + "c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMj" + + "IyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92" + + "ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGlu" + + "YXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXkt" + + "YWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + + "dGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhh" + + "bXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdl" + + "KS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVu" + + "Y2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFj" + + "ZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBu" + + "YXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBv" + + "cGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXBy" + + "b3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1n" + + "YXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVz" + + "cyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZv" + + "eSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdh" + + "eSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVy" + + "ZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + + "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHku" + + "eWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25t" + + "ZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1" + + "ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAg" + + "ICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1u" + + "YW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRz" + + "LCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRl" + + "bXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52" + + "Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNv" + + "bmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAg" + + "ICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVu" + + "di1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0t" + + "IGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25z" + + "dHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBl" + + "bnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxv" + + "dyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGlu" + + "c3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRz" + + "IGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "CiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMu" + + "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0t" + + "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5h" + + "dHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52" + + "Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRl" + + "cGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3Nh" + + "bmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRl" + + "IGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgoj" + + "IyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBM" + + "YWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlz" + + "IHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVs" + + "bS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlv" + + "bi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdy" + + "cGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFw" + + "aSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnkt" + + "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVx" + + "dWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2Yv" + + "aGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNz" + + "dWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChu" + + "byByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMg" + + "fCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGlu" + + "aGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0" + + "cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4u" + + "L2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5s" + + "bG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFu" + + "ZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1w" + + "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + + "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2" + + "YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2Vy" + + "dmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQg" + + "aWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVu" + + "Y3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4g" + + "TWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290" + + "Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAg" + + "a2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVl" + + "czpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVl" + + "czoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRl" + + "bmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFs" + + "dWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZh" + + "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdo" + + "ZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAg" + + "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1" + + "ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + + "IiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + + "WW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + + "ICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUp" + + "CgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJp" + + "dGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAg" + + "bmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpX" + + "aGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5l" + + "ZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVl" + + "c2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpG" + + "cm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlh" + + "bWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2Jh" + + "bC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFy" + + "dC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMu" + + "eWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiBy" + + "ZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + + "IFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVz" + + "YCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3Ry" + + "dWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBp" + + "dCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVw" + + "bGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + + "IGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uu" + + "c2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9y" + + "cy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMj" + + "IE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2Uu" + + "KmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRz" + + "dHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRl" + + "Lm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBv" + + "cGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAot" + + "IGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0g" + + "YG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJs" + + "ZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipg" + + "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVu" + + "YWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMg" + + "TExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVh" + + "dGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRo" + + "ZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5" + + "YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkg" + + "QVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhl" + + "IExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJs" + + "ZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBz" + + "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24g" + + "dG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoK" + + "YGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAg" + + "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + + "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGlj" + + "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + + "ICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0" + + "ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAg" + + "ICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJl" + + "cGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVy" + + "cy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBv" + + "biBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBB" + + "UEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5s" + + "bG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBh" + + "YmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZv" + + "ciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNh" + + "IGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5z" + + "dGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJh" + + "bnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCBy" + + "b3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + + "dGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xM" + + "TSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJ" + + "QS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + + "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + + "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + + "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + + "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + + "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + + "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + + "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + + "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + + "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + + "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + + "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + + "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + + "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + + "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + + "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + + "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + + "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + + "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + + "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + + "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + + "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + + "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + + "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + + "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + + "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + + "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + + "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + + "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + + "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + + "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + + "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + + "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + + "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + + "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + + "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + + "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + + "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + + "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + + "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + + "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + + "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + + "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + + "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + + "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + + "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + + "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + + "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + + "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + + "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + + "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + + "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + + "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + + "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + + "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + + "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + + "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + + "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + + "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + + "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + + "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + + "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + + "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + + "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + + "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + + "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + + "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + + "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + + "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + + "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + + "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + + "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + + "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + + "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + + "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + + "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + + "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + + "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + + "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + + "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + + "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + + "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + + "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + + "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + + "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + + "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + + "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + + "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + + "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + + "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + + "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + + "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + + "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + + "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + + "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + + "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + + "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + + "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + + "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + + "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + + "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + + "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + + "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + + "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + + "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + + "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + + "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + + "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + + "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + + "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + + "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + + "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + + "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + + "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + + "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + + "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + + "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + + "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + + "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + + "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAJneIHEoQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + + "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EA" + + "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAMeBAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAj44AAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAACnAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAEbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + + "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAACX2wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBC" + + "ceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAMnqAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrh" + + "OrnIBwAAyAcAADkACQAAAAAAAAAAAAAAOxMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + + "5CEAAOQhAAAuAAkAAAAAAAAAAAAAAHMbAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAA" + + "AAAAAAAAAAAAvD0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + + "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDkLcle+QsAAPkLAAAyAAkAAAAAAAAAAAAAAERh" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQA0v7H3RDkAAEQ5AAAtAAkAAAAAAAAAAAAAAKZtAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAABOpwEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAADC5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + + "AAkAAAAAAAAAAAAAANwbAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + + "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + + "AAAAAAAAkXICAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAdpsCAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + + "AAAAAAAAAAAAAAALzAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJ" + + "AAAAAAAAAAAAAAAy/QIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + + "AAC5BwAAPwAJAAAAAAAAAAAAAAC3JwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + + "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAA5i8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + + "AFtGAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 9989e9f0a5..d6e06c8fae 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -97,6 +97,7 @@ go_test( "@io_k8s_apimachinery//pkg/types", "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//kubernetes/fake", + "@io_k8s_client_go//kubernetes/typed/core/v1:core", "@io_k8s_client_go//rest", "@io_k8s_client_go//testing", ], diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 2af9f5612c..484263f998 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -18,6 +18,7 @@ limitations under the License. package selfhosted import ( + "cmp" "context" cryptorand "crypto/rand" "encoding/hex" @@ -25,6 +26,7 @@ import ( "errors" "fmt" "io" + "math" "net" "regexp" "sort" @@ -73,8 +75,8 @@ var ( clusterValidatorPollInterval = 2 * time.Second clusterValidatorLogFetchTimeout = 10 * time.Second // validatorCleanupTimeout bounds each deferred sweep. They run after an - // interrupt, when CI will not send a second signal, so an unreachable - // apiserver must not hold the CLI open. + // interrupt too, and a second signal or CI's follow-up SIGTERM can end the + // process at any time, so an unreachable apiserver must not hold it open. validatorCleanupTimeout = 30 * time.Second ) @@ -83,12 +85,21 @@ var ( // control-plane role the network-checks ConfigMap. const validatorDeferredSweeps = 3 -// validatorGradeReads is how many reads, each bounded by -// clusterValidatorLogFetchTimeout, one run can make once its wait ends: the -// transcript, then for a validator that finishes late the Job and the -// transcript again, and the container's exit code. +// validatorGradeReads is how many calls, each bounded by +// clusterValidatorLogFetchTimeout, one run can make outside its own timeout: +// the ownership patch, the transcript, the transcript again for a validator +// that finished late, and the container's exit code. const validatorGradeReads = 4 +// validatorDeadlineOffset is how long after the end of the run's own timeout +// the Job's active deadline ends its pod. The deadline plus the pod's +// termination grace must fall inside validatorDeadlineGrace, the wait for it. +const validatorDeadlineOffset = 60 * time.Second + +// podTerminationGrace is the pod's default terminationGracePeriodSeconds, +// which the validator Job does not change. +const podTerminationGrace = 30 * time.Second + // ClusterValidatorRunCeiling is the longest one validator run can take: its // own timeout, then on a timeout the wait for the Job's deadline to end the // pod and the reads that grade it, then the deferred sweeps, which run in turn @@ -141,6 +152,10 @@ type ClusterValidatorParams struct { // carries, for clusters whose nodes use other taints, as the chart's // clusterValidator.tolerations does. Tolerations []corev1.Toleration + // OnStart, when set, receives the run's ID before the run creates + // anything, so the caller can say how to remove the run's objects if the + // process is stopped before the run's own teardown ends. + OnStart func(runID string) } // Err is non-nil only when the run failed to execute (RBAC bootstrap, @@ -149,15 +164,29 @@ type ClusterValidatorParams struct { type ClusterValidatorResult struct { Passed bool ExitCode int32 - Logs string - JobName string + // Reason is why the validator container or its pod ended, when the + // cluster says more than its exit code: OOMKilled, Evicted. + Reason string + Logs string + // LogsErr is why the transcript could not be read, if it could not. + LogsErr error + JobName string // RunID labels every object the run created (clusterValidatorRunLabel). RunID string - Err error + // Created reports that the run created at least one object in the + // cluster, so a kept run has something to remove. + Created bool + Err error // LeftBehind reports that this run's RBAC and other objects were kept // because its pod could still be running, so the caller can print the // command that removes them rather than leave them for the orphan sweep. LeftBehind bool + // SweepErr is why removing the run's objects failed. They are still in + // the cluster, so the caller prints the command that removes them. + SweepErr error + // Suspended reports that a kept Job whose pod could not pull was + // suspended, so the pod was deleted and has no logs to read. + Suspended bool } type ClusterValidator func(ctx context.Context, params ClusterValidatorParams) ClusterValidatorResult @@ -174,16 +203,26 @@ func NewClusterValidator() ClusterValidator { if err != nil { return ClusterValidatorResult{Err: fmt.Errorf("building kubernetes client: %w", err)} } - return runClusterValidator(ctx, client, p.Image, p.PullSecret, p.NoCleanup, p.Role, p.Registries, p.Env, - p.Tolerations...) + return runValidatorJob(ctx, client, p) } } -// Testable core. Pass a fake clientset to unit-test without a real cluster. +// runClusterValidator is runValidatorJob with the parameters spelled out. func runClusterValidator( ctx context.Context, client kubernetes.Interface, image, pullSecret string, noCleanup bool, role string, registries []RegistryEntry, env map[string]string, tolerations ...corev1.Toleration, ) ClusterValidatorResult { + return runValidatorJob(ctx, client, ClusterValidatorParams{ + Image: image, PullSecret: pullSecret, NoCleanup: noCleanup, Role: role, + Registries: registries, Env: env, Tolerations: tolerations, + }) +} + +// Testable core. Pass a fake clientset to unit-test without a real cluster. +// The result is named so the deferred sweeps can report what they could not +// remove. +func runValidatorJob(ctx context.Context, client kubernetes.Interface, p ClusterValidatorParams) (res ClusterValidatorResult) { + image, pullSecret, noCleanup, role := p.Image, p.PullSecret, p.NoCleanup, p.Role if image == "" { // Defensive: callers gate on configured image before invoking the // validator, so this branch shouldn't fire in normal use. @@ -193,10 +232,11 @@ func runClusterValidator( vctx, cancel := context.WithTimeout(ctx, clusterValidatorTimeout) defer cancel() - // podMayBeRunning is true only between a successful Job create and a clean - // wait. Both cleanup defers below key off it: outside that window nothing - // is using the pull secret or the RBAC, so reclaiming them is safe, and - // inside it reclaiming them breaks the pod that is still running. + // podMayBeRunning is true only between a successful Job create and the + // point its pods are seen to end. Every cleanup defer below keys off it: + // outside that window nothing is using the pull secret or the RBAC, so + // reclaiming them is safe, and inside it reclaiming them breaks the pod + // that is still running. podMayBeRunning := false // Random per-run identity. Every object this run creates carries it, so a @@ -208,6 +248,9 @@ func runClusterValidator( if err != nil { return ClusterValidatorResult{Err: err} } + if p.OnStart != nil { + p.OnStart(runID) + } // Reclaim leftovers from dead runs before resolving this run's pull // secret. The sweep only takes objects older than its TTL, so it cannot @@ -219,41 +262,43 @@ func runClusterValidator( if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role, runID, noCleanup); err == nil { pullSecret = resolved } - // Sweep only this role's managed pull secret, and only once the pod can no + mintedSecret := pullSecret != "" && pullSecret == validatorPullSecretRunName(role, runID) + + // sweep runs one deferred sweep on a fresh, bounded context, and only once + // no pod of this run can still need what it removes. --no-cleanup keeps + // everything. A sweep that fails leaves objects behind, so the result + // carries its error and the caller prints the removal command. + sweep := func(remove func(context.Context) error) { + if noCleanup || podMayBeRunning { + return + } + cctx, cancel := cleanupContext() + defer cancel() + if err := remove(cctx); err != nil { + res.SweepErr = errors.Join(res.SweepErr, err) + res.Created = true + } + } + // Sweep only this run's managed pull secret, and only once the pod can no // longer need it. Sweeping unconditionally deletes the Secret out from // under a pod that is still retrying its pull, which the kubelet then // reports as FailedToRetrieveImagePullSecret. Operator-supplied secrets via // the flag aren't labeled by us and are skipped. - // --no-cleanup is honoured here as it is for the RBAC below: an operator - // who keeps the Job for debugging and then re-runs the preserved pod would - // otherwise hit FailedToRetrieveImagePullSecret, the exact symptom the - // per-role secret scoping exists to prevent. - defer func() { - if !noCleanup && !podMayBeRunning { - cctx, cancel := cleanupContext() - defer cancel() - sweepManagedPullSecrets(cctx, client, role, runID) - } - }() + defer sweep(func(c context.Context) error { return sweepManagedPullSecrets(c, client, role, runID) }) - // Register the cleanup before the bootstrap, not after. ensureClusterValidatorRBAC + // Register the cleanup before the bootstrap, not after. The bootstrap // creates three objects in sequence and returns on the first failure, so a // kubeconfig that can create a ServiceAccount but not a cluster-scoped // ClusterRole would otherwise abandon the ServiceAccount on every attempt. - // The names are per-run now, so nothing self-heals by reuse: under --wait - // that leaks one object per poll. The sweep is name-scoped and - // label-guarded, so running it when nothing was created is a no-op. - defer func() { - if !noCleanup && !podMayBeRunning { - cctx, cancel := cleanupContext() - defer cancel() - sweepClusterValidatorRBAC(cctx, client, role, runID) - } - }() - if err := ensureClusterValidatorRBAC(vctx, client, role, runID, noCleanup); err != nil { + // The sweep is name-scoped and label-guarded, so running it when nothing + // was created is a no-op. + defer sweep(func(c context.Context) error { return sweepClusterValidatorRBAC(c, client, role, runID) }) + if created, err := bootstrapClusterValidatorRBAC(vctx, client, role, runID, noCleanup); err != nil { // RunID lets --no-cleanup print the command that removes whatever the // failed bootstrap and the pull-secret step already created. - return ClusterValidatorResult{RunID: runID, Err: fmt.Errorf("bootstrapping validator RBAC: %w", err)} + return ClusterValidatorResult{ + RunID: runID, Created: created || mintedSecret, Err: fmt.Errorf("bootstrapping validator RBAC: %w", err), + } } // For the control-plane role, create a ConfigMap with reachability @@ -267,14 +312,8 @@ func runClusterValidator( // path, so it was left in the cluster forever. Same gating as the // other sweeps: keep it when the pod may still read it, or when the // operator asked to keep the run's artifacts. - defer func() { - if !noCleanup && !podMayBeRunning { - cctx, cancel := cleanupContext() - defer cancel() - sweepClusterValidatorConfig(cctx, client, runID) - } - }() - if err := ensureClusterValidatorConfig(vctx, client, registries, runID, noCleanup); err != nil { + defer sweep(func(c context.Context) error { return sweepClusterValidatorConfig(c, client, runID) }) + if err := ensureClusterValidatorConfig(vctx, client, p.Registries, runID, noCleanup); err != nil { // Non-fatal: continue without the ConfigMap; the validator skips // configurable reachability and enforcement checks silently unless // we surface this note in the transcript. @@ -285,23 +324,31 @@ func runClusterValidator( // No sweep of earlier Jobs: every Job now carries a deadline and a TTL, // so a role-wide sweep could only ever hit an overlapping run's live Job. jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) - job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create( - vctx, buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, env, tolerations...), - metav1.CreateOptions{}, - ) + spec := buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, p.Env, p.Tolerations...) + if spec.Spec.ActiveDeadlineSeconds != nil { + // Counted from now, not from the start of the run: the sweep, the + // pull-secret scan and the bootstrap have used some of its timeout. + deadline := validatorActiveDeadlineSeconds(timeLeft(vctx)) + spec.Spec.ActiveDeadlineSeconds = &deadline + } + job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create(vctx, spec, metav1.CreateOptions{}) if err != nil { // A create cut off by an interrupt or a dropped connection may still - // have been applied, and a Job left behind would run with its RBAC - // swept. The name is this run's own, so removing it is safe, except - // under --no-cleanup, which keeps whatever this run made. When its - // pod may still be running, its objects are kept and the result says - // how to remove them. - if !noCleanup { - podMayBeRunning = !stopValidatorJob(client, jobName) - } - return ClusterValidatorResult{ - RunID: runID, Err: fmt.Errorf("creating validator Job: %w", err), LeftBehind: podMayBeRunning, + // have been applied. Without --no-cleanup its pod would run with its + // RBAC swept, so it is stopped, and when its pod may still be running + // its objects are kept and the result says how to remove them. Under + // --no-cleanup it is kept, but suspended: nothing follows it, and with + // no deadline a pod that cannot pull would retry forever. + res := ClusterValidatorResult{RunID: runID, Created: true, Err: fmt.Errorf("creating validator Job: %w", err)} + if noCleanup { + if serr := suspendValidatorJob(client, jobName); serr != nil && !apierrors.IsNotFound(serr) { + res.Err = fmt.Errorf("%w; suspending the kept Job failed: %v", res.Err, serr) + } + return res } + podMayBeRunning = !stopValidatorJob(client, jobName) + res.LeftBehind = podMayBeRunning + return res } podMayBeRunning = true @@ -314,29 +361,29 @@ func runClusterValidator( // that anyone able to recreate that ServiceAccount name could inherit. // Not under --no-cleanup: a kept Secret or ConfigMap owned by the kept Job // would be garbage-collected the moment an operator re-runs that Job by - // deleting and recreating it. + // deleting and recreating it. On a fresh context: an interrupt right after + // the create must not leave them unowned. var owned []ownedArtifact - if pullSecret == validatorPullSecretRunName(role, runID) { + if mintedSecret { owned = append(owned, ownedArtifact{kind: "Secret", name: pullSecret}) } if role == clusterValidatorControlPlaneRole && configNote == "" { owned = append(owned, ownedArtifact{kind: "ConfigMap", name: clusterValidatorConfigRunName(runID)}) } if !noCleanup { - ownByJob(vctx, client, job, owned) + octx, ocancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) + ownByJob(octx, client, job, owned) + ocancel() } final, waitErr := waitForClusterValidatorJob(vctx, client, jobName) - // A clean wait means the pod reached a terminal state, so the RBAC can go. - // Otherwise the pod may still be running: pulling the RBAC then fills its - // transcript with "forbidden", and cuts off the validator's own cleanup - // of its probe resources. - podMayBeRunning = waitErr != nil // The run's own context has ended: the operator interrupted it, or the // check's time budget ran out. Nothing will wait for a later result, so // the Job is stopped now rather than left to its deadline. abandoned := waitErr != nil && ctx.Err() != nil - ownTimeout := waitErr != nil && !abandoned && errors.Is(waitErr, context.DeadlineExceeded) + var pullErr *validatorImagePullError + isPullErr := errors.As(waitErr, &pullErr) + ownTimeout := waitErr != nil && !abandoned && !isPullErr && errors.Is(waitErr, context.DeadlineExceeded) if ownTimeout { // The validator's own timeout, not the check's budget: its result is // that it did not finish, which is not the budget cutting it short. @@ -348,121 +395,213 @@ func runClusterValidator( // partial transcript matters most. Not after an interrupt, which only // wants the cleanup. var rawLogs string + var logsErr error if !errors.Is(ctx.Err(), context.Canceled) { - rawLogs = readValidatorLogs(client, jobName) + rawLogs, logsErr = readValidatorLogs(client, jobName) } // A pull failure is different: the container never started, so nothing // uses the RBAC, the pull secret or the ConfigMap. Delete the Job so its // pod stops retrying, and let the deferred sweeps run now rather than // leaving a cluster-wide ClusterRole and an NGC-key Secret for a later - // run's orphan sweep, or for nobody. + // run's orphan sweep, or for nobody. A kept Job is suspended instead. // Each stop deletes the Job in the foreground and waits, bounded, for its // pod to end before the deferred sweeps revoke its RBAC. The validator // removes its own probe namespace and DaemonSet on SIGTERM, and needs // that RBAC to do it. - var pullErr *validatorImagePullError - isPullErr := errors.As(waitErr, &pullErr) - stopped := false + stopped, suspended := false, false + var suspendErr error + // endRun stops the Job, or under --no-cleanup suspends it when its pod is + // failing to pull: a kept Job has no deadline, so that pod would retry + // forever. + endRun := func(pullFailing bool) { + switch { + case !noCleanup: + podMayBeRunning = !stopValidatorJob(client, jobName) + stopped = true + case pullFailing || validatorPodPullFailing(client, jobName): + suspended, suspendErr = true, suspendValidatorJob(client, jobName) + } + } switch { case waitErr == nil: - case isPullErr && noCleanup: - // Kept for debugging, but a pod that cannot pull has nothing to - // run: suspend the Job so the pod stops retrying forever. - suspendValidatorJob(client, jobName) - case (isPullErr || abandoned) && !noCleanup: - podMayBeRunning = !stopValidatorJob(client, jobName) - stopped = true - case !noCleanup: + // The Job counts an evicted or preempted pod as failed while the pod + // still runs its SIGTERM cleanup, which needs the RBAC. + if !noCleanup { + podMayBeRunning = !waitValidatorPodsDone(client, jobName, validatorStopTimeout) + } + case isPullErr || abandoned: + endRun(isPullErr) + default: // The validator's own timeout passed, or its Job could not be read // for a while. Its active deadline ends the pod soon after the - // timeout, so wait for that, then grade on what the Job actually - // did: a validator that finished late, or while its Job could not be - // read, still has a result. An interrupt or the end of the check's - // budget during the wait stops the Job instead. - limit := validatorDeadlineGrace - if deadline, ok := vctx.Deadline(); ok { - limit += max(time.Until(deadline), 0) - } - done, ended := waitValidatorPodsDoneOrEnded(ctx, client, jobName, limit) + // timeout, so wait for the Job to finish, then grade on what it + // actually did: a validator that finished late, or while its Job + // could not be read, still has a result. The Job is the authority: + // its status can trail its pod's, and before its pod exists an empty + // pod list proves nothing. An interrupt or the end of the check's + // budget during the wait ends the run instead. + job, podsDone, ended := awaitValidatorJob(ctx, client, jobName, validatorDeadlineGrace+timeLeft(vctx)) + podMayBeRunning = !podsDone switch { case ended: - podMayBeRunning = !stopValidatorJob(client, jobName) - stopped = true + endRun(false) if !ownTimeout { // The result was still to come when the run ended, so this // is the interrupt or the budget, not the validator. waitErr = fmt.Errorf("waiting for job %s: %w (after %w)", jobName, ctx.Err(), waitErr) } - case done: - podMayBeRunning = false - if job, ok := readFinishedValidatorJob(client, jobName); ok { - final, waitErr = job, nil - rawLogs = readValidatorLogs(client, jobName) + case job != nil: + final, waitErr = job, nil + // The partial transcript stays unless the full one can be read. + if logs, err := readValidatorLogs(client, jobName); logs != "" { + rawLogs, logsErr = logs, nil + } else if err != nil { + logsErr = err } } } + if waitErr == nil && jobDeadlineExceeded(final) { + // The deadline stopped a validator that never finished: that is its + // own timeout, not failed checks. + waitErr = fmt.Errorf("the validator did not finish within %s (stopped at its active deadline)", + clusterValidatorTimeout) + } + cleaned := cleanValidatorOutput(rawLogs) if configNote != "" { cleaned = configNote + "\n" + cleaned } - if waitErr != nil { - res := ClusterValidatorResult{ - JobName: jobName, - RunID: runID, - Logs: cleaned, - Err: waitErr, - LeftBehind: podMayBeRunning && !noCleanup, - } - if stopped { - // The Job is gone, so a hint to read its logs would 404. - res.JobName = "" - } + res = ClusterValidatorResult{ + JobName: jobName, + RunID: runID, + Created: true, + Logs: cleaned, + LogsErr: logsErr, + LeftBehind: podMayBeRunning && !noCleanup, + Suspended: suspended && suspendErr == nil, + Err: waitErr, + } + if suspendErr != nil { + res.Err = fmt.Errorf("%w; suspending the kept Job failed, so its pod keeps retrying the pull: %v", + cmp.Or(waitErr, errors.New("the run ended")), suspendErr) + } + if stopped { + // The Job is gone, so a hint to read its logs would 404. + res.JobName = "" + } + if res.Err != nil { return res } // A fresh context: the run's own may have ended while the Job was read. exitCtx, exitCancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) defer exitCancel() - return ClusterValidatorResult{ - Passed: final.Status.Succeeded > 0, - ExitCode: containerExitCode(exitCtx, client, jobName), - Logs: cleaned, - JobName: jobName, - RunID: runID, + res.Passed = jobSucceeded(final) + res.ExitCode, res.Reason = containerTermination(exitCtx, client, jobName) + return res +} + +// timeLeft is how long ctx has before its deadline, or zero. +func timeLeft(ctx context.Context) time.Duration { + if deadline, ok := ctx.Deadline(); ok { + return max(time.Until(deadline), 0) } + return 0 +} + +// validatorActiveDeadlineSeconds is the Job's active deadline when left of +// the run's own timeout remains: validatorDeadlineOffset after it ends. +func validatorActiveDeadlineSeconds(left time.Duration) int64 { + return int64(math.Ceil(left.Seconds())) + int64(validatorDeadlineOffset/time.Second) } -// readValidatorLogs fetches the validator's transcript on a fresh, bounded -// context, so it works after the run's own context has ended. -func readValidatorLogs(client kubernetes.Interface, jobName string) string { +// readValidatorLogs fetches the validator's transcript on a fresh context +// bounded by clusterValidatorLogFetchTimeout, so it works after the run's own +// context has ended. A failed read is retried inside that bound: a kubelet +// restart or a reset stream is not the transcript. +func readValidatorLogs(client kubernetes.Interface, jobName string) (string, error) { ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) defer cancel() - logs, _ := fetchClusterValidatorLogs(ctx, client, jobName) - return logs + for { + logs, err := fetchClusterValidatorLogs(ctx, client, jobName) + if err == nil || apierrors.IsForbidden(err) || apierrors.IsUnauthorized(err) { + return logs, err + } + select { + case <-ctx.Done(): + return logs, err + case <-time.After(clusterValidatorPollInterval): + } + } } -// readFinishedValidatorJob reads the Job once its pod has ended and returns -// it when it has finished, retrying a few transient read errors. -func readFinishedValidatorJob(client kubernetes.Interface, jobName string) (*batchv1.Job, bool) { - ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) +// jobFinished reports whether the Job has reached its result: a pod +// succeeded or failed, or it carries a terminal condition. +func jobFinished(job *batchv1.Job) bool { + if job.Status.Succeeded > 0 || job.Status.Failed > 0 { + return true + } + for _, c := range job.Status.Conditions { + if c.Status == corev1.ConditionTrue && (c.Type == batchv1.JobComplete || c.Type == batchv1.JobFailed) { + return true + } + } + return false +} + +// jobSucceeded reports whether the validator exited 0. +func jobSucceeded(job *batchv1.Job) bool { + if job.Status.Succeeded > 0 { + return true + } + for _, c := range job.Status.Conditions { + if c.Type == batchv1.JobComplete && c.Status == corev1.ConditionTrue { + return true + } + } + return false +} + +// jobDeadlineExceeded reports whether the Job's active deadline ended it. +func jobDeadlineExceeded(job *batchv1.Job) bool { + for _, c := range job.Status.Conditions { + if c.Status == corev1.ConditionTrue && (c.Type == batchv1.JobFailed || c.Type == batchv1.JobFailureTarget) && + c.Reason == batchv1.JobReasonDeadlineExceeded { + return true + } + } + return false +} + +// awaitValidatorJob waits up to limit for the Job to finish and its pods to +// end, or until run ends: an interrupt, or the check's budget. It returns the +// Job once it has finished, or nil, whether its pods had all ended, and +// whether run ended first. Reads happen on their own context, so they work +// after run has ended. +func awaitValidatorJob( + run context.Context, client kubernetes.Interface, jobName string, limit time.Duration, +) (finished *batchv1.Job, podsDone, ended bool) { + ctx, cancel := context.WithTimeout(context.Background(), limit) defer cancel() - for attempt := 0; attempt < validatorGetErrorLimit; attempt++ { + for { job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, jobName, metav1.GetOptions{}) - switch { - case err == nil: - return job, job.Status.Succeeded > 0 || job.Status.Failed > 0 - case apierrors.IsNotFound(err), apierrors.IsForbidden(err), apierrors.IsUnauthorized(err): - return nil, false + if err == nil && jobFinished(job) { + finished = job + } + podsDone = validatorPodsEnded(ctx, client, jobName) + if podsDone && (finished != nil || apierrors.IsNotFound(err)) { + return finished, true, false } select { + case <-run.Done(): + return finished, podsDone, true case <-ctx.Done(): - return nil, false - case <-time.After(clusterValidatorPollInterval): + return finished, podsDone, false + case <-time.After(time.Second): } } - return nil, false } // extraValidatorEnv returns env as container variables in a stable order, @@ -535,14 +674,21 @@ func deleteValidatorJob(ctx context.Context, client kubernetes.Interface, name s _ = jobs.Delete(dctx, name, opts) } +// Production values of the waits TestMain shortens, so tests can pin them. +const ( + defaultValidatorDeadlineGrace = 120 * time.Second + defaultValidatorPullFailureGrace = 90 * time.Second +) + // Vars (not consts) so tests can shorten them. var ( // validatorStopTimeout bounds the wait for a stopped Job's pod to end. // It covers the pod's default 30s termination grace period. validatorStopTimeout = 45 * time.Second // validatorDeadlineGrace bounds the wait, after this run's own timeout, - // for the Job's active deadline (60s later) to end the pod. - validatorDeadlineGrace = 120 * time.Second + // for the Job's active deadline (validatorDeadlineOffset later) to end + // the pod and for the Job to record it. + validatorDeadlineGrace = defaultValidatorDeadlineGrace // validatorRunMargin is ClusterValidatorRunCeiling's allowance for the // pod's termination grace period and the API round trips between waits. validatorRunMargin = 30 * time.Second @@ -552,7 +698,7 @@ var ( // start 30 to 50s after the first failure. A minute and a half covers // it, so a registry outage of under a minute does not fail the run. A // pull error that cannot clear (see permanentPullFailure) is final at once. - validatorPullFailureGrace = 90 * time.Second + validatorPullFailureGrace = defaultValidatorPullFailureGrace // validatorGetErrorLimit is how many consecutive failed Job reads end the // wait. One 5xx or a refused connection during an apiserver restart is // not the Job's result. @@ -567,48 +713,60 @@ func stopValidatorJob(client kubernetes.Interface, name string) bool { } // suspendValidatorJob stops a kept Job from creating or retrying its pod. -func suspendValidatorJob(client kubernetes.Interface, name string) { - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) +func suspendValidatorJob(client kubernetes.Interface, name string) error { + ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) defer cancel() - _, _ = client.BatchV1().Jobs(clusterValidatorNamespace).Patch(ctx, name, types.MergePatchType, + _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Patch(ctx, name, types.MergePatchType, []byte(`{"spec":{"suspend":true}}`), metav1.PatchOptions{}) + return err } -// waitValidatorPodsDone waits up to limit, on a fresh context, until no pod of -// the Job is still running, and reports whether that happened. -func waitValidatorPodsDone(client kubernetes.Interface, jobName string, limit time.Duration) bool { - done, _ := waitValidatorPodsDoneOrEnded(context.Background(), client, jobName, limit) - return done +// validatorPodPullFailing reports, on a fresh context, whether the Job's pod +// is failing to pull its image. +func validatorPodPullFailing(client kubernetes.Interface, jobName string) bool { + ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) + defer cancel() + reason, _ := podPullFailureReason(ctx, client, jobName) + return reason != "" } -// waitValidatorPodsDoneOrEnded waits up to limit until no pod of the Job is -// still running, or until run ends: an interrupt, or the check's budget. It -// reports whether the pods were done, and whether run ended first. Pod reads -// happen on their own context, so they work after run has ended. -func waitValidatorPodsDoneOrEnded( - run context.Context, client kubernetes.Interface, jobName string, limit time.Duration, -) (done, ended bool) { +// waitValidatorPodsDone waits up to limit, on a fresh context, until no pod of +// the Job can still run, and reports whether that happened. +func waitValidatorPodsDone(client kubernetes.Interface, jobName string, limit time.Duration) bool { ctx, cancel := context.WithTimeout(context.Background(), limit) defer cancel() for { - pods, err := client.CoreV1().Pods(clusterValidatorNamespace).List(ctx, - metav1.ListOptions{LabelSelector: "job-name=" + jobName}) - if err == nil && allPodsDone(pods.Items) { - return true, false + if validatorPodsEnded(ctx, client, jobName) { + return true } select { - case <-run.Done(): - return false, true case <-ctx.Done(): - return false, false + return false case <-time.After(time.Second): } } } -func allPodsDone(pods []corev1.Pod) bool { - for i := range pods { - if p := pods[i].Status.Phase; p != corev1.PodSucceeded && p != corev1.PodFailed { +// validatorPodsEnded reports whether no pod of the Job can still run. A pod +// being deleted may still be running its SIGTERM cleanup, so it has not +// ended. With no pods, that holds only once the Job will create none: it has +// finished, is being deleted, or is gone. +func validatorPodsEnded(ctx context.Context, client kubernetes.Interface, jobName string) bool { + pods, err := client.CoreV1().Pods(clusterValidatorNamespace).List(ctx, + metav1.ListOptions{LabelSelector: "job-name=" + jobName}) + if err != nil { + return false + } + if len(pods.Items) == 0 { + job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, jobName, metav1.GetOptions{}) + if err != nil { + return apierrors.IsNotFound(err) + } + return jobFinished(job) || job.DeletionTimestamp != nil + } + for i := range pods.Items { + pod := &pods.Items[i] + if pod.DeletionTimestamp != nil || (pod.Status.Phase != corev1.PodSucceeded && pod.Status.Phase != corev1.PodFailed) { return false } } @@ -627,6 +785,15 @@ func (e *validatorImagePullError) Error() string { // ClusterRoleBinding for the validator pod. Create only: the names are unique // per run, so an object that already exists was not made by this run. func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool) error { + _, err := bootstrapClusterValidatorRBAC(ctx, client, role, runID, preserve) + return err +} + +// bootstrapClusterValidatorRBAC is ensureClusterValidatorRBAC that also +// reports whether it created anything before it failed. +func bootstrapClusterValidatorRBAC( + ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool, +) (created bool, err error) { roleLabels := clusterValidatorRunLabels(role, runID, preserve) name := clusterValidatorRBACName(role, runID) @@ -641,7 +808,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // anything already sitting there was not put there by this run and must not // be adopted and bound to the validator ClusterRole. if _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Create(ctx, sa, metav1.CreateOptions{}); err != nil { - return fmt.Errorf("create service account: %w", err) + return false, fmt.Errorf("create service account: %w", err) } cr := &rbacv1.ClusterRole{ @@ -685,7 +852,7 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface // unique per run, so there are no stale rules from an older CLI to refresh // and nothing legitimate to overwrite. if _, err := client.RbacV1().ClusterRoles().Create(ctx, cr, metav1.CreateOptions{}); err != nil { - return fmt.Errorf("create cluster role: %w", err) + return true, fmt.Errorf("create cluster role: %w", err) } crb := &rbacv1.ClusterRoleBinding{ @@ -703,9 +870,9 @@ func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface } // Create only, same reasoning as above. if _, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); err != nil { - return fmt.Errorf("create cluster role binding: %w", err) + return true, fmt.Errorf("create cluster role binding: %w", err) } - return nil + return true, nil } func clusterValidatorLabels() map[string]string { @@ -885,28 +1052,48 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte // sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding // created by ensureClusterValidatorRBAC. Called after Job completion (when // --no-cleanup is not set) to close the window where the elevated ClusterRole -// exists. Each run mints its own names, so nothing is reused and anything left -// behind is reclaimed by sweepOrphanClusterValidatorRBAC instead. -// Errors are swallowed: stale RBAC is preferable to failing the result. -func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) { +// exists. Each run mints its own names, so nothing is reused. It returns what +// it could not remove, so the run can say how to remove it. +func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) error { name := clusterValidatorRBACName(role, runID) - // Delete by name, but only what we own. These are cluster-scoped objects - // and the errors here are swallowed, so an operator-owned ClusterRole with - // a colliding name would otherwise vanish with no diagnostic at all. - if crb, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}); err == nil && - hasValidatorManagedLabels(crb.Labels) { - _ = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, deleteExactly(crb)) + // Delete by name, but only what we own: these are cluster-scoped, so an + // operator-owned ClusterRole with a colliding name must never vanish. + var errs []error + if crb, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}); err == nil { + if hasValidatorManagedLabels(crb.Labels) { + errs = append(errs, ignoreNotFound(client.RbacV1().ClusterRoleBindings().Delete(ctx, name, deleteExactly(crb)))) + } + } else { + errs = append(errs, ignoreNotFound(err)) } - if cr, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil && - hasValidatorManagedLabels(cr.Labels) { - _ = client.RbacV1().ClusterRoles().Delete(ctx, name, deleteExactly(cr)) + if cr, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil { + if hasValidatorManagedLabels(cr.Labels) { + errs = append(errs, ignoreNotFound(client.RbacV1().ClusterRoles().Delete(ctx, name, deleteExactly(cr)))) + } + } else { + errs = append(errs, ignoreNotFound(err)) } sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) - if acct, err := sa.Get(ctx, name, metav1.GetOptions{}); err == nil && - hasValidatorManagedLabels(acct.Labels) { - _ = sa.Delete(ctx, name, deleteExactly(acct)) + if acct, err := sa.Get(ctx, name, metav1.GetOptions{}); err == nil { + if hasValidatorManagedLabels(acct.Labels) { + errs = append(errs, ignoreNotFound(sa.Delete(ctx, name, deleteExactly(acct)))) + } + } else { + errs = append(errs, ignoreNotFound(err)) + } + if err := errors.Join(errs...); err != nil { + return fmt.Errorf("removing validator RBAC %s: %w", name, err) + } + return nil +} + +// ignoreNotFound drops a NotFound error: the object is already gone. +func ignoreNotFound(err error) error { + if apierrors.IsNotFound(err) { + return nil } + return err } // sweepManagedPullSecrets removes this run's docker-registry secret in @@ -916,15 +1103,14 @@ func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, // sweeps or to sweepOrphanClusterValidatorRBAC. // // Operator-supplied secrets via --cluster-validator-pull-secret aren't -// labeled by us and are skipped by the selector. Errors are swallowed: -// failing to clean up is preferable to failing the check itself. -func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role, runID string) { +// labeled by us and are skipped by the selector. +func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role, runID string) error { // The generated name is part of the ownership test, not just the labels, // which are public constants anything could carry. secrets := client.CoreV1().Secrets(clusterValidatorNamespace) l, err := secrets.List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(role)}) if err != nil { - return + return fmt.Errorf("listing validator pull secrets: %w", err) } for i := range l.Items { // Only this run's Secret. The name is unguessable and unique per run, @@ -932,8 +1118,11 @@ func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, r if l.Items[i].Name != validatorPullSecretRunName(role, runID) { continue } - _ = secrets.Delete(ctx, l.Items[i].Name, deleteExactly(&l.Items[i])) + if err := ignoreNotFound(secrets.Delete(ctx, l.Items[i].Name, deleteExactly(&l.Items[i]))); err != nil { + return fmt.Errorf("removing validator pull secret %s: %w", l.Items[i].Name, err) + } } + return nil } // validatorRoleSelector matches objects this CLI created for one validator role. @@ -1202,11 +1391,12 @@ func buildClusterValidatorJob( // the Job and its pod, and through ownerReferences its pull secret and // ConfigMap. The ServiceAccount, ClusterRole and binding are left to // the deferred sweeps, or to a later run's orphan sweep. Sized above - // the runner's own budget so it never truncates a wait that is still - // making progress. A --no-cleanup Job gets neither, so the pod and its - // logs survive for debugging until the operator removes them or a - // later check's orphan sweep runs after preservedValidatorTTL. - activeDeadline := int64(clusterValidatorTimeout/time.Second) + 60 + // the runner's own timeout so it never truncates a wait that is still + // making progress; the runner sets it from the time it has left. A + // --no-cleanup Job gets neither, so the pod and its logs survive for + // debugging until the operator removes them or a later check's orphan + // sweep runs after preservedValidatorTTL. + activeDeadline := validatorActiveDeadlineSeconds(clusterValidatorTimeout) job.Spec.ActiveDeadlineSeconds = &activeDeadline ttl := clusterValidatorTTLSeconds job.Spec.TTLSecondsAfterFinished = &ttl @@ -1238,7 +1428,7 @@ func waitForClusterValidatorJob(ctx context.Context, client kubernetes.Interface getErrors >= validatorGetErrorLimit { return nil, fmt.Errorf("get job %s: %w", jobName, err) } - case job.Status.Succeeded > 0 || job.Status.Failed > 0: + case jobFinished(job): return job, nil default: getErrors = 0 @@ -1350,23 +1540,30 @@ func podNameForClusterValidatorJob(ctx context.Context, client kubernetes.Interf return pods.Items[0].Name, nil } -// Informational only; the canonical pass/fail signal is Job.Status.Succeeded. -// Returns -1 when the exit code can't be read. -func containerExitCode(ctx context.Context, client kubernetes.Interface, jobName string) int32 { +// containerTermination returns the validator container's exit code, -1 when +// it cannot be read or the container never ended by itself, and the reason +// the container or its pod ended when that says more than the code: an OOM +// kill or an eviction. Informational only; the canonical pass/fail signal is +// the Job's status. +func containerTermination(ctx context.Context, client kubernetes.Interface, jobName string) (int32, string) { podName, _ := podNameForClusterValidatorJob(ctx, client, jobName) if podName == "" { - return -1 + return -1, "" } pod, err := client.CoreV1().Pods(clusterValidatorNamespace).Get(ctx, podName, metav1.GetOptions{}) if err != nil { - return -1 + return -1, "" } + code, reason := int32(-1), "" for _, cs := range pod.Status.ContainerStatuses { if cs.Name == clusterValidatorContainer && cs.State.Terminated != nil { - return cs.State.Terminated.ExitCode + code, reason = cs.State.Terminated.ExitCode, cs.State.Terminated.Reason } } - return -1 + if reason == "" || reason == "Error" || reason == "Completed" { + reason = pod.Status.Reason + } + return code, reason } // Idempotent: running twice yields the same output. @@ -1398,15 +1595,24 @@ func kubectlLogsHint(kubeContext, jobName string) string { // sweepClusterValidatorConfig removes the network-checks ConfigMap this run // created. The name is scoped to this run, and the managed labels are checked // as well, so a same-named object belonging to anyone else is left alone. -// Errors are swallowed, as with the other sweeps. -func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, runID string) { +// It returns what it could not remove, as the other sweeps do. +func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, runID string) error { cms := client.CoreV1().ConfigMaps(clusterValidatorNamespace) name := clusterValidatorConfigRunName(runID) cm, err := cms.Get(ctx, name, metav1.GetOptions{}) - if err != nil || !hasValidatorManagedLabels(cm.Labels) { - return + if err != nil { + if err = ignoreNotFound(err); err != nil { + return fmt.Errorf("reading validator ConfigMap %s: %w", name, err) + } + return nil } - _ = cms.Delete(ctx, name, deleteExactly(cm)) + if !hasValidatorManagedLabels(cm.Labels) { + return nil + } + if err := ignoreNotFound(cms.Delete(ctx, name, deleteExactly(cm))); err != nil { + return fmt.Errorf("removing validator ConfigMap %s: %w", name, err) + } + return nil } // clusterValidatorTolerations mirrors the chart's tolerations so the Job can diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 8519ddc26e..e83dd5067c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -42,6 +42,7 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" + typedcorev1 "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/client-go/rest" ktesting "k8s.io/client-go/testing" ) @@ -87,6 +88,7 @@ func lifecycleClient(jobStatus func(name string) *batchv1.Job, waiting string) * client := fake.NewSimpleClientset() var jobName atomic.Value jobName.Store("") + var jobDeleted atomic.Bool client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { job := action.(ktesting.CreateAction).GetObject().(*batchv1.Job) job.UID = types.UID("uid-" + job.Name) @@ -95,17 +97,35 @@ func lifecycleClient(jobStatus func(name string) *batchv1.Job, waiting string) * }) client.PrependReactor("get", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { name := jobName.Load().(string) - if name == "" || action.(ktesting.GetAction).GetName() != name || jobStatus == nil { + if name == "" || action.(ktesting.GetAction).GetName() != name || jobStatus == nil || jobDeleted.Load() { return false, nil, nil } job := jobStatus(name) job.Labels = clusterValidatorLabels() return true, job, nil }) - client.PrependReactor("list", "pods", podListReactor(waiting)) + // The pod's phase follows the Job's: ended once the Job has finished, + // pending while it waits on its image, running otherwise. + client.PrependReactor("list", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + phase := corev1.PodRunning + switch name := jobName.Load().(string); { + case waiting != "": + phase = corev1.PodPending + case name != "" && jobStatus != nil && jobStatus(name).Status.Succeeded > 0: + phase = corev1.PodSucceeded + case name != "" && jobStatus != nil && jobStatus(name).Status.Failed > 0: + phase = corev1.PodFailed + } + ret, obj, err := podListReactor(waiting)(action) + if list, ok := obj.(*corev1.PodList); ok { + for i := range list.Items { + list.Items[i].Status.Phase = phase + } + } + return ret, obj, err + }) // Deleting the Job takes its pod with it, as the garbage collector would; // the fake clientset has none. - var jobDeleted atomic.Bool client.PrependReactor("delete", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { jobDeleted.Store(true) return false, nil, nil @@ -292,10 +312,7 @@ func TestRunClusterValidator_NoCleanupKeepsRunAndPrintsTheCommand(t *testing.T) for _, kind := range []string{"ServiceAccount", "ClusterRole", "ClusterRoleBinding", "Secret", "ConfigMap"} { assert.Len(t, left[kind], 1, kind) } - hint := validatorCleanupHint("ctx-a", res.RunID) - assert.Contains(t, hint, clusterValidatorRunLabel+"="+res.RunID) - assert.Contains(t, hint, "clusterrole,clusterrolebinding") - assert.Contains(t, hint, "--context ctx-a") + assert.True(t, res.Created) } func stampAge(o metav1.Object, age time.Duration) { @@ -329,9 +346,47 @@ func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *tes job(clusterValidatorName+"-2", clusterValidatorRunLabels(clusterValidatorControlPlaneRole, "new-kept", true), time.Hour), ) + for _, run := range []struct { + id string + age time.Duration + }{{"old-kept", 25 * time.Hour}, {"new-kept", time.Hour}} { + lbls := clusterValidatorRunLabels(clusterValidatorControlPlaneRole, run.id, true) + objs := []metav1.Object{ + &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, + run.id), Namespace: clusterValidatorNamespace, Labels: lbls}}, + &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorConfigRunName(run.id), + Namespace: clusterValidatorNamespace, Labels: clusterValidatorConfigLabels(run.id, true)}}, + &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{Name: name(run.id), Labels: lbls}}, + &rbacv1.ClusterRoleBinding{ObjectMeta: metav1.ObjectMeta{Name: name(run.id), Labels: lbls}}, + } + for _, o := range objs { + stampAge(o, run.age) + require.NoError(t, client.Tracker().Add(o.(runtime.Object))) + } + } + sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) ctx := context.Background() + for _, run := range []struct { + id string + kept bool + }{{"old-kept", false}, {"new-kept", true}} { + _, secretErr := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, + validatorPullSecretRunName(clusterValidatorControlPlaneRole, run.id), metav1.GetOptions{}) + _, cmErr := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, clusterValidatorConfigRunName(run.id), + metav1.GetOptions{}) + _, crErr := client.RbacV1().ClusterRoles().Get(ctx, name(run.id), metav1.GetOptions{}) + _, crbErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name(run.id), metav1.GetOptions{}) + for kind, err := range map[string]error{"Secret": secretErr, "ConfigMap": cmErr, "ClusterRole": crErr, + "ClusterRoleBinding": crbErr} { + if run.kept { + assert.NoError(t, err, "a preserved %s younger than a day is kept", kind) + } else { + assert.True(t, apierrors.IsNotFound(err), "a preserved %s older than a day is reclaimed", kind) + } + } + } _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, name("old-kept"), metav1.GetOptions{}) assert.True(t, apierrors.IsNotFound(err), "a preserved object older than a day is reclaimed") _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(ctx, name("new-kept"), metav1.GetOptions{}) @@ -423,7 +478,8 @@ func TestClusterValidatorCheck_PassesRegistriesAndEnv(t *testing.T) { } regs := []RegistryEntry{{Registry: "harbor.corp.example"}} env := map[string]string{"VALIDATOR_POST_INSTALL": "true"} - clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, regs, env).Run(context.Background()) + clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1", + ClusterValidatorRegistries: regs, ClusterValidatorEnv: env}, validatorRoleControlPlane).Run(context.Background()) assert.Equal(t, regs, got.Registries) assert.Equal(t, env, got.Env) } @@ -436,7 +492,8 @@ func TestClusterValidatorCheck_PreRoleImageIsAWarning(t *testing.T) { cv := func(context.Context, ClusterValidatorParams) ClusterValidatorResult { return ClusterValidatorResult{Passed: passed, ExitCode: 1, Logs: logs} } - return clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, nil, nil).Run(context.Background()) + return clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1"}, + validatorRoleControlPlane).Run(context.Background()) } legacy := func(summaryRows ...string) string { @@ -606,7 +663,8 @@ func TestClusterValidatorCheck_PassWithWarnings(t *testing.T) { cv := func(context.Context, ClusterValidatorParams) ClusterValidatorResult { return ClusterValidatorResult{Passed: true, Logs: logs} } - return clusterValidatorCheck(cv, "", "img:1", "", false, validatorRoleControlPlane, nil, nil).Run(context.Background()) + return clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1"}, + validatorRoleControlPlane).Run(context.Background()) } base := "Validator role: control-plane\n" @@ -682,8 +740,46 @@ func TestRunClusterValidator_PodThatWillNotEndKeepsItsRBAC(t *testing.T) { assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1) } -// On a plain timeout the Job's own deadline ends the pod shortly after; once it -// has, the RBAC is swept as on success instead of waiting for a later sweep. +// On a plain timeout the Job's own deadline ends the pod shortly after. The +// run reads as the validator not finishing, not as failed checks: it keeps +// the partial transcript, and once the pod is gone its RBAC is swept. +func TestRunClusterValidator_DeadlineKillIsATimeout(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + var killed atomic.Bool + client := lifecycleClient(func(name string) *batchv1.Job { + if !killed.Load() { + return running(name) + } + job := running(name) + job.Status.Failed = 1 + job.Status.Conditions = []batchv1.JobCondition{{ + Type: batchv1.JobFailed, Status: corev1.ConditionTrue, Reason: batchv1.JobReasonDeadlineExceeded, + }} + return job + }, "") + // The deadline deletes the pod, so the re-read finds no transcript. + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + if killed.Load() { + return true, &corev1.PodList{}, nil + } + return false, nil, nil + }) + prevTimeout, prevGrace := clusterValidatorTimeout, validatorDeadlineGrace + clusterValidatorTimeout, validatorDeadlineGrace = 300*time.Millisecond, 5*time.Second + t.Cleanup(func() { clusterValidatorTimeout, validatorDeadlineGrace = prevTimeout, prevGrace }) + timer := time.AfterFunc(time.Second, func() { killed.Store(true) }) + t.Cleanup(func() { timer.Stop() }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.EqualError(t, res.Err, "the validator did not finish within 300ms (stopped at its active deadline)") + assert.Equal(t, "fake logs\n", res.Logs, "the partial transcript read at the timeout is kept") + assert.False(t, res.LeftBehind) + assert.Empty(t, leftovers(t, client, res.RunID)["ClusterRole"], "the deadline ended the pod, so its RBAC goes") +} + +// Once the Job's pod has ended, its RBAC goes even if the Job never records +// the result. func TestRunClusterValidator_TimeoutSweepsOnceThePodEnds(t *testing.T) { t.Setenv("NGC_API_KEY", "key") client := lifecycleClient(running, "") @@ -692,21 +788,19 @@ func TestRunClusterValidator_TimeoutSweepsOnceThePodEnds(t *testing.T) { if !ended.Load() { return false, nil, nil } - return true, &corev1.PodList{Items: []corev1.Pod{{Status: corev1.PodStatus{Phase: corev1.PodFailed}}}}, nil + return podPhaseReactor(func() corev1.PodPhase { return corev1.PodFailed })(action) }) prev := clusterValidatorTimeout clusterValidatorTimeout = 300 * time.Millisecond t.Cleanup(func() { clusterValidatorTimeout = prev }) - go func() { - time.Sleep(time.Second) - ended.Store(true) - }() + timer := time.AfterFunc(time.Second, func() { ended.Store(true) }) + t.Cleanup(func() { timer.Stop() }) res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", "", false, clusterValidatorComputePlaneRole, nil, nil) require.Error(t, res.Err) assert.False(t, res.LeftBehind) - assert.Empty(t, leftovers(t, client, res.RunID)["ClusterRole"], "the deadline ended the pod, so its RBAC goes") + assert.Empty(t, leftovers(t, client, res.RunID)["ClusterRole"], "the pod ended, so its RBAC goes") } // Under --no-cleanup the kept Secret and ConfigMap are not owned by the kept @@ -986,6 +1080,8 @@ func TestWaitForClusterValidatorJob_PermanentPullErrorsAreFinalAtOnce(t *testing `failed to resolve reference "nvcr.io/nvidia/validator:9": nvcr.io/nvidia/validator:9: not found`: true, `failed to authorize: failed to fetch oauth token: 401 Unauthorized`: true, `pull access denied, repository does not exist or may require authorization`: true, + `failed to resolve reference "nvcr.io/nvidia/validator:9": manifest unknown`: true, + `failed to fetch anonymous token: authentication required`: true, `failed to do request: Head "https://nvcr.io/v2/nvidia/validator/manifests/9": 503 Service Unavailable`: false, `dial tcp: lookup nvcr.io on 10.96.0.10:53: i/o timeout`: false, } { @@ -1091,3 +1187,764 @@ func TestRunClusterValidator_BudgetEndDuringAReadOutageIsCutShort(t *testing.T) require.ErrorIs(t, res.Err, context.DeadlineExceeded) assert.ErrorContains(t, res.Err, "the apiserver is restarting", "the outage is still named") } + +// legacyValidatorTranscript is what a validator that predates roles (v3.2.26) +// prints on a cluster with no GPUs, byte for byte from its printSummary: ANSI +// colours, the box around the verdict, and the failure line after the box, +// which carries the same mark as a failed row. +func legacyValidatorTranscript(controlPlaneHealthy bool) string { + const ( + blue, green, red, yellow, reset = "\x1b[34m", "\x1b[32m", "\x1b[31m", "\x1b[33m", "\x1b[0m" + check, cross, warn = "\u2713", "\u2717", "\u26a0" + ) + sep := blue + strings.Repeat("\u2501", 60) + reset + header := func(title string) []string { return []string{"", sep, blue + " " + title + reset, sep} } + edge := strings.Repeat("\u2550", 59) + controlPlane := green + check + " Control Plane: Healthy" + reset + if !controlPlaneHealthy { + controlPlane = red + cross + " Control Plane: Unhealthy" + reset + } + var lines []string + lines = append(lines, header("GPU Resources")...) + lines = append(lines, red+cross+" No GPU resources found in cluster"+reset) + lines = append(lines, header("Validation Summary")...) + lines = append(lines, + "Check Results:", + controlPlane, + green+check+" Worker Nodes: All Ready"+reset, + green+check+" Admission Webhooks: Mutating & Validating Supported"+reset, + green+check+" Network Policies: Supported"+reset, + green+check+" SMB CSI Driver: v1.16.0+ Installed"+reset, + red+cross+" GPU Resources: Not Available"+reset, + yellow+warn+" GPU Operator: Not Installed"+reset, + "", sep, "", + red+"\u2554"+edge+"\u2557"+reset, + red+"\u2551 "+cross+" Cluster is NVCF-Not-Ready "+cross+" \u2551"+reset, + red+"\u255a"+edge+"\u255d"+reset, + "", + red+cross+" Your cluster does not meet all requirements for NVCF workloads"+reset, + "", + "Validation completed at 2026-10-03 18:35:37 UTC", + ) + return strings.Join(lines, "\n") + "\n" +} + +// gradeWith runs the validator check for role on a stub that returns res. +func gradeWith(role string, res ClusterValidatorResult) CheckResult { + cv := func(context.Context, ClusterValidatorParams) ClusterValidatorResult { return res } + return clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1", KubeContext: "ctx-a"}, + role).Run(context.Background()) +} + +// The narrow downgrade for an image that predates roles, against what such an +// image really prints. Its GPU failure on a CPU-only control plane is the +// image's doing, and the failure line it prints after the verdict box is not +// a row; any other failed row stands. On the compute plane nothing is +// downgraded: the old image ran the right checks there. +func TestClusterValidatorCheck_LegacyTranscript(t *testing.T) { + grade := func(role string, controlPlaneHealthy bool) CheckResult { + return gradeWith(role, ClusterValidatorResult{ExitCode: 1, Logs: cleanValidatorOutput( + legacyValidatorTranscript(controlPlaneHealthy))}) + } + gpuOnly := grade(validatorRoleControlPlane, true) + assert.Equal(t, SeverityWarning, gpuOnly.Severity, gpuOnly.Message) + assert.Contains(t, gpuOnly.Message, "does not support the control-plane checks") + + both := grade(validatorRoleControlPlane, false) + assert.Equal(t, SeverityError, both.Severity) + assert.Equal(t, "cluster-validator reported failures (Control Plane: Unhealthy); the image predates "+ + "validator roles, so only its checks common to both roles ran", both.Message) + + compute := grade(validatorRoleComputePlane, true) + assert.Equal(t, SeverityError, compute.Severity) + assert.Equal(t, "cluster-validator reported failures: GPU Resources: Not Available", compute.Message) +} + +// The legacy test needs both halves of its evidence: no role line, and the +// compute-plane check set's output. +func TestClusterValidatorCheck_LegacyNeedsNoRoleLineAndTheGPUSet(t *testing.T) { + roleAware := gradeWith(validatorRoleControlPlane, ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: " + + "control-plane\n=== GPU Resources ===\nCheck Results:\n\u2717 GPU Resources: Not Available\n" + + "Cluster is NVCF-Not-Ready\n"}) + assert.Equal(t, SeverityError, roleAware.Severity, "a role-aware image's failure stands") + assert.NotContains(t, roleAware.Message, "predates") + + early := gradeWith(validatorRoleControlPlane, ClusterValidatorResult{ExitCode: 1, + Logs: "level=fatal msg=\"Failed to create Kubernetes client\"\n"}) + assert.Equal(t, SeverityError, early.Severity) + assert.NotContains(t, early.Message, "predates", "no GPU set, so nothing says the image is old") +} + +// A Job that succeeded is a clean pass only when its transcript shows the +// requested checks reaching their verdict. Otherwise warnings may be hidden: +// the row warns, names why, says how to read the transcript, and --wait polls +// again. +func TestClusterValidatorCheck_PassNeedsTheRoleLineAndTheVerdict(t *testing.T) { + for name, tc := range map[string]struct { + role string + res ClusterValidatorResult + want string + cleanOK bool + }{ + "empty transcript": {role: validatorRoleControlPlane, want: "its transcript was empty"}, + "unreadable": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ + LogsErr: errors.New("connection refused to kubelet")}, want: "connection refused to kubelet"}, + "no role line": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ + Logs: "Starting NVCF cluster validation\nCluster is NVCF-Ready\n"}, want: "does not show the control-plane checks"}, + "other role": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ + Logs: "Validator role: compute-plane\nCluster is NVCF-Ready\n"}, want: "does not show the control-plane checks"}, + "cut off before the verdict": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ + Logs: "Validator role: control-plane\nTier-1: ok\n"}, want: "the transcript has no verdict"}, + "ready": {role: validatorRoleControlPlane, cleanOK: true}, + "legacy compute-plane": {role: validatorRoleComputePlane, cleanOK: true}, + } { + tc.res.Passed, tc.res.JobName = true, "job-1" + switch { + case name == "ready": + tc.res.Logs = "Validator role: control-plane\nCluster is NVCF-Ready\n" + case name == "legacy compute-plane": + tc.res.Logs = "=== GPU Resources ===\nCluster is NVCF-Ready\n" + } + r := gradeWith(tc.role, tc.res) + if tc.cleanOK { + assert.True(t, r.Passed, name) + assert.Equal(t, SeverityInfo, r.Severity, name) + continue + } + assert.False(t, r.Passed, name) + assert.Equal(t, SeverityWarning, r.Severity, name) + assert.True(t, r.Transient, "%s: --wait polls again", name) + assert.Contains(t, r.Message, "verdict could not be read", name) + assert.Contains(t, r.Message, tc.want, name) + assert.Contains(t, r.Message, "kubectl --context ctx-a logs -n default job/job-1", name) + } +} + +// A failed run names the rows that failed it, unobserved critical checks +// included. One that ended before its verdict, killed or evicted, says so +// instead of blaming the cluster's checks. +func TestClusterValidatorCheck_FailuresNameTheirRows(t *testing.T) { + failed := gradeWith(validatorRoleControlPlane, ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: " + + "control-plane\nCheck Results:\n\u2713 Control Plane: Healthy\n" + + "\u2717 Tier-2 StatefulSets: nats-system/nats not ready\n" + + "\u26a0 Gateway API: Status Unknown (check did not run)\n" + + "\u26a0 Worker Nodes: 1 NotReady (non-blocking)\n" + + "\u2717 Cluster is NVCF-Not-Ready \u2717\n" + + "\u2717 Your cluster does not meet all requirements for NVCF workloads\n"}) + assert.Equal(t, SeverityError, failed.Severity) + assert.Equal(t, "cluster-validator reported failures: Tier-2 StatefulSets: nats-system/nats not ready; "+ + "Gateway API: Status Unknown (check did not run)", failed.Message) + + oom := gradeWith(validatorRoleControlPlane, ClusterValidatorResult{ExitCode: 137, Reason: "OOMKilled", + Logs: "Validator role: control-plane\nTier-1: ok\n"}) + assert.Equal(t, SeverityError, oom.Severity) + assert.Contains(t, oom.Message, "the validator exited 137 before printing a verdict (OOMKilled)") + + evicted := gradeWith(validatorRoleComputePlane, ClusterValidatorResult{ExitCode: -1, Reason: "Evicted"}) + assert.Contains(t, evicted.Message, "its pod ended before the validator printed a verdict (Evicted)") +} + +// The Job's status can trail its pod's by more than the poll: the pod has +// succeeded while the Job still reads as running. The run waits for the Job, +// the authority, and grades on it. +func TestRunClusterValidator_JobStatusTrailingThePodIsGraded(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + prevTimeout, prevGrace := clusterValidatorTimeout, validatorDeadlineGrace + clusterValidatorTimeout, validatorDeadlineGrace = 300*time.Millisecond, 6*time.Second + t.Cleanup(func() { clusterValidatorTimeout, validatorDeadlineGrace = prevTimeout, prevGrace }) + start := time.Now() + client := lifecycleClient(func(name string) *batchv1.Job { + if time.Since(start) > 2500*time.Millisecond { + return succeeded(name) + } + return running(name) + }, "") + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { + if time.Since(start) > 700*time.Millisecond { + return corev1.PodSucceeded + } + return corev1.PodRunning + })) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.True(t, res.Passed) + assert.Empty(t, leftovers(t, client, res.RunID)) +} + +// Job reads that fail before the pod exists leave an empty pod list, which +// proves nothing: the pod may still be created. Its RBAC stays. +func TestRunClusterValidator_ReadOutageBeforeThePodExistsKeepsRBAC(t *testing.T) { + prevPoll, prevTimeout := clusterValidatorPollInterval, clusterValidatorTimeout + clusterValidatorPollInterval, clusterValidatorTimeout = 20*time.Millisecond, time.Second + t.Cleanup(func() { clusterValidatorPollInterval, clusterValidatorTimeout = prevPoll, prevTimeout }) + client := lifecycleClient(running, "") + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewServiceUnavailable("the apiserver is restarting") + }) + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + return true, &corev1.PodList{}, nil + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + assert.True(t, res.LeftBehind) + assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1) +} + +// Under --no-cleanup too, a validator that passed while its Job could not be +// read passes: the Job is read again once the wait ends. +func TestRunClusterValidator_NoCleanupReadOutageIsGradedOnTheJob(t *testing.T) { + prev := clusterValidatorPollInterval + clusterValidatorPollInterval = 20 * time.Millisecond + t.Cleanup(func() { clusterValidatorPollInterval = prev }) + client := lifecycleClient(succeeded, "") + var failedReads atomic.Int32 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + if failedReads.Add(1) <= int32(validatorGetErrorLimit) { + return true, nil, apierrors.NewServiceUnavailable("the apiserver is restarting") + } + return false, nil, nil + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.True(t, res.Passed) +} + +// A pod being deleted may still be running its SIGTERM cleanup, and an empty +// pod list means the pods ended only once the Job will create none. +func TestValidatorPodsEnded(t *testing.T) { + now := metav1.Now() + pod := func(phase corev1.PodPhase, deleting bool) *corev1.Pod { + p := &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "p-" + string(phase), Namespace: clusterValidatorNamespace, + Labels: map[string]string{"job-name": "j"}}, Status: corev1.PodStatus{Phase: phase}} + if deleting { + p.DeletionTimestamp = &now + p.Finalizers = []string{"batch.kubernetes.io/job-tracking"} + } + return p + } + job := func(mutate func(*batchv1.Job)) *batchv1.Job { + j := running("j") + mutate(j) + return j + } + for name, tc := range map[string]struct { + objects []runtime.Object + want bool + }{ + "ended": {objects: []runtime.Object{pod(corev1.PodFailed, false)}, want: true}, + "evicted, still terminating": {objects: []runtime.Object{pod(corev1.PodFailed, true)}}, + "running with a deletion mark": {objects: []runtime.Object{pod(corev1.PodRunning, true)}}, + "no pod, Job running": {objects: []runtime.Object{running("j")}}, + "no pod, Job gone": {want: true}, + "no pod, Job finished": {objects: []runtime.Object{job(func(j *batchv1.Job) { + j.Status.Failed = 1 + })}, want: true}, + "no pod, Job being deleted": {objects: []runtime.Object{job(func(j *batchv1.Job) { + j.DeletionTimestamp = &now + j.Finalizers = []string{"foregroundDeletion"} + })}, want: true}, + } { + client := fake.NewSimpleClientset(tc.objects...) + assert.Equal(t, tc.want, validatorPodsEnded(context.Background(), client, "j"), name) + } +} + +// An evicted or preempted pod counts as failed while it still runs its +// SIGTERM cleanup. Its RBAC stays until it ends, the result says how to +// remove it, and the row reads as the pod ending early, not failed checks. +func TestRunClusterValidator_EvictedPodKeepsItsRBAC(t *testing.T) { + prev := validatorStopTimeout + validatorStopTimeout = 300 * time.Millisecond + t.Cleanup(func() { validatorStopTimeout = prev }) + client := lifecycleClient(func(name string) *batchv1.Job { + j := running(name) + j.Status.Failed = 1 + return j + }, "") + now := metav1.Now() + client.PrependReactor("list", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + _, obj, err := podPhaseReactor(func() corev1.PodPhase { return corev1.PodRunning })(action) + list := obj.(*corev1.PodList) + list.Items[0].DeletionTimestamp = &now + return true, list, err + }) + client.PrependReactor("get", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + if action.GetSubresource() != "" { + return false, nil, nil + } + return true, &corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: action.(ktesting.GetAction).GetName(), Namespace: clusterValidatorNamespace}, + Status: corev1.PodStatus{Phase: corev1.PodRunning, Reason: "Evicted"}, + }, nil + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.False(t, res.Passed) + assert.True(t, res.LeftBehind) + assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1) + assert.Equal(t, int32(-1), res.ExitCode) + assert.Equal(t, "Evicted", res.Reason) +} + +// The wait for a Job to finish retries failed reads, and ends at once when the +// Job and its pods are gone. +func TestAwaitValidatorJob(t *testing.T) { + client := fake.NewSimpleClientset(succeeded("j")) + reads := 0 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + if reads++; reads <= 2 { + return true, nil, apierrors.NewInternalError(errors.New("etcd timeout")) + } + return false, nil, nil + }) + job, podsDone, ended := awaitValidatorJob(context.Background(), client, "j", 10*time.Second) + require.NotNil(t, job, "a failed read is retried") + assert.True(t, podsDone) + assert.False(t, ended) + + start := time.Now() + job, podsDone, _ = awaitValidatorJob(context.Background(), fake.NewSimpleClientset(), "j", 10*time.Second) + assert.Nil(t, job) + assert.True(t, podsDone) + assert.Less(t, time.Since(start), time.Second, "a Job that is gone with its pods is not waited on") +} + +// The Job's active deadline counts from its create, so it is derived from +// what is left of the run's own timeout then. It ends the pod after that +// timeout, and with the pod's termination grace inside the wait for it. +func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { + assert.Positive(t, validatorDeadlineOffset, "the deadline must not cut short the run's own wait") + assert.LessOrEqual(t, validatorDeadlineOffset+podTerminationGrace, defaultValidatorDeadlineGrace, + "the pod must be gone before the CLI stops waiting for it") + assert.Equal(t, int64(68), validatorActiveDeadlineSeconds(7200*time.Millisecond)) + + prev := clusterValidatorTimeout + clusterValidatorTimeout = 10 * time.Second + t.Cleanup(func() { clusterValidatorTimeout = prev }) + client := lifecycleClient(succeeded, "") + // A slow apiserver spends part of the timeout before the Job exists. + client.PrependReactor("list", "clusterrolebindings", func(ktesting.Action) (bool, runtime.Object, error) { + time.Sleep(2 * time.Second) + return false, nil, nil + }) + var deadline int64 + client.PrependReactor("create", "jobs", func(a ktesting.Action) (bool, runtime.Object, error) { + deadline = *a.(ktesting.CreateAction).GetObject().(*batchv1.Job).Spec.ActiveDeadlineSeconds + return false, nil, nil + }) + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.LessOrEqual(t, deadline, int64(8+60), "the deadline counts from the create, not the start of the run") + assert.Greater(t, deadline, int64(60)) +} + +// Each term of the run ceiling, with its multiplier, pinned against a sum +// written out here: a term dropped from the formula leaves the budget short. +func TestClusterValidatorRunCeiling_Terms(t *testing.T) { + prevTimeout, prevGrace, prevLogs, prevCleanup, prevMargin := clusterValidatorTimeout, + validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, validatorRunMargin + t.Cleanup(func() { + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, + validatorRunMargin = prevTimeout, prevGrace, prevLogs, prevCleanup, prevMargin + }) + clusterValidatorTimeout, validatorDeadlineGrace, clusterValidatorLogFetchTimeout, validatorCleanupTimeout, + validatorRunMargin = time.Second, 10*time.Second, 100*time.Second, 1000*time.Second, 10000*time.Second + assert.Equal(t, (1+10+4*100+3*1000+10000)*time.Second, ClusterValidatorRunCeiling()) +} + +// logsClient is a fake clientset whose pod logs come from a real client, so a +// test can change a transcript between reads. +type logsClient struct { + *fake.Clientset + logs kubernetes.Interface +} + +func (c logsClient) CoreV1() typedcorev1.CoreV1Interface { + return logsCoreV1{CoreV1Interface: c.Clientset.CoreV1(), logs: c.logs} +} + +type logsCoreV1 struct { + typedcorev1.CoreV1Interface + logs kubernetes.Interface +} + +func (c logsCoreV1) Pods(ns string) typedcorev1.PodInterface { + return logsPods{PodInterface: c.CoreV1Interface.Pods(ns), logs: c.logs.CoreV1().Pods(ns)} +} + +type logsPods struct { + typedcorev1.PodInterface + logs typedcorev1.PodInterface +} + +func (p logsPods) GetLogs(name string, opts *corev1.PodLogOptions) *rest.Request { + return p.logs.GetLogs(name, opts) +} + +// withLogs serves every pod log read on client from transcript(). +func withLogs(t *testing.T, client *fake.Clientset, transcript func() string) kubernetes.Interface { + t.Helper() + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + w.Header().Set("Content-Type", "text/plain") + _, _ = io.WriteString(w, transcript()) + })) + t.Cleanup(srv.Close) + logs, err := kubernetes.NewForConfig(&rest.Config{Host: srv.URL}) + require.NoError(t, err) + return logsClient{Clientset: client, logs: logs} +} + +// A validator that finishes after the CLI's own timeout is graded on its +// whole transcript, read again once it has finished: the partial one read at +// the timeout holds neither its warnings nor its verdict. +func TestRunClusterValidator_LateFinishRereadsTheTranscript(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + prevTimeout, prevGrace := clusterValidatorTimeout, validatorDeadlineGrace + clusterValidatorTimeout, validatorDeadlineGrace = 300*time.Millisecond, 5*time.Second + t.Cleanup(func() { clusterValidatorTimeout, validatorDeadlineGrace = prevTimeout, prevGrace }) + var finished atomic.Bool + fakeClient := lifecycleClient(func(name string) *batchv1.Job { + if finished.Load() { + return succeeded(name) + } + return running(name) + }, "") + client := withLogs(t, fakeClient, func() string { + if finished.Load() { + return "Validator role: control-plane\nnats: rolling update in progress\n" + + "Cluster is NVCF-Ready (with warnings)\n" + } + return "Validator role: control-plane\n" + }) + timer := time.AfterFunc(time.Second, func() { finished.Store(true) }) + t.Cleanup(func() { timer.Stop() }) + + res := runValidatorJob(context.Background(), client, ClusterValidatorParams{ + Image: "nvcr.io/nvidia/validator:1", Role: clusterValidatorControlPlaneRole, + }) + require.NoError(t, res.Err) + assert.Contains(t, res.Logs, validatorReadyWithWarnings) + r := gradeWith(validatorRoleControlPlane, res) + assert.Equal(t, SeverityWarning, r.Severity) + assert.True(t, r.Transient, "the rollout keeps --wait polling") +} + +// A check's own timeout under a live budget is its result, not the budget +// cutting it short: exit 2, not 5. +func TestRunPreflight_ACheckOwnTimeoutIsNotCutShort(t *testing.T) { + cv := func(context.Context, ClusterValidatorParams) ClusterValidatorResult { + return ClusterValidatorResult{Err: fmt.Errorf("reading the Job: %w", context.DeadlineExceeded)} + } + results := RunPreflightForRole(context.Background(), PreflightConfig{}, RoleControlPlane, + RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1"}, &noopSink{}) + require.Len(t, results, 1) + assert.False(t, results[0].CutShort) + assert.True(t, results[0].IsBlockingFailure()) +} + +// A pull failure that clears restarts the grace: only a failure that lasts +// the whole grace is final. The production grace covers the kubelet's second +// pull retry. +func TestWaitForClusterValidatorJob_PullFailureThatClearsRestartsTheGrace(t *testing.T) { + assert.GreaterOrEqual(t, defaultValidatorPullFailureGrace, 60*time.Second) + prevGrace, prevPoll := validatorPullFailureGrace, clusterValidatorPollInterval + validatorPullFailureGrace, clusterValidatorPollInterval = 200*time.Millisecond, 20*time.Millisecond + t.Cleanup(func() { validatorPullFailureGrace, clusterValidatorPollInterval = prevGrace, prevPoll }) + client := fake.NewSimpleClientset() + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + return true, running("j"), nil + }) + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodPending })) + start := time.Now() + client.PrependReactor("get", "pods", func(action ktesting.Action) (bool, runtime.Object, error) { + pod := &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: action.(ktesting.GetAction).GetName(), + Namespace: clusterValidatorNamespace}} + // Failing, then pulled for a moment, then failing again. + if since := time.Since(start); since < 120*time.Millisecond || since > 180*time.Millisecond { + pod.Status.ContainerStatuses = []corev1.ContainerStatus{{Name: clusterValidatorContainer, + State: corev1.ContainerState{Waiting: &corev1.ContainerStateWaiting{Reason: "ErrImagePull", + Message: "503 Service Unavailable"}}}} + } + return true, pod, nil + }) + ctx, cancel := context.WithTimeout(context.Background(), 340*time.Millisecond) + defer cancel() + _, err := waitForClusterValidatorJob(ctx, client, "j") + var pullErr *validatorImagePullError + assert.False(t, errors.As(err, &pullErr), "no single failure lasted the grace") +} + +// The removal command is safe to paste at any time: it looks at the pod, +// stops the Job in the foreground so the pod ends while it still has its +// RBAC, revokes the cluster-wide RBAC even if a namespaced delete fails, then +// deletes the rest. It names the context the run used. +func TestValidatorRemovalCommand(t *testing.T) { + sel := clusterValidatorRunLabel + "=r1" + assert.Equal(t, "kubectl --context ctx-a get pods -n default -l "+sel+"; "+ + "kubectl --context ctx-a delete -n default job -l "+sel+" --cascade=foreground --wait; "+ + "kubectl --context ctx-a delete clusterrolebinding,clusterrole -l "+sel+"; "+ + "kubectl --context ctx-a delete -n default serviceaccount,secret,configmap -l "+sel, + validatorRemovalCommand("ctx-a", "r1")) +} + +// In a single-cluster run no context is passed, so every hint names the +// current context the run used: pasted after a context switch, it still +// reaches that cluster. +func TestClusterValidatorCheck_HintsPinTheCurrentContext(t *testing.T) { + prev := currentKubeContextNameFn + currentKubeContextNameFn = func() string { return "kind-prod" } + t.Cleanup(func() { currentKubeContextNameFn = prev }) + var got ClusterValidatorParams + cv := func(_ context.Context, p ClusterValidatorParams) ClusterValidatorResult { + got = p + return ClusterValidatorResult{JobName: "job-1", RunID: "r1", Created: true, Err: errors.New("boom")} + } + r := clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1", + ClusterValidatorNoCleanup: true}, validatorRoleControlPlane).Run(context.Background()) + assert.Equal(t, "kind-prod", got.KubeContext, "the run uses the context its hints name") + assert.Equal(t, validatorRemovalCommand("kind-prod", "r1"), r.Cleanup) + assert.Contains(t, r.Detail, "logs: kubectl --context kind-prod logs -n default job/job-1") + assert.Contains(t, r.Detail, "kept with --no-cleanup; remove with: "+r.Cleanup) +} + +// The removal command is printed whenever the run kept something, and only +// then: --no-cleanup with objects created, a pod that may still run, or a +// sweep that failed. Every run's command goes to the ledger as it starts. +func TestClusterValidatorCheck_CleanupRow(t *testing.T) { + for name, tc := range map[string]struct { + noCleanup bool + res ClusterValidatorResult + why string + }{ + "no-cleanup pass": {noCleanup: true, res: ClusterValidatorResult{Created: true, Passed: true}, why: "kept with --no-cleanup"}, + "no-cleanup interrupted": {noCleanup: true, res: ClusterValidatorResult{Created: true, Err: context.Canceled}, why: "kept with --no-cleanup"}, + "no-cleanup, nothing made": {noCleanup: true, res: ClusterValidatorResult{Err: errors.New("create service account: forbidden")}}, + "no-cleanup bootstrap fail": {noCleanup: true, res: ClusterValidatorResult{Created: true, Err: errors.New("create cluster role: forbidden")}, why: "kept with --no-cleanup"}, + "pod may run": {res: ClusterValidatorResult{Created: true, LeftBehind: true, Err: errors.New("x")}, why: "may still be running"}, + "sweep failed": {res: ClusterValidatorResult{Created: true, Passed: true, SweepErr: errors.New("503 from apiserver")}, + why: "removing the run's objects failed (503 from apiserver)"}, + "clean": {res: ClusterValidatorResult{Created: true, Passed: true}}, + } { + ledger := &CleanupLedger{} + var during []string + cv := func(_ context.Context, p ClusterValidatorParams) ClusterValidatorResult { + p.OnStart("r1") + during = ledger.Outstanding() + res := tc.res + res.RunID = "r1" + return res + } + r := clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1", KubeContext: "ctx-a", + ClusterValidatorNoCleanup: tc.noCleanup, ValidatorCleanup: ledger}, validatorRoleComputePlane).Run(context.Background()) + cmd := validatorRemovalCommand("ctx-a", "r1") + assert.Equal(t, []string{cmd}, during, "%s: registered before the run creates anything", name) + if tc.why == "" { + assert.Empty(t, r.Cleanup, name) + assert.Empty(t, ledger.Outstanding(), name) + continue + } + assert.Equal(t, cmd, r.Cleanup, name) + assert.Contains(t, r.Detail, tc.why, name) + assert.Equal(t, []string{cmd}, ledger.Outstanding(), name) + } +} + +// A sweep that fails leaves the run's objects, so the result says so and the +// row carries the removal command. +func TestRunClusterValidator_FailedSweepIsReported(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(succeeded, "") + client.PrependReactor("delete", "clusterroles", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewServiceUnavailable("the apiserver is restarting") + }) + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil, nil) + require.NoError(t, res.Err) + require.Error(t, res.SweepErr) + assert.Contains(t, res.SweepErr.Error(), "the apiserver is restarting") + assert.Len(t, leftovers(t, client, res.RunID)["ClusterRole"], 1) +} + +// Under --no-cleanup a kept Job whose pod cannot pull is suspended on every +// path, so the pod stops retrying: here the run is interrupted inside the +// pull grace. Its row points at the Job, not at logs its deleted pod never had. +func TestRunClusterValidator_NoCleanupSuspendsAPullingJobOnInterrupt(t *testing.T) { + prev := validatorPullFailureGrace + validatorPullFailureGrace = time.Hour + t.Cleanup(func() { validatorPullFailureGrace = prev }) + client := lifecycleClient(running, "ImagePullBackOff") + ctx, cancel := context.WithCancel(context.Background()) + timer := time.AfterFunc(500*time.Millisecond, cancel) + t.Cleanup(func() { timer.Stop() }) + + res := runClusterValidator(ctx, client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorIs(t, res.Err, context.Canceled) + assert.True(t, jobSuspended(client)) + assert.True(t, res.Suspended) + assert.Empty(t, jobDeletes(client)) +} + +// jobSuspended reports whether the client saw the Job suspended. +func jobSuspended(client *fake.Clientset) bool { + for _, a := range client.Actions() { + if p, ok := a.(ktesting.PatchAction); ok && p.GetResource().Resource == "jobs" && + strings.Contains(string(p.GetPatch()), `"suspend":true`) { + return true + } + } + return false +} + +// A kept, unpullable Job is suspended, so its pod is deleted: the row says to +// describe the Job, not to read logs that never existed. A suspend that fails +// leaves the pod retrying, and the row says so. +func TestRunClusterValidator_NoCleanupPullFailure(t *testing.T) { + client := lifecycleClient(running, "ImagePullBackOff") + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + var pullErr *validatorImagePullError + require.ErrorAs(t, res.Err, &pullErr) + require.True(t, res.Suspended) + assert.Equal(t, "inspect: kubectl --context ctx-a describe -n default job/"+res.JobName, + clusterValidatorDetail("ctx-a", res)) + + denied := lifecycleClient(running, "ImagePullBackOff") + denied.PrependReactor("patch", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewForbidden(schema.GroupResource{Group: batchv1.GroupName, Resource: "jobs"}, + "j", errors.New("cannot patch jobs")) + }) + res = runClusterValidator(context.Background(), denied, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorAs(t, res.Err, &pullErr) + assert.False(t, res.Suspended) + assert.Contains(t, res.Err.Error(), "suspending the kept Job failed, so its pod keeps retrying the pull") + assert.Contains(t, res.Err.Error(), "cannot patch jobs") +} + +// A create that fails under --no-cleanup may still have been applied: the +// kept Job is suspended, since nothing follows it and with no deadline a pod +// that cannot pull would retry forever. +func TestRunClusterValidator_NoCleanupFailedCreateIsSuspended(t *testing.T) { + client := lifecycleClient(running, "") + client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { + require.NoError(t, client.Tracker().Add(action.(ktesting.CreateAction).GetObject())) + return true, nil, apierrors.NewInternalError(errors.New("connection reset by peer")) + }) + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorContains(t, res.Err, "creating validator Job") + assert.True(t, jobSuspended(client)) + assert.Empty(t, jobDeletes(client)) +} + +// ctxPatchClient fails a Secret or ConfigMap patch whose context has ended, as +// a real client does; the fake clientset ignores contexts. +type ctxPatchClient struct{ *fake.Clientset } + +func (c ctxPatchClient) CoreV1() typedcorev1.CoreV1Interface { + return ctxPatchCoreV1{CoreV1Interface: c.Clientset.CoreV1()} +} + +type ctxPatchCoreV1 struct{ typedcorev1.CoreV1Interface } + +func (c ctxPatchCoreV1) Secrets(ns string) typedcorev1.SecretInterface { + return ctxPatchSecrets{SecretInterface: c.CoreV1Interface.Secrets(ns)} +} + +func (c ctxPatchCoreV1) ConfigMaps(ns string) typedcorev1.ConfigMapInterface { + return ctxPatchConfigMaps{ConfigMapInterface: c.CoreV1Interface.ConfigMaps(ns)} +} + +type ctxPatchSecrets struct{ typedcorev1.SecretInterface } + +func (s ctxPatchSecrets) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, + opts metav1.PatchOptions, sub ...string) (*corev1.Secret, error) { + if err := ctx.Err(); err != nil { + return nil, err + } + return s.SecretInterface.Patch(ctx, name, pt, data, opts, sub...) +} + +type ctxPatchConfigMaps struct{ typedcorev1.ConfigMapInterface } + +func (c ctxPatchConfigMaps) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, + opts metav1.PatchOptions, sub ...string) (*corev1.ConfigMap, error) { + if err := ctx.Err(); err != nil { + return nil, err + } + return c.ConfigMapInterface.Patch(ctx, name, pt, data, opts, sub...) +} + +// An interrupt right after the Job create must not leave the NGC-key Secret +// and the ConfigMap unowned: if the stopped pod does not end, the Job's TTL is +// then the only thing that removes them with it. +func TestRunClusterValidator_OwnershipSurvivesAnInterruptAfterTheCreate(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + prev := validatorStopTimeout + validatorStopTimeout = 200 * time.Millisecond + t.Cleanup(func() { validatorStopTimeout = prev }) + fakeClient := lifecycleClient(running, "") + fakeClient.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodRunning })) + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + fakeClient.PrependReactor("create", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + cancel() + return false, nil, nil + }) + + res := runValidatorJob(ctx, ctxPatchClient{fakeClient}, ClusterValidatorParams{ + Image: "nvcr.io/nvidia/validator:1", Role: clusterValidatorControlPlaneRole, + }) + require.ErrorIs(t, res.Err, context.Canceled) + require.True(t, res.LeftBehind) + left := leftovers(t, fakeClient, res.RunID) + require.Len(t, left["Secret"], 1) + require.Len(t, left["ConfigMap"], 1) + sec, err := fakeClient.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, left["Secret"][0], metav1.GetOptions{}) + require.NoError(t, err) + assert.Len(t, sec.OwnerReferences, 1) + cm, err := fakeClient.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, left["ConfigMap"][0], metav1.GetOptions{}) + require.NoError(t, err) + assert.Len(t, cm.OwnerReferences, 1) +} + +// An outage early in the run ends the wait early, but the validator still has +// the rest of its timeout: the wait for its result covers that as well as the +// deadline grace, so a validator that passes late in its timeout passes. +func TestRunClusterValidator_EarlyOutageThenLatePass(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + prevPoll, prevTimeout := clusterValidatorPollInterval, clusterValidatorTimeout + clusterValidatorPollInterval, clusterValidatorTimeout = 20*time.Millisecond, 3*time.Second + t.Cleanup(func() { clusterValidatorPollInterval, clusterValidatorTimeout = prevPoll, prevTimeout }) + start := time.Now() + late := func() bool { return time.Since(start) > validatorDeadlineGrace+500*time.Millisecond } + client := lifecycleClient(func(name string) *batchv1.Job { + if late() { + return succeeded(name) + } + return running(name) + }, "") + var failedReads atomic.Int32 + client.PrependReactor("get", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + if failedReads.Add(1) <= int32(validatorGetErrorLimit) { + return true, nil, apierrors.NewServiceUnavailable("the apiserver is restarting") + } + return false, nil, nil + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.True(t, res.Passed) + assert.False(t, res.LeftBehind) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 91b2aafdb2..92197ea0d4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -85,8 +85,10 @@ func podListReactor(waitingReason string) ktesting.ReactionFunc { Namespace: clusterValidatorNamespace, Labels: map[string]string{"job-name": jobName}, }, + Status: corev1.PodStatus{Phase: corev1.PodSucceeded}, } if waitingReason != "" { + pod.Status.Phase = corev1.PodPending pod.Status.ContainerStatuses = []corev1.ContainerStatus{{ Name: clusterValidatorContainer, State: corev1.ContainerState{Waiting: &corev1.ContainerStateWaiting{ @@ -117,7 +119,7 @@ func TestClusterValidatorCheck_OrchestratorErrorFails(t *testing.T) { cv := func(_ context.Context, _ ClusterValidatorParams) ClusterValidatorResult { return ClusterValidatorResult{Err: fmt.Errorf("bootstrapping validator RBAC: forbidden")} } - r := clusterValidatorCheck(cv, "", "", "", false, "", nil, nil).Run(context.Background()) + r := clusterValidatorCheck(RoleConfig{ClusterValidator: cv}, "").Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, SeverityError, r.Severity) assert.True(t, r.IsBlockingFailure()) @@ -805,37 +807,33 @@ func TestSweepClusterValidatorConfig_DeletesOwnAndSparesOperators(t *testing.T) } // --no-cleanup must preserve the whole run, not just the Job: an operator who -// keeps the Job and re-runs the pod needs its pull secret to still exist. +// keeps the Job and re-runs the pod needs its pull secret to still exist. A +// later run, with or without --no-cleanup, leaves an earlier kept run alone. func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { - prior := &batchv1.Job{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorName + "-earlier", Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), - CreationTimestamp: metav1.NewTime(time.Now()), - }} - secret := &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), - Namespace: clusterValidatorNamespace, - Labels: clusterValidatorRoleLabels(clusterValidatorControlPlaneRole), - // The fake clientset leaves this zero, which the orphan sweeper - // reads as older than any TTL. A real apiserver stamps it. - CreationTimestamp: metav1.NewTime(time.Now()), - }, - Type: corev1.SecretTypeDockerConfigJson, + t.Setenv("NGC_API_KEY", "key") + for _, later := range []bool{true, false} { + client := lifecycleClient(succeeded, "") + // The fake leaves creation times zero, which the orphan sweep reads + // as older than any TTL. A real apiserver stamps them. + client.PrependReactor("create", "*", func(a ktesting.Action) (bool, runtime.Object, error) { + if o, ok := a.(ktesting.CreateAction).GetObject().(metav1.Object); ok { + o.SetCreationTimestamp(metav1.Now()) + } + return false, nil, nil + }) + first := runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", + "", true, clusterValidatorControlPlaneRole, nil, nil) + require.NoError(t, first.Err) + kept := leftovers(t, client, first.RunID) + require.Len(t, kept["Secret"], 1, "the first run keeps its pull secret") + + runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", + "", later, clusterValidatorControlPlaneRole, nil, nil) + assert.Equal(t, kept, leftovers(t, client, first.RunID), "later --no-cleanup=%v", later) + _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(context.Background(), first.JobName, + metav1.GetOptions{}) + assert.NoError(t, err, "the kept Job survives a later run") } - client := fake.NewSimpleClientset(prior, secret) - driveJobToSuccess(client) - - runClusterValidator(context.Background(), client, "nvcr.io/x/validator:1", - "", true /* noCleanup */, clusterValidatorControlPlaneRole, nil, nil) - - _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get( - context.Background(), prior.Name, metav1.GetOptions{}) - assert.NoError(t, err, "--no-cleanup must not destroy a deliberately preserved Job") - - _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get( - context.Background(), secret.Name, metav1.GetOptions{}) - assert.NoError(t, err, "--no-cleanup must keep the pull secret the preserved pod needs") } // The Job runs the same image as the chart's CronJob, so it needs the same pod diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index 6d51a087b9..49ab35051f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -125,6 +125,10 @@ func NewInotifyProber() NodeInotifyProber { // shorten it. var inotifyProbeBudget = 100 * time.Second +// InotifyProbeBudget is the longest the node inotify probe runs, which the +// check command's time budget must cover. +func InotifyProbeBudget() time.Duration { return inotifyProbeBudget } + // probeAllNodes is the testable core: it takes a kubernetes.Interface so // callers can inject fake.NewSimpleClientset. It probes nodes in parallel // with a small concurrency cap so image-pull latency doesn't blow the diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 9112223169..10beac07ec 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -26,7 +26,10 @@ import ( "os/exec" "path/filepath" "regexp" + "slices" + "sort" "strings" + "sync" "time" "github.com/Masterminds/semver/v3" @@ -252,6 +255,11 @@ type PreflightConfig struct { // RegistryChecker validates credentials for one registry. Nil skips the // category. Production wires NewRegistryCredentialChecker; tests pass fakes. RegistryChecker RegistryCredentialChecker + + // Interrupted reports an interrupt. The run's context cannot: once the + // check's budget has ended it, a later interrupt leaves it unchanged, and + // an interrupted run reports no rows for checks it never finished. + Interrupted func() bool } // DefaultTools returns the kubectl/helmfile/helm specs with version floors @@ -388,6 +396,10 @@ type RoleConfig struct { // a tag whose latest tag could not be discovered. The validator does not // run, and the role reports that as a failed check rather than nothing. ClusterValidatorUnresolvedImage string + + // ValidatorCleanup records the removal command of every validator run + // that may leave objects in the cluster. Nil records nothing. + ValidatorCleanup *CleanupLedger } // categorySpec groups a set of checks under a named category. Categories run @@ -485,17 +497,7 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { // (Gateway API CRDs, Envoy Gateway, StorageClass, external LB, // node-to-node overlay, and reachability to nvcr.io + extra registries). if rc.ClusterValidator != nil { - cat.checks = append(cat.checks, clusterValidatorCheck( - rc.ClusterValidator, - rc.KubeContext, - rc.ClusterValidatorImage, - rc.ClusterValidatorPullSecret, - rc.ClusterValidatorNoCleanup, - validatorRoleControlPlane, - rc.ClusterValidatorRegistries, - rc.ClusterValidatorEnv, - rc.ClusterValidatorTolerations..., - )) + cat.checks = append(cat.checks, clusterValidatorCheck(rc, validatorRoleControlPlane)) } else if rc.ClusterValidatorUnresolvedImage != "" { cat.checks = append(cat.checks, unresolvedValidatorCheck(rc.ClusterValidatorUnresolvedImage)) } @@ -530,17 +532,7 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { cat.checks = append(cat.checks, nodeInotifyCheck(rc.InotifyProber, rc.KubeContext)) } if rc.ClusterValidator != nil { - cat.checks = append(cat.checks, clusterValidatorCheck( - rc.ClusterValidator, - rc.KubeContext, - rc.ClusterValidatorImage, - rc.ClusterValidatorPullSecret, - rc.ClusterValidatorNoCleanup, - validatorRoleComputePlane, - nil, // registries: compute-plane doesn't use the ConfigMap reachability list - rc.ClusterValidatorEnv, - rc.ClusterValidatorTolerations..., - )) + cat.checks = append(cat.checks, clusterValidatorCheck(rc, validatorRoleComputePlane)) } else if rc.ClusterValidatorUnresolvedImage != "" { cat.checks = append(cat.checks, unresolvedValidatorCheck(rc.ClusterValidatorUnresolvedImage)) } @@ -669,16 +661,17 @@ func unresolvedValidatorCheck(image string) binaryCheckSpec { } } -// clusterValidatorCheck runs the validator Job. A validator that could not run -// (RBAC denied, image pull failure, timeout) is an error like a validator -// failure: nothing was checked, and a readiness gate must not pass on that. -// --skip-cluster-validation is the explicit opt-out. role selects the check -// set via VALIDATOR_ROLE; registries extends the ConfigMap reachability list. -func clusterValidatorCheck( - cv ClusterValidator, kubeContext, image, pullSecret string, noCleanup bool, role string, - registries []RegistryEntry, env map[string]string, tolerations ...corev1.Toleration, -) binaryCheckSpec { +// clusterValidatorCheck runs the validator Job for role. A validator that +// could not run (RBAC denied, image pull failure, timeout) is an error like a +// validator failure: nothing was checked, and a readiness gate must not pass +// on that. --skip-cluster-validation is the explicit opt-out. Only the +// control-plane validator probes rc's registries. +func clusterValidatorCheck(rc RoleConfig, role string) binaryCheckSpec { const id = "cluster-validator" + registries := rc.ClusterValidatorRegistries + if role != validatorRoleControlPlane { + registries = nil + } return binaryCheckSpec{ ID: id, HumanLabel: "running cluster-validator probe…", @@ -687,30 +680,29 @@ func clusterValidatorCheck( ID: id, HintURL: clusterValidatorHintURL, } - result := cv(ctx, ClusterValidatorParams{ + // Every hint names the context the run used, so it stays right + // after the current context changes. + kubeContext := effectiveKubeContext(rc.KubeContext) + result := rc.ClusterValidator(ctx, ClusterValidatorParams{ KubeContext: kubeContext, - Image: image, - PullSecret: pullSecret, - NoCleanup: noCleanup, + Image: rc.ClusterValidatorImage, + PullSecret: rc.ClusterValidatorPullSecret, + NoCleanup: rc.ClusterValidatorNoCleanup, Role: role, Registries: registries, - Env: env, - Tolerations: tolerations, + Env: rc.ClusterValidatorEnv, + Tolerations: rc.ClusterValidatorTolerations, + OnStart: func(runID string) { + rc.ValidatorCleanup.started(runID, validatorRemovalCommand(kubeContext, runID)) + }, }) r.Logs = result.Logs - r.Detail = clusterValidatorDetail(kubeContext, result.JobName) - switch { - case noCleanup: - r.Cleanup = validatorCleanupHint(kubeContext, result.RunID) - case result.LeftBehind: - // The pod could still be running, so its RBAC was kept rather - // than pulled out from under it. Say how to remove it once it - // ends, instead of leaving it for a later check's sweep. - r.Cleanup = validatorLeftBehindHint(kubeContext, result.RunID) - } - if r.Cleanup != "" { - r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + r.Cleanup + r.Detail = clusterValidatorDetail(kubeContext, result) + if why := validatorKeptReason(rc.ClusterValidatorNoCleanup, result); why != "" { + r.Cleanup = validatorRemovalCommand(kubeContext, result.RunID) + r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + why + ": " + r.Cleanup } + rc.ValidatorCleanup.finished(result.RunID, r.Cleanup) if errors.Is(result.Err, context.Canceled) { r.Severity = SeverityWarning @@ -725,66 +717,132 @@ func clusterValidatorCheck( r.Err = result.Err return r } - // An image that predates role support ignores VALIDATOR_ROLE and runs - // the compute-plane GPU checks, which fail on a CPU-only control - // plane. The latest tag can be such an image until a release with - // role support is published, so report it as the image being too - // old rather than as the cluster failing. That needs positive - // evidence of the legacy check set, not just a missing role line: a - // role-aware image that fails before printing it (say, building its - // Kubernetes client) must still fail the run. - if role == validatorRoleControlPlane && isLegacyComputePlaneTranscript(result.Logs) { - // Downgrade only the failure the old image causes by itself: its - // GPU check on a CPU-only control plane. Its checks common to both - // roles (the control plane's /readyz, admission webhooks, critical - // registry reachability) still see real failures, and those fail. - if others := legacyCriticalFailures(result.Logs); len(others) > 0 { - r.Severity = SeverityError - r.Message = "cluster-validator reported failures (" + strings.Join(others, "; ") + - "); the image predates validator roles, so only its checks common to both roles ran" - return r - } - r.Severity = SeverityWarning - r.Message = "cluster-validator image does not support the control-plane checks (it ran the " + - "compute-plane set); use an image from an NVCA release that supports validator roles, " + - "or pass --skip-cluster-validation" - return r - } - r.Passed = result.Passed - if result.Passed && strings.Contains(result.Logs, validatorReadyWithWarnings) { - // The Job succeeding is not a clean pass when the validator - // itself reported warnings. A rollout in progress is expected - // to clear, so --wait keeps polling on it. - r.Passed = false - r.Severity = SeverityWarning - r.Transient = isRolloutTranscript(result.Logs) - r.Message = "cluster-validator passed with warnings; run with --show-logs for details" - if r.Transient { - r.Message = "cluster-validator passed with a rollout in progress; --wait polls until it completes" - } - return r - } - if result.Passed { - r.Severity = SeverityInfo - r.Message = "cluster passed cluster-validator built-in checks" - return r - } - r.Severity = SeverityError - r.Message = fmt.Sprintf("cluster-validator reported failures (exit code %d)", result.ExitCode) + gradeValidatorTranscript(&r, result, role, kubeContext) return r }, } } +// gradeValidatorTranscript grades a validator that ran to its end on what its +// transcript shows, not on the Job's status alone. +func gradeValidatorTranscript(r *CheckResult, result ClusterValidatorResult, role, kubeContext string) { + // An image that predates role support ignores VALIDATOR_ROLE and runs + // the compute-plane GPU checks, which fail on a CPU-only control + // plane. The latest tag can be such an image until a release with + // role support is published, so report it as the image being too + // old rather than as the cluster failing. That needs positive + // evidence of the legacy check set, not just a missing role line: a + // role-aware image that fails before printing it (say, building its + // Kubernetes client) must still fail the run. + if role == validatorRoleControlPlane && isLegacyComputePlaneTranscript(result.Logs) { + // Downgrade only the failure the old image causes by itself: its + // GPU check on a CPU-only control plane. Its checks common to both + // roles (the control plane's /readyz, admission webhooks, critical + // registry reachability) still see real failures, and those fail. + if others := legacyCriticalFailures(result.Logs); len(others) > 0 { + r.Severity = SeverityError + r.Message = "cluster-validator reported failures (" + strings.Join(others, "; ") + + "); the image predates validator roles, so only its checks common to both roles ran" + return + } + r.Severity = SeverityWarning + r.Message = "cluster-validator image does not support the control-plane checks (it ran the " + + "compute-plane set); use an image from an NVCA release that supports validator roles, " + + "or pass --skip-cluster-validation" + return + } + if !result.Passed { + r.Severity = SeverityError + if !strings.Contains(result.Logs, validatorVerdictNotReady) { + // It ended before its verdict: a crash, an OOM kill or an + // eviction, not the cluster failing a check. + r.Message = "cluster-validator did not complete, so the cluster was not validated: " + + validatorEndedEarly(result) + return + } + r.Message = fmt.Sprintf("cluster-validator reported failures (exit code %d)", result.ExitCode) + if rows := failedValidatorRows(result.Logs, ""); len(rows) > 0 { + r.Message = "cluster-validator reported failures: " + strings.Join(rows, "; ") + } + return + } + // Info needs proof the requested checks ran and passed: the role line, + // and the verdict. A transcript that cannot be read, or stops short of + // its verdict, can hide warnings, so it is not a clean pass, and --wait + // polls again. + if why := unreadVerdict(result, role); why != "" { + r.Severity = SeverityWarning + r.Transient = true + r.Message = "cluster-validator Job succeeded but its verdict could not be read (" + why + ")" + if hint := kubectlLogsHint(kubeContext, result.JobName); hint != "" { + r.Message += "; read it with: " + hint + } + return + } + if strings.Contains(result.Logs, validatorReadyWithWarnings) { + // The Job succeeding is not a clean pass when the validator + // itself reported warnings. A rollout in progress is expected + // to clear, so --wait keeps polling on it. + r.Severity = SeverityWarning + r.Transient = isRolloutTranscript(result.Logs) + r.Message = "cluster-validator passed with warnings; run with --show-logs for details" + if r.Transient { + r.Message = "cluster-validator passed with a rollout in progress; --wait polls until it completes" + } + return + } + r.Passed = true + r.Severity = SeverityInfo + r.Message = "cluster passed cluster-validator built-in checks" +} + +// unreadVerdict says why a successful run's transcript does not show the +// requested check set reaching its verdict, or "" when it does. A validator +// that predates roles always runs the compute-plane set. +func unreadVerdict(result ClusterValidatorResult, role string) string { + logs := result.Logs + ranRole := strings.Contains(logs, validatorRoleMarker+role) || + (role == validatorRoleComputePlane && isLegacyComputePlaneTranscript(logs)) + switch { + case result.LogsErr != nil && !strings.Contains(logs, validatorVerdictReady): + return "its transcript could not be read: " + result.LogsErr.Error() + case strings.TrimSpace(logs) == "": + return "its transcript was empty" + case !ranRole: + return "the transcript does not show the " + role + " checks" + case !strings.Contains(logs, validatorVerdictReady): + return "the transcript has no verdict" + } + return "" +} + +// validatorEndedEarly describes a validator that failed before its verdict. +func validatorEndedEarly(result ClusterValidatorResult) string { + msg := "its pod ended before the validator printed a verdict" + if result.ExitCode >= 0 { + msg = fmt.Sprintf("the validator exited %d before printing a verdict", result.ExitCode) + } + if result.Reason != "" { + msg += " (" + result.Reason + ")" + } + if result.LogsErr != nil { + msg += "; its transcript could not be read: " + result.LogsErr.Error() + } + return msg +} + // validatorRoleMarker prefixes the line a role-aware validator prints naming // the check set it runs. Must match RoleMarker in // nvca/internal/clustervalidator/validator.go. const validatorRoleMarker = "Validator role: " -// validatorReadyWithWarnings is in the verdict line of a run that passed every -// critical check with warnings. Must match printSummary in -// nvca/internal/clustervalidator/validator.go. -const validatorReadyWithWarnings = "NVCF-Ready (with warnings)" +// The verdict lines printSummary prints. The with-warnings line contains the +// plain one. Must match printSummary in nvca/internal/clustervalidator. +const ( + validatorVerdictReady = "Cluster is NVCF-Ready" + validatorReadyWithWarnings = "NVCF-Ready (with warnings)" + validatorVerdictNotReady = "Cluster is NVCF-Not-Ready" +) // validatorRolloutMarkers are in the validator's warnings for a Deployment or // StatefulSet rollout in progress (checks.go, Tier-1 and Tier-2). @@ -799,39 +857,55 @@ func isRolloutTranscript(logs string) bool { return false } -// validatorSummaryStart and validatorFailIcon locate the failed critical rows -// the validator prints in its summary. Must match printSummary and printError -// in nvca/internal/clustervalidator. +// validatorSummaryStart, validatorFailIcon and validatorWarnIcon locate the +// failed and unobserved rows the validator prints in its summary. Must match +// printSummary and the print helpers in nvca/internal/clustervalidator. const ( - validatorSummaryStart = "Check Results:" - validatorFailIcon = "\u2717" + validatorSummaryStart = "Check Results:" + validatorFailIcon = "\u2717" + validatorWarnIcon = "\u26a0" + validatorStatusUnknown = "Status Unknown" ) -// legacyCriticalFailures returns the failed critical summary rows of a -// pre-role transcript other than GPU Resources, the one row the compute-plane -// set fails on any CPU-only control plane. A transcript without a summary -// returns a row saying so: nothing shows the run was otherwise clean. -func legacyCriticalFailures(logs string) []string { +// failedValidatorRows returns the summary rows of a transcript that failed a +// critical check, or that report a check as Status Unknown, leaving out rows +// that start with skip when skip is set. The rows end at the verdict: the line +// after it carries the failure mark too. +func failedValidatorRows(logs, skip string) []string { i := strings.LastIndex(logs, validatorSummaryStart) if i < 0 { - return []string{"the validator printed no summary"} + return nil } var out []string for _, line := range strings.Split(logs[i:], "\n") { if strings.Contains(line, "Cluster is") { break } - _, row, ok := strings.Cut(line, validatorFailIcon) - if !ok { - continue + _, row, failed := strings.Cut(line, validatorFailIcon) + if !failed { + if !strings.Contains(line, validatorStatusUnknown) { + continue + } + row = strings.TrimPrefix(strings.TrimSpace(line), validatorWarnIcon) } - if row = strings.TrimSpace(row); row != "" && !strings.HasPrefix(row, "GPU Resources") { + if row = strings.TrimSpace(row); row != "" && (skip == "" || !strings.HasPrefix(row, skip)) { out = append(out, row) } } return out } +// legacyCriticalFailures returns the failed critical summary rows of a +// pre-role transcript other than GPU Resources, the one row the compute-plane +// set fails on any CPU-only control plane. A transcript without a summary +// returns a row saying so: nothing shows the run was otherwise clean. +func legacyCriticalFailures(logs string) []string { + if !strings.Contains(logs, validatorSummaryStart) { + return []string{"the validator printed no summary"} + } + return failedValidatorRows(logs, legacyComputePlaneHeader) +} + // legacyComputePlaneHeader is a section header only the compute-plane check // set prints. A validator that predates roles always runs that set. const legacyComputePlaneHeader = "GPU Resources" @@ -843,36 +917,101 @@ func isLegacyComputePlaneTranscript(logs string) bool { return !strings.Contains(logs, validatorRoleMarker) && strings.Contains(logs, legacyComputePlaneHeader) } -// validatorCleanupHint is the command that removes everything one --no-cleanup -// run kept. Everything it created carries the run label, so one selector -// covers the namespaced objects and one the cluster-scoped RBAC. -func validatorCleanupHint(kubeContext, runID string) string { - if runID == "" { +// validatorKeptReason says why a run's objects are still in the cluster, or +// "" when nothing it created was kept. +func validatorKeptReason(noCleanup bool, result ClusterValidatorResult) string { + switch { + case result.RunID == "": return "" + case result.SweepErr != nil: + return "removing the run's objects failed (" + result.SweepErr.Error() + "); remove them with" + case result.LeftBehind: + // The pod could still be running, so its RBAC was kept rather than + // pulled out from under it. + return "the validator pod may still be running, so its objects were kept; once it ends, remove them with" + case noCleanup && result.Created: + return "kept with --no-cleanup; remove with" } + return "" +} + +// validatorRemovalCommand removes everything one validator run created, in an +// order that is safe at any time: look at the pod, stop the Job in the +// foreground so its pod ends while it still has its RBAC, revoke the +// cluster-wide RBAC, then delete the rest. Joined with ';', so a failed step +// does not skip the RBAC. Everything the run created carries its run label. +func validatorRemovalCommand(kubeContext, runID string) string { sel := clusterValidatorRunLabel + "=" + runID - ctx := kubectlContextArg(kubeContext) - return fmt.Sprintf("kept with --no-cleanup; remove with: kubectl%s delete -n %s job,serviceaccount,secret,configmap -l %s && "+ - "kubectl%s delete clusterrole,clusterrolebinding -l %s", - ctx, clusterValidatorNamespace, sel, ctx, sel) + kubectl := "kubectl" + kubectlContextArg(kubeContext) + return strings.Join([]string{ + fmt.Sprintf("%s get pods -n %s -l %s", kubectl, clusterValidatorNamespace, sel), + fmt.Sprintf("%s delete -n %s job -l %s --cascade=foreground --wait", kubectl, clusterValidatorNamespace, sel), + fmt.Sprintf("%s delete clusterrolebinding,clusterrole -l %s", kubectl, sel), + fmt.Sprintf("%s delete -n %s serviceaccount,secret,configmap -l %s", kubectl, clusterValidatorNamespace, sel), + }, "; ") } -// validatorLeftBehindHint is the removal command for a run whose pod outlived -// the wait, so its RBAC was kept. -func validatorLeftBehindHint(kubeContext, runID string) string { - if runID == "" { - return "" +// CleanupLedger records, across the validator runs of one command, the +// removal command of every run that may leave objects in a cluster: runs in +// progress, and runs that kept objects. Safe for concurrent use; its methods +// do nothing on a nil ledger. +type CleanupLedger struct { + mu sync.Mutex + running map[string]string + kept []string +} + +func (l *CleanupLedger) started(runID, command string) { + if l == nil { + return } - sel := clusterValidatorRunLabel + "=" + runID - ctx := kubectlContextArg(kubeContext) - return fmt.Sprintf("the validator pod was still running, so its objects were kept; once it ends remove them "+ - "with: kubectl%s delete -n %s job,serviceaccount,secret,configmap -l %s && "+ - "kubectl%s delete clusterrole,clusterrolebinding -l %s", - ctx, clusterValidatorNamespace, sel, ctx, sel) + l.mu.Lock() + defer l.mu.Unlock() + if l.running == nil { + l.running = map[string]string{} + } + l.running[runID] = command } -func clusterValidatorDetail(kubeContext, jobName string) string { - hint := kubectlLogsHint(kubeContext, jobName) +// finished records that a run returned, keeping its removal command when it +// left objects behind. +func (l *CleanupLedger) finished(runID, command string) { + if l == nil { + return + } + l.mu.Lock() + defer l.mu.Unlock() + delete(l.running, runID) + if command != "" && !slices.Contains(l.kept, command) { + l.kept = append(l.kept, command) + } +} + +// Outstanding returns the removal commands of the runs that kept objects, +// then of the runs still in progress. +func (l *CleanupLedger) Outstanding() []string { + if l == nil { + return nil + } + l.mu.Lock() + defer l.mu.Unlock() + out := slices.Clone(l.kept) + running := make([]string, 0, len(l.running)) + for _, c := range l.running { + running = append(running, c) + } + sort.Strings(running) + return append(out, running...) +} + +// clusterValidatorDetail points at the validator's transcript, or for a kept +// Job that was suspended, whose pod is gone, at the Job. +func clusterValidatorDetail(kubeContext string, result ClusterValidatorResult) string { + if result.Suspended && result.JobName != "" { + return fmt.Sprintf("inspect: kubectl%s describe -n %s job/%s", + kubectlContextArg(kubeContext), clusterValidatorNamespace, result.JobName) + } + hint := kubectlLogsHint(kubeContext, result.JobName) if hint == "" { return "" } @@ -1184,6 +1323,9 @@ func RunPreflightStreaming(ctx context.Context, cfg PreflightConfig, sink progre func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc RoleConfig, sink progress.EventSink) []CheckResult { var all []CheckResult + interrupted := func() bool { + return errors.Is(ctx.Err(), context.Canceled) || (cfg.Interrupted != nil && cfg.Interrupted()) + } categories := buildCategories(cfg, role, rc) for _, cat := range categories { @@ -1192,7 +1334,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro for _, spec := range cat.checks { var res CheckResult switch { - case errors.Is(ctx.Err(), context.Canceled): + case interrupted(): // Interrupted: the command reports the interrupt, not rows. return all case ctx.Err() != nil: @@ -1211,7 +1353,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro Message: spec.HumanLabel, }) res = spec.Run(ctx) - if errors.Is(ctx.Err(), context.Canceled) { + if interrupted() { // Cut short by the interrupt, so its result is not a // finding; the cancelled final event says what happened. // A row that says how to remove what the check left in @@ -1260,6 +1402,7 @@ func emitCheckCompleted(sink progress.EventSink, category string, res CheckResul Detail: res.Detail, HintURL: res.HintURL, Transient: res.Transient, + Cleanup: res.Cleanup, }) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go index 70f1c240a1..6460dc7f70 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go @@ -188,6 +188,9 @@ type Final struct { TotalChecks int PassedCount int FailedCount int + // Cleanup lists the commands that remove what the checks left in the + // cluster, on every outcome, interrupt included. + Cleanup []string } func (Final) kind() eventKind { return "final" } @@ -282,6 +285,9 @@ type CheckCompleted struct { // Transient marks a warning expected to clear by itself, such as a // rollout in progress; --wait keeps polling while one remains. Transient bool + // Cleanup is the command that removes what the check left in the + // cluster, when it left anything. + Cleanup string } func (CheckCompleted) kind() eventKind { return "check_completed" } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go index bf95e07d39..8b77a8b2b7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go @@ -470,6 +470,7 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { out.PassedCount = &passed out.FailedCount = &failed } + out.Cleanup = ev.Cleanup return out case Snapshot: out := wireSnapshot{ @@ -545,6 +546,7 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { Detail: ev.Detail, Transient: ev.Transient, HintURL: ev.HintURL, + Cleanup: ev.Cleanup, } case CategoryCompleted: return wireCategoryCompleted{ @@ -674,6 +676,8 @@ type wireFinal struct { // goldens unchanged. PassedCount *int `json:"passedCount,omitempty"` FailedCount *int `json:"failedCount,omitempty"` + // Cleanup lists the commands that remove what a check left in the cluster. + Cleanup []string `json:"cleanup,omitempty"` } // Wire structs for status + check event types (M+8.3). @@ -751,6 +755,8 @@ type wireCheckCompleted struct { HintURL string `json:"hintURL,omitempty"` // Transient is set on a warning --wait keeps polling on. Transient bool `json:"transient,omitempty"` + // Cleanup is the command that removes what the check left in the cluster. + Cleanup string `json:"cleanup,omitempty"` } type wireCategoryCompleted struct { diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index e83e1fb348..4a8cd1364e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -590,3 +590,34 @@ func TestScanAndMirrorPullSecret_NeverAdoptsAReleasedCLIsSecret(t *testing.T) { require.NoError(t, err) assert.Empty(t, got) } + +// A --no-cleanup run's Secret carries the preserve marker on both the mirror +// and the mint path, so the orphan sweep keeps it for a day rather than +// 30 minutes, and a re-run of the kept Job can still pull. +func TestPullSecret_PreservedRunIsMarkedOnBothPaths(t *testing.T) { + for _, name := range ngcAPIKeyEnvNames { + t.Setenv(name, "") + } + t.Setenv("NGC_API_KEY", "nvapi-test-123") + runName := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") + for _, preserve := range []bool{false, true} { + mirror := fake.NewSimpleClientset(&corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{Name: "chart-owned-creds", Namespace: "nvcf"}, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: dockerConfigBlob(t, "private.registry.test", + "$oauthtoken", "key")}, + }) + _, err := scanAndMirrorPullSecret(context.Background(), mirror, "private.registry.test", + clusterValidatorControlPlaneRole, "runid", preserve) + require.NoError(t, err) + mint := fake.NewSimpleClientset() + _, err = autoCreatePullSecretFromEnv(context.Background(), mint, "nvcr.io", clusterValidatorControlPlaneRole, + "runid", preserve) + require.NoError(t, err) + for path, client := range map[string]*fake.Clientset{"mirror": mirror, "mint": mint} { + s, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) + require.NoError(t, err, path) + assert.Equal(t, preserve, s.Labels[clusterValidatorPreserveLabel] == "true", "%s, preserve=%v", path, preserve) + } + } +} From cfb0caa25afc48f49bd9eb089bce09bd4f692934 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:06:35 +0530 Subject: [PATCH 058/127] test(nvcf-cli): make the check test harness hermetic Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/main_test.go | 55 +++++++++++++++---- .../cmd/self_hosted_check_scope_test.go | 30 +++------- .../nvcf-cli/cmd/self_hosted_check_test.go | 1 + src/clis/nvcf-cli/cmd/self_hosted_up_test.go | 3 + .../nvcf-cli/internal/selfhosted/main_test.go | 11 +++- 5 files changed, 64 insertions(+), 36 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 5d75f7c76e..413d9c4c75 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -24,6 +24,7 @@ import ( "os" "testing" + "github.com/Masterminds/semver/v3" "github.com/spf13/pflag" "github.com/spf13/viper" @@ -53,13 +54,32 @@ func TestMain(m *testing.M) { // The state manager resolved its path from HOME at package init, before // the swap above, so it still points at the real ~/.nvcf-cli.state. state.ResetDefaultStateManager() - // A developer's own toggles would change what every check test runs. + // Check reads the stack above the working directory when no + // --control-plane-stack is given, so run from a directory with none: from + // the package directory every test would read the repository's stack and + // any untracked environment file next to it. + if err := os.Chdir(home); err != nil { + panic(err) + } + // A developer's own toggles, validator settings and NGC keys would change + // what every check test runs. The NVCF_ prefixed names are viper's + // automatic aliases of the cluster_validator_* config keys. for _, k := range []string{ "NVCF_CLI_SELFHOSTED_LOCAL_ONLY", "NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION", "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "NVCF_CLI_SELFHOSTED_FORCE_FAIL", + "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES", + "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE", "NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS", + "NVCF_CLUSTER_VALIDATOR_IMAGE", "NVCF_CLUSTER_VALIDATOR_REGISTRIES", + "NVCF_CLUSTER_VALIDATOR_PROBE_IMAGE", "NVCF_CLUSTER_VALIDATOR_TOLERATIONS", + "NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", + "NVCF_N2N_PROBE_IMAGE", "HELMFILE_ENV", + "NGC_IMAGE_PULL_API_KEY", "NVCF_NGCR_API_KEY", "NVCF_NGC_API_KEY", "NGC_API_KEY", } { _ = os.Unsetenv(k) } + // The real tool checks run `helmfile version`, which asks github.com for + // the latest release, and pass or fail on what the machine has installed. + checkPreflightTools = passingPreflightTools resolveLatestValidatorTagForSelfHosted = func(_ context.Context, _ string) (string, bool) { return "", false } @@ -75,21 +95,14 @@ func TestMain(m *testing.M) { newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { return func(context.Context, string, string, bool) error { return nil } } - // No validator Job. A developer with NVCF_CLI_CLUSTER_VALIDATOR_IMAGE - // exported, or cluster_validator_image in ~/.nvcf-cli.yaml, would - // otherwise have every check test create RBAC, Secrets and Jobs in the - // current kube context and wait up to five minutes per role. + // No validator Job. A test that passes --cluster-validator-image would + // otherwise create RBAC, Secrets and Jobs in the current kube context and + // wait up to five minutes per role. newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: " + p.Role + "\nCluster is NVCF-Ready\n"} } } - for _, k := range []string{ - "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES", - "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE", - } { - _ = os.Unsetenv(k) - } // The SIS reachability check has no seam, but it resolves its URL from // NVCF_ICMS_URL, so resetCheckFlags points check tests at this local // server instead of the real SIS. Scoped per test: setting it for the @@ -129,6 +142,10 @@ func resetCheckFlags(t *testing.T) { t.Setenv("NVCF_ICMS_URL", testSISURL) } reset := func() { + // cobra keeps the first context a command ran with, so a test that + // cancelled rootCmd's context would otherwise end every later run + // as interrupted. + selfHostedCheckCmd.SetContext(context.Background()) checkPre, checkControlPlane, checkComputePlane, checkAll = false, false, false, false checkClusterName = "" checkLocalOnly, checkSkipInotifyCheck, checkSkipClusterValidation = false, false, false @@ -161,3 +178,19 @@ func resetCheckFlags(t *testing.T) { reset() t.Cleanup(reset) } + +// passingPreflightTools is the real tool set with every tool found at its +// minimum version. +func passingPreflightTools() []selfhosted.BinarySpec { + specs := selfHostedPreflightTools() + for i := range specs { + v := specs[i].MinVer + if v == nil { + v = semver.MustParse("1.0.0") + } + name := specs[i].Name + specs[i].LookPath = func(string) (string, error) { return "/usr/local/bin/" + name, nil } + specs[i].Version = func(context.Context, string) (*semver.Version, error) { return v, nil } + } + return specs +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 65d7dc3fc6..fff50da20b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -35,7 +35,6 @@ import ( "testing" "time" - "github.com/Masterminds/semver/v3" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -166,10 +165,8 @@ func runCheckWith(t *testing.T, budget time.Duration, validator selfhosted.Clust t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") // Hints name the current context; keep the developer's out of them. t.Setenv("KUBECONFIG", filepath.Join(t.TempDir(), "none")) - prevBudget, prevCV, prevTools := checkBudget, newClusterValidatorForSelfHosted, checkPreflightTools + prevBudget, prevCV := checkBudget, newClusterValidatorForSelfHosted checkBudget = func(d time.Duration) time.Duration { requestedBudget = d; return budget } - checkPreflightTools = passingPreflightTools - t.Cleanup(func() { checkPreflightTools = prevTools }) newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return validator } t.Cleanup(func() { checkBudget, newClusterValidatorForSelfHosted = prevBudget, prevCV }) rootCmd.SetErr(out) @@ -242,7 +239,9 @@ func validatorRow(t *testing.T, stderr string) map[string]any { } // A run that outlives its budget is a timeout, never a pass: exit 5 with a -// final event that says it failed, not success on whatever had run. +// final event that says it failed, not success on whatever had run. On a +// loaded machine the budget can run out before the validator starts, so its +// row is either cut short or not run; both are blocking. func TestCheck_BudgetSpentIsATimeout(t *testing.T) { for _, args := range [][]string{nil, {"--wait", "1m"}} { err, stderr := runCheckWithBudget(t, 300*time.Millisecond, holdUntilDone, args...) @@ -252,7 +251,10 @@ func TestCheck_BudgetSpentIsATimeout(t *testing.T) { final := finalEvent(t, stderr) assert.Equal(t, false, final["success"], "args %v", args) assert.Equal(t, "timeout", final["verdict"], "args %v", args) - assert.Contains(t, validatorRow(t, stderr)["message"], "cut short: ", "args %v", args) + row := validatorRow(t, stderr) + assert.Equal(t, false, row["passed"], "args %v", args) + assert.Equal(t, selfhosted.SeverityError, row["severity"], "args %v", args) + assert.Regexp(t, `^(cut short|not run): the check's time budget ran out`, row["message"], "args %v", args) } } @@ -390,22 +392,6 @@ func TestCheck_WaitWithNoCleanupIsRejected(t *testing.T) { assert.Contains(t, err.Error(), "cannot be combined with --wait") } -// passingPreflightTools is the real tool set with every tool found at its -// minimum version. -func passingPreflightTools() []selfhosted.BinarySpec { - specs := selfHostedPreflightTools() - for i := range specs { - v := specs[i].MinVer - if v == nil { - v = semver.MustParse("1.0.0") - } - name := specs[i].Name - specs[i].LookPath = func(string) (string, error) { return "/usr/local/bin/" + name, nil } - specs[i].Version = func(context.Context, string) (*semver.Version, error) { return v, nil } - } - return specs -} - // An unpinned validator image whose tag cannot be discovered is not launched: // the kubelet would pull :latest, which the repository does not publish. // Nothing was validated, so the run fails with a row that says to pin a tag, diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index f69ee457db..1f15e28548 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -180,6 +180,7 @@ func TestCheck_PreflightStreamingOrder(t *testing.T) { _ = rootCmd.Execute() lines := parseJSONLLines(t, stderr.String()) + require.NotEmpty(t, lines, "expected at least one JSONL line") // Skip schemaVersion header. var kinds []string for _, l := range lines[1:] { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_up_test.go b/src/clis/nvcf-cli/cmd/self_hosted_up_test.go index e59bcda392..8f2babd85d 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_up_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_up_test.go @@ -562,6 +562,9 @@ func TestUp_SIGTERM_EmitsCancellation(t *testing.T) { }) err := rootCmd.ExecuteContext(parentCtx) + // cobra keeps the cancelled context on rootCmd, and every later Execute + // would hand it to commands that have none of their own. + t.Cleanup(func() { rootCmd.SetContext(nil) }) var ece *ExitCodeError require.ErrorAs(t, err, &ece, "expected ExitCodeError, got: %v", err) assert.Equal(t, 130, ece.Code, "exit code must be 130 for cancellation") diff --git a/src/clis/nvcf-cli/internal/selfhosted/main_test.go b/src/clis/nvcf-cli/internal/selfhosted/main_test.go index 0d9e6b6e57..f66936c9fb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/main_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/main_test.go @@ -25,9 +25,9 @@ import ( // TestMain points HOME at an empty directory so no test reads the developer's // ~/.docker/config.json, or runs a credential helper it names. Tests that need -// a docker config write their own under a temporary HOME. HELM_DRIVER is -// cleared too: an exported sql driver turns off the stale-namespace probe's -// no-release signal, which the probe tests assert on. +// a docker config write their own under a temporary HOME. HELM_DRIVER and the +// NGC key variables are cleared too: an exported sql driver turns off the +// stale-namespace probe's no-release signal, which the probe tests assert on. func TestMain(m *testing.M) { home, err := os.MkdirTemp("", "selfhosted-test-home-") if err != nil { @@ -35,6 +35,11 @@ func TestMain(m *testing.M) { } _ = os.Setenv("HOME", home) _ = os.Unsetenv("HELM_DRIVER") + // An exported NGC key is preferred over the docker config for nvcr.io, + // so it would change what the credential tests resolve. + for _, name := range ngcAPIKeyEnvNames { + _ = os.Unsetenv(name) + } // The fake clientset has no controllers, so a pod never ends on its own: // keep the waits for that short. Tests of the waits set their own. validatorStopTimeout = 2 * time.Second From 6e095bb9d9b39466c8d49147226033ea42f3b3d6 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:22:03 +0530 Subject: [PATCH 059/127] fix(nvcf-cli): route probe images and validate tolerations up front Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 4 +- src/clis/nvcf-cli/cmd/BUILD.bazel | 1 + src/clis/nvcf-cli/cmd/main_test.go | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 40 +- .../self_hosted_check_validatorenv_test.go | 69 +- .../agentskill/skilldata_generated.go | 4208 +++++++++-------- .../internal/selfhosted/clustervalidator.go | 7 +- .../selfhosted/clustervalidator_test.go | 7 + .../internal/selfhosted/inotify_probe.go | 58 +- .../internal/selfhosted/inotify_probe_test.go | 29 +- 10 files changed, 2287 insertions(+), 2138 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 81c0f1f2d3..5096aa2eac 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -38,7 +38,7 @@ required. Each selects a role; only the selected roles contact a cluster. | `--compute-plane` | Compute-plane checks | `false` | | `--all` | Every category, including SIS reachability when combined with `--pre` | `false` | | `--cluster-name NAME` | Cluster name for compute-plane checks | - | -| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | +| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | ### Cluster-validator flags @@ -55,7 +55,7 @@ that file it does not, and the validator finds them from the routes. |---|---|---| | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere skips the probe with a warning | - | | `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed only when neither the image nor the stack names a registry. The validator dials from a pod with no proxy, so an unreachable registry is a warning; the local credential check is what fails a registry the install cannot pull from. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | -| `--cluster-validator-probe-image REF` | Image for the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | +| `--cluster-validator-probe-image REF` | Image for the node inotify probe and the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on `nvcr.io`, it mints one from `NGC_API_KEY`. The key is never sent to another registry, other NVIDIA registries included; those use your docker login | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | diff --git a/src/clis/nvcf-cli/cmd/BUILD.bazel b/src/clis/nvcf-cli/cmd/BUILD.bazel index a53af5ab63..70910d0dbe 100644 --- a/src/clis/nvcf-cli/cmd/BUILD.bazel +++ b/src/clis/nvcf-cli/cmd/BUILD.bazel @@ -85,6 +85,7 @@ go_library( "@io_k8s_apiextensions_apiserver//pkg/client/clientset/clientset", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/util/validation", "@io_k8s_client_go//dynamic", "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//rest", diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 413d9c4c75..2712fa4661 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -84,7 +84,7 @@ func TestMain(m *testing.M) { return "", false } // Nil prober: the inotify check is skipped rather than creating pods. - newInotifyProberForSelfHosted = func() selfhosted.NodeInotifyProber { return nil } + newInotifyProberForSelfHosted = func(string) selfhosted.NodeInotifyProber { return nil } // No cluster contact, and a clean result so the category still renders. newStaleNamespaceProberForSelfHosted = func() selfhosted.StaleNamespaceProber { return func(context.Context, string, []string) ([]selfhosted.StaleNamespace, error) { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 92d45738f6..a16584215c 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -34,6 +34,7 @@ import ( "github.com/spf13/viper" "golang.org/x/sync/errgroup" corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/util/validation" "nvcf-cli/internal/selfhosted" "nvcf-cli/internal/selfhosted/kubectx" @@ -59,8 +60,8 @@ var ( ) // Test seam. -var newInotifyProberForSelfHosted = func() selfhosted.NodeInotifyProber { - return selfhosted.NewInotifyProber() +var newInotifyProberForSelfHosted = func(image string) selfhosted.NodeInotifyProber { + return selfhosted.NewInotifyProber(image) } // Test seam. @@ -101,7 +102,8 @@ func init() { selfHostedCheckCmd.Flags().BoolVar(&checkLocalOnly, "local-only", false, "Run local-host checks only (no kubectl contact)") selfHostedCheckCmd.Flags().BoolVar(&checkSkipInotifyCheck, "skip-inotify-check", false, "Disable the per-node inotify-limits probe. Required when the kubeconfig user "+ - "cannot create pods in 'default'. Env: NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") + "cannot create pods in 'default', or when the probe image comes from a registry that "+ + "needs credentials: the probe pods get no pull secret. Env: NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") selfHostedCheckCmd.Flags().BoolVar(&checkSkipClusterValidation, "skip-cluster-validation", false, "Disable the in-cluster cluster-validator probe. "+ "Env: NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") @@ -139,8 +141,9 @@ func init() { _ = viper.BindPFlag("cluster_validator_tolerations", selfHostedCheckCmd.Flags().Lookup("cluster-validator-tolerations")) selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorProbeImage, "cluster-validator-probe-image", "", - "Image for the control-plane validator's node-to-node overlay probe (needs sh and busybox-style nc). "+ - "Defaults to busybox:1.36 from Docker Hub; set a mirror for air-gapped clusters. "+ + "Image for the node inotify probe and the control-plane validator's node-to-node overlay probe "+ + "(needs sh and busybox-style nc). Defaults to busybox:1.36 from Docker Hub; set a mirror for "+ + "air-gapped clusters. "+ "Env: NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE. "+ "Can also be set in nvcf-cli config as cluster_validator_probe_image.") _ = viper.BindPFlag("cluster_validator_probe_image", @@ -656,6 +659,14 @@ func parseToleration(entry string) (corev1.Toleration, error) { if t.Key = entry; t.Key == "" { return t, fmt.Errorf("a taint key is required") } + // The apiserver applies the same rules when the Job is created, after the + // run's RBAC, Secret and ConfigMap already exist. + if errs := validation.IsQualifiedName(t.Key); len(errs) > 0 { + return t, fmt.Errorf("invalid taint key %q: %s", t.Key, strings.Join(errs, "; ")) + } + if errs := validation.IsValidLabelValue(t.Value); len(errs) > 0 { + return t, fmt.Errorf("invalid taint value %q: %s", t.Value, strings.Join(errs, "; ")) + } return t, nil } @@ -798,7 +809,7 @@ func runPreflightByRole( // Visited, not targeted: the inotify limit is exactly what --pre exists to // catch before NVCA bootstrap, so it must run for --pre in ModeSplit too. if computePlaneIsVisited() && !skipInotify { - inotifyProber = newInotifyProberForSelfHosted() + inotifyProber = newInotifyProberForSelfHosted(configuredProbeImage()) } // clusterValidatorImage is resolved by the caller. Empty value means @@ -1023,16 +1034,23 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { } else if len(stack.Gateways) > 0 { env["NVCF_GATEWAY_NAMES"] = strings.Join(stack.Gateways, ",") } - probe := strings.TrimSpace(viper.GetString("cluster_validator_probe_image")) - if probe == "" { - probe = configValue("NVCF_N2N_PROBE_IMAGE") - } - if probe != "" { + if probe := configuredProbeImage(); probe != "" { env["NVCF_N2N_PROBE_IMAGE"] = probe } return env } +// configuredProbeImage is the busybox-style image the probe pods the check +// launches use, from --cluster-validator-probe-image and its env and config +// key, or else the validator's own NVCF_N2N_PROBE_IMAGE setting. Empty leaves +// each probe on its default. +func configuredProbeImage() string { + if probe := strings.TrimSpace(viper.GetString("cluster_validator_probe_image")); probe != "" { + return probe + } + return configValue("NVCF_N2N_PROBE_IMAGE") +} + // configValue reads a setting the way the CLI's cluster configuration does // (environment, then the nvcf-cli config file). A YAML list in the config // file is joined with commas, the form the validator's list settings parse; diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 8860b10c6a..247dcbd548 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -20,9 +20,11 @@ package cmd import ( "bytes" "context" + "errors" "os" "path/filepath" "sync" + "sync/atomic" "testing" "github.com/spf13/viper" @@ -269,12 +271,77 @@ func TestParseToleration(t *testing.T) { require.NoError(t, err, in) assert.Equal(t, want, got, in) } - for _, in := range []string{":NoSchedule", "=v", "k:Never"} { + for _, in := range []string{ + ":NoSchedule", "=v", "k:Never", + "dedicated=infra team:NoSchedule", "bad key", "key=v=w", "a/b/c", "-key", "k=-v", + } { _, err := parseToleration(in) assert.Error(t, err, in) } } +// A toleration the apiserver would reject fails the command as a usage error, +// before the run creates anything for a validator Job that cannot be created. +func TestCheck_MalformedTolerationFailsBeforeTheRun(t *testing.T) { + var calls atomic.Int32 + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(context.Context, selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + calls.Add(1) + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + for _, entry := range []string{"dedicated=infra team:NoSchedule", "bad key", "key=v=w", "a/b/c"} { + resetCheckFlags(t) + rootCmd.SetArgs([]string{"self-hosted", "check", "--control-plane", "--json", + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", + "--cluster-validator-tolerations", entry}) + err := rootCmd.Execute() + require.Error(t, err, entry) + assert.Contains(t, err.Error(), "--cluster-validator-tolerations", entry) + var exitErr *ExitCodeError + assert.False(t, errors.As(err, &exitErr), "%s: a usage error, not a failed run", entry) + } + assert.Zero(t, calls.Load(), "no validator runs") +} + +// The inotify probe pods use the configured probe image, so a cluster that +// pulls from a mirror can run them; with none set the probe keeps its default. +func TestCheck_InotifyProbeUsesTheProbeImage(t *testing.T) { + for _, tc := range []struct { + name, flag, env, want string + }{ + {name: "flag", flag: "mirror.example/busybox:1.36", want: "mirror.example/busybox:1.36"}, + {name: "validator setting", env: "mirror.example/busybox:1.36", want: "mirror.example/busybox:1.36"}, + {name: "unset"}, + } { + t.Run(tc.name, func(t *testing.T) { + resetCheckFlags(t) + t.Setenv("NVCF_N2N_PROBE_IMAGE", tc.env) + var got []string + prev := newInotifyProberForSelfHosted + newInotifyProberForSelfHosted = func(image string) selfhosted.NodeInotifyProber { + got = append(got, image) + return func(context.Context, string) ([]selfhosted.NodeInotifyLimits, error) { return nil, nil } + } + t.Cleanup(func() { newInotifyProberForSelfHosted = prev }) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + args := []string{"self-hosted", "check", "--pre", "--json"} + if tc.flag != "" { + args = append(args, "--cluster-validator-probe-image", tc.flag) + } + rootCmd.SetArgs(args) + _ = rootCmd.Execute() + assert.Equal(t, []string{tc.want}, got) + }) + } +} + // Stack values reach the validator only when the install's environment file // was read from the stack the command points at. helmfile refuses to install // without that file, so base.yaml alone does not describe the install, and a diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 531f728ede..32f619ca32 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDc5NzAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDgxMDMsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiZGMwM2JmMDIxYTY2M2NjMGE3" + "ZmU5MjNjMDgyY2UzNWY1YTg0N2ZjZjk3ZmI1ZjM0YzY2YjY1NDIyMjFiNzAxIiwKICAgICAgInNp" + "emUiOiAzMDY1CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1YzcxOWUwMTVkYzlhZjZl" + - "MGRhOGIyNjFmMGFjZjk3NjJhNzBiZDZhMTI3MjVmNWQ5MDRmZDIxOThlZDM4ZmUwIiwKICAgICAg" + - "InNpemUiOiAxNDY2MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxZTI4ODczNmEzNDczNGY1" + + "OGJmOThlOGIyYzkzNjhmNjRiOTlkNWZmNjhjMjk4N2U5OWE5MDg3MzljY2U4MjY2IiwKICAgICAg" + + "InNpemUiOiAxNDc5MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCCZ3iBxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJO96PhKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1723,1993 +1723,1168 @@ const skillDataZipBase64 = "" + "TUVgIHwgQ2x1c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNr" + "aXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9i" + "ZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4g" + - "YGRlZmF1bHRgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAgfCBgZmFs" + - "c2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFz" + - "IGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNl" + - "cnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQg" + - "YW5kIHJlbW92ZXMgdGhlbQphZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0" + - "IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgoKV2hlbiBgY2hlY2tgIHJlYWRzIHRo" + - "ZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUsIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAKZnJv" + - "bSBgLS1jb250cm9sLXBsYW5lLXN0YWNrYCBvciBhIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZSB3" + - "b3JraW5nIGRpcmVjdG9yeSwKaXQgdGVsbHMgdGhlIHZhbGlkYXRvciB3aGljaCBHYXRld2F5cyB0" + - "aGUgc3RhY2sgd2lyZXMgTlZDRiByb3V0ZXMgdG8uIFdpdGhvdXQKdGhhdCBmaWxlIGl0IGRvZXMg" + - "bm90LCBhbmQgdGhlIHZhbGlkYXRvciBmaW5kcyB0aGVtIGZyb20gdGhlIHJvdXRlcy4KCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRh" + - "dG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcs" + - "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJf" + - "dmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qg" + - "c3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNjb3ZlcmVk" + - "LCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgaXRzIHJvdyBmYWlscyB0aGUgY2hlY2ss" + - "IHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdhaXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5IHBvbGwu" + - "IFVuc2V0IGV2ZXJ5d2hlcmUgc2tpcHMgdGhlIHByb2JlIHdpdGggYSB3YXJuaW5nIHwgLSB8Cnwg" + - "YC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0OnBvcnQsLi4uYCB8IEV4dHJhIHJl" + - "Z2lzdHJpZXMgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yIHByb2JlcyBmb3IgcmVhY2hhYmls" + - "aXR5LiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBm" + - "cm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwu" + - "aW1hZ2UucmVnaXN0cnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUg" + - "c29sdmVyIHVubGVzcyB0aGUgc3RhY2sgc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFn" + - "ZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQgb25seSB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0" + - "aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIHZhbGlkYXRvciBkaWFscyBmcm9tIGEgcG9k" + - "IHdpdGggbm8gcHJveHksIHNvIGFuIHVucmVhY2hhYmxlIHJlZ2lzdHJ5IGlzIGEgd2FybmluZzsg" + - "dGhlIGxvY2FsIGNyZWRlbnRpYWwgY2hlY2sgaXMgd2hhdCBmYWlscyBhIHJlZ2lzdHJ5IHRoZSBp" + - "bnN0YWxsIGNhbm5vdCBwdWxsIGZyb20uIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBF" + - "bnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBg" + - "Y2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + - "ci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRv" + - "cidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gt" + - "c3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBO" + - "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0" + - "ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1" + - "YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVj" + - "dF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUg" + - "dGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdo" + - "b3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVm" + - "ZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhl" + - "IGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9D" + - "TFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRh" + - "dG9yX3RvbGVyYXRpb25zYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0" + - "IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxs" + - "IHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgbG9va3MgZm9yIG9uZSBp" + - "biB0aGUgTlZDRiBuYW1lc3BhY2VzIGFuZCBjb3BpZXMgaXQgaW50byBgZGVmYXVsdGAgZm9yIHRo" + - "ZSBydW4uIEZhaWxpbmcgdGhhdCwgYW5kIG9ubHkgZm9yIGFuIGltYWdlIG9uIGBudmNyLmlvYCwg" + - "aXQgbWludHMgb25lIGZyb20gYE5HQ19BUElfS0VZYC4gVGhlIGtleSBpcyBuZXZlciBzZW50IHRv" + - "IGFub3RoZXIgcmVnaXN0cnksIG90aGVyIE5WSURJQSByZWdpc3RyaWVzIGluY2x1ZGVkOyB0aG9z" + - "ZSB1c2UgeW91ciBkb2NrZXIgbG9naW4gfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVy" + - "LXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJl" + - "bHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0" + - "aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUg" + - "d2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVudjogYE5WQ0ZfQ0xJX1NF" + - "TEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xl" + - "YW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3Jl" + - "dCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5v" + - "dCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRo" + - "ZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3Jp" + - "YmUgam9iYC4gQSBsYXRlciBjaGVjayByZWNsYWltcyB0aGVtIGFmdGVyIDI0IGhvdXJzLiBUaGUg" + - "cm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRl" + - "cnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNl" + - "YCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBz" + - "dGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04s" + - "IGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdo" + - "ZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyBgdXBgLXNw" + - "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1j" + - "bHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVk" + - "KSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRg" + - "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + - "IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQg" + - "Y2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExp" + - "bWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8" + - "IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2" + - "YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVg" + - "IHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lw" + - "IGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmlj" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5B" + - "TUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + - "IElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13" + - "ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmln" + - "IHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFp" + - "bC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0" + - "aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0" + - "IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRh" + - "YmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4" + - "cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBh" + - "cnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFND" + - "T1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2" + - "aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQg" + - "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0" + - "aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRg" + - "IChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + - "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBk" + - "ZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + - "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwK" + - "fCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + - "dXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJl" + - "bmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5j" + - "dGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVG" + - "QVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + - "ZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0" + - "LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5B" + - "TUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVp" + - "cmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + - "UlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2Rl" + - "bD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1p" + - "dD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5g" + - "IHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBV" + - "c2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNw" + - "ZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + - "dC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJp" + - "b3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0t" + - "cGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9y" + - "aXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0Eg" + - "SUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09O" + - "IGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4g" + - "YGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0g" + - "cGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBg" + - "L3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGlu" + - "Z3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBv" + - "d2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpg" + - "bGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFy" + - "YXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZv" + - "cm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBg" + - "SGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5p" + - "dHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAw" + - "MDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2th" + - "Z2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBi" + - "YWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0" + - "YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRo" + - "ZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJu" + - "ZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExN" + - "IGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + - "bWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + - "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBS" + - "ZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBm" + - "b3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBm" + - "dW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3Mg" + - "fCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9y" + - "bWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + - "bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAu" + - "IFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmlu" + - "ZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZ" + - "YCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0" + - "aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwg" + - "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + - "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + - "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + - "IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11g" + - "IGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBh" + - "bmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUg" + - "bW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1" + - "bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + - "Y29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQg" + - "SURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBm" + - "YW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQ" + - "VS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8" + - "CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJl" + - "cXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBk" + - "ZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3Bl" + - "Y2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBj" + - "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + - "ZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUg" + - "KHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAg" + - "fAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + - "ZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFu" + - "Y2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQ" + - "LkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0" + - "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hB" + - "UlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2" + - "ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVj" + - "IGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQg" + - "fAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3Rl" + - "cnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8" + - "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3Nl" + - "ZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0t" + - "ZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFs" + - "dWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVw" + - "ZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElP" + - "TmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5v" + - "IGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJ" + - "T05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwg" + - "U2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05g" + - "IHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVm" + - "YXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRv" + - "IGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9u" + - "IExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFt" + - "LW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExP" + - "QURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7" + - "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNv" + - "dXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRh" + - "c2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNr" + - "IGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRl" + - "bGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURg" + - "IHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1l" + - "dHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcINL+x" + - "90Q5AABEOQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNo" + - "b290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRp" + - "b24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50" + - "cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFw" + - "IHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1m" + - "bGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + - "YGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVk" + - "ZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8v" + - "ZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBB" + - "VEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxs" + - "YXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9j" + - "cy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBl" + - "bnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2Nr" + - "ZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBh" + - "dmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1" + - "YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + - "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + - "fCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBH" + - "UFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + - "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQ" + - "VSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlk" + - "aWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNv" + - "bS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRv" + - "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJl" + - "cXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRv" + - "a2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9r" + - "ZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + - "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + - "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + - "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMg" + - "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4g" + - "dG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFw" + - "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8Cgoj" + - "IyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + - "LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3Nh" + - "bmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0" + - "b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVt" + - "YCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRl" + - "cGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1Ug" + - "fCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgi" + - "YCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05g" + - "IGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkg" + - "dmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVy" + - "cm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBj" + - "b21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFk" + - "ZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJh" + - "dG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + - "b3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBr" + - "M2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rl" + - "cj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + - "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0" + - "aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUg" + - "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7" + - "IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyBy" + - "ZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0" + - "ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZv" + - "ciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0" + - "Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNs" + - "aSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1h" + - "Z2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBl" + - "ciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNm" + - "LWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlv" + - "biBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQg" + - "bGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBo" + - "ZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + - "L25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1" + - "cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9y" + - "IGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBg" + - "cmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNy" + - "ZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3Rl" + - "ZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBj" + - "cmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFi" + - "b3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSBy" + - "ZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwg" + - "LW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1t" + - "ZWRpYXRlbHkgfApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0K" + - "bmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIElu" + - "c3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBh" + - "cmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBD" + - "TEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlk" + - "ZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUt" + - "cGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2Vu" + - "ZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwg" + - "b3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVu" + - "dmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVh" + - "ZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+" + - "PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwg" + - "bWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29y" + - "ZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2Ys" + - "IHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21w" + - "dXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNl" + - "Y3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgog" + - "IGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdA" + - "ZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2Vs" + - "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + - "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + - "c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVs" + - "bSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNl" + - "bGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hp" + - "bmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMu" + - "CgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBv" + - "ciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + - "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVz" + - "IGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJM" + - "TE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + - "c3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMK" + - "CkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZv" + - "ciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMg" + - "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9l" + - "bnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFu" + - "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxt" + - "ZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBt" + - "aXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBi" + - "YXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQt" + - "dmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29u" + - "dHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxl" + - "IHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcg" + - "YW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVy" + - "c2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhl" + - "bG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAg" + - "ICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMg" + - "Q2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29u" + - "dHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5n" + - "b3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxu" + - "YW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVz" + - "ZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + - "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBW" + - "YWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBt" + - "b3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMv" + - "YmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQg" + - "YnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVj" + - "dHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2Vj" + - "cmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJl" + - "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpD" + - "cml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + - "YyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBz" + - "dG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "IGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9j" + - "ay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNo" + - "YXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNw" + - "YWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkp" + - "CgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + - "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVs" + - "bCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2Ug" + - "dG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1z" + - "ZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5" + - "CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVp" + - "cmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + - "Y2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRl" + - "ZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJl" + - "ZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9u" + - "PiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3Rk" + - "aW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTog" + - "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3Qg" + - "KG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVy" + - "YWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZl" + - "IHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBz" + - "aWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9y" + - "ZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEg" + - "NDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlv" + - "dSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUt" + - "cnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFj" + - "aCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxr" + - "ZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0" + - "aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0" + - "cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQp" + - "IFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21h" + - "dGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRo" + - "YXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1" + - "bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3Jr" + - "bG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2lu" + - "dCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgox" + - "LiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTog" + - "PHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAg" + - "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3Vy" + - "Y2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJy" + - "b3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5Pgog" + - "ICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1h" + - "bmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0" + - "IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAo" + - "YG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVs" + - "bQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVs" + - "bSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRo" + - "b3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNv" + - "dXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0" + - "aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hh" + - "cnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgog" + - "ICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3It" + - "c3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5o" + - "ZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0" + - "aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5" + - "ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVs" + - "bCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUg" + - "cGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0" + - "aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVs" + - "bFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkg" + - "bG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFs" + - "OiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAg" + - "PiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwg" + - "c28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkg" + - "aG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2Ug" + - "aXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBn" + - "bG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFz" + - "IGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRz" + - "IGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFz" + - "aApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1u" + - "IDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52" + - "YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBi" + - "ZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0" + - "aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4g" + - "VGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBv" + - "cmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1" + - "Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9B" + - "RERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwg" + - "dXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBg" + - "R0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGds" + - "b2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVz" + - "dGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgoj" + - "IyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQg" + - "Qk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRz" + - "IGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBj" + - "YXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2" + - "aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0" + - "IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtl" + - "ZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29w" + - "cyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBT" + - "ZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFz" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMK" + - "CkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwg" + - "U2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0t" + - "LS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + - "IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3Jv" + - "dXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90" + - "YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5p" + - "dHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + - "ZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5" + - "IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8" + - "IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGlu" + - "IGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBg" + - "CgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5" + - "IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1m" + - "YWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJk" + - "IE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4g" + - "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYg" + - "dGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdh" + - "dGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + - "c2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0" + - "aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQg" + - "aW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFu" + - "aXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoK" + - "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + - "bmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmlj" + - "IGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBp" + - "bmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZh" + - "bml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRl" + - "ZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoK" + - "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5" + - "YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5p" + - "dHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5" + - "IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + - "by9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkg" + - "dmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3Rh" + - "bmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMg" + - "dHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJv" + - "dXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5" + - "CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + - "ZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + - "eQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5l" + - "dC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBs" + - "eSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2Vz" + - "L252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + - "cGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29t" + - "cHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3Rs" + - "eSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0" + - "aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3Rh" + - "bGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1" + - "c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + - "LAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + - "ZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwg" + - "YW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29t" + - "cHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBm" + - "b3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpT" + - "Y29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5l" + - "IGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8t" + - "c2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRp" + - "b24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBv" + - "cHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "LCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52" + - "ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFj" + - "ZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2Ug" + - "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0" + - "aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVs" + - "ZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5l" + - "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFt" + - "ZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcg" + - "bmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoK" + - "IyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "bnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMi" + - "IC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + - "ZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhl" + - "bG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9u" + - "bHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBg" + - "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5p" + - "bWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0" + - "IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFs" + - "dWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + - "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + - "b3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRp" + - "b246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6" + - "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0g" + - "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + - "ZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + - "bWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAg" + - "ICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6" + - "IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDog" + - "KmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkg" + - "YSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5" + - "CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3Jl" + - "ZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQg" + - "cnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlm" + - "IHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwg" + - "QVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQg" + - "fAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGlt" + - "YWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVu" + - "Y3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmpl" + - "Y3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0" + - "cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNB" + - "UlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8g" + - "YHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQg" + - "YHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJl" + - "Y3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwg" + - "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290" + - "c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZp" + - "Z2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBM" + - "QUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2" + - "NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29u" + - "c3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+" + - "IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhl" + - "IGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgi" + - "JG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZ" + - "IiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4p" + - "YC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVg" + - "IHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3" + - "b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lk" + - "ZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJl" + - "Z2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBh" + - "IGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBl" + - "bmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBz" + - "dGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChw" + - "cmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBi" + - "YW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + - "IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwg" + - "cmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + - "dAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAg" + - "IyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGkt" + - "b3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5j" + - "dGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZm" + - "ZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRo" + - "ZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2Fy" + - "IHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBN" + - "aXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIg" + - "YXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVk" + - "ZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkK" + - "ClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5" + - "IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFj" + - "ZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBj" + - "b25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAoj" + - "IDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + - "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + - "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVh" + - "dGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + - "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAz" + - "LiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJu" + - "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZl" + - "cnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFt" + - "ZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2Vj" + - "cmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5l" + - "ZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNS" + - "IHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBw" + - "dWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + - "bWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNr" + - "IHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2" + - "ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMK" + - "YGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4" + - "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEg" + - "VW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNy" + - "ZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBz" + - "dHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwg" + - "Q2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAg" + - "KyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBu" + - "byBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8" + - "IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFk" + - "IG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8u" + - "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtT" + - "IC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1p" + - "Z3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAj" + - "NC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBz" + - "bWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwK" + - "fCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0" + - "aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5E" + - "UkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1" + - "bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBp" + - "biB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + - "IHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVu" + - "ZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8" + - "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVs" + - "bSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdh" + - "eSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8" + - "IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4g" + - "c2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + - "b290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQw" + - "NCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxs" + - "IGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2Fz" + - "IHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBz" + - "byB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUt" + - "cnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVy" + - "aWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQg" + - "dmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJk" + - "Y29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGlt" + - "ZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVj" + - "dG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25z" + - "YCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2Ug" + - "dmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRh" + - "ZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAg" + - "ZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBT" + - "ZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25m" + - "aWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBh" + - "Y2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlg" + - "IHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4g" + - "QmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3Vj" + - "Y2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVw" + - "YWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyks" + - "IHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1" + - "YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5r" + - "bm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5p" + - "bmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpv" + - "YiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVs" + - "ZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3Qg" + - "aWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUK" + - "aG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291" + - "bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRl" + - "ZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVz" + - "Lm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + - "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFu" + - "ZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVm" + - "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2Vz" + - "L3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + - "ZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tp" + - "bGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFu" + - "ZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + - "anNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIs" + - "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + - "bXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJz" + - "dCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0" + - "ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5v" + - "dCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5k" + - "IGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBw" + - "cm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVk" + + "YGRlZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQg" + + "bmVlZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3Jl" + + "dC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8Cgoj" + + "IyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBp" + + "biB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNj" + + "b3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0IGFuZCByZW1v" + + "dmVzIHRoZW0KYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBw" + + "ZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KCldoZW4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sn" + + "cyBlbnZpcm9ubWVudCBmaWxlLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgCmZyb20gYC0tY29u" + + "dHJvbC1wbGFuZS1zdGFja2Agb3IgYSBzdGFjayBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBk" + + "aXJlY3RvcnksCml0IHRlbGxzIHRoZSB2YWxpZGF0b3Igd2hpY2ggR2F0ZXdheXMgdGhlIHN0YWNr" + + "IHdpcmVzIE5WQ0Ygcm91dGVzIHRvLiBXaXRob3V0CnRoYXQgZmlsZSBpdCBkb2VzIG5vdCwgYW5k" + + "IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlbSBmcm9tIHRoZSByb3V0ZXMuCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFn" + + "ZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9D" + + "TElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0" + + "YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZh" + + "bGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcg" + + "dG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBl" + + "dmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8IGAtLWNsdXN0" + + "ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRyYSByZWdpc3RyaWVz" + + "IHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNoYWJpbGl0eS4gVGhl" + + "eSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhl" + + "IHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJl" + + "Z2lzdHJ5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1" + + "bmxlc3MgdGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZj" + + "ci5pb2AgaXMgcHJvYmVkIG9ubHkgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNr" + + "IG5hbWVzIGEgcmVnaXN0cnkuIFRoZSB2YWxpZGF0b3IgZGlhbHMgZnJvbSBhIHBvZCB3aXRoIG5v" + + "IHByb3h5LCBzbyBhbiB1bnJlYWNoYWJsZSByZWdpc3RyeSBpcyBhIHdhcm5pbmc7IHRoZSBsb2Nh" + + "bCBjcmVkZW50aWFsIGNoZWNrIGlzIHdoYXQgZmFpbHMgYSByZWdpc3RyeSB0aGUgaW5zdGFsbCBj" + + "YW5ub3QgcHVsbCBmcm9tLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZD" + + "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJf" + + "dmFsaWRhdG9yX3JlZ2lzdHJpZXNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUt" + + "aW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29u" + + "dHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMg" + + "YHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBl" + + "ZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0Vg" + + "OyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDox" + + "LjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25z" + + "IGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFs" + + "aWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJp" + + "ZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMg" + + "YE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9y" + + "bWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRl" + + "ZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcg" + + "a2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRl" + + "ZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUg" + + "Q0xJIGxvb2tzIGZvciBvbmUgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBhbmQgY29waWVzIGl0IGlu" + + "dG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGFuZCBvbmx5IGZvciBhbiBp" + + "bWFnZSBvbiBgbnZjci5pb2AsIGl0IG1pbnRzIG9uZSBmcm9tIGBOR0NfQVBJX0tFWWAuIFRoZSBr" + + "ZXkgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LCBvdGhlciBOVklESUEgcmVnaXN0" + + "cmllcyBpbmNsdWRlZDsgdGhvc2UgdXNlIHlvdXIgZG9ja2VyIGxvZ2luIHwgYXV0by1kZXRlY3Qg" + + "fAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFs" + + "aWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0" + + "IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxp" + + "Y2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdl" + + "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBm" + + "YWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBv" + + "ZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQg" + + "Sm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMg" + + "cG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3" + + "aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgcmVjbGFpbXMgdGhlbSBh" + + "ZnRlciAyNCBob3Vycy4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlz" + + "dCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3Zl" + + "cyB0aGVtIG5vdyB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCB0aGUgdmFsaWRh" + + "dG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMuIFRoZSB0cmFu" + + "c2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBz" + + "byBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBm" + + "YWxzZWAgfAoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBp" + + "ZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQg" + + "SUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lv" + + "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBw" + + "bGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNp" + + "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVz" + + "dGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wg" + + "KyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAg" + + "fAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8" + + "IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBg" + + "LS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVy" + + "IHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8Cnwg" + + "YC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lP" + + "TmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5k" + + "cG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNy" + + "ZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBn" + + "ZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + + "LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZp" + + "ZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24g" + + "VEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkg" + + "bnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUu" + + "Zy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8Cnwg" + + "YC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVp" + + "cmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlk" + + "YXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNl" + + "YCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVz" + + "KSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJl" + + "cGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBG" + + "dW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwg" + + "LSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2lu" + + "dCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBw" + + "b3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBG" + + "dW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + + "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24t" + + "dHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhl" + + "bG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQg" + + "YnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwK" + + "fCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7" + + "IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1l" + + "dGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1" + + "c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3Ig" + + "ZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0" + + "cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwg" + + "LSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwg" + + "ZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3Jp" + + "dHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAg" + + "fCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAg" + + "dG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9y" + + "aXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBg" + + "ZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1v" + + "ZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1j" + + "b21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1" + + "cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + + "LCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRz" + + "IGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxz" + + "YXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUg" + + "b3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4g" + + "YDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRz" + + "KSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtz" + + "KS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUg" + + "YDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09O" + + "LgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAu" + + "IEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6" + + "ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxz" + + "W10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRg" + + "IG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFy" + + "dFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVu" + + "Y3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZD" + + "RiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hh" + + "dCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRp" + + "LXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1" + + "ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVw" + + "bGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExM" + + "TSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhv" + + "ZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBt" + + "YXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlu" + + "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + + "dC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0" + + "eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFj" + + "Y291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + + "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + + "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + + "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2Vw" + + "dHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25m" + + "aWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJp" + + "c2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9k" + + "ZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + + "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9j" + + "IG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBg" + + "LS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZ" + + "UEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBN" + + "aW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMg" + + "fCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBg" + + "MGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + + "TkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5n" + + "IFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBp" + + "cyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9j" + + "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1l" + + "IE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1a" + + "XVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3" + + "aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2Ut" + + "dHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + + "ZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENv" + + "bnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwK" + + "fCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2Ug" + + "fCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklM" + + "RWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVz" + + "IHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENT" + + "UCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdp" + + "dGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdz" + + "IEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmds" + + "ZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29u" + + "dGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJv" + + "bm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0t" + + "bWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAx" + + "LCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBg" + + "LS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxs" + + "YXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0" + + "aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNP" + + "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBM" + + "T0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8Cnwg" + + "YC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9y" + + "bWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1y" + + "ZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + + "YCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6" + + "VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10" + + "YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2Ny" + + "aXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5" + + "LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNz" + + "LXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + + "CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9p" + + "bnQgSUQgfCAtIHwKUEsHCLn4YG7JOQAAyTkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRV" + + "VAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzIOKGkiBkaWFnbm9zdGljIGNv" + + "bW1hbmQg4oaSIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBg" + + "cGhhc2VfZmFpbGVkYCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KSDigJQgZXZlcnkgZW50" + + "cnkgYmVsb3cgc2hvdWxkIG1hcCB0byBhbiBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlv" + + "bmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + + "IHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQ" + + "QVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0" + + "cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8Cnwg" + + "YGhlbG1maWxlIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZp" + + "bGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3Qgb24gUEFUSGAgfCBTYW1lIHwg" + + "aHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBHYXRld2F5IEFQSSBDUkRz" + + "IG5vdCBpbnN0YWxsZWRgIHwgZW52b3ktZ2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGlu" + + "c3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNw" + + "YWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBkZWZhdWx0" + + "IFN0b3JhZ2VDbGFzcyBub3QgYXZhaWxhYmxlYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Mg" + + "fCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6" + + "eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNs" + + "YXNzIjoidHJ1ZSJ9fX0nYCB8CnwgYEdQVSBvcGVyYXRvciBub3QgaW5zdGFsbGVkYCAoY29tcHV0" + + "ZS1wbGFuZSkgfCBudmlkaWEgR1BVIG9wZXJhdG9yIG1pc3NpbmcgfCBJbnN0YWxsIHBlciBodHRw" + + "czovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3Iv" + + "bGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0" + + "b3JgIGZvciBkZXYgfAp8IGBHUFUgbm9kZSBsYWJlbHMgbWlzc2luZ2AgKGNvbXB1dGUtcGxhbmUp" + + "IHwgTm9kZXMgbmVlZCBgbnZpZGlhLmNvbS9ncHUuZmFtaWx5YCBldGMuIHwgU2V0IGAtLWszcy1u" + + "b2RlLWxhYmVsIG52aWRpYS5jb20vZ3B1LmZhbWlseT1ob3BwZXJAYWdlbnQ6TmAgZm9yIGszZCB8" + + "CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1j" + + "bGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50" + + "ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBT" + + "aWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0" + + "Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50" + + "IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGlu" + + "aXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rp" + + "b24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBz" + + "Y29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVu" + + "IHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + + "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9y" + + "IGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8" + + "IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMg" + + "LW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVj" + + "aWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBm" + + "YW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUi" + + "OiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0" + + "ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5" + + "ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFg" + + "IChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5v" + + "dCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRl" + + "ciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0" + + "aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3" + + "MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJh" + + "dG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIg" + + "YnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJh" + + "dG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3lt" + + "cHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBD" + + "cmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4u" + + "L3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBm" + + "cm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0" + + "ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1w" + + "b3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5k" + + "IHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1Mg" + + "aW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5" + + "IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwK" + + "fCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1h" + + "Z2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0" + + "IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4g" + + "fCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sg" + + "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAt" + + "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMj" + + "IFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8" + + "IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlh" + + "bCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFs" + + "dWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVg" + + "IHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUg" + + "bmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBh" + + "Y2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAg" + + "KGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVu" + + "IHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQg" + + "cmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZj" + + "dC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCPOuE4R0EQAAdBEAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NL" + + "SUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpk" + + "ZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29u" + + "dHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhl" + + "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93" + + "biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3Rpbmcu" + + "IFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + + "YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGlu" + + "c3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1m" + + "aWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNl" + + "IGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3Bt" + + "ZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTog" + + "UmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRp" + + "ZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNm" + + "LWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAi" + + "MS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwg" + + "Y29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwg" + + "ZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVw" + + "LCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUt" + + "ZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAi" + + "CiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + + "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + + "b3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdv" + + "cmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVj" + + "dHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9u" + + "YWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + + "ZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3Ig" + + "aW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBr" + + "ZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZv" + + "ciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShy" + + "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCku" + + "CgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhl" + + "IG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5" + + "IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29u" + + "dHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2Vj" + + "cmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0" + + "ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25t" + + "ZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVp" + + "dGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNp" + + "b25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVy" + + "c2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5" + + "IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + + "Ojx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBj" + + "b250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1" + + "YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3Rh" + + "cnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBg" + + "YmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQg" + + "c2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpo" + + "ZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJl" + + "Y3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24g" + + "b2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJh" + + "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3Rv" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2Vj" + + "cmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZy" + + "b20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRz" + + "LnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + + "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + + "ZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2Vk" + + "ZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBg" + + "YHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBt" + + "ZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRl" + + "cykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdv" + + "IHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBi" + + "eQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAg" + + "LT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0" + + "IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFz" + + "c2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVz" + + "LCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFy" + + "Yml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVu" + + "dGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0" + + "LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVs" + + "ZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10o" + + "I292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgoj" + + "IyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcg" + + "YSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + + "cjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20g" + + "YSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZ" + + "PSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + + "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9u" + + "ZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFj" + + "aCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2Vj" + + "cmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8g" + + "eW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0" + + "cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBk" + + "b2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBt" + + "dXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBj" + + "b21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + + "JyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + + "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dv" + + "cmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1l" + + "IEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3" + + "cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBs" + + "YXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRo" + + "ZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywg" + + "YnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29u" + + "ZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0" + + "aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxz" + + "IGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNj" + + "ZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdy" + + "b25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9u" + + "ZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1t" + + "ZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0" + + "b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVh" + + "ZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBm" + + "cm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMj" + + "IyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRo" + + "ZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2Vz" + + "IGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBh" + + "bgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hl" + + "cmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBh" + + "dXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50" + + "aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdl" + + "OgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdp" + + "c3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAg" + + "ICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9u" + + "bHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5" + + "OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4K" + + "ICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFy" + + "dGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3Jpbmcu" + + "IENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWly" + + "cm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0" + + "byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5u" + + "Z2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVk" + + "IGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5" + + "LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gK" + + "ICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxg" + + "IHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3Vy" + + "LXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQog" + + "ICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwg" + + "c3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0" + + "cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1" + + "bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlv" + + "dSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAx" + + "CiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0" + + "aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9n" + + "aW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUg" + + "cmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1" + + "bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJl" + + "Z2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4g" + + "d2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBt" + + "aXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0" + + "aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4" + + "IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJl" + + "IHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3Rp" + + "bmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdh" + + "eSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0" + + "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBg" + + "CgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5k" + + "IEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBh" + + "bmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0" + + "IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxl" + + "IHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNv" + + "bm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0" + + "YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRz" + + "IHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRl" + + "ciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IERO" + + "UyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5t" + + "ZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJl" + + "ZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAj" + + "IERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0" + + "cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9Q" + + "QVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFs" + + "LAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNo" + + "QG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + + "dGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+" + + "IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVz" + + "IHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0" + + "byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUu" + + "IERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5k" + + "ZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0t" + + "LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8" + + "CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRp" + + "b24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3Jv" + + "dXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3Jv" + + "dXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEt" + + "MiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9u" + + "YWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5l" + + "ZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZy" + + "b250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlz" + + "IGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5" + + "IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBj" + + "b250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91" + + "dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNr" + + "YWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + + "ZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + + "YHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBw" + + "aW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9t" + + "YWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQg" + + "ZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMu" + + "dmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBo" + + "b3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1l" + + "IG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRj" + + "aGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMg" + + "dGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZp" + + "Y2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jl" + + "c3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVz" + + "ZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2Yg" + + "LWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRw" + + "cm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4i" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFu" + + "aXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQpp" + + "bnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkg" + + "dGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFs" + + "KQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJ" + + "LiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBw" + + "YWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVk" + + "IHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBg" + + "bnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1p" + + "biBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRv" + + "IHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxs" + + "IHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBV" + + "SSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRo" + + "ZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBk" + + "b2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVh" + + "bHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiBy" + + "ZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0g" + + "Q0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNv" + + "bnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVy" + + "IGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93" + + "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNy" + + "ZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3du" + + "CgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1" + + "c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5" + + "IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJl" + + "OiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lz" + + "YCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwg" + + "YG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBg" + + "YWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5j" + + "bHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBi" + + "dXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVz" + + "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2Vy" + + "dC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lz" + + "ZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRl" + + "bGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpC" + + "ZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdl" + + "ciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZl" + + "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1" + + "ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJl" + + "bGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + + "ZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92" + + "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRl" + + "IHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVz" + + "cGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVs" + + "ZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJp" + + "ZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5h" + + "dHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBg" + + "YAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUg" + + "KGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "cHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3Jh" + + "Z2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55" + + "IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290" + + "bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8" + + "cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRo" + + "ZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + + "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + + "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + + "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNv" + + "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAg" + + "IG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBh" + + "IHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcg" + + "YHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCBy" + + "ZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMj" + + "IFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJl" + + "dmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJl" + + "IHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBh" + + "bmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRo" + + "IHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBs" + + "YW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2Fy" + + "IEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1" + + "bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + + "Y3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxh" + + "dGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8" + + "IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwg" + + "YDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXAp" + + "IHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0" + + "cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + + "dWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2Nr" + + "ZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1" + + "dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90" + + "ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUg" + + "Tk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUg" + + "cGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdo" + + "aWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4g" + + "Qm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBu" + + "dmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUg" + + "YGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1" + + "ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRv" + + "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQo" + + "PGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVl" + + "OiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5j" + + "b2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6" + + "IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwg" + + "YW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBz" + + "eW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtl" + + "eSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVh" + + "ZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBg" + + "YGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNz" + + "bCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fy" + + "cy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3Vk" + + "IFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNh" + + "cnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNm" + + "IGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBg" + + "YGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWly" + + "cm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJz" + + "IG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlm" + + "ZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1h" + + "Z2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3" + + "byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdp" + + "c3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBz" + + "ZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2" + + "ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xp" + + "Y3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBv" + + "ZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0" + + "cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25z" + + "IG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZl" + + "cm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpo" + + "ZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1u" + + "YW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9y" + + "dCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + + "IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + + "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + + "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + + "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + + "cHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJl" + + "Y3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhl" + + "IHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFn" + + "ZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFz" + + "aAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0n" + + "ey5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1j" + + "cmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlh" + + "bCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJu" + + "byBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBE" + + "ZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9k" + + "cyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3Qg" + + "LUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxl" + + "YXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + + "JyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQ" + + "dWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwg" + + "c2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3Jl" + + "dHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2Fp" + + "dGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3Rh" + + "dHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9s" + + "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + + "IHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0" + + "YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFz" + + "ZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZh" + + "bHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVu" + + "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9i" + + "IGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBT" + + "ZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIklu" + + "aXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZh" + + "dWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2Ag" + + "dmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBj" + + "cmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9u" + + "bHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + + "c3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2Vy" + + "dmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9D" + + "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tl" + + "ZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9y" + + "IG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMg" + + "YW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGlu" + + "c3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRo" + + "ZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFz" + + "ZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9i" + + "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291" + + "bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9v" + + "dHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5z" + + "dGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9m" + + "IGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBw" + + "ZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQg" + + "Ym9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2Vy" + + "dmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3Vu" + + "ZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBl" + + "cnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0" + + "byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJy" + + "aWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIu" + + "ZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0" + + "YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2Rl" + + "ZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBg" + + "dXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJ" + + "T049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFw" + + "IHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxs" + + "YCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + + "c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQg" + + "b25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxs" + + "IGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhh" + + "biBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNy" + + "ZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5z" + + "IGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5" + + "IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJz" + + "dCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + + "LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBl" + + "Y3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5" + + "bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0" + + "aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0" + + "YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4g" + + "bnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxv" + + "Z3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhl" + + "IGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0" + + "YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5k" + + "IEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQt" + + "dG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxt" + + "ZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwg" + + "c2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNl" + + "bGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywg" + + "bWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlk" + + "YXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2Vs" + + "Zi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBz" + + "a2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxl" + + "IChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBs" + + "dWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1" + + "c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJz" + + "aW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZp" + + "bGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2gg" + + "cmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVy" + + "c2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3Rh" + + "bGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNs" + + "aWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFz" + + "c2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZD" + + "RiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0" + + "ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVs" + + "bWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5p" + + "bmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGlt" + + "cG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4u" + + "IHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBs" + + "YXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJl" + + "dmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0" + + "aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENs" + + "ZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + + "aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNr" + + "ZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + + "ZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRv" + + "IGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNG" + + "LW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlk" + + "IG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVh" + + "bnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZD" + + "RkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmlu" + + "YWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdl" + + "dGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQp" + + "IGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQg" + + "Zmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1o" + + "ZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNG" + + "IGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + + "IEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1" + + "dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBh" + + "dXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25t" + + "ZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2No" + + "ZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRo" + + "ZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNN" + + "U19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBs" + + "YW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25m" + + "aWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBm" + + "cm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNl" + + "cGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3Rlcmlu" + + "ZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + + "aWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlz" + + "X3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9o" + + "b3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVy" + + "LWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01T" + + "X1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcg" + + "d2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21w" + + "dXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25s" + + "eSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRl" + + "ciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJh" + + "dGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBm" + + "b3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1" + + "ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVu" + + "dCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBh" + + "bmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90" + + "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + + "IHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1" + + "dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + + "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + + "bmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5v" + + "dCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBw" + + "cm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjog" + + "IlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxl" + + "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBp" + + "bnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3lu" + + "YyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + + "Zm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMv" + + "LCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxl" + + "cyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBo" + + "ZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4" + + "dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlv" + + "biI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdl" + + "ZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0" + + "YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxl" + + "IHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNl" + + "cnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBs" + + "b3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhl" + + "biBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0" + + "YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGlu" + + "ZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJl" + + "Y3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhp" + + "c3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAo" + + "Y2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywg" + + "dmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBu" + + "YW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhl" + + "bG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95" + + "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMg" + + "KGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHBy" + + "b3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBo" + + "ZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBj" + + "b21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIs" + + "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + + "bmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNl" + + "IG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBh" + + "bmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJl" + + "ZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4g" + + "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQg" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lz" + + "dGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFp" + + "biBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1" + + "bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkg" + + "aW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2Zm" + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2" + - "ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwg" + - "bW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + - "aXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBh" + - "bmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9u" + - "IGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + - "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1" + - "aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0" + - "aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0" + - "byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBw" + - "cmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJ" + - "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90" + - "IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxl" + - "IHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZp" + - "ZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5k" + - "bHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + - "YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "Ikc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3Bh" + - "Y2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + - "IHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + - "cy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0" + - "LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBz" + - "dHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + - "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + - "dXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQg" + - "dGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + - "dG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0" + - "bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5h" + - "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + - "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + - "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBk" + - "aXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5h" + - "bGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtm" + - "bG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQg" + - "YSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBU" + - "aGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhw" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + + "LWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + + "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVy" + + "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVy" + + "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1l" + + "LCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5z" + + "dGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0" + + "YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVz" + + "dGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFz" + + "IHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyBy" + + "ZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2Fu" + + "ZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0" + + "aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhw" + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVw" + - "ZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNv" + - "bnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJh" + - "cmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxk" + - "cywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFr" + - "ZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1" + - "dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQg" + - "d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJl" + - "Z2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + - "dGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxs" + - "ZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhl" + - "IGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3Vy" + - "bCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNf" + - "dXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3Qg" + - "Zm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVT" + - "VEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwg" + - "SEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + - "aGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNv" + - "bmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWlj" + - "bXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURD" + - "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRp" + - "ZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGlj" + - "YXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNh" + - "dXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + - "byBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxl" + + "IHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGlu" + + "ZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0" + + "aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFu" + + "ZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + - "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElf" + - "S0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + - "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + - "Q0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2Yg" + - "dGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMg" + - "Zm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "dCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFs" + + "dWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3Jl" + + "dHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25l" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTog" + + "c3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVu" + + "dGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1m" + + "aWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJx" + + "dWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fz" + + "c2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBk" + + "ZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBl" + + "bmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkg" + + "ZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVu" + + "Y3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3Rl" + + "bSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9y" + + "IHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEg" + + "cG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFu" + + "ZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVz" + + "Y3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1" + + "bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlm" + + "aWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNz" + + "aW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5n" + + "Lm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUg" + + "dGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZv" + + "ciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9v" + + "ciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3Qg" + + "Y2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAi" + + "Q29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBj" + + "b250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFu" + + "ZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmls" + - "ZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdo" + - "ZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIg" + - "dG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4g" + - "SXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5n" + - "IGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxl" + - "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0" + - "aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAg" + - "ICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVh" + - "biBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + - "S1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBl" + + "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0" + + "ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2Yt" + + "Z2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBv" + + "aW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQg" + + "TlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRp" + + "c2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3Qg" + + "ZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywg" + + "UmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVh" + + "dGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1" + + "ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1" + + "dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0" + + "ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxl" + + "ck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1n" + + "YXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVS" + + "TCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJM" + + "LCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJv" + + "eHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBD" + + "IHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlB" + + "cGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBh" + + "bmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBz" + + "ZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + + "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + + "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3Qi" + + "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVS" + + "TCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxT" + + "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIs" + + "CiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNs" + + "dWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBj" + + "cmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFu" + + "ZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEt" + + "c3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250" + + "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGgg" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBl" + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxh" + - "dGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVk" + - "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50" + - "aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVk" + - "IHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1" + - "bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBw" + - "bGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1m" + - "aWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVy" + - "c2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBh" + - "Z2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFn" + - "ZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBu" + - "YXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQt" + - "bWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRv" + - "IHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + - "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2" + - "aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMi" + - "LAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCBy" + - "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sg" + - "dXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1w" + - "cm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFs" + - "bCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJh" + - "dGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxh" + - "bmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29t" + - "bWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0" + - "ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5k" + - "IHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90" + - "IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQg" + - "dmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + - "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + - "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + - "LWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAt" + - "LXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0" + - "ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "LCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRl" + - "ZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJU" + - "aGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJj" + - "ZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNy" + - "ZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "ZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJl" + + "Z2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhl" + + "IGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBm" + + "b3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxh" + + "bmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlv" + + "biBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBh" + + "bmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNo" + + "aXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlz" + + "c2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNl" + + "IGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3Zl" + + "bmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRo" + + "ZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3Rh" + + "dHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5h" + + "bWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVk" + + "aWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBj" + + "b25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0" + + "ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3Rl" + + "bnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0" + + "IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVz" + + "dGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVz" + + "dHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNv" + + "bmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1" + + "c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAg" + + "ICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + + "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + + "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hl" + + "biBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAog" + + "ICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1l" + + "c3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2Ug" + + "cHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmls" + + "ZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVD" + + "T05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQg" + + "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNv" + + "bXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUg" + + "ZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMs" + + "IHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMg" + + "YW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2Fy" + + "bmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQg" + + "Z290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNv" + + "bmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFu" + + "ZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAi" + + "VGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0" + + "ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRp" + + "b25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVu" + + "Y2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZ" + + "QU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1" + + "ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBn" + + "bG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQg" + + "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlu" + + "bGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZh" + + "bHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlh" + + "bWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQg" + + "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + + "ZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3Ms" + + "IGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFy" + + "Yml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVl" + + "czogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRo" + + "YXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJl" + + "IGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVu" + + "YWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1" + + "bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUg" + + "aXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZl" + + "cmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9k" + - "aWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRp" + - "bmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0" + - "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlm" + - "ZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5l" + - "IHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVk" + - "ZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJl" + - "LWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1" + - "ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczog" + - "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhl" + - "IGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRp" + - "ZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "Ni1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBv" + - "bmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFv" + - "IC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUg" + - "aGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNl" + - "IGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAg" + - "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRz" + - "LXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJl" + - "bGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVs" + - "bGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1" + - "bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNv" + - "bW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hl" + - "Y2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + - "ZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNz" + - "aW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0" + - "cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09m" + - "ZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0" + - "aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + - "aW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIs" + - "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQg" + - "YSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1y" + - "b3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUg" + - "RUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3Vn" + - "aCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkg" + - "cHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + - "dGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4g" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdh" + - "dGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1w" + - "cm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBs" + - "dXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1" + - "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGlj" + - "bXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0" + - "ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0" + - "IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + - "YnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hh" + - "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95" + - "LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQg" + - "bmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFj" + - "ZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBv" + - "aW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VV" + - "UkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vy" + - "dmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VV" + - "UkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJU" + - "aGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5n" + - "cnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9z" + - "dG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlB" + - "cGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3Bl" + - "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAi" + - "VGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZp" + - "ZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RI" + - "ZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3Zl" + - "cnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9s" + - "LXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIs" + - "CiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNh" + - "LW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Et" + - "c3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAg" + - "ICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + - "dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVz" + - "IGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxt" + - "ZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5" + - "IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQg" + - "cGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVy" + - "IGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBm" + - "bG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + - "IHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUs" + - "IGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + - "ZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + - "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3Ry" + - "YXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + - "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + - "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + - "dHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRo" + - "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3" + - "ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5n" + - "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBn" + - "b25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBm" + - "bG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0" + - "cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVs" + - "bWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJl" + - "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFu" + - "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + - "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + - "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + - "IHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5n" + - "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3du" + - "IGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + - "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + - "aWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wt" + - "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJl" + - "Zm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + - "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + - "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + - "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0" + - "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBh" + - "dGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRv" + - "d24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + - "YXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUg" + - "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24i" + - "OiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcg" + - "c2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + - "ZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNy" + - "ZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + - "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3Mu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + - "aW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0" + - "cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xv" + - "YmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2Fu" + - "ZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMu" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "cyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAi" + - "VGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBh" + - "bmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBi" + - "bG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMi" + - "LAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVu" + - "Y3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + - "ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRv" + - "IEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0g" + - "YWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2Fz" + - "IGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5l" + - "ZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQt" + - "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + - "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhv" + - "ZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + - "IGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcu" + - "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJh" + - "bnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlz" + - "IG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5n" + - "IHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4" + - "aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCBy" + - "b3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29s" + - "ZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCBy" + - "ZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBj" + - "bHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + - "ZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + - "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + - "dGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQs" + - "IGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxl" + - "IGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBz" + - "ZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExN" + - "IGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBs" + - "bG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIg" + - "c2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwg" + - "TlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdz" + - "IHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNl" + - "bGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNw" + - "ZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + - "ZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1" + - "Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVk" + - "IGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0" + - "aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABK" + - "VgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBs" + - "ZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3Zl" + - "cnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNl" + - "IGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhs" + - "YXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRg" + - "LgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1" + - "ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + - "L3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVm" + - "b3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxt" + - "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93" + - "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + - "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + - "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + - "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + - "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + - "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAg" + - "ICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTog" + - "IjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFu" + - "ZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9j" + - "YXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2Vz" + - "IGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJl" + - "KSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + - "c2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBs" + - "b3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRo" + - "ZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2Ap" + - "IGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRz" + - "LgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAg" + - "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6" + - "CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgoj" + - "IyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxz" + - "KQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + - "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + - "ICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1" + - "bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5" + - "PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + - "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2Vj" + - "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNl" + - "Y3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdl" + - "UHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBp" + - "biBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5h" + - "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + - "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + - "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + - "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + - "c3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + - "ICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0" + - "LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29t" + - "cHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsg" + - "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRz" + - "IGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5k" + - "ZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNr" + - "T2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0g" + - "bnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20t" + - "Y29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwK" + - "ICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0n" + - "CiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRl" + - "bGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVs" + - "dC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + - "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAK" + - "Ci0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBk" + - "ZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVw" + - "IDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + - "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNr" + - "IG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVi" + - "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1z" + - "dHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1" + - "c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRp" + - "bmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + - "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + - "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + - "CgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0" + - "ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0" + - "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ks" + - "IGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + - "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktV" + - "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVj" + - "b25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMK" + - "YW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAg" + - "LUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + - "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQg" + - "cmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoK" + - "Rm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiks" + - "IHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "Ci0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5n" + - "ZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNl" + - "ciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQg" + - "dGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1u" + - "IGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + - "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5T" + - "IGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBo" + - "b3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJl" + - "Y29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+" + - "YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0" + - "ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRl" + - "IHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBg" + - "SG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGly" + - "ZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2" + - "YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUK" + - "SUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVp" + - "ciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRp" + - "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5h" + - "bGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUg" + - "Y29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcg" + - "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + - "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1v" + - "IHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHBy" + - "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + - "cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + - "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + - "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + - "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + - "aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBl" + - "bmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNl" + - "IGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBP" + - "cGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + - "dXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "bmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxl" + - "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMg" + - "fAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + - "fCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + - "eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9u" + - "YWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + - "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRp" + - "b25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRv" + - "biBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVx" + - "dWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBs" + - "bG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + - "IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZh" + - "bml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUg" + - "c3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0" + - "ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9u" + - "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + - "bnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5n" + - "cmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1" + - "YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90" + - "IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBu" + - "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + - "YXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhl" + - "biByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBo" + - "YW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNv" + - "bWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFu" + - "ZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1m" + - "aWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52" + - "aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + - "cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwg" + - "Q0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkg" + - "cHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFu" + - "ZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wt" + - "cGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRo" + - "ZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVl" + - "ZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3Rz" + - "IGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVu" + - "dmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICBy" + - "ZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgot" + - "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0" + - "ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0" + - "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + - "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wt" + - "cGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpg" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1n" + - "YXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBU" + - "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBs" + - "dXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAg" + - "aXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNl" + - "Cndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAoj" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2Jh" + - "bDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52" + - "Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZO" + - "YXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNl" + - "cnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9j" + - "YXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdy" + - "cGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0" + - "ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1l" + - "c3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7" + - "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6" + - "IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0" + - "czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdh" + - "dGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFw" + - "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + - "bWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAg" + - "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + - "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxl" + - "ZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAg" + - "ICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAg" + - "ICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + - "ICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZp" + - "ZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRy" + - "ZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElf" + - "Q09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDog" + - "IjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFw" + - "aV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48" + - "Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWlu" + - "PiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29u" + - "dGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFw" + - "cyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNf" + - "aG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhl" + - "cmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0" + - "aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBi" + - "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + - "c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4g" + - "XAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBc" + - "CiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgt" + - "dG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+" + - "CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJv" + - "bSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50" + - "LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29t" + - "bWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25s" + - "eQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIu" + - "CgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwg" + - "Zmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSBy" + - "ZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + - "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdp" + - "b24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVy" + - "c2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJl" + - "Z2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lz" + - "dHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNo" + - "YWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpX" + - "S1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBI" + - "ZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29u" + - "dHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFu" + - "ZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1" + - "dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNv" + - "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBh" + - "ZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFu" + - "ZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0" + - "cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFu" + - "ZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + - "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0" + - "ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + - "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + - "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + - "IFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + - "b3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250" + - "cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJl" + - "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + - "cHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5" + - "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIK" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xl" + - "YW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + - "b25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + - "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURg" + - "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + - "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4" + - "YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0" + - "ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gK" + - "S1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + - "Q09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09O" + - "RklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBs" + - "YW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBr" + - "dWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0" + - "ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2Ft" + - "ZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + - "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250" + - "cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21w" + - "dXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93" + - "IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAt" + - "LXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0" + - "IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBs" + - "YW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVy" + - "LCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVu" + - "IHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + - "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5" + - "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + - "YS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + - "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + - "XAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRl" + - "IGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdp" + - "c3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNl" + - "CgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMg" + - "QWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + - "ZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVu" + - "dHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVu" + - "dHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUg" + - "YSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0" + - "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6" + - "IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBS" + - "RUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAw" + - "LzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6" + - "CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + - "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + - "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + - "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + - "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + - "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + - "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + - "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + - "XAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFj" + - "ZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZl" + - "cmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVk" + - "IHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + - "bWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVu" + - "YmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2gg" + - "U2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + - "dWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVs" + - "ZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZj" + - "ci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50" + - "aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMj" + - "IyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6" + - "CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + - "UkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAv" + - "MSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVy" + - "IGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpg" + - "YGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9i" + - "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3Mg" + - "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0" + - "IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipP" + - "cGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBw" + - "dWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9u" + - "IGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMg" + - "aW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAg" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + - "ciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNl" + - "Y3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmlu" + - "ZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNo" + - "CiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVu" + - "YmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBh" + - "dXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxp" + - "ZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFu" + - "eSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtl" + - "eSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQg" + - "d2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRp" + - "b25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fu" + - "bm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMg" + - "dGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50" + - "LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJ" + - "bml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9w" + - "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAg" + - "bWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBV" + - "c2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxs" + - "YmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUg" + - "bGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVu" + - "diB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVu" + - "YmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + - "IyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5" + - "c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBt" + - "aWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVu" + - "dCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5h" + - "bCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFu" + - "ZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4x" + - "IG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxl" + - "ZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNl" + - "IHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90" + - "YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoK" + - "IyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVT" + - "VEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEw" + - "bQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMj" + - "IyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + - "U2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwK" + - "LSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIi" + - "CiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5v" + - "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + - "aWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMj" + - "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + - "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpg" + - "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcg" + - "ZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoK" + - "IyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShz" + - "KSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + - "dmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNs" + - "YWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRj" + - "aCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoK" + - "Mi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0" + - "cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKklu" + - "c3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVk" + - "IHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0" + - "YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3" + - "aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFy" + - "cyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQp" + - "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4g" + - "PG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNl" + - "IGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3Bh" + - "Y2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + - "dCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08" + - "cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWls" + - "ZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUg" + - "Y3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3Np" + - "cwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMg" + - "LW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQpr" + - "dWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hl" + - "Y2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + - "ZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3Jvbmcg" + - "YmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3Jl" + - "dHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5v" + - "dCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBj" + - "cmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBT" + - "aG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0" + - "cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQg" + - "aW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBj" + - "cmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0" + - "IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQK" + - "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZp" + - "Y2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMp" + - "CgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpz" + - "dHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3Bl" + - "cmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5n" + - "ICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNv" + - "bnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVk" + - "LiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5k" + - "CmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9D" + - "T05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + - "TlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + - "IiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFk" + - "YXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9" + - "IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3Vi" + - "ZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIk" + - "bnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSIn" + - "IF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + - "IGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZj" + - "Zi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQg" + - "bmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmlu" + - "YWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + - "IiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUi" + - "IC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlz" + - "c2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgpp" + - "dCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBc" + - "CiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4" + - "ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhh" + - "dCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3Rh" + - "bGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRl" + - "IGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9u" + - "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3Bl" + - "cmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhl" + - "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1h" + - "bnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + - "ZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENo" + - "YW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0" + - "ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyBy" + - "ZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + - "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + - "IiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + - "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJl" + - "Y3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0" + - "c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMj" + - "IyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92" + - "ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGlu" + - "YXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXkt" + - "YWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + - "dGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhh" + - "bXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdl" + - "KS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVu" + - "Y2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFj" + - "ZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBu" + - "YXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBv" + - "cGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXBy" + - "b3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1n" + - "YXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVz" + - "cyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZv" + - "eSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdh" + - "eSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVy" + - "ZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + - "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHku" + - "eWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25t" + - "ZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1" + - "ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAg" + - "ICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1u" + - "YW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRz" + - "LCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRl" + - "bXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52" + - "Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNv" + - "bmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAg" + - "ICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVu" + - "di1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0t" + - "IGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25z" + - "dHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBl" + - "bnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxv" + - "dyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGlu" + - "c3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRz" + - "IGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "CiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMu" + - "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0t" + - "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5h" + - "dHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52" + - "Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRl" + - "cGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3Nh" + - "bmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRl" + - "IGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgoj" + - "IyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBM" + - "YWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlz" + - "IHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVs" + - "bS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZj" + - "ZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlv" + - "bi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdy" + - "cGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFw" + - "aSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnkt" + - "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVx" + - "dWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2Yv" + - "aGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNz" + - "dWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChu" + - "byByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMg" + - "fCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGlu" + - "aGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0" + - "cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4u" + - "L2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5s" + - "bG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFu" + - "ZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1w" + - "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + - "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2" + - "YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2Vy" + - "dmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQg" + - "aWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVu" + - "Y3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4g" + - "TWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290" + - "Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAg" + - "a2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVl" + - "czpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVl" + - "czoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRl" + - "bmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFs" + - "dWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZh" + - "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdo" + - "ZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAg" + - "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1" + - "ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + - "IiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + - "WW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + - "ICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUp" + - "CgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJp" + - "dGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAg" + - "bmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpX" + - "aGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5l" + - "ZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVl" + - "c2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpG" + - "cm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlh" + - "bWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFy" + - "dC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMu" + - "eWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiBy" + - "ZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + - "IFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVz" + - "YCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3Ry" + - "dWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBp" + - "dCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVw" + - "bGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + - "IGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uu" + - "c2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9y" + - "cy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMj" + - "IE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2Uu" + - "KmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRz" + - "dHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRl" + - "Lm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBv" + - "cGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAot" + - "IGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0g" + - "YG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJs" + - "ZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipg" + - "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVu" + - "YWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMg" + - "TExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVh" + - "dGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRo" + - "ZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5" + - "YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkg" + - "QVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhl" + - "IExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJs" + - "ZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBz" + - "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24g" + - "dG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoK" + - "YGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAg" + - "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + - "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGlj" + - "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + - "ICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0" + - "ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAg" + - "ICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJl" + - "cGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVy" + - "cy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBv" + - "biBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBB" + - "UEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5s" + - "bG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBh" + - "YmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZv" + - "ciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNh" + - "IGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5z" + - "dGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJh" + - "bnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCBy" + - "b3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + - "dGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xM" + - "TSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJ" + - "QS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + - "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + - "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + - "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + - "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + - "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + - "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + - "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + - "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + - "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + - "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + - "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + - "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + - "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + - "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + - "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + - "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + - "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + - "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + - "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + - "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + - "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + - "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + - "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + - "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + - "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + - "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + - "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + - "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + - "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + - "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + - "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + - "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + - "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + - "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + - "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + - "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + - "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + - "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + - "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + - "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + - "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + - "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + - "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + - "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + - "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + - "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + - "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + - "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + - "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + - "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + - "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + - "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + - "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + - "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + - "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + - "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + - "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + - "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + - "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + - "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + - "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + - "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + - "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + - "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + - "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + - "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + - "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + + "bnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1" + + "cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCBy" + + "b3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1v" + + "Zi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5r" + + "ZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Ig" + + "b3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVy" + + "LCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVu" + + "ZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50" + + "Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUg" + + "c2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQg" + + "d29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUg" + + "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxh" + + "dGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhl" + + "IExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5h" + + "YmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhl" + + "IHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + + "dGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRo" + + "ZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVy" + + "IG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdh" + + "dGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGlu" + + "Y2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRl" + + "ZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0" + + "cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29u" + + "dHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + + "YW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRl" + + "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + + "IGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwg" + + "YW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9u" + + "IjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5n" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxz" + + "ZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCBy" + + "ZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tp" + + "bGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90" + + "IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0" + + "ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBo" + + "ZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAg" + + "IlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFu" + + "Y2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0K" + + "ICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFt" + + "cGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3Mu" + + "CgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0" + + "IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5" + + "cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3Rh" + + "cnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhl" + + "bG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGlu" + + "ZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3Vy" + + "Y2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBB" + + "ZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCklu" + + "IHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNl" + + "Y3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0g" + + "bmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5l" + + "bmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + + "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFs" + + "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0g" + + "Y2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + + "ICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3Rz" + + "OgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMj" + + "IyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0" + + "ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAg" + + "IyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRg" + + "IChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5k" + + "cmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0K" + + "CiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxs" + + "IFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBm" + + "cm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5n" + + "IGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBm" + + "b3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06" + + "CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBu" + + "dmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6" + + "IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBo" + + "ZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRv" + + "YXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8g" + + "LXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0" + + "ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + @@ -3721,124 +2896,951 @@ const skillDataZipBase64 = "" + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + - "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + - "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + - "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + - "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + - "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + - "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + - "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + - "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + - "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + - "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + - "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + - "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + - "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + - "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + - "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + - "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + - "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + - "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + - "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + - "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + - "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + - "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + - "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + - "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + - "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + - "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + - "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + - "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + - "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + - "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + - "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + - "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + - "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + - "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + - "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + - "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + - "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + - "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + - "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + - "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + - "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + - "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + - "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + - "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + - "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + - "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + - "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + - "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + - "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + - "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + - "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAJneIHEoQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + - "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EA" + - "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAMeBAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAEInSQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAj44AAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAACnAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAEbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + - "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAACX2wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBC" + - "ceYeASgAAAEoAAA6AAkAAAAAAAAAAAAAAMnqAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrh" + - "OrnIBwAAyAcAADkACQAAAAAAAAAAAAAAOxMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + - "5CEAAOQhAAAuAAkAAAAAAAAAAAAAAHMbAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAA" + - "AAAAAAAAAAAAvD0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + - "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDkLcle+QsAAPkLAAAyAAkAAAAAAAAAAAAAAERh" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQA0v7H3RDkAAEQ5AAAtAAkAAAAAAAAAAAAAAKZtAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEA864ThHQRAAB0EQAANwAJAAAAAAAAAAAAAABOpwEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAADC5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + - "AAkAAAAAAAAAAAAAANwbAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + - "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + - "AAAAAAAAkXICAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAdpsCAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + - "AAAAAAAAAAAAAAALzAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJ" + - "AAAAAAAAAAAAAAAy/QIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + - "AAC5BwAAPwAJAAAAAAAAAAAAAAC3JwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + - "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAA5i8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + - "AFtGAwAAAA==" + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVw" + + "IDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNo" + + "YXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFt" + + "cGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + + "bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + + "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + + "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + + "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + + "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1h" + + "Z2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUg" + + "a2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMu" + + "IEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBp" + + "biBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBu" + + "dmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBT" + + "dGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJl" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBh" + + "dGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFm" + + "dGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBi" + + "ZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3Ig" + + "bnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5v" + + "LWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3Vu" + + "dCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1l" + + "IjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpW" + + "ZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + + "JyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdl" + + "IiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQg" + + "UmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xl" + + "YW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpg" + + "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBc" + + "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1" + + "dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4" + + "dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFp" + + "bHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lz" + + "dGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJv" + + "bQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJt" + + "YXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAt" + + "LWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVy" + + "LWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAt" + + "LWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1" + + "dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sK" + + "ClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNw" + + "YWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZv" + + "cmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRl" + + "cm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFu" + + "IGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFn" + + "ZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0" + + "YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBw" + + "bGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5j" + + "ZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVs" + + "ZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpg" + + "YGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1l" + + "c3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5" + + "IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdy" + + "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJv" + + "dGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3Rh" + + "bGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNj" + + "bGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0" + + "ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkg" + + "b3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50" + + "LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERS" + + "PSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + + "XAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0" + + "dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMj" + + "IFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9i" + + "YWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdl" + + "ZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1" + + "Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FU" + + "RVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVw" + + "IGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAg" + + "d2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQg" + + "Y29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRo" + + "ZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VV" + + "UkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVS" + + "TCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQu" + + "IFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpo" + + "YW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBm" + + "aWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29u" + + "dGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBh" + + "cGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAg" + + "LW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRv" + + "ciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMu" + + "YWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUg" + + "NTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBp" + + "dGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0" + + "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVz" + + "dCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBT" + + "ZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1n" + + "cm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8Cnwg" + + "YHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9u" + + "LXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0" + + "aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVu" + + "YWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2Fn" + + "ZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXku" + + "ZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + + "YXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + + "YCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVx" + + "dWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0" + + "ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVk" + + "PXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0" + + "ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + + "ZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAg" + + "fCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhh" + + "dCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1n" + + "cm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVh" + + "c2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNz" + + "dWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0" + + "IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/" + + "KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + + "AKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5l" + + "IGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRy" + + "b2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNs" + + "dXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBs" + + "aWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291" + + "cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwK" + + "fC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFu" + + "ZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "IHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cg" + + "YW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90" + + "IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9u" + + "b3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0" + + "cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRl" + + "IHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQg" + + "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBG" + + "bG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoK" + + "LSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZv" + + "ciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQg" + + "c2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwg" + + "c2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1" + + "ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + + "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + + "bXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRl" + + "d2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVz" + + "IHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxl" + + "cyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUg" + + "ZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApg" + + "PGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFp" + + "bj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0" + + "aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3Jr" + + "ZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVz" + + "cz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFp" + + "bj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxn" + + "YXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6" + + "CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdh" + + "eXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1n" + + "YXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95" + + "LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAg" + + "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICBy" + + "b3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQog" + + "ICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAg" + + "ICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBu" + + "YXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlz" + + "c3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + + "CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAi" + + "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlk" + + "ZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3" + + "YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXkt" + + "ZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWlu" + + "c3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2gg" + + "YSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBw" + + "YXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2Vy" + + "dmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5" + + "c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0" + + "aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+Igpg" + + "YGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2No" + + "ZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBg" + + "LS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3" + + "YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxh" + + "Zy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBj" + + "b21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBc" + + "CiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19V" + + "Ukw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUt" + + "cGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZD" + + "Rl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + + "LW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0" + + "ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMg" + + "aXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRp" + + "LWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90" + + "aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0" + + "IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkg" + + "dGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVk" + + "IGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNv" + + "bnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRl" + + "LXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250" + + "cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBg" + + "YAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUg" + + "Y29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + + "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAog" + + "IC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + + "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVl" + + "cyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + + "ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0" + + "ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4" + + "dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3" + + "aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNy" + + "ZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMg" + + "b24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + + "cgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + + "YG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVs" + + "bFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5k" + + "IG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZj" + + "YS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxh" + + "bmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNy" + + "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxp" + + "Y2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1u" + + "IGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNh" + + "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7" + + "LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4g" + + "bnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVy" + + "eSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBj" + + "YW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVm" + + "b3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkg" + + "ZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + + "bSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9y" + + "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + + "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxl" + + "ZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + + "CmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVz" + + "cGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0" + + "dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoK" + + "Rm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZh" + + "bHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxj" + + "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBj" + + "bHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0" + + "aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBg" + + "YAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJl" + + "Zm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lz" + + "dHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRy" + + "b2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4g" + + "XAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + + "CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJl" + + "ZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVh" + + "bnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtl" + + "ZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRv" + + "d25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRp" + + "b24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNo" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAog" + + "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlk" + + "IDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5h" + + "bWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0" + + "IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29u" + + "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0" + + "IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJv" + + "bCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZv" + + "cmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJl" + + "Zml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + + "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + + "CiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + + "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + + "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93" + + "bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1" + + "dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29u" + + "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBL" + + "BwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMg" + + "RGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNv" + + "bW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBD" + + "b21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3Rs" + + "IGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJl" + + "Y3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlz" + + "dCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJl" + + "cykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1l" + + "c3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlv" + + "bnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRl" + + "eHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBB" + + "R0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1" + + "bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5p" + + "by8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + + "YGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBp" + + "ZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQg" + + "bnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGlt" + + "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + + "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNl" + + "cnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1l" + + "PiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgoj" + + "IyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2Vy" + + "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBi" + + "dXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxs" + + "U2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0" + + "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdl" + + "UHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rh" + + "cnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUg" + + "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlh" + + "bHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0" + + "bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3" + + "aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVj" + + "ayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5p" + + "dDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAg" + + "UkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2" + + "bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + + "ClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0" + + "aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2Ig" + + "cmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9k" + + "IGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9w" + + "ZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVj" + + "dGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBg" + + "CgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWly" + + "IGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4g" + + "KipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBg" + + "aGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5i" + + "YW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2Ug" + + "dmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAg" + + "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoq" + + "T3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwg" + + "c3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + + "YW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQt" + + "YWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtl" + + "eSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1v" + + "biBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMg" + + "YSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0" + + "aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtl" + + "eQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBs" + + "aXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2Vy" + + "dmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2Vydmlj" + + "ZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUg" + + "cG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0" + + "aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + + "ZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2Nv" + + "dmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3Vu" + + "dGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUg" + + "bWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBi" + + "YXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "KSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBp" + + "c3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVs" + + "ZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + + "bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZl" + + "ZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZp" + + "Z3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4v" + + "b3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJl" + + "YWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVy" + + "IE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBu" + + "ZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0" + + "Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtp" + + "bGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJF" + + "QURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01L" + + "aWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAi" + + "TGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZp" + + "YSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFt" + + "cGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1p" + + "dHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0" + + "czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJl" + + "c291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFw" + + "cGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0" + + "dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZ" + + "ICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5n" + + "ICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZl" + + "bnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1l" + + "c3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + + "dmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMg" + + "LSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0g" + + "InBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5v" + + "ZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25t" + + "ZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8" + + "IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sg" + + "c3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNs" + + "YXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2Fw" + + "YWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwg" + + "Z3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBS" + + "ZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAt" + + "QQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhl" + + "bG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAo" + + "bWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5" + + "IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95" + + "IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBk" + + "ZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVz" + + "cGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBS" + + "ZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50" + + "IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQg" + + "ZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFp" + + "bHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1" + + "cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMg" + + "YWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFw" + + "cC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24g" + + "Q2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBg" + + "c2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlg" + + "IGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZl" + + "cmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcn" + + "IHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgK" + + "ICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUg" + + "cmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlh" + + "bHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292" + + "ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + + "cyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "LS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + + "YWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwg" + + "c2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVw" + + "IFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAg" + + "aGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0" + + "bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNr" + + "ZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdh" + + "aW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUK" + + "dGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBj" + + "dXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJh" + + "c2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1v" + + "dmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4" + + "dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpx" + + "ICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScg" + + "LXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBu" + + "YW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJh" + + "Y2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wi" + + "ZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxl" + + "dGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBp" + + "biBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENP" + + "TVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwg" + + "XAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4" + + "dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVz" + + "cGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJl" + + "OiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVy" + + "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBs" + + "b3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3lt" + + "ZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMj" + + "IyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxs" + + "YXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZs" + + "b3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9u" + + "IHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0" + + "aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwg" + + "aW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAg" + + "LW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRh" + + "aWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNm" + + "YmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVy" + + "ZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3Jg" + + "LiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBu" + + "b3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRz" + + "Lm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTog" + + "R2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2gg" + + "dGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRz" + + "IGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5k" + + "cG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3" + + "YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1sw" + + "XS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + + "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + + "YWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBs" + + "b3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2Vydmlj" + + "ZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + + "dG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBk" + + "aXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBv" + + "bmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlv" + + "biBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2Vl" + + "CltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRl" + + "d2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFw" + + "cGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFt" + + "ZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0t" + + "fAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8" + + "CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRp" + + "b24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVz" + + "dC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4t" + + "aXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdh" + + "dGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52" + + "b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1m" + + "aWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1j" + + "b3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAt" + + "LSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0" + + "aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAg" + + "ICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFt" + + "ZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNy" + + "ZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFs" + + "dWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + + "cwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1k" + + "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBv" + + "bmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRv" + + "ciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + + "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + + "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + + "bm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdv" + + "IHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3Rh" + + "Y2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUg" + + "SGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUg" + + "Q0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1w" + + "bGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRv" + + "ZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgoj" + + "IyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVz" + + "cGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18Cnwg" + + "bmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5i" + + "YW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2Vj" + + "cmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZj" + + "Zi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpk" + + "ZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBl" + + "bmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + + "YXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + + "LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2Vy" + + "dmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwg" + + "aGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwg" + + "aGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1w" + + "cm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBp" + + "IHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2Ug" + + "fCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwg" + + "aGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZj" + + "Zi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + + "YXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXBy" + + "b3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBu" + + "dmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1v" + + "c3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVs" + + "ZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFu" + + "ZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJl" + + "IGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQg" + + "YGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2Vy" + + "dmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + + "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJp" + + "bGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0" + + "eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9u" + + "bWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UK" + + "CiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8g" + + "dGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5" + + "b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRo" + + "ZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRl" + + "IGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12" + + "YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmls" + + "ZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBk" + + "ZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxl" + + "YXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgot" + + "IG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + + "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + + "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUK" + + "ICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + + "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0" + + "YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1m" + + "aWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkK" + + "ICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBs" + + "YXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCBy" + + "ZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + + "IGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBW" + + "YWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBl" + + "bnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZp" + + "cm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQg" + + "b3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3Np" + + "bmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFs" + + "dWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2" + + "YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "cmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lm" + + "aWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBh" + + "c3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRy" + + "YQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdp" + + "c3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fz" + + "c2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBg" + + "Z2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVs" + + "dFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + + "YXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAK" + + "LSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAK" + + "LSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQp" + + "CgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJh" + + "by5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFv" + + "LnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUg" + + "c2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0g" + + "YDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5u" + + "b2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmls" + + "aXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExM" + + "TSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0" + + "aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBh" + + "bmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAg" + + "cm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVz" + + "IHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBp" + + "cyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFi" + + "bGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQg" + + "dGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFw" + + "cGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAg" + + "ICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RS" + + "b3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZp" + + "Y2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdl" + + "Q29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5h" + + "bWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJl" + + "OiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmds" + + "ZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2" + + "ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + + "CmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWlu" + + "dGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBv" + + "bmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNw" + + "b3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0" + + "aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRp" + + "b24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBw" + + "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0" + + "aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2Fk" + + "LWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBt" + + "ZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBz" + + "Oi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxt" + + "LXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2Fy" + + "IGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdp" + + "c3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1h" + + "Z2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0Rh" + + "dGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNs" + + "aWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhl" + + "IGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBw" + + "YXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0" + + "aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90" + + "ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVy" + + "IGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJl" + + "ZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRv" + + "ZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZp" + + "Zy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1w" + + "bGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxl" + + "dGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJv" + + "ZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUg" + + "aW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVu" + + "Y3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpj" + + "YXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJl" + + "ZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1h" + + "Z2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBu" + + "ZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5k" + + "CndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0t" + + "YXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5" + + "fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0K" + + "a3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNv" + + "bnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5h" + + "cmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJz" + + "LCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoK" + + "Rm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUK" + + "W1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + + "bnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxh" + + "bmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNw" + + "ZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVh" + + "c2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRt" + + "aW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkg" + + "KGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90" + + "ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNl" + + "IGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRv" + + "bgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFu" + + "ZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0" + + "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8g" + + "ZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVs" + + "IFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4g" + + "SWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBg" + + "bnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNr" + + "YWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBp" + + "biBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNm" + + "VWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2Ug" + + "cHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNy" + + "ZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lz" + + "dHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpr" + + "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11" + + "aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoK" + + "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNr" + + "ZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQg" + + "cm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVp" + + "YCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNm" + + "LXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRo" + + "ZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91" + + "dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWlu" + + "PiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRo" + + "ZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5v" + + "dCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEg" + + "dHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250" + + "IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5j" + + "ZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSBy" + + "ZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBp" + + "bWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUt" + + "cGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29u" + + "dGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVu" + + "ZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2Vj" + + "cmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0" + + "ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0" + + "b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2gg" + + "KFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8g" + + "YWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8g" + + "dXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0t" + + "Y3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNo" + + "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + + "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + + "IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXIt" + + "dXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + + "S0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2" + + "ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAz" + + "LiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJu" + + "by5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWlt" + + "YWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBu" + + "YW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAg" + + "ICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAg" + + "ICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAg" + + "ICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJl" + + "c3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEt" + + "c3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQt" + + "bWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAg" + + "ICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZj" + + "Zi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAg" + + "ICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1l" + + "OiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + + "bWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0" + + "aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNv" + + "bnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGlu" + + "amVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENv" + + "bXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJh" + + "dG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAog" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + + "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + + "a2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNl" + + "PW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJl" + + "bmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmds" + + "b2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhl" + + "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3Jg" + + "IGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEg" + + "YnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZv" + + "ciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMg" + + "Q2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + + "fScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVy" + + "bm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFk" + + "YXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3Rl" + + "ZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNl" + + "PiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQg" + + "c2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVj" + + "ayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRz" + + "IFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVl" + + "ZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2" + + "ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJu" + + "ZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJs" + + "aWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWlu" + + "IGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3" + + "aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNo" + + "b290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5n" + + "IHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiph" + + "ZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dl" + + "ciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+" + + "IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNz" + + "aW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3Vs" + + "ZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZj" + + "Zi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMj" + + "IFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBW" + + "ZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1u" + + "IDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAJO96PhKEAAA" + + "ShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQD/dvNnU2EAAFNhAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBDz+/lHQ8AAB0PAAAzAAkA" + + "AAAAAAAAAAAAAEByAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBl" + + "bGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAA" + + "AADHgQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAI+OAABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAApwAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABG2AABkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAl9sAAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAQnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAADJ6gAAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAADsTAQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAABzGwEAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQByDQ9kISMAACEjAAAwAAkAAAAAAAAAAAAAALw9AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA5C3JXvkLAAD5" + + "CwAAMgAJAAAAAAAAAAAAAABEYQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + + "L2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAufhgbsk5AADJOQAALQAJAAAA" + + "AAAAAAAAAACmbQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAA06cBAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAC1uQEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAABhHAIAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQAC" + + "Uk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAABZzAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABM" + + "AAkAAAAAAAAAAAAAAPubAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAkMwCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAt/0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAPCgDAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAGswAwBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQAB" + + "AKbOElBLBQYAAAAAFwAXAK8JAADgRgMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 484263f998..276f62eb3c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -1196,6 +1196,10 @@ func newValidatorRunID() (string, error) { // controlPlaneValidatorEnforcementConfig follows the generated reachability // section in the control-plane validator ConfigMap. +// +// No testImage: the validator also reads it for the node-to-node overlay +// probe, so a value here would override the validator's own default whenever +// --cluster-validator-probe-image is not set. const controlPlaneValidatorEnforcementConfig = `enforcement: # Disabled for preflight. VALIDATOR_PREFLIGHT only suppresses the summary # write, so enforcement would still run: it creates netpol-validation @@ -1204,9 +1208,6 @@ const controlPlaneValidatorEnforcementConfig = `enforcement: # before anything is installed and with no flag to turn it off, is not # something a read-only readiness check should do. enabled: false - testImage: busybox:1.36 - timeoutSeconds: 60 - critical: false ` // ensureClusterValidatorConfig creates this run's network-check ConfigMap. diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 92197ea0d4..5568df391e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -942,6 +942,13 @@ func TestBuildControlPlaneValidatorConfig_EnforcementDisabledForPreflight(t *tes "a read-only readiness check must not mutate the cluster or need Docker Hub") } +// With enforcement off the ConfigMap names no probe image, so the validator's +// own default, or NVCF_N2N_PROBE_IMAGE, picks the overlay probe image. +func TestBuildControlPlaneValidatorConfig_LeavesTheProbeImageToTheValidator(t *testing.T) { + cfg := buildControlPlaneValidatorConfig([]RegistryEntry{{Registry: "nvcr.io"}}) + assert.NotContains(t, cfg, "testImage") +} + // --no-cleanup must outlast the orphan TTL. Without a preserve marker the // orphan sweeper reclaims a deliberately kept run after 30 minutes, which // makes the flag mean "keep for 30 minutes". diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index 49ab35051f..86f35f67ee 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -29,14 +29,15 @@ import ( "golang.org/x/sync/errgroup" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" ) const ( - // inotifyProbeImage is the image used by the per-node probe pod. Pinned - // to match the documented inotify-tuner DaemonSet so customers do not need - // to mirror an extra image. + // inotifyProbeImage is the per-node probe pod's image when no probe + // image is configured. Pinned to match the documented inotify-tuner + // DaemonSet so customers do not need to mirror an extra image. inotifyProbeImage = "busybox:1.36" // inotifyProbeNamespace is where probe pods are created. "default" exists @@ -95,7 +96,10 @@ const ( // PSA-restricted clusters where pod create is denied for unprivileged // users, customers may need to apply the documented node-inotify-tuner // DaemonSet manually before this probe will succeed. -func NewInotifyProber() NodeInotifyProber { +// +// image replaces the default busybox image, for clusters that pull from a +// mirror; empty keeps the default. +func NewInotifyProber(image string) NodeInotifyProber { return func(ctx context.Context, kubeContext string) ([]NodeInotifyLimits, error) { restCfg, err := loadKubeConfig(kubeContext) if err != nil { @@ -116,7 +120,7 @@ func NewInotifyProber() NodeInotifyProber { if err != nil { return nil, fmt.Errorf("building kubernetes client: %w", err) } - return probeAllNodes(ctx, client) + return probeAllNodes(ctx, client, image) } } @@ -140,7 +144,7 @@ func InotifyProbeBudget() time.Duration { return inotifyProbeBudget } // nodeInotifyCheck can always inspect partial results, and limit // violations on some nodes are never dropped when other nodes are // concurrently unreachable. -func probeAllNodes(ctx context.Context, client kubernetes.Interface) ([]NodeInotifyLimits, error) { +func probeAllNodes(ctx context.Context, client kubernetes.Interface, image string) ([]NodeInotifyLimits, error) { // Nodes are probed probeConcurrency at a time, so on a cluster whose // probe pods stall each wave takes perNodePodTimeout: unbounded, the probe // ran past the time the check sets aside for the checks before the @@ -165,7 +169,7 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface) ([]NodeInot } i, nodeName := i, n.Name eg.Go(func() error { - results[i] = probeOneNode(egCtx, client, nodeName) + results[i] = probeOneNode(egCtx, client, nodeName, image) // Per-node failures are encoded in results[i].Err; never // propagate them as the errgroup's error, since that would // cancel sibling probes still in flight. @@ -182,7 +186,7 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface) ([]NodeInot // probeOneNode creates, waits on, and tears down a single probe pod, returning // the parsed limits or a per-node error. -func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName string) NodeInotifyLimits { +func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName, image string) NodeInotifyLimits { res := NodeInotifyLimits{NodeName: nodeName} if ctx.Err() != nil { res.Err = fmt.Errorf("not probed: the inotify probe's %s budget ran out", inotifyProbeBudget) @@ -192,7 +196,8 @@ func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName str pctx, cancel := context.WithTimeout(ctx, perNodePodTimeout) defer cancel() - pod, err := client.CoreV1().Pods(inotifyProbeNamespace).Create(pctx, buildInotifyProbePod(nodeName), metav1.CreateOptions{}) + pod, err := client.CoreV1().Pods(inotifyProbeNamespace).Create(pctx, buildInotifyProbePod(nodeName, image), + metav1.CreateOptions{}) if err != nil { res.Err = fmt.Errorf("create probe pod on node %s: %w", nodeName, err) return res @@ -224,9 +229,15 @@ func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName str // prints the two inotify sysctls to stdout. The container is unprivileged // and runs in the default PID namespace: /proc/sys/fs/inotify/max_user_* // are kernel-wide sysctls and are world-readable through the host's procfs -// via the read-only /host hostPath mount. -func buildInotifyProbePod(nodeName string) *corev1.Pod { +// via the read-only /host hostPath mount, so the container also runs as a +// non-root user with no capabilities. An empty image selects the default. +func buildInotifyProbePod(nodeName, image string) *corev1.Pod { + if image == "" { + image = inotifyProbeImage + } hostPathDir := corev1.HostPathDirectory + nobody := int64(65534) + runAsNonRoot, readOnlyRoot, allowPrivEsc := true, true, false return &corev1.Pod{ ObjectMeta: metav1.ObjectMeta{ GenerateName: "nvcf-inotify-probe-", @@ -242,10 +253,33 @@ func buildInotifyProbePod(nodeName string) *corev1.Pod { Tolerations: []corev1.Toleration{ {Operator: corev1.TolerationOpExists}, }, + SecurityContext: &corev1.PodSecurityContext{ + RunAsUser: &nobody, + RunAsGroup: &nobody, + }, Containers: []corev1.Container{{ Name: inotifyProbeContainer, - Image: inotifyProbeImage, + Image: image, Command: []string{"sh", "-c", inotifyProbeShellCmd}, + // Requests let the pod in under a namespace LimitRange or + // quota that requires them. + Resources: corev1.ResourceRequirements{ + Requests: corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("10m"), + corev1.ResourceMemory: resource.MustParse("16Mi"), + }, + Limits: corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("100m"), + corev1.ResourceMemory: resource.MustParse("32Mi"), + }, + }, + SecurityContext: &corev1.SecurityContext{ + RunAsNonRoot: &runAsNonRoot, + ReadOnlyRootFilesystem: &readOnlyRoot, + AllowPrivilegeEscalation: &allowPrivEsc, + Capabilities: &corev1.Capabilities{Drop: []corev1.Capability{"ALL"}}, + SeccompProfile: &corev1.SeccompProfile{Type: corev1.SeccompProfileTypeRuntimeDefault}, + }, VolumeMounts: []corev1.VolumeMount{{ Name: "host", MountPath: "/host", diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index f23ca4fe0b..581efd2a0e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -42,7 +42,7 @@ func fakeNode(name string) *corev1.Node { func TestProbeAllNodes_EmptyCluster(t *testing.T) { client := fake.NewSimpleClientset() - results, err := probeAllNodes(context.Background(), client) + results, err := probeAllNodes(context.Background(), client, "") require.NoError(t, err) assert.Empty(t, results, "no nodes → no per-node results") } @@ -52,7 +52,7 @@ func TestProbeAllNodes_ListNodesError(t *testing.T) { client.PrependReactor("list", "nodes", func(_ ktesting.Action) (bool, runtime.Object, error) { return true, nil, fmt.Errorf("forbidden: nodes") }) - _, err := probeAllNodes(context.Background(), client) + _, err := probeAllNodes(context.Background(), client, "") require.Error(t, err) assert.Contains(t, err.Error(), "listing nodes") assert.Contains(t, err.Error(), "forbidden") @@ -65,7 +65,7 @@ func TestProbeAllNodes_PodCreateErrorSurfacesPerNode(t *testing.T) { client.PrependReactor("create", "pods", func(_ ktesting.Action) (bool, runtime.Object, error) { return true, nil, fmt.Errorf("forbidden: pod create denied") }) - results, err := probeAllNodes(context.Background(), client) + results, err := probeAllNodes(context.Background(), client, "") require.NoError(t, err, "list succeeded so the overall probe should not return an error") require.Len(t, results, 2) for _, r := range results { @@ -100,7 +100,7 @@ func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { }) start := time.Now() - results, err := probeAllNodes(context.Background(), client) + results, err := probeAllNodes(context.Background(), client, "") require.NoError(t, err) assert.Less(t, time.Since(start), 5*time.Second, "the probe outlived its budget") require.Len(t, results, probeConcurrency+extra) @@ -119,7 +119,7 @@ func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { } func TestBuildInotifyProbePodShape(t *testing.T) { - pod := buildInotifyProbePod("node-x") + pod := buildInotifyProbePod("node-x", "") assert.Equal(t, inotifyProbeNamespace, pod.Namespace) assert.Equal(t, "nvcf-inotify-probe-", pod.GenerateName, "GenerateName lets the API server assign a unique suffix") @@ -144,4 +144,23 @@ func TestBuildInotifyProbePodShape(t *testing.T) { require.Len(t, pod.Spec.Volumes, 1) require.NotNil(t, pod.Spec.Volumes[0].HostPath) assert.Equal(t, "/", pod.Spec.Volumes[0].HostPath.Path) + + assert.False(t, c.Resources.Requests.Cpu().IsZero(), "a LimitRange or quota needs requests") + assert.False(t, c.Resources.Requests.Memory().IsZero(), "a LimitRange or quota needs requests") + assert.False(t, c.Resources.Limits.Memory().IsZero()) + require.NotNil(t, pod.Spec.SecurityContext) + require.NotNil(t, pod.Spec.SecurityContext.RunAsUser) + assert.NotZero(t, *pod.Spec.SecurityContext.RunAsUser, "the sysctls are world-readable, so root is not needed") + require.NotNil(t, c.SecurityContext) + assert.True(t, *c.SecurityContext.RunAsNonRoot) + assert.True(t, *c.SecurityContext.ReadOnlyRootFilesystem) + assert.False(t, *c.SecurityContext.AllowPrivilegeEscalation) + assert.Equal(t, []corev1.Capability{"ALL"}, c.SecurityContext.Capabilities.Drop) +} + +// The configured probe image replaces the Docker Hub default, so a cluster +// that pulls from a mirror can run the probe. +func TestBuildInotifyProbePod_UsesTheConfiguredImage(t *testing.T) { + pod := buildInotifyProbePod("node-x", "mirror.example/busybox:1.36") + assert.Equal(t, "mirror.example/busybox:1.36", pod.Spec.Containers[0].Image) } From 87f9d889d16b4ebde7459b1747bb811da9aecc9b Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:44:03 +0530 Subject: [PATCH 060/127] fix(nvcf-cli): read stack values from the env file, type registry probes Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 62 +- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 18 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 302 +- .../cmd/self_hosted_check_stackvalues_test.go | 270 +- .../self_hosted_check_validatorenv_test.go | 44 +- .../agentskill/skilldata_generated.go | 4345 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 2 + .../internal/selfhosted/clustervalidator.go | 32 +- .../clustervalidator_lifecycle_test.go | 42 + .../selfhosted/clustervalidator_test.go | 7 +- .../internal/selfhosted/credhelper_test.go | 147 +- .../internal/selfhosted/dockercreds.go | 367 ++ .../nvcf-cli/internal/selfhosted/main_test.go | 5 +- .../nvcf-cli/internal/selfhosted/preflight.go | 96 +- .../internal/selfhosted/pullsecret.go | 241 +- .../internal/selfhosted/pullsecret_test.go | 421 +- .../internal/selfhosted/registry_cred.go | 516 +- .../internal/selfhosted/registry_cred_test.go | 562 ++- .../nvcf-cli/internal/selfhosted/stack.go | 43 +- .../internal/selfhosted/validatortag.go | 585 +-- .../internal/selfhosted/validatortag_test.go | 159 +- 21 files changed, 4962 insertions(+), 3304 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/dockercreds.go diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 5096aa2eac..2a7cbfe94a 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -14,7 +14,7 @@ |---|---|---| | `--control-plane-stack=...` | Control-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | | `--compute-plane-stack=...` | Compute-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | -| `--env=local\|prd\|...` | Helmfile environment name | `local` for dev builds, `prd` for releases | +| `--env=local\|prd\|...` | Helmfile environment name. `check` reads the stack's `environments/.yaml` only for an environment named with `--env` or `HELMFILE_ENV`, so pass the `--env` the install used; see [Settings read from the stack](#settings-read-from-the-stack) | `local` | | `--non-interactive` | Disable all stdin prompts | `false` | | `--token=$JWT` | Admin JWT, overrides stored session | - | | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | @@ -46,22 +46,68 @@ The validator runs as a Job in the cluster being checked. The CLI creates a ServiceAccount, ClusterRole, and ClusterRoleBinding for it and removes them after the run, so the kubeconfig context needs permission to manage those. -When `check` reads the stack's environment file, `environments/.yaml` -from `--control-plane-stack` or a stack checkout above the working directory, -it tells the validator which Gateways the stack wires NVCF routes to. Without -that file it does not, and the validator finds them from the routes. - | Flag | Purpose | Default | |---|---|---| | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere skips the probe with a warning | - | -| `--cluster-validator-registries host:port,...` | Extra registries the control-plane validator probes for reachability. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry`, and `quay.io` for the cert-manager ACME solver unless the stack sets `certManager.acmesolver.image`. `nvcr.io` is probed only when neither the image nor the stack names a registry. The validator dials from a pod with no proxy, so an unreachable registry is a warning; the local credential check is what fails a registry the install cannot pull from. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | +| `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the node inotify probe and the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | -| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI looks for one in the NVCF namespaces and copies it into `default` for the run. Failing that, and only for an image on `nvcr.io`, it mints one from `NGC_API_KEY`. The key is never sent to another registry, other NVIDIA registries included; those use your docker login | auto-detect | +| `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check reclaims them after 24 hours. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now | `false` | | `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | +### Registry credentials + +`check` probes each registry above from this machine with its local +credential, the one `docker` would use: `$DOCKER_CONFIG/config.json`, or +`~/.docker/config.json`, through any `credsStore` or `credHelpers` helper. +For `nvcr.io` the NGC API key is also read, from the first of +`NGC_IMAGE_PULL_API_KEY`, `NVCF_NGCR_API_KEY`, `NVCF_NGC_API_KEY` and +`NGC_API_KEY` that is set. It goes ahead of the docker login only for a +bare `--pre` run with the `local` environment, since `up` creates its pull +secrets from it, and it is never sent to another registry. + +Only a credential the registry rejects fails the run, and only for an NVIDIA +registry the image or the stack names. A rejected NGC API key after install is +a warning, since the cluster pulls with its own pull secret. A registry this +machine cannot reach, a token service that fails, and a missing local +credential are warnings. A registry the probe cannot speak to, such as ECR or +one using Basic auth, is skipped with a command to check it by hand. A +registry that lets this machine in anonymously is reported as such, not as +valid credentials. + +### Settings read from the stack + +The validator gets these settings from the CLI. Each one set with its +environment variable or config key wins over the stack. + +| Setting | Read from the stack | Env and config key | +|---|---|---| +| NVCF Gateways | `ingress.gatewayApi.gateways`, gated the way the stack wires routes: none unless `ingress.gatewayApi.enabled` is `true`, `nats` only with `routes.nats.enabled`, `llmGrpc` and `llmQuic` only with `routes.llmWorker.enabled` | `NVCF_GATEWAY_NAMES`, as comma-separated `namespace/name` entries. A bare name is dropped by the validator. Set this way it skips the stack's gates | +| Envoy Gateway namespace | `ingress.gatewayApi.controllerNamespace` | `NVCF_ENVOY_GATEWAY_NAMESPACE` | +| External components | `nats`, `openbao` or `cassandra` whose `enabled` is not `true` | `NVCF_EXTERNAL_COMPONENTS` | +| OpenBao namespace | - | `NVCF_OPENBAO_NAMESPACE` | +| Overlay probe image | - | `--cluster-validator-probe-image`, or `NVCF_N2N_PROBE_IMAGE` | + +The registries above also come from the stack. `check` reads stack values only +when they describe the install: + +- The environment is named with `--env` or `HELMFILE_ENV`. The `--env` + default is not used, so pass the `--env` the install used. +- `environments/.yaml` is read, layered over `base.yaml`. `base.yaml` + alone is not used. +- The file comes from the stack the install used: `--control-plane-stack` + (`--compute-plane-stack` for a compute-plane-only run), else the CLI's + built-in stack. A local directory is read directly, and an `oci://` stack + from the copy an earlier command extracted into the CLI cache. A git stack, + `file://` included, is not read, since the install cloned its committed + state. A CLI with no built-in stack and no stack flag reads the stack + checkout above the working directory. + +Otherwise nothing from the stack is forwarded: the validator finds the +Gateways from the routes, and `nvcr.io` is probed as a warning only. + ## `up`-specific | Flag | Purpose | Default | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index aa51314f26..81b8e70727 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -163,15 +163,21 @@ api_keys_owner_id: svc@nvcf-api.local # to avoid depending on discovery. If unset everywhere, the validator probe # is skipped with a note on stderr. # -# Staging: stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator +# The Job pulls with a matching pull Secret from the cluster, or one created +# for the run from this machine's credential for the image's registry: the +# docker login, or NGC_API_KEY for nvcr.io only. +# +# Staging: stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator (docker login stg.nvcr.io) # Prod: nvcr.io/nvidia/nvcf-byoc/cluster-validator # cluster_validator_image: nvcr.io/nvidia/nvcf-byoc/cluster-validator -# Extra container registries the control-plane validator probes for -# reachability, as host:port. The registries the install pulls from are -# probed already: the validator image's registry, the stack's -# global.image.registry, and quay.io for the cert-manager ACME solver. List -# only registries beyond those. +# Extra container registries to check, as host[:port][/path]: their +# credentials from this machine, and their reachability from a pod of the +# control-plane validator, as warnings only. A path scopes the credential +# check. The registries the install pulls from are checked already: the +# validator image's registry, the stack's global.image.registry, and quay.io +# for the cert-manager ACME solver. List only registries beyond those. A +# malformed entry fails the command. # # Config key: cluster_validator_registries (list) # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES (comma-separated) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index a16584215c..14a3002225 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -116,19 +116,22 @@ func init() { selfHostedCheckCmd.Flags().Lookup("cluster-validator-image")) selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorPullSecret, "cluster-validator-pull-secret", "", "Name of a docker-registry Secret in the 'default' namespace to pull the validator image. "+ - "When empty, the runner scans NVCF namespaces for a matching secret and copies it into "+ - "'default' for the run if it lives elsewhere. Failing that, and only when the image is on "+ - "an NGC registry, it mints one from NGC_API_KEY. Set to force a specific name.") + "When empty, the runner scans NVCF namespaces for a Secret with the image registry's "+ + "credential and copies that one entry into 'default' for the run. Failing that, it creates "+ + "one from this machine's credential for that registry, the one the registry-credentials "+ + "row checks: the docker login, or NGC_API_KEY for an image on nvcr.io only. "+ + "Set to force a specific name.") selfHostedCheckCmd.Flags().BoolVar(&checkClusterValidatorNoCleanup, "no-cleanup", false, "Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging instead of "+ "removing them after the run. A kept Job whose pod cannot pull its image is suspended, which "+ "deletes the pod. They are reclaimed by a later check after 24 hours; the result prints the "+ "kubectl command that removes them now.") selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorRegistries, "cluster-validator-registries", nil, - "Additional container registries to probe for reachability in the control-plane validator. "+ - "Format: host:port (e.g. harbor.company.internal:443,ghcr.io:443). "+ - "Added to the registries the install pulls from, which are probed with the same "+ - "criticality as the local credential check. Env: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES. "+ + "Additional container registries to check: their credentials from this machine, and their "+ + "reachability from a pod of the control-plane validator. Format: host[:port][/path] "+ + "(e.g. harbor.company.internal:443/nvcf,ghcr.io); a path scopes the credential check. "+ + "Added to the registries the install pulls from. The in-pod probes are warnings only. "+ + "A malformed entry fails the command. Env: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES. "+ "Can also be set in nvcf-cli config as cluster_validator_registries (list).") _ = viper.BindPFlag("cluster_validator_registries", selfHostedCheckCmd.Flags().Lookup("cluster-validator-registries")) @@ -165,6 +168,14 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if _, err := configuredValidatorTolerations(); err != nil { return err } + extraRegistries, err := configuredValidatorRegistries() + if err != nil { + return err + } + // One credential lookup per registry for the whole run, shared by tag + // discovery, the local credential row and the validator's pull secret, + // so the row checks the credential the validator Job is given. + runCtx := selfhosted.WithRegistryCredentials(c.Context(), selfhosted.NewRegistryCredentials(preferNGCKey())) localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" skipClusterValidation := checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" @@ -187,7 +198,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { (computePlaneIsVisited() || controlPlaneIsVisited()) clusterValidatorImage, unresolvedImage := "", "" if anyValidatorIsTargeted { - clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(c.Context()) + clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(runCtx) } // An image whose tag did not resolve is still sized for: --wait resolves // it again on every poll, and the validator runs once it does. @@ -227,7 +238,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // Without this the process exits on the signal and the validator's // cluster-wide ClusterRole, bound to a ServiceAccount in default, stays // behind until a later check's orphan sweep. - sigCtx, stop := signal.NotifyContext(c.Context(), os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + sigCtx, stop := signal.NotifyContext(runCtx, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) defer stop() // After the first signal or quit key, say at once how to remove what the // runs in progress may leave, before anything can end the process. A @@ -294,14 +305,13 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { ) // Run credential checks whenever not local-only. The validator image is // optional: EnumerateRegistries handles an empty image ref and still picks - // up global.image.registry from the stack values file and any + // up global.image.registry from the stack values and any // --cluster-validator-registries extras independently of the image config. if !localOnly { - extraRegistries := configuredValidatorRegistries() // The configured image when its tag did not resolve: its registry, // and the repository the credentials must reach, are the same. credEntries = selfhosted.EnumerateRegistries( - cmp.Or(clusterValidatorImage, unresolvedImage), resolveStackValuesFiles(), extraRegistries, + cmp.Or(clusterValidatorImage, unresolvedImage), registryStackValues(), extraRegistries, ) if len(credEntries) > 0 { registryChecker = newRegistryCredentialCheckerForSelfHosted() @@ -309,11 +319,12 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } cfg := selfhosted.PreflightConfig{ - LocalOnly: localOnly, - Tools: checkPreflightTools(), - Registries: credEntries, - RegistryChecker: registryChecker, - Interrupted: interrupted, + LocalOnly: localOnly, + Tools: checkPreflightTools(), + Registries: credEntries, + RegistryChecker: registryChecker, + RegistryPostInstall: checkScopeIsPostInstall(), + Interrupted: interrupted, } // A quit key in the dashboard cancels the run the way a signal does. @@ -476,102 +487,147 @@ func printKeptValidatorObjects(w io.Writer, commands []string) { } } -// validatorStackValues returns the stack values forwarded to the validator, or -// none unless the install's environment file was read from the stack the -// command points at: a local --control-plane-stack, or with no stack flag the -// checkout found above the working directory. helmfile refuses to install -// without that file, so base.yaml alone does not describe the install. With a -// remote stack, what a walk up from the working directory finds is another -// stack. Another stack's Gateways would have the validator judge Gateways the -// install never created. +// validatorStackValues returns the control-plane stack values forwarded to +// the validator, or none when stackValuesForRun cannot read the values that +// describe the install. Another stack's Gateways would have the validator +// judge Gateways the install never created. func validatorStackValues() selfhosted.StackValues { - dir := localStackDir(selfHostedControlPlaneStack) - if selfHostedControlPlaneStack != "" && dir == "" { + files, ok := stackValuesForRun(controlPlaneStackTarget()) + if !ok { return selfhosted.StackValues{} } - files := resolveStackValuesFiles() - env := resolveStackEnv() + ".yaml" - for _, f := range files { - if filepath.Base(f) == env && (dir == "" || isUnder(dir, f)) { - return selfhosted.LoadStackValues(files) - } - } - return selfhosted.StackValues{} + return selfhosted.LoadStackValues(files) } -// isUnder reports whether path is inside dir. -func isUnder(dir, path string) bool { - absDir, err := filepath.Abs(dir) - if err != nil { - return false +// registryStackValues returns the stack values the registry credential check +// reads: the control-plane stack's, or the compute-plane stack's on a run +// that does not visit the control plane. Empty when they cannot be read. +func registryStackValues() selfhosted.StackValues { + target := controlPlaneStackTarget() + if !controlPlaneIsVisited() { + target = computePlaneStackTarget() } - absPath, err := filepath.Abs(path) - if err != nil { - return false + files, ok := stackValuesForRun(target) + if !ok { + return selfhosted.StackValues{} } - rel, err := filepath.Rel(absDir, absPath) - return err == nil && rel != ".." && !strings.HasPrefix(rel, ".."+string(filepath.Separator)) + return selfhosted.LoadStackValues(files) +} + +// stackTarget is one stack check can read values from. +type stackTarget struct { + // source is the stack flag; builtIn the stack the install commands use + // without it. + source, builtIn string + // name is the stack's directory in a checkout, under deploy/stacks. + name string +} + +func controlPlaneStackTarget() stackTarget { + return stackTarget{source: selfHostedControlPlaneStack, builtIn: builtInControlPlaneStackOCI(), name: "self-managed"} } -// resolveStackValuesFiles returns the stack values files preflight reads, in -// the order helmfile layers them: base.yaml first, then the environment file -// over it. Returns nil when no stack is found. +func computePlaneStackTarget() stackTarget { + return stackTarget{source: selfHostedComputePlaneStack, builtIn: builtInComputePlaneStackOCI(), + name: "nvcf-compute-plane"} +} + +// stackValuesForRun returns the values files that describe the install, in +// the order helmfile layers them (base.yaml, then .yaml), and true only +// when it can read them from the stack the install used: // -// It prefers --control-plane-stack, the same source every sibling command uses, -// and only falls back to walking up from the working directory. The -// environment follows resolveStackEnv. -func resolveStackValuesFiles() []string { - var roots []string - // localStackDir strips file:// and drops remote sources, which - // filepath.Join would otherwise turn into a path that never exists. - if dir := localStackDir(selfHostedControlPlaneStack); dir != "" { - roots = append(roots, dir) - } - if cwd, err := os.Getwd(); err == nil { - dir := cwd - for i := 0; i < 6; i++ { - roots = append(roots, dir) - parent := filepath.Dir(dir) - if parent == dir { - break - } - dir = parent +// - The environment must be named, with --env or HELMFILE_ENV. --env's +// default is not evidence of the environment the install used. +// - .yaml must be read, since helmfile refuses to install without it, +// so base.yaml alone does not describe the install. +// - It is read from the stack the install commands resolve: the stack +// flag, else the built-in stack. A local directory is read directly, and +// an oci:// stack from the extraction an earlier command left in the +// cache. A git stack, file:// included, is not read: the install cloned +// it, so the working tree here can differ. With neither a flag nor a +// built-in stack, the stack checkout above the working directory is read. +// +// Otherwise nothing is read, and every stack-derived input is left out. +func stackValuesForRun(t stackTarget) ([]string, bool) { + env, ok := explicitStackEnv() + if !ok { + return nil, false + } + var envDirs []string + if src := cmp.Or(t.source, t.builtIn); src != "" { + dir := cmp.Or(localStackDir(src), selfhosted.ExtractedOCIStack(src)) + if dir == "" { + return nil, false + } + envDirs = []string{filepath.Join(dir, "environments")} + } else { + envDirs = checkoutEnvironmentDirs(t.name) + } + for _, dir := range envDirs { + if fi, err := os.Stat(dir); err != nil || !fi.IsDir() { + continue + } + envFile := filepath.Join(dir, env+".yaml") + if !isRegularFile(envFile) { + return nil, false + } + var files []string + if base := filepath.Join(dir, "base.yaml"); isRegularFile(base) { + files = append(files, base) } + return append(files, envFile), true } + return nil, false +} - env := resolveStackEnv() - for _, root := range roots { - for _, sub := range [][]string{ - {"deploy", "stacks", "self-managed", "environments"}, - {"environments"}, // a stack dir passed directly - } { - dir := filepath.Join(append([]string{root}, sub...)...) - var files []string - for _, name := range []string{"base.yaml", env + ".yaml"} { - candidate := filepath.Join(dir, name) - if _, err := os.Stat(candidate); err == nil { - files = append(files, candidate) - } - } - if len(files) > 0 { - return files - } +// checkoutEnvironmentDirs lists where a stack's environments directory can +// sit at or above the working directory: deploy/stacks//environments +// in a repository checkout, or environments in the stack directory itself. +func checkoutEnvironmentDirs(name string) []string { + cwd, err := os.Getwd() + if err != nil { + return nil + } + var dirs []string + for i, dir := 0, cwd; i < 6; i++ { + if filepath.Base(dir) == name { + dirs = append(dirs, filepath.Join(dir, "environments")) } + dirs = append(dirs, filepath.Join(dir, "deploy", "stacks", name, "environments")) + parent := filepath.Dir(dir) + if parent == dir { + break + } + dir = parent } - return nil + return dirs } -// resolveStackEnv picks the helmfile environment preflight reads: an explicit -// --env, then HELMFILE_ENV for an operator who exports it and runs helmfile -// directly, then --env's default. When the CLI runs helmfile itself it passes -// --env as HELMFILE_ENV, so an explicit flag must win. -func resolveStackEnv() string { +func isRegularFile(path string) bool { + fi, err := os.Stat(path) + return err == nil && fi.Mode().IsRegular() +} + +// explicitStackEnv returns the helmfile environment the operator named: an +// explicit --env, then HELMFILE_ENV for an operator who exports it and runs +// helmfile directly. When the CLI runs helmfile itself it passes --env as +// HELMFILE_ENV, so an explicit flag must win. +func explicitStackEnv() (string, bool) { if f := selfHostedCmd.PersistentFlags().Lookup("env"); f != nil && f.Changed { if env := strings.TrimSpace(selfHostedEnv); env != "" { - return env + return env, true } } if env := strings.TrimSpace(os.Getenv("HELMFILE_ENV")); env != "" { + return env, true + } + return "", false +} + +// resolveStackEnv is the helmfile environment the run assumes: the one the +// operator named, else --env's default. +func resolveStackEnv() string { + if env, ok := explicitStackEnv(); ok { return env } if env := strings.TrimSpace(selfHostedEnv); env != "" { @@ -580,16 +636,27 @@ func resolveStackEnv() string { return "local" } +// preferNGCKey reports whether the NGC API key goes ahead of the docker login +// for nvcr.io: only where up mints its pull secrets from the key, before a +// local install. Anywhere else the docker login is what docker uses. +func preferNGCKey() bool { + return !checkScopeIsPostInstall() && strings.EqualFold(resolveStackEnv(), "local") +} + +// checkScopeIsPostInstall reports whether the run checks an installed stack: +// any scope but a bare --pre, matching VALIDATOR_POST_INSTALL. +func checkScopeIsPostInstall() bool { + return !checkPre || checkAll || checkControlPlane || checkComputePlane +} + // localStackDir returns src when it points at a readable local directory. -// Remote sources (oci://, git@, https://...git) are not fetched here: the -// stale-namespace check falls back to its static list rather than making -// preflight depend on a network round trip. +// Remote sources (oci://, git@, https://...git, file://) are not fetched +// here: the stale-namespace check falls back to its static list rather than +// making preflight depend on a network round trip. file:// is a git source: +// the install clones its committed HEAD, which the working tree can differ +// from. func localStackDir(src string) string { - if src == "" { - return "" - } - src = strings.TrimPrefix(src, "file://") - if strings.Contains(src, "://") || strings.HasPrefix(src, "git@") { + if src == "" || strings.Contains(src, "://") || strings.HasPrefix(src, "git@") { return "" } if fi, err := os.Stat(src); err == nil && fi.IsDir() { @@ -598,23 +665,27 @@ func localStackDir(src string) string { return "" } -// configuredValidatorRegistries returns the extra registries from the flag, env -// var, or config file, normalized to one entry per registry. +// configuredValidatorRegistries parses the extra registries from the flag, +// env var, or config file, one entry per registry. A malformed entry is an +// error naming it, as a malformed toleration is. // // viper.GetStringSlice splits a raw env string on whitespace, so the documented -// comma form "a:443,b:443" arrives as a single element. Left as-is it reaches -// net.SplitHostPort as "a:443,b:443", which errors with "too many colons" and is -// then passed through verbatim as a host, producing https://a:443,b:443/v2/. -func configuredValidatorRegistries() []string { - var out []string +// comma form "a:443,b:443" arrives as a single element and is split here. +func configuredValidatorRegistries() ([]selfhosted.RegistryEntry, error) { + var out []selfhosted.RegistryEntry for _, raw := range viper.GetStringSlice("cluster_validator_registries") { for _, part := range strings.Split(raw, ",") { - if part = strings.TrimSpace(part); part != "" { - out = append(out, part) + if part = strings.TrimSpace(part); part == "" { + continue } + entry, err := selfhosted.ParseRegistryExtra(part) + if err != nil { + return nil, fmt.Errorf("--cluster-validator-registries %w", err) + } + out = append(out, entry) } } - return out + return out, nil } // configuredValidatorTolerations parses the validator Job's extra tolerations @@ -829,8 +900,8 @@ func runPreflightByRole( staleNSProber := newStaleNamespaceProberForSelfHosted() - // The control-plane validator probes the same registries, with the same - // criticality, as the local credential check, extras included. + // The control-plane validator probes the hosts the local credential check + // probes, extras included, each as a warning only. registries := cfg.Registries validatorEnv := clusterValidatorJobEnv(validatorStackValues()) // Validated before the run starts. @@ -1009,6 +1080,8 @@ func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string // - relocated OpenBao and Envoy Gateway namespaces, without which the Tier // rows assess the defaults and miss the real components; // - NVCF_GATEWAY_NAMES, the override for the NVCF Gateway discovery; +// - NVCF_EXTERNAL_COMPONENTS, the stack dependencies the stack does not +// install, which the validator must not expect in the cluster; // - the overlay probe image, so a mirrored cluster does not pull busybox // from Docker Hub. func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { @@ -1034,6 +1107,13 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { } else if len(stack.Gateways) > 0 { env["NVCF_GATEWAY_NAMES"] = strings.Join(stack.Gateways, ",") } + // An explicit setting wins over the components the stack leaves out. + if components := cmp.Or(strings.TrimSpace(viper.GetString("cluster_validator_external_components")), + configValue("NVCF_EXTERNAL_COMPONENTS")); components != "" { + env["NVCF_EXTERNAL_COMPONENTS"] = components + } else if len(stack.ExternalComponents) > 0 { + env["NVCF_EXTERNAL_COMPONENTS"] = strings.Join(stack.ExternalComponents, ",") + } if probe := configuredProbeImage(); probe != "" { env["NVCF_N2N_PROBE_IMAGE"] = probe } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index e1df05cafb..e85fa662ac 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -18,13 +18,18 @@ limitations under the License. package cmd import ( + "bytes" + "context" "os" "path/filepath" "strings" + "sync" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "nvcf-cli/internal/selfhosted" ) // stackWithEnvs creates a stack directory holding base.yaml and one file per @@ -50,21 +55,48 @@ func withEnvFlag(t *testing.T, value string, changed bool) { t.Cleanup(func() { selfHostedEnv, f.Changed = prevValue, prevChanged }) } +// withStackFlag sets a stack flag's value as if the operator passed it. +func withStackFlag(t *testing.T, flag *string, src string) { + t.Helper() + prev := *flag + *flag = src + t.Cleanup(func() { *flag = prev }) +} + // helmfile layers the environment file over base.yaml, so both are returned, // base first. Returning only the first file that exists dropped whichever // half the other one set. -func TestResolveStackValuesFiles_LayersEnvOverBase(t *testing.T) { - stack := stackWithEnvs(t, "local") - prev := selfHostedControlPlaneStack - selfHostedControlPlaneStack = stack - t.Cleanup(func() { selfHostedControlPlaneStack = prev }) +func TestStackValuesForRun_LayersEnvOverBase(t *testing.T) { + stack := stackWithEnvs(t, "prod") + withStackFlag(t, &selfHostedControlPlaneStack, stack) t.Setenv("HELMFILE_ENV", "") - withEnvFlag(t, "local", false) + withEnvFlag(t, "prod", true) - got := resolveStackValuesFiles() + got, ok := stackValuesForRun(controlPlaneStackTarget()) + require.True(t, ok) require.Len(t, got, 2) assert.Equal(t, "base.yaml", filepath.Base(got[0])) - assert.Equal(t, "local.yaml", filepath.Base(got[1])) + assert.Equal(t, "prod.yaml", filepath.Base(got[1])) +} + +// --env's default is not evidence of the environment the install used, so +// nothing is read until the operator names one, with --env or HELMFILE_ENV. +// base.yaml alone does not describe an install either. +func TestStackValuesForRun_NeedsTheNamedEnvironmentFile(t *testing.T) { + stack := stackWithEnvs(t, "local") + withStackFlag(t, &selfHostedControlPlaneStack, stack) + t.Setenv("HELMFILE_ENV", "") + withEnvFlag(t, "local", false) + _, ok := stackValuesForRun(controlPlaneStackTarget()) + assert.False(t, ok, "the defaulted --env is not the install's environment") + + t.Setenv("HELMFILE_ENV", "local") + _, ok = stackValuesForRun(controlPlaneStackTarget()) + assert.True(t, ok, "HELMFILE_ENV names the environment") + + withEnvFlag(t, "prod", true) + _, ok = stackValuesForRun(controlPlaneStackTarget()) + assert.False(t, ok, "base.yaml without prod.yaml does not describe the install") } // An operator who exports HELMFILE_ENV and runs helmfile directly gets that @@ -82,19 +114,217 @@ func TestResolveStackEnv_Precedence(t *testing.T) { assert.Equal(t, "local", resolveStackEnv()) } -// A file:// stack source is read from its directory. Joined verbatim it named -// a path that never exists, and the lookup fell back to the working directory. -func TestResolveStackValuesFiles_FileURLStack(t *testing.T) { - stack := stackWithEnvs(t, "local") - prev := selfHostedControlPlaneStack - selfHostedControlPlaneStack = "file://" + stack - t.Cleanup(func() { selfHostedControlPlaneStack = prev }) +// A stack the install fetched is not read from anywhere else: file:// and +// git stacks are cloned from what is committed, and an oci:// stack nobody +// extracted here has nothing to read. A checkout above the working directory +// does not stand in for any of them. +func TestStackValuesForRun_RemoteStacksAreNotGuessed(t *testing.T) { + t.Setenv("HOME", t.TempDir()) + stack := stackWithEnvs(t, "prod") t.Setenv("HELMFILE_ENV", "") - withEnvFlag(t, "local", false) + withEnvFlag(t, "prod", true) + t.Chdir(stack) + for _, src := range []string{ + "file://" + stack, "file://" + stack + "@main", "git@example.com:org/stack.git", + "https://example.com/org/stack.git", "oci://registry.example.com/nvcf/stack:1.0.0", + } { + withStackFlag(t, &selfHostedControlPlaneStack, src) + _, ok := stackValuesForRun(controlPlaneStackTarget()) + assert.False(t, ok, src) + } +} - got := resolveStackValuesFiles() - require.Len(t, got, 2) - for _, f := range got { - assert.True(t, strings.HasPrefix(f, stack), "%s is not from the file:// stack", f) +// An oci:// stack an earlier command extracted is read from that extraction, +// which is what the install read: the built-in stack when no flag is set. +func TestStackValuesForRun_ReadsTheExtractedOCIStack(t *testing.T) { + home := t.TempDir() + t.Setenv("HOME", home) + t.Setenv("XDG_CACHE_HOME", filepath.Join(home, ".cache")) + cache, err := os.UserCacheDir() + require.NoError(t, err) + const ref = "oci://registry.example.com/nvcf/stack:1.0.0@sha256:0123456789abcdef" + extracted := filepath.Join(cache, "nvcf-cli", "stacks", "oci-0123456789ab") + require.NoError(t, os.MkdirAll(filepath.Join(extracted, "environments"), 0o755)) + for _, name := range []string{"base", "prod"} { + require.NoError(t, os.WriteFile(filepath.Join(extracted, "environments", name+".yaml"), []byte("{}\n"), 0o644)) + } + t.Setenv("HELMFILE_ENV", "") + withEnvFlag(t, "prod", true) + + withStackFlag(t, &selfHostedControlPlaneStack, ref) + _, ok := stackValuesForRun(controlPlaneStackTarget()) + assert.False(t, ok, "a partial extraction is not read") + + require.NoError(t, os.WriteFile(filepath.Join(extracted, ".extraction-complete"), nil, 0o644)) + files, ok := stackValuesForRun(controlPlaneStackTarget()) + require.True(t, ok) + assert.True(t, strings.HasPrefix(files[1], extracted), files[1]) + + withStackFlag(t, &selfHostedControlPlaneStack, "") + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", ref) + files, ok = stackValuesForRun(controlPlaneStackTarget()) + require.True(t, ok, "with no flag the built-in stack is the install's") + assert.True(t, strings.HasPrefix(files[1], extracted), files[1]) +} + +// With neither a stack flag nor a built-in stack, the stack checkout above +// the working directory is read, each plane from its own stack. A CLI with a +// built-in stack installs from that, so the checkout is then not read. +func TestStackValuesForRun_CheckoutAboveTheWorkingDirectory(t *testing.T) { + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "") + t.Setenv("NVCF_CLI_DEFAULT_COMPUTE_PLANE_STACK", "") + repo := t.TempDir() + envDir := func(stack string) string { + dir := filepath.Join(repo, "deploy", "stacks", stack, "environments") + require.NoError(t, os.MkdirAll(dir, 0o755)) + for _, name := range []string{"base", "prod"} { + require.NoError(t, os.WriteFile(filepath.Join(dir, name+".yaml"), []byte("{}\n"), 0o644)) + } + return dir + } + cpDir, gpuDir := envDir("self-managed"), envDir("nvcf-compute-plane") + sub := filepath.Join(repo, "src", "x") + require.NoError(t, os.MkdirAll(sub, 0o755)) + t.Chdir(sub) + withStackFlag(t, &selfHostedControlPlaneStack, "") + withStackFlag(t, &selfHostedComputePlaneStack, "") + t.Setenv("HELMFILE_ENV", "") + withEnvFlag(t, "prod", true) + + files, ok := stackValuesForRun(controlPlaneStackTarget()) + require.True(t, ok) + assert.Equal(t, filepath.Join(cpDir, "prod.yaml"), files[1]) + files, ok = stackValuesForRun(computePlaneStackTarget()) + require.True(t, ok) + assert.Equal(t, filepath.Join(gpuDir, "prod.yaml"), files[1]) + + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "oci://registry.example.com/nvcf/stack:9") + _, ok = stackValuesForRun(controlPlaneStackTarget()) + assert.False(t, ok, "a CLI with a built-in stack installs from it, not from the working directory") +} + +// registryProbes runs check with args and returns the registries the local +// credential check probed, keyed registry or registry/scope, with whether +// each was critical. +func registryProbes(t *testing.T, args ...string) map[string]bool { + t.Helper() + resetCheckFlags(t) + var mu sync.Mutex + got := map[string]bool{} + prev := newRegistryCredentialCheckerForSelfHosted + newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { + return func(_ context.Context, registry, repo string, critical bool) error { + mu.Lock() + defer mu.Unlock() + got[strings.TrimSuffix(registry+"/"+repo, "/")] = critical + return nil + } + } + t.Cleanup(func() { newRegistryCredentialCheckerForSelfHosted = prev }) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs(append([]string{"self-hosted", "check", "--json", "--skip-cluster-validation"}, args...)) + _ = rootCmd.Execute() + return got +} + +// mirroredStack writes a stack whose prod environment pulls from a mirror. +func mirroredStack(t *testing.T) string { + t.Helper() + stack := t.TempDir() + envDir := filepath.Join(stack, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "base.yaml"), + []byte("global:\n image:\n registry: nvcr.io\n repository: YOUR_ORG/YOUR_TEAM\n"+ + "certManager:\n enabled: true\n"), 0o644)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "prod.yaml"), + []byte("global:\n image:\n registry: harbor.corp.example\n repository: nvcf\n"+ + "certManager:\n acmesolver:\n image:\n repository: harbor.corp.example/jetstack/acmesolver\n"), 0o644)) + return stack +} + +// Registry enumeration follows the same rule as the Gateways: the stack's +// registries, their criticality and the quay.io gate are used only when the +// named environment's file was read from the stack the command points at. +// Otherwise nvcr.io is a non-critical guess, never a critical row a mirrored +// install fails on. +func TestCheck_RegistriesNeedTheEnvironmentFile(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "") + stack := mirroredStack(t) + + got := registryProbes(t, "--control-plane", "--env", "prod", "--control-plane-stack", stack) + assert.Equal(t, map[string]bool{"harbor.corp.example/nvcf": false}, got, + "the install's mirror is probed, and neither nvcr.io nor quay.io is") + + for name, args := range map[string][]string{ + "no --env": {"--control-plane", "--control-plane-stack", stack}, + "base.yaml only": {"--control-plane", "--env", "staging", "--control-plane-stack", stack}, + "stack without env dir": {"--control-plane", "--env", "prod", "--control-plane-stack", t.TempDir()}, + "oci stack in a checkout": {"--control-plane", "--env", "prod", "--control-plane-stack", "oci://r.example.com/s:1"}, + } { + t.Run(name, func(t *testing.T) { + t.Chdir(stack) + got := registryProbes(t, args...) + assert.Contains(t, got, "nvcr.io") + assert.False(t, got["nvcr.io"], "a guessed nvcr.io is never critical") + assert.NotContains(t, got, "harbor.corp.example/nvcf") + }) + } +} + +// A compute-plane-only run reads the compute-plane stack, under the same rule. +func TestCheck_ComputeOnlyRunReadsTheComputePlaneStack(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_CLI_DEFAULT_COMPUTE_PLANE_STACK", "") + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + gpuStack := t.TempDir() + envDir := filepath.Join(gpuStack, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "prod.yaml"), + []byte("global:\n image:\n registry: gpu-mirror.example.com\n repository: site\n"), 0o644)) + + got := registryProbes(t, "--compute-plane", "--cluster-name", "gpu", "--env", "prod", + "--control-plane-stack", mirroredStack(t), "--compute-plane-stack", gpuStack) + assert.Equal(t, map[string]bool{"gpu-mirror.example.com/site": false}, got) +} + +// A malformed --cluster-validator-registries entry fails the command naming +// it, rather than vanishing with no row. +func TestCheck_MalformedValidatorRegistryFailsTheCommand(t *testing.T) { + resetCheckFlags(t) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--cluster-validator-registries", "harbor.example.com:44x"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), `"harbor.example.com:44x": expected host[:port]`) + + got := registryProbes(t, "--control-plane", "--cluster-validator-registries", "harbor.example.com:5000/nvcf") + assert.Contains(t, got, "harbor.example.com:5000/nvcf", "a path is the probe's scope") +} + +// The NGC key is checked ahead of the docker login only before a local +// install, where up mints its pull secrets from it; every other scope checks +// an installed stack, where a rejected key is only this machine's. +func TestCheckScope_NGCKeyOrderAndPostInstall(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + for _, tc := range []struct { + name string + pre, cp, gpu, all, prodEnv bool + prefer, postInstall bool + }{ + {name: "bare --pre", pre: true, prefer: true}, + {name: "--pre --env prod", pre: true, prodEnv: true}, + {name: "--pre --control-plane", pre: true, cp: true, postInstall: true}, + {name: "--control-plane", cp: true, postInstall: true}, + {name: "--compute-plane", gpu: true, postInstall: true}, + {name: "--pre --all", pre: true, all: true, postInstall: true}, + } { + resetCheckFlags(t) + checkPre, checkControlPlane, checkComputePlane, checkAll = tc.pre, tc.cp, tc.gpu, tc.all + withEnvFlag(t, map[bool]string{true: "prod", false: "local"}[tc.prodEnv], tc.prodEnv) + assert.Equal(t, tc.prefer, preferNGCKey(), tc.name) + assert.Equal(t, tc.postInstall, checkScopeIsPostInstall(), tc.name) } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 247dcbd548..6053985982 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -363,9 +363,11 @@ ingress: shared: {name: nvcf-gateway, namespace: envoy-gateway} grpc: {name: nvcf-gateway, namespace: envoy-gateway} `), 0o644)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "local.yaml"), []byte("global: {}\n"), 0o644)) + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "") prev := newClusterValidatorForSelfHosted t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) - run := func(stackFlag string) map[string]string { + run := func(env, stackFlag string) map[string]string { resetCheckFlags(t) var got map[string]string newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { @@ -376,8 +378,11 @@ ingress: } rootCmd.SetErr(&bytes.Buffer{}) rootCmd.SetOut(&bytes.Buffer{}) - args := []string{"self-hosted", "check", "--control-plane", "--json", "--env", "prod", + args := []string{"self-hosted", "check", "--control-plane", "--json", "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"} + if env != "" { + args = append(args, "--env", env) + } if stackFlag != "" { args = append(args, "--control-plane-stack", stackFlag) } @@ -387,16 +392,37 @@ ingress: return got } - assert.NotContains(t, run(stack), "NVCF_GATEWAY_NAMES", "base.yaml without prod.yaml is not the install") + assert.NotContains(t, run("prod", stack), "NVCF_GATEWAY_NAMES", "base.yaml without prod.yaml is not the install") + assert.NotContains(t, run("", stack), "NVCF_GATEWAY_NAMES", + "the defaulted --env is not the install's environment, even with a local.yaml in the stack") require.NoError(t, os.WriteFile(filepath.Join(envDir, "prod.yaml"), []byte("global: {domain: example.com}\n"), 0o644)) - assert.Equal(t, "envoy-gateway/nvcf-gateway", run(stack)["NVCF_GATEWAY_NAMES"]) + assert.Equal(t, "envoy-gateway/nvcf-gateway", run("prod", stack)["NVCF_GATEWAY_NAMES"]) // The same stack found above the working directory is not the remote - // stack the command was given, nor a local one without environments. + // stack the command was given, nor a local one without environments, + // nor the built-in stack a release CLI installs from. t.Chdir(stack) - assert.NotContains(t, run("oci://registry.example.com/nvcf/stack:1.0.0"), "NVCF_GATEWAY_NAMES") - assert.NotContains(t, run(t.TempDir()), "NVCF_GATEWAY_NAMES") - assert.Equal(t, "envoy-gateway/nvcf-gateway", run("")["NVCF_GATEWAY_NAMES"], - "with no stack flag the checkout above the working directory is the stack") + assert.NotContains(t, run("prod", "oci://registry.example.com/nvcf/stack:1.0.0"), "NVCF_GATEWAY_NAMES") + assert.NotContains(t, run("prod", t.TempDir()), "NVCF_GATEWAY_NAMES") + assert.NotContains(t, run("prod", "file://"+stack), "NVCF_GATEWAY_NAMES", + "a file:// stack is cloned from its committed HEAD, which the working tree can differ from") + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "oci://registry.example.com/nvcf/stack:1.0.0") + assert.NotContains(t, run("prod", ""), "NVCF_GATEWAY_NAMES", + "a CLI with a built-in stack installs from it, not from the working directory") +} + +// The stack dependencies the stack leaves out reach the validator as +// NVCF_EXTERNAL_COMPONENTS; an explicit setting wins over them. +func TestClusterValidatorJobEnv_ForwardsExternalComponents(t *testing.T) { + resetCheckFlags(t) + t.Setenv("NVCF_EXTERNAL_COMPONENTS", "") + stack := selfhosted.StackValues{ExternalComponents: []string{"nats", "cassandra"}} + assert.Equal(t, "nats,cassandra", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) + + t.Setenv("NVCF_EXTERNAL_COMPONENTS", "openbao") + assert.Equal(t, "openbao", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) + + t.Setenv("NVCF_EXTERNAL_COMPONENTS", "") + assert.NotContains(t, clusterValidatorJobEnv(selfhosted.StackValues{}), "NVCF_EXTERNAL_COMPONENTS") } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 32f619ca32..46bab8f295 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMDgxMDMsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTEzNjUsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiZGMwM2JmMDIxYTY2M2NjMGE3" + "ZmU5MjNjMDgyY2UzNWY1YTg0N2ZjZjk3ZmI1ZjM0YzY2YjY1NDIyMjFiNzAxIiwKICAgICAgInNp" + "emUiOiAzMDY1CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxZTI4ODczNmEzNDczNGY1" + - "OGJmOThlOGIyYzkzNjhmNjRiOTlkNWZmNjhjMjk4N2U5OWE5MDg3MzljY2U4MjY2IiwKICAgICAg" + - "InNpemUiOiAxNDc5MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI5MmViZjgwMTllOTVlY2E4" + + "MDY1MGE2YTZjODBjNGE1MGM5ODQ3OGU1ODFmZTE5YjgzY2Q4ZWQ2ZGRjNDA3ZjU1IiwKICAgICAg" + + "InNpemUiOiAxODA1NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJO96PhKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCIX6wANKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1685,2162 +1685,2219 @@ const skillDataZipBase64 = "" + "VVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFuZS1zdGFjaz0uLi5g" + "IHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBg" + "b2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8Cnwg" + - "YC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1lIHwgYGxv" + - "Y2FsYCBmb3IgZGV2IGJ1aWxkcywgYHByZGAgZm9yIHJlbGVhc2VzIHwKfCBgLS1ub24taW50ZXJh" + - "Y3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAgfAp8IGAtLXRva2Vu" + - "PSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24gfCAtIHwKfCBgLS1u" + - "by1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90IGt1YmVjdGwgYXBw" + - "bHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdhY3kgYWxpYXMgZm9y" + - "IGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3IpIHwgYHRleHRgIHwK" + - "fCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwgYXV0by1kZXRlY3Qg" + - "fAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBwb2xsIHVudGlsIHRoZSBjaGVj" + - "ayBwYXNzZXMgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1" + - "Y2Nlc3M6IGZhbHNlYCkuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNo" + - "IGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hl" + - "Y2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBDYW5ub3QgYmUg" + - "Y29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYCB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwg" + - "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVj" + - "dGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8" + - "CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250" + - "ZXh0cyBkaWZmZXIgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1v" + - "bmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBh" + - "bGwga3ViZWN0bCBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIENM" + - "SSBwcmludHMgYSBub3RlIHNheWluZyBzby4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NB" + - "TF9PTkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9m" + - "IGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxs" + - "YCBpcwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9s" + - "ZXMgY29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + - "LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNs" + - "dXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90" + - "IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFs" + - "c28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQg" + - "cm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkIHwgYGZhbHNl" + - "YCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAg" + - "fAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwK" + - "fCBgLS1hbGxgIHwgRXZlcnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdo" + - "ZW4gY29tYmluZWQgd2l0aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5B" + - "TUVgIHwgQ2x1c3RlciBuYW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNr" + - "aXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9i" + - "ZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4g" + - "YGRlZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQg" + - "bmVlZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3Jl" + - "dC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8Cgoj" + - "IyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBp" + - "biB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNj" + - "b3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0IGFuZCByZW1v" + - "dmVzIHRoZW0KYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBw" + - "ZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KCldoZW4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sn" + - "cyBlbnZpcm9ubWVudCBmaWxlLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgCmZyb20gYC0tY29u" + - "dHJvbC1wbGFuZS1zdGFja2Agb3IgYSBzdGFjayBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBk" + - "aXJlY3RvcnksCml0IHRlbGxzIHRoZSB2YWxpZGF0b3Igd2hpY2ggR2F0ZXdheXMgdGhlIHN0YWNr" + - "IHdpcmVzIE5WQ0Ygcm91dGVzIHRvLiBXaXRob3V0CnRoYXQgZmlsZSBpdCBkb2VzIG5vdCwgYW5k" + - "IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlbSBmcm9tIHRoZSByb3V0ZXMuCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFn" + - "ZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9D" + - "TElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0" + - "YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZh" + - "bGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcg" + - "dG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBl" + - "dmVyeXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8IGAtLWNsdXN0" + - "ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdDpwb3J0LC4uLmAgfCBFeHRyYSByZWdpc3RyaWVz" + - "IHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvciBwcm9iZXMgZm9yIHJlYWNoYWJpbGl0eS4gVGhl" + - "eSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhl" + - "IHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJl" + - "Z2lzdHJ5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1" + - "bmxlc3MgdGhlIHN0YWNrIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZj" + - "ci5pb2AgaXMgcHJvYmVkIG9ubHkgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNr" + - "IG5hbWVzIGEgcmVnaXN0cnkuIFRoZSB2YWxpZGF0b3IgZGlhbHMgZnJvbSBhIHBvZCB3aXRoIG5v" + - "IHByb3h5LCBzbyBhbiB1bnJlYWNoYWJsZSByZWdpc3RyeSBpcyBhIHdhcm5pbmc7IHRoZSBsb2Nh" + - "bCBjcmVkZW50aWFsIGNoZWNrIGlzIHdoYXQgZmFpbHMgYSByZWdpc3RyeSB0aGUgaW5zdGFsbCBj" + - "YW5ub3QgcHVsbCBmcm9tLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZD" + - "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJf" + - "dmFsaWRhdG9yX3JlZ2lzdHJpZXNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUt" + - "aW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29u" + - "dHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMg" + - "YHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBl" + - "ZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0Vg" + - "OyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDox" + - "LjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25z" + - "IGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFs" + - "aWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJp" + - "ZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMg" + - "YE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9y" + - "bWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRl" + - "ZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcg" + - "a2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRl" + - "ZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUg" + - "Q0xJIGxvb2tzIGZvciBvbmUgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBhbmQgY29waWVzIGl0IGlu" + - "dG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGFuZCBvbmx5IGZvciBhbiBp" + - "bWFnZSBvbiBgbnZjci5pb2AsIGl0IG1pbnRzIG9uZSBmcm9tIGBOR0NfQVBJX0tFWWAuIFRoZSBr" + - "ZXkgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LCBvdGhlciBOVklESUEgcmVnaXN0" + - "cmllcyBpbmNsdWRlZDsgdGhvc2UgdXNlIHlvdXIgZG9ja2VyIGxvZ2luIHwgYXV0by1kZXRlY3Qg" + - "fAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFs" + - "aWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0" + - "IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxp" + - "Y2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdl" + - "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBm" + - "YWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBv" + - "ZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQg" + - "Sm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMg" + - "cG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3" + - "aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgcmVjbGFpbXMgdGhlbSBh" + - "ZnRlciAyNCBob3Vycy4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlz" + - "dCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3Zl" + - "cyB0aGVtIG5vdyB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCB0aGUgdmFsaWRh" + - "dG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMuIFRoZSB0cmFu" + - "c2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBz" + - "byBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBm" + - "YWxzZWAgfAoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBp" + - "ZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQg" + - "SUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lv" + - "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBw" + - "bGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNp" + - "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVz" + - "dGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wg" + - "KyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAg" + - "fAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8" + - "IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBg" + - "LS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVy" + - "IHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8Cnwg" + - "YC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lP" + - "TmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5k" + - "cG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNy" + - "ZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBn" + - "ZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + - "LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZp" + - "ZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24g" + - "VEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkg" + - "bnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUu" + - "Zy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8Cnwg" + - "YC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVp" + - "cmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlk" + - "YXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNl" + - "YCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVz" + - "KSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJl" + - "cGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBG" + - "dW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwg" + - "LSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2lu" + - "dCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBw" + - "b3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBG" + - "dW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + - "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24t" + - "dHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhl" + - "bG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQg" + - "YnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwK" + - "fCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsg" + - "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7" + - "IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1l" + - "dGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1" + - "c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3Ig" + - "ZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0" + - "cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwg" + - "LSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwg" + - "ZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3Jp" + - "dHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAg" + - "fCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAg" + - "dG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9y" + - "aXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBg" + - "ZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1v" + - "ZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1j" + - "b21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1" + - "cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + - "LCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRz" + - "IGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxz" + - "YXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUg" + - "b3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4g" + - "YDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRz" + - "KSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtz" + - "KS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUg" + - "YDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09O" + - "LgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAu" + - "IEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6" + - "ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxz" + - "W10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRg" + - "IG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFy" + - "dFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVu" + - "Y3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZD" + - "RiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hh" + - "dCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRp" + - "LXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1" + - "ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVw" + - "bGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExM" + - "TSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhv" + - "ZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBt" + - "YXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlu" + - "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + - "dC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0" + - "eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFj" + - "Y291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + + "YC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1lLiBgY2hl" + + "Y2tgIHJlYWRzIHRoZSBzdGFjaydzIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgb25seSBmb3Ig" + + "YW4gZW52aXJvbm1lbnQgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLCBzbyBw" + + "YXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGluZ3MgcmVhZCBmcm9t" + + "IHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwgYGxvY2FsYCB8Cnwg" + + "YC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2Vg" + + "IHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9u" + + "IHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5v" + + "dCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVn" + + "YWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9y" + + "KSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8" + + "IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgcG9sbCB1" + + "bnRpbCB0aGUgY2hlY2sgcGFzc2VzIG9yIERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZp" + + "bmFsYCB3aXRoIGBzdWNjZXNzOiBmYWxzZWApLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0" + + "byBjbGVhciwgc3VjaCBhcyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcs" + + "IGFuZCBpdHMgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50OiB0cnVl" + + "YC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0tbm8tY2xlYW51cGAgfCAtIHwKfCBgLS1jb250" + + "cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFu" + + "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJy" + + "ZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVp" + + "cmVkIHdoZW4gY29udGV4dHMgZGlmZmVyIHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8" + + "CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgbG9jYWwtaG9zdCBjaGVj" + + "a3MgYW5kIHNraXAgYWxsIGt1YmVjdGwgY29udGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBw" + + "YXNzZWQuIFRoZSBDTEkgcHJpbnRzIGEgbm90ZSBzYXlpbmcgc28uIEVudjogYE5WQ0ZfQ0xJX1NF" + + "TEZIT1NURURfTE9DQUxfT05MWWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0" + + "IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFu" + + "ZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIEVhY2ggc2VsZWN0cyBhIHJvbGU7IG9ubHkgdGhl" + + "IHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3Qg" + + "dG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwgc2lu" + + "Y2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBvciBgLS1jb21wdXRl" + + "LXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRoIGEgcm9sZSdzIG93" + + "biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVzdGVyIGFzIGluc3Rh" + + "bGxlZCB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ29udHJvbC1wbGFuZSBjaGVj" + + "a3MgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBsYW5lYCB8IENvbXB1dGUtcGxhbmUgY2hlY2tz" + + "IHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEV2ZXJ5IGNhdGVnb3J5LCBpbmNsdWRpbmcgU0lTIHJl" + + "YWNoYWJpbGl0eSB3aGVuIGNvbWJpbmVkIHdpdGggYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNs" + + "dXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBmb3IgY29tcHV0ZS1wbGFuZSBjaGVja3Mg" + + "fCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlm" + + "eS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNy" + + "ZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMgb24gYSBy" + + "ZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9kcyBnZXQg" + + "bm8gcHVsbCBzZWNyZXQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8" + + "IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1" + + "bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVz" + + "IGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZv" + + "ciBpdCBhbmQgcmVtb3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNv" + + "bnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBS" + + "RUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElf" + + "Q0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9p" + + "bWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcg" + + "ZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlk" + + "YXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8g" + + "cGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVy" + + "eXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8IGAtLWNsdXN0ZXIt" + + "dmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdp" + + "c3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5k" + + "IHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlk" + + "YXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5l" + + "eGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGlu" + + "c3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3Rh" + + "Y2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5" + + "YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3Mg" + + "dGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFj" + + "bWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwg" + + "d2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRo" + + "ZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBw" + + "cm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3Ig" + + "Y29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RS" + + "SUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBub2Rl" + + "IGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8t" + + "bm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4g" + + "U2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVT" + + "VEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9y" + + "X3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1" + + "c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRv" + + "bGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wt" + + "cGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVz" + + "ZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxl" + + "YCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJl" + + "cGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + + "QVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRp" + + "b25zYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9j" + + "a2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0" + + "b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBj" + + "cmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhh" + + "dCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBm" + + "cm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRo" + + "ZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlz" + + "IG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdp" + + "c3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwg" + + "c2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRl" + + "dGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3Rl" + + "ciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJl" + + "ZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQg" + + "ZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUg" + + "aW1hZ2UuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05g" + + "IHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBp" + + "dHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEg" + + "a2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNv" + + "IGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0" + + "IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayByZWNsYWltcyB0" + + "aGVtIGFmdGVyIDI0IGhvdXJzLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVw" + + "YCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCBy" + + "ZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2" + + "YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhl" + + "IHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRl" + + "cnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFt" + + "IHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVzIGVh" + + "Y2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVu" + + "dGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25maWcu" + + "anNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNTdG9y" + + "ZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkga2V5" + + "IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlg" + + "LCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tF" + + "WWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5IGZv" + + "ciBhCmJhcmUgYC0tcHJlYCBydW4gd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2Ug" + + "YHVwYCBjcmVhdGVzIGl0cyBwdWxsCnNlY3JldHMgZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNl" + + "bnQgdG8gYW5vdGhlciByZWdpc3RyeS4KCk9ubHkgYSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSBy" + + "ZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhl" + + "IGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQSByZWplY3RlZCBOR0MgQVBJIGtleSBhZnRlciBp" + + "bnN0YWxsIGlzCmEgd2FybmluZywgc2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMgd2l0aCBpdHMgb3du" + + "IHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFjaGluZSBjYW5ub3QgcmVhY2gsIGEgdG9r" + + "ZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNyZWRlbnRpYWwgYXJl" + + "IHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMg" + + "RUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBza2lwcGVkIHdpdGggYSBjb21tYW5kIHRv" + + "IGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMgbWFjaGluZSBpbiBh" + + "bm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQgY3JlZGVudGlhbHMu" + + "CgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRzIHRo" + + "ZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmlyb25t" + + "ZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0dGlu" + + "ZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwt" + + "LS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRl" + + "ZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdh" + + "dGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMubmF0" + + "cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMubGxt" + + "V29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRl" + + "ZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhl" + + "IHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwKfCBF" + + "bnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5h" + + "bWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFsIGNv" + + "bXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxl" + + "ZGAgaXMgbm90IGB0cnVlYCB8IGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBPcGVuQmFv" + + "IG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJv" + + "YmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZD" + + "Rl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9t" + + "IHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVz" + + "Y3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVu" + + "dmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyBub3QgdXNlZCwg" + + "c28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBgYmFzZS55YW1sYAog" + + "IGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhlIHN0YWNrIHRoZSBp" + + "bnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25seSBydW4pLCBlbHNlIHRoZSBDTEkncwogIGJ1" + + "aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4g" + + "YG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIgY29tbWFuZCBleHRyYWN0" + + "ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywKICBgZmlsZTovL2AgaW5jbHVkZWQs" + + "IGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZAogIHN0" + + "YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRz" + + "IHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVy" + + "d2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBm" + + "aW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2Jl" + + "ZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMg" + + "Y2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8" + + "IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwg" + + "Q2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47" + + "IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBg" + + "c3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUg" + + "fCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5k" + + "ZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVu" + + "Y2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5l" + + "bCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8" + + "CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVp" + + "cmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + + "LXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVS" + + "TGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2Ag" + + "fCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoK" + + "IyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25s" + + "eSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAt" + + "LWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBg" + + "R2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBp" + + "cnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9u" + + "IHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQg" + + "c2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxp" + + "ZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWlu" + + "dGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyks" + + "IGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMj" + + "IGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + + "bWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNy" + + "ZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1u" + + "YW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRh" + + "aW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZl" + + "cmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5l" + + "ciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFN" + + "SU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBD" + + "SEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRo" + + "IGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4g" + + "fCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2Ug" + + "bmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBp" + + "cyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9k" + + "ZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0g" + + "bW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0" + + "aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBU" + + "b2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAs" + + "IG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5l" + + "ZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBz" + + "ZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1" + + "bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUg" + + "aGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + - "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2Vw" + - "dHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25m" + - "aWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJp" + - "c2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9k" + - "ZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + - "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9j" + - "IG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBg" + - "LS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZ" + - "UEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBN" + - "aW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMg" + - "fCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBg" + - "MGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + - "TkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5n" + - "IFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBp" + - "cyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9j" + - "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1l" + - "IE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1a" + - "XVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3" + - "aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2Ut" + - "dHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + - "ZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENv" + - "bnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwK" + - "fCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2Ug" + - "fCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklM" + - "RWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVz" + - "IHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENT" + - "UCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdp" + - "dGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdz" + - "IEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmds" + - "ZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29u" + - "dGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsg" + - "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJv" + - "bm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0t" + - "bWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAx" + - "LCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBg" + - "LS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxs" + - "YXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0" + - "aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNP" + - "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBM" + - "T0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8Cnwg" + - "YC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9y" + - "bWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1y" + - "ZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + - "YCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6" + - "VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10" + - "YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2Ny" + - "aXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5" + - "LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNz" + - "LXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + - "CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9p" + - "bnQgSUQgfCAtIHwKUEsHCLn4YG7JOQAAyTkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRV" + - "VAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzIOKGkiBkaWFnbm9zdGljIGNv" + - "bW1hbmQg4oaSIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBg" + - "cGhhc2VfZmFpbGVkYCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KSDigJQgZXZlcnkgZW50" + - "cnkgYmVsb3cgc2hvdWxkIG1hcCB0byBhbiBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlv" + - "bmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + - "IHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQ" + - "QVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0" + - "cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8Cnwg" + - "YGhlbG1maWxlIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZp" + - "bGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3Qgb24gUEFUSGAgfCBTYW1lIHwg" + - "aHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBHYXRld2F5IEFQSSBDUkRz" + - "IG5vdCBpbnN0YWxsZWRgIHwgZW52b3ktZ2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGlu" + - "c3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNw" + - "YWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBkZWZhdWx0" + - "IFN0b3JhZ2VDbGFzcyBub3QgYXZhaWxhYmxlYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Mg" + - "fCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6" + - "eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNs" + - "YXNzIjoidHJ1ZSJ9fX0nYCB8CnwgYEdQVSBvcGVyYXRvciBub3QgaW5zdGFsbGVkYCAoY29tcHV0" + - "ZS1wbGFuZSkgfCBudmlkaWEgR1BVIG9wZXJhdG9yIG1pc3NpbmcgfCBJbnN0YWxsIHBlciBodHRw" + - "czovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3Iv" + - "bGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0" + - "b3JgIGZvciBkZXYgfAp8IGBHUFUgbm9kZSBsYWJlbHMgbWlzc2luZ2AgKGNvbXB1dGUtcGxhbmUp" + - "IHwgTm9kZXMgbmVlZCBgbnZpZGlhLmNvbS9ncHUuZmFtaWx5YCBldGMuIHwgU2V0IGAtLWszcy1u" + - "b2RlLWxhYmVsIG52aWRpYS5jb20vZ3B1LmZhbWlseT1ob3BwZXJAYWdlbnQ6TmAgZm9yIGszZCB8" + - "CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1j" + - "bGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50" + - "ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBT" + - "aWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0" + - "Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50" + - "IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGlu" + - "aXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rp" + - "b24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBz" + - "Y29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVu" + - "IHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + - "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9y" + - "IGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8" + - "IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMg" + - "LW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVj" + - "aWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBm" + - "YW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUi" + - "OiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0" + - "ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5" + - "ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFg" + - "IChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5v" + - "dCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRl" + - "ciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0" + - "aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3" + - "MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJh" + - "dG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIg" + - "YnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJh" + - "dG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3lt" + - "cHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBD" + - "cmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4u" + - "L3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBm" + - "cm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0" + - "ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1w" + - "b3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5k" + - "IHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1Mg" + - "aW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5" + - "IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwK" + - "fCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1h" + - "Z2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0" + - "IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4g" + - "fCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sg" + - "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAt" + - "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMj" + - "IFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8" + - "IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlh" + - "bCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFs" + - "dWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVg" + - "IHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUg" + - "bmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBh" + - "Y2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAg" + - "KGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVu" + - "IHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQg" + - "cmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZj" + - "dC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCPOuE4R0EQAAdBEAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NL" + - "SUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpk" + - "ZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29u" + - "dHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhl" + - "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93" + - "biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3Rpbmcu" + - "IFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + - "YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1m" + - "aWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNl" + - "IGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3Bt" + - "ZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTog" + - "UmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRp" + - "ZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNm" + - "LWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAi" + - "MS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwg" + - "Y29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwg" + - "ZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVw" + - "LCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUt" + - "ZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAi" + - "CiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + - "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + - "b3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdv" + - "cmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVj" + - "dHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9u" + - "YWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + - "ZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3Ig" + - "aW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBr" + - "ZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZv" + - "ciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShy" + - "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCku" + - "CgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhl" + - "IG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5" + - "IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29u" + - "dHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2Vj" + - "cmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0" + - "ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25t" + - "ZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVp" + - "dGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNp" + - "b25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVy" + - "c2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5" + - "IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + - "Ojx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBj" + - "b250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1" + - "YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3Rh" + - "cnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBg" + - "YmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQg" + - "c2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpo" + - "ZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJl" + - "Y3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24g" + - "b2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJh" + - "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3Rv" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2Vj" + - "cmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZy" + - "b20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRz" + - "LnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + - "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + - "ZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2Vk" + - "ZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBg" + - "YHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBt" + - "ZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRl" + - "cykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdv" + - "IHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBi" + - "eQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAg" + - "LT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0" + - "IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFz" + - "c2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVz" + - "LCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFy" + - "Yml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVu" + - "dGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0" + - "LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVs" + - "ZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10o" + - "I292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgoj" + - "IyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcg" + - "YSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + - "cjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20g" + - "YSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZ" + - "PSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + - "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + - "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9u" + - "ZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFj" + - "aCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2Vj" + - "cmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8g" + - "eW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0" + - "cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBk" + - "b2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBt" + - "dXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBj" + - "b21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + - "JyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + - "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dv" + - "cmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1l" + - "IEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3" + - "cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBs" + - "YXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRo" + - "ZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywg" + - "YnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29u" + - "ZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0" + - "aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxz" + - "IGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNj" + - "ZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdy" + - "b25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9u" + - "ZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1t" + - "ZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0" + - "b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVh" + - "ZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBm" + - "cm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMj" + - "IyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRo" + - "ZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2Vz" + - "IGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBh" + - "bgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hl" + - "cmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBh" + - "dXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50" + - "aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdl" + - "OgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdp" + - "c3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAg" + - "ICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9u" + - "bHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5" + - "OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4K" + - "ICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFy" + - "dGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3Jpbmcu" + - "IENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWly" + - "cm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0" + - "byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5u" + - "Z2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVk" + - "IGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5" + - "LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gK" + - "ICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxg" + - "IHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3Vy" + - "LXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQog" + - "ICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwg" + - "c3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0" + - "cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1" + - "bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlv" + - "dSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAx" + - "CiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0" + - "aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9n" + - "aW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUg" + - "cmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1" + - "bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJl" + - "Z2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4g" + - "d2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBt" + - "aXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0" + - "aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4" + - "IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJl" + - "IHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3Rp" + - "bmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdh" + - "eSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0" + - "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBg" + - "CgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5k" + - "IEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBh" + - "bmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0" + - "IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxl" + - "IHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNv" + - "bm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0" + - "YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRz" + - "IHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRl" + - "ciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IERO" + - "UyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5t" + - "ZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJl" + - "ZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAj" + - "IERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0" + - "cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFs" + - "LAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNo" + - "QG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + - "dGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+" + - "IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVz" + - "IHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0" + - "byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUu" + - "IERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5k" + - "ZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0t" + - "LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8" + - "CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRp" + - "b24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3Jv" + - "dXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3Jv" + - "dXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEt" + - "MiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9u" + - "YWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5l" + - "ZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZy" + - "b250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlz" + - "IGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5" + - "IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBj" + - "b250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91" + - "dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNr" + - "YWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + - "ZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + - "YHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBw" + - "aW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9t" + - "YWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQg" + - "ZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMu" + - "dmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBo" + - "b3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1l" + - "IG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRj" + - "aGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMg" + - "dGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZp" + - "Y2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVz" + - "ZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2Yg" + - "LWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRw" + - "cm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4i" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFu" + - "aXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQpp" + - "bnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkg" + - "dGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFs" + - "KQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJ" + - "LiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBw" + - "YWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVk" + - "IHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBg" + - "bnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1p" + - "biBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRv" + - "IHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxs" + - "IHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBV" + - "SSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRo" + - "ZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBk" + - "b2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVh" + - "bHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiBy" + - "ZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0g" + - "Q0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVy" + - "IGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93" + - "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNy" + - "ZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3du" + - "CgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1" + - "c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5" + - "IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJl" + - "OiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lz" + - "YCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwg" + - "YG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBg" + - "YWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5j" + - "bHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBi" + - "dXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVz" + - "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2Vy" + - "dC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lz" + - "ZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRl" + - "bGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpC" + - "ZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdl" + - "ciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZl" + - "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1" + - "ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJl" + - "bGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + - "ZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92" + - "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRl" + - "IHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVz" + - "cGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVs" + - "ZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJp" + - "ZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5h" + - "dHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBg" + - "YAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUg" + - "KGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "cHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3Jh" + - "Z2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55" + - "IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290" + - "bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8" + - "cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRo" + - "ZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + - "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + - "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + - "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNv" + - "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAg" + - "IG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBh" + - "IHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcg" + - "YHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCBy" + - "ZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMj" + - "IFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJl" + - "dmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJl" + - "IHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBh" + - "bmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRo" + - "IHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBs" + - "YW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2Fy" + - "IEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1" + - "bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + - "Y3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxh" + - "dGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8" + - "IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwg" + - "YDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXAp" + - "IHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0" + - "cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + - "dWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2Nr" + - "ZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1" + - "dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90" + - "ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUg" + - "Tk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUg" + - "cGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdo" + - "aWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4g" + - "Qm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBu" + - "dmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUg" + - "YGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1" + - "ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRv" + - "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQo" + - "PGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVl" + - "OiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5j" + - "b2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6" + - "IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwg" + - "YW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBz" + - "eW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtl" + - "eSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVh" + - "ZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBg" + - "YGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNz" + - "bCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fy" + - "cy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3Vk" + - "IFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNh" + - "cnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNm" + - "IGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBg" + - "YGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWly" + - "cm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJz" + - "IG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlm" + - "ZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1h" + - "Z2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3" + - "byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdp" + - "c3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBz" + - "ZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2" + - "ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xp" + - "Y3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBv" + - "ZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0" + - "cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25z" + - "IG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZl" + - "cm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpo" + - "ZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1u" + - "YW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9y" + + "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1" + + "bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFk" + + "YXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVz" + + "IHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2Rl" + + "bC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAv" + + "djEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01l" + + "dGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGly" + + "ZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRg" + + "IGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9r" + + "ZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJl" + + "IGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBh" + + "bmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMs" + + "IGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2Ag" + + "aW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBm" + + "dW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBg" + + "ZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVg" + + "LCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBp" + + "bmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2Vk" + + "IGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2Ug" + + "YG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNl" + + "bGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQg" + + "dXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2Fu" + + "IHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVt" + + "YmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFH" + + "WyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRh" + + "dGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5n" + + "TWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0" + + "aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEw" + + "MDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8Cnwg" + + "YC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24t" + + "bGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1" + + "cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQt" + + "cHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRl" + + "OyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVz" + + "LiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24g" + + "dXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVg" + + "IGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0" + + "ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5v" + + "dCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3Bl" + + "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVj" + + "KS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + + "CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWly" + + "ZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5z" + + "dGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5z" + + "dGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwg" + + "TWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENv" + + "bmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNs" + + "dXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwg" + + "KGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + + "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9u" + + "cy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMs" + + "IGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFt" + + "ZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8" + + "IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0" + + "IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFn" + + "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1o" + + "ZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBP" + + "Q0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1p" + + "bnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlk" + + "ZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8" + + "IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZp" + + "YyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1j" + + "b250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250" + + "YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMy" + + "ImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1l" + + "bnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + + "U2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVz" + + "dCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0" + + "aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGlt" + + "ZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBi" + + "ZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwK" + + "fCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3Rv" + + "cCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0" + + "LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlm" + + "YWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9h" + + "ZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVp" + + "cmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFN" + + "RTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJl" + + "c291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxl" + + "IHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVk" + + "IHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1s" + + "b2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + + "CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRw" + + "b2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVs" + + "ZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwguqa7vh0YAAIdGAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + + "ZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDihpIg" + + "ZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhl" + + "IHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg" + + "4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQg" + + "YSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2Ug" + + "fCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBP" + + "cGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVj" + + "dGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwt" + + "a3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRo" + + "dWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBB" + + "VEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0" + + "ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3Np" + + "bmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXkt" + + "aGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2Vg" + + "IHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBu" + + "byBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAg" + + "J3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8v" + + "aXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3Rh" + + "bGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5z" + + "dGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUv" + + "Z3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZh" + + "a2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChj" + + "b21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8" + + "IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50" + + "Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwg" + + "Tm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1j" + + "bGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZl" + + "YCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0" + + "ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJv" + + "bSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVu" + + "IGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3Jp" + + "dGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9r" + + "ZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0" + + "aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0" + + "b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91" + + "dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVj" + + "ayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0" + + "bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5H" + + "UFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBg" + + "Z3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAi" + + "aW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJv" + + "dmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0t" + + "cmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdp" + + "b249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAi" + + "TkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUg" + + "YXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52" + + "IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNl" + + "IGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZv" + + "ciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBt" + + "dWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8u" + + "Li4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBy" + + "dW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8" + + "IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNh" + + "L2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNo" + + "IElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8g" + + "Y2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01T" + + "IGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhz" + + "IGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rl" + + "ci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1i" + + "YWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25n" + + "IHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRo" + + "ZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5H" + + "YCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdh" + + "aXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4g" + + "bmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1z" + + "ZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lz" + + "dHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBj" + + "cmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91" + + "cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJl" + + "YWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNU" + + "IGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZj" + + "Zi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRo" + + "ZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJv" + + "dXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBk" + + "ZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQR" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNl" + + "bGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFj" + + "a3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBm" + + "bG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJv" + + "dWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHBy" + + "b2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50" + + "cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2Fs" + + "IGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNv" + + "bXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0g" + + "My4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24K" + + "YXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29t" + + "PiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwg" + + "c2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBp" + + "bnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVh" + + "ZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9y" + + "OiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2" + + "ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxm" + + "LWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3Rh" + + "bGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlh" + + "bWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xv" + + "dWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlv" + + "bnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5k" + + "IGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRo" + + "aXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hp" + + "bmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFj" + + "a2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZz" + + "IHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24g" + + "RW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9u" + + "LWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxz" + + "byByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + + "IHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVs" + + "bWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxh" + + "bmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3Rt" + + "cGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0" + + "YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3Rt" + + "cGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5n" + + "IGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNl" + + "IGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+" + + "Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0" + + "ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93" + + "IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5k" + + "cyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + + "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBC" + + "ZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9w" + + "ZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgx" + + "LjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0" + + "IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZm" + + "ID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBt" + + "aW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBm" + + "cm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJh" + + "c2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZp" + + "cm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBl" + + "bnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88" + + "bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQt" + + "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + + "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5n" + + "IHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24g" + + "bWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1" + + "bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAo" + + "eW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAg" + + "LT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZl" + + "IHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9j" + + "a3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290" + + "bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1h" + + "Z2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4g" + + "U2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUg" + + "d2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90" + + "IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBh" + + "IGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBD" + + "aGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIElu" + + "c3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3Jl" + + "dHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + + "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYg" + + "cHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9y" + "dCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + "IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJl" + - "Y3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhl" + - "IHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFn" + - "ZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFz" + - "aAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0n" + - "ey5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1j" + - "cmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlh" + - "bCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJu" + - "byBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBE" + - "ZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9k" + - "cyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3Qg" + - "LUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxl" + - "YXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + - "JyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQ" + - "dWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwg" + - "c2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3Jl" + - "dHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2Fp" + - "dGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3Rh" + - "dHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9s" + - "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + - "IHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0" + - "YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFz" + - "ZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZh" + - "bHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVu" + - "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9i" + - "IGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBT" + - "ZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIklu" + - "aXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZh" + - "dWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2Ag" + - "dmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBj" + - "cmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9u" + - "bHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2Vy" + - "dmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9D" + - "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tl" + - "ZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9y" + - "IG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMg" + - "YW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGlu" + - "c3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRo" + - "ZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFz" + - "ZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9i" + - "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291" + - "bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9v" + - "dHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5z" + - "dGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9m" + - "IGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBw" + - "ZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQg" + - "Ym9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2Vy" + - "dmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3Vu" + - "ZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBl" + - "cnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0" + - "byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJy" + - "aWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIu" + - "ZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0" + - "YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2Rl" + - "ZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBg" + - "dXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJ" + - "T049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFw" + - "IHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxs" + - "YCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + - "c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQg" + - "b25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxs" + - "IGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhh" + - "biBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNy" + - "ZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5z" + - "IGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5" + - "IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJz" + - "dCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + - "LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBl" + - "Y3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5" + - "bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0" + - "aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0" + - "YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4g" + - "bnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxv" + - "Z3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhl" + - "IGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0" + - "YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5k" + - "IEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQt" + - "dG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxt" + - "ZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwg" + - "c2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNl" + - "bGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywg" + - "bWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlk" + - "YXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2Vs" + - "Zi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBz" + - "a2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxl" + - "IChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBs" + - "dWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1" + - "c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJz" + - "aW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZp" + - "bGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2gg" + - "cmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVy" + - "c2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "aGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3Rh" + - "bGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNs" + - "aWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFz" + - "c2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZD" + - "RiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0" + - "ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVs" + - "bWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5p" + - "bmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGlt" + - "cG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4u" + - "IHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBs" + - "YXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJl" + - "dmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0" + - "aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENs" + - "ZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + - "aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNr" + - "ZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + - "ZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRv" + - "IGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNG" + - "LW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlk" + - "IG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVh" + - "bnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZD" + - "RkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmlu" + - "YWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdl" + - "dGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQp" + - "IGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQg" + - "Zmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1o" + - "ZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNG" + - "IGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + - "IEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1" + - "dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBh" + - "dXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25t" + - "ZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2No" + - "ZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRo" + - "ZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNN" + - "U19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBs" + - "YW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25m" + - "aWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBm" + - "cm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNl" + - "cGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3Rlcmlu" + - "ZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + - "aWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlz" + - "X3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9o" + - "b3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVy" + - "LWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01T" + - "X1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcg" + - "d2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21w" + - "dXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25s" + - "eSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRl" + - "ciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJh" + - "dGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBm" + - "b3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1" + - "ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVu" + - "dCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBh" + - "bmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90" + - "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + - "IHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1" + - "dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + - "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + - "bmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5v" + - "dCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBw" + - "cm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjog" + - "IlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxl" + - "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBp" + - "bnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3lu" + - "YyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + - "Zm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMv" + - "LCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxl" + - "cyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBo" + - "ZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4" + - "dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlv" + - "biI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdl" + - "ZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0" + - "YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxl" + - "IHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNl" + - "cnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBs" + - "b3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhl" + - "biBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0" + - "YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGlu" + - "ZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJl" + - "Y3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhp" + - "c3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAo" + - "Y2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywg" + - "dmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBu" + - "YW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhl" + - "bG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95" + - "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMg" + - "KGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHBy" + - "b3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBo" + - "ZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBj" + - "b21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIs" + - "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + - "bmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNl" + - "IG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBh" + - "bmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJl" + - "ZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4g" + - "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQg" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lz" + - "dGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFp" + - "biBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1" + - "bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkg" + - "aW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2Zm" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + - "LWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + - "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVy" + - "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVy" + - "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1l" + - "LCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5z" + - "dGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0" + - "YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVz" + - "dGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFz" + - "IHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyBy" + - "ZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2Fu" + - "ZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0" + - "aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxl" + - "IHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGlu" + - "ZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0" + - "aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFu" + - "ZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "cHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28g" + + "Y29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJ" + + "bWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRp" + + "Y2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5E" + + "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNl" + + "cyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRl" + + "bnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMg" + + "TkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11" + + "ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + + "LmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0" + + "LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVn" + + "aW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2Vl" + + "cHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhl" + + "IHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlm" + + "ZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNy" + + "LmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tl" + + "ciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZp" + + "cnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVh" + + "ZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVk" + + "LCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9t" + + "IG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNv" + + "cnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2Vy" + + "bmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZv" + + "Y2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5n" + + "IGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBl" + + "bnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhl" + + "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRo" + + "ZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBm" + + "cm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBh" + + "IHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQg" + + "cHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tp" + + "cCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUg" + + "bWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2Jh" + + "bDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAg" + + "ICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3It" + + "c3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAg" + + "ICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJy" + + "b3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBh" + + "bmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAg" + + "ID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFk" + + "eSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFy" + + "ZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxl" + + "CiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5v" + + "dCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJy" + + "b3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwg" + + "Y29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRk" + + "YC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRn" + + "eiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFy" + + "dHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRo" + + "ZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + + "dG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlk" + + "ZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMg" + + "c2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRz" + + "YCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0" + + "aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRo" + + "ZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAg" + + "Mi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRl" + + "cyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0" + + "aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBw" + + "b2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0" + + "IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4K" + + "CiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhv" + + "c3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMg" + + "bm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhl" + + "IGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVj" + + "dGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + + "X0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3Vk" + + "IHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJh" + + "bGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRv" + + "ZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMs" + + "IHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52" + + "Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDog" + + "YXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4g" + + "YW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUg" + + "ZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1" + + "cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBp" + + "biBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFBy" + + "ZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMg" + + "aW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVM" + + "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNv" + + "bmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRl" + + "ZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRS" + + "QV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVy" + + "eSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Ag" + + "b25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJv" + + "bGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRl" + + "ciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2Fp" + + "dCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEg" + + "fCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJh" + + "IHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywg" + + "RVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBM" + + "TE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4g" + + "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBg" + + "cmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8" + + "IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYg" + + "ZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdh" + + "dGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBh" + + "bmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBt" + + "YXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24K" + + "cm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1" + + "ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2th" + + "Z2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0" + + "eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3" + + "ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2Fn" + + "ZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFt" + + "ZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDog" + + "dHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlz" + + "IGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZj" + + "Zjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1" + + "bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1" + + "c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSBy" + + "b3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFu" + + "ZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNr" + + "YWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFw" + + "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + + "ZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + + "eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUg" + + "YWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95" + + "LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3Vi" + + "ZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFu" + + "aXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBu" + + "b3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZv" + + "Y2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJl" + + "IHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNG" + + "IFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBh" + + "ZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9u" + + "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5" + + "b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAg" + + "cmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhl" + + "IE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90" + + "IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVz" + + "cGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBz" + + "LApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMg" + + "OC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wt" + + "cGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFm" + + "dGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRv" + + "ZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQg" + + "ZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5l" + + "IE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQg" + + "YnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRl" + + "IENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFu" + + "ZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRp" + + "bmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBD" + + "bGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29u" + + "dHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUg" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFz" + + "ZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNG" + + "IHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFw" + + "aS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlg" + + "LCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAs" + + "IGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1h" + + "bmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAu" + + "IFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2Vy" + + "dC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBO" + + "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Uu" + + "IEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + + "c2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFn" + + "ZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRo" + + "ZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhl" + + "ciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24s" + + "IHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0" + + "IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0" + + "aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcg" + + "c3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21h" + + "dGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBw" + + "bGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQg" + + "Z2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1" + + "biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMj" + + "IERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8K" + + "ICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUK" + + "YGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAn" + + "KGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJl" + + "dHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZp" + + "cm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwg" + + "YGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1" + + "ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxl" + + "LmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1w" + + "bGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRp" + + "cmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + + "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + + "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + + "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + + "CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4" + + "IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + + "ICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBn" + + "b3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRg" + + "LCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlz" + + "dC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3Jl" + + "dHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + + "bXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3Jl" + + "dHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29u" + + "ZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBm" + + "YWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8" + + "IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENy" + + "ZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVy" + + "cG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVz" + + "IHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkg" + + "cHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBv" + + "ZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1" + + "c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291" + + "bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4g" + + "YDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lk" + + "ZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0" + + "YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwg" + + "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5" + + "PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNh" + + "ciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxh" + + "dGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NS" + + "RURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4i" + + "Cj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1" + + "dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3Bz" + + "IGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4g" + + "U28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5n" + + "LiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+" + + "IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJv" + + "b3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3Qg" + + "YmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBz" + + "aWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1l" + + "ZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMg" + + "aW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtl" + + "eSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJl" + + "cGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5" + + "bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIk" + + "S0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1h" + + "cGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlm" + + "IE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3Qt" + + "YXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJl" + + "c3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNh" + + "ciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBO" + + "R0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0" + + "Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2gg" + + "bmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQg" + + "KGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUg" + + "ZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8g" + + "YSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + + "Y2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1" + + "cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBh" + + "ZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRz" + + "YCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkg" + + "Zm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUg" + + "bW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0g" + + "cmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0g" + + "cmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVy" + + "bm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5h" + + "bWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5k" + + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + + "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + + "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0" + + "ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3ku" + + "eWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUs" + + "IGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkg" + + "d2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + + "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3si" + + "bmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0" + + "LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpG" + + "b3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlw" + + "dCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + + "dHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBv" + + "ZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + + "QWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScu" + + "bGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBw" + + "YXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + + "LS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBv" + + "ciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBp" + + "bWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZh" + + "dWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdy" + + "YXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93" + + "cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkg" + + "dmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1" + + "cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpX" + + "S1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVy" + + "eS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3Rl" + + "ciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVl" + + "YCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5i" + + "YW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fz" + + "c2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRy" + + "YS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFz" + + "aC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0" + + "cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEu" + + "c2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBg" + + "Y2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwg" + + "dG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSAr" + + "IHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3Rv" + + "ciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwg" + + "Y2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3Rh" + + "dGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRo" + + "ZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91" + + "dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3Vi" + + "ZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVu" + + "Y3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRo" + + "ZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBp" + + "YCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNo" + + "ZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291" + + "bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5" + + "IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFw" + + "LXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5q" + + "c29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0" + + "L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBh" + + "dGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGlu" + + "ZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJ" + + "T05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlv" + + "biBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIg" + + "dGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVH" + + "SU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBg" + + "TlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2Nv" + + "dW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoq" + + "YHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBp" + + "LWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0" + + "YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElm" + + "IHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hl" + + "cyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8g" + + "YWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50" + + "IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3Ro" + + "aW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBh" + + "ZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZj" + + "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVk" + + "ZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1" + + "biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFn" + + "YWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxl" + + "dGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBk" + + "ZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90" + + "LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5" + + "bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAg" + + "IyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNv" + + "dXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtD" + + "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + + "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdv" + + "cmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVy" + + "YXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtk" + + "ZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNl" + + "IHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBj" + + "cmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgR" + + "wxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJp" + + "ZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxs" + + "IHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIg" + + "cmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNp" + + "b25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiks" + + "IGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAx" + + "IG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1" + + "bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3Qg" + + "MS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRo" + + "ZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0g" + + "My4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9u" + + "JyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJU" + + "aGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNp" + + "b24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1i" + + "ZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5" + + "bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQg" + + "c3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3Rz" + + "IGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZp" + + "ZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMi" + + "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdp" + + "dGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNr" + + "aXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVw" + + "IiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0" + + "aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVy" + + "cyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMg" + + "ZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2Ug" + + "ZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkg" + + "dGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFj" + + "a2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0" + + "IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3Rs" + + "IHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVy" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIg" + + "bmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdl" + + "bnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwg" + + "bnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxl" + + "dGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIklu" + + "c3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBs" + + "YW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNv" + + "bmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2Vw" + + "dCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2Zp" + + "bGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1w" + + "bGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0" + + "aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wg" + + "cGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRh" + + "cmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50" + + "IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9J" + + "REMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFs" + - "dWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3Jl" + - "dHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25l" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTog" + - "c3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVu" + - "dGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1m" + - "aWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJx" + - "dWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fz" + - "c2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBk" + - "ZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBl" + - "bmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkg" + - "ZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVu" + - "Y3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3Rl" + - "bSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9y" + - "IHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEg" + - "cG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFu" + - "ZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVz" + - "Y3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1" + - "bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlm" + - "aWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNz" + - "aW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5n" + - "Lm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUg" + - "dGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZv" + - "ciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9v" + - "ciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3Qg" + - "Y2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAi" + - "Q29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBj" + - "b250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFu" + - "ZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0" + - "ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2Yt" + - "Z2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBv" + - "aW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQg" + - "TlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRp" + - "c2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3Qg" + - "ZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywg" + - "UmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVh" + - "dGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1" + - "ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1" + - "dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0" + - "ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxl" + - "ck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1n" + - "YXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVS" + - "TCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJM" + - "LCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJv" + - "eHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBD" + - "IHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlB" + - "cGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBh" + - "bmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBz" + - "ZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + - "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + - "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3Qi" + - "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVS" + - "TCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxT" + - "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIs" + - "CiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNs" + - "dWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBj" + - "cmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFu" + - "ZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEt" + - "c3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250" + - "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGgg" + - "dGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJl" + - "Z2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhl" + - "IGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBm" + - "b3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxh" + - "bmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlv" + - "biBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBh" + - "bmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNo" + - "aXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlz" + - "c2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNl" + - "IGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3Zl" + - "bmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRo" + - "ZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3Rh" + - "dHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5h" + - "bWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVk" + - "aWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBj" + - "b25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0" + - "ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3Rl" + - "bnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0" + - "IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVz" + - "dGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVz" + - "dHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNv" + - "bmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1" + - "c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAg" + - "ICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + - "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + - "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hl" + - "biBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAog" + - "ICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1l" + - "c3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2Ug" + - "cHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmls" + - "ZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVD" + - "T05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQg" + - "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNv" + - "bXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUg" + - "ZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMs" + - "IHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMg" + - "YW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2Fy" + - "bmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQg" + - "Z290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNv" + - "bmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFu" + - "ZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAi" + - "VGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0" + - "ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRp" + - "b25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVu" + - "Y2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZ" + - "QU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1" + - "ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBn" + - "bG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQg" + - "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlu" + - "bGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZh" + - "bHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlh" + - "bWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQg" + - "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + - "ZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3Ms" + - "IGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFy" + - "Yml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVl" + - "czogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRo" + - "YXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJl" + - "IGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVu" + - "YWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1" + - "bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUg" + - "aXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZl" + - "cmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "dCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZv" + + "cmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJU" + + "aGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNf" + + "dXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19o" + + "b3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVS" + + "X1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09O" + + "RklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01T" + + "X1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0" + + "aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcs" + + "IGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0" + + "ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUg" + + "Y29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1h" + + "dXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1m" + + "aWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBk" + + "b2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxh" + + "aW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChu" + + "b3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBp" + + "bnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3Iu" + + "aW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAk" + + "b2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhl" + + "IGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUg" + + "dXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNv" + + "bW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRp" + + "cmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJp" + + "ZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNy" + + "ZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwg" + + "c3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVu" + + "IGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywg" + + "ZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hl" + + "biBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQg" + + "bm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0" + + "aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sg" + + "YnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIs" + + "CiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZD" + + "RiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVu" + + "dCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21w" + + "bGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9v" + + "bHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Vz" + + "IGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHBy" + + "ZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBw" + + "aGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0" + + "ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sg" + + "d2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhl" + + "bG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUg" + + "c3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5l" + + "IG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5" + + "cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBj" + + "b21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9F" + + "TlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5n" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5" + + "bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wt" + + "cGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmls" + + "aXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJv" + + "bCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0" + + "aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVu" + + "dGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRl" + + "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1" + + "ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRo" + + "ZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cg" + + "ZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1" + - "cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCBy" + - "b3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1v" + - "Zi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5r" + - "ZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Ig" + - "b3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVy" + - "LCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVu" + - "ZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50" + - "Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUg" + - "c2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQg" + - "d29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUg" + - "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxh" + - "dGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhl" + - "IExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5h" + - "YmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhl" + - "IHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + - "dGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRo" + - "ZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVy" + - "IG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdh" + - "dGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGlu" + - "Y2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRl" + - "ZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0" + - "cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29u" + - "dHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + - "YW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRl" + - "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + - "IGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwg" + - "YW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9u" + - "IjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5n" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxz" + - "ZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCBy" + - "ZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tp" + - "bGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90" + - "IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0" + - "ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBo" + - "ZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAg" + - "IlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFu" + - "Y2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0K" + - "ICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFt" + - "cGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3Mu" + - "CgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0" + - "IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5" + - "cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3Rh" + - "cnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhl" + - "bG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGlu" + - "ZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3Vy" + - "Y2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBB" + - "ZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCklu" + - "IHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNl" + - "Y3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0g" + - "bmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5l" + - "bmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + - "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFs" + - "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0g" + - "Y2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + - "ICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3Rz" + - "OgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMj" + - "IyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0" + - "ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAg" + - "IyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRg" + - "IChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5k" + - "cmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0K" + - "CiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxs" + - "IFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBm" + - "cm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5n" + - "IGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBm" + - "b3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06" + - "CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBu" + - "dmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6" + - "IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBo" + - "ZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRv" + - "YXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8g" + - "LXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0" + - "ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + - "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + - "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + - "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + - "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVw" + - "IDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNo" + - "YXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFt" + - "cGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + - "bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + - "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + - "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + - "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + - "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1h" + - "Z2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUg" + - "a2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMu" + - "IEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBp" + - "biBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBu" + - "dmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBT" + - "dGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJl" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBh" + - "dGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFm" + - "dGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBi" + - "ZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3Ig" + - "bnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5v" + - "LWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3Vu" + - "dCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1l" + - "IjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpW" + - "ZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + - "JyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdl" + - "IiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQg" + - "UmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xl" + - "YW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpg" + - "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBc" + - "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1" + - "dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4" + - "dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFp" + - "bHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lz" + - "dGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJv" + - "bQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJt" + - "YXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAt" + - "LWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVy" + - "LWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAt" + - "LWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1" + - "dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sK" + - "ClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNw" + - "YWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZv" + - "cmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRl" + - "cm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFu" + - "IGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFn" + - "ZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0" + - "YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBw" + - "bGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5j" + - "ZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVs" + - "ZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpg" + - "YGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1l" + - "c3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5" + - "IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdy" + - "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJv" + - "dGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3Rh" + - "bGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNj" + - "bGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0" + - "ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkg" + - "b3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50" + - "LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERS" + - "PSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + - "XAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0" + - "dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMj" + - "IFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9i" + - "YWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdl" + - "ZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1" + - "Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FU" + - "RVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVw" + - "IGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAg" + - "d2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQg" + - "Y29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRo" + - "ZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VV" + - "UkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVS" + - "TCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQu" + - "IFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpo" + - "YW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBm" + - "aWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29u" + - "dGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBh" + - "cGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAg" + - "LW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRv" + - "ciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMu" + - "YWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUg" + - "NTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBp" + - "dGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0" + - "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwpr" + - "dWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVz" + - "dCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBT" + - "ZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1n" + - "cm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8Cnwg" + - "YHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9u" + - "LXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0" + - "aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVu" + - "YWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2Fn" + - "ZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXku" + - "ZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + - "YXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + - "YCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVx" + - "dWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0" + - "ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVk" + - "PXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0" + - "ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + - "ZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAg" + - "fCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhh" + - "dCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1n" + - "cm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVh" + - "c2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNz" + - "dWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0" + - "IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/" + - "KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + - "AKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5l" + - "IGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRy" + - "b2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNs" + - "dXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBs" + - "aWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291" + - "cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwK" + - "fC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFu" + - "ZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "IHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cg" + - "YW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90" + - "IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9u" + - "b3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0" + - "cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRl" + - "IHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQg" + - "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBG" + - "bG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoK" + - "LSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZv" + - "ciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQg" + - "c2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwg" + - "c2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1" + - "ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + - "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + - "bXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRl" + - "d2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVz" + - "IHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxl" + - "cyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUg" + - "ZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApg" + - "PGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFp" + - "bj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0" + - "aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3Jr" + - "ZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9t" + - "YWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVz" + - "cz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFp" + - "bj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxn" + - "YXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6" + - "CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdh" + - "eXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1n" + - "YXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95" + - "LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAg" + - "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICBy" + - "b3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQog" + - "ICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAg" + - "ICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBu" + - "YXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlz" + - "c3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + - "CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAi" + - "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + - "cmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlk" + - "ZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3" + - "YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXkt" + - "ZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWlu" + - "c3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2gg" + - "YSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBw" + - "YXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2Vy" + - "dmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5" + - "c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0" + - "aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+Igpg" + - "YGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2No" + - "ZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBg" + - "LS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3" + - "YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxh" + - "Zy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBj" + - "b21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBc" + - "CiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19V" + - "Ukw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUt" + - "cGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZD" + - "Rl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + - "LW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0" + - "ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMg" + - "aXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRp" + - "LWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90" + - "aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0" + - "IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkg" + - "dGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVk" + - "IGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNv" + - "bnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRl" + - "LXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250" + - "cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBg" + - "YAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUg" + - "Y29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + - "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAog" + - "IC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9j" + - "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + - "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVl" + - "cyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0" + - "ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4" + - "dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3" + - "aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNy" + - "ZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMg" + - "b24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + - "cgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + - "YG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVs" + - "bFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5k" + - "IG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZj" + - "YS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxh" + - "bmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNy" + - "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxp" + - "Y2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1u" + - "IGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNh" + - "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7" + - "LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4g" + - "bnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVy" + - "eSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBj" + - "YW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVm" + - "b3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkg" + - "ZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + - "bSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9y" + - "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + - "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxl" + - "ZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + - "CmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVz" + - "cGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0" + - "dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoK" + - "Rm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZh" + - "bHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxj" + - "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBj" + - "bHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0" + - "aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBg" + - "YAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJl" + - "Zm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lz" + - "dHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRy" + - "b2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4g" + - "XAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + - "CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJl" + - "ZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVh" + - "bnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtl" + - "ZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRv" + - "d25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRp" + - "b24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNo" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAog" + - "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlk" + - "IDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5h" + - "bWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0" + - "IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29u" + - "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0" + - "IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJv" + - "bCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZv" + - "cmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJl" + + "bnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBp" + + "dHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBj" + + "b21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1j" + + "b25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVu" + + "diwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lz" + + "dHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxl" + + "IGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2" + + "YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAg" + + "IlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAg" + + "IlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAt" + + "LWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAog" + + "ICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAg" + + "ICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4" + + "dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0" + + "ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxt" + + "ZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92" + + "ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBw" + + "b2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZH" + + "aS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUg" + + "d2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVh" + + "c2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5k" + + "IHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1l" + + "cmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRo" + + "ZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1l" + + "bW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290" + + "bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBv" + + "dmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBt" + + "ZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2" + + "YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFu" + + "Z2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBz" + + "eW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVu" + + "Y2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVz" + + "IC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBs" + + "b3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9k" + + "cyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + + "ICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRv" + + "IGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9k" + + "cyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVt" + + "LCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3Ig" + + "cmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24i" + + "OiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRo" + + "b3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5n" + + "IHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJv" + + "b3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNo" + + "ZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3Vu" + + "dC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50" + + "aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJl" + + "Y3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJl" + + "IHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdl" + + "bnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVz" + + "cGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBw" + + "b2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlm" + + "aWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAg" + + "InF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJl" + + "YWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNs" + + "dWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2Ug" + + "dGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQg" + + "R2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3Rl" + + "IHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFi" + + "bGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVu" + + "QmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkg" + + "VVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRl" + + "LXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJy" + + "aWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFt" + + "ZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9y" + + "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0" + + "IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5" + + "QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAi" + + "VGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0" + + "byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAi" + + "VGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNm" + + "R3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RH" + + "cnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1s" + + "b2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5n" + + "cmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRo" + + "IHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRv" + + "IHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + + "Y292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUg" + + "YmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxl" + + "c3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUg" + + "aWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZp" + + "Y2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNI" + + "b3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNw" + + "YWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5l" + + "IHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5" + + "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24g" + + "bXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVs" + + "eS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRz" + + "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBj" + + "b25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBk" + + "ZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5l" + + "IGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRo" + + "ZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFj" + + "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWly" + + "ZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBp" + + "bnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJl" + + "bGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFi" + + "b3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQg" + + "dGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5h" + + "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxv" + + "dyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1" + + "bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBz" + + "dGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFu" + + "ZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBn" + + "b3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVn" + + "aXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUg" + + "ZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBh" + + "ZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5" + + "IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5l" + + "IE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAg" + + "ICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRl" + + "bGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1" + + "Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNv" + + "bnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHBy" + + "ZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBl" + + "ZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3Rh" + + "bGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sg" + + "b3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + + "IGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0" + + "LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhv" + + "dXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAg" + + "ICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdp" + + "dGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBm" + + "bG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRp" + + "bCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBm" + + "bG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSBy" + + "ZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5v" + + "dCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5l" + + "IHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQg" + + "Y2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBm" + + "bG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3Ro" + + "IGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBk" + + "b3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2gg" + + "Y29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIg" + + "bm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZh" + + "bHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkg" + + "ZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8g" + + "aGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVu" + + "diBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVu" + + "dGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + + "aWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1" + + "c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhw" + + "bGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1M" + + "IC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAg" + + "ICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNz" + + "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwu" + + "c3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + + "YWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNl" + + "IGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVz" + + "IG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + + "IHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVk" + + "IHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQs" + + "IHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1" + + "cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5h" + + "YmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkg" + + "YW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVy" + + "IHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlz" + + "IHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNp" + + "bmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFp" + + "bnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVs" + + "dCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBp" + + "bmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNl" + + "Y3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRo" + + "YXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCBy" + + "ZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1" + + "cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5k" + + "IHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRl" + + "Y2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBh" + + "ZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50" + + "IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50" + + "IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28g" + + "YW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1" + + "aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0" + + "aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8g" + + "cGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZv" + + "ciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWlu" + + "dGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFw" + + "cGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0" + + "aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNy" + + "ZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBh" + + "Z2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExM" + + "TSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMt" + + "aW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGsz" + + "ZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90" + + "cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2Qg" + + "ZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQt" + + "bG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUg" + + "YWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBz" + + "a2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0" + + "aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVs" + + "b3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYg" + + "c2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVU" + + "BQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1l" + + "bnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2Vz" + + "CgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJn" + + "ZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5k" + + "cmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVz" + + "b3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENh" + + "cHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3Jl" + + "cCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoK" + + "IyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + + "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + + "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + + "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + + "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + + "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + + "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + + "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + + "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + + "MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + + "L3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNz" + + "LWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJl" + + "c291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhl" + + "IE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBp" + + "bnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lz" + + "dHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFn" + + "ZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJl" + + "Z2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUg" + + "ZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmds" + + "b2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAg" + + "cmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAg" + + "ICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBs" + + "b2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBu" + + "dmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBs" + + "b2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMg" + + "U3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9y" + + "dCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + + "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + + "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + + "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + + "YGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNl" + + "cwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2gg" + + "cmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + + "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + + "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + + "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoK" + + "ICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAK" + + "ClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + + "Lm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFu" + + "ZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUK" + + "c2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + + "cnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2Vj" + + "cmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgoj" + + "IyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2" + + "ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJh" + + "byBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoK" + + "CmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4g" + + "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRu" + + "cyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIp" + + "OyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2gg" + + "c2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNy" + + "ZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVt" + + "IC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScu" + + "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + + "IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwg" + + "VGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5" + + "b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1w" + + "bGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4K" + + "YGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBj" + + "b21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0" + + "ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFu" + + "ZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + + "dGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFu" + + "ZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNo" + + "CjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rl" + + "ci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8" + + "bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZv" + + "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9s" + + "LXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRl" + + "ZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0g" + + "cmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1h" + + "bmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUg" + + "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlz" + + "IHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3Rp" + + "dmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVs" + + "bSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZp" + + "ZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNw" + + "YWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndp" + + "c2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1r" + + "dWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBc" + + "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUt" + + "a3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRy" + + "b2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBT" + + "dGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdy" + + "b3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xl" + + "c3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0" + + "ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlv" + + "bl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUg" + + "aGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292" + + "ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNp" + + "b25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBh" + + "IG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNo" + + "CkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNv" + + "bnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9B" + + "RERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxk" + + "cwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZp" + + "ZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUg" + + "aG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21h" + + "aW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRo" + + "b3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBH" + + "QVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxp" + + "dCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJl" + + "cGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZj" + + "Zk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJM" + + "cywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlk" + + "ZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91" + + "Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZl" + + "cmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3Vy" + + "bCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNm" + + "LWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50" + + "L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21w" + + "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBh" + + "dGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0t" + + "CgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0" + + "aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gK" + + "IyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBD" + + "aGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBw" + + "b2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0K" + + "CiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciBy" + + "ZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18" + + "CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJh" + + "by1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFw" + + "aSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2Vydmlj" + + "ZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5" + + "IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGlu" + + "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52" + + "YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFj" + + "ayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVp" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVz" + + "dCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + + "ZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVu" + + "IGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1" + + "c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + + "YXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBu" + + "YW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdl" + + "IGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8" + + "CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8" + + "IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90" + + "ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFi" + + "ZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4K" + + "UEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUg" + + "Y29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0" + + "YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVh" + + "Y2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBm" + + "b3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJv" + + "ZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYK" + + "CnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlv" + + "biBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29u" + + "dHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdl" + + "bmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3Ig" + + "dGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUg" + + "ZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMg" + + "YmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0" + + "b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxl" + + "cy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxt" + + "ZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGlu" + + "c3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXks" + + "IHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJl" + + "Z2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwg" + + "YW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8t" + + "RW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1l" + + "bmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0" + + "aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0" + + "dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5" + + "YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25t" + + "ZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJy" + + "aWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8" + + "Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5z" + + "IHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRv" + + "bWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBp" + + "LjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2Vy" + + "LWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxn" + + "YXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48" + + "Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10" + + "YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8v" + + "aW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2Vydmlj" + + "ZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoK" + + "ICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVz" + + "cGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFt" + + "ZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0" + + "ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFt" + + "ZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAg" + + "ICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdh" + + "eS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxl" + + "ZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21h" + + "aW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3Jh" + + "dGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5" + + "YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21z" + + "U2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VI" + + "b3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2" + + "aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0" + + "SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAi" + + "bmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJu" + + "YXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJv" + + "bCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3Rl" + + "cmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhl" + + "IENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0" + + "dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEi" + + "CmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3Vy" + + "bDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9t" + + "YWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9o" + + "b3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3" + + "YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRo" + + "b3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlv" + + "biBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBs" + + "aWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1h" + + "a2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4g" + + "aW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNs" + + "dXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lv" + + "bj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNm" + + "LWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJf" + + "TkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + + "X0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292" + + "ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4" + + "dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJl" + + "cXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIg" + + "ZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4" + + "dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1" + + "biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJv" + + "ZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZj" + + "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + + "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBp" + + "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUt" + + "Y2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + + "Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBj" + + "b21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + + "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFt" + + "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + + "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + + "bCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21w" + + "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2Zp" + + "bGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBj" + + "b21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmls" + + "ZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4K" + + "CiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVz" + + "ZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + + "bSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNl" + + "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGds" + + "b2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4g" + + "VGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + + "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRo" + + "ZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApz" + + "ZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoK" + + "VXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1n" + + "YXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRl" + + "cGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tl" + + "bmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZv" + + "cj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0K" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVs" + + "bC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRl" + + "cmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJv" + + "dGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMg" + + "cHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAg" + + "bmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJl" + + "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMg" + + "ZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZl" + + "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZv" + + "ciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNl" + + "IG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9u" + + "bHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3Zl" + + "bmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90" + + "IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJl" + + "Z2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFz" + + "aAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENM" + + "VVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + + "Q09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25m" + + "aWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1m" + + "cm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25v" + + "cmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNv" + + "bmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJv" + + "eSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0" + + "cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5l" + + "LWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95" + + "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFu" + + "ZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxF" + + "YCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBu" + + "YW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJv" + + "ZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNs" + + "dXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRl" + + "cyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxp" + + "dmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJl" + "Zml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + - "CiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + - "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + - "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93" + - "bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1" + - "dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29u" + - "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBL" + - "BwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMg" + - "RGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNv" + - "bW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBD" + - "b21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3Rs" + - "IGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJl" + - "Y3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlz" + - "dCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJl" + - "cykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1l" + - "c3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlv" + - "bnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRl" + - "eHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBB" + - "R0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1" + - "bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5p" + - "by8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + - "YGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBp" + - "ZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQg" + - "bnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + - "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNl" + - "cnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1l" + - "PiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgoj" + - "IyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2Vy" + - "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBi" + - "dXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxs" + - "U2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0" + - "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdl" + - "UHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rh" + - "cnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUg" + - "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlh" + - "bHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0" + - "bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3" + - "aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVj" + - "ayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5p" + - "dDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAg" + - "UkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2" + - "bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + - "ClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0" + - "aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2Ig" + - "cmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9k" + - "IGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9w" + - "ZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVj" + - "dGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBg" + - "CgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWly" + - "IGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4g" + - "KipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBg" + - "aGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5i" + - "YW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2Ug" + - "dmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAg" + - "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoq" + - "T3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwg" + - "c3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + - "YW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQt" + - "YWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtl" + - "eSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1v" + - "biBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMg" + - "YSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0" + - "aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtl" + - "eQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBs" + - "aXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2Vy" + - "dmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2Vydmlj" + - "ZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUg" + - "cG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0" + - "aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + - "ZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2Nv" + - "dmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3Vu" + - "dGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUg" + - "bWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBi" + - "YXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "KSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBp" + - "c3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVs" + - "ZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + - "bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZl" + - "ZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZp" + - "Z3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4v" + - "b3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJl" + - "YWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVy" + - "IE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBu" + - "ZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0" + - "Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtp" + - "bGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJF" + - "QURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01L" + - "aWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAi" + - "TGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZp" + - "YSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFt" + - "cGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1p" + - "dHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0" + - "czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJl" + - "c291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFw" + - "cGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0" + - "dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZ" + - "ICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5n" + - "ICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZl" + - "bnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1l" + - "c3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + - "dmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMg" + - "LSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0g" + - "InBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5v" + - "ZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25t" + - "ZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8" + - "IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sg" + - "c3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNs" + - "YXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2Fw" + - "YWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwg" + - "Z3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBS" + - "ZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAt" + - "QQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhl" + - "bG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAo" + - "bWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5" + - "IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95" + - "IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBk" + - "ZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVz" + - "cGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBS" + - "ZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50" + - "IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQg" + - "ZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFp" + - "bHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1" + - "cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMg" + - "YWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFw" + - "cC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24g" + - "Q2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBg" + - "c2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlg" + - "IGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZl" + - "cmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcn" + - "IHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgK" + - "ICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUg" + - "cmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlh" + - "bHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292" + - "ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + - "cyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "LS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + - "YWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwg" + - "c2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVw" + - "IFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAg" + - "aGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0" + - "bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNr" + - "ZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdh" + - "aW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUK" + - "dGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBj" + - "dXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJh" + - "c2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1v" + - "dmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4" + - "dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpx" + - "ICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScg" + - "LXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBu" + - "YW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJh" + - "Y2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wi" + - "ZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxl" + - "dGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBp" + - "biBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENP" + - "TVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwg" + - "XAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4" + - "dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVz" + - "cGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJl" + - "OiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVy" + - "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBs" + - "b3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3lt" + - "ZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMj" + - "IyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxs" + - "YXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZs" + - "b3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9u" + - "IHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0" + - "aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwg" + - "aW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAg" + - "LW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRh" + - "aWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNm" + - "YmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVy" + - "ZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3Jg" + - "LiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBu" + - "b3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRz" + - "Lm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTog" + - "R2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2gg" + - "dGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRz" + - "IGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5k" + - "cG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3" + - "YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1sw" + - "XS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + - "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + - "YWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBs" + - "b3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2Vydmlj" + - "ZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + - "dG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBk" + - "aXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBv" + - "bmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlv" + - "biBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2Vl" + - "CltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRl" + - "d2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFw" + - "cGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFt" + - "ZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0t" + - "fAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8" + - "CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRp" + - "b24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVz" + - "dC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4t" + - "aXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdh" + - "dGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52" + - "b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1m" + - "aWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1j" + - "b3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAt" + - "LSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0" + - "aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAg" + - "ICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFt" + - "ZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNy" + - "ZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFs" + - "dWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + - "cwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1k" + - "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBv" + - "bmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRv" + - "ciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + - "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + - "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + - "bm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdv" + - "IHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3Rh" + - "Y2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUg" + - "SGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUg" + - "Q0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1w" + - "bGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRv" + - "ZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgoj" + - "IyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVz" + - "cGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18Cnwg" + - "bmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5i" + - "YW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2Vj" + - "cmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZj" + - "Zi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBl" + - "bmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + - "YXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + - "LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2Vy" + - "dmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwg" + - "aGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwg" + - "aGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1w" + - "cm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBp" + - "IHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2Ug" + - "fCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwg" + - "aGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZj" + - "Zi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + - "YXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXBy" + - "b3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBu" + - "dmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1v" + - "c3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVs" + - "ZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFu" + - "ZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJl" + - "IGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQg" + - "YGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2Vy" + - "dmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + - "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJp" + - "bGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0" + - "eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9u" + - "bWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UK" + - "CiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8g" + - "dGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5" + - "b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRo" + - "ZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRl" + - "IGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12" + - "YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmls" + - "ZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBk" + - "ZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxl" + - "YXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + - "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + - "LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgot" + - "IG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + - "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + - "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUK" + - "ICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + - "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0" + - "YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1m" + - "aWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkK" + - "ICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBs" + - "YXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCBy" + - "ZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + - "IGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBW" + - "YWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBl" + - "bnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZp" + - "cm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQg" + - "b3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3Np" + - "bmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFs" + - "dWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2" + - "YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "cmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lm" + - "aWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBh" + - "c3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRy" + - "YQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdp" + - "c3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fz" + - "c2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBg" + - "Z2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVs" + - "dFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + - "YXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAK" + - "LSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAK" + - "LSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQp" + - "CgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJh" + - "by5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFv" + - "LnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUg" + - "c2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0g" + - "YDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5u" + - "b2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmls" + - "aXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExM" + - "TSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0" + - "aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBh" + - "bmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAg" + - "cm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVz" + - "IHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBp" + - "cyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFi" + - "bGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQg" + - "dGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFw" + - "cGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAg" + - "ICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RS" + - "b3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZp" + - "Y2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdl" + - "Q29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5h" + - "bWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJl" + - "OiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmds" + - "ZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2" + - "ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + - "CmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWlu" + - "dGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBv" + - "bmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNw" + - "b3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0" + - "aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRp" + - "b24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBw" + - "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0" + - "aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2Fk" + - "LWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBt" + - "ZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBz" + - "Oi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxt" + - "LXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2Fy" + - "IGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdp" + - "c3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1h" + - "Z2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0Rh" + - "dGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNs" + - "aWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhl" + - "IGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBw" + - "YXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0" + - "aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90" + - "ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVy" + - "IGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJl" + - "ZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRv" + - "ZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZp" + - "Zy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1w" + - "bGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxl" + - "dGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJv" + - "ZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUg" + - "aW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVu" + - "Y3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpj" + - "YXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJl" + - "ZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1h" + - "Z2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBu" + - "ZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5k" + - "CndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0t" + - "YXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5" + - "fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0K" + - "a3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNv" + - "bnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5h" + - "cmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJz" + - "LCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoK" + - "Rm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUK" + - "W1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + - "bnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxh" + - "bmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNw" + - "ZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVh" + - "c2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRt" + - "aW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkg" + - "KGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90" + - "ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNl" + - "IGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRv" + - "bgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFu" + - "ZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0" + - "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8g" + - "ZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVs" + - "IFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4g" + - "SWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBg" + - "bnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNr" + - "YWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBp" + - "biBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNm" + - "VWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2Ug" + - "cHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNy" + - "ZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lz" + - "dHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpr" + - "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11" + - "aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoK" + - "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNr" + - "ZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQg" + - "cm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVp" + - "YCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNm" + - "LXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRo" + - "ZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91" + - "dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWlu" + - "PiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRo" + - "ZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5v" + - "dCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEg" + - "dHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250" + - "IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5j" + - "ZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSBy" + - "ZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBp" + - "bWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUt" + - "cGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29u" + - "dGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVu" + - "ZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2Vj" + - "cmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0" + - "ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0" + - "b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2gg" + - "KFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8g" + - "YWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8g" + - "dXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0t" + - "Y3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNo" + - "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + - "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + - "IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXIt" + - "dXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + - "S0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2" + - "ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAz" + - "LiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJu" + - "by5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWlt" + - "YWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBu" + - "YW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAg" + - "ICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAg" + - "ICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAg" + - "ICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJl" + - "c3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEt" + - "c3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQt" + - "bWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAg" + - "ICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZj" + - "Zi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAg" + - "ICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1l" + - "OiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + - "bWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0" + - "aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNv" + - "bnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGlu" + - "amVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENv" + - "bXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJh" + - "dG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAog" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + - "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNl" + - "PW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJl" + - "bmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmds" + - "b2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhl" + - "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3Jg" + - "IGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEg" + - "YnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZv" + - "ciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMg" + - "Q2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + - "fScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVy" + - "bm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFk" + - "YXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3Rl" + - "ZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNl" + - "PiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQg" + - "c2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVj" + - "ayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRz" + - "IFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVl" + - "ZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2" + - "ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJu" + - "ZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJs" + - "aWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWlu" + - "IGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3" + - "aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNo" + - "b290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5n" + - "IHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiph" + - "ZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dl" + - "ciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+" + - "IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNz" + - "aW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3Vs" + - "ZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZj" + - "Zi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMj" + - "IFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBW" + - "ZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1u" + - "IDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAJO96PhKEAAA" + - "ShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQD/dvNnU2EAAFNhAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBDz+/lHQ8AAB0PAAAzAAkA" + - "AAAAAAAAAAAAAEByAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBl" + - "bGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAA" + - "AADHgQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAI+OAABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAApwAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABG2AABkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAl9sAAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAQnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAADJ6gAAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAADsTAQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAABzGwEAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQByDQ9kISMAACEjAAAwAAkAAAAAAAAAAAAAALw9AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA5C3JXvkLAAD5" + - "CwAAMgAJAAAAAAAAAAAAAABEYQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + - "L2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAufhgbsk5AADJOQAALQAJAAAA" + - "AAAAAAAAAACmbQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAA06cBAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAC1uQEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAABhHAIAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQAC" + - "Uk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAABZzAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABM" + - "AAkAAAAAAAAAAAAAAPubAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAkMwCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAt/0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAPCgDAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAGswAwBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQAB" + - "AKbOElBLBQYAAAAAFwAXAK8JAADgRgMAAAA=" + "CiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1w" + + "bGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVy" + + "eSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90" + + "IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdl" + + "dCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJv" + + "eXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGgg" + + "cmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRo" + + "IHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + + "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJs" + + "ZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21w" + + "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAt" + + "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + + "ICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11" + + "cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5h" + + "bWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBg" + + "CgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJv" + + "eXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJl" + + "bW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlv" + + "bnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + + "bWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3Npbmcg" + + "YW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBR" + + "dWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVz" + + "cGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBu" + + "YW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxl" + + "YXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdu" + + "b3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQt" + + "Ynk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZl" + + "bnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5" + + "bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAg" + + "IFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAg" + + "IDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwg" + + "aW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRz" + + "OiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0" + + "bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBv" + + "ZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + + "PiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENo" + + "ZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdl" + + "dCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2Vj" + + "cmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoq" + + "OiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + + "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAg" + + "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNl" + + "Y3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVl" + + "ZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2Vl" + + "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qg" + + "c3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwg" + + "ZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3Rh" + + "cnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldy" + + "b25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBi" + + "YXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAg" + + "ICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTog" + + "SW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMg" + + "c3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAg" + + "ICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03" + + "ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgoj" + + "IyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQg" + + "aW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBv" + + "ZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBt" + + "aWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVj" + + "ayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + + "ZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0" + + "dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1h" + + "Z2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoq" + + "OiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1" + + "ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBo" + + "YXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQg" + + "cmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxl" + + "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1" + + "bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMK" + + "ICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjog" + + "Q2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0" + + "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAK" + + "CjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4u" + + "LiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJl" + + "YCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1" + + "ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBg" + + "YXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3Vu" + + "dGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0" + + "aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0" + + "ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQu" + + "IEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0" + + "IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAg" + + "YmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRp" + + "c2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURD" + + "IGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3Vl" + + "ciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNj" + + "b3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVu" + + "IGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6" + + "CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQog" + + "ICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3Jh" + + "dGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + + "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4g" + + "c2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3du" + + "L29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNl" + + "dCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVu" + + "dGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0" + + "aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZh" + + "dWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJh" + + "Y2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBG" + + "YWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + + "RSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAg" + + "IDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0w" + + "IHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJh" + + "IHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxl" + + "cy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNl" + + "czoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + + "ICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + + "YGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBj" + + "YXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFp" + + "bHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAg" + + "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAv" + + "MSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJl" + + "IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8x" + + "MiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2Rl" + + "IGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50" + + "IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBG" + + "aXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3Jz" + + "YCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0t" + + "c2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZv" + + "dW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwg" + + "Z2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBD" + + "aGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8" + + "bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZh" + + "aWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFz" + + "aApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpS" + + "ZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2Vz" + + "IGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNo" + + "CmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgK" + + "Ck11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFw" + + "cGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3Rs" + + "IGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxu" + + "YW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFp" + + "bHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNl" + + "cyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290" + + "c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0" + + "cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2Ig" + + "YXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGkt" + + "YWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3Mg" + + "LW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBg" + + "CgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3Jl" + + "ZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0" + + "b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBg" + + "YGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9C" + + "QVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2Vu" + + "Om52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2Fu" + + "J3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdp" + + "c3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmls" + + "ZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6" + + "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "bnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJl" + + "LWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6" + + "IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1w" + + "bGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEw" + + "bQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4g" + + "dGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBj" + + "b21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + + "TlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVz" + + "cGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8g" + + "anNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1l" + + "dGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9" + + "IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQi" + + "IHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJt" + + "ZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30K" + + "CiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxp" + + "emVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAt" + + "LWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAy" + + "Pi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3Vi" + + "ZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAi" + + "L2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBg" + + "YAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5" + + "bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1v" + + "cGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90" + + "IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3Bl" + + "cmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhl" + + "ciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpD" + + "TEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5k" + + "IGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUg" + + "aGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2Rz" + + "IHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Et" + + "b3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Et" + + "b3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJl" + + "Z2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBu" + + "dmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Et" + + "c3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUK" + + "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4K" + + "CiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1" + + "ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBH" + + "YXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBv" + + "cnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9" + + "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBc" + + "CiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1" + + "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9y" + + "dCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdB" + + "VEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5" + + "IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2Vydmlj" + + "ZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFp" + + "bmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRl" + + "IEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1l" + + "bnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVz" + + "aCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVk" + + "IGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zl" + + "ci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10" + + "by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVu" + + "IGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0t" + + "LS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0g" + + "fCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwg" + + "YXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZh" + + "bCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBp" + + "LWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lz" + + "IHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJv" + + "bGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsH" + + "CLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQF" + + "AAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0" + + "CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwt" + + "LSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFv" + + "CnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBp" + + "bmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxp" + + "dHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAg" + + "ICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAg" + + "IGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJy" + + "aWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMg" + + "U2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55" + + "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + + "ci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQv" + + "CnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVw" + + "ZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAj" + + "IG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1l" + + "bnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVl" + + "cyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAg" + + "ICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpg" + + "YGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBj" + + "b250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVu" + + "dCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJh" + + "dGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3Qg" + + "bWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVp" + + "ciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwg" + + "Q2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0t" + + "LXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2Fn" + + "aW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0" + + "LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5k" + + "cmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwK" + + "ClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFz" + + "ZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8" + + "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + + "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBh" + + "cGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2Vydmlj" + + "ZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRp" + + "b24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2Vydmlj" + + "ZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNl" + + "cyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5v" + + "dGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0" + + "LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRv" + + "a2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwK" + + "fCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwg" + + "aW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2Vydmlj" + + "ZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0" + + "b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxv" + + "Y2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vl" + + "ci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4K" + + "CiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5h" + + "bWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18" + + "CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8" + + "IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBp" + + "biB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRl" + + "IEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGlu" + + "IGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJv" + + "cGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNl" + + "cyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoq" + + "cmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11" + + "c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93" + + "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + + "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0" + + "ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0t" + + "bnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + + "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWlu" + + "Y2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + + "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1" + + "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVz" + + "dCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVz" + + "b3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAK" + + "CiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5n" + + "b3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1s" + + "Ci0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0" + + "OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBh" + + "biBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1w" + + "bGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJl" + + "cGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJp" + + "b3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFj" + + "cm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVy" + + "LWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1w" + + "bGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4g" + + "YDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVz" + + "CjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2Vk" + + "ZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50" + + "ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVl" + + "cy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoK" + + "CiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5p" + + "bWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmlt" + + "YWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNl" + + "bGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEu" + + "Z2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIu" + + "aW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFp" + + "bmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3Jh" + + "Z2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3Jg" + + "IChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4q" + + "YCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2Uu" + + "KmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3Jh" + + "Z2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBT" + + "SVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + + "IGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4q" + + "YCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoK" + + "RW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9u" + + "cyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1" + + "ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRp" + + "b24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBh" + + "bmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmls" + + "ZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29s" + + "ZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3Qg" + + "Y2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAg" + + "ICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAg" + + "bWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNl" + + "CiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoK" + + "ICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENv" + + "bmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGlj" + + "eToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0" + + "ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBs" + + "b2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBj" + + "dXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYt" + + "bWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9u" + + "IGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2Vj" + + "dXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8t" + + "cm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNs" + + "dXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRM" + + "UyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0" + + "aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVz" + + "ZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29g" + + "IHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90" + + "aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFs" + + "YW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mvc2Vs" + + "Zi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJ" + + "ZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1" + + "bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtl" + + "ciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25maWc6" + + "CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNpZGVjYXJzOgogICAgICAgICAg" + + "bGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9uOjAu" + + "MTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVSX0NM" + + "SUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBpdCBm" + + "b3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11c3Qg" + + "dXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJlbmRl" + + "cmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZpcm9u" + + "bWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2luZyB0" + + "aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNlaXZl" + + "cyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBgCgpV" + + "c2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJpdmVu" + + "OyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoKRXhp" + + "c3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIgaW1h" + + "Z2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBsYWNp" + + "bmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5IGEg" + + "bmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0ZSBh" + + "bmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBwbGFu" + + "ZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95" + + "IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52Y2Yg" + + "bGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xs" + + "bS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + + "QSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBv" + + "ZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09Imxs" + + "bS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWlu" + + "dGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1xdWlj" + + "LWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2" + + "aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dpdGh1" + + "Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9k" + + "b2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxlY3Rv" + + "cnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkgcmVs" + + "ZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkgc3lu" + + "YwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoKIyBU" + + "ZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVz" + + "dHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1ncm91" + + "cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgT" + + "EeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIj" + + "IE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBO" + + "VkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFi" + + "bGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24u" + + "CgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVkIHRo" + + "ZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRl" + + "cyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAg" + + "cmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5" + + "b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFkZG9u" + + "CgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAph" + + "ZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3Bh" + + "Y2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFuIGlt" + + "YWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToK" + + "CmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNsaWVu" + + "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEg" + + "cHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0i" + + "PHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + + "ZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + + "YXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFt" + + "ZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5g" + + "IGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhl" + + "IHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVz" + + "IHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5k" + + "IHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBWZXJp" + + "ZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBl" + + "bmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0" + + "bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52" + + "Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMj" + + "IFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRoZW50" + + "aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0" + + "IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGluZwpw" + + "cm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwgU2Vj" + + "cmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJv" + + "bSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJu" + + "ZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBsYW5l" + + "IGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWlyIG93" + + "biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4K" + + "ClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0byBp" + + "bmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24gdGlt" + + "ZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBLeXZl" + + "cm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBgYGJh" + + "c2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJu" + + "by8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8g" + + "LW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwgc2Vj" + + "cmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZv" + + "ciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNp" + + "cyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVu" + + "PWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + + "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRv" + + "Y2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dv" + + "cmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVu" + + "PWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFjZSBg" + + "LS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1wYXNz" + + "d29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFwaVZl" + + "cnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBuYW1l" + + "OiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UKICBy" + + "dWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAgICAg" + + "bWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBraW5k" + + "czoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICAg" + + "LSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIKICAg" + + "ICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAgICAg" + + "LSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAgICAg" + + "ICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0ZWdp" + + "Y01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgogICAg" + + "ICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5" + + "dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAg" + + "ICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxsc2Vj" + + "cmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNv" + + "bnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGluCltT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRl" + + "ZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBsYW5l" + + "IHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25seSBp" + + "biBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNh" + + "LW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + + "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + + "LQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxl" + + "OgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZjci1j" + + "cmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGluIGBu" + + "dmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8g" + + "bm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxv" + + "dwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlv" + + "bgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGluamVj" + + "dGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + + "Z2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgojIENo" + + "ZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + + "cGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1bGxz" + + "ZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwgZXZl" + + "bnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMg" + + "LW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBw" + + "dWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9y" + + "aXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0ZSBj" + + "bHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNy" + + "ZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0" + + "cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5" + + "b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBw" + + "b2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBzZWNy" + + "ZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAq" + + "KkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5" + + "LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4K" + + "CiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09mZiBh" + + "ZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMgcG9k" + + "cyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVjayBw" + + "b2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + + "cmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBL" + + "eXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8KIyBB" + + "bGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5nCgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBjbHVz" + + "dGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFEWTog" + + "VHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2VzIGBu" + + "dmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBuYW1l" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNyZXQg" + + "bnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQACAAA" + + "AAAAIQCF+sADShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25VVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEA/3bzZ1NhAABTYQAAIwAJAAAAAAAAAAAAAACTEAAAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQ8/v" + + "5R0PAAAdDwAAMwAJAAAAAAAAAAAAAABAcgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "bXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKEU44FdDAAAXQwA" + + "ADQACQAAAAAAAAAAAAAAx4EAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211" + + "bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQidJDwUNAAAFDQAANwAJAAAA" + + "AAAAAAAAAACPjgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0" + + "ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAAAAAA" + + "AAAAAAKcAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVu" + + "LXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAAAAAA" + + "AAARtgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWludm9r" + + "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAAAJfb" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0" + + "YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEJx5h4BKAAAASgAADoACQAAAAAAAAAAAAAA" + + "yeoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0" + + "Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADIBwAAOQAJAAAAAAAAAAAAAAA7" + + "EwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAAcxsB" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAcg0PZCEjAAAhIwAAMAAJAAAAAAAAAAAAAAC8PQEAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAOQtyV75CwAA+QsAADIACQAAAAAAAAAAAAAARGEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAC6pru+H" + + "RgAAh0YAAC0ACQAAAAAAAAAAAAAApm0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "ZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDzrhOEdBEAAHQRAAA3AAkAAAAA" + + "AAAAAAAAAJG0AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNo" + + "b290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAAAAAA" + + "AAAAc8YBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAAAAAAAAAAHykCAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAADUfwIAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "lmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAAC5qAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAAAAAAAE7ZAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAAAAAAAHUKAwBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAAPo0AwBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRk" + + "b24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAAAAAp" + + "PQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAnlMDAAAA" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index d6e06c8fae..3f4af751ff 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -19,6 +19,7 @@ go_library( name = "selfhosted", srcs = [ "clustervalidator.go", + "dockercreds.go", "helm_runtime.go", "inotify_probe.go", "orchestrator_errors.go", @@ -100,5 +101,6 @@ go_test( "@io_k8s_client_go//kubernetes/typed/core/v1:core", "@io_k8s_client_go//rest", "@io_k8s_client_go//testing", + "@io_k8s_sigs_yaml//:yaml", ], ) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 276f62eb3c..c8e22c6f69 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -142,8 +142,8 @@ type ClusterValidatorParams struct { // VALIDATOR_ROLE. See clustervalidator.RoleControlPlane / RoleComputePlane. Role string // Registries are probed for reachability by the control-plane validator: - // the same list, with the same criticality, the local credential check - // uses. Ignored for the compute-plane role. + // the hosts the local credential check probes, each as a warning only. + // Ignored for the compute-plane role. Registries []RegistryEntry // Env is passed to the validator container: namespace overrides, the // probe image, and whether the control plane is expected to be installed. @@ -187,6 +187,9 @@ type ClusterValidatorResult struct { // Suspended reports that a kept Job whose pod could not pull was // suspended, so the pod was deleted and has no logs to read. Suspended bool + // Notes say what the run did that the operator should know about, such + // as copying a pull credential into the validator namespace. + Notes []string } type ClusterValidator func(ctx context.Context, params ClusterValidatorParams) ClusterValidatorResult @@ -257,12 +260,18 @@ func runValidatorJob(ctx context.Context, client kubernetes.Interface, p Cluster // reach anything this run is about to create. sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) - // Resolver errors are non-fatal: fall through to the caller's value and - // let waitForClusterValidatorJob surface ImagePullBackOff if needed. - if resolved, err := resolveValidatorPullSecret(ctx, client, pullSecret, image, role, runID, noCleanup); err == nil { + // A resolver error does not stop the run: the image may be public. It is + // kept, so a pull that then fails names the step that failed rather than + // only the registry's "unauthorized". + resolved, pullSecretNote, pullSecretErr := resolveValidatorPullSecret( + ctx, client, pullSecret, image, role, runID, noCleanup) + if pullSecretErr == nil { pullSecret = resolved } mintedSecret := pullSecret != "" && pullSecret == validatorPullSecretRunName(role, runID) + if pullSecretNote != "" { + defer func() { res.Notes = append(res.Notes, pullSecretNote) }() + } // sweep runs one deferred sweep on a fresh, bounded context, and only once // no pod of this run can still need what it removes. --no-cleanup keeps @@ -383,6 +392,9 @@ func runValidatorJob(ctx context.Context, client kubernetes.Interface, p Cluster abandoned := waitErr != nil && ctx.Err() != nil var pullErr *validatorImagePullError isPullErr := errors.As(waitErr, &pullErr) + if isPullErr && pullSecretErr != nil { + waitErr = fmt.Errorf("%w; the run's pull secret was not created: %w", waitErr, pullSecretErr) + } ownTimeout := waitErr != nil && !abandoned && !isPullErr && errors.Is(waitErr, context.DeadlineExceeded) if ownTimeout { // The validator's own timeout, not the check's budget: its result is @@ -1260,11 +1272,14 @@ func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interfa // registries the section is omitted. func buildControlPlaneValidatorConfig(registries []RegistryEntry) string { var b strings.Builder + listed := map[string]bool{} for _, reg := range registries { host, port := parseRegistryHostPort(reg.Registry) - if host == "" { + // A registry probed for two repository scopes is one endpoint. + if host == "" || listed[reg.Registry] { continue } + listed[reg.Registry] = true if b.Len() == 0 { b.WriteString("reachability:\n endpoints:\n") } @@ -1281,8 +1296,9 @@ func buildControlPlaneValidatorConfig(registries []RegistryEntry) string { // parseRegistryHostPort splits a "host:port" string using net.SplitHostPort, // which correctly handles IPv6 literals ([::1]:5000) and bare hostnames. -// Returns port 443 when no port is specified, the port is non-numeric, or -// the input has a trailing colon with no digit (e.g. "nvcr.io:"). +// Returns port 443 when no port is specified. Returns an empty host for +// anything that is not a bare host[:port], including a port that is not a +// number from 1 to 65535 and a trailing colon with no port ("nvcr.io:"). func parseRegistryHostPort(s string) (host string, port int) { s = strings.TrimSpace(s) // Reject anything that is not a bare host[:port]. Callers interpolate the diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index e83dd5067c..abfa1a259f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -1948,3 +1948,45 @@ func TestRunClusterValidator_EarlyOutageThenLatePass(t *testing.T) { assert.True(t, res.Passed) assert.False(t, res.LeftBehind) } + +// A pull Secret the run could not create is named when the pull then fails, +// rather than leaving only the registry's "unauthorized" to blame the key. +func TestRunClusterValidator_PullFailureNamesTheRefusedPullSecret(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "ImagePullBackOff") + client.PrependReactor("create", "secrets", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewForbidden(corev1.Resource("secrets"), "x", errors.New("denied by policy")) + }) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, nil, nil) + require.Error(t, res.Err) + assert.Contains(t, res.Err.Error(), "cannot pull image") + assert.Contains(t, res.Err.Error(), "the run's pull secret was not created") + assert.Contains(t, res.Err.Error(), "denied by policy") +} + +// A credential copied into the validator namespace is reported on the +// validator's row, with where it came from. +func TestClusterValidatorCheck_ReportsACopiedPullCredential(t *testing.T) { + client := lifecycleClient(succeeded, "") + cfg, err := buildDockerConfigJSON("nvcr.io", "$oauthtoken", "k") + require.NoError(t, err) + _, err = client.CoreV1().Secrets("vault-system").Create(context.Background(), &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{Name: "regcred", Namespace: "vault-system"}, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + }, metav1.CreateOptions{}) + require.NoError(t, err) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.Len(t, res.Notes, 1) + assert.Contains(t, res.Notes[0], "copied the pull credential for nvcr.io from vault-system/regcred into default/") + + r := clusterValidatorCheck(RoleConfig{ + ClusterValidator: func(context.Context, ClusterValidatorParams) ClusterValidatorResult { return res }, + ClusterValidatorImage: "nvcr.io/nvidia/validator:1", KubeContext: "ctx", + }, clusterValidatorComputePlaneRole).Run(context.Background()) + assert.Contains(t, r.Detail, "copied the pull credential for nvcr.io from vault-system/regcred") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 5568df391e..5e70135322 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -603,9 +603,10 @@ func TestBuildControlPlaneValidatorConfig_NoRegistries(t *testing.T) { assert.Contains(t, got, "enforcement:", "enforcement block must be present") } -// The endpoints are exactly the enumerated registries, with the same -// criticality. A mirrored install whose list has no nvcr.io must not be made -// to dial it: a fixed critical nvcr.io failed every such control plane. +// The endpoints are exactly the enumerated registries, each non-critical +// whatever the local check's criticality. A mirrored install whose list has +// no nvcr.io must not be made to dial it: a fixed critical nvcr.io failed +// every such control plane. func TestBuildControlPlaneValidatorConfig_EndpointsAreNotCritical(t *testing.T) { got := buildControlPlaneValidatorConfig([]RegistryEntry{ {Registry: "harbor.company.internal", Critical: false}, diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index ed1c0ac15e..c79b010a19 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -18,6 +18,7 @@ limitations under the License. package selfhosted import ( + "context" "encoding/json" "os" "path/filepath" @@ -78,11 +79,18 @@ func dockerHome(t *testing.T, config string, helpers ...string) { t.Cleanup(func() { credentialHelperTimeout = prev }) } +// credsFor reads registry's credential from the docker config. +func credsFor(t *testing.T, registry string) (string, string, bool) { + t.Helper() + cred, ok, _ := credsFromDockerConfig(context.Background(), registry) + return cred.user, cred.pass, ok +} + // Docker Desktop leaves only an empty auths entry and keeps the login in // credsStore, so a working `docker login` must be read through the helper. func TestCredsFromDockerConfig_UsesCredsStore(t *testing.T) { dockerHome(t, `{"auths":{"nvcr.io":{}},"credsStore":"store"}`, "store") - u, p, ok := credsFromDockerConfig("nvcr.io") + u, p, ok := credsFor(t, "nvcr.io") require.True(t, ok) assert.Equal(t, "u-store", u) assert.Equal(t, "s-store", p) @@ -91,7 +99,7 @@ func TestCredsFromDockerConfig_UsesCredsStore(t *testing.T) { // A per-registry credHelpers entry wins over the global store. func TestCredsFromDockerConfig_CredHelpersBeatCredsStore(t *testing.T) { dockerHome(t, `{"credsStore":"store","credHelpers":{"nvcr.io":"ngc"}}`, "store", "ngc") - u, _, ok := credsFromDockerConfig("nvcr.io") + u, _, ok := credsFor(t, "nvcr.io") require.True(t, ok) assert.Equal(t, "u-ngc", u) } @@ -99,7 +107,7 @@ func TestCredsFromDockerConfig_CredHelpersBeatCredsStore(t *testing.T) { // Inline credentials are read when no store is configured. func TestCredsFromDockerConfig_InlineAuthWithoutAStore(t *testing.T) { dockerHome(t, inlineDockerConfig(t, "nvcr.io", "x", "y", "")) - u, p, ok := credsFromDockerConfig("nvcr.io") + u, p, ok := credsFor(t, "nvcr.io") require.True(t, ok) assert.Equal(t, "x", u) assert.Equal(t, "y", p) @@ -109,7 +117,7 @@ func TestCredsFromDockerConfig_InlineAuthWithoutAStore(t *testing.T) { // one left in the file must not win over the store. func TestCredsFromDockerConfig_StoreBeatsStaleInlineAuth(t *testing.T) { dockerHome(t, inlineDockerConfig(t, "nvcr.io", "old", "stale", "store"), "store") - u, p, ok := credsFromDockerConfig("nvcr.io") + u, p, ok := credsFor(t, "nvcr.io") require.True(t, ok) assert.Equal(t, "u-store", u) assert.Equal(t, "s-store", p) @@ -120,7 +128,7 @@ func TestCredsFromDockerConfig_StoreBeatsStaleInlineAuth(t *testing.T) { func TestCredsFromDockerConfig_DockerHubKey(t *testing.T) { dockerHome(t, inlineDockerConfig(t, "https://index.docker.io/v1/", "hub", "pw", "")) for _, host := range []string{"docker.io", "index.docker.io", "registry-1.docker.io"} { - u, _, ok := credsFromDockerConfig(host) + u, _, ok := credsFor(t, host) require.True(t, ok, host) assert.Equal(t, "hub", u) } @@ -136,7 +144,7 @@ func TestCredsFromHelper_TimeoutIsEnforced(t *testing.T) { credentialHelperTimeout = 500 * time.Millisecond start := time.Now() - _, _, ok := credsFromDockerConfig("nvcr.io") + _, _, ok := credsFor(t, "nvcr.io") assert.False(t, ok) assert.Less(t, time.Since(start), 10*time.Second, "the helper call must not outlive its timeout by the child's lifetime") } @@ -149,7 +157,7 @@ func TestCredsFromHelper_OutputIsCapped(t *testing.T) { script := "#!/bin/sh\nprintf '{\"Username\":\"u\",\"Secret\":\"s\"}'\nhead -c 200000 /dev/zero | tr '\\0' ' '\n" require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-flood"), []byte(script), 0o755)) t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) - _, _, ok := credsFromDockerConfig("nvcr.io") + _, _, ok := credsFor(t, "nvcr.io") assert.False(t, ok) } @@ -158,7 +166,7 @@ func TestCredsFromHelper_OutputIsCapped(t *testing.T) { func TestCredsFromDockerConfig_RefusesUnsafeHelperName(t *testing.T) { // The helper exists on PATH, so only the name check can refuse it. dockerHome(t, `{"credsStore":"bad name"}`, "bad name") - _, _, ok := credsFromDockerConfig("nvcr.io") + _, _, ok := credsFor(t, "nvcr.io") assert.False(t, ok) } @@ -170,24 +178,119 @@ func TestSelectAuthChallenge_JoinedInOneHeader(t *testing.T) { "a quoted word is not a challenge") } -// For an NGC registry the check uses NGC_API_KEY when it is set, the key the -// install mints its pull secrets from, even when a credential store also has a -// login for it. Without the key, the store is used. Other registries never -// get the key. -func TestCredentialsForRegistry_NGCKeyMatchesWhatTheInstallUses(t *testing.T) { +// Before a local install the NGC key goes first for nvcr.io: up mints its +// pull secrets from it. Anywhere else the docker login goes first, the one +// docker and a pull secret minted from it use, and the key is the fallback. +// Other registries never get the key. +func TestRegistryCredentials_NGCKeyOrder(t *testing.T) { dockerHome(t, `{"auths":{"nvcr.io":{}},"credsStore":"store"}`, "store") t.Setenv("NGC_API_KEY", "env-key") - u, p, ok := credentialsForRegistry("nvcr.io") + ctx := context.Background() + + cred, ok, err := NewRegistryCredentials(true).lookup(ctx, "nvcr.io") + require.NoError(t, err) require.True(t, ok) - assert.Equal(t, "$oauthtoken", u) - assert.Equal(t, "env-key", p) + assert.Equal(t, "env-key", cred.pass) + assert.True(t, cred.ngcKey) + assert.Equal(t, "NGC_API_KEY", cred.source) - t.Setenv("NGC_API_KEY", "") - u, _, ok = credentialsForRegistry("nvcr.io") + cred, ok, _ = NewRegistryCredentials(false).lookup(ctx, "nvcr.io") require.True(t, ok) - assert.Equal(t, "u-store", u, "without the key the store's login is used") + assert.Equal(t, "u-store", cred.user, "the docker login goes first where up does not mint from the key") + assert.False(t, cred.ngcKey) - t.Setenv("NGC_API_KEY", "env-key") - _, p, _ = credentialsForRegistry("quay.io") - assert.NotEqual(t, "env-key", p, "the NGC key is never sent to another registry") + dockerHome(t, `{}`) + cred, ok, _ = NewRegistryCredentials(false).lookup(ctx, "nvcr.io") + require.True(t, ok) + assert.Equal(t, "env-key", cred.pass, "without a docker login the key is the fallback") + + for _, reg := range []string{"quay.io", "stg.nvcr.io", "nvcr.io:443@attacker.example", "nvcr.io.attacker.example"} { + for _, prefer := range []bool{true, false} { + cred, _, _ := NewRegistryCredentials(prefer).lookup(ctx, reg) + assert.NotEqual(t, "env-key", cred.pass, "the NGC key is never sent to %s", reg) + } + } +} + +// docker reads its config from $DOCKER_CONFIG when that is set, as CI +// runners do. +func TestCredsFromDockerConfig_HonorsDOCKER_CONFIG(t *testing.T) { + dockerHome(t, `{}`) + dir := t.TempDir() + require.NoError(t, os.WriteFile(filepath.Join(dir, "config.json"), + []byte(inlineDockerConfig(t, "harbor.example.com", "ci", "pw", "")), 0o600)) + t.Setenv("DOCKER_CONFIG", dir) + u, p, ok := credsFor(t, "harbor.example.com") + require.True(t, ok) + assert.Equal(t, "ci", u) + assert.Equal(t, "pw", p) +} + +// docker matches a key with a scheme or a /v1/ path by its hostname. +func TestCredsFromDockerConfig_NormalizesKeys(t *testing.T) { + for _, key := range []string{"https://harbor.example.com", "harbor.example.com/v1/", "http://harbor.example.com/"} { + dockerHome(t, inlineDockerConfig(t, key, "u", "p", "")) + _, _, ok := credsFor(t, "harbor.example.com") + assert.True(t, ok, key) + } + dockerHome(t, `{"credHelpers":{"https://harbor.example.com":"ngc"}}`, "ngc") + u, _, ok := credsFor(t, "harbor.example.com") + require.True(t, ok) + assert.Equal(t, "u-ngc", u, "a credHelpers key is matched the same way") +} + +// A helper call ends with its caller's context, so tag discovery and the +// registry probe keep their own bounds and stop on an interrupt. +func TestCredsFromHelper_EndsWithTheCallersContext(t *testing.T) { + dockerHome(t, `{"credsStore":"hang"}`) + bin := t.TempDir() + require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-hang"), []byte("#!/bin/sh\nsleep 30\n"), 0o755)) + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + + ctx, cancel := context.WithTimeout(context.Background(), 300*time.Millisecond) + defer cancel() + start := time.Now() + _, ok, err := credsFromDockerConfig(ctx, "nvcr.io") + assert.False(t, ok) + assert.Error(t, err, "a helper that did not answer is reported, not read as no credential") + assert.Less(t, time.Since(start), 5*time.Second) +} + +// A helper's "not found" answer is no credential, not a failure; any other +// failure is reported. +func TestCredsFromHelper_NotFoundIsNoCredential(t *testing.T) { + dockerHome(t, `{"credsStore":"empty"}`) + bin := t.TempDir() + script := "#!/bin/sh\necho 'credentials not found in native keychain'\nexit 1\n" + require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-empty"), []byte(script), 0o755)) + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + _, ok, err := credsFromDockerConfig(context.Background(), "nvcr.io") + assert.False(t, ok) + assert.NoError(t, err) + + dockerHome(t, `{"credsStore":"missing-helper"}`) + _, ok, err = credsFromDockerConfig(context.Background(), "nvcr.io") + assert.False(t, ok) + assert.ErrorContains(t, err, "docker-credential-missing-helper") +} + +// One run resolves a registry's credential once, however many checks ask. +func TestRegistryCredentials_ResolvesOncePerRun(t *testing.T) { + dockerHome(t, `{"credsStore":"count"}`) + bin := t.TempDir() + calls := filepath.Join(t.TempDir(), "calls") + script := "#!/bin/sh\necho x >> '" + calls + "'\nprintf '{\"Username\":\"u\",\"Secret\":\"s\"}'\n" + require.NoError(t, os.WriteFile(filepath.Join(bin, "docker-credential-count"), []byte(script), 0o755)) + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + + rc := NewRegistryCredentials(false) + ctx := WithRegistryCredentials(context.Background(), rc) + for range 3 { + _, ok, err := registryCredentialsFrom(ctx).lookup(ctx, "harbor.example.com") + require.NoError(t, err) + require.True(t, ok) + } + body, err := os.ReadFile(calls) + require.NoError(t, err) + assert.Equal(t, "x\n", string(body), "the helper runs once") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go new file mode 100644 index 0000000000..eaad011204 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go @@ -0,0 +1,367 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "bytes" + "context" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "io/fs" + "net" + "os" + "os/exec" + "path/filepath" + "regexp" + "strings" + "sync" + "time" +) + +// ngcKeyRegistryHost is the one registry NGC_API_KEY is for: the registry up +// mints its pull secrets for from that key. isNGCRegistry also accepts other +// NVIDIA hosts (staging NGC, internal registries), and those take their own +// logins, never the NGC key. +const ngcKeyRegistryHost = "nvcr.io" + +// isNGCKeyRegistry reports whether NGC_API_KEY may be sent to registry. +func isNGCKeyRegistry(registry string) bool { + if !isBareRegistryHost(registry) { + return false + } + host := registry + if h, _, err := net.SplitHostPort(registry); err == nil { + host = h + } + return strings.EqualFold(host, ngcKeyRegistryHost) +} + +// registryCredential is a local credential for one registry. +type registryCredential struct { + user, pass string + // source says where it was read: an environment variable, the docker + // config file, or a docker-credential- helper. + source string + // ngcKey marks the NGC API key read from the environment. + ngcKey bool +} + +// RegistryCredentials resolves the local credential for a registry the way +// docker does, once per registry per run. The credential probe, tag discovery +// and the validator's pull secret all read it, so the credential the local +// row checks is the one the validator Job is given. +type RegistryCredentials struct { + // preferNGCKey puts the NGC API key ahead of the docker config for + // nvcr.io. That is right only where up mints its pull secrets from the + // key; anywhere else the docker login is what docker and the cluster use. + preferNGCKey bool + + mu sync.Mutex + cache map[string]credentialLookup +} + +type credentialLookup struct { + cred registryCredential + ok bool + err error +} + +// NewRegistryCredentials returns a per-run credential resolver. +func NewRegistryCredentials(preferNGCKey bool) *RegistryCredentials { + return &RegistryCredentials{preferNGCKey: preferNGCKey, cache: map[string]credentialLookup{}} +} + +type registryCredentialsKey struct{} + +// WithRegistryCredentials returns ctx carrying rc, which every registry +// credential lookup made under ctx uses. +func WithRegistryCredentials(ctx context.Context, rc *RegistryCredentials) context.Context { + return context.WithValue(ctx, registryCredentialsKey{}, rc) +} + +// registryCredentialsFrom returns the resolver ctx carries, or a fresh one +// that prefers the NGC key, the order up mints from. +func registryCredentialsFrom(ctx context.Context) *RegistryCredentials { + if rc, ok := ctx.Value(registryCredentialsKey{}).(*RegistryCredentials); ok && rc != nil { + return rc + } + return NewRegistryCredentials(true) +} + +// lookup returns registry's local credential. ok is false when there is none; +// err reports a credential store that could not be read, which is not the +// same as no credential. A lookup the caller's ctx cut short is not cached. +func (rc *RegistryCredentials) lookup(ctx context.Context, registry string) (registryCredential, bool, error) { + key := strings.ToLower(registry) + rc.mu.Lock() + defer rc.mu.Unlock() + if hit, ok := rc.cache[key]; ok { + return hit.cred, hit.ok, hit.err + } + cred, ok, err := rc.resolve(ctx, registry) + if ctx.Err() == nil { + rc.cache[key] = credentialLookup{cred: cred, ok: ok, err: err} + } + return cred, ok, err +} + +func (rc *RegistryCredentials) resolve(ctx context.Context, registry string) (registryCredential, bool, error) { + var fromKey registryCredential + if isNGCKeyRegistry(registry) { + if name, key := firstSetEnv(ngcAPIKeyEnvNames...); key != "" { + fromKey = registryCredential{user: "$oauthtoken", pass: key, source: name, ngcKey: true} + } + } + if fromKey.pass != "" && rc.preferNGCKey { + return fromKey, true, nil + } + cred, ok, err := credsFromDockerConfig(ctx, registry) + if ok { + return cred, true, nil + } + if fromKey.pass != "" { + return fromKey, true, nil + } + return registryCredential{}, false, err +} + +// firstSetEnv returns the first of names set to a non-empty value, and that +// value. +func firstSetEnv(names ...string) (string, string) { + for _, name := range names { + if v := os.Getenv(name); v != "" { + return name, v + } + } + return "", "" +} + +// dockerConfigPath is where docker reads its config: $DOCKER_CONFIG, else +// ~/.docker. +func dockerConfigPath() (string, error) { + if dir := os.Getenv("DOCKER_CONFIG"); dir != "" { + return filepath.Join(dir, "config.json"), nil + } + home, err := os.UserHomeDir() + if err != nil { + return "", err + } + return filepath.Join(home, ".docker", "config.json"), nil +} + +// dockerConfigAuth is one auths entry of a docker config. +type dockerConfigAuth struct { + Auth string `json:"auth"` + Username string `json:"username"` + Password string `json:"password"` +} + +func credsFromDockerConfig(ctx context.Context, registry string) (registryCredential, bool, error) { + path, err := dockerConfigPath() + if err != nil { + return registryCredential{}, false, nil + } + body, err := os.ReadFile(path) + if errors.Is(err, fs.ErrNotExist) { + return registryCredential{}, false, nil + } + if err != nil { + return registryCredential{}, false, fmt.Errorf("read %s: %w", path, err) + } + var doc struct { + Auths map[string]dockerConfigAuth `json:"auths"` + CredsStore string `json:"credsStore"` + CredHelpers map[string]string `json:"credHelpers"` + } + if err := json.Unmarshal(body, &doc); err != nil { + return registryCredential{}, false, fmt.Errorf("parse %s: %w", path, err) + } + // Docker's order: a per-registry credHelpers entry, else credsStore, and + // only with neither configured the inline auths entry. With a store + // configured docker never reads an inline password, so an old one left in + // the file must not win here either: that sent a stale key while `docker + // pull` worked. + key := dockerConfigKey(registry) + helper, ok := doc.CredHelpers[key] + if !ok { + for k, h := range doc.CredHelpers { + if sameDockerHost(k, key) { + helper = h + break + } + } + } + if helper == "" { + helper = doc.CredsStore + } + if helper != "" { + return credsFromHelper(ctx, helper, key) + } + entry, ok := doc.Auths[key] + if !ok { + // Docker matches a legacy key, with a scheme or a /v1/ path, by its + // hostname. + for k, e := range doc.Auths { + if sameDockerHost(k, key) { + entry, ok = e, true + break + } + } + } + if !ok { + return registryCredential{}, false, nil + } + user, pass, ok := decodeDockerConfigAuth(entry) + if !ok { + return registryCredential{}, false, nil + } + return registryCredential{user: user, pass: pass, source: "docker config " + path}, true, nil +} + +func decodeDockerConfigAuth(entry dockerConfigAuth) (string, string, bool) { + if entry.Username != "" && entry.Password != "" { + return entry.Username, entry.Password, true + } + if entry.Auth == "" { + return "", "", false + } + raw, err := base64.StdEncoding.DecodeString(entry.Auth) + if err != nil { + return "", "", false + } + user, pass, ok := strings.Cut(string(raw), ":") + return user, pass, ok +} + +// dockerHubConfigKey is the key docker stores Docker Hub logins under. +const dockerHubConfigKey = "https://index.docker.io/v1/" + +// dockerHubRegistry is the host Docker Hub images are pulled from. +const dockerHubRegistry = "registry-1.docker.io" + +// dockerConfigKey maps a registry host to the key docker uses for it in +// config.json. Docker Hub's hosts all share one legacy key; every other +// registry is keyed by its host. +func dockerConfigKey(registry string) string { + if isDockerHubHost(registry) { + return dockerHubConfigKey + } + return registry +} + +func isDockerHubHost(host string) bool { + switch strings.ToLower(host) { + case "docker.io", "index.docker.io", dockerHubRegistry: + return true + } + return false +} + +// dockerHostname reduces a docker config key to its host the way docker's +// file store does: scheme and anything from the first '/' dropped, with +// Docker Hub's hosts folded into one. +func dockerHostname(key string) string { + key = strings.TrimPrefix(strings.TrimPrefix(key, "https://"), "http://") + host, _, _ := strings.Cut(key, "/") + host = strings.ToLower(host) + if isDockerHubHost(host) { + return "docker.io" + } + return host +} + +func sameDockerHost(a, b string) bool { + return dockerHostname(a) == dockerHostname(b) +} + +// credentialHelperName matches the docker-credential- suffixes docker +// accepts. Anything else is refused rather than put on an exec path. +var credentialHelperName = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9_.-]*$`) + +// credentialHelperTimeout bounds one helper call; a helper waiting on a +// keychain prompt must not stall preflight. A var so tests can allow for a +// loaded machine starting a freshly written helper script. +var credentialHelperTimeout = 5 * time.Second + +// credsFromHelper asks docker-credential- for registry's credential +// using the credential-helper protocol docker uses: "get" with the server URL +// on stdin, JSON {"Username","Secret"} on stdout. The call ends with ctx, so +// it stays inside the caller's time bound and stops on an interrupt. +func credsFromHelper(ctx context.Context, helper, serverURL string) (registryCredential, bool, error) { + if !credentialHelperName.MatchString(helper) { + return registryCredential{}, false, fmt.Errorf("refusing credential helper name %q", helper) + } + hctx, cancel := context.WithTimeout(ctx, credentialHelperTimeout) + defer cancel() + name := "docker-credential-" + helper + cmd := exec.CommandContext(hctx, name, "get") + cmd.Stdin = strings.NewReader(serverURL) + // Without WaitDelay a helper that leaves a child holding stdout open keeps + // Output waiting past the timeout. The output cap keeps a misbehaving + // helper from filling memory; a credential is a few hundred bytes. + cmd.WaitDelay = time.Second + var out cappedBuffer + cmd.Stdout = &out + if err := cmd.Run(); err != nil { + // The protocol's answer for a registry the store has nothing for. + if strings.Contains(out.buf.String(), "credentials not found") { + return registryCredential{}, false, nil + } + if hctx.Err() != nil { + return registryCredential{}, false, fmt.Errorf("%s did not answer within %s", name, credentialHelperTimeout) + } + return registryCredential{}, false, fmt.Errorf("%s: %w", name, err) + } + if out.overflow { + return registryCredential{}, false, fmt.Errorf("%s wrote more than %d bytes", name, credentialHelperOutputLimit) + } + var cred struct { + Username string `json:"Username"` + Secret string `json:"Secret"` + } + if err := json.Unmarshal(out.buf.Bytes(), &cred); err != nil { + return registryCredential{}, false, fmt.Errorf("%s: decode its answer: %w", name, err) + } + if cred.Secret == "" { + return registryCredential{}, false, nil + } + return registryCredential{user: cred.Username, pass: cred.Secret, source: name}, true, nil +} + +// credentialHelperOutputLimit caps what a credential helper may write. +const credentialHelperOutputLimit = 64 << 10 + +// cappedBuffer keeps at most credentialHelperOutputLimit bytes and records +// whether more were written. +type cappedBuffer struct { + buf bytes.Buffer + overflow bool +} + +func (c *cappedBuffer) Write(p []byte) (int, error) { + if room := credentialHelperOutputLimit - c.buf.Len(); len(p) > room { + c.overflow = true + if room > 0 { + c.buf.Write(p[:room]) + } + return len(p), nil + } + return c.buf.Write(p) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/main_test.go b/src/clis/nvcf-cli/internal/selfhosted/main_test.go index f66936c9fb..168177c2be 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/main_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/main_test.go @@ -35,8 +35,9 @@ func TestMain(m *testing.M) { } _ = os.Setenv("HOME", home) _ = os.Unsetenv("HELM_DRIVER") - // An exported NGC key is preferred over the docker config for nvcr.io, - // so it would change what the credential tests resolve. + // A docker config or an NGC key exported on the machine running the + // tests would otherwise be the credential every registry test sends. + _ = os.Unsetenv("DOCKER_CONFIG") for _, name := range ngcAPIKeyEnvNames { _ = os.Unsetenv(name) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 10beac07ec..a826bfe20b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -260,6 +260,11 @@ type PreflightConfig struct { // check's budget has ended it, a later interrupt leaves it unchanged, and // an interrupted run reports no rows for checks it never finished. Interrupted func() bool + + // RegistryPostInstall marks a run that checks an installed stack. The + // cluster then pulls with its own pull secrets, so a rejected NGC API key + // from this machine's environment is a warning rather than an error. + RegistryPostInstall bool } // DefaultTools returns the kubectl/helmfile/helm specs with version floors @@ -697,7 +702,8 @@ func clusterValidatorCheck(rc RoleConfig, role string) binaryCheckSpec { }, }) r.Logs = result.Logs - r.Detail = clusterValidatorDetail(kubeContext, result) + r.Detail = strings.Join(append(result.Notes, clusterValidatorDetail(kubeContext, result)), "; ") + r.Detail = strings.TrimSuffix(r.Detail, "; ") if why := validatorKeptReason(rc.ClusterValidatorNoCleanup, result); why != "" { r.Cleanup = validatorRemovalCommand(kubeContext, result.RunID) r.Detail = strings.TrimPrefix(r.Detail+"; ", "; ") + why + ": " + r.Cleanup @@ -1020,68 +1026,78 @@ func clusterValidatorDetail(kubeContext string, result ClusterValidatorResult) s // buildRegistryCredentialCategory returns the registry-credentials category // that probes each configured registry for reachability and valid credentials. +// A registry listed twice, for two repository scopes, gets one row per scope. func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { cat := categorySpec{ name: "registry-credentials", role: RoleLocalOnly, // runs regardless of cluster role checks: make([]binaryCheckSpec, 0, len(cfg.Registries)), } + seen := map[string]bool{} for _, reg := range cfg.Registries { - reg := reg // capture loop var - cat.checks = append(cat.checks, registryCredentialCheck(cfg.RegistryChecker, reg)) + label := reg.Registry + if seen[label] { + label += "/" + reg.RepoHint + } + seen[reg.Registry] = true + cat.checks = append(cat.checks, registryCredentialCheck(cfg.RegistryChecker, reg, label, cfg.RegistryPostInstall)) } return cat } // registryCredentialCheck returns a binaryCheckSpec that probes one registry. -// Critical registries (nvcr.io) fail at error severity; non-critical ones -// fail at warning so they don't block the operator on optional registries. -func registryCredentialCheck(checker RegistryCredentialChecker, entry RegistryEntry) binaryCheckSpec { - id := "registry-cred-" + entry.Registry +// Only a credential the registry rejected can fail: at error severity for a +// critical registry, at warning for any other. A rejected NGC API key on a +// post-install run is a warning too: it is this machine's key, and the +// cluster pulls with its own pull secret. Everything else the probe can +// report, from an unreachable registry to a missing local credential, is a +// warning or an informational pass. +func registryCredentialCheck( + checker RegistryCredentialChecker, entry RegistryEntry, label string, postInstall bool, +) binaryCheckSpec { + id := "registry-cred-" + label severity := SeverityWarning if entry.Critical { severity = SeverityError } return binaryCheckSpec{ ID: id, - HumanLabel: fmt.Sprintf("checking credentials for %s...", entry.Registry), + HumanLabel: fmt.Sprintf("checking credentials for %s...", label), Run: func(ctx context.Context) CheckResult { - r := CheckResult{ - ID: id, - Severity: severity, + r := CheckResult{ID: id, Severity: severity} + err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical) + if err == nil { + r.Passed = true + r.Severity = SeverityInfo + r.Message = label + ": credentials valid" + return r } - if err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical); err != nil { - // A registry this probe cannot speak to (ECR's SigV4, a Basic - // challenge) is not evidence of a credential problem, and an - // unreadable credential helper is not evidence of a missing - // credential. Neither may block the run. - var skipped errRegistryProbeSkipped - var unverified errRegistryCredentialsUnverified - var notVerified errRegistryCredentialsNotVerified - switch { - case errors.As(err, ¬Verified): - r.Passed = true - r.Severity = SeverityInfo - r.Message = entry.Registry + ": " + err.Error() - return r - case errors.As(err, &skipped): - r.Passed = true - r.Severity = SeverityInfo - r.Message = entry.Registry + ": skipped (" + skipped.reason + ")" - return r - case errors.As(err, &unverified): - r.Severity = SeverityWarning - r.Message = entry.Registry + ": " + err.Error() - r.Err = err - return r - } - r.Message = entry.Registry + ": " + err.Error() + var outcome registryProbeOutcome + if !errors.As(err, &outcome) { + // The run's context ended mid-probe: nothing was learned. + r.Message = label + ": " + err.Error() r.Err = err return r } - r.Passed = true - r.Severity = SeverityInfo - r.Message = entry.Registry + ": credentials valid" + r.Message = label + ": " + outcome.detail + switch outcome.kind { + case probeSkipped: + r.Passed = true + r.Severity = SeverityInfo + r.Message = label + ": skipped (" + outcome.detail + ")" + case probeAnonymous, probeNotVerified: + r.Passed = true + r.Severity = SeverityInfo + case probeNoCredential, probeUnverifiable: + r.Severity = SeverityWarning + r.Err = err + case probeRejected: + r.Err = err + if postInstall && outcome.ngcKey { + r.Severity = SeverityWarning + r.Message += "; the cluster pulls with its own pull secret, so this affects only this machine" + } + } return r }, } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 51d5df47c9..888da79292 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -22,7 +22,6 @@ import ( "encoding/base64" "encoding/json" "fmt" - "os" "strings" "time" @@ -88,7 +87,8 @@ func validatorPullSecretRunName(role, runID string) string { return base + "-" + runID } -// Mirrors the chain used by ensureLocalImagePullSecrets in cmd/self_hosted_up.go. +// The NGC API key's environment variables, in the order +// ensureLocalImagePullSecrets in cmd/self_hosted_up.go reads them. var ngcAPIKeyEnvNames = []string{ "NGC_IMAGE_PULL_API_KEY", "NVCF_NGCR_API_KEY", @@ -114,162 +114,183 @@ var validatorPullSecretSearchNamespaces = []string{ "nvcf-backend", } +// validatorPullSecretListTimeout bounds one namespace's List in the scan, so +// a slow namespace cannot starve the rest; validatorPullSecretWriteTimeout +// bounds the Create of the Secret this run attaches, which gets its own time +// rather than whatever the scan left. +var ( + validatorPullSecretListTimeout = 5 * time.Second + validatorPullSecretWriteTimeout = 10 * time.Second +) + // resolveValidatorPullSecret picks the imagePullSecret name to attach to the // validator Job. Precedence: // // 1. provided != "" -> use as-is (--cluster-validator-pull-secret flag). -// 2. Cluster scan -> mirror a matching secret into the validator namespace. -// 3. NGC env var -> mint a secret in the validator namespace. -// 4. "" -> kubelet will surface ImagePullBackOff if the image is private. +// 2. Cluster scan -> adopt an operator's Secret in the validator namespace, +// or copy the matching registry's entry of one found elsewhere. +// 3. This machine's credential for the image's registry, the one the local +// credential check probed -> mint a Secret for this run. The NGC key +// goes only to nvcr.io. +// 4. "" -> the image is pulled without a secret. // -// Only hard mirror/create failures propagate; read-side failures fall through -// to the next layer. +// note says what the run copied or created, for the operator to see. err is +// a copy or create that failed; read-side failures fall through to the next +// layer. func resolveValidatorPullSecret( ctx context.Context, client kubernetes.Interface, provided, image, role, runID string, preserve bool, -) (string, error) { +) (name, note string, err error) { if provided != "" { - return provided, nil + return provided, "", nil } - registry := parseRegistryFromImage(image) - if registry == "" { - return "", nil + registry, repo, _, ok := parseImageRef(image) + if !ok { + return "", "", nil } - scanCtx, cancel := context.WithTimeout(ctx, validatorPullSecretScanTimeout) - defer cancel() - - if name, err := scanAndMirrorPullSecret(scanCtx, client, registry, role, runID, preserve); err != nil { - return "", err - } else if name != "" { - return name, nil + runName := validatorPullSecretRunName(role, runID) + write := func(cfg []byte) error { + wctx, cancel := context.WithTimeout(ctx, validatorPullSecretWriteTimeout) + defer cancel() + return writeDockerConfigSecret(wctx, client, clusterValidatorNamespace, runName, role, runID, cfg, preserve) } - if name, err := autoCreatePullSecretFromEnv(scanCtx, client, registry, role, runID, preserve); err != nil { - return "", err - } else if name != "" { - return name, nil + if src, cfg := findClusterPullSecret(ctx, client, registry, repo); src != nil { + if src.Namespace == clusterValidatorNamespace { + return src.Name, "", nil + } + // Mirror under the validator's run-scoped name rather than the source + // secret's name, which could collide with an unrelated Secret in the + // destination namespace. + if err := write(cfg); err != nil { + return "", "", fmt.Errorf("copy pull secret %s/%s to %s/%s: %w", + src.Namespace, src.Name, clusterValidatorNamespace, runName, err) + } + return runName, fmt.Sprintf("copied the pull credential for %s from %s/%s into %s/%s for this run", + registry, src.Namespace, src.Name, clusterValidatorNamespace, runName), nil } - return "", nil -} - -// Returns "" for Docker Hub shorthand (no host segment), since the scan -// needs an auths. key to match against. -func parseRegistryFromImage(image string) string { - image = strings.TrimSpace(image) - if image == "" { - return "" + cred, ok, lookupErr := registryCredentialsFrom(ctx).lookup(ctx, registry) + if !ok { + if lookupErr != nil { + return "", "", fmt.Errorf("no pull secret for %s in the cluster, and reading this machine's "+ + "credential failed: %w", registry, lookupErr) + } + return "", "", nil } - slash := strings.Index(image, "/") - if slash <= 0 { - return "" + cfg, err := buildDockerConfigJSON(dockerConfigKey(registry), cred.user, cred.pass) + if err != nil { + return "", "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) } - head := image[:slash] - if !strings.ContainsAny(head, ".:") && head != "localhost" { - return "" + if err := write(cfg); err != nil { + return "", "", fmt.Errorf("create pull secret %s/%s: %w", clusterValidatorNamespace, runName, err) } - return head + return runName, fmt.Sprintf("created pull secret %s/%s for %s from %s for this run", + clusterValidatorNamespace, runName, registry, cred.source), nil } -// Walks validatorPullSecretSearchNamespaces and returns the first -// docker-registry secret whose dockerconfigjson has an auths entry for -// registry. Mirrors the body into clusterValidatorNamespace when the match -// lives elsewhere, so the Job can reference the secret without cross-namespace -// lookups. -func scanAndMirrorPullSecret(ctx context.Context, client kubernetes.Interface, registry, role, runID string, preserve bool) (string, error) { +// findClusterPullSecret walks validatorPullSecretSearchNamespaces and returns +// the first docker-registry Secret with credentials for registry, with a +// dockerconfigjson holding only that registry's entry. An operator's Secret +// in the validator namespace is returned to be used as is; one this CLI +// minted for another run is skipped (see isAnyValidatorSecret). +func findClusterPullSecret( + ctx context.Context, client kubernetes.Interface, registry, repo string, +) (*corev1.Secret, []byte) { for _, ns := range validatorPullSecretSearchNamespaces { - // Filter client-side rather than via FieldSelector: server-side - // type= selector on Secrets is only honored from k8s 1.27 onward. - secrets, err := client.CoreV1().Secrets(ns).List(ctx, metav1.ListOptions{}) + secrets, err := listDockerConfigSecrets(ctx, client, ns) if err != nil { continue } - for _, s := range secrets.Items { + for i := range secrets { + s := &secrets[i] if s.Type != corev1.SecretTypeDockerConfigJson { continue } - cfg, ok := s.Data[corev1.DockerConfigJsonKey] - if !ok || !dockerConfigHasRegistry(cfg, registry) { + // Adopt only an operator-supplied Secret (no managed labels, so + // no sweep touches it). Never one another run minted: adopting + // one reuses a possibly stale credential, can outlive this run, + // and can be deleted by its own run's sweep mid-pull, which the + // kubelet reports as FailedToRetrieveImagePullSecret. + if s.Namespace == clusterValidatorNamespace && isAnyValidatorSecret(s) { continue } - if s.Namespace == clusterValidatorNamespace { - // Adopt only an operator-supplied Secret (no managed labels, so - // no sweep touches it). Never one another run minted: those - // are per-run now, so adopting one reuses a possibly stale - // NGC key (a run with a bad key keeps its Secret while its pod - // may still be pulling), can outlive this run, and can be - // deleted by its own run's sweep mid-pull, which the kubelet - // reports as FailedToRetrieveImagePullSecret. A --no-cleanup - // Secret would otherwise be adopted by every later run. - if isAnyValidatorSecret(&s) { - continue - } - return s.Name, nil - } - // Mirror under the validator's well-known name rather than the - // source secret's name. Using the source name risks colliding - // with an unrelated operator/chart secret of the same name in - // the destination namespace, and writeDockerConfigSecret's - // delete-and-recreate path would otherwise destroy that - // secret on type mismatch. - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, runID, cfg, preserve); err != nil { - return "", fmt.Errorf("mirror pull secret %s/%s to %s/%s: %w", - s.Namespace, s.Name, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), err) + if cfg, ok := filterDockerConfig(s.Data[corev1.DockerConfigJsonKey], registry, repo); ok { + return s, cfg } - return validatorPullSecretRunName(role, runID), nil } } - return "", nil + return nil, nil } -func dockerConfigHasRegistry(cfg []byte, registry string) bool { - var doc struct { - Auths map[string]json.RawMessage `json:"auths"` +// listDockerConfigSecrets lists namespace's docker-registry Secrets, so the +// scan does not fetch every other Secret's key material. A server that +// refuses the type field selector is asked for everything instead, and the +// caller filters. +func listDockerConfigSecrets( + ctx context.Context, client kubernetes.Interface, namespace string, +) ([]corev1.Secret, error) { + lctx, cancel := context.WithTimeout(ctx, validatorPullSecretListTimeout) + defer cancel() + list, err := client.CoreV1().Secrets(namespace).List(lctx, metav1.ListOptions{ + FieldSelector: "type=" + string(corev1.SecretTypeDockerConfigJson), + }) + if apierrors.IsBadRequest(err) { + list, err = client.CoreV1().Secrets(namespace).List(lctx, metav1.ListOptions{}) } - if err := json.Unmarshal(cfg, &doc); err != nil { - return false + if err != nil { + return nil, err } - _, ok := doc.Auths[registry] - return ok + return list.Items, nil } -func autoCreatePullSecretFromEnv(ctx context.Context, client kubernetes.Interface, registry, role, runID string, preserve bool) (string, error) { - apiKey := firstNonEmptyEnv(ngcAPIKeyEnvNames...) - if apiKey == "" { - return "", nil +// filterDockerConfig returns a dockerconfigjson holding only cfg's entry for +// registry, and whether it has one. A copy carries no other registry's +// credential. Keys match the way the kubelet matches them: scheme and a +// /v1/ or /v2/ prefix ignored, and a key with a path only for repositories +// under it. +func filterDockerConfig(cfg []byte, registry, repo string) ([]byte, bool) { + var doc struct { + Auths map[string]json.RawMessage `json:"auths"` } - // Only ever hand the NGC key to nvcr.io, the registry up mints for. Without - // this an operator who mirrors the validator image to ghcr.io or a - // corporate Harbor and still exports NGC_API_KEY gets it written as that - // registry's password, and the kubelet then sends the live key to a third - // party as HTTP Basic auth, where it lands in their access logs. Other - // NVIDIA registries (staging NGC, internal ones) take their own logins. - if !isNGCKeyRegistry(registry) { - return "", nil + if err := json.Unmarshal(cfg, &doc); err != nil { + return nil, false } - cfg, err := buildDockerConfigJSON(registry, "$oauthtoken", apiKey) - if err != nil { - return "", fmt.Errorf("encode dockerconfigjson for %s: %w", registry, err) + key, ok := "", false + if _, exact := doc.Auths[dockerConfigKey(registry)]; exact { + key, ok = dockerConfigKey(registry), true + } else { + for k := range doc.Auths { + if dockerConfigKeyMatches(k, registry, repo) && (!ok || k < key) { + key, ok = k, true + } + } } - if err := writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, validatorPullSecretRunName(role, runID), role, runID, cfg, preserve); err != nil { - return "", fmt.Errorf("auto-create pull secret %s/%s: %w", - clusterValidatorNamespace, validatorPullSecretRunName(role, runID), err) + if !ok { + return nil, false } - return validatorPullSecretRunName(role, runID), nil + out, err := json.Marshal(map[string]any{"auths": map[string]json.RawMessage{key: doc.Auths[key]}}) + return out, err == nil } -// Mirrors cmd/self_hosted_up.go's firstNonEmptyEnv; kept local to avoid an -// internal->cmd import. -func firstNonEmptyEnv(names ...string) string { - for _, name := range names { - if v := os.Getenv(name); v != "" { - return v - } +// dockerConfigKeyMatches reports whether a dockerconfigjson auths key covers +// an image in repo on registry, as the kubelet reads the key. +func dockerConfigKeyMatches(key, registry, repo string) bool { + rest := strings.TrimPrefix(strings.TrimPrefix(key, "https://"), "http://") + host, path, _ := strings.Cut(rest, "/") + if !sameDockerHost(host, registry) { + return false + } + path = strings.TrimSuffix(path, "/") + if p, ok := strings.CutPrefix(path, "v1"); ok && (p == "" || strings.HasPrefix(p, "/")) { + path = strings.TrimPrefix(p, "/") + } else if p, ok := strings.CutPrefix(path, "v2"); ok && (p == "" || strings.HasPrefix(p, "/")) { + path = strings.TrimPrefix(p, "/") } - return "" + return path == "" || repo == path || strings.HasPrefix(repo, path+"/") } // Mirrors cmd/self_hosted_up.go's dockerConfigJSON. diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 4a8cd1364e..b54e8733d4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -21,6 +21,7 @@ import ( "context" "encoding/base64" "encoding/json" + "errors" "testing" "github.com/stretchr/testify/assert" @@ -29,7 +30,9 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/fake" + ktesting "k8s.io/client-go/testing" ) func dockerConfigBlob(t *testing.T, registry, user, pass string) []byte { @@ -55,46 +58,58 @@ func mustDockerConfigJSON(t *testing.T, registry, user, pass string) []byte { return b } -func TestParseRegistryFromImage(t *testing.T) { - cases := []struct { - name string - in string - want string - }{ - {"FQDN with tag", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26", "private.registry.test"}, - {"FQDN with digest", "nvcr.io/foo/bar@sha256:abc", "nvcr.io"}, - {"FQDN latest", "nvcr.io/foo/bar:latest", "nvcr.io"}, - {"localhost with port", "localhost:5000/foo/bar:latest", "localhost:5000"}, - {"localhost no port", "localhost/foo/bar", "localhost"}, - {"docker hub shorthand", "foo/bar:latest", ""}, - {"single segment", "bar", ""}, - {"empty", "", ""}, - {"only slashes", "///", ""}, - {"leading whitespace", " nvcr.io/foo/bar:latest ", "nvcr.io"}, +// resolvePullSecret runs the resolver for image with no explicit secret. +func resolvePullSecret(t *testing.T, client *fake.Clientset, image string) (string, string, error) { + t.Helper() + return resolveValidatorPullSecret(context.Background(), client, "", image, + clusterValidatorControlPlaneRole, "runid", false) +} + +func dockerConfigSecret(name, namespace string, cfg []byte) *corev1.Secret { + return &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace}, + Type: corev1.SecretTypeDockerConfigJson, + Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, } - for _, c := range cases { - t.Run(c.name, func(t *testing.T) { - assert.Equal(t, c.want, parseRegistryFromImage(c.in)) - }) +} + +func authsKeys(t *testing.T, cfg []byte) []string { + t.Helper() + var doc struct { + Auths map[string]json.RawMessage `json:"auths"` + } + require.NoError(t, json.Unmarshal(cfg, &doc)) + var keys []string + for k := range doc.Auths { + keys = append(keys, k) } + return keys } -func TestDockerConfigHasRegistry(t *testing.T) { - t.Run("registry present", func(t *testing.T) { - cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - assert.True(t, dockerConfigHasRegistry(cfg, "private.registry.test")) - }) - t.Run("registry absent", func(t *testing.T) { - cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") - assert.False(t, dockerConfigHasRegistry(cfg, "private.registry.test")) - }) - t.Run("malformed JSON", func(t *testing.T) { - assert.False(t, dockerConfigHasRegistry([]byte("not json"), "private.registry.test")) - }) - t.Run("missing auths key", func(t *testing.T) { - cfg, _ := json.Marshal(map[string]any{"unrelated": "value"}) - assert.False(t, dockerConfigHasRegistry(cfg, "private.registry.test")) - }) +// Keys match the way the kubelet reads them: a scheme or a /v1/ path is +// ignored, and a key with another path covers only repositories under it. +func TestFilterDockerConfig(t *testing.T) { + for _, tc := range []struct { + key, registry, repo string + want bool + }{ + {"private.registry.test", "private.registry.test", "a/b", true}, + {"https://private.registry.test", "private.registry.test", "a/b", true}, + {"https://private.registry.test/v1/", "private.registry.test", "a/b", true}, + {"private.registry.test/v2/", "private.registry.test", "a/b", true}, + {"private.registry.test/a", "private.registry.test", "a/b", true}, + {"private.registry.test/ab", "private.registry.test", "a/b", false}, + {"nvcr.io", "private.registry.test", "a/b", false}, + {"https://index.docker.io/v1/", dockerHubRegistry, "library/busybox", true}, + } { + _, ok := filterDockerConfig(dockerConfigBlob(t, tc.key, "u", "p"), tc.registry, tc.repo) + assert.Equal(t, tc.want, ok, "%s for %s/%s", tc.key, tc.registry, tc.repo) + } + _, ok := filterDockerConfig([]byte("not json"), "private.registry.test", "a") + assert.False(t, ok) + noAuths, _ := json.Marshal(map[string]any{"unrelated": "value"}) + _, ok = filterDockerConfig(noAuths, "private.registry.test", "a") + assert.False(t, ok) } func TestBuildDockerConfigJSON(t *testing.T) { @@ -116,242 +131,178 @@ func TestBuildDockerConfigJSON(t *testing.T) { assert.Equal(t, wantAuth, entry.Auth, "auth field must be base64(username:password)") } -func TestFirstNonEmptyEnv(t *testing.T) { - t.Setenv("VALIDATOR_TEST_FIRST", "first-val") - t.Setenv("VALIDATOR_TEST_SECOND", "") - t.Setenv("VALIDATOR_TEST_THIRD", "third-val") - - t.Run("returns first non-empty in order", func(t *testing.T) { - got := firstNonEmptyEnv("VALIDATOR_TEST_SECOND", "VALIDATOR_TEST_FIRST", "VALIDATOR_TEST_THIRD") - assert.Equal(t, "first-val", got, "second is empty so first hits") - }) - t.Run("returns empty when all unset", func(t *testing.T) { - got := firstNonEmptyEnv("VALIDATOR_TEST_NONEXISTENT_A", "VALIDATOR_TEST_NONEXISTENT_B") - assert.Equal(t, "", got) - }) -} - -func TestScanAndMirrorPullSecret_FoundInDefault(t *testing.T) { +// An operator's Secret in default is used as is, without a copy. +func TestResolveValidatorPullSecret_AdoptsOperatorSecretInDefault(t *testing.T) { cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{Name: "operator-secret", Namespace: "default"}, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, - }) + client := fake.NewSimpleClientset(dockerConfigSecret("operator-secret", "default", cfg)) - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) + name, note, err := resolvePullSecret(t, client, "private.registry.test/nvidia/cv:1") require.NoError(t, err) assert.Equal(t, "operator-secret", name) - - // Secret in default should not have been duplicated. + assert.Empty(t, note) list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) - assert.Len(t, list.Items, 1, "no mirror should happen when the source is already in clusterValidatorNamespace") -} - -func TestScanAndMirrorPullSecret_FoundInNvcfMirroredToDefault(t *testing.T) { - cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") - // Source name deliberately different from validatorPullSecretName - // to verify the mirror writes under our well-known destination - // name, not the source name (which could collide with an - // operator-owned secret in default). - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{Name: "chart-owned-creds", Namespace: "nvcf"}, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, - }) - - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) + assert.Len(t, list.Items, 1, "no copy when the source is already in the validator namespace") +} + +// A Secret found elsewhere is copied into default under the run's own name, +// holding only the image registry's entry, and the run says what it copied +// from where. +func TestResolveValidatorPullSecret_CopiesOnlyTheRegistrysEntry(t *testing.T) { + cfg, err := json.Marshal(map[string]any{"auths": map[string]any{ + "nvcr.io": map[string]string{"auth": base64.StdEncoding.EncodeToString([]byte("a:b"))}, + "private.corp.example": map[string]string{"auth": base64.StdEncoding.EncodeToString([]byte("c:d"))}, + "https://index.docker.io/v1/": map[string]string{ + "auth": base64.StdEncoding.EncodeToString([]byte("e:f")), + }, + }}) require.NoError(t, err) - assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), name) - - mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) - require.NoError(t, err, "mirror must be created under the role-scoped managed name") - assert.Equal(t, cfg, mirrored.Data[corev1.DockerConfigJsonKey]) + client := fake.NewSimpleClientset(dockerConfigSecret("regcred", "vault-system", cfg)) - // The source secret must remain untouched in the source namespace. - src, err := client.CoreV1().Secrets("nvcf").Get(context.Background(), "chart-owned-creds", metav1.GetOptions{}) + name, note, err := resolvePullSecret(t, client, "nvcr.io/nvidia/cv:1") require.NoError(t, err) - assert.Equal(t, cfg, src.Data[corev1.DockerConfigJsonKey]) -} + runName := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") + assert.Equal(t, runName, name) + assert.Equal(t, "copied the pull credential for nvcr.io from vault-system/regcred into default/"+runName+ + " for this run", note) -func TestScanAndMirrorPullSecret_RegistryMismatch(t *testing.T) { - cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{Name: "wrong-registry", Namespace: "nvcf"}, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, + copied, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, []string{"nvcr.io"}, authsKeys(t, copied.Data[corev1.DockerConfigJsonKey]), + "no other registry's credential is copied") + src, err := client.CoreV1().Secrets("vault-system").Get(context.Background(), "regcred", metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, cfg, src.Data[corev1.DockerConfigJsonKey], "the source is untouched") +} + +// The scan asks for docker-registry Secrets only, and falls back to listing +// everything when the server refuses the field selector. +func TestResolveValidatorPullSecret_ListsOnlyDockerConfigSecrets(t *testing.T) { + cfg := dockerConfigBlob(t, "private.registry.test", "u", "p") + client := fake.NewSimpleClientset(dockerConfigSecret("creds", "nvcf", cfg)) + var selectors []string + refused := false + client.PrependReactor("list", "secrets", func(action ktesting.Action) (bool, runtime.Object, error) { + sel := action.(ktesting.ListActionImpl).GetListRestrictions().Fields.String() + selectors = append(selectors, sel) + if sel != "" && !refused { + refused = true + return true, nil, apierrors.NewBadRequest("field selector not supported") + } + return false, nil, nil }) - - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) + name, _, err := resolvePullSecret(t, client, "private.registry.test/nvidia/cv:1") require.NoError(t, err) - assert.Equal(t, "", name, "secret for a different registry must not match") + assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), name) + require.NotEmpty(t, selectors) + assert.Equal(t, "type=kubernetes.io/dockerconfigjson", selectors[0]) + assert.Contains(t, selectors, "", "a refused selector falls back to an unfiltered list") } -func TestScanAndMirrorPullSecret_NoSecrets(t *testing.T) { - client := fake.NewSimpleClientset() - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) +func TestResolveValidatorPullSecret_RegistryMismatch(t *testing.T) { + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + client := fake.NewSimpleClientset(dockerConfigSecret("wrong-registry", "nvcf", cfg)) + name, _, err := resolvePullSecret(t, client, "private.registry.test/nvidia/cv:1") require.NoError(t, err) - assert.Equal(t, "", name) + assert.Equal(t, "", name, "secret for a different registry must not match") } -func TestScanAndMirrorPullSecret_PrefersDefaultNamespace(t *testing.T) { +func TestResolveValidatorPullSecret_PrefersDefaultNamespace(t *testing.T) { cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key") client := fake.NewSimpleClientset( - &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{Name: "in-default", Namespace: "default"}, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, - }, - &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{Name: "in-nvcf", Namespace: "nvcf"}, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, - }, + dockerConfigSecret("in-default", "default", cfg), + dockerConfigSecret("in-nvcf", "nvcf", cfg), ) - - name, err := scanAndMirrorPullSecret(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) + name, _, err := resolvePullSecret(t, client, "private.registry.test/nvidia/cv:1") require.NoError(t, err) assert.Equal(t, "in-default", name) } -func TestAutoCreatePullSecretFromEnv_NoEnv(t *testing.T) { - // Clear all env vars in the chain. - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") - } - client := fake.NewSimpleClientset() - - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "private.registry.test", clusterValidatorControlPlaneRole, "runid", false) - require.NoError(t, err) - assert.Equal(t, "", got, "no env var set means no secret minted") - - list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) - assert.Empty(t, list.Items, "no secret must be created when env is empty") -} - -func TestAutoCreatePullSecretFromEnv_KeyPresent(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") - } - t.Setenv("NGC_API_KEY", "nvapi-test-123") - - client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, "nvcr.io", clusterValidatorControlPlaneRole, "runid", false) - require.NoError(t, err) - assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), got) - - s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) +// A Secret created with --docker-server=https://host is the kubelet's +// credential for host, so the scan finds it too. +func TestResolveValidatorPullSecret_MatchesSchemePrefixedKeys(t *testing.T) { + cfg := dockerConfigBlob(t, "https://nvcr.io", "$oauthtoken", "key") + client := fake.NewSimpleClientset(dockerConfigSecret("regcred", "nvcf", cfg)) + name, _, err := resolvePullSecret(t, client, "nvcr.io/nvidia/cv:1") require.NoError(t, err) - assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "nvcr.io"), - "minted secret must contain auth for the validator image's registry") -} - -// The key is minted into a pull Secret for nvcr.io only, as up mints it. -// Another NVIDIA registry, staging NGC included, never gets it. -func TestAutoCreatePullSecretFromEnv_OnlyForNvcrIO(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") - } - t.Setenv("NGC_API_KEY", "nvapi-test-123") - for _, registry := range []string{"stg.nvcr.io", "registry.nvidia.com:5005", "ghcr.io"} { - client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, registry, - clusterValidatorControlPlaneRole, "runid", false) - require.NoError(t, err) - assert.Empty(t, got, registry) - list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) - assert.Empty(t, list.Items, "%s must not get the NGC key", registry) - } + assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), name) } func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() - got, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) + got, note, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", + "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "custom-secret", got, "explicit override always wins") + assert.Empty(t, note) // No cluster mutation expected on the override path. list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) assert.Empty(t, list.Items) } -func TestResolveValidatorPullSecret_ScanWins(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") +// With no matching cluster Secret, the run mints one from this machine's +// credential for the image's registry, the one the local row checked: the +// NGC key for nvcr.io, a docker login for any other registry. +func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T) { + runName := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") + minted := func(t *testing.T, client *fake.Clientset) []byte { + t.Helper() + s, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) + require.NoError(t, err) + return s.Data[corev1.DockerConfigJsonKey] } - cfg := dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "scan-key") - client := fake.NewSimpleClientset(&corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{Name: "operator-secret", Namespace: "nvcf"}, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, - }) - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) - require.NoError(t, err) - // Mirror destination is the validator's well-known name, not the - // source secret's name (avoids same-name collisions with operator - // or chart-owned secrets in the destination namespace). - assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), got) - - mirrored, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) - require.NoError(t, err) - assert.True(t, dockerConfigHasRegistry(mirrored.Data[corev1.DockerConfigJsonKey], "private.registry.test")) -} - -func TestResolveValidatorPullSecret_EnvFallback(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") - } t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") client := fake.NewSimpleClientset() - - got, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) + name, note, err := resolvePullSecret(t, client, "nvcr.io/nvidia/nvcf-byoc/cluster-validator:rc26") require.NoError(t, err) - assert.Equal(t, validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), got) + assert.Equal(t, runName, name) + assert.Contains(t, note, "from NVCF_NGC_API_KEY") + assert.Equal(t, []string{"nvcr.io"}, authsKeys(t, minted(t, client))) - s, err := client.CoreV1().Secrets("default").Get(context.Background(), validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) + dockerHome(t, inlineDockerConfig(t, "stg.nvcr.io", "robot", "pw", "")) + client = fake.NewSimpleClientset() + name, note, err = resolvePullSecret(t, client, "stg.nvcr.io/nvidia/cv:1") require.NoError(t, err) - assert.True(t, dockerConfigHasRegistry(s.Data[corev1.DockerConfigJsonKey], "nvcr.io")) + assert.Equal(t, runName, name, "a docker login reaches the Job the row approved it for") + assert.Contains(t, note, "docker config") + cfg := minted(t, client) + assert.NotContains(t, string(cfg), "nvapi-fallback", "the NGC key never goes to another registry") + assert.Equal(t, []string{"stg.nvcr.io"}, authsKeys(t, cfg)) } -// A mirrored validator image must not receive the NGC key via the env -// fallback: the kubelet would send it to that registry as Basic auth. -func TestResolveValidatorPullSecret_EnvFallbackRefusesMirroredRegistry(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") +// The NGC key is minted for nvcr.io only. Another registry, staging NGC +// included, never gets it. +func TestResolveValidatorPullSecret_NGCKeyOnlyForNvcrIO(t *testing.T) { + t.Setenv("NGC_API_KEY", "nvapi-test-123") + for _, image := range []string{"stg.nvcr.io/a/b:1", "registry.nvidia.com:5005/a/b:1", "ghcr.io/a/b:1", "bareimage"} { + client := fake.NewSimpleClientset() + got, _, err := resolvePullSecret(t, client, image) + require.NoError(t, err) + assert.Empty(t, got, image) + list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) + assert.Empty(t, list.Items, "%s must not get the NGC key", image) } - t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") - client := fake.NewSimpleClientset() - - got, err := resolveValidatorPullSecret(context.Background(), client, "", - "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) - require.NoError(t, err) - assert.Empty(t, got, "no secret may be minted for a non-NGC registry") } func TestResolveValidatorPullSecret_AllEmpty(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "") - } client := fake.NewSimpleClientset() - - got, err := resolveValidatorPullSecret(context.Background(), client, "", "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) + got, _, err := resolvePullSecret(t, client, "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26") require.NoError(t, err) - assert.Equal(t, "", got, "no override, no scan match, no env var -> empty so kubelet surfaces ImagePullBackOff") + assert.Equal(t, "", got, "no override, no scan match, no local credential -> pulled without a secret") } -func TestResolveValidatorPullSecret_UnparsableImage(t *testing.T) { - for _, name := range ngcAPIKeyEnvNames { - t.Setenv(name, "this-key-should-not-create-a-secret") - } +// A refused create is returned with the step that failed, not dropped. +func TestResolveValidatorPullSecret_ReportsARefusedCreate(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") client := fake.NewSimpleClientset() - - got, err := resolveValidatorPullSecret(context.Background(), client, "", "bareimage", clusterValidatorControlPlaneRole, "runid", false) - require.NoError(t, err) - assert.Equal(t, "", got, "no registry hostname means no scan target and no auto-create") - - list, _ := client.CoreV1().Secrets("default").List(context.Background(), metav1.ListOptions{}) - assert.Empty(t, list.Items, "no secret must be created when registry cannot be derived") + client.PrependReactor("create", "secrets", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewForbidden(corev1.Resource("secrets"), "x", errors.New("denied by policy")) + }) + _, _, err := resolvePullSecret(t, client, "nvcr.io/nvidia/cv:1") + require.Error(t, err) + assert.Contains(t, err.Error(), "create pull secret default/") + assert.Contains(t, err.Error(), "denied by policy") } // ModeSplit runs both validators concurrently against contexts that can resolve @@ -412,12 +363,12 @@ func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { assert.Empty(t, other.Items, "it must not match the other role's selector") } -func TestAutoCreatePullSecretFromEnv_RefusesNonNGCRegistry(t *testing.T) { +func TestResolveValidatorPullSecret_RefusesNonNGCRegistry(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-secret-value") client := fake.NewSimpleClientset() - name, err := autoCreatePullSecretFromEnv(context.Background(), client, - "ghcr.io", clusterValidatorControlPlaneRole, "runid", false) + name, _, err := resolveValidatorPullSecret(context.Background(), client, "", + "ghcr.io/a/b:1", clusterValidatorControlPlaneRole, "runid", false) require.NoError(t, err) assert.Empty(t, name, "no secret may be minted for a non-NGC registry") @@ -430,7 +381,7 @@ func TestAutoCreatePullSecretFromEnv_RefusesNonNGCRegistry(t *testing.T) { // In ModeSplit both kubecontexts can resolve to one cluster. Adopting the // other role's managed Secret means that role's sweep deletes it while this // role's pod is still pulling. -func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { +func TestResolveValidatorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") otherRole := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ @@ -443,7 +394,7 @@ func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { } client := fake.NewSimpleClientset(otherRole) - got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.NotEqual(t, otherRole.Name, got, @@ -452,7 +403,7 @@ func TestScanAndMirrorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T) { // An operator-supplied Secret carries no managed labels, so no sweep touches // it and adopting it is safe. -func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { +func TestResolveValidatorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") operator := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{Name: "operator-pull", Namespace: clusterValidatorNamespace}, @@ -461,7 +412,7 @@ func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { } client := fake.NewSimpleClientset(operator) - got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.Equal(t, "operator-pull", got) @@ -470,7 +421,7 @@ func TestScanAndMirrorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { // No Secret another run minted is adopted, even one of the same role: it may // hold a stale key, may be deleted by its own run's sweep mid-pull, and a // --no-cleanup one would otherwise be adopted by every later run. -func TestScanAndMirrorPullSecret_NeverAdoptsAnotherRunsSecret(t *testing.T) { +func TestResolveValidatorPullSecret_NeverAdoptsAnotherRunsSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") secret := func(runID string, preserve bool) *corev1.Secret { return &corev1.Secret{ @@ -485,7 +436,7 @@ func TestScanAndMirrorPullSecret_NeverAdoptsAnotherRunsSecret(t *testing.T) { } client := fake.NewSimpleClientset(secret("earlier", false), secret("kept", true)) - got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.Empty(t, got, "a managed Secret from another run must not be adopted") @@ -556,12 +507,12 @@ func TestValidatorPullSecretRunName_CarriesTheRunID(t *testing.T) { } // The mint path must use the run-scoped name, not the role name. -func TestAutoCreatePullSecretFromEnv_MintsUnderTheRunScopedName(t *testing.T) { +func TestResolveValidatorPullSecret_MintsUnderTheRunScopedName(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-secret-value") client := fake.NewSimpleClientset() - got, err := autoCreatePullSecretFromEnv(context.Background(), client, - "nvcr.io", clusterValidatorControlPlaneRole, "a1b2c3d4e5", false) + got, _, err := resolveValidatorPullSecret(context.Background(), client, "", + "nvcr.io/nvidia/cv:1", clusterValidatorControlPlaneRole, "a1b2c3d4e5", false) require.NoError(t, err) assert.Contains(t, got, "a1b2c3d4e5", "the minted secret must be run-scoped") } @@ -569,7 +520,7 @@ func TestAutoCreatePullSecretFromEnv_MintsUnderTheRunScopedName(t *testing.T) { // A released CLI's pull Secret carries managed-by=nvcf-cli and the bare name. // It is that CLI's to delete, so adopting it breaks a pull mid-flight or // reuses a stale key forever. -func TestScanAndMirrorPullSecret_NeverAdoptsAReleasedCLIsSecret(t *testing.T) { +func TestResolveValidatorPullSecret_NeverAdoptsAReleasedCLIsSecret(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") legacy := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ @@ -585,7 +536,7 @@ func TestScanAndMirrorPullSecret_NeverAdoptsAReleasedCLIsSecret(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: cfg}, } client := fake.NewSimpleClientset(legacy) - got, err := scanAndMirrorPullSecret(context.Background(), client, "nvcr.io", + got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", clusterValidatorComputePlaneRole, "runid", false) require.NoError(t, err) assert.Empty(t, got) @@ -607,12 +558,12 @@ func TestPullSecret_PreservedRunIsMarkedOnBothPaths(t *testing.T) { Data: map[string][]byte{corev1.DockerConfigJsonKey: dockerConfigBlob(t, "private.registry.test", "$oauthtoken", "key")}, }) - _, err := scanAndMirrorPullSecret(context.Background(), mirror, "private.registry.test", + _, _, err := resolveValidatorPullSecret(context.Background(), mirror, "", "private.registry.test/cv:1", clusterValidatorControlPlaneRole, "runid", preserve) require.NoError(t, err) mint := fake.NewSimpleClientset() - _, err = autoCreatePullSecretFromEnv(context.Background(), mint, "nvcr.io", clusterValidatorControlPlaneRole, - "runid", preserve) + _, _, err = resolveValidatorPullSecret(context.Background(), mint, "", "nvcr.io/nvidia/cv:1", + clusterValidatorControlPlaneRole, "runid", preserve) require.NoError(t, err) for path, client := range map[string]*fake.Clientset{"mirror": mirror, "mint": mint} { s, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 5739545a34..b219ee0019 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -19,6 +19,7 @@ package selfhosted import ( "context" + "errors" "fmt" "net" "net/http" @@ -34,9 +35,9 @@ import ( const ( registryProbeTimeout = 10 * time.Second - // certManagerRegistry is cert-manager's upstream registry. It is only - // contacted when the stack is not rewriting cert-manager images to - // global.image.registry, which global.yaml.gotmpl does for all five of them. + // certManagerRegistry is cert-manager's upstream registry. The stack moves + // the cert-manager controller images to global.image.registry, but the + // ACME solver stays here unless certManager.acmesolver.image is set. certManagerRegistry = "quay.io" // ngcRegistry is the default global.image.registry in the stack's @@ -45,11 +46,12 @@ const ( ngcRegistry = "nvcr.io" ) -// RegistryCredentialChecker probes whether credentials are present and valid -// for a registry. repoHint is the repository path used as the OAuth scope; -// pass "" to probe without a specific scope (works for public registries). -// critical signals that anonymous success is insufficient; configured credentials -// must be present. Returns nil on success, a descriptive error otherwise. +// RegistryCredentialChecker probes whether the local credential for a +// registry is accepted. repoHint is the repository path used as the OAuth +// scope; pass "" to probe without a specific scope. critical signals that +// anonymous access is not enough: the install pulls private repositories. +// Returns nil when a credential was sent and accepted, and otherwise a +// registryProbeOutcome or a plain error for a probe the run's context ended. type RegistryCredentialChecker func(ctx context.Context, registry, repoHint string, critical bool) error // NewRegistryCredentialChecker returns a production RegistryCredentialChecker @@ -58,134 +60,220 @@ func NewRegistryCredentialChecker() RegistryCredentialChecker { return probeRegistryCredential } +// registryProbeKind classifies a probe that did not verify a credential. +type registryProbeKind int + +const ( + // probeSkipped: the registry speaks a flow this probe does not (ECR's + // SigV4, Basic auth, no Bearer realm), did not identify as a registry, + // or named a token realm the CLI will not send credentials to. + probeSkipped registryProbeKind = iota + 1 + // probeAnonymous: reachable without a credential, and none was found + // locally, so nothing was checked. + probeAnonymous + // probeNotVerified: a credential exists, but /v2/ lets anyone in, so it + // was never sent. + probeNotVerified + // probeNoCredential: the registry needs a credential and none was read + // locally. Not proof there is none: a helper may not be readable here. + probeNoCredential + // probeUnverifiable: the registry or its token service could not be + // reached, or failed, after retries. A limit of this machine or a + // transient fault, not evidence about the credential. + probeUnverifiable + // probeRejected: the token endpoint answered 401 or 403 to a request + // that carried the credential. The one outcome that is evidence of a bad + // credential. + probeRejected +) + +// registryProbeOutcome is the result of a probe that did not verify a +// credential. Only probeRejected can fail a run. +type registryProbeOutcome struct { + kind registryProbeKind + detail string + // ngcKey marks a rejected NGC API key read from the environment. + ngcKey bool +} + +func (o registryProbeOutcome) Error() string { return o.detail } + // probeRegistryCredential authenticates to registry using the OCI Bearer token -// flow. repoHint is the OAuth scope repository path. +// flow, with the run's local credential for it. repoHint is the OAuth scope +// repository path. // -// When critical is true, anonymous success is not sufficient: the install pulls -// private repositories, so a local credential must also be present. -// -// Returns errRegistryProbeSkipped for registries this flow cannot speak to -// (ECR's SigV4, a Basic challenge, a 200 that does not look like a registry) -// and errRegistryCredentialsUnverified when no local credential is readable. -// Both are advisory: the caller must not fail the run on either. +// Exactly one result can count against the credential: a 401 or 403 from the +// token endpoint to a request that carried it. Unreachable registries, token +// services that fail or throttle, and realms the CLI refuses are retried where +// that can help, then reported as advisory outcomes. func probeRegistryCredential(ctx context.Context, registry, repoHint string, critical bool) error { // ECR uses AWS SigV4, not the OCI Bearer flow, so this probe cannot speak - // to it. Skip rather than fail: returning an error here makes an - // ECR-hosted validator image unconditionally fail preflight, so --wait - // could never converge. + // to it. if isECRRegistry(registry) { - return errRegistryProbeSkipped{ - reason: "ECR uses AWS SigV4; verify manually with 'aws ecr get-login-password'", - } + return registryProbeOutcome{kind: probeSkipped, + detail: "ECR uses AWS SigV4; verify with: " + ecrLoginHint(registry)} } pctx, cancel := context.WithTimeout(ctx, registryProbeTimeout) defer cancel() + client := newRegistryHTTPClient(registryProbeTimeout) + creds := registryCredentialsFrom(ctx) - client := &http.Client{Timeout: registryProbeTimeout, CheckRedirect: refuseInsecureRedirect} + // interrupted keeps an ended run from being graded as a registry fault. + interrupted := func(err error) error { + if ctx.Err() != nil { + return fmt.Errorf("checking %s: %w", registry, ctx.Err()) + } + return err + } // Step 1: probe /v2/ unauthenticated. - probeURL := "https://" + registry + "/v2/" - req, err := http.NewRequestWithContext(pctx, http.MethodGet, probeURL, nil) + resp, err := doRegistryRequest(pctx, client, func() (*http.Request, error) { + return http.NewRequestWithContext(pctx, http.MethodGet, "https://"+registry+"/v2/", nil) + }) if err != nil { - return fmt.Errorf("build request: %w", err) - } - resp, err := client.Do(req) - if err != nil { - return fmt.Errorf("cannot reach %s: %w", registry, err) + var refused errRefusedRedirect + if errors.As(err, &refused) { + return registryProbeOutcome{kind: probeSkipped, detail: refused.msg} + } + return interrupted(registryProbeOutcome{kind: probeUnverifiable, + detail: fmt.Sprintf("could not verify credentials from this machine: cannot reach %s: %v", registry, err)}) } - // A 200 only proves /v2/ is anonymously readable, which says nothing about - // the repositories the install actually pulls. Require the registry to - // identify itself as an OCI registry so a captive portal or TLS-intercepting - // proxy answering 200 HTML is not read as success. + // A response only says something about credentials when it comes from a + // registry. A captive portal or TLS-intercepting proxy answers too, so + // require the registry to identify itself. The header is a Docker + // convention rather than an OCI requirement, so a conformant registry + // may omit it: report that the result is unverifiable instead of + // guessing either way. isOCI := resp.Header.Get("Docker-Distribution-Api-Version") != "" || strings.Contains(strings.Join(resp.Header.Values("Www-Authenticate"), ","), "realm") - - switch resp.StatusCode { - case http.StatusOK: - resp.Body.Close() - if !isOCI { - // A captive portal or TLS-intercepting proxy also answers 200. The - // header is a Docker convention rather than an OCI requirement, so - // a conformant registry may legitimately omit it: report that the - // result is unverifiable instead of guessing either way. - return errRegistryProbeSkipped{ - reason: fmt.Sprintf("%s answered 200 but did not identify as an OCI registry; "+ - "if this is unexpected, check for a proxy or captive portal", registry), - } - } - // Anonymous read works. For a critical registry that is still not - // enough: the install pulls private repositories, so a credential must - // exist. It cannot be verified here, since /v2/ accepts anyone, so say - // so rather than report "credentials valid". - if !critical { - return nil - } - if err := requireConfiguredCredentials(registry); err != nil { - return err - } - return errRegistryCredentialsNotVerified{registry: registry} - case http.StatusUnauthorized: - // Auth required - proceed with token exchange. - default: - resp.Body.Close() - return fmt.Errorf("unexpected status %s from %s", resp.Status, registry) - } - - // Step 2: exchange credentials for a Bearer token using the actual repo - // from the configured image (repoHint). Using a fake repo name causes - // org-level 403s from NGC and GHCR for non-existent orgs, which is - // indistinguishable from bad credentials. wwwAuth := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) resp.Body.Close() + switch { + case isTransientStatus(resp.StatusCode) || (isOCI && resp.StatusCode != http.StatusOK && + resp.StatusCode != http.StatusUnauthorized): + return interrupted(registryProbeOutcome{kind: probeUnverifiable, + detail: fmt.Sprintf("could not verify credentials from this machine: %s answered %s", registry, resp.Status)}) + case !isOCI && resp.StatusCode != http.StatusUnauthorized: + return registryProbeOutcome{kind: probeSkipped, + detail: fmt.Sprintf("%s answered %s but did not identify as an OCI registry; "+ + "if this is unexpected, check for a proxy or captive portal", registry, resp.Status)} + } + + cred, hasCred, lookupErr := creds.lookup(pctx, registry) + if resp.StatusCode == http.StatusOK { + // Anonymous read works, which says nothing about the repositories + // the install pulls, and a credential cannot be checked where /v2/ + // accepts anyone. + if hasCred { + return registryProbeOutcome{kind: probeNotVerified, + detail: "credentials configured (" + cred.source + "); not verified, " + + "because the registry allows anonymous access to /v2/"} + } + return anonymousOutcome(registry, critical, lookupErr) + } // Only the Bearer flow is implemented. Self-hosted Harbor and htpasswd // mirrors commonly answer with Basic, where the Bearer path would report a // spurious credential failure, so skip instead. if scheme := authChallengeScheme(wwwAuth); scheme != "" && !strings.EqualFold(scheme, "Bearer") { - return errRegistryProbeSkipped{ - reason: fmt.Sprintf("%s uses %s auth; only the OCI Bearer flow is probed", registry, scheme), - } + return registryProbeOutcome{kind: probeSkipped, + detail: fmt.Sprintf("%s uses %s auth; only the OCI Bearer flow is probed", registry, scheme)} } - _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth) - if err != nil { - // Use credentialsForRegistry (not ngcCredentials) so NGC_API_KEY does - // not masquerade as credentials for quay.io, GHCR, or Harbor - those - // registries reject NGC tokens, which would wrongly produce "credentials - // rejected" when the real diagnosis is "no credentials configured." - if _, _, hasCreds := credentialsForRegistry(registry); !hasCreds { - // Same situation as the critical path below, so the same verdict: - // no readable local credential is not proof that none exists (a - // helper binary may be missing from PATH, or the login may live - // outside the docker config entirely). - return errRegistryCredentialsUnverified{registry: registry} + // Step 2: exchange the credential for a Bearer token scoped to the actual + // repository (repoHint). A made-up repository name draws org-level 403s + // from NGC and GHCR that would read as a rejected credential. + var sent *registryCredential + if hasCred { + sent = &cred + } + _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth, sent) + if err == nil { + if !hasCred { + return anonymousOutcome(registry, critical, lookupErr) } - return fmt.Errorf("credentials rejected by %s: %w", registry, err) + return nil + } + var te *tokenExchangeError + switch { + case !errors.As(err, &te): + return interrupted(registryProbeOutcome{kind: probeUnverifiable, + detail: "could not verify credentials from this machine: " + err.Error()}) + case te.refused: + return registryProbeOutcome{kind: probeSkipped, detail: te.msg} + case te.rejected(): + return registryProbeOutcome{kind: probeRejected, ngcKey: cred.ngcKey, + detail: fmt.Sprintf("credentials from %s rejected: %s; %s", cred.source, te.msg, rejectedHint(registry, cred))} + case !hasCred && (te.status == http.StatusUnauthorized || te.status == http.StatusForbidden): + // Anonymous access refused: the registry needs a credential this + // machine does not have. + return noCredentialOutcome(registry, lookupErr) } - // For critical registries, a successful anonymous token is not enough: - // if the actual install pulls private images, anonymous access will fail. - if critical { - return requireConfiguredCredentials(registry) + return interrupted(registryProbeOutcome{kind: probeUnverifiable, + detail: "could not verify credentials from this machine: " + te.msg}) +} + +// anonymousOutcome grades a registry that let this machine in without a +// credential. A critical registry still needs one for the private +// repositories the install pulls. +func anonymousOutcome(registry string, critical bool, lookupErr error) error { + if critical || lookupErr != nil { + return noCredentialOutcome(registry, lookupErr) } - return nil + return registryProbeOutcome{kind: probeAnonymous, detail: "reachable anonymously; no local credential checked"} } -// errRegistryCredentialsNotVerified marks a registry that allows anonymous -// access to /v2/: a local credential exists, but nothing here proves the -// registry accepts it. Reported as a pass that says so. -type errRegistryCredentialsNotVerified struct{ registry string } +// noCredentialOutcome reports that no local credential was read for +// registry, with the reason a credential store failed when one did. +func noCredentialOutcome(registry string, lookupErr error) error { + why := "(a credential helper such as credsStore may not be readable here)" + if lookupErr != nil { + why = "(reading them failed: " + lookupErr.Error() + ")" + } + return registryProbeOutcome{kind: probeNoCredential, + detail: fmt.Sprintf("no local credentials found for %s %s; if 'docker pull' works this can be ignored, "+ + "otherwise %s", registry, why, loginHint(registry))} +} -func (e errRegistryCredentialsNotVerified) Error() string { - return "credentials configured; not verified, because the registry allows anonymous access to /v2/" +// loginHint says how to give this machine a credential for registry. docker +// reads $DOCKER_CONFIG/config.json, ~/.docker/config.json by default. +func loginHint(registry string) string { + if isECRRegistry(registry) { + return "run: " + ecrLoginHint(registry) + } + login := "run: docker login " + registry + if isNGCKeyRegistry(registry) { + return "export NGC_API_KEY, or " + login + " --username '$oauthtoken'" + } + return login + " (docker reads $DOCKER_CONFIG/config.json, ~/.docker/config.json by default)" } -// errRegistryProbeSkipped marks a registry this probe cannot speak to. The -// caller reports it as a skip rather than a credential failure. -type errRegistryProbeSkipped struct{ reason string } +// rejectedHint says how to replace a credential registry refused. +func rejectedHint(registry string, cred registryCredential) string { + if cred.ngcKey { + return "generate a new NGC API key and export it as " + cred.source + } + return loginHint(registry) +} -func (e errRegistryProbeSkipped) Error() string { return e.reason } +// ecrLoginHint is a command that logs in to an ECR registry in its own +// region, which also proves the registry accepts the operator's AWS identity. +func ecrLoginHint(registry string) string { + region := "" + if host, _, err := net.SplitHostPort(registry); err == nil { + registry = host + } + if _, rest, ok := strings.Cut(registry, ".dkr.ecr."); ok { + region, _, _ = strings.Cut(rest, ".") + } + cmd := "aws ecr get-login-password" + if region != "" { + cmd += " --region " + region + } + return cmd + " | docker login --username AWS --password-stdin " + registry +} // selectAuthChallenge picks the challenge to answer when a registry offers // several, as it may in separate WWW-Authenticate headers: the Bearer one if @@ -238,35 +326,12 @@ func authChallengeScheme(header string) string { return header } -// requireConfiguredCredentials reports an error when no credential is reachable -// for the registry. -// -// A missing credential is a warning, not a hard failure: credsFromDockerConfig -// reads inline auth entries and asks credsStore / credHelpers helpers, but a -// helper binary can be absent from PATH or refuse to answer non-interactively. -// The install path also mints or mirrors a pull secret of its own, so preflight -// must not be the thing that blocks. -func requireConfiguredCredentials(registry string) error { - if _, _, ok := credentialsForRegistry(registry); ok { - return nil - } - return errRegistryCredentialsUnverified{registry: registry} -} - -// errRegistryCredentialsUnverified means no credential was found locally. The -// caller downgrades this to a warning. -type errRegistryCredentialsUnverified struct{ registry string } - -func (e errRegistryCredentialsUnverified) Error() string { - return fmt.Sprintf("no local credentials found for %s "+ - "(a credential helper such as credsStore is not readable here); "+ - "if 'docker pull' works this can be ignored, otherwise add an entry to "+ - "~/.docker/config.json or set NGC_API_KEY for NGC registries", e.registry) -} - // isECRRegistry returns true for AWS Elastic Container Registry hostnames, // which use AWS SigV4 auth instead of the OCI Bearer token flow. func isECRRegistry(registry string) bool { + if host, _, err := net.SplitHostPort(registry); err == nil { + registry = host + } return strings.Contains(registry, ".dkr.ecr.") && strings.HasSuffix(registry, ".amazonaws.com") } @@ -280,12 +345,36 @@ type RegistryEntry struct { // Empty means probe without a specific scope, which works for public // registries (quay.io, Docker Hub public images) and GHCR anonymous access. RepoHint string - // Critical marks registries whose credential failure should be a hard error - // rather than a warning. NGC (nvcr.io) is always critical; customer-supplied - // extras default to non-critical. + // Critical marks a registry a source named that the install must pull + // private images from: an NVIDIA registry named by the validator image or + // the stack. A credential it rejects fails the run; everything else about + // it, and every other registry, is a warning at most. Critical bool } +// ParseRegistryExtra parses one --cluster-validator-registries entry, +// host[:port][/path]. A path, as the stack's global.image.registry may carry, +// becomes the probe's scope hint. Anything else is an error naming the entry. +func ParseRegistryExtra(s string) (RegistryEntry, error) { + s = strings.TrimSpace(s) + hostPort, path, _ := strings.Cut(s, "/") + host, port := parseRegistryHostPort(hostPort) + path = strings.TrimSuffix(path, "/") + if host == "" || (path != "" && !isRepositoryPath(path)) { + return RegistryEntry{}, fmt.Errorf("%q: expected host[:port] or host[:port]/path, "+ + "for example harbor.example.com:5000/nvcf", s) + } + reg := host + if port != 443 { + reg = net.JoinHostPort(host, strconv.Itoa(port)) + } else if strings.Contains(host, ":") { + // IPv6 literal on the default port. parseRegistryHostPort returns + // it unbracketed, so bracket it once for the URL host. + reg = "[" + host + "]" + } + return RegistryEntry{Registry: reg, RepoHint: path}, nil +} + // StackValues are the stack settings preflight needs, read from the stack's // environment values with the same layering helmfile uses. type StackValues struct { @@ -294,6 +383,12 @@ type StackValues struct { // ImageRegistry is global.image.registry. The stack renders // registry + "/" + repository, so it may carry a path. ImageRegistry string + // ImageRepository is global.image.repository, the NGC org and team or + // mirror path every stack image is pulled from. + ImageRepository string + // CertManagerEnabled is certManager.enabled, the cert-manager release's + // condition. + CertManagerEnabled bool // ACMESolverRepository is certManager.acmesolver.image.repository. When // unset the ACME solver keeps the chart's quay.io/jetstack default. ACMESolverRepository string @@ -302,6 +397,10 @@ type StackValues struct { // Gateways are the NVCF Gateways the stack names under // ingress.gatewayApi.gateways, as sorted, distinct namespace/name entries. Gateways []string + // ExternalComponents are the stack dependencies the stack does not + // install, because their release condition is off: nats, openbao or + // cassandra. The validator reads them as NVCF_EXTERNAL_COMPONENTS. + ExternalComponents []string } // LoadStackValues reads files in order and layers each over the previous, @@ -322,32 +421,50 @@ func LoadStackValues(files []string) StackValues { found = true mergeValues(merged, doc) } - values := StackValues{ + return StackValues{ Found: found, ImageRegistry: digString(merged, "global", "image", "registry"), + ImageRepository: strings.Trim(digString(merged, "global", "image", "repository"), "/"), + CertManagerEnabled: releaseCondition(merged, "certManager", "enabled"), ACMESolverRepository: digString(merged, "certManager", "acmesolver", "image", "repository"), EnvoyGatewayNamespace: digString(merged, "ingress", "gatewayApi", "controllerNamespace"), Gateways: stackGateways(merged), + ExternalComponents: stackExternalComponents(merged), } - return values +} + +// stackExternalComponents returns the validator's external components the +// stack leaves out: each release whose condition (nats.enabled, +// openbao.enabled, cassandra.enabled) is set and not true. A component the +// values never mention is not listed; helmfile refuses to evaluate a missing +// condition, so such values do not describe a control-plane install. +func stackExternalComponents(merged map[string]any) []string { + var out []string + for _, component := range []string{"nats", "openbao", "cassandra"} { + if _, set := merged[component]; set && !releaseCondition(merged, component, "enabled") { + out = append(out, component) + } + } + return out } // stackGateways returns the Gateways the stack wires NVCF routes to, as -// sorted, distinct namespace/name entries, applying the gates its template -// applies (global.yaml.gotmpl, nvcfGatewayRoutes): none unless -// ingress.gatewayApi.enabled, shared and grpc always, nats only with its -// route enabled, and llmGrpc and llmQuic only with the LLM worker route. An -// environment file can name a Gateway whose route stays off, and the stack +// sorted, distinct namespace/name entries, applying the gates the stack +// applies. The ingress release that renders nvcfGatewayRoutes has the +// condition ingress.gatewayApi.enabled. Inside it global.yaml.gotmpl wires +// shared and grpc always, nats only when routes.nats.enabled, and llmGrpc +// and llmQuic only when routes.llmWorker.enabled, each read by a template if. +// An environment file can name a Gateway whose route stays off, and the stack // never creates or wires that Gateway, so the validator must not look for it. func stackGateways(merged map[string]any) []string { - if !digBool(merged, "ingress", "gatewayApi", "enabled") { + if !releaseCondition(merged, "ingress", "gatewayApi", "enabled") { return nil } wired := []string{"shared", "grpc"} - if digBool(merged, "ingress", "gatewayApi", "routes", "nats", "enabled") { + if templateTruth(digAny(merged, "ingress", "gatewayApi", "routes", "nats", "enabled")) { wired = append(wired, "nats") } - if digBool(merged, "ingress", "gatewayApi", "routes", "llmWorker", "enabled") { + if templateTruth(digAny(merged, "ingress", "gatewayApi", "routes", "llmWorker", "enabled")) { wired = append(wired, "llmGrpc", "llmQuic") } gateways, _ := digAny(merged, "ingress", "gatewayApi", "gateways").(map[string]any) @@ -382,13 +499,38 @@ func mergeValues(dst, src map[string]any) { } } -// digBool reads a YAML boolean, false when absent or of another type, as the -// stack's dig with a false default reads it. -func digBool(m map[string]any, keys ...string) bool { +// releaseCondition reads a helmfile release condition, which is on only for +// a YAML boolean true. A quoted "true" leaves the release out. +func releaseCondition(m map[string]any, keys ...string) bool { b, _ := digAny(m, keys...).(bool) return b } +// templateTruth reads a value the way a Go template's if does: false, zero, +// empty and nil are false, and anything else is true, a quoted "false" +// included. The stack's route gates are such ifs over a dig. +func templateTruth(v any) bool { + switch x := v.(type) { + case nil: + return false + case bool: + return x + case string: + return x != "" + case float64: + return x != 0 + case int64: + return x != 0 + case int: + return x != 0 + case map[string]any: + return len(x) > 0 + case []any: + return len(x) > 0 + } + return true +} + func digString(m map[string]any, keys ...string) string { s, _ := digAny(m, keys...).(string) return strings.TrimSpace(s) @@ -406,100 +548,88 @@ func digAny(m map[string]any, keys ...string) any { return cur } -// EnumerateRegistries builds the deduplicated list of registries to credential- -// check from the image ref, cert-manager (quay.io), the stack values -// (global.image.registry), and operator-supplied extras. stackValuesFiles are -// layered in order (base.yaml first, then the environment file). -func EnumerateRegistries(imageRef string, stackValuesFiles []string, extras []string) []RegistryEntry { - seen := make(map[string]bool) +// EnumerateRegistries builds the list of registries to credential-check from +// the validator image ref, the stack values (global.image.registry and +// repository, and quay.io for the cert-manager ACME solver), and the +// operator-supplied extras. stack is empty when the values that describe the +// install could not be read; then only the image and the extras name +// registries, and nvcr.io is a non-critical guess. +func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEntry) []RegistryEntry { var out []RegistryEntry - stack := LoadStackValues(stackValuesFiles) // add reports whether the registry is in the list, so a source only counts - // as having named a registry once its value passed validation. + // as having named a registry once its value passed validation. A registry + // already listed is listed again only for a scope not yet probed: the + // validator image's org and the stack's org can differ on one registry. add := func(registry, repoHint string, critical bool) bool { registry = strings.TrimSpace(registry) if registry == "" { return false } - if seen[registry] { - return true - } // Every source goes through the same host validation. The probe builds // "https://" + registry + "/v2/", so a value carrying "/" or "@" moves // the host: global.image.registry set to "nvcr.io@attacker.example.com" - // in a values file the CLI finds by walking up from CWD would otherwise - // aim an outbound request wherever that names. Extras were guarded via - // parseRegistryHostPort; the image ref and the values file were not. - if !isBareRegistryHost(strings.TrimSuffix(strings.TrimPrefix(registry, "["), "]")) && - !isBareRegistryHost(registry) { + // would otherwise aim an outbound request wherever that names. + if host, _ := parseRegistryHostPort(registry); host == "" { return false } - seen[registry] = true + for _, e := range out { + if e.Registry == registry && (e.RepoHint == repoHint || repoHint == "") { + return true + } + } out = append(out, RegistryEntry{Registry: registry, RepoHint: repoHint, Critical: critical}) return true } // Source 1: base registry from the configured validator image. // Carry the repo path as a scope hint so the token exchange uses the - // operator's actual org rather than a fake one - NGC returns 403 for + // operator's actual org rather than a fake one: NGC returns 403 for // orgs the API key cannot access, even if the key itself is valid. // // Critical follows the same rule as every other source rather than being // forced true: an air-gapped install that side-loaded the image never // contacts this registry at pull time (ImagePullPolicy is IfNotPresent). imageNamedRegistry := false - if reg, repo, _, ok := parseImageRef(imageRef); ok && reg != "" { + if reg, repo, _, ok := parseImageRef(imageRef); ok { imageNamedRegistry = add(reg, repo, isNGCRegistry(reg)) } - // Source 2: global.image.registry from the stack values. This catches an - // operator pointing at a custom NGC org or a staging registry that differs - // from the validator image's. The stack renders registry + "/" + repository, - // so "harbor.corp.example/nvcf" is a valid value: probe its host and carry - // the path as the scope hint rather than rejecting the whole value. + // Source 2: global.image.registry and global.image.repository from the + // stack values, which every stack image is pulled from. The probe is + // scoped to that repository, so a key without access to the stack's org + // is caught even when the validator image comes from another org. The + // stack renders registry + "/" + repository, so "harbor.corp.example/nvcf" + // is a valid registry: probe its host and fold the path into the scope. stackNamedRegistry := false if host, path, _ := strings.Cut(stack.ImageRegistry, "/"); host != "" { + scope := strings.Trim(strings.Join([]string{strings.Trim(path, "/"), stack.ImageRepository}, "/"), "/") // If it's an NGC registry, mark critical; customer mirrors are non-critical. - stackNamedRegistry = add(host, path, isNGCRegistry(host)) + stackNamedRegistry = add(host, scope, isNGCRegistry(host)) } // Source 3: cert-manager's ACME solver. global.yaml.gotmpl moves the // controller images to the mirror, but the solver keeps the chart's // quay.io/jetstack default unless certManager.acmesolver.image is set, so // a mirrored site still pulls it from quay.io at its first HTTP-01 order. - // Probe quay.io unless the stack points the solver somewhere else. - if acme := stack.ACMESolverRepository; !stack.Found || acme == "" || - strings.HasPrefix(acme, certManagerRegistry+"/") { + // Probe quay.io unless the stack leaves cert-manager out or points the + // solver somewhere else. Without stack values, probe it as a guess. + if acme := stack.ACMESolverRepository; !stack.Found || + (stack.CertManagerEnabled && (acme == "" || strings.HasPrefix(acme, certManagerRegistry+"/"))) { add(certManagerRegistry, "", false) } - // Source 4: operator-supplied extras (--cluster-validator-registries). - // Preserve non-443 ports so probeRegistryCredential builds the correct - // https://host:port/v2/ URL. net.JoinHostPort brackets IPv6 literals, which - // a bare "%s:%d" would corrupt into https://::1:5000/v2/. + // Source 4: operator-supplied extras (--cluster-validator-registries), + // parsed by ParseRegistryExtra. for _, e := range extras { - host, port := parseRegistryHostPort(e) - if host == "" { - continue - } - reg := host - if port != 0 && port != 443 { - reg = net.JoinHostPort(host, strconv.Itoa(port)) - } else if strings.Contains(host, ":") { - // IPv6 literal on the default port. parseRegistryHostPort returns - // it unbracketed, so bracket it once for the URL host. - reg = "[" + host + "]" - } - add(reg, "", false) + add(e.Registry, e.RepoHint, false) } // Fallback for "no source named a registry at all": no validator image is - // configured and no stack values file resolved. That is the default - // configuration rather than an edge case, and without this the run reports - // on quay.io alone while the operator's NGC credentials go unchecked. - // environments/base.yaml sets global.image.registry to nvcr.io, so it is - // the right guess when there is nothing else to go on. + // configured and no stack values describe the install. Without this the + // run reports on quay.io alone while the operator's NGC credentials go + // unchecked. environments/base.yaml sets global.image.registry to nvcr.io, + // so it is the right guess when there is nothing else to go on. // // Deliberately not triggered when the image or the stack named a non-NGC // registry: that is a mirrored install, which has no reason to reach diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index eba5e24935..37fe7011af 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -20,15 +20,20 @@ package selfhosted import ( "context" "fmt" + "net" "net/http" "net/http/httptest" "os" + "os/exec" "path/filepath" + "sort" "strings" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/yaml" ) // -- probeRegistryCredential -- @@ -51,7 +56,16 @@ func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { // Use the test server's host as the registry. host := strings.TrimPrefix(srv.URL, "https://") err := probeRegistryCredential(context.Background(), host, "", false) - assert.NoError(t, err, "public registry (200 on /v2/) must not return an error") + var outcome registryProbeOutcome + require.ErrorAs(t, err, &outcome) + assert.Equal(t, probeAnonymous, outcome.kind, "no credential was sent, so none is reported valid") + + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false). + Run(context.Background()) + assert.True(t, r.Passed) + assert.Equal(t, SeverityInfo, r.Severity) + assert.Contains(t, r.Message, "reachable anonymously; no local credential checked") + assert.NotContains(t, r.Message, "credentials valid") } func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { @@ -84,7 +98,16 @@ func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { host := strings.TrimPrefix(registrySrv.URL, "https://") err := probeRegistryCredential(context.Background(), host, "", false) - assert.NoError(t, err, "successful token exchange must return nil") + var outcome registryProbeOutcome + require.ErrorAs(t, err, &outcome, "an anonymous token is not a valid credential") + assert.Equal(t, probeAnonymous, outcome.kind) + + dockerHome(t, inlineDockerConfig(t, host, "u", "p", "")) + err = probeRegistryCredential(context.Background(), host, "", false) + assert.NoError(t, err, "a token issued for a credential that was sent is a valid credential") + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false). + Run(context.Background()) + assert.Contains(t, r.Message, "credentials valid") } func TestProbeRegistryCredential_AuthFails(t *testing.T) { @@ -125,7 +148,7 @@ func TestProbeRegistryCredential_ECRSkipped(t *testing.T) { // -- EnumerateRegistries -- func TestEnumerateRegistries_FromImageRef(t *testing.T) { - entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", nil, nil) + entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", StackValues{}, nil) require.NotEmpty(t, entries) found := false @@ -141,7 +164,7 @@ func TestEnumerateRegistries_FromImageRef(t *testing.T) { func TestEnumerateRegistries_RepoHintFromImageRef(t *testing.T) { // The RepoHint must be the repo path from the image ref so the token // exchange uses the operator's actual org, not a fake one. - entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", nil, nil) + entries := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.1.0", StackValues{}, nil) for _, e := range entries { if e.Registry == "nvcr.io" { assert.Equal(t, "nvidia/nvcf-byoc/cluster-validator", e.RepoHint, @@ -155,7 +178,7 @@ func TestEnumerateRegistries_RepoHintFromImageRef(t *testing.T) { func TestEnumerateRegistries_IncludesCertManagerWhenStackIsNotMirroring(t *testing.T) { // With no stack values file there is no global.image.registry to mirror // cert-manager to, so its upstream registry is genuinely contacted. - entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, nil) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", StackValues{}, nil) found := false for _, e := range entries { if e.Registry == "quay.io" { @@ -167,8 +190,8 @@ func TestEnumerateRegistries_IncludesCertManagerWhenStackIsNotMirroring(t *testi } func TestEnumerateRegistries_ExtrasAppended(t *testing.T) { - entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, - []string{"harbor.company.internal:443", "ghcr.io:443"}) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", StackValues{}, + parseExtras(t, "harbor.company.internal:443", "ghcr.io:443")) registries := make(map[string]bool, len(entries)) for _, e := range entries { @@ -180,8 +203,7 @@ func TestEnumerateRegistries_ExtrasAppended(t *testing.T) { func TestEnumerateRegistries_NoDuplicates(t *testing.T) { // Pass nvcr.io both as the image registry and as an extra - must not dedup. - entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, - []string{"nvcr.io"}) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", StackValues{}, parseExtras(t, "nvcr.io")) count := 0 for _, e := range entries { @@ -202,7 +224,7 @@ global: registry: stg.nvcr.io `))) - entries := EnumerateRegistries("nvcr.io/some/image:1.0", []string{valuesPath}, nil) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", LoadStackValues([]string{valuesPath}), nil) found := false for _, e := range entries { if e.Registry == "stg.nvcr.io" { @@ -254,7 +276,7 @@ func TestIsECRRegistry(t *testing.T) { func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { checker := func(_ context.Context, reg, _ string, _ bool) error { return nil } - spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}) + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false) r := spec.Run(context.Background()) assert.True(t, r.Passed) assert.Equal(t, "info", r.Severity) @@ -265,7 +287,7 @@ func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { checker := func(_ context.Context, reg, _ string, _ bool) error { return errorf("credentials rejected") } - spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}) + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false) r := spec.Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, "error", r.Severity, "critical registry failure must be error severity") @@ -275,7 +297,7 @@ func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing. checker := func(_ context.Context, reg, _ string, _ bool) error { return errorf("credentials rejected") } - spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}) + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}, "quay.io", false) r := spec.Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, "warning", r.Severity, "non-critical registry failure must be warning severity") @@ -283,6 +305,18 @@ func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing. // helpers +// parseExtras parses --cluster-validator-registries entries. +func parseExtras(t *testing.T, entries ...string) []RegistryEntry { + t.Helper() + var out []RegistryEntry + for _, e := range entries { + entry, err := ParseRegistryExtra(e) + require.NoError(t, err, e) + out = append(out, entry) + } + return out +} + func errorf(msg string) error { return fmt.Errorf("%s", msg) } func writeFile(path string, data []byte) error { @@ -304,7 +338,7 @@ certManager: repository: mirror.company.internal/jetstack/cert-manager-acmesolver `))) - entries := EnumerateRegistries("nvcr.io/some/image:1.0", []string{valuesPath}, nil) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", LoadStackValues([]string{valuesPath}), nil) for _, e := range entries { assert.NotEqual(t, certManagerRegistry, e.Registry, "a stack mirroring images must not trigger a quay.io probe") @@ -313,7 +347,7 @@ certManager: // A bare IPv6 literal must stay bracketed or the probe URL is malformed. func TestEnumerateRegistries_BracketsIPv6Extras(t *testing.T) { - entries := EnumerateRegistries("nvcr.io/some/image:1.0", nil, []string{"[::1]:5000"}) + entries := EnumerateRegistries("nvcr.io/some/image:1.0", StackValues{}, parseExtras(t, "[::1]:5000")) found := false for _, e := range entries { @@ -330,7 +364,7 @@ func TestEnumerateRegistries_BracketsIPv6Extras(t *testing.T) { // other source. Forcing it true makes an air-gapped install fail preflight for // a registry that is never contacted (ImagePullPolicy is IfNotPresent). func TestEnumerateRegistries_NonNGCImageRegistryIsNotCritical(t *testing.T) { - entries := EnumerateRegistries("mirror.company.internal/nvcf/cluster-validator:1.0", nil, nil) + entries := EnumerateRegistries("mirror.company.internal/nvcf/cluster-validator:1.0", StackValues{}, nil) for _, e := range entries { if e.Registry == "mirror.company.internal" { assert.False(t, e.Critical, "a non-NGC mirror must not be forced critical") @@ -344,7 +378,7 @@ func TestEnumerateRegistries_NonNGCImageRegistryIsNotCritical(t *testing.T) { // and the run would report on quay.io alone, leaving the operator's NGC // credentials unchecked in what is the default configuration. func TestEnumerateRegistries_FallsBackToNGCWhenNothingNamesARegistry(t *testing.T) { - got := EnumerateRegistries("", nil, nil) + got := EnumerateRegistries("", StackValues{}, nil) var ngc *RegistryEntry for i := range got { @@ -365,7 +399,7 @@ func TestEnumerateRegistries_NoNGCFallbackForAMirroredStack(t *testing.T) { require.NoError(t, os.WriteFile(values, []byte("global:\n image:\n registry: harbor.example.com\n"), 0o600)) - got := EnumerateRegistries("", []string{values}, nil) + got := EnumerateRegistries("", LoadStackValues([]string{values}), nil) for _, e := range got { assert.NotEqual(t, "nvcr.io", e.Registry, "a stack that named its own registry must not be probed against NGC") @@ -375,7 +409,7 @@ func TestEnumerateRegistries_NoNGCFallbackForAMirroredStack(t *testing.T) { // The fallback must not shadow or duplicate an NGC registry a source named, // which carries a repo hint and is critical. func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { - got := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", nil, nil) + got := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", StackValues{}, nil) n := 0 for _, e := range got { @@ -394,7 +428,7 @@ func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { // which http.NewRequest rejects. The documented bracketed form must work. func TestEnumerateRegistries_DoesNotDoubleBracketIPv6(t *testing.T) { for _, in := range []string{"[fd00::1]", "fd00::1"} { - got := EnumerateRegistries("", nil, []string{in}) + got := EnumerateRegistries("", StackValues{}, parseExtras(t, in)) var found string for _, e := range got { if strings.Contains(e.Registry, "fd00") { @@ -406,7 +440,7 @@ func TestEnumerateRegistries_DoesNotDoubleBracketIPv6(t *testing.T) { } func TestEnumerateRegistries_KeepsBracketedIPv6WithPort(t *testing.T) { - got := EnumerateRegistries("", nil, []string{"[fd00::1]:5000"}) + got := EnumerateRegistries("", StackValues{}, parseExtras(t, "[fd00::1]:5000")) var found string for _, e := range got { if strings.Contains(e.Registry, "fd00") { @@ -425,7 +459,7 @@ func TestEnumerateRegistries_RejectsHostMovingRegistryStrings(t *testing.T) { require.NoError(t, os.WriteFile(values, []byte("global:\n image:\n registry: nvcr.io@attacker.example.com\n"), 0o600)) - for _, e := range EnumerateRegistries("nvcr.io@evil.test/x/y:1", []string{values}, nil) { + for _, e := range EnumerateRegistries("nvcr.io@evil.test/x/y:1", LoadStackValues([]string{values}), nil) { assert.NotContains(t, e.Registry, "@", "a host-moving string must not be probed") assert.NotContains(t, e.Registry, "attacker.example.com") assert.NotContains(t, e.Registry, "evil.test") @@ -480,7 +514,7 @@ certManager: image: repository: harbor.corp.example/jetstack/cert-manager-acmesolver `))) - got := EnumerateRegistries("", []string{values}, nil) + got := EnumerateRegistries("", LoadStackValues([]string{values}), nil) require.Len(t, got, 1) assert.Equal(t, "harbor.corp.example", got[0].Registry) assert.Equal(t, "nvcf", got[0].RepoHint) @@ -492,7 +526,7 @@ func TestEnumerateRegistries_RejectedValueDoesNotSuppressFallback(t *testing.T) dir := t.TempDir() values := dir + "/base.yaml" require.NoError(t, writeFile(values, []byte("global:\n image:\n registry: \"nvcr.io@evil.test\"\n"))) - got := EnumerateRegistries("", []string{values}, nil) + got := EnumerateRegistries("", LoadStackValues([]string{values}), nil) var names []string for _, e := range got { names = append(names, e.Registry) @@ -509,17 +543,27 @@ func TestEnumerateRegistries_QuayFollowsTheACMESolverImage(t *testing.T) { values := dir + "/base.yaml" names := func() []string { var out []string - for _, e := range EnumerateRegistries("", []string{values}, nil) { + for _, e := range EnumerateRegistries("", LoadStackValues([]string{values}), nil) { out = append(out, e.Registry) } return out } - require.NoError(t, writeFile(values, []byte("global:\n image:\n registry: harbor.corp.example\n"))) + require.NoError(t, writeFile(values, []byte( + "global:\n image:\n registry: harbor.corp.example\ncertManager:\n enabled: true\n"))) assert.Contains(t, names(), certManagerRegistry, "a mirrored stack still pulls the default ACME solver from quay.io") require.NoError(t, writeFile(values, []byte( - "global:\n image:\n registry: harbor.corp.example\ncertManager:\n acmesolver:\n image:\n repository: harbor.corp.example/jetstack/acmesolver\n"))) + "global:\n image:\n registry: harbor.corp.example\ncertManager:\n enabled: true\n"+ + " acmesolver:\n image:\n repository: harbor.corp.example/jetstack/acmesolver\n"))) assert.NotContains(t, names(), certManagerRegistry, "a mirrored ACME solver never reaches quay.io") + + // The cert-manager release's condition is a YAML boolean: off, or a + // quoted "true", installs no cert-manager and no solver. + for _, enabled := range []string{"false", `"true"`} { + require.NoError(t, writeFile(values, []byte( + "global:\n image:\n registry: harbor.corp.example\ncertManager:\n enabled: "+enabled+"\n"))) + assert.NotContains(t, names(), certManagerRegistry, "certManager.enabled: %s", enabled) + } } // "[fd00::1]" with no port must reach the ConfigMap unbracketed; the validator @@ -528,7 +572,7 @@ func TestParseRegistryHostPort_StripsIPv6Brackets(t *testing.T) { host, port := parseRegistryHostPort("[fd00::1]") assert.Equal(t, "fd00::1", host) assert.Equal(t, 443, port) - got := EnumerateRegistries("", nil, []string{"[fd00::1]"}) + got := EnumerateRegistries("", StackValues{}, parseExtras(t, "[fd00::1]")) var names []string for _, e := range got { names = append(names, e.Registry) @@ -540,7 +584,7 @@ func TestParseRegistryHostPort_StripsIPv6Brackets(t *testing.T) { // a registry either, or the nvcr.io fallback is suppressed with nothing probed. func TestEnumerateRegistries_RejectedImageRegistryDoesNotSuppressFallback(t *testing.T) { var names []string - for _, e := range EnumerateRegistries("user@evil.test/nvidia/validator:1", nil, nil) { + for _, e := range EnumerateRegistries("user@evil.test/nvidia/validator:1", StackValues{}, nil) { names = append(names, e.Registry) } assert.Contains(t, names, ngcRegistry) @@ -562,12 +606,12 @@ func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { dockerHome(t, inlineDockerConfig(t, host, "u", "p", "")) err := probeRegistryCredential(context.Background(), host, "", true) - var notVerified errRegistryCredentialsNotVerified - require.ErrorAs(t, err, ¬Verified) + var outcome registryProbeOutcome + require.ErrorAs(t, err, &outcome) + assert.Equal(t, probeNotVerified, outcome.kind) - r := registryCredentialCheck(func(ctx context.Context, reg, repo string, critical bool) error { - return probeRegistryCredential(ctx, reg, repo, critical) - }, RegistryEntry{Registry: host, Critical: true}).Run(context.Background()) + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host, Critical: true}, host, false). + Run(context.Background()) assert.True(t, r.Passed) assert.NotContains(t, r.Message, "credentials valid") assert.Contains(t, r.Message, "not verified") @@ -625,3 +669,453 @@ ingress: assert.Empty(t, LoadStackValues([]string{base}).Gateways, "an entry left empty is one the install does not use") } + +// fakeRegistry is a TLS registry whose /v2/ and token endpoint answer as the +// test says. Its host is the registry name, and every client in the process +// trusts its certificate for the test. +type fakeRegistry struct { + host string + tokenCalls int + authSent []string +} + +func newFakeRegistry( + t *testing.T, v2 func(w http.ResponseWriter, realm string), token func(w http.ResponseWriter), +) *fakeRegistry { + t.Helper() + f := &fakeRegistry{} + var srv *httptest.Server + srv = httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/token" { + f.tokenCalls++ + f.authSent = append(f.authSent, r.Header.Get("Authorization")) + token(w) + return + } + v2(w, srv.URL+"/token") + })) + t.Cleanup(srv.Close) + prev := http.DefaultTransport + http.DefaultTransport = srv.Client().Transport + t.Cleanup(func() { http.DefaultTransport = prev }) + f.host = strings.TrimPrefix(srv.URL, "https://") + return f +} + +func bearerChallenge(w http.ResponseWriter, realm string) { + w.Header().Set("Www-Authenticate", `Bearer realm="`+realm+`",service="test"`) + w.WriteHeader(http.StatusUnauthorized) +} + +func tokenStatus(code int) func(http.ResponseWriter) { + return func(w http.ResponseWriter) { + w.WriteHeader(code) + if code == http.StatusOK { + _, _ = w.Write([]byte(`{"token":"t"}`)) + } + } +} + +// Every grading guard of the registry probe, driven through the real probe +// and the real row: exactly one outcome, a credential the token endpoint +// refused, fails a critical registry. A credential that cannot be checked, +// is missing, or meets a registry this probe cannot speak to is a warning or +// an informational pass. +func TestRegistryCredentialCheck_Grading(t *testing.T) { + prevBackoff := registryRetryBackoff + registryRetryBackoff = time.Millisecond + t.Cleanup(func() { registryRetryBackoff = prevBackoff }) + + type want struct { + passed bool + severity string + message string + } + for name, tc := range map[string]struct { + v2 func(w http.ResponseWriter, realm string) + token func(w http.ResponseWriter) + withCred bool + want want + }{ + "credential accepted": { + v2: bearerChallenge, token: tokenStatus(http.StatusOK), withCred: true, + want: want{true, SeverityInfo, "credentials valid"}, + }, + "credential rejected with 401": { + v2: bearerChallenge, token: tokenStatus(http.StatusUnauthorized), withCred: true, + want: want{false, SeverityError, "rejected"}, + }, + "credential rejected with 403": { + v2: bearerChallenge, token: tokenStatus(http.StatusForbidden), withCred: true, + want: want{false, SeverityError, "rejected"}, + }, + "no credential, anonymous token refused": { + v2: bearerChallenge, token: tokenStatus(http.StatusUnauthorized), + want: want{false, SeverityWarning, "no local credentials found"}, + }, + "no credential, anonymous token issued": { + v2: bearerChallenge, token: tokenStatus(http.StatusOK), + want: want{false, SeverityWarning, "no local credentials found"}, + }, + "token service failing": { + v2: bearerChallenge, token: tokenStatus(http.StatusServiceUnavailable), withCred: true, + want: want{false, SeverityWarning, "could not verify credentials from this machine"}, + }, + "token service throttling": { + v2: bearerChallenge, token: tokenStatus(http.StatusTooManyRequests), withCred: true, + want: want{false, SeverityWarning, "could not verify credentials from this machine"}, + }, + "registry failing": { + v2: func(w http.ResponseWriter, _ string) { + w.Header().Set("Docker-Distribution-Api-Version", "registry/2.0") + w.WriteHeader(http.StatusBadGateway) + }, + withCred: true, + want: want{false, SeverityWarning, "could not verify credentials from this machine"}, + }, + "proxy page instead of a registry": { + v2: func(w http.ResponseWriter, _ string) { w.WriteHeader(http.StatusForbidden) }, + withCred: true, + want: want{true, SeverityInfo, "did not identify as an OCI registry"}, + }, + "captive portal 200": { + v2: func(w http.ResponseWriter, _ string) { w.WriteHeader(http.StatusOK) }, + withCred: true, + want: want{true, SeverityInfo, "did not identify as an OCI registry"}, + }, + "basic auth": { + v2: func(w http.ResponseWriter, _ string) { + w.Header().Set("Www-Authenticate", `Basic realm="harbor"`) + w.WriteHeader(http.StatusUnauthorized) + }, + withCred: true, + want: want{true, SeverityInfo, "uses Basic auth"}, + }, + "negotiate then bearer": { + v2: func(w http.ResponseWriter, realm string) { + w.Header().Add("Www-Authenticate", "Negotiate") + w.Header().Add("Www-Authenticate", `Bearer realm="`+realm+`"`) + w.WriteHeader(http.StatusUnauthorized) + }, + token: tokenStatus(http.StatusUnauthorized), withCred: true, + want: want{false, SeverityError, "rejected"}, + }, + "realm on another host": { + v2: func(w http.ResponseWriter, _ string) { + bearerChallenge(w, "https://attacker.example/token") + }, + withCred: true, + want: want{true, SeverityInfo, "refusing to send credentials"}, + }, + "no realm off nvcr.io": { + v2: func(w http.ResponseWriter, _ string) { + w.Header().Set("Www-Authenticate", "Bearer") + w.WriteHeader(http.StatusUnauthorized) + }, + withCred: true, + want: want{true, SeverityInfo, "named no Bearer token realm"}, + }, + } { + t.Run(name, func(t *testing.T) { + token := tc.token + if token == nil { + token = func(w http.ResponseWriter) { t.Error("the token endpoint must not be called") } + } + reg := newFakeRegistry(t, tc.v2, token) + if tc.withCred { + dockerHome(t, inlineDockerConfig(t, reg.host, "u", "p", "")) + } else { + dockerHome(t, `{}`) + } + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: reg.host, Critical: true}, + reg.host, false).Run(context.Background()) + assert.Equal(t, tc.want.passed, r.Passed, r.Message) + assert.Equal(t, tc.want.severity, r.Severity, r.Message) + assert.Contains(t, r.Message, tc.want.message) + }) + } + + t.Run("ECR", func(t *testing.T) { + const ecr = "123456789012.dkr.ecr.us-west-2.amazonaws.com" + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: ecr, Critical: true}, ecr, false). + Run(context.Background()) + assert.True(t, r.Passed) + assert.Equal(t, SeverityInfo, r.Severity) + assert.Contains(t, r.Message, "aws ecr get-login-password --region us-west-2 | "+ + "docker login --username AWS --password-stdin "+ecr) + }) + + t.Run("unreachable", func(t *testing.T) { + ln, err := net.Listen("tcp", "127.0.0.1:0") + require.NoError(t, err) + host := ln.Addr().String() + require.NoError(t, ln.Close()) + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host, Critical: true}, host, false). + Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, SeverityWarning, r.Severity, "a workstation that cannot reach a registry does not block") + assert.Contains(t, r.Message, "could not verify credentials from this machine") + }) + + t.Run("non-critical rejection", func(t *testing.T) { + reg := newFakeRegistry(t, bearerChallenge, tokenStatus(http.StatusUnauthorized)) + dockerHome(t, inlineDockerConfig(t, reg.host, "u", "p", "")) + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: reg.host}, reg.host, false). + Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, SeverityWarning, r.Severity) + }) +} + +// A 5xx or 429 is retried before it is graded, honoring Retry-After. +func TestProbeRegistryCredential_RetriesTransientFailures(t *testing.T) { + prevBackoff := registryRetryBackoff + registryRetryBackoff = time.Millisecond + t.Cleanup(func() { registryRetryBackoff = prevBackoff }) + calls := 0 + reg := newFakeRegistry(t, bearerChallenge, func(w http.ResponseWriter) { + calls++ + if calls < registryRetryAttempts { + w.Header().Set("Retry-After", "0") + w.WriteHeader(http.StatusTooManyRequests) + return + } + tokenStatus(http.StatusOK)(w) + }) + dockerHome(t, inlineDockerConfig(t, reg.host, "u", "p", "")) + assert.NoError(t, probeRegistryCredential(context.Background(), reg.host, "", true)) + assert.Equal(t, registryRetryAttempts, calls) +} + +// A rejected NGC API key on a run that checks an installed stack is a +// warning: the cluster pulls with its own pull secret. Before install, and +// for any other credential, a rejection on a critical registry is an error. +func TestRegistryCredentialCheck_RejectedNGCKeyAfterInstall(t *testing.T) { + rejectedKey := func(context.Context, string, string, bool) error { + return registryProbeOutcome{kind: probeRejected, ngcKey: true, detail: "credentials from NGC_API_KEY rejected"} + } + rejectedLogin := func(context.Context, string, string, bool) error { + return registryProbeOutcome{kind: probeRejected, detail: "credentials from docker config rejected"} + } + entry := RegistryEntry{Registry: "nvcr.io", Critical: true} + for _, tc := range []struct { + checker RegistryCredentialChecker + postInstall bool + want string + }{ + {rejectedKey, true, SeverityWarning}, + {rejectedKey, false, SeverityError}, + {rejectedLogin, true, SeverityError}, + } { + r := registryCredentialCheck(tc.checker, entry, "nvcr.io", tc.postInstall).Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, tc.want, r.Severity, "postInstall=%v", tc.postInstall) + } +} + +// The stack's org is the probe's scope, so a key without access to it is +// caught even when the validator image comes from another org on the same +// registry: both scopes are probed, each on its own row. +func TestEnumerateRegistries_ProbesTheStacksOrg(t *testing.T) { + stack := StackValues{Found: true, ImageRegistry: "nvcr.io", ImageRepository: "customerorg/team"} + got := EnumerateRegistries("nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0", stack, nil) + var scopes []string + for _, e := range got { + if e.Registry == "nvcr.io" { + assert.True(t, e.Critical) + scopes = append(scopes, e.RepoHint) + } + } + assert.Equal(t, []string{"nvidia/nvcf-byoc/cluster-validator", "customerorg/team"}, scopes) + + cat := buildRegistryCredentialCategory(PreflightConfig{Registries: got, + RegistryChecker: func(context.Context, string, string, bool) error { return nil }}) + var ids []string + for _, c := range cat.checks { + ids = append(ids, c.ID) + } + assert.Contains(t, ids, "registry-cred-nvcr.io") + assert.Contains(t, ids, "registry-cred-nvcr.io/customerorg/team") + + mirrored := StackValues{Found: true, ImageRegistry: "harbor.example.com/nvcf", ImageRepository: "org/team"} + got = EnumerateRegistries("", mirrored, nil) + require.NotEmpty(t, got) + assert.Equal(t, "nvcf/org/team", got[0].RepoHint, "the registry's path and the repository form the scope") + + cfg := buildControlPlaneValidatorConfig(EnumerateRegistries("nvcr.io/nvidia/cv:1", stack, nil)) + assert.Equal(t, 1, strings.Count(cfg, `host: "nvcr.io"`), "one registry is one in-pod endpoint") +} + +// --cluster-validator-registries accepts host[:port][/path]; anything else is +// an error naming the entry rather than a row that silently never appears. +func TestParseRegistryExtra(t *testing.T) { + for in, want := range map[string]RegistryEntry{ + "harbor.example.com": {Registry: "harbor.example.com"}, + "harbor.example.com:443": {Registry: "harbor.example.com"}, + "harbor.example.com:5000/nvcf": {Registry: "harbor.example.com:5000", RepoHint: "nvcf"}, + "harbor.example.com/nvcf/team/": {Registry: "harbor.example.com", RepoHint: "nvcf/team"}, + "[fd00::1]": {Registry: "[fd00::1]"}, + "[fd00::1]:5000": {Registry: "[fd00::1]:5000"}, + } { + got, err := ParseRegistryExtra(in) + require.NoError(t, err, in) + assert.Equal(t, want, got, in) + } + for _, in := range []string{ + "https://harbor.example.com", "harbor.example.com:44x", "nvcr.io:", "nvcr.io:70000", + "harbor.example.com//x", "nvcr.io@attacker.example", "harbor.example.com/a?b", + } { + _, err := ParseRegistryExtra(in) + assert.ErrorContains(t, err, "expected host[:port]", in) + } +} + +// The gates read env values the way the stack does: the ingress release's +// condition is a YAML boolean, and the route gates are template ifs, which +// take a quoted "true" (and a quoted "false") as on. Each gate is toggled on +// its own so one cannot stand in for the other. +func TestLoadStackValues_GatewayGates(t *testing.T) { + dir := t.TempDir() + const gateways = ` + gateways: + shared: {name: shared-gw, namespace: gw} + grpc: {name: grpc-gw, namespace: gw} + nats: {name: nats-gw, namespace: gw} + llmGrpc: {name: llm-grpc-gw, namespace: gw} + llmQuic: {name: llm-quic-gw, namespace: gw} +` + base := []string{"gw/grpc-gw", "gw/shared-gw"} + withNats := []string{"gw/grpc-gw", "gw/nats-gw", "gw/shared-gw"} + withLLM := []string{"gw/grpc-gw", "gw/llm-grpc-gw", "gw/llm-quic-gw", "gw/shared-gw"} + for name, tc := range map[string]struct { + values string + want []string + }{ + "nats only": {"enabled: true\n routes: {nats: {enabled: true}}", withNats}, + "llmWorker only": {"enabled: true\n routes: {llmWorker: {enabled: true}}", withLLM}, + "quoted nats true": {"enabled: true\n routes: {nats: {enabled: \"true\"}}", withNats}, + "quoted nats false": {"enabled: true\n routes: {nats: {enabled: \"false\"}}", withNats}, + "nats null": {"enabled: true\n routes: {nats: {enabled: null}}", base}, + "quoted gateway API": {"enabled: \"true\"", nil}, + "gateway API off": {"enabled: false\n routes: {nats: {enabled: true}}", nil}, + } { + path := filepath.Join(dir, strings.ReplaceAll(name, " ", "-")+".yaml") + require.NoError(t, writeFile(path, []byte("ingress:\n gatewayApi:\n "+tc.values+gateways)), name) + assert.Equal(t, tc.want, LoadStackValues([]string{path}).Gateways, name) + } + + path := filepath.Join(dir, "slash.yaml") + require.NoError(t, writeFile(path, []byte( + "ingress:\n gatewayApi:\n enabled: true\n gateways:\n"+ + " shared: {name: a/b, namespace: gw}\n grpc: {name: grpc-gw, namespace: gw/x}\n"))) + assert.Empty(t, LoadStackValues([]string{path}).Gateways, "a name or namespace with '/' is never forwarded") +} + +// A dependency whose release condition is off is external to the stack, and +// one the values never mention is not reported. +func TestLoadStackValues_ExternalComponents(t *testing.T) { + path := filepath.Join(t.TempDir(), "env.yaml") + require.NoError(t, writeFile(path, []byte( + "nats: {enabled: false}\nopenbao: {enabled: true}\ncassandra: {enabled: \"true\"}\n"))) + assert.Equal(t, []string{"nats", "cassandra"}, LoadStackValues([]string{path}).ExternalComponents) + require.NoError(t, writeFile(path, []byte("global: {}\n"))) + assert.Empty(t, LoadStackValues([]string{path}).ExternalComponents) +} + +// findSelfManagedStack returns the repository's self-managed stack, found +// above the package directory, or skips the test where it is not there, as +// in a sandboxed build. +func findSelfManagedStack(t *testing.T) string { + t.Helper() + dir, err := os.Getwd() + require.NoError(t, err) + for { + stack := filepath.Join(dir, "deploy", "stacks", "self-managed") + if _, err := os.Stat(filepath.Join(stack, "helmfile.d")); err == nil { + return stack + } + parent := filepath.Dir(dir) + if parent == dir { + t.Skip("the self-managed stack is not available here") + } + dir = parent + } +} + +// The Gateways LoadStackValues forwards are the ones the stack renders into +// the ingress release's nvcfGatewayRoutes.gateways, for the default routes +// and with each gated route on, so the CLI's gates cannot drift from the +// template's. Needs helmfile; skipped without it. +func TestLoadStackValues_GatewaysMatchTheRenderedStack(t *testing.T) { + if testing.Short() { + t.Skip("renders the stack with helmfile") + } + helmfile, err := exec.LookPath("helmfile") + if err != nil { + t.Skip("helmfile is not installed") + } + stack := findSelfManagedStack(t) + const common = ` +ingress: + gatewayApi: + controllerNamespace: gateway + gateways: + shared: {name: shared-gw, namespace: gateway} + grpc: {name: grpc-gw, namespace: gateway} + nats: {name: nats-gw, namespace: gateway} + llmGrpc: {name: llm-grpc-gw, namespace: llm} + llmQuic: {name: llm-quic-gw, namespace: llm} +` + const llmWorker = ` + routes: + llmWorker: {enabled: true, backend: {namespace: nvcf}} +global: + workerEndpoints: {llmRequestRouterAddress: "https://router.example.invalid:50071"} +addons: + llm: + requestRouter: + backendRouter: + pylonGrpcDialAddress: "https://router.example.invalid:50071" + pylonReverseTunnelDialAddress: "router.example.invalid:50072" + grpcTls: {enabled: true, issuerRef: {name: test-issuer}} +` + for name, env := range map[string]string{ + "default routes": common, + "nats on": common + " routes:\n nats: {enabled: true}\n", + "quoted nats true": common + " routes:\n nats: {enabled: \"true\"}\n", + "llmWorker on": common + llmWorker, + } { + t.Run(name, func(t *testing.T) { + dir := t.TempDir() + envFile := filepath.Join(dir, "env.yaml") + require.NoError(t, writeFile(envFile, []byte(env))) + out := filepath.Join(dir, "ingress-values.yaml") + cmd := exec.Command(helmfile, "--file", "helmfile.d/02-core.yaml.gotmpl", "--environment", "default", + "--state-values-file", envFile, "--selector", "name=ingress", + "write-values", "--output-file-template", out) + cmd.Dir = stack + cmd.Env = append(os.Environ(), "HELMFILE_ENV=base", "HELMFILE_CACHE_HOME="+filepath.Join(dir, "cache")) + output, err := cmd.CombinedOutput() + require.NoError(t, err, string(output)) + body, err := os.ReadFile(out) + require.NoError(t, err) + var rendered struct { + NvcfGatewayRoutes struct { + Gateways map[string]struct { + Name string `json:"name"` + Namespace string `json:"namespace"` + } `json:"gateways"` + } `json:"nvcfGatewayRoutes"` + } + require.NoError(t, yaml.Unmarshal(body, &rendered)) + var want []string + for _, gw := range rendered.NvcfGatewayRoutes.Gateways { + want = append(want, gw.Namespace+"/"+gw.Name) + } + sort.Strings(want) + require.NotEmpty(t, want, "the ingress release renders the shared and grpc Gateways") + base := filepath.Join(stack, "environments", "base.yaml") + assert.Equal(t, want, LoadStackValues([]string{base, envFile}).Gateways) + }) + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack.go b/src/clis/nvcf-cli/internal/selfhosted/stack.go index 0b4838ef9a..61b5d4c873 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack.go @@ -169,17 +169,11 @@ func splitGitRef(ref string) (url, branch string) { // without the org.opencontainers.image.title layer annotation (which plain // "oras pull" requires to save files to disk). func resolveOCI(ctx context.Context, ref, cacheDir string) (*ResolvedStack, error) { - if cacheDir == "" { - home, err := os.UserCacheDir() - if err != nil { - return nil, fmt.Errorf("resolving cache dir: %w", err) - } - cacheDir = filepath.Join(home, "nvcf-cli", "stacks") + dst, err := ociStackCacheDir(ref, cacheDir) + if err != nil { + return nil, err } - digest := digestFromRef(ref) - dst := filepath.Join(cacheDir, "oci-"+digest) - // Cache hit: sentinel file exists (written only after successful extraction). if _, err := os.Stat(filepath.Join(dst, ".extraction-complete")); err == nil { return &ResolvedStack{Path: dst, Source: "oci", OCIRef: ref}, nil @@ -232,6 +226,37 @@ func resolveOCI(ctx context.Context, ref, cacheDir string) (*ResolvedStack, erro return &ResolvedStack{Path: dst, Source: "oci", OCIRef: ref}, nil } +// ociStackCacheDir is where resolveOCI extracts ref under cacheDir, the +// default cache root when cacheDir is empty. +func ociStackCacheDir(ref, cacheDir string) (string, error) { + if cacheDir == "" { + home, err := os.UserCacheDir() + if err != nil { + return "", fmt.Errorf("resolving cache dir: %w", err) + } + cacheDir = filepath.Join(home, "nvcf-cli", "stacks") + } + return filepath.Join(cacheDir, "oci-"+digestFromRef(ref)), nil +} + +// ExtractedOCIStack returns the directory an earlier ResolveStack extracted +// the oci:// reference ref into, or "" when ref is not an oci:// reference or +// was never extracted. It never fetches: a later ResolveStack reuses that +// extraction as it is, so it holds exactly what the install read. +func ExtractedOCIStack(ref string) string { + if !strings.HasPrefix(ref, "oci://") { + return "" + } + dir, err := ociStackCacheDir(ref, "") + if err != nil { + return "" + } + if _, err := os.Stat(filepath.Join(dir, ".extraction-complete")); err != nil { + return "" + } + return dir +} + // ociManifest is a minimal OCI manifest used to extract layer descriptors. type ociManifest struct { Layers []struct { diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 36cf6db02e..03487e49d9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -18,20 +18,20 @@ limitations under the License. package selfhosted import ( - "bytes" + "cmp" "context" - "encoding/base64" "encoding/json" + "errors" "fmt" "io" "net" "net/http" "net/url" "os" - "os/exec" "path/filepath" "regexp" "sort" + "strconv" "strings" "time" @@ -43,8 +43,9 @@ const ( // often than this, and the cluster-validator's rc cadence is multi-day. validatorTagCacheTTL = 1 * time.Hour - // Hard upper bound on the registry round-trip so a slow NGC can't stall - // preflight; we fall back to the const if this trips. + // Hard upper bound on the registry round trips of tag discovery, so a + // slow registry cannot stall preflight. When it trips, an untagged image + // is reported as unresolved rather than launched. validatorTagFetchTimeout = 5 * time.Second ) @@ -56,21 +57,24 @@ var validatorTagPattern = regexp.MustCompile(`^\d+\.\d+\.\d+(-rc\.\d+)?$`) // substituted, sourced from the OCI registry hosting baseImage. Prefers // stable releases over rc; falls back to the highest rc when no stable // exists. Returns ("", false) on any failure (network, auth, parse, no -// matching tags) so the caller can fall back to the input value as-is. +// matching tags), and the caller then reports an untagged image as +// unresolved. // // Discovery only runs when baseImage has no tag. A pinned tag -// (image:vX.Y.Z) is honored verbatim — operators who specify a tag +// (image:vX.Y.Z) is honored verbatim: operators who specify a tag // must get exactly that tag, never a registry-side override. // // Reads and writes a 1h-TTL cache at ~/.cache/nvcf-cli/validator-tag.json // so back-to-back preflight runs share the result without re-hitting the // registry. func ResolveLatestValidatorTag(ctx context.Context, baseImage string) (string, bool) { + // parseImageRef refuses a registry that is not a bare host[:port], so no + // URL below is built from one that moves the request elsewhere. registry, repo, tag, ok := parseImageRef(baseImage) if !ok { return "", false } - // Operator pinned an explicit tag — respect it, no discovery. The + // Operator pinned an explicit tag: respect it, no discovery. The // caller's fallback path uses baseImage unchanged in this case. if tag != "" { return "", false @@ -104,33 +108,57 @@ func ImageRefIsPinned(ref string) bool { return strings.Contains(ref[strings.LastIndex(ref, "/")+1:], ":") } -// parseImageRef splits "registry/repo:tag" or "registry/repo@digest" into -// its parts. The registry must contain a '.' or ':' to distinguish a -// real hostname from a Docker Hub library shorthand. Returns ok=false on -// any shape we don't recognize. -func parseImageRef(image string) (registry, repo, tag string, ok bool) { +// parseImageRef splits an image reference into its registry, repository and +// tag or digest, the way the container runtime reads it. A first component +// with a '.' or ':', or "localhost", is the registry; anything else is a +// Docker Hub name. In "repo:tag@digest" the digest pins the image and the tag +// is dropped, so it never leaks into a token scope. ok is false for a +// registry that is not a bare host[:port] and for an empty repository: every +// caller builds a URL from the result. +func parseImageRef(image string) (registry, repo, ref string, ok bool) { image = strings.TrimSpace(image) - slash := strings.Index(image, "/") - if slash <= 0 { + registry, rest := dockerHubRegistry, image + if head, tail, found := strings.Cut(image, "/"); found && + (strings.ContainsAny(head, ".:") || head == "localhost") { + registry, rest = head, tail + } + if host, _ := parseRegistryHostPort(registry); host == "" { return "", "", "", false } - head := image[:slash] - if !strings.ContainsAny(head, ".:") && head != "localhost" { + if name, digest, found := strings.Cut(rest, "@"); found { + rest, ref = name, digest + if i := strings.LastIndex(rest, ":"); i > strings.LastIndex(rest, "/") { + rest = rest[:i] + } + } else if i := strings.LastIndex(rest, ":"); i > strings.LastIndex(rest, "/") { + rest, ref = rest[:i], rest[i+1:] + } + if !isRepositoryPath(rest) { return "", "", "", false } - rest := image[slash+1:] - if at := strings.Index(rest, "@"); at != -1 { - return head, rest[:at], rest[at+1:], true + if registry == dockerHubRegistry && !strings.Contains(rest, "/") { + rest = "library/" + rest + } + return registry, rest, ref, true +} + +// isRepositoryPath reports whether s can be a repository path: non-empty +// '/'-separated components with nothing that would change a URL built from it. +func isRepositoryPath(s string) bool { + if s == "" { + return false } - if colon := strings.LastIndex(rest, ":"); colon != -1 { - return head, rest[:colon], rest[colon+1:], true + for _, part := range strings.Split(s, "/") { + if part == "" || !isBareRegistryHost(part) || strings.Contains(part, ":") { + return false + } } - return head, rest, "", true + return true } // fetchValidatorTags walks the OCI tag-list endpoint for a single repo. -// Handles the standard NGC bearer-token exchange: try anonymous, on 401 -// re-auth using credentials from ~/.docker/config.json or NGC_API_KEY. +// Handles the standard Bearer token exchange: try anonymous, on 401 re-auth +// with the run's local credential for the registry. func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, error) { tagsURL := fmt.Sprintf("https://%s/v2/%s/tags/list", registry, repo) body, err := fetchWithBearer(ctx, tagsURL, registry, repo) @@ -147,14 +175,12 @@ func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, e } func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte, error) { - client := &http.Client{Timeout: validatorTagFetchTimeout, CheckRedirect: refuseInsecureRedirect} + client := newRegistryHTTPClient(validatorTagFetchTimeout) // First attempt without auth so anonymous-pullable registries work. - req, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) - if err != nil { - return nil, err - } - resp, err := client.Do(req) + resp, err := doRegistryRequest(ctx, client, func() (*http.Request, error) { + return http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) + }) if err != nil { return nil, err } @@ -170,20 +196,23 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte wwwAuth := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) resp.Body.Close() - // Generic OCI Bearer-token exchange: uses the realm/service/scope from - // the WWW-Authenticate header so any OCI-compliant registry works, not - // just NGC. Falls back to NGC's /proxy_auth when the header is absent. - token, err := exchangeBearerToken(ctx, client, registry, repo, wwwAuth) - if err != nil { - return nil, err + cred, hasCred, _ := registryCredentialsFrom(ctx).lookup(ctx, registry) + var credential *registryCredential + if hasCred { + credential = &cred } - - req, err = http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) + token, err := exchangeBearerToken(ctx, client, registry, repo, wwwAuth, credential) if err != nil { return nil, err } - req.Header.Set("Authorization", "Bearer "+token) - resp, err = client.Do(req) + + resp, err = doRegistryRequest(ctx, client, func() (*http.Request, error) { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) + if err == nil { + req.Header.Set("Authorization", "Bearer "+token) + } + return req, err + }) if err != nil { return nil, err } @@ -194,70 +223,153 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte return io.ReadAll(resp.Body) } +// newRegistryHTTPClient is the one client every registry call uses, so none +// can follow a redirect to plain http with the operator's credentials. +func newRegistryHTTPClient(timeout time.Duration) *http.Client { + return &http.Client{Timeout: timeout, CheckRedirect: refuseInsecureRedirect} +} + +// errRefusedRedirect is a redirect the registry client would not follow. +type errRefusedRedirect struct{ msg string } + +func (e errRefusedRedirect) Error() string { return e.msg } + // refuseInsecureRedirect rejects any redirect hop that is not https. // // Go strips the Authorization header only when a redirect changes host, and // that comparison ignores the scheme. Without this, an https realm that 302s to // http on the same host would re-send the operator's credentials in cleartext, -// defeating the https-only realm check a few lines below. +// defeating the https-only realm check in exchangeBearerToken. func refuseInsecureRedirect(req *http.Request, via []*http.Request) error { if req.URL.Scheme != "https" { - return fmt.Errorf("refusing redirect to non-https URL %q", req.URL.Redacted()) + return errRefusedRedirect{msg: fmt.Sprintf("refusing redirect to non-https URL %q", req.URL.Redacted())} } if len(via) >= 10 { - return fmt.Errorf("stopped after %d redirects", len(via)) + return errRefusedRedirect{msg: fmt.Sprintf("stopped after %d redirects", len(via))} } return nil } +// registryRetryAttempts and registryRetryBackoff bound the retries of a +// registry call that failed transiently: a connection error, a 5xx or a 429. +// Vars so tests need not wait out the backoff. +var ( + registryRetryAttempts = 3 + registryRetryBackoff = 500 * time.Millisecond +) + +// registryRetryAfterCap bounds how long a Retry-After header can hold a retry. +const registryRetryAfterCap = 5 * time.Second + +// doRegistryRequest sends the request build returns, retrying a transient +// failure while ctx leaves time for another attempt. A refused redirect is +// not retried. The last response or error is returned as is. +func doRegistryRequest( + ctx context.Context, client *http.Client, build func() (*http.Request, error), +) (*http.Response, error) { + for attempt := 1; ; attempt++ { + req, err := build() + if err != nil { + return nil, err + } + resp, err := client.Do(req) + var refused errRefusedRedirect + retry := err != nil && ctx.Err() == nil && !errors.As(err, &refused) + wait := time.Duration(attempt) * registryRetryBackoff + if err == nil && isTransientStatus(resp.StatusCode) { + retry = true + wait = max(wait, retryAfter(resp.Header.Get("Retry-After"))) + } + if !retry || attempt >= registryRetryAttempts || !allowsRetryAfter(ctx, wait) { + return resp, err + } + if resp != nil { + _, _ = io.Copy(io.Discard, io.LimitReader(resp.Body, 4<<10)) + resp.Body.Close() + } + select { + case <-ctx.Done(): + return nil, ctx.Err() + case <-time.After(wait): + } + } +} + +// isTransientStatus reports a status a retry may clear. +func isTransientStatus(code int) bool { + return code == http.StatusTooManyRequests || code >= http.StatusInternalServerError +} + +// retryAfter reads a Retry-After header in seconds or as an HTTP date, +// capped at registryRetryAfterCap. +func retryAfter(v string) time.Duration { + v = strings.TrimSpace(v) + if v == "" { + return 0 + } + var d time.Duration + if secs, err := strconv.Atoi(v); err == nil { + d = time.Duration(secs) * time.Second + } else if at, err := http.ParseTime(v); err == nil { + d = time.Until(at) + } + return min(max(d, 0), registryRetryAfterCap) +} + +// allowsRetryAfter reports whether ctx allows waiting d and then trying once more. +func allowsRetryAfter(ctx context.Context, d time.Duration) bool { + deadline, ok := ctx.Deadline() + return !ok || time.Until(deadline) > d +} + +// tokenExchangeError is a token exchange that produced no token. +type tokenExchangeError struct { + // status is the token endpoint's HTTP status; 0 when none was read. + status int + // credentialed reports that a credential was sent. + credentialed bool + // refused marks an exchange the CLI declined before sending anything, + // for a realm it will not send credentials to. + refused bool + msg string +} + +func (e *tokenExchangeError) Error() string { return e.msg } + +// rejected reports that the registry refused a credential it was sent: +// a 401 or 403 from the token endpoint. Nothing else is evidence about the +// credential. +func (e *tokenExchangeError) rejected() bool { + return e.credentialed && (e.status == http.StatusUnauthorized || e.status == http.StatusForbidden) +} + // exchangeBearerToken implements the OCI Distribution Spec Bearer token flow, -// parsing realm/service/scope from the WWW-Authenticate header. Falls back to -// the NGC /proxy_auth endpoint when the header is absent or unparseable. -func exchangeBearerToken(ctx context.Context, client *http.Client, registry, repo, wwwAuthenticate string) (string, error) { +// parsing realm/service/scope from the WWW-Authenticate header. cred is the +// credential to send, or nil for an anonymous token. A challenge with no +// realm falls back to NGC's /proxy_auth, for nvcr.io only. Failures are a +// *tokenExchangeError. +func exchangeBearerToken( + ctx context.Context, client *http.Client, registry, repo, wwwAuthenticate string, cred *registryCredential, +) (string, error) { realm, service, scope := parseWWWAuthenticate(wwwAuthenticate) if realm == "" { - // No parseable WWW-Authenticate - use NGC's /proxy_auth as fallback. - return exchangeNGCBearerToken(ctx, client, registry, repo) + if isNGCKeyRegistry(registry) { + return exchangeNGCBearerToken(ctx, client, registry, repo, cred) + } + return "", &tokenExchangeError{refused: true, msg: fmt.Sprintf("%s named no Bearer token realm", registry)} } - // Build the token endpoint URL with service and scope query parameters. u, err := url.Parse(realm) - if err != nil { - return exchangeNGCBearerToken(ctx, client, registry, repo) - } // Reject non-HTTPS or relative realms before attaching credentials. - if u.Scheme != "https" || u.Host == "" { - return "", fmt.Errorf("refusing token exchange at insecure or relative realm %q for %s", realm, registry) - } - // Authorize the realm host before forwarding credentials. The realm URL - // comes from a registry-controlled response header. Without this check, a - // malicious registry could return realm="https://attacker.com/token" and - // receive the operator's Docker credentials for the original registry. - // Allow the realm only when it matches the registry's own host, is a - // sub-domain of that host (e.g. auth.registry.example.com for registry.example.com), - // or is an NGC auth domain when the registry is NGC-hosted (NGC delegates - // token issuance to authn.nvidia.com and other nvidia.com sub-domains). - realmHost := strings.ToLower(u.Hostname()) - // Brackets off, to match u.Hostname(): "[fd00::1]" with no port fails - // SplitHostPort and would otherwise reject its own token server. - regHost := strings.ToLower(strings.TrimSuffix(strings.TrimPrefix(registry, "["), "]")) - if h, _, err := net.SplitHostPort(registry); err == nil { - regHost = strings.ToLower(h) + if err != nil || u.Scheme != "https" || u.Host == "" { + return "", &tokenExchangeError{refused: true, + msg: fmt.Sprintf("refusing token exchange at insecure or relative realm %q for %s", realm, registry)} } - // Reject an empty realm host explicitly. "https://:443/token" has a - // non-empty u.Host (":443") so it clears the guard above, but Hostname() is - // "", and an empty trustedRealmDelegations lookup would then compare equal - // and authorize it. Fail closed instead. - if realmHost == "" { - return "", fmt.Errorf("refusing token exchange at realm %q with no host for %s", realm, registry) - } - realmOK := realmHost == regHost || - strings.HasSuffix(realmHost, "."+regHost) || - (isNGCRegistry(registry) && isNGCRegistry(realmHost)) || - trustedRealmDelegations[regHost] == realmHost - if !realmOK { - return "", fmt.Errorf("refusing to forward credentials to realm host %q; not authorized for registry %s", realmHost, registry) + if !realmAuthorized(registry, u) { + return "", &tokenExchangeError{refused: true, + msg: fmt.Sprintf("refusing to send credentials to realm host %q; not authorized for registry %s", + u.Hostname(), registry)} } q := u.Query() if service != "" { @@ -266,7 +378,7 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep // Use scope from the WWW-Authenticate header when present. // When scope is empty and a repo is provided, synthesize the standard // pull scope. When neither is present (credential probe, no specific - // repo needed), omit scope entirely - most registries issue a valid + // repo needed), omit scope entirely: most registries issue a valid // token and the absence of a resource scope avoids org-level 403s for // non-existent repositories. if scope == "" && repo != "" { @@ -276,99 +388,94 @@ func exchangeBearerToken(ctx context.Context, client *http.Client, registry, rep q.Set("scope", scope) } u.RawQuery = q.Encode() + return requestToken(ctx, client, u.String(), realm, cred) +} - req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil) - if err != nil { - return "", err +// realmAuthorized reports whether credentials for registry may go to the +// token realm u. The realm comes from a registry-controlled response header, +// so without this a registry could name realm="https://attacker.example/token" +// and receive the operator's credentials. Allowed: the registry's own host, +// a subdomain of it (auth.registry.example.com for registry.example.com), or +// a documented delegation in trustedRealmDelegations. NVIDIA hosts get no +// wider grant: nvcr.io issues its tokens itself. +func realmAuthorized(registry string, u *url.URL) bool { + realmHost := strings.ToLower(u.Hostname()) + // Reject an empty realm host explicitly. "https://:443/token" has a + // non-empty u.Host (":443"), but Hostname() is "", and an empty + // trustedRealmDelegations lookup would then compare equal. + if realmHost == "" { + return false } - // Add credentials when present. Docker config covers any registry; - // NGC API key is only applicable to NGC-hosted registries. - // Critically: do NOT apply NGC_API_KEY to non-NGC registries - quay.io, - // GHCR, and Harbor will reject it, producing a misleading "credentials - // rejected" error when the real situation is "no credentials configured." - if user, pass, ok := credentialsForRegistry(registry); ok { - req.SetBasicAuth(user, pass) + // Brackets off, to match u.Hostname(): "[fd00::1]" with no port fails + // SplitHostPort and would otherwise reject its own token server. + regHost := strings.ToLower(strings.TrimSuffix(strings.TrimPrefix(registry, "["), "]")) + if h, _, err := net.SplitHostPort(registry); err == nil { + regHost = strings.ToLower(h) } + return realmHost == regHost || + strings.HasSuffix(realmHost, "."+regHost) || + trustedRealmDelegations[regHost] == realmHost +} - resp, err := client.Do(req) +// requestToken asks tokenURL for a Bearer token, sending cred as Basic auth +// when it is set. label names the endpoint in errors. +func requestToken( + ctx context.Context, client *http.Client, tokenURL, label string, cred *registryCredential, +) (string, error) { + resp, err := doRegistryRequest(ctx, client, func() (*http.Request, error) { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, tokenURL, nil) + if err == nil && cred != nil { + req.SetBasicAuth(cred.user, cred.pass) + } + return req, err + }) if err != nil { - return "", err + var refused errRefusedRedirect + return "", &tokenExchangeError{ + credentialed: cred != nil, refused: errors.As(err, &refused), + msg: fmt.Sprintf("token exchange at %s: %v", label, err), + } } + defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - // Close the body immediately before the fallback or the error return so - // the connection is not held open while the NGC /proxy_auth call runs. - status := resp.Status - resp.Body.Close() - // WWW-Authenticate realm failed; try NGC's /proxy_auth as last resort - // for registries that implement both endpoints (e.g. staging NGC envs). - if isNGCRegistry(registry) { - return exchangeNGCBearerToken(ctx, client, registry, repo) + return "", &tokenExchangeError{ + status: resp.StatusCode, credentialed: cred != nil, + msg: fmt.Sprintf("token exchange at %s returned %s", label, resp.Status), } - return "", fmt.Errorf("token exchange at %s returned %s", realm, status) } - defer resp.Body.Close() - // Both "token" (OCI spec) and "access_token" (Docker Hub variant) are valid. var doc struct { Token string `json:"token"` AccessToken string `json:"access_token"` } - if err := json.NewDecoder(resp.Body).Decode(&doc); err != nil { - return "", fmt.Errorf("decode token response: %w", err) + if err := json.NewDecoder(io.LimitReader(resp.Body, 1<<20)).Decode(&doc); err != nil { + return "", &tokenExchangeError{credentialed: cred != nil, + msg: fmt.Sprintf("decode token response from %s: %v", label, err)} } - tok := doc.Token - if tok == "" { - tok = doc.AccessToken + if tok := cmp.Or(doc.Token, doc.AccessToken); tok != "" { + return tok, nil } - if tok == "" { - return "", fmt.Errorf("empty token in response from %s", realm) - } - return tok, nil + return "", &tokenExchangeError{credentialed: cred != nil, msg: fmt.Sprintf("empty token in response from %s", label)} } -// exchangeNGCBearerToken is the NGC-specific /proxy_auth token exchange, -// kept as a named fallback for when the standard OCI flow cannot be used. -// It always rejects non-NGC registries so NGC credentials are never sent -// to an unrelated /proxy_auth endpoint. -func exchangeNGCBearerToken(ctx context.Context, client *http.Client, registry, repo string) (string, error) { - if !isNGCRegistry(registry) { - return "", fmt.Errorf("NGC token fallback not applicable for non-NGC registry %s", registry) - } - user, pass, ok := ngcCredentials(registry) - if !ok { - return "", fmt.Errorf("no credentials for %s", registry) - } - // Build the query: use url.Values so the scope key is omitted entirely - // when repo is empty rather than sending scope= with an empty value. - // An empty scope validates the API key without org-scoped access checks. +// exchangeNGCBearerToken is NGC's /proxy_auth token exchange, used when +// nvcr.io sends a challenge with no realm. It refuses every other registry, +// so the NGC key never reaches an unrelated /proxy_auth endpoint. +func exchangeNGCBearerToken( + ctx context.Context, client *http.Client, registry, repo string, cred *registryCredential, +) (string, error) { + if !isNGCKeyRegistry(registry) { + return "", &tokenExchangeError{refused: true, + msg: fmt.Sprintf("NGC token fallback not applicable for registry %s", registry)} + } + // url.Values omits scope entirely when repo is empty rather than sending + // scope= with an empty value. An empty scope validates the API key + // without org-scoped access checks. q := url.Values{"service": {registry}} if repo != "" { q.Set("scope", "repository:"+repo+":pull") } - tokenURL := "https://" + registry + "/proxy_auth?" + q.Encode() - req, err := http.NewRequestWithContext(ctx, http.MethodGet, tokenURL, nil) - if err != nil { - return "", err - } - req.SetBasicAuth(user, pass) - resp, err := client.Do(req) - if err != nil { - return "", err - } - defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { - return "", fmt.Errorf("NGC token exchange returned %s", resp.Status) - } - var doc struct { - Token string `json:"token"` - } - if err := json.NewDecoder(resp.Body).Decode(&doc); err != nil { - return "", err - } - if doc.Token == "" { - return "", fmt.Errorf("empty token in NGC response") - } - return doc.Token, nil + return requestToken(ctx, client, "https://"+registry+"/proxy_auth?"+q.Encode(), "NGC /proxy_auth", cred) } // parseWWWAuthenticate extracts realm, service, and scope from a standard @@ -507,174 +614,6 @@ func isNGCRegistry(registry string) bool { return false } -// ngcKeyRegistryHost is the one registry NGC_API_KEY is for: the registry up -// mints its pull secrets for from that key. isNGCRegistry also accepts other -// NVIDIA hosts (staging NGC, internal registries), and those take their own -// logins, never the NGC key. -const ngcKeyRegistryHost = "nvcr.io" - -// isNGCKeyRegistry reports whether NGC_API_KEY may be sent to registry. -func isNGCKeyRegistry(registry string) bool { - if !isBareRegistryHost(registry) { - return false - } - host := registry - if h, _, err := net.SplitHostPort(registry); err == nil { - host = h - } - return strings.EqualFold(host, ngcKeyRegistryHost) -} - -// credentialsForRegistry resolves (username, password) for any registry. For -// nvcr.io NGC_API_KEY comes first when it is set, because that is the key up -// and the validator pull secret mint from: checking a keychain login instead -// validated a different credential from the one the install uses. NGC_API_KEY -// is never sent to any other registry, NVIDIA's own included. Without it, or -// for any other registry, ~/.docker/config.json is used. -func credentialsForRegistry(registry string) (string, string, bool) { - if isNGCKeyRegistry(registry) { - if key := firstNonEmptyEnv(ngcAPIKeyEnvNames...); key != "" { - return "$oauthtoken", key, true - } - } - return credsFromDockerConfig(registry) -} - -// ngcCredentials resolves (username, password) for an NGC-hosted registry's -// /proxy_auth exchange, by the same rule as credentialsForRegistry. -func ngcCredentials(registry string) (string, string, bool) { - return credentialsForRegistry(registry) -} - -func credsFromDockerConfig(registry string) (string, string, bool) { - home, err := os.UserHomeDir() - if err != nil { - return "", "", false - } - body, err := os.ReadFile(filepath.Join(home, ".docker", "config.json")) - if err != nil { - return "", "", false - } - var doc struct { - Auths map[string]struct { - Auth string `json:"auth"` - Username string `json:"username"` - Password string `json:"password"` - } `json:"auths"` - CredsStore string `json:"credsStore"` - CredHelpers map[string]string `json:"credHelpers"` - } - if err := json.Unmarshal(body, &doc); err != nil { - return "", "", false - } - // Docker's order: a per-registry credHelpers entry, else credsStore, and - // only with neither configured the inline auths entry. With a store - // configured docker never reads an inline password, so an old one left in - // the file must not win here either: that sent a stale key while `docker - // pull` worked. - key := dockerConfigKey(registry) - helper := doc.CredHelpers[key] - if helper == "" { - helper = doc.CredsStore - } - if helper != "" { - return credsFromHelper(helper, key) - } - entry, ok := doc.Auths[key] - if !ok { - return "", "", false - } - if entry.Username != "" && entry.Password != "" { - return entry.Username, entry.Password, true - } - if entry.Auth != "" { - raw, err := base64.StdEncoding.DecodeString(entry.Auth) - if err != nil { - return "", "", false - } - colon := strings.IndexByte(string(raw), ':') - if colon == -1 { - return "", "", false - } - return string(raw[:colon]), string(raw[colon+1:]), true - } - return "", "", false -} - -// dockerHubConfigKey is the key docker stores Docker Hub logins under. -const dockerHubConfigKey = "https://index.docker.io/v1/" - -// dockerConfigKey maps a registry host to the key docker uses for it in -// config.json. Docker Hub's hosts all share one legacy key; every other -// registry is keyed by its host. -func dockerConfigKey(registry string) string { - switch registry { - case "docker.io", "index.docker.io", "registry-1.docker.io": - return dockerHubConfigKey - } - return registry -} - -// credentialHelperName matches the docker-credential- suffixes docker -// accepts. Anything else is refused rather than put on an exec path. -var credentialHelperName = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9_.-]*$`) - -// credentialHelperTimeout bounds one helper call; a helper waiting on a -// keychain prompt must not stall preflight. A var so tests can allow for a -// loaded machine starting a freshly written helper script. -var credentialHelperTimeout = 5 * time.Second - -// credsFromHelper asks docker-credential- for registry's credential -// using the credential-helper protocol docker uses: "get" with the server URL -// on stdin, JSON {"Username","Secret"} on stdout. -func credsFromHelper(helper, registry string) (string, string, bool) { - if !credentialHelperName.MatchString(helper) { - return "", "", false - } - ctx, cancel := context.WithTimeout(context.Background(), credentialHelperTimeout) - defer cancel() - cmd := exec.CommandContext(ctx, "docker-credential-"+helper, "get") - cmd.Stdin = strings.NewReader(registry) - // Without WaitDelay a helper that leaves a child holding stdout open keeps - // Output waiting past the timeout. The output cap keeps a misbehaving - // helper from filling memory; a credential is a few hundred bytes. - cmd.WaitDelay = time.Second - var out cappedBuffer - cmd.Stdout = &out - if err := cmd.Run(); err != nil || out.overflow { - return "", "", false - } - var cred struct { - Username string `json:"Username"` - Secret string `json:"Secret"` - } - if err := json.Unmarshal(out.buf.Bytes(), &cred); err != nil || cred.Secret == "" { - return "", "", false - } - return cred.Username, cred.Secret, true -} - -// credentialHelperOutputLimit caps what a credential helper may write. -const credentialHelperOutputLimit = 64 << 10 - -// cappedBuffer keeps at most credentialHelperOutputLimit bytes and records -// whether more were written. -type cappedBuffer struct { - buf bytes.Buffer - overflow bool -} - -func (c *cappedBuffer) Write(p []byte) (int, error) { - if room := credentialHelperOutputLimit - c.buf.Len(); len(p) > room { - c.overflow = true - if room > 0 { - c.buf.Write(p[:room]) - } - return len(p), nil - } - return c.buf.Write(p) -} - // pickBestValidatorTag filters to recognized validator tags and returns // the best one: // diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index eb30db1d7d..605f76067d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -24,6 +24,7 @@ import ( "fmt" "io" "net/http" + "net/http/httptest" "os" "path/filepath" "strings" @@ -48,9 +49,18 @@ func TestParseImageRef(t *testing.T) { {"digest", "nvcr.io/foo/bar@sha256:abc", "nvcr.io", "foo/bar", "sha256:abc", true}, {"no tag", "stg.nvcr.io/foo/bar", "stg.nvcr.io", "foo/bar", "", true}, {"localhost with port", "localhost:5000/foo:latest", "localhost:5000", "foo", "latest", true}, - {"docker hub shorthand", "foo/bar:latest", "", "", "", false}, + {"docker hub shorthand", "foo/bar:latest", "registry-1.docker.io", "foo/bar", "latest", true}, + {"docker hub library image", "busybox:1.36", "registry-1.docker.io", "library/busybox", "1.36", true}, + {"tag and digest", "nvcr.io/nvidia/cv:1.2.0@sha256:abc", "nvcr.io", "nvidia/cv", "sha256:abc", true}, + {"port and tag and digest", "reg.example.com:5000/a/b:1@sha256:abc", "reg.example.com:5000", "a/b", + "sha256:abc", true}, {"empty", "", "", "", "", false}, - {"only host", "stg.nvcr.io", "", "", "", false}, + {"dotted single name is a Docker Hub name", "stg.nvcr.io", "registry-1.docker.io", "library/stg.nvcr.io", "", true}, + {"only a registry", "stg.nvcr.io/", "", "", "", false}, + {"userinfo moves the host", "nvcr.io@attacker.example/nvidia/cv", "", "", "", false}, + {"fragment moves the host", "attacker.example#.nvcr.io/nvidia/cv", "", "", "", false}, + {"bad port", "nvcr.io:44x/nvidia/cv", "", "", "", false}, + {"query in the repository", "nvcr.io/nvidia/cv?x=1", "", "", "", false}, } for _, c := range cases { t.Run(c.name, func(t *testing.T) { @@ -236,27 +246,27 @@ func TestCredsFromDockerConfig(t *testing.T) { body, _ := json.MarshalIndent(cfg, "", " ") require.NoError(t, os.WriteFile(filepath.Join(dockerDir, "config.json"), body, 0o600)) - user, pass, ok := credsFromDockerConfig("stg.nvcr.io") + user, pass, ok := credsFor(t, "stg.nvcr.io") require.True(t, ok) assert.Equal(t, "$oauthtoken", user) assert.Equal(t, "fake-key", pass) - _, _, ok = credsFromDockerConfig("does-not-exist.example.com") + _, _, ok = credsFor(t, "does-not-exist.example.com") assert.False(t, ok, "unknown registry must miss") } func TestNGCCredentials_EnvFallback(t *testing.T) { dir := t.TempDir() t.Setenv("HOME", dir) // no docker config in this HOME - for _, n := range ngcAPIKeyEnvNames { - t.Setenv(n, "") - } t.Setenv("NGC_API_KEY", "from-env") - user, pass, ok := ngcCredentials("nvcr.io") - require.True(t, ok) - assert.Equal(t, "$oauthtoken", user) - assert.Equal(t, "from-env", pass) + for _, prefer := range []bool{true, false} { + cred, ok, err := NewRegistryCredentials(prefer).lookup(context.Background(), "nvcr.io") + require.NoError(t, err) + require.True(t, ok) + assert.Equal(t, "$oauthtoken", cred.user) + assert.Equal(t, "from-env", cred.pass) + } } // NGC_API_KEY is for nvcr.io, the one registry up mints its pull secrets for. @@ -265,9 +275,6 @@ func TestNGCCredentials_EnvFallback(t *testing.T) { func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { dir := t.TempDir() t.Setenv("HOME", dir) - for _, n := range ngcAPIKeyEnvNames { - t.Setenv(n, "") - } t.Setenv("NGC_API_KEY", "ngc-key") login := base64.StdEncoding.EncodeToString([]byte("robot:own-login")) auths := map[string]any{} @@ -285,12 +292,9 @@ func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { "stg.nvcr.io": "own-login", "registry.nvidia.com:5005": "own-login", } { - _, pass, ok := credentialsForRegistry(host) - require.True(t, ok, host) - assert.Equal(t, wantPass, pass, host) - _, pass, ok = ngcCredentials(host) + cred, ok, _ := NewRegistryCredentials(true).lookup(context.Background(), host) require.True(t, ok, host) - assert.Equal(t, wantPass, pass, "%s: the /proxy_auth exchange follows the same rule", host) + assert.Equal(t, wantPass, cred.pass, host) } } @@ -417,7 +421,7 @@ func TestExchangeBearerToken_RejectsAttackerRealm(t *testing.T) { const wwwAuth = `Bearer realm="https://attacker.example.com/token",service="harbor.company.internal"` _, err := exchangeBearerToken(context.Background(), client, - "harbor.company.internal", "myrepo/image", wwwAuth) + "harbor.company.internal", "myrepo/image", wwwAuth, ®istryCredential{user: "u", pass: "p"}) require.Error(t, err) assert.Contains(t, err.Error(), "not authorized for registry") @@ -438,7 +442,8 @@ func TestExchangeBearerToken_RejectsEmptyRealmHost(t *testing.T) { client := &http.Client{Transport: rec} _, err := exchangeBearerToken(context.Background(), client, - "harbor.company.internal", "myrepo/image", `Bearer realm="https://:443/token"`) + "harbor.company.internal", "myrepo/image", `Bearer realm="https://:443/token"`, + ®istryCredential{user: "u", pass: "p"}) require.Error(t, err) assert.Empty(t, rec.withAuth, "an empty realm host must not receive credentials") @@ -480,13 +485,21 @@ func TestExchangeBearerToken_DockerHubDelegatedRealm(t *testing.T) { const wwwAuth = `Bearer realm="https://auth.docker.io/token",service="registry.docker.io",` + `scope="repository:library/ubuntu:pull"` + // The credential comes from the run's lookup, which must not hand the NGC + // key to Docker Hub. + cred, ok, _ := NewRegistryCredentials(true).lookup(context.Background(), "registry-1.docker.io") + var sent *registryCredential + if ok { + sent = &cred + } tok, err := exchangeBearerToken(context.Background(), client, - "registry-1.docker.io", "library/ubuntu", wwwAuth) + "registry-1.docker.io", "library/ubuntu", wwwAuth, sent) require.NoError(t, err, "the documented Docker Hub delegation must be authorized") assert.Equal(t, "dockerhub-token", tok) require.NotEmpty(t, rec.requests, "the token exchange must actually be issued") assert.Equal(t, "auth.docker.io", rec.requests[0].URL.Host) + assert.Empty(t, rec.withAuth, "the NGC key must not reach Docker Hub's token service") } func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { @@ -496,9 +509,12 @@ func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { // guard fires before any network activity. t.Setenv("NGC_API_KEY", "test-key") // configure a credential so a missing guard would reach the transport client := &http.Client{Transport: &spyTransport{t: t}} - _, err := exchangeNGCBearerToken(context.Background(), client, "harbor.company.internal", "myrepo/image") - require.Error(t, err, "non-NGC registry must be rejected without issuing a request") - assert.Contains(t, err.Error(), "non-NGC registry") + for _, reg := range []string{"harbor.company.internal", "stg.nvcr.io", "nvcr.io:443@attacker.example"} { + _, err := exchangeNGCBearerToken(context.Background(), client, reg, "myrepo/image", + ®istryCredential{user: "$oauthtoken", pass: "test-key", ngcKey: true}) + require.Error(t, err, "%s must be rejected without issuing a request", reg) + assert.Contains(t, err.Error(), "not applicable") + } } // The registry string is concatenated into "https://" + registry + "/...", so a @@ -531,7 +547,8 @@ func TestExchangeNGCBearerToken_RejectsHostConfusion(t *testing.T) { rec := &recordingTransport{inner: http.DefaultTransport} client := &http.Client{Transport: rec} - _, err := exchangeNGCBearerToken(context.Background(), client, "evil.com/x.nvcr.io", "repo/img") + _, err := exchangeNGCBearerToken(context.Background(), client, "evil.com/x.nvcr.io", "repo/img", + ®istryCredential{user: "$oauthtoken", pass: "test-key", ngcKey: true}) require.Error(t, err) assert.Empty(t, rec.withAuth, "the NGC API key must not be sent to a confused host") @@ -550,7 +567,8 @@ func TestExchangeBearerToken_AcceptsBracketedIPv6Registry(t *testing.T) { }, nil })} tok, err := exchangeBearerToken(context.Background(), &http.Client{Transport: rec}, - "[fd00::1]", "repo", `Bearer realm="https://[fd00::1]/token",service="r"`) + "[fd00::1]", "repo", `Bearer realm="https://[fd00::1]/token",service="r"`, + ®istryCredential{user: "u", pass: "p"}) require.NoError(t, err) assert.Equal(t, "t", tok) } @@ -565,3 +583,90 @@ func TestRefuseInsecureRedirect(t *testing.T) { require.NoError(t, err) assert.NoError(t, refuseInsecureRedirect(secure, nil)) } + +// nvcr.io issues its own tokens, so an NVIDIA-family realm that is neither the +// registry's host nor a subdomain of it is refused like any other: the NGC key +// and an internal login go nowhere but their own registry. +func TestExchangeBearerToken_NoNVIDIAWideRealmGrant(t *testing.T) { + rec := &recordingTransport{inner: http.DefaultTransport} + client := &http.Client{Transport: rec} + for _, tc := range []struct{ registry, realm string }{ + {"nvcr.io", "https://authn.nvidia.com/token"}, + {"stg.nvcr.io", "https://nvcr.io/proxy_auth"}, + {"nvcr.io", "https://x.ngc.nvidia/token"}, + {"registry.nvidia.com:5005", "https://nvcr.io/proxy_auth"}, + } { + _, err := exchangeBearerToken(context.Background(), client, tc.registry, "repo", + `Bearer realm="`+tc.realm+`"`, ®istryCredential{user: "$oauthtoken", pass: "k"}) + var te *tokenExchangeError + require.ErrorAs(t, err, &te, tc.realm) + assert.True(t, te.refused, tc.realm) + } + assert.Empty(t, rec.requests, "no request may leave for a refused realm") +} + +// Every registry client refuses a redirect to plain http, and an https realm +// that redirects there gets no request on the second hop, with or without +// the Authorization header. +func TestRegistryClient_RefusesCleartextRedirect(t *testing.T) { + require.NotNil(t, newRegistryHTTPClient(time.Second).CheckRedirect) + + var plainHits []string + plain := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + plainHits = append(plainHits, r.Header.Get("Authorization")) + w.WriteHeader(http.StatusOK) + })) + defer plain.Close() + realm := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, plain.URL+"/token", http.StatusFound) + })) + defer realm.Close() + client := newRegistryHTTPClient(5 * time.Second) + client.Transport = realm.Client().Transport + + host := strings.TrimPrefix(realm.URL, "https://") + _, err := exchangeBearerToken(context.Background(), client, host, "repo", + `Bearer realm="`+realm.URL+`/token"`, ®istryCredential{user: "u", pass: "p"}) + var te *tokenExchangeError + require.ErrorAs(t, err, &te) + assert.True(t, te.refused, "a refused redirect is a refused realm, not a rejected credential") + assert.Empty(t, plainHits, "the cleartext hop must not be requested") +} + +// A realm on plain http is refused before anything is sent. +func TestExchangeBearerToken_RefusesHTTPRealm(t *testing.T) { + rec := &recordingTransport{inner: http.DefaultTransport} + _, err := exchangeBearerToken(context.Background(), &http.Client{Transport: rec}, "harbor.example.com", "repo", + `Bearer realm="http://harbor.example.com/token"`, ®istryCredential{user: "u", pass: "p"}) + var te *tokenExchangeError + require.ErrorAs(t, err, &te) + assert.True(t, te.refused) + assert.Empty(t, rec.requests) +} + +// isNGCKeyRegistry accepts nvcr.io alone, on any port, and nothing that +// moves the host. +func TestIsNGCKeyRegistry(t *testing.T) { + for reg, want := range map[string]bool{ + "nvcr.io": true, "NVCR.io:443": true, "nvcr.io:5000": true, + "stg.nvcr.io": false, "nvcr.io:443@attacker.example": false, "attacker.example/nvcr.io": false, + "nvcr.io#.attacker.example": false, "nvcr.io.attacker.example": false, + } { + assert.Equal(t, want, isNGCKeyRegistry(reg), reg) + } +} + +// Tag discovery never sends a request for an image whose registry is not a +// bare host, and so never writes the tag cache from such a reply. +func TestResolveLatestValidatorTag_NoRequestForAHostMovingRef(t *testing.T) { + withTempCacheDir(t) + rec := &recordingTransport{} + prev := http.DefaultTransport + http.DefaultTransport = rec + t.Cleanup(func() { http.DefaultTransport = prev }) + for _, ref := range []string{"nvcr.io@attacker.example/nvidia/cv", "attacker.example#.nvcr.io/nvidia/cv"} { + _, ok := ResolveLatestValidatorTag(context.Background(), ref) + assert.False(t, ok, ref) + } + assert.Empty(t, rec.requests) +} From fd36d80fbc68d31ed272c0b59cbac7ef36c3a637 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:55:23 +0530 Subject: [PATCH 061/127] fix(nvcf-cli): delete only run-owned validator objects, scope role RBAC Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 8 +- .../cmd/self_hosted_check_scope_test.go | 4 +- .../agentskill/skilldata_generated.go | 4333 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 4 + .../internal/selfhosted/clustervalidator.go | 822 ++-- .../clustervalidator_lifecycle_test.go | 122 +- .../clustervalidator_ownership_test.go | 397 ++ .../selfhosted/clustervalidator_test.go | 278 +- .../internal/selfhosted/inotify_probe.go | 120 +- .../internal/selfhosted/inotify_probe_test.go | 92 +- .../internal/selfhosted/miniapiserver_test.go | 30 +- .../nvcf-cli/internal/selfhosted/preflight.go | 3 +- .../internal/selfhosted/pullsecret.go | 46 +- .../internal/selfhosted/pullsecret_test.go | 142 +- .../testdata/validator_api_calls.yaml | 68 + .../validator_network_checks.golden.yaml | 25 + .../validator_config_parity_test.go | 92 + 17 files changed, 3783 insertions(+), 2803 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml create mode 100644 src/clis/nvcf-cli/internal/selfhosted/testdata/validator_network_checks.golden.yaml create mode 100644 src/clis/nvcf-cli/internal/selfhosted/validator_config_parity_test.go diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 2a7cbfe94a..c54919a65b 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -43,8 +43,12 @@ required. Each selects a role; only the selected roles contact a cluster. ### Cluster-validator flags The validator runs as a Job in the cluster being checked. The CLI creates a -ServiceAccount, ClusterRole, and ClusterRoleBinding for it and removes them -after the run, so the kubeconfig context needs permission to manage those. +ServiceAccount, ClusterRole, and ClusterRoleBinding for it, plus a Role and +RoleBinding in `default` that let it read only its own ConfigMap, and removes +them after the run, so the kubeconfig context needs permission to manage those. +The ClusterRole grants only the calls each role's checks make: reads, the +namespace, DaemonSet and pod writes of the control-plane node-to-node probe, +and deleting test namespaces an earlier validator run left behind. | Flag | Purpose | Default | |---|---|---| diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index fff50da20b..01e4c73b7d 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -368,7 +368,7 @@ func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { cmd := "kubectl get pods -n default -l nvcf.nvidia.com/validator-run=run1; " + "kubectl delete -n default job -l nvcf.nvidia.com/validator-run=run1 --cascade=foreground --wait; " + "kubectl delete clusterrolebinding,clusterrole -l nvcf.nvidia.com/validator-run=run1; " + - "kubectl delete -n default serviceaccount,secret,configmap -l nvcf.nvidia.com/validator-run=run1" + "kubectl delete -n default rolebinding,role,serviceaccount,secret,configmap -l nvcf.nvidia.com/validator-run=run1" assert.Equal(t, []any{cmd}, finalEvent(t, stderr)["cleanup"]) interruptNote := strings.Index(stderr, "note: interrupted; ") require.GreaterOrEqual(t, interruptNote, 0, "the interrupt says at once how to remove the run's objects") @@ -490,7 +490,7 @@ func removalCommand(runID string) string { return "kubectl get pods -n default -l " + sel + "; " + "kubectl delete -n default job -l " + sel + " --cascade=foreground --wait; " + "kubectl delete clusterrolebinding,clusterrole -l " + sel + "; " + - "kubectl delete -n default serviceaccount,secret,configmap -l " + sel + "kubectl delete -n default rolebinding,role,serviceaccount,secret,configmap -l " + sel } // keptNote is what the command prints last when runs kept objects. diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 46bab8f295..de2343395d 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTEzNjUsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTE2NjYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiZGMwM2JmMDIxYTY2M2NjMGE3" + "ZmU5MjNjMDgyY2UzNWY1YTg0N2ZjZjk3ZmI1ZjM0YzY2YjY1NDIyMjFiNzAxIiwKICAgICAgInNp" + "emUiOiAzMDY1CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI5MmViZjgwMTllOTVlY2E4" + - "MDY1MGE2YTZjODBjNGE1MGM5ODQ3OGU1ODFmZTE5YjgzY2Q4ZWQ2ZGRjNDA3ZjU1IiwKICAgICAg" + - "InNpemUiOiAxODA1NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1MDc2MWY0ZTM3ODc0Njkw" + + "Zjc1NGMwNjcxMDEyMGM4NjBmODNjNzg3MjIxMDdlYzNkY2U4Y2MzNzY1NWMzNGIyIiwKICAgICAg" + + "InNpemUiOiAxODM1NgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCIX6wANKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCG1zeq1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1732,2172 +1732,2177 @@ const skillDataZipBase64 = "" + "IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1" + "bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVz" + "IGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZv" + - "ciBpdCBhbmQgcmVtb3ZlcyB0aGVtCmFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNv" + - "bnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBS" + - "RUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElf" + - "Q0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9p" + - "bWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcg" + - "ZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlk" + - "YXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8g" + - "cGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVy" + - "eXdoZXJlIHNraXBzIHRoZSBwcm9iZSB3aXRoIGEgd2FybmluZyB8IC0gfAp8IGAtLWNsdXN0ZXIt" + - "dmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdp" + - "c3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5k" + - "IHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlk" + - "YXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5l" + - "eGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGlu" + - "c3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3Rh" + - "Y2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5" + - "YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3Mg" + - "dGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFj" + - "bWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwg" + - "d2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRo" + - "ZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBw" + - "cm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3Ig" + - "Y29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RS" + - "SUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBg" + - "LS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBub2Rl" + - "IGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8t" + - "bm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4g" + - "U2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVT" + - "VEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9y" + - "X3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1" + - "c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRv" + - "bGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wt" + - "cGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVz" + - "ZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxl" + - "YCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJl" + - "cGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + - "QVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRp" + - "b25zYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9j" + - "a2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0" + - "b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBj" + - "cmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhh" + - "dCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBm" + - "cm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRo" + - "ZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlz" + - "IG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdp" + - "c3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwg" + - "c2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRl" + - "dGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3Rl" + - "ciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJl" + - "ZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQg" + - "ZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUg" + - "aW1hZ2UuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05g" + - "IHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBp" + - "dHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEg" + - "a2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNv" + - "IGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0" + - "IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayByZWNsYWltcyB0" + - "aGVtIGFmdGVyIDI0IGhvdXJzLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVw" + - "YCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCBy" + - "ZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRoZSB2" + - "YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4gVGhl" + - "IHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRl" + - "cnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFt" + - "IHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVzIGVh" + - "Y2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVu" + - "dGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25maWcu" + - "anNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNTdG9y" + - "ZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkga2V5" + - "IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlg" + - "LCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tF" + - "WWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5IGZv" + - "ciBhCmJhcmUgYC0tcHJlYCBydW4gd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2Ug" + - "YHVwYCBjcmVhdGVzIGl0cyBwdWxsCnNlY3JldHMgZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNl" + - "bnQgdG8gYW5vdGhlciByZWdpc3RyeS4KCk9ubHkgYSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSBy" + - "ZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhl" + - "IGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQSByZWplY3RlZCBOR0MgQVBJIGtleSBhZnRlciBp" + - "bnN0YWxsIGlzCmEgd2FybmluZywgc2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMgd2l0aCBpdHMgb3du" + - "IHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFjaGluZSBjYW5ub3QgcmVhY2gsIGEgdG9r" + - "ZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNyZWRlbnRpYWwgYXJl" + - "IHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMg" + - "RUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBza2lwcGVkIHdpdGggYSBjb21tYW5kIHRv" + - "IGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMgbWFjaGluZSBpbiBh" + - "bm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQgY3JlZGVudGlhbHMu" + - "CgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRzIHRo" + - "ZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmlyb25t" + - "ZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0dGlu" + - "ZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwt" + - "LS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRl" + - "ZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdh" + - "dGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMubmF0" + - "cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMubGxt" + - "V29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRl" + - "ZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhl" + - "IHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwKfCBF" + - "bnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5h" + - "bWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFsIGNv" + - "bXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxl" + - "ZGAgaXMgbm90IGB0cnVlYCB8IGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBPcGVuQmFv" + - "IG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJv" + - "YmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZD" + - "Rl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9t" + - "IHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVz" + - "Y3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVu" + - "dmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyBub3QgdXNlZCwg" + - "c28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBgYmFzZS55YW1sYAog" + - "IGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhlIHN0YWNrIHRoZSBp" + - "bnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25seSBydW4pLCBlbHNlIHRoZSBDTEkncwogIGJ1" + - "aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4g" + - "YG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIgY29tbWFuZCBleHRyYWN0" + - "ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywKICBgZmlsZTovL2AgaW5jbHVkZWQs" + - "IGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZAogIHN0" + - "YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRz" + - "IHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVy" + - "d2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBm" + - "aW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2Jl" + - "ZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMg" + - "Y2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8" + - "IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwg" + - "Q2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47" + - "IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBg" + - "c3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUg" + - "fCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5k" + - "ZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVu" + - "Y2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5l" + - "bCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8" + - "CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVp" + - "cmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + - "LXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVS" + - "TGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2Ag" + - "fCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoK" + - "IyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25s" + - "eSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAt" + - "LWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBg" + - "R2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBp" + - "cnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9u" + - "IHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQg" + - "c2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxp" + - "ZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWlu" + - "dGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyks" + - "IGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMj" + - "IGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + - "bWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNy" + - "ZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1u" + - "YW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRh" + - "aW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZl" + - "cmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5l" + - "ciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFN" + - "SU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBD" + - "SEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRo" + - "IGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4g" + - "fCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2Ug" + - "bmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBp" + - "cyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9k" + - "ZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0g" + - "bW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0" + - "aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBU" + - "b2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAs" + - "IG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5l" + - "ZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBz" + - "ZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1" + - "bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUg" + - "aGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + - "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + - "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + - "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1" + - "bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFk" + - "YXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVz" + - "IHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2Rl" + - "bC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAv" + - "djEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01l" + - "dGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGly" + - "ZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRg" + - "IGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9r" + - "ZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJl" + - "IGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBh" + - "bmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMs" + - "IGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2Ag" + - "aW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBm" + - "dW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBg" + - "ZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVg" + - "LCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBp" + - "bmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2Vk" + - "IGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2Ug" + - "YG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNl" + - "bGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQg" + - "dXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2Fu" + - "IHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVt" + - "YmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFH" + - "WyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRh" + - "dGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5n" + - "TWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0" + - "aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEw" + - "MDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8Cnwg" + - "YC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24t" + - "bGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1" + - "cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQt" + - "cHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRl" + - "OyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVz" + - "LiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24g" + - "dXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVg" + - "IGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0" + - "ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5v" + - "dCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3Bl" + - "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVj" + - "KS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + - "CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWly" + - "ZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5z" + - "dGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5z" + - "dGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwg" + - "TWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENv" + - "bmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNs" + - "dXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwg" + - "KGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + - "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9u" + - "cy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMs" + - "IGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFt" + - "ZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8" + - "IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0" + - "IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFn" + - "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1o" + - "ZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBP" + - "Q0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1p" + - "bnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlk" + - "ZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8" + - "IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZp" + - "YyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1j" + - "b250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250" + - "YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMy" + - "ImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1l" + - "bnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + - "U2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVz" + - "dCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0" + - "aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGlt" + - "ZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBi" + - "ZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwK" + - "fCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3Rv" + - "cCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0" + - "LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlm" + - "YWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9h" + - "ZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVp" + - "cmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFN" + - "RTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJl" + - "c291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVk" + - "IHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1s" + - "b2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + - "CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRw" + - "b2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVs" + - "ZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwguqa7vh0YAAIdGAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + - "ZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDihpIg" + - "ZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhl" + - "IHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSkg" + - "4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBhbmQg" + - "YSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1c2Ug" + - "fCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAgfCBP" + - "cGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1YmVj" + - "dGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwt" + - "a3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRo" + - "dWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9uIFBB" + - "VEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgR2F0" + - "ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1pc3Np" + - "bmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXkt" + - "aGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2Vg" + - "IHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhhcyBu" + - "byBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAg" + - "J3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8v" + - "aXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGluc3Rh" + - "bGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwgSW5z" + - "dGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUv" + - "Z3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZh" + - "a2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3NpbmdgIChj" + - "b21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRjLiB8" + - "IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFnZW50" + - "Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwg" + - "Tm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1j" + - "bGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZl" + - "YCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0" + - "ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJv" + - "bSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVu" + - "IGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3Jp" + - "dGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9r" + - "ZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0" + - "aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0" + - "b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91" + - "dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVj" + - "ayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0" + - "bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5H" + - "UFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBg" + - "Z3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAi" + - "aW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJv" + - "dmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0t" + - "cmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdp" + - "b249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAi" + - "TkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUg" + - "YXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52" + - "IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNl" + - "IGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZv" + - "ciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBt" + - "dWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8u" + - "Li4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBy" + - "dW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8" + - "IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNh" + - "L2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNo" + - "IElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8g" + - "Y2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01T" + - "IGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhz" + - "IGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rl" + - "ci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1i" + - "YWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25n" + - "IHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRo" + - "ZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5H" + - "YCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdh" + - "aXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4g" + - "bmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1z" + - "ZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lz" + - "dHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBj" + - "cmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91" + - "cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJl" + - "YWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNU" + - "IGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZj" + - "Zi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRo" + - "ZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJv" + - "dXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBk" + - "ZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEAAHQR" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNl" + - "bGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFj" + - "a3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBm" + - "bG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJv" + - "dWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHBy" + - "b2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50" + - "cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2Fs" + - "IGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNv" + - "bXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0g" + - "My4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24K" + - "YXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29t" + - "PiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwg" + - "c2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBp" + - "bnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVh" + - "ZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9y" + - "OiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2" + - "ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxm" + - "LWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3Rh" + - "bGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlh" + - "bWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xv" + - "dWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlv" + - "bnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5k" + - "IGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRo" + - "aXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hp" + - "bmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFj" + - "a2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZz" + - "IHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24g" + - "RW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9u" + - "LWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxz" + - "byByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + - "IHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVs" + - "bWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxh" + - "bmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3Rt" + - "cGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0" + - "YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3Rt" + - "cGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5n" + - "IGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNl" + - "IGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+" + - "Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0" + - "ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93" + - "IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5k" + - "cyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + - "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBC" + - "ZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9w" + - "ZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgx" + - "LjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0" + - "IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZm" + - "ID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBt" + - "aW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBm" + - "cm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJh" + - "c2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZp" + - "cm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBl" + - "bnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88" + - "bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQt" + - "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + - "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5n" + - "IHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24g" + - "bWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1" + - "bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAo" + - "eW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAg" + - "LT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZl" + - "IHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9j" + - "a3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290" + - "bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1h" + - "Z2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4g" + - "U2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUg" + - "d2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90" + - "IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBh" + - "IGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBD" + - "aGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIElu" + - "c3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3Jl" + - "dHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + - "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYg" + - "cHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9y" + - "dCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + - "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + - "IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + - "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + - "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28g" + - "Y29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJ" + - "bWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRp" + - "Y2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5E" + - "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNl" + - "cyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRl" + - "bnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMg" + - "TkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11" + - "ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + - "LmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0" + - "LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVn" + - "aW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2Vl" + - "cHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhl" + - "IHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlm" + - "ZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNy" + - "LmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tl" + - "ciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZp" + - "cnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVh" + - "ZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVk" + - "LCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9t" + - "IG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNv" + - "cnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2Vy" + - "bmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZv" + - "Y2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5n" + - "IGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBl" + - "bnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhl" + - "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRo" + - "ZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBm" + - "cm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBh" + - "IHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQg" + - "cHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tp" + - "cCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUg" + - "bWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2Jh" + - "bDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAg" + - "ICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3It" + - "c3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAg" + - "ICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJy" + - "b3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBh" + - "bmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAg" + - "ID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFk" + - "eSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFy" + - "ZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxl" + - "CiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5v" + - "dCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJy" + - "b3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwg" + - "Y29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRk" + - "YC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRn" + - "eiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFy" + - "dHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRo" + - "ZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + - "dG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlk" + - "ZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMg" + - "c2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRz" + - "YCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0" + - "aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRo" + - "ZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAg" + - "Mi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRl" + - "cyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0" + - "aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBw" + - "b2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0" + - "IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4K" + - "CiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhv" + - "c3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMg" + - "bm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhl" + - "IGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVj" + - "dGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + - "X0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3Vk" + - "IHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJh" + - "bGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRv" + - "ZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMs" + - "IHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52" + - "Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDog" + - "YXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4g" + - "YW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUg" + - "ZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1" + - "cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBp" + - "biBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFBy" + - "ZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMg" + - "aW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVM" + - "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNv" + - "bmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRl" + - "ZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRS" + - "QV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVy" + - "eSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Ag" + - "b25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJv" + - "bGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + - "T1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRl" + - "ciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2Fp" + - "dCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEg" + - "fCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJh" + - "IHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywg" + - "RVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBM" + - "TE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4g" + - "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBg" + - "cmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8" + - "IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYg" + - "ZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdh" + - "dGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBh" + - "bmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBt" + - "YXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24K" + - "cm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1" + - "ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2th" + - "Z2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0" + - "eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3" + - "ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2Fn" + - "ZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFt" + - "ZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDog" + - "dHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlz" + - "IGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZj" + - "Zjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1" + - "bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1" + - "c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSBy" + - "b3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFu" + - "ZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNr" + - "YWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFw" + - "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + - "ZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1G" + + "ciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBp" + + "dCByZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhl" + + "IHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFn" + + "ZSB0aG9zZS4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUn" + + "cyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdy" + + "aXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGlu" + + "ZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12" + + "YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjog" + + "ZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1" + + "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxh" + + "dGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2Nv" + + "dmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBj" + + "aGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkg" + + "cG9sbC4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUgd2l0aCBhIHdhcm5pbmcgfCAt" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwu" + + "Li5gIHwgRXh0cmEgcmVnaXN0cmllcyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0" + + "aGlzIG1hY2hpbmUsIGFuZCB0aGVpciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29u" + + "dHJvbC1wbGFuZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ss" + + "IGFzIGluIGBoYXJib3IuZXhhbXBsZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSBy" + + "ZWdpc3RyaWVzIHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyBy" + + "ZWdpc3RyeSwgdGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwu" + + "aW1hZ2UucmVwb3NpdG9yeWAsIGFuZCBgcXVheS5pb2AgZm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNN" + + "RSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBsZWF2ZXMgY2VydC1tYW5hZ2VyIG91dCBvciBzZXRz" + + "IGBjZXJ0TWFuYWdlci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCwgYXMg" + + "YSB3YXJuaW5nIG9ubHksIHdoZW4gbmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1l" + + "cyBhIHJlZ2lzdHJ5LiBUaGUgaW4tcG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2Ug" + + "dGhlIHBvZCBoYXMgbm8gcHJveHkuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5k" + + "LiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + + "QUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lz" + + "dHJpZXNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IElt" + + "YWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxp" + + "ZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5" + + "Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52" + + "OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBj" + + "bHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tl" + + "ciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzpl" + + "ZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVz" + + "aWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVy" + + "cyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBg" + + "UHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxz" + + "IHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9D" + + "TElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNl" + + "Y3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8g" + + "cHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNy" + + "ZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lz" + + "dHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9u" + + "bHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8g" + + "YGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0" + + "aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0" + + "aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0" + + "b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9t" + + "IHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNr" + + "aXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0" + + "aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2Ug" + + "dGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIg" + + "Y2Fubm90IHB1bGwgdGhlIGltYWdlLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xV" + + "U1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUg" + + "dmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBm" + + "b3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2Ug" + + "aXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcg" + + "Zm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIg" + + "Y2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3Vycy4gVGhlIHJvdywgdGhlIGBmaW5hbGAg" + + "ZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRo" + + "ZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdyB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9n" + + "c2AgfCBQcmludCB0aGUgdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBj" + + "aGVjayBldmVudHMuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxz" + + "byB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJl" + + "YWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpg" + + "Y2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGgg" + + "aXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tF" + + "Ul9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3Vn" + + "aCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9g" + + "IHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1B" + + "R0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlg" + + "IGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2Nr" + + "ZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52" + + "aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFu" + + "ZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuCgpPbmx5IGEgY3JlZGVudGlh" + + "bCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQgb25seSBmb3IgYW4gTlZJ" + + "RElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMuIEEgcmVqZWN0ZWQgTkdD" + + "IEFQSSBrZXkgYWZ0ZXIgaW5zdGFsbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1" + + "bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fu" + + "bm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2Nh" + + "bApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNw" + + "ZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3" + + "aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0" + + "aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZh" + + "bGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2" + + "YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3" + + "aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUg" + + "c3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcg" + + "a2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBp" + + "LmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVu" + + "bGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkg" + + "d2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkg" + + "d2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBh" + + "cyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBp" + + "cyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3Rh" + + "Y2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5" + + "QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0Vg" + + "IHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRy" + + "YWAgd2hvc2UgYGVuYWJsZWRgIGlzIG5vdCBgdHJ1ZWAgfCBgTlZDRl9FWFRFUk5BTF9DT01QT05F" + + "TlRTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0Vg" + + "IHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + + "LWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92" + + "ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9u" + + "bHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMg" + + "bmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1" + + "bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1s" + + "YC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9t" + + "IHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxz" + + "ZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBk" + + "aXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVy" + + "IGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZp" + + "bGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0" + + "cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQgbm8g" + + "c3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBk" + + "aXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6" + + "IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBu" + + "dmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5h" + + "bWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8" + + "IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1y" + + "ZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4t" + + "b25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8" + + "IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9u" + + "ZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNo" + + "YCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8" + + "IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVy" + + "IGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBw" + + "YW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1" + + "c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1" + + "aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwK" + + "fCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1p" + + "Z25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlz" + + "dHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNr" + + "YCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVy" + + "YXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVs" + + "IGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4g" + + "RFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBl" + + "eHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBP" + + "dmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1" + + "bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVk" + + "aWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRz" + + "OiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwg" + + "YHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + + "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9u" + + "cy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFn" + + "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAg" + + "fCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQg" + + "UE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBl" + + "IERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8" + + "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4g" + + "Q2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2Vk" + + "IExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3Vi" + + "ZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4g" + + "YC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + + "YCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1v" + + "ZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08" + + "dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+" + + "YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNg" + + "LCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQg" + + "SlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBj" + + "b21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + + "eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExv" + + "d2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291" + + "bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJy" + + "aWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJp" + + "ZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxp" + + "bmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9k" + + "ZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZp" + + "Zy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhw" + + "b3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQv" + + "Y29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxt" + + "Q29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3" + + "b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmln" + + "LnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3Np" + + "dGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3Vw" + + "cG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJz" + + "KSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBj" + + "b21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAw" + + "MDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBp" + + "bmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExN" + + "IGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1D" + + "aGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNy" + + "ZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2" + + "aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRp" + + "b24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRo" + + "ZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5h" + + "bWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMg" + + "QVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lv" + + "biBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1" + + "cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + + "LXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBg" + + "LS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1l" + + "PTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsg" + + "cmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxp" + + "bWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4g" + + "bGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxh" + + "Y2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRl" + + "ZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0t" + + "bGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBw" + + "cmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3Qg" + + "TkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4g" + + "SlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMg" + + "d2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxs" + + "bUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0" + + "YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRl" + + "cGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVk" + + "IChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVu" + + "Y3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBg" + + "SDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4" + + "YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4" + + "LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29u" + + "Y3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFw" + + "cGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29t" + + "cHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNw" + + "ZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + + "IHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5v" + + "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVk" + + "KSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdw" + + "dSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + + "bXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAo" + + "cmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAw" + + "XzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhj" + + "bHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVs" + + "bSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + + "LWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBD" + + "TEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJh" + + "Y2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + + "TkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNl" + + "cGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxh" + + "dW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEw" + + "IC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29u" + + "dGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0" + + "cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsg" + + "ZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXgg" + + "d2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7" + + "IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4" + + "IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + + "ZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2Ug" + + "cGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQx" + + "SGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0" + + "YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9O" + + "YCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1v" + + "ZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8" + + "CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFi" + + "bGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRp" + + "ZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8" + + "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0" + + "aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBl" + + "bmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmlj" + + "cyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVV" + + "SURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcI2jnw1rRHAAC0RwAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpL" + + "bm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAg" + + "aW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJ" + + "IGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBl" + + "cnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwg" + + "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwg" + + "bm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3Rs" + + "IHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNr" + + "cy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2Ft" + + "ZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8" + + "IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9p" + + "bnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRl" + + "d2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52" + + "b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1j" + + "cmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVg" + + "IHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0" + + "Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFz" + + "cy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9w" + + "ZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0" + + "b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50" + + "ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3Iu" + + "aHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxh" + + "YmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dw" + + "dS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFt" + + "aWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNl" + + "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAo" + + "aW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3Qg" + + "cGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAt" + + "LW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIg" + + "YWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUg" + + "c2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNm" + + "LWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyBy" + + "ZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9l" + + "c24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + + "ZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxs" + + "IC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + + "fCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0" + + "ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFz" + + "czsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYElu" + + "dmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBX" + + "cm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJn" + + "cHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJl" + + "Z2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21w" + + "dXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0" + + "eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwK" + + "fCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmlu" + + "ZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZh" + + "YTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1j" + + "bGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFn" + + "ZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1" + + "c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2Ug" + + "aW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMj" + + "IENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0" + + "MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1" + + "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIg" + + "SUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVz" + + "aCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVy" + + "IElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBj" + + "b21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVy" + + "IHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFj" + + "a09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcg" + + "bWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQg" + + "PHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kg" + + "c3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xk" + + "LWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBg" + + "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0" + + "cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + + "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNz" + + "aW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVz" + + "aW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnkt" + + "Y3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + + "bGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdh" + + "dGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFs" + + "cyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWlu" + + "KSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMg" + + "fCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiBy" + + "b2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkg" + + "fApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5k" + + "IG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21w" + + "dXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + + "ZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwg" + + "c2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBp" + + "bnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNv" + + "bnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1o" + + "b3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50" + + "czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5z" + + "ZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8" + + "IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcg" + + "Y2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + + "aGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFu" + + "YWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5l" + + "LCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRv" + + "b2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFs" + + "OiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + + "bnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2Vk" + + "LCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNs" + + "aS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5n" + + "dWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0" + + "bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdl" + + "ZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBj" + + "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0" + + "cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93" + + "biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVh" + + "ZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + + "Lm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3Ig" + + "dGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBp" + + "bnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wt" + + "cGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVu" + + "dHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBk" + + "b3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyBy" + + "ZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + + "b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFu" + + "ZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNw" + + "bGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRl" + + "eHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMg" + + "TXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lv" + + "biAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBp" + + "bmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11" + + "c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFu" + + "ZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMg" + + "aGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBg" + + "CgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1s" + + "YCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fu" + + "b25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9u" + + "dmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxv" + + "dwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1v" + + "biBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1s" + + "ICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52" + + "Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFs" + + "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNo" + + "YXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + + "ICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5s" + + "aW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDog" + + "YGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRv" + + "IGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCBy" + + "ZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBl" + + "bnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtP" + + "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVl" + + "cykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQg" + + "aW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNo" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "ZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5H" + + "QyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRz" + + "LCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJl" + + "bmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4K" + + "CiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBk" + + "b2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBO" + + "R0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + + "byB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0" + + "ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIg" + + "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + + "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgoj" + + "IEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291" + + "bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVn" + + "aXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9y" + + "ZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9y" + + "Z3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRo" + + "ZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + + "aW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBv" + + "dmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZh" + + "aWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUg" + + "YXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNo" + + "YXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBs" + + "b2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBv" + + "ciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIg" + + "YGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVk" + + "IGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9y" + + "IGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJv" + + "bSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoK" + + "SWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNs" + + "dXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0" + + "IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + + "dGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3Rh" + + "Y2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0" + + "aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAg" + + "YGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + + "aXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBv" + + "c2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUg" + + "aGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICBy" + + "ZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhh" + + "cyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kg" + + "Y2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8v" + + "Li4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNo" + + "YXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0" + + "b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBu" + + "b3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAg" + + "ID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sg" + + "YXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJ" + + "OiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxt" + + "IHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+" + + "YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJj" + + "ZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3Rl" + + "ciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9k" + + "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBu" + + "bwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVz" + + "cGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNw" + + "YWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + + "IGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + + "ci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFw" + + "aSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rp" + + "b24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBj" + + "cmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhl" + + "IHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9y" + + "ZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9t" + + "YWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRv" + + "bWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + + "YW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZ" + + "X0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5" + + "LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + + "ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3Ru" + + "YW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVy" + + "bWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYt" + + "bWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0" + + "aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGds" + + "b2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwg" + + "YW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIg" + + "YmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9B" + + "RERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21h" + + "aW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24u" + + "IFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJl" + + "dmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNz" + + "YW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9j" + + "dW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEg" + + "Y2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + + "c3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQg" + + "ZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBC" + + "YWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fz" + + "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxU" + + "X0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxl" + + "IGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3Ig" + + "fCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwt" + + "LS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9w" + + "ZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkt" + + "a2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdh" + + "eSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUt" + + "MTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8" + + "IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFi" + + "aWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJh" + + "dGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4g" + + "RW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2Fi" + + "bGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9z" + + "dG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJ" + + "IGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJh" + + "Y3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJl" + + "bGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFu" + + "ZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYg" + + "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmly" + + "b25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdh" + + "eToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1" + + "bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZh" + + "bml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5k" + + "IHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdg" + + "LiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9t" + + "YWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUg" + + "c3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29u" + + "ZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNl" + + "LCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + - "eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUg" + - "YWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95" + - "LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3Vi" + - "ZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFu" + - "aXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBu" + - "b3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZv" + - "Y2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJl" + - "IHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNG" + - "IFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBh" + - "ZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9u" + - "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5" + - "b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAg" + - "cmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhl" + - "IE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90" + - "IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVz" + - "cGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBz" + - "LApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMg" + - "OC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wt" + - "cGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFm" + - "dGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRv" + - "ZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQg" + - "ZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5l" + - "IE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQg" + - "YnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRl" + - "IENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFu" + - "ZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRp" + - "bmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBD" + - "bGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29u" + - "dHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUg" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFz" + - "ZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNG" + - "IHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFw" + - "aS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlg" + - "LCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAs" + - "IGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1h" + - "bmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAu" + - "IFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2Vy" + - "dC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBO" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Uu" + - "IEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFs" + - "c2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFn" + - "ZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRo" + - "ZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhl" + - "ciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24s" + - "IHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0" + - "IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0" + - "aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcg" + - "c3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21h" + - "dGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBw" + - "bGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQg" + - "Z2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1" + - "biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMj" + - "IERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8K" + - "ICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUK" + - "YGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAn" + - "KGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJl" + - "dHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZp" + - "cm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwg" + - "YGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1" + - "ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxl" + - "LmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1w" + - "bGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRp" + - "cmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + - "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + - "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + - "CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAg" + - "ICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBn" + - "b3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRg" + - "LCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlz" + - "dC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3Jl" + - "dHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + - "bXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3Jl" + - "dHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29u" + - "ZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBm" + - "YWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8" + - "IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENy" + - "ZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVy" + - "cG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVz" + - "IHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkg" + - "cHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBv" + - "ZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1" + - "c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291" + - "bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4g" + - "YDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lk" + - "ZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0" + - "YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwg" + - "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5" + - "PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNh" + - "ciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxh" + - "dGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NS" + - "RURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4i" + - "Cj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1" + - "dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3Bz" + - "IGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4g" + - "U28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5n" + - "LiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+" + - "IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJv" + - "b3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3Qg" + - "YmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBz" + - "aWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1l" + - "ZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMg" + - "aW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtl" + - "eSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJl" + - "cGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5" + - "bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIk" + - "S0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1h" + - "cGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlm" + - "IE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3Qt" + - "YXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJl" + - "c3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNh" + - "ciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBO" + - "R0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0" + - "Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2gg" + - "bmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQg" + - "KGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUg" + - "ZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8g" + - "YSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + - "Y2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1" + - "cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBh" + - "ZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRz" + - "YCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkg" + - "Zm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUg" + - "bW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0g" + - "cmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0g" + - "cmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVy" + - "bm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5h" + - "bWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5k" + - "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + - "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0" + - "ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3ku" + - "eWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUs" + - "IGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkg" + - "d2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + - "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3si" + - "bmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0" + - "LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpG" + - "b3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlw" + - "dCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + - "dHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBv" + - "ZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + - "QWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScu" + - "bGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBw" + - "YXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + - "LS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBv" + - "ciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBp" + - "bWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZh" + - "dWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdy" + - "YXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93" + - "cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkg" + - "dmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1" + - "cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpX" + - "S1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVy" + - "eS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3Rl" + - "ciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVl" + - "YCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5i" + - "YW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fz" + - "c2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRy" + - "YS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFz" + - "aC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0" + - "cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEu" + - "c2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBg" + - "Y2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwg" + - "dG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSAr" + - "IHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3Rv" + - "ciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwg" + - "Y2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3Rh" + - "dGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRo" + - "ZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91" + - "dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3Vi" + - "ZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVu" + - "Y3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRo" + - "ZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBp" + - "YCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNo" + - "ZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291" + - "bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5" + - "IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFw" + - "LXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5q" + - "c29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0" + - "L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBh" + - "dGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGlu" + - "ZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJ" + - "T05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlv" + - "biBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIg" + - "dGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVH" + - "SU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBg" + - "TlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2Nv" + - "dW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoq" + - "YHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBp" + - "LWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0" + - "YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElm" + - "IHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hl" + - "cyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8g" + - "YWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50" + - "IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3Ro" + - "aW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBh" + - "ZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZj" + - "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVk" + - "ZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1" + - "biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFn" + - "YWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxl" + - "dGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBk" + - "ZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90" + - "LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5" + - "bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAg" + - "IyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNv" + - "dXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtD" + - "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + - "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdv" + - "cmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVy" + - "YXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtk" + - "ZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNl" + - "IHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBj" + - "cmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgR" + - "wxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJp" + - "ZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxs" + - "IHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIg" + - "cmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNp" + - "b25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiks" + - "IGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAx" + - "IG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1" + - "bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + - "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3Qg" + - "MS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRo" + - "ZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0g" + - "My4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9u" + - "JyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJU" + - "aGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNp" + - "b24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1i" + - "ZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5" + - "bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVk" + + "eSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0" + + "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZh" + + "bml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1" + + "cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9o" + + "ZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJ" + + "LCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4g" + + "VGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMj" + + "IyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + + "dXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + + "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + + "RiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250" + + "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0" + + "aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhl" + + "bnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBl" + + "bmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZl" + + "cmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWkt" + + "YWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3Rh" + + "Y2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFu" + + "ZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29t" + + "cHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFy" + + "YXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHBy" + + "b2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4g" + + "cnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBu" + + "b3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29t" + + "bWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJk" + + "b3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFu" + + "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNh" + + "bWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25s" + + "eSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxl" + + "IHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwg" + + "YGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2Vydmlj" + + "ZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBg" + + "dmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGlu" + + "Z3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFs" + + "c28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVw" + + "IHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFz" + + "ZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3Ig" + + "bmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ks" + + "IGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5" + + "IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNl" + + "IHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5k" + + "YXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "ZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2" + + "YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3Jl" + + "LW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xz" + + "aXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + + "VmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtl" + + "eXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJh" + + "LnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoK" + + "IyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxl" + + "YXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxv" + + "Y2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + + "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + + "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + + "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + + "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + + "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + + "YGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVu" + + "Y3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBs" + + "YXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1w" + + "bGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUg" + + "cmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMg" + + "SW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0" + + "eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxv" + + "dyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3Jt" + + "YXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3Rz" + + "dHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0t" + + "LXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52" + + "Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3Jl" + + "YXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRv" + + "IGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3Jl" + + "dHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNy" + + "ZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0Vf" + + "UFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2Vz" + + "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGAp" + + "IHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxk" + + "cyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgi" + + "JG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3Jl" + + "ZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRo" + + "ZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhf" + + "QkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRv" + + "Y2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMg" + + "YSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZl" + + "cmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNv" + + "bmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9r" + + "ZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + + "c2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0g" + + "V3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMK" + + "PiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1h" + + "dCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxs" + + "IGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mg" + + "b2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3" + + "cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBp" + + "cyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRo" + + "b3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRv" + + "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0" + + "IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0i" + + "JEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZv" + + "ciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1" + + "YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1" + + "cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hl" + + "biBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + + "ZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZj" + + "ci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50" + + "LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAo" + + "c2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3Jpbmcg" + + "ZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGlj" + + "YXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBh" + + "dGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5" + + "dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBg" + + "aW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMg" + + "d29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0" + + "aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3Rh" + + "bGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + + "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + + "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBz" + + "ZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpm" + + "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + + "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + + "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0" + + "aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1" + + "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0" + + "IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1j" + + "cmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMg" + + "U2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1" + + "c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFN" + + "IG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3Jl" + + "dCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBj" + + "aGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAg" + + "ICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + + "bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMg" + + "Q29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0t" + + "LS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3Jp" + + "emVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3Rz" + + "LCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBz" + + "ZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3Bl" + + "bkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQt" + + "YWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + + "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8g" + + "SldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBj" + + "bHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + + "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9J" + + "REMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + + "cnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNg" + + "LCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRd" + + "KHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBP" + + "T01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92" + + "ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNr" + + "ZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENh" + + "c3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + + "UkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBj" + + "aEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2Vj" + + "cmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUt" + + "c3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9k" + + "cyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3Rs" + + "IGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNl" + + "IGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxt" + + "ZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQg" + + "Ym9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + + "aWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + + "LW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3du" + + "IGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2" + + "ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVk" + + "IHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9v" + + "ayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBo" + + "b29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1h" + + "Y2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2Vj" + + "cmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8g" + + "YC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZl" + + "cyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQg" + + "ZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0" + + "IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwK" + + "fCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRj" + + "aCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0" + + "YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19S" + + "RUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMj" + + "IFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlz" + + "IGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2Uq" + + "KgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBp" + + "dCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBg" + + "YXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQg" + + "d2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29r" + + "IG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQg" + + "ZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGll" + + "bnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4K" + + "ClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0n" + + "ey5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNl" + + "bnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0" + + "aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGlu" + + "Z2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + + "cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2Nv" + + "dW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMj" + + "IEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFt" + + "cGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + + "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQg" + + "Y29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9o" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVy" + + "IGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3Jl" + + "YXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2Ug" + + "ZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + + "AKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVl" + + "c3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + + "UyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRp" + + "b25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVx" + + "dWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCks" + + "IGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwg" + + "KGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRv" + + "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + + "dCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0g" + + "My4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZp" + + "ZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGli" + + "aWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5j" + + "IHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0" + + "IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tz" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNo" + + "ZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJl" + + "bmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWlu" + + "ZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkg" + + "ZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRl" + + "JyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZl" + + "c3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdo" + + "ZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4g" + + "d2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1" + + "bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBz" + + "dHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVk" + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQg" + - "c3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3Rz" + - "IGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZp" + - "ZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMi" + - "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdp" + - "dGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNr" + - "aXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVw" + - "IiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0" + - "aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVy" + - "cyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMg" + - "ZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2Ug" + - "ZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkg" + - "dGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFj" + - "a2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJl" + + "dXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1" + + "c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVt" + + "b3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNs" + + "ZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1l" + + "c3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + + "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + + "b3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1" + + "dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3Zl" + + "IHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNl" + + "IC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMi" + + "LAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + + "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + + "c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0" + + "byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAg" + + "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0" + + "ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0" + + "ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZy" + + "b20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxh" + + "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdh" + + "eSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFs" + + "bGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVn" + + "aXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNv" + + "bmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUg" + + "c2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlv" + + "biB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNv" + + "bnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUg" + + "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tl" + + "X3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlf" + + "aG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBi" + + "YXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUs" + + "IE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNv" + + "bXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVf" + + "RU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + + "c3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21z" + + "X2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBN" + + "YWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tT" + + "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1" + + "aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4" + + "IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJv" + + "dGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5H" + + "QyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBu" + + "dmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIg" + + "bG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2Rv" + + "Y2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + + "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3" + + "b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBi" + + "ZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBh" + + "dXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNz" + + "aW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0Yg" + + "aW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBh" + + "dHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52" + + "aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMg" + + "d2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + + "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5v" + + "dCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVy" + + "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQg" + + "c3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFn" + + "ZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVh" + + "bi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxs" + + "YXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + + "ci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJz" + + "dDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRo" + + "ZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3Vy" + + "IGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhh" + + "bmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBh" + + "IHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhl" + + "bG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + + "ZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0" + + "ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3Rl" + + "bSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikg" + + "d2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcg" + + "YmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3Rh" + + "Z2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5n" + + "cmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAi" + + "QWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVk" + + "IGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhh" + + "Y3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1p" + + "eCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdv" + + "cmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250" + + "cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0" + + "ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4g" + + "SXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVh" + + "Y2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBz" + + "dWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2Vk" + + "IHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0" + + "byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + + "IGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + + "LS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwg" + + "YW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25m" + + "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + + "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVl" + + "cywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "a2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlk" + + "IG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlv" + + "biI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1v" + + "cnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVy" + + "ZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhl" + + "IGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFs" + + "LnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBh" + + "Ym91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUg" + + "YXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBh" + + "Z2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJj" + + "ZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVk" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2Nr" + + "IChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQg" + + "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHBy" + + "ZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3Jl" + + "IGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3Rp" + + "dmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBO" + + "VkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0" + + "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUg" + + "c2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0" + + "aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwg" + + "Y2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlk" + + "ZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3Jv" + + "dXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYi" + + "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2Zm" + + "IHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRv" + + "IGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3Ig" + + "cHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFu" + + "ZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3Jl" + + "dCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHBy" + + "b3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMi" + + "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxs" + + "U2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJU" + + "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZp" + + "YyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFu" + + "ZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1" + + "dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52" + + "b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNy" + + "ZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRy" + + "b2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNl" + + "dCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2Nh" + + "bCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywg" + + "YW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBi" + + "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwg" + + "cGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJM" + + "cyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkg" + + "aW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXkt" + + "c3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRl" + + "d2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1n" + + "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNm" + + "U2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RT" + + "ZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhl" + + "IGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBu" + + "dmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + + "Lm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdy" + + "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + + "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5j" + + "bHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJl" + + "ZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5h" + + "dHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1" + + "bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJU" + + "aGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9y" + + "IGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rp" + + "b24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + + "ZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93" + + "IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUg" + + "Y2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJv" + + "dGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + + "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + + "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + + "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + + "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + + "ZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + + "IFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + + "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + + "aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFs" + + "dWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUg" + + "cmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBu" + + "b3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + + "ZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQg" + + "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJh" + + "biBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250" + + "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRl" + + "IGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxv" + + "dyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250" + + "cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3Vs" + + "ZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0" + + "aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + + "ZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBh" + + "biBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVk" + + "IGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Np" + + "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHBy" + + "ZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + + "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + + "aXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFr" + + "ZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwK" + + "ICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFs" + + "IGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0" + + "byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBw" + + "bGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9u" + + "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + + "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + + "ICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVu" + + "diwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFu" + + "LW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1" + + "bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + + "bGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRl" + + "ZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkg" + + "aWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + + "biAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxp" + + "bmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + + "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJl" + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0" + - "IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3Rs" + - "IHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVy" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIg" + - "bmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdl" + - "bnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwg" + - "bnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxl" + - "dGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIklu" + - "c3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBs" + - "YW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNv" + - "bmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2Vw" + - "dCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2Zp" + - "bGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1w" + - "bGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0" + - "aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wg" + - "cGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRh" + - "cmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50" + - "IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9J" + - "REMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZv" + - "cmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJU" + - "aGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNf" + - "dXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19o" + - "b3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVS" + - "X1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09O" + - "RklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01T" + - "X1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0" + - "aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcs" + - "IGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0" + - "ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUg" + - "Y29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1h" + - "dXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1m" + - "aWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBk" + - "b2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxh" + - "aW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChu" + - "b3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBp" + - "bnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3Iu" + - "aW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAk" + - "b2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhl" + - "IGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUg" + - "dXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNv" + - "bW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRp" + - "cmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJp" + - "ZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNy" + - "ZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwg" + - "c3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVu" + - "IGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywg" + - "ZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hl" + - "biBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQg" + - "bm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0" + - "aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sg" + - "YnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIs" + - "CiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZD" + - "RiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVu" + - "dCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21w" + - "bGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9v" + - "bHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Vz" + - "IGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHBy" + - "ZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBw" + - "aGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0" + - "ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sg" + - "d2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhl" + - "bG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUg" + - "c3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5l" + - "IG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5" + - "cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBj" + - "b21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9F" + - "TlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5n" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5" + - "bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wt" + - "cGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmls" + - "aXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJv" + - "bCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0" + - "aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVu" + - "dGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRl" + - "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1" + - "ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRo" + - "ZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cg" + - "ZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBp" + - "dHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBj" + - "b21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1j" + - "b25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVu" + - "diwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lz" + - "dHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxl" + - "IGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2" + - "YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAg" + - "IlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAg" + - "IlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAt" + - "LWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAog" + - "ICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAg" + - "ICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4" + - "dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0" + - "ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxt" + - "ZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92" + - "ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBw" + - "b2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZH" + - "aS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUg" + - "d2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVh" + - "c2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5k" + - "IHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1l" + - "cmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRo" + - "ZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1l" + - "bW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290" + - "bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBv" + - "dmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBt" + - "ZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2" + - "YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFu" + - "Z2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBz" + - "eW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVu" + - "Y2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVz" + - "IC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBs" + - "b3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9k" + - "cyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + - "ICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRv" + - "IGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9k" + - "cyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVt" + - "LCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3Ig" + - "cmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24i" + - "OiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRo" + - "b3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5n" + - "IHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJv" + - "b3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNo" + - "ZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3Vu" + - "dC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50" + - "aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJl" + - "Y3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJl" + - "IHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdl" + - "bnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVz" + - "cGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBw" + - "b2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlm" + - "aWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAg" + - "InF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJl" + - "YWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNs" + - "dWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2Ug" + - "dGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQg" + - "R2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3Rl" + - "IHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFi" + - "bGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVu" + - "QmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkg" + - "VVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRl" + - "LXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJy" + - "aWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFt" + - "ZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9y" + - "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0" + - "IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5" + - "QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAi" + - "VGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0" + - "byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAi" + - "VGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNm" + - "R3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RH" + - "cnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1s" + - "b2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5n" + - "cmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRo" + - "IHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRv" + - "IHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + - "Y292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUg" + - "YmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxl" + - "c3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUg" + - "aWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZp" + - "Y2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNI" + - "b3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNw" + - "YWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5l" + - "IHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5" + - "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24g" + - "bXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVs" + - "eS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRz" + - "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBj" + - "b25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBk" + - "ZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5l" + - "IGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRo" + - "ZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFj" + - "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWly" + - "ZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBp" + - "bnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJl" + - "bGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFi" + - "b3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQg" + - "dGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxv" + - "dyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1" + - "bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBz" + - "dGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFu" + - "ZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBn" + - "b3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVn" + - "aXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUg" + - "ZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBh" + - "ZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5" + - "IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5l" + - "IE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAg" + - "ICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRl" + - "bGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1" + - "Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNv" + - "bnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHBy" + - "ZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBl" + - "ZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3Rh" + - "bGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sg" + - "b3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + - "IGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0" + - "LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhv" + - "dXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAg" + - "ICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdp" + - "dGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBm" + - "bG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRp" + - "bCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBm" + - "bG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSBy" + - "ZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5v" + - "dCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5l" + - "IHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQg" + - "Y2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBm" + - "bG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3Ro" + - "IGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBk" + - "b3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2gg" + - "Y29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIg" + - "bm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZh" + - "bHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkg" + - "ZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8g" + - "aGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVu" + - "diBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVu" + - "dGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + - "aWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1" + - "c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhw" + - "bGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1M" + - "IC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAg" + - "ICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNz" + - "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwu" + - "c3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + - "YWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNl" + - "IGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVz" + - "IG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + - "IHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVk" + - "IHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQs" + - "IHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1" + - "cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5h" + - "YmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkg" + - "YW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVy" + - "IHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlz" + - "IHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNp" + - "bmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFp" + - "bnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVs" + - "dCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBp" + - "bmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNl" + - "Y3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRo" + - "YXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCBy" + - "ZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1" + - "cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5k" + - "IHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRl" + - "Y2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBh" + - "ZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50" + - "IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50" + - "IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28g" + - "YW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1" + - "aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0" + - "aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8g" + - "cGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZv" + - "ciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWlu" + - "dGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFw" + - "cGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0" + - "aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNy" + - "ZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBh" + - "Z2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExM" + - "TSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMt" + - "aW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGsz" + - "ZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90" + - "cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2Qg" + - "ZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQt" + - "bG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUg" + - "YWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBz" + - "a2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0" + - "aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVs" + - "b3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYg" + - "c2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVU" + - "BQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1l" + - "bnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2Vz" + - "CgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJn" + - "ZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5k" + - "cmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVz" + - "b3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENh" + - "cHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3Jl" + - "cCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoK" + - "IyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + - "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + - "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + - "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + - "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + - "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + - "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + - "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + - "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + - "MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + - "L3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNz" + - "LWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJl" + - "c291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhl" + - "IE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBp" + - "bnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lz" + - "dHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFn" + - "ZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJl" + - "Z2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUg" + - "ZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmds" + - "b2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAg" + - "cmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAg" + - "ICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBs" + - "b2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBu" + - "dmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBs" + - "b2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMg" + - "U3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9y" + - "dCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2Uu" + + "eWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxp" + + "bmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxp" + + "Y2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJl" + + "IHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50" + + "IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1" + + "ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9u" + + "IGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQg" + + "SGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0" + + "aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUg" + + "TExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRo" + + "ZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + + "Y29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + + "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0" + + "aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + + "Y2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQu" + + "c3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3" + + "aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3Ig" + + "cHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + + "IGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExM" + + "TSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5k" + + "IGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5l" + + "bmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91" + + "dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMg" + + "dG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + + "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24g" + + "aG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlD" + + "SW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJu" + + "ZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25t" + + "ZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBo" + + "YW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9u" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVz" + + "dC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBp" + + "bmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5F" + + "Ry1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYg" + + "Y2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVs" + + "bCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlz" + + "IGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBu" + + "dmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdl" + + "ZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1" + + "aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVw" + + "bG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVj" + + "aWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9w" + + "cmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQg" + + "b24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fz" + + "c2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBj" + + "YXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoK" + + "UHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRp" + + "b246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2su" + + "CgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNz" + + "LWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwg" + + "fCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAx" + + "LWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZh" + + "dGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVs" + + "bWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + + "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + + "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + + "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + + "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2Vz" + + "OgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1v" + + "cnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAg" + + "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9y" + + "ZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + + "YwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3Qg" + + "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + + "aXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBO" + + "R0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0" + + "YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQg" + + "b2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0" + + "ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5" + + "OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdp" + + "c3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAy" + + "OiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFz" + + "aApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0" + + "cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "YXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + + "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "YXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8g" + + "aGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3Jl" + + "dHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZp" + + "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + + "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + + "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + + "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + + "ICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAt" + + "IG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2Ug" + + "YXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + + "dGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFy" + + "dHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBj" + + "b21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0" + + "Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7" + + "IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0i" + + "Om1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAg" + + "J3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpk" + + "b25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + + "IC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0g" + + "XAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNo" + + "b3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMg" + + "RXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50" + + "IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ry" + + "b3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + + "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFs" + + "aXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1k" + + "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5h" + + "bGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVh" + + "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "LgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElD" + + "TVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + + "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQg" + + "c3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVz" + + "dHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJg" + + "IG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHBy" + + "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5" + + "IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIg" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9" + + "PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9y" + + "bXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBg" + + "a3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNh" + + "fG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + + "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVt" + + "cHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtD" + + "bGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0" + + "dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMg" + + "RXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNl" + + "cGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVj" + + "cmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBl" + + "bmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + + "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + + "dCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJl" + + "Y3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + + "IGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9y" + + "IHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCou" + + "aW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3Jhcnkg" + + "ZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBh" + + "bmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVh" + + "ZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3" + + "YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNv" + + "bnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVW" + + "YWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4g" + + "YW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGlu" + + "c3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUK" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMu" + + "CgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJh" + + "cGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdB" + + "WV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAt" + + "QQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + + "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + + "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + + "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + + "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + + "b3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMK" + + "ClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3Vy" + + "YXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0" + + "ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + + "CgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0t" + + "LS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBj" + + "YXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBh" + + "cGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFw" + + "aSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5k" + + "IGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5" + + "LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + + "ZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNm" + + "LXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + + "ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0" + + "ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxl" + + "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + + "QVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRl" + + "d2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0" + + "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVp" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0" + + "ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFz" + + "ZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSBy" + + "ZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + + "LWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFy" + + "YXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3Rl" + + "ciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJl" + + "bG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBD" + + "TEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBD" + + "aG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2lu" + + "dHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVl" + + "cyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + + "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVy" + + "YXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBp" + + "cyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3Jl" + + "ZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0" + + "b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGlu" + + "Zy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50" + + "IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwg" + + "ZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + + "bXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFi" + + "bGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25p" + + "Y2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNm" + + "L3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52" + + "aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBp" + + "bgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNl" + + "cnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5M" + + "QiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNl" + + "cnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21h" + + "aW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNl" + + "VVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJM" + + "OiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2Vydmlj" + + "ZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6" + + "ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDog" + + "Imh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2" + + "aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToK" + + "ICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6" + + "OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVu" + + "dm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZj" + + "Zi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBu" + + "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAg" + + "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAg" + + "ICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAg" + + "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + + "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoK" + + "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoK" + + "b3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVk" + + "OiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFu" + + "YWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAg" + + "ICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAg" + + "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRz" + + "SG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGlu" + + "c3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + + "CgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVh" + + "dGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoK" + + "CmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tl" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5" + + "LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAi" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1k" + + "b21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19o" + + "b3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0" + + "bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRv" + + "IHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4g" + + "dGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8g" + + "YC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0" + + "ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAg" + + "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNU" + + "RVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9D" + + "TEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1j" + + "bGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVn" + + "aXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNP" + + "TkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIElu" + + "IGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRo" + + "ZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkg" + + "UHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0" + + "IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRp" + + "b246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAt" + + "LW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + + "cmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkg" + + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + + "CiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + + "IC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + + "YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVz" + + "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBz" + + "ZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRw" + + "b2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5v" + + "dCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBl" + + "bmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFu" + + "ZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0" + + "OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4" + + "dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5j" + + "ZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxh" + + "bmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9w" + + "ZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVy" + + "IG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBv" + + "bGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoj" + + "IyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3Bh" + + "Y2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZv" + + "eS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + + "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + + "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + + "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + + "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + + "eSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3du" + + "CgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBj" + + "b250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5l" + + "LCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhl" + + "IGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0" + + "aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIg" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5n" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + + "b3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2" + + "ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8" + + "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + + "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNh" + + "SURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + + "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0" + + "ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVh" + + "dApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNs" + + "dXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJ" + + "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + + "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQg" + + "YEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ry" + + "b3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4K" + + "CkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0" + + "ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZp" + + "cnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0" + + "ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + + "YWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdp" + + "c3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25s" + + "eWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUg" + + "cGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92" + + "YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBk" + + "b3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcg" + + "YW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + + "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0t" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8" + + "Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + + "LWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + + "PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24g" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + + "IEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRz" + + "IElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1" + + "c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVz" + + "IGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMg" + + "YWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2Rz" + + "IGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4K" + + "CiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3Qg" + + "dXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZp" + + "YyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVs" + + "bEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNU" + + "QVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIElt" + + "YWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0" + + "CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRo" + + "b3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMg" + + "ZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwg" + + "Z3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUg" + + "bmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+Cgoj" + + "IENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + + "bFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNl" + + "Y3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRo" + + "PSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2lu" + + "ZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNw" + + "YWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQq" + + "KjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxt" + + "ZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4g" + + "KipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZv" + + "Y2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFj" + + "Y291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + + "dHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCBy" + + "ZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAt" + + "biA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBg" + + "YGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9t" + + "cwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNo" + + "Ck5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMg" + + "ICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAg" + + "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2" + + "YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMg" + + "Q2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENo" + + "ZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVs" + + "dC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQt" + + "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5l" + + "ciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBv" + + "ZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3Vl" + + "cywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRu" + + "J3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0" + + "ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95" + + "CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVh" + + "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBu" + + "ZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + + "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90" + + "IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + + "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + + "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + + "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + + "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + + "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + + "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + + "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + + "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + + "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + + "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + + "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + + "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + + "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + + "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + + "LAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMg" + + "KGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAj" + + "ICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + + "YmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24g" + + "bG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAg" + + "IC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFv" + + "IEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2Vy" + + "dmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAg" + + "QUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBh" + + "a3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0" + + "aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2ln" + + "bmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0" + + "b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + + "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMj" + + "IyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92" + + "ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1w" + + "bGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5k" + + "cmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAg" + + "IG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAg" + + "bWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFi" + + "bGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVz" + + "b3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21z" + + "CgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UK" + + "Y2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMK" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24g" + + "Y2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3Qg" + + "bWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + + "IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBm" + + "b3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVj" + + "ayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9y" + + "YWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBg" + + "YmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVu" + + "dCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + + "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + + "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + + "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + + "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + + "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + + "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + + "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + + "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + + "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + + "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + + "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + + "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + + "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + + "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + + "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + + "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + + "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + + "ZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFs" + + "CiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0" + + "cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFj" + + "aGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291" + + "bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFs" + + "cyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lp" + + "bmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFt" + + "ZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlz" + + "ICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + + "YGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3lt" + + "cHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBg" + + "VGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAg" + + "VGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBg" + + "YAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFm" + + "dGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUg" + + "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRl" + + "bGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + + "bmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZj" + + "ZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVz" + + "cGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdj" + + "b250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNv" + + "bnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlw" + + "ZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01Q" + + "VVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFy" + + "aW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5k" + + "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNl" + + "ICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9" + + "IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNl" + + "IFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4v" + + "ZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBO" + + "b3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBs" + + "ZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMg" + + "YnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + + "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + + "cG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0" + + "IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3Mg" + + "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90" + + "CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBz" + + "dWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2Ny" + + "aWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJh" + + "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBg" + + "CgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2Vj" + + "cmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + + "cm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1l" + + "c3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRl" + + "LXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMj" + + "IyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4g" + + "ZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4g" + + "VGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + + "X0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21h" + + "aW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVz" + + "cyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VV" + + "UkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3Jl" + + "cCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktl" + + "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1" + + "bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZv" + + "ciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBm" + + "aWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0" + + "aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQj" + + "ZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVz" + + "ZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdo" + + "aWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZp" + + "Y2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBj" + + "YXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNl" + + "cnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rh" + + "cnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwK" + + "fCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1h" + + "cGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5" + + "IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJj" + + "ZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxl" + + "LXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMg" + + "RGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhl" + + "bG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENh" + + "c3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBO" + + "VkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + + "cGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAg" + + "IHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBl" + + "bnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1l" + + "bnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNy" + + "ZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29y" + + "ZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + + "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sv" + + "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBD" + + "b21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5n" + + "b3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRp" + + "b24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + + "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + + "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55" + + "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + + "ci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVu" + + "dHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3Jz" + + "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNl" + + "cwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50" + + "IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1w" + + "bCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0t" + + "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRz" + + "LXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJh" + + "by1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24g" + + "bmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0" + + "ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRh" + + "bmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29y" + + "ZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + + "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1u" + + "dmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNp" + + "cyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZp" + + "Y2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNl" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkg" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8" + + "IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0" + + "ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNm" + + "LWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5" + + "IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNl" + + "LWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7" + + "dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRo" + + "ZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55" + + "YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxl" + + "ZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2" + + "YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxl" + + "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + + "LS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8" + + "IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHkt" + + "c3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJs" + + "ZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1M" + + "IG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRo" + + "ZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlB" + + "TUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRo" + + "ZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3Qg" + + "ZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRo" + + "ZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + + "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVt" + + "cGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBj" + + "aGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + + "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJp" + + "ZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBl" + + "bmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + + "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + + "ZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVy" + + "cmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGlu" + + "IGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVj" + + "aGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNl" + + "OiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGlu" + + "ZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUt" + + "aW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBs" + + "aXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2Vz" + + "dCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRl" + + "ZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdv" + + "dG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + + "YyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0g" + + "c2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAt" + + "LSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBU" + + "aHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1l" + + "cmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFy" + + "dC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNp" + + "dGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + + "YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5k" + + "cmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBg" + + "Y2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVk" + + "YCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0g" + + "YG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0" + + "cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmls" + + "ZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNw" + + "ZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFv" + + "LmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8u" + + "c2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMg" + + "U2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3Ry" + + "eSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0g" + + "YDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0" + + "aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBp" + + "bnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBk" + + "ZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0" + + "aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jl" + + "c3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRl" + + "Y2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBu" + + "b3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9k" + + "ZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAph" + + "ZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGlj" + + "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + + "ICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAx" + + "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + + "OiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAg" + + "IHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9h" + + "ZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3Vu" + + "dDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1" + + "bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkw" + + "OTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdh" + + "eSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdh" + + "eS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0Yg" + + "QVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQg" + + "b3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFu" + + "ZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + + "SUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFu" + + "ZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNl" + + "cyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpz" + + "ZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0" + + "IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + + "b2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNp" + + "bmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0" + + "aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhl" + + "IGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6" + + "CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRl" + + "Y2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBv" + + "c2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNB" + + "UlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNr" + + "IHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25m" + + "aWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2" + + "YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRy" + + "b2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1" + + "dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9u" + + "IHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + + "bWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFp" + + "biBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFs" + + "dWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdv" + + "cmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMg" + + "Y3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBk" + + "b2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUg" + + "dXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkg" + + "dGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0" + + "ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52" + + "Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3Rs" + + "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQg" + + "cG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5l" + + "cnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAK" + + "CkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0" + + "IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5k" + + "IGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlk" + + "ZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVz" + + "L3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMg" + + "SGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoK" + + "YGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1v" + + "YnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1n" + + "YXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBh" + + "IHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMg" + + "bm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + + "ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFk" + + "ZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + + "dXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + + "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + + "ZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkg" + + "d2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNr" + + "CnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250" + + "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0" + + "aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMg" + + "RW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55" + + "YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgoj" + + "IyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1l" + + "c3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVp" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlm" + + "IHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBv" + + "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + + "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBu" + + "dmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAw" + + "YC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5" + + "CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24g" + + "aXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAt" + + "biBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJs" + + "IC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + + "cmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGlu" + + "dGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4g" + + "YXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsH" + + "CDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + + "IyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5n" + + "IE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBu" + + "dmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBv" + + "ZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmln" + + "dXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQg" + + "bmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1" + + "c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMg" + + "YXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + + "c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1z" + + "eXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFs" + + "bCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + + "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + + "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJv" + + "bC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + + "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + - "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + - "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + - "YGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNl" + - "cwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2gg" + - "cmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + - "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + - "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + - "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + - "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoK" + - "ICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAK" + - "ClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + - "Lm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFu" + - "ZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUK" + - "c2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + - "cnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2Vj" + - "cmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgoj" + - "IyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2" + - "ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJh" + - "byBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoK" + - "CmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4g" + - "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRu" + - "cyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIp" + - "OyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2gg" + - "c2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNy" + - "ZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVt" + - "IC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScu" + - "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + - "IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwg" + - "VGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5" + - "b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1w" + - "bGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4K" + - "YGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBj" + - "b21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0" + - "ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFu" + - "ZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + - "dGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFu" + - "ZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNo" + - "CjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rl" + - "ci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8" + - "bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZv" + - "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9s" + - "LXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRl" + - "ZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0g" + - "cmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1h" + - "bmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUg" + - "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlz" + - "IHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3Rp" + - "dmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVs" + - "bSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZp" + - "ZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNw" + - "YWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndp" + - "c2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1r" + - "dWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBc" + - "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUt" + - "a3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRy" + - "b2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBT" + - "dGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdy" + - "b3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xl" + - "c3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0" + - "ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlv" + - "bl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUg" + - "aGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292" + - "ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNp" + - "b25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBh" + - "IG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNo" + - "CkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNv" + - "bnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9B" + - "RERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxk" + - "cwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZp" + - "ZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUg" + - "aG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21h" + - "aW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRo" + - "b3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBH" + - "QVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxp" + - "dCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJl" + - "cGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZj" + - "Zk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJM" + - "cywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlk" + - "ZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91" + - "Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZl" + - "cmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3Vy" + - "bCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNm" + - "LWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50" + - "L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21w" + - "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBh" + - "dGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0t" + - "CgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0" + - "aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gK" + - "IyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBD" + - "aGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBw" + - "b2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0K" + - "CiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciBy" + - "ZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18" + - "CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJh" + - "by1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFw" + - "aSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2Vydmlj" + - "ZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5" + - "IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGlu" + - "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52" + - "YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFj" + - "ayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVp" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVz" + - "dCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + - "ZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVu" + - "IGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1" + - "c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + - "YXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBu" + - "YW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdl" + - "IGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8" + - "CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8" + - "IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90" + - "ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFi" + - "ZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4K" + - "UEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUg" + - "Y29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0" + - "YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVh" + - "Y2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBm" + - "b3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJv" + - "ZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYK" + - "CnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlv" + - "biBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29u" + - "dHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdl" + - "bmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3Ig" + - "dGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUg" + - "ZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMg" + - "YmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0" + - "b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxl" + - "cy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxt" + - "ZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGlu" + - "c3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXks" + - "IHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJl" + - "Z2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwg" + - "YW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8t" + - "RW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1l" + - "bmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0" + - "aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0" + - "dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5" + - "YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25t" + - "ZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJy" + - "aWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8" + - "Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5z" + - "IHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRv" + - "bWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBp" + - "LjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2Vy" + - "LWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxn" + - "YXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48" + - "Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10" + - "YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8v" + - "aW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2Vydmlj" + - "ZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoK" + - "ICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVz" + - "cGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFt" + - "ZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0" + - "ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFt" + - "ZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAg" + - "ICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdh" + - "eS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxl" + - "ZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21h" + - "aW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3Jh" + - "dGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5" + - "YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21z" + - "U2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VI" + - "b3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2" + - "aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0" + - "SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAi" + - "bmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJu" + - "YXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJv" + - "bCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3Rl" + - "cmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhl" + - "IENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0" + - "dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEi" + - "CmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3Vy" + - "bDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9t" + - "YWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9o" + - "b3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3" + - "YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRo" + - "b3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlv" + - "biBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBs" + - "aWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1h" + - "a2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4g" + - "aW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNs" + - "dXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lv" + - "bj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNm" + - "LWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJf" + - "TkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + - "X0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292" + - "ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4" + - "dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJl" + - "cXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIg" + - "ZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4" + - "dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1" + - "biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJv" + - "ZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZj" + - "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + - "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBp" + - "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUt" + - "Y2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + - "Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBj" + - "b21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + - "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5l" + - "IHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFt" + - "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + - "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + - "bCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21w" + - "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2Zp" + - "bGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBj" + - "b21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmls" + - "ZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4K" + - "CiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVz" + - "ZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + - "bSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNl" + - "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGds" + - "b2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4g" + - "VGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + - "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRo" + - "ZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApz" + - "ZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoK" + - "VXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1n" + - "YXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRl" + - "cGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tl" + - "bmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZv" + - "cj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0K" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVs" + - "bC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRl" + - "cmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJv" + - "dGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMg" + - "cHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAg" + - "bmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMg" + - "ZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZl" + - "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZv" + - "ciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNl" + - "IG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9u" + - "bHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3Zl" + - "bmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90" + - "IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJl" + - "Z2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFz" + - "aAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENM" + - "VVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + - "Q09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25m" + - "aWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1m" + - "cm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25v" + - "cmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNv" + - "bmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJv" + - "eSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0" + - "cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5l" + - "LWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95" + - "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFu" + - "ZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxF" + - "YCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBu" + - "YW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJv" + - "ZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNs" + - "dXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRl" + - "cyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxp" + - "dmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJl" + - "Zml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + - "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + - "CiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1w" + - "bGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVy" + - "eSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90" + - "IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdl" + - "dCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJv" + - "eXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGgg" + - "cmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRo" + - "IHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + - "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJs" + - "ZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21w" + - "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAt" + - "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + - "ICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11" + - "cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5h" + - "bWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBg" + - "CgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJv" + - "eXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJl" + - "bW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlv" + - "bnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + - "bWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3Npbmcg" + - "YW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBR" + - "dWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVz" + - "cGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBu" + - "YW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxl" + - "YXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdu" + - "b3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQt" + - "Ynk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZl" + - "bnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5" + - "bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAg" + - "IFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAg" + - "IDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwg" + - "aW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRz" + - "OiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0" + - "bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBv" + - "ZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + - "PiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENo" + - "ZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdl" + - "dCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2Vj" + - "cmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoq" + - "OiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + - "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNl" + - "Y3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVl" + - "ZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2Vl" + - "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qg" + - "c3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwg" + - "ZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3Rh" + - "cnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldy" + - "b25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBi" + - "YXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAg" + - "ICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTog" + - "SW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMg" + - "c3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAg" + - "ICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03" + - "ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgoj" + - "IyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQg" + - "aW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBv" + - "ZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBt" + - "aWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVj" + - "ayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + - "ZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0" + - "dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1h" + - "Z2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoq" + - "OiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1" + - "ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBo" + - "YXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQg" + - "cmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxl" + - "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1" + - "bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMK" + - "ICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjog" + - "Q2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0" + - "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAK" + - "CjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4u" + - "LiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJl" + - "YCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1" + - "ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBg" + - "YXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3Vu" + - "dGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0" + - "aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0" + - "ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQu" + - "IEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0" + - "IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAg" + - "YmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRp" + - "c2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURD" + - "IGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3Vl" + - "ciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNj" + - "b3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVu" + - "IGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6" + - "CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQog" + - "ICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3Jh" + - "dGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + - "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4g" + - "c2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3du" + - "L29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNl" + - "dCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVu" + - "dGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0" + - "aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZh" + - "dWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJh" + - "Y2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBG" + - "YWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + - "RSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAg" + - "IDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0w" + - "IHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJh" + - "IHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxl" + - "cy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNl" + - "czoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + - "ICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + - "YGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBj" + - "YXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFp" + - "bHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAg" + - "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAv" + - "MSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + - "aAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJl" + - "IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8x" + - "MiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2Rl" + - "IGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50" + - "IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBG" + - "aXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3Jz" + - "YCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0t" + - "c2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZv" + - "dW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwg" + - "Z2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBD" + - "aGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8" + - "bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZh" + - "aWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFz" + - "aApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpS" + - "ZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2Vz" + - "IGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNo" + - "CmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgK" + - "Ck11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFw" + - "cGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3Rs" + - "IGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxu" + - "YW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFp" + - "bHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNl" + - "cyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290" + - "c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0" + - "cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2Ig" + - "YXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGkt" + - "YWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3Mg" + - "LW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBg" + - "CgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3Jl" + - "ZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0" + - "b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBg" + - "YGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9C" + - "QVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2Vu" + - "Om52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2Fu" + - "J3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdp" + - "c3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmls" + - "ZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6" + - "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "bnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJl" + - "LWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6" + - "IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1w" + - "bGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEw" + - "bQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4g" + - "dGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBj" + - "b21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + - "TlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVz" + - "cGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8g" + - "anNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1l" + - "dGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9" + - "IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQi" + - "IHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJt" + - "ZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30K" + - "CiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxp" + - "emVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAt" + - "LWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAy" + - "Pi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3Vi" + - "ZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAi" + - "L2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBg" + - "YAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5" + - "bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1v" + - "cGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90" + - "IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3Bl" + - "cmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhl" + - "ciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpD" + - "TEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5k" + - "IGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUg" + - "aGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2Rz" + - "IHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Et" + - "b3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Et" + - "b3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJl" + - "Z2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBu" + - "dmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Et" + - "c3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUK" + - "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4K" + - "CiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1" + - "ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBH" + - "YXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBv" + - "cnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9" + - "JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBc" + - "CiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1" + - "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9y" + - "dCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdB" + - "VEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5" + - "IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2Vydmlj" + - "ZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFp" + - "bmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRl" + - "IEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1l" + - "bnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVz" + - "aCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVk" + - "IGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zl" + - "ci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10" + - "by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVu" + - "IGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0t" + - "LS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0g" + - "fCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwg" + - "YXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZh" + - "bCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBp" + - "LWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lz" + - "IHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJv" + - "bGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsH" + - "CLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQF" + - "AAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0" + - "CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwt" + - "LSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFv" + - "CnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBp" + - "bmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxp" + - "dHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAg" + - "ICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAg" + - "IGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJy" + - "aWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMg" + - "U2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55" + - "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + - "ci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQv" + - "CnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVw" + - "ZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAj" + - "IG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1l" + - "bnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVl" + - "cyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAg" + - "ICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpg" + - "YGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBj" + - "b250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVu" + - "dCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJh" + - "dGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3Qg" + - "bWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVp" + - "ciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwg" + - "Q2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0t" + - "LXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2Fn" + - "aW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0" + - "LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5k" + - "cmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwK" + - "ClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFz" + - "ZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8" + - "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + - "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBh" + - "cGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2Vydmlj" + - "ZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRp" + - "b24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2Vydmlj" + - "ZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNl" + - "cyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5v" + - "dGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0" + - "LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRv" + - "a2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwK" + - "fCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwg" + - "aW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2Vydmlj" + - "ZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0" + - "b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxv" + - "Y2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vl" + - "ci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4K" + - "CiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5h" + - "bWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18" + - "CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8" + - "IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBp" + - "biB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRl" + - "IEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGlu" + - "IGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJv" + - "cGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNl" + - "cyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoq" + - "cmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11" + - "c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93" + - "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + - "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0" + - "ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0t" + - "bnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWlu" + - "Y2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + - "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1" + - "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVz" + - "dCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVz" + - "b3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAK" + - "CiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5n" + - "b3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1s" + - "Ci0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0" + - "OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBh" + - "biBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1w" + - "bGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJl" + - "cGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJp" + - "b3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFj" + - "cm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVy" + - "LWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1w" + - "bGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4g" + - "YDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVz" + - "CjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2Vk" + - "ZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50" + - "ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVl" + - "cy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoK" + - "CiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5p" + - "bWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmlt" + - "YWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNl" + - "bGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEu" + - "Z2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIu" + - "aW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFp" + - "bmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3Jh" + - "Z2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3Jg" + - "IChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4q" + - "YCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2Uu" + - "KmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3Jh" + - "Z2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBT" + - "SVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + - "IGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4q" + - "YCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoK" + - "RW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9u" + - "cyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1" + - "ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRp" + - "b24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBh" + - "bmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmls" + - "ZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29s" + - "ZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3Qg" + - "Y2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAg" + - "ICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAg" + - "bWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNl" + - "CiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoK" + - "ICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENv" + - "bmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGlj" + - "eToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0" + - "ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBs" + - "b2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBj" + - "dXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYt" + - "bWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9u" + - "IGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2Vj" + - "dXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8t" + - "cm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNs" + - "dXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRM" + - "UyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0" + - "aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVz" + - "ZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29g" + - "IHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90" + - "aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFs" + - "YW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mvc2Vs" + - "Zi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJ" + - "ZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1" + - "bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtl" + - "ciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25maWc6" + - "CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNpZGVjYXJzOgogICAgICAgICAg" + - "bGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9uOjAu" + - "MTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVSX0NM" + - "SUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBpdCBm" + - "b3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11c3Qg" + - "dXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJlbmRl" + - "cmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZpcm9u" + - "bWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2luZyB0" + - "aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNlaXZl" + - "cyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBgCgpV" + - "c2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1NwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJpdmVu" + - "OyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoKRXhp" + - "c3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIgaW1h" + - "Z2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBsYWNp" + - "bmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5IGEg" + - "bmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0ZSBh" + - "bmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBwbGFu" + - "ZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95" + - "IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52Y2Yg" + - "bGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xs" + - "bS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + - "QSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBv" + - "ZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09Imxs" + - "bS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWlu" + - "dGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1xdWlj" + - "LWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2" + - "aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dpdGh1" + - "Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9k" + - "b2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxlY3Rv" + - "cnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkgcmVs" + - "ZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkgc3lu" + - "YwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoKIyBU" + - "ZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVz" + - "dHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1ncm91" + - "cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgT" + - "EeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIj" + - "IE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBO" + - "VkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFi" + - "bGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24u" + - "CgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVkIHRo" + - "ZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRl" + - "cyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAg" + - "cmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5" + - "b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFkZG9u" + - "CgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAph" + - "ZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3Bh" + - "Y2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFuIGlt" + - "YWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToK" + - "CmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEg" + - "cHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0i" + - "PHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + - "ZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + - "YXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFt" + - "ZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + - "bHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5g" + - "IGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhl" + - "IHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVz" + - "IHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5k" + - "IHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBWZXJp" + - "ZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBl" + - "bmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0" + - "bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52" + - "Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMj" + - "IFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRoZW50" + - "aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0" + - "IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGluZwpw" + - "cm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwgU2Vj" + - "cmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJv" + - "bSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJu" + - "ZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBsYW5l" + - "IGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWlyIG93" + - "biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4K" + - "ClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0byBp" + - "bmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24gdGlt" + - "ZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBLeXZl" + - "cm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBgYGJh" + - "c2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJu" + - "by8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8g" + - "LW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwgc2Vj" + - "cmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZv" + - "ciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNp" + - "cyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVu" + - "PWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + - "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRv" + - "Y2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dv" + - "cmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVu" + - "PWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFjZSBg" + - "LS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1wYXNz" + - "d29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFwaVZl" + - "cnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBuYW1l" + - "OiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UKICBy" + - "dWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAgICAg" + - "bWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBraW5k" + - "czoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICAg" + - "LSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIKICAg" + - "ICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAgICAg" + - "LSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAgICAg" + - "ICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0ZWdp" + - "Y01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgogICAg" + - "ICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5" + - "dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAg" + - "ICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxsc2Vj" + - "cmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNv" + - "bnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGluCltT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRl" + - "ZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBsYW5l" + - "IHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25seSBp" + - "biBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNh" + - "LW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + - "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + - "LQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxl" + - "OgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZjci1j" + - "cmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGluIGBu" + - "dmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8g" + - "bm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxv" + - "dwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlv" + - "bgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGluamVj" + - "dGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + - "Z2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgojIENo" + - "ZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lz" + + "dHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFu" + + "ZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGlj" + + "eQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kK" + + "bWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tn" + + "cm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8t" + + "bnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoK" + + "ICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFj" + + "ZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAg" + + "ICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0" + + "ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0" + + "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAg" + + "ICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBh" + + "bm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0" + + "LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1" + + "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZl" + + "cm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBj" + + "b250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGlu" + + "c3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUt" + + "cGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmlj" + + "YXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBu" + + "ZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0" + + "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVu" + + "PWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUg" + + "ZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAg" + + "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0" + + "IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBu" + + "dmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVz" + + "cGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cu" + + "CgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBw" + + "b2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + - "cGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1bGxz" + - "ZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwgZXZl" + - "bnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMg" + - "LW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBw" + - "dWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9y" + - "aXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0ZSBj" + - "bHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNy" + - "ZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0" + - "cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5" + - "b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBw" + - "b2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBzZWNy" + - "ZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAq" + - "KkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5" + - "LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4K" + - "CiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09mZiBh" + - "ZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMgcG9k" + - "cyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVjayBw" + - "b2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + - "cmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBL" + - "eXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8KIyBB" + - "bGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5nCgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBjbHVz" + - "dGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFEWTog" + - "VHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2VzIGBu" + - "dmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBuYW1l" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNyZXQg" + - "bnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQACAAA" + - "AAAAIQCF+sADShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25VVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEA/3bzZ1NhAABTYQAAIwAJAAAAAAAAAAAAAACTEAAAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQ8/v" + - "5R0PAAAdDwAAMwAJAAAAAAAAAAAAAABAcgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKEU44FdDAAAXQwA" + - "ADQACQAAAAAAAAAAAAAAx4EAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211" + - "bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQidJDwUNAAAFDQAANwAJAAAA" + - "AAAAAAAAAACPjgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0" + - "ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAAAAAA" + - "AAAAAAKcAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVu" + - "LXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAAAAAA" + - "AAARtgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWludm9r" + - "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAAAJfb" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0" + - "YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEJx5h4BKAAAASgAADoACQAAAAAAAAAAAAAA" + - "yeoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0" + - "Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADIBwAAOQAJAAAAAAAAAAAAAAA7" + - "EwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAAcxsB" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAcg0PZCEjAAAhIwAAMAAJAAAAAAAAAAAAAAC8PQEAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAOQtyV75CwAA+QsAADIACQAAAAAAAAAAAAAARGEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAC6pru+H" + - "RgAAh0YAAC0ACQAAAAAAAAAAAAAApm0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDzrhOEdBEAAHQRAAA3AAkAAAAA" + - "AAAAAAAAAJG0AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNo" + - "b290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAAAAAA" + - "AAAAc8YBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAAAAAAAAAAHykCAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAADUfwIAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "lmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAAC5qAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAAAAAAAE7ZAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAAAAAAAHUKAwBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAAPo0AwBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRk" + - "b24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAAAAAp" + - "PQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAnlMDAAAA" + "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZj" + + "ci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlh" + + "XC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoK" + + "IyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + + "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBu" + + "b3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Ig" + + "b24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + + "V2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5v" + + "ZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3Ry" + + "eVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhv" + + "dXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2Vj" + + "cmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBB" + + "cnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNp" + + "bWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIElt" + + "YWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kg" + + "b25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVk" + + "LiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4g" + + "LS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + + "cyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5" + + "IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hv" + + "dWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xp" + + "Y3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRo" + + "IHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250" + + "ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYA" + + "AAAWAABQSwECFAAUAAgAAAAAACEAbXN6rUoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9t" + + "YW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAA" + + "AAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAMeBAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEIn" + + "SQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAj44AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8Z" + + "AACfGQAAOQAJAAAAAAAAAAAAAAACnAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAA" + + "GCUAADcACQAAAAAAAAAAAAAAEbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "ZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAA" + + "PQAJAAAAAAAAAAAAAACX2wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFn" + + "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEo" + + "AAA6AAkAAAAAAAAAAAAAAMnqAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2lu" + + "c3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcA" + + "ADkACQAAAAAAAAAAAAAAOxMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90" + + "YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAu" + + "AAkAAAAAAAAAAAAAAHMbAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJk" + + "b3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAA" + + "vD0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDkLcle+QsAAPkLAAAyAAkAAAAAAAAAAAAAAERhAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQDaOfDWtEcAALRHAAAtAAkAAAAAAAAAAAAAAKZtAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864T" + + "hHQRAAB0EQAANwAJAAAAAAAAAAAAAAC+tQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + + "ZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIA" + + "AEliAAAsAAkAAAAAAAAAAAAAAKDHAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAA" + + "AAAAAEwqAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + + "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAAYEC" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA5qkCAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAA" + + "AAB72gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAA" + + "AACiCwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxt" + + "ZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJ" + + "AAAAAAAAAAAAAAAnNgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYA" + + "AD4ACQAAAAAAAAAAAAAAVj4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + + "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAMtUAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 3f4af751ff..27edac1256 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -62,6 +62,7 @@ go_test( name = "selfhosted_test", srcs = [ "clustervalidator_lifecycle_test.go", + "clustervalidator_ownership_test.go", "clustervalidator_test.go", "credhelper_test.go", "inotify_probe_test.go", @@ -77,8 +78,10 @@ go_test( "stack_namespaces_test.go", "stack_test.go", "stale_namespace_test.go", + "validator_config_parity_test.go", "validatortag_test.go", ], + data = glob(["testdata/**"]), embed = [":selfhosted"], deps = [ "//src/clis/nvcf-cli/internal/client", @@ -96,6 +99,7 @@ go_test( "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/runtime/schema", "@io_k8s_apimachinery//pkg/types", + "@io_k8s_apimachinery//pkg/util/validation", "@io_k8s_client_go//kubernetes", "@io_k8s_client_go//kubernetes/fake", "@io_k8s_client_go//kubernetes/typed/core/v1:core", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index c8e22c6f69..199dec0b3e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -52,8 +52,9 @@ const ( clusterValidatorAppLabel = "nvcf-cluster-validator" clusterValidatorTTLSeconds = int32(600) clusterValidatorHintURL = "https://docs.nvidia.com/nvcf/self-managed-clusters#cluster-validator" - // orphanValidatorRBACTTL is the minimum age before leftover validator RBAC - // is reclaimed. Must exceed the validator timeout so a live run is never hit. + // orphanValidatorRBACTTL is the minimum age, on the apiserver's clock, + // before leftover validator objects are reclaimed. It must exceed the + // longest a run or its pod can live, so a live run is never hit. orphanValidatorRBACTTL = 30 * time.Minute // preservedValidatorTTL bounds how long --no-cleanup artifacts survive. // Exempting them outright left a cluster-wide ClusterRole and an NGC-key @@ -96,9 +97,11 @@ const validatorGradeReads = 4 // termination grace must fall inside validatorDeadlineGrace, the wait for it. const validatorDeadlineOffset = 60 * time.Second -// podTerminationGrace is the pod's default terminationGracePeriodSeconds, -// which the validator Job does not change. -const podTerminationGrace = 30 * time.Second +// clusterValidatorTerminationGrace is the validator pod's termination grace +// period. On SIGTERM the validator deletes its probe DaemonSet, pods and +// namespace, and the default 30s let the kubelet kill it before the namespace +// delete was sent. +const clusterValidatorTerminationGrace = 60 * time.Second // ClusterValidatorRunCeiling is the longest one validator run can take: its // own timeout, then on a timeout the wait for the Job's deadline to end the @@ -254,86 +257,101 @@ func runValidatorJob(ctx context.Context, client kubernetes.Interface, p Cluster if p.OnStart != nil { p.OnStart(runID) } - - // Reclaim leftovers from dead runs before resolving this run's pull - // secret. The sweep only takes objects older than its TTL, so it cannot - // reach anything this run is about to create. - sweepOrphanClusterValidatorRBAC(vctx, client, orphanValidatorRBACTTL) - - // A resolver error does not stop the run: the image may be public. It is - // kept, so a pull that then fails names the step that failed rather than - // only the registry's "unauthorized". - resolved, pullSecretNote, pullSecretErr := resolveValidatorPullSecret( - ctx, client, pullSecret, image, role, runID, noCleanup) - if pullSecretErr == nil { - pullSecret = resolved - } - mintedSecret := pullSecret != "" && pullSecret == validatorPullSecretRunName(role, runID) - if pullSecretNote != "" { - defer func() { res.Notes = append(res.Notes, pullSecretNote) }() - } - - // sweep runs one deferred sweep on a fresh, bounded context, and only once - // no pod of this run can still need what it removes. --no-cleanup keeps - // everything. A sweep that fails leaves objects behind, so the result - // carries its error and the caller prints the removal command. - sweep := func(remove func(context.Context) error) { + // Everything this run's Creates returned. Cleanup deletes only these, + // pinned to the UID each Create returned: a name this run failed to claim + // belongs to someone else, whatever labels it carries. + created := runObjects{} + + // sweep runs one deferred delete of this run's objects of the given kinds + // on a fresh, bounded context, and only once no pod of this run can still + // need them. --no-cleanup keeps everything. A delete that fails leaves + // objects behind, so the result carries its error and the caller prints + // the removal command. + sweep := func(kinds ...string) { if noCleanup || podMayBeRunning { return } cctx, cancel := cleanupContext() defer cancel() - if err := remove(cctx); err != nil { + if err := deleteCreated(cctx, client, created, kinds...); err != nil { res.SweepErr = errors.Join(res.SweepErr, err) res.Created = true } } - // Sweep only this run's managed pull secret, and only once the pod can no - // longer need it. Sweeping unconditionally deletes the Secret out from - // under a pod that is still retrying its pull, which the kubelet then - // reports as FailedToRetrieveImagePullSecret. Operator-supplied secrets via - // the flag aren't labeled by us and are skipped. - defer sweep(func(c context.Context) error { return sweepManagedPullSecrets(c, client, role, runID) }) - // Register the cleanup before the bootstrap, not after. The bootstrap - // creates three objects in sequence and returns on the first failure, so a + // Register the cleanup before the bootstrap, not after. ensureClusterValidatorRBAC + // creates its objects in sequence and returns on the first failure, so a // kubeconfig that can create a ServiceAccount but not a cluster-scoped // ClusterRole would otherwise abandon the ServiceAccount on every attempt. - // The sweep is name-scoped and label-guarded, so running it when nothing - // was created is a no-op. - defer sweep(func(c context.Context) error { return sweepClusterValidatorRBAC(c, client, role, runID) }) - if created, err := bootstrapClusterValidatorRBAC(vctx, client, role, runID, noCleanup); err != nil { + // The names are per-run, so nothing self-heals by reuse: under --wait that + // leaks one object per poll. + defer sweep(validatorRBACKinds...) + rbacErr := ensureClusterValidatorRBAC(vctx, client, role, runID, noCleanup, created) + + // Reclaim leftovers from dead runs. Their age is measured on the + // apiserver's clock, read from what this run just created, so a skewed + // workstation clock cannot make an overlapping run's objects look stale. + // This run's objects and an explicitly named pull Secret are never taken. + if now, ok := created.serverTime(); ok { + sweepOrphanClusterValidatorRBAC(vctx, client, now, orphanValidatorRBACTTL, runID, pullSecret) + } + if rbacErr != nil { // RunID lets --no-cleanup print the command that removes whatever the - // failed bootstrap and the pull-secret step already created. + // failed bootstrap already created. return ClusterValidatorResult{ - RunID: runID, Created: created || mintedSecret, Err: fmt.Errorf("bootstrapping validator RBAC: %w", err), + RunID: runID, Created: len(created) > 0, Err: fmt.Errorf("bootstrapping validator RBAC: %w", rbacErr), } } + // The pull secret is resolved only once the run can start a Job: minting + // it before the bootstrap wrote the NGC key into the namespace on every + // run whose kubeconfig could not create the RBAC. A resolver error does + // not stop the run: the image may be public. It is kept, so a pull that + // then fails names the step that failed rather than only the registry's + // "unauthorized". + resolved, pullSecretNote, pullSecretErr := resolveValidatorPullSecret( + ctx, client, pullSecret, image, role, runID, noCleanup, created) + if pullSecretErr == nil { + pullSecret = resolved + } + if pullSecretNote != "" { + defer func() { res.Notes = append(res.Notes, pullSecretNote) }() + } + // Sweep only the Secret this run created, and only once the pod can no + // longer need it. Sweeping unconditionally deletes the Secret out from + // under a pod that is still retrying its pull, which the kubelet then + // reports as FailedToRetrieveImagePullSecret. An operator-supplied or + // adopted Secret was not created by this run and is never touched. + defer sweep(kindSecret) + // For the control-plane role, create a ConfigMap with reachability // endpoints and enforcement config so the validator runs its configurable - // checks. Best-effort: a failure here is logged but does not abort the - // run - the validator gracefully skips configurable checks when the - // ConfigMap is absent. + // checks. Best-effort: on a failure the Job reads no ConfigMap, and the + // validator skips the configurable checks. var configNote string + configName := clusterValidatorNoConfigName if role == clusterValidatorControlPlaneRole { - // The ConfigMap is the one object this run creates that had no cleanup - // path, so it was left in the cluster forever. Same gating as the - // other sweeps: keep it when the pod may still read it, or when the - // operator asked to keep the run's artifacts. - defer sweep(func(c context.Context) error { return sweepClusterValidatorConfig(c, client, runID) }) - if err := ensureClusterValidatorConfig(vctx, client, p.Registries, runID, noCleanup); err != nil { - // Non-fatal: continue without the ConfigMap; the validator skips - // configurable reachability and enforcement checks silently unless - // we surface this note in the transcript. + // Same gating as the other sweeps: keep it when the pod may still + // read it, or when the operator asked to keep the run's artifacts. + defer sweep(kindConfigMap) + if err := ensureClusterValidatorConfig(vctx, client, p.Registries, role, runID, noCleanup, created); err != nil { + // The validator skips configurable reachability checks silently + // unless this note reaches the transcript. configNote = fmt.Sprintf("note: validator config not applied (%v); reachability checks may be skipped", err) + } else { + // Only a ConfigMap this run created is wired in. One that already + // held the name was put there by someone else, and pointing the + // Job at it would run their endpoints and enforcement settings. + configName = clusterValidatorConfigRunName(runID) } } // No sweep of earlier Jobs: every Job now carries a deadline and a TTL, // so a role-wide sweep could only ever hit an overlapping run's live Job. - jobName := fmt.Sprintf("%s-%d", clusterValidatorName, time.Now().UnixNano()) - spec := buildClusterValidatorJob(jobName, image, pullSecret, role, runID, noCleanup, p.Env, p.Tolerations...) + // Named like the RBAC, per role and run, so two runs never share a name. + jobName := clusterValidatorRBACName(role, runID) + spec := buildClusterValidatorJob(jobName, image, pullSecret, role, runID, configName, noCleanup, p.Env, + p.Tolerations...) if spec.Spec.ActiveDeadlineSeconds != nil { // Counted from now, not from the start of the run: the sweep, the // pull-secret scan and the bootstrap have used some of its timeout. @@ -343,45 +361,45 @@ func runValidatorJob(ctx context.Context, client kubernetes.Interface, p Cluster job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create(vctx, spec, metav1.CreateOptions{}) if err != nil { // A create cut off by an interrupt or a dropped connection may still - // have been applied. Without --no-cleanup its pod would run with its - // RBAC swept, so it is stopped, and when its pod may still be running - // its objects are kept and the result says how to remove them. Under - // --no-cleanup it is kept, but suspended: nothing follows it, and with - // no deadline a pod that cannot pull would retry forever. + // have been applied, and a Job left behind would run with its RBAC + // swept. AlreadyExists means the name was someone else's, which is + // never touched; any other Job under the name is acted on only if it + // carries this run's ID. Without --no-cleanup it is stopped, and when + // its pod may still be running its objects are kept and the result + // says how to remove them. Under --no-cleanup it is kept, but + // suspended: nothing follows it, and with no deadline a pod that + // cannot pull would retry forever. res := ClusterValidatorResult{RunID: runID, Created: true, Err: fmt.Errorf("creating validator Job: %w", err)} - if noCleanup { - if serr := suspendValidatorJob(client, jobName); serr != nil && !apierrors.IsNotFound(serr) { + switch { + case apierrors.IsAlreadyExists(err): + case noCleanup: + if serr := suspendValidatorJob(client, jobName, runID, created); serr != nil && !apierrors.IsNotFound(serr) { res.Err = fmt.Errorf("%w; suspending the kept Job failed: %v", res.Err, serr) } - return res + default: + podMayBeRunning = !stopValidatorJob(client, jobName, runID, created) + res.LeftBehind = podMayBeRunning } - podMayBeRunning = !stopValidatorJob(client, jobName) - res.LeftBehind = podMayBeRunning return res } + created.add(kindJob, job) podMayBeRunning = true // The Job owns this run's pull secret and ConfigMap, so they go when the // Job goes, even on paths where the deferred sweeps are suppressed: its - // TTL removes it, or for --no-cleanup a later check's orphan sweep once - // preservedValidatorTTL has passed. The ServiceAccount is - // deliberately not owned: the ClusterRole and binding are cluster-scoped - // and cannot be, and deleting the account alone would leave a binding - // that anyone able to recreate that ServiceAccount name could inherit. + // deadline and TTL remove it. The ServiceAccount is deliberately not + // owned: the ClusterRole and binding are cluster-scoped and cannot be, + // and deleting the account alone would leave a binding that anyone able + // to recreate that ServiceAccount name could inherit. // Not under --no-cleanup: a kept Secret or ConfigMap owned by the kept Job // would be garbage-collected the moment an operator re-runs that Job by - // deleting and recreating it. On a fresh context: an interrupt right after - // the create must not leave them unowned. - var owned []ownedArtifact - if mintedSecret { - owned = append(owned, ownedArtifact{kind: "Secret", name: pullSecret}) - } - if role == clusterValidatorControlPlaneRole && configNote == "" { - owned = append(owned, ownedArtifact{kind: "ConfigMap", name: clusterValidatorConfigRunName(runID)}) - } + // deleting and recreating it. They stay unowned, and a later check's + // orphan sweep reclaims them once preservedValidatorTTL has passed. On a + // fresh context: an interrupt right after the create must not leave them + // unowned. if !noCleanup { octx, ocancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) - ownByJob(octx, client, job, owned) + ownByJob(octx, client, job, created) ocancel() } @@ -429,10 +447,10 @@ func runValidatorJob(ctx context.Context, client kubernetes.Interface, p Cluster endRun := func(pullFailing bool) { switch { case !noCleanup: - podMayBeRunning = !stopValidatorJob(client, jobName) + podMayBeRunning = !stopValidatorJob(client, jobName, runID, created) stopped = true case pullFailing || validatorPodPullFailing(client, jobName): - suspended, suspendErr = true, suspendValidatorJob(client, jobName) + suspended, suspendErr = true, suspendValidatorJob(client, jobName, runID, created) } } switch { @@ -638,68 +656,180 @@ func extraValidatorEnv(base []corev1.EnvVar, env map[string]string) []corev1.Env return out } -// ownedArtifact names a namespaced object the validator Job should own. -type ownedArtifact struct{ kind, name string } +// Kinds of object one run creates, as runObjects records them. +const ( + kindServiceAccount = "ServiceAccount" + kindClusterRole = "ClusterRole" + kindClusterRoleBinding = "ClusterRoleBinding" + kindRole = "Role" + kindRoleBinding = "RoleBinding" + kindSecret = "Secret" + kindConfigMap = "ConfigMap" + kindJob = "Job" +) -// ownByJob sets the Job as the controller-less owner of each artifact, so -// garbage collection removes them with it. Best-effort: a failure only means -// the artifact waits for the deferred or orphan sweep, as before. -func ownByJob(ctx context.Context, client kubernetes.Interface, job *batchv1.Job, artifacts []ownedArtifact) { - if job == nil || job.UID == "" { - return +// validatorRBACKinds are the RBAC kinds in the order they are removed: the +// bindings first, so the grants go before the roles and the account they name. +var validatorRBACKinds = []string{ + kindClusterRoleBinding, kindRoleBinding, kindClusterRole, kindRole, kindServiceAccount, +} + +// runObjects records each object one run created, by kind, as its Create +// returned it. It is the ownership test for every delete the run makes: the +// managed labels are public constants anyone can copy, and a name the run +// failed to claim with AlreadyExists holds someone else's object. +type runObjects map[string]metav1.Object + +// add records o under kind. A nil runObjects records nothing. +func (r runObjects) add(kind string, o metav1.Object) { + if r != nil && o != nil { + r[kind] = o } - patch, err := json.Marshal(map[string]any{"metadata": map[string]any{ - "ownerReferences": []metav1.OwnerReference{{ - APIVersion: "batch/v1", Kind: "Job", Name: job.Name, UID: job.UID, - }}, - }}) - if err != nil { +} + +// serverTime is the apiserver's clock as of this run's latest Create, from the +// creationTimestamps the Creates returned. ok is false until one has. +func (r runObjects) serverTime() (now time.Time, ok bool) { + for _, o := range r { + if ts := o.GetCreationTimestamp().Time; ts.After(now) { + now = ts + } + } + return now, !now.IsZero() +} + +// deleteCreated deletes this run's objects of the given kinds, in order, each +// pinned to the UID its Create returned. It returns what it could not remove, +// so the run can say how to remove it. An object already gone is not an +// error, nor is a UID mismatch: the name then holds someone else's object, +// and this run's is gone. +func deleteCreated(ctx context.Context, client kubernetes.Interface, created runObjects, kinds ...string) error { + var errs []error + for _, kind := range kinds { + o, ok := created[kind] + if !ok { + continue + } + name, opts := o.GetName(), deleteExactly(o) + var err error + switch kind { + case kindServiceAccount: + err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Delete(ctx, name, opts) + case kindClusterRole: + err = client.RbacV1().ClusterRoles().Delete(ctx, name, opts) + case kindClusterRoleBinding: + err = client.RbacV1().ClusterRoleBindings().Delete(ctx, name, opts) + case kindRole: + err = client.RbacV1().Roles(clusterValidatorNamespace).Delete(ctx, name, opts) + case kindRoleBinding: + err = client.RbacV1().RoleBindings(clusterValidatorNamespace).Delete(ctx, name, opts) + case kindSecret: + err = client.CoreV1().Secrets(clusterValidatorNamespace).Delete(ctx, name, opts) + case kindConfigMap: + err = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Delete(ctx, name, opts) + } + if err != nil && !apierrors.IsNotFound(err) && !apierrors.IsConflict(err) { + errs = append(errs, fmt.Errorf("removing validator %s %s: %w", kind, name, err)) + } + } + return errors.Join(errs...) +} + +// ownByJob sets the Job as the controller-less owner of the pull Secret and +// ConfigMap this run created, so garbage collection removes them with it. +// Best-effort: a failure only means they wait for the deferred or orphan sweep. +func ownByJob(ctx context.Context, client kubernetes.Interface, job *batchv1.Job, created runObjects) { + if job == nil || job.UID == "" { return } - for _, a := range artifacts { - switch a.kind { - case "Secret": + for _, kind := range []string{kindSecret, kindConfigMap} { + o, ok := created[kind] + if !ok { + continue + } + // The UID is immutable, so carrying it makes the apiserver reject the + // patch on an object that replaced this run's under the same name, + // instead of making it a dependent the Job's deletion then removes. + patch, err := json.Marshal(map[string]any{"metadata": map[string]any{ + "uid": o.GetUID(), + "ownerReferences": []metav1.OwnerReference{{ + APIVersion: "batch/v1", Kind: "Job", Name: job.Name, UID: job.UID, + }}, + }}) + if err != nil { + return + } + switch kind { + case kindSecret: _, _ = client.CoreV1().Secrets(clusterValidatorNamespace).Patch( - ctx, a.name, types.MergePatchType, patch, metav1.PatchOptions{}) - case "ConfigMap": + ctx, o.GetName(), types.MergePatchType, patch, metav1.PatchOptions{}) + case kindConfigMap: _, _ = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Patch( - ctx, a.name, types.MergePatchType, patch, metav1.PatchOptions{}) + ctx, o.GetName(), types.MergePatchType, patch, metav1.PatchOptions{}) } } } -// deleteValidatorJob removes this run's Job and its pod, but only a Job -// carrying our labels. -func deleteValidatorJob(ctx context.Context, client kubernetes.Interface, name string) { +// thisRunsValidatorJob returns this run's Job: the one its Create returned, +// or, when a Create errored but may still have been applied, the Job under +// name read back, only if it carries this run's ID, which is unguessable. It +// returns nil with the read's error when the Job could not be read, and nil +// with no error when the name holds another run's Job. +func thisRunsValidatorJob( + ctx context.Context, client kubernetes.Interface, name, runID string, created runObjects, +) (metav1.Object, error) { + if target, ok := created[kindJob]; ok { + return target, nil + } + job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(ctx, name, metav1.GetOptions{}) + if err != nil { + return nil, err + } + if runID == "" || job.Labels[clusterValidatorRunLabel] != runID || !hasValidatorManagedLabels(job.Labels) { + return nil, nil + } + return job, nil +} + +// deleteValidatorJob removes this run's Job and its pod, pinned to the Job's +// UID (see thisRunsValidatorJob). It reports whether the Job may be this +// run's: false only when there is none, or it is another's. +func deleteValidatorJob( + ctx context.Context, client kubernetes.Interface, name, runID string, created runObjects, +) (mayBeOurs bool) { dctx, cancel := context.WithTimeout(ctx, 10*time.Second) defer cancel() jobs := client.BatchV1().Jobs(clusterValidatorNamespace) - job, err := jobs.Get(dctx, name, metav1.GetOptions{}) - if err != nil || !hasValidatorManagedLabels(job.Labels) { - return + target, err := thisRunsValidatorJob(dctx, client, name, runID, created) + if target == nil { + // Unreadable is unknown, so its pod may be this run's. + return err != nil && !apierrors.IsNotFound(err) } // Foreground: the Job is removed only after its pod, so the pod gets its // SIGTERM and grace period while its RBAC still exists. propagation := metav1.DeletePropagationForeground - opts := deleteExactly(job) + opts := deleteExactly(target) opts.PropagationPolicy = &propagation _ = jobs.Delete(dctx, name, opts) + return true } // Production values of the waits TestMain shortens, so tests can pin them. const ( - defaultValidatorDeadlineGrace = 120 * time.Second + defaultValidatorStopTimeout = clusterValidatorTerminationGrace + 15*time.Second + defaultValidatorDeadlineGrace = validatorDeadlineOffset + clusterValidatorTerminationGrace + 30*time.Second defaultValidatorPullFailureGrace = 90 * time.Second ) // Vars (not consts) so tests can shorten them. var ( // validatorStopTimeout bounds the wait for a stopped Job's pod to end. - // It covers the pod's default 30s termination grace period. - validatorStopTimeout = 45 * time.Second + // It covers the pod's termination grace period. + validatorStopTimeout = defaultValidatorStopTimeout // validatorDeadlineGrace bounds the wait, after this run's own timeout, // for the Job's active deadline (validatorDeadlineOffset later) to end - // the pod and for the Job to record it. + // the pod, including its termination grace period, and for the Job to + // record it. validatorDeadlineGrace = defaultValidatorDeadlineGrace // validatorRunMargin is ClusterValidatorRunCeiling's allowance for the // pod's termination grace period and the API round trips between waits. @@ -717,19 +847,35 @@ var ( validatorGetErrorLimit = 5 ) -// stopValidatorJob deletes the Job and reports whether its pods ended within -// validatorStopTimeout. -func stopValidatorJob(client kubernetes.Interface, name string) bool { - deleteValidatorJob(context.Background(), client, name) +// stopValidatorJob deletes this run's Job and reports whether its pods ended +// within validatorStopTimeout. +func stopValidatorJob(client kubernetes.Interface, name, runID string, created runObjects) bool { + if !deleteValidatorJob(context.Background(), client, name, runID, created) { + // Another run's pods under this name are not this run's to wait for. + return true + } return waitValidatorPodsDone(client, name, validatorStopTimeout) } -// suspendValidatorJob stops a kept Job from creating or retrying its pod. -func suspendValidatorJob(client kubernetes.Interface, name string) error { +// suspendValidatorJob stops this run's kept Job from creating or retrying its +// pod. The patch carries the Job's UID, so it fails on any other object that +// holds the name. A Job under the name that is not this run's is left alone. +func suspendValidatorJob(client kubernetes.Interface, name, runID string, created runObjects) error { ctx, cancel := context.WithTimeout(context.Background(), clusterValidatorLogFetchTimeout) defer cancel() - _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Patch(ctx, name, types.MergePatchType, - []byte(`{"spec":{"suspend":true}}`), metav1.PatchOptions{}) + jobs := client.BatchV1().Jobs(clusterValidatorNamespace) + target, err := thisRunsValidatorJob(ctx, client, name, runID, created) + if target == nil { + return err + } + patch, err := json.Marshal(map[string]any{ + "metadata": map[string]any{"uid": target.GetUID()}, + "spec": map[string]any{"suspend": true}, + }) + if err != nil { + return err + } + _, err = jobs.Patch(ctx, name, types.MergePatchType, patch, metav1.PatchOptions{}) return err } @@ -793,19 +939,13 @@ func (e *validatorImagePullError) Error() string { return fmt.Sprintf("validator pod cannot pull image (%s): %s", e.reason, e.message) } -// ensureClusterValidatorRBAC creates this run's ServiceAccount, ClusterRole and -// ClusterRoleBinding for the validator pod. Create only: the names are unique -// per run, so an object that already exists was not made by this run. -func ensureClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool) error { - _, err := bootstrapClusterValidatorRBAC(ctx, client, role, runID, preserve) - return err -} - -// bootstrapClusterValidatorRBAC is ensureClusterValidatorRBAC that also -// reports whether it created anything before it failed. -func bootstrapClusterValidatorRBAC( - ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool, -) (created bool, err error) { +// ensureClusterValidatorRBAC creates this run's ServiceAccount, ClusterRole, +// ClusterRoleBinding, and the Role and RoleBinding that let it read its config +// ConfigMap, recording each in created. Create only: the names are unique per +// run, so an object that already exists was not made by this run. +func ensureClusterValidatorRBAC( + ctx context.Context, client kubernetes.Interface, role, runID string, preserve bool, created runObjects, +) error { roleLabels := clusterValidatorRunLabels(role, runID, preserve) name := clusterValidatorRBACName(role, runID) @@ -819,72 +959,126 @@ func bootstrapClusterValidatorRBAC( // No AlreadyExists tolerance: the name carries a random per-run suffix, so // anything already sitting there was not put there by this run and must not // be adopted and bound to the validator ClusterRole. - if _, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Create(ctx, sa, metav1.CreateOptions{}); err != nil { - return false, fmt.Errorf("create service account: %w", err) + gotSA, err := client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Create(ctx, sa, metav1.CreateOptions{}) + if err != nil { + return fmt.Errorf("create service account: %w", err) } + created.add(kindServiceAccount, gotSA) cr := &rbacv1.ClusterRole{ ObjectMeta: metav1.ObjectMeta{Name: name, Labels: roleLabels}, - // Least privilege: only what the validator actually calls. It never - // creates Services, reads pod logs or watches anything, and it reads - // GatewayClasses through discovery alone. - Rules: []rbacv1.PolicyRule{ - // Read-only: cluster inventory, its config ConfigMap, and the - // LoadBalancer Services the external-LB check inspects. - {APIGroups: []string{""}, Resources: []string{"nodes", "configmaps", "services"}, Verbs: []string{"get", "list"}}, - // Read + write: the overlay and enforcement probes create and delete - // their own namespaces and pods. - {APIGroups: []string{""}, Resources: []string{"namespaces", "pods"}, Verbs: []string{"get", "list", "create", "delete"}}, - // Events, list only: the overlay probe reads its pods' events to - // tell a slow first image pull, which publishes no pod IP until - // it returns, from a node that could not network the pod. - {APIGroups: []string{""}, Resources: []string{"events"}, Verbs: []string{"list"}}, - {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"csidrivers", "storageclasses"}, Verbs: []string{"get", "list"}}, - // NetworkPolicies: read for CNI detection; write for enforcement - // check which creates/updates/deletes policies in the temp namespace. - {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"get", "list", "create", "update", "delete"}}, - {APIGroups: []string{"admissionregistration.k8s.io"}, Resources: []string{"mutatingwebhookconfigurations", "validatingwebhookconfigurations"}, Verbs: []string{"get", "list"}}, - // Deployments/StatefulSets: list for Tier-1/Tier-2 HA readiness checks. - // DaemonSets: create/delete for the node-to-node DaemonSet probe; list to watch pod readiness. - {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"get", "list"}}, - // ControllerRevisions: the creation time of a rolling StatefulSet's - // update revision dates its rollout, which Tier-2 bounds. - {APIGroups: []string{"apps"}, Resources: []string{"controllerrevisions"}, Verbs: []string{"get"}}, - {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"get", "list", "create", "delete"}}, - // Gateway API: the validator follows every NVCF route kind's - // parentRefs to learn which Gateways are NVCF's, and reads those - // Gateways' classes and the controllers that run them. - {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{ - "gateways", "gatewayclasses", "httproutes", "grpcroutes", "tcproutes", "udproutes", - }, Verbs: []string{"get", "list"}}, - {NonResourceURLs: []string{"/readyz", "/version", "/healthz"}, Verbs: []string{"get"}}, - }, + Rules: validatorClusterRules(role), } // Create only, for the same reason as the ServiceAccount above. The name is // unique per run, so there are no stale rules from an older CLI to refresh // and nothing legitimate to overwrite. - if _, err := client.RbacV1().ClusterRoles().Create(ctx, cr, metav1.CreateOptions{}); err != nil { - return true, fmt.Errorf("create cluster role: %w", err) + gotCR, err := client.RbacV1().ClusterRoles().Create(ctx, cr, metav1.CreateOptions{}) + if err != nil { + return fmt.Errorf("create cluster role: %w", err) } + created.add(kindClusterRole, gotCR) + subjects := []rbacv1.Subject{{Kind: rbacv1.ServiceAccountKind, Name: name, Namespace: clusterValidatorNamespace}} crb := &rbacv1.ClusterRoleBinding{ ObjectMeta: metav1.ObjectMeta{Name: name, Labels: roleLabels}, - Subjects: []rbacv1.Subject{{ - Kind: rbacv1.ServiceAccountKind, - Name: name, - Namespace: clusterValidatorNamespace, + Subjects: subjects, + RoleRef: rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "ClusterRole", Name: name}, + } + gotCRB, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}) + if err != nil { + return fmt.Errorf("create cluster role binding: %w", err) + } + created.add(kindClusterRoleBinding, gotCRB) + + // The config ConfigMap is read by name in this namespace, so its grant is + // namespaced and limited to the names this run's Job can be pointed at, + // instead of every ConfigMap in the cluster. + r := &rbacv1.Role{ + ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: clusterValidatorNamespace, Labels: roleLabels}, + Rules: []rbacv1.PolicyRule{{ + APIGroups: []string{""}, Resources: []string{"configmaps"}, Verbs: []string{"get"}, + ResourceNames: validatorConfigNames(role, runID), }}, - RoleRef: rbacv1.RoleRef{ - APIGroup: rbacv1.GroupName, - Kind: "ClusterRole", - Name: name, - }, } - // Create only, same reasoning as above. - if _, err := client.RbacV1().ClusterRoleBindings().Create(ctx, crb, metav1.CreateOptions{}); err != nil { - return true, fmt.Errorf("create cluster role binding: %w", err) + gotRole, err := client.RbacV1().Roles(clusterValidatorNamespace).Create(ctx, r, metav1.CreateOptions{}) + if err != nil { + return fmt.Errorf("create role: %w", err) + } + created.add(kindRole, gotRole) + + rb := &rbacv1.RoleBinding{ + ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: clusterValidatorNamespace, Labels: roleLabels}, + Subjects: subjects, + RoleRef: rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "Role", Name: name}, } - return true, nil + gotRB, err := client.RbacV1().RoleBindings(clusterValidatorNamespace).Create(ctx, rb, metav1.CreateOptions{}) + if err != nil { + return fmt.Errorf("create role binding: %w", err) + } + created.add(kindRoleBinding, gotRB) + return nil +} + +// validatorConfigNames are the ConfigMap names one run's Job can be pointed +// at: the no-config sentinel, and for the control-plane role the run's own. +func validatorConfigNames(role, runID string) []string { + if role == clusterValidatorControlPlaneRole { + return []string{clusterValidatorConfigRunName(runID), clusterValidatorNoConfigName} + } + return []string{clusterValidatorNoConfigName} +} + +// validatorClusterRules are one role's cluster-wide grants: exactly the calls +// the validator makes for that role when this CLI launches it, which is with +// VALIDATOR_PREFLIGHT set, enforcement disabled and no networkPolicies pairs. +// testdata/validator_api_calls.yaml lists each call with the function that +// makes it, and a test holds these rules to that list. Discovery and the +// unauthenticated in-cluster /readyz dial need no grant. +func validatorClusterRules(role string) []rbacv1.PolicyRule { + shared := []rbacv1.PolicyRule{ + // Admission webhook inventory, for both roles. + {APIGroups: []string{"admissionregistration.k8s.io"}, Resources: []string{ + "mutatingwebhookconfigurations", "validatingwebhookconfigurations", + }, Verbs: []string{"list"}}, + // CNI detection lists NetworkPolicies. Nothing on this path writes + // them: the enforcement test is disabled in the CLI's ConfigMap. + {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"list"}}, + {NonResourceURLs: []string{"/readyz", "/version"}, Verbs: []string{"get"}}, + } + if role != clusterValidatorControlPlaneRole { + return append([]rbacv1.PolicyRule{ + // Read-only, except that every run deletes the netpol-validation + // namespaces an earlier enforcement run left behind. + {APIGroups: []string{""}, Resources: []string{"nodes"}, Verbs: []string{"list"}}, + {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"list"}}, + {APIGroups: []string{""}, Resources: []string{"namespaces"}, Verbs: []string{"get", "list", "delete"}}, + // SMB CSI driver and its version, read from its Deployment. + {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"csidrivers"}, Verbs: []string{"get"}}, + {APIGroups: []string{"apps"}, Resources: []string{"deployments"}, Verbs: []string{"get", "list"}}, + }, shared...) + } + return append([]rbacv1.PolicyRule{ + {APIGroups: []string{""}, Resources: []string{"nodes", "services", "events"}, Verbs: []string{"list"}}, + // The node-to-node probe creates and deletes its own namespace, + // DaemonSet and checker pods, and sweeps those of dead runs. + {APIGroups: []string{""}, Resources: []string{"namespaces"}, Verbs: []string{"get", "list", "create", + "delete"}}, + {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"list", "create", "delete"}}, + {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"list", "create", "delete"}}, + {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"storageclasses"}, Verbs: []string{"list"}}, + // Tier-1 and Tier-2 readiness, and the Envoy proxies behind the NVCF + // Gateways. + {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"list"}}, + // The creation time of a rolling StatefulSet's update revision dates + // its rollout, which Tier-2 bounds. + {APIGroups: []string{"apps"}, Resources: []string{"controllerrevisions"}, Verbs: []string{"get"}}, + // The validator follows every NVCF route kind's parentRefs to learn + // which Gateways are NVCF's, and lists the GatewayClasses to tell + // which of those Gateways Envoy Gateway runs. + {APIGroups: []string{"gateway.networking.k8s.io"}, Resources: []string{ + "gateways", "gatewayclasses", "httproutes", "grpcroutes", "tcproutes", "udproutes", + }, Verbs: []string{"list"}}, + }, shared...) } func clusterValidatorLabels() map[string]string { @@ -920,25 +1114,14 @@ func clusterValidatorRunLabels(role, runID string, preserve bool) map[string]str return l } -// validatorConfigNameForRole returns the network-check ConfigMap name the Job -// should read. Only the control-plane role has one; the compute-plane role gets -// a sentinel that resolves to nothing so it cannot inherit the control-plane's -// reachability and enforcement config. -func validatorConfigNameForRole(role, runID string) string { - if role == clusterValidatorControlPlaneRole { - return clusterValidatorConfigRunName(runID) - } - return clusterValidatorNoConfigName -} - -// clusterValidatorConfigLabels are the managed labels for the network-checks -// ConfigMap, plus the preserve marker when the run was asked to keep its -// artifacts. Without the marker the next run's orphan sweeper reclaims the -// ConfigMap once it is older than the TTL, and an operator re-running a Job -// they deliberately kept gets a validator that silently skips the configurable -// reachability and enforcement checks. -func clusterValidatorConfigLabels(runID string, preserve bool) map[string]string { - return clusterValidatorRunLabels("", runID, preserve) +// clusterValidatorConfigLabels are the labels for one run's network-checks +// ConfigMap, the same as for the run's other objects, including the preserve +// marker when the run was asked to keep its artifacts. Without the marker the +// next run's orphan sweeper reclaims the ConfigMap once it is older than the +// TTL, and an operator re-running a Job they deliberately kept gets a +// validator that silently skips the configurable reachability checks. +func clusterValidatorConfigLabels(role, runID string, preserve bool) map[string]string { + return clusterValidatorRunLabels(role, runID, preserve) } // clusterValidatorConfigRunName scopes the network-checks ConfigMap to one run. @@ -952,23 +1135,31 @@ func clusterValidatorConfigRunName(runID string) string { return clusterValidatorConfigName + "-" + runID } -// sweepOrphanClusterValidatorRBAC removes validator RBAC left behind by a run -// that died before its deferred cleanup (SIGKILL, OOM, lost terminal). +// sweepOrphanClusterValidatorRBAC removes validator objects left behind by a +// run that died before its deferred cleanup (SIGKILL, OOM, lost terminal). // // Needed because the names are random per run: a fixed name self-healed by // being reused, these would accumulate. Only objects carrying our labels and -// older than the TTL are removed, so a concurrent run is never disturbed. -func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, ttl time.Duration) { +// older than the TTL are removed, so a concurrent run is never disturbed. Age +// is measured against now, the apiserver's clock, never the local one: a +// workstation running ahead would otherwise see an overlapping run's fresh +// objects as stale. Objects of runID, the calling run, are never taken, nor a +// Secret named pullSecret, which the operator passed explicitly. +func sweepOrphanClusterValidatorRBAC( + ctx context.Context, client kubernetes.Interface, now time.Time, ttl time.Duration, runID, pullSecret string, +) { // Derived from the same map the objects are stamped with, so the selector // cannot drift from the labels. All three managed labels are required: the // component label is part of what identifies these as ours. opts := metav1.ListOptions{LabelSelector: labels.SelectorFromSet(clusterValidatorLabels()).String()} - now := time.Now() // stale applies the TTL for the object's kind of run. A --no-cleanup run's // objects are kept longer, not forever: exempting them left a cluster-wide // ClusterRole and an NGC-key Secret behind permanently. stale := func(o metav1.Object) bool { + if runID != "" && o.GetLabels()[clusterValidatorRunLabel] == runID { + return false + } limit := ttl if o.GetLabels()[clusterValidatorPreserveLabel] == "true" { limit = preservedValidatorTTL @@ -985,7 +1176,7 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte return strings.HasPrefix(o.GetName(), clusterValidatorConfigName) && stale(o) } reclaimableSecret := func(o metav1.Object) bool { - return strings.HasPrefix(o.GetName(), validatorPullSecretName) && stale(o) + return o.GetName() != pullSecret && strings.HasPrefix(o.GetName(), validatorPullSecretName) && stale(o) } // The bare legacy name is the fixed-name set released CLIs keep and reuse. // Its labels no longer match this selector, but exclude it by name too so @@ -1001,6 +1192,14 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } } + rbs := client.RbacV1().RoleBindings(clusterValidatorNamespace) + if l, err := rbs.List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; reclaimable(o) { + _ = rbs.Delete(ctx, o.Name, deleteExactly(o)) + } + } + } if l, err := client.RbacV1().ClusterRoles().List(ctx, opts); err == nil { for i := range l.Items { if o := &l.Items[i]; reclaimable(o) { @@ -1008,6 +1207,14 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } } + roles := client.RbacV1().Roles(clusterValidatorNamespace) + if l, err := roles.List(ctx, opts); err == nil { + for i := range l.Items { + if o := &l.Items[i]; reclaimable(o) { + _ = roles.Delete(ctx, o.Name, deleteExactly(o)) + } + } + } // Network-check ConfigMaps too. Run-scoping the name removed the accidental // self-healing the fixed name gave us: a killed run used to leave exactly // one object that the next run overwrote, and now each leaves its own, so @@ -1044,8 +1251,9 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte // Jobs only need this for --no-cleanup runs: every other Job carries a // deadline and a TTL. A preserved Job has neither, so without this arm it - // and its pod would stay forever. Background propagation removes the pod, - // and the Job's ownerReferences take its Secret and ConfigMap with it. + // and its pod would stay forever. Background propagation removes the pod. + // A preserved run's Secret and ConfigMap are not owned by its Job, so the + // arms above reclaim them on the same TTL. jobs := client.BatchV1().Jobs(clusterValidatorNamespace) if l, err := jobs.List(ctx, opts); err == nil { propagation := metav1.DeletePropagationBackground @@ -1061,82 +1269,6 @@ func sweepOrphanClusterValidatorRBAC(ctx context.Context, client kubernetes.Inte } } -// sweepClusterValidatorRBAC removes the SA, ClusterRole, and ClusterRoleBinding -// created by ensureClusterValidatorRBAC. Called after Job completion (when -// --no-cleanup is not set) to close the window where the elevated ClusterRole -// exists. Each run mints its own names, so nothing is reused. It returns what -// it could not remove, so the run can say how to remove it. -func sweepClusterValidatorRBAC(ctx context.Context, client kubernetes.Interface, role, runID string) error { - name := clusterValidatorRBACName(role, runID) - - // Delete by name, but only what we own: these are cluster-scoped, so an - // operator-owned ClusterRole with a colliding name must never vanish. - var errs []error - if crb, err := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}); err == nil { - if hasValidatorManagedLabels(crb.Labels) { - errs = append(errs, ignoreNotFound(client.RbacV1().ClusterRoleBindings().Delete(ctx, name, deleteExactly(crb)))) - } - } else { - errs = append(errs, ignoreNotFound(err)) - } - if cr, err := client.RbacV1().ClusterRoles().Get(ctx, name, metav1.GetOptions{}); err == nil { - if hasValidatorManagedLabels(cr.Labels) { - errs = append(errs, ignoreNotFound(client.RbacV1().ClusterRoles().Delete(ctx, name, deleteExactly(cr)))) - } - } else { - errs = append(errs, ignoreNotFound(err)) - } - sa := client.CoreV1().ServiceAccounts(clusterValidatorNamespace) - if acct, err := sa.Get(ctx, name, metav1.GetOptions{}); err == nil { - if hasValidatorManagedLabels(acct.Labels) { - errs = append(errs, ignoreNotFound(sa.Delete(ctx, name, deleteExactly(acct)))) - } - } else { - errs = append(errs, ignoreNotFound(err)) - } - if err := errors.Join(errs...); err != nil { - return fmt.Errorf("removing validator RBAC %s: %w", name, err) - } - return nil -} - -// ignoreNotFound drops a NotFound error: the object is already gone. -func ignoreNotFound(err error) error { - if apierrors.IsNotFound(err) { - return nil - } - return err -} - -// sweepManagedPullSecrets removes this run's docker-registry secret in -// clusterValidatorNamespace (mirrored from another namespace or minted from -// NGC_API_KEY). Called after the Job terminates so NGC credentials don't -// persist across preflight runs. Other runs' secrets are left to their own -// sweeps or to sweepOrphanClusterValidatorRBAC. -// -// Operator-supplied secrets via --cluster-validator-pull-secret aren't -// labeled by us and are skipped by the selector. -func sweepManagedPullSecrets(ctx context.Context, client kubernetes.Interface, role, runID string) error { - // The generated name is part of the ownership test, not just the labels, - // which are public constants anything could carry. - secrets := client.CoreV1().Secrets(clusterValidatorNamespace) - l, err := secrets.List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(role)}) - if err != nil { - return fmt.Errorf("listing validator pull secrets: %w", err) - } - for i := range l.Items { - // Only this run's Secret. The name is unguessable and unique per run, - // so a sweep can no longer take out a Secret another run selected. - if l.Items[i].Name != validatorPullSecretRunName(role, runID) { - continue - } - if err := ignoreNotFound(secrets.Delete(ctx, l.Items[i].Name, deleteExactly(&l.Items[i]))); err != nil { - return fmt.Errorf("removing validator pull secret %s: %w", l.Items[i].Name, err) - } - } - return nil -} - // validatorRoleSelector matches objects this CLI created for one validator role. // Derived from clusterValidatorRoleLabels so it cannot drift from the labels // actually stamped on the objects. @@ -1158,10 +1290,13 @@ const clusterValidatorComputePlaneRole = "compute-plane" // defaultConfigMapName in nvca/cmd/cluster-validator/main.go. const clusterValidatorConfigName = "cluster-validator-network-checks" -// clusterValidatorNoConfigName is a name no ConfigMap uses. VALIDATOR_CONFIG_NAME +// clusterValidatorNoConfigName is a name no ConfigMap can have. VALIDATOR_CONFIG_NAME // must be non-empty to suppress the validator's own default-name fallback, so -// "no config" has to be spelled as a name that resolves to nothing. -const clusterValidatorNoConfigName = "cluster-validator-no-config" +// "no config" has to be spelled as a name that resolves to nothing. The +// uppercase letters make it an invalid object name, so the apiserver refuses +// to create a ConfigMap under it: anyone able to create ConfigMaps here could +// otherwise feed every run critical endpoints and an enabled enforcement test. +const clusterValidatorNoConfigName = "cluster-validator-NO-CONFIG" // clusterValidatorRoleLabel scopes Job selectors to a single validator role. const clusterValidatorRoleLabel = "nvcf.nvidia.com/validator-role" @@ -1222,43 +1357,28 @@ const controlPlaneValidatorEnforcementConfig = `enforcement: enabled: false ` -// ensureClusterValidatorConfig creates this run's network-check ConfigMap. -// Best-effort: the validator skips configurable checks when it is absent. -func ensureClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, registries []RegistryEntry, runID string, preserve bool) error { - content := buildControlPlaneValidatorConfig(registries) - desired := &corev1.ConfigMap{ +// ensureClusterValidatorConfig creates this run's network-check ConfigMap and +// records it in created. Create only: the name carries this run's ID, so an +// object already holding it was put there by someone else, and adopting it, +// with whatever labels it carries, would hand the validator their endpoints +// and enforcement settings and then delete their object. +func ensureClusterValidatorConfig( + ctx context.Context, client kubernetes.Interface, registries []RegistryEntry, role, runID string, preserve bool, + created runObjects, +) error { + cm := &corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ Name: clusterValidatorConfigRunName(runID), Namespace: clusterValidatorNamespace, - Labels: clusterValidatorConfigLabels(runID, preserve), + Labels: clusterValidatorConfigLabels(role, runID, preserve), }, - Data: map[string]string{"config.yaml": content}, + Data: map[string]string{"config.yaml": buildControlPlaneValidatorConfig(registries)}, } - - existing, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, clusterValidatorConfigRunName(runID), metav1.GetOptions{}) + got, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Create(ctx, cm, metav1.CreateOptions{}) if err != nil { - if !apierrors.IsNotFound(err) { - return fmt.Errorf("get validator config ConfigMap: %w", err) - } - if _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Create(ctx, desired, metav1.CreateOptions{}); err != nil { - return fmt.Errorf("create validator config ConfigMap: %w", err) - } - return nil - } - - // The name is per run, so an existing object was not created by this run. - // Replace the content only when it carries our labels; never overwrite a - // ConfigMap we do not own. - if !hasValidatorManagedLabels(existing.Labels) { - return fmt.Errorf( - "refusing to overwrite ConfigMap %s/%s which is not managed by nvcf-cli", - clusterValidatorNamespace, clusterValidatorConfigRunName(runID)) - } - existing.Data = desired.Data - existing.Labels = desired.Labels - if _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Update(ctx, existing, metav1.UpdateOptions{}); err != nil { - return fmt.Errorf("update validator config ConfigMap: %w", err) + return fmt.Errorf("create validator config ConfigMap: %w", err) } + created.add(kindConfigMap, got) return nil } @@ -1332,12 +1452,15 @@ func parseRegistryHostPort(s string) (host string, port int) { // buildClusterValidatorJob creates the validator Job. PullIfNotPresent reuses // locally-imported images. VALIDATOR_PREFLIGHT=true skips the summary ConfigMap // write. VALIDATOR_ROLE selects the check set (control-plane vs compute-plane). +// configName is the ConfigMap the validator reads: the one this run created, +// or clusterValidatorNoConfigName. func buildClusterValidatorJob( - name, image, pullSecret, role, runID string, noCleanup bool, env map[string]string, + name, image, pullSecret, role, runID, configName string, noCleanup bool, env map[string]string, tolerations ...corev1.Toleration, ) *batchv1.Job { backoff := int32(0) - // Pod shape mirrors deployments/nvca-operator/templates/cronjob.yaml, which + grace := int64(clusterValidatorTerminationGrace / time.Second) + // Pod shape mirrors the chart's nvcaop.clusterValidatorJobSpec, which // runs this same image. Two producers of one pod spec now exist in two // languages, so they are kept deliberately in step: without the security // context the Job is rejected outright by a namespace enforcing the @@ -1350,9 +1473,10 @@ func buildClusterValidatorJob( readOnlyRoot := true allowPrivEsc := false podSpec := corev1.PodSpec{ - ServiceAccountName: clusterValidatorRBACName(role, runID), - RestartPolicy: corev1.RestartPolicyNever, - Tolerations: append(clusterValidatorTolerations(), tolerations...), + ServiceAccountName: clusterValidatorRBACName(role, runID), + RestartPolicy: corev1.RestartPolicyNever, + TerminationGracePeriodSeconds: &grace, + Tolerations: append(clusterValidatorTolerations(), tolerations...), SecurityContext: &corev1.PodSecurityContext{ RunAsUser: &runAsUser, RunAsGroup: &runAsUser, @@ -1372,13 +1496,10 @@ func buildClusterValidatorJob( }, Env: []corev1.EnvVar{ {Name: "VALIDATOR_CONFIG_NAMESPACE", Value: clusterValidatorNamespace}, - // Name the ConfigMap explicitly for the control-plane role and - // leave it unresolvable for the compute-plane role. An empty - // value is NOT "no config": the validator falls back to its own - // default name, so both roles would resolve the same ConfigMap - // and the compute-plane preflight would silently run the - // control-plane's active NetworkPolicy enforcement. - {Name: "VALIDATOR_CONFIG_NAME", Value: validatorConfigNameForRole(role, runID)}, + // Always set. An empty value is NOT "no config": the validator + // falls back to its own default name, a ConfigMap anyone could + // create, and would run whatever it holds. + {Name: "VALIDATOR_CONFIG_NAME", Value: configName}, {Name: "VALIDATOR_PREFLIGHT", Value: "true"}, {Name: "VALIDATOR_ROLE", Value: role}, }, @@ -1406,9 +1527,9 @@ func buildClusterValidatorJob( // Without a deadline a Job whose pod never finishes never becomes // terminal, so its TTL never fires. The deadline plus the TTL remove // the Job and its pod, and through ownerReferences its pull secret and - // ConfigMap. The ServiceAccount, ClusterRole and binding are left to - // the deferred sweeps, or to a later run's orphan sweep. Sized above - // the runner's own timeout so it never truncates a wait that is still + // ConfigMap. The ServiceAccount, roles and bindings are left to the + // deferred sweeps, or to a later run's orphan sweep. Sized above the + // runner's own timeout so it never truncates a wait that is still // making progress; the runner sets it from the time it has left. A // --no-cleanup Job gets neither, so the pod and its logs survive for // debugging until the operator removes them or a later check's orphan @@ -1609,29 +1730,6 @@ func kubectlLogsHint(kubeContext, jobName string) string { kubectlContextArg(kubeContext), clusterValidatorNamespace, jobName) } -// sweepClusterValidatorConfig removes the network-checks ConfigMap this run -// created. The name is scoped to this run, and the managed labels are checked -// as well, so a same-named object belonging to anyone else is left alone. -// It returns what it could not remove, as the other sweeps do. -func sweepClusterValidatorConfig(ctx context.Context, client kubernetes.Interface, runID string) error { - cms := client.CoreV1().ConfigMaps(clusterValidatorNamespace) - name := clusterValidatorConfigRunName(runID) - cm, err := cms.Get(ctx, name, metav1.GetOptions{}) - if err != nil { - if err = ignoreNotFound(err); err != nil { - return fmt.Errorf("reading validator ConfigMap %s: %w", name, err) - } - return nil - } - if !hasValidatorManagedLabels(cm.Labels) { - return nil - } - if err := ignoreNotFound(cms.Delete(ctx, name, deleteExactly(cm))); err != nil { - return fmt.Errorf("removing validator ConfigMap %s: %w", name, err) - } - return nil -} - // clusterValidatorTolerations mirrors the chart's tolerations so the Job can // schedule on a cluster whose nodes all carry the control-plane taint, which // is the normal shape for a dedicated control plane. diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index abfa1a259f..7a45af0db1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -69,6 +69,16 @@ func leftovers(t *testing.T, client *fake.Clientset, runID string) map[string][] for _, o := range crbs.Items { out["ClusterRoleBinding"] = append(out["ClusterRoleBinding"], o.Name) } + roles, err := client.RbacV1().Roles(clusterValidatorNamespace).List(ctx, opts) + require.NoError(t, err) + for _, o := range roles.Items { + out["Role"] = append(out["Role"], o.Name) + } + rbs, err := client.RbacV1().RoleBindings(clusterValidatorNamespace).List(ctx, opts) + require.NoError(t, err) + for _, o := range rbs.Items { + out["RoleBinding"] = append(out["RoleBinding"], o.Name) + } secrets, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, opts) require.NoError(t, err) for _, o := range secrets.Items { @@ -89,10 +99,15 @@ func lifecycleClient(jobStatus func(name string) *batchv1.Job, waiting string) * var jobName atomic.Value jobName.Store("") var jobDeleted atomic.Bool + var jobLabels atomic.Value + jobLabels.Store(map[string]string{}) client.PrependReactor("create", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { job := action.(ktesting.CreateAction).GetObject().(*batchv1.Job) - job.UID = types.UID("uid-" + job.Name) + if job.UID == "" { + job.UID = types.UID("uid-" + job.Name) + } jobName.Store(job.Name) + jobLabels.Store(job.Labels) return false, nil, nil }) client.PrependReactor("get", "jobs", func(action ktesting.Action) (bool, runtime.Object, error) { @@ -101,7 +116,8 @@ func lifecycleClient(jobStatus func(name string) *batchv1.Job, waiting string) * return false, nil, nil } job := jobStatus(name) - job.Labels = clusterValidatorLabels() + job.UID = types.UID("uid-" + name) + job.Labels = jobLabels.Load().(map[string]string) return true, job, nil }) // The pod's phase follows the Job's: ended once the Job has finished, @@ -309,7 +325,9 @@ func TestRunClusterValidator_NoCleanupKeepsRunAndPrintsTheCommand(t *testing.T) "", true, clusterValidatorControlPlaneRole, nil, nil) require.NoError(t, res.Err) left := leftovers(t, client, res.RunID) - for _, kind := range []string{"ServiceAccount", "ClusterRole", "ClusterRoleBinding", "Secret", "ConfigMap"} { + for _, kind := range []string{ + "ServiceAccount", "ClusterRole", "ClusterRoleBinding", "Role", "RoleBinding", "Secret", "ConfigMap", + } { assert.Len(t, left[kind], 1, kind) } assert.True(t, res.Created) @@ -355,7 +373,7 @@ func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *tes &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, run.id), Namespace: clusterValidatorNamespace, Labels: lbls}}, &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorConfigRunName(run.id), - Namespace: clusterValidatorNamespace, Labels: clusterValidatorConfigLabels(run.id, true)}}, + Namespace: clusterValidatorNamespace, Labels: clusterValidatorConfigLabels(clusterValidatorControlPlaneRole, run.id, true)}}, &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{Name: name(run.id), Labels: lbls}}, &rbacv1.ClusterRoleBinding{ObjectMeta: metav1.ObjectMeta{Name: name(run.id), Labels: lbls}}, } @@ -365,7 +383,7 @@ func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *tes } } - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") ctx := context.Background() for _, run := range []struct { @@ -402,12 +420,13 @@ func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *tes // Forwarded settings reach the container in a stable order, empty values are // dropped, and nothing forwarded can override what the Job itself sets. func TestBuildClusterValidatorJob_ForwardsEnvWithoutOverridingCore(t *testing.T) { - job := buildClusterValidatorJob("j", "img:1", "", clusterValidatorControlPlaneRole, "runid", false, map[string]string{ - "NVCF_OPENBAO_NAMESPACE": "openbao", - "VALIDATOR_POST_INSTALL": "true", - "VALIDATOR_ROLE": "compute-plane", - "NVCF_GATEWAY_NAMES": "", - }) + job := buildClusterValidatorJob("j", "img:1", "", clusterValidatorControlPlaneRole, "runid", + clusterValidatorNoConfigName, false, map[string]string{ + "NVCF_OPENBAO_NAMESPACE": "openbao", + "VALIDATOR_POST_INSTALL": "true", + "VALIDATOR_ROLE": "compute-plane", + "NVCF_GATEWAY_NAMES": "", + }) env := map[string]string{} var order []string for _, e := range job.Spec.Template.Spec.Containers[0].Env { @@ -423,32 +442,6 @@ func TestBuildClusterValidatorJob_ForwardsEnvWithoutOverridingCore(t *testing.T) "VALIDATOR_ROLE", "NVCF_OPENBAO_NAMESPACE", "VALIDATOR_POST_INSTALL"}, order) } -// The validator discovers NVCF Gateways from every route kind and reads the -// Gateways' classes, so the CLI's ClusterRole must allow all of them. -func TestEnsureClusterValidatorRBAC_GrantsGatewayAPIReads(t *testing.T) { - client := fake.NewSimpleClientset() - require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, clusterValidatorControlPlaneRole, "runid", false)) - cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), - clusterValidatorRBACName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) - require.NoError(t, err) - granted := map[string]bool{} - for _, r := range cr.Rules { - for _, g := range r.APIGroups { - if g != "gateway.networking.k8s.io" { - continue - } - for _, res := range r.Resources { - granted[res] = true - } - } - } - for _, res := range []string{"gateways", "gatewayclasses", "httproutes", "grpcroutes", "tcproutes", "udproutes"} { - assert.True(t, granted[res], res) - } - // Tier-2 dates a rolling StatefulSet's rollout from its update revision. - assert.True(t, rbacRuleCovers(cr.Rules, "apps", "controllerrevisions", "get")) -} - // The extra tolerations reach the Job beside the control-plane ones it always // carries, so a cluster whose nodes use other taints can schedule it. func TestRunClusterValidator_ExtraTolerationsReachTheJob(t *testing.T) { @@ -552,52 +545,6 @@ func TestRunClusterValidator_InterruptLeavesNothingBehind(t *testing.T) { assert.True(t, deleted, "the Job must be stopped so its pod stops using the RBAC") } -// The run's ClusterRole grants only what the validator calls. It never creates -// Services, reads pod logs or watches anything. -func TestEnsureClusterValidatorRBAC_LeastPrivilege(t *testing.T) { - client := fake.NewSimpleClientset() - require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, clusterValidatorControlPlaneRole, "runid", false)) - cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), - clusterValidatorRBACName(clusterValidatorControlPlaneRole, "runid"), metav1.GetOptions{}) - require.NoError(t, err) - sawEvents := false - for _, r := range cr.Rules { - for _, v := range r.Verbs { - assert.NotEqual(t, "watch", v, "no rule needs watch") - } - for _, res := range r.Resources { - assert.NotEqual(t, "pods/log", res) - if res == "services" { - assert.ElementsMatch(t, []string{"get", "list"}, r.Verbs, "services are only read") - } - if res == "events" { - assert.Equal(t, []string{"list"}, r.Verbs, "the probe only lists its pods' events") - sawEvents = true - } - } - } - assert.True(t, sawEvents, "the overlay probe needs to list events") -} - -// Only the control-plane Job reads a network-check ConfigMap. The compute-plane -// Job gets a non-empty name that resolves to nothing: an empty value would let -// the validator fall back to its default name and pick up control-plane config. -func TestBuildClusterValidatorJob_ConfigNamePerRole(t *testing.T) { - configName := func(role string) string { - job := buildClusterValidatorJob("j", "img:1", "", role, "runid", false, nil) - for _, e := range job.Spec.Template.Spec.Containers[0].Env { - if e.Name == "VALIDATOR_CONFIG_NAME" { - return e.Value - } - } - return "" - } - assert.Equal(t, clusterValidatorConfigRunName("runid"), configName(clusterValidatorControlPlaneRole)) - cp := configName(clusterValidatorComputePlaneRole) - assert.Equal(t, clusterValidatorNoConfigName, cp) - assert.NotEqual(t, clusterValidatorConfigName, cp, "must not be the validator's default name") -} - // An apiserver that stops answering after the bootstrap fails must not hold // the CLI open in the deferred sweeps: each one is bounded, and the run // returns once they time out. @@ -609,6 +556,9 @@ func TestRunClusterValidator_CleanupIsBoundedWhenTheAPIServerHangs(t *testing.T) var hang atomic.Bool srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if hang.Load() { + // The server notices a closed connection only once the body has + // been read, and the cleanup's deletes carry one. + _, _ = io.Copy(io.Discard, r.Body) <-r.Context().Done() return } @@ -1522,7 +1472,7 @@ func TestAwaitValidatorJob(t *testing.T) { // timeout, and with the pod's termination grace inside the wait for it. func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { assert.Positive(t, validatorDeadlineOffset, "the deadline must not cut short the run's own wait") - assert.LessOrEqual(t, validatorDeadlineOffset+podTerminationGrace, defaultValidatorDeadlineGrace, + assert.LessOrEqual(t, validatorDeadlineOffset+clusterValidatorTerminationGrace, defaultValidatorDeadlineGrace, "the pod must be gone before the CLI stops waiting for it") assert.Equal(t, int64(68), validatorActiveDeadlineSeconds(7200*time.Millisecond)) @@ -1531,7 +1481,7 @@ func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { t.Cleanup(func() { clusterValidatorTimeout = prev }) client := lifecycleClient(succeeded, "") // A slow apiserver spends part of the timeout before the Job exists. - client.PrependReactor("list", "clusterrolebindings", func(ktesting.Action) (bool, runtime.Object, error) { + client.PrependReactor("create", "serviceaccounts", func(ktesting.Action) (bool, runtime.Object, error) { time.Sleep(2 * time.Second) return false, nil, nil }) @@ -1692,7 +1642,7 @@ func TestValidatorRemovalCommand(t *testing.T) { assert.Equal(t, "kubectl --context ctx-a get pods -n default -l "+sel+"; "+ "kubectl --context ctx-a delete -n default job -l "+sel+" --cascade=foreground --wait; "+ "kubectl --context ctx-a delete clusterrolebinding,clusterrole -l "+sel+"; "+ - "kubectl --context ctx-a delete -n default serviceaccount,secret,configmap -l "+sel, + "kubectl --context ctx-a delete -n default rolebinding,role,serviceaccount,secret,configmap -l "+sel, validatorRemovalCommand("ctx-a", "r1")) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go new file mode 100644 index 0000000000..98431a5ad2 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go @@ -0,0 +1,397 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "errors" + "strings" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + batchv1 "k8s.io/api/batch/v1" + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/kubernetes/fake" + ktesting "k8s.io/client-go/testing" +) + +// stampCreates makes every Create return what an apiserver does: a UID, and a +// creationTimestamp on the apiserver's clock, which runs skew from the local +// one. It records each created object's UID by "/". +func stampCreates(client *fake.Clientset, skew time.Duration) *sync.Map { + uids := &sync.Map{} + client.PrependReactor("create", "*", func(a ktesting.Action) (bool, runtime.Object, error) { + o, ok := a.(ktesting.CreateAction).GetObject().(metav1.Object) + if !ok { + return false, nil, nil + } + uid := types.UID("uid-" + a.GetResource().Resource + "-" + o.GetName()) + o.SetUID(uid) + o.SetCreationTimestamp(metav1.NewTime(time.Now().Add(skew))) + uids.Store(a.GetResource().Resource+"/"+o.GetName(), uid) + return false, nil, nil + }) + return uids +} + +// jobEnv returns the env of the Job the run created. +func jobEnv(t *testing.T, client *fake.Clientset) map[string]string { + t.Helper() + for _, a := range client.Actions() { + if c, ok := a.(ktesting.CreateAction); ok && a.GetResource().Resource == "jobs" { + env := map[string]string{} + for _, e := range c.GetObject().(*batchv1.Job).Spec.Template.Spec.Containers[0].Env { + env[e.Name] = e.Value + } + return env + } + } + t.Fatal("the run created no Job") + return nil +} + +// Every delete a run makes is pinned to the UID its Create returned and to +// nothing else. A ResourceVersion precondition turns every delete of a Job, +// whose status its controller keeps writing, into a 409 the sweeps swallow. +func TestRunClusterValidator_DeletesArePinnedToTheCreatedUID(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(running, "ImagePullBackOff") + uids := stampCreates(client, 0) + + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", false, clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) + require.Error(t, res.Err) + + deleted := map[string]bool{} + for _, a := range client.Actions() { + d, ok := a.(ktesting.DeleteActionImpl) + if !ok { + continue + } + key := d.GetResource().Resource + "/" + d.Name + want, created := uids.Load(key) + require.True(t, created, "%s was deleted but not created by this run", key) + require.NotNil(t, d.DeleteOptions.Preconditions, key) + require.NotNil(t, d.DeleteOptions.Preconditions.UID, key) + assert.Equal(t, want, *d.DeleteOptions.Preconditions.UID, key) + assert.Nil(t, d.DeleteOptions.Preconditions.ResourceVersion, key) + deleted[d.GetResource().Resource] = true + } + for _, r := range []string{ + "jobs", "serviceaccounts", "clusterroles", "clusterrolebindings", "roles", "rolebindings", "secrets", + "configmaps", + } { + assert.True(t, deleted[r], "a pull failure removes the run's %s", r) + } +} + +// The Job is named per role and run, like the RBAC. A name from the clock +// alone collides across the two concurrent roles where the clock is coarse, +// and the loser then stopped the winner's live Job. +func TestRunClusterValidator_JobIsNamedPerRoleAndRun(t *testing.T) { + for _, role := range []string{clusterValidatorControlPlaneRole, clusterValidatorComputePlaneRole} { + client := lifecycleClient(succeeded, "") + res := runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + "", false, role, nil, nil) + require.NoError(t, res.Err) + assert.Equal(t, clusterValidatorRBACName(role, res.RunID), res.JobName) + } +} + +// Another run's Job under this run's name is never stopped: not on +// AlreadyExists, which proves the name was taken, and not when a Create +// errored in a way that may have been applied, unless the Job read back +// carries this run's ID. +func TestRunClusterValidator_AnotherRunsJobUnderThisRunsNameSurvives(t *testing.T) { + for name, createErr := range map[string]func(string) error{ + "already exists": func(n string) error { + return apierrors.NewAlreadyExists(schema.GroupResource{Group: "batch", Resource: "jobs"}, n) + }, + "connection reset": func(string) error { return apierrors.NewInternalError(errors.New("connection reset")) }, + } { + t.Run(name, func(t *testing.T) { + client := fake.NewSimpleClientset() + client.PrependReactor("create", "jobs", func(a ktesting.Action) (bool, runtime.Object, error) { + job := a.(ktesting.CreateAction).GetObject().(*batchv1.Job) + other := job.DeepCopy() + other.Labels = clusterValidatorRunLabels(clusterValidatorComputePlaneRole, "otherrun", false) + other.UID = "uid-other" + require.NoError(t, client.Tracker().Add(other)) + return true, nil, createErr(job.Name) + }) + + // The other run's pod is still running. + client.PrependReactor("list", "pods", podPhaseReactor(func() corev1.PodPhase { return corev1.PodRunning })) + + res := runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorContains(t, res.Err, "creating validator Job") + assert.Empty(t, jobDeletes(client), "another run's Job must not be stopped") + assert.False(t, res.LeftBehind, "another run's pod does not keep this run's objects") + assert.Empty(t, leftovers(t, client, res.RunID)) + _, err := client.BatchV1().Jobs(clusterValidatorNamespace).Get(context.Background(), + clusterValidatorRBACName(clusterValidatorComputePlaneRole, res.RunID), metav1.GetOptions{}) + assert.NoError(t, err) + }) + } +} + +// A bootstrap that hits AlreadyExists did not create that object, so the +// cleanup must not delete it, whatever labels it wears. Only what the run +// created goes. +func TestRunClusterValidator_RefusedBootstrapObjectSurvivesTheCleanup(t *testing.T) { + for name, lbls := range map[string]func(runID string) map[string]string{ + "unlabelled": func(string) map[string]string { return nil }, + "forged labels": func(runID string) map[string]string { + return clusterValidatorRunLabels(clusterValidatorComputePlaneRole, runID, false) + }, + } { + t.Run(name, func(t *testing.T) { + client := fake.NewSimpleClientset() + var runID string + client.PrependReactor("create", "clusterroles", func(a ktesting.Action) (bool, runtime.Object, error) { + cr := a.(ktesting.CreateAction).GetObject().(*rbacv1.ClusterRole) + runID = cr.Labels[clusterValidatorRunLabel] + squat := &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{Name: cr.Name, Labels: lbls(runID)}} + require.NoError(t, client.Tracker().Add(squat)) + return true, nil, apierrors.NewAlreadyExists( + schema.GroupResource{Group: rbacv1.GroupName, Resource: "clusterroles"}, cr.Name) + }) + + res := runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorContains(t, res.Err, "bootstrapping validator RBAC") + name := clusterValidatorRBACName(clusterValidatorComputePlaneRole, runID) + _, err := client.RbacV1().ClusterRoles().Get(context.Background(), name, metav1.GetOptions{}) + assert.NoError(t, err, "the ClusterRole this run did not create must survive") + _, err = client.CoreV1().ServiceAccounts(clusterValidatorNamespace).Get(context.Background(), name, + metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "the ServiceAccount this run created is removed") + }) + } +} + +// A ConfigMap that appears under the run's name between the RBAC and the +// ConfigMap create, unlabelled or wearing forged managed labels, is neither +// adopted, owned, deleted nor read: the Job reads no ConfigMap at all. +func TestRunClusterValidator_PreExistingConfigMapIsNotAdoptedOrWired(t *testing.T) { + for name, lbls := range map[string]func(runID string) map[string]string{ + "unlabelled": func(string) map[string]string { return nil }, + "forged labels": func(runID string) map[string]string { + return clusterValidatorRunLabels(clusterValidatorControlPlaneRole, runID, false) + }, + } { + t.Run(name, func(t *testing.T) { + client := lifecycleClient(succeeded, "") + var cmName string + client.PrependReactor("create", "serviceaccounts", func(a ktesting.Action) (bool, runtime.Object, error) { + runID := a.(ktesting.CreateAction).GetObject().(*corev1.ServiceAccount).Labels[clusterValidatorRunLabel] + cmName = clusterValidatorConfigRunName(runID) + require.NoError(t, client.Tracker().Add(&corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{Name: cmName, Namespace: clusterValidatorNamespace, + Labels: lbls(runID)}, + Data: map[string]string{"config.yaml": "enforcement:\n enabled: true\n"}, + })) + return false, nil, nil + }) + + res := runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + "", false, clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) + require.NoError(t, res.Err) + assert.Contains(t, res.Logs, "validator config not applied") + assert.Equal(t, clusterValidatorNoConfigName, jobEnv(t, client)["VALIDATOR_CONFIG_NAME"], + "a ConfigMap this run did not create is never wired into the Job") + + cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(context.Background(), cmName, + metav1.GetOptions{}) + require.NoError(t, err, "the other ConfigMap must survive the run's cleanup") + assert.Equal(t, "enforcement:\n enabled: true\n", cm.Data["config.yaml"]) + assert.Empty(t, cm.OwnerReferences) + for _, a := range client.Actions() { + if a.GetResource().Resource == "configmaps" { + assert.NotContains(t, []string{"update", "patch", "delete"}, a.GetVerb()) + } + } + }) + } +} + +// Only the control-plane role reads a ConfigMap, and only one its run created. +// The compute role is pointed at a name no ConfigMap can have, never an empty +// value, which would let the validator fall back to its default name. +func TestRunClusterValidator_ConfigNamePerRole(t *testing.T) { + cp := lifecycleClient(succeeded, "") + res := runClusterValidator(context.Background(), cp, "registry.example.com/validator:1", + "", false, clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) + require.NoError(t, res.Err) + assert.Equal(t, clusterValidatorConfigRunName(res.RunID), jobEnv(t, cp)["VALIDATOR_CONFIG_NAME"]) + + gpu := lifecycleClient(succeeded, "") + res = runClusterValidator(context.Background(), gpu, "registry.example.com/validator:1", + "", false, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + assert.Equal(t, clusterValidatorNoConfigName, jobEnv(t, gpu)["VALIDATOR_CONFIG_NAME"]) +} + +// Every object a run creates carries its role, run and managed labels, the +// ConfigMap included, so the removal command and the per-role selectors see +// all of them. +func TestRunClusterValidator_EveryObjectCarriesRoleAndRunLabels(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := lifecycleClient(succeeded, "") + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorControlPlaneRole, []RegistryEntry{{Registry: "nvcr.io"}}, nil) + require.NoError(t, res.Err) + seen := 0 + for _, a := range client.Actions() { + c, ok := a.(ktesting.CreateAction) + if !ok { + continue + } + o := c.GetObject().(metav1.Object) + assert.Equal(t, clusterValidatorControlPlaneRole, o.GetLabels()[clusterValidatorRoleLabel], o.GetName()) + assert.Equal(t, res.RunID, o.GetLabels()[clusterValidatorRunLabel], o.GetName()) + assert.True(t, hasValidatorManagedLabels(o.GetLabels()), o.GetName()) + seen++ + } + assert.Equal(t, 8, seen, "RBAC (5), Secret, ConfigMap and Job") +} + +// The NGC-key pull Secret is minted only once the run can start a Job. A +// kubeconfig that cannot create the RBAC never gets the key written into the +// namespace. +func TestRunClusterValidator_DeniedBootstrapMintsNoPullSecret(t *testing.T) { + t.Setenv("NGC_API_KEY", "key") + client := fake.NewSimpleClientset() + client.PrependReactor("create", "clusterroles", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, apierrors.NewForbidden( + schema.GroupResource{Group: rbacv1.GroupName, Resource: "clusterroles"}, "", nil) + }) + res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.Error(t, res.Err) + for _, a := range client.Actions() { + assert.False(t, a.GetVerb() == "create" && a.GetResource().Resource == "secrets", + "no Secret may be created before the bootstrap succeeds") + } +} + +// The orphan sweep ages objects on the apiserver's clock. Here it runs ten +// hours behind the local clock, by which every object would look stale: only +// another run's object past the TTL on the apiserver's clock goes. The run's +// own objects and a Secret the operator named explicitly are never taken, +// however old, and the sweep runs before the Job is created. +func TestRunClusterValidator_OrphanSweepUsesTheServerClock(t *testing.T) { + const skew = -10 * time.Hour + serverAgo := func(age time.Duration) metav1.Time { return metav1.NewTime(time.Now().Add(skew - age)) } + cr := func(run string, age time.Duration) *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorRBACName(clusterValidatorComputePlaneRole, run), + Labels: clusterValidatorRunLabels(clusterValidatorComputePlaneRole, run, false), + CreationTimestamp: serverAgo(age), + }} + } + stale, live := cr("stalerun", orphanValidatorRBACTTL+time.Minute), cr("liverun", orphanValidatorRBACTTL-time.Minute) + explicit := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: validatorPullSecretRunName(clusterValidatorComputePlaneRole, "keptrun"), + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorRunLabels(clusterValidatorComputePlaneRole, "keptrun", true), + // Past even the preserved TTL. + CreationTimestamp: serverAgo(preservedValidatorTTL + time.Hour), + }} + client := lifecycleClient(succeeded, "") + for _, o := range []runtime.Object{stale, live, explicit} { + require.NoError(t, client.Tracker().Add(o)) + } + // This run's ClusterRole reads as past even the preserved TTL: only the + // run ID spares it. Registered first, so it runs after stampCreates. + client.PrependReactor("create", "clusterroles", func(a ktesting.Action) (bool, runtime.Object, error) { + a.(ktesting.CreateAction).GetObject().(metav1.Object).SetCreationTimestamp( + serverAgo(preservedValidatorTTL + time.Hour)) + return false, nil, nil + }) + stampCreates(client, skew) + + res := runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + explicit.Name, true, clusterValidatorComputePlaneRole, nil, nil) + require.NoError(t, res.Err) + + crs := client.RbacV1().ClusterRoles() + _, err := crs.Get(context.Background(), stale.Name, metav1.GetOptions{}) + assert.True(t, apierrors.IsNotFound(err), "another run's object past the TTL is reclaimed") + _, err = crs.Get(context.Background(), live.Name, metav1.GetOptions{}) + assert.NoError(t, err, "an overlapping run's object is younger than the TTL on the apiserver's clock") + _, err = crs.Get(context.Background(), clusterValidatorRBACName(clusterValidatorComputePlaneRole, res.RunID), + metav1.GetOptions{}) + assert.NoError(t, err, "the run never sweeps its own objects") + _, err = client.CoreV1().Secrets(clusterValidatorNamespace).Get(context.Background(), explicit.Name, + metav1.GetOptions{}) + assert.NoError(t, err, "an explicitly named pull Secret is never swept") + assert.Equal(t, explicit.Name, jobPullSecret(t, client)) + + order := []string{} + for _, a := range client.Actions() { + switch { + case a.GetVerb() == "delete" && a.GetResource().Resource == "clusterroles": + order = append(order, "sweep") + case a.GetVerb() == "create" && a.GetResource().Resource == "jobs": + order = append(order, "job") + } + } + assert.Equal(t, []string{"sweep", "job"}, order) +} + +// jobPullSecret is the pull Secret the run's Job references. +func jobPullSecret(t *testing.T, client *fake.Clientset) string { + t.Helper() + for _, a := range client.Actions() { + if c, ok := a.(ktesting.CreateAction); ok && a.GetResource().Resource == "jobs" { + var names []string + for _, s := range c.GetObject().(*batchv1.Job).Spec.Template.Spec.ImagePullSecrets { + names = append(names, s.Name) + } + return strings.Join(names, ",") + } + } + return "" +} + +// A live run's objects must outlast it on the apiserver's clock: the longest +// a run takes, and the longest its pod can outlive the run, stay below the +// orphan TTL. +func TestClusterValidatorRunCeiling_StaysBelowTheOrphanTTL(t *testing.T) { + prevStop, prevGrace := validatorStopTimeout, validatorDeadlineGrace + validatorStopTimeout, validatorDeadlineGrace = defaultValidatorStopTimeout, defaultValidatorDeadlineGrace + t.Cleanup(func() { validatorStopTimeout, validatorDeadlineGrace = prevStop, prevGrace }) + podLife := time.Duration(*buildClusterValidatorJob("j", "img:1", "", clusterValidatorComputePlaneRole, "r", + clusterValidatorNoConfigName, false, nil).Spec.ActiveDeadlineSeconds)*time.Second + + clusterValidatorTerminationGrace + assert.Less(t, max(ClusterValidatorRunCeiling(), podLife), orphanValidatorRBACTTL) + assert.Greater(t, validatorStopTimeout, clusterValidatorTerminationGrace, + "a stop waits out the pod's termination grace period") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 5e70135322..e7e8abb789 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -19,7 +19,10 @@ package selfhosted import ( "context" + "errors" "fmt" + "os" + "sort" "strings" "sync/atomic" "testing" @@ -35,8 +38,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/client-go/kubernetes/fake" ktesting "k8s.io/client-go/testing" + "sigs.k8s.io/yaml" ) func jobSucceededReactor(name string) ktesting.ReactionFunc { @@ -238,52 +243,134 @@ func TestRunClusterValidator_RBACNameCollisionIsNotAdopted(t *testing.T) { assert.Contains(t, res.Err.Error(), "bootstrapping validator RBAC") } -func TestEnsureClusterValidatorRBAC_WritableResources(t *testing.T) { - client := fake.NewSimpleClientset() - ctx := context.Background() +// validatorCall is one entry of testdata/validator_api_calls.yaml. +type validatorCall struct { + Group string `json:"group"` + Resource string `json:"resource"` + URL string `json:"url"` + Verbs []string `json:"verbs"` + Callers []string `json:"callers"` +} - const role = clusterValidatorControlPlaneRole - const runID = "testrunid" - require.NoError(t, ensureClusterValidatorRBAC(ctx, client, role, runID, false)) +// validatorRoleCalls are one role's calls, by the kind of grant they need. +type validatorRoleCalls struct { + Cluster []validatorCall `json:"cluster"` + NonResourceURLs []validatorCall `json:"nonResourceURLs"` + Namespaced []validatorCall `json:"namespaced"` +} - cr, err := client.RbacV1().ClusterRoles().Get(ctx, clusterValidatorRBACName(role, runID), metav1.GetOptions{}) - require.NoError(t, err) +// grantsOf flattens calls into sorted "group/resource:verb" and "url:verb" +// entries. +func grantsOf(t *testing.T, calls ...[]validatorCall) []string { + t.Helper() + set := map[string]bool{} + for _, list := range calls { + for _, c := range list { + require.NotEmpty(t, c.Callers, "every call names the validator function that makes it: %+v", c) + for _, v := range c.Verbs { + if c.URL != "" { + set[c.URL+":"+v] = true + } else { + set[c.Group+"/"+c.Resource+":"+v] = true + } + } + } + } + return sortedKeys(set) +} - type check struct { - group string - resource string - verb string +// grantsOfRules flattens rules the same way grantsOf flattens calls. +func grantsOfRules(rules []rbacv1.PolicyRule) []string { + set := map[string]bool{} + for _, r := range rules { + for _, v := range r.Verbs { + for _, u := range r.NonResourceURLs { + set[u+":"+v] = true + } + for _, g := range r.APIGroups { + for _, res := range r.Resources { + set[g+"/"+res+":"+v] = true + } + } + } + } + return sortedKeys(set) +} + +func sortedKeys(set map[string]bool) []string { + out := make([]string, 0, len(set)) + for k := range set { + out = append(out, k) } - required := []check{ - // Enforcement checks create and delete probe namespaces. - {"", "namespaces", "create"}, - {"", "namespaces", "delete"}, - // Probe pods spun up for node-to-node and inter-namespace checks. - {"", "pods", "create"}, - {"", "pods", "delete"}, - // The external-LB check lists LoadBalancer Services. - {"", "services", "list"}, - // The node-to-node probe DaemonSet. - {"apps", "daemonsets", "create"}, - {"apps", "daemonsets", "delete"}, - // Enforcement check creates/updates/deletes NetworkPolicies in temp namespace. - {"networking.k8s.io", "networkpolicies", "create"}, - {"networking.k8s.io", "networkpolicies", "update"}, - {"networking.k8s.io", "networkpolicies", "delete"}, - // Gateway API health checks. - {"gateway.networking.k8s.io", "gateways", "list"}, - {"gateway.networking.k8s.io", "httproutes", "get"}, - {"gateway.networking.k8s.io", "grpcroutes", "list"}, + sort.Strings(out) + return out +} + +// Each role's RBAC grants exactly the calls the validator makes for that role +// when this CLI launches it, as the checked-in inventory lists them: nothing +// it needs is missing, which turns a critical row UNKNOWN, and nothing it +// never calls, such as NetworkPolicy writes, is granted. The ConfigMap read is +// a namespaced Role limited to the names this run's Job can be pointed at. +func TestValidatorRBAC_MatchesTheValidatorsCalls(t *testing.T) { + raw, err := os.ReadFile("testdata/validator_api_calls.yaml") + require.NoError(t, err) + var inventory map[string]validatorRoleCalls + require.NoError(t, yaml.UnmarshalStrict(raw, &inventory)) + roles := make([]string, 0, len(inventory)) + for role := range inventory { + roles = append(roles, role) } + assert.ElementsMatch(t, []string{clusterValidatorControlPlaneRole, clusterValidatorComputePlaneRole}, roles) + + for role, calls := range inventory { + t.Run(role, func(t *testing.T) { + client := fake.NewSimpleClientset() + created := runObjects{} + require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, role, "runid", false, created)) + name := clusterValidatorRBACName(role, "runid") + + cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), name, metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, grantsOf(t, calls.Cluster, calls.NonResourceURLs), grantsOfRules(cr.Rules)) + for _, r := range cr.Rules { + assert.Empty(t, r.ResourceNames) + assert.NotContains(t, r.Verbs, "*") + assert.NotContains(t, r.Resources, "*") + } - for _, want := range required { - t.Run(fmt.Sprintf("%s/%s/%s", want.group, want.resource, want.verb), func(t *testing.T) { - assert.True(t, rbacRuleCovers(cr.Rules, want.group, want.resource, want.verb), - "ClusterRole must grant %s on %s (group %q)", want.verb, want.resource, want.group) + r, err := client.RbacV1().Roles(clusterValidatorNamespace).Get(context.Background(), name, + metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, grantsOf(t, calls.Namespaced), grantsOfRules(r.Rules)) + for _, rule := range r.Rules { + assert.Equal(t, validatorConfigNames(role, "runid"), rule.ResourceNames) + } + rb, err := client.RbacV1().RoleBindings(clusterValidatorNamespace).Get(context.Background(), name, + metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, rbacv1.RoleRef{APIGroup: rbacv1.GroupName, Kind: "Role", Name: name}, rb.RoleRef) + assert.Equal(t, []rbacv1.Subject{{Kind: rbacv1.ServiceAccountKind, Name: name, + Namespace: clusterValidatorNamespace}}, rb.Subjects) + + for _, kind := range validatorRBACKinds { + assert.Contains(t, created, kind, "the cleanup deletes only what was recorded") + } }) } } +// The compute role's ConfigMap name cannot be created, so nobody able to +// create ConfigMaps in the namespace can hand every compute-plane run their +// endpoints and an enabled enforcement test. Only the control-plane role can +// read a ConfigMap of its own run. +func TestValidatorConfigNames_SentinelCannotExist(t *testing.T) { + assert.NotEmpty(t, validation.IsDNS1123Subdomain(clusterValidatorNoConfigName), + "the apiserver must refuse a ConfigMap under the no-config name") + assert.Equal(t, []string{clusterValidatorNoConfigName}, validatorConfigNames(clusterValidatorComputePlaneRole, "r")) + assert.Equal(t, []string{clusterValidatorConfigRunName("r"), clusterValidatorNoConfigName}, + validatorConfigNames(clusterValidatorControlPlaneRole, "r")) +} + // rbacRuleCovers returns true when any PolicyRule in rules grants verb on // resource within group. Wildcard verbs ("*") are treated as matching any verb. func rbacRuleCovers(rules []rbacv1.PolicyRule, group, resource, verb string) bool { @@ -453,7 +540,7 @@ func TestRunClusterValidator_ContextCanceled(t *testing.T) { } func TestBuildClusterValidatorJobShape(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false, nil) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", clusterValidatorNoConfigName, false, nil) assert.Equal(t, "test-job", job.Name) assert.Equal(t, clusterValidatorNamespace, job.Namespace) @@ -495,7 +582,8 @@ func TestBuildClusterValidatorJobShape(t *testing.T) { } func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, "runid", false, nil) + job := buildClusterValidatorJob("test-job", "img:1", "", clusterValidatorControlPlaneRole, "runid", + clusterValidatorNoConfigName, false, nil) env := map[string]string{} for _, e := range job.Spec.Template.Spec.Containers[0].Env { env[e.Name] = e.Value @@ -505,19 +593,20 @@ func TestBuildClusterValidatorJobShape_ValidatorRoleInEnv(t *testing.T) { } func TestBuildClusterValidatorJobShape_WithPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", "runid", false, nil) + job := buildClusterValidatorJob("test-job", "img:1", "nvcr-pull-secret", "", "runid", + clusterValidatorNoConfigName, false, nil) require.Len(t, job.Spec.Template.Spec.ImagePullSecrets, 1) assert.Equal(t, "nvcr-pull-secret", job.Spec.Template.Spec.ImagePullSecrets[0].Name) } func TestBuildClusterValidatorJobShape_NoPullSecret(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", false, nil) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", clusterValidatorNoConfigName, false, nil) assert.Empty(t, job.Spec.Template.Spec.ImagePullSecrets, "empty pull-secret arg must not produce an empty-name ImagePullSecrets entry") } func TestBuildClusterValidatorJobShape_NoCleanup(t *testing.T) { - job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", true, nil) + job := buildClusterValidatorJob("test-job", "img:1", "", "", "runid", clusterValidatorNoConfigName, true, nil) assert.Nil(t, job.Spec.TTLSecondsAfterFinished, "--no-cleanup must omit TTLSecondsAfterFinished so the Job persists for debugging") assert.Nil(t, job.Spec.ActiveDeadlineSeconds, @@ -665,26 +754,36 @@ func TestParseRegistryHostPort(t *testing.T) { }) } } -func TestEnsureClusterValidatorConfig_RefusesUnmanagedConfigMap(t *testing.T) { - ctx := context.Background() - client := fake.NewSimpleClientset(&corev1.ConfigMap{ - ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigRunName("runid"), - Namespace: clusterValidatorNamespace, - Labels: map[string]string{"owner": "operator"}, - }, - Data: map[string]string{"config.yaml": "operator: content"}, - }) - err := ensureClusterValidatorConfig(ctx, client, nil, "runid", false) - require.Error(t, err, "an unmanaged ConfigMap must not be overwritten") - assert.Contains(t, err.Error(), "not managed by nvcf-cli") - - got, getErr := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, - clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) - require.NoError(t, getErr) - assert.Equal(t, "operator: content", got.Data["config.yaml"], - "the operator's ConfigMap content must be untouched") +// The ConfigMap is create-only. One already holding the run's name was put +// there by someone else, unlabelled or wearing forged managed labels, and is +// neither updated nor recorded for this run's cleanup. +func TestEnsureClusterValidatorConfig_IsCreateOnly(t *testing.T) { + for name, lbls := range map[string]map[string]string{ + "unlabelled": {"owner": "operator"}, + "forged labels": clusterValidatorRunLabels(clusterValidatorControlPlaneRole, "runid", false), + } { + t.Run(name, func(t *testing.T) { + ctx := context.Background() + client := fake.NewSimpleClientset(&corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: clusterValidatorConfigRunName("runid"), Namespace: clusterValidatorNamespace, Labels: lbls, + }, + Data: map[string]string{"config.yaml": "operator: content"}, + }) + created := runObjects{} + err := ensureClusterValidatorConfig(ctx, client, nil, clusterValidatorControlPlaneRole, "runid", false, + created) + require.Error(t, err) + assert.True(t, apierrors.IsAlreadyExists(errors.Unwrap(err)), err.Error()) + assert.NotContains(t, created, kindConfigMap) + + got, getErr := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, + clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) + require.NoError(t, getErr) + assert.Equal(t, "operator: content", got.Data["config.yaml"], "the other ConfigMap is untouched") + }) + } } // The managed labels are three public constants, so a label check alone cannot @@ -723,7 +822,7 @@ func TestEnsureClusterValidatorRBAC_DoesNotAdoptExistingObjects(t *testing.T) { }, }) - err := ensureClusterValidatorRBAC(ctx, client, role, runID, false) + err := ensureClusterValidatorRBAC(ctx, client, role, runID, false, nil) require.Error(t, err, "a pre-existing object must not be adopted, forged labels or not") _, bindErr := client.RbacV1().ClusterRoleBindings().Get(ctx, name, metav1.GetOptions{}) @@ -757,7 +856,7 @@ func TestSweepOrphanClusterValidatorRBAC_RequiresNameLabelsAndAge(t *testing.T) }}, ) - sweepOrphanClusterValidatorRBAC(ctx, client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(ctx, client, time.Now(), orphanValidatorRBACTTL, "", "") _, err := client.RbacV1().ClusterRoles().Get(ctx, staleName, metav1.GetOptions{}) assert.True(t, apierrors.IsNotFound(err), "a generated name past the TTL must be reclaimed") @@ -782,31 +881,6 @@ func TestParseRegistryHostPort_RejectsMalformedExplicitPort(t *testing.T) { assert.Equal(t, 443, port) } -// The network-checks ConfigMap was the one object a run created with no -// cleanup path, so it accumulated in the cluster forever. -func TestSweepClusterValidatorConfig_DeletesOwnAndSparesOperators(t *testing.T) { - managed := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigRunName("runid"), Namespace: clusterValidatorNamespace, - Labels: clusterValidatorLabels(), - }} - client := fake.NewSimpleClientset(managed) - sweepClusterValidatorConfig(context.Background(), client, "runid") - _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( - context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) - assert.True(t, apierrors.IsNotFound(err), "our own ConfigMap must be reclaimed") - - // Same name, operator-owned: the name is a constant they could also use. - operator := &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{ - Name: clusterValidatorConfigRunName("runid"), Namespace: clusterValidatorNamespace, - Labels: map[string]string{"owner": "operator"}, - }} - client2 := fake.NewSimpleClientset(operator) - sweepClusterValidatorConfig(context.Background(), client2, "runid") - _, err = client2.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( - context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) - assert.NoError(t, err, "an unmanaged ConfigMap with the same name must survive") -} - // --no-cleanup must preserve the whole run, not just the Job: an operator who // keeps the Job and re-runs the pod needs its pull secret to still exist. A // later run, with or without --no-cleanup, leaves an earlier kept run alone. @@ -844,7 +918,7 @@ func TestRunClusterValidator_NoCleanupKeepsPullSecretAndPriorJob(t *testing.T) { // Either way the wait burns its full budget and the run leaks. func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { job := buildClusterValidatorJob("j", "nvcr.io/x/validator:1", "", - clusterValidatorControlPlaneRole, "runid", false, nil) + clusterValidatorControlPlaneRole, "runid", clusterValidatorNoConfigName, false, nil) spec := job.Spec.Template.Spec require.NotNil(t, spec.SecurityContext, "pod security context is required under restricted") @@ -880,7 +954,7 @@ func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { // suppressed on that path by design, so the deadline is the only reclaim. func TestBuildClusterValidatorJob_SetsActiveDeadline(t *testing.T) { job := buildClusterValidatorJob("j", "nvcr.io/x/validator:1", "", - clusterValidatorControlPlaneRole, "runid", false, nil) + clusterValidatorControlPlaneRole, "runid", clusterValidatorNoConfigName, false, nil) require.NotNil(t, job.Spec.ActiveDeadlineSeconds, "a Job with no deadline cannot terminate itself on a pull failure") assert.Greater(t, *job.Spec.ActiveDeadlineSeconds, int64(clusterValidatorTimeout/time.Second), @@ -899,7 +973,7 @@ func TestSweepOrphanClusterValidatorRBAC_ReclaimsStalePullSecret(t *testing.T) { CreationTimestamp: old, }} client := fake.NewSimpleClientset(stale) - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") _, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( context.Background(), stale.Name, metav1.GetOptions{}) @@ -922,7 +996,7 @@ func TestSweepOrphanClusterValidatorRBAC_SparesFreshAndUnmanagedSecrets(t *testi CreationTimestamp: metav1.NewTime(time.Now().Add(-time.Hour)), }} client := fake.NewSimpleClientset(fresh, operator) - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") for _, name := range []string{fresh.Name, operator.Name} { _, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( @@ -966,7 +1040,7 @@ func TestSweepOrphanClusterValidatorRBAC_SparesPreservedObjects(t *testing.T) { Namespace: clusterValidatorNamespace, Labels: labels, CreationTimestamp: old, }}, ) - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") _, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorName+"-control-plane-abc", metav1.GetOptions{}) @@ -981,7 +1055,7 @@ func TestSweepOrphanClusterValidatorRBAC_SparesPreservedObjects(t *testing.T) { func TestEnsureClusterValidatorRBAC_LabelsPreservedRun(t *testing.T) { client := fake.NewSimpleClientset() require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, - clusterValidatorControlPlaneRole, "abc123", true)) + clusterValidatorControlPlaneRole, "abc123", true, nil)) cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorRBACName(clusterValidatorControlPlaneRole, "abc123"), metav1.GetOptions{}) @@ -993,7 +1067,7 @@ func TestEnsureClusterValidatorRBAC_LabelsPreservedRun(t *testing.T) { func TestEnsureClusterValidatorRBAC_NoPreserveLabelByDefault(t *testing.T) { client := fake.NewSimpleClientset() require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, - clusterValidatorControlPlaneRole, "abc123", false)) + clusterValidatorControlPlaneRole, "abc123", false, nil)) cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), clusterValidatorRBACName(clusterValidatorControlPlaneRole, "abc123"), metav1.GetOptions{}) @@ -1015,7 +1089,7 @@ func TestSweepOrphanClusterValidatorRBAC_ReclaimsStaleConfigMap(t *testing.T) { CreationTimestamp: old, }} client := fake.NewSimpleClientset(stale) - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( context.Background(), stale.Name, metav1.GetOptions{}) @@ -1037,7 +1111,7 @@ func TestSweepOrphanClusterValidatorRBAC_SparesFreshAndUnmanagedConfigMaps(t *te CreationTimestamp: metav1.NewTime(time.Now().Add(-time.Hour)), }} client := fake.NewSimpleClientset(fresh, operator) - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") for _, name := range []string{fresh.Name, operator.Name} { _, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( @@ -1052,7 +1126,8 @@ func TestSweepOrphanClusterValidatorRBAC_SparesFreshAndUnmanagedConfigMaps(t *te // skips the configurable reachability and enforcement checks. func TestEnsureClusterValidatorConfig_MarksPreservedRun(t *testing.T) { client := fake.NewSimpleClientset() - require.NoError(t, ensureClusterValidatorConfig(context.Background(), client, nil, "runid", true)) + require.NoError(t, ensureClusterValidatorConfig(context.Background(), client, nil, + clusterValidatorControlPlaneRole, "runid", true, nil)) cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) @@ -1064,7 +1139,7 @@ func TestEnsureClusterValidatorConfig_MarksPreservedRun(t *testing.T) { _, err = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Update( context.Background(), cm, metav1.UpdateOptions{}) require.NoError(t, err) - sweepOrphanClusterValidatorRBAC(context.Background(), client, orphanValidatorRBACTTL) + sweepOrphanClusterValidatorRBAC(context.Background(), client, time.Now(), orphanValidatorRBACTTL, "", "") _, err = client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) @@ -1073,7 +1148,8 @@ func TestEnsureClusterValidatorConfig_MarksPreservedRun(t *testing.T) { func TestEnsureClusterValidatorConfig_NoPreserveMarkerByDefault(t *testing.T) { client := fake.NewSimpleClientset() - require.NoError(t, ensureClusterValidatorConfig(context.Background(), client, nil, "runid", false)) + require.NoError(t, ensureClusterValidatorConfig(context.Background(), client, nil, + clusterValidatorControlPlaneRole, "runid", false, nil)) cm, err := client.CoreV1().ConfigMaps(clusterValidatorNamespace).Get( context.Background(), clusterValidatorConfigRunName("runid"), metav1.GetOptions{}) @@ -1087,11 +1163,11 @@ func TestEnsureClusterValidatorConfig_NoPreserveMarkerByDefault(t *testing.T) { // the same role deletes it, while its ConfigMap, RBAC and pull secret survive. func TestBuildClusterValidatorJob_MarksPreservedRun(t *testing.T) { kept := buildClusterValidatorJob("j", "nvcr.io/x/v:1", "", - clusterValidatorControlPlaneRole, "runid", true, nil) + clusterValidatorControlPlaneRole, "runid", clusterValidatorNoConfigName, true, nil) assert.Equal(t, "true", kept.Labels[clusterValidatorPreserveLabel]) ordinary := buildClusterValidatorJob("j", "nvcr.io/x/v:1", "", - clusterValidatorControlPlaneRole, "runid", false, nil) + clusterValidatorControlPlaneRole, "runid", clusterValidatorNoConfigName, false, nil) assert.NotContains(t, ordinary.Labels, clusterValidatorPreserveLabel, "an ordinary run must stay sweepable") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index 86f35f67ee..dc910b93ff 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -24,6 +24,7 @@ import ( "slices" "strconv" "strings" + "sync" "time" "golang.org/x/sync/errgroup" @@ -31,6 +32,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes" ) @@ -47,6 +49,13 @@ const ( // inotifyProbeContainer is the container name inside the probe pod. inotifyProbeContainer = "probe" + // inotifyProbeAppLabel names the probe's pods apart from the validator's. + inotifyProbeAppLabel = "nvcf-inotify-probe" + + // inotifyProbeRole is the role the probe's pods are labelled with: only + // the compute-plane checks run it. + inotifyProbeRole = clusterValidatorComputePlaneRole + // inotifyProbeShellCmd reads both sysctls. Each cat runs independently // so a missing /proc entry on one path doesn't drop the other value; // the surviving integer reaches the parser, which errors clearly with @@ -159,6 +168,15 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin if len(nodes.Items) == 0 { return nil, nil } + runID, err := newValidatorRunID() + if err != nil { + return nil, err + } + run := &probeRun{id: runID} + // Each pod is deleted once its node is probed, but a Create the budget or + // an interrupt cut off may still have been applied, and then no per-node + // delete runs. This reclaims those by the run's label on every return. + defer run.reclaim(client) results := make([]NodeInotifyLimits, len(nodes.Items)) eg, egCtx := errgroup.WithContext(ctx) eg.SetLimit(probeConcurrency) @@ -169,7 +187,7 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin } i, nodeName := i, n.Name eg.Go(func() error { - results[i] = probeOneNode(egCtx, client, nodeName, image) + results[i] = probeOneNode(egCtx, client, run, nodeName, image) // Per-node failures are encoded in results[i].Err; never // propagate them as the errgroup's error, since that would // cancel sibling probes still in flight. @@ -186,7 +204,9 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin // probeOneNode creates, waits on, and tears down a single probe pod, returning // the parsed limits or a per-node error. -func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName, image string) NodeInotifyLimits { +func probeOneNode( + ctx context.Context, client kubernetes.Interface, run *probeRun, nodeName, image string, +) NodeInotifyLimits { res := NodeInotifyLimits{NodeName: nodeName} if ctx.Err() != nil { res.Err = fmt.Errorf("not probed: the inotify probe's %s budget ran out", inotifyProbeBudget) @@ -196,13 +216,14 @@ func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName, im pctx, cancel := context.WithTimeout(ctx, perNodePodTimeout) defer cancel() - pod, err := client.CoreV1().Pods(inotifyProbeNamespace).Create(pctx, buildInotifyProbePod(nodeName, image), + pod, err := client.CoreV1().Pods(inotifyProbeNamespace).Create(pctx, buildInotifyProbePod(nodeName, run.id, image), metav1.CreateOptions{}) if err != nil { res.Err = fmt.Errorf("create probe pod on node %s: %w", nodeName, err) return res } - defer cleanupProbePod(client, pod.Name) + run.created(pod) + defer cleanupProbePod(client, pod) if err := waitForPodTerminal(pctx, client, pod.Name); err != nil { res.Err = fmt.Errorf("waiting for probe pod on node %s: %w", nodeName, err) @@ -225,13 +246,22 @@ func probeOneNode(ctx context.Context, client kubernetes.Interface, nodeName, im return res } +// inotifyProbeLabels are the labels on every probe pod of one run: the +// validator's managed labels under the probe's own name, the role, and the +// run ID. With an empty runID they select every run's probe pods. +func inotifyProbeLabels(runID string) map[string]string { + l := clusterValidatorRunLabels(inotifyProbeRole, runID, false) + l["app.kubernetes.io/name"] = inotifyProbeAppLabel + return l +} + // buildInotifyProbePod constructs a Pod that runs once on the named node and // prints the two inotify sysctls to stdout. The container is unprivileged // and runs in the default PID namespace: /proc/sys/fs/inotify/max_user_* // are kernel-wide sysctls and are world-readable through the host's procfs // via the read-only /host hostPath mount, so the container also runs as a // non-root user with no capabilities. An empty image selects the default. -func buildInotifyProbePod(nodeName, image string) *corev1.Pod { +func buildInotifyProbePod(nodeName, runID, image string) *corev1.Pod { if image == "" { image = inotifyProbeImage } @@ -240,12 +270,9 @@ func buildInotifyProbePod(nodeName, image string) *corev1.Pod { runAsNonRoot, readOnlyRoot, allowPrivEsc := true, true, false return &corev1.Pod{ ObjectMeta: metav1.ObjectMeta{ - GenerateName: "nvcf-inotify-probe-", + GenerateName: inotifyProbeAppLabel + "-", Namespace: inotifyProbeNamespace, - Labels: map[string]string{ - "app.kubernetes.io/name": "nvcf-inotify-probe", - "app.kubernetes.io/managed-by": "nvcf-cli", - }, + Labels: inotifyProbeLabels(runID), }, Spec: corev1.PodSpec{ NodeName: nodeName, @@ -362,23 +389,76 @@ func fetchPodLogs(ctx context.Context, client kubernetes.Interface, podName stri return string(b), nil } -// cleanupProbePod best-effort deletes the probe pod. Uses a background -// context so the pod is cleaned up even when the caller's context was -// canceled mid-probe. -func cleanupProbePod(client kubernetes.Interface, podName string) { - delCtx, cancel := context.WithTimeout(context.Background(), 30*time.Second) +// cleanupProbePod best-effort deletes the probe pod this run created, pinned +// to its UID. Uses a background context so the pod is cleaned up even when +// the caller's context was canceled mid-probe. +func cleanupProbePod(client kubernetes.Interface, pod *corev1.Pod) { + delCtx, cancel := context.WithTimeout(context.Background(), validatorCleanupTimeout) defer cancel() + deleteProbePod(delCtx, client, pod) +} + +// deleteProbePod deletes one probe pod at once, pinned to its UID. Errors are +// swallowed: the caller already has its result, and a leaked probe pod is +// preferable to an error that masks the real check outcome. +func deleteProbePod(ctx context.Context, client kubernetes.Interface, pod *corev1.Pod) { + opts := deleteExactly(pod) grace := podDeleteGrace - err := client.CoreV1().Pods(inotifyProbeNamespace).Delete(delCtx, podName, metav1.DeleteOptions{ - GracePeriodSeconds: &grace, - }) + opts.GracePeriodSeconds = &grace + err := client.CoreV1().Pods(inotifyProbeNamespace).Delete(ctx, pod.Name, opts) if err != nil && !apierrors.IsNotFound(err) { - // Swallow; the caller already has its result and a leaked probe pod - // is preferable to an error that masks the real check outcome. _ = err } } +// probeRun is one probe's identity and what it learned of the apiserver's +// clock from the pods it created. +type probeRun struct { + id string + mu sync.Mutex + // serverNow is the latest creationTimestamp among this run's pods. + serverNow time.Time +} + +func (r *probeRun) created(pod *corev1.Pod) { + r.mu.Lock() + defer r.mu.Unlock() + if ts := pod.CreationTimestamp.Time; ts.After(r.serverNow) { + r.serverNow = ts + } +} + +// reclaim deletes, on a fresh bounded context, every probe pod still carrying +// this run's ID, and every other run's probe pod older than +// orphanValidatorRBACTTL on the apiserver's clock: a run killed outright, or +// interrupted twice, leaves pods that mount the host's root and tolerate +// every taint, and nothing else removes them. Another run's younger pods may +// belong to a probe still in progress, so they are kept. +func (r *probeRun) reclaim(client kubernetes.Interface) { + ctx, cancel := context.WithTimeout(context.Background(), validatorCleanupTimeout) + defer cancel() + pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(ctx, metav1.ListOptions{ + LabelSelector: labels.SelectorFromSet(inotifyProbeLabels("")).String(), + }) + if err != nil { + return + } + r.mu.Lock() + now := r.serverNow + r.mu.Unlock() + for i := range pods.Items { + pod := &pods.Items[i] + if !strings.HasPrefix(pod.Name, inotifyProbeAppLabel+"-") { + continue + } + mine := pod.Labels[clusterValidatorRunLabel] == r.id + stale := !now.IsZero() && pod.CreationTimestamp.Time.Before(now.Add(-orphanValidatorRBACTTL)) + if mine || stale { + deleteProbePod(ctx, client, pod) + } + } +} + // parseInotifyOutput extracts max_user_instances then max_user_watches from // the two-line probe-container stdout. Tolerates leading/trailing whitespace // and ignores any non-numeric lines so the parse is robust to stray container diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index 581efd2a0e..882e758e7b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -31,6 +31,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes/fake" ktesting "k8s.io/client-go/testing" ) @@ -119,10 +120,16 @@ func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { } func TestBuildInotifyProbePodShape(t *testing.T) { - pod := buildInotifyProbePod("node-x", "") + pod := buildInotifyProbePod("node-x", "run1", "") assert.Equal(t, inotifyProbeNamespace, pod.Namespace) assert.Equal(t, "nvcf-inotify-probe-", pod.GenerateName, "GenerateName lets the API server assign a unique suffix") + // The run and role labels let a run reclaim exactly its own pods, and the + // managed-by value is this CLI's, not the one released CLIs delete by. + assert.Equal(t, "run1", pod.Labels[clusterValidatorRunLabel]) + assert.Equal(t, clusterValidatorComputePlaneRole, pod.Labels[clusterValidatorRoleLabel]) + assert.Equal(t, clusterValidatorManagedBy, pod.Labels["app.kubernetes.io/managed-by"]) + assert.Equal(t, inotifyProbeAppLabel, pod.Labels["app.kubernetes.io/name"]) assert.Empty(t, pod.Name, "explicit Name conflicts with GenerateName") assert.Equal(t, "node-x", pod.Spec.NodeName, "must pin to the target node") assert.False(t, pod.Spec.HostPID, @@ -161,6 +168,87 @@ func TestBuildInotifyProbePodShape(t *testing.T) { // The configured probe image replaces the Docker Hub default, so a cluster // that pulls from a mirror can run the probe. func TestBuildInotifyProbePod_UsesTheConfiguredImage(t *testing.T) { - pod := buildInotifyProbePod("node-x", "mirror.example/busybox:1.36") + pod := buildInotifyProbePod("node-x", "run1", "mirror.example/busybox:1.36") assert.Equal(t, "mirror.example/busybox:1.36", pod.Spec.Containers[0].Image) } + +// probePodsClient serves one node whose probe pods finish at once with the +// given output. Creates get a name, a UID and a creationTimestamp on the +// apiserver's clock, which here runs serverSkew from the local one. +func probePodsClient(t *testing.T, serverSkew time.Duration, objs ...runtime.Object) *fake.Clientset { + t.Helper() + client := fake.NewSimpleClientset(append([]runtime.Object{fakeNode("node-a")}, objs...)...) + var n atomic.Int32 + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod) + pod.Name = fmt.Sprintf("%s%d", pod.GenerateName, n.Add(1)) + pod.UID = types.UID("uid-" + pod.Name) + pod.CreationTimestamp = metav1.NewTime(time.Now().Add(serverSkew)) + pod.Status.Phase = corev1.PodSucceeded + return false, nil, nil + }) + return client +} + +// probePod is a probe pod of another run, created age ago on a clock skewed +// by serverSkew. +func probePod(name, runID string, serverSkew, age time.Duration) *corev1.Pod { + return &corev1.Pod{ObjectMeta: metav1.ObjectMeta{ + Name: name, Namespace: inotifyProbeNamespace, Labels: inotifyProbeLabels(runID), + CreationTimestamp: metav1.NewTime(time.Now().Add(serverSkew - age)), + }} +} + +// A probe deletes exactly its own pods, by UID, and leaves an overlapping +// probe's pods alone. Another run's pod past the orphan TTL on the +// apiserver's clock is reclaimed, whatever the local clock says: here the +// apiserver runs ten hours behind, so by the local clock every pod is stale. +func TestProbeAllNodes_ReclaimsOnlyItsOwnAndStalePods(t *testing.T) { + const skew = -10 * time.Hour + live := probePod("nvcf-inotify-probe-live", "otherrun", skew, orphanValidatorRBACTTL-time.Minute) + stale := probePod("nvcf-inotify-probe-stale", "deadrun", skew, orphanValidatorRBACTTL+time.Minute) + // Probe labels on a name the probe never generates. + foreign := probePod("operator-pod", "deadrun", skew, 2*orphanValidatorRBACTTL) + client := probePodsClient(t, skew, live, stale, foreign) + + _, err := probeAllNodes(context.Background(), client, "") + require.NoError(t, err) + + pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + var left []string + for _, p := range pods.Items { + left = append(left, p.Name) + } + assert.ElementsMatch(t, []string{live.Name, foreign.Name}, left, + "the probe's own pod and the stale orphan go; a live probe's pod and a foreign one stay") + for _, a := range client.Actions() { + d, ok := a.(ktesting.DeleteActionImpl) + if !ok || d.GetResource().Resource != "pods" { + continue + } + require.NotNil(t, d.DeleteOptions.Preconditions, d.Name) + require.NotNil(t, d.DeleteOptions.Preconditions.UID, d.Name) + assert.Nil(t, d.DeleteOptions.Preconditions.ResourceVersion, d.Name) + } +} + +// A Create the budget or an interrupt cut off may still have been applied. +// No per-node delete runs for it, so the probe reclaims it by its run label. +func TestProbeAllNodes_ReclaimsAPodWhoseCreateErrored(t *testing.T) { + client := fake.NewSimpleClientset(fakeNode("node-a")) + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod).DeepCopy() + pod.Name = pod.GenerateName + "applied" + require.NoError(t, client.Tracker().Add(pod)) + return true, nil, context.DeadlineExceeded + }) + + results, err := probeAllNodes(context.Background(), client, "") + require.NoError(t, err) + require.Len(t, results, 1) + require.Error(t, results[0].Err) + pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + assert.Empty(t, pods.Items, "the applied pod mounts the host's root and must not be left behind") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go index 1d45900b8e..770a8e63c0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/miniapiserver_test.go @@ -152,6 +152,27 @@ func (m *miniAPIServer) serve(w http.ResponseWriter, r *http.Request) { m.mu.Lock() return } + // Preconditions are enforced as the apiserver does. Stored objects + // carry no resourceVersion, so a delete pinned to one conflicts, as a + // real one does whenever the object changed since it was read. + var opts struct { + Preconditions *struct { + UID *string `json:"uid"` + ResourceVersion *string `json:"resourceVersion"` + } `json:"preconditions"` + } + _ = json.NewDecoder(r.Body).Decode(&opts) + if obj, ok := m.objects[collection][name].(map[string]any); ok && opts.Preconditions != nil { + meta, _ := obj["metadata"].(map[string]any) + uid, _ := meta["uid"].(string) + if (opts.Preconditions.UID != nil && *opts.Preconditions.UID != uid) || + opts.Preconditions.ResourceVersion != nil { + w.WriteHeader(http.StatusConflict) + _, _ = io.WriteString(w, + `{"kind":"Status","apiVersion":"v1","status":"Failure","reason":"Conflict","code":409}`) + return + } + } m.deletes = append(m.deletes, collection+"/"+name) delete(m.objects[collection], name) if strings.HasSuffix(collection, "/jobs") { @@ -176,6 +197,7 @@ var listKinds = map[string]string{ "jobs": "JobList", "pods": "PodList", "secrets": "SecretList", "configmaps": "ConfigMapList", "serviceaccounts": "ServiceAccountList", "clusterroles": "ClusterRoleList", "clusterrolebindings": "ClusterRoleBindingList", "namespaces": "NamespaceList", + "roles": "RoleList", "rolebindings": "RoleBindingList", } // listAPIVersion is the group version in a collection path: "v1" under /api, @@ -194,7 +216,7 @@ func isNamedPath(path string) bool { parts := strings.Split(strings.Trim(path, "/"), "/") resources := map[string]bool{ "jobs": true, "pods": true, "secrets": true, "configmaps": true, "serviceaccounts": true, - "clusterroles": true, "clusterrolebindings": true, "namespaces": true, + "clusterroles": true, "clusterrolebindings": true, "namespaces": true, "roles": true, "rolebindings": true, } return len(parts) >= 2 && resources[parts[len(parts)-2]] } @@ -251,7 +273,8 @@ func TestRunClusterValidator_InterruptSendsCleanupOverTheWire(t *testing.T) { got := strings.Join(m.deleted(), " ") for _, want := range []string{ - "/jobs/", "/clusterrolebindings/", "/clusterroles/", "/serviceaccounts/", "/secrets/", "/configmaps/", + "/jobs/", "/clusterrolebindings/", "/clusterroles/", "/rolebindings/", "/roles/", "/serviceaccounts/", + "/secrets/", "/configmaps/", } { assert.Contains(t, got, want) } @@ -278,7 +301,8 @@ func TestRunClusterValidator_BudgetEndStopsTheJobAndKeepsTheTranscript(t *testin assert.Empty(t, res.JobName, "the Job is gone, so no hint may point at it") got := strings.Join(m.deleted(), " ") for _, want := range []string{ - "/jobs/", "/clusterrolebindings/", "/clusterroles/", "/serviceaccounts/", "/secrets/", "/configmaps/", + "/jobs/", "/clusterrolebindings/", "/clusterroles/", "/rolebindings/", "/roles/", "/serviceaccounts/", + "/secrets/", "/configmaps/", } { assert.Contains(t, got, want) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index a826bfe20b..4952c67663 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -953,7 +953,8 @@ func validatorRemovalCommand(kubeContext, runID string) string { fmt.Sprintf("%s get pods -n %s -l %s", kubectl, clusterValidatorNamespace, sel), fmt.Sprintf("%s delete -n %s job -l %s --cascade=foreground --wait", kubectl, clusterValidatorNamespace, sel), fmt.Sprintf("%s delete clusterrolebinding,clusterrole -l %s", kubectl, sel), - fmt.Sprintf("%s delete -n %s serviceaccount,secret,configmap -l %s", kubectl, clusterValidatorNamespace, sel), + fmt.Sprintf("%s delete -n %s rolebinding,role,serviceaccount,secret,configmap -l %s", kubectl, + clusterValidatorNamespace, sel), }, "; ") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 888da79292..6f441fc83c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -137,11 +137,15 @@ var ( // note says what the run copied or created, for the operator to see. err is // a copy or create that failed; read-side failures fall through to the next // layer. +// +// A Secret this run mints or mirrors is recorded in created, the only record +// its cleanup trusts. func resolveValidatorPullSecret( ctx context.Context, client kubernetes.Interface, provided, image, role, runID string, preserve bool, + created runObjects, ) (name, note string, err error) { if provided != "" { return provided, "", nil @@ -155,7 +159,8 @@ func resolveValidatorPullSecret( write := func(cfg []byte) error { wctx, cancel := context.WithTimeout(ctx, validatorPullSecretWriteTimeout) defer cancel() - return writeDockerConfigSecret(wctx, client, clusterValidatorNamespace, runName, role, runID, cfg, preserve) + return writeDockerConfigSecret(wctx, client, clusterValidatorNamespace, runName, role, runID, cfg, preserve, + created) } if src, cfg := findClusterPullSecret(ctx, client, registry, repo); src != nil { @@ -307,7 +312,8 @@ func buildDockerConfigJSON(registry, username, password string) ([]byte, error) }) } -// writeDockerConfigSecret creates the pull Secret this run will reference. +// writeDockerConfigSecret creates the pull Secret this run will reference from +// a .dockerconfigjson body, and records it in created. // // Create-only. The name carries this run's unguessable suffix, so nothing this // CLI created can already hold it and any collision is another object. @@ -315,19 +321,31 @@ func buildDockerConfigJSON(registry, username, password string) ([]byte, error) // which label-based ownership cannot prevent: the managed labels are three // public constants anyone can copy onto a Secret they pre-create under a // predictable name. +// +// The Secret is the legacy kubernetes.io/dockercfg type, which the kubelet +// pulls with just as well. Released CLIs adopt any kubernetes.io/dockerconfigjson +// Secret in the namespace whose registry matches, whatever its labels, so with +// that type they would reuse this run's NGC key and lose it mid-pull when this +// run's cleanup deletes it. func writeDockerConfigSecret( - ctx context.Context, client kubernetes.Interface, namespace, name, role, runID string, dockerConfig []byte, preserve bool, + ctx context.Context, client kubernetes.Interface, namespace, name, role, runID string, dockerConfig []byte, + preserve bool, created runObjects, ) error { + dockercfg, err := dockerCfgFromConfigJSON(dockerConfig) + if err != nil { + return fmt.Errorf("convert docker config: %w", err) + } secret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: namespace, Labels: clusterValidatorRunLabels(role, runID, preserve), }, - Type: corev1.SecretTypeDockerConfigJson, - Data: map[string][]byte{corev1.DockerConfigJsonKey: dockerConfig}, + Type: corev1.SecretTypeDockercfg, + Data: map[string][]byte{corev1.DockerConfigKey: dockercfg}, } - if _, err := client.CoreV1().Secrets(namespace).Create(ctx, secret, metav1.CreateOptions{}); err != nil { + got, err := client.CoreV1().Secrets(namespace).Create(ctx, secret, metav1.CreateOptions{}) + if err != nil { if apierrors.IsAlreadyExists(err) { return fmt.Errorf( "refusing to overwrite existing secret %s/%s: this run generated that name, so "+ @@ -337,9 +355,25 @@ func writeDockerConfigSecret( } return fmt.Errorf("create: %w", err) } + created.add(kindSecret, got) return nil } +// dockerCfgFromConfigJSON turns a .dockerconfigjson body into a .dockercfg +// one: the same per-registry entries without the "auths" wrapper. +func dockerCfgFromConfigJSON(cfg []byte) ([]byte, error) { + var doc struct { + Auths map[string]json.RawMessage `json:"auths"` + } + if err := json.Unmarshal(cfg, &doc); err != nil { + return nil, err + } + if len(doc.Auths) == 0 { + return nil, fmt.Errorf("no auths entries") + } + return json.Marshal(doc.Auths) +} + // isManagedByValidatorCLI reports whether a Secret carries the labels this CLI // stamps on the ones it creates. Necessary but not sufficient for ownership: // the labels are three public constants anyone can copy onto a Secret they diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index b54e8733d4..7b06d5ab13 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -62,7 +62,7 @@ func mustDockerConfigJSON(t *testing.T, registry, user, pass string) []byte { func resolvePullSecret(t *testing.T, client *fake.Clientset, image string) (string, string, error) { t.Helper() return resolveValidatorPullSecret(context.Background(), client, "", image, - clusterValidatorControlPlaneRole, "runid", false) + clusterValidatorControlPlaneRole, "runid", false, nil) } func dockerConfigSecret(name, namespace string, cfg []byte) *corev1.Secret { @@ -73,14 +73,15 @@ func dockerConfigSecret(name, namespace string, cfg []byte) *corev1.Secret { } } -func authsKeys(t *testing.T, cfg []byte) []string { +// mintedKeys returns the registries a Secret this CLI minted or copied, a +// kubernetes.io/dockercfg one, carries credentials for. +func mintedKeys(t *testing.T, s *corev1.Secret) []string { t.Helper() - var doc struct { - Auths map[string]json.RawMessage `json:"auths"` - } - require.NoError(t, json.Unmarshal(cfg, &doc)) + require.Equal(t, corev1.SecretTypeDockercfg, s.Type) + var entries map[string]json.RawMessage + require.NoError(t, json.Unmarshal(s.Data[corev1.DockerConfigKey], &entries)) var keys []string - for k := range doc.Auths { + for k := range entries { keys = append(keys, k) } return keys @@ -167,7 +168,7 @@ func TestResolveValidatorPullSecret_CopiesOnlyTheRegistrysEntry(t *testing.T) { copied, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) require.NoError(t, err) - assert.Equal(t, []string{"nvcr.io"}, authsKeys(t, copied.Data[corev1.DockerConfigJsonKey]), + assert.Equal(t, []string{"nvcr.io"}, mintedKeys(t, copied), "no other registry's credential is copied") src, err := client.CoreV1().Secrets("vault-system").Get(context.Background(), "regcred", metav1.GetOptions{}) require.NoError(t, err) @@ -230,7 +231,7 @@ func TestResolveValidatorPullSecret_MatchesSchemePrefixedKeys(t *testing.T) { func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() got, note, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", - "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false) + "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false, nil) require.NoError(t, err) assert.Equal(t, "custom-secret", got, "explicit override always wins") assert.Empty(t, note) @@ -245,11 +246,11 @@ func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { // NGC key for nvcr.io, a docker login for any other registry. func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T) { runName := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") - minted := func(t *testing.T, client *fake.Clientset) []byte { + minted := func(t *testing.T, client *fake.Clientset) *corev1.Secret { t.Helper() s, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) require.NoError(t, err) - return s.Data[corev1.DockerConfigJsonKey] + return s } t.Setenv("NVCF_NGC_API_KEY", "nvapi-fallback") @@ -258,7 +259,7 @@ func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T require.NoError(t, err) assert.Equal(t, runName, name) assert.Contains(t, note, "from NVCF_NGC_API_KEY") - assert.Equal(t, []string{"nvcr.io"}, authsKeys(t, minted(t, client))) + assert.Equal(t, []string{"nvcr.io"}, mintedKeys(t, minted(t, client))) dockerHome(t, inlineDockerConfig(t, "stg.nvcr.io", "robot", "pw", "")) client = fake.NewSimpleClientset() @@ -266,9 +267,10 @@ func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T require.NoError(t, err) assert.Equal(t, runName, name, "a docker login reaches the Job the row approved it for") assert.Contains(t, note, "docker config") - cfg := minted(t, client) - assert.NotContains(t, string(cfg), "nvapi-fallback", "the NGC key never goes to another registry") - assert.Equal(t, []string{"stg.nvcr.io"}, authsKeys(t, cfg)) + secret := minted(t, client) + assert.NotContains(t, string(secret.Data[corev1.DockerConfigKey]), "nvapi-fallback", + "the NGC key never goes to another registry") + assert.Equal(t, []string{"stg.nvcr.io"}, mintedKeys(t, secret)) } // The NGC key is minted for nvcr.io only. Another registry, staging NGC @@ -306,40 +308,72 @@ func TestResolveValidatorPullSecret_ReportsARefusedCreate(t *testing.T) { } // ModeSplit runs both validators concurrently against contexts that can resolve -// to the same cluster. A Secret cannot be co-owned, so each role needs its own: -// with a shared name the role that finishes first deletes it while the other -// Job is still pulling, which the kubelet reports as -// FailedToRetrieveImagePullSecret. -// -// State-assertable now that the sweep lists and deletes individually; the fake -// clientset implements DeleteCollection as a no-op. -func TestManagedPullSecret_IsScopedPerRole(t *testing.T) { +// to the same cluster, and runs of one role can overlap. A Secret cannot be +// co-owned, so each role and each run needs its own: with a shared name the +// run that finishes first deletes it while another Job is still pulling, which +// the kubelet reports as FailedToRetrieveImagePullSecret. One run's sweep +// removes its own Secret and leaves the other three. +func TestManagedPullSecret_IsScopedPerRoleAndRun(t *testing.T) { ctx := context.Background() - cpName := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") - gpuName := validatorPullSecretRoleName("compute-plane") - require.NotEqual(t, cpName, gpuName, "each role needs its own managed pull secret") - cfg := dockerConfigBlob(t, "private.registry.test", "user", "pass") client := fake.NewSimpleClientset() - require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - cpName, clusterValidatorControlPlaneRole, "run1", cfg, false)) - require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - gpuName, "compute-plane", "run1", cfg, false)) - // Our labels, but not a name we generate: must survive. - require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - "operator-owned-secret", clusterValidatorControlPlaneRole, "run1", cfg, false)) + names := map[string]bool{} + ledgers := map[string]runObjects{} + for _, role := range []string{clusterValidatorControlPlaneRole, clusterValidatorComputePlaneRole} { + for _, run := range []string{"run1", "run2"} { + name := validatorPullSecretRunName(role, run) + require.False(t, names[name], "%s/%s reuses %s", role, run, name) + names[name] = true + ledgers[role+"/"+run] = runObjects{} + require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + name, role, run, cfg, false, ledgers[role+"/"+run])) + } + } - sweepManagedPullSecrets(ctx, client, clusterValidatorControlPlaneRole, "runid") + deleteCreated(ctx, client, ledgers[clusterValidatorControlPlaneRole+"/run1"], kindSecret) secrets := client.CoreV1().Secrets(clusterValidatorNamespace) - _, err := secrets.Get(ctx, cpName, metav1.GetOptions{}) - assert.True(t, apierrors.IsNotFound(err), "this role's managed secret must be swept") + for name := range names { + _, err := secrets.Get(ctx, name, metav1.GetOptions{}) + if name == validatorPullSecretRunName(clusterValidatorControlPlaneRole, "run1") { + assert.True(t, apierrors.IsNotFound(err), "the run's own Secret is swept") + continue + } + assert.NoError(t, err, "%s belongs to another role or run and must survive", name) + } +} + +// The minted Secret is the legacy kubernetes.io/dockercfg type. A released +// CLI adopts any kubernetes.io/dockerconfigjson Secret in the namespace whose +// registry matches, labels or not, so it would reuse this run's NGC key and +// then lose it mid-pull when this run's cleanup deletes it. +func TestWriteDockerConfigSecret_IsHiddenFromReleasedScans(t *testing.T) { + ctx := context.Background() + client := fake.NewSimpleClientset() + cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") + name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "run1") + require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, + name, clusterValidatorControlPlaneRole, "run1", cfg, false, nil)) - _, err = secrets.Get(ctx, gpuName, metav1.GetOptions{}) - assert.NoError(t, err, "the other role's secret must survive") + // What a released CLI's scan matches on. + list, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, metav1.ListOptions{}) + require.NoError(t, err) + for _, s := range list.Items { + _, hasRegistry := filterDockerConfig(s.Data[corev1.DockerConfigJsonKey], "nvcr.io", "") + adoptable := s.Type == corev1.SecretTypeDockerConfigJson && hasRegistry + assert.False(t, adoptable, "%s must not look like a dockerconfigjson pull secret", s.Name) + } - _, err = secrets.Get(ctx, "operator-owned-secret", metav1.GetOptions{}) - assert.NoError(t, err, "matching labels alone must not authorize deleting someone else's secret") + got, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, name, metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, corev1.SecretTypeDockercfg, got.Type) + var entries map[string]struct { + Username string `json:"username"` + Password string `json:"password"` + } + require.NoError(t, json.Unmarshal(got.Data[corev1.DockerConfigKey], &entries)) + assert.Equal(t, "$oauthtoken", entries["nvcr.io"].Username, "the kubelet reads the registry's entry") + assert.Equal(t, "key", entries["nvcr.io"].Password) } // The managed labels a created secret carries must satisfy the sweep selector @@ -350,7 +384,7 @@ func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { cfg := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "key") name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") require.NoError(t, writeDockerConfigSecret(ctx, client, clusterValidatorNamespace, - name, clusterValidatorControlPlaneRole, "run1", cfg, false)) + name, clusterValidatorControlPlaneRole, "run1", cfg, false, nil)) own, err := client.CoreV1().Secrets(clusterValidatorNamespace).List(ctx, metav1.ListOptions{LabelSelector: validatorRoleSelector(clusterValidatorControlPlaneRole)}) @@ -368,7 +402,7 @@ func TestResolveValidatorPullSecret_RefusesNonNGCRegistry(t *testing.T) { client := fake.NewSimpleClientset() name, _, err := resolveValidatorPullSecret(context.Background(), client, "", - "ghcr.io/a/b:1", clusterValidatorControlPlaneRole, "runid", false) + "ghcr.io/a/b:1", clusterValidatorControlPlaneRole, "runid", false, nil) require.NoError(t, err) assert.Empty(t, name, "no secret may be minted for a non-NGC registry") @@ -395,7 +429,7 @@ func TestResolveValidatorPullSecret_DoesNotAdoptTheOtherRolesSecret(t *testing.T client := fake.NewSimpleClientset(otherRole) got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", - clusterValidatorComputePlaneRole, "runid", false) + clusterValidatorComputePlaneRole, "runid", false, nil) require.NoError(t, err) assert.NotEqual(t, otherRole.Name, got, "the compute role must not adopt the control-plane role's managed Secret") @@ -413,7 +447,7 @@ func TestResolveValidatorPullSecret_AdoptsOperatorSuppliedSecret(t *testing.T) { client := fake.NewSimpleClientset(operator) got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", - clusterValidatorComputePlaneRole, "runid", false) + clusterValidatorComputePlaneRole, "runid", false, nil) require.NoError(t, err) assert.Equal(t, "operator-pull", got) } @@ -437,7 +471,7 @@ func TestResolveValidatorPullSecret_NeverAdoptsAnotherRunsSecret(t *testing.T) { client := fake.NewSimpleClientset(secret("earlier", false), secret("kept", true)) got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", - clusterValidatorComputePlaneRole, "runid", false) + clusterValidatorComputePlaneRole, "runid", false, nil) require.NoError(t, err) assert.Empty(t, got, "a managed Secret from another run must not be adopted") } @@ -453,12 +487,12 @@ func TestWriteDockerConfigSecret_CreatesUnderTheRunScopedName(t *testing.T) { name := validatorPullSecretRunName(clusterValidatorControlPlaneRole, "runid") require.NoError(t, writeDockerConfigSecret(context.Background(), client, - clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, "run1", cfg, false)) + clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, "run1", cfg, false, nil)) s, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get( context.Background(), name, metav1.GetOptions{}) require.NoError(t, err) - assert.Equal(t, corev1.SecretTypeDockerConfigJson, s.Type) + assert.Equal(t, corev1.SecretTypeDockercfg, s.Type) assert.True(t, hasValidatorManagedLabels(s.Labels)) } @@ -478,7 +512,7 @@ func TestWriteDockerConfigSecret_RefusesAnyCollision(t *testing.T) { client := fake.NewSimpleClientset(squatter) err := writeDockerConfigSecret(context.Background(), client, - clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, "run1", cfg, false) + clusterValidatorNamespace, name, clusterValidatorControlPlaneRole, "run1", cfg, false, nil) require.Error(t, err, "a collision on an unguessable name must never be adopted") assert.Contains(t, err.Error(), "refusing to overwrite") @@ -487,7 +521,7 @@ func TestWriteDockerConfigSecret_RefusesAnyCollision(t *testing.T) { require.NoError(t, gerr) assert.Equal(t, corev1.SecretTypeOpaque, got.Type, "the other object must be untouched") assert.Contains(t, got.Data, "planted") - assert.NotContains(t, got.Data, corev1.DockerConfigJsonKey, + assert.NotContains(t, got.Data, corev1.DockerConfigKey, "the NGC credential must not be written into an object we do not own") } @@ -512,7 +546,7 @@ func TestResolveValidatorPullSecret_MintsUnderTheRunScopedName(t *testing.T) { client := fake.NewSimpleClientset() got, _, err := resolveValidatorPullSecret(context.Background(), client, "", - "nvcr.io/nvidia/cv:1", clusterValidatorControlPlaneRole, "a1b2c3d4e5", false) + "nvcr.io/nvidia/cv:1", clusterValidatorControlPlaneRole, "a1b2c3d4e5", false, nil) require.NoError(t, err) assert.Contains(t, got, "a1b2c3d4e5", "the minted secret must be run-scoped") } @@ -537,7 +571,7 @@ func TestResolveValidatorPullSecret_NeverAdoptsAReleasedCLIsSecret(t *testing.T) } client := fake.NewSimpleClientset(legacy) got, _, err := resolveValidatorPullSecret(context.Background(), client, "", "nvcr.io/nvidia/cv:1", - clusterValidatorComputePlaneRole, "runid", false) + clusterValidatorComputePlaneRole, "runid", false, nil) require.NoError(t, err) assert.Empty(t, got) } @@ -559,11 +593,11 @@ func TestPullSecret_PreservedRunIsMarkedOnBothPaths(t *testing.T) { "$oauthtoken", "key")}, }) _, _, err := resolveValidatorPullSecret(context.Background(), mirror, "", "private.registry.test/cv:1", - clusterValidatorControlPlaneRole, "runid", preserve) + clusterValidatorControlPlaneRole, "runid", preserve, nil) require.NoError(t, err) mint := fake.NewSimpleClientset() _, _, err = resolveValidatorPullSecret(context.Background(), mint, "", "nvcr.io/nvidia/cv:1", - clusterValidatorControlPlaneRole, "runid", preserve) + clusterValidatorControlPlaneRole, "runid", preserve, nil) require.NoError(t, err) for path, client := range map[string]*fake.Clientset{"mirror": mirror, "mint": mint} { s, err := client.CoreV1().Secrets("default").Get(context.Background(), runName, metav1.GetOptions{}) diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml new file mode 100644 index 0000000000..5903db411b --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml @@ -0,0 +1,68 @@ +# Kubernetes API calls the cluster-validator makes, per role, when nvcf-cli +# launches it: VALIDATOR_PREFLIGHT=true, the enforcement test disabled, and no +# networkPolicies pairs in its ConfigMap. Taken from the call sites in +# src/compute-plane-services/nvca/internal/clustervalidator, named under +# "callers". TestValidatorRBAC_MatchesTheValidatorsCalls holds the CLI's +# ClusterRole and Role to this list exactly, so a call added to the validator +# must be added here and granted, and a grant nothing calls must go. +# +# Discovery and the in-cluster /readyz dial, which sends no credentials, need +# no grant and are not listed. +compute-plane: + cluster: + - {group: "", resource: nodes, verbs: [list], + callers: [checkPrerequisites, checkControlPlaneHealth, detectManagedClusterProvider, checkGPUResources]} + - {group: "", resource: pods, verbs: [list], + callers: [checkControlPlaneHealth, checkNetworkPolicies, checkGPUOperator]} + - {group: "", resource: namespaces, verbs: [get], callers: [checkGPUOperator]} + - {group: "", resource: namespaces, verbs: [list, delete], callers: [sweepOrphanTestNamespaces]} + - {group: admissionregistration.k8s.io, resource: mutatingwebhookconfigurations, verbs: [list], + callers: [checkWebhookSupport]} + - {group: admissionregistration.k8s.io, resource: validatingwebhookconfigurations, verbs: [list], + callers: [checkWebhookSupport]} + - {group: networking.k8s.io, resource: networkpolicies, verbs: [list], callers: [checkNetworkPolicies]} + - {group: storage.k8s.io, resource: csidrivers, verbs: [get], callers: [checkSMBCSIDriver]} + - {group: apps, resource: deployments, verbs: [get, list], callers: [detectSMBVersion]} + nonResourceURLs: + - {url: /readyz, verbs: [get], callers: [probeReadyz]} + - {url: /version, verbs: [get], callers: [checkPrerequisites, checkControlPlaneHealth]} + namespaced: + - {group: "", resource: configmaps, verbs: [get], callers: [LoadNetworkCheckConfig]} +control-plane: + cluster: + - {group: "", resource: nodes, verbs: [list], + callers: [checkPrerequisites, checkControlPlaneHealth, detectManagedClusterProvider, checkNodeToNode]} + - {group: "", resource: pods, verbs: [list], + callers: [checkControlPlaneHealth, checkNetworkPolicies, checkEnvoyGateway, waitForProbePods, assess]} + - {group: "", resource: pods, verbs: [create, delete], callers: [runNodeToNodeChecker, checkNodeToNode]} + - {group: "", resource: namespaces, verbs: [get], callers: [checkEnvoyGateway]} + - {group: "", resource: namespaces, verbs: [list, delete], + callers: [sweepOrphanTestNamespaces, sweepOrphanN2NNamespaces, checkNodeToNode]} + - {group: "", resource: namespaces, verbs: [create], callers: [createNodeToNodeNamespace]} + - {group: "", resource: services, verbs: [list], callers: [checkExternalLoadBalancerFor]} + - {group: "", resource: events, verbs: [list], callers: [probeSandboxEvents]} + - {group: admissionregistration.k8s.io, resource: mutatingwebhookconfigurations, verbs: [list], + callers: [checkWebhookSupport]} + - {group: admissionregistration.k8s.io, resource: validatingwebhookconfigurations, verbs: [list], + callers: [checkWebhookSupport]} + - {group: networking.k8s.io, resource: networkpolicies, verbs: [list], callers: [checkNetworkPolicies]} + - {group: storage.k8s.io, resource: storageclasses, verbs: [list], callers: [checkStorageClass]} + - {group: apps, resource: daemonsets, verbs: [list], callers: [sweepLegacyOrphanN2NDaemonSets, listEnvoyProxies]} + - {group: apps, resource: daemonsets, verbs: [create, delete], + callers: [checkNodeToNode, sweepLegacyOrphanN2NDaemonSets]} + - {group: apps, resource: deployments, verbs: [list], callers: [scanNamespace, listEnvoyProxies]} + - {group: apps, resource: statefulsets, verbs: [list], callers: [scanNamespace]} + - {group: apps, resource: controllerrevisions, verbs: [get], callers: [updateRevisionCreated]} + - {group: gateway.networking.k8s.io, resource: gateways, verbs: [list], + callers: [nvcfGatewayClassesIn, nvcfGatewayImplementations]} + - {group: gateway.networking.k8s.io, resource: gatewayclasses, verbs: [list], + callers: [nvcfGatewayImplementations]} + - {group: gateway.networking.k8s.io, resource: httproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} + - {group: gateway.networking.k8s.io, resource: grpcroutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} + - {group: gateway.networking.k8s.io, resource: tcproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} + - {group: gateway.networking.k8s.io, resource: udproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} + nonResourceURLs: + - {url: /readyz, verbs: [get], callers: [probeReadyz]} + - {url: /version, verbs: [get], callers: [checkPrerequisites, checkControlPlaneHealth]} + namespaced: + - {group: "", resource: configmaps, verbs: [get], callers: [LoadNetworkCheckConfig]} diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_network_checks.golden.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_network_checks.golden.yaml new file mode 100644 index 0000000000..94d30ef44b --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_network_checks.golden.yaml @@ -0,0 +1,25 @@ +reachability: + endpoints: + - name: "nvcr.io" + host: "nvcr.io" + port: 443 + protocol: tcp+tls + critical: false + - name: "harbor.example.com:8443" + host: "harbor.example.com" + port: 8443 + protocol: tcp+tls + critical: false + - name: "[fd00::1]:5000" + host: "fd00::1" + port: 5000 + protocol: tcp+tls + critical: false +enforcement: + # Disabled for preflight. VALIDATOR_PREFLIGHT only suppresses the summary + # write, so enforcement would still run: it creates netpol-validation + # namespaces, server and client pods and NetworkPolicies, and pulls + # busybox from Docker Hub. Doing that on a virgin or air-gapped cluster, + # before anything is installed and with no flag to turn it off, is not + # something a read-only readiness check should do. + enabled: false diff --git a/src/clis/nvcf-cli/internal/selfhosted/validator_config_parity_test.go b/src/clis/nvcf-cli/internal/selfhosted/validator_config_parity_test.go new file mode 100644 index 0000000000..c027278a64 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/validator_config_parity_test.go @@ -0,0 +1,92 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "encoding/json" + "flag" + "os" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "sigs.k8s.io/yaml" +) + +var updateGolden = flag.Bool("update-golden", false, "rewrite golden files") + +// networkCheckConfig mirrors NetworkCheckConfig in the validator's +// internal/clustervalidator/config.go, the schema its LoadNetworkCheckConfig +// decodes the ConfigMap into. That decode is not strict: a misspelt key is +// dropped silently, and a renamed endpoints header would lose every +// reachability endpoint with no error. +type networkCheckConfig struct { + Reachability *struct { + Endpoints []struct { + Name string `json:"name"` + Host string `json:"host"` + Port int `json:"port"` + Protocol string `json:"protocol"` + URL string `json:"url,omitempty"` + Critical bool `json:"critical,omitempty"` + } `json:"endpoints"` + } `json:"reachability,omitempty"` + NetworkPolicies *struct { + Pairs []json.RawMessage `json:"pairs"` + } `json:"networkPolicies,omitempty"` + Enforcement *struct { + Enabled bool `json:"enabled"` + TestImage string `json:"testImage,omitempty"` + TimeoutSeconds int `json:"timeoutSeconds,omitempty"` + Critical bool `json:"critical,omitempty"` + } `json:"enforcement,omitempty"` +} + +// The ConfigMap the CLI writes decodes strictly into the validator's schema, +// with every endpoint passing the validator's own checks, every one of them +// non-critical, and enforcement disabled. The golden file is the fixture a +// validator-side test can load with LoadNetworkCheckConfig. +func TestBuildControlPlaneValidatorConfig_MatchesTheValidatorsSchema(t *testing.T) { + registries := []RegistryEntry{{Registry: "nvcr.io"}, {Registry: "harbor.example.com:8443"}, + {Registry: "[fd00::1]:5000"}} + got := buildControlPlaneValidatorConfig(registries) + + const golden = "testdata/validator_network_checks.golden.yaml" + if *updateGolden { + require.NoError(t, os.WriteFile(golden, []byte(got), 0o644)) + } + want, err := os.ReadFile(golden) + require.NoError(t, err) + assert.Equal(t, string(want), got, "golden mismatch (run with -update-golden to refresh): %s", golden) + + var cfg networkCheckConfig + require.NoError(t, yaml.UnmarshalStrict([]byte(got), &cfg), "every key must be one the validator reads") + require.NotNil(t, cfg.Reachability) + require.Len(t, cfg.Reachability.Endpoints, len(registries)) + for _, ep := range cfg.Reachability.Endpoints { + assert.NotEmpty(t, ep.Name) + assert.NotEmpty(t, ep.Host) + assert.True(t, ep.Port > 0 && ep.Port <= 65535, ep.Name) + assert.Contains(t, []string{"https", "tcp", "tcp+tls"}, strings.ToLower(ep.Protocol), ep.Name) + assert.False(t, ep.Critical, "an in-pod dial has no proxy, so a registry is never critical: %s", ep.Name) + } + require.NotNil(t, cfg.Enforcement) + assert.False(t, cfg.Enforcement.Enabled, "the CLI path never runs the enforcement test") + assert.Nil(t, cfg.NetworkPolicies) +} From 277e7664f0e10d95c0e7c158a8e7a2b77d2f58a3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:55:25 +0530 Subject: [PATCH 062/127] feat(nvcf-cli): forward NVCF_EXTERNAL_COMPONENTS to the validator Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 3 +- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 17 +- src/clis/nvcf-cli/cmd/main_test.go | 10 +- src/clis/nvcf-cli/cmd/root.go | 1 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 51 +- .../self_hosted_check_validatorenv_test.go | 27 +- .../agentskill/skilldata_generated.go | 4261 +++++++++-------- .../internal/selfhosted/registry_cred.go | 33 +- .../internal/selfhosted/registry_cred_test.go | 20 +- 9 files changed, 2269 insertions(+), 2154 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index c54919a65b..cdbf0a36e6 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -55,6 +55,7 @@ and deleting test namespaces an earlier validator run left behind. | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere skips the probe with a warning | - | | `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the node inotify probe and the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | +| `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components` | from the stack | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | @@ -90,7 +91,7 @@ environment variable or config key wins over the stack. |---|---|---| | NVCF Gateways | `ingress.gatewayApi.gateways`, gated the way the stack wires routes: none unless `ingress.gatewayApi.enabled` is `true`, `nats` only with `routes.nats.enabled`, `llmGrpc` and `llmQuic` only with `routes.llmWorker.enabled` | `NVCF_GATEWAY_NAMES`, as comma-separated `namespace/name` entries. A bare name is dropped by the validator. Set this way it skips the stack's gates | | Envoy Gateway namespace | `ingress.gatewayApi.controllerNamespace` | `NVCF_ENVOY_GATEWAY_NAMESPACE` | -| External components | `nats`, `openbao` or `cassandra` whose `enabled` is not `true` | `NVCF_EXTERNAL_COMPONENTS` | +| External components | `nats`, `openbao` or `cassandra` whose `enabled` is set and is not `true` | `--cluster-validator-external-components`, or `NVCF_EXTERNAL_COMPONENTS` | | OpenBao namespace | - | `NVCF_OPENBAO_NAMESPACE` | | Overlay probe image | - | `--cluster-validator-probe-image`, or `NVCF_N2N_PROBE_IMAGE` | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 81b8e70727..37deb44ec3 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -187,8 +187,8 @@ api_keys_owner_id: svc@nvcf-api.local # - harbor.example.com:443 # - ghcr.io:443 -# Image for the control-plane validator's node-to-node overlay probe, which -# needs sh and a busybox-style nc. Defaults to busybox:1.36 from Docker Hub. +# Image for the node inotify probe and the control-plane validator's +# node-to-node overlay probe, which needs sh and a busybox-style nc. Defaults to busybox:1.36 from Docker Hub. # Set a mirror for air-gapped clusters. The probe pods get no imagePullSecrets, # so the image must be pullable anonymously or through node-level registry # credentials. @@ -210,6 +210,19 @@ api_keys_owner_id: svc@nvcf-api.local # cluster_validator_tolerations: # - dedicated=infra:NoSchedule +# Stack dependencies that run outside the stack, or not at all, so the +# validator does not look for them in the cluster: a subset of nats, openbao +# and cassandra. When unset, NVCF_EXTERNAL_COMPONENTS is used, then the +# components whose .enabled the stack's environment file sets to +# anything but true. +# +# Config key: cluster_validator_external_components (list) +# Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS (comma-separated) +# Command-line flag: --cluster-validator-external-components +# +# cluster_validator_external_components: +# - cassandra + # ============================================================================== # General Settings # ============================================================================== diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 2712fa4661..72ca3e1937 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -154,6 +154,7 @@ func resetCheckFlags(t *testing.T) { checkClusterValidatorRegistries = nil checkClusterValidatorProbeImage = "" checkClusterValidatorTolerations = nil + checkClusterValidatorExternal = nil checkShowLogs = false selfHostedJSON, selfHostedPlain = false, false selfHostedOutput = "text" @@ -167,10 +168,11 @@ func resetCheckFlags(t *testing.T) { // Other tests call viper.Reset(), which drops the bindings made at // init, so a flag passed to check would silently not be read. for key, flag := range map[string]string{ - "cluster_validator_image": "cluster-validator-image", - "cluster_validator_registries": "cluster-validator-registries", - "cluster_validator_probe_image": "cluster-validator-probe-image", - "cluster_validator_tolerations": "cluster-validator-tolerations", + "cluster_validator_image": "cluster-validator-image", + "cluster_validator_registries": "cluster-validator-registries", + "cluster_validator_probe_image": "cluster-validator-probe-image", + "cluster_validator_tolerations": "cluster-validator-tolerations", + "cluster_validator_external_components": "cluster-validator-external-components", } { _ = viper.BindPFlag(key, selfHostedCheckCmd.Flags().Lookup(flag)) } diff --git a/src/clis/nvcf-cli/cmd/root.go b/src/clis/nvcf-cli/cmd/root.go index 06638e4cbf..5b95d41017 100644 --- a/src/clis/nvcf-cli/cmd/root.go +++ b/src/clis/nvcf-cli/cmd/root.go @@ -288,6 +288,7 @@ func initConfig() { viper.BindEnv("cluster_validator_registries", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES") viper.BindEnv("cluster_validator_probe_image", "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE") viper.BindEnv("cluster_validator_tolerations", "NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS") + viper.BindEnv("cluster_validator_external_components", "NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS") // If a config file is found, read it in. if err := viper.ReadInConfig(); err == nil && viper.GetBool("debug") { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 14a3002225..f3aa72fa1f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -56,6 +56,7 @@ var ( checkClusterValidatorRegistries []string checkClusterValidatorTolerations []string checkClusterValidatorProbeImage string + checkClusterValidatorExternal []string checkShowLogs bool ) @@ -151,6 +152,15 @@ func init() { "Can also be set in nvcf-cli config as cluster_validator_probe_image.") _ = viper.BindPFlag("cluster_validator_probe_image", selfHostedCheckCmd.Flags().Lookup("cluster-validator-probe-image")) + selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorExternal, + "cluster-validator-external-components", nil, + "Stack dependencies that run outside the stack, or not at all, so the validator does not look for "+ + "them in the cluster: a subset of nats, openbao and cassandra. Repeatable or comma-separated. "+ + "Defaults to NVCF_EXTERNAL_COMPONENTS, then to the components the stack's environment file "+ + "disables. Env: NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS. "+ + "Can also be set in nvcf-cli config as cluster_validator_external_components (list).") + _ = viper.BindPFlag("cluster_validator_external_components", + selfHostedCheckCmd.Flags().Lookup("cluster-validator-external-components")) selfHostedCheckCmd.Flags().BoolVar(&checkShowLogs, "show-logs", false, "Print the cleaned cluster-validator transcript to stderr after the check events. "+ "Useful when piping --json output to a script that also wants the transcript.") @@ -172,6 +182,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if err != nil { return err } + if _, err := configuredExternalComponents(); err != nil { + return err + } // One credential lookup per registry for the whole run, shared by tag // discovery, the local credential row and the validator's pull secret, // so the row checks the credential the validator Job is given. @@ -1080,10 +1093,10 @@ func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string // - relocated OpenBao and Envoy Gateway namespaces, without which the Tier // rows assess the defaults and miss the real components; // - NVCF_GATEWAY_NAMES, the override for the NVCF Gateway discovery; -// - NVCF_EXTERNAL_COMPONENTS, the stack dependencies the stack does not -// install, which the validator must not expect in the cluster; // - the overlay probe image, so a mirrored cluster does not pull busybox -// from Docker Hub. +// from Docker Hub; +// - NVCF_EXTERNAL_COMPONENTS, the dependencies that run outside the stack, +// so the validator does not fail them for being absent from the cluster. func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { env := map[string]string{} if !checkPre || checkAll { @@ -1107,16 +1120,18 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { } else if len(stack.Gateways) > 0 { env["NVCF_GATEWAY_NAMES"] = strings.Join(stack.Gateways, ",") } - // An explicit setting wins over the components the stack leaves out. - if components := cmp.Or(strings.TrimSpace(viper.GetString("cluster_validator_external_components")), - configValue("NVCF_EXTERNAL_COMPONENTS")); components != "" { - env["NVCF_EXTERNAL_COMPONENTS"] = components - } else if len(stack.ExternalComponents) > 0 { - env["NVCF_EXTERNAL_COMPONENTS"] = strings.Join(stack.ExternalComponents, ",") - } if probe := configuredProbeImage(); probe != "" { env["NVCF_N2N_PROBE_IMAGE"] = probe } + // Validated before the run starts. An explicit setting wins over the + // components the stack leaves out. + external, _ := configuredExternalComponents() + if external == nil { + external = stack.ExternalComponents + } + if len(external) > 0 { + env["NVCF_EXTERNAL_COMPONENTS"] = strings.Join(external, ",") + } return env } @@ -1131,6 +1146,22 @@ func configuredProbeImage() string { return configValue("NVCF_N2N_PROBE_IMAGE") } +// configuredExternalComponents returns the components the operator says run +// outside the stack: --cluster-validator-external-components (or its env and +// config key), then NVCF_EXTERNAL_COMPONENTS. nil means neither is set, and +// the stack values decide. +func configuredExternalComponents() ([]string, error) { + raw := viper.GetStringSlice("cluster_validator_external_components") + if len(raw) == 0 { + raw = []string{configValue("NVCF_EXTERNAL_COMPONENTS")} + } + out, err := selfhosted.ParseExternalComponents(raw) + if err != nil { + return nil, fmt.Errorf("--cluster-validator-external-components: %w", err) + } + return out, nil +} + // configValue reads a setting the way the CLI's cluster configuration does // (environment, then the nvcf-cli config file). A YAML list in the config // file is joined with commas, the form the validator's list settings parse; diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 6053985982..d948aa8122 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -412,17 +412,26 @@ ingress: "a CLI with a built-in stack installs from it, not from the working directory") } -// The stack dependencies the stack leaves out reach the validator as -// NVCF_EXTERNAL_COMPONENTS; an explicit setting wins over them. -func TestClusterValidatorJobEnv_ForwardsExternalComponents(t *testing.T) { +// The validator is told which dependencies run outside the stack: the flag, +// or its env and config key, first, then NVCF_EXTERNAL_COMPONENTS, then the +// components the stack's environment file disables. An unknown name fails the +// command before anything runs. +func TestClusterValidatorJobEnv_ExternalComponents(t *testing.T) { resetCheckFlags(t) t.Setenv("NVCF_EXTERNAL_COMPONENTS", "") - stack := selfhosted.StackValues{ExternalComponents: []string{"nats", "cassandra"}} - assert.Equal(t, "nats,cassandra", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) + stack := selfhosted.StackValues{ExternalComponents: []string{"cassandra"}} - t.Setenv("NVCF_EXTERNAL_COMPONENTS", "openbao") - assert.Equal(t, "openbao", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) - - t.Setenv("NVCF_EXTERNAL_COMPONENTS", "") + assert.Equal(t, "cassandra", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) assert.NotContains(t, clusterValidatorJobEnv(selfhosted.StackValues{}), "NVCF_EXTERNAL_COMPONENTS") + + t.Setenv("NVCF_EXTERNAL_COMPONENTS", "OpenBao, nats") + assert.Equal(t, "nats,openbao", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) + + require.NoError(t, selfHostedCheckCmd.Flags().Set("cluster-validator-external-components", "nats")) + assert.Equal(t, "nats", clusterValidatorJobEnv(stack)["NVCF_EXTERNAL_COMPONENTS"]) + + require.NoError(t, selfHostedCheckCmd.Flags().Set("cluster-validator-external-components", "redis")) + checkPre = true + err := runSelfHostedCheck(selfHostedCheckCmd, nil) + require.ErrorContains(t, err, `unknown component "redis"`) } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index de2343395d..faac6b260a 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTE2NjYsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTIyODAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiZGMwM2JmMDIxYTY2M2NjMGE3" + "ZmU5MjNjMDgyY2UzNWY1YTg0N2ZjZjk3ZmI1ZjM0YzY2YjY1NDIyMjFiNzAxIiwKICAgICAgInNp" + "emUiOiAzMDY1CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1MDc2MWY0ZTM3ODc0Njkw" + - "Zjc1NGMwNjcxMDEyMGM4NjBmODNjNzg3MjIxMDdlYzNkY2U4Y2MzNzY1NWMzNGIyIiwKICAgICAg" + - "InNpemUiOiAxODM1NgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MzQxZDdjN2MwMTU2MWUz" + + "ZWUyM2U2ZGM3OGY5MTA2NjI4ZGNiMWMzMTRkZDIwMThjNzQ0Mzc1ZDU3ZjdkYWExIiwKICAgICAg" + + "InNpemUiOiAxODk3MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCG1zeq1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCFnSohZKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1768,2141 +1768,2152 @@ const skillDataZipBase64 = "" + "Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52" + "OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBj" + "bHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tl" + - "ciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzpl" + - "ZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVz" + - "aWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVy" + - "cyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBg" + - "UHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxz" + - "IHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9D" + - "TElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNl" + - "Y3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8g" + - "cHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNy" + - "ZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lz" + - "dHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9u" + - "bHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8g" + - "YGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0" + - "aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0" + - "aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0" + - "b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9t" + - "IHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNr" + - "aXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0" + - "aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2Ug" + - "dGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIg" + - "Y2Fubm90IHB1bGwgdGhlIGltYWdlLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xV" + - "U1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUg" + - "dmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBm" + - "b3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2Ug" + - "aXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcg" + - "Zm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIg" + - "Y2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3Vycy4gVGhlIHJvdywgdGhlIGBmaW5hbGAg" + - "ZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRo" + - "ZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdyB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9n" + - "c2AgfCBQcmludCB0aGUgdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBj" + - "aGVjayBldmVudHMuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxz" + - "byB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJl" + - "YWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpg" + - "Y2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGgg" + - "aXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tF" + - "Ul9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3Vn" + - "aCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9g" + - "IHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1B" + - "R0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlg" + - "IGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2Nr" + - "ZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52" + - "aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFu" + - "ZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuCgpPbmx5IGEgY3JlZGVudGlh" + - "bCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQgb25seSBmb3IgYW4gTlZJ" + - "RElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMuIEEgcmVqZWN0ZWQgTkdD" + - "IEFQSSBrZXkgYWZ0ZXIgaW5zdGFsbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1" + - "bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fu" + - "bm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2Nh" + - "bApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNw" + - "ZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3" + - "aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0" + - "aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZh" + - "bGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2" + - "YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3" + - "aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUg" + - "c3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcg" + - "a2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBp" + - "LmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVu" + - "bGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkg" + - "d2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkg" + - "d2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBh" + - "cyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBp" + - "cyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3Rh" + - "Y2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5" + - "QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0Vg" + - "IHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRy" + - "YWAgd2hvc2UgYGVuYWJsZWRgIGlzIG5vdCBgdHJ1ZWAgfCBgTlZDRl9FWFRFUk5BTF9DT01QT05F" + - "TlRTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0Vg" + - "IHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + - "LWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92" + - "ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9u" + - "bHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMg" + - "bmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1" + - "bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBg" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1s" + - "YC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9t" + - "IHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxz" + - "ZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBk" + - "aXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVy" + - "IGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZp" + - "bGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0" + - "cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQgbm8g" + - "c3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBk" + - "aXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6" + - "IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBu" + - "dmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5h" + - "bWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8" + - "IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1y" + - "ZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4t" + - "b25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8" + - "IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9u" + - "ZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNo" + - "YCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8" + - "IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVy" + - "IGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBw" + - "YW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1" + - "c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1" + - "aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwK" + - "fCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1p" + - "Z25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlz" + - "dHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNr" + - "YCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVy" + - "YXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVs" + - "IGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4g" + - "RFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBl" + - "eHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBP" + - "dmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1" + - "bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVk" + - "aWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRz" + - "OiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwg" + - "YHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + - "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9u" + - "cy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFn" + - "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAg" + - "fCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQg" + - "UE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBl" + - "IERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8" + - "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4g" + - "Q2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2Vk" + - "IExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3Vi" + - "ZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4g" + - "YC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + - "YCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1v" + - "ZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08" + - "dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+" + - "YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNg" + - "LCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQg" + - "SlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBj" + - "b21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + - "eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExv" + - "d2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291" + + "ciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwu" + + "Li5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBu" + + "b3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhl" + + "IGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4g" + + "QW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNl" + + "cGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0" + + "byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmly" + + "b25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9D" + + "TFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rl" + + "cl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0t" + + "Y2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8" + + "IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRy" + + "b2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVz" + + "IHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVk" + + "dWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQu" + + "IFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZB" + + "TElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVy" + + "YXRpb25zYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwg" + + "ZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxp" + + "ZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRv" + + "ciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcg" + + "dGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5" + + "LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9y" + + "IHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0" + + "aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGBy" + + "ZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRh" + + "aWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRv" + + "LWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1" + + "c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmln" + + "dXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBv" + + "dXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0" + + "aGUgaW1hZ2UuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJ" + + "T05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9i" + + "LCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcu" + + "IEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQs" + + "IHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNw" + + "ZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayByZWNsYWlt" + + "cyB0aGVtIGFmdGVyIDI0IGhvdXJzLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVh" + + "bnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhh" + + "dCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRo" + + "ZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4g" + + "VGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBz" + + "dGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3Ry" + + "ZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVz" + + "IGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3Jl" + + "ZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25m" + + "aWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNT" + + "dG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkg" + + "a2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9L" + + "RVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJ" + + "X0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5" + + "IGZvciBhCmJhcmUgYC0tcHJlYCBydW4gd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2lu" + + "Y2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsCnNlY3JldHMgZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVy" + + "IHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4KCk9ubHkgYSBjcmVkZW50aWFsIHRoZSByZWdpc3Ry" + + "eSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZvciBhbiBOVklESUEKcmVnaXN0cnkg" + + "dGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQSByZWplY3RlZCBOR0MgQVBJIGtleSBhZnRl" + + "ciBpbnN0YWxsIGlzCmEgd2FybmluZywgc2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMgd2l0aCBpdHMg" + + "b3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFjaGluZSBjYW5ub3QgcmVhY2gsIGEg" + + "dG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNyZWRlbnRpYWwg" + + "YXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2gg" + + "YXMgRUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBza2lwcGVkIHdpdGggYSBjb21tYW5k" + + "IHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMgbWFjaGluZSBp" + + "biBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQgY3JlZGVudGlh" + + "bHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRz" + + "IHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmly" + + "b25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0" + + "dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0t" + + "LXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBn" + + "YXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNz" + + "LmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMu" + + "bmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMu" + + "bGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFy" + + "YXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkg" + + "dGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwK" + + "fCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxl" + + "ck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFs" + + "IGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5h" + + "YmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0" + + "ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBPcGVu" + + "QmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkg" + + "cHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBg" + + "TlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBm" + + "cm9tIHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkg" + + "ZGVzY3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAt" + + "LWVudmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyBub3QgdXNl" + + "ZCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBgYmFzZS55YW1s" + + "YAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhlIHN0YWNrIHRo" + + "ZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25seSBydW4pLCBlbHNlIHRoZSBDTEkncwog" + + "IGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQg" + + "YW4gYG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIgY29tbWFuZCBleHRy" + + "YWN0ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywKICBgZmlsZTovL2AgaW5jbHVk" + + "ZWQsIGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZAog" + + "IHN0YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJl" + + "YWRzIHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90" + + "aGVyd2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRv" + + "ciBmaW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHBy" + + "b2JlZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElD" + + "TVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElE" + + "YCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05g" + + "IHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1y" + + "dW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8Cgoj" + + "IyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxh" + + "bmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1y" + + "ZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNh" + + "ZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBw" + + "YW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNl" + + "YCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + + "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJl" + + "cXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8" + + "IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJs" + + "IFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGlu" + + "Z2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAg" + + "fAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUg" + + "b25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8" + + "IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkg" + + "fCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBF" + + "eHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0" + + "aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1" + + "bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12" + + "YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIg" + + "bWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25k" + + "cyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4K" + + "CiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + + "Y29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9j" + + "IGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENv" + + "bnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBp" + + "bmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRh" + + "aW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RS" + + "RUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFy" + + "dCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3" + + "aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fk" + + "cy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZp" + + "Y2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0" + + "YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQg" + + "bW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBM" + + "TE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixy" + + "b3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxl" + + "LiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBg" + + "RGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21i" + + "aW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVs" + + "ZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8" + + "IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhh" + + "dmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBO" + + "Q0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFi" + + "bGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVz" + + "IGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExN" + + "IGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1l" + + "dGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xh" + + "cmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBt" + + "b2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2As" + + "IGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGlu" + + "Z01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVs" + + "dGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGlt" + + "aXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIg" + + "dG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMg" + + "YXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMp" + + "LCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1p" + + "dHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAt" + + "V2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9m" + + "IGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNl" + + "dCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5h" + + "bWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3Qu" + + "IGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBv" + + "c2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1" + + "c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElE" + + "IHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJk" + + "ZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMg" + + "Y2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7" + + "IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lm" + + "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3Mg" + + "VEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11" + + "cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0" + + "aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBS" + + "b3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTog" + + "YDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8" + + "CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rp" + + "b24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55" + + "IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291" + "bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJy" + "aWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJp" + - "ZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxp" + - "bmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9k" + - "ZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZp" + - "Zy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhw" + - "b3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQv" + - "Y29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxt" + - "Q29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3" + - "b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmln" + - "LnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3Np" + - "dGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3Vw" + - "cG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJz" + - "KSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBj" + - "b21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAw" + - "MDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBp" + - "bmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExN" + - "IGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1D" + - "aGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNy" + - "ZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2" + - "aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRp" + - "b24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRo" + - "ZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5h" + - "bWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMg" + - "QVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lv" + - "biBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1" + - "cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBg" + - "LS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1l" + - "PTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsg" + - "cmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxp" + - "bWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4g" + - "bGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxh" + - "Y2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRl" + - "ZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0t" + - "bGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBw" + - "cmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3Qg" + - "TkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4g" + - "SlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMg" + - "d2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxs" + - "bUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0" + - "YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRl" + - "cGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVk" + - "IChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVu" + - "Y3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBg" + - "SDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4" + - "YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4" + - "LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29u" + - "Y3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFw" + - "cGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29t" + - "cHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNw" + - "ZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + - "IHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5v" + - "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVk" + - "KSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdw" + - "dSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + - "bXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAo" + - "cmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAw" + - "XzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhj" + - "bHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVs" + - "bSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + - "LWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBD" + - "TEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJh" + - "Y2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + - "TkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNl" + - "cGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxh" + - "dW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEw" + - "IC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29u" + - "dGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0" + - "cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsg" + - "ZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXgg" + - "d2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7" + - "IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4" + - "IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + - "ZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2Ug" + - "cGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQx" + - "SGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0" + - "YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9O" + - "YCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1v" + - "ZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8" + - "CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFi" + - "bGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRp" + - "ZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8" + - "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0" + - "aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBl" + - "bmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmlj" + - "cyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVV" + - "SURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcI2jnw1rRHAAC0RwAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpL" + - "bm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFuZCDihpIgcmVtZWRpYXRpb24uIEtlZXAg" + - "aW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJ" + - "IGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBl" + - "cnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCnwg" + - "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwg" + - "bm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3Rs" + - "IHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNr" + - "cy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IG9uIFBBVEhgIHwgU2Ft" + - "ZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8" + - "IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9p" + - "bnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAgfCBlbnZveS1nYXRl" + - "d2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52" + - "b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1j" + - "cmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3RvcmFnZUNsYXNzIG5vdCBhdmFpbGFibGVg" + - "IHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0" + - "Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFz" + - "cy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9w" + - "ZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBsYW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0" + - "b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50" + - "ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3Iu" + - "aHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldiB8CnwgYEdQVSBub2RlIGxh" + - "YmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBOb2RlcyBuZWVkIGBudmlkaWEuY29tL2dw" + - "dS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUtbGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFt" + - "aWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAo" + - "aW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3Qg" + - "cGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAt" + - "LW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIg" + - "YWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUg" + - "c2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNm" + - "LWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyBy" + - "ZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9l" + - "c24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxs" + - "IC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0" + - "ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFz" + - "czsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYElu" + - "dmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBX" + - "cm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJn" + - "cHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJl" + - "Z2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21w" + - "dXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0" + - "eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwK" + - "fCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmlu" + - "ZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZh" + - "YTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1j" + - "bGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFn" + - "ZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1" + - "c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2Ug" + - "aW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMj" + - "IENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0" + - "MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1" + - "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIg" + - "SUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVz" + - "aCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVy" + - "IElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBj" + - "b21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVy" + - "IHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFj" + - "a09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcg" + - "bWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQg" + - "PHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kg" + - "c3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xk" + - "LWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBg" + - "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0" + - "cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + - "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNz" + - "aW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVz" + - "aW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnkt" + - "Y3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + - "bGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdh" + - "dGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFs" + - "cyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWlu" + - "KSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMg" + - "fCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiBy" + - "b2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkg" + - "fApQSwcI864ThHQRAAB0EQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5k" + - "IG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21w" + - "dXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + - "ZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwg" + - "c2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBp" + - "bnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNv" + - "bnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1o" + - "b3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50" + - "czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5z" + - "ZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8" + - "IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcg" + - "Y2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + - "aGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFu" + - "YWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5l" + - "LCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRv" + - "b2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFs" + - "OiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + - "bnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2Vk" + - "LCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNs" + - "aS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5n" + - "dWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0" + - "bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdl" + - "ZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBj" + - "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0" + - "cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93" + - "biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVh" + - "ZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + - "Lm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3Ig" + - "dGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBp" + - "bnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wt" + - "cGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVu" + - "dHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBk" + - "b3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyBy" + - "ZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + - "b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFu" + - "ZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNw" + - "bGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRl" + - "eHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMg" + - "TXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lv" + - "biAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBp" + - "bmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11" + - "c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFu" + - "ZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMg" + - "aGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBg" + - "CgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1s" + - "YCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fu" + - "b25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9u" + - "dmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxv" + - "dwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1v" + - "biBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1s" + - "ICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFs" + - "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNo" + - "YXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + - "ICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5s" + - "aW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDog" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRv" + - "IGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCBy" + - "ZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBl" + - "bnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtP" + - "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVl" + - "cykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQg" + - "aW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNo" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "ZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5H" + - "QyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + + "ZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rp" + + "b24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5h" + + "bWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2Vu" + + "UmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJl" + + "IG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAt" + + "c3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBz" + + "cGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVx" + + "dWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0t" + + "aW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4t" + + "aW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5g" + + "IHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8" + + "IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAt" + + "LWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJz" + + "IHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlu" + + "cHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0" + + "aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hh" + + "cnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUg" + + "bmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAg" + + "fAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRo" + + "b3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1p" + + "bWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBg" + + "LS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBv" + + "ciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBg" + + "LS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVy" + + "cmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5E" + + "YCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVj" + + "aWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBg" + + "LS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBj" + + "b250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXpl" + + "IDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJv" + + "bm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVg" + + "IHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQg" + + "cmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1" + + "biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8g" + + "dGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1" + + "ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3Mkhg" + + "IHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIg" + + "c3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVz" + + "dWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFy" + + "dGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVw" + + "bG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJl" + + "cXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMg" + + "TkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAt" + + "LXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRh" + + "YmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJh" + + "dGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBg" + + "LS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwg" + + "LSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBl" + + "bmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMg" + + "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwjA1ELxGkoAABpKAABQSwMEFAAIAAAAAAAh" + + "AAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJv" + + "dWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDi" + + "hpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGgg" + + "dGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0x" + + "NSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBh" + + "bmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1" + + "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAg" + + "fCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1" + + "YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3Rh" + + "bGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9n" + + "aXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9u" + + "IFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBg" + + "R2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1p" + + "c3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3" + + "YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3Bh" + + "Y2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhh" + + "cyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4g" + + "LXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMu" + + "aW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGlu" + + "c3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwg" + + "SW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRp" + + "dmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2Ug" + + "YGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3Npbmdg" + + "IChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRj" + + "LiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFn" + + "ZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + + "biB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4p" + + "IHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZj" + + "Zi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0" + + "aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhw" + + "ZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24g" + + "ZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0" + + "aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRo" + + "b3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGlu" + + "dm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2Ny" + + "aXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVk" + + "IG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBz" + + "dHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3Vi" + + "ZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05D" + + "UC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKA" + + "lCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAs" + + "IGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUg" + + "cHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwg" + + "YC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1y" + + "ZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVu" + + "diAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxh" + + "bmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJh" + + "RW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxl" + + "YXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZg" + + "IGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5" + + "OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5p" + + "by8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFu" + + "ZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9u" + + "dmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1h" + + "dGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBg" + + "Tm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJ" + + "Q01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUg" + + "SzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + + "c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZj" + + "Zi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdy" + + "b25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNr" + + "IHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9Z" + + "SU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCU" + + "IHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3Mg" + + "LW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91" + + "dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJl" + + "Z2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91" + + "cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFk" + + "ZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBh" + + "bHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBO" + + "VkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3Qu" + + "bnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVz" + + "IHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8g" + + "YWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFy" + + "dCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEA" + + "AHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNG" + + "IHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBz" + + "dGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlv" + + "biBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQg" + + "dHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2Yt" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwg" + + "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQog" + + "IHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3lt" + + "ZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxv" + + "Y2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4w" + + "CmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0g" + + "Pj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNp" + + "b24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEu" + + "Y29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + + "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + + "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwg" + + "UmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0" + + "aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIK" + + "ICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBz" + + "ZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGlu" + + "c3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gs" + + "IHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjog" + + "Y2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJh" + + "dGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUg" + + "YW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNl" + + "IHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0" + + "Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1z" + + "dGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRv" + + "ZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rp" + + "b24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0" + + "aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVk" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwK" + + "YWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + + "aGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wt" + + "cGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + + "b3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5l" + + "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + + "b3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNo" + + "aW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291" + + "cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNp" + + "b24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJl" + + "bG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21t" + + "YW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + + "IyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55" + + "IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54" + + "ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBN" + + "dXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1k" + + "aWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4g" + + "MSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1" + + "biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBg" + + "YGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBl" + + "bnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRo" + + "ZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0" + + "cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBF" + + "bmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJj" + + "L2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5k" + + "aW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRp" + + "b24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRl" + + "ZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAg" + + "ICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwg" + + "ICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQog" + + "ICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0" + + "aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + + "bG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAo" + + "aW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRz" + + "KS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZp" + + "bGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMg" + + "bm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVz" + + "ZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVs" + + "bSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFu" + + "IEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNl" + + "Y3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkg" + + "aWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4" + + "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRz" + + "IFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + + "b2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAg" + + "LS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + + "bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFs" + + "c28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2Vl" + + "IFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhl" + + "bnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAg" + + "QU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUg" + + "dXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNy" + + "ZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNo" + + "CiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlv" + + "IC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBu" + + "dmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3Ig" + + "Z2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkg" + + "bG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48" + + "cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + + "a2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4g" + + "VGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQg" + + "ZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBu" + + "dmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRv" + + "Y2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhl" + + "IGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlz" + + "bGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2Vl" + + "ZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBm" + + "cm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhl" + + "IGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11" + + "c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBp" + + "bnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxs" + + "aW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMK" + + "PiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkg" + + "dGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9y" + + "IHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVs" + + "bCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxl" + + "LCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50" + + "ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQg" + + "c2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0" + + "aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGds" + + "b2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAg" + + "ICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJy" + + "b3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwog" + + "ICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxt" + + "aXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9D" + + "SSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3Jl" + + "CiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxy" + + "ZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gs" + + "IGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFt" + + "cGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNh" + + "bm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBt" + + "aXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJv" + + "ciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8g" + + "YWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+" + + "LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBj" + + "aGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lw" + + "IHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0" + + "ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2Fk" + + "IGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0" + + "ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNy" + + "ZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5v" + + "dCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9y" + + "IHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0" + + "ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlk" + + "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZp" + + "YSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVz" + + "dCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAo" + + "c2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJl" + + "KS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhl" + + "IGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRv" + + "ZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkg" + + "dGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1" + + "YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAt" + + "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRF" + + "V0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENs" + + "b3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2Fk" + + "IGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBE" + + "TlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjog" + + "Im52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9z" + + "dDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21h" + + "aW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0" + + "aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFu" + + "ZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUg" + + "NCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBs" + + "b3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAj" + + "IFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + + "aWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29y" + + "ZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVG" + + "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBz" + + "ZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0" + + "IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NB" + + "TkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBl" + + "dmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFs" + + "c2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2Vydmlj" + + "ZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BB" + + "U1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBv" + + "cmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwg" + + "V2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8" + + "IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2Fu" + + "ZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJ" + + "UywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25h" + + "bCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdo" + + "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMg" + + "fCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8Cnwg" + + "NCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAo" + + "aWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoK" + + "CmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5" + + "IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVs" + + "dCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0" + + "aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRp" + + "b24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + + "Y2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBh" + + "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZh" + + "bml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEg" + + "bmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYt" + + "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxl" + + "ZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0" + + "IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXku" + + "bnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5n" + + "cyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVk" + + "IGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRo" + + "ZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdl" + + "IGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBw" + + "YWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5k" + + "CmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhF" + + "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0" + + "ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + + "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkK" + + "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDog" + + "dmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpE" + + "byBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBp" + + "bnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMg" + + "YXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBO" + + "VkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + + "ZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + + "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJ" + + "Zgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + + "aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4g" + + "VGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8g" + + "bm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5h" + + "bWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0" + + "ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgoj" + + "IyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRy" + + "b2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMu" + + "IEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhh" + + "bmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1l" + + "bnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBs" + + "YW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0" + + "ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBs" + + "ZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2Ug" + + "aGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJv" + + "dXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgoj" + + "IyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + + "Y29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBz" + + "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUt" + + "cGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVs" + + "ZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBO" + + "VkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwg" + + "YGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJv" + + "eHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdh" + + "eWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0" + + "LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1" + + "ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBg" + + "Y2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0" + + "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + + "c2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1h" + + "bmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9u" + + "IHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hl" + + "dGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + + "b24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFi" + + "b3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ug" + + "d2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hp" + + "bmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1p" + + "c21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25s" + + "eSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + + "bmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24K" + + "ClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5" + + "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoK" + + "IyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsg" + + "ZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRv" + + "bmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAt" + + "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxk" + + "IHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBF" + + "bnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + + "YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2" + + "YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1m" + + "aWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4" + + "YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9g" + + "IGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBj" + + "YXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQK" + + "ICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + + "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + + "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5k" + + "cmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6" + + "ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAg" + + "ICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJn" + + "ZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVy" + + "aXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + + "bGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNl" + + "Y3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNl" + + "Y3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3Qg" + + "Y29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhl" + + "bSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6" + + "Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5" + + "IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18Cnwg" + + "UHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRh" + + "dGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1h" + + "cGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2Vy" + + "IHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8g" + + "Q2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFj" + + "Y291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAg" + + "aW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yv" + + "c2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8" + + "IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3Up" + + "IHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8" + + "a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lk" + + "ZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVt" + + "cGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VS" + + "X0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNv" + + "bi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIg" + + "YGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRy" + + "b3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxk" + + "cy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwg" + + "ZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFg" + + "LAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50" + + "LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11" + + "c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9u" + + "ZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZv" + + "cm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkg" + + "aXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAg" + + "IGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRv" + + "IHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJl" + + "LXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMn" + + "ICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZj" + + "Zi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAj" + + "IGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252" + + "Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0" + + "IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lk" + + "ZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJv" + + "bSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBw" + + "bGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVh" + + "Y2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + + "ZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBh" + + "cmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGlu" + + "dG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9t" + + "YXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25m" + + "aWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGlu" + + "ZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3Jt" + + "bHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZp" + + "bGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhl" + + "bG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhl" + + "bG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5" + + "dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNo" + + "IG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRz" + - "LCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJl" + - "bmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4K" + - "CiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBk" + - "b2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBO" + - "R0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + - "byB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0" + - "ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIg" + - "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + - "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgoj" + - "IEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291" + - "bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVn" + - "aXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9y" + - "ZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9y" + - "Z3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRo" + - "ZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + - "aW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBv" + - "dmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZh" + - "aWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUg" + - "YXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNo" + - "YXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBs" + - "b2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBv" + - "ciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIg" + - "YGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVk" + - "IGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9y" + - "IGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJv" + - "bSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoK" + - "SWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNs" + - "dXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0" + - "IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + - "dGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3Rh" + - "Y2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0" + - "aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAg" + - "YGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + - "aXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBv" + - "c2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUg" + - "aGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICBy" + - "ZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhh" + - "cyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kg" + - "Y2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8v" + - "Li4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNo" + - "YXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0" + - "b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBu" + - "b3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAg" + - "ID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sg" + - "YXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJ" + - "OiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxt" + - "IHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+" + - "YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJj" + - "ZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3Rl" + - "ciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9k" + - "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBu" + - "bwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVz" + - "cGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNw" + - "YWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + - "IGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + - "ci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFw" + - "aSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rp" + - "b24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBj" + - "cmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhl" + - "IHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9y" + - "ZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9t" + - "YWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRv" + - "bWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + - "YW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZ" + - "X0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5" + - "LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + - "ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3Ru" + - "YW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVy" + - "bWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYt" + - "bWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0" + - "aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGds" + - "b2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwg" + - "YW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIg" + - "YmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9B" + - "RERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21h" + - "aW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24u" + - "IFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJl" + - "dmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNz" + - "YW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9j" + - "dW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEg" + - "Y2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQg" + - "ZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBC" + - "YWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fz" + - "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxU" + - "X0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxl" + - "IGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3Ig" + - "fCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwt" + - "LS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9w" + - "ZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkt" + - "a2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdh" + - "eSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUt" + - "MTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8" + - "IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFi" + - "aWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJh" + - "dGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4g" + - "RW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2Fi" + - "bGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9z" + - "dG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJ" + - "IGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + - "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJh" + - "Y3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJl" + - "bGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFu" + - "ZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYg" + - "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmly" + - "b25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdh" + - "eToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1" + - "bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZh" + - "bml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5k" + - "IHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdg" + - "LiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9t" + - "YWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUg" + - "c3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29u" + - "ZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNl" + - "LCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + - "eSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0" + - "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZh" + - "bml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1" + - "cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9o" + - "ZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJ" + - "LCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4g" + - "VGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMj" + - "IyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + - "dXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + - "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + - "RiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250" + - "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0" + - "aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhl" + - "bnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBl" + - "bmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZl" + - "cmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWkt" + - "YWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3Rh" + - "Y2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFu" + - "ZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29t" + - "cHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFy" + - "YXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHBy" + - "b2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4g" + - "cnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBu" + - "b3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29t" + - "bWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJk" + - "b3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFu" + - "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNh" + - "bWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25s" + - "eSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxl" + - "IHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwg" + - "YGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2Vydmlj" + - "ZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBg" + - "dmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGlu" + - "Z3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFs" + - "c28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVw" + - "IHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5h" + - "Z2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFz" + - "ZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3Ig" + - "bmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ks" + - "IGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5" + - "IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNl" + - "IHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5k" + - "YXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "ZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2" + - "YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3Jl" + - "LW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xz" + - "aXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + - "VmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtl" + - "eXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJh" + - "LnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoK" + - "IyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxl" + - "YXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxv" + - "Y2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + - "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + - "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + - "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + - "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + - "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + - "YGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVu" + - "Y3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBs" + - "YXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1w" + - "bGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUg" + - "cmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMg" + - "SW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0" + - "eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxv" + - "dyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3Jt" + - "YXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3Rz" + - "dHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0t" + - "LXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52" + - "Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3Jl" + - "YXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRv" + - "IGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3Jl" + - "dHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNy" + - "ZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0Vf" + - "UFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2Vz" + - "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGAp" + - "IHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxk" + - "cyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgi" + - "JG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3Jl" + - "ZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRo" + - "ZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhf" + - "QkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRv" + - "Y2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMg" + - "YSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZl" + - "cmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNv" + - "bmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9r" + - "ZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + - "c2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0g" + - "V3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMK" + - "PiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1h" + - "dCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxs" + - "IGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mg" + - "b2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3" + - "cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBp" + - "cyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRo" + - "b3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRv" + - "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0" + - "IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0i" + - "JEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZv" + - "ciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1" + - "YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1" + - "cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hl" + - "biBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + - "ZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZj" + - "ci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50" + - "LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAo" + - "c2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3Jpbmcg" + - "ZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGlj" + - "YXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBh" + - "dGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5" + - "dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBg" + - "aW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMg" + - "d29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0" + - "aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3Rh" + - "bGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + - "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + - "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBz" + - "ZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpm" + - "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + - "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + - "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0" + - "aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1" + - "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0" + - "IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1j" + - "cmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMg" + - "U2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1" + - "c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFN" + - "IG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3Jl" + - "dCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBj" + - "aGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAg" + - "ICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + - "bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMg" + - "Q29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0t" + - "LS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3Jp" + - "emVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3Rz" + - "LCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBz" + - "ZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3Bl" + - "bkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQt" + - "YWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + - "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8g" + - "SldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBj" + - "bHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + - "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9J" + - "REMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + - "cnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNg" + - "LCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRd" + - "KHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBP" + - "T01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92" + - "ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNr" + - "ZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENh" + - "c3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + - "UkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBj" + - "aEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2Vj" + - "cmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUt" + - "c3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9k" + - "cyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3Rs" + - "IGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNl" + - "IGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxt" + - "ZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQg" + - "Ym9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + - "aWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + - "LW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3du" + - "IGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2" + - "ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVk" + - "IHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9v" + - "ayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBo" + - "b29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1h" + - "Y2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2Vj" + - "cmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8g" + - "YC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZl" + - "cyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQg" + - "ZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0" + - "IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwK" + - "fCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRj" + - "aCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0" + - "YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19S" + - "RUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMj" + - "IFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlz" + - "IGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2Uq" + - "KgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBp" + - "dCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBg" + - "YXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQg" + - "d2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29r" + - "IG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQg" + - "ZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGll" + - "bnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4K" + - "ClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0n" + - "ey5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNl" + - "bnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0" + - "aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGlu" + - "Z2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2Nv" + - "dW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMj" + - "IEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFt" + - "cGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + - "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQg" + - "Y29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVy" + - "IGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3Jl" + - "YXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2Ug" + - "ZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + - "AKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVl" + - "c3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + - "UyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRp" + - "b25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVx" + - "dWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCks" + - "IGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwg" + - "KGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRv" + - "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + - "dCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0g" + - "My4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZp" + - "ZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGli" + - "aWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5j" + - "IHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0" + - "IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tz" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNo" + - "ZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJl" + - "bmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWlu" + - "ZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkg" + - "ZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRl" + - "JyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZl" + - "c3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdo" + - "ZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4g" + - "d2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1" + - "bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBz" + - "dHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1" + - "c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVt" + - "b3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNs" + - "ZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1l" + - "c3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + - "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + - "b3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1" + - "dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFn" + - "ZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3Zl" + - "IHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNl" + - "IC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMi" + - "LAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + - "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + - "c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0" + - "byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAg" + - "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0" + - "ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0" + - "ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZy" + - "b20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxh" + - "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdh" + - "eSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFs" + - "bGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVn" + - "aXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNv" + - "bmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUg" + - "c2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlv" + - "biB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAog" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENs" + + "dXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xp" + + "Y3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRp" + + "bWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJp" + + "Znkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzog" + + "W3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1" + + "aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyku" + + "CgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNj" + + "cmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNo" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxs" + + "IHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5" + + "PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVy" + + "ZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18" + + "LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2lu" + + "ZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhh" + + "cyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8" + + "IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBt" + + "aWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBz" + + "aG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + + "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25m" + + "aWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZl" + + "IEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + + "dmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1" + + "c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0" + + "cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9w" + + "ZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9k" + + "ZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24g" + + "Q2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3Nh" + + "bmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBj" + + "cmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2Vj" + + "cmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5k" + + "cmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNl" + + "dCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1" + + "YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRy" + + "YSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxl" + + "Y3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "YCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAg" + + "c3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lg" + + "IHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGlt" + + "ZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBg" + + "a3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8Cnwg" + + "ZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8" + + "IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBg" + + "YXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBh" + + "dGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFj" + + "Y291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVy" + + "aWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0" + + "cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0" + + "cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3Zh" + + "dWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVk" + + "IHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVh" + + "ZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9P" + + "UFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVj" + + "dGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2" + + "ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1Nf" + + "UkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFu" + + "ZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBh" + + "Y2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBh" + + "ICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1p" + + "bnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwu" + + "IElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0" + + "Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywg" + + "bm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2Nv" + + "dW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApu" + + "b3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJh" + + "biBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2Yg" + + "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNj" + + "ZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJl" + + "LXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVz" + + "CmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29t" + + "cGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0" + + "bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUt" + + "bm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBp" + + "IHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "ICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBS" + + "ZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhl" + + "IFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3Yw" + + "LjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5l" + + "IHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBP" + + "cGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVj" + + "dHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5k" + + "IFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwg" + + "dXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25z" + + "LCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBL" + + "BwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAg" + + "ICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + + "YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0" + + "ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZl" + + "cnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4x" + + "MiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhp" + + "biAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + + "YyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChu" + + "b3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYg" + + "Pj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJz" + + "aW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZl" + + "cnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0" + + "ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxl" + + "IHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdl" + + "bnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZl" + + "c3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHBy" + + "ZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5" + + "bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMn" + + "IHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRv" + + "IHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVh" + + "bnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1p" + + "bmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxp" + + "emVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXpl" + + "cnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3Bh" + + "Y2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9u" + + "bHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2Yt" + + "YmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + + "ICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250" + + "ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJl" + + "Y3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxp" + + "emVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xl" + + "YXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRv" + + "ciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNl" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBk" + + "ZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjog" + + "Ikluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRl" + + "IHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3Vi" + + "ZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "a2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHBy" + + "b2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcg" + + "d2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVy" + + "IHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJh" + + "biB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25t" + + "ZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVy" + + "IE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRl" + + "ciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBi" + + "ZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dy" + + "cGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5" + + "c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIs" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVT" + + "VEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJF" + + "Q09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJ" + + "Q01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGll" + + "cyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZs" + + "YWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9s" + + "LXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2Zp" + + "bGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVs" + + "bS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhl" + + "bG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90" + + "aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4" + + "cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxt" + + "IChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBp" + + "cyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52" + + "Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3Jk" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0" + + "aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAi" + + "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZp" + + "bGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9u" + + "IGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50" + + "IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2" + + "ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBz" + + "ZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3Vu" + + "ZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8g" + + "cnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5k" + + "LywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAi" + + "V2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBk" + + "aWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3Rl" + + "ZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlv" + + "biIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUg" + + "TlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9u" + + "bWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + + "b21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQg" + + "dG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3Bh" + + "Y2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMs" + + "IHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFu" + + "ZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVn" + + "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3Rh" + + "Y2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0s" + + "IGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5k" + + "bGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBs" + + "YW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkt" + + "a2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGlu" + + "ZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + + "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95" + + "aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxl" + + "IHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRy" + + "b2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZh" + + "YmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29u" + + "dHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + + "ZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1" + + "bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVy" + + "YXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ci" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAg" + + "InF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5k" + + "IHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNo" + + "b3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJl" + + "ZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dl" + + "ZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcg" + + "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + + "LWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJl" + + "Z2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBm" + + "aWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAg" + + "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAg" + + "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQi" + + "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + + "CiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29u" + + "dGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5l" + + "cmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBI" + + "ZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0" + + "LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRy" + + "YSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8g" + + "MTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxp" + + "bmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJl" + + "bGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwg" + + "YW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1M" + + "IG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAog" + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNv" + - "bnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUg" + - "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tl" + - "X3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlf" + - "aG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBi" + - "YXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUs" + - "IE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNv" + - "bXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVf" + - "RU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + - "c3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21z" + - "X2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBN" + - "YWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tT" + - "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1" + - "aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4" + - "IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJv" + - "dGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5H" + - "QyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBu" + - "dmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIg" + - "bG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2Rv" + - "Y2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + - "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3" + - "b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBi" + - "ZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBh" + - "dXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNz" + - "aW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0Yg" + - "aW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBh" + - "dHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52" + - "aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMg" + - "d2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + - "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5v" + - "dCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVy" + - "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + - "cGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQg" + - "c3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFn" + - "ZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVh" + - "bi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxs" + - "YXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + - "ci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJz" + - "dDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRo" + - "ZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3Vy" + - "IGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhh" + - "bmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBh" + - "IHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVl" + - "cyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhl" + - "bG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + - "ZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0" + - "ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3Rl" + - "bSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikg" + - "d2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcg" + - "YmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3Rh" + - "Z2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5n" + - "cmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAi" + - "QWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVk" + - "IGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhh" + - "Y3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1p" + - "eCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdv" + - "cmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250" + - "cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0" + - "ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0" + + "CiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVk" + + "IHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRo" + + "IG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRo" + + "ZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFN" + + "TCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUn" + + "cyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBj" + + "aGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0" + + "aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVu" + + "ZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5j" + + "aWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBk" + + "ZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQg" + + "cG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1" + + "c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMn" + + "IHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + + "cG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lz" + + "dGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0" + + "b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rp" + + "b24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5h" + + "dXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdn" + + "aW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhl" + + "IHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMs" + + "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNj" + + "b3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVk" + + "ZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNv" + + "cnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUg" + + "YWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "bWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRo" + + "ZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + + "dGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAog" + + "ICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRv" + + "IHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBp" + + "bmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1" + + "c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBh" + + "bmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVt" + + "b3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBl" + + "bmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBP" + + "cGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + + "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21w" + + "dXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92" + + "ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJh" + + "dG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9y" + + "IGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRl" + + "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNl" + + "cyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBu" + + "dmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52" + + "Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFu" + + "ZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGgg" + + "aW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3" + + "aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVk" + + "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + + "RGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0" + + "aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1l" + + "LWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxh" + + "bmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNl" + + "cnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5h" + + "dHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFt" + + "ZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBs" + + "YW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVk" + + "IGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRv" + + "d24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNh" + + "ZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlh" + + "bnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFu" + + "ZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9y" + + "ZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBs" + + "YW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + + "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + + "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + + "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + + "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5n" + + "IHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Us" + + "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2" + + "ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkg" + + "ZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhl" + + "IGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25z" + + "LCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01T" + + "IGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFu" + + "ZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3Qg" + + "cmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0" + + "aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + + "eSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2" + + "ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBs" + + "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIs" + + "CiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVy" + + "IGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVz" + + "dHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhl" + + "IGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNl" + + "IHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJl" + + "ZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGlu" + + "c3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3Rh" + + "Y2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBj" + + "ZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdp" + + "dGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAg" + + "ICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + + "IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENM" + + "SSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1" + + "bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENM" + + "SSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2" + + "ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2Vz" + + "IG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBs" + + "YW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVy" + + "ZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENM" + + "SSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBi" + + "b3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhl" + + "biBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVh" + + "Y2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEz" + + "LXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8g" + + "bXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cg" + + "ZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWws" + + "IGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBp" + + "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + + "Y2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVz" + + "dCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZ" + + "QU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAog" + + "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBw" + + "YXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9i" + + "YWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxl" + + "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1w" + + "bGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFs" + + "dWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBu" + + "ZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFn" + + "ZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25m" + + "aWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0" + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + - "bCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4g" + - "SXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVh" + - "Y2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBz" + - "dWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2Vk" + - "IHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0" + - "byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + - "IGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + - "LS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwg" + - "YW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25m" + - "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + - "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVl" + - "cywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "a2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlk" + - "IG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlv" + - "biI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1v" + - "cnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVy" + - "ZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhl" + - "IGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFs" + - "LnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBh" + - "Ym91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUg" + - "YXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBh" + - "Z2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJj" + - "ZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVk" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2Nr" + - "IChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQg" + - "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHBy" + - "ZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3Jl" + - "IGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3Rp" + - "dmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBO" + - "VkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0" + - "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUg" + - "c2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0" + - "aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwg" + - "Y2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlk" + - "ZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3Jv" + - "dXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYi" + - "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2Zm" + - "IHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRv" + - "IGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3Ig" + - "cHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFu" + - "ZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3Jl" + - "dCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHBy" + - "b3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMi" + - "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxs" + - "U2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJU" + - "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZp" + - "YyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFu" + - "ZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1" + - "dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52" + - "b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNy" + - "ZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRy" + - "b2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNl" + - "dCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2Nh" + - "bCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywg" + - "YW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBi" + - "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwg" + - "cGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJM" + - "cyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkg" + - "aW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9w" + - "ZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXkt" + - "c3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRl" + - "d2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1n" + - "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNm" + - "U2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RT" + - "ZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhl" + - "IGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBu" + - "dmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + - "Lm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdy" + - "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + - "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5j" + - "bHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJl" + - "ZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + - "cmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5h" + - "dHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1" + - "bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJU" + - "aGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9y" + - "IGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rp" + - "b24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + - "ZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93" + - "IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUg" + - "Y2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJv" + - "dGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + - "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + - "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + - "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + - "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + - "ZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + - "IFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + - "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + - "aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFs" + - "dWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUg" + - "cmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBu" + - "b3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + - "ZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQg" + - "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJh" + - "biBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250" + - "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRl" + - "IGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxv" + - "dyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250" + - "cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3Vs" + - "ZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0" + - "aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + - "ZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBh" + - "biBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVk" + - "IGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Np" + - "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHBy" + - "ZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + - "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + - "aXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFr" + - "ZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwK" + - "ICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFs" + - "IGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0" + - "byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBw" + - "bGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9u" + - "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + - "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + - "ICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVu" + - "diwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFu" + - "LW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1" + - "bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + - "bGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRl" + - "ZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkg" + - "aWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + - "biAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxp" + - "bmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + - "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2Uu" + - "eWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxp" + - "bmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxp" + - "Y2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJl" + - "IHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50" + - "IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1" + - "ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9u" + - "IGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQg" + - "SGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0" + - "aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUg" + - "TExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRo" + - "ZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + - "Y29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + - "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0" + - "aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + - "Y2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQu" + - "c3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3" + - "aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3Ig" + - "cHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + - "IGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExM" + - "TSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5k" + - "IGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5l" + - "bmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91" + - "dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMg" + - "dG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + - "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24g" + - "aG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlD" + - "SW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJu" + - "ZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25t" + - "ZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBo" + - "YW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9u" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVz" + - "dC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBp" + - "bmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5F" + - "Ry1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYg" + - "Y2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVs" + - "bCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlz" + - "IGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBu" + - "dmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdl" + - "ZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1" + - "aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVw" + - "bG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVj" + - "aWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9w" + - "cmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQg" + - "b24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fz" + - "c2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBj" + - "YXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoK" + - "UHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRp" + - "b246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2su" + - "CgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNz" + - "LWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwg" + - "fCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAx" + - "LWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZh" + - "dGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVs" + - "bWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + - "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + - "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + - "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + - "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2Vz" + - "OgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1v" + - "cnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAg" + - "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9y" + - "ZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + - "YwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3Qg" + - "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + - "aXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBO" + - "R0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0" + - "YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQg" + - "b2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0" + - "ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5" + - "OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdp" + - "c3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAy" + - "OiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFz" + - "aApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0" + - "cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "YXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + - "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "YXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8g" + - "aGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3Jl" + - "dHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZp" + - "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + - "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + - "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + - "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + - "ICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAt" + - "IG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2Ug" + - "YXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + - "dGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFy" + - "dHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBj" + - "b21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0" + - "Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7" + - "IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0i" + - "Om1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAg" + - "J3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpk" + - "b25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + - "IC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0g" + - "XAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNo" + - "b3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMg" + - "RXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50" + - "IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ry" + - "b3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFs" + - "aXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1k" + - "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5h" + - "bGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVh" + - "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "LgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElD" + - "TVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + - "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQg" + - "c3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVz" + - "dHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJg" + - "IG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHBy" + - "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5" + - "IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIg" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9" + - "PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + - "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9y" + - "bXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBg" + - "a3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNh" + - "fG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + - "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVt" + - "cHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtD" + - "bGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0" + - "dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMg" + - "RXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNl" + - "cGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVj" + - "cmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBl" + - "bmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + - "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + - "dCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJl" + - "Y3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + - "IGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9y" + - "IHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCou" + - "aW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3Jhcnkg" + - "ZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBh" + - "bmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVh" + - "ZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3" + - "YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNv" + - "bnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVW" + - "YWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4g" + - "YW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGlu" + - "c3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUK" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMu" + - "CgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJh" + - "cGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdB" + - "WV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAt" + - "QQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + - "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + - "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + - "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + - "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + - "b3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMK" + - "ClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3Vy" + - "YXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0" + - "ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + - "CgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBj" + - "YXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBh" + - "cGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFw" + - "aSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5k" + - "IGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5" + - "LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + - "ZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNm" + - "LXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + - "ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0" + - "ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxl" + - "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + - "QVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRl" + - "d2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + - "bGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0" + - "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVp" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0" + - "ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFz" + - "ZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSBy" + - "ZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + - "LWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFy" + - "YXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3Rl" + - "ciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJl" + - "bG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBD" + - "TEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBD" + - "aG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2lu" + - "dHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVl" + - "cyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + - "ZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + - "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVy" + - "YXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBp" + - "cyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3Jl" + - "ZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0" + - "b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGlu" + - "Zy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50" + - "IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwg" + - "ZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + - "bXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFi" + - "bGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25p" + - "Y2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNm" + - "L3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52" + - "aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBp" + - "bgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNl" + - "cnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5M" + - "QiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNl" + - "cnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21h" + - "aW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNl" + - "VVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJM" + - "OiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2Vydmlj" + - "ZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6" + - "ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDog" + - "Imh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2" + - "aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToK" + - "ICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6" + - "OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVu" + - "dm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZj" + - "Zi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBu" + - "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAg" + - "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAg" + - "ICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAg" + - "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + - "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoK" + - "b3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVk" + - "OiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFu" + - "YWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAg" + - "ICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAg" + - "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRz" + - "SG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGlu" + - "c3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + - "CgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVh" + - "dGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoK" + - "CmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tl" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5" + - "LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAi" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1k" + - "b21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19o" + - "b3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0" + - "bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRv" + - "IHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4g" + - "dGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8g" + - "YC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0" + - "ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAg" + - "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNU" + - "RVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4g" + - "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9D" + - "TEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1j" + - "bGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVn" + - "aXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + - "cHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNP" + - "TkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIElu" + - "IGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRo" + - "ZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkg" + - "UHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0" + - "IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRp" + - "b246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAt" + - "LW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + - "cmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + - "IC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + - "YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVz" + - "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBz" + - "ZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRw" + - "b2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5v" + - "dCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBl" + - "bmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFu" + - "ZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0" + - "OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4" + - "dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5j" + - "ZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxh" + - "bmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9w" + - "ZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVy" + - "IG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBv" + - "bGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoj" + - "IyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3Bh" + - "Y2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZv" + - "eS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + - "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + - "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + - "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + - "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + - "eSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3du" + - "CgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBj" + - "b250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5l" + - "LCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhl" + - "IGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0" + - "aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIg" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5n" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + - "b3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2" + - "ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8" + - "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + - "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNh" + - "SURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + - "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0" + - "ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVh" + - "dApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNs" + - "dXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJ" + - "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + - "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQg" + - "YEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ry" + - "b3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4K" + - "CkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0" + - "ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZp" + - "cnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0" + - "ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0u" + + "ZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3" + + "YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91" + + "dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9u" + + "IGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxh" + + "bmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBw" + + "bGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVm" + + "YXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFu" + + "ZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJ" + + "bnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5n" + + "IHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJ" + + "dCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + + "IGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywg" + + "YW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBz" + + "aWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNl" + + "ZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNv" + + "dW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFn" + + "ZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10" + + "d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + + "IGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhh" + + "dCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMg" + + "dG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5" + + "IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBs" + + "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hl" + + "ZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCBy" + + "ZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRo" + + "ZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhl" + + "IExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1" + + "aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNk" + + "IiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5n" + + "IGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3Vs" + + "ZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBr" + + "M2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0" + + "ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBU" + + "aGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlv" + + "biBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3Ry" + + "dWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRl" + + "dmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1k" + + "ZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + + "ZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxv" + + "eW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3Vy" + + "Y2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBs" + + "YXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNz" + + "YW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUg" + + "cmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6" + + "IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwK" + + "Z3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBg" + + "YAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + + "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + + "b290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + + "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + + "aW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + + "ICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5" + + "OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + + "ID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9j" + + "YXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTog" + + "YHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4g" + + "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + + "YCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJl" + + "Z2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBp" + + "bWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVk" + + "IHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1" + + "cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "Cmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAg" + + "ICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + + "CiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0" + + "ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dp" + + "biBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3Ry" + + "eSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgoj" + + "IyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4" + + "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRy" + + "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + + "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + + "bmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + + "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + + "bmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxl" + + "YXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVh" + + "Y2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVu" + + "ZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + + "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + + "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + + "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2Jh" + + "bDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpg" + + "YGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNy" + + "ZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0" + + "aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwt" + + "c2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBg" + + "CgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5h" + + "dGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3Bl" + + "bkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFy" + + "dDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2Eg" + + "aW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4g" + + "IiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFt" + + "ZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0" + + "Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxT" + + "ZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5" + + "PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1" + + "bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1" + + "bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFu" + + "ZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0" + + "ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZp" + + "Zz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRo" + + "ZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + + "ZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMj" + + "IFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURg" + + "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + + "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElE" + + "IGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBi" + + "YXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1" + + "c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1p" + + "ZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAy" + + "IGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250" + + "cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5" + + "IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhl" + + "bG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0" + + "LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVp" + + "cmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0" + + "IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZl" + + "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sg" + + "SGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQK" + + "ZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFt" + + "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhl" + + "cndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFu" + + "ZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJv" + + "eSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + + "bmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNv" + + "bnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMj" + + "IyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5k" + + "fGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + + "c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMj" + + "IFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxh" + + "dGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNh" + + "bWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJl" + + "Y292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92" + + "aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdv" + + "dCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBi" + + "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + + "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + + "WV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZp" + + "ZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0" + + "IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91" + + "dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxk" + + "b21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3" + + "aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRv" + + "IGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBz" + + "cGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMs" + + "IHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBg" + + "bnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMg" + + "VVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVy" + + "cmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + + "cm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6" + + "IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + + "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + + "IgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBu" + + "dmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3lt" + + "ZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNv" + + "bnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoK" + + "LS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0" + + "ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJh" + + "c2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoK" + + "IyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0" + + "ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3Rv" + + "ciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0t" + + "LS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3Bl" + + "bmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMs" + + "IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2Vy" + + "dmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRl" + + "d2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5" + + "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9u" + + "cy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBz" + + "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZj" + + "ZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kg" + + "anVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + + "bmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3" + + "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95" + + "IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVz" + + "IHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8" + + "IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNr" + + "YWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + + "YCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykg" + + "fAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoK" + + "Tm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAg" + + "bGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5" + + "YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + + "YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpU" + + "aGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJ" + + "bnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + + "IGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBp" + + "dCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQg" + + "cHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRv" + + "ZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJh" + + "dGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUg" + + "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJ" + + "LWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVy" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBm" + + "b3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZp" + + "bGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFu" + + "ZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3Bl" + + "cmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVu" + + "ZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBI" + + "ZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3Jl" + + "IGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3" + + "YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQog" + + "IHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZh" + + "bCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQt" + + "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + + "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVw" + + "cyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAs" + + "IGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRl" + + "d2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmly" + + "b25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92" + + "ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5k" + + "IGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21h" + + "aW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8v" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29y" + + "a2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czov" + + "LzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNr" + + "cy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtl" + + "ci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRw" + + "Oi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVz" + + "czoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5h" + + "bWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwg" + + "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2Yt" + + "Z2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVy" + + "TmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAg" + + "ICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0" + + "ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5h" + + "YmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1k" + + "b21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1p" + + "Z3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpg" + + "YGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBp" + + "Y21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZp" + + "Y2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VI" + + "b3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJM" + + "OiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6" + + "ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29u" + + "dHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + + "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + + "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdp" + + "c3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUg" + + "dGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNl" + + "X2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDov" + + "LzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAw" + + "ODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21z" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9r" + + "ZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdh" + + "dGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3" + + "aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJh" + + "dGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1" + + "cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3Rg" + + "IE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRo" + + "ZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9" + + "PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJl" + + "Z2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJ" + + "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1u" + + "dmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+Cgpt" + + "YWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNU" + + "RVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlz" + + "Y292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29u" + + "dGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlz" + + "IHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0" + + "ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29u" + + "dGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cK" + + "ClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUg" + + "cHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2Et" + + "aWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90" + + "aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBs" + + "YW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1u" + + "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + + "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNl" + + "bGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3Vi" + + "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHBy" + + "b2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJv" + + "ZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVl" + + "cy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0" + + "aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhl" + + "IHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2gg" + + "YGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + + "dC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + + "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRv" + + "IHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVz" + + "LApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlv" + + "bgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZj" + + "Zi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAog" + + "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0K" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJh" + + "Y2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAt" + + "LWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0x" + + "MG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8" + + "cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5k" + + "IGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUu" + + "IEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRo" + + "aXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdl" + + "cmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIg" + + "aXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0" + + "aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUu" + + "IEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxl" + + "YXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + + "IE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHBy" + + "b3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8g" + + "bm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNo" + + "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBg" + + "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAog" + + "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1j" + + "b25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1p" + + "ZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1p" + + "Z25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0" + + "IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVz" + + "dHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBk" + + "ZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBs" + + "YW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0" + + "cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1w" + + "bGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19G" + + "SUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0" + + "cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkg" + + "cHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBs" + + "ZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhl" + + "CmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQg" + + "cHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBc" + + "CiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAog" + + "IC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJs" + + "PiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + + "bWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0" + + "ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBx" + + "dWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fu" + + "bm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRh" + + "cmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVz" + + "dHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJv" + + "dGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3" + + "aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + - "YWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdp" + - "c3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25s" + - "eWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUg" + - "cGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92" + - "YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBk" + - "b3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcg" + - "YW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + - "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0t" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8" + - "Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + - "LWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + - "PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24g" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + - "IEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRz" + - "IElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1" + - "c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVz" + - "IGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMg" + - "YWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2Rz" + - "IGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4K" + - "CiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3Qg" + - "dXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZp" + - "YyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVs" + - "bEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNU" + - "QVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIElt" + - "YWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0" + - "CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRo" + - "b3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMg" + - "ZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwg" + - "Z3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUg" + - "bmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+Cgoj" + - "IENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + - "bFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNl" + - "Y3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRo" + - "PSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2lu" + - "ZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0t" + - "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNw" + - "YWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQq" + - "KjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxt" + - "ZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4g" + - "KipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZv" + - "Y2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFj" + - "Y291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + - "dHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCBy" + - "ZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAt" + - "biA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBg" + - "YGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9t" + - "cwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNo" + - "Ck5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMg" + - "ICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAg" + - "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2" + - "YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMg" + - "Q2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENo" + - "ZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVs" + - "dC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQt" + - "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5l" + - "ciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBv" + - "ZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3Vl" + - "cywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRu" + - "J3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0" + - "ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95" + - "CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVh" + - "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBu" + - "ZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + - "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90" + - "IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + - "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + - "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + - "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + - "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + - "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + - "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + - "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + - "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + - "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + - "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + - "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + - "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + - "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + - "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + - "LAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMg" + - "KGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAj" + - "ICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + - "YmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24g" + - "bG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAg" + - "IC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFv" + - "IEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2Vy" + - "dmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAg" + - "QUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBh" + - "a3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0" + - "aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2ln" + - "bmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0" + - "b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + - "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMj" + - "IyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92" + - "ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1w" + - "bGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5k" + - "cmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAg" + - "IG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAg" + - "bWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFi" + - "bGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVz" + - "b3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21z" + - "CgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UK" + - "Y2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMK" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24g" + - "Y2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3Qg" + - "bWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + - "IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBm" + - "b3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVj" + - "ayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9y" + - "YWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBg" + - "YmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVu" + - "dCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + - "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + - "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + - "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + - "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + - "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + - "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + - "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + - "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + - "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + - "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + - "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + - "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + - "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + - "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + - "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + - "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + - "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + - "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + - "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + - "ZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFs" + - "CiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0" + - "cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFj" + - "aGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291" + - "bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFs" + - "cyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lp" + - "bmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFt" + - "ZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlz" + - "ICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + - "YGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3lt" + - "cHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBg" + - "VGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAg" + - "VGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBg" + - "YAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFm" + - "dGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUg" + - "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRl" + - "bGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + - "bmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZj" + - "ZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVz" + - "cGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdj" + - "b250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNv" + - "bnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlw" + - "ZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01Q" + - "VVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFy" + - "aW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5k" + - "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNl" + - "ICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9" + - "IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNl" + - "IFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4v" + - "ZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBO" + - "b3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBs" + - "ZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMg" + - "YnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + - "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + - "cG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0" + - "IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3Mg" + - "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90" + - "CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBz" + - "dWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2Ny" + - "aWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJh" + - "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBg" + - "CgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2Vj" + - "cmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + - "cm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1l" + - "c3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRl" + - "LXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMj" + - "IyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4g" + - "ZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4g" + - "VGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + - "X0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21h" + - "aW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVz" + - "cyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VV" + - "UkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3Jl" + - "cCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktl" + - "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1" + - "bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZv" + - "ciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBm" + - "aWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0" + - "aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQj" + - "ZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVz" + - "ZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdo" + - "aWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZp" + - "Y2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBj" + - "YXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNl" + - "cnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rh" + - "cnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwK" + - "fCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1h" + - "cGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5" + - "IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJj" + - "ZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxl" + - "LXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMg" + - "RGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhl" + - "bG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENh" + - "c3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBO" + - "VkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + - "cGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAg" + - "IHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBl" + - "bnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1l" + - "bnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNy" + - "ZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29y" + - "ZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + - "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sv" + - "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBD" + - "b21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5n" + - "b3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRp" + - "b24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + - "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + - "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55" + - "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + - "ci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVu" + - "dHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3Jz" + - "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNl" + - "cwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50" + - "IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1w" + - "bCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0t" + - "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRz" + - "LXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJh" + - "by1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24g" + - "bmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0" + - "ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRh" + - "bmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29y" + - "ZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + - "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1u" + - "dmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNp" + - "cyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZp" + - "Y2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNl" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkg" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8" + - "IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0" + - "ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNm" + - "LWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5" + - "IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNl" + - "LWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7" + - "dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRo" + - "ZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55" + - "YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxl" + - "ZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2" + - "YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxl" + - "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + - "LS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8" + - "IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHkt" + - "c3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJs" + - "ZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1M" + - "IG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRo" + - "ZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlB" + - "TUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRo" + - "ZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3Qg" + - "ZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRo" + - "ZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + - "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVt" + - "cGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBj" + - "aGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + - "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJp" + - "ZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBl" + - "bmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + - "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + - "ZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVy" + - "cmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVt" + - "b3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGlu" + - "IGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVj" + - "aGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNl" + - "OiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGlu" + - "ZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUt" + - "aW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBs" + - "aXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2Vz" + - "dCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRl" + - "ZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdv" + - "dG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + - "YyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0g" + - "c2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAt" + - "LSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBU" + - "aHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1l" + - "cmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFy" + - "dC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNp" + - "dGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + - "YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5k" + - "cmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBg" + - "Y2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVk" + - "YCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0g" + - "YG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0" + - "cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmls" + - "ZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNw" + - "ZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFv" + - "LmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8u" + - "c2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMg" + - "U2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3Ry" + - "eSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0g" + - "YDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0" + - "aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBp" + - "bnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBk" + - "ZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0" + - "aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jl" + - "c3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRl" + - "Y2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBu" + - "b3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9k" + - "ZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAph" + - "ZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGlj" + - "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + - "ICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAx" + - "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + - "OiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAg" + - "IHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9h" + - "ZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3Vu" + - "dDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1" + - "bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkw" + - "OTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdh" + - "eSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdh" + - "eS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0Yg" + - "QVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQg" + - "b3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFu" + - "ZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + - "SUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFu" + - "ZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNl" + - "cyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpz" + - "ZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0" + - "IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + - "b2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNp" + - "bmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0" + - "aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhl" + - "IGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6" + - "CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRl" + - "Y2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBv" + - "c2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNB" + - "UlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNr" + - "IHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25m" + - "aWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2" + - "YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRy" + - "b2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1" + - "dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9u" + - "IHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + - "bWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFp" + - "biBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFs" + - "dWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdv" + - "cmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMg" + - "Y3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBk" + - "b2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUg" + - "dXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkg" + - "dGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0" + - "ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52" + - "Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3Rs" + - "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQg" + - "cG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5l" + - "cnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAK" + - "CkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0" + - "IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5k" + - "IGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlk" + - "ZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVz" + - "L3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMg" + - "SGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoK" + - "YGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1v" + - "YnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1n" + - "YXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBh" + - "IHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMg" + - "bm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + - "ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFk" + - "ZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + - "dXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + - "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + - "ZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkg" + - "d2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNr" + - "CnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250" + - "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0" + - "aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMg" + - "RW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55" + - "YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgoj" + - "IyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1l" + - "c3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + - "aXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVp" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlm" + - "IHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBv" + - "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + - "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBu" + - "dmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAw" + - "YC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5" + - "CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + - "eW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24g" + - "aXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAt" + - "biBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJs" + - "IC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + - "cmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGlu" + - "dGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4g" + - "YXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsH" + - "CDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + - "IyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5n" + - "IE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBu" + - "dmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBv" + - "ZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmln" + - "dXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQg" + - "bmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1" + - "c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMg" + - "YXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + - "c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1z" + - "eXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFs" + - "bCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + - "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + - "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJv" + - "bC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + - "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + - "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lz" + - "dHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFu" + - "ZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGlj" + - "eQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kK" + - "bWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tn" + - "cm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8t" + - "bnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoK" + - "ICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFj" + - "ZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAg" + - "ICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0" + - "ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0" + - "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAg" + - "ICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBh" + - "bm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0" + - "LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1" + - "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZl" + - "cm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBj" + - "b250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUt" + - "cGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmlj" + - "YXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBu" + - "ZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0" + - "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVu" + - "PWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUg" + - "ZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAg" + - "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0" + - "IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBu" + - "dmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVz" + - "cGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cu" + - "CgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBw" + - "b2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + - "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZj" + - "ci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlh" + - "XC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoK" + - "IyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + - "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBu" + - "b3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Ig" + - "b24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + - "V2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5v" + - "ZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3Ry" + - "eVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhv" + - "dXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2Vj" + - "cmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBB" + - "cnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNp" + - "bWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIElt" + - "YWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kg" + - "b25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVk" + - "LiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4g" + - "LS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + - "cyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5" + - "IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hv" + - "dWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xp" + - "Y3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRo" + - "IHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250" + - "ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYA" + - "AAAWAABQSwECFAAUAAgAAAAAACEAbXN6rUoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9t" + - "YW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAA" + - "AAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQChFOOBXQwAAF0MAAA0AAkAAAAAAAAAAAAAAMeBAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEIn" + - "SQ8FDQAABQ0AADcACQAAAAAAAAAAAAAAj44AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8Z" + - "AACfGQAAOQAJAAAAAAAAAAAAAAACnAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAA" + - "GCUAADcACQAAAAAAAAAAAAAAEbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "ZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAA" + - "PQAJAAAAAAAAAAAAAACX2wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFn" + - "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEo" + - "AAA6AAkAAAAAAAAAAAAAAMnqAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2lu" + - "c3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcA" + - "ADkACQAAAAAAAAAAAAAAOxMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90" + - "YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAu" + - "AAkAAAAAAAAAAAAAAHMbAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJk" + - "b3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAA" + - "vD0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDkLcle+QsAAPkLAAAyAAkAAAAAAAAAAAAAAERhAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQDaOfDWtEcAALRHAAAtAAkAAAAAAAAAAAAAAKZtAQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA864T" + - "hHQRAAB0EQAANwAJAAAAAAAAAAAAAAC+tQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + - "ZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIA" + - "AEliAAAsAAkAAAAAAAAAAAAAAKDHAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAA" + - "AAAAAEwqAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + - "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAAYEC" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA5qkCAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAA" + - "AAB72gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAA" + - "AACiCwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxt" + - "ZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJ" + - "AAAAAAAAAAAAAAAnNgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYA" + - "AD4ACQAAAAAAAAAAAAAAVj4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + - "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAMtUAwAAAA==" + "YWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + + "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVy" + + "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + + "YGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVz" + + "dHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0" + + "IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJh" + + "dGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7" + + "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dp" + + "bmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3Np" + + "bmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgoj" + + "IyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5h" + + "bWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZp" + + "YyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSBy" + + "ZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRp" + + "YWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNv" + + "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3Mg" + + "ZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + + "ZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMj" + + "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAg" + + "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09m" + + "ZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1" + + "bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgoj" + + "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVj" + + "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZl" + + "bnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3Vi" + + "ZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhl" + + "IHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgoj" + + "IENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3Rs" + + "IGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxs" + + "U2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFj" + + "ZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dv" + + "cmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAq" + + "KlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQg" + + "bmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + + "U2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNu" + + "J3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2Vydmlj" + + "ZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJl" + + "c3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAq" + + "Kldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + + "CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVy" + + "ZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBv" + + "ZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAg" + + "ICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFw" + + "aS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBg" + + "CgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWlu" + + "aXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFv" + + "IHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJh" + + "byBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + + "aGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + + "by1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhl" + + "IHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVs" + + "dC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmlu" + + "ZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBp" + + "c3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhp" + + "cyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBh" + + "bmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "dmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + + "bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQq" + + "KjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZh" + + "dWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBg" + + "YGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAw" + + "IC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0" + + "dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBp" + + "c3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJh" + + "byBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBt" + + "b3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBv" + + "ZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNs" + + "dXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNl" + + "bnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0" + + "aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUK" + + "ICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + + "ckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBP" + + "SURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlz" + + "c3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBk" + + "aXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUt" + + "cnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlv" + + "bnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1" + + "ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1p" + + "Z3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1v" + + "cGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRo" + + "ZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtu" + + "b3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJM" + + "IHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0" + + "aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMg" + + "d2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBk" + + "ZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFs" + + "bGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgoj" + + "IyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQK" + + "TkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEt" + + "MCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + + "YGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRy" + + "YS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2Fu" + + "ZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFt" + + "cGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291" + + "cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTky" + + "TWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZN" + + "aQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZD" + + "RiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMg" + + "RmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + + "RSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAg" + + "IDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAi" + + "MC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBu" + + "b2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNp" + + "ZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMj" + + "IyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0" + + "b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVz" + + "IC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90" + + "IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoq" + + "OiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9k" + + "ZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMj" + + "IEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBg" + + "YmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBg" + + "CgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZp" + + "Y2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + + "YXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBG" + + "aXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0" + + "IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJl" + + "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMg" + + "RmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2" + + "aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBi" + + "b290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9v" + + "dHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChq" + + "b2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxv" + + "Z3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAK" + + "YGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjog" + + "Q3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1" + + "dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAg" + + "IGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9V" + + "Ul9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRv" + + "a2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkg" + + "Y2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5y" + + "ZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + + "ZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNp" + + "ZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + + "c2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBh" + + "cGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwoj" + + "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1" + + "cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0" + + "ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAg" + + "IDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpS" + + "dW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1h" + + "bCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZy" + + "b20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5h" + + "bWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMK" + + "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEg" + + "LW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsg" + + "Lm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsg" + + "bnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRl" + + "eHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7" + + "XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIg" + + "e30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmlu" + + "YWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0" + + "bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNv" + + "biAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAg" + + "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJh" + + "dyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25l" + + "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMj" + + "IFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZj" + + "YS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUg" + + "bm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Et" + + "b3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hl" + + "dGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRo" + + "ZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24g" + + "YW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBv" + + "bmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBw" + + "b2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52" + + "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52" + + "Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRl" + + "IHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGlu" + + "CmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52" + + "Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBT" + + "ZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0" + + "KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpS" + + "ZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRo" + + "ZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSBy" + + "ZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FE" + + "RFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdh" + + "eSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0" + + "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtz" + + "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + + "JEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2Vk" + + "IGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2Vy" + + "dmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRv" + + "bWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBk" + + "YXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxv" + + "eW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVm" + + "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVj" + + "dGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVj" + + "b3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFj" + + "ZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMg" + + "cnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0" + + "ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNm" + + "IHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCBy" + + "ZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwg" + + "YXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwg" + + "c2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29u" + + "dHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwK" + + "UEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1k" + + "VVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5" + + "b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAg" + + "IHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVu" + + "QmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMg" + + "KyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFi" + + "aWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFt" + + "bCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykK" + + "fCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92" + + "ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAg" + + "ICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3Rz" + + "IHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxl" + + "LmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUg" + + "ZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAg" + + "ICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJv" + + "bm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZh" + + "bHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAg" + + "ICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + + "cwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3Rl" + + "ciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9u" + + "bWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2Vu" + + "ZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBu" + + "b3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBU" + + "aGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNl" + + "IHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0t" + + "LS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVz" + + "c2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZh" + + "dWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNz" + + "YW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNl" + + "IHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVs" + + "ZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBs" + + "Cgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0t" + + "LS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMg" + + "fCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2Vy" + + "dmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9j" + + "YXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8" + + "IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZp" + + "Y2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1" + + "ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRl" + + "d2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWlu" + + "LXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwp" + + "IHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVt" + + "IHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2Vy" + + "dmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBv" + + "c2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAg" + + "YmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlz" + + "c3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nr" + + "cy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8" + + "IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0t" + + "LS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0" + + "eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFn" + + "cyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBs" + + "YXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2Vk" + + "IGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3Mg" + + "cHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBs" + + "YWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0" + + "ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91" + + "IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJl" + + "bG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9y" + + "eSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVz" + + "Ogp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hl" + + "bG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + + "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJl" + + "LWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + + "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12" + + "YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMg" + + "TXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAg" + + "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpg" + + "YGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFt" + + "bC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5" + + "YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhl" + + "cml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0" + + "byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0" + + "ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRz" + + "IHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3Qg" + + "cHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVk" + + "IGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0g" + + "cGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0" + + "ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkK" + + "NC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFs" + + "dWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJl" + + "Y2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25t" + + "ZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZh" + + "bHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNl" + + "czoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRy" + + "YS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25z" + + "LmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9k" + + "ZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5k" + + "cmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWlu" + + "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29u" + + "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0" + + "b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0" + + "b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFn" + + "ZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1h" + + "Z2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0" + + "b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJ" + + "LCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5" + + "KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVu" + + "di4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVu" + + "dAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0" + + "aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1y" + + "ZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9j" + + "YXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVk" + + "LCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxt" + + "ZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9i" + + "c29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + + "c3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06" + + "CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAg" + + "ICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZh" + + "bHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmlj" + + "czoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2Vu" + + "dENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBv" + + "bGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFy" + + "Z2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZv" + + "ciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQ" + + "SSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNl" + + "bGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0" + + "aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0lu" + + "c2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXIt" + + "dG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9u" + + "IGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2Vk" + + "IFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBz" + + "ZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJl" + + "IHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10" + + "d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJl" + + "IG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQg" + + "QmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mv" + + "c2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUu" + + "CgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRl" + + "ZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdv" + + "cmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25m" + + "aWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNpZGVjYXJzOgogICAgICAg" + + "ICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9u" + + "OjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVS" + + "X0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBp" + + "dCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11" + + "c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJl" + + "bmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZp" + + "cm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2lu" + + "ZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNl" + + "aXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBg" + + "CgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJp" + + "dmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoK" + + "RXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIg" + + "aW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBs" + + "YWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5" + + "IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0" + + "ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBw" + + "bGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52" + + "Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUg" + + "J2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + + "ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9u" + + "LXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09" + + "ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBs" + + "YWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1x" + + "dWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJl" + + "aGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dp" + + "dGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0" + + "ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxl" + + "Y3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkg" + + "cmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkg" + + "c3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoK" + + "IyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVh" + + "c2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "ZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1n" + + "cm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + + "BwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCm" + + "zhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + + "ZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFp" + + "bGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRk" + + "b24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVk" + + "IHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNs" + + "dWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + + "aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRp" + + "bCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFk" + + "ZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + + "bAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1l" + + "c3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFu" + + "IGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3Ry" + + "eToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9t" + + "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tF" + + "WT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNy" + + "LWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9" + + "JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0t" + + "bmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "YXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFp" + + "bj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkg" + + "dGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1" + + "ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2Ug" + + "YW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBW" + + "ZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFu" + + "ZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3Vi" + + "ZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6" + + "IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAK" + + "CiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRo" + + "ZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3Ry" + + "aWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGlu" + + "Zwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwg" + + "U2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMg" + + "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3Vi" + + "ZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBs" + + "YW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWly" + + "IG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlz" + + "dC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0" + + "byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24g" + + "dGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0" + + "IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBL" + + "eXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBg" + + "YGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2" + + "ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVy" + + "bm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwg" + + "c2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIK" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFj" + + "ZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1w" + + "YXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFw" + + "aVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBu" + + "YW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UK" + + "ICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAg" + + "ICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBr" + + "aW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAg" + + "ICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIK" + + "ICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAg" + + "ICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAg" + + "ICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0" + + "ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgog" + + "ICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6" + + "IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAg" + + "ICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxs" + + "c2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUK" + + "CkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGlu" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5l" + + "ZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBs" + + "YW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25s" + + "eSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBu" + + "dmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVz" + + "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkg" + + "LWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBm" + + "aWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZj" + + "ci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4g" + + "RG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZv" + + "bGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNh" + + "dGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGlu" + + "amVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMu" + + "aW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgoj" + + "IENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBq" + + "c29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1" + + "bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwg" + + "ZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVu" + + "dHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + + "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0" + + "aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBz" + + "ZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2Vj" + + "cmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJ" + + "ZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElB" + + "TSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBz" + + "ZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4K" + + "LSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lz" + + "dHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNl" + + "cy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09m" + + "ZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMg" + + "cG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVj" + + "ayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMj" + + "IyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8K" + + "IyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5n" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBj" + + "bHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFE" + + "WTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2Vz" + + "IGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBu" + + "YW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNy" + + "ZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQA" + + "CAAAAAAAIQBZ0qIWShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25V" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEA/3bzZ1NhAABTYQAAIwAJAAAAAAAAAAAAAACTEAAAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "Q8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAABAcgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "ZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKEU44FdDAAA" + + "XQwAADQACQAAAAAAAAAAAAAAx4EAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + + "L211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQidJDwUNAAAFDQAANwAJ" + + "AAAAAAAAAAAAAACPjgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29t" + + "cHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAA" + + "AAAAAAAAAAKcAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQt" + + "cnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAA" + + "AAAAAAARtgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWlu" + + "dm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAA" + + "AJfbAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + + "bnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEJx5h4BKAAAASgAADoACQAAAAAAAAAA" + + "AAAAyeoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNj" + + "cmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADIBwAAOQAJAAAAAAAAAAAA" + + "AAA7EwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1q" + + "d2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAA" + + "cxsBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAcg0PZCEjAAAhIwAAMAAJAAAAAAAAAAAAAAC8PQEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAOQtyV75CwAA+QsAADIACQAAAAAAAAAAAAAARGEBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMDU" + + "QvEaSgAAGkoAAC0ACQAAAAAAAAAAAAAApm0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDzrhOEdBEAAHQRAAA3AAkA" + + "AAAAAAAAAAAAACS4AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + + "ZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAA" + + "AAAAAAAABsoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAAAAAAAAAAsiwCAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAABngwIAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAABMrAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAAAAAAAOHcAgBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAAAAAAAAgOAwBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAAI04" + + "AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWkt" + + "YWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAA" + + "AAC8QAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxs" + + "LXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAMVcDAAAA" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index b219ee0019..bd61d2e765 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -24,6 +24,7 @@ import ( "net" "net/http" "os" + "slices" "sort" "strconv" "strings" @@ -437,10 +438,10 @@ func LoadStackValues(files []string) StackValues { // stack leaves out: each release whose condition (nats.enabled, // openbao.enabled, cassandra.enabled) is set and not true. A component the // values never mention is not listed; helmfile refuses to evaluate a missing -// condition, so such values do not describe a control-plane install. +// condition, so such values do not describe a control-plane install. Sorted. func stackExternalComponents(merged map[string]any) []string { var out []string - for _, component := range []string{"nats", "openbao", "cassandra"} { + for _, component := range validatorExternalComponents { if _, set := merged[component]; set && !releaseCondition(merged, component, "enabled") { out = append(out, component) } @@ -448,6 +449,34 @@ func stackExternalComponents(merged map[string]any) []string { return out } +// validatorExternalComponents are the stack dependencies the validator can be +// told run outside the stack, through NVCF_EXTERNAL_COMPONENTS. Sorted. +var validatorExternalComponents = []string{"cassandra", "nats", "openbao"} + +// ParseExternalComponents normalises comma-separated NVCF_EXTERNAL_COMPONENTS +// entries into a sorted, distinct list, and rejects a name the validator does +// not know, which it would otherwise ignore silently. +func ParseExternalComponents(entries []string) ([]string, error) { + seen := map[string]bool{} + var out []string + for _, raw := range entries { + for _, c := range strings.Split(raw, ",") { + c = strings.ToLower(strings.TrimSpace(c)) + if c == "" || seen[c] { + continue + } + if !slices.Contains(validatorExternalComponents, c) { + return nil, fmt.Errorf("unknown component %q: use a subset of %s", + c, strings.Join(validatorExternalComponents, ", ")) + } + seen[c] = true + out = append(out, c) + } + } + sort.Strings(out) + return out, nil +} + // stackGateways returns the Gateways the stack wires NVCF routes to, as // sorted, distinct namespace/name entries, applying the gates the stack // applies. The ingress release that renders nvcfGatewayRoutes has the diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 37fe7011af..1ae4adc31a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -1017,9 +1017,16 @@ func TestLoadStackValues_ExternalComponents(t *testing.T) { path := filepath.Join(t.TempDir(), "env.yaml") require.NoError(t, writeFile(path, []byte( "nats: {enabled: false}\nopenbao: {enabled: true}\ncassandra: {enabled: \"true\"}\n"))) - assert.Equal(t, []string{"nats", "cassandra"}, LoadStackValues([]string{path}).ExternalComponents) + assert.Equal(t, []string{"cassandra", "nats"}, LoadStackValues([]string{path}).ExternalComponents) require.NoError(t, writeFile(path, []byte("global: {}\n"))) assert.Empty(t, LoadStackValues([]string{path}).ExternalComponents) + + // An environment file layered over base.yaml turns components off. + base, env := filepath.Join(t.TempDir(), "base.yaml"), filepath.Join(t.TempDir(), "prod.yaml") + require.NoError(t, writeFile(base, []byte("nats: {enabled: true}\nopenbao: {enabled: true}\ncassandra: {enabled: true}\n"))) + require.NoError(t, writeFile(env, []byte("openbao: {enabled: false}\ncassandra: {enabled: false}\n"))) + assert.Equal(t, []string{"cassandra", "openbao"}, LoadStackValues([]string{base, env}).ExternalComponents) + assert.Empty(t, LoadStackValues([]string{base}).ExternalComponents) } // findSelfManagedStack returns the repository's self-managed stack, found @@ -1119,3 +1126,14 @@ addons: }) } } + +func TestParseExternalComponents(t *testing.T) { + got, err := ParseExternalComponents([]string{" OpenBao ,nats", "nats", ""}) + require.NoError(t, err) + assert.Equal(t, []string{"nats", "openbao"}, got) + got, err = ParseExternalComponents(nil) + require.NoError(t, err) + assert.Nil(t, got) + _, err = ParseExternalComponents([]string{"nats,redis"}) + require.ErrorContains(t, err, `unknown component "redis"`) +} From 8b7aa3c8b6e7e6d1f39fc38074f3f3503e594793 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:47:49 +0530 Subject: [PATCH 063/127] fix(nvcf-cli): report every check as a graded row, fail closed Signed-off-by: rohithb --- .../reference/exit-codes.md | 6 +- .../nvcf-self-managed-cli/reference/flags.md | 14 +- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 11 +- src/clis/nvcf-cli/cmd/BUILD.bazel | 1 + src/clis/nvcf-cli/cmd/main_test.go | 4 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 313 +- .../cmd/self_hosted_check_rows_test.go | 596 +++ .../cmd/self_hosted_check_scope_test.go | 101 - .../nvcf-cli/cmd/self_hosted_check_test.go | 94 +- .../agentskill/skilldata_generated.go | 4608 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 3 + .../internal/selfhosted/cluster_reach.go | 88 + .../internal/selfhosted/cluster_reach_test.go | 126 + .../internal/selfhosted/inotify_probe.go | 6 +- .../nvcf-cli/internal/selfhosted/output.go | 12 +- .../nvcf-cli/internal/selfhosted/preflight.go | 226 +- .../internal/selfhosted/preflight_test.go | 265 +- .../internal/selfhosted/progress/BUILD.bazel | 2 + .../internal/selfhosted/progress/event.go | 22 +- .../selfhosted/progress/render_jsonl.go | 13 +- .../selfhosted/progress/render_jsonl_test.go | 2 +- .../selfhosted/progress/render_plain.go | 18 +- .../selfhosted/progress/render_plain_test.go | 18 +- .../selfhosted/progress/render_tty.go | 110 +- .../selfhosted/progress/render_tty_test.go | 88 +- .../progress/testdata/jsonl_check.golden | 2 +- .../progress/testdata/plain_check.golden | 8 +- .../internal/selfhosted/registry_cred_test.go | 10 +- .../internal/selfhosted/severity/BUILD.bazel | 29 + .../internal/selfhosted/severity/severity.go | 52 + .../selfhosted/severity/severity_test.go | 42 + .../internal/selfhosted/stale_namespace.go | 10 +- .../selfhosted/stale_namespace_test.go | 4 +- 33 files changed, 4127 insertions(+), 2777 deletions(-) create mode 100644 src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/severity/BUILD.bazel create mode 100644 src/clis/nvcf-cli/internal/selfhosted/severity/severity.go create mode 100644 src/clis/nvcf-cli/internal/selfhosted/severity/severity_test.go diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 8d4cd3bc94..ae134d3597 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,9 +6,9 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH; default StorageClass absent; a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image). Warning-severity results exit `0` | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, refused connection, rejected credentials); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image). Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0` | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | -| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short). A check that already had its result keeps it, so a validator's own failure is exit `2` | +| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short) and no other check failed. A check that already had its result keeps it, so a validator's own failure is exit `2` | | `130` | Cancelled by SIGINT, SIGTERM or SIGHUP | User Ctrl-C; CI budget exceeded; pod evicted; terminal or SSH session closed | ## How an agent should react @@ -24,4 +24,4 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. ## Where to find more detail -`check` reports its outcome in one `final` event (`success`, `verdict`, `failedCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. When a cluster-validator run left objects in the cluster (`--no-cleanup`, a pod that would not stop, or a cleanup that failed), `check` lists the commands that remove them in the `final` event's `cleanup` array and in that row's `cleanup` field, on every exit code, and prints them again as its last stderr lines. On an interrupt it prints them at once, before its own cleanup, which a second Ctrl-C cuts short. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. +`check` reports its outcome in one `final` event (`success`, `verdict`, `totalChecks`, `passedCount`, `failedCount`, `warningCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. A usage error, such as a malformed `--wait`, exits `1` before any event. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. When a cluster-validator run left objects in the cluster (`--no-cleanup`, a pod that would not stop, or a cleanup that failed), `check` lists the commands that remove them in the `final` event's `cleanup` array and in that row's `cleanup` field, on every exit code, and prints them again as its last stderr lines. On an interrupt it prints them at once, before its own cleanup, which a second Ctrl-C cuts short. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index cdbf0a36e6..8e23e7a326 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -20,11 +20,11 @@ | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | | `--output=text\|json` | Legacy alias for `--json` (deprecated, removed in next major) | `text` | | `--plain` | Force plain streaming output | auto-detect | -| `--wait DURATION` | `check` only; poll until the check passes or DURATION runs out (exit `5`, `final` with `success: false`). A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. Cannot be combined with `--no-cleanup` | - | +| `--wait DURATION` | `check` only; poll until the check passes or DURATION runs out (exit `5`, `final` with `success: false`). A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | -| `--icms-url URL` | Public ICMS URL; required when contexts differ | derived from `base_http_url` | -| `--local-only` | `check` only; run the local-host checks and skip all kubectl contact, whatever scope flag is passed. The CLI prints a note saying so. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY` | `false` | +| `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | +| `--local-only` | `check` only; run the local-host checks and skip all cluster and registry contact, whatever scope flag is passed. The registry credential check and each selected role's cluster checks are reported as rows that pass at info and say `skipped (--local-only)`. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY` | `false` | ## `check`-specific @@ -33,12 +33,12 @@ required. Each selects a role; only the selected roles contact a cluster. | Flag | Purpose | Default | |---|---|---| -| `--pre` | Pre-flight: local-host tools plus cluster readiness. Skips SIS reachability, since SIS is not installed yet, unless `--all` or `--compute-plane` is also passed. With `--all`, or with a role's own flag, that role's validator checks the cluster as installed | `false` | +| `--pre` | Pre-flight: local-host tools plus cluster readiness. Skips SIS reachability, since SIS is not installed yet, unless `--all` or `--compute-plane` is also passed. With `--all`, or with a role's own flag, that role's validator checks the cluster as installed. A missing or unsupported `kubectl`, `helmfile` or `helm` fails only with `--pre`; other scopes check an installed stack, which runs none of them, so it warns | `false` | | `--control-plane` | Control-plane checks | `false` | | `--compute-plane` | Compute-plane checks | `false` | | `--all` | Every category, including SIS reachability when combined with `--pre` | `false` | | `--cluster-name NAME` | Cluster name for compute-plane checks | - | -| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | +| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Its `node-inotify-limits` row passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | ### Cluster-validator flags @@ -52,13 +52,13 @@ and deleting test namespaces an earlier validator run left behind. | Flag | Purpose | Default | |---|---|---| -| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere skips the probe with a warning | - | +| `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere, the validator does not run and each role's `cluster-validator` row is a warning, so the verdict is `warnings` | - | | `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | | `--cluster-validator-probe-image REF` | Image for the node inotify probe and the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components` | from the stack | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | -| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | +| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check reclaims them after 24 hours. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now | `false` | | `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 37deb44ec3..57b2254532 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -145,8 +145,9 @@ api_keys_owner_id: svc@nvcf-api.local # cluster being checked to verify prerequisites before install. One image # serves both roles; the Job environment selects the check set. The # control-plane checks need an image from an NVCA release that supports -# validator roles; with an older image the CLI reports a warning instead of -# running them. +# validator roles. An older image runs the compute-plane checks instead; the +# CLI reports that as a warning only when GPU Resources is the one critical +# check that failed, and as a failure otherwise. # # The Job needs a ServiceAccount, ClusterRole, and ClusterRoleBinding, which # the CLI creates and removes per run. The kubeconfig context therefore needs @@ -159,9 +160,9 @@ api_keys_owner_id: svc@nvcf-api.local # # When the value has no tag, the latest tag is discovered from the # registry (preferring stable releases over rc). If discovery fails, the -# validator is skipped with a note rather than pulled as :latest; pin a tag -# to avoid depending on discovery. If unset everywhere, the validator probe -# is skipped with a note on stderr. +# validator does not run, rather than pull :latest, and its row fails the +# check; pin a tag to avoid depending on discovery. If unset everywhere, the +# validator does not run and its row is a warning. # # The Job pulls with a matching pull Secret from the cluster, or one created # for the run from this machine's credential for the image's registry: the diff --git a/src/clis/nvcf-cli/cmd/BUILD.bazel b/src/clis/nvcf-cli/cmd/BUILD.bazel index 70910d0dbe..a65a33e6e4 100644 --- a/src/clis/nvcf-cli/cmd/BUILD.bazel +++ b/src/clis/nvcf-cli/cmd/BUILD.bazel @@ -121,6 +121,7 @@ go_test( "main_test.go", "registry_test.go", "root_test.go", + "self_hosted_check_rows_test.go", "self_hosted_check_scope_test.go", "self_hosted_check_stackvalues_test.go", "self_hosted_check_test.go", diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 72ca3e1937..e683b6377b 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -66,11 +66,13 @@ func TestMain(m *testing.M) { // automatic aliases of the cluster_validator_* config keys. for _, k := range []string{ "NVCF_CLI_SELFHOSTED_LOCAL_ONLY", "NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION", - "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "NVCF_CLI_SELFHOSTED_FORCE_FAIL", + "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE", "NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES", "NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE", "NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS", + "NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS", "NVCF_CLUSTER_VALIDATOR_IMAGE", "NVCF_CLUSTER_VALIDATOR_REGISTRIES", "NVCF_CLUSTER_VALIDATOR_PROBE_IMAGE", "NVCF_CLUSTER_VALIDATOR_TOLERATIONS", + "NVCF_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS", "NVCF_EXTERNAL_COMPONENTS", "NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", "NVCF_N2N_PROBE_IMAGE", "HELMFILE_ENV", "NGC_IMAGE_PULL_API_KEY", "NVCF_NGCR_API_KEY", "NVCF_NGC_API_KEY", "NGC_API_KEY", diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index f3aa72fa1f..b4a4ac6ecd 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -100,19 +100,21 @@ func init() { "Run compute-plane health checks. Requires --cluster-name.") selfHostedCheckCmd.Flags().BoolVar(&checkAll, "all", false, "Run all check categories") selfHostedCheckCmd.Flags().StringVar(&checkClusterName, "cluster-name", "", "Cluster name for compute-plane checks") - selfHostedCheckCmd.Flags().BoolVar(&checkLocalOnly, "local-only", false, "Run local-host checks only (no kubectl contact)") + selfHostedCheckCmd.Flags().BoolVar(&checkLocalOnly, "local-only", false, + "Run local-host checks only (no cluster or registry contact); the skipped checks are reported as skipped rows") selfHostedCheckCmd.Flags().BoolVar(&checkSkipInotifyCheck, "skip-inotify-check", false, - "Disable the per-node inotify-limits probe. Required when the kubeconfig user "+ - "cannot create pods in 'default', or when the probe image comes from a registry that "+ - "needs credentials: the probe pods get no pull secret. Env: NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") + "Disable the per-node inotify-limits probe; its row says it was skipped. Required when the "+ + "kubeconfig user cannot create pods in 'default', or when the probe image comes from a registry "+ + "that needs credentials: the probe pods get no pull secret. Env: NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") selfHostedCheckCmd.Flags().BoolVar(&checkSkipClusterValidation, "skip-cluster-validation", false, - "Disable the in-cluster cluster-validator probe. "+ + "Disable the in-cluster cluster-validator probe; its row says it was skipped. "+ "Env: NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorImage, "cluster-validator-image", "", "Cluster-validator container image. Resolved from --cluster-validator-image > "+ "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE > nvcf-cli config (cluster_validator_image). "+ - "If unset everywhere, the validator probe is skipped with a warning. "+ - "When the value has no tag, the latest is discovered from the registry.") + "If unset everywhere, the validator does not run and its row is a warning. "+ + "When the value has no tag, the latest is discovered from the registry; "+ + "if none is found, the validator does not run and its row fails the check.") _ = viper.BindPFlag("cluster_validator_image", selfHostedCheckCmd.Flags().Lookup("cluster-validator-image")) selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorPullSecret, "cluster-validator-pull-secret", "", @@ -170,7 +172,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if !checkPre && !checkControlPlane && !checkComputePlane && !checkAll { return fmt.Errorf("at least one of --pre, --control-plane, --compute-plane, or --all is required") } - if checkClusterValidatorNoCleanup && selfHostedWait != "" { + waitDur, err := parseCheckWait(selfHostedWait) + if err != nil { + return err + } + if checkClusterValidatorNoCleanup && waitDur > 0 { // Each poll is a new validator run, so --no-cleanup would keep a full // set of RBAC, Secret, ConfigMap and Job for every poll. return fmt.Errorf("--no-cleanup keeps one run's objects for debugging and cannot be combined with --wait") @@ -191,7 +197,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { runCtx := selfhosted.WithRegistryCredentials(c.Context(), selfhosted.NewRegistryCredentials(preferNGCKey())) localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" - skipClusterValidation := checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" + skipClusterValidation := clusterValidationSkipped() // Mode is needed before image resolution so computePlaneIsTargeted can // gate the registry round trip. ValidateFlags in PersistentPreRunE @@ -199,10 +205,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { mode := kubectx.SelectMode(selfHostedControlPlaneContext, selfHostedComputePlaneContext) // Resolve the validator image up-front so we can right-size the - // outer timeout (only when the validator actually runs) and emit a - // one-shot stderr note up-front explaining why no validator row - // appears in the output. Empty == not configured anywhere. - // One image covers both roles (VALIDATOR_ROLE selects the check set). + // outer timeout (only when the validator actually runs). Empty == not + // configured anywhere. One image covers both roles (VALIDATOR_ROLE + // selects the check set). // *IsVisited, matching the dispatch below. --pre in ModeSplit visits both // clusters but targets neither role, so gating image resolution on // *IsTargeted left the validator unresolved and both probes nil, with no @@ -217,30 +222,6 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // it again on every poll, and the validator runs once it does. clusterValidatorConfigured := anyValidatorIsTargeted && (clusterValidatorImage != "" || unresolvedImage != "") - outerTimeout := checkProbeShare - if clusterValidatorConfigured { - // A role's share is the time for the probes that run first, plus the - // longest a validator can take, which includes the wait after its own - // timeout for the Job's deadline to end the pod. Sizing on the - // validator's timeout alone ran the budget out while that wait was - // still in progress, reporting "not every check ran" in place of the - // validator's own failure. ModeSingle runs both validators in turn; - // ModeSplit runs them in parallel, so one share covers both. - perRole := checkProbeShare + selfhosted.ClusterValidatorRunCeiling() - if mode == kubectx.ModeSingle && controlPlaneIsTargeted(mode) && computePlaneIsTargeted(mode) { - outerTimeout = 2 * perRole - } else { - outerTimeout = perRole - } - } - // --wait polls for the declared duration. The outer ctx has to outlive - // the last iteration, so add waitDur on top of a single iteration's - // worth. - if selfHostedWait != "" { - if waitDur, err := time.ParseDuration(selfHostedWait); err == nil { - outerTimeout += waitDur - } - } // Every validator run that may leave objects in a cluster registers its // removal command here, across --wait polls, so every exit can print it. ledger := &selfhosted.CleanupLedger{} @@ -279,7 +260,8 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // interrupted is an explicit cancel, not the timeout below, which is a // child of sigCtx and leaves it live. interrupted := func() bool { return sigCtx.Err() != nil } - ctx, cancel := context.WithTimeout(sigCtx, checkBudget(outerTimeout)) + ctx, cancel := context.WithTimeout(sigCtx, + checkBudget(checkRunBudget(mode, localOnly, clusterValidatorConfigured, waitDur))) defer cancel() // Legacy --output=json: warn and treat as --json. @@ -288,30 +270,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { selfHostedJSON = true } - // Surface the skip as a stderr note so operators don't conflate "no - // validator row" with "validator silently dropped". Print at most one - // reason; --skip-cluster-validation takes precedence over missing - // config since it's the explicit operator choice. - // --local-only overrides the required scope flag, so say which checks - // that drops rather than print a clean host-only result for --all. - if localOnly { - fmt.Fprintln(c.ErrOrStderr(), "note: --local-only runs the local host checks only; cluster checks for the requested scope are skipped") - } - if !localOnly && (computePlaneIsVisited() || controlPlaneIsVisited()) { - switch { - case skipClusterValidation: - fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (--skip-cluster-validation)") - case unresolvedImage != "": - // Reported as a failed check row instead: a note on stderr is - // lost to a consumer of the JSON stream. - case clusterValidatorImage == "": - fmt.Fprintln(c.ErrOrStderr(), "note: cluster-validator skipped (cluster_validator_image not set in nvcf-cli config)") - } - } - - // Enumerate registries for the local credential check. Skipped when - // local-only (no network) or when no validator image is configured. - // Uses the same extras list as the in-cluster ConfigMap reachability check. + // Enumerate registries for the local credential check. --local-only + // skips it and reports a skipped row instead. Uses the same extras list + // as the in-cluster ConfigMap reachability check. var ( credEntries []selfhosted.RegistryEntry registryChecker selfhosted.RegistryCredentialChecker @@ -332,8 +293,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } cfg := selfhosted.PreflightConfig{ - LocalOnly: localOnly, - Tools: checkPreflightTools(), + LocalOnly: localOnly, + Tools: checkPreflightTools(), + // The tools are what `up` runs; checking an installed stack does + // not use them. + ToolsAdvisory: !checkPre, Registries: credEntries, RegistryChecker: registryChecker, RegistryPostInstall: checkScopeIsPostInstall(), @@ -341,7 +305,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } // A quit key in the dashboard cancels the run the way a signal does. - sink, err := selectCheckRendererFn(errOut, selfHostedWait != "", stop) + sink, err := selectCheckRendererFn(errOut, waitDur > 0, stop) if err != nil { return err } @@ -372,29 +336,28 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { results = append(results, runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger)...) } - // Inject force-fail seam for tests. - if os.Getenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL") != "" { - results = append([]selfhosted.CheckResult{{ - ID: "force-fail-test-seam", - Category: "test", - Severity: selfhosted.SeverityError, - Passed: false, - Message: "forced failure (test seam)", - }}, results...) - } return results } + exitFailed := func() error { + emitCheckFinal(context.Background(), sink, lastResults, ledger.Outstanding()) + return &ExitCodeError{Code: 2, Msg: "pre-flight checks failed"} + } // The outer budget stopped a check: one never started, or ran out of time // while it ran. Its row is no finding, so the verdict is a timeout rather // than whatever the partial set would grade as. A budget that ran out - // only after every check had its result changes nothing. + // only after every check had its result changes nothing. A blocking + // failure in a row the budget did not cut short is still exit 2: no retry + // with more time passes it. exitBudgetSpent := func() error { + if anyFindingFailed(lastResults) { + return exitFailed() + } emitCheckTimeout(sink, lastResults, ledger.Outstanding()) return &ExitCodeError{Code: 5, Msg: "timed out: the check budget ran out before every check finished"} } - if selfHostedWait == "" { + if waitDur == 0 { // Single-shot mode. lastResults = runOnce() if interrupted() { @@ -403,21 +366,16 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if anyCutShort(lastResults) { return exitBudgetSpent() } - emitCheckFinal(ctx, sink, lastResults, ledger.Outstanding()) if anyFailed(lastResults) { - return &ExitCodeError{Code: 2, Msg: "pre-flight checks failed"} + return exitFailed() } + emitCheckFinal(ctx, sink, lastResults, ledger.Outstanding()) return nil } - // --wait mode: poll every 5s until all checks pass or the duration elapses. - dur, err := time.ParseDuration(selfHostedWait) - if err != nil { - return fmt.Errorf("invalid --wait duration %q: %w", selfHostedWait, err) - } - - deadline := time.After(dur) - ticker := time.NewTicker(5 * time.Second) + // --wait mode: poll until all checks pass or the duration elapses. + deadline := time.After(waitDur) + ticker := time.NewTicker(checkPollInterval) defer ticker.Stop() // Every exit 5 reports success:false, so a gate on the final event agrees @@ -874,34 +832,48 @@ func runPreflightByRole( ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, mode kubectx.Mode, clusterValidatorImage, unresolvedImage string, ledger *selfhosted.CleanupLedger, ) []selfhosted.CheckResult { - // LocalOnly: skip all cluster probes. + // LocalOnly: skip all cluster probes, and say so in a row for each. if cfg.LocalOnly { - return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{}, sink) + return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, + selfhosted.RoleConfig{Skipped: localOnlySkips()}, sink) } // SIS reachability is a compute-plane, post-install concern: only an // explicit --all or --compute-plane asks for it. A bare --pre skips it // because SIS is not up before install, and --control-plane does not - // target the compute plane. + // target the compute plane. It probes only a URL the operator configured. icmsURL := "" + var computeSkips []selfhosted.SkippedCheck if checkAll || checkComputePlane { - icmsURL = resolveICMSURL(selfHostedICMSURL) + if icmsURL = resolveCheckSISURL(selfHostedICMSURL); icmsURL == "" { + computeSkips = append(computeSkips, selfhosted.SkippedCheck{ + Category: selfhosted.CategoryComputePlane, ID: "sis-reachability", Warn: true, + Message: "SIS reachability not checked: no ICMS URL is configured; pass --icms-url or set NVCF_ICMS_URL", + }) + } } - skipInotify := checkSkipInotifyCheck || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") != "" var inotifyProber selfhosted.NodeInotifyProber // Visited, not targeted: the inotify limit is exactly what --pre exists to // catch before NVCA bootstrap, so it must run for --pre in ModeSplit too. - if computePlaneIsVisited() && !skipInotify { - inotifyProber = newInotifyProberForSelfHosted(configuredProbeImage()) + if computePlaneIsVisited() { + if inotifyCheckSkipped() { + computeSkips = append(computeSkips, selfhosted.SkippedCheck{ + Category: selfhosted.CategoryComputePlane, ID: "node-inotify-limits", + Message: "node inotify limits skipped (--skip-inotify-check)", + }) + } else { + inotifyProber = newInotifyProberForSelfHosted(configuredProbeImage()) + } } + computeSkips = append(computeSkips, + validatorSkip(selfhosted.CategoryComputePlane, clusterValidatorImage, unresolvedImage)...) + cpSkips := validatorSkip(selfhosted.CategoryControlPlane, clusterValidatorImage, unresolvedImage) // clusterValidatorImage is resolved by the caller. Empty value means // either the operator explicitly opted out (--skip-cluster-validation / // env) or no image is configured (no flag / env / config-file value). - // Either way, leave clusterValidator nil so the validator row is - // omitted from the check stream; the caller already emitted a - // one-line stderr notice explaining which case applies. + // Either way the validator is nil and the role's Skipped row says which. // Gate on the role predicate as well as the image, mirroring // cpClusterValidator below. Without this, --control-plane in ModeSplit // still creates a ServiceAccount, cluster-wide ClusterRole/CRB, pull secret @@ -970,6 +942,7 @@ func runPreflightByRole( ValidatorCleanup: ledger, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedControlPlaneStack), + Skipped: cpSkips, } cpResults = selfhosted.RunPreflightForRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) return nil @@ -991,6 +964,7 @@ func runPreflightByRole( ValidatorCleanup: ledger, StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedComputePlaneStack), + Skipped: computeSkips, } gpuResults = selfhosted.RunPreflightForRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -1043,6 +1017,7 @@ func runPreflightByRole( StaleNamespaceProber: staleForControlPlane, StackDir: localStackDir(selfHostedControlPlaneStack), ExtraStaleNamespaces: cpExtraNamespaces, + Skipped: cpSkips, } results = append(results, selfhosted.RunPreflightForRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) @@ -1061,6 +1036,7 @@ func runPreflightByRole( ValidatorCleanup: ledger, StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), + Skipped: computeSkips, } results = append(results, selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) @@ -1224,26 +1200,28 @@ func emitCheckFinal(ctx context.Context, sink progress.EventSink, results []self verdict = "warnings" } _ = sink.Emit(ctx, progress.Final{ - Success: failed == 0, - Verdict: verdict, - TotalChecks: len(results), - PassedCount: passed, - FailedCount: failed, - Cleanup: cleanup, + Success: failed == 0, + Verdict: verdict, + TotalChecks: len(results), + PassedCount: passed, + FailedCount: failed, + WarningCount: warned, + Cleanup: cleanup, }) } // emitCheckTimeout emits the final event of a run that ended in a timeout, // exit 5. Nothing passed the gate, whatever the rows say, so success is false. func emitCheckTimeout(sink progress.EventSink, results []selfhosted.CheckResult, cleanup []string) { - passed, failed, _ := selfhosted.CountResults(results) + passed, failed, warned := selfhosted.CountResults(results) _ = sink.Emit(context.Background(), progress.Final{ - Success: false, - Verdict: "timeout", - TotalChecks: len(results), - PassedCount: passed, - FailedCount: failed, - Cleanup: cleanup, + Success: false, + Verdict: "timeout", + TotalChecks: len(results), + PassedCount: passed, + FailedCount: failed, + WarningCount: warned, + Cleanup: cleanup, }) } @@ -1272,10 +1250,117 @@ var checkPreflightTools = selfHostedPreflightTools // checkBudget is a test seam over the command's outer time budget. var checkBudget = func(d time.Duration) time.Duration { return d } -// checkProbeShare is the budget for the checks that run before a validator, -// and the whole budget of a run without one. The slowest of them, the node -// inotify probe, is bounded inside it. -const checkProbeShare = 2 * time.Minute +// checkPollInterval is how often --wait runs the checks again. A var so tests +// can shorten it. +var checkPollInterval = 5 * time.Second + +// parseCheckWait parses --wait. Empty is a single run. A malformed or +// non-positive duration is a usage error, reported before any work starts. +func parseCheckWait(raw string) (time.Duration, error) { + if raw == "" { + return 0, nil + } + d, err := time.ParseDuration(raw) + if err != nil { + return 0, fmt.Errorf("invalid --wait duration %q: %w", raw, err) + } + if d <= 0 { + return 0, fmt.Errorf("invalid --wait duration %q: must be positive", raw) + } + return d, nil +} + +// checkRunBudget is the command's outer time budget. Each role invocation gets +// the probe share, which it enforces on the checks before its validator, plus +// the validator's longest run when one is configured: its own timeout, the +// wait after it for the Job's deadline to end the pod, the reads that grade +// it and the sweeps. Sizing on the validator's timeout alone ran the budget +// out during that wait, reporting a spent budget in place of the validator's +// own failure. ModeSingle runs the two roles in turn, so each needs a share; +// ModeSplit runs them in parallel. --wait polls for its duration on top. +func checkRunBudget(mode kubectx.Mode, localOnly, validatorConfigured bool, wait time.Duration) time.Duration { + perRole := selfhosted.CheckProbeShare() + if validatorConfigured { + perRole += selfhosted.ClusterValidatorRunCeiling() + } + roles := time.Duration(1) + if !localOnly && mode == kubectx.ModeSingle && controlPlaneIsVisited() && computePlaneIsVisited() { + roles = 2 + } + return roles*perRole + wait +} + +func clusterValidationSkipped() bool { + return checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" +} + +func inotifyCheckSkipped() bool { + return checkSkipInotifyCheck || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") != "" +} + +// resolveCheckSISURL returns the SIS URL to probe, or "" when none was +// configured. Unlike resolveICMSURL it does not fall back to the client's +// built-in base_http_url, which names NVIDIA's hosted service rather than +// this install. +func resolveCheckSISURL(flagValue string) string { + if flagValue == "" && os.Getenv("NVCF_ICMS_URL") == "" && os.Getenv("NVCF_SIS_URL") == "" && + !viper.IsSet("icms_url") && !viper.IsSet("base_http_url") { + return "" + } + return resolveICMSURL(flagValue) +} + +// validatorSkip is the row for a role whose validator does not run: none when +// it runs, or when the role reports its own unresolved image. +func validatorSkip(category, image, unresolvedImage string) []selfhosted.SkippedCheck { + switch { + case clusterValidationSkipped(): + return []selfhosted.SkippedCheck{{ + Category: category, ID: "cluster-validator", + Message: "cluster-validator skipped (--skip-cluster-validation)", + }} + case image == "" && unresolvedImage == "": + return []selfhosted.SkippedCheck{{ + Category: category, ID: "cluster-validator", Warn: true, + Message: "cluster-validator not run: cluster_validator_image is not set; set it in the nvcf-cli " + + "config, NVCF_CLI_CLUSTER_VALIDATOR_IMAGE or --cluster-validator-image to validate the cluster", + }} + } + return nil +} + +// localOnlySkips are the rows for what --local-only leaves out: the registry +// credential check, and the cluster checks of each role the scope selects. +func localOnlySkips() []selfhosted.SkippedCheck { + skips := []selfhosted.SkippedCheck{{ + Category: selfhosted.CategoryRegistryCredentials, ID: "registry-credentials", + Message: "registry credentials skipped (--local-only)", + }} + if controlPlaneIsVisited() { + skips = append(skips, selfhosted.SkippedCheck{ + Category: selfhosted.CategoryControlPlane, ID: "control-plane-cluster", + Message: "control-plane cluster checks skipped (--local-only)", + }) + } + if computePlaneIsVisited() { + skips = append(skips, selfhosted.SkippedCheck{ + Category: selfhosted.CategoryComputePlane, ID: "compute-plane-cluster", + Message: "compute-plane cluster checks skipped (--local-only)", + }) + } + return skips +} + +// anyFindingFailed reports a blocking failure the cluster or host caused, not +// the budget. +func anyFindingFailed(results []selfhosted.CheckResult) bool { + for _, r := range results { + if r.IsBlockingFailure() && !r.CutShort { + return true + } + } + return false +} // anyWarningToWaitOn reports a warning expected to clear by itself, such as a // rollout the validator saw in progress. --wait keeps polling on it; a single diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go new file mode 100644 index 0000000000..17bfe29e86 --- /dev/null +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -0,0 +1,596 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package cmd + +import ( + "bytes" + "context" + "errors" + "io" + "net/http" + "net/http/httptest" + "strings" + "sync" + "sync/atomic" + "testing" + "time" + + "github.com/spf13/viper" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "nvcf-cli/internal/selfhosted" + "nvcf-cli/internal/selfhosted/kubectx" + "nvcf-cli/internal/selfhosted/progress" +) + +const pinnedValidatorImage = "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0" + +// checkStubs replaces what a recorded check run would reach outside the test. +type checkStubs struct { + stale func(ctx context.Context) ([]selfhosted.StaleNamespace, error) + validator func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult + tools func() []selfhosted.BinarySpec + budget time.Duration // 0 keeps the requested budget + noSISURL bool // leave the ICMS URL unconfigured +} + +type staleCall struct { + context string + namespaces []string +} + +type validatorCall struct { + context, role, postInstall string +} + +// checkRun is what one recorded `self-hosted check --json` run did. +type checkRun struct { + err error + stderr string + budget time.Duration + stale []staleCall + inotify []string + validators []validatorCall + sisHits int64 +} + +func (r checkRun) code() int { + if r.err == nil { + return 0 + } + var exitErr *ExitCodeError + if errors.As(r.err, &exitErr) { + return exitErr.Code + } + return 1 +} + +// row returns the check_completed event with category and id, or nil. +func (r checkRun) row(t *testing.T, category, id string) map[string]any { + t.Helper() + for _, e := range checkEvents(t, r.stderr, "check_completed") { + if e["category"] == category && e["id"] == id { + return e + } + } + return nil +} + +// runCheck runs `self-hosted check --json` with args, recording every probe +// it makes. Each prober passes unless stubs says otherwise. +func runCheck(t *testing.T, stubs checkStubs, args ...string) checkRun { + t.Helper() + resetCheckFlags(t) + var run checkRun + var mu sync.Mutex + var hits atomic.Int64 + sis := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + hits.Add(1) + w.WriteHeader(http.StatusOK) + })) + t.Cleanup(sis.Close) + if stubs.noSISURL { + t.Setenv("NVCF_ICMS_URL", "") + t.Setenv("NVCF_SIS_URL", "") + } else { + t.Setenv("NVCF_ICMS_URL", sis.URL) + } + + prevStale, prevInotify, prevCV := newStaleNamespaceProberForSelfHosted, newInotifyProberForSelfHosted, + newClusterValidatorForSelfHosted + prevTools, prevBudget := checkPreflightTools, checkBudget + t.Cleanup(func() { + newStaleNamespaceProberForSelfHosted, newInotifyProberForSelfHosted = prevStale, prevInotify + newClusterValidatorForSelfHosted, checkPreflightTools, checkBudget = prevCV, prevTools, prevBudget + }) + checkPreflightTools = passingPreflightTools + if stubs.tools != nil { + checkPreflightTools = stubs.tools + } + checkBudget = func(d time.Duration) time.Duration { + run.budget = d + if stubs.budget > 0 { + return stubs.budget + } + return d + } + newStaleNamespaceProberForSelfHosted = func() selfhosted.StaleNamespaceProber { + return func(ctx context.Context, kubeContext string, ns []string) ([]selfhosted.StaleNamespace, error) { + mu.Lock() + run.stale = append(run.stale, staleCall{kubeContext, ns}) + mu.Unlock() + if stubs.stale != nil { + return stubs.stale(ctx) + } + return nil, nil + } + } + newInotifyProberForSelfHosted = func(string) selfhosted.NodeInotifyProber { + return func(_ context.Context, kubeContext string) ([]selfhosted.NodeInotifyLimits, error) { + mu.Lock() + run.inotify = append(run.inotify, kubeContext) + mu.Unlock() + return []selfhosted.NodeInotifyLimits{{NodeName: "n1", MaxUserInstances: 8192, MaxUserWatches: 524288}}, nil + } + } + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + run.validators = append(run.validators, validatorCall{p.KubeContext, p.Role, p.Env["VALIDATOR_POST_INSTALL"]}) + mu.Unlock() + if stubs.validator != nil { + return stubs.validator(ctx, p) + } + return selfhosted.ClusterValidatorResult{Passed: true, + Logs: "Validator role: " + p.Role + "\nCluster is NVCF-Ready\n"} + } + } + + var stderr bytes.Buffer + rootCmd.SetErr(&stderr) + rootCmd.SetOut(&bytes.Buffer{}) + t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) + rootCmd.SetArgs(append([]string{"self-hosted", "check", "--json"}, args...)) + run.err = rootCmd.Execute() + run.stderr = stderr.String() + run.sisHits = hits.Load() + return run +} + +// Every check the flags select ends as a row, so a consumer of the stream can +// tell what was not checked. An explicit opt-out passes at info; a validator +// left unconfigured warns, so the verdict says the cluster was not validated. +func TestCheck_SkippedChecksAreRows(t *testing.T) { + type wantRow struct { + category, id string + passed bool + severity string + message string + } + for name, tc := range map[string]struct { + env string + args []string + rows []wantRow + verdict string + }{ + "no validator image": { + args: []string{"--control-plane"}, + rows: []wantRow{{"control-plane-cluster", "cluster-validator", false, "warning", + "cluster_validator_image is not set"}}, + verdict: "warnings", + }, + "--skip-cluster-validation": { + args: []string{"--control-plane", "--skip-cluster-validation", "--cluster-validator-image", pinnedValidatorImage}, + rows: []wantRow{{"control-plane-cluster", "cluster-validator", true, "info", + "skipped (--skip-cluster-validation)"}}, + verdict: "ok", + }, + "--skip-inotify-check": { + args: []string{"--compute-plane", "--skip-cluster-validation", "--skip-inotify-check"}, + rows: []wantRow{{"compute-plane-cluster", "node-inotify-limits", true, "info", + "skipped (--skip-inotify-check)"}}, + verdict: "ok", + }, + "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY": { + env: "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", + args: []string{"--compute-plane", "--skip-cluster-validation"}, + rows: []wantRow{{"compute-plane-cluster", "node-inotify-limits", true, "info", + "skipped (--skip-inotify-check)"}}, + verdict: "ok", + }, + "--local-only": { + args: []string{"--all", "--local-only", "--cluster-validator-image", pinnedValidatorImage}, + rows: []wantRow{ + {"registry-credentials", "registry-credentials", true, "info", "skipped (--local-only)"}, + {"control-plane-cluster", "control-plane-cluster", true, "info", "skipped (--local-only)"}, + {"compute-plane-cluster", "compute-plane-cluster", true, "info", "skipped (--local-only)"}, + }, + verdict: "ok", + }, + } { + if tc.env != "" { + t.Setenv(tc.env, "1") + } + run := runCheck(t, checkStubs{}, tc.args...) + if tc.env != "" { + t.Setenv(tc.env, "") + } + assert.Equal(t, 0, run.code(), name) + for _, want := range tc.rows { + row := run.row(t, want.category, want.id) + require.NotNil(t, row, "%s: no %s/%s row in\n%s", name, want.category, want.id, run.stderr) + assert.Equal(t, want.passed, row["passed"], name) + assert.Equal(t, want.severity, row["severity"], name) + assert.Contains(t, row["message"], want.message, name) + } + final := finalEvent(t, run.stderr) + assert.Equal(t, tc.verdict, final["verdict"], name) + assert.Equal(t, true, final["success"], name) + if name == "--local-only" { + assert.Empty(t, run.stale, "--local-only contacts no cluster") + assert.Empty(t, run.validators) + assert.Empty(t, run.inotify) + assert.Zero(t, run.sisHits) + } + if strings.Contains(name, "INOTIFY") || strings.Contains(name, "inotify") { + assert.Empty(t, run.inotify, name) + } + } +} + +// The final event counts the warnings, as category_completed and the +// dashboard do. +func TestCheck_FinalEventCountsWarnings(t *testing.T) { + run := runCheck(t, checkStubs{}, "--control-plane") + final := finalEvent(t, run.stderr) + assert.EqualValues(t, 1, final["warningCount"]) + assert.EqualValues(t, 0, final["failedCount"]) +} + +// Every passing row has severity info on the wire. +func TestCheck_EveryPassingRowIsInfo(t *testing.T) { + run := runCheck(t, checkStubs{}, "--all", "--cluster-validator-image", pinnedValidatorImage) + require.Equal(t, 0, run.code(), run.stderr) + rows := checkEvents(t, run.stderr, "check_completed") + require.NotEmpty(t, rows) + for _, row := range rows { + if row["passed"] == true { + assert.Equal(t, "info", row["severity"], "%s/%s", row["category"], row["id"]) + } + } +} + +// helmfile, helm and the Helm runtime are what the install runs. Checking an +// installed stack runs none of them, so a workstation without them warns; +// before an install it fails. +func TestCheck_LocalToolsWarnAfterInstall(t *testing.T) { + withoutHelmfile := func() []selfhosted.BinarySpec { + specs := passingPreflightTools() + for i := range specs { + if specs[i].Name == "helmfile" { + specs[i].LookPath = func(string) (string, error) { return "", errors.New("not found") } + } + } + return specs + } + for args, want := range map[string]struct { + code int + severity string + }{ + "--control-plane": {0, "warning"}, + "--all": {0, "warning"}, + "--pre": {2, "error"}, + } { + run := runCheck(t, checkStubs{tools: withoutHelmfile}, args, "--skip-cluster-validation") + assert.Equal(t, want.code, run.code(), args) + row := run.row(t, "local-host-tools", "local-host-tools-helmfile") + require.NotNil(t, row, args) + assert.Equal(t, want.severity, row["severity"], args) + } +} + +// SIS is probed only at a URL the operator configured. Without one, the row +// says so rather than probing the client's default, NVIDIA's hosted service. +func TestCheck_SISOnlyAtAConfiguredURL(t *testing.T) { + viper.Reset() + t.Cleanup(viper.Reset) + run := runCheck(t, checkStubs{noSISURL: true}, "--compute-plane", "--skip-cluster-validation") + assert.Equal(t, 0, run.code()) + row := run.row(t, "compute-plane-cluster", "sis-reachability") + require.NotNil(t, row, run.stderr) + assert.Equal(t, false, row["passed"]) + assert.Equal(t, "warning", row["severity"]) + assert.Contains(t, row["message"], "no ICMS URL is configured") + + var hits atomic.Int64 + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + hits.Add(1) + w.WriteHeader(http.StatusOK) + })) + t.Cleanup(srv.Close) + viper.Set("base_http_url", srv.URL) + run = runCheck(t, checkStubs{noSISURL: true}, "--compute-plane", "--skip-cluster-validation") + assert.Equal(t, 0, run.code()) + assert.EqualValues(t, 1, hits.Load(), "a base_http_url the operator set is the install's") + assert.Equal(t, true, run.row(t, "compute-plane-cluster", "sis-reachability")["passed"]) +} + +// A blocking finding exits 2 even when the budget cut another row short: no +// retry with more time passes it. +func TestCheck_BlockingFailureBeatsATimeout(t *testing.T) { + stuck := func(context.Context) ([]selfhosted.StaleNamespace, error) { + return []selfhosted.StaleNamespace{{Name: "nvcf", Reason: "stuck Terminating"}}, nil + } + hold := func(ctx context.Context, _ selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + return holdUntilDone(ctx) + } + for _, extra := range [][]string{nil, {"--wait", "1m"}} { + run := runCheck(t, checkStubs{stale: stuck, validator: hold, budget: 300 * time.Millisecond}, + append([]string{"--control-plane", "--cluster-validator-image", pinnedValidatorImage}, extra...)...) + assert.Equal(t, 2, run.code(), "%v", extra) + final := finalEvent(t, run.stderr) + assert.Equal(t, "failed", final["verdict"], "%v", extra) + assert.Equal(t, false, final["success"], "%v", extra) + assert.Contains(t, run.row(t, "control-plane-cluster", "cluster-validator")["message"], "cut short: ") + } +} + +// A cluster that cannot be contacted at all fails the run, with or without a +// validator: nothing about it was checked. +func TestCheck_UnreachableClusterFailsTheRun(t *testing.T) { + unreachable := func(context.Context) ([]selfhosted.StaleNamespace, error) { + return nil, &selfhosted.ClusterUnreachableError{ + Context: "typo-ctx", Err: errors.New(`context "typo-ctx" does not exist`), + } + } + for _, args := range [][]string{{"--control-plane"}, {"--pre"}} { + run := runCheck(t, checkStubs{stale: unreachable}, args...) + assert.Equal(t, 2, run.code(), "%v", args) + assert.Equal(t, false, finalEvent(t, run.stderr)["success"], "%v", args) + row := run.row(t, "control-plane-cluster", "stale-namespaces") + require.NotNil(t, row, "%v", args) + assert.Equal(t, "error", row["severity"]) + assert.Contains(t, row["message"], "cannot reach typo-ctx") + } +} + +// A malformed or non-positive --wait is a usage error, reported before any +// work: no tag discovery, no events. +func TestCheck_WaitIsParsedBeforeAnyWork(t *testing.T) { + prev := resolveLatestValidatorTagForSelfHosted + t.Cleanup(func() { resolveLatestValidatorTagForSelfHosted = prev }) + var discoveries atomic.Int32 + resolveLatestValidatorTagForSelfHosted = func(context.Context, string) (string, bool) { + discoveries.Add(1) + return "", false + } + for _, wait := range []string{"10x", "-5m", "0s"} { + run := runCheck(t, checkStubs{}, "--control-plane", "--wait", wait, + "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator") + require.Error(t, run.err, wait) + assert.Contains(t, run.err.Error(), "invalid --wait duration", wait) + assert.Equal(t, 1, run.code(), wait) + assert.NotContains(t, run.stderr, `"event"`, wait) + } + assert.Zero(t, discoveries.Load()) +} + +// The force-fail switch tests once used is gone: no environment variable can +// add a row to a production run. +func TestCheck_ForceFailEnvIsIgnored(t *testing.T) { + t.Setenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL", "1") + run := runCheck(t, checkStubs{}, "--pre", "--local-only") + assert.Equal(t, 0, run.code(), run.stderr) + assert.NotContains(t, run.stderr, "force-fail") +} + +// The outer budget, term by term: each role invocation gets the probe share +// plus the validator's run ceiling when one is configured; ModeSingle runs two +// roles in turn, ModeSplit in parallel; --wait adds its duration. +func TestCheck_BudgetTerms(t *testing.T) { + share, ceiling := selfhosted.CheckProbeShare(), selfhosted.ClusterValidatorRunCeiling() + image := []string{"--cluster-validator-image", pinnedValidatorImage} + split := []string{"--control-plane-context", "cp-ctx", "--compute-plane-context", "gpu-ctx"} + with := func(lists ...[]string) []string { + var out []string + for _, l := range lists { + out = append(out, l...) + } + return out + } + for name, tc := range map[string]struct { + args []string + want time.Duration + }{ + "no validator, one role": {[]string{"--control-plane", "--skip-cluster-validation"}, share}, + "no validator, two in turn": {[]string{"--pre", "--skip-cluster-validation"}, 2 * share}, + "validator, one role": {with([]string{"--control-plane"}, image), share + ceiling}, + "validator, two in turn": {with([]string{"--pre"}, image), 2 * (share + ceiling)}, + "validator, two in parallel": {with([]string{"--pre"}, image, split), share + ceiling}, + "unresolved image": {[]string{"--control-plane", "--cluster-validator-image", + "nvcr.io/nvidia/nvcf-byoc/cluster-validator"}, share + ceiling}, + "--local-only": {with([]string{"--all", "--local-only"}, image), share}, + "--wait": {with([]string{"--control-plane", "--wait", "15m"}, image), share + ceiling + 15*time.Minute}, + } { + run := runCheck(t, checkStubs{}, tc.args...) + assert.Equal(t, tc.want, run.budget, name) + } +} + +// An interrupt during --wait exits 130 with one cancelled final event, whether +// it lands during a poll or between polls. +func TestCheck_WaitInterrupt(t *testing.T) { + ready := selfhosted.ClusterValidatorResult{Passed: true, + Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + for name, poll := range map[string]func(quit func()) selfhosted.ClusterValidatorResult{ + "during a poll": func(quit func()) selfhosted.ClusterValidatorResult { + quit() + return ready + }, + "between polls": func(quit func()) selfhosted.ClusterValidatorResult { + time.AfterFunc(100*time.Millisecond, quit) + return selfhosted.ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: control-plane\n"} + }, + } { + prev := selectCheckRendererFn + quit := make(chan func(), 1) + selectCheckRendererFn = func(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { + quit <- onQuit + return prev(w, wait, onQuit) + } + var onQuit func() + start := time.Now() + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + if onQuit == nil { + onQuit = <-quit + } + return poll(onQuit) + }, "--wait", "10m") + selectCheckRendererFn = prev + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr, name) + assert.Equal(t, 130, exitErr.Code, name) + assert.Equal(t, true, finalEvent(t, stderr)["cancelled"], name) + assert.Less(t, time.Since(start), 5*time.Second, "%s: did not wait for the next poll", name) + } +} + +// A poll that outlasts both the --wait duration and the poll interval ends +// the wait: the deadline is checked before the ticker, which select would +// otherwise pick half the time and run the checks again on a spent wait. +func TestCheck_WaitDeadlineBeatsTheTicker(t *testing.T) { + prev := checkPollInterval + checkPollInterval = 10 * time.Millisecond + t.Cleanup(func() { checkPollInterval = prev }) + for i := 0; i < 20; i++ { + calls := 0 + err, _ := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + calls++ + time.Sleep(50 * time.Millisecond) + return selfhosted.ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: control-plane\n"} + }, "--wait", "1ms") + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 5, exitErr.Code) + require.Equal(t, 1, calls, "run %d polled again after the wait ended", i) + } +} + +// Every flag set in both topologies: which roles run and where, what each +// validator is told, which clusters are probed, and the budget. +func TestCheck_FlagAndTopologyMatrix(t *testing.T) { + share, ceiling := selfhosted.CheckProbeShare(), selfhosted.ClusterValidatorRunCeiling() + for _, tc := range []struct { + args []string + cp, gpu bool // the clusters visited + postCP, postGPU string // VALIDATOR_POST_INSTALL per role + sis bool + }{ + {args: []string{"--pre"}, cp: true, gpu: true}, + {args: []string{"--control-plane"}, cp: true, postCP: "true"}, + {args: []string{"--compute-plane"}, gpu: true, postGPU: "true", sis: true}, + {args: []string{"--all"}, cp: true, gpu: true, postCP: "true", postGPU: "true", sis: true}, + {args: []string{"--pre", "--control-plane"}, cp: true, gpu: true, postCP: "true"}, + {args: []string{"--pre", "--compute-plane"}, cp: true, gpu: true, postGPU: "true", sis: true}, + { + args: []string{"--control-plane", "--compute-plane"}, cp: true, gpu: true, + postCP: "true", postGPU: "true", sis: true, + }, + {args: []string{"--pre", "--all"}, cp: true, gpu: true, postCP: "true", postGPU: "true", sis: true}, + } { + for _, mode := range []kubectx.Mode{kubectx.ModeSingle, kubectx.ModeSplit} { + cpCtx, gpuCtx := "", "" + args := append([]string{"--cluster-validator-image", pinnedValidatorImage}, tc.args...) + if mode == kubectx.ModeSplit { + cpCtx, gpuCtx = "cp-ctx", "gpu-ctx" + args = append(args, "--control-plane-context", cpCtx, "--compute-plane-context", gpuCtx) + } + name := strings.Join(args[2:], " ") + run := runCheck(t, checkStubs{}, args...) + require.Equal(t, 0, run.code(), "%s\n%s", name, run.stderr) + + var wantValidators []validatorCall + if tc.cp { + wantValidators = append(wantValidators, validatorCall{cpCtx, "control-plane", tc.postCP}) + } + if tc.gpu { + wantValidators = append(wantValidators, validatorCall{gpuCtx, "compute-plane", tc.postGPU}) + } + assert.ElementsMatch(t, wantValidators, run.validators, name) + + if tc.gpu { + assert.Equal(t, []string{gpuCtx}, run.inotify, name) + } else { + assert.Empty(t, run.inotify, name) + } + + wantSIS := int64(0) + if tc.sis { + wantSIS = 1 + } + assert.Equal(t, wantSIS, run.sisHits, name) + + if mode == kubectx.ModeSingle { + require.Len(t, run.stale, 1, "%s: one cluster, one probe", name) + assert.Equal(t, tc.cp, contains(run.stale[0].namespaces, "vault-system"), name) + assert.Equal(t, tc.gpu, contains(run.stale[0].namespaces, "kai-scheduler"), name) + } else { + var contexts []string + for _, c := range run.stale { + contexts = append(contexts, c.context) + assert.Equal(t, c.context == gpuCtx, contains(c.namespaces, "kai-scheduler"), name) + } + var want []string + if tc.cp { + want = append(want, cpCtx) + } + if tc.gpu { + want = append(want, gpuCtx) + } + assert.ElementsMatch(t, want, contexts, name) + } + + hostRows := map[string]int{} + for _, row := range checkEvents(t, run.stderr, "check_completed") { + if row["category"] == "local-host-tools" { + hostRows[row["id"].(string)]++ + } + } + assert.Len(t, hostRows, len(passingPreflightTools())+1, "%s: each tool and the Helm runtime", name) + for id, n := range hostRows { + assert.Equal(t, 1, n, "%s: %s", name, id) + } + + wantBudget := share + ceiling + if mode == kubectx.ModeSingle && tc.cp && tc.gpu { + wantBudget = 2 * (share + ceiling) + } + assert.Equal(t, wantBudget, run.budget, name) + } + } +} + +func contains(list []string, s string) bool { + for _, v := range list { + if v == s { + return true + } + } + return false +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 01e4c73b7d..c17fda42a6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -107,19 +107,6 @@ func TestCheck_SISReachabilityScope(t *testing.T) { assert.Zero(t, hits, "--pre visits the compute plane but --control-plane does not ask for SIS") } -// --local-only overrides the required scope flag; the run says so on stderr. -func TestCheck_LocalOnlyNotesSkippedClusterChecks(t *testing.T) { - resetCheckFlags(t) - t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") - var stderr bytes.Buffer - rootCmd.SetErr(&stderr) - rootCmd.SetOut(&bytes.Buffer{}) - t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) - rootCmd.SetArgs([]string{"self-hosted", "check", "--all", "--local-only", "--json"}) - _ = rootCmd.Execute() - assert.Contains(t, stderr.String(), "--local-only runs the local host checks only") -} - // An interrupted run reports the interrupt, not a verdict: with the validator // cut short the results would otherwise read as a failure, or as a pass. func TestCheck_InterruptExits130(t *testing.T) { @@ -462,27 +449,6 @@ func TestImageRefIsPinned(t *testing.T) { } } -// The budget covers each validator's longest run, including the wait after its -// own timeout for the Job's deadline to end the pod, so a validator that times -// out is graded as its own failure and not as a spent budget. Both roles on one -// cluster run in turn and need a share each. -func TestCheck_BudgetCoversEachValidatorsFullRun(t *testing.T) { - ceiling := selfhosted.ClusterValidatorRunCeiling() - passNow := func(context.Context) selfhosted.ClusterValidatorResult { - return selfhosted.ClusterValidatorResult{Passed: true} - } - for _, tc := range []struct { - args []string - validators time.Duration - }{ - {args: nil, validators: 1}, - {args: []string{"--pre"}, validators: 2}, - } { - _, _ = runCheckWithBudget(t, time.Minute, passNow, tc.args...) - assert.GreaterOrEqual(t, requestedBudget, tc.validators*ceiling+checkProbeShare, "args %v", tc.args) - } -} - // removalCommand is the command that removes validator run runID's objects, // with no context pinned. func removalCommand(runID string) string { @@ -617,43 +583,6 @@ func TestCheck_WaitKeepsEarlierPollsRemovalCommands(t *testing.T) { assert.True(t, strings.HasSuffix(stderr, keptNote(removalCommand("run1"))), stderr) } -// An interrupt ends --wait with exit 130 and one cancelled final event, -// whether it lands during a poll that then passes, or between polls. -func TestCheck_WaitInterrupt(t *testing.T) { - ready := selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} - prev := selectCheckRendererFn - t.Cleanup(func() { selectCheckRendererFn = prev }) - for name, validator := range map[string]func(quit func()) func(context.Context) selfhosted.ClusterValidatorResult{ - "during a poll": func(quit func()) func(context.Context) selfhosted.ClusterValidatorResult { - return func(context.Context) selfhosted.ClusterValidatorResult { - quit() - return ready - } - }, - "between polls": func(quit func()) func(context.Context) selfhosted.ClusterValidatorResult { - return func(context.Context) selfhosted.ClusterValidatorResult { - time.AfterFunc(100*time.Millisecond, quit) - return selfhosted.ClusterValidatorResult{Err: errors.New("did not finish")} - } - }, - } { - var onQuit atomic.Value - selectCheckRendererFn = func(w io.Writer, wait bool, q func()) (progress.EventSink, error) { - onQuit.Store(q) - return prev(w, wait, q) - } - quit := func() { onQuit.Load().(func())() } - start := time.Now() - err, stderr := runCheckWithBudget(t, time.Minute, validator(quit), "--wait", "10m") - var exitErr *ExitCodeError - require.ErrorAs(t, err, &exitErr, name) - assert.Equal(t, 130, exitErr.Code, name) - final := finalEvent(t, stderr) - assert.Equal(t, true, final["cancelled"], name) - assert.Less(t, time.Since(start), 5*time.Second, "%s: no further poll runs", name) - } -} - // An interrupt after the budget ran out reports the interrupt only: no // synthetic cut-short or not-run rows ahead of the cancelled final event. func TestCheck_InterruptAfterTheBudgetEmitsNoSyntheticRows(t *testing.T) { @@ -740,33 +669,3 @@ func TestSelectCheckRenderer_TTYCarriesOnQuit(t *testing.T) { assert.Equal(t, 1, quits, "wait=%v", wait) } } - -// The budget is exact: the probes' share, plus each validator's longest run -// for the validators that run in turn, plus the --wait duration. The inotify -// probe fits in the probes' share. -func TestCheck_BudgetComposition(t *testing.T) { - assert.Less(t, selfhosted.InotifyProbeBudget(), checkProbeShare) - perRole := checkProbeShare + selfhosted.ClusterValidatorRunCeiling() - passNow := func(context.Context) selfhosted.ClusterValidatorResult { - return selfhosted.ClusterValidatorResult{Passed: true} - } - for name, tc := range map[string]struct { - args []string - want time.Duration - }{ - "no validator": {args: []string{"--cluster-validator-image", ""}, want: checkProbeShare}, - "one role": {want: perRole}, - "split, both roles": {args: []string{"--all", "--control-plane-context", "a", "--compute-plane-context", "b"}, - want: perRole}, - "unresolved image": {args: []string{"--cluster-validator-image", "nvcr.io/nvidia/validator"}, want: perRole}, - "single, both roles": {args: []string{"--pre"}, want: 2 * perRole}, - "one role, --wait": {args: []string{"--wait", "10m"}, want: perRole + 10*time.Minute}, - "single, both, --wait": {args: []string{"--all", "--wait", "10m"}, want: 2*perRole + 10*time.Minute}, - "no validator, --wait 1m": {args: []string{"--cluster-validator-image", "", "--wait", "1m"}, - want: checkProbeShare + time.Minute}, - } { - requestedBudget = 0 - _, _ = runCheckWithBudget(t, time.Second, passNow, tc.args...) - assert.Equal(t, tc.want, requestedBudget, name) - } -} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 1f15e28548..8ded65fdcb 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -116,14 +116,13 @@ func TestCheck_NewJSON(t *testing.T) { // TestCheck_WaitTimesOutCleanly verifies that --wait honors the timeout duration. func TestSelfHostedCheck_WaitTimesOutCleanly(t *testing.T) { - resetCheckFlags(t) - t.Setenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY", "1") - t.Setenv("NVCF_CLI_SELFHOSTED_FORCE_FAIL", "1") // seam: forces a failing check - rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--wait", "2s"}) + stuck := func(context.Context) ([]selfhosted.StaleNamespace, error) { + return []selfhosted.StaleNamespace{{Name: "nvcf", Reason: "stuck Terminating"}}, nil + } start := time.Now() - err := rootCmd.Execute() + run := runCheck(t, checkStubs{stale: stuck}, "--control-plane", "--skip-cluster-validation", "--wait", "2s") elapsed := time.Since(start) - assert.Error(t, err) + assert.Equal(t, 5, run.code()) assert.True(t, elapsed >= 2*time.Second && elapsed < 5*time.Second, "wait should have honored 2s timeout, got %s", elapsed) } @@ -253,9 +252,14 @@ func TestCheck_LocalOnlyFlag(t *testing.T) { } } assert.Contains(t, categories, "local-host-tools", "expected local-host-tools category") - for _, cat := range categories { - assert.NotEqual(t, "control-plane-cluster", cat, "control-plane-cluster must not appear with --local-only") - assert.NotEqual(t, "compute-plane-cluster", cat, "compute-plane-cluster must not appear with --local-only") + // The cluster categories hold only the row that says they were skipped. + for _, l := range lines[1:] { + if l["event"] != "check_completed" { + continue + } + if cat := l["category"]; cat == "control-plane-cluster" || cat == "compute-plane-cluster" { + assert.Contains(t, l["message"], "skipped (--local-only)", "%s/%s", cat, l["id"]) + } } } @@ -495,66 +499,18 @@ func TestCheck_ControlPlaneFlagRunsChecks(t *testing.T) { "--control-plane must produce control-plane-cluster events") } -// TestCheck_ValidatorSkipNoteAppearsOnComputePlane verifies that the -// "cluster-validator skipped" note appears on stderr when --compute-plane is -// used with --skip-cluster-validation (compute plane is targeted, validator is -// suppressed). -func TestCheck_ValidatorSkipNoteAppearsOnComputePlane(t *testing.T) { - resetCheckFlags(t) - t.Cleanup(func() { - selfHostedJSON = false - selfHostedOutput = "text" - checkComputePlane = false - checkSkipClusterValidation = false - }) - // --skip-cluster-validation does not gate the inotify prober, which lists - // every node and creates a privileged pod on each. Without this the test - // writes to whatever cluster is in the developer's current kubecontext. - t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") - - var stderr bytes.Buffer - rootCmd.SetErr(&stderr) - rootCmd.SetOut(&bytes.Buffer{}) - - rootCmd.SetArgs([]string{ - "self-hosted", "check", "--compute-plane", - "--skip-cluster-validation", "--json", - }) - _ = rootCmd.Execute() - - assert.Contains(t, stderr.String(), "cluster-validator skipped", - "expected skip note when compute plane is targeted and --skip-cluster-validation is set") -} - -// --pre in ModeSplit visits both clusters, so when the validator is skipped the -// operator must be told why. This previously asserted silence, which is the -// "no validator row vs validator silently dropped" confusion the note exists -// to prevent. -func TestCheck_ValidatorSkipNotePresentForPreInSplitMode(t *testing.T) { - resetCheckFlags(t) - t.Cleanup(func() { - selfHostedJSON = false - selfHostedOutput = "text" - checkPre = false - checkSkipClusterValidation = false - selfHostedControlPlaneContext = "" - selfHostedComputePlaneContext = "" - }) - - var stderr bytes.Buffer - rootCmd.SetErr(&stderr) - rootCmd.SetOut(&bytes.Buffer{}) - - rootCmd.SetArgs([]string{ - "self-hosted", "check", "--pre", - "--skip-cluster-validation", "--json", - "--control-plane-context", "admin@cp", - "--compute-plane-context", "admin@gpu1", - }) - _ = rootCmd.Execute() - - assert.Contains(t, stderr.String(), "cluster-validator skipped", - "--pre in split mode visits both clusters, so an explicit skip must be explained") +// --pre in ModeSplit visits both clusters, so a skipped validator is a row in +// each: a consumer of the stream must not read "no validator row" as +// "validated". +func TestCheck_SkippedValidatorIsARowForPreInSplitMode(t *testing.T) { + run := runCheck(t, checkStubs{}, "--pre", "--skip-cluster-validation", + "--control-plane-context", "admin@cp", "--compute-plane-context", "admin@gpu1") + for _, category := range []string{"control-plane-cluster", "compute-plane-cluster"} { + row := run.row(t, category, "cluster-validator") + require.NotNil(t, row, category) + assert.Contains(t, row["message"], "skipped (--skip-cluster-validation)", category) + } + assert.Empty(t, run.validators) } func parseJSONLLines(t *testing.T, s string) []map[string]any { diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index faac6b260a..de492a1623 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTIyODAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTMzOTUsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiZGMwM2JmMDIxYTY2M2NjMGE3" + - "ZmU5MjNjMDgyY2UzNWY1YTg0N2ZjZjk3ZmI1ZjM0YzY2YjY1NDIyMjFiNzAxIiwKICAgICAgInNp" + - "emUiOiAzMDY1CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MzQxZDdjN2MwMTU2MWUz" + - "ZWUyM2U2ZGM3OGY5MTA2NjI4ZGNiMWMzMTRkZDIwMThjNzQ0Mzc1ZDU3ZjdkYWExIiwKICAgICAg" + - "InNpemUiOiAxODk3MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMDAyYmE2MDlhNjMzYmYxNDkw" + + "ZWM1NGJhZjIyN2E3ZTY2ZDMwODM4NzkxZDBhZGQ5MWEzMWFhNzQ4ZmE5NjEyIiwKICAgICAgInNp" + + "emUiOiAzNDA2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1NDBkYjcxZGNjNzUwYmFi" + + "YmE5YTMzN2ZjM2M1MGViYmI0MmZiODU0YWYyNmU2MzVmMzcxNmI0NWM2N2UzYWZiIiwKICAgICAg" + + "InNpemUiOiAxOTc0NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCFnSohZKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCNHlRwRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1624,2296 +1624,2316 @@ const skillDataZipBase64 = "" + "IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0" + "d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAy" + "YCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBz" + - "ZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIOyBk" + - "ZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQ7IGEgY2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3Vs" + - "ZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVv" + - "dXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50YWdnZWQgaW1hZ2UpLiBXYXJuaW5nLXNldmVyaXR5" + - "IHJlc3VsdHMgZXhpdCBgMGAgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4g" + - "KyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9p" + - "bnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVk" + - "IG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRpZCBub3QgcGFz" + - "cyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGluZyBhIHJvbGxvdXQgc3RpbGwgaW4gcHJvZ3Jlc3M7" + - "IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0b3BwZWQgYSBjaGVjayBiZWZvcmUgaXQgZmluaXNo" + - "ZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9yIGN1dCBzaG9ydCkuIEEgY2hlY2sgdGhhdCBhbHJl" + - "YWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJl" + - "IGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3Ig" + - "U0lHSFVQIHwgVXNlciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQ7IHRl" + - "cm1pbmFsIG9yIFNTSCBzZXNzaW9uIGNsb3NlZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJl" + - "YWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVl" + - "IC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sg" + - "YmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8g" + - "cmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWly" + - "IGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJl" + - "cXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAt" + - "LXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBg" + - "NWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBz" + - "dGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRv" + - "bWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1y" + - "dW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMg" + - "aXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBg" + - "ZmFpbGVkQ291bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBs" + - "ZXMvY2ktcGlwZWxpbmVzLm1kYC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2VgIGFu" + - "ZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVudCBmb3IgYSB3" + - "YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYC4g" + - "QSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0aCBgY2FuY2VsbGVk" + - "OiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFzZV9jYW5j" + - "ZWxsZWRgIGJlZm9yZSBpdC4gV2hlbiBhIGNsdXN0ZXItdmFsaWRhdG9yIHJ1biBsZWZ0IG9iamVj" + - "dHMgaW4gdGhlIGNsdXN0ZXIgKGAtLW5vLWNsZWFudXBgLCBhIHBvZCB0aGF0IHdvdWxkIG5vdCBz" + - "dG9wLCBvciBhIGNsZWFudXAgdGhhdCBmYWlsZWQpLCBgY2hlY2tgIGxpc3RzIHRoZSBjb21tYW5k" + - "cyB0aGF0IHJlbW92ZSB0aGVtIGluIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGFycmF5" + - "IGFuZCBpbiB0aGF0IHJvdydzIGBjbGVhbnVwYCBmaWVsZCwgb24gZXZlcnkgZXhpdCBjb2RlLCBh" + - "bmQgcHJpbnRzIHRoZW0gYWdhaW4gYXMgaXRzIGxhc3Qgc3RkZXJyIGxpbmVzLiBPbiBhbiBpbnRl" + - "cnJ1cHQgaXQgcHJpbnRzIHRoZW0gYXQgb25jZSwgYmVmb3JlIGl0cyBvd24gY2xlYW51cCwgd2hp" + - "Y2ggYSBzZWNvbmQgQ3RybC1DIGN1dHMgc2hvcnQuIEV2ZXJ5IG90aGVyIG5vbi16ZXJvIGV4aXQg" + - "ZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQgd2l0aCBgZXJyQ2F0" + - "ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwgYHJldHJ5Q2xhc3Ng" + - "IChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlhdGlvbnx1bmtub3du" + - "YCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3YCAoc3VicHJvY2Vz" + - "cyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1lIHRoZXNlIGluIGAt" + - "LWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20gc3RkZXJyLgpQSwcI" + - "5C3JXvkLAAD5CwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGZsYWcg" + - "cmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQpCgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcgRklMRWAgfCBDb25m" + - "aWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0tZGVidWdgIHwgVmVy" + - "Ym9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0tanNvbmAgfCBKU09O" + - "TCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5kZXIgYC0tbm9uLWlu" + - "dGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNpc3RlbnQgYWNyb3Nz" + - "IHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz0uLi5gIHwgQ29udHJvbC1wbGFuZSBidW5kbGUgc291" + - "cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kg" + - "VVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFuZS1zdGFjaz0uLi5g" + - "IHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBg" + - "b2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8Cnwg" + - "YC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1lLiBgY2hl" + - "Y2tgIHJlYWRzIHRoZSBzdGFjaydzIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgb25seSBmb3Ig" + - "YW4gZW52aXJvbm1lbnQgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLCBzbyBw" + - "YXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGluZ3MgcmVhZCBmcm9t" + - "IHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwgYGxvY2FsYCB8Cnwg" + - "YC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFsc2Vg" + - "IHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9u" + - "IHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5v" + - "dCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwgTGVn" + - "YWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9y" + - "KSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8" + - "IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgcG9sbCB1" + - "bnRpbCB0aGUgY2hlY2sgcGFzc2VzIG9yIERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZp" + - "bmFsYCB3aXRoIGBzdWNjZXNzOiBmYWxzZWApLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0" + - "byBjbGVhciwgc3VjaCBhcyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcs" + - "IGFuZCBpdHMgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50OiB0cnVl" + - "YC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0tbm8tY2xlYW51cGAgfCAtIHwKfCBgLS1jb250" + - "cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFu" + - "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJy" + - "ZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVp" + - "cmVkIHdoZW4gY29udGV4dHMgZGlmZmVyIHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8" + - "CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgbG9jYWwtaG9zdCBjaGVj" + - "a3MgYW5kIHNraXAgYWxsIGt1YmVjdGwgY29udGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBw" + - "YXNzZWQuIFRoZSBDTEkgcHJpbnRzIGEgbm90ZSBzYXlpbmcgc28uIEVudjogYE5WQ0ZfQ0xJX1NF" + - "TEZIT1NURURfTE9DQUxfT05MWWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0" + - "IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFu" + - "ZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIEVhY2ggc2VsZWN0cyBhIHJvbGU7IG9ubHkgdGhl" + - "IHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3Qg" + - "dG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwgc2lu" + - "Y2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBvciBgLS1jb21wdXRl" + - "LXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRoIGEgcm9sZSdzIG93" + - "biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVzdGVyIGFzIGluc3Rh" + - "bGxlZCB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ29udHJvbC1wbGFuZSBjaGVj" + - "a3MgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBsYW5lYCB8IENvbXB1dGUtcGxhbmUgY2hlY2tz" + - "IHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEV2ZXJ5IGNhdGVnb3J5LCBpbmNsdWRpbmcgU0lTIHJl" + - "YWNoYWJpbGl0eSB3aGVuIGNvbWJpbmVkIHdpdGggYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNs" + - "dXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBmb3IgY29tcHV0ZS1wbGFuZSBjaGVja3Mg" + - "fCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlm" + - "eS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNy" + - "ZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMgb24gYSBy" + - "ZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9kcyBnZXQg" + - "bm8gcHVsbCBzZWNyZXQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8" + - "IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1" + - "bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVz" + - "IGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZv" + - "ciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBp" + - "dCByZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhl" + - "IHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFn" + - "ZSB0aG9zZS4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUn" + - "cyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdy" + - "aXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGlu" + - "ZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12" + - "YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjog" + - "ZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1" + - "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxh" + - "dGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2Nv" + - "dmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBj" + - "aGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkg" + - "cG9sbC4gVW5zZXQgZXZlcnl3aGVyZSBza2lwcyB0aGUgcHJvYmUgd2l0aCBhIHdhcm5pbmcgfCAt" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwu" + - "Li5gIHwgRXh0cmEgcmVnaXN0cmllcyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0" + - "aGlzIG1hY2hpbmUsIGFuZCB0aGVpciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29u" + - "dHJvbC1wbGFuZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ss" + - "IGFzIGluIGBoYXJib3IuZXhhbXBsZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSBy" + - "ZWdpc3RyaWVzIHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyBy" + - "ZWdpc3RyeSwgdGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwu" + - "aW1hZ2UucmVwb3NpdG9yeWAsIGFuZCBgcXVheS5pb2AgZm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNN" + - "RSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBsZWF2ZXMgY2VydC1tYW5hZ2VyIG91dCBvciBzZXRz" + - "IGBjZXJ0TWFuYWdlci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCwgYXMg" + - "YSB3YXJuaW5nIG9ubHksIHdoZW4gbmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1l" + - "cyBhIHJlZ2lzdHJ5LiBUaGUgaW4tcG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2Ug" + - "dGhlIHBvZCBoYXMgbm8gcHJveHkuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5k" + - "LiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + - "QUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lz" + - "dHJpZXNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IElt" + - "YWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxp" + - "ZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5" + - "Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52" + - "OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBj" + - "bHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tl" + - "ciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwu" + - "Li5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBu" + - "b3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhl" + - "IGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4g" + - "QW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNl" + - "cGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0" + - "byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmly" + - "b25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9D" + - "TFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rl" + - "cl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0t" + - "Y2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8" + - "IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRy" + - "b2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVz" + - "IHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVk" + - "dWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQu" + - "IFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZB" + - "TElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVy" + - "YXRpb25zYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwg" + - "ZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxp" + - "ZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRv" + - "ciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcg" + - "dGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5" + - "LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9y" + - "IHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0" + - "aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGBy" + - "ZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRh" + - "aWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRv" + - "LWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1" + - "c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmln" + - "dXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBv" + - "dXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0" + - "aGUgaW1hZ2UuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJ" + - "T05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9i" + - "LCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcu" + - "IEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQs" + - "IHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNw" + - "ZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayByZWNsYWlt" + - "cyB0aGVtIGFmdGVyIDI0IGhvdXJzLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVh" + - "bnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhh" + - "dCByZW1vdmVzIHRoZW0gbm93IHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IHRo" + - "ZSB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cy4g" + - "VGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBz" + - "dGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3Ry" + - "ZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVz" + - "IGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3Jl" + - "ZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25m" + - "aWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNT" + - "dG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkg" + - "a2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9L" + - "RVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJ" + - "X0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5" + - "IGZvciBhCmJhcmUgYC0tcHJlYCBydW4gd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2lu" + - "Y2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsCnNlY3JldHMgZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVy" + - "IHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4KCk9ubHkgYSBjcmVkZW50aWFsIHRoZSByZWdpc3Ry" + - "eSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZvciBhbiBOVklESUEKcmVnaXN0cnkg" + - "dGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQSByZWplY3RlZCBOR0MgQVBJIGtleSBhZnRl" + - "ciBpbnN0YWxsIGlzCmEgd2FybmluZywgc2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMgd2l0aCBpdHMg" + - "b3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFjaGluZSBjYW5ub3QgcmVhY2gsIGEg" + - "dG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNyZWRlbnRpYWwg" + - "YXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2gg" + - "YXMgRUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBza2lwcGVkIHdpdGggYSBjb21tYW5k" + - "IHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMgbWFjaGluZSBp" + - "biBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQgY3JlZGVudGlh" + - "bHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRz" + - "IHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmly" + - "b25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0" + - "dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0t" + - "LXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBn" + - "YXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNz" + - "LmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMu" + - "bmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMu" + - "bGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFy" + - "YXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkg" + - "dGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwK" + - "fCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxl" + - "ck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFs" + - "IGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5h" + - "YmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0" + - "ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBPcGVu" + - "QmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkg" + - "cHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBg" + - "TlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBm" + - "cm9tIHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkg" + - "ZGVzY3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAt" + - "LWVudmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyBub3QgdXNl" + - "ZCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBgYmFzZS55YW1s" + - "YAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhlIHN0YWNrIHRo" + - "ZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25seSBydW4pLCBlbHNlIHRoZSBDTEkncwog" + - "IGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQg" + - "YW4gYG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIgY29tbWFuZCBleHRy" + - "YWN0ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywKICBgZmlsZTovL2AgaW5jbHVk" + - "ZWQsIGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZAog" + - "IHN0YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJl" + - "YWRzIHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90" + - "aGVyd2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRv" + - "ciBmaW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHBy" + - "b2JlZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElD" + - "TVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElE" + - "YCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05g" + - "IHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1y" + - "dW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8Cgoj" + - "IyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxh" + - "bmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1y" + - "ZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNh" + - "ZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBw" + - "YW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNl" + - "YCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + - "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJl" + - "cXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8" + - "IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJs" + - "IFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGlu" + - "Z2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAg" + - "fAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUg" + - "b25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8" + - "IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkg" + - "fCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBF" + - "eHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0" + - "aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1" + - "bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12" + - "YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIg" + - "bWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25k" + - "cyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4K" + - "CiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + - "Y29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9j" + - "IGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + - "LS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENv" + - "bnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBp" + - "bmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRh" + - "aW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RS" + - "RUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFy" + - "dCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3" + - "aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fk" + - "cy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZp" + - "Y2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0" + - "YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQg" + - "bW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBM" + - "TE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixy" + - "b3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxl" + - "LiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBg" + - "RGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21i" + - "aW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVs" + - "ZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8" + - "IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhh" + - "dmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBO" + - "Q0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFi" + - "bGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVz" + - "IGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExN" + - "IGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1l" + - "dGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xh" + - "cmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBt" + - "b2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2As" + - "IGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGlu" + - "Z01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVs" + - "dGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGlt" + - "aXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIg" + - "dG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMg" + - "YXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMp" + - "LCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1p" + - "dHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAt" + - "V2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9m" + - "IGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNl" + - "dCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5h" + - "bWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3Qu" + - "IGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBv" + - "c2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1" + - "c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElE" + - "IHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJk" + - "ZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMg" + - "Y2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7" + - "IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lm" + - "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3Mg" + - "VEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11" + - "cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0" + - "aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBS" + - "b3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTog" + - "YDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8" + - "CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rp" + - "b24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55" + - "IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291" + - "bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJy" + - "aWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJp" + - "ZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rp" + - "b24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5h" + - "bWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2Vu" + - "UmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJl" + - "IG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAt" + - "c3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBz" + - "cGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVx" + - "dWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0t" + - "aW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4t" + - "aW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5g" + - "IHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8" + - "IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAt" + - "LWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJz" + - "IHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlu" + - "cHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0" + - "aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hh" + - "cnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUg" + - "bmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAg" + - "fAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRo" + - "b3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1p" + - "bWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBg" + - "LS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBv" + - "ciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBg" + - "LS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVy" + - "cmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5E" + - "YCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVj" + - "aWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBg" + - "LS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBj" + - "b250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXpl" + - "IDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJv" + - "bm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVg" + - "IHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQg" + - "cmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1" + - "biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8g" + - "dGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1" + - "ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3Mkhg" + - "IHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIg" + - "c3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVz" + - "dWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFy" + - "dGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVw" + - "bG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJl" + - "cXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMg" + - "TkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAt" + - "LXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRh" + - "YmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJh" + - "dGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBg" + - "LS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwg" + - "LSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBl" + - "bmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMg" + - "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwjA1ELxGkoAABpKAABQSwMEFAAIAAAAAAAh" + - "AAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJv" + - "dWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycyDi" + - "hpIgZGlhZ25vc3RpYyBjb21tYW5kIOKGkiByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGgg" + - "dGhlIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0x" + - "NSkg4oCUIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYW4gYGVyckNhdGVnb3J5YCBh" + - "bmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKfCBTeW1wdG9tIHwgQ2F1" + - "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3Qgb24gUEFUSGAg" + - "fCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwgfCBJbnN0YWxsIGt1" + - "YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3Rh" + - "bGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9n" + - "aXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IG9u" + - "IFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBg" + - "R2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVkYCB8IGVudm95LWdhdGV3YXkgcHJlcmVxIG1p" + - "c3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3" + - "YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3Bh" + - "Y2VgIHwKfCBgZGVmYXVsdCBTdG9yYWdlQ2xhc3Mgbm90IGF2YWlsYWJsZWAgfCBDbHVzdGVyIGhh" + - "cyBubyBkZWZhdWx0IFNDIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4g" + - "LXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMu" + - "aW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBHUFUgb3BlcmF0b3Igbm90IGlu" + - "c3RhbGxlZGAgKGNvbXB1dGUtcGxhbmUpIHwgbnZpZGlhIEdQVSBvcGVyYXRvciBtaXNzaW5nIHwg" + - "SW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRp" + - "dmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2Ug" + - "YGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2IHwKfCBgR1BVIG5vZGUgbGFiZWxzIG1pc3Npbmdg" + - "IChjb21wdXRlLXBsYW5lKSB8IE5vZGVzIG5lZWQgYG52aWRpYS5jb20vZ3B1LmZhbWlseWAgZXRj" + - "LiB8IFNldCBgLS1rM3Mtbm9kZS1sYWJlbCBudmlkaWEuY29tL2dwdS5mYW1pbHk9aG9wcGVyQGFn" + - "ZW50Ok5gIGZvciBrM2QgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + - "biB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4p" + - "IHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZj" + - "Zi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0" + - "aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhw" + - "ZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24g" + - "ZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0" + - "aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRo" + - "b3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGlu" + - "dm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2Ny" + - "aXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVk" + - "IG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBz" + - "dHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3Vi" + - "ZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05D" + - "UC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKA" + - "lCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAs" + - "IGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUg" + - "cHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwg" + - "YC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1y" + - "ZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVu" + - "diAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxh" + - "bmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJh" + - "RW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxl" + - "YXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZg" + - "IGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5" + - "OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5p" + - "by8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFu" + - "ZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9u" + - "dmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1h" + - "dGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBg" + - "Tm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJ" + - "Q01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUg" + - "SzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + - "c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZj" + - "Zi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdy" + - "b25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNr" + - "IHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9Z" + - "SU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCU" + - "IHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3Mg" + - "LW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91" + - "dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJl" + - "Z2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91" + - "cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFk" + - "ZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBh" + - "bHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBO" + - "VkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3Qu" + - "bnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVz" + - "IHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8g" + - "YWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFy" + - "dCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwjzrhOEdBEA" + - "AHQRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNG" + - "IHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBz" + - "dGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlv" + - "biBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQg" + - "dHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2Yt" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwg" + - "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQog" + - "IHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3lt" + - "ZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxv" + - "Y2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4w" + - "CmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0g" + - "Pj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNp" + - "b24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEu" + - "Y29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + - "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + - "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwg" + - "UmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0" + - "aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIK" + - "ICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBz" + - "ZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGlu" + - "c3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gs" + - "IHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjog" + - "Y2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJh" + - "dGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUg" + - "YW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNl" + - "IHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0" + - "Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1z" + - "dGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRv" + - "ZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rp" + - "b24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0" + - "aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVk" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwK" + - "YWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + - "aGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wt" + - "cGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + - "b3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5l" + - "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + - "b3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNo" + - "aW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291" + - "cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNp" + - "b24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJl" + - "bG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21t" + - "YW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + - "IyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55" + - "IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54" + - "ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBN" + - "dXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1k" + - "aWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4g" + - "MSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1" + - "biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBg" + - "YGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBl" + - "bnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRo" + - "ZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0" + - "cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBF" + - "bmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJj" + - "L2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5k" + - "aW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRp" + - "b24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRl" + - "ZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAg" + - "ICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwg" + - "ICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQog" + - "ICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0" + - "aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + - "bG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAo" + - "aW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRz" + - "KS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZp" + - "bGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMg" + - "bm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVz" + - "ZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVs" + - "bSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFu" + - "IEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNl" + - "Y3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkg" + - "aWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4" + - "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRz" + - "IFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + - "b2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAg" + - "LS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + - "bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFs" + - "c28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2Vl" + - "IFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhl" + - "bnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAg" + - "QU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUg" + - "dXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNy" + - "ZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNo" + - "CiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlv" + - "IC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBu" + - "dmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3Ig" + - "Z2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkg" + - "bG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48" + - "cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + - "a2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4g" + - "VGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQg" + - "ZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBu" + - "dmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRv" + - "Y2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhl" + - "IGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlz" + - "bGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2Vl" + - "ZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBm" + - "cm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhl" + - "IGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11" + - "c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBp" + - "bnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxs" + - "aW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMK" + - "PiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkg" + - "dGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9y" + - "IHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVs" + - "bCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxl" + - "LCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50" + - "ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQg" + - "c2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0" + - "aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGds" + - "b2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAg" + - "ICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJy" + - "b3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwog" + - "ICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxt" + - "aXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9D" + - "SSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3Jl" + - "CiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxy" + - "ZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gs" + - "IGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFt" + - "cGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNh" + - "bm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBt" + - "aXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJv" + - "ciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8g" + - "YWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+" + - "LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBj" + - "aGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lw" + - "IHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0" + - "ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2Fk" + - "IGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0" + - "ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNy" + - "ZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5v" + - "dCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9y" + - "IHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0" + - "ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlk" + - "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZp" + - "YSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVz" + - "dCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAo" + - "c2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJl" + - "KS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhl" + - "IGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRv" + - "ZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkg" + - "dGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1" + - "YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAt" + - "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRF" + - "V0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENs" + - "b3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2Fk" + - "IGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBE" + - "TlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjog" + - "Im52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9z" + - "dDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21h" + - "aW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0" + - "aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFu" + - "ZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUg" + - "NCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBs" + - "b3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAj" + - "IFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + - "aWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29y" + - "ZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVG" + - "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBz" + - "ZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0" + - "IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NB" + - "TkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBl" + - "dmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFs" + - "c2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2Vydmlj" + - "ZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BB" + - "U1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBv" + - "cmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwg" + - "V2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8" + - "IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2Fu" + - "ZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJ" + - "UywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25h" + - "bCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdo" + - "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMg" + - "fCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8Cnwg" + - "NCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAo" + - "aWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoK" + - "CmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5" + - "IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVs" + - "dCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0" + - "aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRp" + - "b24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + - "Y2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBh" + - "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZh" + - "bml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEg" + - "bmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYt" + - "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxl" + - "ZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0" + - "IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXku" + - "bnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5n" + - "cyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVk" + - "IGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRo" + - "ZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdl" + - "IGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBw" + - "YWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5k" + - "CmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhF" + - "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0" + - "ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + - "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkK" + - "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDog" + - "dmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpE" + - "byBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBp" + - "bnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMg" + - "YXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBO" + - "VkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + - "ZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJ" + - "Zgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + - "aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4g" + - "VGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8g" + - "bm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5h" + - "bWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0" + - "ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgoj" + - "IyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRy" + - "b2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMu" + - "IEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhh" + - "bmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1l" + - "bnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBs" + - "YW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0" + - "ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBs" + - "ZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2Ug" + - "aGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJv" + - "dXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgoj" + - "IyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + - "Y29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBz" + - "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUt" + - "cGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVs" + - "ZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBO" + - "VkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwg" + - "YGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJv" + - "eHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdh" + - "eWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0" + - "LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1" + - "ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBg" + - "Y2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0" + - "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + - "c2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1h" + - "bmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9u" + - "IHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hl" + - "dGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + - "b24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFi" + - "b3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ug" + - "d2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hp" + - "bmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1p" + - "c21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25s" + - "eSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + - "bmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24K" + - "ClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5" + - "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoK" + - "IyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsg" + - "ZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRv" + - "bmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAt" + - "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxk" + - "IHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBF" + - "bnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + - "YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2" + - "YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1m" + - "aWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4" + - "YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9g" + - "IGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBj" + - "YXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQK" + - "ICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + - "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + - "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5k" + - "cmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6" + - "ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAg" + - "ICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJn" + - "ZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVy" + - "aXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + - "bGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNl" + - "Y3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNl" + - "Y3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3Qg" + - "Y29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhl" + - "bSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6" + - "Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5" + - "IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18Cnwg" + - "UHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRh" + - "dGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1h" + - "cGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2Vy" + - "IHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8g" + - "Q2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFj" + - "Y291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAg" + - "aW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yv" + - "c2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8" + - "IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3Up" + - "IHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8" + - "a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lk" + - "ZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVt" + - "cGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VS" + - "X0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNv" + - "bi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIg" + - "YGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRy" + - "b3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxk" + - "cy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwg" + - "ZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFg" + - "LAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50" + - "LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11" + - "c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9u" + - "ZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZv" + - "cm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkg" + - "aXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAg" + - "IGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRv" + - "IHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJl" + - "LXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMn" + - "ICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZj" + - "Zi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAj" + - "IGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252" + - "Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0" + - "IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lk" + - "ZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJv" + - "bSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBw" + - "bGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVh" + - "Y2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + - "ZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBh" + - "cmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGlu" + - "dG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9t" + - "YXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25m" + - "aWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGlu" + - "ZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3Jt" + - "bHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZp" + - "bGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhl" + - "bG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhl" + - "bG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5" + - "dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNo" + - "IG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + - "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENs" + - "dXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xp" + - "Y3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRp" + - "bWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJp" + - "Znkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzog" + - "W3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1" + - "aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyku" + - "CgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNj" + - "cmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNo" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxs" + - "IHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5" + - "PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVy" + - "ZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18" + - "LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2lu" + - "ZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhh" + - "cyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8" + - "IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBt" + - "aWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBz" + - "aG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + - "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25m" + - "aWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZl" + - "IEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + - "dmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1" + - "c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0" + - "cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9w" + - "ZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9k" + - "ZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24g" + - "Q2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3Nh" + - "bmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBj" + - "cmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2Vj" + - "cmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5k" + - "cmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNl" + - "dCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1" + - "YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRy" + - "YSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxl" + - "Y3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "YCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAg" + - "c3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lg" + - "IHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGlt" + - "ZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBg" + - "a3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8Cnwg" + - "ZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8" + - "IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBg" + - "YXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBh" + - "dGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFj" + - "Y291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVy" + - "aWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0" + - "cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0" + - "cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3Zh" + - "dWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVk" + - "IHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVh" + - "ZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9P" + - "UFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVj" + - "dGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2" + - "ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1Nf" + - "UkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFu" + - "ZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBh" + - "Y2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBh" + - "ICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1p" + - "bnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwu" + - "IElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0" + - "Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywg" + - "bm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2Nv" + - "dW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApu" + - "b3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJh" + - "biBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2Yg" + - "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNj" + - "ZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJl" + - "LXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVz" + - "CmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29t" + - "cGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0" + - "bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUt" + - "bm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBp" + - "IHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "ICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBS" + - "ZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhl" + - "IFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3Yw" + - "LjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5l" + - "IHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBP" + - "cGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVj" + - "dHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5k" + - "IFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwg" + - "dXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25z" + - "LCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBL" + - "BwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAg" + - "ICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + - "YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0" + - "ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZl" + - "cnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4x" + - "MiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhp" + - "biAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + - "YyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChu" + - "b3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYg" + - "Pj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJz" + - "aW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZl" + - "cnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0" + - "ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxl" + - "IHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdl" + - "bnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZl" + - "c3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHBy" + - "ZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5" + - "bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMn" + - "IHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRv" + - "IHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVh" + - "bnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1p" + - "bmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "ZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdp" + + "dGggYC0tcHJlYDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENM" + + "SSBjYW5ub3QgcmVhY2ggKG1pc3Npbmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCByZWZ1c2VkIGNv" + + "bm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzKTsgYSBjbHVzdGVyLXZhbGlkYXRvciB0aGF0" + + "IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24g" + + "dGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSkuIFN1Y2ggYSByZXN1" + + "bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVuIHRoZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVj" + + "ayBzaG9ydC4gV2FybmluZy1zZXZlcml0eSByZXN1bHRzIGV4aXQgYDBgIHwKfCBgM2AgfCBBZG1p" + + "biBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsgYC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMg" + + "cmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVz" + + "dCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hl" + + "Y2sgcG9sbGVkIGJ1dCBkaWQgbm90IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSBy" + + "b2xsb3V0IHN0aWxsIGluIHByb2dyZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVk" + + "IGEgY2hlY2sgYmVmb3JlIGl0IGZpbmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQg" + + "c2hvcnQpIGFuZCBubyBvdGhlciBjaGVjayBmYWlsZWQuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhh" + + "ZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4" + + "aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQ" + + "IHwgVXNlciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQ7IHRlcm1pbmFs" + + "IG9yIFNTSCBzZXNzaW9uIGNsb3NlZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8" + + "IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVw" + + "b3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3Jl" + + "IGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0" + + "aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50" + + "VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwK" + + "fCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2Vu" + + "PSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBB" + + "c2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVk" + + "IGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNh" + + "bGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5n" + + "LiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91" + + "dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBgdG90YWxD" + + "aGVja3NgLCBgcGFzc2VkQ291bnRgLCBgZmFpbGVkQ291bnRgLCBgd2FybmluZ0NvdW50YCkgYW5k" + + "IG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgOyBzZWUgYGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5t" + + "ZGAuIEEgdXNhZ2UgZXJyb3IsIHN1Y2ggYXMgYSBtYWxmb3JtZWQgYC0td2FpdGAsIGV4aXRzIGAx" + + "YCBiZWZvcmUgYW55IGV2ZW50LiBJdHMgZXhpdCBgNWAgaGFzIGBzdWNjZXNzOiBmYWxzZWAgYW5k" + + "IGB2ZXJkaWN0OiAidGltZW91dCJgLiBBIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGZvciBhIHdh" + + "cm5pbmcgdGhhdCBgLS13YWl0YCBwb2xscyBvbiBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBB" + + "IGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMgYGZpbmFsYCB3aXRoIGBjYW5jZWxsZWQ6" + + "IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7IGB1cGAgZW1pdHMgYHBoYXNlX2NhbmNl" + + "bGxlZGAgYmVmb3JlIGl0LiBXaGVuIGEgY2x1c3Rlci12YWxpZGF0b3IgcnVuIGxlZnQgb2JqZWN0" + + "cyBpbiB0aGUgY2x1c3RlciAoYC0tbm8tY2xlYW51cGAsIGEgcG9kIHRoYXQgd291bGQgbm90IHN0" + + "b3AsIG9yIGEgY2xlYW51cCB0aGF0IGZhaWxlZCksIGBjaGVja2AgbGlzdHMgdGhlIGNvbW1hbmRz" + + "IHRoYXQgcmVtb3ZlIHRoZW0gaW4gdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgYXJyYXkg" + + "YW5kIGluIHRoYXQgcm93J3MgYGNsZWFudXBgIGZpZWxkLCBvbiBldmVyeSBleGl0IGNvZGUsIGFu" + + "ZCBwcmludHMgdGhlbSBhZ2FpbiBhcyBpdHMgbGFzdCBzdGRlcnIgbGluZXMuIE9uIGFuIGludGVy" + + "cnVwdCBpdCBwcmludHMgdGhlbSBhdCBvbmNlLCBiZWZvcmUgaXRzIG93biBjbGVhbnVwLCB3aGlj" + + "aCBhIHNlY29uZCBDdHJsLUMgY3V0cyBzaG9ydC4gRXZlcnkgb3RoZXIgbm9uLXplcm8gZXhpdCBl" + + "bWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBldmVudCB3aXRoIGBlcnJDYXRl" + + "Z29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJyYXkpLCBgcmV0cnlDbGFzc2Ag" + + "KGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3JlbWVkaWF0aW9ufHVua25vd25g" + + "KSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5kIGByYXdgIChzdWJwcm9jZXNz" + + "ICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0t" + + "anNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2ggZnJvbSBzdGRlcnIuClBLBwil" + + "HKm1Tg0AAE4NAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZmxhZyBy" + + "ZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZp" + + "ZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJi" + + "b3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwKfCBgLS1qc29uYCB8IEpTT05M" + + "IGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZLCBvbiB1bmRlciBgLS1ub24taW50" + + "ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAocGVyc2lzdGVudCBhY3Jvc3Mg" + + "c3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + + "fCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBDb250cm9sLXBsYW5lIGJ1bmRsZSBzb3Vy" + + "Y2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBV" + + "UkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRlLXBsYW5lLXN0YWNrPS4uLmAg" + + "fCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBv" + + "Y2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBg" + + "LS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxlIGVudmlyb25tZW50IG5hbWUuIGBjaGVj" + + "a2AgcmVhZHMgdGhlIHN0YWNrJ3MgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBvbmx5IGZvciBh" + + "biBlbnZpcm9ubWVudCBuYW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAsIHNvIHBh" + + "c3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZDsgc2VlIFtTZXR0aW5ncyByZWFkIGZyb20g" + + "dGhlIHN0YWNrXSgjc2V0dGluZ3MtcmVhZC1mcm9tLXRoZS1zdGFjaykgfCBgbG9jYWxgIHwKfCBg" + + "LS1ub24taW50ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAg" + + "fAp8IGAtLXRva2VuPSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24g" + + "fCAtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90" + + "IGt1YmVjdGwgYXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdh" + + "Y3kgYWxpYXMgZm9yIGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3Ip" + + "IHwgYHRleHRgIHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwg" + + "YXV0by1kZXRlY3QgfAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBwb2xsIHVu" + + "dGlsIHRoZSBjaGVjayBwYXNzZXMgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmlu" + + "YWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNlYCkuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRv" + + "IGNsZWFyLCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywg" + + "YW5kIGl0cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVg" + + "LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Ig" + + "bm9uLXBvc2l0aXZlIERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVu" + + "dHMpIHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRl" + + "eHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBs" + + "YW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVi" + + "bGljIElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9i" + + "ZXMgU0lTIG9ubHkgYXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZD" + + "Rl9TSVNfVVJMYCwgb3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBf" + + "dXJsYDsgd2l0aCBub25lLCBpdHMgYHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcg" + + "fCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVj" + + "a2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBh" + + "bmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSBy" + + "ZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVy" + + "IGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBz" + + "a2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9P" + + "TkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAt" + + "LXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBp" + + "cwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMg" + + "Y29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0" + + "ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGlu" + + "c3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28g" + + "cGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9s" + + "ZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcg" + + "b3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5" + + "IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hp" + + "Y2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJv" + + "bC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUt" + + "cGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgRXZl" + + "cnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmluZWQgd2l0" + + "aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + + "YW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVj" + + "a2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4g" + + "dGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3" + + "aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlh" + + "bHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlu" + + "b3RpZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQu" + + "IEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBmYWxzZWAgfAoKIyMj" + + "IENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4g" + + "dGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291" + + "bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJv" + + "bGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRz" + + "IG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1" + + "YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KVGhlIENs" + + "dXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTog" + + "cmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29u" + + "dHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFj" + + "ZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2Ug" + + "UkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJ" + + "X0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3Jf" + + "aW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFn" + + "IGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxp" + + "ZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRv" + + "IHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZl" + + "cnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVz" + + "dGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5p" + + "bmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1b" + + "L3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFs" + + "cyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9m" + + "IHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlh" + + "bCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQg" + + "dG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBp" + + "bWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQg" + + "YGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFu" + + "YWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0" + + "IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJv" + + "YmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0" + + "YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5" + + "LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhl" + + "IGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9D" + + "TFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + + "b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBS" + + "RUZgIHwgSW1hZ2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBs" + + "YW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFu" + + "ZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0" + + "ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZp" + + "ZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZy" + + "b20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50" + + "cyBOQU1FLC4uLmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3Rh" + + "Y2ssIG9yIG5vdCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhl" + + "bSBpbiB0aGUgY2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNz" + + "YW5kcmFgLiBBbiB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3Ig" + + "Y29tbWEtc2VwYXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNg" + + "LCB0aGVuIHRvIHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNr" + + "J3MgZW52aXJvbm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5W" + + "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5" + + "IGBjbHVzdGVyX3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCB8IGZyb20gdGhlIHN0YWNr" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0" + + "XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0" + + "aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hv" + + "c2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZl" + + "ck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUg" + + "Y29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NM" + + "VVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + + "b3JfdG9sZXJhdGlvbnNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQg" + + "TkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwg" + + "dGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFu" + + "IG9wZXJhdG9yIGNyZWF0ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4g" + + "RmFpbGluZyB0aGF0LCBpdCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRo" + + "YXQgZW50cnksIGZyb20gYSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZh" + + "dWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1" + + "biBmcm9tIHRoaXMgbWFjaGluZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9u" + + "ZSB0aGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJv" + + "dydzIGRldGFpbCBzYXlzIHdoYXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVy" + + "ZSB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRo" + + "ZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBp" + + "cyBjb25maWd1cmVkIGJ1dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMg" + + "dG8gb3B0IG91dCBleHBsaWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5v" + + "dCBwdWxsIHRoZSBpbWFnZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhl" + + "biBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElf" + + "U0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1j" + + "bGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2Vj" + + "cmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fu" + + "bm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJh" + + "dGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNj" + + "cmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnMuIFRo" + + "ZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0" + + "ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cgfCBgZmFs" + + "c2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRv" + + "IHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNP" + + "TiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYg" + + "d2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdp" + + "c3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9t" + + "IHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJg" + + "IHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9j" + + "b25maWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhl" + + "bHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRo" + + "ZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAs" + + "IGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29l" + + "cyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3" + + "aXRoIHRoZSBgbG9jYWxgIGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwK" + + "c2VjcmV0cyBmcm9tIGl0LCBhbmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5" + + "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + + "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + + "bWVzLiBBIHJlamVjdGVkIE5HQyBBUEkga2V5IGFmdGVyIGluc3RhbGwgaXMKYSB3YXJuaW5nLCBz" + + "aW5jZSB0aGUgY2x1c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0" + + "cnkgdGhpcwptYWNoaW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMs" + + "IGFuZCBhIG1pc3NpbmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkg" + + "dGhlIHByb2JlIGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2lj" + + "IGF1dGgsIGlzIHNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpy" + + "ZWdpc3RyeSB0aGF0IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVk" + + "IGFzIHN1Y2gsIG5vdCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZy" + + "b20gdGhlIHN0YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUg" + + "Q0xJLiBFYWNoIG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmln" + + "IGtleSB3aW5zIG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFj" + + "ayB8IEVudiBhbmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwg" + + "YGluZ3Jlc3MuZ2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdp" + + "cmVzIHJvdXRlczogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBg" + + "dHJ1ZWAsIGBuYXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2Ag" + + "YW5kIGBsbG1RdWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZD" + + "Rl9HQVRFV0FZX05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50" + + "cmllcy4gQSBiYXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3" + + "YXkgaXQgc2tpcHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNl" + + "IHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9Z" + + "X0dBVEVXQVlfTkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9w" + + "ZW5iYW9gIG9yIGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBg" + + "dHJ1ZWAgfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5W" + + "Q0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AgfAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNG" + + "X09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVz" + + "dGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoK" + + "VGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJl" + + "YWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0g" + + "VGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4g" + + "VGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIG5vdCB1c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRo" + + "ZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXll" + + "cmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0g" + + "VGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJv" + + "bC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1w" + + "bGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwg" + + "ZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20g" + + "dGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUu" + + "IEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRo" + + "ZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVp" + + "bHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQg" + + "YWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUg" + + "c3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9t" + + "IHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoK" + + "IyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVy" + + "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZj" + + "Zi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13" + + "ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRB" + + "cyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUg" + + "TkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1" + + "c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdh" + + "dGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBv" + + "bmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVu" + + "dHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVy" + + "YC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlk" + + "IElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdp" + + "b24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBm" + + "cm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0" + + "ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAt" + + "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5" + + "cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBI" + + "dW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlg" + + "IHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAs" + + "IGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVz" + + "IFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZv" + + "cmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2gg" + + "Z2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRl" + + "bmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgICho" + + "b3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3Bl" + + "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUg" + + "ZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBu" + + "YW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0t" + + "aW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8" + + "IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8" + + "CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0" + + "eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJM" + + "IG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1g" + + "IGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQt" + + "c2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNo" + + "YXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2Rl" + + "bHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJs" + + "ZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBg" + + "bmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + + "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1" + + "ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBg" + + "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNl" + + "IGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0t" + + "bGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCBy" + + "ZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8" + + "CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNj" + + "b3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlz" + + "dGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0g" + + "fAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25U" + + "eXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxs" + + "bUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxl" + + "IHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBw" + + "YXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92" + + "MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9y" + + "b2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBg" + + "cmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBj" + + "b21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4t" + + "PHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gICht" + + "aW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRp" + + "c3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1" + + "MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBj" + + "aGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhl" + + "bG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwg" + + "YGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29u" + + "ZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUg" + + "dGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VO" + + "YW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+" + + "Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlv" + + "biwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0" + + "aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vz" + + "c2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBu" + + "b3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5j" + + "dGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1" + + "cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5S" + + "YXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1s" + + "bG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04g" + + "Zm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + + "eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1" + + "cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3Zl" + + "cnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJ" + + "VFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRz" + + "IHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBw" + + "cmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVs" + + "VXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGlu" + + "Z01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNy" + + "ZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRl" + + "cy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBG" + + "SUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90" + + "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1" + + "bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFN" + + "RWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tV" + + "IHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGlj" + + "YXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8" + + "IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0" + + "OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwg" + + "VGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoK" + + "IyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + + "bmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwg" + + "RmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + + "VGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlB" + + "LVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAt" + + "LWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBF" + + "YCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + + "bXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBp" + + "bWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxt" + + "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxs" + + "eSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09O" + + "IHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90" + + "aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8" + + "IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUg" + + "aW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwg" + + "QXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcs" + + "IGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVu" + + "diBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJs" + + "ZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFy" + + "aWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRp" + + "bWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQ" + + "VDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVl" + + "dWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElT" + + "TyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNl" + + "IERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwg" + + "U2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05F" + + "YCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0" + + "cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmct" + + "bmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3Ry" + + "YXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVs" + + "IGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpV" + + "UklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ss" + + "VEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRF" + + "WFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURg" + + "IHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRy" + + "eS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJh" + + "Y2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + + "IHwKUEsHCC+Yz3QgTQAAIE0AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIj" + + "IFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzIOKGkiBkaWFnbm9zdGljIGNvbW1hbmQg4oaS" + + "IHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBgcGhhc2VfZmFp" + + "bGVkYCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KSDigJQgZXZlcnkgZW50cnkgYmVsb3cg" + + "c2hvdWxkIG1hcCB0byBhbiBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXku" + + "CgojIyBQcmUtZmxpZ2h0Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + + "LS18LS0tfAp8IGBrdWJlY3RsIG5vdCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vz" + + "bid0IGluY2x1ZGUga3ViZWN0bCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJl" + + "cm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxl" + + "IG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZp" + + "bGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9o" + + "ZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0" + + "YWxsZWRgIHwgZW52b3ktZ2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcg" + + "b2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95" + + "LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBkZWZhdWx0IFN0b3JhZ2VD" + + "bGFzcyBub3QgYXZhaWxhYmxlYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MgfCBBbm5vdGF0" + + "ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0" + + "aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1" + + "ZSJ9fX0nYCB8CnwgYEdQVSBvcGVyYXRvciBub3QgaW5zdGFsbGVkYCAoY29tcHV0ZS1wbGFuZSkg" + + "fCBudmlkaWEgR1BVIG9wZXJhdG9yIG1pc3NpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3Mu" + + "bnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2lu" + + "c3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBk" + + "ZXYgfAp8IGBHUFUgbm9kZSBsYWJlbHMgbWlzc2luZ2AgKGNvbXB1dGUtcGxhbmUpIHwgTm9kZXMg" + + "bmVlZCBgbnZpZGlhLmNvbS9ncHUuZmFtaWx5YCBldGMuIHwgU2V0IGAtLWszcy1ub2RlLWxhYmVs" + + "IG52aWRpYS5jb20vZ3B1LmZhbWlseT1ob3BwZXJAYWdlbnQ6TmAgZm9yIGszZCB8CgojIyBBdXRo" + + "Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1p" + + "biB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVg" + + "IGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUp" + + "IG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldU" + + "IHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5" + + "KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wg" + + "cGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWlu" + + "IHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tl" + + "KSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBu" + + "dmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBp" + + "bnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + + "b24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRy" + + "YWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0g" + + "ZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChm" + + "dW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5v" + + "dCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQ" + + "VS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0" + + "ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNU" + + "RVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkg" + + "bm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgICho" + + "ZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNs" + + "aSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9J" + + "RCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBg" + + "bnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRg" + + "IHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMg" + + "bG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQg" + + "LWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENh" + + "dXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BC" + + "YWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVy" + + "YCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9y" + + "IHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3Rh" + + "bGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVn" + + "aXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFs" + + "aWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBk" + + "b2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcg" + + "fCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlv" + + "biBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVu" + + "dGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBw" + + "b2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8" + + "CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0" + + "cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRo" + + "LWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3Vi" + + "ZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8" + + "IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNy" + + "ZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9z" + + "dG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0" + + "bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGBy" + + "ZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVl" + + "IHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3Mg" + + "cmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQg" + + "YFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2Fj" + + "aGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9y" + + "IGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRv" + + "IGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCPOuE4R0EQAAdBEAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQF" + + "AAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlv" + + "bjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFu" + + "ZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZh" + + "bHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1" + + "ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IK" + + "ICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxp" + + "dCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + + "biwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxm" + + "LW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxv" + + "Y2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtm" + + "bG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMg" + + "aGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2lu" + + "LCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5n" + + "IDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRh" + + "Z3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1w" + + "bGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVu" + + "dCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQpt" + + "ZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNm" + + "LWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczog" + + "W252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5l" + + "LCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBw" + + "dWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVs" + + "bWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0K" + + "CiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUg" + + "Zm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmls" + + "ZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwg" + + "dXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1m" + + "aWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rp" + + "b25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2Vz" + + "L2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVy" + + "ZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + + "YCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5n" + + "LXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6Cgpg" + + "YGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFu" + + "ZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNv" + + "bnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1z" + + "dGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNv" + + "bXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJl" + + "Y3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20g" + + "TkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3Jn" + + "Pi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNl" + + "IGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9u" + + "PgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBs" + + "YW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlv" + + "biBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlm" + + "eSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxt" + + "ZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlh" + + "bCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdp" + + "biBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNp" + + "b24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3Rl" + + "cgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xv" + + "YmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmly" + + "b25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBm" + + "b3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6" + + "Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSku" + + "CgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2" + + "ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52" + + "aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0" + + "aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+" + + "IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRl" + + "LCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRz" + + "LzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJp" + + "ZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVu" + + "Y2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91" + + "Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNl" + + "bGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBj" + + "aGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9y" + + "ZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3Zl" + + "cnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFs" + + "dWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRp" + + "bmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3Jl" + + "YXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRl" + + "IHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + + "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "a3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRl" + + "IHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1r" + + "ZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBz" + + "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52" + + "Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tl" + + "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklm" + + "IHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmls" + + "ZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2lt" + + "YWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFy" + + "dCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5g" + + "IGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + + "IHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1" + + "dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBh" + + "cmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5H" + + "Q19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + + "cCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdp" + + "b24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBh" + + "c3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBg" + + "Cgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2lu" + + "IHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMg" + + "c3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkg" + + "YWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSBy" + + "ZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZl" + + "cmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUK" + + "PiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmll" + + "ZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBr" + + "ZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4g" + + "ZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkg" + + "YmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1w" + + "YXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5" + + "aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2lu" + + "Z2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJl" + + "Y29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVz" + + "IHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSBy" + + "ZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNp" + + "dCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5v" + + "ZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNh" + + "bGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBz" + + "CmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAg" + + "cmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFt" + + "cGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgog" + + "ICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91" + + "IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1y" + + "ZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgog" + + "ICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywg" + + "c28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5l" + + "ciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlz" + + "LiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0" + + "cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlh" + + "LmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9i" + + "YWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUg" + + "cG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0" + + "cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRn" + + "emAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5" + + "Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVy" + + "IGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJv" + + "dmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0" + + "b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNz" + + "KSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3Qg" + + "bmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGls" + + "bCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2Jh" + + "bC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxt" + + "IHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwg" + + "Y3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGlt" + + "YWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNy" + + "ZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVy" + + "IHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYg" + + "dGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUg" + + "ZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0" + + "ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRl" + + "d2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdh" + + "eToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdh" + + "eS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + + "ZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRk" + + "cmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkg" + + "Y29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVz" + + "cyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4K" + + "CkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVk" + + "IHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8g" + + "YEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHBy" + + "b2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJl" + + "Y29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2Vz" + + "LCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUg" + + "Y2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBs" + + "ZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVz" + + "dHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpg" + + "YGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBU" + + "aGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + + "IGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNz" + + "YW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4g" + + "SWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZp" + + "Y2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2Ug" + + "Y3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhl" + + "bnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2Ft" + + "ZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1l" + + "bnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoK" + + "fCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGBy" + + "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMt" + + "cHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0" + + "aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + + "dWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3Ng" + + "IHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2" + + "YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoK" + + "TW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Rz" + + "IC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5p" + + "dHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3Ig" + + "Y3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRo" + + "ZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJs" + + "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkK" + + "YWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEg" + + "YHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVz" + + "LCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQg" + + "aW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwg" + + "ZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRk" + + "b25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmln" + + "OiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5k" + + "IHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVu" + + "dC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0" + + "ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0" + + "ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRl" + + "cyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMg" + + "cmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5p" + + "dHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJv" + + "dXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpg" + + "YGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBl" + + "bmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1" + + "YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + + "fCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8v" + + "PGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3" + + "YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9u" + + "LCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2Ug" + + "Z2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBV" + + "SSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBk" + + "aXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + + "aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBh" + + "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApy" + + "b3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBp" + + "cyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJs" + + "aWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBz" + + "ZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0o" + + "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0" + + "ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBp" + + "bnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hv" + + "b3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVz" + + "IGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBh" + + "bmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2Zp" + + "bGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxh" + + "bmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0" + + "YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJp" + + "ZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95" + + "IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUg" + + "dGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVh" + + "cmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29u" + + "dHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2As" + + "IGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAs" + + "IGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1z" + + "ZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNz" + + "dWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25s" + + "eSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFt" + + "ZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVs" + + "dCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24g" + + "ZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2Vy" + + "IG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmls" + + "ZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhl" + + "ciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29u" + + "dHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRl" + + "cm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFu" + + "IGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFn" + + "ZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0" + + "YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2Vy" + + "dmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIg" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBg" + + "YGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVz" + + "cGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4K" + + "CmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8" + + "bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3Zl" + + "cnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQp" + + "CgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRl" + + "cyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2As" + + "IGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZh" + + "bHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQg" + + "YWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12" + + "YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmls" + + "ZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4w" + + "CiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5" + + "c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + + "bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VO" + + "ViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAg" + + "ICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTog" + + "ODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAg" + + "ICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2Ug" + + "dXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpg" + + "IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRl" + + "IGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcg" + + "YW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAg" + + "ICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRp" + + "c3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0" + + "aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3Jy" + + "ZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwg" + + "U2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1" + + "bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Yg" + + "c2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + + "Z2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lk" + + "ZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9j" + + "a2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRl" + + "LXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0Zf" + + "QVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAt" + + "PiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + + "dGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdq" + + "c29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8" + + "a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFj" + + "Y291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBk" + + "b2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xk" + + "ZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRz" + + "IGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1" + + "ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0" + + "YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZp" + + "ZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJl" + + "IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2Vu" + + "OiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNv" + + "bmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rp" + + "b24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2Vy" + + "bmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdv" + + "cmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAg" + + "YDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxv" + + "b2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5l" + + "IGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFs" + + "bGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAg" + + "ICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQg" + + "LUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + + "dWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlz" + + "IGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2Ut" + + "cHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9u" + + "dmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5v" + + "dGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhl" + + "IHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxp" + + "dmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4g" + + "a2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0" + + "aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJl" + + "bnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUK" + + "PiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0" + + "byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVj" + + "b21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0" + + "b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZD" + + "RiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBw" + + "ZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4K" + + "CmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBz" + + "Oi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3Rh" + + "bGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UK" + + "CiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJ" + + "X0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + + "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + + "ZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5" + + "IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBt" + + "dXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNy" + + "ZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmlt" + + "YWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpg" + + "YGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIg" + + "KGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kg" + + "WUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcK" + + "CiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3" + + "aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJl" + + "Y3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNl" + + "bnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBD" + + "YXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09m" + + "ZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwg" + + "Q2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJ" + + "bml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3Ig" + + "T3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBg" + + "SW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4g" + + "YDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNp" + + "Z25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJr" + + "ZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0" + + "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29t" + + "bW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3Jh" + + "dGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFv" + + "LXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0" + + "dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291" + + "cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVl" + + "cyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFs" + + "c2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFV" + + "TFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBz" + + "dGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + + "YXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFf" + + "UEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNl" + + "cyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3Jh" + + "Z2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3Jh" + + "Z2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFp" + + "bGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNg" + + "IGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRl" + + "bnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBp" + + "LWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMg" + + "cmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBv" + + "c3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWls" + + "ZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4g" + + "cmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJp" + + "ZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFw" + + "IHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFp" + + "bCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0" + + "IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsg" + + "dGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29y" + + "a2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RB" + + "bm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBp" + + "biByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBs" + + "YWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6" + + "bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdl" + + "c3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBp" + + "biBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhl" + + "IGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9u" + + "IHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGlu" + + "IGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJl" + + "cyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBh" + + "bmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFu" + + "IHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFu" + + "ZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRp" + + "YyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGlu" + + "IHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + + "cCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAK" + + "CklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhl" + + "IGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Ig" + + "am9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBi" + + "bG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZj" + + "ZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQg" + + "d2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246" + + "IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVd" + + "KGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4" + + "YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1" + + "Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10o" + + "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9k" + + "ZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQ" + + "SSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2" + + "YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wt" + + "dmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + + "IHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxp" + - "emVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXpl" + - "cnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3Bh" + - "Y2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9u" + - "bHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2Yt" + - "YmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250" + - "ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJl" + - "Y3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxp" + - "emVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xl" + - "YXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRv" + - "ciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNl" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBk" + - "ZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjog" + - "Ikluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRl" + - "IHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3Vi" + - "ZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "a2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHBy" + - "b2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcg" + - "d2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVy" + - "IHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJh" + - "biB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25t" + - "ZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVy" + - "IE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRl" + - "ciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBi" + - "ZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dy" + - "cGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5" + - "c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIs" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVT" + - "VEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJF" + - "Q09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJ" + - "Q01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGll" + - "cyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZs" + - "YWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + - "cHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9s" + - "LXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2Zp" + - "bGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVs" + - "bS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhl" + - "bG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90" + - "aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4" + - "cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxt" + - "IChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBp" + - "cyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "ZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMg" + + "dG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJl" + + "IDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0g" + + "My4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0" + + "IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJl" + + "IHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJz" + + "aW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBz" + + "ZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5k" + + "IHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVn" + + "aW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2" + + "ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2Nl" + + "ZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVz" + + "dGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywg" + + "c2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNl" + + "ciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVt" + + "cGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZp" + + "bGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBh" + + "bmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRl" + + "JyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZp" + + "ZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVw" + + "IGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5W" + + "Q0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0g" + + "dXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sg" + + "bmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3Rv" + + "bSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291" + + "cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRl" + + "bGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQg" + + "bmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3Vj" + + "aCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVk" + + "IGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1h" + + "bmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQg" + + "cmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1" + + "c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBv" + + "biBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0Yt" + + "bWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQg" + + "bm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVt" + + "b3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1z" + + "cGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wg" + + "cGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxl" + + "IHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMg" + + "ZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBz" + + "ZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVz" + + "IHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3Mg" + + "SG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRl" + + "LXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5k" + + "IHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3Rh" + + "bGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJl" + + "bGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBj" + + "b21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52" + - "Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3Jk" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0" + - "aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZp" + - "bGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9u" + - "IGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50" + - "IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2" + - "ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBz" + - "ZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3Vu" + - "ZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8g" + - "cnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5k" + - "LywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAi" + - "V2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBk" + - "aWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3Rl" + - "ZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlv" + - "biIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUg" + - "TlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9u" + - "bWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdl" + + "bnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0" + + "YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJh" + + "c2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2Vf" + + "dXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQg" + + "aWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdt" + + "YWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIn" + + "IHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5k" + + "IEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVT" + + "VEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwi" + + "LAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWlj" + + "bXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUg" + + "aXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNj" + + "b3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBm" + + "bG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjog" + + "IkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSBy" + + "ZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVx" + + "dWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + + "IGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1" + + "c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + + "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQg" + + "Ym90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIp" + + "IHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9u" + + "bHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxt" + + "ZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVy" + + "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVk" + + "IHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0" + + "IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVj" + + "dGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRz" + + "LywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5v" + + "dCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBz" + + "eW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3Ig" + + "bG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJm" + + "b3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBv" + + "biBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFu" + + "ZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVy" + + "ZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdl" + + "ciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5k" + + "IG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3Rl" + + "ZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhl" + + "IGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxl" + + "IGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRl" + + "ZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJh" + + "LXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lz" + + "dGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2Vz" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRl" + + "bXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJh" + + "biAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAg" + + "IlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVu" + + "Y2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3" + + "YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0" + + "aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + + "YW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJU" + + "aGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmls" + + "ZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xp" + + "IHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFs" + + "bCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwg" + + "ZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBj" + + "b250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1w" + + "bGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBp" + + "bnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5l" + + "LXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUg" + + "dGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBw" + + "cm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4g" + + "SXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9s" + + "LXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQg" + + "aW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5l" + + "LXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQg" + + "aW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUt" + + "Y29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21t" + + "YW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1h" + + "bmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUi" + + "LAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRw" + + "b2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRp" + + "b24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291" + + "cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtp" + + "bGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRl" + + "LCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMg" + + "cmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVz" + + "IGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3" + + "ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJl" + + "ZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBs" + + "YXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + + "IHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRo" + + "ZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBp" + + "biB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWlu" + + "ZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwK" + + "ICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBs" + + "YXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6" + + "ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBh" + + "bmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNp" + + "ZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5h" + + "bWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5j" + + "aWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNw" + + "YWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAg" + + "ICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGlu" + + "ZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1" + + "Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUg" + + "aW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlh" + + "Z25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRo" + + "ZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRz" + + "IG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBp" + + "c3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdl" + + "UHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAg" + + "ICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdl" + + "UHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNl" + + "Y3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNl" + + "IGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5k" + + "IHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJl" + + "bW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJl" + + "IGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBs" + + "YW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRl" + + "LXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + - "b21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQg" + - "dG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3Bh" + - "Y2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMs" + - "IHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFu" + - "ZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVn" + - "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3Rh" + - "Y2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0s" + - "IGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5k" + - "bGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBs" + - "YW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkt" + - "a2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGlu" + - "ZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + - "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95" + - "aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxl" + - "IHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRy" + - "b2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZh" + - "YmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29u" + - "dHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + - "ZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1" + - "bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVy" + - "YXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ci" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAg" + - "InF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5k" + - "IHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNo" + - "b3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJl" + - "ZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dl" + - "ZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcg" + - "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + - "LWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJl" + - "Z2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBm" + - "aWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAg" + - "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAg" + - "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQi" + - "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + - "CiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29u" + - "dGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5l" + - "cmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBI" + - "ZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0" + - "LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRy" + - "YSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8g" + - "MTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxp" + - "bmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJl" + - "bGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwg" + - "YW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1M" + - "IG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVk" + - "IHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRo" + - "IG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRo" + - "ZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFN" + - "TCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUn" + - "cyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBj" + - "aGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0" + - "aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVu" + - "ZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5j" + - "aWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBk" + - "ZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQg" + - "cG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1" + - "c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMn" + - "IHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + - "cG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lz" + - "dGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0" + - "b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rp" + - "b24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5h" + - "dXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdn" + - "aW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhl" + - "IHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMs" + - "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNj" + - "b3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVk" + - "ZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNv" + - "cnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUg" + - "YWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "bWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRo" + - "ZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + - "dGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAog" + - "ICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRv" + - "IHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBp" + - "bmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1" + - "c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBh" + - "bmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVt" + - "b3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBl" + - "bmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBP" + - "cGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + - "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21w" + - "dXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92" + - "ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJh" + - "dG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9y" + - "IGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRl" + - "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNl" + - "cyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBu" + - "dmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52" + - "Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFu" + - "ZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGgg" + - "aW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3" + - "aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVk" + - "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + - "RGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0" + - "aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1l" + - "LWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxh" + - "bmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNl" + - "cnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5h" + - "dHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFt" + - "ZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBs" + - "YW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVk" + - "IGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRv" + - "d24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNh" + - "ZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlh" + - "bnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFu" + - "ZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9y" + - "ZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBs" + - "YW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + - "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + - "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + - "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5n" + - "IHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Us" + - "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2" + - "ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkg" + - "ZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhl" + - "IGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25z" + - "LCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01T" + - "IGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFu" + - "ZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3Qg" + - "cmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0" + - "aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + - "eSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2" + - "ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBs" + - "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIs" + - "CiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVy" + - "IGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVz" + - "dHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhl" + - "IGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNl" + - "IHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJl" + - "ZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGlu" + - "c3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3Rh" + - "Y2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBj" + - "ZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdp" + - "dGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAg" + - "ICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + - "IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENM" + - "SSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1" + - "bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENM" + - "SSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2" + - "ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2Vz" + - "IG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBs" + - "YW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVy" + - "ZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENM" + - "SSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBi" + - "b3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhl" + - "biBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVh" + - "Y2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEz" + - "LXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8g" + - "bXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cg" + - "ZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWws" + - "IGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBp" + - "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + - "Y2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVz" + - "dCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZ" + - "QU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAog" + - "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBw" + - "YXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9i" + - "YWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxl" + - "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1w" + - "bGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFs" + - "dWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBu" + - "ZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFn" + - "ZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25m" + - "aWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0u" + - "ZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3" + - "YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91" + - "dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9u" + - "IGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxh" + - "bmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBw" + - "bGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVm" + - "YXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFu" + - "ZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJ" + - "bnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5n" + - "IHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJ" + - "dCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + - "IGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywg" + - "YW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBz" + - "aWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNl" + - "ZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNv" + - "dW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFn" + - "ZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10" + - "d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + - "IGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhh" + - "dCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMg" + - "dG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5" + - "IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBs" + - "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hl" + - "ZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCBy" + - "ZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRo" + - "ZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhl" + - "IExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1" + - "aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNk" + - "IiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5n" + - "IGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3Vs" + - "ZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBr" + - "M2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0" + - "ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBU" + - "aGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlv" + - "biBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3Ry" + - "dWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRl" + - "dmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1k" + - "ZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + - "ZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxv" + - "eW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3Vy" + - "Y2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBs" + - "YXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNz" + - "YW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUg" + - "cmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6" + - "IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwK" + - "Z3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBg" + - "YAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVz" + - "LnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + + "b25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250" + + "cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBp" + + "biBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQg" + + "dGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBD" + + "IHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4g" + + "SXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGlu" + + "Y2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFu" + + "ZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBw" + + "dWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0" + + "LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rl" + + "cjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + + "ICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFj" + + "ZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwg" + + "Z3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFu" + + "ZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53" + + "b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5h" + + "dHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52" + + "b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdy" + + "cGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2Ui" + + "LAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + + "Lm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2Vy" + + "LXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVz" + + "cy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdl" + + "bnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVl" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBh" + + "bmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAi" + + "VGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1Nl" + + "cnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9z" + + "dEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJU" + + "aGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0" + + "LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9u" + + "bHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVh" + + "cmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5l" + + "IGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1m" + + "aWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlv" + + "biBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wg" + + "cGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVm" + + "b3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGgg" + + "dGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5v" + + "dCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFn" + + "ZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRl" + + "ZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFu" + + "IGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBt" + + "aXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1" + + "bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5k" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0" + + "ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1h" + + "bmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0" + + "ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRp" + + "dGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRp" + + "b24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRo" + + "ZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4" + + "LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJh" + + "dGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUg" + + "SGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJn" + + "ZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlv" + + "biwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFu" + + "ZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUg" + + "ZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFy" + + "ZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHBy" + + "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5l" + + "bmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlm" + + "IHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVk" + + "LCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90" + + "aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkg" + + "ZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5j" + + "ZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJh" + + "biBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5k" + + "IEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIs" + + "CiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVm" + + "aXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0" + + "aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5v" + + "dCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4g" + + "dGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90" + + "aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMt" + + "dXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50" + + "IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJl" + + "bW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFp" + + "biIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAg" + + "InF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBp" + + "dCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBp" + + "biBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFs" + + "dWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdv" + + "dG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFt" + + "bC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVk" + + "IHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1" + + "ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVj" + + "ZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBs" + + "IC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmll" + + "ZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtl" + + "eXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5p" + + "bWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBj" + + "aGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHBy" + + "b3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFz" + + "ZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0t" + + "ZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlw" + + "ZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQg" + + "dGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlv" + + "biBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxl" + + "ZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmds" + + "ZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFu" + + "ZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hl" + + "biBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNh" + + "bm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91" + + "dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxp" + + "ZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRl" + + "d2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1l" + + "cmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUg" + + "d29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRy" + + "YW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBw" + + "bGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVk" + + "ZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBs" + + "b3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90" + + "IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0" + + "ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1u" + + "b2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVl" + + "c3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmlj" + + "YWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMi" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8t" + + "QVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdv" + + "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIg" + + "dHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQg" + + "aW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFu" + + "ZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGgg" + + "dGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4" + + "aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGkt" + + "Z2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBs" + + "bG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1" + + "cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRo" + + "YXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3Ig" + + "dXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3Zp" + + "ZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1i" + + "YXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVm" + + "ZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsH" + + "CEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29y" + + "a2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFt" + + "cGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRy" + + "YSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcu" + + "LCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBg" + + "T09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJl" + + "bGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0" + + "ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3Rt" + + "cC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJp" + + "ZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFt" + + "cGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBk" + + "aXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fz" + + "c2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAg" + + "bmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + + "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyBy" + + "ZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJh" + + "OgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAi" + + "OCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAg" + + "ICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6" + + "IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApk" + + "aWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJt" + + "IHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5h" + + "bWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBl" + + "ciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1w" + + "bGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMK" + + "CkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAo" + + "YG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1" + + "bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpg" + + "YGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3Vy" + + "Y2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZj" + + "ZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9u" + + "dmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBj" + + "aGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + + "JyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + + "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3Bh" + + "Y2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + + "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + + "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBp" + + "bWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNp" + + "ZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBj" + + "YXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBg" + + "YHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fz" + + "c2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVu" + + "ZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJp" + + "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + + "bAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2Vj" + + "cmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBl" + + "dmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNl" + + "cGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1v" + + "cGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3Rl" + + "bWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERl" + + "cGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZp" + + "Y2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNl" + + "IDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1h" + + "Z2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1" + + "bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMg" + + "LW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5z" + + "IiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3It" + + "Y3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVu" + + "dHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAg" + + "LWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52" + + "Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxs" + + "CgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUu" + + "CgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RF" + + "Ul9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + + "SUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51" + + "cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1" + + "cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNh" + + "LWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBj" + + "b21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVm" + + "b3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8" + + "Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20t" + + "cmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1t" + + "aXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rl" + + "ci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZl" + + "IHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNl" + + "cnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmlu" + + "ZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9y" + + "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + + "CnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxl" + + "ZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + + "IGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVz" + + "cGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0" + + "dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoK" + + "YGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3Mg" + + "Ym90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xl" + + "YW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8" + + "IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhj" + + "YXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFu" + + "ZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3Bs" + + "aXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0" + + "YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRw" + + "b2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxv" + + "YWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0" + + "ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2Yt" + + "Z2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVz" + + "c2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjog" + + "VXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWlu" + + "YCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQg" + + "dGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFw" + + "aS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERS" + + "YC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNl" + + "cnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUK" + + "bWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJl" + + "ZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNz" + + "LWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21w" + + "dXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMu" + + "IEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2gg" + + "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVz" + + "ZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + + "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5k" + + "IGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBg" + + "YGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFp" + + "bj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3kt" + + "Z2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNh" + + "LW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + + "PiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0" + + "dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95" + + "IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcg" + + "b24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENh" + + "c3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3Rl" + + "bQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3Bl" + + "Y2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8" + + "IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBl" + + "bmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2Ut" + + "Z3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2Us" + + "IGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxt" + + "LXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + + "ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10" + + "cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + + "ZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5h" + + "bWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0" + + "ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBE" + + "ZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwK" + + "fCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5" + + "IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25z" + + "LnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kg" + + "TlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNl" + + "IGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdy" + + "ZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFu" + + "eSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5" + + "YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0t" + + "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3Bs" + + "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21w" + + "dXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUg" + + "Zmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENo" + + "b29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUu" + + "IERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNv" + + "bnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwt" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRl" + + "LXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkg" + + "cHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8" + + "CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qg" + + "bm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUg" + + "YSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0" + + "aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBh" + + "Y2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFu" + + "ZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1" + + "bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVh" + + "dGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9s" + + "LXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBz" + + "ZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywg" + + "YW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3Ig" + + "RUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + + "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRo" + + "ZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRy" + + "b2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRl" + + "d2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFU" + + "UyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwg" + + "YWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXkt" + + "YWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRo" + + "ZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoK" + + "CmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2lu" + + "dHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAg" + + "IG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIK" + + "ICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBu" + + "dmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRv" + + "bWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNm" + + "LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250" + + "cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAg" + + "IHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQog" + + "ICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9" + + "CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNl" + + "OiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAg" + + "ICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAg" + + "ICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0" + + "QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0" + + "bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAg" + + "ICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2Nv" + + "dmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9w" + + "ZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNp" + + "cy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3" + + "YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFs" + + "LjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVz" + + "cz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIK" + + "YGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNv" + + "bnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxh" + + "dGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + + "YW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3Rh" + + "bGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdh" + + "dGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMg" + + "YE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3" + + "YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2Vf" + + "Z3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAi" + + "YXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRl" + + "d2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3Qg" + + "ZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNN" + + "U19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVy" + + "bGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBo" + + "ZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lz" + + "dGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBs" + + "YW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJl" + + "Z2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lE" + + "PTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDov" + + "LzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3Vi" + + "ZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09O" + + "RklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + + "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1r" + + "dWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFu" + + "ZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIg" + + "ZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRl" + + "LXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBv" + + "bWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdl" + + "dCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFu" + + "ZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1" + + "dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + + "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + + "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJl" + + "Z2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRo" + + "ZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6" + + "CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNv" + + "bnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYg" + + "PGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJv" + + "bC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + + "YW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0t" + + "cmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + + "bAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5l" + + "LXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBc" + + "CiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4K" + + "YGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29t" + + "cHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJv" + + "YmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQt" + + "YXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVh" + + "dGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNv" + + "bnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + + "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9u" + + "IHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3Bl" + + "cmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + + "IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9y" + + "IHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1g" + + "LiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4g" + + "Rm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3" + + "YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdh" + + "dGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9y" + + "IC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5h" + + "Z2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0" + + "ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRl" + + "IHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJv" + + "eSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhl" + + "cgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4g" + + "TmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNl" + + "LiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVy" + + "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + + "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + + "IHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9u" + + "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1v" + + "dmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBs" + + "aWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBI" + + "ZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxl" + + "IHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5h" + + "bWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + + "bGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRl" + + "bGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVl" + + "cz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBg" + + "Y2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpT" + + "aG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1" + + "c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBm" + + "b3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUu" + + "CgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1D" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90" + + "aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUg" + + "Y29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMg" + + "YW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRz" + + "IGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdp" + + "dGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xp" + + "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + + "XAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21z" + + "LXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rl" + + "ci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + + "CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0" + + "ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdz" + + "IG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwg" + + "Y29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVy" + + "ZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4g" + + "R2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGlu" + + "dWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBg" + + "YmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + + "IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAt" + + "LXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + + "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + + "aWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVh" + + "Y2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUg" + + "YW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFu" + + "ZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAA" + + "ABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5n" + + "IFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNG" + + "IHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoK" + + "YGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2Rz" + + "IC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBw" + + "b2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBS" + + "ZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0" + + "bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgoj" + + "IERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVt" + + "ZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgoj" + + "IyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAg" + + "ICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + + "ZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2" + + "ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1h" + + "Z2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBD" + + "aGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNl" + + "Y3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVk" + + "cyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNl" + + "Y3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBh" + + "dGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2Nv" + + "dW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFt" + + "ZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMK" + + "CjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + + "dXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAg" + + "LS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRv" + + "ZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Ag" + + "Y29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + + "bC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3Jl" + + "dHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2Vydmlj" + + "ZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2Vj" + + "cmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2Vj" + + "cmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUg" + + "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJl" + + "Y3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQg" + + "QWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZv" + + "ciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBT" + + "VEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAg" + + "ICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0" + + "IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBP" + + "cGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1u" + + "IHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVj" + + "dGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3Vi" + + "ZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMg" + + "Q2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4" + + "ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBm" + + "b3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFv" + + "IG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUg" + + "c3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBg" + + "YGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + + "bmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lz" + + "dGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVh" + + "dGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBw" + + "b2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVy" + + "LTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5p" + + "dGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNz" + + "ZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1Ms" + + "IGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGlu" + + "ZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBj" + + "b25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3" + + "dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1Ms" + + "IHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291" + + "bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2" + + "YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVy" + + "IGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBk" + + "ZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNl" + + "YDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBk" + + "aXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1Ymxp" + + "YyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9u" + + "IHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMg" + + "SW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0Ogog" + + "ICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNj" + + "b3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAt" + + "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBg" + + "CgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3Zl" + + "cnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25g" + + "IGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3Yx" + + "L2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5" + + "IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNz" + + "dWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRo" + + "aXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlz" + + "c3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBD" + + "YXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RB" + + "VFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMg" + + "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUg" + + "cG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0" + + "ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmls" + + "ZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCku" + + "CgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAg" + + "ICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAg" + + "ICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJl" + + "c2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0" + + "LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBl" + + "bmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVT" + + "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAg" + + "ICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBz" + + "Y2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxw" + + "b2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + + "IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBu" + + "b2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3Rl" + + "bnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0" + + "b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUK" + + "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZj" + + "ZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBj" + + "bGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBg" + + "YAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAg" + + "IGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUg" + + "IkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGlu" + + "IEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dz" + + "IHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5" + + "bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9u" + + "cyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNl" + + "LW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWls" + + "ZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMg" + + "SWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFt" + + "ZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUg" + + "cHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJh" + + "cCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25z" + + "IGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMj" + + "IyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3Rs" + + "IGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUg" + + "bWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBu" + + "dmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5l" + + "dGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgox" + + "LiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1l" + + "bmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3Vy" + + "IGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0" + + "IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoy" + + "LiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkg" + + "c3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMg" + + "Rml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2Vydmlj" + + "ZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95" + + "Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUt" + + "bm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRl" + + "IG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAm" + + "JiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBp" + + "ZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChG" + + "aW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5h" + + "bWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMK" + + "IyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBU" + + "ZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUg" + + "Y29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24g" + + "aGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVz" + + "b3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0" + + "IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxp" + + "emVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBV" + + "VEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNb" + + "XSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAg" + + "eGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIj" + + "IyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRu" + + "YW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVy" + + "c1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sg" + + "bmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9w" + + "ZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09O" + + "VEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEg" + + "Jy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBV" + + "VEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5z" + + "L2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9w" + + "ZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUt" + + "cGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4" + + "aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Et" + + "b3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9z" + + "aXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNl" + + "ZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1" + + "biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZy" + + "b20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIu" + + "CgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0" + + "aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1v" + + "cGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRl" + + "cGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAt" + + "biBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlm" + + "eSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEK" + + "YnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + + "LXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBF" + + "bmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZp" + + "Z3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + + "YW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgoj" + + "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52" + + "b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0n" + + "KQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwg" + + "LUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMg" + + "Q2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50Cmdy" + + "ZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBc" + + "CiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBh" + + "bmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xp" + + "ZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVj" + + "dApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5z" + + "dGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxl" + + "IDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBv" + + "aW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVp" + + "Y2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoK" + + "fCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMt" + + "c3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQt" + + "c3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2Vydmlj" + + "ZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIs" + + "IGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXBy" + + "b3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lz" + + "dGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdh" + + "eSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVj" + + "dHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1s" + + "LmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwu" + + "Z290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNl" + + "cnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwt" + + "LSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERl" + + "ZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAg" + + "ICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAg" + + "YC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdp" + + "c3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAg" + + "ICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1j" + + "b21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNp" + + "ZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAg" + + "IGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBh" + + "bmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1s" + + "ICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8" + + "ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3Zl" + + "cnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRl" + + "IHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUg" + + "c2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUK" + + "dmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2Zp" + + "bGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9m" + + "aWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUg" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVw" + + "ZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5v" + + "dGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhl" + + "bG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVy" + + "IHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5h" + + "Z2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5k" + + "cmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5" + + "YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNg" + + "IGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFt" + + "ZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwK" + + "fCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8" + + "IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNm" + + "LWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNm" + + "LWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhl" + + "bG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1u" + + "dmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52" + + "Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZh" + + "bCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52" + + "Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3" + + "YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8" + + "IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBp" + + "LWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3" + + "YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2Vydmlj" + + "ZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNl" + + "IE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2" + + "YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9u" + + "IGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3Ng" + + "IGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHku" + + "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0t" + + "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxl" + + "YXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRl" + + "ZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxl" + + "LiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6" + + "ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1s" + + "LmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVh" + + "c2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEg" + + "YHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0" + + "ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1w" + + "bGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + - "b290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + - "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + - "aW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + - "ICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5" + - "OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + - "ID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9j" + - "YXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTog" + - "YHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4g" + - "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + - "YCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJl" + - "Z2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBp" + - "bWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVk" + - "IHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1" + - "cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "Cmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAg" + - "ICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + - "CiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0" + - "ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dp" + - "biBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3Ry" + - "eSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgoj" + - "IyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4" + - "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRy" + - "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + - "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + - "bmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + - "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + - "bmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxl" + - "YXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVh" + - "Y2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVu" + - "ZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + - "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + - "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2Jh" + - "bDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpg" + - "YGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNy" + - "ZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0" + - "aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwt" + - "c2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBg" + - "CgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5h" + - "dGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3Bl" + - "bkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFy" + - "dDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2Eg" + - "aW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4g" + - "IiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFt" + - "ZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0" + - "Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxT" + - "ZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5" + - "PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1" + - "bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1" + - "bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFu" + - "ZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0" + - "ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZp" + - "Zz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRo" + - "ZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + - "ZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMj" + - "IFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURg" + - "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + - "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElE" + - "IGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBi" + - "YXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1" + - "c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1p" + - "ZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAy" + - "IGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250" + - "cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5" + - "IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhl" + - "bG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0" + - "LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVp" + - "cmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0" + - "IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZl" + - "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sg" + - "SGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQK" + - "ZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFt" + - "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhl" + - "cndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFu" + - "ZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJv" + - "eSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNv" + - "bnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMj" + - "IyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5k" + - "fGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + - "c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMj" + - "IFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxh" + - "dGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNh" + - "bWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJl" + - "Y292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92" + - "aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdv" + - "dCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBi" + - "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + - "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + - "WV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZp" + - "ZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0" + - "IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91" + - "dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxk" + - "b21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3" + - "aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRv" + - "IGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBz" + - "cGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMs" + - "IHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBg" + - "bnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMg" + - "VVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVy" + - "cmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + - "cm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6" + - "IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + - "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + - "IgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBu" + - "dmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3lt" + - "ZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNv" + - "bnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoK" + - "LS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0" + - "ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJh" + - "c2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoK" + - "IyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0" + - "ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3Rv" + - "ciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0t" + - "LS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3Bl" + - "bmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMs" + - "IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2Vy" + - "dmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRl" + - "d2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5" + - "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9u" + - "cy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBz" + - "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZj" + - "ZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kg" + - "anVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + - "bmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3" + - "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95" + - "IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVz" + - "IHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNr" + - "YWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + - "YCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykg" + - "fAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoK" + - "Tm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAg" + - "bGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5" + - "YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + - "YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpU" + - "aGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJ" + - "bnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + - "IGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBp" + - "dCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQg" + - "cHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRv" + - "ZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJh" + - "dGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUg" + - "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJ" + - "LWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVy" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBm" + - "b3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZp" + - "bGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFu" + - "ZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3Bl" + - "cmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVu" + - "ZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBI" + - "ZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3Jl" + - "IGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3" + - "YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQog" + - "IHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZh" + - "bCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQt" + - "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + - "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVw" + - "cyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAs" + - "IGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRl" + - "d2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmly" + - "b25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92" + - "ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5k" + - "IGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21h" + - "aW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8v" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29y" + - "a2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czov" + - "LzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNr" + - "cy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtl" + - "ci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRw" + - "Oi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVz" + - "czoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5h" + - "bWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwg" + - "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2Yt" + - "Z2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVy" + - "TmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAg" + - "ICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0" + - "ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5h" + - "YmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1k" + - "b21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1p" + - "Z3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpg" + - "YGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBp" + - "Y21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZp" + - "Y2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VI" + - "b3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJM" + - "OiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6" + - "ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29u" + - "dHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + - "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + - "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdp" + - "c3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUg" + - "dGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNl" + - "X2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDov" + - "LzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAw" + - "ODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21z" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXkt" + - "ZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9r" + - "ZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdh" + - "dGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3" + - "aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJh" + - "dGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1" + - "cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3Rg" + - "IE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRo" + - "ZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9" + - "PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJl" + - "Z2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1u" + - "dmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+Cgpt" + - "YWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNU" + - "RVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlz" + - "Y292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29u" + - "dGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlz" + - "IHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0" + - "ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29u" + - "dGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cK" + - "ClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUg" + - "cHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2Et" + - "aWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90" + - "aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBs" + - "YW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1u" + - "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + - "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNl" + - "bGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3Vi" + - "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHBy" + - "b2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJv" + - "ZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVl" + - "cy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0" + - "aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhl" + - "IHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2gg" + - "YGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + - "dC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + - "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRv" + - "IHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVz" + - "LApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlv" + - "bgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZj" + - "Zi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAog" + - "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0K" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJh" + - "Y2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAt" + - "LWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0x" + - "MG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8" + - "cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5k" + - "IGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUu" + - "IEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRo" + - "aXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdl" + - "cmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3Qg" + - "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIg" + - "aXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0" + - "aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUu" + - "IEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxl" + - "YXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + - "IE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHBy" + - "b3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8g" + - "bm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNo" + - "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBg" + - "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAog" + - "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1j" + - "b25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1p" + - "ZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1p" + - "Z25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0" + - "IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVz" + - "dHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBk" + - "ZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBs" + - "YW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0" + - "cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1w" + - "bGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19G" + - "SUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0" + - "cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkg" + - "cHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + - "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBs" + - "ZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhl" + - "CmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQg" + - "cHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBc" + - "CiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAog" + - "IC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJs" + - "PiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + - "bWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0" + - "ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBx" + - "dWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fu" + - "bm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRh" + - "cmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVz" + - "dHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJv" + - "dGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3" + - "aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + - "YWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + - "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "YGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVz" + - "dHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0" + - "IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJh" + - "dGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dp" + - "bmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3Np" + - "bmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgoj" + - "IyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5h" + - "bWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZp" + - "YyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSBy" + - "ZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRp" + - "YWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNv" + - "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3Mg" + - "ZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + - "ZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMj" + - "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAg" + - "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09m" + - "ZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1" + - "bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgoj" + - "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZl" + - "bnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3Vi" + - "ZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhl" + - "IHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgoj" + - "IENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3Rs" + - "IGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxs" + - "U2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFj" + - "ZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dv" + - "cmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAq" + - "KlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQg" + - "bmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + - "U2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNu" + - "J3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2Vydmlj" + - "ZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJl" + - "c3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAq" + - "Kldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBg" + - "YGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + - "CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVy" + - "ZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBv" + - "ZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAg" + - "ICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFw" + - "aS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBg" + - "CgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWlu" + - "aXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFv" + - "IHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJh" + - "byBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + - "aGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + - "by1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhl" + - "IHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVs" + - "dC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmlu" + - "ZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBp" + - "c3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhp" + - "cyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBh" + - "bmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "dmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + - "bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQq" + - "KjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZh" + - "dWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBg" + - "YGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAw" + - "IC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0" + - "dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBp" + - "c3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJh" + - "byBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBt" + - "b3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBv" + - "ZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNs" + - "dXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNl" + - "bnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0" + - "aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUK" + - "ICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + - "ckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBP" + - "SURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlz" + - "c3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBk" + - "aXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUt" + - "cnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlv" + - "bnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1" + - "ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1p" + - "Z3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1v" + - "cGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRo" + - "ZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtu" + - "b3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJM" + - "IHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0" + - "aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMg" + - "d2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBk" + - "ZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFs" + - "bGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgoj" + - "IyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQK" + - "TkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEt" + - "MCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRy" + - "YS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2Fu" + - "ZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFt" + - "cGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291" + - "cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTky" + - "TWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZN" + - "aQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZD" + - "RiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMg" + - "RmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + - "RSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAg" + - "IDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAi" + - "MC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBu" + - "b2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNp" + - "ZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMj" + - "IyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0" + - "b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVz" + - "IC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90" + - "IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoq" + - "OiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9k" + - "ZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMj" + - "IEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBg" + - "YmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBg" + - "CgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZp" + - "Y2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBG" + - "aXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0" + - "IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJl" + - "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMg" + - "RmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2" + - "aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBi" + - "b290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9v" + - "dHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChq" + - "b2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxv" + - "Z3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAK" + - "YGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjog" + - "Q3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1" + - "dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAg" + - "IGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9V" + - "Ul9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRv" + - "a2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkg" + - "Y2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5y" + - "ZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + - "ZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNp" + - "ZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBh" + - "cGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwoj" + - "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1" + - "cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0" + - "ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAg" + - "IDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpS" + - "dW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1h" + - "bCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZy" + - "b20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5h" + - "bWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMK" + - "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEg" + - "LW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsg" + - "Lm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsg" + - "bnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRl" + - "eHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7" + - "XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIg" + - "e30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmlu" + - "YWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0" + - "bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNv" + - "biAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAg" + - "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJh" + - "dyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25l" + - "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMj" + - "IFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZj" + - "YS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUg" + - "bm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Et" + - "b3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hl" + - "dGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRo" + - "ZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24g" + - "YW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBv" + - "bmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBw" + - "b2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52" + - "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52" + - "Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRl" + - "IHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGlu" + - "CmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52" + - "Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBT" + - "ZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0" + - "KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpS" + - "ZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRo" + - "ZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSBy" + - "ZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FE" + - "RFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdh" + - "eSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0" + - "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtz" + - "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + - "JEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2Vk" + - "IGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2Vy" + - "dmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRv" + - "bWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBk" + - "YXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxv" + - "eW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVm" + - "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVj" + - "dGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVj" + - "b3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFj" + - "ZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMg" + - "cnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0" + - "ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNm" + - "IHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCBy" + - "ZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwg" + - "YXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwg" + - "c2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29u" + - "dHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwK" + - "UEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1k" + - "VVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5" + - "b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAg" + - "IHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVu" + - "QmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMg" + - "KyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFi" + - "aWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFt" + - "bCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykK" + - "fCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92" + - "ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAg" + - "ICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3Rz" + - "IHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxl" + - "LmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUg" + - "ZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJv" + - "bm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZh" + - "bHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAg" + - "ICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + - "cwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3Rl" + - "ciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9u" + - "bWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2Vu" + - "ZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBu" + - "b3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBU" + - "aGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNl" + - "IHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0t" + - "LS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVz" + - "c2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZh" + - "dWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNz" + - "YW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNl" + - "IHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVs" + - "ZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBs" + - "Cgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0t" + - "LS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMg" + - "fCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2Vy" + - "dmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9j" + - "YXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8" + - "IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZp" + - "Y2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1" + - "ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRl" + - "d2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWlu" + - "LXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwp" + - "IHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVt" + - "IHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2Vy" + - "dmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBv" + - "c2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAg" + - "YmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlz" + - "c3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nr" + - "cy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8" + - "IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0t" + - "LS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0" + - "eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFn" + - "cyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBs" + - "YXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2Vk" + - "IGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3Mg" + - "cHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBs" + - "YWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0" + - "ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91" + - "IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJl" + - "bG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9y" + - "eSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVz" + - "Ogp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hl" + - "bG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + - "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJl" + - "LWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + - "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12" + - "YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMg" + - "TXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAg" + - "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpg" + - "YGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFt" + - "bC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5" + - "YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhl" + - "cml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0" + - "byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0" + - "ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRz" + - "IHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3Qg" + - "cHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVk" + - "IGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0g" + - "cGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0" + - "ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkK" + - "NC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFs" + - "dWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJl" + - "Y2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25t" + - "ZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZh" + - "bHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNl" + - "czoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRy" + - "YS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25z" + - "LmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9k" + - "ZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5k" + - "cmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWlu" + - "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29u" + - "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0" + - "b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0" + - "b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFn" + - "ZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1h" + - "Z2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0" + - "b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJ" + - "LCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5" + - "KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVu" + - "di4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVu" + - "dAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0" + - "aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1y" + - "ZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9j" + - "YXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVk" + - "LCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxt" + - "ZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9i" + - "c29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + - "c3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06" + - "CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAg" + - "ICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZh" + - "bHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmlj" + - "czoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2Vu" + - "dENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBv" + - "bGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFy" + - "Z2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZv" + - "ciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQ" + - "SSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNl" + - "bGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0" + - "aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0lu" + - "c2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXIt" + - "dG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9u" + - "IGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2Vk" + - "IFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBz" + - "ZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJl" + - "IHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10" + - "d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJl" + - "IG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQg" + - "QmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mv" + - "c2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUu" + - "CgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRl" + - "ZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdv" + - "cmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25m" + - "aWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNpZGVjYXJzOgogICAgICAg" + - "ICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9u" + - "OjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVS" + - "X0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBp" + - "dCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11" + - "c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJl" + - "bmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZp" + - "cm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2lu" + - "ZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNl" + - "aXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBg" + - "CgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJp" + - "dmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoK" + - "RXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIg" + - "aW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBs" + - "YWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5" + - "IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0" + - "ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBw" + - "bGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52" + - "Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUg" + - "J2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + - "ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9u" + - "LXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09" + - "ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBs" + - "YWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1x" + - "dWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJl" + - "aGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dp" + - "dGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0" + - "ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxl" + - "Y3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkg" + - "cmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkg" + - "c3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoK" + - "IyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVh" + - "c2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "ZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1n" + - "cm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + - "BwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCm" + - "zhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + - "ZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFp" + - "bGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRk" + - "b24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVk" + - "IHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNs" + - "dWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + - "aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRp" + - "bCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFk" + - "ZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + - "bAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1l" + - "c3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFu" + - "IGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3Ry" + - "eToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9t" + - "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNy" + - "LWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9" + - "JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0t" + - "bmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "YXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFp" + - "bj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkg" + - "dGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1" + - "ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2Ug" + - "YW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBW" + - "ZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFu" + - "ZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3Vi" + - "ZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6" + - "IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAK" + - "CiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRo" + - "ZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3Ry" + - "aWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGlu" + - "Zwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwg" + - "U2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMg" + - "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3Vi" + - "ZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBs" + - "YW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWly" + - "IG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlz" + - "dC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0" + - "byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24g" + - "dGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0" + - "IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBL" + - "eXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBg" + - "YGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2" + - "ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVy" + - "bm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwg" + - "c2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIK" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFj" + - "ZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1w" + - "YXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFw" + - "aVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBu" + - "YW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UK" + - "ICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAg" + - "ICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBr" + - "aW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAg" + - "ICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIK" + - "ICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAg" + - "ICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAg" + - "ICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0" + - "ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgog" + - "ICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6" + - "IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAg" + - "ICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxs" + - "c2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUK" + - "CkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGlu" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5l" + - "ZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBs" + - "YW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25s" + - "eSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBu" + - "dmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVz" + - "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkg" + - "LWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBm" + - "aWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZj" + - "ci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4g" + - "RG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZv" + - "bGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNh" + - "dGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGlu" + - "amVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMu" + - "aW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgoj" + - "IENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBq" + - "c29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1" + - "bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwg" + - "ZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVu" + - "dHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + - "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0" + - "aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBz" + - "ZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2Vj" + - "cmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJ" + - "ZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElB" + - "TSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBz" + - "ZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4K" + - "LSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lz" + - "dHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNl" + - "cy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09m" + - "ZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMg" + - "cG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVj" + - "ayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMj" + - "IyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8K" + - "IyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5n" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBj" + - "bHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFE" + - "WTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2Vz" + - "IGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBu" + - "YW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNy" + - "ZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQA" + - "CAAAAAAAIQBZ0qIWShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25V" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEA/3bzZ1NhAABTYQAAIwAJAAAAAAAAAAAAAACTEAAAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "Q8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAABAcgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "ZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKEU44FdDAAA" + - "XQwAADQACQAAAAAAAAAAAAAAx4EAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + - "L211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAQidJDwUNAAAFDQAANwAJ" + - "AAAAAAAAAAAAAACPjgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29t" + - "cHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAA" + - "AAAAAAAAAAKcAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQt" + - "cnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAA" + - "AAAAAAARtgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWlu" + - "dm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAA" + - "AJfbAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + - "bnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEJx5h4BKAAAASgAADoACQAAAAAAAAAA" + - "AAAAyeoAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNj" + - "cmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADIBwAAOQAJAAAAAAAAAAAA" + - "AAA7EwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1q" + - "d2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAA" + - "cxsBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAcg0PZCEjAAAhIwAAMAAJAAAAAAAAAAAAAAC8PQEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAOQtyV75CwAA+QsAADIACQAAAAAAAAAAAAAARGEBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMDU" + - "QvEaSgAAGkoAAC0ACQAAAAAAAAAAAAAApm0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDzrhOEdBEAAHQRAAA3AAkA" + - "AAAAAAAAAAAAACS4AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + - "ZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAA" + - "AAAAAAAABsoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAAAAAAAAAAsiwCAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAABngwIAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAABMrAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAAAAAAAOHcAgBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAAAAAAAAgOAwBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAAI04" + - "AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWkt" + - "YWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAA" + - "AAC8QAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxs" + - "LXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAMVcDAAAA" + "b290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5" + + "OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUg" + + "fX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88" + + "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + + "eWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNh" + + "c3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVz" + + "dCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + + "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fz" + + "c2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + + "dHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZp" + + "bGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0" + + "aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9u" + + "OiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2" + + "aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5" + + "b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNp" + + "bmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJl" + + "Y2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVu" + + "dHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMK" + + "Mi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVz" + + "CjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0" + + "cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52" + + "Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBi" + + "bG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55" + + "YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJv" + + "bSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkg" + + "YW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJv" + + "dWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fz" + + "c2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVw" + + "b3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBl" + + "cnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5v" + + "ZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VD" + + "bGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9h" + + "ZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5j" + + "b25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5w" + + "b2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3Bl" + + "bkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRp" + + "b25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5p" + + "bWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3Jz" + + "IChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNl" + + "Pi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0" + + "b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRp" + + "bmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBi" + + "ZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTog" + + "IkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1h" + + "cGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hl" + + "biBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMg" + + "dG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25z" + + "LmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRo" + + "LgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25m" + + "aWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRo" + + "ZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdh" + + "dGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZp" + + "Y2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAg" + + "ICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9y" + + "OgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8" + + "CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVz" + + "dHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBg" + + "YAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRl" + + "c3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50" + + "ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRz" + + "IHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0" + + "CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGgg" + + "YSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNl" + + "cGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWly" + + "ZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpg" + + "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQg" + + "d29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhl" + + "IHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2Vy" + + "IGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdp" + + "dGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHVi" + + "LmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qt" + + "cm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlz" + + "IG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQK" + + "cmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGlj" + + "aXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAg" + + "IG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFn" + + "ZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBg" + + "YXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRl" + + "cHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3" + + "aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcg" + + "cGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBs" + + "eSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZl" + + "cnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBm" + + "b3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNv" + + "bmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0" + + "ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0" + + "YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0" + + "aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVy" + + "c2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3" + + "aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5n" + + "IHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVy" + + "IHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rp" + + "b24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBz" + + "aWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3" + + "YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3Vi" + + "ZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1" + + "ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAt" + + "biBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3ty" + + "YW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsu" + + "fXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxs" + + "bS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQt" + + "YmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRl" + + "IGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9i" + + "L21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25m" + + "aWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJl" + + "bGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1z" + + "ZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + + "c2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5j" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVy" + + "LXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1s" + + "bG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4p" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + + "bXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWlu" + + "LWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVj" + + "dG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + + "ZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBV" + + "SSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0" + + "IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2th" + + "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpF" + + "bmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5" + + "b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBh" + + "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCBy" + + "b3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQg" + + "aW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJv" + + "bm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBl" + + "bmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNy" + + "ZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBp" + + "ZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0" + + "ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcu" + + "LCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNy" + + "ZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZl" + + "cj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tl" + + "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1" + + "bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBu" + + "dmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFm" + + "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNl" + + "LCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBs" + + "YXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNm" + + "LXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBv" + + "bmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVj" + + "dGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + + "cmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJ" + + "IGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2Ug" + + "aXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBu" + + "ZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBg" + + "bnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3Zl" + + "cnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAo" + + "Zm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxT" + + "ZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3Jl" + + "ZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERv" + + "IG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRy" + + "b2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8K" + + "Y29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBj" + + "aGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + + "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVu" + + "ZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVy" + + "bm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhl" + + "bG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5h" + + "bWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgoj" + + "IyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBO" + + "R0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + + "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + + "bmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3Jl" + + "YXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZv" + + "ciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNp" + + "cyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3Jl" + + "ZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9" + + "JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + + "ICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBg" + + "CgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1k" + + "b2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBL" + + "eXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpr" + + "aW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNl" + + "Y3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQt" + + "aW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAg" + + "ICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAog" + + "ICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAt" + + "ICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAg" + + "ICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgog" + + "ICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIK" + + "ICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRh" + + "ZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEu" + + "Y29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoK" + + "ICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNy" + + "ZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgoj" + + "IyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0" + + "ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxh" + + "bmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhl" + + "IHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxh" + + "bmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0" + + "aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tl" + + "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + + "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3Bl" + + "cmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGlu" + + "IHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBp" + + "bWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFu" + + "ZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + + "b3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBt" + + "YW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2Vs" + + "ZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhh" + + "dCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + + "ZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBl" + + "Y3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3Rh" + + "dGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1u" + + "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90" + + "YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMg" + + "RXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1z" + + "b3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3Vj" + + "Y2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hh" + + "cnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBu" + + "dmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoq" + + "QVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9u" + + "RUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4g" + + "cHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0" + + "cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRp" + + "YWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFn" + + "ZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgoj" + + "IyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoK" + + "VGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRo" + + "ZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0" + + "aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBw" + + "b2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRy" + + "b2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5u" + + "aW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1h" + + "Z2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNl" + + "Y3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhl" + + "IHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3Bh" + + "Y2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhANHlRwRKEAAAShAAABIACQAA" + + "AAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/" + + "dvNnU2EAAFNhAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9T" + + "S0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAA" + + "AEByAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAADHgQAAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAI+OAABkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAApwAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABG2AABkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAl9sAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAQnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAADJ6gAAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAADsTAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAABzGwEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMA" + + "ACEjAAAwAAkAAAAAAAAAAAAAALw9AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + + "Y2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEApRyptU4NAABODQAAMgAJAAAA" + + "AAAAAAAAAABEYQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29k" + + "ZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAL5jPdCBNAAAgTQAALQAJAAAAAAAAAAAAAAD7" + + "bgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAAf7wBAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAABhzgEAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1Vq" + + "VkpWAABKVgAANAAJAAAAAAAAAAAAAAANMQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8o" + + "AAAvAAkAAAAAAAAAAAAAAMKHAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9l" + + "eGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAA" + + "AAAAAKewAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1" + + "MAAAtTAAADsACQAAAAAAAAAAAAAAPOECAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0K" + + "KgAACioAAEQACQAAAAAAAAAAAAAAYxIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAA6DwDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAABdFAwBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYA" + + "AAAAFwAXAK8JAACMWwMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 27edac1256..6d110319d5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -18,6 +18,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "selfhosted", srcs = [ + "cluster_reach.go", "clustervalidator.go", "dockercreds.go", "helm_runtime.go", @@ -41,6 +42,7 @@ go_library( "//src/clis/nvcf-cli/internal/selfhosted/controlplaneprofile", "//src/clis/nvcf-cli/internal/selfhosted/helmruntime", "//src/clis/nvcf-cli/internal/selfhosted/progress", + "//src/clis/nvcf-cli/internal/selfhosted/severity", "@com_github_masterminds_semver_v3//:semver", "@io_k8s_api//batch/v1:batch", "@io_k8s_api//core/v1:core", @@ -61,6 +63,7 @@ go_library( go_test( name = "selfhosted_test", srcs = [ + "cluster_reach_test.go", "clustervalidator_lifecycle_test.go", "clustervalidator_ownership_test.go", "clustervalidator_test.go", diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go new file mode 100644 index 0000000000..a6c963a423 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -0,0 +1,88 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "crypto/tls" + "errors" + "fmt" + "net" + "syscall" + "time" + + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/client-go/kubernetes" +) + +// ClusterUnreachableError reports a cluster the run could not contact at all: +// its kubeconfig or context did not load, or the API server refused the +// connection, could not be resolved, failed TLS verification, or rejected the +// credentials. Unlike an error part way through a probe, it means nothing +// about the cluster was checked. +type ClusterUnreachableError struct { + Context string + Err error +} + +func (e *ClusterUnreachableError) Error() string { + name := e.Context + if name == "" { + name = "the current kubeconfig context" + } + return fmt.Sprintf("cannot reach %s: %v", name, e.Err) +} + +func (e *ClusterUnreachableError) Unwrap() error { return e.Err } + +// clusterFirstCallTimeout bounds the first API call to a cluster. A var so +// tests can shorten it. +var clusterFirstCallTimeout = 15 * time.Second + +// connectCluster builds a client for kubeContext and makes its first API call. +// A cluster that cannot be contacted at all is a ClusterUnreachableError, +// including one that does not answer that call in time. Any other failure of +// that call is left for the probe that follows to report. +func connectCluster(ctx context.Context, kubeContext string) (kubernetes.Interface, error) { + restCfg, err := loadKubeConfig(kubeContext) + if err != nil { + return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubeconfig: %w", err)} + } + client, err := kubernetes.NewForConfig(restCfg) + if err != nil { + return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubernetes client: %w", err)} + } + callCtx, cancel := context.WithTimeout(ctx, clusterFirstCallTimeout) + defer cancel() + err = client.Discovery().RESTClient().Get().AbsPath("/version").Do(callCtx).Error() + // A run whose own budget ended says so itself; the cluster is not to blame. + if err != nil && ctx.Err() == nil && (callCtx.Err() != nil || isUnreachable(err)) { + return nil, &ClusterUnreachableError{Context: kubeContext, Err: err} + } + return client, nil +} + +// isUnreachable reports an error no retry within the run can clear: the +// server refused the connection or the credentials, could not be resolved, or +// failed TLS verification. A server error is not among them. +func isUnreachable(err error) bool { + var dnsErr *net.DNSError + var certErr *tls.CertificateVerificationError + return apierrors.IsUnauthorized(err) || errors.Is(err, syscall.ECONNREFUSED) || + errors.As(err, &dnsErr) || errors.As(err, &certErr) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go new file mode 100644 index 0000000000..4da8a8431a --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go @@ -0,0 +1,126 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "errors" + "fmt" + "net/http" + "net/http/httptest" + "os" + "path/filepath" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// writeKubeconfig points KUBECONFIG at a file with one context, "test", for +// server. +func writeKubeconfig(t *testing.T, server string) { + t.Helper() + path := filepath.Join(t.TempDir(), "config") + body := fmt.Sprintf(`apiVersion: v1 +kind: Config +clusters: +- name: test + cluster: + server: %s +contexts: +- name: test + context: + cluster: test + user: test +users: +- name: test + user: + token: test-token +current-context: test +`, server) + require.NoError(t, os.WriteFile(path, []byte(body), 0o600)) + t.Setenv("KUBECONFIG", path) +} + +// A cluster the run cannot contact at all is unreachable: a context that does +// not exist, refused credentials, or a refused connection. A server that +// answers with an error is reachable; the probe after it reports that. +func TestConnectCluster_ClassifiesAClusterItCannotReach(t *testing.T) { + status := func(code int) string { + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + w.WriteHeader(code) + })) + t.Cleanup(srv.Close) + return srv.URL + } + closed := httptest.NewServer(http.HandlerFunc(func(http.ResponseWriter, *http.Request) {})) + closed.Close() + release := make(chan struct{}) + silent := httptest.NewServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { + select { + case <-r.Context().Done(): + case <-release: + } + })) + t.Cleanup(silent.Close) + t.Cleanup(func() { close(release) }) + prev := clusterFirstCallTimeout + clusterFirstCallTimeout = 200 * time.Millisecond + t.Cleanup(func() { clusterFirstCallTimeout = prev }) + + for name, tc := range map[string]struct { + server, context string + unreachable bool + }{ + "missing context": {server: status(http.StatusOK), context: "nope", unreachable: true}, + "rejected token": {server: status(http.StatusUnauthorized), context: "test", unreachable: true}, + "refused connection": {server: closed.URL, context: "test", unreachable: true}, + "no answer": {server: silent.URL, context: "test", unreachable: true}, + "server error": {server: status(http.StatusInternalServerError), context: "test"}, + "answers the request": {server: status(http.StatusOK), context: "test"}, + } { + writeKubeconfig(t, tc.server) + _, err := connectCluster(context.Background(), tc.context) + var unreachable *ClusterUnreachableError + assert.Equal(t, tc.unreachable, errors.As(err, &unreachable), "%s: %v", name, err) + if !tc.unreachable { + assert.NoError(t, err, name) + } + } +} + +// A run whose own budget ends during the first call is not told the cluster +// is unreachable: the budget, not the cluster, stopped it. +func TestConnectCluster_SpentBudgetIsNotUnreachable(t *testing.T) { + release := make(chan struct{}) + srv := httptest.NewServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { + select { + case <-r.Context().Done(): + case <-release: + } + })) + t.Cleanup(srv.Close) + t.Cleanup(func() { close(release) }) + writeKubeconfig(t, srv.URL) + ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) + defer cancel() + _, err := connectCluster(ctx, "test") + var unreachable *ClusterUnreachableError + assert.False(t, errors.As(err, &unreachable), "%v", err) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index dc910b93ff..e636c0d043 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -142,6 +142,10 @@ var inotifyProbeBudget = 100 * time.Second // check command's time budget must cover. func InotifyProbeBudget() time.Duration { return inotifyProbeBudget } +// probePodCleanupTimeout bounds the deletion of a probe pod, which runs after +// the probe's own deadline. The probe share leaves room for it. +var probePodCleanupTimeout = 10 * time.Second + // probeAllNodes is the testable core: it takes a kubernetes.Interface so // callers can inject fake.NewSimpleClientset. It probes nodes in parallel // with a small concurrency cap so image-pull latency doesn't blow the @@ -393,7 +397,7 @@ func fetchPodLogs(ctx context.Context, client kubernetes.Interface, podName stri // to its UID. Uses a background context so the pod is cleaned up even when // the caller's context was canceled mid-probe. func cleanupProbePod(client kubernetes.Interface, pod *corev1.Pod) { - delCtx, cancel := context.WithTimeout(context.Background(), validatorCleanupTimeout) + delCtx, cancel := context.WithTimeout(context.Background(), probePodCleanupTimeout) defer cancel() deleteProbePod(delCtx, client, pod) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/output.go b/src/clis/nvcf-cli/internal/selfhosted/output.go index cbfb7920dc..10368fd024 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/output.go +++ b/src/clis/nvcf-cli/internal/selfhosted/output.go @@ -23,6 +23,8 @@ import ( "io" "sort" "strings" + + "nvcf-cli/internal/selfhosted/severity" ) // RenderText writes linkerd-style green/red/warn checkmarks grouped by category @@ -64,7 +66,7 @@ func RenderJSON(w io.Writer, results []CheckResult) { } for _, r := range results { out.Checks = append(out.Checks, checkOut{ - ID: r.ID, Category: r.Category, Severity: r.Severity, + ID: r.ID, Category: r.Category, Severity: string(r.Severity), Passed: r.Passed, Message: r.Message, HintURL: r.HintURL, }) } @@ -74,10 +76,10 @@ func RenderJSON(w io.Writer, results []CheckResult) { } func mark(r CheckResult) string { - switch { - case r.Passed: + switch severity.Of(r.Passed, r.Severity) { + case severity.Pass: return "✓" - case r.Severity == SeverityWarning: + case severity.Warn: return "‼" default: return "×" @@ -99,7 +101,7 @@ func overallStatus(results []CheckResult) string { hasWarn := false for _, r := range results { if r.IsBlockingFailure() { - return SeverityError + return string(SeverityError) } if r.IsWarning() { hasWarn = true diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 4952c67663..a517ecdf31 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -36,6 +36,7 @@ import ( corev1 "k8s.io/api/core/v1" "nvcf-cli/internal/selfhosted/progress" + "nvcf-cli/internal/selfhosted/severity" ) const ( @@ -49,34 +50,34 @@ const ( binaryVersionMessage = "%s %s on PATH (%s required)" ) -// Severity values for CheckResult. Typed constants rather than bare strings: -// a typo'd "Error" silently downgraded a hard failure to a warning, and the -// exit code keys off an exact match. +// Severity is a CheckResult's severity, graded by severity.Of. +type Severity = severity.Severity + const ( - SeverityInfo = "info" - SeverityWarning = "warning" - SeverityError = "error" + SeverityInfo = severity.Info + SeverityWarning = severity.Warning + SeverityError = severity.Error ) -// IsBlockingFailure reports whether the result fails the run: a miss at error -// severity. The exit code, the final event, the category counts and the -// summaries all derive from this one rule so they cannot disagree. +// IsBlockingFailure reports whether the result fails the run. The exit code, +// the final event, the category counts, the summaries and the dashboard all +// grade with severity.Of, so they cannot disagree. func (r CheckResult) IsBlockingFailure() bool { - return !r.Passed && r.Severity == SeverityError + return severity.Of(r.Passed, r.Severity) == severity.Fail } // IsWarning reports a miss that does not fail the run. func (r CheckResult) IsWarning() bool { - return !r.Passed && !r.IsBlockingFailure() + return severity.Of(r.Passed, r.Severity) == severity.Warn } // CountResults tallies results by the one rule every count uses. func CountResults(results []CheckResult) (passed, failed, warned int) { for _, r := range results { - switch { - case r.Passed: + switch severity.Of(r.Passed, r.Severity) { + case severity.Pass: passed++ - case r.IsBlockingFailure(): + case severity.Fail: failed++ default: warned++ @@ -91,7 +92,7 @@ func CountResults(results []CheckResult) (passed, failed, warned int) { type CheckResult struct { ID string Category string - Severity string // "info" | "warning" | "error" + Severity Severity Passed bool Message string Detail string // optional: short version string or extra context (M+8.11) @@ -246,6 +247,10 @@ func runVersionCmdOnce(ctx context.Context, path string, args []string, re *rege type PreflightConfig struct { LocalOnly bool Tools []BinarySpec + // ToolsAdvisory grades a missing or unsupported local tool as a warning. + // Checking an installed stack runs no helm, helmfile or kubectl binary; + // only the install does. + ToolsAdvisory bool // Registries is the list of container registries to credential-check. // When empty, the registry-credentials category is omitted entirely. @@ -323,7 +328,7 @@ type Role int const ( RoleLocalOnly Role = iota // shared local-host tools only; no kubectl contact RoleControlPlane // shared + gateway/StorageClass/LB checks via cluster-validator - RoleComputePlane // shared + GPU operator + GPU node labels + (optional) SIS reachability + RoleComputePlane // shared + SIS reachability, node inotify limits and the validator, each opt-in ) // Validator role strings passed as VALIDATOR_ROLE to the cluster-validator Job. @@ -359,10 +364,8 @@ type RoleConfig struct { // constructed). Production wires NewInotifyProber; tests pass fakes. InotifyProber NodeInotifyProber - // Nil skips the cluster-validator check. The cmd layer emits a stderr - // notice when the operator explicitly opted out; the check schema - // stays clean so JSON consumers don't see a misleading "passed=true" - // row for a probe that never actually ran. + // Nil skips the cluster-validator check; the caller reports why in + // Skipped. ClusterValidator ClusterValidator ClusterValidatorImage string ClusterValidatorPullSecret string @@ -405,8 +408,45 @@ type RoleConfig struct { // ValidatorCleanup records the removal command of every validator run // that may leave objects in the cluster. Nil records nothing. ValidatorCleanup *CleanupLedger + + // Skipped are the checks the run's flags or configuration leave out. Each + // is still reported as a row, so the stream says what was not checked. + Skipped []SkippedCheck +} + +// SkippedCheck is a check the run does not make. +type SkippedCheck struct { + Category string + ID string + Message string + // Warn reports a check the run was expected to make but lacked an input + // for. An explicit opt-out passes at info, as a registry this CLI cannot + // probe does. + Warn bool +} + +func skippedCheck(s SkippedCheck) binaryCheckSpec { + return binaryCheckSpec{ + ID: s.ID, + HumanLabel: s.Message, + static: true, + Run: func(context.Context) CheckResult { + if s.Warn { + return CheckResult{ID: s.ID, Severity: SeverityWarning, Message: s.Message} + } + return CheckResult{ID: s.ID, Severity: SeverityInfo, Passed: true, Message: s.Message} + }, + } } +// The check categories a run reports. +const ( + CategoryLocalHostTools = "local-host-tools" + CategoryRegistryCredentials = "registry-credentials" + CategoryControlPlane = "control-plane-cluster" + CategoryComputePlane = "compute-plane-cluster" +) + // categorySpec groups a set of checks under a named category. Categories run // in declaration order so the bubbletea ModeCheck dashboard renders them // top-to-bottom predictably. @@ -422,6 +462,12 @@ type binaryCheckSpec struct { ID string HumanLabel string Run func(ctx context.Context) CheckResult + // ownBudget runs the check on the run's budget, which sizes it by its own + // ceiling, instead of inside the probe share. + ownBudget bool + // static marks a row whose result is known without any work, so the + // budget cannot cut it short. + static bool } // buildCategories converts a PreflightConfig into the ordered list of @@ -444,18 +490,25 @@ func buildCategories(cfg PreflightConfig, role Role, rc RoleConfig) []categorySp out = append(out, buildRegistryCredentialCategory(cfg)) } - if cfg.LocalOnly || role == RoleLocalOnly { - return out + if !cfg.LocalOnly { + switch role { + case RoleControlPlane: + out = append(out, controlPlaneCheckCategory(rc)) + case RoleComputePlane: + out = append(out, computePlaneCheckCategory(rc)) + } } - switch role { - case RoleControlPlane: - out = append(out, controlPlaneCheckCategory(rc)) - case RoleComputePlane: - out = append(out, computePlaneCheckCategory(rc)) + for _, s := range rc.Skipped { + i := slices.IndexFunc(out, func(c categorySpec) bool { return c.name == s.Category }) + if i < 0 { + i = len(out) + out = append(out, categorySpec{name: s.Category, role: role}) + } + out[i].checks = append(out[i].checks, skippedCheck(s)) } - - return out + // A category with no rows would report a clean tally for nothing checked. + return slices.DeleteFunc(out, func(c categorySpec) bool { return len(c.checks) == 0 }) } // buildLocalHostCategory builds the shared local-host-tools category from cfg. @@ -477,7 +530,24 @@ func buildLocalHostCategory(cfg PreflightConfig) *categorySpec { if len(checks) == 0 { return nil } - return &categorySpec{name: "local-host-tools", role: RoleLocalOnly, checks: checks} + if cfg.ToolsAdvisory { + for i := range checks { + checks[i].Run = advisoryTool(checks[i].Run) + } + } + return &categorySpec{name: CategoryLocalHostTools, role: RoleLocalOnly, checks: checks} +} + +// advisoryTool grades a tool check's miss as a warning. +func advisoryTool(run func(context.Context) CheckResult) func(context.Context) CheckResult { + return func(ctx context.Context) CheckResult { + r := run(ctx) + if !r.Passed { + r.Severity = SeverityWarning + r.Message += "; only an install needs it" + } + return r + } } // controlPlaneCheckCategory returns the cluster-side checks for the control @@ -486,7 +556,7 @@ func buildLocalHostCategory(cfg PreflightConfig) *categorySpec { // Gateway API CRD and StorageClass probes are placeholders pending M3. func controlPlaneCheckCategory(rc RoleConfig) categorySpec { cat := categorySpec{ - name: "control-plane-cluster", + name: CategoryControlPlane, role: RoleControlPlane, checks: []binaryCheckSpec{}, } @@ -514,21 +584,16 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { // or empty field omits the corresponding check from the category. func computePlaneCheckCategory(rc RoleConfig) categorySpec { cat := categorySpec{ - name: "compute-plane-cluster", + name: CategoryComputePlane, role: RoleComputePlane, - checks: []binaryCheckSpec{ - placeholderCheck("gpu-operator", "checking GPU operator…", "GPU operator probe — pending M+10 cluster-side preflight"), - placeholderCheck("gpu-node-labels", "checking GPU node labels…", "GPU node-label probe — pending M+10 cluster-side preflight"), - }, } // Stale namespace check runs first so leftover namespaces from a prior // partial teardown surface before any other cluster work. if rc.StaleNamespaceProber != nil { - cat.checks = append([]binaryCheckSpec{ + cat.checks = append(cat.checks, staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, mergeNamespaces(resolveStackNamespaces(rc.StackDir, nvcfComputePlaneNamespaces), - rc.ExtraStaleNamespaces)), - }, cat.checks...) + rc.ExtraStaleNamespaces))) } if rc.SISURL != "" { cat.checks = append(cat.checks, sisReachabilityCheck(rc.SISURL)) @@ -593,9 +658,9 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS return r } if len(limits) == 0 { + // A probe that checked nothing is not a pass. r.Severity = SeverityWarning - r.Passed = true - r.Message = "no nodes returned by inotify probe; skipping" + r.Message = "no schedulable nodes were probed for inotify limits" return r } var failing, probeErrs []string @@ -654,6 +719,7 @@ func unresolvedValidatorCheck(image string) binaryCheckSpec { return binaryCheckSpec{ ID: id, HumanLabel: "resolving the cluster-validator image…", + static: true, Run: func(context.Context) CheckResult { return CheckResult{ ID: id, @@ -680,6 +746,7 @@ func clusterValidatorCheck(rc RoleConfig, role string) binaryCheckSpec { return binaryCheckSpec{ ID: id, HumanLabel: "running cluster-validator probe…", + ownBudget: true, Run: func(ctx context.Context) CheckResult { r := CheckResult{ ID: id, @@ -1030,7 +1097,7 @@ func clusterValidatorDetail(kubeContext string, result ClusterValidatorResult) s // A registry listed twice, for two repository scopes, gets one row per scope. func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { cat := categorySpec{ - name: "registry-credentials", + name: CategoryRegistryCredentials, role: RoleLocalOnly, // runs regardless of cluster role checks: make([]binaryCheckSpec, 0, len(cfg.Registries)), } @@ -1140,6 +1207,13 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp // in a cluster other than the one that was read. probedContext := effectiveKubeContext(kubeContext) stale, err := prober(ctx, probedContext, namespaces) + var unreachable *ClusterUnreachableError + if errors.As(err, &unreachable) { + // Nothing about this cluster was checked, so nothing passes. + r.Message = unreachable.Error() + r.Err = err + return r + } if err != nil { r.Severity = SeverityWarning r.Message = "stale namespace probe failed: " + err.Error() @@ -1264,23 +1338,6 @@ func shellQuoteArg(s string) string { return "'" + strings.ReplaceAll(s, "'", "'\"'\"'") + "'" } -// placeholderCheck returns a binaryCheckSpec that emits a passing "info" -// CheckResult with the given message. Used until M3/M+10 cluster-side probes ship. -func placeholderCheck(id, label, message string) binaryCheckSpec { - return binaryCheckSpec{ - ID: id, - HumanLabel: label, - Run: func(_ context.Context) CheckResult { - return CheckResult{ - ID: id, - Severity: SeverityInfo, - Passed: true, - Message: message, - } - }, - } -} - // sisReachabilityCheck does an HTTP GET on /v1/health and asserts < 5xx. // Tagged so the renderer groups it under "compute-plane-cluster". func sisReachabilityCheck(sisURL string) binaryCheckSpec { @@ -1303,6 +1360,7 @@ func sisReachabilityCheck(sisURL string) binaryCheckSpec { ID: "sis-reachability", Severity: SeverityError, Passed: false, Message: "SIS unreachable: " + err.Error(), HintURL: "https://docs.nvidia.com/nvcf/self-hosted/troubleshooting#sis-reachability", + Err: err, } } defer resp.Body.Close() @@ -1338,30 +1396,47 @@ func RunPreflightStreaming(ctx context.Context, cfg PreflightConfig, sink progre return runPreflightImpl(ctx, cfg, RoleLocalOnly, RoleConfig{}, sink) } +// checkProbeShare bounds the checks a role runs before its validator, and is +// the whole budget of a role without one. A var so tests can shorten it. +var checkProbeShare = 2 * time.Minute + +// CheckProbeShare is the time each role sets aside for the checks before its +// validator. RunPreflightForRole enforces it, so however slow those probes are +// the validator still gets the time the run's budget sized it for. +func CheckProbeShare() time.Duration { return checkProbeShare } + func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc RoleConfig, sink progress.EventSink) []CheckResult { var all []CheckResult interrupted := func() bool { return errors.Is(ctx.Err(), context.Canceled) || (cfg.Interrupted != nil && cfg.Interrupted()) } + // The probes end early enough for a probe pod's cleanup, which outlives + // its probe, to finish inside the share. + probeCtx, cancelProbes := context.WithTimeout(ctx, checkProbeShare-probePodCleanupTimeout) + defer cancelProbes() categories := buildCategories(cfg, role, rc) for _, cat := range categories { catStart := time.Now() var catResults []CheckResult for _, spec := range cat.checks { + checkCtx := probeCtx + if spec.ownBudget { + checkCtx = ctx + } var res CheckResult switch { case interrupted(): // Interrupted: the command reports the interrupt, not rows. return all - case ctx.Err() != nil: + case checkCtx.Err() != nil && !spec.static: // The budget ran out before this check started. Dropping it // let the partial set grade as the verdict, so a validator // that never ran could pass the gate. res = CheckResult{ ID: spec.ID, Severity: SeverityError, CutShort: true, Message: "not run: the check's time budget ran out before it started", - Err: ctx.Err(), + Err: checkCtx.Err(), } default: _ = sink.Emit(ctx, progress.CheckStarted{ @@ -1369,7 +1444,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro ID: spec.ID, Message: spec.HumanLabel, }) - res = spec.Run(ctx) + res = spec.Run(checkCtx) if interrupted() { // Cut short by the interrupt, so its result is not a // finding; the cancelled final event says what happened. @@ -1382,13 +1457,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro } return all } - if !res.Passed && errors.Is(ctx.Err(), context.DeadlineExceeded) && - errors.Is(res.Err, context.DeadlineExceeded) { - // The budget ran out while it ran: no finding either way. - res.CutShort = true - res.Severity = SeverityError - res.Message = "cut short: the check's time budget ran out before it finished (" + res.Message + ")" - } + res = normaliseResult(checkCtx, res) } res.Category = cat.name all = append(all, res) @@ -1407,6 +1476,25 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro return all } +// normaliseResult applies the rules every row shares. A pass is info, whatever +// severity the check set before it knew the outcome. A miss caused by the +// spent budget, which ctx carries, is cut short: no finding either way. A +// check whose own bound fired keeps its result. +func normaliseResult(ctx context.Context, res CheckResult) CheckResult { + if res.Passed { + res.Severity = SeverityInfo + return res + } + if errors.Is(ctx.Err(), context.DeadlineExceeded) && errors.Is(res.Err, context.DeadlineExceeded) { + res.CutShort = true + res.Severity = SeverityError + // Replaced, not wrapped: the check's own advice is about a failure + // it did not get to observe. + res.Message = "cut short: the check's time budget ran out before it finished" + } + return res +} + // emitCheckCompleted reports one check's result. It uses a fresh context: the // run's own may have ended, and the row must still reach the stream. func emitCheckCompleted(sink progress.EventSink, category string, res CheckResult) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index d6a803f043..eb10401f3a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -292,7 +292,7 @@ func TestRunPreflightStreaming_EmitsEvents(t *testing.T) { require.True(t, ok, "event[3] must be CheckCompleted") assert.Equal(t, "local-host-tools-helmfile", cc1.ID) assert.False(t, cc1.Passed) - assert.Equal(t, "error", cc1.Severity) + assert.Equal(t, SeverityError, cc1.Severity) assert.Equal(t, "https://github.com/helmfile/helmfile#installation", cc1.HintURL) catDone, ok := sink.events[4].(progress.CategoryCompleted) @@ -408,12 +408,12 @@ func TestRunPreflightForRole_LocalOnly(t *testing.T) { assert.Len(t, res, 4, "expected 3 tool results plus helm runtime compatibility") } -func TestRunPreflightForRole_ControlPlaneAddsClusterCategory(t *testing.T) { +// A category with no rows would report a clean tally for nothing checked, so +// it is not reported. A role always has rows: its probes, or the skipped rows +// that say why they did not run. +func TestRunPreflightForRole_EmptyCategoryIsNotReported(t *testing.T) { sink := &captureSink{} cfg := PreflightConfig{Tools: []BinarySpec{passingToolSpec("kubectl", "1.30.0")}} - // No StaleNamespaceProber and no ClusterValidator: the control-plane - // category is empty but the category itself still fires (CategoryCompleted - // is always emitted). RunPreflightForRole(context.Background(), cfg, RoleControlPlane, RoleConfig{KubeContext: "admin@cp"}, sink) seen := map[string]bool{} @@ -423,7 +423,7 @@ func TestRunPreflightForRole_ControlPlaneAddsClusterCategory(t *testing.T) { } } assert.True(t, seen["local-host-tools"], "expected local-host-tools category") - assert.True(t, seen["control-plane-cluster"], "expected control-plane-cluster category even with no checks configured") + assert.False(t, seen["control-plane-cluster"], "an empty category must not report a tally") } func TestRunPreflightForRole_ControlPlaneWithValidatorAddsClusterValidatorCheck(t *testing.T) { @@ -455,8 +455,9 @@ func TestRunPreflightForRole_ComputePlaneWithoutSISURL(t *testing.T) { for _, r := range res { gotIDs = append(gotIDs, r.ID) } - assert.Contains(t, gotIDs, "gpu-operator") - assert.Contains(t, gotIDs, "gpu-node-labels") + // No row passes for a check that does not run. + assert.NotContains(t, gotIDs, "gpu-operator") + assert.NotContains(t, gotIDs, "gpu-node-labels") assert.NotContains(t, gotIDs, "sis-reachability") // no SISURL → not added } @@ -556,7 +557,7 @@ func TestNodeInotifyCheck_OneNodeBelowMinimum(t *testing.T) { got := findResult(res, "node-inotify-limits") require.NotNil(t, got) assert.False(t, got.Passed, "below-minimum node must fail the check") - assert.Equal(t, "error", got.Severity) + assert.Equal(t, SeverityError, got.Severity) assert.Contains(t, got.Message, "node-b") assert.Contains(t, got.Message, "max_user_instances=128/8192") assert.NotContains(t, got.Message, "node-a", "node above minimum should not be listed") @@ -598,7 +599,7 @@ func TestNodeInotifyCheck_LimitViolationsBeatProbeErrors(t *testing.T) { got := findResult(res, "node-inotify-limits") require.NotNil(t, got) assert.False(t, got.Passed, "limit violation must fail the check") - assert.Equal(t, "error", got.Severity, + assert.Equal(t, SeverityError, got.Severity, "limit violations outrank probe errors and must surface as error, not warning") assert.Contains(t, got.Message, "node-b", "non-compliant node must appear in message") assert.Contains(t, got.Message, "max_user_instances=128/8192") @@ -621,7 +622,7 @@ func TestNodeInotifyCheck_PerNodeProbeError(t *testing.T) { got := findResult(res, "node-inotify-limits") require.NotNil(t, got) assert.False(t, got.Passed, "per-node probe error must not silently pass") - assert.Equal(t, "warning", got.Severity, "probe failures degrade to warning, not error") + assert.Equal(t, SeverityWarning, got.Severity, "probe failures degrade to warning, not error") assert.Contains(t, got.Message, "node-b") assert.Contains(t, got.Message, "forbidden") } @@ -638,7 +639,7 @@ func TestNodeInotifyCheck_ClusterWideProbeError(t *testing.T) { got := findResult(res, "node-inotify-limits") require.NotNil(t, got) assert.False(t, got.Passed) - assert.Equal(t, "warning", got.Severity) + assert.Equal(t, SeverityWarning, got.Severity) assert.ErrorIs(t, got.Err, probeErr) } @@ -856,3 +857,243 @@ func TestRunPreflight_UnresolvedValidatorImageFailsEachRole(t *testing.T) { assert.Contains(t, row.Message, "--skip-cluster-validation", role) } } + +// completedRows returns the CheckCompleted events a sink received. +func completedRows(sink *captureSink) []progress.CheckCompleted { + var out []progress.CheckCompleted + for _, e := range sink.events { + if cc, ok := e.(progress.CheckCompleted); ok { + out = append(out, cc) + } + } + return out +} + +// Every passing row is info on the wire, whatever severity the check set +// before it knew the outcome: a consumer that triages on severity error must +// not flag a healthy run. +func TestRunPreflight_PassingRowsAreInfo(t *testing.T) { + sink := &captureSink{} + cfg := PreflightConfig{Tools: []BinarySpec{passingToolSpec("kubectl", "1.30.0"), passingToolSpec("helm", "3.15.0")}} + rc := RoleConfig{ + InotifyProber: func(context.Context, string) ([]NodeInotifyLimits, error) { + return []NodeInotifyLimits{{NodeName: "n1", MaxUserInstances: 8192, MaxUserWatches: 524288}}, nil + }, + } + RunPreflightForRole(context.Background(), cfg, RoleComputePlane, rc, sink) + rows := completedRows(sink) + require.Len(t, rows, 3) + for _, row := range rows { + assert.True(t, row.Passed, row.ID) + assert.Equal(t, SeverityInfo, row.Severity, row.ID) + } +} + +// A probe that checked no node is not a pass. +func TestNodeInotifyCheck_NothingProbedIsNotAPass(t *testing.T) { + spec := nodeInotifyCheck(func(context.Context, string) ([]NodeInotifyLimits, error) { return nil, nil }, "") + r := spec.Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, SeverityWarning, r.Severity) + assert.Contains(t, r.Message, "no schedulable nodes were probed") +} + +// A SIS request the spent budget stopped is cut short, not graded as SIS being +// unreachable. +func TestRunPreflight_SISStoppedByTheBudgetIsCutShort(t *testing.T) { + release := make(chan struct{}) + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + select { + case <-r.Context().Done(): + case <-release: + } + })) + defer srv.Close() + defer close(release) + + ctx, cancel := context.WithTimeout(context.Background(), 200*time.Millisecond) + defer cancel() + res := RunPreflightForRole(ctx, PreflightConfig{}, RoleComputePlane, RoleConfig{SISURL: srv.URL}, &captureSink{}) + sis := findResult(res, "sis-reachability") + require.NotNil(t, sis) + assert.True(t, sis.CutShort) + assert.True(t, strings.HasPrefix(sis.Message, "cut short: "), sis.Message) +} + +// The checks before a validator run inside the probe share, so a probe that +// hangs cannot eat into the validator's time: the validator still runs on the +// run's budget, and the hung probe is cut short. +func TestRunPreflight_ProbeShareBoundsTheChecksBeforeTheValidator(t *testing.T) { + prevShare, prevCleanup := checkProbeShare, probePodCleanupTimeout + checkProbeShare, probePodCleanupTimeout = 400*time.Millisecond, 100*time.Millisecond + t.Cleanup(func() { checkProbeShare, probePodCleanupTimeout = prevShare, prevCleanup }) + + var validatorCtxErr error + ran := false + rc := RoleConfig{ + StaleNamespaceProber: func(ctx context.Context, _ string, _ []string) ([]StaleNamespace, error) { + <-ctx.Done() + return nil, ctx.Err() + }, + ClusterValidatorImage: "nvcr.io/nvidia/validator:1", + ClusterValidator: func(ctx context.Context, _ ClusterValidatorParams) ClusterValidatorResult { + ran, validatorCtxErr = true, ctx.Err() + return ClusterValidatorResult{Passed: true, Logs: validatorRoleMarker + "control-plane\n"} + }, + } + ctx, cancel := context.WithTimeout(context.Background(), time.Minute) + defer cancel() + start := time.Now() + res := RunPreflightForRole(ctx, PreflightConfig{}, RoleControlPlane, rc, &captureSink{}) + assert.Less(t, time.Since(start), checkProbeShare, "the probes end inside the share") + + stale := findResult(res, "stale-namespaces") + require.NotNil(t, stale) + assert.True(t, stale.CutShort) + require.True(t, ran, "the validator still runs") + assert.NoError(t, validatorCtxErr, "on the run's budget, not the spent share") + validator := findResult(res, "cluster-validator") + require.NotNil(t, validator) + assert.True(t, validator.Passed) +} + +// The inotify probe's own bound, and the cleanup of its pods after it, fit in +// the probe share, so a slow cluster is reported as nodes not probed rather +// than cut short. +func TestCheckProbeShare_CoversTheInotifyProbe(t *testing.T) { + assert.Less(t, inotifyProbeBudget, checkProbeShare-probePodCleanupTimeout) +} + +// A missing tool fails pre-install, where the install runs it, and only warns +// when an installed stack is checked, which runs no local tool. +func TestRunPreflight_ToolsAdvisoryWarns(t *testing.T) { + missing := BinarySpec{ + Name: "helmfile", MinVer: semver.MustParse("1.0.0"), + LookPath: func(string) (string, error) { return "", errors.New("not found") }, + } + for advisory, want := range map[bool]Severity{false: SeverityError, true: SeverityWarning} { + res := RunPreflightForRole(context.Background(), + PreflightConfig{Tools: []BinarySpec{missing}, ToolsAdvisory: advisory}, RoleLocalOnly, RoleConfig{}, &captureSink{}) + require.Len(t, res, 1) + assert.False(t, res[0].Passed) + assert.Equal(t, want, res[0].Severity, "advisory=%v", advisory) + } +} + +// A check the flags or configuration leave out is still a row: an opt-out +// passes at info, a missing input warns. Neither is cut short by a spent +// budget, since neither has work to do, and its category is reported even +// when the role runs no other check in it. +func TestRunPreflight_SkippedChecksAreRows(t *testing.T) { + rc := RoleConfig{Skipped: []SkippedCheck{ + {Category: CategoryControlPlane, ID: "cluster-validator", Message: "skipped (--skip-cluster-validation)"}, + {Category: CategoryComputePlane, ID: "cluster-validator", Message: "not set", Warn: true}, + }} + expired, cancel := context.WithDeadline(context.Background(), time.Now().Add(-time.Second)) + defer cancel() + for _, ctx := range []context.Context{context.Background(), expired} { + sink := &captureSink{} + res := RunPreflightForRole(ctx, PreflightConfig{LocalOnly: true}, RoleLocalOnly, rc, sink) + require.Len(t, res, 2) + assert.Equal(t, CategoryControlPlane, res[0].Category) + assert.True(t, res[0].Passed) + assert.Equal(t, SeverityInfo, res[0].Severity) + assert.Equal(t, CategoryComputePlane, res[1].Category) + assert.False(t, res[1].Passed) + assert.Equal(t, SeverityWarning, res[1].Severity) + for _, r := range res { + assert.False(t, r.CutShort) + } + assert.Len(t, completedRows(sink), 2) + } +} + +// category_completed counts by the one rule: an error is a failure, a warning +// is not, and a pass is a pass. +func TestRunPreflight_CategoryCountsFollowTheOneRule(t *testing.T) { + sink := &captureSink{} + rc := RoleConfig{ + StaleNamespaceProber: func(context.Context, string, []string) ([]StaleNamespace, error) { return nil, nil }, + InotifyProber: func(context.Context, string) ([]NodeInotifyLimits, error) { + return []NodeInotifyLimits{{NodeName: "n1", MaxUserInstances: 128, MaxUserWatches: 8192}}, nil + }, + Skipped: []SkippedCheck{{Category: CategoryComputePlane, ID: "cluster-validator", Message: "not set", Warn: true}}, + } + RunPreflightForRole(context.Background(), PreflightConfig{}, RoleComputePlane, rc, sink) + var cats []progress.CategoryCompleted + for _, e := range sink.events { + if cc, ok := e.(progress.CategoryCompleted); ok { + cats = append(cats, cc) + } + } + require.Len(t, cats, 1) + assert.Equal(t, 1, cats[0].PassedCount) + assert.Equal(t, 1, cats[0].FailedCount) + assert.Equal(t, 1, cats[0].WarningCount) +} + +// A registry this CLI cannot probe, or one that allows anonymous access, is a +// skip: a passing row at info on the wire, never a warning or a failure. +func TestRunPreflight_RegistrySkipsPassAtInfo(t *testing.T) { + cfg := PreflightConfig{ + Registries: []RegistryEntry{ + {Registry: "123456789012.dkr.ecr.us-west-2.amazonaws.com", Critical: true}, + {Registry: "basic.example.com", Critical: true}, + {Registry: "anon.example.com", Critical: true}, + }, + RegistryChecker: func(_ context.Context, registry, _ string, _ bool) error { + switch registry { + case "anon.example.com": + return registryProbeOutcome{kind: probeAnonymous, detail: "reachable anonymously"} + default: + return registryProbeOutcome{kind: probeSkipped, detail: "this probe cannot speak to it"} + } + }, + } + sink := &captureSink{} + RunPreflightForRole(context.Background(), cfg, RoleLocalOnly, RoleConfig{}, sink) + rows := completedRows(sink) + require.Len(t, rows, 3) + for _, row := range rows { + assert.True(t, row.Passed, row.ID) + assert.Equal(t, SeverityInfo, row.Severity, row.ID) + } +} + +// A cluster that cannot be contacted at all fails its role: nothing about it +// was checked. A failure part way through the probe stays a warning. +func TestStaleNamespaceCheck_UnreachableClusterIsAnError(t *testing.T) { + unreachable := staleNamespaceCheck(func(context.Context, string, []string) ([]StaleNamespace, error) { + return nil, &ClusterUnreachableError{Context: "ctx-a", Err: errors.New("connection refused")} + }, "ctx-a", []string{"nvcf"}).Run(context.Background()) + assert.True(t, unreachable.IsBlockingFailure()) + assert.Contains(t, unreachable.Message, "cannot reach ctx-a") + + midProbe := staleNamespaceCheck(func(context.Context, string, []string) ([]StaleNamespace, error) { + return nil, errors.New("list Helm secrets in nvcf: stream error") + }, "ctx-a", []string{"nvcf"}).Run(context.Background()) + assert.False(t, midProbe.Passed) + assert.Equal(t, SeverityWarning, midProbe.Severity) +} + +// Each term of the validator's run ceiling counts as often as one run can +// spend it. Bumping a term by one second grows the ceiling by its count. +func TestClusterValidatorRunCeiling_CountsEveryTerm(t *testing.T) { + for name, tc := range map[string]struct { + term *time.Duration + count time.Duration + }{ + "its own timeout": {&clusterValidatorTimeout, 1}, + "the deadline grace": {&validatorDeadlineGrace, 1}, + "the reads that grade it": {&clusterValidatorLogFetchTimeout, 4}, + "the deferred sweeps": {&validatorCleanupTimeout, 3}, + "the margin": {&validatorRunMargin, 1}, + } { + before := ClusterValidatorRunCeiling() + prev := *tc.term + *tc.term += time.Second + after := ClusterValidatorRunCeiling() + *tc.term = prev + assert.Equal(t, tc.count*time.Second, after-before, name) + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/progress/BUILD.bazel index 76a5b654e9..ee06cc96e1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/BUILD.bazel @@ -33,6 +33,7 @@ go_library( importpath = "nvcf-cli/internal/selfhosted/progress", visibility = ["//src/clis/nvcf-cli:__subpackages__"], deps = [ + "//src/clis/nvcf-cli/internal/selfhosted/severity", "@com_github_charmbracelet_bubbles//progress", "@com_github_charmbracelet_bubbles//spinner", "@com_github_charmbracelet_bubbletea//:bubbletea", @@ -68,6 +69,7 @@ go_test( data = glob(["testdata/**"]), embed = [":progress"], deps = [ + "//src/clis/nvcf-cli/internal/selfhosted/severity", "@com_github_charmbracelet_bubbletea//:bubbletea", "@com_github_muesli_termenv//:termenv", "@com_github_stretchr_testify//assert", diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go index 6460dc7f70..22c4228771 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go @@ -21,7 +21,11 @@ limitations under the License. // (bubbletea TTY, plain streaming, JSONL). package progress -import "time" +import ( + "time" + + "nvcf-cli/internal/selfhosted/severity" +) // Event is the sealed interface every progress event implements. The // `kind()` method returns a stable string used in --json mode and by the @@ -184,10 +188,12 @@ type Final struct { // Check-mode terminal fields (M+8.11, REQ-19): set by `nvcf self-hosted check` // to surface the verdict + tally. Zero values for other modes (omit on wire). - Verdict string // "ok" | "warnings" | "failed" | "error" | "timeout" - TotalChecks int - PassedCount int - FailedCount int + // FailedCount counts blocking failures only; WarningCount the other misses. + Verdict string // "ok" | "warnings" | "failed" | "timeout" + TotalChecks int + PassedCount int + FailedCount int + WarningCount int // Cleanup lists the commands that remove what the checks left in the // cluster, on every outcome, interrupt included. Cleanup []string @@ -272,13 +278,13 @@ type CheckStarted struct { func (CheckStarted) kind() eventKind { return "check_started" } -// CheckCompleted carries the result of a single check. Severity is one of -// "info" | "warning" | "error". HintURL points to remediation docs when set. +// CheckCompleted carries the result of a single check. Severity is graded by +// severity.Of. HintURL points to remediation docs when set. type CheckCompleted struct { Category string ID string Passed bool - Severity string + Severity severity.Severity Message string Detail string // optional: short version string or extra context HintURL string // optional: remediation-docs link diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go index 8b77a8b2b7..6d062a142e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go @@ -465,10 +465,10 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { if ev.Verdict != "" { out.Verdict = ev.Verdict out.TotalChecks = ev.TotalChecks - passed := ev.PassedCount - failed := ev.FailedCount + passed, failed, warned := ev.PassedCount, ev.FailedCount, ev.WarningCount out.PassedCount = &passed out.FailedCount = &failed + out.WarningCount = &warned } out.Cleanup = ev.Cleanup return out @@ -541,7 +541,7 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { Category: ev.Category, ID: ev.ID, Passed: ev.Passed, - Severity: ev.Severity, + Severity: string(ev.Severity), Message: ev.Message, Detail: ev.Detail, Transient: ev.Transient, @@ -654,7 +654,7 @@ type wireLastProgress struct { // - PlanOnly: omitempty — omit when false; include when true (plan-only short-circuit). // - DurationSec: NO omitempty — 0 is a valid value for very fast installs. // - DroppedProgressEvents: NO omitempty — consumers need the backpressure count. -// - Verdict/TotalChecks/PassedCount/FailedCount: omitempty — check-mode only (M+8.11). +// - Verdict/TotalChecks/PassedCount/FailedCount/WarningCount: omitempty, check-mode only (M+8.11). type wireFinal struct { Event string `json:"event"` TS string `json:"ts"` @@ -674,8 +674,9 @@ type wireFinal struct { // downstream tooling that asserts the field is always present on a // check-typed Final. Nil on non-check Final keeps install/up/down // goldens unchanged. - PassedCount *int `json:"passedCount,omitempty"` - FailedCount *int `json:"failedCount,omitempty"` + PassedCount *int `json:"passedCount,omitempty"` + FailedCount *int `json:"failedCount,omitempty"` + WarningCount *int `json:"warningCount,omitempty"` // Cleanup lists the commands that remove what a check left in the cluster. Cleanup []string `json:"cleanup,omitempty"` } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go index 2874679b1b..2ac24f02c7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go @@ -288,7 +288,7 @@ func TestRenderJSONL_CheckStream(t *testing.T) { CheckStarted{Category: "pre-kubernetes-setup", ID: "gateway-api"}, CheckCompleted{Category: "pre-kubernetes-setup", ID: "gateway-api", Passed: false, Severity: "error", Message: "Gateway API CRDs not installed", HintURL: "https://docs.nvidia.com/nvcf/self-hosted/gateway-api"}, CategoryCompleted{Category: "pre-kubernetes-setup", PassedCount: 13, FailedCount: 1, DurationSec: 2.4}, - Final{Success: false, Verdict: "failed", TotalChecks: 14, PassedCount: 13, FailedCount: 1}, + Final{Success: false, Verdict: "failed", TotalChecks: 15, PassedCount: 13, FailedCount: 1, WarningCount: 1}, } got := runEmit(t, clock, events) diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go index 3c37759008..d82ffb3225 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain.go @@ -156,8 +156,8 @@ func (r *PlainRenderer) Emit(_ context.Context, e Event) error { ts, ev.ClusterID, ev.Duration, ev.DroppedProgressEvents) } if ev.Verdict != "" { - return r.writef("%s final verdict=%s totalChecks=%d passed=%d failed=%d\n", - ts, ev.Verdict, ev.TotalChecks, ev.PassedCount, ev.FailedCount) + return r.writef("%s final verdict=%s totalChecks=%d passed=%d failed=%d warnings=%d\n", + ts, ev.Verdict, ev.TotalChecks, ev.PassedCount, ev.FailedCount, ev.WarningCount) } return r.writef("%s final: success=%v cluster=%s backend=%s duration=%s dropped=%d\n", ts, ev.Success, ev.ClusterID, ev.NVCFBackendHealth, ev.Duration, ev.DroppedProgressEvents) @@ -216,14 +216,22 @@ func (r *PlainRenderer) Emit(_ context.Context, e Event) error { case CheckStarted: return r.writef("%s [pre] check_started %s/%s\n", ts, ev.Category, ev.ID) case CheckCompleted: - // Build category/ID column, pad to 43 chars per §6.6.2 mock. + // Build the category/ID column, padded to 43 chars as in the 6.6.2 + // mock. The space after it keeps a longer ID apart from passed=. catID := fmt.Sprintf("%s/%s", ev.Category, ev.ID) padded := fmt.Sprintf("%-43s", catID) - if err := r.writef("%s [pre] check_completed %spassed=%v", ts, padded, ev.Passed); err != nil { + if err := r.writef("%s [pre] check_completed %s passed=%v", ts, padded, ev.Passed); err != nil { return err } if !ev.Passed { - if err := r.writef(` severity=%s message="%s"`, ev.Severity, ev.Message); err != nil { + if err := r.writef(` severity=%s`, ev.Severity); err != nil { + return err + } + } + // Every row's message, so a skipped or unverified pass reads apart + // from a verified one. + if ev.Message != "" { + if err := r.writef(` message="%s"`, ev.Message); err != nil { return err } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain_test.go index 8a6eee553c..9345f0519c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_plain_test.go @@ -23,6 +23,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -294,7 +295,7 @@ func TestRenderPlain_CheckStream(t *testing.T) { CheckStarted{Category: "pre-kubernetes-setup", ID: "gateway-api"}, CheckCompleted{Category: "pre-kubernetes-setup", ID: "gateway-api", Passed: false, Severity: "error", Message: "Gateway API CRDs not installed", HintURL: "https://docs.nvidia.com/nvcf/self-hosted/gateway-api"}, CategoryCompleted{Category: "pre-kubernetes-setup", PassedCount: 13, FailedCount: 1, DurationSec: 2.4}, - Final{Success: false, Verdict: "failed", TotalChecks: 14, PassedCount: 13, FailedCount: 1}, + Final{Success: false, Verdict: "failed", TotalChecks: 15, PassedCount: 13, FailedCount: 1, WarningCount: 1}, } for _, ev := range events { @@ -448,3 +449,18 @@ func TestRenderPlain_Uninstall(t *testing.T) { require.NoError(t, r.Close()) assertGolden(t, "testdata/plain_uninstall.golden", buf.String()) } + +// Every row's message is printed, so a skipped or unverified pass reads apart +// from a verified one, and an ID longer than the padded column stays apart +// from passed=. +func TestRenderPlain_CheckRowsKeepTheirMessage(t *testing.T) { + var buf bytes.Buffer + r := newPlainRendererForTest(&buf, (&fakeClock{times: []time.Time{ts("2026-04-29T03:45:01Z")}}).Now) + require.NoError(t, r.Emit(context.Background(), CheckCompleted{ + Category: "registry-credentials", ID: "registry-cred-123456789012.dkr.ecr.us-west-2.amazonaws.com", + Passed: true, Severity: "info", Message: "skipped (ECR uses SigV4)", + })) + assert.Contains(t, buf.String(), + `registry-credentials/registry-cred-123456789012.dkr.ecr.us-west-2.amazonaws.com passed=true `+ + `message="skipped (ECR uses SigV4)"`) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index bcbf80f4b6..7b62bb6c68 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -31,6 +31,8 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" "github.com/muesli/termenv" + + "nvcf-cli/internal/selfhosted/severity" ) // RenderMode discriminates the layout the bubbletea Model produces. @@ -218,7 +220,7 @@ type checkRow struct { started bool finished bool passed bool - severity string + severity severity.Severity message string startMsg string // human label from CheckStarted.Message, shown while in-flight detail string @@ -288,13 +290,16 @@ type Model struct { recentEvents []RecentEvent // check mode (mode == ModeCheck) - checkCategories []checkCategoryState - checkCategoryIdx map[string]int - totalChecks int // hint from ModelOpts; 0 means derive from accumulated rows - checkFinalTotal int - checkFinalPassed int - checkFinalFailed int - checkCancelled bool // final event came from SIGINT/SIGTERM, not a verdict + checkCategories []checkCategoryState + checkCategoryIdx map[string]int + totalChecks int // hint from ModelOpts; 0 means derive from accumulated rows + checkFinalTotal int + checkFinalPassed int + checkFinalFailed int + checkFinalWarned int + checkFinalVerdict string + checkFinalSuccess bool + checkCancelled bool // final event came from SIGINT/SIGTERM, not a verdict // log tail (LogLine ring buffer; rendered as a "Recent" panel during // long phases like apply-cp). Capacity is fixed; new lines push older @@ -704,16 +709,7 @@ func (m Model) applyStatusEvent(e Event) (tea.Model, tea.Cmd) { func (m Model) applyCheckEvent(e Event) (tea.Model, tea.Cmd) { switch ev := e.(type) { case CheckStarted: - i, ok := m.checkCategoryIdx[ev.Category] - if !ok { - i = len(m.checkCategories) - m.checkCategories = append(m.checkCategories, checkCategoryState{ - name: ev.Category, - keys: map[string]int{}, - }) - m.checkCategoryIdx[ev.Category] = i - } - cat := &m.checkCategories[i] + cat := m.checkCategory(ev.Category) if _, exists := cat.keys[ev.ID]; !exists { cat.keys[ev.ID] = len(cat.checks) cat.checks = append(cat.checks, checkRow{id: ev.ID, started: true, startMsg: ev.Message}) @@ -721,11 +717,9 @@ func (m Model) applyCheckEvent(e Event) (tea.Model, tea.Cmd) { return m, nil case CheckCompleted: - ci, ok := m.checkCategoryIdx[ev.Category] - if !ok { - return m, nil - } - cat := &m.checkCategories[ci] + // A row the budget stopped before it started has no CheckStarted, and + // may be the first of its category: it still needs a place. + cat := m.checkCategory(ev.Category) ri, exists := cat.keys[ev.ID] if !exists { // CheckStarted may have been suppressed; insert a row in finished state. @@ -744,11 +738,7 @@ func (m Model) applyCheckEvent(e Event) (tea.Model, tea.Cmd) { return m, nil case CategoryCompleted: - ci, ok := m.checkCategoryIdx[ev.Category] - if !ok { - return m, nil - } - cat := &m.checkCategories[ci] + cat := m.checkCategory(ev.Category) cat.duration = time.Duration(ev.DurationSec * float64(time.Second)) cat.final = true return m, nil @@ -758,12 +748,27 @@ func (m Model) applyCheckEvent(e Event) (tea.Model, tea.Cmd) { m.checkFinalTotal = ev.TotalChecks m.checkFinalPassed = ev.PassedCount m.checkFinalFailed = ev.FailedCount + m.checkFinalWarned = ev.WarningCount + m.checkFinalVerdict = ev.Verdict + m.checkFinalSuccess = ev.Success m.checkCancelled = ev.Cancelled return m, tea.Quit } return m, nil } +// checkCategory returns the named category, adding it in arrival order when +// it is new. The pointer is valid until the next category is added. +func (m *Model) checkCategory(name string) *checkCategoryState { + i, ok := m.checkCategoryIdx[name] + if !ok { + i = len(m.checkCategories) + m.checkCategories = append(m.checkCategories, checkCategoryState{name: name, keys: map[string]int{}}) + m.checkCategoryIdx[name] = i + } + return &m.checkCategories[i] +} + // percentOf returns done/total clamped to [0, 1]. A zero Total renders an // empty bar rather than panicking on divide-by-zero. func percentOf(done, total int) float64 { @@ -1778,20 +1783,22 @@ func humanCategoryName(raw string) string { // checkGlyph returns the bracketed glyph for a check row. Matches install-mode // convention: bracket + unicode, unchanged in ASCII-only mode (AsciiOnly only -// strips ANSI color codes, not unicode characters). A miss below error -// severity is a warning, tallied and exited on as one, so it gets its own mark. +// strips ANSI color codes, not unicode characters). A warning, tallied and +// exited on as one, gets its own mark. func checkGlyph(row checkRow) string { switch { - case row.finished && row.passed: - return "[✓]" - case row.finished && row.severity == "error": - return "[✘]" - case row.finished: + case !row.finished && row.started: + return "[\u25b6]" + case !row.finished: + return "[ ]" + } + switch severity.Of(row.passed, row.severity) { + case severity.Pass: + return "[\u2713]" + case severity.Warn: return "[!]" - case row.started && !row.finished: - return "[▶]" default: - return "[ ]" + return "[\u2718]" } } @@ -1841,6 +1848,7 @@ func (m Model) viewCheck(now time.Time) string { if m.finished && m.checkFinalTotal > 0 { passed = m.checkFinalPassed failed = m.checkFinalFailed + warned = m.checkFinalWarned total = m.checkFinalTotal } if total < m.totalChecks { @@ -1860,26 +1868,27 @@ func (m Model) viewCheck(now time.Time) string { } } - allFinished := !anyInFlight && m.finished tally := fmt.Sprintf("%d/%d passed, %d failed", passed, total, failed) if warned > 0 { tally += fmt.Sprintf(", %d warning(s)", warned) } + // Once finished, the final event's verdict decides, as it does the exit + // code and the JSON and plain output. var statusLine string switch { case m.finished && m.checkCancelled: // Checks cut short by the interrupt are neither passed nor failed. statusLine = fmt.Sprintf("Status: cancelled (%s)", tally) - case anyInFlight || (!m.finished && len(m.checkCategories) > 0 && !allFinished): + case anyInFlight || !m.finished: statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, %d failed)", passed, total, failed) - case m.finished && failed > 0: + case m.checkFinalVerdict == "timeout": + statusLine = fmt.Sprintf("Status: \u2718 timed out (%s)", tally) + case !m.checkFinalSuccess || failed > 0: statusLine = fmt.Sprintf("Status: ✘ failed (%s)", tally) - case m.finished && warned > 0: + case warned > 0: statusLine = fmt.Sprintf("Status: ✓ ok with warnings (%s)", tally) - case m.finished: - statusLine = fmt.Sprintf("Status: ✓ ok (%s)", tally) default: - statusLine = fmt.Sprintf("Status: in progress (%d/%d passed, %d failed)", passed, total, failed) + statusLine = fmt.Sprintf("Status: \u2713 ok (%s)", tally) } b.WriteString("\n") @@ -1889,9 +1898,8 @@ func (m Model) viewCheck(now time.Time) string { return b.String() } -// checkTally returns (passed, failed, total) counts from all accumulated check rows. -// checkTally counts finished rows by the same rule as the final event: only an -// error-severity miss is a failure, any other miss is a warning. +// checkTally counts finished rows by the rule the final event uses, +// severity.Of, and every row toward the total. func (m Model) checkTally() (passed, failed, warned, total int) { for _, cat := range m.checkCategories { for _, row := range cat.checks { @@ -1899,10 +1907,10 @@ func (m Model) checkTally() (passed, failed, warned, total int) { if !row.finished { continue } - switch { - case row.passed: + switch severity.Of(row.passed, row.severity) { + case severity.Pass: passed++ - case row.severity == "error": + case severity.Fail: failed++ default: warned++ diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index f2beae2652..a7ce789630 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -31,6 +31,8 @@ import ( "github.com/muesli/termenv" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "nvcf-cli/internal/selfhosted/severity" ) // ansiRE matches CSI/OSC ANSI escape sequences so tests can verify the @@ -587,11 +589,85 @@ func TestCheckOneShotRenderer_CancelledIsNotOK(t *testing.T) { assert.NotContains(t, out, "Status: ✓ ok") } -// A warning row is not marked as a failure: it does not fail the run. -func TestCheckGlyph_WarningIsNotAFailure(t *testing.T) { - assert.Equal(t, "[✓]", checkGlyph(checkRow{finished: true, passed: true})) - assert.Equal(t, "[✘]", checkGlyph(checkRow{finished: true, severity: "error"})) - assert.Equal(t, "[!]", checkGlyph(checkRow{finished: true, severity: "warning"})) +// The dashboard's glyph and tally grade a row as the final event does. A miss +// at a severity other than info or warning, a misspelled or empty one +// included, is a failure. +func TestCheckGlyphAndTally_GradeLikeTheFinalEvent(t *testing.T) { + for _, tc := range []struct { + passed bool + sev severity.Severity + glyph string + tally [3]int // passed, failed, warned + }{ + {true, "info", "[\u2713]", [3]int{1, 0, 0}}, + {true, "error", "[\u2713]", [3]int{1, 0, 0}}, + {false, "info", "[!]", [3]int{0, 0, 1}}, + {false, "warning", "[!]", [3]int{0, 0, 1}}, + {false, "error", "[\u2718]", [3]int{0, 1, 0}}, + {false, "Error", "[\u2718]", [3]int{0, 1, 0}}, + {false, "", "[\u2718]", [3]int{0, 1, 0}}, + } { + row := checkRow{id: "x", started: true, finished: true, passed: tc.passed, severity: tc.sev} + assert.Equal(t, tc.glyph, checkGlyph(row), "%v %q", tc.passed, tc.sev) + m := Model{checkCategories: []checkCategoryState{{checks: []checkRow{row}}}} + p, f, w, total := m.checkTally() + assert.Equal(t, tc.tally, [3]int{p, f, w}, "%v %q", tc.passed, tc.sev) + assert.Equal(t, 1, total) + } +} + +// A row the budget stopped before it started arrives with no CheckStarted, and +// can be the first of its category. It is still shown, so the rows that +// explain a timeout are on the dashboard. +func TestTTY_CheckRowOfAnUnseenCategoryIsShown(t *testing.T) { + t.Setenv("NO_COLOR", "1") + var buf bytes.Buffer + r := NewCheckOneShotRenderer(&buf, ModelOpts{Mode: ModeCheck, Output: &buf, AsciiOnly: true}) + ctx := context.Background() + require.NoError(t, r.Emit(ctx, CheckCompleted{ + Category: "compute-plane-cluster", ID: "cluster-validator", Severity: "error", + Message: "not run: the check's time budget ran out before it started", + })) + require.NoError(t, r.Emit(ctx, CategoryCompleted{Category: "compute-plane-cluster", FailedCount: 1})) + require.NoError(t, r.Emit(ctx, Final{Verdict: "timeout", TotalChecks: 1, FailedCount: 1})) + out := buf.String() + assert.Contains(t, out, "[\u2718] not run: the check's time budget ran out before it started") + assert.Contains(t, out, "Status: \u2718 timed out (0/1 passed, 1 failed)") +} + +// Once finished, the status line follows the final event's verdict, as the +// exit code does: a timeout or an unsuccessful run never reads as ok. +func TestTTY_CheckStatusFollowsTheFinalVerdict(t *testing.T) { + t.Setenv("NO_COLOR", "1") + for name, tc := range map[string]struct { + final Final + want string + }{ + "timeout with only warnings": { + final: Final{Verdict: "timeout", TotalChecks: 2, PassedCount: 1, WarningCount: 1}, + want: "Status: \u2718 timed out (1/2 passed, 0 failed, 1 warning(s))", + }, + "unsuccessful with nothing failed": { + final: Final{Verdict: "failed", TotalChecks: 2, PassedCount: 1, WarningCount: 1}, + want: "Status: \u2718 failed (1/2 passed, 0 failed, 1 warning(s))", + }, + "warnings": { + final: Final{Success: true, Verdict: "warnings", TotalChecks: 2, PassedCount: 1, WarningCount: 1}, + want: "Status: \u2713 ok with warnings (1/2 passed, 0 failed, 1 warning(s))", + }, + "ok": { + final: Final{Success: true, Verdict: "ok", TotalChecks: 2, PassedCount: 2}, + want: "Status: \u2713 ok (2/2 passed, 0 failed)", + }, + } { + var buf bytes.Buffer + r := NewCheckOneShotRenderer(&buf, ModelOpts{Mode: ModeCheck, Output: &buf, AsciiOnly: true}) + ctx := context.Background() + require.NoError(t, r.Emit(ctx, CheckCompleted{Category: "c", ID: "a", Passed: true, Severity: "info"})) + require.NoError(t, r.Emit(ctx, CheckCompleted{Category: "c", ID: "b", Severity: "warning", Transient: true})) + require.NoError(t, r.Emit(ctx, tc.final)) + assert.Contains(t, buf.String(), tc.want, name) + } } func TestCheckOneShotRenderer_UsesFinalTallyForStatus(t *testing.T) { @@ -922,7 +998,7 @@ func TestTTY_CheckCompleteWithWarning(t *testing.T) { CheckCompleted{Category: "local-host-tools", ID: "b", Passed: true, Severity: "info", Message: "b"}, CheckStarted{Category: "registry-credentials", ID: "c"}, CheckCompleted{Category: "registry-credentials", ID: "c", Passed: false, Severity: "warning", Message: "c"}, - Final{Success: true, TotalChecks: 3, PassedCount: 2, FailedCount: 0}, + Final{Success: true, Verdict: "warnings", TotalChecks: 3, PassedCount: 2, FailedCount: 0, WarningCount: 1}, } var model tea.Model = m for _, e := range events { diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden index 5c668e09bc..060bcd4e12 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/jsonl_check.golden @@ -6,4 +6,4 @@ {"event":"check_started","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","id":"gateway-api"} {"event":"check_completed","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","id":"gateway-api","passed":false,"severity":"error","message":"Gateway API CRDs not installed","hintURL":"https://docs.nvidia.com/nvcf/self-hosted/gateway-api"} {"event":"category_completed","ts":"2026-04-29T03:45:08Z","category":"pre-kubernetes-setup","passedCount":13,"failedCount":1,"warningCount":0,"durationSec":2.4} -{"event":"final","ts":"2026-04-29T03:45:09Z","success":false,"durationSec":0,"droppedProgressEvents":0,"verdict":"failed","totalChecks":14,"passedCount":13,"failedCount":1} +{"event":"final","ts":"2026-04-29T03:45:09Z","success":false,"durationSec":0,"droppedProgressEvents":0,"verdict":"failed","totalChecks":15,"passedCount":13,"failedCount":1,"warningCount":1} diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden index 2ddf8bc6ed..43e8e654f8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/testdata/plain_check.golden @@ -1,8 +1,8 @@ 2026-04-29T03:45:01Z [pre] check_started local-host-tools/kubectl-on-path -2026-04-29T03:45:01Z [pre] check_completed local-host-tools/kubectl-on-path passed=true detail="1.30.2" +2026-04-29T03:45:01Z [pre] check_completed local-host-tools/kubectl-on-path passed=true message="kubectl 1.30.2 on PATH" detail="1.30.2" 2026-04-29T03:45:01Z [pre] check_started local-host-tools/helmfile-on-path -2026-04-29T03:45:01Z [pre] check_completed local-host-tools/helmfile-on-path passed=true detail="0.162.0" +2026-04-29T03:45:01Z [pre] check_completed local-host-tools/helmfile-on-path passed=true message="helmfile 0.162.0 on PATH" detail="0.162.0" 2026-04-29T03:45:08Z [pre] check_started pre-kubernetes-setup/gateway-api -2026-04-29T03:45:08Z [pre] check_completed pre-kubernetes-setup/gateway-api passed=false severity=error message="Gateway API CRDs not installed" hintURL="https://docs.nvidia.com/nvcf/self-hosted/gateway-api" +2026-04-29T03:45:08Z [pre] check_completed pre-kubernetes-setup/gateway-api passed=false severity=error message="Gateway API CRDs not installed" hintURL="https://docs.nvidia.com/nvcf/self-hosted/gateway-api" 2026-04-29T03:45:08Z [pre] category_completed pre-kubernetes-setup passed=13 failed=1 warnings=0 duration=2.4s -2026-04-29T03:45:09Z final verdict=failed totalChecks=14 passed=13 failed=1 +2026-04-29T03:45:09Z final verdict=failed totalChecks=15 passed=13 failed=1 warnings=1 diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 1ae4adc31a..df0f62d550 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -279,7 +279,7 @@ func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false) r := spec.Run(context.Background()) assert.True(t, r.Passed) - assert.Equal(t, "info", r.Severity) + assert.Equal(t, SeverityInfo, r.Severity) assert.Contains(t, r.Message, "nvcr.io") } @@ -290,7 +290,7 @@ func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false) r := spec.Run(context.Background()) assert.False(t, r.Passed) - assert.Equal(t, "error", r.Severity, "critical registry failure must be error severity") + assert.Equal(t, SeverityError, r.Severity, "critical registry failure must be error severity") } func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing.T) { @@ -300,7 +300,7 @@ func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing. spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}, "quay.io", false) r := spec.Run(context.Background()) assert.False(t, r.Passed) - assert.Equal(t, "warning", r.Severity, "non-critical registry failure must be warning severity") + assert.Equal(t, SeverityWarning, r.Severity, "non-critical registry failure must be warning severity") } // helpers @@ -728,7 +728,7 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { type want struct { passed bool - severity string + severity Severity message string } for name, tc := range map[string]struct { @@ -901,7 +901,7 @@ func TestRegistryCredentialCheck_RejectedNGCKeyAfterInstall(t *testing.T) { for _, tc := range []struct { checker RegistryCredentialChecker postInstall bool - want string + want Severity }{ {rejectedKey, true, SeverityWarning}, {rejectedKey, false, SeverityError}, diff --git a/src/clis/nvcf-cli/internal/selfhosted/severity/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/severity/BUILD.bazel new file mode 100644 index 0000000000..25bf1d17c2 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/severity/BUILD.bazel @@ -0,0 +1,29 @@ +# SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "severity", + srcs = ["severity.go"], + importpath = "nvcf-cli/internal/selfhosted/severity", + visibility = ["//src/clis/nvcf-cli:__subpackages__"], +) + +go_test( + name = "severity_test", + srcs = ["severity_test.go"], + embed = [":severity"], +) diff --git a/src/clis/nvcf-cli/internal/selfhosted/severity/severity.go b/src/clis/nvcf-cli/internal/selfhosted/severity/severity.go new file mode 100644 index 0000000000..622f7143d7 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/severity/severity.go @@ -0,0 +1,52 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package severity grades a check row. Both the check runner and the +// renderers import it, so every count, glyph and exit code follows one rule. +package severity + +// Severity is how much a failed check matters. +type Severity string + +const ( + Info Severity = "info" + Warning Severity = "warning" + Error Severity = "error" +) + +// Grade is how a row counts in every tally. +type Grade int + +const ( + Pass Grade = iota + Warn + Fail +) + +// Of grades one row. A miss blocks the run unless its severity is exactly +// info or warning, so a misspelled or empty severity cannot downgrade a +// failure. +func Of(passed bool, s Severity) Grade { + switch { + case passed: + return Pass + case s == Info || s == Warning: + return Warn + default: + return Fail + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/severity/severity_test.go b/src/clis/nvcf-cli/internal/selfhosted/severity/severity_test.go new file mode 100644 index 0000000000..c6cee52d66 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/severity/severity_test.go @@ -0,0 +1,42 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package severity + +import "testing" + +// A miss fails closed: only the two named non-blocking severities warn. +func TestOf_FailsClosed(t *testing.T) { + for _, tc := range []struct { + passed bool + sev Severity + want Grade + }{ + {true, Error, Pass}, + {true, "", Pass}, + {false, Info, Warn}, + {false, Warning, Warn}, + {false, Error, Fail}, + {false, "Error", Fail}, + {false, "warn", Fail}, + {false, "", Fail}, + } { + if got := Of(tc.passed, tc.sev); got != tc.want { + t.Errorf("Of(%v, %q) = %v, want %v", tc.passed, tc.sev, got, tc.want) + } + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index b1cf6c21c1..8c02b1282b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -73,13 +73,11 @@ type StaleNamespaceProber func(ctx context.Context, kubeContext string, namespac // operator's kubeconfig context to talk to the target cluster. func NewStaleNamespaceProber() StaleNamespaceProber { return func(ctx context.Context, kubeContext string, namespaces []string) ([]StaleNamespace, error) { - restCfg, err := loadKubeConfig(kubeContext) + // The first contact with each visited cluster, so a cluster that + // cannot be reached at all is reported here. + client, err := connectCluster(ctx, kubeContext) if err != nil { - return nil, fmt.Errorf("building kubeconfig: %w", err) - } - client, err := kubernetes.NewForConfig(restCfg) - if err != nil { - return nil, fmt.Errorf("building kubernetes client: %w", err) + return nil, err } return probeStaleNamespaces(ctx, client, namespaces) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 50d561ea7b..67a7663e4d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -213,7 +213,7 @@ func TestStaleNamespaceCheck_ProberErrorDegradestoWarning(t *testing.T) { } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) assert.False(t, r.Passed) - assert.Equal(t, "warning", r.Severity, + assert.Equal(t, SeverityWarning, r.Severity, "prober errors must degrade to warning so transient failures do not block the operator") assert.Contains(t, r.Message, "cluster unreachable") } @@ -227,7 +227,7 @@ func TestStaleNamespaceCheck_StaleIsError(t *testing.T) { } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) assert.False(t, r.Passed) - assert.Equal(t, "error", r.Severity, + assert.Equal(t, SeverityError, r.Severity, "detected stale namespaces must use error severity so the exit code is non-zero") assert.Contains(t, r.Message, "nvcf") assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", From cc985a1fbfa9e5d97d04a4c5480f1802f671046d Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 00:39:13 +0530 Subject: [PATCH 064/127] fix(nvcf-cli): grade stale namespaces on evidence Signed-off-by: rohithb --- .../reference/exit-codes.md | 2 +- .../reference/troubleshooting.md | 6 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 10 +- .../cmd/self_hosted_check_scope_test.go | 8 +- .../agentskill/skilldata_generated.go | 4666 +++++++++-------- .../nvcf-cli/internal/selfhosted/preflight.go | 215 +- .../internal/selfhosted/preflight_test.go | 8 +- .../internal/selfhosted/registry_cred.go | 35 +- .../internal/selfhosted/stack_namespaces.go | 201 +- .../selfhosted/stack_namespaces_test.go | 159 +- .../internal/selfhosted/stale_namespace.go | 400 +- .../selfhosted/stale_namespace_test.go | 462 +- 12 files changed, 3559 insertions(+), 2613 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index ae134d3597..53b2d01865 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,7 +6,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, refused connection, rejected credentials); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image). Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0` | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, refused connection, rejected credentials); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, and a namespace with no Helm release | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short) and no other check failed. A check that already had its result keeps it, so a validator's own failure is exit `2` | | `130` | Cancelled by SIGINT, SIGTERM or SIGHUP | User Ctrl-C; CI budget exceeded; pod evicted; terminal or SSH session closed | diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index 3ac7a8d105..6848b9aa5b 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -13,6 +13,12 @@ Known errors → diagnostic command → remediation. Keep in sync with the struc | `default StorageClass not available` | Cluster has no default SC | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'` | | `GPU operator not installed` (compute-plane) | nvidia GPU operator missing | Install per https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/install-gpu-operator.html, OR use `fake-gpu-operator` for dev | | `GPU node labels missing` (compute-plane) | Nodes need `nvidia.com/gpu.family` etc. | Set `--k3s-node-label nvidia.com/gpu.family=hopper@agent:N` for k3d | +| `stale-namespaces`: ` (stuck Terminating: ...)`, error, exit `2` | The namespace has been deleting for over 2 minutes, or its conditions report a deletion failure. Usually an object inside it still holds a finalizer | Run the commands in the row in order: read `kubectl get ns -o jsonpath='{.status.conditions}'`, list what is left with the `api-resources` command, and resolve those objects. Force-clear the namespace finalizers only as a last resort | +| `stale-namespaces`: ` (Terminating: deleting for )`, warning | A normal deletion is still draining volumes and finalizers | Wait and rerun `check`; `--wait` polls this row. It becomes `stuck Terminating` after 2 minutes | +| `stale-namespaces`: ` (Helm release mid-operation: )`, warning | An interrupted install, upgrade, rollback or teardown left the release `pending-*` or `uninstalling`. The next `up` fails on it | If no install or teardown is running, read `helm history -n `, then finish it with `helm rollback` or `helm uninstall` | +| `stale-namespaces`: ` (no Helm release)`, warning | The namespace runs no workload and has no Helm release, but still holds volume claims or workload objects, as `down` leaves them. A reinstall reattaches the old volumes | Inspect only: `kubectl api-resources --verbs=list --namespaced -o name \| xargs -n1 kubectl get -n --show-kind --ignore-not-found`. An Argo CD or upstream install of a gated component also has no Helm release | +| `stale-namespaces` reports `no Helm release` on a healthy install | Helm stores releases with `HELM_DRIVER=sql`, and `check` reads `HELM_DRIVER` from its own environment only, not from the helmfile environment | Export `HELM_DRIVER=sql` before `nvcf-cli self-hosted check`. With it, only Terminating namespaces are checked | +| `stale-namespaces` does not scan an addon or gated namespace | Namespaces behind a stack `condition:` are probed only when that gate is on. With `--control-plane-stack` or `--compute-plane-stack` set to a local stack, gates come from its `environments/base.yaml` and, when `--env` or `HELMFILE_ENV` names one, `environments/.yaml`; otherwise from the stack defaults, which leave `kai-scheduler`, `grove-system`, `dynamo-system` and `nvcf-ui` off | Point the stack flag at the stack you install from and pass the same `--env` | ## Auth diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index b4a4ac6ecd..86e5853793 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -884,6 +884,10 @@ func runPreflightByRole( } staleNSProber := newStaleNamespaceProberForSelfHosted() + // Only a named environment decides the stack's gates, as for the other + // stack values: a defaulted one may not be the install's. Without one the + // stack's base.yaml defaults decide. + stackEnv, _ := explicitStackEnv() // The control-plane validator probes the hosts the local credential check // probes, extras included, each as a warning only. @@ -943,6 +947,7 @@ func runPreflightByRole( StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedControlPlaneStack), Skipped: cpSkips, + StackEnv: stackEnv, } cpResults = selfhosted.RunPreflightForRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) return nil @@ -965,6 +970,7 @@ func runPreflightByRole( StaleNamespaceProber: staleNSProber, StackDir: localStackDir(selfHostedComputePlaneStack), Skipped: computeSkips, + StackEnv: stackEnv, } gpuResults = selfhosted.RunPreflightForRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -996,7 +1002,7 @@ func runPreflightByRole( staleForComputePlane = nil if runComputePlane { cpExtraNamespaces = selfhosted.ComputePlaneStaleNamespaces( - localStackDir(selfHostedComputePlaneStack)) + localStackDir(selfHostedComputePlaneStack), stackEnv) } } else { staleForControlPlane = nil @@ -1016,6 +1022,7 @@ func runPreflightByRole( ValidatorCleanup: ledger, StaleNamespaceProber: staleForControlPlane, StackDir: localStackDir(selfHostedControlPlaneStack), + StackEnv: stackEnv, ExtraStaleNamespaces: cpExtraNamespaces, Skipped: cpSkips, } @@ -1037,6 +1044,7 @@ func runPreflightByRole( StaleNamespaceProber: staleForComputePlane, StackDir: localStackDir(selfHostedComputePlaneStack), Skipped: computeSkips, + StackEnv: stackEnv, } results = append(results, selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index c17fda42a6..4d5550099f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -77,19 +77,19 @@ func runCheckRecording(t *testing.T, args ...string) (namespaces []string, sisHi } // Each role's namespaces are scanned only when that role runs. Merging both in -// for a single-role run reported a stuck kai-scheduler on --control-plane. +// for a single-role run reported a stuck nvca-operator on --control-plane. func TestCheck_StaleNamespacesFollowTheRequestedRoles(t *testing.T) { ns, _ := runCheckRecording(t, "--control-plane") assert.Contains(t, ns, "vault-system") - assert.NotContains(t, ns, "kai-scheduler", "--control-plane must not scan compute namespaces") + assert.NotContains(t, ns, "nvca-operator", "--control-plane must not scan compute namespaces") ns, _ = runCheckRecording(t, "--compute-plane") - assert.Contains(t, ns, "kai-scheduler") + assert.Contains(t, ns, "nvca-operator") assert.NotContains(t, ns, "vault-system", "--compute-plane must not scan control-plane namespaces") ns, _ = runCheckRecording(t, "--all") assert.Contains(t, ns, "vault-system") - assert.Contains(t, ns, "kai-scheduler", "--all scans both") + assert.Contains(t, ns, "nvca-operator", "--all scans both") } // A bare --pre skips SIS, which is not up before install; an explicit --all or diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index de492a1623..42e1d46b14 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTMzOTUsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTU5MjksCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + @@ -68,15 +68,15 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMDAyYmE2MDlhNjMzYmYxNDkw" + - "ZWM1NGJhZjIyN2E3ZTY2ZDMwODM4NzkxZDBhZGQ5MWEzMWFhNzQ4ZmE5NjEyIiwKICAgICAgInNp" + - "emUiOiAzNDA2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ODZhMjA3N2Q0ZTk1MjdkOTBm" + + "YmJlMWI5MmQ1MzI3YWZhZWIyYmYyNmE3ZDQ5NmZiOGE0NDUyZjBkYWE5ZGJmIiwKICAgICAgInNp" + + "emUiOiAzNTgyCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1NDBkYjcxZGNjNzUwYmFi" + "YmE5YTMzN2ZjM2M1MGViYmI0MmZiODU0YWYyNmU2MzVmMzcxNmI0NWM2N2UzYWZiIiwKICAgICAg" + "InNpemUiOiAxOTc0NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImE2" + - "MzA4NGUyMjQ5ZjFkMTU0YzU5ODFlNGEwNzJiN2M3ODRiODVlYTE0NjA4NjUxNWVhYjRhYjY3MGE5" + - "NDBlOTQiLAogICAgICAic2l6ZSI6IDQ0NjgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + + "YjZlYTM0ZGQ5MTM4MTRmNjQ1ZmU4NTZiMmFiZGQ0ZjgzZjQwMTM2Yzk3YmVjMjI0NDQzNWM1ZmRk" + + "ZWM1NzIiLAogICAgICAic2l6ZSI6IDY4MjYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCNHlRwRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCOBql6xKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1629,2311 +1629,2355 @@ const skillDataZipBase64 = "" + "SSBjYW5ub3QgcmVhY2ggKG1pc3Npbmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCByZWZ1c2VkIGNv" + "bm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzKTsgYSBjbHVzdGVyLXZhbGlkYXRvciB0aGF0" + "IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24g" + - "dGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSkuIFN1Y2ggYSByZXN1" + - "bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVuIHRoZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVj" + - "ayBzaG9ydC4gV2FybmluZy1zZXZlcml0eSByZXN1bHRzIGV4aXQgYDBgIHwKfCBgM2AgfCBBZG1p" + - "biBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsgYC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMg" + - "cmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVz" + - "dCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hl" + - "Y2sgcG9sbGVkIGJ1dCBkaWQgbm90IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSBy" + - "b2xsb3V0IHN0aWxsIGluIHByb2dyZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVk" + - "IGEgY2hlY2sgYmVmb3JlIGl0IGZpbmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQg" + - "c2hvcnQpIGFuZCBubyBvdGhlciBjaGVjayBmYWlsZWQuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhh" + - "ZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4" + - "aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQ" + - "IHwgVXNlciBDdHJsLUM7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0ZWQ7IHRlcm1pbmFs" + - "IG9yIFNTSCBzZXNzaW9uIGNsb3NlZCB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8" + - "IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVw" + - "b3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3Jl" + - "IGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0" + - "aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50" + - "VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwK" + - "fCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2Vu" + - "PSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBB" + - "c2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVk" + - "IGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNh" + - "bGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5n" + - "LiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91" + - "dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBgdG90YWxD" + - "aGVja3NgLCBgcGFzc2VkQ291bnRgLCBgZmFpbGVkQ291bnRgLCBgd2FybmluZ0NvdW50YCkgYW5k" + - "IG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgOyBzZWUgYGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5t" + - "ZGAuIEEgdXNhZ2UgZXJyb3IsIHN1Y2ggYXMgYSBtYWxmb3JtZWQgYC0td2FpdGAsIGV4aXRzIGAx" + - "YCBiZWZvcmUgYW55IGV2ZW50LiBJdHMgZXhpdCBgNWAgaGFzIGBzdWNjZXNzOiBmYWxzZWAgYW5k" + - "IGB2ZXJkaWN0OiAidGltZW91dCJgLiBBIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGZvciBhIHdh" + - "cm5pbmcgdGhhdCBgLS13YWl0YCBwb2xscyBvbiBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBB" + - "IGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMgYGZpbmFsYCB3aXRoIGBjYW5jZWxsZWQ6" + - "IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7IGB1cGAgZW1pdHMgYHBoYXNlX2NhbmNl" + - "bGxlZGAgYmVmb3JlIGl0LiBXaGVuIGEgY2x1c3Rlci12YWxpZGF0b3IgcnVuIGxlZnQgb2JqZWN0" + - "cyBpbiB0aGUgY2x1c3RlciAoYC0tbm8tY2xlYW51cGAsIGEgcG9kIHRoYXQgd291bGQgbm90IHN0" + - "b3AsIG9yIGEgY2xlYW51cCB0aGF0IGZhaWxlZCksIGBjaGVja2AgbGlzdHMgdGhlIGNvbW1hbmRz" + - "IHRoYXQgcmVtb3ZlIHRoZW0gaW4gdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgYXJyYXkg" + - "YW5kIGluIHRoYXQgcm93J3MgYGNsZWFudXBgIGZpZWxkLCBvbiBldmVyeSBleGl0IGNvZGUsIGFu" + - "ZCBwcmludHMgdGhlbSBhZ2FpbiBhcyBpdHMgbGFzdCBzdGRlcnIgbGluZXMuIE9uIGFuIGludGVy" + - "cnVwdCBpdCBwcmludHMgdGhlbSBhdCBvbmNlLCBiZWZvcmUgaXRzIG93biBjbGVhbnVwLCB3aGlj" + - "aCBhIHNlY29uZCBDdHJsLUMgY3V0cyBzaG9ydC4gRXZlcnkgb3RoZXIgbm9uLXplcm8gZXhpdCBl" + - "bWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBldmVudCB3aXRoIGBlcnJDYXRl" + - "Z29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJyYXkpLCBgcmV0cnlDbGFzc2Ag" + - "KGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3JlbWVkaWF0aW9ufHVua25vd25g" + - "KSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5kIGByYXdgIChzdWJwcm9jZXNz" + - "ICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0t" + - "anNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2ggZnJvbSBzdGRlcnIuClBLBwil" + - "HKm1Tg0AAE4NAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZmxhZyBy" + - "ZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZp" + - "ZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJi" + - "b3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwKfCBgLS1qc29uYCB8IEpTT05M" + - "IGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZLCBvbiB1bmRlciBgLS1ub24taW50" + - "ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAocGVyc2lzdGVudCBhY3Jvc3Mg" + - "c3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + - "fCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBDb250cm9sLXBsYW5lIGJ1bmRsZSBzb3Vy" + - "Y2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBV" + - "UkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRlLXBsYW5lLXN0YWNrPS4uLmAg" + - "fCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBv" + - "Y2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBg" + - "LS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxlIGVudmlyb25tZW50IG5hbWUuIGBjaGVj" + - "a2AgcmVhZHMgdGhlIHN0YWNrJ3MgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBvbmx5IGZvciBh" + - "biBlbnZpcm9ubWVudCBuYW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAsIHNvIHBh" + - "c3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZDsgc2VlIFtTZXR0aW5ncyByZWFkIGZyb20g" + - "dGhlIHN0YWNrXSgjc2V0dGluZ3MtcmVhZC1mcm9tLXRoZS1zdGFjaykgfCBgbG9jYWxgIHwKfCBg" + - "LS1ub24taW50ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAg" + - "fAp8IGAtLXRva2VuPSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24g" + - "fCAtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90" + - "IGt1YmVjdGwgYXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdh" + - "Y3kgYWxpYXMgZm9yIGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3Ip" + - "IHwgYHRleHRgIHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwg" + - "YXV0by1kZXRlY3QgfAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBwb2xsIHVu" + - "dGlsIHRoZSBjaGVjayBwYXNzZXMgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmlu" + - "YWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNlYCkuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRv" + - "IGNsZWFyLCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywg" + - "YW5kIGl0cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVg" + - "LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Ig" + - "bm9uLXBvc2l0aXZlIERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVu" + - "dHMpIHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRl" + - "eHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBs" + - "YW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVi" + - "bGljIElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9i" + - "ZXMgU0lTIG9ubHkgYXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZD" + - "Rl9TSVNfVVJMYCwgb3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBf" + - "dXJsYDsgd2l0aCBub25lLCBpdHMgYHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcg" + - "fCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVj" + - "a2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBh" + - "bmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSBy" + - "ZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVy" + - "IGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBz" + - "a2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9P" + - "TkxZYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAt" + - "LXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBp" + - "cwpyZXF1aXJlZC4gRWFjaCBzZWxlY3RzIGEgcm9sZTsgb25seSB0aGUgc2VsZWN0ZWQgcm9sZXMg" + - "Y29udGFjdCBhIGNsdXN0ZXIuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0" + - "ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGlu" + - "c3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28g" + - "cGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9s" + - "ZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcg" + - "b3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5" + - "IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hp" + - "Y2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJv" + - "bC1wbGFuZWAgfCBDb250cm9sLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUt" + - "cGxhbmVgIHwgQ29tcHV0ZS1wbGFuZSBjaGVja3MgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgRXZl" + - "cnkgY2F0ZWdvcnksIGluY2x1ZGluZyBTSVMgcmVhY2hhYmlsaXR5IHdoZW4gY29tYmluZWQgd2l0" + - "aCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + - "YW1lIGZvciBjb21wdXRlLXBsYW5lIGNoZWNrcyB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVj" + - "a2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4g" + - "dGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3" + - "aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlh" + - "bHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlu" + - "b3RpZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQu" + - "IEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBmYWxzZWAgfAoKIyMj" + - "IENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4g" + - "dGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291" + - "bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJv" + - "bGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRz" + - "IG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1" + - "YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KVGhlIENs" + - "dXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTog" + - "cmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29u" + - "dHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFj" + - "ZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2Ug" + - "UkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJ" + - "X0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3Jf" + - "aW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFn" + - "IGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxp" + - "ZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRv" + - "IHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZl" + - "cnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVz" + - "dGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5p" + - "bmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1b" + - "L3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFs" + - "cyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9m" + - "IHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlh" + - "bCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQg" + - "dG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBp" + - "bWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQg" + - "YGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFu" + - "YWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0" + - "IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJv" + - "YmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0" + - "YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5" + - "LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhl" + - "IGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9D" + - "TFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + - "b3JfcmVnaXN0cmllc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBS" + - "RUZgIHwgSW1hZ2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBs" + - "YW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFu" + - "ZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0" + - "ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZp" + - "ZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZy" + - "b20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50" + - "cyBOQU1FLC4uLmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3Rh" + - "Y2ssIG9yIG5vdCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhl" + - "bSBpbiB0aGUgY2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNz" + - "YW5kcmFgLiBBbiB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3Ig" + - "Y29tbWEtc2VwYXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNg" + - "LCB0aGVuIHRvIHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNr" + - "J3MgZW52aXJvbm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5W" + - "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5" + - "IGBjbHVzdGVyX3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCB8IGZyb20gdGhlIHN0YWNr" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0" + - "XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0" + - "aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hv" + - "c2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZl" + - "ck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUg" + - "Y29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NM" + - "VVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + - "b3JfdG9sZXJhdGlvbnNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQg" + - "TkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwg" + - "dGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFu" + - "IG9wZXJhdG9yIGNyZWF0ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4g" + - "RmFpbGluZyB0aGF0LCBpdCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRo" + - "YXQgZW50cnksIGZyb20gYSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZh" + - "dWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1" + - "biBmcm9tIHRoaXMgbWFjaGluZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9u" + - "ZSB0aGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJv" + - "dydzIGRldGFpbCBzYXlzIHdoYXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVy" + - "ZSB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRo" + - "ZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBp" + - "cyBjb25maWd1cmVkIGJ1dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMg" + - "dG8gb3B0IG91dCBleHBsaWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5v" + - "dCBwdWxsIHRoZSBpbWFnZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhl" + - "biBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElf" + - "U0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1j" + - "bGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2Vj" + - "cmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fu" + - "bm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJh" + - "dGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNj" + - "cmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHJlY2xhaW1zIHRoZW0gYWZ0ZXIgMjQgaG91cnMuIFRo" + - "ZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0" + - "ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cgfCBgZmFs" + - "c2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgdGhlIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRv" + - "IHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNP" + - "TiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYg" + - "d2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdp" + - "c3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9t" + - "IHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJg" + - "IHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9j" + - "b25maWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhl" + - "bHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRo" + - "ZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAs" + - "IGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29l" + - "cyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3" + - "aXRoIHRoZSBgbG9jYWxgIGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwK" + - "c2VjcmV0cyBmcm9tIGl0LCBhbmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5" + - "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + - "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + - "bWVzLiBBIHJlamVjdGVkIE5HQyBBUEkga2V5IGFmdGVyIGluc3RhbGwgaXMKYSB3YXJuaW5nLCBz" + - "aW5jZSB0aGUgY2x1c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0" + - "cnkgdGhpcwptYWNoaW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMs" + - "IGFuZCBhIG1pc3NpbmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkg" + - "dGhlIHByb2JlIGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2lj" + - "IGF1dGgsIGlzIHNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpy" + - "ZWdpc3RyeSB0aGF0IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVk" + - "IGFzIHN1Y2gsIG5vdCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZy" + - "b20gdGhlIHN0YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUg" + - "Q0xJLiBFYWNoIG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmln" + - "IGtleSB3aW5zIG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFj" + - "ayB8IEVudiBhbmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwg" + - "YGluZ3Jlc3MuZ2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdp" + - "cmVzIHJvdXRlczogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBg" + - "dHJ1ZWAsIGBuYXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2Ag" + - "YW5kIGBsbG1RdWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZD" + - "Rl9HQVRFV0FZX05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50" + - "cmllcy4gQSBiYXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3" + - "YXkgaXQgc2tpcHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNl" + - "IHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9Z" + - "X0dBVEVXQVlfTkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9w" + - "ZW5iYW9gIG9yIGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBg" + - "dHJ1ZWAgfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5W" + - "Q0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AgfAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNG" + - "X09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVz" + - "dGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoK" + - "VGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJl" + - "YWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0g" + - "VGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4g" + - "VGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIG5vdCB1c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRo" + - "ZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXll" + - "cmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0g" + - "VGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJv" + - "bC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1w" + - "bGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwg" + - "ZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20g" + - "dGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUu" + - "IEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRo" + - "ZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVp" + - "bHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQg" + - "YWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUg" + - "c3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9t" + - "IHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoK" + - "IyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVy" + - "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZj" + - "Zi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13" + - "ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRB" + - "cyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUg" + - "TkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1" + - "c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdh" + - "dGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBv" + - "bmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVu" + - "dHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVy" + - "YC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlk" + - "IElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdp" + - "b24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBm" + - "cm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0" + - "ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAt" + - "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5" + - "cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBI" + - "dW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlg" + - "IHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAs" + - "IGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVz" + - "IFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZv" + - "cmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2gg" + - "Z2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRl" + - "bmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgICho" + - "b3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3Bl" + - "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUg" + - "ZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBu" + - "YW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0t" + - "aW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8" + - "IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8" + - "CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0" + - "eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJM" + - "IG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1g" + - "IGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQt" + - "c2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNo" + - "YXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2Rl" + - "bHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJs" + - "ZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBg" + - "bmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + - "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1" + - "ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBg" + - "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNl" + - "IGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0t" + - "bGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCBy" + - "ZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8" + - "CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNj" + - "b3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlz" + - "dGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0g" + - "fAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxs" + - "bUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxl" + - "IHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBw" + - "YXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92" + - "MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9y" + - "b2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBg" + - "cmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBj" + - "b21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4t" + - "PHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gICht" + - "aW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRp" + - "c3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1" + - "MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBj" + - "aGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhl" + - "bG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwg" + - "YGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29u" + - "ZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUg" + - "dGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VO" + - "YW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+" + - "Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlv" + - "biwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0" + - "aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vz" + - "c2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBu" + - "b3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5j" + - "dGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1" + - "cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5S" + - "YXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1s" + - "bG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04g" + - "Zm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + - "eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1" + - "cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3Zl" + - "cnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJ" + - "VFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRz" + - "IHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBw" + - "cmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVs" + - "VXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGlu" + - "Z01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNy" + - "ZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRl" + - "cy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBG" + - "SUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90" + - "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1" + - "bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFN" + - "RWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tV" + - "IHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGlj" + - "YXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8" + - "IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0" + - "OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwg" + - "VGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoK" + - "IyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + - "bmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + - "VGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlB" + - "LVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAt" + - "LWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBF" + - "YCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + - "bXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBp" + - "bWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxt" + - "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxs" + - "eSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09O" + - "IHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90" + - "aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8" + - "IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUg" + - "aW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwg" + - "QXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcs" + - "IGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVu" + - "diBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJs" + - "ZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFy" + - "aWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRp" + - "bWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQ" + - "VDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVl" + - "dWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElT" + - "TyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNl" + - "IERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwg" + - "U2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05F" + - "YCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0" + - "cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmct" + - "bmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3Ry" + - "YXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVs" + - "IGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpV" + - "UklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ss" + - "VEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRF" + - "WFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURg" + - "IHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRy" + - "eS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJh" + - "Y2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + - "IHwKUEsHCC+Yz3QgTQAAIE0AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIj" + - "IFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzIOKGkiBkaWFnbm9zdGljIGNvbW1hbmQg4oaS" + - "IHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBgcGhhc2VfZmFp" + - "bGVkYCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KSDigJQgZXZlcnkgZW50cnkgYmVsb3cg" + - "c2hvdWxkIG1hcCB0byBhbiBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXku" + - "CgojIyBQcmUtZmxpZ2h0Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBrdWJlY3RsIG5vdCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vz" + - "bid0IGluY2x1ZGUga3ViZWN0bCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJl" + - "cm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxl" + - "IG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZp" + - "bGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3Qgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9o" + - "ZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0" + - "YWxsZWRgIHwgZW52b3ktZ2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcg" + - "b2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95" + - "LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBkZWZhdWx0IFN0b3JhZ2VD" + - "bGFzcyBub3QgYXZhaWxhYmxlYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MgfCBBbm5vdGF0" + - "ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0" + - "aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1" + - "ZSJ9fX0nYCB8CnwgYEdQVSBvcGVyYXRvciBub3QgaW5zdGFsbGVkYCAoY29tcHV0ZS1wbGFuZSkg" + - "fCBudmlkaWEgR1BVIG9wZXJhdG9yIG1pc3NpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3Mu" + - "bnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2lu" + - "c3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBk" + - "ZXYgfAp8IGBHUFUgbm9kZSBsYWJlbHMgbWlzc2luZ2AgKGNvbXB1dGUtcGxhbmUpIHwgTm9kZXMg" + - "bmVlZCBgbnZpZGlhLmNvbS9ncHUuZmFtaWx5YCBldGMuIHwgU2V0IGAtLWszcy1ub2RlLWxhYmVs" + - "IG52aWRpYS5jb20vZ3B1LmZhbWlseT1ob3BwZXJAYWdlbnQ6TmAgZm9yIGszZCB8CgojIyBBdXRo" + - "Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1p" + - "biB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVg" + - "IGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUp" + - "IG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldU" + - "IHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5" + - "KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wg" + - "cGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWlu" + - "IHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tl" + - "KSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBu" + - "dmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBp" + - "bnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + - "b24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRy" + - "YWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0g" + - "ZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChm" + - "dW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5v" + - "dCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQ" + - "VS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0" + - "ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNU" + - "RVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkg" + - "bm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgICho" + - "ZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNs" + - "aSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9J" + - "RCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBg" + - "bnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRg" + - "IHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMg" + - "bG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQg" + - "LWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENh" + - "dXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BC" + - "YWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVy" + - "YCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9y" + - "IHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3Rh" + - "bGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVn" + - "aXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFs" + - "aWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBk" + - "b2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcg" + - "fCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlv" + - "biBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVu" + - "dGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBw" + - "b2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8" + - "CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0" + - "cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRo" + - "LWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3Vi" + - "ZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8" + - "IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNy" + - "ZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9z" + - "dG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0" + - "bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGBy" + - "ZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVl" + - "IHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3Mg" + - "cmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQg" + - "YFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2Fj" + - "aGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9y" + - "IGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRv" + - "IGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCPOuE4R0EQAAdBEAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQF" + - "AAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlv" + - "bjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFu" + - "ZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZh" + - "bHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1" + - "ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IK" + - "ICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxp" + - "dCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + - "biwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxm" + - "LW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxv" + - "Y2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtm" + - "bG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMg" + - "aGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2lu" + - "LCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5n" + - "IDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRh" + - "Z3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1w" + - "bGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVu" + - "dCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQpt" + - "ZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNm" + - "LWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczog" + - "W252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5l" + - "LCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBw" + - "dWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVs" + - "bWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0K" + - "CiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUg" + - "Zm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmls" + - "ZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwg" + - "dXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1m" + - "aWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rp" + - "b25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2Vz" + - "L2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVy" + - "ZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "YCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5n" + - "LXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6Cgpg" + - "YGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFu" + - "ZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNv" + - "bnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1z" + - "dGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNv" + - "bXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJl" + - "Y3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20g" + - "TkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3Jn" + - "Pi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNl" + - "IGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9u" + - "PgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBs" + - "YW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlv" + - "biBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlm" + - "eSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxt" + - "ZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlh" + - "bCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdp" + - "biBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNp" + - "b24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3Rl" + - "cgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xv" + - "YmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmly" + - "b25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBm" + - "b3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6" + - "Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSku" + - "CgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2" + - "ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52" + - "aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0" + - "aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+" + - "IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRl" + - "LCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRz" + - "LzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJp" + - "ZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVu" + - "Y2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91" + - "Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNl" + - "bGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBj" + - "aGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9y" + - "ZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3Zl" + - "cnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFs" + - "dWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRp" + - "bmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3Jl" + - "YXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRl" + - "IHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + - "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "a3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRl" + - "IHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1r" + - "ZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBz" + - "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52" + - "Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tl" + - "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklm" + - "IHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmls" + - "ZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2lt" + - "YWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFy" + - "dCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5g" + - "IGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + - "IHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1" + - "dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBh" + - "cmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5H" + - "Q19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + - "cCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdp" + - "b24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBh" + - "c3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBg" + - "Cgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2lu" + - "IHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMg" + - "c3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkg" + - "YWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSBy" + - "ZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZl" + - "cmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUK" + - "PiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmll" + - "ZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBr" + - "ZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4g" + - "ZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkg" + - "YmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1w" + - "YXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5" + - "aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2lu" + - "Z2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJl" + - "Y29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVz" + - "IHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSBy" + - "ZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNp" + - "dCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5v" + - "ZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNh" + - "bGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBz" + - "CmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAg" + - "cmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFt" + - "cGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgog" + - "ICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91" + - "IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1y" + - "ZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgog" + - "ICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywg" + - "c28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5l" + - "ciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlz" + - "LiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0" + - "cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlh" + - "LmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9i" + - "YWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUg" + - "cG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0" + - "cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRn" + - "emAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5" + - "Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVy" + - "IGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJv" + - "dmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0" + - "b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNz" + - "KSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3Qg" + - "bmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGls" + - "bCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2Jh" + - "bC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxt" + - "IHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwg" + - "Y3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGlt" + - "YWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNy" + - "ZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVy" + - "IHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYg" + - "dGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUg" + - "ZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0" + - "ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRl" + - "d2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdh" + - "eToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdh" + - "eS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + - "ZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRk" + - "cmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkg" + - "Y29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVz" + - "cyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4K" + - "CkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVk" + - "IHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8g" + - "YEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHBy" + - "b2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJl" + - "Y29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2Vz" + - "LCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUg" + - "Y2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBs" + - "ZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVz" + - "dHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpg" + - "YGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBU" + - "aGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + - "IGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNz" + - "YW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4g" + - "SWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZp" + - "Y2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2Ug" + - "Y3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhl" + - "bnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2Ft" + - "ZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1l" + - "bnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoK" + - "fCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGBy" + - "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMt" + - "cHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0" + - "aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + - "dWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3Ng" + - "IHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2" + - "YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoK" + - "TW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Rz" + - "IC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5p" + - "dHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3Ig" + - "Y3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRo" + - "ZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJs" + - "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkK" + - "YWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEg" + - "YHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVz" + - "LCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQg" + - "aW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwg" + - "ZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRk" + - "b25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmln" + - "OiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5k" + - "IHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVu" + - "dC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0" + - "ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0" + - "ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRl" + - "cyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMg" + - "cmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5p" + - "dHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJv" + - "dXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpg" + - "YGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBl" + - "bmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1" + - "YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + - "fCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8v" + - "PGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3" + - "YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9u" + - "LCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2Ug" + - "Z2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBV" + - "SSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBk" + - "aXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + - "aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBh" + - "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApy" + - "b3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBp" + - "cyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJs" + - "aWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBz" + - "ZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0o" + - "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0" + - "ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBp" + - "bnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hv" + - "b3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVz" + - "IGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBh" + - "bmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2Zp" + - "bGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxh" + - "bmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0" + - "YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJp" + - "ZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95" + - "IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUg" + - "dGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVh" + - "cmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29u" + - "dHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2As" + - "IGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAs" + - "IGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1z" + - "ZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNz" + - "dWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25s" + - "eSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFt" + - "ZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVs" + - "dCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24g" + - "ZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2Vy" + - "IG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmls" + - "ZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhl" + - "ciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29u" + - "dHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRl" + - "cm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFu" + - "IGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFn" + - "ZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0" + - "YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2Vy" + - "dmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIg" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBg" + - "YGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVz" + - "cGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4K" + - "CmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8" + - "bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3Zl" + - "cnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQp" + - "CgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRl" + - "cyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2As" + - "IGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZh" + - "bHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQg" + - "YWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12" + - "YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmls" + - "ZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4w" + - "CiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5" + - "c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + - "bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VO" + - "ViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAg" + - "ICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTog" + - "ODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAg" + - "ICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2Ug" + - "dXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpg" + - "IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRl" + - "IGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcg" + - "YW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAg" + - "ICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRp" + - "c3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0" + - "aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3Jy" + - "ZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwg" + - "U2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1" + - "bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Yg" + - "c2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + - "Z2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lk" + - "ZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9j" + - "a2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRl" + - "LXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0Zf" + - "QVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAt" + - "PiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + - "dGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdq" + - "c29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8" + - "a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFj" + - "Y291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBk" + - "b2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xk" + - "ZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRz" + - "IGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1" + - "ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0" + - "YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZp" + - "ZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJl" + - "IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2Vu" + - "OiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNv" + - "bmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rp" + - "b24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2Vy" + - "bmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdv" + - "cmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAg" + - "YDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxv" + - "b2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5l" + - "IGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFs" + - "bGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAg" + - "ICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQg" + - "LUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + - "dWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlz" + - "IGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2Ut" + - "cHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9u" + - "dmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5v" + - "dGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhl" + - "IHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxp" + - "dmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4g" + - "a2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0" + - "aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJl" + - "bnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUK" + - "PiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0" + - "byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVj" + - "b21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0" + - "b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZD" + - "RiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBw" + - "ZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4K" + - "CmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBz" + - "Oi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3Rh" + - "bGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UK" + - "CiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJ" + - "X0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + - "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + - "ZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + - "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + - "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5" + - "IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBt" + - "dXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNy" + - "ZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmlt" + - "YWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpg" + - "YGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIg" + - "KGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kg" + - "WUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcK" + - "CiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3" + - "aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJl" + - "Y3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNl" + - "bnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBD" + - "YXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09m" + - "ZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwg" + - "Q2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJ" + - "bml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3Ig" + - "T3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBg" + - "SW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4g" + - "YDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNp" + - "Z25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJr" + - "ZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0" + - "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29t" + - "bW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3Jh" + - "dGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFv" + - "LXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0" + - "dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291" + - "cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVl" + - "cyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFs" + - "c2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFV" + - "TFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBz" + - "dGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + - "YXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFf" + - "UEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNl" + - "cyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3Jh" + - "Z2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3Jh" + - "Z2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFp" + - "bGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNg" + - "IGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRl" + - "bnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBp" + - "LWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMg" + - "cmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBv" + - "c3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWls" + - "ZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4g" + - "cmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJp" + - "ZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFw" + - "IHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFp" + - "bCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0" + - "IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsg" + - "dGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29y" + - "a2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RB" + - "bm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBp" + - "biByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBs" + - "YWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6" + - "bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdl" + - "c3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBp" + - "biBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhl" + - "IGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9u" + - "IHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGlu" + - "IGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJl" + - "cyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBh" + - "bmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFu" + - "IHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFu" + - "ZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRp" + - "YyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGlu" + - "IHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + - "cCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAK" + - "CklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhl" + - "IGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Ig" + - "am9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBi" + - "bG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZj" + - "ZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQg" + - "d2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246" + - "IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVd" + - "KGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4" + - "YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1" + - "Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10o" + - "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9k" + - "ZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQ" + - "SSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2" + - "YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wt" + - "dmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2Vk" + - "IHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMg" + - "dG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJl" + - "IDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0g" + - "My4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0" + - "IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJl" + - "IHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJz" + - "aW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBz" + - "ZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5k" + - "IHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVn" + - "aW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2" + - "ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2Nl" + - "ZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVz" + - "dGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywg" + - "c2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNl" + - "ciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVt" + - "cGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZp" + - "bGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBh" + - "bmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRl" + - "JyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZp" + - "ZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVw" + - "IGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5W" + - "Q0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0g" + - "dXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sg" + - "bmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3Rv" + - "bSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291" + - "cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRl" + - "bGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQg" + - "bmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3Vj" + - "aCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVk" + - "IGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1h" + - "bmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQg" + - "cmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1" + - "c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBv" + - "biBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0Yt" + - "bWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQg" + - "bm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVt" + - "b3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1z" + - "cGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wg" + - "cGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxl" + - "IHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMg" + - "ZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBz" + - "ZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVz" + - "IHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3Mg" + - "SG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRl" + - "LXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5k" + - "IHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3Rh" + - "bGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJl" + - "bGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBj" + - "b21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdl" + - "bnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0" + - "YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJh" + - "c2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2Vf" + - "dXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQg" + - "aWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdt" + - "YWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIn" + - "IHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5k" + - "IEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVT" + - "VEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwi" + - "LAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWlj" + - "bXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUg" + - "aXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNj" + - "b3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBm" + - "bG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjog" + - "IkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSBy" + - "ZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVx" + - "dWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + - "IGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1" + - "c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "aGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + - "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQg" + - "Ym90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIp" + - "IHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9u" + - "bHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxt" + - "ZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVy" + - "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + - "cGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVk" + - "IHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0" + - "IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVj" + - "dGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRz" + - "LywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5v" + - "dCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBz" + - "eW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3Ig" + - "bG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJm" + - "b3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBv" + - "biBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFu" + - "ZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVy" + - "ZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdl" + - "ciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5k" + - "IG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3Rl" + - "ZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhl" + - "IGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxl" + - "IGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRl" + - "ZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJh" + - "LXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lz" + - "dGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2Vz" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRl" + - "bXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJh" + - "biAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAg" + - "IlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVu" + - "Y2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3" + - "YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0" + - "aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + - "YW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJU" + - "aGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmls" + - "ZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xp" + - "IHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFs" + - "bCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwg" + - "ZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBj" + - "b250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1w" + - "bGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBp" + - "bnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5l" + - "LXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUg" + - "dGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBw" + - "cm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4g" + - "SXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQg" + - "aW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5l" + - "LXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQg" + - "aW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUt" + - "Y29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21t" + - "YW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1h" + - "bmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUi" + - "LAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRw" + - "b2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRp" + - "b24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291" + - "cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtp" + - "bGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRl" + - "LCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMg" + - "cmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVz" + - "IGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3" + - "ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJl" + - "ZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBs" + - "YXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + - "IHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRo" + - "ZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBp" + - "biB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWlu" + - "ZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwK" + - "ICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBs" + - "YXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6" + - "ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBh" + - "bmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "dGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSk7IGEgYHN0YWxlLW5h" + + "bWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNrIFRlcm1pbmF0aW5nYC4gU3Vj" + + "aCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRpbWUgYnVkZ2V0IGN1dCBhbm90" + + "aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3VsdHMgZXhpdCBgMGAsIGluY2x1" + + "ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxtIHJlbGVhc2UgbGVmdCBtaWQt" + + "b3BlcmF0aW9uLCBhbmQgYSBuYW1lc3BhY2Ugd2l0aCBubyBIZWxtIHJlbGVhc2UgfAp8IGAzYCB8" + + "IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsg" + + "SUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1h" + + "bmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0" + + "OyBjaGVjayBwb2xsZWQgYnV0IGRpZCBub3QgcGFzcyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGlu" + + "ZyBhIHJvbGxvdXQgc3RpbGwgaW4gcHJvZ3Jlc3M7IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0" + + "b3BwZWQgYSBjaGVjayBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9y" + + "IGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjaGVjayB0aGF0IGFscmVh" + + "ZHkgaGFkIGl0cyByZXN1bHQga2VlcHMgaXQsIHNvIGEgdmFsaWRhdG9yJ3Mgb3duIGZhaWx1cmUg" + + "aXMgZXhpdCBgMmAgfAp8IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVCwgU0lHVEVSTSBvciBT" + + "SUdIVVAgfCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZDsgdGVy" + + "bWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQgcmVh" + + "Y3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGludWUg" + + "LyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBi" + + "ZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0byBy" + + "ZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIg" + + "YGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVx" + + "cy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0t" + + "dG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1" + + "YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhlIHN0" + + "YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1dG9t" + + "YXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1" + + "bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBp" + + "dHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGB0" + + "b3RhbENoZWNrc2AsIGBwYXNzZWRDb3VudGAsIGBmYWlsZWRDb3VudGAsIGB3YXJuaW5nQ291bnRg" + + "KSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxp" + + "bmVzLm1kYC4gQSB1c2FnZSBlcnJvciwgc3VjaCBhcyBhIG1hbGZvcm1lZCBgLS13YWl0YCwgZXhp" + + "dHMgYDFgIGJlZm9yZSBhbnkgZXZlbnQuIEl0cyBleGl0IGA1YCBoYXMgYHN1Y2Nlc3M6IGZhbHNl" + + "YCBhbmQgYHZlcmRpY3Q6ICJ0aW1lb3V0ImAuIEEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgZm9y" + + "IGEgd2FybmluZyB0aGF0IGAtLXdhaXRgIHBvbGxzIG9uIGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1" + + "ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBgZmluYWxgIHdpdGggYGNhbmNl" + + "bGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsgYHVwYCBlbWl0cyBgcGhhc2Vf" + + "Y2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZhbGlkYXRvciBydW4gbGVmdCBv" + + "YmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBu" + + "b3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNoZWNrYCBsaXN0cyB0aGUgY29t" + + "bWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBh" + + "cnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29k" + + "ZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0ZGVyciBsaW5lcy4gT24gYW4g" + + "aW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9yZSBpdHMgb3duIGNsZWFudXAs" + + "IHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVyeSBvdGhlciBub24temVybyBl" + + "eGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVy" + + "ckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNs" + + "YXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5r" + + "bm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnBy" + + "b2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBp" + + "biBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4K" + + "UEsHCHY6w2/+DQAA/g0AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBm" + + "bGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwg" + + "Q29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8" + + "IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwg" + + "SlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5v" + + "bi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFj" + + "cm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + + "LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxl" + + "IHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQg" + + "T0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9" + + "Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + + "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + + "fAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZS4g" + + "YGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkg" + + "Zm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCwg" + + "c28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkOyBzZWUgW1NldHRpbmdzIHJlYWQg" + + "ZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKSB8IGBsb2NhbGAg" + + "fAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZh" + + "bHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vz" + + "c2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBk" + + "byBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8" + + "IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBt" + + "YWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRw" + + "dXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IHBv" + + "bGwgdW50aWwgdGhlIGNoZWNrIHBhc3NlcyBvciBEVVJBVElPTiBydW5zIG91dCAoZXhpdCBgNWAs" + + "IGBmaW5hbGAgd2l0aCBgc3VjY2VzczogZmFsc2VgKS4gQSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0" + + "ZWQgdG8gY2xlYXIsIHN1Y2ggYXMgYSByb2xsb3V0IGluIHByb2dyZXNzLCBrZWVwcyBpdCBwb2xs" + + "aW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGNhcnJpZXMgYHRyYW5zaWVudDog" + + "dHJ1ZWAuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1l" + + "ZCBvciBub24tcG9zaXRpdmUgRFVSQVRJT04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5v" + + "IGV2ZW50cykgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwg" + + "Y29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8Cnwg" + + "YC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1" + + "dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAg" + + "fCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tg" + + "IHByb2JlcyBTSVMgb25seSBhdCBhIFVSTCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9y" + + "IGBOVkNGX1NJU19VUkxgLCBvciBpbiB0aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2Vf" + + "aHR0cF91cmxgOyB3aXRoIG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2Fy" + + "bmluZyB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwg" + + "YGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVz" + + "dGVyIGFuZCByZWdpc3RyeSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4g" + + "VGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNs" + + "dXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBz" + + "YXkgYHNraXBwZWQgKC0tbG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xP" + + "Q0FMX09OTFlgIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUg" + + "b2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1h" + + "bGxgIGlzCnJlcXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5IHRoZSBzZWxlY3RlZCBy" + + "b2xlcyBjb250YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMg" + + "Y2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBpcyBu" + + "b3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAgaXMg" + + "YWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywgdGhh" + + "dCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQuIEEgbWlz" + + "c2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZhaWxz" + + "IG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0YWNr" + + "LCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBgZmFsc2VgIHwKfCBgLS1j" + + "b250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0tY29t" + + "cHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFsbGAg" + + "fCBFdmVyeSBjYXRlZ29yeSwgaW5jbHVkaW5nIFNJUyByZWFjaGFiaWxpdHkgd2hlbiBjb21iaW5l" + + "ZCB3aXRoIGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVz" + + "dGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hlY2tzIHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5" + + "LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQg" + + "d2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAs" + + "IG9yIHdoZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVk" + + "ZW50aWFscywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5v" + + "ZGUtaW5vdGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tp" + + "cHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8" + + "CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpv" + + "YiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNl" + + "QWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVz" + + "IGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25s" + + "eSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0" + + "aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpU" + + "aGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBt" + + "YWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRo" + + "ZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFt" + + "ZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQ" + + "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1p" + + "bWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZD" + + "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlk" + + "YXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJs" + + "ZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhl" + + "IHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlp" + + "bmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNl" + + "dCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3Mg" + + "YGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBg" + + "d2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpw" + + "b3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRl" + + "bnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBw" + + "b2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVk" + + "ZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBh" + + "ZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRh" + + "dG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlg" + + "IGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2Vy" + + "dC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdl" + + "ciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBp" + + "cyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0" + + "aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdz" + + "IG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWls" + + "cyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0Zf" + + "Q0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWlt" + + "YWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBz" + + "aGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQg" + + "Y2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsg" + + "Y29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4z" + + "NmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21w" + + "b25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRo" + + "ZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZv" + + "ciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQg" + + "YGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJs" + + "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9O" + + "RU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUg" + + "c3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52" + + "OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZp" + + "ZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgIHwgZnJvbSB0aGUg" + + "c3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzpl" + + "ZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVz" + + "aWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVy" + + "cyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBg" + + "UHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxz" + + "IHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9D" + + "TElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNl" + + "Y3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8g" + + "cHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNy" + + "ZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lz" + + "dHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9u" + + "bHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8g" + + "YGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0" + + "aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0" + + "aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0" + + "b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9t" + + "IHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNr" + + "aXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0" + + "aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2Ug" + + "dGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIg" + + "Y2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJv" + + "dyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNG" + + "X0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAt" + + "LW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVs" + + "bCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBv" + + "ZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0" + + "ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3Rs" + + "IGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3Vy" + + "cy4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxh" + + "c3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdyB8" + + "IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCB0aGUgdmFsaWRhdG9yIHRyYW5zY3Jp" + + "cHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMuIFRoZSB0cmFuc2NyaXB0IGlzIG5v" + + "dCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlz" + + "IG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMj" + + "IFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3Zl" + + "IGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRv" + + "Y2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9j" + + "a2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVy" + + "c2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZy" + + "b20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElf" + + "S0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJ" + + "dCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAg" + + "cnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMg" + + "cHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVn" + + "aXN0cnkuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUg" + + "cnVuLCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3Rh" + + "Y2sgbmFtZXMuIEEgcmVqZWN0ZWQgTkdDIEFQSSBrZXkgYWZ0ZXIgaW5zdGFsbCBpcwphIHdhcm5p" + + "bmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSBy" + + "ZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBm" + + "YWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdp" + + "c3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcg" + + "QmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5k" + + "LiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVw" + + "b3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJl" + + "YWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9t" + + "IHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBj" + + "b25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhl" + + "IHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdh" + + "eXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3Rh" + + "Y2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRg" + + "IGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1H" + + "cnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8" + + "IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1l" + + "YCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0" + + "aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1l" + + "c3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0Zf" + + "RU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNg" + + "LCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMg" + + "bm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBv" + + "ciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwg" + + "YE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAt" + + "LWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdF" + + "YCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVj" + + "a2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxs" + + "OgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9F" + + "TlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVu" + + "dmAgdGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQs" + + "IGxheWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNl" + + "ZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1j" + + "b250cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21w" + + "dXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBs" + + "b2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAg" + + "ZnJvbSB0aGUgY29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBj" + + "YWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2lu" + + "Y2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBu" + + "byBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVj" + + "a291dCBhYm92ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9t" + + "IHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlz" + + "IGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9u" + + "bHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + + "LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50" + + "aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8" + + "IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwg" + + "YHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4g" + + "KyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXIt" + + "bmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFs" + + "bCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8Cnwg" + + "YC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0t" + + "Y29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5v" + + "LWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVn" + + "aXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + + "LXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1u" + + "Y2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8" + + "IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2lu" + + "dCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRl" + + "IGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVy" + + "YXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBr" + + "ZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhU" + + "YCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNm" + + "LWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBg" + + "MjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1z" + + "Y29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMg" + + "YC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUg" + + "ZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwK" + + "CkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBg" + + "aGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRl" + + "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + + "YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0" + + "aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwK" + + "fCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwg" + + "LSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQg" + + "fCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0" + + "aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFy" + + "dCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBl" + + "PUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1j" + + "aGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0" + + "aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAt" + + "LW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBl" + + "YXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9y" + + "bWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9k" + + "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBg" + + "PHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFt" + + "cGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJl" + + "Y2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwK" + + "fCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZh" + + "dWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4g" + + "fCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBl" + + "ci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2" + + "NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHku" + + "IHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5j" + + "dGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxz" + + "W10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBh" + + "dGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9y" + + "dGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFu" + + "ZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJv" + + "dW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAs" + + "IG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBt" + + "b3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZh" + + "bHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBg" + + "TWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBV" + + "c2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAw" + + "MC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpI" + + "ZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9y" + + "IGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5s" + + "bG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVz" + + "dCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2Vy" + + "dmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlv" + + "bi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1" + + "bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNv" + + "bXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVy" + + "bi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3Rz" + + "IGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNl" + + "IGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1v" + + "ZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0" + + "b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNo" + + "IGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQg" + + "SlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXBy" + + "aW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNv" + + "bmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3Vu" + + "dCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQ" + + "UklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3Vw" + + "cG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZh" + + "dWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBg" + + "bW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5y" + + "b3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBh" + + "cmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1" + + "cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1m" + + "aWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25l" + + "LXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdw" + + "dSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAg" + + "fCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiBy" + + "ZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAx" + + "YCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAo" + + "dW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1F" + + "XWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tV" + + "KSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + + "Y29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNl" + + "OgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFN" + + "RWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2Et" + + "ejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhv" + + "dXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBl" + + "IFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkg" + + "fCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFp" + + "bmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAt" + + "LWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11" + + "dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8" + + "IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hl" + + "biBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwg" + + "LSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGlu" + + "IHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJH" + + "U2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0" + + "cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWlu" + + "ZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBl" + + "YXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVu" + + "dCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgt" + + "cnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUu" + + "Zy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1h" + + "eC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlv" + + "biAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24t" + + "Z3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYw" + + "MSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURc" + + "fE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1y" + + "ZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQg" + + "YG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3Vs" + + "dC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwg" + + "TW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJT" + + "SU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3Mg" + + "VEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRp" + + "b24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQg" + + "VVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVs" + + "ZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBg" + + "LS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJ" + + "RCB8IC0gfApQSwcIL5jPdCBNAAAgTQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + + "AKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFu" + + "ZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFz" + + "ZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBi" + + "ZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBh" + + "cnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + + "LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhg" + + "IGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczov" + + "L2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVs" + + "bWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9o" + + "ZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRw" + + "czovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90" + + "IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFs" + + "bCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3Rv" + + "cmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFu" + + "bm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFu" + + "bm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3Mi" + + "OiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBs" + + "YW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8v" + + "ZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRl" + + "c3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAg" + + "Zm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + + "b2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUt" + + "bGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKfCBg" + + "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9y" + + "LCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBt" + + "aW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3Vh" + + "bGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhl" + + "IGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4g" + + "LW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdp" + + "dGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3Rz" + + "LiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVz" + + "b3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcg" + + "Zm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmlu" + + "ZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2Fp" + + "dGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAy" + + "IG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQt" + + "b3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVk" + + "IGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2Ug" + + "YHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQg" + + "fCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9y" + + "eSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tg" + + "IG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhl" + + "bG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFu" + + "ZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3" + + "b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0" + + "YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3Vy" + + "Y2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0" + + "bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENE" + + "IG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVs" + + "bSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNl" + + "YCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1f" + + "RFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3du" + + "IGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4" + + "cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNr" + + "YC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBg" + + "c3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1lc3Bh" + + "Y2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9u" + + "bHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Agb3Ig" + + "YC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNvbWUg" + + "ZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBI" + + "RUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3RoZXJ3" + + "aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAs" + + "IGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQb2lu" + + "dCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFzcyB0" + + "aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + + "b24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVu" + + "KSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52" + + "Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFj" + + "dGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4" + + "cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29u" + + "IGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAg" + + "dGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0" + + "aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBp" + + "bnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNj" + + "cmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBT" + + "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1l" + + "ZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMg" + + "c3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1" + + "YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdO" + + "Q1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDi" + + "gJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJg" + + "LCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJl" + + "IHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8" + + "IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0t" + + "cmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRF" + + "bnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBs" + + "YW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRy" + + "YUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVs" + + "ZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2Zm" + + "YCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3Ry" + + "eTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3Iu" + + "aW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxh" + + "bmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0t" + + "LXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEv" + + "bnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0" + + "ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBt" + + "YXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8Cnwg" + + "YE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAo" + + "SUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5l" + + "IEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNs" + + "dXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52" + + "Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3" + + "cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVj" + + "ayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExP" + + "WUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKA" + + "lCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dz" + + "IC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxv" + + "dXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiBy" + + "ZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlv" + + "dXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBh" + + "ZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAg" + + "YWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTog" + + "TlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0" + + "Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGll" + + "cyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRv" + + "IGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3Rh" + + "cnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcICP3Yyqoa" + + "AACqGgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZD" + + "RiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAg" + + "c3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRp" + + "b24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5k" + + "IHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNm" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24s" + + "IGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUK" + + "ICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95" + + "bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBs" + + "b2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIu" + + "MApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxt" + + "ID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJz" + + "aW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlh" + + "LmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZp" + + "bGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmls" + + "ZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGws" + + "IFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1" + + "dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4i" + + "CiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwg" + + "c2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBp" + + "bnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNo" + + "LCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46" + + "IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVy" + + "YXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5l" + + "IGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVz" + + "ZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1h" + + "dGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5k" + + "b2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0" + + "aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5j" + + "dGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3Rl" + + "ZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24s" + + "CmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + + "YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + + "L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRj" + + "aGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNv" + + "dXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJz" + + "aW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBi" + + "ZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29t" + + "bWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + + "IyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFu" + + "eSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEu" + + "eCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMg" + + "TXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0t" + + "ZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGlu" + + "IDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBy" + + "dW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6Cgpg" + + "YGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8g" + + "ZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0" + + "aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3Jl" + + "dHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + + "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + + "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFu" + + "ZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0" + + "aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChk" + + "ZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAg" + + "ICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBs" + + "ICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykK" + + "ICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNp" + + "dGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczog" + + "YmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1s" + + "LmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQg" + + "KGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50" + + "cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBm" + + "aWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2Vz" + + "IG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1" + + "c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhl" + + "bG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVh" + + "biBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBz" + + "ZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + + "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5" + + "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpl" + + "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + + "Z2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + + "cyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0n" + + "JG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + + "IC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + + "dGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBh" + + "bHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNl" + + "ZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRo" + + "ZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5g" + + "IEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxl" + + "IHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBj" + + "cmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFz" + + "aAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5p" + + "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4g" + + "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNy" + + "IGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5" + + "IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3Iu" + + "PHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5g" + + "IGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+" + + "IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVk" + + "IGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBg" + + "bnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBk" + + "b2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRo" + + "ZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1p" + + "c2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2Nl" + + "ZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMg" + + "ZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRo" + + "ZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0t" + + "dXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAg" + + "aW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVs" + + "bGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlz" + + "Cj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5" + + "IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJv" + + "ciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1" + + "bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBs" + + "ZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFu" + + "dGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5k" + + "IHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQg" + + "dGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBn" + + "bG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAg" + + "ICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWly" + + "cm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMK" + + "ICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8" + + "bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBP" + + "Q0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9y" + + "ZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFs" + + "cmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdo" + + "LCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhh" + + "bXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBj" + + "YW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3Ig" + + "bWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJy" + + "b3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBv" + + "IGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0" + + "Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kg" + + "Y2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tp" + + "cCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNh" + + "dGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9h" + + "ZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5l" + + "dGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1j" + + "cmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBu" + + "b3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBv" + + "ciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBz" + + "dGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxp" + + "ZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2" + + "aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11" + + "c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2Ug" + + "KHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVy" + + "ZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRo" + + "ZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBk" + + "b2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5" + + "IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChr" + + "dWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4g" + + "LW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FU" + + "RVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBD" + + "bG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9h" + + "ZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQg" + + "RE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46" + + "ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhv" + + "c3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9t" + + "YWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYg" + + "dGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBh" + + "bmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxl" + + "IDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVw" + + "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAg" + + "IyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dv" + + "cmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERF" + + "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEg" + + "c2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhh" + + "dCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNT" + + "QU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQg" + + "ZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlh" + + "bHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZp" + + "Y2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + + "QVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4g" + + "b3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8" + + "IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwK" + + "fCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3Nh" + + "bmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBT" + + "SVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9u" + + "YWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3" + + "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAz" + + "IHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8" + + "IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sg" + + "KGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0" + + "eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1" + + "bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBh" + + "dGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0" + + "aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBw" + + "YWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2" + + "YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBh" + + "IG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52" + + "LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJs" + + "ZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + + "dCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5" + + "Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGlu" + + "Z3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVl" + + "ZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0" + + "aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2Fn" + + "ZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFu" + + "ZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdh" + + "dGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + + "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + + "cGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5" + + "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6" + + "IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoK" + + "RG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywg" + + "aW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVz" + + "IGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUg" + + "TlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + + "bmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJs" + + "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4g" + + "SWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + + "dWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24u" + + "IFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRv" + + "IG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBu" + + "YW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBz" + + "dGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoK" + + "IyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250" + + "cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRz" + + "LiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBo" + + "YW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25t" + + "ZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1w" + + "bGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJh" + + "dGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21w" + + "bGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNl" + + "IGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyBy" + + "b3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoK" + + "IyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhl" + + "IGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsg" + + "c2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJl" + + "bGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUg" + + "TlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAs" + + "IGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXBy" + + "b3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3" + + "YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2Vy" + + "dC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + + "dWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMg" + + "YGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBp" + + "dC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + + "YXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1t" + + "YW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBv" + + "biB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdo" + + "ZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0" + + "aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBh" + + "Ym9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + + "IHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNo" + + "aW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBt" + + "aXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9u" + + "bHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + + "YW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3du" + + "CgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9y" + + "eToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAK" + + "CiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3Rl" + + "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07" + + "IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApk" + + "b25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAg" + + "LUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3Vs" + + "ZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMg" + + "RW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + + "dGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2Ug" + + "dmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxt" + + "ZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBl" + + "eGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMv" + + "YCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTog" + + "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + + "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + + "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + + "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + + "ZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1" + + "OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAg" + + "ICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVy" + + "Z2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhl" + + "cml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + + "IGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBz" + + "ZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBT" + + "ZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90" + + "IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRo" + + "ZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jvbmcp" + + "OgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3Ry" + + "eSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8" + + "IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlk" + + "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2Yt" + + "YXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtl" + + "ciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5v" + + "IENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChh" + + "Y2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRg" + + "IGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2" + + "L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQg" + + "fCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91" + + "KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46" + + "PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNp" + + "ZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRl" + + "bXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tF" + + "Ul9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pz" + + "b24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2Vy" + + "IGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBk" + + "cm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWls" + + "ZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAs" + + "IGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1B" + + "YCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3Vu" + + "dC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJt" + + "dXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jv" + + "bmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxm" + + "b3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5" + + "IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAg" + + "ICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBU" + + "byByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCBy" + + "ZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVz" + + "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252" + + "Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAg" + + "IyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9u" + + "dmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91" + + "dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNp" + + "ZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZy" + + "b20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUg" + + "cGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBl" + + "YWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBj" + + "cmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4g" + + "YXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBp" + + "bnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRv" + + "bWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29u" + + "ZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRp" + + "bmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2Vj" + + "cmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9y" + + "bWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1m" + + "aWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpo" + + "ZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpo" + + "ZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBr" + + "eXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFj" + + "aCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + + "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBD" + + "bHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9s" + + "aWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0" + + "aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVy" + + "aWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + + "bWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6" + + "IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBi" + + "dWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMp" + + "LgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBz" + + "Y3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1z" + + "ZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFz" + + "aAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + + "bCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1i" + + "eT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1" + + "cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0t" + + "fC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Np" + + "bmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBo" + + "YXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMg" + + "fCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsg" + + "bWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAg" + + "c2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1" + + "bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29u" + + "ZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2" + + "ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + + "b3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNs" + + "dXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + + "dHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBv" + + "cGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + + "ZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9u" + + "IENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNz" + + "YW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMg" + + "Y3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNl" + + "Y3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2Fu" + + "ZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBT" + + "ZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVx" + + "dWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5k" + + "cmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2Vs" + + "ZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + + "ZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRg" + + "IHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95" + + "YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRp" + + "bWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sg" + + "YGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8" + + "IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAg" + + "fCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUg" + + "YGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBw" + + "YXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBh" + + "Y2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1Zl" + + "cmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3Rz" + + "dHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3Jl" + + "dHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92" + + "YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRl" + + "ZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxl" + + "YWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xf" + + "T1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5l" + + "Y3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2Vy" + + "dmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdT" + + "X1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBh" + + "bmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUg" + + "YWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkg" + + "YSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3Qt" + + "aW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxs" + + "LiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBh" + + "dGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMs" + + "IG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNj" + + "b3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgK" + + "bm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCBy" + + "YW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNm" + + "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3Vj" + + "Y2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCBy" + + "ZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJl" + + "cwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNv" + + "bXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3Jl" + + "LW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFw" + + "aSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + + "cCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwg" + + "UmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRo" + + "ZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92" + + "MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFu" + + "ZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0g" + + "T3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFu" + + "ZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQs" + + "IHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9u" + + "cywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQ" + + "SwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAg" + + "ICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5z" + + "dGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFm" + + "dGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2" + + "ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMu" + + "MTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRo" + + "aW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5" + + "bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAo" + + "bm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZm" + + "ID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVy" + + "c2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2" + + "ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxh" + + "dGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmls" + + "ZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFn" + + "ZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlm" + + "ZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBw" + + "cmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5j" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZp" + + "bGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBz" + + "eW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5j" + + "JyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + + "YWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0" + + "byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xl" + + "YW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJt" + + "aW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFs" + + "aXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6" + + "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNw" + + "YWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBv" + + "bmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNm" + + "LWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29u" + + "dGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3Vi" + + "ZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFs" + + "aXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNs" + + "ZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhl" + + "IGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0" + + "b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJj" + + "ZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2Ug" + + "ZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6" + + "ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0" + + "ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1" + + "YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNp" + - "ZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5h" + - "bWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5j" + - "aWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNw" + - "YWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAg" + - "ICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGlu" + - "ZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1" + - "Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUg" + - "aW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlh" + - "Z25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRo" + - "ZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRz" + - "IG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBp" + - "c3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdl" + - "UHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAg" + - "ICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdl" + - "UHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNl" + - "Y3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNl" + - "IGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5k" + - "IHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJl" + - "bW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJl" + - "IGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBs" + - "YW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRl" + - "LXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + - "b25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250" + - "cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBp" + - "biBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQg" + - "dGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBD" + - "IHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4g" + - "SXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGlu" + - "Y2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFu" + - "ZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBw" + - "dWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0" + - "LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rl" + - "cjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFj" + - "ZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwg" + - "Z3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFu" + - "ZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53" + - "b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5h" + - "dHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52" + - "b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdy" + - "cGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2Ui" + - "LAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + - "Lm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2Vy" + - "LXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVz" + - "cy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdl" + - "bnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVl" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBh" + - "bmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAi" + - "VGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1Nl" + - "cnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9z" + - "dEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJU" + - "aGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0" + - "LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9u" + - "bHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVh" + - "cmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5l" + - "IGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1m" + - "aWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlv" + - "biBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wg" + - "cGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVm" + - "b3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGgg" + - "dGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5v" + - "dCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFn" + - "ZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRl" + - "ZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFu" + - "IGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBt" + - "aXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1" + - "bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5k" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0" + - "ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1h" + - "bmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0" + - "ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRp" + - "dGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRp" + - "b24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRo" + - "ZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4" + - "LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJh" + - "dGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUg" + - "SGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJn" + - "ZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlv" + - "biwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFu" + - "ZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUg" + - "ZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFy" + - "ZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHBy" + - "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5l" + - "bmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlm" + - "IHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVk" + - "LCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90" + - "aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkg" + - "ZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5j" + - "ZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJh" + - "biBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5k" + - "IEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIs" + - "CiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVm" + - "aXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0" + - "aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5v" + - "dCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4g" + - "dGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90" + - "aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMt" + - "dXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50" + - "IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJl" + - "bW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFp" + - "biIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAg" + - "InF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBp" + - "dCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBp" + - "biBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFs" + - "dWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdv" + - "dG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFt" + - "bC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVk" + - "IHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1" + - "ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVj" + - "ZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBs" + - "IC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmll" + - "ZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtl" + - "eXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5p" + - "bWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBj" + - "aGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHBy" + - "b3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFz" + - "ZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0t" + - "ZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlw" + - "ZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQg" + - "dGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlv" + - "biBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxl" + - "ZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmds" + - "ZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFu" + - "ZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hl" + - "biBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNh" + - "bm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91" + - "dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxp" + - "ZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRl" + - "d2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1l" + - "cmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUg" + - "d29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRy" + - "YW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBw" + - "bGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVk" + - "ZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBs" + - "b3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90" + - "IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0" + - "ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1u" + - "b2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVl" + - "c3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmlj" + - "YWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMi" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8t" + - "QVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdv" + - "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIg" + - "dHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQg" + - "aW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFu" + - "ZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGgg" + - "dGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4" + - "aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGkt" + - "Z2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBs" + - "bG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1" + - "cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRo" + - "YXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3Ig" + - "dXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3Zp" + - "ZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1i" + - "YXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVm" + - "ZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsH" + - "CEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29y" + - "a2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFt" + - "cGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRy" + - "YSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcu" + - "LCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBg" + - "T09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJl" + - "bGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0" + - "ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3Rt" + - "cC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJp" + - "ZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFt" + - "cGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBk" + - "aXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fz" + - "c2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAg" + - "bmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyBy" + - "ZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJh" + - "OgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAi" + - "OCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAg" + - "ICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6" + - "IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApk" + - "aWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJt" + - "IHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5h" + - "bWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBl" + - "ciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1w" + - "bGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMK" + - "CkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAo" + - "YG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1" + - "bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpg" + - "YGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3Vy" + - "Y2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZj" + - "ZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9u" + - "dmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBj" + - "aGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + - "JyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + - "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3Bh" + - "Y2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + - "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + - "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBp" + - "bWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNp" + - "ZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBj" + - "YXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBg" + - "YHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fz" + - "c2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVu" + - "ZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJp" + - "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + - "bAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2Vj" + - "cmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwt" + - "c2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBl" + - "dmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNl" + - "cGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1v" + - "cGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3Rl" + - "bWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERl" + - "cGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZp" + - "Y2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNl" + - "IDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1h" + - "Z2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1" + - "bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMg" + - "LW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5z" + - "IiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3It" + - "Y3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVu" + - "dHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAg" + - "LWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52" + - "Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxs" + - "CgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUu" + - "CgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RF" + - "Ul9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + - "SUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51" + - "cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1" + - "cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNh" + - "LWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBj" + - "b21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVm" + - "b3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8" + - "Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20t" + - "cmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1t" + - "aXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rl" + - "ci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZl" + - "IHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNl" + - "cnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmlu" + - "ZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9y" + - "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + - "CnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxl" + - "ZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + - "IGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVz" + - "cGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0" + - "dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoK" + - "YGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + - "XAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3Mg" + - "Ym90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xl" + - "YW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8" + - "IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhj" + - "YXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFu" + - "ZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3Bs" + - "aXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0" + - "YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRw" + - "b2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxv" + - "YWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0" + - "ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2Yt" + - "Z2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVz" + - "c2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjog" + - "VXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWlu" + - "YCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQg" + - "dGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFw" + - "aS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERS" + - "YC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNl" + - "cnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUK" + - "bWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJl" + - "ZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNz" + - "LWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21w" + - "dXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMu" + - "IEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2gg" + - "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVz" + - "ZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + - "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5k" + - "IGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBg" + - "YGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFp" + - "bj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3kt" + - "Z2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNh" + - "LW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + - "PiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0" + - "dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95" + - "IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcg" + - "b24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENh" + - "c3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3Rl" + - "bQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3Bl" + - "Y2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8" + - "IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBl" + - "bmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2Ut" + - "Z3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2Us" + - "IGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxt" + - "LXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + - "ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10" + - "cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + - "ZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5h" + - "bWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0" + - "ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBE" + - "ZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwK" + - "fCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5" + - "IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25z" + - "LnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kg" + - "TlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNl" + - "IGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdy" + - "ZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFu" + - "eSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5" + - "YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0t" + - "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21w" + - "dXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUg" + - "Zmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENo" + - "b29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUu" + - "IERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNv" + - "bnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwt" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRl" + - "LXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkg" + - "cHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9j" + - "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8" + - "CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qg" + - "bm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUg" + - "YSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0" + - "aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBh" + - "Y2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFu" + - "ZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1" + - "bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVh" + - "dGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9s" + - "LXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBz" + - "ZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywg" + - "YW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3Ig" + - "RUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + - "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRo" + - "ZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRy" + - "b2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRl" + - "d2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFU" + - "UyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwg" + - "YWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXkt" + - "YWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRo" + - "ZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoK" + - "CmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2lu" + - "dHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAg" + - "IG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIK" + - "ICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBu" + - "dmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRv" + - "bWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNm" + - "LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250" + - "cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAg" + - "IHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQog" + - "ICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9" + - "CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNl" + - "OiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAg" + - "ICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAg" + - "ICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0" + - "QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0" + - "bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAg" + - "ICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2Nv" + - "dmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9w" + - "ZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNp" + - "cy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3" + - "YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFs" + - "LjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVz" + - "cz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIK" + - "YGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNv" + - "bnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxh" + - "dGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + - "YW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3Rh" + - "bGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdh" + - "dGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMg" + - "YE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3" + - "YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2Vf" + - "Z3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAi" + - "YXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRl" + - "d2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3Qg" + - "ZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNN" + - "U19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVy" + - "bGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBo" + - "ZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lz" + - "dGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBs" + - "YW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJl" + - "Z2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lE" + - "PTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDov" + - "LzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3Vi" + - "ZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09O" + - "RklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + - "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1r" + - "dWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFu" + - "ZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIg" + - "ZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRl" + - "LXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBv" + - "bWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdl" + - "dCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFu" + - "ZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1" + - "dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + - "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + - "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJl" + - "Z2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRo" + - "ZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6" + - "CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNv" + - "bnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYg" + - "PGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJv" + - "bC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + - "YW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0t" + - "cmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + - "bAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5l" + - "LXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBc" + - "CiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4K" + - "YGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29t" + - "cHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJv" + - "YmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQt" + - "YXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVh" + - "dGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNv" + - "bnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + - "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9u" + - "IHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3Bl" + - "cmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + - "IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9y" + - "IHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1g" + - "LiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4g" + - "Rm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + - "dWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3" + - "YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdh" + - "dGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9y" + - "IC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5h" + - "Z2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0" + - "ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRl" + - "IHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJv" + - "eSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhl" + - "cgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4g" + - "TmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNl" + - "LiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVy" + - "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + - "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + - "IHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9u" + - "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1v" + - "dmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBs" + - "aWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBI" + - "ZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxl" + - "IHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5h" + - "bWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + - "bGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRl" + - "bGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVl" + - "cz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBg" + - "Y2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpT" + - "aG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1" + - "c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBm" + - "b3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUu" + - "CgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1D" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90" + - "aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUg" + - "Y29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMg" + - "YW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRz" + - "IGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdp" + - "dGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xp" + - "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + - "XAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21z" + - "LXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rl" + + "IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBw" + + "cm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmln" + + "IHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250" + + "cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3Rl" + + "ciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiBy" + + "YW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9u" + + "bWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3Zl" + + "ciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5k" + + "ZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + + "YmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAg" + + "ICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9n" + + "cnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tl" + + "eXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXki" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xV" + + "U1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VC" + + "RUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + + "SUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxp" + + "ZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBm" + + "bGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + + "bXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJv" + + "bC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9m" + + "aWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhl" + + "bG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBo" + + "ZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJv" + + "dGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBl" + + "eHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVs" + + "bSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUg" + + "aXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBu" + + "dmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29y" + + "ZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdp" + + "dGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAg" + + "IlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlv" + + "biBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIs" + + "CiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVu" + + "dCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8g" + + "dmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywg" + + "c2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91" + + "bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRv" + + "IHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + + "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAg" + + "IldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQg" + + "ZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0" + + "ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRp" + + "b24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhl" + + "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJv" + + "bm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "Y29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVk" + + "IHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + + "YWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVz" + + "LCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxh" + + "bmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJl" + + "Z2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0" + + "YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxt" + + "LCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVu" + + "ZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBp" + + "LWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRp" + + "bmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJ" + + "TEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxv" + + "eWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmls" + + "ZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250" + + "cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2" + + "YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNv" + + "bnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxs" + + "ZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9j" + + "dW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5l" + + "cmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAg" + + "ICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFu" + + "ZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBT" + + "aG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWly" + + "ZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93" + + "ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5n" + + "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + + "LS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBS" + + "ZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMg" + + "ZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAg" + + "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAg" + + "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0" + + "IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4i" + + "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNv" + + "bnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2Vu" + + "ZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4g" + + "SGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "NC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5k" + + "cmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRv" + + "IDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2Vs" + + "aW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSBy" + + "ZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBs" + + "IGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFN" + + "TCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmll" + + "ZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0" + + "aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1s" + + "LmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0" + + "aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlB" + + "TUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRl" + + "J3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUg" + + "Y2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdp" + + "dGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBl" + + "bmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVu" + + "Y2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8g" + + "ZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVk" + + "IHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "dXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5j" + + "JyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + + "IHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5" + + "c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVj" + + "dG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0" + + "aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVu" + + "YXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVn" + + "Z2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRo" + + "ZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRz" + + "LCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFj" + + "Y291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3Jl" + + "ZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBj" + + "b3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNj" + + "cmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhl" + + "IGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0" + + "aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRl" + + "bnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0" + + "byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwg" + + "aW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8g" + + "dXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0g" + + "YW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJl" + + "bW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwg" + + "ZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQg" + + "T3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + + "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29t" + + "cHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBv" + + "dmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5l" + + "IG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVy" + + "YXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJv" + + "ciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0" + + "ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5j" + + "ZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwg" + + "bnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBu" + + "dmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUg" + + "YWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxh" + + "bmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3Ro" + + "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMg" + + "d2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBh" + + "Z2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxl" + + "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + + "ckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + + "dGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVt" + + "ZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBs" + + "YW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxT" + + "ZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBu" + + "YXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5h" + + "bWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1w" + + "bGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3Jl" + + "ZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBk" + + "b3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBz" + + "YWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJp" + + "YW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBh" + + "bmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZv" + + "cmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1w" + + "bGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJv" + + "eSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1l" + + "c3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJl" + + "cXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGlu" + + "ZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + + "LCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2Vy" + + "dmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91" + + "dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJ" + + "IGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRo" + + "ZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9u" + + "cywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNN" + + "UyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBh" + + "bmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0" + + "IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGgg" + + "dGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9u" + + "bHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBl" + + "dmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWci" + + "LAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3Rl" + + "ciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRl" + + "c3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRo" + + "ZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFj" + + "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWly" + + "ZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBp" + + "bnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0" + + "YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUg" + + "Y2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3" + + "aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAog" + + "ICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJv" + + "eSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBD" + + "TEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwg" + + "dW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBD" + + "TEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxp" + + "dmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9l" + + "cyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1w" + + "bGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3Rl" + + "cmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBD" + + "TEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwg" + + "Ym90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRo" + + "ZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBl" + + "YWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + + "dGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMx" + + "My12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRv" + + "IG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93" + + "IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1s" + + "LCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwg" + + "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + + "ZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11" + + "c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYg" + + "WUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkg" + + "cGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xv" + + "YmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVs" + + "ZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFt" + + "cGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZh" + + "bHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkg" + + "bmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5h" + + "Z2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29u" + + "ZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxt" + + "LmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRl" + + "d2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJv" + + "dXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + + "biBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFs" + + "YW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQg" + + "cGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRl" + + "ZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBh" + + "bmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlD" + + "SW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fybmlu" + + "ZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4g" + + "SXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNl" + + "ZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMs" + + "IGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIg" + + "c2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVz" + + "ZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgi" + + "LAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FD" + + "b3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2Yt" + + "dHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2lu" + + "ZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + + "YXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRz" + + "IHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25s" + + "eSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBw" + + "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNo" + + "ZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQg" + + "cmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJU" + + "aGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRo" + + "ZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1x" + + "dWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWsz" + + "ZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2lu" + + "ZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91" + + "bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwg" + + "azNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9z" + + "dGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4g" + + "VGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRp" + + "b24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0" + + "cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBk" + + "ZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwt" + + "ZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAA" + + "AAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMu" + + "bWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBs" + + "b3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291" + + "cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24g" + + "bGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fz" + + "c2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRl" + + "IHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAx" + + "OiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1s" + + "CmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApg" + + "YGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2ll" + + "cy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAg" + + "cmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sg" + + "cm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + + "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + + "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + + "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + + "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAg" + + "bGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQog" + + "ICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9y" + + "eTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + + "ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAv" + + "Y2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6" + + "IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGlu" + + "IHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNl" + + "c2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBS" + + "ZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcg" + + "aW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3Jl" + + "ZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmln" + + "dXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAg" + + "ICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5p" + + "bwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNh" + + "dGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9n" + + "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0" + + "cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoK" + + "IyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApl" + + "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5k" + + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + + "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + + "b25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + + "dmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVz" + + "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + + "WSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + + "b25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVs" + + "ZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBl" + + "YWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBl" + + "bmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + + "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + + "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + + "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9i" + + "YWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMK" + + "YGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUg" + + "dGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxs" + + "LXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBg" + + "YAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBu" + + "YXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9w" + + "ZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3Rh" + + "cnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNh" + + "IGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1u" + + "ICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5h" + + "bWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBh" + + "dGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxs" + + "U2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5" + + "c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1i" + + "eT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3Nm" + + "dWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBG" + + "dWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBh" + + "bmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1" + + "dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + + "aWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0" + + "aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMj" + + "IyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklE" + + "YCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdp" + + "c3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJ" + + "RCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBg" + + "YmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNs" + + "dXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2Et" + + "aWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQg" + + "MiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29u" + + "dHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBi" + + "eSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBI" + + "ZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2Vy" + + "dC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1" + + "aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBp" + + "dCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZm" + + "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNr" + + "IEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + + "CmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + + "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3Ro" + + "ZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxh" + + "bmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ry" + + "b3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgoj" + + "IyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2Vu" + + "ZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtl" + + "eXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMj" + + "IyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxs" + + "YXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpz" + + "YW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVu" + + "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBS" + + "ZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJv" + + "dmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBn" + + "b3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBg" + + "YmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1v" + + "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVX" + + "QVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBm" + + "aWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9z" + + "dCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJv" + + "dXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48" + + "ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQg" + + "d2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0" + + "byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEg" + + "c3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2Vz" + + "LCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUg" + + "YG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRT" + + "IFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3Zl" + + "cnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0" + + "aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAz" + + "OiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4i" + + "CmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0" + + "aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + + "bnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95" + + "bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpz" + + "b25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAK" + + "Ci0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3Ig" + + "dGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBi" + + "YXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + + "CiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBn" + + "ZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0" + + "b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0t" + + "LS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9w" + + "ZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lz" + + "LCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNl" + + "cnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0" + + "ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25s" + + "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRv" + + "bnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4g" + + "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52" + + "Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95" + + "IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8Cnwg" + + "YG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkg" + + "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxv" + + "eSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + + "cyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwK" + + "fCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1" + + "ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMp" + + "IHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwK" + + "Ck5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3Vw" + + "IGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94" + + "eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoK" + + "VGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4g" + + "SW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFs" + + "bCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2Ug" + + "aXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVk" + + "IHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5k" + + "b2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3Ry" + + "YXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRl" + + "IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENM" + + "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rl" + + "cj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkg" + + "Zm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1m" + + "aWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1h" + + "bmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9w" + + "ZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1" + + "bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMg" + + "SGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9y" + + "ZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRl" + + "d2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUK" + + "ICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVW" + + "YWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5k" + + "LXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9j" + + "c3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2Vl" + + "cHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1g" + + "LCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0" + + "ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZp" + + "cm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBv" + + "dmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFu" + + "ZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9t" + + "YWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdh" + + "eS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dv" + + "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3Jr" + + "ZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0" + + "cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1Nl" + + "cnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jl" + + "c3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXkt" + + "c3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBu" + + "YW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXks" + + "IG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNm" + + "LWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5l" + + "ck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAg" + + "ICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdh" + + "dGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVu" + + "YWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXkt" + + "ZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBt" + + "aWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + + "YGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88" + + "ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAg" + + "aWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2" + + "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFs" + + "U2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNl" + + "SG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VS" + + "TDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRl" + + "OiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNv" + + "bnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVn" + + "aXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRl" + + "IHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFz" + + "ZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEw" + + "MDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNt" + + "c191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5" + + "LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZv" + + "a2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxn" + + "YXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwg" + + "d2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3Ry" + + "YXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBz" + + "dXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0" + + "YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0" + + "aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1F" + + "PTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxy" + + "ZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05G" + + "SUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8t" + + "bnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVT" + + "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRp" + + "c2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNv" + + "bnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBp" + + "cyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVz" + + "dGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNv" + + "bnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93" + + "CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhl" + + "IHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNo" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNh" + + "LWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJv" + + "dGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNv" + + "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1w" + + "bGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXIt" + + "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + + "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1" + + "YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBw" + + "cm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0" + + "aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHBy" + + "b2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1" + + "ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4g" + + "dGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + + "eXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRo" + + "ZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdo" + + "IGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQg" + + "bWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0" + + "byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxl" + + "cywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRp" + + "b24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52" + + "Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwK" + + "ICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBt" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2Zi" + + "YWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAg" + + "LS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9" + + "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQg" + + "PHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFu" + + "ZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5l" + + "LiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0" + + "aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFn" + + "ZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90" + + "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + + "IGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + + "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + + "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + + "ZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + + "LiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBw" + + "cm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRv" + + "IG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFj" + + "aCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + + "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0t" + + "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + + "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + + "aWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1l" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdl" + + "dCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRl" + + "c3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4g" + + "ZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1w" + + "bGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVz" + + "dHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdf" + + "RklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBp" + + "dHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJ" + + "IHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0" + + "LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21w" + + "bGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRo" + + "ZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50" + + "IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + + "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + + "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVy" + + "bD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1" + + "dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3Qg" + + "cXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNh" + + "bm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0" + + "YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRl" + + "c3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBi" + + "b3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUg" + + "d2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + + "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + + "aGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1j" + + "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + + "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + + "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rl" + "ci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + - "CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0" + - "ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdz" + - "IG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwg" + - "Y29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVy" + - "ZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4g" + - "R2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGlu" + - "dWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBg" + - "YmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + - "IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAt" + - "LXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + - "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + - "aWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVh" + - "Y2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUg" + - "YW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFu" + - "ZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAA" + - "ABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5n" + - "IFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNG" + - "IHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoK" + - "YGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2Rz" + - "IC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBw" + - "b2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBS" + - "ZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0" + - "bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgoj" + - "IERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVt" + - "ZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgoj" + - "IyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAg" + - "ICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + - "ZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2" + - "ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1h" + - "Z2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBD" + - "aGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNl" + - "Y3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVk" + - "cyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNl" + - "Y3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBh" + - "dGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2Nv" + - "dW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFt" + - "ZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMK" + - "CjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + - "dXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAg" + - "LS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRv" + - "ZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Ag" + - "Y29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + - "bC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3Jl" + - "dHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2Vydmlj" + - "ZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2Vj" + - "cmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2Vj" + - "cmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUg" + - "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJl" + - "Y3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQg" + - "QWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZv" + - "ciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBT" + - "VEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAg" + - "ICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0" + - "IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBP" + - "cGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1u" + - "IHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVj" + - "dGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3Vi" + - "ZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMg" + - "Q2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4" + - "ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBm" + - "b3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFv" + - "IG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUg" + - "c3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBg" + - "YGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + - "bmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lz" + - "dGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVh" + - "dGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBw" + - "b2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVy" + - "LTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5p" + - "dGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNz" + - "ZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1Ms" + - "IGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGlu" + - "ZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBj" + - "b25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3" + - "dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1Ms" + - "IHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291" + - "bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2" + - "YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVy" + - "IGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBk" + - "ZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNl" + - "YDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBk" + - "aXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1Ymxp" + - "YyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9u" + - "IHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMg" + - "SW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0Ogog" + - "ICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNj" + - "b3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAt" + - "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBg" + - "CgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3Zl" + - "cnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25g" + - "IGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3Yx" + - "L2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5" + - "IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNz" + - "dWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRo" + - "aXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlz" + - "c3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBD" + - "YXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RB" + - "VFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMg" + - "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUg" + - "cG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0" + - "ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmls" + - "ZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCku" + - "CgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAg" + - "ICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAg" + - "ICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJl" + - "c2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0" + - "LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBl" + - "bmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVT" + - "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAg" + - "ICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBz" + - "Y2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxw" + - "b2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + - "IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBu" + - "b2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3Rl" + - "bnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0" + - "b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUK" + - "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZj" + - "ZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBj" + - "bGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBg" + - "YAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAg" + - "IGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUg" + - "IkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGlu" + - "IEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dz" + - "IHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5" + - "bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9u" + - "cyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNl" + - "LW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWls" + - "ZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMg" + - "SWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFt" + - "ZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUg" + - "cHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJh" + - "cCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25z" + - "IGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMj" + - "IyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3Rs" + - "IGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUg" + - "bWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBu" + - "dmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5l" + - "dGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgox" + - "LiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1l" + - "bmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3Vy" + - "IGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0" + - "IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoy" + - "LiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkg" + - "c3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMg" + - "Rml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2Vydmlj" + - "ZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95" + - "Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUt" + - "bm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRl" + - "IG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAm" + - "JiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBp" + - "ZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChG" + - "aW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5h" + - "bWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMK" + - "IyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBU" + - "ZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUg" + - "Y29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24g" + - "aGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVz" + - "b3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0" + - "IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxp" + - "emVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBV" + - "VEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNb" + - "XSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAg" + - "eGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIj" + - "IyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRu" + - "YW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVy" + - "c1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sg" + - "bmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9w" + - "ZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09O" + - "VEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEg" + - "Jy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBV" + - "VEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5z" + - "L2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9w" + - "ZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUt" + - "cGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4" + - "aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Et" + - "b3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9z" + - "aXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNl" + - "ZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1" + - "biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZy" + - "b20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIu" + - "CgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0" + - "aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1v" + - "cGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRl" + - "cGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAt" + - "biBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlm" + - "eSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hh" + - "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEK" + - "YnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + - "LXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBF" + - "bmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZp" + - "Z3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + - "YW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgoj" + - "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52" + - "b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0n" + - "KQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwg" + - "LUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMg" + - "Q2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50Cmdy" + - "ZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBc" + - "CiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBh" + - "bmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xp" + - "ZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVj" + - "dApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5z" + - "dGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxl" + - "IDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBv" + - "aW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVp" + - "Y2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoK" + - "fCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMt" + - "c3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQt" + - "c3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2Vydmlj" + - "ZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIs" + - "IGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXBy" + - "b3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lz" + - "dGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdh" + - "eSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVj" + - "dHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1s" + - "LmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwu" + - "Z290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNl" + - "cnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwt" + - "LSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERl" + - "ZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAg" + - "ICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAg" + - "YC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdp" + - "c3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAg" + - "ICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1j" + - "b21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNp" + - "ZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAg" + - "IGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBh" + - "bmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1s" + - "ICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8" + - "ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3Zl" + - "cnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRl" + - "IHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUg" + - "c2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUK" + - "dmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2Zp" + - "bGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9m" + - "aWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUg" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVw" + - "ZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5v" + - "dGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhl" + - "bG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVy" + - "IHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5h" + - "Z2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5k" + - "cmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5" + - "YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNg" + - "IGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFt" + - "ZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwK" + - "fCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8" + - "IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNm" + - "LWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNm" + - "LWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhl" + - "bG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1u" + - "dmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52" + - "Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZh" + - "bCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52" + - "Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3" + - "YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8" + - "IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBp" + - "LWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3" + - "YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2Vydmlj" + - "ZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNl" + - "IE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2" + - "YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9u" + - "IGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3Ng" + - "IGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHku" + - "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0t" + - "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxl" + - "YXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRl" + - "ZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxl" + - "LiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6" + - "ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1s" + - "LmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVh" + - "c2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEg" + - "YHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0" + - "ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1w" + - "bGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + - "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + - "b290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5" + - "OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUg" + - "fX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88" + - "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + - "eWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNh" + - "c3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVz" + - "dCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + - "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fz" + - "c2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + - "dHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZp" + - "bGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0" + - "aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9u" + - "OiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2" + - "aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5" + - "b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNp" + - "bmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJl" + - "Y2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVu" + - "dHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMK" + - "Mi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVz" + - "CjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0" + - "cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52" + - "Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBi" + - "bG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55" + - "YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJv" + - "bSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkg" + - "YW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJv" + - "dWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fz" + - "c2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVw" + - "b3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBl" + - "cnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5v" + - "ZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VD" + - "bGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9h" + - "ZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5j" + - "b25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5w" + - "b2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3Bl" + - "bkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRp" + - "b25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5p" + - "bWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3Jz" + - "IChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNl" + - "Pi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0" + - "b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRp" + - "bmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBi" + - "ZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTog" + - "IkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1h" + - "cGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hl" + - "biBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMg" + - "dG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25z" + - "LmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRo" + - "LgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25m" + - "aWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRo" + - "ZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdh" + - "dGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZp" + - "Y2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAg" + - "ICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9y" + - "OgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8" + - "CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVz" + - "dHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBg" + - "YAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRl" + - "c3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50" + - "ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRz" + - "IHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0" + - "CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGgg" + - "YSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNl" + - "cGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWly" + - "ZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpg" + - "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQg" + - "d29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhl" + - "IHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2Vy" + - "IGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdp" + - "dGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHVi" + - "LmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qt" + - "cm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlz" + - "IG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQK" + - "cmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGlj" + - "aXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAg" + - "IG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFn" + - "ZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBg" + - "YXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRl" + - "cHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3" + - "aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcg" + - "cGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBs" + - "eSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZl" + - "cnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBm" + - "b3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNv" + - "bmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0" + - "ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0" + - "YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0" + - "aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVy" + - "c2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3" + - "aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5n" + - "IHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVy" + - "IHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rp" + - "b24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBz" + - "aWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3" + - "YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3Vi" + - "ZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1" + - "ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAt" + - "biBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3ty" + - "YW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsu" + - "fXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxs" + - "bS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQt" + - "YmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRl" + - "IGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9i" + - "L21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25m" + - "aWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJl" + - "bGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1z" + - "ZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5j" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVy" + - "LXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1s" + - "bG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4p" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + - "bXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWlu" + - "LWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVj" + - "dG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + - "ZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBV" + - "SSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0" + - "IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2th" + - "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpF" + - "bmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5" + - "b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBh" + - "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCBy" + - "b3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQg" + - "aW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJv" + - "bm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBl" + - "bmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNy" + - "ZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBp" + - "ZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0" + - "ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcu" + - "LCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNy" + - "ZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZl" + - "cj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tl" + - "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1" + - "bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBu" + - "dmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFm" + - "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNl" + - "LCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBs" + - "YXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNm" + - "LXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBv" + - "bmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVj" + - "dGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + - "cmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJ" + - "IGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2Ug" + - "aXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBu" + - "ZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBg" + - "bnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwt" + - "c2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3Zl" + - "cnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAo" + - "Zm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxT" + - "ZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3Jl" + - "ZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERv" + - "IG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRy" + - "b2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8K" + - "Y29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBj" + - "aGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + - "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVu" + - "ZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVy" + - "bm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhl" + - "bG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5h" + - "bWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgoj" + - "IyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBO" + - "R0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + - "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + - "bmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3Jl" + - "YXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZv" + - "ciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNp" + - "cyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3Jl" + - "ZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9" + - "JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + - "ICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBg" + - "CgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1k" + - "b2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBL" + - "eXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpr" + - "aW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNl" + - "Y3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQt" + - "aW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAg" + - "ICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAog" + - "ICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAt" + - "ICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAg" + - "ICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgog" + - "ICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIK" + - "ICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRh" + - "ZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEu" + - "Y29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoK" + - "ICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNy" + - "ZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgoj" + - "IyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0" + - "ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxh" + - "bmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhl" + - "IHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxh" + - "bmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0" + - "aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1" + - "bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tl" + - "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + - "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3Bl" + - "cmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGlu" + - "IHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBp" + - "bWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFu" + - "ZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + - "b3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBt" + - "YW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2Vs" + - "ZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhh" + - "dCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBl" + - "Y3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3Rh" + - "dGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90" + - "YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMg" + - "RXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1z" + - "b3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3Vj" + - "Y2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hh" + - "cnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBu" + - "dmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoq" + - "QVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9u" + - "RUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4g" + - "cHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0" + - "cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRp" + - "YWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFn" + - "ZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgoj" + - "IyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoK" + - "VGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRo" + - "ZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0" + - "aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBw" + - "b2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRy" + - "b2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5u" + - "aW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1h" + - "Z2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNl" + - "Y3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhl" + - "IHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3Bh" + - "Y2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhANHlRwRKEAAAShAAABIACQAA" + - "AAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQD/" + - "dvNnU2EAAFNhAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9T" + - "S0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAA" + - "AEByAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAoRTjgV0MAABdDAAANAAJAAAAAAAAAAAAAADHgQAAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBCJ0kPBQ0AAAUNAAA3AAkAAAAAAAAAAAAAAI+OAABkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAApwAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABG2AABkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAl9sAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAQnHmHgEoAAABKAAAOgAJAAAAAAAAAAAAAADJ6gAAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAADsTAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAABzGwEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQByDQ9kISMA" + - "ACEjAAAwAAkAAAAAAAAAAAAAALw9AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + - "Y2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEApRyptU4NAABODQAAMgAJAAAA" + - "AAAAAAAAAABEYQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29k" + - "ZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAL5jPdCBNAAAgTQAALQAJAAAAAAAAAAAAAAD7" + - "bgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAPOuE4R0EQAAdBEAADcACQAAAAAAAAAAAAAAf7wBAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAABhzgEAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1Vq" + - "VkpWAABKVgAANAAJAAAAAAAAAAAAAAANMQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8o" + - "AAAvAAkAAAAAAAAAAAAAAMKHAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9l" + - "eGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAA" + - "AAAAAKewAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1" + - "MAAAtTAAADsACQAAAAAAAAAAAAAAPOECAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0K" + - "KgAACioAAEQACQAAAAAAAAAAAAAAYxIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAA6DwDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAABdFAwBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYA" + - "AAAAFwAXAK8JAACMWwMAAAA=" + "CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRl" + + "c3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJ" + + "dCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3Ry" + + "YXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + + "OwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9z" + + "aW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoK" + + "IyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBu" + + "YW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lm" + + "aWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0g" + + "cmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBk" + + "aWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1z" + + "b3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dz" + + "IGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMj" + + "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAg" + + "ICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tP" + + "ZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBw" + + "dWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoK" + + "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJl" + + "Y3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2" + + "ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1" + + "YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRo" + + "ZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoK" + + "IyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + + "bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVs" + + "bFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3Bh" + + "Y2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + + "ICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3" + + "b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4g" + + "KipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0" + + "IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMu" + + "IFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vz" + + "bid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZp" + + "Y2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCBy" + + "ZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4g" + + "KipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAg" + + "YGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNl" + + "PgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1" + + "cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBw" + + "b2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAg" + + "ICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1h" + + "cGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBg" + + "YAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1p" + + "bml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJh" + + "byBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5C" + + "YW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + + "Q2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + + "YW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRo" + + "ZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1" + + "bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5p" + + "bmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2Ug" + + "aXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRo" + + "aXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kg" + + "YW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwg" + + "ZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBz" + + "eW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVk" + + "Kio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2" + + "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAg" + + "YGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + + "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + + "dHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMg" + + "aXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5C" + + "YW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMg" + + "bW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQg" + + "b2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBj" + + "bHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVz" + + "ZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24g" + + "dGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhl" + + "CiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBg" + + "T0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBp" + + "c3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIg" + + "ZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJl" + + "LXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRp" + + "b25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1t" + + "aWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0" + + "aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1r" + + "bm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVS" + + "TCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1" + + "dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJz" + + "IHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAg" + + "ZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZh" + + "bGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoK" + + "IyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + + "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + + "LTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5k" + + "cmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3Nh" + + "bmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhh" + + "bXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNv" + + "dXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5" + + "Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2" + + "TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5W" + + "Q0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMj" + + "IEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5B" + + "TUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAg" + + "ICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + + "YGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNj" + + "cmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0g" + + "IjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mg" + + "bm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmlj" + + "aWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgoj" + + "IyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVj" + + "dG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2Rl" + + "cyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5v" + + "dCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMq" + + "KjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5v" + + "ZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgoj" + + "IyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBg" + + "YGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBg" + + "YAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2" + + "aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMg" + + "Rml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVz" + + "dCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3Vi" + + "ZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMj" + + "IEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2Vy" + + "dmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cg" + + "Ym9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJv" + + "b3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAo" + + "am9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBs" + + "b2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAw" + + "CmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6" + + "IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9h" + + "dXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5Cgog" + + "ICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lP" + + "VVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0" + + "b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJ" + + "IGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAu" + + "cmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRz" + + "IGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5j" + + "aWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNw" + + "YWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMK" + + "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWls" + + "dXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1" + + "dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdg" + + "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcg" + + "ICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoK" + + "UnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3Jt" + + "YWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBm" + + "cm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBu" + + "YW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2Vz" + + "Cmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1B" + + "IC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiAr" + + "IC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7" + + "IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250" + + "ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAi" + + "e1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQi" + + "IHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZp" + + "bmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVj" + + "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpz" + + "b24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAg" + + "IGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1y" + + "YXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9u" + + "ZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMj" + + "IyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52" + + "Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJl" + + "IG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNh" + + "LW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdo" + + "ZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0" + + "aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9u" + + "IGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUg" + + "b25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQg" + + "cG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBu" + + "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBu" + + "dmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0" + + "ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBp" + + "bgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBu" + + "dmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4g" + + "U2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3Jl" + + "dCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoK" + + "UmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0" + + "aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkg" + + "cmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9B" + + "RERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + + "YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5z" + + "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyAr" + + "c2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDov" + + "LyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNl" + + "ZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1Nl" + + "cnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5k" + + "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVw" + + "ZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBs" + + "b3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJl" + + "ZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxl" + + "Y3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJl" + + "Y292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3Bh" + + "Y2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2Vz" + + "IHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lz" + + "dGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZj" + + "ZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwg" + + "cmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8" + + "IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8" + + "IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNv" + + "bnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8" + + "ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5t" + + "ZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExh" + + "eW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwg" + + "ICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3Bl" + + "bkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2Vz" + + "ICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZh" + + "YmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlh" + + "bWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMp" + + "CnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBv" + + "dmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAg" + + "ICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9i" + + "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0" + + "cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmls" + + "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5l" + + "IGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmly" + + "b25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2" + + "YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAg" + + "ICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAg" + + "ICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + + "ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0" + + "ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJv" + + "bm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdl" + + "bmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8g" + + "bm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQg" + + "VGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFz" + + "ZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0t" + + "LS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1l" + + "c3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2" + + "YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fz" + + "c2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFz" + + "ZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJl" + + "bGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1w" + + "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + + "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlz" + + "IHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNl" + + "cnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZv" + + "Y2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNl" + + "cnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwK" + + "fCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVx" + + "dWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0" + + "ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1p" + + "bi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVs" + + "KSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3Rl" + + "bSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNl" + + "cnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVw" + + "b3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1g" + + "IGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1p" + + "c3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9j" + + "a3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + + "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + + "LS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxp" + + "dHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxh" + + "Z3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1w" + + "bGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNl" + + "ZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdz" + + "IHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVw" + + "bGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBp" + + "dCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlv" + + "dSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBi" + + "ZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rv" + + "cnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5l" + + "czoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9o" + + "ZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2Jh" + + "bC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + + "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCBy" + + "ZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + + "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUt" + + "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAj" + + "IE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAg" + + "IHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + + "YGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlh" + + "bWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBg" + + "eWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5o" + + "ZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAg" + + "dG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUg" + + "dGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0" + + "cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0" + + "IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJl" + + "ZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0t" + + "IHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28g" + + "dGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUp" + + "CjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZh" + + "bHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHBy" + + "ZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9u" + + "bWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2" + + "YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5j" + + "ZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5k" + + "cmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9u" + + "cy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5v" + + "ZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2Fu" + + "ZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFp" + + "bmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNv" + + "bnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5z" + + "dG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVj" + + "dG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1h" + + "Z2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmlt" + + "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFT" + + "dG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQ" + + "SSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9y" + + "eSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5l" + + "bnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1l" + + "bnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5j" + + "dGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0t" + + "cmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZv" + + "Y2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxl" + + "ZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVs" + + "bWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBv" + + "YnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + + "ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52" + + "Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxt" + + "OgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAg" + + "ICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBm" + + "YWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJp" + + "Y3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdl" + + "bnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Q" + + "b2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBm" + + "b3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBB" + + "UEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBz" + + "ZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNh" + + "dGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJ" + + "bnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2Vy" + + "LXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlv" + + "biBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdl" + + "ZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAg" + + "c2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBi" + + "ZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2Yt" + + "dHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3Vy" + + "ZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2Fk" + + "IEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2Nz" + + "L3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRl" + + "LgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBk" + + "ZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3" + + "b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29u" + + "ZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAg" + + "ICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxv" + + "bjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRF" + + "Ul9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMg" + + "aXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwpt" + + "dXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCBy" + + "ZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52" + + "aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNp" + + "bmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVj" + + "ZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBg" + + "YAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRy" + + "aXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4K" + + "CkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2Fy" + + "IGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVw" + + "bGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBs" + + "eSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVh" + + "dGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wg" + + "cGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + + "cGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBu" + + "dmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1F" + + "ICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91" + + "dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlv" + + "bi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9" + + "PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBw" + + "bGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0t" + + "cXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBi" + + "ZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9n" + + "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rhcmdh" + + "dGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2Vs" + + "ZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5" + + "IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5" + + "IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMK" + + "CiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxl" + + "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2Ut" + + "Z3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQ" + + "SwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEA" + + "ps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + + "bmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZh" + + "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFk" + + "ZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVl" + + "ZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5j" + + "bHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + + "dWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50" + + "aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBh" + + "ZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlh" + + "bWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFt" + + "ZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBh" + + "biBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0" + + "cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJv" + + "bSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9L" + + "RVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + + "ci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAt" + + "LW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21h" + + "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5" + + "IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNs" + + "dWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNl" + + "IGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMg" + + "VmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBh" + + "bmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1" + + "YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0" + + "OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBg" + + "CgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0" + + "aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0" + + "cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRp" + + "bmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxs" + + "IFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2Vz" + + "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1" + + "YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1w" + + "bGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVp" + + "ciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxp" + + "c3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8g" + + "dG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9u" + + "IHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3Jl" + + "dCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMg" + + "S3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpg" + + "YGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5" + + "dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZl" + + "cm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxs" + + "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + + "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + + "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxh" + + "Y2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXIt" + + "cGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAph" + + "cGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAg" + + "bmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNl" + + "CiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAg" + + "ICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAg" + + "a2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAg" + + "ICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMi" + + "CiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAg" + + "ICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAg" + + "ICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJh" + + "dGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoK" + + "ICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + + "OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgog" + + "ICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVs" + + "bHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5l" + + "CgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBp" + + "bgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBu" + + "ZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1w" + + "bGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9u" + + "bHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + + "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + + "IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52" + + "Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBp" + + "biBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAu" + + "IERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBG" + + "b2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmlj" + + "YXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBp" + + "bmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVj" + + "LmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoK" + + "IyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8g" + + "anNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2Vw" + + "dWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxs" + + "IGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZl" + + "bnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAg" + + "LWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1" + + "dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1" + + "dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + + "c2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNl" + + "Y3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjog" + + "SWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJ" + + "QU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQg" + + "c2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQu" + + "Ci0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdp" + + "c3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vydmlj" + + "ZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tP" + + "ZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3Rz" + + "IHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1" + + "Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgoj" + + "IyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5v" + + "CiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGlu" + + "ZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "Y2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVB" + + "RFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNl" + + "cyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3Qg" + + "bmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2Vj" + + "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAU" + + "AAgAAAAAACEA4GqXrEoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29u" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "AEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwA" + + "AF0MAAA0AAkAAAAAAAAAAAAAAMeBAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxl" + + "cy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcA" + + "CQAAAAAAAAAAAAAAj44AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNv" + + "bXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAA" + + "AAAAAAAAAAACnAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5k" + + "LXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAA" + + "AAAAAAAAEbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1p" + + "bnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAA" + + "AACX2wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQt" + + "aW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAA" + + "AAAAAMnqAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1z" + + "Y3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAA" + + "AAAAOxMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXIt" + + "andrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAA" + + "AHMbAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAvD0BAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQB2OsNv/g0AAP4NAAAyAAkAAAAAAAAAAAAAAERhAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAv" + + "mM90IE0AACBNAAAtAAkAAAAAAAAAAAAAAKtvAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + + "ZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEACP3YyqoaAACqGgAANwAJ" + + "AAAAAAAAAAAAAAAvvQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3Vi" + + "bGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAA" + + "AAAAAAAAAEfYAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAPM6AgBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAqJECAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAjboCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAAi6wIAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAABJHAMAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + + "cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAADO" + + "RgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVp" + + "LWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAA" + + "AAAA/U4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAHJlAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index a517ecdf31..e2984e3eb8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -381,6 +381,11 @@ type RoleConfig struct { // so the check follows the stack instead of drifting from it. StackDir string + // StackEnv is the helmfile environment whose values file, layered over + // StackDir's environments/base.yaml, decides which gated releases the + // stack installs, and so which of their namespaces are probed. + StackEnv string + // ExtraStaleNamespaces are merged into this role's stale-namespace scan. // In ModeSingle both roles share one cluster, so only one of them runs the // probe to avoid emitting the same check ID twice; the other role's @@ -565,7 +570,7 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { if rc.StaleNamespaceProber != nil { cat.checks = append(cat.checks, staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, - mergeNamespaces(resolveStackNamespaces(rc.StackDir, nvcfControlPlaneNamespaces), + mergeNamespaces(resolveStackNamespaces(rc.StackDir, rc.StackEnv, nvcfControlPlaneNamespaces), rc.ExtraStaleNamespaces))) } // Containerized cluster-validator probe for control-plane checks @@ -592,7 +597,7 @@ func computePlaneCheckCategory(rc RoleConfig) categorySpec { if rc.StaleNamespaceProber != nil { cat.checks = append(cat.checks, staleNamespaceCheck(rc.StaleNamespaceProber, rc.KubeContext, - mergeNamespaces(resolveStackNamespaces(rc.StackDir, nvcfComputePlaneNamespaces), + mergeNamespaces(resolveStackNamespaces(rc.StackDir, rc.StackEnv, nvcfComputePlaneNamespaces), rc.ExtraStaleNamespaces))) } if rc.SISURL != "" { @@ -1171,17 +1176,14 @@ func registryCredentialCheck( } } -// mergeNamespaces returns the union of two namespace lists, order-stable and -// de-duplicated. -func mergeNamespaces(base, extra []string) []string { - if len(extra) == 0 { - return base - } - seen := make(map[string]bool, len(base)+len(extra)) - out := make([]string, 0, len(base)+len(extra)) - for _, list := range [][]string{base, extra} { +// mergeNamespaces returns the union of namespace lists, order-stable and +// de-duplicated, without the namespaces NVCA creates at runtime. +func mergeNamespaces(lists ...[]string) []string { + var out []string + seen := make(map[string]bool) + for _, list := range lists { for _, ns := range list { - if ns == "" || seen[ns] { + if ns == "" || seen[ns] || runtimeOwnedNamespaces[ns] { continue } seen[ns] = true @@ -1191,124 +1193,143 @@ func mergeNamespaces(base, extra []string) []string { return out } -// staleNamespaceCheck detects NVCF namespaces stuck Terminating or left as -// empty shells after a partial teardown. Severity is error; prober errors -// degrade to warning so transient kubeconfig issues don't falsely fail. +// staleNamespaceCheck detects NVCF namespaces stuck Terminating, holding a +// Helm release left mid-operation, or left holding install data after a +// partial teardown. Only a namespace stuck Terminating is an error; the +// others, and a probe that could not read the cluster, are warnings. func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namespaces []string) binaryCheckSpec { const id = "stale-namespaces" return binaryCheckSpec{ ID: id, HumanLabel: "checking for stale NVCF namespaces...", Run: func(ctx context.Context) CheckResult { - r := CheckResult{ID: id, Severity: SeverityError} + r := CheckResult{ID: id, Severity: SeverityWarning} // Resolve the context before probing, then probe that exact name. // Resolving afterwards leaves a window where the current-context - // changes in between, which would have the hints delete namespaces - // in a cluster other than the one that was read. + // changes in between, which would have the hints act on a + // cluster other than the one that was read. probedContext := effectiveKubeContext(kubeContext) stale, err := prober(ctx, probedContext, namespaces) var unreachable *ClusterUnreachableError if errors.As(err, &unreachable) { // Nothing about this cluster was checked, so nothing passes. + r.Severity = SeverityError r.Message = unreachable.Error() r.Err = err return r } - if err != nil { - r.Severity = SeverityWarning - r.Message = "stale namespace probe failed: " + err.Error() - r.Err = err - return r - } + // The error reaches the result even beside findings, so a budget + // that ran out mid-scan is graded as cut short rather than clean. + r.Err = err if len(stale) == 0 { + if err != nil { + r.Message = "stale namespace probe failed: " + err.Error() + return r + } r.Severity = SeverityInfo r.Passed = true r.Message = "no stale NVCF namespaces detected" return r } - parts := make([]string, 0, len(stale)) - var terminating, emptyShell []string - for _, ns := range stale { - parts = append(parts, ns.Name+" ("+ns.Reason+")") - if ns.Reason == "stuck Terminating" { - terminating = append(terminating, ns.Name) - } else { - emptyShell = append(emptyShell, ns.Name) - } - } // Every hint names the context that was actually probed, above. // In split mode the two callers pass different contexts, and with // no context flag the probe followed the current-context. Either - // way the name goes into the command, because these hints delete - // namespaces and the current-context can change between reading - // the output and pasting it. + // way the name goes into the command, because the current-context + // can change between reading the output and pasting it. kctl := "kubectl" + kubectlContextArg(probedContext) + parts := make([]string, 0, len(stale)) var hints []string - if len(terminating) > 0 { - // Inspect first, force last. A namespace usually stays - // Terminating because an object inside it still has a - // finalizer; clearing the namespace's own finalizers skips that - // object's cleanup and can orphan what it manages, such as a - // cloud load balancer or volume. - // One command per namespace with the real name substituted. A - // `` placeholder is not pasteable: the shell reads `<` and - // `>` as redirection, so the command fails before kubectl runs. - for _, ns := range terminating { - hints = append(hints, fmt.Sprintf( - "find what is holding %s in Terminating: "+ - "%s api-resources --verbs=list --namespaced -o name | "+ - "xargs -n1 %s get -n %s --show-kind --ignore-not-found", - ns, kctl, kctl, ns)) - } - // spec.finalizers is writable only through the /finalize - // subresource: a plain patch or update is silently reverted by - // the apiserver's namespace strategy, so `kubectl patch ... - // --type=merge` prints "patched" and changes nothing. - for _, ns := range terminating { - hints = append(hints, fmt.Sprintf( - "only if nothing inside %s can be cleaned up, force-clear its finalizers: %s get ns %s -o json | "+ - "jq '.spec.finalizers=[]' | %s replace --raw /api/v1/namespaces/%s/finalize -f -", - ns, kctl, ns, kctl, ns)) + for _, ns := range stale { + part := ns.Name + " (" + ns.Reason + if ns.Detail != "" { + part += ": " + ns.Detail } - } - if len(emptyShell) > 0 { - // Deliberately not a delete command. A namespace with no Helm - // release is not necessarily stale: the stack gates - // cert-manager, NATS, OpenBao and Cassandra on *.enabled, so an - // operator who installs one the documented upstream way, or via - // Argo, owns a healthy namespace with no owner=helm object. - // Handing them "kubectl delete namespace cert-manager" would - // destroy every Certificate and Issuer in the cluster. - // One command per namespace. kubectl takes a single - // namespace and keeps the last -n it sees, so joining them - // produces a command that silently inspects only the last one - // and reports the rest as empty, which is the opposite of what - // an operator deciding whether to delete them needs. - // Enumerate every namespaced kind, not `get all`: that omits - // PVCs, Secrets, ConfigMaps and custom resources, so after a - // partial teardown it reports "No resources found" over the - // Cassandra volumes and the OpenBao unseal Secret. - for _, ns := range emptyShell { - hints = append(hints, fmt.Sprintf( - "inspect %s and remove it only after confirming it is unused: "+ - "%s api-resources --verbs=list --namespaced -o name | "+ - "xargs -n1 %s get -n %s --show-kind --ignore-not-found", - ns, kctl, kctl, ns)) + parts = append(parts, part+")") + switch ns.Reason { + case StaleStuckTerminating: + // Positive evidence found before a later read failed + // still blocks the run. + r.Severity = SeverityError + case StaleTerminating: + // A normal deletion finishes by itself; --wait polls it. + r.Transient = true } + hints = append(hints, staleNamespaceHints(ns, kctl, probedContext)...) } - // Only a namespace stuck Terminating blocks the run. "No Helm - // release" is a heuristic over a conditionally-installed stack, so - // it warns rather than turning a supported install shape into exit 2. - if len(terminating) == 0 { - r.Severity = SeverityWarning - } - r.Message = fmt.Sprintf("%d stale namespace(s) detected: %s. To resolve: %s", + r.Message = fmt.Sprintf("%d stale namespace(s) detected: %s. %s", len(stale), strings.Join(parts, ", "), strings.Join(hints, "; ")) + if err != nil { + r.Message += ". Additionally could not probe: " + err.Error() + } + r.Transient = r.Transient && r.Severity == SeverityWarning return r }, } } +// staleNamespaceHints returns the commands for one reported namespace, one +// per namespace with the real name substituted. A `` placeholder is not +// pasteable: the shell reads `<` and `>` as redirection. kubectl also keeps +// only the last -n it sees, so a joined command inspects only one namespace. +// +// Every kind is enumerated, not `get all`: that omits PVCs, Secrets, +// ConfigMaps and custom resources, so after a partial teardown it reports +// "No resources found" over the Cassandra volumes and the OpenBao unseal +// Secret. +func staleNamespaceHints(ns StaleNamespace, kctl, kubeContext string) []string { + inspect := fmt.Sprintf("%s api-resources --verbs=list --namespaced -o name | "+ + "xargs -n1 %s get -n %s --show-kind --ignore-not-found", kctl, kctl, ns.Name) + conditions := fmt.Sprintf("%s get ns %s -o jsonpath='{.status.conditions}'", kctl, ns.Name) + switch ns.Reason { + case StaleStuckTerminating: + // Inspect first, force last. A namespace usually stays Terminating + // because an object inside it still has a finalizer; clearing the + // namespace's own finalizers skips that object's cleanup and can + // orphan what it manages, such as a cloud load balancer or volume. + // spec.finalizers is writable only through the /finalize + // subresource: a plain patch is silently reverted by the + // apiserver's namespace strategy. + return []string{ + fmt.Sprintf("see why %s is held in Terminating: %s", ns.Name, conditions), + fmt.Sprintf("find what is holding %s in Terminating: %s", ns.Name, inspect), + fmt.Sprintf("only if nothing inside %s can be cleaned up, force-clear its finalizers: "+ + "%s get ns %s -o json | jq '.spec.finalizers=[]' | "+ + "%s replace --raw /api/v1/namespaces/%s/finalize -f -", + ns.Name, kctl, ns.Name, kctl, ns.Name), + } + case StaleTerminating: + return []string{fmt.Sprintf("%s is still being deleted; rerun the check once it is gone, "+ + "or see what it is waiting on: %s", ns.Name, conditions)} + case StaleReleaseMidOperation: + // An install or teardown still running leaves the same records, so + // the hint reads the history before anything is changed. + helm := "helm" + helmContextArg(kubeContext) + var hints []string + for _, release := range ns.Releases { + hints = append(hints, fmt.Sprintf("if no install or teardown is running, read the history of %s "+ + "with %s history %s -n %s, then finish it with helm rollback or helm uninstall", + release, helm, release, ns.Name)) + } + return hints + default: + // An observation, not a remediation. A namespace with no Helm + // release is not necessarily stale: an operator who installs a + // gated component the documented upstream way, or via Argo, owns a + // healthy namespace with no owner=helm object. + return []string{fmt.Sprintf("%s holds volume claims or workload objects but no Helm release; inspect: %s", + ns.Name, inspect)} + } +} + +// helmContextArg renders the probed context as a --kube-context flag, or "" +// when no explicit context was given. +func helmContextArg(kubeContext string) string { + if kubeContext == "" { + return "" + } + return " --kube-context " + shellQuoteArg(kubeContext) +} + // kubectlContextArg renders the probed context as a --context flag for the // remediation hints, or "" when no explicit context was given so the hint stays // readable for a single-cluster setup. The value is shell-quoted: a context @@ -1531,10 +1552,10 @@ func RunPreflight(ctx context.Context, cfg PreflightConfig) []CheckResult { // ControlPlaneStaleNamespaces and ComputePlaneStaleNamespaces expose each // role's stale-namespace list so the cmd layer can merge the two when a single // cluster hosts both roles and only one probe runs. -func ControlPlaneStaleNamespaces(stackDir string) []string { - return resolveStackNamespaces(stackDir, nvcfControlPlaneNamespaces) +func ControlPlaneStaleNamespaces(stackDir, env string) []string { + return resolveStackNamespaces(stackDir, env, nvcfControlPlaneNamespaces) } -func ComputePlaneStaleNamespaces(stackDir string) []string { - return resolveStackNamespaces(stackDir, nvcfComputePlaneNamespaces) +func ComputePlaneStaleNamespaces(stackDir, env string) []string { + return resolveStackNamespaces(stackDir, env, nvcfComputePlaneNamespaces) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index eb10401f3a..0d85953b02 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -687,7 +687,7 @@ func TestStaleNamespaceCheck_MergesTheOtherRolesNamespaces(t *testing.T) { } rc := RoleConfig{ StaleNamespaceProber: prober, - ExtraStaleNamespaces: ComputePlaneStaleNamespaces(""), + ExtraStaleNamespaces: ComputePlaneStaleNamespaces("", ""), } cat := controlPlaneCheckCategory(rc) require.NotEmpty(t, cat.checks) @@ -696,15 +696,15 @@ func TestStaleNamespaceCheck_MergesTheOtherRolesNamespaces(t *testing.T) { for _, ns := range []string{"nvcf", "vault-system"} { assert.Contains(t, probed, ns, "the control-plane list must still be covered") } - for _, ns := range []string{"nvca-operator", "kai-scheduler"} { - assert.Contains(t, probed, ns, "the compute-plane list must be merged in, not dropped") - } + assert.Contains(t, probed, "nvca-operator", "the compute-plane list must be merged in, not dropped") } func TestMergeNamespaces_DedupesAndKeepsOrder(t *testing.T) { got := mergeNamespaces([]string{"a", "b"}, []string{"b", "c", ""}) assert.Equal(t, []string{"a", "b", "c"}, got) assert.Nil(t, mergeNamespaces(nil, nil)) + assert.Equal(t, []string{"a"}, mergeNamespaces([]string{"nvcf-backend", "a"}, []string{"nvca-system"}), + "namespaces NVCA creates at runtime hold live work and are never probed") } // Every count derives from one rule: only an error-severity miss fails; any diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index bd61d2e765..e2dd4de61a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -408,20 +408,7 @@ type StackValues struct { // the way helmfile layers an environment file over base.yaml. Unreadable or // malformed files are skipped. func LoadStackValues(files []string) StackValues { - merged := map[string]any{} - found := false - for _, path := range files { - data, err := os.ReadFile(path) - if err != nil { - continue - } - var doc map[string]any - if err := yaml.Unmarshal(data, &doc); err != nil { - continue - } - found = true - mergeValues(merged, doc) - } + merged, found := loadValuesFiles(files) return StackValues{ Found: found, ImageRegistry: digString(merged, "global", "image", "registry"), @@ -514,6 +501,26 @@ func stackGateways(merged map[string]any) []string { return out } +// loadValuesFiles layers files in order and reports whether any was read. +// Unreadable or malformed files are skipped. +func loadValuesFiles(files []string) (map[string]any, bool) { + merged := map[string]any{} + found := false + for _, path := range files { + data, err := os.ReadFile(path) + if err != nil { + continue + } + var doc map[string]any + if err := yaml.Unmarshal(data, &doc); err != nil { + continue + } + found = true + mergeValues(merged, doc) + } + return merged, found +} + // mergeValues deep-merges src into dst: maps merge key by key, anything else // in src replaces what dst held. func mergeValues(dst, src map[string]any) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go index a6bf51426d..42eb23a293 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces.go @@ -21,35 +21,135 @@ import ( "os" "path/filepath" "regexp" + "slices" "sort" "strings" ) -// helmfileNamespaceRE matches a literal `namespace: ` declaration on a -// helmfile release entry. -// -// Two deliberate restrictions, because a false positive here becomes a -// "delete this namespace" remediation: -// -// - Indentation is capped at 4 spaces, the release-entry level. Keys nested -// inside a release's `values:` block sit at 6 or more and must not be read -// as release namespaces. -// - The value must be a bare DNS label. A value containing a Go template -// action is operator-configurable (the gateway controller namespace is -// one), so its rendered value is not knowable from the source. -var helmfileNamespaceRE = regexp.MustCompile(`(?m)^ {0,4}namespace:\s*([a-z0-9][a-z0-9.-]*)\s*$`) +// stackNamespace is a namespace stack releases deploy into. gates are the +// values keys of the condition: on those releases; none when one of them +// always installs. on is the default the stack's environments/base.yaml gives +// them, used only when the stack's values set none of the gates. +type stackNamespace struct { + name string + gates []string + on bool +} + +// deployed reports whether the stack installs a release into the namespace, +// given its layered values. +func (n stackNamespace) deployed(values map[string]any) bool { + if len(n.gates) == 0 { + return true + } + set := false + for _, gate := range n.gates { + v, ok := digAny(values, strings.Split(gate, ".")...).(bool) + if v { + return true + } + set = set || ok + } + return !set && n.on +} + +// runtimeOwnedNamespaces are created at runtime by NVCA rather than by a +// stack release, and hold live work. No stack list may probe them, whatever a +// helmfile declares. +var runtimeOwnedNamespaces = map[string]bool{"nvcf-backend": true, "nvca-system": true} + +var ( + // releaseItemRE matches the line that opens a list entry at the release + // level, capturing the rest of the line as the entry's first key. + releaseItemRE = regexp.MustCompile(`^ {0,2}- (.*)$`) + + // releaseKeyRE matches a release-level key. Indentation is capped at 4 + // spaces: keys nested inside a release's values: block sit at 6 or more + // and are chart configuration, not the release's own namespace. + releaseKeyRE = regexp.MustCompile(`^ {0,4}(namespace|condition|installed):\s*(.*?)\s*$`) + + // literalNamespaceRE accepts only a bare DNS label. A value containing a + // Go template action is operator-configurable (the gateway controller + // namespace is one), so its rendered value is not knowable from the + // source. + literalNamespaceRE = regexp.MustCompile(`^[a-z0-9][a-z0-9.-]*$`) + + // conditionRE is a values path such as addons.kaiScheduler.enabled, + // optionally followed by a comment. + conditionRE = regexp.MustCompile(`^([A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)+)\s*(?:#.*)?$`) + + templateOpenRE = regexp.MustCompile(`\{\{-?\s*(?:if|with|range)\b`) + templateCloseRE = regexp.MustCompile(`\{\{-?\s*end\b`) +) + +// helmfileRelease is what the stack check reads from one release entry. +// opaque is set when its gate cannot be read from the source: the entry sits +// inside a template block, or its condition: or installed: is templated. +type helmfileRelease struct { + namespace string + condition string + disabled bool + opaque bool +} + +// helmfileReleases reads the release entries of one helmfile fragment. +func helmfileReleases(body string) []helmfileRelease { + var out []helmfileRelease + depth := 0 + for _, line := range strings.Split(body, "\n") { + if m := releaseItemRE.FindStringSubmatch(line); m != nil { + out = append(out, helmfileRelease{opaque: depth > 0}) + line = " " + m[1] + } + depth += len(templateOpenRE.FindAllString(line, -1)) - len(templateCloseRE.FindAllString(line, -1)) + if len(out) == 0 { + continue + } + cur := &out[len(out)-1] + m := releaseKeyRE.FindStringSubmatch(line) + if m == nil { + continue + } + switch value := strings.Trim(m[2], `"'`); m[1] { + case "namespace": + if literalNamespaceRE.MatchString(value) { + cur.namespace = value + } + case "condition": + if c := conditionRE.FindStringSubmatch(value); c != nil { + cur.condition = c[1] + } else { + cur.opaque = true + } + case "installed": + switch value { + case "true": + case "false": + cur.disabled = true + default: + cur.opaque = true + } + } + } + return out +} // stackReleaseNamespaces returns the namespaces that helmfile releases deploy -// into for the stack rooted at stackDir, or nil when the stack is not readable. +// into for the stack rooted at stackDir, each with the conditions that gate +// it, or nil when the stack is not readable. +// +// This is the authoritative answer to "which namespaces does the stack own": +// a hardcoded list that drifts either misses a real leftover or names a +// namespace the stack does not own. // -// This is the authoritative answer to "which namespaces does the stack own", -// which matters because the stale-namespace check's remediation is to delete -// them: a hardcoded list that drifts either misses a real leftover or, worse, -// names a namespace the stack does not own. +// A release whose gate cannot be read from the source (a template block +// around it, a templated condition: or installed:) is left out, as is one +// installed: false. Only a namespace the stack is known to deploy into may +// fail the check. // // Callers fall back to the static list when this returns nil, which is the // normal case for a released binary with no stack checkout alongside it. -func stackReleaseNamespaces(stackDir string) []string { +func stackReleaseNamespaces(stackDir string) []stackNamespace { if stackDir == "" { return nil } @@ -66,7 +166,8 @@ func stackReleaseNamespaces(stackDir string) []string { return nil } - seen := make(map[string]bool) + gates := make(map[string][]string) + always := make(map[string]bool) for _, path := range entries { body, err := os.ReadFile(path) if err != nil { @@ -78,30 +179,60 @@ func stackReleaseNamespaces(stackDir string) []string { // into an affirmative all-clear. return nil } - for _, m := range helmfileNamespaceRE.FindAllStringSubmatch(string(body), -1) { - if ns := strings.TrimSpace(m[1]); ns != "" { - seen[ns] = true + for _, r := range helmfileReleases(string(body)) { + if r.namespace == "" || r.opaque || r.disabled { + continue + } + if r.condition == "" { + always[r.namespace] = true + } else if !slices.Contains(gates[r.namespace], r.condition) { + gates[r.namespace] = append(gates[r.namespace], r.condition) } } } - if len(seen) == 0 { - return nil - } - out := make([]string, 0, len(seen)) - for ns := range seen { - out = append(out, ns) + var out []stackNamespace + for ns := range always { + out = append(out, stackNamespace{name: ns}) } - sort.Strings(out) + for ns, g := range gates { + if !always[ns] { + sort.Strings(g) + out = append(out, stackNamespace{name: ns, gates: g}) + } + } + sort.Slice(out, func(i, j int) bool { return out[i].name < out[j].name }) return out } -// resolveStackNamespaces returns the namespaces to probe for the given plane. -// It prefers what the stack actually declares and falls back to the static -// list when no stack is available. -func resolveStackNamespaces(stackDir string, fallback []string) []string { +// stackValues layers the stack's environments/base.yaml and the environment's +// own file the way helmfile does. It reports false when neither was read. +func stackValues(stackDir, env string) (map[string]any, bool) { + if stackDir == "" { + return nil, false + } + files := []string{filepath.Join(stackDir, "environments", "base.yaml")} + if env != "" { + files = append(files, filepath.Join(stackDir, "environments", env+".yaml")) + } + return loadValuesFiles(files) +} + +// resolveStackNamespaces returns the namespaces to probe for the given plane: +// those the static list and the stack's own helmfile.d deploy into, given the +// gates the stack's values for env set. +func resolveStackNamespaces(stackDir, env string, static []stackNamespace) []string { + values, _ := stackValues(stackDir, env) + var out []string // Union, not replace. The derived list follows the stack, but it cannot see // namespaces behind a helmfiles: include, so on its own it can still be // short. Merging keeps the static list as a floor. - return mergeNamespaces(fallback, stackReleaseNamespaces(stackDir)) + for _, list := range [][]stackNamespace{static, stackReleaseNamespaces(stackDir)} { + for _, ns := range list { + if ns.deployed(values) { + out = append(out, ns.name) + } + } + } + return mergeNamespaces(out) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go index 236e0102fd..2c0db7a53a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go @@ -20,6 +20,7 @@ package selfhosted import ( "os" "path/filepath" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -56,7 +57,7 @@ releases: `, }) - got := stackReleaseNamespaces(dir) + got := namespaceNames(stackReleaseNamespaces(dir)) assert.Equal(t, []string{"cert-manager", "nats-system", "nvcf", "nvcf-ui"}, got, "namespaces must come from the stack, de-duplicated and sorted") } @@ -75,16 +76,17 @@ releases: `, }) - got := stackReleaseNamespaces(dir) + got := namespaceNames(stackReleaseNamespaces(dir)) assert.Equal(t, []string{"nvcf"}, got, "a templated namespace must not be probed") } func TestResolveStackNamespaces_FallsBackWhenNoStack(t *testing.T) { - fallback := []string{"nvcf", "sis"} + fallback := []stackNamespace{{name: "nvcf"}, {name: "sis"}} + want := []string{"nvcf", "sis"} - assert.Equal(t, fallback, resolveStackNamespaces("", fallback), + assert.Equal(t, want, resolveStackNamespaces("", "", fallback), "no stack path must use the static list") - assert.Equal(t, fallback, resolveStackNamespaces(t.TempDir(), fallback), + assert.Equal(t, want, resolveStackNamespaces(t.TempDir(), "local", fallback), "a directory with no helmfile.d must use the static list") } @@ -95,7 +97,7 @@ func TestResolveStackNamespaces_UnionsStackWithStatic(t *testing.T) { dir := writeStack(t, map[string]string{ "01.yaml.gotmpl": "releases:\n - name: a\n namespace: from-stack\n", }) - got := resolveStackNamespaces(dir, []string{"static"}) + got := resolveStackNamespaces(dir, "", []stackNamespace{{name: "static"}}) assert.Contains(t, got, "from-stack", "the stack's namespaces must be picked up") assert.Contains(t, got, "static", "the static list must remain a floor") } @@ -125,7 +127,7 @@ func TestStackReleaseNamespaces_ReadsPlainYAMLFragments(t *testing.T) { dir := writeStack(t, map[string]string{ "01.yaml": "releases:\n - name: a\n namespace: plain-yaml\n", }) - assert.Contains(t, stackReleaseNamespaces(dir), "plain-yaml") + assert.Contains(t, namespaceNames(stackReleaseNamespaces(dir)), "plain-yaml") } // A `namespace:` key nested inside a release's values block is chart @@ -145,7 +147,148 @@ releases: `, }) - got := stackReleaseNamespaces(dir) + got := namespaceNames(stackReleaseNamespaces(dir)) assert.Equal(t, []string{"nvcf"}, got, "only release-level namespaces may be probed; nested values keys must be ignored") } + +// writeEnv adds environments/ to a stack laid out by writeStack. +func writeEnv(t *testing.T, dir, name, body string) { + t.Helper() + envDir := filepath.Join(dir, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, name), []byte(body), 0o600)) +} + +// Keys from 5 spaces in sit inside a release's values: and are chart +// configuration; 4 is the release level. +func TestStackReleaseNamespaces_IndentCap(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml.gotmpl": "releases:\n - name: a\n namespace: four\n" + + " - name: b\n namespace: five\n - name: c\n namespace: six\n", + }) + assert.Equal(t, []string{"four"}, namespaceNames(stackReleaseNamespaces(dir))) +} + +// A release behind a condition: deploys its namespace only when the stack's +// values turn it on. Without that, a default-off addon namespace the stack +// never installs, such as a platform team's own kai-scheduler, fails the run. +func TestResolveStackNamespaces_FollowsReleaseConditions(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml.gotmpl": ` +releases: + - name: kai-scheduler + condition: addons.kaiScheduler.enabled + namespace: kai-scheduler + - name: nvca-operator + namespace: nvca-operator + - name: grove-operator + condition: addons.groveOperator.enabled # comment + namespace: grove-system +`, + }) + writeEnv(t, dir, "base.yaml", + "addons:\n kaiScheduler:\n enabled: false\n groveOperator:\n enabled: false\n") + assert.Equal(t, []string{"nvca-operator"}, resolveStackNamespaces(dir, "prod", nil), + "base.yaml alone keeps the addons off") + + writeEnv(t, dir, "prod.yaml", "addons:\n kaiScheduler:\n enabled: true\n") + assert.Equal(t, []string{"kai-scheduler", "nvca-operator"}, resolveStackNamespaces(dir, "prod", nil), + "the environment file layered over base.yaml turns kai-scheduler on") + assert.Equal(t, []string{"nvca-operator"}, resolveStackNamespaces(dir, "staging", nil), + "another environment's file does not count") +} + +// The static lists follow the same gates: the default when the stack is not +// readable, the stack's values when it is. +func TestResolveStackNamespaces_GatesTheStaticList(t *testing.T) { + assert.Equal(t, []string{"nvca-operator"}, ComputePlaneStaleNamespaces("", ""), + "the scheduling addons are off by default") + cp := ControlPlaneStaleNamespaces("", "") + assert.Contains(t, cp, "cassandra-system", "default-on gates keep their namespace") + assert.NotContains(t, cp, "nvcf-ui", "the UI addon is off by default") + + dir := t.TempDir() + writeEnv(t, dir, "base.yaml", "cassandra:\n enabled: true\naddons:\n kaiScheduler:\n enabled: false\n") + writeEnv(t, dir, "prod.yaml", "cassandra:\n enabled: false\naddons:\n kaiScheduler:\n enabled: true\n") + assert.NotContains(t, ControlPlaneStaleNamespaces(dir, "prod"), "cassandra-system", + "an external Cassandra's namespace is not the stack's") + assert.Contains(t, ComputePlaneStaleNamespaces(dir, "prod"), "kai-scheduler") + assert.NotContains(t, ComputePlaneStaleNamespaces(dir, "prod"), "grove-system") +} + +// A release whose gate cannot be read from the source is not proof the stack +// installs into its namespace; installed: false is proof it does not. +func TestStackReleaseNamespaces_SkipsUnreadableGates(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml.gotmpl": ` +releases: + - name: always + namespace: always +{{- if $managedIssuer }} + - name: in-template + namespace: in-template + needs: +{{- if dig "x" "enabled" true .Values }} + - a/b +{{- end }} +{{- end }} + - name: after-template + namespace: after-template + - name: templated-installed + installed: {{ and $a $b }} + namespace: templated-installed + - name: not-installed + installed: false + namespace: not-installed + - name: installed + installed: true + namespace: installed +`, + }) + assert.Equal(t, []string{"after-template", "always", "installed"}, + namespaceNames(stackReleaseNamespaces(dir))) +} + +// No helmfile declaration can put a namespace NVCA creates at runtime on the +// list: it holds live work. +func TestResolveStackNamespaces_NeverProbesRuntimeOwnedNamespaces(t *testing.T) { + dir := writeStack(t, map[string]string{ + "01.yaml.gotmpl": "releases:\n - name: a\n namespace: nvcf-backend\n" + + " - name: b\n namespace: nvca-system\n", + }) + assert.Empty(t, resolveStackNamespaces(dir, "", nil)) +} + +// The static lists are what a released binary probes with no stack checkout, +// so they must agree with the stacks: the same namespaces, gated by the same +// conditions, with base.yaml's defaults. +func TestStaticNamespaces_MatchTheStacks(t *testing.T) { + root := filepath.Join("..", "..", "..", "..", "..", "deploy", "stacks") + if _, err := os.Stat(root); err != nil { + t.Skipf("deploy/stacks not reachable from the test's working directory: %v", err) + } + for stack, static := range map[string][]stackNamespace{ + "self-managed": nvcfControlPlaneNamespaces, + "nvcf-compute-plane": nvcfComputePlaneNamespaces, + } { + dir := filepath.Join(root, stack) + derived := stackReleaseNamespaces(dir) + require.NotEmpty(t, derived, stack) + base, found := loadValuesFiles([]string{filepath.Join(dir, "environments", "base.yaml")}) + require.True(t, found, stack) + + want := make(map[string]stackNamespace, len(derived)) + for _, ns := range derived { + want[ns.name] = ns + } + assert.ElementsMatch(t, namespaceNames(derived), namespaceNames(static), stack) + for _, ns := range static { + assert.Equal(t, want[ns.name].gates, ns.gates, "%s: %s", stack, ns.name) + for _, gate := range ns.gates { + on, _ := digAny(base, strings.Split(gate, ".")...).(bool) + assert.Equal(t, on, ns.on, "%s: %s default", stack, ns.name) + } + } + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 8c02b1282b..9b66b28142 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -21,7 +21,9 @@ import ( "context" "fmt" "os" + "slices" "strings" + "time" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -30,42 +32,79 @@ import ( ) // nvcfControlPlaneNamespaces lists namespaces that a helmfile release deploys -// into on the control-plane cluster, per deploy/stacks/self-managed/helmfile.d. +// into on the control-plane cluster, per deploy/stacks/self-managed/helmfile.d, +// with the condition: that gates their releases and its base.yaml default. // Any of these that exist without an active Helm release, or that are stuck // Terminating, are leftover from a failed or partial teardown. // -// Only namespaces that actually host a release belong here: the remediation for -// a hit is "delete this namespace", so a namespace populated by something other -// than Helm (nvcf-backend, created at runtime by NVCA for worker pods) would be -// reported stale on a healthy cluster and deleting it would destroy live work. +// Only namespaces that actually host a release belong here: a namespace +// populated by something other than Helm (nvcf-backend, created at runtime by +// NVCA for worker pods) would be reported on a healthy cluster. // // The gateway controller namespace is deliberately absent: the release templates // it from .Values.ingress.gatewayApi.controllerNamespace, so hardcoding // envoy-gateway-system would probe a namespace the stack may not own. -var nvcfControlPlaneNamespaces = []string{ - "api-keys", "cassandra-system", "cert-manager", "ess", - "nats-system", "nvcf", "nvcf-ui", "sis", "vault-system", +// TestStaticNamespaces_MatchTheStacks pins this list to the stack. +var nvcfControlPlaneNamespaces = []stackNamespace{ + {name: "api-keys"}, + {name: "cassandra-system", gates: []string{"cassandra.enabled"}, on: true}, + {name: "cert-manager", gates: []string{"certManager.enabled"}, on: true}, + {name: "ess"}, + {name: "nats-system"}, + {name: "nvcf"}, + {name: "nvcf-ui", gates: []string{"addons.nvcfUi.enabled"}}, + {name: "sis", gates: []string{"icms.enabled"}, on: true}, + {name: "vault-system", gates: []string{"openbao.enabled"}, on: true}, } // nvcfComputePlaneNamespaces lists namespaces that a helmfile release deploys // into on the compute-plane cluster, per // deploy/stacks/nvcf-compute-plane/helmfile.d. nvca-system is deliberately -// absent: it is operator-created and hosts no release. -var nvcfComputePlaneNamespaces = []string{ - "dynamo-system", "grove-system", "kai-scheduler", "nvca-operator", +// absent: it is operator-created and hosts no release. The scheduling addons +// are off by default, so their namespaces are probed only when the stack's +// values turn them on: a platform team's own KAI install is not NVCF's. +var nvcfComputePlaneNamespaces = []stackNamespace{ + {name: "dynamo-system", gates: []string{"addons.dynamoOperator.enabled"}}, + {name: "grove-system", gates: []string{"addons.groveOperator.enabled"}}, + {name: "kai-scheduler", gates: []string{"addons.kaiScheduler.enabled"}}, + {name: "nvca-operator"}, } +// Reasons a namespace is reported. Only StaleStuckTerminating fails the run. +const ( + // StaleStuckTerminating is a namespace Terminating past + // namespaceStuckAfter, or one the namespace controller reports it cannot + // finish deleting. + StaleStuckTerminating = "stuck Terminating" + // StaleTerminating is a namespace still within a normal deletion. + StaleTerminating = "Terminating" + // StaleReleaseMidOperation is a Helm release left pending or uninstalling. + StaleReleaseMidOperation = "Helm release mid-operation" + // StaleNoHelmRelease is a namespace holding what a removed install leaves. + StaleNoHelmRelease = "no Helm release" +) + +// namespaceStuckAfter is how long a namespace may stay Terminating before it +// is called stuck. Volume detach and PVC protection routinely hold a deleted +// namespace for tens of seconds, and `up` waits this long for one to go. +const namespaceStuckAfter = 2 * time.Minute + // StaleNamespace describes a single NVCF stack namespace that appears to be a // leftover from a failed or partial teardown. type StaleNamespace struct { Name string - Reason string // human-readable cause: "stuck Terminating" or "no Helm release" + Reason string // one of the Stale* reasons + // Detail qualifies Reason: how long the namespace has been deleting and + // why it is held, or the releases left mid-operation and their status. + Detail string + // Releases names the releases behind StaleReleaseMidOperation. + Releases []string } // StaleNamespaceProber inspects the given namespaces and returns those that // appear stale. The probe is read-only; it never deletes or modifies anything. -// A non-nil error means the cluster could not be contacted; the returned slice -// may be a partial result. +// A non-nil error lists the namespaces that could not be read; the returned +// slice still holds everything found in the others. type StaleNamespaceProber func(ctx context.Context, kubeContext string, namespaces []string) ([]StaleNamespace, error) // NewStaleNamespaceProber returns a StaleNamespaceProber backed by client-go. @@ -83,18 +122,6 @@ func NewStaleNamespaceProber() StaleNamespaceProber { } } -// probeStaleNamespaces is the testable core that accepts a kubernetes.Interface -// so callers can inject fake.NewSimpleClientset in unit tests. -// -// A namespace is considered stale when either: -// - its DeletionTimestamp is set or its phase is Terminating (finalizer -// deadlock; it will never complete without operator intervention), or -// - it holds no active Helm release, runs no workload, and still holds what a -// removed install leaves (volume claims, hook Jobs): a partial helm -// uninstall or a teardown that removed the release but not its data. -// -// Helm 3 marks each release secret with the label owner=helm; absence of any -// such secret means no live Helm release occupies the namespace. const ( // helmReleaseListPageSize bounds each page of the owner=helm scan. A // namespace holds at most a handful of release objects, so this is only a @@ -106,46 +133,91 @@ const ( // back a Continue token. At the page size above this covers 100k objects in // one namespace, far past anything real, and guarantees termination. helmReleaseListMaxPages = 1000 + + // liveReleaseSelector matches the release records `helm upgrade --install` + // builds on. An uninstalled record (kept with --keep-history) is not one. + liveReleaseSelector = "owner=helm,status in (deployed,failed,superseded)" + + // midOperationReleaseSelector matches a release an interrupted install, + // upgrade, rollback or teardown left behind. The next install fails on + // it: "another operation is in progress", or "has no deployed releases". + midOperationReleaseSelector = "owner=helm,status in (pending-install,pending-upgrade,pending-rollback,uninstalling)" ) -// helmReleaseExists reports whether any owner=helm object exists, paging until -// it finds one or the server reports no more results. +// helmReleaseLister lists one page of release objects and returns the labels +// of each. +type helmReleaseLister func(metav1.ListOptions) (labels []map[string]string, cont string, err error) + +// helmRelease is one release object's name and status labels. +type helmRelease struct{ name, status string } + +// findHelmReleases returns the release objects matching selector, paging +// until the server reports no more results, or until the first match when +// firstOnly is set. // // A single page with Limit set is not a valid existence test: the apiserver // applies the label selector after paging, so a page can legitimately return // zero items alongside a Continue token. A namespace like nvcf holds dozens of // ServiceAccount tokens and TLS secrets that sort before sh.helm.release.v1.*, // so the first page is routinely empty on a perfectly healthy install. -func helmReleaseExists( - list func(metav1.ListOptions) (count int, cont string, err error), -) (bool, error) { - opts := metav1.ListOptions{LabelSelector: "owner=helm", Limit: helmReleaseListPageSize} +func findHelmReleases(list helmReleaseLister, selector string, firstOnly bool) ([]helmRelease, error) { + opts := metav1.ListOptions{LabelSelector: selector, Limit: helmReleaseListPageSize} + var found []helmRelease for page := 0; page < helmReleaseListMaxPages; page++ { - count, cont, err := list(opts) + items, cont, err := list(opts) if err != nil { - return false, err + return nil, err } - if count > 0 { - return true, nil + for _, l := range items { + found = append(found, helmRelease{name: l["name"], status: l["status"]}) } - if cont == "" { - return false, nil + if cont == "" || (firstOnly && len(found) > 0) { + return found, nil } opts.Continue = cont } - return false, fmt.Errorf("gave up after %d pages scanning for Helm releases", helmReleaseListMaxPages) + return nil, fmt.Errorf("gave up after %d pages scanning for Helm releases", helmReleaseListMaxPages) +} + +// helmReleaseListers returns one lister per in-cluster Helm storage driver: +// Secrets (the default) and ConfigMaps (HELM_DRIVER=configmap). Both label +// release objects owner=helm, name and status. +func helmReleaseListers(ctx context.Context, client kubernetes.Interface, ns string) map[string]helmReleaseLister { + return map[string]helmReleaseLister{ + "secrets": func(opts metav1.ListOptions) ([]map[string]string, string, error) { + l, err := client.CoreV1().Secrets(ns).List(ctx, opts) + if err != nil { + return nil, "", err + } + out := make([]map[string]string, 0, len(l.Items)) + for i := range l.Items { + out = append(out, l.Items[i].Labels) + } + return out, l.Continue, nil + }, + "configmaps": func(opts metav1.ListOptions) ([]map[string]string, string, error) { + l, err := client.CoreV1().ConfigMaps(ns).List(ctx, opts) + if err != nil { + return nil, "", err + } + out := make([]map[string]string, 0, len(l.Items)) + for i := range l.Items { + out = append(out, l.Items[i].Labels) + } + return out, l.Continue, nil + }, + } } // hasLiveWorkload reports whether namespace ns runs a workload: a Pending or // Running pod that is not terminating and not a Job's. An install rendered // with helm template, as Argo CD does, records no Helm release but runs these. // Job pods are left out because Helm never deletes its hook Jobs, so a -// removed install leaves their Completed pods behind. A read error reports -// false, so the namespace is still judged by what it holds. -func hasLiveWorkload(ctx context.Context, client kubernetes.Interface, ns string) bool { +// removed install leaves their Completed pods behind. +func hasLiveWorkload(ctx context.Context, client kubernetes.Interface, ns string) (bool, error) { pods, err := client.CoreV1().Pods(ns).List(ctx, metav1.ListOptions{}) if err != nil { - return false + return false, fmt.Errorf("list pods: %w", err) } for i := range pods.Items { p := &pods.Items[i] @@ -153,10 +225,10 @@ func hasLiveWorkload(ctx context.Context, client kubernetes.Interface, ns string continue } if p.Status.Phase == corev1.PodPending || p.Status.Phase == corev1.PodRunning { - return true + return true, nil } } - return false + return false, nil } func ownedByJob(p *corev1.Pod) bool { @@ -173,52 +245,83 @@ func ownedByJob(p *corev1.Pod) bool { // reinstall would silently reattach, or workload objects such as the hook // Jobs Helm also leaves. A namespace holding only what is created ahead of an // install (pull and TLS Secrets, CA ConfigMaps, labels), or nothing at all, -// is a fresh one. A read error reports true, so the namespace is still flagged. -func holdsInstallLeftovers(ctx context.Context, client kubernetes.Interface, ns string) bool { +// is a fresh one. One kind found is enough; an error means none was seen and +// at least one kind could not be read. +func holdsInstallLeftovers(ctx context.Context, client kubernetes.Interface, ns string) (bool, error) { one := metav1.ListOptions{Limit: 1} - present := []func() (int, error){ - func() (int, error) { + kinds := []struct { + name string + count func() (int, error) + }{ + {"persistentvolumeclaims", func() (int, error) { l, err := client.CoreV1().PersistentVolumeClaims(ns).List(ctx, one) if err != nil { return 0, err } return len(l.Items), nil - }, - func() (int, error) { + }}, + {"jobs", func() (int, error) { l, err := client.BatchV1().Jobs(ns).List(ctx, one) if err != nil { return 0, err } return len(l.Items), nil - }, - func() (int, error) { + }}, + {"statefulsets", func() (int, error) { l, err := client.AppsV1().StatefulSets(ns).List(ctx, one) if err != nil { return 0, err } return len(l.Items), nil - }, - func() (int, error) { + }}, + {"deployments", func() (int, error) { l, err := client.AppsV1().Deployments(ns).List(ctx, one) if err != nil { return 0, err } return len(l.Items), nil - }, - func() (int, error) { + }}, + {"daemonsets", func() (int, error) { l, err := client.AppsV1().DaemonSets(ns).List(ctx, one) if err != nil { return 0, err } return len(l.Items), nil - }, + }}, } - for _, count := range present { - if n, err := count(); err != nil || n > 0 { - return true + var errs []error + for _, kind := range kinds { + n, err := kind.count() + if err != nil { + errs = append(errs, fmt.Errorf("list %s: %w", kind.name, err)) + continue + } + if n > 0 { + return true, nil } } - return false + return false, joinErrors(errs) +} + +// joinedErrors keeps every error for errors.Is and errors.As, and renders +// them on one line, as a check row's message is. +type joinedErrors []error + +func (e joinedErrors) Error() string { + msgs := make([]string, 0, len(e)) + for _, err := range e { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +func (e joinedErrors) Unwrap() []error { return e } + +func joinErrors(errs []error) error { + if len(errs) == 0 { + return nil + } + return joinedErrors(errs) } // helmReleasesAreInCluster reports whether Helm stores release state as @@ -227,54 +330,93 @@ func helmReleasesAreInCluster() bool { return !strings.EqualFold(strings.TrimSpace(os.Getenv("HELM_DRIVER")), "sql") } +// namespaceDeletionFailures are the conditions the namespace controller sets +// when it cannot finish deleting a namespace's content on its own. +var namespaceDeletionFailures = []corev1.NamespaceConditionType{ + corev1.NamespaceDeletionDiscoveryFailure, + corev1.NamespaceDeletionContentFailure, + corev1.NamespaceDeletionGVParsingFailure, +} + +// terminatingNamespace grades a namespace that is being deleted. It is stuck +// once it has been Terminating past namespaceStuckAfter, or as soon as the +// namespace controller reports a deletion failure; before that it is a normal +// deletion still draining volumes and finalizers. +func terminatingNamespace(ns *corev1.Namespace, now time.Time) StaleNamespace { + out := StaleNamespace{Name: ns.Name, Reason: StaleTerminating} + var details []string + if ns.DeletionTimestamp != nil { + age := now.Sub(ns.DeletionTimestamp.Time).Truncate(time.Second) + details = append(details, "deleting for "+age.String()) + if age >= namespaceStuckAfter { + out.Reason = StaleStuckTerminating + } + } + for _, c := range ns.Status.Conditions { + if c.Status == corev1.ConditionTrue && slices.Contains(namespaceDeletionFailures, c.Type) { + out.Reason = StaleStuckTerminating + details = append(details, string(c.Type)+": "+c.Message) + } + } + out.Detail = strings.Join(details, "; ") + return out +} + +// probeStaleNamespaces is the testable core that accepts a kubernetes.Interface +// so callers can inject fake.NewSimpleClientset in unit tests. +// +// A namespace is reported when: +// - it is being deleted (DeletionTimestamp set or phase Terminating), graded +// by terminatingNamespace; +// - a Helm release in it was left pending or uninstalling; or +// - it holds no live Helm release, runs no workload, and still holds what a +// removed install leaves (volume claims, hook Jobs): a partial helm +// uninstall or a teardown that removed the release but not its data. +// +// One namespace that cannot be read does not stop the others from being +// probed: every error is returned, joined and naming its namespace, next to +// everything that was found. Once ctx is done the probe stops, and the +// returned error carries ctx's error. func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { var stale []StaleNamespace - // noRelease is held back until we know the Helm storage driver keeps its - // state in-cluster at all; see the gate below. - var noRelease []string + var errs []error + // HELM_DRIVER=sql keeps release state in a database, so no in-cluster + // object says whether a release exists, and every namespace of a healthy + // install would look stale. Inferring the driver from "no owner=helm + // object anywhere" hid exactly the state `down` leaves behind: every + // release destroyed, every namespace and PVC kept. + inCluster := helmReleasesAreInCluster() for _, name := range namespaces { + if ctx.Err() != nil { + break + } ns, err := client.CoreV1().Namespaces().Get(ctx, name, metav1.GetOptions{}) if err != nil { if apierrors.IsNotFound(err) { continue // absent = healthy; the check only fires on unexpected presence } - return stale, fmt.Errorf("get namespace %s: %w", name, err) + errs = append(errs, fmt.Errorf("get namespace %s: %w", name, err)) + continue } if ns.DeletionTimestamp != nil || ns.Status.Phase == corev1.NamespaceTerminating { - stale = append(stale, StaleNamespace{Name: name, Reason: "stuck Terminating"}) + stale = append(stale, terminatingNamespace(ns, time.Now())) + continue + } + if !inCluster { continue } - // Check Secrets first (the default Helm storage driver), then ConfigMaps - // for HELM_DRIVER=configmap clusters. Both label release objects - // owner=helm. - found, err := helmReleaseExists( - func(opts metav1.ListOptions) (int, string, error) { - l, lerr := client.CoreV1().Secrets(name).List(ctx, opts) - if lerr != nil { - return 0, "", lerr - } - return len(l.Items), l.Continue, nil - }) + midOperation, live, err := probeHelmReleases(ctx, client, name) if err != nil { - return stale, fmt.Errorf("list Helm secrets in %s: %w", name, err) - } - if found { - continue // healthy: active Helm release found via the secret driver + errs = append(errs, fmt.Errorf("%s: %w", name, err)) + continue } - found, err = helmReleaseExists( - func(opts metav1.ListOptions) (int, string, error) { - l, lerr := client.CoreV1().ConfigMaps(name).List(ctx, opts) - if lerr != nil { - return 0, "", lerr - } - return len(l.Items), l.Continue, nil - }) - if err != nil { - return stale, fmt.Errorf("list Helm configmaps in %s: %w", name, err) + if len(midOperation) > 0 { + stale = append(stale, midOperationNamespace(name, midOperation)) + continue } - if found { + if live { continue } // No release is not yet a leftover. The documented install pre-creates @@ -282,22 +424,70 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name // first install none has a release; and an install rendered with // `helm template` (Argo CD) never records one but runs pods. What // `down` leaves behind runs nothing, and holds volume claims or the - // hook Jobs Helm never deletes. - if hasLiveWorkload(ctx, client, name) || !holdsInstallLeftovers(ctx, client, name) { + // hook Jobs Helm never deletes. A namespace that cannot be read is + // listed as such rather than reported as a leftover nobody saw. + live, err = hasLiveWorkload(ctx, client, name) + if err != nil { + errs = append(errs, fmt.Errorf("%s: %w", name, err)) continue } - noRelease = append(noRelease, name) + if live { + continue + } + leftovers, err := holdsInstallLeftovers(ctx, client, name) + if err != nil { + errs = append(errs, fmt.Errorf("%s: %w", name, err)) + continue + } + if leftovers { + stale = append(stale, StaleNamespace{Name: name, Reason: StaleNoHelmRelease}) + } + } + if err := ctx.Err(); err != nil { + errs = append(errs, err) + } + return stale, joinErrors(errs) +} + +// probeHelmReleases returns the releases in namespace ns left pending or +// uninstalling, and whether a live release occupies it. +func probeHelmReleases(ctx context.Context, client kubernetes.Interface, ns string) ([]helmRelease, bool, error) { + listers := helmReleaseListers(ctx, client, ns) + var midOperation []helmRelease + for _, kind := range []string{"secrets", "configmaps"} { + found, err := findHelmReleases(listers[kind], midOperationReleaseSelector, false) + if err != nil { + return nil, false, fmt.Errorf("list Helm %s: %w", kind, err) + } + midOperation = append(midOperation, found...) + } + if len(midOperation) > 0 { + return midOperation, false, nil } + for _, kind := range []string{"secrets", "configmaps"} { + found, err := findHelmReleases(listers[kind], liveReleaseSelector, true) + if err != nil { + return nil, false, fmt.Errorf("list Helm %s: %w", kind, err) + } + if len(found) > 0 { + return nil, true, nil + } + } + return nil, false, nil +} - // Trust the "no Helm release" signal unless Helm keeps its release state - // outside the cluster. HELM_DRIVER=sql stores it in a database, so every - // namespace of a healthy install would look stale. Inferring the driver - // from "no owner=helm object anywhere" hid exactly the state `down` - // leaves behind: every release destroyed, every namespace and PVC kept. - if helmReleasesAreInCluster() { - for _, name := range noRelease { - stale = append(stale, StaleNamespace{Name: name, Reason: "no Helm release"}) +// midOperationNamespace reports namespace ns for the releases in it left +// pending or uninstalling, each named once with its status. +func midOperationNamespace(ns string, releases []helmRelease) StaleNamespace { + out := StaleNamespace{Name: ns, Reason: StaleReleaseMidOperation} + var details []string + for _, r := range releases { + if r.name == "" || slices.Contains(out.Releases, r.name) { + continue } + out.Releases = append(out.Releases, r.name) + details = append(details, r.name+" "+r.status) } - return stale, nil + out.Detail = strings.Join(details, ", ") + return out } diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 67a7663e4d..ab971f3c45 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -19,9 +19,11 @@ package selfhosted import ( "context" + "errors" "fmt" "strings" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -29,8 +31,10 @@ import ( appsv1 "k8s.io/api/apps/v1" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/kubernetes/fake" ktesting "k8s.io/client-go/testing" ) @@ -259,6 +263,8 @@ func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { }, nil } r := staleNamespaceCheck(prober, "", []string{"nvcf", "api-keys"}).Run(context.Background()) + assert.Equal(t, SeverityError, r.Severity, + "a namespace stuck Terminating fails the run whatever else is reported beside it") assert.Contains(t, r.Message, "nvcf") assert.Contains(t, r.Message, "api-keys") assert.Contains(t, r.Message, "/api/v1/namespaces/nvcf/finalize", @@ -273,51 +279,70 @@ func TestStaleNamespaceCheck_MessageNamesAllStaleNamespaces(t *testing.T) { // legitimately come back empty with a Continue token. Treating that as "no // release" reports a live namespace stale and tells the operator to delete it. func TestProbeStaleNamespaces_PagesPastNonMatchingObjects(t *testing.T) { - client := fake.NewSimpleClientset(&corev1.Namespace{ - ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, - Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, - }) - - // First page: empty with a Continue token. Second page: the release secret. - call := 0 - client.PrependReactor("list", "secrets", func(_ ktesting.Action) (bool, runtime.Object, error) { - call++ - if call == 1 { - return true, &corev1.SecretList{ - ListMeta: metav1.ListMeta{Continue: "next-page-token"}, - }, nil - } - return true, &corev1.SecretList{Items: []corev1.Secret{{ - ObjectMeta: metav1.ObjectMeta{ + for _, resource := range []string{"secrets", "configmaps"} { + t.Run(resource, func(t *testing.T) { + client := fake.NewSimpleClientset(&corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, + }, &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: "nvcf"}}) + + // First page: empty with a Continue token. Second page: the + // release object. + calls := 0 + release := metav1.ObjectMeta{ Name: "sh.helm.release.v1.nvcf.v1", Namespace: "nvcf", - Labels: map[string]string{"owner": "helm"}, - }, - }}}, nil - }) - - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) - require.NoError(t, err) - assert.Empty(t, stale, - "an empty first page with a Continue token must not be read as 'no Helm release'") - assert.Greater(t, call, 1, "the probe must follow the Continue token") + Labels: map[string]string{"owner": "helm", "name": "nvcf", "status": "deployed"}, + } + client.PrependReactor("list", resource, func(a ktesting.Action) (bool, runtime.Object, error) { + if !listSelects(a, "deployed") { + return false, nil, nil + } + calls++ + if calls == 1 { + if resource == "secrets" { + return true, &corev1.SecretList{ListMeta: metav1.ListMeta{Continue: "next"}}, nil + } + return true, &corev1.ConfigMapList{ListMeta: metav1.ListMeta{Continue: "next"}}, nil + } + if resource == "secrets" { + return true, &corev1.SecretList{Items: []corev1.Secret{{ObjectMeta: release}}}, nil + } + return true, &corev1.ConfigMapList{Items: []corev1.ConfigMap{{ObjectMeta: release}}}, nil + }) + + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + assert.Empty(t, stale, + "an empty first page with a Continue token must not be read as 'no Helm release'") + assert.Equal(t, 2, calls, "the probe must follow the Continue token") + }) + } } // The remediation for a hit is "delete this namespace", so the list must only // contain namespaces a helmfile release actually owns. nvcf-backend is created // at runtime by NVCA and holds live worker pods. func TestControlPlaneNamespaceList_ExcludesRuntimeOwnedNamespaces(t *testing.T) { + cp := namespaceNames(nvcfControlPlaneNamespaces) for _, ns := range []string{"nvcf-backend", "openbao-system"} { - assert.NotContains(t, nvcfControlPlaneNamespaces, ns, + assert.NotContains(t, cp, ns, "%s hosts no Helm release; probing it yields a destructive false positive", ns) } for _, ns := range []string{"cert-manager", "nvcf-ui"} { - assert.Contains(t, nvcfControlPlaneNamespaces, ns, - "%s is a real stack namespace and must be probed", ns) + assert.Contains(t, cp, ns, "%s is a real stack namespace and must be probed", ns) } - assert.NotContains(t, nvcfComputePlaneNamespaces, "nvca-system", + assert.NotContains(t, namespaceNames(nvcfComputePlaneNamespaces), "nvca-system", "nvca-system is operator-created and hosts no release") } +func namespaceNames(list []stackNamespace) []string { + out := make([]string, 0, len(list)) + for _, ns := range list { + out = append(out, ns.name) + } + return out +} + // TestStaleNamespaceCheck_HintsPinTheProbedContext guards the remediation // hints in split mode. The two callers probe different clusters, so a bare // kubectl command in a hint runs against whatever context is current, and @@ -486,9 +511,11 @@ func TestProbeStaleNamespaces_SQLDriverSkipsTheNoReleaseSignal(t *testing.T) { // A namespace stuck Terminating is still reported even when no Helm release // object exists anywhere: that signal does not depend on the storage driver. func TestProbeStaleNamespaces_TerminatingReportedWithoutHelmObjects(t *testing.T) { + t.Setenv("HELM_DRIVER", "sql") + deleted := metav1.NewTime(time.Now().Add(-10 * time.Minute)) client := fake.NewSimpleClientset( &corev1.Namespace{ - ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}, + ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &deleted}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, }, ) @@ -510,8 +537,11 @@ func TestStaleNamespaceCheck_NoHelmReleaseWarnsAndDoesNotSuggestDelete(t *testin assert.Equal(t, SeverityWarning, r.Severity, "a namespace with no Helm release must not fail the run") - assert.NotContains(t, r.Message, "delete namespace", - "the remediation must not destroy a namespace the operator may own") + for _, nudge := range []string{" delete ", "remove", "To resolve"} { + assert.NotContains(t, r.Message, nudge, + "no Helm release is an observation; the hint must not frame removing the namespace as the fix") + } + assert.Contains(t, r.Message, "xargs -n1 kubectl get -n cert-manager --show-kind --ignore-not-found") } // A namespace stuck Terminating does block the run. @@ -522,6 +552,7 @@ func TestStaleNamespaceCheck_TerminatingIsStillAnError(t *testing.T) { } r := staleNamespaceCheck(prober, "", []string{"nvcf"}).Run(context.Background()) assert.Equal(t, SeverityError, r.Severity) + assert.False(t, r.Transient, "a stuck namespace does not clear by waiting") } // kubectl keeps only the last -n it is given, so a joined command inspects one @@ -598,3 +629,368 @@ func TestProbeStaleNamespaces_NamespaceRunningPodsIsNotStale(t *testing.T) { require.NoError(t, err) assert.Empty(t, stale) } + +// listSelects reports whether a list action's label selector names value. +func listSelects(a ktesting.Action, value string) bool { + return strings.Contains(a.(ktesting.ListAction).GetListRestrictions().Labels.String(), value) +} + +func forbidden(resource, name string) error { + return apierrors.NewForbidden(schema.GroupResource{Resource: resource}, name, errors.New("denied")) +} + +// One namespace that cannot be read must not hide what the others show: a +// namespace stuck Terminating is still reported, before or after the read +// that failed, and the failures name their namespaces. +func TestProbeStaleNamespaces_KeepsProbingPastAReadError(t *testing.T) { + t.Setenv("HELM_DRIVER", "") + deleted := metav1.NewTime(time.Now().Add(-10 * time.Minute)) + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "cassandra-system", DeletionTimestamp: &deleted}}, + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "vault-system"}}, + ) + client.PrependReactor("get", "namespaces", func(a ktesting.Action) (bool, runtime.Object, error) { + if a.(ktesting.GetAction).GetName() == "nvcf" { + return true, nil, forbidden("namespaces", "nvcf") + } + return false, nil, nil + }) + client.PrependReactor("list", "secrets", func(a ktesting.Action) (bool, runtime.Object, error) { + return true, nil, forbidden("secrets", "") + }) + + stale, err := probeStaleNamespaces(context.Background(), client, + []string{"nvcf", "cassandra-system", "vault-system"}) + require.Len(t, stale, 1, "the namespace read after the failed one must still be probed") + assert.Equal(t, "cassandra-system", stale[0].Name) + assert.Equal(t, StaleStuckTerminating, stale[0].Reason) + require.Error(t, err) + assert.Contains(t, err.Error(), "get namespace nvcf") + assert.Contains(t, err.Error(), "; vault-system: list Helm secrets") + assert.NotContains(t, err.Error(), "\n", "the errors are rendered on the row's one line") + assert.True(t, apierrors.IsForbidden(err), "the underlying API errors stay reachable") +} + +// A stuck namespace found next to a probe error keeps the row at error, and +// the row names both. Grading the pair as the probe error alone let `check +// --pre` pass over a namespace `up` would then fail to create into. +func TestStaleNamespaceCheck_StuckStaysAnErrorBesideAProbeError(t *testing.T) { + pinCurrentKubeContext(t, "") + readErr := errors.New("vault-system: list Helm secrets: forbidden") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "cassandra-system", Reason: StaleStuckTerminating}}, readErr + } + r := staleNamespaceCheck(prober, "", nil).Run(context.Background()) + assert.False(t, r.Passed) + assert.Equal(t, SeverityError, r.Severity) + assert.Contains(t, r.Message, "cassandra-system (stuck Terminating)") + assert.Contains(t, r.Message, "could not probe: vault-system") + assert.ErrorIs(t, r.Err, readErr) + + // Without a stuck namespace the same pair is a warning that still lists + // what was found. + prober = func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "api-keys", Reason: StaleNoHelmRelease}}, readErr + } + r = staleNamespaceCheck(prober, "", nil).Run(context.Background()) + assert.Equal(t, SeverityWarning, r.Severity) + assert.Contains(t, r.Message, "api-keys (no Helm release)") + assert.Contains(t, r.Message, "could not probe: vault-system") +} + +// A namespace a moment into a normal deletion is draining volumes and +// finalizers; `up` waits for it. Only past the bound, or once the namespace +// controller reports a deletion failure, is it stuck. +func TestProbeStaleNamespaces_StuckOnlyPastTheBoundOrOnAFailure(t *testing.T) { + t.Setenv("HELM_DRIVER", "sql") + ago := func(d time.Duration) *metav1.Time { ts := metav1.NewTime(time.Now().Add(-d)); return &ts } + cond := func(t corev1.NamespaceConditionType) []corev1.NamespaceCondition { + return []corev1.NamespaceCondition{{Type: t, Status: corev1.ConditionTrue, Message: "held"}} + } + soon, late := ago(5*time.Second), ago(namespaceStuckAfter+time.Second) + cases := map[string]struct { + deleted *metav1.Time + conditions []corev1.NamespaceCondition + want string + }{ + "just deleted": {soon, nil, StaleTerminating}, + "finalizers draining": {soon, cond(corev1.NamespaceFinalizersRemaining), StaleTerminating}, + "past the bound": {late, nil, StaleStuckTerminating}, + "content failure": {soon, cond(corev1.NamespaceDeletionContentFailure), StaleStuckTerminating}, + "discovery failure": {soon, cond(corev1.NamespaceDeletionDiscoveryFailure), StaleStuckTerminating}, + "group-version failure": {soon, cond(corev1.NamespaceDeletionGVParsingFailure), StaleStuckTerminating}, + "phase only, no failure": {nil, nil, StaleTerminating}, + "phase only, and failing": {nil, cond(corev1.NamespaceDeletionContentFailure), StaleStuckTerminating}, + } + for name, tc := range cases { + client := fake.NewSimpleClientset(&corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: tc.deleted}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating, Conditions: tc.conditions}, + }) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err, name) + require.Len(t, got, 1, name) + assert.Equal(t, tc.want, got[0].Reason, name) + } +} + +// A namespace still being deleted is a warning with a read-only hint: no +// /finalize, which would orphan the volumes it is still detaching. +func TestStaleNamespaceCheck_TerminatingWarnsWithoutTheFinalizeHint(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: StaleTerminating, Detail: "deleting for 5s"}}, nil + } + r := staleNamespaceCheck(prober, "", nil).Run(context.Background()) + assert.Equal(t, SeverityWarning, r.Severity) + assert.True(t, r.Transient, "a deletion in progress clears by itself, so --wait polls it") + assert.Contains(t, r.Message, "nvcf (Terminating: deleting for 5s)") + assert.Contains(t, r.Message, "kubectl get ns nvcf -o jsonpath='{.status.conditions}'") + assert.NotContains(t, r.Message, "finalize") +} + +// The stuck hint reads the namespace's conditions before anything else. +func TestStaleNamespaceCheck_StuckHintReadsConditionsFirst(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "nvcf", Reason: StaleStuckTerminating}}, nil + } + r := staleNamespaceCheck(prober, "", nil).Run(context.Background()) + conditions := strings.Index(r.Message, "get ns nvcf -o jsonpath='{.status.conditions}'") + inspect := strings.Index(r.Message, "xargs -n1 kubectl get -n nvcf") + require.GreaterOrEqual(t, conditions, 0) + assert.Less(t, conditions, inspect) +} + +func helmRecord(ns, name, status string) *corev1.Secret { + return &corev1.Secret{ObjectMeta: metav1.ObjectMeta{ + Name: "sh.helm.release.v1." + name + ".v1", Namespace: ns, + Labels: map[string]string{"owner": "helm", "name": name, "status": status}, + }} +} + +// Only a deployed, failed or superseded record is a release `helm upgrade +// --install` builds on. One an interrupted install, upgrade or teardown left +// behind makes the next install fail, so it is reported by name and status; +// an uninstalled record kept by --keep-history is no release at all. +func TestProbeStaleNamespaces_GradesReleasesByStatus(t *testing.T) { + t.Setenv("HELM_DRIVER", "") + const mid = StaleReleaseMidOperation + cases := map[string]struct { + statuses []string + reason string + detail string + }{ + "deployed": {[]string{"deployed"}, "", ""}, + "failed": {[]string{"failed"}, "", ""}, + "superseded": {[]string{"superseded"}, "", ""}, + "uninstalling": {[]string{"uninstalling"}, mid, "cassandra uninstalling"}, + "pending-install": {[]string{"pending-install"}, mid, "cassandra pending-install"}, + "pending-upgrade": {[]string{"deployed", "pending-upgrade"}, mid, "cassandra pending-upgrade"}, + "pending-rollback": {[]string{"pending-rollback"}, mid, "cassandra pending-rollback"}, + "uninstalled (kept)": {[]string{"uninstalled"}, StaleNoHelmRelease, ""}, + } + for name, tc := range cases { + objects := []runtime.Object{ + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "cassandra-system"}}, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: "cassandra-system"}}, + } + for i, status := range tc.statuses { + rec := helmRecord("cassandra-system", "cassandra", status) + rec.Name = fmt.Sprintf("%s%d", rec.Name, i) + objects = append(objects, rec) + } + got, err := probeStaleNamespaces(context.Background(), fake.NewSimpleClientset(objects...), + []string{"cassandra-system"}) + require.NoError(t, err, name) + if tc.reason == "" { + assert.Empty(t, got, name) + continue + } + require.Len(t, got, 1, name) + assert.Equal(t, tc.reason, got[0].Reason, name) + assert.Equal(t, tc.detail, got[0].Detail, name) + } +} + +// The ConfigMap driver's records are graded the same way. +func TestProbeStaleNamespaces_ConfigMapReleaseMidOperation(t *testing.T) { + t.Setenv("HELM_DRIVER", "") + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nats-system"}}, + &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "nats.v2", Namespace: "nats-system", + Labels: map[string]string{"owner": "helm", "name": "nats", "status": "pending-upgrade"}}}, + ) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nats-system"}) + require.NoError(t, err) + require.Len(t, got, 1) + assert.Equal(t, []string{"nats"}, got[0].Releases) +} + +// A release left mid-operation is a warning, since an install may still be +// running, and its hint reads the history on the probed context first. +func TestStaleNamespaceCheck_ReleaseMidOperationHint(t *testing.T) { + pinCurrentKubeContext(t, "") + prober := func(_ context.Context, _ string, _ []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "cassandra-system", Reason: StaleReleaseMidOperation, + Detail: "cassandra uninstalling", Releases: []string{"cassandra"}}}, nil + } + r := staleNamespaceCheck(prober, "cp ctx", nil).Run(context.Background()) + assert.Equal(t, SeverityWarning, r.Severity) + assert.Contains(t, r.Message, "cassandra-system (Helm release mid-operation: cassandra uninstalling)") + assert.Contains(t, r.Message, "helm --kube-context 'cp ctx' history cassandra -n cassandra-system") +} + +// A namespace whose pods or leftovers cannot be listed is listed as unread, +// not reported as a leftover nobody saw, and not passed over in silence. +func TestProbeStaleNamespaces_UnreadableWorkloadIsListedNotReported(t *testing.T) { + t.Setenv("HELM_DRIVER", "") + for _, resource := range []string{"pods", "persistentvolumeclaims"} { + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "api-keys"}}, + &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: "api-keys"}}, + ) + client.PrependReactor("list", resource, func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, forbidden(resource, "") + }) + got, err := probeStaleNamespaces(context.Background(), client, []string{"api-keys"}) + assert.Empty(t, got, resource) + require.Error(t, err, resource) + assert.Contains(t, err.Error(), "api-keys: list "+resource, resource) + } +} + +// Each leftover kind is enough on its own, and one kind seen outweighs another +// that could not be read. +func TestHoldsInstallLeftovers_EachKindAndTheErrorDirection(t *testing.T) { + ns := "vault-system" + meta := metav1.ObjectMeta{Name: "x", Namespace: ns} + kinds := map[string]runtime.Object{ + "persistentvolumeclaims": &corev1.PersistentVolumeClaim{ObjectMeta: meta}, + "jobs": &batchv1.Job{ObjectMeta: meta}, + "statefulsets": &appsv1.StatefulSet{ObjectMeta: meta}, + "deployments": &appsv1.Deployment{ObjectMeta: meta}, + "daemonsets": &appsv1.DaemonSet{ObjectMeta: meta}, + } + for kind, obj := range kinds { + got, err := holdsInstallLeftovers(context.Background(), fake.NewSimpleClientset(obj), ns) + require.NoError(t, err, kind) + assert.True(t, got, kind) + + // Every other kind unreadable: what was seen still counts. + client := fake.NewSimpleClientset(obj) + for other := range kinds { + if other != kind { + client.PrependReactor("list", other, func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, forbidden(other, "") + }) + } + } + got, err = holdsInstallLeftovers(context.Background(), client, ns) + require.NoError(t, err, kind) + assert.True(t, got, kind) + } + + client := fake.NewSimpleClientset() + client.PrependReactor("list", "jobs", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, forbidden("jobs", "") + }) + got, err := holdsInstallLeftovers(context.Background(), client, ns) + assert.False(t, got, "a kind that could not be read is not a leftover that was seen") + assert.Error(t, err) + + got, err = holdsInstallLeftovers(context.Background(), fake.NewSimpleClientset(), ns) + assert.False(t, got) + assert.NoError(t, err) +} + +func TestHasLiveWorkload_ReadErrorIsNotAWorkload(t *testing.T) { + client := fake.NewSimpleClientset() + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, forbidden("pods", "") + }) + live, err := hasLiveWorkload(context.Background(), client, "nvcf") + assert.False(t, live) + assert.Error(t, err) +} + +// The budget running out mid-scan has to reach the result as the context's +// error, so the runner grades the row as cut short (exit 5) rather than as a +// clean pass or a warning. +func TestProbeStaleNamespaces_BudgetCutOffIsReturned(t *testing.T) { + t.Setenv("HELM_DRIVER", "") + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + client := fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "sis"}}, + ) + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + cancel() + return true, nil, context.Canceled + }) + _, err := probeStaleNamespaces(ctx, client, []string{"nvcf", "sis"}) + require.ErrorIs(t, err, context.Canceled) + assert.NotContains(t, err.Error(), "sis", "the scan stops once the context is done") + + // A budget that runs out between two namespaces fails no call, and the + // namespaces never read must still turn the scan into an error. + ctx, cancel = context.WithCancel(context.Background()) + defer cancel() + client = fake.NewSimpleClientset( + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, + &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "sis"}}, + ) + client.PrependReactor("list", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + cancel() + return true, &corev1.PodList{}, nil + }) + _, err = probeStaleNamespaces(ctx, client, []string{"nvcf", "sis"}) + require.ErrorIs(t, err, context.Canceled, "an unfinished scan is never a clean one") + + deadline := fmt.Errorf("list pods: %w", context.DeadlineExceeded) + prober := func(context.Context, string, []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "api-keys", Reason: StaleNoHelmRelease}}, deadline + } + pinCurrentKubeContext(t, "") + r := staleNamespaceCheck(prober, "", nil).Run(context.Background()) + assert.ErrorIs(t, r.Err, context.DeadlineExceeded, + "findings beside a spent budget must still carry the budget error to the runner") +} + +func TestFindHelmReleases_PageCapIsAnError(t *testing.T) { + calls := 0 + list := func(metav1.ListOptions) ([]map[string]string, string, error) { + calls++ + return nil, "more", nil + } + got, err := findHelmReleases(list, liveReleaseSelector, true) + require.Error(t, err, "running out of pages is not proof that no release exists") + assert.Nil(t, got) + assert.Equal(t, helmReleaseListMaxPages, calls) +} + +func TestHelmReleasesAreInCluster_NormalisesTheDriver(t *testing.T) { + for driver, want := range map[string]bool{ + "": true, "secret": true, "configmap": true, "sql": false, " SQL ": false, "Sql\n": false, + } { + t.Setenv("HELM_DRIVER", driver) + assert.Equal(t, want, helmReleasesAreInCluster(), "%q", driver) + } +} + +// Under HELM_DRIVER=sql the release lists say nothing, so they are not read: +// an error from them cannot cut the probe short. +func TestProbeStaleNamespaces_SQLDriverSkipsTheReleaseLists(t *testing.T) { + t.Setenv("HELM_DRIVER", "sql") + client := fake.NewSimpleClientset(&corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}) + for _, resource := range []string{"secrets", "configmaps", "pods"} { + client.PrependReactor("list", resource, func(ktesting.Action) (bool, runtime.Object, error) { + return true, nil, forbidden(resource, "") + }) + } + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + require.NoError(t, err) + assert.Empty(t, got) +} From 344c179f5ce88911b8b84e06ed5b1e9ce4ab4121 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 01:42:34 +0530 Subject: [PATCH 065/127] test(nvcf-cli): keep check tests off the developer kubeconfig Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/main_test.go | 5 +++ .../cmd/self_hosted_check_rows_test.go | 28 +++++++++++++-- .../cmd/self_hosted_check_scope_test.go | 6 +--- .../internal/selfhosted/clustervalidator.go | 4 ++- .../clustervalidator_lifecycle_test.go | 3 +- .../clustervalidator_ownership_test.go | 34 +++++++++++++++++++ .../nvcf-cli/internal/selfhosted/main_test.go | 3 ++ .../internal/selfhosted/preflight_test.go | 3 +- .../internal/selfhosted/pullsecret_test.go | 3 +- .../internal/selfhosted/registry_cred_test.go | 3 +- 10 files changed, 80 insertions(+), 12 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index e683b6377b..cad1ee7c03 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -22,6 +22,7 @@ import ( "net/http" "net/http/httptest" "os" + "path/filepath" "testing" "github.com/Masterminds/semver/v3" @@ -54,6 +55,10 @@ func TestMain(m *testing.M) { // The state manager resolved its path from HOME at package init, before // the swap above, so it still points at the real ~/.nvcf-cli.state. state.ResetDefaultStateManager() + // client-go also resolved ~/.kube/config at init. Point KUBECONFIG into + // the temporary HOME so no test reads the developer's current-context, + // which every hint and removal command now names. + _ = os.Setenv("KUBECONFIG", filepath.Join(home, ".kube", "config")) // Check reads the stack above the working directory when no // --control-plane-stack is given, so run from a directory with none: from // the package directory every test would read the repository's stack and diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index 17bfe29e86..99ec44551d 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -24,6 +24,8 @@ import ( "io" "net/http" "net/http/httptest" + "os" + "path/filepath" "strings" "sync" "sync/atomic" @@ -549,12 +551,12 @@ func TestCheck_FlagAndTopologyMatrix(t *testing.T) { if mode == kubectx.ModeSingle { require.Len(t, run.stale, 1, "%s: one cluster, one probe", name) assert.Equal(t, tc.cp, contains(run.stale[0].namespaces, "vault-system"), name) - assert.Equal(t, tc.gpu, contains(run.stale[0].namespaces, "kai-scheduler"), name) + assert.Equal(t, tc.gpu, contains(run.stale[0].namespaces, "nvca-operator"), name) } else { var contexts []string for _, c := range run.stale { contexts = append(contexts, c.context) - assert.Equal(t, c.context == gpuCtx, contains(c.namespaces, "kai-scheduler"), name) + assert.Equal(t, c.context == gpuCtx, contains(c.namespaces, "nvca-operator"), name) } var want []string if tc.cp { @@ -594,3 +596,25 @@ func contains(list []string, s string) bool { } return false } + +// The stack's gates decide which namespaces the stale-namespace probe scans, +// from base.yaml and the environment the operator named. A defaulted --env +// may not be the install's, so its file is not read. +func TestCheck_StaleNamespaceGatesNeedANamedEnvironment(t *testing.T) { + stack := t.TempDir() + envDir := filepath.Join(stack, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "base.yaml"), + []byte("addons:\n kaiScheduler:\n enabled: false\n"), 0o644)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "local.yaml"), + []byte("addons:\n kaiScheduler:\n enabled: true\n"), 0o644)) + args := []string{"--compute-plane", "--skip-cluster-validation", "--compute-plane-stack", stack} + + run := runCheck(t, checkStubs{}, args...) + require.Len(t, run.stale, 1) + assert.NotContains(t, run.stale[0].namespaces, "kai-scheduler", "the defaulted --env is not read") + + run = runCheck(t, checkStubs{}, append(args, "--env", "local")...) + require.Len(t, run.stale, 1) + assert.Contains(t, run.stale[0].namespaces, "kai-scheduler", "the named environment turns the gate on") +} diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 4d5550099f..47729160bf 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -27,7 +27,6 @@ import ( "net/http" "net/http/httptest" "os" - "path/filepath" "strings" "sync" "sync/atomic" @@ -150,8 +149,6 @@ func runCheckWith(t *testing.T, budget time.Duration, validator selfhosted.Clust t.Helper() resetCheckFlags(t) t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") - // Hints name the current context; keep the developer's out of them. - t.Setenv("KUBECONFIG", filepath.Join(t.TempDir(), "none")) prevBudget, prevCV := checkBudget, newClusterValidatorForSelfHosted checkBudget = func(d time.Duration) time.Duration { requestedBudget = d; return budget } newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return validator } @@ -240,7 +237,7 @@ func TestCheck_BudgetSpentIsATimeout(t *testing.T) { assert.Equal(t, "timeout", final["verdict"], "args %v", args) row := validatorRow(t, stderr) assert.Equal(t, false, row["passed"], "args %v", args) - assert.Equal(t, selfhosted.SeverityError, row["severity"], "args %v", args) + assert.EqualValues(t, selfhosted.SeverityError, row["severity"], "args %v", args) assert.Regexp(t, `^(cut short|not run): the check's time budget ran out`, row["message"], "args %v", args) } } @@ -334,7 +331,6 @@ func TestCheck_WaitTimeoutOnARolloutIsNotASuccess(t *testing.T) { // closed. Wiring the key to the budget's cancel instead read as a finished // run. func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { - t.Setenv("KUBECONFIG", filepath.Join(t.TempDir(), "none")) prev := selectCheckRendererFn t.Cleanup(func() { selectCheckRendererFn = prev }) quit := make(chan func(), 1) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 199dec0b3e..14b679fac1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -227,7 +227,9 @@ func runClusterValidator( // Testable core. Pass a fake clientset to unit-test without a real cluster. // The result is named so the deferred sweeps can report what they could not // remove. -func runValidatorJob(ctx context.Context, client kubernetes.Interface, p ClusterValidatorParams) (res ClusterValidatorResult) { +func runValidatorJob( + ctx context.Context, client kubernetes.Interface, p ClusterValidatorParams, +) (res ClusterValidatorResult) { image, pullSecret, noCleanup, role := p.Image, p.PullSecret, p.NoCleanup, p.Role if image == "" { // Defensive: callers gate on configured image before invoking the diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 7a45af0db1..8c71ba3bc2 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -373,7 +373,8 @@ func TestSweepOrphanClusterValidatorRBAC_PreservedExpireAndLegacyIsSpared(t *tes &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: validatorPullSecretRunName(clusterValidatorControlPlaneRole, run.id), Namespace: clusterValidatorNamespace, Labels: lbls}}, &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: clusterValidatorConfigRunName(run.id), - Namespace: clusterValidatorNamespace, Labels: clusterValidatorConfigLabels(clusterValidatorControlPlaneRole, run.id, true)}}, + Namespace: clusterValidatorNamespace, + Labels: clusterValidatorConfigLabels(clusterValidatorControlPlaneRole, run.id, true)}}, &rbacv1.ClusterRole{ObjectMeta: metav1.ObjectMeta{Name: name(run.id), Labels: lbls}}, &rbacv1.ClusterRoleBinding{ObjectMeta: metav1.ObjectMeta{Name: name(run.id), Labels: lbls}}, } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go index 98431a5ad2..e1c7b06984 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_ownership_test.go @@ -158,7 +158,41 @@ func TestRunClusterValidator_AnotherRunsJobUnderThisRunsNameSurvives(t *testing. clusterValidatorRBACName(clusterValidatorComputePlaneRole, res.RunID), metav1.GetOptions{}) assert.NoError(t, err) }) + // A kept run suspends its own Job when the create errored, never + // another run's under the name. + t.Run(name+", --no-cleanup", func(t *testing.T) { + client := fake.NewSimpleClientset() + client.PrependReactor("create", "jobs", func(a ktesting.Action) (bool, runtime.Object, error) { + job := a.(ktesting.CreateAction).GetObject().(*batchv1.Job) + other := job.DeepCopy() + other.Labels = clusterValidatorRunLabels(clusterValidatorComputePlaneRole, "otherrun", false) + other.UID = "uid-other" + require.NoError(t, client.Tracker().Add(other)) + return true, nil, createErr(job.Name) + }) + res := runClusterValidator(context.Background(), client, "registry.example.com/validator:1", + "", true, clusterValidatorComputePlaneRole, nil, nil) + require.ErrorContains(t, res.Err, "creating validator Job") + assert.False(t, jobSuspended(client), "another run's Job must not be suspended") + assert.NotContains(t, res.Err.Error(), "suspending the kept Job failed") + }) + } +} + +// A kept Job is suspended with its UID in the patch, so the apiserver refuses +// it if another object has taken the name since. +func TestSuspendValidatorJob_IsPinnedToTheJobsUID(t *testing.T) { + job := &batchv1.Job{ObjectMeta: metav1.ObjectMeta{Name: "j", Namespace: clusterValidatorNamespace, UID: "uid-mine"}} + client := fake.NewSimpleClientset(job) + require.NoError(t, suspendValidatorJob(client, "j", "run1", runObjects{kindJob: job})) + var patch string + for _, a := range client.Actions() { + if p, ok := a.(ktesting.PatchAction); ok && p.GetResource().Resource == "jobs" { + patch = string(p.GetPatch()) + } } + assert.Contains(t, patch, `"uid":"uid-mine"`) + assert.Contains(t, patch, `"suspend":true`) } // A bootstrap that hits AlreadyExists did not create that object, so the diff --git a/src/clis/nvcf-cli/internal/selfhosted/main_test.go b/src/clis/nvcf-cli/internal/selfhosted/main_test.go index 168177c2be..d5d5b02cfd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/main_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/main_test.go @@ -19,6 +19,7 @@ package selfhosted import ( "os" + "path/filepath" "testing" "time" ) @@ -34,6 +35,8 @@ func TestMain(m *testing.M) { panic(err) } _ = os.Setenv("HOME", home) + // client-go resolved ~/.kube/config at init, before the swap above. + _ = os.Setenv("KUBECONFIG", filepath.Join(home, ".kube", "config")) _ = os.Unsetenv("HELM_DRIVER") // A docker config or an NGC key exported on the machine running the // tests would otherwise be the credential every registry test sends. diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 0d85953b02..1679449d5f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -938,7 +938,8 @@ func TestRunPreflight_ProbeShareBoundsTheChecksBeforeTheValidator(t *testing.T) ClusterValidatorImage: "nvcr.io/nvidia/validator:1", ClusterValidator: func(ctx context.Context, _ ClusterValidatorParams) ClusterValidatorResult { ran, validatorCtxErr = true, ctx.Err() - return ClusterValidatorResult{Passed: true, Logs: validatorRoleMarker + "control-plane\n"} + return ClusterValidatorResult{Passed: true, + Logs: validatorRoleMarker + "control-plane\n" + validatorVerdictReady + "\n"} }, } ctx, cancel := context.WithTimeout(context.Background(), time.Minute) diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 7b06d5ab13..6fa0d2474d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -231,7 +231,8 @@ func TestResolveValidatorPullSecret_MatchesSchemePrefixedKeys(t *testing.T) { func TestResolveValidatorPullSecret_FlagOverride(t *testing.T) { client := fake.NewSimpleClientset() got, note, err := resolveValidatorPullSecret(context.Background(), client, "custom-secret", - "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false, nil) + "private.registry.test/nvidia/nvcf-byoc/cluster-validator:rc26", clusterValidatorControlPlaneRole, "runid", false, + nil) require.NoError(t, err) assert.Equal(t, "custom-secret", got, "explicit override always wins") assert.Empty(t, note) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index df0f62d550..27d92edfaf 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -1023,7 +1023,8 @@ func TestLoadStackValues_ExternalComponents(t *testing.T) { // An environment file layered over base.yaml turns components off. base, env := filepath.Join(t.TempDir(), "base.yaml"), filepath.Join(t.TempDir(), "prod.yaml") - require.NoError(t, writeFile(base, []byte("nats: {enabled: true}\nopenbao: {enabled: true}\ncassandra: {enabled: true}\n"))) + require.NoError(t, writeFile(base, []byte( + "nats: {enabled: true}\nopenbao: {enabled: true}\ncassandra: {enabled: true}\n"))) require.NoError(t, writeFile(env, []byte("openbao: {enabled: false}\ncassandra: {enabled: false}\n"))) assert.Equal(t, []string{"cassandra", "openbao"}, LoadStackValues([]string{base, env}).ExternalComponents) assert.Empty(t, LoadStackValues([]string{base}).ExternalComponents) From 1786e10301dea2d0a68127e07e651e33908371f7 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 02:01:15 +0530 Subject: [PATCH 066/127] docs(nvcf-cli): align check help and skill docs with current behavior Signed-off-by: rohithb --- .../skills/nvcf-self-managed-cli/SKILL.md | 17 +- .../examples/multi-cluster.md | 7 +- .../prompts/add-compute-plane.md | 29 +- .../prompts/install-from-scratch.md | 23 +- .../reference/commands.md | 8 +- .../reference/exit-codes.md | 4 +- .../nvcf-self-managed-cli/reference/flags.md | 18 +- .../reference/troubleshooting.md | 22 +- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 23 +- src/clis/nvcf-cli/cmd/self_hosted.go | 9 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 115 +- .../cmd/self_hosted_check_scope_test.go | 3 +- .../nvcf-cli/cmd/self_hosted_check_test.go | 101 +- .../agentskill/skilldata_generated.go | 7299 +++++++++-------- .../internal/selfhosted/credhelper_test.go | 6 +- .../nvcf-cli/internal/selfhosted/preflight.go | 22 +- .../selfhosted/progress/render_tty.go | 4 +- .../selfhosted/progress/render_tty_test.go | 2 +- .../internal/selfhosted/pullsecret_test.go | 4 +- .../internal/selfhosted/registry_cred_test.go | 7 +- .../internal/selfhosted/stale_namespace.go | 9 +- .../internal/selfhosted/validatortag_test.go | 12 +- 22 files changed, 3874 insertions(+), 3870 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md b/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md index 7fb2b85b87..2f00ae8cc6 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md @@ -135,7 +135,7 @@ After `init`, the credentials live in `~/.nvcf-cli.state`, so later commands wor | Subcommand | What it does | When to use | |---|---|---| -| `nvcf-cli self-hosted check --pre [--local-only \| --control-plane-context=X \| --compute-plane-context=Y]` | Pre-flight: local-host tools + cluster-side prerequisites | Always run first on a new environment | +| `nvcf-cli self-hosted check --pre [--local-only \| --control-plane-context=X --compute-plane-context=Y]` | Pre-flight: local-host tools, registry credentials, and cluster-side prerequisites for both planes. Pass both context flags or neither | Always run first on a new environment | | `nvcf-cli self-hosted install --control-plane \| kubectl apply -f -` | Render + apply the control plane | When you want manual control over apply (GitOps-friendly) | | `nvcf-cli self-hosted install --compute-plane --cluster-name=X \| kubectl apply -f -` | Register cluster + render compute plane | Same — manual apply path | | `nvcf-cli self-hosted up --cluster-name=X` | One-shot first install: pre-flight → control plane → register → compute plane | Standard install path (both planes from scratch) | @@ -250,16 +250,21 @@ For step-by-step playbooks, load the prompt that matches the user's intent: `nvcf-cli` subcommands that long-run (`up`, `status`, `check`) accept four output modes: -- **`--json`** — JSONL events on stderr; one event per line; stable schema (`schemaVersion: 2`). **Use this when running under an agent.** Parse line-by-line with `jq -c .` or `json.loads()`. -- **`--plain`** — Plain timestamped lines, RFC3339 UTC, `[NN/8]` phase prefix; grep-friendly. Default in non-TTY. -- **`--accessible`** — Plain output without spinners, with verbose state markers (`[completed]`, `[running]`, `[pending]`, `[failed]`). For screen readers and constrained terminals. -- **(no flag)** — Bubbletea TTY dashboard. Default in TTY ≥100×30. Don't use under an agent (cursor-up sequences are noisy). +- `--json`: JSONL events on stderr, one event per line, stable schema (`schemaVersion: 1`). Use this when running under an agent. Redirect stderr to the parser (`2>&1 >/dev/null`), keep only lines that start with `{`, and parse line-by-line with `jq -c .` or `json.loads()`. +- `--plain`: plain timestamped lines, RFC3339 UTC, `[NN/8]` phase prefix; grep-friendly. Default in non-TTY. +- `--accessible`: plain output without spinners, with verbose state markers (`[completed]`, `[running]`, `[pending]`, `[failed]`). For screen readers and constrained terminals. +- (no flag): Bubbletea TTY dashboard. Default in a TTY of at least 100x30. Don't use under an agent (cursor-up sequences are noisy). Auto-detect picks the right mode for whatever stdout/stderr is. The CLI also honors `NO_COLOR` (any value → forces plain), `TERM=dumb` (forces plain), and `CI=truthy` (forces plain even on a fake TTY). When the terminal is smaller than 100×30, the bubbletea renderer falls back to a compact layout. Explicit `--json` is the right call for agent piping. ## On failure -`nvcf-cli` failures emit structured `phase_failed` events in JSON: +`check` never emits `phase_failed`. It ends with one `final` event: gate on +`success`, and treat a missing `final` event as a failure. See +[examples/ci-pipelines.md](examples/ci-pipelines.md) and +[reference/exit-codes.md](reference/exit-codes.md). + +Other `nvcf-cli` failures emit structured `phase_failed` events in JSON: ```json {"event":"phase_failed","phaseNum":4,"phase":"apply-cp", diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md index a3a246f19b..8462f39344 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md @@ -37,9 +37,10 @@ The operator has kubectl access to ONE compute plane only — the control plane # service is reachable via api.nvcf.example.com — no kubectl access needed): nvcf-cli init --api-url=https://api.nvcf.example.com -# Run pre-flight scoped to the compute plane only: -nvcf-cli self-hosted check --pre \ - --compute-plane-context=admin@gpu1 \ +# Run pre-flight scoped to the compute plane only. check takes both context +# flags or neither, so select the compute cluster as the current context: +kubectl config use-context admin@gpu1 +nvcf-cli self-hosted check --compute-plane \ --icms-url=https://icms.nvcf.example.com \ --json diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index 54b21985bf..3cba84af78 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -11,24 +11,35 @@ User has a working NVCF control plane (running somewhere) and wants to register ## Steps -1. **Ask for inputs:** +1. Ask for inputs: - `--cluster-name=` — must be unique within the control plane's NCA scope - `--compute-plane-context=` — the new GPU cluster's kubectl context - `--icms-url=` — control plane's public ICMS URL - GPU type? (default `H100`, but ask) -2. **Pre-flight just the compute plane:** +2. Pre-flight just the compute plane. `check` takes both context flags or + neither, so point the current context at the new GPU cluster and select + only the compute plane: ```sh - nvcf-cli self-hosted check --pre \ - --compute-plane-context=$CTX \ + kubectl config use-context "$CTX" + nvcf-cli self-hosted check --compute-plane \ --icms-url=$ICMS \ - --json | jq -c . + --json 2>&1 >/dev/null | grep '^{' > check.jsonl + jq -se 'any(.[]; .event == "final" and .success)' check.jsonl ``` - This validates the GPU operator is installed, GPU node labels are present, and ICMS is reachable via HTTP. Address any failures before proceeding. + This checks this machine's registry credentials and the compute cluster + only: leftover NVCF namespaces, node inotify limits, SIS reachability at + `--icms-url`, and the compute-plane cluster-validator (GPU resources, GPU + Operator, SMB CSI driver) when `cluster_validator_image` is set. `--pre` + would also run the control-plane checks against this cluster, so leave it + off. A missing `helm`, `helmfile` or `kubectl` is a warning here, although + `add-compute-plane` needs them. If the gate fails, show the user the + `check_completed` events with `passed: false` and `severity: "error"`, and + address them before proceeding. -3. **Run `add-compute-plane`:** +3. Run `add-compute-plane`: ```sh nvcf-cli self-hosted add-compute-plane \ @@ -42,9 +53,9 @@ User has a working NVCF control plane (running somewhere) and wants to register This is a separate subcommand from `up`. It runs only the compute-plane-relevant phases: 1 (compute-plane preflight), 5 (register), 6 (compute-plane apply), 8 (final health on the new compute plane). It does NOT touch the control plane and does NOT accept `--control-plane-context` — the control plane is reached over HTTPS at `--icms-url`. `--token` is required because there's no kubectl path to mint one from. -4. **Verify.** `nvcf-cli self-hosted status --cluster-name=$NAME --json | jq` — expect `verdict: "healthy"`. The Registered Compute Planes panel from ICMS should now list the new cluster. +4. Verify. `nvcf-cli self-hosted status --cluster-name=$NAME --json | jq`: expect `verdict: "healthy"`. The Registered Compute Planes panel from ICMS should now list the new cluster. -5. **Smoke.** [deploy-and-invoke.md](deploy-and-invoke.md) — deploy a small function to the new compute plane to confirm scheduling works. +5. Smoke. [deploy-and-invoke.md](deploy-and-invoke.md): deploy a small function to the new compute plane to confirm scheduling works. ## What if a cluster with the same name already exists? diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/install-from-scratch.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/install-from-scratch.md index d8b3151efd..3d3bfd730a 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/install-from-scratch.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/install-from-scratch.md @@ -196,26 +196,29 @@ User wants to bring up self-hosted NVCF on a fresh Kubernetes cluster (or k3d fo EOF ``` -3. Run pre-flight. Choose the flavor matching the topology: +3. Run pre-flight. Choose the flavor matching the topology. `--json` writes + JSONL to stderr, so redirect it to the parser and keep only JSON lines: ```sh # Single-cluster - nvcf-cli self-hosted check --pre --json | jq -c . + nvcf-cli self-hosted check --pre --json 2>&1 >/dev/null | grep '^{' > check.jsonl - # Split + # Split: pass both context flags nvcf-cli self-hosted check --pre \ --control-plane-context=admin@cp \ --compute-plane-context=admin@gpu1 \ - --json | jq -c . + --json 2>&1 >/dev/null | grep '^{' > check.jsonl - # Compute-only (operator with kubectl on compute plane only) - nvcf-cli self-hosted check --pre \ - --compute-plane-context=admin@gpu1 \ - --icms-url=https://icms.nvcf.example.com \ - --json | jq -c . + # Gate on the final event. A missing final event also fails the gate. + jq -se 'any(.[]; .event == "final" and .success)' check.jsonl ``` - Parse the JSONL stream. If any check fails (`"passed":false`) with `severity: error`, surface `message` + `hintURL` to the user and stop. Don't proceed to install with broken prereqs. + If the gate fails, show the user each `check_completed` event with + `passed: false` and `severity: "error"` (its `message` and `hintURL`), and + stop. Don't proceed to install with broken prereqs. Rows at + `severity: "warning"` do not fail the gate; mention them. For an operator + with kubectl access to the compute plane only, use the compute-only form in + [add-compute-plane.md](add-compute-plane.md) instead. 4. Mint an admin token if needed. `nvcf-cli init` is idempotent. Call it if the user does not have a session yet. Init talks to API Keys through the public diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md index bcce26a054..9d43b8f419 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md @@ -6,10 +6,10 @@ Full subcommand list. Always pair with [flags.md](flags.md) for global flags and | Command | Purpose | Output | Notes | |---|---|---|---| -| `self-hosted check --pre [flags]` | Pre-flight validation (no admin creds) | streaming events | Per-role with `--control-plane-context` / `--compute-plane-context`; `--local-only` skips kubectl | -| `self-hosted check --control-plane [--wait DUR]` | Every CP release healthy | streaming events | Polls until pass or `--wait` elapses | -| `self-hosted check --compute-plane --cluster-name=X [--wait DUR]` | Per-cluster worker state | streaming events | NVCA + operator + JWKS-fingerprint match | -| `self-hosted check --all [--wait DUR]` | Fan-out over all of the above | streaming events | | +| `self-hosted check --pre [flags]` | Pre-flight before install (no admin creds): local tools, registry credentials, and both planes' cluster checks | streaming events on stderr | Split clusters need both `--control-plane-context` and `--compute-plane-context`; `--local-only` makes no cluster or registry contact | +| `self-hosted check --control-plane [--wait DUR]` | Installed control plane: leftover namespaces and the control-plane cluster-validator | streaming events on stderr | `--wait` polls until pass or DUR elapses | +| `self-hosted check --compute-plane [--wait DUR]` | Installed compute plane: leftover namespaces, node inotify limits, SIS reachability, and the compute-plane cluster-validator | streaming events on stderr | SIS is probed only at a configured `--icms-url`. Without context flags it checks the current context | +| `self-hosted check --all [--wait DUR]` | Both of the above | streaming events on stderr | Gate on the `final` event; see [exit-codes.md](exit-codes.md) | | `self-hosted install --control-plane` | Render control-plane manifests | YAML on stdout | Pipe to `kubectl apply -f -` | | `self-hosted install --compute-plane --cluster-name=X` | Register cluster + render compute manifests | YAML on stdout | One invocation per GPU cluster | | `self-hosted up --cluster-name=X` | One-shot first install (both planes) | (empty) stdout, progress on stderr | Always installs both planes; for compute-only use `add-compute-plane` | diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 53b2d01865..10a7b81f53 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,10 +6,10 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, refused connection, rejected credentials); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, and a namespace with no Helm release | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, refused connection, rejected credentials); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, a namespace with no Helm release, and a `cluster-validator` row saying no `cluster_validator_image` is set | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short) and no other check failed. A check that already had its result keeps it, so a validator's own failure is exit `2` | -| `130` | Cancelled by SIGINT, SIGTERM or SIGHUP | User Ctrl-C; CI budget exceeded; pod evicted; terminal or SSH session closed | +| `130` | Cancelled by SIGINT, SIGTERM or SIGHUP, or by a quit key in the `check --wait` dashboard | User Ctrl-C; `q`, `Esc` or `Ctrl-C` in the dashboard; CI budget exceeded; pod evicted; terminal or SSH session closed | ## How an agent should react diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 8e23e7a326..e788720cb6 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -20,7 +20,7 @@ | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | | `--output=text\|json` | Legacy alias for `--json` (deprecated, removed in next major) | `text` | | `--plain` | Force plain streaming output | auto-detect | -| `--wait DURATION` | `check` only; poll until the check passes or DURATION runs out (exit `5`, `final` with `success: false`). A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | +| `--wait DURATION` | `check` only; run the checks again, 5s apart, until they pass or DURATION runs out (exit `5`, `final` with `success: false`). Each run includes the cluster-validator Job, which can take up to 5m, so allow for it or pass `--skip-cluster-validation`. A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | @@ -29,15 +29,17 @@ ## `check`-specific At least one of `--pre`, `--control-plane`, `--compute-plane`, or `--all` is -required. Each selects a role; only the selected roles contact a cluster. +required. `--pre` selects both roles; each other flag selects its own. Only +the selected roles contact a cluster. Pass both context flags or neither: +without them every selected role checks the current kubeconfig context. | Flag | Purpose | Default | |---|---|---| | `--pre` | Pre-flight: local-host tools plus cluster readiness. Skips SIS reachability, since SIS is not installed yet, unless `--all` or `--compute-plane` is also passed. With `--all`, or with a role's own flag, that role's validator checks the cluster as installed. A missing or unsupported `kubectl`, `helmfile` or `helm` fails only with `--pre`; other scopes check an installed stack, which runs none of them, so it warns | `false` | -| `--control-plane` | Control-plane checks | `false` | -| `--compute-plane` | Compute-plane checks | `false` | -| `--all` | Every category, including SIS reachability when combined with `--pre` | `false` | -| `--cluster-name NAME` | Cluster name for compute-plane checks | - | +| `--control-plane` | Check the installed control plane: leftover namespaces and the control-plane cluster-validator. Never probes SIS | `false` | +| `--compute-plane` | Check the installed compute plane: leftover namespaces, node inotify limits, SIS reachability at a configured ICMS URL, and the compute-plane cluster-validator | `false` | +| `--all` | Both `--control-plane` and `--compute-plane`, SIS reachability included, with or without `--pre` | `false` | +| `--cluster-name NAME` | Cluster name shown in the output header. No check uses it, and `check` does not require it | - | | `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Its `node-inotify-limits` row passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | ### Cluster-validator flags @@ -59,8 +61,8 @@ and deleting test namespaces an earlier validator run left behind. | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | -| `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check reclaims them after 24 hours. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now | `false` | -| `--show-logs` | Print the validator transcript to stderr after the check events. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | +| `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check that runs the validator removes them once they are 24 hours old. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now. Cannot be combined with `--wait` | `false` | +| `--show-logs` | Print each validator transcript to stderr after the check events, framed by `--- cluster-validator logs () ---` and a matching end line, where the category is `control-plane-cluster` or `compute-plane-cluster`. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | ### Registry credentials diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index 6848b9aa5b..dacada6cd6 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -1,18 +1,24 @@ # Troubleshooting -Known errors → diagnostic command → remediation. Keep in sync with the structured `phase_failed` events the CLI emits (REQ-15) — every entry below should map to an `errCategory` and a `remediation` array. +Known errors, the diagnostic command, and the remediation. Keep in sync with the structured events the CLI emits (REQ-15): outside pre-flight, every entry below should map to a `phase_failed` `errCategory` and a `remediation` array. ## Pre-flight +`check` reports each finding as a `check_completed` event, not as +`phase_failed`. The symptom is the event's `message`; cluster-validator rows +quote the validator's failed summary rows, and `--show-logs` prints the full +transcript. + | Symptom | Cause | Remediation | |---|---|---| -| `kubectl not on PATH` | Operator's `$PATH` doesn't include kubectl | Install kubectl 1.28+: https://kubernetes.io/docs/tasks/tools/install-kubectl/ | -| `helmfile not on PATH` | Same | https://github.com/helmfile/helmfile#installation | -| `helm not on PATH` | Same | https://helm.sh/docs/intro/install/ | -| `Gateway API CRDs not installed` | envoy-gateway prereq missing | `helm install eg oci://docker.io/envoyproxy/gateway-helm --namespace=envoy-gateway-system --create-namespace` | -| `default StorageClass not available` | Cluster has no default SC | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'` | -| `GPU operator not installed` (compute-plane) | nvidia GPU operator missing | Install per https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/install-gpu-operator.html, OR use `fake-gpu-operator` for dev | -| `GPU node labels missing` (compute-plane) | Nodes need `nvidia.com/gpu.family` etc. | Set `--k3s-node-label nvidia.com/gpu.family=hopper@agent:N` for k3d | +| `kubectl not found on PATH` | Operator's `$PATH` doesn't include kubectl. An error with `--pre`; other scopes warn, adding `; only an install needs it` | Install kubectl 1.28+: https://kubernetes.io/docs/tasks/tools/install-kubectl/ | +| `helmfile not found on PATH` | Same | https://github.com/helmfile/helmfile#installation | +| `helm not found on PATH` | Same | https://helm.sh/docs/intro/install/ | +| `cluster-validator not run: cluster_validator_image is not set; ...`, warning | No validator image is configured, so the cluster was not validated | Set `cluster_validator_image` in the nvcf-cli config, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE` or `--cluster-validator-image` | +| `cluster-validator did not complete, so the cluster was not validated: ...`, error | The validator could not run or ended before its verdict: RBAC denied, image pull failure, its own timeout | Fix the cause the message names, or pass `--skip-cluster-validation` | +| `cluster-validator reported failures: Gateway API CRDs: Not Installed` | Envoy Gateway prereq missing | `helm install eg oci://docker.io/envoyproxy/gateway-helm --namespace=envoy-gateway-system --create-namespace` | +| `cluster-validator reported failures: Default StorageClass: Not Found` | Cluster has no default SC | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'` | +| `cluster-validator reported failures: GPU Resources: Not Available` (compute-plane) | No node advertises an allocatable GPU: no GPU nodes, or the NVIDIA GPU Operator is missing or not working | Install per https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/install-gpu-operator.html, OR use `fake-gpu-operator` for dev. `GPU Operator: Not Installed` alone is a warning | | `stale-namespaces`: ` (stuck Terminating: ...)`, error, exit `2` | The namespace has been deleting for over 2 minutes, or its conditions report a deletion failure. Usually an object inside it still holds a finalizer | Run the commands in the row in order: read `kubectl get ns -o jsonpath='{.status.conditions}'`, list what is left with the `api-resources` command, and resolve those objects. Force-clear the namespace finalizers only as a last resort | | `stale-namespaces`: ` (Terminating: deleting for )`, warning | A normal deletion is still draining volumes and finalizers | Wait and rerun `check`; `--wait` polls this row. It becomes `stuck Terminating` after 2 minutes | | `stale-namespaces`: ` (Helm release mid-operation: )`, warning | An interrupted install, upgrade, rollback or teardown left the release `pending-*` or `uninstalling`. The next `up` fails on it | If no install or teardown is running, read `helm history -n `, then finish it with `helm rollback` or `helm uninstall` | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 57b2254532..02c1fa3614 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -8,8 +8,8 @@ # # Environment variables override config file values. # Config keys automatically map to environment variables: -# - Config: base_http_url → Env: NVCF_BASE_HTTP_URL -# - Config: client_id → Env: NVCF_CLIENT_ID +# - Config: base_http_url -> Env: NVCF_BASE_HTTP_URL +# - Config: client_id -> Env: NVCF_CLIENT_ID # - etc. # ============================================================================== @@ -112,9 +112,9 @@ api_keys_owner_id: svc@nvcf-api.local # set these Host headers to route requests correctly without requiring DNS setup. # # The gateway routes requests based on the Host header: -# - api-keys.{domain} → API Keys service -# - api.{domain} → NVCF API service -# - *.invocation.{domain} → Invocation service +# - api-keys.{domain} -> API Keys service +# - api.{domain} -> NVCF API service +# - *.invocation.{domain} -> Invocation service # # Example: If your gateway domain is "nvcf.example.com": # api_keys_host: api-keys.nvcf.example.com @@ -149,7 +149,8 @@ api_keys_owner_id: svc@nvcf-api.local # CLI reports that as a warning only when GPU Resources is the one critical # check that failed, and as a failure otherwise. # -# The Job needs a ServiceAccount, ClusterRole, and ClusterRoleBinding, which +# The Job needs a ServiceAccount, ClusterRole, and ClusterRoleBinding, plus a +# Role and RoleBinding in default that let it read its own ConfigMap, which # the CLI creates and removes per run. The kubeconfig context therefore needs # permission to manage those objects; without it the validator cannot run and # the check fails. Pass --skip-cluster-validation to run without it. @@ -189,10 +190,10 @@ api_keys_owner_id: svc@nvcf-api.local # - ghcr.io:443 # Image for the node inotify probe and the control-plane validator's -# node-to-node overlay probe, which needs sh and a busybox-style nc. Defaults to busybox:1.36 from Docker Hub. -# Set a mirror for air-gapped clusters. The probe pods get no imagePullSecrets, -# so the image must be pullable anonymously or through node-level registry -# credentials. +# node-to-node overlay probe, which needs sh and a busybox-style nc. Defaults +# to NVCF_N2N_PROBE_IMAGE, then busybox:1.36 from Docker Hub. Set a mirror for +# air-gapped clusters. The probe pods get no imagePullSecrets, so the image +# must be pullable anonymously or through node-level registry credentials. # # Config key: cluster_validator_probe_image # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE @@ -274,7 +275,7 @@ api_keys_owner_id: svc@nvcf-api.local # # 2. Environment Variable Mapping: # - Config keys automatically map to NVCF_* environment variables -# - Example: base_http_url → NVCF_BASE_HTTP_URL +# - Example: base_http_url -> NVCF_BASE_HTTP_URL # - Exception: API Keys service uses unprefixed vars (API_KEYS_*) # # 3. Token Generation (Simplified!): diff --git a/src/clis/nvcf-cli/cmd/self_hosted.go b/src/clis/nvcf-cli/cmd/self_hosted.go index 19c82c884f..682fcf2328 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted.go +++ b/src/clis/nvcf-cli/cmd/self_hosted.go @@ -96,7 +96,8 @@ func init() { selfHostedCmd.PersistentFlags().StringVar(&selfHostedComputePlaneStack, "compute-plane-stack", "", "Compute-plane stack source: local path, git URL, or oci:// URL (default: built-in OCI URL pinned to this CLI version)") selfHostedCmd.PersistentFlags().StringVar(&selfHostedEnv, "env", "local", - "Helmfile environment (e.g. local, prd)") + "Helmfile environment (e.g. local, prd). check reads the stack's environments/.yaml only when "+ + "this or HELMFILE_ENV names it, so pass the install's --env") selfHostedCmd.PersistentFlags().BoolVar(&selfHostedNoApply, "no-apply", false, "Emit YAML to stdout without invoking kubectl (install only)") selfHostedCmd.PersistentFlags().BoolVar(&selfHostedNonInter, "non-interactive", false, @@ -106,9 +107,9 @@ func init() { selfHostedCmd.PersistentFlags().StringVar(&selfHostedOutput, "output", "text", "Output format for check: text or json") selfHostedCmd.PersistentFlags().StringVar(&selfHostedWait, "wait", "", - "Block on check until pass or duration elapses (e.g. 5m). "+ - "With --pre --compute-plane the cluster-validator's 5m budget dominates the 5s poll; "+ - "pair with --skip-cluster-validation for a tight retry cadence.") + "check only: run the checks again, 5s apart, until they pass or the duration elapses (e.g. 15m), "+ + "then exit 5. Each run includes the cluster-validator Job, which can take up to 5m; "+ + "--skip-cluster-validation makes each run fast. Cannot be combined with --no-cleanup.") selfHostedCmd.PersistentFlags().StringVar(&selfHostedICMSURL, "icms-url", "", "ICMS endpoint for cluster register (default: derived from base_http_url; env: NVCF_ICMS_URL)") selfHostedCmd.PersistentFlags().StringVar(&selfHostedICMSURL, "sis-url", "", diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 86e5853793..af199323e4 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -94,12 +94,18 @@ var selfHostedCheckCmd = &cobra.Command{ func init() { selfHostedCmd.AddCommand(selfHostedCheckCmd) - selfHostedCheckCmd.Flags().BoolVar(&checkPre, "pre", false, "Run pre-flight (local-host + cluster readiness)") - selfHostedCheckCmd.Flags().BoolVar(&checkControlPlane, "control-plane", false, "Run control-plane health checks") + selfHostedCheckCmd.Flags().BoolVar(&checkPre, "pre", false, + "Run pre-flight before an install: local tools (a missing one fails), registry credentials, and "+ + "both roles' cluster checks for a cluster not yet installed, without SIS reachability. With --all "+ + "or a role flag, that role is checked as installed") + selfHostedCheckCmd.Flags().BoolVar(&checkControlPlane, "control-plane", false, + "Check the installed control plane") selfHostedCheckCmd.Flags().BoolVar(&checkComputePlane, "compute-plane", false, - "Run compute-plane health checks. Requires --cluster-name.") - selfHostedCheckCmd.Flags().BoolVar(&checkAll, "all", false, "Run all check categories") - selfHostedCheckCmd.Flags().StringVar(&checkClusterName, "cluster-name", "", "Cluster name for compute-plane checks") + "Check the installed compute plane, including SIS reachability at a configured ICMS URL") + selfHostedCheckCmd.Flags().BoolVar(&checkAll, "all", false, + "Check the installed control plane and compute plane") + selfHostedCheckCmd.Flags().StringVar(&checkClusterName, "cluster-name", "", + "Cluster name shown in the check output header; no check uses it") selfHostedCheckCmd.Flags().BoolVar(&checkLocalOnly, "local-only", false, "Run local-host checks only (no cluster or registry contact); the skipped checks are reported as skipped rows") selfHostedCheckCmd.Flags().BoolVar(&checkSkipInotifyCheck, "skip-inotify-check", false, @@ -127,8 +133,9 @@ func init() { selfHostedCheckCmd.Flags().BoolVar(&checkClusterValidatorNoCleanup, "no-cleanup", false, "Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging instead of "+ "removing them after the run. A kept Job whose pod cannot pull its image is suspended, which "+ - "deletes the pod. They are reclaimed by a later check after 24 hours; the result prints the "+ - "kubectl command that removes them now.") + "deletes the pod. The result prints the kubectl command that removes them now; otherwise a later "+ + "check that runs the validator removes them once they are 24 hours old. Cannot be combined "+ + "with --wait.") selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorRegistries, "cluster-validator-registries", nil, "Additional container registries to check: their credentials from this machine, and their "+ "reachability from a pod of the control-plane validator. Format: host[:port][/path] "+ @@ -164,8 +171,8 @@ func init() { _ = viper.BindPFlag("cluster_validator_external_components", selfHostedCheckCmd.Flags().Lookup("cluster-validator-external-components")) selfHostedCheckCmd.Flags().BoolVar(&checkShowLogs, "show-logs", false, - "Print the cleaned cluster-validator transcript to stderr after the check events. "+ - "Useful when piping --json output to a script that also wants the transcript.") + "Print each cluster-validator transcript to stderr after the check output, framed with the check "+ + "category it ran for. The transcript is not JSON, so leave this off when a parser reads --json.") } func runSelfHostedCheck(c *cobra.Command, _ []string) error { @@ -199,28 +206,24 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" skipClusterValidation := clusterValidationSkipped() - // Mode is needed before image resolution so computePlaneIsTargeted can - // gate the registry round trip. ValidateFlags in PersistentPreRunE - // guarantees mode is ModeSingle or ModeSplit here. + // ValidateFlags in PersistentPreRunE guarantees mode is ModeSingle or + // ModeSplit here. mode := kubectx.SelectMode(selfHostedControlPlaneContext, selfHostedComputePlaneContext) // Resolve the validator image up-front so we can right-size the // outer timeout (only when the validator actually runs). Empty == not // configured anywhere. One image covers both roles (VALIDATOR_ROLE - // selects the check set). - // *IsVisited, matching the dispatch below. --pre in ModeSplit visits both - // clusters but targets neither role, so gating image resolution on - // *IsTargeted left the validator unresolved and both probes nil, with no - // note explaining why. - anyValidatorIsTargeted := !localOnly && !skipClusterValidation && + // selects the check set). Gated on the clusters the dispatch below + // visits, so every visited role that runs a validator has its image. + anyValidatorRuns := !localOnly && !skipClusterValidation && (computePlaneIsVisited() || controlPlaneIsVisited()) clusterValidatorImage, unresolvedImage := "", "" - if anyValidatorIsTargeted { + if anyValidatorRuns { clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(runCtx) } // An image whose tag did not resolve is still sized for: --wait resolves // it again on every poll, and the validator runs once it does. - clusterValidatorConfigured := anyValidatorIsTargeted && (clusterValidatorImage != "" || unresolvedImage != "") + clusterValidatorConfigured := anyValidatorRuns && (clusterValidatorImage != "" || unresolvedImage != "") // Every validator run that may leave objects in a cluster registers its // removal command here, across --wait polls, so every exit can print it. @@ -712,28 +715,9 @@ func parseToleration(entry string) (corev1.Toleration, error) { return t, nil } -// computePlaneIsTargeted reports whether the compute-plane validator should run: -// --compute-plane, --all, or --pre in ModeSingle. --pre in ModeSplit does not -// target it because separate clusters have no implicit compute-plane role. -func computePlaneIsTargeted(mode kubectx.Mode) bool { - return checkComputePlane || checkAll || (checkPre && mode == kubectx.ModeSingle) -} - -// controlPlaneIsTargeted mirrors computePlaneIsTargeted but for the control -// plane. Runs when: --control-plane, --all, or --pre in ModeSingle. -func controlPlaneIsTargeted(mode kubectx.Mode) bool { - return checkControlPlane || checkAll || (checkPre && mode == kubectx.ModeSingle) -} - -// The *IsVisited pair reports whether a cluster should be contacted at all, -// which is broader than whether its role-specific check set runs. --pre in -// ModeSplit visits both clusters for the shared pre-install checks (stale -// namespaces) without targeting either role, so the targeting predicates alone -// cannot gate the dispatch. -// -// No mode parameter, unlike *IsTargeted: "(X || (pre && single)) || pre" -// absorbs to "X || pre", so the mode cannot change the answer. Taking one -// would imply a mode-dependence that does not exist. +// The *IsVisited pair reports whether a role's checks run: its own flag, +// --all, or --pre, which checks both roles before an install in either mode. +// They gate the dispatch, the validators, the inotify probe and the budget. func computePlaneIsVisited() bool { return checkComputePlane || checkAll || checkPre } @@ -754,13 +738,13 @@ func withoutHostLocalChecks(cfg selfhosted.PreflightConfig) selfhosted.Preflight return cfg } -// maybeShowClusterValidatorLogs prints the cleaned cluster-validator transcript -// to the given writer when --show-logs is set, framed by markers so operators -// can find it in mixed CLI output. Silent no-op when: -// - --show-logs is not set, -// - the cluster-validator check did not run (--skip-cluster-validation, or -// no compute-plane category was selected), -// - the runner returned no Logs (Job never produced output). +// maybeShowClusterValidatorLogs prints each cleaned cluster-validator +// transcript to w when --show-logs is set, framed by markers that name the +// check category it ran for, so operators can find it in mixed CLI output and +// tell the two roles apart: both report under the same check ID, and a +// validator image that predates roles prints no role line of its own. Nothing +// is printed for a validator that did not run (skipped, no image, a role not +// visited) or produced no output. // // Runs once the sink has closed, on every exit path, interrupt included, so // the transcript appears after the structured events or table, whichever @@ -773,12 +757,9 @@ func maybeShowClusterValidatorLogs(w io.Writer, results []selfhosted.CheckResult if r.ID != "cluster-validator" || r.Logs == "" { continue } - fmt.Fprintln(w, "--- cluster-validator logs ---") + fmt.Fprintf(w, "--- cluster-validator logs (%s) ---\n", r.Category) fmt.Fprint(w, r.Logs) - fmt.Fprintln(w, "--- end cluster-validator logs ---") - // No early return: both roles produce a cluster-validator result under - // the same ID, so stopping at the first drops the other transcript - // entirely from --all --show-logs. + fmt.Fprintf(w, "--- end cluster-validator logs (%s) ---\n", r.Category) } } @@ -818,12 +799,14 @@ func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventS return sink, err } -// runPreflightByRole dispatches RunPreflightForRole using the role(s) derived -// from the context-flag combination per SRD/SDD §5.4: +// runPreflightByRole dispatches RunPreflightForRole for the roles the scope +// flags visit (see the *IsVisited pair): // -// - --local-only or cfg.LocalOnly → RoleLocalOnly only -// - ModeSingle (no context flags) → RoleControlPlane + RoleComputePlane sequentially -// - ModeSplit (both context flags set) → RoleControlPlane + RoleComputePlane in parallel +// - --local-only (cfg.LocalOnly): RoleLocalOnly only, with a skipped row for +// each cluster check left out; +// - ModeSingle (no context flags): the visited roles in turn, on one cluster; +// - ModeSplit (both context flags): the visited roles in parallel, each on +// its own context. // // mode is the already-resolved kubectx.Mode (hoisted to the caller so image // resolution and timeout sizing share the same answer). clusterValidatorImage @@ -1010,7 +993,6 @@ func runPreflightByRole( if runControlPlane { cpRC := selfhosted.RoleConfig{ - SISURL: icmsURL, ClusterValidator: cpClusterValidator, ClusterValidatorImage: clusterValidatorImage, ClusterValidatorPullSecret: checkClusterValidatorPullSecret, @@ -1243,14 +1225,6 @@ func anyCutShort(results []selfhosted.CheckResult) bool { return false } -func isBlockingFailure(r selfhosted.CheckResult) bool { - return r.IsBlockingFailure() -} - -// anyFailed returns true if any check failed at error severity. Warnings do -// not trigger non-zero exit per spec §6.3. -// isBlockingFailure is the single definition of "this fails the run". Both the -// exit code and the JSON verdict derive from it, so they cannot disagree. // checkPreflightTools is a test seam over the local tool checks, so command // tests do not depend on what is installed on the machine running them. var checkPreflightTools = selfHostedPreflightTools @@ -1382,9 +1356,12 @@ func anyWarningToWaitOn(results []selfhosted.CheckResult) bool { return false } +// anyFailed reports a result that fails the run. Warnings do not. The exit +// code and the final event's verdict both grade with IsBlockingFailure, so +// they cannot disagree. func anyFailed(results []selfhosted.CheckResult) bool { for _, r := range results { - if isBlockingFailure(r) { + if r.IsBlockingFailure() { return true } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 47729160bf..1449151662 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -623,7 +623,8 @@ func TestCheck_ShowLogsOnInterrupt(t *testing.T) { var exitErr *ExitCodeError require.ErrorAs(t, err, &exitErr) assert.Equal(t, 130, exitErr.Code) - assert.Contains(t, stderr, "--- cluster-validator logs ---\nValidator role: control-plane\nTier-1: checking\n") + assert.Contains(t, stderr, + "--- cluster-validator logs (control-plane-cluster) ---\nValidator role: control-plane\nTier-1: checking\n") } // A check's own timeout under a live budget is its result: exit 2, not 5. diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go index 8ded65fdcb..41cbc1be95 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_test.go @@ -358,80 +358,6 @@ func TestCheck_SplitClusterMode(t *testing.T) { assert.Contains(t, categories, "compute-plane-cluster", "expected compute-plane-cluster in split mode") } -// TestComputePlaneIsTargeted tests the predicate that gates the cluster-validator -// probe. The validator should run when the compute plane is explicitly targeted -// (--compute-plane, --all) or implicitly targeted by ModeSingle + --pre. -// It must NOT run for --pre alone in ModeSplit, where the two context flags -// identify separate clusters and --pre does not constitute targeting the compute plane. -func TestComputePlaneIsTargeted(t *testing.T) { - t.Cleanup(func() { - checkPre = false - checkComputePlane = false - checkAll = false - }) - - tests := []struct { - name string - pre bool - cp bool - all bool - mode kubectx.Mode - want bool - }{ - {"--compute-plane single", false, true, false, kubectx.ModeSingle, true}, - {"--compute-plane split", false, true, false, kubectx.ModeSplit, true}, - {"--all single", false, false, true, kubectx.ModeSingle, true}, - {"--all split", false, false, true, kubectx.ModeSplit, true}, - {"--pre single - implicit compute plane", true, false, false, kubectx.ModeSingle, true}, - {"--pre split - must not target compute plane", true, false, false, kubectx.ModeSplit, false}, - {"--control-plane only", false, false, false, kubectx.ModeSingle, false}, - {"no relevant flag", false, false, false, kubectx.ModeSingle, false}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - checkPre = tt.pre - checkComputePlane = tt.cp - checkAll = tt.all - assert.Equal(t, tt.want, computePlaneIsTargeted(tt.mode)) - }) - } -} - -func TestControlPlaneIsTargeted(t *testing.T) { - t.Cleanup(func() { - checkPre = false - checkControlPlane = false - checkAll = false - }) - - tests := []struct { - name string - pre bool - cp bool - all bool - mode kubectx.Mode - want bool - }{ - {"--control-plane single", false, true, false, kubectx.ModeSingle, true}, - {"--control-plane split", false, true, false, kubectx.ModeSplit, true}, - {"--all single", false, false, true, kubectx.ModeSingle, true}, - {"--all split", false, false, true, kubectx.ModeSplit, true}, - {"--pre single -- implicit control plane", true, false, false, kubectx.ModeSingle, true}, - {"--pre split -- must not target control plane", true, false, false, kubectx.ModeSplit, false}, - {"--compute-plane only", false, false, false, kubectx.ModeSingle, false}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - checkPre = tt.pre - checkControlPlane = tt.cp - checkAll = tt.all - assert.Equal(t, tt.want, controlPlaneIsTargeted(tt.mode)) - }) - } -} - // TestCheck_ComputePlaneFlagRunsChecks verifies that --compute-plane alone // produces compute-plane-cluster category events. Before the gating fix this // flag was a complete no-op and produced no check events at all. @@ -531,14 +457,11 @@ func parseJSONLLines(t *testing.T, s string) []map[string]any { return out } -// TestPlaneIsVisited covers the dispatch predicates, which are broader than -// the targeting predicates: --pre in ModeSplit visits both clusters for the -// shared pre-install checks without targeting either role. Gating the split -// dispatch on the targeting predicates alone would make --pre a no-op there. +// TestPlaneIsVisited covers the dispatch predicates: --pre visits both roles +// in either mode, and a role flag alone visits only its own role. // // The mode column is kept to document that the answer is the same in both -// modes: the predicate is mode-independent by absorption, so a table that -// varied only the mode would be asserting a dependence that does not exist. +// modes. func TestPlaneIsVisited(t *testing.T) { t.Cleanup(func() { checkPre = false @@ -701,20 +624,22 @@ func TestEmitCheckFinal_ErrorIsAFailure(t *testing.T) { } // Both roles emit a cluster-validator result under the same ID, so stopping at -// the first drops the other transcript entirely from --all --show-logs. -func TestMaybeShowClusterValidatorLogs_PrintsBothRoles(t *testing.T) { +// the first drops the other transcript entirely from --all --show-logs. Each +// is framed with its category: a validator image that predates roles prints +// no role line, so the frame is all that tells the two apart. +func TestMaybeShowClusterValidatorLogs_PrintsBothRolesLabelled(t *testing.T) { prev := checkShowLogs checkShowLogs = true t.Cleanup(func() { checkShowLogs = prev }) var buf bytes.Buffer maybeShowClusterValidatorLogs(&buf, []selfhosted.CheckResult{ - {ID: "cluster-validator", Logs: "control-plane transcript\n"}, - {ID: "cluster-validator", Logs: "compute-plane transcript\n"}, + {ID: "cluster-validator", Category: selfhosted.CategoryControlPlane, Logs: "first transcript\n"}, + {ID: "cluster-validator", Category: selfhosted.CategoryComputePlane, Logs: "second transcript\n"}, }) - out := buf.String() - assert.Contains(t, out, "control-plane transcript") - assert.Contains(t, out, "compute-plane transcript") - assert.Equal(t, 2, strings.Count(out, "--- cluster-validator logs ---")) + assert.Equal(t, "--- cluster-validator logs (control-plane-cluster) ---\nfirst transcript\n"+ + "--- end cluster-validator logs (control-plane-cluster) ---\n"+ + "--- cluster-validator logs (compute-plane-cluster) ---\nsecond transcript\n"+ + "--- end cluster-validator logs (compute-plane-cluster) ---\n", buf.String()) } diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 42e1d46b14..00aa185bb4 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,20 +31,20 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTU5MjksCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTk4NTYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + - "bWQiLAogICAgICAic2hhMjU2IjogImFhOWY3ZTI0NmYzODA0YjMzNDNiNjU2MWU1YmNmZTdiYjcy" + - "YjI0MDIxOTMzZTA0OWY4NWUwMDI4OTAzYmJmYTQiLAogICAgICAic2l6ZSI6IDI0OTE1CiAgICB9" + + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNWMxOThmZTVkMGM1Mjc5ZGJkYWU4YzMx" + "ZWNlNTE3YWQwZWFiODVkYzMyMmQ1ZDMyNjA4N2FjMzhlY2M0ODRjIiwKICAgICAgInNpemUiOiAz" + "ODY5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNmRmMjg0NjBiNTgzNDNl" + - "MjEwMjVhYTViZDc5ZjMzYjUxMmRjYTlmZjM5YjZhYjI2MDRmYzNmZWJiMDE1ODhiNCIsCiAgICAg" + - "ICJzaXplIjogMzE2NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogImU4" + - "NGI5ZDI4MzA2MTk2MzBiM2FmOWZlOTc0MDQ3OGU0YWQ1ZTBiNGVhYjMwNGI2Y2FmZjQyYjExNDFi" + - "ODJjNmYiLAogICAgICAic2l6ZSI6IDMzMzMKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiMjQxODJlYmIzMTdiYWIx" + + "OWFkZTMzOTEwYjIyNTUzMDE2OWQyYTlmYjQ1NGU0NDZkNmZmNjY4OWJlZTU1Yjg0YSIsCiAgICAg" + + "ICJzaXplIjogMzI3MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjVi" + + "ZTEwODFmNWQyZTdkMjdjZmU5NjI2MzhiZWNhYzBkODE4MmM4NzViZWM5OTZkNzBlOTU3MDU1YWU1" + + "YjliNmEiLAogICAgICAic2l6ZSI6IDQwNDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -56,8 +56,8 @@ const skillDataZipBase64 = "" + "NzRmMWM5MGE1ZjI2NTUwNWM0MWJkMjQ5ZGQ2Y2MzOGZkOTE4NGY2Njk3ZDhmMDBjNTY1YSIsCiAg" + "ICAgICJzaXplIjogMzc3NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1h" + "bmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWQiLAogICAgICAic2hhMjU2" + - "IjogIjgzMTA5NmY5MmZjMjU2NWQ0NDg1YmExZDBmNWM1MGZiYTljNjQyNTIxZmRhOTZhNzllZDUy" + - "MmU0ZmU3NWEzYmQiLAogICAgICAic2l6ZSI6IDEwMjQxCiAgICB9LAogICAgewogICAgICAicGF0" + + "IjogImQxMmE1N2UwNGM4NmYzZTQ4NTZkNjcyMWM4ODk1OGE1ZmE2M2RjMzg5ZWRkMzNmZTliYTRh" + + "Y2RkMzcwYWUyNTgiLAogICAgICAic2l6ZSI6IDEwNTgyCiAgICB9LAogICAgewogICAgICAicGF0" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1k" + "IiwKICAgICAgInNoYTI1NiI6ICI3NDdiNmM3OTJkYzI0NmE3OWE1MTA4YTk0NWQ5YWIyNzc1MTE3" + "MjA3ZGExODlmYjE0Mjg0MzQ1NzRhYTYxZTFmIiwKICAgICAgInNpemUiOiAxOTkyCiAgICB9LAog" + @@ -65,18 +65,18 @@ const skillDataZipBase64 = "" + "bi5tZCIsCiAgICAgICJzaGEyNTYiOiAiMWE2NmI5YTM3MmJmOTI3NjQzOTdjOWVmMzliNzNlNDZm" + "NzE2M2ExNTgyMzgzZjFkNGJiNDE4ZThjM2Q2M2QwMyIsCiAgICAgICJzaXplIjogODY3NgogICAg" + "fSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9j" + - "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMmI0YjAzNmU3NTA3MDZiOWUzYjgxZmNkNjAy" + - "YzcwNmY3NGY3N2Y2MjQwZmI3YWFkNjIwYzg3OWZmNzQ5NmNkOCIsCiAgICAgICJzaXplIjogODk5" + - "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ODZhMjA3N2Q0ZTk1MjdkOTBm" + - "YmJlMWI5MmQ1MzI3YWZhZWIyYmYyNmE3ZDQ5NmZiOGE0NDUyZjBkYWE5ZGJmIiwKICAgICAgInNp" + - "emUiOiAzNTgyCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1NDBkYjcxZGNjNzUwYmFi" + - "YmE5YTMzN2ZjM2M1MGViYmI0MmZiODU0YWYyNmU2MzVmMzcxNmI0NWM2N2UzYWZiIiwKICAgICAg" + - "InNpemUiOiAxOTc0NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + - "YjZlYTM0ZGQ5MTM4MTRmNjQ1ZmU4NTZiMmFiZGQ0ZjgzZjQwMTM2Yzk3YmVjMjI0NDQzNWM1ZmRk" + - "ZWM1NzIiLAogICAgICAic2l6ZSI6IDY4MjYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiZTk0NGU3ZDljYWJhYWVjYzQyZWIzYWQ1NTZk" + + "MWM4M2ZhMDRmMTdiODhiZGQzZThhOWU4YTViMmM5Y2Y3ZTQzZiIsCiAgICAgICJzaXplIjogOTM5" + + "OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlMzlmMTg1NTg4MTM3M2Y3NjQw" + + "MjQ5NjA5NDk0MWUzMGM4YjM2ZDA0NjIwMTg4NjVkZjEwZTBjYzViNGZjN2Y4IiwKICAgICAgInNp" + + "emUiOiAzNzQzCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NTU1YzRhN2VmYmU0MTg4" + + "OTVkOGJhNjRjN2RjYjllMmQ2NzQwZDRiM2VmNDI2NGZiZDIyZTU5OTNhMTM4YWQwIiwKICAgICAg" + + "InNpemUiOiAyMDU3MQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjc5" + + "ZmFkNjRjNjM5YWIwNDEzNGFiMzE2OWYxZmM2YTQyMTAxNzk4YjgwNWUzYmI2YjlmZGRlN2NkOTcz" + + "NmE4MGMiLAogICAgICAic2l6ZSI6IDc3OTgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCOBql6xKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCDqTbERKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -227,263 +227,270 @@ const skillDataZipBase64 = "" + "ZGUgdGhlIHN0b3JlZCB2YWx1ZSAoZm9yIGV4YW1wbGUgYSBzaG9ydGVyLWxpdmVkIHRva2VuIGZy" + "b20gQ0kpLgoKIyMgQ29yZSBzdWJjb21tYW5kcwoKfCBTdWJjb21tYW5kIHwgV2hhdCBpdCBkb2Vz" + "IHwgV2hlbiB0byB1c2UgfAp8LS0tfC0tLXwtLS18CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + - "ZWNrIC0tcHJlIFstLWxvY2FsLW9ubHkgXHwgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9WCBcfCAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZXWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xz" + - "ICsgY2x1c3Rlci1zaWRlIHByZXJlcXVpc2l0ZXMgfCBBbHdheXMgcnVuIGZpcnN0IG9uIGEgbmV3" + - "IGVudmlyb25tZW50IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgXHwga3ViZWN0bCBhcHBseSAtZiAtYCB8IFJlbmRlciArIGFwcGx5IHRoZSBjb250cm9s" + - "IHBsYW5lIHwgV2hlbiB5b3Ugd2FudCBtYW51YWwgY29udHJvbCBvdmVyIGFwcGx5IChHaXRPcHMt" + - "ZnJpZW5kbHkpIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxh" + - "bmUgLS1jbHVzdGVyLW5hbWU9WCBcfCBrdWJlY3RsIGFwcGx5IC1mIC1gIHwgUmVnaXN0ZXIgY2x1" + - "c3RlciArIHJlbmRlciBjb21wdXRlIHBsYW5lIHwgU2FtZSDigJQgbWFudWFsIGFwcGx5IHBhdGgg" + - "fAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8IE9uZS1zaG90" + - "IGZpcnN0IGluc3RhbGw6IHByZS1mbGlnaHQg4oaSIGNvbnRyb2wgcGxhbmUg4oaSIHJlZ2lzdGVy" + - "IOKGkiBjb21wdXRlIHBsYW5lIHwgU3RhbmRhcmQgaW5zdGFsbCBwYXRoIChib3RoIHBsYW5lcyBm" + - "cm9tIHNjcmF0Y2gpIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1j" + - "bHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuOiBlbWl0IHBoYXNlLWJ5LXBoYXNlIHBsYW4gKyBFVEEg" + - "d2l0aG91dCBjaGFuZ2luZyBzdGF0ZSB8IEFnZW50IC8gQ0kgcHJldmlldyBiZWZvcmUgY29tbWl0" + - "IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + - "bWU9WCAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZIC0taWNtcy11cmw94oCmIC0tdG9rZW49JEpX" + - "VGAgfCBBZGQgYSBuZXcgY29tcHV0ZSBwbGFuZSB0byBhbiAqZXhpc3RpbmcqIGNvbnRyb2wgcGxh" + - "bmUgKG5vIENQIGluc3RhbGwpIHwgQWRkaW5nIHRoZSAybmQsIDNyZCwg4oCmIEdQVSBjbHVzdGVy" + - "IGFmdGVyIHRoZSBpbml0aWFsIGB1cGAgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3Rh" + - "bGwgLS1jb250cm9sLXBsYW5lYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0" + - "cm95YCBvbiB0aGUgY29udHJvbCBwbGFuZSAocmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGls" + - "bCByZWdpc3RlcmVkKSB8IEZpbmFsIHRlYXJkb3duIGFmdGVyIGFsbCBjb21wdXRlIHBsYW5lcyBh" + - "cmUgZ29uZSwgb3Igc2NyaXB0ZWQgcGlwZWxpbmVzIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "dW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBw" + - "cmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBhIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMg" + - "dW5yZWdpc3Rlciwgbm8gZHJhaW4pIHwgSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgd2l0" + - "aG91dCB0aGUgSUNNUy1zaWRlIGNsZWFudXAgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmlu" + - "c3RhbGwgLS1uby1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0g" + - "Z2V0IG1hbmlmZXN0YCB8IEdpdE9wczsgYFx8IGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1p" + - "dCArIEFyZ28gYXBwbGllcyB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVy" + - "LW5hbWU9WGAgfCBPcmNoZXN0cmF0b3I6IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBs" + - "YW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBpbiBJQ01TIHwgU3RhbmRhcmQgInJlbW92ZSBvbmUgR1BV" + - "IGNsdXN0ZXIiIHBhdGggfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29u" + - "ZmlybWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUg" + - "cGxhbmUgKyBjb250cm9sIHBsYW5lIHwgRnVsbCB1bmluc3RhbGwgfAp8IGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2" + - "aWV3IChwaGFzZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBczsgbm8gaGVsbS9o" + - "ZWxtZmlsZSBjb250YWN0KSB8ICoqQUxXQVlTIHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93bmAq" + - "KiB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9WF0gWy0t" + - "d2F0Y2hdIFstLWpzb25dYCB8IFNuYXBzaG90IGRhc2hib2FyZCBvZiBjbHVzdGVyIGlkZW50aXR5" + - "ICsgY29tcG9uZW50IGhlYWx0aCArIHJlY2VudCBldmVudHMgfCBSb3V0aW5lIGhlYWx0aCBjaGVj" + - "a3M7IGAtLXdhdGNoYCBmb3IgbGl2ZSB8CnwgYG52Y2YtY2xpIGluaXRgIHwgTWludCBhZG1pbiB0" + - "b2tlbiBmcm9tIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkgfCBC" + - "ZWZvcmUgYW55IGNsdXN0ZXItbWFuYWdlbWVudCBvcGVyYXRpb247IGlkZW1wb3RlbnQgfAp8IGBu" + - "dmNmLWNsaSBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1YIC0tbmNhLWlkPVkgLS1yZWdpb249WiBb" + - "LS1pZ25vcmUtZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgY2x1c3RlciBKV0tTK09JREMgaXNzdWVy" + - "IHdpdGggSUNNUyB8IFN0YW5kYWxvbmUgcmVnaXN0ZXIgKHdpdGhvdXQgY29tcHV0ZS1wbGFuZSBp" + - "bnN0YWxsKSB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPVkg" + - "Wy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVkIGNsdXN0ZXIgcmVnaXN0cmF0aW9u" + - "cyBmcm9tIElDTVMgfCBDaGVjayByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbmFtZXMgYW5kIElE" + - "cyB3aXRoIHRoZSBhZG1pbiB0b2tlbiB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + - "c3Rlci1pZD1JRGAgfCBSb3RhdGUgY2x1c3RlciBKV0tTIGluIElDTVMgfCBXaGVuIE5WQ0EncyBL" + - "OHMgc2lnbmluZyBrZXkgY2hhbmdlZCBhbmQgUFNBVCB2ZXJpZmljYXRpb24gc3RhcnRlZCA0MDEt" + - "aW5nIHwKfCBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92" + - "ZSBjbHVzdGVyIHJlZ2lzdHJhdGlvbiBmcm9tIElDTVMgfCAqKkNvbmZpcm0gd2l0aCB1c2VyLioq" + - "IERlc3Ryb3lzIElDTVMgc3RhdGUgZm9yIHRoZSBjbHVzdGVyLiB8CnwgYG52Y2YtY2xpIGFwaS1r" + - "ZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0i4oCmIiAtLWV4cGlyZXMtaW49MWhgIHwgTWludCBi" + - "b3RoIGEgZnVuY3Rpb24gQVBJIGtleSBhbmQgYSB0YXNrIEFQSSBrZXkgKGRlZmF1bHQpIHwgQmVm" + - "b3JlIGludm9raW5nIGZ1bmN0aW9ucyBvciBjcmVhdGluZyB0YXNrczsgcnVuIGFmdGVyIGV2ZXJ5" + - "IGBpbml0YCB8CnwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgZnVuY3Rpb24gLS1k" + - "ZXNjcmlwdGlvbj0i4oCmImAgfCBNaW50IGEgZnVuY3Rpb24gQVBJIGtleSBvbmx5IChgaW52b2tl" + - "X2Z1bmN0aW9uYCBzY29wZSkgfCBXaGVuIG9ubHkgZnVuY3Rpb24gaW52b2NhdGlvbiBpcyBuZWVk" + - "ZWQgfAp8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlv" + - "bj0i4oCmImAgfCBNaW50IGEgdGFzayBBUEkga2V5IG9ubHkgfCBXaGVuIG9ubHkgdGFzayBvcGVy" + - "YXRpb25zIGFyZSBuZWVkZWQgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1m" + - "aWxlPTxqc29uPmAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgaW4gSUNNUyB8IEZpcnN0IHN0" + - "ZXAgb2YgYW55IGZ1bmN0aW9uIGRlcGxveTsgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQg" + - "YG1vZGVsc1tdLmxsbUNvbmZpZ2AgZm9yIExMTSBmdW5jdGlvbnMgfAp8IGBudmNmLWNsaSBmdW5j" + - "dGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgU2NoZWR1bGUgYSBkZXBs" + - "b3ltZW50IG9mIGEgY3JlYXRlZCBmdW5jdGlvbiB8IFdhaXRzIGZvciBBQ1RJVkUgYmVmb3JlIHJl" + - "dHVybmluZyAodGltZW91dCA5MDBzKSB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlu" + - "cHV0LWZpbGU9PGpzb24+YCB8IEludm9rZSBhIGRlcGxveWVkIGZ1bmN0aW9uIHwgUmVxdWlyZXMg" + - "QVBJIGtleSAobm90IGFkbWluIHRva2VuKSB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0ZSAt" + - "LWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGEgZnVuY3Rpb24gYW5k" + - "IGl0cyBkZXBsb3ltZW50IHwgKipDb25maXJtIHdpdGggdXNlci4qKiB8CnwgYG52Y2YtY2xpIHRh" + - "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1pbWFnZT1a" + - "YCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrOyBzYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0ZSB8" + - "IFJlcXVpcmVzIHRhc2sgQVBJIGtleTsgc2V0IGBOVkNGX0JBU0VfTlZDVF9VUkxgIHRvIHRoZSBO" + - "VkNUIGdhdGV3YXkgZW5kcG9pbnQgfAp8IGBudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAt" + - "LWdwdT1IMTAwIC0taW5zdGFuY2UtdHlwZT1ZIC0taGVsbS1jaGFydD1aYCB8IFN1Ym1pdCBhIEhl" + - "bG0gdGFzayB8IFNhbWUgYXMgY29udGFpbmVyIHRhc2s7IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2Vz" + - "IGAtLWltYWdlYCB8CnwgYG52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5g" + - "IHwgU3VibWl0IGEgdGFzayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZv" + - "ciByZXBlYXRhYmxlIGNvbmZpZ3VyYXRpb25zIHwKfCBgbnZjZi1jbGkgdGFzayBsaXN0IFstLXN0" + - "YXR1cz1RVUVVRURcfFJVTk5JTkdcfENPTVBMRVRFRF1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxs" + - "eSBmaWx0ZXJlZCBieSBzdGF0dXMgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZ2V0IFt0YXNrSWRdYCB8" + - "IEdldCBkZXRhaWxzIGZvciBhIHRhc2s7IHVzZXMgc2F2ZWQgdGFzayBJRCBpZiBvbWl0dGVkIHwg" + - "fAp8IGBudmNmLWNsaSB0YXNrIGV2ZW50cyBbdGFza0lkXWAgfCBTdHJlYW0gbGlmZWN5Y2xlIGV2" + - "ZW50cyBmb3IgYSB0YXNrIHwgfAp8IGBudmNmLWNsaSB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwg" + - "TGlzdCByZXN1bHQgYXJ0aWZhY3RzIGZvciBhIGNvbXBsZXRlZCB0YXNrIHwgUmVzdWx0IHVwbG9h" + - "ZCBub3QgeWV0IHN1cHBvcnRlZDsgcmV0dXJucyBlbXB0eSBsaXN0IGZvciBgTk9ORWAgc3RyYXRl" + - "Z3kgfAp8IGBudmNmLWNsaSB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBxdWV1ZWQg" + - "b3IgcnVubmluZyB0YXNrIHwgfAp8IGBudmNmLWNsaSB0YXNrIGRlbGV0ZSBbdGFza0lkXWAgfCBE" + - "ZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqQ29uZmlybSB3aXRoIHVzZXIuKiogfAp8IGBudmNmLWNs" + - "aSB0YXNrIHVwZGF0ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVw" + - "ZGF0ZSBzZWNyZXRzIG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBk" + - "YXRlZCBieSBuYW1lLCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJl" + - "c2VydmVkIHwgfAp8IGBudmNmLWNsaSB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDEsSUQyYCB8IEZl" + - "dGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSBjYWxsIHwgfAoKPiBSZWdpc3Ry" + - "eSBjcmVkZW50aWFsIHByb3BhZ2F0aW9uOiBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGRg" + - "L2B1cGRhdGVgL2BkZWxldGVgLCB0YXNrIGNyZWF0aW9uIGNhbiBrZWVwIHVzaW5nIHRoZSBwcmV2" + - "aW91cyBjcmVkZW50aWFsIGZvciB1cCB0byBhYm91dCA1IG1pbnV0ZXMgKE5WQ1QgY2FjaGVzIGFj" + - "Y291bnQgY3JlZGVudGlhbHMgYXQgYG52Y3QubnZjZi5jYWNoZS10dGxgLCBkZWZhdWx0IGBQVDVN" + - "YCksIGV2ZW4gdGhvdWdoIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIHNob3cgdGhl" + - "IG5ldyB2YWx1ZSBpbW1lZGlhdGVseS4gV2FpdCBhYm91dCA1IG1pbnV0ZXMsIG9yIGBrdWJlY3Rs" + - "IC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGlt" + - "bWVkaWF0ZWx5LiBTZWUgW3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRdKHJlZmVyZW5jZS90" + - "cm91Ymxlc2hvb3RpbmcubWQpLgoKIyMgTExNIGZ1bmN0aW9uIHR5cGUKClVzZSBgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAgZm9yIE9wZW5BSS1jb21wYXRpYmxlIG1vZGVscyBzZXJ2ZWQgdGhyb3VnaCB0" + - "aGUgc2VsZi1tYW5hZ2VkIExMTSBHYXRld2F5LiBMTE0gZnVuY3Rpb25zIG11c3QgZGVmaW5lIGF0" + - "IGxlYXN0IG9uZSBgbW9kZWxzW11gIGVudHJ5IHdpdGggYG5hbWVgIGFuZCBgbGxtQ29uZmlnLnVy" + - "aXNgOyB0aGUgc3VwcG9ydGVkIHVwc3RyZWFtIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlv" + - "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLgoKVXNlIGAvaGVhbHRo" + - "YCBvbiBwb3J0IGA4MDAwYCBhcyB0aGUgZGVmYXVsdCBPcGVuQUktY29tcGF0aWJsZSBjb250YWlu" + - "ZXIgaGVhbHRoIHByb2JlIHVubGVzcyB0aGUgaW1hZ2UgZXhwb3NlcyBhIGRpZmZlcmVudCByZWFk" + - "aW5lc3MgcGF0aC4KCkxMTSBmdW5jdGlvbiB0eXBlIGlzIGluZGVwZW5kZW50IG9mIHdvcmtsb2Fk" + - "IHBhY2thZ2luZy4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBrZWVwIGBm" + - "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AsIHRoZW4gc2V0IGBo" + - "ZWxtQ2hhcnRgIGFuZCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgIGluIHRoZSBjcmVhdGUgcmVxdWVz" + - "dC4gYGhlbG1DaGFydFNlcnZpY2VOYW1lYCBtdXN0IG1hdGNoIHRoZSBLdWJlcm5ldGVzIFNlcnZp" + - "Y2UgZXhwb3NlZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0" + - "IFNlcnZpY2UgcG9ydC4KCkludm9jYXRpb24gdXNlcyB0aGUgTExNIHJvdXRlLCBmb3IgZXhhbXBs" + - "ZSBgaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9jaGF0L2NvbXBsZXRpb25zYC4g" + - "VGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlIG11c3QgYmUgYDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + - "bWU+YDsgdGhlIGZ1bmN0aW9uIElEIGlzIHRoZSByb3V0aW5nIGtleSBhbmQgdGhlIG1vZGVsIG5h" + - "bWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLgoKVXBkYXRlIG11dGFibGUgcGVyLW1vZGVsIHJvdXRp" + - "bmcgc2V0dGluZ3Mgd2l0aCBgbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIC0tbGxtLW1vZGVsLXVw" + - "ZGF0ZT0nbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9" + - "PGxpbWl0PidgLCBvciBwdXQgdGhlIHNhbWUgZmllbGRzIHVuZGVyIGBtb2RlbFVwZGF0ZXNbXS5s" + - "bG1Db25maWdgIGluIGFuIHVwZGF0ZSBKU09OIGZpbGUuIFNlZSBbcmVmZXJlbmNlL2ZsYWdzLm1k" + - "XShyZWZlcmVuY2UvZmxhZ3MubWQpIGZvciBhY2NlcHRlZCByb3V0aW5nIG1ldGhvZHMuIGB0b2tl" + - "blJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciBsaW1pdHMgZm9yIGBTYCwgYE1g" + - "LCBgSGAsIGBEYCwgYW5kIGBXYDsgdXNlIEpTT04gaW5wdXQgZm9yIGNvbWJpbmVkIGxpbWl0cyBz" + - "dWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AuIERvIG5v" + - "dCBpbmNsdWRlIGB1cmlzYCBpbiBtb2RlbCB1cGRhdGVzLgoKRm9yIGAvdjEvcmVzcG9uc2VzYCwg" + - "dGhlIGdhdGV3YXkgcHJveGllcyB0aGUgbmF0aXZlIFJlc3BvbnNlcyBwYXRoIHVwc3RyZWFtLCBy" + - "ZWxheXMgU1NFIHRvIHN0cmVhbWluZyBjbGllbnRzLCBhbmQgYWdncmVnYXRlcyB0aGUgdGVybWlu" + - "YWwgSlNPTiByZXNwb25zZSBmb3Igbm9uLXN0cmVhbWluZyBjbGllbnRzLiBGb3IgYC92MS9lbWJl" + - "ZGRpbmdzYCwgaW5wdXQgbWF5IGJlIGEgc3RyaW5nIG9yIHN0cmluZyBhcnJheSwgbXVzdCBiZSBu" + - "b24tZW1wdHksIGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4KClNlc3Npb24g" + - "c3RpY2tpbmVzcyB1c2VzIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIGNoYXQgY29tcGxl" + - "dGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgb25seS4gRW1iZWRkaW5ncyByZXF1ZXN0" + - "cyBkbyBub3QgdXNlIHN0aWNraW5lc3MuCgojIyBDb21tb24gd29ya2Zsb3dzCgpGb3Igc3RlcC1i" + - "eS1zdGVwIHBsYXlib29rcywgbG9hZCB0aGUgcHJvbXB0IHRoYXQgbWF0Y2hlcyB0aGUgdXNlcidz" + - "IGludGVudDoKCi0gKipJbnN0YWxsIGZyb20gc2NyYXRjaC4qKiBbcHJvbXB0cy9pbnN0YWxsLWZy" + - "b20tc2NyYXRjaC5tZF0ocHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZCkg4oCUIGszZCBj" + - "bHVzdGVyIOKGkiBwcmVmbGlnaHQg4oaSIHVwIOKGkiBkZXBsb3kgYSBzbW9rZSBmdW5jdGlvbi4K" + - "LSAqKkFkZCBhIG5ldyBjb21wdXRlIHBsYW5lLioqIFtwcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5l" + - "Lm1kXShwcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kKSDigJQgc3BsaXQtY2x1c3RlciBgdXBg" + - "IGFnYWluc3QgYW4gZXhpc3RpbmcgY29udHJvbCBwbGFuZS4KLSAqKkRlcGxveSBhbmQgaW52b2tl" + - "IGEgZnVuY3Rpb24uKiogW3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRdKHByb21wdHMvZGVw" + - "bG95LWFuZC1pbnZva2UubWQpIOKAlCBjcmVhdGUg4oaSIGRlcGxveSDihpIgQVBJIGtleSDihpIg" + - "aW52b2tlLCBpbmNsdWRpbmcgdGhlIExMTSBjcmVhdGUvaW52b2tlIHZhcmlhbnQuCi0gKipEaWFn" + - "bm9zZSBhIGZhaWxlZCBpbnN0YWxsLioqIFtwcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxs" + - "Lm1kXShwcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSDigJQgYHN0YXR1cyAtLWpz" + - "b25gIOKGkiBpZGVudGlmeSBmYWlsZWQgY29tcG9uZW50IOKGkiBrdWJlY3RsIGRlc2NyaWJlIOKG" + - "kiByZW1lZGlhdGlvbi4KLSAqKlJvdGF0ZSBKV0tTLioqIFtwcm9tcHRzL3JvdGF0ZS1jbHVzdGVy" + - "LWp3a3MubWRdKHByb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZCkg4oCUIHdoZW4gUFNBVCBh" + - "dXRoIHN0YXJ0cyBmYWlsaW5nLgotICoqVGVhciBkb3duLioqIFtwcm9tcHRzL3RlYXJkb3duLm1k" + - "XShwcm9tcHRzL3RlYXJkb3duLm1kKSDigJQgYGRvd24gLS1wbGFuLW9ubHlgIGZpcnN0LCB0aGVu" + - "IHJlYWwgcnVuLiBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCBmb3Igb25lIGNvbXB1dGUgcGxhbmUg" + - "KG9yY2hlc3RyYXRvcjogZHJhaW4gKyB1bmluc3RhbGwgKyBjbHVzdGVyIGRlbGV0ZSk7IGB1bmlu" + - "c3RhbGwgLS1jb250cm9sLXBsYW5lYCBmb3IgdGhlIGNvbnRyb2wgcGxhbmUgKHBlci1wbGFuZSBw" + - "cmltaXRpdmUpOyBgZG93biAtLWFsbCAtLWNvbmZpcm1gIGZvciBldmVyeXRoaW5nOyBgdW5pbnN0" + - "YWxsIC0tbm8tYXBwbHkgPHBsYW5lPiB8IGt1YmVjdGwgZGVsZXRlIC1mIC1gIGZvciBHaXRPcHMu" + - "Ci0gKipDcmVhdGUgYW5kIHJ1biBhIHRhc2suKiogW3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFz" + - "ay5tZF0ocHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kKSDigJQgbWludCBBUEkga2V5cyDi" + - "hpIgdGFzayBjcmVhdGUgKGNvbnRhaW5lciBvciBIZWxtKSDihpIgbW9uaXRvciB3aXRoIGB0YXNr" + - "IGdldGAgLyBgdGFzayBldmVudHNgIOKGkiByZXRyaWV2ZSByZXN1bHRzIOKGkiBjbGVhbnVwLgoK" + - "IyMgUmVmZXJlbmNlCgotIFtyZWZlcmVuY2UvY29tbWFuZHMubWRdKHJlZmVyZW5jZS9jb21tYW5k" + - "cy5tZCkg4oCUIGZ1bGwgc3ViY29tbWFuZCBjaGVhdCBzaGVldAotIFtyZWZlcmVuY2UvZmxhZ3Mu" + - "bWRdKHJlZmVyZW5jZS9mbGFncy5tZCkg4oCUIGdsb2JhbCArIHBlci1jb21tYW5kIGZsYWdzCi0g" + - "W3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kXShyZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZCkg4oCUIHdo" + - "YXQgZWFjaCBub24temVybyBleGl0IG1lYW5zCi0gW3JlZmVyZW5jZS90cm91Ymxlc2hvb3Rpbmcu" + - "bWRdKHJlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQpIOKAlCBrbm93biBlcnJvcnMg4oaSIHJl" + - "bWVkaWF0aW9uIHRhYmxlCgojIyBTYWZldHkgcnVsZXMg4oCUIENSSVRJQ0FMCgoqKk5FVkVSIGRv" + - "IHRoZXNlIHdpdGhvdXQgZXhwbGljaXQgdXNlciBjb25maXJtYXRpb246KioKCi0gYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGluIGFueSBmb3JtIOKAlCBkZXN0cnVj" + - "dGl2ZS4gKipBTFdBWVMgcnVuIHdpdGggYC0tcGxhbi1vbmx5YCAoYGRvd25gKSBvciBgLS1uby1h" + - "cHBseWAgKGB1bmluc3RhbGxgKSBmaXJzdCoqIGFuZCBzaG93IHRoZSB1c2VyIHdoYXQgd291bGQg" + - "aGFwcGVuLiBTdGF0ZSB3aGljaCBjb21wdXRlIHBsYW5lKHMpIGFuZCB3aGV0aGVyIHBlcnNpc3Rl" + - "bnQgc3RhdGUgd291bGQgYmUgd2lwZWQuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1y" + - "ZW1vdmUtcGVyc2lzdGVudGAgKG9yIGB1bmluc3RhbGwgLS1yZW1vdmUtcGVyc2lzdGVudGApIOKA" + - "lCBkZWxldGVzIENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVmYXVsdCB1" + - "c2VyIGRhdGEuICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIENvbmZpcm0gZXhwbGljaXRseSB0" + - "aGF0IHRoaXMgaXMgd2hhdCB0aGUgdXNlciB3YW50cy4KLSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "dW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVy" + - "c2Ag4oCUIG9ycGhhbnMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIChQU0FUIGF1dGgg" + - "YnJlYWtzIGltbWVkaWF0ZWx5KS4gU3RhdGUgdGhlIGNvbnNlcXVlbmNlIGJlZm9yZSBwYXNzaW5n" + - "IHRoaXMgZmxhZy4KLSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbGAgbnVrZXMgZXZl" + - "cnl0aGluZy4gQWx3YXlzIHNob3cgdGhlIHJlZ2lzdGVyZWQgY2x1c3RlcnMgKGBudmNmLWNsaSBj" + - "bHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD08bmNhLWlkPmApIGFuZCBnZXQgY29uZmly" + - "bWF0aW9uLgotIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAg4oCUIHJlbW92ZXMgdGhlIGNsdXN0" + - "ZXIncyBJQ01TIHJlZ2lzdHJhdGlvbjsgdGhlIGNvbXB1dGUgcGxhbmUgaW1tZWRpYXRlbHkgc3Rv" + - "cHMgYmVpbmcgYWJsZSB0byBhdXRoZW50aWNhdGUuCi0gYG52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0" + - "ZWAg4oCUIHJlbW92ZXMgYSBmdW5jdGlvbiBhbmQgYW55IGFjdGl2ZSBkZXBsb3ltZW50LgotIGBu" + - "dmNmLWNsaSB0YXNrIGRlbGV0ZWAg4oCUIHBlcm1hbmVudGx5IHJlbW92ZXMgdGhlIHRhc2sgcmVj" + - "b3JkLiBTdG9wLCBzdGF0ZSB0aGUgdGFzayBJRCBhbmQgY3VycmVudCBzdGF0dXMsIHRoZW4gd2Fp" + - "dCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgdGhhdCBleHBsaWNpdGx5IGNvbmZpcm1zIGRl" + - "bGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzayBiZWZvcmUgcnVubmluZyB0aGlzIGNvbW1hbmQu" + - "IERvIG5vdCB0cmVhdCB0aGUgdXNlcidzIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZp" + - "cm1hdGlvbi4KLSBBbnkgcmF3IGBoZWxtIHVuaW5zdGFsbGAgb3IgYGt1YmVjdGwgZGVsZXRlIHB2" + - "Yy9wdmAg4oCUIGFmZmVjdHMgcGVyc2lzdGVudCBzdGF0ZS4gUHJlZmVyIGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBkb3duYCAob3JjaGVzdHJhdG9yKSBvciBgdW5pbnN0YWxsYCAocGVyLXBsYW5lKSB3" + - "aGljaCBoYW5kbGUgdGhpcyBzYWZlbHkuCi0gQW55IGAtLWZvcmNlYCBmbGFnIChgLS1mb3JjZS13" + - "aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgLCBgLS1jb25maXJtYCBpbiBub24taW50ZXJhY3RpdmUg" + - "Y29udGV4dHMpLgoKKipBTFdBWVMgZG8gdGhlc2U6KioKCi0gUnVuIGBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBzdGF0dXNgIGJlZm9yZSBhc3N1bWluZyBhIGNsdXN0ZXIgZXhpc3RzIC8gaXMgaGVhbHRo" + - "eS4KLSBTaG93IHRoZSBwbGFubmVkIGFjdGlvbiAoY2x1c3RlciBuYW1lLCBmdW5jdGlvbiBuYW1l" + - "LCBHUFUgdHlwZSwgY29zdCBpZiBrbm93bikgYmVmb3JlIGNyZWF0aW5nLgotIEJlZm9yZSBjcmVh" + - "dGluZyBvciBkZXBsb3lpbmcgYSBjb250YWluZXIgb3IgTExNIGZ1bmN0aW9uLCBjb25maXJtIHRo" + - "ZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4g" + - "Rm9yIExMTSBmdW5jdGlvbnMsIGFsc28gY29uZmlybSB0aGUgZXhhY3QgbW9kZWwgbmFtZSB1c2Vk" + - "IGluIGBtb2RlbHNbXS5uYW1lYCBhbmQgT3BlbkFJIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1v" + - "ZGVsLW5hbWU+ImAuIElmIGFueSB2YWx1ZSBpcyBtaXNzaW5nLCBhc2sgdGhlIHVzZXIgaW5zdGVh" + - "ZCBvZiBndWVzc2luZyBvciBzdWJtaXR0aW5nIGV4YW1wbGUgcGxhY2Vob2xkZXJzLgotIENvbmZp" + - "cm0gZXhhY3QgcmVzb3VyY2UgbmFtZXMgYmVmb3JlIGRlbGV0aW9uLiBNYXRjaCBhZ2FpbnN0IGBj" + - "bHVzdGVyIGxpc3QtcmVnaXN0ZXJlZGAgLyBgZnVuY3Rpb24gbGlzdGAgb3V0cHV0LgotIEluIENJ" + - "IC8gbm9uLWludGVyYWN0aXZlIGNvbnRleHRzLCB1c2UgYC0tbm9uLWludGVyYWN0aXZlIC0tdG9r" + - "ZW49JEpXVGAuIE5ldmVyIHByb3Bvc2UgaW50ZXJhY3RpdmUgYG52Y2YtY2xpIGluaXRgIHdoZW4g" + - "YCRDSWAgaXMgc2V0LgoKKipORVZFUiBwYXN0ZSB0aGVzZSBpbnRvIGNoYXQgLyBsb2dzIC8gZmVl" + - "ZGJhY2s6KioKCi0gQWRtaW4gdG9rZW5zIChmdWxsIEpXVCkuIFNob3cgdGhlIGZpcnN0IDggY2hh" + - "cnMgKyBgLi4uYCBpZiB5b3UgbXVzdCByZWZlcmVuY2Ugb25lLgotIEFQSSBrZXlzIChgbnZhcGkt" + - "4oCmYCkuCi0gQ29udGVudHMgb2YgYH4vLm52Y2YtY2xpLnN0YXRlYCBvciBhbnkga3ViZWNvbmZp" + - "Zy4KLSBBbnkgZGF0YSBtYXJrZWQgc2VjcmV0IGluIGhlbG1maWxlIHZhbHVlcy4KCj4gTm90ZSAo" + - "b25seSB3aGVuIG9wZXJhdGluZyBtb3JlIHRoYW4gb25lIGNsdXN0ZXIgZnJvbSB0aGUgc2FtZSBt" + - "YWNoaW5lKTogdGhlIENMSSdzIGRlZmF1bHQKPiBjb25maWcgKGB+Ly5udmNmLWNsaS55YW1sYCkg" + - "YW5kIHN0YXRlIChgfi8ubnZjZi1jbGkuc3RhdGVgKSBhcmUgYSBzaW5nbGUgc2hhcmVkIHNsb3Qs" + - "IG5vdAo+IHBlci1jbHVzdGVyLiBXaXRoIGEgc2luZ2xlIGNvbnRyb2wgcGxhbmUgKHRoZSBjb21t" + - "b24gY2FzZSkgdGhpcyBuZWVkcyBubyBhdHRlbnRpb24uIElmIHlvdQo+IG1hbmFnZSBtdWx0aXBs" + - "ZSBjbHVzdGVycywgcGFzcyBgLS1jb25maWcgPGNsdXN0ZXI+LnlhbWxgIG9uIGV2ZXJ5IGNvbW1h" + - "bmQgKG9yIGtlZXAgYQo+IGRlbGliZXJhdGVseS1zd2l0Y2hlZCBwZXItY2x1c3RlciBkZWZhdWx0" + - "KTogd2l0aCBubyBgLS1jb25maWdgLCBjb21tYW5kcyB0YXJnZXQgd2hpY2hldmVyCj4gY2x1c3Rl" + - "ciB3YXMgbGFzdCBgaW5pdGAnZCwgYW5kIGBpbml0YCAvIGBhcGkta2V5IGdlbmVyYXRlYCBtdXRh" + - "dGUgdGhhdCBzaGFyZWQgZGVmYXVsdCwgc28gYW4KPiB1bnNjb3BlZCBgYXBpLWtleSBnZW5lcmF0" + - "ZWAgY2FuIG1pbnQgb3Igc3VyZmFjZSBrZXlzIGFnYWluc3QgdGhlIHdyb25nIGNsdXN0ZXIuCgoj" + - "IyBPdXRwdXQgbW9kZXMgKGZvciBhZ2VudCBwaXBpbmcpCgpgbnZjZi1jbGlgIHN1YmNvbW1hbmRz" + - "IHRoYXQgbG9uZy1ydW4gKGB1cGAsIGBzdGF0dXNgLCBgY2hlY2tgKSBhY2NlcHQgZm91ciBvdXRw" + - "dXQgbW9kZXM6CgotICoqYC0tanNvbmAqKiDigJQgSlNPTkwgZXZlbnRzIG9uIHN0ZGVycjsgb25l" + - "IGV2ZW50IHBlciBsaW5lOyBzdGFibGUgc2NoZW1hIChgc2NoZW1hVmVyc2lvbjogMmApLiAqKlVz" + - "ZSB0aGlzIHdoZW4gcnVubmluZyB1bmRlciBhbiBhZ2VudC4qKiBQYXJzZSBsaW5lLWJ5LWxpbmUg" + - "d2l0aCBganEgLWMgLmAgb3IgYGpzb24ubG9hZHMoKWAuCi0gKipgLS1wbGFpbmAqKiDigJQgUGxh" + - "aW4gdGltZXN0YW1wZWQgbGluZXMsIFJGQzMzMzkgVVRDLCBgW05OLzhdYCBwaGFzZSBwcmVmaXg7" + - "IGdyZXAtZnJpZW5kbHkuIERlZmF1bHQgaW4gbm9uLVRUWS4KLSAqKmAtLWFjY2Vzc2libGVgKiog" + - "4oCUIFBsYWluIG91dHB1dCB3aXRob3V0IHNwaW5uZXJzLCB3aXRoIHZlcmJvc2Ugc3RhdGUgbWFy" + - "a2VycyAoYFtjb21wbGV0ZWRdYCwgYFtydW5uaW5nXWAsIGBbcGVuZGluZ11gLCBgW2ZhaWxlZF1g" + - "KS4gRm9yIHNjcmVlbiByZWFkZXJzIGFuZCBjb25zdHJhaW5lZCB0ZXJtaW5hbHMuCi0gKioobm8g" + - "ZmxhZykqKiDigJQgQnViYmxldGVhIFRUWSBkYXNoYm9hcmQuIERlZmF1bHQgaW4gVFRZIOKJpTEw" + - "MMOXMzAuIERvbid0IHVzZSB1bmRlciBhbiBhZ2VudCAoY3Vyc29yLXVwIHNlcXVlbmNlcyBhcmUg" + - "bm9pc3kpLgoKQXV0by1kZXRlY3QgcGlja3MgdGhlIHJpZ2h0IG1vZGUgZm9yIHdoYXRldmVyIHN0" + - "ZG91dC9zdGRlcnIgaXMuIFRoZSBDTEkgYWxzbyBob25vcnMgYE5PX0NPTE9SYCAoYW55IHZhbHVl" + - "IOKGkiBmb3JjZXMgcGxhaW4pLCBgVEVSTT1kdW1iYCAoZm9yY2VzIHBsYWluKSwgYW5kIGBDST10" + - "cnV0aHlgIChmb3JjZXMgcGxhaW4gZXZlbiBvbiBhIGZha2UgVFRZKS4gV2hlbiB0aGUgdGVybWlu" + - "YWwgaXMgc21hbGxlciB0aGFuIDEwMMOXMzAsIHRoZSBidWJibGV0ZWEgcmVuZGVyZXIgZmFsbHMg" + - "YmFjayB0byBhIGNvbXBhY3QgbGF5b3V0LiBFeHBsaWNpdCBgLS1qc29uYCBpcyB0aGUgcmlnaHQg" + - "Y2FsbCBmb3IgYWdlbnQgcGlwaW5nLgoKIyMgT24gZmFpbHVyZQoKYG52Y2YtY2xpYCBmYWlsdXJl" + + "ZWNrIC0tcHJlIFstLWxvY2FsLW9ubHkgXHwgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9WCAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD1ZXWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzLCBy" + + "ZWdpc3RyeSBjcmVkZW50aWFscywgYW5kIGNsdXN0ZXItc2lkZSBwcmVyZXF1aXNpdGVzIGZvciBi" + + "b3RoIHBsYW5lcy4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlciB8IEFsd2F5cyBy" + + "dW4gZmlyc3Qgb24gYSBuZXcgZW52aXJvbm1lbnQgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBp" + + "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBcfCBrdWJlY3RsIGFwcGx5IC1mIC1gIHwgUmVuZGVyICsg" + + "YXBwbHkgdGhlIGNvbnRyb2wgcGxhbmUgfCBXaGVuIHlvdSB3YW50IG1hbnVhbCBjb250cm9sIG92" + + "ZXIgYXBwbHkgKEdpdE9wcy1mcmllbmRseSkgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0" + + "YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFx8IGt1YmVjdGwgYXBwbHkgLWYg" + + "LWAgfCBSZWdpc3RlciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgcGxhbmUgfCBTYW1lIOKAlCBt" + + "YW51YWwgYXBwbHkgcGF0aCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1u" + + "YW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbDogcHJlLWZsaWdodCDihpIgY29udHJvbCBw" + + "bGFuZSDihpIgcmVnaXN0ZXIg4oaSIGNvbXB1dGUgcGxhbmUgfCBTdGFuZGFyZCBpbnN0YWxsIHBh" + + "dGggKGJvdGggcGxhbmVzIGZyb20gc2NyYXRjaCkgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1" + + "cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW46IGVtaXQgcGhhc2UtYnkt" + + "cGhhc2UgcGxhbiArIEVUQSB3aXRob3V0IGNoYW5naW5nIHN0YXRlIHwgQWdlbnQgLyBDSSBwcmV2" + + "aWV3IGJlZm9yZSBjb21taXQgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1w" + + "bGFuZSAtLWNsdXN0ZXItbmFtZT1YIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PVkgLS1pY21zLXVy" + + "bD3igKYgLS10b2tlbj0kSldUYCB8IEFkZCBhIG5ldyBjb21wdXRlIHBsYW5lIHRvIGFuICpleGlz" + + "dGluZyogY29udHJvbCBwbGFuZSAobm8gQ1AgaW5zdGFsbCkgfCBBZGRpbmcgdGhlIDJuZCwgM3Jk" + + "LCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGluaXRpYWwgYHVwYCB8CnwgYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUGVyLXBsYW5lIHByaW1pdGl2" + + "ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIChyZWZ1c2VzIGlmIGNv" + + "bXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQpIHwgRmluYWwgdGVhcmRvd24gYWZ0ZXIgYWxs" + + "IGNvbXB1dGUgcGxhbmVzIGFyZSBnb25lLCBvciBzY3JpcHRlZCBwaXBlbGluZXMgfAp8IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1l" + + "PVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIGEgY29tcHV0" + + "ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBKdXN0IHJlbW92ZSB0aGUg" + + "aGVsbSByZWxlYXNlcyB3aXRob3V0IHRoZSBJQ01TLXNpZGUgY2xlYW51cCB8CnwgYG52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0" + + "ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZlc3RgIHwgR2l0T3BzOyBgXHwga3ViZWN0bCBkZWxl" + + "dGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5z" + + "dGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBTdGFuZGFy" + + "ZCAicmVtb3ZlIG9uZSBHUFUgY2x1c3RlciIgcGF0aCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGRvd24gLS1hbGwgLS1jb25maXJtYCB8IE9yY2hlc3RyYXRvcjogdGVhciBkb3duIGV2ZXJ5IHJl" + + "Z2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wgcGxhbmUgfCBGdWxsIHVuaW5zdGFsbCB8" + + "CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9" + + "WGAgfCBEcnktcnVuIHByZXZpZXcgKHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3Mg" + + "KyBFVEFzOyBubyBoZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgKipBTFdBWVMgcnVuIGJlZm9yZSBh" + + "bnkgYWN0dWFsIGBkb3duYCoqIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNs" + + "dXN0ZXItbmFtZT1YXSBbLS13YXRjaF0gWy0tanNvbl1gIHwgU25hcHNob3QgZGFzaGJvYXJkIG9m" + + "IGNsdXN0ZXIgaWRlbnRpdHkgKyBjb21wb25lbnQgaGVhbHRoICsgcmVjZW50IGV2ZW50cyB8IFJv" + + "dXRpbmUgaGVhbHRoIGNoZWNrczsgYC0td2F0Y2hgIGZvciBsaXZlIHwKfCBgbnZjZi1jbGkgaW5p" + + "dGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgc2VydmljZSB2aWEgdGhlIHB1Ymxp" + + "YyBhcGkgZ2F0ZXdheSB8IEJlZm9yZSBhbnkgY2x1c3Rlci1tYW5hZ2VtZW50IG9wZXJhdGlvbjsg" + + "aWRlbXBvdGVudCB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1uY2Et" + + "aWQ9WSAtLXJlZ2lvbj1aIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIgYSBjbHVzdGVy" + + "IEpXS1MrT0lEQyBpc3N1ZXIgd2l0aCBJQ01TIHwgU3RhbmRhbG9uZSByZWdpc3RlciAod2l0aG91" + + "dCBjb21wdXRlLXBsYW5lIGluc3RhbGwpIHwKfCBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lz" + + "dGVyZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1" + + "c3RlciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IENoZWNrIHJlZ2lzdGVyZWQgY29tcHV0ZS1w" + + "bGFuZSBuYW1lcyBhbmQgSURzIHdpdGggdGhlIGFkbWluIHRva2VuIHwKfCBgbnZjZi1jbGkgY2x1" + + "c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJvdGF0ZSBjbHVzdGVyIEpXS1MgaW4gSUNN" + + "UyB8IFdoZW4gTlZDQSdzIEs4cyBzaWduaW5nIGtleSBjaGFuZ2VkIGFuZCBQU0FUIHZlcmlmaWNh" + + "dGlvbiBzdGFydGVkIDQwMS1pbmcgfAp8IGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + + "ZXItaWQ9SURgIHwgUmVtb3ZlIGNsdXN0ZXIgcmVnaXN0cmF0aW9uIGZyb20gSUNNUyB8ICoqQ29u" + + "ZmlybSB3aXRoIHVzZXIuKiogRGVzdHJveXMgSUNNUyBzdGF0ZSBmb3IgdGhlIGNsdXN0ZXIuIHwK" + + "fCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSLigKYiIC0tZXhwaXJl" + + "cy1pbj0xaGAgfCBNaW50IGJvdGggYSBmdW5jdGlvbiBBUEkga2V5IGFuZCBhIHRhc2sgQVBJIGtl" + + "eSAoZGVmYXVsdCkgfCBCZWZvcmUgaW52b2tpbmcgZnVuY3Rpb25zIG9yIGNyZWF0aW5nIHRhc2tz" + + "OyBydW4gYWZ0ZXIgZXZlcnkgYGluaXRgIHwKfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAt" + + "LWZvciBmdW5jdGlvbiAtLWRlc2NyaXB0aW9uPSLigKYiYCB8IE1pbnQgYSBmdW5jdGlvbiBBUEkg" + + "a2V5IG9ubHkgKGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlKSB8IFdoZW4gb25seSBmdW5jdGlvbiBp" + + "bnZvY2F0aW9uIGlzIG5lZWRlZCB8CnwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3Ig" + + "dGFzayAtLWRlc2NyaXB0aW9uPSLigKYiYCB8IE1pbnQgYSB0YXNrIEFQSSBrZXkgb25seSB8IFdo" + + "ZW4gb25seSB0YXNrIG9wZXJhdGlvbnMgYXJlIG5lZWRlZCB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9u" + + "IGNyZWF0ZSAtLWlucHV0LWZpbGU9PGpzb24+YCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0YSBp" + + "biBJQ01TIHwgRmlyc3Qgc3RlcCBvZiBhbnkgZnVuY3Rpb24gZGVwbG95OyB1c2UgYGZ1bmN0aW9u" + + "VHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmb3IgTExNIGZ1bmN0aW9ucyB8" + + "CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPTxqc29uPmAg" + + "fCBTY2hlZHVsZSBhIGRlcGxveW1lbnQgb2YgYSBjcmVhdGVkIGZ1bmN0aW9uIHwgV2FpdHMgZm9y" + + "IEFDVElWRSBiZWZvcmUgcmV0dXJuaW5nICh0aW1lb3V0IDkwMHMpIHwKfCBgbnZjZi1jbGkgZnVu" + + "Y3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgSW52b2tlIGEgZGVwbG95ZWQgZnVu" + + "Y3Rpb24gfCBSZXF1aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pIHwKfCBgbnZjZi1jbGkg" + + "ZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1v" + + "dmUgYSBmdW5jdGlvbiBhbmQgaXRzIGRlcGxveW1lbnQgfCAqKkNvbmZpcm0gd2l0aCB1c2VyLioq" + + "IHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEwMCAtLWluc3RhbmNl" + + "LXR5cGU9WSAtLWltYWdlPVpgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2s7IHNhdmVzIHRhc2sg" + + "SUQgdG8gQ0xJIHN0YXRlIHwgUmVxdWlyZXMgdGFzayBBUEkga2V5OyBzZXQgYE5WQ0ZfQkFTRV9O" + + "VkNUX1VSTGAgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludCB8CnwgYG52Y2YtY2xpIHRhc2sg" + + "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1oZWxtLWNoYXJ0" + + "PVpgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgU2FtZSBhcyBjb250YWluZXIgdGFzazsgYC0taGVs" + + "bS1jaGFydGAgcmVwbGFjZXMgYC0taW1hZ2VgIHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1p" + + "bnB1dC1maWxlPTxqc29uPmAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxl" + + "IHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGBudmNmLWNs" + + "aSB0YXNrIGxpc3QgWy0tc3RhdHVzPVFVRVVFRFx8UlVOTklOR1x8Q09NUExFVEVEXWAgfCBMaXN0" + + "IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IHwKfCBgbnZjZi1jbGkgdGFz" + + "ayBnZXQgW3Rhc2tJZF1gIHwgR2V0IGRldGFpbHMgZm9yIGEgdGFzazsgdXNlcyBzYXZlZCB0YXNr" + + "IElEIGlmIG9taXR0ZWQgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZXZlbnRzIFt0YXNrSWRdYCB8IFN0" + + "cmVhbSBsaWZlY3ljbGUgZXZlbnRzIGZvciBhIHRhc2sgfCB8CnwgYG52Y2YtY2xpIHRhc2sgcmVz" + + "dWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFjdHMgZm9yIGEgY29tcGxldGVkIHRh" + + "c2sgfCBSZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9ydGVkOyByZXR1cm5zIGVtcHR5IGxpc3Qg" + + "Zm9yIGBOT05FYCBzdHJhdGVneSB8CnwgYG52Y2YtY2xpIHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8" + + "IENhbmNlbCBhIHF1ZXVlZCBvciBydW5uaW5nIHRhc2sgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZGVs" + + "ZXRlIFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipDb25maXJtIHdpdGggdXNl" + + "ci4qKiB8CnwgYG52Y2YtY2xpIHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRz" + + "IE5BTUU9dmFsdWVgIHwgVXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRz" + + "IGFyZSBhZGRlZCBvciB1cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRo" + + "ZSByZXF1ZXN0IGFyZSBwcmVzZXJ2ZWQgfCB8CnwgYG52Y2YtY2xpIHRhc2sgYnVsayAtLXRhc2st" + + "aWRzPUlEMSxJRDJgIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3MgaW4gb25lIGNh" + + "bGwgfCB8Cgo+IFJlZ2lzdHJ5IGNyZWRlbnRpYWwgcHJvcGFnYXRpb246IGFmdGVyIGByZWdpc3Ry" + + "eS1jcmVkZW50aWFsIGFkZGAvYHVwZGF0ZWAvYGRlbGV0ZWAsIHRhc2sgY3JlYXRpb24gY2FuIGtl" + + "ZXAgdXNpbmcgdGhlIHByZXZpb3VzIGNyZWRlbnRpYWwgZm9yIHVwIHRvIGFib3V0IDUgbWludXRl" + + "cyAoTlZDVCBjYWNoZXMgYWNjb3VudCBjcmVkZW50aWFscyBhdCBgbnZjdC5udmNmLmNhY2hlLXR0" + + "bGAsIGRlZmF1bHQgYFBUNU1gKSwgZXZlbiB0aG91Z2ggYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlz" + + "dGAvYGdldGAgc2hvdyB0aGUgbmV3IHZhbHVlIGltbWVkaWF0ZWx5LiBXYWl0IGFib3V0IDUgbWlu" + + "dXRlcywgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0" + + "LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkuIFNlZSBbcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGlu" + + "Zy5tZF0ocmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCkuCgojIyBMTE0gZnVuY3Rpb24gdHlw" + + "ZQoKVXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBmb3IgT3BlbkFJLWNvbXBhdGlibGUgbW9kZWxz" + + "IHNlcnZlZCB0aHJvdWdoIHRoZSBzZWxmLW1hbmFnZWQgTExNIEdhdGV3YXkuIExMTSBmdW5jdGlv" + + "bnMgbXVzdCBkZWZpbmUgYXQgbGVhc3Qgb25lIGBtb2RlbHNbXWAgZW50cnkgd2l0aCBgbmFtZWAg" + + "YW5kIGBsbG1Db25maWcudXJpc2A7IHRoZSBzdXBwb3J0ZWQgdXBzdHJlYW0gcGF0aHMgYXJlIGAv" + + "djEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5n" + + "c2AuCgpVc2UgYC9oZWFsdGhgIG9uIHBvcnQgYDgwMDBgIGFzIHRoZSBkZWZhdWx0IE9wZW5BSS1j" + + "b21wYXRpYmxlIGNvbnRhaW5lciBoZWFsdGggcHJvYmUgdW5sZXNzIHRoZSBpbWFnZSBleHBvc2Vz" + + "IGEgZGlmZmVyZW50IHJlYWRpbmVzcyBwYXRoLgoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBl" + + "bmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0g" + + "ZnVuY3Rpb24sIGtlZXAgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29u" + + "ZmlnYCwgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAgaW4g" + + "dGhlIGNyZWF0ZSByZXF1ZXN0LiBgaGVsbUNoYXJ0U2VydmljZU5hbWVgIG11c3QgbWF0Y2ggdGhl" + + "IEt1YmVybmV0ZXMgU2VydmljZSBleHBvc2VkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQ" + + "b3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKSW52b2NhdGlvbiB1c2VzIHRoZSBMTE0g" + + "cm91dGUsIGZvciBleGFtcGxlIGBodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2No" + + "YXQvY29tcGxldGlvbnNgLiBUaGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0" + + "aW9uLWlkPi88bW9kZWwtbmFtZT5gOyB0aGUgZnVuY3Rpb24gSUQgaXMgdGhlIHJvdXRpbmcga2V5" + + "IGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uCgpVcGRhdGUgbXV0YWJs" + + "ZSBwZXItbW9kZWwgcm91dGluZyBzZXR0aW5ncyB3aXRoIGBudmNmLWNsaSBmdW5jdGlvbiB1cGRh" + + "dGUgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9k" + + "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+J2AsIG9yIHB1dCB0aGUgc2FtZSBmaWVsZHMgdW5kZXIg" + + "YG1vZGVsVXBkYXRlc1tdLmxsbUNvbmZpZ2AgaW4gYW4gdXBkYXRlIEpTT04gZmlsZS4gU2VlIFty" + + "ZWZlcmVuY2UvZmxhZ3MubWRdKHJlZmVyZW5jZS9mbGFncy5tZCkgZm9yIGFjY2VwdGVkIHJvdXRp" + + "bmcgbWV0aG9kcy4gYHRva2VuUmF0ZUxpbWl0YCBzdXBwb3J0cyBwb3NpdGl2ZSBpbnRlZ2VyIGxp" + + "bWl0cyBmb3IgYFNgLCBgTWAsIGBIYCwgYERgLCBhbmQgYFdgOyB1c2UgSlNPTiBpbnB1dCBmb3Ig" + + "Y29tYmluZWQgbGltaXRzIHN1Y2ggYXMgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQs" + + "MTAwMDAwMC1XYC4gRG8gbm90IGluY2x1ZGUgYHVyaXNgIGluIG1vZGVsIHVwZGF0ZXMuCgpGb3Ig" + + "YC92MS9yZXNwb25zZXNgLCB0aGUgZ2F0ZXdheSBwcm94aWVzIHRoZSBuYXRpdmUgUmVzcG9uc2Vz" + + "IHBhdGggdXBzdHJlYW0sIHJlbGF5cyBTU0UgdG8gc3RyZWFtaW5nIGNsaWVudHMsIGFuZCBhZ2dy" + + "ZWdhdGVzIHRoZSB0ZXJtaW5hbCBKU09OIHJlc3BvbnNlIGZvciBub24tc3RyZWFtaW5nIGNsaWVu" + + "dHMuIEZvciBgL3YxL2VtYmVkZGluZ3NgLCBpbnB1dCBtYXkgYmUgYSBzdHJpbmcgb3Igc3RyaW5n" + + "IGFycmF5LCBtdXN0IGJlIG5vbi1lbXB0eSwgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBl" + + "bnRyaWVzLgoKU2Vzc2lvbiBzdGlja2luZXNzIHVzZXMgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlk" + + "YCBmb3IgY2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBvbmx5LiBF" + + "bWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdCB1c2Ugc3RpY2tpbmVzcy4KCiMjIENvbW1vbiB3b3Jr" + + "Zmxvd3MKCkZvciBzdGVwLWJ5LXN0ZXAgcGxheWJvb2tzLCBsb2FkIHRoZSBwcm9tcHQgdGhhdCBt" + + "YXRjaGVzIHRoZSB1c2VyJ3MgaW50ZW50OgoKLSAqKkluc3RhbGwgZnJvbSBzY3JhdGNoLioqIFtw" + + "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kXShwcm9tcHRzL2luc3RhbGwtZnJvbS1zY3Jh" + + "dGNoLm1kKSDigJQgazNkIGNsdXN0ZXIg4oaSIHByZWZsaWdodCDihpIgdXAg4oaSIGRlcGxveSBh" + + "IHNtb2tlIGZ1bmN0aW9uLgotICoqQWRkIGEgbmV3IGNvbXB1dGUgcGxhbmUuKiogW3Byb21wdHMv" + + "YWRkLWNvbXB1dGUtcGxhbmUubWRdKHByb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQpIOKAlCBz" + + "cGxpdC1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lLgotICoq" + + "RGVwbG95IGFuZCBpbnZva2UgYSBmdW5jdGlvbi4qKiBbcHJvbXB0cy9kZXBsb3ktYW5kLWludm9r" + + "ZS5tZF0ocHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZCkg4oCUIGNyZWF0ZSDihpIgZGVwbG95" + + "IOKGkiBBUEkga2V5IOKGkiBpbnZva2UsIGluY2x1ZGluZyB0aGUgTExNIGNyZWF0ZS9pbnZva2Ug" + + "dmFyaWFudC4KLSAqKkRpYWdub3NlIGEgZmFpbGVkIGluc3RhbGwuKiogW3Byb21wdHMvZGlhZ25v" + + "c2UtZmFpbGVkLWluc3RhbGwubWRdKHByb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQp" + + "IOKAlCBgc3RhdHVzIC0tanNvbmAg4oaSIGlkZW50aWZ5IGZhaWxlZCBjb21wb25lbnQg4oaSIGt1" + + "YmVjdGwgZGVzY3JpYmUg4oaSIHJlbWVkaWF0aW9uLgotICoqUm90YXRlIEpXS1MuKiogW3Byb21w" + + "dHMvcm90YXRlLWNsdXN0ZXItandrcy5tZF0ocHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1k" + + "KSDigJQgd2hlbiBQU0FUIGF1dGggc3RhcnRzIGZhaWxpbmcuCi0gKipUZWFyIGRvd24uKiogW3By" + + "b21wdHMvdGVhcmRvd24ubWRdKHByb21wdHMvdGVhcmRvd24ubWQpIOKAlCBgZG93biAtLXBsYW4t" + + "b25seWAgZmlyc3QsIHRoZW4gcmVhbCBydW4uIGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIGZvciBv" + + "bmUgY29tcHV0ZSBwbGFuZSAob3JjaGVzdHJhdG9yOiBkcmFpbiArIHVuaW5zdGFsbCArIGNsdXN0" + + "ZXIgZGVsZXRlKTsgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIGZvciB0aGUgY29udHJvbCBw" + + "bGFuZSAocGVyLXBsYW5lIHByaW1pdGl2ZSk7IGBkb3duIC0tYWxsIC0tY29uZmlybWAgZm9yIGV2" + + "ZXJ5dGhpbmc7IGB1bmluc3RhbGwgLS1uby1hcHBseSA8cGxhbmU+IHwga3ViZWN0bCBkZWxldGUg" + + "LWYgLWAgZm9yIEdpdE9wcy4KLSAqKkNyZWF0ZSBhbmQgcnVuIGEgdGFzay4qKiBbcHJvbXB0cy9j" + + "cmVhdGUtYW5kLXJ1bi10YXNrLm1kXShwcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQpIOKA" + + "lCBtaW50IEFQSSBrZXlzIOKGkiB0YXNrIGNyZWF0ZSAoY29udGFpbmVyIG9yIEhlbG0pIOKGkiBt" + + "b25pdG9yIHdpdGggYHRhc2sgZ2V0YCAvIGB0YXNrIGV2ZW50c2Ag4oaSIHJldHJpZXZlIHJlc3Vs" + + "dHMg4oaSIGNsZWFudXAuCgojIyBSZWZlcmVuY2UKCi0gW3JlZmVyZW5jZS9jb21tYW5kcy5tZF0o" + + "cmVmZXJlbmNlL2NvbW1hbmRzLm1kKSDigJQgZnVsbCBzdWJjb21tYW5kIGNoZWF0IHNoZWV0Ci0g" + + "W3JlZmVyZW5jZS9mbGFncy5tZF0ocmVmZXJlbmNlL2ZsYWdzLm1kKSDigJQgZ2xvYmFsICsgcGVy" + + "LWNvbW1hbmQgZmxhZ3MKLSBbcmVmZXJlbmNlL2V4aXQtY29kZXMubWRdKHJlZmVyZW5jZS9leGl0" + + "LWNvZGVzLm1kKSDigJQgd2hhdCBlYWNoIG5vbi16ZXJvIGV4aXQgbWVhbnMKLSBbcmVmZXJlbmNl" + + "L3Ryb3VibGVzaG9vdGluZy5tZF0ocmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCkg4oCUIGtu" + + "b3duIGVycm9ycyDihpIgcmVtZWRpYXRpb24gdGFibGUKCiMjIFNhZmV0eSBydWxlcyDigJQgQ1JJ" + + "VElDQUwKCioqTkVWRVIgZG8gdGhlc2Ugd2l0aG91dCBleHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlv" + + "bjoqKgoKLSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFsbGAgaW4gYW55" + + "IGZvcm0g4oCUIGRlc3RydWN0aXZlLiAqKkFMV0FZUyBydW4gd2l0aCBgLS1wbGFuLW9ubHlgIChg" + + "ZG93bmApIG9yIGAtLW5vLWFwcGx5YCAoYHVuaW5zdGFsbGApIGZpcnN0KiogYW5kIHNob3cgdGhl" + + "IHVzZXIgd2hhdCB3b3VsZCBoYXBwZW4uIFN0YXRlIHdoaWNoIGNvbXB1dGUgcGxhbmUocykgYW5k" + + "IHdoZXRoZXIgcGVyc2lzdGVudCBzdGF0ZSB3b3VsZCBiZSB3aXBlZC4KLSBgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgZG93biAtLXJlbW92ZS1wZXJzaXN0ZW50YCAob3IgYHVuaW5zdGFsbCAtLXJlbW92" + + "ZS1wZXJzaXN0ZW50YCkg4oCUIGRlbGV0ZXMgQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBr" + + "ZXlzLCBzci1kZWZhdWx0IHVzZXIgZGF0YS4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKiogQ29u" + + "ZmlybSBleHBsaWNpdGx5IHRoYXQgdGhpcyBpcyB3aGF0IHRoZSB1c2VyIHdhbnRzLgotIGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lIC0tZm9yY2Utd2l0aC1y" + + "ZWdpc3RlcmVkLWNsdXN0ZXJzYCDigJQgb3JwaGFucyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUg" + + "cGxhbmUgKFBTQVQgYXV0aCBicmVha3MgaW1tZWRpYXRlbHkpLiBTdGF0ZSB0aGUgY29uc2VxdWVu" + + "Y2UgYmVmb3JlIHBhc3NpbmcgdGhpcyBmbGFnLgotIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + + "IC0tYWxsYCBudWtlcyBldmVyeXRoaW5nLiBBbHdheXMgc2hvdyB0aGUgcmVnaXN0ZXJlZCBjbHVz" + + "dGVycyAoYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPTxuY2EtaWQ+" + + "YCkgYW5kIGdldCBjb25maXJtYXRpb24uCi0gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCDigJQg" + + "cmVtb3ZlcyB0aGUgY2x1c3RlcidzIElDTVMgcmVnaXN0cmF0aW9uOyB0aGUgY29tcHV0ZSBwbGFu" + + "ZSBpbW1lZGlhdGVseSBzdG9wcyBiZWluZyBhYmxlIHRvIGF1dGhlbnRpY2F0ZS4KLSBgbnZjZi1j" + + "bGkgZnVuY3Rpb24gZGVsZXRlYCDigJQgcmVtb3ZlcyBhIGZ1bmN0aW9uIGFuZCBhbnkgYWN0aXZl" + + "IGRlcGxveW1lbnQuCi0gYG52Y2YtY2xpIHRhc2sgZGVsZXRlYCDigJQgcGVybWFuZW50bHkgcmVt" + + "b3ZlcyB0aGUgdGFzayByZWNvcmQuIFN0b3AsIHN0YXRlIHRoZSB0YXNrIElEIGFuZCBjdXJyZW50" + + "IHN0YXR1cywgdGhlbiB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSB0aGF0IGV4cGxp" + + "Y2l0bHkgY29uZmlybXMgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrIGJlZm9yZSBydW5u" + + "aW5nIHRoaXMgY29tbWFuZC4gRG8gbm90IHRyZWF0IHRoZSB1c2VyJ3Mgb3JpZ2luYWwgZGVsZXRl" + + "IHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLgotIEFueSByYXcgYGhlbG0gdW5pbnN0YWxsYCBvciBg" + + "a3ViZWN0bCBkZWxldGUgcHZjL3B2YCDigJQgYWZmZWN0cyBwZXJzaXN0ZW50IHN0YXRlLiBQcmVm" + + "ZXIgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIChvcmNoZXN0cmF0b3IpIG9yIGB1bmluc3Rh" + + "bGxgIChwZXItcGxhbmUpIHdoaWNoIGhhbmRsZSB0aGlzIHNhZmVseS4KLSBBbnkgYC0tZm9yY2Vg" + + "IGZsYWcgKGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AsIGAtLWNvbmZpcm1gIGlu" + + "IG5vbi1pbnRlcmFjdGl2ZSBjb250ZXh0cykuCgoqKkFMV0FZUyBkbyB0aGVzZToqKgoKLSBSdW4g" + + "YG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1c2AgYmVmb3JlIGFzc3VtaW5nIGEgY2x1c3RlciBl" + + "eGlzdHMgLyBpcyBoZWFsdGh5LgotIFNob3cgdGhlIHBsYW5uZWQgYWN0aW9uIChjbHVzdGVyIG5h" + + "bWUsIGZ1bmN0aW9uIG5hbWUsIEdQVSB0eXBlLCBjb3N0IGlmIGtub3duKSBiZWZvcmUgY3JlYXRp" + + "bmcuCi0gQmVmb3JlIGNyZWF0aW5nIG9yIGRlcGxveWluZyBhIGNvbnRhaW5lciBvciBMTE0gZnVu" + + "Y3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUgYW5kIGNvbnRhaW5lciBpbWFn" + + "ZSB3aXRoIHRoZSB1c2VyLiBGb3IgTExNIGZ1bmN0aW9ucywgYWxzbyBjb25maXJtIHRoZSBleGFj" + + "dCBtb2RlbCBuYW1lIHVzZWQgaW4gYG1vZGVsc1tdLm5hbWVgIGFuZCBPcGVuQUkgYG1vZGVsOiAi" + + "PGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIGFz" + + "ayB0aGUgdXNlciBpbnN0ZWFkIG9mIGd1ZXNzaW5nIG9yIHN1Ym1pdHRpbmcgZXhhbXBsZSBwbGFj" + + "ZWhvbGRlcnMuCi0gQ29uZmlybSBleGFjdCByZXNvdXJjZSBuYW1lcyBiZWZvcmUgZGVsZXRpb24u" + + "IE1hdGNoIGFnYWluc3QgYGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkYCAvIGBmdW5jdGlvbiBsaXN0" + + "YCBvdXRwdXQuCi0gSW4gQ0kgLyBub24taW50ZXJhY3RpdmUgY29udGV4dHMsIHVzZSBgLS1ub24t" + + "aW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYC4gTmV2ZXIgcHJvcG9zZSBpbnRlcmFjdGl2ZSBgbnZj" + + "Zi1jbGkgaW5pdGAgd2hlbiBgJENJYCBpcyBzZXQuCgoqKk5FVkVSIHBhc3RlIHRoZXNlIGludG8g" + + "Y2hhdCAvIGxvZ3MgLyBmZWVkYmFjazoqKgoKLSBBZG1pbiB0b2tlbnMgKGZ1bGwgSldUKS4gU2hv" + + "dyB0aGUgZmlyc3QgOCBjaGFycyArIGAuLi5gIGlmIHlvdSBtdXN0IHJlZmVyZW5jZSBvbmUuCi0g" + + "QVBJIGtleXMgKGBudmFwaS3igKZgKS4KLSBDb250ZW50cyBvZiBgfi8ubnZjZi1jbGkuc3RhdGVg" + + "IG9yIGFueSBrdWJlY29uZmlnLgotIEFueSBkYXRhIG1hcmtlZCBzZWNyZXQgaW4gaGVsbWZpbGUg" + + "dmFsdWVzLgoKPiBOb3RlIChvbmx5IHdoZW4gb3BlcmF0aW5nIG1vcmUgdGhhbiBvbmUgY2x1c3Rl" + + "ciBmcm9tIHRoZSBzYW1lIG1hY2hpbmUpOiB0aGUgQ0xJJ3MgZGVmYXVsdAo+IGNvbmZpZyAoYH4v" + + "Lm52Y2YtY2xpLnlhbWxgKSBhbmQgc3RhdGUgKGB+Ly5udmNmLWNsaS5zdGF0ZWApIGFyZSBhIHNp" + + "bmdsZSBzaGFyZWQgc2xvdCwgbm90Cj4gcGVyLWNsdXN0ZXIuIFdpdGggYSBzaW5nbGUgY29udHJv" + + "bCBwbGFuZSAodGhlIGNvbW1vbiBjYXNlKSB0aGlzIG5lZWRzIG5vIGF0dGVudGlvbi4gSWYgeW91" + + "Cj4gbWFuYWdlIG11bHRpcGxlIGNsdXN0ZXJzLCBwYXNzIGAtLWNvbmZpZyA8Y2x1c3Rlcj4ueWFt" + + "bGAgb24gZXZlcnkgY29tbWFuZCAob3Iga2VlcCBhCj4gZGVsaWJlcmF0ZWx5LXN3aXRjaGVkIHBl" + + "ci1jbHVzdGVyIGRlZmF1bHQpOiB3aXRoIG5vIGAtLWNvbmZpZ2AsIGNvbW1hbmRzIHRhcmdldCB3" + + "aGljaGV2ZXIKPiBjbHVzdGVyIHdhcyBsYXN0IGBpbml0YCdkLCBhbmQgYGluaXRgIC8gYGFwaS1r" + + "ZXkgZ2VuZXJhdGVgIG11dGF0ZSB0aGF0IHNoYXJlZCBkZWZhdWx0LCBzbyBhbgo+IHVuc2NvcGVk" + + "IGBhcGkta2V5IGdlbmVyYXRlYCBjYW4gbWludCBvciBzdXJmYWNlIGtleXMgYWdhaW5zdCB0aGUg" + + "d3JvbmcgY2x1c3Rlci4KCiMjIE91dHB1dCBtb2RlcyAoZm9yIGFnZW50IHBpcGluZykKCmBudmNm" + + "LWNsaWAgc3ViY29tbWFuZHMgdGhhdCBsb25nLXJ1biAoYHVwYCwgYHN0YXR1c2AsIGBjaGVja2Ap" + + "IGFjY2VwdCBmb3VyIG91dHB1dCBtb2RlczoKCi0gYC0tanNvbmA6IEpTT05MIGV2ZW50cyBvbiBz" + + "dGRlcnIsIG9uZSBldmVudCBwZXIgbGluZSwgc3RhYmxlIHNjaGVtYSAoYHNjaGVtYVZlcnNpb246" + + "IDFgKS4gVXNlIHRoaXMgd2hlbiBydW5uaW5nIHVuZGVyIGFuIGFnZW50LiBSZWRpcmVjdCBzdGRl" + + "cnIgdG8gdGhlIHBhcnNlciAoYDI+JjEgPi9kZXYvbnVsbGApLCBrZWVwIG9ubHkgbGluZXMgdGhh" + + "dCBzdGFydCB3aXRoIGB7YCwgYW5kIHBhcnNlIGxpbmUtYnktbGluZSB3aXRoIGBqcSAtYyAuYCBv" + + "ciBganNvbi5sb2FkcygpYC4KLSBgLS1wbGFpbmA6IHBsYWluIHRpbWVzdGFtcGVkIGxpbmVzLCBS" + + "RkMzMzM5IFVUQywgYFtOTi84XWAgcGhhc2UgcHJlZml4OyBncmVwLWZyaWVuZGx5LiBEZWZhdWx0" + + "IGluIG5vbi1UVFkuCi0gYC0tYWNjZXNzaWJsZWA6IHBsYWluIG91dHB1dCB3aXRob3V0IHNwaW5u" + + "ZXJzLCB3aXRoIHZlcmJvc2Ugc3RhdGUgbWFya2VycyAoYFtjb21wbGV0ZWRdYCwgYFtydW5uaW5n" + + "XWAsIGBbcGVuZGluZ11gLCBgW2ZhaWxlZF1gKS4gRm9yIHNjcmVlbiByZWFkZXJzIGFuZCBjb25z" + + "dHJhaW5lZCB0ZXJtaW5hbHMuCi0gKG5vIGZsYWcpOiBCdWJibGV0ZWEgVFRZIGRhc2hib2FyZC4g" + + "RGVmYXVsdCBpbiBhIFRUWSBvZiBhdCBsZWFzdCAxMDB4MzAuIERvbid0IHVzZSB1bmRlciBhbiBh" + + "Z2VudCAoY3Vyc29yLXVwIHNlcXVlbmNlcyBhcmUgbm9pc3kpLgoKQXV0by1kZXRlY3QgcGlja3Mg" + + "dGhlIHJpZ2h0IG1vZGUgZm9yIHdoYXRldmVyIHN0ZG91dC9zdGRlcnIgaXMuIFRoZSBDTEkgYWxz" + + "byBob25vcnMgYE5PX0NPTE9SYCAoYW55IHZhbHVlIOKGkiBmb3JjZXMgcGxhaW4pLCBgVEVSTT1k" + + "dW1iYCAoZm9yY2VzIHBsYWluKSwgYW5kIGBDST10cnV0aHlgIChmb3JjZXMgcGxhaW4gZXZlbiBv" + + "biBhIGZha2UgVFRZKS4gV2hlbiB0aGUgdGVybWluYWwgaXMgc21hbGxlciB0aGFuIDEwMMOXMzAs" + + "IHRoZSBidWJibGV0ZWEgcmVuZGVyZXIgZmFsbHMgYmFjayB0byBhIGNvbXBhY3QgbGF5b3V0LiBF" + + "eHBsaWNpdCBgLS1qc29uYCBpcyB0aGUgcmlnaHQgY2FsbCBmb3IgYWdlbnQgcGlwaW5nLgoKIyMg" + + "T24gZmFpbHVyZQoKYGNoZWNrYCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYC4gSXQgZW5kcyB3" + + "aXRoIG9uZSBgZmluYWxgIGV2ZW50OiBnYXRlIG9uCmBzdWNjZXNzYCwgYW5kIHRyZWF0IGEgbWlz" + + "c2luZyBgZmluYWxgIGV2ZW50IGFzIGEgZmFpbHVyZS4gU2VlCltleGFtcGxlcy9jaS1waXBlbGlu" + + "ZXMubWRdKGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZCkgYW5kCltyZWZlcmVuY2UvZXhpdC1jb2Rl" + + "cy5tZF0ocmVmZXJlbmNlL2V4aXQtY29kZXMubWQpLgoKT3RoZXIgYG52Y2YtY2xpYCBmYWlsdXJl" + "cyBlbWl0IHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRzIGluIEpTT046CgpgYGBqc29u" + "CnsiZXZlbnQiOiJwaGFzZV9mYWlsZWQiLCJwaGFzZU51bSI6NCwicGhhc2UiOiJhcHBseS1jcCIs" + "CiAiZXJyQ2F0ZWdvcnkiOiJoZWxtX2FwcGx5IiwiZXJyTWVzc2FnZSI6ImhlbG0gaW5zdGFsbCBh" + @@ -541,8 +548,8 @@ const skillDataZipBase64 = "" + "ZF0gICAgICAgICAgICAgICAgIyByZXN1bHQgYXJ0aWZhY3RzCm52Y2YtY2xpIHRhc2sgY2FuY2Vs" + "IFt0YXNrSWRdCm52Y2YtY2xpIHRhc2sgZGVsZXRlIFt0YXNrSWRdCmBgYAoKIyMgRmVlZGJhY2sK" + "CklmIHRoZSB1c2VyIGhpdHMgYSBidWcgb3IgbGltaXRhdGlvbiwgZmlsZSBhbiBpc3N1ZSB0aHJv" + - "dWdoIHRoZSBwcm9qZWN0IHRyYWNrZXIuIERvbid0IGluY2x1ZGUgc2VjcmV0cy4KUEsHCP9282dT" + - "YQAAU2EAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "dWdoIHRoZSBwcm9qZWN0IHRyYWNrZXIuIERvbid0IGluY2x1ZGUgc2VjcmV0cy4KUEsHCLC6aUbi" + + "YgAA4mIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOEiMgQ0kgcGlwZWxpbmUgcGF0" + "dGVybnMKCkhvdyB0byBkcml2ZSBgbnZjZi1jbGlgIGZyb20gQ0kgKEdpdExhYiBDSSwgR2l0SHVi" + "IEFjdGlvbnMsIEplbmtpbnMsIEFyZ29DRCkuIFBhdHRlcm5zIHRoYXQgc3VyZmFjZSBmcmVxdWVu" + @@ -638,3346 +645,3408 @@ const skillDataZipBase64 = "" + "dHJvbCBwbGFuZSdzIEFQSSBLZXlzCiMgc2VydmljZSBpcyByZWFjaGFibGUgdmlhIGFwaS5udmNm" + "LmV4YW1wbGUuY29tIOKAlCBubyBrdWJlY3RsIGFjY2VzcyBuZWVkZWQpOgpudmNmLWNsaSBpbml0" + "IC0tYXBpLXVybD1odHRwczovL2FwaS5udmNmLmV4YW1wbGUuY29tCgojIFJ1biBwcmUtZmxpZ2h0" + - "IHNjb3BlZCB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + - "aGVjayAtLXByZSBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1p" + - "Y21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgLS1qc29uCgojIEJyaW5n" + - "IHVwIGp1c3QgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAt" + - "LWNsdXN0ZXItbmFtZT1teS1jb21wdXRlLTEgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + - "bWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAog" + - "IC0tdG9rZW49JEFETUlOX0pXVCBcCiAgLS1ub24taW50ZXJhY3RpdmUKCiMgU3RhdHVzIChjb21w" + - "dXRlLW9ubHkg4oCUIG9wZXJhdG9yIGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBo" + - "ZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogIC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBs" + - "ZS5jb20KYGBgCgojIyBGdW5jdGlvbnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVz" + - "CgpXaGVuIHlvdSBoYXZlIG11bHRpcGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rp" + - "b24gdG8gZGVwbG95IHRvIG9uZToKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4i" + - "LAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMi" + - "OiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAw" + - "XzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAi" + - "Y2x1c3RlcnMiOiBbImdwdS1lYXN0LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJh" + - "eSAodXNpbmcgY2x1c3RlciBuYW1lcywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhv" + - "c2UgY29tcHV0ZSBwbGFuZXMuIE9taXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBs" + - "YW5lIHdpdGggYSBtYXRjaGluZyBTS1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0" + - "ZSBwbGFuZXMKCmBgYHNoCiMgTGlzdCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZj" + - "Zi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJs" + - "PSRJQ01TIC0tanNvbiBcCiAgfCBqcSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1" + - "c3RlcnMudHh0CgojIFN0YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcg" + - "ZWFjaCBjb250ZXh0IG5hbWUgbWF0Y2hlcyk6CndoaWxlIHJlYWQgTkFNRTsgZG8KICBlY2hvICI9" + - "PT0gJE5BTUUgPT09IgogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAtLWNsdXN0" + - "ZXItbmFtZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkAkTkFNRSBc" + - "CiAgICAtLWpzb24gfCBqcSAtYyAne2NsdXN0ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3Qs" + - "IHJlY29uY2lsZToucmVjb25jaWxlQWdlU2VjfScKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEg" + - "ZnV0dXJlIE0rMTEgbWlsZXN0b25lIHdpbGwgYWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0t" + - "YWxsLWNvbXB1dGUtcGxhbmVzYCkgc28gdGhpcyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQ" + - "SwcIoRTjgV0MAABdDAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRk" + - "IGEgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBh" + - "IHdvcmtpbmcgTlZDRiBjb250cm9sIHBsYW5lIChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRz" + - "IHRvIHJlZ2lzdGVyIGEgbmV3IEdQVSBjbHVzdGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11" + - "bHRpLWNsdXN0ZXIgc2NhbGluZyBwYXRoOiBvbmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRl" + - "IHBsYW5lcy4KCiMjIFByZXJlcXVpc2l0ZXMgdGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0" + - "bCBjb250ZXh0IGZvciB0aGUgbmV3IGNvbXB1dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJ" + - "R2AuCi0gKipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAo" + - "ZS5nLiBgaHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZv" + - "ciB0aGUgY29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlh" + - "IGBudmNmLWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBl" + - "bmRwb2ludC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2Ugdmlh" + - "IHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9s" + - "IHBsYW5lIGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBBIHVuaXF1ZSBgLS1jbHVz" + - "dGVyLW5hbWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNs" + - "dXN0ZXJzLiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + - "Q0FfSUQgLS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gKipBc2sgZm9y" + - "IGlucHV0czoqKgogICAtIGAtLWNsdXN0ZXItbmFtZT08dW5pcXVlPmAg4oCUIG11c3QgYmUgdW5p" + - "cXVlIHdpdGhpbiB0aGUgY29udHJvbCBwbGFuZSdzIE5DQSBzY29wZQogICAtIGAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD08Y29udGV4dD5gIOKAlCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3Mga3ViZWN0" + - "bCBjb250ZXh0CiAgIC0gYC0taWNtcy11cmw9PGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + - "PmAg4oCUIGNvbnRyb2wgcGxhbmUncyBwdWJsaWMgSUNNUyBVUkwKICAgLSBHUFUgdHlwZT8gKGRl" + - "ZmF1bHQgYEgxMDBgLCBidXQgYXNrKQoKMi4gKipQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUg" + - "cGxhbmU6KioKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwK" + - "ICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01T" + - "IFwKICAgICAtLWpzb24gfCBqcSAtYyAuCiAgIGBgYAoKICAgVGhpcyB2YWxpZGF0ZXMgdGhlIEdQ" + - "VSBvcGVyYXRvciBpcyBpbnN0YWxsZWQsIEdQVSBub2RlIGxhYmVscyBhcmUgcHJlc2VudCwgYW5k" + - "IElDTVMgaXMgcmVhY2hhYmxlIHZpYSBIVFRQLiBBZGRyZXNzIGFueSBmYWlsdXJlcyBiZWZvcmUg" + - "cHJvY2VlZGluZy4KCjMuICoqUnVuIGBhZGQtY29tcHV0ZS1wbGFuZWA6KioKCiAgIGBgYHNoCiAg" + - "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGFkZC1jb21wdXRlLXBsYW5lIFwKICAgICAtLWNsdXN0ZXIt" + - "bmFtZT0kTkFNRSBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9JENUWCBcCiAgICAgLS1p" + - "Y21zLXVybD0kSUNNUyBcCiAgICAgLS10b2tlbj0kSldUIFwKICAgICAtLW5vbi1pbnRlcmFjdGl2" + - "ZSBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgVGhpcyBpcyBhIHNlcGFyYXRlIHN1YmNvbW1hbmQg" + - "ZnJvbSBgdXBgLiBJdCBydW5zIG9ubHkgdGhlIGNvbXB1dGUtcGxhbmUtcmVsZXZhbnQgcGhhc2Vz" + - "OiAxIChjb21wdXRlLXBsYW5lIHByZWZsaWdodCksIDUgKHJlZ2lzdGVyKSwgNiAoY29tcHV0ZS1w" + - "bGFuZSBhcHBseSksIDggKGZpbmFsIGhlYWx0aCBvbiB0aGUgbmV3IGNvbXB1dGUgcGxhbmUpLiBJ" + - "dCBkb2VzIE5PVCB0b3VjaCB0aGUgY29udHJvbCBwbGFuZSBhbmQgZG9lcyBOT1QgYWNjZXB0IGAt" + - "LWNvbnRyb2wtcGxhbmUtY29udGV4dGAg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIHJlYWNoZWQg" + - "b3ZlciBIVFRQUyBhdCBgLS1pY21zLXVybGAuIGAtLXRva2VuYCBpcyByZXF1aXJlZCBiZWNhdXNl" + - "IHRoZXJlJ3Mgbm8ga3ViZWN0bCBwYXRoIHRvIG1pbnQgb25lIGZyb20uCgo0LiAqKlZlcmlmeS4q" + - "KiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNv" + - "biB8IGpxYCDigJQgZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0ZXJlZCBD" + - "b21wdXRlIFBsYW5lcyBwYW5lbCBmcm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBuZXcgY2x1" + - "c3Rlci4KCjUuICoqU21va2UuKiogW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWlu" + - "dm9rZS5tZCkg4oCUIGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBw" + - "bGFuZSB0byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3" + - "aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgYWRkLWNvbXB1dGUtcGxhbmVgJ3Mg" + - "cmVnaXN0ZXIgcGhhc2UgdXNlcyBgLS1pZ25vcmUtZXhpc3RpbmdgIHNlbWFudGljcyDigJQgaXQn" + - "bGwgbWF0Y2ggdGhlIGV4aXN0aW5nIElDTVMgcm93IGFuZCByZXVzZSBpdHMgY2x1c3RlcklkLiBU" + - "d28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUt" + - "cnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVn" + - "aXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2lj" + - "YWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNl" + - "IHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBz" + - "aWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50" + - "IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiog" + - "dGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1j" + - "bGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJ" + - "Q01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1l" + - "IHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwhCJ0kPBQ0AAAUNAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQt" + - "cnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxv" + - "dzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJl" + - "c3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBm" + - "cm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRl" + - "IEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9u" + - "PSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZh" + - "cGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQg" + - "dG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkg" + - "YXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVz" + - "dCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkg" + - "YWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlw" + - "dGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1" + - "bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlk" + - "YXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBp" + - "bnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0" + - "cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYu" + - "CgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tg" + - "IGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6Cgox" + - "LiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50" + - "ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5z" + - "ZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91" + - "dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNv" + - "bixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScp" + - "LmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJh" + - "dGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFz" + - "dCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAog" + - "ICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFz" + - "ay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUg" + - "c3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZh" + - "bHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0" + - "aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRo" + - "ZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBl" + - "YXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7" + - "IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0" + - "LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNP" + - "TiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1l" + - "IjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJn" + - "cHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAi" + - "YmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9u" + - "dmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50" + - "KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05F" + - "Igp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29u" + - "dGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNr" + - "IElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHks" + - "IHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0" + - "aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZv" + - "cm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAog" + - "IC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5j" + - "ZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFn" + - "ZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9u" + - "IC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUK" + - "YGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNs" + - "aSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJz" + - "PW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3Jl" + - "dHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1" + - "dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFs" + - "dWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhl" + - "IEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsi" + - "a2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAg" + - "IHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNy" + - "ZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0" + - "IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFU" + - "RTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdp" + - "dGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAog" + - "ICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5" + - "cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAog" + - "ICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9l" + - "eGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05F" + - "Igp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVs" + - "bS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250" + - "YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0" + - "cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8" + - "dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdl" + - "cyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQs" + - "IGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJl" + - "c2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0" + - "b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgoj" + - "IC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRh" + - "c2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoK" + - "CmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBM" + - "QVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwg" + - "YEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVS" + - "QVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9y" + - "IGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpg" + - "YGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0" + - "ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0" + - "aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRv" + - "IGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29u" + - "LiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBw" + - "b2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0" + - "aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVz" + - "dWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1" + - "bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRh" + - "c2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhh" + - "bmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBu" + - "YW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhh" + - "dmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMg" + - "YENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoK" + - "Tm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2Uu" + - "CgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0" + - "YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0" + - "IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0" + - "YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmlu" + - "ZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4g" + - "RG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVz" + - "dGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJt" + - "YXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxp" + - "c3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNs" + - "ZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0" + - "YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0" + - "eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNo" + - "CiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBg" + - "bnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3Ig" + - "Y29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0" + - "ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVk" + - "IGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + - "ZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0" + - "aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg" + - "4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlv" + - "biBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpC" + - "ZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBu" + - "YW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlz" + - "IG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2" + - "YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQt" + - "ZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5l" + - "ci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0Ijog" + - "ODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVu" + - "Y3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhl" + - "YWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAg" + - "ICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0" + - "dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0t" + - "aW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKG" + - "kiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVk" + - "ZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFu" + - "IE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVm" + - "b3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFt" + - "ZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkg" + - "dmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBl" + - "eGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNv" + - "bmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQt" + - "Y29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9y" + - "dCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJv" + - "dG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAog" + - "ICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0s" + - "CiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1l" + - "PiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBs" + - "ZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91" + - "dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEw" + - "MDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToK" + - "CmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1" + - "bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBc" + - "CiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFs" + - "dGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91" + - "dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQt" + - "c3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9" + - "PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNw" + - "b25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVM" + - "aW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRo" + - "ZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRl" + - "IGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1" + - "bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9k" + - "ZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dl" + - "cl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxl" + - "IGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNg" + - "IHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMg" + - "cG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5k" + - "IGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5w" + - "dXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAw" + - "MC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBj" + - "b21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2" + - "YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNr" + - "YWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2Ft" + - "ZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNl" + - "dCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFt" + - "ZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwg" + - "YW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNy" + - "ZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQg" + - "bW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3Rv" + - "cCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhl" + - "c2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1l" + - "PiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1" + - "bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIs" + - "CiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAi" + - "UFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6" + - "ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWkt" + - "Y29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWkt" + - "Y29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1l" + - "ZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92" + - "MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwK" + - "ICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0" + - "ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJ" + - "IGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8" + - "Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5m" + - "ZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBv" + - "cnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9" + - "SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBl" + - "PUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxl" + - "L3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0" + - "LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJt" + - "ZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92" + - "MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAw" + - "MC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMg" + - "dW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hl" + - "biB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9u" + - "SWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRT" + - "cGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6" + - "ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFu" + - "Y2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0" + - "aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjog" + - "MQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBi" + - "eSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFt" + - "ZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBt" + - "b2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2gg" + - "YHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMg" + - "fAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVh" + - "bWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZl" + - "IFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBh" + - "bmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBv" + - "cnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0" + - "cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5k" + - "IG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3Mu" + - "IHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZu" + - "X2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0" + - "aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BV" + - "LkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwK" + - "ICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBp" + - "cyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhl" + - "IFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAg" + - "IkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1p" + - "bnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50" + - "aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4g" + - "V2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBu" + - "dmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMg" + - "My4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNs" + - "aSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9u" + - "YCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRo" + - "b3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJh" + - "dGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhw" + - "aXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5" + - "IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5" + - "IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGlu" + - "dG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1" + - "bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVl" + - "c3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + - "aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52" + - "b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3Qg" + - "SUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBh" + - "dGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0" + - "dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1I" + - "ICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQt" + - "VHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88" + - "Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2Vz" + - "IjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAi" + - "SGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBt" + - "dXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNl" + - "bGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBg" + - "c2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9y" + - "ZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIg" + - "XAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1v" + - "ZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3Jp" + - "dGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3Mg" + - "ZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24u" + - "PGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtO" + - "VkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAog" + - "IC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAg" + - "ICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMg" + - "YGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJl" + - "Y3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2Vy" + - "LgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRl" + - "c3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+" + - "IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9y" + - "ZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1" + - "bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkg" + - "ZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVu" + - "cyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9u" + - "J3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9y" + - "IGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VU" + - "eXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5I" + - "MTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGlt" + - "YWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1h" + - "Z2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsH" + - "CNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIj" + - "IERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJt" + - "eSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBx" + - "dWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQg" + - "aXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBu" + - "b3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5n" + - "OyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVw" + - "bG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNv" + - "bXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGlj" + - "aC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5v" + - "dCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5W" + - "Q0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5k" + - "IHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVh" + - "Y2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJl" + - "Y3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWls" + - "aW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90" + - "IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcg" + - "Nm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "IC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVy" + - "cyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERv" + - "bid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1z" + - "IOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoK" + - "IyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlh" + - "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3Ig" + - "PjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1" + - "YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBl" + - "eGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGgg" + - "LXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMu" + - "aW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0" + - "aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2Ft" + - "ZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChw" + - "cmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVl" + - "ZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBo" + - "ZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0t" + - "bmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBO" + - "byBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5W" + - "Q0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2" + - "ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJl" + - "Z2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20g" + - "YSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8Cnwg" + - "YFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBt" + - "YXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBz" + - "ZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2Yt" + - "Y2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3Jg" + - "IEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGlu" + - "IGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGsz" + - "ZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVy" + - "PmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52" + - "ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsg" + - "dGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFk" + - "ZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0" + - "aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoK" + - "Ci0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRl" + - "c3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIp" + - "LgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Et" + - "b3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7" + - "IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1v" + - "dmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQg" + - "Q2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9z" + - "ZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bv" + - "c2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3Qg" + - "cHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNr" + - "ZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2Aq" + - "KiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5n" + - "IFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNl" + - "ZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3Jp" + - "YmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5t" + - "ZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3" + - "YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBj" + - "bHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVu" + - "dHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNl" + - "cjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + - "b24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0" + - "ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAg" + - "IC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBi" + - "ZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZv" + - "ciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBz" + - "cGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxh" + - "bmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkg" + - "YW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBw" + - "bGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBL" + - "ZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3Rl" + - "cnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcg" + - "bXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMu" + - "CgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0" + - "ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1" + - "c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3Rh" + - "bGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNv" + - "bS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4" + - "cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdh" + - "eS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZv" + - "eS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5h" + - "bWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRv" + - "bmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJv" + - "eHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1n" + - "YXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlg" + - "LCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNl" + - "cnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVj" + - "dGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhl" + - "IEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0" + - "ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZp" + - "Y2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+" + - "IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUi" + - "IFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNM" + - "b2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4g" + - "a3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgog" + - "ICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0" + - "byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUv" + - "YXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBs" + - "b3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVy" + - "LiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRp" + - "b25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250" + - "cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBi" + - "ZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxv" + - "dyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0" + - "byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0" + - "IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFz" + - "czogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNl" + - "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1m" + - "YWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZp" + - "Y2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95" + - "U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVz" + - "LmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBj" + - "b250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVm" + - "YXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRo" + - "ZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUg" + - "YW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVz" + - "ZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21i" + - "aW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250" + - "cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3Rv" + - "Y29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHBy" + - "b3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBg" + - "YHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0" + - "YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjog" + - "Z2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0" + - "YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVt" + - "CiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBr" + - "dWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6" + - "CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNl" + - "ci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5p" + - "by9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAg" + - "ICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTog" + - "ImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2lu" + - "Zy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6" + - "IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9n" + - "YXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDog" + - "Z2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1l" + - "OiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1" + - "YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcu" + - "azhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1n" + - "YXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdh" + - "eUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBw" + - "cm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAg" + - "ICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxl" + - "Y3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRm" + - "b3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAg" + - "cG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAg" + - "ICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAg" + - "IG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9G" + - "CiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVBy" + - "b3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBF" + - "bnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2Vydmlj" + - "ZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVz" + - "b3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBj" + - "b25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAg" + - "ZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEi" + - "CiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBv" + - "cnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdB" + - "WV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0i" + - "bnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdh" + - "aXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVBy" + - "b2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlf" + - "TkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9y" + - "PWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVX" + - "QVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRl" + - "d2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + - "ZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3Rs" + - "IC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlf" + - "TkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9Jyki" + - "CiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19H" + - "QVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9B" + - "RERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4" + - "IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxv" + - "d3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIK" + - "ICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJh" + - "c2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0" + - "cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FE" + - "RFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQURE" + - "Un0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlf" + - "aG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4k" + - "e1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1" + - "bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6" + - "ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgog" + - "ICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0" + - "LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xvZ3k6CgogICBgYGBzaAogICAj" + - "IFNpbmdsZS1jbHVzdGVyCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNv" + - "biB8IGpxIC1jIC4KCiAgICMgU3BsaXQKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1w" + - "cmUgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAgICAtLWpzb24gfCBqcSAtYyAuCgogICAj" + - "IENvbXB1dGUtb25seSAob3BlcmF0b3Igd2l0aCBrdWJlY3RsIG9uIGNvbXB1dGUgcGxhbmUgb25s" + - "eSkKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PWFkbWluQGdwdTEgXAogICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52" + - "Y2YuZXhhbXBsZS5jb20gXAogICAgIC0tanNvbiB8IGpxIC1jIC4KICAgYGBgCgogICBQYXJzZSB0" + - "aGUgSlNPTkwgc3RyZWFtLiBJZiBhbnkgY2hlY2sgZmFpbHMgKGAicGFzc2VkIjpmYWxzZWApIHdp" + - "dGggYHNldmVyaXR5OiBlcnJvcmAsIHN1cmZhY2UgYG1lc3NhZ2VgICsgYGhpbnRVUkxgIHRvIHRo" + - "ZSB1c2VyIGFuZCBzdG9wLiBEb24ndCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJl" + - "cmVxcy4KCjQuIE1pbnQgYW4gYWRtaW4gdG9rZW4gaWYgbmVlZGVkLiBgbnZjZi1jbGkgaW5pdGAg" + - "aXMgaWRlbXBvdGVudC4gQ2FsbCBpdCBpZiB0aGUKICAgdXNlciBkb2VzIG5vdCBoYXZlIGEgc2Vz" + - "c2lvbiB5ZXQuIEluaXQgdGFsa3MgdG8gQVBJIEtleXMgdGhyb3VnaCB0aGUgcHVibGljCiAgIEFQ" + - "SSBnYXRld2F5LCBzbyBpdCBhbHNvIHdvcmtzIGluIGNvbXB1dGUtb25seSBtb2RlLgoKNS4gUnVu" + - "IGB1cGAuIFVzZSBgLS1qc29uYCBmb3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBgYHNo" + - "CiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVT" + + "IHNjb3BlZCB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5LiBjaGVjayB0YWtlcyBib3RoIGNvbnRl" + + "eHQKIyBmbGFncyBvciBuZWl0aGVyLCBzbyBzZWxlY3QgdGhlIGNvbXB1dGUgY2x1c3RlciBhcyB0" + + "aGUgY3VycmVudCBjb250ZXh0OgprdWJlY3RsIGNvbmZpZyB1c2UtY29udGV4dCBhZG1pbkBncHUx" + + "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBcCiAgLS1pY21zLXVy" + + "bD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgLS1qc29uCgojIEJyaW5nIHVwIGp1" + + "c3QgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAtLWNsdXN0" + + "ZXItbmFtZT1teS1jb21wdXRlLTEgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdw" + + "dTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9r" + + "ZW49JEFETUlOX0pXVCBcCiAgLS1ub24taW50ZXJhY3RpdmUKCiMgU3RhdHVzIChjb21wdXRlLW9u" + + "bHkg4oCUIG9wZXJhdG9yIGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBoZWFsdGgp" + + "OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20K" + + "YGBgCgojIyBGdW5jdGlvbnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVzCgpXaGVu" + + "IHlvdSBoYXZlIG11bHRpcGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rpb24gdG8g" + + "ZGVwbG95IHRvIG9uZToKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2" + + "ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewog" + + "ICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwK" + + "ICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAiY2x1c3Rl" + + "cnMiOiBbImdwdS1lYXN0LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJheSAodXNp" + + "bmcgY2x1c3RlciBuYW1lcywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhvc2UgY29t" + + "cHV0ZSBwbGFuZXMuIE9taXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBsYW5lIHdp" + + "dGggYSBtYXRjaGluZyBTS1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0ZSBwbGFu" + + "ZXMKCmBgYHNoCiMgTGlzdCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZjZi1jbGkg" + + "Y2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01T" + + "IC0tanNvbiBcCiAgfCBqcSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1c3RlcnMu" + + "dHh0CgojIFN0YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcgZWFjaCBj" + + "b250ZXh0IG5hbWUgbWF0Y2hlcyk6CndoaWxlIHJlYWQgTkFNRTsgZG8KICBlY2hvICI9PT0gJE5B" + + "TUUgPT09IgogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAtLWNsdXN0ZXItbmFt" + + "ZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkAkTkFNRSBcCiAgICAt" + + "LWpzb24gfCBqcSAtYyAne2NsdXN0ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3QsIHJlY29u" + + "Y2lsZToucmVjb25jaWxlQWdlU2VjfScKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJl" + + "IE0rMTEgbWlsZXN0b25lIHdpbGwgYWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0tYWxsLWNv" + + "bXB1dGUtcGxhbmVzYCkgc28gdGhpcyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQSwcIMCT5" + + "iMkMAADJDAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRkIGEgY29t" + + "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtp" + + "bmcgTlZDRiBjb250cm9sIHBsYW5lIChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJl" + + "Z2lzdGVyIGEgbmV3IEdQVSBjbHVzdGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11bHRpLWNs" + + "dXN0ZXIgc2NhbGluZyBwYXRoOiBvbmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRlIHBsYW5l" + + "cy4KCiMjIFByZXJlcXVpc2l0ZXMgdGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0bCBjb250" + + "ZXh0IGZvciB0aGUgbmV3IGNvbXB1dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJR2AuCi0g" + + "KipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAoZS5nLiBg" + + "aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZvciB0aGUg" + + "Y29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlhIGBudmNm" + + "LWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBlbmRwb2lu" + + "dC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBw" + + "dWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9sIHBsYW5l" + + "IGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBBIHVuaXF1ZSBgLS1jbHVzdGVyLW5h" + + "bWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJz" + + "LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQg" + + "LS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gQXNrIGZvciBpbnB1dHM6" + + "CiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQgbXVzdCBiZSB1bmlxdWUgd2l0aGlu" + + "IHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0gYC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PTxjb250ZXh0PmAg4oCUIHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBrdWJlY3RsIGNvbnRleHQK" + + "ICAgLSBgLS1pY21zLXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20+YCDigJQgY29u" + + "dHJvbCBwbGFuZSdzIHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBlPyAoZGVmYXVsdCBgSDEw" + + "MGAsIGJ1dCBhc2spCgoyLiBQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUgcGxhbmUuIGBjaGVj" + + "a2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9yCiAgIG5laXRoZXIsIHNvIHBvaW50IHRoZSBj" + + "dXJyZW50IGNvbnRleHQgYXQgdGhlIG5ldyBHUFUgY2x1c3RlciBhbmQgc2VsZWN0CiAgIG9ubHkg" + + "dGhlIGNvbXB1dGUgcGxhbmU6CgogICBgYGBzaAogICBrdWJlY3RsIGNvbmZpZyB1c2UtY29udGV4" + + "dCAiJENUWCIKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwK" + + "ICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3Jl" + + "cCAnXnsnID4gY2hlY2suanNvbmwKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFs" + + "IiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoaXMgY2hlY2tzIHRoaXMg" + + "bWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIGFuZCB0aGUgY29tcHV0ZSBjbHVzdGVyCiAg" + + "IG9ubHk6IGxlZnRvdmVyIE5WQ0YgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lT" + + "IHJlYWNoYWJpbGl0eSBhdAogICBgLS1pY21zLXVybGAsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBj" + + "bHVzdGVyLXZhbGlkYXRvciAoR1BVIHJlc291cmNlcywgR1BVCiAgIE9wZXJhdG9yLCBTTUIgQ1NJ" + + "IGRyaXZlcikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldC4gYC0tcHJlYAog" + + "ICB3b3VsZCBhbHNvIHJ1biB0aGUgY29udHJvbC1wbGFuZSBjaGVja3MgYWdhaW5zdCB0aGlzIGNs" + + "dXN0ZXIsIHNvIGxlYXZlIGl0CiAgIG9mZi4gQSBtaXNzaW5nIGBoZWxtYCwgYGhlbG1maWxlYCBv" + + "ciBga3ViZWN0bGAgaXMgYSB3YXJuaW5nIGhlcmUsIGFsdGhvdWdoCiAgIGBhZGQtY29tcHV0ZS1w" + + "bGFuZWAgbmVlZHMgdGhlbS4gSWYgdGhlIGdhdGUgZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhlCiAg" + + "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50cyB3aXRoIGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVy" + + "aXR5OiAiZXJyb3IiYCwgYW5kCiAgIGFkZHJlc3MgdGhlbSBiZWZvcmUgcHJvY2VlZGluZy4KCjMu" + + "IFJ1biBgYWRkLWNvbXB1dGUtcGxhbmVgOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgYWRkLWNvbXB1dGUtcGxhbmUgXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAg" + + "ICAtLXRva2VuPSRKV1QgXAogICAgIC0tbm9uLWludGVyYWN0aXZlIFwKICAgICAtLWpzb24KICAg" + + "YGBgCgogICBUaGlzIGlzIGEgc2VwYXJhdGUgc3ViY29tbWFuZCBmcm9tIGB1cGAuIEl0IHJ1bnMg" + + "b25seSB0aGUgY29tcHV0ZS1wbGFuZS1yZWxldmFudCBwaGFzZXM6IDEgKGNvbXB1dGUtcGxhbmUg" + + "cHJlZmxpZ2h0KSwgNSAocmVnaXN0ZXIpLCA2IChjb21wdXRlLXBsYW5lIGFwcGx5KSwgOCAoZmlu" + + "YWwgaGVhbHRoIG9uIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSkuIEl0IGRvZXMgTk9UIHRvdWNoIHRo" + + "ZSBjb250cm9sIHBsYW5lIGFuZCBkb2VzIE5PVCBhY2NlcHQgYC0tY29udHJvbC1wbGFuZS1jb250" + + "ZXh0YCDigJQgdGhlIGNvbnRyb2wgcGxhbmUgaXMgcmVhY2hlZCBvdmVyIEhUVFBTIGF0IGAtLWlj" + + "bXMtdXJsYC4gYC0tdG9rZW5gIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlcmUncyBubyBrdWJlY3Rs" + + "IHBhdGggdG8gbWludCBvbmUgZnJvbS4KCjQuIFZlcmlmeS4gYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHN0YXR1cyAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWA6IGV4cGVjdCBgdmVyZGlj" + + "dDogImhlYWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJ" + + "Q01TIHNob3VsZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiBTbW9rZS4gW2RlcGxveS1h" + + "bmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCk6IGRlcGxveSBhIHNtYWxsIGZ1bmN0" + + "aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3Mu" + + "CgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/" + + "CgpgYWRkLWNvbXB1dGUtcGxhbmVgJ3MgcmVnaXN0ZXIgcGhhc2UgdXNlcyBgLS1pZ25vcmUtZXhp" + + "c3RpbmdgIHNlbWFudGljcyDigJQgaXQnbGwgbWF0Y2ggdGhlIGV4aXN0aW5nIElDTVMgcm93IGFu" + + "ZCByZXVzZSBpdHMgY2x1c3RlcklkLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5n" + + "IHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5l" + + "IHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRp" + + "Y3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBz" + + "ZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0" + + "ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNv" + + "bXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoq" + + "Q29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldo" + + "ZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2Et" + + "aWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9y" + + "ZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwjBsWmYzw8A" + + "AM8PAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQg" + + "cnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAt" + + "PiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJ" + + "IGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGlu" + + "dm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtl" + + "eSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04" + + "aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpg" + + "YGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRh" + + "c2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVz" + + "Y3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRh" + + "dGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFw" + + "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMt" + + "aW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQh" + + "CiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhl" + + "IGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhh" + + "dCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCU" + + "IG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpC" + + "ZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9u" + + "LCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlz" + + "IHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYx" + + "ICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUg" + + "c3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAog" + + "ICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5Q" + + "YXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50" + + "KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYg" + + "dGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBg" + + "c2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9y" + + "IHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0" + + "ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVu" + + "diB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYg" + + "cHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZp" + + "Y2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAy" + + "OiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4" + + "cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2" + + "YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoK" + + "RGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIg" + + "dGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1" + + "U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjog" + + "Ik5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29u" + + "dGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJB" + + "cmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0" + + "SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVh" + + "dGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19p" + + "ZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lz" + + "dGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9u" + + "IHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4K" + + "CkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gK" + + "bnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAg" + + "LS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNr" + + "ZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAg" + + "LS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAog" + + "IC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRl" + + "IGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1j" + + "b250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJv" + + "bm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZj" + + "Zi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0t" + + "Y29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0" + + "CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWlu" + + "ZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9" + + "CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAi" + + "czNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90" + + "IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9n" + + "IHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVw" + + "bGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFt" + + "ZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6" + + "ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNr" + + "ZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5u" + + "dmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0" + + "SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVh" + + "dGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBg" + + "YAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2" + + "ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBg" + + "CgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3Jl" + + "dHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRl" + + "ZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVz" + + "IGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJV" + + "Tk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9z" + + "dCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3Rh" + + "dHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAs" + + "IGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwg" + + "YEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRz" + + "IGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xp" + + "IHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVV" + + "RURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tV" + + "CmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNg" + + "KS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29u" + + "dGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5z" + + "cGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIg" + + "d2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250" + + "ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRs" + + "aW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApu" + + "dmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoK" + + "Rm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMg" + + "dXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRh" + + "c2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24u" + + "IEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNr" + + "IHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1" + + "cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5n" + + "IHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUg" + + "dGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNo" + + "Cm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0" + + "aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQg" + + "YW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2Vy" + + "J3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4" + + "cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQg" + + "Y2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25l" + + "ciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0" + + "Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBH" + + "UFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1" + + "dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVF" + + "VUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawog" + + "IHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lz" + + "dHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50" + + "aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSf" + + "GQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQg" + + "aW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVu" + + "Y3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKG" + + "kiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4g" + + "YSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25m" + + "aXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUg" + + "dXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGlu" + + "dmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24K" + + "ewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFn" + + "ZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2Vj" + + "aG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVz" + + "dCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5" + + "Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwK" + + "ICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQ" + + "VDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZj" + + "Zi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBG" + + "dW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUg" + + "dGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0g" + + "ZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwg" + + "c2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBt" + + "b2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmly" + + "bSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFt" + + "ZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBE" + + "byBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoK" + + "YGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRh" + + "aW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVy" + + "bCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0i" + + "LAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFs" + + "dGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVj" + + "dGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUi" + + "OiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAg" + + "InVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2Vt" + + "YmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAg" + + "ICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVx" + + "dWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBc" + + "CiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZp" + + "cm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJl" + + "bmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9" + + "ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRU" + + "UCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxM" + + "TSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9j" + + "aGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhv" + + "ZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRl" + + "cGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlv" + + "bmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkg" + + "ZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1p" + + "ZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwt" + + "bmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpg" + + "YGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxp" + + "bWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0" + + "b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9y" + + "IGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBp" + + "bmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNo" + + "IGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2Ug" + + "aW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBI" + + "ZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRl" + + "cGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExM" + + "TSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxs" + + "bUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZp" + + "Y2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNl" + + "IHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQg" + + "U2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUg" + + "ZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRo" + + "ZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1p" + + "dCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAi" + + "PGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5m" + + "ZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7" + + "CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQi" + + "OiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6" + + "IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhh" + + "bXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hh" + + "cnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsK" + + "ICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWci" + + "OiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25z" + + "ZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9y" + + "b2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQog" + + "IF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + + "aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1p" + + "bmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJp" + + "PS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMw" + + "UyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVz" + + "PTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVs" + + "bS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAu" + + "MS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0t" + + "bGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21w" + + "bGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRf" + + "cm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1" + + "dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1td" + + "LmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVz" + + "OgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8" + + "dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgx" + + "MDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3Rh" + + "bmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVu" + + "Y3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAg" + + "ICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBH" + + "YXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBg" + + "PGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUg" + + "TlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBz" + + "dHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExN" + + "IHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBs" + + "ZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8Cnwg" + + "YC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NF" + + "IGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24t" + + "c3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEv" + + "ZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5w" + + "dXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVz" + + "LiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNv" + + "bgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIs" + + "CiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAg" + + "Imluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEs" + + "CiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAog" + + "IH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBg" + + "KSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1p" + + "c21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1" + + "bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhp" + + "cyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUg" + + "KGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24g" + + "cG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29t" + + "cHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9m" + + "dW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNh" + + "cnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRo" + + "ICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNo" + + "Cm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5j" + + "dGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1u" + + "dmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENM" + + "SSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwu" + + "ICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9u" + + "IElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25J" + + "ZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpg" + + "YGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZu" + + "Lmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czog" + + "ZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24s" + + "IGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBg" + + "YHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEv" + + "Y2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQ" + + "SV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7" + + "CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJl" + + "YW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNl" + + "ciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRo" + + "ZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1l" + + "PmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVz" + + "cG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0u" + + "aW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjog" + + "QmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9u" + + "L2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1u" + + "YW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNG" + + "LiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1Qg" + + "Imh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJB" + + "dXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlw" + + "ZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29u" + + "ZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2si" + + "CiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVw" + + "bG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIp" + + "IGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBp" + + "cyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxl" + + "dGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29u" + + "ZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0" + + "aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxv" + + "eSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0" + + "ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZN" + + "IHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVh" + + "dGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBi" + + "b3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1Au" + + "R1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhl" + + "IGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29t" + + "cHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVj" + + "ayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4g" + + "YEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFp" + + "bGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5W" + + "Q0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29y" + + "a2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUg" + + "dmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1j" + + "IC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3Rg" + + "OgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0" + + "IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZl" + + "cmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRl" + + "ZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRz" + + "IGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZElu" + + "aXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09m" + + "Zi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0" + + "aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1" + + "bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYg" + + "bWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgoj" + + "IyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5" + + "IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNz" + + "YW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBg" + + "YHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxu" + + "cz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZl" + + "bnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAg" + + "dW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkg" + + "aW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20g" + + "fCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJh" + + "LTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3Ig" + + "UFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0g" + + "YSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2gg" + + "c3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsi" + + "c3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2Ag" + + "fAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRv" + + "IGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQ" + + "SSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1n" + + "YXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJ" + + "bnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vu" + + "dm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0t" + + "Y3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBm" + + "b3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQg" + + "d2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQn" + + "cyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUg" + + "LS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21w" + + "dXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxn" + + "b3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1" + + "c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250" + + "cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBh" + + "Z2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJh" + + "dG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kg" + + "YnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1v" + + "cGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBw" + + "YXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBl" + + "cnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGlu" + + "IE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBg" + + "NmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0" + + "aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciBy" + + "ZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFs" + + "bCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJ" + + "UlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0t" + + "Y2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0g" + + "YmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlv" + + "biBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5v" + + "dCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlh" + + "Z25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNz" + + "IHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bv" + + "c2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBp" + + "dCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBk" + + "aWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBz" + + "dGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBO" + + "VkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNG" + + "IG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRo" + + "aXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0" + + "aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wg" + + "cGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0" + + "IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIs" + + "IHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUg" + + "YC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8g" + + "RXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9y" + + "IHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBj" + + "b250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIu" + + "IFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9j" + + "YWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1l" + + "ZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRw" + + "b2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1l" + + "ZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJh" + + "bGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5v" + + "dCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFy" + + "ZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBz" + + "dGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFw" + + "cGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVs" + + "ZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBu" + + "YW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBl" + + "c3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNl" + + "IiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoK" + + "ICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsg" + + "ZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9y" + + "bT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcg" + + "b2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24g" + + "djEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBh" + + "cHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9s" + + "bGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlm" + + "ZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNl" + + "YCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNv" + + "bnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIg" + + "YWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVT" + + "VEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0t" + + "bmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0" + + "ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91" + + "dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxv" + + "YWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBU" + + "cnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5j" + + "b20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhl" + + "cndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9h" + + "ZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0g" + + "dGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xv" + + "dWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9h" + + "ZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBU" + + "aGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENv" + + "bnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNl" + + "YCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2Vydmlj" + + "ZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5u" + + "b3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxh" + + "bmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kg" + + "QVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdp" + + "dGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAg" + + "IHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIi" + + "CiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFj" + + "aW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2Fj" + + "eSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVy" + + "IHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBT" + + "ZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVj" + + "dHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRo" + + "ZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZv" + + "eSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFj" + + "ZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJl" + + "Zm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBs" + + "ZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1m" + + "IC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAg" + + "IGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3Bh" + + "Y2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0" + + "eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6" + + "CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJu" + + "ZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBz" + + "ZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5" + + "cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3" + + "cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZl" + + "cnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNz" + + "CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6" + + "IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFt" + + "ZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5k" + + "OiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + + "d2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJz" + + "aW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0" + + "YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + + "d2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAg" + + "ICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAg" + + "ICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTog" + + "U2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgog" + + "ICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAg" + + "ICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6" + + "CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAg" + + "ICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNm" + + "L3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBt" + + "dXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZv" + + "eVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRo" + + "ZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25z" + + "CiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZh" + + "bHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RF" + + "Ul9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBl" + + "eHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNF" + + "PSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdh" + + "eSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4" + + "cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhU" + + "VFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBc" + + "CiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1" + + "YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dB" + + "VEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1l" + + "b3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRF" + + "V0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1v" + + "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBD" + + "X0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0" + + "ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1" + + "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4" + + "aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQg" + + "U1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlO" + + "YCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVz" + + "LgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRo" + + "ZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5u" + + "dmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FE" + + "RFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBj" + + "X3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3Vy" + + "bDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMu" + + "JHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGlu" + + "dm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2" + + "aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAg" + + "YXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6" + + "ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgog" + + "ICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUg" + + "dG9wb2xvZ3kuIGAtLWpzb25gIHdyaXRlcwogICBKU09OTCB0byBzdGRlcnIsIHNvIHJlZGlyZWN0" + + "IGl0IHRvIHRoZSBwYXJzZXIgYW5kIGtlZXAgb25seSBKU09OIGxpbmVzOgoKICAgYGBgc2gKICAg" + + "IyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpz" + + "b24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKCiAgICMgU3BsaXQ6" + + "IHBhc3MgYm90aCBjb250ZXh0IGZsYWdzCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0t" + + "cHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVs" + + "bCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIEdhdGUgb24gdGhlIGZpbmFsIGV2ZW50" + + "LiBBIG1pc3NpbmcgZmluYWwgZXZlbnQgYWxzbyBmYWlscyB0aGUgZ2F0ZS4KICAganEgLXNlICdh" + + "bnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBg" + + "YGAKCiAgIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRoZSB1c2VyIGVhY2ggYGNoZWNrX2NvbXBs" + + "ZXRlZGAgZXZlbnQgd2l0aAogICBgcGFzc2VkOiBmYWxzZWAgYW5kIGBzZXZlcml0eTogImVycm9y" + + "ImAgKGl0cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJMYCksIGFuZAogICBzdG9wLiBEb24ndCBwcm9j" + + "ZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4gUm93cyBhdAogICBgc2V2ZXJpdHk6" + + "ICJ3YXJuaW5nImAgZG8gbm90IGZhaWwgdGhlIGdhdGU7IG1lbnRpb24gdGhlbS4gRm9yIGFuIG9w" + + "ZXJhdG9yCiAgIHdpdGgga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seSwg" + + "dXNlIHRoZSBjb21wdXRlLW9ubHkgZm9ybSBpbgogICBbYWRkLWNvbXB1dGUtcGxhbmUubWRdKGFk" + + "ZC1jb21wdXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoKNC4gTWludCBhbiBhZG1pbiB0b2tlbiBpZiBu" + + "ZWVkZWQuIGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50LiBDYWxsIGl0IGlmIHRoZQogICB1" + + "c2VyIGRvZXMgbm90IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5pdCB0YWxrcyB0byBBUEkgS2V5cyB0" + + "aHJvdWdoIHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3YXksIHNvIGl0IGFsc28gd29ya3MgaW4gY29t" + + "cHV0ZS1vbmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4gVXNlIGAtLWpzb25gIGZvciB0aGUgSlNPTkwg" + + "ZXZlbnQgc3RyZWFtOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAg" + + "IC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0Ff" + + "SUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAg" + + "IEZvciBzcGxpdC1jbHVzdGVyIGluc3RhbGxzLCBhZGQgYm90aCBjb250ZXh0IGZsYWdzOgoKICAg" + + "YGBgc2gKICAgZXhwb3J0IENPTlRST0xfUExBTkVfQ09OVEVYVD0iYWRtaW5AY29udHJvbC1wbGFu" + + "ZSIKICAgZXhwb3J0IENPTVBVVEVfUExBTkVfQ09OVEVYVD0iYWRtaW5AZ3B1LWNsdXN0ZXIiCgog" + + "ICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9" + + "IiR7Q09OVFJPTF9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PSIke0NPTVBVVEVfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVT" + "VEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIk" + - "e1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBpbnN0" + - "YWxscywgYWRkIGJvdGggY29udGV4dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05UUk9M" + - "X1BMQU5FX0NPTlRFWFQ9ImFkbWluQGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRFX1BM" + - "QU5FX0NPTlRFWFQ9ImFkbWluQGdwdS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "dXAgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09OVEVY" + - "VH0iIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NPTlRF" + - "WFR9IiBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNh" + - "LWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29u" + - "CiAgIGBgYAoKICAgUGFyc2UgZXZlbnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFzZV9j" + - "b21wbGV0ZWRgOiBsb2cgcHJvZ3Jlc3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgOiBzaG93IHByb2dy" + - "ZXNzIGZvciB0aGUgbG9uZyBhcHBseSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBgd2Fp" + - "dGluZ2A6IHN1cmZhY2UgdG8gdGhlIHVzZXIgaWYgaXQgcGVyc2lzdHMgZm9yIG1vcmUgdGhhbiAy" + - "IG1pbnV0ZXMKICAgLSBgcGhhc2VfZmFpbGVkYDogc3RvcCBhbmQgc3VyZmFjZSBgZXJyTWVzc2Fn" + - "ZWAgcGx1cyBlYWNoIGByZW1lZGlhdGlvbmAgbGluZS4KICAgICBEZWNpZGUgYmFzZWQgb24gYHJl" + - "dHJ5Q2xhc3NgOiBgaW1tZWRpYXRlYCAtPiBtYXkgcmUtcnVuIG5vdyB3aXRoIHVzZXIKICAgICBh" + - "cHByb3ZhbDsgYGJhY2tvZmZgIC0+IHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIGFuZCB0aGVuIHJlLXJ1" + - "biB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGFmdGVyX3JlbWVkaWF0aW9uYCwgYG5vbmVgLCBv" + - "ciBgdW5rbm93bmAgLT4gdGhlIG9wZXJhdG9yIG11c3QKICAgICBhY3QgZmlyc3QsIHNvIGRvIG5v" + - "dCBhdXRvLXJldHJ5LgogICAtIGBmaW5hbGA6IGRvbmUuIFByaW50IGNsdXN0ZXJJZCBhbmQgTlZD" + - "RkJhY2tlbmQgaGVhbHRoLgoKNi4gVmVyaWZ5IHdpdGggc3RhdHVzLiBSdW4gYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcWAgYW5kIGV4cGVjdAogICBgdmVyZGljdDogImhl" + - "YWx0aHkiYC4gT3RoZXJ3aXNlLCB1c2UKICAgW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kXShk" + - "aWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkuCgo3LiBPcHRpb25hbGx5IHNtb2tlIHRlc3QgYSBm" + - "dW5jdGlvbi4gVXNlCiAgIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2Uu" + - "bWQpIGZvciB0aGUgY3JlYXRlIC0+IGRlcGxveSAtPgogICBpbnZva2UgZmxvdy4KCiMjIE5vdGVz" + - "CgotIFNpbmdsZS1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMgYWJv" + - "dXQgMTAtMTMgbWludXRlcywKICBkZXBlbmRpbmcgb24gY2hhcnQgcHVsbCBzcGVlZCBhbmQgTkFU" + - "UyBzdHJlYW0taW5pdCBsYXRlbmN5LgotIGB1cGAgaXMgaWRlbXBvdGVudC4gSXQgaXMgc2FmZSB0" + - "byByZS1ydW4gYWZ0ZXIgZml4aW5nIGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2UgYC0t" + - "Zm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhhcyBD" + - "SSAvIGAkQ0lgIHNldCwgYWx3YXlzIHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0kSldU" + - "YDsgbmV2ZXIgcHJvcG9zZSBgbnZjZi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCEJx5h4B" + - "KAAAASgAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRlIGEg" + - "Y2x1c3RlcidzIEpXS1MKClVzZXIgc2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcsIG9y" + - "IFBTQVQgYXV0aCBpcyA0MDEtaW5nIGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVyJ3Mg" + - "SldUIHNpZ25pbmcga2V5cyBtYXkgaGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQgaW4g" + - "SUNNUyBpcyBub3cgc3RhbGUuCgojIyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dzIC1u" + - "IG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhUVFAg" + - "NDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQotIElD" + - "TVMgbG9ncyBzaG93IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + - "ciBJRDogPGlkPmAgKGNhdXNlZCBieSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQgcm90" + - "YXRlIGZpeGVzIGJvdGgpCi0gQWZ0ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9yIGNv" + - "bXB1dGUtcGxhbmUgSzhzIHVwZ3JhZGUKCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSBjbHVzdGVy" + - "IElELiBSdW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0Ff" + - "SUQgLS1pY21zLXVybD0kSUNNU2AuIElkZW50aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVzZXIn" + - "cyBjb21wdXRlIHBsYW5lLgoKMi4gKipSb3RhdGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBjYW4g" + - "cmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJlLWZl" + - "dGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBudmNm" + - "LWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPiAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD08Y3R4PgogICBgYGAKCiAgIFRoaXMgcmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1" + - "dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRzIGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0" + - "YXlzIHRoZSBzYW1lLgoKMy4gKipWZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1" + - "c3Rlci1pZD08aWQ+YCDigJQgY29uZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3Vi" + - "ZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAt" + - "LXRhaWw9MjBgIOKAlCByZWdpc3RlciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3Qg" + - "NDAxKS4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBS" + - "b3RhdGlvbiBwcmVzZXJ2ZXMgdGhlIGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0" + - "ZXMgYSBuZXcgcm93IGFuZCB5b3UgaGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3" + - "aXRoIG5ldyBJRHMuCi0gKipEb24ndCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYC4qKiBSb3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZh" + - "bHVlcyBmaWxlIGFscmVhZHkgaGFzIHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRp" + - "b24gZG9lc24ndCBmaXggaXQKClRoZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50" + - "IGxheWVyIOKAlCBjaGVjazoKCi0gTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBs" + - "b2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBD" + - "bHVzdGVyIHJvdyBleGlzdHMgaW4gYGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5k" + - "cmEgdGFibGUKLSBgaGVsbS1yZXZhbC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRj" + - "LmVuYWJsZWQ9dHJ1ZWAKClJvdXRlIHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlh" + - "Z25vc2UtZmFpbGVkLWluc3RhbGwubWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwiq4Tq5yAcAAMgH" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBO" + - "VkNGIGRlcGxveW1lbnQKCioqU0FGRVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQg" + - "c3RhdGUgKENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVz" + - "dGVycykuIEFsd2F5cyBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMg" + - "VEw7RFIg4oCUIGBkb3duYCBmb3Igb25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUK" + - "ClRoZSBDTEkgcHJvdmlkZXMgYSB0d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3" + - "aXRoIHRoZSBpbnN0YWxsIHNpZGUgKFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChl" + - "eGlzdGluZykgfCBEb3duIHNpZGUgfAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2" + - "ZSAocmVuZGVycyBZQU1MOyBHaXRPcHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBs" + - "YW5lYCAvIGBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1w" + - "bGFuZWAgLyBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25l" + - "LXNob3QsIG11bHRpLXBsYW5lICsgSUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93" + - "biAtLWNsdXN0ZXItbmFtZT1YYCAvIGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3Jt" + - "YWwgdGVhcmRvd24uIFVzZSBgdW5pbnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJn" + - "by9GbHV4IGFwcGxpZXMpIG9yIHNjcmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGgg" + - "YSBkcnktcnVuLgoKIyMgRHJ5LXJ1biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tl" + - "cyBoZWxtL2hlbG1maWxlPyB8IE91dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1v" + - "bmx5YCB8IGB1cGAgLyBgZG93bmAgKG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNv" + - "bHZlZCBzdGFjayBlbnRyeXBvaW50IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhl" + - "bG0gdW5pbnN0YWxsIGNvbW1hbmQgc3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFw" + - "cGx5YCB8IGBpbnN0YWxsYCAvIGB1bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBo" + - "ZWxtZmlsZSB0ZW1wbGF0ZWAgZm9yIGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVu" + - "aW5zdGFsbC4gfCBZQU1MIG9uIHN0ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFuLW9ubHkgLS1j" + - "bHVzdGVyLW5hbWU9WGAg4oCUIHNob3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFzZXMgd2l0aG91" + - "dCBpbnZva2luZyBhbnl0aGluZy4KLSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBs" + - "YW5lIC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBga3ViZWN0bCBk" + - "ZWxldGUgLWYgLWAuCgpgYGBzaAojIFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmlyc3QuCm52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2Fs" + - "IC0tanNvbiB8IGpxCgojIFN0ZXAgMjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + - "d24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ugd2hpY2ggZm9y" + - "bQoKfCBVc2VyIGludGVudCB8IENvbW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3ZlIHRoaXMgb25l" + - "IEdQVSBjbHVzdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1l" + - "PVhgIHwKfCAiVGVhciBkb3duIGV2ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + - "d24gLS1hbGwgLS1jb25maXJtYCB8CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhvdXQgaW52b2tp" + - "bmcgYW55dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1j" + - "bHVzdGVyLW5hbWU9WGAgfAp8ICJHaXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJnbyBkZWxldGVz" + - "IGxhdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNv" + - "bXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8CnwgIkp1c3QgcmVt" + - "b3ZlIHRoZSBoZWxtIHJlbGVhc2VzIG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lz" + - "dGVyLCBubyBkcmFpbikiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1" + - "dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgY29udHJvbC1w" + - "bGFuZSBoZWxtIHJlbGVhc2VzIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1j" + - "b250cm9sLXBsYW5lYCB8CgojIyBTdGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgKHRo" + - "ZSBzdGFuZGFyZCBwYXRoKQoKIyMjIDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUgdXNlcgoKQXNr" + - "OgoKLSAiVGVhcmluZyBkb3duIGV2ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBw" + - "bGFuZSArIElDTVMgcm93cykgb3IganVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVy" + - "ZSBBQ1RJVkUgZnVuY3Rpb24gZGVwbG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkg" + - "ZnVuY3Rpb24gZGVwbG95IGxpc3RgIHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdp" + - "bGwgcmVmdXNlIHdpdGhvdXQgYC0tZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJl" + - "IEFDVElWRS4pCi0gIlNob3VsZCB3ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBk" + - "YXRhLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlz" + - "IHRvICoqcHJlc2VydmUqKiB0aGVtLiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBk" + - "ZWxldGlvbi4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25s" + - "eSBmaXJzdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNs" + - "dXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAg" + - "ZXZlbnQgbGlzdGluZyBlYWNoIHBoYXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJl" + - "IHVuaW5zdGFsbGVkLCB0aGUgSUNNUyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVU" + - "QXMuIENvcHkgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2Vy" + - "IOKAlCB0aG9zZSBhcmUgdGhlIGxpdGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlv" + - "bnMgdGhlIG9yY2hlc3RyYXRvciB3aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpg" + - "YGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNv" + - "bgpgYGAKClBoYXNlcyAoMS03LCBtaXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBr" + - "dWJlY3RsIGFjY2VzcyArIElDTVMgcmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMu" + - "IERyYWluIGFjdGl2ZSBkZXBsb3ltZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92" + - "ZWAgZm9yIGVhY2ggQUNUSVZFIGRlcGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1Ympl" + - "Y3QgdG8gYC0tZHJhaW4tYWN0aXZlPXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJv" + - "bXB0YCBpbiBUVFkpLgo0LiBVbmluc3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRv" + - "IGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAg" + - "cGVyIHJlbGVhc2UgaW4gcmV2ZXJzZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNr" + - "aXBwZWQgdW5sZXNzIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVy" + - "IGZyb20gSUNNUwo3LiBGaW5hbCB2ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wg" + - "cGxhbmUgKGlmIGFwcGxpY2FibGUpCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3Rh" + - "bGwgLS1jb250cm9sLXBsYW5lCmBgYAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxg" + - "IG1vZGUgaWYgZXZlcnkgY29tcHV0ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVw" + - "IDUpLgoKYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUg" + - "cGxhbmUgaXMgc3RpbGwgcmVnaXN0ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdp" + - "c3RlcmVkLWNsdXN0ZXJzYCB0byBvdmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNp" + - "dGx5IHdhbnRzIHRvIG9ycGhhbiBjb21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3Ig" + - "dGhvc2UgY2x1c3RlcnMg4oCUIHRoZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBj" + - "aGVjaykuIEFsd2F5cyBzdGF0ZSB0aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZs" + - "YWcuCgojIyMgNS4gT3IsIG51a2UgZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93biAtLWFsbCAtLWNvbmZpcm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVy" + - "ZWQgY29tcHV0ZSBwbGFuZSBpbiBJQ01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBl" + - "YWNoIGluIHBhcmFsbGVsIChib3VuZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQg" + - "NCksIHRoZW4gcnVucyBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1v" + - "ZGUgcHJvbXB0cyB0aGUgb3BlcmF0b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9j" + - "ZWVkaW5nOyBgLS1jb25maXJtYCBza2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUg" + - "dXNlLgoKIyMgR2l0T3BzIHBhdGggKGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBS" + - "ZW5kZXIgZGVsZXRlIFlBTUwgZm9yIHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9" + - "JE5BTUUgPiBkZWxldGUueWFtbAoKIyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRo" + - "ZWlyIEdpdE9wcyByZXBvLiBBcmdvL0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBz" + - "eW5jLgpnaXQgYWRkIGRlbGV0ZS55YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBw" + - "bGFuZSAkTkFNRSI7IGdpdCBwdXNoCgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMg" + - "cmVzb3VyY2VzLCBzZXBhcmF0ZWx5IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0" + - "ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5" + - "YCBkb2VzIE5PVCBpbmNsdWRlIHRoZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24n" + - "dCBtYW5hZ2UgdGhhdCkuIE9wZXJhdG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNm" + - "LWNsaSBjbHVzdGVyIGRlbGV0ZWAgc2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0" + - "cmF0ZSBib3RoLgoKIyMgRmFpbHVyZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMg" + - "bWlkLXdheSwgKipyZS1ydW4gdGhlIHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlz" + - "IGlkZW1wb3RlbnQ6IGBoZWxtIHVuaW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxy" + - "ZWFkeSBnb25lLCBhbmQgYGNsdXN0ZXIgZGVsZXRlIC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElD" + - "TVMgcm93cyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBz" + - "a2lwcGVkIChhbHJlYWR5IGNsZWFuKWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9m" + - "YWlsZWRgIGV2ZW50IHN1cmZhY2VzOgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBn" + - "cmFkZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9s" + - "bGJhY2sgPHJlbGVhc2U+IDAgLS1rdWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVk" + - "ZXMgdGhlIGV4YWN0IHJlbGVhc2UgbmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0" + - "by1yb2xsYmFjayB3aXRob3V0IHVzZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNv" + - "bXB1dGVfcGxhbmUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3Nh" + - "Z2UgYWJvdXQgQUNUSVZFIGRlcGxveW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3Rp" + - "dmU9ZmFsc2VgIGJ1dCBkZXBsb3ltZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0" + - "aXZlPXRydWVgIG9yIGAtLWRyYWluLWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhl" + - "IHVzZXIuCi0gT3RoZXIgY2F0ZWdvcmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNo" + - "IGByZW1lZGlhdGlvbmAgc3RyaW5nIHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRy" + - "eSB3aXRob3V0IHVzZXIgaW5wdXQuCgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lh" + - "bGx5IHdpdGggZGVzdHJ1Y3RpdmUgZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBgLS1jbHVzdGVy" + - "LW5hbWVgIChvciBgLS1hbGxgKS4KLSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAiYWxsIGZ1bmN0" + - "aW9uIGRlcGxveW1lbnRzIHNjaGVkdWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0b3A7IGNvbXB1" + - "dGUgcGxhbmUgd2lsbCBkZXJlZ2lzdGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJlbW92ZS1wZXJz" + - "aXN0ZW50YCBpcyBiZWluZyBjb25zaWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRyYSByb3dzICsg" + - "T3BlbkJhbyBzZWFsIGtleXMgd2lsbCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMgaXMgdW5yZWNv" + - "dmVyYWJsZS4KLSBXYWl0IGZvciBleHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBOZXZlciBw" + - "cm9wb3NlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91dCBleHBsYWlu" + - "aW5nIHRoYXQgY29tcHV0ZSBwbGFuZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZlciBwcm9wb3Nl" + - "IGAtLXJlbW92ZS1wZXJzaXN0ZW50YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxvc3MuCgojIyBN" + - "YW51YWwgZmFsbGJhY2sgKGlmIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0YWxsLGRvd259" + - "YCBpcyB1bmF2YWlsYWJsZSkKCklmIHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNpb24gb2xkZXIg" + - "dGhhbiBNKzExLCBmYWxsIGJhY2sgdG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBsYW5lIChvbiBp" + - "dHMga3ViZWN0bCBjb250ZXh0KToKaGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAtbiBudmNhLXN5" + - "c3RlbQpoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IKaGVsbSB1" + - "bmluc3RhbGwgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmlu" + - "c3RhbGwgc2hhcmVkc3RvcmFnZSAtbiBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUgSUNNUyByb3c6" + - "Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENvbnRyb2wgcGxh" + - "bmUgdGVhcmRvd24gKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjawptYWtlIGRlc3Ryb3kgICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJveSBhY3Jvc3Mg" + - "YWxsIHJlbGVhc2VzCgojIElmIHVzaW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRlYXJkb3duIGNv" + - "bXB1dGUgcGxhbmUgcmVsZWFzZXMgdG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sK" + - "bWFrZSBkZXN0cm95CmBgYAoKVGhpcyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZlciB0aGUgbmV3" + - "IHN1YmNvbW1hbmRzIHdoZW5ldmVyIHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hhdCBga3ViZWN0" + - "bCBkZWxldGUgcHZjYCBkb2VzCgpJZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkgbmV3IGluc3Rh" + - "bGwgc2VlaW5nIHRoZSBvbGQgZGF0YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZDcyAoQ2Fzc2Fu" + - "ZHJhLCBPcGVuQmFvKSBhcmUgTk9UIGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxsYCAoYW5kIHNv" + - "IGFyZSBOT1QgZGVsZXRlZCBieSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgZWl0aGVyLCBi" + - "eSBkZWZhdWx0KS4gVGhleSBwZXJzaXN0IGludGVudGlvbmFsbHkgc28gYSByZS1gdXBgIGNhbiBy" + - "ZXN1bWUgYWdhaW5zdCBleGlzdGluZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkgb24gdGhlIG5l" + - "eHQgYGRvd25gOgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFt" + - "ZT1uY3AtbG9jYWwgLS1yZW1vdmUtcGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRvd24sIG1hbnVh" + - "bGx5OgoKYGBgc2gKa3ViZWN0bCBkZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW0gLS1hbGwK" + - "a3ViZWN0bCBkZWxldGUgcHZjIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioqQ29uZmlybSB3" + - "aXRoIHVzZXIuKiogVGhpcyBpcyB0aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqHY1bkIQAA5CEA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21tYW5kIHJlZmVy" + - "ZW5jZQoKRnVsbCBzdWJjb21tYW5kIGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2ZsYWdzLm1kXShm" + - "bGFncy5tZCkgZm9yIGdsb2JhbCBmbGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMu" + - "bWQpIGZvciByZXR1cm4gY29kZXMuCgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUKCnwgQ29tbWFu" + - "ZCB8IFB1cnBvc2UgfCBPdXRwdXQgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18CnwgYHNlbGYt" + - "aG9zdGVkIGNoZWNrIC0tcHJlIFtmbGFnc11gIHwgUHJlLWZsaWdodCB2YWxpZGF0aW9uIChubyBh" + - "ZG1pbiBjcmVkcykgfCBzdHJlYW1pbmcgZXZlbnRzIHwgUGVyLXJvbGUgd2l0aCBgLS1jb250cm9s" + - "LXBsYW5lLWNvbnRleHRgIC8gYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0YDsgYC0tbG9jYWwtb25s" + - "eWAgc2tpcHMga3ViZWN0bCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJvbC1wbGFuZSBb" + - "LS13YWl0IERVUl1gIHwgRXZlcnkgQ1AgcmVsZWFzZSBoZWFsdGh5IHwgc3RyZWFtaW5nIGV2ZW50" + - "cyB8IFBvbGxzIHVudGlsIHBhc3Mgb3IgYC0td2FpdGAgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVk" + - "IGNoZWNrIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFstLXdhaXQgRFVSXWAgfCBQ" + - "ZXItY2x1c3RlciB3b3JrZXIgc3RhdGUgfCBzdHJlYW1pbmcgZXZlbnRzIHwgTlZDQSArIG9wZXJh" + - "dG9yICsgSldLUy1maW5nZXJwcmludCBtYXRjaCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tYWxs" + - "IFstLXdhaXQgRFVSXWAgfCBGYW4tb3V0IG92ZXIgYWxsIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWlu" + - "ZyBldmVudHMgfCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8IFJl" + - "bmRlciBjb250cm9sLXBsYW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgUGlwZSB0byBg" + - "a3ViZWN0bCBhcHBseSAtZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBs" + - "YW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRl" + - "IG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRpb24gcGVyIEdQVSBjbHVz" + - "dGVyIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJz" + - "dCBpbnN0YWxsIChib3RoIHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwgcHJvZ3Jlc3Mgb24gc3Rk" + - "ZXJyIHwgQWx3YXlzIGluc3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29tcHV0ZS1vbmx5IHVzZSBg" + - "YWRkLWNvbXB1dGUtcGxhbmVgIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1jbHVz" + - "dGVyLW5hbWU9WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBvbiBzdGRlcnIgfCBBZ2VudC1m" + - "cmllbmRseSwgbm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUt" + - "cGxhbmUgLS1jbHVzdGVyLW5hbWU9WCAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZIC0taWNtcy11" + - "cmw9VVJMIC0tdG9rZW49JEpXVGAgfCBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5n" + - "IGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBGb3IgMm5kLCAzcmQsIOKApiBH" + - "UFUgY2x1c3RlciBhZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90IHRvdWNoZWQuIHwKfCBg" + - "c2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNo" + - "b3QgY2x1c3RlciBoZWFsdGggfCBUVFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUg" + - "cmUtcmVuZGVyIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNs" + - "dXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBv" + - "biBvbmUgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9n" + - "cmVzcyB8IEp1c3QgdGhlIGhlbG0gcmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBg" + - "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lz" + - "dGVyZWQtY2x1c3RlcnNdYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95" + - "YCBvbiB0aGUgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBs" + - "YW5lcyBzdGlsbCByZWdpc3RlcmVkIHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1" + - "c3RlcnNgIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBS" + - "ZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZ" + - "QU1MIG9uIHN0ZG91dCB8IEdpdE9wczsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3Ig" + - "Y29tbWl0ICsgQXJnbyBhcHBsaWVzLiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBg" + - "c2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVt" + - "b3ZlLXBlcnNpc3RlbnRdYCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNv" + - "bXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1l" + - "dHJpYyBjb21wYW5pb24gdG8gYHVwIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQg" + - "ZG93biAtLWFsbCBbLS1jb25maXJtXWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSBy" + - "ZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3Vu" + - "ZGVkIHBhcmFsbGVsaXNtIHZpYSBgLS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1j" + - "b25maXJtYCByZXF1aXJlZCBpbiBub24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3du" + - "IC0tcGxhbi1vbmx5IC4uLmAgfCBPcmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSBy" + - "ZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBK" + - "U09OTCB8ICoqQWx3YXlzIHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVz" + - "dGVyIG1hbmFnZW1lbnQKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0t" + - "LXwKfCBgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBb" + - "LS1pZ25vcmUtZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVz" + - "ZWQgYnkgYHVwYCBQaGFzZSA1IGludGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdp" + - "c3RyYXRpb24gfAp8IGBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMt" + - "dXJsPVVSTF1gIHwgTGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJ" + - "Q01TIHwgVXNlcyB0aGUgYWRtaW4gdG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxl" + - "IG91dHB1dCB8CnwgYGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBK" + - "V0tTIGZyb20gSzhzIGFuZCBQVVQgdG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25p" + - "bmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJl" + - "bW92ZSBJQ01TIHJvdyB8ICoqREVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMg" + - "RnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0" + - "YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1" + - "c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZv" + - "ciBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVk" + - "ZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBm" + - "dW5jdGlvbnMgLyBJRHMgb25seSB8IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQg" + - "LS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBk" + - "YXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8" + - "IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1p" + - "ZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBM" + - "TE0gbW9kZWwgcm91dGluZyBjb25maWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRp" + - "bmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhv" + - "ZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxv" + - "eSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxv" + - "Y2tzIHVudGlsIEFDVElWRSAoZGVmYXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQg" + - "LS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQg" + - "c3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxF" + - "RGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlm" + - "eSBhIGRlcGxveW1lbnQgaW4gcGxhY2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1m" + - "dW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVw" + - "IGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxF" + - "YCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWlu" + - "IHRva2VuKTsgTExNIGZ1bmN0aW9ucyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlv" + - "bi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwK" + - "fCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBS" + - "ZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRo" + - "IHVzZXIqKiB8CgojIyBUYXNrcwoKVGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlg" + - "IHNldCB0byBhIHRhc2stc2NvcGVkIGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRv" + - "IHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZj" + - "dEFwaUtleWAgZnJvbSBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0Zf" + - "QVBJX0tFWWAgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBp" + - "cmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9y" + - "IHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9y" + - "IHRhc2tgIGFmdGVyIGBpbml0YCB0byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBv" + - "c2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9" + - "R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5l" + - "ciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBm" + - "b3IgcmVwZWF0YWJsZSBjb25maWdzIHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BV" + - "IC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxt" + - "IHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0" + - "ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBm" + - "aWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNr" + - "IGxpc3QgWy0tc3RhdHVzPVNUQVRVU10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9u" + - "YWxseSBmaWx0ZXJlZCBieSBzdGF0dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAs" + - "IGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVE" + - "X01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwK" + - "fCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFz" + - "ayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1s" + - "aW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayBy" + - "ZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQg" + - "dGFzayB8IFJldHVybnMgZW1wdHkgbGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBp" + - "cyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNl" + - "bCBbdGFza0lkXWAgfCBDYW5jZWwgYSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGlu" + - "IHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFz" + - "ayByZWNvcmQgfCAqKlN0b3AsIHN0YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdh" + - "aXQgZm9yIGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxl" + - "dGlvbiBvZiB0aGF0IHNwZWNpZmljIHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVs" + - "ZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBb" + - "dGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7" + - "IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcg" + - "c2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5j" + - "cnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8" + - "IEZldGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMg" + - "QXV0aAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0" + - "YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5" + - "IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBm" + - "dW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBz" + - "dGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24g" + - "Y29udGV4dCkgfCBEaXN0aW5jdCBmcm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtl" + - "eSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0t" + - "ZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTog" + - "Z2VuZXJhdGVzIGJvdGggYSBmdW5jdGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5j" + - "dGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1" + - "aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5k" + - "IGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNo" + - "IGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlz" + - "LCBOVkNUIGZvciB0YXNrIGtleXMpIHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMg" + - "Zm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkt" + - "a2V5IGRlbGV0ZSBLRVktSURgIC8gYGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4g" + - "QVBJIGtleSB8ICoqQ29uZmlybSB3aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93" + - "IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoK" + - "fCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2ls" + - "bCBpbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVz" + - "ZXIgc2tpbGxzIGludG8gYH4vLmNsYXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMv" + - "YCB8IERlZmF1bHQ6IGJvdGggYmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2ls" + - "bCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMg" + - "dXNlciBza2lsbHMgZnJvbSB0aGUgdGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRl" + - "bXBvdGVudDsgdW5yZWxhdGVkIHNraWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFst" + - "LWZpbGU9UkVMXWAgfCBQcmludCBidW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + - "bWRgIG9yIGFub3RoZXIgZW1iZWRkZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1z" + - "a2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIg" + - "c2tpbGwgc3VtbWFyeSB8IHwKUEsHCHIND2QhIwAAISMAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1k" + - "VVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFu" + - "ZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwg" + - "Q29kZSB8IE1lYW5pbmcgfCBFeGFtcGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBT" + - "dWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50" + - "IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0" + - "d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAy" + - "YCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBz" + - "ZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdp" + - "dGggYC0tcHJlYDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENM" + - "SSBjYW5ub3QgcmVhY2ggKG1pc3Npbmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCByZWZ1c2VkIGNv" + - "bm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzKTsgYSBjbHVzdGVyLXZhbGlkYXRvciB0aGF0" + - "IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24g" + - "dGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSk7IGEgYHN0YWxlLW5h" + - "bWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNrIFRlcm1pbmF0aW5nYC4gU3Vj" + - "aCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRpbWUgYnVkZ2V0IGN1dCBhbm90" + - "aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3VsdHMgZXhpdCBgMGAsIGluY2x1" + - "ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxtIHJlbGVhc2UgbGVmdCBtaWQt" + - "b3BlcmF0aW9uLCBhbmQgYSBuYW1lc3BhY2Ugd2l0aCBubyBIZWxtIHJlbGVhc2UgfAp8IGAzYCB8" + - "IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsg" + - "SUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1h" + - "bmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0" + - "OyBjaGVjayBwb2xsZWQgYnV0IGRpZCBub3QgcGFzcyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGlu" + - "ZyBhIHJvbGxvdXQgc3RpbGwgaW4gcHJvZ3Jlc3M7IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0" + - "b3BwZWQgYSBjaGVjayBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9y" + - "IGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjaGVjayB0aGF0IGFscmVh" + - "ZHkgaGFkIGl0cyByZXN1bHQga2VlcHMgaXQsIHNvIGEgdmFsaWRhdG9yJ3Mgb3duIGZhaWx1cmUg" + - "aXMgZXhpdCBgMmAgfAp8IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVCwgU0lHVEVSTSBvciBT" + - "SUdIVVAgfCBVc2VyIEN0cmwtQzsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZDsgdGVy" + - "bWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQgcmVh" + - "Y3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGludWUg" + - "LyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBi" + - "ZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0byBy" + - "ZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIg" + - "YGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVx" + - "cy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0t" + - "dG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1" + - "YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhlIHN0" + - "YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1dG9t" + - "YXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1" + - "bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBp" + - "dHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGB0" + - "b3RhbENoZWNrc2AsIGBwYXNzZWRDb3VudGAsIGBmYWlsZWRDb3VudGAsIGB3YXJuaW5nQ291bnRg" + - "KSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxp" + - "bmVzLm1kYC4gQSB1c2FnZSBlcnJvciwgc3VjaCBhcyBhIG1hbGZvcm1lZCBgLS13YWl0YCwgZXhp" + - "dHMgYDFgIGJlZm9yZSBhbnkgZXZlbnQuIEl0cyBleGl0IGA1YCBoYXMgYHN1Y2Nlc3M6IGZhbHNl" + - "YCBhbmQgYHZlcmRpY3Q6ICJ0aW1lb3V0ImAuIEEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgZm9y" + - "IGEgd2FybmluZyB0aGF0IGAtLXdhaXRgIHBvbGxzIG9uIGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1" + - "ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBgZmluYWxgIHdpdGggYGNhbmNl" + - "bGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsgYHVwYCBlbWl0cyBgcGhhc2Vf" + - "Y2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZhbGlkYXRvciBydW4gbGVmdCBv" + - "YmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBu" + - "b3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNoZWNrYCBsaXN0cyB0aGUgY29t" + - "bWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBh" + - "cnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29k" + - "ZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0ZGVyciBsaW5lcy4gT24gYW4g" + - "aW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9yZSBpdHMgb3duIGNsZWFudXAs" + - "IHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVyeSBvdGhlciBub24temVybyBl" + - "eGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVy" + - "ckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNs" + - "YXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5r" + - "bm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnBy" + - "b2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBp" + - "biBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4K" + - "UEsHCHY6w2/+DQAA/g0AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBm" + - "bGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwg" + - "Q29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8" + - "IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwg" + - "SlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5v" + - "bi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFj" + - "cm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + - "LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxl" + - "IHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQg" + - "T0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9" + - "Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + - "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + - "fAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZS4g" + - "YGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkg" + - "Zm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCwg" + - "c28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkOyBzZWUgW1NldHRpbmdzIHJlYWQg" + - "ZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKSB8IGBsb2NhbGAg" + - "fAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZh" + - "bHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vz" + - "c2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBk" + - "byBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8" + - "IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBt" + - "YWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRw" + - "dXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IHBv" + - "bGwgdW50aWwgdGhlIGNoZWNrIHBhc3NlcyBvciBEVVJBVElPTiBydW5zIG91dCAoZXhpdCBgNWAs" + - "IGBmaW5hbGAgd2l0aCBgc3VjY2VzczogZmFsc2VgKS4gQSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0" + - "ZWQgdG8gY2xlYXIsIHN1Y2ggYXMgYSByb2xsb3V0IGluIHByb2dyZXNzLCBrZWVwcyBpdCBwb2xs" + - "aW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGNhcnJpZXMgYHRyYW5zaWVudDog" + - "dHJ1ZWAuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1l" + - "ZCBvciBub24tcG9zaXRpdmUgRFVSQVRJT04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5v" + - "IGV2ZW50cykgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwg" + - "Y29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8Cnwg" + - "YC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1" + - "dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAg" + - "fCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tg" + - "IHByb2JlcyBTSVMgb25seSBhdCBhIFVSTCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9y" + - "IGBOVkNGX1NJU19VUkxgLCBvciBpbiB0aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2Vf" + - "aHR0cF91cmxgOyB3aXRoIG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2Fy" + - "bmluZyB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwg" + - "YGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVz" + - "dGVyIGFuZCByZWdpc3RyeSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4g" + - "VGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNs" + - "dXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBz" + - "YXkgYHNraXBwZWQgKC0tbG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xP" + - "Q0FMX09OTFlgIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUg" + - "b2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1h" + - "bGxgIGlzCnJlcXVpcmVkLiBFYWNoIHNlbGVjdHMgYSByb2xlOyBvbmx5IHRoZSBzZWxlY3RlZCBy" + - "b2xlcyBjb250YWN0IGEgY2x1c3Rlci4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMg" + - "Y2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBpcyBu" + - "b3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAgaXMg" + - "YWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywgdGhh" + - "dCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQuIEEgbWlz" + - "c2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZhaWxz" + - "IG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0YWNr" + - "LCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBgZmFsc2VgIHwKfCBgLS1j" + - "b250cm9sLXBsYW5lYCB8IENvbnRyb2wtcGxhbmUgY2hlY2tzIHwgYGZhbHNlYCB8CnwgYC0tY29t" + - "cHV0ZS1wbGFuZWAgfCBDb21wdXRlLXBsYW5lIGNoZWNrcyB8IGBmYWxzZWAgfAp8IGAtLWFsbGAg" + - "fCBFdmVyeSBjYXRlZ29yeSwgaW5jbHVkaW5nIFNJUyByZWFjaGFiaWxpdHkgd2hlbiBjb21iaW5l" + - "ZCB3aXRoIGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVz" + - "dGVyIG5hbWUgZm9yIGNvbXB1dGUtcGxhbmUgY2hlY2tzIHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5" + - "LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQg" + - "d2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAs" + - "IG9yIHdoZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVk" + - "ZW50aWFscywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5v" + - "ZGUtaW5vdGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tp" + - "cHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8" + - "CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpv" + - "YiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNl" + - "QWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVz" + - "IGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25s" + - "eSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0" + - "aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpU" + - "aGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBt" + - "YWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRo" + - "ZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFt" + - "ZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1p" + - "bWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZD" + - "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlk" + - "YXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJs" + - "ZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhl" + - "IHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlp" + - "bmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNl" + - "dCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3Mg" + - "YGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBg" + - "d2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpw" + - "b3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRl" + - "bnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBw" + - "b2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVk" + - "ZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBh" + - "ZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRh" + - "dG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlg" + - "IGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2Vy" + - "dC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdl" + - "ciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBp" + - "cyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0" + - "aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdz" + - "IG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWls" + - "cyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0Zf" + - "Q0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWlt" + - "YWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBz" + - "aGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQg" + - "Y2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsg" + - "Y29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4z" + - "NmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21w" + - "b25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRo" + - "ZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZv" + - "ciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQg" + - "YGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJs" + - "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9O" + - "RU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUg" + - "c3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52" + - "OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZp" + - "ZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgIHwgZnJvbSB0aGUg" + - "c3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzpl" + - "ZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVz" + - "aWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVy" + - "cyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBg" + - "UHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxz" + - "IHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9D" + - "TElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNl" + - "Y3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8g" + - "cHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNy" + - "ZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lz" + - "dHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9u" + - "bHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8g" + - "YGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0" + - "aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0" + - "aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0" + - "b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9t" + - "IHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNr" + - "aXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0" + - "aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2Ug" + - "dGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIg" + - "Y2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJv" + - "dyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNG" + - "X0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAt" + - "LW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVs" + - "bCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBv" + - "ZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0" + - "ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3Rs" + - "IGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgcmVjbGFpbXMgdGhlbSBhZnRlciAyNCBob3Vy" + - "cy4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxh" + - "c3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdyB8" + - "IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCB0aGUgdmFsaWRhdG9yIHRyYW5zY3Jp" + - "cHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMuIFRoZSB0cmFuc2NyaXB0IGlzIG5v" + - "dCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlz" + - "IG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMj" + - "IFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3Zl" + - "IGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRv" + - "Y2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9j" + - "a2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVy" + - "c2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZy" + - "b20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElf" + - "S0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJ" + - "dCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAg" + - "cnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMg" + - "cHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVn" + - "aXN0cnkuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUg" + - "cnVuLCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3Rh" + - "Y2sgbmFtZXMuIEEgcmVqZWN0ZWQgTkdDIEFQSSBrZXkgYWZ0ZXIgaW5zdGFsbCBpcwphIHdhcm5p" + - "bmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSBy" + - "ZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBm" + - "YWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdp" + - "c3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcg" + - "QmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5k" + - "LiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVw" + - "b3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJl" + - "YWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9t" + - "IHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBj" + - "b25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhl" + - "IHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdh" + - "eXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3Rh" + - "Y2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRg" + - "IGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1H" + - "cnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8" + - "IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1l" + - "YCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0" + - "aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1l" + - "c3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0Zf" + - "RU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNg" + - "LCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMg" + - "bm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBv" + - "ciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwg" + - "YE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAt" + - "LWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdF" + - "YCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVj" + - "a2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxs" + - "OgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9F" + - "TlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVu" + - "dmAgdGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQs" + - "IGxheWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNl" + - "ZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1j" + - "b250cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21w" + - "dXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBs" + - "b2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAg" + - "ZnJvbSB0aGUgY29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBj" + - "YWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2lu" + - "Y2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBu" + - "byBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVj" + - "a291dCBhYm92ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9t" + - "IHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlz" + - "IGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9u" + - "bHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + - "LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50" + - "aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8" + - "IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwg" + - "YHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4g" + - "KyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXIt" + - "bmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFs" + - "bCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8Cnwg" + - "YC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0t" + - "Y29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5v" + - "LWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVn" + - "aXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1u" + - "Y2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8" + - "IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2lu" + - "dCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRl" + - "IGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVy" + - "YXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBr" + - "ZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhU" + - "YCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNm" + - "LWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBg" + - "MjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1z" + - "Y29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMg" + - "YC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUg" + - "ZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwK" + - "CkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBg" + - "aGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRl" + - "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + - "YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0" + - "aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwK" + - "fCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwg" + - "LSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQg" + - "fCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0" + - "aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFy" + - "dCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBl" + - "PUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1j" + - "aGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0" + - "aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAt" + - "LW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBl" + - "YXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9y" + - "bWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9k" + - "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBg" + - "PHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFt" + - "cGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJl" + - "Y2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwK" + - "fCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZh" + - "dWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4g" + - "fCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBl" + - "ci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2" + - "NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHku" + - "IHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5j" + - "dGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxz" + - "W10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBh" + - "dGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9y" + - "dGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFu" + - "ZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJv" + - "dW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAs" + - "IG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBt" + - "b3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZh" + - "bHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBg" + - "TWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBV" + - "c2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAw" + - "MC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpI" + - "ZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9y" + - "IGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5s" + - "bG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVz" + - "dCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2Vy" + - "dmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlv" + - "bi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1" + - "bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNv" + - "bXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVy" + - "bi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3Rz" + - "IGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNl" + - "IGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1v" + - "ZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0" + - "b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNo" + - "IGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQg" + - "SlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXBy" + - "aW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNv" + - "bmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3Vu" + - "dCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQ" + - "UklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3Vw" + - "cG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZh" + - "dWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBg" + - "bW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5y" + - "b3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBh" + - "cmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1" + - "cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1m" + - "aWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25l" + - "LXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdw" + - "dSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAg" + - "fCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiBy" + - "ZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAx" + - "YCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAo" + - "dW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1F" + - "XWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tV" + - "KSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + - "Y29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNl" + - "OgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFN" + - "RWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2Et" + - "ejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhv" + - "dXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBl" + - "IFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkg" + - "fCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFp" + - "bmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAt" + - "LWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11" + - "dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8" + - "IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hl" + - "biBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwg" + - "LSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGlu" + - "IHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJH" + - "U2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0" + - "cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWlu" + - "ZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBl" + - "YXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVu" + - "dCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgt" + - "cnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUu" + - "Zy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1h" + - "eC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlv" + - "biAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24t" + - "Z3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYw" + - "MSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURc" + - "fE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1y" + - "ZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQg" + - "YG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3Vs" + - "dC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwg" + - "TW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJT" + - "SU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3Mg" + - "VEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRp" + - "b24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQg" + - "VVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVs" + - "ZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBg" + - "LS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJ" + - "RCB8IC0gfApQSwcIL5jPdCBNAAAgTQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQAB" + - "AKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMg4oaSIGRpYWdub3N0aWMgY29tbWFu" + - "ZCDihpIgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGBwaGFz" + - "ZV9mYWlsZWRgIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpIOKAlCBldmVyeSBlbnRyeSBi" + - "ZWxvdyBzaG91bGQgbWFwIHRvIGFuIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBh" + - "cnJheS4KCiMjIFByZS1mbGlnaHQKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + - "LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhg" + - "IGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczov" + - "L2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVs" + - "bWZpbGUgbm90IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9o" + - "ZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBvbiBQQVRIYCB8IFNhbWUgfCBodHRw" + - "czovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90" + - "IGluc3RhbGxlZGAgfCBlbnZveS1nYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFs" + - "bCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGRlZmF1bHQgU3Rv" + - "cmFnZUNsYXNzIG5vdCBhdmFpbGFibGVgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFu" + - "bm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFu" + - "bm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3Mi" + - "OiJ0cnVlIn19fSdgIHwKfCBgR1BVIG9wZXJhdG9yIG5vdCBpbnN0YWxsZWRgIChjb21wdXRlLXBs" + - "YW5lKSB8IG52aWRpYSBHUFUgb3BlcmF0b3IgbWlzc2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8v" + - "ZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRl" + - "c3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAg" + - "Zm9yIGRldiB8CnwgYEdQVSBub2RlIGxhYmVscyBtaXNzaW5nYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + - "b2RlcyBuZWVkIGBudmlkaWEuY29tL2dwdS5mYW1pbHlgIGV0Yy4gfCBTZXQgYC0tazNzLW5vZGUt" + - "bGFiZWwgbnZpZGlhLmNvbS9ncHUuZmFtaWx5PWhvcHBlckBhZ2VudDpOYCBmb3IgazNkIHwKfCBg" + - "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9y" + - "LCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBt" + - "aW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3Vh" + - "bGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhl" + - "IGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4g" + - "LW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdp" + - "dGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3Rz" + - "LiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVz" + - "b3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcg" + - "Zm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmlu" + - "ZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2Fp" + - "dGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAy" + - "IG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQt" + - "b3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVk" + - "IGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2Ug" + - "YHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQg" + - "fCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9y" + - "eSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tg" + - "IG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhl" + - "bG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFu" + - "ZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3" + - "b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0" + - "YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3Vy" + - "Y2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0" + - "bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENE" + - "IG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVs" + - "bSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNl" + - "YCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1f" + - "RFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3du" + - "IGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4" + - "cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNr" + - "YC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBg" + - "c3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1lc3Bh" + - "Y2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9u" + - "bHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Agb3Ig" + - "YC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNvbWUg" + - "ZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBI" + - "RUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3RoZXJ3" + - "aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAs" + - "IGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQb2lu" + - "dCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFzcyB0" + - "aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + - "b24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVu" + - "KSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52" + - "Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFj" + - "dGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4" + - "cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29u" + - "IGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAg" + - "dGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0" + - "aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBp" + - "bnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNj" + - "cmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBT" + - "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1l" + - "ZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMg" + - "c3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1" + - "YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdO" + - "Q1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDi" + - "gJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJg" + - "LCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJl" + - "IHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8" + - "IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0t" + - "cmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRF" + - "bnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBs" + - "YW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRy" + - "YUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVs" + - "ZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2Zm" + - "YCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3Ry" + - "eTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3Iu" + - "aW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxh" + - "bmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0t" + - "LXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEv" + - "bnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0" + - "ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBt" + - "YXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8Cnwg" + - "YE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAo" + - "SUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5l" + - "IEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNs" + - "dXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52" + - "Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3" + - "cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVj" + - "ayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExP" + - "WUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKA" + - "lCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dz" + - "IC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxv" + - "dXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiBy" + - "ZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlv" + - "dXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBh" + - "ZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAg" + - "YWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTog" + - "TlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0" + - "Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGll" + - "cyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRv" + - "IGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3Rh" + - "cnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcICP3Yyqoa" + - "AACqGgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZD" + - "RiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAg" + - "c3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRp" + - "b24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5k" + - "IHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNm" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24s" + - "IGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUK" + - "ICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95" + - "bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBs" + - "b2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIu" + - "MApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxt" + - "ID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJz" + - "aW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlh" + - "LmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZp" + - "bGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmls" + - "ZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGws" + - "IFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1" + + "e1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBQYXJzZSBldmVudHM6CiAgIC0gYHBo" + + "YXNlX3N0YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRlZGA6IGxvZyBwcm9ncmVzcwogICAtIGBwaGFz" + + "ZV9wcm9ncmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9yIHRoZSBsb25nIGFwcGx5IHBoYXNlcyAocmVz" + + "b3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYDogc3VyZmFjZSB0byB0aGUgdXNlciBpZiBpdCBw" + + "ZXJzaXN0cyBmb3IgbW9yZSB0aGFuIDIgbWludXRlcwogICAtIGBwaGFzZV9mYWlsZWRgOiBzdG9w" + + "IGFuZCBzdXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVzIGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5lLgog" + + "ICAgIERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIC0+IG1heSByZS1y" + + "dW4gbm93IHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYmFja29mZmAgLT4gd2FpdCBgcmV0cnlB" + + "ZnRlclNlY2AgYW5kIHRoZW4gcmUtcnVuIHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYWZ0ZXJf" + + "cmVtZWRpYXRpb25gLCBgbm9uZWAsIG9yIGB1bmtub3duYCAtPiB0aGUgb3BlcmF0b3IgbXVzdAog" + + "ICAgIGFjdCBmaXJzdCwgc28gZG8gbm90IGF1dG8tcmV0cnkuCiAgIC0gYGZpbmFsYDogZG9uZS4g" + + "UHJpbnQgY2x1c3RlcklkIGFuZCBOVkNGQmFja2VuZCBoZWFsdGguCgo2LiBWZXJpZnkgd2l0aCBz" + + "dGF0dXMuIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxYCBhbmQg" + + "ZXhwZWN0CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBPdGhlcndpc2UsIHVzZQogICBbZGlhZ25v" + + "c2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKS4KCjcuIE9w" + + "dGlvbmFsbHkgc21va2UgdGVzdCBhIGZ1bmN0aW9uLiBVc2UKICAgW2RlcGxveS1hbmQtaW52b2tl" + + "Lm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUgLT4gZGVwbG95IC0+CiAg" + + "IGludm9rZSBmbG93LgoKIyMgTm90ZXMKCi0gU2luZ2xlLWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGEg" + + "ZnJlc2ggY2x1c3RlciB0YWtlcyBhYm91dCAxMC0xMyBtaW51dGVzLAogIGRlcGVuZGluZyBvbiBj" + + "aGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBp" + + "ZGVtcG90ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1biBhZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNp" + + "dGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25lIGFueXdh" + + "eSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAgc2V0LCBhbHdheXMgdXNlIGAtLW5vbi1p" + + "bnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBwcm9wb3NlIGBudmNmLWNsaSBpbml0YCBp" + + "bnRlcmFjdGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5" + + "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + + "Lm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3MgSldLUwoKVXNlciBzYXlzIE5WQ0Egc3Rv" + + "cHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRoIGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01T" + + "LiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmluZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQg" + + "YW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5vdyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90" + + "YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + + "bmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy88aWQ+L3Jl" + + "Z2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNob3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0" + + "aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNt" + + "YXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMgYm90aCkKLSBBZnRlciBhIGNvbnRyb2wt" + + "cGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFuZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMK" + + "CjEuIENvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJl" + + "Z2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYC4gSWRlbnRpZnkgdGhl" + + "IHJvdyBtYXRjaGluZyB0aGUgdXNlcidzIGNvbXB1dGUgcGxhbmUuCgoyLiAqKlJvdGF0ZS4qKiBG" + + "cm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkg" + + "KGJlY2F1c2Ugcm90YXRpb24gcmUtZmV0Y2hlcyB0aGUgSzhzIEFQSSdzIGAvb3BlbmlkL3YxL2p3" + + "a3NgKToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08" + + "aWQ+IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PTxjdHg+CiAgIGBgYAoKICAgVGhpcyByZS1mZXRj" + + "aGVzIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgYW5kIFBVVHMgaXQgdG8g" + + "SUNNUy4gVGhlIGNsdXN0ZXIgSUQgc3RheXMgdGhlIHNhbWUuCgozLiAqKlZlcmlmeS4qKiBgbnZj" + + "Zi1jbGkgY2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVk" + + "QXRgIGFkdmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1" + + "YmVybmV0ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNo" + + "b3VsZCBzdWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24n" + + "dCBgY2x1c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCAr" + + "IGdyb3VwIElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVw" + + "bG95IHRoZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVk" + + "aXQgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVz" + + "IElDTVMgb25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNs" + + "dXN0ZXIgSUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVy" + + "ZSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2Fs" + + "bG91dCBoZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0" + + "aC1jYWxsb3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRj" + + "X2J5X2NsdXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNv" + + "bmZpZ21hcCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3Nl" + + "LWZhaWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3Nl" + + "IGNoZWNrcy4KUEsHCKrhOrnIBwAAyAcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRl" + + "YXIgZG93biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRv" + + "d24gZGVzdHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2Vh" + + "bCBrZXlzLCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNl" + + "ciBiZWZvcmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVu" + + "aW5zdGFsbGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJk" + + "b3duIHN1cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzEx" + + "KToKCnwgVGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0t" + + "LXwKfCBQZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkg" + + "fCBgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8" + + "IGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5l" + + "YCB8CnwgT3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAt" + + "LWNsdXN0ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxg" + + "IHwKClVzZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBH" + + "aXRPcHMgKGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxp" + + "bmVzLiBBbHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBN" + + "b2RlIHwgTGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwt" + + "LS18LS0tfC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9y" + + "cykgfCAqKk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRz" + + "IHBoYXNlIHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2" + + "ZW50IHN0cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHBy" + + "aW1pdGl2ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhl" + + "bG0gZ2V0IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoK" + + "LSBgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3Jj" + + "aGVzdHJhdG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwg" + + "LS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUg" + + "dGhlIFlBTUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdB" + + "WVMgcHJldmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAt" + + "LWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4K" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgoj" + + "IyBXaGVuIHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18" + + "LS0tfAp8ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0" + + "aGUgc3RlcHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0" + + "byBjb21taXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVu" + + "aW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVs" + + "ZXRlLnlhbWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRl" + + "IHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1" + + "c3QgcmVtb3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93" + + "biAtLWNsdXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBz" + + "Y29wZSB3aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29t" + + "cHV0ZSBwbGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21w" + + "dXRlIHBsYW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0" + + "aGlzIGNsdXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAo" + + "SW1wb3J0YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9" + + "dHJ1ZXxwcm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lz" + + "dGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0" + + "IHVzZXIgZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1w" + + "ZXJzaXN0ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4q" + + "KiIKCiMjIyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoK" + + "VGhpcyBlbWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxt" + + "IHJlbGVhc2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3" + + "b3VsZCBiZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFu" + + "ZHNbXWAgYXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1" + + "bmluc3RhbGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMj" + + "IDMuIEV4ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1j" + + "bHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2Ljcu" + + "MSk6CgoxLiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4g" + + "UmVzb2x2ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5z" + + "IGBmdW5jdGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9s" + + "bHMgdW50aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxw" + + "cm9tcHRgIChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRl" + + "IHBsYW5lIOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVs" + + "bSB1bmluc3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1" + + "LiBSZW1vdmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRg" + + "KQo2LiBVbnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQu" + + "IFRlYXIgZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhl" + + "IG9yY2hlc3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFs" + + "c28gZ29pbmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAg" + + "cmVmdXNlcyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMu" + + "IFVzZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25s" + + "eSoqIGlmIHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVz" + + "IChQU0FUIGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0" + + "IGZhaWxpbmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5j" + + "ZSBiZWZvcmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpg" + + "YGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMg" + + "aXRlcmF0ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhl" + + "IHBlci1jbHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxs" + + "LWNvbmN1cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9s" + + "LXBsYW5lYC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBj" + + "bHVzdGVyIGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9t" + + "cHQgZm9yIG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMg" + + "QXJnbyAvIEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUg" + + "cGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0" + + "ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNv" + + "bW1pdHMgZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVz" + + "IHRoZSBkZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21t" + + "aXQgLW0gInJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJn" + + "byBzeW5jIHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJ" + + "Q01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lE" + + "CmBgYAoKTm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0" + + "ZXIgZGVsZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2lu" + + "ZyBHaXRPcHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBv" + + "ciB1c2UgYGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJ" + + "ZiBgZG93bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5k" + + "KiouIFRoZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lw" + + "cyByZWxlYXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1p" + + "Z25vcmUtbWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhh" + + "c2UgNCArIDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vj" + + "b25kIHJ1bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRl" + + "Z29yeTogImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0" + + "aW9uImAg4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3i" + + "gKZgICh0aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJl" + + "LXJ1biBgZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRp" + + "b24uCi0gYGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9y" + + "ZW1lZGlhdGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVz" + + "ZXIgcGFzc2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBS" + + "ZS1ydW4gd2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21w" + + "dGAgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJm" + + "YWNlIGBlcnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNU" + + "T1AuIERvIG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBj" + + "b25maXJtCgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3Rh" + + "bGxgIGludm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3Rh" + + "dGUgdGhlIGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQn" + + "cyBsb3N0IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3At" + + "bG9jYWxgIHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01T" + + "IikuCi0gSWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRl" + + "IHRoYXQgQ2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQg" + + "YW5kIHRoYXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIg" + + "Y29uZmlybWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNs" + + "dXN0ZXJzYCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9y" + + "cGhhbmVkLgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhw" + + "bGFpbmluZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMg" + + "b24gYSBDTEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMg" + + "UGVyIGNvbXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFs" + + "bCBudmNhLWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3Ig" + + "LW4gbnZjYS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAt" + + "biBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVt" + + "CgojIERyYWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVy" + + "LWlkPTxpZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4" + + "dCk6CmNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBo" + + "ZWxtZmlsZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3Rh" + + "Y2sgYnVuZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252" + + "Y2YtY29tcHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51" + + "YWwgcGF0aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0" + + "YWxsZWQuCgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFz" + + "a3MgIndoeSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBT" + + "dGF0ZWZ1bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBg" + + "aGVsbSB1bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9u" + + "YWxseSBzbyBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdp" + + "cGUgY29tcGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBg" + + "YAoKT3IsIHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4g" + + "Y2Fzc2FuZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVt" + + "IC0tYWxsCmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2" + + "ZSBzdGVwLgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBg" + + "bnZjZi1jbGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlz" + + "IHBhaXIgd2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhp" + + "dC1jb2Rlcy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9z" + + "dGVkIGxpZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0t" + + "LXwtLS18LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUt" + + "ZmxpZ2h0IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdp" + + "c3RyeSBjcmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVh" + + "bWluZyBldmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRy" + + "b2wtcGxhbmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2Fs" + + "LW9ubHlgIG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9z" + + "dGVkIGNoZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRy" + + "b2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0" + + "ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xs" + + "cyB1bnRpbCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21w" + + "dXRlLXBsYW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92" + + "ZXIgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5k" + + "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBv" + + "biBzdGRlcnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJs" + + "YC4gV2l0aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwK" + + "fCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFi" + + "b3ZlIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2" + + "ZW50OyBzZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQg" + + "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3Rz" + + "IHwgWUFNTCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2Vs" + + "Zi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdp" + + "c3RlciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQg" + + "fCBPbmUgaW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNs" + + "dXN0ZXItbmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChl" + + "bXB0eSkgc3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBw" + + "bGFuZXM7IGZvciBjb21wdXRlLW9ubHkgdXNlIGBhZGQtY29tcHV0ZS1wbGFuZWAgfAp8IGBzZWxm" + + "LWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmll" + + "dyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZyaWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMg" + + "fAp8IGBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIC0tY29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PVkgLS1pY21zLXVybD1VUkwgLS10b2tlbj0kSldUYCB8IEFkZCBh" + + "IGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIG9u" + + "IHN0ZGVyciB8IEZvciAybmQsIDNyZCwg4oCmIEdQVSBjbHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBp" + + "bnN0YWxsLiBDUCBub3QgdG91Y2hlZC4gfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rl" + + "ci1uYW1lPVhdIFstLXdhdGNoXWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFp" + + "bi9KU09OTCB8IGAtLXdhdGNoYCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1" + + "bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHBy" + + "aW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01T" + + "IHVucmVnaXN0ZXIsIG5vIGRyYWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNl" + + "cyBvbiB0aGF0IGNvbXB1dGUgcGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250" + + "cm9sLXBsYW5lIFstLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5l" + + "IHByaW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJv" + + "Z3Jlc3MgfCBSZWZ1c2VzIGlmIGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNz" + + "IGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmlu" + + "c3RhbGwgLS1uby1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0g" + + "Z2V0IG1hbmlmZXN0YCBwZXIgcmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBl" + + "IHRvIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJv" + + "cnMgYGluc3RhbGwgLS1uby1hcHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1u" + + "YW1lPVggWy0tZHJhaW4tYWN0aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJh" + + "dG9yOiBkcmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxl" + + "dGUgaW4gSUNNUyB8IHByb2dyZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVz" + + "dGVyLW5hbWU9WGAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9y" + + "Y2hlc3RyYXRvcjogdGVhciBkb3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNv" + + "bnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1j" + + "b25jdXJyZW5jeWAgKGRlZmF1bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRl" + + "cmFjdGl2ZSB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3Ry" + + "YXRvciBkcnktcnVuOiBwaGFzZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAo" + + "bm8gaGVsbS9oZWxtZmlsZSBjb250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBh" + + "bnkgYWN0dWFsIGBkb3duYCoqIHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwg" + + "UHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFt" + + "ZT1YIC0tbmNhLWlkPVkgWy0tcmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0" + + "ZXIgYSBKV0tTK09JREMgd2l0aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxs" + + "eTsgc3RhbmRhbG9uZSBmb3IgbWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdC1y" + + "ZWdpc3RlcmVkIC0tbmNhLWlkPVkgWy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVk" + + "IGNsdXN0ZXIgcmVnaXN0cmF0aW9ucyBmcm9tIElDTVMgfCBVc2VzIHRoZSBhZG1pbiB0b2tlbjsg" + + "YC0tanNvbmAgZm9yIG1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IHwKfCBgY2x1c3RlciByb3RhdGUg" + + "LS1jbHVzdGVyLWlkPUlEYCB8IFJlLWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01T" + + "IHwgQWZ0ZXIgSzhzIEFQSSBzZXJ2ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVy" + + "IGRlbGV0ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElW" + + "RTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBv" + + "c2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmls" + + "ZT1GSUxFYCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQg" + + "KyBWZXJzaW9uIElEOyBMTE0gZnVuY3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5k" + + "IGBtb2RlbHNbXS5sbG1Db25maWcudXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAv" + + "djEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAv" + + "IGBmdW5jdGlvbiBsaXN0LWlkc2AgfCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBm" + + "dW5jdGlvbiBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9u" + + "IG1ldGFkYXRhIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + + "b24taWQ9VklEIC0tdGFncz1UQUdbLFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8Cnwg" + + "YGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0t" + + "bW9kZWwtdXBkYXRlPVNQRUNgIHwgVXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBT" + + "UEVDYCB1c2VzIGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVM" + + "aW1pdD08bGltaXQ+YDsgYWNjZXB0ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0o" + + "ZmxhZ3MubWQpIHwKfCBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + + "fCBTY2hlZHVsZSBhIGRlcGxveW1lbnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkw" + + "MHMpIHwKfCBgZnVuY3Rpb24gZGVwbG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1p" + + "ZD1WSUQgWy0tanNvbl1gIHwgRGVwbG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFD" + + "VElWRVx8REVQTE9ZSU5HXHxFUlJPUlx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRh" + + "dGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwK" + + "fCBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1W" + + "SURgIHwgU3RvcCBhIGRlcGxveW1lbnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5j" + + "dGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24g" + + "fCBSZXF1aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBp" + + "bnZva2VkIHRocm91Z2ggYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxm" + + "dW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlv" + + "bi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQg" + + "fCAqKkRFU1RSVUNUSVZFOiBjb25maXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNv" + + "bW1hbmRzIHJlcXVpcmUgYE5WQ0ZfQVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFu" + + "ZCBgTlZDRl9CQVNFX05WQ1RfVVJMYCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4g" + + "SW4gYSBmcmVzaCBzZXNzaW9uLCByZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5z" + + "dGF0ZWAgYW5kIGluamVjdCBpdCBhcyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhl" + + "IHZhbHVlOyBjaGVjayBgbnZjdEFwaUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRl" + + "IHdpdGggYGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVk" + + "LiBSdW4gYGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQg" + + "YSBuZXcga2V5LgoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8" + + "IGB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1p" + + "bWFnZT1JTUdgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENM" + + "SSBzdGF0ZTsgdXNlIGAtLWlucHV0LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0" + + "YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxt" + + "LWNoYXJ0PUNIQVJUYCB8IFN1Ym1pdCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxh" + + "Y2VzIGAtLWltYWdlYCB8CnwgYHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1p" + + "dCBhIHRhc2sgZnJvbSBhIEpTT04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + + "YWJsZSBjb25maWd1cmF0aW9ucyB8CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1s" + + "aW1pdD1OXWAgfCBMaXN0IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0" + + "YXR1c2VzOiBgUVVFVUVEYCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVS" + + "Uk9SRURgLCBgQ0FOQ0VMRURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhD" + + "RUVERURfTUFYX1FVRVVFRF9EVVJBVElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQg" + + "dGFzayBkZXRhaWxzIHwgVXNlcyBzYXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8" + + "CnwgYHRhc2sgZXZlbnRzIFt0YXNrSWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2" + + "ZW50cyBmb3IgYSB0YXNrIHwgfAp8IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1" + + "bHQgYXJ0aWZhY3RzIGZvciBhIGNvbXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdo" + + "ZW4gYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3Qg" + + "eWV0IHN1cHBvcnRlZCB8CnwgYHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5p" + + "bmcgdGFzayB8IE5vLW9wIGlmIGFscmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRl" + + "bGV0ZSBbdGFza0lkXWAgfCBEZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFz" + + "ayBJRCArIGN1cnJlbnQgc3RhdHVzLCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVw" + + "bHkgZXhwbGljaXRseSBjb25maXJtaW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4g" + + "RG8gbm90IHRyZWF0IHRoZSBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24u" + + "KiogfAp8IGB0YXNrIHVwZGF0ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVl" + + "YCB8IFVwZGF0ZSBzZWNyZXRzIG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQg" + + "b3IgdXBkYXRlZCBieSBuYW1lLCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBh" + + "cmUgcHJlc2VydmVkIHwgVmFsdWVzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVs" + + "ayAtLXRhc2staWRzPUlEMVssSUQyLOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUg" + + "dGFza3MgaW4gb25lIHJlcXVlc3QgfCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwg" + + "Tm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQ" + + "SSBLZXlzIHZpYSBwdWJsaWMgYXBpIGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52" + + "Y2YtY2xpLnN0YXRlYDsgY2xlYXJzIHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtl" + + "eXMgKGZ1bmN0aW9uIGFuZCB0YXNrKSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9r" + + "ZW4sIGxhc3QgZW5kcG9pbnRzLCBmdW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNl" + + "bGYtaG9zdGVkIHN0YXR1c2AgfAp8IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8" + + "dGFza10gWy0tZGVzY3JpcHRpb2494oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkg" + + "a2V5cyB8IERlZmF1bHQgKG5vIGAtLWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtl" + + "eSBhbmQgYSB0YXNrIGtleTsgYC0tZm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJh" + + "dGVzIG9uZSBvbmx5OyBgLS1zY29wZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdl" + + "bmVyYXRlIC0tdmFsaWRhdGVgIHwgTWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBn" + + "ZW5lcmF0ZWQga2V5IHwgVmFsaWRhdGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVk" + + "aWVuY2UgKE5WQ0YgZm9yIGZ1bmN0aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBh" + + "cGkta2V5IGxpc3RgIHwgTGlzdCBBUEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5W" + + "Q0Ytc2NvcGVkIGtleXMgb25seSB8CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtl" + + "eSByZXZva2UgS0VZLUlEYCB8IFJlbW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNl" + + "cioqIHwKfCBgYXBpLWtleSBzaG93YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJv" + + "bSBzdGF0ZSB8IHwKCiMjIEFnZW50IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMg" + + "fAp8LS0tfC0tLXwtLS18CnwgYGFnZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwg" + + "SW5zdGFsbCBhbGwgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3Nr" + + "aWxscy9gIGFuZCBgfi8uYWdlbnRzL3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxs" + + "cyBkaXJlY3RvcmllcyB8CnwgYGFnZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAg" + + "fCBSZW1vdmUgb25seSBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQg" + + "YmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJl" + + "bWFpbiB8CnwgYGFnZW50LXNraWxsIHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQg" + + "YG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxl" + + "IHwgRm9yIGRlYnVnZ2luZyB8CnwgYGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQg" + + "U0hBIGFuZCBlbWJlZGRlZCBwdWJsaWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcIWzr4GLYk" + + "AAC2JAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBj" + + "b2RlcwoKU3RhYmxlIGFjcm9zcyBzdWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50" + + "IHJldHJ5IC8gc3VyZmFjaW5nIGxvZ2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1" + + "c2VzIHwKfC0tLXwtLS18LS0tfAp8IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsg" + + "aW5zdGFsbCBjb21wbGV0ZWQ7IGRlcGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVy" + + "cm9yIHwgSGVsbSByZW5kZXIgZmFpbGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBm" + + "b3VuZDsgWUFNTCBwYXJzZSBlcnJvciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQg" + + "fCBBIGBjaGVja2AgcmVzdWx0IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1p" + + "c3Npbmc7IGt1YmVjdGwgbm90IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VD" + + "bGFzcyBhYnNlbnQ7IGEgY2x1c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJl" + + "Y29uZmlnIG9yIGNvbnRleHQsIHJlZnVzZWQgY29ubmVjdGlvbiwgcmVqZWN0ZWQgY3JlZGVudGlh" + + "bHMpOyBhIGNsdXN0ZXItdmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQs" + + "IGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0LCBubyB0YWcgZm91bmQgZm9yIGFu" + + "IHVudGFnZ2VkIGltYWdlKTsgYSBgc3RhbGUtbmFtZXNwYWNlc2Agcm93IG5hbWluZyBhIG5hbWVz" + + "cGFjZSBgc3R1Y2sgVGVybWluYXRpbmdgLiBTdWNoIGEgcmVzdWx0IGlzIGV4aXQgYDJgIGV2ZW4g" + + "d2hlbiB0aGUgdGltZSBidWRnZXQgY3V0IGFub3RoZXIgY2hlY2sgc2hvcnQuIFdhcm5pbmctc2V2" + + "ZXJpdHkgcmVzdWx0cyBleGl0IGAwYCwgaW5jbHVkaW5nIGEgbmFtZXNwYWNlIHN0aWxsIGRlbGV0" + + "aW5nLCBhIEhlbG0gcmVsZWFzZSBsZWZ0IG1pZC1vcGVyYXRpb24sIGEgbmFtZXNwYWNlIHdpdGgg" + + "bm8gSGVsbSByZWxlYXNlLCBhbmQgYSBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBzYXlpbmcgbm8g" + + "YGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpcyBzZXQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFp" + + "bGVkIHwgTm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBK" + + "V1Q7IGluaXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9y" + + "IGAtLXdhaXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQg" + + "YnV0IGRpZCBub3QgcGFzcyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGluZyBhIHJvbGxvdXQgc3Rp" + + "bGwgaW4gcHJvZ3Jlc3M7IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0b3BwZWQgYSBjaGVjayBi" + + "ZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9yIGN1dCBzaG9ydCkgYW5k" + + "IG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjaGVjayB0aGF0IGFscmVhZHkgaGFkIGl0cyByZXN1" + + "bHQga2VlcHMgaXQsIHNvIGEgdmFsaWRhdG9yJ3Mgb3duIGZhaWx1cmUgaXMgZXhpdCBgMmAgfAp8" + + "IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVCwgU0lHVEVSTSBvciBTSUdIVVAsIG9yIGJ5IGEg" + + "cXVpdCBrZXkgaW4gdGhlIGBjaGVjayAtLXdhaXRgIGRhc2hib2FyZCB8IFVzZXIgQ3RybC1DOyBg" + + "cWAsIGBFc2NgIG9yIGBDdHJsLUNgIGluIHRoZSBkYXNoYm9hcmQ7IENJIGJ1ZGdldCBleGNlZWRl" + + "ZDsgcG9kIGV2aWN0ZWQ7IHRlcm1pbmFsIG9yIFNTSCBzZXNzaW9uIGNsb3NlZCB8CgojIyBIb3cg" + + "YW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0t" + + "fAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0" + + "ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxs" + + "eSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFp" + + "bGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRo" + + "ZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAo" + + "aW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRo" + + "b3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25n" + + "ZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAg" + + "fCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBD" + + "b25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWls" + + "CgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNj" + + "ZXNzYCwgYHZlcmRpY3RgLCBgdG90YWxDaGVja3NgLCBgcGFzc2VkQ291bnRgLCBgZmFpbGVkQ291" + + "bnRgLCBgd2FybmluZ0NvdW50YCkgYW5kIG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgOyBzZWUg" + + "YGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZGAuIEEgdXNhZ2UgZXJyb3IsIHN1Y2ggYXMgYSBtYWxm" + + "b3JtZWQgYC0td2FpdGAsIGV4aXRzIGAxYCBiZWZvcmUgYW55IGV2ZW50LiBJdHMgZXhpdCBgNWAg" + + "aGFzIGBzdWNjZXNzOiBmYWxzZWAgYW5kIGB2ZXJkaWN0OiAidGltZW91dCJgLiBBIGBjaGVja19j" + + "b21wbGV0ZWRgIGV2ZW50IGZvciBhIHdhcm5pbmcgdGhhdCBgLS13YWl0YCBwb2xscyBvbiBjYXJy" + + "aWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMg" + + "YGZpbmFsYCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7" + + "IGB1cGAgZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0LiBXaGVuIGEgY2x1c3Rlci12" + + "YWxpZGF0b3IgcnVuIGxlZnQgb2JqZWN0cyBpbiB0aGUgY2x1c3RlciAoYC0tbm8tY2xlYW51cGAs" + + "IGEgcG9kIHRoYXQgd291bGQgbm90IHN0b3AsIG9yIGEgY2xlYW51cCB0aGF0IGZhaWxlZCksIGBj" + + "aGVja2AgbGlzdHMgdGhlIGNvbW1hbmRzIHRoYXQgcmVtb3ZlIHRoZW0gaW4gdGhlIGBmaW5hbGAg" + + "ZXZlbnQncyBgY2xlYW51cGAgYXJyYXkgYW5kIGluIHRoYXQgcm93J3MgYGNsZWFudXBgIGZpZWxk" + + "LCBvbiBldmVyeSBleGl0IGNvZGUsIGFuZCBwcmludHMgdGhlbSBhZ2FpbiBhcyBpdHMgbGFzdCBz" + + "dGRlcnIgbGluZXMuIE9uIGFuIGludGVycnVwdCBpdCBwcmludHMgdGhlbSBhdCBvbmNlLCBiZWZv" + + "cmUgaXRzIG93biBjbGVhbnVwLCB3aGljaCBhIHNlY29uZCBDdHJsLUMgY3V0cyBzaG9ydC4gRXZl" + + "cnkgb3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAg" + + "SlNPTiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9u" + + "YCAoYXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFm" + + "dGVyX3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFs" + + "KSwgYW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3" + + "YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVu" + + "Z2xpc2ggZnJvbSBzdGRlcnIuClBLBwhZLMkPnw4AAJ8OAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUA" + + "AQCmzhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkg" + + "c3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + + "IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlh" + + "bWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFs" + + "c2VgIHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4g" + + "VFRZLCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBh" + + "cmVudCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBD" + + "b250cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6" + + "Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxv" + + "Y2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlu" + + "bmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxl" + + "IGVudmlyb25tZW50IG5hbWUuIGBjaGVja2AgcmVhZHMgdGhlIHN0YWNrJ3MgYGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYCBvbmx5IGZvciBhbiBlbnZpcm9ubWVudCBuYW1lZCB3aXRoIGAtLWVudmAg" + + "b3IgYEhFTE1GSUxFX0VOVmAsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZDsg" + + "c2VlIFtTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXSgjc2V0dGluZ3MtcmVhZC1mcm9tLXRo" + + "ZS1zdGFjaykgfCBgbG9jYWxgIHwKfCBgLS1ub24taW50ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwg" + + "c3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAgfAp8IGAtLXRva2VuPSRKV1RgIHwgQWRtaW4gSldULCBv" + + "dmVycmlkZXMgc3RvcmVkIHNlc3Npb24gfCAtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAg" + + "b25seSAtIGVtaXQgWUFNTCwgZG8gbm90IGt1YmVjdGwgYXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1v" + + "dXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdhY3kgYWxpYXMgZm9yIGAtLWpzb25gIChkZXByZWNhdGVk" + + "LCByZW1vdmVkIGluIG5leHQgbWFqb3IpIHwgYHRleHRgIHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBw" + + "bGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwgYXV0by1kZXRlY3QgfAp8IGAtLXdhaXQgRFVSQVRJT05g" + + "IHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGNoZWNrcyBhZ2FpbiwgNXMgYXBhcnQsIHVudGlsIHRo" + + "ZXkgcGFzcyBvciBEVVJBVElPTiBydW5zIG91dCAoZXhpdCBgNWAsIGBmaW5hbGAgd2l0aCBgc3Vj" + + "Y2VzczogZmFsc2VgKS4gRWFjaCBydW4gaW5jbHVkZXMgdGhlIGNsdXN0ZXItdmFsaWRhdG9yIEpv" + + "Yiwgd2hpY2ggY2FuIHRha2UgdXAgdG8gNW0sIHNvIGFsbG93IGZvciBpdCBvciBwYXNzIGAtLXNr" + + "aXAtY2x1c3Rlci12YWxpZGF0aW9uYC4gQSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0ZWQgdG8gY2xl" + + "YXIsIHN1Y2ggYXMgYSByb2xsb3V0IGluIHByb2dyZXNzLCBrZWVwcyBpdCBwb2xsaW5nLCBhbmQg" + + "aXRzIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAuIENh" + + "bm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24t" + + "cG9zaXRpdmUgRFVSQVRJT04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykg" + + "fCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBm" + + "b3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUg" + + "KFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMg" + + "SUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBT" + + "SVMgb25seSBhdCBhIFVSTCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJ" + + "U19VUkxgLCBvciBpbiB0aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxg" + + "OyB3aXRoIG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRl" + + "cml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBv" + + "bmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCBy" + + "ZWdpc3RyeSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lz" + + "dHJ5IGNyZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hl" + + "Y2tzIGFyZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBw" + + "ZWQgKC0tbG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlg" + + "IHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJl" + + "YCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJl" + + "cXVpcmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVj" + + "dHMgaXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBh" + + "c3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxl" + + "Y3RlZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdo" + + "dDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVh" + + "Y2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxg" + + "IG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdp" + + "dGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNs" + + "dXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBg" + + "aGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVz" + + "IGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0" + + "IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFs" + + "bGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBs" + + "YW5lIGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0t" + + "Y29tcHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRv" + + "dmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQg" + + "YSBjb25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxp" + + "ZGF0b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQg" + + "YC0tY29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0" + + "aG91dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3Rl" + + "ciBuYW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQg" + + "YGNoZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNr" + + "YCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0" + + "aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdo" + + "ZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFs" + + "cywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5v" + + "dGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4g" + + "RW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8CgojIyMg" + + "Q2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0" + + "aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3Vu" + + "dCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVzIGEgUm9s" + + "ZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25seSBpdHMg" + + "b3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0aGUga3Vi" + + "ZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpUaGUgQ2x1" + + "c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiBy" + + "ZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250" + + "cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNl" + + "cyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBS" + + "RUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElf" + + "Q0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9p" + + "bWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcg" + + "ZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlk" + + "YXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8g" + + "cGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVy" + + "eXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0" + + "ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2Fybmlu" + + "Z3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsv" + + "cGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxz" + + "IGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2Yg" + + "dGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFs" + + "IGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0" + + "byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGlt" + + "YWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBg" + + "Z2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5h" + + "Z2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQg" + + "b3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9i" + + "ZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3Rh" + + "Y2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHks" + + "IHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUg" + + "Y29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NM" + + "VVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9yZWdpc3RyaWVzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJF" + + "RmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxh" + + "bmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5k" + + "IGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3Rl" + + "cnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmln" + + "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJv" + + "bSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRz" + + "IE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFj" + + "aywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVt" + + "IGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3Nh" + + "bmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBj" + + "b21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2As" + + "IHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sn" + + "cyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZD" + + "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkg" + + "YGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgIHwgZnJvbSB0aGUgc3RhY2sg" + + "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzplZmZlY3Rd" + + "LC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVzaWRlIHRo" + + "ZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVycyB3aG9z" + + "ZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBgUHJlZmVy" + + "Tm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBj" + + "b21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xV" + + "U1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBO" + + "QU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0" + + "aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4g" + + "b3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBG" + + "YWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhh" + + "dCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1" + + "bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVu" + + "IGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25l" + + "IHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93" + + "J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJl" + + "IHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhl" + + "IGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlz" + + "IGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0" + + "byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90" + + "IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVu" + + "IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9T" + + "RUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNs" + + "ZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNy" + + "ZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5u" + + "b3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0" + + "aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2Ny" + + "aWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0" + + "aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVu" + + "dCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNv" + + "bW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13" + + "YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0" + + "cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0t" + + "LSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5n" + + "IGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAg" + + "b3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBh" + + "bmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVu" + + "IGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5" + + "IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhp" + + "cyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291" + + "bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZp" + + "Zy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVy" + + "LgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZp" + + "cnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5W" + + "Q0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFo" + + "ZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGgg" + + "dGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNy" + + "ZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuCgpP" + + "bmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQg" + + "b25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMu" + + "IEEgcmVqZWN0ZWQgTkdDIEFQSSBrZXkgYWZ0ZXIgaW5zdGFsbCBpcwphIHdhcm5pbmcsIHNpbmNl" + + "IHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0" + + "aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5k" + + "IGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUg" + + "cHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0" + + "aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lz" + + "dHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMg" + + "c3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0" + + "aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEku" + + "IEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5" + + "IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwg" + + "RW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5n" + + "cmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMg" + + "cm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVl" + + "YCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQg" + + "YGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dB" + + "VEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVz" + + "LiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBp" + + "dCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBg" + + "aW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FU" + + "RVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJh" + + "b2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVl" + + "YCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9F" + + "WFRFUk5BTF9DT01QT05FTlRTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BF" + + "TkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXIt" + + "dmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUg" + + "cmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMg" + + "c3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUg" + + "ZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUg" + + "YC0tZW52YAogIGRlZmF1bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGlu" + + "c3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQg" + + "b3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUg" + + "ZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5l" + + "LW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJl" + + "Y3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUg" + + "Y29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBn" + + "aXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGlu" + + "c3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1p" + + "biBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92" + + "ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFj" + + "ayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhl" + + "IHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBg" + + "dXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + + "fCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJl" + + "cXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRl" + + "ZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3Qt" + + "MWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdp" + + "dGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8" + + "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1F" + + "YCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVy" + + "cykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gt" + + "aW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50" + + "IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2Ag" + + "fCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNw" + + "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1u" + + "YW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURg" + + "IHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8" + + "IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20g" + + "Y29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQg" + + "b2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVj" + + "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9y" + + "IGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8" + + "IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFu" + + "LXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8" + + "IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdk" + + "YCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NP" + + "UEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8" + + "IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5l" + + "cmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVk" + + "IGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJz" + + "KSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZp" + + "YwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5j" + + "dGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUg" + + "fCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZl" + + "cmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0t" + + "aW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBg" + + "LS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUg" + + "fCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3Ig" + + "T0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9y" + + "IGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2" + + "aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQu" + + "IFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBO" + + "QU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwg" + + "LSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1l" + + "PTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJh" + + "dGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08" + + "dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAw" + + "LVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5s" + + "aW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0t" + + "ZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVl" + + "c3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBg" + + "LS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50" + + "IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5j" + + "dCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJ" + + "biBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6" + + "ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29u" + + "ZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBz" + + "dHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhz" + + "IGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2Vt" + + "YmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmlu" + + "YCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5k" + + "b21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1h" + + "LXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5p" + + "dD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0" + + "ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGlu" + + "Y3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAt" + + "TSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0" + + "IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1j" + + "aGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVs" + + "bUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdg" + + "IGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUg" + + "S3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVg" + + "LgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1v" + + "ZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBh" + + "bmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25z" + + "IGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9u" + + "LWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4K" + + "CiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9u" + + "IHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0" + + "ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVM" + + "aW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1t" + + "b2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3Ig" + + "Y29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBS" + + "SU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRp" + + "b24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlk" + + "ZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAg" + + "fCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAg" + + "dG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9y" + + "aXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRh" + + "dGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0" + + "aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRl" + + "LXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoK" + + "IyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVg" + + "IGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNl" + + "OgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rp" + + "b24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8" + + "IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBg" + + "TkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8" + + "IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0t" + + "bWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNl" + + "cnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJn" + + "ZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBg" + + "dGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVk" + + "IGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNr" + + "IG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwt" + + "X10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5w" + + "dXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwg" + + "SW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxl" + + "OiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdl" + + "IHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hh" + + "cnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4" + + "Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFz" + + "ayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFy" + + "ZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0t" + + "Y2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0" + + "YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdz" + + "IHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5n" + + "LiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5B" + + "TUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwg" + + "LSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJs" + + "ZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBE" + + "VVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhg" + + "KSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQg" + + "RFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2" + + "MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVS" + + "QVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2" + + "ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwg" + + "SG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxv" + + "Y2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1l" + + "L1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVn" + + "eT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0" + + "aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAg" + + "fCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUdd" + + "YCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAg" + + "fCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBM" + + "b2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlk" + + "IFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMt" + + "dGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQ" + + "SwcIo60ke1tQAABbUAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJv" + + "dWJsZXNob290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0" + + "aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0" + + "aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJl" + + "bG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGBy" + + "ZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBm" + + "aW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVk" + + "YC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRv" + + "ciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0t" + + "c2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNl" + + "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBB" + + "VEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJv" + + "ciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0" + + "YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVz" + + "LmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBm" + + "b3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZp" + + "bGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0" + + "cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBu" + + "b3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5n" + + "IHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBu" + + "b3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2Yt" + + "Y2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVz" + + "dGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBs" + + "ZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUg" + + "dmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFD" + + "IGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNh" + + "dXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9u" + + "YCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBD" + + "UkRzOiBOb3QgSW5zdGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVs" + + "bSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5h" + + "bWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1" + + "c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBO" + + "b3QgRm91bmRgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1" + + "YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + + "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + + "fCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5v" + + "dCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxv" + + "Y2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMg" + + "bWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEu" + + "Y29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1n" + + "cHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQ" + + "VSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUt" + + "bmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0" + + "IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVz" + + "LCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFu" + + "IG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1h" + + "bmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNv" + + "bnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhl" + + "IGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3Jj" + + "ZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwK" + + "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxh" + + "Z2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1" + + "bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9s" + + "bHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0" + + "ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0" + + "aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3Rh" + + "bGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRp" + + "bmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBu" + + "byBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVs" + + "ZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBo" + + "ZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVs" + + "ZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMg" + + "bm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9h" + + "ZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMg" + + "dGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0t" + + "dmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQg" + + "LW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVw" + + "c3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxl" + + "YXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBh" + + "IGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVS" + + "PXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmly" + + "b25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBg" + + "SEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0" + + "aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUt" + + "bmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1lc3BhY2UgfCBO" + + "YW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9ubHkgd2hl" + + "biB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Agb3IgYC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNvbWUgZnJvbSBp" + + "dHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklM" + + "RV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3RoZXJ3aXNlIGZy" + + "b20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBncm92" + + "ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQb2ludCB0aGUg" + + "c3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFzcyB0aGUgc2Ft" + + "ZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + + "LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5v" + + "IGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xp" + + "IGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAg" + + "KENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVk" + + "LCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20g" + + "YSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBg" + + "bnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRp" + + "ZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2Vf" + + "ZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlv" + + "bj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQg" + + "d2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sg" + + "YFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwg" + + "Z2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BV" + + "LkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdw" + + "dWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImlu" + + "c3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3Zp" + + "ZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJl" + + "Z2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9u" + + "PXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5D" + + "QV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFw" + + "cGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBu" + + "b3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBh" + + "ZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3Ig" + + "YG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVs" + + "dGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4u" + + "L252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVu" + + "dGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBO" + + "VkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9j" + + "bHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJ" + + "Q01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNs" + + "dXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBs" + + "b2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBp" + + "cyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXIt" + + "aWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFj" + + "a2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8" + + "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUg" + + "cHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2Ag" + + "Zm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0" + + "LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5h" + + "dHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2Vy" + + "dmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3Ry" + + "eSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3Jl" + + "ZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBk" + + "YXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFk" + + "eSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBj" + + "YWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2Yu" + + "Y2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUg" + + "Y2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0" + + "IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVw" + + "bG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIPNet1HYeAAB2HgAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxm" + + "LWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tz" + + "LiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxv" + + "d3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3Vi" + + "bGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRy" + + "b2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9m" + + "aWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMu" + + "IERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBr" + + "M2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21w" + + "YXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMu" + + "MTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1" + "dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4i" + - "CiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwg" + - "c2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBp" + - "bnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNo" + - "LCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46" + - "IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVy" + - "YXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5l" + - "IGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVz" + - "ZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1h" + - "dGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5k" + - "b2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0" + - "aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5j" + - "dGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3Rl" + - "ZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24s" + - "CmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + - "YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + - "L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9s" + - "LXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRj" + - "aGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNv" + - "dXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJz" + - "aW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBi" + - "ZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29t" + - "bWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + - "IyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFu" + - "eSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEu" + - "eCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMg" + - "TXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0t" + - "ZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGlu" + - "IDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBy" + - "dW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6Cgpg" + - "YGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8g" + - "ZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0" + - "aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3Jl" + - "dHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + - "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + - "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFu" + - "ZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0" + - "aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChk" + - "ZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAg" + - "ICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBs" + - "ICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykK" + - "ICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNp" + - "dGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczog" + - "YmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1s" + - "LmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQg" + - "KGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50" + - "cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBm" + - "aWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2Vz" + - "IG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1" + - "c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhl" + - "bG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVh" + - "biBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBz" + - "ZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5" + - "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpl" + - "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + - "Z2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + - "cyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0n" + - "JG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + - "IC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + - "dGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBh" + - "bHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNl" + - "ZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRo" + - "ZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5g" + - "IEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxl" + - "IHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBj" + - "cmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFz" + - "aAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5p" + - "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4g" + - "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNy" + - "IGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5" + - "IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3Iu" + - "PHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5g" + - "IGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+" + - "IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVk" + - "IGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBg" + - "bnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBk" + - "b2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRo" + - "ZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1p" + - "c2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2Nl" + - "ZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMg" + - "ZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRo" + - "ZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0t" + - "dXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAg" + - "aW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVs" + - "bGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlz" + - "Cj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5" + - "IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJv" + - "ciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1" + - "bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBs" + - "ZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFu" + - "dGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5k" + - "IHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQg" + - "dGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBn" + - "bG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAg" + - "ICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWly" + - "cm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMK" + - "ICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8" + - "bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBP" + - "Q0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9y" + - "ZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFs" + - "cmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdo" + - "LCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhh" + - "bXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBj" + - "YW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3Ig" + - "bWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJy" + - "b3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBv" + - "IGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0" + - "Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kg" + - "Y2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tp" + - "cCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNh" + - "dGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9h" + - "ZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5l" + - "dGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1j" + - "cmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBu" + - "b3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBv" + - "ciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBz" + - "dGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxp" + - "ZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2" + - "aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11" + - "c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2Ug" + - "KHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVy" + - "ZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRo" + - "ZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBk" + - "b2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5" + - "IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChr" + - "dWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4g" + - "LW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FU" + - "RVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBD" + - "bG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9h" + - "ZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQg" + - "RE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46" + - "ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhv" + - "c3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9t" + - "YWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYg" + - "dGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBh" + - "bmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxl" + - "IDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVw" + - "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAg" + - "IyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dv" + - "cmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERF" + - "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEg" + - "c2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhh" + - "dCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNT" + - "QU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQg" + - "ZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlh" + - "bHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZp" + - "Y2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4g" + - "b3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8" + - "IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwK" + - "fCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3Nh" + - "bmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBT" + - "SVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9u" + - "YWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3" + - "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAz" + - "IHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8" + - "IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sg" + - "KGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0" + - "eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1" + - "bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBh" + - "dGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0" + - "aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBw" + - "YWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2" + - "YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBh" + - "IG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52" + - "LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJs" + - "ZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + - "dCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5" + - "Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGlu" + - "Z3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVl" + - "ZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0" + - "aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2Fn" + - "ZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFu" + - "ZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdh" + - "dGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + - "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5" + - "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6" + - "IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoK" + - "RG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywg" + - "aW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVz" + - "IGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUg" + - "TlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + - "bmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJs" + - "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4g" + - "SWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + - "dWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24u" + - "IFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRv" + - "IG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBu" + - "YW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBz" + - "dGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoK" + - "IyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250" + - "cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRz" + - "LiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBo" + - "YW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25t" + - "ZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1w" + - "bGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJh" + - "dGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21w" + - "bGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNl" + - "IGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyBy" + - "b3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoK" + - "IyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhl" + - "IGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsg" + - "c2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJl" + - "bGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUg" + - "TlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAs" + - "IGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXBy" + - "b3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3" + - "YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2Vy" + - "dC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + - "dWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMg" + - "YGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBp" + - "dC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + - "YXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1t" + - "YW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBv" + - "biB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdo" + - "ZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0" + - "aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBh" + - "Ym9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + - "IHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNo" + - "aW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBt" + - "aXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9u" + - "bHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + - "YW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3du" + - "CgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9y" + - "eToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAK" + - "CiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3Rl" + - "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07" + - "IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApk" + - "b25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAg" + - "LUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3Vs" + - "ZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMg" + - "RW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + - "dGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2Ug" + - "dmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxt" + - "ZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBl" + - "eGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMv" + - "YCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTog" + - "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + - "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + - "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + - "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + - "ZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1" + - "OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAg" + - "ICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVy" + - "Z2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhl" + - "cml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + - "IGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBz" + - "ZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBT" + - "ZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90" + - "IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRo" + - "ZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jvbmcp" + - "OgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3Ry" + - "eSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8" + - "IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlk" + - "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2Yt" + - "YXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtl" + - "ciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5v" + - "IENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChh" + - "Y2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRg" + - "IGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2" + - "L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQg" + - "fCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91" + - "KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46" + - "PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNp" + - "ZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRl" + - "bXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tF" + - "Ul9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pz" + - "b24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2Vy" + - "IGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBk" + - "cm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWls" + - "ZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAs" + - "IGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1B" + - "YCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3Vu" + - "dC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJt" + - "dXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jv" + - "bmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxm" + - "b3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5" + - "IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAg" + - "ICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBU" + - "byByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCBy" + - "ZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVz" + - "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252" + - "Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAg" + - "IyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9u" + - "dmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91" + - "dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNp" + - "ZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZy" + - "b20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUg" + - "cGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBl" + - "YWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBj" + - "cmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4g" + - "YXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBp" + - "bnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRv" + - "bWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29u" + - "ZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRp" + - "bmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2Vj" + - "cmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9y" + - "bWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1m" + - "aWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpo" + - "ZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpo" + - "ZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBr" + - "eXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFj" + - "aCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + - "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBD" + - "bHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9s" + - "aWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0" + - "aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVy" + - "aWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + - "bWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6" + - "IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBi" + - "dWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMp" + - "LgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBz" + - "Y3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFz" + - "aAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + - "bCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1i" + - "eT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1" + - "cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0t" + - "fC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Np" + - "bmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBo" + - "YXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMg" + - "fCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsg" + - "bWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAg" + - "c2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1" + - "bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29u" + - "ZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2" + - "ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + - "b3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNs" + - "dXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + - "dHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBv" + - "cGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + - "ZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9u" + - "IENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNz" + - "YW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMg" + - "Y3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNl" + - "Y3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2Fu" + - "ZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBT" + - "ZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVx" + - "dWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5k" + - "cmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2Vs" + - "ZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + - "ZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRg" + - "IHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95" + - "YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRp" + - "bWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sg" + - "YGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8" + - "IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAg" + - "fCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUg" + - "YGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBw" + - "YXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBh" + - "Y2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1Zl" + - "cmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3Rz" + - "dHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3Jl" + - "dHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92" + - "YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRl" + - "ZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxl" + - "YWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xf" + - "T1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5l" + - "Y3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2Vy" + - "dmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdT" + - "X1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBh" + - "bmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUg" + - "YWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkg" + - "YSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3Qt" + - "aW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxs" + - "LiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBh" + - "dGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMs" + - "IG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNj" + - "b3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgK" + - "bm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCBy" + - "YW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNm" + - "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3Vj" + - "Y2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCBy" + - "ZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJl" + - "cwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNv" + - "bXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3Jl" + - "LW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFw" + - "aSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + - "cCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwg" + - "UmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRo" + - "ZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92" + - "MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFu" + - "ZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0g" + - "T3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + - "Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFu" + - "ZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQs" + - "IHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9u" + - "cywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQ" + - "SwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAg" + - "ICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5z" + - "dGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFm" + - "dGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2" + - "ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMu" + - "MTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRo" + - "aW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5" + - "bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAo" + - "bm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZm" + - "ID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVy" + - "c2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2" + - "ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxh" + - "dGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmls" + - "ZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFn" + - "ZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlm" + - "ZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBw" + - "cmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5j" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZp" + - "bGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBz" + - "eW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5j" + - "JyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + - "YWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0" + - "byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xl" + - "YW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJt" + - "aW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFs" + - "aXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6" + - "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNw" + - "YWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBv" + - "bmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNm" + - "LWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAg" + + "CnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNl" + + "bGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5z" + + "dGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQs" + + "IEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjog" + + "Im52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVy" + + "c2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1o" + + "b3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxs" + + "YXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1s" + + "XQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3Vk" + + "LWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25z" + + "CgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBj" + + "b21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlz" + + "IHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5n" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + + "IGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBz" + + "ZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVu" + + "YWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1l" + + "bmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28g" + + "cmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBw" + + "YXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1m" + + "aWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5l" + + "LXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + + "CmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + + "az4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + + "CmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBi" + + "dW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBk" + + "b3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpu" + + "Z2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBh" + + "c3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMg" + + "YW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVm" + + "b3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVy" + + "YXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4y" + + "LjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBi" + + "ZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+" + + "PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlu" + + "b3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJv" + + "bSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNo" + + "CmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJv" + + "bm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52" + + "aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5h" + + "bWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRv" + + "LUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3At" + + "ZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2" + + "YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1p" + + "c3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0" + + "cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlv" + + "dXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+" + + "IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2" + + "YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tz" + + "ICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1w" + + "bGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdl" + + "IHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNl" + + "dHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdp" + + "bGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBw" + + "cm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBo" + + "ZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hh" + + "cnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0" + + "YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRz" + + "IChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5k" + + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + + "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1" + + "bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQg" + + "TkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + + "bwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + + "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + + "dG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFt" + + "ZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNv" + + "bmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1h" + + "Z2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNh" + + "dGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBg" + + "aGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMg" + + "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50" + + "aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5H" + + "QyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAn" + + "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5p" + + "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1s" + + "b2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lv" + + "bj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBz" + + "IG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBz" + + "dGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZl" + + "cmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5p" + + "b2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIg" + + "bG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJz" + + "dCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRp" + + "bmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwg" + + "aXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBt" + + "b3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3Jy" + + "ZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5h" + + "bWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2Nh" + + "dGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBl" + + "dmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50" + + "aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBj" + + "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUg" + + "TlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJv" + + "bSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSBy" + + "ZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1" + + "bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAg" + + "dGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1p" + + "cnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6" + + "CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAg" + + "IyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1" + + "Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAg" + + "ICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9y" + + "LXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5k" + + "IG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+" + + "IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkg" + + "T0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUg" + + "cHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQog" + + "ICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3Qg" + + "YmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9y" + + "ZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNv" + + "bnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAv" + + "YGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3og" + + "b2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRz" + + "IGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUg" + + "Y3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + + "IHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + + "dGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNl" + + "Y3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2Ag" + + "ZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhl" + + "IHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUg" + + "YGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIu" + + "CgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMg" + + "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhl" + + "IGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9p" + + "bnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBp" + + "dCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgoj" + + "IyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0" + + "bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5v" + + "dCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBl" + + "eGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3Rs" + + "IGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNv" + + "bnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9B" + + "RERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBw" + + "cm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxh" + + "bmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2Vz" + + "IG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1" + + "c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNm" + + "LnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFw" + + "aS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFu" + + "ZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVu" + + "ZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBk" + + "YXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4g" + + "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95Cgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2" + + "aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBz" + + "eW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGlu" + + "IHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRf" + + "Q0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25k" + + "IGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZh" + + "dWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFf" + + "UEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkg" + + "REItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9u" + + "Y2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xl" + + "UGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09S" + + "RGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIg" + + "d2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQg" + + "dGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwg" + + "YHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8" + + "IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVT" + + "UywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExN" + + "IGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRo" + + "ZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBg" + + "cmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVu" + + "YWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRl" + + "d2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5k" + + "IGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFw" + + "cGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJv" + + "dXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + + "IHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdl" + + "IGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlH" + + "YXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2Vy" + + "CnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+" + + "LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + + "dmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6" + + "ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5k" + + "ZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0" + + "b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91" + + "dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQg" + + "Y3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2Fn" + + "ZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBs" + + "eSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFk" + + "ZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxz" + + "dmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVj" + + "dGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0" + + "eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90" + + "IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2Nh" + + "dGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBw" + + "cm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBV" + + "SSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRt" + + "aW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5" + + "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91" + + "ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + + "bGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBO" + + "VkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBl" + + "eHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3Bh" + + "Y2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywK" + + "c2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDgu" + + "IEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBs" + + "YW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRl" + + "ciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2Zm" + + "OgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZp" + + "bGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBN" + + "YWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5" + + "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBD" + + "TEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRv" + + "ZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2Vz" + + "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5n" + + "LCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xl" + + "YW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2Vz" + + "IG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiBy" + + "ZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkt" + + "a2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwg" + + "YGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBg" + + "bnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5h" + + "Z2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBU" + + "aGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQt" + + "bWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFt" + + "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBF" + + "eHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + + "YDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2Vk" + + "LiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUg" + + "Y2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIg" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxh" + + "biBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdl" + + "dHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4g" + + "ZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBE" + + "ZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAg" + + "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBg" + + "YAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhj" + + "YXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1" + + "cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJv" + + "bm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlh" + + "bWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBn" + + "bG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVz" + + "IGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5k" + + "LyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxl" + + "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + + "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + + "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + + "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + + "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + + "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + + "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + + "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290" + + "Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwg" + + "c3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3Qu" + + "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRz" + + "IGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + + "bGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRz" + + "CgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZs" + + "YXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFp" + + "bCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8" + + "IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVk" + + "cyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBv" + + "c2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0" + + "aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1" + + "bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2Qg" + + "fAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0" + + "ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50" + + "LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVj" + + "YXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFu" + + "ZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBi" + + "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + + "KWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIg" + + "c2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRl" + + "IHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVE" + + "RU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+" + + "IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRo" + + "YCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBp" + + "dCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNv" + + "IHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4g" + + "YHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBu" + + "b3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290" + + "c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJl" + + "IGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lk" + + "ZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQg" + + "Y3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGlu" + + "c2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXks" + + "IGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBh" + + "aXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5j" + + "Ogo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtF" + + "WSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBp" + + "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBO" + + "VklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFw" + + "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0" + + "YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIg" + + "Y3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdD" + + "IChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZv" + + "cm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5l" + + "ZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChm" + + "dW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZy" + + "ZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEg" + + "c2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNh" + + "bGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJp" + + "bmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRt" + + "aXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2Ag" + + "aW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZv" + + "ciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1v" + + "ZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJl" + + "cG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJl" + + "cG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5v" + + "IC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1l" + + "c3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + + "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVy" + + "UG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + + "bWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBh" + + "ZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdp" + + "dGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1v" + + "IGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5h" + + "bWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1p" + + "biBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9y" + + "IHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQs" + + "IHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + + "Lm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2Rz" + + "CmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + + "bCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxh" + + "c3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0" + + "dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0t" + + "fAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Ig" + + "d3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1h" + + "Z2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVs" + + "dC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0" + + "aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3Mg" + + "YGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZh" + + "bGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJl" + + "ZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tT" + + "IC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zlcnku" + + "ZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIg" + + "fCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAs" + + "IGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFv" + + "LXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3Nh" + + "bmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEu" + + "cmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gt" + + "bG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMg" + + "ZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNl" + + "cnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNh" + + "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRv" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0" + + "aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3Ig" + + "bWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNo" + + "ZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRl" + + "IHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUg" + + "cmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQg" + + "fCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVj" + + "dGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0" + + "aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUg" + + "YWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAg" + + "cmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVz" + + "IGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50" + + "KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0" + + "aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1y" + + "YW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNv" + + "bmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9g" + + "IGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRo" + + "IHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcg" + + "YC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9O" + + "UzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24g" + + "ZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRh" + + "Z3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lP" + + "TmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5W" + + "Q0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3Vu" + + "dCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBw" + + "b3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1h" + + "Y2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFs" + + "bCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0" + + "aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMg" + + "KHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFj" + + "Y291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBj" + + "YWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGlu" + + "ZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0" + + "ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVk" + + "fScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4g" + + "aXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2Fp" + + "biAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRl" + + "ZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVs" + + "ZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1m" + + "b3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5j" + + "Cmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMg" + + "Y29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3Vy" + + "Y2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQ" + + "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + + "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3Jr" + + "Zmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0" + + "aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUu" + + "bWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVi" + + "dWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0" + + "aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3Jl" + + "YXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMU" + + "k0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQi" + + "OiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0" + + "aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJl" + + "YWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9u" + + "czogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBo" + + "ZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBt" + + "aW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50" + + "aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEu" + + "Mi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJh" + + "biAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMu" + + "MTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicg" + + "dG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9u" + + "IGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVm" + + "b3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5j" + + "IGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0" + + "aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBi" + + "ZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + + "IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAg" + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29u" + - "dGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3Vi" + - "ZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFs" + - "aXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNs" + - "ZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhl" + - "IGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0" + - "b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJj" + - "ZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2Ug" + - "ZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6" + - "ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0" + - "ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1" + - "YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBw" + - "cm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmln" + - "IHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250" + - "cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3Rl" + - "ciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiBy" + - "YW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9u" + - "bWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3Zl" + - "ciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5k" + - "ZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + - "YmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAg" + - "ICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9n" + - "cnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tl" + - "eXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXki" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xV" + - "U1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VC" + - "RUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + - "SUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxp" + - "ZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBm" + - "bGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + - "bXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJv" + - "bC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9m" + - "aWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhl" + - "bG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBo" + - "ZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJv" + - "dGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBl" + - "eHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVs" + - "bSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUg" + - "aXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBu" + - "dmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29y" + - "ZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdp" + - "dGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAg" + - "IlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlv" + - "biBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIs" + - "CiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVu" + - "dCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8g" + - "dmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywg" + - "c2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91" + - "bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRv" + - "IHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + - "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAg" + - "IldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQg" + - "ZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0" + - "ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRp" + - "b24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhl" + - "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJv" + - "bm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "Y29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVk" + - "IHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + - "YWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVz" + - "LCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxh" + - "bmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJl" + - "Z2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0" + - "YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxt" + - "LCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVu" + - "ZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBp" + - "LWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRp" + - "bmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJ" + - "TEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxv" + - "eWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmls" + - "ZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250" + - "cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2" + - "YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNv" + - "bnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxs" + - "ZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9j" + - "dW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5l" + - "cmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAg" + - "ICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFu" + - "ZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBT" + - "aG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWly" + - "ZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93" + - "ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5n" + - "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + - "LS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBS" + - "ZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMg" + - "ZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAg" + - "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAg" + - "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0" + - "IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4i" + - "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNv" + - "bnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2Vu" + - "ZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4g" + - "SGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "NC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5k" + - "cmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRv" + - "IDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2Vs" + - "aW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSBy" + - "ZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBs" + - "IGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFN" + - "TCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmll" + - "ZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0" + - "aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1s" + - "LmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0" + - "aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlB" + - "TUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRl" + - "J3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUg" + - "Y2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdp" + - "dGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBl" + - "bmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVu" + - "Y2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8g" + - "ZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVk" + - "IHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRo" + + "b3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + + "d2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lw" + + "IGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIs" + + "CiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGlu" + + "ZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBp" + + "ZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMg" + + "b24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZy" + + "b20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZp" + + "bmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRh" + + "cmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tl" + + "bmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBm" + + "b3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0" + + "byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMi" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5h" + + "bWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52" + + "Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRp" + + "b24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + + "YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFu" + + "ZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25m" + + "aWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQg" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxl" + + "IGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxh" + + "bmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGgg" + + "VVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBs" + + "YW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJn" + + "ZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhl" + + "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBh" + + "bmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURD" + + "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "dXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5j" + - "JyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + - "IHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5" + - "c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVj" + - "dG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0" + - "aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVu" + - "YXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVn" + - "Z2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRo" + - "ZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRz" + - "LCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFj" + - "Y291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3Jl" + - "ZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBj" + - "b3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNj" + - "cmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhl" + - "IGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0" + - "aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRl" + - "bnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0" + - "byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwg" + - "aW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8g" + - "dXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0g" + - "YW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJl" + - "bW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwg" + - "ZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQg" + - "T3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + - "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29t" + - "cHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBv" + - "dmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5l" + - "IG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVy" + - "YXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJv" + - "ciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0" + - "ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5j" + - "ZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwg" + - "bnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBu" + - "dmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUg" + - "YWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxh" + - "bmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3Ro" + - "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMg" + - "d2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxl" + - "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + - "ckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + - "dGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVt" + - "ZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBs" + - "YW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxT" + - "ZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBu" + - "YXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5h" + - "bWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1w" + - "bGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3Jl" + - "ZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBk" + - "b3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBz" + - "YWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJp" + - "YW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBh" + - "bmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZv" + - "cmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1w" + - "bGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJv" + - "eSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1l" + - "c3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJl" + - "cXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGlu" + - "ZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + - "LCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2Vy" + - "dmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91" + - "dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJ" + - "IGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRo" + - "ZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9u" + - "cywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNN" + - "UyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBh" + - "bmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0" + - "IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGgg" + - "dGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9u" + - "bHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBl" + - "dmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWci" + - "LAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3Rl" + - "ciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRl" + - "c3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRo" + - "ZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFj" + - "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWly" + - "ZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBp" + - "bnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0" + - "YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUg" + - "Y2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3" + - "aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAog" + - "ICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJv" + - "eSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBD" + - "TEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwg" + - "dW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBD" + - "TEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxp" + - "dmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9l" + - "cyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1w" + - "bGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3Rl" + - "cmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBD" + - "TEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwg" + - "Ym90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRo" + - "ZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBl" + - "YWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + - "dGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMx" + - "My12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRv" + - "IG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93" + - "IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1s" + - "LCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwg" + - "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + - "ZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11" + - "c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYg" + - "WUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkg" + - "cGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xv" + - "YmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVs" + - "ZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFt" + - "cGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZh" + - "bHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkg" + - "bmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5h" + - "Z2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29u" + - "ZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxt" + - "LmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRl" + - "d2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJv" + - "dXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + - "biBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFs" + - "YW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQg" + - "cGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRl" + - "ZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBh" + - "bmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlD" + - "SW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fybmlu" + - "ZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4g" + - "SXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNl" + - "ZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMs" + - "IGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIg" + - "c2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVz" + - "ZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgi" + - "LAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FD" + - "b3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2Yt" + - "dHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2lu" + - "ZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + - "YXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRz" + - "IHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25s" + - "eSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBw" + - "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNo" + - "ZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQg" + - "cmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJU" + - "aGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRo" + - "ZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1x" + - "dWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWsz" + - "ZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2lu" + - "ZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91" + - "bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwg" + - "azNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9z" + - "dGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4g" + - "VGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRp" + - "b24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0" + - "cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBk" + - "ZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwt" + - "ZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAA" + - "AAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMu" + - "bWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBs" + - "b3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291" + - "cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24g" + - "bGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fz" + - "c2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRl" + - "IHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAx" + - "OiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1s" + - "CmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApg" + - "YGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2ll" + - "cy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAg" + - "cmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sg" + - "cm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + - "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + - "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + - "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + - "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAg" + - "bGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQog" + - "ICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9y" + - "eTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + - "ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAv" + - "Y2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6" + - "IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGlu" + - "IHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNl" + - "c2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBS" + - "ZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcg" + - "aW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3Jl" + - "ZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmln" + - "dXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAg" + - "ICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5p" + - "bwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNh" + - "dGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9n" + - "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0" + - "cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoK" + - "IyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApl" + - "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5k" + + "YXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3Jl" + + "IHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhl" + + "IGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3Vy" + + "bCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9z" + + "dCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9S" + + "RUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19V" + + "UkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhl" + + "IEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBh" + + "bmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUg" + + "Y29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFu" + + "ZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNv" + + "bW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0" + + "aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmls" + + "ZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9j" + + "a2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWlu" + + "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + + "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5z" + + "dWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlv" + + "JyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9h" + + "dXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBh" + + "Z2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVz" + + "ZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21t" + + "YW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAi" + + "cXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJl" + + "Y3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5" + + "IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0" + + "cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0" + + "b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBo" + + "ZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + + "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4g" + + "YnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5v" + + "dCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhl" + + "IHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1" + + "bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAog" + + "ICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Yg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQg" + + "bmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxl" + + "dGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xz" + + "IGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBp" + + "bmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2" + + "aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhh" + + "c2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVy" + + "ZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdp" + + "dGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxt" + + "LWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0" + + "cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBu" + + "YW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMs" + + "IGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29t" + + "cHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5W" + + "PXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5j" + + "JyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBs" + + "YW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0" + + "eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wg" + + "cGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhl" + + "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRl" + + "ZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQg" + + "Y29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVz" + + "dGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVu" + + "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2" + + "ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRz" + + "IGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29t" + + "cGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29u" + + "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + + "IGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3Ry" + + "YXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBj" + + "b25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFs" + + "dWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJU" + + "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJU" + + "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1j" + + "bHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAg" + + "ICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAg" + + "ICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQs" + + "IGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVk" + + "IHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZp" + + "bGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVy" + + "cmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9k" + + "cyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2ku" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdp" + + "dGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNl" + + "IHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBz" + + "ZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJn" + + "ZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUg" + + "cmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1v" + + "cnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1w" + + "bCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3Zl" + + "cnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVy" + + "Z2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + + "dWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdl" + + "IHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3lu" + + "YyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNp" + + "ZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAt" + + "LSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95" + + "IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMg" + + "aW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAn" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBk" + + "ZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMg" + + "aW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwg" + + "dmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJl" + + "ZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjog" + + "IkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9y" + + "aXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyBy" + + "ZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290" + + "IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVj" + + "a2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQu" + + "IEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlh" + + "bHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0" + + "IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNl" + + "cy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBw" + + "b2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50" + + "IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3Bh" + + "Y2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9k" + + "IHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmll" + + "ZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJx" + + "dWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFj" + + "aCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVk" + + "aW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRo" + + "ZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdh" + + "dGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3" + + "b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxl" + + "ZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJh" + + "byBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVS" + + "TCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1w" + + "bGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlk" + + "ZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBv" + + "biB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0" + + "byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFw" + + "aS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8g" + + "bmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdy" + + "cGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3Jw" + + "Y1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQg" + + "c2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9j" + + "YWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jl" + + "c3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3" + + "b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0" + + "cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + + "dmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJh" + + "cmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNz" + + "IGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGlj" + + "bXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNl" + + "VVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9z" + + "dE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFj" + + "ZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBz" + + "ZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0" + + "aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15" + + "IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHku" + + "IFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29u" + + "ZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVz" + + "dHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBr" + + "dWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUg" + + "Y29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVk" + + "IGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5z" + + "dGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxl" + + "YXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9y" + + "dGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRo" + + "ZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1l" + + "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cg" + + "cmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxs" + + "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + + "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + + "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lz" + + "dGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1" + + "bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBN" + + "YWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAg" + + "ICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxl" + + "dGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0" + + "aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250" + + "cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVz" + + "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZm" + + "ZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxs" + + "YXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93" + + "bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + + "dmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1t" + + "YW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAi" + + "VGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRo" + + "IGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxv" + + "dyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwg" + + "dGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxv" + + "dyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVn" + + "aXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3Qg" + + "cXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSBy" + + "ZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNs" + + "dXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxv" + + "dyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBj" + + "b250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93" + + "biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNv" + + "bXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5v" + + "IHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1" + + "ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVu" + + "dmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhl" + + "bG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYg" + + "WUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRp" + + "ZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + + "IGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNl" + + "IHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAt" + + "PiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2Vz" + + "IHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0" + + "b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + + "bmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBp" + + "bmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBv" + + "ZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0" + + "aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0" + + "byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBz" + + "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJh" + + "dGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJs" + + "ZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFu" + + "ZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1" + + "c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBz" + + "ZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + + "IGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50" + + "ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQg" + + "Zm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5j" + + "bHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + + "cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0" + + "IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVm" + + "cmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJp" + + "bmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2" + + "ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNh" + + "ci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRk" + + "b25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0" + + "byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBz" + + "dGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFu" + + "ZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlk" + + "ZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhl" + + "IGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBs" + + "YWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3Ig" + + "dGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRl" + + "eHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBs" + + "aWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhl" + + "IGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVh" + + "dGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdl" + + "bnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0g" + + "SFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWlu" + + "c2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAg" + + "ICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2Qg" + + "Zm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJp" + + "Z2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRl" + + "dmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxv" + + "Y2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFn" + + "ZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tp" + + "bGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlv" + + "bnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9w" + + "bWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNr" + + "aWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUA" + + "AQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50" + + "IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoK" + + "VGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2Ug" + + "aW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJh" + + "IHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291" + + "cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0" + + "dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAg" + + "LUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMj" + + "IyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1s" + + "LmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + + "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + + "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + + "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + + "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + + "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + + "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + + "OgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAg" + + "ICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5" + + "Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + + "bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1h" + + "ZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNv" + + "dXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBO" + + "VkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5z" + + "dGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3Ry" + + "eSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2Vz" + + "IGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdp" + + "c3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVu" + + "dmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + + "YWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJl" + + "cG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAg" + + "cmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9j" + + "YWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZj" + + "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0" + + "ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQg" + + "TkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + + "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + + "YW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNy" + + "ZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpm" + + "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + + "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + + "ZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + + "ICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBg" + + "YAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMK" + + "CkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJl" + + "bGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNp" + + "ZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAu" + + "OC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJh" + + "LXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + + "X0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAg" + + "ICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpT" + + "ZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNl" + + "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + + "b3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3Jl" + + "dHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMj" + + "IFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUg" + + "c3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8g" + + "cG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6Cgpg" + + "YGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQo" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMi" + + "IFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsg" + + "ZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNl" + + "cnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0" + + "cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAt" + + "LWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxh" + + "c3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBw" + + "dWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRl" + + "YXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91" + + "IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxh" + + "bmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29t" + + "cHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVn" + + "Z2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVw" + + "IDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQg" + + "YG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRp" + + "b24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQg" + + "Z2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8" + + "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + + "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3Ig" + + "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1w" + + "bGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + + "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + + "bGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5h" + + "Z2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + + "ZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0" + + "cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + + "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0g" + + "cmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRl" + + "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + + "ZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + + "IGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3Vi" + + "ZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAog" + + "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1" + + "YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3Rl" + + "cCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92" + + "ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "bnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNz" + + "fHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVw" + + "IDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25d" + + "KFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhh" + + "bmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVy" + + "IGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9u" + + "ZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBu" + + "ZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApH" + + "QVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25w" + + "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQURE" + + "UiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMK" + + "CktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVs" + + "ZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhv" + + "c3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWlu" + + "PmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91" + + "dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FU" + + "RVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQg" + + "ZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBs" + + "YWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZO" + + "YXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMs" + + "IGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVz" + + "IHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdo" + + "IHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJp" + + "ZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwg" + + "LUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1n" + + "YXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9u" + + "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRo" + + "PSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoK" + + "IyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGlu" + + "ZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMg" + + "RGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hl" + + "Y2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9k" + + "cyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgoj" + + "IERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVm" + + "ZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8" + + "IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8t" + + "c2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGks" + + "IGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2Us" + + "IHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3" + + "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBz" + + "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFu" + + "aXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sg" + + "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5l" + + "bmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3Qg" + + "dGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + + "bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBg" + + "bGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + + "IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + + "IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + + "ZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8" + + "IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBg" + + "bmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6" + + "IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVs" + + "LiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + + "BwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNv" + + "bnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFs" + + "bCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNo" + + "IGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9y" + + "IHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2Zp" + + "bGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8" + + "IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24g" + + "YXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRy" + + "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5l" + + "cmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRo" + + "ZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZs" + + "b3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJl" + + "bG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9y" + + "cyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMu" + + "IFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZp" + + "bGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0" + + "YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCBy" + + "b3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdp" + + "c3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFu" + + "ZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVu" + + "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + + "LXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhl" + + "IEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRh" + + "Y2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAs" + + "IGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + + "dCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlk" + + "ZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdh" + + "dGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyBy" + + "ZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21h" + + "aW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48" + + "Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1h" + + "cGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdh" + + "dGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2lu" + + "dm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VV" + + "Ukw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAg" + + "Z2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVt" + + "CiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3Bh" + + "Y2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVz" + + "cGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3" + + "YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6" + + "IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAg" + + "ZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWlu" + + "PiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRp" + + "b25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFt" + + "bAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55" + + "YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1Nl" + + "cnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9z" + + "dEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2Vydmlj" + + "ZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhl" + + "YWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5h" + + "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0" + + "cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wg" + + "cGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJp" + + "bmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBD" + + "TEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRw" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgph" + + "cGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFp" + + "bj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9z" + + "dDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5" + + "LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91" + + "dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24g" + + "Y29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGll" + + "cwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtl" + + "IG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGlu" + + "c3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + + "dGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+" + + "IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklM" + + "RT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1j" + + "bGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAt" + + "QyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05B" + + "TUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVy" + + "cyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQu" + + "CkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1" + + "aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRl" + + "cGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQg" + + "aXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4g" + + "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2Zp" + + "bGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoK" + + "dGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29t" + + "cHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBy" + + "ZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + + "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + + "XAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxl" + + "J3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29t" + + "cHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUg" + + "ZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgoj" + + "IyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2Ug" + + "bmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5k" + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + - "b25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + - "dmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVz" + - "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + - "WSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + - "b25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVs" + - "ZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBl" + - "YWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBl" + - "bmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + - "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + - "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + - "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9i" + - "YWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMK" + - "YGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUg" + - "dGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxs" + - "LXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBg" + - "YAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBu" + - "YXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9w" + - "ZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3Rh" + - "cnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNh" + - "IGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1u" + - "ICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5h" + - "bWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBh" + - "dGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxs" + - "U2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5" + - "c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1i" + - "eT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3Nm" + - "dWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBG" + - "dWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBh" + - "bmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1" + - "dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + - "aWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0" + - "aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMj" + - "IyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklE" + - "YCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdp" + - "c3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJ" + - "RCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBg" + - "YmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNs" + - "dXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2Et" + - "aWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQg" + - "MiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29u" + - "dHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBi" + - "eSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBI" + - "ZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2Vy" + - "dC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1" + - "aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBp" + - "dCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZm" + - "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNr" + - "IEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + - "CmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3Ro" + - "ZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ry" + - "b3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgoj" + - "IyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2Vu" + - "ZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtl" + - "eXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMj" + - "IyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxs" + - "YXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpz" + - "YW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVu" + - "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBS" + - "ZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJv" + - "dmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBn" + - "b3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBg" + - "YmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1v" + - "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVX" + - "QVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBm" + - "aWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9z" + - "dCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJv" + - "dXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48" + - "ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQg" + - "d2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0" + - "byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEg" + - "c3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2Vz" + - "LCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUg" + - "YG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRT" + - "IFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3Zl" + - "cnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0" + - "aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAz" + - "OiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4i" + - "CmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0" + - "aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + - "bnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95" + - "bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpz" + - "b25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAK" + - "Ci0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3Ig" + - "dGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBi" + - "YXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + - "CiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBn" + - "ZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0" + - "b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0t" + - "LS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9w" + - "ZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lz" + - "LCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNl" + - "cnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0" + - "ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25s" + - "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRv" + - "bnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4g" + - "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52" + - "Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95" + - "IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8Cnwg" + - "YG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkg" + - "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxv" + - "eSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + - "cyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwK" + - "fCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1" + - "ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMp" + - "IHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwK" + - "Ck5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3Vw" + - "IGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94" + - "eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoK" + - "VGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4g" + - "SW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFs" + - "bCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2Ug" + - "aXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVk" + - "IHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5k" + - "b2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3Ry" + - "YXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRl" + - "IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENM" + - "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rl" + - "cj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkg" + - "Zm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1m" + - "aWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1h" + - "bmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9w" + - "ZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1" + - "bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMg" + - "SGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9y" + - "ZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRl" + - "d2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUK" + - "ICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVW" + - "YWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5k" + - "LXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9j" + - "c3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2Vl" + - "cHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1g" + - "LCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0" + - "ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZp" + - "cm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBv" + - "dmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFu" + - "ZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9t" + - "YWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdh" + - "eS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dv" + - "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3Jr" + - "ZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0" + - "cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1Nl" + - "cnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jl" + - "c3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXkt" + - "c3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBu" + - "YW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXks" + - "IG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNm" + - "LWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5l" + - "ck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAg" + - "ICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdh" + - "dGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVu" + - "YWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXkt" + - "ZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBt" + - "aWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + - "YGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88" + - "ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAg" + - "aWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2" + - "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFs" + - "U2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNl" + - "SG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VS" + - "TDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRl" + - "OiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNv" + - "bnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVn" + - "aXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRl" + - "IHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFz" + - "ZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEw" + - "MDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNt" + - "c191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5" + - "LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZv" + - "a2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxn" + - "YXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwg" + - "d2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3Ry" + - "YXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBz" + - "dXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0" + - "YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0" + - "aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1F" + - "PTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxy" + - "ZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05G" + - "SUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8t" + - "bnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVT" + + "Y2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNy" + + "ZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9i" + + "YWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRo" + + "ZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9y" + + "IGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUg" + + "Y29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2Vl" + + "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVz" + + "ZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0" + + "ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBs" + + "b3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5k" + + "Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9" + + "anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwt" + + "c2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJl" + + "Z2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3Ro" + + "CmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHBy" + + "ZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5h" + + "bWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNl" + + "cnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4" + + "dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3Ig" + + "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBt" + + "ZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5" + + "IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5h" + + "bmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBk" + + "ZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdp" + + "c3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVT" + "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRp" + - "c2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNv" + - "bnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBp" + - "cyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVz" + - "dGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNv" + - "bnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93" + - "CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhl" + - "IHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNo" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNh" + - "LWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJv" + - "dGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNv" + - "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1w" + - "bGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXIt" + - "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + - "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1" + - "YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBw" + - "cm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0" + - "aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHBy" + - "b2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1" + - "ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4g" + - "dGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRo" + - "ZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdo" + - "IGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQg" + - "bWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0" + - "byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxl" + - "cywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRp" + - "b24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52" + - "Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwK" + - "ICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBt" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2Zi" + - "YWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAg" + - "LS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9" + - "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQg" + - "PHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFu" + - "ZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5l" + - "LiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0" + - "aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFn" + - "ZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90" + - "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + - "IGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + - "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + - "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + - "ZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + - "LiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBw" + - "cm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRv" + - "IG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFj" + - "aCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + - "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0t" + - "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + - "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + - "aWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1l" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdl" + - "dCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRl" + - "c3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4g" + - "ZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1w" + - "bGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVz" + - "dHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdf" + - "RklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBp" + - "dHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJ" + - "IHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0" + - "LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21w" + - "bGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRo" + - "ZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50" + - "IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + - "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + - "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVy" + - "bD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1" + - "dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3Qg" + - "cXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNh" + - "bm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0" + - "YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRl" + - "c3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBi" + - "b3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUg" + - "d2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + - "aGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1j" + - "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + - "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + - "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rl" + - "ci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + - "CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRl" + - "c3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJ" + - "dCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3Ry" + - "YXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "OwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9z" + - "aW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoK" + - "IyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBu" + - "YW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lm" + - "aWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0g" + - "cmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBk" + - "aWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1z" + - "b3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dz" + - "IGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMj" + - "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAg" + - "ICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tP" + - "ZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBw" + - "dWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoK" + - "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJl" + - "Y3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2" + - "ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1" + - "YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRo" + - "ZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoK" + - "IyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + - "bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVs" + - "bFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3Bh" + - "Y2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + - "ICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3" + - "b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4g" + - "KipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0" + - "IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMu" + - "IFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vz" + - "bid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZp" + - "Y2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCBy" + - "ZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4g" + - "KipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAg" + - "YGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNl" + - "PgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1" + - "cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBw" + - "b2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAg" + - "ICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1h" + - "cGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBg" + - "YAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1p" + - "bml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJh" + - "byBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5C" + - "YW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + - "Q2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + - "YW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRo" + - "ZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1" + - "bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5p" + - "bmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2Ug" + - "aXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRo" + - "aXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kg" + - "YW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwg" + - "ZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBz" + - "eW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVk" + - "Kio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2" + - "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAg" + - "YGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + - "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + - "dHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMg" + - "aXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5C" + - "YW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMg" + - "bW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQg" + - "b2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBj" + - "bHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVz" + - "ZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24g" + - "dGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhl" + - "CiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBg" + - "T0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBp" + - "c3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIg" + - "ZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJl" + - "LXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRp" + - "b25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1t" + - "aWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0" + - "aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1r" + - "bm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVS" + - "TCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1" + - "dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJz" + - "IHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAg" + - "ZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZh" + - "bGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoK" + - "IyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + - "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + - "LTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5k" + - "cmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3Nh" + - "bmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhh" + - "bXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNv" + - "dXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5" + - "Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2" + - "TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5W" + - "Q0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMj" + - "IEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5B" + - "TUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAg" + - "ICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + - "YGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNj" + - "cmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0g" + - "IjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mg" + - "bm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmlj" + - "aWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgoj" + - "IyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVj" + - "dG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2Rl" + - "cyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5v" + - "dCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMq" + - "KjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5v" + - "ZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgoj" + - "IyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBg" + - "YGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBg" + - "YAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2" + - "aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMg" + - "Rml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVz" + - "dCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3Vi" + - "ZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMj" + - "IEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2Vy" + - "dmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cg" + - "Ym9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJv" + - "b3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAo" + - "am9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBs" + - "b2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAw" + - "CmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6" + - "IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9h" + - "dXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5Cgog" + - "ICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lP" + - "VVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0" + - "b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJ" + - "IGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAu" + - "cmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRz" + - "IGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5j" + - "aWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNw" + - "YWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMK" + - "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWls" + - "dXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1" + - "dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdg" + - "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcg" + - "ICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoK" + - "UnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3Jt" + - "YWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBm" + - "cm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBu" + - "YW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2Vz" + - "Cmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1B" + - "IC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiAr" + - "IC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7" + - "IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250" + - "ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAi" + - "e1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQi" + - "IHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZp" + - "bmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVj" + - "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpz" + - "b24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAg" + - "IGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1y" + - "YXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9u" + - "ZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMj" + - "IyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52" + - "Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJl" + - "IG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNh" + - "LW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdo" + - "ZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0" + - "aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9u" + - "IGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUg" + - "b25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQg" + - "cG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBu" + - "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBu" + - "dmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0" + - "ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBp" + - "bgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBu" + - "dmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4g" + - "U2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3Jl" + - "dCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoK" + - "UmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0" + - "aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkg" + - "cmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9B" + - "RERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + - "YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5z" + - "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyAr" + - "c2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDov" + - "LyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNl" + - "ZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1Nl" + - "cnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5k" + - "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVw" + - "ZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBs" + - "b3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJl" + - "ZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxl" + - "Y3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJl" + - "Y292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3Bh" + - "Y2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2Vz" + - "IHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lz" + - "dGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZj" + - "ZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwg" + - "cmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8" + - "IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8" + - "IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNv" + - "bnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8" + - "ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5t" + - "ZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExh" + - "eW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwg" + - "ICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3Bl" + - "bkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2Vz" + - "ICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZh" + - "YmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlh" + - "bWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMp" + - "CnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBv" + - "dmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAg" + - "ICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9i" + - "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0" + - "cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmls" + - "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5l" + - "IGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAg" + - "ICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmly" + - "b25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2" + - "YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAg" + - "ICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAg" + - "ICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + - "ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0" + - "ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJv" + - "bm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdl" + - "bmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8g" + - "bm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQg" + - "VGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFz" + - "ZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0t" + - "LS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1l" + - "c3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2" + - "YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fz" + - "c2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFz" + - "ZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJl" + - "bGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1w" + - "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + - "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlz" + - "IHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNl" + - "cnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZv" + - "Y2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNl" + - "cnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwK" + - "fCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVx" + - "dWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0" + - "ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1p" + - "bi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVs" + - "KSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3Rl" + - "bSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNl" + - "cnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVw" + - "b3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1g" + - "IGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1p" + - "c3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9j" + - "a3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + - "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + - "LS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxp" + - "dHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxh" + - "Z3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1w" + - "bGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNl" + - "ZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdz" + - "IHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVw" + - "bGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBp" + - "dCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlv" + - "dSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBi" + - "ZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rv" + - "cnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5l" + - "czoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9o" + - "ZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2Jh" + - "bC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + - "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCBy" + - "ZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + - "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUt" + - "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAj" + - "IE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAg" + - "IHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + - "YGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlh" + - "bWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBg" + - "eWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5o" + - "ZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAg" + - "dG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUg" + - "dGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0" + - "cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0" + - "IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJl" + - "ZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0t" + - "IHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28g" + - "dGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUp" + - "CjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZh" + - "bHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHBy" + - "ZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9u" + - "bWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2" + - "YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5j" + - "ZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5k" + - "cmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9u" + - "cy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5v" + - "ZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2Fu" + - "ZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFp" + - "bmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNv" + - "bnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5z" + - "dG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVj" + - "dG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1h" + - "Z2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmlt" + - "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFT" + - "dG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQ" + - "SSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9y" + - "eSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5l" + - "bnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1l" + - "bnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5j" + - "dGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0t" + - "cmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZv" + - "Y2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxl" + - "ZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVs" + - "bWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBv" + - "YnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + - "ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxt" + - "OgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAg" + - "ICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBm" + - "YWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJp" + - "Y3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdl" + - "bnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Q" + - "b2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBm" + - "b3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBB" + - "UEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBz" + - "ZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNh" + - "dGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJ" + - "bnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2Vy" + - "LXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlv" + - "biBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdl" + - "ZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAg" + - "c2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBi" + - "ZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2Yt" + - "dHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3Vy" + - "ZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2Fk" + - "IEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2Nz" + - "L3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRl" + - "LgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBk" + - "ZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3" + - "b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29u" + - "ZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAg" + - "ICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxv" + - "bjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRF" + - "Ul9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMg" + - "aXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwpt" + - "dXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCBy" + - "ZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52" + - "aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNp" + - "bmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVj" + - "ZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBg" + - "YAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRy" + - "aXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4K" + - "CkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2Fy" + - "IGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVw" + - "bGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBs" + - "eSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVh" + - "dGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wg" + - "cGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBu" + - "dmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1F" + - "ICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91" + - "dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlv" + - "bi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9" + - "PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBw" + - "bGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0t" + - "cXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBi" + - "ZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9n" + - "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rhcmdh" + - "dGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2Vs" + - "ZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5" + - "IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5" + - "IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMK" + - "CiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxl" + - "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2Ut" + - "Z3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQ" + - "SwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEA" + - "ps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + - "bmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZh" + - "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFk" + - "ZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVl" + - "ZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5j" + - "bHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + - "dWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50" + - "aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBh" + - "ZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlh" + - "bWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFt" + - "ZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBh" + - "biBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0" + - "cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJv" + - "bSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9L" + - "RVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + - "ci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1l" + - "PSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAt" + - "LW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21h" + - "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5" + - "IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNs" + - "dWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNl" + - "IGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMg" + - "VmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBh" + - "bmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1" + - "YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0" + - "OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBg" + - "CgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0" + - "aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0" + - "cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRp" + - "bmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxs" + - "IFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2Vz" + - "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1" + - "YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1w" + - "bGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVp" + - "ciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxp" + - "c3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8g" + - "dG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9u" + - "IHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3Jl" + - "dCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMg" + - "S3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpg" + - "YGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5" + - "dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZl" + - "cm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxs" + - "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + - "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + - "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + - "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + - "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxh" + - "Y2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXIt" + - "cGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAph" + - "cGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAg" + - "bmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNl" + - "CiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAg" + - "ICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAg" + - "a2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAg" + - "ICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMi" + - "CiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAg" + - "ICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAg" + - "ICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJh" + - "dGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoK" + - "ICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + - "OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgog" + - "ICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVs" + - "bHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5l" + - "CgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBp" + - "bgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBu" + - "ZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1w" + - "bGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9u" + - "bHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + - "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + - "IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + - "ZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52" + - "Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBp" + - "biBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAu" + - "IERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBG" + - "b2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmlj" + - "YXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBp" + - "bmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoK" + - "IyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8g" + - "anNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2Vw" + - "dWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxs" + - "IGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZl" + - "bnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAg" + - "LWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1" + - "dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1" + - "dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + - "c2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNl" + - "Y3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjog" + - "SWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJ" + - "QU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQg" + - "c2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQu" + - "Ci0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdp" + - "c3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vydmlj" + - "ZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tP" + - "ZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3Rz" + - "IHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1" + - "Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgoj" + - "IyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5v" + - "CiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGlu" + - "ZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "Y2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVB" + - "RFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNl" + - "cyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3Qg" + - "bmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2Vj" + - "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAU" + - "AAgAAAAAACEA4GqXrEoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29u" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP9282dTYQAAU2EAACMACQAAAAAAAAAAAAAAkxAAAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "AEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAQHIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQChFOOBXQwA" + - "AF0MAAA0AAkAAAAAAAAAAAAAAMeBAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxl" + - "cy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEInSQ8FDQAABQ0AADcA" + - "CQAAAAAAAAAAAAAAj44AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNv" + - "bXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAA" + - "AAAAAAAAAAACnAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5k" + - "LXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAA" + - "AAAAAAAAEbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1p" + - "bnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAA" + - "AACX2wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQt" + - "aW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBCceYeASgAAAEoAAA6AAkAAAAAAAAA" + - "AAAAAMnqAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1z" + - "Y3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAA" + - "AAAAOxMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXIt" + - "andrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAA" + - "AHMbAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAHIND2QhIwAAISMAADAACQAAAAAAAAAAAAAAvD0BAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQB2OsNv/g0AAP4NAAAyAAkAAAAAAAAAAAAAAERhAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAv" + - "mM90IE0AACBNAAAtAAkAAAAAAAAAAAAAAKtvAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + - "ZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEACP3YyqoaAACqGgAANwAJ" + - "AAAAAAAAAAAAAAAvvQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3Vi" + - "bGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAA" + - "AAAAAAAAAEfYAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAPM6AgBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAqJECAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAjboCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAAi6wIAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAABJHAMAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + - "cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAADO" + - "RgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVp" + - "LWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAA" + - "AAAA/U4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAHJlAwAAAA==" + "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmln" + + "IDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJv" + + "bS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3Jl" + + "LW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25m" + + "aXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kg" + + "YW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJv" + + "eSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1r" + + "dWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBc" + + "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUt" + + "a3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAg" + + "YXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFt" + + "ZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2Zp" + + "bGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMg" + + "YmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZl" + + "IHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZp" + + "eDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + + "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAog" + + "IHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + + "CiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxh" + + "bmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkg" + + "SUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBz" + + "aG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQg" + + "aXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lz" + + "IHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJl" + + "bW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0" + + "aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + + "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + + "aWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1j" + + "b25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAg" + + "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJs" + + "IDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoK" + + "UmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lz" + + "IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1v" + + "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25z" + + "IHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + + "VVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFu" + + "ZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVp" + + "Y2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3Bh" + + "Y2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFt" + + "ZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFz" + + "ZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9z" + + "aW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5" + + "PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50" + + "cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1w" + + "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBS" + + "RVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAw" + + "ICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGlt" + + "YWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRl" + + "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoi" + + "CgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwg" + + "Z2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qg" + + "c3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVj" + + "ayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + + "c2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3Jl" + + "dHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjog" + + "Q3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVn" + + "aXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0t" + + "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + + "TkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNy" + + "ZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRz" + + "IGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBb" + + "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1" + + "cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVz" + + "cy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0" + + "IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9u" + + "ZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAj" + + "IFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IElu" + + "aXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0" + + "dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAg" + + "ICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0" + + "Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMj" + + "IERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGlu" + + "amVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2Rz" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWln" + + "cmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sg" + + "T3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2Vy" + + "dmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVj" + + "ayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdl" + + "bnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjog" + + "Q2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVz" + + "LCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFw" + + "cGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJl" + + "LXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRl" + + "IG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0" + + "LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAg" + + "IGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENo" + + "ZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1z" + + "eXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0" + + "LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4g" + + "bm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAq" + + "KgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVy" + + "IHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1" + + "dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRl" + + "ZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhl" + + "IGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVy" + + "LXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBF" + + "dmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0" + + "MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJl" + + "aGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + + "b3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBp" + + "c3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIg" + + "YW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292" + + "ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBp" + + "dDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgog" + + "ICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAg" + + "a3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRp" + + "b25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + + "by1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNo" + + "b3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9v" + + "cGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQg" + + "dG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRp" + + "Y2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGgg" + + "dGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVs" + + "dCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNr" + + "IGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFp" + + "bHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUg" + + "ICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAw" + + "LzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8" + + "IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSBy" + + "ZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMu" + + "bWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6" + + "CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + + "ICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBg" + + "CgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fz" + + "c2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1" + + "cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + + "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEg" + + "ICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + + "IyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIg" + + "bm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBh" + + "ZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBt" + + "ZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4" + + "ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2Ag" + + "aW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNo" + + "b3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3Vu" + + "ZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdl" + + "dCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hl" + + "Y2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5v" + + "ZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWls" + + "dXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gK" + + "aGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUt" + + "cnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBk" + + "b24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApo" + + "ZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpN" + + "dXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBs" + + "eSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFt" + + "ZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1" + + "cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMg" + + "ZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0" + + "cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJh" + + "cCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1" + + "dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + + "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + + "IG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoK" + + "IyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRl" + + "bnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9r" + + "ZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBi" + + "YXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFT" + + "RTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpu" + + "dmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0" + + "IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0" + + "cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUs" + + "IHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52" + + "Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1j" + + "cmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBO" + + "VkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxh" + + "bmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0K" + + "IyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRo" + + "aXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29t" + + "cHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + + "Q0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3Bh" + + "Y2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVj" + + "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpz" + + "b24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRh" + + "ZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIk" + + "ezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBw" + + "YXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0" + + "YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9Cgoj" + + "IEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXpl" + + "cnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1j" + + "b250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4v" + + "ZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVj" + + "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9h" + + "cGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAK" + + "CiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1w" + + "dG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3Bl" + + "cmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCBy" + + "ZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJh" + + "dG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIg" + + "dGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJ" + + "IHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBp" + + "bnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhh" + + "bmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBz" + + "dGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9w" + + "ZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + + "ZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdp" + + "c3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZj" + + "YS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5" + + "c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltw" + + "dWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgoj" + + "IyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVz" + + "dHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0" + + "ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0" + + "cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQo" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAog" + + "IG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + + "YWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQg" + + "ImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRF" + + "V0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBh" + + "IHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8" + + "cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5g" + + "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBE" + + "TlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50" + + "cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2gg" + + "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBo" + + "YW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXIt" + + "ZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8t" + + "U2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBp" + + "biB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0t" + + "fC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + + "Y2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFw" + + "aSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWws" + + "IGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1r" + + "ZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8" + + "CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xs" + + "ZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1" + + "enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQAB" + + "AKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoK" + + "YGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0g" + + "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8" + + "ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5n" + + "cmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5" + + "IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAg" + + "ICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBg" + + "LS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlk" + + "ZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNl" + + "bnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFt" + + "bC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXIt" + + "Y2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + + "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVu" + + "ZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBu" + + "dmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50" + + "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + + "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + + "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + + "ICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBg" + + "CgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29u" + + "dGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQg" + + "ZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRl" + + "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1p" + + "eCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIg" + + "UmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + + "YXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + + "LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2lu" + + "ZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1z" + + "eXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJh" + + "IHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpV" + + "c2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2Ut" + + "Z3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBS" + + "ZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwt" + + "LS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBp" + + "LWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2Vz" + + "IHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9u" + + "LXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMg" + + "fAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rh" + + "cnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + + "CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2Vydmlj" + + "ZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tl" + + "bi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8Cnwg" + + "aW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGlu" + + "Z3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9" + + "XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9y" + + "eSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nr" + + "czsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXIt" + + "cHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgoj" + + "IyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + + "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + + "IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBv" + + "YnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4g" + + "dGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJ" + + "bmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBg" + + "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3Bl" + + "cnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMg" + + "bGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJl" + + "cGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0" + + "IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywg" + + "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + + "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVt" + + "cGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52" + + "Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1s" + + "LmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + + "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNs" + + "dWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + + "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + + "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3Qg" + + "cmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291" + + "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgoj" + + "IyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290" + + "bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAot" + + "IG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoK" + + "ICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4g" + + "aW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxh" + + "dGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBs" + + "YWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9y" + + "aXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jv" + + "c3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1l" + + "bnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxh" + + "dGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8" + + "cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1" + + "LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVu" + + "Y2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlh" + + "bWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCAr" + + "IGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMu" + + "IEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6Cgoj" + + "IyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1h" + + "Z2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFn" + + "ZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxl" + + "Y3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmds" + + "b2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmlt" + + "YWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5l" + + "ci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdl" + + "Q2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAo" + + "aWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAg" + + "YW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipg" + + "Ci0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdl" + + "LipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lT" + + "LCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + + "PHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAg" + + "KG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVu" + + "YWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMg" + + "d2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVz" + + "dC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9u" + + "Ljxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5k" + + "IGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUK" + + "Y29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0" + + "ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNs" + + "dXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAg" + + "ZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + + "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQog" + + "ICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAg" + + "ICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25m" + + "aWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6" + + "CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVR" + + "VUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9j" + + "YWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3Vy" + + "cmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1h" + + "bmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBo" + + "b3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3Vy" + + "ZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJv" + + "dXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVz" + + "dGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMg" + + "Y29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGlu" + + "ZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2Vk" + + "IGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3" + + "aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhl" + + "ciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFu" + + "Y2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYt" + + "bWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYg" + + "dGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0" + + "IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIg" + + "c2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgog" + + "ICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxs" + + "bS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0" + + "LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElF" + + "TlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9y" + + "IG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVz" + + "ZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJp" + + "bmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1l" + + "bnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + + "IHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMg" + + "YGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNl" + + "IHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "LiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsg" + + "YSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0" + + "aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdl" + + "IG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5n" + + "IHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5l" + + "dyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5k" + + "IGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUs" + + "IHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAt" + + "biBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxs" + + "bS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0t" + + "YXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + + "fCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+" + + "IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0t" + + "d29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRl" + + "eHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1p" + + "bnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlv" + + "ciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIu" + + "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9j" + + "cy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3Jz" + + "CgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVh" + + "c2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMK" + + "CiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVt" + + "cGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ry" + + "b3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBg" + + "IGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHs" + + "jQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBO" + + "VkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZD" + + "RiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + + "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoK" + + "IyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUg" + + "YWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMg" + + "dGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + + "bGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91" + + "IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoK" + + "RW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRk" + + "b25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNl" + + "IGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFn" + + "ZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + + "cyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + + "dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVz" + + "cGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBh" + + "bmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBz" + + "ZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + + "aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCBy" + + "b3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5" + + "CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5h" + + "YmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwg" + + "Z2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNm" + + "LXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBT" + + "ZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGlj" + + "YXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBh" + + "Y2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJv" + + "eHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3Jl" + + "dHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20g" + + "YSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0" + + "ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBh" + + "bmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24g" + + "Y2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpU" + + "aGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5q" + + "ZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUu" + + "IFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBg" + + "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJu" + + "byBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNo" + + "CmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8v" + + "CmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1u" + + "IGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3Jl" + + "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + + "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0t" + + "ZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dv" + + "cmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJz" + + "aW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTog" + + "bnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVs" + + "ZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1h" + + "dGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6" + + "CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0g" + + "Im52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAg" + + "ICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + + "ImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAg" + + "ICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNN" + + "ZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAg" + + "ICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZl" + + "cm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAg" + + "ICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3Jl" + + "dC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250" + + "aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3Bs" + + "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + + "Lm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQu" + + "IEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBw" + + "b2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + + "YG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1v" + + "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + + "LS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "YGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToK" + + "CmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3Jl" + + "ZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZj" + + "YS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5v" + + "dCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cK" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24K" + + "CmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3Rl" + + "ZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + + "ZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + + "UHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVj" + + "ayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBh" + + "dGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2Vj" + + "cmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50" + + "cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1u" + + "IDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVs" + + "bAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6" + + "ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1" + + "c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0" + + "IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMg" + + "QXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91" + + "ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9s" + + "aWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0" + + "cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipD" + + "U1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwg" + + "QXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgoj" + + "IyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0" + + "ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMg" + + "Y3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9k" + + "cyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + + "ZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2" + + "ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxs" + + "IHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3Rl" + + "cnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRy" + + "dWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZj" + + "ci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52" + + "Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAA" + + "ACEAOpNsREoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEPP7+Ud" + + "DwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1w" + + "bGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmIyQwAAMkMAAA0" + + "AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0" + + "aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8AADcACQAAAAAA" + + "AAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + + "cGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAA" + + "AADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10" + + "YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA" + + "1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2Uu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABc4AAA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + + "bC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAI7v" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNo" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAAVRkB" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAI0hAQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQBZLMkPnw4AAJ8OAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCjrSR7W1AA" + + "AFtQAAAtAAkAAAAAAAAAAAAAAPt3AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + + "Y2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAPNet1HYeAAB2HgAANwAJAAAAAAAA" + + "AAAAAAC6yAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + + "dGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAA" + + "AJ7nAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAEpKAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAA/6ACAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZj" + + "vFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA5MkCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAB5+gIAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAACgKwMAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAAlVgMAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9u" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAVF4D" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNy" + + "ZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAMl0AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index c79b010a19..ca60b98505 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -40,9 +40,6 @@ func TestSelectAuthChallenge(t *testing.T) { assert.Equal(t, "", selectAuthChallenge(nil)) } -// dockerHome writes ~/.docker/config.json under a temporary HOME and puts a -// fake docker-credential- for each helper on PATH, each answering with -// its own secret. // inlineDockerConfig builds a config.json with one inline credential at run // time. A literal auths blob trips secret scanners even with fake values. func inlineDockerConfig(t *testing.T, registry, user, pass, credsStore string) string { @@ -58,6 +55,9 @@ func inlineDockerConfig(t *testing.T, registry, user, pass, credsStore string) s return string(b) } +// dockerHome writes ~/.docker/config.json under a temporary HOME and puts a +// fake docker-credential- for each helper on PATH, each answering with +// its own secret. func dockerHome(t *testing.T, config string, helpers ...string) { t.Helper() if runtime.GOOS == "windows" { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index e2984e3eb8..009ef53bd8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -371,9 +371,10 @@ type RoleConfig struct { ClusterValidatorPullSecret string ClusterValidatorNoCleanup bool - // StaleNamespaceProber detects NVCF stack namespaces that are stuck - // Terminating or exist as empty shells after a partial teardown. Nil skips - // the check; production wires NewStaleNamespaceProber; tests pass fakes. + // StaleNamespaceProber detects NVCF stack namespaces that are being + // deleted, hold a Helm release left mid-operation, or hold what a removed + // install leaves behind. Nil skips the check; production wires + // NewStaleNamespaceProber; tests pass fakes. StaleNamespaceProber StaleNamespaceProber // StackDir is the resolved stack checkout. When set, the namespaces to @@ -558,7 +559,6 @@ func advisoryTool(run func(context.Context) CheckResult) func(context.Context) C // controlPlaneCheckCategory returns the cluster-side checks for the control // plane. The stale-namespace check runs first so a leftover namespace from a // prior partial teardown is surfaced before any other cluster work. -// Gateway API CRD and StorageClass probes are placeholders pending M3. func controlPlaneCheckCategory(rc RoleConfig) categorySpec { cat := categorySpec{ name: CategoryControlPlane, @@ -575,7 +575,7 @@ func controlPlaneCheckCategory(rc RoleConfig) categorySpec { } // Containerized cluster-validator probe for control-plane checks // (Gateway API CRDs, Envoy Gateway, StorageClass, external LB, - // node-to-node overlay, and reachability to nvcr.io + extra registries). + // node-to-node overlay, and reachability to rc's registries). if rc.ClusterValidator != nil { cat.checks = append(cat.checks, clusterValidatorCheck(rc, validatorRoleControlPlane)) } else if rc.ClusterValidatorUnresolvedImage != "" { @@ -723,7 +723,7 @@ func unresolvedValidatorCheck(image string) binaryCheckSpec { const id = "cluster-validator" return binaryCheckSpec{ ID: id, - HumanLabel: "resolving the cluster-validator image…", + HumanLabel: "resolving the cluster-validator image...", static: true, Run: func(context.Context) CheckResult { return CheckResult{ @@ -1540,11 +1540,11 @@ type noopSink struct{} func (*noopSink) Emit(context.Context, progress.Event) error { return nil } func (*noopSink) Close() error { return nil } -// RunPreflight executes local-host (and optionally cluster-side) pre-flight -// checks and returns the result slice. It is a thin wrapper around -// RunPreflightStreaming with a no-op sink, kept for orchestrator callers -// (runUpPreflight in cmd/self_hosted_up.go) that do not need streaming. -// Cluster-side checks land in M3 (need a kubectl client wired up). +// RunPreflight executes the role-independent pre-flight checks (local tools +// and registry credentials) and returns the result slice. It is a thin +// wrapper around RunPreflightStreaming with a no-op sink, kept for +// orchestrator callers (runUpPreflight in cmd/self_hosted_up.go) that do not +// need streaming. func RunPreflight(ctx context.Context, cfg PreflightConfig) []CheckResult { return RunPreflightStreaming(ctx, cfg, &noopSink{}) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index 7b62bb6c68..b373d44557 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -1884,9 +1884,9 @@ func (m Model) viewCheck(now time.Time) string { case m.checkFinalVerdict == "timeout": statusLine = fmt.Sprintf("Status: \u2718 timed out (%s)", tally) case !m.checkFinalSuccess || failed > 0: - statusLine = fmt.Sprintf("Status: ✘ failed (%s)", tally) + statusLine = fmt.Sprintf("Status: \u2718 failed (%s)", tally) case warned > 0: - statusLine = fmt.Sprintf("Status: ✓ ok with warnings (%s)", tally) + statusLine = fmt.Sprintf("Status: \u2713 ok with warnings (%s)", tally) default: statusLine = fmt.Sprintf("Status: \u2713 ok (%s)", tally) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index a7ce789630..c7e3329e18 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -586,7 +586,7 @@ func TestCheckOneShotRenderer_CancelledIsNotOK(t *testing.T) { out := buf.String() assert.Contains(t, out, "Status: cancelled") - assert.NotContains(t, out, "Status: ✓ ok") + assert.NotContains(t, out, "Status: \u2713 ok") } // The dashboard's glyph and tally grade a row as the final event does. A miss diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 6fa0d2474d..b7da7ce6f0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -278,7 +278,9 @@ func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T // included, never gets it. func TestResolveValidatorPullSecret_NGCKeyOnlyForNvcrIO(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-test-123") - for _, image := range []string{"stg.nvcr.io/a/b:1", "registry.nvidia.com:5005/a/b:1", "ghcr.io/a/b:1", "bareimage"} { + for _, image := range []string{ + "stg.nvcr.io/a/b:1", "registry.example.nvidia.com:5000/a/b:1", "ghcr.io/a/b:1", "bareimage", + } { client := fake.NewSimpleClientset() got, _, err := resolvePullSecret(t, client, image) require.NoError(t, err) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 27d92edfaf..81d3eef36a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -422,10 +422,9 @@ func TestEnumerateRegistries_FallbackDoesNotDuplicateNamedNGC(t *testing.T) { assert.Equal(t, 1, n, "nvcr.io must appear exactly once") } -// parseRegistryHostPort returns its input verbatim when SplitHostPort fails, -// and it fails on an already-bracketed literal with missingPort. Without a -// prefix guard that arrives here still bracketed and becomes "[[fd00::1]]", -// which http.NewRequest rejects. The documented bracketed form must work. +// An IPv6 literal, bracketed or not, is listed once with one pair of +// brackets. A value that arrived still bracketed and was bracketed again +// became "[[fd00::1]]", which http.NewRequest rejects. func TestEnumerateRegistries_DoesNotDoubleBracketIPv6(t *testing.T) { for _, in := range []string{"[fd00::1]", "fd00::1"} { got := EnumerateRegistries("", StackValues{}, parseExtras(t, in)) diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index 9b66b28142..d703972c37 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -34,8 +34,8 @@ import ( // nvcfControlPlaneNamespaces lists namespaces that a helmfile release deploys // into on the control-plane cluster, per deploy/stacks/self-managed/helmfile.d, // with the condition: that gates their releases and its base.yaml default. -// Any of these that exist without an active Helm release, or that are stuck -// Terminating, are leftover from a failed or partial teardown. +// probeStaleNamespaces says which of them are left over from a failed or +// partial teardown. // // Only namespaces that actually host a release belong here: a namespace // populated by something other than Helm (nvcf-backend, created at runtime by @@ -370,8 +370,9 @@ func terminatingNamespace(ns *corev1.Namespace, now time.Time) StaleNamespace { // by terminatingNamespace; // - a Helm release in it was left pending or uninstalling; or // - it holds no live Helm release, runs no workload, and still holds what a -// removed install leaves (volume claims, hook Jobs): a partial helm -// uninstall or a teardown that removed the release but not its data. +// removed install leaves (volume claims, or Jobs, StatefulSets, +// Deployments or DaemonSets): a partial helm uninstall or a teardown that +// removed the release but not its data. // // One namespace that cannot be read does not stop the others from being // probed: every error is returned, joined and naming its namespace, next to diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 605f76067d..15cfc2c79f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -278,7 +278,7 @@ func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { t.Setenv("NGC_API_KEY", "ngc-key") login := base64.StdEncoding.EncodeToString([]byte("robot:own-login")) auths := map[string]any{} - for _, host := range []string{"nvcr.io", "stg.nvcr.io", "registry.nvidia.com:5005"} { + for _, host := range []string{"nvcr.io", "stg.nvcr.io", "registry.example.nvidia.com:5000"} { auths[host] = map[string]string{"auth": login} } cfg, err := json.Marshal(map[string]any{"auths": auths}) @@ -287,10 +287,10 @@ func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { require.NoError(t, os.WriteFile(filepath.Join(dir, ".docker", "config.json"), cfg, 0o600)) for host, wantPass := range map[string]string{ - "nvcr.io": "ngc-key", - "NVCR.IO:443": "ngc-key", - "stg.nvcr.io": "own-login", - "registry.nvidia.com:5005": "own-login", + "nvcr.io": "ngc-key", + "NVCR.IO:443": "ngc-key", + "stg.nvcr.io": "own-login", + "registry.example.nvidia.com:5000": "own-login", } { cred, ok, _ := NewRegistryCredentials(true).lookup(context.Background(), host) require.True(t, ok, host) @@ -594,7 +594,7 @@ func TestExchangeBearerToken_NoNVIDIAWideRealmGrant(t *testing.T) { {"nvcr.io", "https://authn.nvidia.com/token"}, {"stg.nvcr.io", "https://nvcr.io/proxy_auth"}, {"nvcr.io", "https://x.ngc.nvidia/token"}, - {"registry.nvidia.com:5005", "https://nvcr.io/proxy_auth"}, + {"registry.example.nvidia.com:5000", "https://nvcr.io/proxy_auth"}, } { _, err := exchangeBearerToken(context.Background(), client, tc.registry, "repo", `Bearer realm="`+tc.realm+`"`, ®istryCredential{user: "$oauthtoken", pass: "k"}) From 5f4ab2081655b1d63b2c3c6a75b400be18beb9b8 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 03:00:44 +0530 Subject: [PATCH 067/127] fix(nvcf-cli): align validator RBAC and env, keep stuck rows visible Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 1 + .../reference/troubleshooting.md | 2 +- src/clis/nvcf-cli/cmd/main_test.go | 7 +- src/clis/nvcf-cli/cmd/self_hosted.go | 4 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 61 +- .../cmd/self_hosted_check_scope_test.go | 80 +- .../self_hosted_check_validatorenv_test.go | 14 +- .../agentskill/skilldata_generated.go | 4255 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../internal/selfhosted/clustervalidator.go | 63 +- .../clustervalidator_lifecycle_test.go | 66 +- .../internal/selfhosted/inotify_probe.go | 19 +- .../internal/selfhosted/inotify_probe_test.go | 33 + .../nvcf-cli/internal/selfhosted/preflight.go | 11 +- .../internal/selfhosted/preflight_test.go | 25 + .../selfhosted/progress/render_tty.go | 26 +- .../selfhosted/progress/render_tty_test.go | 24 + .../internal/selfhosted/pullsecret.go | 13 +- .../internal/selfhosted/pullsecret_test.go | 12 + .../internal/selfhosted/registry_cred.go | 5 + .../internal/selfhosted/registry_cred_test.go | 17 +- .../selfhosted/stale_namespace_test.go | 2 +- .../testdata/validator_api_calls.yaml | 2 + 23 files changed, 2516 insertions(+), 2227 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index e788720cb6..0811908a47 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -94,6 +94,7 @@ environment variable or config key wins over the stack. | NVCF Gateways | `ingress.gatewayApi.gateways`, gated the way the stack wires routes: none unless `ingress.gatewayApi.enabled` is `true`, `nats` only with `routes.nats.enabled`, `llmGrpc` and `llmQuic` only with `routes.llmWorker.enabled` | `NVCF_GATEWAY_NAMES`, as comma-separated `namespace/name` entries. A bare name is dropped by the validator. Set this way it skips the stack's gates | | Envoy Gateway namespace | `ingress.gatewayApi.controllerNamespace` | `NVCF_ENVOY_GATEWAY_NAMESPACE` | | External components | `nats`, `openbao` or `cassandra` whose `enabled` is set and is not `true` | `--cluster-validator-external-components`, or `NVCF_EXTERNAL_COMPONENTS` | +| StorageClass | `global.storageClass`. When set, the validator checks that this class exists instead of requiring a default class | `NVCF_STORAGE_CLASS` | | OpenBao namespace | - | `NVCF_OPENBAO_NAMESPACE` | | Overlay probe image | - | `--cluster-validator-probe-image`, or `NVCF_N2N_PROBE_IMAGE` | diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index dacada6cd6..03578f6cc9 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -17,7 +17,7 @@ transcript. | `cluster-validator not run: cluster_validator_image is not set; ...`, warning | No validator image is configured, so the cluster was not validated | Set `cluster_validator_image` in the nvcf-cli config, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE` or `--cluster-validator-image` | | `cluster-validator did not complete, so the cluster was not validated: ...`, error | The validator could not run or ended before its verdict: RBAC denied, image pull failure, its own timeout | Fix the cause the message names, or pass `--skip-cluster-validation` | | `cluster-validator reported failures: Gateway API CRDs: Not Installed` | Envoy Gateway prereq missing | `helm install eg oci://docker.io/envoyproxy/gateway-helm --namespace=envoy-gateway-system --create-namespace` | -| `cluster-validator reported failures: Default StorageClass: Not Found` | Cluster has no default SC | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'` | +| `cluster-validator reported failures: Default StorageClass: Not Found` | Cluster has no default SC, and the stack does not name one | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'`, or set `global.storageClass` in the stack's environment file (or `NVCF_STORAGE_CLASS`) to the class the stack uses | | `cluster-validator reported failures: GPU Resources: Not Available` (compute-plane) | No node advertises an allocatable GPU: no GPU nodes, or the NVIDIA GPU Operator is missing or not working | Install per https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/install-gpu-operator.html, OR use `fake-gpu-operator` for dev. `GPU Operator: Not Installed` alone is a warning | | `stale-namespaces`: ` (stuck Terminating: ...)`, error, exit `2` | The namespace has been deleting for over 2 minutes, or its conditions report a deletion failure. Usually an object inside it still holds a finalizer | Run the commands in the row in order: read `kubectl get ns -o jsonpath='{.status.conditions}'`, list what is left with the `api-resources` command, and resolve those objects. Force-clear the namespace finalizers only as a last resort | | `stale-namespaces`: ` (Terminating: deleting for )`, warning | A normal deletion is still draining volumes and finalizers | Wait and rerun `check`; `--wait` polls this row. It becomes `stuck Terminating` after 2 minutes | diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index cad1ee7c03..40b67d304b 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -79,7 +79,7 @@ func TestMain(m *testing.M) { "NVCF_CLUSTER_VALIDATOR_PROBE_IMAGE", "NVCF_CLUSTER_VALIDATOR_TOLERATIONS", "NVCF_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS", "NVCF_EXTERNAL_COMPONENTS", "NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", - "NVCF_N2N_PROBE_IMAGE", "HELMFILE_ENV", + "NVCF_N2N_PROBE_IMAGE", "NVCF_STORAGE_CLASS", "HELMFILE_ENV", "NGC_IMAGE_PULL_API_KEY", "NVCF_NGCR_API_KEY", "NVCF_NGC_API_KEY", "NGC_API_KEY", } { _ = os.Unsetenv(k) @@ -107,7 +107,10 @@ func TestMain(m *testing.M) { // wait up to five minutes per role. newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { - return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: " + p.Role + "\nCluster is NVCF-Ready\n"} + return selfhosted.ClusterValidatorResult{ + Passed: true, + Logs: "Validator role: " + p.Role + "\nCluster is NVCF-Ready\n", + } } } // The SIS reachability check has no seam, but it resolves its URL from diff --git a/src/clis/nvcf-cli/cmd/self_hosted.go b/src/clis/nvcf-cli/cmd/self_hosted.go index 682fcf2328..ba5dadb24b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted.go +++ b/src/clis/nvcf-cli/cmd/self_hosted.go @@ -41,8 +41,8 @@ and 'install --compute-plane' explicitly.`, // Persistent flags shared by all self-hosted subcommands. var ( - selfHostedControlPlaneStack string - selfHostedComputePlaneStack string + selfHostedControlPlaneStack string + selfHostedComputePlaneStack string selfHostedEnv string selfHostedNoApply bool selfHostedNonInter bool diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index af199323e4..fe99269015 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -237,29 +237,8 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // behind until a later check's orphan sweep. sigCtx, stop := signal.NotifyContext(runCtx, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) defer stop() - // After the first signal or quit key, say at once how to remove what the - // runs in progress may leave, before anything can end the process. A - // second Ctrl-C then exits at once, through the default handler. SIGTERM - // and SIGHUP stay caught until the bounded teardown ends: CI follows its - // SIGINT with a SIGTERM a few seconds later. held := make(chan os.Signal, 1) defer signal.Stop(held) - var noteOnce sync.Once - noteInterrupt := func() { - noteOnce.Do(func() { printInterruptCleanup(errOut, ledger.Outstanding()) }) - } - returned := make(chan struct{}) - defer close(returned) - go func() { - select { - case <-returned: - return - case <-sigCtx.Done(): - } - signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) - stop() - noteInterrupt() - }() // interrupted is an explicit cancel, not the timeout below, which is a // child of sigCtx and leaves it live. interrupted := func() bool { return sigCtx.Err() != nil } @@ -315,6 +294,39 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if starter, ok := sink.(interface{ Start() }); ok { starter.Start() } + // After the first signal or quit key, say at once how to remove what the + // runs in progress may leave, before anything can end the process. A + // second Ctrl-C then exits at once, through the default handler. SIGTERM + // and SIGHUP stay caught until the bounded teardown ends: CI follows its + // SIGINT with a SIGTERM a few seconds later. + var noteOnce sync.Once + noteInterrupt := func() { + noteOnce.Do(func() { + commands := ledger.Outstanding() + if len(commands) == 0 { + return + } + // A dashboard on the alternate screen takes everything printed + // meanwhile with it when it closes. The run is ending, so it is + // closed first and the note stays on the operator's terminal. + if owner, ok := sink.(interface{ OwnsTerminal() bool }); ok && owner.OwnsTerminal() { + _ = sink.Close() + } + printInterruptCleanup(errOut, commands) + }) + } + returned := make(chan struct{}) + defer close(returned) + go func() { + select { + case <-returned: + return + case <-sigCtx.Done(): + } + signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) + stop() + noteInterrupt() + }() var lastResults []selfhosted.CheckResult runErr := func() error { // An interrupted run still ends the stream with a final event, marked @@ -1062,7 +1074,9 @@ func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string // - the overlay probe image, so a mirrored cluster does not pull busybox // from Docker Hub; // - NVCF_EXTERNAL_COMPONENTS, the dependencies that run outside the stack, -// so the validator does not fail them for being absent from the cluster. +// so the validator does not fail them for being absent from the cluster; +// - NVCF_STORAGE_CLASS, the class the stack's PVCs name, so a cluster with +// no default class is not failed for it. func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { env := map[string]string{} if !checkPre || checkAll { @@ -1098,6 +1112,9 @@ func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { if len(external) > 0 { env["NVCF_EXTERNAL_COMPONENTS"] = strings.Join(external, ",") } + if class := cmp.Or(configValue("NVCF_STORAGE_CLASS"), stack.StorageClass); class != "" { + env["NVCF_STORAGE_CLASS"] = class + } return env } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 1449151662..f6154917ce 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -134,10 +134,12 @@ func TestCheck_InterruptExits130(t *testing.T) { // runCheckWithBudget runs check --control-plane --json with the outer budget // shortened to budget and a validator stub that holds its role until the // context ends, or returns result at once. -func runCheckWithBudget(t *testing.T, budget time.Duration, validator func(context.Context) selfhosted.ClusterValidatorResult, - args ...string) (error, string) { +func runCheckWithBudget(t *testing.T, budget time.Duration, + validator func(context.Context) selfhosted.ClusterValidatorResult, args ...string) (error, string) { t.Helper() - return runCheckWith(t, budget, func(ctx context.Context, _ selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + return runCheckWith(t, budget, func( + ctx context.Context, _ selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { return validator(ctx) }, &syncBuffer{}, args...) } @@ -338,7 +340,9 @@ func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { quit <- onQuit return prev(w, wait, onQuit) } - err, stderr := runCheckWith(t, time.Minute, func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + err, stderr := runCheckWith(t, time.Minute, func( + ctx context.Context, p selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { p.OnStart("run1") (<-quit)() <-ctx.Done() @@ -351,13 +355,15 @@ func TestCheck_QuitKeyInterruptsAndPrintsTheCleanupCommand(t *testing.T) { cmd := "kubectl get pods -n default -l nvcf.nvidia.com/validator-run=run1; " + "kubectl delete -n default job -l nvcf.nvidia.com/validator-run=run1 --cascade=foreground --wait; " + "kubectl delete clusterrolebinding,clusterrole -l nvcf.nvidia.com/validator-run=run1; " + - "kubectl delete -n default rolebinding,role,serviceaccount,secret,configmap -l nvcf.nvidia.com/validator-run=run1" + "kubectl delete -n default rolebinding,role,serviceaccount,secret,configmap " + + "-l nvcf.nvidia.com/validator-run=run1" assert.Equal(t, []any{cmd}, finalEvent(t, stderr)["cleanup"]) interruptNote := strings.Index(stderr, "note: interrupted; ") require.GreaterOrEqual(t, interruptNote, 0, "the interrupt says at once how to remove the run's objects") assert.Less(t, interruptNote, strings.Index(stderr, `"event":"final"`), "the note comes before the final event") assert.Equal(t, cmd, validatorRow(t, stderr)["cleanup"]) - kept := strings.Index(stderr, "note: the cluster-validator left objects in the cluster; remove them with:\n "+cmd+"\n") + kept := strings.Index(stderr, + "note: the cluster-validator left objects in the cluster; remove them with:\n "+cmd+"\n") require.Positive(t, kept, "the removal command is repeated once the stream has ended") assert.Greater(t, kept, strings.Index(stderr, `"event":"final"`)) } @@ -476,7 +482,9 @@ func TestCheck_InterruptPrintsTheRemovalCommandBeforeTheTeardown(t *testing.T) { note := "note: interrupted; stopping the cluster-validator and removing its objects. A second Ctrl-C " + "exits at once and leaves them; remove them with:\n " + removalCommand("run1") + "\n" printedFirst := false - err, stderr := runCheckWith(t, time.Minute, func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + err, stderr := runCheckWith(t, time.Minute, func( + ctx context.Context, p selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { p.OnStart("run1") (<-quit)() <-ctx.Done() @@ -493,6 +501,56 @@ func TestCheck_InterruptPrintsTheRemovalCommandBeforeTheTeardown(t *testing.T) { assert.NotContains(t, stderr, keptNote(removalCommand("run1")), "the teardown removed everything") } +// terminalSink stands in for the --wait dashboard, which draws on the +// alternate screen: what is written to the terminal before it closes is lost. +type terminalSink struct { + progress.EventSink + out *syncBuffer + closed atomic.Bool +} + +func (s *terminalSink) OwnsTerminal() bool { return true } + +func (s *terminalSink) Close() error { + if !s.closed.Swap(true) { + _, _ = s.out.Write([]byte("\n")) + } + return s.EventSink.Close() +} + +// On an interrupt, a dashboard that owns the terminal is closed before the +// removal command is printed. Printed while it was open, the command went +// with the alternate screen, and a second Ctrl-C left nothing on screen. +func TestCheck_InterruptNoteIsPrintedAfterTheDashboardCloses(t *testing.T) { + prev := selectCheckRendererFn + t.Cleanup(func() { selectCheckRendererFn = prev }) + quit := make(chan func(), 1) + out := &syncBuffer{} + selectCheckRendererFn = func(w io.Writer, wait bool, onQuit func()) (progress.EventSink, error) { + quit <- onQuit + sink, err := prev(w, wait, onQuit) + return &terminalSink{EventSink: sink, out: out}, err + } + const note, closed = "note: interrupted; ", "" + err, stderr := runCheckWith(t, time.Minute, func( + ctx context.Context, p selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { + p.OnStart("run1") + (<-quit)() + <-ctx.Done() + require.Eventually(t, func() bool { return strings.Contains(out.String(), note) }, + 5*time.Second, 10*time.Millisecond) + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", Created: true} + }, out) + var exitErr *ExitCodeError + require.ErrorAs(t, err, &exitErr) + assert.Equal(t, 130, exitErr.Code) + require.Contains(t, stderr, closed) + assert.Less(t, strings.Index(stderr, closed), strings.Index(stderr, note), + "the note is printed on the restored screen") + assert.Equal(t, 1, strings.Count(stderr, closed)) +} + // A closed terminal or a dropped SSH session sends SIGHUP. It goes through // the same teardown as Ctrl-C, instead of killing the process with the run's // cluster-wide RBAC and NGC-key Secret in place. @@ -589,7 +647,9 @@ func TestCheck_InterruptAfterTheBudgetEmitsNoSyntheticRows(t *testing.T) { onQuit.Store(q) return prev(w, wait, q) } - err, stderr := runCheckWithBudget(t, 300*time.Millisecond, func(ctx context.Context) selfhosted.ClusterValidatorResult { + err, stderr := runCheckWithBudget(t, 300*time.Millisecond, func( + ctx context.Context, + ) selfhosted.ClusterValidatorResult { <-ctx.Done() onQuit.Load().(func())() return selfhosted.ClusterValidatorResult{Err: ctx.Err()} @@ -648,7 +708,9 @@ func TestSelectCheckRenderer_TTYCarriesOnQuit(t *testing.T) { }) checkWriterIsTTY = func(io.Writer) bool { return true } var got func() - selectProgressRenderer = func(w io.Writer, opts progress.RenderOpts) (progress.EventSink, progress.RendererKind, error) { + selectProgressRenderer = func( + w io.Writer, opts progress.RenderOpts, + ) (progress.EventSink, progress.RendererKind, error) { got = opts.OnQuit return progress.NewPlainRenderer(w), progress.RendererTTYFull, nil } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index d948aa8122..6d6e480b4e 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -40,22 +40,30 @@ import ( // probe image. func TestClusterValidatorJobEnv(t *testing.T) { resetCheckFlags(t) - for _, k := range []string{"NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", "NVCF_N2N_PROBE_IMAGE"} { + for _, k := range []string{ + "NVCF_OPENBAO_NAMESPACE", "NVCF_ENVOY_GATEWAY_NAMESPACE", "NVCF_GATEWAY_NAMES", "NVCF_N2N_PROBE_IMAGE", + "NVCF_STORAGE_CLASS", + } { t.Setenv(k, "") } checkPre = false - env := clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway"}) + env := clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway", StorageClass: "fast-ssd"}) assert.Equal(t, "true", env["VALIDATOR_POST_INSTALL"], "a post-install run must say so") assert.Equal(t, "gateway", env["NVCF_ENVOY_GATEWAY_NAMESPACE"], "the stack's controller namespace is forwarded") + assert.Equal(t, "fast-ssd", env["NVCF_STORAGE_CLASS"], "the stack's global.storageClass is forwarded") assert.NotContains(t, env, "NVCF_OPENBAO_NAMESPACE") + assert.NotContains(t, clusterValidatorJobEnv(selfhosted.StackValues{}), "NVCF_STORAGE_CLASS", + "without one the validator requires a default class") checkPre = true t.Setenv("NVCF_OPENBAO_NAMESPACE", "openbao") t.Setenv("NVCF_ENVOY_GATEWAY_NAMESPACE", "edge") t.Setenv("NVCF_GATEWAY_NAMES", "gateway/shared-gw") + t.Setenv("NVCF_STORAGE_CLASS", "standard") require.NoError(t, selfHostedCheckCmd.Flags().Set("cluster-validator-probe-image", "mirror.example/busybox:1.36")) - env = clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway"}) + env = clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway", StorageClass: "fast-ssd"}) + assert.Equal(t, "standard", env["NVCF_STORAGE_CLASS"], "an explicit setting beats the stack values") assert.NotContains(t, env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") assert.Equal(t, "openbao", env["NVCF_OPENBAO_NAMESPACE"]) assert.Equal(t, "edge", env["NVCF_ENVOY_GATEWAY_NAMESPACE"], "an explicit setting beats the stack values") diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 00aa185bb4..900a404cc8 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMTk4NTYsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjAxNjEsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,12 +71,12 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlMzlmMTg1NTg4MTM3M2Y3NjQw" + "MjQ5NjA5NDk0MWUzMGM4YjM2ZDA0NjIwMTg4NjVkZjEwZTBjYzViNGZjN2Y4IiwKICAgICAgInNp" + "emUiOiAzNzQzCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NTU1YzRhN2VmYmU0MTg4" + - "OTVkOGJhNjRjN2RjYjllMmQ2NzQwZDRiM2VmNDI2NGZiZDIyZTU5OTNhMTM4YWQwIiwKICAgICAg" + - "InNpemUiOiAyMDU3MQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjc5" + - "ZmFkNjRjNjM5YWIwNDEzNGFiMzE2OWYxZmM2YTQyMTAxNzk4YjgwNWUzYmI2YjlmZGRlN2NkOTcz" + - "NmE4MGMiLAogICAgICAic2l6ZSI6IDc3OTgKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MjQ2YTQ2NzZkYmEwZmU5" + + "OTVjZTEyYTQyYjE2MmEwOTc2YTQxOTA2MTYzN2M1MjRkMDkzMDUxNWIwNDQ0Y2NjIiwKICAgICAg" + + "InNpemUiOiAyMDcyNwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjEy" + + "ODk1MTYzNmI4Y2EzNmExOTU4ZjRiNGRiZjZjODcxZWE2NWI4NmExNzVjZmJmZGU5MzFjMDVhODdk" + + "ZmNlNWQiLAogICAgICAic2l6ZSI6IDc5NDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCDqTbERKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJV9xvRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1921,2132 +1921,2137 @@ const skillDataZipBase64 = "" + "RVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJh" + "b2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVl" + "YCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9F" + - "WFRFUk5BTF9DT01QT05FTlRTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BF" + - "TkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXIt" + - "dmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUg" + - "cmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMg" + - "c3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUg" + - "ZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUg" + - "YC0tZW52YAogIGRlZmF1bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGlu" + - "c3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQg" + - "b3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUg" + - "ZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5l" + - "LW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJl" + - "Y3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUg" + - "Y29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBn" + - "aXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGlu" + - "c3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1p" + - "biBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92" + - "ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFj" + - "ayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhl" + - "IHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBg" + - "dXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + - "fCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJl" + - "cXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRl" + - "ZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3Qt" + - "MWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdp" + - "dGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8" + - "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1F" + - "YCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVy" + - "cykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gt" + - "aW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50" + - "IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2Ag" + - "fCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNw" + - "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1u" + - "YW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURg" + - "IHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8" + - "IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20g" + - "Y29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQg" + - "b2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVj" + - "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9y" + - "IGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8" + - "IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFu" + - "LXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8" + - "IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdk" + - "YCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NP" + - "UEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8" + - "IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5l" + - "cmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVk" + - "IGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJz" + - "KSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZp" + - "YwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5j" + - "dGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUg" + - "fCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZl" + - "cmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0t" + - "aW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBg" + - "LS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUg" + - "fCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3Ig" + - "T0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9y" + - "IGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2" + - "aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQu" + - "IFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBO" + - "QU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwg" + - "LSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1l" + - "PTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJh" + - "dGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08" + - "dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAw" + - "LVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5s" + - "aW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0t" + - "ZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVl" + - "c3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBg" + - "LS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50" + - "IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5j" + - "dCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJ" + - "biBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6" + - "ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29u" + - "ZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBz" + - "dHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhz" + - "IGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2Vt" + - "YmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmlu" + - "YCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5k" + - "b21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1h" + - "LXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5p" + - "dD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0" + - "ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGlu" + - "Y3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAt" + - "TSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0" + - "IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1j" + - "aGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVs" + - "bUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdg" + - "IGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUg" + - "S3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVg" + - "LgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1v" + - "ZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBh" + - "bmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25z" + - "IGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9u" + - "LWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4K" + - "CiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9u" + - "IHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0" + - "ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVM" + - "aW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1t" + - "b2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3Ig" + - "Y29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBS" + - "SU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRp" + - "b24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlk" + - "ZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAg" + - "fCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAg" + - "dG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9y" + - "aXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRh" + - "dGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0" + - "aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRl" + - "LXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoK" + - "IyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVg" + - "IGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNl" + - "OgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rp" + - "b24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8" + - "IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBg" + - "TkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8" + - "IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0t" + - "bWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNl" + - "cnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJn" + - "ZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBg" + - "dGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVk" + - "IGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNr" + - "IG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwt" + - "X10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5w" + - "dXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwg" + - "SW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxl" + - "OiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdl" + - "IHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hh" + - "cnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4" + - "Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFz" + - "ayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFy" + - "ZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0t" + - "Y2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0" + - "YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdz" + - "IHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5n" + - "LiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5B" + - "TUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwg" + - "LSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJs" + - "ZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBE" + - "VVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhg" + - "KSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQg" + - "RFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2" + - "MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVS" + - "QVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2" + - "ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwg" + - "SG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxv" + - "Y2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1l" + - "L1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVn" + - "eT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0" + - "aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAg" + - "fCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUdd" + - "YCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAg" + - "fCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBM" + - "b2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlk" + - "IFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMt" + - "dGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQ" + - "SwcIo60ke1tQAABbUAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJv" + - "dWJsZXNob290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0" + - "aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0" + - "aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJl" + - "bG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGBy" + - "ZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBm" + - "aW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVk" + - "YC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRv" + - "ciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0t" + - "c2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBB" + - "VEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJv" + - "ciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0" + - "YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVz" + - "LmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBm" + - "b3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZp" + - "bGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0" + - "cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBu" + - "b3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5n" + - "IHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBu" + - "b3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2Yt" + - "Y2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVz" + - "dGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBs" + - "ZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUg" + - "dmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFD" + - "IGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNh" + - "dXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9u" + - "YCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBD" + - "UkRzOiBOb3QgSW5zdGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVs" + - "bSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5h" + - "bWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1" + - "c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBO" + - "b3QgRm91bmRgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQyB8IEFubm90YXRlIG9uZTogYGt1" + - "YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0" + - "b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwK" + - "fCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5v" + - "dCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxv" + - "Y2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMg" + - "bWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEu" + - "Y29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1n" + - "cHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQ" + - "VSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUt" + - "bmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0" + - "IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVz" + - "LCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFu" + - "IG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1h" + - "bmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNv" + - "bnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhl" + - "IGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3Jj" + - "ZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwK" + - "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxh" + - "Z2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1" + - "bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9s" + - "bHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0" + - "ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0" + - "aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3Rh" + - "bGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRp" + - "bmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBu" + - "byBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVs" + - "ZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBo" + - "ZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVs" + - "ZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMg" + - "bm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9h" + - "ZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMg" + - "dGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0t" + - "dmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQg" + - "LW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVw" + - "c3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxl" + - "YXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBh" + - "IGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVS" + - "PXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmly" + - "b25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBg" + - "SEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0" + - "aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUt" + - "bmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1lc3BhY2UgfCBO" + - "YW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9ubHkgd2hl" + - "biB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Agb3IgYC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNvbWUgZnJvbSBp" + - "dHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklM" + - "RV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3RoZXJ3aXNlIGZy" + - "b20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBncm92" + - "ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQb2ludCB0aGUg" + - "c3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFzcyB0aGUgc2Ft" + - "ZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + - "LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5v" + - "IGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xp" + - "IGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAg" + - "KENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVk" + - "LCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20g" + - "YSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBg" + - "bnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRp" + - "ZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2Vf" + - "ZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlv" + - "bj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9t" + - "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQg" + - "d2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sg" + - "YFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwg" + - "Z2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BV" + - "LkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdw" + - "dWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImlu" + - "c3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3Zp" + - "ZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJl" + - "Z2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9u" + - "PXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5D" + - "QV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFw" + - "cGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBu" + - "b3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBh" + - "ZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3Ig" + - "YG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVs" + - "dGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4u" + - "L252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVu" + - "dGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBO" + - "VkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9j" + - "bHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJ" + - "Q01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNs" + - "dXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBs" + - "b2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBp" + - "cyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXIt" + - "aWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFj" + - "a2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8" + - "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUg" + - "cHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2Ag" + - "Zm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0" + - "LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5h" + - "dHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2Vy" + - "dmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + - "fC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3Ry" + - "eSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3Jl" + - "ZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBk" + - "YXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFk" + - "eSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBj" + - "YWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2Yu" + - "Y2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUg" + - "Y2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0" + - "IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVw" + - "bG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIPNet1HYeAAB2HgAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxm" + - "LWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tz" + - "LiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxv" + - "d3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3Vi" + - "bGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRy" + - "b2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9m" + - "aWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMu" + - "IERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBr" + - "M2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21w" + - "YXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMu" + - "MTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1" + - "dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4i" + - "CnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNl" + - "bGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5z" + - "dGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQs" + - "IEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjog" + - "Im52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVy" + - "c2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1o" + - "b3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxs" + - "YXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1s" + - "XQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3Vk" + - "LWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25z" + - "CgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBj" + - "b21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlz" + - "IHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5n" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + - "IGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBz" + - "ZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVu" + - "YWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1l" + - "bmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28g" + - "cmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBw" + - "YXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1m" + - "aWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5l" + - "LXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + - "CmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + - "az4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + - "CmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBi" + - "dW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBk" + - "b3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpu" + - "Z2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBh" + - "c3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMg" + - "YW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVm" + - "b3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVy" + - "YXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4y" + - "LjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBi" + - "ZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+" + - "PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlu" + - "b3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJv" + - "bSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNo" + - "CmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJv" + - "bm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52" + - "aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5h" + - "bWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRv" + - "LUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3At" + - "ZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2" + - "YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1p" + - "c3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0" + - "cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlv" + - "dXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+" + - "IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2" + - "YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tz" + - "ICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1w" + - "bGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdl" + - "IHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNl" + - "dHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdp" + - "bGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBw" + - "cm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBo" + - "ZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hh" + - "cnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0" + - "YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRz" + - "IChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5k" + - "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1" + - "bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQg" + - "TkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + - "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + - "bwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + - "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + - "dG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFt" + - "ZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + - "bHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNv" + - "bmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1h" + - "Z2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNh" + - "dGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBg" + - "aGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMg" + - "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50" + - "aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5H" + - "QyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAn" + - "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5p" + - "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1s" + - "b2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lv" + - "bj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBz" + - "IG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBz" + - "dGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZl" + - "cmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5p" + - "b2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIg" + - "bG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJz" + - "dCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRp" + - "bmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwg" + - "aXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBt" + - "b3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3Jy" + - "ZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5h" + - "bWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2Nh" + - "dGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBl" + - "dmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50" + - "aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBj" + - "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUg" + - "TlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJv" + - "bSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSBy" + - "ZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1" + - "bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAg" + - "dGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1p" + - "cnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6" + - "CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAg" + - "IyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1" + - "Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAg" + - "ICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9y" + - "LXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5k" + - "IG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+" + - "IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkg" + - "T0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUg" + - "cHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQog" + - "ICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3Qg" + - "YmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9y" + - "ZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNv" + - "bnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAv" + - "YGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3og" + - "b2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRz" + - "IGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUg" + - "Y3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + - "IHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + - "dGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNl" + - "Y3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2Ag" + - "ZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhl" + - "IHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUg" + - "YGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIu" + - "CgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMg" + - "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhl" + - "IGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9p" + - "bnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBp" + - "dCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgoj" + - "IyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0" + - "bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5v" + - "dCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBl" + - "eGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3Rs" + - "IGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNv" + - "bnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9B" + - "RERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBw" + - "cm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxh" + - "bmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2Vz" + - "IG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1" + - "c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNm" + - "LnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFw" + - "aS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFu" + - "ZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVu" + - "ZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBk" + - "YXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4g" + - "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95Cgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2" + - "aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBz" + - "eW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGlu" + - "IHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRf" + - "Q0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25k" + - "IGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZh" + - "dWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFf" + - "UEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkg" + - "REItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9u" + - "Y2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xl" + - "UGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09S" + - "RGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIg" + - "d2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQg" + - "dGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwg" + - "YHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8" + - "IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVT" + - "UywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExN" + - "IGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRo" + - "ZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBg" + - "cmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVu" + - "YWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRl" + - "d2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5k" + - "IGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFw" + - "cGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJv" + - "dXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + - "IHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdl" + - "IGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlH" + - "YXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2Vy" + - "CnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+" + - "LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + - "dmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6" + - "ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5k" + - "ZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0" + - "b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91" + - "dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQg" + - "Y3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2Fn" + - "ZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBs" + - "eSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFk" + - "ZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxz" + - "dmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVj" + - "dGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0" + - "eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90" + - "IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2Nh" + - "dGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBw" + - "cm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBV" + - "SSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRt" + - "aW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5" + - "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91" + - "ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + - "bGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBO" + - "VkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBl" + - "eHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3Bh" + - "Y2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywK" + - "c2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDgu" + - "IEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBs" + - "YW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRl" + - "ciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2Zm" + - "OgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZp" + - "bGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBN" + - "YWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5" + - "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBD" + - "TEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRv" + - "ZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5n" + - "LCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xl" + - "YW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2Vz" + - "IG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiBy" + - "ZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkt" + - "a2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwg" + - "YGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBg" + - "bnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5h" + - "Z2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBU" + - "aGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQt" + - "bWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFt" + - "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBF" + - "eHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + - "YDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2Vk" + - "LiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUg" + - "Y2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIg" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxh" + - "biBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdl" + - "dHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4g" + - "ZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBE" + - "ZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAg" + - "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBg" + - "YAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhj" + - "YXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1" + - "cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJv" + - "bm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBn" + - "bG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVz" + - "IGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5k" + - "LyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxl" + - "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + - "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + - "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + - "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + - "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + - "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + - "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + - "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290" + - "Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwg" + - "c3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3Qu" + - "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRz" + - "IGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + - "bGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRz" + - "CgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZs" + - "YXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFp" + - "bCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8" + - "IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVk" + - "cyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBv" + - "c2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0" + - "aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1" + - "bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2Qg" + - "fAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0" + - "ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50" + - "LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVj" + - "YXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFu" + - "ZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + - "KWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIg" + - "c2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRl" + - "IHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVE" + - "RU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+" + - "IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRo" + - "YCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBp" + - "dCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNv" + - "IHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4g" + - "YHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBu" + - "b3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290" + - "c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJl" + - "IGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lk" + - "ZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQg" + - "Y3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGlu" + - "c2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXks" + - "IGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBh" + - "aXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5j" + - "Ogo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtF" + - "WSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBp" + - "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBO" + - "VklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFw" + - "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0" + - "YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIg" + - "Y3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdD" + - "IChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZv" + - "cm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5l" + - "ZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChm" + - "dW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZy" + - "ZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEg" + - "c2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNh" + - "bGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJp" + - "bmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRt" + - "aXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2Ag" + - "aW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZv" + - "ciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1v" + - "ZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJl" + - "cG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJl" + - "cG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5v" + - "IC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1l" + - "c3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + - "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + - "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVy" + - "UG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + - "bWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBh" + - "ZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdp" + - "dGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1v" + - "IGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5h" + - "bWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1p" + - "biBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9y" + - "IHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQs" + - "IHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + - "Lm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2Rz" + - "CmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + - "bCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxh" + - "c3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0" + - "dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0t" + - "fAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Ig" + - "d3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1h" + - "Z2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVs" + - "dC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0" + - "aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3Mg" + - "YGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZh" + - "bGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJl" + - "ZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tT" + - "IC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zlcnku" + - "ZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIg" + - "fCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAs" + - "IGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFv" + - "LXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3Nh" + - "bmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEu" + - "cmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gt" + - "bG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMg" + - "ZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNl" + - "cnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNh" + - "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRv" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0" + - "aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3Ig" + - "bWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNo" + - "ZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRl" + - "IHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUg" + - "cmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQg" + - "fCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVj" + - "dGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0" + - "aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUg" + - "YWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAg" + - "cmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVz" + - "IGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50" + - "KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0" + - "aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1y" + - "YW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNv" + - "bmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9g" + - "IGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRo" + - "IHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcg" + - "YC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9O" + - "UzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24g" + - "ZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRh" + - "Z3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lP" + - "TmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5W" + - "Q0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3Vu" + - "dCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBw" + - "b3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1h" + - "Y2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFs" + - "bCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0" + - "aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMg" + - "KHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFj" + - "Y291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBj" + - "YWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGlu" + - "ZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0" + - "ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVk" + - "fScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4g" + - "aXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2Fp" + - "biAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRl" + - "ZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVs" + - "ZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1m" + - "b3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5j" + - "Cmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMg" + - "Y29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3Vy" + - "Y2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQ" + - "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + - "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3Jr" + - "Zmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0" + - "aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUu" + - "bWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVi" + - "dWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0" + - "aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3Jl" + - "YXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMU" + - "k0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQi" + - "OiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0" + - "aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJl" + - "YWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9u" + - "czogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBo" + - "ZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBt" + - "aW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50" + - "aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEu" + - "Mi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJh" + - "biAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMu" + - "MTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicg" + - "dG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9u" + - "IGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVm" + - "b3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5j" + - "IGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9z" + + "WFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xh" + + "c3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0" + + "cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NM" + + "QVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0Vg" + + "IHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + + "LWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92" + + "ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9u" + + "bHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMg" + + "bmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1" + + "bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1s" + + "YC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9t" + + "IHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxz" + + "ZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBk" + + "aXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVy" + + "IGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZp" + + "bGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0" + + "cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQgbm8g" + + "c3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBk" + + "aXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6" + + "IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBu" + + "dmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5h" + + "bWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8" + + "IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1y" + + "ZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4t" + + "b25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8" + + "IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9u" + + "ZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNo" + + "YCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8" + + "IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVy" + + "IGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBw" + + "YW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1" + + "c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1" + + "aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwK" + + "fCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1p" + + "Z25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlz" + + "dHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNr" + + "YCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVy" + + "YXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVs" + + "IGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4g" + + "RFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBl" + + "eHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBP" + + "dmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1" + + "bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVk" + + "aWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRz" + + "OiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwg" + + "YHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + + "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9u" + + "cy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFn" + + "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAg" + + "fCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQg" + + "UE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBl" + + "IERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8" + + "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4g" + + "Q2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2Vk" + + "IExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3Vi" + + "ZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4g" + + "YC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + + "YCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1v" + + "ZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08" + + "dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+" + + "YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNg" + + "LCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQg" + + "SlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBj" + + "b21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + + "eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExv" + + "d2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291" + + "bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJy" + + "aWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJp" + + "ZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxp" + + "bmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9k" + + "ZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZp" + + "Zy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhw" + + "b3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQv" + + "Y29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxt" + + "Q29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3" + + "b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmln" + + "LnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3Np" + + "dGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3Vw" + + "cG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJz" + + "KSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBj" + + "b21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAw" + + "MDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBp" + + "bmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExN" + + "IGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1D" + + "aGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNy" + + "ZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2" + + "aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRp" + + "b24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRo" + + "ZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5h" + + "bWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMg" + + "QVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lv" + + "biBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1" + + "cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + + "LXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBg" + + "LS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1l" + + "PTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsg" + + "cmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxp" + + "bWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4g" + + "bGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxh" + + "Y2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRl" + + "ZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0t" + + "bGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBw" + + "cmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3Qg" + + "TkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4g" + + "SlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMg" + + "d2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxs" + + "bUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0" + + "YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRl" + + "cGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVk" + + "IChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVu" + + "Y3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBg" + + "SDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4" + + "YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4" + + "LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29u" + + "Y3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFw" + + "cGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29t" + + "cHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNw" + + "ZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + + "IHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5v" + + "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVk" + + "KSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdw" + + "dSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + + "bXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAo" + + "cmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAw" + + "XzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhj" + + "bHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVs" + + "bSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + + "LWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBD" + + "TEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJh" + + "Y2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + + "TkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNl" + + "cGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxh" + + "dW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEw" + + "IC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29u" + + "dGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0" + + "cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsg" + + "ZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXgg" + + "d2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7" + + "IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4" + + "IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + + "ZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2Ug" + + "cGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQx" + + "SGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0" + + "YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9O" + + "YCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1v" + + "ZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8" + + "CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFi" + + "bGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRp" + + "ZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8" + + "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0" + + "aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBl" + + "bmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmlj" + + "cyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVV" + + "SURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcI4vSHsvdQAAD3UAAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpL" + + "bm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24u" + + "IEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChS" + + "RVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAg" + + "dG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJy" + + "YXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNo" + + "ZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20g" + + "aXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRo" + + "ZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmlu" + + "dHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3In" + + "cyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7" + + "IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8" + + "IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3Mv" + + "dG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8" + + "IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9u" + + "IHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2Rv" + + "Y3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVy" + + "X3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9y" + + "IGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwg" + + "U2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5W" + + "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1p" + + "bWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1" + + "c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxk" + + "IG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2Ug" + + "cHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdl" + + "IG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRzOiBOb3QgSW5zdGFs" + + "bGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9j" + + "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1n" + + "YXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Ig" + + "cmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3QgRm91bmRgIHwgQ2x1" + + "c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5vdCBuYW1lIG9uZSB8" + + "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + + "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + + "c3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgIGluIHRoZSBzdGFj" + + "aydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1NgKSB0byB0aGUgY2xh" + + "c3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJl" + + "czogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxhbmUpIHwgTm8gbm9k" + + "ZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVzLCBvciB0aGUgTlZJ" + + "RElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwgSW5zdGFsbCBwZXIg" + + "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJh" + + "dG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9w" + + "ZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVkYCBhbG9uZSBpcyBh" + + "IHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNrIFRlcm1pbmF0aW5n" + + "OiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBkZWxldGlu" + + "ZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9ydCBhIGRlbGV0aW9u" + + "IGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBob2xkcyBhIGZpbmFs" + + "aXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjogcmVhZCBga3ViZWN0" + + "bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9uc30nYCwgbGlzdCB3" + + "aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQsIGFuZCByZXNvbHZl" + + "IHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmluYWxpemVycyBvbmx5" + + "IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKFRlcm1pbmF0" + + "aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFsIGRlbGV0aW9uIGlz" + + "IHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0IGFuZCByZXJ1biBg" + + "Y2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBgc3R1Y2sgVGVybWlu" + + "YXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoSGVs" + + "bSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilgLCB3YXJuaW5nIHwg" + + "QW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3IgdGVhcmRvd24gbGVm" + + "dCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4gVGhlIG5leHQgYHVw" + + "YCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMgcnVubmluZywgcmVh" + + "ZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5pc2ggaXQgd2l0aCBg" + + "aGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "OiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFtZXNwYWNlIHJ1bnMg" + + "bm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGlsbCBob2xkcyB2b2x1" + + "bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2ZXMgdGhlbS4gQSBy" + + "ZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0IG9ubHk6IGBrdWJl" + + "Y3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAtbyBuYW1lIFx8IHhh" + + "cmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdub3JlLW5vdC1mb3Vu" + + "ZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVkIGNvbXBvbmVudCBh" + + "bHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCByZXBvcnRzIGBu" + + "byBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBzdG9yZXMgcmVsZWFz" + + "ZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMgYEhFTE1fRFJJVkVS" + + "YCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhlIGhlbG1maWxlIGVu" + + "dmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5hbWVzcGFjZXMgYXJl" + + "IGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2FuIGFuIGFkZG9uIG9y" + + "IGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpg" + + "IGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gV2l0aCBgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrYCBvciBgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBzZXQgdG8gYSBsb2NhbCBzdGFj" + + "aywgZ2F0ZXMgY29tZSBmcm9tIGl0cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5kLCB3aGVu" + + "IGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAgbmFtZXMgb25lLCBgZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWxgOyBvdGhlcndpc2UgZnJvbSB0aGUgc3RhY2sgZGVmYXVsdHMsIHdoaWNoIGxlYXZlIGBr" + + "YWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2Yt" + + "dWlgIG9mZiB8IFBvaW50IHRoZSBzdGFjayBmbGFnIGF0IHRoZSBzdGFjayB5b3UgaW5zdGFsbCBm" + + "cm9tIGFuZCBwYXNzIHRoZSBzYW1lIGAtLWVudmAgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1" + + "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRg" + + "IChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5v" + + "dCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldU" + + "IC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhl" + + "ciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFs" + + "ZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52" + + "Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5n" + + "IHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBk" + + "b2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBn" + + "ZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3Rh" + + "bGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0" + + "YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNs" + + "YXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBg" + + "SW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8" + + "IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBg" + + "ImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBg" + + "cmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNv" + + "bXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVt" + + "cHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkg" + + "fAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVy" + + "aW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBg" + + "NmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNm" + + "LWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IElt" + + "YWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBj" + + "bHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFn" + + "ZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoK" + + "IyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + + "IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQ" + + "IDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0Lzxj" + + "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3Rl" + + "ciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZy" + + "ZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0" + + "ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0" + + "IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0" + + "ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxC" + + "YWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZp" + + "ZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2Vu" + + "ZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxv" + + "eSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNv" + + "bGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8" + + "IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + + "YXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2Ug" + + "fCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1p" + + "c3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMg" + + "dXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3Ry" + + "eS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlh" + + "bCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3Bh" + + "Z2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRp" + + "YWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBt" + + "aW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hl" + + "cyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNm" + + "IHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVs" + + "eSB8ClBLBwizPj1mCx8AAAsfAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBh" + + "bmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNv" + + "bXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9m" + + "aWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVs" + + "bCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQog" + + "IGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQg" + + "Y29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxm" + + "LWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1l" + + "bnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNl" + + "bnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4w" + + "IDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGlu" + + "ZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0Bl" + + "eGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1t" + + "YW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxh" + + "bmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10K" + + "dG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJu" + + "YWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5n" + + "ZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFn" + + "ZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwg" + + "Y2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxh" + + "bmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJl" + + "Y3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5h" + + "Z2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNG" + + "IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIElu" + + "c3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJk" + + "b3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2Yt" + + "Y29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENM" + + "SSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBy" + + "ZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + + "cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZv" + + "ciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0" + + "IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJv" + + "bC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25t" + + "ZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNr" + + "Pi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQv" + + "IDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNr" + + "Pi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3Npbmcs" + + "IGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdj" + + "IHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9u" + + "IDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBs" + + "YW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4g" + + "U3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29u" + + "dGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAg" + + "IyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJz" + + "aW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0" + + "IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQg" + + "bXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBs" + + "YW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawps" + + "cyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApg" + + "YGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+Lnlh" + + "bWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBj" + + "YW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBG" + + "bG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29t" + + "bW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlh" + + "bWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9i" + + "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXIt" + + "Y2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlh" + + "bWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBp" + + "bmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2Fs" + + "OiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMg" + + "dG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2Us" + + "IHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhl" + + "IGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFt" + + "bC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBj" + + "aGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUg" + + "W092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFs" + + "dWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFu" + + "ZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJh" + + "c2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFt" + + "ZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + + "LQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwg" + + "TkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + + "c3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + + "QVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3Jl" + + "dHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZl" + + "cmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMp" + + "LgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGgg" + + "YGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9y" + + "IE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMs" + + "IHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFy" + + "YXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tl" + + "ciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSBy" + + "ZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIK" + + "CiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAog" + + "IGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNj" + + "b3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSBy" + + "ZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGkt" + + "b3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mg" + + "b3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIg" + + "dGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + + "ci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5" + + "IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4g" + + "ZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRo" + + "ZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwg" + + "Y2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhl" + + "IGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGws" + + "IG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBl" + + "ciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9y" + + "ZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJy" + + "b3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBm" + + "cm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5" + + "CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUg" + + "Y2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNy" + + "ZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlk" + + "ZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBz" + + "dGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50" + + "IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6Cgog" + + "ICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1y" + + "ZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJl" + + "cG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRo" + + "ZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAg" + + "IHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3Qg" + + "aGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9D" + + "SSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5p" + + "by8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4g" + + "Y2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9z" + + "aXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJl" + + "IG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AK" + + "ICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFj" + + "ayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBP" + + "Q0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhl" + + "bG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0" + + "aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291" + + "cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVz" + + "dGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBu" + + "b2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRz" + + "IG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFt" + + "ZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1l" + + "c3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0" + + "c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBu" + + "dmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2Yt" + + "YXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5j" + + "dGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0" + + "IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0" + + "aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJy" + + "b3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5k" + + "b21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48" + + "ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBi" + + "YWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVX" + + "QVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3" + + "YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScp" + + "CnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9z" + + "dG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0" + + "ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2Vs" + + "Zi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRl" + + "c3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBg" + + "Z2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1Ng" + + "LCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91" + + "ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZ" + + "X0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRv" + + "bWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlv" + + "bi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQ" + + "cmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + + "bGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENh" + + "c3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBk" + + "b2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRy" + + "YSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xl" + + "UGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhh" + + "dCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGgg" + + "YEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBj" + + "YXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFV" + + "TFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZp" + + "bGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3Rv" + + "ciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0t" + + "fC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywg" + + "T3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFw" + + "aS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRl" + + "d2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwg" + + "NS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVz" + + "IHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2" + + "YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBh" + + "cmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2" + + "LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlz" + + "YWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpo" + + "b3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBB" + + "UEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBw" + + "YWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0" + + "cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAK" + + "cmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21t" + + "YW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJ" + + "ZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52" + + "aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRl" + + "d2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVm" + + "YXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpg" + + "dmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBh" + + "bmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZp" + + "Z2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxk" + + "b21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRo" + + "ZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBj" + + "b25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVh" + + "c2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRl" + + "d2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJv" + + "dXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gK" + + "a3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9" + + "dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkK" + + "Y3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBB" + + "UEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmlj" + + "LiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoK" + + "IyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWws" + + "IGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVs" + + "dCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBO" + + "VkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNv" + + "bnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lw" + + "IHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0" + + "aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9y" + + "IGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQg" + + "dmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11" + + "aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBz" + + "dGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBs" + + "YW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBj" + + "b21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2Vw" + + "YXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRo" + + "IHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUg" + + "cHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhl" + + "biBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRv" + + "IG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBj" + + "b21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVh" + + "cmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBs" + + "YW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUg" + + "c2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBP" + + "bmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZp" + + "bGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJg" + + "LCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2" + + "aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFs" + + "IGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBg" + + "aW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFn" + + "ZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkg" + + "YWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFu" + + "dXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + + "IHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxl" + + "YXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBv" + + "ciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJv" + + "eSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRl" + + "cm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1t" + + "YW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVg" + + "LCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBv" + + "biBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2Ug" + + "YnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3Bh" + + "Y2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3Rh" + + "bmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + + "ZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVp" + + "IHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25v" + + "cmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNz" + + "fHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFy" + + "dCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Ig" + + "a2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5k" + + "cmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCku" + + "CgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJl" + + "bGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBi" + + "bG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRv" + + "IHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBg" + + "YHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fz" + + "c2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVu" + + "ZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJp" + + "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + + "bAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgog" + + "ICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAg" + + "cmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1p" + + "CmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5k" + + "ZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVt" + + "cGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290" + + "bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmds" + + "ZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgoj" + + "IyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFs" + + "IHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJl" + + "bG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZv" + + "cm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9v" + + "dHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18" + + "LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwg" + + "bnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBj" + + "cmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGlu" + + "dG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2Vj" + + "cmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNl" + + "Y3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFH" + + "RV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2Vydmlj" + + "ZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0" + + "YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVp" + + "bGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0" + + "KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBj" + + "cmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4g" + + "VGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lU" + + "SF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEg" + + "ZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBh" + + "cyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUg" + + "dmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2Vy" + + "Y29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0" + + "b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3Bl" + + "bnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4g" + + "LSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJu" + + "cwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9y" + + "bWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1" + + "bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVz" + + "cyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9y" + + "IHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5n" + + "IGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdp" + + "dGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAn" + + "JG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBw" + + "dXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0" + + "PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQg" + + "Zm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAg" + + "a3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tz" + + "IHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3" + + "aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGlt" + + "YWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBu" + + "dmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291" + + "bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0" + + "IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmlu" + + "ZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50" + + "aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwg" + + "cGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEg" + + "S3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0" + + "IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhp" + + "cyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3Vy" + + "YXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5z" + + "dGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHVi" + + "LmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJu" + + "by9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxs" + + "IHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4i" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + + "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5" + + "IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdl" + + "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2Qg" + + "YXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNy" + + "LWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1l" + + "c3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScK" + + "IyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlm" + + "IHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJ" + + "QU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2Vj" + + "cmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVm" + + "ZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVz" + + "IGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAg" + + "ICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1u" + + "IDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMj" + + "IyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0t" + + "LS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhv" + + "cml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlz" + + "dHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9u" + + "IHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBP" + + "cGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVs" + + "dC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3du" + + "IGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJh" + + "byBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhl" + + "IGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRp" + + "b25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkg" + + "T0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + + "dmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9u" + + "c2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + + "ZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8Cnwg" + + "YE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwg" + + "T3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJh" + + "Y2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8g" + + "Q2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNT" + + "V09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8g" + + "YGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBz" + + "ZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiBy" + + "ZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBw" + + "b2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVj" + + "dGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVh" + + "c2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhl" + + "bG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3Vu" + + "dCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRz" + + "IGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + + "cCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25v" + + "d24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBu" + + "ZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWly" + + "ZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBo" + + "b29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhl" + + "IGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhl" + + "LWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBz" + + "ZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0" + + "byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29s" + + "dmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFu" + + "ZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBz" + + "ZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMg" + + "fAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21h" + + "dGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVz" + + "IHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdT" + + "X1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8Cgoj" + + "IyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQg" + + "aXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFz" + + "ZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNl" + + "IGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVs" + + "IGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBp" + + "dCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhv" + + "b2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVu" + + "dCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNs" + + "aWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2Rz" + + "LgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBn" + + "ZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRo" + + "PSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFi" + + "c2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNv" + + "IHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBs" + + "aW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToK" + + "CmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290" + + "c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFj" + + "Y291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoK" + + "IyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4" + + "YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + + "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxp" + + "dCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2Vz" + + "L2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1z" + + "ZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0" + + "ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBj" + + "cmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9r" + + "ZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQF" + + "AAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJx" + + "dWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1Mg" + + "RUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJh" + + "dGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCBy" + + "ZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4w" + + "KSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0" + + "bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQg" + + "dG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVk" + + "IGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+" + + "PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJp" + + "ZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJh" + + "biAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0" + + "aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5" + + "bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1" + + "c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVj" + + "a3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAg" + + "Y2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcg" + + "cmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxh" + + "aW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRs" + + "eSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxh" + + "dGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5p" + + "ZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4g" + + "J2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAi" + + "VGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZl" + + "biB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5" + + "cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJl" + + "IHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBj" + + "YXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCBy" + + "ZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4g" + + "Y2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5h" + + "bWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Et" + + "b3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciBy" + + "ZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29t" + + "cHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1v" + + "dmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxh" + + "Y2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNl" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNl" + + "cyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBj" + + "bHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5" + + "IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMi" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAog" + + "ICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFy" + + "YXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21w" + + "dXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9z" + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0" + - "aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBi" + - "ZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + - "IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRo" + - "b3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + - "d2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lw" + - "IGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIs" + - "CiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGlu" + - "ZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBp" + - "ZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMg" + - "b24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZy" + - "b20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZp" + - "bmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRh" + - "cmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tl" + - "bmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBm" + - "b3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0" + - "byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMi" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5h" + - "bWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + - "IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52" + - "Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRp" + - "b24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + - "YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFu" + - "ZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25m" + - "aWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQg" + - "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxl" + - "IGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxh" + - "bmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGgg" + - "VVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBs" + - "YW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJn" + - "ZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhl" + - "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBh" + - "bmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURD" + - "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "YXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3Jl" + - "IHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3Vy" + - "bCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9z" + - "dCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9S" + - "RUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19V" + - "UkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhl" + - "IEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBh" + - "bmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUg" + - "Y29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFu" + - "ZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNv" + - "bW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0" + - "aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmls" + - "ZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9j" + - "a2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWlu" + - "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + - "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5z" + - "dWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlv" + - "JyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9h" + - "dXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBh" + - "Z2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVz" + - "ZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21t" + - "YW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAi" + - "cXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJl" + - "Y3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5" + - "IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0" + - "cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0" + - "b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBo" + - "ZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + - "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4g" + - "YnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5v" + - "dCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhl" + - "IHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1" + - "bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAog" + - "ICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Yg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQg" + - "bmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxl" + - "dGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xz" + - "IGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBp" + - "bmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2" + - "aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhh" + - "c2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVy" + - "ZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdp" + - "dGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxt" + - "LWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0" + - "cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBu" + - "YW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMs" + - "IGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29t" + - "cHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5W" + - "PXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5j" + - "JyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBs" + - "YW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0" + - "eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wg" + - "cGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhl" + - "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRl" + - "ZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQg" + - "Y29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVz" + - "dGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVu" + - "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2" + - "ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQg" + + "ZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1w" + + "bGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRl" + + "d2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0" + + "YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBy" + + "ZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJl" + + "Y29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRo" + + "ZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0" + + "aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUg" + + "Y29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0" + + "ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZv" + + "a2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFw" + + "aV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhl" + + "IGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFN" + + "RSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9" + + "Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklM" + + "RV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGlj" + + "bXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0" + + "IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpX" + + "S1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJl" + + "cXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBt" + + "aXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzct" + + "Ym90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8g" + + "TkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9y" + + "IG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVs" + + "bWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tl" + + "ciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "ZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19B" + + "UElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFz" + + "c3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVk" + + "IGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFy" + + "dHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdv" + + "IGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1p" + + "c3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZD" + + "RiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRz" + - "IGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29t" + - "cGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29u" + - "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + - "IGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3Ry" + - "YXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBj" + - "b25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFs" + - "dWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJU" + - "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJU" + - "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1j" + - "bHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAg" + - "ICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAg" + - "ICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQs" + - "IGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVk" + - "IHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZp" + - "bGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVy" + - "cmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9k" + - "cyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2ku" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdp" + - "dGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNl" + - "IHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBz" + - "ZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJn" + - "ZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUg" + - "cmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1v" + - "cnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1w" + - "bCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3Zl" + - "cnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVy" + - "Z2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + - "dWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdl" + - "IHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3lu" + - "YyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNp" + - "ZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAt" + - "LSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + + "IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBl" + + "bnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxl" + + "cyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRy" + + "YWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQg" + + "bm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxl" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0" + + "dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdv" + + "dG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2Vu" + + "dCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUg" + + "YWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNs" + + "ZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3Rh" + + "bGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVz" + + "dGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZp" + + "cnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJv" + + "bC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQg" + + "dGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZv" + + "dXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQg" + + "aGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFz" + + "IGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFs" + + "dWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAo" + + "aGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZl" + + "cmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3Jl" + + "YXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lz" + + "dGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2Vy" + + "KSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmll" + + "dyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1z" + + "dGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + + "bmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBp" + + "bmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAg" + + "ICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVy" + + "ZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBl" + + "eGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + + "bWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUt" + + "d29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNv" + + "bnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21w" + + "dXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBl" + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95" + - "IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMg" + - "aW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAn" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBk" + - "ZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMg" + - "aW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwg" + - "dmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJl" + - "ZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjog" + - "IkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9y" + - "aXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyBy" + - "ZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290" + - "IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVj" + - "a2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQu" + - "IEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlh" + - "bHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0" + - "IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNl" + - "cy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBw" + - "b2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50" + - "IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3Bh" + - "Y2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9k" + - "IHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmll" + - "ZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJx" + - "dWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFj" + - "aCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVk" + - "aW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRo" + - "ZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdh" + - "dGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3" + - "b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxl" + - "ZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJh" + - "byBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVS" + - "TCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1w" + - "bGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlk" + - "ZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBv" + - "biB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0" + - "byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFw" + - "aS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8g" + - "bmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdy" + - "cGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3Jw" + - "Y1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQg" + - "c2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9j" + - "YWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jl" + - "c3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3" + - "b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0" + - "cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + - "dmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJh" + - "cmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNz" + - "IGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGlj" + - "bXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNl" + - "VVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9z" + - "dE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFj" + - "ZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBz" + - "ZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0" + - "aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15" + - "IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHku" + - "IFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29u" + - "ZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVz" + - "dHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBr" + - "dWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUg" + - "Y29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2Ug" + - "cHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVk" + - "IGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5z" + - "dGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxl" + - "YXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9y" + - "dGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRo" + - "ZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1l" + - "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cg" + - "cmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxs" + - "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + - "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + - "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lz" + - "dGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1" + - "bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0" + + "YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + + "LiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywg" + + "ZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5l" + + "IHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVj" + + "ZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNo" + + "IHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmll" + + "ZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + + "bWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmln" + + "LCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFu" + + "ZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJv" + + "bC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9u" + + "LCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNv" + + "bmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52" + + "LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFs" + + "dWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBk" + + "aWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0" + + "aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1l" + + "bW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0" + + "dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0" + + "aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9i" + + "YWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVk" + + "IGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9y" + + "ZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAn" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhl" + + "IGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291" + + "cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVk" + + "ZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxv" + + "Y2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5l" + + "ZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNl" + + "cyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQg" + + "cHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZv" + + "cmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVj" + + "dGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhl" + + "IE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9y" + + "IHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmls" + + "ZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAs" + + "IHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVw" + + "ZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVt" + + "LCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92" + + "aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBn" + + "cm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29m" + + "ZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tP" + + "ZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMg" + + "dG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZv" + + "ciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMg" + + "YW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2Vj" + + "cmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQg" + + "cHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1" + + "bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAg" + + "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNp" + + "ZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmct" + + "YW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29t" + + "cHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBF" + + "bnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNl" + + "Y3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29u" + + "dHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwg" + + "c2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxv" + + "Y2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRT" + + "LCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhl" + + "IGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0" + + "LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBV" + + "UkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxs" + + "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25s" + + "eSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQg" + + "b3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBN" + - "YWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAg" + - "ICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxl" + - "dGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0" + - "aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250" + - "cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVz" + - "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZm" + - "ZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxs" + - "YXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93" + - "bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + - "dmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1t" + - "YW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAi" + - "VGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRo" + - "IGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxv" + - "dyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwg" + - "dGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxv" + - "dyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVn" + - "aXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3Qg" + - "cXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSBy" + - "ZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNs" + - "dXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxv" + - "dyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBj" + - "b250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93" + - "biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNv" + - "bXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5v" + - "IHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1" + - "ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVu" + - "dmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhl" + - "bG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYg" + - "WUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRp" + - "ZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + - "IGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNl" + - "IHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAt" + - "PiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2Vz" + - "IHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0" + - "b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + - "bmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBp" + - "bmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBv" + - "ZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0" + - "aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0" + - "byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBz" + - "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJh" + - "dGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJs" + - "ZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFu" + - "ZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1" + - "c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBz" + - "ZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + - "IGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50" + - "ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQg" + - "Zm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5j" + - "bHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + - "cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0" + - "IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVm" + - "cmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJp" + - "bmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2" + - "ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNh" + - "ci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRk" + - "b25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0" + - "byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBz" + - "dGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFu" + - "ZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlk" + - "ZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhl" + - "IGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBs" + - "YWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3Ig" + - "dGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRl" + - "eHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBs" + - "aWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhl" + - "IGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVh" + - "dGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdl" + - "bnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0g" + - "SFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWlu" + - "c2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAg" + - "ICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2Qg" + - "Zm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJp" + - "Z2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRl" + - "dmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxv" + - "Y2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFn" + - "ZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tp" + - "bGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlv" + - "bnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9w" + - "bWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNr" + - "aWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + - "AAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUA" + - "AQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50" + - "IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoK" + - "VGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2Ug" + - "aW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJh" + - "IHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291" + - "cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0" + - "dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAg" + - "LUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMj" + - "IyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1s" + - "LmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + - "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + - "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + - "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + - "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + - "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + - "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + - "OgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAg" + - "ICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5" + - "Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + - "bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1h" + - "ZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNv" + - "dXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBO" + - "VkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5z" + - "dGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3Ry" + - "eSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2Vz" + - "IGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdp" + - "c3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVu" + - "dmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + - "YWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJl" + - "cG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAg" + - "cmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9j" + - "YWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZj" + - "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0" + - "ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQg" + - "TkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + - "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + - "YW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNy" + - "ZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpm" + - "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + - "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + - "ZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1l" + - "PSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + - "ICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBg" + - "YAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMK" + - "CkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJl" + - "bGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNp" + - "ZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAu" + - "OC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJh" + - "LXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + - "X0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAg" + - "ICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpT" + - "ZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNl" + - "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + - "b3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3Jl" + - "dHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMj" + - "IFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUg" + - "c3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8g" + - "cG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6Cgpg" + - "YGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQo" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMi" + - "IFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsg" + - "ZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNl" + - "cnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0" + - "cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAt" + - "LWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxh" + - "c3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBw" + - "dWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRl" + - "YXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91" + - "IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxh" + - "bmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29t" + - "cHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVn" + - "Z2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVw" + - "IDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQg" + - "YG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRp" + - "b24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQg" + - "Z2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8" + - "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + - "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3Ig" + - "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1w" + - "bGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + - "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + - "bGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5h" + - "Z2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + - "ZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0" + - "cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + - "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0g" + - "cmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRl" + - "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + - "ZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + - "IGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3Vi" + - "ZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAog" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1" + - "YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3Rl" + - "cCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92" + - "ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "bnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNz" + - "fHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVw" + - "IDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25d" + - "KFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhh" + - "bmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVy" + - "IGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9u" + - "ZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBu" + - "ZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApH" + - "QVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25w" + - "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQURE" + - "UiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMK" + - "CktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVs" + - "ZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhv" + - "c3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWlu" + - "PmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91" + - "dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FU" + - "RVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQg" + - "ZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBs" + - "YWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZO" + - "YXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMs" + - "IGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVz" + - "IHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdo" + - "IHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJp" + - "ZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwg" + - "LUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1n" + - "YXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9u" + - "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRo" + - "PSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoK" + - "IyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGlu" + - "ZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMg" + - "RGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hl" + - "Y2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9k" + - "cyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgoj" + - "IERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVm" + - "ZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8" + - "IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8t" + - "c2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGks" + - "IGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2Us" + - "IHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3" + - "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBz" + - "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFu" + - "aXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sg" + - "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5l" + - "bmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3Qg" + - "dGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + - "bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBg" + - "bGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + - "IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + - "IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + - "ZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBg" + - "bmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6" + - "IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVs" + - "LiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + - "BwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNv" + - "bnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFs" + - "bCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNo" + - "IGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9y" + - "IHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2Zp" + - "bGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8" + - "IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24g" + - "YXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRy" + - "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5l" + - "cmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRo" + - "ZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZs" + - "b3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJl" + - "bG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9y" + - "cyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMu" + - "IFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZp" + - "bGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0" + - "YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCBy" + - "b3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdp" + - "c3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFu" + - "ZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVu" + - "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + - "LXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhl" + - "IEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRh" + - "Y2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAs" + - "IGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + - "dCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlk" + - "ZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdh" + - "dGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyBy" + - "ZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21h" + - "aW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48" + - "Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1h" + - "cGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdh" + - "dGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2lu" + - "dm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VV" + - "Ukw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAg" + - "Z2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVt" + - "CiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3Bh" + - "Y2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVz" + - "cGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3" + - "YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6" + - "IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAg" + - "ZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXkt" + - "ZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6" + - "IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWlu" + - "PiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRp" + - "b25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFt" + - "bAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1Nl" + - "cnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9z" + - "dEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2Vydmlj" + - "ZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhl" + - "YWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5h" + - "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0" + - "cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wg" + - "cGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJp" + - "bmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBD" + - "TEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRw" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgph" + - "cGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFp" + - "bj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9z" + - "dDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5" + - "LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91" + - "dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24g" + - "Y29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGll" + - "cwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtl" + - "IG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGlu" + - "c3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + - "dGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+" + - "IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklM" + - "RT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1j" + - "bGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAt" + - "QyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05B" + - "TUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVy" + - "cyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQu" + - "CkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1" + - "aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRl" + - "cGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQg" + - "aXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4g" + - "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2Zp" + - "bGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoK" + - "dGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29t" + - "cHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBy" + - "ZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + - "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + - "XAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + - "cGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxl" + - "J3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29t" + - "cHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUg" + - "ZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgoj" + - "IyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2Ug" + - "bmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5k" + - "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNy" + - "ZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9i" + - "YWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRo" + - "ZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9y" + - "IGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUg" + - "Y29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2Vl" + - "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVz" + - "ZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0" + - "ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBs" + - "b3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5k" + - "Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9" + - "anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwt" + - "c2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJl" + - "Z2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3Ro" + - "CmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHBy" + - "ZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5h" + - "bWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNl" + - "cnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4" + - "dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3Ig" + - "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBt" + - "ZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5" + - "IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5h" + - "bmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBk" + - "ZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdp" + - "c3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVT" + - "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmln" + - "IDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJv" + - "bS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3Jl" + - "LW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25m" + - "aXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kg" + - "YW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJv" + - "eSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1r" + - "dWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBc" + - "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUt" + - "a3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAg" + - "YXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFt" + - "ZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2Zp" + - "bGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMg" + - "YmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZl" + - "IHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZp" + - "eDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + - "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAog" + - "IHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + - "CiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxh" + - "bmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkg" + - "SUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBz" + - "aG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQg" + - "aXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lz" + - "IHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJl" + - "bW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0" + - "aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + - "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + - "aWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1j" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBz" + + "ZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdh" + + "dGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95" + + "LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52" + + "Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZj" + + "dFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJM" + + "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0" + + "aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5k" + + "IG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMi" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0" + + "ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdl" + + "bnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBp" + + "bmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1" + + "cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92" + + "ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwg" + + "bmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUg" + + "cHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAg" + + "IlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0" + + "b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0i" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVz" + + "dGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + + "ZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENM" + + "SSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZs" + + "b3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0" + + "ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQg" + + "Ym90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9m" + + "ZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdh" + + "cm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + + "bG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + + "IGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZl" + + "cmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1t" + + "YW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + + "ZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRl" + + "bGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJt" + + "YXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2" + + "YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2" + + "ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2Vz" + + "IG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBs" + + "YW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdl" + + "dCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQg" + + "cmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNv" + + "bnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFu" + + "IHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1" + + "dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBm" + + "bG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNv" + + "bnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNv" + + "dWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVk" + + "IHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + + "ZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9y" + + "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZp" + + "ZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlz" + + "c2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3Mg" + + "cHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBu" + + "b3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNv" + + "bmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBN" + + "YWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUi" + + "LAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJl" + + "YWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5k" + + "IHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVy" + + "IHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRp" + + "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRo" + + "ZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24i" + + "LAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0t" + + "ZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBs" + + "YW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3du" + + "IHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9s" + + "IHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFk" + + "ZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRs" + + "eSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNo" + + "YWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlu" + + "bGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFz" + + "c2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBj" + + "aGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFz" + + "ZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlu" + + "bGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFt" + + "bC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVw" + + "bGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3Qg" + + "YmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdl" + + "bnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAi" + + "cXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMg" + + "b24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hh" + + "dCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVk" + + "PyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3" + + "aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRo" + + "ZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQg" + + "dGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNl" + + "ciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1y" + + "b3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9y" + + "IHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1h" + + "bmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + + "dGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9h" + + "ZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQs" + + "IHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZv" + + "ciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNh" + + "bWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3Rpbmcg" + + "TExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBh" + + "bmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxt" + + "LmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RS" + + "b3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIi" + + "LAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0" + + "cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVy" + + "IGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlv" + + "biBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + + "SUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdh" + + "cm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAog" + + "ICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJv" + + "bm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVk" + + "IGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rp" + + "b25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1" + + "ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2Fy" + + "IGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgt" + + "TkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRl" + + "diBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBu" + + "dWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "aXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhl" + + "IG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5h" + + "Z2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMg" + + "Z3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBk" + + "ZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNw" + + "ZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHBy" + + "b3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNl" + + "ZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBD" + + "YXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRz" + + "IGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCku" + + "CgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1" + + "dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9j" + + "ay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nh" + + "c3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFt" + + "bCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQv" + + "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJp" + + "dmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBo" + + "ZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246" + + "IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2Fu" + + "ZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + + "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJj" + + "ZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1l" + + "bW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAg" + + "ICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5" + + "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVm" + + "b3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdl" + + "ZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + + "eW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5v" + + "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + + "aWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9t" + + "IE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Yg" + + "c3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVh" + + "ZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMg" + + "U3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0" + + "cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJl" + + "Z2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVw" + + "IDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBi" + + "YXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tF" + + "WSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0Nf" + + "QVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNy" + + "ZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9y" + + "IG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + + "IHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9j" + + "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + + "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29y" + + "ZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0" + + "byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2Vj" + + "cmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxt" + + "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fz" + + "c2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAg" + + "bmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + + "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyBy" + + "ZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJh" + + "OgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAg" + + "IC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVz" + + "ZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNs" + + "dXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNo" + + "YXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMp" + + "IGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQ" + + "YXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVz" + + "czsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5z" + + "PSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAt" + + "cCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25l" + + "CmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBv" + + "ZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3Rl" + + "bSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQg" + + "c2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgoj" + + "IyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1l" + + "bnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVz" + + "dHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1u" + + "YW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUt" + + "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmlu" + + "YWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcu" + + "bWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZp" + + "bmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpS" + + "ZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + + "bGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUg" + + "SUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBk" + + "ZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1" + + "ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVh" + + "dCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBE" + + "ZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdl" + + "cmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRp" + + "Znkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0" + + "YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAg" + + "YW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJl" + + "bGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkK" + + "bWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5n" + + "IG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRl" + + "ciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29u" + + "ZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJ" + + "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + + "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBm" + + "b3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50" + + "IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52" + + "Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1" + + "bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4g" + + "ZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cg" + + "W0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiBy" + + "ZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgoj" + + "IyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUg" + + "c2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyBy" + + "ZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3" + + "IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3kt" + + "Z2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + + "ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRp" + + "cmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1l" + + "cywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBm" + + "b3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApg" + + "Ki5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFy" + + "eSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4" + + "IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBo" + + "ZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0" + + "ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczog" + + "Y29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBS" + + "ZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFp" + + "biBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQg" + + "aW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNl" + + "ZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1w" + + "bGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5k" + + "cy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQg" + + "ImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRF" + + "V0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAt" + + "QQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVz" + + "IC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3Rh" + + "dHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVv" + + "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAog" + + "IG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRv" + + "ciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRp" + + "bWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2ll" + + "cwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmln" + + "dXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8K" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBl" + + "bmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5" + + "c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9k" + + "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpg" + + "YGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMs" + + "IGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8" + + "IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3Mt" + + "YXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBh" + + "bmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5p" + + "dHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24g" + + "YW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52" + + "Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBo" + + "YXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJv" + + "dXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExM" + + "TSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdh" + + "dGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBw" + + "YWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVu" + + "YWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVu" + + "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNm" + + "VWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChn" + + "YXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxl" + + "YXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBh" + + "IHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRt" + + "aW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2Vw" + + "YXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lz" + + "dGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYK" + + "YmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBh" + + "IENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMj" + + "IENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBv" + + "aW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFs" + + "dWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + + "dCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + + "PGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2Vu" + + "ZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxl" + + "IGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhv" + + "cmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBw" + + "cm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9z" + + "aXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNo" + + "aW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1w" + + "bGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1l" + + "bnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5" + + "LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3Ig" + + "Y29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNo" + + "YWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5v" + + "bmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252" + + "Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBl" + + "bnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1n" + + "YXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlg" + + "IGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUg" + + "c2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUg" + + "TkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ug" + + "c2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRv" + + "bWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZp" + + "Y2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VV" + + "Ukw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2" + + "aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVS" + + "TDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJM" + + "OiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNl" + + "cnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5" + + "OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2Nh" + + "bDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTog" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBu" + + "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6" + + "IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAg" + + "ICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQog" + + "ICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAg" + + "ICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsi" + + "d29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBj" + + "OgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10" + + "YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVl" + + "CgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJs" + + "ZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZN" + + "YW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "ICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWlu" + + "PiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAg" + + "ICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+" + + "IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5h" + + "dHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQg" + + "aW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaApt" + + "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpg" + + "YGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNy" + + "ZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdg" + + "OgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZv" + + "a2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3" + + "YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6" + + "ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5" + + "LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21z" + + "X2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhv" + + "c3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkK" + + "dG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBp" + + "biB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBu" + + "byBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21w" + + "dXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwK" + + "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xV" + + "U1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNG" + + "X0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNm" + + "LWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxl" + + "bnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpS" + + "ZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBj" + + "b21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJF" + + "Q09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4g" + + "SW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4g" + + "dGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENM" + + "SSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4g" + + "SXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJh" + + "dGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5h" + + "bWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + + "IC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + + "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50" + + "IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwg" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3Vi" + + "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBc" + + "CiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRl" + + "LXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29u" + + "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9u" + + "IHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVu" + + "ZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8g" + + "bm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxl" + + "IGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBs" + + "YW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRl" + + "eHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250" + + "ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJl" + + "bmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Et" + + "b3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRo" + + "ZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQg" + + "cG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4K" + + "CiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVz" + + "cGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVu" + + "dm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9s" + + "bG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9y" + + "IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "d2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNh" + + "LW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFs" + + "dGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRv" + + "d24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhl" + + "IGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxh" + + "bmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0" + + "aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2" + + "YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhl" + + "ciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24s" + + "IHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0" + + "IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0" + + "aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcg" + + "c3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21h" + + "dGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlp" + + "bmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9u" + + "OyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlz" + + "IHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4K" + + "CjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rl" + + "ci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8" + + "bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBu" + + "Y2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9u" + + "LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1" + + "c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVw" + + "ZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUg" + + "Y2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09O" + + "RklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + + "RklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFu" + + "ZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVz" + + "dHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxg" + + "LgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGls" + + "IHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4g" + + "Rmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBs" + + "ZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + + "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVh" + + "Y2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJl" + + "Z2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1v" + + "bmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0" + + "ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVt" + + "b3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwg" + + "YGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25m" + + "aXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmll" + + "dyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1j" + "b25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBs" + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9z" + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAg" + "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29t" + "cHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJs" + - "IDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoK" + - "UmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lz" + - "IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1v" + - "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25z" + - "IHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + - "VVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFu" + - "ZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVp" + - "Y2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3Bh" + - "Y2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFt" + - "ZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFz" + - "ZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9z" + - "aW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5" + - "PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50" + - "cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1w" + - "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBS" + - "RVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAw" + - "ICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGlt" + - "YWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERp" + - "YWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoi" + - "CgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwg" + - "Z2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qg" + - "c3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVj" + - "ayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + - "c2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3Jl" + - "dHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjog" + - "Q3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVn" + - "aXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0t" + - "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + - "TkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNy" + - "ZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRz" + - "IGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBb" + - "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1" + - "cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVz" + - "cy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0" + - "IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9u" + - "ZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAj" + - "IFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IElu" + - "aXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0" + - "dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAg" + - "ICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0" + - "Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMj" + - "IERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGlu" + - "amVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2Rz" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWln" + - "cmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sg" + - "T3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2Vy" + - "dmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVj" + - "ayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdl" + - "bnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjog" + - "Q2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVz" + - "LCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFw" + - "cGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJl" + - "LXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRl" + - "IG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0" + - "LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAg" + - "IGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENo" + - "ZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1z" + - "eXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0" + - "LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4g" + - "bm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAq" + - "KgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVy" + - "IHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1" + - "dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRl" + - "ZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhl" + - "IGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVy" + - "LXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBF" + - "dmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0" + - "MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJl" + - "aGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + - "b3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBp" + - "c3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIg" + - "YW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292" + - "ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBp" + - "dDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgog" + - "ICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAg" + - "a3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRp" + - "b25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + - "by1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNo" + - "b3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9v" + - "cGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQg" + - "dG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRp" + - "Y2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGgg" + - "dGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVs" + - "dCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNr" + - "IGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFp" + - "bHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUg" + - "ICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAw" + - "LzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8" + - "IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSBy" + - "ZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMu" + - "bWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6" + - "CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + - "ICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBg" + - "CgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fz" + - "c2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1" + - "cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + - "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEg" + - "ICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + - "IyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIg" + - "bm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBh" + - "ZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBt" + - "ZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4" + - "ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2Ag" + - "aW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNo" + - "b3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3Vu" + - "ZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdl" + - "dCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hl" + - "Y2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5v" + - "ZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWls" + - "dXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gK" + - "aGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUt" + - "cnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBk" + - "b24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApo" + - "ZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpN" + - "dXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBs" + - "eSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFt" + - "ZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1" + - "cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMg" + - "ZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0" + - "cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJh" + - "cCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1" + - "dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + - "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + - "IG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoK" + - "IyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRl" + - "bnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9r" + - "ZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBi" + - "YXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFT" + - "RTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpu" + - "dmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0" + - "IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0" + - "cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUs" + - "IHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52" + - "Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1j" + - "cmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBO" + - "VkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxh" + - "bmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0K" + - "IyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRo" + - "aXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29t" + - "cHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + - "Q0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3Bh" + - "Y2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVj" + - "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpz" + - "b24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRh" + - "ZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIk" + - "ezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBw" + - "YXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0" + - "YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9Cgoj" + - "IEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXpl" + - "cnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1j" + - "b250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4v" + - "ZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVj" + - "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9h" + - "cGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAK" + - "CiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1w" + - "dG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3Bl" + - "cmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCBy" + - "ZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJh" + - "dG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIg" + - "dGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJ" + - "IHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBp" + - "bnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhh" + - "bmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBz" + - "dGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9w" + - "ZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + - "ZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdp" + - "c3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZj" + - "YS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5" + - "c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltw" + - "dWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgoj" + - "IyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVz" + - "dHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0" + - "ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0" + - "cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQo" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAog" + - "IG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "YWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQg" + - "ImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRF" + - "V0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBh" + - "IHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8" + - "cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5g" + - "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBE" + - "TlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50" + - "cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2gg" + - "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBo" + - "YW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXIt" + - "ZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8t" + - "U2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBp" + - "biB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0t" + - "fC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + - "Y2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFw" + - "aSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWws" + - "IGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1r" + - "ZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8" + - "CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xs" + - "ZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1" + - "enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQAB" + - "AKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoK" + - "YGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0g" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8" + - "ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5n" + - "cmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5" + - "IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAg" + - "ICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBg" + - "LS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlk" + - "ZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNl" + - "bnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFt" + - "bC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXIt" + - "Y2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + - "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVu" + - "ZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBu" + - "dmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50" + - "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + - "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + - "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBg" + - "CgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29u" + - "dGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQg" + - "ZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRl" + - "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1p" + - "eCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIg" + - "UmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + - "YXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + - "LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2lu" + - "ZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1z" + - "eXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJh" + - "IHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpV" + - "c2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2Ut" + - "Z3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBS" + - "ZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwt" + - "LS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBp" + - "LWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2Vz" + - "IHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9u" + - "LXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMg" + - "fAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rh" + - "cnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + - "CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2Vydmlj" + - "ZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tl" + - "bi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8Cnwg" + - "aW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGlu" + - "Z3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9" + - "XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9y" + - "eSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nr" + - "czsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXIt" + - "cHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgoj" + - "IyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + - "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + - "IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBv" + - "YnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4g" + - "dGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJ" + - "bmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBg" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3Bl" + - "cnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMg" + - "bGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJl" + - "cGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0" + - "IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywg" + - "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + - "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVt" + - "cGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52" + - "Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1s" + - "LmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + - "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNs" + - "dWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3Qg" + - "cmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291" + - "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgoj" + - "IyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290" + - "bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAot" + - "IG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoK" + - "ICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4g" + - "aW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxh" + - "dGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBs" + - "YWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9y" + - "aXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jv" + - "c3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1l" + - "bnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxh" + - "dGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8" + - "cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1" + - "LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVu" + - "Y2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCAr" + - "IGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMu" + - "IEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6Cgoj" + - "IyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1h" + - "Z2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFn" + - "ZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxl" + - "Y3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmds" + - "b2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmlt" + - "YWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5l" + - "ci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdl" + - "Q2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAo" + - "aWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAg" + - "YW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipg" + - "Ci0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdl" + - "LipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lT" + - "LCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + - "PHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAg" + - "KG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVu" + - "YWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMg" + - "d2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVz" + - "dC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9u" + - "Ljxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5k" + - "IGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUK" + - "Y29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0" + - "ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNs" + - "dXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAg" + - "ZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + - "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQog" + - "ICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAg" + - "ICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25m" + - "aWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6" + - "CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVR" + - "VUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9j" + - "YWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3Vy" + - "cmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1h" + - "bmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBo" + - "b3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3Vy" + - "ZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJv" + - "dXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVz" + - "dGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMg" + - "Y29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGlu" + - "ZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2Vk" + - "IGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3" + - "aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhl" + - "ciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFu" + - "Y2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYt" + - "bWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYg" + - "dGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0" + - "IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIg" + - "c2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgog" + - "ICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxs" + - "bS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0" + - "LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElF" + - "TlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9y" + - "IG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVz" + - "ZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJp" + - "bmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1l" + - "bnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + - "IHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMg" + - "YGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNl" + - "IHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "LiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsg" + - "YSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0" + - "aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdl" + - "IG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5n" + - "IHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5l" + - "dyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5k" + - "IGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUs" + - "IHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAt" + - "biBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxs" + - "bS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0t" + - "YXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + - "fCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+" + - "IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0t" + - "d29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRl" + - "eHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1p" + - "bnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlv" + - "ciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIu" + - "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9j" + - "cy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3Jz" + - "CgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVh" + - "c2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMK" + - "CiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVt" + - "cGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ry" + - "b3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBg" + - "IGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHs" + - "jQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBO" + - "VkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZD" + - "RiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoK" + - "IyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUg" + - "YWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMg" + - "dGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + - "bGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91" + - "IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoK" + - "RW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRk" + - "b25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNl" + - "IGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFn" + - "ZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + - "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + - "b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + - "cyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVz" + - "cGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBh" + - "bmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBz" + - "ZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + - "aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCBy" + - "b3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5" + - "CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5h" + - "YmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwg" + - "Z2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNm" + - "LXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBT" + - "ZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGlj" + - "YXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBh" + - "Y2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJv" + - "eHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3Jl" + - "dHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20g" + - "YSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0" + - "ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBh" + - "bmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24g" + - "Y2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpU" + - "aGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5q" + - "ZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUu" + - "IFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBg" + - "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJu" + - "byBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNo" + - "CmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8v" + - "CmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1u" + - "IGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3Jl" + - "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + - "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0t" + - "ZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dv" + - "cmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJz" + - "aW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTog" + - "bnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVs" + - "ZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1h" + - "dGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6" + - "CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0g" + - "Im52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAg" + - "ICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + - "ImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAg" + - "ICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNN" + - "ZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAg" + - "ICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZl" + - "cm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAg" + - "ICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3Jl" + - "dC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250" + - "aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQu" + - "IEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBw" + - "b2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + - "YG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1v" + - "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + - "LS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "YGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToK" + - "CmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3Jl" + - "ZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZj" + - "YS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5v" + - "dCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cK" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24K" + - "CmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3Rl" + - "ZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + - "ZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + - "UHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVj" + - "ayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBh" + - "dGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2Vj" + - "cmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50" + - "cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1u" + - "IDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVs" + - "bAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6" + - "ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1" + - "c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0" + - "IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMg" + - "QXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91" + - "ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9s" + - "aWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0" + - "cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipD" + - "U1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwg" + - "QXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgoj" + - "IyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0" + - "ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMg" + - "Y3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9k" + - "cyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + - "ZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2" + - "ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxs" + - "IHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3Rl" + - "cnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRy" + - "dWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZj" + - "ci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToK" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52" + - "Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAA" + - "ACEAOpNsREoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEPP7+Ud" + - "DwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1w" + - "bGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmIyQwAAMkMAAA0" + - "AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0" + - "aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8AADcACQAAAAAA" + - "AAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + - "cGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAA" + - "AADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10" + - "YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA" + - "1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2Uu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABc4AAA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + - "bC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAI7v" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNo" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAAVRkB" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAI0hAQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQBZLMkPnw4AAJ8OAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCjrSR7W1AA" + - "AFtQAAAtAAkAAAAAAAAAAAAAAPt3AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + - "Y2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAPNet1HYeAAB2HgAANwAJAAAAAAAA" + - "AAAAAAC6yAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + - "dGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAA" + - "AJ7nAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAEpKAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAA/6ACAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZj" + - "vFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA5MkCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAB5+gIAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAACgKwMAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAAlVgMAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9u" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAVF4D" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNy" + - "ZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAMl0AwAAAA==" + "IDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0t" + + "Y2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxu" + + "Y2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + + "bnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93" + + "biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1u" + + "Y2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rl" + + "ci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBp" + + "dHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBj" + + "bHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lw" + + "ZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3Rh" + + "Y2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9k" + + "cyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBv" + + "ZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNl" + + "PgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9z" + + "dCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + + "bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNp" + + "ZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQ" + + "dWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAg" + + "U1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAg" + + "SW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRl" + + "eHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1" + + "dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBp" + + "cyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + + "fCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRo" + + "ZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4K" + + "CiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0" + + "IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQ" + + "dWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxs" + + "U2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBh" + + "dGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNz" + + "aW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVh" + + "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2" + + "ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAg" + + "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1l" + + "c3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + + "IC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBp" + + "dCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhl" + + "bG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoz" + + "LiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGlu" + + "dm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNl" + + "QWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2Vj" + + "cmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5k" + + "IHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRz" + + "IC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAg" + + "IGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0" + + "b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJh" + + "c2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJU" + + "UyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAg" + + "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhl" + + "IHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gK" + + "IyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + + "Q2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZh" + + "dWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVs" + + "dC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFp" + + "bmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBv" + + "ZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8g" + + "cG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNz" + + "dWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRp" + + "ZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1" + + "cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ry" + + "b3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlm" + + "IG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9w" + + "ZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBu" + + "b3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3Vi" + + "ZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0g" + + "YmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0" + + "L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0" + + "aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0" + + "ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1Mp" + + "OgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEg" + + "c2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJr" + + "ZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFs" + + "aWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1" + + "bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAg" + + "dGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8x" + + "YC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5t" + + "aWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRp" + + "b24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNl" + + "cnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4g" + + "RW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpX" + + "S1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVl" + + "cyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAg" + + "ICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAg" + + "ICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9w" + + "ZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlv" + + "biBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20K" + + "ICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5C" + + "YW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBz" + + "ZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgog" + + "ICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUg" + + "YGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0" + + "YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBz" + + "aWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3lt" + + "cHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAg" + + "IEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoK" + + "IyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEt" + + "c3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoK" + + "T3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhh" + + "bXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3Nh" + + "bmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAg" + + "ICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAg" + + "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWls" + + "YWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGBy" + + "ZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRv" + + "bXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFH" + + "RQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMj" + + "IERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJl" + + "cwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1v" + + "biBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4n" + + "dCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJs" + + "ZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90" + + "IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENo" + + "ZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1" + + "YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0" + + "b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNp" + + "ZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3Vy" + + "Y2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMj" + + "IyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RB" + + "VFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1" + + "Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNw" + + "YWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJl" + + "LXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVk" + + "cyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5l" + + "ZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNl" + + "PiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMj" + + "IFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVk" + + "LiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + + "YXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNm" + + "CgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwg" + + "bG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkg" + + "bG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2Yt" + + "YXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQg" + + "Y3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + + "YCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3Qg" + + "dGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRp" + + "YWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBv" + + "dXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJl" + + "YWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNj" + + "b3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRp" + + "YWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJv" + + "eWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBu" + + "YW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3Rs" + + "IGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtl" + + "eXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUg" + + "bmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3lu" + + "YwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBT" + + "eW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGlu" + + "IGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAg" + + "ICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0K" + + "YGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwg" + + "YWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92" + + "ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2Ut" + + "ZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFj" + + "a2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBu" + + "dmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFt" + + "ZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMg" + + "J2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0t" + + "Y29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10" + + "eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENP" + + "TVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xl" + + "YXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tl" + + "bmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3Bh" + + "Y2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJz" + + "ID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxh" + + "Y2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAy" + + "Pi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9y" + + "IE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + + "cGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0" + + "cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBu" + + "dmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmly" + + "c3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cn" + + "cyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBu" + + "b3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9u" + + "IHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4" + + "dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVz" + + "Y3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3Bl" + + "cmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpg" + + "YGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBz" + + "ZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBt" + + "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5h" + + "bWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1" + + "dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoK" + + "IyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFp" + + "biBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2Vk" + + "LiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1v" + + "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVX" + + "QVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRv" + + "bWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRy" + + "ZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2Vydmlj" + + "ZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApn" + + "cmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoK" + + "S2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVz" + + "IHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4g" + + "Rm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNz" + + "IGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdo" + + "IHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5t" + + "ZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMg" + + "VXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Ig" + + "d2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2Vy" + + "dmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8" + + "IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8t" + + "c2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5v" + + "dGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkg" + + "fAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNz" + + "LWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3" + + "YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291" + + "cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + + "RAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZp" + + "bGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgoj" + + "IyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0g" + + "aGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywg" + + "Q2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAj" + + "IE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdv" + + "dG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8" + + "ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxs" + + "IGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVy" + + "LWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNl" + + "Y3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3" + + "b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUg" + + "dGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFj" + + "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + + "IENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1s" + + "LmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJh" + + "dGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAg" + + "ICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+" + + "LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFs" + + "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMg" + + "cGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25t" + + "ZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhv" + + "cnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1" + + "c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9p" + + "bnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290" + + "bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18" + + "LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5h" + + "dHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVu" + + "YmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBv" + + "biBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5" + + "c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJp" + + "dGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1j" + + "b3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwK" + + "fC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxt" + + "LW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Yt" + + "c2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZp" + + "Y2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94" + + "eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNz" + + "IHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNl" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2Vydmlj" + + "ZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJv" + + "dXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52" + + "Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJv" + + "eHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVh" + + "c2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95" + + "LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDog" + + "W3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20g" + + "dGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFi" + + "bGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUg" + + "YHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJl" + + "bGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0t" + + "LS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMp" + + "IHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0" + + "eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNh" + + "YmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlB" + + "TUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMg" + + "dGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjog" + + "WUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8g" + + "dGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlz" + + "dCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4g" + + "dGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2Vj" + + "cmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBU" + + "ZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAg" + + "IGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAg" + + "ICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + + "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVy" + + "cmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRl" + + "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAg" + + "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + + "Y3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92" + + "ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBt" + + "ZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQg" + + "aW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBt" + + "ZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3Bh" + + "Y2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRk" + + "aW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byBy" + + "ZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBh" + + "IGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93" + + "ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0g" + + "ZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNp" + + "ZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAt" + + "LSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2Vz" + + "IC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2Vz" + + "IFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUg" + + "bWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNo" + + "YXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxp" + + "Y2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291" + + "bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3Nh" + + "bmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAot" + + "IGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJs" + + "ZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoK" + + "LSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBu" + + "YXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5m" + + "aWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uu" + + "c3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8u" + + "bWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5i" + + "YW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJh" + + "by5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMj" + + "IyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lz" + + "dHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkK" + + "LSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVu" + + "Y3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9y" + + "IGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9u" + + "IGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRz" + + "IHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5n" + + "cmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNp" + + "ZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERv" + + "IG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1u" + + "b2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1s" + + "CmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBs" + + "aWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAg" + + "ICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6" + + "IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJs" + + "ZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAg" + + "ICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmts" + + "b2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNv" + + "dW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUg" + + "YnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQg" + + "OTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRl" + + "d2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRl" + + "d2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZD" + + "RiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJl" + + "ZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQg" + + "YW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRl" + + "UVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQg" + + "YW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1" + + "c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlz" + + "CnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVl" + + "c3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2Yv" + + "YmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFu" + + "Y2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRl" + + "IHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0" + + "aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFw" + + "aToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNp" + + "ZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJl" + + "cG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURF" + + "Q0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3Rh" + + "Y2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNv" + + "bmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5n" + + "IHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29u" + + "dHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29t" + + "cHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRp" + + "b24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBj" + + "b21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVt" + + "YWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2" + + "YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUg" + + "d29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBp" + + "cyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9u" + + "IGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFu" + + "ZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlm" + + "eSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gK" + + "a3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0" + + "YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + + "bnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVj" + + "dGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdl" + + "dCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFp" + + "bmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBg" + + "YAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11" + + "c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBh" + + "bmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1" + + "aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJp" + + "ZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgoj" + + "IyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6" + + "CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVy" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBp" + + "LWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95" + + "IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhh" + + "cyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlz" + + "c3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8A" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWkt" + + "YWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWws" + + "IGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + + "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + + "dGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25s" + + "eSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3Rh" + + "Y2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNv" + + "bnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lw" + + "IHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgoj" + + "IyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+" + + "LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAK" + + "CiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5h" + + "bWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEg" + + "cHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2Yt" + + "dWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkg" + + "aWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4" + + "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1k" + + "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + + "QVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMg" + + "YG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgz" + + "MDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRo" + + "ZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBw" + + "bHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + + "PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + + "IHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRv" + + "biBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3Zj" + + "IC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1" + + "cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBj" + + "dXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMg" + + "aW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBh" + + "biBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQ" + + "SwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCm" + + "zhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxp" + + "bmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MK" + + "YG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkg" + + "cG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25m" + + "aWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhl" + + "ZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNo" + + "IHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9k" + + "cyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNh" + + "LXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0" + + "YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJu" + + "by5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJu" + + "byBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3Vi" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250" + + "cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + + "LW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVn" + + "aXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwg" + + "YW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9s" + + "aWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGlj" + + "eQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFj" + + "a2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10" + + "by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2Vz" + + "OgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNw" + + "YWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAg" + + "ICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5" + + "c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1" + + "bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAg" + + "ICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAg" + + "IGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNy" + + "ZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdl" + + "UHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5" + + "dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhl" + + "IGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlm" + + "aWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRv" + + "IG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRl" + + "IHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3Rl" + + "cjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3Jl" + + "YXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + + "LQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFu" + + "ZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoK" + + "ICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRo" + + "YXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8g" + + "YG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFt" + + "ZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxv" + + "dy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5l" + + "IHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpz" + + "b25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJu" + + "dmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlk" + + "aWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5v" + + "CgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1l" + + "c3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQi" + + "IG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJv" + + "ciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgoj" + + "IyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0g" + + "bm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lz" + + "dHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0" + + "aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBz" + + "ZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tF" + + "IEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQg" + + "c2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4g" + + "SW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGlj" + + "eSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxp" + + "ZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNl" + + "PiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5n" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + + "b2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xp" + + "Y3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBT" + + "aG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBv" + + "bGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdp" + + "dGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNv" + + "bnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagA" + + "FgAAABYAAFBLAQIUABQACAAAAAAAIQCVfcb0ShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRh" + + "L21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsLppRuJiAADiYgAAIwAJAAAA" + + "AAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAQ8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAADPcwAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhADAk+YjJDAAAyQwAADQACQAAAAAAAAAAAAAAVoMAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "wbFpmM8PAADPDwAANwAJAAAAAAAAAAAAAACKkAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00" + + "nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAAMegAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBgl" + + "AAAYJQAANwAJAAAAAAAAAAAAAADWugAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4O" + + "AAA9AAkAAAAAAAAAAAAAAFzgAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Rp" + + "YWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALRJ3ydWKQAA" + + "VikAADoACQAAAAAAAAAAAAAAju8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "aW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADI" + + "BwAAOQAJAAAAAAAAAAAAAABVGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9y" + + "b3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEA" + + "AC4ACQAAAAAAAAAAAAAAjSEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVh" + + "cmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAWzr4GLYkAAC2JAAAMAAJAAAAAAAAAAAA" + + "AADWQwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAFksyQ+fDgAAnw4AADIACQAAAAAAAAAAAAAA82gBAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAOL0h7L3UAAA91AAAC0ACQAAAAAAAAAAAAAA+3cBAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCz" + + "Pj1mCx8AAAsfAAA3AAkAAAAAAAAAAAAAAFbJAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + + "ZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJ" + + "YgAASWIAACwACQAAAAAAAAAAAAAAz+gBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAA" + + "AAAAAAAAe0sCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxz" + + "Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAAAw" + + "ogIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAAAVywIAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAA" + + "AAAAAKr7AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2Rl" + + "YnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAA" + + "AAAAANEsAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hl" + + "bG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/" + + "AAkAAAAAAAAAAAAAAFZXAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + + "cmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAA" + + "FgAAPgAJAAAAAAAAAAAAAACFXwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAA+nUDAAAA" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 6d110319d5..901528b1fc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -99,6 +99,7 @@ go_test( "@io_k8s_api//rbac/v1:rbac", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/labels", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/runtime/schema", "@io_k8s_apimachinery//pkg/types", diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 14b679fac1..8f9db9d1c8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -354,10 +354,12 @@ func runValidatorJob( jobName := clusterValidatorRBACName(role, runID) spec := buildClusterValidatorJob(jobName, image, pullSecret, role, runID, configName, noCleanup, p.Env, p.Tolerations...) + // Both counted from now, not from the start of the run: the sweep, the + // pull-secret scan and the bootstrap have used some of its timeout. + left := timeLeft(vctx) + setValidatorTimeout(spec, left) if spec.Spec.ActiveDeadlineSeconds != nil { - // Counted from now, not from the start of the run: the sweep, the - // pull-secret scan and the bootstrap have used some of its timeout. - deadline := validatorActiveDeadlineSeconds(timeLeft(vctx)) + deadline := validatorActiveDeadlineSeconds(left) spec.Spec.ActiveDeadlineSeconds = &deadline } job, err := client.BatchV1().Jobs(clusterValidatorNamespace).Create(vctx, spec, metav1.CreateOptions{}) @@ -543,6 +545,34 @@ func timeLeft(ctx context.Context) time.Duration { return 0 } +// validatorTimeoutEnv bounds the validator's checks. The launcher owns it, so +// extraValidatorEnv never overrides it: set below the time this run waits, it +// has the validator end with its own verdict, naming the checks it could not +// finish, instead of being cut off without one. +const validatorTimeoutEnv = "VALIDATOR_TIMEOUT" + +// validatorSummaryMargin is the part of the run's wait left to the validator +// after its own timeout, to print its summary and exit. +const validatorSummaryMargin = 30 * time.Second + +// validatorRunTimeout is VALIDATOR_TIMEOUT, in seconds, for a run with left to +// wait: validatorSummaryMargin less, or half of left when that is short. +func validatorRunTimeout(left time.Duration) string { + d := max(left-validatorSummaryMargin, left/2) + return strconv.FormatInt(max(int64(d/time.Second), 1), 10) + "s" +} + +// setValidatorTimeout sets the Job's VALIDATOR_TIMEOUT for a run with left to +// wait. +func setValidatorTimeout(job *batchv1.Job, left time.Duration) { + env := job.Spec.Template.Spec.Containers[0].Env + for i := range env { + if env[i].Name == validatorTimeoutEnv { + env[i].Value = validatorRunTimeout(left) + } + } +} + // validatorActiveDeadlineSeconds is the Job's active deadline when left of // the run's own timeout remains: validatorDeadlineOffset after it ends. func validatorActiveDeadlineSeconds(left time.Duration) int64 { @@ -1042,8 +1072,8 @@ func validatorClusterRules(role string) []rbacv1.PolicyRule { {APIGroups: []string{"admissionregistration.k8s.io"}, Resources: []string{ "mutatingwebhookconfigurations", "validatingwebhookconfigurations", }, Verbs: []string{"list"}}, - // CNI detection lists NetworkPolicies. Nothing on this path writes - // them: the enforcement test is disabled in the CLI's ConfigMap. + // CNI detection lists NetworkPolicies. The enforcement test, which + // writes them, is disabled in the CLI's ConfigMap. {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"list"}}, {NonResourceURLs: []string{"/readyz", "/version"}, Verbs: []string{"get"}}, } @@ -1067,7 +1097,13 @@ func validatorClusterRules(role string) []rbacv1.PolicyRule { "delete"}}, {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"list", "create", "delete"}}, {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"list", "create", "delete"}}, - {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"storageclasses"}, Verbs: []string{"list"}}, + // The probe allows its own traffic in its namespace, so a default-deny + // policy does not read as an overlay fault. The namespace delete + // removes it. + {APIGroups: []string{"networking.k8s.io"}, Resources: []string{"networkpolicies"}, Verbs: []string{"create"}}, + // The default class is found by a list; the class the stack names + // (NVCF_STORAGE_CLASS) is read by name. + {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"storageclasses"}, Verbs: []string{"get", "list"}}, // Tier-1 and Tier-2 readiness, and the Envoy proxies behind the NVCF // Gateways. {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"list"}}, @@ -1091,13 +1127,6 @@ func clusterValidatorLabels() map[string]string { } } -// clusterValidatorRoleLabels are the managed labels plus the role, with no run -// ID. validatorRoleSelector matches on them, so a lookup for one role never -// returns the other role's objects in a ModeSingle run. -func clusterValidatorRoleLabels(role string) map[string]string { - return clusterValidatorRunLabels(role, "", false) -} - // clusterValidatorRunLabels are the labels for one run's objects: the managed // labels, the role, the run ID, and the preserve marker when the run was asked // to keep its artifacts (which the orphan sweeper then keeps for @@ -1271,13 +1300,6 @@ func sweepOrphanClusterValidatorRBAC( } } -// validatorRoleSelector matches objects this CLI created for one validator role. -// Derived from clusterValidatorRoleLabels so it cannot drift from the labels -// actually stamped on the objects. -func validatorRoleSelector(role string) string { - return labels.SelectorFromSet(clusterValidatorRoleLabels(role)).String() -} - // clusterValidatorControlPlaneRole is the role value passed as VALIDATOR_ROLE // when running against the control-plane cluster. Matches nvca's RoleControlPlane // without importing that package. @@ -1504,6 +1526,7 @@ func buildClusterValidatorJob( {Name: "VALIDATOR_CONFIG_NAME", Value: configName}, {Name: "VALIDATOR_PREFLIGHT", Value: "true"}, {Name: "VALIDATOR_ROLE", Value: role}, + {Name: validatorTimeoutEnv, Value: validatorRunTimeout(clusterValidatorTimeout)}, }, }}, } diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 8c71ba3bc2..7834b30f35 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -440,7 +440,7 @@ func TestBuildClusterValidatorJob_ForwardsEnvWithoutOverridingCore(t *testing.T) _, hasEmpty := env["NVCF_GATEWAY_NAMES"] assert.False(t, hasEmpty, "empty values are not forwarded") assert.Equal(t, []string{"VALIDATOR_CONFIG_NAMESPACE", "VALIDATOR_CONFIG_NAME", "VALIDATOR_PREFLIGHT", - "VALIDATOR_ROLE", "NVCF_OPENBAO_NAMESPACE", "VALIDATOR_POST_INSTALL"}, order) + "VALIDATOR_ROLE", "VALIDATOR_TIMEOUT", "NVCF_OPENBAO_NAMESPACE", "VALIDATOR_POST_INSTALL"}, order) } // The extra tolerations reach the Job beside the control-plane ones it always @@ -1487,15 +1487,41 @@ func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { return false, nil, nil }) var deadline int64 + var env []corev1.EnvVar client.PrependReactor("create", "jobs", func(a ktesting.Action) (bool, runtime.Object, error) { - deadline = *a.(ktesting.CreateAction).GetObject().(*batchv1.Job).Spec.ActiveDeadlineSeconds + job := a.(ktesting.CreateAction).GetObject().(*batchv1.Job) + deadline = *job.Spec.ActiveDeadlineSeconds + env = job.Spec.Template.Spec.Containers[0].Env return false, nil, nil }) res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", - "", false, clusterValidatorComputePlaneRole, nil, nil) + "", false, clusterValidatorComputePlaneRole, nil, map[string]string{validatorTimeoutEnv: "1h"}) require.NoError(t, res.Err) assert.LessOrEqual(t, deadline, int64(8+60), "the deadline counts from the create, not the start of the run") assert.Greater(t, deadline, int64(60)) + + // The validator's own timeout counts from the same point and ends its + // checks before this run stops waiting, whatever the caller passed. + var timeouts []string + for _, e := range env { + if e.Name == validatorTimeoutEnv { + timeouts = append(timeouts, e.Value) + } + } + require.Len(t, timeouts, 1) + got, err := time.ParseDuration(timeouts[0]) + require.NoError(t, err) + assert.Positive(t, got) + assert.LessOrEqual(t, got, 4*time.Second, + "counted from the time left when the Job was created, not the run's full timeout") +} + +// VALIDATOR_TIMEOUT leaves the summary margin of a full run's wait, and half of +// a short one. +func TestValidatorRunTimeout(t *testing.T) { + assert.Equal(t, "270s", validatorRunTimeout(5*time.Minute)) + assert.Equal(t, "20s", validatorRunTimeout(40*time.Second)) + assert.Equal(t, "1s", validatorRunTimeout(0)) } // Each term of the run ceiling, with its multiplier, pinned against a sum @@ -1676,11 +1702,29 @@ func TestClusterValidatorCheck_CleanupRow(t *testing.T) { res ClusterValidatorResult why string }{ - "no-cleanup pass": {noCleanup: true, res: ClusterValidatorResult{Created: true, Passed: true}, why: "kept with --no-cleanup"}, - "no-cleanup interrupted": {noCleanup: true, res: ClusterValidatorResult{Created: true, Err: context.Canceled}, why: "kept with --no-cleanup"}, - "no-cleanup, nothing made": {noCleanup: true, res: ClusterValidatorResult{Err: errors.New("create service account: forbidden")}}, - "no-cleanup bootstrap fail": {noCleanup: true, res: ClusterValidatorResult{Created: true, Err: errors.New("create cluster role: forbidden")}, why: "kept with --no-cleanup"}, - "pod may run": {res: ClusterValidatorResult{Created: true, LeftBehind: true, Err: errors.New("x")}, why: "may still be running"}, + "no-cleanup pass": { + noCleanup: true, + res: ClusterValidatorResult{Created: true, Passed: true}, + why: "kept with --no-cleanup", + }, + "no-cleanup interrupted": { + noCleanup: true, + res: ClusterValidatorResult{Created: true, Err: context.Canceled}, + why: "kept with --no-cleanup", + }, + "no-cleanup, nothing made": { + noCleanup: true, + res: ClusterValidatorResult{Err: errors.New("create service account: forbidden")}, + }, + "no-cleanup bootstrap fail": { + noCleanup: true, + res: ClusterValidatorResult{Created: true, Err: errors.New("create cluster role: forbidden")}, + why: "kept with --no-cleanup", + }, + "pod may run": { + res: ClusterValidatorResult{Created: true, LeftBehind: true, Err: errors.New("x")}, + why: "may still be running", + }, "sweep failed": {res: ClusterValidatorResult{Created: true, Passed: true, SweepErr: errors.New("503 from apiserver")}, why: "removing the run's objects failed (503 from apiserver)"}, "clean": {res: ClusterValidatorResult{Created: true, Passed: true}}, @@ -1695,7 +1739,8 @@ func TestClusterValidatorCheck_CleanupRow(t *testing.T) { return res } r := clusterValidatorCheck(RoleConfig{ClusterValidator: cv, ClusterValidatorImage: "img:1", KubeContext: "ctx-a", - ClusterValidatorNoCleanup: tc.noCleanup, ValidatorCleanup: ledger}, validatorRoleComputePlane).Run(context.Background()) + ClusterValidatorNoCleanup: tc.noCleanup, ValidatorCleanup: ledger}, + validatorRoleComputePlane).Run(context.Background()) cmd := validatorRemovalCommand("ctx-a", "r1") assert.Equal(t, []string{cmd}, during, "%s: registered before the run creates anything", name) if tc.why == "" { @@ -1864,7 +1909,8 @@ func TestRunClusterValidator_OwnershipSurvivesAnInterruptAfterTheCreate(t *testi sec, err := fakeClient.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, left["Secret"][0], metav1.GetOptions{}) require.NoError(t, err) assert.Len(t, sec.OwnerReferences, 1) - cm, err := fakeClient.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, left["ConfigMap"][0], metav1.GetOptions{}) + cm, err := fakeClient.CoreV1().ConfigMaps(clusterValidatorNamespace).Get(ctx, + left["ConfigMap"][0], metav1.GetOptions{}) require.NoError(t, err) assert.Len(t, cm.OwnerReferences, 1) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index e636c0d043..fc34745db8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -138,10 +138,6 @@ func NewInotifyProber(image string) NodeInotifyProber { // shorten it. var inotifyProbeBudget = 100 * time.Second -// InotifyProbeBudget is the longest the node inotify probe runs, which the -// check command's time budget must cover. -func InotifyProbeBudget() time.Duration { return inotifyProbeBudget } - // probePodCleanupTimeout bounds the deletion of a probe pod, which runs after // the probe's own deadline. The probe share leaves room for it. var probePodCleanupTimeout = 10 * time.Second @@ -180,7 +176,8 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin // Each pod is deleted once its node is probed, but a Create the budget or // an interrupt cut off may still have been applied, and then no per-node // delete runs. This reclaims those by the run's label on every return. - defer run.reclaim(client) + probeDeadline, _ := ctx.Deadline() + defer func() { run.reclaim(client, probeDeadline) }() results := make([]NodeInotifyLimits, len(nodes.Items)) eg, egCtx := errgroup.WithContext(ctx) eg.SetLimit(probeConcurrency) @@ -438,8 +435,16 @@ func (r *probeRun) created(pod *corev1.Pod) { // interrupted twice, leaves pods that mount the host's root and tolerate // every taint, and nothing else removes them. Another run's younger pods may // belong to a probe still in progress, so they are kept. -func (r *probeRun) reclaim(client kubernetes.Interface) { - ctx, cancel := context.WithTimeout(context.Background(), validatorCleanupTimeout) +// +// It ends within probePodCleanupTimeout of the probe's deadline, the room the +// probe share leaves for the cleanup after it, which the per-node deletes may +// already have used. +func (r *probeRun) reclaim(client kubernetes.Interface, probeDeadline time.Time) { + start := time.Now() + if !probeDeadline.IsZero() && probeDeadline.Before(start) { + start = probeDeadline + } + ctx, cancel := context.WithDeadline(context.Background(), start.Add(probePodCleanupTimeout)) defer cancel() pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(ctx, metav1.ListOptions{ LabelSelector: labels.SelectorFromSet(inotifyProbeLabels("")).String(), diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index 882e758e7b..7516ca2925 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -20,6 +20,8 @@ package selfhosted import ( "context" "fmt" + "net/http" + "net/http/httptest" "strings" "sync/atomic" "testing" @@ -32,7 +34,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" + "k8s.io/client-go/rest" ktesting "k8s.io/client-go/testing" ) @@ -252,3 +256,32 @@ func TestProbeAllNodes_ReclaimsAPodWhoseCreateErrored(t *testing.T) { require.NoError(t, err) assert.Empty(t, pods.Items, "the applied pod mounts the host's root and must not be left behind") } + +// The reclaim after a probe ends within probePodCleanupTimeout of the probe's +// deadline, the room the probe share leaves for it, however slow the +// apiserver. Bounded by the longer sweep timeout, it ate into the time sized +// for the validator. +func TestProbeRun_ReclaimEndsWithinTheCleanupRoom(t *testing.T) { + prevPod, prevSweep := probePodCleanupTimeout, validatorCleanupTimeout + probePodCleanupTimeout, validatorCleanupTimeout = 300*time.Millisecond, time.Minute + t.Cleanup(func() { probePodCleanupTimeout, validatorCleanupTimeout = prevPod, prevSweep }) + srv := httptest.NewServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { + <-r.Context().Done() + })) + t.Cleanup(func() { + srv.CloseClientConnections() + srv.Close() + }) + client, err := kubernetes.NewForConfig(&rest.Config{Host: srv.URL, QPS: -1}) + require.NoError(t, err) + run := &probeRun{id: "r1"} + + start := time.Now() + run.reclaim(client, start.Add(time.Hour)) + assert.Less(t, time.Since(start), 5*time.Second, "a probe that ended early still bounds its reclaim") + + start = time.Now() + run.reclaim(client, start.Add(-probePodCleanupTimeout)) + assert.Less(t, time.Since(start), probePodCleanupTimeout, + "the per-node deletes used the room after the deadline, so the reclaim gets none") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 009ef53bd8..94164b04b8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1218,11 +1218,9 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp r.Err = err return r } - // The error reaches the result even beside findings, so a budget - // that ran out mid-scan is graded as cut short rather than clean. - r.Err = err if len(stale) == 0 { if err != nil { + r.Err = err r.Message = "stale namespace probe failed: " + err.Error() return r } @@ -1261,6 +1259,13 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp if err != nil { r.Message += ". Additionally could not probe: " + err.Error() } + // The error reaches a warning row, so a budget that ran out + // mid-scan grades it as cut short rather than as the warnings + // found so far. A stuck namespace is a finding however the scan + // ended: graded as cut short it would lose its name and exit 5. + if r.Severity != SeverityError { + r.Err = err + } r.Transient = r.Transient && r.Severity == SeverityWarning return r }, diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 1679449d5f..a31b4fb837 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -1077,6 +1077,31 @@ func TestStaleNamespaceCheck_UnreachableClusterIsAnError(t *testing.T) { assert.Equal(t, SeverityWarning, midProbe.Severity) } +// A stuck namespace found before the probe share ran out still blocks the +// run: it is not graded as cut short, which would drop its name and exit 5. A +// warning found before the cutoff is. +func TestStaleNamespaceCheck_StuckFindingSurvivesTheBudget(t *testing.T) { + pinCurrentKubeContext(t, "") + ctx, cancel := context.WithTimeout(context.Background(), time.Nanosecond) + defer cancel() + <-ctx.Done() + cutOff := errors.Join(errors.New("get namespace sis: timeout"), context.DeadlineExceeded) + probe := func(reason string) CheckResult { + spec := staleNamespaceCheck(func(context.Context, string, []string) ([]StaleNamespace, error) { + return []StaleNamespace{{Name: "cassandra-system", Reason: reason}}, cutOff + }, "", []string{"cassandra-system", "sis"}) + return normaliseResult(ctx, spec.Run(ctx)) + } + + stuck := probe(StaleStuckTerminating) + assert.False(t, stuck.CutShort) + assert.True(t, stuck.IsBlockingFailure()) + assert.Contains(t, stuck.Message, "cassandra-system (stuck Terminating") + assert.Contains(t, stuck.Message, "Additionally could not probe: get namespace sis: timeout") + + assert.True(t, probe(StaleNoHelmRelease).CutShort, "a warning beside a spent budget is not the whole answer") +} + // Each term of the validator's run ceiling counts as often as one run can // spend it. Bumping a term by one second grows the ceiling by its count. func TestClusterValidatorRunCeiling_CountsEveryTerm(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go index b373d44557..b7fb0729cf 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty.go @@ -2039,11 +2039,13 @@ func resourceLabelFor(resource string) string { // invoked early so callers can't deadlock on tea.Program.Send (which blocks // indefinitely against an unstarted program). Start is idempotent. Close is // safe to call before Start (no-op) so deferred cleanup on construction-error -// paths doesn't deadlock either. +// paths doesn't deadlock either, and safe to call again. type TTYRenderer struct { program *tea.Program started atomic.Bool - runErr error + // done is closed once Run has returned and runErr is set. + done chan struct{} + runErr error } // NewTTYRenderer constructs a TTYRenderer drawing to stderr. The same stderr @@ -2062,9 +2064,11 @@ func NewTTYRenderer(stderr io.Writer, opts ModelOpts) *TTYRenderer { // dashboard vertically (iter #10 from dev-VM E2E). tea.WithAltScreen(), ) - return &TTYRenderer{ - program: prog, - } + return newTTYRendererFor(prog) +} + +func newTTYRendererFor(prog *tea.Program) *TTYRenderer { + return &TTYRenderer{program: prog, done: make(chan struct{})} } // Start launches the bubbletea Run loop in a goroutine. Idempotent — calling @@ -2077,6 +2081,7 @@ func (r *TTYRenderer) Start() { go func() { _, err := r.program.Run() r.runErr = err + close(r.done) }() } @@ -2094,13 +2099,18 @@ func (r *TTYRenderer) Emit(_ context.Context, e Event) error { // Close requests Program shutdown and waits for the Run loop to return. // Safe to call before Start (no-op) so deferred Close() on error paths -// doesn't deadlock. After Wait returns, runErr is safe to read — bubbletea -// guarantees happens-before from Run completion to Wait return. +// doesn't deadlock, and safe to call again or concurrently. It waits on done +// rather than tea.Program.Wait, which returns only once, signals before Run +// has returned, and never returns when Run fails to start. func (r *TTYRenderer) Close() error { if !r.started.Load() { return nil } r.program.Quit() - r.program.Wait() + <-r.done return r.runErr } + +// OwnsTerminal reports that the dashboard draws on the alternate screen: +// anything else written to the terminal before Close returns is lost. +func (r *TTYRenderer) OwnsTerminal() bool { return true } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go index c7e3329e18..07fa34716b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_tty_test.go @@ -1021,3 +1021,27 @@ func TestModel_QuitKeysCallOnQuit(t *testing.T) { _, cmd := NewModel(ModelOpts{Mode: ModeCheck}).Update(tea.KeyMsg{Type: tea.KeyCtrlC}) assert.NotNil(t, cmd, "without a hook the dashboard still quits") } + +// Close can run twice: the check command closes a dashboard early to print +// the interrupt note on the restored screen, then again as it exits. +// tea.Program.Wait returns only once, so a second Close through it hung. +func TestTTYRenderer_CloseTwice(t *testing.T) { + var buf bytes.Buffer + r := newTTYRendererFor(tea.NewProgram(NewModel(ModelOpts{Mode: ModeCheck, Output: &buf}), + tea.WithInput(nil), tea.WithOutput(&buf), tea.WithoutSignalHandler())) + assert.True(t, r.OwnsTerminal()) + r.Start() + done := make(chan error, 2) + go func() { + done <- r.Close() + done <- r.Close() + }() + for i := 0; i < 2; i++ { + select { + case err := <-done: + require.NoError(t, err) + case <-time.After(5 * time.Second): + t.Fatalf("Close call %d did not return", i+1) + } + } +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 6f441fc83c..39692f0c3b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -52,15 +52,13 @@ const ( // Project-specific name so the auto-created / mirrored pull secret // can never collide with the conventional `nvcr-pull-secret` that // operators or the install flow may already manage in 'default'. - // Pairs with isManagedByValidatorCLI label guard for defense-in-depth. // // The name is suffixed per role by validatorPullSecretRoleName: ModeSplit // runs both validators concurrently, and the two kubecontexts can resolve // to the same cluster. One shared Secret means the role that finishes first // deletes it while the other Job is still pulling, which the kubelet // reports as FailedToRetrieveImagePullSecret. - validatorPullSecretName = "nvcf-preflight-pull-secret" - validatorPullSecretScanTimeout = 10 * time.Second + validatorPullSecretName = "nvcf-preflight-pull-secret" ) // validatorPullSecretRoleName returns the managed pull-secret name for a role. @@ -374,15 +372,6 @@ func dockerCfgFromConfigJSON(cfg []byte) ([]byte, error) { return json.Marshal(doc.Auths) } -// isManagedByValidatorCLI reports whether a Secret carries the labels this CLI -// stamps on the ones it creates. Necessary but not sufficient for ownership: -// the labels are three public constants anyone can copy onto a Secret they -// pre-create, which is why the generated names are run-scoped and the write -// path is create-only rather than adopt-or-update. -func isManagedByValidatorCLI(s *corev1.Secret) bool { - return hasValidatorManagedLabels(s.Labels) -} - // isAnyValidatorSecret reports whether a Secret was minted by any version of // this CLI's validator, including released ones that label with // managed-by=nvcf-cli and use the bare nvcf-preflight-pull-secret name. Such a diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index b7da7ce6f0..67ecb0ad40 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -30,6 +30,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/fake" ktesting "k8s.io/client-go/testing" @@ -379,6 +380,17 @@ func TestWriteDockerConfigSecret_IsHiddenFromReleasedScans(t *testing.T) { assert.Equal(t, "key", entries["nvcr.io"].Password) } +// clusterValidatorRoleLabels are the managed labels plus the role, with no run +// ID. +func clusterValidatorRoleLabels(role string) map[string]string { + return clusterValidatorRunLabels(role, "", false) +} + +// validatorRoleSelector matches the objects this CLI created for one role. +func validatorRoleSelector(role string) string { + return labels.SelectorFromSet(clusterValidatorRoleLabels(role)).String() +} + // The managed labels a created secret carries must satisfy the sweep selector // for that role, and must not satisfy another role's. func TestManagedPullSecret_LabelsMatchOnlyItsOwnRole(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index e2dd4de61a..7e6c8a3c3c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -402,6 +402,10 @@ type StackValues struct { // install, because their release condition is off: nats, openbao or // cassandra. The validator reads them as NVCF_EXTERNAL_COMPONENTS. ExternalComponents []string + // StorageClass is global.storageClass, the class every stack PVC names. + // The validator reads it as NVCF_STORAGE_CLASS and then checks that class + // instead of requiring a default one. + StorageClass string } // LoadStackValues reads files in order and layers each over the previous, @@ -418,6 +422,7 @@ func LoadStackValues(files []string) StackValues { EnvoyGatewayNamespace: digString(merged, "ingress", "gatewayApi", "controllerNamespace"), Gateways: stackGateways(merged), ExternalComponents: stackExternalComponents(merged), + StorageClass: digString(merged, "global", "storageClass"), } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 81d3eef36a..ba4809f27b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -498,6 +498,17 @@ global: assert.Equal(t, "harbor.corp.example", LoadStackValues([]string{base, env}).ImageRegistry) } +// global.storageClass is the class every stack PVC names; an environment file +// sets it over base.yaml's empty default. +func TestLoadStackValues_StorageClass(t *testing.T) { + dir := t.TempDir() + base, env := filepath.Join(dir, "base.yaml"), filepath.Join(dir, "prod.yaml") + require.NoError(t, writeFile(base, []byte("global:\n storageClass: \"\"\n"))) + require.NoError(t, writeFile(env, []byte("global:\n storageClass: fast-ssd\n"))) + assert.Empty(t, LoadStackValues([]string{base}).StorageClass) + assert.Equal(t, "fast-ssd", LoadStackValues([]string{base, env}).StorageClass) +} + // A registry value carrying a path is valid for the stack, which renders // registry + "/" + repository. It must still be probed, and it must still // suppress the nvcr.io guess, rather than dropping the whole category. @@ -871,10 +882,12 @@ func TestProbeRegistryCredential_RetriesTransientFailures(t *testing.T) { prevBackoff := registryRetryBackoff registryRetryBackoff = time.Millisecond t.Cleanup(func() { registryRetryBackoff = prevBackoff }) + // Two 429s in a row, then a token: written out rather than derived from + // registryRetryAttempts, so lowering the default fails here. calls := 0 reg := newFakeRegistry(t, bearerChallenge, func(w http.ResponseWriter) { calls++ - if calls < registryRetryAttempts { + if calls <= 2 { w.Header().Set("Retry-After", "0") w.WriteHeader(http.StatusTooManyRequests) return @@ -883,7 +896,7 @@ func TestProbeRegistryCredential_RetriesTransientFailures(t *testing.T) { }) dockerHome(t, inlineDockerConfig(t, reg.host, "u", "p", "")) assert.NoError(t, probeRegistryCredential(context.Background(), reg.host, "", true)) - assert.Equal(t, registryRetryAttempts, calls) + assert.Equal(t, 3, calls) } // A rejected NGC API key on a run that checks an installed stack is a diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index ab971f3c45..7021f6a0b6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -686,7 +686,7 @@ func TestStaleNamespaceCheck_StuckStaysAnErrorBesideAProbeError(t *testing.T) { assert.Equal(t, SeverityError, r.Severity) assert.Contains(t, r.Message, "cassandra-system (stuck Terminating)") assert.Contains(t, r.Message, "could not probe: vault-system") - assert.ErrorIs(t, r.Err, readErr) + assert.NoError(t, r.Err, "the stuck namespace is a finding, so the row is not graded as a probe that failed") // Without a stuck namespace the same pair is a warning that still lists // what was found. diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml index 5903db411b..86712fdc71 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml +++ b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml @@ -46,7 +46,9 @@ control-plane: - {group: admissionregistration.k8s.io, resource: validatingwebhookconfigurations, verbs: [list], callers: [checkWebhookSupport]} - {group: networking.k8s.io, resource: networkpolicies, verbs: [list], callers: [checkNetworkPolicies]} + - {group: networking.k8s.io, resource: networkpolicies, verbs: [create], callers: [n2nProbe.run]} - {group: storage.k8s.io, resource: storageclasses, verbs: [list], callers: [checkStorageClass]} + - {group: storage.k8s.io, resource: storageclasses, verbs: [get], callers: [checkNamedStorageClass]} - {group: apps, resource: daemonsets, verbs: [list], callers: [sweepLegacyOrphanN2NDaemonSets, listEnvoyProxies]} - {group: apps, resource: daemonsets, verbs: [create, delete], callers: [checkNodeToNode, sweepLegacyOrphanN2NDaemonSets]} From 00bdf25b3c4959319b2cff5e2dd049ed084d2b0e Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 03:41:38 +0530 Subject: [PATCH 068/127] fix(nvcf-cli): match the validator pod grace, security context and compute-plane RBAC to the chart Signed-off-by: rohithb --- .../internal/selfhosted/clustervalidator.go | 27 ++++++++++++------- .../selfhosted/clustervalidator_test.go | 11 ++++++-- .../testdata/validator_api_calls.yaml | 16 ++++++----- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 8f9db9d1c8..147b625c1b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -97,11 +97,16 @@ const validatorGradeReads = 4 // termination grace must fall inside validatorDeadlineGrace, the wait for it. const validatorDeadlineOffset = 60 * time.Second +// validatorTeardownBudget is the longest an interrupted validator spends +// removing its node-to-node probe: the DaemonSet, the pods and the namespace, +// one after another, each with its own 20s budget. +const validatorTeardownBudget = 3 * 20 * time.Second + // clusterValidatorTerminationGrace is the validator pod's termination grace -// period. On SIGTERM the validator deletes its probe DaemonSet, pods and -// namespace, and the default 30s let the kubelet kill it before the namespace -// delete was sent. -const clusterValidatorTerminationGrace = 60 * time.Second +// period, the same as the chart's nvcaop.clusterValidatorJobSpec. It leaves +// room past validatorTeardownBudget, so the kubelet does not kill the pod +// before the probe namespace is deleted. +const clusterValidatorTerminationGrace = 120 * time.Second // ClusterValidatorRunCeiling is the longest one validator run can take: its // own timeout, then on a timeout the wait for the Job's deadline to end the @@ -1080,9 +1085,10 @@ func validatorClusterRules(role string) []rbacv1.PolicyRule { if role != clusterValidatorControlPlaneRole { return append([]rbacv1.PolicyRule{ // Read-only, except that every run deletes the netpol-validation - // namespaces an earlier enforcement run left behind. + // and node-to-node probe namespaces earlier runs left behind, and + // force-deletes the probe pods that keep one stuck Terminating. {APIGroups: []string{""}, Resources: []string{"nodes"}, Verbs: []string{"list"}}, - {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"list"}}, + {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"list", "delete"}}, {APIGroups: []string{""}, Resources: []string{"namespaces"}, Verbs: []string{"get", "list", "delete"}}, // SMB CSI driver and its version, read from its Deployment. {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"csidrivers"}, Verbs: []string{"get"}}, @@ -1502,9 +1508,11 @@ func buildClusterValidatorJob( TerminationGracePeriodSeconds: &grace, Tolerations: append(clusterValidatorTolerations(), tolerations...), SecurityContext: &corev1.PodSecurityContext{ - RunAsUser: &runAsUser, - RunAsGroup: &runAsUser, - FSGroup: &runAsUser, + RunAsUser: &runAsUser, + RunAsGroup: &runAsUser, + FSGroup: &runAsUser, + RunAsNonRoot: &runAsNonRoot, + SeccompProfile: &corev1.SeccompProfile{Type: corev1.SeccompProfileTypeRuntimeDefault}, }, Containers: []corev1.Container{{ Name: clusterValidatorContainer, @@ -1516,7 +1524,6 @@ func buildClusterValidatorJob( ReadOnlyRootFilesystem: &readOnlyRoot, AllowPrivilegeEscalation: &allowPrivEsc, Capabilities: &corev1.Capabilities{Drop: []corev1.Capability{"ALL"}}, - SeccompProfile: &corev1.SeccompProfile{Type: corev1.SeccompProfileTypeRuntimeDefault}, }, Env: []corev1.EnvVar{ {Name: "VALIDATOR_CONFIG_NAMESPACE", Value: clusterValidatorNamespace}, diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index e7e8abb789..0da28e372f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -924,6 +924,10 @@ func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { require.NotNil(t, spec.SecurityContext, "pod security context is required under restricted") require.NotNil(t, spec.SecurityContext.RunAsUser) assert.Equal(t, int64(65534), *spec.SecurityContext.RunAsUser, "chart runs this image as 65534") + require.NotNil(t, spec.SecurityContext.RunAsNonRoot) + assert.True(t, *spec.SecurityContext.RunAsNonRoot) + require.NotNil(t, spec.SecurityContext.SeccompProfile) + assert.Equal(t, corev1.SeccompProfileTypeRuntimeDefault, spec.SecurityContext.SeccompProfile.Type) require.Len(t, spec.Containers, 1) sc := spec.Containers[0].SecurityContext @@ -934,8 +938,11 @@ func TestBuildClusterValidatorJob_MatchesChartPodShape(t *testing.T) { assert.False(t, *sc.AllowPrivilegeEscalation) require.NotNil(t, sc.Capabilities) assert.Equal(t, []corev1.Capability{"ALL"}, sc.Capabilities.Drop) - require.NotNil(t, sc.SeccompProfile) - assert.Equal(t, corev1.SeccompProfileTypeRuntimeDefault, sc.SeccompProfile.Type) + + // An interrupted validator removes its probe before it exits; a shorter + // grace period lets the kubelet kill it with the probe namespace left. + require.NotNil(t, spec.TerminationGracePeriodSeconds) + assert.Greater(t, time.Duration(*spec.TerminationGracePeriodSeconds)*time.Second, validatorTeardownBudget) var keys []string for _, tol := range spec.Tolerations { diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml index 86712fdc71..efb13f585a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml +++ b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml @@ -13,9 +13,11 @@ compute-plane: - {group: "", resource: nodes, verbs: [list], callers: [checkPrerequisites, checkControlPlaneHealth, detectManagedClusterProvider, checkGPUResources]} - {group: "", resource: pods, verbs: [list], - callers: [checkControlPlaneHealth, checkNetworkPolicies, checkGPUOperator]} + callers: [checkControlPlaneHealth, checkNetworkPolicies, checkGPUOperator, forceDeleteProbePods]} + - {group: "", resource: pods, verbs: [delete], callers: [forceDeleteProbePods]} - {group: "", resource: namespaces, verbs: [get], callers: [checkGPUOperator]} - - {group: "", resource: namespaces, verbs: [list, delete], callers: [sweepOrphanTestNamespaces]} + - {group: "", resource: namespaces, verbs: [list, delete], + callers: [sweepOrphanTestNamespaces, sweepOrphanN2NNamespaces]} - {group: admissionregistration.k8s.io, resource: mutatingwebhookconfigurations, verbs: [list], callers: [checkWebhookSupport]} - {group: admissionregistration.k8s.io, resource: validatingwebhookconfigurations, verbs: [list], @@ -33,8 +35,10 @@ control-plane: - {group: "", resource: nodes, verbs: [list], callers: [checkPrerequisites, checkControlPlaneHealth, detectManagedClusterProvider, checkNodeToNode]} - {group: "", resource: pods, verbs: [list], - callers: [checkControlPlaneHealth, checkNetworkPolicies, checkEnvoyGateway, waitForProbePods, assess]} - - {group: "", resource: pods, verbs: [create, delete], callers: [runNodeToNodeChecker, checkNodeToNode]} + callers: [checkControlPlaneHealth, checkNetworkPolicies, checkEnvoyGateway, waitForProbePods, assess, + forceDeleteProbePods]} + - {group: "", resource: pods, verbs: [create], callers: [n2nProbe.runChecker]} + - {group: "", resource: pods, verbs: [delete], callers: [forceDeleteProbePods]} - {group: "", resource: namespaces, verbs: [get], callers: [checkEnvoyGateway]} - {group: "", resource: namespaces, verbs: [list, delete], callers: [sweepOrphanTestNamespaces, sweepOrphanN2NNamespaces, checkNodeToNode]} @@ -56,9 +60,9 @@ control-plane: - {group: apps, resource: statefulsets, verbs: [list], callers: [scanNamespace]} - {group: apps, resource: controllerrevisions, verbs: [get], callers: [updateRevisionCreated]} - {group: gateway.networking.k8s.io, resource: gateways, verbs: [list], - callers: [nvcfGatewayClassesIn, nvcfGatewayImplementations]} + callers: [nvcfGatewayClassOf]} - {group: gateway.networking.k8s.io, resource: gatewayclasses, verbs: [list], - callers: [nvcfGatewayImplementations]} + callers: [gatewayClassControllers]} - {group: gateway.networking.k8s.io, resource: httproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} - {group: gateway.networking.k8s.io, resource: grpcroutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} - {group: gateway.networking.k8s.io, resource: tcproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} From 3a557b0623e3cdad2b4082c6ca6611f2c92f8218 Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 04:29:12 +0530 Subject: [PATCH 069/127] test(nvcf-cli): use placeholder registry hosts in test fixtures Signed-off-by: rohithb --- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 2 +- .../internal/selfhosted/credhelper_test.go | 2 +- .../internal/selfhosted/pullsecret_test.go | 8 ++-- .../internal/selfhosted/registry_cred_test.go | 4 +- .../internal/selfhosted/validatortag_test.go | 40 +++++++++---------- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index 02c1fa3614..f47d90407d 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -169,7 +169,7 @@ api_keys_owner_id: svc@nvcf-api.local # for the run from this machine's credential for the image's registry: the # docker login, or NGC_API_KEY for nvcr.io only. # -# Staging: stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator (docker login stg.nvcr.io) +# Staging: stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator # Prod: nvcr.io/nvidia/nvcf-byoc/cluster-validator # cluster_validator_image: nvcr.io/nvidia/nvcf-byoc/cluster-validator diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index ca60b98505..ab747cdeee 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -204,7 +204,7 @@ func TestRegistryCredentials_NGCKeyOrder(t *testing.T) { require.True(t, ok) assert.Equal(t, "env-key", cred.pass, "without a docker login the key is the fallback") - for _, reg := range []string{"quay.io", "stg.nvcr.io", "nvcr.io:443@attacker.example", "nvcr.io.attacker.example"} { + for _, reg := range []string{"quay.io", "example.nvcr.io", "nvcr.io:443@attacker.example", "nvcr.io.attacker.example"} { for _, prefer := range []bool{true, false} { cred, _, _ := NewRegistryCredentials(prefer).lookup(ctx, reg) assert.NotEqual(t, "env-key", cred.pass, "the NGC key is never sent to %s", reg) diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 67ecb0ad40..bc0d81b617 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -263,16 +263,16 @@ func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T assert.Contains(t, note, "from NVCF_NGC_API_KEY") assert.Equal(t, []string{"nvcr.io"}, mintedKeys(t, minted(t, client))) - dockerHome(t, inlineDockerConfig(t, "stg.nvcr.io", "robot", "pw", "")) + dockerHome(t, inlineDockerConfig(t, "example.nvcr.io", "robot", "pw", "")) client = fake.NewSimpleClientset() - name, note, err = resolvePullSecret(t, client, "stg.nvcr.io/nvidia/cv:1") + name, note, err = resolvePullSecret(t, client, "example.nvcr.io/nvidia/cv:1") require.NoError(t, err) assert.Equal(t, runName, name, "a docker login reaches the Job the row approved it for") assert.Contains(t, note, "docker config") secret := minted(t, client) assert.NotContains(t, string(secret.Data[corev1.DockerConfigKey]), "nvapi-fallback", "the NGC key never goes to another registry") - assert.Equal(t, []string{"stg.nvcr.io"}, mintedKeys(t, secret)) + assert.Equal(t, []string{"example.nvcr.io"}, mintedKeys(t, secret)) } // The NGC key is minted for nvcr.io only. Another registry, staging NGC @@ -280,7 +280,7 @@ func TestResolveValidatorPullSecret_MintsTheCredentialTheRowChecked(t *testing.T func TestResolveValidatorPullSecret_NGCKeyOnlyForNvcrIO(t *testing.T) { t.Setenv("NGC_API_KEY", "nvapi-test-123") for _, image := range []string{ - "stg.nvcr.io/a/b:1", "registry.example.nvidia.com:5000/a/b:1", "ghcr.io/a/b:1", "bareimage", + "example.nvcr.io/a/b:1", "registry.example.nvidia.com:5000/a/b:1", "ghcr.io/a/b:1", "bareimage", } { client := fake.NewSimpleClientset() got, _, err := resolvePullSecret(t, client, image) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index ba4809f27b..2d6b56fd8c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -221,13 +221,13 @@ func TestEnumerateRegistries_StackValuesFile(t *testing.T) { require.NoError(t, writeFile(valuesPath, []byte(` global: image: - registry: stg.nvcr.io + registry: example.nvcr.io `))) entries := EnumerateRegistries("nvcr.io/some/image:1.0", LoadStackValues([]string{valuesPath}), nil) found := false for _, e := range entries { - if e.Registry == "stg.nvcr.io" { + if e.Registry == "example.nvcr.io" { assert.True(t, e.Critical, "NGC staging registry must be critical") found = true } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 15cfc2c79f..eaf22a1dfb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -45,9 +45,9 @@ func TestParseImageRef(t *testing.T) { tag string wantOK bool }{ - {"full tag", "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26", "stg.nvcr.io", "nvidia/nvcf-byoc/cluster-validator", "3.0.0-rc.26", true}, + {"full tag", "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26", "example.nvcr.io", "nvidia/nvcf-byoc/cluster-validator", "3.0.0-rc.26", true}, {"digest", "nvcr.io/foo/bar@sha256:abc", "nvcr.io", "foo/bar", "sha256:abc", true}, - {"no tag", "stg.nvcr.io/foo/bar", "stg.nvcr.io", "foo/bar", "", true}, + {"no tag", "example.nvcr.io/foo/bar", "example.nvcr.io", "foo/bar", "", true}, {"localhost with port", "localhost:5000/foo:latest", "localhost:5000", "foo", "latest", true}, {"docker hub shorthand", "foo/bar:latest", "registry-1.docker.io", "foo/bar", "latest", true}, {"docker hub library image", "busybox:1.36", "registry-1.docker.io", "library/busybox", "1.36", true}, @@ -55,8 +55,8 @@ func TestParseImageRef(t *testing.T) { {"port and tag and digest", "reg.example.com:5000/a/b:1@sha256:abc", "reg.example.com:5000", "a/b", "sha256:abc", true}, {"empty", "", "", "", "", false}, - {"dotted single name is a Docker Hub name", "stg.nvcr.io", "registry-1.docker.io", "library/stg.nvcr.io", "", true}, - {"only a registry", "stg.nvcr.io/", "", "", "", false}, + {"dotted single name is a Docker Hub name", "example.nvcr.io", "registry-1.docker.io", "library/example.nvcr.io", "", true}, + {"only a registry", "example.nvcr.io/", "", "", "", false}, {"userinfo moves the host", "nvcr.io@attacker.example/nvidia/cv", "", "", "", false}, {"fragment moves the host", "attacker.example#.nvcr.io/nvidia/cv", "", "", "", false}, {"bad port", "nvcr.io:44x/nvidia/cv", "", "", "", false}, @@ -134,7 +134,7 @@ func TestResolveLatestValidatorTag_HonorsPinnedTag(t *testing.T) { // Pre-populate cache to prove discovery is short-circuited regardless. // If the function ever consulted the cache for a tagged input, this // test would fail by returning the cached-substituted value. - const baseImage = "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.5" + const baseImage = "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.5" require.NoError(t, writeValidatorTagCache(baseImage, "3.0.0-rc.99")) got, ok := ResolveLatestValidatorTag(context.Background(), baseImage) @@ -147,12 +147,12 @@ func TestResolveLatestValidatorTag_TaglessTriggersDiscoveryFromCache(t *testing. // Mirror of the test above for the tagless case: discovery (here // from cache) should run and substitute the resolved tag. withTempCacheDir(t) - const baseImage = "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator" + const baseImage = "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator" require.NoError(t, writeValidatorTagCache(baseImage, "3.0.0-rc.99")) got, ok := ResolveLatestValidatorTag(context.Background(), baseImage) require.True(t, ok) - assert.Equal(t, "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.99", got) + assert.Equal(t, "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.99", got) } // withTempCacheDir redirects HOME so the cache lives in a temp dir for the @@ -167,7 +167,7 @@ func withTempCacheDir(t *testing.T) { func TestValidatorTagCache_RoundTrip(t *testing.T) { withTempCacheDir(t) - const baseImage = "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26" + const baseImage = "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26" _, ok := readValidatorTagCache(baseImage) assert.False(t, ok, "empty cache must miss") @@ -182,7 +182,7 @@ func TestValidatorTagCache_RoundTrip(t *testing.T) { func TestValidatorTagCache_TTLExpiry(t *testing.T) { withTempCacheDir(t) - const baseImage = "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26" + const baseImage = "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26" require.NoError(t, writeValidatorTagCache(baseImage, "3.0.0-rc.99")) // Rewrite cache file with a stale fetched_at timestamp. @@ -205,7 +205,7 @@ func TestValidatorTagCache_TTLExpiry(t *testing.T) { func TestValidatorTagCache_PerImageKeying(t *testing.T) { withTempCacheDir(t) - const imgA = "stg.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26" + const imgA = "example.nvcr.io/nvidia/nvcf-byoc/cluster-validator:3.0.0-rc.26" const imgB = "nvcr.io/nvidia/other/cluster-validator:1.0.0" require.NoError(t, writeValidatorTagCache(imgA, "3.0.0-rc.99")) @@ -237,7 +237,7 @@ func TestCredsFromDockerConfig(t *testing.T) { cfg := map[string]any{ "auths": map[string]any{ - "stg.nvcr.io": map[string]any{ + "example.nvcr.io": map[string]any{ // base64("$oauthtoken:fake-key") "auth": "JG9hdXRodG9rZW46ZmFrZS1rZXk=", }, @@ -246,7 +246,7 @@ func TestCredsFromDockerConfig(t *testing.T) { body, _ := json.MarshalIndent(cfg, "", " ") require.NoError(t, os.WriteFile(filepath.Join(dockerDir, "config.json"), body, 0o600)) - user, pass, ok := credsFor(t, "stg.nvcr.io") + user, pass, ok := credsFor(t, "example.nvcr.io") require.True(t, ok) assert.Equal(t, "$oauthtoken", user) assert.Equal(t, "fake-key", pass) @@ -278,7 +278,7 @@ func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { t.Setenv("NGC_API_KEY", "ngc-key") login := base64.StdEncoding.EncodeToString([]byte("robot:own-login")) auths := map[string]any{} - for _, host := range []string{"nvcr.io", "stg.nvcr.io", "registry.example.nvidia.com:5000"} { + for _, host := range []string{"nvcr.io", "example.nvcr.io", "registry.example.nvidia.com:5000"} { auths[host] = map[string]string{"auth": login} } cfg, err := json.Marshal(map[string]any{"auths": auths}) @@ -289,7 +289,7 @@ func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { for host, wantPass := range map[string]string{ "nvcr.io": "ngc-key", "NVCR.IO:443": "ngc-key", - "stg.nvcr.io": "own-login", + "example.nvcr.io": "own-login", "registry.example.nvidia.com:5000": "own-login", } { cred, ok, _ := NewRegistryCredentials(true).lookup(context.Background(), host) @@ -365,8 +365,8 @@ func TestParseWWWAuthenticate_CaseInsensitiveBearer(t *testing.T) { func TestIsNGCRegistry(t *testing.T) { // Valid NGC registries. assert.True(t, isNGCRegistry("nvcr.io")) - assert.True(t, isNGCRegistry("stg.nvcr.io")) - assert.True(t, isNGCRegistry("registry.nvidia.com")) + assert.True(t, isNGCRegistry("example.nvcr.io")) + assert.True(t, isNGCRegistry("registry.example.nvidia.com")) assert.True(t, isNGCRegistry("nvcr.io:443"), "port must be stripped before matching") // Non-NGC registries must be rejected. @@ -509,7 +509,7 @@ func TestExchangeNGCBearerToken_RejectsNonNGCRegistry(t *testing.T) { // guard fires before any network activity. t.Setenv("NGC_API_KEY", "test-key") // configure a credential so a missing guard would reach the transport client := &http.Client{Transport: &spyTransport{t: t}} - for _, reg := range []string{"harbor.company.internal", "stg.nvcr.io", "nvcr.io:443@attacker.example"} { + for _, reg := range []string{"harbor.company.internal", "example.nvcr.io", "nvcr.io:443@attacker.example"} { _, err := exchangeNGCBearerToken(context.Background(), client, reg, "myrepo/image", ®istryCredential{user: "$oauthtoken", pass: "test-key", ngcKey: true}) require.Error(t, err, "%s must be rejected without issuing a request", reg) @@ -527,7 +527,7 @@ func TestIsNGCRegistry_RejectsHostConfusion(t *testing.T) { why string }{ {"nvcr.io", true, "the canonical host"}, - {"stg.nvcr.io", true, "a real subdomain"}, + {"example.nvcr.io", true, "a real subdomain"}, {"evil.com/x.nvcr.io", false, "path component: the request host is evil.com"}, {"evil.com@nvcr.io", false, "userinfo: not a bare host"}, {"nvcr.io?x=.nvcr.io", false, "query truncates the host"}, @@ -592,7 +592,7 @@ func TestExchangeBearerToken_NoNVIDIAWideRealmGrant(t *testing.T) { client := &http.Client{Transport: rec} for _, tc := range []struct{ registry, realm string }{ {"nvcr.io", "https://authn.nvidia.com/token"}, - {"stg.nvcr.io", "https://nvcr.io/proxy_auth"}, + {"example.nvcr.io", "https://nvcr.io/proxy_auth"}, {"nvcr.io", "https://x.ngc.nvidia/token"}, {"registry.example.nvidia.com:5000", "https://nvcr.io/proxy_auth"}, } { @@ -649,7 +649,7 @@ func TestExchangeBearerToken_RefusesHTTPRealm(t *testing.T) { func TestIsNGCKeyRegistry(t *testing.T) { for reg, want := range map[string]bool{ "nvcr.io": true, "NVCR.io:443": true, "nvcr.io:5000": true, - "stg.nvcr.io": false, "nvcr.io:443@attacker.example": false, "attacker.example/nvcr.io": false, + "example.nvcr.io": false, "nvcr.io:443@attacker.example": false, "attacker.example/nvcr.io": false, "nvcr.io#.attacker.example": false, "nvcr.io.attacker.example": false, } { assert.Equal(t, want, isNGCKeyRegistry(reg), reg) From 370eb3f714f0885d6040386bfbab22b3ee3b26ed Mon Sep 17 00:00:00 2001 From: rohithb Date: Sun, 4 Oct 2026 05:03:08 +0530 Subject: [PATCH 070/127] fix(nvcf-cli): give local and registry checks their own time share Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 5 +- .../cmd/self_hosted_check_rows_test.go | 6 +-- .../nvcf-cli/internal/selfhosted/preflight.go | 48 +++++++++++++++++-- .../internal/selfhosted/preflight_test.go | 43 +++++++++++++++++ 4 files changed, 92 insertions(+), 10 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index fe99269015..6af1beda54 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -1270,7 +1270,8 @@ func parseCheckWait(raw string) (time.Duration, error) { } // checkRunBudget is the command's outer time budget. Each role invocation gets -// the probe share, which it enforces on the checks before its validator, plus +// the local share, for the checks that run on this machine, and the probe +// share, which it enforces on the cluster checks before its validator, plus // the validator's longest run when one is configured: its own timeout, the // wait after it for the Job's deadline to end the pod, the reads that grade // it and the sweeps. Sizing on the validator's timeout alone ran the budget @@ -1278,7 +1279,7 @@ func parseCheckWait(raw string) (time.Duration, error) { // own failure. ModeSingle runs the two roles in turn, so each needs a share; // ModeSplit runs them in parallel. --wait polls for its duration on top. func checkRunBudget(mode kubectx.Mode, localOnly, validatorConfigured bool, wait time.Duration) time.Duration { - perRole := selfhosted.CheckProbeShare() + perRole := selfhosted.LocalCheckShare() + selfhosted.CheckProbeShare() if validatorConfigured { perRole += selfhosted.ClusterValidatorRunCeiling() } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index 99ec44551d..a1aad4d3ab 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -402,11 +402,11 @@ func TestCheck_ForceFailEnvIsIgnored(t *testing.T) { assert.NotContains(t, run.stderr, "force-fail") } -// The outer budget, term by term: each role invocation gets the probe share +// The outer budget, term by term: each role invocation gets the local and probe shares // plus the validator's run ceiling when one is configured; ModeSingle runs two // roles in turn, ModeSplit in parallel; --wait adds its duration. func TestCheck_BudgetTerms(t *testing.T) { - share, ceiling := selfhosted.CheckProbeShare(), selfhosted.ClusterValidatorRunCeiling() + share, ceiling := selfhosted.LocalCheckShare()+selfhosted.CheckProbeShare(), selfhosted.ClusterValidatorRunCeiling() image := []string{"--cluster-validator-image", pinnedValidatorImage} split := []string{"--control-plane-context", "cp-ctx", "--compute-plane-context", "gpu-ctx"} with := func(lists ...[]string) []string { @@ -497,7 +497,7 @@ func TestCheck_WaitDeadlineBeatsTheTicker(t *testing.T) { // Every flag set in both topologies: which roles run and where, what each // validator is told, which clusters are probed, and the budget. func TestCheck_FlagAndTopologyMatrix(t *testing.T) { - share, ceiling := selfhosted.CheckProbeShare(), selfhosted.ClusterValidatorRunCeiling() + share, ceiling := selfhosted.LocalCheckShare()+selfhosted.CheckProbeShare(), selfhosted.ClusterValidatorRunCeiling() for _, tc := range []struct { args []string cp, gpu bool // the clusters visited diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 94164b04b8..c1d9311d14 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1431,22 +1431,39 @@ var checkProbeShare = 2 * time.Minute // the validator still gets the time the run's budget sized it for. func CheckProbeShare() time.Duration { return checkProbeShare } +// localCheckShare bounds the checks that run on this machine: the local tools +// and the registry probes. They get their own share so a slow registry cannot +// spend the time set aside for the cluster checks. A var so tests can shorten +// it. +var localCheckShare = 90 * time.Second + +// LocalCheckShare is the time each role invocation sets aside for the checks +// that run on this machine, before its cluster checks. +func LocalCheckShare() time.Duration { return localCheckShare } + func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc RoleConfig, sink progress.EventSink) []CheckResult { var all []CheckResult interrupted := func() bool { return errors.Is(ctx.Err(), context.Canceled) || (cfg.Interrupted != nil && cfg.Interrupted()) } - // The probes end early enough for a probe pod's cleanup, which outlives - // its probe, to finish inside the share. - probeCtx, cancelProbes := context.WithTimeout(ctx, checkProbeShare-probePodCleanupTimeout) - defer cancelProbes() + localCtx, cancelLocal := context.WithTimeout(ctx, localCheckShare) + defer cancelLocal() + // The cluster share starts with the first cluster category, so the local + // checks before it cannot spend it. The probes end early enough for a + // probe pod's cleanup, which outlives its probe, to finish inside it. + clusterShare := &lazyTimeout{parent: ctx, d: checkProbeShare - probePodCleanupTimeout} + defer clusterShare.stop() categories := buildCategories(cfg, role, rc) for _, cat := range categories { + shareCtx := localCtx + if cat.role != RoleLocalOnly { + shareCtx = clusterShare.get() + } catStart := time.Now() var catResults []CheckResult for _, spec := range cat.checks { - checkCtx := probeCtx + checkCtx := shareCtx if spec.ownBudget { checkCtx = ctx } @@ -1502,6 +1519,27 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro return all } +// lazyTimeout is a context whose timeout starts on first use. +type lazyTimeout struct { + parent context.Context + d time.Duration + ctx context.Context + cancel context.CancelFunc +} + +func (l *lazyTimeout) get() context.Context { + if l.ctx == nil { + l.ctx, l.cancel = context.WithTimeout(l.parent, l.d) + } + return l.ctx +} + +func (l *lazyTimeout) stop() { + if l.cancel != nil { + l.cancel() + } +} + // normaliseResult applies the rules every row shares. A pass is info, whatever // severity the check set before it knew the outcome. A miss caused by the // spent budget, which ctx carries, is cut short: no finding either way. A diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index a31b4fb837..cea0aee94f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -958,6 +958,49 @@ func TestRunPreflight_ProbeShareBoundsTheChecksBeforeTheValidator(t *testing.T) assert.True(t, validator.Passed) } +// The checks that run on this machine have a share of their own: registry +// probes that hang cannot spend the time set aside for the cluster checks +// after them, and a run of local checks alone is still bounded. +func TestRunPreflight_LocalChecksDoNotSpendTheClusterShare(t *testing.T) { + prevLocal, prevShare, prevCleanup := localCheckShare, checkProbeShare, probePodCleanupTimeout + localCheckShare = 300 * time.Millisecond + checkProbeShare, probePodCleanupTimeout = 400*time.Millisecond, 100*time.Millisecond + t.Cleanup(func() { localCheckShare, checkProbeShare, probePodCleanupTimeout = prevLocal, prevShare, prevCleanup }) + + hang := func(ctx context.Context, _, _ string, _ bool) error { + <-ctx.Done() + return ctx.Err() + } + cfg := PreflightConfig{ + Registries: []RegistryEntry{{Registry: "a.example"}, {Registry: "b.example"}}, + RegistryChecker: hang, + } + var staleCtxErr error + rc := RoleConfig{ + StaleNamespaceProber: func(ctx context.Context, _ string, _ []string) ([]StaleNamespace, error) { + staleCtxErr = ctx.Err() + return nil, nil + }, + } + ctx, cancel := context.WithTimeout(context.Background(), time.Minute) + defer cancel() + + res := RunPreflightForRole(ctx, cfg, RoleControlPlane, rc, &captureSink{}) + stale := findResult(res, "stale-namespaces") + require.NotNil(t, stale) + assert.NoError(t, staleCtxErr, "the cluster check starts with its share intact") + assert.False(t, stale.CutShort, stale.Message) + assert.True(t, stale.Passed, stale.Message) + + start := time.Now() + local := RunPreflightForRole(ctx, cfg, RoleLocalOnly, RoleConfig{}, &captureSink{}) + assert.Less(t, time.Since(start), localCheckShare+200*time.Millisecond, "a local-only run is bounded") + require.NotEmpty(t, local) + for _, r := range local { + assert.True(t, r.CutShort, r.ID+": "+r.Message) + } +} + // The inotify probe's own bound, and the cleanup of its pods after it, fit in // the probe share, so a slow cluster is reported as nodes not probed rather // than cut short. From e1cea0650325ab74a94ecfaa27ad1bdc1aaad220 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 20:47:59 +0530 Subject: [PATCH 071/127] fix(nvcf-cli): grant the validator pods get and test its roles against the validator's RBAC inventory Signed-off-by: rohithb --- .../internal/selfhosted/clustervalidator.go | 11 +- .../selfhosted/clustervalidator_test.go | 217 ++++++++++++++---- .../selfhosted/testdata/rbac_inventory.yaml | 99 ++++++++ .../testdata/validator_api_calls.yaml | 74 ------ 4 files changed, 271 insertions(+), 130 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml delete mode 100644 src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 147b625c1b..3cae8d3081 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -1068,9 +1068,9 @@ func validatorConfigNames(role, runID string) []string { // validatorClusterRules are one role's cluster-wide grants: exactly the calls // the validator makes for that role when this CLI launches it, which is with // VALIDATOR_PREFLIGHT set, enforcement disabled and no networkPolicies pairs. -// testdata/validator_api_calls.yaml lists each call with the function that -// makes it, and a test holds these rules to that list. Discovery and the -// unauthenticated in-cluster /readyz dial need no grant. +// The validator's rbac_inventory.yaml lists every request it makes, by role, +// and a test holds these rules to that list less the grants only the summary +// write and the enforcement test use. Discovery needs no grant. func validatorClusterRules(role string) []rbacv1.PolicyRule { shared := []rbacv1.PolicyRule{ // Admission webhook inventory, for both roles. @@ -1098,10 +1098,11 @@ func validatorClusterRules(role string) []rbacv1.PolicyRule { return append([]rbacv1.PolicyRule{ {APIGroups: []string{""}, Resources: []string{"nodes", "services", "events"}, Verbs: []string{"list"}}, // The node-to-node probe creates and deletes its own namespace, - // DaemonSet and checker pods, and sweeps those of dead runs. + // DaemonSet and checker pods, reads each checker pod until it exits, + // and sweeps those of dead runs. {APIGroups: []string{""}, Resources: []string{"namespaces"}, Verbs: []string{"get", "list", "create", "delete"}}, - {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"list", "create", "delete"}}, + {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"get", "list", "create", "delete"}}, {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, Verbs: []string{"list", "create", "delete"}}, // The probe allows its own traffic in its namespace, so a default-deny // policy does not read as an overlay fault. The namespace delete diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index 0da28e372f..f1d1d7f63e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -18,11 +18,15 @@ limitations under the License. package selfhosted import ( + "bytes" "context" "errors" "fmt" + "io/fs" + "maps" "os" - "sort" + "path/filepath" + "slices" "strings" "sync/atomic" "testing" @@ -243,43 +247,101 @@ func TestRunClusterValidator_RBACNameCollisionIsNotAdopted(t *testing.T) { assert.Contains(t, res.Err.Error(), "bootstrapping validator RBAC") } -// validatorCall is one entry of testdata/validator_api_calls.yaml. -type validatorCall struct { - Group string `json:"group"` - Resource string `json:"resource"` - URL string `json:"url"` - Verbs []string `json:"verbs"` - Callers []string `json:"callers"` +// validatorRBACInventory is the validator's RBAC inventory, which lists every +// request it makes by check set. Bazel stages only this package's data, so +// there the test reads the checked-in copy instead. +var ( + validatorRBACInventory = filepath.Join("..", "..", "..", "..", "compute-plane-services", "nvca", "internal", + "clustervalidator", "rbac_inventory.yaml") + validatorRBACInventoryCopy = filepath.Join("testdata", "rbac_inventory.yaml") +) + +// readValidatorRBACInventory returns the inventory at src, or the copy when +// src does not exist. When both exist they must be identical, so the copy +// cannot drift from the validator. +func readValidatorRBACInventory(src, copyPath string) ([]byte, error) { + cp, err := os.ReadFile(copyPath) + if err != nil { + return nil, err + } + raw, err := os.ReadFile(src) + if errors.Is(err, fs.ErrNotExist) { + return cp, nil + } + if err != nil { + return nil, err + } + if !bytes.Equal(raw, cp) { + return nil, fmt.Errorf("%s differs from %s: copy the validator's file over it", copyPath, src) + } + return raw, nil } -// validatorRoleCalls are one role's calls, by the kind of grant they need. -type validatorRoleCalls struct { - Cluster []validatorCall `json:"cluster"` - NonResourceURLs []validatorCall `json:"nonResourceURLs"` - Namespaced []validatorCall `json:"namespaced"` +// validatorInventoryRule is one rule of the validator's RBAC inventory. +type validatorInventoryRule struct { + Roles []string `json:"roles"` + Scope string `json:"scope"` + APIGroup string `json:"apiGroup"` + Resources []string `json:"resources"` + ResourceNames []string `json:"resourceNames"` + NonResourceURLs []string `json:"nonResourceURLs"` + Verbs []string `json:"verbs"` } -// grantsOf flattens calls into sorted "group/resource:verb" and "url:verb" -// entries. -func grantsOf(t *testing.T, calls ...[]validatorCall) []string { - t.Helper() - set := map[string]bool{} - for _, list := range calls { - for _, c := range list { - require.NotEmpty(t, c.Callers, "every call names the validator function that makes it: %+v", c) - for _, v := range c.Verbs { - if c.URL != "" { - set[c.URL+":"+v] = true - } else { - set[c.Group+"/"+c.Resource+":"+v] = true - } +// inventoryGrants are the grants the inventory gives role, by scope, keyed as +// grantsOfRules keys them. A key maps to the resource names it is limited to, +// or to nil when it is not limited. +func inventoryGrants(rules []validatorInventoryRule, role string) map[string]map[string][]string { + grants := map[string]map[string][]string{"cluster": {}, "namespace": {}} + for _, r := range rules { + if !slices.Contains(r.Roles, role) { + continue + } + rule := rbacv1.PolicyRule{APIGroups: []string{r.APIGroup}, Resources: r.Resources, + NonResourceURLs: r.NonResourceURLs, Verbs: r.Verbs} + for _, k := range grantsOfRules([]rbacv1.PolicyRule{rule}) { + names, seen := grants[r.Scope][k] + switch { + case len(r.ResourceNames) == 0: + grants[r.Scope][k] = nil + case !seen || names != nil: + grants[r.Scope][k] = append(names, r.ResourceNames...) } } } - return sortedKeys(set) + return grants +} + +const ( + omitEnforcement = "only the enforcement test makes it, and the CLI's ConfigMap disables that test" + omitSummary = "only the summary write makes it, and VALIDATOR_PREFLIGHT suppresses that write" +) + +// cliOmittedGrants are the inventory grants this CLI's roles leave out, each +// with why the validator never makes that request when the CLI launches it. +// Only the control-plane set runs the node-to-node probe, which creates and +// reads pods outside the enforcement test. +var cliOmittedGrants = map[string]map[string]string{ + clusterValidatorComputePlaneRole: { + "/namespaces:create": omitEnforcement, + "/pods:create": omitEnforcement, + "/pods:get": omitEnforcement, + "networking.k8s.io/networkpolicies:create": omitEnforcement, + "networking.k8s.io/networkpolicies:update": omitEnforcement, + "networking.k8s.io/networkpolicies:delete": omitEnforcement, + "/configmaps:create": omitSummary, + "/configmaps:update": omitSummary, + }, + clusterValidatorControlPlaneRole: { + "networking.k8s.io/networkpolicies:update": omitEnforcement, + "networking.k8s.io/networkpolicies:delete": omitEnforcement, + "/configmaps:create": omitSummary, + "/configmaps:update": omitSummary, + }, } -// grantsOfRules flattens rules the same way grantsOf flattens calls. +// grantsOfRules flattens rules into sorted "group/resource:verb" and +// "url:verb" entries. func grantsOfRules(rules []rbacv1.PolicyRule) []string { set := map[string]bool{} for _, r := range rules { @@ -294,36 +356,89 @@ func grantsOfRules(rules []rbacv1.PolicyRule) []string { } } } - return sortedKeys(set) + return slices.Sorted(maps.Keys(set)) } -func sortedKeys(set map[string]bool) []string { - out := make([]string, 0, len(set)) - for k := range set { - out = append(out, k) +// assertGrants requires rules to grant exactly the keys of want, and a key +// the inventory limits to resource names only for some of those names. +func assertGrants(t *testing.T, want map[string][]string, rules []rbacv1.PolicyRule) { + t.Helper() + assert.Equal(t, slices.Sorted(maps.Keys(want)), grantsOfRules(rules)) + for _, r := range rules { + for _, k := range grantsOfRules([]rbacv1.PolicyRule{r}) { + if names := want[k]; names != nil { + assert.NotEmpty(t, r.ResourceNames, "the inventory grants %s only on %v", k, names) + assert.Subset(t, names, r.ResourceNames, "the inventory grants %s only on %v", k, names) + } + } } - sort.Strings(out) - return out } -// Each role's RBAC grants exactly the calls the validator makes for that role -// when this CLI launches it, as the checked-in inventory lists them: nothing -// it needs is missing, which turns a critical row UNKNOWN, and nothing it -// never calls, such as NetworkPolicy writes, is granted. The ConfigMap read is -// a namespaced Role limited to the names this run's Job can be pointed at. -func TestValidatorRBAC_MatchesTheValidatorsCalls(t *testing.T) { - raw, err := os.ReadFile("testdata/validator_api_calls.yaml") +// The copy is used only when the validator's file is absent, and must match +// it when both exist, so the test cannot keep passing against a stale copy. +func TestReadValidatorRBACInventory_CopyCannotDrift(t *testing.T) { + dir := t.TempDir() + src, cp := filepath.Join(dir, "src.yaml"), filepath.Join(dir, "copy.yaml") + require.NoError(t, os.WriteFile(cp, []byte("rules: []\n"), 0o600)) + + got, err := readValidatorRBACInventory(src, cp) + require.NoError(t, err, "without the validator's file the copy is used") + assert.Equal(t, "rules: []\n", string(got)) + + require.NoError(t, os.WriteFile(src, []byte("rules: []\n"), 0o600)) + got, err = readValidatorRBACInventory(src, cp) + require.NoError(t, err) + assert.Equal(t, "rules: []\n", string(got)) + + require.NoError(t, os.WriteFile(src, []byte("rules: [{}]\n"), 0o600)) + _, err = readValidatorRBACInventory(src, cp) + require.ErrorContains(t, err, "differs", "a copy that differs from the validator's file must fail") + + _, err = readValidatorRBACInventory(dir, cp) + require.Error(t, err, "a validator file that exists but cannot be read must not fall back to the copy") + + require.NoError(t, os.Remove(cp)) + _, err = readValidatorRBACInventory(src, cp) + require.Error(t, err, "the copy is required") +} + +// Each role's RBAC grants exactly what the validator's RBAC inventory gives +// that role, less the grants cliOmittedGrants names: nothing the validator +// requests when this CLI launches it is missing, which turns a critical row +// UNKNOWN, and nothing it never requests, such as NetworkPolicy updates, is +// granted. The ConfigMap read is a namespaced Role limited to the names this +// run's Job can be pointed at. +func TestValidatorRBAC_MatchesTheValidatorsInventory(t *testing.T) { + raw, err := readValidatorRBACInventory(validatorRBACInventory, validatorRBACInventoryCopy) require.NoError(t, err) - var inventory map[string]validatorRoleCalls + var inventory struct { + Rules []validatorInventoryRule `json:"rules"` + } require.NoError(t, yaml.UnmarshalStrict(raw, &inventory)) - roles := make([]string, 0, len(inventory)) - for role := range inventory { - roles = append(roles, role) + require.NotEmpty(t, inventory.Rules) + roles := map[string]bool{} + for _, r := range inventory.Rules { + require.Contains(t, []string{"cluster", "namespace"}, r.Scope, "%+v", r) + require.False(t, r.Scope == "namespace" && len(r.NonResourceURLs) > 0, + "a non-resource URL needs a cluster grant: %+v", r) + for _, role := range r.Roles { + roles[role] = true + } } - assert.ElementsMatch(t, []string{clusterValidatorControlPlaneRole, clusterValidatorComputePlaneRole}, roles) + assert.Equal(t, []string{clusterValidatorComputePlaneRole, clusterValidatorControlPlaneRole}, + slices.Sorted(maps.Keys(roles))) - for role, calls := range inventory { + for role := range roles { t.Run(role, func(t *testing.T) { + want := inventoryGrants(inventory.Rules, role) + for k := range cliOmittedGrants[role] { + _, cluster := want["cluster"][k] + _, namespaced := want["namespace"][k] + assert.True(t, cluster || namespaced, "%s is omitted but the inventory no longer grants it", k) + delete(want["cluster"], k) + delete(want["namespace"], k) + } + client := fake.NewSimpleClientset() created := runObjects{} require.NoError(t, ensureClusterValidatorRBAC(context.Background(), client, role, "runid", false, created)) @@ -331,7 +446,7 @@ func TestValidatorRBAC_MatchesTheValidatorsCalls(t *testing.T) { cr, err := client.RbacV1().ClusterRoles().Get(context.Background(), name, metav1.GetOptions{}) require.NoError(t, err) - assert.Equal(t, grantsOf(t, calls.Cluster, calls.NonResourceURLs), grantsOfRules(cr.Rules)) + assertGrants(t, want["cluster"], cr.Rules) for _, r := range cr.Rules { assert.Empty(t, r.ResourceNames) assert.NotContains(t, r.Verbs, "*") @@ -341,7 +456,7 @@ func TestValidatorRBAC_MatchesTheValidatorsCalls(t *testing.T) { r, err := client.RbacV1().Roles(clusterValidatorNamespace).Get(context.Background(), name, metav1.GetOptions{}) require.NoError(t, err) - assert.Equal(t, grantsOf(t, calls.Namespaced), grantsOfRules(r.Rules)) + assertGrants(t, want["namespace"], r.Rules) for _, rule := range r.Rules { assert.Equal(t, validatorConfigNames(role, "runid"), rule.ResourceNames) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml new file mode 100644 index 0000000000..c280cf6c0d --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml @@ -0,0 +1,99 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Every Kubernetes API request the cluster-validator makes, by check set +# (VALIDATOR_ROLE). This file is the one RBAC contract for every launcher: +# +# - TestRBACInventory_* in this package fail when a run makes a request +# that is not listed here, or when a listed request is never made. +# - deploy/helm/nvca-operator/tests/cluster_validator_test.sh renders the +# chart and requires its validator RBAC to grant exactly these rules. +# - nvcf-cli launches the compute-plane and control-plane sets with +# VALIDATOR_PREFLIGHT, enforcement off and no networkPolicies pairs, so its +# per-run roles grant the subset of these rules that launch makes. +# +# scope: cluster rules belong in a ClusterRole. scope: namespace rules only +# touch the validator's own namespace (its config and summary ConfigMaps), so a +# namespaced Role grants them. Discovery (/api, /apis) is not listed: every +# authenticated user can read it. +rules: + - roles: [compute-plane, control-plane] + scope: cluster + apiGroup: "" + resources: [nodes] + verbs: [list] + - roles: [compute-plane, control-plane] + scope: cluster + apiGroup: "" + resources: [namespaces] + verbs: [get, list, create, delete] + - roles: [compute-plane, control-plane] + scope: cluster + apiGroup: "" + resources: [pods] + verbs: [get, list, create, delete] + - roles: [control-plane] + scope: cluster + apiGroup: "" + resources: [services, events] + verbs: [list] + - roles: [compute-plane, control-plane] + scope: cluster + apiGroup: admissionregistration.k8s.io + resources: [mutatingwebhookconfigurations, validatingwebhookconfigurations] + verbs: [list] + - roles: [compute-plane, control-plane] + scope: cluster + apiGroup: networking.k8s.io + resources: [networkpolicies] + verbs: [list, create, update, delete] + - roles: [compute-plane] + scope: cluster + apiGroup: storage.k8s.io + resources: [csidrivers] + verbs: [get] + - roles: [control-plane] + scope: cluster + apiGroup: storage.k8s.io + resources: [storageclasses] + verbs: [get, list] + - roles: [compute-plane] + scope: cluster + apiGroup: apps + resources: [deployments] + verbs: [get, list] + - roles: [control-plane] + scope: cluster + apiGroup: apps + resources: [deployments, statefulsets] + verbs: [list] + - roles: [control-plane] + scope: cluster + apiGroup: apps + resources: [daemonsets] + verbs: [list, create, delete] + - roles: [control-plane] + scope: cluster + apiGroup: apps + resources: [controllerrevisions] + verbs: [get] + - roles: [control-plane] + scope: cluster + apiGroup: gateway.networking.k8s.io + resources: [gatewayclasses, gateways, httproutes, grpcroutes, tcproutes, udproutes] + verbs: [list] + - roles: [compute-plane, control-plane] + scope: namespace + apiGroup: "" + resources: [configmaps] + verbs: [get, create] + - roles: [compute-plane, control-plane] + scope: namespace + apiGroup: "" + resources: [configmaps] + resourceNames: [cluster-validator-summary] + verbs: [update] + - roles: [compute-plane, control-plane] + scope: cluster + nonResourceURLs: [/readyz, /version] + verbs: [get] diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml deleted file mode 100644 index efb13f585a..0000000000 --- a/src/clis/nvcf-cli/internal/selfhosted/testdata/validator_api_calls.yaml +++ /dev/null @@ -1,74 +0,0 @@ -# Kubernetes API calls the cluster-validator makes, per role, when nvcf-cli -# launches it: VALIDATOR_PREFLIGHT=true, the enforcement test disabled, and no -# networkPolicies pairs in its ConfigMap. Taken from the call sites in -# src/compute-plane-services/nvca/internal/clustervalidator, named under -# "callers". TestValidatorRBAC_MatchesTheValidatorsCalls holds the CLI's -# ClusterRole and Role to this list exactly, so a call added to the validator -# must be added here and granted, and a grant nothing calls must go. -# -# Discovery and the in-cluster /readyz dial, which sends no credentials, need -# no grant and are not listed. -compute-plane: - cluster: - - {group: "", resource: nodes, verbs: [list], - callers: [checkPrerequisites, checkControlPlaneHealth, detectManagedClusterProvider, checkGPUResources]} - - {group: "", resource: pods, verbs: [list], - callers: [checkControlPlaneHealth, checkNetworkPolicies, checkGPUOperator, forceDeleteProbePods]} - - {group: "", resource: pods, verbs: [delete], callers: [forceDeleteProbePods]} - - {group: "", resource: namespaces, verbs: [get], callers: [checkGPUOperator]} - - {group: "", resource: namespaces, verbs: [list, delete], - callers: [sweepOrphanTestNamespaces, sweepOrphanN2NNamespaces]} - - {group: admissionregistration.k8s.io, resource: mutatingwebhookconfigurations, verbs: [list], - callers: [checkWebhookSupport]} - - {group: admissionregistration.k8s.io, resource: validatingwebhookconfigurations, verbs: [list], - callers: [checkWebhookSupport]} - - {group: networking.k8s.io, resource: networkpolicies, verbs: [list], callers: [checkNetworkPolicies]} - - {group: storage.k8s.io, resource: csidrivers, verbs: [get], callers: [checkSMBCSIDriver]} - - {group: apps, resource: deployments, verbs: [get, list], callers: [detectSMBVersion]} - nonResourceURLs: - - {url: /readyz, verbs: [get], callers: [probeReadyz]} - - {url: /version, verbs: [get], callers: [checkPrerequisites, checkControlPlaneHealth]} - namespaced: - - {group: "", resource: configmaps, verbs: [get], callers: [LoadNetworkCheckConfig]} -control-plane: - cluster: - - {group: "", resource: nodes, verbs: [list], - callers: [checkPrerequisites, checkControlPlaneHealth, detectManagedClusterProvider, checkNodeToNode]} - - {group: "", resource: pods, verbs: [list], - callers: [checkControlPlaneHealth, checkNetworkPolicies, checkEnvoyGateway, waitForProbePods, assess, - forceDeleteProbePods]} - - {group: "", resource: pods, verbs: [create], callers: [n2nProbe.runChecker]} - - {group: "", resource: pods, verbs: [delete], callers: [forceDeleteProbePods]} - - {group: "", resource: namespaces, verbs: [get], callers: [checkEnvoyGateway]} - - {group: "", resource: namespaces, verbs: [list, delete], - callers: [sweepOrphanTestNamespaces, sweepOrphanN2NNamespaces, checkNodeToNode]} - - {group: "", resource: namespaces, verbs: [create], callers: [createNodeToNodeNamespace]} - - {group: "", resource: services, verbs: [list], callers: [checkExternalLoadBalancerFor]} - - {group: "", resource: events, verbs: [list], callers: [probeSandboxEvents]} - - {group: admissionregistration.k8s.io, resource: mutatingwebhookconfigurations, verbs: [list], - callers: [checkWebhookSupport]} - - {group: admissionregistration.k8s.io, resource: validatingwebhookconfigurations, verbs: [list], - callers: [checkWebhookSupport]} - - {group: networking.k8s.io, resource: networkpolicies, verbs: [list], callers: [checkNetworkPolicies]} - - {group: networking.k8s.io, resource: networkpolicies, verbs: [create], callers: [n2nProbe.run]} - - {group: storage.k8s.io, resource: storageclasses, verbs: [list], callers: [checkStorageClass]} - - {group: storage.k8s.io, resource: storageclasses, verbs: [get], callers: [checkNamedStorageClass]} - - {group: apps, resource: daemonsets, verbs: [list], callers: [sweepLegacyOrphanN2NDaemonSets, listEnvoyProxies]} - - {group: apps, resource: daemonsets, verbs: [create, delete], - callers: [checkNodeToNode, sweepLegacyOrphanN2NDaemonSets]} - - {group: apps, resource: deployments, verbs: [list], callers: [scanNamespace, listEnvoyProxies]} - - {group: apps, resource: statefulsets, verbs: [list], callers: [scanNamespace]} - - {group: apps, resource: controllerrevisions, verbs: [get], callers: [updateRevisionCreated]} - - {group: gateway.networking.k8s.io, resource: gateways, verbs: [list], - callers: [nvcfGatewayClassOf]} - - {group: gateway.networking.k8s.io, resource: gatewayclasses, verbs: [list], - callers: [gatewayClassControllers]} - - {group: gateway.networking.k8s.io, resource: httproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} - - {group: gateway.networking.k8s.io, resource: grpcroutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} - - {group: gateway.networking.k8s.io, resource: tcproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} - - {group: gateway.networking.k8s.io, resource: udproutes, verbs: [list], callers: [discoverNVCFGatewaysIn]} - nonResourceURLs: - - {url: /readyz, verbs: [get], callers: [probeReadyz]} - - {url: /version, verbs: [get], callers: [checkPrerequisites, checkControlPlaneHealth]} - namespaced: - - {group: "", resource: configmaps, verbs: [get], callers: [LoadNetworkCheckConfig]} From 3e337e057d0976733b2690a9fcd204e1c26c3dbc Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 21:41:36 +0530 Subject: [PATCH 072/127] fix(nvcf-cli): grant the control-plane validator replicasets list to match its refreshed RBAC inventory Signed-off-by: rohithb --- .../nvcf-cli/internal/selfhosted/clustervalidator.go | 10 ++++++---- .../internal/selfhosted/testdata/rbac_inventory.yaml | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 3cae8d3081..4ca4e9afbb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -1112,10 +1112,12 @@ func validatorClusterRules(role string) []rbacv1.PolicyRule { // (NVCF_STORAGE_CLASS) is read by name. {APIGroups: []string{"storage.k8s.io"}, Resources: []string{"storageclasses"}, Verbs: []string{"get", "list"}}, // Tier-1 and Tier-2 readiness, and the Envoy proxies behind the NVCF - // Gateways. - {APIGroups: []string{"apps"}, Resources: []string{"deployments", "statefulsets"}, Verbs: []string{"list"}}, - // The creation time of a rolling StatefulSet's update revision dates - // its rollout, which Tier-2 bounds. + // Gateways. The newest ReplicaSet dates a Deployment rollout that no + // progress deadline bounds. + {APIGroups: []string{"apps"}, Resources: []string{"deployments", "replicasets", "statefulsets"}, + Verbs: []string{"list"}}, + // The creation time of a rolling StatefulSet's or DaemonSet's update + // revision dates its rollout, which Tier-1 and Tier-2 bound. {APIGroups: []string{"apps"}, Resources: []string{"controllerrevisions"}, Verbs: []string{"get"}}, // The validator follows every NVCF route kind's parentRefs to learn // which Gateways are NVCF's, and lists the GatewayClasses to tell diff --git a/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml b/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml index c280cf6c0d..18492386ee 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml +++ b/src/clis/nvcf-cli/internal/selfhosted/testdata/rbac_inventory.yaml @@ -65,7 +65,7 @@ rules: - roles: [control-plane] scope: cluster apiGroup: apps - resources: [deployments, statefulsets] + resources: [deployments, replicasets, statefulsets] verbs: [list] - roles: [control-plane] scope: cluster From 6237e8047de9ca28a48a24b77fa39311db6fbec8 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:31:07 +0530 Subject: [PATCH 073/127] fix(nvcf-cli): hold SIGPIPE from the first interrupt so a dead stderr reader cannot end check before its teardown Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 43 ++++++++---- .../cmd/self_hosted_check_scope_test.go | 69 ++++++++++++++++++- 2 files changed, 97 insertions(+), 15 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 6af1beda54..20c22497f3 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -235,10 +235,27 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // Without this the process exits on the signal and the validator's // cluster-wide ClusterRole, bound to a ServiceAccount in default, stays // behind until a later check's orphan sweep. - sigCtx, stop := signal.NotifyContext(runCtx, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) - defer stop() + sigCtx, cancelSig := context.WithCancel(runCtx) + defer cancelSig() + caught := make(chan os.Signal, 1) + signal.Notify(caught, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + defer signal.Stop(caught) held := make(chan os.Signal, 1) defer signal.Stop(held) + // interrupt ends the run on the first signal or the quit key. A second + // Ctrl-C then exits at once, through the default handler. SIGTERM and + // SIGHUP stay caught until return: CI follows its SIGINT with a SIGTERM a + // few seconds later. So does SIGPIPE, held before the run is cancelled: a + // signal to the process group also ends a pipe reading stderr, and the + // next write would otherwise kill the process mid-teardown. + var interruptOnce sync.Once + interrupt := func() { + interruptOnce.Do(func() { + signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGPIPE) + signal.Stop(caught) + cancelSig() + }) + } // interrupted is an explicit cancel, not the timeout below, which is a // child of sigCtx and leaves it live. interrupted := func() bool { return sigCtx.Err() != nil } @@ -287,7 +304,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } // A quit key in the dashboard cancels the run the way a signal does. - sink, err := selectCheckRendererFn(errOut, waitDur > 0, stop) + sink, err := selectCheckRendererFn(errOut, waitDur > 0, interrupt) if err != nil { return err } @@ -295,12 +312,10 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { starter.Start() } // After the first signal or quit key, say at once how to remove what the - // runs in progress may leave, before anything can end the process. A - // second Ctrl-C then exits at once, through the default handler. SIGTERM - // and SIGHUP stay caught until the bounded teardown ends: CI follows its - // SIGINT with a SIGTERM a few seconds later. + // runs in progress may leave, before anything can end the process. var noteOnce sync.Once noteInterrupt := func() { + interrupt() noteOnce.Do(func() { commands := ledger.Outstanding() if len(commands) == 0 { @@ -321,10 +336,9 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { select { case <-returned: return + case <-caught: case <-sigCtx.Done(): } - signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) - stop() noteInterrupt() }() var lastResults []selfhosted.CheckResult @@ -449,16 +463,19 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // printInterruptCleanup says, as soon as a run is interrupted, how to remove // what its validator runs may leave in the cluster if the teardown is cut -// short. +// short. A failed write is ignored: the teardown goes on whether or not +// anything still reads stderr. func printInterruptCleanup(w io.Writer, commands []string) { if len(commands) == 0 { return } - fmt.Fprintln(w, "note: interrupted; stopping the cluster-validator and removing its objects. "+ - "A second Ctrl-C exits at once and leaves them; remove them with:") + var note strings.Builder + note.WriteString("note: interrupted; stopping the cluster-validator and removing its objects. " + + "A second Ctrl-C exits at once and leaves them; remove them with:\n") for _, cmd := range commands { - fmt.Fprintln(w, " "+cmd) + note.WriteString(" " + cmd + "\n") } + _, _ = io.WriteString(w, note.String()) } // printKeptValidatorObjects prints, as the command ends, how to remove what diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index f6154917ce..ca4e7d014e 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -18,6 +18,7 @@ limitations under the License. package cmd import ( + "bufio" "bytes" "context" "encoding/json" @@ -27,6 +28,8 @@ import ( "net/http" "net/http/httptest" "os" + "os/exec" + "path/filepath" "strings" "sync" "sync/atomic" @@ -149,18 +152,26 @@ func runCheckWithBudget(t *testing.T, budget time.Duration, func runCheckWith(t *testing.T, budget time.Duration, validator selfhosted.ClusterValidator, out *syncBuffer, args ...string) (error, string) { t.Helper() + return executeCheck(t, budget, validator, out, args...), out.String() +} + +// executeCheck runs `self-hosted check --control-plane --json` with the given +// budget and validator stub, writing stderr to errOut. +func executeCheck(t *testing.T, budget time.Duration, validator selfhosted.ClusterValidator, errOut io.Writer, + args ...string) error { + t.Helper() resetCheckFlags(t) t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") prevBudget, prevCV := checkBudget, newClusterValidatorForSelfHosted checkBudget = func(d time.Duration) time.Duration { requestedBudget = d; return budget } newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { return validator } t.Cleanup(func() { checkBudget, newClusterValidatorForSelfHosted = prevBudget, prevCV }) - rootCmd.SetErr(out) + rootCmd.SetErr(errOut) rootCmd.SetOut(&bytes.Buffer{}) t.Cleanup(func() { rootCmd.SetErr(nil); rootCmd.SetOut(nil) }) rootCmd.SetArgs(append([]string{"self-hosted", "check", "--control-plane", "--json", "--cluster-validator-image", "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0"}, args...)) - return rootCmd.Execute(), out.String() + return rootCmd.Execute() } // syncBuffer is a bytes.Buffer safe to write from the interrupt handler while @@ -501,6 +512,60 @@ func TestCheck_InterruptPrintsTheRemovalCommandBeforeTheTeardown(t *testing.T) { assert.NotContains(t, stderr, keptNote(removalCommand("run1")), "the teardown removed everything") } +// closedStderrChild runs TestCheck_InterruptSurvivesTheEndOfItsStderrReader as +// the child process. Its value is the file the child writes once its +// validator's teardown has finished. +const closedStderrChild = "NVCF_CLI_TEST_CLOSED_STDERR_CHILD" + +// A Ctrl-C or a CI cancel signals the whole process group, so a pipe reading +// stderr ends with the run. Writing the interrupt note, or anything after it, +// to that pipe must not kill the process before the validator's teardown has +// removed what the run created. +func TestCheck_InterruptSurvivesTheEndOfItsStderrReader(t *testing.T) { + const started = "validator started" + if marker := os.Getenv(closedStderrChild); marker != "" { + _ = executeCheck(t, time.Minute, func( + ctx context.Context, p selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { + p.OnStart("run1") + fmt.Fprintln(os.Stderr, started) + <-ctx.Done() + // The teardown takes a while; the note is written meanwhile. + time.Sleep(time.Second) + require.NoError(t, os.WriteFile(marker, nil, 0o600)) + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", Created: true} + }, os.Stderr) + return + } + + ctx, cancel := context.WithTimeout(context.Background(), time.Minute) + defer cancel() + r, w, err := os.Pipe() + require.NoError(t, err) + marker := filepath.Join(t.TempDir(), "torn-down") + child := exec.CommandContext(ctx, os.Args[0], "-test.run=^"+t.Name()+"$") + child.Env = append(os.Environ(), closedStderrChild+"="+marker) + child.Stderr = w + var stdout bytes.Buffer + child.Stdout = &stdout + require.NoError(t, child.Start()) + require.NoError(t, w.Close()) + + seen := false + for lines := bufio.NewScanner(r); !seen && lines.Scan(); { + seen = lines.Text() == started + } + require.NoError(t, r.Close()) + if !seen { + _ = child.Wait() + t.Fatalf("the validator never started:\n%s", stdout.String()) + } + require.NoError(t, child.Process.Signal(os.Interrupt)) + waitErr := child.Wait() + _, err = os.Stat(marker) + assert.NoError(t, err, "the process died before the teardown finished: %v\n%s", waitErr, stdout.String()) +} + // terminalSink stands in for the --wait dashboard, which draws on the // alternate screen: what is written to the terminal before it closes is lost. type terminalSink struct { From ddf173e38d72ccf6a1f428a9ea4aa588d67709ba Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:40:10 +0530 Subject: [PATCH 074/127] fix(nvcf-cli): leave credential-plugin time out of the first-call bound and retry a rejected token once before calling a cluster unreachable Signed-off-by: rohithb --- .../internal/selfhosted/cluster_reach.go | 28 ++++++-- .../internal/selfhosted/cluster_reach_test.go | 69 +++++++++++++++++-- 2 files changed, 87 insertions(+), 10 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go index a6c963a423..04a59138c6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -28,6 +28,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" ) // ClusterUnreachableError reports a cluster the run could not contact at all: @@ -50,8 +51,8 @@ func (e *ClusterUnreachableError) Error() string { func (e *ClusterUnreachableError) Unwrap() error { return e.Err } -// clusterFirstCallTimeout bounds the first API call to a cluster. A var so -// tests can shorten it. +// clusterFirstCallTimeout bounds the first API call to a cluster whose +// credentials come from the kubeconfig itself. A var so tests can shorten it. var clusterFirstCallTimeout = 15 * time.Second // connectCluster builds a client for kubeContext and makes its first API call. @@ -67,16 +68,31 @@ func connectCluster(ctx context.Context, kubeContext string) (kubernetes.Interfa if err != nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubernetes client: %w", err)} } - callCtx, cancel := context.WithTimeout(ctx, clusterFirstCallTimeout) - defer cancel() - err = client.Discovery().RESTClient().Get().AbsPath("/version").Do(callCtx).Error() + err = firstClusterCall(ctx, client, restCfg) + if apierrors.IsUnauthorized(err) && ctx.Err() == nil { + // A credential plugin replaces a cached token the server rejected on + // the next call. + err = firstClusterCall(ctx, client, restCfg) + } // A run whose own budget ended says so itself; the cluster is not to blame. - if err != nil && ctx.Err() == nil && (callCtx.Err() != nil || isUnreachable(err)) { + if err != nil && ctx.Err() == nil && (errors.Is(err, context.DeadlineExceeded) || isUnreachable(err)) { return nil, &ClusterUnreachableError{Context: kubeContext, Err: err} } return client, nil } +// firstClusterCall asks the server for its version. Credentials from an exec +// or auth provider are fetched within the call, and a login it waits on takes +// as long as it takes, so then only the run's budget bounds it. +func firstClusterCall(ctx context.Context, client kubernetes.Interface, restCfg *rest.Config) error { + if restCfg.ExecProvider == nil && restCfg.AuthProvider == nil { + var cancel context.CancelFunc + ctx, cancel = context.WithTimeout(ctx, clusterFirstCallTimeout) + defer cancel() + } + return client.Discovery().RESTClient().Get().AbsPath("/version").Do(ctx).Error() +} + // isUnreachable reports an error no retry within the run can clear: the // server refused the connection or the credentials, could not be resolved, or // failed TLS verification. A server error is not among them. diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go index 4da8a8431a..5a59c4d7a3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go @@ -25,6 +25,7 @@ import ( "net/http/httptest" "os" "path/filepath" + "strings" "testing" "time" @@ -33,8 +34,16 @@ import ( ) // writeKubeconfig points KUBECONFIG at a file with one context, "test", for -// server. +// server, with a static token. func writeKubeconfig(t *testing.T, server string) { + t.Helper() + writeKubeconfigFor(t, server, " token: test-token\n") +} + +// writeKubeconfigFor is writeKubeconfig with user, indented to sit under +// user:, as the credentials. client-go sends them only over TLS, so an https +// server's certificate is not verified. +func writeKubeconfigFor(t *testing.T, server, user string) { t.Helper() path := filepath.Join(t.TempDir(), "config") body := fmt.Sprintf(`apiVersion: v1 @@ -43,6 +52,7 @@ clusters: - name: test cluster: server: %s + insecure-skip-tls-verify: %t contexts: - name: test context: @@ -51,9 +61,8 @@ contexts: users: - name: test user: - token: test-token -current-context: test -`, server) +%scurrent-context: test +`, server, strings.HasPrefix(server, "https://"), user) require.NoError(t, os.WriteFile(path, []byte(body), 0o600)) t.Setenv("KUBECONFIG", path) } @@ -124,3 +133,55 @@ func TestConnectCluster_SpentBudgetIsNotUnreachable(t *testing.T) { var unreachable *ClusterUnreachableError assert.False(t, errors.As(err, &unreachable), "%v", err) } + +// credentialPlugin writes an exec credential plugin that runs the shell body +// and then returns the token body left in $token, and returns the kubeconfig +// user that runs it. +func credentialPlugin(t *testing.T, body string) string { + t.Helper() + path := filepath.Join(t.TempDir(), "plugin") + script := "#!/bin/sh\n" + body + "\nprintf '{\"apiVersion\":\"client.authentication.k8s.io/v1\"," + + "\"kind\":\"ExecCredential\",\"status\":{\"token\":\"%s\"}}' \"$token\"\n" + require.NoError(t, os.WriteFile(path, []byte(script), 0o755)) + return fmt.Sprintf(` exec: + apiVersion: client.authentication.k8s.io/v1 + command: %s + interactiveMode: Never +`, path) +} + +// Credentials from a plugin are fetched within the first call, so its time +// does not count against the call's bound, and a cached token the server +// rejects is replaced and tried again. +func TestConnectCluster_CredentialPlugin(t *testing.T) { + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Header.Get("Authorization") != "Bearer fresh" { + w.WriteHeader(http.StatusUnauthorized) + return + } + w.WriteHeader(http.StatusOK) + })) + t.Cleanup(srv.Close) + prev := clusterFirstCallTimeout + clusterFirstCallTimeout = 500 * time.Millisecond + t.Cleanup(func() { clusterFirstCallTimeout = prev }) + + for name, tc := range map[string]struct { + body string + unreachable bool + }{ + "slower than the bound": {body: "sleep 1; token=fresh"}, + "rotates a rejected token": { + body: `token=fresh; if [ ! -e "$0.ran" ]; then : > "$0.ran"; token=stale; fi`, + }, + "token rejected twice": {body: "token=stale", unreachable: true}, + } { + writeKubeconfigFor(t, srv.URL, credentialPlugin(t, tc.body)) + _, err := connectCluster(context.Background(), "test") + var unreachable *ClusterUnreachableError + assert.Equal(t, tc.unreachable, errors.As(err, &unreachable), "%s: %v", name, err) + if !tc.unreachable { + assert.NoError(t, err, name) + } + } +} From 21ba5d7203fe73c7c45f0f323d9ba9ffbce8e791 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:43:35 +0530 Subject: [PATCH 075/127] fix(nvcf-cli): call a cluster unreachable when its first API call fails for any reason other than the run ending Signed-off-by: rohithb --- .../reference/exit-codes.md | 2 +- .../agentskill/skilldata_generated.go | 4782 +++++++++-------- .../internal/selfhosted/cluster_reach.go | 33 +- .../internal/selfhosted/cluster_reach_test.go | 13 +- 4 files changed, 2411 insertions(+), 2419 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 10a7b81f53..6f3336dfdf 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -6,7 +6,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. |---|---|---| | `0` | Success | All checks passed; install completed; deployment ACTIVE | | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | -| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, refused connection, rejected credentials); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, a namespace with no Helm release, and a `cluster-validator` row saying no `cluster_validator_image` is set | +| `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, or a first API call that fails for any reason: refused or dropped connection, rejected credentials, a failing credential plugin, a server error); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, a namespace with no Helm release, and a `cluster-validator` row saying no `cluster_validator_image` is set | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short) and no other check failed. A check that already had its result keeps it, so a validator's own failure is exit `2` | | `130` | Cancelled by SIGINT, SIGTERM or SIGHUP, or by a quit key in the `check --wait` dashboard | User Ctrl-C; `q`, `Esc` or `Ctrl-C` in the dashboard; CI budget exceeded; pod evicted; terminal or SSH session closed | diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 900a404cc8..47260a87cb 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjAxNjEsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjAyNjQsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -68,9 +68,9 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiZTk0NGU3ZDljYWJhYWVjYzQyZWIzYWQ1NTZk" + "MWM4M2ZhMDRmMTdiODhiZGQzZThhOWU4YTViMmM5Y2Y3ZTQzZiIsCiAgICAgICJzaXplIjogOTM5" + "OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlMzlmMTg1NTg4MTM3M2Y3NjQw" + - "MjQ5NjA5NDk0MWUzMGM4YjM2ZDA0NjIwMTg4NjVkZjEwZTBjYzViNGZjN2Y4IiwKICAgICAgInNp" + - "emUiOiAzNzQzCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNWY4ZjAxZTI2YmZhZjA5ZTU0" + + "MDQ0ZDY2NGQ3MjM3MzgyZjMwZjllZTZmYTZhZmQ2YWMyYWY5ZTdiYTVhZWI4IiwKICAgICAgInNp" + + "emUiOiAzODQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MjQ2YTQ2NzZkYmEwZmU5" + "OTVjZTEyYTQyYjE2MmEwOTc2YTQxOTA2MTYzN2M1MjRkMDkzMDUxNWIwNDQ0Y2NjIiwKICAgICAg" + "InNpemUiOiAyMDcyNwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJV9xvRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCL7DMNRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1661,2397 +1661,2399 @@ const skillDataZipBase64 = "" + "fCBBIGBjaGVja2AgcmVzdWx0IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1p" + "c3Npbmc7IGt1YmVjdGwgbm90IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VD" + "bGFzcyBhYnNlbnQ7IGEgY2x1c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJl" + - "Y29uZmlnIG9yIGNvbnRleHQsIHJlZnVzZWQgY29ubmVjdGlvbiwgcmVqZWN0ZWQgY3JlZGVudGlh" + - "bHMpOyBhIGNsdXN0ZXItdmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQs" + - "IGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0LCBubyB0YWcgZm91bmQgZm9yIGFu" + - "IHVudGFnZ2VkIGltYWdlKTsgYSBgc3RhbGUtbmFtZXNwYWNlc2Agcm93IG5hbWluZyBhIG5hbWVz" + - "cGFjZSBgc3R1Y2sgVGVybWluYXRpbmdgLiBTdWNoIGEgcmVzdWx0IGlzIGV4aXQgYDJgIGV2ZW4g" + - "d2hlbiB0aGUgdGltZSBidWRnZXQgY3V0IGFub3RoZXIgY2hlY2sgc2hvcnQuIFdhcm5pbmctc2V2" + - "ZXJpdHkgcmVzdWx0cyBleGl0IGAwYCwgaW5jbHVkaW5nIGEgbmFtZXNwYWNlIHN0aWxsIGRlbGV0" + - "aW5nLCBhIEhlbG0gcmVsZWFzZSBsZWZ0IG1pZC1vcGVyYXRpb24sIGEgbmFtZXNwYWNlIHdpdGgg" + - "bm8gSGVsbSByZWxlYXNlLCBhbmQgYSBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBzYXlpbmcgbm8g" + - "YGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpcyBzZXQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFp" + - "bGVkIHwgTm8gdG9rZW4gKyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBK" + - "V1Q7IGluaXQgZW5kcG9pbnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9y" + - "IGAtLXdhaXRgIHRpbWVkIG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQg" + - "YnV0IGRpZCBub3QgcGFzcyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGluZyBhIHJvbGxvdXQgc3Rp" + - "bGwgaW4gcHJvZ3Jlc3M7IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0b3BwZWQgYSBjaGVjayBi" + - "ZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9yIGN1dCBzaG9ydCkgYW5k" + - "IG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjaGVjayB0aGF0IGFscmVhZHkgaGFkIGl0cyByZXN1" + - "bHQga2VlcHMgaXQsIHNvIGEgdmFsaWRhdG9yJ3Mgb3duIGZhaWx1cmUgaXMgZXhpdCBgMmAgfAp8" + - "IGAxMzBgIHwgQ2FuY2VsbGVkIGJ5IFNJR0lOVCwgU0lHVEVSTSBvciBTSUdIVVAsIG9yIGJ5IGEg" + - "cXVpdCBrZXkgaW4gdGhlIGBjaGVjayAtLXdhaXRgIGRhc2hib2FyZCB8IFVzZXIgQ3RybC1DOyBg" + - "cWAsIGBFc2NgIG9yIGBDdHJsLUNgIGluIHRoZSBkYXNoYm9hcmQ7IENJIGJ1ZGdldCBleGNlZWRl" + - "ZDsgcG9kIGV2aWN0ZWQ7IHRlcm1pbmFsIG9yIFNTSCBzZXNzaW9uIGNsb3NlZCB8CgojIyBIb3cg" + - "YW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUgfCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0t" + - "fAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0" + - "ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSByZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxs" + - "eSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVzc2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFp" + - "bGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4gRG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRo" + - "ZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2AgfCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAo" + - "aW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1RgIChDSSkuIERvbid0IGF1dG8tbWludCB3aXRo" + - "b3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNlciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25n" + - "ZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBvbmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAg" + - "fCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBD" + - "b25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8CgojIyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWls" + - "CgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUgaW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNj" + - "ZXNzYCwgYHZlcmRpY3RgLCBgdG90YWxDaGVja3NgLCBgcGFzc2VkQ291bnRgLCBgZmFpbGVkQ291" + - "bnRgLCBgd2FybmluZ0NvdW50YCkgYW5kIG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgOyBzZWUg" + - "YGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZGAuIEEgdXNhZ2UgZXJyb3IsIHN1Y2ggYXMgYSBtYWxm" + - "b3JtZWQgYC0td2FpdGAsIGV4aXRzIGAxYCBiZWZvcmUgYW55IGV2ZW50LiBJdHMgZXhpdCBgNWAg" + - "aGFzIGBzdWNjZXNzOiBmYWxzZWAgYW5kIGB2ZXJkaWN0OiAidGltZW91dCJgLiBBIGBjaGVja19j" + - "b21wbGV0ZWRgIGV2ZW50IGZvciBhIHdhcm5pbmcgdGhhdCBgLS13YWl0YCBwb2xscyBvbiBjYXJy" + - "aWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMg" + - "YGZpbmFsYCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7" + - "IGB1cGAgZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0LiBXaGVuIGEgY2x1c3Rlci12" + - "YWxpZGF0b3IgcnVuIGxlZnQgb2JqZWN0cyBpbiB0aGUgY2x1c3RlciAoYC0tbm8tY2xlYW51cGAs" + - "IGEgcG9kIHRoYXQgd291bGQgbm90IHN0b3AsIG9yIGEgY2xlYW51cCB0aGF0IGZhaWxlZCksIGBj" + - "aGVja2AgbGlzdHMgdGhlIGNvbW1hbmRzIHRoYXQgcmVtb3ZlIHRoZW0gaW4gdGhlIGBmaW5hbGAg" + - "ZXZlbnQncyBgY2xlYW51cGAgYXJyYXkgYW5kIGluIHRoYXQgcm93J3MgYGNsZWFudXBgIGZpZWxk" + - "LCBvbiBldmVyeSBleGl0IGNvZGUsIGFuZCBwcmludHMgdGhlbSBhZ2FpbiBhcyBpdHMgbGFzdCBz" + - "dGRlcnIgbGluZXMuIE9uIGFuIGludGVycnVwdCBpdCBwcmludHMgdGhlbSBhdCBvbmNlLCBiZWZv" + - "cmUgaXRzIG93biBjbGVhbnVwLCB3aGljaCBhIHNlY29uZCBDdHJsLUMgY3V0cyBzaG9ydC4gRXZl" + - "cnkgb3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAg" + - "SlNPTiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9u" + - "YCAoYXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFm" + - "dGVyX3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFs" + - "KSwgYW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3" + - "YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVu" + - "Z2xpc2ggZnJvbSBzdGRlcnIuClBLBwhZLMkPnw4AAJ8OAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUA" + - "AQCmzhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkg" + - "c3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + - "IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlh" + - "bWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFs" + - "c2VgIHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4g" + - "VFRZLCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBh" + - "cmVudCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBD" + - "b250cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6" + - "Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxv" + - "Y2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlu" + - "bmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxl" + - "IGVudmlyb25tZW50IG5hbWUuIGBjaGVja2AgcmVhZHMgdGhlIHN0YWNrJ3MgYGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYCBvbmx5IGZvciBhbiBlbnZpcm9ubWVudCBuYW1lZCB3aXRoIGAtLWVudmAg" + - "b3IgYEhFTE1GSUxFX0VOVmAsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZDsg" + - "c2VlIFtTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXSgjc2V0dGluZ3MtcmVhZC1mcm9tLXRo" + - "ZS1zdGFjaykgfCBgbG9jYWxgIHwKfCBgLS1ub24taW50ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwg" + - "c3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAgfAp8IGAtLXRva2VuPSRKV1RgIHwgQWRtaW4gSldULCBv" + - "dmVycmlkZXMgc3RvcmVkIHNlc3Npb24gfCAtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAg" + - "b25seSAtIGVtaXQgWUFNTCwgZG8gbm90IGt1YmVjdGwgYXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1v" + - "dXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdhY3kgYWxpYXMgZm9yIGAtLWpzb25gIChkZXByZWNhdGVk" + - "LCByZW1vdmVkIGluIG5leHQgbWFqb3IpIHwgYHRleHRgIHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBw" + - "bGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwgYXV0by1kZXRlY3QgfAp8IGAtLXdhaXQgRFVSQVRJT05g" + - "IHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGNoZWNrcyBhZ2FpbiwgNXMgYXBhcnQsIHVudGlsIHRo" + - "ZXkgcGFzcyBvciBEVVJBVElPTiBydW5zIG91dCAoZXhpdCBgNWAsIGBmaW5hbGAgd2l0aCBgc3Vj" + - "Y2VzczogZmFsc2VgKS4gRWFjaCBydW4gaW5jbHVkZXMgdGhlIGNsdXN0ZXItdmFsaWRhdG9yIEpv" + - "Yiwgd2hpY2ggY2FuIHRha2UgdXAgdG8gNW0sIHNvIGFsbG93IGZvciBpdCBvciBwYXNzIGAtLXNr" + - "aXAtY2x1c3Rlci12YWxpZGF0aW9uYC4gQSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0ZWQgdG8gY2xl" + - "YXIsIHN1Y2ggYXMgYSByb2xsb3V0IGluIHByb2dyZXNzLCBrZWVwcyBpdCBwb2xsaW5nLCBhbmQg" + - "aXRzIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAuIENh" + - "bm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24t" + - "cG9zaXRpdmUgRFVSQVRJT04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykg" + - "fCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBm" + - "b3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUg" + - "KFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMg" + - "SUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBT" + - "SVMgb25seSBhdCBhIFVSTCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJ" + - "U19VUkxgLCBvciBpbiB0aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxg" + - "OyB3aXRoIG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRl" + - "cml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBv" + - "bmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCBy" + - "ZWdpc3RyeSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lz" + - "dHJ5IGNyZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hl" + - "Y2tzIGFyZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBw" + - "ZWQgKC0tbG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlg" + - "IHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJl" + - "YCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJl" + - "cXVpcmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVj" + - "dHMgaXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBh" + - "c3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxl" + - "Y3RlZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdo" + - "dDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVh" + - "Y2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxg" + - "IG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdp" + - "dGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNs" + - "dXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBg" + - "aGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVz" + - "IGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0" + - "IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFs" + - "bGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBs" + - "YW5lIGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0t" + - "Y29tcHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRv" + - "dmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQg" + - "YSBjb25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxp" + - "ZGF0b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQg" + - "YC0tY29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0" + - "aG91dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3Rl" + - "ciBuYW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQg" + - "YGNoZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNr" + - "YCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0" + - "aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdo" + - "ZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFs" + - "cywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5v" + - "dGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4g" + - "RW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8CgojIyMg" + - "Q2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0" + - "aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3Vu" + - "dCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVzIGEgUm9s" + - "ZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25seSBpdHMg" + - "b3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0aGUga3Vi" + - "ZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpUaGUgQ2x1" + - "c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiBy" + - "ZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250" + - "cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNl" + - "cyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBS" + - "RUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElf" + - "Q0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9p" + - "bWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcg" + - "ZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlk" + - "YXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8g" + - "cGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVy" + - "eXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0" + - "ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2Fybmlu" + - "Z3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsv" + - "cGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxz" + - "IGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2Yg" + - "dGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFs" + - "IGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0" + - "byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGlt" + - "YWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBg" + - "Z2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5h" + - "Z2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQg" + - "b3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9i" + - "ZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3Rh" + - "Y2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHks" + - "IHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUg" + - "Y29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NM" + - "VVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9yZWdpc3RyaWVzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJF" + - "RmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxh" + - "bmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5k" + - "IGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3Rl" + - "cnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmln" + - "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJv" + - "bSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRz" + - "IE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFj" + - "aywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVt" + - "IGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3Nh" + - "bmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBj" + - "b21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2As" + - "IHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sn" + - "cyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZD" + - "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkg" + - "YGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgIHwgZnJvbSB0aGUgc3RhY2sg" + - "fAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzplZmZlY3Rd" + - "LC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVzaWRlIHRo" + - "ZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVycyB3aG9z" + - "ZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBgUHJlZmVy" + - "Tm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBj" + - "b21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xV" + - "U1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl90b2xlcmF0aW9uc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBO" + - "QU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0" + - "aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4g" + - "b3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBG" + - "YWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhh" + - "dCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1" + - "bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVu" + - "IGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25l" + - "IHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93" + - "J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJl" + - "IHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhl" + - "IGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlz" + - "IGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0" + - "byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90" + - "IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVu" + - "IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9T" + - "RUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNs" + - "ZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNy" + - "ZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5u" + - "b3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0" + - "aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2Ny" + - "aWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0" + - "aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVu" + - "dCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNv" + - "bW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13" + - "YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0" + - "cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0t" + - "LSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5n" + - "IGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAg" + - "b3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBh" + - "bmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVu" + - "IGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5" + - "IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhp" + - "cyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291" + - "bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZp" + - "Zy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVy" + - "LgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZp" + - "cnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5W" + - "Q0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFo" + - "ZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGgg" + - "dGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNy" + - "ZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuCgpP" + - "bmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQg" + - "b25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMu" + - "IEEgcmVqZWN0ZWQgTkdDIEFQSSBrZXkgYWZ0ZXIgaW5zdGFsbCBpcwphIHdhcm5pbmcsIHNpbmNl" + - "IHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0" + - "aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5k" + - "IGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUg" + - "cHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0" + - "aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lz" + - "dHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMg" + - "c3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0" + - "aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEku" + - "IEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5" + - "IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwg" + - "RW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5n" + - "cmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMg" + - "cm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVl" + - "YCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQg" + - "YGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dB" + - "VEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVz" + - "LiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBp" + - "dCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBg" + - "aW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FU" + - "RVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJh" + - "b2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVl" + - "YCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9F" + - "WFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xh" + - "c3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0" + - "cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NM" + - "QVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0Vg" + - "IHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + - "LWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92" + - "ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9u" + - "bHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMg" + - "bmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1" + - "bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBg" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1s" + - "YC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9t" + - "IHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxz" + - "ZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBk" + - "aXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVy" + - "IGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZp" + - "bGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0" + - "cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQgbm8g" + - "c3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBk" + - "aXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6" + - "IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBu" + - "dmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5h" + - "bWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8" + - "IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1y" + - "ZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4t" + - "b25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8" + - "IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9u" + - "ZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNo" + - "YCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8" + - "IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVy" + - "IGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBw" + - "YW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1" + - "c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1" + - "aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwK" + - "fCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1p" + - "Z25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlz" + - "dHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNr" + - "YCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVy" + - "YXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVs" + - "IGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4g" + - "RFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBl" + - "eHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBP" + - "dmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1" + - "bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVk" + - "aWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRz" + - "OiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwg" + - "YHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + - "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9u" + - "cy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFn" + - "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAg" + - "fCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQg" + - "UE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBl" + - "IERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8" + - "IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4g" + - "Q2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2Vk" + - "IExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3Vi" + - "ZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4g" + - "YC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + - "YCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1v" + - "ZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08" + - "dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+" + - "YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNg" + - "LCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQg" + - "SlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBj" + - "b21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + - "eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExv" + - "d2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291" + - "bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJy" + - "aWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJp" + - "ZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxp" + - "bmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9k" + - "ZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZp" + - "Zy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhw" + - "b3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQv" + - "Y29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxt" + - "Q29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3" + - "b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmln" + - "LnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3Np" + - "dGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3Vw" + - "cG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJz" + - "KSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBj" + - "b21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAw" + - "MDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBp" + - "bmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExN" + - "IGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1D" + - "aGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNy" + - "ZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2" + - "aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRp" + - "b24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRo" + - "ZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5h" + - "bWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMg" + - "QVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lv" + - "biBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1" + - "cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBg" + - "LS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1l" + - "PTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsg" + - "cmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxp" + - "bWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4g" + - "bGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxh" + - "Y2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRl" + - "ZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0t" + - "bGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBw" + - "cmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3Qg" + - "TkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4g" + - "SlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMg" + - "d2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxs" + - "bUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0" + - "YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRl" + - "cGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVk" + - "IChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVu" + - "Y3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBg" + - "SDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4" + - "YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4" + - "LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29u" + - "Y3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFw" + - "cGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29t" + - "cHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNw" + - "ZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + - "IHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5v" + - "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVk" + - "KSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdw" + - "dSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + - "bXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAo" + - "cmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAw" + - "XzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhj" + - "bHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVs" + - "bSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + - "LWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBD" + - "TEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJh" + - "Y2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + - "TkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNl" + - "cGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxh" + - "dW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEw" + - "IC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29u" + - "dGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0" + - "cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsg" + - "ZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXgg" + - "d2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7" + - "IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4" + - "IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + - "ZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2Ug" + - "cGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQx" + - "SGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0" + - "YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9O" + - "YCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1v" + - "ZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8" + - "CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFi" + - "bGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRp" + - "ZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8" + - "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0" + - "aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBl" + - "bmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmlj" + - "cyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVV" + - "SURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcI4vSHsvdQAAD3UAAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpL" + - "bm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24u" + - "IEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChS" + - "RVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAg" + - "dG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJy" + - "YXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNo" + - "ZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20g" + - "aXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRo" + - "ZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmlu" + - "dHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3In" + - "cyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7" + - "IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8" + - "IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3Mv" + - "dG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8" + - "IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9u" + - "IHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2Rv" + - "Y3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVy" + - "X3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9y" + - "IGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwg" + - "U2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5W" + - "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1p" + - "bWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1" + - "c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxk" + - "IG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2Ug" + - "cHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdl" + - "IG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRzOiBOb3QgSW5zdGFs" + - "bGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9j" + - "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1n" + - "YXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Ig" + - "cmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3QgRm91bmRgIHwgQ2x1" + - "c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5vdCBuYW1lIG9uZSB8" + - "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + - "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + - "c3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgIGluIHRoZSBzdGFj" + - "aydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1NgKSB0byB0aGUgY2xh" + - "c3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJl" + - "czogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxhbmUpIHwgTm8gbm9k" + - "ZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVzLCBvciB0aGUgTlZJ" + - "RElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwgSW5zdGFsbCBwZXIg" + - "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJh" + - "dG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9w" + - "ZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVkYCBhbG9uZSBpcyBh" + - "IHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNrIFRlcm1pbmF0aW5n" + - "OiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBkZWxldGlu" + - "ZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9ydCBhIGRlbGV0aW9u" + - "IGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBob2xkcyBhIGZpbmFs" + - "aXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjogcmVhZCBga3ViZWN0" + - "bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9uc30nYCwgbGlzdCB3" + - "aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQsIGFuZCByZXNvbHZl" + - "IHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmluYWxpemVycyBvbmx5" + - "IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKFRlcm1pbmF0" + - "aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFsIGRlbGV0aW9uIGlz" + - "IHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0IGFuZCByZXJ1biBg" + - "Y2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBgc3R1Y2sgVGVybWlu" + - "YXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoSGVs" + - "bSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilgLCB3YXJuaW5nIHwg" + - "QW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3IgdGVhcmRvd24gbGVm" + - "dCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4gVGhlIG5leHQgYHVw" + - "YCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMgcnVubmluZywgcmVh" + - "ZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5pc2ggaXQgd2l0aCBg" + - "aGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "OiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFtZXNwYWNlIHJ1bnMg" + - "bm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGlsbCBob2xkcyB2b2x1" + - "bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2ZXMgdGhlbS4gQSBy" + - "ZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0IG9ubHk6IGBrdWJl" + - "Y3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAtbyBuYW1lIFx8IHhh" + - "cmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdub3JlLW5vdC1mb3Vu" + - "ZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVkIGNvbXBvbmVudCBh" + - "bHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCByZXBvcnRzIGBu" + - "byBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBzdG9yZXMgcmVsZWFz" + - "ZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMgYEhFTE1fRFJJVkVS" + - "YCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhlIGhlbG1maWxlIGVu" + - "dmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5hbWVzcGFjZXMgYXJl" + - "IGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2FuIGFuIGFkZG9uIG9y" + - "IGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpg" + - "IGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gV2l0aCBgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrYCBvciBgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBzZXQgdG8gYSBsb2NhbCBzdGFj" + - "aywgZ2F0ZXMgY29tZSBmcm9tIGl0cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5kLCB3aGVu" + - "IGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAgbmFtZXMgb25lLCBgZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWxgOyBvdGhlcndpc2UgZnJvbSB0aGUgc3RhY2sgZGVmYXVsdHMsIHdoaWNoIGxlYXZlIGBr" + - "YWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2Yt" + - "dWlgIG9mZiB8IFBvaW50IHRoZSBzdGFjayBmbGFnIGF0IHRoZSBzdGFjayB5b3UgaW5zdGFsbCBm" + - "cm9tIGFuZCBwYXNzIHRoZSBzYW1lIGAtLWVudmAgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1" + - "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRg" + - "IChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5v" + - "dCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldU" + - "IC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhl" + - "ciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFs" + - "ZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52" + - "Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5n" + - "IHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBk" + - "b2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBn" + - "ZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3Rh" + - "bGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0" + - "YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNs" + - "YXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBg" + - "SW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8" + - "IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBg" + - "ImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBg" + - "cmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNv" + - "bXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVt" + - "cHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkg" + - "fAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVy" + - "aW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBg" + - "NmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNm" + - "LWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IElt" + - "YWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBj" + - "bHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFn" + - "ZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoK" + - "IyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + - "IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQ" + - "IDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0Lzxj" + - "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3Rl" + - "ciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZy" + - "ZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0" + - "ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0" + - "IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0" + - "ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxC" + - "YWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZp" + - "ZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2Vu" + - "ZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxv" + - "eSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNv" + - "bGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8" + - "IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + - "YXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2Ug" + - "fCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1p" + - "c3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMg" + - "dXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3Ry" + - "eS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlh" + - "bCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3Bh" + - "Z2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRp" + - "YWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBt" + - "aW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hl" + - "cyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNm" + - "IHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVs" + - "eSB8ClBLBwizPj1mCx8AAAsfAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBh" + - "bmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNv" + - "bXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9m" + - "aWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVs" + - "bCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQog" + - "IGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQg" + - "Y29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxm" + - "LWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1l" + - "bnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNl" + - "bnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4w" + - "IDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGlu" + - "ZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0Bl" + - "eGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1t" + - "YW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxh" + - "bmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10K" + - "dG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJu" + - "YWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5n" + - "ZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFn" + - "ZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwg" + - "Y2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxh" + - "bmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJl" + - "Y3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5h" + - "Z2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNG" + - "IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIElu" + - "c3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJk" + - "b3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2Yt" + - "Y29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENM" + - "SSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBy" + - "ZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + - "cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZv" + - "ciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0" + - "IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJv" + - "bC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25t" + - "ZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNr" + - "Pi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQv" + - "IDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNr" + - "Pi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3Npbmcs" + - "IGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdj" + - "IHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9u" + - "IDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBs" + - "YW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4g" + - "U3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29u" + - "dGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAg" + - "IyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJz" + - "aW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0" + - "IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQg" + - "bXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBs" + - "YW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawps" + - "cyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApg" + - "YGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+Lnlh" + - "bWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBj" + - "YW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBG" + - "bG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29t" + - "bW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlh" + - "bWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9i" + - "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXIt" + - "Y2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlh" + - "bWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBp" + - "bmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2Fs" + - "OiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMg" + - "dG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2Us" + - "IHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhl" + - "IGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFt" + - "bC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBj" + - "aGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUg" + - "W092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFs" + - "dWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFu" + - "ZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJh" + - "c2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFt" + - "ZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + - "LQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwg" + - "TkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + - "c3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + - "QVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3Jl" + - "dHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZl" + - "cmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMp" + - "LgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGgg" + - "YGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9y" + - "IE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMs" + - "IHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFy" + - "YXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tl" + - "ciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSBy" + - "ZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIK" + - "CiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAog" + - "IGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNj" + - "b3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSBy" + - "ZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGkt" + - "b3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mg" + - "b3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIg" + - "dGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + - "ci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5" + - "IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4g" + - "ZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRo" + - "ZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwg" + - "Y2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhl" + - "IGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGws" + - "IG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBl" + - "ciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9y" + - "ZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJy" + - "b3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBm" + - "cm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5" + - "CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUg" + - "Y2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNy" + - "ZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlk" + - "ZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBz" + - "dGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50" + - "IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6Cgog" + - "ICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1y" + - "ZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJl" + - "cG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRo" + - "ZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAg" + - "IHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3Qg" + - "aGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9D" + - "SSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5p" + - "by8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4g" + - "Y2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9z" + - "aXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJl" + - "IG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AK" + - "ICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFj" + - "ayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBP" + - "Q0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhl" + - "bG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0" + - "aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291" + - "cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVz" + - "dGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBu" + - "b2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRz" + - "IG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFt" + - "ZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1l" + - "c3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0" + - "c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBu" + - "dmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2Yt" + - "YXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5j" + - "dGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0" + - "IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0" + - "aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJy" + - "b3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5k" + - "b21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48" + - "ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBi" + - "YWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVX" + - "QVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3" + - "YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScp" + - "CnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9z" + - "dG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0" + - "ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2Vs" + - "Zi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRl" + - "c3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBg" + - "Z2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1Ng" + - "LCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91" + - "ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZ" + - "X0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRv" + - "bWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlv" + - "bi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQ" + - "cmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + - "bGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENh" + - "c3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBk" + - "b2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRy" + - "YSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xl" + - "UGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhh" + - "dCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGgg" + - "YEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBj" + - "YXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFV" + - "TFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZp" + - "bGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3Rv" + - "ciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0t" + - "fC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywg" + - "T3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFw" + - "aS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRl" + - "d2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwg" + - "NS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVz" + - "IHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2" + - "YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBh" + - "cmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2" + - "LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlz" + - "YWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpo" + - "b3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBB" + - "UEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBw" + - "YWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0" + - "cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAK" + - "cmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21t" + - "YW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJ" + - "ZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52" + - "aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRl" + - "d2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVm" + - "YXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpg" + - "dmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBh" + - "bmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZp" + - "Z2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxk" + - "b21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRo" + - "ZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBj" + - "b25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVh" + - "c2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRl" + - "d2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJv" + - "dXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gK" + - "a3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9" + - "dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkK" + - "Y3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBB" + - "UEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmlj" + - "LiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoK" + - "IyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWws" + - "IGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVs" + - "dCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBO" + - "VkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNv" + - "bnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lw" + - "IHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0" + - "aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9y" + - "IGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQg" + - "dmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11" + - "aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBz" + - "dGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBs" + - "YW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBj" + - "b21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2Vw" + - "YXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRo" + - "IHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUg" + - "cHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhl" + - "biBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRv" + - "IG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBj" + - "b21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVh" + - "cmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBs" + - "YW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUg" + - "c2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBP" + - "bmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZp" + - "bGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJg" + - "LCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2" + - "aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFs" + - "IGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBg" + - "aW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFn" + - "ZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkg" + - "YWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFu" + - "dXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + - "IHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1h" + - "bmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxl" + - "YXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBv" + - "ciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJv" + - "eSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRl" + - "cm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1t" + - "YW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVg" + - "LCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBv" + - "biBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2Ug" + - "YnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3Bh" + - "Y2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3Rh" + - "bmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + - "ZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVp" + - "IHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25v" + - "cmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNz" + - "fHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFy" + - "dCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Ig" + - "a2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5k" + - "cmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCku" + - "CgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJl" + - "bGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBi" + - "bG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRv" + - "IHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBg" + - "YHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fz" + - "c2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVu" + - "ZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJp" + - "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + - "bAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgog" + - "ICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAg" + - "cmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1p" + - "CmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5k" + - "ZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVt" + - "cGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290" + - "bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmds" + - "ZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgoj" + - "IyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFs" + - "IHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJl" + - "bG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZv" + - "cm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9v" + - "dHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18" + - "LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwg" + - "bnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBj" + - "cmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGlu" + - "dG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2Vj" + - "cmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNl" + - "Y3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFH" + - "RV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2Vydmlj" + - "ZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0" + - "YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVp" + - "bGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0" + - "KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBj" + - "cmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4g" + - "VGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lU" + - "SF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEg" + - "ZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBh" + - "cyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUg" + - "dmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2Vy" + - "Y29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0" + - "b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3Bl" + - "bnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4g" + - "LSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJu" + - "cwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9y" + - "bWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1" + - "bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVz" + - "cyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9y" + - "IHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5n" + - "IGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdp" + - "dGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAn" + - "JG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBw" + - "dXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0" + - "PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQg" + - "Zm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAg" + - "a3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tz" + - "IHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3" + - "aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGlt" + - "YWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBu" + - "dmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291" + - "bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0" + - "IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmlu" + - "ZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50" + - "aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwg" + - "cGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEg" + - "S3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0" + - "IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhp" + - "cyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3Vy" + - "YXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5z" + - "dGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHVi" + - "LmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJu" + - "by9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxs" + - "IHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4i" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + - "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5" + - "IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdl" + - "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2Qg" + - "YXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNy" + - "LWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1l" + - "c3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScK" + - "IyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlm" + - "IHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJ" + - "QU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2Vj" + - "cmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVm" + - "ZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVz" + - "IGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAg" + - "ICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1u" + - "IDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMj" + - "IyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0t" + - "LS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhv" + - "cml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlz" + - "dHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9u" + - "IHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBP" + - "cGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVs" + - "dC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3du" + - "IGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJh" + - "byBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhl" + - "IGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRp" + - "b25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkg" + - "T0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + - "dmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9u" + - "c2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + - "ZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8Cnwg" + - "YE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwg" + - "T3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJh" + - "Y2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8g" + - "Q2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNT" + - "V09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8g" + - "YGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBz" + - "ZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiBy" + - "ZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBw" + - "b2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVh" + - "c2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhl" + - "bG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3Vu" + - "dCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRz" + - "IGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + - "cCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25v" + - "d24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBu" + - "ZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWly" + - "ZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBo" + - "b29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhl" + - "IGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhl" + - "LWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBz" + - "ZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0" + - "byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29s" + - "dmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFu" + - "ZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBz" + - "ZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMg" + - "fAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21h" + - "dGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVz" + - "IHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdT" + - "X1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8Cgoj" + - "IyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQg" + - "aXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFz" + - "ZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNl" + - "IGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVs" + - "IGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBp" + - "dCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhv" + - "b2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVu" + - "dCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNs" + - "aWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2Rz" + - "LgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBn" + - "ZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRo" + - "PSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFi" + - "c2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNv" + - "IHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBs" + - "aW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToK" + - "CmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290" + - "c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFj" + - "Y291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoK" + - "IyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4" + - "YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + - "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxp" + - "dCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2Vz" + - "L2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0" + - "ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBj" + - "cmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9r" + - "ZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQF" + - "AAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJx" + - "dWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1Mg" + - "RUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJh" + - "dGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCBy" + - "ZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4w" + - "KSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0" + - "bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQg" + - "dG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVk" + - "IGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+" + - "PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJp" + - "ZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJh" + - "biAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0" + - "aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5" + - "bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1" + - "c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVj" + - "a3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAg" + - "Y2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcg" + - "cmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxh" + - "aW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRs" + - "eSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxh" + - "dGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5p" + - "ZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4g" + - "J2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZl" + - "biB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5" + - "cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJl" + - "IHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBj" + - "YXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCBy" + - "ZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4g" + - "Y2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5h" + - "bWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Et" + - "b3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciBy" + - "ZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29t" + - "cHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1v" + - "dmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxh" + - "Y2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNl" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNl" + - "cyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBj" + - "bHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5" + - "IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMi" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAog" + - "ICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFy" + - "YXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21w" + - "dXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQg" + - "ZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1w" + - "bGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRl" + - "d2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0" + - "YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBy" + - "ZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJl" + - "Y29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRo" + - "ZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0" + - "aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIs" + + "Y29uZmlnIG9yIGNvbnRleHQsIG9yIGEgZmlyc3QgQVBJIGNhbGwgdGhhdCBmYWlscyBmb3IgYW55" + + "IHJlYXNvbjogcmVmdXNlZCBvciBkcm9wcGVkIGNvbm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRp" + + "YWxzLCBhIGZhaWxpbmcgY3JlZGVudGlhbCBwbHVnaW4sIGEgc2VydmVyIGVycm9yKTsgYSBjbHVz" + + "dGVyLXZhbGlkYXRvciB0aGF0IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxs" + + "IGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBp" + + "bWFnZSk7IGEgYHN0YWxlLW5hbWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNr" + + "IFRlcm1pbmF0aW5nYC4gU3VjaCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRp" + + "bWUgYnVkZ2V0IGN1dCBhbm90aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3Vs" + + "dHMgZXhpdCBgMGAsIGluY2x1ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxt" + + "IHJlbGVhc2UgbGVmdCBtaWQtb3BlcmF0aW9uLCBhIG5hbWVzcGFjZSB3aXRoIG5vIEhlbG0gcmVs" + + "ZWFzZSwgYW5kIGEgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgc2F5aW5nIG5vIGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl9pbWFnZWAgaXMgc2V0IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRv" + + "a2VuICsgYC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVu" + + "ZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0" + + "aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90" + + "IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dy" + + "ZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgYmVmb3JlIGl0IGZp" + + "bmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQgc2hvcnQpIGFuZCBubyBvdGhlciBj" + + "aGVjayBmYWlsZWQuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0" + + "LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENh" + + "bmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGlu" + + "IHRoZSBgY2hlY2sgLS13YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBv" + + "ciBgQ3RybC1DYCBpbiB0aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmlj" + + "dGVkOyB0ZXJtaW5hbCBvciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50IHNo" + + "b3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBD" + + "b250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNl" + + "cjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1" + + "bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3Mg" + + "KyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhl" + + "cyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZl" + + "KSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9L" + + "LiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50" + + "byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0" + + "cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZv" + + "cmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCBy" + + "ZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJk" + + "aWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5p" + + "bmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9j" + + "aS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdh" + + "aXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2Vz" + + "czogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBl" + + "dmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNp" + + "ZW50OiB0cnVlYC4gQSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0" + + "aCBgY2FuY2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRz" + + "IGBwaGFzZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4gV2hlbiBhIGNsdXN0ZXItdmFsaWRhdG9yIHJ1" + + "biBsZWZ0IG9iamVjdHMgaW4gdGhlIGNsdXN0ZXIgKGAtLW5vLWNsZWFudXBgLCBhIHBvZCB0aGF0" + + "IHdvdWxkIG5vdCBzdG9wLCBvciBhIGNsZWFudXAgdGhhdCBmYWlsZWQpLCBgY2hlY2tgIGxpc3Rz" + + "IHRoZSBjb21tYW5kcyB0aGF0IHJlbW92ZSB0aGVtIGluIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNs" + + "ZWFudXBgIGFycmF5IGFuZCBpbiB0aGF0IHJvdydzIGBjbGVhbnVwYCBmaWVsZCwgb24gZXZlcnkg" + + "ZXhpdCBjb2RlLCBhbmQgcHJpbnRzIHRoZW0gYWdhaW4gYXMgaXRzIGxhc3Qgc3RkZXJyIGxpbmVz" + + "LiBPbiBhbiBpbnRlcnJ1cHQgaXQgcHJpbnRzIHRoZW0gYXQgb25jZSwgYmVmb3JlIGl0cyBvd24g" + + "Y2xlYW51cCwgd2hpY2ggYSBzZWNvbmQgQ3RybC1DIGN1dHMgc2hvcnQuIEV2ZXJ5IG90aGVyIG5v" + + "bi16ZXJvIGV4aXQgZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQg" + + "d2l0aCBgZXJyQ2F0ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwg" + + "YHJldHJ5Q2xhc3NgIChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlh" + + "dGlvbnx1bmtub3duYCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3" + + "YCAoc3VicHJvY2VzcyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1l" + + "IHRoZXNlIGluIGAtLWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20g" + + "c3RkZXJyLgpQSwcIC/t/KAYPAAAGDwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZj" + + "Zi1jbGlgIGZsYWcgcmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQp" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcg" + + "RklMRWAgfCBDb25maWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0t" + + "ZGVidWdgIHwgVmVyYm9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0t" + + "anNvbmAgfCBKU09OTCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5k" + + "ZXIgYC0tbm9uLWludGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNp" + + "c3RlbnQgYWNyb3NzIHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz0uLi5gIHwgQ29udHJvbC1wbGFu" + + "ZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBl" + + "bWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz0uLi5gIHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBn" + + "aXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkg" + + "dmVyc2lvbiB8CnwgYC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVu" + + "dCBuYW1lLiBgY2hlY2tgIHJlYWRzIHRoZSBzdGFjaydzIGBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bGAgb25seSBmb3IgYW4gZW52aXJvbm1lbnQgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklM" + + "RV9FTlZgLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGlu" + + "Z3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwg" + + "YGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21w" + + "dHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0" + + "b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0" + + "IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRc" + + "fGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBp" + + "biBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFt" + + "aW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Ag" + + "b25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mgb3Ig" + + "RFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNl" + + "YCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNoIGNh" + + "biB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXIt" + + "dmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNoIGFz" + + "IGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hlY2tf" + + "Y29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBDYW5ub3QgYmUgY29t" + + "YmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0aXZlIERV" + + "UkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8CnwgYC0t" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wg" + + "cGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwg" + + "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyBy" + + "ZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9ubHkgYXQg" + + "YSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJMYCwgb3Ig" + + "aW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYDsgd2l0aCBub25l" + + "LCBpdHMgYHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20g" + + "YGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRo" + + "ZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29u" + + "dGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50" + + "aWFsIGNoZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVw" + + "b3J0ZWQgYXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2Fs" + + "LW9ubHkpYC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAg" + + "fAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRy" + + "b2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gYC0t" + + "cHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3RzIGl0cyBvd24u" + + "IE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNzIGJvdGggY29u" + + "dGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0ZWQgcm9sZSBj" + + "aGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhv" + + "c3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwg" + + "c2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBvciBgLS1jb21w" + + "dXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRoIGEgcm9sZSdz" + + "IG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVzdGVyIGFzIGlu" + + "c3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhlbG1maWxlYCBv" + + "ciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBjaGVjayBhbiBp" + + "bnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3YXJucyB8IGBm" + + "YWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb250cm9s" + + "IHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVy" + + "LXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxh" + + "bmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3Bh" + + "Y2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEgY29uZmlndXJl" + + "ZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgYGZh" + + "bHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAtLWNvbXB1dGUt" + + "cGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhvdXQgYC0tcHJl" + + "YCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBzaG93" + + "biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBjaGVja2AgZG9l" + + "cyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRo" + + "ZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25m" + + "aWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9i" + + "ZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRo" + + "ZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3RpZnktbGltaXRz" + + "YCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0Zf" + + "Q0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFs" + + "aWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIg" + + "YmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJS" + + "b2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVC" + + "aW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRzIG93biBDb25maWdN" + + "YXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29u" + + "dGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KVGhlIENsdXN0ZXJSb2xlIGdy" + + "YW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpu" + + "YW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBu" + + "b2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGll" + + "ciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQg" + + "fAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlk" + + "YXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + + "SURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJl" + + "ZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJl" + + "Z2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBu" + + "b3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsg" + + "YC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhl" + + "IHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRv" + + "cmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAg" + + "fCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMg" + + "bWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9s" + + "LXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMg" + + "aW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lz" + + "dHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lz" + + "dHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFn" + + "ZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNv" + + "bHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNl" + + "cnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdh" + + "cm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEg" + + "cmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUg" + + "cG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJl" + + "cGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + + "QVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmll" + + "c2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2Ug" + + "Zm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRv" + + "cidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gt" + + "c3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBO" + + "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0" + + "ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1" + + "YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4uLmAg" + + "fCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5vdCBh" + + "dCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhlbSBpbiB0aGUgY2x1" + + "c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBBbiB1" + + "bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJh" + + "dGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRvIHRo" + + "ZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJvbm1l" + + "bnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NMVVNU" + + "RVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVz" + + "dGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9s" + + "ZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1w" + + "bGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNl" + + "IG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVg" + + "IG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVw" + + "ZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + + "VE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlv" + + "bnNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2Nr" + + "ZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRv" + + "ciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNy" + + "ZWF0ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0" + + "LCBpdCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZy" + + "b20gYSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhl" + + "IHJ1bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMg" + + "bWFjaGluZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lz" + + "dHJ5LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBz" + + "YXlzIHdoYXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0" + + "ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVy" + + "IHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVk" + + "IGJ1dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBl" + + "eHBsaWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBp" + + "bWFnZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQg" + + "aW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9T" + + "S0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtl" + + "ZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25m" + + "aWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRz" + + "IGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJl" + + "dHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBB" + + "IGxhdGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRo" + + "ZXkgYXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51" + + "cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQg" + + "cmVtb3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFs" + + "c2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0" + + "byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12" + + "YWxpZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwg" + + "d2hlcmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRl" + + "LXBsYW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25g" + + "IGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBp" + + "cyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFs" + + "cwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3" + + "aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRE" + + "T0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRo" + + "cm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNy" + + "LmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdD" + + "X0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElf" + + "S0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUg" + + "ZG9ja2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxg" + + "IGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0" + + "LCBhbmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LgoKT25seSBhIGNyZWRl" + + "bnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFu" + + "IE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBIHJlamVjdGVk" + + "IE5HQyBBUEkga2V5IGFmdGVyIGluc3RhbGwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUgY2x1c3Rl" + + "ciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwptYWNoaW5l" + + "IGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3Npbmcg" + + "bG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2JlIGNhbm5v" + + "dCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzIHNraXBw" + + "ZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0aGF0IGxl" + + "dHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5vdCBh" + + "cwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrCgpU" + + "aGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9uZSBz" + + "ZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92ZXIg" + + "dGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQgY29u" + + "ZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0ZXdh" + + "eUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczogbm9u" + + "ZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRzYCBv" + + "bmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWljYCBv" + + "bmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05BTUVT" + + "YCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJlIG5h" + + "bWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMgdGhl" + + "IHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3MuZ2F0" + + "ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFNRVNQ" + + "QUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBjYXNz" + + "YW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1jbHVz" + + "dGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxfQ09N" + + "UE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hlbiBz" + + "ZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVhZCBv" + + "ZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8IE9w" + + "ZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3Zlcmxh" + + "eSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9y" + + "IGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21l" + + "IGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhl" + + "eSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGgg" + + "YC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIG5vdCB1" + + "c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlh" + + "bWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sg" + + "dGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENMSSdz" + + "CiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFu" + + "ZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5kIGV4" + + "dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBpbmNs" + + "dWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVk" + + "CiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcg" + + "cmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgoK" + + "T3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRh" + + "dG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMg" + + "cHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwg" + + "SUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQg" + + "SURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lP" + + "TmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5" + + "LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwK" + + "CiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + + "LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBw" + + "bGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJl" + + "LXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAg" + + "Y2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRz" + + "IHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFs" + + "c2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAo" + + "cmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8" + + "CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11" + + "cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0" + + "aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNl" + + "YCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + + "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0" + + "ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8" + + "CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtl" + + "eSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8" + + "IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVy" + + "YXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVm" + + "YXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAt" + + "LXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRl" + + "ciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNv" + + "bmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3Mp" + + "LgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMg" + + "cmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1o" + + "b2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + + "IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwg" + + "Q29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVy" + + "IGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29u" + + "dGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxT" + + "VFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNo" + + "YXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2Vk" + + "IHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xv" + + "YWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2Vy" + + "dmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hh" + + "cnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFy" + + "ZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8" + + "IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+" + + "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + + "bGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAs" + + "IGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNv" + + "bWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZp" + + "ZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlg" + + "IHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMg" + + "aGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5" + + "IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0" + + "YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWly" + + "ZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBM" + + "TE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcg" + + "bWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVj" + + "bGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhl" + + "IG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25z" + + "YCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0" + + "aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9t" + + "dWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVM" + + "aW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdl" + + "ciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0" + + "cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5" + + "cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxp" + + "bWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAw" + + "MC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQg" + + "b2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwg" + + "c2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNl" + + "TmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVz" + + "dC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4" + + "cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3Rz" + + "IHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24g" + + "SUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndh" + + "cmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0" + + "cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVz" + + "czsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVj" + + "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFn" + + "cyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVs" + + "LXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJv" + + "dXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUu" + + "IFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxl" + + "OiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAt" + + "IHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5j" + + "dGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBh" + + "bnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNj" + + "b3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3Zl" + + "cnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVy" + + "cmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5j" + + "dGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVs" + + "TmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9r" + + "ZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBh" + + "cmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRl" + + "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09O" + + "IHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChy" + + "ZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBg" + + "LS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1p" + + "bi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMg" + + "TmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5g" + + "IHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8Cnwg" + + "YC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3Rl" + + "cnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + + "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmlu" + + "aXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + + "LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBj" + + "aGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQ" + + "VSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAw" + + "YCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdp" + + "dGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAt" + + "LWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRo" + + "IGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJM" + + "IG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8" + + "IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92" + + "ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tF" + + "TkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNw" + + "ZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8" + + "IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhl" + + "IGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNp" + + "emUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZp" + + "cm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1" + + "ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBh" + + "dCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sg" + + "cnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBu" + + "byB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1" + + "ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcy" + + "SGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRl" + + "ciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1y" + + "ZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQg" + + "YXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQg" + + "dXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsg" + + "cmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVs" + + "cyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVh" + + "dGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBh" + + "cmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8" + + "IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQg" + + "fCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5" + + "IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNl" + + "cyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCOL0h7L3UAAA91AAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90" + + "cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3Jz" + + "LCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5" + + "bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0" + + "c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNl" + + "X2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJl" + + "LWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0" + + "ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVu" + + "dCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9y" + + "J3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxs" + + "CnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18" + + "LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBk" + + "b2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29w" + + "ZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1" + + "YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3Rh" + + "bGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0" + + "cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0g" + + "bm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2lu" + + "c3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3Jf" + + "aW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBj" + + "b25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rl" + + "cl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVT" + + "VEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBg" + + "Y2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5v" + + "dCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9y" + + "IGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVy" + + "ZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3Ig" + + "cGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBy" + + "ZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZv" + + "eSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIu" + + "aW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZh" + + "aWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5v" + + "IGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBv" + + "bmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9u" + + "cyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9" + + "fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9u" + + "bWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFj" + + "ayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNv" + + "dXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNl" + + "cyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3Bl" + + "cmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9j" + + "cy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3Qv" + + "aW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9y" + + "IGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwK" + + "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVy" + + "cm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIg" + + "MiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBV" + + "c3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4g" + + "dGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxu" + + "cz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0" + + "IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmpl" + + "Y3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3Qg" + + "cmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRp" + + "bmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFp" + + "bmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0t" + + "d2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRl" + + "ciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBt" + + "aWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVw" + + "dGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVh" + + "c2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24g" + + "aXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlz" + + "dG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJh" + + "Y2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5v" + + "IEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2Fk" + + "IGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBv" + + "ciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJl" + + "YXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVz" + + "b3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3Vi" + + "ZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdv" + + "IENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8g" + + "SGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxl" + + "YXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhF" + + "TE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMg" + + "b3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8" + + "IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + + "ZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwK" + + "fCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1l" + + "c3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVk" + + "IG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Ag" + + "b3IgYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNv" + + "bWUgZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9y" + + "IGBIRUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3Ro" + + "ZXJ3aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxl" + + "cmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQ" + + "b2ludCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFz" + + "cyB0aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + + "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3Qg" + + "cnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwg" + + "YG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRl" + + "cmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGht" + + "IGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5q" + + "c29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0" + + "ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQg" + + "YXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZl" + + "IGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1k" + + "ZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoK" + + "fCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0" + + "aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQ" + + "VkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sg" + + "YGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BV" + + "ICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVs" + + "ZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEw" + + "MCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0" + + "IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5l" + + "KSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3Mg" + + "YC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWly" + + "ZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRl" + + "LXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBF" + + "eHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEg" + + "cmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNr" + + "T2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdp" + + "c3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52" + + "Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUt" + + "cGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + + "fC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAv" + + "djEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24n" + + "dCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8" + + "CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + + "YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBs" + + "YW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAt" + + "LWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4g" + + "YG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBv" + + "ciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBj" + + "aGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERF" + + "UExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIp" + + "IOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBs" + + "b2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNh" + + "bGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + + "b24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBF" + + "PiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJl" + + "dmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlh" + + "bCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdl" + + "dGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxh" + + "eTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBu" + + "dmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBw" + + "bGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVw" + + "IHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJl" + + "c3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIsz49" + + "ZgsfAAALHwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUg" + + "TlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + + "CiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxs" + + "YXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywg" + + "YW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBu" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRp" + + "b24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + + "bmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVw" + + "bG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRo" + + "ZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hl" + + "LTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBo" + + "ZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2" + + "ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZp" + + "ZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVs" + + "bWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJv" + + "ZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hl" + + "bGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQog" + + "IGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNv" + + "bT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + + "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + + "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFti" + + "YXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21h" + + "aW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBP" + + "cGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBs" + + "YW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMK" + + "ClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGlu" + + "IG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBo" + + "YW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1" + + "bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1m" + + "dW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJh" + + "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRp" + + "b24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5l" + + "LXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250" + + "cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1w" + + "bGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBt" + + "YXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSBy" + + "ZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2" + + "ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNm" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + + "cyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cK" + + "Y29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "LgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3Jl" + + "IGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAx" + + "LjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAg" + + "ICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhl" + + "bG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0" + + "aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + + "cyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6" + + "CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUu" + + "ZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlm" + + "eSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNl" + + "Y3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltD" + + "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + + "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJz" + + "dGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1" + + "cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAg" + + "IChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAg" + + "ICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290" + + "bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + + "cykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNl" + + "bnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVl" + + "czogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hh" + + "cnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNv" + + "dW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVu" + + "dCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBk" + + "b2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + + "LCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5n" + + "IEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBD" + + "bGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVs" + + "bCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBp" + + "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + + "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + + "IiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBP" + + "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlv" + + "KQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + + "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + + "YW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVz" + + "dCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0u" + + "IFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBB" + + "dXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9n" + + "aW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVs" + + "bSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBg" + + "YmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZj" + + "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3Mg" + + "ZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5l" + + "Y3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9n" + + "aW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEp" + + "Lgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBu" + + "ZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9z" + + "dCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+" + + "IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVz" + + "IHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBh" + + "IG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1" + + "Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFn" + + "ZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRo" + + "IHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4g" + + "YC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVs" + + "bGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAo" + + "UHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0" + + "aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lz" + + "dHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1p" + + "cnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2Fu" + + "IHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhh" + + "bXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpn" + + "cmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQg" + + "YW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sg" + + "YXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAog" + + "ICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAg" + + "ICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8" + + "bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFy" + + "dHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5" + + "OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBv" + + "ZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJl" + + "Zm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJl" + + "IGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhv" + + "dWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3Ig" + + "ZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFu" + + "ZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkg" + + "b3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBt" + + "aXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSBy" + + "ZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNo" + + "YXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBP" + + "Q0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4g" + + "U2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50" + + "aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3Jr" + + "bG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJl" + + "cm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZj" + + "ci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVz" + + "dCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAog" + + "ICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJv" + + "bSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2" + + "YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRl" + + "YCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFs" + + "IG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1h" + + "Z2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0" + + "aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRz" + + "IHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJ" + + "dCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1" + + "ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9" + + "JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFj" + + "ZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + + "R0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQ" + + "LiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUg" + + "bG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBz" + + "dGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhv" + + "dXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21h" + + "aW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQg" + + "YEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMg" + + "ZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4g" + + "SWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJs" + + "ZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFt" + + "cGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQg" + + "ZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRl" + + "ICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFz" + + "c3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4g" + + "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFz" + + "IGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwg" + + "dGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9D" + + "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBh" + + "bmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVu" + + "dGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNl" + + "cnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRS" + + "QV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMg" + + "aW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNl" + + "cyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0t" + + "LXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENh" + + "c3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJ" + + "LCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0" + + "aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBV" + + "SSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwK" + + "fCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4g" + + "fAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3Rh" + + "Y2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWlu" + + "YWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZh" + + "bml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRl" + + "ZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9y" + + "IHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZv" + + "Y2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + + "dCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFj" + + "ayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5k" + + "IGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVz" + + "ZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNr" + + "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88" + + "ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVu" + + "YWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + + "aG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRl" + + "d2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFw" + + "cGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3Ug" + + "bmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVz" + + "ZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFj" + + "a2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0" + + "aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3" + + "IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0" + + "ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + + "LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdo" + + "ZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRl" + + "d2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhv" + + "c3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBg" + + "YAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5" + + "cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91" + + "dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFi" + + "bGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + + "YWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWls" + + "YWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRv" + + "bi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + + "Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rp" + + "b24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7" + + "IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50" + + "LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlv" + + "biBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQp" + + "LgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBj" + + "b250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25l" + + "bnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFu" + + "ZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmly" + + "b25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0" + + "ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2Vu" + + "ZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBj" + + "b21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRo" + + "ZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + + "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVL" + + "UyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVy" + + "LgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUg" + + "dGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9m" + + "Zjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95" + + "IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBU" + + "aGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRy" + + "YWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBj" + + "LXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdh" + + "dGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBg" + + "Y2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVk" + + "ZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZl" + + "cyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + + "ZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJs" + + "ZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFj" + + "ay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNl" + + "cyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5" + + "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7" + + "IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFu" + + "Y2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJk" + + "b3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVj" + + "dG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpg" + + "YGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0" + + "ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3Vu" + + "ZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdy" + + "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNo" + + "b3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgoj" + + "IyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBg" + + "Z2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FD" + + "b3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVh" + + "c2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBo" + + "ZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRo" + + "ZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + + "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFt" + + "ZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFi" + + "bGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + + "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + + "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fz" + + "c2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAg" + + "Y3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgog" + + "ICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwg" + + "bWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBp" + + "bmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + + "dWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRo" + + "ZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVs" + + "bCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8g" + + "bm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9m" + + "IHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jv" + + "bmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdp" + + "c3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0t" + + "fAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZh" + + "bGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52" + + "Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdv" + + "cmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZl" + + "cm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxg" + + "IChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNS" + + "RVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBp" + + "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3Jt" + + "YXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3Ig" + + "eW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9r" + + "ZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhl" + + "IHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRz" + + "IHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RP" + + "Q0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZp" + + "Z2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9j" + + "a2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFu" + + "ZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBi" + + "dWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + + "KWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0" + + "IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNj" + + "b3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAw" + + "ICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0g" + + "V3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBt" + + "YWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gg" + + "a2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcK" + + "PiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVn" + + "LiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVs" + + "bCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2Vu" + + "OiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2Vz" + + "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4g" + + "ICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNl" + + "cy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9s" + + "bG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3" + + "IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5n" + + "IGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0" + + "aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdz" + + "LCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJh" + + "cCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMp" + + "Cj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGlu" + + "ZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBh" + + "dXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMg" + + "Q29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0" + + "YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxs" + + "U2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5p" + + "Zm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhl" + + "bG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJu" + + "bwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5v" + + "LwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAt" + + "biBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4g" + + "ZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4g" + + "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + + "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1k" + + "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5H" + + "Q19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJu" + + "byBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQt" + + "cG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lv" + + "biB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4g" + + "VmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNo" + + "b3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENT" + + "UCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9s" + + "ZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlv" + + "biBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAj" + + "IEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29y" + + "dC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZh" + + "aWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0t" + + "LS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1p" + + "c3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBT" + + "QSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBv" + + "ZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2Rz" + + "ICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5p" + + "dGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vz" + + "c2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGgg" + + "Y29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3Mg" + + "bGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJE" + + "aXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVy" + + "IGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + + "ZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5j" + + "IGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRg" + + "IG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBj" + + "YXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2Vydmlj" + + "ZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8" + + "IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fz" + + "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2Ag" + + "fCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxl" + + "IGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNz" + + "YW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUg" + + "c2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJl" + + "IHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWls" + + "ZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0" + + "cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFw" + + "IHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hl" + + "Y2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAg" + + "fAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9p" + + "ZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0" + + "aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2" + + "ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRo" + + "ZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUg" + + "W1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJv" + + "b3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNl" + + "Y3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2Fw" + + "cC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91" + + "bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhl" + + "IGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RP" + + "T0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNv" + + "bm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMg" + + "c2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBg" + + "QVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNw" + + "YCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0" + + "aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQg" + + "YnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9u" + + "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBv" + + "c3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0" + + "YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZl" + + "CnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1" + + "bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24v" + + "YWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdp" + + "dGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBp" + + "dCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBu" + + "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + + "c3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBg" + + "LCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBm" + + "aXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBh" + + "IGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdu" + + "b3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9u" + + "YWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCks" + + "IHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + + "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1w" + + "bGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "Ci0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1z" + + "dHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCks" + + "IGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1l" + + "bnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0" + + "aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRz" + + "LgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7" + + "CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAi" + + "SW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVy" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVw" + + "IGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9v" + + "bCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49" + + "IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3" + + "aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxl" + + "IHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEu" + + "eCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1k" + + "aWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwg" + + "dmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFs" + + "bCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVt" + + "cGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxt" + + "ZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhl" + + "IGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1h" + + "bmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRo" + + "ZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBz" + + "eW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVs" + + "bWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9y" + + "ZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBz" + + "eW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tl" + + "ZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUt" + + "Y2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBU" + + "ZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZp" + + "bmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5h" + + "bGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFt" + + "ZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJ" + + "dCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBu" + + "dmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIs" + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUg" + - "Y29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0" + - "ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZv" + - "a2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFw" + - "aV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhl" + - "IGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFN" + - "RSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9" + - "Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklM" + - "RV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGlj" + - "bXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0" + - "IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpX" + - "S1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJl" + - "cXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBt" + - "aXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzct" + - "Ym90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8g" + - "TkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9y" + - "IG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVs" + - "bWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tl" + - "ciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "ZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19B" + - "UElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFz" + - "c3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVk" + - "IGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFy" + - "dHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdv" + - "IGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1p" + - "c3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZD" + - "RiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBl" + - "bnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxl" + - "cyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRy" + - "YWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQg" + - "bm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxl" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0" + - "dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdv" + - "dG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2Vu" + - "dCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUg" + - "YWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNs" + - "ZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3Rh" + - "bGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVz" + - "dGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZp" + - "cnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJv" + - "bC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQg" + - "dGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZv" + - "dXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQg" + - "aGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFz" + - "IGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFs" + - "dWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAo" + - "aGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZl" + - "cmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3Jl" + - "YXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lz" + - "dGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2Vy" + - "KSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmll" + - "dyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1z" + - "dGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + - "bmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBp" + - "bmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAg" + - "ICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVy" + - "ZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBl" + - "eGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + - "bWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUt" + - "d29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNv" + - "bnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21w" + - "dXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0" + - "YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + - "LiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywg" + - "ZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5l" + - "IHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVj" + - "ZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNo" + - "IHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmll" + - "ZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + - "bWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmln" + - "LCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFu" + - "ZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJv" + - "bC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9u" + - "LCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNv" + - "bmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52" + - "LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFs" + - "dWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBk" + - "aWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0" + - "aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1l" + - "bW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0" + - "dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0" + - "aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9i" + - "YWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVk" + - "IGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9y" + - "ZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAn" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhl" + - "IGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291" + - "cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVk" + - "ZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxv" + - "Y2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5l" + - "ZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNl" + - "cyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQg" + - "cHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZv" + - "cmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVj" + - "dGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhl" + - "IE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9y" + - "IHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmls" + - "ZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAs" + - "IHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVw" + - "ZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVt" + - "LCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92" + - "aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBn" + - "cm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29m" + - "ZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tP" + - "ZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMg" + - "dG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZv" + - "ciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMg" + - "YW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2Vj" + - "cmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQg" + - "cHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1" + - "bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAg" + - "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNp" + - "ZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmct" + - "YW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29t" + - "cHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBF" + - "bnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNl" + - "Y3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29u" + - "dHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwg" + - "c2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxv" + - "Y2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRT" + - "LCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhl" + - "IGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0" + - "LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBV" + - "UkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxs" + - "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25s" + - "eSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQg" + - "b3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBz" + - "ZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdh" + - "eS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdh" + - "dGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95" + - "LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52" + - "Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZj" + - "dFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJM" + - "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0" + - "aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5k" + - "IG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMi" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0" + - "ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdl" + - "bnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBp" + - "bmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1" + - "cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92" + - "ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwg" + - "bmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUg" + - "cHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAg" + - "IlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0" + - "b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0i" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVz" + - "dGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + - "ZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENM" + - "SSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZs" + - "b3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0" + - "ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQg" + - "Ym90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9m" + - "ZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdh" + - "cm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + - "bG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + - "IGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZl" + - "cmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1t" + - "YW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + - "ZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRl" + - "bGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJt" + - "YXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2" + - "YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2" + - "ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2Vz" + - "IG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBs" + - "YW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdl" + - "dCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQg" + - "cmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNv" + - "bnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFu" + - "IHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1" + - "dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBm" + - "bG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNv" + - "bnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNv" + - "dWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVk" + - "IHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + - "ZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9y" + - "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZp" + - "ZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlz" + - "c2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3Mg" + - "cHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBu" + - "b3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNv" + - "bmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBN" + - "YWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUi" + - "LAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJl" + - "YWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5k" + - "IHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVy" + - "IHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRp" + - "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRo" + - "ZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24i" + - "LAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0t" + - "ZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBs" + - "YW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3du" + - "IHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9s" + - "IHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFk" + - "ZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRs" + - "eSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUg" + + "Y29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + + "a3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZp" + + "bmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRv" + + "IGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAi" + + "VGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3Bl" + + "cmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNv" + + "dXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3Bh" + + "Y2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlv" + + "biI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29t" + + "cHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVy" + + "IGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENM" + + "SSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29u" + + "ZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBj" + + "b250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1" + + "c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhl" + + "biByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZp" + + "cm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNj" + + "b3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMg" + + "dW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxh" + + "bmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAog" + + "ICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFz" + + "ZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBp" + + "X2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3" + + "YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwg" + + "Q0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFt" + + "bCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQg" + + "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + + "YXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3Vw" + + "cGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENM" + + "SSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhl" + + "IGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29u" + + "dHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBw" + + "cm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2Vy" + + "LWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZD" + + "RiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFu" + + "IGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJ" + + "dCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMg" + + "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxv" + + "bmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dp" + + "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + + "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8n" + + "IHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhl" + + "bG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNh" + + "dGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRs" + + "ZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3Vy" + + "cmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQg" + + "dG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRz" + + "Lywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3Qg" + + "Zm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2Nh" + + "dGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0" + + "IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZp" + + "bGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAg" + + "ICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBh" + + "bmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3Ry" + + "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxs" + + "YXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2Yg" + + "dGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52" + + "aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRh" + + "dGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFt" + + "ZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3Ry" + + "aWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wt" + + "cGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5k" + + "IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRl" + + "IHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBo" + + "ZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUg" + + "YnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJv" + + "bC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwg" + + "YXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBh" + + "ZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVM" + + "TUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRl" + + "cGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxt" + + "ZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBj" + + "b250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2Jz" + + "ZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhl" + + "IGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0" + + "YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUg" + + "ZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1n" + + "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBm" + + "bG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwK" + + "ICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5l" + + "IGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVy" + + "LiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVx" + + "dWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBz" + + "aG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVk" + + "aW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "aywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5k" + + "LiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1" + + "ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIs" + + "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + + "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0" + + "cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29u" + + "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + + "aW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJl" + + "LWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUg" + + "Z2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXgg" + + "aW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNz" + + "YW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRz" + + "IHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJh" + + "c2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRy" + + "YSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290" + + "bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUg" + + "WUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2Rp" + + "ZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMg" + + "d2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55" + + "YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVz" + + "dCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhl" + + "IFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBs" + + "YXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0" + + "aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5n" + + "IHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1k" + + "ZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVu" + + "ZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3Ig" + + "dG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlm" + + "aWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBz" + + "eW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlm" + + "aWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJh" + + "LXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNl" + + "bGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1" + + "ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAx" + + "IFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRl" + + "YnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5" + + "IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + + "ZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNl" + + "IGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3Jvbmcg" + + "Y3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRo" + + "ZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQg" + + "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAi" + + "VGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3Rl" + + "bSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + + "biB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQg" + + "aWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRz" + + "IiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3Rl" + + "ciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdh" + + "eSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + + "dG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4" + + "IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlk" + + "ZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJs" + + "ZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3" + + "YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUg" + + "Y29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9z" + + "dCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBs" + + "YW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1v" + + "cGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + + "cnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVy" + + "ZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVS" + + "TCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJM" + + "LCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJU" + + "aGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wt" + + "cGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBi" + + "b3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdy" + + "cGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5h" + + "YmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlz" + + "c3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + + "ZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNj" + + "aGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRl" + + "LXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2" + + "YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFu" + + "ZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0" + + "IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0" + + "ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJy" + + "b3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVh" + + "ciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVu" + + "dCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2" + + "YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3ll" + + "ZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBi" + + "ZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJv" + + "bC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVz" + + "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBu" + + "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Us" + + "IHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0" + + "ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRj" + + "aGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJl" + + "c2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0" + + "aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUg" + + "Q0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2Vk" + + "IHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0" + + "aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkg" + + "SUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFs" + + "LCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBs" + + "YXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdp" + + "dGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5l" + + "IG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZv" + + "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0" + + "ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25m" + + "aWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1" + + "c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5l" + + "IGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + + "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + + "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + + "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + + "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVk" + + "IHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + + "bWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0" + + "aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBp" + + "dCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24i" + + "LAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVz" + + "dHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRo" + + "ZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlh" + + "bWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRo" + + "ZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0" + + "IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkg" + + "ZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJv" + + "bC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdp" + + "c3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRo" + + "ZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFp" + + "biwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5k" + + "IHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVy" + + "cyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5" + + "IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "IlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVl" + + "IHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4g" + + "SG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55" + + "YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVz" + + "KSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdo" + + "IHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + + "IG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBl" + + "bnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9u" + + "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwg" + + "Z2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEg" + + "cmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBl" + + "eGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0" + + "IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjog" + + "IkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1t" + + "YW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUg" + + "Y29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4" + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNo" + - "YWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlu" + - "bGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFz" + - "c2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBj" + - "aGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFz" + - "ZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlu" + - "bGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFt" + - "bC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVw" + - "bGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3Qg" + - "YmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdl" + - "bnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAi" + - "cXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMg" + - "b24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hh" + - "dCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVk" + - "PyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3" + - "aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRo" + - "ZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQg" + - "dGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNl" + - "ciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1y" + - "b3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9y" + - "IHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1h" + - "bmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + - "dGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9h" + - "ZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQs" + - "IHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZv" + - "ciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNh" + - "bWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3Rpbmcg" + - "TExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBh" + - "bmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxt" + - "LmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RS" + - "b3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIi" + - "LAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0" + - "cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVy" + - "IGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlv" + - "biBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + - "SUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdh" + - "cm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJv" + - "bm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVk" + - "IGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rp" + - "b25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1" + - "ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2Fy" + - "IGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgt" + - "TkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRl" + - "diBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBu" + - "dWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "aXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhl" + - "IG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5h" + - "Z2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMg" + - "Z3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBk" + - "ZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNw" + - "ZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHBy" + - "b3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNl" + - "ZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBD" + - "YXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRz" + - "IGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCku" + - "CgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1" + - "dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9j" + - "ay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nh" + - "c3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFt" + - "bCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQv" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJp" + - "dmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBo" + - "ZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246" + - "IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2Fu" + - "ZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + - "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJj" + - "ZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1l" + - "bW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAg" + - "ICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5" + - "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVm" + - "b3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdl" + - "ZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + - "eW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5v" + - "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + - "aWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9t" + - "IE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Yg" + - "c3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVh" + - "ZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMg" + - "U3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0" + - "cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJl" + - "Z2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVw" + - "IDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBi" + - "YXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tF" + - "WSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0Nf" + - "QVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNy" + - "ZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9y" + - "IG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + - "IHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9j" + - "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + - "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29y" + - "ZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0" + - "byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2Vj" + - "cmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxt" + - "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fz" + - "c2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAg" + - "bmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyBy" + - "ZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJh" + - "OgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAg" + - "IC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVz" + - "ZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNs" + - "dXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hh" + - "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMu" + + "bGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBH" + + "YXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0" + + "IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + + "dGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQt" + + "YmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0" + + "ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhv" + + "cCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVR" + + "VUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fy" + + "bmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlv" + + "bi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYg" + + "dXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + + "bnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3Jr" + + "ZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBh" + + "dGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxp" + + "Y2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXIt" + + "b2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFu" + + "Y2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + + "IHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1" + + "bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUg" + + "b25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5z" + + "dCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZy" + + "ZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBh" + + "bmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIs" + + "IHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcg" + + "LS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9y" + + "LWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1" + + "c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJz" + + "aG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9j" + + "YWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYt" + + "aG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxs" + + "YXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFk" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBp" + + "bnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2Nh" + + "bCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9j" + + "YWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBs" + + "ZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBk" + + "ZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJl" + + "c291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00g" + + "b24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTog" + + "Q2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJy" + + "aWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3Rl" + + "cCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55" + + "YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0x" + + "MApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVz" + + "PmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3Rh" + + "Y2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + + "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + + "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAg" + + "ICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJN" + + "aQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1l" + + "bW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + + "bGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90" + + "bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5v" + + "dGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxl" + + "IGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291" + + "cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0" + + "ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxp" + + "bmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJy" + + "b3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29u" + + "ZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + + "CiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZj" + + "ci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50" + + "aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIg" + + "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + + "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBg" + + "YAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFz" + + "aApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + + "LQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3Ry" + + "eSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2Vy" + + "LXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJ" + + "X0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + + "LQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUg" + + "cmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0" + + "byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1k" + + "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZl" + + "cnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTog" + + "Y2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + + "YmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + + "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBn" + + "bG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3Jl" + + "ZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRy" + + "b2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVh" + + "dGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVy" + + "YXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNw" + + "dWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5j" + + "CmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91" + + "dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMs" + + "IE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJl" + + "c3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9y" + + "IHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNh" + + "IC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRh" + + "Lm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQ" + + "dWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0" + + "LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29y" + + "dC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nl" + + "c3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAz" + + "OiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tl" + + "biBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNv" + + "bXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + + "b25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVz" + + "ZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4K" + + "CiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3Rl" + + "cklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9y" + + "ZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRo" + + "ZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoK" + + "YGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + + "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + + "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBh" + + "bmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUg" + + "Y29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFj" + + "ZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRo" + + "ZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIK" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5n" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + + "b3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRl" + + "c3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + + "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVz" + + "ZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAu" + + "CgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFj" + + "a2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBp" + + "LWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAK" + + "CiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0" + + "YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRo" + + "ZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0" + + "OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkg" + + "cHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFu" + + "ZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoK" + + "YGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAog" + + "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + + "VEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVz" + + "cyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkg" + + "SG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVk" + + "IHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlv" + + "bi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1l" + + "bnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVj" + + "dCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9y" + + "IGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVz" + + "c2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxh" + + "bmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBO" + + "QVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QK" + + "b3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlv" + + "biB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENv" + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNo" + - "YXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMp" + - "IGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQ" + - "YXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVz" + - "czsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5z" + - "PSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAt" + - "cCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25l" + - "CmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBv" + - "ZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3Rl" + - "bSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQg" + - "c2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgoj" + - "IyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1l" + - "bnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVz" + - "dHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1u" + - "YW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUt" + - "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmlu" + - "YWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcu" + - "bWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZp" + - "bmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpS" + - "ZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + - "bGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUg" + - "SUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBk" + - "ZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1" + - "ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVh" + - "dCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBE" + - "ZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdl" + - "cmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3Qg" + - "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRp" + - "Znkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0" + - "YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAg" + - "YW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJl" + - "bGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkK" + - "bWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5n" + - "IG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRl" + - "ciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29u" + - "ZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJ" + - "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + - "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBm" + - "b3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50" + - "IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52" + - "Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1" + - "bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4g" + - "ZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cg" + - "W0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiBy" + - "ZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgoj" + - "IyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUg" + - "c2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyBy" + - "ZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3" + - "IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3kt" + - "Z2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + - "ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRp" + - "cmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1l" + - "cywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBm" + - "b3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApg" + - "Ki5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFy" + - "eSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4" + - "IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBo" + - "ZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0" + - "ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczog" + - "Y29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBS" + - "ZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFp" + - "biBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQg" + - "aW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNl" + - "ZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1w" + - "bGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5k" + - "cy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQg" + - "ImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRF" + - "V0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAt" + - "QQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVz" + - "IC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3Rh" + - "dHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVv" + - "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAog" + - "IG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRv" + - "ciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRp" + - "bWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2ll" + - "cwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmln" + - "dXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8K" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBl" + - "bmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5" + - "c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9k" + - "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpg" + - "YGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMs" + - "IGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8" + - "IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3Mt" + - "YXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBh" + - "bmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5p" + - "dHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24g" + - "YW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52" + - "Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBo" + - "YXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJv" + - "dXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFi" + - "bGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExM" + - "TSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdh" + - "dGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBw" + - "YWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVu" + - "YWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVu" + - "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNm" + - "VWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChn" + - "YXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxl" + - "YXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBh" + - "IHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRt" + - "aW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2Vw" + - "YXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lz" + - "dGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYK" + - "YmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBh" + - "IENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMj" + - "IENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBv" + - "aW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFs" + - "dWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + - "dCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + - "PGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2Vu" + - "ZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxl" + - "IGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhv" + - "cmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBw" + - "cm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9z" + - "aXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNo" + - "aW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1w" + - "bGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1l" + - "bnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5" + - "LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3Ig" + - "Y29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNo" + - "YWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5v" + - "bmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252" + - "Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBl" + - "bnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1n" + - "YXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlg" + - "IGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUg" + - "c2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUg" + - "TkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ug" + - "c2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRv" + - "bWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZp" + - "Y2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VV" + - "Ukw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2" + - "aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVS" + - "TDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJM" + - "OiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNl" + - "cnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5" + - "OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2Nh" + - "bDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTog" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBu" + - "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6" + - "IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAg" + - "ICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQog" + - "ICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAg" + - "ICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsi" + - "d29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBj" + - "OgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10" + - "YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVl" + - "CgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJs" + - "ZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZN" + - "YW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + - "ICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWlu" + - "PiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAg" + - "ICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+" + - "IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5h" + - "dHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQg" + - "aW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaApt" + - "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpg" + - "YGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNy" + - "ZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdg" + - "OgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZv" + - "a2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3" + - "YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6" + - "ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5" + - "LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21z" + - "X2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhv" + - "c3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkK" + - "dG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBp" + - "biB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBu" + - "byBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21w" + - "dXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwK" + - "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xV" + - "U1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNG" + - "X0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNm" + - "LWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxl" + - "bnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpS" + - "ZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBj" + - "b21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJF" + - "Q09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4g" + - "SW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4g" + - "dGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENM" + - "SSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4g" + - "SXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJh" + - "dGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + - "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5h" + - "bWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + - "IC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + - "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50" + - "IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwg" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3Vi" + - "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBc" + - "CiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRl" + - "LXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29u" + - "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9u" + - "IHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVu" + - "ZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8g" + - "bm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxl" + - "IGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBs" + - "YW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRl" + - "eHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250" + - "ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJl" + - "bmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Et" + - "b3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRo" + - "ZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQg" + - "cG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4K" + - "CiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVz" + - "cGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVu" + - "dm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9s" + - "bG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9y" + - "IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "d2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNh" + - "LW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFs" + - "dGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRv" + - "d24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhl" + - "IGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxh" + - "bmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0" + - "aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2" + - "YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhl" + - "ciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24s" + - "IHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0" + - "IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0" + - "aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcg" + - "c3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21h" + - "dGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlp" + - "bmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9u" + - "OyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlz" + - "IHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4K" + - "CjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rl" + - "ci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8" + - "bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBu" + - "Y2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9u" + - "LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1" + - "c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVw" + - "ZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUg" + - "Y2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09O" + - "RklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + - "RklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFu" + - "ZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVz" + - "dHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxg" + - "LgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGls" + - "IHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4g" + - "Rmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBs" + - "ZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + + "bGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3Rl" + + "cCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + + "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + + "YWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + + "YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVw" + + "bG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2Vu" + + "ZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9y" + + "PWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpg" + + "YGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBm" + + "b3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpg" + + "YGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5" + + "bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0" + + "bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQt" + + "c3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2Vs" + + "ZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0t" + + "LS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEs" + + "IG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywg" + + "c2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5" + + "LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGkt" + + "Z2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkg" + + "b25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBh" + + "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkg" + + "aW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25z" + + "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVw" + + "bG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8" + + "CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3" + + "YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERl" + + "cGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + + "dWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVg" + + "IHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9" + + "dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0" + + "ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1l" + + "IHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdy" + + "b3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1w" + + "cm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNr" + + "cy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5z" + + "dGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1" + + "c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJh" + + "dGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBI" + + "YW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdp" + + "c3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFy" + + "YXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8" + + "IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1" + + "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRv" + + "cnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhl" + + "bG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNv" + + "bW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3Qu" + + "IE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9u" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + + "IGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoK" + + "IyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJl" + + "Zm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBH" + + "YXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxh" + + "bmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywg" + + "UmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + + "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + + "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQg" + + "a2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3kt" + + "Z2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBl" + + "bnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9z" + + "dCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNz" + + "IGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3Vi" + + "ZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0" + + "ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0" + + "cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5h" + + "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8v" + + "dGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93" + + "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAi" + + "aHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3Jw" + + "Y1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmlu" + + "Z3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3" + + "YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5" + + "LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3" + + "YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBu" + + "dmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0" + + "ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgog" + + "ICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGku" + + "PGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3" + + "YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoK" + + "ICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBg" + + "YAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAg" + + "ICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNT" + + "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJl" + + "dmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2" + + "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0" + + "c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJy" + + "aWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhl" + + "IGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + + "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + + "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUg" + + "cmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBk" + + "YXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwK" + + "YmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0" + + "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+" + + "OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "aWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRl" + + "d2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+Igpp" + + "bnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lz" + + "LjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25s" + + "eSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdp" + + "c3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZp" + + "ZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1o" + + "b3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + + "LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9O" + + "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9O" + + "PTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgt" + + "dG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmln" + + "PgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBD" + + "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + + "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9u" + + "IGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJl" + + "IGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxF" + + "YCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1j" + + "bHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50" + + "IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBG" + + "bG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMg" + + "dGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBi" + + "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + + "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9s" + + "LXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8" + + "bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + + "bGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9y" + + "IGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + + "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0" + + "ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0" + + "ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVh" + - "Y2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJl" + - "Z2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1v" + - "bmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0" + - "ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVt" + - "b3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwg" + - "YGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25m" + - "aXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmll" + - "dyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1j" + - "b25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAg" + - "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJs" + - "IDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0t" + - "Y2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxu" + - "Y2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + - "bnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93" + - "biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rl" + - "ci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBp" + - "dHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBj" + - "bHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lw" + - "ZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3Rh" + - "Y2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9k" + - "cyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBv" + - "ZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNl" + - "PgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9z" + - "dCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + - "bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNp" + - "ZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQ" + - "dWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAg" + - "U1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAg" + - "SW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRl" + - "eHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1" + - "dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBp" + - "cyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + - "fCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRo" + - "ZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4K" + - "CiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0" + - "IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQ" + - "dWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxs" + - "U2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBh" + - "dGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNz" + - "aW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVh" + - "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2" + - "ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAg" + - "LS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1l" + - "c3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + - "IC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBp" + - "dCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhl" + - "bG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoz" + - "LiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGlu" + - "dm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNl" + - "QWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2Vj" + - "cmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5k" + - "IHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRz" + - "IC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAg" + - "IGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0" + - "b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJh" + - "c2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJU" + - "UyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAg" + - "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhl" + - "IHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gK" + - "IyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + - "Q2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZh" + - "dWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVs" + - "dC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFp" + - "bmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8g" + - "cG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNz" + - "dWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRp" + - "ZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1" + - "cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ry" + - "b3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlm" + - "IG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9w" + - "ZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBu" + - "b3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3Vi" + - "ZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0g" + - "YmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0" + - "L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0" + - "aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0" + - "ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1Mp" + - "OgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEg" + - "c2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJr" + - "ZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFs" + - "aWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1" + - "bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAg" + - "dGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8x" + - "YC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5t" + - "aWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRp" + - "b24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNl" + - "cnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4g" + - "RW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpX" + - "S1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVl" + - "cyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAg" + - "ICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAg" + - "ICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9w" + - "ZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlv" + - "biBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20K" + - "ICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5C" + - "YW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBz" + - "ZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgog" + - "ICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUg" + - "YGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0" + - "YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBz" + - "aWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3lt" + - "cHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAg" + - "IEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoK" + - "IyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEt" + - "c3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoK" + - "T3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhh" + - "bXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3Nh" + - "bmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAg" + - "ICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAg" + - "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWls" + - "YWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGBy" + - "ZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRv" + - "bXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFH" + - "RQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMj" + - "IERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJl" + - "cwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1v" + - "biBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4n" + - "dCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJs" + - "ZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90" + - "IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENo" + - "ZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1" + - "YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0" + - "b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBg" + - "YGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNp" + - "ZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3Vy" + - "Y2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMj" + - "IyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RB" + - "VFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1" + - "Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNw" + - "YWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJl" + - "LXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVk" + - "cyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5l" + - "ZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNl" + - "PiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMj" + - "IFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVk" + - "LiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNm" + - "CgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwg" + - "bG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkg" + - "bG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2Yt" + - "YXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQg" + - "Y3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + - "YCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3Qg" + - "dGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRp" + - "YWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBv" + - "dXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJl" + - "YWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNj" + - "b3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRp" + - "YWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJv" + - "eWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBu" + - "YW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3Rs" + - "IGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtl" + - "eXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUg" + - "bmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3lu" + - "YwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBT" + - "eW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGlu" + - "IGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAg" + - "ICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0K" + - "YGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwg" + - "YWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92" + - "ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2Ut" + - "ZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFj" + - "a2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBu" + - "dmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFt" + - "ZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMg" + - "J2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0t" + - "Y29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10" + - "eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENP" + - "TVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xl" + - "YXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tl" + - "bmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3Bh" + - "Y2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJz" + - "ID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxh" + - "Y2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAy" + - "Pi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9y" + - "IE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + - "cGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0" + - "cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBu" + - "dmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmly" + - "c3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cn" + - "cyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBu" + - "b3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9u" + - "IHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4" + - "dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVz" + - "Y3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3Bl" + - "cmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpg" + - "YGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBz" + - "ZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBt" + - "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5h" + - "bWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1" + - "dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoK" + - "IyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFp" + - "biBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2Vk" + - "LiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1v" + - "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVX" + - "QVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRv" + - "bWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRy" + - "ZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2Vydmlj" + - "ZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApn" + - "cmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoK" + - "S2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVz" + - "IHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4g" + - "Rm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNz" + - "IGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdo" + - "IHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5t" + - "ZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMg" + - "VXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Ig" + - "d2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2Vy" + - "dmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8" + - "IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8t" + - "c2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5v" + - "dGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkg" + - "fAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNz" + - "LWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3" + - "YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291" + - "cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "RAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZp" + - "bGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgoj" + - "IyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0g" + - "aGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywg" + - "Q2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAj" + - "IE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdv" + - "dG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8" + - "ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxs" + - "IGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVy" + - "LWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNl" + - "Y3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3" + - "b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUg" + - "dGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFj" + - "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + - "IENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1s" + - "LmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJh" + - "dGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAg" + - "ICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+" + - "LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFs" + - "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMg" + - "cGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25t" + - "ZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhv" + - "cnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1" + - "c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9p" + - "bnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBs" + - "YW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290" + - "bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18" + - "LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5h" + - "dHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVu" + - "YmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBv" + - "biBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5" + - "c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJp" + - "dGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1j" + - "b3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwK" + - "fC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxt" + - "LW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Yt" + - "c2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZp" + - "Y2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94" + - "eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNz" + - "IHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNl" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2Vydmlj" + - "ZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJv" + - "dXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52" + - "Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJv" + - "eHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVh" + - "c2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95" + - "LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDog" + - "W3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20g" + - "dGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFi" + - "bGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUg" + - "YHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJl" + - "bGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0t" + - "LS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMp" + - "IHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0" + - "eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNh" + - "YmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlB" + - "TUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMg" + - "dGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjog" + - "WUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8g" + - "dGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlz" + - "dCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4g" + - "dGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2Vj" + - "cmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBU" + - "ZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAg" + - "IGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAg" + - "ICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + - "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVy" + - "cmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRl" + - "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAg" + - "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + - "Y3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92" + - "ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBt" + - "ZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQg" + - "aW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBt" + - "ZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3Bh" + - "Y2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRk" + - "aW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byBy" + - "ZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBh" + - "IGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93" + - "ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0g" + - "ZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNp" + - "ZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAt" + - "LSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2Vz" + - "IC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2Vz" + - "IFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUg" + - "bWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNo" + - "YXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxp" + - "Y2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291" + - "bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3Nh" + - "bmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAot" + - "IGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJs" + - "ZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoK" + - "LSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBu" + - "YXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5m" + - "aWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uu" + - "c3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8u" + - "bWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5i" + - "YW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJh" + - "by5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMj" + - "IyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lz" + - "dHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkK" + - "LSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVu" + - "Y3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9y" + - "IGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9u" + - "IGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRz" + - "IHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5n" + - "cmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNp" + - "ZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERv" + - "IG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1u" + - "b2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1s" + - "CmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBs" + - "aWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAg" + - "ICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6" + - "IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJs" + - "ZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAg" + - "ICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmts" + - "b2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNv" + - "dW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUg" + - "YnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQg" + - "OTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRl" + - "d2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRl" + - "d2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZD" + - "RiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJl" + - "ZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQg" + - "YW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRl" + - "UVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQg" + - "YW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1" + - "c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlz" + - "CnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVl" + - "c3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2Yv" + - "YmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFu" + - "Y2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRl" + - "IHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0" + - "aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFw" + - "aToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNp" + - "ZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJl" + - "cG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURF" + - "Q0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3Rh" + - "Y2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNv" + - "bmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5n" + - "IHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29u" + - "dHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29t" + - "cHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRp" + - "b24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBj" + - "b21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVt" + - "YWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2" + - "YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUg" + - "d29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBp" + - "cyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9u" + - "IGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFu" + - "ZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlm" + - "eSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gK" + - "a3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0" + - "YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "bnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVj" + - "dGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdl" + - "dCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFp" + - "bmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBg" + - "YAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11" + - "c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBh" + - "bmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1" + - "aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJp" + - "ZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgoj" + - "IyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6" + - "CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVy" + - "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBp" + - "LWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95" + - "IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhh" + - "cyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlz" + - "c3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8A" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWkt" + - "YWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWws" + - "IGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + - "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + - "dGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25s" + - "eSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3Rh" + - "Y2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNv" + - "bnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lw" + - "IHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgoj" + - "IyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+" + - "LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAK" + - "CiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5h" + - "bWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEg" + - "cHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2Yt" + - "dWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkg" + - "aWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4" + - "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1k" + - "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + - "QVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMg" + - "YG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgz" + - "MDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRo" + - "ZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBw" + - "bHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + - "PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + - "IHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRv" + - "biBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3Zj" + - "IC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1" + - "cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBj" + - "dXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMg" + - "aW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBh" + - "biBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQ" + - "SwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCm" + - "zhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxp" + - "bmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MK" + - "YG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkg" + - "cG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25m" + - "aWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhl" + - "ZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNo" + - "IHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9k" + - "cyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNh" + - "LXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0" + - "YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJu" + - "by5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJu" + - "byBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3Vi" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250" + - "cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + - "LW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + - "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + - "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVn" + - "aXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwg" + - "YW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9s" + - "aWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGlj" + - "eQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFj" + - "a2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10" + - "by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2Vz" + - "OgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNw" + - "YWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAg" + - "ICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5" + - "c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1" + - "bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAg" + - "ICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAg" + - "IGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNy" + - "ZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdl" + - "UHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5" + - "dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhl" + - "IGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUg" + - "aW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlm" + - "aWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRv" + - "IG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRl" + - "IHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3Rl" + - "cjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3Jl" + - "YXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + - "LQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoK" + - "ICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRo" + - "YXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8g" + - "YG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFt" + - "ZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxv" + - "dy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5l" + - "IHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpz" + - "b25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJu" + - "dmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlk" + - "aWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5v" + - "CgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1l" + - "c3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQi" + - "IG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJv" + - "ciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgoj" + - "IyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0g" + - "bm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lz" + - "dHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0" + - "aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBz" + - "ZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tF" + - "IEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQg" + - "c2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4g" + - "SW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGlj" + - "eSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxp" + - "ZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNl" + - "PiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5n" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + - "b2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xp" + - "Y3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBT" + - "aG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBv" + - "bGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdp" + - "dGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNv" + - "bnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagA" + - "FgAAABYAAFBLAQIUABQACAAAAAAAIQCVfcb0ShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRh" + - "L21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsLppRuJiAADiYgAAIwAJAAAA" + - "AAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAQ8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAADPcwAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhADAk+YjJDAAAyQwAADQACQAAAAAAAAAAAAAAVoMAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "wbFpmM8PAADPDwAANwAJAAAAAAAAAAAAAACKkAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00" + - "nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAAMegAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBgl" + - "AAAYJQAANwAJAAAAAAAAAAAAAADWugAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4O" + - "AAA9AAkAAAAAAAAAAAAAAFzgAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Rp" + - "YWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALRJ3ydWKQAA" + - "VikAADoACQAAAAAAAAAAAAAAju8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "aW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADI" + - "BwAAOQAJAAAAAAAAAAAAAABVGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9y" + - "b3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEA" + - "AC4ACQAAAAAAAAAAAAAAjSEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVh" + - "cmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAWzr4GLYkAAC2JAAAMAAJAAAAAAAAAAAA" + - "AADWQwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAFksyQ+fDgAAnw4AADIACQAAAAAAAAAAAAAA82gBAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAOL0h7L3UAAA91AAAC0ACQAAAAAAAAAAAAAA+3cBAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCz" + - "Pj1mCx8AAAsfAAA3AAkAAAAAAAAAAAAAAFbJAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + - "ZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJ" + - "YgAASWIAACwACQAAAAAAAAAAAAAAz+gBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAA" + - "AAAAAAAAe0sCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxz" + - "Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAAAw" + - "ogIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAAAVywIAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAA" + - "AAAAAKr7AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2Rl" + - "YnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAA" + - "AAAAANEsAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hl" + - "bG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/" + - "AAkAAAAAAAAAAAAAAFZXAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + - "cmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAA" + - "FgAAPgAJAAAAAAAAAAAAAACFXwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAA+nUDAAAA" + "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5l" + + "IGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291" + + "dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAt" + + "LWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUg" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRo" + + "ZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJv" + + "bSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNl" + + "IHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2" + + "YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQg" + + "aW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4" + + "dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + + "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRl" + + "IHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJv" + + "dWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJv" + + "bm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBh" + + "bmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFj" + + "ZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFt" + + "cGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmlj" + + "YXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + + "IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVz" + + "IFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9" + + "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52" + + "Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBc" + + "CiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVv" + + "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNy" + + "ZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95" + + "IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBs" + + "YW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBs" + + "eSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1h" + + "bmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMg" + + "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5h" + + "Z2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + + "ZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0" + + "cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + + "CmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0g" + + "cmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRl" + + "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFj" + + "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + + "CmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4g" + + "ZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoK" + + "CmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95" + + "IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+" + + "IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0" + + "ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAog" + + "IC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20K" + + "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1u" + + "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5k" + + "IGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRl" + + "IGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRo" + + "ZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJv" + + "bC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "ZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05G" + + "SUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVz" + + "ZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUg" + + "Q0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBj" + + "b21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5" + + "IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0" + + "ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0" + + "ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBc" + + "CiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "IFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21z" + + "LXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNv" + + "bXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpu" + + "b3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + + "IGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRo" + + "ZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNv" + + "IGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZv" + + "ciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1" + + "dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + + "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + + "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFt" + + "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZj" + + "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + + "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2Et" + + "aWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVu" + + "IGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93" + + "LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdp" + + "c3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFn" + + "bm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVz" + + "LgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFs" + + "bCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3Bl" + + "Y2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhl" + + "bG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZv" + + "ciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4g" + + "LS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNo" + + "b3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYK" + + "CiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + + "ICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJh" + + "Y2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0" + + "byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBg" + + "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwpr" + + "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUg" + + "IkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNl" + + "Cmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlm" + + "IHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + + "JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3Vi" + + "ZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdl" + + "UHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1l" + + "c3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBk" + + "b2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAg" + + "ICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoK" + + "Mi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNo" + + "YXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1" + + "ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBk" + + "b2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNl" + + "cnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFu" + + "ZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + + "NC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + + "YWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZh" + + "aWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2Vydmlj" + + "ZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAg" + + "ICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZj" + + "Zi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBt" + + "CmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2Vu" + + "dC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3Bl" + + "bkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9w" + + "ZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0K" + + "CiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9w" + + "ZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9u" + + "IHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMg" + + "dmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1" + + "bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3Vy" + + "Y2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6" + + "IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ry" + + "b3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVj" + + "dGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + + "YWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAg" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + + "ciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxp" + + "emVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAt" + + "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMK" + + "ICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4g" + + "YDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNp" + + "Z25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9J" + + "REMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9w" + + "ZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0" + + "aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3Rl" + + "YWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQog" + + "ICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBw" + + "cmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMg" + + "b24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMg" + + "dGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5p" + + "c3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93" + + "cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3Vu" + + "dCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1" + + "ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVu" + + "IHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdy" + + "YXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZl" + + "ci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3Vs" + + "ZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2Vs" + + "bC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tT" + + "IFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2Rz" + + "IGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0" + + "ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3Rl" + + "cmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5" + + "IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlz" + + "LgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0" + + "ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + + "ZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNz" + + "YW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENh" + + "c3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpb" + + "ZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICBy" + + "ZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTog" + + "ODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0" + + "MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhl" + + "IE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4K" + + "CiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + + "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + + "LTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgoj" + + "IC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9k" + + "J3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3Vm" + + "ZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBg" + + "CgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNl" + + "bGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBu" + + "b2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNz" + + "IG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBr" + + "dWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJj" + + "ZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJl" + + "IG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBg" + + "CgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMK" + + "CmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVk" + + "CmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBz" + + "ZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoK" + + "YGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgoj" + + "IyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3Qg" + + "anVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoK" + + "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAK" + + "CiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoK" + + "U2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNo" + + "b3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNr" + + "IGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9n" + + "cyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252" + + "Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0" + + "bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9" + + "MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxz" + + "Kio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBg" + + "JG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5" + + "CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8g" + + "J1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1" + + "dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjog" + + "QVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3Ry" + + "YXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNy" + + "ZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5k" + + "ZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFt" + + "ZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBz" + + "aXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBG" + + "YWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNv" + + "bXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRp" + + "bmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRp" + + "bmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZp" + + "eAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBu" + + "b3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVy" + + "cyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVj" + + "ayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + + "Y2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRz" + + "IC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIv" + + "IiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIk" + + "MSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRj" + + "b250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAt" + + "cCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRF" + + "WFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWly" + + "IGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1v" + + "IGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwK" + + "ICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAg" + + "LS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwK" + + "ZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkK" + + "CiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8g" + + "YG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMg" + + "YXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRv" + + "cgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBu" + + "dmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5" + + "IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBv" + + "ciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0" + + "aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1" + + "dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBi" + + "dXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxv" + + "eSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAt" + + "biBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJp" + + "dmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0" + + "cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRv" + + "IGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9v" + + "cC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNl" + + "Y3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9t" + + "cwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRl" + + "ciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3" + + "YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdB" + + "WV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + + "dGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0n" + + "ey5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRp" + + "ZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0" + + "cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMg" + + "dXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNt" + + "c1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2Jh" + + "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQu" + + "IFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBk" + + "ZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5k" + + "IHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBz" + + "ZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00" + + "LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1l" + + "c3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZp" + + "Y2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0t" + + "LS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEt" + + "c3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8Cnwg" + + "bnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2Vydmlj" + + "ZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5" + + "cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNp" + + "cyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNz" + + "IGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRl" + + "cyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5" + + "IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQv" + + "CnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwg" + + "T3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZp" + + "Y2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNl" + + "cnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + + "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + + "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + + "dCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwg" + + "ICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBn" + + "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + + "dWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxt" + + "ZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBs" + + "YW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVu" + + "dmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVs" + + "dCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAg" + + "ICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1w" + + "bCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2" + + "YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNs" + + "dXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52" + + "aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJ" + + "LWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4g" + + "RG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBh" + + "bmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVs" + + "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + + "LS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8" + + "IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIg" + + "fCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8Cnwg" + + "Y2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRh" + + "YmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGgg" + + "YHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdv" + + "dG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18" + + "LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1r" + + "ZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8" + + "IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBp" + + "bnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2Vz" + + "IHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + + "cmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGkt" + + "Z2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1h" + + "ZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxh" + + "YmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5" + + "c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6" + + "IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAg" + + "cmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1w" + + "bF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1p" + + "bi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBi" + + "bG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + + "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + + "LS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFi" + + "aWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMg" + + "ZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBU" + + "ZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoK" + + "VXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0" + + "ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2Ug" + + "cmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNl" + + "LCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHku" + + "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0" + + "ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + + "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVm" + + "aW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZj" + + "Zi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + + "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVT" + + "VCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + + "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwg" + + "ICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAg" + + "ICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTky" + + "TWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3Jl" + + "LnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoK" + + "YGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAg" + + "aW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVz" + + "OmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0" + + "aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQg" + + "Z2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdo" + + "ZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNo" + + "YXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "IC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0g" + + "R28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1" + + "cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZl" + + "IHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0" + + "IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpg" + + "Z2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZp" + + "cm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + + "YyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVy" + + "ZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNz" + + "YW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0" + + "aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJh" + + "Lm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fz" + + "c2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29u" + + "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94" + + "LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2" + + "Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNl" + + "bGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMu" + + "aW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9y" + + "LmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRh" + + "dGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMg" + + "KEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + + "dG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNl" + + "Pi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJs" + + "ZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBm" + + "dW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBs" + + "bG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5p" + + "bnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5h" + + "YmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUg" + + "SGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRo" + + "ZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRl" + + "ZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAg" + + "bGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAx" + + "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + + "OiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + + "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoK" + + "YWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRp" + + "b25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAg" + + "c3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25s" + + "eSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZD" + + "RiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRo" + + "ZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50" + + "aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdy" + + "cGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29y" + + "a2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVj" + + "dGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFu" + + "YWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3Vy" + + "ZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5v" + + "dCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXIt" + + "b2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZp" + + "Z3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBM" + + "b2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9k" + + "b2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1" + + "aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sn" + + "cyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRl" + + "ZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3Rl" + + "Q29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAg" + + "ICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9w" + + "eWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JP" + + "VVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0" + + "ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9u" + + "cwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFp" + + "bCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUg" + + "ZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUg" + + "dXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0Eg" + + "cmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5j" + + "CmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9t" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxl" + + "LWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZl" + + "bi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRl" + + "Y2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4g" + + "UmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBh" + + "cHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApj" + + "cmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAt" + + "biBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVw" + + "IC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRw" + + "cm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5j" + + "dGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5h" + + "bWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2Nh" + + "bCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUK" + + "YC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRo" + + "bSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6" + + "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rh" + + "cmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUg" + + "U2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAoj" + + "IEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmls" + + "aXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5" + + "bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSBy" + + "ZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVh" + + "c2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlg" + + "LgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQF" + + "AAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + + "YWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQg" + + "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJ" + + "IGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3Ug" + + "bmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + + "Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24g" + + "dW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRo" + + "ZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + + "YHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUg" + + "bmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFu" + + "ZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVn" + + "aXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQ" + + "SV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + + "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxk" + + "b21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFw" + + "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2" + + "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoK" + + "IyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2Vu" + + "dCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVp" + + "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJI" + + "b3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIK" + + "YGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVu" + + "YXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBS" + + "ZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGlj" + + "YXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAA" + + "uQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQ" + + "dWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1h" + + "Z2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCks" + + "IEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJv" + + "bC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0" + + "aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNl" + + "IGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVy" + + "bm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNz" + + "aW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNl" + + "Y3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoK" + + "IyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5v" + + "CgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlv" + + "L2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9r" + + "eXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBw" + + "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + + "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + + "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJl" + + "cGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2Nr" + + "ZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFt" + + "bAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6" + + "CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZh" + + "bHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2Rz" + + "CiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAg" + + "ICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + + "ICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJz" + + "aXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAg" + + "ICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIK" + + "ICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hT" + + "dHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9u" + + "czoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + + "LWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRz" + + "OgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdl" + + "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBs" + + "YW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + + "biBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFy" + + "ZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJv" + + "bC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0" + + "IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + + "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6" + + "IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5j" + + "ZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3Rl" + + "bWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0" + + "LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJp" + + "ZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRo" + + "ZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5z" + + "cGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + + "XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + + "LW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1h" + + "Z2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBw" + + "dWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "ZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + + "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBV" + + "bmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNv" + + "bXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxs" + + "IFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMq" + + "KjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5" + + "YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGlj" + + "aXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVk" + + "ZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBS" + + "ZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vy" + + "dmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJh" + + "Y2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZl" + + "Y3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUg" + + "c3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBg" + + "CgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZl" + + "cm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRj" + + "aGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cg" + + "UkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJl" + + "bmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhh" + + "Y3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQg" + + "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwEC" + + "FAAUAAgAAAAAACEAvsMw1EoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5q" + + "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAA" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmI" + + "yQwAAMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + + "cGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8A" + + "ADcACQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRk" + + "LWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJ" + + "AAAAAAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + + "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAA" + + "AAAAAAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + + "ZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAA" + + "AAAAAABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWls" + + "ZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAA" + + "AAAAAAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJv" + + "bS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAA" + + "AAAAAAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0" + + "ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAA" + + "AAAAAI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQAL+38oBg8AAAYPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQDi9Iey91AAAPdQAAAtAAkAAAAAAAAAAAAAAGJ4AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsz49ZgsfAAALHwAA" + + "NwAJAAAAAAAAAAAAAAC9yQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + + "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkA" + + "AAAAAAAAAAAAADbpAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAOJLAgBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAl6ICAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAfMsCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAAR/AIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAA4LQMAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAA" + + "AAC9VwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + + "LXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAA" + + "AAAAAAAA7F8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAGF2AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go index 04a59138c6..331aadec9b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -19,11 +19,7 @@ package selfhosted import ( "context" - "crypto/tls" - "errors" "fmt" - "net" - "syscall" "time" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -32,10 +28,11 @@ import ( ) // ClusterUnreachableError reports a cluster the run could not contact at all: -// its kubeconfig or context did not load, or the API server refused the -// connection, could not be resolved, failed TLS verification, or rejected the -// credentials. Unlike an error part way through a probe, it means nothing -// about the cluster was checked. +// its kubeconfig or context did not load, or no API call to it succeeded, +// whatever stopped it: a refused or dropped connection, a name that did not +// resolve, failed TLS verification, rejected credentials or a credential +// plugin that failed, no answer in time, or a server error. Unlike an error +// part way through a probe, it means nothing about the cluster was checked. type ClusterUnreachableError struct { Context string Err error @@ -56,9 +53,10 @@ func (e *ClusterUnreachableError) Unwrap() error { return e.Err } var clusterFirstCallTimeout = 15 * time.Second // connectCluster builds a client for kubeContext and makes its first API call. -// A cluster that cannot be contacted at all is a ClusterUnreachableError, -// including one that does not answer that call in time. Any other failure of -// that call is left for the probe that follows to report. +// When that call fails, whatever the error, the cluster is a +// ClusterUnreachableError, unless the run's own budget ended or it was +// interrupted meanwhile: then the run, not the cluster, stopped it, and the +// probe that follows reports that. func connectCluster(ctx context.Context, kubeContext string) (kubernetes.Interface, error) { restCfg, err := loadKubeConfig(kubeContext) if err != nil { @@ -74,8 +72,7 @@ func connectCluster(ctx context.Context, kubeContext string) (kubernetes.Interfa // the next call. err = firstClusterCall(ctx, client, restCfg) } - // A run whose own budget ended says so itself; the cluster is not to blame. - if err != nil && ctx.Err() == nil && (errors.Is(err, context.DeadlineExceeded) || isUnreachable(err)) { + if err != nil && ctx.Err() == nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: err} } return client, nil @@ -92,13 +89,3 @@ func firstClusterCall(ctx context.Context, client kubernetes.Interface, restCfg } return client.Discovery().RESTClient().Get().AbsPath("/version").Do(ctx).Error() } - -// isUnreachable reports an error no retry within the run can clear: the -// server refused the connection or the credentials, could not be resolved, or -// failed TLS verification. A server error is not among them. -func isUnreachable(err error) bool { - var dnsErr *net.DNSError - var certErr *tls.CertificateVerificationError - return apierrors.IsUnauthorized(err) || errors.Is(err, syscall.ECONNREFUSED) || - errors.As(err, &dnsErr) || errors.As(err, &certErr) -} diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go index 5a59c4d7a3..258140502f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go @@ -67,9 +67,9 @@ users: t.Setenv("KUBECONFIG", path) } -// A cluster the run cannot contact at all is unreachable: a context that does -// not exist, refused credentials, or a refused connection. A server that -// answers with an error is reachable; the probe after it reports that. +// A cluster no API call succeeds against is unreachable, whatever the error: a +// context that does not exist, refused credentials, a refused connection, no +// answer, or a server error. Nothing about it was checked. func TestConnectCluster_ClassifiesAClusterItCannotReach(t *testing.T) { status := func(code int) string { srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { @@ -101,7 +101,8 @@ func TestConnectCluster_ClassifiesAClusterItCannotReach(t *testing.T) { "rejected token": {server: status(http.StatusUnauthorized), context: "test", unreachable: true}, "refused connection": {server: closed.URL, context: "test", unreachable: true}, "no answer": {server: silent.URL, context: "test", unreachable: true}, - "server error": {server: status(http.StatusInternalServerError), context: "test"}, + "server error": {server: status(http.StatusInternalServerError), context: "test", unreachable: true}, + "forbidden": {server: status(http.StatusForbidden), context: "test", unreachable: true}, "answers the request": {server: status(http.StatusOK), context: "test"}, } { writeKubeconfig(t, tc.server) @@ -152,7 +153,8 @@ func credentialPlugin(t *testing.T, body string) string { // Credentials from a plugin are fetched within the first call, so its time // does not count against the call's bound, and a cached token the server -// rejects is replaced and tried again. +// rejects is replaced and tried again. A plugin that fails gets no call +// through: the cluster is unreachable. func TestConnectCluster_CredentialPlugin(t *testing.T) { srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.Header.Get("Authorization") != "Bearer fresh" { @@ -174,6 +176,7 @@ func TestConnectCluster_CredentialPlugin(t *testing.T) { "rotates a rejected token": { body: `token=fresh; if [ ! -e "$0.ran" ]; then : > "$0.ran"; token=stale; fi`, }, + "fails": {body: "exit 1", unreachable: true}, "token rejected twice": {body: "token=stale", unreachable: true}, } { writeKubeconfigFor(t, srv.URL, credentialPlugin(t, tc.body)) From 1ee21418023b3d305602c6381a9d5bc8e69e2683 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:37:26 +0530 Subject: [PATCH 076/127] fix(nvcf-cli): send the NGC key when nvcr.io rejects the docker login, and grade any rejection after install as a warning Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 7 +- .../cmd/self_hosted_check_stackvalues_test.go | 2 +- .../agentskill/skilldata_generated.go | 4317 +++++++++-------- .../internal/selfhosted/credhelper_test.go | 37 + .../internal/selfhosted/dockercreds.go | 73 +- .../nvcf-cli/internal/selfhosted/preflight.go | 14 +- .../internal/selfhosted/registry_cred.go | 49 +- .../internal/selfhosted/registry_cred_test.go | 114 +- .../internal/selfhosted/validatortag.go | 11 +- .../internal/selfhosted/validatortag_test.go | 14 + 10 files changed, 2441 insertions(+), 2197 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 0811908a47..362aef773d 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -73,10 +73,13 @@ For `nvcr.io` the NGC API key is also read, from the first of `NGC_IMAGE_PULL_API_KEY`, `NVCF_NGCR_API_KEY`, `NVCF_NGC_API_KEY` and `NGC_API_KEY` that is set. It goes ahead of the docker login only for a bare `--pre` run with the `local` environment, since `up` creates its pull -secrets from it, and it is never sent to another registry. +secrets from it, and it is never sent to another registry. Elsewhere the key +is sent when there is no docker login, or when `nvcr.io` rejects the docker +login. The run then uses the key, for tag discovery and the validator's pull +secret too, and the row says how to renew the login `docker` still sends. Only a credential the registry rejects fails the run, and only for an NVIDIA -registry the image or the stack names. A rejected NGC API key after install is +registry the image or the stack names. After install a rejected credential is a warning, since the cluster pulls with its own pull secret. A registry this machine cannot reach, a token service that fails, and a missing local credential are warnings. A registry the probe cannot speak to, such as ECR or diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index e85fa662ac..d02ecfcabf 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -306,7 +306,7 @@ func TestCheck_MalformedValidatorRegistryFailsTheCommand(t *testing.T) { // The NGC key is checked ahead of the docker login only before a local // install, where up mints its pull secrets from it; every other scope checks -// an installed stack, where a rejected key is only this machine's. +// an installed stack, where a rejected credential is only this machine's. func TestCheckScope_NGCKeyOrderAndPostInstall(t *testing.T) { t.Setenv("HELMFILE_ENV", "") for _, tc := range []struct { diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 47260a87cb..d74362c110 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjAyNjQsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjA1MDgsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNWY4ZjAxZTI2YmZhZjA5ZTU0" + "MDQ0ZDY2NGQ3MjM3MzgyZjMwZjllZTZmYTZhZmQ2YWMyYWY5ZTdiYTVhZWI4IiwKICAgICAgInNp" + "emUiOiAzODQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MjQ2YTQ2NzZkYmEwZmU5" + - "OTVjZTEyYTQyYjE2MmEwOTc2YTQxOTA2MTYzN2M1MjRkMDkzMDUxNWIwNDQ0Y2NjIiwKICAgICAg" + - "InNpemUiOiAyMDcyNwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJmNDQ2ODY1NGQ1ZDRjMTkx" + + "M2EzZjg5MDA1Y2U1YTM1OWMyMzk1N2IzZWZkMWJhY2NhNDAwOGExYTI3MmIwNTQxIiwKICAgICAg" + + "InNpemUiOiAyMDk3MQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjEy" + "ODk1MTYzNmI4Y2EzNmExOTU4ZjRiNGRiZjZjODcxZWE2NWI4NmExNzVjZmJmZGU5MzFjMDVhODdk" + "ZmNlNWQiLAogICAgICAic2l6ZSI6IDc5NDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCL7DMNRKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCKBdOyVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1897,2163 +1897,2168 @@ const skillDataZipBase64 = "" + "S0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUg" + "ZG9ja2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxg" + "IGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0" + - "LCBhbmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LgoKT25seSBhIGNyZWRl" + - "bnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFu" + - "IE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBIHJlamVjdGVk" + - "IE5HQyBBUEkga2V5IGFmdGVyIGluc3RhbGwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUgY2x1c3Rl" + - "ciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwptYWNoaW5l" + - "IGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3Npbmcg" + - "bG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2JlIGNhbm5v" + - "dCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzIHNraXBw" + - "ZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0aGF0IGxl" + - "dHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5vdCBh" + - "cwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrCgpU" + - "aGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9uZSBz" + - "ZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92ZXIg" + - "dGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQgY29u" + - "ZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0ZXdh" + - "eUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczogbm9u" + - "ZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRzYCBv" + - "bmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWljYCBv" + - "bmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05BTUVT" + - "YCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJlIG5h" + - "bWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMgdGhl" + - "IHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3MuZ2F0" + - "ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFNRVNQ" + - "QUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBjYXNz" + - "YW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1jbHVz" + - "dGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxfQ09N" + - "UE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hlbiBz" + - "ZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVhZCBv" + - "ZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8IE9w" + - "ZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3Zlcmxh" + - "eSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9y" + - "IGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21l" + - "IGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhl" + - "eSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGgg" + - "YC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIG5vdCB1" + - "c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlh" + - "bWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sg" + - "dGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENMSSdz" + - "CiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFu" + - "ZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5kIGV4" + - "dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBpbmNs" + - "dWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVk" + - "CiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcg" + - "cmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgoK" + - "T3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRh" + - "dG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMg" + - "cHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwg" + - "SUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQg" + - "SURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lP" + - "TmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5" + - "LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwK" + - "CiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18" + - "LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBw" + - "bGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJl" + - "LXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAg" + - "Y2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRz" + - "IHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFs" + - "c2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAo" + - "cmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8" + - "CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11" + - "cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0" + - "aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNl" + - "YCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + - "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0" + - "ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8" + - "CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtl" + - "eSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8" + - "IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVy" + - "YXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVm" + - "YXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAt" + - "LXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRl" + - "ciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNv" + - "bmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3Mp" + - "LgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMg" + - "cmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1o" + - "b2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + - "IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwg" + - "Q29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVy" + - "IGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29u" + - "dGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxT" + - "VFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNo" + - "YXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2Vk" + - "IHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xv" + - "YWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2Vy" + - "dmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hh" + - "cnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFy" + - "ZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8" + - "IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+" + - "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + - "bGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAs" + - "IGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNv" + - "bWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZp" + - "ZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlg" + - "IHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMg" + - "aGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5" + - "IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0" + - "YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWly" + - "ZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBM" + - "TE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcg" + - "bWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVj" + - "bGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhl" + - "IG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25z" + - "YCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0" + - "aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9t" + - "dWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVM" + - "aW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdl" + - "ciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0" + - "cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5" + - "cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxp" + - "bWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAw" + - "MC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQg" + - "b2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwg" + - "c2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNl" + - "TmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVz" + - "dC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4" + - "cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3Rz" + - "IHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24g" + - "SUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndh" + - "cmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0" + - "cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVz" + - "czsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVj" + - "aWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFn" + - "cyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVs" + - "LXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJv" + - "dXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUu" + - "IFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxl" + - "OiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAt" + - "IHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5j" + - "dGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBh" + - "bnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNj" + - "b3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3Zl" + - "cnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVy" + - "cmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5j" + - "dGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVs" + - "TmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9r" + - "ZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBh" + - "cmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRl" + - "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09O" + - "IHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChy" + - "ZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBg" + - "LS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1p" + - "bi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMg" + - "TmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5g" + - "IHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8Cnwg" + - "YC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3Rl" + - "cnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + - "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmlu" + - "aXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + - "LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBj" + - "aGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQ" + - "VSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAw" + - "YCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdp" + - "dGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAt" + - "LWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRo" + - "IGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJM" + - "IG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8" + - "IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92" + - "ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tF" + - "TkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNw" + - "ZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8" + - "IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhl" + - "IGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNp" + - "emUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZp" + - "cm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1" + - "ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBh" + - "dCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sg" + - "cnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBu" + - "byB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1" + - "ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcy" + - "SGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRl" + - "ciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1y" + - "ZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQg" + - "YXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQg" + - "dXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsg" + - "cmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVs" + - "cyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVh" + - "dGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBh" + - "cmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8" + - "IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQg" + - "fCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5" + - "IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNl" + - "cyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCOL0h7L3UAAA91AAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90" + - "cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3Jz" + - "LCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5" + - "bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0" + - "c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNl" + - "X2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJl" + - "LWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0" + - "ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVu" + - "dCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9y" + - "J3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxs" + - "CnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18" + - "LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBk" + - "b2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29w" + - "ZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1" + - "YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3Rh" + - "bGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0" + - "cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0g" + - "bm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2lu" + - "c3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3Jf" + - "aW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBj" + - "b25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rl" + - "cl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVT" + - "VEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBg" + - "Y2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5v" + - "dCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9y" + - "IGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVy" + - "ZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3Ig" + - "cGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBy" + - "ZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZv" + - "eSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIu" + - "aW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZh" + - "aWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5v" + - "IGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBv" + - "bmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9u" + - "cyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9" + - "fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9u" + - "bWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFj" + - "ayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNv" + - "dXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNl" + - "cyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3Bl" + - "cmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9j" + - "cy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3Qv" + - "aW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9y" + - "IGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwK" + - "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVy" + - "cm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIg" + - "MiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBV" + - "c3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4g" + - "dGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxu" + - "cz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0" + - "IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmpl" + - "Y3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3Qg" + - "cmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRp" + - "bmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFp" + - "bmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0t" + - "d2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRl" + - "ciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBt" + - "aWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVw" + - "dGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVh" + - "c2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24g" + - "aXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlz" + - "dG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJh" + - "Y2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5v" + - "IEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2Fk" + - "IGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBv" + - "ciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJl" + - "YXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVz" + - "b3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3Vi" + - "ZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdv" + - "IENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8g" + - "SGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxl" + - "YXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhF" + - "TE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMg" + - "b3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8" + - "IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + - "ZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwK" + - "fCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1l" + - "c3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVk" + - "IG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Ag" + - "b3IgYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNv" + - "bWUgZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9y" + - "IGBIRUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3Ro" + - "ZXJ3aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxl" + - "cmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQ" + - "b2ludCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFz" + - "cyB0aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + - "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3Qg" + - "cnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwg" + - "YG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRl" + - "cmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGht" + - "IGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5q" + - "c29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0" + - "ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQg" + - "YXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZl" + - "IGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1k" + - "ZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoK" + - "fCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0" + - "aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQ" + - "VkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sg" + - "YGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BV" + - "ICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVs" + - "ZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEw" + - "MCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0" + - "IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5l" + - "KSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3Mg" + - "YC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWly" + - "ZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRl" + - "LXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBF" + - "eHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEg" + - "cmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNr" + - "T2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdp" + - "c3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52" + - "Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUt" + - "cGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0t" + - "fC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAv" + - "djEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24n" + - "dCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8" + - "CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + - "YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBs" + - "YW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAt" + - "LWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4g" + - "YG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBv" + - "ciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBj" + - "aGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERF" + - "UExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIp" + - "IOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBs" + - "b2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNh" + - "bGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + - "b24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBF" + - "PiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJl" + - "dmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlh" + - "bCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdl" + - "dGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxh" + - "eTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBu" + - "dmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBw" + - "bGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVw" + - "IHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJl" + - "c3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIsz49" + - "ZgsfAAALHwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUg" + - "TlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + - "CiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxs" + - "YXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywg" + - "YW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBu" + - "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRp" + - "b24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + - "bmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVw" + - "bG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRo" + - "ZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hl" + - "LTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBo" + - "ZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2" + - "ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZp" + - "ZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVs" + - "bWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJv" + - "ZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hl" + - "bGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQog" + - "IGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNv" + - "bT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + - "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + - "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFti" + - "YXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21h" + - "aW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBP" + - "cGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBs" + - "YW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMK" + - "ClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGlu" + - "IG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBo" + - "YW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1" + - "bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1m" + - "dW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJh" + - "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRp" + - "b24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5l" + - "LXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250" + - "cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1w" + - "bGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBt" + - "YXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSBy" + - "ZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2" + - "ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNm" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + - "cyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cK" + - "Y29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "LgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3Jl" + - "IGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAx" + - "LjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAg" + - "ICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhl" + - "bG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0" + - "aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5k" + - "cyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6" + - "CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUu" + - "ZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlm" + - "eSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNl" + - "Y3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltD" + - "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + - "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJz" + - "dGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1" + - "cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAg" + - "IChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAg" + - "ICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290" + - "bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + - "cykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNl" + - "bnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVl" + - "czogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hh" + - "cnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNv" + - "dW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVu" + - "dCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBk" + - "b2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + - "LCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5n" + - "IEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBD" + - "bGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVs" + - "bCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBp" + - "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + - "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + - "IiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBP" + - "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlv" + - "KQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + - "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + - "YW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVz" + - "dCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0u" + - "IFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBB" + - "dXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9n" + - "aW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVs" + - "bSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBg" + - "YmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZj" + - "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3Mg" + - "ZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5l" + - "Y3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9n" + - "aW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEp" + - "Lgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBu" + - "ZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9z" + - "dCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+" + - "IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVz" + - "IHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBh" + - "IG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1" + - "Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFn" + - "ZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRo" + - "IHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4g" + - "YC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVs" + - "bGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAo" + - "UHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0" + - "aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lz" + - "dHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1p" + - "cnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2Fu" + - "IHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhh" + - "bXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpn" + - "cmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQg" + - "YW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sg" + - "YXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAog" + - "ICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAg" + - "ICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8" + - "bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFy" + - "dHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5" + - "OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBv" + - "ZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJl" + - "Zm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJl" + - "IGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhv" + - "dWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3Ig" + - "ZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFu" + - "ZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkg" + - "b3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBt" + - "aXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSBy" + - "ZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNo" + - "YXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBP" + - "Q0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4g" + - "U2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50" + - "aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3Jr" + - "bG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJl" + - "cm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZj" + - "ci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVz" + - "dCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAog" + - "ICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJv" + - "bSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2" + - "YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRl" + - "YCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFs" + - "IG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1h" + - "Z2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0" + - "aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRz" + - "IHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJ" + - "dCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1" + - "ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9" + - "JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFj" + - "ZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + - "R0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQ" + - "LiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUg" + - "bG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBz" + - "dGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhv" + - "dXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21h" + - "aW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQg" + - "YEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMg" + - "ZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4g" + - "SWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJs" + - "ZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFt" + - "cGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQg" + - "ZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRl" + - "ICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFz" + - "c3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4g" + - "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFz" + - "IGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwg" + - "dGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9D" + - "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBh" + - "bmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVu" + - "dGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNl" + - "cnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRS" + - "QV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMg" + - "aW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNl" + - "cyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0t" + - "LXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENh" + - "c3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJ" + - "LCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0" + - "aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBV" + - "SSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwK" + - "fCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4g" + - "fAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3Rh" + - "Y2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWlu" + - "YWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZh" + - "bml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRl" + - "ZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9y" + - "IHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZv" + - "Y2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + - "dCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFj" + - "ayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5k" + - "IGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVz" + - "ZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNr" + - "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88" + - "ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVu" + - "YWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + - "aG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRl" + - "d2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFw" + - "cGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3Ug" + - "bmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVz" + - "ZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFj" + - "a2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0" + - "aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3" + - "IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0" + - "ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + - "LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdo" + - "ZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRl" + - "d2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhv" + - "c3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBg" + - "YAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5" + - "cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91" + - "dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFi" + - "bGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + - "YWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWls" + - "YWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRv" + - "bi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + - "Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rp" + - "b24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7" + - "IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50" + - "LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlv" + - "biBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQp" + - "LgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBj" + - "b250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25l" + - "bnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFu" + - "ZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmly" + - "b25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0" + - "ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2Vu" + - "ZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBj" + - "b21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRo" + - "ZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + - "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVL" + - "UyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVy" + - "LgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUg" + - "dGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9m" + - "Zjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95" + - "IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBU" + - "aGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRy" + - "YWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBj" + - "LXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdh" + - "dGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBg" + - "Y2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVk" + - "ZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZl" + - "cyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + - "ZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJs" + - "ZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFj" + - "ay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNl" + - "cyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5" + - "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7" + - "IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFu" + - "Y2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJk" + - "b3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVj" + - "dG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpg" + - "YGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0" + - "ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3Vu" + - "ZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdy" + - "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNo" + - "b3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgoj" + - "IyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBg" + - "Z2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FD" + - "b3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVh" + - "c2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBo" + - "ZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRo" + - "ZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + - "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFt" + - "ZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFi" + - "bGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + - "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fz" + - "c2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAg" + - "Y3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgog" + - "ICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwg" + - "bWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBp" + - "bmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + - "dWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRo" + - "ZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVs" + - "bCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8g" + - "bm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9m" + - "IHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jv" + - "bmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdp" + - "c3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0t" + - "fAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZh" + - "bGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52" + - "Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdv" + - "cmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZl" + - "cm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxg" + - "IChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNS" + - "RVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBp" + - "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3Jt" + - "YXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3Ig" + - "eW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9r" + - "ZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhl" + - "IHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRz" + - "IHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RP" + - "Q0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZp" + - "Z2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9j" + - "a2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFu" + - "ZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBi" + - "dWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + - "KWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0" + - "IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNj" + - "b3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAw" + - "ICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0g" + - "V3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBt" + - "YWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gg" + - "a2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcK" + - "PiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVn" + - "LiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVs" + - "bCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2Vu" + - "OiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2Vz" + - "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4g" + - "ICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNl" + - "cy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9s" + - "bG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3" + - "IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5n" + - "IGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0" + - "aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdz" + - "LCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJh" + - "cCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMp" + - "Cj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGlu" + - "ZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBh" + - "dXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMg" + - "Q29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0" + - "YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxs" + - "U2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5p" + - "Zm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhl" + - "bG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJu" + - "bwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5v" + - "LwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAt" + - "biBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4g" + - "ZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4g" + - "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + - "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1k" + - "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5H" + - "Q19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJu" + - "byBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQt" + - "cG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lv" + - "biB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4g" + - "VmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNo" + - "b3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENT" + - "UCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9s" + - "ZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlv" + - "biBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAj" + - "IEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29y" + - "dC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZh" + - "aWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0t" + - "LS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1p" + - "c3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBT" + - "QSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBv" + - "ZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2Rz" + - "ICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5p" + - "dGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vz" + - "c2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGgg" + - "Y29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3Mg" + - "bGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJE" + - "aXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVy" + - "IGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + - "ZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5j" + - "IGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRg" + - "IG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBj" + - "YXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2Vydmlj" + - "ZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8" + - "IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fz" + - "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2Ag" + - "fCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxl" + - "IGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNz" + - "YW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUg" + - "c2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJl" + - "IHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWls" + - "ZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0" + - "cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFw" + - "IHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hl" + - "Y2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAg" + - "fAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9p" + - "ZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0" + - "aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2" + - "ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRo" + - "ZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUg" + - "W1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJv" + - "b3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNl" + - "Y3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2Fw" + - "cC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91" + - "bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhl" + - "IGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RP" + - "T0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNv" + - "bm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMg" + - "c2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBg" + - "QVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNw" + - "YCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0" + - "aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQg" + - "YnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9u" + - "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBv" + - "c3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0" + - "YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZl" + - "CnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1" + - "bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24v" + - "YWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdp" + - "dGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBp" + - "dCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBu" + - "dmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "c3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBg" + - "LCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBm" + - "aXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBh" + - "IGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdu" + - "b3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9u" + - "YWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCks" + - "IHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + - "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1w" + - "bGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "Ci0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1z" + - "dHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCks" + - "IGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1l" + - "bnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0" + - "aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRz" + - "LgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7" + - "CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAi" + - "SW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVy" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVw" + - "IGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9v" + - "bCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49" + - "IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3" + - "aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxl" + - "IHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEu" + - "eCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1k" + - "aWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwg" + - "dmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFs" + - "bCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVt" + - "cGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxt" + - "ZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhl" + - "IGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1h" + - "bmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRo" + - "ZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBz" + - "eW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVs" + - "bWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9y" + - "ZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBz" + - "eW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tl" + - "ZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUt" + - "Y2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBU" + - "ZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZp" + - "bmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5h" + - "bGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFt" + - "ZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJ" + - "dCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBu" + - "dmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUg" + - "Y29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + - "a3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZp" + - "bmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRv" + - "IGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAi" + - "VGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3Bl" + - "cmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNv" + - "dXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3Bh" + - "Y2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlv" + - "biI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29t" + - "cHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVy" + - "IGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENM" + - "SSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + - "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29u" + - "ZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBj" + - "b250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1" + - "c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhl" + - "biByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZp" + - "cm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNj" + - "b3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMg" + - "dW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxh" + - "bmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAog" + - "ICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFz" + - "ZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBp" + - "X2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3" + - "YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwg" + - "Q0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFt" + - "bCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQg" + - "S1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + - "YXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3Vw" + - "cGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENM" + - "SSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhl" + - "IGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29u" + - "dHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBw" + - "cm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2Vy" + - "LWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZD" + - "RiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFu" + - "IGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJ" + - "dCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMg" + - "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxv" + - "bmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dp" + - "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + - "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8n" + - "IHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhl" + - "bG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNh" + - "dGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRs" + - "ZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3Vy" + - "cmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQg" + - "dG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRz" + - "Lywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3Qg" + - "Zm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2Nh" + - "dGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0" + - "IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZp" + - "bGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAg" + - "ICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBh" + - "bmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3Ry" + - "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxs" + - "YXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2Yg" + - "dGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52" + - "aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRh" + - "dGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFt" + - "ZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3Ry" + - "aWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wt" + - "cGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5k" + - "IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRl" + - "IHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4i" + + "LCBhbmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhl" + + "IGtleQppcyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNy" + + "LmlvYCByZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXks" + + "IGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBh" + + "bmQgdGhlIHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2Vu" + + "ZHMuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVu" + + "LCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sg" + + "bmFtZXMuIEFmdGVyIGluc3RhbGwgYSByZWplY3RlZCBjcmVkZW50aWFsIGlzCmEgd2FybmluZywg" + + "c2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMgd2l0aCBpdHMgb3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lz" + + "dHJ5IHRoaXMKbWFjaGluZSBjYW5ub3QgcmVhY2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxz" + + "LCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNyZWRlbnRpYWwgYXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5" + + "IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMgRUNSIG9yCm9uZSB1c2luZyBCYXNp" + + "YyBhdXRoLCBpcyBza2lwcGVkIHdpdGggYSBjb21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEK" + + "cmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMgbWFjaGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRl" + + "ZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQgY3JlZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBm" + + "cm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhl" + + "IENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZp" + + "ZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3Rh" + + "Y2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8" + + "IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3" + + "aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMg" + + "YHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNg" + + "IGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5W" + + "Q0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVu" + + "dHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMg" + + "d2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFj" + + "ZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZP" + + "WV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBv" + + "cGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3Qg" + + "YHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBO" + + "VkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3Jh" + + "Z2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFsaWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3Mg" + + "ZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JB" + + "R0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVT" + + "UEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3It" + + "cHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVz" + + "IGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1" + + "ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVu" + + "dCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAg" + + "ZGVmYXVsdCBpcyBub3QgdXNlZCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2Vk" + + "LgotIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNl" + + "LnlhbWxgLiBgYmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVz" + + "IGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tg" + + "CiAgKGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25seSBydW4p" + + "LCBlbHNlIHRoZSBDTEkncwogIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9yeSBpcyBy" + + "ZWFkIGRpcmVjdGx5LCBhbmQgYW4gYG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5IGFuIGVh" + + "cmxpZXIgY29tbWFuZCBleHRyYWN0ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywK" + + "ICBgZmlsZTovL2AgaW5jbHVkZWQsIGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9u" + + "ZWQgaXRzIGNvbW1pdHRlZAogIHN0YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0YWNrIGFu" + + "ZCBubyBzdGFjayBmbGFnIHJlYWRzIHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRoZSB3b3Jr" + + "aW5nIGRpcmVjdG9yeS4KCk90aGVyd2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndh" + + "cmRlZDogdGhlIHZhbGlkYXRvciBmaW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBh" + + "bmQgYG52Y3IuaW9gIGlzIHByb2JlZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lm" + + "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0" + + "ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwg" + + "LSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8" + + "IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0t" + + "cGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFu" + + "Z2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQg" + + "dG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0t" + + "d2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBE" + + "VVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBG" + + "aWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZl" + + "bnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwg" + + "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAg" + + "fCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQg" + + "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3Qt" + + "MWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8" + + "IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9u" + + "LWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25c" + + "fHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8g" + + "Z2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUg" + + "bGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJl" + + "cy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2Vk" + + "IGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVd" + + "YCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2Ug" + + "ZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkg" + + "aW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24g" + + "dW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRh" + + "eXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1" + + "dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmlu" + + "aXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + + "CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAt" + + "LWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwg" + + "VVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + + "cG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9u" + + "LXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxU" + + "YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJl" + + "bmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFj" + + "a2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAg" + + "fCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQg" + + "d2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lP" + + "TjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1s" + + "bG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1" + + "cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxs" + + "aW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0" + + "aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBp" + + "bnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3Mg" + + "dXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXBy" + + "aW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0" + + "eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXIt" + + "YWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkg" + + "b3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBv" + + "dmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5k" + + "IGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFu" + + "ZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxt" + + "Q29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRo" + + "cyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEv" + + "Y2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2Au" + + "IGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJf" + + "b2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1D" + + "b25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVk" + + "IHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0" + + "LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAo" + + "aG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3" + + "aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1I" + + "LDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5n" + + "IGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tl" + + "ZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBg" + + "aGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNh" + + "bWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVz" + + "IFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52" + + "b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4i" + + "YC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9k" + + "ZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3Bv" + + "bnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBz" + + "ZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0" + + "aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0g" + + "fAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQg" + + "YG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1p" + + "dD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9r" + + "ZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0" + + "b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwg" + + "UmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRo" + + "aXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwK" + + "fCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2Nv" + + "dW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0" + + "aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8" + + "CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50" + + "cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9v" + + "ciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2Rl" + + "bCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rp" + + "b24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21t" + + "ZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAg" + + "fCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWls" + + "eSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgx" + + "MDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBg" + + "LS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVz" + + "dC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1" + + "bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZp" + + "YyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0" + + "ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVh" + + "dGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3Nl" + + "IHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVx" + + "dWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8Cnwg" + + "YC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkg" + + "fCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0" + + "eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BV" + + "LkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxs" + + "eSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAg" + + "fCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdp" + + "dGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmls" + + "ZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8Cnwg" + + "YC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBO" + + "QU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29t" + + "bWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdo" + + "ZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9j" + + "aHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAg" + + "fCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1z" + + "ZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRh" + + "YmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8" + + "IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVm" + + "YXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAg" + + "fCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2" + + "ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBH" + + "cmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0" + + "IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFu" + + "ZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9D" + + "QVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFt" + + "ZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAg" + + "fCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVw" + + "ZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNl" + + "IGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0" + + "YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVz" + + "Y3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1l" + + "dHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBN" + + "ZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnkt" + + "aWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwixvIPJ61EA" + + "AOtRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3Rp" + + "bmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSByZW1lZGlh" + + "dGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBDTEkgZW1p" + + "dHMgKFJFUS0xNSk6IG91dHNpZGUgcHJlLWZsaWdodCwgZXZlcnkgZW50cnkgYmVsb3cgc2hvdWxk" + + "IG1hcCB0byBhIGBwaGFzZV9mYWlsZWRgIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9u" + + "YCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCmBjaGVja2AgcmVwb3J0cyBlYWNoIGZpbmRpbmcgYXMg" + + "YSBgY2hlY2tfY29tcGxldGVkYCBldmVudCwgbm90IGFzCmBwaGFzZV9mYWlsZWRgLiBUaGUgc3lt" + + "cHRvbSBpcyB0aGUgZXZlbnQncyBgbWVzc2FnZWA7IGNsdXN0ZXItdmFsaWRhdG9yIHJvd3MKcXVv" + + "dGUgdGhlIHZhbGlkYXRvcidzIGZhaWxlZCBzdW1tYXJ5IHJvd3MsIGFuZCBgLS1zaG93LWxvZ3Ng" + + "IHByaW50cyB0aGUgZnVsbAp0cmFuc2NyaXB0LgoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlh" + + "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3QgZm91bmQgb24gUEFUSGAgfCBPcGVy" + + "YXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwuIEFuIGVycm9yIHdpdGggYC0t" + + "cHJlYDsgb3RoZXIgc2NvcGVzIHdhcm4sIGFkZGluZyBgOyBvbmx5IGFuIGluc3RhbGwgbmVlZHMg" + + "aXRgIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90" + + "YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IGZvdW5kIG9uIFBB" + + "VEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxs" + + "YXRpb24gfAp8IGBoZWxtIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0u" + + "c2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIG5vdCBydW46IGNs" + + "dXN0ZXJfdmFsaWRhdG9yX2ltYWdlIGlzIG5vdCBzZXQ7IC4uLmAsIHdhcm5pbmcgfCBObyB2YWxp" + + "ZGF0b3IgaW1hZ2UgaXMgY29uZmlndXJlZCwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0" + + "ZWQgfCBTZXQgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpbiB0aGUgbnZjZi1jbGkgY29uZmln" + + "LCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgIG9yIGAtLWNsdXN0ZXItdmFsaWRh" + + "dG9yLWltYWdlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIGRpZCBub3QgY29tcGxldGUsIHNvIHRo" + + "ZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkOiAuLi5gLCBlcnJvciB8IFRoZSB2YWxpZGF0b3Ig" + + "Y291bGQgbm90IHJ1biBvciBlbmRlZCBiZWZvcmUgaXRzIHZlcmRpY3Q6IFJCQUMgZGVuaWVkLCBp" + + "bWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCB8IEZpeCB0aGUgY2F1c2UgdGhlIG1l" + + "c3NhZ2UgbmFtZXMsIG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwKfCBgY2x1" + + "c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJ" + + "bnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwg" + + "ZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVu" + + "dm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlk" + + "YXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAg" + + "fCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUg" + + "b25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRh" + + "dGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVs" + + "dC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhl" + + "IHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRo" + + "ZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZh" + + "aWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + + "byBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRo" + + "ZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxs" + + "IHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUt" + + "b3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1n" + + "cHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25l" + + "IGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWlu" + + "YXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRl" + + "bGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVs" + + "ZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEg" + + "ZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBr" + + "dWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBs" + + "aXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJl" + + "c29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJz" + + "IG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVy" + + "bWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRp" + + "b24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJl" + + "cnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBU" + + "ZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + + "IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5p" + + "bmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93" + + "biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4" + + "dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5n" + + "LCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3" + + "aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNw" + + "YWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2Ug" + + "cnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRz" + + "IHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVt" + + "LiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTog" + + "YGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUg" + + "XHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90" + + "LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9u" + + "ZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9y" + + "dHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyBy" + + "ZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9E" + + "UklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZp" + + "bGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNl" + + "cyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRk" + + "b24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0" + + "aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBXaXRoIGAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2tgIG9yIGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHNldCB0byBhIGxvY2Fs" + + "IHN0YWNrLCBnYXRlcyBjb21lIGZyb20gaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQs" + + "IHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyBvbmUsIGBlbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbGA7IG90aGVyd2lzZSBmcm9tIHRoZSBzdGFjayBkZWZhdWx0cywgd2hpY2ggbGVh" + + "dmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBg" + + "bnZjZi11aWAgb2ZmIHwgUG9pbnQgdGhlIHN0YWNrIGZsYWcgYXQgdGhlIHN0YWNrIHlvdSBpbnN0" + + "YWxsIGZyb20gYW5kIHBhc3MgdGhlIHNhbWUgYC0tZW52YCB8CgojIyBBdXRoCgp8IFN5bXB0b20g" + + "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1" + + "aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tl" + + "bmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2Vu" + + "PSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBB" + + "bm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8" + + "IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0g" + + "fi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1p" + + "c3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRv" + + "a2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkt" + + "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMg" + + "SW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + + "LXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5k" + + "cmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9y" + + "YWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAg" + + "fAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBs" + + "b3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwg" + + "VXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAg" + + "fAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxs" + + "IC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBl" + + "bnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZh" + + "bHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJv" + + "ciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29t" + + "bWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUg" + + "YG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRv" + + "cjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90" + + "IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNk" + + "IGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+" + + "YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + + "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGgg" + + "YEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBv" + + "dXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBj" + + "bHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUt" + + "cnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVz" + + "IGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3Ig" + + "Y2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNo" + + "IHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkg" + + "Y2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdl" + + "UHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIg" + + "Y29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1i" + + "YWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24g" + + "ZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxh" + + "ZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVh" + + "bHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + + "YW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBD" + + "YXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJu" + + "cyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBr" + + "ZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJl" + + "Z2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVk" + + "ZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQg" + + "cHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3Jl" + + "ZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91" + + "dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVm" + + "cmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1u" + + "IG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVk" + + "aWF0ZWx5IHwKUEsHCLM+PWYLHwAACx8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5h" + + "bWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0" + + "YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJh" + + "dGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + + "IHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVz" + + "LCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBs" + + "YW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVy" + + "YXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9y" + + "IHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZp" + + "cm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQu" + + "CmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0g" + + "MS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1h" + + "dGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUt" + + "ZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBz" + + "ZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0" + + "ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNy" + + "ZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBp" + + "bnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + + "Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYt" + + "bWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBs" + + "YW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNd" + + "CiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0s" + + "IGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxm" + + "LU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5n" + + "IE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoK" + + "IyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3Ig" + + "dGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBh" + + "bmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExN" + + "ImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0" + + "cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpB" + + "c2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Ig" + + "c3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52" + + "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxj" + + "b250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52" + + "aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUt" + + "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZp" + + "bGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUt" + + "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlz" + + "c2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFz" + + "aApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZl" + + "cnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRy" + + "b2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSBy" + + "b290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFu" + + "ZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNp" + + "b24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxt" + + "IHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAj" + + "IE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENs" + + "aWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRy" + + "b2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290" + + "bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFt" + + "ZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2Ug" + + "dGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + + "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFs" + + "dWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9z" + + "dCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jh" + + "c2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + + "Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3Rz" + + "IHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3Jl" + + "dHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxl" + + "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3Jp" + + "dGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + + "a2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3Rv" + + "cmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBp" + + "biB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2Jh" + + "bC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2su" + + "IFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFy" + + "dC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFj" + + "ZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoK" + + "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + + "ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + + "eSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + + "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + + "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + + "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwg" + + "c2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRv" + + "IHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2Vj" + + "cmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoK" + + "Qm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJl" + + "ZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + + "YXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQg" + + "c2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQK" + + "ZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElf" + + "S0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4g" + + "fCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGlu" + + "IDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0ICht" + + "dWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFs" + + "IE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1" + + "bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dp" + + "biBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2ls" + + "ZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcg" + + "dGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQw" + + "MTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3Ug" + + "cHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1" + + "biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2gg" + + "cHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5" + + "PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhl" + + "IHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5" + + "IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQ" + + "dWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + + "Y2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0" + + "IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxs" + + "IHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xv" + + "YWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQg" + + "dGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4g" + + "UG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5" + + "b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAg" + + "ICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNl" + + "czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9y" + + "ZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAg" + + "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5p" + + "ZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBu" + + "b24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBu" + + "dmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0K" + + "ICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0g" + + "cmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9z" + + "ZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3Vy" + + "Y2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhl" + + "IHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0" + + "IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAg" + + "PiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1" + + "Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVs" + + "bS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhl" + + "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAo" + + "dGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwg" + + "bmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBl" + + "ci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhl" + + "IG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxT" + + "ZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDog" + + "bnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4g" + + "YGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNv" + + "IHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhv" + + "bGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlz" + + "IG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xv" + + "YmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBg" + + "YXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBs" + + "b2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gK" + + "R0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8" + + "Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + + "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUg" + + "YSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlv" + + "biBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRo" + + "ZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3Jh" + + "cnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNo" + + "IGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQURE" + + "UkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVz" + + "ZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdB" + + "VEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9i" + + "YWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3Rp" + + "bmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMj" + + "IDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJP" + + "VEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBm" + + "aWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fz" + + "c2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vydmlj" + + "ZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBv" + + "bmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVw" + + "cyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMg" + + "d2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0" + + "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpI" + + "ZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNl" + + "bGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBO" + + "QVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3Vw" + + "PXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFy" + + "eSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5" + + "IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRk" + + "b24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSBy" + + "b3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBP" + + "YnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBh" + + "IHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoK" + + "IyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBp" + + "cyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFj" + + "aW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBO" + + "VkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0" + + "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRo" + + "ZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRl" + + "d2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNl" + + "IGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhl" + + "bS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGlu" + + "CmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0" + + "eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRo" + + "ZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5k" + + "IGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBo" + + "b3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5n" + + "Q29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5p" + + "dHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQg" + + "YnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFm" + + "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAg" + + "cmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + + "LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0" + + "aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + + "bmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZh" + + "bml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5k" + + "YXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRy" + + "YWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0" + + "ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRp" + + "b25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + + "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + + "dGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBu" + + "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMs" + + "IHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkK" + + "dW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQu" + + "CgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHks" + + "IGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + + "YW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1" + + "dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkg" + + "b25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhv" + + "ciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxs" + + "IHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNl" + + "IHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwK" + + "ICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRz" + + "LgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkK" + + "Zm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFu" + + "ZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1" + + "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9y" + + "CnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2Nv" + + "cGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBo" + + "ZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNl" + + "cnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9u" + + "LXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0" + + "aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwg" + + "YW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVu" + + "dG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2Ug" + + "Y2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + + "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhl" + + "IHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVh" + + "c2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBk" + + "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + + "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0" + + "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "dHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + + "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVz" + + "cGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + + "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMj" + + "IyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5z" + + "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52" + + "Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAt" + + "LWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + + "ZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + + "c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxt" + + "IENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5" + + "IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNh" + + "c3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1h" + + "Z2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0" + + "aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVl" + + "czpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + + "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + + "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + + "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + + "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + + "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + + "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + + "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + + "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + + "MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpk" + + "ZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRo" + + "ZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFt" + + "bC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEg" + + "c2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpg" + + "YGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRl" + + "bnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1" + + "bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0" + + "aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQ" + + "SSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwK" + + "fC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFn" + + "ZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0" + + "aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0" + + "ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5" + + "YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVu" + + "dj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJT" + + "X0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBz" + + "ZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBz" + + "ZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0" + + "bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBi" + + "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0" + + "cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdq" + + "c29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFD" + + "RV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQg" + + "b2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1" + + "bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2" + + "YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBk" + + "b2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRv" + + "YXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + + "fCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAu" + + "Cj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCBy" + + "ZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29y" + + "ZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVj" + + "YXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdh" + + "cmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBi" + + "YWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5j" + + "b2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3Rh" + + "Y2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJp" + + "bnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFv" + + "IGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBz" + + "ZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJl" + + "cGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQK" + + "PiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMg" + + "cGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9y" + + "Zyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rp" + + "b24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVy" + + "ZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUg" + + "YWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBz" + + "ZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWly" + + "cm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1" + + "dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVu" + + "dGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpV" + + "c2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBp" + + "bmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2Vz" + + "LiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29u" + + "ZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAx" + + "LiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5n" + + "aXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBr" + + "eXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRl" + + "IHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + + "a2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUg" + + "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2Nr" + + "ZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4g" + + "QXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8t" + + "aW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5" + + "IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6" + + "IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3Jl" + + "dHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVk" + + "ZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3" + + "aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVs" + + "bCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBz" + + "dGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAg" + + "ICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVu" + + "dHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBg" + + "YAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8" + + "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVu" + + "YXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0" + + "IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1" + + "Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENo" + + "ZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsg" + + "YHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8g" + + "a25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBP" + + "cGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBv" + + "ZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAv" + + "IGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + + "RGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdy" + + "YXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQu" + + "IHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21h" + + "bGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8Cnwg" + + "REItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGlu" + + "ZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJB" + + "X1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0" + + "cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4g" + + "dGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + + "aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRp" + + "bmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBg" + + "a3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0g" + + "cmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkg" + + "fCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBB" + + "Y2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNl" + + "Y3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9v" + + "dHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQg" + + "VW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBo" + + "b29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyBy" + + "ZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28g" + + "dGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1" + + "biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3Zlcmlm" + + "eS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZh" + + "dWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNv" + + "ZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUg" + + "cmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3Rv" + + "cnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2Ag" + + "YW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZh" + + "bHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcg" + + "bWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRl" + + "cml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0" + + "IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmln" + + "IHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNj" + + "b3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCBy" + + "ZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJl" + + "Y2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nl" + + "c3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFp" + + "cmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0" + + "aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJz" + + "ZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25v" + + "d24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5n" + + "IHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNv" + + "bnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2Ig" + + "aXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVh" + + "c2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlm" + + "IGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhv" + + "b2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + + "LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQK" + + "YGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5t" + + "ZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + + "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQg" + + "W3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9w" + + "dWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQp" + + "CgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxs" + + "IHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQg" + + "aW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpz" + + "b25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAog" + + "ICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15" + + "IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qg" + + "b3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUg" + + "YWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3Qg" + + "MS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBr" + + "dWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJv" + + "Y2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4i" + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBo" + - "ZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUg" + - "YnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJv" + - "bC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwg" + - "YXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBh" + - "ZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVM" + - "TUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRl" + - "cGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxt" + - "ZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBj" + - "b250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2Jz" + - "ZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhl" + - "IGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0" + - "YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUg" + - "ZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1n" + - "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBm" + - "bG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwK" + - "ICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5l" + - "IGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVy" + - "LiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVx" + - "dWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBz" + - "aG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVk" + - "aW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "aywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5k" + - "LiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1" + - "ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIs" + - "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + - "CiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0" + - "cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + - "aW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJl" + - "LWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUg" + - "Z2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXgg" + - "aW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNz" + - "YW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRz" + - "IHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJh" + - "c2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRy" + - "YSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290" + - "bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUg" + - "WUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2Rp" + - "ZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMg" + - "d2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55" + - "YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVz" + - "dCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhl" + - "IFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBs" + - "YXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0" + - "aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5n" + - "IHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1k" + - "ZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVu" + - "ZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3Ig" + - "dG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlm" + - "aWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBz" + - "eW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlm" + - "aWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJh" + - "LXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNl" + - "bGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1" + - "ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAx" + - "IFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRl" + - "YnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5" + - "IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNy" + - "ZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNl" + - "IGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3Jvbmcg" + - "Y3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRo" + - "ZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQg" + - "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAi" + - "VGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3Rl" + - "bSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBv" + - "biB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQg" + - "aWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRz" + - "IiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3Rl" + - "ciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdh" + - "eSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + - "dG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4" + - "IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlk" + - "ZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJs" + - "ZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3" + - "YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUg" + - "Y29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9z" + - "dCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBs" + - "YW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1v" + - "cGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + - "cnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3Mu" + - "Z2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVy" + - "ZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVS" + - "TCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJM" + - "LCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJU" + - "aGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wt" + - "cGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBi" + - "b3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdy" + - "cGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5h" + - "YmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlz" + - "c3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + - "ZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNj" + - "aGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRl" + - "LXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2" + - "YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFu" + - "ZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0" + - "IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0" + - "ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJy" + - "b3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVh" + - "ciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVu" + - "dCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2" + - "YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3ll" + - "ZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBi" + - "ZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJv" + - "bC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVz" + - "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBu" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Us" + - "IHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0" + - "ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRj" + - "aGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJl" + - "c2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0" + - "aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUg" + - "Q0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2Vk" + - "IHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0" + - "aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkg" + - "SUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFs" + - "LCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBs" + - "YXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdp" + - "dGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5l" + - "IG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZv" + - "ciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0" + - "ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25m" + - "aWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1" + - "c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5l" + - "IGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + - "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + - "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + - "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVk" + - "IHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlz" + - "bWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0" + - "aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBp" + - "dCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24i" + - "LAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVz" + - "dHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRo" + - "ZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlh" + - "bWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRo" + - "ZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0" + - "IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkg" + - "ZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJv" + - "bC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdp" + - "c3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRo" + - "ZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFp" + - "biwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5k" + - "IHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVy" + - "cyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5" + - "IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "IlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVl" + - "IHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4g" + - "SG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55" + - "YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVz" + - "KSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdo" + - "IHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVz" + - "IG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9i" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVy" + + "aWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1v" + + "ZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0" + + "IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5k" + + "IHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBj" + + "b21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZp" + + "bGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWlj" + + "aywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhl" + + "IGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8g" + + "c2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJl" + + "dmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQg" + + "ZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBi" + + "bGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0" + + "ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3" + + "IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5" + + "IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFu" + + "dCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + + "NS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNl" + + "cyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3" + + "ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMu" + + "IEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwg" + + "dGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1" + + "Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAo" + + "bnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVz" + + "dGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRo" + + "ZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAg" + + "IlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRv" + + "IHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwg" + + "cmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1l" + + "c3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1l" + + "c3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90" + + "aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGly" + + "ZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxp" + + "emVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxv" + + "dyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEg" + + "c2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhl" + + "IGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVu" + + "ZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250" + + "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJl" + + "LUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMs" + + "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2Vm" + + "aWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRl" + + "IGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdp" + + "dGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdp" + + "c3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + + "eHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVk" + + "IHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBj" + + "b21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmws" + + "IGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3Vy" + + "bCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZv" + + "ciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RF" + + "Ul9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdf" + + "RklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhF" + + "TE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhl" + + "IGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25m" + + "aWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21z" + + "LWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBh" + + "bmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQg" + + "bm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0" + + "ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dp" + + "biBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVz" + + "ZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28g" + + "ZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + + "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3Ry" + + "eSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tF" + + "WSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVx" + + "dWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + + "IGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRo" + + "ZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "RzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZv" + + "ciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + + "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVu" + + "IGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRv" + + "IGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0" + + "IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBi" + + "dW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + + "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBz" + + "dHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlh" + + "bWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhl" + + "IGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAg" + + "IlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4g" + + "aW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtT" + + "IGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRp" + + "b24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGlj" + + "YXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0" + + "aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1l" + + "bnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxh" + + "bmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNp" + + "b25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0" + + "cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1h" + + "bmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBw" + + "cmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVf" + + "RU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2Vydmlj" + + "ZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwK" + + "ICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVn" + + "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVz" + + "aW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBI" + + "ZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJv" + + "ZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwg" + + "bXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRl" + + "IGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + + "IGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1h" + + "bmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUt" + + "cGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBw" + + "cm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBz" + + "d2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZl" + + "cmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + + "b25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVu" + + "diwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1y" + + "ZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVk" + + "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + + "LS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQg" + + "LS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhl" + + "IGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2Ug" + + "YW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAi" + + "cXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVh" + + "c2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlm" + + "aWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5n" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3" + + "YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYg" + + "YmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3" + + "aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUg" + + "cmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1p" + + "bmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVz" + + "OiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQg" + + "d2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJl" + + "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBh" + + "Z2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZm" + + "IGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYt" + + "c2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25s" + + "eSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAt" + + "LSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhl" + + "bG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBn" + + "cm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAg" + + "IlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1z" + + "eXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50" + + "IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxl" + + "YXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxi" + + "YWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxs" + + "QmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21t" + + "YW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNr" + + "ZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qg" + + "c3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2lu" + + "ZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMp" + + "IGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYg" + + "ZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhl" + + "IGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGlt" + + "YWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAog" + + "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEg" + + "c3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91" + + "dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVL" + + "UyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2gg" + + "aXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1" + + "bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRo" + + "ZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVu" + + "dm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRl" + + "d2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJv" + + "eHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVz" + + "IE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJl" + + "ZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21z" + + "X2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVy" + + "bmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBp" + + "biBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1" + + "dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9i" + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBl" + - "bnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9u" + - "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwg" + - "Z2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEg" + - "cmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBl" + - "eGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0" + - "IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjog" + - "IkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1t" + - "YW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUg" + - "Y29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMu" + - "bGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBH" + - "YXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0" + - "IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + - "dGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQt" + - "YmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0" + - "ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhv" + - "cCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVR" + - "VUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fy" + - "bmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlv" + - "bi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYg" + - "dXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + - "bnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3Jr" + - "ZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBh" + - "dGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxp" + - "Y2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXIt" + - "b2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFu" + - "Y2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + - "IHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1" + - "bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUg" + - "b25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5z" + - "dCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZy" + - "ZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBh" + - "bmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIs" + - "IHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcg" + - "LS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9y" + - "LWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1" + - "c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJz" + - "aG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9j" + - "YWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYt" + - "aG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxs" + - "YXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFk" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBp" + - "bnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2Nh" + - "bCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9j" + - "YWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBs" + - "ZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBk" + - "ZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJl" + - "c291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00g" + - "b24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTog" + - "Q2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJy" + - "aWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3Rl" + - "cCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55" + - "YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0x" + - "MApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVz" + - "PmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3Rh" + - "Y2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + - "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + - "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + - "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + - "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAg" + - "ICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJN" + - "aQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1l" + - "bW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + - "bGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90" + - "bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5v" + - "dGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxl" + - "IGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291" + - "cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0" + - "ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxp" + - "bmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJy" + - "b3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29u" + - "ZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + - "CiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZj" + - "ci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50" + - "aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIg" + - "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + - "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBg" + - "YAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFz" + - "aApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNz" + + "ZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5h" + + "dHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2Ug" + + "ZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2lu" + + "dHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJM" + + "LCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZp" + + "Y2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJM" + + "IHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhl" + + "IGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3Jw" + + "YyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3Ru" + + "YW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBp" + + "LnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5i" + + "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + + "ZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNv" + + "bmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVh" + + "ZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + + "aWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1w" + + "bGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAog" + + "ICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1v" + + "cGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5" + + "c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAg" + + "InF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRl" + + "LXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBh" + + "bmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZp" + + "bGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBh" + + "c3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBo" + + "YW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxv" + + "d3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBh" + + "bmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0" + + "YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2" + + "aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBu" + + "b3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNv" + + "bmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0" + + "aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVj" + + "dCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5" + + "IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRy" + + "b2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUg" + + "dGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2Vk" + + "IGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0" + + "aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29u" + + "ZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxv" + + "dyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMg" + + "Y29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1m" + + "aWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZv" + + "cmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRv" + + "ZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3" + + "YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBI" + + "ZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + + "ZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2" + + "ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBv" + + "biBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBm" + + "bG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQg" + + "ZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBs" + + "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdf" + + "RklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZv" + + "cmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNv" + + "bW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNs" + + "dXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNv" + + "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3" + + "YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRo" + + "cywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3du" + + "IC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + + "IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNv" + + "bnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjog" + + "IkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNp" + + "bGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVu" + + "Y2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0" + + "cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25s" + + "eSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWlu" + + "OiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMg" + + "LT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRy" + + "YS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLiki" + + "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMg" + + "bXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5k" + + "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxv" + + "Y2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0" + + "aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVy" + + "LiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJ" + + "IG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFk" + + "ZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBm" + + "b3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQg" + + "dGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJh" + + "bGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1" + + "ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2Rz" + + "LiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNl" + + "bGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBh" + + "dXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndv" + + "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5z" + + "cG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBu" + + "b3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0" + + "aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlz" + + "dGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91" + + "dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0" + + "ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVx" + + "dWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1" + + "c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRl" + + "ZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1y" + + "b3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhl" + + "IGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + + "Y2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJn" + + "YXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBh" + + "bmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBl" + + "bnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2Vs" + + "ZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBm" + + "dW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxt" + + "LXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNp" + + "ZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5W" + + "Q0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0" + + "byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxm" + + "LW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVj" + + "aWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQi" + + "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0" + + "aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBr" + + "M2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhl" + + "IGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVz" + + "IGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJy" + + "aWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBs" + + "aW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFy" + + "Z2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4K" + + "ClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVz" + + "IGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + + "bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9y" + + "ZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZp" + + "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywg" + + "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + + "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVy" + + "c2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBj" + + "YXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + + "YWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + + "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJl" + + "c291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAg" + + "ICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIy" + + "IgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQg" + + "YXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fz" + + "cy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBj" + + "aGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkg" + + "aXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNl" + + "IGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95" + + "IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUg" + + "TlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBp" + + "bnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4K" + + "CiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICBy" + + "ZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgog" + + "ICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMj" + + "IFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykK" + + "CmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + + "JE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxs" + + "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + + "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + + "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNy" + + "ZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1" + + "bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4g" + + "YGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1l" + + "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + + "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + + "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + + "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + + "YW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAg" + + "ICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0o" + + "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4K" + + "ClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1" + + "dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRo" + + "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3Bs" + + "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + + "bnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBm" + + "b3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVu" + + "Y2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09m" + + "ZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52" + + "Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNv" + + "bHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAg" + + "ICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19Jwog" + + "IGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxl" + + "dGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQt" + + "c3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNo" + + "b3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgot" + + "LS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVw" + + "bG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAx" + + "OiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + + "dGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29t" + + "cHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBv" + + "biBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVn" + + "Z2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1" + + "Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0" + + "ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5n" + + "IHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVz" + + "dGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9u" + + "LXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoK" + + "UmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVw" + + "IDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1t" + + "YW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2Vz" + + "Cm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBp" + + "ZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFs" + + "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFn" + + "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + + "cmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1p" + + "c3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + + "IGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNp" + + "dCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJF" + + "Q09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + + "SUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29u" + + "ZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFt" + + "YmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1F" + + "ICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + + "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJl" + + "dHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZv" + + "bGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0" + + "aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgot" + + "LS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UK" + + "ClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIg" + + "d2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRo" + + "ZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBl" + + "bnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + + "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBh" + + "bmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + + "dG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNv" + + "cmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAg" + + "YW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVt" + + "cG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBz" + + "dWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhv" + + "c3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVj" + + "dCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFs" + + "dWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklD" + + "TVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIg" + + "ZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9u" + + "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxs" + + "eS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNv" + + "bW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtz" + + "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + + "JEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + + "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91" + + "dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3By" + + "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91" + + "dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0t" + + "dGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2Fp" + + "dCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9w" + + "ZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5" + + "IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5k" + + "ZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBj" + + "b25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3Bl" + + "bkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5h" + + "dHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFz" + + "ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + + "eW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwK" + + "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwg" + + "bmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHks" + + "IGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91" + + "dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFs" + + "IHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBh" + + "ZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9u" + + "YWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24g" + + "YW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVl" + + "c3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxt" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0" + + "aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5p" + + "dHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0" + + "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3" + + "YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5" + + "IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25z" + + "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jl" + + "c3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFs" + + "IHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBo" + + "YXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFt" + + "ZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAA" + + "AAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + + "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFy" + + "ZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4g" + + "cmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFu" + + "ZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21i" + + "aW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUg" + + "ZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmls" + + "ZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmly" + + "b25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + + "dGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENM" + + "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHBy" + + "b2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQt" + + "YXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUg" + + "cmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQg" + + "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBm" + + "b3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZp" + + "cm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVn" + + "aXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "IGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUt" + + "cmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhl" + + "IGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5j" + + "b20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBs" + + "YW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVu" + + "dm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0" + + "ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhl" + + "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVz" + + "IHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlz" + + "IHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3" + + "aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + + "CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNm" + + "U2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0" + + "c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2" + + "aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZp" + + "Y2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0" + + "aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBj" + + "cHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVy" + + "LmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNw" + + "YWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25h" + + "bWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7" + + "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6" + + "CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + + "d2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6" + + "CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1l" + + "czogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAg" + + "IGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29y" + + "a2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAg" + + "ZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAg" + + "c2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + + "c3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1k" + + "b21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + + "CiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRv" + + "bWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + + "ICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3" + + "IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBi" + + "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + + "aWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + + "aWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVz" + + "cywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NP" + + "TkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + + "Cmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8" + + "Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlf" + + "aG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdh" + + "dGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4i" + + "CmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRh" + + "aW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMg" + + "b25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hv" + + "c3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJl" + + "IGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhl" + + "IGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFz" + + "aAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0" + + "ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwK" + + "ICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAog" + + "IE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRv" + + "LW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpg" + + "YGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20g" + + "dGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwg" + + "YEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1h" + + "bmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkK" + + "d2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoK" + + "IyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZp" + + "cnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVn" + + "aXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + + "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0" + + "ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9u" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNp" + + "c3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52" + + "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + + "cGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUu" + + "eWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + + "LS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdp" + + "b24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkg" + + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + + "CiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3Ry" + + "YXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFi" + + "bGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tT" + + "LiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVs" + + "bWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRy" + + "b2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUK" + + "Y29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRl" + + "IGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBy" + + "ZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBg" + + "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRk" + + "CmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRz" + + "IGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + + "bWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQg" + + "bmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lk" + + "ZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUg" + + "LW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3Bl" + + "cmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1u" + + "IG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30n" + + "PWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBU" + + "ZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9y" + + "ZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJv" + + "bCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNl" + + "cnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHBy" + + "ZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3" + + "aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + + "dGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQg" + + "YWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + + "ZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRj" + + "aGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3Ig" + + "bWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZl" + + "cmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJt" + + "YXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFu" + + "dXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxN" + + "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29u" + + "ZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1j" + + "bHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBh" + + "bmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3Ry" + + "YXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFj" + + "dCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVg" + + "LiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29t" + + "cHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktV" + + "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJ" + + "R2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFu" + + "ZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3Vi" + + "ZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAK" + + "dW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVy" + + "IElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUg" + + "Y29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + + "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21w" + + "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0" + + "aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1w" + + "bGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBj" + + "b21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + + "ZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3Rlciwg" + + "cmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBw" + + "cmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + + "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2Et" + + "aWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + + "ICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + + "ICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBj" + + "bHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0" + + "ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVy" + + "IG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAI" + + "AAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoK" + + "UmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdl" + + "ZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFs" + + "bCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUK" + + "CiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1l" + + "c3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRz" + + "IChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRz" + + "IC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEg" + + "c3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJ" + + "bWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVB" + + "RFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8x" + + "ICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoK" + + "YGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAx" + + "IFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGlt" + + "YWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMg" + + "aW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + + "YWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + + "bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5p" + + "bWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFn" + + "ZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBq" + + "c29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0" + + "IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9" + + "PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJl" + + "bmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2" + + "aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + + "KS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJh" + + "bywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNl" + + "cnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + + "bC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0" + + "ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3It" + + "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlh" + + "bHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMg" + + "U3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoK" + + "YGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJF" + + "U1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEg" + + "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBp" + + "cyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBg" + + "YmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3Rl" + + "bQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMg" + + "LW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + + "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBj" + + "b250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNl" + + "PiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3Bl" + + "bkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVs" + + "bCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBq" + + "b2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGlu" + + "dGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIg" + + "ZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + + "ZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcg" + + "YnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + + "byAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0" + + "aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRh" + + "dGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkg" + + "Y2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkg" + + "SldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdp" + + "dGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9u" + + "X3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5v" + + "dCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRo" + + "ZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1p" + + "bml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5p" + + "dDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVu" + + "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1p" + + "Z3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNp" + + "bmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJh" + + "Y2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxp" + + "dmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYg" + + "dmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJh" + + "bzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMg" + + "ICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0" + + "ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWln" + + "cmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQg" + + "ZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwg" + + "T3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQg" + + "dGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBt" + + "aW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQg" + + "KHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0" + + "aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0" + + "aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMj" + + "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + + "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0K" + + "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMg" + + "Rml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNl" + + "ZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0g" + + "Y2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgog" + + "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3Qg" + + "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + + "aXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBT" + + "eW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRT" + + "ICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBg" + + "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZh" + + "aWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMg" + + "Q29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykg" + + "ZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZh" + + "aWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFp" + + "bSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gq" + + "KjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gK" + + "ICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIu" + + "ICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMK" + + "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1" + + "ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAg" + + "a3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCBy" + + "ZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0" + + "ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0" + + "aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMg" + + "dG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4K" + + "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxu" + + "YW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBh" + + "bmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNl" + + "IG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQg" + + "aWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJl" + + "bGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVk" + + "CgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNy" + + "ZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1u" + + "IG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3Vi" + + "ZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNr" + + "IEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9" + + "bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJh" + + "c2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRz" + + "LnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3Qg" + + "anVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3Jl" + + "ZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hv" + + "dWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5" + + "IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGlu" + + "IGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3Jl" + + "ZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBk" + + "ZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVs" + + "ZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBh" + + "cGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + + "cyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoK" + + "IyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1" + + "Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJh" + + "dG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAg" + + "IDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250" + + "ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4g" + + "UmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApm" + + "b3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09O" + + "VEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + + "Q0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + + "Z2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0" + + "YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBz" + + "aCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVj" + + "dGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5z" + + "IiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBf" + + "ICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBi" + + "eSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2Yt" + + "YmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5h" + + "bWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFs" + + "aXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + + "cmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAt" + + "ZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Np" + + "bmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + + "bCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQg" + + "ZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAog" + + "IC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVz" + + "CgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQg" + + "ZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + + "IERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxs" + + "YXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBj" + + "b250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZj" + + "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJh" + + "dG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBw" + + "dWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJh" + + "dG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51" + + "YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQj" + + "Y29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFu" + + "Z2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUg" + + "ZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVw" + + "bGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lz" + + "CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBc" + + "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + + "R0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + + "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0" + + "IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNT" + + "ZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + + "YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMg" + + "Rml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVy" + + "cmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0" + + "aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFk" + + "ZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + + "cm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1w" + + "bGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSku" + + "CgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNl" + + "IGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2Ug" + + "fCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0" + + "cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3Bl" + + "bmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + + "eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0" + + "ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3Mg" + + "fCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kg" + + "Z2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkg" + + "cmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9o" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVu" + + "Y2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sv" + + "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBO" + + "QVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5Lnlh" + + "bWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVu" + + "dHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVz" + + "IChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAg" + + "IyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFt" + + "ZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywg" + + "cGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1w" + + "bGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5l" + + "LXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNh" + + "LnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25m" + + "aWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAg" + + "ICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYt" + + "bmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBn" + + "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + + "dWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52" + + "aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cg" + + "YXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0" + + "ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBl" + + "bmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + + "IyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0t" + + "LS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRz" + + "IHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNm" + + "LW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBl" + + "bmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5k" + + "cmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBp" + + "bmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMj" + + "IDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + + "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8" + + "IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0t" + + "bnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2Yg" + + "fCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24t" + + "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBj" + + "LXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkg" + + "fCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNl" + + "cnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVl" + + "c3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hl" + + "bG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vl" + + "ci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8g" + + "cmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwg" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhl" + + "cml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMg" + + "ZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9n" + + "bG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxt" + + "LmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRh" + + "bG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwK" + + "CnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0t" + + "LS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFy" + + "aW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZh" + + "YmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlm" + + "IGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5" + + "YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1l" + + "cmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNo" + + "YSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtl" + + "eSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6" + + "YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6" + + "CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhl" + + "IGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFt" + + "bAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5j" + + "eQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVl" + + "czoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1" + + "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVu" + + "IG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRl" + + "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + + "fX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlv" + + "dXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + + "ICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoK" + + "VXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRh" + + "bmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5h" + + "bWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hl" + + "biBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVk" + + "IHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNg" + + "IGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJv" + + "bSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1s" + + "YCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQt" + + "c3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlh" + + "bWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVs" + + "ZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQ" + + "YXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2Ag" + + "KHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVj" + + "dHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQg" + + "ZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxp" + + "Y2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + + "Y2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNp" + + "emVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMu" + + "ZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBO" + + "QVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipg" + + "Ci0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3Ry" + + "ZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5t" + + "ZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3Bl" + + "bmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBg" + + "b3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBv" + + "cGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVk" + + "KQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAo" + + "cmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFi" + + "bGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExM" + + "TSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRp" + + "bmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUg" + + "YWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAs" + + "IGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQ" + + "SQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBM" + + "TE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVk" + + "YC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2lu" + + "Z2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRv" + + "CmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBg" + + "YHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAg" + + "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + + "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FD" + + "b3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAg" + + "ZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVy" + + "OgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAg" + + "d29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBs" + + "aWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMu" + + "IFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24g" + + "cG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJ" + + "IEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxt" + + "LmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJs" + + "ZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Ig" + + "c2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBj" + + "b3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + + "cG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91" + + "dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRp" + + "b24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0g" + + "UmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + + "bnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQt" + + "YmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91" + + "dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwg" + + "c2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlh" + + "bWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAg" + + "ICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5" + + "Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNG" + + "X1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRo" + + "ZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBu" + + "ZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxp" + + "Y3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRl" + + "ZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJl" + + "ZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3Rh" + + "bGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVz" + + "dCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVt" + + "YWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWlu" + + "IHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJz" + + "aW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZl" + + "cnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9s" + + "LXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4g" + + "VmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBn" + + "ZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9k" + + "cyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicK" + + "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tl" + + "bmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5j" + + "b250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5k" + + "fScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFy" + + "Z3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2No" + + "ZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRp" + + "b24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xp" + + "YnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1k" + + "KS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdy" + + "b3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5n" + + "cmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1y" + + "b3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxs" + + "bS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERl" + + "c3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94" + + "eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRt" + + "aW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZj" + + "Zi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRp" + + "b25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVk" + + "IGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + + "bHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBV" + + "SSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3Rl" + + "ZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBu" + + "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMs" + + "IHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhl" + + "bS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYt" + + "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVl" + + "CmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0" + + "aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZy" + + "b20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "bnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMg" + + "T25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5p" + + "bykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVu" + + "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + + "dCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2Yt" + + "dWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1p" + + "bmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFu" + + "ZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVM" + + "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWlu" + + "Z3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhl" + + "IGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxv" + + "eSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2Yt" + + "dWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVs" + + "IGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1" + + "YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4s" + + "IG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91" + + "dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVU" + + "BQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4g" + + "cHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUs" + + "IE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBl" + + "dmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJl" + + "IGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25l" + + "IG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBw" + + "cm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFu" + + "ZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8g" + + "YG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEu" + + "IEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9r" + + "eXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBr" + + "eXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAg" + + "LS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRl" + + "IGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0i" + + "PHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + + "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFj" + + "ZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNz" + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + - "LQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3Ry" + - "eSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2Vy" + - "LXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJ" + - "X0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYg" + - "LQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUg" + - "cmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0" + - "byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1k" + - "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZl" + - "cnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTog" + - "Y2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + - "YmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + - "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBn" + - "bG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3Jl" + - "ZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwt" + - "c2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRy" + - "b2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVh" + - "dGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVy" + - "YXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNw" + - "dWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5j" + - "CmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91" + - "dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMs" + - "IE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJl" + - "c3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9y" + - "IHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNh" + - "IC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRh" + - "Lm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQ" + - "dWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0" + - "LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29y" + - "dC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nl" + - "c3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAz" + - "OiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tl" + - "biBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNv" + - "bXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + - "b25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVz" + - "ZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4K" + - "CiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3Rl" + - "cklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9y" + - "ZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRo" + - "ZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoK" + - "YGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + - "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBh" + - "bmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUg" + - "Y29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFj" + - "ZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRo" + - "ZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIK" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5n" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + - "b3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRl" + - "c3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + - "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVz" + - "ZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAu" + - "CgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFj" + - "a2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBp" + - "LWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAK" + - "CiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0" + - "YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRo" + - "ZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0" + - "OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkg" + - "cHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFu" + - "ZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoK" + - "YGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAog" + - "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + - "VEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVz" + - "cyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkg" + - "SG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVk" + - "IHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlv" + - "bi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1l" + - "bnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVj" + - "dCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9y" + - "IGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVz" + - "c2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxh" + - "bmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBO" + - "QVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QK" + - "b3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlv" + - "biB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3Rl" + - "cCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + - "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + - "YWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + - "YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVw" + - "bG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2Vu" + - "ZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9y" + - "PWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpg" + - "YGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBm" + - "b3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpg" + - "YGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5" + - "bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0" + - "bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQt" + - "c3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2Vs" + - "ZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0t" + - "LS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEs" + - "IG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywg" + - "c2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5" + - "LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGkt" + - "Z2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkg" + - "b25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBh" + - "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkg" + - "aW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25z" + - "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVw" + - "bG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8" + - "CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3" + - "YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERl" + - "cGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + - "dWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVg" + - "IHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9" + - "dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0" + - "ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1l" + - "IHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdy" + - "b3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1w" + - "cm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNr" + - "cy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5z" + - "dGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1" + - "c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJh" + - "dGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBI" + - "YW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdp" + - "c3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFy" + - "YXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8" + - "IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1" + - "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRv" + - "cnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhl" + - "bG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNv" + - "bW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3Qu" + - "IE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9u" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + - "IGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoK" + - "IyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJl" + - "Zm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBH" + - "YXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxh" + - "bmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywg" + - "UmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + - "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + - "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQg" + - "a2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3kt" + - "Z2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBl" + - "bnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9z" + - "dCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNz" + - "IGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3Vi" + - "ZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0" + - "ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0" + - "cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5h" + - "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8v" + - "dGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93" + - "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAi" + - "aHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3Jw" + - "Y1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmlu" + - "Z3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3" + - "YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5" + - "LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3" + - "YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBu" + - "dmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0" + - "ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgog" + - "ICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGku" + - "PGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3" + - "YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoK" + - "ICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBg" + - "YAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAg" + - "ICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNT" + - "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJl" + - "dmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2" + - "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0" + - "c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJy" + - "aWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhl" + - "IGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + - "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwK" + - "ICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUg" + - "cmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBk" + - "YXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwK" + - "YmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0" + - "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+" + - "OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + - "aWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRl" + - "d2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+Igpp" + - "bnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lz" + - "LjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25s" + - "eSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdp" + - "c3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZp" + - "ZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1o" + - "b3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + - "LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9O" + - "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9O" + - "PTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgt" + - "dG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmln" + - "PgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBD" + - "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + - "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9u" + - "IGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJl" + - "IGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxF" + - "YCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1j" + - "bHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50" + - "IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBG" + - "bG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMg" + - "dGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBi" + - "YXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4g" + - "XAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9s" + - "LXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8" + - "bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1w" + - "bGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9y" + - "IGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + - "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0" + - "ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0" + - "ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + - "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5l" + - "IGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291" + - "dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAt" + - "LWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUg" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRo" + - "ZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJv" + - "bSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNl" + - "IHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2" + - "YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQg" + - "aW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4" + - "dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVs" + - "dC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRl" + - "IHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJv" + - "dWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJv" + - "bm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBh" + - "bmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFj" + - "ZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFt" + - "cGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmlj" + - "YXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + - "IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVz" + - "IFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9" + - "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52" + - "Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBc" + - "CiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVv" + - "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNy" + - "ZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95" + - "IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBs" + - "YW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBs" + - "eSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1h" + - "bmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMg" + - "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5h" + - "Z2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + - "ZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0" + - "cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + - "CmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0g" + - "cmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRl" + - "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFj" + - "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + - "CmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4g" + - "ZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoK" + - "CmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95" + - "IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+" + - "IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0" + - "ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAog" + - "IC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20K" + - "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1u" + - "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5k" + - "IGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRl" + - "IGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRo" + - "ZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJv" + - "bC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "ZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + - "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05G" + - "SUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVz" + - "ZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUg" + - "Q0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBj" + - "b21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5" + - "IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0" + - "ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0" + - "ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBc" + - "CiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "IFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21z" + - "LXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNv" + - "bXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpu" + - "b3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + - "IGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRo" + - "ZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNv" + - "IGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZv" + - "ciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1" + - "dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + - "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + - "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFt" + - "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZj" + - "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + - "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2Et" + - "aWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVu" + - "IGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93" + - "LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdp" + - "c3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFn" + - "bm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVz" + - "LgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFs" + - "bCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3Bl" + - "Y2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhl" + - "bG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZv" + - "ciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4g" + - "LS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNo" + - "b3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYK" + - "CiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + - "ICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJh" + - "Y2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0" + - "byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBg" + - "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwpr" + - "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUg" + - "IkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNl" + - "Cmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlm" + - "IHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9" + - "JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3Vi" + - "ZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdl" + - "UHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1l" + - "c3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBk" + - "b2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAg" + - "ICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoK" + - "Mi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNo" + - "YXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1" + - "ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBk" + - "b2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNl" + - "cnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFu" + - "ZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + - "NC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + - "YWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZh" + - "aWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2Vydmlj" + - "ZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAg" + - "ICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZj" + - "Zi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBt" + - "CmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2Vu" + - "dC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3Bl" + - "bkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9w" + - "ZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0K" + - "CiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9w" + - "ZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9u" + - "IHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMg" + - "dmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1" + - "bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3Vy" + - "Y2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6" + - "IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ry" + - "b3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVj" + - "dGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + - "YWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAg" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + - "ciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxp" + - "emVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAt" + - "biB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMK" + - "ICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4g" + - "YDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNp" + - "Z25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9J" + - "REMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9w" + - "ZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0" + - "aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3Rl" + - "YWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQog" + - "ICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBw" + - "cmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMg" + - "b24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMg" + - "dGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5p" + - "c3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93" + - "cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3Vu" + - "dCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1" + - "ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVu" + - "IHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdy" + - "YXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6" + - "IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZl" + - "ci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3Vs" + - "ZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2Vs" + - "bC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tT" + - "IFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2Rz" + - "IGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0" + - "ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3Rl" + - "cmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5" + - "IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlz" + - "LgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0" + - "ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + - "ZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNz" + - "YW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENh" + - "c3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpb" + - "ZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICBy" + - "ZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTog" + - "ODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0" + - "MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhl" + - "IE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4K" + - "CiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + - "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + - "LTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgoj" + - "IC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9k" + - "J3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3Vm" + - "ZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBg" + - "CgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNl" + - "bGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBu" + - "b2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNz" + - "IG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBr" + - "dWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJj" + - "ZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJl" + - "IG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBg" + - "CgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMK" + - "CmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVk" + - "CmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBz" + - "ZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgoj" + - "IyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3Qg" + - "anVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoK" + - "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAK" + - "CiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoK" + - "U2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNo" + - "b3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNr" + - "IGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9n" + - "cyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252" + - "Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0" + - "bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9" + - "MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxz" + - "Kio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBg" + - "JG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5" + - "CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8g" + - "J1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1" + - "dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjog" + - "QVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3Ry" + - "YXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNy" + - "ZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5k" + - "ZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52" + - "Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFt" + - "ZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBz" + - "aXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBG" + - "YWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNv" + - "bXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRp" + - "bmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRp" + - "bmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZp" + - "eAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBu" + - "b3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVy" + - "cyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVj" + - "ayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3Vy" + - "Y2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRz" + - "IC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIv" + - "IiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIk" + - "MSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRj" + - "b250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAt" + - "cCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRF" + - "WFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWly" + - "IGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1" + - "YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1v" + - "IGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwK" + - "ICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAg" + - "LS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwK" + - "ZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkK" + - "CiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8g" + - "YG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMg" + - "YXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRv" + - "cgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBu" + - "dmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5" + - "IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBv" + - "ciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0" + - "aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1" + - "dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBi" + - "dXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxv" + - "eSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAt" + - "biBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJp" + - "dmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0" + - "cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRv" + - "IGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9v" + - "cC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNl" + - "Y3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9t" + - "cwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRl" + - "ciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3" + - "YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdB" + - "WV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + - "dGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0n" + - "ey5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRp" + - "ZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0" + - "cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMg" + - "dXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNt" + - "c1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2Jh" + - "bC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQu" + - "IFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBk" + - "ZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5k" + - "IHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBz" + - "ZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00" + - "LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1l" + - "c3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZp" + - "Y2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0t" + - "LS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEt" + - "c3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8Cnwg" + - "bnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2Vydmlj" + - "ZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5" + - "cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNp" + - "cyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNz" + - "IGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRl" + - "cyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5" + - "IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQv" + - "CnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwg" + - "T3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZp" + - "Y2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNl" + - "cnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + - "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + - "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + - "dCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwg" + - "ICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBn" + - "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + - "dWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxt" + - "ZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBs" + - "YW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVu" + - "dmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVs" + - "dCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAg" + - "ICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1w" + - "bCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2" + - "YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNs" + - "dXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52" + - "aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJ" + - "LWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4g" + - "RG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBh" + - "bmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVs" + - "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + - "LS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8" + - "IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIg" + - "fCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8Cnwg" + - "Y2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRh" + - "YmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGgg" + - "YHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdv" + - "dG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18" + - "LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1r" + - "ZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8" + - "IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBp" + - "bnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2Vz" + - "IHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNm" + - "IHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGkt" + - "Z2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1h" + - "ZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxh" + - "YmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5" + - "c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6" + - "IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAg" + - "cmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1w" + - "bF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1p" + - "bi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBi" + - "bG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hh" + - "cnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwt" + - "LS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFi" + - "aWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMg" + - "ZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBU" + - "ZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoK" + - "VXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0" + - "ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2Ug" + - "cmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNl" + - "LCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHku" + - "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0" + - "ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + - "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVm" + - "aW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZj" + - "Zi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + - "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVT" + - "VCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + - "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwg" + - "ICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAg" + - "ICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTky" + - "TWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3Jl" + - "LnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoK" + - "YGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAg" + - "aW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVz" + - "OmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0" + - "aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQg" + - "Z2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdo" + - "ZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNo" + - "YXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + - "IC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0g" + - "R28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1" + - "cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZl" + - "IHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0" + - "IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpg" + - "Z2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZp" + - "cm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + - "YyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVy" + - "ZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNz" + - "YW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0" + - "aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJh" + - "Lm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fz" + - "c2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29u" + - "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94" + - "LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2" + - "Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNl" + - "bGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMu" + - "aW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9y" + - "LmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRh" + - "dGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMg" + - "KEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + - "dG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNl" + - "Pi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJs" + - "ZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBm" + - "dW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBs" + - "bG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5p" + - "bnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5h" + - "YmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUg" + - "SGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRo" + - "ZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRl" + - "ZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAg" + - "bGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAx" + - "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + - "OiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + - "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoK" + - "YWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRp" + - "b25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAg" + - "c3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25s" + - "eSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZD" + - "RiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRo" + - "ZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50" + - "aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdy" + - "cGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29y" + - "a2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVj" + - "dGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFu" + - "YWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3Vy" + - "ZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5v" + - "dCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXIt" + - "b2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZp" + - "Z3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBM" + - "b2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9k" + - "b2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1" + - "aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sn" + - "cyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRl" + - "ZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3Rl" + - "Q29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAg" + - "ICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9w" + - "eWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JP" + - "VVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0" + - "ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9u" + - "cwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFp" + - "bCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUg" + - "ZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUg" + - "dXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0Eg" + - "cmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5j" + - "CmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9t" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxl" + - "LWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZl" + - "bi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRl" + - "Y2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4g" + - "UmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBh" + - "cHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApj" + - "cmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAt" + - "biBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVw" + - "IC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRw" + - "cm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5j" + - "dGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5h" + - "bWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2Nh" + - "bCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUK" + - "YC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRo" + - "bSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6" + - "Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rh" + - "cmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUg" + - "U2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAoj" + - "IEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmls" + - "aXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5" + - "bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSBy" + - "ZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVh" + - "c2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlg" + - "LgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQF" + - "AAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1m" + - "YWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQg" + - "YXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJ" + - "IGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3Ug" + - "bmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52" + - "Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24g" + - "dW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRo" + - "ZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + - "YHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUg" + - "bmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFu" + - "ZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVn" + - "aXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1" + - "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcg" + - "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQ" + - "SV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJu" + - "YW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + - "Y3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxk" + - "b21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFw" + - "cGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2" + - "aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1u" + - "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoK" + - "IyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2Vu" + - "dCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVp" + - "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJI" + - "b3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIK" + - "YGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVu" + - "YXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBS" + - "ZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGlj" + - "YXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAA" + - "uQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQ" + - "dWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1h" + - "Z2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCks" + - "IEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJv" + - "bC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0" + - "aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNl" + - "IGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVy" + - "bm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNz" + - "aW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNl" + - "Y3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoK" + - "IyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5v" + - "CgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlv" + - "L2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9r" + - "eXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBw" + - "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + - "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + - "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + - "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJl" + - "cGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2Nr" + - "ZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFt" + - "bAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6" + - "CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZh" + - "bHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2Rz" + - "CiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAg" + - "ICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAg" + - "ICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJz" + - "aXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAg" + - "ICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIK" + - "ICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hT" + - "dHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9u" + - "czoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVk" + - "LWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRz" + - "OgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdl" + - "cHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBs" + - "YW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlv" + - "biBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFy" + - "ZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJv" + - "bC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0" + - "IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + - "S0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6" + - "IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5j" + - "ZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3Rl" + - "bWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0" + - "LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJp" + - "ZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRo" + - "ZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5z" + - "cGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + - "XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + + "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + + "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + + "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5H" + + "QyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5h" + + "bWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0" + + "ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVy" + + "UG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoK" + + "ICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2Vj" + + "cmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNv" + + "dXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBu" + + "YW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIK" + + "ICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5h" + + "dHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAt" + + "ICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRl" + + "OgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAg" + + "ICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVs" + + "bHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAg" + + "aW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAg" + + "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFs" + + "bCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1w" + + "bGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShj" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUg" + + "bW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0" + + "IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpD" + + "cmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBj" + + "bHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBs" + + "eSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + + "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRl" + + "LXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNy" + + "ZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + + "c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3Jl" + + "dCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0" + + "ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFs" + + "bCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wt" + + "cGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + - "LW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1h" + - "Z2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBw" + - "dWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "ZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + - "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBV" + - "bmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNv" + - "bXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxs" + - "IFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMq" + - "KjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5" + - "YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGlj" + - "aXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVk" + - "ZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBS" + - "ZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vy" + - "dmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJh" + - "Y2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZl" + - "Y3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUg" + - "c3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBg" + - "CgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaApr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZl" + - "cm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRj" + - "aGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cg" + - "UkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJl" + - "bmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhh" + - "Y3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQg" + - "c2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwEC" + - "FAAUAAgAAAAAACEAvsMw1EoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5q" + - "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAA" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmI" + - "yQwAAMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + - "cGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8A" + - "ADcACQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRk" + - "LWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJ" + - "AAAAAAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + - "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAA" + - "AAAAAAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFu" + - "ZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAA" + - "AAAAAABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWls" + - "ZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAA" + - "AAAAAAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJv" + - "bS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAA" + - "AAAAAAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0" + - "ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAA" + - "AAAAAI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQAL+38oBg8AAAYPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDi9Iey91AAAPdQAAAtAAkAAAAAAAAAAAAAAGJ4AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsz49ZgsfAAALHwAA" + - "NwAJAAAAAAAAAAAAAAC9yQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + - "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkA" + - "AAAAAAAAAAAAADbpAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAOJLAgBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAl6ICAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAfMsCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAAR/AIAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAA4LQMAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + - "Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAA" + - "AAC9VwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNm" + - "LXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAA" + - "AAAAAAAA7F8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAGF2AwAAAA==" + "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFt" + + "ZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+" + + "IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2Zc" + + "Lm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5" + + "dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFz" + + "dFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1" + + "bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3Ig" + + "bWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpg" + + "YGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRo" + + "IElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVy" + + "UmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVD" + + "UiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBw" + + "dWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoq" + + "OiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHks" + + "IGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGls" + + "bCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8g" + + "cG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMg" + + "YXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1l" + + "c3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1" + + "bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMj" + + "IFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0" + + "cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpU" + + "aGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlz" + + "dHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + + "ZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcI" + + "S0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAKBdOyVKEAAAShAAABIACQAAAAAAAAAAAAAAAAAA" + + "AGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAj" + + "AAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAMCT5iMkMAADJDAAANAAJAAAAAAAAAAAAAABWgwAAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQDBsWmYzw8AAM8PAAA3AAkAAAAAAAAAAAAAAIqQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAx6AAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDS" + + "Q9wEGCUAABglAAA3AAkAAAAAAAAAAAAAANa6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+" + + "DgAAvg4AAD0ACQAAAAAAAAAAAAAAXOAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnf" + + "J1YpAABWKQAAOgAJAAAAAAAAAAAAAACO7wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5" + + "yAcAAMgHAAA5AAkAAAAAAAAAAAAAAFUZAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQh" + + "AADkIQAALgAJAAAAAAAAAAAAAACNIQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBbOvgYtiQAALYkAAAwAAkAAAAA" + + "AAAAAAAAANZDAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAC/t/KAYPAAAGDwAAMgAJAAAAAAAAAAAAAADzaAEA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAsbyDyetRAADrUQAALQAJAAAAAAAAAAAAAABieAEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhALM+PWYLHwAACx8AADcACQAAAAAAAAAAAAAAscoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "EcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAAq6gEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJ" + + "AAAAAAAAAAAAAADWTAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMv" + + "ZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAA" + + "AAAAAIujAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAHDMAgBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAA" + + "AAAAAAAAAAAABf0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAA" + + "AAAAAAAAAAAALC4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAA" + + "uQcAAD8ACQAAAAAAAAAAAAAAsVgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWo" + + "ABYAAAAWAAA+AAkAAAAAAAAAAAAAAOBgAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAABV" + + "dwMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index ab747cdeee..353a91ddca 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -212,6 +212,43 @@ func TestRegistryCredentials_NGCKeyOrder(t *testing.T) { } } +// A docker login the registry rejected gives way to the NGC key once, and +// every later lookup returns the key. The key itself has nothing behind it, +// and where it goes first a rejected key never falls back to the login. +func TestRegistryCredentials_RejectedLoginMovesToTheKey(t *testing.T) { + dockerHome(t, `{"auths":{"nvcr.io":{}},"credsStore":"store"}`, "store") + t.Setenv("NGC_API_KEY", "env-key") + ctx := context.Background() + + rc := NewRegistryCredentials(false) + login, ok, err := rc.lookup(ctx, "nvcr.io") + require.NoError(t, err) + require.True(t, ok) + assert.Empty(t, rc.rejectedLogin("nvcr.io")) + + next, ok := rc.rejected("nvcr.io", login) + require.True(t, ok) + assert.Equal(t, "env-key", next.pass) + assert.Equal(t, "docker-credential-store", rc.rejectedLogin("nvcr.io")) + again, ok := rc.rejected("nvcr.io", login) + require.True(t, ok, "a check still holding the login moves to the key too") + assert.Equal(t, next, again) + cred, _, _ := rc.lookup(ctx, "nvcr.io") + assert.Equal(t, next, cred) + _, ok = rc.rejected("nvcr.io", next) + assert.False(t, ok, "nothing is left to try after the key") + + rc = NewRegistryCredentials(true) + key, _, _ := rc.lookup(ctx, "nvcr.io") + _, ok = rc.rejected("nvcr.io", key) + assert.False(t, ok, "where the key goes first, a rejected key is graded as it is") + + rc = NewRegistryCredentials(false) + quay, _, _ := rc.lookup(ctx, "quay.io") + _, ok = rc.rejected("quay.io", quay) + assert.False(t, ok, "the key is never sent to another registry") +} + // docker reads its config from $DOCKER_CONFIG when that is set, as CI // runners do. func TestCredsFromDockerConfig_HonorsDOCKER_CONFIG(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go index eaad011204..bbf06658c1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go +++ b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go @@ -70,7 +70,9 @@ type registryCredential struct { type RegistryCredentials struct { // preferNGCKey puts the NGC API key ahead of the docker config for // nvcr.io. That is right only where up mints its pull secrets from the - // key; anywhere else the docker login is what docker and the cluster use. + // key; anywhere else the docker login is what docker and the cluster use, + // and the key is sent only when there is no login or the registry + // rejects it. preferNGCKey bool mu sync.Mutex @@ -81,6 +83,12 @@ type credentialLookup struct { cred registryCredential ok bool err error + // fallback is the credential to send once the registry rejects cred: + // the NGC key behind a docker login for nvcr.io. + fallback *registryCredential + // rejectedLogin is the source of the docker login the registry rejected + // before cred, the fallback, took its place. + rejectedLogin string } // NewRegistryCredentials returns a per-run credential resolver. @@ -115,31 +123,66 @@ func (rc *RegistryCredentials) lookup(ctx context.Context, registry string) (reg if hit, ok := rc.cache[key]; ok { return hit.cred, hit.ok, hit.err } - cred, ok, err := rc.resolve(ctx, registry) + found := rc.resolve(ctx, registry) if ctx.Err() == nil { - rc.cache[key] = credentialLookup{cred: cred, ok: ok, err: err} + rc.cache[key] = found } - return cred, ok, err + return found.cred, found.ok, found.err } -func (rc *RegistryCredentials) resolve(ctx context.Context, registry string) (registryCredential, bool, error) { - var fromKey registryCredential +// rejected records that registry refused cred and returns the credential to +// send instead, if there is one: the NGC key behind a docker login for +// nvcr.io. Later lookups return it, so tag discovery, the credential row and +// the validator's pull secret all move to the credential the registry has not +// refused. +func (rc *RegistryCredentials) rejected(registry string, cred registryCredential) (registryCredential, bool) { + key := strings.ToLower(registry) + rc.mu.Lock() + defer rc.mu.Unlock() + hit, ok := rc.cache[key] + switch { + case !ok || !hit.ok: + return registryCredential{}, false + case hit.cred != cred: + // Another check already moved past cred. + return hit.cred, true + case hit.fallback == nil: + return registryCredential{}, false + } + next := *hit.fallback + rc.cache[key] = credentialLookup{cred: next, ok: true, rejectedLogin: cred.source} + return next, true +} + +// rejectedLogin returns the source of the docker login registry rejected +// before the run moved to the NGC key, or "". +func (rc *RegistryCredentials) rejectedLogin(registry string) string { + rc.mu.Lock() + defer rc.mu.Unlock() + return rc.cache[strings.ToLower(registry)].rejectedLogin +} + +func (rc *RegistryCredentials) resolve(ctx context.Context, registry string) credentialLookup { + var fromKey *registryCredential if isNGCKeyRegistry(registry) { if name, key := firstSetEnv(ngcAPIKeyEnvNames...); key != "" { - fromKey = registryCredential{user: "$oauthtoken", pass: key, source: name, ngcKey: true} + fromKey = ®istryCredential{user: "$oauthtoken", pass: key, source: name, ngcKey: true} } } - if fromKey.pass != "" && rc.preferNGCKey { - return fromKey, true, nil + if fromKey != nil && rc.preferNGCKey { + return credentialLookup{cred: *fromKey, ok: true} } cred, ok, err := credsFromDockerConfig(ctx, registry) - if ok { - return cred, true, nil - } - if fromKey.pass != "" { - return fromKey, true, nil + switch { + case ok: + if fromKey != nil && fromKey.pass == cred.pass { + fromKey = nil + } + return credentialLookup{cred: cred, ok: true, fallback: fromKey} + case fromKey != nil: + return credentialLookup{cred: *fromKey, ok: true} } - return registryCredential{}, false, err + return credentialLookup{err: err} } // firstSetEnv returns the first of names set to a non-empty value, and that diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index c1d9311d14..02950f2159 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1120,11 +1120,11 @@ func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { // registryCredentialCheck returns a binaryCheckSpec that probes one registry. // Only a credential the registry rejected can fail: at error severity for a -// critical registry, at warning for any other. A rejected NGC API key on a -// post-install run is a warning too: it is this machine's key, and the -// cluster pulls with its own pull secret. Everything else the probe can -// report, from an unreachable registry to a missing local credential, is a -// warning or an informational pass. +// critical registry, at warning for any other. A rejection on a post-install +// run is a warning too: it is this machine's credential, and the cluster +// pulls with its own pull secret. Everything else the probe can report, from +// an unreachable registry to a missing local credential, is a warning or an +// informational pass. func registryCredentialCheck( checker RegistryCredentialChecker, entry RegistryEntry, label string, postInstall bool, ) binaryCheckSpec { @@ -1158,7 +1158,7 @@ func registryCredentialCheck( r.Passed = true r.Severity = SeverityInfo r.Message = label + ": skipped (" + outcome.detail + ")" - case probeAnonymous, probeNotVerified: + case probeAnonymous, probeNotVerified, probeLoginRejected: r.Passed = true r.Severity = SeverityInfo case probeNoCredential, probeUnverifiable: @@ -1166,7 +1166,7 @@ func registryCredentialCheck( r.Err = err case probeRejected: r.Err = err - if postInstall && outcome.ngcKey { + if postInstall { r.Severity = SeverityWarning r.Message += "; the cluster pulls with its own pull secret, so this affects only this machine" } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 7e6c8a3c3c..7e593e0687 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -86,15 +86,18 @@ const ( // that carried the credential. The one outcome that is evidence of a bad // credential. probeRejected + // probeLoginRejected: the registry rejected the docker login and + // accepted the NGC key sent in its place. The run uses the key, but + // docker on this machine still sends the login. + probeLoginRejected ) // registryProbeOutcome is the result of a probe that did not verify a -// credential. Only probeRejected can fail a run. +// credential, or verified one only after the registry rejected another. Only +// probeRejected can fail a run. type registryProbeOutcome struct { kind registryProbeKind detail string - // ngcKey marks a rejected NGC API key read from the environment. - ngcKey bool } func (o registryProbeOutcome) Error() string { return o.detail } @@ -191,9 +194,25 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri sent = &cred } _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth, sent) + // A docker login the registry rejects gives way to the NGC key, where the + // run has one, before anything is graded. + if hasCred && isRejectedExchange(err) { + if next, ok := creds.rejected(registry, cred); ok { + cred = next + _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth, &cred) + } + } + note := "" + if login := creds.rejectedLogin(registry); login != "" && hasCred { + note = "; " + rejectedLoginNote(registry, login) + } if err == nil { - if !hasCred { + switch { + case !hasCred: return anonymousOutcome(registry, critical, lookupErr) + case note != "": + return registryProbeOutcome{kind: probeLoginRejected, + detail: "credentials from " + cred.source + " valid" + note} } return nil } @@ -201,19 +220,33 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri switch { case !errors.As(err, &te): return interrupted(registryProbeOutcome{kind: probeUnverifiable, - detail: "could not verify credentials from this machine: " + err.Error()}) + detail: "could not verify credentials from this machine: " + err.Error() + note}) case te.refused: return registryProbeOutcome{kind: probeSkipped, detail: te.msg} case te.rejected(): - return registryProbeOutcome{kind: probeRejected, ngcKey: cred.ngcKey, - detail: fmt.Sprintf("credentials from %s rejected: %s; %s", cred.source, te.msg, rejectedHint(registry, cred))} + return registryProbeOutcome{kind: probeRejected, detail: fmt.Sprintf("credentials from %s rejected: %s; %s%s", + cred.source, te.msg, rejectedHint(registry, cred), note)} case !hasCred && (te.status == http.StatusUnauthorized || te.status == http.StatusForbidden): // Anonymous access refused: the registry needs a credential this // machine does not have. return noCredentialOutcome(registry, lookupErr) } return interrupted(registryProbeOutcome{kind: probeUnverifiable, - detail: "could not verify credentials from this machine: " + te.msg}) + detail: "could not verify credentials from this machine: " + te.msg + note}) +} + +// isRejectedExchange reports a token exchange the registry refused the +// credential it was sent. +func isRejectedExchange(err error) bool { + var te *tokenExchangeError + return errors.As(err, &te) && te.rejected() +} + +// rejectedLoginNote says that registry rejected the docker login read from +// source, and how to renew it for docker on this machine. +func rejectedLoginNote(registry, source string) string { + return fmt.Sprintf("the docker login from %s was rejected, so docker on this machine cannot pull from %s "+ + "until: docker login %s --username '$oauthtoken'", source, registry, registry) } // anonymousOutcome grades a registry that let this machine in without a diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 2d6b56fd8c..4a238d2b9f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -26,8 +26,10 @@ import ( "os" "os/exec" "path/filepath" + "slices" "sort" "strings" + "sync" "testing" "time" @@ -712,6 +714,55 @@ func newFakeRegistry( return f } +// fakeNGC stands in for nvcr.io: every registry request the test makes, +// whatever its host, reaches it. Its token endpoint accepts only the password +// goodPass, and a token it issued lists the tags of any repository. +type fakeNGC struct { + mu sync.Mutex + sent []string +} + +// passwords returns the Basic auth password of each token request, in order. +func (f *fakeNGC) passwords() []string { + f.mu.Lock() + defer f.mu.Unlock() + return slices.Clone(f.sent) +} + +func newFakeNGC(t *testing.T, goodPass string) *fakeNGC { + t.Helper() + f := &fakeNGC{} + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch { + case r.URL.Path == "/token": + _, pass, _ := r.BasicAuth() + f.mu.Lock() + f.sent = append(f.sent, pass) + f.mu.Unlock() + if pass != goodPass { + w.WriteHeader(http.StatusUnauthorized) + return + } + _, _ = w.Write([]byte(`{"token":"t"}`)) + case r.Header.Get("Authorization") == "Bearer t" && strings.HasSuffix(r.URL.Path, "/tags/list"): + _, _ = w.Write([]byte(`{"tags":["1.0.0","1.2.0"]}`)) + default: + bearerChallenge(w, "https://"+ngcKeyRegistryHost+"/token") + } + })) + t.Cleanup(srv.Close) + tr := srv.Client().Transport.(*http.Transport).Clone() + // The test certificate names example.com, not nvcr.io. + tr.TLSClientConfig.ServerName = "example.com" + tr.DialContext = func(ctx context.Context, network, _ string) (net.Conn, error) { + return (&net.Dialer{}).DialContext(ctx, network, srv.Listener.Addr().String()) + } + prev := http.DefaultTransport + http.DefaultTransport = tr + t.Cleanup(func() { http.DefaultTransport = prev }) + return f +} + func bearerChallenge(w http.ResponseWriter, realm string) { w.Header().Set("Www-Authenticate", `Bearer realm="`+realm+`",service="test"`) w.WriteHeader(http.StatusUnauthorized) @@ -899,12 +950,13 @@ func TestProbeRegistryCredential_RetriesTransientFailures(t *testing.T) { assert.Equal(t, 3, calls) } -// A rejected NGC API key on a run that checks an installed stack is a -// warning: the cluster pulls with its own pull secret. Before install, and -// for any other credential, a rejection on a critical registry is an error. -func TestRegistryCredentialCheck_RejectedNGCKeyAfterInstall(t *testing.T) { +// A rejected credential on a run that checks an installed stack is a +// warning, whether it is the NGC API key or a docker login: the cluster pulls +// with its own pull secret. Before install a rejection on a critical registry +// is an error. +func TestRegistryCredentialCheck_RejectedAfterInstall(t *testing.T) { rejectedKey := func(context.Context, string, string, bool) error { - return registryProbeOutcome{kind: probeRejected, ngcKey: true, detail: "credentials from NGC_API_KEY rejected"} + return registryProbeOutcome{kind: probeRejected, detail: "credentials from NGC_API_KEY rejected"} } rejectedLogin := func(context.Context, string, string, bool) error { return registryProbeOutcome{kind: probeRejected, detail: "credentials from docker config rejected"} @@ -917,12 +969,62 @@ func TestRegistryCredentialCheck_RejectedNGCKeyAfterInstall(t *testing.T) { }{ {rejectedKey, true, SeverityWarning}, {rejectedKey, false, SeverityError}, - {rejectedLogin, true, SeverityError}, + {rejectedLogin, true, SeverityWarning}, + {rejectedLogin, false, SeverityError}, } { r := registryCredentialCheck(tc.checker, entry, "nvcr.io", tc.postInstall).Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, tc.want, r.Severity, "postInstall=%v", tc.postInstall) + if tc.postInstall { + assert.Contains(t, r.Message, "affects only this machine") + } + } +} + +// Where the docker login goes first for nvcr.io and nvcr.io rejects it, the +// NGC key is sent before the row is graded. The run then moves to the key, +// so the validator's pull secret is minted from the credential the row found +// accepted, and the row says how to renew the login docker still sends. +func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) { + ngc := newFakeNGC(t, "good-key") + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "good-key") + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} + for _, postInstall := range []bool{true, false} { + rc := NewRegistryCredentials(false) + ctx := WithRegistryCredentials(context.Background(), rc) + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", postInstall).Run(ctx) + assert.True(t, r.Passed, r.Message) + assert.Equal(t, SeverityInfo, r.Severity) + assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") + assert.Contains(t, r.Message, "the docker login from docker config") + assert.Contains(t, r.Message, "docker login nvcr.io --username '$oauthtoken'") + + cred, ok, err := rc.lookup(ctx, "nvcr.io") + require.NoError(t, err) + require.True(t, ok) + assert.Equal(t, "good-key", cred.pass, "later lookups, the pull secret's among them, get the key") + } + assert.Equal(t, []string{"rotated-out", "good-key", "rotated-out", "good-key"}, ngc.passwords()) +} + +// When nvcr.io rejects the key too, the row is graded on the key: an error +// before install, a warning after it, naming both credentials. +func TestProbeRegistryCredential_RejectedLoginAndKey(t *testing.T) { + ngc := newFakeNGC(t, "nothing-matches") + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "revoked-key") + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} + for postInstall, want := range map[bool]Severity{true: SeverityWarning, false: SeverityError} { + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", postInstall).Run(ctx) + assert.False(t, r.Passed) + assert.Equal(t, want, r.Severity, "postInstall=%v", postInstall) + assert.Contains(t, r.Message, "credentials from NGC_API_KEY rejected") + assert.Contains(t, r.Message, "generate a new NGC API key") + assert.Contains(t, r.Message, "the docker login from docker config") } + assert.Equal(t, []string{"rotated-out", "revoked-key", "rotated-out", "revoked-key"}, ngc.passwords()) } // The stack's org is the probe's scope, so a key without access to it is diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 03487e49d9..6dfa083816 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -158,7 +158,8 @@ func isRepositoryPath(s string) bool { // fetchValidatorTags walks the OCI tag-list endpoint for a single repo. // Handles the standard Bearer token exchange: try anonymous, on 401 re-auth -// with the run's local credential for the registry. +// with the run's local credential for the registry, and with the NGC key when +// nvcr.io rejects the docker login. func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, error) { tagsURL := fmt.Sprintf("https://%s/v2/%s/tags/list", registry, repo) body, err := fetchWithBearer(ctx, tagsURL, registry, repo) @@ -196,12 +197,18 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte wwwAuth := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) resp.Body.Close() - cred, hasCred, _ := registryCredentialsFrom(ctx).lookup(ctx, registry) + creds := registryCredentialsFrom(ctx) + cred, hasCred, _ := creds.lookup(ctx, registry) var credential *registryCredential if hasCred { credential = &cred } token, err := exchangeBearerToken(ctx, client, registry, repo, wwwAuth, credential) + if hasCred && isRejectedExchange(err) { + if next, ok := creds.rejected(registry, cred); ok { + token, err = exchangeBearerToken(ctx, client, registry, repo, wwwAuth, &next) + } + } if err != nil { return nil, err } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index eaf22a1dfb..42c33d4a5a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -670,3 +670,17 @@ func TestResolveLatestValidatorTag_NoRequestForAHostMovingRef(t *testing.T) { } assert.Empty(t, rec.requests) } + +// Tag discovery moves to the NGC key when nvcr.io rejects the docker login, +// as the credential row does. +func TestResolveLatestValidatorTag_RejectedLoginGivesWayToTheNGCKey(t *testing.T) { + withTempCacheDir(t) + ngc := newFakeNGC(t, "good-key") + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "good-key") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + got, ok := ResolveLatestValidatorTag(ctx, "nvcr.io/nvidia/cv") + require.True(t, ok) + assert.Equal(t, "nvcr.io/nvidia/cv:1.2.0", got) + assert.Equal(t, []string{"rotated-out", "good-key"}, ngc.passwords()) +} From 5e48408709e9cfcee4233dc8a8b49709551c4c52 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:39:24 +0530 Subject: [PATCH 077/127] fix(nvcf-cli): read registry credentials again on every --wait poll so a renewed login or a recovered helper counts Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 2 + src/clis/nvcf-cli/cmd/self_hosted_check.go | 16 +- .../cmd/self_hosted_check_scope_test.go | 71 + .../agentskill/skilldata_generated.go | 4304 +++++++++-------- 4 files changed, 2237 insertions(+), 2156 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 362aef773d..a6eacc63b4 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -77,6 +77,8 @@ secrets from it, and it is never sent to another registry. Elsewhere the key is sent when there is no docker login, or when `nvcr.io` rejects the docker login. The run then uses the key, for tag discovery and the validator's pull secret too, and the row says how to renew the login `docker` still sends. +Each `--wait` poll reads the credentials again, so a login renewed while the +run waits counts on the next poll. Only a credential the registry rejects fails the run, and only for an NVIDIA registry the image or the stack names. After install a rejected credential is diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 20c22497f3..f9625ac70e 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -198,10 +198,13 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if _, err := configuredExternalComponents(); err != nil { return err } - // One credential lookup per registry for the whole run, shared by tag + // One credential lookup per registry for each poll, shared by tag // discovery, the local credential row and the validator's pull secret, - // so the row checks the credential the validator Job is given. - runCtx := selfhosted.WithRegistryCredentials(c.Context(), selfhosted.NewRegistryCredentials(preferNGCKey())) + // so the row checks the credential the validator Job is given. Each + // --wait poll reads them again: a login renewed meanwhile, or a helper + // that failed once, counts on the next poll. + creds := selfhosted.NewRegistryCredentials(preferNGCKey()) + runCtx := selfhosted.WithRegistryCredentials(c.Context(), creds) localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" skipClusterValidation := clusterValidationSkipped() @@ -355,15 +358,18 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } runOnce := func() []selfhosted.CheckResult { + // The first poll keeps the lookups the image resolution above made. + pollCtx := selfhosted.WithRegistryCredentials(ctx, creds) + creds = selfhosted.NewRegistryCredentials(preferNGCKey()) var results []selfhosted.CheckResult if unresolvedImage != "" { // Discovery fails transiently too, and each --wait poll is a new // chance to run the validator. - clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(ctx) + clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(pollCtx) } if checkPre || checkAll || checkControlPlane || checkComputePlane { results = append(results, - runPreflightByRole(ctx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger)...) + runPreflightByRole(pollCtx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger)...) } return results } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index ca4e7d014e..3a55a6f2c2 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -427,6 +427,77 @@ func TestCheck_UnresolvedValidatorTagFailsTheRun(t *testing.T) { assert.Contains(t, registries, "harbor.example.com") } +// Each --wait poll reads the local credentials again, so a docker login the +// operator renews while the run waits is the one the next poll sends. +func TestCheck_WaitReadsCredentialsAgainEachPoll(t *testing.T) { + prevInterval := checkPollInterval + checkPollInterval = 10 * time.Millisecond + t.Cleanup(func() { checkPollInterval = prevInterval }) + + var mu sync.Mutex + var sent []string + var srv *httptest.Server + srv = httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/token" { + w.Header().Set("Www-Authenticate", `Bearer realm="`+srv.URL+`/token",service="test"`) + w.WriteHeader(http.StatusUnauthorized) + return + } + _, pass, _ := r.BasicAuth() + mu.Lock() + sent = append(sent, pass) + mu.Unlock() + if pass != "renewed" { + w.WriteHeader(http.StatusUnauthorized) + return + } + _, _ = w.Write([]byte(`{"token":"t"}`)) + })) + t.Cleanup(srv.Close) + prevTransport := http.DefaultTransport + http.DefaultTransport = srv.Client().Transport + t.Cleanup(func() { http.DefaultTransport = prevTransport }) + host := strings.TrimPrefix(srv.URL, "https://") + + dockerDir := t.TempDir() + t.Setenv("DOCKER_CONFIG", dockerDir) + login := func(pass string) { + cfg, err := json.Marshal(map[string]any{"auths": map[string]any{ + host: map[string]string{"username": "u", "password": pass}, + }}) + require.NoError(t, err) + require.NoError(t, os.WriteFile(filepath.Join(dockerDir, "config.json"), cfg, 0o600)) + } + login("stale") + + prevChecker := newRegistryCredentialCheckerForSelfHosted + t.Cleanup(func() { newRegistryCredentialCheckerForSelfHosted = prevChecker }) + probe := selfhosted.NewRegistryCredentialChecker() + newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { + return func(ctx context.Context, registry, repo string, critical bool) error { + if registry != host { + return nil + } + return probe(ctx, registry, repo, critical) + } + } + + polls := 0 + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + polls++ + if polls == 1 { + login("renewed") + return selfhosted.ClusterValidatorResult{ExitCode: 1, Logs: "Validator role: control-plane\n"} + } + return selfhosted.ClusterValidatorResult{Passed: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + }, "--cluster-validator-registries", host, "--wait", "30s") + require.NoError(t, err, stderr) + assert.Equal(t, 2, polls) + mu.Lock() + defer mu.Unlock() + assert.Equal(t, []string{"stale", "renewed"}, sent, "the second poll sends the renewed login") +} + // The tag is resolved again on every --wait poll, so a discovery failure that // clears lets the validator run. func TestCheck_WaitResolvesTheValidatorTagAgainEachPoll(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index d74362c110..6e4ee68993 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjA1MDgsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjA2MjAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNWY4ZjAxZTI2YmZhZjA5ZTU0" + "MDQ0ZDY2NGQ3MjM3MzgyZjMwZjllZTZmYTZhZmQ2YWMyYWY5ZTdiYTVhZWI4IiwKICAgICAgInNp" + "emUiOiAzODQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJmNDQ2ODY1NGQ1ZDRjMTkx" + - "M2EzZjg5MDA1Y2U1YTM1OWMyMzk1N2IzZWZkMWJhY2NhNDAwOGExYTI3MmIwNTQxIiwKICAgICAg" + - "InNpemUiOiAyMDk3MQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzU5NjUwYzU1NTY5ZjY1" + + "Y2VjMmQyZjEwNzE5OTIyYzJjYzE5Mjc0ZjA3YmMxOWZmOWEzNjczYTc5NGQ5Yzg1IiwKICAgICAg" + + "InNpemUiOiAyMTA4MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjEy" + "ODk1MTYzNmI4Y2EzNmExOTU4ZjRiNGRiZjZjODcxZWE2NWI4NmExNzVjZmJmZGU5MzFjMDVhODdk" + "ZmNlNWQiLAogICAgICAic2l6ZSI6IDc5NDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCKBdOyVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCBoIAYVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1902,2163 +1902,2165 @@ const skillDataZipBase64 = "" + "LmlvYCByZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXks" + "IGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBh" + "bmQgdGhlIHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2Vu" + - "ZHMuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVu" + - "LCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sg" + - "bmFtZXMuIEFmdGVyIGluc3RhbGwgYSByZWplY3RlZCBjcmVkZW50aWFsIGlzCmEgd2FybmluZywg" + - "c2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMgd2l0aCBpdHMgb3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lz" + - "dHJ5IHRoaXMKbWFjaGluZSBjYW5ub3QgcmVhY2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxz" + - "LCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNyZWRlbnRpYWwgYXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5" + - "IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMgRUNSIG9yCm9uZSB1c2luZyBCYXNp" + - "YyBhdXRoLCBpcyBza2lwcGVkIHdpdGggYSBjb21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEK" + - "cmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMgbWFjaGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRl" + - "ZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQgY3JlZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBm" + - "cm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhl" + - "IENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZp" + - "ZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3Rh" + - "Y2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8" + - "IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3" + - "aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMg" + - "YHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNg" + - "IGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5W" + - "Q0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVu" + - "dHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMg" + - "d2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFj" + - "ZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZP" + - "WV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBv" + - "cGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3Qg" + - "YHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBO" + - "VkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3Jh" + - "Z2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFsaWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3Mg" + - "ZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JB" + - "R0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVT" + - "UEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3It" + - "cHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVz" + - "IGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1" + - "ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVu" + - "dCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAg" + - "ZGVmYXVsdCBpcyBub3QgdXNlZCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2Vk" + - "LgotIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNl" + - "LnlhbWxgLiBgYmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVz" + - "IGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tg" + - "CiAgKGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25seSBydW4p" + - "LCBlbHNlIHRoZSBDTEkncwogIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9yeSBpcyBy" + - "ZWFkIGRpcmVjdGx5LCBhbmQgYW4gYG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5IGFuIGVh" + - "cmxpZXIgY29tbWFuZCBleHRyYWN0ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywK" + - "ICBgZmlsZTovL2AgaW5jbHVkZWQsIGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9u" + - "ZWQgaXRzIGNvbW1pdHRlZAogIHN0YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0YWNrIGFu" + - "ZCBubyBzdGFjayBmbGFnIHJlYWRzIHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRoZSB3b3Jr" + - "aW5nIGRpcmVjdG9yeS4KCk90aGVyd2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndh" + - "cmRlZDogdGhlIHZhbGlkYXRvciBmaW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBh" + - "bmQgYG52Y3IuaW9gIGlzIHByb2JlZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lm" + - "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0" + - "ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwg" + - "LSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8" + - "IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0t" + - "cGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFu" + - "Z2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQg" + - "dG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0t" + - "d2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBE" + - "VVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBG" + - "aWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZl" + - "bnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAg" + - "fCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQg" + - "KHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3Qt" + - "MWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8" + - "IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9u" + - "LWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25c" + - "fHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8g" + - "Z2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUg" + - "bGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJl" + - "cy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2Vk" + - "IGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVd" + - "YCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2Ug" + - "ZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkg" + - "aW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24g" + - "dW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRh" + - "eXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1" + - "dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmlu" + - "aXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + - "CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAt" + - "LWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwg" + - "VVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + - "cG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9u" + - "LXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxU" + - "YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJl" + - "bmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFj" + - "a2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAg" + - "fCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQg" + - "d2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lP" + - "TjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1s" + - "bG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1" + - "cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxs" + - "aW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0" + - "aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBp" + - "bnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3Mg" + - "dXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXBy" + - "aW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0" + - "eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXIt" + - "YWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkg" + - "b3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBv" + - "dmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5k" + - "IGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFu" + - "ZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxt" + - "Q29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRo" + - "cyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEv" + - "Y2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2Au" + - "IGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJf" + - "b2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1D" + - "b25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVk" + - "IHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0" + - "LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAo" + - "aG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3" + - "aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1I" + - "LDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5n" + - "IGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tl" + - "ZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBg" + - "aGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNh" + - "bWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVz" + - "IFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52" + - "b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4i" + - "YC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9k" + - "ZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3Bv" + - "bnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBz" + - "ZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0" + - "aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0g" + - "fAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQg" + - "YG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1p" + - "dD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9r" + - "ZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0" + - "b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwg" + - "UmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRo" + - "aXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwK" + - "fCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2Nv" + - "dW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0" + - "aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8" + - "CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50" + - "cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9v" + - "ciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2Rl" + - "bCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rp" + - "b24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21t" + - "ZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAg" + - "fCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWls" + - "eSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgx" + - "MDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBg" + - "LS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVz" + - "dC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1" + - "bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZp" + - "YyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0" + - "ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVh" + - "dGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3Nl" + - "IHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVx" + - "dWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8Cnwg" + - "YC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkg" + - "fCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0" + - "eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BV" + - "LkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxs" + - "eSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAg" + - "fCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdp" + - "dGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmls" + - "ZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8Cnwg" + - "YC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBO" + - "QU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29t" + - "bWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdo" + - "ZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9j" + - "aHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAg" + - "fCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1z" + - "ZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRh" + - "YmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8" + - "IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVm" + - "YXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAg" + - "fCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2" + - "ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBH" + - "cmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0" + - "IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFu" + - "ZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9D" + - "QVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFt" + - "ZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAg" + - "fCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVw" + - "ZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNl" + - "IGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0" + - "YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVz" + - "Y3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1l" + - "dHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBN" + - "ZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnkt" + - "aWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwixvIPJ61EA" + - "AOtRAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3Rp" + - "bmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSByZW1lZGlh" + - "dGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBDTEkgZW1p" + - "dHMgKFJFUS0xNSk6IG91dHNpZGUgcHJlLWZsaWdodCwgZXZlcnkgZW50cnkgYmVsb3cgc2hvdWxk" + - "IG1hcCB0byBhIGBwaGFzZV9mYWlsZWRgIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9u" + - "YCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCmBjaGVja2AgcmVwb3J0cyBlYWNoIGZpbmRpbmcgYXMg" + - "YSBgY2hlY2tfY29tcGxldGVkYCBldmVudCwgbm90IGFzCmBwaGFzZV9mYWlsZWRgLiBUaGUgc3lt" + - "cHRvbSBpcyB0aGUgZXZlbnQncyBgbWVzc2FnZWA7IGNsdXN0ZXItdmFsaWRhdG9yIHJvd3MKcXVv" + - "dGUgdGhlIHZhbGlkYXRvcidzIGZhaWxlZCBzdW1tYXJ5IHJvd3MsIGFuZCBgLS1zaG93LWxvZ3Ng" + - "IHByaW50cyB0aGUgZnVsbAp0cmFuc2NyaXB0LgoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlh" + - "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3QgZm91bmQgb24gUEFUSGAgfCBPcGVy" + - "YXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwuIEFuIGVycm9yIHdpdGggYC0t" + - "cHJlYDsgb3RoZXIgc2NvcGVzIHdhcm4sIGFkZGluZyBgOyBvbmx5IGFuIGluc3RhbGwgbmVlZHMg" + - "aXRgIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90" + - "YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IGZvdW5kIG9uIFBB" + - "VEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxs" + - "YXRpb24gfAp8IGBoZWxtIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0u" + - "c2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIG5vdCBydW46IGNs" + - "dXN0ZXJfdmFsaWRhdG9yX2ltYWdlIGlzIG5vdCBzZXQ7IC4uLmAsIHdhcm5pbmcgfCBObyB2YWxp" + - "ZGF0b3IgaW1hZ2UgaXMgY29uZmlndXJlZCwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0" + - "ZWQgfCBTZXQgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpbiB0aGUgbnZjZi1jbGkgY29uZmln" + - "LCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgIG9yIGAtLWNsdXN0ZXItdmFsaWRh" + - "dG9yLWltYWdlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIGRpZCBub3QgY29tcGxldGUsIHNvIHRo" + - "ZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkOiAuLi5gLCBlcnJvciB8IFRoZSB2YWxpZGF0b3Ig" + - "Y291bGQgbm90IHJ1biBvciBlbmRlZCBiZWZvcmUgaXRzIHZlcmRpY3Q6IFJCQUMgZGVuaWVkLCBp" + - "bWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCB8IEZpeCB0aGUgY2F1c2UgdGhlIG1l" + - "c3NhZ2UgbmFtZXMsIG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwKfCBgY2x1" + - "c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJ" + - "bnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwg" + - "ZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVu" + - "dm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlk" + - "YXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAg" + - "fCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUg" + - "b25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRh" + - "dGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVs" + - "dC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhl" + - "IHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRo" + - "ZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZh" + - "aWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + - "byBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRo" + - "ZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxs" + - "IHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUt" + - "b3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1n" + - "cHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25l" + - "IGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWlu" + - "YXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRl" + - "bGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVs" + - "ZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEg" + - "ZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBr" + - "dWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBs" + - "aXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJl" + - "c29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJz" + - "IG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVy" + - "bWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRp" + - "b24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJl" + - "cnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBU" + - "ZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + - "IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5p" + - "bmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93" + - "biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4" + - "dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5n" + - "LCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3" + - "aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNw" + - "YWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2Ug" + - "cnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRz" + - "IHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVt" + - "LiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTog" + - "YGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUg" + - "XHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90" + - "LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9u" + - "ZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9y" + - "dHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyBy" + - "ZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9E" + - "UklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZp" + - "bGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNl" + - "cyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRk" + - "b24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0" + - "aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBXaXRoIGAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2tgIG9yIGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHNldCB0byBhIGxvY2Fs" + - "IHN0YWNrLCBnYXRlcyBjb21lIGZyb20gaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQs" + - "IHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyBvbmUsIGBlbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGA7IG90aGVyd2lzZSBmcm9tIHRoZSBzdGFjayBkZWZhdWx0cywgd2hpY2ggbGVh" + - "dmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBg" + - "bnZjZi11aWAgb2ZmIHwgUG9pbnQgdGhlIHN0YWNrIGZsYWcgYXQgdGhlIHN0YWNrIHlvdSBpbnN0" + - "YWxsIGZyb20gYW5kIHBhc3MgdGhlIHNhbWUgYC0tZW52YCB8CgojIyBBdXRoCgp8IFN5bXB0b20g" + - "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1" + - "aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tl" + - "bmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2Vu" + - "PSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBB" + - "bm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8" + - "IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0g" + - "fi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1p" + - "c3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRv" + - "a2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkt" + - "a2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMg" + - "SW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + - "LXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5k" + - "cmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9y" + - "YWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAg" + - "fAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBs" + - "b3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwg" + - "VXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAg" + - "fAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxs" + - "IC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBl" + - "bnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZh" + - "bHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJv" + - "ciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29t" + - "bWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUg" + - "YG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRv" + - "cjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90" + - "IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNk" + - "IGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+" + - "YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + - "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGgg" + - "YEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBv" + - "dXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBj" + - "bHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUt" + - "cnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVz" + - "IGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3Ig" + - "Y2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNo" + - "IHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkg" + - "Y2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdl" + - "UHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIg" + - "Y29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1i" + - "YWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24g" + - "ZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxh" + - "ZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVh" + - "bHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9u" + - "YW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBD" + - "YXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJu" + - "cyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBr" + - "ZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJl" + - "Z2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVk" + - "ZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQg" + - "cHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3Jl" + - "ZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91" + - "dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVm" + - "cmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1u" + - "IG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVk" + - "aWF0ZWx5IHwKUEsHCLM+PWYLHwAACx8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5h" + - "bWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0" + - "YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJh" + - "dGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + - "IHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVz" + - "LCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBs" + - "YW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVy" + - "YXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9y" + - "IHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZp" + - "cm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQu" + - "CmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0g" + - "MS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1h" + - "dGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUt" + - "ZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBz" + - "ZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0" + - "ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNy" + - "ZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBp" + - "bnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + - "Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYt" + - "bWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBs" + - "YW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNd" + - "CiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0s" + - "IGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxm" + - "LU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5n" + - "IE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoK" + - "IyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3Ig" + - "dGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBh" + - "bmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExN" + - "ImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0" + - "cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpB" + - "c2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Ig" + - "c3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52" + - "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxj" + - "b250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52" + - "aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUt" + - "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZp" + - "bGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUt" + - "c3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlz" + - "c2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFz" + - "aApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZl" + - "cnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRy" + - "b2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSBy" + - "b290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFu" + - "ZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNp" + - "b24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxt" + - "IHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAj" + - "IE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENs" + - "aWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRy" + - "b2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290" + - "bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFt" + - "ZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2Ug" + - "dGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + - "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFs" + - "dWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9z" + - "dCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jh" + - "c2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5" + - "Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3Rz" + - "IHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3Jl" + - "dHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxl" + - "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3Jp" + - "dGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + - "a2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3Rv" + - "cmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBp" + - "biB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2su" + - "IFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFy" + - "dC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFj" + - "ZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoK" + - "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + - "eSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + - "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + - "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwg" + - "c2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRv" + - "IHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2Vj" + - "cmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoK" + - "Qm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJl" + - "ZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + - "YXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQg" + - "c2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQK" + - "ZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElf" + - "S0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4g" + - "fCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGlu" + - "IDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0ICht" + - "dWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFs" + - "IE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1" + - "bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dp" + - "biBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2ls" + - "ZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcg" + - "dGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQw" + - "MTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3Ug" + - "cHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1" + - "biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2gg" + - "cHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5" + - "PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhl" + - "IHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5" + - "IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQ" + - "dWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRp" + - "Y2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0" + - "IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxs" + - "IHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xv" + - "YWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQg" + - "dGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4g" + - "UG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5" + - "b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAg" + - "ICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNl" + - "czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9y" + - "ZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAg" + - "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5p" + - "ZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBu" + - "b24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBu" + - "dmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0K" + - "ICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0g" + - "cmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9z" + - "ZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3Vy" + - "Y2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhl" + - "IHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0" + - "IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAg" + - "PiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1" + - "Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVs" + - "bS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhl" + - "IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAo" + - "dGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwg" + - "bmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBl" + - "ci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhl" + - "IG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxT" + - "ZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDog" + - "bnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4g" + - "YGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNv" + - "IHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhv" + - "bGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlz" + - "IG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xv" + - "YmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBg" + - "YXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBs" + - "b2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gK" + - "R0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8" + - "Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + - "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUg" + - "YSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlv" + - "biBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRo" + - "ZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3Jh" + - "cnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNo" + - "IGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQURE" + - "UkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVz" + - "ZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdB" + - "VEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9i" + - "YWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3Rp" + - "bmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMj" + - "IDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJP" + - "VEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBm" + - "aWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fz" + - "c2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vydmlj" + - "ZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBv" + - "bmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVw" + - "cyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMg" + - "d2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0" + - "Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpI" + - "ZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNl" + - "bGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBO" + - "QVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFy" + - "eSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5" + - "IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRk" + - "b24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSBy" + - "b3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBP" + - "YnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBh" + - "IHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoK" + - "IyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBp" + - "cyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFj" + - "aW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBO" + - "VkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0" + - "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRo" + - "ZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRl" + - "d2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNl" + - "IGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhl" + - "bS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGlu" + - "CmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0" + - "eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRo" + - "ZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5k" + - "IGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBo" + - "b3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5n" + - "Q29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5p" + - "dHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQg" + - "YnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFm" + - "dGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAg" + - "cmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5" + - "LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0" + - "aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + - "bmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZh" + - "bml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5k" + - "YXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRy" + - "YWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0" + - "ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRp" + - "b25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpk" + - "ZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUg" + - "dGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBu" + - "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkK" + - "dW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQu" + - "CgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHks" + - "IGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBs" + - "YW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1" + - "dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkg" + - "b25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhv" + - "ciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxs" + - "IHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNl" + - "IHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwK" + - "ICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRz" + - "LgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkK" + - "Zm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFu" + - "ZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1" + - "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9y" + - "CnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2Nv" + - "cGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBo" + - "ZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNl" + - "cnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9u" + - "LXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0" + - "aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwg" + - "YW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVu" + - "dG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2Ug" + - "Y2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhl" + - "IHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVh" + - "c2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBk" + - "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + - "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "dHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + - "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMj" + - "IyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5z" + - "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52" + - "Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAt" + - "LWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + - "c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxt" + - "IENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5" + - "IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNh" + - "c3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1h" + - "Z2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0" + - "aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVl" + - "czpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + - "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + - "LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + - "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + - "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + - "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + - "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1p" + - "dHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + - "ICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0" + - "MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRo" + - "ZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFt" + - "bC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEg" + - "c2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpg" + - "YGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRl" + - "bnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1" + - "bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0" + - "aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQ" + - "SSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwK" + - "fC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFn" + - "ZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0" + - "aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0" + - "ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5" + - "YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVu" + - "dj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJT" + - "X0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBz" + - "ZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBz" + - "ZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0" + - "bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0" + - "cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdq" + - "c29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFD" + - "RV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQg" + - "b2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1" + - "bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2" + - "YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBk" + - "b2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRv" + - "YXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + - "fCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAu" + - "Cj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCBy" + - "ZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29y" + - "ZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVj" + - "YXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdh" + - "cmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBi" + - "YWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5j" + - "b2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3Rh" + - "Y2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJp" + - "bnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFv" + - "IGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBz" + - "ZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJl" + - "cGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQK" + - "PiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMg" + - "cGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9y" + - "Zyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rp" + - "b24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVy" + - "ZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUg" + - "YWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBz" + - "ZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWly" + - "cm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1" + - "dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVu" + - "dGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpV" + - "c2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBp" + - "bmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2Vz" + - "LiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29u" + - "ZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAx" + - "LiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5n" + - "aXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBr" + - "eXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRl" + - "IHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + - "a2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "ZHMuCkVhY2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEg" + + "bG9naW4gcmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xs" + + "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + + "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + + "bWVzLiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNp" + + "bmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3Ry" + + "eSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywg" + + "YW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0" + + "aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMg" + + "YXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJl" + + "Z2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQg" + + "YXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJv" + + "bSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBD" + + "TEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcg" + + "a2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNr" + + "IHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBg" + + "aW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2ly" + + "ZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0" + + "cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBh" + + "bmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNG" + + "X0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRy" + + "aWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdh" + + "eSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2Ug" + + "fCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lf" + + "R0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3Bl" + + "bmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0" + + "cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZD" + + "Rl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdl" + + "Q2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4" + + "aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdF" + + "X0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BB" + + "Q0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXBy" + + "b2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBh" + + "Ym92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVz" + + "IG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQg" + + "aXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRl" + + "ZmF1bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4K" + + "LSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55" + + "YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBm" + + "cm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAog" + + "IChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwg" + + "ZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVh" + + "ZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJs" + + "aWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAg" + + "YGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVk" + + "IGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQg" + + "bm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2lu" + + "ZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJk" + + "ZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5k" + + "IGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmlj" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVy" + + "LW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0g" + + "fAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBg" + + "LS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBs" + + "YW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdl" + + "cyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + + "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRv" + + "IG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdh" + + "dGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVS" + + "YCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmls" + + "dGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50" + + "cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + + "Q2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChy" + + "ZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFg" + + "IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBg" + + "LS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1l" + + "eGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0" + + "YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdl" + + "bmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxh" + + "YmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMt" + + "aW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBh" + + "cyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAg" + + "fCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRl" + + "ZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGlt" + + "bWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVu" + + "aXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlz" + + "KSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQt" + + "ZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0" + + "aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1p" + + "bWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVS" + + "SWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBv" + + "cnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10" + + "eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAg" + + "fAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5j" + + "ZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2th" + + "Z2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwg" + + "S3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdo" + + "ZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046" + + "VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxt" + + "LW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJp" + + "cz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGlt" + + "aXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGgg" + + "YFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5w" + + "dXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVz" + + "ZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlv" + + "cml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHku" + + "IExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFj" + + "Y291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92" + + "ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3Zl" + + "cnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBp" + + "bmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQg" + + "bW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNv" + + "bmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMg" + + "ZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2No" + + "YXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBg" + + "bGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29m" + + "X3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29u" + + "ZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBw" + + "b3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4g" + + "U3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhv" + + "dXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hl" + + "biBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1" + + "MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBp" + + "cyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQg" + + "TExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhl" + + "bG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1l" + + "IGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBT" + + "ZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9j" + + "YXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAu" + + "IFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVs" + + "IG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25z" + + "ZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vz" + + "c2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlv" + + "biB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwK" + + "fCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBu" + + "YW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+" + + "YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2Vu" + + "IGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9r" + + "ZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJl" + + "cGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlz" + + "IGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8Cnwg" + + "YC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3Vu" + + "dCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGlu" + + "Y3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoK" + + "SW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJp" + + "ZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3Ig" + + "YGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwg" + + "bWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9u" + + "IGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVu" + + "ZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwg" + + "RnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkg" + + "fCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAw" + + "XzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0t" + + "bWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3Qt" + + "Y29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0" + + "IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMg" + + "Y29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVg" + + "LXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRh" + + "YmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVp" + + "cmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAt" + + "LWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwg" + + "RXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlw" + + "ZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5I" + + "MTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkg" + + "ZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwg" + + "SGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRo" + + "IGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUg" + + "fCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAt" + + "LWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFN" + + "RVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1h" + + "LXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVu" + + "IGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hz" + + "IDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwg" + + "Q29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2Vj" + + "cmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJs" + + "ZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBN" + + "YXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1" + + "bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwg" + + "TWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVy" + + "IGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3Jh" + + "Y2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBg" + + "UFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRs" + + "ZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FU" + + "SU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUv" + + "XW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwg" + + "LSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVh" + + "dGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBh" + + "cnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFn" + + "cyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2Ny" + + "aXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRy" + + "eSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0" + + "cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlk" + + "IFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIvnptM1tSAABb" + + "UgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5n" + + "CgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRp" + + "b24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRz" + + "IChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBt" + + "YXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAg" + + "YXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEg" + + "YGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0" + + "b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3Rl" + + "IHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBw" + + "cmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + + "b24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0" + + "b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXBy" + + "ZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0" + + "YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFz" + + "a3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRI" + + "YCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0" + + "aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNo" + + "L2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVz" + + "dGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRh" + + "dG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVk" + + "IHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywg" + + "YE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRv" + + "ci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUg" + + "Y2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNv" + + "dWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1h" + + "Z2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNz" + + "YWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0" + + "ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRzOiBOb3QgSW5z" + + "dGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVn" + + "IG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZv" + + "eS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0" + + "b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3QgRm91bmRgIHwg" + + "Q2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5vdCBuYW1lIG9u" + + "ZSB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRh" + + "Ijp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQt" + + "Y2xhc3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgIGluIHRoZSBz" + + "dGFjaydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1NgKSB0byB0aGUg" + + "Y2xhc3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + + "dXJlczogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxhbmUpIHwgTm8g" + + "bm9kZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVzLCBvciB0aGUg" + + "TlZJRElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwgSW5zdGFsbCBw" + + "ZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9w" + + "ZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1" + + "LW9wZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVkYCBhbG9uZSBp" + + "cyBhIHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNrIFRlcm1pbmF0" + + "aW5nOiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBkZWxl" + + "dGluZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9ydCBhIGRlbGV0" + + "aW9uIGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBob2xkcyBhIGZp" + + "bmFsaXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjogcmVhZCBga3Vi" + + "ZWN0bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9uc30nYCwgbGlz" + + "dCB3aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQsIGFuZCByZXNv" + + "bHZlIHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmluYWxpemVycyBv" + + "bmx5IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKFRlcm1p" + + "bmF0aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFsIGRlbGV0aW9u" + + "IGlzIHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0IGFuZCByZXJ1" + + "biBgY2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBgc3R1Y2sgVGVy" + + "bWluYXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAo" + + "SGVsbSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilgLCB3YXJuaW5n" + + "IHwgQW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3IgdGVhcmRvd24g" + + "bGVmdCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4gVGhlIG5leHQg" + + "YHVwYCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMgcnVubmluZywg" + + "cmVhZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5pc2ggaXQgd2l0" + + "aCBgaGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxlLW5hbWVzcGFj" + + "ZXNgOiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFtZXNwYWNlIHJ1" + + "bnMgbm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGlsbCBob2xkcyB2" + + "b2x1bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2ZXMgdGhlbS4g" + + "QSByZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0IG9ubHk6IGBr" + + "dWJlY3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAtbyBuYW1lIFx8" + + "IHhhcmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdub3JlLW5vdC1m" + + "b3VuZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVkIGNvbXBvbmVu" + + "dCBhbHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCByZXBvcnRz" + + "IGBubyBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBzdG9yZXMgcmVs" + + "ZWFzZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMgYEhFTE1fRFJJ" + + "VkVSYCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhlIGhlbG1maWxl" + + "IGVudmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBgbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5hbWVzcGFjZXMg" + + "YXJlIGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2FuIGFuIGFkZG9u" + + "IG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlv" + + "bjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gV2l0aCBgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrYCBvciBgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBzZXQgdG8gYSBsb2NhbCBz" + + "dGFjaywgZ2F0ZXMgY29tZSBmcm9tIGl0cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5kLCB3" + + "aGVuIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAgbmFtZXMgb25lLCBgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgOyBvdGhlcndpc2UgZnJvbSB0aGUgc3RhY2sgZGVmYXVsdHMsIHdoaWNoIGxlYXZl" + + "IGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52" + + "Y2YtdWlgIG9mZiB8IFBvaW50IHRoZSBzdGFjayBmbGFnIGF0IHRoZSBzdGFjayB5b3UgaW5zdGFs" + + "bCBmcm9tIGFuZCBwYXNzIHRoZSBzYW1lIGAtLWVudmAgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwg" + + "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWly" + + "ZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5g" + + "IG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0k" + + "SldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5v" + + "dGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBT" + + "dGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4v" + + "Lm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNz" + + "aW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tl" + + "biBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtl" + + "eSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIElu" + + "c3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18" + + "LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJh" + + "IFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFn" + + "ZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwK" + + "fCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95" + + "KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVz" + + "ZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwK" + + "fCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAt" + + "LWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52" + + "IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1" + + "ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3Ig" + + "ZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1p" + + "dCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBu" + + "dmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6" + + "IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBp" + + "biBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBp" + + "bWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAg" + + "fAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + + "aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBI" + + "VFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0" + + "LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1" + + "c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1" + + "biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBh" + + "IGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNs" + + "dXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3" + + "aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNs" + + "dXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1" + + "bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNv" + + "bmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFj" + + "a2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRl" + + "cGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcg" + + "KGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0" + + "aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + + "ZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1" + + "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMg" + + "YE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2Vl" + + "cHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdp" + + "c3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVu" + + "dGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHBy" + + "b3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRl" + + "bnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQg" + + "NSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJl" + + "c2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBu" + + "dmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlh" + + "dGVseSB8ClBLBwizPj1mCx8AAAsfAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1l" + + "OiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFs" + + "bCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRl" + + "IGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBw" + + "cm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywg" + + "cHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFu" + + "ZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0" + + "ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBz" + + "ZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJv" + + "bm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgps" + + "aWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEu" + + "MS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRj" + + "aGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVu" + + "Z0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2Vs" + + "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + + "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + + "c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50" + + "ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNo" + + "YW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1h" + + "bmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFu" + + "ZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQog" + + "IGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBr" + + "dWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1N" + + "YW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBO" + + "VkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMj" + + "IEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRl" + + "YXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52" + + "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5k" + + "IENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + + "LCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNr" + + "IGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNw" + + "bGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNm" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29u" + + "dHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmly" + + "b25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0" + + "YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxl" + + "LmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0" + + "YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3Np" + + "bmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gK" + + "bmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJz" + + "aW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9s" + + "LXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9v" + + "dC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQg" + + "Y29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9u" + + "ICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2" + + "ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBN" + + "dXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGll" + + "bnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9s" + + "LXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "awpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1w" + + "bApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+" + + "LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRo" + + "ZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEu" + + "Y29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVl" + + "cyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3Qg" + + "Y29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNl" + + "LnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpn" + + "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBw" + + "ZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRz" + + "LnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFz" + + "ZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRp" + + "Y2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtl" + + "eXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3Jh" + + "Z2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4g" + + "dGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFy" + + "eSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBT" + + "ZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQt" + + "dmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2Vz" + + "IGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBg" + + "YGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUg" + - "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2Nr" + - "ZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4g" + - "QXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8t" + - "aW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5" + - "IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6" + - "IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3Jl" + - "dHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVk" + - "ZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3" + - "aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVs" + - "bCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBz" + - "dGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVu" + - "dHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBg" + - "YAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8" + - "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVu" + - "YXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0" + - "IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1" + - "Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENo" + - "ZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsg" + - "YHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8g" + - "a25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBP" + - "cGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBv" + - "ZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAv" + - "IGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + - "RGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdy" + - "YXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQu" + - "IHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21h" + - "bGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8Cnwg" + - "REItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGlu" + - "ZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJB" + - "X1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0" + - "cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4g" + - "dGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0" + - "aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRp" + - "bmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBg" + - "a3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0g" + - "cmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkg" + - "fCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBB" + - "Y2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNl" + - "Y3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9v" + - "dHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQg" + - "VW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBo" + - "b29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyBy" + - "ZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28g" + - "dGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1" + - "biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3Zlcmlm" + - "eS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZh" + - "dWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNv" + - "ZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUg" + - "cmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3Rv" + - "cnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2Ag" + - "YW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZh" + - "bHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcg" + - "bWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRl" + - "cml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0" + - "IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmln" + - "IHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNj" + - "b3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCBy" + - "ZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJl" + - "Y2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nl" + - "c3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFp" + - "cmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0" + - "aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJz" + - "ZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25v" + - "d24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5n" + - "IHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNv" + - "bnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2Ig" + - "aXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVh" + - "c2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlm" + - "IGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhv" + - "b2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + - "LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQK" + - "YGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5t" + - "ZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + - "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQg" + - "W3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9w" + - "dWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQp" + - "CgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxs" + - "IHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQg" + - "aW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpz" + - "b25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAog" + - "ICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15" + - "IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qg" + - "b3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUg" + - "YWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3Qg" + - "MS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBr" + - "dWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJv" + - "Y2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVy" + - "aWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1v" + - "ZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0" + - "IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5k" + - "IHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBj" + - "b21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZp" + - "bGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWlj" + - "aywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhl" + - "IGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8g" + - "c2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJl" + - "dmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQg" + - "ZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBi" + - "bGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0" + - "ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3" + - "IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5" + - "IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFu" + - "dCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJH" + - "NS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNl" + - "cyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJl" + + "bmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkg" + + "LWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5n" + + "LiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGlu" + + "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + + "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + + "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0t" + + "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + + "R0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVu" + + "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNl" + + "Y3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byBy" + + "ZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3Jl" + + "dHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJv" + + "dGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQg" + + "Zm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFy" + + "dHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNl" + + "cGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRv" + + "Y2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVs" + + "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tF" + + "WSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwg" + + "XAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8" + + "YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVs" + + "bSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVs" + + "dGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBO" + + "R0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5k" + + "ZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4g" + + "bnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVu" + + "dGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRo" + + "ZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6" + + "IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1" + + "bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4g" + + "dGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1" + + "bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5g" + + "IHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBz" + + "dG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBt" + + "aXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVs" + + "bCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNh" + + "bGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0" + + "aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBz" + + "ZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2Fk" + + "IGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRo" + + "ZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBv" + + "aW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6" + + "CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91" + + "ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAg" + + "IHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVk" + + "IHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAg" + + "ICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZl" + + "c3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9u" + + "LU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZj" + + "ci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAg" + + "ID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJl" + + "cG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2Ug" + + "YXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNl" + + "c2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBz" + + "dGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0" + + "byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4g" + + "YGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWIt" + + "cGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0u" + + "c291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBj" + + "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRo" + + "ZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5l" + + "ZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXIt" + + "bmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBu" + + "YW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2Vj" + + "cmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dp" + + "biBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52" + + "Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBm" + + "dW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0" + + "aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xk" + + "cyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBt" + + "aXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2Jh" + + "bC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFw" + + "aS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9h" + + "ZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdB" + + "VEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdh" + + "dGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + + "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEg" + + "aG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24g" + + "ZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5" + + "IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBh" + + "cyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJF" + + "U1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2Ug" + + "eW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRF" + + "V0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFs" + + "LmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5h" + + "dGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0" + + "LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VO" + + "Vj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RI" + + "IENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmls" + + "ZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3Nh" + + "bmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VS" + + "b2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25s" + + "eQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMg" + + "dGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdp" + + "dGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+" + + "IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERF" + + "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVs" + + "bWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxl" + + "Y3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0t" + + "LS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFU" + + "UywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1z" + + "ZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3Rhcnks" + + "IGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBH" + + "YXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9u" + + "IHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91" + + "dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2Jz" + + "ZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBz" + + "ZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMj" + + "IyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMg" + + "ZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2lu" + + "Zwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZD" + + "RiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFj" + + "ayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUg" + + "ZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdh" + + "eWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBj" + + "b21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0u" + + "CgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpg" + + "ZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlH" + + "YXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUg" + + "ZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBp" + + "cwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9z" + + "dCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0Nv" + + "bmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5" + + "Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5" + + "IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRl" + + "ciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJl" + + "bGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1n" + + "YXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhl" + + "IHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + + "bWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5p" + + "dHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + + "c3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFy" + + "ZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFm" + + "ZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVz" + + "LgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9u" + + "YWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + + "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + + "ZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90" + + "IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBz" + + "a2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVu" + + "YXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoK" + + "Rm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBh" + + "bmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZj" + + "Zi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + + "ZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRl" + + "LXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9u" + + "ZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Ig" + + "c2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3" + + "aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0" + + "aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAg" + + "dGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4K" + + "CkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZv" + + "ciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQg" + + "dGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRl" + + "IHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0" + + "aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + + "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3Bl" + + "OiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVs" + + "bWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2" + + "ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1z" + + "ZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlv" + + "bmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFu" + + "ZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRv" + + "cnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNs" + + "ZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNl" + + "cnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSBy" + + "ZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNl" + + "cyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVz" + + "dHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBl" + + "eHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFj" + + "ay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + + "dWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9y" + + "dCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3Bh" + + "Y2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1l" + + "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMg" + + "U3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBp" + + "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNm" + + "LXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1p" + + "Z25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVj" + + "dGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8" + + "ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBD" + + "aGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBm" + + "b3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNz" + + "YW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdl" + + "YCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhl" + + "IHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6" + + "YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + + "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + + "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + + "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + + "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + + "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + + "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + + "OgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAg" + + "ICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5" + + "Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVw" + + "ZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUg" + + "dGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNp" + + "bmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBg" + + "CgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50" + + "aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxl" + + "IGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhl" + + "IGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkg" + + "Qm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8Cnwt" + + "LS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2Vz" + + "IHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlv" + + "biBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVk" + + "IGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAg" + + "U2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+" + + "LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19J" + + "TUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2Vy" + + "dmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2Vj" + + "cmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwg" + + "YnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFz" + + "ZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJh" + + "cCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNv" + + "bi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0Vf" + + "V0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9m" + + "IGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1l" + + "ZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFs" + + "dWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9j" + + "a2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1" + + "dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwg" + + "b3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+" + + "Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0" + + "dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQg" + + "Zm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2Fy" + + "IHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJk" + + "bGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFk" + + "IG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29k" + + "aW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNr" + + "IHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50" + + "ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBr" + + "diBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2Vj" + + "cmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBl" + + "YXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4g" + + "ICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBp" + + "Y2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcp" + + "OiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9u" + + "IGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVu" + + "dCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFj" + + "Y291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2Vj" + + "cmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJv" + + "cmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRo" + + "ZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRp" + + "YWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNl" + + "IGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5q" + + "ZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4g" + + "VGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZp" + + "Z3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4g" + + "SW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0" + + "aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2" + + "ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBw" + + "dWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtl" + + "eT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFw" + + "cGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWlt" + + "YWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBw" + + "b2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBu" + + "dmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxu" + + "YW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + + "fScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVk" + + "IGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0" + + "aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwg" + + "c2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0o" + + "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3Rh" + + "dHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAg" + + "ICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRz" + + "IC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAK" + + "CiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8" + + "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1" + + "dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBl" + + "eGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNr" + + "IG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVj" + + "ayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2" + + "YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtu" + + "b3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3Bl" + + "bkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2Yg" + + "dGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdy" + + "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBh" + + "bnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRp" + + "c2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0" + + "aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2lu" + + "Zy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8" + + "CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxs" + + "IHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERC" + + "LWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3Rpbmcg" + + "dG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9Q" + + "QVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMg" + + "dG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRo" + + "ZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhl" + + "biByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5n" + + "YCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1" + + "YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJl" + + "bGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwg" + + "YGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNj" + + "b3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNy" + + "ZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVu" + + "a25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9v" + + "ayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVw" + + "YWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRo" + + "ZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4g" + + "dGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnkt" + + "dGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVs" + + "dCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2Rl" + + "ZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJl" + + "c29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5" + + "IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFu" + + "ZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1" + + "ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1p" + + "c21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJp" + + "dmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBg" + + "QVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8" + + "CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291" + + "bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVs" + + "ZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNh" + + "dXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNz" + + "ZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJl" + + "ZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhl" + + "IGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2Vx" + + "dWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3du" + + "IGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBw" + + "b2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0" + + "bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25w" + + "YXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlz" + + "IGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNl" + + "IHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBp" + + "dCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29r" + + "KToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1i" + + "b290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBp" + + "LWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBg" + + "YAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRd" + + "KGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3Mu" + + "bnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtz" + + "cGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVu" + + "Y2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoK" + + "QWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0" + + "byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGlu" + + "dm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "ADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29u" + + "VVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBB" + + "V1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9w" + + "ZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFs" + + "bCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEu" + + "Mi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3Vi" + + "ZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2Nl" + + "ZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlm" + + "aWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2Rl" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBp" + + "cyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2" + + "ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29t" + + "cGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxl" + + "IHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ss" + + "IGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBj" + + "aGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNr" + + "aXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZp" + + "ZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4" + + "cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxp" + + "bmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVt" + + "cGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBt" + + "YW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBy" + + "dW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAg" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQg" + + "ZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUt" + + "ZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMg" + + "YXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2Vy" + + "ZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJ" + + "dCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRo" + + "ZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNr" + + "IG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52" + + "Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3Rl" + + "ciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUg" + + "Y29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byBy" + + "ZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJl" + + "cGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNw" + + "YWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNw" + + "YWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhl" + + "ciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVj" + + "dGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXpl" + + "cnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ci" + + "LAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNl" + + "cGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBj" + + "b21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRl" + + "bnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJv" + + "bC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1H" + + "YXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBp" + + "bnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmls" + + "ZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBr" + + "dWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRo" + + "IHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0" + + "cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0" + + "aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29t" + + "cHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBp" + + "bnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmws" + + "IGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3Ig" + + "dGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJf" + + "TkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJ" + + "TEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxN" + + "RklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmln" + + "IGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1o" + + "b3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5k" + + "IEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90" + + "IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5v" + + "dCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "RzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUg" + + "dG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxs" + + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + + "IlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4g" + + "Zm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2Ug" + + "aGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRv" + + "Y2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJh" + + "biAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5H" + + "Q19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkg" + + "bG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkg" + + "cGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVp" + + "cmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + + "aGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUg" + + "dHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5" + + "LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3Ig" + + "TlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQv" + + "LCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBm" + + "aWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBl" + + "eHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBk" + + "aWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVu" + + "ZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3Ry" + + "dWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1s" + + "LmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBh" + + "Z2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJU" + + "aGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMx" + + "LWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGlu" + + "c3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBj" + + "bHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9u" + + "IGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29u" + + "dHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0" + + "ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhl" + + "IGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50" + + "ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5l" + + "IGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUg" + + "dmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9u" + + "cyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50" + + "IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMt" + + "c3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5h" + + "Z2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJl" + + "dmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VO" + + "Vj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhw" + + "bGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2Vz" + + "LCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAg" + + "ICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lz" + + "dGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2lu" + + "ZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2Zp" + + "bGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15" + + "IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBj" + + "b21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJl" + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3" + - "ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMu" + - "IEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwg" + - "dGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1" + - "Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAo" + - "bnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVz" + - "dGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRo" + - "ZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAg" + - "IlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRv" + - "IHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwg" + - "cmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1l" + - "c3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1l" + - "c3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90" + - "aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGly" + - "ZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxp" + - "emVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxv" + - "dyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEg" + - "c2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhl" + - "IGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVu" + - "ZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250" + - "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJl" + - "LUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMs" + - "IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2Vm" + - "aWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRl" + - "IGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdp" + - "dGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdp" + - "c3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + - "eHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVk" + - "IHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBj" + - "b21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmws" + - "IGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3Vy" + - "bCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZv" + - "ciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RF" + - "Ul9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdf" + - "RklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhF" + - "TE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhl" + - "IGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25m" + - "aWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21z" + - "LWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBh" + - "bmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQg" + - "bm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0" + - "ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dp" + - "biBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVz" + - "ZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28g" + - "ZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55" + + "YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5k" + + "cywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBs" + + "YW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJv" + + "ZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dp" + + "dGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2" + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQg" + - "TkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3Ry" + - "eSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tF" + - "WSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVx" + - "dWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + - "IGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRo" + - "ZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "RzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZv" + - "ciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + - "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVu" + - "IGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRv" + - "IGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0" + - "IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBi" + - "dW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + - "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBz" + - "dHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlh" + - "bWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhl" + - "IGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAg" + - "IlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4g" + - "aW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtT" + - "IGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRp" + - "b24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGlj" + - "YXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0" + - "aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1l" + - "bnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxh" + - "bmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNp" + - "b25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0" + - "cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1h" + - "bmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBw" + - "cmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVf" + - "RU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2Vydmlj" + - "ZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwK" + - "ICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVn" + - "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVz" + - "aW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBI" + - "ZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJv" + - "ZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwg" + - "bXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRl" + - "IGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5l" + - "IGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1h" + - "bmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUt" + - "cGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBw" + - "cm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBz" + - "d2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "cmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJp" + + "ZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29u" + + "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + + "IGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29u" + + "dHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVn" + + "aW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAt" + + "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + + "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0t" + + "dmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBh" + + "Z2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFu" + + "ZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1" + + "ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNl" + + "IG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + + "YXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmll" + + "ZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBn" + + "bG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2Fy" + + "bmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJl" + + "Zm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0" + + "aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAi" + + "VGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJl" + + "c291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5j" + + "bHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczog" + + "YmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdh" + + "cm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBs" + + "YWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBi" + + "ZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNl" + + "bGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkg" + + "dGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0g" + + "Zm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxt" + + "ZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3Jv" + + "dXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lz" + + "dGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBw" + + "cm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFz" + + "ZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFj" + + "a29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJh" + + "Y2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFu" + + "ZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2Vk" + + "IGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNw" + + "ZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcg" + + "c2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBh" + + "bmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2" + + "ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBj" + + "YXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFn" + + "ZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNw" + + "ZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRp" + + "bmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1Mg" + + "Y29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0" + + "cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxs" + + "IHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUg" + + "Y29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZv" + + "eS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdh" + + "eSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5" + + "IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBO" + + "QVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQg" + + "dGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19o" + + "b3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5h" + + "bCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4g" + + "YWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQg" + + "b25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBh" + + "bmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZl" + - "cmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + - "b25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVu" + - "diwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1j" + - "b250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1y" + - "ZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVk" + - "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + - "LS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQg" + - "LS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhl" + - "IGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2Ug" + - "YW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAi" + - "cXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVh" + - "c2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlm" + - "aWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5n" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3" + - "YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYg" + - "YmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3" + - "aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUg" + - "cmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1p" + - "bmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVz" + - "OiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "d2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJl" + - "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBh" + - "Z2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZm" + - "IGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYt" + - "c2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25s" + - "eSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAt" + - "LSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhl" + - "bG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBn" + - "cm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAg" + - "IlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1z" + - "eXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50" + - "IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxl" + - "YXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxi" + - "YWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxs" + - "QmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21t" + - "YW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNr" + - "ZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qg" + - "c3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2lu" + - "ZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMp" + - "IGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYg" + - "ZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhl" + - "IGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGlt" + - "YWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAog" + - "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEg" + - "c3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91" + - "dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVL" + - "UyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2gg" + - "aXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1" + - "bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRo" + - "ZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVu" + - "dm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRl" + - "d2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJv" + - "eHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVz" + - "IE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJl" + - "ZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21z" + - "X2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVy" + - "bmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBp" + - "biBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1" + - "dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5h" + - "dHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2Ug" + - "ZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2lu" + - "dHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJM" + - "LCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZp" + - "Y2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJM" + - "IHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhl" + - "IGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3Jw" + - "YyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3Ru" + - "YW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBp" + - "LnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5i" + - "YW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + - "ZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNv" + - "bmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVh" + - "ZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJy" + - "aWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1w" + - "bGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAog" + - "ICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1v" + - "cGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5" + - "c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAg" + - "InF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRl" + - "LXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBh" + - "bmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZp" + - "bGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBh" + - "c3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBo" + - "YW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxv" + - "d3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBh" + - "bmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2" + - "aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBu" + - "b3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNv" + - "bmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0" + - "aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVj" + - "dCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5" + - "IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRy" + - "b2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUg" + - "dGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2Vk" + - "IGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0" + - "aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29u" + - "ZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxv" + - "dyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMg" + - "Y29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1m" + - "aWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZv" + - "cmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRv" + - "ZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3" + - "YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBI" + - "ZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + - "ZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2" + - "ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBv" + - "biBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBm" + - "bG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQg" + - "ZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBs" + - "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdf" + - "RklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZv" + - "cmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNv" + - "bW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNs" + - "dXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNv" + - "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3" + - "YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRo" + - "cywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3du" + - "IC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + - "IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNv" + - "bnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjog" + - "IkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNp" + - "bGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVu" + - "Y2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0" + - "cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25s" + - "eSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWlu" + - "OiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMg" + - "LT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRy" + - "YS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLiki" + - "LAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMg" + - "bXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5k" + - "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxv" + - "Y2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0" + - "aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVy" + - "LiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJ" + - "IG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFk" + - "ZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBm" + - "b3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQg" + - "dGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJh" + - "bGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1" + - "ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2Rz" + - "LiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNl" + - "bGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBh" + - "dXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndv" + - "cmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5z" + - "cG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBu" + - "b3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0" + - "aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlz" + - "dGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91" + - "dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0" + - "ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVx" + - "dWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1" + - "c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRl" + - "ZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1y" + - "b3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhl" + - "IGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + - "Y2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJn" + - "YXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBh" + - "bmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBl" + - "bnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2Vs" + - "ZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBm" + - "dW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxt" + - "LXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNp" + - "ZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5W" + - "Q0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0" + - "byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxm" + - "LW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVj" + - "aWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQi" + - "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0" + - "aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBr" + - "M2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhl" + - "IGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVz" + - "IGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJy" + - "aWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBs" + - "aW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFy" + - "Z2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4K" + - "ClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVz" + - "IGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + - "bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9y" + - "ZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZp" + - "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywg" + - "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + - "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVy" + - "c2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBj" + - "YXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9i" + - "YWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + - "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJl" + - "c291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAg" + - "ICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIy" + - "IgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQg" + - "YXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fz" + - "cy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBj" + - "aGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkg" + - "aXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNl" + - "IGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95" + - "IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUg" + - "TlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBp" + - "bnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4K" + - "CiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICBy" + - "ZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgog" + - "ICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMj" + - "IFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykK" + - "CmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + - "JE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxs" + - "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + - "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + - "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + - "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + - "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNy" + - "ZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1" + - "bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4g" + - "YGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1l" + - "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + - "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + - "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + - "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + - "YW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAg" + - "ICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0o" + - "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4K" + - "ClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1" + - "dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRo" + - "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1p" + - "bnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBm" + - "b3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVu" + - "Y2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09m" + - "ZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52" + - "Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNv" + - "bHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAg" + - "ICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19Jwog" + - "IGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxl" + - "dGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQt" + - "c3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNo" + - "b3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgot" + - "LS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVw" + - "bG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAx" + - "OiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + - "dGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29t" + - "cHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBv" + - "biBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVn" + - "Z2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1" + - "Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0" + - "ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5n" + - "IHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVz" + - "dGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9u" + - "LXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoK" + - "UmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVw" + - "IDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1t" + - "YW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2Vz" + - "Cm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBp" + - "ZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFs" + - "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFn" + - "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + - "cmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1p" + - "c3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + - "IGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNp" + - "dCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJF" + + "dCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRz" + + "IEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVu" + + "dm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRz" + + "Lm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwg" + + "bnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNl" + + "VVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0" + + "byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBh" + + "Z2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMg" + + "YW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFt" + + "ZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5y" + + "b3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFv" + + "Lm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUg" + + "YWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRz" + + "LCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + + "aWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRl" + + "ck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlk" + + "ZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxh" + + "bmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAg" + + "ICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3Bl" + + "cmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0" + + "ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJx" + + "dWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1w" + + "bGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5k" + + "IENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxl" + + "IGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29t" + + "cHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNz" + + "ZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFu" + + "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + + "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + + "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + + "IHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFj" + + "ay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlk" + + "ZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + + "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + + "aXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlv" + + "biB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3Qg" + + "bGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBk" + + "b2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9s" + + "LXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRh" + + "cmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBh" + + "bmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhl" + + "IGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cg" + + "cmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNv" + + "bXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmls" + + "ZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3Jl" + + "IGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2Zm" + + "IGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2Fy" + + "bmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + + "bSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Ug" + + "Zm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVy" + + "aWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxv" + + "d3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRp" + + "ZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFu" + + "ZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJ" + + "TEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3Jl" + + "IHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21t" + + "YW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVz" + + "dGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25k" + + "aXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2Fz" + + "IHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRp" + + "b24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMs" + + "IC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAt" + + "LXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBk" + + "b3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250" + + "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJ" + + "IGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxl" + + "bnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNl" + + "IGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMs" + + "IGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkg" + + "cGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFy" + + "eSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjog" + + "YmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+" + + "IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEu" + + "cmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11" + + "c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBh" + + "cmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAg" + + "ICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlv" + + "bnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4g" + + "V2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBu" + + "ZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRv" + + "biB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9y" + + "IHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRo" + + "YXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxh" + + "bmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVz" + + "dC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4g" + + "Rm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxm" + + "LW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0" + + "aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3Jr" + + "bG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3Bv" + + "cnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90" + + "IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + + "IHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3Rp" + + "bmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRl" + + "LCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUg" + + "bGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVl" + + "c3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0" + + "ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZh" + + "dWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + + "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBh" + + "Z2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNh" + + "dGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0" + + "ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5k" + + "IHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52" + + "aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVj" + + "dGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVu" + + "Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1y" + + "ZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRl" + + "Y2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "RzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNG" + + "IGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjog" + + "IlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8g" + + "dGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1t" + + "YW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lm" + + "aWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlv" + + "biBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNk" + + "LXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBh" + + "cHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBi" + + "YXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlk" + + "ZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGlt" + + "aXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdl" + + "YCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpT" + + "b2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBi" + + "bG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1w" + + "L2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUu" + + "eWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxl" + + "LmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8" + + "cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRo" + + "ZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + + "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + + "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + + "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNv" + + "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAg" + + "IG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFw" + + "cGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3Mt" + + "YmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hh" + + "bmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlz" + + "IG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBl" + + "eHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBm" + + "cm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5W" + + "Q0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5z" + + "dGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgoj" + + "IyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVn" + + "aXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAg" + + "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBT" + + "dGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpg" + + "YGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJ" + + "X0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiRO" + + "R0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBz" + + "ZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + + "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0" + + "cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxs" + + "U2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBo" + + "ZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTog" + + "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + + "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + + "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + + "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + + "ZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAg" + + "ICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJl" + + "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpU" + + "aGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRl" + + "IGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUg" + + "Y2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9y" + + "IGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNp" + + "ZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZg" + + "LiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNm" + + "IGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1" + + "bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAg" + + "ICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBk" + + "b25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRl" + + "IHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5" + + "c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91" + + "bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0t" + + "CgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxv" + + "eW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTog" + + "RGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rl" + + "ci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1" + + "dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24g" + + "ZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dp" + + "bmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNr" + + "LWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVy" + + "CgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + + "eWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0" + + "aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3Rl" + + "ciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12" + + "YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJl" + + "cGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAz" + + "OiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFu" + + "YWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpu" + + "b3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRl" + + "bnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBp" + + "bnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + + "ZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2Vk" + + "IHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJp" + + "ZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNz" + + "aW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBh" + + "ZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNP" + + "TkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + + "X0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZp" + + "ZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJp" + + "ZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAn" + + "KG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8" + + "dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1" + + "cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xs" + + "b3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhl" + + "biByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0t" + + "CgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpU" + + "aGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdh" + + "cyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUg" + + "bmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52" + + "b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0n" + + "KQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5k" + + "IGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3Ru" + + "YW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3Jk" + + "cyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFu" + + "ZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBv" + + "cmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3Vm" + + "Zml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0" + + "YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3Qg" + + "R2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVl" + + "czogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01T" + + "LCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRv" + + "bWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBh" + + "bmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHku" + + "IFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21t" + + "YW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hv" + + "cnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRH" + + "QVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lk" + + "ZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRl" + + "cyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91" + + "dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQg" + + "c3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRp" + + "bWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQg" + + "XAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVy" + + "YXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAt" + + "LXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVu" + + "Y2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29u" + + "ZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5C" + + "YW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1k" + + "ZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRz" + + "LXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQg" + + "cG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + + "YwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8Cnwt" + + "LS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5h" + + "dHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + + "YCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBl" + + "c3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRl" + + "ciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2" + + "YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRk" + + "b24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFs" + + "IG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + + "ZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0" + + "LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5l" + + "bmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhl" + + "IExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5" + + "LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFj" + + "ayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3" + + "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5u" + + "dmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNz" + + "IChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCBy" + + "ZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2" + + "ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9" + + "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUg" + + "c2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJl" + + "Z2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRv" + + "ZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmlu" + + "ZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4K" + + "CiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVu" + + "ZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUg" + + "dmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9u" + + "bWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRp" + + "b24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEkt" + + "Z2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1w" + + "cm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9m" + + "aWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1" + + "dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFu" + + "ZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJl" + + "cG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1h" + + "dGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0" + + "ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9y" + + "CmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJv" + + "bm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lz" + + "dHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBm" + + "b3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJl" + + "YWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBj" + + "YW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFu" + + "ZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZv" + + "eS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3" + + "YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBj" + + "b21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0" + + "aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0" + + "aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hv" + + "c2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgog" + + "IGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNl" + + "cnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZp" + + "Y2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNT" + + "ZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2Vydmlj" + + "ZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNl" + + "VVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlv" + + "blNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3By" + + "b3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5s" + + "b2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFj" + + "ZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1l" + + "OiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25h" + + "bWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgog" + + "ICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + + "eQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgog" + + "ICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6" + + "IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBn" + + "cnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtl" + + "ci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0" + + "cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVu" + + "YWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNl" + + "bGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igog" + + "ICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21h" + + "aW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAg" + + "IG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBh" + + "bmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFz" + + "aAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklM" + + "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + + "PgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklM" + + "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + + "PgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3Ms" + + "IGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05G" + + "SUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igpp" + + "bnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdh" + + "dGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRl" + + "d2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hv" + + "c3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRl" + + "d2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+Igpp" + + "Y21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWlu" + + "IGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9u" + + "bHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0" + + "YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBp" + + "cyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBj" + + "b21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVy" + + "IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAg" + + "Q0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRy" + + "ZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBO" + + "VkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1u" + + "dmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "IGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + + "CgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRo" + + "ZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBL" + + "VUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5k" + + "cy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5Cndo" + + "ZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMj" + + "IENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJz" + + "dC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lz" + + "dHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + + "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + + "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVy" + + "LW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "L291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0" + + "ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNm" + + "LWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBs" + + "YWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + + "bWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0t" + + "a3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9u" + + "PiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21w" + + "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0t" + + "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + + "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0" + + "aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxl" + + "IGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4g" + + "RG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1m" + + "aWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9s" + + "LXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNv" + + "bnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBj" + + "b250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVm" + + "ZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52" + + "Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZApl" + + "aXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBh" + + "bmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + + "KS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5h" + + "bWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1u" + + "IGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "cm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJh" + + "dG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBu" + + "dmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1o" + + "ZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVh" + + "cmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUg" + + "dGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wg" + + "cGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2" + + "ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVz" + + "ZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hl" + + "dGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + + "b24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFi" + + "b3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ug" + + "d2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hp" + + "bmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1p" + + "c21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJp" + + "ZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0" + + "aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVz" + + "IGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVw" + + "IGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZp" + + "Zz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1" + + "c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1p" + + "ZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5k" + + "IGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0" + + "aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3Qg" + + "Y2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4g" + + "UmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1" + + "dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJF" + "Q09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + "L3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + - "SUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29u" + - "ZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFt" + - "YmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1F" + - "ICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0" + - "c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJl" + - "dHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZv" + - "bGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0" + - "aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgot" + - "LS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UK" + - "ClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIg" + - "d2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRo" + - "ZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBl" + - "bnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + - "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBh" + - "bmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + - "dG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNv" + - "cmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAg" + - "YW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVt" + - "cG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBz" + - "dWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhv" + - "c3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVj" + - "dCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFs" + - "dWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklD" + - "TVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIg" + - "ZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9u" + - "IGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxs" + - "eS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNv" + - "bW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtz" + - "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + - "JEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + - "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91" + - "dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3By" + - "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91" + - "dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0t" + - "dGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2Fp" + - "dCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9w" + - "ZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5" + - "IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5k" + - "ZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBj" + - "b25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3Bl" + - "bkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5h" + - "dHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFz" + - "ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + - "eW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwK" + - "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwg" + - "bmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHks" + - "IGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91" + - "dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFs" + - "IHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBh" + - "ZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9u" + - "YWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24g" + - "YW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVl" + - "c3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxt" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0" + - "aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5p" + - "dHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0" + - "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3" + - "YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5" + - "IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25z" + - "Lm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jl" + - "c3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFs" + - "IHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBo" + - "YXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFt" + - "ZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAA" + - "AAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + - "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFy" + - "ZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4g" + - "cmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFu" + - "ZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21i" + - "aW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUg" + - "ZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmls" + - "ZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmly" + - "b25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJh" + - "dGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENM" + - "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHBy" + - "b2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQt" + - "YXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUg" + - "cmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQg" + - "bWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBm" + - "b3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZp" + - "cm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVn" + - "aXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + - "IGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUt" + - "cmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhl" + - "IGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5j" + - "b20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBs" + - "YW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVu" + - "dm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0" + - "ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhl" + - "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVz" + - "IHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlz" + - "IHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3" + - "aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + - "CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNm" + - "U2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0" + - "c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2" + - "aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZp" + - "Y2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0" + - "aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBj" + - "cHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVy" + - "LmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNw" + - "YWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25h" + - "bWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7" + - "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6" + - "CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + - "d2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6" + - "CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1l" + - "czogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAg" + - "IGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29y" + - "a2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6" + - "IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAg" + - "ZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAg" + - "c2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + - "c3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1k" + - "b21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + - "CiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRv" + - "bWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + - "ICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3" + - "IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBi" + - "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + - "aWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + - "aWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVz" + - "cywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NP" + - "TkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + - "Cmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8" + - "Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlf" + - "aG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdh" + - "dGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4i" + - "CmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRh" + - "aW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMg" + - "b25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hv" + - "c3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJl" + - "IGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhl" + - "IGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFz" + - "aAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0" + - "ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwK" + - "ICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAog" + - "IE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRv" + - "LW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpg" + - "YGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20g" + - "dGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwg" + - "YEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1h" + - "bmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkK" + - "d2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoK" + - "IyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZp" + - "cnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVn" + - "aXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + - "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0" + - "ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9u" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNp" + - "c3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52" + - "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + - "cGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUu" + - "eWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + - "LS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdp" + - "b24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkg" + + "SUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdg" + + "IGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUK" + + "ZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVj" + + "dGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVu" + + "dGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJ" + + "RC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNv" + + "bXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUt" + + "cmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhl" + + "IHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxh" + + "bi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29t" + + "cHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUg" + + "cmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJl" + + "YWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBj" + + "b25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJl" + + "dmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkg" + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3Ry" + - "YXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFi" + - "bGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tT" + - "LiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVs" + - "bWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRy" + - "b2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUK" + - "Y29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRl" + - "IGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBy" + - "ZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBg" + - "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRk" + - "CmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRz" + - "IGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + - "bWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQg" + - "bmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lk" + - "ZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUg" + - "LW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3Bl" + - "cmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1u" + - "IG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30n" + - "PWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBU" + - "ZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9y" + - "ZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJv" + - "bCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNl" + - "cnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHBy" + - "ZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3" + - "aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + - "dGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQg" + - "YWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + - "ZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRj" + - "aGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3Ig" + - "bWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZl" + - "cmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJt" + - "YXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFu" + - "dXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxN" + - "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29u" + - "ZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1j" + - "bHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBh" + - "bmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3Ry" + - "YXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFj" + - "dCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVg" + - "LiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29t" + - "cHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktV" + - "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJ" + - "R2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFu" + - "ZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3Vi" + - "ZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAK" + - "dW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVy" + - "IElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUg" + - "Y29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + - "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + - "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + - "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21w" + - "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0" + - "aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1w" + - "bGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBj" + - "b21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + - "ZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3Rlciwg" + - "cmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBw" + - "cmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + - "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2Et" + - "aWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + - "ICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + - "ICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBj" + - "bHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0" + - "ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVy" + - "IG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoK" + - "UmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdl" + - "ZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFs" + - "bCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUK" + - "CiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1l" + - "c3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRz" + - "IChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRz" + - "IC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEg" + - "c3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJ" + - "bWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVB" + - "RFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8x" + - "ICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoK" + - "YGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAx" + - "IFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGlt" + - "YWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMg" + - "aW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNw" + - "YWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + - "bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5p" + - "bWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFn" + - "ZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBq" + - "c29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0" + - "IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9" + - "PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + - "bHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJl" + - "bmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2" + - "aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + - "KS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJh" + - "bywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNl" + - "cnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVs" + - "bC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0" + - "ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3It" + - "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlh" + - "bHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMg" + - "U3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoK" + - "YGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJF" + - "U1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEg" + - "ICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBp" + - "cyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBg" + - "YmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3Rl" + - "bQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMg" + - "LW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + - "IHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBj" + - "b250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNl" + - "PiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3Bl" + - "bkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVs" + - "bCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBq" + - "b2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGlu" + - "dGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIg" + - "ZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + - "ZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcg" + - "YnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + - "byAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0" + - "aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRh" + - "dGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkg" + - "Y2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkg" + - "SldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdp" + - "dGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9u" + - "X3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5v" + - "dCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRo" + - "ZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1p" + - "bml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5p" + - "dDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVu" + - "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1p" + - "Z3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNp" + - "bmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJh" + - "Y2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxp" + - "dmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYg" + - "dmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJh" + - "bzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMg" + - "ICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0" + - "ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWln" + - "cmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQg" + - "ZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwg" + - "T3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQg" + - "dGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBt" + - "aW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQg" + - "KHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0" + - "aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0" + - "aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMj" + - "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + - "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0K" + - "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMg" + - "Rml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNl" + - "ZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0g" + - "Y2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIK" + - "ICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgog" + - "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3Qg" + - "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + - "aXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBT" + - "eW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRT" + - "ICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBg" + - "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZh" + - "aWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMg" + - "Q29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykg" + - "ZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZh" + - "aWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFp" + - "bSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gq" + - "KjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gK" + - "ICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIu" + - "ICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMK" + - "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1" + - "ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAg" + - "a3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCBy" + - "ZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0" + - "ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0" + - "aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMg" + - "dG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4K" + - "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxu" + - "YW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBh" + - "bmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNl" + - "IG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQg" + - "aWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJl" + - "bGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVk" + - "CgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNy" + - "ZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1u" + - "IG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3Vi" + - "ZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNr" + - "IEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9" + - "bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJh" + - "c2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRz" + - "LnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3Qg" + - "anVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3Jl" + - "ZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hv" + - "dWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5" + - "IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGlu" + - "IGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3Jl" + - "ZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBk" + - "ZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVs" + - "ZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBh" + - "cGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + - "cyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoK" + - "IyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1" + - "Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJh" + - "dG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAg" + - "IDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250" + - "ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4g" + - "UmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApm" + - "b3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09O" + - "VEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + - "Q0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + - "Z2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0" + - "YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBz" + - "aCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVj" + - "dGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5z" + - "IiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBf" + - "ICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBi" + - "eSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2Yt" + - "YmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5h" + - "bWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFs" + - "aXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIg" + - "cmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAt" + - "ZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Np" + - "bmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + - "bCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQg" + - "ZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAog" + - "IC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVz" + - "CgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQg" + - "ZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + - "IERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxs" + - "YXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBj" + - "b250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZj" + - "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJh" + - "dG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBw" + - "dWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJh" + - "dG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51" + - "YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQj" + - "Y29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFu" + - "Z2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUg" + - "ZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVw" + - "bGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lz" + - "CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIk" + - "R0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFw" + - "aS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0" + - "IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNT" + - "ZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMg" + - "Rml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVy" + - "cmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0" + - "aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFk" + - "ZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + - "cm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1w" + - "bGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSku" + - "CgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNl" + - "IGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2Ug" + - "fCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0" + - "cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3Bl" + - "bmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + - "eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0" + - "ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3Mg" + - "fCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kg" + - "Z2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkg" + - "cmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVu" + - "Y2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sv" + - "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBO" + - "QVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5Lnlh" + - "bWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVu" + - "dHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVz" + - "IChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAg" + - "IyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFt" + - "ZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywg" + - "cGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1w" + - "bGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5l" + - "LXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNh" + - "LnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25m" + - "aWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAg" + - "ICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYt" + - "bmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBn" + - "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3Ry" + - "dWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52" + - "aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cg" + - "YXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0" + - "ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBl" + - "bmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + - "IyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0t" + - "LS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRz" + - "IHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNm" + - "LW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBl" + - "bmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5k" + - "cmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBp" + - "bmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMj" + - "IDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + - "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8" + - "IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0t" + - "bnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2Yg" + - "fCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24t" + - "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBj" + - "LXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkg" + - "fCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNl" + - "cnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVl" + - "c3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hl" + - "bG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vl" + - "ci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8g" + - "cmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwg" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhl" + - "cml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMg" + - "ZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9n" + - "bG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxt" + - "LmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRh" + - "bG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwK" + - "CnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0t" + - "LS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFy" + - "aW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZh" + - "YmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlm" + - "IGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5" + - "YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1l" + - "cmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNo" + - "YSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtl" + - "eSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6" + - "YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6" + - "CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhl" + - "IGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFt" + - "bAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5j" + - "eQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVl" + - "czoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1" + - "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVu" + - "IG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRl" + - "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + - "fX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlv" + - "dXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + - "ICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoK" + - "VXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRh" + - "bmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5h" + - "bWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hl" + - "biBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVk" + - "IHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNg" + - "IGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJv" + - "bSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1s" + - "YCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQt" + - "c3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlh" + - "bWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVs" + - "ZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQ" + - "YXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2Ag" + - "KHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVj" + - "dHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQg" + - "ZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxp" + - "Y2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + - "Y2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNp" + - "emVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMu" + - "ZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBO" + - "QVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipg" + - "Ci0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3Ry" + - "ZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5t" + - "ZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3Bl" + - "bmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBg" + - "b3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBv" + - "cGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVk" + - "KQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAo" + - "cmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFi" + - "bGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExM" + - "TSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRp" + - "bmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUg" + - "YWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAs" + - "IGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQ" + - "SQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBM" + - "TE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVk" + - "YC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2lu" + - "Z2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRv" + - "CmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBg" + - "YHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAg" + - "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + - "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FD" + - "b3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAg" + - "ZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVy" + - "OgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAg" + - "d29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBs" + - "aWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMu" + - "IFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24g" + - "cG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJ" + - "IEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxt" + - "LmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJs" + - "ZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Ig" + - "c2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBj" + - "b3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + - "cG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91" + - "dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRp" + - "b24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0g" + - "UmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + - "bnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQt" + - "YmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91" + - "dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwg" + - "c2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlh" + - "bWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAg" + - "ICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5" + - "Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNG" + - "X1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRo" + - "ZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBu" + - "ZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxp" + - "Y3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRl" + - "ZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJl" + - "ZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3Rh" + - "bGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVz" + - "dCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVt" + - "YWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWlu" + - "IHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJz" + - "aW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZl" + - "cnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9s" + - "LXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4g" + - "VmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBn" + - "ZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9k" + - "cyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicK" + - "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tl" + - "bmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5j" + - "b250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5k" + - "fScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFy" + - "Z3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2No" + - "ZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRp" + - "b24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xp" + - "YnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1k" + - "KS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdy" + - "b3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5n" + - "cmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1y" + - "b3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxs" + - "bS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERl" + - "c3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94" + - "eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRt" + - "aW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZj" + - "Zi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRp" + - "b25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVk" + - "IGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + - "bHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBV" + - "SSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3Rl" + - "ZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBu" + - "b3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMs" + - "IHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhl" + - "bS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYt" + - "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVl" + - "CmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0" + - "aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZy" + - "b20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "bnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMg" + - "T25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5p" + - "bykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + - "dCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2Yt" + - "dWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1p" + - "bmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFu" + - "ZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVM" + - "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWlu" + - "Z3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhl" + - "IGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxv" + - "eSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2Yt" + - "dWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVs" + - "IGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1" + - "YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4s" + - "IG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91" + - "dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVU" + - "BQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4g" + - "cHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUs" + - "IE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBl" + - "dmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJl" + - "IGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25l" + - "IG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBw" + - "cm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFu" + - "ZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8g" + - "YG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEu" + - "IEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9r" + - "eXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBr" + - "eXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAg" + - "LS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRl" + - "IGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0i" + - "PHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + - "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFj" + - "ZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + - "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + - "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + - "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + - "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5H" + - "QyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5h" + - "bWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0" + - "ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVy" + - "UG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoK" + - "ICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2Vj" + - "cmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNv" + - "dXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBu" + - "YW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIK" + - "ICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5h" + - "dHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAt" + - "ICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRl" + - "OgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAg" + - "ICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVs" + - "bHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAg" + - "aW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAg" + - "LWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFs" + - "bCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1w" + - "bGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShj" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUg" + - "bW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0" + - "IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpD" + - "cmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBj" + - "bHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBs" + - "eSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + - "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRl" + - "LXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNy" + - "ZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + - "c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3Jl" + - "dCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0" + - "ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFs" + - "bCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wt" + - "cGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAg" + - "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFt" + - "ZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+" + - "IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2Zc" + - "Lm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5" + - "dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFz" + - "dFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1" + - "bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3Ig" + - "bWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpg" + - "YGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRo" + - "IElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVy" + - "UmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVD" + - "UiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBw" + - "dWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoq" + - "OiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHks" + - "IGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGls" + - "bCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8g" + - "cG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMg" + - "YXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1l" + - "c3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1" + - "bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMj" + - "IFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0" + - "cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpU" + - "aGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlz" + - "dHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + - "ZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcI" + - "S0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAKBdOyVKEAAAShAAABIACQAAAAAAAAAAAAAAAAAA" + - "AGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAj" + - "AAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAMCT5iMkMAADJDAAANAAJAAAAAAAAAAAAAABWgwAAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQDBsWmYzw8AAM8PAAA3AAkAAAAAAAAAAAAAAIqQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAx6AAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDS" + - "Q9wEGCUAABglAAA3AAkAAAAAAAAAAAAAANa6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+" + - "DgAAvg4AAD0ACQAAAAAAAAAAAAAAXOAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnf" + - "J1YpAABWKQAAOgAJAAAAAAAAAAAAAACO7wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5" + - "yAcAAMgHAAA5AAkAAAAAAAAAAAAAAFUZAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQh" + - "AADkIQAALgAJAAAAAAAAAAAAAACNIQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBbOvgYtiQAALYkAAAwAAkAAAAA" + - "AAAAAAAAANZDAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAC/t/KAYPAAAGDwAAMgAJAAAAAAAAAAAAAADzaAEA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAsbyDyetRAADrUQAALQAJAAAAAAAAAAAAAABieAEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhALM+PWYLHwAACx8AADcACQAAAAAAAAAAAAAAscoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "EcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAAq6gEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJ" + - "AAAAAAAAAAAAAADWTAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMv" + - "ZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAA" + - "AAAAAIujAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAHDMAgBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAA" + - "AAAAAAAAAAAABf0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAA" + - "AAAAAAAAAAAALC4DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAA" + - "uQcAAD8ACQAAAAAAAAAAAAAAsVgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWo" + - "ABYAAAAWAAA+AAkAAAAAAAAAAAAAAOBgAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAABV" + - "dwMAAAA=" + "CiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0t" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMt" + + "dXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAog" + + "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlk" + + "IDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1j" + + "b250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52" + + "IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAg" + + "ZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + + "LS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1" + + "c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVy" + + "cyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBu" + + "byBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJl" + + "Y2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQg" + + "c3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwg" + + "cG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgoj" + + "IFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNw" + + "YWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAo" + + "bW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAt" + + "biA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNw" + + "ZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRl" + + "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1h" + + "Z2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZ" + + "ICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAg" + + "ICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBg" + + "YHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBV" + + "bmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFn" + + "ZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGlu" + + "IHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFj" + + "ZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwg" + + "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + + "Z2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQ" + + "dWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNv" + + "bnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBt" + + "aXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBj" + + "cmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + + "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxu" + + "YW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5j" + + "ZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlh" + + "IGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCku" + + "CgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8s" + + "IGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2" + + "aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwt" + + "c2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUg" + + "YW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNy" + + "ZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxz" + + "CiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5" + + "bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBg" + + "YGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNU" + + "QVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAg" + + "MCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMg" + + "dGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJh" + + "c2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0K" + + "CiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1u" + + "IHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2" + + "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29u" + + "dGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5C" + + "YW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwg" + + "aXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9i" + + "IGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRl" + + "cnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRl" + + "c3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3Rs" + + "IGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0" + + "IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1" + + "dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAg" + + "a3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8g" + + "LS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgv" + + "and0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRl" + + "ZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNs" + + "dXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpX" + + "S1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRo" + + "IGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9w" + + "dWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3Qg" + + "dmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUg" + + "dmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5p" + + "dGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6" + + "MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJh" + + "by5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdy" + + "YXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5n" + + "IFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNr" + + "YC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZl" + + "IEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZh" + + "bHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86" + + "CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAg" + + "ICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVt" + + "IG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3Jh" + + "dGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZy" + + "b20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9w" + + "ZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRo" + + "ZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWlu" + + "LgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0" + + "aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhl" + + "IHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGlu" + + "ZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMg" + + "U3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJU" + + "UyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBg" + + "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5k" + + "cmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZp" + + "eAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUg" + + "RXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNh" + + "c3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAg" + + "ICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAg" + + "ICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2" + + "YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0" + + "IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3lt" + + "cHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAg" + + "IEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoK" + + "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWls" + + "dXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENv" + + "bW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRp" + + "ZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWls" + + "YWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0g" + + "bm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6" + + "IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAg" + + "IGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAq" + + "KlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgog" + + "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZm" + + "aWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1" + + "YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVz" + + "b3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUK" + + "CiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGgg" + + "U1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRv" + + "IHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgoj" + + "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFt" + + "ZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5k" + + "IHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBu" + + "ZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0" + + "bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlm" + + "IG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxl" + + "YXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoK" + + "IyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVh" + + "dGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpg" + + "YGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBu" + + "dmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVj" + + "dGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBB" + + "UEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52" + + "Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNl" + + "NjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55" + + "YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1" + + "c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRl" + + "bnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3Vs" + + "ZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1" + + "bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBg" + + "YWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRl" + + "bnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVz" + + "dHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0" + + "ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBp" + + "LWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVh" + + "dGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMg" + + "c3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMj" + + "IyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNr" + + "IGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRv" + + "ciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAx" + + "MG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4" + + "dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJl" + + "bW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9y" + + "Y2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRF" + + "WFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNG" + + "QmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdl" + + "dCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEu" + + "bmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2gg" + + "LWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3Rs" + + "IC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIg" + + "LS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAi" + + "JENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkg" + + "Y2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJh" + + "Y2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1l" + + "c3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6" + + "ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJl" + + "cGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYg" + + "LSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5n" + + "IG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + + "Y29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4" + + "aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAt" + + "biBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoK" + + "Rmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZs" + + "b3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBE" + + "byBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0" + + "aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29u" + + "dGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "ZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Et" + + "b3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRv" + + "cgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVs" + + "bCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFs" + + "IG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2Nv" + + "bXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdl" + + "ZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRv" + + "bWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxh" + + "Y2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoK" + + "YGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAog" + + "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + + "VEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGku" + + "PGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBh" + + "ZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2Vy" + + "dmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZp" + + "eAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJp" + + "ZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlv" + + "bi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRy" + + "ZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJv" + + "dWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxl" + + "cy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoK" + + "IyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBm" + + "b3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwg" + + "U2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMg" + + "fAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5i" + + "YW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHks" + + "IG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3" + + "YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwg" + + "ZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdh" + + "dGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJl" + + "c291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + + "bWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNl" + + "CgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8" + + "LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFU" + + "UywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAg" + + "ICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1s" + + "LmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRz" + + "Lwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAo" + + "YWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMg" + + "UGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+" + + "LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBh" + + "c3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxh" + + "dGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1z" + + "dGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBs" + + "ICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55" + + "YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmln" + + "dXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAg" + + "ICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5h" + + "bWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xv" + + "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVj" + + "dHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmly" + + "b25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1" + + "dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVh" + + "ZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5k" + + "cG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMg" + + "R290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1s" + + "LmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0t" + + "LS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8" + + "IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1v" + + "cGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5k" + + "cyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJh" + + "LXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5o" + + "ZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAw" + + "Mi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVs" + + "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBo" + + "ZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52" + + "Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNl" + + "cnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1w" + + "cm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwg" + + "ZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2" + + "aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0" + + "LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxt" + + "LW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXIt" + + "cHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJl" + + "bGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVu" + + "dm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJp" + + "dDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZy" + + "b20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xv" + + "YmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5l" + + "bmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxv" + + "bmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8" + + "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + + "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlv" + + "dXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJp" + + "bGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBk" + + "aXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAg" + + "KFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJn" + + "ZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEq" + + "KjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkg" + + "dG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAg" + + "bGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoK" + + "SW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBg" + + "c2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwK" + + "IyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kK" + + "ICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6" + + "CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + + "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBv" + + "dmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDog" + + "KmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQog" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3Vy" + + "IG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAg" + + "ICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVz" + + "ZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5j" + + "ZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1l" + + "c3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4g" + + "YWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0" + + "byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBp" + + "cyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20g" + + "bG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAg" + + "LS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlh" + + "bWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNw" + + "ZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1s" + + "YCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVh" + + "c2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFz" + + "c2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0" + + "aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3Rz" + + "IGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4" + + "cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNh" + + "Q291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNh" + + "c3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXpl" + + "YAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVu" + + "YWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFU" + + "UwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAot" + + "IGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVh" + + "bS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVy" + + "Z2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5i" + + "YW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9w" + + "ZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3Bl" + + "bmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkK" + + "CiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJl" + + "Z2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxl" + + "ZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0g" + + "RnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5n" + + "IG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFk" + + "ZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBh" + + "ZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkK" + + "aW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExN" + + "IHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAu" + + "IERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmds" + + "ZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5" + + "YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICBy" + + "ZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAg" + + "ICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291" + + "bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVu" + + "YWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoK" + + "ICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdv" + + "cmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGlj" + + "YUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBU" + + "aGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBv" + + "cnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBH" + + "YXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5n" + + "YXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUg" + + "TlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNo" + + "YXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291" + + "bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJn" + + "YXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3Bv" + + "cnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRl" + + "ciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9u" + + "IGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJl" + + "cXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252" + + "Y2YvYmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJh" + + "bGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRz" + + "aWRlIHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNl" + + "dCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1s" + + "CmFwaToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAg" + + "IHNpZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4v" + + "PHJlcG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9T" + + "SURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUg" + + "c3RhY2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3" + + "IGNvbmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0" + + "aW5nIHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQg" + + "Y29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQg" + + "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxs" + + "YXRpb24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + + "bCBjb21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3Qg" + + "cmVtYWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFp" + + "biB2YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0" + + "aGUgd29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lv" + + "biBpcyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJz" + + "aW9uIGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1w" + + "bGFuZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZl" + + "cmlmeSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0" + + "IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1" + + "YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5k" + + "IGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29u" + + "dGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0n" + + "CmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdz" + + "IG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVt" + + "YSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9u" + + "IGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJy" + + "YXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCku" + + "CgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91" + + "cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jl" + + "c3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91" + + "dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0t" + + "YXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0" + + "cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlg" + + "IGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + + "LWlzc3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2Yt" + + "dWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9u" + + "YWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBi" + + "eQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1" + + "ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkg" + + "b25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQg" + + "c3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90" + + "IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBz" + + "a2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0u" + + "CgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5h" + + "bWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpg" + + "YGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhl" + + "IG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9t" + + "IGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52" + + "Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9u" + + "bHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8p" + + "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRv" + + "Y2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + + "R0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3Qg" + + "aXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVp" + + "OjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5n" + + "IHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQg" + + "YXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdy" + + "ZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBh" + + "ZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ks" + + "c3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVp" + + "CmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBp" + + "cyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJs" + + "aWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBv" + + "ciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRl" + + "LgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUA" + + "AQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1" + + "bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBO" + + "R0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZl" + + "cnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBj" + + "b25maWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBt" + + "aXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJv" + + "YWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUg" + + "cG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJh" + + "dG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBu" + + "dmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJ" + + "bnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2" + + "ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2" + + "ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0t" + + "a3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBj" + + "b250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0Mg" + + "cmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1l" + + "YCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVy" + + "UG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBv" + + "bGljeQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAg" + + "YmFja2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3Jl" + + "dC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3Vy" + + "Y2VzOgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFt" + + "ZXNwYWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAg" + + "ICAgICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRz" + + "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAi" + + "dmF1bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToK" + + "ICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAg" + + "ICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxz" + + "ZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGlt" + + "YWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJh" + + "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1m" + + "IGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwg" + + "dGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxh" + + "bmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1v" + + "ZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBp" + + "bnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3Jl" + + "YXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1" + + "c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkg" + + "LWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + + "aW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3" + + "b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0" + + "czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNl" + + "IHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQg" + + "dG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUg" + + "bmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwg" + + "Zmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBs" + + "YW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1v" + + "IGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUi" + + "OiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + + "cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5u" + + "dmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZl" + + "cm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RU" + + "aW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxs" + + "ZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1p" + + "cnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBg" + + "CgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJ" + + "QU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJl" + + "Z2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Ig" + + "d2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVs" + + "bCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjog" + + "R0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBh" + + "bmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwg" + + "aW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBv" + + "bGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFw" + + "cGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNw" + + "YWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5u" + + "aW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQ" + + "b2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMK" + + "IyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhl" + + "IHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3Rz" + + "IHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0" + + "LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtC" + + "NagAFgAAABYAAFBLAQIUABQACAAAAAAAIQAaCAGFShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABk" + + "YXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsLppRuJiAADiYgAAIwAJ" + + "AAAAAAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAQ8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAADPcwAAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhADAk+YjJDAAAyQwAADQACQAAAAAAAAAAAAAAVoMAAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAwbFpmM8PAADPDwAANwAJAAAAAAAAAAAAAACKkAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU" + + "3o00nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAAMegAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPc" + + "BBglAAAYJQAANwAJAAAAAAAAAAAAAADWugAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4A" + + "AL4OAAA9AAkAAAAAAAAAAAAAAFzgAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + + "L2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALRJ3ydW" + + "KQAAVikAADoACQAAAAAAAAAAAAAAju8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgH" + + "AADIBwAAOQAJAAAAAAAAAAAAAABVGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA" + + "5CEAAC4ACQAAAAAAAAAAAAAAjSEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "dGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAWzr4GLYkAAC2JAAAMAAJAAAAAAAA" + + "AAAAAADWQwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAv7fygGDwAABg8AADIACQAAAAAAAAAAAAAA82gBAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAL56bTNbUgAAW1IAAC0ACQAAAAAAAAAAAAAAYngBAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQCzPj1mCx8AAAsfAAA3AAkAAAAAAAAAAAAAACHLAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHD" + + "FJNJYgAASWIAACwACQAAAAAAAAAAAAAAmuoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAA" + + "AAAAAAAAAAAARk0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2" + + "YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAA" + + "AAD7owIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAADgzAIAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAA" + + "AAAAAAAAAHX9AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAA" + + "AAAAAAAAAJwuAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkH" + + "AAA/AAkAAAAAAAAAAAAAACFZAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAW" + + "AAAAFgAAPgAJAAAAAAAAAAAAAABQYQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAxXcD" + + "AAAA" var ( skillDataOnce sync.Once From 1d44b71980b42994e3f1973f6b98803e5085f954 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:40:44 +0530 Subject: [PATCH 078/127] fix(nvcf-cli): keep the credential lookup out of tag discovery round-trip budget so a slow helper cannot starve the NGC key Signed-off-by: rohithb --- .../internal/selfhosted/validatortag.go | 38 ++++++++++++------- .../internal/selfhosted/validatortag_test.go | 24 ++++++++++++ 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 6dfa083816..7161d70a03 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -42,13 +42,14 @@ const ( // Wall-clock budget for cache freshness. Preflight is rarely re-run more // often than this, and the cluster-validator's rc cadence is multi-day. validatorTagCacheTTL = 1 * time.Hour - - // Hard upper bound on the registry round trips of tag discovery, so a - // slow registry cannot stall preflight. When it trips, an untagged image - // is reported as unresolved rather than launched. - validatorTagFetchTimeout = 5 * time.Second ) +// validatorTagFetchTimeout is a hard upper bound on the registry round trips +// of tag discovery, so a slow registry cannot stall preflight. When it trips, +// an untagged image is reported as unresolved rather than launched. A var so +// tests can shorten it. +var validatorTagFetchTimeout = 5 * time.Second + // Restrict to X.Y.Z or X.Y.Z-rc.N tags; excludes sigstore metadata // (sha256-*.sig/sbom/vex) and commit-SHA pre-releases (X.Y.Z-vSHA). var validatorTagPattern = regexp.MustCompile(`^\d+\.\d+\.\d+(-rc\.\d+)?$`) @@ -84,9 +85,7 @@ func ResolveLatestValidatorTag(ctx context.Context, baseImage string) (string, b return fmt.Sprintf("%s/%s:%s", registry, repo, cached), true } - fetchCtx, cancel := context.WithTimeout(ctx, validatorTagFetchTimeout) - defer cancel() - tags, err := fetchValidatorTags(fetchCtx, registry, repo) + tags, err := fetchValidatorTags(ctx, registry, repo) if err != nil || len(tags) == 0 { return "", false } @@ -175,12 +174,20 @@ func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, e return doc.Tags, nil } +// fetchWithBearer GETs rawURL, anonymously first and, on a 401, with a Bearer +// token for the run's local credential. Its registry round trips share +// validatorTagFetchTimeout. Reading the credential does not spend it: a helper +// waiting on a keychain prompt or a pinentry is bounded on its own, and the +// NGC key it gives way to must still have time to reach the registry. func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte, error) { client := newRegistryHTTPClient(validatorTagFetchTimeout) + start := time.Now() + anonCtx, cancelAnon := context.WithTimeout(ctx, validatorTagFetchTimeout) + defer cancelAnon() // First attempt without auth so anonymous-pullable registries work. - resp, err := doRegistryRequest(ctx, client, func() (*http.Request, error) { - return http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) + resp, err := doRegistryRequest(anonCtx, client, func() (*http.Request, error) { + return http.NewRequestWithContext(anonCtx, http.MethodGet, rawURL, nil) }) if err != nil { return nil, err @@ -196,25 +203,28 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte // Capture the auth challenge before closing. wwwAuth := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) resp.Body.Close() + spent := time.Since(start) creds := registryCredentialsFrom(ctx) cred, hasCred, _ := creds.lookup(ctx, registry) + authCtx, cancelAuth := context.WithTimeout(ctx, validatorTagFetchTimeout-spent) + defer cancelAuth() var credential *registryCredential if hasCred { credential = &cred } - token, err := exchangeBearerToken(ctx, client, registry, repo, wwwAuth, credential) + token, err := exchangeBearerToken(authCtx, client, registry, repo, wwwAuth, credential) if hasCred && isRejectedExchange(err) { if next, ok := creds.rejected(registry, cred); ok { - token, err = exchangeBearerToken(ctx, client, registry, repo, wwwAuth, &next) + token, err = exchangeBearerToken(authCtx, client, registry, repo, wwwAuth, &next) } } if err != nil { return nil, err } - resp, err = doRegistryRequest(ctx, client, func() (*http.Request, error) { - req, err := http.NewRequestWithContext(ctx, http.MethodGet, rawURL, nil) + resp, err = doRegistryRequest(authCtx, client, func() (*http.Request, error) { + req, err := http.NewRequestWithContext(authCtx, http.MethodGet, rawURL, nil) if err == nil { req.Header.Set("Authorization", "Bearer "+token) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index 42c33d4a5a..c4606124ca 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -684,3 +684,27 @@ func TestResolveLatestValidatorTag_RejectedLoginGivesWayToTheNGCKey(t *testing.T assert.Equal(t, "nvcr.io/nvidia/cv:1.2.0", got) assert.Equal(t, []string{"rotated-out", "good-key"}, ngc.passwords()) } + +// A credential helper that outlasts the round trips' budget does not spend +// it: once the helper's own bound ends, the NGC key it gives way to still has +// the whole budget to reach the registry. +func TestResolveLatestValidatorTag_SlowHelperDoesNotSpendTheBudget(t *testing.T) { + withTempCacheDir(t) + ngc := newFakeNGC(t, "good-key") + dockerHome(t, `{"credsStore":"hang"}`) + bin := t.TempDir() + hang := filepath.Join(bin, "docker-credential-hang") + require.NoError(t, os.WriteFile(hang, []byte("#!/bin/sh\nsleep 30\n"), 0o755)) + t.Setenv("PATH", bin+string(os.PathListSeparator)+os.Getenv("PATH")) + t.Setenv("NGC_API_KEY", "good-key") + credentialHelperTimeout = time.Second + prev := validatorTagFetchTimeout + validatorTagFetchTimeout = 500 * time.Millisecond + t.Cleanup(func() { validatorTagFetchTimeout = prev }) + + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + got, ok := ResolveLatestValidatorTag(ctx, "nvcr.io/nvidia/cv") + require.True(t, ok) + assert.Equal(t, "nvcr.io/nvidia/cv:1.2.0", got) + assert.Equal(t, []string{"good-key"}, ngc.passwords()) +} From 311acc15d0d0fcb2d26db657d10d9546ff9f2ae6 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:45:39 +0530 Subject: [PATCH 079/127] fix(nvcf-cli): send no token scope for a one-segment stack repository, which nvcr.io refuses as malformed Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 5 + .../agentskill/skilldata_generated.go | 4312 +++++++++-------- .../internal/selfhosted/registry_cred.go | 7 + .../internal/selfhosted/registry_cred_test.go | 43 +- 4 files changed, 2210 insertions(+), 2157 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index a6eacc63b4..50073635fe 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -80,6 +80,11 @@ secret too, and the row says how to renew the login `docker` still sends. Each `--wait` poll reads the credentials again, so a login renewed while the run waits counts on the next poll. +The probe asks for pull access to the validator image's repository and to the +stack's image path: any path in `global.image.registry`, then +`global.image.repository`. A stack path of one segment, such as an org with no +team, is not sent as the scope, since `nvcr.io` refuses it. + Only a credential the registry rejects fails the run, and only for an NVIDIA registry the image or the stack names. After install a rejected credential is a warning, since the cluster pulls with its own pull secret. A registry this diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 6e4ee68993..21378d8300 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjA2MjAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjA5MDAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNWY4ZjAxZTI2YmZhZjA5ZTU0" + "MDQ0ZDY2NGQ3MjM3MzgyZjMwZjllZTZmYTZhZmQ2YWMyYWY5ZTdiYTVhZWI4IiwKICAgICAgInNp" + "emUiOiAzODQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzU5NjUwYzU1NTY5ZjY1" + - "Y2VjMmQyZjEwNzE5OTIyYzJjYzE5Mjc0ZjA3YmMxOWZmOWEzNjczYTc5NGQ5Yzg1IiwKICAgICAg" + - "InNpemUiOiAyMTA4MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MDhjZDVlMjQ0ODJjN2Nm" + + "ZWVlMGY1NDg3YTc3ZjAyNDQ2M2Q1MTVlN2ExZjhhNGE3YzBiZWE4NGY2MzY3ZTcwIiwKICAgICAg" + + "InNpemUiOiAyMTM2MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjEy" + "ODk1MTYzNmI4Y2EzNmExOTU4ZjRiNGRiZjZjODcxZWE2NWI4NmExNzVjZmJmZGU5MzFjMDVhODdk" + "ZmNlNWQiLAogICAgICAic2l6ZSI6IDc5NDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCBoIAYVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCKpUXqlKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1904,2163 +1904,2167 @@ const skillDataZipBase64 = "" + "bmQgdGhlIHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2Vu" + "ZHMuCkVhY2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEg" + "bG9naW4gcmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xs" + - "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + - "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + - "bWVzLiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNp" + - "bmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3Ry" + - "eSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywg" + - "YW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0" + - "aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMg" + - "YXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJl" + - "Z2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQg" + - "YXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJv" + - "bSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBD" + - "TEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcg" + - "a2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNr" + - "IHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBg" + - "aW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2ly" + - "ZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0" + - "cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBh" + - "bmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNG" + - "X0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRy" + - "aWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdh" + - "eSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2Ug" + - "fCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lf" + - "R0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3Bl" + - "bmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0" + - "cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZD" + - "Rl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdl" + - "Q2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4" + - "aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdF" + - "X0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BB" + - "Q0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXBy" + - "b2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBh" + - "Ym92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVz" + - "IG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQg" + - "aXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRl" + - "ZmF1bHQgaXMgbm90IHVzZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4K" + - "LSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55" + - "YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBm" + - "cm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAog" + - "IChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwg" + - "ZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVh" + - "ZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJs" + - "aWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAg" + - "YGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVk" + - "IGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQg" + - "bm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2lu" + - "ZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJk" + - "ZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5k" + - "IGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmlj" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVy" + - "LW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0g" + - "fAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBg" + - "LS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBs" + - "YW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdl" + - "cyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + - "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRv" + - "IG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdh" + - "dGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVS" + - "YCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmls" + - "dGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50" + - "cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + - "Q2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChy" + - "ZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFg" + - "IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBg" + - "LS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1l" + - "eGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0" + - "YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdl" + - "bmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxh" + - "YmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMt" + - "aW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBh" + - "cyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAg" + - "fCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRl" + - "ZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGlt" + - "bWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVu" + - "aXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlz" + - "KSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQt" + - "ZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0" + - "aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1p" + - "bWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVS" + - "SWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBv" + - "cnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10" + - "eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAg" + - "fAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5j" + - "ZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2th" + - "Z2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwg" + - "S3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdo" + - "ZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046" + - "VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxt" + - "LW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJp" + - "cz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGlt" + - "aXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGgg" + - "YFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5w" + - "dXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVz" + - "ZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlv" + - "cml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHku" + - "IExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFj" + - "Y291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92" + - "ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3Zl" + - "cnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBp" + - "bmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQg" + - "bW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNv" + - "bmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMg" + - "ZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2No" + - "YXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBg" + - "bGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29m" + - "X3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29u" + - "ZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBw" + - "b3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4g" + - "U3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhv" + - "dXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hl" + - "biBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1" + - "MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBp" + - "cyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQg" + - "TExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhl" + - "bG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1l" + - "IGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBT" + - "ZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9j" + - "YXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAu" + - "IFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVs" + - "IG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25z" + - "ZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vz" + - "c2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlv" + - "biB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwK" + - "fCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBu" + - "YW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+" + - "YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2Vu" + - "IGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9r" + - "ZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJl" + - "cGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlz" + - "IGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8Cnwg" + - "YC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3Vu" + - "dCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGlu" + - "Y3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoK" + - "SW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJp" + - "ZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3Ig" + - "YGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwg" + - "bWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9u" + - "IGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVu" + - "ZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwg" + - "RnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkg" + - "fCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAw" + - "XzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0t" + - "bWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3Qt" + - "Y29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0" + - "IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMg" + - "Y29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVg" + - "LXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRh" + - "YmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVp" + - "cmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAt" + - "LWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwg" + - "RXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlw" + - "ZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5I" + - "MTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkg" + - "ZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwg" + - "SGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRo" + - "IGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUg" + - "fCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAt" + - "LWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFN" + - "RVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1h" + - "LXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVu" + - "IGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hz" + - "IDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwg" + - "Q29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2Vj" + - "cmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJs" + - "ZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBN" + - "YXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1" + - "bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwg" + - "TWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVy" + - "IGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3Jh" + - "Y2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBg" + - "UFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRs" + - "ZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FU" + - "SU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUv" + - "XW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwg" + - "LSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVh" + - "dGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBh" + - "cnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFn" + - "cyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2Ny" + - "aXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRy" + - "eSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0" + - "cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlk" + - "IFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIvnptM1tSAABb" + - "UgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5n" + - "CgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRp" + - "b24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRz" + - "IChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBt" + - "YXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAg" + - "YXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEg" + - "YGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0" + - "b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3Rl" + - "IHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBw" + - "cmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + - "b24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0" + - "b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXBy" + - "ZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0" + - "YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFz" + - "a3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRI" + - "YCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0" + - "aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNo" + - "L2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVz" + - "dGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRh" + - "dG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVk" + - "IHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywg" + - "YE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRv" + - "ci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUg" + - "Y2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNv" + - "dWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1h" + - "Z2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNz" + - "YWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0" + - "ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRzOiBOb3QgSW5z" + - "dGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVn" + - "IG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZv" + - "eS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0" + - "b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3QgRm91bmRgIHwg" + - "Q2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5vdCBuYW1lIG9u" + - "ZSB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRh" + - "Ijp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQt" + - "Y2xhc3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgIGluIHRoZSBz" + - "dGFjaydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1NgKSB0byB0aGUg" + - "Y2xhc3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + - "dXJlczogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxhbmUpIHwgTm8g" + - "bm9kZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVzLCBvciB0aGUg" + - "TlZJRElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwgSW5zdGFsbCBw" + - "ZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9w" + - "ZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1" + - "LW9wZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVkYCBhbG9uZSBp" + - "cyBhIHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNrIFRlcm1pbmF0" + - "aW5nOiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBkZWxl" + - "dGluZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9ydCBhIGRlbGV0" + - "aW9uIGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBob2xkcyBhIGZp" + - "bmFsaXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjogcmVhZCBga3Vi" + - "ZWN0bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9uc30nYCwgbGlz" + - "dCB3aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQsIGFuZCByZXNv" + - "bHZlIHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmluYWxpemVycyBv" + - "bmx5IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKFRlcm1p" + - "bmF0aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFsIGRlbGV0aW9u" + - "IGlzIHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0IGFuZCByZXJ1" + - "biBgY2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBgc3R1Y2sgVGVy" + - "bWluYXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAo" + - "SGVsbSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilgLCB3YXJuaW5n" + - "IHwgQW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3IgdGVhcmRvd24g" + - "bGVmdCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4gVGhlIG5leHQg" + - "YHVwYCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMgcnVubmluZywg" + - "cmVhZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5pc2ggaXQgd2l0" + - "aCBgaGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxlLW5hbWVzcGFj" + - "ZXNgOiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFtZXNwYWNlIHJ1" + - "bnMgbm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGlsbCBob2xkcyB2" + - "b2x1bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2ZXMgdGhlbS4g" + - "QSByZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0IG9ubHk6IGBr" + - "dWJlY3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAtbyBuYW1lIFx8" + - "IHhhcmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdub3JlLW5vdC1m" + - "b3VuZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVkIGNvbXBvbmVu" + - "dCBhbHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCByZXBvcnRz" + - "IGBubyBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBzdG9yZXMgcmVs" + - "ZWFzZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMgYEhFTE1fRFJJ" + - "VkVSYCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhlIGhlbG1maWxl" + - "IGVudmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBgbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5hbWVzcGFjZXMg" + - "YXJlIGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2FuIGFuIGFkZG9u" + - "IG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlv" + - "bjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gV2l0aCBgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrYCBvciBgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBzZXQgdG8gYSBsb2NhbCBz" + - "dGFjaywgZ2F0ZXMgY29tZSBmcm9tIGl0cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5kLCB3" + - "aGVuIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAgbmFtZXMgb25lLCBgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgOyBvdGhlcndpc2UgZnJvbSB0aGUgc3RhY2sgZGVmYXVsdHMsIHdoaWNoIGxlYXZl" + - "IGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52" + - "Y2YtdWlgIG9mZiB8IFBvaW50IHRoZSBzdGFjayBmbGFnIGF0IHRoZSBzdGFjayB5b3UgaW5zdGFs" + - "bCBmcm9tIGFuZCBwYXNzIHRoZSBzYW1lIGAtLWVudmAgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwg" + - "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWly" + - "ZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5g" + - "IG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0k" + - "SldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5v" + - "dGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBT" + - "dGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4v" + - "Lm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNz" + - "aW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tl" + - "biBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtl" + - "eSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIElu" + - "c3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18" + - "LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJh" + - "IFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFn" + - "ZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwK" + - "fCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95" + - "KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVz" + - "ZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwK" + - "fCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAt" + - "LWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52" + - "IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1" + - "ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3Ig" + - "ZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1p" + - "dCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBu" + - "dmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6" + - "IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBp" + - "biBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBp" + - "bWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAg" + - "fAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + - "aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBI" + - "VFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0" + - "LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1" + - "c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1" + - "biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBh" + - "IGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNs" + - "dXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3" + - "aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNs" + - "dXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1" + - "bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNv" + - "bmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFj" + - "a2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRl" + - "cGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcg" + - "KGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0" + - "aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + - "ZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1" + - "c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMg" + - "YE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2Vl" + - "cHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdp" + - "c3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVu" + - "dGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHBy" + - "b3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRl" + - "bnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQg" + - "NSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJl" + - "c2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBu" + - "dmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlh" + - "dGVseSB8ClBLBwizPj1mCx8AAAsfAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1l" + - "OiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFs" + - "bCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRl" + - "IGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBw" + - "cm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywg" + - "cHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFu" + - "ZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0" + - "ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBz" + - "ZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJv" + - "bm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgps" + - "aWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEu" + - "MS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRj" + - "aGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVu" + - "Z0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2Vs" + - "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + - "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + - "c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50" + - "ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNo" + - "YW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1h" + - "bmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFu" + - "ZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQog" + - "IGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBr" + - "dWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1N" + - "YW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBO" + - "VkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMj" + - "IEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRl" + - "YXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52" + - "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5k" + - "IENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + - "LCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + - "Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNr" + - "IGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNw" + - "bGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNm" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29u" + - "dHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmly" + - "b25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0" + - "YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxl" + - "LmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0" + - "YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3Np" + - "bmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gK" + - "bmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJz" + - "aW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9s" + - "LXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9v" + - "dC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQg" + - "Y29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9u" + - "ICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2" + - "ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBN" + - "dXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGll" + - "bnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9s" + - "LXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "awpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1w" + - "bApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+" + - "LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRo" + - "ZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEu" + - "Y29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVl" + - "cyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3Qg" + - "Y29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNl" + - "LnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpn" + - "bG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBw" + - "ZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRz" + - "LnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFz" + - "ZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRp" + - "Y2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtl" + - "eXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3Jh" + - "Z2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4g" + - "dGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFy" + - "eSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBT" + - "ZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQt" + - "dmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2Vz" + - "IGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBg" + - "YGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUg" + - "bmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkg" + - "LWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5n" + - "LiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGlu" + - "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + - "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + - "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0t" + - "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + - "R0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNl" + - "Y3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byBy" + - "ZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3Jl" + - "dHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJv" + - "dGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQg" + - "Zm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFy" + - "dHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNl" + - "cGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRv" + - "Y2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVs" + - "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tF" + - "WSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwg" + - "XAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8" + - "YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVs" + - "bSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVs" + - "dGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBO" + - "R0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5k" + - "ZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4g" + - "bnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVu" + - "dGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRo" + - "ZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6" + - "IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1" + - "bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4g" + - "dGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1" + - "bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5g" + - "IHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBz" + - "dG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBt" + - "aXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVs" + - "bCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNh" + - "bGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0" + - "aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBz" + - "ZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2Fk" + - "IGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRo" + - "ZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBv" + - "aW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6" + - "CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91" + - "ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAg" + - "IHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVk" + - "IHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAg" + - "ICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZl" + - "c3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9u" + - "LU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZj" + - "ci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAg" + - "ID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJl" + - "cG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2Ug" + - "YXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNl" + - "c2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBz" + - "dGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0" + - "byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4g" + - "YGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWIt" + - "cGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0u" + - "c291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBj" + - "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRo" + - "ZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5l" + - "ZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXIt" + - "bmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBu" + - "YW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2Vj" + - "cmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dp" + - "biBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52" + - "Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBm" + - "dW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0" + - "aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xk" + - "cyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBt" + - "aXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2Jh" + - "bC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFw" + - "aS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9h" + - "ZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdB" + - "VEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdh" + - "dGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + - "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEg" + - "aG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24g" + - "ZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5" + - "IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBh" + - "cyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJF" + - "U1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2Ug" + - "eW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRF" + - "V0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFs" + - "LmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5h" + - "dGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0" + - "LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VO" + - "Vj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RI" + - "IENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmls" + - "ZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3Nh" + - "bmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VS" + - "b2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25s" + - "eQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMg" + - "dGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdp" + - "dGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+" + - "IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERF" + - "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVs" + - "bWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxl" + - "Y3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0t" + - "LS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFU" + - "UywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1z" + - "ZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3Rhcnks" + - "IGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBH" + - "YXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9u" + - "IHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91" + - "dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2Jz" + - "ZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBz" + - "ZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMj" + - "IyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMg" + - "ZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2lu" + - "Zwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZD" + - "RiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFj" + - "ayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUg" + - "ZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdh" + - "eWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBj" + - "b21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0u" + - "CgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpg" + - "ZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlH" + - "YXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUg" + - "ZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBp" + - "cwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9z" + - "dCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0Nv" + - "bmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5" + - "Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5" + - "IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRl" + - "ciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJl" + - "bGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1n" + - "YXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhl" + - "IHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + - "bWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5p" + - "dHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + - "c3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFy" + - "ZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFm" + - "ZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVz" + - "LgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9u" + - "YWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + - "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + - "ZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90" + - "IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBz" + - "a2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVu" + - "YXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoK" + - "Rm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBh" + - "bmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZj" + - "Zi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + - "ZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRl" + - "LXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9u" + - "ZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Ig" + - "c2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3" + - "aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0" + - "aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAg" + - "dGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4K" + - "CkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZv" + - "ciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQg" + - "dGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRl" + - "IHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0" + - "aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + - "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3Bl" + - "OiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVs" + - "bWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2" + - "ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1z" + - "ZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlv" + - "bmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFu" + - "ZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1h" + - "bmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRv" + - "cnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNs" + - "ZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNl" + - "cnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSBy" + - "ZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNl" + - "cyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVz" + - "dHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBl" + - "eHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFj" + - "ay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + - "dWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9y" + - "dCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3Bh" + - "Y2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1l" + - "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMg" + - "U3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBp" + - "biBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNm" + - "LXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1p" + - "Z25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVj" + - "dGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8" + - "ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBD" + - "aGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBm" + - "b3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNz" + - "YW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdl" + - "YCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhl" + - "IHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6" + - "YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + - "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + - "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + - "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + - "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + - "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + - "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + - "OgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAg" + - "ICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5" + - "Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVw" + - "ZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUg" + - "dGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNp" + - "bmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBg" + - "CgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50" + - "aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxl" + - "IGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhl" + - "IGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkg" + - "Qm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8Cnwt" + - "LS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2Vz" + - "IHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlv" + - "biBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVk" + - "IGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAg" + - "U2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+" + - "LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19J" + - "TUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2Vy" + - "dmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2Vj" + - "cmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwg" + - "YnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFz" + - "ZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJh" + - "cCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNv" + - "bi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0Vf" + - "V0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9m" + - "IGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1l" + - "ZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFs" + - "dWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9j" + - "a2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1" + - "dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwg" + - "b3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+" + - "Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0" + - "dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQg" + - "Zm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2Fy" + - "IHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJk" + - "bGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFk" + - "IG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29k" + - "aW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNr" + - "IHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50" + - "ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBr" + - "diBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2Vj" + - "cmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBl" + - "YXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4g" + - "ICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBp" + - "Y2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcp" + - "OiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9u" + - "IGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVu" + - "dCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFj" + - "Y291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2Vj" + - "cmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJv" + - "cmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRo" + - "ZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRp" + - "YWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNl" + - "IGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5q" + - "ZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4g" + - "VGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZp" + - "Z3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4g" + - "SW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0" + - "aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2" + - "ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBw" + - "dWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtl" + - "eT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFw" + - "cGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWlt" + - "YWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBw" + - "b2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBu" + - "dmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxu" + - "YW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + - "fScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVk" + - "IGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0" + - "aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwg" + - "c2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0o" + - "cmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3Rh" + - "dHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAg" + - "ICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRz" + - "IC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAK" + - "CiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8" + - "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1" + - "dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBl" + - "eGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNr" + - "IG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVj" + - "ayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2" + - "YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtu" + - "b3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3Bl" + - "bkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2Yg" + - "dGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdy" + - "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBh" + - "bnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRp" + - "c2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0" + - "aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2lu" + - "Zy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8" + - "CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxs" + - "IHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERC" + - "LWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3Rpbmcg" + - "dG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMg" + - "dG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRo" + - "ZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhl" + - "biByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5n" + - "YCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1" + - "YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJl" + - "bGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwg" + - "YGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNj" + - "b3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNy" + - "ZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVu" + - "a25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9v" + - "ayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVw" + - "YWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRo" + - "ZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4g" + - "dGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnkt" + - "dGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVs" + - "dCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2Rl" + - "ZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJl" + - "c29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5" + - "IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFu" + - "ZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1" + - "ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1p" + - "c21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJp" + - "dmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBg" + - "QVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8" + - "CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291" + - "bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVs" + - "ZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNh" + - "dXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNz" + - "ZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJl" + - "ZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhl" + - "IGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2Vx" + - "dWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3du" + - "IGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBw" + - "b2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0" + - "bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25w" + - "YXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlz" + - "IGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNl" + - "IHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBp" + - "dCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29r" + - "KToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1i" + - "b290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBp" + - "LWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBg" + - "YAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRd" + - "KGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3Mu" + - "bnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtz" + - "cGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVu" + - "Y2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoK" + - "QWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0" + - "byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGlu" + - "dm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29u" + - "VVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBB" + - "V1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9w" + - "ZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFs" + - "bCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEu" + - "Mi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3Vi" + - "ZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2Nl" + - "ZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlm" + - "aWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2Rl" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBp" + - "cyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2" + - "ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29t" + - "cGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxl" + - "IHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ss" + - "IGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBj" + - "aGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNr" + - "aXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZp" + - "ZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4" + - "cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxp" + - "bmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVt" + - "cGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBt" + - "YW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBy" + - "dW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQg" + - "ZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUt" + - "ZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMg" + - "YXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2Vy" + - "ZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJ" + - "dCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRo" + - "ZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNr" + - "IG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52" + - "Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3Rl" + - "ciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUg" + - "Y29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byBy" + - "ZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJl" + - "cGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNw" + - "YWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNw" + - "YWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhl" + - "ciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVj" + - "dGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXpl" + - "cnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ci" + - "LAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNl" + - "cGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBj" + - "b21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRl" + - "bnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJv" + - "bC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1H" + - "YXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBp" + - "bnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmls" + - "ZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBr" + - "dWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRo" + - "IHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0" + - "cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0" + - "aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29t" + - "cHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBp" + - "bnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmws" + - "IGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3Ig" + - "dGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJf" + - "TkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJ" + - "TEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxN" + - "RklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmln" + - "IGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1o" + - "b3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5k" + - "IEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90" + - "IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5v" + - "dCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "RzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUg" + - "dG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxs" + - "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4g" + - "Zm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2Ug" + - "aGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRv" + - "Y2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + - "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJh" + - "biAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5H" + - "Q19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkg" + - "bG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkg" + - "cGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVp" + - "cmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBj" + - "aGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUg" + - "dHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5" + - "LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3Ig" + - "TlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQv" + - "LCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBm" + - "aWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBl" + - "eHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBk" + - "aWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVu" + - "ZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3Ry" + - "dWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1s" + - "LmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBh" + - "Z2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJU" + - "aGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMx" + - "LWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGlu" + - "c3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBj" + - "bHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9u" + - "IGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29u" + - "dHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0" + - "ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhl" + - "IGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50" + - "ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5l" + - "IGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUg" + - "dmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "LgoKVGhlIHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2Un" + + "cyByZXBvc2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBg" + + "Z2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBB" + + "IHN0YWNrIHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwg" + + "aXMgbm90IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9u" + + "bHkgYSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBv" + + "bmx5IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4g" + + "QWZ0ZXIgaW5zdGFsbCBhIHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0" + + "aGUgY2x1c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhp" + + "cwptYWNoaW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBh" + + "IG1pc3NpbmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHBy" + + "b2JlIGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgs" + + "IGlzIHNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3Ry" + + "eSB0aGF0IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1" + + "Y2gsIG5vdCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhl" + + "IHN0YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBF" + + "YWNoIG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3" + + "aW5zIG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVu" + + "diBhbmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jl" + + "c3MuZ2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJv" + + "dXRlczogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAs" + + "IGBuYXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBs" + + "bG1RdWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRF" + + "V0FZX05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4g" + + "QSBiYXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQg" + + "c2tpcHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGlu" + + "Z3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVX" + + "QVlfTkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9g" + + "IG9yIGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAg" + + "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhU" + + "RVJOQUxfQ09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNz" + + "YC4gV2hlbiBzZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMg" + + "aW5zdGVhZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFT" + + "U2AgfAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8" + + "CnwgT3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1p" + + "bWFnZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUg" + + "YWxzbyBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5" + + "CndoZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5h" + + "bWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0" + + "IGlzIG5vdCB1c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAu" + + "IGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0" + + "aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2Ug" + + "dGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGly" + + "ZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBj" + + "b21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxl" + + "Oi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMg" + + "Y29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0" + + "YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGly" + + "ZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0" + + "aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZj" + + "ci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1l" + + "IE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBg" + + "LS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVn" + + "aW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9u" + + "bHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBg" + + "ZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUg" + + "Y29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAg" + + "fCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBg" + + "LS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBj" + + "b21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFu" + + "ZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0" + + "ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWly" + + "ZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8Cnwg" + + "YC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdu" + + "b3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3Rz" + + "IHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2Ag" + + "fCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0" + + "ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBm" + + "b3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERV" + + "UkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0" + + "ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3Zl" + + "cnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0" + + "cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlh" + + "dGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czog" + + "YHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3" + + "YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUg" + + "RklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMu" + + "IEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2Ug" + + "SU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwg" + + "Q29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBP" + + "UlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBE" + + "RUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBg" + + "LS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENh" + + "biBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBM" + + "TE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVy" + + "bmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAt" + + "LWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAg" + + "fCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2Rl" + + "bCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVy" + + "aT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7" + + "IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwg" + + "YE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpT" + + "T04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29t" + + "bWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkg" + + "UFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dl" + + "ciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50" + + "LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlk" + + "ZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRl" + + "cy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5l" + + "IHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVs" + + "IHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcu" + + "dXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9z" + + "ZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2Nv" + + "bXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNv" + + "bmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29g" + + "LCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50" + + "b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRp" + + "dmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBv" + + "cnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3Vycyks" + + "IGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29t" + + "YmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAw" + + "LUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5k" + + "ZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBm" + + "dW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hh" + + "cnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVh" + + "dGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2Vydmlj" + + "ZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9u" + + "IHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUg" + + "ZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1l" + + "IGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQ" + + "SSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24g" + + "c3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBk" + + "YXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0t" + + "bGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08" + + "bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJl" + + "cGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1p" + + "dCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxp" + + "bWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNl" + + "IHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZh" + + "dWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxs" + + "bS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJp" + + "b3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5D" + + "QSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpT" + + "T04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdp" + + "dGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1D" + + "b25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFk" + + "YXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBs" + + "b3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAo" + + "ZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0" + + "aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgx" + + "MDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAg" + + "fAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1p" + + "bnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1" + + "cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBs" + + "aWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1" + + "dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVj" + + "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0" + + "YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3Rl" + + "cyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkg" + + "fCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUg" + + "R1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1w" + + "bGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJl" + + "cXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8x" + + "eGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1" + + "c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + + "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1p" + + "bWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJ" + + "IGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNr" + + "ZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5B" + + "TUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBh" + + "cmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVu" + + "Y2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAt" + + "LWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRh" + + "aW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMg" + + "TkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVu" + + "Y3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdh" + + "bGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBv" + + "bWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0" + + "aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZh" + + "dWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBl" + + "cmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhg" + + "IHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFz" + + "ayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAg" + + "fCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2Rl" + + "bC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8" + + "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + + "IHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZh" + + "Y3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBD" + + "b21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlv" + + "biB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5k" + + "cG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3Mg" + + "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlE" + + "YCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCIQ7Np1zUwAAc1MAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25v" + + "d24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBL" + + "ZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVR" + + "LTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRv" + + "IGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5" + + "LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVj" + + "a19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlz" + + "IHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUg" + + "dmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRz" + + "IHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + + "fC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3Mg" + + "YCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBv" + + "dGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJ" + + "bnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rv" + + "b2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBT" + + "YW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8" + + "CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2Nz" + + "L2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92" + + "YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBp" + + "bWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNl" + + "dCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNG" + + "X0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1h" + + "Z2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0" + + "ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBu" + + "b3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1" + + "bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBu" + + "YW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZh" + + "bGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxl" + + "ZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6" + + "Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJl" + + "cG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0" + + "ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBB" + + "bm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJh" + + "bm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNz" + + "IjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sn" + + "cyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNz" + + "IHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6" + + "IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUg" + + "YWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJ" + + "QSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0" + + "dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRv" + + "ci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVy" + + "YXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3" + + "YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzog" + + "Li4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcg" + + "Zm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBm" + + "YWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6" + + "ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwg" + + "Z2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hh" + + "dCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0" + + "aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBh" + + "cyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGlu" + + "ZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBz" + + "dGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNo" + + "ZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0" + + "aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0g" + + "cmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFu" + + "IGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQg" + + "dGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAg" + + "ZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQg" + + "YGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhl" + + "bG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDog" + + "YDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5v" + + "IHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1l" + + "IGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVp" + + "bnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0" + + "bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJn" + + "cyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRg" + + "LiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxz" + + "byBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8g" + + "SGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2Vz" + + "IHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAg" + + "ZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZp" + + "cm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBj" + + "aGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBn" + + "YXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBh" + + "cmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFu" + + "ZS1zdGFja2Agb3IgYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ss" + + "IGdhdGVzIGNvbWUgZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBg" + + "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sYDsgb3RoZXJ3aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2Fp" + + "LXNjaGVkdWxlcmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVp" + + "YCBvZmYgfCBQb2ludCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJv" + + "bSBhbmQgcGFzcyB0aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNl" + + "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAo" + + "aW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3Qg" + + "cGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAt" + + "LW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIg" + + "YWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUg" + + "c2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNm" + + "LWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyBy" + + "ZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9l" + + "c24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + + "ZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxs" + + "IC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + + "fCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0" + + "ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFz" + + "czsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYElu" + + "dmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBX" + + "cm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJn" + + "cHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJl" + + "Z2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21w" + + "dXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0" + + "eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwK" + + "fCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmlu" + + "ZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZh" + + "YTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1j" + + "bGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFn" + + "ZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1" + + "c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2Ug" + + "aW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMj" + + "IENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0" + + "MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1" + + "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIg" + + "SUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVz" + + "aCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVy" + + "IElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBj" + + "b21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVy" + + "IHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFj" + + "a09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcg" + + "bWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQg" + + "PHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kg" + + "c3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xk" + + "LWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBg" + + "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0" + + "cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + + "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNz" + + "aW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVz" + + "aW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnkt" + + "Y3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + + "bGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdh" + + "dGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFs" + + "cyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWlu" + + "KSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMg" + + "fCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiBy" + + "b2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkg" + + "fApQSwcIsz49ZgsfAAALHwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5k" + + "IG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21w" + + "dXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + + "ZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwg" + + "c2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBp" + + "bnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNv" + + "bnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1o" + + "b3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50" + + "czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5z" + + "ZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8" + + "IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcg" + + "Y2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + + "aGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFu" + + "YWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5l" + + "LCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRv" + + "b2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFs" + + "OiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + + "bnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2Vk" + + "LCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNs" + + "aS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5n" + + "dWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0" + + "bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdl" + + "ZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBj" + + "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0" + + "cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93" + + "biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVh" + + "ZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + + "Lm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3Ig" + + "dGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBp" + + "bnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wt" + + "cGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVu" + + "dHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBk" + + "b3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyBy" + + "ZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + + "b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFu" + + "ZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNw" + + "bGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRl" + + "eHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMg" + + "TXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lv" + + "biAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBp" + + "bmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11" + + "c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFu" + + "ZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMg" + + "aGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBg" + + "CgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1s" + + "YCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fu" + + "b25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9u" + + "dmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxv" + + "dwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1v" + + "biBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1s" + + "ICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52" + + "Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFs" + + "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNo" + + "YXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + + "ICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5s" + + "aW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDog" + + "YGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRv" + + "IGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCBy" + + "ZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBl" + + "bnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtP" + + "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVl" + + "cykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQg" + + "aW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNo" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "ZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5H" + + "QyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRz" + + "LCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJl" + + "bmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4K" + + "CiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBk" + + "b2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBO" + + "R0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + + "byB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0" + + "ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIg" + + "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + + "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgoj" + + "IEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291" + + "bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVn" + + "aXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9y" + + "ZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9y" + + "Z3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRo" + + "ZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + + "aW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBv" + + "dmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZh" + + "aWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUg" + + "YXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNo" + + "YXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBs" + + "b2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBv" + + "ciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIg" + + "YGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVk" + + "IGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9y" + + "IGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJv" + + "bSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoK" + + "SWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNs" + + "dXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0" + + "IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + + "dGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3Rh" + + "Y2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0" + + "aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAg" + + "YGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + + "aXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBv" + + "c2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUg" + + "aGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICBy" + + "ZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhh" + + "cyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kg" + + "Y2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8v" + + "Li4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNo" + + "YXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0" + + "b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBu" + + "b3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAg" + + "ID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sg" + + "YXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJ" + + "OiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxt" + + "IHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+" + + "YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJj" + + "ZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3Rl" + + "ciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9k" + + "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBu" + + "bwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVz" + + "cGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNw" + + "YWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + + "IGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + + "ci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFw" + + "aSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rp" + + "b24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBj" + + "cmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhl" + + "IHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9y" + + "ZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9t" + + "YWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRv" + + "bWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + + "YW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZ" + + "X0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5" + + "LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + + "ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3Ru" + + "YW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVy" + + "bWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYt" + + "bWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0" + + "aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGds" + + "b2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwg" + + "YW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIg" + + "YmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9B" + + "RERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21h" + + "aW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24u" + + "IFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJl" + + "dmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNz" + + "YW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9j" + + "dW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEg" + + "Y2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + + "c3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQg" + + "ZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBC" + + "YWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fz" + + "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxU" + + "X0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxl" + + "IGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3Ig" + + "fCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwt" + + "LS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9w" + + "ZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkt" + + "a2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdh" + + "eSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUt" + + "MTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8" + + "IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFi" + + "aWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJh" + + "dGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4g" + + "RW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2Fi" + + "bGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9z" + + "dG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJ" + + "IGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJh" + + "Y3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJl" + + "bGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFu" + + "ZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYg" + + "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmly" + + "b25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdh" + + "eToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1" + + "bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZh" + + "bml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5k" + + "IHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdg" + + "LiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9t" + + "YWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUg" + + "c3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29u" + + "ZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNl" + + "LCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + + "eSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0" + + "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZh" + + "bml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1" + + "cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9o" + + "ZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJ" + + "LCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4g" + + "VGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMj" + + "IyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + + "dXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + + "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + + "RiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250" + + "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0" + + "aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhl" + + "bnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBl" + + "bmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZl" + + "cmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWkt" + + "YWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3Rh" + + "Y2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFu" + + "ZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29t" + + "cHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFy" + + "YXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHBy" + + "b2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4g" + + "cnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBu" + + "b3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29t" + + "bWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJk" + + "b3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFu" + + "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNh" + + "bWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25s" + + "eSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxl" + + "IHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwg" + + "YGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2Vydmlj" + + "ZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBg" + + "dmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGlu" + + "Z3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFs" + + "c28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVw" + + "IHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFz" + + "ZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3Ig" + + "bmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ks" + + "IGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5" + + "IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNl" + + "IHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5k" + + "YXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "ZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2" + + "YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3Jl" + + "LW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xz" + + "aXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + + "VmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtl" + + "eXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJh" + + "LnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoK" + + "IyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxl" + + "YXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxv" + + "Y2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + + "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + + "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + + "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + + "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + + "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + + "YGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVu" + + "Y3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBs" + + "YXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1w" + + "bGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUg" + + "cmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMg" + + "SW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0" + + "eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxv" + + "dyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3Jt" + + "YXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3Rz" + + "dHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0t" + + "LXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52" + + "Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3Jl" + + "YXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRv" + + "IGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3Jl" + + "dHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNy" + + "ZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0Vf" + + "UFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2Vz" + + "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGAp" + + "IHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxk" + + "cyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgi" + + "JG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3Jl" + + "ZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRo" + + "ZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhf" + + "QkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRv" + + "Y2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMg" + + "YSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZl" + + "cmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNv" + + "bmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9r" + + "ZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + + "c2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0g" + + "V3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMK" + + "PiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1h" + + "dCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxs" + + "IGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mg" + + "b2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3" + + "cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBp" + + "cyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRo" + + "b3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRv" + + "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0" + + "IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0i" + + "JEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZv" + + "ciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1" + + "YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1" + + "cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hl" + + "biBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + + "ZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZj" + + "ci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50" + + "LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAo" + + "c2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3Jpbmcg" + + "ZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGlj" + + "YXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBh" + + "dGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5" + + "dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBg" + + "aW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMg" + + "d29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0" + + "aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3Rh" + + "bGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + + "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + + "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBz" + + "ZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpm" + + "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + + "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + + "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0" + + "aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1" + + "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0" + + "IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1j" + + "cmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMg" + + "U2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1" + + "c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFN" + + "IG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3Jl" + + "dCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBj" + + "aGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAg" + + "ICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + + "bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMg" + + "Q29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0t" + + "LS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3Jp" + + "emVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3Rz" + + "LCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBz" + + "ZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3Bl" + + "bkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQt" + + "YWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + + "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8g" + + "SldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBj" + + "bHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + + "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9J" + + "REMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + + "cnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNg" + + "LCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRd" + + "KHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBP" + + "T01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92" + + "ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNr" + + "ZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENh" + + "c3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + + "UkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBj" + + "aEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2Vj" + + "cmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUt" + + "c3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9k" + + "cyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3Rs" + + "IGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNl" + + "IGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxt" + + "ZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQg" + + "Ym9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + + "aWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + + "LW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3du" + + "IGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2" + + "ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVk" + + "IHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9v" + + "ayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBo" + + "b29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1h" + + "Y2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2Vj" + + "cmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8g" + + "YC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZl" + + "cyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQg" + + "ZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0" + + "IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwK" + + "fCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRj" + + "aCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0" + + "YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19S" + + "RUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMj" + + "IFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlz" + + "IGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2Uq" + + "KgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBp" + + "dCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBg" + + "YXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQg" + + "d2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29r" + + "IG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQg" + + "ZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGll" + + "bnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4K" + + "ClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0n" + + "ey5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNl" + + "bnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0" + + "aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGlu" + + "Z2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + + "cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2Nv" + + "dW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMj" + + "IEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFt" + + "cGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + + "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQg" + + "Y29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9o" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVy" + + "IGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3Jl" + + "YXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2Ug" + + "ZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + + "AKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVl" + + "c3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + + "UyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRp" + + "b25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVx" + + "dWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCks" + + "IGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwg" + + "KGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRv" + + "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + + "dCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0g" + + "My4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZp" + + "ZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGli" + + "aWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5j" + + "IHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0" + + "IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tz" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNo" + + "ZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJl" + + "bmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWlu" + + "ZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkg" + + "ZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9u" + - "cyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50" + - "IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMt" + - "c3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5h" + - "Z2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJl" + - "dmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VO" + - "Vj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhw" + - "bGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2Vz" + - "LCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAg" + - "ICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lz" + - "dGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2lu" + - "ZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2Zp" + - "bGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15" + - "IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBj" + - "b21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55" + - "YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5k" + - "cywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBs" + - "YW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJv" + - "ZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dp" + - "dGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJp" + - "ZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29u" + - "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + - "IGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29u" + - "dHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVn" + - "aW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAt" + - "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + - "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0t" + - "dmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBh" + - "Z2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFu" + - "ZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1" + - "ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNl" + - "IG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + - "YXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmll" + - "ZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBn" + - "bG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2Fy" + - "bmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJl" + - "Zm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0" + - "aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAi" + - "VGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJl" + - "c291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5j" + - "bHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczog" + - "YmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdh" + - "cm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBs" + - "YWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBi" + - "ZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNl" + - "bGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkg" + - "dGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0g" + - "Zm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxt" + - "ZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3Jv" + - "dXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAg" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRl" + + "JyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZl" + + "c3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdo" + + "ZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4g" + + "d2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1" + + "bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBz" + + "dHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1" + + "c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVt" + + "b3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNs" + + "ZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1l" + + "c3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + + "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + + "b3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1" + + "dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3Zl" + + "IHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNl" + + "IC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMi" + + "LAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + + "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + + "c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0" + + "byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAg" + + "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0" + + "ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0" + + "ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZy" + + "b20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxh" + + "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdh" + + "eSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFs" + + "bGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVn" + + "aXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNv" + + "bmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUg" + + "c2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlv" + + "biB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNv" + + "bnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUg" + + "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tl" + + "X3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlf" + + "aG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBi" + + "YXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUs" + + "IE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNv" + + "bXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVf" + + "RU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + + "c3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21z" + + "X2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBN" + + "YWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tT" + + "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1" + + "aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4" + + "IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJv" + + "dGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5H" + + "QyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBu" + + "dmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIg" + + "bG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2Rv" + + "Y2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + + "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3" + + "b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBi" + + "ZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBh" + + "dXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNz" + + "aW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0Yg" + + "aW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBh" + + "dHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52" + + "aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMg" + + "d2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + + "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5v" + + "dCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVy" + + "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQg" + + "c3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFn" + + "ZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVh" + + "bi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxs" + + "YXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + + "ci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJz" + + "dDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRo" + + "ZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3Vy" + + "IGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhh" + + "bmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBh" + + "IHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhl" + + "bG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + + "ZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0" + + "ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3Rl" + + "bSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikg" + + "d2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcg" + + "YmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3Rh" + + "Z2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5n" + + "cmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAi" + + "QWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVk" + + "IGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhh" + + "Y3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1p" + + "eCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdv" + + "cmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250" + + "cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0" + + "ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4g" + + "SXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVh" + + "Y2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBz" + + "dWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2Vk" + + "IHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0" + + "byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + + "IGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + + "LS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwg" + + "YW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25m" + + "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + + "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVl" + + "cywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "a2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlk" + + "IG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlv" + + "biI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1v" + + "cnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVy" + + "ZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhl" + + "IGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFs" + + "LnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBh" + + "Ym91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUg" + + "YXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBh" + + "Z2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJj" + + "ZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVk" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2Nr" + + "IChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQg" + + "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHBy" + + "ZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3Jl" + + "IGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3Rp" + + "dmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBO" + + "VkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0" + + "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUg" + + "c2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0" + + "aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwg" + + "Y2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlk" + + "ZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3Jv" + + "dXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYi" + + "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2Zm" + + "IHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRv" + + "IGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3Ig" + + "cHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFu" + + "ZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3Jl" + + "dCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHBy" + + "b3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMi" + + "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxs" + + "U2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJU" + + "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZp" + + "YyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFu" + + "ZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1" + + "dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52" + + "b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNy" + + "ZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRy" + + "b2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNl" + + "dCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2Nh" + + "bCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywg" + + "YW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBi" + + "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwg" + + "cGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJM" + + "cyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkg" + + "aW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXkt" + + "c3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRl" + + "d2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1n" + + "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNm" + + "U2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RT" + + "ZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhl" + + "IGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBu" + + "dmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + + "Lm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdy" + + "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + + "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5j" + + "bHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJl" + + "ZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5h" + + "dHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1" + + "bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJU" + + "aGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9y" + + "IGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rp" + + "b24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + + "ZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93" + + "IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUg" + + "Y2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJv" + + "dGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + + "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + + "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + + "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + + "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + + "ZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + + "IFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + + "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + + "aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFs" + + "dWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUg" + + "cmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBu" + + "b3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + + "ZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQg" + + "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJh" + + "biBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250" + + "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAg" + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lz" + - "dGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBw" + - "cm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFz" + - "ZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFj" + - "a29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJh" + - "Y2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFu" + - "ZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2Vk" + - "IGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNw" + - "ZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcg" + - "c2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBh" + - "bmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2" + - "ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFn" + - "ZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNw" + - "ZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRp" + - "bmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1Mg" + - "Y29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0" + - "cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxs" + - "IHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUg" + - "Y29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZv" + - "eS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdh" + - "eSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5" + - "IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBO" + - "QVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQg" + - "dGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19o" + - "b3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5h" + - "bCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4g" + - "YWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQg" + - "b25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBh" + - "bmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRz" + - "IEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVu" + - "dm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRz" + - "Lm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwg" + - "bnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNl" + - "VVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0" + - "byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBh" + - "Z2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMg" + - "YW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFt" + - "ZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5y" + - "b3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFv" + - "Lm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUg" + - "YWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRz" + - "LCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + - "aWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRl" + - "ck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlk" + - "ZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxh" + - "bmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAg" + - "ICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3Bl" + - "cmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0" + - "ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJx" + - "dWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1w" + - "bGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5k" + - "IENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxl" + - "IGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29t" + - "cHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNz" + - "ZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFu" + - "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + - "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + - "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + - "IHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFj" + - "ay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlk" + - "ZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + + "ICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRl" + + "IGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxv" + + "dyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250" + + "cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3Vs" + + "ZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0" + + "aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + + "ZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBh" + + "biBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVk" + + "IGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Np" + + "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHBy" + + "ZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + - "aXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlv" + - "biB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3Qg" + - "bGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBk" + - "b2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9s" + - "LXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRh" + - "cmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBh" + - "bmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhl" + - "IGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cg" + - "cmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNv" + - "bXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmls" + - "ZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3Jl" + - "IGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2Zm" + - "IGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2Fy" + - "bmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + - "bSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Ug" + - "Zm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVy" + - "aWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxv" + - "d3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRp" + - "ZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFu" + - "ZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJ" + - "TEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3Jl" + - "IHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21t" + - "YW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVz" + - "dGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25k" + - "aXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2Fz" + - "IHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRp" + - "b24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMs" + - "IC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAt" + - "LXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBk" + - "b3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250" + - "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJ" + - "IGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxl" + - "bnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNl" + - "IGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMs" + - "IGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkg" + - "cGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFy" + - "eSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjog" + - "YmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+" + - "IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEu" + - "cmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11" + - "c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBh" + - "cmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAg" + - "ICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlv" + - "bnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4g" + - "V2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBu" + - "ZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRv" + - "biB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9y" + - "IHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRo" + - "YXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxh" + - "bmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVz" + - "dC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4g" + - "Rm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxm" + - "LW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0" + - "aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3Jr" + - "bG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3Bv" + - "cnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90" + - "IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + - "IHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3Rp" + - "bmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRl" + - "LCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUg" + - "bGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVl" + - "c3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0" + - "ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZh" + - "dWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + - "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNh" + - "dGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0" + - "ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5k" + - "IHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52" + - "aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVj" + - "dGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVu" + - "Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1y" + - "ZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRl" + - "Y2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "RzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNG" + - "IGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8g" + - "dGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1t" + - "YW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lm" + - "aWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlv" + - "biBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNk" + - "LXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBh" + - "cHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBi" + - "YXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlk" + - "ZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGlt" + - "aXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdl" + - "YCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpT" + - "b2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBi" + - "bG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1w" + - "L2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUu" + - "eWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxl" + - "LmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8" + - "cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRo" + - "ZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + - "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + - "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + - "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNv" + - "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAg" + - "IG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFw" + - "cGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3Mt" + - "YmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hh" + - "bmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlz" + - "IG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBl" + - "eHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBm" + - "cm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5W" + - "Q0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5z" + - "dGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgoj" + - "IyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVn" + - "aXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAg" + - "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBT" + - "dGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpg" + - "YGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJ" + - "X0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiRO" + - "R0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBz" + - "ZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + - "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + - "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + - "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0" + - "cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxs" + - "U2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBo" + - "ZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTog" + - "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + - "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + - "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + - "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + - "ZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAg" + - "ICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJl" + - "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpU" + - "aGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRl" + - "IGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUg" + - "Y2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9y" + - "IGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNp" + - "ZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZg" + - "LiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNm" + - "IGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1" + - "bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAg" + - "ICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBk" + - "b25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRl" + - "IHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5" + - "c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91" + - "bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0t" + - "CgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxv" + - "eW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTog" + - "RGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rl" + - "ci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1" + - "dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24g" + - "ZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dp" + - "bmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNr" + - "LWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVy" + - "CgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + - "eWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0" + - "aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3Rl" + - "ciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12" + - "YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJl" + - "cGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAz" + - "OiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFu" + - "YWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpu" + - "b3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRl" + - "bnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBp" + - "bnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + - "ZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2Vk" + - "IHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJp" + - "ZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNz" + - "aW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBh" + - "ZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNP" + - "TkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + - "X0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZp" + - "ZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJp" + - "ZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAn" + - "KG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8" + - "dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1" + - "cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xs" + - "b3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhl" + - "biByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0t" + - "CgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpU" + - "aGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdh" + - "cyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUg" + - "bmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52" + - "b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0n" + - "KQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5k" + - "IGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3Ru" + - "YW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3Jk" + - "cyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFu" + - "ZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBv" + - "cmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3Vm" + - "Zml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0" + - "YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3Qg" + - "R2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVl" + - "czogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01T" + - "LCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRv" + - "bWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBh" + - "bmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHku" + - "IFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21t" + - "YW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hv" + - "cnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRH" + - "QVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lk" + - "ZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRl" + - "cyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91" + - "dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQg" + - "c3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRp" + - "bWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQg" + - "XAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVy" + - "YXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAt" + - "LXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVu" + - "Y2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29u" + - "ZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5C" + - "YW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1k" + - "ZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRz" + - "LXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQg" + - "cG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UK" + + "aXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFr" + + "ZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwK" + + "ICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFs" + + "IGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0" + + "byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBw" + + "bGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9u" + + "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + + "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + + "ICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVu" + + "diwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFu" + + "LW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1" + + "bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + + "bGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRl" + + "ZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkg" + + "aWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + + "biAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxp" + + "bmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + + "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2Uu" + + "eWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxp" + + "bmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxp" + + "Y2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJl" + + "IHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50" + + "IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1" + + "ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9u" + + "IGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQg" + + "SGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0" + + "aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUg" + + "TExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRo" + + "ZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + + "Y29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + + "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0" + + "aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + + "Y2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQu" + + "c3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3" + + "aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3Ig" + + "cHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + + "IGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExM" + + "TSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5k" + + "IGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5l" + + "bmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91" + + "dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMg" + + "dG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + + "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24g" + + "aG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlD" + + "SW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJu" + + "ZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25t" + + "ZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBo" + + "YW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9u" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVz" + + "dC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBp" + + "bmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5F" + + "Ry1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYg" + + "Y2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVs" + + "bCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlz" + + "IGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBu" + + "dmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdl" + + "ZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1" + + "aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVw" + + "bG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVj" + + "aWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9w" + + "cmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQg" + + "b24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fz" + + "c2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBj" + + "YXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoK" + + "UHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRp" + + "b246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2su" + + "CgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNz" + + "LWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwg" + + "fCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAx" + + "LWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZh" + + "dGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVs" + + "bWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + + "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + + "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + + "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + + "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2Vz" + + "OgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1v" + + "cnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAg" + + "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9y" + + "ZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQK" + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + - "YwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8Cnwt" + - "LS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5h" + - "dHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2Vz" + - "YCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBl" + - "c3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRl" + - "ciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2" + - "YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRk" + - "b24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFs" + - "IG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + - "ZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0" + - "LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5l" + - "bmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhl" + - "IExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5" + - "LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFj" + - "ayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3" + - "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5u" + - "dmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNz" + - "IChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCBy" + - "ZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2" + - "ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9" + - "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUg" + - "c2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJl" + - "Z2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRv" + - "ZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmlu" + - "ZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4K" + - "CiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVu" + - "ZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUg" + - "dmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9u" + - "bWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRp" + - "b24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEkt" + - "Z2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1w" + - "cm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9m" + - "aWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1" + - "dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFu" + - "ZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJl" + - "cG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1h" + - "dGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0" + - "ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9y" + - "CmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJv" + - "bm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lz" + - "dHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBm" + - "b3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJl" + - "YWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBj" + - "YW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFu" + - "ZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZv" + - "eS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3" + - "YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBj" + - "b21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0" + - "aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0" + - "aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hv" + - "c2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgog" + - "IGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNl" + - "cnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZp" + - "Y2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNT" + - "ZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2Vydmlj" + - "ZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNl" + - "VVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlv" + - "blNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3By" + - "b3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5s" + - "b2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFj" + - "ZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1l" + - "OiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25h" + - "bWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgog" + - "ICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + - "eQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgog" + - "ICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6" + - "IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBn" + - "cnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtl" + - "ci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0" + - "cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVu" + - "YWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNl" + - "bGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9t" + - "YWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igog" + - "ICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21h" + - "aW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAg" + - "IG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBh" + - "bmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFz" + - "aAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklM" + - "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + - "PgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklM" + - "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmln" + - "PgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3Ms" + - "IGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05G" + - "SUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igpp" + - "bnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdh" + - "dGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRl" + - "d2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hv" + - "c3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRl" + - "d2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+Igpp" + - "Y21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWlu" + - "IGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9u" + - "bHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0" + - "YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBp" + - "cyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBj" + - "b21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVy" + - "IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAg" + - "Q0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRy" + - "ZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBO" + - "VkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1u" + - "dmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "IGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + - "CgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRo" + - "ZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBL" + - "VUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5k" + - "cy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5Cndo" + - "ZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMj" + - "IENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJz" + - "dC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lz" + - "dHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + - "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + - "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "L291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0" + - "ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNm" + - "LWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBs" + - "YWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + - "bWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0t" + - "a3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9u" + - "PiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21w" + - "dXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0t" + - "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + - "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0" + - "aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxl" + - "IGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4g" + - "RG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1m" + - "aWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9s" + - "LXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNv" + - "bnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBj" + - "b250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVm" + - "ZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52" + - "Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZApl" + - "aXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBh" + - "bmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + - "KS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5h" + - "bWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1u" + - "IGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "cm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJh" + - "dG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBu" + - "dmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1o" + - "ZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVh" + - "cmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUg" + - "dGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wg" + - "cGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2" + - "ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVz" + - "ZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hl" + - "dGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + - "b24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFi" + - "b3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ug" + - "d2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hp" + - "bmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1p" + - "c21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJp" + - "ZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0" + - "aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVz" + - "IGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVw" + - "IGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZp" + - "Zz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1" + - "c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1p" + - "ZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5k" + - "IGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0" + - "aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3Qg" + - "Y2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4g" + - "UmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1" + - "dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJF" + - "Q09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05G" + - "SUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdg" + - "IGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUK" + - "ZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVj" + - "dGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVu" + - "dGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJ" + - "RC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNv" + - "bXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUt" + - "cmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhl" + - "IHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxh" + - "bi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29t" + - "cHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUg" + - "cmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJl" + - "YWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBj" + - "b25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJl" + - "dmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkg" + + "YwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3Qg" + + "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + + "aXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBO" + + "R0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0" + + "YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQg" + + "b2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0" + + "ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5" + + "OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdp" + + "c3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAy" + + "OiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFz" + + "aApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0" + + "cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "YXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + + "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "YXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8g" + + "aGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3Jl" + + "dHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZp" + + "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + + "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + + "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + + "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + + "ICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAt" + + "IG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2Ug" + + "YXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + + "dGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFy" + + "dHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBj" + + "b21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0" + + "Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7" + + "IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0i" + + "Om1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAg" + + "J3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpk" + + "b25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + + "IC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0g" + + "XAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNo" + + "b3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMg" + + "RXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50" + + "IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ry" + + "b3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + + "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFs" + + "aXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1k" + + "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5h" + + "bGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVh" + + "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "LgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElD" + + "TVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + + "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQg" + + "c3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVz" + + "dHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJg" + + "IG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHBy" + + "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5" + + "IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIg" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9" + + "PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9y" + + "bXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBg" + + "a3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNh" + + "fG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + + "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVt" + + "cHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtD" + + "bGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0" + + "dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMg" + + "RXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNl" + + "cGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVj" + + "cmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBl" + + "bmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + + "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + + "dCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJl" + + "Y3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + + "IGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9y" + + "IHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCou" + + "aW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3Jhcnkg" + + "ZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBh" + + "bmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVh" + + "ZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3" + + "YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNv" + + "bnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVW" + + "YWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4g" + + "YW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGlu" + + "c3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUK" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMu" + + "CgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJh" + + "cGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdB" + + "WV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAt" + + "QQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + + "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + + "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + + "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + + "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + + "b3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMK" + + "ClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3Vy" + + "YXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0" + + "ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + + "CgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0t" + + "LS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBj" + + "YXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBh" + + "cGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFw" + + "aSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5k" + + "IGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5" + + "LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + + "ZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNm" + + "LXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + + "ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0" + + "ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxl" + + "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + + "QVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRl" + + "d2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0" + + "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVp" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0" + + "ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFz" + + "ZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSBy" + + "ZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + + "LWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFy" + + "YXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3Rl" + + "ciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJl" + + "bG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBD" + + "TEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBD" + + "aG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2lu" + + "dHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVl" + + "cyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + + "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVy" + + "YXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBp" + + "cyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3Jl" + + "ZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0" + + "b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGlu" + + "Zy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50" + + "IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwg" + + "ZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + + "bXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFi" + + "bGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25p" + + "Y2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNm" + + "L3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52" + + "aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBp" + + "bgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNl" + + "cnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5M" + + "QiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNl" + + "cnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21h" + + "aW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNl" + + "VVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJM" + + "OiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2Vydmlj" + + "ZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6" + + "ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDog" + + "Imh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2" + + "aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToK" + + "ICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6" + + "OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVu" + + "dm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZj" + + "Zi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBu" + + "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAg" + + "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAg" + + "ICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAg" + + "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + + "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoK" + + "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoK" + + "b3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVk" + + "OiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFu" + + "YWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAg" + + "ICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAg" + + "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRz" + + "SG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGlu" + + "c3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + + "CgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVh" + + "dGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoK" + + "CmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tl" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5" + + "LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAi" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1k" + + "b21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19o" + + "b3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0" + + "bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRv" + + "IHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4g" + + "dGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8g" + + "YC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0" + + "ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAg" + + "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNU" + + "RVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9D" + + "TEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1j" + + "bGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVn" + + "aXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNP" + + "TkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIElu" + + "IGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRo" + + "ZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkg" + + "UHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0" + + "IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRp" + + "b246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAt" + + "LW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + + "cmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkg" + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMt" + - "dXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAog" + - "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlk" + - "IDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1j" + - "b250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52" + - "IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAg" + - "ZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + - "LS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1" + - "c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVy" + - "cyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBu" + - "byBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJl" + - "Y2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQg" + - "c3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwg" + - "cG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgoj" + - "IFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNw" + - "YWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAo" + - "bW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAt" + - "biA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNw" + - "ZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1h" + - "Z2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZ" + - "ICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAg" + - "ICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBg" + - "YHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBV" + - "bmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFn" + - "ZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGlu" + - "IHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFj" + - "ZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwg" + - "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1h" + - "Z2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQ" + - "dWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNv" + - "bnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBt" + - "aXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBj" + - "cmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + - "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxu" + - "YW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5j" + - "ZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlh" + - "IGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCku" + - "CgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8s" + - "IGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2" + - "aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwt" + - "c2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUg" + - "YW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNy" + - "ZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxz" + - "CiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5" + - "bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBg" + - "YGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNU" + - "QVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAg" + - "MCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMg" + - "dGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJh" + - "c2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0K" + - "CiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1u" + - "IHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2" + - "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29u" + - "dGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5C" + - "YW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwg" + - "aXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9i" + - "IGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRl" + - "cnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRl" + - "c3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3Rs" + - "IGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0" + - "IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1" + - "dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAg" + - "a3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8g" + - "LS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgv" + - "and0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRl" + - "ZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNs" + - "dXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpX" + - "S1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRo" + - "IGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9w" + - "dWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3Qg" + - "dmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUg" + - "dmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5p" + - "dGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6" + - "MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJh" + - "by5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdy" + - "YXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5n" + - "IFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNr" + - "YC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZl" + - "IEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZh" + - "bHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86" + - "CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAg" + - "ICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVt" + - "IG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3Jh" + - "dGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZy" + - "b20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9w" + - "ZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRo" + - "ZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWlu" + - "LgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0" + - "aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhl" + - "IHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGlu" + - "ZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMg" + - "U3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJU" + - "UyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBg" + - "YAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5k" + - "cmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZp" + - "eAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUg" + - "RXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNh" + - "c3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAg" + - "ICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAg" + - "ICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2" + - "YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0" + - "IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3lt" + - "cHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAg" + - "IEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoK" + - "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWls" + - "dXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENv" + - "bW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRp" + - "ZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWls" + - "YWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0g" + - "bm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6" + - "IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAg" + - "IGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAq" + - "KlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgog" + - "ICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZm" + - "aWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1" + - "YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVz" + - "b3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUK" + - "CiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGgg" + - "U1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRv" + - "IHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgoj" + - "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFt" + - "ZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5k" + - "IHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBu" + - "ZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0" + - "bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlm" + - "IG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxl" + - "YXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoK" + - "IyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVh" + - "dGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpg" + - "YGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBu" + - "dmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVj" + - "dGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBB" + - "UEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52" + - "Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNl" + - "NjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55" + - "YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1" + - "c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRl" + - "bnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3Vs" + - "ZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1" + - "bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBg" + - "YWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRl" + - "bnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVz" + - "dHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0" + - "ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBp" + - "LWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVh" + - "dGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMg" + - "c3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMj" + - "IyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNr" + - "IGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRv" + - "ciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAx" + - "MG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4" + - "dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJl" + - "bW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9y" + - "Y2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRF" + - "WFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNG" + - "QmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdl" + - "dCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEu" + - "bmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2gg" + - "LWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3Rs" + - "IC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIg" + - "LS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAi" + - "JENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkg" + - "Y2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJh" + - "Y2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1l" + - "c3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6" + - "ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJl" + - "cGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYg" + - "LSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5n" + - "IG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + - "Y29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4" + - "aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAt" + - "biBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoK" + - "Rmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZs" + - "b3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBE" + - "byBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0" + - "aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29u" + - "dGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "ZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Et" + - "b3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRv" + - "cgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVs" + - "bCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFs" + - "IG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2Nv" + - "bXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdl" + - "ZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRv" + - "bWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxh" + - "Y2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAog" + - "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + - "VEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGku" + - "PGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBh" + - "ZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2Vy" + - "dmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZp" + - "eAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJp" + - "ZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlv" + - "bi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRy" + - "ZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJv" + - "dWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxl" + - "cy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoK" + - "IyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBm" + - "b3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwg" + - "U2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMg" + - "fAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5i" + - "YW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHks" + - "IG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3" + - "YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwg" + - "ZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdh" + - "dGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJl" + - "c291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + - "bWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNl" + - "CgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8" + - "LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFU" + - "UywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1s" + - "LmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRz" + - "Lwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAo" + - "YWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMg" + - "UGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+" + - "LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBh" + - "c3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxh" + - "dGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1z" + - "dGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBs" + - "ICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55" + - "YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmln" + - "dXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAg" + - "ICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5h" + - "bWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xv" + - "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVj" + - "dHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmly" + - "b25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1" + - "dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVh" + - "ZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5k" + - "cG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMg" + - "R290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1s" + - "LmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0t" + - "LS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8" + - "IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1v" + - "cGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5k" + - "cyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJh" + - "LXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5o" + - "ZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAw" + - "Mi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVs" + - "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBo" + - "ZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52" + - "Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNl" + - "cnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1w" + - "cm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwg" + - "ZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2" + - "aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0" + - "LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxt" + - "LW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXIt" + - "cHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJl" + - "bGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVu" + - "dm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJp" + - "dDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZy" + - "b20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xv" + - "YmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5l" + - "bmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxv" + - "bmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8" + - "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + - "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlv" + - "dXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJp" + - "bGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBk" + - "aXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAg" + - "KFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJn" + - "ZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEq" + - "KjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkg" + - "dG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAg" + - "bGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoK" + - "SW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBg" + - "c2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwK" + - "IyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kK" + - "ICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6" + - "CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBv" + - "dmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDog" + - "KmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQog" + - "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + - "LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3Vy" + - "IG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAg" + - "ICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVz" + - "ZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5j" + - "ZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1l" + - "c3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4g" + - "YWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0" + - "byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBp" + - "cyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20g" + - "bG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAg" + - "LS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNw" + - "ZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1s" + - "YCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVh" + - "c2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFz" + - "c2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0" + - "aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3Rz" + - "IGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4" + - "cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNh" + - "Q291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNh" + - "c3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXpl" + - "YAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVu" + - "YWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFU" + - "UwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAot" + - "IGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVh" + - "bS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVy" + - "Z2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5i" + - "YW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9w" + - "ZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3Bl" + - "bmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkK" + - "CiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJl" + - "Z2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxl" + - "ZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0g" + - "RnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5n" + - "IG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFk" + - "ZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBh" + - "ZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkK" + - "aW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExN" + - "IHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAu" + - "IERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmds" + - "ZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpg" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5" + - "YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICBy" + - "ZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAg" + - "ICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291" + - "bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVu" + - "YWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoK" + - "ICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdv" + - "cmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGlj" + - "YUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBU" + - "aGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBv" + - "cnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBH" + - "YXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5n" + - "YXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUg" + - "TlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNo" + - "YXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291" + - "bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJn" + - "YXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3Bv" + - "cnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRl" + - "ciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9u" + - "IGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJl" + - "cXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252" + - "Y2YvYmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJh" + - "bGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRz" + - "aWRlIHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNl" + - "dCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1s" + - "CmFwaToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAg" + - "IHNpZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4v" + - "PHJlcG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9T" + - "SURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUg" + - "c3RhY2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3" + - "IGNvbmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0" + - "aW5nIHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQg" + - "Y29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQg" + - "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxs" + - "YXRpb24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFs" + - "bCBjb21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3Qg" + - "cmVtYWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFp" + - "biB2YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0" + - "aGUgd29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lv" + - "biBpcyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJz" + - "aW9uIGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1w" + - "bGFuZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZl" + - "cmlmeSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0" + - "IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1" + - "YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5k" + - "IGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29u" + - "dGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0n" + - "CmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdz" + - "IG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVt" + - "YSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9u" + - "IGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJy" + - "YXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCku" + - "CgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91" + - "cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91" + - "dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0t" + - "YXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0" + - "cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "IGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + - "LWlzc3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2Yt" + - "dWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9u" + - "YWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBi" + - "eQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1" + - "ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkg" + - "b25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQg" + - "c3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90" + - "IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBz" + - "a2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0u" + - "CgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5h" + - "bWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpg" + - "YGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhl" + - "IG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9t" + - "IGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52" + - "Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9u" + - "bHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8p" + - "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRv" + - "Y2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + - "R0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3Qg" + - "aXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVp" + - "OjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5n" + - "IHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQg" + - "YXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1u" + - "YW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdy" + - "ZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBh" + - "ZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ks" + - "c3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVp" + - "CmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBp" + - "cyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJs" + - "aWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBv" + - "ciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRl" + - "LgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUA" + - "AQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1" + - "bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBO" + - "R0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZl" + - "cnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBj" + - "b25maWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBt" + - "aXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJv" + - "YWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUg" + - "cG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJh" + - "dG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBu" + - "dmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJ" + - "bnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2" + - "ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2" + - "ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0t" + - "a3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBj" + - "b250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + - "b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + - "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + - "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + - "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0Mg" + - "cmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1l" + - "YCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVy" + - "UG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBv" + - "bGljeQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAg" + - "YmFja2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3Jl" + - "dC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3Vy" + - "Y2VzOgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFt" + - "ZXNwYWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAg" + - "ICAgICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRz" + - "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAi" + - "dmF1bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToK" + - "ICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAg" + - "ICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxz" + - "ZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGlt" + - "YWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJh" + - "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1m" + - "IGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwg" + - "dGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxh" + - "bmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1v" + - "ZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBp" + - "bnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3Jl" + - "YXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1" + - "c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkg" + - "LWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + - "aW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3" + - "b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0" + - "czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNl" + - "IHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQg" + - "dG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUg" + - "bmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwg" + - "Zmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBs" + - "YW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1v" + - "IGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUi" + - "OiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + - "cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5u" + - "dmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZl" + - "cm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RU" + - "aW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxs" + - "ZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1p" + - "cnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBg" + - "CgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJ" + - "QU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJl" + - "Z2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Ig" + - "d2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVs" + - "bCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjog" + - "R0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBh" + - "bmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwg" + - "aW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBv" + - "bGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFw" + - "cGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNw" + - "YWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5u" + - "aW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQ" + - "b2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMK" + - "IyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhl" + - "IHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3Rz" + - "IHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0" + - "LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtC" + - "NagAFgAAABYAAFBLAQIUABQACAAAAAAAIQAaCAGFShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABk" + - "YXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsLppRuJiAADiYgAAIwAJ" + - "AAAAAAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAQ8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAADPcwAAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhADAk+YjJDAAAyQwAADQACQAAAAAAAAAAAAAAVoMAAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAwbFpmM8PAADPDwAANwAJAAAAAAAAAAAAAACKkAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU" + - "3o00nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAAMegAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPc" + - "BBglAAAYJQAANwAJAAAAAAAAAAAAAADWugAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4A" + - "AL4OAAA9AAkAAAAAAAAAAAAAAFzgAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + - "L2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALRJ3ydW" + - "KQAAVikAADoACQAAAAAAAAAAAAAAju8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgH" + - "AADIBwAAOQAJAAAAAAAAAAAAAABVGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA" + - "5CEAAC4ACQAAAAAAAAAAAAAAjSEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "dGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAWzr4GLYkAAC2JAAAMAAJAAAAAAAA" + - "AAAAAADWQwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAv7fygGDwAABg8AADIACQAAAAAAAAAAAAAA82gBAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAL56bTNbUgAAW1IAAC0ACQAAAAAAAAAAAAAAYngBAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQCzPj1mCx8AAAsfAAA3AAkAAAAAAAAAAAAAACHLAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHD" + - "FJNJYgAASWIAACwACQAAAAAAAAAAAAAAmuoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAA" + - "AAAAAAAAAAAARk0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2" + - "YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAA" + - "AAD7owIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAADgzAIAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAA" + - "AAAAAAAAAHX9AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAA" + - "AAAAAAAAAJwuAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkH" + - "AAA/AAkAAAAAAAAAAAAAACFZAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAW" + - "AAAAFgAAPgAJAAAAAAAAAAAAAABQYQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAxXcD" + - "AAAA" + "CiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + + "IC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + + "YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVz" + + "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBz" + + "ZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRw" + + "b2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5v" + + "dCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBl" + + "bmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFu" + + "ZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0" + + "OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4" + + "dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5j" + + "ZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxh" + + "bmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9w" + + "ZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVy" + + "IG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBv" + + "bGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoj" + + "IyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3Bh" + + "Y2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZv" + + "eS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + + "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + + "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + + "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + + "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + + "eSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3du" + + "CgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBj" + + "b250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5l" + + "LCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhl" + + "IGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0" + + "aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIg" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5n" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + + "b3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2" + + "ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8" + + "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + + "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNh" + + "SURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + + "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0" + + "ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVh" + + "dApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNs" + + "dXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJ" + + "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + + "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQg" + + "YEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ry" + + "b3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4K" + + "CkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0" + + "ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZp" + + "cnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0" + + "ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + + "YWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdp" + + "c3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25s" + + "eWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUg" + + "cGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92" + + "YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBk" + + "b3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcg" + + "YW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + + "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0t" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8" + + "Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + + "LWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + + "PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24g" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + + "IEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRz" + + "IElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1" + + "c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVz" + + "IGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMg" + + "YWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2Rz" + + "IGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4K" + + "CiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3Qg" + + "dXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZp" + + "YyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVs" + + "bEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNU" + + "QVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIElt" + + "YWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0" + + "CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRo" + + "b3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMg" + + "ZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwg" + + "Z3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUg" + + "bmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+Cgoj" + + "IENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + + "bFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNl" + + "Y3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRo" + + "PSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2lu" + + "ZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNw" + + "YWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQq" + + "KjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxt" + + "ZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4g" + + "KipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZv" + + "Y2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFj" + + "Y291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + + "dHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCBy" + + "ZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAt" + + "biA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBg" + + "YGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9t" + + "cwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNo" + + "Ck5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMg" + + "ICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAg" + + "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2" + + "YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMg" + + "Q2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENo" + + "ZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVs" + + "dC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQt" + + "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5l" + + "ciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBv" + + "ZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3Vl" + + "cywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRu" + + "J3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0" + + "ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95" + + "CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVh" + + "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBu" + + "ZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + + "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90" + + "IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + + "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + + "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + + "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + + "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + + "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + + "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + + "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + + "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + + "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + + "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + + "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + + "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + + "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + + "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + + "LAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMg" + + "KGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAj" + + "ICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + + "YmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24g" + + "bG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAg" + + "IC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFv" + + "IEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2Vy" + + "dmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAg" + + "QUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBh" + + "a3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0" + + "aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2ln" + + "bmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0" + + "b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + + "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMj" + + "IyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92" + + "ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1w" + + "bGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5k" + + "cmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAg" + + "IG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAg" + + "bWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFi" + + "bGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVz" + + "b3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21z" + + "CgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UK" + + "Y2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMK" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24g" + + "Y2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3Qg" + + "bWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + + "IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBm" + + "b3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVj" + + "ayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9y" + + "YWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBg" + + "YmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVu" + + "dCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + + "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + + "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + + "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + + "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + + "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + + "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + + "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + + "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + + "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + + "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + + "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + + "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + + "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + + "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + + "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + + "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + + "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + + "ZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFs" + + "CiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0" + + "cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFj" + + "aGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291" + + "bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFs" + + "cyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lp" + + "bmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFt" + + "ZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlz" + + "ICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + + "YGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3lt" + + "cHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBg" + + "VGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAg" + + "VGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBg" + + "YAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFm" + + "dGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUg" + + "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRl" + + "bGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + + "bmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZj" + + "ZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVz" + + "cGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdj" + + "b250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNv" + + "bnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlw" + + "ZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01Q" + + "VVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFy" + + "aW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5k" + + "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNl" + + "ICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9" + + "IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNl" + + "IFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4v" + + "ZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBO" + + "b3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBs" + + "ZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMg" + + "YnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + + "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + + "cG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0" + + "IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3Mg" + + "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90" + + "CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBz" + + "dWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2Ny" + + "aWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJh" + + "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBg" + + "CgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2Vj" + + "cmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + + "cm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1l" + + "c3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRl" + + "LXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMj" + + "IyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4g" + + "ZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4g" + + "VGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + + "X0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21h" + + "aW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVz" + + "cyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VV" + + "UkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3Jl" + + "cCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktl" + + "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1" + + "bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZv" + + "ciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBm" + + "aWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0" + + "aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQj" + + "ZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVz" + + "ZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdo" + + "aWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZp" + + "Y2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBj" + + "YXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNl" + + "cnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rh" + + "cnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwK" + + "fCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1h" + + "cGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5" + + "IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJj" + + "ZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxl" + + "LXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMg" + + "RGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhl" + + "bG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENh" + + "c3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBO" + + "VkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + + "cGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAg" + + "IHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBl" + + "bnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1l" + + "bnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNy" + + "ZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29y" + + "ZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + + "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sv" + + "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBD" + + "b21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5n" + + "b3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRp" + + "b24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + + "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + + "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55" + + "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + + "ci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVu" + + "dHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3Jz" + + "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNl" + + "cwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50" + + "IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1w" + + "bCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0t" + + "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRz" + + "LXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJh" + + "by1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24g" + + "bmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0" + + "ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRh" + + "bmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29y" + + "ZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + + "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1u" + + "dmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNp" + + "cyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZp" + + "Y2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNl" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkg" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8" + + "IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0" + + "ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNm" + + "LWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5" + + "IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNl" + + "LWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7" + + "dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRo" + + "ZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55" + + "YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxl" + + "ZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2" + + "YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxl" + + "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + + "LS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8" + + "IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHkt" + + "c3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJs" + + "ZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1M" + + "IG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRo" + + "ZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlB" + + "TUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRo" + + "ZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3Qg" + + "ZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRo" + + "ZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + + "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVt" + + "cGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBj" + + "aGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + + "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJp" + + "ZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBl" + + "bmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + + "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + + "ZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVy" + + "cmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGlu" + + "IGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVj" + + "aGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNl" + + "OiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGlu" + + "ZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUt" + + "aW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBs" + + "aXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2Vz" + + "dCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRl" + + "ZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdv" + + "dG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + + "YyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0g" + + "c2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAt" + + "LSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBU" + + "aHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1l" + + "cmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFy" + + "dC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNp" + + "dGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + + "YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5k" + + "cmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBg" + + "Y2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVk" + + "YCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0g" + + "YG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0" + + "cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmls" + + "ZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNw" + + "ZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFv" + + "LmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8u" + + "c2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMg" + + "U2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3Ry" + + "eSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0g" + + "YDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0" + + "aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBp" + + "bnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBk" + + "ZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0" + + "aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jl" + + "c3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRl" + + "Y2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBu" + + "b3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9k" + + "ZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAph" + + "ZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGlj" + + "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + + "ICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAx" + + "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + + "OiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAg" + + "IHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9h" + + "ZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3Vu" + + "dDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1" + + "bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkw" + + "OTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdh" + + "eSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdh" + + "eS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0Yg" + + "QVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQg" + + "b3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFu" + + "ZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + + "SUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFu" + + "ZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNl" + + "cyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpz" + + "ZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0" + + "IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + + "b2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNp" + + "bmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0" + + "aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhl" + + "IGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6" + + "CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRl" + + "Y2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBv" + + "c2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNB" + + "UlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNr" + + "IHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25m" + + "aWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2" + + "YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRy" + + "b2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1" + + "dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9u" + + "IHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + + "bWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFp" + + "biBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFs" + + "dWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdv" + + "cmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMg" + + "Y3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBk" + + "b2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUg" + + "dXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkg" + + "dGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0" + + "ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52" + + "Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3Rs" + + "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQg" + + "cG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5l" + + "cnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAK" + + "CkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0" + + "IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5k" + + "IGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlk" + + "ZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVz" + + "L3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMg" + + "SGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoK" + + "YGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1v" + + "YnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1n" + + "YXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBh" + + "IHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMg" + + "bm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + + "ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFk" + + "ZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + + "dXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + + "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + + "ZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkg" + + "d2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNr" + + "CnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250" + + "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0" + + "aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMg" + + "RW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55" + + "YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgoj" + + "IyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1l" + + "c3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVp" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlm" + + "IHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBv" + + "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + + "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBu" + + "dmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAw" + + "YC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5" + + "CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24g" + + "aXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAt" + + "biBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJs" + + "IC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + + "cmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGlu" + + "dGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4g" + + "YXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsH" + + "CDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + + "IyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5n" + + "IE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBu" + + "dmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBv" + + "ZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmln" + + "dXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQg" + + "bmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1" + + "c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMg" + + "YXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + + "c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1z" + + "eXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFs" + + "bCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + + "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + + "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJv" + + "bC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + + "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + + "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lz" + + "dHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFu" + + "ZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGlj" + + "eQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kK" + + "bWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tn" + + "cm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8t" + + "bnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoK" + + "ICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFj" + + "ZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAg" + + "ICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0" + + "ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0" + + "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAg" + + "ICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBh" + + "bm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0" + + "LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1" + + "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZl" + + "cm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBj" + + "b250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGlu" + + "c3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUt" + + "cGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmlj" + + "YXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBu" + + "ZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0" + + "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVu" + + "PWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUg" + + "ZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAg" + + "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0" + + "IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBu" + + "dmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVz" + + "cGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cu" + + "CgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBw" + + "b2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + + "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZj" + + "ci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlh" + + "XC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoK" + + "IyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + + "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBu" + + "b3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Ig" + + "b24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + + "V2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5v" + + "ZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3Ry" + + "eVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhv" + + "dXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2Vj" + + "cmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBB" + + "cnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNp" + + "bWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIElt" + + "YWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kg" + + "b25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVk" + + "LiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4g" + + "LS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + + "cyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5" + + "IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hv" + + "dWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xp" + + "Y3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRo" + + "IHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250" + + "ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYA" + + "AAAWAABQSwECFAAUAAgAAAAAACEAqlReqUoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9t" + + "YW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAA" + + "AAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQAwJPmIyQwAAMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGx" + + "aZjPDwAAzw8AADcACQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8Z" + + "AACfGQAAOQAJAAAAAAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAA" + + "GCUAADcACQAAAAAAAAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "ZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAA" + + "PQAJAAAAAAAAAAAAAABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFn" + + "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYp" + + "AAA6AAkAAAAAAAAAAAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2lu" + + "c3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcA" + + "ADkACQAAAAAAAAAAAAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90" + + "YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAu" + + "AAkAAAAAAAAAAAAAAI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJk" + + "b3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA" + + "1kMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQAL+38oBg8AAAYPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQCEOzadc1MAAHNTAAAtAAkAAAAAAAAAAAAAAGJ4AQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsz49" + + "ZgsfAAALHwAANwAJAAAAAAAAAAAAAAA5zAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + + "ZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIA" + + "AEliAAAsAAkAAAAAAAAAAAAAALLrAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAA" + + "AAAAAF5OAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + + "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAE6UC" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA+M0CAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAA" + + "AACN/gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAA" + + "AAC0LwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxt" + + "ZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJ" + + "AAAAAAAAAAAAAAA5WgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYA" + + "AD4ACQAAAAAAAAAAAAAAaGIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + + "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAN14AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 7e593e0687..176d70cb7f 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -678,6 +678,13 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn stackNamedRegistry := false if host, path, _ := strings.Cut(stack.ImageRegistry, "/"); host != "" { scope := strings.Trim(strings.Join([]string{strings.Trim(path, "/"), stack.ImageRepository}, "/"), "/") + // One segment is an org with no team, which is no repository, and + // nvcr.io answers that scope with 400 "malformed token scope": a + // probe that could then only report it unverifiable, a revoked key + // included. With no scope the token endpoint still judges the key. + if !strings.Contains(scope, "/") { + scope = "" + } // If it's an NGC registry, mark critical; customer mirrors are non-critical. stackNamedRegistry = add(host, scope, isNGCRegistry(host)) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 4a238d2b9f..9e1de04c4d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -529,7 +529,37 @@ certManager: got := EnumerateRegistries("", LoadStackValues([]string{values}), nil) require.Len(t, got, 1) assert.Equal(t, "harbor.corp.example", got[0].Registry) - assert.Equal(t, "nvcf", got[0].RepoHint) + assert.Empty(t, got[0].RepoHint, "one segment is no repository, so no scope") + + require.NoError(t, writeFile(values, []byte(` +global: + image: + registry: harbor.corp.example/nvcf + repository: org +`))) + got = EnumerateRegistries("", LoadStackValues([]string{values}), nil) + require.NotEmpty(t, got) + assert.Equal(t, "nvcf/org", got[0].RepoHint) +} + +// An org with no team is no repository: nvcr.io answers that scope with 400 +// "malformed token scope", which could only be graded unverifiable. The +// stack's row sends no scope then, so a revoked key still fails the run. +func TestEnumerateRegistries_OrgOnlyStackRepositoryIsNoScope(t *testing.T) { + stack := StackValues{Found: true, ImageRegistry: "nvcr.io", ImageRepository: "myorg"} + got := EnumerateRegistries("", stack, nil) + require.Len(t, got, 1) + assert.Equal(t, RegistryEntry{Registry: "nvcr.io", Critical: true}, got[0]) + + ngc := newFakeNGC(t, "good-key") + dockerHome(t, `{}`) + t.Setenv("NGC_API_KEY", "revoked-key") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(true)) + r := registryCredentialCheck(probeRegistryCredential, got[0], "nvcr.io", false).Run(ctx) + assert.False(t, r.Passed) + assert.Equal(t, SeverityError, r.Severity, r.Message) + assert.Contains(t, r.Message, "credentials from NGC_API_KEY rejected") + assert.Equal(t, []string{"revoked-key"}, ngc.passwords()) } // A rejected registry value must not count as a source naming a registry: @@ -715,8 +745,9 @@ func newFakeRegistry( } // fakeNGC stands in for nvcr.io: every registry request the test makes, -// whatever its host, reaches it. Its token endpoint accepts only the password -// goodPass, and a token it issued lists the tags of any repository. +// whatever its host, reaches it. Its token endpoint refuses a one-segment +// repository scope with 400, as nvcr.io does, and accepts only the password +// goodPass. A token it issued lists the tags of any repository. type fakeNGC struct { mu sync.Mutex sent []string @@ -739,6 +770,12 @@ func newFakeNGC(t *testing.T, goodPass string) *fakeNGC { f.mu.Lock() f.sent = append(f.sent, pass) f.mu.Unlock() + scope := r.URL.Query().Get("scope") + if repo := strings.TrimSuffix(strings.TrimPrefix(scope, "repository:"), ":pull"); scope != "" && + !strings.Contains(repo, "/") { + http.Error(w, "malformed token scope", http.StatusBadRequest) + return + } if pass != goodPass { w.WriteHeader(http.StatusUnauthorized) return From 94b0964a01c2a561d6c219ac2b3901ae74617322 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:46:20 +0530 Subject: [PATCH 080/127] docs(nvcf-cli): bring the credential-order and post-install grading comments in line with the NGC key fallback Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 3 ++- src/clis/nvcf-cli/internal/selfhosted/preflight.go | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index f9625ac70e..476b29d890 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -647,7 +647,8 @@ func resolveStackEnv() string { // preferNGCKey reports whether the NGC API key goes ahead of the docker login // for nvcr.io: only where up mints its pull secrets from the key, before a -// local install. Anywhere else the docker login is what docker uses. +// local install. Anywhere else the docker login is what docker uses, and the +// key is sent only when there is none or nvcr.io rejects it. func preferNGCKey() bool { return !checkScopeIsPostInstall() && strings.EqualFold(resolveStackEnv(), "local") } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 02950f2159..a4948e3bf8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -267,8 +267,8 @@ type PreflightConfig struct { Interrupted func() bool // RegistryPostInstall marks a run that checks an installed stack. The - // cluster then pulls with its own pull secrets, so a rejected NGC API key - // from this machine's environment is a warning rather than an error. + // cluster then pulls with its own pull secrets, so a credential of this + // machine's that a registry rejects is a warning rather than an error. RegistryPostInstall bool } From f882bdd90a52493fdfe9c675b0c04b6f9465a87c Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:51:31 +0530 Subject: [PATCH 081/127] test(nvcf-cli): give the mirrored stack fixtures two-segment repositories so they still show the stack scope Signed-off-by: rohithb --- .../nvcf-cli/cmd/self_hosted_check_stackvalues_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index d02ecfcabf..e9f4f799d6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -238,7 +238,7 @@ func mirroredStack(t *testing.T) string { []byte("global:\n image:\n registry: nvcr.io\n repository: YOUR_ORG/YOUR_TEAM\n"+ "certManager:\n enabled: true\n"), 0o644)) require.NoError(t, os.WriteFile(filepath.Join(envDir, "prod.yaml"), - []byte("global:\n image:\n registry: harbor.corp.example\n repository: nvcf\n"+ + []byte("global:\n image:\n registry: harbor.corp.example\n repository: nvcf/site\n"+ "certManager:\n acmesolver:\n image:\n repository: harbor.corp.example/jetstack/acmesolver\n"), 0o644)) return stack } @@ -254,7 +254,7 @@ func TestCheck_RegistriesNeedTheEnvironmentFile(t *testing.T) { stack := mirroredStack(t) got := registryProbes(t, "--control-plane", "--env", "prod", "--control-plane-stack", stack) - assert.Equal(t, map[string]bool{"harbor.corp.example/nvcf": false}, got, + assert.Equal(t, map[string]bool{"harbor.corp.example/nvcf/site": false}, got, "the install's mirror is probed, and neither nvcr.io nor quay.io is") for name, args := range map[string][]string{ @@ -268,7 +268,7 @@ func TestCheck_RegistriesNeedTheEnvironmentFile(t *testing.T) { got := registryProbes(t, args...) assert.Contains(t, got, "nvcr.io") assert.False(t, got["nvcr.io"], "a guessed nvcr.io is never critical") - assert.NotContains(t, got, "harbor.corp.example/nvcf") + assert.NotContains(t, got, "harbor.corp.example/nvcf/site") }) } } @@ -282,11 +282,11 @@ func TestCheck_ComputeOnlyRunReadsTheComputePlaneStack(t *testing.T) { envDir := filepath.Join(gpuStack, "environments") require.NoError(t, os.MkdirAll(envDir, 0o755)) require.NoError(t, os.WriteFile(filepath.Join(envDir, "prod.yaml"), - []byte("global:\n image:\n registry: gpu-mirror.example.com\n repository: site\n"), 0o644)) + []byte("global:\n image:\n registry: gpu-mirror.example.com\n repository: site/gpu\n"), 0o644)) got := registryProbes(t, "--compute-plane", "--cluster-name", "gpu", "--env", "prod", "--control-plane-stack", mirroredStack(t), "--compute-plane-stack", gpuStack) - assert.Equal(t, map[string]bool{"gpu-mirror.example.com/site": false}, got) + assert.Equal(t, map[string]bool{"gpu-mirror.example.com/site/gpu": false}, got) } // A malformed --cluster-validator-registries entry fails the command naming From 884367190ed997da72b4c70d3b6b40bf6aae7ac4 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:52:10 +0530 Subject: [PATCH 082/127] fix(nvcf-cli): word the rejected docker login note as advice to renew it rather than a claim that docker cannot pull Signed-off-by: rohithb --- src/clis/nvcf-cli/internal/selfhosted/registry_cred.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 176d70cb7f..4998a37e04 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -235,18 +235,18 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri detail: "could not verify credentials from this machine: " + te.msg + note}) } -// isRejectedExchange reports a token exchange the registry refused the -// credential it was sent. +// isRejectedExchange reports whether a token exchange failed because the +// registry refused the credential it was sent. func isRejectedExchange(err error) bool { var te *tokenExchangeError return errors.As(err, &te) && te.rejected() } // rejectedLoginNote says that registry rejected the docker login read from -// source, and how to renew it for docker on this machine. +// source, which docker on this machine still sends, and how to renew it. func rejectedLoginNote(registry, source string) string { - return fmt.Sprintf("the docker login from %s was rejected, so docker on this machine cannot pull from %s "+ - "until: docker login %s --username '$oauthtoken'", source, registry, registry) + return fmt.Sprintf("the docker login from %s was rejected, and docker on this machine still sends it; "+ + "renew it with: docker login %s --username '$oauthtoken'", source, registry) } // anonymousOutcome grades a registry that let this machine in without a From f82c531477703d76bb229c7bf8920c0ff01e4d67 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:40:06 +0530 Subject: [PATCH 083/127] fix(nvcf-cli): poll again on nodes the inotify probe budget did not reach, and drop the probe pod resources Signed-off-by: rohithb --- .../cmd/self_hosted_check_rows_test.go | 40 ++++++++++++++++++- .../internal/selfhosted/inotify_probe.go | 25 +++++------- .../internal/selfhosted/inotify_probe_test.go | 10 +++-- .../nvcf-cli/internal/selfhosted/preflight.go | 9 +++++ .../internal/selfhosted/preflight_test.go | 36 +++++++++++++++++ 5 files changed, 101 insertions(+), 19 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index a1aad4d3ab..e6420739ef 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -46,6 +46,7 @@ const pinnedValidatorImage = "nvcr.io/nvidia/nvcf-byoc/cluster-validator:1.0.0" // checkStubs replaces what a recorded check run would reach outside the test. type checkStubs struct { stale func(ctx context.Context) ([]selfhosted.StaleNamespace, error) + inotify func(ctx context.Context) ([]selfhosted.NodeInotifyLimits, error) validator func(ctx context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult tools func() []selfhosted.BinarySpec budget time.Duration // 0 keeps the requested budget @@ -144,10 +145,13 @@ func runCheck(t *testing.T, stubs checkStubs, args ...string) checkRun { } } newInotifyProberForSelfHosted = func(string) selfhosted.NodeInotifyProber { - return func(_ context.Context, kubeContext string) ([]selfhosted.NodeInotifyLimits, error) { + return func(ctx context.Context, kubeContext string) ([]selfhosted.NodeInotifyLimits, error) { mu.Lock() run.inotify = append(run.inotify, kubeContext) mu.Unlock() + if stubs.inotify != nil { + return stubs.inotify(ctx) + } return []selfhosted.NodeInotifyLimits{{NodeName: "n1", MaxUserInstances: 8192, MaxUserWatches: 524288}}, nil } } @@ -494,6 +498,40 @@ func TestCheck_WaitDeadlineBeatsTheTicker(t *testing.T) { } } +// --wait polls again while the inotify probe's budget leaves nodes unprobed: +// one of them may be below the limits. A single run still exits 0 on the +// warning. +func TestCheck_WaitPollsOnNodesTheInotifyProbeDidNotReach(t *testing.T) { + prev := checkPollInterval + checkPollInterval = 10 * time.Millisecond + t.Cleanup(func() { checkPollInterval = prev }) + probed := selfhosted.NodeInotifyLimits{NodeName: "n1", MaxUserInstances: 8192, MaxUserWatches: 524288} + calls := 0 + inotify := func(context.Context) ([]selfhosted.NodeInotifyLimits, error) { + calls++ + if calls == 1 { + return []selfhosted.NodeInotifyLimits{probed, {NodeName: "n2", OutOfBudget: true, + Err: errors.New("not probed: the inotify probe's 1m40s budget ran out")}}, nil + } + return []selfhosted.NodeInotifyLimits{probed, + {NodeName: "n2", MaxUserInstances: 8192, MaxUserWatches: 524288}}, nil + } + args := []string{"--compute-plane", "--skip-cluster-validation"} + + run := runCheck(t, checkStubs{inotify: inotify}, args...) + assert.Equal(t, 0, run.code(), run.stderr) + row := run.row(t, "compute-plane-cluster", "node-inotify-limits") + require.NotNil(t, row) + assert.Equal(t, "warning", row["severity"]) + assert.Equal(t, true, row["transient"]) + + calls = 0 + run = runCheck(t, checkStubs{inotify: inotify}, append(args, "--wait", "30s")...) + assert.Equal(t, 0, run.code(), run.stderr) + assert.Equal(t, 2, calls, "the second poll reached every node") + assert.Equal(t, "ok", finalEvent(t, run.stderr)["verdict"]) +} + // Every flag set in both topologies: which roles run and where, what each // validator is told, which clusters are probed, and the budget. func TestCheck_FlagAndTopologyMatrix(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index fc34745db8..10e39e7000 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -30,7 +30,6 @@ import ( "golang.org/x/sync/errgroup" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes" @@ -207,8 +206,11 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin // the parsed limits or a per-node error. func probeOneNode( ctx context.Context, client kubernetes.Interface, run *probeRun, nodeName, image string, -) NodeInotifyLimits { - res := NodeInotifyLimits{NodeName: nodeName} +) (res NodeInotifyLimits) { + res = NodeInotifyLimits{NodeName: nodeName} + // ctx is the whole probe's, so a failure once it ended is the budget's, + // not the node's. + defer func() { res.OutOfBudget = res.Err != nil && ctx.Err() != nil }() if ctx.Err() != nil { res.Err = fmt.Errorf("not probed: the inotify probe's %s budget ran out", inotifyProbeBudget) return res @@ -289,18 +291,11 @@ func buildInotifyProbePod(nodeName, runID, image string) *corev1.Pod { Name: inotifyProbeContainer, Image: image, Command: []string{"sh", "-c", inotifyProbeShellCmd}, - // Requests let the pod in under a namespace LimitRange or - // quota that requires them. - Resources: corev1.ResourceRequirements{ - Requests: corev1.ResourceList{ - corev1.ResourceCPU: resource.MustParse("10m"), - corev1.ResourceMemory: resource.MustParse("16Mi"), - }, - Limits: corev1.ResourceList{ - corev1.ResourceCPU: resource.MustParse("100m"), - corev1.ResourceMemory: resource.MustParse("32Mi"), - }, - }, + // No requests: the pod is pinned with NodeName, so the + // kubelet admits it against the node's free capacity, and + // any request has it rejected OutOfcpu or OutOfmemory on a + // fully requested node, the busiest ones. No limits either: + // a limit without a request sets the request to it. SecurityContext: &corev1.SecurityContext{ RunAsNonRoot: &runAsNonRoot, ReadOnlyRootFilesystem: &readOnlyRoot, diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index 7516ca2925..95aa50550a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -77,6 +77,7 @@ func TestProbeAllNodes_PodCreateErrorSurfacesPerNode(t *testing.T) { require.Error(t, r.Err, "per-node create failure must surface as NodeInotifyLimits.Err") assert.Contains(t, r.Err.Error(), "create probe pod") assert.Contains(t, r.Err.Error(), r.NodeName) + assert.False(t, r.OutOfBudget, "the node's own failure, not the budget's") } } @@ -112,6 +113,7 @@ func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { notProbed := 0 for _, r := range results { require.Error(t, r.Err, r.NodeName) + assert.True(t, r.OutOfBudget, "%s: stopped in flight or never reached, a later run may probe it", r.NodeName) if strings.Contains(r.Err.Error(), "not probed: the inotify probe's 500ms budget ran out") { notProbed++ } @@ -156,9 +158,11 @@ func TestBuildInotifyProbePodShape(t *testing.T) { require.NotNil(t, pod.Spec.Volumes[0].HostPath) assert.Equal(t, "/", pod.Spec.Volumes[0].HostPath.Path) - assert.False(t, c.Resources.Requests.Cpu().IsZero(), "a LimitRange or quota needs requests") - assert.False(t, c.Resources.Requests.Memory().IsZero(), "a LimitRange or quota needs requests") - assert.False(t, c.Resources.Limits.Memory().IsZero()) + // Pinned with NodeName, the pod is admitted against the node's free + // capacity: a request has it rejected on a fully requested node. A limit + // alone would become the request. + assert.Empty(t, c.Resources.Requests) + assert.Empty(t, c.Resources.Limits) require.NotNil(t, pod.Spec.SecurityContext) require.NotNil(t, pod.Spec.SecurityContext.RunAsUser) assert.NotZero(t, *pod.Spec.SecurityContext.RunAsUser, "the sysctls are world-readable, so root is not needed") diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index a4948e3bf8..709e5b59d5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -633,6 +633,9 @@ type NodeInotifyLimits struct { MaxUserInstances int64 MaxUserWatches int64 Err error + // OutOfBudget marks an Err caused by the probe's budget running out + // before this node's probe finished. A later run may reach the node. + OutOfBudget bool } // NodeInotifyProber returns one NodeInotifyLimits per cluster node, or a @@ -669,9 +672,11 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS return r } var failing, probeErrs []string + outOfBudget := false for _, l := range limits { if l.Err != nil { probeErrs = append(probeErrs, fmt.Sprintf("%s: %v", l.NodeName, l.Err)) + outOfBudget = outOfBudget || l.OutOfBudget continue } if l.MaxUserInstances < minInotifyMaxUserInstances || l.MaxUserWatches < minInotifyMaxUserWatches { @@ -705,6 +710,10 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS "could not probe inotify limits on %d node(s): %s", len(probeErrs), strings.Join(probeErrs, "; "), ) + // A node the budget did not reach may be below the limits, + // so --wait polls again: a later run, on warm image caches, + // gets further. + r.Transient = outOfBudget return r } r.Passed = true diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index cea0aee94f..cc8b5e1cc7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -625,6 +625,42 @@ func TestNodeInotifyCheck_PerNodeProbeError(t *testing.T) { assert.Equal(t, SeverityWarning, got.Severity, "probe failures degrade to warning, not error") assert.Contains(t, got.Message, "node-b") assert.Contains(t, got.Message, "forbidden") + assert.False(t, got.Transient, "a denied create does not clear by itself") +} + +// A node the probe's budget did not reach may be below the limits, so the +// warning is transient and --wait polls again. A limit violation found beside +// it is an error, never transient. +func TestNodeInotifyCheck_NodesTheBudgetDidNotReachAreTransient(t *testing.T) { + notReached := NodeInotifyLimits{NodeName: "node-b", OutOfBudget: true, + Err: errors.New("not probed: the inotify probe's 1m40s budget ran out")} + ok := NodeInotifyLimits{NodeName: "node-a", MaxUserInstances: 8192, MaxUserWatches: 524288} + low := NodeInotifyLimits{NodeName: "node-a", MaxUserInstances: 128, MaxUserWatches: 524288} + for name, tc := range map[string]struct { + limits []NodeInotifyLimits + wantSeverity Severity + wantTransient bool + }{ + "not reached": { + limits: []NodeInotifyLimits{ok, notReached}, + wantSeverity: SeverityWarning, + wantTransient: true, + }, + "not reached beside a violation": { + limits: []NodeInotifyLimits{low, notReached}, + wantSeverity: SeverityError, + }, + } { + res := RunPreflightForRole(context.Background(), PreflightConfig{}, RoleComputePlane, RoleConfig{ + InotifyProber: func(context.Context, string) ([]NodeInotifyLimits, error) { return tc.limits, nil }, + }, &captureSink{}) + got := findResult(res, "node-inotify-limits") + require.NotNil(t, got, name) + assert.False(t, got.Passed, name) + assert.Equal(t, tc.wantSeverity, got.Severity, name) + assert.Equal(t, tc.wantTransient, got.Transient, name) + assert.Contains(t, got.Message, "node-b: not probed", name) + } } func TestNodeInotifyCheck_ClusterWideProbeError(t *testing.T) { From 5693c88b0b4370797873ae9649a730a3390116d4 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:44:07 +0530 Subject: [PATCH 084/127] fix(nvcf-cli): pass a succeeded validator Job whose transcript cannot be read, with a note, so --wait accepts it Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 3 + .../reference/troubleshooting.md | 1 + .../cmd/self_hosted_check_scope_test.go | 18 + .../agentskill/skilldata_generated.go | 4523 +++++++++-------- .../clustervalidator_lifecycle_test.go | 27 +- .../nvcf-cli/internal/selfhosted/preflight.go | 20 +- 6 files changed, 2329 insertions(+), 2263 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 50073635fe..708b31a14d 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -48,6 +48,9 @@ The validator runs as a Job in the cluster being checked. The CLI creates a ServiceAccount, ClusterRole, and ClusterRoleBinding for it, plus a Role and RoleBinding in `default` that let it read only its own ConfigMap, and removes them after the run, so the kubeconfig context needs permission to manage those. +It reads the validator's transcript with `get` on `pods/log` in `default`. +Without it, a validator Job that succeeded still passes, and its row says the +transcript could not be read, so warnings it reported are not shown. The ClusterRole grants only the calls each role's checks make: reads, the namespace, DaemonSet and pod writes of the control-plane node-to-node probe, and deleting test namespaces an earlier validator run left behind. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index 03578f6cc9..030f088f8a 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -16,6 +16,7 @@ transcript. | `helm not found on PATH` | Same | https://helm.sh/docs/intro/install/ | | `cluster-validator not run: cluster_validator_image is not set; ...`, warning | No validator image is configured, so the cluster was not validated | Set `cluster_validator_image` in the nvcf-cli config, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE` or `--cluster-validator-image` | | `cluster-validator did not complete, so the cluster was not validated: ...`, error | The validator could not run or ended before its verdict: RBAC denied, image pull failure, its own timeout | Fix the cause the message names, or pass `--skip-cluster-validation` | +| `cluster-validator Job succeeded; its transcript could not be read (...)`, passed | The validator passed, but its log could not be read: the kubeconfig user lacks `get` on `pods/log` in `default`, or the API server cannot reach the kubelet. Warnings it reported are not shown | Grant `get` on `pods/log` in `default`, or read the transcript with the `kubectl logs` command in the row | | `cluster-validator reported failures: Gateway API CRDs: Not Installed` | Envoy Gateway prereq missing | `helm install eg oci://docker.io/envoyproxy/gateway-helm --namespace=envoy-gateway-system --create-namespace` | | `cluster-validator reported failures: Default StorageClass: Not Found` | Cluster has no default SC, and the stack does not name one | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'`, or set `global.storageClass` in the stack's environment file (or `NVCF_STORAGE_CLASS`) to the class the stack uses | | `cluster-validator reported failures: GPU Resources: Not Available` (compute-plane) | No node advertises an allocatable GPU: no GPU nodes, or the NVIDIA GPU Operator is missing or not working | Install per https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/install-gpu-operator.html, OR use `fake-gpu-operator` for dev. `GPU Operator: Not Installed` alone is a warning | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 3a55a6f2c2..924b138697 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -338,6 +338,24 @@ func TestCheck_WaitTimeoutOnARolloutIsNotASuccess(t *testing.T) { assert.EqualValues(t, 0, final["failedCount"]) } +// A validator Job that succeeded is the validator's verdict even when its +// transcript cannot be read, so --wait accepts the first poll instead of +// starting a new Job on every poll until it times out. +func TestCheck_WaitAcceptsASucceededValidatorWhoseTranscriptCannotBeRead(t *testing.T) { + calls := 0 + err, stderr := runCheckWithBudget(t, time.Minute, func(context.Context) selfhosted.ClusterValidatorResult { + calls++ + return selfhosted.ClusterValidatorResult{Passed: true, JobName: "cv-1", + LogsErr: errors.New(`pods "cv-1-abc" is forbidden: cannot get resource "pods/log"`)} + }, "--wait", "30s") + require.NoError(t, err) + assert.Equal(t, 1, calls) + row := validatorRow(t, stderr) + assert.Equal(t, true, row["passed"]) + assert.Contains(t, row["message"], "its transcript could not be read") + assert.Equal(t, "ok", finalEvent(t, stderr)["verdict"]) +} + // The dashboard's quit key interrupts the run as a signal does: exit 130. A // validator that kept objects in the cluster still says how to remove them: // at once, before its teardown, and again on stderr once the dashboard is diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 21378d8300..f4e6dfcdcb 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjA5MDAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjE1MTAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,12 +71,12 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNWY4ZjAxZTI2YmZhZjA5ZTU0" + "MDQ0ZDY2NGQ3MjM3MzgyZjMwZjllZTZmYTZhZmQ2YWMyYWY5ZTdiYTVhZWI4IiwKICAgICAgInNp" + "emUiOiAzODQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3MDhjZDVlMjQ0ODJjN2Nm" + - "ZWVlMGY1NDg3YTc3ZjAyNDQ2M2Q1MTVlN2ExZjhhNGE3YzBiZWE4NGY2MzY3ZTcwIiwKICAgICAg" + - "InNpemUiOiAyMTM2MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjEy" + - "ODk1MTYzNmI4Y2EzNmExOTU4ZjRiNGRiZjZjODcxZWE2NWI4NmExNzVjZmJmZGU5MzFjMDVhODdk" + - "ZmNlNWQiLAogICAgICAic2l6ZSI6IDc5NDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlNTU0MzQ0NTZlZTdiMDFj" + + "NDhiZjhkNzUyYzZkMzEzMmVkOWM5YTcxZjA1NWQ1ZDAyYTJjMTIzY2E1ZjkwMDQ4IiwKICAgICAg" + + "InNpemUiOiAyMTU4NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImUx" + + "YTc3NzJmMWI1YjliNDJlY2JiNGZiNmU4ZDMzODQ2NTZkZGUyNmJmNWE1NDRmMGFkZTYyYzkwMWZl" + + "NjQyYjkiLAogICAgICAic2l6ZSI6IDgzMzUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCKpUXqlKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCDUoHTJKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1804,2267 +1804,2278 @@ const skillDataZipBase64 = "" + "b2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVC" + "aW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRzIG93biBDb25maWdN" + "YXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29u" + - "dGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KVGhlIENsdXN0ZXJSb2xlIGdy" + - "YW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpu" + - "YW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBu" + - "b2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGll" + - "ciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQg" + - "fAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlk" + - "YXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + - "SURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJl" + - "ZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJl" + - "Z2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBu" + - "b3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsg" + - "YC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhl" + - "IHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRv" + - "cmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAg" + - "fCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMg" + - "bWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9s" + - "LXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMg" + - "aW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lz" + - "dHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lz" + - "dHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFn" + - "ZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNv" + - "bHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNl" + - "cnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdh" + - "cm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEg" + - "cmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUg" + - "cG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJl" + - "cGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + - "QVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmll" + - "c2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2Ug" + - "Zm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRv" + - "cidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gt" + - "c3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBO" + - "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0" + - "ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1" + - "YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4uLmAg" + - "fCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5vdCBh" + - "dCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhlbSBpbiB0aGUgY2x1" + - "c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBBbiB1" + - "bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJh" + - "dGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRvIHRo" + - "ZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJvbm1l" + - "bnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NMVVNU" + - "RVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVz" + - "dGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9s" + - "ZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1w" + - "bGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNl" + - "IG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVg" + - "IG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVw" + - "ZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + - "VE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlv" + - "bnNgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2Nr" + - "ZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRv" + - "ciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNy" + - "ZWF0ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0" + - "LCBpdCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZy" + - "b20gYSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhl" + - "IHJ1bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMg" + - "bWFjaGluZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lz" + - "dHJ5LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBz" + - "YXlzIHdoYXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0" + - "ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVy" + - "IHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVk" + - "IGJ1dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBl" + - "eHBsaWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBp" + - "bWFnZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQg" + - "aW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9T" + - "S0lQX0NMVVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtl" + - "ZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25m" + - "aWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRz" + - "IGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJl" + - "dHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBB" + - "IGxhdGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRo" + - "ZXkgYXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51" + - "cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQg" + - "cmVtb3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFs" + - "c2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0" + - "byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12" + - "YWxpZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwg" + - "d2hlcmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRl" + - "LXBsYW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25g" + - "IGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBp" + - "cyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFs" + - "cwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3" + - "aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRE" + - "T0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRo" + - "cm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNy" + - "LmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdD" + - "X0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElf" + - "S0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUg" + - "ZG9ja2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxg" + - "IGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0" + - "LCBhbmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhl" + - "IGtleQppcyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNy" + - "LmlvYCByZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXks" + - "IGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBh" + - "bmQgdGhlIHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2Vu" + - "ZHMuCkVhY2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEg" + - "bG9naW4gcmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xs" + - "LgoKVGhlIHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2Un" + - "cyByZXBvc2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBg" + - "Z2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBB" + - "IHN0YWNrIHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwg" + - "aXMgbm90IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9u" + - "bHkgYSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBv" + - "bmx5IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4g" + - "QWZ0ZXIgaW5zdGFsbCBhIHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0" + - "aGUgY2x1c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhp" + - "cwptYWNoaW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBh" + - "IG1pc3NpbmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHBy" + - "b2JlIGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgs" + - "IGlzIHNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3Ry" + - "eSB0aGF0IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1" + - "Y2gsIG5vdCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhl" + - "IHN0YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBF" + - "YWNoIG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3" + - "aW5zIG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVu" + - "diBhbmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jl" + - "c3MuZ2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJv" + - "dXRlczogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAs" + - "IGBuYXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBs" + - "bG1RdWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRF" + - "V0FZX05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4g" + - "QSBiYXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQg" + - "c2tpcHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGlu" + - "Z3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVX" + - "QVlfTkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9g" + - "IG9yIGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAg" + - "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhU" + - "RVJOQUxfQ09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNz" + - "YC4gV2hlbiBzZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMg" + - "aW5zdGVhZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFT" + - "U2AgfAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8" + - "CnwgT3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1p" + - "bWFnZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUg" + - "YWxzbyBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5" + - "CndoZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5h" + - "bWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0" + - "IGlzIG5vdCB1c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAu" + - "IGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0" + - "aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2Ug" + - "dGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGly" + - "ZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBj" + - "b21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxl" + - "Oi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMg" + - "Y29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0" + - "YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGly" + - "ZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0" + - "aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZj" + - "ci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1l" + - "IE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBg" + - "LS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVn" + - "aW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9u" + - "bHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBg" + - "ZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUg" + - "Y29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAg" + - "fCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBg" + - "LS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBj" + - "b21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFu" + - "ZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0" + - "ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWly" + - "ZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8Cnwg" + - "YC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdu" + - "b3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3Rz" + - "IHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2Ag" + - "fCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0" + - "ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBm" + - "b3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERV" + - "UkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0" + - "ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3Zl" + - "cnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0" + - "cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlh" + - "dGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czog" + - "YHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3" + - "YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUg" + - "RklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMu" + - "IEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2Ug" + - "SU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwg" + - "Q29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBP" + - "UlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBE" + - "RUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBg" + - "LS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENh" + - "biBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBM" + - "TE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVy" + - "bmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAt" + - "LWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAg" + - "fCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2Rl" + - "bCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVy" + - "aT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7" + - "IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwg" + - "YE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpT" + - "T04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29t" + - "bWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkg" + - "UFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dl" + - "ciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50" + - "LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlk" + - "ZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRl" + - "cy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5l" + - "IHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVs" + - "IHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcu" + - "dXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9z" + - "ZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2Nv" + - "bXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNv" + - "bmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29g" + - "LCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50" + - "b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRp" + - "dmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBv" + - "cnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3Vycyks" + - "IGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29t" + - "YmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAw" + - "LUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5k" + - "ZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBm" + - "dW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hh" + - "cnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVh" + - "dGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2Vydmlj" + - "ZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9u" + - "IHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUg" + - "ZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1l" + - "IGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQ" + - "SSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24g" + - "c3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBk" + - "YXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0t" + - "bGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08" + - "bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJl" + - "cGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1p" + - "dCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxp" + - "bWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNl" + - "IHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZh" + - "dWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxs" + - "bS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJp" + - "b3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5D" + - "QSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpT" + - "T04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdp" + - "dGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1D" + - "b25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFk" + - "YXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBs" + - "b3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAo" + - "ZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0" + - "aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgx" + - "MDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAg" + - "fAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1p" + - "bnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1" + - "cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBs" + - "aWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1" + - "dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVj" + - "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0" + - "YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3Rl" + - "cyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkg" + - "fCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUg" + - "R1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1w" + - "bGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJl" + - "cXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8x" + - "eGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1" + - "c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + - "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1p" + - "bWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJ" + - "IGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNr" + - "ZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5B" + - "TUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBh" + - "cmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVu" + - "Y2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAt" + - "LWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRh" + - "aW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMg" + - "TkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVu" + - "Y3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdh" + - "bGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBv" + - "bWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0" + - "aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZh" + - "dWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBl" + - "cmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhg" + - "IHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFz" + - "ayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAg" + - "fCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2Rl" + - "bC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8" + - "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZh" + - "Y3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBD" + - "b21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlv" + - "biB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5k" + - "cG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3Mg" + - "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlE" + - "YCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCIQ7Np1zUwAAc1MAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25v" + - "d24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBL" + - "ZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVR" + - "LTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRv" + - "IGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5" + - "LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVj" + - "a19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlz" + - "IHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUg" + - "dmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRz" + - "IHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3Mg" + - "YCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBv" + - "dGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJ" + - "bnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rv" + - "b2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBT" + - "YW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8" + - "CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2Nz" + - "L2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92" + - "YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBp" + - "bWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNl" + - "dCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNG" + - "X0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1h" + - "Z2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0" + - "ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBu" + - "b3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1" + - "bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBu" + - "YW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZh" + - "bGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxl" + - "ZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6" + - "Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJl" + - "cG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0" + - "ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBB" + - "bm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJh" + - "bm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNz" + - "IjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sn" + - "cyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNz" + - "IHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6" + - "IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUg" + - "YWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJ" + - "QSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0" + - "dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRv" + - "ci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVy" + - "YXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3" + - "YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzog" + - "Li4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcg" + - "Zm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBm" + - "YWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6" + - "ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwg" + - "Z2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hh" + - "dCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0" + - "aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBh" + - "cyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGlu" + - "ZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBz" + - "dGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNo" + - "ZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0" + - "aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0g" + - "cmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFu" + - "IGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQg" + - "dGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAg" + - "ZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQg" + - "YGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhl" + - "bG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDog" + - "YDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5v" + - "IHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1l" + - "IGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVp" + - "bnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0" + - "bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJn" + - "cyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRg" + - "LiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxz" + - "byBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8g" + - "SGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2Vz" + - "IHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAg" + - "ZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZp" + - "cm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBj" + - "aGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBn" + - "YXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBh" + - "cmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFu" + - "ZS1zdGFja2Agb3IgYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ss" + - "IGdhdGVzIGNvbWUgZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBg" + - "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55" + - "YW1sYDsgb3RoZXJ3aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2Fp" + - "LXNjaGVkdWxlcmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVp" + - "YCBvZmYgfCBQb2ludCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJv" + - "bSBhbmQgcGFzcyB0aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAo" + - "aW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3Qg" + - "cGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAt" + - "LW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIg" + - "YWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUg" + - "c2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNm" + - "LWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyBy" + - "ZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9l" + - "c24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxs" + - "IC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0" + - "ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFz" + - "czsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYElu" + - "dmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBX" + - "cm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJn" + - "cHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJl" + - "Z2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21w" + - "dXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0" + - "eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwK" + - "fCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmlu" + - "ZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZh" + - "YTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1j" + - "bGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFn" + - "ZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1" + - "c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2Ug" + - "aW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMj" + - "IENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0" + - "MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1" + - "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIg" + - "SUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVz" + - "aCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVy" + - "IElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBj" + - "b21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVy" + - "IHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFj" + - "a09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcg" + - "bWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQg" + - "PHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kg" + - "c3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xk" + - "LWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBg" + - "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0" + - "cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + - "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNz" + - "aW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVz" + - "aW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnkt" + - "Y3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + - "bGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdh" + - "dGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFs" + - "cyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWlu" + - "KSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMg" + - "fCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiBy" + - "b2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkg" + - "fApQSwcIsz49ZgsfAAALHwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5k" + - "IG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21w" + - "dXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + - "ZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwg" + - "c2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBp" + - "bnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNv" + - "bnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1o" + - "b3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50" + - "czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5z" + - "ZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8" + - "IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcg" + - "Y2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + - "aGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFu" + - "YWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5l" + - "LCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRv" + - "b2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFs" + - "OiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + - "bnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2Vk" + - "LCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNs" + - "aS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5n" + - "dWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0" + - "bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdl" + - "ZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBj" + - "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0" + - "cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93" + - "biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVh" + - "ZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + - "Lm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3Ig" + - "dGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBp" + - "bnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wt" + - "cGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVu" + - "dHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBk" + - "b3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyBy" + - "ZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + - "b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFu" + - "ZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNw" + - "bGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRl" + - "eHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMg" + - "TXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lv" + - "biAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBp" + - "bmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11" + - "c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFu" + - "ZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMg" + - "aGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBg" + - "CgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1s" + - "YCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fu" + - "b25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9u" + - "dmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxv" + - "dwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1v" + - "biBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1s" + - "ICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFs" + - "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNo" + - "YXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + - "ICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5s" + - "aW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDog" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRv" + - "IGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCBy" + - "ZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBl" + - "bnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtP" + - "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVl" + - "cykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQg" + - "aW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNo" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "ZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5H" + - "QyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + - "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRz" + - "LCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJl" + - "bmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4K" + - "CiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBk" + - "b2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBO" + - "R0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + - "byB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0" + - "ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIg" + - "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + - "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgoj" + - "IEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291" + - "bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVn" + - "aXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9y" + - "ZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9y" + - "Z3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRo" + - "ZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + - "aW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBv" + - "dmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZh" + - "aWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUg" + - "YXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNo" + - "YXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBs" + - "b2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBv" + - "ciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIg" + - "YGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVk" + - "IGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9y" + - "IGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJv" + - "bSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoK" + - "SWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNs" + - "dXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0" + - "IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + - "dGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3Rh" + - "Y2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0" + - "aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAg" + - "YGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + - "aXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBv" + - "c2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUg" + - "aGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICBy" + - "ZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhh" + - "cyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kg" + - "Y2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8v" + - "Li4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNo" + - "YXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0" + - "b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBu" + - "b3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAg" + - "ID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sg" + - "YXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJ" + - "OiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxt" + - "IHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+" + - "YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJj" + - "ZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3Rl" + - "ciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9k" + - "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBu" + - "bwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVz" + - "cGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNw" + - "YWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + - "IGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + - "ci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFw" + - "aSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rp" + - "b24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBj" + - "cmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhl" + - "IHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9y" + - "ZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9t" + - "YWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRv" + - "bWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + - "YW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZ" + - "X0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5" + - "LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + - "ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3Ru" + - "YW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVy" + - "bWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYt" + - "bWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0" + - "aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGds" + - "b2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwg" + - "YW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIg" + - "YmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9B" + - "RERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21h" + - "aW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24u" + - "IFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJl" + - "dmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNz" + - "YW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9j" + - "dW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEg" + - "Y2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQg" + - "ZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBC" + - "YWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fz" + - "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxU" + - "X0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxl" + - "IGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3Ig" + - "fCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwt" + - "LS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9w" + - "ZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkt" + - "a2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdh" + - "eSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUt" + - "MTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8" + - "IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFi" + - "aWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJh" + - "dGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4g" + - "RW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2Fi" + - "bGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9z" + - "dG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJ" + - "IGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + - "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJh" + - "Y3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJl" + - "bGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFu" + - "ZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYg" + - "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmly" + - "b25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdh" + - "eToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1" + - "bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZh" + - "bml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5k" + - "IHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdg" + - "LiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9t" + - "YWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUg" + - "c3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29u" + - "ZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNl" + - "LCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + - "eSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0" + - "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZh" + - "bml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1" + - "cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9o" + - "ZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJ" + - "LCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4g" + - "VGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMj" + - "IyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + - "dXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + - "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + - "RiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250" + - "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0" + - "aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhl" + - "bnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBl" + - "bmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZl" + - "cmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWkt" + - "YWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3Rh" + - "Y2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFu" + - "ZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29t" + - "cHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFy" + - "YXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHBy" + - "b2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4g" + - "cnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBu" + - "b3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29t" + - "bWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJk" + - "b3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFu" + - "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNh" + - "bWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25s" + - "eSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxl" + - "IHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwg" + - "YGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2Vydmlj" + - "ZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBg" + - "dmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGlu" + - "Z3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFs" + - "c28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVw" + - "IHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5h" + - "Z2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFz" + - "ZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3Ig" + - "bmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ks" + - "IGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5" + - "IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNl" + - "IHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5k" + - "YXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "ZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2" + - "YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3Jl" + - "LW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xz" + - "aXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + - "VmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtl" + - "eXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJh" + - "LnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoK" + - "IyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxl" + - "YXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxv" + - "Y2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + - "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + - "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + - "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + - "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + - "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + - "YGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVu" + - "Y3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBs" + - "YXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1w" + - "bGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUg" + - "cmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMg" + - "SW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0" + - "eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxv" + - "dyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3Jt" + - "YXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3Rz" + - "dHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0t" + - "LXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52" + - "Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3Jl" + - "YXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRv" + - "IGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3Jl" + - "dHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNy" + - "ZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0Vf" + - "UFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2Vz" + - "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGAp" + - "IHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxk" + - "cyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgi" + - "JG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3Jl" + - "ZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRo" + - "ZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhf" + - "QkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRv" + - "Y2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMg" + - "YSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZl" + - "cmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNv" + - "bmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9r" + - "ZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + - "c2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0g" + - "V3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMK" + - "PiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1h" + - "dCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxs" + - "IGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mg" + - "b2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3" + - "cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBp" + - "cyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRo" + - "b3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRv" + - "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0" + - "IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0i" + - "JEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZv" + - "ciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1" + - "YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1" + - "cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hl" + - "biBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + - "ZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZj" + - "ci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50" + - "LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAo" + - "c2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3Jpbmcg" + - "ZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGlj" + - "YXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBh" + - "dGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5" + - "dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBg" + - "aW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMg" + - "d29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0" + - "aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3Rh" + - "bGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + - "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + - "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBz" + - "ZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpm" + - "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + - "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + - "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0" + - "aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1" + - "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0" + - "IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1j" + - "cmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMg" + - "U2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1" + - "c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFN" + - "IG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3Jl" + - "dCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBj" + - "aGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAg" + - "ICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + - "bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMg" + - "Q29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0t" + - "LS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3Jp" + - "emVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3Rz" + - "LCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBz" + - "ZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3Bl" + - "bkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQt" + - "YWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + - "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8g" + - "SldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBj" + - "bHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + - "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9J" + - "REMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + - "cnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNg" + - "LCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRd" + - "KHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBP" + - "T01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92" + - "ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNr" + - "ZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENh" + - "c3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + - "UkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBj" + - "aEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2Vj" + - "cmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUt" + - "c3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9k" + - "cyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3Rs" + - "IGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNl" + - "IGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxt" + - "ZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQg" + - "Ym9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + - "aWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + - "LW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3du" + - "IGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2" + - "ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVk" + - "IHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9v" + - "ayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBo" + - "b29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1h" + - "Y2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2Vj" + - "cmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8g" + - "YC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZl" + - "cyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQg" + - "ZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0" + - "IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwK" + - "fCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRj" + - "aCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0" + - "YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19S" + - "RUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMj" + - "IFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlz" + - "IGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2Uq" + - "KgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBp" + - "dCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBg" + - "YXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQg" + - "d2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29r" + - "IG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQg" + - "ZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGll" + - "bnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4K" + - "ClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0n" + - "ey5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNl" + - "bnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0" + - "aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGlu" + - "Z2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2Nv" + - "dW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMj" + - "IEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFt" + - "cGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + - "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQg" + - "Y29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVy" + - "IGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3Jl" + - "YXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2Ug" + - "ZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + - "AKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVl" + - "c3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + - "UyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRp" + - "b25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVx" + - "dWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCks" + - "IGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwg" + - "KGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRv" + - "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + - "dCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0g" + - "My4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZp" + - "ZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGli" + - "aWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5j" + - "IHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0" + - "IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tz" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNo" + - "ZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJl" + - "bmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWlu" + - "ZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkg" + - "ZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRl" + - "JyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZl" + - "c3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdo" + - "ZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4g" + - "d2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1" + - "bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBz" + - "dHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1" + - "c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVt" + - "b3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNs" + - "ZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1l" + - "c3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + - "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + - "b3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1" + - "dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFn" + - "ZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3Zl" + - "IHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNl" + - "IC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMi" + - "LAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + - "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + - "c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0" + - "byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAg" + - "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0" + - "ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0" + - "ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZy" + - "b20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxh" + - "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdh" + - "eSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFs" + - "bGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVn" + - "aXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNv" + - "bmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUg" + - "c2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlv" + - "biB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAog" + + "dGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlk" + + "YXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4K" + + "V2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRoYXQgc3VjY2VlZGVkIHN0aWxsIHBhc3Nlcywg" + + "YW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCwgc28gd2Fy" + + "bmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBv" + + "bmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3Bh" + + "Y2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRv" + + "LW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxp" + + "ZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBp" + + "bWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9S" + + "X0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRo" + + "IG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5" + + "LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVu" + + "IGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2Fp" + + "dGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlk" + + "YXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93" + + "IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNs" + + "dXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRy" + + "YSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGlu" + + "ZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5l" + + "IHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhh" + + "cmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMg" + + "dGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0" + + "aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBv" + + "c2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1" + + "bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5h" + + "Z2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcg" + + "b25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0" + + "cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhh" + + "cyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFi" + + "bGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9S" + + "RUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAt" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRo" + + "ZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5v" + + "ZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUg" + + "YG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NM" + + "SV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + + "aWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8Cnwg" + + "YC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4uLmAgfCBTdGFj" + + "ayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5vdCBhdCBhbGws" + + "IHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhlbSBpbiB0aGUgY2x1c3Rlcjog" + + "YSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBBbiB1bmtub3du" + + "IG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBG" + + "YWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRvIHRoZSBjb21w" + + "b25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmls" + + "ZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + + "SURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9leHRlcm5hbF9jb21wb25lbnRzYCB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlv" + + "bnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBv" + + "bmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVy" + + "IHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBO" + + "b0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJs" + + "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RP" + + "TEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgIHwg" + + "LSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVn" + + "aXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFn" + + "ZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0ZWQg" + + "aW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBpdCBj" + + "b3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20gYSBT" + + "ZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4g" + + "RmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFjaGlu" + + "ZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5LWNy" + + "ZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlzIHdo" + + "YXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0IHwK" + + "fCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlk" + + "YXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBj" + + "YW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNp" + + "dGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4g" + + "RWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5mbyBh" + + "bmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NM" + + "VVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhl" + + "IHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAg" + + "Zm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdl" + + "IGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5n" + + "IGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVy" + + "IGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJl" + + "IDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlz" + + "dCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3Zl" + + "cyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwK" + + "fCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRl" + + "cnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0" + + "b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUg" + + "dGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5l" + + "LWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28g" + + "d3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFk" + + "aW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNo" + + "ZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0" + + "cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJf" + + "Q09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2gg" + + "YW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0" + + "aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdF" + + "X1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBh" + + "bmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2Vy" + + "IGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxgIGVudmly" + + "b25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0LCBhbmQg" + + "aXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtleQpp" + + "cyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNyLmlvYCBy" + + "ZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXksIGZvciB0" + + "YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBhbmQgdGhl" + + "IHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2VuZHMuCkVh" + + "Y2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9naW4g" + + "cmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhl" + + "IHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBv" + + "c2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFs" + + "LmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNr" + + "IHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMgbm90" + + "IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9ubHkgYSBj" + + "cmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZv" + + "ciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQWZ0ZXIg" + + "aW5zdGFsbCBhIHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUgY2x1" + + "c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwptYWNo" + + "aW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3Np" + + "bmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2JlIGNh" + + "bm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzIHNr" + + "aXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0aGF0" + + "IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5v" + + "dCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNr" + + "CgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9u" + + "ZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92" + + "ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQg" + + "Y29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0" + + "ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczog" + + "bm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRz" + + "YCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWlj" + + "YCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05B" + + "TUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJl" + + "IG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMg" + + "dGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFN" + + "RVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBj" + + "YXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1j" + + "bHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxf" + + "Q09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hl" + + "biBzZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVh" + + "ZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8" + + "IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3Zl" + + "cmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAs" + + "IG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBj" + + "b21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4g" + + "dGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdp" + + "dGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIG5v" + + "dCB1c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNl" + + "LnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3Rh" + + "Y2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENM" + + "SSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHks" + + "IGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5k" + + "IGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBp" + + "bmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0" + + "dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZs" + + "YWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5" + + "LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFs" + + "aWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2Ag" + + "aXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVg" + + "IHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2Et" + + "aWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJF" + + "R0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwg" + + "RHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2Vg" + + "IHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0" + + "ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZl" + + "IHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRj" + + "aGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25l" + + "bnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBg" + + "ZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFt" + + "ZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwg" + + "LSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNt" + + "cy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4" + + "aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZh" + + "bHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5l" + + "cmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3Ro" + + "KSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhl" + + "IGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9O" + + "YCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQg" + + "ZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUg" + + "ZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8" + + "IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBh" + + "ZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChz" + + "ZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vl" + + "a3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAg" + + "aXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBh" + + "ZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0Vg" + + "IHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFp" + + "bmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwg" + + "Q29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxU" + + "XHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxt" + + "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1" + + "c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29y" + + "a2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMg" + + "U2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0t" + + "Y2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFu" + + "ZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVD" + + "YCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1" + + "cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVh" + + "dGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBg" + + "SGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9y" + + "IGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFz" + + "IGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJ" + + "VFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1" + + "ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9y" + + "aXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVw" + + "ZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVx" + + "dWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNz" + + "LCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRp" + + "bmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2Ag" + + "ZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkg" + + "dGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRp" + + "b25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5y" + + "b3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3Jv" + + "cV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJh" + + "dGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50" + + "ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1" + + "bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAo" + + "ZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5n" + + "IGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAw" + + "MDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRl" + + "bnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlv" + + "biwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2" + + "aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVx" + + "dWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0" + + "IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVl" + + "c3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rp" + + "b24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZv" + + "cndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1" + + "ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tp" + + "bmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1z" + + "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + + "dGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1v" + + "ZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + + "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + + "bGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFt" + + "cGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4g" + + "fCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBm" + + "dW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFu" + + "ZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXIt" + + "YWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkg" + + "b3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBv" + + "dmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBm" + + "dW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1v" + + "ZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcu" + + "dG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFu" + + "ZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3Jl" + + "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBK" + + "U09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + + "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElE" + + "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwK" + + "fCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAt" + + "LW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5j" + + "ZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5" + + "IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8" + + "CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1" + + "c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoK" + + "YC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRl" + + "ZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEy" + + "OCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8" + + "IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBI" + + "MTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVk" + + "IHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8" + + "IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3" + + "aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQg" + + "VVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAg" + + "fAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdz" + + "IG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJB" + + "Q0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8" + + "IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQg" + + "fAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcg" + + "dGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNo" + + "LXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBl" + + "bnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12" + + "YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRl" + + "ZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xv" + + "Y2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZv" + + "ciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGlu" + + "IHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQ" + + "VDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBh" + + "ZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBg" + + "LS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRw" + + "dXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1" + + "bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1l" + + "YDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1v" + + "ZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8" + + "CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJl" + + "cGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1z" + + "ZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0g" + + "fAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQg" + + "SUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1l" + + "dHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRy" + + "YWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCMWCwn9RVAAAUVQAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + + "ZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJy" + + "b3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGlu" + + "IHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTog" + + "b3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBo" + + "YXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMg" + + "UHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21w" + + "bGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBl" + + "dmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRh" + + "dG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBm" + + "dWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + + "LS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRI" + + "YCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBz" + + "Y29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxs" + + "IGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2lu" + + "c3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwg" + + "aHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhl" + + "bG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJv" + + "L2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0" + + "b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBp" + + "cyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1" + + "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9D" + + "TFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwK" + + "fCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2Fz" + + "IG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVu" + + "IG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + + "bHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywg" + + "b3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRv" + + "ciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAs" + + "IHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUg" + + "cmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBk" + + "ZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBXYXJu" + + "aW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9n" + + "YCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwg" + + "bG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQg" + + "ZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdh" + + "eSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95" + + "cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3Jl" + + "YXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczog" + + "RGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0" + + "IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3Vi" + + "ZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3Rv" + + "cmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9y" + + "IHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmls" + + "ZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8" + + "CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBO" + + "b3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxs" + + "b2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlz" + + "IG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlh" + + "LmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwt" + + "Z3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBH" + + "UFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxl" + + "LW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhp" + + "dCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRl" + + "cywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBh" + + "biBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21t" + + "YW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpz" + + "b25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRo" + + "ZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9y" + + "Y2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8" + + "CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8" + + "YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9s" + + "dW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBv" + + "bGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51" + + "dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJh" + + "dGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0" + + "YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5k" + + "aW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYg" + + "bm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJl" + + "bGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBg" + + "aGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJl" + + "bGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFz" + + "IG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xv" + + "YWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVz" + + "IHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAt" + + "LXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0" + + "IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1" + + "cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVs" + + "ZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24g" + + "YSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZF" + + "Uj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZp" + + "cm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQg" + + "YEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdp" + + "dGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxl" + + "LW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwg" + + "TmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdo" + + "ZW4gdGhhdCBnYXRlIGlzIG9uLiBXaXRoIGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgIG9yIGAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIHNldCB0byBhIGxvY2FsIHN0YWNrLCBnYXRlcyBjb21lIGZyb20g" + + "aXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJ" + + "TEVfRU5WYCBuYW1lcyBvbmUsIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA7IG90aGVyd2lzZSBm" + + "cm9tIHRoZSBzdGFjayBkZWZhdWx0cywgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3Jv" + + "dmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUG9pbnQgdGhl" + + "IHN0YWNrIGZsYWcgYXQgdGhlIHN0YWNrIHlvdSBpbnN0YWxsIGZyb20gYW5kIHBhc3MgdGhlIHNh" + + "bWUgYC0tZW52YCB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + + "fC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBO" + + "byBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNs" + + "aSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVg" + + "IChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3Rl" + + "ZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9t" + + "IGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4g" + + "YG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0" + + "aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tl" + + "X2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRp" + + "b2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRv" + + "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0" + + "IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNr" + + "IGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3Rs" + + "IGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQ" + + "VS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBn" + + "cHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJp" + + "bnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92" + + "aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1y" + + "ZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lv" + + "bj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJO" + + "Q0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBh" + + "cHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYg" + + "bm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2Ug" + + "YWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9y" + + "IGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11" + + "bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4u" + + "Li9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1" + + "bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "TlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2Ev" + + "Y2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2gg" + + "SUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBj" + + "bHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMg" + + "bG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMg" + + "aXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVy" + + "LWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJh" + + "Y2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3Jvbmcg" + + "fCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhl" + + "IHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdg" + + "IGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2Fp" + + "dCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBu" + + "YXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNl" + + "cnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0t" + + "LXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0" + + "cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNy" + + "ZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3Vw" + + "ZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVh" + + "ZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1Qg" + + "Y2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNm" + + "LmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhl" + + "IGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91" + + "dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRl" + + "cGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCElFm2ePIAAAjyAA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2Vs" + + "Zi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNr" + + "cy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZs" + + "b3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91" + + "Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250" + + "cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJv" + + "ZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRz" + + "LiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwg" + + "azNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29t" + + "cGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAz" + + "LjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgph" + + "dXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+" + + "Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBz" + + "ZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGlu" + + "c3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFk" + + "LCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6" + + "ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZl" + + "cnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYt" + + "aG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFs" + + "bGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFt" + + "bF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91" + + "ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9u" + + "cwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQg" + + "Y29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhp" + + "cyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGlu" + + "ZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + + "YCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMg" + + "c2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBF" + + "bmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24t" + + "ZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNv" + + "IHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2Ag" + + "cGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxt" + + "ZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFu" + + "ZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1w" + + "bApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1w" + + "bApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcg" + + "YnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2Ug" + + "ZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4K" + + "bmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRl" + + "LXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cg" + + "YXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRz" + + "IGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJl" + + "Zm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3Bl" + + "cmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEu" + + "Mi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3Qg" + + "YmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYg" + + "Pj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1p" + + "bm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZy" + + "b20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFz" + + "aApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmly" + + "b25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVu" + + "dmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxu" + + "YW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10" + + "by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3Nw" + + "LWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcg" + + "dmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBt" + + "aXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVs" + + "dHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5" + + "b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAg" + + "ICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAt" + + "PiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUg" + + "dmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2Nr" + + "cyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3Rt" + + "cGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFn" + + "ZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBT" + + "ZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3" + + "aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3Qg" + + "cHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEg" + + "aGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENo" + + "YXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5z" + + "dGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0" + + "cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBw" + + "dWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + + "aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5h" + + "bWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBj" + + "b25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0lt" + + "YWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGlj" + + "YXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQg" + + "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2Vz" + + "IGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVu" + + "dGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBO" + + "R0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUg" + + "JyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + + "aW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQt" + + "bG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dp" + + "biAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdp" + + "b24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVw" + + "cyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUg" + + "c3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZm" + + "ZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3Iu" + + "aW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2Vy" + + "IGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmly" + + "c3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFk" + + "aW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQs" + + "IGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20g" + + "bW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29y" + + "cmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJu" + + "YW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9j" + + "YXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcg" + + "ZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVu" + + "dGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUg" + + "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhl" + + "IE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZy" + + "b20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEg" + + "cmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBw" + + "dWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lw" + + "IHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBt" + + "aXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFs" + + "OgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAg" + + "ICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1z" + + "dWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAg" + + "ICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJv" + + "ci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFu" + + "ZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAg" + + "PiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5" + + "IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJl" + + "IHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUK" + + "ICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90" + + "IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJv" + + "cmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBj" + + "b252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRg" + + "L2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6" + + "IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0" + + "cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhl" + + "IGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0" + + "byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRl" + + "bnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBz" + + "ZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNg" + + "IGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRo" + + "ZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhl" + + "IGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAy" + + "LgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVz" + + "IHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRo" + + "ZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBv" + + "aW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQg" + + "aXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoK" + + "IyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9z" + + "dG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBu" + + "b3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUg" + + "ZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0" + + "bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpz" + + "b25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlf" + + "QUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQg" + + "cHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFs" + + "YW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9l" + + "cyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywg" + + "dXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZj" + + "Zi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBh" + + "cGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBh" + + "bmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBl" + + "bmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVw" + + "ZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGlu" + + "IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJl" + + "dmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "c3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBp" + + "biB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxU" + + "X0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29u" + + "ZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVm" + + "YXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJB" + + "X1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5" + + "IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBv" + + "bmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9s" + + "ZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + + "UkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVy" + + "IHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0" + + "IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8" + + "IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEg" + + "fCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBF" + + "U1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExM" + + "TSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0" + + "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGBy" + + "ZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwg" + + "YHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBl" + + "bmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0" + + "ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFu" + + "ZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1h" + + "cHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpy" + + "b3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + + "ZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2Fn" + + "ZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5" + + "R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdl" + + "cgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdl" + + "IGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1l" + + "Pi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0" + + "cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMg" + + "YHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNm" + + "OjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVu" + + "ZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3Vz" + + "dG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJv" + + "dXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5k" + + "IGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2th" + + "Z2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBw" + + "bHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBh" + + "ZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ks" + + "c3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJl" + + "Y3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5p" + + "dHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5v" + + "dCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9j" + + "YXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUg" + + "cHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0Yg" + + "VUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFk" + + "bWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25s" + + "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlv" + + "dXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCBy" + + "ZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUg" + + "TlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3Qg" + + "ZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNw" + + "YWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMs" + + "CnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4" + + "LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1w" + + "bGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0" + + "ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9m" + + "ZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBm" + + "aWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUg" + + "TWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBi" + + "eSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUg" + + "Q0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5k" + + "b2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNl" + + "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGlu" + + "ZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENs" + + "ZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250" + + "cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNl" + + "cyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0Yg" + + "cmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBp" + + "LWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAs" + + "IGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwg" + + "YG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFu" + + "YWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4g" + + "VGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0" + + "LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5h" + + "bWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4g" + + "RXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + + "ZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdl" + + "ZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhl" + + "IGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVy" + + "IGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + + "cmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQg" + + "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + + "IGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBz" + + "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBs" + + "YW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBn" + + "ZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVu" + + "IGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6Cgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMg" + + "RGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwog" + + "IGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpg" + + "YGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICco" + + "Y2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0" + + "dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmly" + + "b25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBg" + + "Z2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVl" + + "cyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUu" + + "ZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBs" + + "ZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGly" + + "ZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + + "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + + "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + + "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + + "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgi" + + "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAg" + + "ICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdv" + + "dGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAs" + + "IHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0" + + "LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0" + + "cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + + "cGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0" + + "cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25m" + + "bGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZh" + + "aWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwg" + + "fCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3Jl" + + "ZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJw" + + "b3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMg" + + "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBw" + + "dWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9k" + + "IHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVz" + + "dGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3Vu" + + "dC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBg" + + "PGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRl" + + "Y2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3Rh" + + "bmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBg" + + "YmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+" + + "IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2Fy" + + "IHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0" + + "ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JF" + + "REVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIK" + + "PiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0" + + "aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMg" + + "aXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBT" + + "byB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcu" + + "IGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4g" + + "bm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9v" + + "dHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBi" + + "ZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNp" + + "ZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVk" + + "IGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBp" + + "bnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5" + + "LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVw" + + "YWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3lu" + + "YzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRL" + + "RVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFw" + + "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYg" + + "TlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1h" + + "cGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVz" + + "dGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2Fy" + + "IGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5H" + + "QyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRm" + + "b3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBu" + + "ZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAo" + + "ZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBm" + + "cmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBh" + + "IHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGlj" + + "YWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3Vy" + + "aW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFk" + + "bWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNg" + + "IGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBm" + + "b3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBt" + + "b2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSBy" + + "ZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSBy" + + "ZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJu" + + "byAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFt" + + "ZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRy" + + "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + + "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + + "dmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVz" + + "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + + "WSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3Rl" + + "clBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55" + + "YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwg" + + "YWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3" + + "aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAt" + + "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJu" + + "YW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQt" + + "aW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZv" + + "ciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0" + + "LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0" + + "cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3Vi" + + "ZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9k" + + "cwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBB" + + "bGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5s" + + "YXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBh" + + "dHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + + "LXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9y" + + "IHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGlt" + + "YWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1" + + "bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3Jh" + + "dGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dz" + + "IGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2" + + "YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3Vy" + + "ZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldL" + + "UyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5" + + "LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVy" + + "IHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVg" + + "LCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJh" + + "by1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVn" + + "Z2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNz" + + "YW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJh" + + "LnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNo" + + "LWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRz" + + "IGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5z" + + "ZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBj" + + "YXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0" + + "byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsg" + + "dGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9y" + + "IG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBj" + + "aGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0" + + "ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhl" + + "IHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0" + + "IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJl" + + "Y3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5j" + + "dGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhl" + + "IGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlg" + + "IHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hl" + + "cyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3Vu" + + "dCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkg" + + "dGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAt" + + "cmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpz" + + "b25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQv" + + "YCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0" + + "aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5n" + + "IGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElP" + + "TlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9u" + + "IGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0" + + "YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJ" + + "T05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBO" + + "VkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291" + + "bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipg" + + "cG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGkt" + + "YWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3Rh" + + "bGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYg" + + "dGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVz" + + "IChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBh" + + "Y2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQg" + + "Y2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhp" + + "bmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFm" + + "dGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRl" + + "ZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVu" + + "IGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdh" + + "aW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0" + + "ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRl" + + "bGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3Qt" + + "Zm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3lu" + + "YwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAj" + + "IGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291" + + "cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NT" + + "UCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4w" + + "LXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29y" + + "a2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJh" + + "dGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + + "Lm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2Rl" + + "YnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2Ug" + + "dGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNy" + + "ZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHD" + + "FJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlk" + + "IjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwg" + + "dGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciBy" + + "ZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lv" + + "bnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwg" + + "aGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEg" + + "bWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVu" + + "dGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAx" + + "LjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCBy" + + "YW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAz" + + "LjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24n" + + "IHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lv" + + "biBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJl" + + "Zm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3lu" + + "YyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBz" + + "dGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMg" + + "YmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmll" + + "dyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAog" + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNv" + - "bnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUg" + - "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tl" + - "X3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlf" + - "aG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBi" + - "YXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUs" + - "IE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNv" + - "bXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVf" + - "RU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + - "c3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21z" + - "X2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBN" + - "YWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tT" + - "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1" + - "aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4" + - "IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJv" + - "dGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5H" + - "QyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBu" + - "dmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIg" + - "bG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2Rv" + - "Y2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + - "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3" + - "b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBi" + - "ZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBh" + - "dXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNz" + - "aW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0Yg" + - "aW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBh" + - "dHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52" + - "aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMg" + - "d2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + - "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5v" + - "dCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVy" + - "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + - "cGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQg" + - "c3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFn" + - "ZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVh" + - "bi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxs" + - "YXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + - "ci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJz" + - "dDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRo" + - "ZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3Vy" + - "IGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhh" + - "bmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBh" + - "IHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVl" + - "cyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhl" + - "bG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + - "ZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0" + - "ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3Rl" + - "bSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikg" + - "d2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcg" + - "YmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3Rh" + - "Z2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5n" + - "cmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAi" + - "QWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVk" + - "IGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhh" + - "Y3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1p" + - "eCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdv" + - "cmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250" + - "cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0" + - "ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + - "bCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4g" + - "SXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVh" + - "Y2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBz" + - "dWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2Vk" + - "IHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0" + - "byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + - "IGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + - "LS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwg" + - "YW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25m" + - "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + - "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVl" + - "cywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "a2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlk" + - "IG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlv" + - "biI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1v" + - "cnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVy" + - "ZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhl" + - "IGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFs" + - "LnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBh" + - "Ym91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUg" + - "YXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBh" + - "Z2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJj" + - "ZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVk" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2Nr" + - "IChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQg" + - "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHBy" + - "ZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3Jl" + - "IGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3Rp" + - "dmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBO" + - "VkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0" + - "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUg" + - "c2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0" + - "aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0t" + + "c2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIs" + + "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0" + + "aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + + "IHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tp" + + "cCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAi" + + "LAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRp" + + "bmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "aWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJz" + + "IG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBm" + + "cm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBm" + + "aW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0" + + "YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNr" + + "ZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4" + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwg" + - "Y2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlk" + - "ZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3Jv" + - "dXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYi" + - "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2Zm" + - "IHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRv" + - "IGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3Ig" + - "cHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFu" + - "ZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3Jl" + - "dCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHBy" + - "b3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMi" + - "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxs" + - "U2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJU" + - "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZp" + - "YyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFu" + - "ZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1" + - "dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52" + - "b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNy" + - "ZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRy" + - "b2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNl" + - "dCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2Nh" + - "bCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywg" + - "YW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBi" + - "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwg" + - "cGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJM" + - "cyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkg" + - "aW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9w" + - "ZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXkt" + - "c3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRl" + - "d2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1n" + - "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNm" + - "U2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RT" + - "ZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhl" + - "IGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBu" + - "dmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + - "Lm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdy" + - "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + - "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5j" + - "bHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJl" + - "ZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + - "cmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5h" + - "dHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1" + - "bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJU" + - "aGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9y" + - "IGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rp" + - "b24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + - "ZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93" + - "IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUg" + - "Y2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJv" + - "dGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + - "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + - "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + - "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + - "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + - "ZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + - "IFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + - "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + - "aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFs" + - "dWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUg" + - "cmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBu" + - "b3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + - "ZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQg" + - "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJh" + - "biBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250" + - "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRl" + - "IGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxv" + - "dyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250" + - "cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3Vs" + - "ZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0" + - "aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + - "ZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBh" + - "biBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVk" + - "IGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Np" + - "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHBy" + - "ZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + - "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + - "aXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFr" + - "ZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwK" + - "ICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFs" + - "IGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0" + - "byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBw" + - "bGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9u" + - "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + - "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + - "ICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVu" + - "diwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFu" + - "LW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1" + - "bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + - "bGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRl" + - "ZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkg" + - "aWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + - "biAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxp" + - "bmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + - "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJl" + + "ICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQg" + + "Zm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwg" + + "dG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJz" + + "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBu" + + "YW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBu" + + "dmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0" + + "aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5z" + + "dGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxh" + + "bmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29u" + + "ZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0" + + "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmls" + + "ZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + + "YW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRo" + + "IFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBw" + + "bGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFy" + + "Z2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRo" + + "ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQg" + + "YW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lE" + + "QyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9y" + + "ZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191" + + "cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hv" + + "c3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAg" + + "ICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJf" + + "UkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05G" + + "SUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNf" + + "VVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRo" + + "ZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywg" + + "YW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRl" + + "IGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxh" + + "bmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBj" + + "b21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1" + + "dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZp" + + "bGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRv" + + "Y2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFp" + + "bmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5v" + + "dCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGlu" + + "c3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5p" + + "bycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRv" + + "YXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUg" + + "YWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1" + + "c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdl" + + "bnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29t" + + "bWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAg" + + "InF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGly" + + "ZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlm" + + "eSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3Jl" + + "dHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBz" + + "dG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4g" + + "aGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBl" + + "bnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVu" + + "IGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBu" + + "b3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRo" + + "ZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBi" + + "dW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNG" + + "IHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50" + + "IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBs" + + "ZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29s" + + "cyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMg" + + "aW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJl" + + "dmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBo" + + "YXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3Rl" + + "cmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3" + + "aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJl" + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2Uu" + - "eWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxp" + - "bmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxp" + - "Y2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJl" + - "IHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50" + - "IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1" + - "ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9u" + - "IGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQg" + - "SGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0" + - "aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUg" + - "TExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRo" + - "ZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + - "Y29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + - "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0" + - "aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + - "Y2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQu" + - "c3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3" + - "aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3Ig" + - "cHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + - "IGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExM" + - "TSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5k" + - "IGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5l" + - "bmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91" + - "dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMg" + - "dG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + - "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24g" + - "aG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlD" + - "SW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJu" + - "ZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25t" + - "ZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBo" + - "YW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9u" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVz" + - "dC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBp" + - "bmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5F" + - "Ry1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYg" + - "Y2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVs" + - "bCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlz" + - "IGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBu" + - "dmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdl" + - "ZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1" + - "aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVw" + - "bG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVj" + - "aWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9w" + - "cmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQg" + - "b24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fz" + - "c2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBj" + - "YXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoK" + - "UHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRp" + - "b246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2su" + - "CgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNz" + - "LWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwg" + - "fCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAx" + - "LWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZh" + - "dGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVs" + - "bWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + + "ICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVs" + + "bS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBz" + + "dHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlz" + + "LCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNv" + + "bXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VO" + + "Vj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmci" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3lu" + + "YycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1w" + + "bGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxp" + + "dHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9s" + + "IHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRo" + + "ZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50" + + "ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVk" + + "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVl" + + "c3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhl" + + "biByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBl" + + "dmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0" + + "cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNv" + + "bXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNv" + + "bmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52" + + "LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0" + + "cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUg" + + "Y29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAi" + + "VGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAi" + + "VGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0t" + + "Y2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAg" + + "ICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAg" + + "ICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0" + + "LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRl" + + "ZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1m" + + "aWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3Zl" + + "cnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBv" + + "ZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdp" + + "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3" + + "aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFz" + + "ZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQg" + + "c2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVy" + + "Z2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhl" + + "IHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVt" + + "b3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92" + + "ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1l" + + "cmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZh" + + "bHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5n" + + "ZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5" + + "bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5j" + + "aWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMg" + + "LS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxv" + + "eSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2Rz" + + "IGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + + "J2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8g" + + "ZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2Rz" + + "IGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0s" + + "IHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciBy" + + "ZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6" + + "ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhv" + + "cml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcg" + + "cmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9v" + + "dCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hl" + + "Y2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50" + + "LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRp" + + "YWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVj" + + "dCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUg" + + "cG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNw" + + "YWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + + "ZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZp" + + "ZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAi" + + "cXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVh" + + "Y2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1" + + "ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0" + + "aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBH" + + "YXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUg" + + "d29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJs" + + "ZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5C" + + "YW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBV" + + "UkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUt" + + "cGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJp" + + "ZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1l" + + "c3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Ig" + + "b24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQg" + + "dG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlB" + + "cGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJU" + + "aGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRv" + + "IG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJU" + + "aGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZH" + + "cnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdy" + + "cGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50" + + "IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxv" + + "Y2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdy" + + "ZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGgg" + + "d29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8g" + + "dHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + + "b3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBi" + + "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVz" + + "cyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBp" + + "Y21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2Vydmlj" + + "ZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hv" + + "c3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3Bh" + + "Y2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUg" + + "c2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkg" + + "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBt" + + "eSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5" + + "LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMu" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNv" + + "bmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRl" + + "c3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUg" + + "a3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhl" + + "IGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNl" + + "IHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJl" + + "ZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGlu" + + "c3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVs" + + "ZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJv" + + "cnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0" + + "aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFt" + + "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93" + + "IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVs" + + "bC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0" + + "YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5k" + + "IGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdv" + + "dCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdp" + + "c3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBm" + + "dWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + + "dGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkg" + + "Y29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUg" + + "TWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAg" + + "ICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVs" + + "ZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVj" + + "dGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29u" + + "dHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJl" + + "c2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVm" + + "ZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBv" + + "d25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + + "ZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQt" + + "bWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91" + + "dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAg" + + "IlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0" + + "aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZs" + + "b3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGls" + + "IHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZs" + + "b3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJl" + + "Z2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90" + + "IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUg" + + "cmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBj" + + "bHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZs" + + "b3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGgg" + + "Y29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRv" + + "d24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBj" + + "b21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBu" + + "byByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFs" + + "dWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBl" + + "bnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBo" + + "ZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52" + + "IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50" + + "aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + + "YyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVz" + + "ZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + + "YWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwg" + + "LT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + + "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5z" + + "dG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2Ug" + + "aW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMg" + + "b2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMg" + + "dGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAi" + + "aWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQg" + + "dG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwg" + + "c2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3Vy" + + "YXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFi" + + "bGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBh" + + "bmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + + "dXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMg" + + "c2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2lu" + + "ZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWlu" + + "dGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0" + + "IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGlu" + + "Y2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2Vj" + + "dXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhh" + + "dCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJl" + + "ZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVy" + + "aW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQg" + + "dmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVj" + + "YXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFk" + + "ZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQg" + + "dG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQg" + + "c3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBh" + + "bmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3Vp" + + "ZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRo" + + "ZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBw" + + "bGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9y" + + "IHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50" + + "ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBw" + + "bGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRo" + + "ZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3Jl" + + "YXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFn" + + "ZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExN" + + "IEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1p" + + "bnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAog" + + "ICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNk" + + "IGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3Ry" + + "aWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBk" + + "ZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1s" + + "b2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBh" + + "Z2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNr" + + "aWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + + "b3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rp" + + "b25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxv" + + "cG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBz" + + "a2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQF" + + "AAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVu" + + "dCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMK" + + "ClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdl" + + "IGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRy" + + "YSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNv" + + "dXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2Fw" + + "dHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVw" + + "IC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgoj" + + "IyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFt" + + "bC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVy" + + "cyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3Qu" + + "CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246" + + "IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpk" + + "ZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4v" + + "PHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRz" + + "LnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + + "czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAg" + + "ICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQw" + + "OTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAv" + + "dG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3Mt" + + "YWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVz" + + "b3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUg" + + "TlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGlu" + + "c3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0" + + "cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdl" + + "cyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVn" + + "aXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBl" + + "bnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xv" + + "YmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICBy" + + "ZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAg" + + "IHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxv" + + "Y2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52" + + "Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBT" + + "dGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + + "cmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpg" + + "YGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2Vz" + + "CgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCBy" + + "ZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5j" + + "aWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + - "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2Vz" + - "OgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1v" + - "cnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAg" + - "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9y" + - "ZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + - "YwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3Qg" + - "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + - "aXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBO" + - "R0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0" + - "YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQg" + - "b2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0" + - "ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5" + - "OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdp" + - "c3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAy" + - "OiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFz" + - "aApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0" + - "cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "YXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + - "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "YXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8g" + - "aGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3Jl" + - "dHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZp" + - "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + - "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + - "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + - "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + - "ICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAt" + - "IG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2Ug" + - "YXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + - "dGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFy" + - "dHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBj" + - "b21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0" + - "Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7" + - "IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0i" + - "Om1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAg" + - "J3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpk" + - "b25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + - "IC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0g" + - "XAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNo" + - "b3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMg" + - "RXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50" + - "IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ry" + - "b3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFs" + - "aXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1k" + - "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5h" + - "bGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVh" + - "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "LgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElD" + - "TVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + - "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQg" + - "c3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVz" + - "dHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJg" + - "IG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHBy" + - "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5" + - "IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIg" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9" + - "PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + - "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9y" + - "bXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBg" + - "a3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNh" + - "fG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + - "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVt" + - "cHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtD" + - "bGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0" + - "dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMg" + - "RXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNl" + - "cGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVj" + - "cmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBl" + - "bmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + - "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + - "dCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJl" + - "Y3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + - "IGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9y" + - "IHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCou" + - "aW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3Jhcnkg" + - "ZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBh" + - "bmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVh" + - "ZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3" + - "YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNv" + - "bnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVW" + - "YWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4g" + - "YW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGlu" + - "c3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUK" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMu" + - "CgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJh" + - "cGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdB" + - "WV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAt" + - "QQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + - "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + - "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + - "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + - "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + - "b3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMK" + - "ClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3Vy" + - "YXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0" + - "ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + - "CgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBj" + - "YXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBh" + - "cGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFw" + - "aSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5k" + - "IGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5" + - "LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + - "ZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNm" + - "LXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + - "ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0" + - "ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxl" + - "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + - "QVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRl" + - "d2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + - "bGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0" + - "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVp" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0" + - "ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFz" + - "ZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSBy" + - "ZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + - "LWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFy" + - "YXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3Rl" + - "ciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJl" + - "bG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBD" + - "TEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBD" + - "aG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2lu" + - "dHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVl" + - "cyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + - "ZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + - "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVy" + - "YXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBp" + - "cyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3Jl" + - "ZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0" + - "b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGlu" + - "Zy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50" + - "IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwg" + - "ZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + - "bXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFi" + - "bGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25p" + - "Y2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNm" + - "L3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52" + - "aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBp" + - "bgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNl" + - "cnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5M" + - "QiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNl" + - "cnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21h" + - "aW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNl" + - "VVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJM" + - "OiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2Vydmlj" + - "ZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6" + - "ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDog" + - "Imh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2" + - "aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToK" + - "ICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6" + - "OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVu" + - "dm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZj" + - "Zi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBu" + - "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAg" + - "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAg" + - "ICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAg" + - "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + - "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoK" + - "b3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVk" + - "OiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFu" + - "YWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAg" + - "ICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAg" + - "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRz" + - "SG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGlu" + - "c3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + - "CgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVh" + - "dGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoK" + - "CmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tl" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5" + - "LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAi" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1k" + - "b21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19o" + - "b3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0" + - "bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRv" + - "IHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4g" + - "dGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8g" + - "YC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0" + - "ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAg" + - "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNU" + - "RVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4g" + - "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9D" + - "TEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1j" + - "bGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVn" + - "aXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + - "cHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNP" + - "TkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIElu" + - "IGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRo" + - "ZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkg" + - "UHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0" + - "IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRp" + - "b246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgog" + + "ICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoK" + + "U2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + + "bWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5l" + + "IG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpz" + + "ZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + + "cm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNy" + + "ZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMj" + + "IyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZl" + + "IHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFv" + + "IHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoK" + + "YGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAk" + + "KGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5z" + + "IiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7" + + "IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBz" + + "ZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3Jl" + + "dHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0g" + + "LS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5s" + + "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + + "cHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBU" + + "ZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlv" + + "dSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBs" + + "YW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpg" + + "YGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNv" + + "bXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3Rl" + + "cCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5k" + + "IGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0" + + "aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5k" + + "IGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gK" + + "PG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVy" + + "LWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxu" + + "Y2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9y" + + "IGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wt" + + "cGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVm" + + "YXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + + "ZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFu" + + "YWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBl" + + "ZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMg" + + "dHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2" + + "ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxt" + + "IHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlk" + + "ZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3Bh" + + "Y2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lz" + + "ZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1" + + "YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwK" + + "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1r" + + "dWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJv" + + "bC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0" + + "ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3Jv" + + "dmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVz" + + "c3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3Rl" + + "cCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9u" + + "XShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBo" + + "YW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3Zl" + + "ciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lv" + + "bmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEg" + + "bmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gK" + + "R0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29u" + + "cGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FE" + + "RFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRz" + + "CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmll" + + "bGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBo" + + "b3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFp" + + "bj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhv" + + "dXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdB" + + "VEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0" + + "IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVw" + + "bGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNm" + + "TmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxz" + + "LCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRl" + + "cyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3Vn" + + "aCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVy" + + "aWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJs" + + "IC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2Yt" + + "Z2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQv" + + "bnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1" + + "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0" + + "aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0K" + + "CiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rp" + + "bmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAoj" + + "IERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENo" + + "ZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoK" + + "IyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJl" + + "ZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwK" + + "fCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFv" + + "LXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBp" + + "LCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNl" + + "LCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkg" + + "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4g" + + "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZh" + + "bml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNr" + + "IHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWku" + + "ZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0" + + "IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1l" + + "PWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4g" + + "YGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVz" + + "dCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhh" + + "dCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5h" + + "bWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwK" + + "fCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8Cnwg" + + "YG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3Rl" + + "OiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJl" + + "bC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQ" + + "SwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBj" + + "b250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3Rh" + + "bGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFj" + + "aCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZv" + + "ciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9m" + + "aWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoK" + + "fCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9u" + + "IGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwt" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250" + + "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2Vu" + + "ZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0" + + "aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBm" + + "bG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBi" + + "ZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRv" + + "cnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVz" + + "LiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1m" + + "aWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5z" + + "dGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwg" + + "cm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVn" + + "aXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBh" + + "bmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1F" + + "bmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVu" + + "ZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRo" + + "ZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0" + + "YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlg" + + "LCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJp" + + "ZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxn" + + "YXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMg" + + "cmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9t" + + "YWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGku" + + "PGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXIt" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdh" + + "dGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxn" + + "YXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRh" + + "c2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9p" + + "bnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNl" + + "VVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgog" + + "IGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3Rl" + + "bQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNw" + + "YWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1l" + + "c3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRl" + + "d2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1l" + + "OiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5" + + "LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVk" + + "OiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFp" + + "bj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0" + + "aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlh" + + "bWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhv" + + "c3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZp" + + "Y2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RI" + + "ZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJu" + + "YXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5h" + + "dHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9s" + + "IHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVy" + + "aW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUg" + + "Q0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0" + + "cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIK" + + "YXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJs" + + "OiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21h" + + "aW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hv" + + "c3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdh" + + "eS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhv" + + "dXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9u" + + "IGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxp" + + "ZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFr" + + "ZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBp" + + "bnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1" + + "c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9u" + + "PiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJ" + + "TEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2Yt" + + "Y2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9O" + + "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + + "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3Zl" + + "cnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0" + + "LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVx" + + "dWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBk" + + "ZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0" + + "IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVu" + + "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9m" + + "aWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNm" + + "LWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBs" + + "YWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGlu" + + "c3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1j" + + "bHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + + "CnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNv" + + "bXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + + "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUg" + + "cmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUg" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + + "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + + "IFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1" + + "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRl" + + "LXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmls" + + "ZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNv" + + "bXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxl" + + "IGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoK" + + "IyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNl" + + "IG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2Vj" + + "cmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xv" + + "YmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBU" + + "aGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJv" + + "ciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhl" + + "IGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNl" + + "ZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpV" + + "c2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdh" + + "dGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVw" + + "bG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2Vu" + + "ZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9y" + + "PWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxs" + + "LXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVy" + + "ZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90" + + "aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBw" + + "cmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBu" + + "YW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVz" + + "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBl" + + "eHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUg" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9y" + + "IGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2Ug" + + "bWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25s" + + "eSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVu" + + "YW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3Qg" + + "ZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVn" + + "aXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNo" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xV" + + "U1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZy" + + "b20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9y" + + "ZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29u" + + "ZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95" + + "IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ry" + + "b3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUt" + + "a3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kg" + + "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + + "LWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVg" + + "IGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5h" + + "bWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9m" + + "aWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1" + + "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVz" + + "IGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2" + + "ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVm" + + "aXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAt" + - "LW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + - "cmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + - "IC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + - "YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVz" + - "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBz" + - "ZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRw" + - "b2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5v" + - "dCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBl" + - "bmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFu" + - "ZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0" + - "OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4" + - "dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5j" + - "ZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxh" + - "bmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9w" + - "ZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVy" + - "IG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBv" + - "bGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoj" + - "IyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3Bh" + - "Y2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZv" + - "eS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + - "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + - "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + - "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + - "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + - "eSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3du" + - "CgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBj" + - "b250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5l" + - "LCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhl" + - "IGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0" + - "aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIg" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5n" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + - "b3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2" + - "ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8" + - "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + - "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNh" + - "SURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + - "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0" + - "ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVh" + - "dApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNs" + - "dXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJ" + - "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + - "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQg" + - "YEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ry" + - "b3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4K" + - "CkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0" + - "ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZp" + - "cnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0" + - "ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + - "YWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdp" + - "c3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25s" + - "eWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUg" + - "cGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92" + - "YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBk" + - "b3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcg" + - "YW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + - "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0t" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8" + - "Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + - "LWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + - "PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24g" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + - "IEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRz" + - "IElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1" + - "c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVz" + - "IGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMg" + - "YWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2Rz" + - "IGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4K" + - "CiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3Qg" + - "dXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZp" + - "YyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVs" + - "bEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNU" + - "QVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIElt" + - "YWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0" + - "CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRo" + - "b3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMg" + - "ZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwg" + - "Z3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUg" + - "bmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+Cgoj" + - "IENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + - "bFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNl" + - "Y3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRo" + - "PSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2lu" + - "ZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0t" + - "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNw" + - "YWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQq" + - "KjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxt" + - "ZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4g" + - "KipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZv" + - "Y2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFj" + - "Y291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + - "dHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCBy" + - "ZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAt" + - "biA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBg" + - "YGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9t" + - "cwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNo" + - "Ck5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMg" + - "ICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAg" + - "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2" + - "YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMg" + - "Q2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENo" + - "ZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVs" + - "dC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQt" + - "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5l" + - "ciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBv" + - "ZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3Vl" + - "cywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRu" + - "J3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0" + - "ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95" + - "CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVh" + - "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBu" + - "ZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + - "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90" + - "IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + - "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + - "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + - "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + - "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + - "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + - "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + - "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + - "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + - "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + - "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + - "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + - "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + - "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + - "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + - "LAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMg" + - "KGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAj" + - "ICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + - "YmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24g" + - "bG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAg" + - "IC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFv" + - "IEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2Vy" + - "dmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAg" + - "QUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBh" + - "a3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0" + - "aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2ln" + - "bmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0" + - "b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + - "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMj" + - "IyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92" + - "ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1w" + - "bGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5k" + - "cmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAg" + - "IG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAg" + - "bWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFi" + - "bGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVz" + - "b3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21z" + - "CgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UK" + - "Y2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMK" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24g" + - "Y2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3Qg" + - "bWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + - "IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBm" + - "b3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVj" + - "ayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9y" + - "YWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBg" + - "YmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVu" + - "dCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + - "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + - "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + - "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + - "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + - "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + - "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + - "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + - "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + - "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + - "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + - "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + - "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + - "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + - "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + - "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + - "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + - "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + - "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + - "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + - "ZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFs" + - "CiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0" + - "cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFj" + - "aGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291" + - "bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFs" + - "cyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lp" + - "bmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFt" + - "ZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlz" + - "ICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + - "YGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3lt" + - "cHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBg" + - "VGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAg" + - "VGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBg" + - "YAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFm" + - "dGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUg" + - "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRl" + - "bGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + - "bmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZj" + - "ZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVz" + - "cGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdj" + - "b250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNv" + - "bnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlw" + - "ZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01Q" + - "VVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFy" + - "aW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5k" + - "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNl" + - "ICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9" + - "IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNl" + - "IFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4v" + - "ZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBO" + - "b3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBs" + - "ZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMg" + - "YnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + - "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + - "cG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0" + - "IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3Mg" + - "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90" + - "CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBz" + - "dWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2Ny" + - "aWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJh" + - "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBg" + - "CgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2Vj" + - "cmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + - "cm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1l" + - "c3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRl" + - "LXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMj" + - "IyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4g" + - "ZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4g" + - "VGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + - "X0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21h" + - "aW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVz" + - "cyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VV" + - "UkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3Jl" + - "cCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktl" + - "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1" + - "bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZv" + - "ciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBm" + - "aWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0" + - "aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQj" + - "ZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVz" + - "ZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdo" + - "aWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZp" + - "Y2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBj" + - "YXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNl" + - "cnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rh" + - "cnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwK" + - "fCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1h" + - "cGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5" + - "IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJj" + - "ZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxl" + - "LXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMg" + - "RGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhl" + - "bG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENh" + - "c3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBO" + - "VkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + - "cGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAg" + - "IHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBl" + - "bnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1l" + - "bnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNy" + - "ZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29y" + - "ZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + - "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sv" + - "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBD" + - "b21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5n" + - "b3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRp" + - "b24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + - "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + - "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55" + - "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + - "ci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVu" + - "dHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3Jz" + - "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNl" + - "cwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50" + - "IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1w" + - "bCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0t" + - "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRz" + - "LXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJh" + - "by1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24g" + - "bmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0" + - "ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRh" + - "bmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29y" + - "ZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + - "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1u" + - "dmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNp" + - "cyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZp" + - "Y2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNl" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkg" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8" + - "IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0" + - "ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNm" + - "LWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5" + - "IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNl" + - "LWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7" + - "dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRo" + - "ZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55" + - "YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxl" + - "ZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2" + - "YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxl" + - "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + - "LS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8" + - "IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHkt" + - "c3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJs" + - "ZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1M" + - "IG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRo" + - "ZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlB" + - "TUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRo" + - "ZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3Qg" + - "ZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRo" + - "ZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + - "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVt" + - "cGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBj" + - "aGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + - "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJp" + - "ZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBl" + - "bmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + - "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + - "ZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVy" + - "cmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVt" + - "b3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGlu" + - "IGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVj" + - "aGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNl" + - "OiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGlu" + - "ZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUt" + - "aW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBs" + - "aXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2Vz" + - "dCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRl" + - "ZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdv" + - "dG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + - "YyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0g" + - "c2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAt" + - "LSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBU" + - "aHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1l" + - "cmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFy" + - "dC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNp" + - "dGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + - "YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5k" + - "cmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBg" + - "Y2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVk" + - "YCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0g" + - "YG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0" + - "cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmls" + - "ZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNw" + - "ZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFv" + - "LmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8u" + - "c2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMg" + - "U2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3Ry" + - "eSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0g" + - "YDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0" + - "aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBp" + - "bnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBk" + - "ZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0" + - "aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jl" + - "c3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRl" + - "Y2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBu" + - "b3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9k" + - "ZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAph" + - "ZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGlj" + - "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + - "ICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAx" + - "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + - "OiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAg" + - "IHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9h" + - "ZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3Vu" + - "dDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1" + - "bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkw" + - "OTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdh" + - "eSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdh" + - "eS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0Yg" + - "QVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQg" + - "b3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFu" + - "ZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + - "SUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFu" + - "ZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNl" + - "cyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpz" + - "ZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0" + - "IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + - "b2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNp" + - "bmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0" + - "aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhl" + - "IGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6" + - "CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRl" + - "Y2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBv" + - "c2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNB" + - "UlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNr" + - "IHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25m" + - "aWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2" + - "YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRy" + - "b2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1" + - "dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9u" + - "IHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + - "bWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFp" + - "biBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFs" + - "dWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdv" + - "cmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMg" + - "Y3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBk" + - "b2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUg" + - "dXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkg" + - "dGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0" + - "ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52" + - "Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3Rs" + - "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQg" + - "cG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5l" + - "cnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAK" + - "CkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0" + - "IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5k" + - "IGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlk" + - "ZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVz" + - "L3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMg" + - "SGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoK" + - "YGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1v" + - "YnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1n" + - "YXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBh" + - "IHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMg" + - "bm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + - "ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFk" + - "ZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + - "dXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + - "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + - "ZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkg" + - "d2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNr" + - "CnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250" + - "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0" + - "aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMg" + - "RW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55" + - "YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgoj" + - "IyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1l" + - "c3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + - "aXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVp" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlm" + - "IHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBv" + - "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + - "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBu" + - "dmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAw" + - "YC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5" + - "CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + - "eW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24g" + - "aXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAt" + - "biBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJs" + - "IC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + - "cmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGlu" + - "dGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4g" + - "YXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsH" + - "CDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + - "IyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5n" + - "IE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBu" + - "dmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBv" + - "ZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmln" + - "dXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQg" + - "bmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1" + - "c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMg" + - "YXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + - "c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1z" + - "eXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFs" + - "bCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + - "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + - "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJv" + - "bC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + - "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + - "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lz" + - "dHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFu" + - "ZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGlj" + - "eQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kK" + - "bWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tn" + - "cm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8t" + - "bnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoK" + - "ICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFj" + - "ZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAg" + - "ICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0" + - "ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0" + - "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAg" + - "ICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBh" + - "bm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0" + - "LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1" + - "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZl" + - "cm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBj" + - "b250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUt" + - "cGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmlj" + - "YXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBu" + - "ZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0" + - "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVu" + - "PWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUg" + - "ZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAg" + - "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0" + - "IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBu" + - "dmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVz" + - "cGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cu" + - "CgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBw" + - "b2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + - "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZj" + - "ci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlh" + - "XC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoK" + - "IyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + - "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBu" + - "b3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Ig" + - "b24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + - "V2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5v" + - "ZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3Ry" + - "eVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhv" + - "dXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2Vj" + - "cmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBB" + - "cnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNp" + - "bWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIElt" + - "YWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kg" + - "b25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVk" + - "LiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4g" + - "LS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + - "cyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5" + - "IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hv" + - "dWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xp" + - "Y3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRo" + - "IHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250" + - "ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYA" + - "AAAWAABQSwECFAAUAAgAAAAAACEAqlReqUoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9t" + - "YW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAA" + - "AAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQAwJPmIyQwAAMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGx" + - "aZjPDwAAzw8AADcACQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8Z" + - "AACfGQAAOQAJAAAAAAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAA" + - "GCUAADcACQAAAAAAAAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "ZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAA" + - "PQAJAAAAAAAAAAAAAABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFn" + - "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYp" + - "AAA6AAkAAAAAAAAAAAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2lu" + - "c3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcA" + - "ADkACQAAAAAAAAAAAAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90" + - "YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAu" + - "AAkAAAAAAAAAAAAAAI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJk" + - "b3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA" + - "1kMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQAL+38oBg8AAAYPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQCEOzadc1MAAHNTAAAtAAkAAAAAAAAAAAAAAGJ4AQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsz49" + - "ZgsfAAALHwAANwAJAAAAAAAAAAAAAAA5zAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + - "ZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIA" + - "AEliAAAsAAkAAAAAAAAAAAAAALLrAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAA" + - "AAAAAF5OAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + - "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAE6UC" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAA+M0CAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAA" + - "AACN/gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAA" + - "AAC0LwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxt" + - "ZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJ" + - "AAAAAAAAAAAAAAA5WgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYA" + - "AD4ACQAAAAAAAAAAAAAAaGIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + - "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAN14AwAAAA==" + "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + + "ICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBs" + + "YW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5" + + "IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qg" + + "c2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0" + + "IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95" + + "cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCBy" + + "ZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGgg" + + "dGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxm" + + "LWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxl" + + "LWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1" + + "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0t" + + "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + + "IC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVy" + + "bCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFt" + + "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAK" + + "ClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95" + + "cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVt" + + "b3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9u" + + "cyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + + "ZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBh" + + "bmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1" + + "aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNw" + + "YWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5h" + + "bWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVh" + + "c2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25v" + + "c2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1i" + + "eT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVu" + + "dHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3lt" + + "cHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAg" + + "UkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAg" + + "MCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBp" + + "bWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6" + + "IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3Rs" + + "IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9k" + + "IHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+" + + "IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hl" + + "Y2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0" + + "IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNy" + + "ZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6" + + "IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAt" + + "LWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2Vj" + + "cmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVk" + + "cyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUg" + + "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBz" + + "dXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBl" + + "c3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFy" + + "dCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3Jv" + + "bmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJh" + + "c2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAg" + + "IyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJ" + + "bml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBz" + + "dHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAg" + + "ICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdm" + + "NGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMj" + + "IyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBp" + + "bmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9k" + + "cwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1p" + + "Z3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNr" + + "IE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNl" + + "cnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1" + + "Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFn" + + "ZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6" + + "IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3Vl" + + "cywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhh" + + "cHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCBy" + + "ZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0" + + "ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVs" + + "dC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwog" + + "ICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBD" + + "aGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQt" + + "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoK" + + "NC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4u" + + "IG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVg" + + "KioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3Vl" + + "ciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBh" + + "dXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50" + + "ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRo" + + "ZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rl" + + "ci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4g" + + "RXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQg" + + "NDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBi" + + "ZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + + "Y292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMg" + + "aXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVy" + + "IGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2Nv" + + "dmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4g" + + "aXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoK" + + "ICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAg" + + "IGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0" + + "aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5i" + + "YW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBz" + + "aG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24v" + + "b3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0" + + "IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50" + + "aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRo" + + "IHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1" + + "bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFj" + + "ayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZh" + + "aWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1F" + + "ICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAg" + + "MC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBi" + + "YXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAg" + + "fCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEg" + + "cmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVz" + + "Lm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2Vz" + + "OgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQog" + + "ICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBg" + + "YAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNh" + + "c3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWls" + + "dXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAg" + + "ICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8x" + + "ICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNo" + + "CiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUg" + + "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEy" + + "IG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUg" + + "YWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQg" + + "bWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZp" + + "eGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNg" + + "IGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1z" + + "aG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91" + + "bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBn" + + "ZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENo" + + "ZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxu" + + "b2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFp" + + "bHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNo" + + "CmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJl" + + "LXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMg" + + "ZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + + "aGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoK" + + "TXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBw" + + "bHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwg" + + "ZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5h" + + "bWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWls" + + "dXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2Vz" + + "IGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3Rz" + + "dHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3Ry" + + "YXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBh" + + "dXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1h" + + "Y2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAt" + + "biBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAK" + + "CiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVk" + + "ZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRv" + + "a2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBg" + + "YmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JB" + + "U0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46" + + "bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4n" + + "dCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lz" + + "dHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxl" + + "LCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBu" + + "dmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUt" + + "Y3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTog" + + "TlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBs" + + "YW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBt" + + "CiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0" + + "aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNv" + + "bXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBO" + + "VkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNw" + + "YWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJl" + + "Y3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBq" + + "c29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0" + + "YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0i" + + "JHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIg" + + "cGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1l" + + "dGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoK" + + "IyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6" + + "ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0t" + + "Y29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+" + + "L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJl" + + "Y3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIv" + + "YXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBg" + + "CgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3lt" + + "cHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9w" + + "ZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3Qg" + + "cmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVy" + + "YXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVy" + + "IHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNM" + + "SSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQg" + + "aW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBo" + + "YW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMg" + + "c3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1v" + + "cGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1v" + + "cGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVn" + + "aXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52" + + "Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1z" + + "eXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpb" + + "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoK" + + "IyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVl" + + "c3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdh" + + "dGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9y" + + "dHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0k" + + "KGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwK" + + "ICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + + "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0" + + "ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FU" + + "RVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkg" + + "YSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNl" + + "fHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWlu" + + "YCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUg" + + "RE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVu" + + "dHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNo" + + "IHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQg" + + "aGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVy" + + "LWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRv" + + "LVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4g" + + "aW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0t" + + "LXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8" + + "IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBh" + + "cGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFs" + + "LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkt" + + "a2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMg" + + "fAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9s" + + "bGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcI" + + "tXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUA" + + "AQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQK" + + "CmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0t" + + "IDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8K" + + "fCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGlu" + + "Z3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0" + + "eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAg" + + "ICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAg" + + "YC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJp" + + "ZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBT" + + "ZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlh" + + "bWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVy" + + "LWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8K" + + "fCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBl" + + "bmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMg" + + "bnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVu" + + "dHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVz" + + "IChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAg" + + "IyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBg" + + "YAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNv" + + "bnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50" + + "IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0" + + "ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBt" + + "aXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShj" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWly" + + "IFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBD" + + "aGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0t" + + "fC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdp" + + "bmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQt" + + "c3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRy" + + "YSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoK" + + "VXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNl" + + "LWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwg" + + "UmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18" + + "LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFw" + + "aS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNl" + + "cyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlv" + + "bi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNl" + + "cyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90" + + "YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMg" + + "fAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qt" + + "cm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZp" + + "Y2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkg" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9r" + + "ZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8" + + "IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBp" + + "bmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNl" + + "fV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRv" + + "cnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9j" + + "a3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVy" + + "LXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoK" + + "IyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFt" + + "ZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwK" + + "fCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwg" + + "b2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGlu" + + "IHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUg" + + "SW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4g" + + "YDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9w" + + "ZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2Vz" + + "IGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipy" + + "ZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVz" + + "dCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3cs" + + "IGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0" + + "IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRl" + + "bXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1u" + + "dmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxN" + + "RklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5j" + + "bHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoK" + + "ICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + + "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0" + + "IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNv" + + "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoK" + + "IyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdv" + + "dG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwK" + + "LSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6" + + "CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFu" + + "IGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBs" + + "YXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVw" + + "bGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlv" + + "cml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNy" + + "b3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXIt" + + "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBs" + + "YXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBg" + + "PHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMK" + + "NS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRl" + + "bmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQg" + + "KyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVz" + + "LiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoK" + + "IyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmlt" + + "YWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1h" + + "Z2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2Vs" + + "ZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5n" + + "bG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5p" + + "bWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWlu" + + "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFn" + + "ZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAg" + + "KGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipg" + + "IGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4q" + + "YAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFn" + + "ZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJ" + + "UywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0g" + + "YDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52Lipg" + + "IChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpF" + + "bmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25z" + + "IHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVl" + + "c3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlv" + + "bi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFu" + + "ZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxl" + + "CmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xl" + + "dGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBj" + + "bHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAg" + + "IGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBt" + + "ZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UK" + + "ICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgog" + + "ICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29u" + + "ZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5" + + "OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRl" + + "UVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxv" + + "Y2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1" + + "cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1t" + + "YW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24g" + + "aG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1" + + "cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1y" + + "b3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1" + + "c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExT" + + "IGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRp" + + "bmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNl" + + "ZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Ag" + + "d2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3Ro" + + "ZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxh" + + "bmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxm" + + "LW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklm" + + "IHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVs" + + "dCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2Vy" + + "IHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoK" + + "ICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBs" + + "bG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4x" + + "NC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJ" + + "RU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZv" + + "ciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1" + + "c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVy" + + "aW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25t" + + "ZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRo" + + "ZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVz" + + "IGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVz" + + "ZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47" + + "IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlz" + + "dGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFn" + + "ZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2lu" + + "ZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBu" + + "ZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFu" + + "ZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5l" + + "LCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kg" + + "LW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBs" + + "bG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxt" + + "LWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1B" + + "IHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9k" + + "PiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxt" + + "LXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50" + + "ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMt" + + "aW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZp" + + "b3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHVi" + + "LmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2Rv" + + "Y3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9y" + + "cwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxl" + + "YXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5j" + + "CgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRl" + + "bXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0" + + "cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3Vw" + + "YCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR" + + "7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMg" + + "TlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5W" + + "Q0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJs" + + "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4K" + + "CiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhl" + + "IGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVz" + + "IHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCBy" + + "ZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlv" + + "dSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24K" + + "CkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFk" + + "ZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFj" + + "ZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1h" + + "Z2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoK" + + "YGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBw" + + "cml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8" + + "eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3Jl" + + "ZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + + "dXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1l" + + "c3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + + "eSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAg" + + "YW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUg" + + "c2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMg" + + "dGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQg" + + "cm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlm" + + "eQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVu" + + "YWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3Rs" + + "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZj" + + "Zi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMg" + + "U2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRp" + + "Y2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3Qg" + + "YWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnBy" + + "b3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNy" + + "ZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9t" + + "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5l" + + "dGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUg" + + "YW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3du" + + "IGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoK" + + "VGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGlu" + + "amVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1l" + + "LiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4g" + + "YG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVy" + + "bm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFz" + + "aApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5v" + + "LwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAt" + + "biBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNy" + + "ZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9y" + + "IG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + + "IHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9j" + + "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + + "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29y" + + "ZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAt" + + "LWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3" + + "b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVy" + + "c2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6" + + "IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1" + + "bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBt" + + "YXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRz" + + "OgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAt" + + "ICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAg" + + "ICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAt" + + "ICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAg" + + "ICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2lj" + + "TWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAg" + + "ICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2" + + "ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAg" + + "ICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNy" + + "ZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29u" + + "dGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVk" + + "LiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUg" + + "cG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGlu" + + "IGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + + "dmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5h" + + "bWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + + "IC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6" + + "CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNy" + + "ZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52" + + "Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBu" + + "b3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9u" + + "CgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0" + + "ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFn" + + "ZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hl" + + "Y2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25w" + + "YXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNl" + + "Y3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVu" + + "dHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAt" + + "biA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1" + + "bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3Jp" + + "emVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNs" + + "dXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3Jl" + + "dCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRz" + + "IEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlv" + + "dXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBv" + + "bGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3Jl" + + "dHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoq" + + "Q1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnks" + + "IEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoK" + + "IyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFm" + + "dGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2Rz" + + "IGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBv" + + "ZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFy" + + "Z2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5" + + "dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFs" + + "bCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBg" + + "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0" + + "ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBU" + + "cnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52" + + "Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBu" + + "dmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAA" + + "AAAhADUoHTJKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBDz+/l" + + "HQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + + "cGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAMCT5iMkMAADJDAAA" + + "NAAJAAAAAAAAAAAAAABWgwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVs" + + "dGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDBsWmYzw8AAM8PAAA3AAkAAAAA" + + "AAAAAAAAAIqQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRl" + + "LXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAA" + + "AAAAx6AAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4t" + + "dGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAA" + + "ANa6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tl" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAXOAA" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3Rh" + + "bGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAACO" + + "7wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRj" + + "aC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAAFUZ" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3Mu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAACNIQEA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQBbOvgYtiQAALYkAAAwAAkAAAAAAAAAAAAAANZDAQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAC/t/KAYPAAAGDwAAMgAJAAAAAAAAAAAAAADzaAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAxYLCf1FU" + + "AABRVAAALQAJAAAAAAAAAAAAAABieAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJl" + + "bmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAElFm2ePIAAAjyAAADcACQAAAAAA" + + "AAAAAAAAF80BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hv" + + "b3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAA" + + "AAAU7gEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAADAUAIAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAHWnAgBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCW" + + "Y7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAFrQAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAA7wADAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAFjIDAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAm1wDAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRv" + + "bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAMpk" + + "AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAA/ewMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 7834b30f35..bf36bfac60 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -1238,8 +1238,6 @@ func TestClusterValidatorCheck_PassNeedsTheRoleLineAndTheVerdict(t *testing.T) { cleanOK bool }{ "empty transcript": {role: validatorRoleControlPlane, want: "its transcript was empty"}, - "unreadable": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ - LogsErr: errors.New("connection refused to kubelet")}, want: "connection refused to kubelet"}, "no role line": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ Logs: "Starting NVCF cluster validation\nCluster is NVCF-Ready\n"}, want: "does not show the control-plane checks"}, "other role": {role: validatorRoleControlPlane, res: ClusterValidatorResult{ @@ -1271,6 +1269,31 @@ func TestClusterValidatorCheck_PassNeedsTheRoleLineAndTheVerdict(t *testing.T) { } } +// The validator exits non-zero when the cluster is Not-Ready, so a Job that +// succeeded passes even when its transcript cannot be read. The row says the +// transcript was not read and how to read it, and is not transient: polling +// again would only start another validator Job that hits the same denial. +func TestClusterValidatorCheck_SucceededJobWithAnUnreadableTranscriptPasses(t *testing.T) { + for name, logs := range map[string]string{ + "nothing read": "", + "part of it read": "Validator role: control-plane\nTier-1: ok\n", + "only the run notes": "note: validator config not applied (forbidden); reachability checks may be skipped\n", + } { + r := gradeWith(validatorRoleControlPlane, ClusterValidatorResult{Passed: true, JobName: "job-1", Logs: logs, + LogsErr: errors.New(`pods "cv-1-abc" is forbidden: cannot get resource "pods/log"`)}) + assert.True(t, r.Passed, name) + assert.Equal(t, SeverityInfo, r.Severity, name) + assert.False(t, r.Transient, name) + assert.Contains(t, r.Message, "cluster-validator Job succeeded; its transcript could not be read", name) + assert.Contains(t, r.Message, `cannot get resource "pods/log"`, name) + assert.Contains(t, r.Message, "kubectl --context ctx-a logs -n default job/job-1", name) + } + + failed := gradeWith(validatorRoleControlPlane, ClusterValidatorResult{ExitCode: 1, JobName: "job-1", + LogsErr: errors.New("connection refused to kubelet")}) + assert.True(t, failed.IsBlockingFailure(), "a Job that failed still fails") +} + // A failed run names the rows that failed it, unobserved critical checks // included. One that ended before its verdict, killed or evicted, says so // instead of blaming the cluster's checks. diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 709e5b59d5..f2413ec059 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -853,10 +853,22 @@ func gradeValidatorTranscript(r *CheckResult, result ClusterValidatorResult, rol } return } + // The validator exits non-zero when the cluster is Not-Ready, so a Job + // that succeeded is its verdict even when the transcript cannot be read, + // say with pods/log denied. It passes; only its warnings are unseen. + if result.LogsErr != nil && !strings.Contains(result.Logs, validatorVerdictReady) { + r.Passed = true + r.Severity = SeverityInfo + r.Message = "cluster-validator Job succeeded; its transcript could not be read (" + result.LogsErr.Error() + + "), so any warnings it reported are not shown" + if hint := kubectlLogsHint(kubeContext, result.JobName); hint != "" { + r.Message += "; read it with: " + hint + } + return + } // Info needs proof the requested checks ran and passed: the role line, - // and the verdict. A transcript that cannot be read, or stops short of - // its verdict, can hide warnings, so it is not a clean pass, and --wait - // polls again. + // and the verdict. A transcript that stops short of its verdict can hide + // warnings, so it is not a clean pass, and --wait polls again. if why := unreadVerdict(result, role); why != "" { r.Severity = SeverityWarning r.Transient = true @@ -891,8 +903,6 @@ func unreadVerdict(result ClusterValidatorResult, role string) string { ranRole := strings.Contains(logs, validatorRoleMarker+role) || (role == validatorRoleComputePlane && isLegacyComputePlaneTranscript(logs)) switch { - case result.LogsErr != nil && !strings.Contains(logs, validatorVerdictReady): - return "its transcript could not be read: " + result.LogsErr.Error() case strings.TrimSpace(logs) == "": return "its transcript was empty" case !ranRole: From 1a866a7fbaeb294f5e6a81045fe286783e0855b9 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:57:31 +0530 Subject: [PATCH 085/127] fix(nvcf-cli): keep a cut-short check at its worst severity, report cutShort in check_completed, and have --wait poll again until its own budget is spent Signed-off-by: rohithb --- .../reference/exit-codes.md | 4 +- .../nvcf-self-managed-cli/reference/flags.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 62 +- .../cmd/self_hosted_check_rows_test.go | 60 + .../agentskill/skilldata_generated.go | 4800 +++++++++-------- .../nvcf-cli/internal/selfhosted/preflight.go | 61 +- .../internal/selfhosted/preflight_test.go | 73 +- .../internal/selfhosted/progress/event.go | 4 + .../selfhosted/progress/render_jsonl.go | 3 + .../selfhosted/progress/render_jsonl_test.go | 19 +- 10 files changed, 2641 insertions(+), 2447 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 6f3336dfdf..7332cd8d00 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -8,7 +8,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. | `1` | Generic error | Helm render failed; network unreachable; file not found; YAML parse error | | `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, or a first API call that fails for any reason: refused or dropped connection, rejected credentials, a failing credential plugin, a server error); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, a namespace with no Helm release, and a `cluster-validator` row saying no `cluster_validator_image` is set | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | -| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check before it finished (its row says not run or cut short) and no other check failed. A check that already had its result keeps it, so a validator's own failure is exit `2` | +| `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check that can fail the run before it finished (its row says not run or cut short) and no other check failed. A cut-short row keeps the worst severity its check can report, so a check that can only warn, such as a registry that is not critical, stays a warning. A check that already had its result keeps it, so a validator's own failure is exit `2` | | `130` | Cancelled by SIGINT, SIGTERM or SIGHUP, or by a quit key in the `check --wait` dashboard | User Ctrl-C; `q`, `Esc` or `Ctrl-C` in the dashboard; CI budget exceeded; pod evicted; terminal or SSH session closed | ## How an agent should react @@ -24,4 +24,4 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. ## Where to find more detail -`check` reports its outcome in one `final` event (`success`, `verdict`, `totalChecks`, `passedCount`, `failedCount`, `warningCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. A usage error, such as a malformed `--wait`, exits `1` before any event. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. When a cluster-validator run left objects in the cluster (`--no-cleanup`, a pod that would not stop, or a cleanup that failed), `check` lists the commands that remove them in the `final` event's `cleanup` array and in that row's `cleanup` field, on every exit code, and prints them again as its last stderr lines. On an interrupt it prints them at once, before its own cleanup, which a second Ctrl-C cuts short. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. +`check` reports its outcome in one `final` event (`success`, `verdict`, `totalChecks`, `passedCount`, `failedCount`, `warningCount`) and never emits `phase_failed`; see `examples/ci-pipelines.md`. A usage error, such as a malformed `--wait`, exits `1` before any event. Its exit `5` has `success: false` and `verdict: "timeout"`. A `check_completed` event for a warning that `--wait` polls on carries `transient: true`, and one for a check the time budget stopped carries `cutShort: true`. A cancellation (exit `130`) emits `final` with `cancelled: true` instead of `phase_failed`; `up` emits `phase_cancelled` before it. When a cluster-validator run left objects in the cluster (`--no-cleanup`, a pod that would not stop, or a cleanup that failed), `check` lists the commands that remove them in the `final` event's `cleanup` array and in that row's `cleanup` field, on every exit code, and prints them again as its last stderr lines. On an interrupt it prints them at once, before its own cleanup, which a second Ctrl-C cuts short. Every other non-zero exit emits a structured `phase_failed` JSON event with `errCategory`, `errMessage`, `remediation` (array), `retryClass` (enum: `none|immediate|backoff|after_remediation|unknown`), `retryAfterSec` (int, optional), and `raw` (subprocess + HTTP + Kubernetes signal). Always consume these in `--json` mode rather than parsing English from stderr. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 708b31a14d..0ef6ad5a9b 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -20,7 +20,7 @@ | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | | `--output=text\|json` | Legacy alias for `--json` (deprecated, removed in next major) | `text` | | `--plain` | Force plain streaming output | auto-detect | -| `--wait DURATION` | `check` only; run the checks again, 5s apart, until they pass or DURATION runs out (exit `5`, `final` with `success: false`). Each run includes the cluster-validator Job, which can take up to 5m, so allow for it or pass `--skip-cluster-validation`. A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | +| `--wait DURATION` | `check` only; run the checks again, 5s apart, until they pass or DURATION runs out (exit `5`, `final` with `success: false`). Each run includes the cluster-validator Job, which can take up to 5m, so allow for it or pass `--skip-cluster-validation`. A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. A check the time budget stopped keeps it polling too, and its event carries `cutShort: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 476b29d890..6bf1e9deea 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -378,12 +378,12 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { emitCheckFinal(context.Background(), sink, lastResults, ledger.Outstanding()) return &ExitCodeError{Code: 2, Msg: "pre-flight checks failed"} } - // The outer budget stopped a check: one never started, or ran out of time - // while it ran. Its row is no finding, so the verdict is a timeout rather - // than whatever the partial set would grade as. A budget that ran out - // only after every check had its result changes nothing. A blocking - // failure in a row the budget did not cut short is still exit 2: no retry - // with more time passes it. + // A budget stopped a check: one never started, or ran out of time while + // it ran. Its row is no finding, so when it blocks the verdict is a + // timeout rather than whatever the partial set would grade as. A budget + // that ran out only after every check had its result changes nothing. A + // blocking failure in a row the budget did not cut short is still exit 2: + // no retry with more time passes it. exitBudgetSpent := func() error { if anyFindingFailed(lastResults) { return exitFailed() @@ -398,7 +398,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if interrupted() { return exitInterrupted() } - if anyCutShort(lastResults) { + if anyCutShortFailure(lastResults) { return exitBudgetSpent() } if anyFailed(lastResults) { @@ -417,8 +417,12 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // with the exit code: a run still waiting on a rollout has not passed. waitTimeout := func() error { emitCheckTimeout(sink, lastResults, ledger.Outstanding()) - if anyFailed(lastResults) { + switch { + case anyFindingFailed(lastResults): return &ExitCodeError{Code: 5, Msg: "wait timeout: checks still failing after " + selfHostedWait} + case anyCutShort(lastResults): + return &ExitCodeError{Code: 5, Msg: "wait timeout: a check was still cut short by its time budget after " + + selfHostedWait} } return &ExitCodeError{Code: 5, Msg: "wait timeout: a rollout was still in progress after " + selfHostedWait} } @@ -427,9 +431,10 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if interrupted() { return exitInterrupted() } - // An iteration the budget cut short has incomplete results: never a - // pass. - if anyCutShort(lastResults) { + // A poll a budget cut short has incomplete results: never a pass. The + // next poll gets fresh shares, so only the spent outer budget ends + // the wait here. + if anyCutShort(lastResults) && ctx.Err() != nil { return exitBudgetSpent() } if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults) { @@ -853,7 +858,7 @@ func runPreflightByRole( ) []selfhosted.CheckResult { // LocalOnly: skip all cluster probes, and say so in a row for each. if cfg.LocalOnly { - return selfhosted.RunPreflightForRole(ctx, cfg, selfhosted.RoleLocalOnly, + return checkRunRole(ctx, cfg, selfhosted.RoleLocalOnly, selfhosted.RoleConfig{Skipped: localOnlySkips()}, sink) } @@ -968,7 +973,7 @@ func runPreflightByRole( Skipped: cpSkips, StackEnv: stackEnv, } - cpResults = selfhosted.RunPreflightForRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) + cpResults = checkRunRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) return nil }) } @@ -991,7 +996,7 @@ func runPreflightByRole( Skipped: computeSkips, StackEnv: stackEnv, } - gpuResults = selfhosted.RunPreflightForRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) + gpuResults = checkRunRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) return nil }) } @@ -1045,7 +1050,7 @@ func runPreflightByRole( Skipped: cpSkips, } results = append(results, - selfhosted.RunPreflightForRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) + checkRunRole(ctx, cpCfg, selfhosted.RoleControlPlane, cpRC, sink)...) } if runComputePlane { gpuRC := selfhosted.RoleConfig{ @@ -1065,7 +1070,7 @@ func runPreflightByRole( StackEnv: stackEnv, } results = append(results, - selfhosted.RunPreflightForRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) + checkRunRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) } return results } @@ -1256,7 +1261,7 @@ func emitCheckTimeout(sink progress.EventSink, results []selfhosted.CheckResult, }) } -// anyCutShort reports a check the run's budget stopped before it finished. +// anyCutShort reports a check a budget stopped before it finished. func anyCutShort(results []selfhosted.CheckResult) bool { for _, r := range results { if r.CutShort { @@ -1266,10 +1271,25 @@ func anyCutShort(results []selfhosted.CheckResult) bool { return false } +// anyCutShortFailure reports a check a budget stopped whose worst outcome +// fails the run. One that could at worst warn does not. +func anyCutShortFailure(results []selfhosted.CheckResult) bool { + for _, r := range results { + if r.CutShort && r.IsBlockingFailure() { + return true + } + } + return false +} + // checkPreflightTools is a test seam over the local tool checks, so command // tests do not depend on what is installed on the machine running them. var checkPreflightTools = selfHostedPreflightTools +// checkRunRole is a test seam over one role's checks, so command tests can +// grade rows a time budget stopped without waiting it out. +var checkRunRole = selfhosted.RunPreflightForRole + // checkBudget is a test seam over the command's outer time budget. var checkBudget = func(d time.Duration) time.Duration { return d } @@ -1386,12 +1406,12 @@ func anyFindingFailed(results []selfhosted.CheckResult) bool { return false } -// anyWarningToWaitOn reports a warning expected to clear by itself, such as a -// rollout the validator saw in progress. --wait keeps polling on it; a single -// run still exits 0. +// anyWarningToWaitOn reports a warning a later poll may clear: one expected to +// clear by itself, such as a rollout the validator saw in progress, or a check +// its budget stopped. --wait keeps polling on it; a single run still exits 0. func anyWarningToWaitOn(results []selfhosted.CheckResult) bool { for _, r := range results { - if r.Transient && !r.Passed { + if (r.Transient || r.CutShort) && !r.Passed { return true } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index e6420739ef..2023cfb442 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -357,6 +357,66 @@ func TestCheck_BlockingFailureBeatsATimeout(t *testing.T) { } } +// stubRolePolls replaces each role's checks with the rows of one poll after +// another, the last repeating, and returns how many role runs there were. +func stubRolePolls(t *testing.T, polls ...[]selfhosted.CheckResult) *int { + t.Helper() + prevRun, prevInterval := checkRunRole, checkPollInterval + t.Cleanup(func() { checkRunRole, checkPollInterval = prevRun, prevInterval }) + checkPollInterval = 10 * time.Millisecond + calls := 0 + checkRunRole = func(ctx context.Context, _ selfhosted.PreflightConfig, _ selfhosted.Role, + _ selfhosted.RoleConfig, sink progress.EventSink) []selfhosted.CheckResult { + rows := polls[min(calls, len(polls)-1)] + calls++ + for _, r := range rows { + _ = sink.Emit(ctx, progress.CheckCompleted{Category: r.Category, ID: r.ID, Passed: r.Passed, + Severity: r.Severity, Message: r.Message, CutShort: r.CutShort}) + } + return rows + } + return &calls +} + +// A check a share stopped keeps the severity it could at worst have had. One +// that could only warn, a registry that is not critical, does not fail the +// run or time it out: exit 0, and the row says it was cut short. --wait polls +// again on it, and on a cut-short check that blocks, instead of ending on the +// first poll whose share ran out. +func TestCheck_CutShortRowsKeepTheirSeverityAndWaitPollsAgain(t *testing.T) { + cutShort := func(severity selfhosted.Severity) []selfhosted.CheckResult { + return []selfhosted.CheckResult{{Category: selfhosted.CategoryRegistryCredentials, + ID: "registry-cred-slow.example", Severity: severity, CutShort: true, + Message: "cut short: the check's time budget ran out before it finished"}} + } + passed := []selfhosted.CheckResult{{Category: selfhosted.CategoryRegistryCredentials, + ID: "registry-cred-slow.example", Passed: true, Severity: selfhosted.SeverityInfo}} + args := []string{"--control-plane", "--skip-cluster-validation"} + + calls := stubRolePolls(t, cutShort(selfhosted.SeverityWarning)) + run := runCheck(t, checkStubs{}, args...) + assert.Equal(t, 0, run.code(), run.stderr) + assert.Equal(t, "warnings", finalEvent(t, run.stderr)["verdict"]) + row := run.row(t, selfhosted.CategoryRegistryCredentials, "registry-cred-slow.example") + require.NotNil(t, row) + assert.Equal(t, true, row["cutShort"]) + assert.Equal(t, "warning", row["severity"]) + assert.Equal(t, 1, *calls) + + for _, severity := range []selfhosted.Severity{selfhosted.SeverityWarning, selfhosted.SeverityError} { + calls = stubRolePolls(t, cutShort(severity), passed) + run = runCheck(t, checkStubs{}, append(args, "--wait", "30s")...) + assert.Equal(t, 0, run.code(), "%s: %s", severity, run.stderr) + assert.Equal(t, 2, *calls, "%s: the next poll gets fresh shares", severity) + assert.Equal(t, "ok", finalEvent(t, run.stderr)["verdict"], severity) + } + + stubRolePolls(t, cutShort(selfhosted.SeverityWarning)) + run = runCheck(t, checkStubs{}, append(args, "--wait", "50ms")...) + assert.Equal(t, 5, run.code(), run.stderr) + require.ErrorContains(t, run.err, "a check was still cut short by its time budget") +} + // A cluster that cannot be contacted at all fails the run, with or without a // validator: nothing about it was checked. func TestCheck_UnreachableClusterFailsTheRun(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index f4e6dfcdcb..d80c8d1a4c 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjE1MTAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjE4NDgsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -68,12 +68,12 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiZTk0NGU3ZDljYWJhYWVjYzQyZWIzYWQ1NTZk" + "MWM4M2ZhMDRmMTdiODhiZGQzZThhOWU4YTViMmM5Y2Y3ZTQzZiIsCiAgICAgICJzaXplIjogOTM5" + "OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjNWY4ZjAxZTI2YmZhZjA5ZTU0" + - "MDQ0ZDY2NGQ3MjM3MzgyZjMwZjllZTZmYTZhZmQ2YWMyYWY5ZTdiYTVhZWI4IiwKICAgICAgInNp" + - "emUiOiAzODQ2CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJlNTU0MzQ0NTZlZTdiMDFj" + - "NDhiZjhkNzUyYzZkMzEzMmVkOWM5YTcxZjA1NWQ1ZDAyYTJjMTIzY2E1ZjkwMDQ4IiwKICAgICAg" + - "InNpemUiOiAyMTU4NQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxZWRhYWVhNTFlYWRiYmE3" + + "ZDczYTA3ODcyZDA1M2Q0MWQ3ZjM0ZGRjYTM0ZmM4YTBlNGY0NjJjZjk2MGI2M2Q0IiwKICAgICAg" + + "InNpemUiOiAyMTY3OQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImUx" + "YTc3NzJmMWI1YjliNDJlY2JiNGZiNmU4ZDMzODQ2NTZkZGUyNmJmNWE1NDRmMGFkZTYyYzkwMWZl" + "NjQyYjkiLAogICAgICAic2l6ZSI6IDgzMzUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCDUoHTJKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCGasEf1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1677,2405 +1677,2411 @@ const skillDataZipBase64 = "" + "ZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0" + "aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90" + "IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dy" + - "ZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgYmVmb3JlIGl0IGZp" + - "bmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQgc2hvcnQpIGFuZCBubyBvdGhlciBj" + - "aGVjayBmYWlsZWQuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0" + - "LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENh" + - "bmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGlu" + - "IHRoZSBgY2hlY2sgLS13YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBv" + - "ciBgQ3RybC1DYCBpbiB0aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmlj" + - "dGVkOyB0ZXJtaW5hbCBvciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50IHNo" + - "b3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBD" + - "b250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNl" + - "cjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1" + - "bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3Mg" + - "KyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhl" + - "cyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZl" + - "KSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9L" + - "LiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50" + - "byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0" + - "cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZv" + - "cmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCBy" + - "ZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJk" + - "aWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5p" + - "bmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9j" + - "aS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdh" + - "aXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2Vz" + - "czogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBl" + - "dmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNp" + - "ZW50OiB0cnVlYC4gQSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0" + - "aCBgY2FuY2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRz" + - "IGBwaGFzZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4gV2hlbiBhIGNsdXN0ZXItdmFsaWRhdG9yIHJ1" + - "biBsZWZ0IG9iamVjdHMgaW4gdGhlIGNsdXN0ZXIgKGAtLW5vLWNsZWFudXBgLCBhIHBvZCB0aGF0" + - "IHdvdWxkIG5vdCBzdG9wLCBvciBhIGNsZWFudXAgdGhhdCBmYWlsZWQpLCBgY2hlY2tgIGxpc3Rz" + - "IHRoZSBjb21tYW5kcyB0aGF0IHJlbW92ZSB0aGVtIGluIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNs" + - "ZWFudXBgIGFycmF5IGFuZCBpbiB0aGF0IHJvdydzIGBjbGVhbnVwYCBmaWVsZCwgb24gZXZlcnkg" + - "ZXhpdCBjb2RlLCBhbmQgcHJpbnRzIHRoZW0gYWdhaW4gYXMgaXRzIGxhc3Qgc3RkZXJyIGxpbmVz" + - "LiBPbiBhbiBpbnRlcnJ1cHQgaXQgcHJpbnRzIHRoZW0gYXQgb25jZSwgYmVmb3JlIGl0cyBvd24g" + - "Y2xlYW51cCwgd2hpY2ggYSBzZWNvbmQgQ3RybC1DIGN1dHMgc2hvcnQuIEV2ZXJ5IG90aGVyIG5v" + - "bi16ZXJvIGV4aXQgZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQg" + - "d2l0aCBgZXJyQ2F0ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwg" + - "YHJldHJ5Q2xhc3NgIChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlh" + - "dGlvbnx1bmtub3duYCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3" + - "YCAoc3VicHJvY2VzcyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1l" + - "IHRoZXNlIGluIGAtLWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20g" + - "c3RkZXJyLgpQSwcIC/t/KAYPAAAGDwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZj" + - "Zi1jbGlgIGZsYWcgcmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQp" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcg" + - "RklMRWAgfCBDb25maWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0t" + - "ZGVidWdgIHwgVmVyYm9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0t" + - "anNvbmAgfCBKU09OTCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5k" + - "ZXIgYC0tbm9uLWludGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNp" + - "c3RlbnQgYWNyb3NzIHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz0uLi5gIHwgQ29udHJvbC1wbGFu" + - "ZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBl" + - "bWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz0uLi5gIHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBn" + - "aXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkg" + - "dmVyc2lvbiB8CnwgYC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVu" + - "dCBuYW1lLiBgY2hlY2tgIHJlYWRzIHRoZSBzdGFjaydzIGBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bGAgb25seSBmb3IgYW4gZW52aXJvbm1lbnQgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklM" + - "RV9FTlZgLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGlu" + - "Z3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwg" + - "YGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21w" + - "dHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0" + - "b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0" + - "IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRc" + - "fGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBp" + - "biBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFt" + - "aW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Ag" + - "b25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mgb3Ig" + - "RFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNl" + - "YCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNoIGNh" + - "biB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXIt" + - "dmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNoIGFz" + - "IGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hlY2tf" + - "Y29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBDYW5ub3QgYmUgY29t" + - "YmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0aXZlIERV" + - "UkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8CnwgYC0t" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wg" + - "cGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwg" + - "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyBy" + - "ZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9ubHkgYXQg" + - "YSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJMYCwgb3Ig" + - "aW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYDsgd2l0aCBub25l" + - "LCBpdHMgYHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20g" + - "YGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRo" + - "ZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29u" + - "dGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50" + - "aWFsIGNoZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVw" + - "b3J0ZWQgYXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2Fs" + - "LW9ubHkpYC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCB8IGBmYWxzZWAg" + - "fAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRy" + - "b2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gYC0t" + - "cHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3RzIGl0cyBvd24u" + - "IE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNzIGJvdGggY29u" + - "dGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0ZWQgcm9sZSBj" + - "aGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhv" + - "c3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwg" + - "c2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBvciBgLS1jb21w" + - "dXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRoIGEgcm9sZSdz" + - "IG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVzdGVyIGFzIGlu" + - "c3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhlbG1maWxlYCBv" + - "ciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBjaGVjayBhbiBp" + - "bnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3YXJucyB8IGBm" + - "YWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb250cm9s" + - "IHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVy" + - "LXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxh" + - "bmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3Bh" + - "Y2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEgY29uZmlndXJl" + - "ZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgYGZh" + - "bHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAtLWNvbXB1dGUt" + - "cGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhvdXQgYC0tcHJl" + - "YCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBzaG93" + - "biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBjaGVja2AgZG9l" + - "cyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRo" + - "ZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25m" + - "aWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9i" + - "ZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRo" + - "ZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3RpZnktbGltaXRz" + - "YCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0Zf" + - "Q0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCB8IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFs" + - "aWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIg" + - "YmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJS" + - "b2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVC" + - "aW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRzIG93biBDb25maWdN" + - "YXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29u" + - "dGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlk" + - "YXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4K" + - "V2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRoYXQgc3VjY2VlZGVkIHN0aWxsIHBhc3Nlcywg" + - "YW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCwgc28gd2Fy" + - "bmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBv" + - "bmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3Bh" + - "Y2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRv" + - "LW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxp" + - "ZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBp" + - "bWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9S" + - "X0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRo" + - "IG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5" + - "LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVu" + - "IGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2Fp" + - "dGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlk" + - "YXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93" + - "IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNs" + - "dXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRy" + - "YSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGlu" + - "ZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5l" + - "IHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhh" + - "cmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMg" + - "dGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0" + - "aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBv" + - "c2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1" + - "bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5h" + - "Z2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcg" + - "b25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0" + - "cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhh" + - "cyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFi" + - "bGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9S" + - "RUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AgfCAt" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRo" + - "ZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5v" + - "ZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUg" + - "YG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NM" + - "SV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + - "aWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8Cnwg" + - "YC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4uLmAgfCBTdGFj" + - "ayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5vdCBhdCBhbGws" + - "IHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhlbSBpbiB0aGUgY2x1c3Rlcjog" + - "YSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBBbiB1bmtub3du" + - "IG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBG" + - "YWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRvIHRoZSBjb21w" + - "b25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmls" + - "ZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + - "SURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9leHRlcm5hbF9jb21wb25lbnRzYCB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlv" + - "bnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBv" + - "bmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVy" + - "IHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBO" + - "b0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJs" + - "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RP" + - "TEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgIHwg" + - "LSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVn" + - "aXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFn" + - "ZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0ZWQg" + - "aW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBpdCBj" + - "b3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20gYSBT" + - "ZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4g" + - "RmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFjaGlu" + - "ZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5LWNy" + - "ZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlzIHdo" + - "YXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0IHwK" + - "fCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlk" + - "YXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBj" + - "YW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNp" + - "dGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4g" + - "RWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5mbyBh" + - "bmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NM" + - "VVNURVJfVkFMSURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhl" + - "IHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAg" + - "Zm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdl" + - "IGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5n" + - "IGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVy" + - "IGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJl" + - "IDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlz" + - "dCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3Zl" + - "cyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwK" + - "fCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRl" + - "cnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0" + - "b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUg" + - "dGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5l" + - "LWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28g" + - "d3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFk" + - "aW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNo" + - "ZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0" + - "cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJf" + - "Q09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2gg" + - "YW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0" + - "aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdF" + - "X1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBh" + - "bmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2Vy" + - "IGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxgIGVudmly" + - "b25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0LCBhbmQg" + - "aXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtleQpp" + - "cyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNyLmlvYCBy" + - "ZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXksIGZvciB0" + - "YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBhbmQgdGhl" + - "IHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2VuZHMuCkVh" + - "Y2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9naW4g" + - "cmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhl" + - "IHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBv" + - "c2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFs" + - "LmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNr" + - "IHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMgbm90" + - "IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9ubHkgYSBj" + - "cmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZv" + - "ciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQWZ0ZXIg" + - "aW5zdGFsbCBhIHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUgY2x1" + - "c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwptYWNo" + - "aW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3Np" + - "bmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2JlIGNh" + - "bm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzIHNr" + - "aXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0aGF0" + - "IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5v" + - "dCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNr" + - "CgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9u" + - "ZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92" + - "ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQg" + - "Y29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0" + - "ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczog" + - "bm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRz" + - "YCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWlj" + - "YCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05B" + - "TUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJl" + - "IG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMg" + - "dGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3Mu" + - "Z2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFN" + - "RVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBj" + - "YXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1j" + - "bHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxf" + - "Q09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hl" + - "biBzZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVh" + - "ZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8" + - "IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3Zl" + - "cmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAs" + - "IG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBj" + - "b21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4g" + - "dGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdp" + - "dGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIG5v" + - "dCB1c2VkLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNl" + - "LnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3Rh" + - "Y2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENM" + - "SSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHks" + - "IGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5k" + - "IGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBp" + - "bmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0" + - "dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZs" + - "YWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5" + - "LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFs" + - "aWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2Ag" + - "aXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVg" + - "IHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2Et" + - "aWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJF" + - "R0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwg" + - "RHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2Vg" + - "IHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0" + - "ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZl" + - "IHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRj" + - "aGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25l" + - "bnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBg" + - "ZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFt" + - "ZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwg" + - "LSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNt" + - "cy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4" + - "aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZh" + - "bHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5l" + - "cmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3Ro" + - "KSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhl" + - "IGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9O" + - "YCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQg" + - "ZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUg" + - "ZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8" + - "IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBh" + - "ZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChz" + - "ZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vl" + - "a3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAg" + - "aXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBh" + - "ZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0Vg" + - "IHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFp" + - "bmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwg" + - "Q29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxU" + - "XHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxt" + - "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1" + - "c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29y" + - "a2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMg" + - "U2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0t" + - "Y2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFu" + - "ZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVD" + - "YCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1" + - "cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVh" + - "dGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBg" + - "SGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9y" + - "IGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFz" + - "IGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJ" + - "VFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1" + - "ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9y" + - "aXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVw" + - "ZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVx" + - "dWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNz" + - "LCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRp" + - "bmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2Ag" + - "ZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkg" + - "dGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRp" + - "b25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5y" + - "b3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3Jv" + - "cV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJh" + - "dGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50" + - "ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1" + - "bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAo" + - "ZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5n" + - "IGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAw" + - "MDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRl" + - "bnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlv" + - "biwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2" + - "aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVx" + - "dWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0" + - "IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVl" + - "c3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rp" + - "b24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZv" + - "cndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1" + - "ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tp" + - "bmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1z" + - "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "dGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1v" + - "ZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + - "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + - "bGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFt" + - "cGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4g" + - "fCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBm" + - "dW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFu" + - "ZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXIt" + - "YWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkg" + - "b3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBv" + - "dmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBm" + - "dW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1v" + - "ZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcu" + - "dG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFu" + - "ZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3Jl" + - "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBK" + - "U09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + - "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElE" + - "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwK" + - "fCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAt" + - "LW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5j" + - "ZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5" + - "IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8" + - "CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1" + - "c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoK" + - "YC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRl" + - "ZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEy" + - "OCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8" + - "IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBI" + - "MTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVk" + - "IHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8" + - "IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3" + - "aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQg" + - "VVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAg" + - "fAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdz" + - "IG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJB" + - "Q0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8" + - "IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQg" + - "fAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcg" + - "dGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNo" + - "LXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBl" + - "bnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12" + - "YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRl" + - "ZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xv" + - "Y2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZv" + - "ciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGlu" + - "IHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQ" + - "VDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBh" + - "ZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBg" + - "LS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRw" + - "dXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1" + - "bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1l" + - "YDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1v" + - "ZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8" + - "CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJl" + - "cGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1z" + - "ZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0g" + - "fAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQg" + - "SUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1l" + - "dHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRy" + - "YWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCMWCwn9RVAAAUVQAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + - "ZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJy" + - "b3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGlu" + - "IHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTog" + - "b3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBo" + - "YXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMg" + - "UHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21w" + - "bGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBl" + - "dmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRh" + - "dG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBm" + - "dWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRI" + - "YCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBz" + - "Y29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxs" + - "IGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2lu" + - "c3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwg" + - "aHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhl" + - "bG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJv" + - "L2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0" + - "b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBp" + - "cyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1" + - "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9D" + - "TFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwK" + - "fCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2Fz" + - "IG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVu" + - "IG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + - "bHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywg" + - "b3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRv" + - "ciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAs" + - "IHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUg" + - "cmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBk" + - "ZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBXYXJu" + - "aW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9n" + - "YCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwg" + - "bG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQg" + - "ZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdh" + - "eSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95" + - "cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3Jl" + - "YXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczog" + - "RGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0" + - "IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3Vi" + - "ZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3Rv" + - "cmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9y" + - "IHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmls" + - "ZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8" + - "CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBO" + - "b3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxs" + - "b2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlz" + - "IG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlh" + - "LmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwt" + - "Z3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBH" + - "UFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxl" + - "LW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhp" + - "dCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRl" + - "cywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBh" + - "biBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21t" + - "YW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpz" + - "b25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRo" + - "ZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9y" + - "Y2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8" + - "CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8" + - "YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9s" + - "dW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBv" + - "bGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51" + - "dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJh" + - "dGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0" + - "YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5k" + - "aW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYg" + - "bm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJl" + - "bGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBg" + - "aGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJl" + - "bGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFz" + - "IG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xv" + - "YWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVz" + - "IHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAt" + - "LXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0" + - "IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1" + - "cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVs" + - "ZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24g" + - "YSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZF" + - "Uj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZp" + - "cm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQg" + - "YEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdp" + - "dGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxl" + - "LW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwg" + - "TmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdo" + - "ZW4gdGhhdCBnYXRlIGlzIG9uLiBXaXRoIGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgIG9yIGAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIHNldCB0byBhIGxvY2FsIHN0YWNrLCBnYXRlcyBjb21lIGZyb20g" + - "aXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJ" + - "TEVfRU5WYCBuYW1lcyBvbmUsIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA7IG90aGVyd2lzZSBm" + - "cm9tIHRoZSBzdGFjayBkZWZhdWx0cywgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3Jv" + - "dmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUG9pbnQgdGhl" + - "IHN0YWNrIGZsYWcgYXQgdGhlIHN0YWNrIHlvdSBpbnN0YWxsIGZyb20gYW5kIHBhc3MgdGhlIHNh" + - "bWUgYC0tZW52YCB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBO" + - "byBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNs" + - "aSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVg" + - "IChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3Rl" + - "ZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9t" + - "IGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4g" + - "YG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0" + - "aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tl" + - "X2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRp" + - "b2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRv" + - "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0" + - "IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNr" + - "IGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3Rs" + - "IGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQ" + - "VS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBn" + - "cHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJp" + - "bnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92" + - "aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1y" + - "ZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lv" + - "bj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJO" + - "Q0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBh" + - "cHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYg" + - "bm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2Ug" + - "YWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9y" + - "IGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11" + - "bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4u" + - "Li9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1" + - "bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + - "TlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2Ev" + - "Y2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2gg" + - "SUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBj" + - "bHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMg" + - "bG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMg" + - "aXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVy" + - "LWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJh" + - "Y2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3Jvbmcg" + - "fCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhl" + - "IHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdg" + - "IGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2Fp" + - "dCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBu" + - "YXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNl" + - "cnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0t" + - "LXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0" + - "cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNy" + - "ZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3Vw" + - "ZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVh" + - "ZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1Qg" + - "Y2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNm" + - "LmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhl" + - "IGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91" + - "dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRl" + - "cGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCElFm2ePIAAAjyAA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2Vs" + - "Zi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNr" + - "cy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZs" + - "b3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91" + - "Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250" + - "cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJv" + - "ZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRz" + - "LiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwg" + - "azNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29t" + - "cGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAz" + - "LjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgph" + - "dXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+" + - "Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBz" + - "ZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGlu" + - "c3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFk" + - "LCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6" + - "ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZl" + - "cnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYt" + + "ZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgdGhhdCBjYW4gZmFp" + + "bCB0aGUgcnVuIGJlZm9yZSBpdCBmaW5pc2hlZCAoaXRzIHJvdyBzYXlzIG5vdCBydW4gb3IgY3V0" + + "IHNob3J0KSBhbmQgbm8gb3RoZXIgY2hlY2sgZmFpbGVkLiBBIGN1dC1zaG9ydCByb3cga2VlcHMg" + + "dGhlIHdvcnN0IHNldmVyaXR5IGl0cyBjaGVjayBjYW4gcmVwb3J0LCBzbyBhIGNoZWNrIHRoYXQg" + + "Y2FuIG9ubHkgd2Fybiwgc3VjaCBhcyBhIHJlZ2lzdHJ5IHRoYXQgaXMgbm90IGNyaXRpY2FsLCBz" + + "dGF5cyBhIHdhcm5pbmcuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBz" + + "IGl0LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8" + + "IENhbmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5" + + "IGluIHRoZSBgY2hlY2sgLS13YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNj" + + "YCBvciBgQ3RybC1DYCBpbiB0aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBl" + + "dmljdGVkOyB0ZXJtaW5hbCBvciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50" + + "IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAg" + + "fCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8g" + + "dXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBh" + + "IGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVj" + + "a3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBm" + + "aXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0" + + "aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2Vy" + + "IE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcg" + + "aW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3Qg" + + "cmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBi" + + "ZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNr" + + "YCByZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2" + + "ZXJkaWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdh" + + "cm5pbmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxl" + + "cy9jaS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAt" + + "LXdhaXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3Vj" + + "Y2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVk" + + "YCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJh" + + "bnNpZW50OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBl" + + "ZCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBl" + + "bWl0cyBgZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFp" + + "bGVkYDsgYHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVz" + + "dGVyLXZhbGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVh" + + "bnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVk" + + "KSwgYGNoZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZp" + + "bmFsYCBldmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAg" + + "ZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBs" + + "YXN0IHN0ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2Us" + + "IGJlZm9yZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0" + + "LiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFp" + + "bGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRp" + + "YXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tv" + + "ZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0" + + "aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwp" + + "LiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNp" + + "bmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCOUdeab6DwAA+g8AAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5t" + + "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChl" + + "dmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1j" + + "bGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8" + + "IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9m" + + "ZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3Rl" + + "ZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4u" + + "YCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3Ig" + + "YG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8" + + "IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJj" + + "ZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVS" + + "TCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVs" + + "bWZpbGUgZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0t" + + "ZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1" + + "c2VkOyBzZWUgW1NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1yZWFkLWZy" + + "b20tdGhlLXN0YWNrKSB8IGBsb2NhbGAgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxl" + + "IGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBK" + + "V1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0" + + "YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8" + + "IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJl" + + "Y2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZv" + + "cmNlIHBsYWluIHN0cmVhbWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJB" + + "VElPTmAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgY2hlY2tzIGFnYWluLCA1cyBhcGFydCwgdW50" + + "aWwgdGhleSBwYXNzIG9yIERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZpbmFsYCB3aXRo" + + "IGBzdWNjZXNzOiBmYWxzZWApLiBFYWNoIHJ1biBpbmNsdWRlcyB0aGUgY2x1c3Rlci12YWxpZGF0" + + "b3IgSm9iLCB3aGljaCBjYW4gdGFrZSB1cCB0byA1bSwgc28gYWxsb3cgZm9yIGl0IG9yIHBhc3Mg" + + "YC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0" + + "byBjbGVhciwgc3VjaCBhcyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcs" + + "IGFuZCBpdHMgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50OiB0cnVl" + + "YC4gQSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBrZWVwcyBpdCBwb2xsaW5nIHRvbywg" + + "YW5kIGl0cyBldmVudCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIENhbm5vdCBiZSBjb21iaW5l" + + "ZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24tcG9zaXRpdmUgRFVSQVRJ" + + "T04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykgfCAtIHwKfCBgLS1jb250" + + "cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFu" + + "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJy" + + "ZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVp" + + "cmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBTSVMgb25seSBhdCBhIFVS" + + "TCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJU19VUkxgLCBvciBpbiB0" + + "aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxgOyB3aXRoIG5vbmUsIGl0" + + "cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQgZnJvbSBgYmFz" + + "ZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxv" + + "Y2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3RyeSBjb250YWN0" + + "LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwg" + + "Y2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRl" + + "ZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0tbG9jYWwtb25s" + + "eSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgIHwgYGZhbHNlYCB8Cgoj" + + "IyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJvbC1w" + + "bGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBgLS1wcmVg" + + "IHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVjdHMgaXRzIG93bi4gT25s" + + "eQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBhc3MgYm90aCBjb250ZXh0" + + "IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxlY3RlZCByb2xlIGNoZWNr" + + "cyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0" + + "b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5j" + + "ZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUt" + + "cGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mgb3du" + + "IGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFs" + + "bGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVsbWZpbGVgIG9yIGBo" + + "ZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNoZWNrIGFuIGluc3Rh" + + "bGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdhcm5zIHwgYGZhbHNl" + + "YCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbnRyb2wgcGxh" + + "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFs" + + "aWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAg" + + "fCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMs" + + "IG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQgYSBjb25maWd1cmVkIElD" + + "TVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3IgfCBgZmFsc2Vg" + + "IHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQgYC0tY29tcHV0ZS1wbGFu" + + "ZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0aG91dCBgLS1wcmVgIHwg" + + "YGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIHNob3duIGlu" + + "IHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQgYGNoZWNrYCBkb2VzIG5v" + + "dCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBl" + + "ci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1" + + "c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdoZW4gdGhlIHByb2JlIGlt" + + "YWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFscywgc2luY2UgdGhlIHBy" + + "b2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5vdGlmeS1saW1pdHNgIHJv" + + "dyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElf" + + "U0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0" + + "b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWlu" + + "ZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUs" + + "IGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRp" + + "bmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwg" + + "YW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0" + + "IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9y" + + "J3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRo" + + "b3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQg" + + "aXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkLCBzbyB3YXJuaW5n" + + "cyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duLgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkg" + + "dGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwg" + + "RGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9k" + + "ZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRv" + + "ciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdl" + + "LiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1B" + + "R0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8g" + + "dGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElm" + + "IG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5k" + + "IGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0" + + "cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9y" + + "IGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMg" + + "YSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rl" + + "ci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJl" + + "Z2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBh" + + "bmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFs" + + "aWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9y" + + "LmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUg" + + "aW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBz" + + "dGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRv" + + "cnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVz" + + "cyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIu" + + "YWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5" + + "LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4g" + + "VGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5v" + + "IHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBv" + + "ciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lT" + + "VFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0gfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5v" + + "ZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10" + + "by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNg" + + "LiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NM" + + "VVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + + "b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1j" + + "bHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRl" + + "cGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28g" + + "dGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1" + + "YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFt" + + "ZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxz" + + "IGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVu" + + "dHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNl" + + "dHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFU" + + "T1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4" + + "dGVybmFsX2NvbXBvbmVudHNgIHwgZnJvbSB0aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRh" + + "dG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBh" + + "ZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMg" + + "aXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFp" + + "bnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhl" + + "Y3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9y" + + "IGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJB" + + "VElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwK" + + "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3Ry" + + "eSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBX" + + "aGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBg" + + "ZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGll" + + "cyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3Jl" + + "dCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWls" + + "aW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3Mg" + + "Y3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVu" + + "dGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3" + + "YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAt" + + "LXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9y" + + "IHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5v" + + "dCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHks" + + "IGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNo" + + "IHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBz" + + "YXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + + "Ul9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFs" + + "aWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3Ig" + + "ZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMg" + + "c3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9y" + + "ZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hl" + + "Y2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQg" + + "aG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFu" + + "ZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRo" + + "ZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAt" + + "LXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBh" + + "ZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBs" + + "b2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUg" + + "Y2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1" + + "c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0" + + "ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcg" + + "dGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tg" + + "IHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxv" + + "Y2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05G" + + "SUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkg" + + "YGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBO" + + "R0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVM" + + "TF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApg" + + "TkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9n" + + "aW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1l" + + "bnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBp" + + "cyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNl" + + "bnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVj" + + "dHMgdGhlIGRvY2tlcgpsb2dpbi4gVGhlIHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBk" + + "aXNjb3ZlcnkgYW5kIHRoZSB2YWxpZGF0b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93" + + "IHNheXMgaG93IHRvIHJlbmV3IHRoZSBsb2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBg" + + "LS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5l" + + "d2VkIHdoaWxlIHRoZQpydW4gd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJv" + + "YmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRv" + + "cnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1h" + + "Z2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0" + + "aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2Vu" + + "dCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRl" + + "bnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFu" + + "IE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0" + + "YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVy" + + "IHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUg" + + "Y2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBs" + + "b2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90" + + "IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBl" + + "ZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0" + + "cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFz" + + "CnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRo" + + "ZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNl" + + "dCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0" + + "aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25m" + + "aWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5" + + "QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25l" + + "IHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9u" + + "bHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9u" + + "bHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNg" + + "LCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFt" + + "ZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUg" + + "c3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRl" + + "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BB" + + "Q0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3Nh" + + "bmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0" + + "ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01Q" + + "T05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNl" + + "dCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9m" + + "IHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3Bl" + + "bkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5" + + "IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3Ig" + + "YE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUg" + + "ZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5" + + "IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBg" + + "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgbm90IHVz" + + "ZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFt" + + "bGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0" + + "aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MK" + + "ICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5k" + + "IGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0" + + "cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1" + + "ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQK" + + "ICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyBy" + + "ZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpP" + + "dGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0" + + "b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBw" + + "cm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJ" + + "Q01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJ" + + "RGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9O" + + "YCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnkt" + + "cnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoK" + + "IyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBs" + + "YW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUt" + + "cmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBj" + + "YWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMg" + + "cGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxz" + + "ZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChy" + + "ZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwK" + + "fCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVy" + + "bCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3Rp" + + "bmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2Vg" + + "IHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRl" + + "IG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwK" + + "fCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5" + + "IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwg" + + "RXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJh" + + "dGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZh" + + "dWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0t" + + "dmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVy" + + "IG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29u" + + "ZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcyku" + + "CgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyBy" + + "ZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhv" + + "YyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBD" + + "b250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIg" + + "aW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250" + + "YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNU" + + "UkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hh" + + "cnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQg" + + "d2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9h" + + "ZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2" + + "aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFy" + + "dGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJk" + + "IG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwg" + + "TExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4s" + + "cm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJs" + + "ZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwg" + + "YERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29t" + + "YmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmll" + + "bGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAg" + + "fCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBo" + + "YXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkg" + + "TkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRh" + + "YmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJl" + + "cyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExM" + + "TSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBt" + + "ZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNs" + + "YXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUg" + + "bW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNg" + + "LCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRp" + + "bmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211" + + "bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxp" + + "bWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2Vy" + + "IHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRz" + + "IGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlz" + + "KSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGlt" + + "aXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAw" + + "LVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBv" + + "ZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBz" + + "ZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VO" + + "YW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0" + + "LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhw" + + "b3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMg" + + "dXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJ" + + "RCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2Fy" + + "ZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3Rz" + + "IGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNz" + + "OyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNp" + + "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdz" + + "IFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwt" + + "dXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91" + + "dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4g" + + "Um91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6" + + "IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0g" + + "fAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0" + + "aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFu" + + "eSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2Nv" + + "dW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVy" + + "cmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJy" + + "aWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0" + + "aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxO" + + "YW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tl" + + "blJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFy" + + "ZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVg" + + "LXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04g" + + "c3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + + "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJl" + + "cXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAt" + + "LWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWlu" + + "LWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBO" + + "YCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAg" + + "fCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBg" + + "LS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVy" + + "cyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1p" + + "bnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5p" + + "dGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNo" + + "YXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BV" + + "IG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBg" + + "IHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0" + + "aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0t" + + "aW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGgg" + + "YC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwg" + + "b3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8Cnwg" + + "YC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3Zl" + + "cnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VO" + + "RGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3Bl" + + "Y2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8Cnwg" + + "YC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUg" + + "Y29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6" + + "ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmly" + + "b25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVl" + + "YCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0" + + "IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBy" + + "dW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5v" + + "IHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVl" + + "dWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJI" + + "YCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVy" + + "IHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJl" + + "c3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBh" + + "cnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1" + + "cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyBy" + + "ZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxz" + + "IE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBg" + + "LS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0" + + "YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFy" + + "YXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8Cnwg" + + "YC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8" + + "IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkg" + + "ZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2Vz" + + "IHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIN4nT9q9UAACvVAAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + + "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMs" + + "IHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3lu" + + "YyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRz" + + "aWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2Vf" + + "ZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUt" + + "ZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRl" + + "ZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50" + + "J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3In" + + "cyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwK" + + "dHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwt" + + "LS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRv" + + "ZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3Bl" + + "cyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3Vi" + + "ZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFs" + + "bC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRw" + + "czovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBu" + + "b3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5z" + + "dGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9p" + + "bWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNv" + + "bmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVy" + + "X3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNU" + + "RVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBj" + + "bHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90" + + "IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3Ig" + + "ZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJl" + + "LCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBw" + + "YXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIEpv" + + "YiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4pYCwgcGFz" + + "c2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBiZSByZWFk" + + "OiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1" + + "bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFdhcm5pbmdz" + + "IGl0IHJlcG9ydGVkIGFyZSBub3Qgc2hvd24gfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGlu" + + "IGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dz" + + "YCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + + "dXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHBy" + + "ZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94" + + "eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUt" + + "bmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZh" + + "dWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Ms" + + "IGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3Rs" + + "IHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdl" + + "Y2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0" + + "IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChv" + + "ciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBg" + + "Y2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBB" + + "dmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0" + + "YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlz" + + "c2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + + "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBP" + + "cGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAy" + + "YCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBv" + + "ciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9i" + + "amVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRz" + + "IGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBh" + + "dGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBh" + + "cGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1j" + + "bGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBg" + + "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+" + + "KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVz" + + "IGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMg" + + "dGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMg" + + "fAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9u" + + "OiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGws" + + "IHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmct" + + "KmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBp" + + "bnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFz" + + "ZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxt" + + "IHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFz" + + "ZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8g" + + "SGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBv" + + "YmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhl" + + "IG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVy" + + "YnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4g" + + "PG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3Ry" + + "ZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNl" + + "IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhl" + + "YWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNx" + + "bGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25t" + + "ZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVM" + + "TV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBp" + + "dCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1lc3BhY2UgfCBOYW1l" + + "c3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9ubHkgd2hlbiB0" + + "aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Agb3IgYC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNvbWUgZnJvbSBpdHMg" + + "YGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9F" + + "TlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3RoZXJ3aXNlIGZyb20g" + + "dGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBncm92ZS1z" + + "eXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQb2ludCB0aGUgc3Rh" + + "Y2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFzcyB0aGUgc2FtZSBg" + + "LS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+" + + "Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGlu" + + "aXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJ" + + "KSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBv" + + "ciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBk" + + "aWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZj" + + "Zi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNg" + + "IChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVu" + + "Y3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3i" + + "gKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwg" + + "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2Fp" + + "dGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBl" + + "bmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0" + + "IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgx" + + "MDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAg" + + "aXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3Rh" + + "bmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVk" + + "YCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lv" + + "bmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVz" + + "LXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9J" + + "RCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5" + + "KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3Qg" + + "cHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRl" + + "ciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52" + + "Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGkt" + + "Y2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252" + + "Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGlt" + + "ZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNB" + + "IGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVz" + + "dGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01T" + + "IHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVw" + + "YCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0" + + "ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cp" + + "IHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBj" + + "dXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9" + + "PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2Vu" + + "ZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBr" + + "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVs" + + "bCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9y" + + "ID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBv" + + "ciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMt" + + "c3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2Vydmlj" + + "ZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + + "LXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBj" + + "cmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVu" + + "dGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRl" + + "L2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBz" + + "aG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNo" + + "ZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2Fj" + + "aGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hh" + + "bmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUg" + + "bWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95" + + "bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcISUWbZ48gAACPIAAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhv" + + "c3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBD" + + "b3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3Ms" + + "IHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVz" + + "aG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wt" + + "cGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxl" + + "cywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERv" + + "IE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2Qg" + + "ZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRp" + + "YmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIs" + + "IGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhv" + + "cjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZl" + + "cnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYt" + "aG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFs" + - "bGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFt" + - "bF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91" + - "ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9u" + - "cwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQg" + - "Y29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhp" + - "cyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGlu" + - "ZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + - "YCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMg" + - "c2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBF" + - "bmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24t" + - "ZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNv" + - "IHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2Ag" + - "cGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxt" + - "ZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFu" + - "ZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1w" + - "bApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1w" + - "bApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcg" + - "YnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2Ug" + - "ZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4K" + - "bmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRl" + - "LXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cg" + - "YXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRz" + - "IGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJl" + - "Zm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3Bl" + - "cmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEu" + - "Mi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3Qg" + - "YmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYg" + - "Pj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1p" + - "bm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZy" + - "b20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFz" + - "aApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmly" + - "b25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVu" + - "dmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxu" + - "YW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10" + - "by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3Nw" + - "LWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcg" + - "dmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBt" + - "aXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVs" + - "dHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5" + - "b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAg" + - "ICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAt" + - "PiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUg" + - "dmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2Nr" + - "cyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3Rt" + - "cGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFn" + - "ZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBT" + - "ZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3" + - "aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3Qg" + - "cHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEg" + - "aGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENo" + - "YXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5z" + - "dGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0" + - "cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBw" + - "dWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + - "ZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "ICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0" + - "aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5h" + - "bWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBj" + - "b25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0lt" + - "YWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGlj" + - "YXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQg" + - "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2Vz" + - "IGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVu" + - "dGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBO" + - "R0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUg" + - "JyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + - "aW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQt" + - "bG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dp" + - "biAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdp" + - "b24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVw" + - "cyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUg" + - "c3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZm" + - "ZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3Iu" + - "aW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2Vy" + - "IGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmly" + - "c3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFk" + - "aW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQs" + - "IGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20g" + - "bW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29y" + - "cmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJu" + - "YW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9j" + - "YXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcg" + - "ZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVu" + - "dGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUg" + - "Y2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhl" + - "IE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZy" + - "b20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEg" + - "cmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBw" + - "dWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lw" + - "IHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBt" + - "aXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFs" + - "OgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAg" + - "ICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1z" + - "dWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAg" + - "ICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJv" + - "ci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFu" + - "ZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAg" + - "PiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5" + - "IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJl" + - "IHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUK" + - "ICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90" + - "IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJv" + - "cmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBj" + - "b252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRg" + - "L2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6" + - "IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0" + - "cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhl" + - "IGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0" + - "byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRl" + - "bnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBz" + - "ZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNg" + - "IGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRo" + - "ZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhl" + - "IGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAy" + - "LgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVz" + - "IHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRo" + - "ZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBv" + - "aW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQg" + - "aXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoK" + - "IyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9z" + - "dG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBu" + - "b3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUg" + - "ZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0" + - "bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpz" + - "b25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlf" + - "QUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQg" + - "cHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFs" + - "YW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9l" + - "cyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywg" + - "dXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZj" + - "Zi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBh" + - "cGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBh" + - "bmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBl" + - "bmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVw" + - "ZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGlu" + - "IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJl" + - "dmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "c3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBp" + - "biB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxU" + - "X0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29u" + - "ZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVm" + - "YXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJB" + - "X1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5" + - "IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBv" + - "bmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9s" + - "ZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + - "UkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVy" + - "IHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0" + - "IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8" + - "IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEg" + - "fCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBF" + - "U1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExM" + - "TSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0" + - "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGBy" + - "ZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwg" + - "YHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBl" + - "bmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0" + - "ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFu" + - "ZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1h" + - "cHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpy" + - "b3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + - "ZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2Fn" + - "ZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5" + - "R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdl" + - "cgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdl" + - "IGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1l" + - "Pi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0" + - "cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMg" + - "YHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNm" + - "OjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVu" + - "ZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3Vz" + - "dG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJv" + - "dXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5k" + - "IGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2th" + - "Z2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBw" + - "bHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5" + - "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBh" + - "ZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ks" + - "c3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJl" + - "Y3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5p" + - "dHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5v" + - "dCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9j" + - "YXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUg" + - "cHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0Yg" + - "VUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFk" + - "bWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25s" + - "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlv" + - "dXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCBy" + - "ZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUg" + - "TlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3Qg" + - "ZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNw" + - "YWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMs" + - "CnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4" + - "LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1w" + - "bGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0" + - "ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9m" + - "ZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBm" + - "aWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUg" + - "TWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBi" + - "eSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUg" + - "Q0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5k" + - "b2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNl" + - "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGlu" + - "ZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENs" + - "ZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250" + - "cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNl" + - "cyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0Yg" + - "cmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBp" + - "LWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAs" + - "IGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwg" + - "YG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFu" + - "YWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4g" + - "VGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0" + - "LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5h" + - "bWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4g" + - "RXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + - "ZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdl" + - "ZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhl" + - "IGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVy" + - "IGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + - "cmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQg" + - "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + - "IGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBz" + - "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBs" + - "YW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBn" + - "ZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVu" + - "IGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6Cgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMg" + - "RGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + - "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwog" + - "IGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpg" + - "YGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICco" + - "Y2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0" + - "dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmly" + - "b25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBg" + - "Z2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVl" + - "cyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUu" + - "ZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBs" + - "ZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGly" + - "ZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + - "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + - "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + - "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + - "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgi" + - "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAg" + - "ICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdv" + - "dGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAs" + - "IHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0" + - "LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0" + - "cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + - "cGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0" + - "cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25m" + - "bGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZh" + - "aWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwg" + - "fCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3Jl" + - "ZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJw" + - "b3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMg" + - "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBw" + - "dWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9k" + - "IHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVz" + - "dGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3Vu" + - "dC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBg" + - "PGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRl" + - "Y2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3Rh" + - "bmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBg" + - "YmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+" + - "IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2Fy" + - "IHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0" + - "ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JF" + - "REVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIK" + - "PiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0" + - "aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMg" + - "aXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBT" + - "byB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcu" + - "IGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4g" + - "bm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9v" + - "dHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBi" + - "ZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNp" + - "ZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVk" + - "IGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBp" + - "bnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5" + - "LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVw" + - "YWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3lu" + - "YzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRL" + - "RVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFw" + - "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYg" + - "TlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1h" + - "cGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVz" + - "dGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2Fy" + - "IGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5H" + - "QyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRm" + - "b3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBu" + - "ZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAo" + - "ZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBm" + - "cmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBh" + - "IHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGlj" + - "YWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3Vy" + - "aW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFk" + - "bWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNg" + - "IGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBm" + - "b3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBt" + - "b2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSBy" + - "ZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSBy" + - "ZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJu" + - "byAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFt" + - "ZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRy" + - "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + - "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + - "dmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVz" + - "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + - "WSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3Rl" + - "clBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55" + - "YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwg" + - "YWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3" + - "aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAt" + - "byBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJu" + - "YW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQt" + - "aW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZv" + - "ciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0" + - "LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0" + - "cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9k" + - "cwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBB" + - "bGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5s" + - "YXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBh" + - "dHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + - "LXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9y" + - "IHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1" + - "bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3Jh" + - "dGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dz" + - "IGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2" + - "YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3Vy" + - "ZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldL" + - "UyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5" + - "LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVy" + - "IHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVg" + - "LCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJh" + - "by1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVn" + - "Z2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNz" + - "YW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJh" + - "LnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNo" + - "LWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRz" + - "IGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5z" + - "ZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBj" + - "YXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0" + - "byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsg" + - "dGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9y" + - "IG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBj" + - "aGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0" + - "ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhl" + - "IHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0" + - "IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJl" + - "Y3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5j" + - "dGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhl" + - "IGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlg" + - "IHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hl" + - "cyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3Vu" + - "dCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkg" + - "dGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAt" + - "cmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpz" + - "b25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQv" + - "YCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0" + - "aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5n" + - "IGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElP" + - "TlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9u" + - "IGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0" + - "YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJ" + - "T05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBO" + - "VkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291" + - "bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipg" + - "cG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGkt" + - "YWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3Rh" + - "bGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYg" + - "dGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVz" + - "IChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBh" + - "Y2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQg" + - "Y2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhp" + - "bmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFm" + - "dGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRl" + - "ZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVu" + - "IGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdh" + - "aW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0" + - "ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRl" + - "bGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3Qt" + - "Zm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3lu" + - "YwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAj" + - "IGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291" + - "cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NT" + - "UCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4w" + - "LXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29y" + - "a2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJh" + - "dGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + - "Lm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2Rl" + - "YnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2Ug" + - "dGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNy" + - "ZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHD" + - "FJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlk" + - "IjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwg" + - "dGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciBy" + - "ZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lv" + - "bnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwg" + - "aGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEg" + - "bWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVu" + - "dGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAx" + - "LjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCBy" + - "YW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAz" + - "LjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24n" + - "IHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lv" + - "biBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJl" + - "Zm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3lu" + - "YyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBz" + - "dGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMg" + - "YmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmll" + - "dyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0t" + - "c2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIs" + - "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0" + - "aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + - "IHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tp" + - "cCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAi" + - "LAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRp" + - "bmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "aWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJz" + - "IG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBm" + - "cm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBm" + - "aW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0" + - "YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNr" + - "ZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQg" + - "Zm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwg" + - "dG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJz" + - "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBu" + - "YW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBu" + - "dmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0" + - "aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5z" + - "dGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxh" + - "bmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29u" + - "ZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0" + - "IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmls" + - "ZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + - "YW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRo" + - "IFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBw" + - "bGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFy" + - "Z2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRo" + - "ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQg" + - "YW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lE" + - "QyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9y" + - "ZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191" + - "cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hv" + - "c3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAg" + - "ICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJf" + - "UkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05G" + - "SUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNf" + - "VVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRo" + - "ZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywg" + - "YW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRl" + - "IGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxh" + - "bmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBj" + - "b21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1" + - "dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZp" + - "bGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRv" + - "Y2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFp" + - "bmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5v" + - "dCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGlu" + - "c3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5p" + - "bycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRv" + - "YXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUg" + - "YWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1" + - "c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdl" + - "bnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29t" + - "bWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAg" + - "InF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGly" + - "ZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlm" + - "eSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3Jl" + - "dHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBz" + - "dG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4g" + - "aGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBl" + - "bnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVu" + - "IGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBu" + - "b3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRo" + - "ZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBi" + - "dW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNG" + - "IHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50" + - "IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBs" + - "ZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29s" + - "cyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMg" + - "aW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJl" + - "dmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBo" + - "YXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3Rl" + - "cmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3" + - "aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVs" + - "bS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBz" + - "dHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlz" + - "LCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNv" + - "bXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VO" + - "Vj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmci" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3lu" + - "YycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1w" + - "bGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxp" + - "dHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9s" + - "IHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRo" + - "ZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50" + - "ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVk" + - "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVl" + - "c3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhl" + - "biByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBl" + - "dmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0" + - "cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNv" + - "bXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNv" + - "bmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52" + - "LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0" + - "cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUg" + - "Y29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAi" + - "VGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAi" + - "VGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0t" + - "Y2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAg" + - "ICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAg" + - "ICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0" + - "LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRl" + - "ZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1m" + - "aWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3Zl" + - "cnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBv" + - "ZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdp" + - "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3" + - "aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFz" + - "ZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQg" + - "c2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVy" + - "Z2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAi" + + "bGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVk" + + "aXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52" + + "Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lv" + + "bjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0" + + "ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRp" + + "b24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQog" + + "IGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWlu" + + "ZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpP" + + "cGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21w" + + "dXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNr" + + "aWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1" + + "bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBh" + + "cmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJs" + + "ZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFi" + + "bGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVx" + + "dWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRo" + + "LiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxl" + + "LmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0" + + "YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxz" + + "IDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + + "ZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBg" + + "YAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5k" + + "bGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3du" + + "bG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2Mg" + + "cmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1" + + "bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5k" + + "IHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3Jl" + + "IFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRp" + + "b246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAg" + + "cmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+" + + "PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAz" + + "LjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3Ig" + + "dmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0" + + "aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNk" + + "IHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1l" + + "bnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJv" + + "bm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+" + + "LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVu" + + "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + + "LXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1" + + "ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rh" + + "a2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykK" + + "ICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIg" + + "b3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAg" + + "ICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNv" + + "bnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1" + + "ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAg" + + "KGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "b25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJl" + + "Z2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRp" + + "bmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwg" + + "YmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9w" + + "YWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxt" + + "ZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + + "VmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxs" + + "YXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChp" + + "ZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEt" + + "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + + "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxp" + + "bmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdD" + + "X0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + + "IGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkg" + + "LWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZp" + + "Z3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2Ug" + + "UHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUg" + + "aGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVs" + + "bSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVs" + + "bSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFs" + + "IHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAt" + + "LSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9h" + + "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAt" + + "dSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dp" + + "bi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0t" + + "dXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4u" + + "YW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9u" + + "bHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFj" + + "ayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVu" + + "dCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2Au" + + "IEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9n" + + "aW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwg" + + "c28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcg" + + "YDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQn" + + "cyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3Jl" + + "IHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0" + + "IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUg" + + "JyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlv" + + "biBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVy" + + "eXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJl" + + "bHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVz" + + "dGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZD" + + "RiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3" + + "aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdp" + + "c3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwg" + + "YWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhl" + + "IGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJv" + + "ciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAg" + + "ICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBl" + + "LmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1w" + + "YXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAg" + + "cmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1" + + "Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5v" + + "bi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1p" + + "cnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJ" + + "IGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVi" + + "bGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+" + + "IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUg" + + "cmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQg" + + "ZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZl" + + "cnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhl" + + "bG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2Np" + + "Oi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNh" + + "biBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3Jl" + + "ZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRo" + + "ZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0" + + "eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3Jl" + + "dCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJv" + + "bSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNl" + + "Y3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRv" + + "Y2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgog" + + "ICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhl" + + "IHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFj" + + "Y291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQg" + + "YXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0" + + "byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMg" + + "My4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFt" + + "ZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBj" + + "b25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFj" + + "dCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdl" + + "dCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBh" + + "dGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERS" + + "RVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92" + + "aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNl" + + "ciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5v" + + "dCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2Ug" + + "YSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRl" + + "c3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5u" + + "dmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBw" + + "b2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBv" + + "aW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRl" + + "IG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4" + + "YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3" + + "IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5j" + + "ICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRo" + + "ZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FT" + + "U0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNy" + + "ZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0" + + "cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFT" + + "U1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREIt" + + "YmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2Ug" + + "aXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + + "c3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAu" + + "CgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0" + + "aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGlt" + + "ZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJl" + + "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUt" + + "MTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywg" + + "aW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdh" + + "dGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBz" + + "dGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVh" + + "c2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVs" + + "ZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJs" + + "ZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5" + + "IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlz" + + "IG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGlu" + + "Z3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRl" + + "cy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + + "ZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRv" + + "ZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRl" + + "d2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0" + + "YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5j" + + "bHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+Lnlh" + + "bWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUK" + + "ICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFu" + + "aXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4" + + "MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIK" + + "YGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20g" + + "dmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUg" + + "aG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3Jl" + + "YXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0" + + "aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + + "dXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9u" + + "IGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMg" + + "LW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwg" + + "Z2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48" + + "ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVu" + + "YWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlv" + + "biwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92" + + "aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAo" + + "b3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4t" + + "cGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGlu" + + "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBl" + + "eHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVh" + + "c2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNG" + + "IFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBv" + + "c2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2Ug" + + "YW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2Vl" + + "IFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIElu" + + "c3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5l" + + "IHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBp" + + "dCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoK" + + "LSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVz" + + "LCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtl" + + "ZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRo" + + "ZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkg" + + "cmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZz" + + "LiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBw" + + "dWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4g" + + "VGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wg" + + "cGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1h" + + "bmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxl" + + "YXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5" + + "c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVz" + + "cy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZj" + + "Zi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2Vy" + + "YCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUg" + + "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFu" + + "YWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNw" + + "YWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRl" + + "cm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsg" + + "b3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBE" + + "byBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1" + + "c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2Vy" + + "dC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1" + + "aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBp" + + "dCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZm" + + "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNr" + + "IEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + + "IGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBp" + + "dHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRp" + + "bmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJv" + + "bSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxl" + + "dGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3Vi" + + "ZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoK" + + "IyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNz" + + "YW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4g" + + "ZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1l" + + "bnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9i" + + "YWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJs" + + "b2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyou" + + "eWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBi" + + "ZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rv" + + "cnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJh" + + "CiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNw" + + "YWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAu" + + "Li9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJl" + + "ZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAg" + + "ICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAg" + + "ICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBj" + + "cHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hh" + + "OiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3Bl" + + "Y2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlv" + + "dSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZp" + + "bGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + + "ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpU" + + "aGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRl" + + "IHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBl" + + "dmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENv" + + "bnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8" + + "IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2Ug" + + "fCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUg" + + "dXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxz" + + "IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8" + + "IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQ" + + "b2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJv" + + "b3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52" + + "Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJz" + + "L2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFy" + + "ZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNl" + + "NjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAg" + + "fAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2Vj" + + "cmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNo" + + "aXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5U" + + "SUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0" + + "IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBz" + + "dHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBp" + + "bnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRo" + + "ZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHBy" + + "aW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3Qg" + + "YGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3Ry" + + "YXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJh" + + "c2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNh" + + "ciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3Jl" + + "ZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lk" + + "ZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1" + + "dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIg" + + "YW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+" + + "Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + + "fCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2" + + "L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklE" + + "SUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9r" + + "di9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0" + + "IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3Jl" + + "ZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChu" + + "b3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0g" + + "c2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRp" + + "bmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5j" + + "dGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1" + + "ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2lu" + + "Z2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5" + + "IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcg" + + "d2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNz" + + "aW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50" + + "byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBh" + + "bGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlm" + + "aWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8g" + + "YWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8g" + + "dXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0t" + + "Y3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3Bh" + + "Y2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + + "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + + "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9s" + + "aWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwK" + + "YGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRp" + + "bmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpz" + + "b25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUi" + + "OiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBj" + + "cmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRo" + + "ZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNl" + + "ZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "KS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhl" + + "bG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBo" + + "ZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RU" + + "aW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVy" + + "bnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8" + + "IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3Jv" + + "bmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQ" + + "dWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1h" + + "Z2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9u" + + "IGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1" + + "dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlk" + + "YXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3" + + "aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0t" + + "IHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5h" + + "YmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBT" + + "ZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRl" + + "bGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNl" + + "cnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5n" + + "Lm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRy" + + "YSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVz" + + "b3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9v" + + "cCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmls" + + "ZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZp" + + "Y2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3Nh" + + "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBE" + + "RUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUg" + + "REItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlz" + + "bWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNr" + + "IGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwg" + + "Rmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVs" + + "ZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBX" + + "cm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwg" + + "bG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9u" + + "IC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNj" + + "b3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVs" + + "ZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGlu" + + "c3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3" + + "YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUg" + + "YWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4p" + + "IHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAg" + + "bm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGlu" + + "IGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJl" + + "bGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9g" + + "IHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzog" + + "Ii1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFp" + + "bHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3Mg" + + "aGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAg" + + "KGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0Zf" + + "QVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBi" + + "b290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0" + + "LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2Nv" + + "dW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBo" + + "b29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0" + + "IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJh" + + "dGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291" + + "bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxs" + + "IHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBv" + + "YnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIg" + + "dGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBp" + + "LWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScg" + + "ICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQg" + + "YnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAo" + + "ZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9m" + + "YWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRl" + + "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3Vu" + + "ZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1" + + "YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29u" + + "ZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2Vz" + + "CgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVu" + + "ZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMv" + + "Y3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxv" + + "d3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9u" + + "czogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQp" + + "LCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdn" + + "aW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUg" + + "YG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRl" + + "IHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0li" + + "AABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAi" + + "RzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUg" + + "TlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRp" + + "bmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczog" + + "aGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxt" + + "LWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5v" + + "ciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwg" + + "YWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4w" + + "LCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEg" + + "aXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8g" + + "Y2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNo" + + "ZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3Jl" + + "LXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZv" + + "ciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxs" + + "IHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZv" + + "cmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0" + + "ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAi" + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhl" + - "IHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVt" + - "b3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3Rt" + - "cGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92" + - "ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1l" + - "cmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZh" + - "bHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5n" + - "ZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5" + - "bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5j" + - "aWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMg" + - "LS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxv" + - "eSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2Rz" + - "IGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + - "J2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8g" + - "ZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2Rz" + - "IGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0s" + - "IHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciBy" + - "ZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6" + - "ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhv" + - "cml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcg" + - "cmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9v" + - "dCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hl" + - "Y2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50" + - "LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRp" + - "YWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVj" + - "dCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUg" + - "cG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNw" + - "YWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + - "ZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZp" + - "ZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAi" + - "cXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVh" + - "Y2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1" + - "ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0" + - "aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBH" + - "YXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUg" + - "d29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJs" + - "ZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5C" + - "YW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBV" + - "UkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUt" + - "cGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJp" + - "ZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1l" + - "c3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Ig" + - "b24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQg" + - "dG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlB" + - "cGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJU" + - "aGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRv" + - "IG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJU" + - "aGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZH" + - "cnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdy" + - "cGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50" + - "IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxv" + - "Y2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdy" + - "ZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGgg" + - "d29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8g" + - "dHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + - "b3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBi" + - "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVz" + - "cyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBp" + - "Y21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2Vydmlj" + - "ZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hv" + - "c3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3Bh" + - "Y2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUg" + - "c2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkg" + - "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBt" + - "eSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5" + - "LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMu" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNv" + - "bmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRl" + - "c3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUg" + - "a3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhl" + - "IGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNl" + - "IHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJl" + - "ZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGlu" + - "c3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVs" + - "ZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJv" + - "cnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0" + - "aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFt" + - "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93" + - "IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVs" + - "bC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0" + - "YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5k" + - "IGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdv" + - "dCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdp" + - "c3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBm" + - "dWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + - "dGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "ICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0" + + "IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5" + + "IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAg" + + "ICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBz" + + "dGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVu" + + "dGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24g" + + "TlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20g" + + "TlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFs" + + "aXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdl" + + "dGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQp" + + "IGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3Ig" + + "YWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBw" + + "YXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAog" + + "ICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVz" + + "cGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9u" + + "bHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2Yt" + + "YmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24g" + + "d2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxs" + + "IGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1" + + "c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcg" + + "aXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZs" + + "b3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + + "ZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJM" + + "IGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5l" + + "LCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQg" + + "d2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQg" + + "a3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFu" + + "ZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0" + + "aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "IiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJl" + + "Z2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFn" + + "ZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwg" + + "YXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwg" + + "aW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAi" + + "VGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "cmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJ" + + "T04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + + "aGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBp" + + "bnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19G" + + "SUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwg" + + "bWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhv" + + "c3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQg" + + "cmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + + "dGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBw" + + "cm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1h" + + "bmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIs" + + "CiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBk" + + "ZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2Vy" + + "IGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQg" + + "dGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + + "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZm" + + "aWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3" + + "aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRo" + + "dG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMg" + + "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5k" + + "cyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVl" + + "c3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3Rv" + + "cnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRo" + + "ZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8s" + + "IGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3Bw" + + "ZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxt" + + "ZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkg" + - "Y29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUg" + - "TWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAg" + - "ICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVs" + - "ZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVj" + - "dGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29u" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmly" + + "b25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVu" + + "ZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBh" + + "dHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVz" + + "ZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRs" + + "ZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAg" + + "InF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2Vs" + + "Zi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFt" + + "ZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVk" + + "IHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFu" + + "ZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNs" + + "dWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3" + + "ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2Vz" + + "LiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQg" + + "YW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhv" + + "dXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRp" + + "ZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVj" + + "dHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1l" + + "c3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVz" + + "cywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0" + + "ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0" + + "YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0" + + "byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5l" + + "IHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkg" + + "YW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxh" + + "bmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNl" + + "cGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBo" + + "YW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29u" + + "dHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlv" + + "biI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJl" + + "Z2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5" + + "IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZp" + + "cnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdl" + + "bmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxl" + + "dGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmln" + + "LCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFu" + + "ZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRp" + + "b24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25z" + + "dW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVz" + + "IGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBp" + + "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUg" + + "cmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "LCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUg" + + "cmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVz" + + "dGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAg" + + "IlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAi" + + "VGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFu" + + "ZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHBy" + + "b2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUg" + + "dmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlk" + + "ZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBr" + + "ZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGgg" + + "aGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdp" + + "dGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNy" + + "ZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBn" + + "b3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBl" + + "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + + "VGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVs" + + "ZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6" + + "IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBh" + + "bmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJp" + + "ZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2Ug" + + "Z290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + + "IGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdp" + + "dGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMi" + + "LAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBO" + + "QVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9u" + + "bHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4g" + + "dGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBs" + + "b3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4g" + + "ZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1" + + "bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVy" + + "ZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNh" + + "c3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXpl" + + "ZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZl" + + "cmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNh" + + "dXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2Vk" + + "IGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0" + + "IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMs" + + "IG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZp" + + "eC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9k" + + "ZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2Qn" + + "IHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNo" + + "ZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2Ui" + + "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNw" + + "ZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + + "aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVz" + + "dGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBt" + + "eSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5n" + + "IE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBF" + + "bnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3" + + "YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3Jr" + + "ZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBO" + + "VkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBp" + + "c3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBh" + + "bmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFu" + + "ZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMu" + + "IEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + + "ZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0" + + "aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBu" + + "dmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5j" + + "b250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFt" + + "ZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBh" + + "Z2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNT" + + "ZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1Nl" + + "cnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwg" + + "QVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3Jr" + + "ZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + + "aWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVl" + + "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVy" + + "eS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUt" + + "R2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGlj" + + "bXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNT" + + "ZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJM" + + "LCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92" + + "ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBs" + + "aXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNy" + + "ZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUg" + + "Y2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNw" + + "bGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNo" + + "b3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmly" + + "bWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJv" + + "eWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJl" + + "Y29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29u" + "dHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJl" + "c2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVm" + "ZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBv" + - "d25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + - "ZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQt" + - "bWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91" + - "dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAg" + - "IlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0" + - "aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZs" + - "b3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGls" + - "IHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZs" + - "b3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJl" + - "Z2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90" + - "IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUg" + - "cmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBj" + - "bHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZs" + - "b3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGgg" + - "Y29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRv" + - "d24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBj" + - "b21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBu" + - "byByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFs" + - "dWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBl" + - "bnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBo" + - "ZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52" + - "IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50" + - "aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + - "YyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVz" + - "ZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "bGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNl" + + "IG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGlu" + + "ZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBu" + + "YW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3Bh" + + "Y2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0" + + "YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXBy" + + "ZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVk" + + "IHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fu" + + "bm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4" + + "cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVy" + + "ZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwg" + + "cGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIg" + + "dGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + - "YWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwg" + - "LT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + - "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5z" + - "dG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2Ug" + - "aW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMg" + - "b2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMg" + - "dGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAi" + - "aWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQg" + - "dG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwg" + - "c2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3Vy" + - "YXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFi" + - "bGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBh" + - "bmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + - "dXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMg" + - "c2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2lu" + - "ZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWlu" + - "dGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0" + - "IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGlu" + - "Y2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2Vj" + - "dXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhh" + - "dCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJl" + - "ZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVy" + - "aW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQg" + - "dmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVj" + - "YXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFk" + - "ZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQg" + - "dG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQg" + - "c3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBh" + - "bmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3Vp" + - "ZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRo" + - "ZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBw" + - "bGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9y" + - "IHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50" + - "ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBw" + - "bGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRo" + - "ZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3Jl" + - "YXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFn" + - "ZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExN" + - "IEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1p" + - "bnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAog" + - "ICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNk" + - "IGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3Ry" + - "aWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBk" + - "ZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1s" + - "b2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBh" + - "Z2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNr" + - "aWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBu" + - "b3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rp" + - "b25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxv" + - "cG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBz" + - "a2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQF" + - "AAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVu" + - "dCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMK" + - "ClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdl" + - "IGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRy" + - "YSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNv" + - "dXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2Fw" + - "dHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVw" + - "IC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgoj" + - "IyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFt" + - "bC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVy" + - "cyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3Qu" + - "CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246" + - "IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpk" + - "ZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4v" + - "PHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRz" + - "LnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0" + - "czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAg" + - "ICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQw" + - "OTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAv" + - "dG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3Mt" + - "YWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVz" + - "b3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUg" + - "TlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGlu" + - "c3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0" + - "cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdl" + - "cyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVn" + - "aXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBl" + - "bnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xv" + - "YmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICBy" + - "ZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAg" + - "IHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxv" + - "Y2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52" + - "Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBT" + - "dGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + - "cmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpg" + - "YGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2Vz" + - "CgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCBy" + - "ZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5j" + - "aWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + - "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + - "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + - "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + - "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgog" + - "ICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoK" + - "U2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + - "bWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5l" + - "IG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpz" + - "ZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + - "cm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNy" + - "ZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMj" + - "IyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZl" + - "IHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFv" + - "IHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoK" + - "YGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAk" + - "KGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5z" + - "IiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7" + - "IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBz" + - "ZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3Jl" + - "dHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0g" + - "LS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5s" + - "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + - "cHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBU" + - "ZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlv" + - "dSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBs" + - "YW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpg" + - "YGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNv" + - "bXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3Rl" + - "cCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5k" + - "IGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0" + - "aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5k" + - "IGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gK" + - "PG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVy" + - "LWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxu" + - "Y2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9y" + - "IGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wt" + - "cGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVm" + - "YXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSBy" + - "ZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFu" + - "YWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBl" + - "ZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMg" + - "dHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2" + - "ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxt" + - "IHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlk" + - "ZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3Bh" + - "Y2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lz" + - "ZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1" + - "YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwK" + - "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1r" + - "dWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJv" + - "bC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0" + - "ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3Jv" + - "dmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVz" + - "c3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3Rl" + - "cCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9u" + - "XShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBo" + - "YW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3Zl" + - "ciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lv" + - "bmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEg" + - "bmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gK" + - "R0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29u" + - "cGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FE" + - "RFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRz" + - "CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmll" + - "bGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBo" + - "b3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFp" + - "bj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhv" + - "dXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdB" + - "VEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0" + - "IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVw" + - "bGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNm" + - "TmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxz" + - "LCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRl" + - "cyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3Vn" + - "aCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBs" + - "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVy" + - "aWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJs" + - "IC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2Yt" + - "Z2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQv" + - "bnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1" + - "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0" + - "aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0K" + - "CiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rp" + - "bmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAoj" + - "IERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENo" + - "ZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoK" + - "IyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJl" + - "ZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwK" + - "fCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFv" + - "LXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBp" + - "LCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNl" + - "LCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkg" + - "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4g" + - "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZh" + - "bml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNr" + - "IHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWku" + - "ZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0" + - "IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1l" + - "PWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4g" + - "YGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVz" + - "dCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhh" + - "dCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5h" + - "bWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwK" + - "fCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8Cnwg" + - "YG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3Rl" + - "OiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJl" + - "bC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQ" + - "SwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBj" + - "b250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3Rh" + - "bGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFj" + - "aCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZv" + - "ciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9m" + - "aWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoK" + - "fCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9u" + - "IGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwt" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250" + - "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2Vu" + - "ZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0" + - "aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBm" + - "bG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBi" + - "ZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRv" + - "cnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVz" + - "LiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1m" + - "aWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5z" + - "dGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwg" + - "cm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVn" + - "aXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBh" + - "bmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1F" + - "bmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVu" + - "ZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRo" + - "ZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0" + - "YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlg" + - "LCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJp" + - "ZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxn" + - "YXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMg" + - "cmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9t" + - "YWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGku" + - "PGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXIt" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdh" + - "dGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxn" + - "YXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRh" + - "c2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9p" + - "bnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNl" + - "VVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgog" + - "IGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3Rl" + - "bQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNw" + - "YWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1l" + - "c3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRl" + - "d2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1l" + - "OiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5" + - "LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVk" + - "OiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFp" + - "bj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0" + - "aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlh" + - "bWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhv" + - "c3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZp" + - "Y2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RI" + - "ZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJu" + - "YXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5h" + - "dHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9s" + - "IHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVy" + - "aW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUg" + - "Q0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0" + - "cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIK" + - "YXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJs" + - "OiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21h" + - "aW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hv" + - "c3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdh" + - "eS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhv" + - "dXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9u" + - "IGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxp" + - "ZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFr" + - "ZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBp" + - "bnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1" + - "c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9u" + - "PiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJ" + - "TEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2Yt" + - "Y2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9O" + - "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + - "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3Zl" + - "cnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0" + - "LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVx" + - "dWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBk" + - "ZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0" + - "IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVu" + - "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9m" + - "aWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNm" + - "LWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBs" + - "YWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGlu" + - "c3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1j" + - "bHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "CnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNv" + - "bXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUg" + - "cmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUg" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + - "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxs" + - "IFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1" + - "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRl" + - "LXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmls" + - "ZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNv" + - "bXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxl" + - "IGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoK" + - "IyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNl" + - "IG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2Vj" + - "cmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xv" + - "YmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBU" + - "aGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJv" + - "ciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhl" + - "IGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNl" + - "ZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpV" + - "c2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdh" + - "dGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVw" + - "bG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2Vu" + - "ZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9y" + - "PWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxs" + - "LXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVy" + - "ZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90" + - "aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBw" + - "cmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBu" + - "YW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVz" + - "ZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBl" + - "eHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUg" + - "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9y" + - "IGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1h" + - "bmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2Ug" + - "bWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25s" + - "eSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVu" + - "YW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3Qg" + - "ZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVn" + - "aXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNo" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xV" + - "U1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZy" + - "b20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9y" + - "ZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29u" + - "ZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95" + - "IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ry" + - "b3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUt" + - "a3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kg" + - "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + - "LWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVg" + - "IGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5h" + - "bWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9m" + - "aWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1" + - "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVz" + - "IGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2" + - "ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVm" + - "aXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwK" + - "ICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBs" + - "YW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5" + - "IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qg" + - "c2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0" + - "IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95" + - "cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCBy" + - "ZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGgg" + - "dGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxm" + - "LWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxl" + - "LWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1" + - "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0t" + - "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + - "IC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVy" + - "bCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFt" + - "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAK" + - "ClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95" + - "cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVt" + - "b3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9u" + - "cyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + - "ZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBh" + - "bmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1" + - "aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNw" + - "YWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5h" + - "bWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVh" + - "c2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25v" + - "c2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1i" + - "eT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVu" + - "dHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3lt" + - "cHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAg" + - "UkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAg" + - "MCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBp" + - "bWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6" + - "IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3Rs" + - "IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9k" + - "IHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+" + - "IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hl" + - "Y2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0" + - "IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNy" + - "ZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6" + - "IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAt" + - "LWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2Vj" + - "cmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVk" + - "cyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUg" + - "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBz" + - "dXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBl" + - "c3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFy" + - "dCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3Jv" + - "bmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJh" + - "c2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAg" + - "IyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJ" + - "bml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBz" + - "dHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAg" + - "ICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdm" + - "NGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMj" + - "IyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBp" + - "bmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9k" + - "cwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1p" + - "Z3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNr" + - "IE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNl" + - "cnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1" + - "Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFn" + - "ZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6" + - "IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3Vl" + - "cywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhh" + - "cHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCBy" + - "ZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0" + - "ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVs" + - "dC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwog" + - "ICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBD" + - "aGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQt" + - "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoK" + - "NC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4u" + - "IG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVg" + - "KioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3Vl" + - "ciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBh" + - "dXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50" + - "ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRo" + - "ZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rl" + - "ci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4g" + - "RXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQg" + - "NDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBi" + - "ZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + - "Y292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMg" + - "aXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVy" + - "IGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2Nv" + - "dmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4g" + - "aXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoK" + - "ICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAg" + - "IGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0" + - "aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5i" + - "YW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBz" + - "aG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24v" + - "b3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0" + - "IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50" + - "aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRo" + - "IHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1" + - "bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFj" + - "ayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZh" + - "aWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1F" + - "ICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAg" + - "MC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAg" + - "fCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEg" + - "cmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVz" + - "Lm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2Vz" + - "OgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQog" + - "ICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBg" + - "YAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNh" + - "c3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWls" + - "dXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAg" + - "ICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8x" + - "ICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNo" + - "CiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUg" + - "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEy" + - "IG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUg" + - "YWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQg" + - "bWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZp" + - "eGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNg" + - "IGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1z" + - "aG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91" + - "bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBn" + - "ZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENo" + - "ZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxu" + - "b2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFp" + - "bHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNo" + - "CmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJl" + - "LXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMg" + - "ZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + - "aGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoK" + - "TXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBw" + - "bHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwg" + - "ZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5h" + - "bWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWls" + - "dXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2Vz" + - "IGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3Rz" + - "dHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3Ry" + - "YXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBh" + - "dXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1h" + - "Y2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAt" + - "biBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAK" + - "CiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVk" + - "ZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRv" + - "a2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBg" + - "YmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JB" + - "U0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46" + - "bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4n" + - "dCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lz" + - "dHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxl" + - "LCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBu" + - "dmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUt" + - "Y3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTog" + - "TlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBs" + - "YW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBt" + - "CiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0" + - "aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNv" + - "bXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBO" + - "VkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNw" + - "YWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJl" + - "Y3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBq" + - "c29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0" + - "YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0i" + - "JHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIg" + - "cGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1l" + - "dGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoK" + - "IyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6" + - "ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0t" + - "Y29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+" + - "L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJl" + - "Y3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIv" + - "YXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBg" + - "CgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3lt" + - "cHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9w" + - "ZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3Qg" + - "cmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVy" + - "YXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVy" + - "IHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNM" + - "SSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQg" + - "aW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBo" + - "YW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMg" + - "c3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1v" + - "cGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1v" + - "cGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVn" + - "aXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52" + - "Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1z" + - "eXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpb" + - "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoK" + - "IyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVl" + - "c3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdh" + - "dGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9y" + - "dHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0k" + - "KGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwK" + - "ICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + - "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0" + - "ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FU" + - "RVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkg" + - "YSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNl" + - "fHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWlu" + - "YCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUg" + - "RE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVu" + - "dHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNo" + - "IHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQg" + - "aGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVy" + - "LWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRv" + - "LVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4g" + - "aW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0t" + - "LXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8" + - "IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBh" + - "cGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFs" + - "LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkt" + - "a2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMg" + - "fAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9s" + - "bGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcI" + - "tXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUA" + - "AQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQK" + - "CmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0t" + - "IDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8K" + - "fCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGlu" + - "Z3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0" + - "eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAg" + - "ICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAg" + - "YC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJp" + - "ZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBT" + - "ZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlh" + - "bWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVy" + - "LWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8K" + - "fCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBl" + - "bmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMg" + - "bnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVu" + - "dHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVz" + - "IChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAg" + - "IyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + - "ICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBg" + - "YAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNv" + - "bnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50" + - "IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0" + - "ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBt" + - "aXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShj" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWly" + - "IFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBD" + - "aGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0t" + - "fC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdp" + - "bmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQt" + - "c3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRy" + - "YSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoK" + - "VXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNl" + - "LWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwg" + - "UmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18" + - "LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFw" + - "aS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNl" + - "cyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlv" + - "bi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNl" + - "cyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90" + - "YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMg" + - "fAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qt" + - "cm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZp" + - "Y2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkg" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9r" + - "ZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8" + - "IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBp" + - "bmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNl" + - "fV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRv" + - "cnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9j" + - "a3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVy" + - "LXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoK" + - "IyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFt" + - "ZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwK" + - "fCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwg" + - "b2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGlu" + - "IHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUg" + - "SW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4g" + - "YDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9w" + - "ZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2Vz" + - "IGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipy" + - "ZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVz" + - "dCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3cs" + - "IGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0" + - "IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRl" + - "bXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1u" + - "dmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFt" + - "bC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxN" + - "RklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5j" + - "bHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoK" + - "ICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + - "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0" + - "IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNv" + - "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoK" + - "IyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdv" + - "dG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwK" + - "LSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6" + - "CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFu" + - "IGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBs" + - "YXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVw" + - "bGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlv" + - "cml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNy" + - "b3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXIt" + - "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBs" + - "YXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBg" + - "PHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMK" + - "NS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRl" + - "bmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQg" + - "KyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVz" + - "LiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoK" + - "IyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmlt" + - "YWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1h" + - "Z2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2Vs" + - "ZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5n" + - "bG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5p" + - "bWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWlu" + - "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFn" + - "ZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAg" + - "KGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipg" + - "IGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4q" + - "YAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFn" + - "ZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJ" + - "UywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0g" + - "YDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52Lipg" + - "IChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpF" + - "bmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25z" + - "IHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVl" + - "c3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlv" + - "bi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFu" + - "ZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxl" + - "CmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xl" + - "dGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBj" + - "bHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAg" + - "IGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBt" + - "ZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UK" + - "ICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgog" + - "ICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29u" + - "ZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5" + - "OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRl" + - "UVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxv" + - "Y2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1" + - "cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1t" + - "YW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24g" + - "aG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1" + - "cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1y" + - "b3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1" + - "c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExT" + - "IGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRp" + - "bmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNl" + - "ZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Ag" + - "d2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3Ro" + - "ZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxh" + - "bmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxm" + - "LW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklm" + - "IHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVs" + - "dCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2Vy" + - "IHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoK" + - "ICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBs" + - "bG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4x" + - "NC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJ" + - "RU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZv" + - "ciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1" + - "c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVy" + - "aW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25t" + - "ZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRo" + - "ZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVz" + - "IGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVz" + - "ZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQg" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21w" + + "dXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtl" + + "ZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAi" + + "QWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUg" + + "d2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9u" + + "IiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9s" + + "IHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2" + + "YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0" + + "aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + + "b24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVy" + + "c2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlk" + + "ZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5h" + + "Z2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5h" + + "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhl" + + "IEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJv" + + "dGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyBy" + + "ZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVh" + + "cmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1" + + "c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0" + + "cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVl" + + "cnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + + "dmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0" + + "ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1" + + "c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250" + + "ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIs" + + "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1" + + "dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJl" + + "Z2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMt" + + "cHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmly" + + "b25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1m" + + "aWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFN" + + "TCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmll" + + "ZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtl" + + "eXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJl" + + "bGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBn" + + "bG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRo" + + "cm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3Jh" + + "Z2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + + "IHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxp" + + "bmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2" + + "YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0" + + "IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBk" + + "ZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5n" + + "bGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlv" + + "biBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxs" + + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + + "IlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQs" + + "IGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCBy" + + "ZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2Vz" + + "IHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQu" + + "IEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1" + + "aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0" + + "IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9y" + + "IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVk" + + "ZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUg" + + "Zm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBs" + + "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVz" + + "aGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcg" + + "aW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJp" + + "ZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25z" + + "LmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAi" + + "VGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAx" + + "IGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0" + + "ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBs" + + "aW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBm" + + "b3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1" + + "bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWlu" + + "dGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhl" + + "IGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQg" + + "d29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVk" + + "IHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNv" + + "bXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVk" + + "IG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQg" + + "dmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRU" + + "UFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2Vj" + + "dXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAi" + + "cXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9y" + + "IHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dl" + + "ciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVs" + + "b3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2Fs" + + "LWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50" + + "IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwg" + + "YW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBw" + + "cm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMi" + + "LAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVu" + + "dCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxs" + + "IgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAv" + + "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCm" + + "zhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNj" + + "ZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhl" + + "IGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5z" + + "dGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBv" + + "ZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNl" + + "cyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJl" + + "IGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4" + + "ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBT" + + "dGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRv" + + "IHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBg" + + "YHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fz" + + "c2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVu" + + "ZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJp" + + "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + + "bAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgog" + + "ICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAg" + + "cmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1p" + + "CmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAv" + + "Y2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRl" + + "ci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJj" + + "ZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNG" + + "IGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVh" + + "ZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3" + + "aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRp" + + "cmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3Ry" + + "eSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmly" + + "b25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + + "CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9z" + + "aXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVw" + + "b3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxs" + + "eSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5p" + + "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4g" + + "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAg" + + "MzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdD" + + "X0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + + "Z2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRz" + + "IFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + + "b2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAg" + + "LS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoK" + + "IyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFk" + + "ZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVh" + + "c2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMu" + + "eWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4w" + + "CiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5" + + "c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + + "bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VO" + + "ViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAg" + + "ICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUg" + + "W3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkg" + + "Zm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFt" + + "ZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3Jl" + + "dCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3Ig" + + "aXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMp" + + "LgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0" + + "ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3Vw" + + "cG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9k" + + "cyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBi" + + "YXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwK" + + "ICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8K" + + "ICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZp" + + "Y2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6" + + "IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFs" + + "bApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RU" + + "aW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxs" + + "ZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJk" + + "b3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5l" + + "ZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUg" + + "c3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBk" + + "ZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + + "SWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0" + + "ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2lu" + + "Zy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6" + + "IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5j" + + "YUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0" + + "IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZj" + + "Zi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQg" + + "PGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1p" + + "ZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZl" + + "cnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFu" + + "ZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0" + + "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + + "c2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2Vy" + + "IGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + + "dGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + + "LiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + + "ZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNl" + + "LiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBw" + + "cm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRv" + + "IG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + + "b25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBs" + + "YW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0" + + "OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxk" + + "eW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMg" + + "fCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNp" + + "cyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6" + + "IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNL" + + "SUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRv" + + "ZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZy" + + "b20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQg" + + "R2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcg" + + "ZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRF" + + "V0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "Z2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRo" + + "PSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIK" + + "YGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktl" + + "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMg" + + "dW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3Ru" + + "YW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAs" + + "IHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApE" + + "TlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdB" + + "WV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVw" + + "bG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNl" + + "IG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRz" + + "U2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFu" + + "ZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVu" + + "Y2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRo" + + "ZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpm" + + "b3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkg" + + "Ym90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUgg" + + "Ikhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRl" + + "d2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNh" + + "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7" + + "LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMg" + + "RXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBv" + + "ciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVw" + + "bG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sg" + + "c3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAt" + + "biBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERl" + + "cGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJl" + + "bmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGBy" + + "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2Vy" + + "dmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGlu" + + "dm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJl" + + "dmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVu" + + "IGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFj" + + "ayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5" + + "R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhl" + + "IExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxt" + + "LWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxt" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZh" + + "bml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJl" + + "bGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1u" + + "dmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + + "dWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBy" + + "ZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFt" + + "ZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBh" + + "ZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBU" + + "YXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgC" + + "Uk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + + "Lm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRy" + + "b2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0" + + "aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNv" + + "bXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRo" + + "ZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUK" + + "d2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZs" + + "b3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0" + + "aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wt" + + "cGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1" + + "ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0" + + "ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0" + + "ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBD" + + "TEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cg" + + "ZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93" + + "IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1" + + "c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1" + + "YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUg" + + "VmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxs" + + "YXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0" + + "ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3Ry" + + "eSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBO" + + "QVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBF" + + "eGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRv" + + "LWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVu" + + "dm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hl" + + "cyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFu" + + "ZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1" + + "c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMu" + + "IEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3" + + "YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNv" + + "bHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+" + + "IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0" + + "ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGku" + + "PGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3" + + "YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3Mu" + + "PGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9j" + + "YXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6" + + "ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0" + + "ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAg" + + "ICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6" + + "IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFj" + + "ZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkK" + + "ICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5h" + + "dHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5h" + + "YmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9t" + + "YWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJd" + + "CiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25z" + + "OgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAoj" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1s" + + "Cmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZp" + + "Y2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhl" + + "YWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVS" + + "TDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRl" + + "ck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48" + + "Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxh" + + "bmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + + "X0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + + "X0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcg" + + "dGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkK" + + "Y29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3Vy" + + "bDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlf" + + "a2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4i" + + "CmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDog" + + "Imludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRv" + + "bWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBh" + + "IFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29t" + + "bWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0" + + "aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9y" + + "IENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3Rh" + + "bGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + + "LW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwK" + + "ICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+" + + "IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9" + + "PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + + "PTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0" + + "aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCklu" + + "IGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJl" + + "ZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxv" + + "eW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMg" + + "YWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhl" + + "IENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUg" + + "Y29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xp" + + "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + + "XAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFs" + + "bCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0" + + "ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVz" + + "dCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0" + + "ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + + "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdp" + + "c3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + + "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAog" + + "IC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3Mg" + + "aW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0" + + "ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5k" + + "cG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQ" + + "dWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFt" + + "ZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEt" + + "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + + "dC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQg" + + "b25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwu" + + "aW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBj" + + "aGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0" + + "IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29u" + + "dHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtw" + + "dWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0" + + "aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdh" + + "eSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3lt" + + "ZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNv" + + "bnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2Vj" + + "cmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lz" + + "dGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhh" + + "bmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZs" + + "aWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVz" + + "cGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZl" + + "IHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + + "bmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + + "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + + "ZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBs" + + "YW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + + "IGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxl" + + "dGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3Ry" + + "YXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVS" + + "X05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + + "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxj" + + "b25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1y" + + "ZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1p" + + "c3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJt" + + "YXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5k" + + "IGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0" + + "aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJl" + + "Y29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAg" + + "SEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3Vi" + + "ZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJl" + + "IHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNw" + + "YWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUg" + + "Zmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVj" + + "YXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJl" + + "Z2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoK" + + "CmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29u" + + "dHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8" + + "ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0" + + "YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + + "LS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUg" + + "bGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNN" + + "Uywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93" + + "IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMg" + + "dGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRo" + + "ZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92" + + "YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUg" + + "c2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + + "cy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25m" + + "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1j" + + "b250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxj" + + "b21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVw" + + "ZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRo" + + "YXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVz" + + "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJl" + + "bWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQF" + + "AAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBm" + + "aXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sg" + + "U3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2Vz" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNw" + + "YWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMK" + + "aGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5n" + + "IGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScu" + + "bGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywg" + + "Y29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9t" + + "cwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNU" + + "QVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAg" + + "ICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdl" + + "ICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdu" + + "b3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgoj" + + "IENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0" + + "IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3Bl" + + "YyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + + "ZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBp" + + "ZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2Eg" + + "PHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9" + + "JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3Jl" + + "YXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdD" + + "X0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVu" + + "PWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQg" + + "ZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBp" + + "bWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVs" + + "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBv" + + "cnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1h" + + "cGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBv" + + "ZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBj" + + "cmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJl" + + "Y3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6" + + "MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNr" + + "IGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAg" + + "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2" + + "Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERp" + + "YWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVj" + + "dG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1" + + "YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0" + + "aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3Bl" + + "bkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVy" + + "LTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBw" + + "b2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQt" + + "aW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hl" + + "Y2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBl" + + "dGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVu" + + "cyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5" + + "bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5h" + + "bWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5" + + "c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBg" + + "YAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNr" + + "IHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0" + + "ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAq" + + "KmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8g" + + "a25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgog" + + "ICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1" + + "Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgv" + + "and0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBw" + + "dWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlz" + + "c3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNp" + + "Z25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVy" + + "eSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAg" + + "YW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2" + + "aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + + "cnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1" + + "ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5k" + + "CiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5" + + "IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoK" + + "CiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAj" + + "ICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3Vi" + + "ZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25z" + + "CiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1z" + + "ZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cg" + + "YFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVu" + + "aWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86" + + "CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0" + + "ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhl" + + "IGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkg" + + "YWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNh" + + "bm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVy" + + "ZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + + "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEg" + + "ICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdy" + + "ZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNv" + + "dXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRd" + + "KC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAg" + + "ICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + + "IHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpO" + + "b3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2Fu" + + "ZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6" + + "IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAg" + + "ICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAg" + + "IFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBD" + + "aGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9k" + + "ZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZp" + + "bml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1v" + + "cnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMK" + + "CjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4g" + + "ZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ct" + + "bGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoq" + + "OiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBz" + + "dG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sg" + + "bm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUt" + + "bmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJl" + + "OiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVs" + + "bSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVu" + + "bmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24n" + + "dCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxt" + + "IGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0" + + "IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6" + + "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJl" + + "bGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxl" + + "dGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNw" + + "YWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6" + + "IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVw" + + "bG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFw" + + "IGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBq" + + "b2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8t" + + "ZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291" + + "bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52" + + "Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMj" + + "IENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRp" + + "YWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46" + + "QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNo" + + "CiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0" + + "X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFw" + + "aS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJl" + + "YWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlD" + + "cmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRo" + + "ZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2Yg" + + "JiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0" + + "ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVh" + + "dGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNB" + + "IENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUg" + + "Y2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFz" + + "aAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBu" + + "dmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMg" + + "b25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0" + + "ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZC" + + "YWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + + "OgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwg" + + "LS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24g" + + "fCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0" + + "YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIl" + + "JS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRj" + + "aCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRh" + + "dGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZv" + + "cmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMK" + + "Zm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250" + + "ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2" + + "L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwg" + + "LS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkv" + + "djEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMj" + + "IEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9t" + + "cwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0" + + "b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFk" + + "eToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + + "IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9y" + + "CmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhl" + + "IGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHBy" + + "b2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0" + + "YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRv" + + "ZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGls" + + "bCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJh" + + "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJh" + + "dG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Z2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3Ry" + + "eSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1v" + + "cGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3Rl" + + "bWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxs" + + "LXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBG" + + "YWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMg" + + "dGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdh" + + "eSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBh" + + "IG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52" + + "Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + + "cmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFw" + + "aS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZ" + + "X0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNw" + + "bGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2" + + "YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCBy" + + "b3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMK" + + "b3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywg" + + "dXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVn" + + "aXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5k" + + "b2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJv" + + "bS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2Vy" + + "dmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3" + + "aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0t" + + "LS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fz" + + "c2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwg" + + "aW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxs" + + "bS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlz" + + "LCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8Cnwg" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIp" + + "IHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7" + + "tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbO" + + "EiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBg" + + "YmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEt" + + "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAg" + + "fC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVz" + + "cwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0" + + "YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAg" + + "ICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0g" + + "PGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMK" + + "fC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNp" + + "dGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5n" + + "b3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hh" + + "cnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAg" + + "fC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVu" + + "Y3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNh" + + "LW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8K" + + "fCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFs" + + "bCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBl" + + "ci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAg" + + "ICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpU" + + "aGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4" + + "dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmls" + + "ZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBj" + + "b250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0" + + "aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVs" + + "ZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0" + + "IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0t" + + "LS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8" + + "Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0" + + "ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwg" + + "aGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2Vz" + + "IGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3Jv" + + "dXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxl" + + "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + + "LS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtl" + + "eXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwK" + + "fCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNl" + + "cnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwK" + + "fCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8" + + "IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnkt" + + "c2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + + "cmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0" + + "ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMg" + + "fAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52" + + "Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1p" + + "c3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5n" + + "cmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jl" + + "c3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAu" + + "IExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3" + + "aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nrczsg" + + "dGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJv" + + "eHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMg" + + "MDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3Bh" + + "Y2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChv" + + "YnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNl" + + "cnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhl" + + "IGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhl" + + "cml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEt" + + "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRp" + + "ZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlz" + + "dHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxh" + + "Y2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJl" + + "LWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxw" + + "cml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhl" + + "IGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxh" + + "dGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yt" + + "e3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdv" + + "dG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + + "X0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRl" + + "IGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + + "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + + "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUt" + + "aW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNl" + + "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMg" + + "YGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBs" + + "YC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5h" + + "bWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAg" + + "IC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5o" + + "ZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUn" + + "cyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNl" + + "ZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5" + + "OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3Mg" + + "YWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZp" + + "cm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUg" + + "cHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJp" + + "dmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJ" + + "bmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UK" + + "CiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVu" + + "di1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0" + + "IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMg" + + "Q2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2Uu" + + "KmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4q" + + "YAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3Rv" + + "cmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2Jh" + + "bC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdl" + + "LipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5p" + + "bWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xh" + + "c3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYg" + + "ZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5k" + + "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0g" + + "YG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipg" + + "Ci0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBl" + + "dGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNl" + + "cnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9i" + + "c2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJs" + + "ZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0" + + "aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1y" + + "b3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxk" + + "b21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNv" + + "bmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29u" + + "ZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBg" + + "bGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + + "ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBi" + + "ZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5h" + + "YmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJp" + + "Y3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAg" + + "cmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAg" + + "ICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6" + + "CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAg" + + "ICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlD" + + "SW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwg" + + "b3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVu" + + "dGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFn" + + "ZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3Ag" + + "dG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTog" + + "ZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRl" + + "ciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVy" + + "cywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29u" + + "ZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBl" + + "bmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGlu" + + "IHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVu" + + "IG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciBy" + + "b3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2lu" + + "Z10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFu" + + "YWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhl" + + "IHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGlt" + + "YWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lk" + + "ZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAg" + + "Y29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1y" + + "b3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEK" + + "YGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRf" + + "SU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9u" + + "ZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0" + + "aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcu" + + "CgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQs" + + "IHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNh" + + "bWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFn" + + "ZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRo" + + "ZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBB" + + "CkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBI" + + "ZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5n" + + "IExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1l" + + "dGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBv" + + "ZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQ" + + "eWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRl" + + "cGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJv" + + "dXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBu" + + "dmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1y" + + "ZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBp" + + "LWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + + "cmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwK" + + "ICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29y" + + "a2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQg" + + "Y2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNl" + + "Y3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwg" + + "c2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29t" + + "L05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9s" + + "b2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpU" + + "YXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2Ug" + + "Z3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMg" + + "QnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxh" + + "dGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kK" + + "YGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxh" + + "YmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoq" + + "AAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNG" + + "IFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBh" + + "ZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9u" + + "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMg" + + "V2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRt" + + "aW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhl" + + "IGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVh" + + "c2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVz" + + "ZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5h" + + "YmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25z" + + "OgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFu" + + "ZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBw" + + "dWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBi" + + "YXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZh" + + "dGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + + "LWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + + "CiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0" + + "b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFj" + + "ZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + + "IC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQg" + + "dGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2" + + "aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + + "YG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0" + + "ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpW" + + "ZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxl" + + "ZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0" + + "IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVp" + + "Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1" + + "cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRl" + + "ZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nl" + + "c3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkg" + + "aW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMg" + + "UmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBw" + + "cml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMg" + + "bmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQK" + + "Y29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1" + + "c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUg" + + "cmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0" + + "IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRo" + + "ZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZj" + + "YS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBB" + + "cHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhl" + + "bG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhl" + + "bG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5" + + "dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMK" + + "CmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGll" + + "bnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXIt" + + "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAt" + + "LWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + + "TkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGll" + + "bnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9j" + + "a2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRg" + + "LgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9u" + + "OiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZj" + + "Zi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6" + + "CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNo" + + "OgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAg" + + "ICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52" + + "Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAg" + + "ICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNh" + + "c3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAg" + + "LSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJn" + + "ZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAg" + + "ICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5v" + + "CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAg" + + "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1w" + + "b2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51" + + "ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQg" + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47" + - "IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlz" + - "dGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFn" + - "ZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2lu" + - "ZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBu" + - "ZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFu" + - "ZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5l" + - "LCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kg" + - "LW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBs" + - "bG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxt" + - "LWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1B" + - "IHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9k" + - "PiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxt" + - "LXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50" + - "ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMt" + - "aW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZp" + - "b3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHVi" + - "LmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2Rv" + - "Y3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9y" + - "cwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxl" + - "YXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5j" + - "CgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRl" + - "bXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0" + - "cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3Vw" + - "YCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR" + - "7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMg" + - "TlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5W" + - "Q0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJs" + - "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4K" + - "CiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhl" + - "IGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVz" + - "IHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCBy" + - "ZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlv" + - "dSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24K" + - "CkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFk" + - "ZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFj" + - "ZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1h" + - "Z2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoK" + - "YGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBw" + - "cml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8" + - "eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3Jl" + - "ZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + - "dXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1l" + - "c3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBs" + - "eSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAg" + - "YW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUg" + - "c2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMg" + - "dGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQg" + - "cm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlm" + - "eQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVu" + - "YWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3Rs" + - "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZj" + - "Zi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMg" + - "U2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRp" + - "Y2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3Qg" + - "YWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnBy" + - "b3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNy" + - "ZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9t" + - "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5l" + - "dGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUg" + - "YW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3du" + - "IGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoK" + - "VGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGlu" + - "amVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1l" + - "LiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4g" + - "YG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVy" + - "bm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFz" + - "aApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5v" + - "LwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAt" + - "biBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNy" + - "ZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9y" + - "IG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + - "IHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9j" + - "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + - "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29y" + - "ZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAt" + - "LWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3" + - "b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVy" + - "c2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6" + - "IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1" + - "bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBt" + - "YXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRz" + - "OgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAt" + - "ICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAg" + - "ICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAt" + - "ICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAg" + - "ICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2lj" + - "TWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAg" + - "ICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2" + - "ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAg" + - "ICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNy" + - "ZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29u" + - "dGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1Nw" + + "KS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5" + + "dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2Rz" + + "LgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52" + + "Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVy" + + "YXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0n" + + "JG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1u" + + "YW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAog" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBg" + + "CgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBg" + + "YHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMK" + + "YGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1v" + + "cGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBj" + + "cmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1Nw" + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVk" + - "LiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUg" + - "cG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGlu" + - "IGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + - "dmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5h" + - "bWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + - "IC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6" + - "CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNy" + - "ZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52" + - "Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBu" + - "b3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9u" + - "CgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0" + - "ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFn" + - "ZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hl" + - "Y2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25w" + - "YXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNl" + - "Y3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVu" + - "dHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAt" + - "biA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1" + - "bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3Jp" + - "emVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNs" + - "dXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3Jl" + - "dCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRz" + - "IEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlv" + - "dXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBv" + - "bGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3Jl" + - "dHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoq" + - "Q1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnks" + - "IEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoK" + - "IyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFm" + - "dGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2Rz" + - "IGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBv" + - "ZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFy" + - "Z2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5" + - "dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFs" + - "bCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0" + - "ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBU" + - "cnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52" + - "Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBu" + - "dmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAA" + - "AAAhADUoHTJKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBDz+/l" + - "HQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + - "cGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAMCT5iMkMAADJDAAA" + - "NAAJAAAAAAAAAAAAAABWgwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVs" + - "dGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDBsWmYzw8AAM8PAAA3AAkAAAAA" + - "AAAAAAAAAIqQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRl" + - "LXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAA" + - "AAAAx6AAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4t" + - "dGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAA" + - "ANa6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tl" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAXOAA" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3Rh" + - "bGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAACO" + - "7wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRj" + - "aC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAAAAAAAFUZ" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3Mu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAACNIQEA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQBbOvgYtiQAALYkAAAwAAkAAAAAAAAAAAAAANZDAQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAC/t/KAYPAAAGDwAAMgAJAAAAAAAAAAAAAADzaAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAxYLCf1FU" + - "AABRVAAALQAJAAAAAAAAAAAAAABieAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJl" + - "bmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAElFm2ePIAAAjyAAADcACQAAAAAA" + - "AAAAAAAAF80BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hv" + - "b3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAA" + - "AAAU7gEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAADAUAIAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAHWnAgBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCW" + - "Y7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAFrQAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAA7wADAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAFjIDAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAm1wDAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRv" + - "bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAMpk" + - "AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAA/ewMAAAA=" + "bi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBg" + + "YGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBz" + + "ZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + + "bFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0" + + "aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9" + + "J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0" + + "LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxu" + + "YW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAoj" + + "IFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQi" + + "CgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rl" + + "cgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52" + + "Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJl" + + "IE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBu" + + "b2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5" + + "LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4K" + + "LSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1Ag" + + "YnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1" + + "cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBU" + + "cm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIg" + + "YXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3Jl" + + "YXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0" + + "byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQt" + + "Y29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJu" + + "byBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBv" + + "ZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBv" + + "bGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUK" + + "YGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1j" + + "cmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBg" + + "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3It" + + "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEA" + + "ZqwR/UoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEPP7+UdDwAA" + + "HQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + + "L2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmIyQwAAMkMAAA0AAkA" + + "AAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1j" + + "bHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8AADcACQAAAAAAAAAA" + + "AAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxh" + + "bmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADH" + + "oAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNr" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA1roA" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABc4AAAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAI7vAABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAAVRkBAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAI0hAQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDl" + + "HXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + + "ZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA3idP2r1QAAK9U" + + "AAAtAAkAAAAAAAAAAAAAAFZ5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + + "ZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEASUWbZ48gAACPIAAANwAJAAAAAAAAAAAA" + + "AABpzgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGlu" + + "Zy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAGbv" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAABJSAgBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAx6gCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkS" + + "MAAAEjAAAEwACQAAAAAAAAAAAAAArNECAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAABBAgMAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAABoMwMAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAADtXQMAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAHGYDAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + + "Lm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAJF8AwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index f2413ec059..7115ed6aa0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -18,6 +18,7 @@ limitations under the License. package selfhosted import ( + "cmp" "context" "errors" "fmt" @@ -474,6 +475,14 @@ type binaryCheckSpec struct { // static marks a row whose result is known without any work, so the // budget cannot cut it short. static bool + // worst is the most severe grade the check gives a miss, which a row the + // budget cuts short keeps: not knowing the outcome is no worse than the + // worst outcome. Empty is an error. + worst Severity +} + +func (s binaryCheckSpec) worstSeverity() Severity { + return cmp.Or(s.worst, SeverityError) } // buildCategories converts a PreflightConfig into the ordered list of @@ -539,6 +548,7 @@ func buildLocalHostCategory(cfg PreflightConfig) *categorySpec { if cfg.ToolsAdvisory { for i := range checks { checks[i].Run = advisoryTool(checks[i].Run) + checks[i].worst = SeverityWarning } } return &categorySpec{name: CategoryLocalHostTools, role: RoleLocalOnly, checks: checks} @@ -1155,6 +1165,7 @@ func registryCredentialCheck( return binaryCheckSpec{ ID: id, HumanLabel: fmt.Sprintf("checking credentials for %s...", label), + worst: severity, Run: func(ctx context.Context) CheckResult { r := CheckResult{ID: id, Severity: severity} err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical) @@ -1273,17 +1284,22 @@ func staleNamespaceCheck(prober StaleNamespaceProber, kubeContext string, namesp } hints = append(hints, staleNamespaceHints(ns, kctl, probedContext)...) } - r.Message = fmt.Sprintf("%d stale namespace(s) detected: %s. %s", + found := fmt.Sprintf("%d stale namespace(s) detected: %s. %s", len(stale), strings.Join(parts, ", "), strings.Join(hints, "; ")) + r.Message = found if err != nil { r.Message += ". Additionally could not probe: " + err.Error() } - // The error reaches a warning row, so a budget that ran out - // mid-scan grades it as cut short rather than as the warnings - // found so far. A stuck namespace is a finding however the scan - // ended: graded as cut short it would lose its name and exit 5. + // A stuck namespace is a finding however the scan ended: graded + // as cut short it would exit 5. Short of one, a scan the budget + // stopped is cut short, since a namespace it did not reach could + // be stuck, and it keeps the namespaces it found. if r.Severity != SeverityError { r.Err = err + if cutShortBy(ctx, err) { + r.CutShort = true + r.Message = cutShortMessage + "; found before then: " + found + } } r.Transient = r.Transient && r.Severity == SeverityWarning return r @@ -1496,7 +1512,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro // let the partial set grade as the verdict, so a validator // that never ran could pass the gate. res = CheckResult{ - ID: spec.ID, Severity: SeverityError, CutShort: true, + ID: spec.ID, Severity: spec.worstSeverity(), CutShort: true, Message: "not run: the check's time budget ran out before it started", Err: checkCtx.Err(), } @@ -1519,7 +1535,7 @@ func runPreflightImpl(ctx context.Context, cfg PreflightConfig, role Role, rc Ro } return all } - res = normaliseResult(checkCtx, res) + res = normaliseResult(checkCtx, res, spec.worstSeverity()) } res.Category = cat.name all = append(all, res) @@ -1559,22 +1575,36 @@ func (l *lazyTimeout) stop() { } } +// cutShortMessage starts the message of a row the budget stopped while it ran. +const cutShortMessage = "cut short: the check's time budget ran out before it finished" + +// cutShortBy reports a miss caused by the spent budget that ctx carries, +// rather than by a bound of the check's own. +func cutShortBy(ctx context.Context, err error) bool { + return errors.Is(ctx.Err(), context.DeadlineExceeded) && errors.Is(err, context.DeadlineExceeded) +} + // normaliseResult applies the rules every row shares. A pass is info, whatever // severity the check set before it knew the outcome. A miss caused by the -// spent budget, which ctx carries, is cut short: no finding either way. A -// check whose own bound fired keeps its result. -func normaliseResult(ctx context.Context, res CheckResult) CheckResult { +// spent budget is cut short: no finding either way, graded at worst, the +// check's most severe grade. A check whose own bound fired keeps its result. +func normaliseResult(ctx context.Context, res CheckResult, worst Severity) CheckResult { if res.Passed { res.Severity = SeverityInfo return res } - if errors.Is(ctx.Err(), context.DeadlineExceeded) && errors.Is(res.Err, context.DeadlineExceeded) { - res.CutShort = true - res.Severity = SeverityError + if !res.CutShort && !cutShortBy(ctx, res.Err) { + return res + } + if !res.CutShort { // Replaced, not wrapped: the check's own advice is about a failure - // it did not get to observe. - res.Message = "cut short: the check's time budget ran out before it finished" + // it did not get to observe. A check that kept what it found + // before the budget ran out marked the row itself. + res.Message = cutShortMessage } + res.CutShort = true + res.Severity = worst + res.Transient = res.Transient && worst == SeverityWarning return res } @@ -1590,6 +1620,7 @@ func emitCheckCompleted(sink progress.EventSink, category string, res CheckResul Detail: res.Detail, HintURL: res.HintURL, Transient: res.Transient, + CutShort: res.CutShort, Cleanup: res.Cleanup, }) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index cc8b5e1cc7..c2042ac48d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -1157,8 +1157,9 @@ func TestStaleNamespaceCheck_UnreachableClusterIsAnError(t *testing.T) { } // A stuck namespace found before the probe share ran out still blocks the -// run: it is not graded as cut short, which would drop its name and exit 5. A -// warning found before the cutoff is. +// run: it is not graded as cut short, which would exit 5. A warning found +// before the cutoff is cut short, still blocking since a namespace the scan +// did not reach could be stuck, and keeps the namespaces it found. func TestStaleNamespaceCheck_StuckFindingSurvivesTheBudget(t *testing.T) { pinCurrentKubeContext(t, "") ctx, cancel := context.WithTimeout(context.Background(), time.Nanosecond) @@ -1169,7 +1170,7 @@ func TestStaleNamespaceCheck_StuckFindingSurvivesTheBudget(t *testing.T) { spec := staleNamespaceCheck(func(context.Context, string, []string) ([]StaleNamespace, error) { return []StaleNamespace{{Name: "cassandra-system", Reason: reason}}, cutOff }, "", []string{"cassandra-system", "sis"}) - return normaliseResult(ctx, spec.Run(ctx)) + return normaliseResult(ctx, spec.Run(ctx), spec.worstSeverity()) } stuck := probe(StaleStuckTerminating) @@ -1178,7 +1179,71 @@ func TestStaleNamespaceCheck_StuckFindingSurvivesTheBudget(t *testing.T) { assert.Contains(t, stuck.Message, "cassandra-system (stuck Terminating") assert.Contains(t, stuck.Message, "Additionally could not probe: get namespace sis: timeout") - assert.True(t, probe(StaleNoHelmRelease).CutShort, "a warning beside a spent budget is not the whole answer") + partial := probe(StaleNoHelmRelease) + assert.True(t, partial.CutShort, "a warning beside a spent budget is not the whole answer") + assert.True(t, partial.IsBlockingFailure()) + assert.True(t, strings.HasPrefix(partial.Message, cutShortMessage+"; found before then: "), partial.Message) + assert.Contains(t, partial.Message, "cassandra-system (no Helm release)") + + deleting := probe(StaleTerminating) + assert.True(t, deleting.CutShort) + assert.Equal(t, SeverityError, deleting.Severity) + assert.False(t, deleting.Transient, "only a warning is transient") +} + +// A check the budget stops keeps the most severe grade it could have given, +// and the row says it was cut short on the wire. A registry whose rejection +// only warns stays a warning, cut short or not run, so a slow one cannot fail +// the run; a critical one still blocks. A tool a post-install run only +// advises on warns too. +func TestRunPreflight_CutShortRowsKeepTheirWorstSeverity(t *testing.T) { + prevLocal := localCheckShare + localCheckShare = 200 * time.Millisecond + t.Cleanup(func() { localCheckShare = prevLocal }) + hang := func(ctx context.Context, _, _ string, _ bool) error { + <-ctx.Done() + return ctx.Err() + } + sink := &captureSink{} + res := RunPreflightForRole(context.Background(), PreflightConfig{ + Registries: []RegistryEntry{ + {Registry: "slow.example"}, {Registry: "nvcr.io", Critical: true}, {Registry: "other.example"}, + }, + RegistryChecker: hang, + }, RoleLocalOnly, RoleConfig{}, sink) + want := map[string]struct { + severity Severity + message string + }{ + "registry-cred-slow.example": {SeverityWarning, "cut short: "}, + "registry-cred-nvcr.io": {SeverityError, "not run: "}, + "registry-cred-other.example": {SeverityWarning, "not run: "}, + } + require.Len(t, res, len(want)) + for _, r := range res { + assert.True(t, r.CutShort, r.ID) + assert.Equal(t, want[r.ID].severity, r.Severity, r.ID) + assert.True(t, strings.HasPrefix(r.Message, want[r.ID].message), r.ID+": "+r.Message) + } + rows := completedRows(sink) + require.Len(t, rows, len(want)) + for _, row := range rows { + assert.True(t, row.CutShort, row.ID) + assert.Equal(t, want[row.ID].severity, row.Severity, row.ID) + } + + for advisory, severity := range map[bool]Severity{false: SeverityError, true: SeverityWarning} { + tool := passingToolSpec("helmfile", "1.0.0") + tool.Version = func(ctx context.Context, _ string) (*semver.Version, error) { + <-ctx.Done() + return nil, ctx.Err() + } + res := RunPreflightForRole(context.Background(), PreflightConfig{Tools: []BinarySpec{tool}, + ToolsAdvisory: advisory}, RoleLocalOnly, RoleConfig{}, &captureSink{}) + require.Len(t, res, 1) + assert.True(t, res[0].CutShort, "advisory=%v", advisory) + assert.Equal(t, severity, res[0].Severity, "advisory=%v", advisory) + } } // Each term of the validator's run ceiling counts as often as one run can diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go index 22c4228771..521ef66df7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/event.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/event.go @@ -291,6 +291,10 @@ type CheckCompleted struct { // Transient marks a warning expected to clear by itself, such as a // rollout in progress; --wait keeps polling while one remains. Transient bool + // CutShort marks a check the run's time budget stopped before it + // finished, or before it started. Its severity is the worst the check + // could have found. + CutShort bool // Cleanup is the command that removes what the check left in the // cluster, when it left anything. Cleanup string diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go index 6d062a142e..58f3e23295 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl.go @@ -545,6 +545,7 @@ func (r *JSONLRenderer) toWire(e Event, ts string) any { Message: ev.Message, Detail: ev.Detail, Transient: ev.Transient, + CutShort: ev.CutShort, HintURL: ev.HintURL, Cleanup: ev.Cleanup, } @@ -756,6 +757,8 @@ type wireCheckCompleted struct { HintURL string `json:"hintURL,omitempty"` // Transient is set on a warning --wait keeps polling on. Transient bool `json:"transient,omitempty"` + // CutShort is set on a check the time budget stopped before it finished. + CutShort bool `json:"cutShort,omitempty"` // Cleanup is the command that removes what the check left in the cluster. Cleanup string `json:"cleanup,omitempty"` } diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go index 2ac24f02c7..06ba02b504 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/render_jsonl_test.go @@ -464,9 +464,10 @@ func TestRenderJSONL_Uninstall(t *testing.T) { assertGolden(t, "testdata/jsonl_uninstall.golden", got) } -// A warning --wait polls on is marked transient on the wire, so a consumer of -// the stream can tell a rollout in progress from a finding. The field is left -// out otherwise. A run that timed out ends with success false. +// A warning --wait polls on is marked transient on the wire, and a check the +// time budget stopped is marked cutShort, so a consumer of the stream can tell +// either from a finding without parsing the message. Each field is left out +// otherwise. A run that timed out ends with success false. func TestRenderJSONL_CheckTransientAndTimeout(t *testing.T) { clock := &fakeClock{times: []time.Time{ts("2026-04-29T03:45:01Z")}} got := runEmit(t, clock, []Event{ @@ -474,7 +475,9 @@ func TestRenderJSONL_CheckTransientAndTimeout(t *testing.T) { Message: "rollout in progress", Transient: true}, CheckCompleted{Category: "control-plane-cluster", ID: "stale-namespaces", Severity: "warning", Message: "1 stale namespace"}, - Final{Success: false, Verdict: "timeout", TotalChecks: 2, PassedCount: 0, FailedCount: 0}, + CheckCompleted{Category: "registry-credentials", ID: "registry-cred-a.example", Severity: "warning", + Message: "cut short: the check's time budget ran out before it finished", CutShort: true}, + Final{Success: false, Verdict: "timeout", TotalChecks: 3, PassedCount: 0, FailedCount: 0}, }) lines := strings.Split(strings.TrimSpace(got), "\n") var events []map[string]any @@ -485,9 +488,11 @@ func TestRenderJSONL_CheckTransientAndTimeout(t *testing.T) { events = append(events, m) } } - require.Len(t, events, 3) + require.Len(t, events, 4) assert.Equal(t, true, events[0]["transient"]) assert.NotContains(t, events[1], "transient") - assert.Equal(t, false, events[2]["success"]) - assert.Equal(t, "timeout", events[2]["verdict"]) + assert.NotContains(t, events[1], "cutShort") + assert.Equal(t, true, events[2]["cutShort"]) + assert.Equal(t, false, events[3]["success"]) + assert.Equal(t, "timeout", events[3]["verdict"]) } From 125e41c7c533fc7bb3b32cce10601cb2e986c2e4 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:33:05 +0530 Subject: [PATCH 086/127] fix(nvcf-cli): read the stack environment up installs with for a plane check --pre checks before its install Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 5 +- src/clis/nvcf-cli/cmd/self_hosted.go | 3 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 20 +- .../cmd/self_hosted_check_stackvalues_test.go | 48 + .../agentskill/skilldata_generated.go | 4688 +++++++++-------- 5 files changed, 2415 insertions(+), 2349 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 0ef6ad5a9b..bb57686dec 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -14,7 +14,7 @@ |---|---|---| | `--control-plane-stack=...` | Control-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | | `--compute-plane-stack=...` | Compute-plane bundle source: local path, git URL, or `oci://` URL | embedded OCI URL pinned by CLI version | -| `--env=local\|prd\|...` | Helmfile environment name. `check` reads the stack's `environments/.yaml` only for an environment named with `--env` or `HELMFILE_ENV`, so pass the `--env` the install used; see [Settings read from the stack](#settings-read-from-the-stack) | `local` | +| `--env=local\|prd\|...` | Helmfile environment name. `check` reads the stack's `environments/.yaml` only for an environment named with `--env` or `HELMFILE_ENV`, or for a plane `--pre` checks before its install, so pass the `--env` the install used; see [Settings read from the stack](#settings-read-from-the-stack) | `local` | | `--non-interactive` | Disable all stdin prompts | `false` | | `--token=$JWT` | Admin JWT, overrides stored session | - | | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | @@ -115,7 +115,8 @@ The registries above also come from the stack. `check` reads stack values only when they describe the install: - The environment is named with `--env` or `HELMFILE_ENV`. The `--env` - default is not used, so pass the `--env` the install used. + default is used only for a plane `--pre` checks before its install, + since `up` installs with it. Otherwise pass the `--env` the install used. - `environments/.yaml` is read, layered over `base.yaml`. `base.yaml` alone is not used. - The file comes from the stack the install used: `--control-plane-stack` diff --git a/src/clis/nvcf-cli/cmd/self_hosted.go b/src/clis/nvcf-cli/cmd/self_hosted.go index ba5dadb24b..37ced3eaac 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted.go +++ b/src/clis/nvcf-cli/cmd/self_hosted.go @@ -97,7 +97,8 @@ func init() { "Compute-plane stack source: local path, git URL, or oci:// URL (default: built-in OCI URL pinned to this CLI version)") selfHostedCmd.PersistentFlags().StringVar(&selfHostedEnv, "env", "local", "Helmfile environment (e.g. local, prd). check reads the stack's environments/.yaml only when "+ - "this or HELMFILE_ENV names it, so pass the install's --env") + "this or HELMFILE_ENV names it, or for a plane --pre checks before its install, which up installs "+ + "with this default; so pass the install's --env") selfHostedCmd.PersistentFlags().BoolVar(&selfHostedNoApply, "no-apply", false, "Emit YAML to stdout without invoking kubectl (install only)") selfHostedCmd.PersistentFlags().BoolVar(&selfHostedNonInter, "non-interactive", false, diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 6bf1e9deea..39950bda24 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -535,15 +535,25 @@ type stackTarget struct { source, builtIn string // name is the stack's directory in a checkout, under deploy/stacks. name string + // beforeInstall is set when the run checks the plane before its install. + beforeInstall bool } func controlPlaneStackTarget() stackTarget { - return stackTarget{source: selfHostedControlPlaneStack, builtIn: builtInControlPlaneStackOCI(), name: "self-managed"} + return stackTarget{source: selfHostedControlPlaneStack, builtIn: builtInControlPlaneStackOCI(), + name: "self-managed", beforeInstall: checkedBeforeInstall(checkControlPlane)} } func computePlaneStackTarget() stackTarget { return stackTarget{source: selfHostedComputePlaneStack, builtIn: builtInComputePlaneStackOCI(), - name: "nvcf-compute-plane"} + name: "nvcf-compute-plane", beforeInstall: checkedBeforeInstall(checkComputePlane)} +} + +// checkedBeforeInstall reports whether a plane is checked before its install: +// --pre checks it so, unless --all or the plane's own flag checks it as +// installed. +func checkedBeforeInstall(planeFlag bool) bool { + return checkPre && !checkAll && !planeFlag } // stackValuesForRun returns the values files that describe the install, in @@ -551,7 +561,8 @@ func computePlaneStackTarget() stackTarget { // when it can read them from the stack the install used: // // - The environment must be named, with --env or HELMFILE_ENV. --env's -// default is not evidence of the environment the install used. +// default is not evidence of the environment an install used. Before +// the install it is: up installs with it. // - .yaml must be read, since helmfile refuses to install without it, // so base.yaml alone does not describe the install. // - It is read from the stack the install commands resolve: the stack @@ -564,6 +575,9 @@ func computePlaneStackTarget() stackTarget { // Otherwise nothing is read, and every stack-derived input is left out. func stackValuesForRun(t stackTarget) ([]string, bool) { env, ok := explicitStackEnv() + if !ok && t.beforeInstall { + env, ok = resolveStackEnv(), true + } if !ok { return nil, false } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index e9f4f799d6..4fbf7cfdba 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -99,6 +99,34 @@ func TestStackValuesForRun_NeedsTheNamedEnvironmentFile(t *testing.T) { assert.False(t, ok, "base.yaml without prod.yaml does not describe the install") } +// A plane --pre checks before its install is read with --env's default: up +// installs with it. A plane checked as installed still needs it named. +func TestStackValuesForRun_BeforeInstallReadsUpsDefaultEnvironment(t *testing.T) { + resetCheckFlags(t) + t.Setenv("HELMFILE_ENV", "") + cp := stackWithEnvs(t, "local") + withStackFlag(t, &selfHostedControlPlaneStack, cp) + withStackFlag(t, &selfHostedComputePlaneStack, stackWithEnvs(t, "local")) + withEnvFlag(t, "local", false) + + checkPre = true + files, ok := stackValuesForRun(controlPlaneStackTarget()) + require.True(t, ok, "a bare --pre checks both planes before up installs them") + assert.Equal(t, filepath.Join(cp, "environments", "local.yaml"), files[1]) + _, ok = stackValuesForRun(computePlaneStackTarget()) + assert.True(t, ok) + + checkComputePlane = true + _, ok = stackValuesForRun(computePlaneStackTarget()) + assert.False(t, ok, "--pre --compute-plane checks the compute plane as installed") + _, ok = stackValuesForRun(controlPlaneStackTarget()) + assert.True(t, ok, "and the control plane still before its install") + + checkComputePlane, checkAll = false, true + _, ok = stackValuesForRun(controlPlaneStackTarget()) + assert.False(t, ok, "--pre --all checks both planes as installed") +} + // An operator who exports HELMFILE_ENV and runs helmfile directly gets that // environment; an explicit --env still wins over it. func TestResolveStackEnv_Precedence(t *testing.T) { @@ -273,6 +301,26 @@ func TestCheck_RegistriesNeedTheEnvironmentFile(t *testing.T) { } } +// check --pre without --env grades the registries of the environment up +// installs, so an NGC repository the key cannot pull from fails the gate. +func TestCheck_PreGradesTheRegistriesUpInstallsFrom(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "") + stack := t.TempDir() + envDir := filepath.Join(stack, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(envDir, "local.yaml"), + []byte("global:\n image:\n registry: nvcr.io\n repository: acme/nvcf\ncertManager:\n enabled: false\n"), + 0o644)) + + got := registryProbes(t, "--pre", "--control-plane-stack", stack) + assert.Equal(t, map[string]bool{"nvcr.io/acme/nvcf": true}, got) + + got = registryProbes(t, "--pre", "--all", "--control-plane-stack", stack) + assert.NotContains(t, got, "nvcr.io/acme/nvcf", "an installed stack's environment is not assumed") + assert.False(t, got["nvcr.io"]) +} + // A compute-plane-only run reads the compute-plane stack, under the same rule. func TestCheck_ComputeOnlyRunReadsTheComputePlaneStack(t *testing.T) { t.Setenv("HELMFILE_ENV", "") diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index d80c8d1a4c..29b082f39c 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjE4NDgsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjE5ODMsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIxZWRhYWVhNTFlYWRiYmE3" + - "ZDczYTA3ODcyZDA1M2Q0MWQ3ZjM0ZGRjYTM0ZmM4YTBlNGY0NjJjZjk2MGI2M2Q0IiwKICAgICAg" + - "InNpemUiOiAyMTY3OQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIzNTM5MGRlYzNhODBhODBi" + + "YTgyMjIzODU3YTg2NWUyYmI3MTI3ZTE0ZTM4ZWFiYzY5MmFmZWU2ZDBhMTVlNGEyIiwKICAgICAg" + + "InNpemUiOiAyMTgxNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImUx" + "YTc3NzJmMWI1YjliNDJlY2JiNGZiNmU4ZDMzODQ2NTZkZGUyNmJmNWE1NDRmMGFkZTYyYzkwMWZl" + "NjQyYjkiLAogICAgICAic2l6ZSI6IDgzMzUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCGasEf1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCDCued5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1740,2348 +1740,2350 @@ const skillDataZipBase64 = "" + "TCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVs" + "bWZpbGUgZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJv" + "bm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0t" + - "ZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1" + - "c2VkOyBzZWUgW1NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1yZWFkLWZy" + - "b20tdGhlLXN0YWNrKSB8IGBsb2NhbGAgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxl" + - "IGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBK" + - "V1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0" + - "YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8" + - "IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJl" + - "Y2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZv" + - "cmNlIHBsYWluIHN0cmVhbWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJB" + - "VElPTmAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgY2hlY2tzIGFnYWluLCA1cyBhcGFydCwgdW50" + - "aWwgdGhleSBwYXNzIG9yIERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZpbmFsYCB3aXRo" + - "IGBzdWNjZXNzOiBmYWxzZWApLiBFYWNoIHJ1biBpbmNsdWRlcyB0aGUgY2x1c3Rlci12YWxpZGF0" + - "b3IgSm9iLCB3aGljaCBjYW4gdGFrZSB1cCB0byA1bSwgc28gYWxsb3cgZm9yIGl0IG9yIHBhc3Mg" + - "YC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0" + - "byBjbGVhciwgc3VjaCBhcyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcs" + - "IGFuZCBpdHMgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50OiB0cnVl" + - "YC4gQSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBrZWVwcyBpdCBwb2xsaW5nIHRvbywg" + - "YW5kIGl0cyBldmVudCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIENhbm5vdCBiZSBjb21iaW5l" + - "ZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24tcG9zaXRpdmUgRFVSQVRJ" + - "T04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykgfCAtIHwKfCBgLS1jb250" + - "cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFu" + - "ZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJy" + - "ZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVp" + - "cmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBTSVMgb25seSBhdCBhIFVS" + - "TCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJU19VUkxgLCBvciBpbiB0" + - "aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxgOyB3aXRoIG5vbmUsIGl0" + - "cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQgZnJvbSBgYmFz" + - "ZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxv" + - "Y2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3RyeSBjb250YWN0" + - "LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwg" + - "Y2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRl" + - "ZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0tbG9jYWwtb25s" + - "eSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgIHwgYGZhbHNlYCB8Cgoj" + - "IyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJvbC1w" + - "bGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBgLS1wcmVg" + - "IHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVjdHMgaXRzIG93bi4gT25s" + - "eQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBhc3MgYm90aCBjb250ZXh0" + - "IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxlY3RlZCByb2xlIGNoZWNr" + - "cyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0" + - "b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5j" + - "ZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUt" + - "cGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mgb3du" + - "IGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFs" + - "bGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVsbWZpbGVgIG9yIGBo" + - "ZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNoZWNrIGFuIGluc3Rh" + - "bGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdhcm5zIHwgYGZhbHNl" + - "YCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbnRyb2wgcGxh" + - "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFs" + - "aWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAg" + - "fCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMs" + - "IG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQgYSBjb25maWd1cmVkIElD" + - "TVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3IgfCBgZmFsc2Vg" + - "IHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQgYC0tY29tcHV0ZS1wbGFu" + - "ZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0aG91dCBgLS1wcmVgIHwg" + - "YGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIHNob3duIGlu" + - "IHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQgYGNoZWNrYCBkb2VzIG5v" + - "dCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBl" + - "ci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1" + - "c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdoZW4gdGhlIHByb2JlIGlt" + - "YWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFscywgc2luY2UgdGhlIHBy" + - "b2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5vdGlmeS1saW1pdHNgIHJv" + - "dyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElf" + - "U0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0" + - "b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWlu" + - "ZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUs" + - "IGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRp" + - "bmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwg" + - "YW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0" + - "IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9y" + - "J3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRo" + - "b3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQg" + - "aXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkLCBzbyB3YXJuaW5n" + - "cyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duLgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkg" + - "dGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwg" + - "RGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9k" + - "ZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRv" + - "ciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdl" + - "LiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1B" + - "R0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8g" + - "dGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElm" + - "IG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5k" + - "IGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0" + - "cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9y" + - "IGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMg" + - "YSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rl" + - "ci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJl" + - "Z2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBh" + - "bmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFs" + - "aWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9y" + - "LmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUg" + - "aW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBz" + - "dGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRv" + - "cnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVz" + - "cyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIu" + - "YWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5" + - "LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4g" + - "VGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5v" + - "IHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBv" + - "ciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lT" + - "VFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCB8IC0gfAp8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5v" + - "ZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10" + - "by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNg" + - "LiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NM" + - "VVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + - "b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1j" + - "bHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRl" + - "cGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28g" + - "dGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1" + - "YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFt" + - "ZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxz" + - "IGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVu" + - "dHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNl" + - "dHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFU" + - "T1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4" + - "dGVybmFsX2NvbXBvbmVudHNgIHwgZnJvbSB0aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRh" + - "dG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBh" + - "ZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMg" + - "aXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFp" + - "bnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhl" + - "Y3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9y" + - "IGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJB" + - "VElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AgfCAtIHwK" + - "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3Ry" + - "eSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBX" + - "aGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBg" + - "ZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGll" + - "cyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3Jl" + - "dCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWls" + - "aW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3Mg" + - "Y3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVu" + - "dGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3" + - "YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAt" + - "LXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9y" + - "IHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5v" + - "dCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHks" + - "IGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNo" + - "IHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBz" + - "YXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + - "Ul9WQUxJREFUSU9OYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFs" + - "aWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3Ig" + - "ZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMg" + - "c3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9y" + - "ZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hl" + - "Y2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQg" + - "aG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFu" + - "ZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRo" + - "ZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAt" + - "LXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBh" + - "ZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBs" + - "b2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUg" + - "Y2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1" + - "c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0" + - "ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcg" + - "dGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tg" + - "IHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxv" + - "Y2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05G" + - "SUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkg" + - "YGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBO" + - "R0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVM" + - "TF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApg" + - "TkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9n" + - "aW4gb25seSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1l" + - "bnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBp" + - "cyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNl" + - "bnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVj" + - "dHMgdGhlIGRvY2tlcgpsb2dpbi4gVGhlIHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBk" + - "aXNjb3ZlcnkgYW5kIHRoZSB2YWxpZGF0b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93" + - "IHNheXMgaG93IHRvIHJlbmV3IHRoZSBsb2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBg" + - "LS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5l" + - "d2VkIHdoaWxlIHRoZQpydW4gd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJv" + - "YmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRv" + - "cnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1h" + - "Z2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0" + - "aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2Vu" + - "dCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRl" + - "bnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFu" + - "IE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0" + - "YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVy" + - "IHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUg" + - "Y2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBs" + - "b2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90" + - "IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBl" + - "ZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0" + - "cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFz" + - "CnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRo" + - "ZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNl" + - "dCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0" + - "aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25m" + - "aWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5" + - "QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25l" + - "IHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9u" + - "bHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9u" + - "bHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNg" + - "LCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFt" + - "ZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUg" + - "c3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRl" + - "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BB" + - "Q0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3Nh" + - "bmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0" + - "ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01Q" + - "T05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNl" + - "dCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9m" + - "IHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3Bl" + - "bkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5" + - "IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3Ig" + - "YE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUg" + - "ZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5" + - "IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBg" + - "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgbm90IHVz" + - "ZWQsIHNvIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFt" + - "bGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0" + - "aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MK" + - "ICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5k" + - "IGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0" + - "cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1" + - "ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQK" + - "ICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyBy" + - "ZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpP" + - "dGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0" + - "b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBw" + - "cm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJ" + - "Q01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJ" + - "RGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9O" + - "YCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnkt" + - "cnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoK" + - "IyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBs" + - "YW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUt" + - "cmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBj" + - "YWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMg" + - "cGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxz" + - "ZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChy" + - "ZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwK" + - "fCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVy" + - "bCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3Rp" + - "bmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2Vg" + - "IHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRl" + - "IG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwK" + - "fCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5" + - "IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwg" + - "RXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJh" + - "dGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZh" + - "dWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0t" + - "dmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVy" + - "IG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29u" + - "ZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcyku" + - "CgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyBy" + - "ZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhv" + - "YyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBD" + - "b250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIg" + - "aW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250" + - "YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNU" + - "UkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hh" + - "cnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQg" + - "d2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9h" + - "ZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2" + - "aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFy" + - "dGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJk" + - "IG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwg" + - "TExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4s" + - "cm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJs" + - "ZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwg" + - "YERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29t" + - "YmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmll" + - "bGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAg" + - "fCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBo" + - "YXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkg" + - "TkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRh" + - "YmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJl" + - "cyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExM" + - "TSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBt" + - "ZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNs" + - "YXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUg" + - "bW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNg" + - "LCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRp" + - "bmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211" + - "bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxp" + - "bWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2Vy" + - "IHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRz" + - "IGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlz" + - "KSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGlt" + - "aXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAw" + - "LVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBv" + - "ZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBz" + - "ZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VO" + - "YW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0" + - "LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhw" + - "b3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMg" + - "dXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJ" + - "RCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2Fy" + - "ZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3Rz" + - "IGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNz" + - "OyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNp" + - "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdz" + - "IFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwt" + - "dXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91" + - "dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4g" + - "Um91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6" + - "IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0g" + - "fAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0" + - "aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFu" + - "eSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2Nv" + - "dW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVy" + - "cmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJy" + - "aWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0" + - "aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxO" + - "YW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tl" + - "blJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFy" + - "ZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVg" + - "LXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04g" + - "c3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + - "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJl" + - "cXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAt" + - "LWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWlu" + - "LWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBO" + - "YCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAg" + - "fCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBg" + - "LS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVy" + - "cyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1p" + - "bnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5p" + - "dGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNo" + - "YXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BV" + - "IG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBg" + - "IHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0" + - "aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0t" + - "aW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGgg" + - "YC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwg" + - "b3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8Cnwg" + - "YC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3Zl" + - "cnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VO" + - "RGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3Bl" + - "Y2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8Cnwg" + - "YC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUg" + - "Y29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6" + - "ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmly" + - "b25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVl" + - "YCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0" + - "IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBy" + - "dW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5v" + - "IHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVl" + - "dWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJI" + - "YCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVy" + - "IHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJl" + - "c3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBh" + - "cnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1" + - "cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyBy" + - "ZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxz" + - "IE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBg" + - "LS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0" + - "YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFy" + - "YXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8Cnwg" + - "YC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8" + - "IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkg" + - "ZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2Vz" + - "IHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIN4nT9q9UAACvVAAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ry" + - "b3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMs" + - "IHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3lu" + - "YyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRz" + - "aWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2Vf" + - "ZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUt" + - "ZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRl" + - "ZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50" + - "J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3In" + - "cyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwK" + - "dHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwt" + - "LS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRv" + - "ZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3Bl" + - "cyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3Vi" + - "ZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFs" + - "bC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRw" + - "czovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBu" + - "b3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5z" + - "dGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9p" + - "bWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNv" + - "bmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVy" + - "X3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNU" + - "RVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBj" + - "bHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90" + - "IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3Ig" + - "ZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJl" + - "LCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBw" + - "YXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIEpv" + - "YiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4pYCwgcGFz" + - "c2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBiZSByZWFk" + - "OiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1" + - "bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFdhcm5pbmdz" + - "IGl0IHJlcG9ydGVkIGFyZSBub3Qgc2hvd24gfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGlu" + - "IGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dz" + - "YCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + - "dXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHBy" + - "ZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94" + - "eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUt" + - "bmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZh" + - "dWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Ms" + - "IGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3Rs" + - "IHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdl" + - "Y2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0" + - "IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChv" + - "ciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBg" + - "Y2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBB" + - "dmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0" + - "YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlz" + - "c2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + - "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBP" + - "cGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFt" + - "ZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAy" + - "YCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBv" + - "ciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9i" + - "amVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRz" + - "IGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBh" + - "dGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBh" + - "cGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1j" + - "bGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBg" + - "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+" + - "KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVz" + - "IGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMg" + - "dGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMg" + - "fAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9u" + - "OiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGws" + - "IHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmct" + - "KmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBp" + - "bnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFz" + - "ZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxt" + - "IHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFz" + - "ZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8g" + - "SGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBv" + - "YmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhl" + - "IG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVy" + - "YnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4g" + - "PG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3Ry" + - "ZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNl" + - "IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhl" + - "YWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNx" + - "bGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25t" + - "ZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVM" + - "TV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBp" + - "dCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFt" + - "ZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBnYXRlZCBuYW1lc3BhY2UgfCBOYW1l" + - "c3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9ubHkgd2hlbiB0" + - "aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFuZS1zdGFja2Agb3IgYC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ssIGdhdGVzIGNvbWUgZnJvbSBpdHMg" + - "YGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9F" + - "TlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDsgb3RoZXJ3aXNlIGZyb20g" + - "dGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBncm92ZS1z" + - "eXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQb2ludCB0aGUgc3Rh" + - "Y2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJvbSBhbmQgcGFzcyB0aGUgc2FtZSBg" + - "LS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + - "fC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+" + - "Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGlu" + - "aXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJ" + - "KSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBv" + - "ciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBk" + - "aWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZj" + - "Zi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNg" + - "IChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVu" + - "Y3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3i" + - "gKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwg" + - "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2Fp" + - "dGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBl" + - "bmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0" + - "IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgx" + - "MDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAg" + - "aXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3Rh" + - "bmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVk" + - "YCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lv" + - "bmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVz" + - "LXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9J" + - "RCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5" + - "KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3Qg" + - "cHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRl" + - "ciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52" + - "Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGkt" + - "Y2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252" + - "Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGlt" + - "ZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNB" + - "IGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVz" + - "dGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01T" + - "IHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVw" + - "YCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0" + - "ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cp" + - "IHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBj" + - "dXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9" + - "PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2Vu" + - "ZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBr" + - "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVs" + - "bCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9y" + - "ID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBv" + - "ciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMt" + - "c3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2Vydmlj" + - "ZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + - "LXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBj" + - "cmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVu" + - "dGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRl" + - "L2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBz" + - "aG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNo" + - "ZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2Fj" + - "aGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hh" + - "bmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUg" + - "bWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95" + - "bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcISUWbZ48gAACPIAAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhv" + - "c3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBD" + - "b3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3Ms" + - "IHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVz" + - "aG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wt" + - "cGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxl" + - "cywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERv" + - "IE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2Qg" + - "ZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRp" + - "YmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIs" + - "IGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhv" + - "cjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZl" + - "cnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYt" + - "aG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFs" + - "bGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVk" + - "aXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52" + - "Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lv" + - "bjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0" + - "ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRp" + - "b24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQog" + - "IGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWlu" + - "ZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpP" + - "cGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21w" + - "dXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNr" + - "aWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1" + - "bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBh" + - "cmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJs" + - "ZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFi" + - "bGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVx" + - "dWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRo" + - "LiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxl" + - "LmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0" + - "YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxz" + - "IDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + - "ZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBg" + - "YAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5k" + - "bGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3du" + - "bG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2Mg" + - "cmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1" + - "bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5k" + - "IHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3Jl" + - "IFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRp" + - "b246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAg" + - "cmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+" + - "PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAz" + - "LjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3Ig" + - "dmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0" + - "aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNk" + - "IHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1l" + - "bnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJv" + - "bm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+" + - "LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVu" + - "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + - "LXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1" + - "ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rh" + - "a2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykK" + - "ICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIg" + - "b3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAg" + - "ICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNv" + - "bnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1" + - "ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAg" + - "KGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "b25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJl" + - "Z2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRp" + - "bmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwg" + - "YmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9w" + - "YWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxt" + - "ZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + - "VmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxs" + - "YXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChp" + - "ZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEt" + - "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + - "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxp" + - "bmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdD" + - "X0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + - "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + - "IGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + - "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + - "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkg" + - "LWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZp" + - "Z3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2Ug" + - "UHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUg" + - "aGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVs" + - "bSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVs" + - "bSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFs" + - "IHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAt" + - "LSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9h" + - "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAt" + - "dSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dp" + - "bi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0t" + - "dXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4u" + - "YW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9u" + - "bHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFj" + - "ayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVu" + - "dCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2Au" + - "IEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9n" + - "aW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwg" + - "c28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcg" + - "YDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQn" + - "cyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3Jl" + - "IHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0" + - "IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUg" + - "JyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlv" + - "biBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVy" + - "eXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJl" + - "bHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVz" + - "dGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZD" + - "RiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3" + - "aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdp" + - "c3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwg" + - "YWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhl" + - "IGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJv" + - "ciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAg" + - "ICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBl" + - "LmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1w" + - "YXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAg" + - "cmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1" + - "Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5v" + - "bi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1p" + - "cnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJ" + - "IGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVi" + - "bGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+" + - "IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUg" + - "cmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQg" + - "ZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZl" + - "cnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhl" + - "bG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2Np" + - "Oi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNh" + - "biBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3Jl" + - "ZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRo" + - "ZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0" + - "eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3Jl" + - "dCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJv" + - "bSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNl" + - "Y3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRv" + - "Y2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgog" + - "ICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhl" + - "IHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFj" + - "Y291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQg" + - "YXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0" + - "byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMg" + - "My4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFt" + - "ZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBj" + - "b25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFj" + - "dCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdl" + - "dCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBh" + - "dGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERS" + - "RVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92" + - "aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNl" + - "ciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5v" + - "dCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2Ug" + - "YSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRl" + - "c3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5u" + - "dmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBw" + - "b2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBv" + - "aW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRl" + - "IG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4" + - "YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3" + - "IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5j" + - "ICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRo" + - "ZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FT" + - "U0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNy" + - "ZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0" + - "cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFT" + - "U1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREIt" + - "YmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2Ug" + - "aXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFz" + - "c3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAu" + - "CgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0" + - "aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGlt" + - "ZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJl" + - "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUt" + - "MTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywg" + - "aW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdh" + - "dGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBz" + - "dGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVh" + - "c2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVs" + - "ZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJs" + - "ZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5" + - "IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlz" + - "IG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGlu" + - "Z3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRl" + - "cy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + - "ZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRv" + - "ZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRl" + - "d2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0" + - "YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5j" + - "bHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+Lnlh" + - "bWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUK" + - "ICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFu" + - "aXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4" + - "MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIK" + - "YGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20g" + - "dmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUg" + - "aG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3Jl" + - "YXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0" + - "aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + - "dXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9u" + - "IGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMg" + - "LW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwg" + - "Z2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48" + - "ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVu" + - "YWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlv" + - "biwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92" + - "aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAo" + - "b3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4t" + - "cGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGlu" + - "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBl" + - "eHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVh" + - "c2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNG" + - "IFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBv" + - "c2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2Ug" + - "YW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2Vl" + - "IFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIElu" + - "c3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5l" + - "IHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBp" + - "dCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoK" + - "LSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVz" + - "LCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtl" + - "ZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRo" + - "ZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkg" + - "cmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZz" + - "LiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBw" + - "dWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4g" + - "VGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wg" + - "cGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1h" + - "bmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxl" + - "YXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5" + - "c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVz" + - "cy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZj" + - "Zi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2Vy" + - "YCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUg" + - "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFu" + - "YWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNw" + - "YWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRl" + - "cm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsg" + - "b3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBE" + - "byBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1" + - "c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2Vy" + - "dC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1" + - "aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBp" + - "dCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZm" + - "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNr" + - "IEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + - "IGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBp" + - "dHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRp" + - "bmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJv" + - "bSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxl" + - "dGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3Vi" + - "ZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoK" + - "IyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNz" + - "YW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4g" + - "ZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1l" + - "bnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9i" + - "YWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJs" + - "b2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyou" + - "eWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBi" + - "ZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rv" + - "cnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJh" + - "CiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNw" + - "YWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAu" + - "Li9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJl" + - "ZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAg" + - "ICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAg" + - "ICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBj" + - "cHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hh" + - "OiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3Bl" + - "Y2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlv" + - "dSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZp" + - "bGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + - "ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpU" + - "aGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRl" + - "IHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBl" + - "dmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENv" + - "bnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8" + - "IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2Ug" + - "fCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUg" + - "dXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxz" + - "IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8" + - "IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQ" + - "b2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJv" + - "b3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52" + - "Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJz" + - "L2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFy" + - "ZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNl" + - "NjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAg" + - "fAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2Vj" + - "cmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNo" + - "aXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5U" + - "SUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0" + - "IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBz" + - "dHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBp" + - "bnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRo" + - "ZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHBy" + - "aW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3Qg" + - "YGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3Ry" + - "YXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJh" + - "c2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNh" + - "ciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3Jl" + - "ZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lk" + - "ZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1" + - "dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIg" + - "YW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+" + - "Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIg" + - "fCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2" + - "L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklE" + - "SUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9r" + - "di9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0" + - "IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3Jl" + - "ZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChu" + - "b3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0g" + - "c2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRp" + - "bmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5j" + - "dGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1" + - "ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2lu" + - "Z2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5" + - "IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcg" + - "d2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNz" + - "aW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50" + - "byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBh" + - "bGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlm" + - "aWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8g" + - "YWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8g" + - "dXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0t" + - "Y3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3Bh" + - "Y2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + - "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + - "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9s" + - "aWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwK" + - "YGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRp" + - "bmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpz" + - "b25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUi" + - "OiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBj" + - "cmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRo" + - "ZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNl" + - "ZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "KS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhl" + - "bG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBo" + - "ZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RU" + - "aW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVy" + - "bnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8" + - "IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3Jv" + - "bmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQ" + - "dWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1h" + - "Z2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9u" + - "IGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1" + - "dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlk" + - "YXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3" + - "aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0t" + - "IHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5h" + - "YmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBT" + - "ZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRl" + - "bGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNl" + - "cnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5n" + - "Lm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRy" + - "YSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVz" + - "b3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9v" + - "cCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmls" + - "ZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZp" + - "Y2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3Nh" + - "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBE" + - "RUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUg" + - "REItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlz" + - "bWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNr" + - "IGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwg" + - "Rmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVs" + - "ZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBX" + - "cm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwg" + - "bG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9u" + - "IC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNj" + - "b3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVs" + - "ZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGlu" + - "c3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3" + - "YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUg" + - "YWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4p" + - "IHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAg" + - "bm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGlu" + - "IGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJl" + - "bGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9g" + - "IHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzog" + - "Ii1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFp" + - "bHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3Mg" + - "aGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAg" + - "KGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0Zf" + - "QVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBi" + - "b290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0" + - "LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2Nv" + - "dW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBo" + - "b29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0" + - "IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJh" + - "dGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291" + - "bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxs" + - "IHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBv" + - "YnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIg" + - "dGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBp" + - "LWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScg" + - "ICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQg" + - "YnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAo" + - "ZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9m" + - "YWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRl" + - "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3Vu" + - "ZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1" + - "YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29u" + - "ZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2Vz" + - "CgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVu" + - "ZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMv" + - "Y3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxv" + - "d3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9u" + - "czogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQp" + - "LCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdn" + - "aW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUg" + - "YG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRl" + - "IHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0li" + - "AABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAi" + - "RzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUg" + - "TlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRp" + - "bmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczog" + - "aGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxt" + - "LWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5v" + - "ciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwg" + - "YWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4w" + - "LCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "aGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEg" + - "aXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8g" + - "Y2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNo" + - "ZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3Jl" + - "LXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZv" + - "ciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxs" + - "IHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZv" + - "cmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0" + - "ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAi" + + "ZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVm" + + "b3JlIGl0cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNl" + + "ZSBbU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUt" + + "c3RhY2spIHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0" + + "ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3Zl" + + "cnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9u" + + "bHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0" + + "cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwg" + + "cmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxh" + + "aW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8" + + "IGBjaGVja2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5" + + "IHBhc3Mgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nl" + + "c3M6IGZhbHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2Is" + + "IHdoaWNoIGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lw" + + "LWNsdXN0ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFy" + + "LCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0" + + "cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNo" + + "ZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRz" + + "IGV2ZW50IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGgg" + + "YC0tbm8tY2xlYW51cGAuIEEgbWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElPTiBpcyBh" + + "IHVzYWdlIGVycm9yIChleGl0IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRyb2wtcGxh" + + "bmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEt" + + "MjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8" + + "IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29u" + + "dGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hl" + + "biBjb250ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBo" + + "ZXJlLCBpbiBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25m" + + "aWcgYXMgYGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGA7IHdpdGggbm9uZSwgaXRzIGBzaXMt" + + "cmVhY2hhYmlsaXR5YCByb3cgaXMgYSB3YXJuaW5nIHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBf" + + "dXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgbG9jYWwtaG9z" + + "dCBjaGVja3MgYW5kIHNraXAgYWxsIGNsdXN0ZXIgYW5kIHJlZ2lzdHJ5IGNvbnRhY3QsIHdoYXRl" + + "dmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVudGlhbCBjaGVjayBh" + + "bmQgZWFjaCBzZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJlcG9ydGVkIGFzIHJv" + + "d3MgdGhhdCBwYXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2NhbC1vbmx5KWAuIEVu" + + "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVj" + + "a2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250cm9sLXBsYW5lYCwg" + + "YC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIGAtLXByZWAgc2VsZWN0" + + "cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBpdHMgb3duLiBPbmx5CnRoZSBz" + + "ZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mg" + + "b3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVkIHJvbGUgY2hlY2tzIHRoZSBj" + + "dXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBs" + + "dXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBp" + + "cyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAg" + + "aXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywg" + + "dGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQuIEEg" + + "bWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZh" + + "aWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0" + + "YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBgZmFsc2VgIHwKfCBg" + + "LS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29udHJvbCBwbGFuZTogbGVm" + + "dG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3Iu" + + "IE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBsYW5lYCB8IENoZWNr" + + "IHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcywgbm9kZSBp" + + "bm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNvbmZpZ3VyZWQgSUNNUyBVUkws" + + "IGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IGBmYWxzZWAgfAp8IGAt" + + "LWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1jb21wdXRlLXBsYW5lYCwgU0lT" + + "IHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0IGAtLXByZWAgfCBgZmFsc2Vg" + + "IHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgc2hvd24gaW4gdGhlIG91" + + "dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hlY2tgIGRvZXMgbm90IHJlcXVp" + + "cmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUg" + + "aW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fu" + + "bm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMg" + + "b24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9k" + + "cyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5LWxpbWl0c2Agcm93IHBhc3Nl" + + "cyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9T" + + "VEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFn" + + "cwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNr" + + "ZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENs" + + "dXN0ZXJSb2xlQmluZGluZyBmb3IgaXQsIHBsdXMgYSBSb2xlIGFuZApSb2xlQmluZGluZyBpbiBg" + + "ZGVmYXVsdGAgdGhhdCBsZXQgaXQgcmVhZCBvbmx5IGl0cyBvd24gQ29uZmlnTWFwLCBhbmQgcmVt" + + "b3Zlcwp0aGVtIGFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMg" + + "cGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2YWxpZGF0b3IncyB0cmFu" + + "c2NyaXB0IHdpdGggYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAuCldpdGhvdXQgaXQs" + + "IGEgdmFsaWRhdG9yIEpvYiB0aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNzZXMsIGFuZCBpdHMgcm93" + + "IHNheXMgdGhlCnRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQsIHNvIHdhcm5pbmdzIGl0IHJl" + + "cG9ydGVkIGFyZSBub3Qgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMgb25seSB0aGUgY2Fs" + + "bHMgZWFjaCByb2xlJ3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNwYWNlLCBEYWVtb25T" + + "ZXQgYW5kIHBvZCB3cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10by1ub2RlIHByb2Jl" + + "LAphbmQgZGVsZXRpbmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFsaWRhdG9yIHJ1biBs" + + "ZWZ0IGJlaGluZC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29s" + + "dXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNv" + + "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlz" + + "Y292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gSWYgbm8gdGFn" + + "IGNhbiBiZSBkaXNjb3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgaXRzIHJv" + + "dyBmYWlscyB0aGUgY2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdhaXRgIHRyaWVzIGFn" + + "YWluIG9uIGV2ZXJ5IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxpZGF0b3IgZG9lcyBu" + + "b3QgcnVuIGFuZCBlYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBpcyBhIHdhcm5p" + + "bmcsIHNvIHRoZSB2ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlk" + + "YXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0cmEgcmVnaXN0cmll" + + "cyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hpbmUsIGFuZCB0aGVp" + + "ciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3Iu" + + "IEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBoYXJib3IuZXhhbXBs" + + "ZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVzIHRoZSBpbnN0YWxs" + + "IHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwgdGhlIHN0YWNrJ3Mg" + + "YGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAsIGFu" + + "ZCBgcXVheS5pb2AgZm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBz" + + "dGFjayBsZWF2ZXMgY2VydC1tYW5hZ2VyIG91dCBvciBzZXRzIGBjZXJ0TWFuYWdlci5hY21lc29s" + + "dmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCwgYXMgYSB3YXJuaW5nIG9ubHksIHdoZW4g" + + "bmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgaW4t" + + "cG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBoYXMgbm8gcHJveHku" + + "IEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1h" + + "LXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7" + + "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgIHwgLSB8CnwgYC0tY2x1" + + "c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90" + + "aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUg" + + "b3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBh" + + "IG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + + "QUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9i" + + "ZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXIt" + + "dmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5j" + + "aWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFs" + + "aWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9m" + + "IGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxz" + + "IHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0" + + "byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9z" + + "ZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBh" + + "bnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRF" + + "Uk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxf" + + "Y29tcG9uZW50c2AgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9s" + + "ZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRv" + + "IHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdh" + + "eXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVm" + + "ZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4g" + + "QSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEt" + + "c2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7" + + "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCB8IC0gfAp8IGAtLWNs" + + "dXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3Jl" + + "dCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1w" + + "dHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0" + + "YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSBy" + + "ZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRo" + + "ZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhh" + + "dCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50" + + "aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Ag" + + "cm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3Bp" + + "ZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1j" + + "bHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUg" + + "ZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBm" + + "YWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4" + + "YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdz" + + "IGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQg" + + "d2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElE" + + "QVRJT05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3Ig" + + "Sm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dp" + + "bmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5k" + + "ZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBp" + + "bnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayB0aGF0" + + "IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVzIHRoZW0gb25jZSB0aGV5IGFyZSAyNCBob3VycyBv" + + "bGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBs" + + "YXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cu" + + "IENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXdhaXRgIHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1s" + + "b2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRo" + + "ZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBgLS0tIGNsdXN0ZXItdmFsaWRhdG9yIGxvZ3MgKDxj" + + "YXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hpbmcgZW5kIGxpbmUsIHdoZXJlIHRoZSBjYXRlZ29y" + + "eSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVyYCBvciBgY29tcHV0ZS1wbGFuZS1jbHVzdGVyYC4g" + + "VGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBz" + + "dGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3Ry" + + "ZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVz" + + "IGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3Jl" + + "ZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25m" + + "aWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNT" + + "dG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkg" + + "a2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9L" + + "RVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJ" + + "X0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5" + + "IGZvciBhCmJhcmUgYC0tcHJlYCBydW4gd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2lu" + + "Y2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsCnNlY3JldHMgZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVy" + + "IHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4gRWxzZXdoZXJlIHRoZSBrZXkKaXMgc2VudCB3aGVu" + + "IHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3Igd2hlbiBgbnZjci5pb2AgcmVqZWN0cyB0aGUg" + + "ZG9ja2VyCmxvZ2luLiBUaGUgcnVuIHRoZW4gdXNlcyB0aGUga2V5LCBmb3IgdGFnIGRpc2NvdmVy" + + "eSBhbmQgdGhlIHZhbGlkYXRvcidzIHB1bGwKc2VjcmV0IHRvbywgYW5kIHRoZSByb3cgc2F5cyBo" + + "b3cgdG8gcmVuZXcgdGhlIGxvZ2luIGBkb2NrZXJgIHN0aWxsIHNlbmRzLgpFYWNoIGAtLXdhaXRg" + + "IHBvbGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hp" + + "bGUgdGhlCnJ1biB3YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tz" + + "IGZvciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQg" + + "dG8gdGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdp" + + "c3RyeWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9u" + + "ZSBzZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRo" + + "ZSBzY29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuCgpPbmx5IGEgY3JlZGVudGlhbCB0" + + "aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQgb25seSBmb3IgYW4gTlZJRElB" + + "CnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMuIEFmdGVyIGluc3RhbGwgYSBy" + + "ZWplY3RlZCBjcmVkZW50aWFsIGlzCmEgd2FybmluZywgc2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMg" + + "d2l0aCBpdHMgb3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFjaGluZSBjYW5ub3Qg" + + "cmVhY2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNy" + + "ZWRlbnRpYWwgYXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsg" + + "dG8sIHN1Y2ggYXMgRUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBza2lwcGVkIHdpdGgg" + + "YSBjb21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMg" + + "bWFjaGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQg" + + "Y3JlZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlk" + + "YXRvciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGgg" + + "aXRzCmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFj" + + "ay4KCnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkg" + + "fAp8LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0" + + "ZXdheXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNz" + + "IGBpbmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRo" + + "IGByb3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRo" + + "IGByb3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNv" + + "bW1hLXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRy" + + "b3BwZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydz" + + "IGdhdGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGku" + + "Y29udHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8" + + "IEV4dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3" + + "aG9zZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxp" + + "ZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNg" + + "IHwKfCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUg" + + "dmFsaWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWly" + + "aW5nIGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5h" + + "bWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUg" + + "aW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9O" + + "Mk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRo" + + "ZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3Jp" + + "YmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAg" + + "b3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9y" + + "IGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAg" + + "aW5zdGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwg" + + "dXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBg" + + "YmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBj" + + "b21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkg" + + "cnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3Rvcnkg" + + "aXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBh" + + "biBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3Rh" + + "Y2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwg" + + "Y2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFj" + + "ayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUg" + + "d29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBm" + + "b3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRl" + + "cywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNw" + + "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1j" + + "bHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVk" + + "KSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRg" + + "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + + "IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQg" + + "Y2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExp" + + "bWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8" + + "IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2" + + "YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVg" + + "IHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lw" + + "IGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmlj" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5B" + + "TUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + + "IElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13" + + "ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmln" + + "IHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFp" + + "bC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0" + + "aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0" + + "IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRh" + + "YmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4" + + "cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBh" + + "cnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFND" + + "T1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2" + + "aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQg" + + "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0" + + "aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRg" + + "IChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + + "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBk" + + "ZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + + "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwK" + + "fCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + + "dXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJl" + + "bmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5j" + + "dGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVG" + + "QVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + + "ZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0" + + "LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5B" + + "TUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVp" + + "cmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + + "UlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2Rl" + + "bD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1p" + + "dD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5g" + + "IHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBV" + + "c2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNw" + + "ZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + + "dC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJp" + + "b3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0t" + + "cGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9y" + + "aXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0Eg" + + "SUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09O" + + "IGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4g" + + "YGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0g" + + "cGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBg" + + "L3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGlu" + + "Z3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBv" + + "d2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpg" + + "bGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFy" + + "YXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZv" + + "cm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBg" + + "SGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5p" + + "dHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAw" + + "MDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2th" + + "Z2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBi" + + "YWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0" + + "YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRo" + + "ZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJu" + + "ZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExN" + + "IGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + + "bWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + + "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBS" + + "ZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBm" + + "b3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBm" + + "dW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3Mg" + + "fCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9y" + + "bWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + + "bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAu" + + "IFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmlu" + + "ZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZ" + + "YCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0" + + "aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwg" + + "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + + "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + + "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + + "IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11g" + + "IGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBh" + + "bmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUg" + + "bW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1" + + "bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + + "Y29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQg" + + "SURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBm" + + "YW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQ" + + "VS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8" + + "CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJl" + + "cXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBk" + + "ZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3Bl" + + "Y2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBj" + + "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + + "ZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUg" + + "KHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAg" + + "fAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + + "ZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFu" + + "Y2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQ" + + "LkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0" + + "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hB" + + "UlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2" + + "ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVj" + + "IGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQg" + + "fAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3Rl" + + "cnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8" + + "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3Nl" + + "ZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0t" + + "ZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFs" + + "dWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8Cnwg" + + "YC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVw" + + "ZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElP" + + "TmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5v" + + "IGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJ" + + "T05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwg" + + "U2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05g" + + "IHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVm" + + "YXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRv" + + "IGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9u" + + "IExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFt" + + "LW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExP" + + "QURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7" + + "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNv" + + "dXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRh" + + "c2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNr" + + "IGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRl" + + "bGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURg" + + "IHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1l" + + "dHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcILQJw" + + "PDZVAAA2VQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNo" + + "b290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVt" + + "ZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJ" + + "IGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNo" + + "b3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlh" + + "dGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5n" + + "IGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhl" + + "IHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dz" + + "CnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1s" + + "b2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVt" + + "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwg" + + "T3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRo" + + "IGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5l" + + "ZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2Rv" + + "Y3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBv" + + "biBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5z" + + "dGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9o" + + "ZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVu" + + "OiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8g" + + "dmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFs" + + "aWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNv" + + "bmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBz" + + "byB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRh" + + "dG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmll" + + "ZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRo" + + "ZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8Cnwg" + + "YGNsdXN0ZXItdmFsaWRhdG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5v" + + "dCBiZSByZWFkICguLi4pYCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMg" + + "bG9nIGNvdWxkIG5vdCBiZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9u" + + "IGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2gg" + + "dGhlIGt1YmVsZXQuIFdhcm5pbmdzIGl0IHJlcG9ydGVkIGFyZSBub3Qgc2hvd24gfCBHcmFudCBg" + + "Z2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3" + + "aXRoIHRoZSBga3ViZWN0bCBsb2dzYCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZh" + + "bGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxl" + + "ZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6" + + "Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJl" + + "cG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0" + + "ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBB" + + "bm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJh" + + "bm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNz" + + "IjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sn" + + "cyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNz" + + "IHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6" + + "IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUg" + + "YWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJ" + + "QSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0" + + "dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRv" + + "ci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVy" + + "YXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3" + + "YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzog" + + "Li4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcg" + + "Zm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBm" + + "YWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6" + + "ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwg" + + "Z2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hh" + + "dCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0" + + "aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBh" + + "cyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGlu" + + "ZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBz" + + "dGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNo" + + "ZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0" + + "aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0g" + + "cmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFu" + + "IGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQg" + + "dGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAg" + + "ZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQg" + + "YGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhl" + + "bG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDog" + + "YDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5v" + + "IHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1l" + + "IGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVp" + + "bnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0" + + "bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJn" + + "cyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRg" + + "LiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxz" + + "byBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8g" + + "SGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2Vz" + + "IHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAg" + + "ZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZp" + + "cm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBj" + + "aGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBn" + + "YXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBh" + + "cmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFu" + + "ZS1zdGFja2Agb3IgYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ss" + + "IGdhdGVzIGNvbWUgZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBg" + + "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sYDsgb3RoZXJ3aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2Fp" + + "LXNjaGVkdWxlcmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVp" + + "YCBvZmYgfCBQb2ludCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJv" + + "bSBhbmQgcGFzcyB0aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNl" + + "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAo" + + "aW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3Qg" + + "cGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAt" + + "LW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIg" + + "YWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUg" + + "c2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNm" + + "LWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyBy" + + "ZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9l" + + "c24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + + "ZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxs" + + "IC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + + "fCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0" + + "ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFz" + + "czsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYElu" + + "dmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBX" + + "cm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJn" + + "cHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJl" + + "Z2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21w" + + "dXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0" + + "eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwK" + + "fCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmlu" + + "ZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZh" + + "YTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1j" + + "bGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFn" + + "ZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1" + + "c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2Ug" + + "aW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMj" + + "IENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0" + + "MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1" + + "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIg" + + "SUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVz" + + "aCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVy" + + "IElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBj" + + "b21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVy" + + "IHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFj" + + "a09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcg" + + "bWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQg" + + "PHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kg" + + "c3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xk" + + "LWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBg" + + "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0" + + "cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + + "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNz" + + "aW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVz" + + "aW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnkt" + + "Y3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + + "bGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdh" + + "dGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFs" + + "cyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWlu" + + "KSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMg" + + "fCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiBy" + + "b2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkg" + + "fApQSwcISUWbZ48gAACPIAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5k" + + "IG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21w" + + "dXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + + "ZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwg" + + "c2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBp" + + "bnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNv" + + "bnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1o" + + "b3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50" + + "czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5z" + + "ZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8" + + "IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcg" + + "Y2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + + "aGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFu" + + "YWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5l" + + "LCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRv" + + "b2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFs" + + "OiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + + "bnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2Vk" + + "LCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNs" + + "aS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5n" + + "dWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0" + + "bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdl" + + "ZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBj" + + "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0" + + "cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93" + + "biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVh" + + "ZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + + "Lm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3Ig" + + "dGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBp" + + "bnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wt" + + "cGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVu" + + "dHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBk" + + "b3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyBy" + + "ZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + + "b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFu" + + "ZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNw" + + "bGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRl" + + "eHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMg" + + "TXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lv" + + "biAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBp" + + "bmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11" + + "c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFu" + + "ZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMg" + + "aGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBg" + + "CgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1s" + + "YCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fu" + + "b25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9u" + + "dmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxv" + + "dwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1v" + + "biBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1s" + + "ICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52" + + "Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFs" + + "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNo" + + "YXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + + "ICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5s" + + "aW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDog" + + "YGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRv" + + "IGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCBy" + + "ZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBl" + + "bnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtP" + + "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVl" + + "cykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQg" + + "aW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNo" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "ZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5H" + + "QyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRz" + + "LCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJl" + + "bmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4K" + + "CiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBk" + + "b2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBO" + + "R0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + + "byB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0" + + "ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIg" + + "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + + "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgoj" + + "IEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291" + + "bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVn" + + "aXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9y" + + "ZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9y" + + "Z3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRo" + + "ZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + + "aW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBv" + + "dmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZh" + + "aWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUg" + + "YXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNo" + + "YXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBs" + + "b2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBv" + + "ciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIg" + + "YGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVk" + + "IGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9y" + + "IGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJv" + + "bSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoK" + + "SWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNs" + + "dXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0" + + "IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + + "dGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3Rh" + + "Y2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0" + + "aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAg" + + "YGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + + "aXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBv" + + "c2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUg" + + "aGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICBy" + + "ZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhh" + + "cyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kg" + + "Y2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8v" + + "Li4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNo" + + "YXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0" + + "b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBu" + + "b3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAg" + + "ID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sg" + + "YXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJ" + + "OiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxt" + + "IHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+" + + "YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJj" + + "ZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3Rl" + + "ciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9k" + + "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBu" + + "bwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVz" + + "cGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNw" + + "YWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + + "IGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + + "ci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFw" + + "aSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rp" + + "b24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBj" + + "cmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhl" + + "IHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9y" + + "ZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9t" + + "YWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRv" + + "bWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + + "YW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZ" + + "X0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5" + + "LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + + "ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3Ru" + + "YW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVy" + + "bWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYt" + + "bWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0" + + "aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGds" + + "b2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwg" + + "YW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIg" + + "YmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9B" + + "RERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21h" + + "aW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24u" + + "IFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJl" + + "dmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNz" + + "YW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9j" + + "dW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEg" + + "Y2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + + "c3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQg" + + "ZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBC" + + "YWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fz" + + "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxU" + + "X0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxl" + + "IGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3Ig" + + "fCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwt" + + "LS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9w" + + "ZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkt" + + "a2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdh" + + "eSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUt" + + "MTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8" + + "IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFi" + + "aWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJh" + + "dGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4g" + + "RW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2Fi" + + "bGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9z" + + "dG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJ" + + "IGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJh" + + "Y3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJl" + + "bGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFu" + + "ZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYg" + + "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmly" + + "b25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdh" + + "eToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1" + + "bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZh" + + "bml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5k" + + "IHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdg" + + "LiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9t" + + "YWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUg" + + "c3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29u" + + "ZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNl" + + "LCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + + "eSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0" + + "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZh" + + "bml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1" + + "cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9o" + + "ZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJ" + + "LCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4g" + + "VGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMj" + + "IyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + + "dXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + + "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + + "RiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250" + + "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0" + + "aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhl" + + "bnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBl" + + "bmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZl" + + "cmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWkt" + + "YWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3Rh" + + "Y2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFu" + + "ZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29t" + + "cHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFy" + + "YXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHBy" + + "b2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4g" + + "cnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBu" + + "b3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29t" + + "bWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJk" + + "b3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFu" + + "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNh" + + "bWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25s" + + "eSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxl" + + "IHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwg" + + "YGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2Vydmlj" + + "ZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBg" + + "dmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGlu" + + "Z3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFs" + + "c28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVw" + + "IHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFz" + + "ZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3Ig" + + "bmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ks" + + "IGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5" + + "IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNl" + + "IHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5k" + + "YXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "ZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2" + + "YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3Jl" + + "LW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xz" + + "aXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + + "VmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtl" + + "eXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJh" + + "LnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoK" + + "IyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxl" + + "YXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxv" + + "Y2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + + "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + + "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + + "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + + "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + + "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + + "YGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVu" + + "Y3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBs" + + "YXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1w" + + "bGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUg" + + "cmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMg" + + "SW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0" + + "eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxv" + + "dyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3Jt" + + "YXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3Rz" + + "dHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0t" + + "LXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52" + + "Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3Jl" + + "YXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRv" + + "IGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3Jl" + + "dHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNy" + + "ZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0Vf" + + "UFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2Vz" + + "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGAp" + + "IHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxk" + + "cyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgi" + + "JG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3Jl" + + "ZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRo" + + "ZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhf" + + "QkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRv" + + "Y2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMg" + + "YSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZl" + + "cmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNv" + + "bmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9r" + + "ZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + + "c2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0g" + + "V3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMK" + + "PiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1h" + + "dCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxs" + + "IGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mg" + + "b2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3" + + "cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBp" + + "cyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRo" + + "b3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRv" + + "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0" + + "IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0i" + + "JEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZv" + + "ciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1" + + "YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1" + + "cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hl" + + "biBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + + "ZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZj" + + "ci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50" + + "LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAo" + + "c2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3Jpbmcg" + + "ZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGlj" + + "YXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBh" + + "dGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5" + + "dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBg" + + "aW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMg" + + "d29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0" + + "aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3Rh" + + "bGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + + "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + + "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBz" + + "ZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpm" + + "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + + "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + + "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0" + + "aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1" + + "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0" + + "IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1j" + + "cmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMg" + + "U2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1" + + "c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFN" + + "IG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3Jl" + + "dCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBj" + + "aGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAg" + + "ICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + + "bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMg" + + "Q29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0t" + + "LS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3Jp" + + "emVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3Rz" + + "LCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBz" + + "ZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3Bl" + + "bkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQt" + + "YWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + + "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8g" + + "SldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBj" + + "bHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + + "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9J" + + "REMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + + "cnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNg" + + "LCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRd" + + "KHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBP" + + "T01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92" + + "ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNr" + + "ZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENh" + + "c3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + + "UkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBj" + + "aEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2Vj" + + "cmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUt" + + "c3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9k" + + "cyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3Rs" + + "IGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNl" + + "IGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxt" + + "ZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQg" + + "Ym9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + + "aWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + + "LW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3du" + + "IGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2" + + "ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVk" + + "IHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9v" + + "ayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBo" + + "b29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1h" + + "Y2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2Vj" + + "cmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8g" + + "YC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZl" + + "cyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQg" + + "ZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0" + + "IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwK" + + "fCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRj" + + "aCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0" + + "YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19S" + + "RUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMj" + + "IFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlz" + + "IGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2Uq" + + "KgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBp" + + "dCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBg" + + "YXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQg" + + "d2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29r" + + "IG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQg" + + "ZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGll" + + "bnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4K" + + "ClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0n" + + "ey5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNl" + + "bnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0" + + "aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGlu" + + "Z2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + + "cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2Nv" + + "dW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMj" + + "IEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFt" + + "cGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + + "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQg" + + "Y29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9o" + + "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVy" + + "IGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3Jl" + + "YXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2Ug" + + "ZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + + "AKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVl" + + "c3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + + "UyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRp" + + "b25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVx" + + "dWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCks" + + "IGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwg" + + "KGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRv" + + "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAi" + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0" + - "IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5" + - "IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAg" + - "ICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBz" + - "dGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVu" + - "dGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24g" + - "TlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20g" + - "TlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFs" + - "aXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdl" + - "dGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQp" + - "IGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3Ig" + - "YWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBw" + - "YXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAog" + - "ICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVz" + - "cGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9u" + - "bHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2Yt" + - "YmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24g" + - "d2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxs" + - "IGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1" + - "c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcg" + - "aXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZs" + - "b3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + - "ZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJM" + - "IGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5l" + - "LCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQg" + - "d2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQg" + - "a3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFu" + - "ZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0" + - "aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "IiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJl" + - "Z2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFn" + - "ZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwg" + - "YXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwg" + - "aW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAi" + - "VGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "cmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJ" + - "T04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + - "aGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBp" + - "bnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19G" + - "SUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwg" + - "bWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhv" + - "c3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQg" + - "cmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + - "dGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBw" + - "cm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1h" + - "bmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIs" + - "CiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBk" + - "ZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2Vy" + - "IGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQg" + - "dGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + - "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZm" + - "aWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + + "dCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0g" + + "My4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZp" + + "ZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGli" + + "aWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5j" + + "IHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0" + + "IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tz" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNo" + + "ZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJl" + + "bmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWlu" + + "ZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkg" + + "ZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRl" + + "JyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZl" + + "c3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdo" + + "ZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4g" + + "d2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1" + + "bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBz" + + "dHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1" + + "c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVt" + + "b3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNs" + + "ZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1l" + + "c3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + + "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + + "b3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3" + - "aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRo" + - "dG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMg" + - "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5k" + - "cyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVl" + - "c3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3Rv" + - "cnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRo" + - "ZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8s" + - "IGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3Bw" + - "ZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxt" + - "ZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmly" + - "b25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVu" + - "ZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBh" + - "dHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVz" + - "ZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRs" + - "ZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAg" + - "InF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2Vs" + - "Zi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFt" + - "ZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVk" + - "IHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFu" + - "ZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNs" + - "dWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3" + - "ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2Vz" + - "LiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQg" + - "YW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhv" + - "dXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRp" + - "ZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVj" + - "dHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1l" + - "c3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVz" + - "cywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0" + - "ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0" + - "YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0" + - "byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5l" + - "IHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkg" + - "YW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxh" + - "bmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNl" + - "cGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBo" + - "YW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29u" + - "dHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlv" + - "biI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJl" + - "Z2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5" + - "IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZp" + - "cnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdl" + - "bmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxl" + - "dGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmln" + - "LCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFu" + - "ZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRp" + - "b24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25z" + - "dW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVz" + - "IGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1" + + "dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3Zl" + + "IHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNl" + + "IC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMi" + + "LAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + + "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + + "c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0" + + "byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAg" + + "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0" + + "ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0" + + "ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZy" + + "b20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxh" + + "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdh" + + "eSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFs" + + "bGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVn" + + "aXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNv" + + "bmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUg" + + "c2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlv" + + "biB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNv" + + "bnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUg" + + "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tl" + + "X3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlf" + + "aG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBi" + + "YXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUs" + + "IE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNv" + + "bXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVf" + + "RU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + + "c3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21z" + + "X2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBN" + + "YWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tT" + + "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1" + + "aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4" + + "IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJv" + + "dGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5H" + + "QyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBu" + + "dmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIg" + + "bG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2Rv" + + "Y2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + + "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3" + + "b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBi" + + "ZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBh" + + "dXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNz" + + "aW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0Yg" + + "aW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBh" + + "dHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52" + + "aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMg" + + "d2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + + "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5v" + + "dCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVy" + + "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + + "cGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQg" + + "c3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFn" + + "ZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVh" + + "bi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxs" + + "YXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + + "ci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJz" + + "dDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRo" + + "ZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3Vy" + + "IGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhh" + + "bmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBh" + + "IHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhl" + + "bG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + + "ZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0" + + "ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3Rl" + + "bSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikg" + + "d2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcg" + + "YmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3Rh" + + "Z2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5n" + + "cmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAi" + + "QWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVk" + + "IGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhh" + + "Y3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1p" + + "eCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdv" + + "cmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250" + + "cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0" + + "ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4g" + + "SXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVh" + + "Y2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBz" + + "dWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2Vk" + + "IHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0" + + "byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + + "IGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + + "LS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwg" + + "YW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25m" + + "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + + "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVl" + + "cywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "a2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlk" + + "IG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlv" + + "biI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1v" + + "cnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVy" + + "ZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhl" + + "IGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFs" + + "LnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBh" + + "Ym91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUg" + + "YXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBp" + - "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUg" + - "cmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "LCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUg" + - "cmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVz" + - "dGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAg" + - "IlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAi" + - "VGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFu" + - "ZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHBy" + - "b2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUg" + - "dmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlk" + - "ZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBr" + - "ZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGgg" + - "aGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdp" + - "dGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNy" + - "ZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBn" + - "b3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBl" + - "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + - "VGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVs" + - "ZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6" + - "IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBh" + - "bmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJp" + - "ZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2Ug" + - "Z290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + - "IGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdp" + - "dGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMi" + - "LAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBO" + - "QVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9u" + - "bHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4g" + - "dGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBs" + - "b3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4g" + - "ZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1" + - "bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVy" + - "ZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNh" + - "c3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXpl" + - "ZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZl" + - "cmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNh" + - "dXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2Vk" + - "IGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0" + - "IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMs" + - "IG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZp" + - "eC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9k" + - "ZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2Qn" + - "IHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNo" + - "ZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2Ui" + - "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNw" + - "ZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + - "aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVz" + - "dGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBt" + - "eSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5n" + - "IE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBF" + - "bnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3" + - "YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3Jr" + - "ZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBO" + - "VkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBp" + - "c3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBh" + - "bmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMu" + - "IEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + - "ZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0" + - "aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBu" + - "dmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5j" + - "b250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFt" + - "ZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBh" + - "Z2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNT" + - "ZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1Nl" + - "cnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwg" + - "QVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3Mu" + - "Z2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3Jr" + - "ZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + - "aWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVl" + - "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVy" + - "eS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUt" + - "R2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGlj" + - "bXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNT" + - "ZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJM" + - "LCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92" + - "ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBs" + - "aXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNy" + - "ZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUg" + - "Y2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNw" + - "bGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNo" + - "b3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmly" + - "bWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJv" + - "eWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJl" + - "Y29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29u" + - "dHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJl" + - "c2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVm" + - "ZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNl" + - "IG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGlu" + - "ZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBu" + - "YW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3Bh" + - "Y2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0" + - "YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXBy" + - "ZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVk" + - "IHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fu" + - "bm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4" + - "cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVy" + - "ZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwg" + - "cGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIg" + - "dGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21w" + - "dXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtl" + - "ZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAi" + - "QWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUg" + - "d2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9u" + - "IiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9s" + - "IHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2" + - "YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0" + - "aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + - "b24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVy" + - "c2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlk" + - "ZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5h" + - "Z2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhl" + - "IEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJv" + - "dGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyBy" + - "ZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVh" + - "cmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1" + - "c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0" + - "cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVl" + - "cnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + - "dmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0" + - "ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1" + - "c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250" + - "ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIs" + - "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1" + - "dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJl" + - "Z2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMt" + - "cHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmly" + - "b25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1m" + - "aWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFN" + - "TCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmll" + - "ZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtl" + - "eXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJl" + - "bGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBn" + - "bG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRo" + - "cm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3Jh" + - "Z2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVk" + - "IHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxp" + - "bmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2" + - "YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0" + - "IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBk" + - "ZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5n" + - "bGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlv" + - "biBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxs" + - "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQs" + - "IGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCBy" + - "ZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2Vz" + - "IHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQu" + - "IEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1" + - "aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0" + - "IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9y" + - "IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVk" + - "ZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUg" + - "Zm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBs" + - "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVz" + - "aGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcg" + - "aW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJp" + - "ZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25z" + - "LmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAi" + - "VGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAx" + - "IGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0" + - "ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBs" + - "aW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBm" + - "b3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1" + - "bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWlu" + - "dGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhl" + - "IGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQg" + - "d29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVk" + - "IHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNv" + - "bXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVk" + - "IG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQg" + - "dmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRU" + - "UFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2Vj" + - "dXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAi" + - "cXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9y" + - "IHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dl" + - "ciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVs" + - "b3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2Fs" + - "LWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50" + - "IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwg" + - "YW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBw" + - "cm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMi" + - "LAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVu" + - "dCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxs" + - "IgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAv" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCm" + - "zhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNj" + - "ZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhl" + - "IGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5z" + - "dGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBv" + - "ZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNl" + - "cyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJl" + - "IGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4" + - "ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBT" + - "dGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRv" + - "IHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBg" + - "YHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fz" + - "c2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVu" + - "ZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJp" + - "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + - "bAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgog" + - "ICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAg" + - "cmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1p" + - "CmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAv" + - "Y2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRl" + - "ci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJj" + - "ZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNG" + - "IGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVh" + - "ZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3" + - "aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRp" + - "cmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3Ry" + - "eSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmly" + - "b25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + - "CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9z" + - "aXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVw" + - "b3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxs" + - "eSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5p" + - "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4g" + - "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAg" + - "MzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdD" + - "X0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + - "Z2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRz" + - "IFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + - "b2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAg" + - "LS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoK" + - "IyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFk" + - "ZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVh" + - "c2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMu" + - "eWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4w" + - "CiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5" + - "c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + - "bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VO" + - "ViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAg" + - "ICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUg" + - "W3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkg" + - "Zm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFt" + - "ZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3Jl" + - "dCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3Ig" + - "aXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMp" + - "LgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0" + - "ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3Vw" + - "cG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9k" + - "cyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBi" + - "YXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwK" + - "ICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8K" + - "ICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZp" + - "Y2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6" + - "IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFs" + - "bApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RU" + - "aW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxs" + - "ZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJk" + - "b3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5l" + - "ZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUg" + - "c3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBk" + - "ZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + - "SWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0" + - "ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2lu" + - "Zy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6" + - "IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5j" + - "YUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + - "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0" + - "IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZj" + - "Zi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQg" + - "PGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1p" + - "ZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZl" + - "cnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFu" + - "ZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0" + - "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + - "c2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2Vy" + - "IGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + - "dGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + - "LiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + - "ZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNl" + - "LiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBw" + - "cm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRv" + - "IG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + - "b25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBs" + - "YW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0" + - "OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxk" + - "eW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMg" + - "fCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNp" + - "cyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6" + - "IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNL" + - "SUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRv" + - "ZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZy" + - "b20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQg" + - "R2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcg" + - "ZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRF" + - "V0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "Z2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRo" + - "PSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIK" + - "YGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktl" + - "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMg" + - "dW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3Ru" + - "YW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAs" + - "IHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApE" + - "TlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdB" + - "WV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVw" + - "bG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNl" + - "IG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRz" + - "U2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFu" + - "ZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVu" + - "Y2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRo" + - "ZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpm" + - "b3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkg" + - "Ym90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUgg" + - "Ikhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRl" + - "d2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNh" + - "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7" + - "LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMg" + - "RXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBv" + - "ciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVw" + - "bG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sg" + - "c3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAt" + - "biBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERl" + - "cGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJl" + - "bmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGBy" + - "ZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2Vy" + - "dmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGlu" + - "dm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJl" + - "dmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVu" + - "IGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFj" + - "ayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5" + - "R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFj" + - "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFi" + - "bGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhl" + - "IExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxt" + - "LWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxt" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZh" + - "bml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJl" + - "bGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1u" + - "dmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNs" + - "dWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBy" + - "ZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFt" + - "ZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBh" + - "ZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBU" + - "YXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgC" + - "Uk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRy" + - "b2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0" + - "aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNv" + - "bXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRo" + - "ZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUK" + - "d2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZs" + - "b3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0" + - "aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wt" + - "cGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1" + - "ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0" + - "ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0" + - "ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBD" + - "TEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cg" + - "ZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93" + - "IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1" + - "c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1" + - "YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUg" + - "VmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxs" + - "YXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0" + - "ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3Ry" + - "eSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBO" + - "QVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBF" + - "eGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRv" + - "LWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVu" + - "dm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hl" + - "cyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFu" + - "ZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1" + - "c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMu" + - "IEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3" + - "YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNv" + - "bHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+" + - "IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0" + - "ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGku" + - "PGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3" + - "YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3Mu" + - "PGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9j" + - "YXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6" + - "ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0" + - "ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAg" + - "ICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6" + - "IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFj" + - "ZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkK" + - "ICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5h" + - "dHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5h" + - "YmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9t" + - "YWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJd" + - "CiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25z" + - "OgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAoj" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1s" + - "Cmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZp" + - "Y2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhl" + - "YWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVS" + - "TDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRl" + - "ck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48" + - "Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxh" + - "bmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + - "X0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklH" + - "X0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcg" + - "dGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkK" + - "Y29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3Vy" + - "bDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlf" + - "a2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJo" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4i" + - "CmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDog" + - "Imludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRv" + - "bWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBh" + - "IFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29t" + - "bWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0" + - "aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9y" + - "IENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3Rh" + - "bGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + - "LW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwK" + - "ICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+" + - "IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9" + - "PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + - "PTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0" + - "aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCklu" + - "IGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJl" + - "ZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxv" + - "eW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMg" + - "YWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhl" + - "IENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUg" + - "Y29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xp" + - "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + - "XAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFs" + - "bCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVz" + - "dCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0" + - "ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + - "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdp" + - "c3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + - "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAog" + - "IC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3Mg" + - "aW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0" + - "ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5k" + - "cG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQ" + - "dWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFt" + - "ZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEt" + - "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + - "dC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQg" + - "b25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwu" + - "aW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBj" + - "aGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0" + - "IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29u" + - "dHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtw" + - "dWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0" + - "aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdh" + - "eSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3lt" + - "ZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNv" + - "bnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2Vj" + - "cmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lz" + - "dGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhh" + - "bmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZs" + - "aWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZl" + - "IHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVy" + - "bmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4g" + - "aW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRh" + - "ZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBs" + - "YW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + - "IGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxl" + - "dGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3Ry" + - "YXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVS" + - "X05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxj" + - "b25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1y" + - "ZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1p" + - "c3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJt" + - "YXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5k" + - "IGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0" + - "aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJl" + - "Y29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAg" + - "SEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3Vi" + - "ZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJl" + - "IHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNw" + - "YWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUg" + - "Zmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVj" + - "YXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJl" + - "Z2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoK" + - "CmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8" + - "ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0" + - "YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAg" + - "LS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUg" + - "bGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNN" + - "Uywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93" + - "IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMg" + - "dGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRo" + - "ZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92" + - "YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUg" + - "c2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + - "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + - "cy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25m" + - "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1j" + - "b250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxj" + - "b21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVw" + - "ZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRo" + - "YXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVz" + - "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJl" + - "bWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQF" + - "AAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBm" + - "aXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sg" + - "U3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2Vz" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNw" + - "YWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMK" + - "aGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5n" + - "IGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScu" + - "bGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywg" + - "Y29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9t" + - "cwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNU" + - "QVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAg" + - "ICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdl" + - "ICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdu" + - "b3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgoj" + - "IENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0" + - "IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3Bl" + - "YyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBp" + - "ZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2Eg" + - "PHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9" + - "JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3Jl" + - "YXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdD" + - "X0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVu" + - "PWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQg" + - "ZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBp" + - "bWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVs" + - "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBv" + - "cnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1h" + - "cGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBv" + - "ZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBj" + - "cmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJl" + - "Y3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6" + - "MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNr" + - "IGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAg" + - "ICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2" + - "Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERp" + - "YWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVj" + - "dG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1" + - "YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0" + - "aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3Bl" + - "bkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVy" + - "LTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBw" + - "b2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQt" + - "aW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hl" + - "Y2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBl" + - "dGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVu" + - "cyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5" + - "bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5h" + - "bWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5" + - "c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBg" + - "YAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNr" + - "IHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0" + - "ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAq" + - "KmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8g" + - "a25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgog" + - "ICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1" + - "Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgv" + - "and0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBw" + - "dWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlz" + - "c3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNp" + - "Z25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVy" + - "eSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAg" + - "YW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2" + - "aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + - "cnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1" + - "ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5k" + - "CiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5" + - "IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoK" + - "CiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAj" + - "ICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3Vi" + - "ZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25z" + - "CiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1z" + - "ZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cg" + - "YFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVu" + - "aWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86" + - "CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0" + - "ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhl" + - "IGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkg" + - "YWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNh" + - "bm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVy" + - "ZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + - "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEg" + - "ICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdy" + - "ZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNv" + - "dXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRd" + - "KC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAg" + - "ICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAg" + - "IHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpO" + - "b3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2Fu" + - "ZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6" + - "IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAg" + - "ICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAg" + - "IFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBD" + - "aGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9k" + - "ZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZp" + - "bml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1v" + - "cnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMK" + - "CjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4g" + - "ZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ct" + - "bGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoq" + - "OiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBz" + - "dG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sg" + - "bm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUt" + - "bmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJl" + - "OiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVs" + - "bSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVu" + - "bmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24n" + - "dCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxt" + - "IGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0" + - "IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6" + - "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJl" + - "bGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxl" + - "dGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNw" + - "YWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6" + - "IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVw" + - "bG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFw" + - "IGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBq" + - "b2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8t" + - "ZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291" + - "bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52" + - "Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMj" + - "IENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRp" + - "YWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46" + - "QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNo" + - "CiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0" + - "X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFw" + - "aS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJl" + - "YWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlD" + - "cmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRo" + - "ZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2Yg" + - "JiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0" + - "ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVh" + - "dGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNB" + - "IENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUg" + - "Y2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFz" + - "aAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBu" + - "dmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMg" + - "b25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0" + - "ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZC" + - "YWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + - "OgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwg" + - "LS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24g" + - "fCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0" + - "YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIl" + - "JS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRj" + - "aCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRh" + - "dGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZv" + - "cmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMK" + - "Zm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250" + - "ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2" + - "L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwg" + - "LS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkv" + - "djEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMj" + - "IEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9t" + - "cwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0" + - "b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFk" + - "eToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + - "IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9y" + - "CmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhl" + - "IGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHBy" + - "b2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0" + - "YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRv" + - "ZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGls" + - "bCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJh" + - "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJh" + - "dG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Z2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3Ry" + - "eSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1v" + - "cGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3Rl" + - "bWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxs" + - "LXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBG" + - "YWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMg" + - "dGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdh" + - "eSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBh" + - "IG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52" + - "Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + - "cmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFw" + - "aS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZ" + - "X0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNw" + - "bGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2" + - "YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCBy" + - "b3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMK" + - "b3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywg" + - "dXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVn" + - "aXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5k" + - "b2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJv" + - "bS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2Vy" + - "dmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3" + - "aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0t" + - "LS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fz" + - "c2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwg" + - "aW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxs" + - "bS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlz" + - "LCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8Cnwg" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIp" + - "IHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7" + - "tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbO" + - "EiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBg" + - "YmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEt" + - "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAg" + - "fC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVz" + - "cwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0" + - "YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAg" + - "ICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0g" + - "PGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMK" + - "fC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNp" + - "dGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5n" + - "b3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hh" + - "cnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAg" + - "fC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVu" + - "Y3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNh" + - "LW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8K" + - "fCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFs" + - "bCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBl" + - "ci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAg" + - "ICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpU" + - "aGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4" + - "dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmls" + - "ZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBj" + - "b250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0" + - "aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVs" + - "ZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0" + - "IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0t" + - "LS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8" + - "Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0" + - "ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwg" + - "aGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2Vz" + - "IGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3Jv" + - "dXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxl" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBh" + + "Z2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJj" + + "ZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVk" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2Nr" + + "IChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQg" + + "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHBy" + + "ZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3Jl" + + "IGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3Rp" + + "dmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBO" + + "VkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0" + + "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUg" + + "c2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0" + + "aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwg" + + "Y2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlk" + + "ZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3Jv" + + "dXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYi" + + "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2Zm" + + "IHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRv" + + "IGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3Ig" + + "cHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFu" + + "ZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3Jl" + + "dCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHBy" + + "b3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMi" + + "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxs" + + "U2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJU" + + "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZp" + + "YyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFu" + + "ZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1" + + "dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52" + + "b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNy" + + "ZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRy" + + "b2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNl" + + "dCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2Nh" + + "bCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywg" + + "YW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBi" + + "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwg" + + "cGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJM" + + "cyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkg" + + "aW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXkt" + + "c3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRl" + + "d2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1n" + + "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNm" + + "U2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RT" + + "ZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhl" + + "IGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBu" + + "dmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + + "Lm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdy" + + "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + + "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5j" + + "bHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJl" + + "ZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5h" + + "dHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1" + + "bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJU" + + "aGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9y" + + "IGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rp" + + "b24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + + "ZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + + "cHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93" + + "IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUg" + + "Y2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJv" + + "dGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + + "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + + "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + + "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + + "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + + "ZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + + "IFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + + "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + + "aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFs" + + "dWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUg" + + "cmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBu" + + "b3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + + "ZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQg" + + "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJh" + + "biBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250" + + "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRl" + + "IGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxv" + + "dyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250" + + "cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3Vs" + + "ZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0" + + "aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + + "ZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBh" + + "biBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVk" + + "IGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Np" + + "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHBy" + + "ZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + + "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + + "aXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFr" + + "ZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwK" + + "ICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFs" + + "IGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0" + + "byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBw" + + "bGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9u" + + "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + + "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + + "ICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVu" + + "diwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFu" + + "LW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1" + + "bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + + "bGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRl" + + "ZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkg" + + "aWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + + "biAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxp" + + "bmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + + "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + + "cnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2Uu" + + "eWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxp" + + "bmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxp" + + "Y2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJl" + + "IHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50" + + "IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1" + + "ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9u" + + "IGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQg" + + "SGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0" + + "aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUg" + + "TExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRo" + + "ZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + + "Y29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + + "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0" + + "aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + + "Y2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQu" + + "c3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3" + + "aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3Ig" + + "cHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + + "IGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExM" + + "TSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5k" + + "IGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5l" + + "bmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91" + + "dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMg" + + "dG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + + "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24g" + + "aG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlD" + + "SW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJu" + + "ZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25t" + + "ZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBo" + + "YW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9u" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVz" + + "dC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBp" + + "bmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5F" + + "Ry1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYg" + + "Y2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVs" + + "bCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlz" + + "IGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBu" + + "dmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdl" + + "ZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1" + + "aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVw" + + "bG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVj" + + "aWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9w" + + "cmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQg" + + "b24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fz" + + "c2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBj" + + "YXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoK" + + "UHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRp" + + "b246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2su" + + "CgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNz" + + "LWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwg" + + "fCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAx" + + "LWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZh" + + "dGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVs" + + "bWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + + "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + + "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + + "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + + "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2Vz" + + "OgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1v" + + "cnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAg" + + "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9y" + + "ZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + + "YwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3Qg" + + "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + + "aXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBO" + + "R0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0" + + "YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQg" + + "b2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0" + + "ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5" + + "OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdp" + + "c3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAy" + + "OiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFz" + + "aApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0" + + "cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "YXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + + "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "YXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8g" + + "aGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3Jl" + + "dHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZp" + + "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + + "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + + "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + + "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + + "ICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAt" + + "IG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2Ug" + + "YXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + + "dGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFy" + + "dHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBj" + + "b21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0" + + "Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7" + + "IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0i" + + "Om1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAg" + + "J3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpk" + + "b25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + + "IC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0g" + + "XAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNo" + + "b3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMg" + + "RXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50" + + "IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ry" + + "b3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + + "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFs" + + "aXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1k" + + "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5h" + + "bGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVh" + + "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "LgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElD" + + "TVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + + "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + + "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQg" + + "c3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVz" + + "dHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJg" + + "IG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHBy" + + "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5" + + "IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIg" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9" + + "PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9y" + + "bXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBg" + + "a3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNh" + + "fG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + + "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVt" + + "cHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtD" + + "bGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0" + + "dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMg" + + "RXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNl" + + "cGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVj" + + "cmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBl" + + "bmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + + "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + + "dCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJl" + + "Y3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + + "IGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9y" + + "IHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCou" + + "aW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3Jhcnkg" + + "ZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBh" + + "bmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVh" + + "ZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3" + + "YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNv" + + "bnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVW" + + "YWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4g" + + "YW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGlu" + + "c3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUK" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMu" + + "CgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJh" + + "cGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdB" + + "WV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAt" + + "QQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + + "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + + "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + + "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + + "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + + "b3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMK" + + "ClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3Vy" + + "YXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0" + + "ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + + "CgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0t" + + "LS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBj" + + "YXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBh" + + "cGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFw" + + "aSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5k" + + "IGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5" + + "LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + + "ZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNm" + + "LXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + + "ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0" + + "ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxl" + + "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + + "QVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRl" + + "d2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0" + + "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVp" + + "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0" + + "ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFz" + + "ZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSBy" + + "ZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + + "LWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFy" + + "YXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3Rl" + + "ciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJl" + + "bG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBD" + + "TEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBD" + + "aG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2lu" + + "dHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVl" + + "cyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + + "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVy" + + "YXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBp" + + "cyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3Jl" + + "ZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0" + + "b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGlu" + + "Zy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50" + + "IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwg" + + "ZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + + "bXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFi" + + "bGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25p" + + "Y2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNm" + + "L3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52" + + "aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0" + + "ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBp" + + "bgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNl" + + "cnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5M" + + "QiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNl" + + "cnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21h" + + "aW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNl" + + "VVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJM" + + "OiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2Vydmlj" + + "ZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6" + + "ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDog" + + "Imh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2" + + "aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToK" + + "ICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6" + + "OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVu" + + "dm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZj" + + "Zi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBu" + + "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAg" + + "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAg" + + "ICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAg" + + "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + + "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoK" + + "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoK" + + "b3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVk" + + "OiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFu" + + "YWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAg" + + "ICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAg" + + "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRz" + + "SG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGlu" + + "c3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFr" + + "ZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + + "CgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVh" + + "dGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoK" + + "CmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tl" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5" + + "LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAi" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1k" + + "b21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19o" + + "b3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0" + + "bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRv" + + "IHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4g" + + "dGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8g" + + "YC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0" + + "ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAg" + + "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNU" + + "RVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9D" + + "TEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1j" + + "bGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVn" + + "aXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNP" + + "TkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIElu" + + "IGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRo" + + "ZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkg" + + "UHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0" + + "IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRp" + + "b246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAt" + + "LW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + + "cmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkg" + + "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + + "CiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + + "IC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + + "YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVz" + + "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBz" + + "ZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRw" + + "b2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5v" + + "dCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBl" + + "bmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFu" + + "ZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0" + + "OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4" + + "dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5j" + + "ZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxh" + + "bmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9w" + + "ZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVy" + + "IG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBv" + + "bGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoj" + + "IyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3Bh" + + "Y2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZv" + + "eS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + + "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + + "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + + "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + + "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + + "eSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3du" + + "CgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBj" + + "b250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5l" + + "LCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhl" + + "IGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0" + + "aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIg" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5n" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + + "b3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2" + + "ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8" + + "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + + "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNh" + + "SURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + + "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0" + + "ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVh" + + "dApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNs" + + "dXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJ" + + "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + + "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQg" + + "YEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ry" + + "b3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4K" + + "CkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0" + + "ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZp" + + "cnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0" + + "ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + + "YWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdp" + + "c3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25s" + + "eWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUg" + + "cGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92" + + "YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBk" + + "b3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcg" + + "YW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + + "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0t" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1" + + "dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8" + + "Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + + "LWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + + "PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24g" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + + "IEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRz" + + "IElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1" + + "c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVz" + + "IGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMg" + + "YWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2Rz" + + "IGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4K" + + "CiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3Qg" + + "dXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZp" + + "YyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVs" + + "bEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNU" + + "QVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIElt" + + "YWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0" + + "CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRo" + + "b3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMg" + + "ZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwg" + + "Z3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUg" + + "bmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+Cgoj" + + "IENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + + "bFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNl" + + "Y3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRo" + + "PSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2lu" + + "ZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNw" + + "YWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQq" + + "KjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxt" + + "ZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4g" + + "KipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZv" + + "Y2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFj" + + "Y291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + + "dHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCBy" + + "ZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAt" + + "biA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBg" + + "YGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9t" + + "cwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNo" + + "Ck5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMg" + + "ICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAg" + + "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2" + + "YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMg" + + "Q2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENo" + + "ZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVs" + + "dC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQt" + + "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5l" + + "ciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBv" + + "ZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3Vl" + + "cywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRu" + + "J3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0" + + "ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95" + + "CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVh" + + "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBu" + + "ZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + + "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90" + + "IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + + "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + + "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + + "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + + "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + + "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + + "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + + "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + + "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + + "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + + "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + + "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + + "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + + "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + + "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + + "LAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMg" + + "KGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAj" + + "ICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + + "YmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24g" + + "bG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAg" + + "IC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFv" + + "IEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2Vy" + + "dmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAg" + + "QUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBh" + + "a3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0" + + "aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2ln" + + "bmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0" + + "b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + + "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMj" + + "IyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92" + + "ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1w" + + "bGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5k" + + "cmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAg" + + "IG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAg" + + "bWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFi" + + "bGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVz" + + "b3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21z" + + "CgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UK" + + "Y2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMK" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24g" + + "Y2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3Qg" + + "bWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + + "IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBm" + + "b3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVj" + + "ayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9y" + + "YWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBg" + + "YmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVu" + + "dCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + + "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + + "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + + "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + + "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + + "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + + "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + + "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + + "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + + "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + + "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + + "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + + "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + + "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + + "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + + "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + + "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + + "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + + "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + + "ZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFs" + + "CiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0" + + "cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFj" + + "aGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291" + + "bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFs" + + "cyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lp" + + "bmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFt" + + "ZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlz" + + "ICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + + "YGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3lt" + + "cHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBg" + + "VGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAg" + + "VGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBg" + + "YAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFm" + + "dGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUg" + + "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRl" + + "bGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + + "bmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZj" + + "ZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVz" + + "cGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdj" + + "b250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNv" + + "bnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlw" + + "ZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01Q" + + "VVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFy" + + "aW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5k" + + "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNl" + + "ICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9" + + "IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNl" + + "IFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4v" + + "ZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBO" + + "b3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBs" + + "ZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMg" + + "YnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + + "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + + "cG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0" + + "IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3Mg" + + "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90" + + "CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBz" + + "dWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2Ny" + + "aWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJh" + + "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBg" + + "CgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2Vj" + + "cmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + + "cm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1l" + + "c3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRl" + + "LXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMj" + + "IyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4g" + + "ZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4g" + + "VGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + + "X0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21h" + + "aW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVz" + + "cyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VV" + + "UkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3Jl" + + "cCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktl" + + "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1" + + "bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZv" + + "ciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBm" + + "aWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0" + + "aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQj" + + "ZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVz" + + "ZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdo" + + "aWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZp" + + "Y2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBj" + + "YXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNl" + + "cnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rh" + + "cnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwK" + + "fCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1h" + + "cGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5" + + "IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJj" + + "ZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxl" + + "LXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMg" + + "RGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhl" + + "bG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENh" + + "c3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBO" + + "VkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + + "cGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAg" + + "IHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBl" + + "bnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1l" + + "bnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNy" + + "ZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29y" + + "ZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + + "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sv" + + "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBD" + + "b21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5n" + + "b3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRp" + + "b24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + + "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + + "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55" + + "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + + "ci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVu" + + "dHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3Jz" + + "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNl" + + "cwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50" + + "IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1w" + + "bCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0t" + + "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRz" + + "LXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJh" + + "by1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24g" + + "bmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0" + + "ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRh" + + "bmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29y" + + "ZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + + "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1u" + + "dmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNp" + + "cyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZp" + + "Y2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNl" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkg" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8" + + "IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0" + + "ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNm" + + "LWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5" + + "IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNl" + + "LWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7" + + "dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRo" + + "ZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55" + + "YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxl" + + "ZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2" + + "YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxl" + "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + - "LS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtl" + - "eXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwK" + - "fCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNl" + - "cnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwK" + - "fCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8" + - "IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnkt" + - "c2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + - "cmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0" + - "ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMg" + - "fAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52" + - "Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1p" + - "c3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5n" + - "cmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jl" + - "c3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAu" + - "IExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3" + - "aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nrczsg" + - "dGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJv" + - "eHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMg" + - "MDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3Bh" + - "Y2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChv" + - "YnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNl" + - "cnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhl" + - "IGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhl" + - "cml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEt" + - "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRp" + - "ZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlz" + - "dHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxh" + - "Y2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJl" + - "LWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxw" + - "cml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhl" + - "IGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxh" + - "dGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yt" + - "e3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdv" + - "dG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + - "X0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRl" + - "IGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + - "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + - "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUt" + - "aW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNl" + - "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMg" + - "YGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBs" + - "YC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5h" + - "bWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAg" + - "IC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5o" + - "ZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUn" + - "cyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNl" + - "ZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5" + - "OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3Mg" + - "YWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZp" + - "cm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUg" + - "cHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJp" + - "dmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJ" + - "bmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UK" + - "CiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVu" + - "di1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0" + - "IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMg" + - "Q2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2Uu" + - "KmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4q" + - "YAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3Rv" + - "cmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2Jh" + - "bC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdl" + - "LipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5p" + - "bWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xh" + - "c3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYg" + - "ZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5k" + - "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0g" + - "YG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipg" + - "Ci0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBl" + - "dGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNl" + - "cnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9i" + - "c2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJs" + - "ZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0" + - "aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1y" + - "b3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxk" + - "b21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNv" + - "bmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29u" + - "ZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBg" + - "bGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + - "ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBi" + - "ZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5h" + - "YmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJp" + - "Y3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAg" + - "cmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAg" + - "ICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6" + - "CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAg" + - "ICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlD" + - "SW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwg" + - "b3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVu" + - "dGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFn" + - "ZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3Ag" + - "dG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTog" + - "ZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRl" + - "ciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVy" + - "cywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29u" + - "ZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBl" + - "bmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGlu" + - "IHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVu" + - "IG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciBy" + - "b3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2lu" + - "Z10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFu" + - "YWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhl" + - "IHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGlt" + - "YWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lk" + - "ZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAg" + - "Y29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1y" + - "b3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEK" + - "YGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRf" + - "SU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9u" + - "ZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0" + - "aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcu" + - "CgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQs" + - "IHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNh" + - "bWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFn" + - "ZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRo" + - "ZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBB" + - "CkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBI" + - "ZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5n" + - "IExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1l" + - "dGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBv" + - "ZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQ" + - "eWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRl" + - "cGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJv" + - "dXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBu" + - "dmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1y" + - "ZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBp" + - "LWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + - "cmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwK" + - "ICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29y" + - "a2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQg" + - "Y2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNl" + - "Y3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwg" + - "c2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29t" + - "L05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9s" + - "b2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpU" + - "YXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2Ug" + - "Z3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMg" + - "QnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxh" + - "dGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kK" + - "YGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxh" + - "YmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoq" + - "AAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNG" + - "IFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBh" + - "ZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9u" + - "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMg" + - "V2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRt" + - "aW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhl" + - "IGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVh" + - "c2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVz" + - "ZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5h" + - "YmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25z" + - "OgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFu" + - "ZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBw" + - "dWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBi" + - "YXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZh" + - "dGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + - "LWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + - "CiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0" + - "b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFj" + - "ZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + - "IC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQg" + - "dGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2" + - "aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + - "YG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0" + - "ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpW" + - "ZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxl" + - "ZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0" + - "IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVp" + - "Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1" + - "cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRl" + - "ZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nl" + - "c3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkg" + - "aW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMg" + - "UmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBw" + - "cml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMg" + - "bmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQK" + - "Y29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1" + - "c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUg" + - "cmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0" + - "IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRo" + - "ZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZj" + - "YS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBB" + - "cHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhl" + - "bG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhl" + - "bG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5" + - "dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMK" + - "CmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGll" + - "bnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXIt" + - "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAt" + - "LWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + - "TkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGll" + - "bnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9j" + - "a2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRg" + - "LgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9u" + - "OiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZj" + - "Zi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6" + - "CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNo" + - "OgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAg" + - "ICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52" + - "Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAg" + - "ICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNh" + - "c3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAg" + - "LSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJn" + - "ZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAg" + - "ICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5v" + - "CiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAg" + - "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1w" + - "b2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51" + - "ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5" + - "dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2Rz" + - "LgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52" + - "Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVy" + - "YXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0n" + - "JG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1u" + - "YW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAog" + - "IGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBg" + - "CgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBg" + - "YHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMK" + - "YGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1v" + - "cGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBj" + - "cmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBg" + - "YGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBz" + - "ZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + - "bFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0" + - "aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9" + - "J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0" + - "LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxu" + - "YW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAoj" + - "IFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQi" + - "CgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rl" + - "cgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52" + - "Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJl" + - "IE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBu" + - "b2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5" + - "LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4K" + - "LSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1Ag" + - "YnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1" + - "cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBU" + - "cm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIg" + - "YXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3Jl" + - "YXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0" + - "byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQt" + - "Y29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJu" + - "byBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBv" + - "ZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBv" + - "bGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUK" + - "YGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1j" + - "cmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBg" + - "YGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3It" + - "Y3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEA" + - "ZqwR/UoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEPP7+UdDwAA" + - "HQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + - "L2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmIyQwAAMkMAAA0AAkA" + - "AAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1j" + - "bHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8AADcACQAAAAAAAAAA" + - "AAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxh" + - "bmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADH" + - "oAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNr" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA1roA" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABc4AAAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAI7vAABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAAVRkBAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAI0hAQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDl" + - "HXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + - "ZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA3idP2r1QAAK9U" + - "AAAtAAkAAAAAAAAAAAAAAFZ5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + - "ZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEASUWbZ48gAACPIAAANwAJAAAAAAAAAAAA" + - "AABpzgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGlu" + - "Zy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAGbv" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAABJSAgBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAx6gCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkS" + - "MAAAEjAAAEwACQAAAAAAAAAAAAAArNECAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAABBAgMAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAABoMwMAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAADtXQMAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAHGYDAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + - "Lm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAJF8AwAAAA==" + "LS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8" + + "IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHkt" + + "c3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJs" + + "ZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1M" + + "IG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRo" + + "ZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlB" + + "TUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRo" + + "ZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3Qg" + + "ZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRo" + + "ZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + + "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVt" + + "cGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBj" + + "aGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + + "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJp" + + "ZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBl" + + "bmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + + "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + + "ZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVy" + + "cmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGlu" + + "IGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVj" + + "aGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNl" + + "OiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGlu" + + "ZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUt" + + "aW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBs" + + "aXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2Vz" + + "dCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRl" + + "ZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdv" + + "dG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + + "YyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0g" + + "c2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAt" + + "LSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBU" + + "aHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1l" + + "cmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFy" + + "dC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNp" + + "dGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + + "YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5k" + + "cmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBg" + + "Y2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVk" + + "YCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0g" + + "YG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0" + + "cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmls" + + "ZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNw" + + "ZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFv" + + "LmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8u" + + "c2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMg" + + "U2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3Ry" + + "eSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0g" + + "YDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0" + + "aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBp" + + "bnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBk" + + "ZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0" + + "aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jl" + + "c3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRl" + + "Y2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBu" + + "b3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9k" + + "ZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAph" + + "ZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGlj" + + "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + + "ICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAx" + + "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + + "OiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAg" + + "IHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9h" + + "ZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3Vu" + + "dDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1" + + "bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkw" + + "OTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdh" + + "eSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdh" + + "eS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0Yg" + + "QVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQg" + + "b3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFu" + + "ZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + + "SUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFu" + + "ZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNl" + + "cyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpz" + + "ZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0" + + "IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + + "b2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNp" + + "bmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0" + + "aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhl" + + "IGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6" + + "CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRl" + + "Y2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBv" + + "c2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNB" + + "UlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNr" + + "IHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25m" + + "aWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2" + + "YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRy" + + "b2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1" + + "dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9u" + + "IHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + + "bWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFp" + + "biBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFs" + + "dWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdv" + + "cmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMg" + + "Y3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBk" + + "b2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUg" + + "dXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkg" + + "dGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0" + + "ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52" + + "Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3Rs" + + "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQg" + + "cG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5l" + + "cnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAK" + + "CkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0" + + "IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5k" + + "IGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlk" + + "ZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVz" + + "L3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMg" + + "SGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoK" + + "YGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1v" + + "YnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1n" + + "YXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBh" + + "IHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMg" + + "bm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + + "ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFk" + + "ZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + + "dXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + + "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + + "ZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkg" + + "d2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNr" + + "CnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250" + + "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0" + + "aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMg" + + "RW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55" + + "YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgoj" + + "IyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1l" + + "c3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVp" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlm" + + "IHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBv" + + "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + + "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBu" + + "dmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAw" + + "YC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5" + + "CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24g" + + "aXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAt" + + "biBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJs" + + "IC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + + "cmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGlu" + + "dGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4g" + + "YXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsH" + + "CDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + + "IyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5n" + + "IE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBu" + + "dmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBv" + + "ZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmln" + + "dXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQg" + + "bmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1" + + "c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMg" + + "YXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + + "c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1z" + + "eXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFs" + + "bCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + + "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + + "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJv" + + "bC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + + "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + + "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lz" + + "dHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFu" + + "ZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGlj" + + "eQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kK" + + "bWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tn" + + "cm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8t" + + "bnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoK" + + "ICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFj" + + "ZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAg" + + "ICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0" + + "ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0" + + "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAg" + + "ICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBh" + + "bm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0" + + "LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1" + + "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZl" + + "cm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBj" + + "b250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGlu" + + "c3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUt" + + "cGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmlj" + + "YXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBu" + + "ZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0" + + "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVu" + + "PWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUg" + + "ZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAg" + + "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0" + + "IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBu" + + "dmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVz" + + "cGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cu" + + "CgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBw" + + "b2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + + "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZj" + + "ci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlh" + + "XC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoK" + + "IyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + + "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBu" + + "b3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Ig" + + "b24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + + "V2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5v" + + "ZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3Ry" + + "eVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhv" + + "dXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2Vj" + + "cmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBB" + + "cnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNp" + + "bWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIElt" + + "YWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kg" + + "b25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVk" + + "LiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4g" + + "LS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + + "cyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5" + + "IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hv" + + "dWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xp" + + "Y3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRo" + + "IHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250" + + "ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYA" + + "AAAWAABQSwECFAAUAAgAAAAAACEAMK553koQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9t" + + "YW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAA" + + "AAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQAwJPmIyQwAAMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGx" + + "aZjPDwAAzw8AADcACQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8Z" + + "AACfGQAAOQAJAAAAAAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + + "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAA" + + "GCUAADcACQAAAAAAAAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "ZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAA" + + "PQAJAAAAAAAAAAAAAABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFn" + + "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYp" + + "AAA6AAkAAAAAAAAAAAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2lu" + + "c3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcA" + + "ADkACQAAAAAAAAAAAAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90" + + "YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAu" + + "AAkAAAAAAAAAAAAAAI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJk" + + "b3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA" + + "1kMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQAtAnA8NlUAADZVAAAtAAkAAAAAAAAAAAAAAFZ5AQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEASUWb" + + "Z48gAACPIAAANwAJAAAAAAAAAAAAAADwzgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + + "ZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIA" + + "AEliAAAsAAkAAAAAAAAAAAAAAO3vAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAA" + + "AAAAAJlSAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + + "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAATqkC" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAM9ICAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAA" + + "AADIAgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAA" + + "AADvMwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxt" + + "ZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJ" + + "AAAAAAAAAAAAAAB0XgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYA" + + "AD4ACQAAAAAAAAAAAAAAo2YDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + + "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAABh9AwAAAA==" var ( skillDataOnce sync.Once From 65ae89519db232fc59cc9ce627b294b61abb5070 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:36:27 +0530 Subject: [PATCH 087/127] fix(nvcf-cli): read stale-namespace gates from the stack and environment the install used Signed-off-by: rohithb --- .../reference/troubleshooting.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 116 +- .../cmd/self_hosted_check_scope_test.go | 29 + .../agentskill/skilldata_generated.go | 3766 +++++++++-------- 4 files changed, 1983 insertions(+), 1930 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index 030f088f8a..1812eab00d 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -25,7 +25,7 @@ transcript. | `stale-namespaces`: ` (Helm release mid-operation: )`, warning | An interrupted install, upgrade, rollback or teardown left the release `pending-*` or `uninstalling`. The next `up` fails on it | If no install or teardown is running, read `helm history -n `, then finish it with `helm rollback` or `helm uninstall` | | `stale-namespaces`: ` (no Helm release)`, warning | The namespace runs no workload and has no Helm release, but still holds volume claims or workload objects, as `down` leaves them. A reinstall reattaches the old volumes | Inspect only: `kubectl api-resources --verbs=list --namespaced -o name \| xargs -n1 kubectl get -n --show-kind --ignore-not-found`. An Argo CD or upstream install of a gated component also has no Helm release | | `stale-namespaces` reports `no Helm release` on a healthy install | Helm stores releases with `HELM_DRIVER=sql`, and `check` reads `HELM_DRIVER` from its own environment only, not from the helmfile environment | Export `HELM_DRIVER=sql` before `nvcf-cli self-hosted check`. With it, only Terminating namespaces are checked | -| `stale-namespaces` does not scan an addon or gated namespace | Namespaces behind a stack `condition:` are probed only when that gate is on. With `--control-plane-stack` or `--compute-plane-stack` set to a local stack, gates come from its `environments/base.yaml` and, when `--env` or `HELMFILE_ENV` names one, `environments/.yaml`; otherwise from the stack defaults, which leave `kai-scheduler`, `grove-system`, `dynamo-system` and `nvcf-ui` off | Point the stack flag at the stack you install from and pass the same `--env` | +| `stale-namespaces` does not scan an addon or gated namespace | Namespaces behind a stack `condition:` are probed only when that gate is on. Gates come from the stack the install used, found as for the [settings read from the stack](flags.md#settings-read-from-the-stack): its `environments/base.yaml` and, when `--env` or `HELMFILE_ENV` names the environment or `--pre` checks the plane before its install, `environments/.yaml`. Otherwise the stack defaults decide, which leave `kai-scheduler`, `grove-system`, `dynamo-system` and `nvcf-ui` off | Pass the `--env` the install used, and the stack flag the install used, if any | ## Auth diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 39950bda24..1cabe096fa 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -574,44 +574,67 @@ func checkedBeforeInstall(planeFlag bool) bool { // // Otherwise nothing is read, and every stack-derived input is left out. func stackValuesForRun(t stackTarget) ([]string, bool) { - env, ok := explicitStackEnv() - if !ok && t.beforeInstall { - env, ok = resolveStackEnv(), true - } + env, ok := stackEnvForRun(t) if !ok { return nil, false } - var envDirs []string + dir := stackDirForRun(t) + if dir == "" { + return nil, false + } + envFile := filepath.Join(dir, "environments", env+".yaml") + if !isRegularFile(envFile) { + return nil, false + } + var files []string + if base := filepath.Join(dir, "environments", "base.yaml"); isRegularFile(base) { + files = append(files, base) + } + return append(files, envFile), true +} + +// stackEnvForRun returns the environment the install of t's plane used, and +// false when it is not known: the one the operator named, or, before the +// install, the one up installs with. +func stackEnvForRun(t stackTarget) (string, bool) { + if env, ok := explicitStackEnv(); ok { + return env, true + } + if t.beforeInstall { + return resolveStackEnv(), true + } + return "", false +} + +// stackDirForRun returns the root of the stack the install commands resolve +// for t, or "" when it cannot be read here: the stack flag, else the built-in +// stack, as a local directory or an extracted oci:// stack; with neither, the +// first stack checkout at or above the working directory with an +// environments directory. +func stackDirForRun(t stackTarget) string { if src := cmp.Or(t.source, t.builtIn); src != "" { - dir := cmp.Or(localStackDir(src), selfhosted.ExtractedOCIStack(src)) - if dir == "" { - return nil, false - } - envDirs = []string{filepath.Join(dir, "environments")} - } else { - envDirs = checkoutEnvironmentDirs(t.name) + return cmp.Or(localStackDir(src), selfhosted.ExtractedOCIStack(src)) } - for _, dir := range envDirs { - if fi, err := os.Stat(dir); err != nil || !fi.IsDir() { - continue + for _, dir := range checkoutStackDirs(t.name) { + if fi, err := os.Stat(filepath.Join(dir, "environments")); err == nil && fi.IsDir() { + return dir } - envFile := filepath.Join(dir, env+".yaml") - if !isRegularFile(envFile) { - return nil, false - } - var files []string - if base := filepath.Join(dir, "base.yaml"); isRegularFile(base) { - files = append(files, base) - } - return append(files, envFile), true } - return nil, false + return "" +} + +// namespaceGateStack returns the stack directory and environment a plane's +// stale-namespace scan reads the gates of the stack's releases from. env is +// empty when the install's environment is not known. +func namespaceGateStack(t stackTarget) (dir, env string) { + env, _ = stackEnvForRun(t) + return stackDirForRun(t), env } -// checkoutEnvironmentDirs lists where a stack's environments directory can -// sit at or above the working directory: deploy/stacks//environments -// in a repository checkout, or environments in the stack directory itself. -func checkoutEnvironmentDirs(name string) []string { +// checkoutStackDirs lists where a stack can sit at or above the working +// directory: deploy/stacks/ in a repository checkout, or the stack +// directory itself. +func checkoutStackDirs(name string) []string { cwd, err := os.Getwd() if err != nil { return nil @@ -619,9 +642,9 @@ func checkoutEnvironmentDirs(name string) []string { var dirs []string for i, dir := 0, cwd; i < 6; i++ { if filepath.Base(dir) == name { - dirs = append(dirs, filepath.Join(dir, "environments")) + dirs = append(dirs, dir) } - dirs = append(dirs, filepath.Join(dir, "deploy", "stacks", name, "environments")) + dirs = append(dirs, filepath.Join(dir, "deploy", "stacks", name)) parent := filepath.Dir(dir) if parent == dir { break @@ -680,8 +703,7 @@ func checkScopeIsPostInstall() bool { // localStackDir returns src when it points at a readable local directory. // Remote sources (oci://, git@, https://...git, file://) are not fetched -// here: the stale-namespace check falls back to its static list rather than -// making preflight depend on a network round trip. file:// is a git source: +// here, so no check depends on a network round trip. file:// is a git source: // the install clones its committed HEAD, which the working tree can differ // from. func localStackDir(src string) string { @@ -922,10 +944,11 @@ func runPreflightByRole( } staleNSProber := newStaleNamespaceProberForSelfHosted() - // Only a named environment decides the stack's gates, as for the other - // stack values: a defaulted one may not be the install's. Without one the - // stack's base.yaml defaults decide. - stackEnv, _ := explicitStackEnv() + // Each plane's stale-namespace scan reads the gates of its stack's + // releases from the stack and environment the other stack values come + // from. Without a known environment the stack's base.yaml defaults decide. + cpStackDir, cpStackEnv := namespaceGateStack(controlPlaneStackTarget()) + gpuStackDir, gpuStackEnv := namespaceGateStack(computePlaneStackTarget()) // The control-plane validator probes the hosts the local credential check // probes, extras included, each as a warning only. @@ -983,9 +1006,9 @@ func runPreflightByRole( ClusterValidatorRegistries: registries, ValidatorCleanup: ledger, StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedControlPlaneStack), + StackDir: cpStackDir, Skipped: cpSkips, - StackEnv: stackEnv, + StackEnv: cpStackEnv, } cpResults = checkRunRole(egCtx, cpCfg, selfhosted.RoleControlPlane, rc, sink) return nil @@ -1006,9 +1029,9 @@ func runPreflightByRole( ClusterValidatorUnresolvedImage: unresolvedImage, ValidatorCleanup: ledger, StaleNamespaceProber: staleNSProber, - StackDir: localStackDir(selfHostedComputePlaneStack), + StackDir: gpuStackDir, Skipped: computeSkips, - StackEnv: stackEnv, + StackEnv: gpuStackEnv, } gpuResults = checkRunRole(egCtx, gpuCfg, selfhosted.RoleComputePlane, rc, sink) return nil @@ -1039,8 +1062,7 @@ func runPreflightByRole( if runControlPlane { staleForComputePlane = nil if runComputePlane { - cpExtraNamespaces = selfhosted.ComputePlaneStaleNamespaces( - localStackDir(selfHostedComputePlaneStack), stackEnv) + cpExtraNamespaces = selfhosted.ComputePlaneStaleNamespaces(gpuStackDir, gpuStackEnv) } } else { staleForControlPlane = nil @@ -1058,8 +1080,8 @@ func runPreflightByRole( ClusterValidatorRegistries: registries, ValidatorCleanup: ledger, StaleNamespaceProber: staleForControlPlane, - StackDir: localStackDir(selfHostedControlPlaneStack), - StackEnv: stackEnv, + StackDir: cpStackDir, + StackEnv: cpStackEnv, ExtraStaleNamespaces: cpExtraNamespaces, Skipped: cpSkips, } @@ -1079,9 +1101,9 @@ func runPreflightByRole( ClusterValidatorUnresolvedImage: unresolvedImage, ValidatorCleanup: ledger, StaleNamespaceProber: staleForComputePlane, - StackDir: localStackDir(selfHostedComputePlaneStack), + StackDir: gpuStackDir, Skipped: computeSkips, - StackEnv: stackEnv, + StackEnv: gpuStackEnv, } results = append(results, checkRunRole(ctx, gpuCfg, selfhosted.RoleComputePlane, gpuRC, sink)...) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 924b138697..19968e33ba 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -94,6 +94,35 @@ func TestCheck_StaleNamespacesFollowTheRequestedRoles(t *testing.T) { assert.Contains(t, ns, "nvca-operator", "--all scans both") } +// The stale-namespace scan reads each plane's gates from the stack the +// install used, an extracted built-in oci:// stack included, and from the +// environment the install used: prod turns kai-scheduler on here. +func TestCheck_StaleNamespaceGatesFollowTheInstallsStack(t *testing.T) { + home := t.TempDir() + t.Setenv("HOME", home) + t.Setenv("XDG_CACHE_HOME", filepath.Join(home, ".cache")) + t.Setenv("HELMFILE_ENV", "") + cache, err := os.UserCacheDir() + require.NoError(t, err) + const ref = "oci://registry.example.com/nvcf/compute-plane:1.0.0@sha256:0123456789abcdef" + extracted := filepath.Join(cache, "nvcf-cli", "stacks", "oci-0123456789ab") + envDir := filepath.Join(extracted, "environments") + require.NoError(t, os.MkdirAll(envDir, 0o755)) + for name, enabled := range map[string]string{"base": "false", "prod": "true"} { + require.NoError(t, os.WriteFile(filepath.Join(envDir, name+".yaml"), + []byte("addons:\n kaiScheduler:\n enabled: "+enabled+"\n"), 0o644)) + } + require.NoError(t, os.WriteFile(filepath.Join(extracted, ".extraction-complete"), nil, 0o644)) + t.Setenv("NVCF_CLI_DEFAULT_COMPUTE_PLANE_STACK", ref) + + ns, _ := runCheckRecording(t, "--compute-plane", "--env", "prod") + assert.Contains(t, ns, "kai-scheduler") + ns, _ = runCheckRecording(t, "--all", "--env", "prod") + assert.Contains(t, ns, "kai-scheduler", "merged into the one scan of a shared cluster") + ns, _ = runCheckRecording(t, "--compute-plane") + assert.NotContains(t, ns, "kai-scheduler", "with no environment named, base.yaml decides") +} + // A bare --pre skips SIS, which is not up before install; an explicit --all or // --compute-plane still asks for it; --control-plane never contacts it. func TestCheck_SISReachabilityScope(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 29b082f39c..2b0464a0b7 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjE5ODMsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIwODQsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -74,9 +74,9 @@ const skillDataZipBase64 = "" + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIzNTM5MGRlYzNhODBhODBi" + "YTgyMjIzODU3YTg2NWUyYmI3MTI3ZTE0ZTM4ZWFiYzY5MmFmZWU2ZDBhMTVlNGEyIiwKICAgICAg" + "InNpemUiOiAyMTgxNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImUx" + - "YTc3NzJmMWI1YjliNDJlY2JiNGZiNmU4ZDMzODQ2NTZkZGUyNmJmNWE1NDRmMGFkZTYyYzkwMWZl" + - "NjQyYjkiLAogICAgICAic2l6ZSI6IDgzMzUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImYx" + + "OTk2OGJmNDk5MDhkZWRkODJjMDJkZWE5MjVlZDAzZjkzZGI2ODY5NDIxNTMwNzI0NmQyZjNmOTYw" + + "YjA5MTQiLAogICAgICAic2l6ZSI6IDg0MzYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCDCued5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJSJSNtKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -2194,1896 +2194,1898 @@ const skillDataZipBase64 = "" + "aG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBj" + "aGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBn" + "YXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBh" + - "cmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIFdpdGggYC0tY29udHJvbC1wbGFu" + - "ZS1zdGFja2Agb3IgYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Agc2V0IHRvIGEgbG9jYWwgc3RhY2ss" + - "IGdhdGVzIGNvbWUgZnJvbSBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBg" + - "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIG9uZSwgYGVudmlyb25tZW50cy88ZW52Pi55" + - "YW1sYDsgb3RoZXJ3aXNlIGZyb20gdGhlIHN0YWNrIGRlZmF1bHRzLCB3aGljaCBsZWF2ZSBga2Fp" + - "LXNjaGVkdWxlcmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVp" + - "YCBvZmYgfCBQb2ludCB0aGUgc3RhY2sgZmxhZyBhdCB0aGUgc3RhY2sgeW91IGluc3RhbGwgZnJv" + - "bSBhbmQgcGFzcyB0aGUgc2FtZSBgLS1lbnZgIHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAo" + - "aW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3Qg" + - "cGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAt" + - "LW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIg" + - "YWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUg" + - "c2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNm" + - "LWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyBy" + - "ZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9l" + - "c24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxs" + - "IC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0" + - "ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFz" + - "czsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYElu" + - "dmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBX" + - "cm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJn" + - "cHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJl" + - "Z2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21w" + - "dXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0" + - "eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwK" + - "fCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmlu" + - "ZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZh" + - "YTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1j" + - "bGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFn" + - "ZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1" + - "c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2Ug" + - "aW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMj" + - "IENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0" + - "MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1" + - "c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIg" + - "SUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVz" + - "aCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVy" + - "IElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBj" + - "b21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVy" + - "IHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFj" + - "a09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcg" + - "bWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQg" + - "PHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kg" + - "c3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xk" + - "LWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBg" + - "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0" + - "cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + - "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNz" + - "aW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVz" + - "aW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnkt" + - "Y3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + - "bGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdh" + - "dGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFs" + - "cyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWlu" + - "KSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMg" + - "fCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiBy" + - "b2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkg" + - "fApQSwcISUWbZ48gAACPIAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5k" + - "IG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21w" + - "dXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + - "ZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwg" + - "c2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBp" + - "bnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNv" + - "bnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1o" + - "b3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50" + - "czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5z" + - "ZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8" + - "IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcg" + - "Y2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhj" + - "aGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFu" + - "YWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5l" + - "LCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRv" + - "b2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFs" + - "OiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + - "bnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2Vk" + - "LCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNs" + - "aS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5n" + - "dWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0" + - "bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdl" + - "ZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBj" + - "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0" + - "cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93" + - "biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVh" + - "ZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJl" + - "Lm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3Ig" + - "dGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBp" + - "bnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wt" + - "cGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVu" + - "dHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBk" + - "b3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyBy" + - "ZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + - "b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFu" + - "ZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNw" + - "bGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRl" + - "eHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMg" + - "TXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lv" + - "biAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBp" + - "bmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11" + - "c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFu" + - "ZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMg" + - "aGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBg" + - "CgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1s" + - "YCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fu" + - "b25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9u" + - "dmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxv" + - "dwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1v" + - "biBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1s" + - "ICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFs" + - "LnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNo" + - "YXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1s" + - "ICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5s" + - "aW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDog" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRv" + - "IGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCBy" + - "ZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBl" + - "bnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtP" + - "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVl" + - "cykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQg" + - "aW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNo" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "ZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5H" + - "QyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + + "cmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIEdhdGVzIGNvbWUgZnJvbSB0aGUg" + + "c3RhY2sgdGhlIGluc3RhbGwgdXNlZCwgZm91bmQgYXMgZm9yIHRoZSBbc2V0dGluZ3MgcmVhZCBm" + + "cm9tIHRoZSBzdGFja10oZmxhZ3MubWQjc2V0dGluZ3MtcmVhZC1mcm9tLXRoZS1zdGFjayk6IGl0" + + "cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5kLCB3aGVuIGAtLWVudmAgb3IgYEhFTE1GSUxF" + + "X0VOVmAgbmFtZXMgdGhlIGVudmlyb25tZW50IG9yIGAtLXByZWAgY2hlY2tzIHRoZSBwbGFuZSBi" + + "ZWZvcmUgaXRzIGluc3RhbGwsIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAuIE90aGVyd2lzZSB0" + + "aGUgc3RhY2sgZGVmYXVsdHMgZGVjaWRlLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBn" + + "cm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQYXNzIHRo" + + "ZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQsIGFuZCB0aGUgc3RhY2sgZmxhZyB0aGUgaW5zdGFs" + + "bCB1c2VkLCBpZiBhbnkgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + + "biB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4p" + + "IHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZj" + + "Zi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0" + + "aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhw" + + "ZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24g" + + "ZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0" + + "aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRo" + + "b3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGlu" + + "dm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2Ny" + + "aXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVk" + + "IG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBz" + + "dHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3Vi" + + "ZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05D" + + "UC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKA" + + "lCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAs" + + "IGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUg" + + "cHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwg" + + "YC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1y" + + "ZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVu" + + "diAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxh" + + "bmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJh" + + "RW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxl" + + "YXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZg" + + "IGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5" + + "OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5p" + + "by8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFu" + + "ZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9u" + + "dmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1h" + + "dGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBg" + + "Tm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJ" + + "Q01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUg" + + "SzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + + "c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZj" + + "Zi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdy" + + "b25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNr" + + "IHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9Z" + + "SU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCU" + + "IHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3Mg" + + "LW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91" + + "dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJl" + + "Z2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91" + + "cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFk" + + "ZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBh" + + "bHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBO" + + "VkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3Qu" + + "bnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVz" + + "IHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8g" + + "YWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFy" + + "dCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwi1BfOC9CAA" + + "APQgAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNG" + + "IHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBz" + + "dGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlv" + + "biBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQg" + + "dHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2Yt" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwg" + + "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQog" + + "IHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3lt" + + "ZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxv" + + "Y2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4w" + + "CmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0g" + + "Pj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNp" + + "b24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEu" + + "Y29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + + "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + + "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwg" + + "UmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0" + + "aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIK" + + "ICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBz" + + "ZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGlu" + + "c3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gs" + + "IHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjog" + + "Y2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJh" + + "dGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUg" + + "YW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNl" + + "IHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0" + + "Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1z" + + "dGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRv" + + "ZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rp" + + "b24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0" + + "aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVk" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwK" + + "YWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + + "aGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wt" + + "cGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + + "b3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5l" + + "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + + "b3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNo" + + "aW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291" + + "cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNp" + + "b24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJl" + + "bG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21t" + + "YW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + + "IyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55" + + "IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54" + + "ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBN" + + "dXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1k" + + "aWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4g" + + "MSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1" + + "biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBg" + + "YGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBl" + + "bnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRo" + + "ZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0" + + "cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBF" + + "bmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJj" + + "L2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5k" + + "aW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRp" + + "b24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRl" + + "ZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAg" + + "ICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwg" + + "ICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQog" + + "ICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0" + + "aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + + "bG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwu" + + "Z290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAo" + + "aW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRz" + + "KS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZp" + + "bGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMg" + + "bm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVz" + + "ZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVs" + + "bSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFu" + + "IEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNl" + + "Y3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkg" + + "aWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4" + + "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRz" + + "IFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + + "b2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAg" + + "LS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + + "bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFs" + + "c28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2Vl" + + "IFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhl" + + "bnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAg" + + "QU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUg" + + "dXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNy" + + "ZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNo" + + "CiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlv" + + "IC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBu" + + "dmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3Ig" + + "Z2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkg" + + "bG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48" + + "cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + + "a2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4g" + + "VGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQg" + + "ZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBu" + + "dmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRv" + + "Y2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhl" + + "IGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlz" + + "bGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2Vl" + + "ZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBm" + + "cm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhl" + + "IGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11" + + "c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBp" + + "bnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxs" + + "aW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMK" + + "PiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkg" + + "dGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9y" + + "IHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVs" + + "bCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxl" + + "LCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50" + + "ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQg" + + "c2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0" + + "aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGds" + + "b2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAg" + + "ICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJy" + + "b3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwog" + + "ICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxt" + + "aXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9D" + + "SSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3Jl" + + "CiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxy" + + "ZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gs" + + "IGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFt" + + "cGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNh" + + "bm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBt" + + "aXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJv" + + "ciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8g" + + "YWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+" + + "LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBj" + + "aGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lw" + + "IHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0" + + "ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2Fk" + + "IGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0" + + "ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNy" + + "ZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5v" + + "dCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9y" + + "IHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0" + + "ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlk" + + "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZp" + + "YSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVz" + + "dCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAo" + + "c2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJl" + + "KS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhl" + + "IGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRv" + + "ZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkg" + + "dGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1" + + "YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAt" + + "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRF" + + "V0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENs" + + "b3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2Fk" + + "IGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBE" + + "TlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjog" + + "Im52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9z" + + "dDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21h" + + "aW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0" + + "aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFu" + + "ZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUg" + + "NCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBs" + + "b3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAj" + + "IFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + + "aWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29y" + + "ZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVG" + + "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBz" + + "ZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0" + + "IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NB" + + "TkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBl" + + "dmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFs" + + "c2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2Vydmlj" + + "ZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BB" + + "U1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBv" + + "cmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwg" + + "V2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8" + + "IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2Fu" + + "ZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJ" + + "UywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25h" + + "bCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdo" + + "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMg" + + "fCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8Cnwg" + + "NCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAo" + + "aWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoK" + + "CmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5" + + "IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVs" + + "dCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0" + + "aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRp" + + "b24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + + "Y2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBh" + + "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZh" + + "bml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEg" + + "bmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYt" + + "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxl" + + "ZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0" + + "IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXku" + + "bnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5n" + + "cyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVk" + + "IGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRo" + + "ZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdl" + + "IGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBw" + + "YWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5k" + + "CmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhF" + + "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0" + + "ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + + "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkK" + + "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDog" + + "dmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpE" + + "byBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBp" + + "bnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMg" + + "YXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBO" + + "VkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + + "ZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + + "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJ" + + "Zgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + + "aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4g" + + "VGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8g" + + "bm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5h" + + "bWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0" + + "ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgoj" + + "IyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRy" + + "b2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMu" + + "IEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhh" + + "bmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1l" + + "bnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBs" + + "YW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0" + + "ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBs" + + "ZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2Ug" + + "aGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJv" + + "dXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgoj" + + "IyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + + "Y29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBz" + + "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUt" + + "cGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVs" + + "ZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBO" + + "VkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwg" + + "YGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJv" + + "eHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdh" + + "eWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0" + + "LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1" + + "ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBg" + + "Y2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0" + + "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + + "c2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1h" + + "bmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9u" + + "IHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hl" + + "dGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + + "b24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFi" + + "b3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ug" + + "d2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hp" + + "bmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1p" + + "c21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25s" + + "eSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + + "bmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24K" + + "ClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5" + + "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoK" + + "IyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsg" + + "ZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRv" + + "bmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAt" + + "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxk" + + "IHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBF" + + "bnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + + "YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2" + + "YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1m" + + "aWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4" + + "YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9g" + + "IGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBj" + + "YXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQK" + + "ICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + + "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + + "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5k" + + "cmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6" + + "ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAg" + + "ICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJn" + + "ZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVy" + + "aXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + + "bGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNl" + + "Y3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNl" + + "Y3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3Qg" + + "Y29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhl" + + "bSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6" + + "Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5" + + "IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18Cnwg" + + "UHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRh" + + "dGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1h" + + "cGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2Vy" + + "IHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8g" + + "Q2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFj" + + "Y291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAg" + + "aW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yv" + + "c2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8" + + "IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3Up" + + "IHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8" + + "a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lk" + + "ZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVt" + + "cGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VS" + + "X0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNv" + + "bi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIg" + + "YGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRy" + + "b3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxk" + + "cy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwg" + + "ZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFg" + + "LAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50" + + "LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11" + + "c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9u" + + "ZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZv" + + "cm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkg" + + "aXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAg" + + "IGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRv" + + "IHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJl" + + "LXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMn" + + "ICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZj" + + "Zi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAj" + + "IGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252" + + "Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0" + + "IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lk" + + "ZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJv" + + "bSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBw" + + "bGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVh" + + "Y2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + + "ZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBh" + + "cmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGlu" + + "dG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9t" + + "YXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25m" + + "aWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGlu" + + "ZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3Jt" + + "bHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZp" + + "bGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhl" + + "bG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhl" + + "bG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5" + + "dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNo" + + "IG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRz" + - "LCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJl" + - "bmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4K" + - "CiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBk" + - "b2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBO" + - "R0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + - "byB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0" + - "ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIg" + - "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVn" + - "aXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgoj" + - "IEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291" + - "bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVn" + - "aXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9y" + - "ZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9y" + - "Z3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRo" + - "ZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + - "aW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBv" + - "dmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZh" + - "aWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUg" + - "YXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNo" + - "YXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBs" + - "b2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBv" + - "ciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIg" + - "YGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVk" + - "IGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9y" + - "IGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJv" + - "bSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoK" + - "SWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNs" + - "dXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0" + - "IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + - "dGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3Rh" + - "Y2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0" + - "aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAg" + - "YGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVn" + - "aXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBv" + - "c2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUg" + - "aGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICBy" + - "ZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhh" + - "cyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kg" + - "Y2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8v" + - "Li4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNo" + - "YXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0" + - "b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBu" + - "b3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAg" + - "ID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sg" + - "YXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJ" + - "OiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxt" + - "IHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+" + - "YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJj" + - "ZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3Rl" + - "ciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9k" + - "ZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBu" + - "bwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVz" + - "cGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNw" + - "YWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNg" + - "IGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZj" + - "ci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFw" + - "aSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rp" + - "b24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBj" + - "cmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhl" + - "IHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9y" + - "ZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9t" + - "YWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRv" + - "bWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFs" + - "YW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZ" + - "X0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5" + - "LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + - "ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3Ru" + - "YW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVy" + - "bWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYt" + - "bWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0" + - "aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGds" + - "b2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwg" + - "YW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIg" + - "YmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9B" + - "RERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21h" + - "aW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24u" + - "IFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJl" + - "dmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNz" + - "YW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9j" + - "dW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEg" + - "Y2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQg" + - "ZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBC" + - "YWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fz" + - "c2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxU" + - "X0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxl" + - "IGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3Ig" + - "fCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwt" + - "LS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9w" + - "ZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkt" + - "a2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdh" + - "eSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUt" + - "MTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8" + - "IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFi" + - "aWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJh" + - "dGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4g" + - "RW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2Fi" + - "bGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9z" + - "dG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJ" + - "IGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + - "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJh" + - "Y3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJl" + - "bGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFu" + - "ZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYg" + - "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmly" + - "b25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdh" + - "eToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1" + - "bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZh" + - "bml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5k" + - "IHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdg" + - "LiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9t" + - "YWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUg" + - "c3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29u" + - "ZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNl" + - "LCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdh" + - "eSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0" + - "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZh" + - "bml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1" + - "cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9o" + - "ZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJ" + - "LCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4g" + - "VGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMj" + - "IyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + - "dXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + - "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + - "RiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250" + - "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0" + - "aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhl" + - "bnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBl" + - "bmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZl" + - "cmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWkt" + - "YWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3Rh" + - "Y2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFu" + - "ZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29t" + - "cHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFy" + - "YXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHBy" + - "b2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4g" + - "cnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBu" + - "b3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29t" + - "bWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJk" + - "b3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFu" + - "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNh" + - "bWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25s" + - "eSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxl" + - "IHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwg" + - "YGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2Vydmlj" + - "ZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBg" + - "dmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGlu" + - "Z3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFs" + - "c28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVw" + - "IHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5h" + - "Z2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFz" + - "ZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3Ig" + - "bmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ks" + - "IGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5" + - "IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNl" + - "IHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5k" + - "YXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "ZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2" + - "YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3Jl" + - "LW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xz" + - "aXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQg" + - "VmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtl" + - "eXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJh" + - "LnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoK" + - "IyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxl" + - "YXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxv" + - "Y2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + - "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + - "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + - "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + - "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + - "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + - "YGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVu" + - "Y3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBs" + - "YXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1w" + - "bGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUg" + - "cmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMg" + - "SW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0" + - "eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxv" + - "dyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3Jt" + - "YXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3Rz" + - "dHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0t" + - "LXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52" + - "Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3Jl" + - "YXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRv" + - "IGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3Jl" + - "dHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNy" + - "ZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0Vf" + - "UFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2Vz" + - "L252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGAp" + - "IHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxk" + - "cyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgi" + - "JG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3Jl" + - "ZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRo" + - "ZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhf" + - "QkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRv" + - "Y2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMg" + - "YSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZl" + - "cmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNv" + - "bmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9r" + - "ZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5z" + - "c2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0g" + - "V3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMK" + - "PiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1h" + - "dCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxs" + - "IGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mg" + - "b2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3" + - "cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBp" + - "cyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRo" + - "b3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRv" + - "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0" + - "IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0i" + - "JEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZv" + - "ciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1" + - "YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1" + - "cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hl" + - "biBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFn" + - "ZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZj" + - "ci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50" + - "LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAo" + - "c2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3Jpbmcg" + - "ZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGlj" + - "YXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBh" + - "dGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5" + - "dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBg" + - "aW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMg" + - "d29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0" + - "aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3Rh" + - "bGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + - "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + - "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBz" + - "ZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpm" + - "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + - "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNz" + - "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0" + - "aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1" + - "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0" + - "IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1j" + - "cmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMg" + - "U2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1" + - "c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFN" + - "IG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3Jl" + - "dCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBj" + - "aGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAg" + - "ICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8" + - "bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMg" + - "Q29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0t" + - "LS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3Jp" + - "emVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3Rz" + - "LCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBz" + - "ZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3Bl" + - "bkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQt" + - "YWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBr" + - "ZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8g" + - "SldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBj" + - "bHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + - "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9J" + - "REMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zl" + - "cnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNg" + - "LCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRd" + - "KHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBP" + - "T01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92" + - "ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNr" + - "ZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENh" + - "c3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dP" + - "UkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBj" + - "aEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2Vj" + - "cmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUt" + - "c3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9k" + - "cyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3Rs" + - "IGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNl" + - "IGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxt" + - "ZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQg" + - "Ym9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBm" + - "aWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAg" + - "LW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3du" + - "IGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2" + - "ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVk" + - "IHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9v" + - "ayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBo" + - "b29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1h" + - "Y2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2Vj" + - "cmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8g" + - "YC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZl" + - "cyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQg" + - "ZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0" + - "IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwK" + - "fCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRj" + - "aCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0" + - "YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19S" + - "RUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMj" + - "IFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlz" + - "IGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2Uq" + - "KgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBp" + - "dCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBg" + - "YXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQg" + - "d2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29r" + - "IG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQg" + - "ZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGll" + - "bnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4K" + - "ClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0n" + - "ey5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNl" + - "bnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0" + - "aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGlu" + - "Z2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2Nv" + - "dW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMj" + - "IEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFt" + - "cGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + - "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQg" + - "Y29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9o" + - "ZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVy" + - "IGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3Jl" + - "YXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2Ug" + - "ZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + - "AKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVl" + - "c3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVL" + - "UyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRp" + - "b25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVx" + - "dWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCks" + - "IGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwg" + - "KGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRv" + - "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBp" + - "dCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0g" + - "My4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZp" + - "ZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGli" + - "aWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5j" + - "IHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0" + - "IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tz" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNo" + - "ZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJl" + - "bmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWlu" + - "ZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkg" + - "ZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRl" + - "JyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZl" + - "c3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdo" + - "ZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4g" + - "d2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1" + - "bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBz" + - "dHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1" + - "c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVt" + - "b3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNs" + - "ZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1l" + - "c3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + - "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + - "b3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1" + - "dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFn" + - "ZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3Zl" + - "IHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNl" + - "IC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMi" + - "LAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMg" + - "KG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1" + - "c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0" + - "byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAg" + - "ICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0" + - "ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0" + - "ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZy" + - "b20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxh" + - "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdh" + - "eSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFs" + - "bGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVn" + - "aXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNv" + - "bmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUg" + - "c2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlv" + - "biB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAog" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENs" + + "dXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xp" + + "Y3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRp" + + "bWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJp" + + "Znkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzog" + + "W3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1" + + "aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyku" + + "CgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNj" + + "cmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNo" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxs" + + "IHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5" + + "PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVy" + + "ZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18" + + "LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2lu" + + "ZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhh" + + "cyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8" + + "IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBt" + + "aWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBz" + + "aG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + + "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25m" + + "aWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZl" + + "IEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + + "dmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1" + + "c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0" + + "cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9w" + + "ZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9k" + + "ZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24g" + + "Q2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3Nh" + + "bmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBj" + + "cmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2Vj" + + "cmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5k" + + "cmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNl" + + "dCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1" + + "YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRy" + + "YSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxl" + + "Y3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "YCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAg" + + "c3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lg" + + "IHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGlt" + + "ZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBg" + + "a3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8Cnwg" + + "ZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8" + + "IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBg" + + "YXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBh" + + "dGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFj" + + "Y291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVy" + + "aWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0" + + "cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0" + + "cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3Zh" + + "dWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVk" + + "IHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVh" + + "ZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9P" + + "UFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVj" + + "dGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2" + + "ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1Nf" + + "UkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFu" + + "ZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBh" + + "Y2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBh" + + "ICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1p" + + "bnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwu" + + "IElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0" + + "Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywg" + + "bm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2Nv" + + "dW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApu" + + "b3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJh" + + "biBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2Yg" + + "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNj" + + "ZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJl" + + "LXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVz" + + "CmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29t" + + "cGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0" + + "bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUt" + + "bm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBp" + + "IHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "ICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBS" + + "ZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhl" + + "IFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3Yw" + + "LjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5l" + + "IHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBP" + + "cGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVj" + + "dHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5k" + + "IFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwg" + + "dXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25z" + + "LCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBL" + + "BwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAg" + + "ICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + + "YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0" + + "ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZl" + + "cnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4x" + + "MiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhp" + + "biAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + + "YyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChu" + + "b3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYg" + + "Pj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJz" + + "aW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZl" + + "cnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0" + + "ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxl" + + "IHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdl" + + "bnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZl" + + "c3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHBy" + + "ZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5" + + "bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMn" + + "IHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRv" + + "IHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVh" + + "bnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1p" + + "bmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxp" + + "emVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXpl" + + "cnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3Bh" + + "Y2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9u" + + "bHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2Yt" + + "YmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + + "ICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250" + + "ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJl" + + "Y3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxp" + + "emVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xl" + + "YXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRv" + + "ciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNl" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBk" + + "ZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjog" + + "Ikluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRl" + + "IHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3Vi" + + "ZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "a2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHBy" + + "b2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + + "ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcg" + + "d2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVy" + + "IHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJh" + + "biB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25t" + + "ZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVy" + + "IE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRl" + + "ciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBi" + + "ZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dy" + + "cGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5" + + "c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIs" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVT" + + "VEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJF" + + "Q09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJ" + + "Q01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGll" + + "cyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZs" + + "YWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + + "cHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9s" + + "LXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2Zp" + + "bGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVs" + + "bS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhl" + + "bG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90" + + "aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4" + + "cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxt" + + "IChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBp" + + "cyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52" + + "Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3Jk" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0" + + "aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAi" + + "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZp" + + "bGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9u" + + "IGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50" + + "IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2" + + "ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBz" + + "ZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3Vu" + + "ZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8g" + + "cnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5k" + + "LywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAi" + + "V2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBk" + + "aWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3Rl" + + "ZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlv" + + "biIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUg" + + "TlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9u" + + "bWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + + "b21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQg" + + "dG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3Bh" + + "Y2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMs" + + "IHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFu" + + "ZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVn" + + "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3Rh" + + "Y2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0s" + + "IGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5k" + + "bGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBs" + + "YW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkt" + + "a2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGlu" + + "ZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + + "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95" + + "aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxl" + + "IHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRy" + + "b2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZh" + + "YmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29u" + + "dHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + + "ZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1" + + "bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVy" + + "YXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ci" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAg" + + "InF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5k" + + "IHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNo" + + "b3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJl" + + "ZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dl" + + "ZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcg" + + "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + + "LWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJl" + + "Z2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBm" + + "aWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAg" + + "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAg" + + "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQi" + + "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + + "CiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29u" + + "dGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5l" + + "cmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBI" + + "ZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0" + + "LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRy" + + "YSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8g" + + "MTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxp" + + "bmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJl" + + "bGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwg" + + "YW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1M" + + "IG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAog" + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNv" + - "bnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUg" + - "cGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tl" + - "X3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlf" + - "aG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBi" + - "YXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUs" + - "IE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNv" + - "bXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVf" + - "RU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQg" + - "c3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21z" + - "X2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBN" + - "YWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tT" + - "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1" + - "aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4" + - "IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJv" + - "dGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5H" + - "QyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBu" + - "dmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIg" + - "bG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2Rv" + - "Y2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + - "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3" + - "b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBi" + - "ZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBh" + - "dXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNz" + - "aW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0Yg" + - "aW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBh" + - "dHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52" + - "aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMg" + - "d2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + - "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5v" + - "dCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVy" + - "ZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3Rt" + - "cGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQg" + - "c3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFn" + - "ZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVh" + - "bi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxs" + - "YXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + - "ci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJz" + - "dDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRo" + - "ZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3Vy" + - "IGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhh" + - "bmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBh" + - "IHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVl" + - "cyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhl" + - "bG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + - "ZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0" + - "ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3Rl" + - "bSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikg" + - "d2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcg" + - "YmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3Rh" + - "Z2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5n" + - "cmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAi" + - "QWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVk" + - "IGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhh" + - "Y3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1p" + - "eCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdv" + - "cmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250" + - "cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0" + - "ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0" + + "CiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVk" + + "IHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRo" + + "IG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRo" + + "ZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFN" + + "TCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUn" + + "cyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBj" + + "aGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0" + + "aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVu" + + "ZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5j" + + "aWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBk" + + "ZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQg" + + "cG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1" + + "c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMn" + + "IHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + + "cG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lz" + + "dGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0" + + "b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rp" + + "b24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5h" + + "dXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdn" + + "aW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhl" + + "IHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMs" + + "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNj" + + "b3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVk" + + "ZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNv" + + "cnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUg" + + "YWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "bWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRo" + + "ZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + + "dGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAog" + + "ICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRv" + + "IHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBp" + + "bmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1" + + "c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBh" + + "bmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVt" + + "b3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBl" + + "bmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBP" + + "cGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + + "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21w" + + "dXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92" + + "ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJh" + + "dG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9y" + + "IGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRl" + + "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNl" + + "cyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBu" + + "dmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52" + + "Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFu" + + "ZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGgg" + + "aW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3" + + "aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFn" + + "ZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVk" + + "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + + "RGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0" + + "aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1l" + + "LWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxh" + + "bmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNl" + + "cnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5h" + + "dHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFt" + + "ZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBs" + + "YW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVk" + + "IGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRv" + + "d24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNh" + + "ZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlh" + + "bnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFu" + + "ZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9y" + + "ZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBs" + + "YW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + + "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + + "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + + "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + + "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5n" + + "IHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Us" + + "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2" + + "ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkg" + + "ZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhl" + + "IGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25z" + + "LCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01T" + + "IGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFu" + + "ZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3Qg" + + "cmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0" + + "aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + + "eSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2" + + "ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBs" + + "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIs" + + "CiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVy" + + "IGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVz" + + "dHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhl" + + "IGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNl" + + "IHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJl" + + "ZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGlu" + + "c3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3Rh" + + "Y2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBj" + + "ZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdp" + + "dGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAg" + + "ICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + + "IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENM" + + "SSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1" + + "bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENM" + + "SSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2" + + "ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2Vz" + + "IG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBs" + + "YW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVy" + + "ZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENM" + + "SSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBi" + + "b3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhl" + + "biBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVh" + + "Y2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEz" + + "LXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8g" + + "bXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cg" + + "ZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWws" + + "IGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBp" + + "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + + "Y2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVz" + + "dCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZ" + + "QU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAog" + + "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBw" + + "YXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9i" + + "YWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxl" + + "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1w" + + "bGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFs" + + "dWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBu" + + "ZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFn" + + "ZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25m" + + "aWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0" + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + - "bCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4g" + - "SXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVh" + - "Y2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBz" + - "dWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2Vk" + - "IHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0" + - "byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + - "IGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + - "LS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwg" + - "YW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25m" + - "aWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwg" + - "YW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVl" + - "cywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "a2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlk" + - "IG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlv" + - "biI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1v" + - "cnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVy" + - "ZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhl" + - "IGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFs" + - "LnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBh" + - "Ym91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUg" + - "YXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBh" + - "Z2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJj" + - "ZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVk" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2Nr" + - "IChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQg" + - "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHBy" + - "ZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3Jl" + - "IGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3Rp" + - "dmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBO" + - "VkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0" + - "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUg" + - "c2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0" + - "aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwg" + - "Y2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlk" + - "ZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3Jv" + - "dXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYi" + - "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2Zm" + - "IHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRv" + - "IGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3Ig" + - "cHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFu" + - "ZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3Jl" + - "dCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHBy" + - "b3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMi" + - "LAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxs" + - "U2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJU" + - "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZp" + - "YyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFu" + - "ZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1" + - "dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52" + - "b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNy" + - "ZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRy" + - "b2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNl" + - "dCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2Nh" + - "bCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywg" + - "YW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBi" + - "YXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwg" + - "cGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJM" + - "cyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkg" + - "aW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9w" + - "ZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXkt" + - "c3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRl" + - "d2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1n" + - "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNm" + - "U2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RT" + - "ZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhl" + - "IGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBu" + - "dmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVz" + - "Lm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdy" + - "YXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50" + - "IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5j" + - "bHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJl" + - "ZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + - "cmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5h" + - "dHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1" + - "bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJU" + - "aGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9y" + - "IGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rp" + - "b24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUg" + - "ZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkg" + - "cHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93" + - "IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUg" + - "Y2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJv" + - "dGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYg" + - "Y291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJu" + - "ZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxt" + - "IHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBm" + - "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJp" + - "ZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + - "IFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + - "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + - "aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFs" + - "dWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUg" + - "cmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBu" + - "b3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFu" + - "ZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQg" + - "d2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJh" + - "biBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250" + - "cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRl" + - "IGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxv" + - "dyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250" + - "cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3Vs" + - "ZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0" + - "aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + - "ZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBh" + - "biBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVk" + - "IGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Np" + - "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHBy" + - "ZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90" + - "IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25m" + - "aXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFr" + - "ZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwK" + - "ICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFs" + - "IGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0" + - "byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBw" + - "bGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9u" + - "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + - "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + - "ICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVu" + - "diwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFu" + - "LW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1" + - "bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + - "bGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRl" + - "ZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkg" + - "aWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFp" + - "biAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxp" + - "bmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3Nl" + - "cyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hh" + - "cnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2Uu" + - "eWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxp" + - "bmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxp" + - "Y2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJl" + - "IHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50" + - "IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1" + - "ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9u" + - "IGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQg" + - "SGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0" + - "aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUg" + - "TExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRo" + - "ZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIg" + - "Y29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91" + - "dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0" + - "aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRp" + - "Y2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQu" + - "c3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3" + - "aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3Ig" + - "cHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + - "IGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExM" + - "TSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5k" + - "IGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5l" + - "bmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91" + - "dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMg" + - "dG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + - "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24g" + - "aG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlD" + - "SW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJu" + - "ZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25t" + - "ZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBo" + - "YW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9u" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVz" + - "dC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBp" + - "bmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5F" + - "Ry1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYg" + - "Y2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVs" + - "bCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlz" + - "IGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBu" + - "dmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdl" + - "ZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1" + - "aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVw" + - "bG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVj" + - "aWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9w" + - "cmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQg" + - "b24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fz" + - "c2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBj" + - "YXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoK" + - "UHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRp" + - "b246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2su" + - "CgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNz" + - "LWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwg" + - "fCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAx" + - "LWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZh" + - "dGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVs" + - "bWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAw" + - "LjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRy" + - "YS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1s" + - "LmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + - "RV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2Vz" + - "OgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1v" + - "cnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAg" + - "ICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9y" + - "ZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3lu" + - "YwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3Qg" + - "YXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGlj" + - "aXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBO" + - "R0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0" + - "YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQg" + - "b2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0" + - "ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5" + - "OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdp" + - "c3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAy" + - "OiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFz" + - "aApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0" + - "cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "YXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + - "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "YXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8g" + - "aGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3Jl" + - "dHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZp" + - "bGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5h" + - "bWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAg" + - "IC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVx" + - "dWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToK" + - "ICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAt" + - "IG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2Ug" + - "YXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + - "dGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFy" + - "dHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBj" + - "b21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0" + - "Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7" + - "IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0i" + - "Om1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAg" + - "J3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpk" + - "b25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + - "IC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0g" + - "XAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNo" + - "b3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMg" + - "RXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50" + - "IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ry" + - "b3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFs" + - "aXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1k" + - "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5h" + - "bGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVh" + - "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "LgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElD" + - "TVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVs" + - "ZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVz" + - "PiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQg" + - "c3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVz" + - "dHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJg" + - "IG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHBy" + - "ZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5" + - "IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIg" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9" + - "PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxF" + - "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9y" + - "bXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBg" + - "a3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNh" + - "fG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0" + - "fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVt" + - "cHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtD" + - "bGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0" + - "dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMg" + - "RXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNl" + - "cGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVj" + - "cmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBl" + - "bmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + - "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + - "dCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJl" + - "Y3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + - "IGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9y" + - "IHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCou" + - "aW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3Jhcnkg" + - "ZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBh" + - "bmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVh" + - "ZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3" + - "YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNv" + - "bnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVW" + - "YWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4g" + - "YW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGlu" + - "c3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUK" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMu" + - "CgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJh" + - "cGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdB" + - "WV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAt" + - "QQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + - "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + - "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + - "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + - "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + - "b3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMK" + - "ClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3Vy" + - "YXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0" + - "ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + - "CgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBj" + - "YXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBh" + - "cGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFw" + - "aSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5k" + - "IGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5" + - "LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFu" + - "ZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNm" + - "LXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + - "ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0" + - "ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxl" + - "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0g" + - "QVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRl" + - "d2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + - "bGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0" + - "aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVp" + - "LmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0" + - "ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFz" + - "ZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSBy" + - "ZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWlu" + - "LWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFy" + - "YXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3Rl" + - "ciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJl" + - "bG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBD" + - "TEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBD" + - "aG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2lu" + - "dHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVl" + - "cyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + - "ZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + - "bHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVy" + - "YXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBp" + - "cyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3Jl" + - "ZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0" + - "b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGlu" + - "Zy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50" + - "IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwg" + - "ZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + - "bXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFi" + - "bGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25p" + - "Y2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNm" + - "L3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52" + - "aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBp" + - "bgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNl" + - "cnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5M" + - "QiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNl" + - "cnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21h" + - "aW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNl" + - "VVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJM" + - "OiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2Vydmlj" + - "ZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6" + - "ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDog" + - "Imh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2" + - "aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToK" + - "ICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6" + - "OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVu" + - "dm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZj" + - "Zi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBu" + - "dmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAg" + - "ICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAg" + - "ICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAg" + - "ICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndv" + - "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoK" + - "b3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVk" + - "OiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFu" + - "YWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAg" + - "ICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAg" + - "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRz" + - "SG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGlu" + - "c3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFr" + - "ZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + - "CgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVh" + - "dGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoK" + - "CmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tl" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5" + - "LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAi" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1k" + - "b21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19o" + - "b3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0" + - "bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRv" + - "IHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4g" + - "dGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8g" + - "YC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0" + - "ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAg" + - "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNU" + - "RVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4g" + - "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9D" + - "TEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1j" + - "bGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVn" + - "aXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + - "cHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNP" + - "TkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIElu" + - "IGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRo" + - "ZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkg" + - "UHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0" + - "IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRp" + - "b246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAt" + - "LW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQv" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + - "cmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkg" + - "LS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBc" + - "CiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAog" + - "IC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + - "YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVz" + - "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBz" + - "ZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRw" + - "b2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5v" + - "dCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBl" + - "bmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFu" + - "ZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0" + - "OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4" + - "dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5j" + - "ZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxh" + - "bmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9w" + - "ZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVy" + - "IG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBv" + - "bGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgoj" + - "IyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3Bh" + - "Y2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZv" + - "eS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxv" + - "dXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAt" + - "LXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdh" + - "aXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1v" + - "cGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRo" + - "eSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3du" + - "CgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBj" + - "b250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5l" + - "LCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhl" + - "IGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0" + - "aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIg" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5n" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsg" + - "b3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2" + - "ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8" + - "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + - "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNh" + - "SURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + - "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0" + - "ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVh" + - "dApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNs" + - "dXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJ" + - "Rz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + - "TEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQg" + - "YEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ry" + - "b3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4K" + - "CkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0" + - "ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZp" + - "cnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0" + - "ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0u" + + "ZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3" + + "YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91" + + "dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9u" + + "IGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxh" + + "bmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBw" + + "bGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVm" + + "YXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFu" + + "ZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJ" + + "bnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5n" + + "IHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJ" + + "dCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + + "IGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywg" + + "YW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBz" + + "aWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNl" + + "ZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNv" + + "dW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFn" + + "ZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10" + + "d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + + "IGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhh" + + "dCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMg" + + "dG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5" + + "IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBs" + + "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hl" + + "ZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCBy" + + "ZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRo" + + "ZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhl" + + "IExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1" + + "aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNk" + + "IiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5n" + + "IGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3Vs" + + "ZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBr" + + "M2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0" + + "ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBU" + + "aGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlv" + + "biBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3Ry" + + "dWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRl" + + "dmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1k" + + "ZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + + "ZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxv" + + "eW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3Vy" + + "Y2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBs" + + "YXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNz" + + "YW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUg" + + "cmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6" + + "IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwK" + + "Z3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBg" + + "YAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + + "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + + "b290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + + "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + + "aW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + + "ICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5" + + "OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + + "ID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9j" + + "YXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTog" + + "YHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4g" + + "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + + "YCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJl" + + "Z2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBp" + + "bWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVk" + + "IHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1" + + "cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "Cmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAg" + + "ICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + + "CiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0" + + "ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dp" + + "biBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3Ry" + + "eSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgoj" + + "IyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4" + + "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRy" + + "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + + "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + + "bmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + + "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + + "bmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxl" + + "YXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVh" + + "Y2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVu" + + "ZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + + "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + + "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + + "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2Jh" + + "bDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpg" + + "YGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNy" + + "ZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0" + + "aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwt" + + "c2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBg" + + "CgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5h" + + "dGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3Bl" + + "bkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFy" + + "dDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2Eg" + + "aW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4g" + + "IiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFt" + + "ZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0" + + "Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxT" + + "ZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5" + + "PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1" + + "bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1" + + "bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFu" + + "ZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0" + + "ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZp" + + "Zz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRo" + + "ZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + + "ZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMj" + + "IFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURg" + + "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + + "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElE" + + "IGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBi" + + "YXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1" + + "c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1p" + + "ZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAy" + + "IGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250" + + "cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5" + + "IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhl" + + "bG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0" + + "LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVp" + + "cmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0" + + "IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZl" + + "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sg" + + "SGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQK" + + "ZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFt" + + "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhl" + + "cndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFu" + + "ZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJv" + + "eSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + + "bmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNv" + + "bnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMj" + + "IyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5k" + + "fGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + + "c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMj" + + "IFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxh" + + "dGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNh" + + "bWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJl" + + "Y292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92" + + "aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdv" + + "dCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBi" + + "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + + "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + + "WV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZp" + + "ZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0" + + "IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91" + + "dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxk" + + "b21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3" + + "aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRv" + + "IGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBz" + + "cGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMs" + + "IHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBg" + + "bnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMg" + + "VVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVy" + + "cmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + + "cm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6" + + "IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + + "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + + "IgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBu" + + "dmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3lt" + + "ZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNv" + + "bnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoK" + + "LS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0" + + "ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJh" + + "c2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoK" + + "IyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0" + + "ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3Rv" + + "ciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0t" + + "LS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3Bl" + + "bmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMs" + + "IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2Vy" + + "dmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRl" + + "d2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5" + + "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9u" + + "cy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBz" + + "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZj" + + "ZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kg" + + "anVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + + "bmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3" + + "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95" + + "IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVz" + + "IHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8" + + "IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNr" + + "YWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + + "YCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykg" + + "fAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoK" + + "Tm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAg" + + "bGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5" + + "YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + + "YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpU" + + "aGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJ" + + "bnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + + "IGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBp" + + "dCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQg" + + "cHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRv" + + "ZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJh" + + "dGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUg" + + "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJ" + + "LWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVy" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBm" + + "b3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZp" + + "bGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFu" + + "ZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3Bl" + + "cmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVu" + + "ZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBI" + + "ZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3Jl" + + "IGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3" + + "YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQog" + + "IHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZh" + + "bCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQt" + + "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + + "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVw" + + "cyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAs" + + "IGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRl" + + "d2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmly" + + "b25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92" + + "ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5k" + + "IGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21h" + + "aW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8v" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29y" + + "a2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czov" + + "LzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNr" + + "cy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtl" + + "ci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRw" + + "Oi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVz" + + "czoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5h" + + "bWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwg" + + "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2Yt" + + "Z2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVy" + + "TmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAg" + + "ICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0" + + "ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5h" + + "YmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1k" + + "b21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1p" + + "Z3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpg" + + "YGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBp" + + "Y21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZp" + + "Y2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VI" + + "b3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJM" + + "OiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6" + + "ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29u" + + "dHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + + "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + + "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdp" + + "c3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUg" + + "dGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNl" + + "X2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDov" + + "LzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAw" + + "ODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21z" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9r" + + "ZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdh" + + "dGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3" + + "aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJh" + + "dGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1" + + "cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3Rg" + + "IE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRo" + + "ZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9" + + "PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJl" + + "Z2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJ" + + "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1u" + + "dmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+Cgpt" + + "YWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNU" + + "RVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlz" + + "Y292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29u" + + "dGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlz" + + "IHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0" + + "ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29u" + + "dGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cK" + + "ClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUg" + + "cHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2Et" + + "aWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90" + + "aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBs" + + "YW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1u" + + "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + + "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNl" + + "bGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3Vi" + + "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHBy" + + "b2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJv" + + "ZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVl" + + "cy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0" + + "aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhl" + + "IHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2gg" + + "YGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + + "dC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + + "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRv" + + "IHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVz" + + "LApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlv" + + "bgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZj" + + "Zi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAog" + + "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0K" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJh" + + "Y2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAt" + + "LWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0x" + + "MG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8" + + "cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5k" + + "IGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUu" + + "IEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRo" + + "aXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdl" + + "cmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIg" + + "aXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0" + + "aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUu" + + "IEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxl" + + "YXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + + "IE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHBy" + + "b3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8g" + + "bm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNo" + + "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBg" + + "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAog" + + "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1j" + + "b25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1p" + + "ZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1p" + + "Z25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0" + + "IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVz" + + "dHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBk" + + "ZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBs" + + "YW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0" + + "cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1w" + + "bGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19G" + + "SUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0" + + "cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkg" + + "cHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBs" + + "ZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhl" + + "CmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQg" + + "cHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBc" + + "CiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAt" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAog" + + "IC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJs" + + "PiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + + "bWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0" + + "ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBx" + + "dWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fu" + + "bm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRh" + + "cmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVz" + + "dHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJv" + + "dGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3" + + "aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + - "YWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdp" + - "c3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25s" + - "eWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUg" + - "cGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92" + - "YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBk" + - "b3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcg" + - "YW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + - "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0t" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1" + - "dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8" + - "Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + - "LWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + - "PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24g" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + - "IEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRz" + - "IElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1" + - "c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVz" + - "IGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMg" + - "YWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2Rz" + - "IGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4K" + - "CiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3Qg" + - "dXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZp" + - "YyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVs" + - "bEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNU" + - "QVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIElt" + - "YWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0" + - "CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRo" + - "b3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMg" + - "ZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwg" + - "Z3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUg" + - "bmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+Cgoj" + - "IENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVs" + - "bFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNl" + - "Y3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRo" + - "PSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2lu" + - "ZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0t" + - "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNw" + - "YWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQq" + - "KjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxt" + - "ZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4g" + - "KipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZv" + - "Y2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFj" + - "Y291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + - "dHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCBy" + - "ZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAt" + - "biA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBg" + - "YGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9t" + - "cwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNo" + - "Ck5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMg" + - "ICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAg" + - "ICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2" + - "YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMg" + - "Q2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENo" + - "ZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVs" + - "dC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQt" + - "c3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5l" + - "ciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBv" + - "ZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3Vl" + - "cywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRu" + - "J3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0" + - "ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95" + - "CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVh" + - "dGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBu" + - "ZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVu" + - "YmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90" + - "IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJh" + - "byBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9s" + - "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + - "IHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVy" + - "IHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToK" + - "ICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNp" + - "bmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5" + - "c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlk" + - "YXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0" + - "LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRo" + - "ZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAu" + - "IFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9u" + - "IGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2" + - "aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVu" + - "YWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tT" + - "LAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMg" + - "KGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAj" + - "ICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + - "YmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24g" + - "bG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAg" + - "IC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFv" + - "IEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2Vy" + - "dmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAg" + - "QUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBh" + - "a3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0" + - "aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2ln" + - "bmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0" + - "b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBB" + - "R0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMj" + - "IyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92" + - "ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1w" + - "bGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5k" + - "cmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAg" + - "IG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAg" + - "bWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFi" + - "bGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVz" + - "b3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21z" + - "CgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UK" + - "Y2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMK" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24g" + - "Y2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3Qg" + - "bWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6" + - "IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBm" + - "b3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVj" + - "ayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9y" + - "YWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBg" + - "YmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVu" + - "dCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3Rs" + - "IGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNl" + - "cyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMg" + - "U3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRV" + - "UzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNj" + - "ZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERp" + - "YWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFj" + - "ZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1z" + - "eW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMg" + - "Y2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVk" + - "ZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4g" + - "c3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBT" + - "eW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4g" + - "RXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + - "aAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoK" + - "IyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxv" + - "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxv" + - "Z3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFw" + - "aSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNy" + - "ZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAg" + - "bXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRo" + - "ZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFs" + - "CiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0" + - "cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFj" + - "aGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291" + - "bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFs" + - "cyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lp" + - "bmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFt" + - "ZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlz" + - "ICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMK" + - "YGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3lt" + - "cHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBg" + - "VGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAg" + - "VGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBg" + - "YAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFm" + - "dGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUg" + - "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRl" + - "bGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tl" + - "bmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZj" + - "ZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVz" + - "cGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdj" + - "b250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNv" + - "bnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlw" + - "ZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01Q" + - "VVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFy" + - "aW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5k" + - "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNl" + - "ICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9" + - "IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNl" + - "IFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4v" + - "ZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBO" + - "b3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBs" + - "ZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMg" + - "YnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + - "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + - "cG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0" + - "IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3Mg" + - "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90" + - "CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBz" + - "dWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2Ny" + - "aWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJh" + - "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBg" + - "CgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2Vj" + - "cmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWly" + - "cm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1l" + - "c3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRl" + - "LXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMj" + - "IyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4g" + - "ZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4g" + - "VGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZ" + - "X0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21h" + - "aW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVz" + - "cyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VV" + - "UkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3Jl" + - "cCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktl" + - "ZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1" + - "bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZv" + - "ciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBm" + - "aWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0" + - "aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQj" + - "ZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVz" + - "ZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdo" + - "aWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZp" + - "Y2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBj" + - "YXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNl" + - "cnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rh" + - "cnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwK" + - "fCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1h" + - "cGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5" + - "IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJj" + - "ZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQA" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxl" + - "LXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMg" + - "RGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhl" + - "bG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENh" + - "c3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBO" + - "VkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + - "cGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAg" + - "IHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBl" + - "bnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1l" + - "bnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNy" + - "ZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29y" + - "ZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + - "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sv" + - "CnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBD" + - "b21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5n" + - "b3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRp" + - "b24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + - "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + - "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55" + - "YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBl" + - "ci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVu" + - "dHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3Jz" + - "IGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNl" + - "cwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50" + - "IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1w" + - "bCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0t" + - "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRz" + - "LXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJh" + - "by1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24g" + - "bmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0" + - "ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRh" + - "bmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29y" + - "ZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + - "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1u" + - "dmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNp" + - "cyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZp" + - "Y2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNl" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkg" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8" + - "IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0" + - "ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNm" + - "LWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5" + - "IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNl" + - "LWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7" + - "dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRo" + - "ZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55" + - "YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxl" + - "ZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2" + - "YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxl" + - "YXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0t" + - "LS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8" + - "IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHkt" + - "c3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJs" + - "ZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1M" + - "IG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRo" + - "ZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlB" + - "TUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRo" + - "ZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3Qg" + - "ZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRo" + - "ZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3Jl" + - "dHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVt" + - "cGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBj" + - "aGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + - "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJp" + - "ZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBl" + - "bmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + - "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + - "ZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVy" + - "cmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVt" + - "b3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGlu" + - "IGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVj" + - "aGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNl" + - "OiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGlu" + - "ZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUt" + - "aW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBs" + - "aXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2Vz" + - "dCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRl" + - "ZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdv" + - "dG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZp" + - "YyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0g" + - "c2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAt" + - "LSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBU" + - "aHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1l" + - "cmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFy" + - "dC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNp" + - "dGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + - "YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5k" + - "cmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBg" + - "Y2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVk" + - "YCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0g" + - "YG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0" + - "cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmls" + - "ZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNw" + - "ZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFv" + - "LmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8u" + - "c2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMg" + - "U2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3Ry" + - "eSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0g" + - "YDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0" + - "aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBp" + - "bnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBk" + - "ZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0" + - "aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jl" + - "c3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRl" + - "Y2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBu" + - "b3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9k" + - "ZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAph" + - "ZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGlj" + - "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + - "ICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAx" + - "CiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVk" + - "OiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAg" + - "IHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9h" + - "ZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3Vu" + - "dDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1" + - "bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkw" + - "OTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdh" + - "eSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdh" + - "eS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0Yg" + - "QVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQg" + - "b3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFu" + - "ZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFV" + - "SUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFu" + - "ZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNl" + - "cyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpz" + - "ZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0" + - "IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + - "b2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNp" + - "bmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0" + - "aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhl" + - "IGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6" + - "CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRl" + - "Y2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBv" + - "c2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNB" + - "UlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNr" + - "IHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25m" + - "aWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2" + - "YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRy" + - "b2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1" + - "dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9u" + - "IHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29t" + - "bWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFp" + - "biBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFs" + - "dWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdv" + - "cmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMg" + - "Y3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBk" + - "b2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUg" + - "dXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkg" + - "dGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0" + - "ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52" + - "Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3Rs" + - "IGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQg" + - "cG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5l" + - "cnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAK" + - "CkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0" + - "IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5k" + - "IGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlk" + - "ZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVz" + - "L3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMg" + - "SGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoK" + - "YGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1v" + - "YnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1n" + - "YXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBh" + - "IHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMg" + - "bm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + - "ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFk" + - "ZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBj" + - "dXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVm" + - "YXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + - "ZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkg" + - "d2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNr" + - "CnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250" + - "YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0" + - "aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMg" + - "RW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55" + - "YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgoj" + - "IyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1l" + - "c3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + - "aXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVp" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlm" + - "IHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBv" + - "cnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXIt" + - "cmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBu" + - "dmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAw" + - "YC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5" + - "CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + - "eW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24g" + - "aXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAt" + - "biBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJs" + - "IC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + - "cmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGlu" + - "dGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4g" + - "YXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsH" + - "CDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + - "IyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5n" + - "IE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBu" + - "dmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBv" + - "ZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmln" + - "dXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQg" + - "bmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1" + - "c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMg" + - "YXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1" + - "c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1z" + - "eXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFs" + - "bCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8u" + - "Z2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8g" + - "a3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJv" + - "bC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1u" + - "Z2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + - "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lz" + - "dHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFu" + - "ZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGlj" + - "eQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kK" + - "bWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tn" + - "cm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8t" + - "bnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoK" + - "ICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFj" + - "ZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAg" + - "ICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0" + - "ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0" + - "LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAg" + - "ICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBh" + - "bm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0" + - "LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1" + - "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZl" + - "cm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBj" + - "b250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUt" + - "cGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmlj" + - "YXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBu" + - "ZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0" + - "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVu" + - "PWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUg" + - "ZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAg" + - "ICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0" + - "IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBu" + - "dmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVz" + - "cGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cu" + - "CgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBw" + - "b2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29u" + - "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZj" + - "ci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlh" + - "XC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoK" + - "IyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0" + - "YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBu" + - "b3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Ig" + - "b24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMg" + - "V2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5v" + - "ZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3Ry" + - "eVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhv" + - "dXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2Vj" + - "cmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBB" + - "cnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNp" + - "bWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIElt" + - "YWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kg" + - "b25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVk" + - "LiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4g" + - "LS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + - "cyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5" + - "IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hv" + - "dWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xp" + - "Y3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRo" + - "IHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250" + - "ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYA" + - "AAAWAABQSwECFAAUAAgAAAAAACEAMK553koQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9t" + - "YW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAA" + - "AAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQAwJPmIyQwAAMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGx" + - "aZjPDwAAzw8AADcACQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8Z" + - "AACfGQAAOQAJAAAAAAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAA" + - "GCUAADcACQAAAAAAAAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "ZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAA" + - "PQAJAAAAAAAAAAAAAABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFn" + - "bm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYp" + - "AAA6AAkAAAAAAAAAAAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2lu" + - "c3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcA" + - "ADkACQAAAAAAAAAAAAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90" + - "YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAu" + - "AAkAAAAAAAAAAAAAAI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJk" + - "b3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA" + - "1kMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQAtAnA8NlUAADZVAAAtAAkAAAAAAAAAAAAAAFZ5AQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEASUWb" + - "Z48gAACPIAAANwAJAAAAAAAAAAAAAADwzgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + - "ZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIA" + - "AEliAAAsAAkAAAAAAAAAAAAAAO3vAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAA" + - "AAAAAJlSAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5q" + - "c29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAATqkC" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAM9ICAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAA" + - "AADIAgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAA" + - "AADvMwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxt" + - "ZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJ" + - "AAAAAAAAAAAAAAB0XgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYA" + - "AD4ACQAAAAAAAAAAAAAAo2YDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + - "ZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAABh9AwAAAA==" + "YWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + + "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVy" + + "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + + "YGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVz" + + "dHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0" + + "IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJh" + + "dGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7" + + "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dp" + + "bmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3Np" + + "bmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgoj" + + "IyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5h" + + "bWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZp" + + "YyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSBy" + + "ZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRp" + + "YWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNv" + + "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3Mg" + + "ZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + + "ZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMj" + + "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAg" + + "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09m" + + "ZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1" + + "bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgoj" + + "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVj" + + "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZl" + + "bnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3Vi" + + "ZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhl" + + "IHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgoj" + + "IENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3Rs" + + "IGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxs" + + "U2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFj" + + "ZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dv" + + "cmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAq" + + "KlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQg" + + "bmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + + "U2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNu" + + "J3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2Vydmlj" + + "ZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJl" + + "c3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAq" + + "Kldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + + "CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVy" + + "ZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBv" + + "ZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAg" + + "ICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFw" + + "aS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBg" + + "CgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWlu" + + "aXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFv" + + "IHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJh" + + "byBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + + "aGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + + "by1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhl" + + "IHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVs" + + "dC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmlu" + + "ZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBp" + + "c3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhp" + + "cyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBh" + + "bmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "dmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + + "bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQq" + + "KjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZh" + + "dWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBg" + + "YGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAw" + + "IC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0" + + "dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBp" + + "c3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJh" + + "byBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBt" + + "b3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBv" + + "ZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNs" + + "dXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNl" + + "bnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0" + + "aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUK" + + "ICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + + "ckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBP" + + "SURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlz" + + "c3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBk" + + "aXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUt" + + "cnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlv" + + "bnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1" + + "ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1p" + + "Z3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1v" + + "cGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRo" + + "ZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtu" + + "b3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJM" + + "IHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0" + + "aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMg" + + "d2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBk" + + "ZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFs" + + "bGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgoj" + + "IyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQK" + + "TkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEt" + + "MCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + + "YGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRy" + + "YS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2Fu" + + "ZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFt" + + "cGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291" + + "cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTky" + + "TWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZN" + + "aQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZD" + + "RiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMg" + + "RmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + + "RSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAg" + + "IDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAi" + + "MC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBu" + + "b2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNp" + + "ZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMj" + + "IyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0" + + "b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVz" + + "IC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90" + + "IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoq" + + "OiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9k" + + "ZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMj" + + "IEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBg" + + "YmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBg" + + "CgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZp" + + "Y2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + + "YXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBG" + + "aXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0" + + "IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJl" + + "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMg" + + "RmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2" + + "aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBi" + + "b290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9v" + + "dHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChq" + + "b2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxv" + + "Z3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAK" + + "YGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjog" + + "Q3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1" + + "dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAg" + + "IGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9V" + + "Ul9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRv" + + "a2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkg" + + "Y2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5y" + + "ZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + + "ZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNp" + + "ZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + + "c2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBh" + + "cGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwoj" + + "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1" + + "cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0" + + "ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAg" + + "IDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpS" + + "dW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1h" + + "bCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZy" + + "b20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5h" + + "bWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMK" + + "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEg" + + "LW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsg" + + "Lm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsg" + + "bnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRl" + + "eHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7" + + "XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIg" + + "e30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmlu" + + "YWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0" + + "bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNv" + + "biAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAg" + + "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJh" + + "dyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25l" + + "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMj" + + "IFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZj" + + "YS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUg" + + "bm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Et" + + "b3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hl" + + "dGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRo" + + "ZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24g" + + "YW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBv" + + "bmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBw" + + "b2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52" + + "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52" + + "Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRl" + + "IHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGlu" + + "CmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52" + + "Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBT" + + "ZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0" + + "KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpS" + + "ZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRo" + + "ZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSBy" + + "ZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FE" + + "RFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdh" + + "eSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0" + + "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtz" + + "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + + "JEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2Vk" + + "IGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2Vy" + + "dmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRv" + + "bWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBk" + + "YXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxv" + + "eW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVm" + + "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVj" + + "dGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVj" + + "b3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFj" + + "ZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMg" + + "cnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0" + + "ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNm" + + "IHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCBy" + + "ZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwg" + + "YXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwg" + + "c2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29u" + + "dHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwK" + + "UEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1k" + + "VVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5" + + "b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAg" + + "IHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVu" + + "QmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMg" + + "KyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFi" + + "aWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFt" + + "bCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykK" + + "fCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92" + + "ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAg" + + "ICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3Rz" + + "IHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxl" + + "LmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUg" + + "ZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAg" + + "ICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJv" + + "bm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZh" + + "bHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAg" + + "ICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + + "cwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3Rl" + + "ciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9u" + + "bWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2Vu" + + "ZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBu" + + "b3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBU" + + "aGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNl" + + "IHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0t" + + "LS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVz" + + "c2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZh" + + "dWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNz" + + "YW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNl" + + "IHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVs" + + "ZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBs" + + "Cgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0t" + + "LS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMg" + + "fCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2Vy" + + "dmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9j" + + "YXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8" + + "IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZp" + + "Y2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1" + + "ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRl" + + "d2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWlu" + + "LXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwp" + + "IHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVt" + + "IHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2Vy" + + "dmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBv" + + "c2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAg" + + "YmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlz" + + "c3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nr" + + "cy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8" + + "IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0t" + + "LS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0" + + "eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFn" + + "cyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBs" + + "YXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2Vk" + + "IGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3Mg" + + "cHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBs" + + "YWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0" + + "ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91" + + "IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJl" + + "bG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9y" + + "eSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVz" + + "Ogp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hl" + + "bG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + + "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJl" + + "LWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + + "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12" + + "YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMg" + + "TXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAg" + + "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpg" + + "YGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFt" + + "bC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5" + + "YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhl" + + "cml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0" + + "byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0" + + "ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRz" + + "IHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3Qg" + + "cHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVk" + + "IGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0g" + + "cGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0" + + "ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkK" + + "NC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFs" + + "dWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJl" + + "Y2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25t" + + "ZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZh" + + "bHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNl" + + "czoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRy" + + "YS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25z" + + "LmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9k" + + "ZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5k" + + "cmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWlu" + + "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29u" + + "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0" + + "b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0" + + "b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFn" + + "ZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1h" + + "Z2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0" + + "b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJ" + + "LCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5" + + "KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVu" + + "di4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVu" + + "dAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0" + + "aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1y" + + "ZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9j" + + "YXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVk" + + "LCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxt" + + "ZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9i" + + "c29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + + "c3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06" + + "CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAg" + + "ICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZh" + + "bHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmlj" + + "czoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2Vu" + + "dENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBv" + + "bGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFy" + + "Z2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZv" + + "ciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQ" + + "SSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNl" + + "bGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0" + + "aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0lu" + + "c2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXIt" + + "dG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9u" + + "IGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2Vk" + + "IFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBz" + + "ZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJl" + + "IHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10" + + "d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJl" + + "IG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQg" + + "QmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mv" + + "c2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUu" + + "CgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRl" + + "ZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdv" + + "cmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25m" + + "aWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNpZGVjYXJzOgogICAgICAg" + + "ICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9u" + + "OjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVS" + + "X0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBp" + + "dCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11" + + "c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJl" + + "bmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZp" + + "cm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2lu" + + "ZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNl" + + "aXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBg" + + "CgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJp" + + "dmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoK" + + "RXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIg" + + "aW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBs" + + "YWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5" + + "IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0" + + "ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBw" + + "bGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52" + + "Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUg" + + "J2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + + "ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9u" + + "LXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09" + + "ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBs" + + "YWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1x" + + "dWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJl" + + "aGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dp" + + "dGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0" + + "ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxl" + + "Y3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkg" + + "cmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkg" + + "c3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoK" + + "IyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVh" + + "c2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "ZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1n" + + "cm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + + "BwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCm" + + "zhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + + "ZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFp" + + "bGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRk" + + "b24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVk" + + "IHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNs" + + "dWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + + "aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRp" + + "bCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFk" + + "ZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + + "bAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1l" + + "c3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFu" + + "IGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3Ry" + + "eToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9t" + + "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tF" + + "WT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNy" + + "LWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9" + + "JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0t" + + "bmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "YXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFp" + + "bj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkg" + + "dGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1" + + "ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2Ug" + + "YW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBW" + + "ZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFu" + + "ZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3Vi" + + "ZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6" + + "IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAK" + + "CiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRo" + + "ZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3Ry" + + "aWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGlu" + + "Zwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwg" + + "U2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMg" + + "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3Vi" + + "ZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBs" + + "YW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWly" + + "IG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlz" + + "dC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0" + + "byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24g" + + "dGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0" + + "IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBL" + + "eXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBg" + + "YGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2" + + "ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVy" + + "bm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwg" + + "c2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIK" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFj" + + "ZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1w" + + "YXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFw" + + "aVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBu" + + "YW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UK" + + "ICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAg" + + "ICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBr" + + "aW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAg" + + "ICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIK" + + "ICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAg" + + "ICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAg" + + "ICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0" + + "ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgog" + + "ICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6" + + "IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAg" + + "ICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxs" + + "c2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUK" + + "CkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGlu" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5l" + + "ZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBs" + + "YW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25s" + + "eSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBu" + + "dmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVz" + + "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkg" + + "LWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBm" + + "aWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZj" + + "ci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4g" + + "RG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZv" + + "bGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNh" + + "dGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGlu" + + "amVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMu" + + "aW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgoj" + + "IENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBq" + + "c29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1" + + "bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwg" + + "ZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVu" + + "dHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + + "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0" + + "aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBz" + + "ZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2Vj" + + "cmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJ" + + "ZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElB" + + "TSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBz" + + "ZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4K" + + "LSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lz" + + "dHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNl" + + "cy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09m" + + "ZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMg" + + "cG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVj" + + "ayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMj" + + "IyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8K" + + "IyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5n" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBj" + + "bHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFE" + + "WTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2Vz" + + "IGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBu" + + "YW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNy" + + "ZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQA" + + "CAAAAAAAIQCUiUjbShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25V" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsLppRuJiAADiYgAAIwAJAAAAAAAAAAAAAACTEAAAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "Q8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAADPcwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "ZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADAk+YjJDAAA" + + "yQwAADQACQAAAAAAAAAAAAAAVoMAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + + "L211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAwbFpmM8PAADPDwAANwAJ" + + "AAAAAAAAAAAAAACKkAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29t" + + "cHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAA" + + "AAAAAAAAAMegAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQt" + + "cnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAA" + + "AAAAAADWugAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWlu" + + "dm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAA" + + "AFzgAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + + "bnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALRJ3ydWKQAAVikAADoACQAAAAAAAAAA" + + "AAAAju8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNj" + + "cmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADIBwAAOQAJAAAAAAAAAAAA" + + "AABVGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1q" + + "d2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAA" + + "jSEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAWzr4GLYkAAC2JAAAMAAJAAAAAAAAAAAAAADWQwEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAOUdeab6DwAA+g8AADIACQAAAAAAAAAAAAAA82gBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAC0C" + + "cDw2VQAANlUAAC0ACQAAAAAAAAAAAAAAVnkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1BfOC9CAAAPQgAAA3AAkA" + + "AAAAAAAAAAAAAPDOAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + + "ZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAA" + + "AAAAAAAAUvABAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAAAAAAAAAA/lICAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAACzqQIAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAACY0gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAAAAAAAC0DAwBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAAAAAAAFQ0AwBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAANle" + + "AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWkt" + + "YWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAA" + + "AAAIZwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxs" + + "LXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAfX0DAAAA" var ( skillDataOnce sync.Once From ecf15d3a99b7401f0c6eb43f5303dc8b3335fb29 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:40:01 +0530 Subject: [PATCH 088/127] fix(nvcf-cli): measure how long a namespace has been deleting on the API server clock Signed-off-by: rohithb --- .../internal/selfhosted/cluster_reach.go | 18 ++-- .../internal/selfhosted/stale_namespace.go | 62 +++++++++++-- .../selfhosted/stale_namespace_test.go | 87 ++++++++++++++----- 3 files changed, 133 insertions(+), 34 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go index 331aadec9b..4213dc75a1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -20,6 +20,7 @@ package selfhosted import ( "context" "fmt" + "net/http" "time" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -52,16 +53,21 @@ func (e *ClusterUnreachableError) Unwrap() error { return e.Err } // credentials come from the kubeconfig itself. A var so tests can shorten it. var clusterFirstCallTimeout = 15 * time.Second -// connectCluster builds a client for kubeContext and makes its first API call. -// When that call fails, whatever the error, the cluster is a -// ClusterUnreachableError, unless the run's own budget ended or it was -// interrupted meanwhile: then the run, not the cluster, stopped it, and the -// probe that follows reports that. -func connectCluster(ctx context.Context, kubeContext string) (kubernetes.Interface, error) { +// connectCluster builds a client for kubeContext, its transport wrapped by +// wraps, and makes its first API call. When that call fails, whatever the +// error, the cluster is a ClusterUnreachableError, unless the run's own budget +// ended or it was interrupted meanwhile: then the run, not the cluster, stopped +// it, and the probe that follows reports that. +func connectCluster( + ctx context.Context, kubeContext string, wraps ...func(http.RoundTripper) http.RoundTripper, +) (kubernetes.Interface, error) { restCfg, err := loadKubeConfig(kubeContext) if err != nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubeconfig: %w", err)} } + for _, wrap := range wraps { + restCfg.Wrap(wrap) + } client, err := kubernetes.NewForConfig(restCfg) if err != nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubernetes client: %w", err)} diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go index d703972c37..e1b9ac39f8 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace.go @@ -20,9 +20,11 @@ package selfhosted import ( "context" "fmt" + "net/http" "os" "slices" "strings" + "sync" "time" corev1 "k8s.io/api/core/v1" @@ -114,14 +116,59 @@ func NewStaleNamespaceProber() StaleNamespaceProber { return func(ctx context.Context, kubeContext string, namespaces []string) ([]StaleNamespace, error) { // The first contact with each visited cluster, so a cluster that // cannot be reached at all is reported here. - client, err := connectCluster(ctx, kubeContext) + clock := &apiserverClock{} + client, err := connectCluster(ctx, kubeContext, clock.observe) if err != nil { return nil, err } - return probeStaleNamespaces(ctx, client, namespaces) + return probeStaleNamespaces(ctx, client, namespaces, clock.now) } } +// apiserverClock follows the API server's clock through the Date header of +// its responses. How long a namespace has been deleting is measured on it, as +// the validator's sweeps measure age, so a workstation clock minutes off +// neither calls a fresh deletion stuck nor a stuck one fresh. +type apiserverClock struct { + mu sync.Mutex + // date is the latest response's Date, and received when it arrived. + date, received time.Time +} + +// observe wraps a client's transport to record the Date of each response. +func (c *apiserverClock) observe(rt http.RoundTripper) http.RoundTripper { + return dateRecorder{next: rt, clock: c} +} + +// now is the API server's time: the latest Date plus the time since it +// arrived, or this machine's time until a response carried one. +func (c *apiserverClock) now() time.Time { + c.mu.Lock() + defer c.mu.Unlock() + if c.date.IsZero() { + return time.Now() + } + return c.date.Add(time.Since(c.received)) +} + +type dateRecorder struct { + next http.RoundTripper + clock *apiserverClock +} + +func (d dateRecorder) RoundTrip(req *http.Request) (*http.Response, error) { + resp, err := d.next.RoundTrip(req) + if err != nil { + return resp, err + } + if date, perr := http.ParseTime(resp.Header.Get("Date")); perr == nil { + d.clock.mu.Lock() + d.clock.date, d.clock.received = date, time.Now() + d.clock.mu.Unlock() + } + return resp, nil +} + const ( // helmReleaseListPageSize bounds each page of the owner=helm scan. A // namespace holds at most a handful of release objects, so this is only a @@ -346,7 +393,8 @@ func terminatingNamespace(ns *corev1.Namespace, now time.Time) StaleNamespace { out := StaleNamespace{Name: ns.Name, Reason: StaleTerminating} var details []string if ns.DeletionTimestamp != nil { - age := now.Sub(ns.DeletionTimestamp.Time).Truncate(time.Second) + // Never negative: Date has one-second resolution. + age := max(now.Sub(ns.DeletionTimestamp.Time).Truncate(time.Second), 0) details = append(details, "deleting for "+age.String()) if age >= namespaceStuckAfter { out.Reason = StaleStuckTerminating @@ -377,8 +425,10 @@ func terminatingNamespace(ns *corev1.Namespace, now time.Time) StaleNamespace { // One namespace that cannot be read does not stop the others from being // probed: every error is returned, joined and naming its namespace, next to // everything that was found. Once ctx is done the probe stops, and the -// returned error carries ctx's error. -func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, namespaces []string) ([]StaleNamespace, error) { +// returned error carries ctx's error. now is the API server's time. +func probeStaleNamespaces( + ctx context.Context, client kubernetes.Interface, namespaces []string, now func() time.Time, +) ([]StaleNamespace, error) { var stale []StaleNamespace var errs []error // HELM_DRIVER=sql keeps release state in a database, so no in-cluster @@ -401,7 +451,7 @@ func probeStaleNamespaces(ctx context.Context, client kubernetes.Interface, name } if ns.DeletionTimestamp != nil || ns.Status.Phase == corev1.NamespaceTerminating { - stale = append(stale, terminatingNamespace(ns, time.Now())) + stale = append(stale, terminatingNamespace(ns, now())) continue } if !inCluster { diff --git a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go index 7021f6a0b6..dbb5e74711 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stale_namespace_test.go @@ -19,8 +19,11 @@ package selfhosted import ( "context" + "encoding/json" "errors" "fmt" + "net/http" + "net/http/httptest" "strings" "testing" "time" @@ -45,7 +48,7 @@ func TestProbeStaleNamespaces_AbsentIsHealthy(t *testing.T) { // A namespace that doesn't exist is not stale - it has simply never been // created or was already fully deleted. client := fake.NewSimpleClientset() - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}, time.Now) require.NoError(t, err) assert.Empty(t, stale, "absent namespaces must not be reported as stale") } @@ -56,7 +59,7 @@ func TestProbeStaleNamespaces_TerminatingIsByDeletionTimestamp(t *testing.T) { ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &now}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceActive}, }) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) require.Len(t, stale, 1) assert.Equal(t, "nvcf", stale[0].Name) @@ -68,7 +71,7 @@ func TestProbeStaleNamespaces_TerminatingIsByPhase(t *testing.T) { ObjectMeta: metav1.ObjectMeta{Name: "sis"}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, }) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"sis"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"sis"}, time.Now) require.NoError(t, err) require.Len(t, stale, 1) assert.Equal(t, "sis", stale[0].Name) @@ -95,7 +98,7 @@ func TestProbeStaleNamespaces_NoReleaseWithInstallDataIsStale(t *testing.T) { Labels: map[string]string{"owner": "helm", "name": "sis", "status": "deployed"}, }}, ) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf", "sis"}, time.Now) require.NoError(t, err) require.Len(t, stale, 1) assert.Equal(t, "nvcf", stale[0].Name) @@ -118,7 +121,7 @@ func TestProbeStaleNamespaces_HealthyReleaseNotStale(t *testing.T) { }, }, ) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) assert.Empty(t, stale, "namespace with an active Helm release must not be stale") } @@ -140,7 +143,7 @@ func TestProbeStaleNamespaces_HealthyReleaseConfigMapDriverNotStale(t *testing.T }, }, ) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) assert.Empty(t, stale, "namespace with an owner=helm ConfigMap (configmap driver) must not be stale") } @@ -181,7 +184,7 @@ func TestProbeStaleNamespaces_MixedNamespaces(t *testing.T) { ) namespaces := []string{"cassandra-system", "sis", "nvcf", "api-keys", "ess"} - stale, err := probeStaleNamespaces(context.Background(), client, namespaces) + stale, err := probeStaleNamespaces(context.Background(), client, namespaces, time.Now) require.NoError(t, err) require.Len(t, stale, 2, "only nvcf (terminating) and api-keys (data left behind) should be stale") @@ -310,7 +313,7 @@ func TestProbeStaleNamespaces_PagesPastNonMatchingObjects(t *testing.T) { return true, &corev1.ConfigMapList{Items: []corev1.ConfigMap{{ObjectMeta: release}}}, nil }) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) assert.Empty(t, stale, "an empty first page with a Continue token must not be read as 'no Helm release'") @@ -454,7 +457,8 @@ func TestProbeStaleNamespaces_AfterDownReportsEveryNamespace(t *testing.T) { ) } client := fake.NewSimpleClientset(objects...) - got, err := probeStaleNamespaces(context.Background(), client, []string{"cassandra-system", "vault-system"}) + got, err := probeStaleNamespaces(context.Background(), client, + []string{"cassandra-system", "vault-system"}, time.Now) require.NoError(t, err) assert.Len(t, got, 2) } @@ -490,7 +494,7 @@ func TestProbeStaleNamespaces_OnlyALiveWorkloadIsAnInstall(t *testing.T) { &corev1.PersistentVolumeClaim{ObjectMeta: metav1.ObjectMeta{Name: "data", Namespace: ns}}, tc.pod, ) - got, err := probeStaleNamespaces(context.Background(), client, []string{ns}) + got, err := probeStaleNamespaces(context.Background(), client, []string{ns}, time.Now) require.NoError(t, err, name) assert.Equal(t, tc.stale, len(got) == 1, name) } @@ -503,7 +507,7 @@ func TestProbeStaleNamespaces_SQLDriverSkipsTheNoReleaseSignal(t *testing.T) { client := fake.NewSimpleClientset( &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "nvcf"}}, ) - got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) assert.Empty(t, got) } @@ -519,7 +523,7 @@ func TestProbeStaleNamespaces_TerminatingReportedWithoutHelmObjects(t *testing.T Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, }, ) - got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) require.Len(t, got, 1) assert.Equal(t, "stuck Terminating", got[0].Reason) @@ -601,7 +605,7 @@ func TestProbeStaleNamespaces_PreCreatedNamespaceIsNotStale(t *testing.T) { &appsv1.StatefulSet{ObjectMeta: metav1.ObjectMeta{Name: "openbao-server", Namespace: "vault-system"}}, ) stale, err := probeStaleNamespaces(context.Background(), client, - []string{"api-keys", "ess", "nvcf", "sis", "cassandra-system", "vault-system"}) + []string{"api-keys", "ess", "nvcf", "sis", "cassandra-system", "vault-system"}, time.Now) require.NoError(t, err) var names []string for _, s := range stale { @@ -625,7 +629,7 @@ func TestProbeStaleNamespaces_NamespaceRunningPodsIsNotStale(t *testing.T) { &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "nats-auth", Namespace: "nats-system"}, Type: corev1.SecretTypeOpaque}, ) - stale, err := probeStaleNamespaces(context.Background(), client, []string{"nats-system"}) + stale, err := probeStaleNamespaces(context.Background(), client, []string{"nats-system"}, time.Now) require.NoError(t, err) assert.Empty(t, stale) } @@ -661,7 +665,7 @@ func TestProbeStaleNamespaces_KeepsProbingPastAReadError(t *testing.T) { }) stale, err := probeStaleNamespaces(context.Background(), client, - []string{"nvcf", "cassandra-system", "vault-system"}) + []string{"nvcf", "cassandra-system", "vault-system"}, time.Now) require.Len(t, stale, 1, "the namespace read after the failed one must still be probed") assert.Equal(t, "cassandra-system", stale[0].Name) assert.Equal(t, StaleStuckTerminating, stale[0].Reason) @@ -728,13 +732,52 @@ func TestProbeStaleNamespaces_StuckOnlyPastTheBoundOrOnAFailure(t *testing.T) { ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: tc.deleted}, Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating, Conditions: tc.conditions}, }) - got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err, name) require.Len(t, got, 1, name) assert.Equal(t, tc.want, got[0].Reason, name) } } +// How long a namespace has been deleting is measured on the API server's +// clock, read from the Date of its responses, so a workstation clock minutes +// off neither calls a fresh deletion stuck nor a stuck one fresh. +func TestNewStaleNamespaceProber_AgesDeletionsOnTheServerClock(t *testing.T) { + for name, tc := range map[string]struct { + skew, deleting time.Duration + want string + }{ + "workstation 3m fast, deleted 10s ago": {-3 * time.Minute, 10 * time.Second, StaleTerminating}, + "workstation 10m slow, deleting for 8m": {10 * time.Minute, 8 * time.Minute, StaleStuckTerminating}, + } { + t.Run(name, func(t *testing.T) { + serverNow := time.Now().Add(tc.skew) + deleted := metav1.NewTime(serverNow.Add(-tc.deleting)) + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Date", serverNow.UTC().Format(http.TimeFormat)) + w.Header().Set("Content-Type", "application/json") + if r.URL.Path == "/version" { + _, _ = w.Write([]byte(`{"major":"1","minor":"30"}`)) + return + } + _ = json.NewEncoder(w).Encode(corev1.Namespace{ + TypeMeta: metav1.TypeMeta{APIVersion: "v1", Kind: "Namespace"}, + ObjectMeta: metav1.ObjectMeta{Name: "nvcf", DeletionTimestamp: &deleted}, + Status: corev1.NamespaceStatus{Phase: corev1.NamespaceTerminating}, + }) + })) + t.Cleanup(srv.Close) + writeKubeconfig(t, srv.URL) + + got, err := NewStaleNamespaceProber()(context.Background(), "test", []string{"nvcf"}) + require.NoError(t, err) + require.Len(t, got, 1) + assert.Equal(t, tc.want, got[0].Reason, got[0].Detail) + assert.NotContains(t, got[0].Detail, "-", "an age is never negative") + }) + } +} + // A namespace still being deleted is a warning with a read-only hint: no // /finalize, which would orphan the volumes it is still detaching. func TestStaleNamespaceCheck_TerminatingWarnsWithoutTheFinalizeHint(t *testing.T) { @@ -802,7 +845,7 @@ func TestProbeStaleNamespaces_GradesReleasesByStatus(t *testing.T) { objects = append(objects, rec) } got, err := probeStaleNamespaces(context.Background(), fake.NewSimpleClientset(objects...), - []string{"cassandra-system"}) + []string{"cassandra-system"}, time.Now) require.NoError(t, err, name) if tc.reason == "" { assert.Empty(t, got, name) @@ -822,7 +865,7 @@ func TestProbeStaleNamespaces_ConfigMapReleaseMidOperation(t *testing.T) { &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "nats.v2", Namespace: "nats-system", Labels: map[string]string{"owner": "helm", "name": "nats", "status": "pending-upgrade"}}}, ) - got, err := probeStaleNamespaces(context.Background(), client, []string{"nats-system"}) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nats-system"}, time.Now) require.NoError(t, err) require.Len(t, got, 1) assert.Equal(t, []string{"nats"}, got[0].Releases) @@ -854,7 +897,7 @@ func TestProbeStaleNamespaces_UnreadableWorkloadIsListedNotReported(t *testing.T client.PrependReactor("list", resource, func(ktesting.Action) (bool, runtime.Object, error) { return true, nil, forbidden(resource, "") }) - got, err := probeStaleNamespaces(context.Background(), client, []string{"api-keys"}) + got, err := probeStaleNamespaces(context.Background(), client, []string{"api-keys"}, time.Now) assert.Empty(t, got, resource) require.Error(t, err, resource) assert.Contains(t, err.Error(), "api-keys: list "+resource, resource) @@ -930,7 +973,7 @@ func TestProbeStaleNamespaces_BudgetCutOffIsReturned(t *testing.T) { cancel() return true, nil, context.Canceled }) - _, err := probeStaleNamespaces(ctx, client, []string{"nvcf", "sis"}) + _, err := probeStaleNamespaces(ctx, client, []string{"nvcf", "sis"}, time.Now) require.ErrorIs(t, err, context.Canceled) assert.NotContains(t, err.Error(), "sis", "the scan stops once the context is done") @@ -946,7 +989,7 @@ func TestProbeStaleNamespaces_BudgetCutOffIsReturned(t *testing.T) { cancel() return true, &corev1.PodList{}, nil }) - _, err = probeStaleNamespaces(ctx, client, []string{"nvcf", "sis"}) + _, err = probeStaleNamespaces(ctx, client, []string{"nvcf", "sis"}, time.Now) require.ErrorIs(t, err, context.Canceled, "an unfinished scan is never a clean one") deadline := fmt.Errorf("list pods: %w", context.DeadlineExceeded) @@ -990,7 +1033,7 @@ func TestProbeStaleNamespaces_SQLDriverSkipsTheReleaseLists(t *testing.T) { return true, nil, forbidden(resource, "") }) } - got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}) + got, err := probeStaleNamespaces(context.Background(), client, []string{"nvcf"}, time.Now) require.NoError(t, err) assert.Empty(t, got) } From b9517a5d86fbdceb517c295c2aded918715a6dee Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:44:47 +0530 Subject: [PATCH 089/127] fix(nvcf-cli): fail check on a validator config list entry that is not a string instead of dropping it Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 6 +- src/clis/nvcf-cli/.nvcf-cli.yaml.template | 7 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 45 +- .../self_hosted_check_validatorenv_test.go | 41 + .../agentskill/skilldata_generated.go | 4480 +++++++++-------- 5 files changed, 2328 insertions(+), 2251 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index bb57686dec..9e37e77c41 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -58,10 +58,10 @@ and deleting test namespaces an earlier validator run left behind. | Flag | Purpose | Default | |---|---|---| | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere, the validator does not run and each role's `cluster-validator` row is a warning, so the verdict is `warnings` | - | -| `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries` | - | +| `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries`, a list of strings in this form | - | | `--cluster-validator-probe-image REF` | Image for the node inotify probe and the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | -| `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components` | from the stack | -| `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations` | - | +| `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components`, a list of names | from the stack | +| `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations`, a list of strings in this form, not Kubernetes toleration objects | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | | `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check that runs the validator removes them once they are 24 hours old. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now. Cannot be combined with `--wait` | `false` | diff --git a/src/clis/nvcf-cli/.nvcf-cli.yaml.template b/src/clis/nvcf-cli/.nvcf-cli.yaml.template index f47d90407d..80ead625ca 100644 --- a/src/clis/nvcf-cli/.nvcf-cli.yaml.template +++ b/src/clis/nvcf-cli/.nvcf-cli.yaml.template @@ -181,7 +181,7 @@ api_keys_owner_id: svc@nvcf-api.local # for the cert-manager ACME solver. List only registries beyond those. A # malformed entry fails the command. # -# Config key: cluster_validator_registries (list) +# Config key: cluster_validator_registries (list of strings) # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES (comma-separated) # Command-line flag: --cluster-validator-registries (repeatable or comma-separated) # @@ -205,7 +205,8 @@ api_keys_owner_id: svc@nvcf-api.local # always carries, for clusters whose nodes use other taints. Each entry is # key[=value][:effect], with effect NoSchedule, PreferNoSchedule or NoExecute. # -# Config key: cluster_validator_tolerations +# Config key: cluster_validator_tolerations (list of strings, not Kubernetes +# toleration objects; any other entry fails the command) # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS (comma-separated) # Command-line flag: --cluster-validator-tolerations # @@ -218,7 +219,7 @@ api_keys_owner_id: svc@nvcf-api.local # components whose .enabled the stack's environment file sets to # anything but true. # -# Config key: cluster_validator_external_components (list) +# Config key: cluster_validator_external_components (list of names) # Environment variable: NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS (comma-separated) # Command-line flag: --cluster-validator-external-components # diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 1cabe096fa..80c77ef1db 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -142,7 +142,7 @@ func init() { "(e.g. harbor.company.internal:443/nvcf,ghcr.io); a path scopes the credential check. "+ "Added to the registries the install pulls from. The in-pod probes are warnings only. "+ "A malformed entry fails the command. Env: NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES. "+ - "Can also be set in nvcf-cli config as cluster_validator_registries (list).") + "Can also be set in nvcf-cli config as cluster_validator_registries, a list of strings in this format.") _ = viper.BindPFlag("cluster_validator_registries", selfHostedCheckCmd.Flags().Lookup("cluster-validator-registries")) selfHostedCheckCmd.Flags().StringSliceVar(&checkClusterValidatorTolerations, "cluster-validator-tolerations", nil, @@ -150,7 +150,7 @@ func init() { "control-plane ones it always tolerates. Format: key[=value][:effect], effect one of NoSchedule, "+ "PreferNoSchedule or NoExecute (e.g. dedicated=infra:NoSchedule). Repeatable or comma-separated. "+ "Env: NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS. "+ - "Can also be set in nvcf-cli config as cluster_validator_tolerations (list).") + "Can also be set in nvcf-cli config as cluster_validator_tolerations, a list of strings in this format.") _ = viper.BindPFlag("cluster_validator_tolerations", selfHostedCheckCmd.Flags().Lookup("cluster-validator-tolerations")) selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorProbeImage, "cluster-validator-probe-image", "", @@ -167,7 +167,7 @@ func init() { "them in the cluster: a subset of nats, openbao and cassandra. Repeatable or comma-separated. "+ "Defaults to NVCF_EXTERNAL_COMPONENTS, then to the components the stack's environment file "+ "disables. Env: NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS. "+ - "Can also be set in nvcf-cli config as cluster_validator_external_components (list).") + "Can also be set in nvcf-cli config as cluster_validator_external_components, a list of names.") _ = viper.BindPFlag("cluster_validator_external_components", selfHostedCheckCmd.Flags().Lookup("cluster-validator-external-components")) selfHostedCheckCmd.Flags().BoolVar(&checkShowLogs, "show-logs", false, @@ -716,6 +716,28 @@ func localStackDir(src string) string { return "" } +// configList returns a list setting from its flag, env var or config file. +// viper.GetStringSlice reads a config-file entry that is a map or a list, +// such as a Kubernetes-style toleration, as "", which would drop it without a +// word, so such an entry is an error naming it. +func configList(key string) ([]string, error) { + raw, ok := viper.Get(key).([]any) + if !ok { + return viper.GetStringSlice(key), nil + } + out := make([]string, 0, len(raw)) + for i, item := range raw { + switch v := item.(type) { + case nil: + case string, bool, int, int64, uint64, float64: + out = append(out, fmt.Sprint(v)) + default: + return nil, fmt.Errorf("%s entry %d is not a string: %v", key, i+1, v) + } + } + return out, nil +} + // configuredValidatorRegistries parses the extra registries from the flag, // env var, or config file, one entry per registry. A malformed entry is an // error naming it, as a malformed toleration is. @@ -723,8 +745,12 @@ func localStackDir(src string) string { // viper.GetStringSlice splits a raw env string on whitespace, so the documented // comma form "a:443,b:443" arrives as a single element and is split here. func configuredValidatorRegistries() ([]selfhosted.RegistryEntry, error) { + raws, err := configList("cluster_validator_registries") + if err != nil { + return nil, fmt.Errorf("%w; write each registry as host[:port][/path]", err) + } var out []selfhosted.RegistryEntry - for _, raw := range viper.GetStringSlice("cluster_validator_registries") { + for _, raw := range raws { for _, part := range strings.Split(raw, ",") { if part = strings.TrimSpace(part); part == "" { continue @@ -744,8 +770,12 @@ func configuredValidatorRegistries() ([]selfhosted.RegistryEntry, error) { // a value it matches that value, without one any; with no effect it matches // every effect. func configuredValidatorTolerations() ([]corev1.Toleration, error) { + raws, err := configList("cluster_validator_tolerations") + if err != nil { + return nil, fmt.Errorf("%w; write each toleration as key[=value][:effect]", err) + } var out []corev1.Toleration - for _, raw := range viper.GetStringSlice("cluster_validator_tolerations") { + for _, raw := range raws { for _, entry := range strings.Split(raw, ",") { if entry = strings.TrimSpace(entry); entry == "" { continue @@ -1199,7 +1229,10 @@ func configuredProbeImage() string { // config key), then NVCF_EXTERNAL_COMPONENTS. nil means neither is set, and // the stack values decide. func configuredExternalComponents() ([]string, error) { - raw := viper.GetStringSlice("cluster_validator_external_components") + raw, err := configList("cluster_validator_external_components") + if err != nil { + return nil, fmt.Errorf("%w; write each component as its name", err) + } if len(raw) == 0 { raw = []string{configValue("NVCF_EXTERNAL_COMPONENTS")} } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 6d6e480b4e..d60849abc6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -23,6 +23,7 @@ import ( "errors" "os" "path/filepath" + "strings" "sync" "sync/atomic" "testing" @@ -267,6 +268,46 @@ func TestCheck_ValidatorTolerationsReachBothRoles(t *testing.T) { assert.Contains(t, err.Error(), "effect must be NoSchedule, PreferNoSchedule or NoExecute") } +// withConfigFile loads body as the nvcf-cli config file for one test. +func withConfigFile(t *testing.T, body string) { + t.Helper() + viper.SetConfigType("yaml") + require.NoError(t, viper.ReadConfig(strings.NewReader(body))) + t.Cleanup(func() { _ = viper.ReadConfig(strings.NewReader("{}")) }) +} + +// A config-file entry that is not a string, such as a Kubernetes-style +// toleration, fails the command naming it. Read as a string slice it was "" +// and dropped without a word, leaving the validator pod unschedulable. +func TestCheck_NonStringConfigListEntryFailsTheCommand(t *testing.T) { + for key, hint := range map[string]string{ + "cluster_validator_tolerations": "write each toleration as key[=value][:effect]", + "cluster_validator_registries": "write each registry as host[:port][/path]", + "cluster_validator_external_components": "write each component as its name", + } { + t.Run(key, func(t *testing.T) { + resetCheckFlags(t) + withConfigFile(t, key+":\n - {key: dedicated, operator: Equal, value: infra, effect: NoSchedule}\n") + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), key+" entry 1 is not a string: map[") + assert.Contains(t, err.Error(), hint) + }) + } + + resetCheckFlags(t) + withConfigFile(t, "cluster_validator_tolerations:\n - dedicated=infra:NoSchedule\n - special\n") + got, err := configuredValidatorTolerations() + require.NoError(t, err) + assert.Equal(t, []corev1.Toleration{ + {Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", Effect: corev1.TaintEffectNoSchedule}, + {Key: "special", Operator: corev1.TolerationOpExists}, + }, got, "string entries are read as before") +} + func TestParseToleration(t *testing.T) { for in, want := range map[string]corev1.Toleration{ "dedicated=infra:NoSchedule": {Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 2b0464a0b7..28f9c64186 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIwODQsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIyMDAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIzNTM5MGRlYzNhODBhODBi" + - "YTgyMjIzODU3YTg2NWUyYmI3MTI3ZTE0ZTM4ZWFiYzY5MmFmZWU2ZDBhMTVlNGEyIiwKICAgICAg" + - "InNpemUiOiAyMTgxNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NWI4ODBhZTE1ZDFmMWFl" + + "YjBkYjY3ODRhMDI3M2NhYWNhYzg4YzJiNjViM2Y4ZDQ3ODE4MWM2N2U1YjNmNWU3IiwKICAgICAg" + + "InNpemUiOiAyMTkzMAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImYx" + "OTk2OGJmNDk5MDhkZWRkODJjMDJkZWE5MjVlZDAzZjkzZGI2ODY5NDIxNTMwNzI0NmQyZjNmOTYw" + "YjA5MTQiLAogICAgICAic2l6ZSI6IDg0MzYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJSJSNtKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCFyEGDdKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1843,2249 +1843,2251 @@ const skillDataZipBase64 = "" + "cG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBoYXMgbm8gcHJveHku" + "IEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1h" + "LXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7" + - "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgIHwgLSB8CnwgYC0tY2x1" + - "c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90" + - "aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUg" + - "b3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBh" + - "IG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + - "QUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9i" + - "ZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXIt" + - "dmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5j" + - "aWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFs" + - "aWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9m" + - "IGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxz" + - "IHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0" + - "byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9z" + - "ZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBh" + - "bnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRF" + - "Uk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxf" + - "Y29tcG9uZW50c2AgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9s" + - "ZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRv" + - "IHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdh" + - "eXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVm" + - "ZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4g" + - "QSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEt" + - "c2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7" + - "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCB8IC0gfAp8IGAtLWNs" + - "dXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3Jl" + - "dCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1w" + - "dHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0" + - "YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSBy" + - "ZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRo" + - "ZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhh" + - "dCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50" + - "aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Ag" + - "cm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3Bp" + - "ZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1j" + - "bHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUg" + - "ZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBm" + - "YWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4" + - "YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdz" + - "IGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQg" + - "d2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElE" + - "QVRJT05gIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3Ig" + - "Sm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dp" + - "bmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5k" + - "ZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBp" + - "bnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayB0aGF0" + - "IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVzIHRoZW0gb25jZSB0aGV5IGFyZSAyNCBob3VycyBv" + - "bGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBs" + - "YXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cu" + - "IENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXdhaXRgIHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1s" + - "b2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRo" + - "ZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBgLS0tIGNsdXN0ZXItdmFsaWRhdG9yIGxvZ3MgKDxj" + - "YXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hpbmcgZW5kIGxpbmUsIHdoZXJlIHRoZSBjYXRlZ29y" + - "eSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVyYCBvciBgY29tcHV0ZS1wbGFuZS1jbHVzdGVyYC4g" + - "VGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBz" + - "dGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3Ry" + - "ZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVz" + - "IGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3Jl" + - "ZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25m" + - "aWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNT" + - "dG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkg" + - "a2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9L" + - "RVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJ" + - "X0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5" + - "IGZvciBhCmJhcmUgYC0tcHJlYCBydW4gd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2lu" + - "Y2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsCnNlY3JldHMgZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVy" + - "IHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4gRWxzZXdoZXJlIHRoZSBrZXkKaXMgc2VudCB3aGVu" + - "IHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3Igd2hlbiBgbnZjci5pb2AgcmVqZWN0cyB0aGUg" + - "ZG9ja2VyCmxvZ2luLiBUaGUgcnVuIHRoZW4gdXNlcyB0aGUga2V5LCBmb3IgdGFnIGRpc2NvdmVy" + - "eSBhbmQgdGhlIHZhbGlkYXRvcidzIHB1bGwKc2VjcmV0IHRvbywgYW5kIHRoZSByb3cgc2F5cyBo" + - "b3cgdG8gcmVuZXcgdGhlIGxvZ2luIGBkb2NrZXJgIHN0aWxsIHNlbmRzLgpFYWNoIGAtLXdhaXRg" + - "IHBvbGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hp" + - "bGUgdGhlCnJ1biB3YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tz" + - "IGZvciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQg" + - "dG8gdGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdp" + - "c3RyeWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9u" + - "ZSBzZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRo" + - "ZSBzY29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuCgpPbmx5IGEgY3JlZGVudGlhbCB0" + - "aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQgb25seSBmb3IgYW4gTlZJRElB" + - "CnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMuIEFmdGVyIGluc3RhbGwgYSBy" + - "ZWplY3RlZCBjcmVkZW50aWFsIGlzCmEgd2FybmluZywgc2luY2UgdGhlIGNsdXN0ZXIgcHVsbHMg" + - "d2l0aCBpdHMgb3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFjaGluZSBjYW5ub3Qg" + - "cmVhY2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsCmNy" + - "ZWRlbnRpYWwgYXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsg" + - "dG8sIHN1Y2ggYXMgRUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBza2lwcGVkIHdpdGgg" + - "YSBjb21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMg" + - "bWFjaGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMKdmFsaWQg" + - "Y3JlZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlk" + - "YXRvciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGgg" + - "aXRzCmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFj" + - "ay4KCnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkg" + - "fAp8LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0" + - "ZXdheXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNz" + - "IGBpbmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRo" + - "IGByb3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRo" + - "IGByb3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNv" + - "bW1hLXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRy" + - "b3BwZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydz" + - "IGdhdGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGku" + - "Y29udHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8" + - "IEV4dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3" + - "aG9zZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxp" + - "ZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNg" + - "IHwKfCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUg" + - "dmFsaWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWly" + - "aW5nIGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5h" + - "bWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUg" + - "aW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9O" + - "Mk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRo" + - "ZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3Jp" + - "YmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAg" + - "b3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9y" + - "IGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAg" + - "aW5zdGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwg" + - "dXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBg" + - "YmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBj" + - "b21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRlLXBsYW5lLW9ubHkg" + - "cnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2NhbCBkaXJlY3Rvcnkg" + - "aXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJvbSB0aGUgY29weSBh" + - "biBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3Rh" + - "Y2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwg" + - "Y2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBidWlsdC1pbiBzdGFj" + - "ayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291dCBhYm92ZSB0aGUg" + - "d29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBm" + - "b3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRl" + - "cywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNw" + - "ZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1j" + - "bHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVk" + - "KSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRg" + - "IHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8" + - "IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQg" + - "Y2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExp" + - "bWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8" + - "IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2" + - "YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVg" + - "IHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lw" + - "IGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmlj" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5B" + - "TUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + - "IElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13" + - "ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmln" + - "IHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFp" + - "bC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0" + - "aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0" + - "IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRh" + - "YmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4" + - "cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBh" + - "cnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFND" + - "T1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2" + - "aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQg" + - "a2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0" + - "aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRg" + - "IChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0t" + - "aW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBk" + - "ZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1" + - "bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwK" + - "fCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2Ut" + - "dXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJl" + - "bmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5j" + - "dGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVG" + - "QVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + - "ZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0" + - "LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5B" + - "TUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVp" + - "cmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + - "UlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2Rl" + - "bD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1p" + - "dD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5g" + - "IHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBV" + - "c2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNw" + - "ZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + - "dC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJp" + - "b3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0t" + - "cGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9y" + - "aXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0Eg" + - "SUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09O" + - "IGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4g" + - "YGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0g" + - "cGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBg" + - "L3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGlu" + - "Z3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBv" + - "d2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpg" + - "bGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFy" + - "YXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZv" + - "cm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBg" + - "SGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5p" + - "dHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAw" + - "MDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2th" + - "Z2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBi" + - "YWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0" + - "YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRo" + - "ZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJu" + - "ZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExN" + - "IGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5h" + - "bWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + - "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBS" + - "ZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBm" + - "b3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBm" + - "dW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3Mg" + - "fCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9y" + - "bWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + - "bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAu" + - "IFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmlu" + - "ZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZ" + - "YCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0" + - "aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwg" + - "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + - "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + - "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + - "IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11g" + - "IGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBh" + - "bmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUg" + - "bW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1" + - "bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJl" + - "Y29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQg" + - "SURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBm" + - "YW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQ" + - "VS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8" + - "CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJl" + - "cXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBk" + - "ZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3Bl" + - "Y2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBj" + - "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciBy" + - "ZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUg" + - "KHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAg" + - "fAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + - "ZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFu" + - "Y2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQ" + - "LkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0" + - "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hB" + - "UlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2" + - "ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVj" + - "IGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQg" + - "fAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3Rl" + - "cnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8" + - "IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3Nl" + - "ZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0t" + - "ZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFs" + - "dWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8Cnwg" + - "YC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVw" + - "ZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElP" + - "TmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5v" + - "IGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJ" + - "T05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwg" + - "U2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05g" + - "IHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVm" + - "YXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRv" + - "IGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9u" + - "IExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFt" + - "LW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExP" + - "QURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7" + - "IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNv" + - "dXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRh" + - "c2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNr" + - "IGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRl" + - "bGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURg" + - "IHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1l" + - "dHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcILQJw" + - "PDZVAAA2VQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNo" + - "b290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVt" + - "ZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJ" + - "IGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNo" + - "b3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlh" + - "dGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5n" + - "IGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhl" + - "IHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dz" + - "CnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1s" + - "b2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVt" + - "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwg" + - "T3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRo" + - "IGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5l" + - "ZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2Rv" + - "Y3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBv" + - "biBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5z" + - "dGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9o" + - "ZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVu" + - "OiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8g" + - "dmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFs" + - "aWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNv" + - "bmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBz" + - "byB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRh" + - "dG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmll" + - "ZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRo" + - "ZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8Cnwg" + - "YGNsdXN0ZXItdmFsaWRhdG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5v" + - "dCBiZSByZWFkICguLi4pYCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMg" + - "bG9nIGNvdWxkIG5vdCBiZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9u" + - "IGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2gg" + - "dGhlIGt1YmVsZXQuIFdhcm5pbmdzIGl0IHJlcG9ydGVkIGFyZSBub3Qgc2hvd24gfCBHcmFudCBg" + - "Z2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3" + - "aXRoIHRoZSBga3ViZWN0bCBsb2dzYCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZh" + - "bGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxl" + - "ZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6" + - "Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0" + - "ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJl" + - "cG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0" + - "ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBB" + - "bm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJh" + - "bm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNz" + - "IjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sn" + - "cyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNz" + - "IHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6" + - "IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUg" + - "YWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJ" + - "QSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0" + - "dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRv" + - "ci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVy" + - "YXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3" + - "YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzog" + - "Li4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcg" + - "Zm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBm" + - "YWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6" + - "ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwg" + - "Z2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hh" + - "dCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0" + - "aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBh" + - "cyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGlu" + - "ZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBz" + - "dGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNo" + - "ZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0" + - "aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0g" + - "cmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFu" + - "IGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQg" + - "dGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAg" + - "ZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQg" + - "YGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhl" + - "bG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDog" + - "YDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5v" + - "IHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1l" + - "IGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVp" + - "bnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0" + - "bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJn" + - "cyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRg" + - "LiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxz" + - "byBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8g" + - "SGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2Vz" + - "IHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAg" + - "ZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZp" + - "cm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBj" + - "aGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGRvbiBvciBn" + - "YXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJlaGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBh" + - "cmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUgaXMgb24uIEdhdGVzIGNvbWUgZnJvbSB0aGUg" + - "c3RhY2sgdGhlIGluc3RhbGwgdXNlZCwgZm91bmQgYXMgZm9yIHRoZSBbc2V0dGluZ3MgcmVhZCBm" + - "cm9tIHRoZSBzdGFja10oZmxhZ3MubWQjc2V0dGluZ3MtcmVhZC1mcm9tLXRoZS1zdGFjayk6IGl0" + - "cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5kLCB3aGVuIGAtLWVudmAgb3IgYEhFTE1GSUxF" + - "X0VOVmAgbmFtZXMgdGhlIGVudmlyb25tZW50IG9yIGAtLXByZWAgY2hlY2tzIHRoZSBwbGFuZSBi" + - "ZWZvcmUgaXRzIGluc3RhbGwsIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAuIE90aGVyd2lzZSB0" + - "aGUgc3RhY2sgZGVmYXVsdHMgZGVjaWRlLCB3aGljaCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBn" + - "cm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAgYW5kIGBudmNmLXVpYCBvZmYgfCBQYXNzIHRo" + - "ZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQsIGFuZCB0aGUgc3RhY2sgZmxhZyB0aGUgaW5zdGFs" + - "bCB1c2VkLCBpZiBhbnkgfAoKIyMgQXV0aAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlv" + - "biB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9rZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4p" + - "IHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQgYC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZj" + - "Zi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBgLS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0" + - "aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhw" + - "ZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24g" + - "ZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0" + - "aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRo" + - "b3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBBZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGlu" + - "dm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2Ny" + - "aXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tlIHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVk" + - "IG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBz" + - "dHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3Vi" + - "ZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05D" + - "UC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rpb24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKA" + - "lCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhlIFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAs" + - "IGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUg" + - "cHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8gaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwg" + - "YC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JFR0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1y" + - "ZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1lbXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVu" + - "diAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxh" + - "bmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVmb3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJh" + - "RW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBVcGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxl" + - "YXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Etb3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZg" + - "IGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5" + - "OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2FsIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5p" + - "by8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFu" + - "ZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09mZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9u" + - "dmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBTdGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdpc3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1h" + - "dGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZpbGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVyIHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBg" + - "Tm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJ" + - "Q01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24ndCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUg" + - "SzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1" + - "c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9kIGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZj" + - "Zi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdy" + - "b25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNr" + - "IHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9Z" + - "SU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0gaW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCU" + - "IHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxsb3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3Mg" + - "LW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91" + - "dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVgIHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJl" + - "Z2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1lYCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91" + - "cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFmdGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFk" + - "ZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBh" + - "bHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBO" + - "VkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3Qu" + - "bnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVNYCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVz" + - "IHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBjb3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8g" + - "YWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFy" + - "dCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseSB8ClBLBwi1BfOC9CAA" + - "APQgAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOEi0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4tCiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNG" + - "IHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5kIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBz" + - "dGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlv" + - "biBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQg" + - "dHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2Yt" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29tcHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwg" + - "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQog" + - "IHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5hZ2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3lt" + - "ZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBrM2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxv" + - "Y2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBpbnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4w" + - "CmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1maWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0g" + - "Pj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3ViZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNp" + - "b24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEu" + - "Y29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmls" + - "ZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxl" + - "LCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwg" + - "UmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRhdGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0" + - "aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIK" + - "ICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBz" + - "ZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGlu" + - "c3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gs" + - "IHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxlLCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjog" + - "Y2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5WQ0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJh" + - "dGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBtYXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUg" + - "YW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVuZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNl" + - "IHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3JhZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0" + - "Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1z" + - "dGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRv" + - "ZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rp" + - "b24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0" + - "aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlzaXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVk" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwK" + - "YWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJzaW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFzaApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + - "aGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wt" + - "cGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + - "b3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5l" + - "LXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5n" + - "b3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNo" + - "aW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoKCmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291" + - "cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNp" + - "b24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJl" + - "bG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBidW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21t" + - "YW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJlIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgoj" + - "IyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9vbGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55" + - "IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUgLS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54" + - "ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBN" + - "dXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlzdCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1k" + - "aWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAgICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4g" + - "MSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBgCgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1" + - "biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBg" + - "YGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFuYWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBl" + - "bnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRo" + - "ZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVudHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0" + - "cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBF" + - "bmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJj" + - "L2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMgSG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5k" + - "aW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMgdGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRp" + - "b24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25tZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRl" + - "ZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAg" + - "ICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25zdW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwg" + - "ICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQog" + - "ICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0" + - "aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4gYnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + - "bG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpgYGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwu" + - "Z290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAo" + - "aW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3RvcnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRz" + - "KS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZp" + - "bGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlmIGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMg" + - "bm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRlIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVz" + - "ZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpgIGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVs" + - "bSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhlbG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFu" + - "IEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNl" + - "Y3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdpc3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + + "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgLCBhIGxpc3Qgb2Ygc3Ry" + + "aW5ncyBpbiB0aGlzIGZvcm0gfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFn" + + "ZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9s" + + "LXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hg" + + "IGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNs" + + "dXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNv" + + "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZg" + + "IGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9u" + + "ZW50cyBOQU1FLC4uLmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUg" + + "c3RhY2ssIG9yIG5vdCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3Ig" + + "dGhlbSBpbiB0aGUgY2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBj" + + "YXNzYW5kcmFgLiBBbiB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUg" + + "b3IgY29tbWEtc2VwYXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVO" + + "VFNgLCB0aGVuIHRvIHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0" + + "YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjog" + + "YE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcg" + + "a2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCwgYSBsaXN0IG9mIG5h" + + "bWVzIHwgZnJvbSB0aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25z" + + "IGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFs" + + "aWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJp" + + "ZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMg" + + "YE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9y" + + "bWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRl" + + "ZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcg" + + "a2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGlu" + + "IHRoaXMgZm9ybSwgbm90IEt1YmVybmV0ZXMgdG9sZXJhdGlvbiBvYmplY3RzIHwgLSB8CnwgYC0t" + + "Y2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2Vj" + + "cmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBl" + + "bXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0ZWQgaW4gYGRlZmF1" + + "bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBpdCBjb3BpZXMgdGhl" + + "IHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20gYSBTZWNyZXQgaW4g" + + "dGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0" + + "aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFjaGluZSdzIGNyZWRl" + + "bnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxz" + + "YCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlzIHdoYXQgd2FzIGNv" + + "cGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lw" + + "LWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9i" + + "ZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBjYW5ub3QgcnVu" + + "IGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNpdGx5LCBmb3Ig" + + "ZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4gRWFjaCByb2xl" + + "J3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBp" + + "dCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFM" + + "SURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRv" + + "ciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVn" + + "Z2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3Bl" + + "bmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7" + + "IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHRo" + + "YXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhvdXJz" + + "IG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhl" + + "IGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5v" + + "dy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1zaG93" + + "LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIg" + + "dGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0b3IgbG9ncyAo" + + "PGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNhdGVn" + + "b3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0ZXJg" + + "LiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRv" + + "IHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBz" + + "dHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9i" + + "ZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApj" + + "cmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2Nv" + + "bmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVk" + + "c1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQ" + + "SSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJ" + + "X0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19B" + + "UElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9u" + + "bHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxgIGVudmlyb25tZW50LCBz" + + "aW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0LCBhbmQgaXQgaXMgbmV2" + + "ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtleQppcyBzZW50IHdo" + + "ZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNyLmlvYCByZWplY3RzIHRo" + + "ZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXksIGZvciB0YWcgZGlzY292" + + "ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBhbmQgdGhlIHJvdyBzYXlz" + + "IGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2VuZHMuCkVhY2ggYC0td2Fp" + + "dGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9naW4gcmVuZXdlZCB3" + + "aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhlIHByb2JlIGFz" + + "a3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBvc2l0b3J5IGFu" + + "ZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFsLmltYWdlLnJl" + + "Z2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNrIHBhdGggb2Yg" + + "b25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMgbm90IHNlbnQgYXMg" + + "dGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9ubHkgYSBjcmVkZW50aWFs" + + "IHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZvciBhbiBOVklE" + + "SUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQWZ0ZXIgaW5zdGFsbCBh" + + "IHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUgY2x1c3RlciBwdWxs" + + "cyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwptYWNoaW5lIGNhbm5v" + + "dCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3NpbmcgbG9jYWwK" + + "Y3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2JlIGNhbm5vdCBzcGVh" + + "ayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzIHNraXBwZWQgd2l0" + + "aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0aGF0IGxldHMgdGhp" + + "cyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5vdCBhcwp2YWxp" + + "ZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrCgpUaGUgdmFs" + + "aWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9uZSBzZXQgd2l0" + + "aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92ZXIgdGhlIHN0" + + "YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQgY29uZmlnIGtl" + + "eSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5n" + + "YXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczogbm9uZSB1bmxl" + + "c3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRzYCBvbmx5IHdp" + + "dGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWljYCBvbmx5IHdp" + + "dGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05BTUVTYCwgYXMg" + + "Y29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJlIG5hbWUgaXMg" + + "ZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMgdGhlIHN0YWNr" + + "J3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3MuZ2F0ZXdheUFw" + + "aS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFNRVNQQUNFYCB8" + + "CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBjYXNzYW5kcmFg" + + "IHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5U" + + "U2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hlbiBzZXQsIHRo" + + "ZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVhZCBvZiByZXF1" + + "aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8IE9wZW5CYW8g" + + "bmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3ZlcmxheSBwcm9i" + + "ZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9yIGBOVkNG" + + "X04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21lIGZyb20g" + + "dGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhleSBkZXNj" + + "cmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGggYC0tZW52" + + "YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIHVzZWQgb25seSBm" + + "b3IgYSBwbGFuZSBgLS1wcmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGwsCiAgc2luY2UgYHVw" + + "YCBpbnN0YWxscyB3aXRoIGl0LiBPdGhlcndpc2UgcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFs" + + "bCB1c2VkLgotIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVy" + + "IGBiYXNlLnlhbWxgLiBgYmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxl" + + "IGNvbWVzIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25s" + + "eSBydW4pLCBlbHNlIHRoZSBDTEkncwogIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9y" + + "eSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4gYG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5" + + "IGFuIGVhcmxpZXIgY29tbWFuZCBleHRyYWN0ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBz" + + "dGFjaywKICBgZmlsZTovL2AgaW5jbHVkZWQsIGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFs" + + "bCBjbG9uZWQgaXRzIGNvbW1pdHRlZAogIHN0YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0" + + "YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRzIHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRo" + + "ZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVyd2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlz" + + "IGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBmaW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91" + + "dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2JlZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAt" + + "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWly" + + "ZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVs" + + "dGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8" + + "CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91" + + "dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwg" + + "TGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8" + + "CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRl" + + "cnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFN" + + "RWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNr" + + "aXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lm" + + "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + + "TkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBO" + + "Q0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVz" + + "LXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25m" + + "aWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBm" + + "YWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmlj" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVu" + + "Y3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9t" + + "aXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVh" + + "ZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0t" + + "ZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsg" + + "cGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVss" + + "U0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNl" + + "cnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRl" + + "ZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVy" + + "YXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBg" + + "ZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpg" + + "LS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9u" + + "IGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0g" + + "fAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5j" + + "ZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZl" + + "cmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1" + + "bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBE" + + "RUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kg" + + "cmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hh" + + "cnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2Ug" + + "TkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVx" + + "dWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6" + + "VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwK" + + "fCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1v" + + "ZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxp" + + "bWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0" + + "PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2Au" + + "IFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUg" + + "c3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZh" + + "dWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBw" + + "cmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxs" + + "bS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJp" + + "b3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5D" + + "QSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpT" + + "T04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdg" + + "LiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVh" + + "bSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJl" + + "IGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRk" + + "aW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBg" + + "cG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAu" + + "CmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2Vw" + + "YXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAg" + + "Zm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyks" + + "IGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1" + + "bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEw" + + "MDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFj" + + "a2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0" + + "IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hh" + + "cnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4g" + + "dGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJl" + + "cm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpM" + + "TE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwt" + + "bmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0" + + "aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5k" + + "IFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRg" + + "IGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMg" + + "YGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFn" + + "cyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBm" + + "b3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + + "PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVs" + + "YC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21i" + + "aW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJ" + + "VFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3" + + "aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4g" + + "fCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBl" + + "ci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2" + + "NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHku" + + "IHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNb" + + "XWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2Rg" + + "IGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGlt" + + "ZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBg" + + "ZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMg" + + "cmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1p" + + "ZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BV" + + "IGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1Au" + + "R1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFg" + + "IHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgt" + + "cmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVy" + + "IGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBz" + + "cGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNr" + + "IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9y" + + "IHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQ" + + "dXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFt" + + "ZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSok" + + "YCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1m" + + "aWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0" + + "YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBO" + + "Q1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBN" + + "dXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBD" + + "SEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVz" + + "aXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNw" + + "ZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNl" + + "dCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVz" + + "dGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNl" + + "IHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFz" + + "c2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAi" + + "LS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12" + + "YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwK" + + "fCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyBy" + + "ZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFU" + + "SU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwg" + + "Tm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJB" + + "VElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkg" + + "fCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElP" + + "TmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBk" + + "ZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cg" + + "dG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRp" + + "b24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3Rl" + + "YW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQ" + + "TE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFj" + + "dDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJl" + + "c291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwg" + + "VGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRh" + + "c2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3Mg" + + "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJ" + + "RGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxl" + + "bWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwgt" + + "HejNqlUAAKpVAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxl" + + "c2hvb3RpbmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSBy" + + "ZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBD" + + "TEkgZW1pdHMgKFJFUS0xNSk6IG91dHNpZGUgcHJlLWZsaWdodCwgZXZlcnkgZW50cnkgYmVsb3cg" + + "c2hvdWxkIG1hcCB0byBhIGBwaGFzZV9mYWlsZWRgIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVk" + + "aWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCmBjaGVja2AgcmVwb3J0cyBlYWNoIGZpbmRp" + + "bmcgYXMgYSBgY2hlY2tfY29tcGxldGVkYCBldmVudCwgbm90IGFzCmBwaGFzZV9mYWlsZWRgLiBU" + + "aGUgc3ltcHRvbSBpcyB0aGUgZXZlbnQncyBgbWVzc2FnZWA7IGNsdXN0ZXItdmFsaWRhdG9yIHJv" + + "d3MKcXVvdGUgdGhlIHZhbGlkYXRvcidzIGZhaWxlZCBzdW1tYXJ5IHJvd3MsIGFuZCBgLS1zaG93" + + "LWxvZ3NgIHByaW50cyB0aGUgZnVsbAp0cmFuc2NyaXB0LgoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBS" + + "ZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3QgZm91bmQgb24gUEFUSGAg" + + "fCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwuIEFuIGVycm9yIHdp" + + "dGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIHdhcm4sIGFkZGluZyBgOyBvbmx5IGFuIGluc3RhbGwg" + + "bmVlZHMgaXRgIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8v" + + "ZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IGZvdW5k" + + "IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNp" + + "bnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczov" + + "L2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIG5vdCBy" + + "dW46IGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlIGlzIG5vdCBzZXQ7IC4uLmAsIHdhcm5pbmcgfCBO" + + "byB2YWxpZGF0b3IgaW1hZ2UgaXMgY29uZmlndXJlZCwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2" + + "YWxpZGF0ZWQgfCBTZXQgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpbiB0aGUgbnZjZi1jbGkg" + + "Y29uZmlnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgIG9yIGAtLWNsdXN0ZXIt" + + "dmFsaWRhdG9yLWltYWdlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIGRpZCBub3QgY29tcGxldGUs" + + "IHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkOiAuLi5gLCBlcnJvciB8IFRoZSB2YWxp" + + "ZGF0b3IgY291bGQgbm90IHJ1biBvciBlbmRlZCBiZWZvcmUgaXRzIHZlcmRpY3Q6IFJCQUMgZGVu" + + "aWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCB8IEZpeCB0aGUgY2F1c2Ug" + + "dGhlIG1lc3NhZ2UgbmFtZXMsIG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwK" + + "fCBgY2x1c3Rlci12YWxpZGF0b3IgSm9iIHN1Y2NlZWRlZDsgaXRzIHRyYW5zY3JpcHQgY291bGQg" + + "bm90IGJlIHJlYWQgKC4uLilgLCBwYXNzZWQgfCBUaGUgdmFsaWRhdG9yIHBhc3NlZCwgYnV0IGl0" + + "cyBsb2cgY291bGQgbm90IGJlIHJlYWQ6IHRoZSBrdWJlY29uZmlnIHVzZXIgbGFja3MgYGdldGAg" + + "b24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHRoZSBBUEkgc2VydmVyIGNhbm5vdCByZWFj" + + "aCB0aGUga3ViZWxldC4gV2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93biB8IEdyYW50" + + "IGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciByZWFkIHRoZSB0cmFuc2NyaXB0" + + "IHdpdGggdGhlIGBrdWJlY3RsIGxvZ3NgIGNvbW1hbmQgaW4gdGhlIHJvdyB8CnwgYGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRzOiBOb3QgSW5zdGFs" + + "bGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9j" + + "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1n" + + "YXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Ig" + + "cmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3QgRm91bmRgIHwgQ2x1" + + "c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5vdCBuYW1lIG9uZSB8" + + "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + + "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + + "c3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgIGluIHRoZSBzdGFj" + + "aydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1NgKSB0byB0aGUgY2xh" + + "c3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJl" + + "czogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxhbmUpIHwgTm8gbm9k" + + "ZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVzLCBvciB0aGUgTlZJ" + + "RElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwgSW5zdGFsbCBwZXIg" + + "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJh" + + "dG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9w" + + "ZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVkYCBhbG9uZSBpcyBh" + + "IHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNrIFRlcm1pbmF0aW5n" + + "OiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBkZWxldGlu" + + "ZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9ydCBhIGRlbGV0aW9u" + + "IGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBob2xkcyBhIGZpbmFs" + + "aXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjogcmVhZCBga3ViZWN0" + + "bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9uc30nYCwgbGlzdCB3" + + "aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQsIGFuZCByZXNvbHZl" + + "IHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmluYWxpemVycyBvbmx5" + + "IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKFRlcm1pbmF0" + + "aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFsIGRlbGV0aW9uIGlz" + + "IHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0IGFuZCByZXJ1biBg" + + "Y2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBgc3R1Y2sgVGVybWlu" + + "YXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoSGVs" + + "bSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilgLCB3YXJuaW5nIHwg" + + "QW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3IgdGVhcmRvd24gbGVm" + + "dCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4gVGhlIG5leHQgYHVw" + + "YCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMgcnVubmluZywgcmVh" + + "ZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5pc2ggaXQgd2l0aCBg" + + "aGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "OiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFtZXNwYWNlIHJ1bnMg" + + "bm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGlsbCBob2xkcyB2b2x1" + + "bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2ZXMgdGhlbS4gQSBy" + + "ZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0IG9ubHk6IGBrdWJl" + + "Y3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAtbyBuYW1lIFx8IHhh" + + "cmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdub3JlLW5vdC1mb3Vu" + + "ZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVkIGNvbXBvbmVudCBh" + + "bHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCByZXBvcnRzIGBu" + + "byBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBzdG9yZXMgcmVsZWFz" + + "ZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMgYEhFTE1fRFJJVkVS" + + "YCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhlIGhlbG1maWxlIGVu" + + "dmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5hbWVzcGFjZXMgYXJl" + + "IGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2FuIGFuIGFkZG9uIG9y" + + "IGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpg" + + "IGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRo" + + "ZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFk" + + "IGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTog" + + "aXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJ" + + "TEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5l" + + "IGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNl" + + "IHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwg" + + "YGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3Mg" + + "dGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0" + + "YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + + "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1" + + "bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBu" + + "dmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJh" + + "Y3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBl" + + "eHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNv" + + "biBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVg" + + "IHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1" + + "dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBg" + + "aW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVz" + + "Y3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwg" + + "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGlt" + + "ZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZD" + + "IHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBr" + + "dWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAn" + + "TkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg" + + "4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAi" + + "YCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBi" + + "ZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkg" + + "fCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAt" + + "LXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVk" + + "RW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1w" + + "bGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0" + + "cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJl" + + "bGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09m" + + "ZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0" + + "cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNy" + + "LmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBs" + + "YW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwt" + + "LS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3Yx" + + "L252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3Qg" + + "bWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8" + + "IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAg" + + "KElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFu" + + "ZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1j" + + "bHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBu" + + "dmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Ig" + + "d3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hl" + + "Y2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBM" + + "T1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDi" + + "gJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9n" + + "cyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxs" + + "b3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + + "IHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4g" + + "cmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZp" + + "b3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + + "YWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRg" + + "IGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6" + + "IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZj" + + "dC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxp" + + "ZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0" + + "byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0" + + "YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCLUF84L0" + + "IAAA9CAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5W" + + "Q0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQog" + + "IHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0" + + "aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFu" + + "ZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZj" + + "Zi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9u" + + "LCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5l" + + "CiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxv" + + "eW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUg" + + "bG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0y" + + "LjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVs" + + "bSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVy" + + "c2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRp" + + "YS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1m" + + "aWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2Zp" + + "bGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxs" + + "LCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBh" + + "dXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+" + + "IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUs" + + "IHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwg" + + "aW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFz" + + "aCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWlu" + + "OiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3Bl" + + "cmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFu" + + "ZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpV" + + "c2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBt" + + "YXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5l" + + "LXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFu" + + "ZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5j" + + "dGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVu" + + "Y3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0" + + "ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9u" + + "LAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1z" + + "dGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNr" + + "Pi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJv" + + "bC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1s" + + "LmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxh" + + "bmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1s" + + "LmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0" + + "Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVz" + + "b3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVy" + + "c2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1j" + + "b21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMg" + + "YmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNv" + + "bW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "CiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBh" + + "bnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4x" + + "LnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAj" + + "IE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxt" + + "LWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhp" + + "biAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMg" + + "cnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoK" + + "YGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQv" + + "IGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkg" + + "dGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNy" + + "ZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQ" + + "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + + "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3Rh" + + "bmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJh" + + "dGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAo" + + "ZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAg" + + "ICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1w" + + "bCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMp" + + "CiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5z" + + "aXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6" + + "IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFt" + + "bC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0" + + "IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3Vu" + + "dHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQg" + + "ZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9l" + + "cyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywg" + + "dXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBI" + + "ZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xl" + + "YW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwg" + + "c2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4g" + + "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + + "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25s" + + "eSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykK" + + "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3Rl" + + "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFu" + + "YWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3Jl" + + "ZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9" + + "JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + + "ICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3Qg" + + "YWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBT" + + "ZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0" + + "aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2lu" + + "YCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmls" + + "ZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0g" + + "Y3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJh" + + "c2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3Iu" + + "aW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVj" + + "ciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3Ry" + + "eSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNy" + + "LjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "YCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4K" + + "PiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVl" + + "ZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3Qg" + + "YG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBg" + + "ZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0" + + "aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBt" + + "aXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNj" + + "ZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2Vz" + + "IGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0" + + "aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAt" + + "LXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxg" + + "IGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1" + + "bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhp" + + "cwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3Ry" + + "eSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJy" + + "b3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBw" + + "dWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1w" + + "bGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3Jh" + + "bnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFu" + + "ZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0" + + "IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAg" + + "Z2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAg" + + "ICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1p" + + "cnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRz" + + "CiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTog" + + "PG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2Yg" + + "T0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZv" + + "cmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBh" + + "bHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3Vn" + + "aCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4" + + "YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQg" + + "Y2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9y" + + "IG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWly" + + "cm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVw" + + "byBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFy" + + "dD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJ" + + "IGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNr" + + "aXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGlj" + + "YXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xv" + + "YWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJu" + + "ZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3It" + + "Y3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qg" + + "bm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAg" + + "b3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20g" + + "c3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFs" + + "aWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAg" + + "dmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBt" + + "dXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdl" + + "IChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhl" + + "cmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0" + + "aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQg" + + "ZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVy" + + "eSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQo" + + "a3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+" + + "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + + "VEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4g" + + "Q2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxv" + + "YWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3Rh" + + "Y2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0" + + "IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWlu" + + "OiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBI" + + "b3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRv" + + "bWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElm" + + "IHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUg" + + "YW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBs" + + "ZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRl" + + "cGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAg" + + "ICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3" + + "b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBE" + + "RUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBh" + + "IHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRo" + + "YXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FT" + + "U0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5k" + + "IGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRp" + + "YWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2" + + "aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFf" + + "UEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGlu" + + "IG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMg" + + "fCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18" + + "CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNz" + + "YW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwg" + + "U0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlv" + + "bmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkg" + + "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8Cnwg" + + "MyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwK" + + "fCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNr" + + "IChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFs" + + "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5p" + + "dHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZh" + + "dWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBw" + + "YXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2Nh" + + "dGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + + "aW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sg" + + "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBg" + + "dmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2Ug" + + "YSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBw" + + "YWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVu" + + "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFi" + + "bGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhv" + + "c3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdh" + + "eS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBp" + + "bmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5l" + + "ZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2Ug" + + "dGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2th" + + "Z2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhl" + + "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBh" + + "bmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1n" + + "YXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVu" + + "IHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBk" + + "ZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdh" + + "eQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0" + + "OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAK" + + "CkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMs" + + "IGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRl" + + "cyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxl" + + "IE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFj" + + "aW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFi" + + "bGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24u" + + "IElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNm" + + "LXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9u" + + "LiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBk" + + "byBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwg" + + "bmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24g" + + "c3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4K" + + "CiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29u" + + "dHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50" + + "cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUg" + + "aGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9u" + + "bWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUt" + + "cGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVy" + + "YXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29t" + + "cGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVz" + + "ZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + + "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mg" + + "cm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4K" + + "CiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRo" + + "ZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7" + + "IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSBy" + + "ZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhl" + + "IE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFg" + + "LCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1w" + + "cm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRl" + + "d2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNl" + + "cnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + + "cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVz" + + "IGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMg" + + "aXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + + "ZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2st" + + "bWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMg" + + "b24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3" + + "aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + + "dGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQg" + + "YWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + + "ZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRj" + + "aGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3Ig" + + "bWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBv" + + "bmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + + "IGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93" + + "bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rv" + + "cnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBg" + + "CgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + + "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVt" + + "OyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQK" + + "ZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVw" + + "IC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91" + + "bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMj" + + "IEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGds" + + "b2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291" + + "bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNl" + + "IHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVs" + + "bWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUg" + + "ZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRz" + + "L2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6" + + "IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxl" + + "ZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVl" + + "czoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4v" + + "e3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3Nh" + + "bmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNw" + + "dTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAg" + + "ICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1l" + + "cmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5o" + + "ZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVl" + + "cyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUg" + + "c2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwg" + + "U2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5v" + + "dCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0" + + "aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25n" + + "KToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0" + + "cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwK" + + "fCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxp" + + "ZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNm" + + "LWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3Jr" + + "ZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJu" + + "byBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAo" + + "YWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVU" + + "YCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9r" + + "di9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0" + + "IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlv" + + "dSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2Vu" + + "OjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBz" + + "aWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0" + + "ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NL" + + "RVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdq" + + "c29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tl" + + "ciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQg" + + "ZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVp" + + "bGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+Iilg" + + "LCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAt" + + "QWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291" + + "bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAi" + + "bXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdy" + + "b25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFs" + + "Zm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtl" + + "eSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4g" + + "ICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4g" + + "VG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwg" + + "cmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjol" + + "cycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9u" + + "dmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAg" + + "ICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMv" + + "bnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxv" + + "dXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBz" + + "aWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBm" + + "cm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhl" + + "IHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3Jncywg" + + "ZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAg" + + "Y3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+" + + "IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcg" + + "aW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0" + + "b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENv" + + "bmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0" + + "aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNl" + + "Y3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZv" + + "cm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxt" + + "ZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8K" + + "aGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8K" + + "aGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4g" + + "a3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVh" + + "Y2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNh" + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkg" + - "aWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4" + - "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRz" + - "IFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + - "b2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAg" + - "LS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + - "bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2luZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFs" + - "c28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVsZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2Vl" + - "IFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1wdWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhl" + - "bnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVnaXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAg" + - "QU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUgcmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUg" + - "dXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNy" + - "ZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNo" + - "CiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJlcXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlv" + - "IC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBu" + - "dmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3Ig" + - "Z2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxyZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkg" + - "bG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48" + - "cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBOb3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAg" + - "a2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIgaG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4g" + - "VGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4gc2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQg" + - "ZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBu" + - "dmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRv" + - "Y2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQga2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhl" + - "IGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmlyc3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlz" + - "bGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChub3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2Vl" + - "ZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4gSWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBm" + - "cm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhlciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhl" + - "IGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9yZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11" + - "c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dvcmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBp" + - "bnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxs" + - "aW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSByZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMK" + - "PiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1lbmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkg" + - "dGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9y" + - "IHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVs" + - "bCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1hZ2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxl" + - "LCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50" + - "ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSksIHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQg" + - "c2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0" + - "aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGds" + - "b2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAg" + - "ICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5jb20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJy" + - "b3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAgIHNvdXJjZXM6ICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNvIG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwog" + - "ICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxt" + - "aXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBUaGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9D" + - "SSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNvbnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3Jl" + - "CiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1hZ2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxy" + - "ZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29tZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gs" + - "IGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8vYCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFt" + - "cGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21gKS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNh" + - "bm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhlbG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBt" + - "aXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJv" + - "ciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8vYCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8g" + - "YWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+" + - "LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1pcnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBj" + - "aGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xvYmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lw" + - "IHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBXaGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0" + - "ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRpY2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2Fk" + - "IGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRoZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0" + - "ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNy" + - "ZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3JlYXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5v" + - "dCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9y" + - "IHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0" + - "ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRlbnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlk" + - "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZp" + - "YSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVz" + - "dCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdpc3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAo" + - "c2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBpbWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJl" + - "KS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFpbgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhl" + - "IGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRv" + - "ZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkg" + - "dGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6CgpgYGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1" + - "YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFtZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAt" + - "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRF" + - "V0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3MgbWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENs" + - "b3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZpZ3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2Fk" + - "IGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9ybWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3IgdGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBE" + - "TlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZmaXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjog" + - "Im52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9z" + - "dDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21h" + - "aW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRzIHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0" + - "aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2VlcCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFu" + - "ZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVudCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUg" + - "NCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBs" + - "b3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAj" + - "IFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + - "aWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29y" + - "ZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNlY3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVG" + - "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQgdGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBz" + - "ZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0" + - "IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlvdSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NB" + - "TkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJvbGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBl" + - "dmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNoLWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFs" + - "c2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNhdGUuIFNldAo+IGBjYXNzYW5kcmEuc2Vydmlj" + - "ZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFsdWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BB" + - "U1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBoYXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBv" + - "cmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhhc2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwg" + - "V2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8" + - "IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2Fu" + - "ZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJ" + - "UywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25h" + - "bCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFsIFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdo" + - "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMg" + - "fCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdhdGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8Cnwg" + - "NCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAo" + - "aWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoK" + - "CmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtdwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5" + - "IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdhdGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVs" + - "dCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3RvbWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0" + - "aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3RhbmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRp" + - "b24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGlu" + - "Y2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9uLiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBh" + - "Y2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5pdHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZh" + - "bml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEg" + - "bmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJsZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYt" + - "bmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxl" + - "ZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0" + - "IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXku" + - "bnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3BlY2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5n" + - "cyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXkubWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVk" + - "IGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBvZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRo" + - "ZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3VwcG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdl" + - "IGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29yZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBw" + - "YWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdhdGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5k" + - "CmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhF" + - "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0" + - "ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + - "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkK" + - "a3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDog" + - "dmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpE" + - "byBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZvciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBp" + - "bnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3IgZ1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMg" + - "YXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBO" + - "VkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + - "ZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJ" + - "Zgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + - "aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUgdmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4g" + - "VGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8g" + - "bm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGludGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5h" + - "bWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAsIGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0" + - "ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgoj" + - "IyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRy" + - "b2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFsbCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMu" + - "IEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBleGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhh" + - "bmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1l" + - "bnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAgaW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBs" + - "YW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZsb3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0" + - "ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBs" + - "ZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2Ug" + - "aGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJv" + - "dXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgoj" + - "IyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + - "Y29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJkb3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBz" + - "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUt" + - "cGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3duKS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVs" + - "ZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBO" + - "VkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3BlbmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwg" + - "YGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJv" + - "eHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2VydmljZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdh" + - "eWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1wcm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0" + - "LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hlbiBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1" + - "ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBg" + - "Y2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFtZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0" + - "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + - "c2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJlYXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1h" + - "bmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVsbSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9u" + - "IHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hl" + - "dGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRp" + - "b24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFi" + - "b3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ug" + - "d2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hp" + - "bmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1p" + - "c21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25s" + - "eSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + - "bmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24K" + - "ClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5" + - "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoK" + - "IyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsg" + - "ZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgIiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRv" + - "bmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAt" + - "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxk" + - "IHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBF" + - "bnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29ya3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUuZy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50" + - "YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xvYmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2" + - "YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkKCkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1m" + - "aWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBhIGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4" + - "YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9g" + - "IGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBj" + - "YXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQK" + - "ICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + - "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + - "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5k" + - "cmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6" + - "ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAg" + - "ICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJn" + - "ZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVy" + - "aXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMg" + - "bGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xvYmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNl" + - "Y3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBhcHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMgQXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNl" + - "Y3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5jdCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3Qg" + - "Y29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZvcm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhl" + - "bSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6" + - "Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3JldHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5" + - "IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNlY3JldCB8CnwtLS18LS0tfC0tLXwtLS18Cnwg" + - "UHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZpY2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRh" + - "dGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1h" + - "cGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJzIGluamVjdGVkIGludG8gZXZlcnkgd29ya2Vy" + - "IHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1yZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8g" + - "Q2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFj" + - "Y291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9TSURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAg" + - "aW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3BlbkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yv" + - "c2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChmaWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8" + - "IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAgKGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3Up" + - "IHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8" + - "a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lk" + - "ZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2VyY29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVt" + - "cGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4gYFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VS" + - "X0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAiYmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNv" + - "bi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFyZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIg" + - "YGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMgdGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRy" + - "b3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBvZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxk" + - "cy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwg" + - "ZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFg" + - "LAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdqc29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50" + - "LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNyZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11" + - "c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9u" + - "ZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIncyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZv" + - "cm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNgcywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkg" + - "aXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBsaWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAg" + - "IGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQgdGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRv" + - "IHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJl" + - "LXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVUSD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMn" + - "ICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZj" + - "Zi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAj" + - "IGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFibGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252" + - "Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0" + - "IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1hcGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lk" + - "ZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlIChtdWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJv" + - "bSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBw" + - "bGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGluIGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVh" + - "Y2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwgc28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + - "ZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBh" + - "cmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtleXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGlu" + - "dG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9t" + - "YXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25lIGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25m" + - "aWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVuZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGlu" + - "ZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRpY2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFtZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3Jt" + - "bHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNoYXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZp" + - "bGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBiYXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhl" + - "bG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhl" + - "bG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5" + - "dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIuIENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNo" + - "IG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNz" + - "YW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0" + - "ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENs" + - "dXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xp" + - "Y3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRlcyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRp" + - "bWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czogW3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJp" + - "Znkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzog" + - "W3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpOb3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1" + - "aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcuLCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyku" + - "CgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwgYW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNj" + - "cmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMgUXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNo" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAgICAgICAgICAgICAgICAgICAgICAgICMgQWxs" + - "IHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5" + - "PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVy" + - "ZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18" + - "LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsgYDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2lu" + - "ZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNrIHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhh" + - "cyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDowLzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8" + - "IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5CYW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBt" + - "aWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBz" + - "aG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + - "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25m" + - "aWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGluc3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZl" + - "IEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + - "dmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBvbiBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1" + - "c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0" + - "cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9w" + - "ZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9k" + - "ZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIgZml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24g" + - "Q2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMgdG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3Nh" + - "bmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxvY2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBj" + - "cmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNvbm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2Vj" + - "cmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5k" + - "cmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwgZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNl" + - "dCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1" + - "YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRy" + - "YSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxl" + - "Y3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNsYXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "YCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwKfCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAg" + - "c3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBwYXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lg" + - "IHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2FpbiB8CnwgQWNjb3VudCBib290c3RyYXAgdGlt" + - "ZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBg" + - "a3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmYCB8Cnwg" + - "ZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVybiBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8" + - "IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWluc3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBg" + - "YXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBvciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBh" + - "dGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFj" + - "Y291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFuZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVy" + - "aWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5dKCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0" + - "cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8gcmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0" + - "cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRoIGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3Zh" + - "dWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBydW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVk" + - "IHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVh" + - "ZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3RhdGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9P" + - "UFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVsZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVj" + - "dGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1lbnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2" + - "ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1Nf" + - "UkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFgKSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFu" + - "ZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBh" + - "Y2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZhdWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBh" + - "ICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUgYGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZjZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1p" + - "bnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24gYSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwu" + - "IElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlvdSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0" + - "Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1zeW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywg" + - "bm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZlcnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2Nv" + - "dW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQwNCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApu" + - "b3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUgcnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJh" + - "biBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2Yg" + - "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNj" + - "ZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJl" + - "LXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBpYCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVz" + - "CmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBmaXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29t" + - "cGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tzIHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0" + - "bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUt" + - "bm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBp" + - "IHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "ICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBjcmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBS" + - "ZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhl" + - "IFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3Yw" + - "LjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5l" + - "IHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBP" + - "cGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJlXShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVj" + - "dHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5k" + - "IFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwg" + - "dXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xpYCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25z" + - "LCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBL" + - "BwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SWwogIHsKICAg" + - "ICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + - "YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdzIGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0" + - "ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZhbGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZl" + - "cnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEueCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4x" + - "MiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEpLCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhp" + - "biAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + - "YyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxpZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChu" + - "b3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxpc3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYg" + - "Pj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJz" + - "aW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZlcnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZl" + - "cnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0" + - "ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24iOiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxl" + - "IHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAgYWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNraW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdl" + - "bnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRlIHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZl" + - "c3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHBy" + - "ZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRpZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8gcHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5" + - "bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgYmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMn" + - "IHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRv" + - "IHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVh" + - "bnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5hbWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1p" + - "bmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVzcGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxp" + - "emVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXpl" + - "cnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMgZmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3Bh" + - "Y2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUgdGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9u" + - "bHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2Yt" + - "YmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQgdXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250" + - "ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJl" + - "Y3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxp" + - "emVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xl" + - "YXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRv" + - "ciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNl" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBqdW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBk" + - "ZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5nIGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjog" + - "Ikluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5lIGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRl" + - "IHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFja3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3Vi" + - "ZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "a2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgaW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHBy" + - "b2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + - "ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVzIGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcg" + - "d2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3QgZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVy" + - "IHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUgY29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJh" + - "biB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRhcmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25t" + - "ZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQgb24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVy" + - "IE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRl" + - "ciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBhbmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBi" + - "ZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGluZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dy" + - "cGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwgaWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5" + - "c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNfaG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIs" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRoIENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVT" + - "VEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9OQU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJF" + - "Q09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJ" + - "Q01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVybCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGll" + - "cyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5vIC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZs" + - "YWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJzIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29t" + - "cHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9s" + - "LXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBhbmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2Zp" + - "bGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVs" + - "bS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRoZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhl" + - "bG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90" + - "aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4" + - "cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxt" + - "IChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBp" + - "cyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52" + - "Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3Jk" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0" + - "aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZp" + - "bGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9uZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9u" + - "IGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUgc3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50" + - "IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2" + - "ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBz" + - "ZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBhbmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3Vu" + - "ZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8g" + - "cnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1pc3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5k" + - "LywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAi" + - "V2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBk" + - "aWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3Rl" + - "ZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlv" + - "biIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBhIGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUg" + - "TlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9u" + - "bWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBj" + - "b21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQg" + - "dG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3Bh" + - "Y2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMs" + - "IHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25pdG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFu" + - "ZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVn" + - "aXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21wdXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3Rh" + - "Y2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQgSGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9vbCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0s" + - "IGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5k" + - "bGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJUaGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBs" + - "YW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkt" + - "a2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwgY2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGlu" + - "ZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + - "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95" + - "aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxl" + - "IHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRy" + - "b2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMsIHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZh" + - "YmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29u" + - "dHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFnZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + - "ZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBzdGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1" + - "bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVy" + - "YXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ci" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMtY2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAg" + - "InF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBpbnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5k" + - "IHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNo" + - "b3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + + "c3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + + "QVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8g" + + "Q2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBv" + + "bGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24g" + + "dGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZl" + + "cmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93" + + "OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1Ag" + + "YnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVz" + + "KS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24g" + + "c2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwt" + + "c2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBB" + + "bGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQt" + + "Ynk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWls" + + "dXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0t" + + "LXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNz" + + "aW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0Eg" + + "aGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2Rz" + + "IHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyAr" + + "IG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRg" + + "IHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3Nm" + + "dWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNv" + + "bmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxp" + + "dmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + + "Y292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBj" + + "bHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6" + + "IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBg" + + "b3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBv" + + "biBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fz" + + "c2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2Vz" + + "IGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBT" + + "ZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3Nh" + + "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwg" + + "U2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBl" + + "cXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2Fu" + + "ZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNl" + + "bGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBw" + + "b2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVk" + + "YCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJv" + + "eWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0" + + "aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNr" + + "IGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwK" + + "fCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRg" + + "IHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhl" + + "IGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUg" + + "cGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUg" + + "YWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtW" + + "ZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290" + + "c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNy" + + "ZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAv" + + "dmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50" + + "ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBs" + + "ZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09M" + + "X09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25u" + + "ZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNl" + + "cnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFX" + + "U19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAg" + + "YW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhl" + + "IGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5" + + "IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZj" + + "Zi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0" + + "LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFs" + + "bC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpw" + + "YXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5z" + + "LCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2Fj" + + "Y291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRo" + + "Cm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQg" + + "cmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZj" + + "ZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1" + + "Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwg" + + "cmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmly" + + "ZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBj" + + "b21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJl" + + "Y3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9y" + + "ZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1h" + + "cGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3Ry" + + "YXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFs" + + "IFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0" + + "aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2Yv" + + "djAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxh" + + "bmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQot" + + "IE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3Ry" + + "dWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBh" + + "bmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50" + + "LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlv" + + "bnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4K" + + "UEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewog" + + "ICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIklu" + + "c3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBh" + + "ZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wg" + + "dmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAz" + + "LjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0" + + "aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBz" + + "eW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLngg" + + "KG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlm" + + "ZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZl" + + "cnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwg" + + "dmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBs" + + "YXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZp" + + "bGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBh" + + "Z2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5p" + + "ZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUg" + + "cHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3lu" + + "Yy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1m" + + "aWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUg" + + "c3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3lu" + + "Yycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhw" + + "bGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQg" + + "dG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNs" + + "ZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVy" + + "bWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJl" + - "ZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dl" + - "ZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFsbCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcg" + - "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + - "LWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBjb21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJl" + - "Z2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmlsZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBm" + - "aWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRpZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAg" + - "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAg" + - "ICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRleHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQi" + - "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCByZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIs" + - "CiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGluY2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29u" + - "dGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAgICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5l" + - "cmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQgc291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBI" + - "ZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM0" + - "LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRy" + - "YSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQuIEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8g" + - "MTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxp" + - "bmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhlbiBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJl" + - "bGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWluY2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwg" + - "YW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9jay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1M" + - "IG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRoZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAog" + + "YWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5h" + + "bGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxp" + + "emVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVz" + + "cGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQg" + + "b25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZj" + + "Zi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAog" + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFzZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSciLAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVk" + - "IHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBpbmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRo" + - "IG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdlbnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhlIHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRo" + - "ZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhlIGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFN" + - "TCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFsdWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUn" + - "cyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAgICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBj" + - "aGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBhbmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0" + - "aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVu" + - "ZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVwbG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5j" + - "aWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9wZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2VkIHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBk" + - "ZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJlbGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQg" + - "cG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3BhY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1" + - "c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMn" + - "IHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + - "cG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMgKG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lz" + - "dGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0" + - "b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3RoZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1hZ2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rp" + - "b24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIEltYWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5h" + - "dXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdn" + - "aW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhl" + - "IHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9kLCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMs" + - "IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNj" + - "b3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUgKG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVk" + - "ZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxTZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNv" + - "cnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxCYWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUg" + - "YWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzIGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "bWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRo" + - "ZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2NvdW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + - "dGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUtZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAog" + - "ICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJlbW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRv" + - "IHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBp" + - "bmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdpc3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1" + - "c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBh" + - "bmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVt" + - "b3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBncnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBl" + - "bmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBP" + - "cGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBD" + - "TEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRpbmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21w" + - "dXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFUUyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92" + - "ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBzZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJh" + - "dG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9y" + - "IGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRl" + - "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8gZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMsIGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNl" + - "cyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFtZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2VyRW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBu" + - "dmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2VydmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52" + - "Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRpb25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2VydmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFu" + - "ZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAgICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGgg" + - "aW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNmQXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3" + - "aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNrcyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFn" + - "ZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVk" + - "IHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNldCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + - "RGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0" + - "aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1l" + - "LWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxh" + - "bmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNl" + - "cnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5h" + - "dHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNvbnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFt" + - "ZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5hZ2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBs" + - "YW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGluIG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVk" + - "IGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8gbnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3duIiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRv" + - "d24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNh" + - "ZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlh" + - "bnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFu" + - "ZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2YgZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9y" + - "ZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5lIGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBs" + - "YW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95" + - "IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVz" + - "cGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVx" + - "dWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5h" + - "bCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5n" + - "IHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Us" + - "IGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2" + - "ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkg" + - "ZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJlZ2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhl" + - "IGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25z" + - "LCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01T" + - "IGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFu" + - "ZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3Qg" + - "cmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHByZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0" + - "aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVtb3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + - "eSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24gd2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2" + - "ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBs" + - "YW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdpdGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIs" + - "CiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRoZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVy" + - "IGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNhSUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVz" + - "dHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhl" + - "IGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNl" + - "IHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJl" + - "ZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGlu" + - "c3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3Rh" + - "Y2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVhcmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBj" + - "ZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdp" + - "dGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAg" + - "ICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29udHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + - "IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJFQ09ORklHX0ZJTEUiLAogICAgICAiVGhlIENM" + - "SSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1" + - "bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAgICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENM" + - "SSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2" + - "ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2Vz" + - "IG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBs" + - "YW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVy" + - "ZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIENM" + - "SSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3RhY2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBi" + - "b3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBmb3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhl" + - "biBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVh" + - "Y2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEz" + - "LXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVzdGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8g" + - "bXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBiZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cg" + - "ZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZDRj8iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "CiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNv" + + "bnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1" + + "YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5h" + + "bGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBj" + + "bGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJh" + + "dG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3Vy" + + "Y2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNl" + + "IGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24i" + + "OiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1" + + "dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBr" + + "dWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkg" + + "cHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZp" + + "ZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29u" + + "dHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0" + + "ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4g" + + "cmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJv" + + "bm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292" + + "ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVu" + + "ZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5l" + + "IGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2Vf" + + "Z3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9r" + + "ZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5" + + "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENM" + + "VVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwi" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtV" + + "QkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + + "IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBs" + + "aWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkg" + + "ZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBj" + + "b21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRy" + + "b2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJv" + + "ZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1o" + + "ZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0Yg" + + "aGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBi" + + "b3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQg" + + "ZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhl" + + "bG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25l" + + "IGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4g" + + "bnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dv" + + "cmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3" + + "aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxt" + + "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJU" + + "aGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRp" + + "b24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUi" + + "LAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJl" + + "bnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRv" + + "IHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8s" + + "IHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZv" + + "dW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRl" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0" + + "byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBl" + + "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + + "VGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxl" + + "LmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAg" + + "ICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5k" + + "IGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVj" + + "dGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1z" + + "dGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0" + + "aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRo" + + "ZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmly" + + "b25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRl" + + "ZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmll" + + "cywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBs" + + "YW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCBy" + + "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBz" + + "dGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVs" + + "bSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1" + + "bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFw" + + "aS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRk" + + "aW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1G" + + "SUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBs" + + "b3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZp" + + "bGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29u" + + "dHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2Vy" + + "dmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBj" + + "b250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFs" + + "bGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRv" + + "Y3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2Vu" + + "ZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAg" + + "ICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBh" + + "bmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4g" + + "U2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWws" + - "IGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGwsIHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBp" + - "ZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3Bl" + - "Y2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVz" + - "dCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJsb2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZ" + - "QU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBzZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAog" + - "ICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBw" + - "YXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChjYXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9i" + - "YWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2UsIGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxl" + - "YXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAgICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1w" + - "bGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdhdGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFs" + - "dWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFsdWVzIGJsb2NrIgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBu" + - "ZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExMTSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFn" + - "ZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25m" + - "aWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhlIExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0u" + - "ZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVwbGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3" + - "YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhwbGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91" + - "dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9u" + - "IGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxh" + - "bmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcgbWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBw" + - "bGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9uIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVm" + - "YXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFu" + - "ZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJ" + - "bnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtlciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5n" + - "IHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJ" + - "dCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + - "IGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywg" + - "YW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVudHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBz" + - "aWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNl" + - "ZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUgb2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkgYW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNv" + - "dW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFn" + - "ZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10" + - "d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + - "IGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhh" + - "dCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMg" + - "dG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5" + - "IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5zcG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBs" + - "YWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHByb2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVsbWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hl" + - "ZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCBy" + - "ZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRo" + - "ZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhl" + - "IExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdvcmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1" + - "aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNk" + - "IiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBsb2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5n" + - "IGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3Vs" + - "ZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBr" + - "M2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJlbG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0" + - "ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBU" + - "aGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlv" + - "biBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQgcHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3Ry" + - "dWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRl" + - "dmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVkIHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1k" + - "ZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpWSlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + - "ZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBleGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxv" + - "eW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAxOiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3Vy" + - "Y2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVzb3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBs" + - "YXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNz" + - "YW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtpbGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUg" + - "cmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNlIHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6" + - "IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwK" + - "Z3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fzcy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBg" + - "YAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRvIGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVz" + - "LnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + - "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + - "b290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + - "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + - "aW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + - "ICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5" + - "OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJpZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + - "ID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9j" + - "YXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNvdXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTog" + - "YHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZlYXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4g" + - "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + - "YCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJl" + - "Z2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBsb3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBp" + - "bWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNyLmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVk" + - "IHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNlY3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1" + - "cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFtbAojIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "Cmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoKICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAg" + - "ICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBpbWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlv" + - "CiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpgYGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0" + - "ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQgcHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dp" + - "biBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3Ry" + - "eSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgoj" + - "IyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4" + - "cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRy" + - "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + - "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + - "bmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + - "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRv" + - "bmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQdWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxl" + - "YXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBgaW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVh" + - "Y2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2FuZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVu" + - "ZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lv" + - "bjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNz" + - "YW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVM" + - "TUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2Jh" + - "bDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpg" + - "YGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNy" + - "ZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkgY2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0" + - "aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwt" + - "c2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBg" + - "CgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5h" + - "dGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChkZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3Bl" + - "bkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVsbEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFy" + - "dDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2Eg" + - "aW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4g" + - "IiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFt" + - "ZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0" + - "Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRzYSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxT" + - "ZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRzIn1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5" + - "PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1" + - "bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlvCmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1" + - "bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hlbiBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFu" + - "ZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMjIFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0" + - "ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZp" + - "Zz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMgc3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRo" + - "ZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGluCltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + - "ZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVhbnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMj" + - "IFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURg" + - "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + - "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElE" + - "IGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBi" + - "YXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1" + - "c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1p" + - "ZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAy" + - "IGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgojIyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250" + - "cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5" + - "IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhl" + - "bG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0" + - "LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVp" + - "cmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0" + - "IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZl" + - "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sg" + - "SGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQK" + - "ZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFt" + - "ZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhl" + - "cndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFu" + - "ZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJv" + - "eSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgga3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNv" + - "bnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAgdXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMj" + - "IyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5k" + - "fGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5" + - "c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNob3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMj" + - "IFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9yZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxh" + - "dGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNh" + - "bWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJl" + - "Y292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92" + - "aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdv" + - "dCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBi" + - "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + - "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + - "WV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZp" + - "ZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0" + - "IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpETlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91" + - "dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxk" + - "b21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZvciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3" + - "aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQgcm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRv" + - "IGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNoaW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBz" + - "cGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMs" + - "IHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFyaW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBg" + - "bnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1wbGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMg" + - "VVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVwIHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVy" + - "cmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRo" + - "cm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9yaWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21wbGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6" + - "IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNoCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + - "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + - "IgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBu" + - "dmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgaHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3lt" + - "ZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNv" + - "bnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoK" + - "LS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0" + - "ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNlcnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJh" + - "c2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoK" + - "IyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9kcyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0" + - "ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmljIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3Rv" + - "ciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxlYXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0t" + - "LS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3Bl" + - "bmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMs" + - "IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2Vy" + - "dmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRl" + - "d2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5" + - "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9u" + - "cy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBz" + - "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZj" + - "ZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kg" + - "anVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + - "bmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3" + - "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95" + - "IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVz" + - "IHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0YgVUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNr" + - "YWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + - "YCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykg" + - "fAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5kaXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoK" + - "Tm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9lcyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAg" + - "bGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5" + - "YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + - "YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpU" + - "aGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJ" + - "bnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + - "IGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ugb25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBp" + - "dCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBub3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQg" + - "cHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRv" + - "ZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9sLXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJh" + - "dGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgSGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUg" + - "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2ZpbGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJ" + - "LWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVy" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhlIENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBm" + - "b3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBiZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZp" + - "bGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29udHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFu" + - "ZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZyb20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3Bl" + - "cmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdlcyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVu" + - "ZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUgcm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBI" + - "ZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJvdGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3Jl" + - "IGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFuZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3" + - "YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGluZ3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQog" + - "IHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBjb21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZh" + - "bCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQt" + - "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + - "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVw" + - "cyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAs" + - "IGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9udmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRl" + - "d2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmly" + - "b25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJlc3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92" + - "ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJlc3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5k" + - "IGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5TIGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21h" + - "aW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgogICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8v" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29y" + - "a2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czov" + - "LzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBudmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNr" + - "cy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtl" + - "ci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgaW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRw" + - "Oi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVz" + - "czoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxlck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFyZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5h" + - "bWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgZ3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwg" + - "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2Yt" + - "Z2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVy" + - "TmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBudmNmQXBpOgogICAgICAgIGdycGM6CiAgICAg" + - "ICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0" + - "ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5h" + - "YmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1k" + - "b21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBlbmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1p" + - "Z3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpg" + - "YGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRvcjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBp" + - "Y21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZp" + - "Y2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VI" + - "b3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJM" + - "OiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6" + - "ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKUHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29u" + - "dHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + - "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + - "QkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdp" + - "c3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUg" + - "dGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNGX0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNl" + - "X2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDov" + - "LzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNfdXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAw" + - "ODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21z" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXkt" + - "ZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9r" + - "ZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdh" + - "dGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxkcyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3" + - "aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJMYCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJh" + - "dGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBgaWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1" + - "cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVyLiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3Rg" + - "IE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRo" + - "ZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9" + - "PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNhLWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJl" + - "Z2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJ" + - "R19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+IFwKICBOVkNGX0NMST08cGF0aC10by1u" + - "dmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08cGF0aC10by1udmNmLWNsaS1jb25maWc+Cgpt" + - "YWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNU" + - "RVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlz" + - "Y292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29u" + - "dGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxveW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlz" + - "IHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFuZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0" + - "ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRlZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29u" + - "dGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cK" + - "ClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUg" + - "cHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBsYW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2Et" + - "aWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90" + - "aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBs" + - "YW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1u" + - "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + - "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNl" + - "bGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3Vi" + - "ZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoKUmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHBy" + - "b2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUtcmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBpdHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJv" + - "ZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhvcmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVl" + - "cy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRoZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0" + - "aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9sLXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUgY29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhl" + - "IHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2gg" + - "YGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + - "dC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2UgaXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + - "aXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRv" + - "IHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBjb21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVz" + - "LApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlv" + - "bgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5hbWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZj" + - "Zi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAog" + - "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0K" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJh" + - "Y2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAt" + - "LWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0x" + - "MG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8" + - "cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5k" + - "IGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUu" + - "IEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRo" + - "aXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25lLiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdl" + - "cmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3Qg" + - "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIg" + - "aXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0" + - "aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUu" + - "IEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxl" + - "YXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2Uu" + - "IE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBhZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHBy" + - "b3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8g" + - "bm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNo" + - "IHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRpbApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBg" + - "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAog" + - "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1j" + - "b25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1p" + - "ZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1p" + - "Z25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0" + - "IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIgZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVz" + - "dHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBk" + - "ZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBs" + + "ZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVp" + + "cmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hv" + + "d2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGlu" + + "ZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + + "IC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4g" + + "UmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVz" + + "IGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1m" + + "aWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAog" + + "ICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1w" + + "bGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAog" + + "ICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1" + + "dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWlu" + + "IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1j" + + "b250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdl" + + "bmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGlu" + + "IEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2Fu" + + "ZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0" + + "byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNl" + + "bGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEg" + + "cmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1w" + + "bCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlB" + + "TUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIs" + + "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZp" + + "ZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdp" + + "dGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFt" + + "bC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3Qg" + + "dGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZ" + + "QU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0" + + "ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhl" + + "IGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3" + + "aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVw" + + "ZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRl" + + "bmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRv" + + "IGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmll" + + "ZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3lu" + + "YycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmll" + + "ZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1z" + + "eXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxl" + + "Y3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVz" + + "dGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBV" + + "bmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1" + + "Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0" + + "aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0" + + "cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBh" + + "Y2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNy" + + "ZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUg" + + "Y29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJl" + + "ZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVz" + + "Y3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24g" + + "dGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlk" + + "ZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIs" + + "CiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIg" + + "dG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXks" + + "IGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRv" + + "IHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVt" + + "IGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCBy" + + "ZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUs" + + "IGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVk" + + "IE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5" + + "IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNv" + + "bXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qg" + + "b3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFu" + + "ZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3Bl" + + "cmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + + "b3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdh" + + "dGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVu" + + "Y2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkws" + + "IG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwg" + + "bnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhl" + + "IGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBs" + + "YW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90" + + "aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBj" + + "IHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJs" + + "ZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVk" + + "IHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hl" + + "bWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1w" + + "bGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFs" + + "U2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQg" + + "bmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBu" + + "YW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUt" + + "cGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9y" + + "ZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIg" + + "ZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQg" + + "c2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFy" + + "aWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQg" + + "YW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVm" + + "b3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wt" + + "cGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ry" + + "b3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFt" + + "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCBy" + + "ZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVy" + + "bmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hp" + + "bmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + + "ZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNl" + + "cnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhv" + + "dXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENM" + + "SSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0" + + "aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlv" + + "bnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElD" + + "TVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwg" + + "YW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFz" + + "dCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRo" + + "IHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBv" + + "bmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3Ig" + + "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUt" + + "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmln" + + "IiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0" + + "ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBk" + + "ZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0" + + "aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3Bh" + + "Y2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVp" + + "cmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwg" + + "aW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBz" + + "dGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21h" + + "dGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhl" + + "IGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQg" + + "d2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + + "ICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ry" + + "b3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUg" + + "Q0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "IHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUg" + + "Q0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBs" + + "aXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRv" + + "ZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wt" + + "cGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0" + + "ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUg" + + "Q0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4s" + + "IGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0" + + "aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMg" + + "ZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBh" + + "ZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "MTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0" + + "byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhv" + + "dyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFt" + + "bCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyks" + + "IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBz" + + "cGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBt" + + "dXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52" + + "IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5" + + "IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGds" + + "b2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJl" + + "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhh" + + "bXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2" + + "YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJ" + + "IG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFu" + + "YWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNv" + + "bmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxs" + + "bS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0" + + "ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCBy" + + "b3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRp" + + "b24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJh" + + "bGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVk" + + "IHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBk" + + "ZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3Ag" + + "YW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJ" + + "Q0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5p" + + "bmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24u" + + "IEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVz" + + "ZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25z" + + "LCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2Vy" + + "IHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1" + + "c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRo" + + "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNh" + + "Q291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUg" + + "YWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9m" + + "LXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNp" + + "bmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0" + + "aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0" + + "cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9u" + + "bHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3Qg" + + "cGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVz" + + "aGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5k" + + "IHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAi" + + "VGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0" + + "aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0t" + + "cXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1r" + + "M2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNp" + + "bmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hv" + + "dWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2Fs" + + "IGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhv" + + "c3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24u" + + "IFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0" + + "aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50" + + "IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5z" + + "dHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwg" + + "ZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2Fs" + + "LWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVz" + + "Lm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVw" + + "bG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNv" + + "dXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9u" + + "IGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENh" + + "c3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlk" + + "ZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAg" + + "MTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFt" + + "bApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAK" + + "YGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNp" + + "ZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5g" + + "IHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNr" + + "IHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25k" + + "aXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAg" + + "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + + "IC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1z" + + "ZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAg" + + "IGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + + "ICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1v" + + "cnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + + "dGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1w" + + "L2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3Rl" + + "OiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBp" + + "biB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJj" + + "ZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUg" + + "UmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5n" + + "IGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9y" + + "ZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZp" + + "Z3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwog" + + "ICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3Iu" + + "aW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGlj" + + "YXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxv" + + "Z2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAK" + + "CiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gK" + + "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "ZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + + "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + + "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "ZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJl" + + "bGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8g" + + "ZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVw" + + "ZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJz" + + "aW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNh" + + "c3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2Jh" + + "bC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJI" + + "RUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xv" + + "YmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRz" + + "CmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRl" + + "IHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0" + + "b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVs" + + "bC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpg" + + "YGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQg" + + "bmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBP" + + "cGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0" + + "YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBz" + + "YSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAt" + + "biAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5u" + + "YW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBw" + + "YXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVs" + + "bFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1z" + + "eXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQt" + + "Ynk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNz" + + "ZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzog" + + "RnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4g" + + "YW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21w" + + "dXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxN" + + "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29u" + + "ZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2Ug" + + "dGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNl" + + "cy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgoj" + + "IyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJ" + + "RGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVn" + + "aXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUg" + + "SUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBg" + + "YGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1j" + + "bHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNh" + + "LWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5k" + + "IDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNv" + + "bnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2Ug" + + "YnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUg" + + "SGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNl" + + "cnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVx" + + "dWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYg" + + "aXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVm" + + "ZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFj" + + "ayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hl" + + "ZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBu" + + "YW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90" + + "aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBs" + "YW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0" + "cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1w" + - "bGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtVQkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19G" + - "SUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRyb2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0" + - "cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmllbnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkg" + - "cHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + - "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBs" + - "ZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMgY2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhl" + - "CmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRoZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQg" + - "cHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBc" + - "CiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAt" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAog" + - "IC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJs" + - "PiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + - "bWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0" + - "ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBkb3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBx" + - "dWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fu" + - "bm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRh" + - "cmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNsdXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVz" + - "dHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBleHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJv" + - "dGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcuIFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3" + - "aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "bGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2Ug" + + "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoK" + + "IyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tl" + + "bmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + + "ZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgoj" + + "IyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFs" + + "bGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUK" + + "c2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDog" + + "UmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHBy" + + "b3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQg" + + "Z290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBg" + + "YGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAt" + + "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRF" + + "V0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3Mg" + + "ZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhv" + + "c3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCBy" + + "b3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24u" + + "PGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50" + + "IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3Qg" + + "dG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBh" + + "IHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3Nl" + + "cywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5l" + + "IGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFU" + + "UyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92" + + "ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + + "dGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAg" + + "MzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+" + + "IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFs" + + "dGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + + "IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxv" + + "eW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQv" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1q" + + "c29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBg" + + "CgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9y" + + "IHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBg" + + "YmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5j" + + "CgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5" + + "c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVj" + + "dG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0t" + + "LS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBv" + + "cGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNp" + + "cywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1z" + + "ZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdh" + + "dGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9u" + + "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRk" + + "b25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGlu" + + "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5u" + + "dmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxv" + + "eSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8" + + "IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5" + + "IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBs" + + "b3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVk" + + "ZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8" + + "CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRy" + + "dWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVz" + + "KSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8" + + "CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91" + + "cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJv" + + "eHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24K" + + "ClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3Mu" + + "IEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3Rh" + + "bGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNl" + + "IGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRl" + + "ZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFu" + + "ZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0" + + "cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0" + + "ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBD" + + "TEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0" + + "ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5" + + "IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxt" + + "ZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21t" + + "YW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBP" + + "cGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBi" + + "dW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMj" + + "IEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZv" + + "cmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0" + + "ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5l" + + "CiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJl" + + "VmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVu" + + "ZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMv" + + "Y3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtl" + + "ZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVt" + + "YCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdh" + + "dGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52" + + "aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qg" + + "b3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBh" + + "bmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRv" + + "bWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3" + + "YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6" + + "Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93" + + "b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRz" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rh" + + "c2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29y" + + "a2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0" + + "dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdy" + + "ZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5" + + "LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwg" + + "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5" + + "LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZj" + + "Zi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVu" + + "ZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAg" + + "ICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxn" + + "YXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBl" + + "bmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5" + + "LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAg" + + "bWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAK" + + "CmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAg" + + "IGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2Vy" + + "dmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZh" + + "bFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2Vydmlj" + + "ZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNV" + + "Ukw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlk" + + "ZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBj" + + "b250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJl" + + "Z2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0" + + "ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJh" + + "c2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjox" + + "MDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmlj" + + "bXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdh" + + "eS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52" + + "b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48" + + "Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHks" + + "IHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0" + + "cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcg" + + "c3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9z" + + "dGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwg" + + "dGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFN" + + "RT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08" + + "cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRv" + + "LW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4K" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xV" + + "U1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBk" + + "aXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBj" + + "b250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAg" + + "aXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1" + + "c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBj" + + "b250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxv" + + "dwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRo" + + "ZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFz" + + "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + + "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "XAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBi" + + "b3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUt" + + "cGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVy" + + "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + + "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + - "YWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFuLW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNt" + - "cy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "YGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVz" + - "dHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0" + - "IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJh" + - "dGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dp" + - "bmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZlcmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3Np" + - "bmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgoj" + - "IyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJhc2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5h" + - "bWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZp" + - "YyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAtbiA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSBy" + - "ZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRp" + - "YWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNv" + - "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNjcmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3Mg" + - "ZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + - "ZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFpbHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMj" + - "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICAgICAg" + - "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09m" + - "ZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMgc2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1" + - "bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRhZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgoj" + - "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgd2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZl" + - "bnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQgZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3Vi" + - "ZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhl" + - "IHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgoj" + - "IENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3Rs" + - "IGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxs" + - "U2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAqKlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFj" + - "ZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dv" + - "cmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFtZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAq" + - "KlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQg" + - "bmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZpZ3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + - "U2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNu" + - "J3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiogKG9wZW5iYW8sIGludm9jYXRpb24tc2Vydmlj" + - "ZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQYXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJl" + - "c3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAq" + - "Kldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoqOiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBg" + - "YGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + - "CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNyZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVy" + - "ZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBv" + - "ZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWludXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAg" + - "ICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFw" + - "aS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIEluaXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBg" + - "CgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWlu" + - "aXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJhby4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFv" + - "IHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJh" + - "byBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdldCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + - "aGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwgbG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJh" + - "by1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNrIGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhl" + - "IHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVs" + - "dC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmlu" + - "ZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGltYWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBp" + - "c3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdyYXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhp" + - "cyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNgIHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBh" + - "bmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFzaAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "dmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + - "bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBydW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQq" + - "KjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZh" + - "dWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBg" + - "YGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxvZ3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAw" + - "IC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0" + - "dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQgb24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBp" + - "c3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVsdGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJh" + - "byBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmlndXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBt" + - "b3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFsaWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBv" + - "ZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBpdCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNs" + - "dXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRva2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNl" + - "bnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQtYWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0" + - "aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUK" + - "ICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVsdCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + - "ckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRoZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBP" + - "SURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJsZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlz" + - "c3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBk" + - "aXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2VzIHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUt" + - "cnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlvdXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAgIG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlv" + - "bnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1" + - "ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1p" + - "Z3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1v" + - "cGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAgVGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRo" + - "ZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRvY3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtu" + - "b3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQgYEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJM" + - "IHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tzYCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0" + - "aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRoaW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMg" + - "d2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBlbmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBk" + - "ZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJlY2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFs" + - "bGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIncyByb3RhdGluZyBzaWduaW5nIGtleXMuCgoj" + - "IyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2FuZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQK" + - "TkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEt" + - "MCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoK" + - "YGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRy" + - "YS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBgYAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2Fu" + - "ZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFt" + - "cGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBgeWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291" + - "cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNwdTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTky" + - "TWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZN" + - "aQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZD" + - "RiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMg" + - "RmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5nCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + - "RSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAg" + - "IDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAi" + - "MC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBub2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBu" + - "b2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNp" + - "ZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9sdW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMj" + - "IyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1pc21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0" + - "b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVz" + - "IC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAgYGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90" + - "IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3MgZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMuICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoq" + - "OiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9k" + - "ZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxvY2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMj" + - "IEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWlsZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBg" + - "YmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxlYXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBg" + - "CgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBhcHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZp" + - "Y2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tpcHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1lPiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBG" + - "aXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJlbGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0" + - "IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5hbWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJl" + - "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMg" + - "RmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9iIEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2" + - "aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4ndCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBi" + - "b290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9v" + - "dHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQgam9icyAtbiBudmNmCgojIEdldCBsb2dzIChq" + - "b2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoKIyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxv" + - "Z3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAK" + - "YGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjog" + - "Q3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1" + - "dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2RlZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAg" + - "IGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNvZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9V" + - "Ul9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAogICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRv" + - "a2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipSZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkg" + - "Y2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNpZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5y" + - "ZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoKRml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + - "ZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdpdGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNp" + - "ZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBh" + - "cGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1mb3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwoj" + - "IFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1" + - "cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxpemVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0" + - "ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3BhY2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZjYS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAg" + - "IDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWluYXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpS" + - "dW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1h" + - "bCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBmYWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZy" + - "b20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5h" + - "bWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01QVVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMK" + - "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEg" + - "LW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAubWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsg" + - "Lm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdzIC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsg" + - "bnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30iOyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRl" + - "eHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIgLW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7" + - "XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpbXX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIg" + - "e30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmlu" + - "YWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRvciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0" + - "bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNv" + - "biAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3BlYy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAg" + - "a3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJh" + - "dyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5hbGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25l" + - "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRvciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMj" + - "IFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZj" + - "YS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMsIG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUg" + - "bm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Et" + - "b3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFuZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hl" + - "dGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRo" + - "ZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25seSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24g" + - "YW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBv" + - "bmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYgaW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBw" + - "b2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNvbXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52" + - "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52" + - "Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRl" + - "IHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhhdCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGlu" + - "CmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52" + - "Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2FkZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBT" + - "ZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0" + - "KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9pbnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpS" + - "ZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRo" + - "ZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyIGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSBy" + - "ZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FE" + - "RFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdh" + - "eSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0" + - "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtz" + - "aG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8v" + - "JEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNrIGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2Vk" + - "IGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApncmVwIC1FICdpY21zU2Vy" + - "dmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBgYAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRv" + - "bWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhvc3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBk" + - "YXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBkZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxv" + - "eW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVm" + - "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVj" + - "dGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSguLi9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVj" + - "b3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1jaGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFj" + - "ZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJlZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMg" + - "cnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFtZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3RlbSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0" + - "ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3RlbSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNm" + - "IHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCBy" + - "ZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0tYXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwg" + - "YXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwg" + - "c2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29u" + - "dHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBnYXRld2F5IHJlc291cmNlICsgcm91dGVzIHwK" + - "UEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1k" + - "VVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUgUmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5" + - "b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAg" + - "IHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVu" + - "QmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1wbCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMg" + - "KyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFi" + - "aWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFt" + - "bCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykK" + - "fCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92" + - "ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAg" + - "ICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkgY3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3Rz" + - "IHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxl" + - "LmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUg" + - "ZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0gMDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJv" + - "bm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZh" + - "bHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAg" + - "ICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + - "cwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFyYXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3Rl" + - "ciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVlcyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9u" + - "bWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZsb3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2Vu" + - "ZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBhcyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBu" + - "b3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBU" + - "aGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNl" + - "IHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0t" + - "LS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVz" + - "c2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhlbG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZh" + - "dWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVudCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNz" + - "YW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwgY2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNl" + - "IHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVtcGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVs" + - "ZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJlbC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBs" + - "Cgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0t" + - "LS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBpLWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMg" + - "fCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMgfCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2Vy" + - "dmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkgfCBudmNmIHwgc2VydmljZXMgfAp8IGludm9j" + - "YXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZvY2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1lc3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8" + - "IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5vdGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZp" + - "Y2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1" + - "ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwgbnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRl" + - "d2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1pbi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWlu" + - "LXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlzIHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwp" + - "IHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJvdXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVt" + - "IHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVzZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2Vy" + - "dmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kgY2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBv" + - "c2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVzOiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAg" + - "YmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRkb25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlz" + - "c3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZlIHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nr" + - "cy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8" + - "IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0t" + - "LS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMpIHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0" + - "eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24gb2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFn" + - "cyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tpcHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBs" + - "YXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVwZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2Vk" + - "IGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3Mg" + - "cHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoKKipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBs" + - "YWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0" + - "ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBgdmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91" + - "IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUgdmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJl" + - "bG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9y" + - "eSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVz" + - "Ogp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRlcGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hl" + - "bG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAgICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + - "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKCiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJl" + - "LWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5kcmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + - "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12" + - "YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMg" + - "TXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRyYTogICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAg" + - "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpg" + - "YGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5hdGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFt" + - "bC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5" + - "YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhl" + - "cml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpgYGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0" + - "byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFsc28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0" + - "ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBgdmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRz" + - "IHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVuY2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3Qg" + - "cHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVk" + - "IGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0g" + - "cGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBgZ2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0" + - "ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkK" + - "NC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFs" + - "dWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tzIG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJl" + - "Y2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5nb3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5WYWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25t" + - "ZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBjb25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZh" + - "bHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBrZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNl" + - "czoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRy" + - "YS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25z" + - "LmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9k" + - "ZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2VsZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5k" + - "cmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3NgCgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWlu" + - "ZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5pbWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29u" + - "dGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmlnLmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0" + - "b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVtcGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0" + - "b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8KCi0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFn" + - "ZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5lbnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1h" + - "Z2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0" + - "b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYgZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJ" + - "LCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5" + - "KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVu" + - "di4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykKCiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVu" + - "dAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3JlIGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0" + - "aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0iYC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1y" + - "ZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdhdGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9j" + - "YXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVk" + - "LCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVzZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxt" + - "ZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0uZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9i" + - "c29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZvciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRl" + - "c3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJhdGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3RhY2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06" + - "CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAg" + - "ICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZh" + - "bHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmlj" + - "czoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2Vu" + - "dENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAgY2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBv" + - "bGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFy" + - "Z2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVzZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZv" + - "ciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNsdXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQ" + - "SSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBnUlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNl" + - "bGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUgTExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0" + - "aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRkb25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0lu" + - "c2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExTLWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXIt" + - "dG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9u" + - "IGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJlcGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2Vk" + - "IFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBz" + - "ZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJl" + - "IHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10" + - "d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJl" + - "IG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRoZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQg" + - "QmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mv" + - "c2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRlci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUu" + - "CgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJyb3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRl" + - "ZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9zaXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdv" + - "cmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25m" + - "aWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNmOgogICAgICAgIHNpZGVjYXJzOgogICAgICAg" + - "ICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxyZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9u" + - "OjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5lbnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVS" + - "X0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNhdGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBp" + - "dCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11" + - "c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGguIENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJl" + - "bmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhlIHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZp" + - "cm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2lu" + - "ZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNl" + - "aXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdgOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBg" + - "CgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJp" + - "dmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgptdXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoK" + - "RXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25zIHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIg" + - "aW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBs" + - "YWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUgc2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5" + - "IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUgY29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0" + - "ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZlcnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBw" + - "bGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNhcjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52" + - "Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUg" + - "J2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1yb3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0" + - "ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZjZi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9u" + - "LXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2UgLnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09" + - "ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17IlxcbiJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBs" + - "YWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29ya2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1x" + - "dWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFuY2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJl" + - "aGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25maWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dp" + - "dGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWluL3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0" + - "ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJhdGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxl" + - "Y3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNlcyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkg" + - "cmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkg" + - "c3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoK" + - "IyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVh" + - "c2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "ZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1n" + - "cm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + - "BwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCm" + - "zhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMgYW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2lu" + - "ZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFp" + - "bGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRk" + - "b24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxlIE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVk" + - "IHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBleHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNs" + - "dWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11" + - "aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRp" + - "bCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFk" + - "ZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + - "bAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxlZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1l" + - "c3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpDcmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFu" + - "IGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3Ry" + - "eToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9t" + - "IGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNy" + - "LWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9" + - "JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0t" + - "bmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "YXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFp" + - "bj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkg" + - "dGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1" + - "ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJldmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2Ug" + - "YW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBW" + - "ZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFu" + - "ZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3Vi" + - "ZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAtaSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6" + - "IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAK" + - "CiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRo" + - "ZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRvIHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3Ry" + - "aWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29yaywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGlu" + - "Zwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2YtdWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwg" + - "U2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMg" + - "ZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBleGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3Vi" + - "ZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBs" + - "YW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWly" + - "IG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QKdXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlz" + - "dC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBsYW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0" + - "byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRyb2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24g" + - "dGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0" + - "IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBL" + - "eXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkKCiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBg" + - "YGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2" + - "ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVy" + - "bm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIuIENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwg" + - "c2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIK" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9yIG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFj" + - "ZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2VyLXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1w" + - "YXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJubyBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFw" + - "aVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDogQ2x1c3RlclBvbGljeQptZXRhZGF0YToKICBu" + - "YW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UK" + - "ICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdlcHVsbHNlY3JldC10by1udmNmLXBvZHMKICAg" + - "ICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAgIC0gcmVzb3VyY2VzOgogICAgICAgICAgICBr" + - "aW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAg" + - "ICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBpLWtleXMiCiAgICAgICAgICAgIC0gInNpcyIK" + - "ICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAgICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAg" + - "ICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAgICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAg" + - "ICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAgIG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0" + - "ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6CiAgICAgICAgICAgIGFubm90YXRpb25zOgog" + - "ICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6" + - "IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAg" + - "ICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxs" + - "c2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQuIEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUK" + - "CkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGlu" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5l" + - "ZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxsCnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBs" + - "YW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNlY3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25s" + - "eSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBu" + - "dmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVz" + - "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkg" + - "LWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBm" + - "aWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQdWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZj" + - "ci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRoZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4g" + - "RG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFsIGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZv" + - "bGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVkIGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNh" + - "dGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBjb250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGlu" + - "amVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMu" + - "aW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgoj" + - "IENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBq" + - "c29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9ucy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1" + - "bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVjdGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwg" + - "ZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVu" + - "dHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAt" + - "aSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0" + - "aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29wZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBz" + - "ZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2Vj" + - "cmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJ" + - "ZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNvbnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElB" + - "TSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwgZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBz" + - "ZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMqKjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4K" + - "LSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lz" + - "dHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlkZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNl" + - "cy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBvZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09m" + - "ZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBLeXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMg" + - "cG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9saWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVj" + - "ayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMj" + - "IyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVyIG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8K" + - "IyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpgYGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5n" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBj" + - "bHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFE" + - "WTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQgbmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2Vz" + - "IGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNyZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBu" + - "YW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNy" + - "ZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpgYGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQA" + - "CAAAAAAAIQCUiUjbShAAAEoQAAASAAkAAAAAAAAAAAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25V" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAsLppRuJiAADiYgAAIwAJAAAAAAAAAAAAAACTEAAAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "Q8/v5R0PAAAdDwAAMwAJAAAAAAAAAAAAAADPcwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "ZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADAk+YjJDAAA" + - "yQwAADQACQAAAAAAAAAAAAAAVoMAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + - "L211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAwbFpmM8PAADPDwAANwAJ" + - "AAAAAAAAAAAAAACKkAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29t" + - "cHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAA" + - "AAAAAAAAAMegAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQt" + - "cnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAA" + - "AAAAAADWugAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWlu" + - "dm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAA" + - "AFzgAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + - "bnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALRJ3ydWKQAAVikAADoACQAAAAAAAAAA" + - "AAAAju8AAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNj" + - "cmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAquE6ucgHAADIBwAAOQAJAAAAAAAAAAAA" + - "AABVGQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1q" + - "d2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAA" + - "jSEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAWzr4GLYkAAC2JAAAMAAJAAAAAAAAAAAAAADWQwEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAOUdeab6DwAA+g8AADIACQAAAAAAAAAAAAAA82gBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAC0C" + - "cDw2VQAANlUAAC0ACQAAAAAAAAAAAAAAVnkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1BfOC9CAAAPQgAAA3AAkA" + - "AAAAAAAAAAAAAPDOAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + - "ZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAA" + - "AAAAAAAAUvABAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAASlYAADQACQAAAAAAAAAAAAAA/lICAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJAAAAAAAAAAAAAACzqQIAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAACY0gIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUwAAA7AAkAAAAAAAAAAAAAAC0DAwBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoqAABEAAkAAAAAAAAAAAAAAFQ0AwBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAANle" + - "AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWkt" + - "YWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAA" + - "AAAIZwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxs" + - "LXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcAFwCvCQAAfX0DAAAA" + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBp" + + "bnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1r" + + "dWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUg" + + "cHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20g" + + "dGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBw" + + "cm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFs" + + "dWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGlu" + + "IHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQK" + + "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + + "c3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0" + + "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3Vn" + + "aCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25t" + + "ZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2Ug" + + "dG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBs" + + "ZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0" + + "aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBu" + + "dmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBc" + + "CiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEw" + + "bQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNm" + + "YmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAog" + + "IC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0" + + "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0" + + "IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBh" + + "bmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFu" + + "ZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkg" + + "dGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5h" + + "Z2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5v" + + "dCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdl" + + "ciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZl" + + "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1" + + "ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJl" + + "bGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + + "ZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2Ug" + + "cHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpk" + + "byBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVh" + + "Y2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6Cgpg" + + "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBc" + + "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAt" + + "LWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVy" + + "LWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAt" + + "LWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFt" + + "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBn" + + "ZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBk" + + "ZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVu" + + "IGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRl" + + "c3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + + "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklH" + + "X0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2Ug" + + "aXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENM" + + "SSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291" + + "dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29t" + + "cGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0" + + "aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVu" + + "dCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + + "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11" + + "cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + + "bmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21w" + + "dXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90" + + "IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBj" + + "YW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUg" + + "dGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBk" + + "ZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3Ig" + + "Ym90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRl" + + "IHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + + "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVh" + + "Y2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUg" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + + "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0" + + "ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlk" + + "PgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBk" + + "ZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4g" + + "SXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0" + + "cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "ADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVn" + + "Z2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25v" + + "c2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4K" + + "CiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwg" + + "bmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNp" + + "ZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxt" + + "IHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3Ig" + + "ZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0t" + + "c29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93" + + "cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxu" + + "YW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgoj" + + "IyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAg" + + "ICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNr" + + "T2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8g" + + "cHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAK" + + "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3Vi" + + "ZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJF" + + "dmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQpr" + + "dWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0" + + "aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1l" + + "c3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScK" + + "CiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVj" + + "dGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1" + + "bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNw" + + "YWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9j" + + "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + + "ICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNz" + + "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAg" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIu" + + "ICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFy" + + "dCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVz" + + "LiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9l" + + "c24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2" + + "aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQg" + + "cmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQu" + + "ICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAg" + + "IGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFj" + + "ZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWls" + + "dXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2Ug" + + "cG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAg" + + "ICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2Yt" + + "YXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpg" + + "YGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQt" + + "aW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5C" + + "YW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVu" + + "QmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgoj" + + "IENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + + "YmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0" + + "aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZh" + + "dWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5u" + + "aW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNl" + + "IGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBU" + + "aGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95" + + "IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3Rs" + + "IGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIg" + + "c3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXpl" + + "ZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4g" + + "dmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAg" + + "IGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0" + + "MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWdu" + + "YXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURD" + + "IGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVu" + + "QmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGlj" + + "IG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFk" + + "IG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAg" + + "Y2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJl" + + "c2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9u" + + "IHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRo" + + "ZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNz" + + "dWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3Mg" + + "YE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQg" + + "aXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVy" + + "IGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiBy" + + "ZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0" + + "aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0" + + "cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXIt" + + "bWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQg" + + "dGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwt" + + "a25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBV" + + "Ukwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBh" + + "dXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVy" + + "cyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJg" + + "IGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBm" + + "YWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4K" + + "CiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + + "dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRy" + + "YS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lz" + + "CgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2Fu" + + "ZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNz" + + "YW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4" + + "YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVz" + + "b3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgx" + + "OTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5" + + "Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBO" + + "VkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgoj" + + "IyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApO" + + "QU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0w" + + "ICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpg" + + "YGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVz" + + "Y3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAt" + + "ICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdz" + + "IG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZp" + + "Y2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoK" + + "IyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxl" + + "Y3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9k" + + "ZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBu" + + "b3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3Vi" + + "ZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2Vz" + + "Kio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBu" + + "b2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoK" + + "IyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpg" + + "YGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApg" + + "YGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2Vy" + + "dmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBg" + + "YGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMj" + + "IEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1" + + "c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1" + + "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgoj" + + "IyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNl" + + "cnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93" + + "IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBi" + + "b290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3Mg" + + "KGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwg" + + "bG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEw" + + "MApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoq" + + "OiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRv" + + "YXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoK" + + "ICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZ" + + "T1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRo" + + "dG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQ" + + "SSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFw" + + "LnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0" + + "cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVu" + + "Y2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lz" + + "CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFp" + + "bHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21w" + + "dXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5n" + + "YDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5n" + + "ICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgK" + + "ClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9y" + + "bWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMg" + + "ZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sg" + + "bmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNl" + + "cwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAt" + + "QSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIg" + + "KyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEi" + + "OyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29u" + + "dGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAg" + + "IntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhU" + + "IiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBm" + + "aW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJl" + + "Y3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBq" + + "c29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAg" + + "ICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0t" + + "cmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRv" + + "bmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5Cgoj" + + "IyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBu" + + "dmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFy" + + "ZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZj" + + "YS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3" + + "aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3Ig" + + "dGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlv" + + "biBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRl" + + "IG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0" + + "IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kg" + + "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4g" + + "bnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZh" + + "dGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMg" + + "aW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBg" + + "bnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3Au" + + "IFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNy" + + "ZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMK" + + "ClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIg" + + "dGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5" + + "IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlf" + + "QUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRl" + + "d2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3su" + + "c3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcg" + + "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + + "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVz" + + "ZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNT" + + "ZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwu" + + "ZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBV" + + "cGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVw" + + "bG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCBy" + + "ZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2Vs" + + "ZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1y" + + "ZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNw" + + "YWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNl" + + "cyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0t" + + "LS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5" + + "c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52" + + "Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2Us" + + "IHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMg" + + "fCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMg" + + "fCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBj" + + "b250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMg" + + "fApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUu" + + "bWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBM" + + "YXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + + "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9w" + + "ZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNl" + + "cyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2" + + "YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55" + + "YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRz" + + "KQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQg" + + "b3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAg" + + "ICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xv" + + "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVj" + + "dHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZp" + + "bGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFu" + + "ZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZp" + + "cm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQg" + + "dmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAg" + + "ICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwg" + + "ICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFs" + + "dWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVz" + + "dGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmly" + + "b25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1n" + + "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERv" + + "IG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5k" + + "IFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVh" + + "c2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0t" + + "LS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBN" + + "ZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwg" + + "dmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNh" + + "c3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJh" + + "c2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGBy" + + "ZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3Rt" + + "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0t" + + "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5" + + "cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBz" + + "ZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52" + + "b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBz" + + "ZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNl" + + "cnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8" + + "Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJl" + + "cXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdh" + + "dGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRt" + + "aW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJl" + + "bCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBz" + + "ZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJl" + + "cG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxd" + + "YCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4t" + + "aXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxv" + + "Y2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0" + + "IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0t" + + "LS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmls" + + "aXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZs" + + "YWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVt" + + "cGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVz" + + "ZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUn" + + "cyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJl" + + "cGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwg" + + "aXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZ" + + "b3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUg" + + "YmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0" + + "b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmlu" + + "ZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2Yv" + + "aGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9i" + + "YWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + + "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1Qg" + + "cmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + + "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRl" + + "LXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAg" + + "IyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAg" + + "ICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1p" + + "CmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55" + + "YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBg" + + "YHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGlu" + + "aGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpg" + + "IHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhl" + + "IHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdl" + + "dHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVz" + + "dCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFy" + + "ZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAt" + + "LSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdv" + + "IHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJl" + + "KQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2" + + "YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBw" + + "cmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGds" + + "b2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJv" + + "bm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMg" + + "dmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVu" + + "Y2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2Fu" + + "ZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlv" + + "bnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5u" + + "b2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3Nh" + + "bmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRh" + + "aW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5j" + + "b250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMu" + + "c3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxl" + + "Y3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmlt" + + "YWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5p" + + "bWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRh" + + "U3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChB" + + "UEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRv" + + "cnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4u" + + "ZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVt" + + "ZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVu" + + "Y3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxt" + + "LXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52" + + "b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJs" + + "ZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhl" + + "bG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUg" + + "b2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQg" + + "dGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxs" + + "bToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQog" + + "ICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDog" + + "ZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRy" + + "aWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFn" + + "ZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9u" + + "UG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0" + + "YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkg" + + "Zm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0Yg" + + "QVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGlj" + + "YXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBj" + + "SW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtl" + + "ci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rp" + + "b24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFn" + + "ZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVg" + + "IHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3Qg" + + "YmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9m" + + "LXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1" + + "cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9h" + + "ZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9j" + + "cy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlk" + + "ZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3Mg" + + "ZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQg" + + "d29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNv" + + "bmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAg" + + "ICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHls" + + "b246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VU" + + "RVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVz" + + "IGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMK" + + "bXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwg" + + "cmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVu" + + "dmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVz" + + "aW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJl" + + "Y2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpg" + + "YGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1k" + + "cml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4u" + + "CgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNh" + + "ciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJl" + + "cGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBw" + + "bHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3Jl" + + "YXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9s" + + "IHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBk" + + "ZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4g" + + "bnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAt" + + "RSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJv" + + "dXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rp" + + "b24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1l" + + "PT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwg" + + "cGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAt" + + "LXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0g" + + "YmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8v" + + "Z2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJn" + + "YXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNl" + + "bGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBC" + + "eSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0" + + "eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5j" + + "CgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVs" + + "ZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNl" + + "LWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4K" + + "UEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQAB" + + "AKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFj" + + "aW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2" + + "YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBh" + + "ZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5l" + + "ZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGlu" + + "Y2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNm" + + "LXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVu" + + "dGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUg" + + "YWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5" + + "YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5h" + + "bWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQg" + + "YW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lz" + + "dHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZy" + + "b20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElf" + + "S0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + + "LS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + + "bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9t" + + "YWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBs" + + "eSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5j" + + "bHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2Vydmlj" + + "ZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + + "ZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMj" + + "IFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQg" + + "YW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQpr" + + "dWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9z" + + "dDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBg" + + "YAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1" + + "dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVz" + + "dHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0" + + "aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkH" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVs" + + "bCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdl" + + "cyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBL" + + "dWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wt" + + "cGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhl" + + "aXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBs" + + "aXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5v" + + "IHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lv" + + "biB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNy" + + "ZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMj" + + "IEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoK" + + "YGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9r" + + "eXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2" + + "ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVs" + + "bCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+" + + "IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + + "bwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + + "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBs" + + "YWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2Vy" + + "LXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwK" + + "YXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgog" + + "IG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxz" + + "ZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwog" + + "ICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAg" + + "IGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAg" + + "ICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lz" + + "IgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAg" + + "ICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAg" + + "ICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3Ry" + + "YXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6" + + "CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1i" + + "eToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoK" + + "ICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1" + + "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFu" + + "ZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24g" + + "aW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUg" + + "bmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wt" + + "cGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBv" + + "bmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNl" + + "IG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + + "c3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXIt" + + "dXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + + "WSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBs" + + "eSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50" + + "IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBu" + + "dmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2Ug" + + "aW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1g" + + "LiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4g" + + "Rm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1p" + + "bnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZp" + + "Y2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUg" + + "aW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3Bl" + + "Yy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0K" + + "CiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1v" + + "IGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdl" + + "cHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVs" + + "bCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2" + + "ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVw" + + "IC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5h" + + "dXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21w" + + "dXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + + "IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBT" + + "ZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6" + + "IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAg" + + "SUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0" + + "IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVk" + + "LgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVn" + + "aXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZp" + + "Y2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNr" + + "T2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0" + + "cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0" + + "dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + + "dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoK" + + "IyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJu" + + "bwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hp" + + "bmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJF" + + "QURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5j" + + "ZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0" + + "IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNl" + + "Y3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQA" + + "FAAIAAAAAAAhAFyEGDdKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNv" + + "blVUBQABAKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAjAAkAAAAAAAAAAAAAAJMQAABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAMCT5iMkM" + + "AADJDAAANAAJAAAAAAAAAAAAAABWgwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBs" + + "ZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDBsWmYzw8AAM8PAAA3" + + "AAkAAAAAAAAAAAAAAIqQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1j" + + "b21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAA" + + "AAAAAAAAAAAAx6AAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFu" + + "ZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAA" + + "AAAAAAAAANa6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQt" + + "aW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAA" + + "AAAAXOAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVk" + + "LWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAA" + + "AAAAAACO7wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20t" + + "c2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAA" + + "AAAAAFUZAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVy" + + "LWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAA" + + "AACNIQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQBbOvgYtiQAALYkAAAwAAkAAAAAAAAAAAAAANZDAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAADzaAEAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "LR3ozapVAACqVQAALQAJAAAAAAAAAAAAAABWeQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALUF84L0IAAA9CAAADcA" + + "CQAAAAAAAAAAAAAAZM8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + + "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAA" + + "AAAAAAAAAADG8AEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAAByUwIAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAACeqAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAAzTAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAoQMDAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAyDQDAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0" + + "dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAA" + + "TV8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11" + + "aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAA" + + "AAAAAHxnAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADxfQMAAAA=" var ( skillDataOnce sync.Once From 9a9fd6bb97b8570bb64ca9056d53c0cab3464f7a Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:47:33 +0530 Subject: [PATCH 090/127] fix(nvcf-cli): read the check env toggles as booleans so false and 0 leave a check on Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 6 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 48 +++- .../cmd/self_hosted_check_scope_test.go | 28 ++ .../agentskill/skilldata_generated.go | 263 +++++++++--------- 4 files changed, 205 insertions(+), 140 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 9e37e77c41..bf67f3bc2e 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -24,7 +24,7 @@ | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | -| `--local-only` | `check` only; run the local-host checks and skip all cluster and registry contact, whatever scope flag is passed. The registry credential check and each selected role's cluster checks are reported as rows that pass at info and say `skipped (--local-only)`. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY` | `false` | +| `--local-only` | `check` only; run the local-host checks and skip all cluster and registry contact, whatever scope flag is passed. The registry credential check and each selected role's cluster checks are reported as rows that pass at info and say `skipped (--local-only)`. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY`, `true` or `false` | `false` | ## `check`-specific @@ -40,7 +40,7 @@ without them every selected role checks the current kubeconfig context. | `--compute-plane` | Check the installed compute plane: leftover namespaces, node inotify limits, SIS reachability at a configured ICMS URL, and the compute-plane cluster-validator | `false` | | `--all` | Both `--control-plane` and `--compute-plane`, SIS reachability included, with or without `--pre` | `false` | | `--cluster-name NAME` | Cluster name shown in the output header. No check uses it, and `check` does not require it | - | -| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Its `node-inotify-limits` row passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY` | `false` | +| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Its `node-inotify-limits` row passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY`, `true` or `false` | `false` | ### Cluster-validator flags @@ -63,7 +63,7 @@ and deleting test namespaces an earlier validator run left behind. | `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components`, a list of names | from the stack | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations`, a list of strings in this form, not Kubernetes toleration objects | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | -| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION` | `false` | +| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION`, `true` or `false` | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check that runs the validator removes them once they are 24 hours old. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now. Cannot be combined with `--wait` | `false` | | `--show-logs` | Print each validator transcript to stderr after the check events, framed by `--- cluster-validator logs () ---` and a matching end line, where the category is `control-plane-cluster` or `compute-plane-cluster`. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 80c77ef1db..a4239a6e5c 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -25,6 +25,7 @@ import ( "os" "os/signal" "path/filepath" + "strconv" "strings" "sync" "syscall" @@ -107,14 +108,15 @@ func init() { selfHostedCheckCmd.Flags().StringVar(&checkClusterName, "cluster-name", "", "Cluster name shown in the check output header; no check uses it") selfHostedCheckCmd.Flags().BoolVar(&checkLocalOnly, "local-only", false, - "Run local-host checks only (no cluster or registry contact); the skipped checks are reported as skipped rows") + "Run local-host checks only (no cluster or registry contact); the skipped checks are reported as "+ + "skipped rows. Env: NVCF_CLI_SELFHOSTED_LOCAL_ONLY=true") selfHostedCheckCmd.Flags().BoolVar(&checkSkipInotifyCheck, "skip-inotify-check", false, "Disable the per-node inotify-limits probe; its row says it was skipped. Required when the "+ "kubeconfig user cannot create pods in 'default', or when the probe image comes from a registry "+ - "that needs credentials: the probe pods get no pull secret. Env: NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") + "that needs credentials: the probe pods get no pull secret. Env: NVCF_CLI_SELFHOSTED_SKIP_INOTIFY=true") selfHostedCheckCmd.Flags().BoolVar(&checkSkipClusterValidation, "skip-cluster-validation", false, "Disable the in-cluster cluster-validator probe; its row says it was skipped. "+ - "Env: NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") + "Env: NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION=true") selfHostedCheckCmd.Flags().StringVar(&checkClusterValidatorImage, "cluster-validator-image", "", "Cluster-validator container image. Resolved from --cluster-validator-image > "+ "NVCF_CLI_CLUSTER_VALIDATOR_IMAGE > nvcf-cli config (cluster_validator_image). "+ @@ -198,6 +200,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if _, err := configuredExternalComponents(); err != nil { return err } + for _, name := range []string{envLocalOnly, envSkipClusterValidation, envSkipInotify} { + if _, err := envToggle(name); err != nil { + return err + } + } // One credential lookup per registry for each poll, shared by tag // discovery, the local credential row and the validator's pull secret, // so the row checks the credential the validator Job is given. Each @@ -206,7 +213,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { creds := selfhosted.NewRegistryCredentials(preferNGCKey()) runCtx := selfhosted.WithRegistryCredentials(c.Context(), creds) - localOnly := checkLocalOnly || os.Getenv("NVCF_CLI_SELFHOSTED_LOCAL_ONLY") != "" + localOnly := checkLocalOnly || envToggleOn(envLocalOnly) skipClusterValidation := clusterValidationSkipped() // ValidateFlags in PersistentPreRunE guarantees mode is ModeSingle or @@ -1404,11 +1411,40 @@ func checkRunBudget(mode kubectx.Mode, localOnly, validatorConfigured bool, wait } func clusterValidationSkipped() bool { - return checkSkipClusterValidation || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION") != "" + return checkSkipClusterValidation || envToggleOn(envSkipClusterValidation) } func inotifyCheckSkipped() bool { - return checkSkipInotifyCheck || os.Getenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY") != "" + return checkSkipInotifyCheck || envToggleOn(envSkipInotify) +} + +// The env toggles of check's --local-only, --skip-cluster-validation and +// --skip-inotify-check. +const ( + envLocalOnly = "NVCF_CLI_SELFHOSTED_LOCAL_ONLY" + envSkipClusterValidation = "NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION" + envSkipInotify = "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY" +) + +// envToggle reads a boolean env toggle: unset or empty is off, and a value +// strconv.ParseBool reads says which, so "false" and "0" are off. Any other +// value is an error naming it. +func envToggle(name string) (bool, error) { + raw := strings.TrimSpace(os.Getenv(name)) + if raw == "" { + return false, nil + } + on, err := strconv.ParseBool(raw) + if err != nil { + return false, fmt.Errorf("%s=%q: expected true or false", name, raw) + } + return on, nil +} + +// envToggleOn is envToggle for a toggle validated before the run starts. +func envToggleOn(name string) bool { + on, _ := envToggle(name) + return on } // resolveCheckSISURL returns the SIS URL to probe, or "" when none was diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 19968e33ba..9a052586ca 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -123,6 +123,34 @@ func TestCheck_StaleNamespaceGatesFollowTheInstallsStack(t *testing.T) { assert.NotContains(t, ns, "kai-scheduler", "with no environment named, base.yaml decides") } +// The env toggles are booleans, so a config that spells one out as "false" +// or "0" leaves its check on. Any other value fails the command naming it. +func TestCheck_EnvTogglesAreBooleans(t *testing.T) { + t.Setenv(envLocalOnly, "false") + ns, _ := runCheckRecording(t, "--control-plane") + assert.NotEmpty(t, ns, "LOCAL_ONLY=false still checks the cluster") + t.Setenv(envLocalOnly, "true") + ns, _ = runCheckRecording(t, "--control-plane") + assert.Empty(t, ns) + t.Setenv(envLocalOnly, "") + + resetCheckFlags(t) + for value, on := range map[string]bool{"0": false, "false": false, "": false, "1": true, "TRUE": true} { + t.Setenv(envSkipClusterValidation, value) + t.Setenv(envSkipInotify, value) + assert.Equal(t, on, clusterValidationSkipped(), value) + assert.Equal(t, on, inotifyCheckSkipped(), value) + } + + t.Setenv(envSkipInotify, "maybe") + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY="maybe": expected true or false`) +} + // A bare --pre skips SIS, which is not up before install; an explicit --all or // --compute-plane still asks for it; --control-plane never contacts it. func TestCheck_SISReachabilityScope(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 28f9c64186..d59cfac621 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIyMDAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIyNTcsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NWI4ODBhZTE1ZDFmMWFl" + - "YjBkYjY3ODRhMDI3M2NhYWNhYzg4YzJiNjViM2Y4ZDQ3ODE4MWM2N2U1YjNmNWU3IiwKICAgICAg" + - "InNpemUiOiAyMTkzMAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiYmJkNjIyZGM4MDE4OGNk" + + "ODY5ZTljODhjMDZmY2IzZmQ1OWI2MmQxNjY0MmIwYjIxNzA5MzY3OTc2NTQ3NDdkIiwKICAgICAg" + + "InNpemUiOiAyMTk4NwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImYx" + "OTk2OGJmNDk5MDhkZWRkODJjMDJkZWE5MjVlZDAzZjkzZGI2ODY5NDIxNTMwNzI0NmQyZjNmOTYw" + "YjA5MTQiLAogICAgICAic2l6ZSI6IDg0MzYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCFyEGDdKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCLKTcX1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1774,118 +1774,119 @@ const skillDataZipBase64 = "" + "dmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVudGlhbCBjaGVjayBh" + "bmQgZWFjaCBzZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJlcG9ydGVkIGFzIHJv" + "d3MgdGhhdCBwYXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2NhbC1vbmx5KWAuIEVu" + - "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVj" + - "a2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250cm9sLXBsYW5lYCwg" + - "YC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIGAtLXByZWAgc2VsZWN0" + - "cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBpdHMgb3duLiBPbmx5CnRoZSBz" + - "ZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mg" + - "b3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVkIHJvbGUgY2hlY2tzIHRoZSBj" + - "dXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBs" + - "dXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBp" + - "cyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAg" + - "aXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywg" + - "dGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQuIEEg" + - "bWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZh" + - "aWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0" + - "YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBgZmFsc2VgIHwKfCBg" + - "LS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29udHJvbCBwbGFuZTogbGVm" + - "dG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3Iu" + - "IE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBsYW5lYCB8IENoZWNr" + - "IHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcywgbm9kZSBp" + - "bm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNvbmZpZ3VyZWQgSUNNUyBVUkws" + - "IGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IGBmYWxzZWAgfAp8IGAt" + - "LWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1jb21wdXRlLXBsYW5lYCwgU0lT" + - "IHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0IGAtLXByZWAgfCBgZmFsc2Vg" + - "IHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgc2hvd24gaW4gdGhlIG91" + - "dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hlY2tgIGRvZXMgbm90IHJlcXVp" + - "cmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUg" + - "aW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fu" + - "bm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMg" + - "b24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9k" + - "cyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5LWxpbWl0c2Agcm93IHBhc3Nl" + - "cyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9T" + - "VEVEX1NLSVBfSU5PVElGWWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFn" + - "cwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNr" + - "ZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENs" + - "dXN0ZXJSb2xlQmluZGluZyBmb3IgaXQsIHBsdXMgYSBSb2xlIGFuZApSb2xlQmluZGluZyBpbiBg" + - "ZGVmYXVsdGAgdGhhdCBsZXQgaXQgcmVhZCBvbmx5IGl0cyBvd24gQ29uZmlnTWFwLCBhbmQgcmVt" + - "b3Zlcwp0aGVtIGFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMg" + - "cGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2YWxpZGF0b3IncyB0cmFu" + - "c2NyaXB0IHdpdGggYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAuCldpdGhvdXQgaXQs" + - "IGEgdmFsaWRhdG9yIEpvYiB0aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNzZXMsIGFuZCBpdHMgcm93" + - "IHNheXMgdGhlCnRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQsIHNvIHdhcm5pbmdzIGl0IHJl" + - "cG9ydGVkIGFyZSBub3Qgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMgb25seSB0aGUgY2Fs" + - "bHMgZWFjaCByb2xlJ3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNwYWNlLCBEYWVtb25T" + - "ZXQgYW5kIHBvZCB3cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10by1ub2RlIHByb2Jl" + - "LAphbmQgZGVsZXRpbmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFsaWRhdG9yIHJ1biBs" + - "ZWZ0IGJlaGluZC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29s" + - "dXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNv" + - "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlz" + - "Y292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gSWYgbm8gdGFn" + - "IGNhbiBiZSBkaXNjb3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgaXRzIHJv" + - "dyBmYWlscyB0aGUgY2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdhaXRgIHRyaWVzIGFn" + - "YWluIG9uIGV2ZXJ5IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxpZGF0b3IgZG9lcyBu" + - "b3QgcnVuIGFuZCBlYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBpcyBhIHdhcm5p" + - "bmcsIHNvIHRoZSB2ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlk" + - "YXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0cmEgcmVnaXN0cmll" + - "cyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hpbmUsIGFuZCB0aGVp" + - "ciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3Iu" + - "IEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBoYXJib3IuZXhhbXBs" + - "ZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVzIHRoZSBpbnN0YWxs" + - "IHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwgdGhlIHN0YWNrJ3Mg" + - "YGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAsIGFu" + - "ZCBgcXVheS5pb2AgZm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBz" + - "dGFjayBsZWF2ZXMgY2VydC1tYW5hZ2VyIG91dCBvciBzZXRzIGBjZXJ0TWFuYWdlci5hY21lc29s" + - "dmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCwgYXMgYSB3YXJuaW5nIG9ubHksIHdoZW4g" + - "bmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgaW4t" + - "cG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBoYXMgbm8gcHJveHku" + - "IEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1h" + - "LXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7" + - "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgLCBhIGxpc3Qgb2Ygc3Ry" + - "aW5ncyBpbiB0aGlzIGZvcm0gfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFn" + - "ZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9s" + - "LXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hg" + - "IGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNs" + - "dXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNv" + - "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZg" + - "IGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9u" + - "ZW50cyBOQU1FLC4uLmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUg" + - "c3RhY2ssIG9yIG5vdCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3Ig" + - "dGhlbSBpbiB0aGUgY2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBj" + - "YXNzYW5kcmFgLiBBbiB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUg" + - "b3IgY29tbWEtc2VwYXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVO" + - "VFNgLCB0aGVuIHRvIHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0" + - "YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjog" + - "YE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcg" + - "a2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCwgYSBsaXN0IG9mIG5h" + - "bWVzIHwgZnJvbSB0aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25z" + - "IGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFs" + - "aWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJp" + - "ZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMg" + - "YE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9y" + - "bWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRl" + - "ZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcg" + - "a2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGlu" + - "IHRoaXMgZm9ybSwgbm90IEt1YmVybmV0ZXMgdG9sZXJhdGlvbiBvYmplY3RzIHwgLSB8CnwgYC0t" + - "Y2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2Vj" + - "cmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBl" + - "bXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0ZWQgaW4gYGRlZmF1" + - "bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBpdCBjb3BpZXMgdGhl" + - "IHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20gYSBTZWNyZXQgaW4g" + - "dGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0" + - "aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFjaGluZSdzIGNyZWRl" + - "bnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxz" + - "YCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlzIHdoYXQgd2FzIGNv" + - "cGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lw" + - "LWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9i" + - "ZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBjYW5ub3QgcnVu" + - "IGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNpdGx5LCBmb3Ig" + - "ZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4gRWFjaCByb2xl" + - "J3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBp" + - "dCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFM" + - "SURBVElPTmAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRv" + + "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwg" + + "YGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwg" + + "YC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVp" + + "cmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVjdHMg" + + "aXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBhc3Mg" + + "Ym90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxlY3Rl" + + "ZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcgfCBQ" + + "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDog" + + "bG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hh" + + "YmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9y" + + "IGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGgg" + + "YSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0" + + "ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVs" + + "bWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNo" + + "ZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdh" + + "cm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVk" + + "IGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5l" + + "IGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0tY29t" + + "cHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVy" + + "IG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQgYSBj" + + "b25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxpZGF0" + + "b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQgYC0t" + + "Y29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0aG91" + + "dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + + "YW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQgYGNo" + + "ZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8" + + "IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUg" + + "a3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdoZW4g" + + "dGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFscywg" + + "c2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5vdGlm" + + "eS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52" + + "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8" + + "IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1" + + "bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVz" + + "IGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZv" + + "ciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBp" + + "dCByZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhl" + + "IHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFn" + + "ZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBv" + + "biBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRo" + + "YXQgc3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlw" + + "dCBjb3VsZCBub3QgYmUgcmVhZCwgc28gd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93" + + "bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVj" + + "a3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBv" + + "ZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0" + + "IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFn" + + "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywg" + + "YE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92" + + "YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBz" + + "dGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQs" + + "IHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywg" + + "c2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4g" + + "VW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9s" + + "ZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3Qg" + + "aXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9z" + + "dFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBj" + + "cmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9t" + + "IGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUg" + + "Y3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBh" + + "cmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZh" + + "bGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lz" + + "dHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhl" + + "IGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1h" + + "bmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5p" + + "b2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBu" + + "b3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJu" + + "aW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkg" + + "ZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBO" + + "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rl" + + "cl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8" + + "IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3Ig" + + "dGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mg" + + "bm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHls" + + "ZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0Zf" + + "Q0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92" + + "YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwK" + + "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0" + + "YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFs" + + "bCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVy" + + "OiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25v" + + "d24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQu" + + "IEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNv" + + "bXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBm" + + "aWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + + "QUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRh" + + "dG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFj" + + "ayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVj" + + "dF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUg" + + "dGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdo" + + "b3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVm" + + "ZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhl" + + "IGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9D" + + "TFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRh" + + "dG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtLCBub3QgS3Vi" + + "ZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1w" + + "dWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVz" + + "ZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMg" + + "YSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdz" + + "IHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwg" + + "YW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2Vz" + + "IGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25l" + + "IGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lz" + + "dHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2" + + "YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFu" + + "ZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9u" + + "YCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlk" + + "YXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBz" + + "byB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNs" + + "dXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0" + + "b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6" + + "IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCwgYHRydWVgIG9y" + + "IGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRv" + "ciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVn" + "Z2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3Bl" + "bmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7" + @@ -2109,8 +2110,8 @@ const skillDataZipBase64 = "" + "c2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3Mg" + "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJ" + "RGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxl" + - "bWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwgt" + - "HejNqlUAAKpVAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1t" + + "bWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwhw" + + "nEMn41UAAONVAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1t" + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxl" + "c2hvb3RpbmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSBy" + "ZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBD" + @@ -4044,7 +4045,7 @@ const skillDataZipBase64 = "" + "ZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0" + "IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNl" + "Y3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQA" + - "FAAIAAAAAAAhAFyEGDdKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNv" + + "FAAIAAAAAAAhALKTcX1KEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNv" + "blVUBQABAKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAjAAkAAAAAAAAAAAAAAJMQAABk" + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + "IQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + @@ -4068,26 +4069,26 @@ const skillDataZipBase64 = "" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAU" + "AAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAADzaAEAZGF0YS9udmNmLXNlbGYtbWFu" + "YWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "LR3ozapVAACqVQAALQAJAAAAAAAAAAAAAABWeQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cJxDJ+NVAADjVQAALQAJAAAAAAAAAAAAAABWeQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + "cmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALUF84L0IAAA9CAAADcA" + - "CQAAAAAAAAAAAAAAZM8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + + "CQAAAAAAAAAAAAAAnc8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAA" + - "AAAAAAAAAADG8AEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAAByUwIAZGF0" + + "AAAAAAAAAAD/8AEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAACrUwIAZGF0" + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAACeqAgBkYXRhL252Y2Yt" + + "ElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAGCqAgBkYXRhL252Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAAzTAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "AAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAEXTAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAoQMDAGRhdGEv" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAA2gMDAGRhdGEv" + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAyDQDAGRhdGEv" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAATUDAGRhdGEv" + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0" + "dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAA" + - "TV8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11" + + "hl8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11" + "aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAA" + - "AAAAAHxnAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADxfQMAAAA=" + "AAAAALVnAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAAqfgMAAAA=" var ( skillDataOnce sync.Once From b7c9f77eb61ab90bf57ec56e8ee45902eea2fc95 Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:51:11 +0530 Subject: [PATCH 091/127] fix(nvcf-cli): do not probe NVIDIA's hosted SIS from a base_http_url copied from the config template Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 39 +- .../cmd/self_hosted_check_rows_test.go | 12 + .../agentskill/skilldata_generated.go | 4644 +++++++++-------- 4 files changed, 2365 insertions(+), 2332 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index bf67f3bc2e..3d8be87cfe 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -23,7 +23,7 @@ | `--wait DURATION` | `check` only; run the checks again, 5s apart, until they pass or DURATION runs out (exit `5`, `final` with `success: false`). Each run includes the cluster-validator Job, which can take up to 5m, so allow for it or pass `--skip-cluster-validation`. A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. A check the time budget stopped keeps it polling too, and its event carries `cutShort: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | -| `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | +| `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`, and not at one derived from a `base_http_url` on NVIDIA's hosted `nvcf.nvidia.com`, as the config template's is; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | | `--local-only` | `check` only; run the local-host checks and skip all cluster and registry contact, whatever scope flag is passed. The registry credential check and each selected role's cluster checks are reported as rows that pass at info and say `skipped (--local-only)`. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY`, `true` or `false` | `false` | ## `check`-specific diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index a4239a6e5c..87c7386683 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -22,6 +22,7 @@ import ( "context" "fmt" "io" + "net/url" "os" "os/signal" "path/filepath" @@ -942,10 +943,11 @@ func runPreflightByRole( icmsURL := "" var computeSkips []selfhosted.SkippedCheck if checkAll || checkComputePlane { - if icmsURL = resolveCheckSISURL(selfHostedICMSURL); icmsURL == "" { + var unset string + if icmsURL, unset = resolveCheckSISURL(selfHostedICMSURL); icmsURL == "" { computeSkips = append(computeSkips, selfhosted.SkippedCheck{ Category: selfhosted.CategoryComputePlane, ID: "sis-reachability", Warn: true, - Message: "SIS reachability not checked: no ICMS URL is configured; pass --icms-url or set NVCF_ICMS_URL", + Message: "SIS reachability not checked: " + unset + "; pass --icms-url or set NVCF_ICMS_URL", }) } } @@ -1447,16 +1449,33 @@ func envToggleOn(name string) bool { return on } -// resolveCheckSISURL returns the SIS URL to probe, or "" when none was -// configured. Unlike resolveICMSURL it does not fall back to the client's -// built-in base_http_url, which names NVIDIA's hosted service rather than -// this install. -func resolveCheckSISURL(flagValue string) string { +// resolveCheckSISURL returns the SIS URL to probe, or "" and why there is +// none. Unlike resolveICMSURL it does not fall back to the client's built-in +// base_http_url, nor derive one from a base_http_url on NVIDIA's hosted +// service, as a config copied from the template has: neither is this install. +func resolveCheckSISURL(flagValue string) (sisURL, unset string) { if flagValue == "" && os.Getenv("NVCF_ICMS_URL") == "" && os.Getenv("NVCF_SIS_URL") == "" && - !viper.IsSet("icms_url") && !viper.IsSet("base_http_url") { - return "" + strings.TrimSpace(viper.GetString("icms_url")) == "" { + switch base := strings.TrimSpace(viper.GetString("base_http_url")); { + case base == "": + return "", "no ICMS URL is configured" + case onNVIDIAHostedNVCF(base): + return "", "base_http_url names NVIDIA's hosted NVCF, not this install" + } + } + return resolveICMSURL(flagValue), "" +} + +// onNVIDIAHostedNVCF reports whether rawURL is on the domain of NVIDIA's +// hosted NVCF, which the client's default base_http_url and the config +// template's name. +func onNVIDIAHostedNVCF(rawURL string) bool { + u, err := url.Parse(rawURL) + if err != nil { + return false } - return resolveICMSURL(flagValue) + host := strings.ToLower(u.Hostname()) + return host == "nvcf.nvidia.com" || strings.HasSuffix(host, ".nvcf.nvidia.com") } // validatorSkip is the row for a role whose validator does not run: none when diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index 2023cfb442..547e4188a2 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -335,6 +335,18 @@ func TestCheck_SISOnlyAtAConfiguredURL(t *testing.T) { assert.Equal(t, 0, run.code()) assert.EqualValues(t, 1, hits.Load(), "a base_http_url the operator set is the install's") assert.Equal(t, true, run.row(t, "compute-plane-cluster", "sis-reachability")["passed"]) + + // The template's base_http_url names NVIDIA's hosted service, so a config + // copied from it does not point check at that SIS. + for _, hosted := range []string{"https://api.nvcf.nvidia.com", "https://api.shqa.stg.nvcf.nvidia.com"} { + viper.Set("base_http_url", hosted) + run = runCheck(t, checkStubs{noSISURL: true}, "--compute-plane", "--skip-cluster-validation") + row = run.row(t, "compute-plane-cluster", "sis-reachability") + require.NotNil(t, row, hosted) + assert.Equal(t, false, row["passed"], hosted) + assert.Equal(t, "warning", row["severity"], hosted) + assert.Contains(t, row["message"], "base_http_url names NVIDIA's hosted NVCF", hosted) + } } // A blocking finding exits 2 even when the budget cut another row short: no diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index d59cfac621..89c6b2e44d 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIyNTcsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIzNzAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiYmJkNjIyZGM4MDE4OGNk" + - "ODY5ZTljODhjMDZmY2IzZmQ1OWI2MmQxNjY0MmIwYjIxNzA5MzY3OTc2NTQ3NDdkIiwKICAgICAg" + - "InNpemUiOiAyMTk4NwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2Y2Y0MjM0OGYwYzI2ZTRk" + + "ZGYzNzA0MGFhZDdjYzc3N2JhYzU3ZDdlZDZiMDk3OTNmYWI1Nzg1ZTFlZWFhNDc4IiwKICAgICAg" + + "InNpemUiOiAyMjEwMAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImYx" + "OTk2OGJmNDk5MDhkZWRkODJjMDJkZWE5MjVlZDAzZjkzZGI2ODY5NDIxNTMwNzI0NmQyZjNmOTYw" + "YjA5MTQiLAogICAgICAic2l6ZSI6IDg0MzYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCLKTcX1KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCBV8xHxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1767,2328 +1767,2330 @@ const skillDataZipBase64 = "" + "dGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hl" + "biBjb250ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBo" + "ZXJlLCBpbiBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25m" + - "aWcgYXMgYGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGA7IHdpdGggbm9uZSwgaXRzIGBzaXMt" + - "cmVhY2hhYmlsaXR5YCByb3cgaXMgYSB3YXJuaW5nIHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBf" + - "dXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgbG9jYWwtaG9z" + - "dCBjaGVja3MgYW5kIHNraXAgYWxsIGNsdXN0ZXIgYW5kIHJlZ2lzdHJ5IGNvbnRhY3QsIHdoYXRl" + - "dmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVudGlhbCBjaGVjayBh" + - "bmQgZWFjaCBzZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJlcG9ydGVkIGFzIHJv" + - "d3MgdGhhdCBwYXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2NhbC1vbmx5KWAuIEVu" + - "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwg" + - "YGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwg" + - "YC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVp" + - "cmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVjdHMg" + - "aXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBhc3Mg" + - "Ym90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxlY3Rl" + - "ZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDog" + - "bG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hh" + - "YmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9y" + - "IGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGgg" + - "YSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0" + - "ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVs" + - "bWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNo" + - "ZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdh" + - "cm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVk" + - "IGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5l" + - "IGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0tY29t" + - "cHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVy" + - "IG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQgYSBj" + - "b25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxpZGF0" + - "b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQgYC0t" + - "Y29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0aG91" + - "dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + - "YW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQgYGNo" + - "ZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8" + - "IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUg" + - "a3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdoZW4g" + - "dGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFscywg" + - "c2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5vdGlm" + - "eS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52" + - "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8" + - "IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1" + - "bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVz" + - "IGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZv" + - "ciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBp" + - "dCByZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhl" + - "IHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFn" + - "ZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBv" + - "biBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRo" + - "YXQgc3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlw" + - "dCBjb3VsZCBub3QgYmUgcmVhZCwgc28gd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93" + - "bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVj" + - "a3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBv" + - "ZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0" + - "IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFn" + - "IHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0" + - "b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywg" + - "YE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92" + - "YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBz" + - "dGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQs" + - "IHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywg" + - "c2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4g" + - "VW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9s" + - "ZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3Qg" + - "aXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9z" + - "dFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBj" + - "cmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9t" + - "IGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUg" + - "Y3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBh" + - "cmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZh" + - "bGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lz" + - "dHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhl" + - "IGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1h" + - "bmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5p" + - "b2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBu" + - "b3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJu" + - "aW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkg" + - "ZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBO" + - "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rl" + - "cl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8" + - "IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3Ig" + - "dGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mg" + - "bm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHls" + - "ZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0Zf" + - "Q0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92" + - "YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwK" + - "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0" + - "YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFs" + - "bCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVy" + - "OiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25v" + - "d24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQu" + - "IEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNv" + - "bXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBm" + - "aWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9W" + - "QUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRh" + - "dG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFj" + - "ayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVj" + - "dF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUg" + - "dGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdo" + - "b3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVm" + - "ZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhl" + - "IGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9D" + - "TFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRh" + - "dG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtLCBub3QgS3Vi" + - "ZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1w" + - "dWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVz" + - "ZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMg" + - "YSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdz" + - "IHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwg" + - "YW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2Vz" + - "IGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25l" + - "IGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lz" + - "dHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2" + - "YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFu" + - "ZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9u" + - "YCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlk" + - "YXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBz" + - "byB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNs" + - "dXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0" + - "b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6" + - "IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCwgYHRydWVgIG9y" + - "IGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRv" + - "ciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVn" + - "Z2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3Bl" + - "bmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7" + - "IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHRo" + - "YXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhvdXJz" + - "IG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhl" + - "IGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5v" + - "dy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1zaG93" + - "LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIg" + - "dGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0b3IgbG9ncyAo" + - "PGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNhdGVn" + - "b3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0ZXJg" + - "LiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRv" + - "IHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBz" + - "dHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9i" + - "ZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApj" + - "cmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2Nv" + - "bmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVk" + - "c1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQ" + - "SSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJ" + - "X0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19B" + - "UElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9u" + - "bHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxgIGVudmlyb25tZW50LCBz" + - "aW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0LCBhbmQgaXQgaXMgbmV2" + - "ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtleQppcyBzZW50IHdo" + - "ZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNyLmlvYCByZWplY3RzIHRo" + - "ZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXksIGZvciB0YWcgZGlzY292" + - "ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBhbmQgdGhlIHJvdyBzYXlz" + - "IGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2VuZHMuCkVhY2ggYC0td2Fp" + - "dGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9naW4gcmVuZXdlZCB3" + - "aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhlIHByb2JlIGFz" + - "a3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBvc2l0b3J5IGFu" + - "ZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFsLmltYWdlLnJl" + - "Z2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNrIHBhdGggb2Yg" + - "b25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMgbm90IHNlbnQgYXMg" + - "dGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9ubHkgYSBjcmVkZW50aWFs" + - "IHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5IGZvciBhbiBOVklE" + - "SUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQWZ0ZXIgaW5zdGFsbCBh" + - "IHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUgY2x1c3RlciBwdWxs" + - "cyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwptYWNoaW5lIGNhbm5v" + - "dCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3NpbmcgbG9jYWwK" + - "Y3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2JlIGNhbm5vdCBzcGVh" + - "ayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzIHNraXBwZWQgd2l0" + - "aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0aGF0IGxldHMgdGhp" + - "cyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5vdCBhcwp2YWxp" + - "ZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrCgpUaGUgdmFs" + - "aWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9uZSBzZXQgd2l0" + - "aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92ZXIgdGhlIHN0" + - "YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQgY29uZmlnIGtl" + - "eSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5n" + - "YXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczogbm9uZSB1bmxl" + - "c3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRzYCBvbmx5IHdp" + - "dGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWljYCBvbmx5IHdp" + - "dGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05BTUVTYCwgYXMg" + - "Y29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJlIG5hbWUgaXMg" + - "ZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMgdGhlIHN0YWNr" + - "J3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3MuZ2F0ZXdheUFw" + - "aS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFNRVNQQUNFYCB8" + - "CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBjYXNzYW5kcmFg" + - "IHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5U" + - "U2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hlbiBzZXQsIHRo" + - "ZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVhZCBvZiByZXF1" + - "aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8IE9wZW5CYW8g" + - "bmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3ZlcmxheSBwcm9i" + - "ZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9yIGBOVkNG" + - "X04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21lIGZyb20g" + - "dGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhleSBkZXNj" + - "cmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGggYC0tZW52" + - "YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIHVzZWQgb25seSBm" + - "b3IgYSBwbGFuZSBgLS1wcmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGwsCiAgc2luY2UgYHVw" + - "YCBpbnN0YWxscyB3aXRoIGl0LiBPdGhlcndpc2UgcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFs" + - "bCB1c2VkLgotIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVy" + - "IGBiYXNlLnlhbWxgLiBgYmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxl" + - "IGNvbWVzIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGZvciBhIGNvbXB1dGUtcGxhbmUtb25s" + - "eSBydW4pLCBlbHNlIHRoZSBDTEkncwogIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsIGRpcmVjdG9y" + - "eSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4gYG9jaTovL2Agc3RhY2sKICBmcm9tIHRoZSBjb3B5" + - "IGFuIGVhcmxpZXIgY29tbWFuZCBleHRyYWN0ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBz" + - "dGFjaywKICBgZmlsZTovL2AgaW5jbHVkZWQsIGlzIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFs" + - "bCBjbG9uZWQgaXRzIGNvbW1pdHRlZAogIHN0YXRlLiBBIENMSSB3aXRoIG5vIGJ1aWx0LWluIHN0" + - "YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRzIHRoZSBzdGFjawogIGNoZWNrb3V0IGFib3ZlIHRo" + - "ZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVyd2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlz" + - "IGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBmaW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91" + - "dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2JlZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAt" + - "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWly" + - "ZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVs" + - "dGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8" + - "CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91" + - "dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwg" + - "TGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8" + - "CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRl" + - "cnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFN" + - "RWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNr" + - "aXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lm" + - "aWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + - "TkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBO" + - "Q0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVz" + - "LXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25m" + - "aWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBm" + - "YWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmlj" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVu" + - "Y3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9t" + - "aXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVh" + - "ZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0t" + - "ZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsg" + - "cGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVss" + - "U0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNl" + - "cnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRl" + - "ZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVy" + - "YXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBg" + - "ZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpg" + - "LS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9u" + - "IGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0g" + - "fAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5j" + - "ZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZl" + - "cmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1" + - "bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBE" + - "RUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kg" + - "cmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hh" + - "cnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2Ug" + - "TkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVx" + - "dWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6" + - "VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwK" + - "fCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1v" + - "ZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxp" + - "bWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0" + - "PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2Au" + - "IFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUg" + - "c3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZh" + - "dWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBw" + - "cmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxs" + - "bS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJp" + - "b3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5D" + - "QSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpT" + - "T04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdg" + - "LiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVh" + - "bSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJl" + - "IGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRk" + - "aW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBg" + - "cG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAu" + - "CmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2Vw" + - "YXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAg" + - "Zm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyks" + - "IGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1" + - "bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEw" + - "MDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFj" + - "a2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0" + - "IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hh" + - "cnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4g" + - "dGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJl" + - "cm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpM" + - "TE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwt" + - "bmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0" + - "aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5k" + - "IFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRg" + - "IGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMg" + - "YGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFn" + - "cyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBm" + - "b3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + - "PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVs" + - "YC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21i" + - "aW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJ" + - "VFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3" + - "aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4g" + - "fCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBl" + - "ci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2" + - "NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHku" + - "IHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNb" + - "XWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2Rg" + - "IGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGlt" + - "ZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBg" + - "ZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMg" + - "cmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1p" + - "ZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BV" + - "IGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1Au" + - "R1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFg" + - "IHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgt" + - "cmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVy" + - "IGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBz" + - "cGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNr" + - "IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9y" + - "IHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFt" + - "ZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSok" + - "YCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1m" + - "aWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0" + - "YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBO" + - "Q1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBN" + - "dXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBD" + - "SEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVz" + - "aXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNw" + - "ZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNl" + - "dCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVz" + - "dGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNl" + - "IHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFz" + - "c2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAi" + - "LS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12" + - "YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwK" + - "fCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyBy" + - "ZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFU" + - "SU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwg" + - "Tm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJB" + - "VElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkg" + - "fCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElP" + - "TmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBk" + - "ZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cg" + - "dG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRp" + - "b24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3Rl" + - "YW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQ" + - "TE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFj" + - "dDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJl" + - "c291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwg" + - "VGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRh" + - "c2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3Mg" + - "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJ" + - "RGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxl" + - "bWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwhw" + - "nEMn41UAAONVAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxl" + - "c2hvb3RpbmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSBy" + - "ZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBD" + - "TEkgZW1pdHMgKFJFUS0xNSk6IG91dHNpZGUgcHJlLWZsaWdodCwgZXZlcnkgZW50cnkgYmVsb3cg" + - "c2hvdWxkIG1hcCB0byBhIGBwaGFzZV9mYWlsZWRgIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVk" + - "aWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCmBjaGVja2AgcmVwb3J0cyBlYWNoIGZpbmRp" + - "bmcgYXMgYSBgY2hlY2tfY29tcGxldGVkYCBldmVudCwgbm90IGFzCmBwaGFzZV9mYWlsZWRgLiBU" + - "aGUgc3ltcHRvbSBpcyB0aGUgZXZlbnQncyBgbWVzc2FnZWA7IGNsdXN0ZXItdmFsaWRhdG9yIHJv" + - "d3MKcXVvdGUgdGhlIHZhbGlkYXRvcidzIGZhaWxlZCBzdW1tYXJ5IHJvd3MsIGFuZCBgLS1zaG93" + - "LWxvZ3NgIHByaW50cyB0aGUgZnVsbAp0cmFuc2NyaXB0LgoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBS" + - "ZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3QgZm91bmQgb24gUEFUSGAg" + - "fCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwuIEFuIGVycm9yIHdp" + - "dGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIHdhcm4sIGFkZGluZyBgOyBvbmx5IGFuIGluc3RhbGwg" + - "bmVlZHMgaXRgIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8v" + - "ZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IGZvdW5k" + - "IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNp" + - "bnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczov" + - "L2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIG5vdCBy" + - "dW46IGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlIGlzIG5vdCBzZXQ7IC4uLmAsIHdhcm5pbmcgfCBO" + - "byB2YWxpZGF0b3IgaW1hZ2UgaXMgY29uZmlndXJlZCwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2" + - "YWxpZGF0ZWQgfCBTZXQgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpbiB0aGUgbnZjZi1jbGkg" + - "Y29uZmlnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgIG9yIGAtLWNsdXN0ZXIt" + - "dmFsaWRhdG9yLWltYWdlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIGRpZCBub3QgY29tcGxldGUs" + - "IHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkOiAuLi5gLCBlcnJvciB8IFRoZSB2YWxp" + - "ZGF0b3IgY291bGQgbm90IHJ1biBvciBlbmRlZCBiZWZvcmUgaXRzIHZlcmRpY3Q6IFJCQUMgZGVu" + - "aWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCB8IEZpeCB0aGUgY2F1c2Ug" + - "dGhlIG1lc3NhZ2UgbmFtZXMsIG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwK" + - "fCBgY2x1c3Rlci12YWxpZGF0b3IgSm9iIHN1Y2NlZWRlZDsgaXRzIHRyYW5zY3JpcHQgY291bGQg" + - "bm90IGJlIHJlYWQgKC4uLilgLCBwYXNzZWQgfCBUaGUgdmFsaWRhdG9yIHBhc3NlZCwgYnV0IGl0" + - "cyBsb2cgY291bGQgbm90IGJlIHJlYWQ6IHRoZSBrdWJlY29uZmlnIHVzZXIgbGFja3MgYGdldGAg" + - "b24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHRoZSBBUEkgc2VydmVyIGNhbm5vdCByZWFj" + - "aCB0aGUga3ViZWxldC4gV2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93biB8IEdyYW50" + - "IGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciByZWFkIHRoZSB0cmFuc2NyaXB0" + - "IHdpdGggdGhlIGBrdWJlY3RsIGxvZ3NgIGNvbW1hbmQgaW4gdGhlIHJvdyB8CnwgYGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRzOiBOb3QgSW5zdGFs" + - "bGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9j" + - "aTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVzcGFjZT1lbnZveS1n" + - "YXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Ig" + - "cmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3QgRm91bmRgIHwgQ2x1" + - "c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5vdCBuYW1lIG9uZSB8" + - "IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7" + - "ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xh" + - "c3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgIGluIHRoZSBzdGFj" + - "aydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1NgKSB0byB0aGUgY2xh" + - "c3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJl" + - "czogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxhbmUpIHwgTm8gbm9k" + - "ZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVzLCBvciB0aGUgTlZJ" + - "RElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwgSW5zdGFsbCBwZXIg" + - "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJh" + - "dG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9w" + - "ZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVkYCBhbG9uZSBpcyBh" + - "IHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNrIFRlcm1pbmF0aW5n" + - "OiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBkZWxldGlu" + - "ZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9ydCBhIGRlbGV0aW9u" + - "IGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBob2xkcyBhIGZpbmFs" + - "aXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjogcmVhZCBga3ViZWN0" + - "bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9uc30nYCwgbGlzdCB3" + - "aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQsIGFuZCByZXNvbHZl" + - "IHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmluYWxpemVycyBvbmx5" + - "IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKFRlcm1pbmF0" + - "aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFsIGRlbGV0aW9uIGlz" + - "IHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0IGFuZCByZXJ1biBg" + - "Y2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBgc3R1Y2sgVGVybWlu" + - "YXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoSGVs" + - "bSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilgLCB3YXJuaW5nIHwg" + - "QW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3IgdGVhcmRvd24gbGVm" + - "dCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4gVGhlIG5leHQgYHVw" + - "YCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMgcnVubmluZywgcmVh" + - "ZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5pc2ggaXQgd2l0aCBg" + - "aGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "OiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFtZXNwYWNlIHJ1bnMg" + - "bm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGlsbCBob2xkcyB2b2x1" + - "bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2ZXMgdGhlbS4gQSBy" + - "ZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0IG9ubHk6IGBrdWJl" + - "Y3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAtbyBuYW1lIFx8IHhh" + - "cmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdub3JlLW5vdC1mb3Vu" + - "ZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVkIGNvbXBvbmVudCBh" + - "bHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCByZXBvcnRzIGBu" + - "byBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBzdG9yZXMgcmVsZWFz" + - "ZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMgYEhFTE1fRFJJVkVS" + - "YCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhlIGhlbG1maWxlIGVu" + - "dmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5hbWVzcGFjZXMgYXJl" + - "IGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2FuIGFuIGFkZG9uIG9y" + - "IGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpg" + - "IGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRo" + - "ZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFk" + - "IGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTog" + - "aXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJ" + - "TEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5l" + - "IGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNl" + - "IHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwg" + - "YGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3Mg" + - "dGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0" + - "YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + - "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1" + - "bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBu" + - "dmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJh" + - "Y3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBl" + - "eHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNv" + - "biBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVg" + - "IHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1" + - "dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBg" + - "aW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVz" + - "Y3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwg" + - "U3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGlt" + - "ZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZD" + - "IHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBr" + - "dWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAn" + - "TkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg" + - "4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAi" + - "YCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBi" + - "ZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkg" + - "fCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAt" + - "LXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVk" + - "RW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1w" + - "bGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0" + - "cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJl" + - "bGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09m" + - "ZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0" + - "cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNy" + - "LmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBs" + - "YW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwt" + - "LS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3Yx" + - "L252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3Qg" + - "bWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8" + - "IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAg" + - "KElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFu" + - "ZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1j" + - "bHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBu" + - "dmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Ig" + - "d3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hl" + - "Y2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBM" + - "T1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDi" + - "gJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9n" + - "cyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxs" + - "b3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9u" + - "IHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4g" + - "cmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZp" + - "b3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwg" + - "YWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRg" + - "IGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6" + - "IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZj" + - "dC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxp" + - "ZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0" + - "byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0" + - "YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCLUF84L0" + - "IAAA9CAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5W" + - "Q0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQog" + - "IHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0" + - "aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFu" + - "ZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZj" + - "Zi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9u" + - "LCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5l" + - "CiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxv" + - "eW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUg" + - "bG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0y" + - "LjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVs" + - "bSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVy" + - "c2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRp" + - "YS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1m" + - "aWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2Zp" + - "bGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxs" + - "LCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBh" + - "dXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+" + - "IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUs" + - "IHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwg" + - "aW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFz" + - "aCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWlu" + - "OiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3Bl" + - "cmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFu" + - "ZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpV" + - "c2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBt" + - "YXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5l" + - "LXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFu" + - "ZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5j" + - "dGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVu" + - "Y3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0" + - "ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9u" + - "LAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1z" + - "dGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNr" + - "Pi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJv" + - "bC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1s" + - "LmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxh" + - "bmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1s" + - "LmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0" + - "Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVz" + - "b3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVy" + - "c2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1j" + - "b21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMg" + - "YmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNv" + - "bW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "CiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBh" + - "bnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4x" + - "LnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAj" + - "IE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxt" + - "LWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhp" + - "biAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMg" + - "cnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoK" + - "YGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQv" + - "IGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkg" + - "dGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNy" + - "ZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQ" + - "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + - "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3Rh" + - "bmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJh" + - "dGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAo" + - "ZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAg" + - "ICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1w" + - "bCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMp" + - "CiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5z" + - "aXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6" + - "IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFt" + - "bC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0" + - "IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3Vu" + - "dHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQg" + - "ZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9l" + - "cyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywg" + - "dXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBI" + - "ZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xl" + - "YW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwg" + - "c2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4g" + - "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + - "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25s" + - "eSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykK" + - "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3Rl" + - "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFu" + - "YWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3Jl" + - "ZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9" + - "JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + - "ICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + - "Y3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3Qg" + - "YWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBT" + - "ZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0" + - "aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2lu" + - "YCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmls" + - "ZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0g" + - "Y3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJh" + - "c2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3Iu" + - "aW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVj" + - "ciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3Ry" + - "eSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNy" + - "LjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "YCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4K" + - "PiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVl" + - "ZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3Qg" + - "YG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBg" + - "ZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0" + - "aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBt" + - "aXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNj" + - "ZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2Vz" + - "IGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0" + - "aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAt" + - "LXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxg" + - "IGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1" + - "bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhp" + - "cwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3Ry" + - "eSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJy" + - "b3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBw" + - "dWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1w" + - "bGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3Jh" + - "bnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFu" + - "ZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0" + - "IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAg" + - "Z2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAg" + - "ICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1p" + - "cnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRz" + - "CiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTog" + - "PG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2Yg" + - "T0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZv" + - "cmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBh" + - "bHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3Vn" + - "aCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4" + - "YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQg" + - "Y2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9y" + - "IG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWly" + - "cm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVw" + - "byBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFy" + - "dD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJ" + - "IGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNr" + - "aXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGlj" + - "YXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xv" + - "YWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJu" + - "ZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3It" + - "Y3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qg" + - "bm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAg" + - "b3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20g" + - "c3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFs" + - "aWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAg" + - "dmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBt" + - "dXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdl" + - "IChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhl" + - "cmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0" + - "aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQg" + - "ZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVy" + - "eSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQo" + - "a3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+" + - "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdB" + - "VEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4g" + - "Q2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxv" + - "YWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3Rh" + - "Y2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0" + - "IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWlu" + - "OiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBI" + - "b3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRv" + - "bWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElm" + - "IHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUg" + - "YW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBs" + - "ZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRl" + - "cGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAg" + - "ICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3" + - "b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBE" + - "RUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBh" + - "IHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRo" + - "YXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FT" + - "U0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5k" + - "IGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRp" + - "YWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2" + - "aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFf" + - "UEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGlu" + - "IG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMg" + - "fCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18" + - "CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNz" + - "YW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwg" + - "U0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlv" + - "bmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkg" + - "d2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8Cnwg" + - "MyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwK" + - "fCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNr" + - "IChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFs" + - "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5p" + - "dHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZh" + - "dWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBw" + - "YXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2Nh" + - "dGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + - "aW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sg" + - "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBg" + - "dmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2Ug" + - "YSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBw" + - "YWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVu" + - "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFi" + - "bGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhv" + - "c3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdh" + - "eS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBp" + - "bmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5l" + - "ZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2Ug" + - "dGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2th" + - "Z2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhl" + - "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBh" + - "bmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1n" + - "YXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVu" + - "IHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBk" + - "ZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdh" + - "eQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0" + - "OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAK" + - "CkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMs" + - "IGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRl" + - "cyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxl" + - "IE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFj" + - "aW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFi" + - "bGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24u" + - "IElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNm" + - "LXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9u" + - "LiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBk" + - "byBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwg" + - "bmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24g" + - "c3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4K" + - "CiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29u" + - "dHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50" + - "cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUg" + - "aGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9u" + - "bWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUt" + - "cGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVy" + - "YXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29t" + - "cGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVz" + - "ZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + - "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mg" + - "cm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4K" + - "CiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRo" + - "ZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7" + - "IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSBy" + - "ZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhl" + - "IE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFg" + - "LCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1w" + - "cm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRl" + - "d2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNl" + - "cnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + - "cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVz" + - "IGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMg" + - "aXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVs" + - "ZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2st" + - "bWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMg" + - "b24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3" + - "aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + - "dGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQg" + - "YWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + - "ZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRj" + - "aGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3Ig" + - "bWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBv" + - "bmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNl" + - "IGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93" + - "bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rv" + - "cnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBg" + - "CgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + - "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVt" + - "OyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQK" + - "ZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVw" + - "IC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91" + - "bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMj" + - "IEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGds" + - "b2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291" + - "bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNl" + - "IHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVs" + - "bWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUg" + - "ZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRz" + - "L2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6" + - "IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxl" + - "ZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVl" + - "czoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4v" + - "e3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3Nh" + - "bmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNw" + - "dTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAg" + - "ICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1l" + - "cmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5o" + - "ZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVl" + - "cyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUg" + - "c2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + - "cmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwg" + - "U2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5v" + - "dCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0" + - "aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25n" + - "KToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0" + - "cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwK" + - "fCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxp" + - "ZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNm" + - "LWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3Jr" + - "ZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJu" + - "byBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAo" + - "YWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVU" + - "YCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9r" + - "di9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0" + - "IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlv" + - "dSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2Vu" + - "OjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBz" + - "aWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0" + - "ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NL" + - "RVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdq" + - "c29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tl" + - "ciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQg" + - "ZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVp" + - "bGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+Iilg" + - "LCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAt" + - "QWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291" + - "bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAi" + - "bXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdy" + - "b25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFs" + - "Zm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtl" + - "eSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4g" + - "ICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4g" + - "VG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwg" + - "cmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjol" + - "cycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9u" + - "dmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAg" + - "ICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMv" + - "bnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxv" + - "dXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBz" + - "aWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBm" + - "cm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhl" + - "IHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3Jncywg" + - "ZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAg" + - "Y3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+" + - "IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcg" + - "aW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0" + - "b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENv" + - "bmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0" + - "aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNl" + - "Y3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZv" + - "cm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxt" + - "ZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8K" + - "aGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8K" + - "aGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4g" + - "a3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVh" + - "Y2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + - "c3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + - "QVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8g" + - "Q2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBv" + - "bGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24g" + - "dGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZl" + - "cmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93" + - "OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1Ag" + - "YnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVz" + - "KS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24g" + - "c2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwt" + - "c2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBB" + - "bGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQt" + - "Ynk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWls" + - "dXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0t" + - "LXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNz" + - "aW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0Eg" + - "aGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2Rz" + - "IHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyAr" + - "IG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRg" + - "IHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3Nm" + - "dWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNv" + - "bmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxp" + - "dmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlz" + - "Y292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBj" + - "bHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6" + - "IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBg" + - "b3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBv" + - "biBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fz" + - "c2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2Vz" + - "IGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBT" + - "ZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3Nh" + - "bmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwg" + - "U2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBl" + - "cXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2Fu" + - "ZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNl" + - "bGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBw" + - "b2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVk" + - "YCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJv" + - "eWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0" + - "aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNr" + - "IGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwK" + - "fCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRg" + - "IHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhl" + - "IGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUg" + - "cGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUg" + - "YWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtW" + - "ZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290" + - "c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNy" + - "ZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAv" + - "dmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50" + - "ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBs" + - "ZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09M" + - "X09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25u" + - "ZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNl" + - "cnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFX" + - "U19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAg" + - "YW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhl" + - "IGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5" + - "IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZj" + - "Zi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0" + - "LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFs" + - "bC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpw" + - "YXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5z" + - "LCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2Fj" + - "Y291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRo" + - "Cm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQg" + - "cmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZj" + - "ZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1" + - "Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwg" + - "cmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmly" + - "ZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBj" + - "b21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJl" + - "Y3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9y" + - "ZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1h" + - "cGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3Ry" + - "YXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFs" + - "IFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0" + - "aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2Yv" + - "djAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxh" + - "bmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQot" + - "IE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3Ry" + - "dWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBh" + - "bmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50" + - "LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlv" + - "bnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4K" + - "UEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewog" + - "ICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIklu" + - "c3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBh" + - "ZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wg" + - "dmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAz" + - "LjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0" + - "aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBz" + - "eW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLngg" + - "KG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlm" + - "ZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZl" + - "cnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwg" + - "dmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBs" + - "YXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZp" + - "bGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBh" + - "Z2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5p" + - "ZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUg" + - "cHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3lu" + - "Yy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1m" + - "aWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUg" + - "c3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3lu" + - "Yycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhw" + - "bGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQg" + - "dG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNs" + - "ZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVy" + - "bWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5h" + - "bGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxp" + - "emVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVz" + - "cGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQg" + - "b25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZj" + - "Zi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAog" + + "aWcgYXMgYGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25lIGRlcml2" + + "ZWQgZnJvbSBhIGBiYXNlX2h0dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2YubnZpZGlh" + + "LmNvbWAsIGFzIHRoZSBjb25maWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMgYHNpcy1y" + + "ZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91" + + "cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0" + + "IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2" + + "ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFu" + + "ZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93" + + "cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52" + + "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBg" + + "ZmFsc2VgIHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBg" + + "LS1jb250cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWly" + + "ZWQuIGAtLXByZWAgc2VsZWN0cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBp" + + "dHMgb3duLiBPbmx5CnRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBi" + + "b3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVk" + + "IHJvbGUgY2hlY2tzIHRoZSBjdXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBs" + + "b2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFi" + + "aWxpdHksIHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3Ig" + + "YC0tY29tcHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBh" + + "IHJvbGUncyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3Rl" + + "ciBhcyBpbnN0YWxsZWQuIEEgbWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxt" + + "ZmlsZWAgb3IgYGhlbG1gIGZhaWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hl" + + "Y2sgYW4gaW5zdGFsbGVkIHN0YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2Fy" + + "bnMgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQg" + + "Y29udHJvbCBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUg" + + "Y2x1c3Rlci12YWxpZGF0b3IuIE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21w" + + "dXRlLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIg" + + "bmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNv" + + "bmZpZ3VyZWQgSUNNUyBVUkwsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRv" + + "ciB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1j" + + "b21wdXRlLXBsYW5lYCwgU0lTIHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0" + + "IGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5h" + + "bWUgc2hvd24gaW4gdGhlIG91dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hl" + + "Y2tgIGRvZXMgbm90IHJlcXVpcmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwg" + + "U2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBr" + + "dWJlY29uZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0" + + "aGUgcHJvYmUgaW1hZ2UgaXMgb24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBz" + + "aW5jZSB0aGUgcHJvYmUgcG9kcyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5" + + "LWxpbWl0c2Agcm93IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6" + + "IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwg" + + "YGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVu" + + "cyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMg" + + "YQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9y" + + "IGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0" + + "IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUg" + + "cnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdl" + + "IHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9u" + + "IGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhh" + + "dCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0" + + "IGNvdWxkIG5vdCBiZSByZWFkLCBzbyB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3du" + + "LgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNr" + + "cyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9m" + + "IHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3Qg" + + "bmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + + "ci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBg" + + "TlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0" + + "YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwg" + + "dGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBz" + + "YXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBV" + + "bnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xl" + + "J3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBp" + + "cyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0" + + "Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNy" + + "ZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20g" + + "YSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBj" + + "cmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFy" + + "ZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFs" + + "aWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0" + + "cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUg" + + "Y2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFu" + + "YWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlv" + + "YCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5v" + + "ciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5p" + + "bmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBm" + + "YWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5W" + + "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVy" + + "X3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwg" + + "LSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0" + + "aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBu" + + "b2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxl" + + "IGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9D" + + "TElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + + "bGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3Rh" + + "Y2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxs" + + "LCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6" + + "IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93" + + "biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4g" + + "RmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29t" + + "cG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZp" + + "bGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZB" + + "TElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + + "b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNr" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0" + + "XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0" + + "aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hv" + + "c2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZl" + + "ck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUg" + + "Y29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NM" + + "VVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + + "b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJl" + + "cm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1" + + "bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNl" + + "ZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBh" + + "IFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3Mg" + + "cmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBh" + + "bmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMg" + + "aW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUg" + + "Zm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0" + + "cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZh" + + "bGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5k" + + "IGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25g" + + "IHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRh" + + "dG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNv" + + "IHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1" + + "c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRv" + + "cmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjog" + + "YE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gLCBgdHJ1ZWAgb3Ig" + + "YGZhbHNlYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9y" + + "IEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdn" + + "aW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVu" + + "ZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsg" + + "aW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhh" + + "dCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMg" + + "b2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUg" + + "bGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93" + + "LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ct" + + "bG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0" + + "aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8" + + "Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdv" + + "cnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAu" + + "IFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8g" + + "c3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0" + + "cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2Jl" + + "cyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNy" + + "ZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29u" + + "ZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRz" + + "U3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJ" + + "IGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElf" + + "S0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQ" + + "SV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25s" + + "eSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNp" + + "bmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZl" + + "ciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hl" + + "biB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVjdHMgdGhl" + + "IGRvY2tlcgpsb2dpbi4gVGhlIHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBkaXNjb3Zl" + + "cnkgYW5kIHRoZSB2YWxpZGF0b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93IHNheXMg" + + "aG93IHRvIHJlbmV3IHRoZSBsb2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBgLS13YWl0" + + "YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdo" + + "aWxlIHRoZQpydW4gd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNr" + + "cyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5k" + + "IHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVn" + + "aXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBv" + + "bmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0" + + "aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRlbnRpYWwg" + + "dGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJ" + + "QQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0YWxsIGEg" + + "cmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxz" + + "IHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90" + + "IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApj" + + "cmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFr" + + "IHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRo" + + "IGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlz" + + "IG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlk" + + "IGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxp" + + "ZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRo" + + "IGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3Rh" + + "Y2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5" + + "IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdh" + + "dGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVz" + + "cyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0" + + "aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0" + + "aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBj" + + "b21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBk" + + "cm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sn" + + "cyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBp" + + "LmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwK" + + "fCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAg" + + "d2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFs" + + "aWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRT" + + "YCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhl" + + "IHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVp" + + "cmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBu" + + "YW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2Jl" + + "IGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0Zf" + + "TjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0" + + "aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2Ny" + + "aWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZg" + + "IG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZv" + + "ciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBg" + + "IGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxs" + + "IHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIg" + + "YGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUg" + + "Y29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1z" + + "dGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5" + + "IHJ1biksIGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5" + + "IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkg" + + "YW4gZWFybGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0" + + "YWNrLAogIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxs" + + "IGNsb25lZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3Rh" + + "Y2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhl" + + "IHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMg" + + "Zm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0" + + "ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1z" + + "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + + "Y2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJl" + + "ZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0" + + "YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwK" + + "fCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0" + + "IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBM" + + "aW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwK" + + "fCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVy" + + "dmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1F" + + "YCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tp" + + "cCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZp" + + "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBO" + + "QU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5D" + + "QSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMt" + + "d2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZp" + + "ZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZh" + + "aWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5j" + + "dGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21p" + + "dCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFk" + + "YWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1l" + + "eHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBw" + + "YXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxT" + + "Q09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2Vy" + + "dmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVk" + + "IGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJh" + + "dGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBk" + + "YCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAt" + + "LWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24g" + + "ZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8" + + "CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNl" + + "LXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVy" + + "ZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVu" + + "Y3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERF" + + "RkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSBy" + + "ZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFy" + + "dC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBO" + + "QU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1" + + "aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpW" + + "RVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8" + + "IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9k" + + "ZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGlt" + + "aXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+" + + "YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4g" + + "VXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBz" + + "cGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1" + + "bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHBy" + + "aW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxt" + + "LXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlv" + + "cml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNB" + + "IElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNP" + + "TiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExN" + + "ImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2Au" + + "IGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFt" + + "IHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUg" + + "YC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRp" + + "bmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBw" + + "b3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4K" + + "YGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBh" + + "cmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBm" + + "b3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwg" + + "YEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVu" + + "aXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAw" + + "MDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNr" + + "YWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQg" + + "YmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFy" + + "dGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0" + + "aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVy" + + "bmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxM" + + "TSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1u" + + "YW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRo" + + "ZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQg" + + "UmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAg" + + "Zm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBg" + + "ZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdz" + + "IHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZv" + + "cm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9" + + "PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxg" + + "LiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJp" + + "bmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklU" + + "WWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdp" + + "dGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8" + + "IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVy" + + "LWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0" + + "IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4g" + + "fCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1td" + + "YCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAg" + + "YW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1l" + + "IG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBm" + + "dW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyBy" + + "ZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwg" + + "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlk" + + "IElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUg" + + "ZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5H" + + "UFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAg" + + "fAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1y" + + "ZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIg" + + "ZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNw" + + "ZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sg" + + "Y3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3Ig" + + "cmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1l" + + "IChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRg" + + "IHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZp" + + "bGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3Rh" + + "bmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5D" + + "UC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11" + + "dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENI" + + "QVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNp" + + "dmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3Bl" + + "YyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0" + + "IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0" + + "ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2Ug" + + "fCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNz" + + "ZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCIt" + + "LWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZh" + + "bHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8" + + "IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJl" + + "cGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJ" + + "T05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBO" + + "byBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFU" + + "SU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8" + + "IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9O" + + "YCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + + "ZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0" + + "byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlv" + + "biBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVh" + + "bS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBM" + + "T0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0" + + "OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVz" + + "b3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBU" + + "YXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFz" + + "ayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0" + + "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlE" + + "YCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVt" + + "ZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCMqN" + + "BihUVgAAVFYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVz" + + "aG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJl" + + "bWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENM" + + "SSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBz" + + "aG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRp" + + "YXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGlu" + + "ZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRo" + + "ZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93" + + "cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ct" + + "bG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJl" + + "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8" + + "IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0" + + "aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBu" + + "ZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9k" + + "b2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQg" + + "b24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2lu" + + "c3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8v" + + "aGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1" + + "bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5v" + + "IHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZh" + + "bGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBj" + + "b25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12" + + "YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwg" + + "c28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlk" + + "YXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5p" + + "ZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0" + + "aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8" + + "IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBu" + + "b3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRz" + + "IGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBv" + + "biBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNo" + + "IHRoZSBrdWJlbGV0LiBXYXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duIHwgR3JhbnQg" + + "YGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQg" + + "d2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12" + + "YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxs" + + "ZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2Np" + + "Oi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdh" + + "dGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBy" + + "ZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVz" + + "dGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwg" + + "QW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsi" + + "YW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFz" + + "cyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNr" + + "J3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFz" + + "cyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVz" + + "OiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2Rl" + + "IGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklE" + + "SUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBo" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0" + + "b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3Bl" + + "cmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEg" + + "d2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6" + + "IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5n" + + "IGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24g" + + "ZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxp" + + "emVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3Rs" + + "IGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdo" + + "YXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUg" + + "dGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkg" + + "YXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRp" + + "bmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMg" + + "c3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBj" + + "aGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5h" + + "dGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxt" + + "IHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBB" + + "biBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0" + + "IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBg" + + "IGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFk" + + "IGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBo" + + "ZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6" + + "IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBu" + + "byB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVt" + + "ZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJl" + + "aW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVj" + + "dGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFy" + + "Z3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5k" + + "YC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFs" + + "c28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5v" + + "IEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNl" + + "cyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJg" + + "IGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52" + + "aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUg" + + "Y2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3Ig" + + "Z2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAg" + + "YXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhl" + + "IHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQg" + + "ZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBp" + + "dHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklM" + + "RV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUg" + + "YmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2Ug" + + "dGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBg" + + "Z3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0" + + "aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3Rh" + + "bGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + + "b24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVu" + + "KSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52" + + "Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFj" + + "dGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4" + + "cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29u" + + "IGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAg" + + "dGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0" + + "aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBp" + + "bnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNj" + + "cmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBT" + + "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1l" + + "ZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMg" + + "c3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1" + + "YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdO" + + "Q1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDi" + + "gJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJg" + + "LCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJl" + + "IHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8" + + "IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0t" + + "cmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRF" + + "bnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBs" + + "YW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRy" + + "YUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVs" + + "ZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2Zm" + + "YCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3Ry" + + "eTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3Iu" + + "aW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxh" + + "bmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0t" + + "LXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEv" + + "bnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0" + + "ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBt" + + "YXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8Cnwg" + + "YE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAo" + + "SUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5l" + + "IEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNs" + + "dXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52" + + "Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3" + + "cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVj" + + "ayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExP" + + "WUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKA" + + "lCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dz" + + "IC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxv" + + "dXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiBy" + + "ZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlv" + + "dXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBh" + + "ZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAg" + + "YWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTog" + + "TlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0" + + "Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGll" + + "cyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRv" + + "IGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3Rh" + + "cnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcItQXzgvQg" + + "AAD0IAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZD" + + "RiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAg" + + "c3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRp" + + "b24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5k" + + "IHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNm" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24s" + + "IGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUK" + + "ICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95" + + "bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBs" + + "b2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIu" + + "MApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxt" + + "ID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJz" + + "aW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlh" + + "LmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZp" + + "bGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmls" + + "ZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGws" + + "IFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1" + + "dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4i" + + "CiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwg" + + "c2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBp" + + "bnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNo" + + "LCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46" + + "IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVy" + + "YXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5l" + + "IGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVz" + + "ZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1h" + + "dGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5k" + + "b2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0" + + "aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5j" + + "dGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3Rl" + + "ZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24s" + + "CmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + + "YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + + "L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRj" + + "aGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNv" + + "dXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJz" + + "aW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBi" + + "ZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29t" + + "bWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + + "IyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFu" + + "eSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEu" + + "eCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMg" + + "TXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0t" + + "ZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGlu" + + "IDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBy" + + "dW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6Cgpg" + + "YGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8g" + + "ZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0" + + "aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3Jl" + + "dHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + + "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + + "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFu" + + "ZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0" + + "aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChk" + + "ZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAg" + + "ICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBs" + + "ICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykK" + + "ICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNp" + + "dGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczog" + + "YmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1s" + + "LmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQg" + + "KGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50" + + "cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBm" + + "aWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2Vz" + + "IG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1" + + "c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhl" + + "bG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVh" + + "biBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBz" + + "ZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + + "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5" + + "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpl" + + "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + + "Z2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + + "cyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0n" + + "JG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + + "IC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + + "dGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBh" + + "bHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNl" + + "ZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRo" + + "ZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5g" + + "IEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxl" + + "IHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBj" + + "cmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFz" + + "aAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5p" + + "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4g" + + "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNy" + + "IGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5" + + "IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3Iu" + + "PHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5g" + + "IGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+" + + "IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVk" + + "IGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBg" + + "bnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBk" + + "b2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRo" + + "ZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1p" + + "c2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2Nl" + + "ZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMg" + + "ZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRo" + + "ZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0t" + + "dXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAg" + + "aW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVs" + + "bGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlz" + + "Cj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5" + + "IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJv" + + "ciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1" + + "bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBs" + + "ZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFu" + + "dGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5k" + + "IHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQg" + + "dGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBn" + + "bG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAg" + + "ICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWly" + + "cm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMK" + + "ICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8" + + "bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBP" + + "Q0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9y" + + "ZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFs" + + "cmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdo" + + "LCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhh" + + "bXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBj" + + "YW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3Ig" + + "bWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJy" + + "b3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBv" + + "IGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0" + + "Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kg" + + "Y2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tp" + + "cCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNh" + + "dGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9h" + + "ZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5l" + + "dGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1j" + + "cmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBu" + + "b3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBv" + + "ciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBz" + + "dGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxp" + + "ZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2" + + "aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11" + + "c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2Ug" + + "KHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVy" + + "ZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRo" + + "ZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBk" + + "b2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5" + + "IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChr" + + "dWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4g" + + "LW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FU" + + "RVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBD" + + "bG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9h" + + "ZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQg" + + "RE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46" + + "ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhv" + + "c3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9t" + + "YWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYg" + + "dGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBh" + + "bmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxl" + + "IDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVw" + + "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAg" + + "IyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dv" + + "cmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERF" + + "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEg" + + "c2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhh" + + "dCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNT" + + "QU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQg" + + "ZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlh" + + "bHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZp" + + "Y2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + + "QVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4g" + + "b3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8" + + "IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwK" + + "fCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3Nh" + + "bmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBT" + + "SVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9u" + + "YWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3" + + "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAz" + + "IHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8" + + "IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sg" + + "KGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0" + + "eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1" + + "bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBh" + + "dGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0" + + "aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBw" + + "YWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2" + + "YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBh" + + "IG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52" + + "LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJs" + + "ZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + + "dCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5" + + "Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGlu" + + "Z3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVl" + + "ZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0" + + "aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2Fn" + + "ZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + + "cGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFu" + + "ZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdh" + + "dGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + + "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + + "cGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5" + + "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6" + + "IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoK" + + "RG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywg" + + "aW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVz" + + "IGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUg" + + "TlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + + "bmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJs" + + "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4g" + + "SWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + + "dWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24u" + + "IFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRv" + + "IG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBu" + + "YW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBz" + + "dGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoK" + + "IyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250" + + "cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRz" + + "LiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBo" + + "YW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25t" + + "ZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1w" + + "bGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJh" + + "dGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21w" + + "bGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNl" + + "IGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyBy" + + "b3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoK" + + "IyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhl" + + "IGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsg" + + "c2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJl" + + "bGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUg" + + "TlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAs" + + "IGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXBy" + + "b3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3" + + "YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2Vy" + + "dC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + + "dWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMg" + + "YGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBp" + + "dC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + + "YXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1t" + + "YW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBv" + + "biB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdo" + + "ZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0" + + "aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBh" + + "Ym9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + + "IHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNo" + + "aW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBt" + + "aXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9u" + + "bHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + + "YW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3du" + + "CgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9y" + + "eToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAK" + + "CiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3Rl" + + "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07" + + "IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApk" + + "b25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAg" + + "LUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3Vs" + + "ZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMg" + + "RW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + + "dGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2Ug" + + "dmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxt" + + "ZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBl" + + "eGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMv" + + "YCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTog" + + "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + + "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + + "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + + "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + + "ZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1" + + "OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAg" + + "ICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVy" + + "Z2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhl" + + "cml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + + "IGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBz" + + "ZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBT" + + "ZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90" + + "IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRo" + + "ZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jvbmcp" + + "OgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3Ry" + + "eSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8" + + "IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlk" + + "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2Yt" + + "YXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtl" + + "ciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5v" + + "IENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChh" + + "Y2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRg" + + "IGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2" + + "L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQg" + + "fCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91" + + "KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46" + + "PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNp" + + "ZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRl" + + "bXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tF" + + "Ul9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pz" + + "b24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2Vy" + + "IGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBk" + + "cm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWls" + + "ZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAs" + + "IGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1B" + + "YCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3Vu" + + "dC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJt" + + "dXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jv" + + "bmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxm" + + "b3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5" + + "IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAg" + + "ICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBU" + + "byByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCBy" + + "ZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVz" + + "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252" + + "Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAg" + + "IyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9u" + + "dmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91" + + "dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNp" + + "ZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZy" + + "b20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUg" + + "cGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBl" + + "YWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBj" + + "cmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4g" + + "YXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBp" + + "bnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRv" + + "bWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29u" + + "ZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRp" + + "bmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2Vj" + + "cmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9y" + + "bWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1m" + + "aWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpo" + + "ZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpo" + + "ZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBr" + + "eXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFj" + + "aCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + + "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBD" + + "bHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9s" + + "aWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0" + + "aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVy" + + "aWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + + "bWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6" + + "IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBi" + + "dWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMp" + + "LgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBz" + + "Y3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1z" + + "ZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFz" + + "aAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + + "bCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1i" + + "eT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1" + + "cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0t" + + "fC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Np" + + "bmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBo" + + "YXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMg" + + "fCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsg" + + "bWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAg" + + "c2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1" + + "bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29u" + + "ZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2" + + "ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + + "b3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNs" + + "dXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + + "dHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBv" + + "cGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + + "ZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9u" + + "IENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNz" + + "YW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMg" + + "Y3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNl" + + "Y3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2Fu" + + "ZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBT" + + "ZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVx" + + "dWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5k" + + "cmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2Vs" + + "ZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + + "ZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRg" + + "IHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95" + + "YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRp" + + "bWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sg" + + "YGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8" + + "IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAg" + + "fCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUg" + + "YGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBw" + + "YXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBh" + + "Y2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1Zl" + + "cmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3Rz" + + "dHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3Jl" + + "dHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92" + + "YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRl" + + "ZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxl" + + "YWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xf" + + "T1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5l" + + "Y3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2Vy" + + "dmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdT" + + "X1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBh" + + "bmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUg" + + "YWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkg" + + "YSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3Qt" + + "aW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxs" + + "LiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBh" + + "dGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMs" + + "IG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNj" + + "b3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgK" + + "bm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCBy" + + "YW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNm" + + "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3Vj" + + "Y2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCBy" + + "ZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJl" + + "cwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNv" + + "bXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVj" + + "dGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3Jl" + + "LW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFw" + + "aSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + + "cCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwg" + + "UmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRo" + + "ZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92" + + "MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFu" + + "ZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0g" + + "T3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFu" + + "ZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQs" + + "IHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9u" + + "cywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQ" + + "SwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAg" + + "ICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5z" + + "dGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFm" + + "dGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2" + + "ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMu" + + "MTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRo" + + "aW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5" + + "bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAo" + + "bm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZm" + + "ID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVy" + + "c2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2" + + "ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxh" + + "dGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmls" + + "ZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFn" + + "ZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlm" + + "ZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBw" + + "cmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5j" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZp" + + "bGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBz" + + "eW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5j" + + "JyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + + "YWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0" + + "byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xl" + + "YW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJt" + + "aW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFs" + + "aXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6" + + "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNw" + + "YWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBv" + + "bmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNm" + + "LWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29u" + + "dGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3Vi" + + "ZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFs" + + "aXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNs" + + "ZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhl" + + "IGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0" + + "b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJj" + + "ZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2Ug" + + "ZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6" + + "ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0" + + "ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1" + + "YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBw" + + "cm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmln" + + "IHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250" + + "cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3Rl" + + "ciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiBy" + + "YW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9u" + + "bWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3Zl" + + "ciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5k" + + "ZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + + "YmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAg" + + "ICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9n" + + "cnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tl" + + "eXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXki" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xV" + + "U1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VC" + + "RUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + + "SUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxp" + + "ZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBm" + + "bGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + + "bXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJv" + + "bC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9m" + + "aWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhl" + + "bG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBo" + + "ZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJv" + + "dGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBl" + + "eHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVs" + + "bSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUg" + + "aXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBu" + + "dmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29y" + + "ZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdp" + + "dGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAg" + + "IlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + + "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlv" + + "biBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIs" + + "CiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVu" + + "dCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8g" + + "dmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywg" + + "c2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91" + + "bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRv" + + "IHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + + "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAg" + + "IldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQg" + + "ZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0" + + "ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRp" + + "b24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhl" + + "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJv" + + "bm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "Y29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVk" + + "IHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + + "YWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVz" + + "LCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxh" + + "bmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJl" + + "Z2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0" + + "YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAog" + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNv" + - "bnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1" + - "YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5h" + - "bGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBj" + - "bGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJh" + - "dG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3Vy" + - "Y2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNl" + - "IGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24i" + - "OiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1" + - "dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBr" + - "dWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkg" + - "cHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZp" + - "ZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29u" + - "dHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0" + - "ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4g" + - "cmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJv" + - "bm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292" + - "ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVu" + - "ZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5l" + - "IGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2Vf" + - "Z3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9r" + - "ZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5" + - "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENM" + - "VVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwi" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtV" + - "QkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0" + - "IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBs" + - "aWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkg" + - "ZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBj" + - "b21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRy" + - "b2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJv" + - "ZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1o" + - "ZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0Yg" + - "aGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBi" + - "b3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQg" + - "ZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhl" + - "bG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25l" + - "IGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4g" + - "bnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dv" + - "cmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3" + - "aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxt" + - "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJU" + - "aGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRp" + - "b24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUi" + - "LAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJl" + - "bnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRv" + - "IHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8s" + - "IHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZv" + - "dW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRl" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0" + - "byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBl" + - "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + - "VGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxl" + - "LmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAg" + - "ICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5k" + - "IGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVj" + - "dGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0" + - "aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRo" + - "ZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmly" + - "b25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRl" + - "ZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmll" + - "cywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBs" + - "YW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCBy" + - "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBz" + - "dGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwK" + + "CiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxt" + + "LCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVu" + + "ZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBp" + + "LWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRp" + + "bmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJ" + + "TEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxv" + + "eWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmls" + + "ZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250" + + "cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2" + + "YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNv" + + "bnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxs" + + "ZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9j" + + "dW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5l" + + "cmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAg" + + "ICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFu" + + "ZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBT" + + "aG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWly" + + "ZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93" + + "ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5n" + + "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + + "LS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBS" + + "ZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMg" + + "ZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAg" + + "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAg" + + "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0" + + "IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4i" + + "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNv" + + "bnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2Vu" + + "ZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4g" + + "SGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "NC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5k" + + "cmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRv" + + "IDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2Vs" + + "aW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSBy" + + "ZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBs" + + "IGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFN" + + "TCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwK" + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVs" + - "bSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1" + - "bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFw" + - "aS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRk" + - "aW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1G" + - "SUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBs" + - "b3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZp" + - "bGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29u" + - "dHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2Vy" + - "dmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBj" + - "b250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFs" + - "bGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRv" + - "Y3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2Vu" + - "ZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAg" + - "ICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBh" + - "bmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4g" + - "U2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVp" + - "cmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hv" + - "d2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGlu" + - "ZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + - "IC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4g" + - "UmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVz" + - "IGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1m" + - "aWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAog" + - "ICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1w" + - "bGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAog" + - "ICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1" + - "dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWlu" + - "IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1j" + - "b250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdl" + - "bmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGlu" + - "IEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2Fu" + - "ZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0" + - "byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNl" + - "bGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEg" + - "cmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1w" + - "bCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlB" + - "TUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIs" + - "CiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9u" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZp" + - "ZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdp" + - "dGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFt" + - "bC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3Qg" + - "dGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZ" + - "QU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0" + - "ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhl" + - "IGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3" + - "aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVw" + - "ZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRl" + - "bmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRv" + - "IGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmll" + - "ZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "LAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmll" + + "ZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0" + + "aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1s" + + "LmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0" + + "aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlB" + + "TUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRl" + + "J3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUg" + + "Y2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdp" + + "dGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBl" + + "bmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVu" + + "Y2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8g" + + "ZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVk" + + "IHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "dXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5j" + + "JyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + + "IHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5" + + "c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVj" + + "dG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0" + + "aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVu" + + "YXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVn" + + "Z2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRo" + + "ZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRz" + + "LCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFj" + + "Y291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3Jl" + + "ZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBj" + + "b3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNj" + + "cmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhl" + + "IGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0" + + "aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRl" + + "bnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0" + + "byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwg" + + "aW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8g" + + "dXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0g" + + "YW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJl" + + "bW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwg" + + "ZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQg" + + "T3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + + "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29t" + + "cHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBv" + + "dmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5l" + + "IG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVy" + + "YXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJv" + + "ciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0" + + "ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5j" + + "ZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwg" + + "bnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBu" + + "dmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUg" + + "YWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxh" + + "bmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3Ro" + + "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMg" + + "d2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBh" + + "Z2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxl" + + "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + + "ckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + + "dGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVt" + + "ZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBs" + + "YW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxT" + + "ZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBu" + + "YXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5h" + + "bWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1w" + + "bGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3Jl" + + "ZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBk" + + "b3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBz" + + "YWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJp" + + "YW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBh" + + "bmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZv" + + "cmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1w" + + "bGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJv" + + "eSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1l" + + "c3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJl" + + "cXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGlu" + + "ZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + + "LCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2Vy" + + "dmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91" + + "dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJ" + + "IGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRo" + + "ZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9u" + + "cywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNN" + + "UyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBh" + + "bmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0" + + "IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGgg" + + "dGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9u" + + "bHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBl" + + "dmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWci" + + "LAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3Rl" + + "ciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRl" + + "c3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRo" + + "ZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFj" + + "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWly" + + "ZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBp" + + "bnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0" + + "YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUg" + + "Y2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3" + + "aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAog" + + "ICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJv" + + "eSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBD" + + "TEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwg" + + "dW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBD" + + "TEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxp" + + "dmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9l" + + "cyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1w" + + "bGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3Rl" + + "cmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBD" + + "TEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwg" + + "Ym90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRo" + + "ZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBl" + + "YWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + + "dGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMx" + + "My12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRv" + + "IG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93" + + "IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1s" + + "LCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwg" + + "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + + "ZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11" + + "c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3lu" + - "YycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmll" + - "ZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1z" + - "eXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxl" + - "Y3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVz" + - "dGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBV" + - "bmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1" + - "Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0" + - "aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0" + - "cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBh" + - "Y2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNy" + - "ZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUg" + - "Y29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJl" + - "ZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVz" + - "Y3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24g" + - "dGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlk" + - "ZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIs" + - "CiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIg" + - "dG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXks" + - "IGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRv" + - "IHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVt" + - "IGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCBy" + - "ZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUs" + - "IGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVk" + - "IE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5" + - "IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNv" + - "bXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qg" + - "b3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFu" + - "ZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3Bl" + - "cmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + - "b3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdh" + - "dGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVu" + - "Y2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkws" + - "IG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwg" + - "bnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhl" + - "IGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBs" + - "YW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90" + - "aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBj" + - "IHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJs" + - "ZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVk" + - "IHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hl" + - "bWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1w" + - "bGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFs" + - "U2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQg" + - "bmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBu" + - "YW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUt" + - "cGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9y" + - "ZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIg" + - "ZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQg" + - "c2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFy" + - "aWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQg" + - "YW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVm" + - "b3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wt" + - "cGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ry" + - "b3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFt" + - "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCBy" + - "ZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVy" + - "bmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hp" + - "bmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFz" + - "ZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNl" + - "cnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhv" + - "dXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENM" + - "SSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0" + - "aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlv" + - "bnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElD" + - "TVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwg" + - "YW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFz" + - "dCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRo" + - "IHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBv" + - "bmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3Ig" + - "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUt" + - "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmln" + - "IiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0" + - "ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBk" + - "ZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0" + - "aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3Bh" + - "Y2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVp" + - "cmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwg" + - "aW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBz" + - "dGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21h" + - "dGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhl" + - "IGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQg" + - "d2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwK" + - "ICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ry" + - "b3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUg" + - "Q0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "IHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUg" + - "Q0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBs" + - "aXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRv" + - "ZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wt" + - "cGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0" + - "ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUg" + - "Q0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4s" + - "IGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0" + - "aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMg" + - "ZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBh" + - "ZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "MTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0" + - "byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhv" + - "dyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFt" + - "bCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyks" + - "IGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBz" + - "cGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBt" + - "dXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52" + - "IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5" + - "IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGds" + - "b2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJl" + - "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhh" + - "bXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2" + - "YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJ" + - "IG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFu" + - "YWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNv" + - "bmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxs" + - "bS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0" + - "ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCBy" + - "b3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRp" + - "b24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJh" + - "bGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVk" + - "IHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBk" + - "ZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3Ag" + - "YW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJ" + - "Q0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5p" + - "bmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24u" + - "IEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVz" + - "ZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25z" + - "LCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2Vy" + - "IHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1" + - "c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRo" + - "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNh" + - "Q291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUg" + - "YWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9m" + - "LXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNp" + - "bmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0" + - "aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0" + - "cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9u" + - "bHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3Qg" + - "cGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVz" + - "aGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5k" + - "IHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAi" + - "VGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0" + - "aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0t" + - "cXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1r" + - "M2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNp" + - "bmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hv" + - "dWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2Fs" + - "IGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhv" + - "c3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24u" + - "IFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0" + - "aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50" + - "IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5z" + - "dHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwg" + - "ZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2Fs" + - "LWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVz" + - "Lm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVw" + - "bG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNv" + - "dXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9u" + - "IGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENh" + - "c3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlk" + - "ZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAg" + - "MTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFt" + - "bApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAK" + - "YGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNp" + - "ZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5g" + - "IHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNr" + - "IHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25k" + - "aXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAg" + - "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + - "IC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1z" + - "ZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAg" + - "IGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + - "ICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1v" + - "cnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + - "dGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1w" + - "L2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3Rl" + - "OiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBp" + - "biB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJj" + - "ZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUg" + - "UmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5n" + - "IGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9y" + - "ZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZp" + - "Z3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwog" + - "ICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3Iu" + - "aW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGlj" + - "YXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxv" + - "Z2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAK" + - "CiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gK" + - "ZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "ZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkg" + - "bnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9L" + - "RVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "ZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJl" + - "bGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8g" + - "ZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVw" + - "ZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJz" + - "aW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNh" + - "c3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2Jh" + - "bC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJI" + - "RUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xv" + - "YmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRz" + - "CmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRl" + - "IHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0" + - "b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVs" + - "bC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpg" + - "YGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQg" + - "bmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBP" + - "cGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0" + - "YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBz" + - "YSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAt" + - "biAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5u" + - "YW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBw" + - "YXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVs" + - "bFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1z" + - "eXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQt" + - "Ynk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNz" + - "ZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzog" + - "RnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4g" + - "YW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21w" + - "dXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxN" + - "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29u" + - "ZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2Ug" + - "dGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNl" + - "cy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgoj" + - "IyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJ" + - "RGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVn" + - "aXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUg" + - "SUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBg" + - "YGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1j" + - "bHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNh" + - "LWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5k" + - "IDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNv" + - "bnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2Ug" + - "YnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUg" + - "SGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNl" + - "cnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVx" + - "dWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYg" + - "aXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVm" + - "ZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFj" + - "ayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hl" + - "ZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBu" + - "YW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90" + - "aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBs" + - "YW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0" + - "cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1w" + - "bGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2Ug" + - "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoK" + - "IyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tl" + - "bmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + - "ZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgoj" + - "IyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFs" + - "bGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUK" + - "c2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDog" + - "UmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHBy" + - "b3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQg" + - "Z290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBg" + - "YGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAt" + - "byBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRF" + - "V0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3Mg" + - "ZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhv" + - "c3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCBy" + - "b3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24u" + - "PGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50" + - "IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3Qg" + - "dG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBh" + - "IHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3Nl" + - "cywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5l" + - "IGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFU" + - "UyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92" + - "ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + - "dGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAg" + - "MzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+" + - "IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFs" + - "dGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5" + - "IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxv" + - "eW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQv" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1q" + - "c29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBg" + - "CgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9y" + - "IHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBg" + - "YmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5j" + - "CgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5" + - "c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVj" + - "dG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0t" + - "LS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBv" + - "cGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNp" + - "cywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1z" + - "ZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdh" + - "dGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9u" + - "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRk" + - "b25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGlu" + - "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5u" + - "dmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxv" + - "eSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5" + - "IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBs" + - "b3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVk" + - "ZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8" + - "CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRy" + - "dWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVz" + - "KSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8" + - "CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91" + - "cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJv" + - "eHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24K" + - "ClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3Mu" + - "IEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3Rh" + - "bGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNl" + - "IGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRl" + - "ZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFu" + - "ZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0" + - "cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0" + - "ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBD" + - "TEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0" + - "ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5" + - "IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxt" + - "ZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21t" + - "YW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBP" + - "cGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBi" + - "dW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMj" + - "IEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZv" + - "cmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0" + - "ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5l" + - "CiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJl" + - "VmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVu" + - "ZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMv" + - "Y3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtl" + - "ZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVt" + - "YCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdh" + - "dGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52" + - "aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qg" + - "b3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBh" + - "bmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRv" + - "bWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3" + - "YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6" + - "Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93" + - "b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRz" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rh" + - "c2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29y" + - "a2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0" + - "dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdy" + - "ZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5" + - "LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwg" + - "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5" + - "LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZj" + - "Zi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVu" + - "ZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAg" + - "ICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxn" + - "YXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBl" + - "bmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5" + - "LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAg" + - "bWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAK" + - "CmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAg" + - "IGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2Vy" + - "dmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZh" + - "bFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2Vydmlj" + - "ZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNV" + - "Ukw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlk" + - "ZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBj" + - "b250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJl" + - "Z2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0" + - "ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJh" + - "c2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjox" + - "MDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmlj" + - "bXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdh" + - "eS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52" + - "b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48" + - "Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHks" + - "IHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0" + - "cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcg" + - "c3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9z" + - "dGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwg" + - "dGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFN" + - "RT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08" + - "cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRv" + - "LW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4K" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xV" + - "U1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBk" + - "aXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBj" + - "b250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAg" + - "aXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1" + - "c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBj" + - "b250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxv" + - "dwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRo" + - "ZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFz" + - "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "XAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBi" + - "b3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + - "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUt" + - "cGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rl" + - "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBp" + - "bnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1r" + - "dWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUg" + - "cHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20g" + - "dGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBw" + - "cm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFs" + - "dWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGlu" + - "IHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQK" + - "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + - "c3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0" + - "aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3Vn" + - "aCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25t" + - "ZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2Ug" + - "dG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBs" + - "ZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0" + - "aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBu" + - "dmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBc" + - "CiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEw" + - "bQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNm" + - "YmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAog" + - "IC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0" + - "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0" + - "IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBh" + - "bmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFu" + - "ZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkg" + - "dGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5h" + - "Z2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5v" + - "dCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdl" + - "ciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZl" + - "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1" + - "ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJl" + - "bGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + - "ZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2Ug" + - "cHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpk" + - "byBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVh" + - "Y2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6Cgpg" + - "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBc" + - "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAt" + - "LWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVy" + - "LWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAt" + - "LWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFt" + - "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBn" + - "ZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBk" + - "ZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVu" + - "IGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRl" + - "c3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + - "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklH" + - "X0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2Ug" + - "aXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENM" + - "SSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291" + - "dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29t" + - "cGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0" + - "aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVu" + - "dCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + - "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11" + - "cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXIt" + - "bmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21w" + - "dXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90" + - "IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBj" + - "YW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUg" + - "dGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBk" + - "ZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3Ig" + - "Ym90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRl" + - "IHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmln" + - "PiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVh" + - "Y2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUg" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + - "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0" + - "ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlk" + - "PgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBk" + - "ZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4g" + - "SXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0" + - "cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVn" + - "Z2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25v" + - "c2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4K" + - "CiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwg" + - "bmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNp" + - "ZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxt" + - "IHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3Ig" + - "ZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0t" + - "c29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93" + - "cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxu" + - "YW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgoj" + - "IyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAg" + - "ICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNr" + - "T2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8g" + - "cHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAK" + - "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3Vi" + - "ZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJF" + - "dmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQpr" + - "dWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0" + - "aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1l" + - "c3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScK" + - "CiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVj" + - "dGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1" + - "bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNw" + - "YWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9j" + - "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwK" + - "ICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNz" + - "d29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAg" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIu" + - "ICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFy" + - "dCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVz" + - "LiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9l" + - "c24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2" + - "aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQg" + - "cmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQu" + - "ICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAg" + - "IGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFj" + - "ZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWls" + - "dXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2Ug" + - "cG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAg" + - "ICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2Yt" + - "YXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpg" + - "YGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQt" + - "aW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5C" + - "YW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVu" + - "QmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgoj" + - "IENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVu" + - "YmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0" + - "aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZh" + - "dWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5u" + - "aW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNl" + - "IGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBU" + - "aGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95" + - "IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3Rs" + - "IGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIg" + - "c3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXpl" + - "ZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4g" + - "dmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAg" + - "IGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0" + - "MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWdu" + - "YXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURD" + - "IGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVu" + - "QmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGlj" + - "IG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFk" + - "IG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAg" + - "Y2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJl" + - "c2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9u" + - "IHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRo" + - "ZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNz" + - "dWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3Mg" + - "YE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQg" + - "aXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVy" + - "IGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiBy" + - "ZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0" + - "aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0" + - "cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXIt" + - "bWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQg" + - "dGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwt" + - "a25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBV" + - "Ukwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBh" + - "dXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVy" + - "cyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJg" + - "IGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBm" + - "YWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4K" + - "CiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + - "dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRy" + - "YS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lz" + - "CgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2Fu" + - "ZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNz" + - "YW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4" + - "YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVz" + - "b3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgx" + - "OTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5" + - "Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBO" + - "VkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgoj" + - "IyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApO" + - "QU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0w" + - "ICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpg" + - "YGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVz" + - "Y3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAt" + - "ICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdz" + - "IG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZp" + - "Y2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoK" + - "IyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxl" + - "Y3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9k" + - "ZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBu" + - "b3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3Vi" + - "ZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2Vz" + - "Kio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBu" + - "b2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoK" + - "IyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpg" + - "YGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApg" + - "YGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2Vy" + - "dmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBg" + - "YGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMj" + - "IEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1" + - "c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1" + - "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgoj" + - "IyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNl" + - "cnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93" + - "IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBi" + - "b290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3Mg" + - "KGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwg" + - "bG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEw" + - "MApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoq" + - "OiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRv" + - "YXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoK" + - "ICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZ" + - "T1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRo" + - "dG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQ" + - "SSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFw" + - "LnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0" + - "cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVu" + - "Y2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lz" + - "CiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFp" + - "bHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21w" + - "dXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5n" + - "YDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5n" + - "ICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgK" + - "ClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9y" + - "bWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMg" + - "ZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sg" + - "bmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNl" + - "cwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAt" + - "QSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIg" + - "KyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEi" + - "OyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29u" + - "dGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAg" + - "IntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhU" + - "IiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBm" + - "aW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJl" + - "Y3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBq" + - "c29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAg" + - "ICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0t" + - "cmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRv" + - "bmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5Cgoj" + - "IyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBu" + - "dmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFy" + - "ZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZj" + - "YS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3" + - "aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3Ig" + - "dGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlv" + - "biBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRl" + - "IG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0" + - "IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaApr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kg" + - "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4g" + - "bnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZh" + - "dGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMg" + - "aW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBg" + - "bnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3Au" + - "IFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNy" + - "ZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMK" + - "ClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIg" + - "dGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5" + - "IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlf" + - "QUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRl" + - "d2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3su" + - "c3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcg" + - "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + - "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVz" + - "ZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNT" + - "ZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwu" + - "ZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBV" + - "cGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVw" + - "bG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCBy" + - "ZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2Vs" + - "ZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1y" + - "ZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNw" + - "YWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNl" + - "cyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0t" + - "LS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5" + - "c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52" + - "Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2Us" + - "IHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMg" + - "fCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMg" + - "fCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBj" + - "b250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMg" + - "fApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUu" + - "bWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBM" + - "YXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + - "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9w" + - "ZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNl" + - "cyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2" + - "YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55" + - "YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRz" + - "KQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQg" + - "b3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAg" + - "ICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xv" + - "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVj" + - "dHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZp" + - "bGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFu" + - "ZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZp" + - "cm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQg" + - "dmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAg" + - "ICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwg" + - "ICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFs" + - "dWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVz" + - "dGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmly" + - "b25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1n" + - "ZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERv" + - "IG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5k" + - "IFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVh" + - "c2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0t" + - "LS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBN" + - "ZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwg" + - "dmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNh" + - "c3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJh" + - "c2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGBy" + - "ZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3Rt" + - "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0t" + - "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5" + - "cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBz" + - "ZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52" + - "b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBz" + - "ZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNl" + - "cnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8" + - "Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJl" + - "cXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdh" + - "dGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRt" + - "aW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJl" + - "bCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBz" + - "ZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJl" + - "cG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxd" + - "YCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4t" + - "aXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxv" + - "Y2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0" + - "IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0t" + - "LS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmls" + - "aXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZs" + - "YWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVt" + - "cGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVz" + - "ZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUn" + - "cyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJl" + - "cGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwg" + - "aXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZ" + - "b3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUg" + - "YmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0" + - "b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmlu" + - "ZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2Yv" + - "aGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9i" + - "YWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + - "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1Qg" + - "cmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + - "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRl" + - "LXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAg" + - "IyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAg" + - "ICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1p" + - "CmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55" + - "YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBg" + - "YHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGlu" + - "aGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpg" + - "IHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhl" + - "IHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdl" + - "dHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVz" + - "dCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFy" + - "ZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAt" + - "LSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdv" + - "IHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJl" + - "KQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2" + - "YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBw" + - "cmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGds" + - "b2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJv" + - "bm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMg" + - "dmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVu" + - "Y2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2Fu" + - "ZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlv" + - "bnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5u" + - "b2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3Nh" + - "bmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRh" + - "aW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5j" + - "b250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMu" + - "c3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxl" + - "Y3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmlt" + - "YWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5p" + - "bWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRh" + - "U3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChB" + - "UEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRv" + - "cnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4u" + - "ZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVt" + - "ZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVu" + - "Y3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxt" + - "LXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52" + - "b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJs" + - "ZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhl" + - "bG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUg" + - "b2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQg" + - "dGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxs" + - "bToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQog" + - "ICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDog" + - "ZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRy" + - "aWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFn" + - "ZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9u" + - "UG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0" + - "YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkg" + - "Zm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0Yg" + - "QVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGlj" + - "YXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBj" + - "SW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtl" + - "ci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rp" + - "b24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFn" + - "ZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVg" + - "IHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3Qg" + - "YmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9m" + - "LXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1" + - "cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9h" + - "ZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9j" + - "cy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlk" + - "ZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3Mg" + - "ZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQg" + - "d29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNv" + - "bmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAg" + - "ICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHls" + - "b246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VU" + - "RVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVz" + - "IGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMK" + - "bXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwg" + - "cmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVu" + - "dmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVz" + - "aW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJl" + - "Y2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpg" + - "YGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1k" + - "cml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4u" + - "CgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNh" + - "ciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJl" + - "cGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBw" + - "bHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3Jl" + - "YXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9s" + - "IHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBk" + - "ZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4g" + - "bnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAt" + - "RSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJv" + - "dXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rp" + - "b24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1l" + - "PT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwg" + - "cGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAt" + - "LXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0g" + - "YmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8v" + - "Z2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJn" + - "YXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNl" + - "bGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBC" + - "eSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0" + - "eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5j" + - "CgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVs" + - "ZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNl" + - "LWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4K" + - "UEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQAB" + - "AKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFj" + - "aW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2" + - "YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBh" + - "ZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5l" + - "ZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGlu" + - "Y2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNm" + - "LXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVu" + - "dGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUg" + - "YWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5" + - "YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5h" + - "bWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQg" + - "YW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lz" + - "dHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZy" + - "b20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElf" + - "S0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + - "LS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0" + - "bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9t" + - "YWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBs" + - "eSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5j" + - "bHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2Vydmlj" + - "ZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + - "ZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMj" + - "IFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQg" + - "YW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQpr" + - "dWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9z" + - "dDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBg" + - "YAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1" + - "dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVz" + - "dHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0" + - "aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkH" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVs" + - "bCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdl" + - "cyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBL" + - "dWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wt" + - "cGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhl" + - "aXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBs" + - "aXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5v" + - "IHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lv" + - "biB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNy" + - "ZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMj" + - "IEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoK" + - "YGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9r" + - "eXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2" + - "ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVs" + - "bCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+" + - "IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + - "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + - "bwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + - "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBs" + - "YWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2Vy" + - "LXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwK" + - "YXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgog" + - "IG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxz" + - "ZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwog" + - "ICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAg" + - "IGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAg" + - "ICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lz" + - "IgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAg" + - "ICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAg" + - "ICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3Ry" + - "YXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6" + - "CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1i" + - "eToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoK" + - "ICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1" + - "bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFu" + - "ZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24g" + - "aW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUg" + - "bmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wt" + - "cGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBv" + - "bmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaApr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNl" + - "IG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + - "c3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXIt" + - "dXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + - "WSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBs" + - "eSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50" + - "IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBu" + - "dmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2Ug" + - "aW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1g" + - "LiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4g" + - "Rm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1p" + - "bnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZp" + - "Y2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUg" + - "aW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3Bl" + - "Yy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0K" + - "CiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1v" + - "IGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdl" + - "cHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVs" + - "bCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2" + - "ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVw" + - "IC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5h" + - "dXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21w" + - "dXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + - "IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBT" + - "ZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6" + - "IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAg" + - "SUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0" + - "IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVk" + - "LgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVn" + - "aXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZp" + - "Y2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNr" + - "T2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0" + - "cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0" + - "dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + - "dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoK" + - "IyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJu" + - "bwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hp" + - "bmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJF" + - "QURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5j" + - "ZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0" + - "IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNl" + - "Y3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQA" + - "FAAIAAAAAAAhALKTcX1KEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNv" + - "blVUBQABAKbOElBLAQIUABQACAAAAAAAIQCwumlG4mIAAOJiAAAjAAkAAAAAAAAAAAAAAJMQAABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQBDz+/lHQ8AAB0PAAAzAAkAAAAAAAAAAAAAAM9zAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAMCT5iMkM" + - "AADJDAAANAAJAAAAAAAAAAAAAABWgwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBs" + - "ZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDBsWmYzw8AAM8PAAA3" + - "AAkAAAAAAAAAAAAAAIqQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1j" + - "b21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAA" + - "AAAAAAAAAAAAx6AAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFu" + - "ZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAA" + - "AAAAAAAAANa6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQt" + - "aW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAA" + - "AAAAXOAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVk" + - "LWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAA" + - "AAAAAACO7wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20t" + - "c2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCq4Tq5yAcAAMgHAAA5AAkAAAAAAAAA" + - "AAAAAFUZAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVy" + - "LWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAA" + - "AACNIQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQBbOvgYtiQAALYkAAAwAAkAAAAAAAAAAAAAANZDAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAADzaAEAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "cJxDJ+NVAADjVQAALQAJAAAAAAAAAAAAAABWeQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALUF84L0IAAA9CAAADcA" + - "CQAAAAAAAAAAAAAAnc8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + - "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAA" + - "AAAAAAAAAAD/8AEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAACrUwIAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAGCqAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAEXTAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAA2gMDAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAATUDAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0" + - "dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAA" + - "hl8DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11" + - "aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAA" + - "AAAAALVnAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAAqfgMAAAA=" + "IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYg" + + "WUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkg" + + "cGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xv" + + "YmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVs" + + "ZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFt" + + "cGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZh" + + "bHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkg" + + "bmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5h" + + "Z2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29u" + + "ZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxt" + + "LmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRl" + + "d2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJv" + + "dXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + + "biBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFs" + + "YW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQg" + + "cGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRl" + + "ZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBh" + + "bmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlD" + + "SW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fybmlu" + + "ZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4g" + + "SXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNl" + + "ZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMs" + + "IGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIg" + + "c2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVz" + + "ZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgi" + + "LAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FD" + + "b3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2Yt" + + "dHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2lu" + + "ZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + + "YXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRz" + + "IHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25s" + + "eSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBw" + + "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNo" + + "ZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQg" + + "cmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJU" + + "aGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRo" + + "ZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1x" + + "dWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWsz" + + "ZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2lu" + + "ZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91" + + "bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwg" + + "azNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9z" + + "dGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4g" + + "VGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRp" + + "b24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0" + + "cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBk" + + "ZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwt" + + "ZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAA" + + "AAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMu" + + "bWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBs" + + "b3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291" + + "cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24g" + + "bGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fz" + + "c2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRl" + + "IHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAx" + + "OiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1s" + + "CmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApg" + + "YGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2ll" + + "cy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAg" + + "cmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sg" + + "cm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + + "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + + "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + + "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + + "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAg" + + "bGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQog" + + "ICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9y" + + "eTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + + "ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAv" + + "Y2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6" + + "IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGlu" + + "IHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNl" + + "c2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBS" + + "ZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcg" + + "aW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3Jl" + + "ZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmln" + + "dXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAg" + + "ICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5p" + + "bwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNh" + + "dGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9n" + + "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0" + + "cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoK" + + "IyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApl" + + "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5k" + + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + + "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + + "b25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + + "dmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVz" + + "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + + "WSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + + "b25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVs" + + "ZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBl" + + "YWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBl" + + "bmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + + "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + + "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + + "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9i" + + "YWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMK" + + "YGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUg" + + "dGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxs" + + "LXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBg" + + "YAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBu" + + "YXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9w" + + "ZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3Rh" + + "cnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNh" + + "IGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1u" + + "ICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5h" + + "bWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBh" + + "dGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxs" + + "U2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5" + + "c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1i" + + "eT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3Nm" + + "dWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBG" + + "dWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBh" + + "bmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1" + + "dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1G" + + "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + + "aWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0" + + "aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMj" + + "IyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklE" + + "YCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdp" + + "c3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJ" + + "RCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBg" + + "YmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNs" + + "dXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2Et" + + "aWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQg" + + "MiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29u" + + "dHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBi" + + "eSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBI" + + "ZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2Vy" + + "dC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1" + + "aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBp" + + "dCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZm" + + "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNr" + + "IEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + + "CmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + + "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3Ro" + + "ZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxh" + + "bmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ry" + + "b3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgoj" + + "IyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2Vu" + + "ZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtl" + + "eXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMj" + + "IyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxs" + + "YXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpz" + + "YW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVu" + + "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBS" + + "ZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJv" + + "dmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBn" + + "b3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBg" + + "YmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1v" + + "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVX" + + "QVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBm" + + "aWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9z" + + "dCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJv" + + "dXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48" + + "ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQg" + + "d2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0" + + "byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEg" + + "c3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2Vz" + + "LCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUg" + + "YG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRT" + + "IFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3Zl" + + "cnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0" + + "aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1" + + "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAz" + + "OiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4i" + + "CmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0" + + "aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + + "bnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95" + + "bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpz" + + "b25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAK" + + "Ci0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3Ig" + + "dGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBi" + + "YXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + + "CiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBn" + + "ZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0" + + "b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0t" + + "LS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9w" + + "ZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lz" + + "LCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNl" + + "cnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0" + + "ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25s" + + "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRv" + + "bnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4g" + + "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52" + + "Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95" + + "IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8Cnwg" + + "YG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkg" + + "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxv" + + "eSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + + "cyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwK" + + "fCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1" + + "ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMp" + + "IHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwK" + + "Ck5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3Vw" + + "IGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94" + + "eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoK" + + "VGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4g" + + "SW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFs" + + "bCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2Ug" + + "aXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVk" + + "IHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5k" + + "b2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3Ry" + + "YXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRl" + + "IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENM" + + "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rl" + + "cj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkg" + + "Zm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1m" + + "aWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1h" + + "bmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9w" + + "ZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1" + + "bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMg" + + "SGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9y" + + "ZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRl" + + "d2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUK" + + "ICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVW" + + "YWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5k" + + "LXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9j" + + "c3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2Vl" + + "cHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1g" + + "LCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0" + + "ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZp" + + "cm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBv" + + "dmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFu" + + "ZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9t" + + "YWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdh" + + "eS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dv" + + "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3Jr" + + "ZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0" + + "cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1Nl" + + "cnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jl" + + "c3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXkt" + + "c3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBu" + + "YW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXks" + + "IG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNm" + + "LWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5l" + + "ck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAg" + + "ICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdh" + + "dGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVu" + + "YWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXkt" + + "ZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBt" + + "aWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + + "YGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88" + + "ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAg" + + "aWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2" + + "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFs" + + "U2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNl" + + "SG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VS" + + "TDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRl" + + "OiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNv" + + "bnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVn" + + "aXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRl" + + "IHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFz" + + "ZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEw" + + "MDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNt" + + "c191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5" + + "LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZv" + + "a2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxn" + + "YXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwg" + + "d2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3Ry" + + "YXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBz" + + "dXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0" + + "YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0" + + "aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1F" + + "PTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxy" + + "ZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05G" + + "SUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8t" + + "bnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVT" + + "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRp" + + "c2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNv" + + "bnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBp" + + "cyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVz" + + "dGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNv" + + "bnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93" + + "CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhl" + + "IHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNo" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNh" + + "LWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJv" + + "dGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNv" + + "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1w" + + "bGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXIt" + + "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + + "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1" + + "YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBw" + + "cm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0" + + "aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHBy" + + "b2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1" + + "ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4g" + + "dGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + + "eXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRo" + + "ZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdo" + + "IGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + + "bnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQg" + + "bWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0" + + "byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxl" + + "cywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRp" + + "b24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52" + + "Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwK" + + "ICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBt" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2Zi" + + "YWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAg" + + "LS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9" + + "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQg" + + "PHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFu" + + "ZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5l" + + "LiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0" + + "aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFn" + + "ZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90" + + "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + + "IGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + + "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + + "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + + "ZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + + "LiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBw" + + "cm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRv" + + "IG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFj" + + "aCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + + "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0t" + + "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + + "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + + "aWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1l" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdl" + + "dCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRl" + + "c3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4g" + + "ZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1w" + + "bGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVz" + + "dHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdf" + + "RklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBp" + + "dHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJ" + + "IHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0" + + "LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21w" + + "bGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRo" + + "ZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50" + + "IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + + "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + + "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVy" + + "bD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1" + + "dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3Qg" + + "cXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNh" + + "bm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0" + + "YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRl" + + "c3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBi" + + "b3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUg" + + "d2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + + "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + + "aGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1j" + + "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + + "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + + "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rl" + + "ci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + + "CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRl" + + "c3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJ" + + "dCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3Ry" + + "YXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + + "OwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9z" + + "aW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoK" + + "IyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBu" + + "YW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lm" + + "aWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0g" + + "cmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBk" + + "aWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1z" + + "b3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dz" + + "IGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMj" + + "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAg" + + "ICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tP" + + "ZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBw" + + "dWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoK" + + "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJl" + + "Y3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2" + + "ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1" + + "YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRo" + + "ZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoK" + + "IyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + + "bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVs" + + "bFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3Bh" + + "Y2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + + "ICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3" + + "b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4g" + + "KipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0" + + "IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMu" + + "IFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vz" + + "bid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZp" + + "Y2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCBy" + + "ZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4g" + + "KipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAg" + + "YGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNl" + + "PgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1" + + "cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBw" + + "b2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAg" + + "ICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1h" + + "cGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBg" + + "YAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1p" + + "bml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJh" + + "byBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5C" + + "YW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + + "Q2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + + "YW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRo" + + "ZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1" + + "bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5p" + + "bmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2Ug" + + "aXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRo" + + "aXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kg" + + "YW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwg" + + "ZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBz" + + "eW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVk" + + "Kio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2" + + "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAg" + + "YGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + + "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + + "dHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMg" + + "aXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5C" + + "YW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMg" + + "bW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQg" + + "b2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBj" + + "bHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVz" + + "ZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24g" + + "dGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhl" + + "CiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBg" + + "T0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBp" + + "c3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIg" + + "ZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJl" + + "LXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRp" + + "b25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1t" + + "aWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0" + + "aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1r" + + "bm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVS" + + "TCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1" + + "dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJz" + + "IHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAg" + + "ZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZh" + + "bGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoK" + + "IyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + + "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + + "LTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5k" + + "cmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3Nh" + + "bmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhh" + + "bXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNv" + + "dXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5" + + "Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2" + + "TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5W" + + "Q0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMj" + + "IEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5B" + + "TUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAg" + + "ICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + + "YGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNj" + + "cmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0g" + + "IjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mg" + + "bm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmlj" + + "aWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgoj" + + "IyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVj" + + "dG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2Rl" + + "cyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5v" + + "dCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMq" + + "KjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5v" + + "ZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgoj" + + "IyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBg" + + "YGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBg" + + "YAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2" + + "aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBg" + + "YmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMg" + + "Rml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVz" + + "dCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3Vi" + + "ZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMj" + + "IEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2Vy" + + "dmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cg" + + "Ym9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJv" + + "b3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAo" + + "am9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBs" + + "b2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAw" + + "CmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6" + + "IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9h" + + "dXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5Cgog" + + "ICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lP" + + "VVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0" + + "b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJ" + + "IGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAu" + + "cmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRz" + + "IGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5j" + + "aWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNw" + + "YWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMK" + + "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWls" + + "dXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1" + + "dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdg" + + "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcg" + + "ICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoK" + + "UnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3Jt" + + "YWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBm" + + "cm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBu" + + "YW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2Vz" + + "Cmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1B" + + "IC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiAr" + + "IC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7" + + "IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250" + + "ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAi" + + "e1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQi" + + "IHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZp" + + "bmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVj" + + "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpz" + + "b24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAg" + + "IGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1y" + + "YXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9u" + + "ZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMj" + + "IyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52" + + "Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJl" + + "IG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNh" + + "LW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdo" + + "ZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0" + + "aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9u" + + "IGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUg" + + "b25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQg" + + "cG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBu" + + "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBu" + + "dmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0" + + "ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBp" + + "bgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBu" + + "dmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4g" + + "U2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3Jl" + + "dCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoK" + + "UmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0" + + "aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkg" + + "cmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9B" + + "RERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + + "YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5z" + + "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyAr" + + "c2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDov" + + "LyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNl" + + "ZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1Nl" + + "cnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5k" + + "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVw" + + "ZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBs" + + "b3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJl" + + "ZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxl" + + "Y3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJl" + + "Y292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3Bh" + + "Y2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2Vz" + + "IHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0t" + + "LS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lz" + + "dGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZj" + + "ZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwg" + + "cmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8" + + "IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8" + + "IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNv" + + "bnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8" + + "ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5t" + + "ZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExh" + + "eW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwg" + + "ICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3Bl" + + "bkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2Vz" + + "ICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZh" + + "YmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlh" + + "bWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMp" + + "CnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBv" + + "dmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAg" + + "ICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9i" + + "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0" + + "cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmls" + + "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5l" + + "IGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmly" + + "b25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2" + + "YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAg" + + "ICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAg" + + "ICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + + "ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0" + + "ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJv" + + "bm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdl" + + "bmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8g" + + "bm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQg" + + "VGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFz" + + "ZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0t" + + "LS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1l" + + "c3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2" + + "YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fz" + + "c2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFz" + + "ZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJl" + + "bGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1w" + + "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + + "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlz" + + "IHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNl" + + "cnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZv" + + "Y2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNl" + + "cnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwK" + + "fCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVx" + + "dWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0" + + "ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1p" + + "bi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVs" + + "KSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3Rl" + + "bSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNl" + + "cnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVw" + + "b3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1g" + + "IGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1p" + + "c3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9j" + + "a3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + + "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + + "LS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxp" + + "dHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxh" + + "Z3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1w" + + "bGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNl" + + "ZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdz" + + "IHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVw" + + "bGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBp" + + "dCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlv" + + "dSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBi" + + "ZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rv" + + "cnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5l" + + "czoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9o" + + "ZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2Jh" + + "bC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + + "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCBy" + + "ZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + + "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUt" + + "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAj" + + "IE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAg" + + "IHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + + "YGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlh" + + "bWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBg" + + "eWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5o" + + "ZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAg" + + "dG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUg" + + "dGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0" + + "cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0" + + "IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJl" + + "ZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0t" + + "IHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28g" + + "dGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUp" + + "CjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZh" + + "bHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHBy" + + "ZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9u" + + "bWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2" + + "YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5j" + + "ZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5k" + + "cmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9u" + + "cy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5v" + + "ZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2Fu" + + "ZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFp" + + "bmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNv" + + "bnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5z" + + "dG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVj" + + "dG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1h" + + "Z2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmlt" + + "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFT" + + "dG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQ" + + "SSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9y" + + "eSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5l" + + "bnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1l" + + "bnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5j" + + "dGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0t" + + "cmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZv" + + "Y2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxl" + + "ZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVs" + + "bWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBv" + + "YnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + + "ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52" + + "Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxt" + + "OgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAg" + + "ICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBm" + + "YWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJp" + + "Y3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdl" + + "bnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Q" + + "b2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBm" + + "b3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBB" + + "UEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBz" + + "ZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNh" + + "dGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJ" + + "bnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2Vy" + + "LXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlv" + + "biBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdl" + + "ZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAg" + + "c2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBi" + + "ZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2Yt" + + "dHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3Vy" + + "ZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2Fk" + + "IEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2Nz" + + "L3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRl" + + "LgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBk" + + "ZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3" + + "b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29u" + + "ZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAg" + + "ICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxv" + + "bjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRF" + + "Ul9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMg" + + "aXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwpt" + + "dXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCBy" + + "ZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52" + + "aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNp" + + "bmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVj" + + "ZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBg" + + "YAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRy" + + "aXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4K" + + "CkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2Fy" + + "IGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVw" + + "bGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBs" + + "eSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVh" + + "dGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wg" + + "cGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + + "cGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBu" + + "dmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1F" + + "ICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91" + + "dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlv" + + "bi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9" + + "PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBw" + + "bGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0t" + + "cXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBi" + + "ZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9n" + + "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rhcmdh" + + "dGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2Vs" + + "ZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5" + + "IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5" + + "IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMK" + + "CiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxl" + + "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2Ut" + + "Z3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQ" + + "SwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEA" + + "ps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + + "bmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZh" + + "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFk" + + "ZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVl" + + "ZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5j" + + "bHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + + "dWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50" + + "aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBh" + + "ZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlh" + + "bWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFt" + + "ZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBh" + + "biBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0" + + "cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJv" + + "bSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9L" + + "RVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + + "ci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAt" + + "LW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21h" + + "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5" + + "IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNs" + + "dWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNl" + + "IGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMg" + + "VmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBh" + + "bmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1" + + "YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0" + + "OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBg" + + "CgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0" + + "aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0" + + "cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRp" + + "bmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxs" + + "IFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2Vz" + + "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1" + + "YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1w" + + "bGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVp" + + "ciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxp" + + "c3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8g" + + "dG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9u" + + "IHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3Jl" + + "dCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMg" + + "S3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpg" + + "YGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5" + + "dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZl" + + "cm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxs" + + "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + + "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + + "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + + "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxh" + + "Y2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXIt" + + "cGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAph" + + "cGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAg" + + "bmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNl" + + "CiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAg" + + "ICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAg" + + "a2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAg" + + "ICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMi" + + "CiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAg" + + "ICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAg" + + "ICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJh" + + "dGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoK" + + "ICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + + "OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgog" + + "ICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVs" + + "bHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5l" + + "CgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBp" + + "bgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBu" + + "ZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1w" + + "bGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9u" + + "bHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + + "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + + "IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52" + + "Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBp" + + "biBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAu" + + "IERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBG" + + "b2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmlj" + + "YXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBp" + + "bmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVj" + + "LmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoK" + + "IyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8g" + + "anNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2Vw" + + "dWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxs" + + "IGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZl" + + "bnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAg" + + "LWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1" + + "dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1" + + "dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + + "c2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNl" + + "Y3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjog" + + "SWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJ" + + "QU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQg" + + "c2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQu" + + "Ci0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdp" + + "c3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vydmlj" + + "ZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tP" + + "ZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3Rz" + + "IHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1" + + "Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgoj" + + "IyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5v" + + "CiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGlu" + + "ZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "Y2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVB" + + "RFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNl" + + "cyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3Qg" + + "bmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2Vj" + + "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAU" + + "AAgAAAAAACEAFXzEfEoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29u" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAAAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "AEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmIyQwA" + + "AMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxl" + + "cy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8AADcA" + + "CQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNv" + + "bXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAA" + + "AAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5k" + + "LXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAA" + + "AAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1p" + + "bnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAA" + + "AABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQt" + + "aW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAA" + + "AAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1z" + + "Y3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAA" + + "AAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXIt" + + "andrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAA" + + "AI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDK" + + "jQYoVFYAAFRWAAAtAAkAAAAAAAAAAAAAAFZ5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + + "ZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtQXzgvQgAAD0IAAANwAJ" + + "AAAAAAAAAAAAAAAO0AEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3Vi" + + "bGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAA" + + "AAAAAAAAAHDxAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAABxUAgBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAA0aoCAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAttMCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAABLBAMAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAByNQMAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + + "cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAD3" + + "XwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVp" + + "LWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAA" + + "AAAAJmgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAJt+AwAAAA==" var ( skillDataOnce sync.Once From 3e064710593e9f980f05564af138901ddd5e92fc Mon Sep 17 00:00:00 2001 From: rohithb Date: Mon, 5 Oct 2026 23:55:43 +0530 Subject: [PATCH 092/127] docs(nvcf-cli): add a compute plane with compute-plane register and install, and pass both context flags or neither Signed-off-by: rohithb --- .../skills/nvcf-self-managed-cli/SKILL.md | 23 +- .../examples/ci-pipelines.md | 14 +- .../examples/multi-cluster.md | 44 +- .../prompts/add-compute-plane.md | 29 +- .../reference/commands.md | 5 +- .../agentskill/skilldata_generated.go | 7922 +++++++++-------- 6 files changed, 4060 insertions(+), 3977 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md b/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md index 2f00ae8cc6..e0d98806e9 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md @@ -59,13 +59,20 @@ KUBECONFIG=cp.yaml:gpu1.yaml nvcf-cli self-hosted up \ --compute-plane-context=admin@gpu1 \ --icms-url=https://icms.nvcf.example.com -# Add a new compute plane to an existing control plane (no kubectl access to CP needed; -# reaches the control plane via the public ICMS HTTPRoute): -nvcf-cli self-hosted add-compute-plane \ +# Add a new compute plane to an existing control plane, from the profile +# `self-hosted control-plane profile export` wrote (no kubectl access to CP +# needed; reaches the control plane via the public ICMS HTTPRoute): +nvcf-cli self-hosted compute-plane register \ + --control-plane-profile=control-plane-profile.yaml \ --cluster-name=ncp-local-2 \ - --compute-plane-context=admin@gpu2 \ + --kube-context=admin@gpu2 \ --icms-url=https://icms.nvcf.example.com \ - --token=$ADMIN_JWT + --token=$ADMIN_JWT \ + --output=ncp-local-2-register-values.yaml +nvcf-cli self-hosted compute-plane install \ + --values=ncp-local-2-register-values.yaml \ + --kube-context=admin@gpu2 \ + --cluster-name=ncp-local-2 # Tear down (always plan-only first): nvcf-cli self-hosted down --plan-only --cluster-name=ncp-local --json | jq @@ -75,7 +82,7 @@ nvcf-cli self-hosted down --cluster-name=ncp-local nvcf-cli self-hosted uninstall --no-apply --compute-plane --cluster-name=ncp-local | kubectl delete -f - ``` -> **`up` vs `add-compute-plane`.** `up` always installs both planes — use it for the *first* install. `add-compute-plane` is the right subcommand any time the control plane is already running and you want to attach an Nth compute cluster. +> `up` vs `compute-plane register` and `install`. `up` always installs both planes; use it for the first install. To attach an Nth compute cluster to a running control plane, register it with `compute-plane register` and install it with `compute-plane install`. > > **`down` always with `--plan-only` first.** Show the user the `willUninstall.commands[]` array before running for real. @@ -140,7 +147,7 @@ After `init`, the credentials live in `~/.nvcf-cli.state`, so later commands wor | `nvcf-cli self-hosted install --compute-plane --cluster-name=X \| kubectl apply -f -` | Register cluster + render compute plane | Same — manual apply path | | `nvcf-cli self-hosted up --cluster-name=X` | One-shot first install: pre-flight → control plane → register → compute plane | Standard install path (both planes from scratch) | | `nvcf-cli self-hosted up --plan-only --cluster-name=X` | Dry-run: emit phase-by-phase plan + ETA without changing state | Agent / CI preview before commit | -| `nvcf-cli self-hosted add-compute-plane --cluster-name=X --compute-plane-context=Y --icms-url=… --token=$JWT` | Add a new compute plane to an *existing* control plane (no CP install) | Adding the 2nd, 3rd, … GPU cluster after the initial `up` | +| `nvcf-cli self-hosted compute-plane register --control-plane-profile=P --cluster-name=X --kube-context=Y --output=V`, then `nvcf-cli self-hosted compute-plane install --values=V --kube-context=Y` | Add a new compute plane to an existing control plane (no CP install) | Adding the 2nd, 3rd, ... GPU cluster after the initial `up` | | `nvcf-cli self-hosted uninstall --control-plane` | Per-plane primitive: `helmfile destroy` on the control plane (refuses if compute planes still registered) | Final teardown after all compute planes are gone, or scripted pipelines | | `nvcf-cli self-hosted uninstall --compute-plane --cluster-name=X` | Per-plane primitive: `helmfile destroy` on a compute plane (no ICMS unregister, no drain) | Just remove the helm releases without the ICMS-side cleanup | | `nvcf-cli self-hosted uninstall --no-apply ` | Render delete YAML via `helm get manifest` | GitOps; `\| kubectl delete -f -` or commit + Argo applies | @@ -195,7 +202,7 @@ Session stickiness uses `x-multi-turn-session-id` for chat completions and Respo For step-by-step playbooks, load the prompt that matches the user's intent: - **Install from scratch.** [prompts/install-from-scratch.md](prompts/install-from-scratch.md) — k3d cluster → preflight → up → deploy a smoke function. -- **Add a new compute plane.** [prompts/add-compute-plane.md](prompts/add-compute-plane.md) — split-cluster `up` against an existing control plane. +- **Add a new compute plane.** [prompts/add-compute-plane.md](prompts/add-compute-plane.md): register and install a compute plane against an existing control plane. - **Deploy and invoke a function.** [prompts/deploy-and-invoke.md](prompts/deploy-and-invoke.md) — create → deploy → API key → invoke, including the LLM create/invoke variant. - **Diagnose a failed install.** [prompts/diagnose-failed-install.md](prompts/diagnose-failed-install.md) — `status --json` → identify failed component → kubectl describe → remediation. - **Rotate JWKS.** [prompts/rotate-cluster-jwks.md](prompts/rotate-cluster-jwks.md) — when PSAT auth starts failing. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index 9bfe735165..5e290549d3 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -67,16 +67,20 @@ deploy_compute_planes: - CLUSTER: ncp-eu-1 CONTEXT: admin@gpu-eu-1 script: - - nvcf-cli self-hosted up + - nvcf-cli self-hosted compute-plane register + --control-plane-profile=control-plane-profile.yaml --cluster-name=$CLUSTER - --compute-plane-context=$CONTEXT + --kube-context=$CONTEXT --icms-url=$ICMS_PUBLIC_URL --token=$NVCF_ADMIN_JWT - --non-interactive - --json + --output=$CLUSTER-register-values.yaml + - nvcf-cli self-hosted compute-plane install + --values=$CLUSTER-register-values.yaml + --kube-context=$CONTEXT + --cluster-name=$CLUSTER ``` -Each parallel job registers + installs one compute plane against the shared control plane. Failures are isolated. +Each parallel job registers + installs one compute plane against the shared control plane. Failures are isolated. The control-plane profile comes from `nvcf-cli self-hosted control-plane profile export`, run once against the control plane. ## Plan-only preview in PRs diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md index 8462f39344..d016256d1f 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md @@ -11,19 +11,28 @@ The canonical multi-cluster topology. Each compute plane is registered separatel KUBECONFIG=cp.yaml nvcf-cli self-hosted install --control-plane | kubectl apply -f - nvcf-cli self-hosted check --control-plane --wait 5m -# 2. Register + install each compute plane: +# 2. Export the control-plane profile every compute plane registers from. +# The command prints the path it wrote: +KUBECONFIG=cp.yaml nvcf-cli self-hosted control-plane profile export --cluster-name=ncp-cp + +# 3. Register + install each compute plane. Both commands name the GPU +# cluster's context with --kube-context: for CTX in admin@gpu-east-1 admin@gpu-west-1 admin@gpu-eu-1; do NAME=$(echo "$CTX" | cut -d@ -f2) - nvcf-cli self-hosted up \ + nvcf-cli self-hosted compute-plane register \ + --control-plane-profile=control-plane-profile.yaml \ --cluster-name=$NAME \ - --compute-plane-context=$CTX \ + --kube-context=$CTX \ --icms-url=https://icms.nvcf.example.com \ --token=$NVCF_ADMIN_JWT \ - --non-interactive \ - --json + --output=$NAME-register-values.yaml + nvcf-cli self-hosted compute-plane install \ + --values=$NAME-register-values.yaml \ + --kube-context=$CTX \ + --cluster-name=$NAME done -# 3. Verify all compute planes registered: +# 4. Verify all compute planes registered: nvcf-cli cluster list-registered --nca-id=$NCA_ID --icms-url=$ICMS --json \ | jq '.clusters[] | {name: .clusterName, status, nvcaVersion}' ``` @@ -44,17 +53,24 @@ nvcf-cli self-hosted check --compute-plane \ --icms-url=https://icms.nvcf.example.com \ --json -# Bring up just the compute plane: -nvcf-cli self-hosted up \ +# Register and install just the compute plane, from the profile the +# control-plane operator exported with `self-hosted control-plane profile export`: +nvcf-cli self-hosted compute-plane register \ + --control-plane-profile=control-plane-profile.yaml \ --cluster-name=my-compute-1 \ - --compute-plane-context=admin@gpu1 \ + --kube-context=admin@gpu1 \ --icms-url=https://icms.nvcf.example.com \ --token=$ADMIN_JWT \ - --non-interactive - -# Status (compute-only — operator can't see control-plane component health): + --output=my-compute-1-register-values.yaml +nvcf-cli self-hosted compute-plane install \ + --values=my-compute-1-register-values.yaml \ + --kube-context=admin@gpu1 \ + --cluster-name=my-compute-1 + +# Status of the current context, admin@gpu1 (compute-only: the operator +# can't see control-plane component health): nvcf-cli self-hosted status \ - --compute-plane-context=admin@gpu1 \ + --cluster-name=my-compute-1 \ --icms-url=https://icms.nvcf.example.com ``` @@ -88,9 +104,9 @@ nvcf-cli cluster list-registered --nca-id=$NCA_ID --icms-url=$ICMS --json \ # Status snapshot per compute plane (assuming each context name matches): while read NAME; do echo "=== $NAME ===" + kubectl config use-context "admin@$NAME" >/dev/null nvcf-cli self-hosted status \ --cluster-name=$NAME \ - --compute-plane-context=admin@$NAME \ --json | jq -c '{cluster:.cluster, verdict:.verdict, reconcile:.reconcileAgeSec}' done < clusters.txt ``` diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index 3cba84af78..a46db73297 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -7,13 +7,14 @@ User has a working NVCF control plane (running somewhere) and wants to register - **kubectl context for the new compute plane** in their `KUBECONFIG`. - **Public ICMS URL** of the existing control plane (e.g. `https://icms.nvcf.example.com`). - **Admin JWT** for the control plane's account, OR ability to mint one via `nvcf-cli init` against the control plane's public api endpoint. (Admin tokens come from the API Keys service via the public api gateway — kubectl access to the control plane is NOT required to obtain one.) +- The control plane's profile file, which `nvcf-cli self-hosted control-plane profile export` writes on a machine that can reach the control-plane cluster. It carries the control plane's endpoints and trust for registration. - A unique `--cluster-name` that doesn't collide with already-registered clusters. Use `nvcf-cli cluster list-registered --nca-id=$NCA_ID --icms-url=$ICMS` to check. ## Steps 1. Ask for inputs: - `--cluster-name=` — must be unique within the control plane's NCA scope - - `--compute-plane-context=` — the new GPU cluster's kubectl context + - `--kube-context=`: the new GPU cluster's kubectl context - `--icms-url=` — control plane's public ICMS URL - GPU type? (default `H100`, but ask) @@ -35,23 +36,33 @@ User has a working NVCF control plane (running somewhere) and wants to register Operator, SMB CSI driver) when `cluster_validator_image` is set. `--pre` would also run the control-plane checks against this cluster, so leave it off. A missing `helm`, `helmfile` or `kubectl` is a warning here, although - `add-compute-plane` needs them. If the gate fails, show the user the + `compute-plane install` needs them. If the gate fails, show the user the `check_completed` events with `passed: false` and `severity: "error"`, and address them before proceeding. -3. Run `add-compute-plane`: +3. Register the cluster, then install its compute plane from the values + file registration writes. Both commands name the new cluster's context + with `--kube-context`: ```sh - nvcf-cli self-hosted add-compute-plane \ + nvcf-cli self-hosted compute-plane register \ + --control-plane-profile=control-plane-profile.yaml \ --cluster-name=$NAME \ - --compute-plane-context=$CTX \ + --kube-context=$CTX \ --icms-url=$ICMS \ --token=$JWT \ - --non-interactive \ - --json + --output=$NAME-register-values.yaml + nvcf-cli self-hosted compute-plane install \ + --values=$NAME-register-values.yaml \ + --kube-context=$CTX \ + --cluster-name=$NAME ``` - This is a separate subcommand from `up`. It runs only the compute-plane-relevant phases: 1 (compute-plane preflight), 5 (register), 6 (compute-plane apply), 8 (final health on the new compute plane). It does NOT touch the control plane and does NOT accept `--control-plane-context` — the control plane is reached over HTTPS at `--icms-url`. `--token` is required because there's no kubectl path to mint one from. + `compute-plane register` records the cluster's OIDC issuer and JWKS with + ICMS at `--icms-url` and writes the NVCA operator values. `compute-plane + install` installs the compute-plane stack with them. Neither touches the + control-plane cluster: ICMS is reached over HTTPS. `--token` passes the + admin JWT; without it the token `nvcf-cli init` stored is used. 4. Verify. `nvcf-cli self-hosted status --cluster-name=$NAME --json | jq`: expect `verdict: "healthy"`. The Registered Compute Planes panel from ICMS should now list the new cluster. @@ -59,7 +70,7 @@ User has a working NVCF control plane (running somewhere) and wants to register ## What if a cluster with the same name already exists? -`add-compute-plane`'s register phase uses `--ignore-existing` semantics — it'll match the existing ICMS row and reuse its clusterId. Two scenarios: +`compute-plane register` reuses an existing registration: it matches the ICMS row with the same name, reuses its clusterId and replaces its JWKS. Two scenarios: - **Re-registering the same cluster** (re-running on the same compute plane that was previously registered): expected, no-op semantics. - **Different physical cluster but same name**: the second attempt will reuse the ICMS row, but the new compute plane's JWKS will be silently *replaced* — the old compute plane's NVCA agent will start failing PSAT auth. **Confirm with the user** that they meant to overwrite. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md index 9d43b8f419..b62644d902 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md @@ -12,9 +12,10 @@ Full subcommand list. Always pair with [flags.md](flags.md) for global flags and | `self-hosted check --all [--wait DUR]` | Both of the above | streaming events on stderr | Gate on the `final` event; see [exit-codes.md](exit-codes.md) | | `self-hosted install --control-plane` | Render control-plane manifests | YAML on stdout | Pipe to `kubectl apply -f -` | | `self-hosted install --compute-plane --cluster-name=X` | Register cluster + render compute manifests | YAML on stdout | One invocation per GPU cluster | -| `self-hosted up --cluster-name=X` | One-shot first install (both planes) | (empty) stdout, progress on stderr | Always installs both planes; for compute-only use `add-compute-plane` | +| `self-hosted up --cluster-name=X` | One-shot first install (both planes) | (empty) stdout, progress on stderr | Always installs both planes; for compute-only use `compute-plane register` and `compute-plane install` | | `self-hosted up --plan-only --cluster-name=X` | Dry-run preview | JSONL on stderr | Agent-friendly, no cluster changes | -| `self-hosted add-compute-plane --cluster-name=X --compute-plane-context=Y --icms-url=URL --token=$JWT` | Add a compute plane to an existing control plane | progress on stderr | For 2nd, 3rd, … GPU cluster after the first install. CP not touched. | +| `self-hosted compute-plane register --control-plane-profile=P --cluster-name=X --kube-context=Y [--output=V]` | Register a compute cluster with an existing control plane and write its NVCA operator values | summary on stdout | For the 2nd, 3rd, ... GPU cluster after the first install. CP not touched | +| `self-hosted compute-plane install --values=V --kube-context=Y` | Install a compute plane from the values `compute-plane register` wrote | progress on stderr | Run after `compute-plane register` | | `self-hosted status [--cluster-name=X] [--watch]` | Snapshot cluster health | TTY/plain/JSONL | `--watch` for live re-render | | `self-hosted uninstall --compute-plane --cluster-name=X` | Per-plane primitive: `helmfile destroy` on one compute plane (no ICMS unregister, no drain) | progress | Just the helm releases on that compute plane | | `self-hosted uninstall --control-plane [--force-with-registered-clusters]` | Per-plane primitive: `helmfile destroy` on the control plane | progress | Refuses if compute planes still registered unless `--force-with-registered-clusters` | diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 89c6b2e44d..40ddf19264 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,20 +31,20 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjIzNzAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjQ4NzIsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + - "bWQiLAogICAgICAic2hhMjU2IjogIjg1MmQxY2U2MDE2MDNiOWQ2NGYzYWU4ZTc1MGM1ODA2M2I2" + - "M2QxMGNjNWQ1MTgxMmUzMWRmODM0YTg0NmI4MDIiLAogICAgICAic2l6ZSI6IDI1MzE0CiAgICB9" + + "bWQiLAogICAgICAic2hhMjU2IjogIjM2OGFmODc3YjBiOGYzNmNkYTgzZTgwN2RjM2Q3ZTFmZWUz" + + "Njc3NjIxZGVmNjMzMmJjMTI4ODI3MDc2YmZiOWQiLAogICAgICAic2l6ZSI6IDI1NzQ4CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNWMxOThmZTVkMGM1Mjc5ZGJkYWU4YzMx" + - "ZWNlNTE3YWQwZWFiODVkYzMyMmQ1ZDMyNjA4N2FjMzhlY2M0ODRjIiwKICAgICAgInNpemUiOiAz" + - "ODY5CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiMjQxODJlYmIzMTdiYWIx" + - "OWFkZTMzOTEwYjIyNTUzMDE2OWQyYTlmYjQ1NGU0NDZkNmZmNjY4OWJlZTU1Yjg0YSIsCiAgICAg" + - "ICJzaXplIjogMzI3MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjVi" + - "ZTEwODFmNWQyZTdkMjdjZmU5NjI2MzhiZWNhYzBkODE4MmM4NzViZWM5OTZkNzBlOTU3MDU1YWU1" + - "YjliNmEiLAogICAgICAic2l6ZSI6IDQwNDcKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3NThiNDc2NWVkOWJhNGY2ZDMwNGQ5MDAy" + + "ZWI3YjBmNmI2ODQwMGM1N2IyYWFhYjAzZDUzNWJhYzlmYzdjZWJiIiwKICAgICAgInNpemUiOiA0" + + "MjMxCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiYmEwZDYyOWJjYzMzNjU0" + + "NGVjOTRiNDU5NTNkMDA5YzZjN2JmZDI0ZDc5N2FkMzEyN2MzM2E0ZmZiYjBjYWQxNyIsCiAgICAg" + + "ICJzaXplIjogNDE2OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjFi" + + "OGFhNTNlM2IxNTgxYzUxZjY1NmViYjM0ZmFmZjVjZDA1NGZlNjQ4NWE4NDk2YzFjM2MzMjcyNjFk" + + "NzM4MmIiLAogICAgICAic2l6ZSI6IDQ1NzMKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -65,9 +65,9 @@ const skillDataZipBase64 = "" + "bi5tZCIsCiAgICAgICJzaGEyNTYiOiAiMWE2NmI5YTM3MmJmOTI3NjQzOTdjOWVmMzliNzNlNDZm" + "NzE2M2ExNTgyMzgzZjFkNGJiNDE4ZThjM2Q2M2QwMyIsCiAgICAgICJzaXplIjogODY3NgogICAg" + "fSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9j" + - "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiZTk0NGU3ZDljYWJhYWVjYzQyZWIzYWQ1NTZk" + - "MWM4M2ZhMDRmMTdiODhiZGQzZThhOWU4YTViMmM5Y2Y3ZTQzZiIsCiAgICAgICJzaXplIjogOTM5" + - "OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMzJlNmRlZjZmY2ZiZjExYmIwMjdiMTZiMWIy" + + "OTI2NzI3NGM0MTRlMjEyMTU5ODUwYTI3ZjJiMzY3MjMzNTg5OCIsCiAgICAgICJzaXplIjogOTY4" + + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCBV8xHxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJUUUBNKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -160,3937 +160,3981 @@ const skillDataZipBase64 = "" + "bmFtZT1uY3AtbG9jYWwgXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAt" + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + "aWNtcy5udmNmLmV4YW1wbGUuY29tCgojIEFkZCBhIG5ldyBjb21wdXRlIHBsYW5lIHRvIGFuIGV4" + - "aXN0aW5nIGNvbnRyb2wgcGxhbmUgKG5vIGt1YmVjdGwgYWNjZXNzIHRvIENQIG5lZWRlZDsKIyBy" + - "ZWFjaGVzIHRoZSBjb250cm9sIHBsYW5lIHZpYSB0aGUgcHVibGljIElDTVMgSFRUUFJvdXRlKToK" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgYWRkLWNvbXB1dGUtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1l" + - "PW5jcC1sb2NhbC0yIFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUyIFwKICAt" + - "LWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1J" + - "Tl9KV1QKCiMgVGVhciBkb3duIChhbHdheXMgcGxhbi1vbmx5IGZpcnN0KToKbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29u" + - "IHwganEKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwK" + - "CiMgUGVyLXBsYW5lIHVuaW5zdGFsbCAoR2l0T3BzOyBtaXJyb3JzIGBpbnN0YWxsYCk6Cm52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNs" + - "dXN0ZXItbmFtZT1uY3AtbG9jYWwgfCBrdWJlY3RsIGRlbGV0ZSAtZiAtCmBgYAoKPiAqKmB1cGAg" + - "dnMgYGFkZC1jb21wdXRlLXBsYW5lYC4qKiBgdXBgIGFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5l" + - "cyDigJQgdXNlIGl0IGZvciB0aGUgKmZpcnN0KiBpbnN0YWxsLiBgYWRkLWNvbXB1dGUtcGxhbmVg" + - "IGlzIHRoZSByaWdodCBzdWJjb21tYW5kIGFueSB0aW1lIHRoZSBjb250cm9sIHBsYW5lIGlzIGFs" + - "cmVhZHkgcnVubmluZyBhbmQgeW91IHdhbnQgdG8gYXR0YWNoIGFuIE50aCBjb21wdXRlIGNsdXN0" + - "ZXIuCj4KPiAqKmBkb3duYCBhbHdheXMgd2l0aCBgLS1wbGFuLW9ubHlgIGZpcnN0LioqIFNob3cg" + - "dGhlIHVzZXIgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IGJlZm9yZSBydW5u" + - "aW5nIGZvciByZWFsLgoKIyMgQXV0aGVudGljYXRpb24KCmBudmNmLWNsaWAgdXNlcyB0d28gY3Jl" + - "ZGVudGlhbHMuIEVhY2ggaXMgcmVzb2x2ZWQgaW5kZXBlbmRlbnRseSBpbiB0aGlzIG9yZGVyOgoK" + - "fCBQcmVjZWRlbmNlIHwgU291cmNlIHwKfC0tLXwtLS18CnwgMSAoaGlnaGVzdCkgfCBFbnZpcm9u" + - "bWVudCB2YXJpYWJsZSAoYE5WQ0ZfVE9LRU5gLCBgTlZDRl9BUElfS0VZYCkgfAp8IDIgfCBDb25m" + - "aWcgZmlsZSAoYH4vLm52Y2YtY2xpLnlhbWxgLCBrZXlzIGB0b2tlbmAgYW5kIGBhcGlfa2V5YCkg" + - "fAp8IDMgfCBTdGF0ZSBmaWxlIChgfi8ubnZjZi1jbGkuc3RhdGVgKSwgc2tpcHBlZCB3aGVuIHRo" + - "ZSBzdG9yZWQgdG9rZW4gaXMgZXhwaXJlZCB8Cgp8IEVudiB2YXIgfCBUb2tlbiB0eXBlIHwgVXNl" + - "ZCBieSB8CnwtLS18LS0tfC0tLXwKfCBgTlZDRl9UT0tFTmAgfCBBZG1pbiBKV1QgfCBgZnVuY3Rp" + - "b24gY3JlYXRlYCAvIGBkZXBsb3lgIC8gYHVwZGF0ZWAgLyBgZGVsZXRlYCwgY2x1c3RlciBtYW5h" + - "Z2VtZW50IChgY2x1c3RlciByZWdpc3RlcmAvYGxpc3QtcmVnaXN0ZXJlZGAvYHJvdGF0ZWAvYGRl" + - "bGV0ZWAsIGBzZWxmLWhvc3RlZGAgb3BzKS4gUmVxdWlyZWQgZm9yIGFkbWluIGNvbW1hbmRzOyBw" + - "cmVmZXJyZWQgZm9yIHRoZSByZXN0LiB8CnwgYE5WQ0ZfQVBJX0tFWWAgfCBgbnZhcGktLi4uYCBB" + - "UEkga2V5IHwgYGZ1bmN0aW9uIGludm9rZWAgLyBgbGlzdGAgLyBgZ2V0YCwgcXVldWUgZGV0YWls" + - "cy4gRmFsbHMgYmFjayB0byBgTlZDRl9UT0tFTmAgd2hlbiB1bnNldC4gfAoKVG9rZW4gZ2VuZXJh" + - "dGlvbiBmbG93OgoKMS4gUG9pbnQgdGhlIENMSSBhdCB5b3VyIHNlbGYtaG9zdGVkIGVuZHBvaW50" + - "cy4gRGVmYXVsdHMgdGFyZ2V0IHByb2R1Y3Rpb24gTlZDRjsgb3ZlcnJpZGUgd2l0aCBlbnYgdmFy" + - "cyBvciBhIHlhbWwgZmlsZSAoYC0tY29uZmlnIDxwYXRoPmAsIGAuLy5udmNmLWNsaS55YW1sYCwg" + - "b3IgYH4vLm52Y2YtY2xpLnlhbWxgOyBhIGZ1bGwgdGVtcGxhdGUgc2hpcHMgYXQgYHNyYy9jbGlz" + - "L252Y2YtY2xpLy5udmNmLWNsaS55YW1sLnRlbXBsYXRlYCkuCgogICBgTlZDRl9CQVNFX0hUVFBf" + - "VVJMYCAvIGBBUElfS0VZU19TRVJWSUNFX1VSTGAgLyBgTlZDRl9CQVNFX0dSUENfVVJMYCB0ZWxs" + - "IHRoZSBDTEkgKndoZXJlIHRvIHNlbmQgcmVxdWVzdHMqLiBgQVBJX0hPU1RgIC8gYEFQSV9LRVlT" + - "X0hPU1RgIC8gYElOVk9LRV9IT1NUYCBzZXQgdGhlIGBIb3N0OmAgaGVhZGVyIG9uIHRob3NlIHJl" + - "cXVlc3RzIOKAlCBuZWVkZWQgd2hlbiBldmVyeSBOVkNGIHNlcnZpY2Ugc2l0cyBiZWhpbmQgYSBz" + - "aW5nbGUgZ2F0ZXdheSB0aGF0IHJvdXRlcyBieSBob3N0bmFtZSAoRW52b3kgR2F0ZXdheSBIVFRQ" + - "Um91dGUgb24gYGFwaS48RUxCPmAsIGBhcGkta2V5cy48RUxCPmAsIGBpbnZvY2F0aW9uLjxFTEI+" + - "YCwgYGxsbS48RUxCPmApLiBTa2lwIHRoZSB0aHJlZSBIb3N0IHZhcnMgd2hlbiB0aGUgYmFzZSBV" + - "UkwgYWxyZWFkeSByZXNvbHZlcyB0byB0aGUgcmlnaHQgc2VydmljZS4KCiAgIEVudi12YXIgZm9y" + - "bToKCiAgIGBgYHNoCiAgIGV4cG9ydCBOVkNGX0JBU0VfSFRUUF9VUkw9aHR0cHM6Ly9ndy5leGFt" + - "cGxlLmNvbQogICBleHBvcnQgQVBJX0tFWVNfU0VSVklDRV9VUkw9aHR0cHM6Ly9ndy5leGFtcGxl" + - "LmNvbQogICBleHBvcnQgTlZDRl9CQVNFX0dSUENfVVJMPWd3LmV4YW1wbGUuY29tOjQ0MwoKICAg" + - "IyBPbmx5IHdoZW4gdGhlIGdhdGV3YXkgcm91dGVzIGJ5IEhvc3QgaGVhZGVyOgogICBleHBvcnQg" + - "QVBJX0tFWVNfSE9TVD1hcGkta2V5cy5ndy5leGFtcGxlLmNvbQogICBleHBvcnQgQVBJX0hPU1Q9" + - "YXBpLmd3LmV4YW1wbGUuY29tCiAgIGV4cG9ydCBJTlZPS0VfSE9TVD1pbnZvY2F0aW9uLmd3LmV4" + - "YW1wbGUuY29tCiAgIGBgYAoKICAgWWFtbCBmb3JtIChgfi8ubnZjZi1jbGkueWFtbGApOgoKICAg" + - "YGBgeWFtbAogICBiYXNlX2h0dHBfdXJsOiBodHRwczovL2d3LmV4YW1wbGUuY29tCiAgIGFwaV9r" + - "ZXlzX3NlcnZpY2VfdXJsOiBodHRwczovL2d3LmV4YW1wbGUuY29tCiAgIGJhc2VfZ3JwY191cmw6" + - "IGd3LmV4YW1wbGUuY29tOjQ0MwoKICAgIyBPbmx5IHdoZW4gdGhlIGdhdGV3YXkgcm91dGVzIGJ5" + - "IEhvc3QgaGVhZGVyOgogICBhcGlfa2V5c19ob3N0OiBhcGkta2V5cy5ndy5leGFtcGxlLmNvbQog" + - "ICBhcGlfaG9zdDogYXBpLmd3LmV4YW1wbGUuY29tCiAgIGludm9rZV9ob3N0OiBpbnZvY2F0aW9u" + - "Lmd3LmV4YW1wbGUuY29tCiAgIGBgYAoKMi4gYG52Y2YtY2xpIGluaXRgIGNhbGxzIHRoZSBBUEkg" + - "S2V5cyBzZXJ2aWNlIHZpYSB0aG9zZSBlbmRwb2ludHMgYW5kIHdyaXRlcyB0aGUgYWRtaW4gdG9r" + - "ZW4gdG8gYH4vLm52Y2YtY2xpLnN0YXRlYC4gVXNlIGBudmNmLWNsaSByZWZyZXNoYCB0byByb3Rh" + - "dGUgYSBzdG9yZWQgdG9rZW4uCjMuIEFmdGVyIGBpbml0YCwgYG52Y2YtY2xpIGFwaS1rZXkgZ2Vu" + - "ZXJhdGVgIG1pbnRzIGZ1bmN0aW9uICsgdGFzayBBUEkga2V5cyAoYWxzbyBzdG9yZWQgaW4gc3Rh" + - "dGUpLgoKQWZ0ZXIgYGluaXRgLCB0aGUgY3JlZGVudGlhbHMgbGl2ZSBpbiBgfi8ubnZjZi1jbGku" + - "c3RhdGVgLCBzbyBsYXRlciBjb21tYW5kcyB3b3JrIHdpdGhvdXQgZXhwb3J0aW5nIGBOVkNGX1RP" + - "S0VOYCBvciBgTlZDRl9BUElfS0VZYC4gRXhwb3J0IHRoZSBlbnYgdmFyIG9ubHkgdG8gb3ZlcnJp" + - "ZGUgdGhlIHN0b3JlZCB2YWx1ZSAoZm9yIGV4YW1wbGUgYSBzaG9ydGVyLWxpdmVkIHRva2VuIGZy" + - "b20gQ0kpLgoKIyMgQ29yZSBzdWJjb21tYW5kcwoKfCBTdWJjb21tYW5kIHwgV2hhdCBpdCBkb2Vz" + - "IHwgV2hlbiB0byB1c2UgfAp8LS0tfC0tLXwtLS18CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + - "ZWNrIC0tcHJlIFstLWxvY2FsLW9ubHkgXHwgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9WCAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD1ZXWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzLCBy" + - "ZWdpc3RyeSBjcmVkZW50aWFscywgYW5kIGNsdXN0ZXItc2lkZSBwcmVyZXF1aXNpdGVzIGZvciBi" + - "b3RoIHBsYW5lcy4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlciB8IEFsd2F5cyBy" + - "dW4gZmlyc3Qgb24gYSBuZXcgZW52aXJvbm1lbnQgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBp" + - "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBcfCBrdWJlY3RsIGFwcGx5IC1mIC1gIHwgUmVuZGVyICsg" + - "YXBwbHkgdGhlIGNvbnRyb2wgcGxhbmUgfCBXaGVuIHlvdSB3YW50IG1hbnVhbCBjb250cm9sIG92" + - "ZXIgYXBwbHkgKEdpdE9wcy1mcmllbmRseSkgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0" + - "YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFx8IGt1YmVjdGwgYXBwbHkgLWYg" + - "LWAgfCBSZWdpc3RlciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgcGxhbmUgfCBTYW1lIOKAlCBt" + - "YW51YWwgYXBwbHkgcGF0aCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1u" + - "YW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbDogcHJlLWZsaWdodCDihpIgY29udHJvbCBw" + - "bGFuZSDihpIgcmVnaXN0ZXIg4oaSIGNvbXB1dGUgcGxhbmUgfCBTdGFuZGFyZCBpbnN0YWxsIHBh" + - "dGggKGJvdGggcGxhbmVzIGZyb20gc2NyYXRjaCkgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1" + - "cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW46IGVtaXQgcGhhc2UtYnkt" + - "cGhhc2UgcGxhbiArIEVUQSB3aXRob3V0IGNoYW5naW5nIHN0YXRlIHwgQWdlbnQgLyBDSSBwcmV2" + - "aWV3IGJlZm9yZSBjb21taXQgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1w" + - "bGFuZSAtLWNsdXN0ZXItbmFtZT1YIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PVkgLS1pY21zLXVy" + - "bD3igKYgLS10b2tlbj0kSldUYCB8IEFkZCBhIG5ldyBjb21wdXRlIHBsYW5lIHRvIGFuICpleGlz" + - "dGluZyogY29udHJvbCBwbGFuZSAobm8gQ1AgaW5zdGFsbCkgfCBBZGRpbmcgdGhlIDJuZCwgM3Jk" + - "LCDigKYgR1BVIGNsdXN0ZXIgYWZ0ZXIgdGhlIGluaXRpYWwgYHVwYCB8CnwgYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUGVyLXBsYW5lIHByaW1pdGl2" + - "ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIChyZWZ1c2VzIGlmIGNv" + - "bXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQpIHwgRmluYWwgdGVhcmRvd24gYWZ0ZXIgYWxs" + - "IGNvbXB1dGUgcGxhbmVzIGFyZSBnb25lLCBvciBzY3JpcHRlZCBwaXBlbGluZXMgfAp8IGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1l" + - "PVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIGEgY29tcHV0" + - "ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBKdXN0IHJlbW92ZSB0aGUg" + - "aGVsbSByZWxlYXNlcyB3aXRob3V0IHRoZSBJQ01TLXNpZGUgY2xlYW51cCB8CnwgYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0" + - "ZSBZQU1MIHZpYSBgaGVsbSBnZXQgbWFuaWZlc3RgIHwgR2l0T3BzOyBgXHwga3ViZWN0bCBkZWxl" + - "dGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YYCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5z" + - "dGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBTdGFuZGFy" + - "ZCAicmVtb3ZlIG9uZSBHUFUgY2x1c3RlciIgcGF0aCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGRvd24gLS1hbGwgLS1jb25maXJtYCB8IE9yY2hlc3RyYXRvcjogdGVhciBkb3duIGV2ZXJ5IHJl" + - "Z2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wgcGxhbmUgfCBGdWxsIHVuaW5zdGFsbCB8" + - "CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9" + - "WGAgfCBEcnktcnVuIHByZXZpZXcgKHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3Mg" + - "KyBFVEFzOyBubyBoZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgKipBTFdBWVMgcnVuIGJlZm9yZSBh" + - "bnkgYWN0dWFsIGBkb3duYCoqIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNs" + - "dXN0ZXItbmFtZT1YXSBbLS13YXRjaF0gWy0tanNvbl1gIHwgU25hcHNob3QgZGFzaGJvYXJkIG9m" + - "IGNsdXN0ZXIgaWRlbnRpdHkgKyBjb21wb25lbnQgaGVhbHRoICsgcmVjZW50IGV2ZW50cyB8IFJv" + - "dXRpbmUgaGVhbHRoIGNoZWNrczsgYC0td2F0Y2hgIGZvciBsaXZlIHwKfCBgbnZjZi1jbGkgaW5p" + - "dGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtleXMgc2VydmljZSB2aWEgdGhlIHB1Ymxp" + - "YyBhcGkgZ2F0ZXdheSB8IEJlZm9yZSBhbnkgY2x1c3Rlci1tYW5hZ2VtZW50IG9wZXJhdGlvbjsg" + - "aWRlbXBvdGVudCB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVggLS1uY2Et" + - "aWQ9WSAtLXJlZ2lvbj1aIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIgYSBjbHVzdGVy" + - "IEpXS1MrT0lEQyBpc3N1ZXIgd2l0aCBJQ01TIHwgU3RhbmRhbG9uZSByZWdpc3RlciAod2l0aG91" + - "dCBjb21wdXRlLXBsYW5lIGluc3RhbGwpIHwKfCBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lz" + - "dGVyZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1" + - "c3RlciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IENoZWNrIHJlZ2lzdGVyZWQgY29tcHV0ZS1w" + - "bGFuZSBuYW1lcyBhbmQgSURzIHdpdGggdGhlIGFkbWluIHRva2VuIHwKfCBgbnZjZi1jbGkgY2x1" + - "c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJvdGF0ZSBjbHVzdGVyIEpXS1MgaW4gSUNN" + - "UyB8IFdoZW4gTlZDQSdzIEs4cyBzaWduaW5nIGtleSBjaGFuZ2VkIGFuZCBQU0FUIHZlcmlmaWNh" + - "dGlvbiBzdGFydGVkIDQwMS1pbmcgfAp8IGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0" + - "ZXItaWQ9SURgIHwgUmVtb3ZlIGNsdXN0ZXIgcmVnaXN0cmF0aW9uIGZyb20gSUNNUyB8ICoqQ29u" + - "ZmlybSB3aXRoIHVzZXIuKiogRGVzdHJveXMgSUNNUyBzdGF0ZSBmb3IgdGhlIGNsdXN0ZXIuIHwK" + - "fCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSLigKYiIC0tZXhwaXJl" + - "cy1pbj0xaGAgfCBNaW50IGJvdGggYSBmdW5jdGlvbiBBUEkga2V5IGFuZCBhIHRhc2sgQVBJIGtl" + - "eSAoZGVmYXVsdCkgfCBCZWZvcmUgaW52b2tpbmcgZnVuY3Rpb25zIG9yIGNyZWF0aW5nIHRhc2tz" + - "OyBydW4gYWZ0ZXIgZXZlcnkgYGluaXRgIHwKfCBgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAt" + - "LWZvciBmdW5jdGlvbiAtLWRlc2NyaXB0aW9uPSLigKYiYCB8IE1pbnQgYSBmdW5jdGlvbiBBUEkg" + - "a2V5IG9ubHkgKGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlKSB8IFdoZW4gb25seSBmdW5jdGlvbiBp" + - "bnZvY2F0aW9uIGlzIG5lZWRlZCB8CnwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3Ig" + - "dGFzayAtLWRlc2NyaXB0aW9uPSLigKYiYCB8IE1pbnQgYSB0YXNrIEFQSSBrZXkgb25seSB8IFdo" + - "ZW4gb25seSB0YXNrIG9wZXJhdGlvbnMgYXJlIG5lZWRlZCB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9u" + - "IGNyZWF0ZSAtLWlucHV0LWZpbGU9PGpzb24+YCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0YSBp" + - "biBJQ01TIHwgRmlyc3Qgc3RlcCBvZiBhbnkgZnVuY3Rpb24gZGVwbG95OyB1c2UgYGZ1bmN0aW9u" + - "VHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmb3IgTExNIGZ1bmN0aW9ucyB8" + - "CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPTxqc29uPmAg" + - "fCBTY2hlZHVsZSBhIGRlcGxveW1lbnQgb2YgYSBjcmVhdGVkIGZ1bmN0aW9uIHwgV2FpdHMgZm9y" + - "IEFDVElWRSBiZWZvcmUgcmV0dXJuaW5nICh0aW1lb3V0IDkwMHMpIHwKfCBgbnZjZi1jbGkgZnVu" + - "Y3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgSW52b2tlIGEgZGVwbG95ZWQgZnVu" + - "Y3Rpb24gfCBSZXF1aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pIHwKfCBgbnZjZi1jbGkg" + - "ZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1v" + - "dmUgYSBmdW5jdGlvbiBhbmQgaXRzIGRlcGxveW1lbnQgfCAqKkNvbmZpcm0gd2l0aCB1c2VyLioq" + - "IHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEwMCAtLWluc3RhbmNl" + - "LXR5cGU9WSAtLWltYWdlPVpgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2s7IHNhdmVzIHRhc2sg" + - "SUQgdG8gQ0xJIHN0YXRlIHwgUmVxdWlyZXMgdGFzayBBUEkga2V5OyBzZXQgYE5WQ0ZfQkFTRV9O" + - "VkNUX1VSTGAgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludCB8CnwgYG52Y2YtY2xpIHRhc2sg" + - "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1oZWxtLWNoYXJ0" + - "PVpgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgU2FtZSBhcyBjb250YWluZXIgdGFzazsgYC0taGVs" + - "bS1jaGFydGAgcmVwbGFjZXMgYC0taW1hZ2VgIHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1p" + - "bnB1dC1maWxlPTxqc29uPmAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxl" + - "IHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGBudmNmLWNs" + - "aSB0YXNrIGxpc3QgWy0tc3RhdHVzPVFVRVVFRFx8UlVOTklOR1x8Q09NUExFVEVEXWAgfCBMaXN0" + - "IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IHwKfCBgbnZjZi1jbGkgdGFz" + - "ayBnZXQgW3Rhc2tJZF1gIHwgR2V0IGRldGFpbHMgZm9yIGEgdGFzazsgdXNlcyBzYXZlZCB0YXNr" + - "IElEIGlmIG9taXR0ZWQgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZXZlbnRzIFt0YXNrSWRdYCB8IFN0" + - "cmVhbSBsaWZlY3ljbGUgZXZlbnRzIGZvciBhIHRhc2sgfCB8CnwgYG52Y2YtY2xpIHRhc2sgcmVz" + - "dWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBhcnRpZmFjdHMgZm9yIGEgY29tcGxldGVkIHRh" + - "c2sgfCBSZXN1bHQgdXBsb2FkIG5vdCB5ZXQgc3VwcG9ydGVkOyByZXR1cm5zIGVtcHR5IGxpc3Qg" + - "Zm9yIGBOT05FYCBzdHJhdGVneSB8CnwgYG52Y2YtY2xpIHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8" + - "IENhbmNlbCBhIHF1ZXVlZCBvciBydW5uaW5nIHRhc2sgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZGVs" + - "ZXRlIFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipDb25maXJtIHdpdGggdXNl" + - "ci4qKiB8CnwgYG52Y2YtY2xpIHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRz" + - "IE5BTUU9dmFsdWVgIHwgVXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRz" + - "IGFyZSBhZGRlZCBvciB1cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRo" + - "ZSByZXF1ZXN0IGFyZSBwcmVzZXJ2ZWQgfCB8CnwgYG52Y2YtY2xpIHRhc2sgYnVsayAtLXRhc2st" + - "aWRzPUlEMSxJRDJgIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3MgaW4gb25lIGNh" + - "bGwgfCB8Cgo+IFJlZ2lzdHJ5IGNyZWRlbnRpYWwgcHJvcGFnYXRpb246IGFmdGVyIGByZWdpc3Ry" + - "eS1jcmVkZW50aWFsIGFkZGAvYHVwZGF0ZWAvYGRlbGV0ZWAsIHRhc2sgY3JlYXRpb24gY2FuIGtl" + - "ZXAgdXNpbmcgdGhlIHByZXZpb3VzIGNyZWRlbnRpYWwgZm9yIHVwIHRvIGFib3V0IDUgbWludXRl" + - "cyAoTlZDVCBjYWNoZXMgYWNjb3VudCBjcmVkZW50aWFscyBhdCBgbnZjdC5udmNmLmNhY2hlLXR0" + - "bGAsIGRlZmF1bHQgYFBUNU1gKSwgZXZlbiB0aG91Z2ggYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlz" + - "dGAvYGdldGAgc2hvdyB0aGUgbmV3IHZhbHVlIGltbWVkaWF0ZWx5LiBXYWl0IGFib3V0IDUgbWlu" + - "dXRlcywgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0" + - "LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkuIFNlZSBbcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGlu" + - "Zy5tZF0ocmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCkuCgojIyBMTE0gZnVuY3Rpb24gdHlw" + - "ZQoKVXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBmb3IgT3BlbkFJLWNvbXBhdGlibGUgbW9kZWxz" + - "IHNlcnZlZCB0aHJvdWdoIHRoZSBzZWxmLW1hbmFnZWQgTExNIEdhdGV3YXkuIExMTSBmdW5jdGlv" + - "bnMgbXVzdCBkZWZpbmUgYXQgbGVhc3Qgb25lIGBtb2RlbHNbXWAgZW50cnkgd2l0aCBgbmFtZWAg" + - "YW5kIGBsbG1Db25maWcudXJpc2A7IHRoZSBzdXBwb3J0ZWQgdXBzdHJlYW0gcGF0aHMgYXJlIGAv" + - "djEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5n" + - "c2AuCgpVc2UgYC9oZWFsdGhgIG9uIHBvcnQgYDgwMDBgIGFzIHRoZSBkZWZhdWx0IE9wZW5BSS1j" + - "b21wYXRpYmxlIGNvbnRhaW5lciBoZWFsdGggcHJvYmUgdW5sZXNzIHRoZSBpbWFnZSBleHBvc2Vz" + - "IGEgZGlmZmVyZW50IHJlYWRpbmVzcyBwYXRoLgoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBl" + - "bmRlbnQgb2Ygd29ya2xvYWQgcGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0g" + - "ZnVuY3Rpb24sIGtlZXAgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29u" + - "ZmlnYCwgdGhlbiBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAgaW4g" + - "dGhlIGNyZWF0ZSByZXF1ZXN0LiBgaGVsbUNoYXJ0U2VydmljZU5hbWVgIG11c3QgbWF0Y2ggdGhl" + - "IEt1YmVybmV0ZXMgU2VydmljZSBleHBvc2VkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQ" + - "b3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKSW52b2NhdGlvbiB1c2VzIHRoZSBMTE0g" + - "cm91dGUsIGZvciBleGFtcGxlIGBodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2No" + - "YXQvY29tcGxldGlvbnNgLiBUaGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUgbXVzdCBiZSBgPGZ1bmN0" + - "aW9uLWlkPi88bW9kZWwtbmFtZT5gOyB0aGUgZnVuY3Rpb24gSUQgaXMgdGhlIHJvdXRpbmcga2V5" + - "IGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uCgpVcGRhdGUgbXV0YWJs" + - "ZSBwZXItbW9kZWwgcm91dGluZyBzZXR0aW5ncyB3aXRoIGBudmNmLWNsaSBmdW5jdGlvbiB1cGRh" + - "dGUgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9k" + - "Pix0b2tlblJhdGVMaW1pdD08bGltaXQ+J2AsIG9yIHB1dCB0aGUgc2FtZSBmaWVsZHMgdW5kZXIg" + - "YG1vZGVsVXBkYXRlc1tdLmxsbUNvbmZpZ2AgaW4gYW4gdXBkYXRlIEpTT04gZmlsZS4gU2VlIFty" + - "ZWZlcmVuY2UvZmxhZ3MubWRdKHJlZmVyZW5jZS9mbGFncy5tZCkgZm9yIGFjY2VwdGVkIHJvdXRp" + - "bmcgbWV0aG9kcy4gYHRva2VuUmF0ZUxpbWl0YCBzdXBwb3J0cyBwb3NpdGl2ZSBpbnRlZ2VyIGxp" + - "bWl0cyBmb3IgYFNgLCBgTWAsIGBIYCwgYERgLCBhbmQgYFdgOyB1c2UgSlNPTiBpbnB1dCBmb3Ig" + - "Y29tYmluZWQgbGltaXRzIHN1Y2ggYXMgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQs" + - "MTAwMDAwMC1XYC4gRG8gbm90IGluY2x1ZGUgYHVyaXNgIGluIG1vZGVsIHVwZGF0ZXMuCgpGb3Ig" + - "YC92MS9yZXNwb25zZXNgLCB0aGUgZ2F0ZXdheSBwcm94aWVzIHRoZSBuYXRpdmUgUmVzcG9uc2Vz" + - "IHBhdGggdXBzdHJlYW0sIHJlbGF5cyBTU0UgdG8gc3RyZWFtaW5nIGNsaWVudHMsIGFuZCBhZ2dy" + - "ZWdhdGVzIHRoZSB0ZXJtaW5hbCBKU09OIHJlc3BvbnNlIGZvciBub24tc3RyZWFtaW5nIGNsaWVu" + - "dHMuIEZvciBgL3YxL2VtYmVkZGluZ3NgLCBpbnB1dCBtYXkgYmUgYSBzdHJpbmcgb3Igc3RyaW5n" + - "IGFycmF5LCBtdXN0IGJlIG5vbi1lbXB0eSwgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBl" + - "bnRyaWVzLgoKU2Vzc2lvbiBzdGlja2luZXNzIHVzZXMgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlk" + - "YCBmb3IgY2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBvbmx5LiBF" + - "bWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdCB1c2Ugc3RpY2tpbmVzcy4KCiMjIENvbW1vbiB3b3Jr" + - "Zmxvd3MKCkZvciBzdGVwLWJ5LXN0ZXAgcGxheWJvb2tzLCBsb2FkIHRoZSBwcm9tcHQgdGhhdCBt" + - "YXRjaGVzIHRoZSB1c2VyJ3MgaW50ZW50OgoKLSAqKkluc3RhbGwgZnJvbSBzY3JhdGNoLioqIFtw" + - "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kXShwcm9tcHRzL2luc3RhbGwtZnJvbS1zY3Jh" + - "dGNoLm1kKSDigJQgazNkIGNsdXN0ZXIg4oaSIHByZWZsaWdodCDihpIgdXAg4oaSIGRlcGxveSBh" + - "IHNtb2tlIGZ1bmN0aW9uLgotICoqQWRkIGEgbmV3IGNvbXB1dGUgcGxhbmUuKiogW3Byb21wdHMv" + - "YWRkLWNvbXB1dGUtcGxhbmUubWRdKHByb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQpIOKAlCBz" + - "cGxpdC1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lLgotICoq" + - "RGVwbG95IGFuZCBpbnZva2UgYSBmdW5jdGlvbi4qKiBbcHJvbXB0cy9kZXBsb3ktYW5kLWludm9r" + - "ZS5tZF0ocHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZCkg4oCUIGNyZWF0ZSDihpIgZGVwbG95" + - "IOKGkiBBUEkga2V5IOKGkiBpbnZva2UsIGluY2x1ZGluZyB0aGUgTExNIGNyZWF0ZS9pbnZva2Ug" + - "dmFyaWFudC4KLSAqKkRpYWdub3NlIGEgZmFpbGVkIGluc3RhbGwuKiogW3Byb21wdHMvZGlhZ25v" + - "c2UtZmFpbGVkLWluc3RhbGwubWRdKHByb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQp" + - "IOKAlCBgc3RhdHVzIC0tanNvbmAg4oaSIGlkZW50aWZ5IGZhaWxlZCBjb21wb25lbnQg4oaSIGt1" + - "YmVjdGwgZGVzY3JpYmUg4oaSIHJlbWVkaWF0aW9uLgotICoqUm90YXRlIEpXS1MuKiogW3Byb21w" + - "dHMvcm90YXRlLWNsdXN0ZXItandrcy5tZF0ocHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1k" + - "KSDigJQgd2hlbiBQU0FUIGF1dGggc3RhcnRzIGZhaWxpbmcuCi0gKipUZWFyIGRvd24uKiogW3By" + - "b21wdHMvdGVhcmRvd24ubWRdKHByb21wdHMvdGVhcmRvd24ubWQpIOKAlCBgZG93biAtLXBsYW4t" + - "b25seWAgZmlyc3QsIHRoZW4gcmVhbCBydW4uIGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIGZvciBv" + - "bmUgY29tcHV0ZSBwbGFuZSAob3JjaGVzdHJhdG9yOiBkcmFpbiArIHVuaW5zdGFsbCArIGNsdXN0" + - "ZXIgZGVsZXRlKTsgYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIGZvciB0aGUgY29udHJvbCBw" + - "bGFuZSAocGVyLXBsYW5lIHByaW1pdGl2ZSk7IGBkb3duIC0tYWxsIC0tY29uZmlybWAgZm9yIGV2" + - "ZXJ5dGhpbmc7IGB1bmluc3RhbGwgLS1uby1hcHBseSA8cGxhbmU+IHwga3ViZWN0bCBkZWxldGUg" + - "LWYgLWAgZm9yIEdpdE9wcy4KLSAqKkNyZWF0ZSBhbmQgcnVuIGEgdGFzay4qKiBbcHJvbXB0cy9j" + - "cmVhdGUtYW5kLXJ1bi10YXNrLm1kXShwcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQpIOKA" + - "lCBtaW50IEFQSSBrZXlzIOKGkiB0YXNrIGNyZWF0ZSAoY29udGFpbmVyIG9yIEhlbG0pIOKGkiBt" + - "b25pdG9yIHdpdGggYHRhc2sgZ2V0YCAvIGB0YXNrIGV2ZW50c2Ag4oaSIHJldHJpZXZlIHJlc3Vs" + - "dHMg4oaSIGNsZWFudXAuCgojIyBSZWZlcmVuY2UKCi0gW3JlZmVyZW5jZS9jb21tYW5kcy5tZF0o" + - "cmVmZXJlbmNlL2NvbW1hbmRzLm1kKSDigJQgZnVsbCBzdWJjb21tYW5kIGNoZWF0IHNoZWV0Ci0g" + - "W3JlZmVyZW5jZS9mbGFncy5tZF0ocmVmZXJlbmNlL2ZsYWdzLm1kKSDigJQgZ2xvYmFsICsgcGVy" + - "LWNvbW1hbmQgZmxhZ3MKLSBbcmVmZXJlbmNlL2V4aXQtY29kZXMubWRdKHJlZmVyZW5jZS9leGl0" + - "LWNvZGVzLm1kKSDigJQgd2hhdCBlYWNoIG5vbi16ZXJvIGV4aXQgbWVhbnMKLSBbcmVmZXJlbmNl" + - "L3Ryb3VibGVzaG9vdGluZy5tZF0ocmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZCkg4oCUIGtu" + - "b3duIGVycm9ycyDihpIgcmVtZWRpYXRpb24gdGFibGUKCiMjIFNhZmV0eSBydWxlcyDigJQgQ1JJ" + - "VElDQUwKCioqTkVWRVIgZG8gdGhlc2Ugd2l0aG91dCBleHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlv" + - "bjoqKgoKLSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgb3IgYHVuaW5zdGFsbGAgaW4gYW55" + - "IGZvcm0g4oCUIGRlc3RydWN0aXZlLiAqKkFMV0FZUyBydW4gd2l0aCBgLS1wbGFuLW9ubHlgIChg" + - "ZG93bmApIG9yIGAtLW5vLWFwcGx5YCAoYHVuaW5zdGFsbGApIGZpcnN0KiogYW5kIHNob3cgdGhl" + - "IHVzZXIgd2hhdCB3b3VsZCBoYXBwZW4uIFN0YXRlIHdoaWNoIGNvbXB1dGUgcGxhbmUocykgYW5k" + - "IHdoZXRoZXIgcGVyc2lzdGVudCBzdGF0ZSB3b3VsZCBiZSB3aXBlZC4KLSBgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgZG93biAtLXJlbW92ZS1wZXJzaXN0ZW50YCAob3IgYHVuaW5zdGFsbCAtLXJlbW92" + - "ZS1wZXJzaXN0ZW50YCkg4oCUIGRlbGV0ZXMgQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBr" + - "ZXlzLCBzci1kZWZhdWx0IHVzZXIgZGF0YS4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKiogQ29u" + - "ZmlybSBleHBsaWNpdGx5IHRoYXQgdGhpcyBpcyB3aGF0IHRoZSB1c2VyIHdhbnRzLgotIGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lIC0tZm9yY2Utd2l0aC1y" + - "ZWdpc3RlcmVkLWNsdXN0ZXJzYCDigJQgb3JwaGFucyBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUg" + - "cGxhbmUgKFBTQVQgYXV0aCBicmVha3MgaW1tZWRpYXRlbHkpLiBTdGF0ZSB0aGUgY29uc2VxdWVu" + - "Y2UgYmVmb3JlIHBhc3NpbmcgdGhpcyBmbGFnLgotIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "IC0tYWxsYCBudWtlcyBldmVyeXRoaW5nLiBBbHdheXMgc2hvdyB0aGUgcmVnaXN0ZXJlZCBjbHVz" + - "dGVycyAoYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPTxuY2EtaWQ+" + - "YCkgYW5kIGdldCBjb25maXJtYXRpb24uCi0gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCDigJQg" + - "cmVtb3ZlcyB0aGUgY2x1c3RlcidzIElDTVMgcmVnaXN0cmF0aW9uOyB0aGUgY29tcHV0ZSBwbGFu" + - "ZSBpbW1lZGlhdGVseSBzdG9wcyBiZWluZyBhYmxlIHRvIGF1dGhlbnRpY2F0ZS4KLSBgbnZjZi1j" + - "bGkgZnVuY3Rpb24gZGVsZXRlYCDigJQgcmVtb3ZlcyBhIGZ1bmN0aW9uIGFuZCBhbnkgYWN0aXZl" + - "IGRlcGxveW1lbnQuCi0gYG52Y2YtY2xpIHRhc2sgZGVsZXRlYCDigJQgcGVybWFuZW50bHkgcmVt" + - "b3ZlcyB0aGUgdGFzayByZWNvcmQuIFN0b3AsIHN0YXRlIHRoZSB0YXNrIElEIGFuZCBjdXJyZW50" + - "IHN0YXR1cywgdGhlbiB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSB0aGF0IGV4cGxp" + - "Y2l0bHkgY29uZmlybXMgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrIGJlZm9yZSBydW5u" + - "aW5nIHRoaXMgY29tbWFuZC4gRG8gbm90IHRyZWF0IHRoZSB1c2VyJ3Mgb3JpZ2luYWwgZGVsZXRl" + - "IHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLgotIEFueSByYXcgYGhlbG0gdW5pbnN0YWxsYCBvciBg" + - "a3ViZWN0bCBkZWxldGUgcHZjL3B2YCDigJQgYWZmZWN0cyBwZXJzaXN0ZW50IHN0YXRlLiBQcmVm" + - "ZXIgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIChvcmNoZXN0cmF0b3IpIG9yIGB1bmluc3Rh" + - "bGxgIChwZXItcGxhbmUpIHdoaWNoIGhhbmRsZSB0aGlzIHNhZmVseS4KLSBBbnkgYC0tZm9yY2Vg" + - "IGZsYWcgKGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AsIGAtLWNvbmZpcm1gIGlu" + - "IG5vbi1pbnRlcmFjdGl2ZSBjb250ZXh0cykuCgoqKkFMV0FZUyBkbyB0aGVzZToqKgoKLSBSdW4g" + - "YG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1c2AgYmVmb3JlIGFzc3VtaW5nIGEgY2x1c3RlciBl" + - "eGlzdHMgLyBpcyBoZWFsdGh5LgotIFNob3cgdGhlIHBsYW5uZWQgYWN0aW9uIChjbHVzdGVyIG5h" + - "bWUsIGZ1bmN0aW9uIG5hbWUsIEdQVSB0eXBlLCBjb3N0IGlmIGtub3duKSBiZWZvcmUgY3JlYXRp" + - "bmcuCi0gQmVmb3JlIGNyZWF0aW5nIG9yIGRlcGxveWluZyBhIGNvbnRhaW5lciBvciBMTE0gZnVu" + - "Y3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUgYW5kIGNvbnRhaW5lciBpbWFn" + - "ZSB3aXRoIHRoZSB1c2VyLiBGb3IgTExNIGZ1bmN0aW9ucywgYWxzbyBjb25maXJtIHRoZSBleGFj" + - "dCBtb2RlbCBuYW1lIHVzZWQgaW4gYG1vZGVsc1tdLm5hbWVgIGFuZCBPcGVuQUkgYG1vZGVsOiAi" + - "PGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gSWYgYW55IHZhbHVlIGlzIG1pc3NpbmcsIGFz" + - "ayB0aGUgdXNlciBpbnN0ZWFkIG9mIGd1ZXNzaW5nIG9yIHN1Ym1pdHRpbmcgZXhhbXBsZSBwbGFj" + - "ZWhvbGRlcnMuCi0gQ29uZmlybSBleGFjdCByZXNvdXJjZSBuYW1lcyBiZWZvcmUgZGVsZXRpb24u" + - "IE1hdGNoIGFnYWluc3QgYGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkYCAvIGBmdW5jdGlvbiBsaXN0" + - "YCBvdXRwdXQuCi0gSW4gQ0kgLyBub24taW50ZXJhY3RpdmUgY29udGV4dHMsIHVzZSBgLS1ub24t" + - "aW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYC4gTmV2ZXIgcHJvcG9zZSBpbnRlcmFjdGl2ZSBgbnZj" + - "Zi1jbGkgaW5pdGAgd2hlbiBgJENJYCBpcyBzZXQuCgoqKk5FVkVSIHBhc3RlIHRoZXNlIGludG8g" + - "Y2hhdCAvIGxvZ3MgLyBmZWVkYmFjazoqKgoKLSBBZG1pbiB0b2tlbnMgKGZ1bGwgSldUKS4gU2hv" + - "dyB0aGUgZmlyc3QgOCBjaGFycyArIGAuLi5gIGlmIHlvdSBtdXN0IHJlZmVyZW5jZSBvbmUuCi0g" + - "QVBJIGtleXMgKGBudmFwaS3igKZgKS4KLSBDb250ZW50cyBvZiBgfi8ubnZjZi1jbGkuc3RhdGVg" + - "IG9yIGFueSBrdWJlY29uZmlnLgotIEFueSBkYXRhIG1hcmtlZCBzZWNyZXQgaW4gaGVsbWZpbGUg" + - "dmFsdWVzLgoKPiBOb3RlIChvbmx5IHdoZW4gb3BlcmF0aW5nIG1vcmUgdGhhbiBvbmUgY2x1c3Rl" + - "ciBmcm9tIHRoZSBzYW1lIG1hY2hpbmUpOiB0aGUgQ0xJJ3MgZGVmYXVsdAo+IGNvbmZpZyAoYH4v" + - "Lm52Y2YtY2xpLnlhbWxgKSBhbmQgc3RhdGUgKGB+Ly5udmNmLWNsaS5zdGF0ZWApIGFyZSBhIHNp" + - "bmdsZSBzaGFyZWQgc2xvdCwgbm90Cj4gcGVyLWNsdXN0ZXIuIFdpdGggYSBzaW5nbGUgY29udHJv" + - "bCBwbGFuZSAodGhlIGNvbW1vbiBjYXNlKSB0aGlzIG5lZWRzIG5vIGF0dGVudGlvbi4gSWYgeW91" + - "Cj4gbWFuYWdlIG11bHRpcGxlIGNsdXN0ZXJzLCBwYXNzIGAtLWNvbmZpZyA8Y2x1c3Rlcj4ueWFt" + - "bGAgb24gZXZlcnkgY29tbWFuZCAob3Iga2VlcCBhCj4gZGVsaWJlcmF0ZWx5LXN3aXRjaGVkIHBl" + - "ci1jbHVzdGVyIGRlZmF1bHQpOiB3aXRoIG5vIGAtLWNvbmZpZ2AsIGNvbW1hbmRzIHRhcmdldCB3" + - "aGljaGV2ZXIKPiBjbHVzdGVyIHdhcyBsYXN0IGBpbml0YCdkLCBhbmQgYGluaXRgIC8gYGFwaS1r" + - "ZXkgZ2VuZXJhdGVgIG11dGF0ZSB0aGF0IHNoYXJlZCBkZWZhdWx0LCBzbyBhbgo+IHVuc2NvcGVk" + - "IGBhcGkta2V5IGdlbmVyYXRlYCBjYW4gbWludCBvciBzdXJmYWNlIGtleXMgYWdhaW5zdCB0aGUg" + - "d3JvbmcgY2x1c3Rlci4KCiMjIE91dHB1dCBtb2RlcyAoZm9yIGFnZW50IHBpcGluZykKCmBudmNm" + - "LWNsaWAgc3ViY29tbWFuZHMgdGhhdCBsb25nLXJ1biAoYHVwYCwgYHN0YXR1c2AsIGBjaGVja2Ap" + - "IGFjY2VwdCBmb3VyIG91dHB1dCBtb2RlczoKCi0gYC0tanNvbmA6IEpTT05MIGV2ZW50cyBvbiBz" + - "dGRlcnIsIG9uZSBldmVudCBwZXIgbGluZSwgc3RhYmxlIHNjaGVtYSAoYHNjaGVtYVZlcnNpb246" + - "IDFgKS4gVXNlIHRoaXMgd2hlbiBydW5uaW5nIHVuZGVyIGFuIGFnZW50LiBSZWRpcmVjdCBzdGRl" + - "cnIgdG8gdGhlIHBhcnNlciAoYDI+JjEgPi9kZXYvbnVsbGApLCBrZWVwIG9ubHkgbGluZXMgdGhh" + - "dCBzdGFydCB3aXRoIGB7YCwgYW5kIHBhcnNlIGxpbmUtYnktbGluZSB3aXRoIGBqcSAtYyAuYCBv" + - "ciBganNvbi5sb2FkcygpYC4KLSBgLS1wbGFpbmA6IHBsYWluIHRpbWVzdGFtcGVkIGxpbmVzLCBS" + - "RkMzMzM5IFVUQywgYFtOTi84XWAgcGhhc2UgcHJlZml4OyBncmVwLWZyaWVuZGx5LiBEZWZhdWx0" + - "IGluIG5vbi1UVFkuCi0gYC0tYWNjZXNzaWJsZWA6IHBsYWluIG91dHB1dCB3aXRob3V0IHNwaW5u" + - "ZXJzLCB3aXRoIHZlcmJvc2Ugc3RhdGUgbWFya2VycyAoYFtjb21wbGV0ZWRdYCwgYFtydW5uaW5n" + - "XWAsIGBbcGVuZGluZ11gLCBgW2ZhaWxlZF1gKS4gRm9yIHNjcmVlbiByZWFkZXJzIGFuZCBjb25z" + - "dHJhaW5lZCB0ZXJtaW5hbHMuCi0gKG5vIGZsYWcpOiBCdWJibGV0ZWEgVFRZIGRhc2hib2FyZC4g" + - "RGVmYXVsdCBpbiBhIFRUWSBvZiBhdCBsZWFzdCAxMDB4MzAuIERvbid0IHVzZSB1bmRlciBhbiBh" + - "Z2VudCAoY3Vyc29yLXVwIHNlcXVlbmNlcyBhcmUgbm9pc3kpLgoKQXV0by1kZXRlY3QgcGlja3Mg" + - "dGhlIHJpZ2h0IG1vZGUgZm9yIHdoYXRldmVyIHN0ZG91dC9zdGRlcnIgaXMuIFRoZSBDTEkgYWxz" + - "byBob25vcnMgYE5PX0NPTE9SYCAoYW55IHZhbHVlIOKGkiBmb3JjZXMgcGxhaW4pLCBgVEVSTT1k" + - "dW1iYCAoZm9yY2VzIHBsYWluKSwgYW5kIGBDST10cnV0aHlgIChmb3JjZXMgcGxhaW4gZXZlbiBv" + - "biBhIGZha2UgVFRZKS4gV2hlbiB0aGUgdGVybWluYWwgaXMgc21hbGxlciB0aGFuIDEwMMOXMzAs" + - "IHRoZSBidWJibGV0ZWEgcmVuZGVyZXIgZmFsbHMgYmFjayB0byBhIGNvbXBhY3QgbGF5b3V0LiBF" + - "eHBsaWNpdCBgLS1qc29uYCBpcyB0aGUgcmlnaHQgY2FsbCBmb3IgYWdlbnQgcGlwaW5nLgoKIyMg" + - "T24gZmFpbHVyZQoKYGNoZWNrYCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYC4gSXQgZW5kcyB3" + - "aXRoIG9uZSBgZmluYWxgIGV2ZW50OiBnYXRlIG9uCmBzdWNjZXNzYCwgYW5kIHRyZWF0IGEgbWlz" + - "c2luZyBgZmluYWxgIGV2ZW50IGFzIGEgZmFpbHVyZS4gU2VlCltleGFtcGxlcy9jaS1waXBlbGlu" + - "ZXMubWRdKGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZCkgYW5kCltyZWZlcmVuY2UvZXhpdC1jb2Rl" + - "cy5tZF0ocmVmZXJlbmNlL2V4aXQtY29kZXMubWQpLgoKT3RoZXIgYG52Y2YtY2xpYCBmYWlsdXJl" + - "cyBlbWl0IHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgZXZlbnRzIGluIEpTT046CgpgYGBqc29u" + - "CnsiZXZlbnQiOiJwaGFzZV9mYWlsZWQiLCJwaGFzZU51bSI6NCwicGhhc2UiOiJhcHBseS1jcCIs" + - "CiAiZXJyQ2F0ZWdvcnkiOiJoZWxtX2FwcGx5IiwiZXJyTWVzc2FnZSI6ImhlbG0gaW5zdGFsbCBh" + - "cGkta2V5czogdGltZWQgb3V0IiwKICJyZXRyeUNsYXNzIjoiYmFja29mZiIsInJldHJ5QWZ0ZXJT" + - "ZWMiOjYwLAogInJlbWVkaWF0aW9uIjpbImt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRy" + - "YS1zeXN0ZW0gY2Fzc2FuZHJhLTAiLAogICAgICAgICAgICAgICAgIlJlLXJ1biB3aXRoIC0tZGVi" + - "dWcgZm9yIHZlcmJvc2UgaGVsbWZpbGUgb3V0cHV0Il0sCiAicmF3Ijp7InN1YnByb2Nlc3MiOiJo" + - "ZWxtZmlsZSIsImV4aXRDb2RlIjoxLCJzdGRlcnJUYWlsIjoi4oCmIiwia3ViZXJuZXRlc1JlYXNv" + - "biI6IkZhaWxlZFNjaGVkdWxpbmcifX0KYGBgCgpUaGUgYHJldHJ5Q2xhc3NgIGZpZWxkIHRlbGxz" + - "IHRoZSBhZ2VudCBob3cgdG8gaGFuZGxlIHRoZSBmYWlsdXJlOgoKfCBgcmV0cnlDbGFzc2AgfCBN" + - "ZWFuaW5nIHwgQWdlbnQgYWN0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBpbW1lZGlhdGVgIHwgVHJh" + - "bnNpZW50IGJsaXAgfCBSZXRyeSB0aGUgc2FtZSBgdXBgIGNvbW1hbmQgbm93IHwKfCBgYmFja29m" + - "ZmAgfCBSYXRlIGxpbWl0IC8gcGVuZGluZyBvcGVyYXRpb24gfCBXYWl0IGByZXRyeUFmdGVyU2Vj" + - "YCBzZWNvbmRzLCB0aGVuIHJldHJ5IHwKfCBgYWZ0ZXJfcmVtZWRpYXRpb25gIHwgT3BlcmF0b3Ig" + - "bXVzdCBpbnRlcnZlbmUgfCBTdXJmYWNlIGBlcnJNZXNzYWdlYCArIGByZW1lZGlhdGlvbmAsIFNU" + - "T1AuIERvbid0IGF1dG8tcmV0cnkuIHwKfCBgbm9uZWAgfCBOb24tcmV0cnlhYmxlIHwgU2FtZSBh" + - "cyBgYWZ0ZXJfcmVtZWRpYXRpb25gIOKAlCBzdXJmYWNlIGFuZCBzdG9wIHwKfCBgdW5rbm93bmAg" + - "fCBDbGFzc2lmaWVyIHVuc3VyZSB8IFRyZWF0IGNvbnNlcnZhdGl2ZWx5OiBzdXJmYWNlIGFuZCBz" + - "dG9wIHwKCk5ldmVyIHJlLXJ1biB3aXRoIGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUp" + - "LiBUaGUgYHJhd2AgYmxvY2sgY2FycmllcyB0aGUgdW5kZXJseWluZyBzaWduYWwgKHN1YnByb2Nl" + - "c3MgZXhpdCwgSFRUUCBzdGF0dXMsIEs4cyByZWFzb24pIOKAlCBxdW90ZSByZWxldmFudCBmaWVs" + - "ZHMgd2hlbiBleHBsYWluaW5nIGZhaWx1cmVzIHRvIHRoZSB1c2VyLCBidXQgZG9uJ3QgZHVtcCBg" + - "c3RkZXJyVGFpbGAgdmVyYmF0aW0gaW50byBjaGF0IHdpdGhvdXQgc2Nhbm5pbmcgZm9yIHNlY3Jl" + - "dHMgZmlyc3QuCgojIyBRdWljayBjb21tYW5kIHJlZmVyZW5jZQoKYGBgc2gKbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgY2hlY2sgLS1wcmUgICAgICAgICAgICAgICMgcHJlLWZsaWdodApudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXItbmFtZT1OQU1FICAgIyBvbmUtc2hvdCBpbnN0YWxsCm52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAgICAgICAgICAgICAgICAgICAjIHNuYXBzaG90Cm52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLXdhdGNoICAgICAgICAgICAjIGxpdmUKbnZjZi1j" + - "bGkgaW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbWludCBhZG1pbiB0b2tl" + - "biAoY2xlYXJzIGFsbCBzYXZlZCBBUEkga2V5cykKbnZjZi1jbGkgY2x1c3RlciByZWdpc3RlciDi" + - "gKYgICAgICAgICAgICAgICAgICAgIyByZWdpc3RlciBjbHVzdGVyCm52Y2YtY2xpIGNsdXN0ZXIg" + - "bGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPTxuY2EtaWQ+ICMgbGlzdCBzZWxmLWhvc3RlZCByZWdp" + - "c3RyYXRpb25zCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKYgICAg" + - "ICMgbWludCBib3RoIGZ1bmN0aW9uIGFuZCB0YXNrIEFQSSBrZXlzIChydW4gYWZ0ZXIgZXZlcnkg" + - "aW5pdCkKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciBmdW5jdGlvbiDigKYgICAgIyBm" + - "dW5jdGlvbiBrZXkgb25seQpudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sg4oCm" + - "ICAgICAgICAjIHRhc2sga2V5IG9ubHkKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQt" + - "ZmlsZT3igKYgICAgICAgIyBjcmVhdGUgZnVuY3Rpb24KbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRl" + - "IC0tZnVuY3Rpb24tdHlwZT1MTE0gLS1sbG0tbW9kZWw9PHNwZWM+ICAjIGNyZWF0ZSBMTE0gZnVu" + - "Y3Rpb24gbWV0YWRhdGEKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0tbmFtZT1sbG0taGVsbSAt" + - "LWluZmVyZW5jZS11cmw9LyAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0tZnVuY3Rpb24tdHlw" + - "ZT1MTE0gLS1oZWxtLWNoYXJ0PTxjaGFydD4gLS1oZWxtLWNoYXJ0LXNlcnZpY2U9PHNlcnZpY2U+" + - "IC0tbGxtLW1vZGVsPTxzcGVjPgpudmNmLWNsaSBmdW5jdGlvbiB1cGRhdGUgLS1sbG0tbW9kZWwt" + - "dXBkYXRlPTxzcGVjPiAgIyB1cGRhdGUgTExNIHJvdXRpbmcvdG9rZW4gbGltaXRzCm52Y2YtY2xp" + - "IGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPeKApgpudmNmLWNsaSBmdW5jdGlv" + - "biBpbnZva2UgLS1pbnB1dC1maWxlPeKApgoKIyBUYXNrIGNvbW1hbmRzIOKAlCByZXF1aXJlcyBO" + - "VkNGX0JBU0VfTlZDVF9VUkw9aHR0cDovLzxudmN0LWdhdGV3YXk+Cm52Y2YtY2xpIHRhc2sgY3Jl" + - "YXRlIC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1pbWFnZT1aCm52Y2Yt" + - "Y2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLmpzb24gICAjIGZyb20gSlNPTiBjb25m" + - "aWcKbnZjZi1jbGkgdGFzayBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbGlzdCBh" + - "bGwgdGFza3MKbnZjZi1jbGkgdGFzayBsaXN0IC0tc3RhdHVzPVJVTk5JTkcgICAgICAgICAgICMg" + - "ZmlsdGVyIGJ5IHN0YXR1cwpudmNmLWNsaSB0YXNrIGdldCBbdGFza0lkXSAgICAgICAgICAgICAg" + - "ICAgICAgIyB0YXNrIGRldGFpbHMKbnZjZi1jbGkgdGFzayBldmVudHMgW3Rhc2tJZF0gICAgICAg" + - "ICAgICAgICAgICMgbGlmZWN5Y2xlIGV2ZW50cwpudmNmLWNsaSB0YXNrIHJlc3VsdHMgW3Rhc2tJ" + - "ZF0gICAgICAgICAgICAgICAgIyByZXN1bHQgYXJ0aWZhY3RzCm52Y2YtY2xpIHRhc2sgY2FuY2Vs" + - "IFt0YXNrSWRdCm52Y2YtY2xpIHRhc2sgZGVsZXRlIFt0YXNrSWRdCmBgYAoKIyMgRmVlZGJhY2sK" + - "CklmIHRoZSB1c2VyIGhpdHMgYSBidWcgb3IgbGltaXRhdGlvbiwgZmlsZSBhbiBpc3N1ZSB0aHJv" + - "dWdoIHRoZSBwcm9qZWN0IHRyYWNrZXIuIERvbid0IGluY2x1ZGUgc2VjcmV0cy4KUEsHCLC6aUbi" + - "YgAA4mIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOEiMgQ0kgcGlwZWxpbmUgcGF0" + - "dGVybnMKCkhvdyB0byBkcml2ZSBgbnZjZi1jbGlgIGZyb20gQ0kgKEdpdExhYiBDSSwgR2l0SHVi" + - "IEFjdGlvbnMsIEplbmtpbnMsIEFyZ29DRCkuIFBhdHRlcm5zIHRoYXQgc3VyZmFjZSBmcmVxdWVu" + - "dGx5LgoKIyMgQmFzaWMgaW5zdGFsbCBwaXBlbGluZQoKYGBgeWFtbAojIEdpdExhYiBDSSBleGFt" + - "cGxlCmRlcGxveV9udmNmOgogIHN0YWdlOiBkZXBsb3kKICBpbWFnZTogbnZjci5pby8wNjUxMTU1" + - "MjE1ODY0OTc5L25jcC1kZXYvbnZjZi1jbGk6MS40LjAKICB2YXJpYWJsZXM6CiAgICBLVUJFQ09O" + - "RklHOiAkS1VCRUNPTkZJR19GSUxFCiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLXNl" + - "ICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyB8fCBleGl0IDIKICAg" + - "IC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVJfTkFNRSAt" + - "LXRva2VuPSROVkNGX0FETUlOX0pXVCAtLW5vbi1pbnRlcmFjdGl2ZSAtLWpzb24KICAgIC0gbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBncmVwICde" + - "eycgfCBqcSAtc2UgJ2FueSguW107IC52ZXJkaWN0ID09ICJoZWFsdGh5IiknCmBgYAoKTm90ZXM6" + - "CgotIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgIGlzIHJlcXVpcmVkIGluIENJOyBu" + - "ZXZlciB1c2UgaW50ZXJhY3RpdmUgYGluaXRgLgotIEFsd2F5cyBgLS1qc29uYCBmb3IgbWFjaGlu" + - "ZS1wYXJzaW5nLgotIGAtLWpzb25gIHdyaXRlcyBKU09OTCB0byBzdGRlcnIsIG5vdCBzdGRvdXQs" + - "IHNvIHJlZGlyZWN0IHdpdGggYDI+JjEgPi9kZXYvbnVsbGAgYmVmb3JlIGEgcGFyc2VyLgotIGBj" + - "aGVja2AgcmVwb3J0cyBpdHMgdmVyZGljdCBpbiBvbmUgYGZpbmFsYCBldmVudCwgd2l0aCBgc3Vj" + - "Y2VzczogZmFsc2VgIHdoZW4gYW55IGNoZWNrIGZhaWxlZCBhdCBlcnJvciBzZXZlcml0eSBvciB0" + - "aGUgcnVuIHRpbWVkIG91dCAoZXhpdCBgNWAsIGB2ZXJkaWN0OiAidGltZW91dCJgKS4gR2F0ZSBv" + - "biB0aGF0IGV2ZW50OiBgY2hlY2tgIG5ldmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgLCBzbyBhIGNv" + - "bmRpdGlvbiBvbiBpdCBhbHdheXMgcGFzc2VzLiBSZXF1aXJpbmcgdGhlIGBmaW5hbGAgZXZlbnQg" + - "YWxzbyBmYWlscyB0aGUgc3RlcCB3aGVuIHRoZSBjb21tYW5kIGRpZXMgYmVmb3JlIGVtaXR0aW5n" + - "IGl0LgotIFNsdXJwIHdpdGggYGpxIC1zYCBiZWZvcmUgdGVzdGluZyBhIGNvbmRpdGlvbi4gV2l0" + - "aG91dCBpdCBganEgLWVgIHRha2VzIGl0cyBleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IGV2ZW50" + - "IGFsb25lLgotIHN0ZGVyciBhbHNvIGNhcnJpZXMgcGxhaW4tdGV4dCBub3RpY2VzLCBzbyBmaWx0" + - "ZXIgdG8gSlNPTiBsaW5lcy4gRG8gbm90IGFkZCBgLS1zaG93LWxvZ3NgIGhlcmU6IGl0IGFwcGVu" + - "ZHMgYSBub24tSlNPTiB0cmFuc2NyaXB0IHRvIHRoZSBzYW1lIHN0cmVhbS4KLSBUaGUgcGxhaW4t" + - "dGV4dCBub3RpY2UgdGhhdCBzYXlzIGhvdyB0byByZW1vdmUgb2JqZWN0cyBhIHZhbGlkYXRvciBy" + - "dW4gbGVmdCBpbiB0aGUgY2x1c3RlciBpcyBmaWx0ZXJlZCBvdXQgd2l0aCB0aGUgcmVzdC4gUmVh" + - "ZCB0aGUgc2FtZSBjb21tYW5kcyBmcm9tIHRoZSBgZmluYWxgIGV2ZW50IGluc3RlYWQsIGZvciBl" + - "eGFtcGxlIGBqcSAtciAnLltdIHwgc2VsZWN0KC5ldmVudCA9PSAiZmluYWwiKSB8IC5jbGVhbnVw" + - "W10/J2Agb24gdGhlIHNsdXJwZWQgc3RyZWFtLgotIEZpbmFsIHN0YXR1cyBjaGVjayBnYXRlcyBk" + - "b3duc3RyZWFtIHN0YWdlcyBvbiBgdmVyZGljdCA9PSAiaGVhbHRoeSJgLgoKIyMgR2l0T3BzIChB" + - "cmdvIC8gRmx1eCkgcGF0dGVybgoKQ0kgZG9lc24ndCBga3ViZWN0bCBhcHBseWAuIEluc3RlYWQs" + - "IHJlbmRlciBtYW5pZmVzdHMsIGNvbW1pdCB0aGVtLCBsZXQgdGhlIGNvbnRyb2xsZXIgYXBwbHku" + - "CgpgYGB5YW1sCnJlbmRlcjoKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGlu" + - "c3RhbGwgLS1jb250cm9sLXBsYW5lIC0tbm8tYXBwbHkgPiByZW5kZXJlZC9jb250cm9sLXBsYW5l" + - "LnlhbWwKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg" + - "LS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1uby1hcHBseSA+IHJlbmRlcmVkL2NvbXB1dGUtcGxhbmUu" + - "eWFtbAogICAgLSBnaXQgYWRkIHJlbmRlcmVkLyAmJiBnaXQgY29tbWl0IC1tICJkZXBsb3kgTlZD" + - "RiAkVEFHIiAmJiBnaXQgcHVzaApgYGAKClRoZW4gQXJnb0NEIG9yIEZsdXggd2F0Y2hlcyBgcmVu" + - "ZGVyZWQvYCBhbmQgYXBwbGllcy4gVGhlIENMSSBuZXZlciB0b3VjaGVzIHRoZSBjbHVzdGVyIGRp" + - "cmVjdGx5LgoKRm9yIHRoZSByZWdpc3RlciBzdGVwICh3aGljaCBtdXRhdGVzIElDTVMsIG5vdCBq" + - "dXN0IEs4cyk6CgpgYGB5YW1sCnJlZ2lzdGVyOgogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgY2x1" + - "c3RlciByZWdpc3RlciAtLW5hbWU9JE5BTUUgLS1uY2EtaWQ9JE5DQSAtLXJlZ2lvbj0kUkVHSU9O" + - "IC0taWdub3JlLWV4aXN0aW5nCmBgYAoKYC0taWdub3JlLWV4aXN0aW5nYCBpcyB0aGUgR2l0T3Bz" + - "LWZyaWVuZGx5IGlkZW1wb3RlbnQgY29udHJhY3QuCgojIyBNdWx0aS1jbHVzdGVyIHBpcGVsaW5l" + - "CgpXaGVuIHRoZSBwaXBlbGluZSBtYW5hZ2VzIG1hbnkgY29tcHV0ZSBjbHVzdGVycyBhZ2FpbnN0" + - "IG9uZSBjb250cm9sIHBsYW5lOgoKYGBgeWFtbApkZXBsb3lfY29tcHV0ZV9wbGFuZXM6CiAgcGFy" + - "YWxsZWw6CiAgICBtYXRyaXg6CiAgICAgIC0gQ0xVU1RFUjogbmNwLWVhc3QtMQogICAgICAgIENP" + - "TlRFWFQ6IGFkbWluQGdwdS1lYXN0LTEKICAgICAgLSBDTFVTVEVSOiBuY3Atd2VzdC0xCiAgICAg" + - "ICAgQ09OVEVYVDogYWRtaW5AZ3B1LXdlc3QtMQogICAgICAtIENMVVNURVI6IG5jcC1ldS0xCiAg" + - "ICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWV1LTEKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVwCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVIKICAgICAgICAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0taWNtcy11cmw9JElDTVNfUFVC" + - "TElDX1VSTAogICAgICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldUCiAgICAgICAgLS1ub24taW50" + - "ZXJhY3RpdmUKICAgICAgICAtLWpzb24KYGBgCgpFYWNoIHBhcmFsbGVsIGpvYiByZWdpc3RlcnMg" + - "KyBpbnN0YWxscyBvbmUgY29tcHV0ZSBwbGFuZSBhZ2FpbnN0IHRoZSBzaGFyZWQgY29udHJvbCBw" + - "bGFuZS4gRmFpbHVyZXMgYXJlIGlzb2xhdGVkLgoKIyMgUGxhbi1vbmx5IHByZXZpZXcgaW4gUFJz" + - "CgpgYGB5YW1sCnByZXZpZXc6CiAgcnVsZXM6CiAgICAtIGlmOiAkQ0lfUElQRUxJTkVfU09VUkNF" + - "ID09ICJtZXJnZV9yZXF1ZXN0X2V2ZW50IgogIHNjcmlwdDoKICAgIC0gfAogICAgICBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVJfTkFNRSBc" + - "CiAgICAgICAgLS1wbGFuLW9ubHkgXAogICAgICAgIC0tanNvbiB8IHRlZSBwbGFuLmpzb25sCiAg" + - "ICAtIGpxIC1zICcuWzBdJyBwbGFuLmpzb25sID4gcGxhbi5qc29uCiAgICAtICdnaXRsYWItbXIt" + - "Y29tbWVudCAiIyMgTlZDRiBkZXBsb3kgcGxhblxuXG5cYFxgXGBqc29uXG4kKGNhdCBwbGFuLmpz" + - "b24pXG5cYFxgXGAiJwpgYGAKCmAtLXBsYW4tb25seWAgZXhpdHMgMCB3aXRob3V0IGNoYW5naW5n" + - "IGNsdXN0ZXIgc3RhdGU7IHRoZSBKU09OTCBvdXRwdXQgbGlzdHMgZWFjaCBwaGFzZSArIEVUQS4g" + - "UmVuZGVycyBuaWNlbHkgYXMgYW4gTVIgY29tbWVudC4KUEsHCEPP7+UdDwAAHQ8AAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVz" + - "L211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhIjIE11bHRpLWNsdXN0ZXIgcGF0dGVybnMKCkV4YW1w" + - "bGVzIG9mIHNwbGl0LWNsdXN0ZXIgKyBtYW55LWNvbXB1dGUtcGxhbmUgb3BlcmF0aW9uLgoKIyMg" + - "T25lIGNvbnRyb2wgcGxhbmUgKyBOIGNvbXB1dGUgcGxhbmVzCgpUaGUgY2Fub25pY2FsIG11bHRp" + - "LWNsdXN0ZXIgdG9wb2xvZ3kuIEVhY2ggY29tcHV0ZSBwbGFuZSBpcyByZWdpc3RlcmVkIHNlcGFy" + - "YXRlbHk6CgpgYGBzaAojIDEuIEJyaW5nIHVwIHRoZSBjb250cm9sIHBsYW5lIChvbmUtdGltZSwg" + - "b24gdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlcik6CktVQkVDT05GSUc9Y3AueWFtbCBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSB8IGt1YmVjdGwgYXBwbHkgLWYg" + - "LQpudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgLS13YWl0IDVtCgoj" + - "IDIuIFJlZ2lzdGVyICsgaW5zdGFsbCBlYWNoIGNvbXB1dGUgcGxhbmU6CmZvciBDVFggaW4gYWRt" + - "aW5AZ3B1LWVhc3QtMSBhZG1pbkBncHUtd2VzdC0xIGFkbWluQGdwdS1ldS0xOyBkbwogIE5BTUU9" + - "JChlY2hvICIkQ1RYIiB8IGN1dCAtZEAgLWYyKQogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwK" + - "ICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSRD" + - "VFggXAogICAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgICAt" + - "LXRva2VuPSROVkNGX0FETUlOX0pXVCBcCiAgICAtLW5vbi1pbnRlcmFjdGl2ZSBcCiAgICAtLWpz" + - "b24KZG9uZQoKIyAzLiBWZXJpZnkgYWxsIGNvbXB1dGUgcGxhbmVzIHJlZ2lzdGVyZWQ6Cm52Y2Yt" + - "Y2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0k" + - "SUNNUyAtLWpzb24gXAogIHwganEgJy5jbHVzdGVyc1tdIHwge25hbWU6IC5jbHVzdGVyTmFtZSwg" + - "c3RhdHVzLCBudmNhVmVyc2lvbn0nCmBgYAoKIyMgQ29tcHV0ZS1wbGFuZS1vbmx5IG9wZXJhdG9y" + - "IHNjZW5hcmlvCgpUaGUgb3BlcmF0b3IgaGFzIGt1YmVjdGwgYWNjZXNzIHRvIE9ORSBjb21wdXRl" + - "IHBsYW5lIG9ubHkg4oCUIHRoZSBjb250cm9sIHBsYW5lIGlzIG9wZXJhdGVkIGJ5IHNvbWVvbmUg" + - "ZWxzZSAoZS5nLiBZb3R0YSBydW5zIHRoZSBjb250cm9sIHBsYW5lIGZvciBhIGN1c3RvbWVyKS4K" + - "CmBgYHNoCiMgTWludCBhIHRva2VuIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5ICh0aGUgY29u" + - "dHJvbCBwbGFuZSdzIEFQSSBLZXlzCiMgc2VydmljZSBpcyByZWFjaGFibGUgdmlhIGFwaS5udmNm" + - "LmV4YW1wbGUuY29tIOKAlCBubyBrdWJlY3RsIGFjY2VzcyBuZWVkZWQpOgpudmNmLWNsaSBpbml0" + - "IC0tYXBpLXVybD1odHRwczovL2FwaS5udmNmLmV4YW1wbGUuY29tCgojIFJ1biBwcmUtZmxpZ2h0" + - "IHNjb3BlZCB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5LiBjaGVjayB0YWtlcyBib3RoIGNvbnRl" + - "eHQKIyBmbGFncyBvciBuZWl0aGVyLCBzbyBzZWxlY3QgdGhlIGNvbXB1dGUgY2x1c3RlciBhcyB0" + - "aGUgY3VycmVudCBjb250ZXh0OgprdWJlY3RsIGNvbmZpZyB1c2UtY29udGV4dCBhZG1pbkBncHUx" + - "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBcCiAgLS1pY21zLXVy" + - "bD1odHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbSBcCiAgLS1qc29uCgojIEJyaW5nIHVwIGp1" + - "c3QgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAtLWNsdXN0" + - "ZXItbmFtZT1teS1jb21wdXRlLTEgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFkbWluQGdw" + - "dTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9r" + - "ZW49JEFETUlOX0pXVCBcCiAgLS1ub24taW50ZXJhY3RpdmUKCiMgU3RhdHVzIChjb21wdXRlLW9u" + - "bHkg4oCUIG9wZXJhdG9yIGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBoZWFsdGgp" + - "OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20K" + - "YGBgCgojIyBGdW5jdGlvbnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVzCgpXaGVu" + - "IHlvdSBoYXZlIG11bHRpcGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rpb24gdG8g" + - "ZGVwbG95IHRvIG9uZToKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2" + - "ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewog" + - "ICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwK" + - "ICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAiY2x1c3Rl" + - "cnMiOiBbImdwdS1lYXN0LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJheSAodXNp" + - "bmcgY2x1c3RlciBuYW1lcywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhvc2UgY29t" + - "cHV0ZSBwbGFuZXMuIE9taXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBsYW5lIHdp" + - "dGggYSBtYXRjaGluZyBTS1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0ZSBwbGFu" + - "ZXMKCmBgYHNoCiMgTGlzdCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZjZi1jbGkg" + - "Y2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01T" + - "IC0tanNvbiBcCiAgfCBqcSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1c3RlcnMu" + - "dHh0CgojIFN0YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcgZWFjaCBj" + - "b250ZXh0IG5hbWUgbWF0Y2hlcyk6CndoaWxlIHJlYWQgTkFNRTsgZG8KICBlY2hvICI9PT0gJE5B" + - "TUUgPT09IgogIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAtLWNsdXN0ZXItbmFt" + - "ZT0kTkFNRSBcCiAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkAkTkFNRSBcCiAgICAt" + - "LWpzb24gfCBqcSAtYyAne2NsdXN0ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3QsIHJlY29u" + - "Y2lsZToucmVjb25jaWxlQWdlU2VjfScKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJl" + - "IE0rMTEgbWlsZXN0b25lIHdpbGwgYWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0tYWxsLWNv" + - "bXB1dGUtcGxhbmVzYCkgc28gdGhpcyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQSwcIMCT5" + - "iMkMAADJDAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRkIGEgY29t" + - "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtp" + - "bmcgTlZDRiBjb250cm9sIHBsYW5lIChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJl" + - "Z2lzdGVyIGEgbmV3IEdQVSBjbHVzdGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11bHRpLWNs" + - "dXN0ZXIgc2NhbGluZyBwYXRoOiBvbmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRlIHBsYW5l" + - "cy4KCiMjIFByZXJlcXVpc2l0ZXMgdGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0bCBjb250" + - "ZXh0IGZvciB0aGUgbmV3IGNvbXB1dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJR2AuCi0g" + - "KipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAoZS5nLiBg" + - "aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZvciB0aGUg" + - "Y29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlhIGBudmNm" + - "LWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBlbmRwb2lu" + - "dC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBw" + - "dWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9sIHBsYW5l" + - "IGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBBIHVuaXF1ZSBgLS1jbHVzdGVyLW5h" + - "bWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJz" + - "LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQg" + - "LS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gQXNrIGZvciBpbnB1dHM6" + - "CiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQgbXVzdCBiZSB1bmlxdWUgd2l0aGlu" + - "IHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0gYC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PTxjb250ZXh0PmAg4oCUIHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBrdWJlY3RsIGNvbnRleHQK" + - "ICAgLSBgLS1pY21zLXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20+YCDigJQgY29u" + - "dHJvbCBwbGFuZSdzIHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBlPyAoZGVmYXVsdCBgSDEw" + - "MGAsIGJ1dCBhc2spCgoyLiBQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUgcGxhbmUuIGBjaGVj" + - "a2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9yCiAgIG5laXRoZXIsIHNvIHBvaW50IHRoZSBj" + - "dXJyZW50IGNvbnRleHQgYXQgdGhlIG5ldyBHUFUgY2x1c3RlciBhbmQgc2VsZWN0CiAgIG9ubHkg" + - "dGhlIGNvbXB1dGUgcGxhbmU6CgogICBgYGBzaAogICBrdWJlY3RsIGNvbmZpZyB1c2UtY29udGV4" + - "dCAiJENUWCIKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwK" + - "ICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3Jl" + - "cCAnXnsnID4gY2hlY2suanNvbmwKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFs" + - "IiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoaXMgY2hlY2tzIHRoaXMg" + - "bWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIGFuZCB0aGUgY29tcHV0ZSBjbHVzdGVyCiAg" + - "IG9ubHk6IGxlZnRvdmVyIE5WQ0YgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lT" + - "IHJlYWNoYWJpbGl0eSBhdAogICBgLS1pY21zLXVybGAsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBj" + - "bHVzdGVyLXZhbGlkYXRvciAoR1BVIHJlc291cmNlcywgR1BVCiAgIE9wZXJhdG9yLCBTTUIgQ1NJ" + - "IGRyaXZlcikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldC4gYC0tcHJlYAog" + - "ICB3b3VsZCBhbHNvIHJ1biB0aGUgY29udHJvbC1wbGFuZSBjaGVja3MgYWdhaW5zdCB0aGlzIGNs" + - "dXN0ZXIsIHNvIGxlYXZlIGl0CiAgIG9mZi4gQSBtaXNzaW5nIGBoZWxtYCwgYGhlbG1maWxlYCBv" + - "ciBga3ViZWN0bGAgaXMgYSB3YXJuaW5nIGhlcmUsIGFsdGhvdWdoCiAgIGBhZGQtY29tcHV0ZS1w" + - "bGFuZWAgbmVlZHMgdGhlbS4gSWYgdGhlIGdhdGUgZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhlCiAg" + - "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50cyB3aXRoIGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVy" + - "aXR5OiAiZXJyb3IiYCwgYW5kCiAgIGFkZHJlc3MgdGhlbSBiZWZvcmUgcHJvY2VlZGluZy4KCjMu" + - "IFJ1biBgYWRkLWNvbXB1dGUtcGxhbmVgOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgYWRkLWNvbXB1dGUtcGxhbmUgXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgICAt" + - "LWNvbXB1dGUtcGxhbmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAg" + - "ICAtLXRva2VuPSRKV1QgXAogICAgIC0tbm9uLWludGVyYWN0aXZlIFwKICAgICAtLWpzb24KICAg" + - "YGBgCgogICBUaGlzIGlzIGEgc2VwYXJhdGUgc3ViY29tbWFuZCBmcm9tIGB1cGAuIEl0IHJ1bnMg" + - "b25seSB0aGUgY29tcHV0ZS1wbGFuZS1yZWxldmFudCBwaGFzZXM6IDEgKGNvbXB1dGUtcGxhbmUg" + - "cHJlZmxpZ2h0KSwgNSAocmVnaXN0ZXIpLCA2IChjb21wdXRlLXBsYW5lIGFwcGx5KSwgOCAoZmlu" + - "YWwgaGVhbHRoIG9uIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSkuIEl0IGRvZXMgTk9UIHRvdWNoIHRo" + - "ZSBjb250cm9sIHBsYW5lIGFuZCBkb2VzIE5PVCBhY2NlcHQgYC0tY29udHJvbC1wbGFuZS1jb250" + - "ZXh0YCDigJQgdGhlIGNvbnRyb2wgcGxhbmUgaXMgcmVhY2hlZCBvdmVyIEhUVFBTIGF0IGAtLWlj" + - "bXMtdXJsYC4gYC0tdG9rZW5gIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlcmUncyBubyBrdWJlY3Rs" + - "IHBhdGggdG8gbWludCBvbmUgZnJvbS4KCjQuIFZlcmlmeS4gYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IHN0YXR1cyAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcWA6IGV4cGVjdCBgdmVyZGlj" + - "dDogImhlYWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJ" + - "Q01TIHNob3VsZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0ZXIuCgo1LiBTbW9rZS4gW2RlcGxveS1h" + - "bmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCk6IGRlcGxveSBhIHNtYWxsIGZ1bmN0" + - "aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3Mu" + - "CgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/" + - "CgpgYWRkLWNvbXB1dGUtcGxhbmVgJ3MgcmVnaXN0ZXIgcGhhc2UgdXNlcyBgLS1pZ25vcmUtZXhp" + - "c3RpbmdgIHNlbWFudGljcyDigJQgaXQnbGwgbWF0Y2ggdGhlIGV4aXN0aW5nIElDTVMgcm93IGFu" + - "ZCByZXVzZSBpdHMgY2x1c3RlcklkLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5n" + - "IHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5l" + - "IHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRp" + - "Y3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBz" + - "ZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0" + - "ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNv" + - "bXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoq" + - "Q29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldo" + - "ZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2Et" + - "aWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9y" + - "ZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwjBsWmYzw8A" + - "AM8PAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQg" + - "cnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAt" + - "PiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJ" + - "IGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGlu" + - "dm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtl" + - "eSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04" + - "aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpg" + - "YGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRh" + - "c2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVz" + - "Y3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRh" + - "dGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFw" + - "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMt" + - "aW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQh" + - "CiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhl" + - "IGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhh" + - "dCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCU" + - "IG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpC" + - "ZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9u" + - "LCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlz" + - "IHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYx" + - "ICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUg" + - "c3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAog" + - "ICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5Q" + - "YXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50" + - "KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYg" + - "dGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBg" + - "c2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9y" + - "IHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0" + - "ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVu" + - "diB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYg" + - "cHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZp" + - "Y2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAy" + - "OiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4" + - "cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2" + - "YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoK" + - "RGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIg" + - "dGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1" + - "U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjog" + - "Ik5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29u" + - "dGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJB" + - "cmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0" + - "SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVh" + - "dGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19p" + - "ZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lz" + - "dGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9u" + - "IHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4K" + - "CkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gK" + - "bnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAg" + - "LS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNr" + - "ZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAg" + - "LS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAog" + - "IC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRl" + - "IGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1j" + - "b250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJv" + - "bm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZj" + - "Zi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0t" + - "Y29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0" + - "CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWlu" + - "ZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9" + - "CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAi" + - "czNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90" + - "IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9n" + - "IHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVw" + - "bGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFt" + - "ZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6" + - "ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNr" + - "ZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5u" + - "dmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0" + - "SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVh" + - "dGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBg" + - "YAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2" + - "ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBg" + - "CgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3Jl" + - "dHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRl" + - "ZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVz" + - "IGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2Yt" + - "Y2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJV" + - "Tk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9z" + - "dCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3Rh" + - "dHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAs" + - "IGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwg" + - "YEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRz" + - "IGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xp" + - "IHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVV" + - "RURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tV" + - "CmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNg" + - "KS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29u" + - "dGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5z" + - "cGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIg" + - "d2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250" + - "ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRs" + - "aW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApu" + - "dmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoK" + - "Rm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMg" + - "dXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRh" + - "c2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24u" + - "IEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNr" + - "IHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1" + - "cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5n" + - "IHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUg" + - "dGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNo" + - "Cm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0" + - "aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQg" + - "YW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2Vy" + - "J3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4" + - "cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQg" + - "Y2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25l" + - "ciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0" + - "Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBH" + - "UFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1" + - "dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVF" + - "VUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawog" + - "IHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lz" + - "dHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50" + - "aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSf" + - "GQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQg" + - "aW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVu" + - "Y3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKG" + - "kiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4g" + - "YSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25m" + - "aXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUg" + - "dXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGlu" + - "dmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24K" + - "ewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFn" + - "ZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2Vj" + - "aG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVz" + - "dCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5" + - "Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwK" + - "ICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQ" + - "VDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZj" + - "Zi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBG" + - "dW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUg" + - "dGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0g" + - "ZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwg" + - "c2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBt" + - "b2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmly" + - "bSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFt" + - "ZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBE" + - "byBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoK" + - "YGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRh" + - "aW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVy" + - "bCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0i" + - "LAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFs" + - "dGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVj" + - "dGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUi" + - "OiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAg" + - "InVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2Vt" + - "YmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAg" + - "ICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVx" + - "dWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBc" + - "CiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZp" + - "cm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJl" + - "bmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9" + - "ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRU" + - "UCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxM" + - "TSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9j" + - "aGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhv" + - "ZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRl" + - "cGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlv" + - "bmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkg" + - "ZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1p" + - "ZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwt" + - "bmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpg" + - "YGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxp" + - "bWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0" + - "b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9y" + - "IGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBp" + - "bmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNo" + - "IGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2Ug" + - "aW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBI" + - "ZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRl" + - "cGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExM" + - "TSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxs" + - "bUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZp" + - "Y2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNl" + - "IHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQg" + - "U2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUg" + - "ZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRo" + - "ZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1p" + - "dCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAi" + - "PGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5m" + - "ZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7" + - "CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQi" + - "OiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6" + - "IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhh" + - "bXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hh" + - "cnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsK" + - "ICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWci" + - "OiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25z" + - "ZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9y" + - "b2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQog" + - "IF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0" + - "aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1p" + - "bmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJp" + - "PS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMw" + - "UyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVz" + - "PTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVs" + - "bS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAu" + - "MS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0t" + - "bGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21w" + - "bGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRf" + - "cm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1" + - "dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1td" + - "LmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVz" + - "OgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8" + - "dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgx" + - "MDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3Rh" + - "bmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVu" + - "Y3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAg" + - "ICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBH" + - "YXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBg" + - "PGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUg" + - "TlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBz" + - "dHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExN" + - "IHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBs" + - "ZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8Cnwg" + - "YC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NF" + - "IGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24t" + - "c3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEv" + - "ZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5w" + - "dXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVz" + - "LiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNv" + - "bgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIs" + - "CiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAg" + - "Imluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEs" + - "CiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAog" + - "IH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBg" + - "KSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1p" + - "c21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1" + - "bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhp" + - "cyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUg" + - "KGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24g" + - "cG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29t" + - "cHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9m" + - "dW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNh" + - "cnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRo" + - "ICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNo" + - "Cm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5j" + - "dGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1u" + - "dmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENM" + - "SSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwu" + - "ICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9u" + - "IElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25J" + - "ZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpg" + - "YGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZu" + - "Lmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czog" + - "ZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24s" + - "IGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBg" + - "YHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEv" + - "Y2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQ" + - "SV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7" + - "CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJl" + - "YW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNl" + - "ciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRo" + - "ZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1l" + - "PmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVz" + - "cG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0u" + - "aW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjog" + - "QmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9u" + - "L2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1u" + - "YW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNG" + - "LiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1Qg" + - "Imh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJB" + - "dXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlw" + - "ZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29u" + - "ZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2si" + - "CiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVw" + - "bG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIp" + - "IGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBp" + - "cyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxl" + - "dGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29u" + - "ZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0" + - "aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxv" + - "eSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0" + - "ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZN" + - "IHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVh" + - "dGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBi" + - "b3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1Au" + - "R1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhl" + - "IGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29t" + - "cHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVj" + - "ayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4g" + - "YEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFp" + - "bGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5W" + - "Q0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29y" + - "a2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUg" + - "dmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1j" + - "IC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3Rg" + - "OgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0" + - "IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZl" + - "cmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRl" + - "ZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRz" + - "IGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZElu" + - "aXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09m" + - "Zi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0" + - "aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1" + - "bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYg" + - "bWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgoj" + - "IyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5" + - "IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNz" + - "YW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBg" + - "YHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxu" + - "cz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZl" + - "bnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAg" + - "dW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkg" + - "aW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20g" + - "fCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJh" + - "LTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3Ig" + - "UFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0g" + - "YSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2gg" + - "c3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsi" + - "c3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2Ag" + - "fAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRv" + - "IGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQ" + - "SSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1n" + - "YXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJ" + - "bnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vu" + - "dm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0t" + - "Y3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBm" + - "b3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQg" + - "d2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQn" + - "cyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUg" + - "LS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21w" + - "dXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxn" + - "b3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1" + - "c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250" + - "cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBh" + - "Z2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJh" + - "dG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kg" + - "YnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1v" + - "cGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBw" + - "YXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBl" + - "cnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGlu" + - "IE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBg" + - "NmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0" + - "aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciBy" + - "ZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFs" + - "bCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJ" + - "UlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0t" + - "Y2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0g" + - "YmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlv" + - "biBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5v" + - "dCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlh" + - "Z25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNz" + - "IHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bv" + - "c2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBp" + - "dCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBk" + - "aWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBz" + - "dGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0" + - "cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBO" + - "VkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNG" + - "IG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRo" + - "aXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0" + - "aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wg" + - "cGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0" + - "IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIs" + - "IHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUg" + - "YC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8g" + - "RXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9y" + - "IHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBj" + - "b250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIu" + - "IFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9j" + - "YWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1l" + - "ZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRw" + - "b2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1l" + - "ZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJh" + - "bGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5v" + - "dCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFy" + - "ZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBz" + - "dGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFw" + - "cGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVs" + - "ZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBu" + - "YW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBl" + - "c3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNl" + - "IiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoK" + - "ICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsg" + - "ZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9y" + - "bT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcg" + - "b2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24g" + - "djEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBh" + - "cHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9s" + - "bGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlm" + - "ZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNl" + - "YCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNv" + - "bnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIg" + - "YWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVT" + - "VEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0t" + - "bmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0" + - "ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91" + - "dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxv" + - "YWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBU" + - "cnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5j" + - "b20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhl" + - "cndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9h" + - "ZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0g" + - "dGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xv" + - "dWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9h" + - "ZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBU" + - "aGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENv" + - "bnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNl" + - "YCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2Vydmlj" + - "ZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5u" + - "b3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxh" + - "bmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kg" + - "QVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdp" + - "dGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAg" + - "IHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIi" + - "CiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFj" + - "aW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2Fj" + - "eSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVy" + - "IHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBT" + - "ZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVj" + - "dHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRo" + - "ZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZv" + - "eSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFj" + - "ZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJl" + - "Zm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBs" + - "ZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1m" + - "IC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAg" + - "IGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3Bh" + - "Y2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0" + - "eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6" + - "CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJu" + - "ZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBz" + - "ZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5" + - "cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3" + - "cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZl" + - "cnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNz" + - "CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6" + - "IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFt" + - "ZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5k" + - "OiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + - "d2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJz" + - "aW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0" + - "YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRl" + - "d2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAg" + - "ICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAg" + - "ICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTog" + - "U2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgog" + - "ICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAg" + - "ICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6" + - "CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAg" + - "ICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNm" + - "L3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBt" + - "dXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZv" + - "eVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRo" + - "ZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25z" + - "CiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZh" + - "bHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RF" + - "Ul9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBl" + - "eHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNF" + - "PSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdh" + - "eSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4" + - "cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhU" + - "VFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBc" + - "CiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1" + - "YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dB" + - "VEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1l" + - "b3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRF" + - "V0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1v" + - "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBD" + - "X0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0" + - "ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1" + - "cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4" + - "aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQg" + - "U1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlO" + - "YCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVz" + - "LgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRo" + - "ZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5u" + - "dmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FE" + - "RFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBj" + - "X3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3Vy" + - "bDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMu" + - "JHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGlu" + - "dm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2" + - "aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAg" + - "YXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6" + - "ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgog" + - "ICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUg" + - "dG9wb2xvZ3kuIGAtLWpzb25gIHdyaXRlcwogICBKU09OTCB0byBzdGRlcnIsIHNvIHJlZGlyZWN0" + - "IGl0IHRvIHRoZSBwYXJzZXIgYW5kIGtlZXAgb25seSBKU09OIGxpbmVzOgoKICAgYGBgc2gKICAg" + - "IyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpz" + - "b24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKCiAgICMgU3BsaXQ6" + - "IHBhc3MgYm90aCBjb250ZXh0IGZsYWdzCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0t" + - "cHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVs" + - "bCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIEdhdGUgb24gdGhlIGZpbmFsIGV2ZW50" + - "LiBBIG1pc3NpbmcgZmluYWwgZXZlbnQgYWxzbyBmYWlscyB0aGUgZ2F0ZS4KICAganEgLXNlICdh" + - "bnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBg" + - "YGAKCiAgIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRoZSB1c2VyIGVhY2ggYGNoZWNrX2NvbXBs" + - "ZXRlZGAgZXZlbnQgd2l0aAogICBgcGFzc2VkOiBmYWxzZWAgYW5kIGBzZXZlcml0eTogImVycm9y" + - "ImAgKGl0cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJMYCksIGFuZAogICBzdG9wLiBEb24ndCBwcm9j" + - "ZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4gUm93cyBhdAogICBgc2V2ZXJpdHk6" + - "ICJ3YXJuaW5nImAgZG8gbm90IGZhaWwgdGhlIGdhdGU7IG1lbnRpb24gdGhlbS4gRm9yIGFuIG9w" + - "ZXJhdG9yCiAgIHdpdGgga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seSwg" + - "dXNlIHRoZSBjb21wdXRlLW9ubHkgZm9ybSBpbgogICBbYWRkLWNvbXB1dGUtcGxhbmUubWRdKGFk" + - "ZC1jb21wdXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoKNC4gTWludCBhbiBhZG1pbiB0b2tlbiBpZiBu" + - "ZWVkZWQuIGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50LiBDYWxsIGl0IGlmIHRoZQogICB1" + - "c2VyIGRvZXMgbm90IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5pdCB0YWxrcyB0byBBUEkgS2V5cyB0" + - "aHJvdWdoIHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3YXksIHNvIGl0IGFsc28gd29ya3MgaW4gY29t" + - "cHV0ZS1vbmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4gVXNlIGAtLWpzb25gIGZvciB0aGUgSlNPTkwg" + - "ZXZlbnQgc3RyZWFtOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAg" + - "IC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0Ff" + - "SUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAg" + - "IEZvciBzcGxpdC1jbHVzdGVyIGluc3RhbGxzLCBhZGQgYm90aCBjb250ZXh0IGZsYWdzOgoKICAg" + - "YGBgc2gKICAgZXhwb3J0IENPTlRST0xfUExBTkVfQ09OVEVYVD0iYWRtaW5AY29udHJvbC1wbGFu" + - "ZSIKICAgZXhwb3J0IENPTVBVVEVfUExBTkVfQ09OVEVYVD0iYWRtaW5AZ3B1LWNsdXN0ZXIiCgog" + - "ICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9" + - "IiR7Q09OVFJPTF9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PSIke0NPTVBVVEVfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVT" + - "VEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIk" + - "e1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBQYXJzZSBldmVudHM6CiAgIC0gYHBo" + - "YXNlX3N0YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRlZGA6IGxvZyBwcm9ncmVzcwogICAtIGBwaGFz" + - "ZV9wcm9ncmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9yIHRoZSBsb25nIGFwcGx5IHBoYXNlcyAocmVz" + - "b3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYDogc3VyZmFjZSB0byB0aGUgdXNlciBpZiBpdCBw" + - "ZXJzaXN0cyBmb3IgbW9yZSB0aGFuIDIgbWludXRlcwogICAtIGBwaGFzZV9mYWlsZWRgOiBzdG9w" + - "IGFuZCBzdXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVzIGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5lLgog" + - "ICAgIERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIC0+IG1heSByZS1y" + - "dW4gbm93IHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYmFja29mZmAgLT4gd2FpdCBgcmV0cnlB" + - "ZnRlclNlY2AgYW5kIHRoZW4gcmUtcnVuIHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYWZ0ZXJf" + - "cmVtZWRpYXRpb25gLCBgbm9uZWAsIG9yIGB1bmtub3duYCAtPiB0aGUgb3BlcmF0b3IgbXVzdAog" + - "ICAgIGFjdCBmaXJzdCwgc28gZG8gbm90IGF1dG8tcmV0cnkuCiAgIC0gYGZpbmFsYDogZG9uZS4g" + - "UHJpbnQgY2x1c3RlcklkIGFuZCBOVkNGQmFja2VuZCBoZWFsdGguCgo2LiBWZXJpZnkgd2l0aCBz" + - "dGF0dXMuIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxYCBhbmQg" + - "ZXhwZWN0CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBPdGhlcndpc2UsIHVzZQogICBbZGlhZ25v" + - "c2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKS4KCjcuIE9w" + - "dGlvbmFsbHkgc21va2UgdGVzdCBhIGZ1bmN0aW9uLiBVc2UKICAgW2RlcGxveS1hbmQtaW52b2tl" + - "Lm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUgLT4gZGVwbG95IC0+CiAg" + - "IGludm9rZSBmbG93LgoKIyMgTm90ZXMKCi0gU2luZ2xlLWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGEg" + - "ZnJlc2ggY2x1c3RlciB0YWtlcyBhYm91dCAxMC0xMyBtaW51dGVzLAogIGRlcGVuZGluZyBvbiBj" + - "aGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBp" + - "ZGVtcG90ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1biBhZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNp" + - "dGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25lIGFueXdh" + - "eSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAgc2V0LCBhbHdheXMgdXNlIGAtLW5vbi1p" + - "bnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBwcm9wb3NlIGBudmNmLWNsaSBpbml0YCBp" + - "bnRlcmFjdGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + - "Lm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3MgSldLUwoKVXNlciBzYXlzIE5WQ0Egc3Rv" + - "cHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRoIGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01T" + - "LiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmluZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQg" + - "YW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5vdyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90" + - "YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8v" + - "bmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy88aWQ+L3Jl" + - "Z2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNob3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0" + - "aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNt" + - "YXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMgYm90aCkKLSBBZnRlciBhIGNvbnRyb2wt" + - "cGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFuZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMK" + - "CjEuIENvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJl" + - "Z2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYC4gSWRlbnRpZnkgdGhl" + - "IHJvdyBtYXRjaGluZyB0aGUgdXNlcidzIGNvbXB1dGUgcGxhbmUuCgoyLiAqKlJvdGF0ZS4qKiBG" + - "cm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkg" + - "KGJlY2F1c2Ugcm90YXRpb24gcmUtZmV0Y2hlcyB0aGUgSzhzIEFQSSdzIGAvb3BlbmlkL3YxL2p3" + - "a3NgKToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08" + - "aWQ+IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PTxjdHg+CiAgIGBgYAoKICAgVGhpcyByZS1mZXRj" + - "aGVzIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgYW5kIFBVVHMgaXQgdG8g" + - "SUNNUy4gVGhlIGNsdXN0ZXIgSUQgc3RheXMgdGhlIHNhbWUuCgozLiAqKlZlcmlmeS4qKiBgbnZj" + - "Zi1jbGkgY2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVk" + - "QXRgIGFkdmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1" + - "YmVybmV0ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNo" + - "b3VsZCBzdWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24n" + - "dCBgY2x1c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCAr" + - "IGdyb3VwIElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVw" + - "bG95IHRoZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVk" + - "aXQgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVz" + - "IElDTVMgb25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNs" + - "dXN0ZXIgSUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVy" + - "ZSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2Fs" + - "bG91dCBoZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0" + - "aC1jYWxsb3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRj" + - "X2J5X2NsdXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNv" + - "bmZpZ21hcCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3Nl" + - "LWZhaWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3Nl" + - "IGNoZWNrcy4KUEsHCKrhOrnIBwAAyAcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRl" + - "YXIgZG93biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRv" + - "d24gZGVzdHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2Vh" + - "bCBrZXlzLCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNl" + - "ciBiZWZvcmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVu" + - "aW5zdGFsbGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJk" + - "b3duIHN1cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzEx" + - "KToKCnwgVGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0t" + - "LXwKfCBQZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkg" + - "fCBgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8" + - "IGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5l" + - "YCB8CnwgT3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAt" + - "LWNsdXN0ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxg" + - "IHwKClVzZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBH" + - "aXRPcHMgKGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxp" + - "bmVzLiBBbHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBN" + - "b2RlIHwgTGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwt" + - "LS18LS0tfC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9y" + - "cykgfCAqKk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRz" + - "IHBoYXNlIHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2" + - "ZW50IHN0cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHBy" + - "aW1pdGl2ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhl" + - "bG0gZ2V0IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoK" + - "LSBgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3Jj" + - "aGVzdHJhdG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwg" + - "LS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUg" + - "dGhlIFlBTUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdB" + - "WVMgcHJldmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAt" + - "LWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4K" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgoj" + - "IyBXaGVuIHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18" + - "LS0tfAp8ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0" + - "aGUgc3RlcHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0" + - "byBjb21taXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVu" + - "aW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVs" + - "ZXRlLnlhbWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRl" + - "IHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1" + - "c3QgcmVtb3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93" + - "biAtLWNsdXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBz" + - "Y29wZSB3aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29t" + - "cHV0ZSBwbGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21w" + - "dXRlIHBsYW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0" + - "aGlzIGNsdXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAo" + - "SW1wb3J0YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9" + - "dHJ1ZXxwcm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lz" + - "dGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0" + - "IHVzZXIgZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1w" + - "ZXJzaXN0ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4q" + - "KiIKCiMjIyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBkb3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoK" + - "VGhpcyBlbWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxt" + - "IHJlbGVhc2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3" + - "b3VsZCBiZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFu" + - "ZHNbXWAgYXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1" + - "bmluc3RhbGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMj" + - "IDMuIEV4ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1j" + - "bHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2Ljcu" + - "MSk6CgoxLiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4g" + - "UmVzb2x2ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5z" + - "IGBmdW5jdGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9s" + - "bHMgdW50aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxw" + - "cm9tcHRgIChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRl" + - "IHBsYW5lIOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVs" + - "bSB1bmluc3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1" + - "LiBSZW1vdmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRg" + - "KQo2LiBVbnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQu" + - "IFRlYXIgZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhl" + - "IG9yY2hlc3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFs" + - "c28gZ29pbmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAg" + - "cmVmdXNlcyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMu" + - "IFVzZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25s" + - "eSoqIGlmIHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVz" + - "IChQU0FUIGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0" + - "IGZhaWxpbmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5j" + - "ZSBiZWZvcmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpg" + - "YGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMg" + - "aXRlcmF0ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhl" + - "IHBlci1jbHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxs" + - "LWNvbmN1cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9s" + - "LXBsYW5lYC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBj" + - "bHVzdGVyIGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9t" + - "cHQgZm9yIG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMg" + - "QXJnbyAvIEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUg" + - "cGxhbmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0" + - "ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNv" + - "bW1pdHMgZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVz" + - "IHRoZSBkZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21t" + - "aXQgLW0gInJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJn" + - "byBzeW5jIHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJ" + - "Q01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lE" + - "CmBgYAoKTm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0" + - "ZXIgZGVsZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2lu" + - "ZyBHaXRPcHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBv" + - "ciB1c2UgYGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJ" + - "ZiBgZG93bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5k" + - "KiouIFRoZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lw" + - "cyByZWxlYXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1p" + - "Z25vcmUtbWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhh" + - "c2UgNCArIDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vj" + - "b25kIHJ1bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRl" + - "Z29yeTogImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0" + - "aW9uImAg4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3i" + - "gKZgICh0aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJl" + - "LXJ1biBgZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRp" + - "b24uCi0gYGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9y" + - "ZW1lZGlhdGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVz" + - "ZXIgcGFzc2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBS" + - "ZS1ydW4gd2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21w" + - "dGAgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJm" + - "YWNlIGBlcnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNU" + - "T1AuIERvIG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBj" + - "b25maXJtCgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3Rh" + - "bGxgIGludm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3Rh" + - "dGUgdGhlIGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQn" + - "cyBsb3N0IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3At" + - "bG9jYWxgIHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01T" + - "IikuCi0gSWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRl" + - "IHRoYXQgQ2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQg" + - "YW5kIHRoYXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIg" + - "Y29uZmlybWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNs" + - "dXN0ZXJzYCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9y" + - "cGhhbmVkLgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhw" + - "bGFpbmluZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMg" + - "b24gYSBDTEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMg" + - "UGVyIGNvbXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFs" + - "bCBudmNhLWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3Ig" + - "LW4gbnZjYS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAt" + - "biBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVt" + - "CgojIERyYWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVy" + - "LWlkPTxpZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4" + - "dCk6CmNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBo" + - "ZWxtZmlsZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3Rh" + - "Y2sgYnVuZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252" + - "Y2YtY29tcHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51" + - "YWwgcGF0aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0" + - "YWxsZWQuCgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFz" + - "a3MgIndoeSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBT" + - "dGF0ZWZ1bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBg" + - "aGVsbSB1bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9u" + - "YWxseSBzbyBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdp" + - "cGUgY29tcGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBg" + - "YAoKT3IsIHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4g" + - "Y2Fzc2FuZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVt" + - "IC0tYWxsCmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2" + - "ZSBzdGVwLgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBg" + - "bnZjZi1jbGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlz" + - "IHBhaXIgd2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhp" + - "dC1jb2Rlcy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9z" + - "dGVkIGxpZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0t" + - "LXwtLS18LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUt" + - "ZmxpZ2h0IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdp" + - "c3RyeSBjcmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVh" + - "bWluZyBldmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRy" + - "b2wtcGxhbmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2Fs" + - "LW9ubHlgIG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9z" + - "dGVkIGNoZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRy" + - "b2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0" + - "ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xs" + - "cyB1bnRpbCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21w" + - "dXRlLXBsYW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92" + - "ZXIgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5k" + - "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBv" + - "biBzdGRlcnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJs" + - "YC4gV2l0aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwK" + - "fCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFi" + - "b3ZlIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2" + - "ZW50OyBzZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQg" + - "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3Rz" + - "IHwgWUFNTCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2Vs" + - "Zi1ob3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdp" + - "c3RlciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQg" + - "fCBPbmUgaW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNs" + - "dXN0ZXItbmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChl" + - "bXB0eSkgc3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBw" + - "bGFuZXM7IGZvciBjb21wdXRlLW9ubHkgdXNlIGBhZGQtY29tcHV0ZS1wbGFuZWAgfAp8IGBzZWxm" + - "LWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmll" + - "dyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZyaWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMg" + - "fAp8IGBzZWxmLWhvc3RlZCBhZGQtY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIC0tY29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PVkgLS1pY21zLXVybD1VUkwgLS10b2tlbj0kSldUYCB8IEFkZCBh" + - "IGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIG9u" + - "IHN0ZGVyciB8IEZvciAybmQsIDNyZCwg4oCmIEdQVSBjbHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBp" + - "bnN0YWxsLiBDUCBub3QgdG91Y2hlZC4gfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rl" + - "ci1uYW1lPVhdIFstLXdhdGNoXWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFp" + - "bi9KU09OTCB8IGAtLXdhdGNoYCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1" + - "bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHBy" + - "aW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01T" + - "IHVucmVnaXN0ZXIsIG5vIGRyYWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNl" + - "cyBvbiB0aGF0IGNvbXB1dGUgcGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250" + - "cm9sLXBsYW5lIFstLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5l" + - "IHByaW1pdGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJv" + - "Z3Jlc3MgfCBSZWZ1c2VzIGlmIGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNz" + - "IGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmlu" + - "c3RhbGwgLS1uby1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0g" + - "Z2V0IG1hbmlmZXN0YCBwZXIgcmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBl" + - "IHRvIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJv" + - "cnMgYGluc3RhbGwgLS1uby1hcHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1u" + - "YW1lPVggWy0tZHJhaW4tYWN0aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJh" + + "aXN0aW5nIGNvbnRyb2wgcGxhbmUsIGZyb20gdGhlIHByb2ZpbGUKIyBgc2VsZi1ob3N0ZWQgY29u" + + "dHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAgd3JvdGUgKG5vIGt1YmVjdGwgYWNjZXNzIHRvIENQ" + + "CiMgbmVlZGVkOyByZWFjaGVzIHRoZSBjb250cm9sIHBsYW5lIHZpYSB0aGUgcHVibGljIElDTVMg" + + "SFRUUFJvdXRlKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBc" + + "CiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAog" + + "IC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbC0yIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUy" + + "IFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2Vu" + + "PSRBRE1JTl9KV1QgXAogIC0tb3V0cHV0PW5jcC1sb2NhbC0yLXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXM9" + + "bmNwLWxvY2FsLTItcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0PWFkbWlu" + + "QGdwdTIgXAogIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbC0yCgojIFRlYXIgZG93biAoYWx3YXlz" + + "IHBsYW4tb25seSBmaXJzdCk6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkg" + + "LS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCm52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCgojIFBlci1wbGFuZSB1bmluc3RhbGwgKEdp" + + "dE9wczsgbWlycm9ycyBgaW5zdGFsbGApOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwg" + + "LS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIHwga3Vi" + + "ZWN0bCBkZWxldGUgLWYgLQpgYGAKCj4gYHVwYCB2cyBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAg" + + "YW5kIGBpbnN0YWxsYC4gYHVwYCBhbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7IHVzZSBpdCBm" + + "b3IgdGhlIGZpcnN0IGluc3RhbGwuIFRvIGF0dGFjaCBhbiBOdGggY29tcHV0ZSBjbHVzdGVyIHRv" + + "IGEgcnVubmluZyBjb250cm9sIHBsYW5lLCByZWdpc3RlciBpdCB3aXRoIGBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyYCBhbmQgaW5zdGFsbCBpdCB3aXRoIGBjb21wdXRlLXBsYW5lIGluc3RhbGxgLgo+" + + "Cj4gKipgZG93bmAgYWx3YXlzIHdpdGggYC0tcGxhbi1vbmx5YCBmaXJzdC4qKiBTaG93IHRoZSB1" + + "c2VyIHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1tdYCBhcnJheSBiZWZvcmUgcnVubmluZyBm" + + "b3IgcmVhbC4KCiMjIEF1dGhlbnRpY2F0aW9uCgpgbnZjZi1jbGlgIHVzZXMgdHdvIGNyZWRlbnRp" + + "YWxzLiBFYWNoIGlzIHJlc29sdmVkIGluZGVwZW5kZW50bHkgaW4gdGhpcyBvcmRlcjoKCnwgUHJl" + + "Y2VkZW5jZSB8IFNvdXJjZSB8CnwtLS18LS0tfAp8IDEgKGhpZ2hlc3QpIHwgRW52aXJvbm1lbnQg" + + "dmFyaWFibGUgKGBOVkNGX1RPS0VOYCwgYE5WQ0ZfQVBJX0tFWWApIHwKfCAyIHwgQ29uZmlnIGZp" + + "bGUgKGB+Ly5udmNmLWNsaS55YW1sYCwga2V5cyBgdG9rZW5gIGFuZCBgYXBpX2tleWApIHwKfCAz" + + "IHwgU3RhdGUgZmlsZSAoYH4vLm52Y2YtY2xpLnN0YXRlYCksIHNraXBwZWQgd2hlbiB0aGUgc3Rv" + + "cmVkIHRva2VuIGlzIGV4cGlyZWQgfAoKfCBFbnYgdmFyIHwgVG9rZW4gdHlwZSB8IFVzZWQgYnkg" + + "fAp8LS0tfC0tLXwtLS18CnwgYE5WQ0ZfVE9LRU5gIHwgQWRtaW4gSldUIHwgYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAgLyBgZGVwbG95YCAvIGB1cGRhdGVgIC8gYGRlbGV0ZWAsIGNsdXN0ZXIgbWFuYWdlbWVu" + + "dCAoYGNsdXN0ZXIgcmVnaXN0ZXJgL2BsaXN0LXJlZ2lzdGVyZWRgL2Byb3RhdGVgL2BkZWxldGVg" + + "LCBgc2VsZi1ob3N0ZWRgIG9wcykuIFJlcXVpcmVkIGZvciBhZG1pbiBjb21tYW5kczsgcHJlZmVy" + + "cmVkIGZvciB0aGUgcmVzdC4gfAp8IGBOVkNGX0FQSV9LRVlgIHwgYG52YXBpLS4uLmAgQVBJIGtl" + + "eSB8IGBmdW5jdGlvbiBpbnZva2VgIC8gYGxpc3RgIC8gYGdldGAsIHF1ZXVlIGRldGFpbHMuIEZh" + + "bGxzIGJhY2sgdG8gYE5WQ0ZfVE9LRU5gIHdoZW4gdW5zZXQuIHwKClRva2VuIGdlbmVyYXRpb24g" + + "ZmxvdzoKCjEuIFBvaW50IHRoZSBDTEkgYXQgeW91ciBzZWxmLWhvc3RlZCBlbmRwb2ludHMuIERl" + + "ZmF1bHRzIHRhcmdldCBwcm9kdWN0aW9uIE5WQ0Y7IG92ZXJyaWRlIHdpdGggZW52IHZhcnMgb3Ig" + + "YSB5YW1sIGZpbGUgKGAtLWNvbmZpZyA8cGF0aD5gLCBgLi8ubnZjZi1jbGkueWFtbGAsIG9yIGB+" + + "Ly5udmNmLWNsaS55YW1sYDsgYSBmdWxsIHRlbXBsYXRlIHNoaXBzIGF0IGBzcmMvY2xpcy9udmNm" + + "LWNsaS8ubnZjZi1jbGkueWFtbC50ZW1wbGF0ZWApLgoKICAgYE5WQ0ZfQkFTRV9IVFRQX1VSTGAg" + + "LyBgQVBJX0tFWVNfU0VSVklDRV9VUkxgIC8gYE5WQ0ZfQkFTRV9HUlBDX1VSTGAgdGVsbCB0aGUg" + + "Q0xJICp3aGVyZSB0byBzZW5kIHJlcXVlc3RzKi4gYEFQSV9IT1NUYCAvIGBBUElfS0VZU19IT1NU" + + "YCAvIGBJTlZPS0VfSE9TVGAgc2V0IHRoZSBgSG9zdDpgIGhlYWRlciBvbiB0aG9zZSByZXF1ZXN0" + + "cyDigJQgbmVlZGVkIHdoZW4gZXZlcnkgTlZDRiBzZXJ2aWNlIHNpdHMgYmVoaW5kIGEgc2luZ2xl" + + "IGdhdGV3YXkgdGhhdCByb3V0ZXMgYnkgaG9zdG5hbWUgKEVudm95IEdhdGV3YXkgSFRUUFJvdXRl" + + "IG9uIGBhcGkuPEVMQj5gLCBgYXBpLWtleXMuPEVMQj5gLCBgaW52b2NhdGlvbi48RUxCPmAsIGBs" + + "bG0uPEVMQj5gKS4gU2tpcCB0aGUgdGhyZWUgSG9zdCB2YXJzIHdoZW4gdGhlIGJhc2UgVVJMIGFs" + + "cmVhZHkgcmVzb2x2ZXMgdG8gdGhlIHJpZ2h0IHNlcnZpY2UuCgogICBFbnYtdmFyIGZvcm06Cgog" + + "ICBgYGBzaAogICBleHBvcnQgTlZDRl9CQVNFX0hUVFBfVVJMPWh0dHBzOi8vZ3cuZXhhbXBsZS5j" + + "b20KICAgZXhwb3J0IEFQSV9LRVlTX1NFUlZJQ0VfVVJMPWh0dHBzOi8vZ3cuZXhhbXBsZS5jb20K" + + "ICAgZXhwb3J0IE5WQ0ZfQkFTRV9HUlBDX1VSTD1ndy5leGFtcGxlLmNvbTo0NDMKCiAgICMgT25s" + + "eSB3aGVuIHRoZSBnYXRld2F5IHJvdXRlcyBieSBIb3N0IGhlYWRlcjoKICAgZXhwb3J0IEFQSV9L" + + "RVlTX0hPU1Q9YXBpLWtleXMuZ3cuZXhhbXBsZS5jb20KICAgZXhwb3J0IEFQSV9IT1NUPWFwaS5n" + + "dy5leGFtcGxlLmNvbQogICBleHBvcnQgSU5WT0tFX0hPU1Q9aW52b2NhdGlvbi5ndy5leGFtcGxl" + + "LmNvbQogICBgYGAKCiAgIFlhbWwgZm9ybSAoYH4vLm52Y2YtY2xpLnlhbWxgKToKCiAgIGBgYHlh" + + "bWwKICAgYmFzZV9odHRwX3VybDogaHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBhcGlfa2V5c19z" + + "ZXJ2aWNlX3VybDogaHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBiYXNlX2dycGNfdXJsOiBndy5l" + + "eGFtcGxlLmNvbTo0NDMKCiAgICMgT25seSB3aGVuIHRoZSBnYXRld2F5IHJvdXRlcyBieSBIb3N0" + + "IGhlYWRlcjoKICAgYXBpX2tleXNfaG9zdDogYXBpLWtleXMuZ3cuZXhhbXBsZS5jb20KICAgYXBp" + + "X2hvc3Q6IGFwaS5ndy5leGFtcGxlLmNvbQogICBpbnZva2VfaG9zdDogaW52b2NhdGlvbi5ndy5l" + + "eGFtcGxlLmNvbQogICBgYGAKCjIuIGBudmNmLWNsaSBpbml0YCBjYWxscyB0aGUgQVBJIEtleXMg" + + "c2VydmljZSB2aWEgdGhvc2UgZW5kcG9pbnRzIGFuZCB3cml0ZXMgdGhlIGFkbWluIHRva2VuIHRv" + + "IGB+Ly5udmNmLWNsaS5zdGF0ZWAuIFVzZSBgbnZjZi1jbGkgcmVmcmVzaGAgdG8gcm90YXRlIGEg" + + "c3RvcmVkIHRva2VuLgozLiBBZnRlciBgaW5pdGAsIGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + + "YCBtaW50cyBmdW5jdGlvbiArIHRhc2sgQVBJIGtleXMgKGFsc28gc3RvcmVkIGluIHN0YXRlKS4K" + + "CkFmdGVyIGBpbml0YCwgdGhlIGNyZWRlbnRpYWxzIGxpdmUgaW4gYH4vLm52Y2YtY2xpLnN0YXRl" + + "YCwgc28gbGF0ZXIgY29tbWFuZHMgd29yayB3aXRob3V0IGV4cG9ydGluZyBgTlZDRl9UT0tFTmAg" + + "b3IgYE5WQ0ZfQVBJX0tFWWAuIEV4cG9ydCB0aGUgZW52IHZhciBvbmx5IHRvIG92ZXJyaWRlIHRo" + + "ZSBzdG9yZWQgdmFsdWUgKGZvciBleGFtcGxlIGEgc2hvcnRlci1saXZlZCB0b2tlbiBmcm9tIENJ" + + "KS4KCiMjIENvcmUgc3ViY29tbWFuZHMKCnwgU3ViY29tbWFuZCB8IFdoYXQgaXQgZG9lcyB8IFdo" + + "ZW4gdG8gdXNlIHwKfC0tLXwtLS18LS0tfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAt" + + "LXByZSBbLS1sb2NhbC1vbmx5IFx8IC0tY29udHJvbC1wbGFuZS1jb250ZXh0PVggLS1jb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ9WV1gIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scywgcmVnaXN0" + + "cnkgY3JlZGVudGlhbHMsIGFuZCBjbHVzdGVyLXNpZGUgcHJlcmVxdWlzaXRlcyBmb3IgYm90aCBw" + + "bGFuZXMuIFBhc3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXIgfCBBbHdheXMgcnVuIGZp" + + "cnN0IG9uIGEgbmV3IGVudmlyb25tZW50IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFs" + + "bCAtLWNvbnRyb2wtcGxhbmUgXHwga3ViZWN0bCBhcHBseSAtZiAtYCB8IFJlbmRlciArIGFwcGx5" + + "IHRoZSBjb250cm9sIHBsYW5lIHwgV2hlbiB5b3Ugd2FudCBtYW51YWwgY29udHJvbCBvdmVyIGFw" + + "cGx5IChHaXRPcHMtZnJpZW5kbHkpIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + + "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCBcfCBrdWJlY3RsIGFwcGx5IC1mIC1gIHwg" + + "UmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRlIHBsYW5lIHwgU2FtZSDigJQgbWFudWFs" + + "IGFwcGx5IHBhdGggfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXItbmFtZT1Y" + + "YCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGw6IHByZS1mbGlnaHQg4oaSIGNvbnRyb2wgcGxhbmUg" + + "4oaSIHJlZ2lzdGVyIOKGkiBjb21wdXRlIHBsYW5lIHwgU3RhbmRhcmQgaW5zdGFsbCBwYXRoIChi" + + "b3RoIHBsYW5lcyBmcm9tIHNjcmF0Y2gpIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1w" + + "bGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuOiBlbWl0IHBoYXNlLWJ5LXBoYXNl" + + "IHBsYW4gKyBFVEEgd2l0aG91dCBjaGFuZ2luZyBzdGF0ZSB8IEFnZW50IC8gQ0kgcHJldmlldyBi" + + "ZWZvcmUgY29tbWl0IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdp" + + "c3RlciAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1QIC0tY2x1c3Rlci1uYW1lPVggLS1rdWJlLWNv" + + "bnRleHQ9WSAtLW91dHB1dD1WYCwgdGhlbiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIC0tdmFsdWVzPVYgLS1rdWJlLWNvbnRleHQ9WWAgfCBBZGQgYSBuZXcgY29t" + + "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIChubyBDUCBpbnN0YWxsKSB8" + + "IEFkZGluZyB0aGUgMm5kLCAzcmQsIC4uLiBHUFUgY2x1c3RlciBhZnRlciB0aGUgaW5pdGlhbCBg" + + "dXBgIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAg" + + "fCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wg" + + "cGxhbmUgKHJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCkgfCBGaW5h" + + "bCB0ZWFyZG93biBhZnRlciBhbGwgY29tcHV0ZSBwbGFuZXMgYXJlIGdvbmUsIG9yIHNjcmlwdGVk" + + "IHBpcGVsaW5lcyB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUt" + + "cGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVsbWZpbGUg" + + "ZGVzdHJveWAgb24gYSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWlu" + + "KSB8IEp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2VzIHdpdGhvdXQgdGhlIElDTVMtc2lkZSBj" + + "bGVhbnVwIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBs" + + "YW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgfCBHaXRP" + + "cHM7IGBcfCBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMgfAp8" + + "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwgT3JjaGVzdHJh" + "dG9yOiBkcmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxl" + - "dGUgaW4gSUNNUyB8IHByb2dyZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVz" + - "dGVyLW5hbWU9WGAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9y" + - "Y2hlc3RyYXRvcjogdGVhciBkb3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNv" + - "bnRyb2wgcGxhbmUgfCBwcm9ncmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1j" + - "b25jdXJyZW5jeWAgKGRlZmF1bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRl" + - "cmFjdGl2ZSB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3Ry" + - "YXRvciBkcnktcnVuOiBwaGFzZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAo" + - "bm8gaGVsbS9oZWxtZmlsZSBjb250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBh" + - "bnkgYWN0dWFsIGBkb3duYCoqIHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwg" + - "UHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFt" + - "ZT1YIC0tbmNhLWlkPVkgWy0tcmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0" + - "ZXIgYSBKV0tTK09JREMgd2l0aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxs" + - "eTsgc3RhbmRhbG9uZSBmb3IgbWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdC1y" + - "ZWdpc3RlcmVkIC0tbmNhLWlkPVkgWy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVk" + - "IGNsdXN0ZXIgcmVnaXN0cmF0aW9ucyBmcm9tIElDTVMgfCBVc2VzIHRoZSBhZG1pbiB0b2tlbjsg" + - "YC0tanNvbmAgZm9yIG1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IHwKfCBgY2x1c3RlciByb3RhdGUg" + - "LS1jbHVzdGVyLWlkPUlEYCB8IFJlLWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01T" + - "IHwgQWZ0ZXIgSzhzIEFQSSBzZXJ2ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVy" + - "IGRlbGV0ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElW" + - "RTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBv" + - "c2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmls" + - "ZT1GSUxFYCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQg" + - "KyBWZXJzaW9uIElEOyBMTE0gZnVuY3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5k" + - "IGBtb2RlbHNbXS5sbG1Db25maWcudXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAv" + - "djEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAv" + - "IGBmdW5jdGlvbiBsaXN0LWlkc2AgfCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBm" + - "dW5jdGlvbiBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9u" + - "IG1ldGFkYXRhIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + - "b24taWQ9VklEIC0tdGFncz1UQUdbLFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8Cnwg" + - "YGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0t" + - "bW9kZWwtdXBkYXRlPVNQRUNgIHwgVXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBT" + - "UEVDYCB1c2VzIGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVM" + - "aW1pdD08bGltaXQ+YDsgYWNjZXB0ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0o" + - "ZmxhZ3MubWQpIHwKfCBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + - "fCBTY2hlZHVsZSBhIGRlcGxveW1lbnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkw" + - "MHMpIHwKfCBgZnVuY3Rpb24gZGVwbG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1p" + - "ZD1WSUQgWy0tanNvbl1gIHwgRGVwbG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFD" + - "VElWRVx8REVQTE9ZSU5HXHxFUlJPUlx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRh" + - "dGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwK" + - "fCBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1W" + - "SURgIHwgU3RvcCBhIGRlcGxveW1lbnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5j" + - "dGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24g" + - "fCBSZXF1aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBp" + - "bnZva2VkIHRocm91Z2ggYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxm" + - "dW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlv" + - "bi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQg" + - "fCAqKkRFU1RSVUNUSVZFOiBjb25maXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNv" + - "bW1hbmRzIHJlcXVpcmUgYE5WQ0ZfQVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFu" + - "ZCBgTlZDRl9CQVNFX05WQ1RfVVJMYCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4g" + - "SW4gYSBmcmVzaCBzZXNzaW9uLCByZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5z" + - "dGF0ZWAgYW5kIGluamVjdCBpdCBhcyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhl" + - "IHZhbHVlOyBjaGVjayBgbnZjdEFwaUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRl" + - "IHdpdGggYGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVk" + - "LiBSdW4gYGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQg" + - "YSBuZXcga2V5LgoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8" + - "IGB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1p" + - "bWFnZT1JTUdgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENM" + - "SSBzdGF0ZTsgdXNlIGAtLWlucHV0LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0" + - "YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxt" + - "LWNoYXJ0PUNIQVJUYCB8IFN1Ym1pdCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxh" + - "Y2VzIGAtLWltYWdlYCB8CnwgYHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1p" + - "dCBhIHRhc2sgZnJvbSBhIEpTT04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + - "YWJsZSBjb25maWd1cmF0aW9ucyB8CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1s" + - "aW1pdD1OXWAgfCBMaXN0IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0" + - "YXR1c2VzOiBgUVVFVUVEYCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVS" + - "Uk9SRURgLCBgQ0FOQ0VMRURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhD" + - "RUVERURfTUFYX1FVRVVFRF9EVVJBVElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQg" + - "dGFzayBkZXRhaWxzIHwgVXNlcyBzYXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8" + - "CnwgYHRhc2sgZXZlbnRzIFt0YXNrSWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2" + - "ZW50cyBmb3IgYSB0YXNrIHwgfAp8IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1" + - "bHQgYXJ0aWZhY3RzIGZvciBhIGNvbXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdo" + - "ZW4gYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3Qg" + - "eWV0IHN1cHBvcnRlZCB8CnwgYHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5p" + - "bmcgdGFzayB8IE5vLW9wIGlmIGFscmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRl" + - "bGV0ZSBbdGFza0lkXWAgfCBEZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFz" + - "ayBJRCArIGN1cnJlbnQgc3RhdHVzLCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVw" + - "bHkgZXhwbGljaXRseSBjb25maXJtaW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4g" + - "RG8gbm90IHRyZWF0IHRoZSBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24u" + - "KiogfAp8IGB0YXNrIHVwZGF0ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVl" + - "YCB8IFVwZGF0ZSBzZWNyZXRzIG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQg" + - "b3IgdXBkYXRlZCBieSBuYW1lLCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBh" + - "cmUgcHJlc2VydmVkIHwgVmFsdWVzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVs" + - "ayAtLXRhc2staWRzPUlEMVssSUQyLOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUg" + - "dGFza3MgaW4gb25lIHJlcXVlc3QgfCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwg" + - "Tm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQ" + - "SSBLZXlzIHZpYSBwdWJsaWMgYXBpIGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52" + - "Y2YtY2xpLnN0YXRlYDsgY2xlYXJzIHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtl" + - "eXMgKGZ1bmN0aW9uIGFuZCB0YXNrKSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9r" + - "ZW4sIGxhc3QgZW5kcG9pbnRzLCBmdW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNl" + - "bGYtaG9zdGVkIHN0YXR1c2AgfAp8IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8" + - "dGFza10gWy0tZGVzY3JpcHRpb2494oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkg" + - "a2V5cyB8IERlZmF1bHQgKG5vIGAtLWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtl" + - "eSBhbmQgYSB0YXNrIGtleTsgYC0tZm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJh" + - "dGVzIG9uZSBvbmx5OyBgLS1zY29wZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdl" + - "bmVyYXRlIC0tdmFsaWRhdGVgIHwgTWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBn" + - "ZW5lcmF0ZWQga2V5IHwgVmFsaWRhdGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVk" + - "aWVuY2UgKE5WQ0YgZm9yIGZ1bmN0aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBh" + - "cGkta2V5IGxpc3RgIHwgTGlzdCBBUEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5W" + - "Q0Ytc2NvcGVkIGtleXMgb25seSB8CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtl" + - "eSByZXZva2UgS0VZLUlEYCB8IFJlbW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNl" + - "cioqIHwKfCBgYXBpLWtleSBzaG93YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJv" + - "bSBzdGF0ZSB8IHwKCiMjIEFnZW50IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMg" + - "fAp8LS0tfC0tLXwtLS18CnwgYGFnZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwg" + - "SW5zdGFsbCBhbGwgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3Nr" + - "aWxscy9gIGFuZCBgfi8uYWdlbnRzL3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxs" + - "cyBkaXJlY3RvcmllcyB8CnwgYGFnZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAg" + - "fCBSZW1vdmUgb25seSBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQg" + - "YmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJl" + - "bWFpbiB8CnwgYGFnZW50LXNraWxsIHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQg" + - "YG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxl" + - "IHwgRm9yIGRlYnVnZ2luZyB8CnwgYGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQg" + - "U0hBIGFuZCBlbWJlZGRlZCBwdWJsaWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcIWzr4GLYk" + - "AAC2JAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBj" + - "b2RlcwoKU3RhYmxlIGFjcm9zcyBzdWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50" + - "IHJldHJ5IC8gc3VyZmFjaW5nIGxvZ2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1" + - "c2VzIHwKfC0tLXwtLS18LS0tfAp8IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsg" + - "aW5zdGFsbCBjb21wbGV0ZWQ7IGRlcGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVy" + - "cm9yIHwgSGVsbSByZW5kZXIgZmFpbGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBm" + - "b3VuZDsgWUFNTCBwYXJzZSBlcnJvciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQg" + - "fCBBIGBjaGVja2AgcmVzdWx0IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1p" + - "c3Npbmc7IGt1YmVjdGwgbm90IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VD" + - "bGFzcyBhYnNlbnQ7IGEgY2x1c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJl" + - "Y29uZmlnIG9yIGNvbnRleHQsIG9yIGEgZmlyc3QgQVBJIGNhbGwgdGhhdCBmYWlscyBmb3IgYW55" + - "IHJlYXNvbjogcmVmdXNlZCBvciBkcm9wcGVkIGNvbm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRp" + - "YWxzLCBhIGZhaWxpbmcgY3JlZGVudGlhbCBwbHVnaW4sIGEgc2VydmVyIGVycm9yKTsgYSBjbHVz" + - "dGVyLXZhbGlkYXRvciB0aGF0IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxs" + - "IGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBp" + - "bWFnZSk7IGEgYHN0YWxlLW5hbWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNr" + - "IFRlcm1pbmF0aW5nYC4gU3VjaCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRp" + - "bWUgYnVkZ2V0IGN1dCBhbm90aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3Vs" + - "dHMgZXhpdCBgMGAsIGluY2x1ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxt" + - "IHJlbGVhc2UgbGVmdCBtaWQtb3BlcmF0aW9uLCBhIG5hbWVzcGFjZSB3aXRoIG5vIEhlbG0gcmVs" + - "ZWFzZSwgYW5kIGEgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgc2F5aW5nIG5vIGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl9pbWFnZWAgaXMgc2V0IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRv" + - "a2VuICsgYC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVu" + - "ZHBvaW50IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0" + - "aW1lZCBvdXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90" + - "IHBhc3MgYmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dy" + - "ZXNzOyB0aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgdGhhdCBjYW4gZmFp" + - "bCB0aGUgcnVuIGJlZm9yZSBpdCBmaW5pc2hlZCAoaXRzIHJvdyBzYXlzIG5vdCBydW4gb3IgY3V0" + - "IHNob3J0KSBhbmQgbm8gb3RoZXIgY2hlY2sgZmFpbGVkLiBBIGN1dC1zaG9ydCByb3cga2VlcHMg" + - "dGhlIHdvcnN0IHNldmVyaXR5IGl0cyBjaGVjayBjYW4gcmVwb3J0LCBzbyBhIGNoZWNrIHRoYXQg" + - "Y2FuIG9ubHkgd2Fybiwgc3VjaCBhcyBhIHJlZ2lzdHJ5IHRoYXQgaXMgbm90IGNyaXRpY2FsLCBz" + - "dGF5cyBhIHdhcm5pbmcuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBz" + - "IGl0LCBzbyBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8" + - "IENhbmNlbGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5" + - "IGluIHRoZSBgY2hlY2sgLS13YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNj" + - "YCBvciBgQ3RybC1DYCBpbiB0aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBl" + - "dmljdGVkOyB0ZXJtaW5hbCBvciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50" + - "IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAg" + - "fCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8g" + - "dXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBh" + - "IGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVj" + - "a3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBm" + - "aXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0" + - "aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2Vy" + - "IE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcg" + - "aW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3Qg" + - "cmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBi" + - "ZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNr" + - "YCByZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2" + - "ZXJkaWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdh" + - "cm5pbmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxl" + - "cy9jaS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAt" + - "LXdhaXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3Vj" + - "Y2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVk" + - "YCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJh" + - "bnNpZW50OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBl" + - "ZCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBl" + - "bWl0cyBgZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFp" + - "bGVkYDsgYHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVz" + - "dGVyLXZhbGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVh" + - "bnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVk" + - "KSwgYGNoZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZp" + - "bmFsYCBldmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAg" + - "ZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBs" + - "YXN0IHN0ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2Us" + - "IGJlZm9yZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0" + - "LiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFp" + - "bGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRp" + - "YXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tv" + - "ZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0" + - "aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwp" + - "LiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNp" + - "bmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCOUdeab6DwAA+g8AAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5t" + - "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChl" + - "dmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1j" + - "bGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8" + - "IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9m" + - "ZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3Rl" + - "ZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4u" + - "YCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3Ig" + - "YG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8" + - "IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJj" + - "ZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVS" + - "TCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVs" + - "bWZpbGUgZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0t" + - "ZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVm" + - "b3JlIGl0cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNl" + - "ZSBbU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUt" + - "c3RhY2spIHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0" + - "ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3Zl" + - "cnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9u" + - "bHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0" + - "cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwg" + - "cmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxh" + - "aW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8" + - "IGBjaGVja2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5" + - "IHBhc3Mgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nl" + - "c3M6IGZhbHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2Is" + - "IHdoaWNoIGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lw" + - "LWNsdXN0ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFy" + - "LCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0" + - "cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNo" + - "ZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRz" + - "IGV2ZW50IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGgg" + - "YC0tbm8tY2xlYW51cGAuIEEgbWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElPTiBpcyBh" + - "IHVzYWdlIGVycm9yIChleGl0IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRyb2wtcGxh" + - "bmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEt" + - "MjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8" + - "IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29u" + - "dGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hl" + - "biBjb250ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBo" + - "ZXJlLCBpbiBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25m" + - "aWcgYXMgYGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25lIGRlcml2" + - "ZWQgZnJvbSBhIGBiYXNlX2h0dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2YubnZpZGlh" + - "LmNvbWAsIGFzIHRoZSBjb25maWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMgYHNpcy1y" + - "ZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91" + - "cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0" + - "IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2" + - "ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFu" + - "ZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93" + - "cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52" + - "OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBg" + - "ZmFsc2VgIHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBg" + - "LS1jb250cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWly" + - "ZWQuIGAtLXByZWAgc2VsZWN0cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBp" + - "dHMgb3duLiBPbmx5CnRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBi" + - "b3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVk" + - "IHJvbGUgY2hlY2tzIHRoZSBjdXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBs" + - "b2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFi" + - "aWxpdHksIHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3Ig" + - "YC0tY29tcHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBh" + - "IHJvbGUncyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3Rl" + - "ciBhcyBpbnN0YWxsZWQuIEEgbWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxt" + - "ZmlsZWAgb3IgYGhlbG1gIGZhaWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hl" + - "Y2sgYW4gaW5zdGFsbGVkIHN0YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2Fy" + - "bnMgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQg" + - "Y29udHJvbCBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUg" + - "Y2x1c3Rlci12YWxpZGF0b3IuIE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21w" + - "dXRlLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIg" + - "bmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNv" + - "bmZpZ3VyZWQgSUNNUyBVUkwsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRv" + - "ciB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1j" + - "b21wdXRlLXBsYW5lYCwgU0lTIHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0" + - "IGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5h" + - "bWUgc2hvd24gaW4gdGhlIG91dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hl" + - "Y2tgIGRvZXMgbm90IHJlcXVpcmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwg" + - "U2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBr" + - "dWJlY29uZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0" + - "aGUgcHJvYmUgaW1hZ2UgaXMgb24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBz" + - "aW5jZSB0aGUgcHJvYmUgcG9kcyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5" + - "LWxpbWl0c2Agcm93IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6" + - "IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwg" + - "YGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVu" + - "cyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMg" + - "YQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9y" + - "IGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0" + - "IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUg" + - "cnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdl" + - "IHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9u" + - "IGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhh" + - "dCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0" + - "IGNvdWxkIG5vdCBiZSByZWFkLCBzbyB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3du" + - "LgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNr" + - "cyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9m" + - "IHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3Qg" + - "bmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + - "ci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBg" + - "TlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0" + - "YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwg" + - "dGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBz" + - "YXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBV" + - "bnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xl" + - "J3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBp" + - "cyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0" + - "Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNy" + - "ZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20g" + - "YSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBj" + - "cmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFy" + - "ZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFs" + - "aWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0" + - "cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUg" + - "Y2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFu" + - "YWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlv" + - "YCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5v" + - "ciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5p" + - "bmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBm" + - "YWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5W" + - "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVy" + - "X3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwg" + - "LSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0" + - "aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBu" + - "b2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxl" + - "IGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9D" + - "TElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3Zh" + - "bGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3Rh" + - "Y2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxs" + - "LCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6" + - "IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93" + - "biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4g" + - "RmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29t" + - "cG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZp" + - "bGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZB" + - "TElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + - "b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNr" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0" + - "XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0" + - "aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hv" + - "c2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZl" + - "ck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUg" + - "Y29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NM" + - "VVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0" + - "b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJl" + - "cm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1" + - "bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNl" + - "ZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBh" + - "IFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3Mg" + - "cmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBh" + - "bmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMg" + - "aW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUg" + - "Zm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0" + - "cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZh" + - "bGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5k" + - "IGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25g" + - "IHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRh" + - "dG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNv" + - "IHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1" + - "c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRv" + - "cmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjog" + - "YE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gLCBgdHJ1ZWAgb3Ig" + - "YGZhbHNlYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9y" + - "IEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdn" + - "aW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVu" + - "ZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsg" + - "aW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhh" + - "dCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMg" + - "b2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUg" + - "bGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93" + - "LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ct" + - "bG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0" + - "aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8" + - "Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdv" + - "cnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAu" + - "IFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8g" + - "c3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0" + - "cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2Jl" + - "cyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNy" + - "ZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29u" + - "ZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRz" + - "U3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJ" + - "IGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElf" + - "S0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQ" + - "SV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25s" + - "eSBmb3IgYQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNp" + - "bmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZl" + - "ciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hl" + - "biB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVjdHMgdGhl" + - "IGRvY2tlcgpsb2dpbi4gVGhlIHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBkaXNjb3Zl" + - "cnkgYW5kIHRoZSB2YWxpZGF0b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93IHNheXMg" + - "aG93IHRvIHJlbmV3IHRoZSBsb2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBgLS13YWl0" + - "YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdo" + - "aWxlIHRoZQpydW4gd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNr" + - "cyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5k" + - "IHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVn" + - "aXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBv" + - "bmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0" + - "aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRlbnRpYWwg" + - "dGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJ" + - "QQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0YWxsIGEg" + - "cmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxz" + - "IHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90" + - "IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApj" + - "cmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFr" + - "IHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRo" + - "IGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlz" + - "IG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlk" + - "IGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxp" + - "ZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRo" + - "IGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3Rh" + - "Y2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5" + - "IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdh" + - "dGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVz" + - "cyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0" + - "aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0" + - "aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBj" + - "b21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBk" + - "cm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sn" + - "cyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBp" + - "LmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwK" + - "fCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAg" + - "d2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFs" + - "aWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRT" + - "YCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhl" + - "IHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVp" + - "cmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBu" + - "YW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2Jl" + - "IGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0Zf" + - "TjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0" + - "aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2Ny" + - "aWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZg" + - "IG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZv" + - "ciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBg" + - "IGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxs" + - "IHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIg" + - "YGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUg" + - "Y29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1z" + - "dGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5" + - "IHJ1biksIGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5" + - "IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkg" + - "YW4gZWFybGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0" + - "YWNrLAogIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxs" + - "IGNsb25lZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3Rh" + - "Y2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhl" + - "IHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMg" + - "Zm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0" + - "ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1z" + - "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "Y2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJl" + - "ZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0" + - "YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwK" + - "fCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0" + - "IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBM" + - "aW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwK" + - "fCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVy" + - "dmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1F" + - "YCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tp" + - "cCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZp" + - "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBO" + - "QU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5D" + - "QSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMt" + - "d2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZp" + - "ZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZh" + - "aWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5j" + - "dGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21p" + - "dCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFk" + - "YWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1l" + - "eHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBw" + - "YXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxT" + - "Q09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2Vy" + - "dmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVk" + - "IGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJh" + - "dGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBk" + - "YCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAt" + - "LWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24g" + - "ZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8" + - "CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNl" + - "LXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVy" + - "ZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVu" + - "Y3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERF" + - "RkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSBy" + - "ZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFy" + - "dC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBO" + - "QU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1" + - "aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpW" + - "RVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8" + - "IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9k" + - "ZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGlt" + - "aXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+" + - "YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4g" + - "VXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBz" + - "cGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1" + - "bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHBy" + - "aW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxt" + - "LXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlv" + - "cml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNB" + - "IElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNP" + - "TiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExN" + - "ImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2Au" + - "IGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFt" + - "IHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUg" + - "YC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRp" + - "bmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBw" + - "b3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4K" + - "YGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBh" + - "cmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBm" + - "b3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwg" + - "YEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVu" + - "aXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAw" + - "MDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNr" + - "YWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQg" + - "YmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFy" + - "dGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0" + - "aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVy" + - "bmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxM" + - "TSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1u" + - "YW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRo" + - "ZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQg" + - "UmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAg" + - "Zm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBg" + - "ZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdz" + - "IHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZv" + - "cm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9" + - "PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxg" + - "LiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJp" + - "bmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklU" + - "WWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdp" + - "dGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8" + - "IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVy" + - "LWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0" + - "IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4g" + - "fCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1td" + - "YCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAg" + - "YW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1l" + - "IG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBm" + - "dW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyBy" + - "ZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlk" + - "IElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUg" + - "ZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5H" + - "UFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAg" + - "fAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1y" + - "ZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIg" + - "ZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNw" + - "ZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sg" + - "Y3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3Ig" + - "cmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1l" + - "IChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRg" + - "IHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZp" + - "bGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3Rh" + - "bmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5D" + - "UC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11" + - "dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENI" + - "QVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNp" + - "dmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3Bl" + - "YyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0" + - "IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0" + - "ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2Ug" + - "fCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNz" + - "ZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCIt" + - "LWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZh" + - "bHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8" + - "IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJl" + - "cGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJ" + - "T05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBO" + - "byBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFU" + - "SU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8" + - "IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9O" + - "YCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRl" + - "ZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0" + - "byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlv" + - "biBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVh" + - "bS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBM" + - "T0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0" + - "OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVz" + - "b3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBU" + - "YXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFz" + - "ayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0" + - "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlE" + - "YCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVt" + - "ZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCMqN" + - "BihUVgAAVFYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVz" + - "aG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJl" + - "bWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENM" + - "SSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBz" + - "aG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRp" + - "YXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGlu" + - "ZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRo" + - "ZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93" + - "cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ct" + - "bG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJl" + - "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8" + - "IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0" + - "aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBu" + - "ZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9k" + - "b2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQg" + - "b24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2lu" + - "c3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8v" + - "aGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1" + - "bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5v" + - "IHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZh" + - "bGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBj" + - "b25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12" + - "YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwg" + - "c28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlk" + - "YXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5p" + - "ZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0" + - "aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8" + - "IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBu" + - "b3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRz" + - "IGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBv" + - "biBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNo" + - "IHRoZSBrdWJlbGV0LiBXYXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duIHwgR3JhbnQg" + - "YGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQg" + - "d2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12" + - "YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxs" + - "ZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2Np" + - "Oi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdh" + - "dGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBy" + - "ZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVz" + - "dGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwg" + - "QW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsi" + - "YW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFz" + - "cyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNr" + - "J3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFz" + - "cyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVz" + - "OiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2Rl" + - "IGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklE" + - "SUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBo" + - "dHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0" + - "b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3Bl" + - "cmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEg" + - "d2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6" + - "IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5n" + - "IGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24g" + - "ZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxp" + - "emVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3Rs" + - "IGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdo" + - "YXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUg" + - "dGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkg" + - "YXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRp" + - "bmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMg" + - "c3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBj" + - "aGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5h" + - "dGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxt" + - "IHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBB" + - "biBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0" + - "IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBg" + - "IGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFk" + - "IGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBo" + - "ZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6" + - "IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBu" + - "byB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVt" + - "ZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJl" + - "aW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVj" + - "dGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFy" + - "Z3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5k" + - "YC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFs" + - "c28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5v" + - "IEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNl" + - "cyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJg" + - "IGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52" + - "aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUg" + - "Y2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3Ig" + - "Z2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAg" + - "YXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhl" + - "IHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQg" + - "ZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBp" + - "dHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklM" + - "RV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUg" + - "YmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2Ug" + - "dGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBg" + - "Z3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0" + - "aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3Rh" + - "bGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRp" + - "b24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVu" + - "KSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52" + - "Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFj" + - "dGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4" + - "cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29u" + - "IGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAg" + - "dGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0" + - "aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBp" + - "bnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNj" + - "cmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBT" + - "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1l" + - "ZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMg" + - "c3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1" + - "YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdO" + - "Q1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDi" + - "gJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJg" + - "LCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJl" + - "IHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8" + - "IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0t" + - "cmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRF" + - "bnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBs" + - "YW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRy" + - "YUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVs" + - "ZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2Zm" + - "YCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3Ry" + - "eTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3Iu" + - "aW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxh" + - "bmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0t" + - "LXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEv" + - "bnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0" + - "ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBt" + - "YXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8Cnwg" + - "YE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAo" + - "SUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5l" + - "IEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNs" + - "dXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52" + - "Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3" + - "cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVj" + - "ayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExP" + - "WUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKA" + - "lCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dz" + - "IC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxv" + - "dXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiBy" + - "ZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlv" + - "dXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBh" + - "ZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAg" + - "YWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTog" + - "TlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0" + - "Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGll" + - "cyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRv" + - "IGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3Rh" + - "cnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcItQXzgvQg" + - "AAD0IAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZD" + - "RiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAg" + - "c3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRp" + - "b24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5k" + - "IHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNm" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24s" + - "IGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUK" + - "ICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95" + - "bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBs" + - "b2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIu" + - "MApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxt" + - "ID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJz" + - "aW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlh" + - "LmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZp" + - "bGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmls" + - "ZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGws" + - "IFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1" + + "dGUgaW4gSUNNUyB8IFN0YW5kYXJkICJyZW1vdmUgb25lIEdQVSBjbHVzdGVyIiBwYXRoIHwKfCBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwgT3JjaGVzdHJhdG9y" + + "OiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFu" + + "ZSB8IEZ1bGwgdW5pbnN0YWxsIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4t" + + "b25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyAocGhhc2VzICsgaGVsbSBy" + + "ZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXM7IG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCAq" + + "KkFMV0FZUyBydW4gYmVmb3JlIGFueSBhY3R1YWwgYGRvd25gKiogfAp8IGBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1lPVhdIFstLXdhdGNoXSBbLS1qc29uXWAgfCBT" + + "bmFwc2hvdCBkYXNoYm9hcmQgb2YgY2x1c3RlciBpZGVudGl0eSArIGNvbXBvbmVudCBoZWFsdGgg" + + "KyByZWNlbnQgZXZlbnRzIHwgUm91dGluZSBoZWFsdGggY2hlY2tzOyBgLS13YXRjaGAgZm9yIGxp" + + "dmUgfAp8IGBudmNmLWNsaSBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyBz" + + "ZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IHwgQmVmb3JlIGFueSBjbHVzdGVyLW1h" + + "bmFnZW1lbnQgb3BlcmF0aW9uOyBpZGVtcG90ZW50IHwKfCBgbnZjZi1jbGkgY2x1c3RlciByZWdp" + + "c3RlciAtLW5hbWU9WCAtLW5jYS1pZD1ZIC0tcmVnaW9uPVogWy0taWdub3JlLWV4aXN0aW5nXWAg" + + "fCBSZWdpc3RlciBhIGNsdXN0ZXIgSldLUytPSURDIGlzc3VlciB3aXRoIElDTVMgfCBTdGFuZGFs" + + "b25lIHJlZ2lzdGVyICh3aXRob3V0IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCkgfAp8IGBudmNmLWNs" + + "aSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwg" + + "TGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgQ2hlY2sg" + + "cmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIG5hbWVzIGFuZCBJRHMgd2l0aCB0aGUgYWRtaW4gdG9r" + + "ZW4gfAp8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUm90YXRl" + + "IGNsdXN0ZXIgSldLUyBpbiBJQ01TIHwgV2hlbiBOVkNBJ3MgSzhzIHNpZ25pbmcga2V5IGNoYW5n" + + "ZWQgYW5kIFBTQVQgdmVyaWZpY2F0aW9uIHN0YXJ0ZWQgNDAxLWluZyB8CnwgYG52Y2YtY2xpIGNs" + + "dXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgY2x1c3RlciByZWdpc3RyYXRp" + + "b24gZnJvbSBJQ01TIHwgKipDb25maXJtIHdpdGggdXNlci4qKiBEZXN0cm95cyBJQ01TIHN0YXRl" + + "IGZvciB0aGUgY2x1c3Rlci4gfAp8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3Jp" + + "cHRpb249IuKApiIgLS1leHBpcmVzLWluPTFoYCB8IE1pbnQgYm90aCBhIGZ1bmN0aW9uIEFQSSBr" + + "ZXkgYW5kIGEgdGFzayBBUEkga2V5IChkZWZhdWx0KSB8IEJlZm9yZSBpbnZva2luZyBmdW5jdGlv" + + "bnMgb3IgY3JlYXRpbmcgdGFza3M7IHJ1biBhZnRlciBldmVyeSBgaW5pdGAgfAp8IGBudmNmLWNs" + + "aSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIGZ1bmN0aW9uIC0tZGVzY3JpcHRpb249IuKApiJgIHwg" + + "TWludCBhIGZ1bmN0aW9uIEFQSSBrZXkgb25seSAoYGludm9rZV9mdW5jdGlvbmAgc2NvcGUpIHwg" + + "V2hlbiBvbmx5IGZ1bmN0aW9uIGludm9jYXRpb24gaXMgbmVlZGVkIHwKfCBgbnZjZi1jbGkgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249IuKApiJgIHwgTWludCBhIHRh" + + "c2sgQVBJIGtleSBvbmx5IHwgV2hlbiBvbmx5IHRhc2sgb3BlcmF0aW9ucyBhcmUgbmVlZGVkIHwK" + + "fCBgbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgQ3JlYXRl" + + "IGZ1bmN0aW9uIG1ldGFkYXRhIGluIElDTVMgfCBGaXJzdCBzdGVwIG9mIGFueSBmdW5jdGlvbiBk" + + "ZXBsb3k7IHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdg" + + "IGZvciBMTE0gZnVuY3Rpb25zIHwKfCBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAt" + + "LWlucHV0LWZpbGU9PGpzb24+YCB8IFNjaGVkdWxlIGEgZGVwbG95bWVudCBvZiBhIGNyZWF0ZWQg" + + "ZnVuY3Rpb24gfCBXYWl0cyBmb3IgQUNUSVZFIGJlZm9yZSByZXR1cm5pbmcgKHRpbWVvdXQgOTAw" + + "cykgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPTxqc29uPmAgfCBJ" + + "bnZva2UgYSBkZXBsb3llZCBmdW5jdGlvbiB8IFJlcXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0" + + "b2tlbikgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZl" + + "cnNpb24taWQ9VklEYCB8IFJlbW92ZSBhIGZ1bmN0aW9uIGFuZCBpdHMgZGVwbG95bWVudCB8ICoq" + + "Q29uZmlybSB3aXRoIHVzZXIuKiogfAp8IGBudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAt" + + "LWdwdT1IMTAwIC0taW5zdGFuY2UtdHlwZT1ZIC0taW1hZ2U9WmAgfCBTdWJtaXQgYSBjb250YWlu" + + "ZXIgdGFzazsgc2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGUgfCBSZXF1aXJlcyB0YXNrIEFQSSBr" + + "ZXk7IHNldCBgTlZDRl9CQVNFX05WQ1RfVVJMYCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50" + + "IHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEwMCAtLWluc3RhbmNl" + + "LXR5cGU9WSAtLWhlbG0tY2hhcnQ9WmAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBTYW1lIGFzIGNv" + + "bnRhaW5lciB0YXNrOyBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGBudmNm" + + "LWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9PGpzb24+YCB8IFN1Ym1pdCBhIHRhc2sgZnJv" + + "bSBhIEpTT04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBjb25maWd1" + + "cmF0aW9ucyB8CnwgYG52Y2YtY2xpIHRhc2sgbGlzdCBbLS1zdGF0dXM9UVVFVUVEXHxSVU5OSU5H" + + "XHxDT01QTEVURURdYCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVz" + + "IHwgfAp8IGBudmNmLWNsaSB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgZGV0YWlscyBmb3IgYSB0" + + "YXNrOyB1c2VzIHNhdmVkIHRhc2sgSUQgaWYgb21pdHRlZCB8IHwKfCBgbnZjZi1jbGkgdGFzayBl" + + "dmVudHMgW3Rhc2tJZF1gIHwgU3RyZWFtIGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwK" + + "fCBgbnZjZi1jbGkgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0" + + "cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQ7" + + "IHJldHVybnMgZW1wdHkgbGlzdCBmb3IgYE5PTkVgIHN0cmF0ZWd5IHwKfCBgbnZjZi1jbGkgdGFz" + + "ayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcXVldWVkIG9yIHJ1bm5pbmcgdGFzayB8IHwK" + + "fCBgbnZjZi1jbGkgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQg" + + "fCAqKkNvbmZpcm0gd2l0aCB1c2VyLioqIHwKfCBgbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0" + + "cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRh" + + "c2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rp" + + "bmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IHwKfCBgbnZjZi1j" + + "bGkgdGFzayBidWxrIC0tdGFzay1pZHM9SUQxLElEMmAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0" + + "aXBsZSB0YXNrcyBpbiBvbmUgY2FsbCB8IHwKCj4gUmVnaXN0cnkgY3JlZGVudGlhbCBwcm9wYWdh" + + "dGlvbjogYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkYC9gdXBkYXRlYC9gZGVsZXRlYCwg" + + "dGFzayBjcmVhdGlvbiBjYW4ga2VlcCB1c2luZyB0aGUgcHJldmlvdXMgY3JlZGVudGlhbCBmb3Ig" + + "dXAgdG8gYWJvdXQgNSBtaW51dGVzIChOVkNUIGNhY2hlcyBhY2NvdW50IGNyZWRlbnRpYWxzIGF0" + + "IGBudmN0Lm52Y2YuY2FjaGUtdHRsYCwgZGVmYXVsdCBgUFQ1TWApLCBldmVuIHRob3VnaCBgcmVn" + + "aXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBzaG93IHRoZSBuZXcgdmFsdWUgaW1tZWRpYXRl" + + "bHkuIFdhaXQgYWJvdXQgNSBtaW51dGVzLCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVz" + + "dGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseS4gU2VlIFtyZWZl" + + "cmVuY2UvdHJvdWJsZXNob290aW5nLm1kXShyZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kKS4K" + + "CiMjIExMTSBmdW5jdGlvbiB0eXBlCgpVc2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGZvciBPcGVu" + + "QUktY29tcGF0aWJsZSBtb2RlbHMgc2VydmVkIHRocm91Z2ggdGhlIHNlbGYtbWFuYWdlZCBMTE0g" + + "R2F0ZXdheS4gTExNIGZ1bmN0aW9ucyBtdXN0IGRlZmluZSBhdCBsZWFzdCBvbmUgYG1vZGVsc1td" + + "YCBlbnRyeSB3aXRoIGBuYW1lYCBhbmQgYGxsbUNvbmZpZy51cmlzYDsgdGhlIHN1cHBvcnRlZCB1" + + "cHN0cmVhbSBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + + "LCBhbmQgYC92MS9lbWJlZGRpbmdzYC4KClVzZSBgL2hlYWx0aGAgb24gcG9ydCBgODAwMGAgYXMg" + + "dGhlIGRlZmF1bHQgT3BlbkFJLWNvbXBhdGlibGUgY29udGFpbmVyIGhlYWx0aCBwcm9iZSB1bmxl" + + "c3MgdGhlIGltYWdlIGV4cG9zZXMgYSBkaWZmZXJlbnQgcmVhZGluZXNzIHBhdGguCgpMTE0gZnVu" + + "Y3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhl" + + "bG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCBgZnVuY3Rpb25UeXBlOiAiTExNImAg" + + "YW5kIGBtb2RlbHNbXS5sbG1Db25maWdgLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1D" + + "aGFydFNlcnZpY2VOYW1lYCBpbiB0aGUgY3JlYXRlIHJlcXVlc3QuIGBoZWxtQ2hhcnRTZXJ2aWNl" + + "TmFtZWAgbXVzdCBtYXRjaCB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIGV4cG9zZWQgYnkgdGhlIGNo" + + "YXJ0LCBhbmQgYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQuCgpJbnZv" + + "Y2F0aW9uIHVzZXMgdGhlIExMTSByb3V0ZSwgZm9yIGV4YW1wbGUgYGh0dHBzOi8vbGxtLmludm9j" + + "YXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9uc2AuIFRoZSBPcGVuQUkgYG1vZGVsYCB2" + + "YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmA7IHRoZSBmdW5jdGlvbiBJ" + + "RCBpcyB0aGUgcm91dGluZyBrZXkgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0" + + "cmVhbS4KClVwZGF0ZSBtdXRhYmxlIHBlci1tb2RlbCByb3V0aW5nIHNldHRpbmdzIHdpdGggYG52" + + "Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0ZSAtLWxsbS1tb2RlbC11cGRhdGU9J25hbWU9PG1vZGVsPixy" + + "b3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD4nYCwgb3IgcHV0IHRo" + + "ZSBzYW1lIGZpZWxkcyB1bmRlciBgbW9kZWxVcGRhdGVzW10ubGxtQ29uZmlnYCBpbiBhbiB1cGRh" + + "dGUgSlNPTiBmaWxlLiBTZWUgW3JlZmVyZW5jZS9mbGFncy5tZF0ocmVmZXJlbmNlL2ZsYWdzLm1k" + + "KSBmb3IgYWNjZXB0ZWQgcm91dGluZyBtZXRob2RzLiBgdG9rZW5SYXRlTGltaXRgIHN1cHBvcnRz" + + "IHBvc2l0aXZlIGludGVnZXIgbGltaXRzIGZvciBgU2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2A7" + + "IHVzZSBKU09OIGlucHV0IGZvciBjb21iaW5lZCBsaW1pdHMgc3VjaCBhcyBgMTAwMC1TLDUwMDAt" + + "TSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLiBEbyBub3QgaW5jbHVkZSBgdXJpc2AgaW4g" + + "bW9kZWwgdXBkYXRlcy4KCkZvciBgL3YxL3Jlc3BvbnNlc2AsIHRoZSBnYXRld2F5IHByb3hpZXMg" + + "dGhlIG5hdGl2ZSBSZXNwb25zZXMgcGF0aCB1cHN0cmVhbSwgcmVsYXlzIFNTRSB0byBzdHJlYW1p" + + "bmcgY2xpZW50cywgYW5kIGFnZ3JlZ2F0ZXMgdGhlIHRlcm1pbmFsIEpTT04gcmVzcG9uc2UgZm9y" + + "IG5vbi1zdHJlYW1pbmcgY2xpZW50cy4gRm9yIGAvdjEvZW1iZWRkaW5nc2AsIGlucHV0IG1heSBi" + + "ZSBhIHN0cmluZyBvciBzdHJpbmcgYXJyYXksIG11c3QgYmUgbm9uLWVtcHR5LCBhbmQgbWF5IGNv" + + "bnRhaW4gYXQgbW9zdCAyMDQ4IGVudHJpZXMuCgpTZXNzaW9uIHN0aWNraW5lc3MgdXNlcyBgeC1t" + + "dWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBjaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMg" + + "QVBJIHJlcXVlc3RzIG9ubHkuIEVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90IHVzZSBzdGlja2lu" + + "ZXNzLgoKIyMgQ29tbW9uIHdvcmtmbG93cwoKRm9yIHN0ZXAtYnktc3RlcCBwbGF5Ym9va3MsIGxv" + + "YWQgdGhlIHByb21wdCB0aGF0IG1hdGNoZXMgdGhlIHVzZXIncyBpbnRlbnQ6CgotICoqSW5zdGFs" + + "bCBmcm9tIHNjcmF0Y2guKiogW3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRdKHByb21w" + + "dHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWQpIOKAlCBrM2QgY2x1c3RlciDihpIgcHJlZmxpZ2h0" + + "IOKGkiB1cCDihpIgZGVwbG95IGEgc21va2UgZnVuY3Rpb24uCi0gKipBZGQgYSBuZXcgY29tcHV0" + + "ZSBwbGFuZS4qKiBbcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZF0ocHJvbXB0cy9hZGQtY29t" + + "cHV0ZS1wbGFuZS5tZCk6IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgY29tcHV0ZSBwbGFuZSBhZ2Fp" + + "bnN0IGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUuCi0gKipEZXBsb3kgYW5kIGludm9rZSBhIGZ1" + + "bmN0aW9uLioqIFtwcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kXShwcm9tcHRzL2RlcGxveS1h" + + "bmQtaW52b2tlLm1kKSDigJQgY3JlYXRlIOKGkiBkZXBsb3kg4oaSIEFQSSBrZXkg4oaSIGludm9r" + + "ZSwgaW5jbHVkaW5nIHRoZSBMTE0gY3JlYXRlL2ludm9rZSB2YXJpYW50LgotICoqRGlhZ25vc2Ug" + + "YSBmYWlsZWQgaW5zdGFsbC4qKiBbcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0o" + + "cHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkg4oCUIGBzdGF0dXMgLS1qc29uYCDi" + + "hpIgaWRlbnRpZnkgZmFpbGVkIGNvbXBvbmVudCDihpIga3ViZWN0bCBkZXNjcmliZSDihpIgcmVt" + + "ZWRpYXRpb24uCi0gKipSb3RhdGUgSldLUy4qKiBbcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + + "Lm1kXShwcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWQpIOKAlCB3aGVuIFBTQVQgYXV0aCBz" + + "dGFydHMgZmFpbGluZy4KLSAqKlRlYXIgZG93bi4qKiBbcHJvbXB0cy90ZWFyZG93bi5tZF0ocHJv" + + "bXB0cy90ZWFyZG93bi5tZCkg4oCUIGBkb3duIC0tcGxhbi1vbmx5YCBmaXJzdCwgdGhlbiByZWFs" + + "IHJ1bi4gYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgZm9yIG9uZSBjb21wdXRlIHBsYW5lIChvcmNo" + + "ZXN0cmF0b3I6IGRyYWluICsgdW5pbnN0YWxsICsgY2x1c3RlciBkZWxldGUpOyBgdW5pbnN0YWxs" + + "IC0tY29udHJvbC1wbGFuZWAgZm9yIHRoZSBjb250cm9sIHBsYW5lIChwZXItcGxhbmUgcHJpbWl0" + + "aXZlKTsgYGRvd24gLS1hbGwgLS1jb25maXJtYCBmb3IgZXZlcnl0aGluZzsgYHVuaW5zdGFsbCAt" + + "LW5vLWFwcGx5IDxwbGFuZT4gfCBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBmb3IgR2l0T3BzLgotICoq" + + "Q3JlYXRlIGFuZCBydW4gYSB0YXNrLioqIFtwcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRd" + + "KHByb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZCkg4oCUIG1pbnQgQVBJIGtleXMg4oaSIHRh" + + "c2sgY3JlYXRlIChjb250YWluZXIgb3IgSGVsbSkg4oaSIG1vbml0b3Igd2l0aCBgdGFzayBnZXRg" + + "IC8gYHRhc2sgZXZlbnRzYCDihpIgcmV0cmlldmUgcmVzdWx0cyDihpIgY2xlYW51cC4KCiMjIFJl" + + "ZmVyZW5jZQoKLSBbcmVmZXJlbmNlL2NvbW1hbmRzLm1kXShyZWZlcmVuY2UvY29tbWFuZHMubWQp" + + "IOKAlCBmdWxsIHN1YmNvbW1hbmQgY2hlYXQgc2hlZXQKLSBbcmVmZXJlbmNlL2ZsYWdzLm1kXShy" + + "ZWZlcmVuY2UvZmxhZ3MubWQpIOKAlCBnbG9iYWwgKyBwZXItY29tbWFuZCBmbGFncwotIFtyZWZl" + + "cmVuY2UvZXhpdC1jb2Rlcy5tZF0ocmVmZXJlbmNlL2V4aXQtY29kZXMubWQpIOKAlCB3aGF0IGVh" + + "Y2ggbm9uLXplcm8gZXhpdCBtZWFucwotIFtyZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kXShy" + + "ZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kKSDigJQga25vd24gZXJyb3JzIOKGkiByZW1lZGlh" + + "dGlvbiB0YWJsZQoKIyMgU2FmZXR5IHJ1bGVzIOKAlCBDUklUSUNBTAoKKipORVZFUiBkbyB0aGVz" + + "ZSB3aXRob3V0IGV4cGxpY2l0IHVzZXIgY29uZmlybWF0aW9uOioqCgotIGBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbiBhbnkgZm9ybSDigJQgZGVzdHJ1Y3RpdmUu" + + "ICoqQUxXQVlTIHJ1biB3aXRoIGAtLXBsYW4tb25seWAgKGBkb3duYCkgb3IgYC0tbm8tYXBwbHlg" + + "IChgdW5pbnN0YWxsYCkgZmlyc3QqKiBhbmQgc2hvdyB0aGUgdXNlciB3aGF0IHdvdWxkIGhhcHBl" + + "bi4gU3RhdGUgd2hpY2ggY29tcHV0ZSBwbGFuZShzKSBhbmQgd2hldGhlciBwZXJzaXN0ZW50IHN0" + + "YXRlIHdvdWxkIGJlIHdpcGVkLgotIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcmVtb3Zl" + + "LXBlcnNpc3RlbnRgIChvciBgdW5pbnN0YWxsIC0tcmVtb3ZlLXBlcnNpc3RlbnRgKSDigJQgZGVs" + + "ZXRlcyBDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQgdXNlciBk" + + "YXRhLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiBDb25maXJtIGV4cGxpY2l0bHkgdGhhdCB0" + + "aGlzIGlzIHdoYXQgdGhlIHVzZXIgd2FudHMuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmUgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIOKA" + + "lCBvcnBoYW5zIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSAoUFNBVCBhdXRoIGJyZWFr" + + "cyBpbW1lZGlhdGVseSkuIFN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZvcmUgcGFzc2luZyB0aGlz" + + "IGZsYWcuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGxgIG51a2VzIGV2ZXJ5dGhp" + + "bmcuIEFsd2F5cyBzaG93IHRoZSByZWdpc3RlcmVkIGNsdXN0ZXJzIChgbnZjZi1jbGkgY2x1c3Rl" + + "ciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9PG5jYS1pZD5gKSBhbmQgZ2V0IGNvbmZpcm1hdGlv" + + "bi4KLSBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIOKAlCByZW1vdmVzIHRoZSBjbHVzdGVyJ3Mg" + + "SUNNUyByZWdpc3RyYXRpb247IHRoZSBjb21wdXRlIHBsYW5lIGltbWVkaWF0ZWx5IHN0b3BzIGJl" + + "aW5nIGFibGUgdG8gYXV0aGVudGljYXRlLgotIGBudmNmLWNsaSBmdW5jdGlvbiBkZWxldGVgIOKA" + + "lCByZW1vdmVzIGEgZnVuY3Rpb24gYW5kIGFueSBhY3RpdmUgZGVwbG95bWVudC4KLSBgbnZjZi1j" + + "bGkgdGFzayBkZWxldGVgIOKAlCBwZXJtYW5lbnRseSByZW1vdmVzIHRoZSB0YXNrIHJlY29yZC4g" + + "U3RvcCwgc3RhdGUgdGhlIHRhc2sgSUQgYW5kIGN1cnJlbnQgc3RhdHVzLCB0aGVuIHdhaXQgZm9y" + + "IGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IHRoYXQgZXhwbGljaXRseSBjb25maXJtcyBkZWxldGlv" + + "biBvZiB0aGF0IHNwZWNpZmljIHRhc2sgYmVmb3JlIHJ1bm5pbmcgdGhpcyBjb21tYW5kLiBEbyBu" + + "b3QgdHJlYXQgdGhlIHVzZXIncyBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRp" + + "b24uCi0gQW55IHJhdyBgaGVsbSB1bmluc3RhbGxgIG9yIGBrdWJlY3RsIGRlbGV0ZSBwdmMvcHZg" + + "IOKAlCBhZmZlY3RzIHBlcnNpc3RlbnQgc3RhdGUuIFByZWZlciBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93bmAgKG9yY2hlc3RyYXRvcikgb3IgYHVuaW5zdGFsbGAgKHBlci1wbGFuZSkgd2hpY2gg" + + "aGFuZGxlIHRoaXMgc2FmZWx5LgotIEFueSBgLS1mb3JjZWAgZmxhZyAoYC0tZm9yY2Utd2l0aC1y" + + "ZWdpc3RlcmVkLWNsdXN0ZXJzYCwgYC0tY29uZmlybWAgaW4gbm9uLWludGVyYWN0aXZlIGNvbnRl" + + "eHRzKS4KCioqQUxXQVlTIGRvIHRoZXNlOioqCgotIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "c3RhdHVzYCBiZWZvcmUgYXNzdW1pbmcgYSBjbHVzdGVyIGV4aXN0cyAvIGlzIGhlYWx0aHkuCi0g" + + "U2hvdyB0aGUgcGxhbm5lZCBhY3Rpb24gKGNsdXN0ZXIgbmFtZSwgZnVuY3Rpb24gbmFtZSwgR1BV" + + "IHR5cGUsIGNvc3QgaWYga25vd24pIGJlZm9yZSBjcmVhdGluZy4KLSBCZWZvcmUgY3JlYXRpbmcg" + + "b3IgZGVwbG95aW5nIGEgY29udGFpbmVyIG9yIExMTSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhh" + + "Y3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIEZvciBM" + + "TE0gZnVuY3Rpb25zLCBhbHNvIGNvbmZpcm0gdGhlIGV4YWN0IG1vZGVsIG5hbWUgdXNlZCBpbiBg" + + "bW9kZWxzW10ubmFtZWAgYW5kIE9wZW5BSSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1u" + + "YW1lPiJgLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgYXNrIHRoZSB1c2VyIGluc3RlYWQgb2Yg" + + "Z3Vlc3Npbmcgb3Igc3VibWl0dGluZyBleGFtcGxlIHBsYWNlaG9sZGVycy4KLSBDb25maXJtIGV4" + + "YWN0IHJlc291cmNlIG5hbWVzIGJlZm9yZSBkZWxldGlvbi4gTWF0Y2ggYWdhaW5zdCBgY2x1c3Rl" + + "ciBsaXN0LXJlZ2lzdGVyZWRgIC8gYGZ1bmN0aW9uIGxpc3RgIG91dHB1dC4KLSBJbiBDSSAvIG5v" + + "bi1pbnRlcmFjdGl2ZSBjb250ZXh0cywgdXNlIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRK" + + "V1RgLiBOZXZlciBwcm9wb3NlIGludGVyYWN0aXZlIGBudmNmLWNsaSBpbml0YCB3aGVuIGAkQ0lg" + + "IGlzIHNldC4KCioqTkVWRVIgcGFzdGUgdGhlc2UgaW50byBjaGF0IC8gbG9ncyAvIGZlZWRiYWNr" + + "OioqCgotIEFkbWluIHRva2VucyAoZnVsbCBKV1QpLiBTaG93IHRoZSBmaXJzdCA4IGNoYXJzICsg" + + "YC4uLmAgaWYgeW91IG11c3QgcmVmZXJlbmNlIG9uZS4KLSBBUEkga2V5cyAoYG52YXBpLeKApmAp" + + "LgotIENvbnRlbnRzIG9mIGB+Ly5udmNmLWNsaS5zdGF0ZWAgb3IgYW55IGt1YmVjb25maWcuCi0g" + + "QW55IGRhdGEgbWFya2VkIHNlY3JldCBpbiBoZWxtZmlsZSB2YWx1ZXMuCgo+IE5vdGUgKG9ubHkg" + + "d2hlbiBvcGVyYXRpbmcgbW9yZSB0aGFuIG9uZSBjbHVzdGVyIGZyb20gdGhlIHNhbWUgbWFjaGlu" + + "ZSk6IHRoZSBDTEkncyBkZWZhdWx0Cj4gY29uZmlnIChgfi8ubnZjZi1jbGkueWFtbGApIGFuZCBz" + + "dGF0ZSAoYH4vLm52Y2YtY2xpLnN0YXRlYCkgYXJlIGEgc2luZ2xlIHNoYXJlZCBzbG90LCBub3QK" + + "PiBwZXItY2x1c3Rlci4gV2l0aCBhIHNpbmdsZSBjb250cm9sIHBsYW5lICh0aGUgY29tbW9uIGNh" + + "c2UpIHRoaXMgbmVlZHMgbm8gYXR0ZW50aW9uLiBJZiB5b3UKPiBtYW5hZ2UgbXVsdGlwbGUgY2x1" + + "c3RlcnMsIHBhc3MgYC0tY29uZmlnIDxjbHVzdGVyPi55YW1sYCBvbiBldmVyeSBjb21tYW5kIChv" + + "ciBrZWVwIGEKPiBkZWxpYmVyYXRlbHktc3dpdGNoZWQgcGVyLWNsdXN0ZXIgZGVmYXVsdCk6IHdp" + + "dGggbm8gYC0tY29uZmlnYCwgY29tbWFuZHMgdGFyZ2V0IHdoaWNoZXZlcgo+IGNsdXN0ZXIgd2Fz" + + "IGxhc3QgYGluaXRgJ2QsIGFuZCBgaW5pdGAgLyBgYXBpLWtleSBnZW5lcmF0ZWAgbXV0YXRlIHRo" + + "YXQgc2hhcmVkIGRlZmF1bHQsIHNvIGFuCj4gdW5zY29wZWQgYGFwaS1rZXkgZ2VuZXJhdGVgIGNh" + + "biBtaW50IG9yIHN1cmZhY2Uga2V5cyBhZ2FpbnN0IHRoZSB3cm9uZyBjbHVzdGVyLgoKIyMgT3V0" + + "cHV0IG1vZGVzIChmb3IgYWdlbnQgcGlwaW5nKQoKYG52Y2YtY2xpYCBzdWJjb21tYW5kcyB0aGF0" + + "IGxvbmctcnVuIChgdXBgLCBgc3RhdHVzYCwgYGNoZWNrYCkgYWNjZXB0IGZvdXIgb3V0cHV0IG1v" + + "ZGVzOgoKLSBgLS1qc29uYDogSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciwgb25lIGV2ZW50IHBlciBs" + + "aW5lLCBzdGFibGUgc2NoZW1hIChgc2NoZW1hVmVyc2lvbjogMWApLiBVc2UgdGhpcyB3aGVuIHJ1" + + "bm5pbmcgdW5kZXIgYW4gYWdlbnQuIFJlZGlyZWN0IHN0ZGVyciB0byB0aGUgcGFyc2VyIChgMj4m" + + "MSA+L2Rldi9udWxsYCksIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggYHtgLCBhbmQg" + + "cGFyc2UgbGluZS1ieS1saW5lIHdpdGggYGpxIC1jIC5gIG9yIGBqc29uLmxvYWRzKClgLgotIGAt" + + "LXBsYWluYDogcGxhaW4gdGltZXN0YW1wZWQgbGluZXMsIFJGQzMzMzkgVVRDLCBgW05OLzhdYCBw" + + "aGFzZSBwcmVmaXg7IGdyZXAtZnJpZW5kbHkuIERlZmF1bHQgaW4gbm9uLVRUWS4KLSBgLS1hY2Nl" + + "c3NpYmxlYDogcGxhaW4gb3V0cHV0IHdpdGhvdXQgc3Bpbm5lcnMsIHdpdGggdmVyYm9zZSBzdGF0" + + "ZSBtYXJrZXJzIChgW2NvbXBsZXRlZF1gLCBgW3J1bm5pbmddYCwgYFtwZW5kaW5nXWAsIGBbZmFp" + + "bGVkXWApLiBGb3Igc2NyZWVuIHJlYWRlcnMgYW5kIGNvbnN0cmFpbmVkIHRlcm1pbmFscy4KLSAo" + + "bm8gZmxhZyk6IEJ1YmJsZXRlYSBUVFkgZGFzaGJvYXJkLiBEZWZhdWx0IGluIGEgVFRZIG9mIGF0" + + "IGxlYXN0IDEwMHgzMC4gRG9uJ3QgdXNlIHVuZGVyIGFuIGFnZW50IChjdXJzb3ItdXAgc2VxdWVu" + + "Y2VzIGFyZSBub2lzeSkuCgpBdXRvLWRldGVjdCBwaWNrcyB0aGUgcmlnaHQgbW9kZSBmb3Igd2hh" + + "dGV2ZXIgc3Rkb3V0L3N0ZGVyciBpcy4gVGhlIENMSSBhbHNvIGhvbm9ycyBgTk9fQ09MT1JgIChh" + + "bnkgdmFsdWUg4oaSIGZvcmNlcyBwbGFpbiksIGBURVJNPWR1bWJgIChmb3JjZXMgcGxhaW4pLCBh" + + "bmQgYENJPXRydXRoeWAgKGZvcmNlcyBwbGFpbiBldmVuIG9uIGEgZmFrZSBUVFkpLiBXaGVuIHRo" + + "ZSB0ZXJtaW5hbCBpcyBzbWFsbGVyIHRoYW4gMTAww5czMCwgdGhlIGJ1YmJsZXRlYSByZW5kZXJl" + + "ciBmYWxscyBiYWNrIHRvIGEgY29tcGFjdCBsYXlvdXQuIEV4cGxpY2l0IGAtLWpzb25gIGlzIHRo" + + "ZSByaWdodCBjYWxsIGZvciBhZ2VudCBwaXBpbmcuCgojIyBPbiBmYWlsdXJlCgpgY2hlY2tgIG5l" + + "dmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgLiBJdCBlbmRzIHdpdGggb25lIGBmaW5hbGAgZXZlbnQ6" + + "IGdhdGUgb24KYHN1Y2Nlc3NgLCBhbmQgdHJlYXQgYSBtaXNzaW5nIGBmaW5hbGAgZXZlbnQgYXMg" + + "YSBmYWlsdXJlLiBTZWUKW2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZF0oZXhhbXBsZXMvY2ktcGlw" + + "ZWxpbmVzLm1kKSBhbmQKW3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kXShyZWZlcmVuY2UvZXhpdC1j" + + "b2Rlcy5tZCkuCgpPdGhlciBgbnZjZi1jbGlgIGZhaWx1cmVzIGVtaXQgc3RydWN0dXJlZCBgcGhh" + + "c2VfZmFpbGVkYCBldmVudHMgaW4gSlNPTjoKCmBgYGpzb24KeyJldmVudCI6InBoYXNlX2ZhaWxl" + + "ZCIsInBoYXNlTnVtIjo0LCJwaGFzZSI6ImFwcGx5LWNwIiwKICJlcnJDYXRlZ29yeSI6ImhlbG1f" + + "YXBwbHkiLCJlcnJNZXNzYWdlIjoiaGVsbSBpbnN0YWxsIGFwaS1rZXlzOiB0aW1lZCBvdXQiLAog" + + "InJldHJ5Q2xhc3MiOiJiYWNrb2ZmIiwicmV0cnlBZnRlclNlYyI6NjAsCiAicmVtZWRpYXRpb24i" + + "Olsia3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCIs" + + "CiAgICAgICAgICAgICAgICAiUmUtcnVuIHdpdGggLS1kZWJ1ZyBmb3IgdmVyYm9zZSBoZWxtZmls" + + "ZSBvdXRwdXQiXSwKICJyYXciOnsic3VicHJvY2VzcyI6ImhlbG1maWxlIiwiZXhpdENvZGUiOjEs" + + "InN0ZGVyclRhaWwiOiLigKYiLCJrdWJlcm5ldGVzUmVhc29uIjoiRmFpbGVkU2NoZWR1bGluZyJ9" + + "fQpgYGAKClRoZSBgcmV0cnlDbGFzc2AgZmllbGQgdGVsbHMgdGhlIGFnZW50IGhvdyB0byBoYW5k" + + "bGUgdGhlIGZhaWx1cmU6Cgp8IGByZXRyeUNsYXNzYCB8IE1lYW5pbmcgfCBBZ2VudCBhY3Rpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgYGltbWVkaWF0ZWAgfCBUcmFuc2llbnQgYmxpcCB8IFJldHJ5IHRo" + + "ZSBzYW1lIGB1cGAgY29tbWFuZCBub3cgfAp8IGBiYWNrb2ZmYCB8IFJhdGUgbGltaXQgLyBwZW5k" + + "aW5nIG9wZXJhdGlvbiB8IFdhaXQgYHJldHJ5QWZ0ZXJTZWNgIHNlY29uZHMsIHRoZW4gcmV0cnkg" + + "fAp8IGBhZnRlcl9yZW1lZGlhdGlvbmAgfCBPcGVyYXRvciBtdXN0IGludGVydmVuZSB8IFN1cmZh" + + "Y2UgYGVyck1lc3NhZ2VgICsgYHJlbWVkaWF0aW9uYCwgU1RPUC4gRG9uJ3QgYXV0by1yZXRyeS4g" + + "fAp8IGBub25lYCB8IE5vbi1yZXRyeWFibGUgfCBTYW1lIGFzIGBhZnRlcl9yZW1lZGlhdGlvbmAg" + + "4oCUIHN1cmZhY2UgYW5kIHN0b3AgfAp8IGB1bmtub3duYCB8IENsYXNzaWZpZXIgdW5zdXJlIHwg" + + "VHJlYXQgY29uc2VydmF0aXZlbHk6IHN1cmZhY2UgYW5kIHN0b3AgfAoKTmV2ZXIgcmUtcnVuIHdp" + + "dGggYC0tZm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSkuIFRoZSBgcmF3YCBibG9jayBjYXJy" + + "aWVzIHRoZSB1bmRlcmx5aW5nIHNpZ25hbCAoc3VicHJvY2VzcyBleGl0LCBIVFRQIHN0YXR1cywg" + + "SzhzIHJlYXNvbikg4oCUIHF1b3RlIHJlbGV2YW50IGZpZWxkcyB3aGVuIGV4cGxhaW5pbmcgZmFp" + + "bHVyZXMgdG8gdGhlIHVzZXIsIGJ1dCBkb24ndCBkdW1wIGBzdGRlcnJUYWlsYCB2ZXJiYXRpbSBp" + + "bnRvIGNoYXQgd2l0aG91dCBzY2FubmluZyBmb3Igc2VjcmV0cyBmaXJzdC4KCiMjIFF1aWNrIGNv" + + "bW1hbmQgcmVmZXJlbmNlCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAg" + + "ICAgICAgICAgICAgIyBwcmUtZmxpZ2h0Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rl" + + "ci1uYW1lPU5BTUUgICAjIG9uZS1zaG90IGluc3RhbGwKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + + "dHVzICAgICAgICAgICAgICAgICAgICMgc25hcHNob3QKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + + "dHVzIC0td2F0Y2ggICAgICAgICAgICMgbGl2ZQpudmNmLWNsaSBpbml0ICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgIyBtaW50IGFkbWluIHRva2VuIChjbGVhcnMgYWxsIHNhdmVkIEFQ" + + "SSBrZXlzKQpudmNmLWNsaSBjbHVzdGVyIHJlZ2lzdGVyIOKApiAgICAgICAgICAgICAgICAgICAj" + + "IHJlZ2lzdGVyIGNsdXN0ZXIKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2Et" + + "aWQ9PG5jYS1pZD4gIyBsaXN0IHNlbGYtaG9zdGVkIHJlZ2lzdHJhdGlvbnMKbnZjZi1jbGkgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApiAgICAgIyBtaW50IGJvdGggZnVuY3Rpb24g" + + "YW5kIHRhc2sgQVBJIGtleXMgKHJ1biBhZnRlciBldmVyeSBpbml0KQpudmNmLWNsaSBhcGkta2V5" + + "IGdlbmVyYXRlIC0tZm9yIGZ1bmN0aW9uIOKApiAgICAjIGZ1bmN0aW9uIGtleSBvbmx5Cm52Y2Yt" + + "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayDigKYgICAgICAgICMgdGFzayBrZXkgb25s" + + "eQpudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPeKApiAgICAgICAjIGNyZWF0" + + "ZSBmdW5jdGlvbgpudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgLS1mdW5jdGlvbi10eXBlPUxMTSAt" + + "LWxsbS1tb2RlbD08c3BlYz4gICMgY3JlYXRlIExMTSBmdW5jdGlvbiBtZXRhZGF0YQpudmNmLWNs" + + "aSBmdW5jdGlvbiBjcmVhdGUgLS1uYW1lPWxsbS1oZWxtIC0taW5mZXJlbmNlLXVybD0vIC0taW5m" + + "ZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSAtLWhlbG0tY2hhcnQ9PGNo" + + "YXJ0PiAtLWhlbG0tY2hhcnQtc2VydmljZT08c2VydmljZT4gLS1sbG0tbW9kZWw9PHNwZWM+Cm52" + + "Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0ZSAtLWxsbS1tb2RlbC11cGRhdGU9PHNwZWM+ICAjIHVwZGF0" + + "ZSBMTE0gcm91dGluZy90b2tlbiBsaW1pdHMKbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0" + + "ZSAtLWlucHV0LWZpbGU94oCmCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9" + + "4oCmCgojIFRhc2sgY29tbWFuZHMg4oCUIHJlcXVpcmVzIE5WQ0ZfQkFTRV9OVkNUX1VSTD1odHRw" + + "Oi8vPG52Y3QtZ2F0ZXdheT4KbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEw" + + "MCAtLWluc3RhbmNlLXR5cGU9WSAtLWltYWdlPVoKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1" + + "dC1maWxlPXRhc2suanNvbiAgICMgZnJvbSBKU09OIGNvbmZpZwpudmNmLWNsaSB0YXNrIGxpc3Qg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBsaXN0IGFsbCB0YXNrcwpudmNmLWNsaSB0YXNr" + + "IGxpc3QgLS1zdGF0dXM9UlVOTklORyAgICAgICAgICAgIyBmaWx0ZXIgYnkgc3RhdHVzCm52Y2Yt" + + "Y2xpIHRhc2sgZ2V0IFt0YXNrSWRdICAgICAgICAgICAgICAgICAgICAjIHRhc2sgZGV0YWlscwpu" + + "dmNmLWNsaSB0YXNrIGV2ZW50cyBbdGFza0lkXSAgICAgICAgICAgICAgICAgIyBsaWZlY3ljbGUg" + + "ZXZlbnRzCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyBbdGFza0lkXSAgICAgICAgICAgICAgICAjIHJl" + + "c3VsdCBhcnRpZmFjdHMKbnZjZi1jbGkgdGFzayBjYW5jZWwgW3Rhc2tJZF0KbnZjZi1jbGkgdGFz" + + "ayBkZWxldGUgW3Rhc2tJZF0KYGBgCgojIyBGZWVkYmFjawoKSWYgdGhlIHVzZXIgaGl0cyBhIGJ1" + + "ZyBvciBsaW1pdGF0aW9uLCBmaWxlIGFuIGlzc3VlIHRocm91Z2ggdGhlIHByb2plY3QgdHJhY2tl" + + "ci4gRG9uJ3QgaW5jbHVkZSBzZWNyZXRzLgpQSwcIRyWDWJRkAACUZAAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAAzAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlw" + + "ZWxpbmVzLm1kVVQFAAEAps4SIyBDSSBwaXBlbGluZSBwYXR0ZXJucwoKSG93IHRvIGRyaXZlIGBu" + + "dmNmLWNsaWAgZnJvbSBDSSAoR2l0TGFiIENJLCBHaXRIdWIgQWN0aW9ucywgSmVua2lucywgQXJn" + + "b0NEKS4gUGF0dGVybnMgdGhhdCBzdXJmYWNlIGZyZXF1ZW50bHkuCgojIyBCYXNpYyBpbnN0YWxs" + + "IHBpcGVsaW5lCgpgYGB5YW1sCiMgR2l0TGFiIENJIGV4YW1wbGUKZGVwbG95X252Y2Y6CiAgc3Rh" + + "Z2U6IGRlcGxveQogIGltYWdlOiBudmNyLmlvLzA2NTExNTUyMTU4NjQ5NzkvbmNwLWRldi9udmNm" + + "LWNsaToxLjQuMAogIHZhcmlhYmxlczoKICAgIEtVQkVDT05GSUc6ICRLVUJFQ09ORklHX0ZJTEUK" + + "ICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiAy" + + "PiYxID4vZGV2L251bGwgfCBncmVwICdeeycgfCBqcSAtc2UgJ2FueSguW107IC5ldmVudCA9PSAi" + + "ZmluYWwiIGFuZCAuc3VjY2VzcyknIHx8IGV4aXQgMgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCB1cCAtLWNsdXN0ZXItbmFtZT0kQ0xVU1RFUl9OQU1FIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldU" + + "IC0tbm9uLWludGVyYWN0aXZlIC0tanNvbgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + + "dXMgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyB8IGpxIC1zZSAnYW55KC5bXTsg" + + "LnZlcmRpY3QgPT0gImhlYWx0aHkiKScKYGBgCgpOb3RlczoKCi0gYC0tbm9uLWludGVyYWN0aXZl" + + "IC0tdG9rZW49JEpXVGAgaXMgcmVxdWlyZWQgaW4gQ0k7IG5ldmVyIHVzZSBpbnRlcmFjdGl2ZSBg" + + "aW5pdGAuCi0gQWx3YXlzIGAtLWpzb25gIGZvciBtYWNoaW5lLXBhcnNpbmcuCi0gYC0tanNvbmAg" + + "d3JpdGVzIEpTT05MIHRvIHN0ZGVyciwgbm90IHN0ZG91dCwgc28gcmVkaXJlY3Qgd2l0aCBgMj4m" + + "MSA+L2Rldi9udWxsYCBiZWZvcmUgYSBwYXJzZXIuCi0gYGNoZWNrYCByZXBvcnRzIGl0cyB2ZXJk" + + "aWN0IGluIG9uZSBgZmluYWxgIGV2ZW50LCB3aXRoIGBzdWNjZXNzOiBmYWxzZWAgd2hlbiBhbnkg" + + "Y2hlY2sgZmFpbGVkIGF0IGVycm9yIHNldmVyaXR5IG9yIHRoZSBydW4gdGltZWQgb3V0IChleGl0" + + "IGA1YCwgYHZlcmRpY3Q6ICJ0aW1lb3V0ImApLiBHYXRlIG9uIHRoYXQgZXZlbnQ6IGBjaGVja2Ag" + + "bmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGAsIHNvIGEgY29uZGl0aW9uIG9uIGl0IGFsd2F5cyBw" + + "YXNzZXMuIFJlcXVpcmluZyB0aGUgYGZpbmFsYCBldmVudCBhbHNvIGZhaWxzIHRoZSBzdGVwIHdo" + + "ZW4gdGhlIGNvbW1hbmQgZGllcyBiZWZvcmUgZW1pdHRpbmcgaXQuCi0gU2x1cnAgd2l0aCBganEg" + + "LXNgIGJlZm9yZSB0ZXN0aW5nIGEgY29uZGl0aW9uLiBXaXRob3V0IGl0IGBqcSAtZWAgdGFrZXMg" + + "aXRzIGV4aXQgc3RhdHVzIGZyb20gdGhlIGxhc3QgZXZlbnQgYWxvbmUuCi0gc3RkZXJyIGFsc28g" + + "Y2FycmllcyBwbGFpbi10ZXh0IG5vdGljZXMsIHNvIGZpbHRlciB0byBKU09OIGxpbmVzLiBEbyBu" + + "b3QgYWRkIGAtLXNob3ctbG9nc2AgaGVyZTogaXQgYXBwZW5kcyBhIG5vbi1KU09OIHRyYW5zY3Jp" + + "cHQgdG8gdGhlIHNhbWUgc3RyZWFtLgotIFRoZSBwbGFpbi10ZXh0IG5vdGljZSB0aGF0IHNheXMg" + + "aG93IHRvIHJlbW92ZSBvYmplY3RzIGEgdmFsaWRhdG9yIHJ1biBsZWZ0IGluIHRoZSBjbHVzdGVy" + + "IGlzIGZpbHRlcmVkIG91dCB3aXRoIHRoZSByZXN0LiBSZWFkIHRoZSBzYW1lIGNvbW1hbmRzIGZy" + + "b20gdGhlIGBmaW5hbGAgZXZlbnQgaW5zdGVhZCwgZm9yIGV4YW1wbGUgYGpxIC1yICcuW10gfCBz" + + "ZWxlY3QoLmV2ZW50ID09ICJmaW5hbCIpIHwgLmNsZWFudXBbXT8nYCBvbiB0aGUgc2x1cnBlZCBz" + + "dHJlYW0uCi0gRmluYWwgc3RhdHVzIGNoZWNrIGdhdGVzIGRvd25zdHJlYW0gc3RhZ2VzIG9uIGB2" + + "ZXJkaWN0ID09ICJoZWFsdGh5ImAuCgojIyBHaXRPcHMgKEFyZ28gLyBGbHV4KSBwYXR0ZXJuCgpD" + + "SSBkb2Vzbid0IGBrdWJlY3RsIGFwcGx5YC4gSW5zdGVhZCwgcmVuZGVyIG1hbmlmZXN0cywgY29t" + + "bWl0IHRoZW0sIGxldCB0aGUgY29udHJvbGxlciBhcHBseS4KCmBgYHlhbWwKcmVuZGVyOgogIHNj" + + "cmlwdDoKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + + "LS1uby1hcHBseSA+IHJlbmRlcmVkL2NvbnRyb2wtcGxhbmUueWFtbAogICAgLSBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAt" + + "LW5vLWFwcGx5ID4gcmVuZGVyZWQvY29tcHV0ZS1wbGFuZS55YW1sCiAgICAtIGdpdCBhZGQgcmVu" + + "ZGVyZWQvICYmIGdpdCBjb21taXQgLW0gImRlcGxveSBOVkNGICRUQUciICYmIGdpdCBwdXNoCmBg" + + "YAoKVGhlbiBBcmdvQ0Qgb3IgRmx1eCB3YXRjaGVzIGByZW5kZXJlZC9gIGFuZCBhcHBsaWVzLiBU" + + "aGUgQ0xJIG5ldmVyIHRvdWNoZXMgdGhlIGNsdXN0ZXIgZGlyZWN0bHkuCgpGb3IgdGhlIHJlZ2lz" + + "dGVyIHN0ZXAgKHdoaWNoIG11dGF0ZXMgSUNNUywgbm90IGp1c3QgSzhzKToKCmBgYHlhbWwKcmVn" + + "aXN0ZXI6CiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT0k" + + "TkFNRSAtLW5jYS1pZD0kTkNBIC0tcmVnaW9uPSRSRUdJT04gLS1pZ25vcmUtZXhpc3RpbmcKYGBg" + + "CgpgLS1pZ25vcmUtZXhpc3RpbmdgIGlzIHRoZSBHaXRPcHMtZnJpZW5kbHkgaWRlbXBvdGVudCBj" + + "b250cmFjdC4KCiMjIE11bHRpLWNsdXN0ZXIgcGlwZWxpbmUKCldoZW4gdGhlIHBpcGVsaW5lIG1h" + + "bmFnZXMgbWFueSBjb21wdXRlIGNsdXN0ZXJzIGFnYWluc3Qgb25lIGNvbnRyb2wgcGxhbmU6Cgpg" + + "YGB5YW1sCmRlcGxveV9jb21wdXRlX3BsYW5lczoKICBwYXJhbGxlbDoKICAgIG1hdHJpeDoKICAg" + + "ICAgLSBDTFVTVEVSOiBuY3AtZWFzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWVhc3Qt" + + "MQogICAgICAtIENMVVNURVI6IG5jcC13ZXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUt" + + "d2VzdC0xCiAgICAgIC0gQ0xVU1RFUjogbmNwLWV1LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBn" + + "cHUtZXUtMQogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFu" + + "ZSByZWdpc3RlcgogICAgICAgIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPWNvbnRyb2wtcGxhbmUt" + + "cHJvZmlsZS55YW1sCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVIKICAgICAgICAtLWt1" + + "YmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0taWNtcy11cmw9JElDTVNfUFVCTElDX1VSTAog" + + "ICAgICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldUCiAgICAgICAgLS1vdXRwdXQ9JENMVVNURVIt" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWwKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsCiAgICAgICAgLS12YWx1ZXM9JENMVVNURVItcmVnaXN0ZXItdmFsdWVzLnlh" + + "bWwKICAgICAgICAtLWt1YmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0tY2x1c3Rlci1uYW1l" + + "PSRDTFVTVEVSCmBgYAoKRWFjaCBwYXJhbGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25l" + + "IGNvbXB1dGUgcGxhbmUgYWdhaW5zdCB0aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVz" + + "IGFyZSBpc29sYXRlZC4gVGhlIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBjb21lcyBmcm9tIGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhwb3J0YCwgcnVuIG9uY2Ug" + + "YWdhaW5zdCB0aGUgY29udHJvbCBwbGFuZS4KCiMjIFBsYW4tb25seSBwcmV2aWV3IGluIFBScwoK" + + "YGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjogJENJX1BJUEVMSU5FX1NPVVJDRSA9" + + "PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAgICAtIHwKICAgICAgbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgXAog" + + "ICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24gfCB0ZWUgcGxhbi5qc29ubAogICAg" + + "LSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNvbgogICAgLSAnZ2l0bGFiLW1yLWNv" + + "bW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxganNvblxuJChjYXQgcGxhbi5qc29u" + + "KVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRzIDAgd2l0aG91dCBjaGFuZ2luZyBj" + + "bHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3RzIGVhY2ggcGhhc2UgKyBFVEEuIFJl" + + "bmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwi3fa9ChxAAAIcQAABQSwMEFAAIAAAA" + + "AAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9t" + + "dWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVzdGVyIHBhdHRlcm5zCgpFeGFtcGxl" + + "cyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBsYW5lIG9wZXJhdGlvbi4KCiMjIE9u" + + "ZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoKVGhlIGNhbm9uaWNhbCBtdWx0aS1j" + + "bHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUgaXMgcmVnaXN0ZXJlZCBzZXBhcmF0" + + "ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJvbCBwbGFuZSAob25lLXRpbWUsIG9u" + + "IHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09ORklHPWNwLnlhbWwgbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9sLXBsYW5lIC0td2FpdCA1bQoKIyAy" + + "LiBFeHBvcnQgdGhlIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBldmVyeSBjb21wdXRlIHBsYW5lIHJl" + + "Z2lzdGVycyBmcm9tLgojICAgIFRoZSBjb21tYW5kIHByaW50cyB0aGUgcGF0aCBpdCB3cm90ZToK" + + "S1VCRUNPTkZJRz1jcC55YW1sIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZSBleHBvcnQgLS1jbHVzdGVyLW5hbWU9bmNwLWNwCgojIDMuIFJlZ2lzdGVyICsgaW5zdGFs" + + "bCBlYWNoIGNvbXB1dGUgcGxhbmUuIEJvdGggY29tbWFuZHMgbmFtZSB0aGUgR1BVCiMgICAgY2x1" + + "c3RlcidzIGNvbnRleHQgd2l0aCAtLWt1YmUtY29udGV4dDoKZm9yIENUWCBpbiBhZG1pbkBncHUt" + + "ZWFzdC0xIGFkbWluQGdwdS13ZXN0LTEgYWRtaW5AZ3B1LWV1LTE7IGRvCiAgTkFNRT0kKGVjaG8g" + + "IiRDVFgiIHwgY3V0IC1kQCAtZjIpCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFu" + + "ZSByZWdpc3RlciBcCiAgICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUueWFtbCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWt1YmUtY29udGV4" + + "dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAog" + + "ICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1vdXRwdXQ9JE5BTUUtcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + + "XAogICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgLS1rdWJlLWNv" + + "bnRleHQ9JENUWCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRQpkb25lCgojIDQuIFZlcmlmeSBh" + + "bGwgY29tcHV0ZSBwbGFuZXMgcmVnaXN0ZXJlZDoKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lz" + + "dGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBcCiAgfCBqcSAn" + + "LmNsdXN0ZXJzW10gfCB7bmFtZTogLmNsdXN0ZXJOYW1lLCBzdGF0dXMsIG52Y2FWZXJzaW9ufScK" + + "YGBgCgojIyBDb21wdXRlLXBsYW5lLW9ubHkgb3BlcmF0b3Igc2NlbmFyaW8KClRoZSBvcGVyYXRv" + + "ciBoYXMga3ViZWN0bCBhY2Nlc3MgdG8gT05FIGNvbXB1dGUgcGxhbmUgb25seSDigJQgdGhlIGNv" + + "bnRyb2wgcGxhbmUgaXMgb3BlcmF0ZWQgYnkgc29tZW9uZSBlbHNlIChlLmcuIFlvdHRhIHJ1bnMg" + + "dGhlIGNvbnRyb2wgcGxhbmUgZm9yIGEgY3VzdG9tZXIpLgoKYGBgc2gKIyBNaW50IGEgdG9rZW4g" + + "dmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkgKHRoZSBjb250cm9sIHBsYW5lJ3MgQVBJIEtleXMK" + + "IyBzZXJ2aWNlIGlzIHJlYWNoYWJsZSB2aWEgYXBpLm52Y2YuZXhhbXBsZS5jb20g4oCUIG5vIGt1" + + "YmVjdGwgYWNjZXNzIG5lZWRlZCk6Cm52Y2YtY2xpIGluaXQgLS1hcGktdXJsPWh0dHBzOi8vYXBp" + + "Lm52Y2YuZXhhbXBsZS5jb20KCiMgUnVuIHByZS1mbGlnaHQgc2NvcGVkIHRvIHRoZSBjb21wdXRl" + + "IHBsYW5lIG9ubHkuIGNoZWNrIHRha2VzIGJvdGggY29udGV4dAojIGZsYWdzIG9yIG5laXRoZXIs" + + "IHNvIHNlbGVjdCB0aGUgY29tcHV0ZSBjbHVzdGVyIGFzIHRoZSBjdXJyZW50IGNvbnRleHQ6Cmt1" + + "YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0IGFkbWluQGdwdTEKbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "Y2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4" + + "YW1wbGUuY29tIFwKICAtLWpzb24KCiMgUmVnaXN0ZXIgYW5kIGluc3RhbGwganVzdCB0aGUgY29t" + + "cHV0ZSBwbGFuZSwgZnJvbSB0aGUgcHJvZmlsZSB0aGUKIyBjb250cm9sLXBsYW5lIG9wZXJhdG9y" + + "IGV4cG9ydGVkIHdpdGggYHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBleHBvcnRg" + + "OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVy" + + "LW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWlj" + + "bXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9K" + + "V1QgXAogIC0tb3V0cHV0PW15LWNvbXB1dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbApudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzPW15LWNvbXB1" + + "dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQ9YWRtaW5AZ3B1MSBc" + + "CiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xCgojIFN0YXR1cyBvZiB0aGUgY3VycmVudCBj" + + "b250ZXh0LCBhZG1pbkBncHUxIChjb21wdXRlLW9ubHk6IHRoZSBvcGVyYXRvcgojIGNhbid0IHNl" + + "ZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBz" + + "dGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1pY21zLXVybD1odHRw" + + "czovL2ljbXMubnZjZi5leGFtcGxlLmNvbQpgYGAKCiMjIEZ1bmN0aW9ucyB0YXJnZXRpbmcgc3Bl" + + "Y2lmaWMgY29tcHV0ZSBwbGFuZXMKCldoZW4geW91IGhhdmUgbXVsdGlwbGUgY29tcHV0ZSBwbGFu" + + "ZXMgYW5kIHdhbnQgYSBmdW5jdGlvbiB0byBkZXBsb3kgdG8gb25lOgoKYGBganNvbgp7CiAgImZ1" + + "bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxv" + + "eW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNl" + + "VHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4" + + "SW5zdGFuY2VzIjogMSwKICAgICJjbHVzdGVycyI6IFsiZ3B1LWVhc3QtMSJdCiAgfV0KfQpgYGAK" + + "ClRoZSBgY2x1c3RlcnNgIGFycmF5ICh1c2luZyBjbHVzdGVyIG5hbWVzLCBub3QgSURzKSBsaW1p" + + "dHMgc2NoZWR1bGluZyB0byB0aG9zZSBjb21wdXRlIHBsYW5lcy4gT21pdCB0byBsZXQgSUNNUyBj" + + "aG9vc2UgYW55IGNvbXB1dGUgcGxhbmUgd2l0aCBhIG1hdGNoaW5nIFNLVS4KCiMjIFN0YXR1cyBm" + + "YW4tb3V0IGFjcm9zcyBjb21wdXRlIHBsYW5lcwoKYGBgc2gKIyBMaXN0IGFsbCByZWdpc3RlcmVk" + + "IGNvbXB1dGUgcGxhbmVzOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1p" + + "ZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxIC1yICcuY2x1c3RlcnNb" + + "XS5jbHVzdGVyTmFtZScgPiBjbHVzdGVycy50eHQKCiMgU3RhdHVzIHNuYXBzaG90IHBlciBjb21w" + + "dXRlIHBsYW5lIChhc3N1bWluZyBlYWNoIGNvbnRleHQgbmFtZSBtYXRjaGVzKToKd2hpbGUgcmVh" + + "ZCBOQU1FOyBkbwogIGVjaG8gIj09PSAkTkFNRSA9PT0iCiAga3ViZWN0bCBjb25maWcgdXNlLWNv" + + "bnRleHQgImFkbWluQCROQU1FIiA+L2Rldi9udWxsCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + + "dHVzIFwKICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tanNvbiB8IGpxIC1jICd7Y2x1" + + "c3RlcjouY2x1c3RlciwgdmVyZGljdDoudmVyZGljdCwgcmVjb25jaWxlOi5yZWNvbmNpbGVBZ2VT" + + "ZWN9Jwpkb25lIDwgY2x1c3RlcnMudHh0CmBgYAoKQSBmdXR1cmUgTSsxMSBtaWxlc3RvbmUgd2ls" + + "bCBhZGQgbmF0aXZlIGZhbi1vdXQgKGBzdGF0dXMgLS1hbGwtY29tcHV0ZS1wbGFuZXNgKSBzbyB0" + + "aGlzIGRvZXNuJ3QgbmVlZCBhIHNoZWxsIGxvb3AuClBLBwh9zGQcSBAAAEgQAABQSwMEFAAIAAAA" + + "AAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Fk" + + "ZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SIyBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4" + + "aXN0aW5nIGNvbnRyb2wgcGxhbmUKClVzZXIgaGFzIGEgd29ya2luZyBOVkNGIGNvbnRyb2wgcGxh" + + "bmUgKHJ1bm5pbmcgc29tZXdoZXJlKSBhbmQgd2FudHMgdG8gcmVnaXN0ZXIgYSBuZXcgR1BVIGNs" + + "dXN0ZXIgYWdhaW5zdCBpdC4gVGhpcyBpcyB0aGUgbXVsdGktY2x1c3RlciBzY2FsaW5nIHBhdGg6" + + "IG9uZSBjb250cm9sIHBsYW5lIOKGkiBOIGNvbXB1dGUgcGxhbmVzLgoKIyMgUHJlcmVxdWlzaXRl" + + "cyB0aGUgdXNlciBtdXN0IGhhdmUKCi0gKiprdWJlY3RsIGNvbnRleHQgZm9yIHRoZSBuZXcgY29t" + + "cHV0ZSBwbGFuZSoqIGluIHRoZWlyIGBLVUJFQ09ORklHYC4KLSAqKlB1YmxpYyBJQ01TIFVSTCoq" + + "IG9mIHRoZSBleGlzdGluZyBjb250cm9sIHBsYW5lIChlLmcuIGBodHRwczovL2ljbXMubnZjZi5l" + + "eGFtcGxlLmNvbWApLgotICoqQWRtaW4gSldUKiogZm9yIHRoZSBjb250cm9sIHBsYW5lJ3MgYWNj" + + "b3VudCwgT1IgYWJpbGl0eSB0byBtaW50IG9uZSB2aWEgYG52Y2YtY2xpIGluaXRgIGFnYWluc3Qg" + + "dGhlIGNvbnRyb2wgcGxhbmUncyBwdWJsaWMgYXBpIGVuZHBvaW50LiAoQWRtaW4gdG9rZW5zIGNv" + + "bWUgZnJvbSB0aGUgQVBJIEtleXMgc2VydmljZSB2aWEgdGhlIHB1YmxpYyBhcGkgZ2F0ZXdheSDi" + + "gJQga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbnRyb2wgcGxhbmUgaXMgTk9UIHJlcXVpcmVkIHRv" + + "IG9idGFpbiBvbmUuKQotIFRoZSBjb250cm9sIHBsYW5lJ3MgcHJvZmlsZSBmaWxlLCB3aGljaCBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAgd3JpdGVz" + + "IG9uIGEgbWFjaGluZSB0aGF0IGNhbiByZWFjaCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLiBJ" + + "dCBjYXJyaWVzIHRoZSBjb250cm9sIHBsYW5lJ3MgZW5kcG9pbnRzIGFuZCB0cnVzdCBmb3IgcmVn" + + "aXN0cmF0aW9uLgotIEEgdW5pcXVlIGAtLWNsdXN0ZXItbmFtZWAgdGhhdCBkb2Vzbid0IGNvbGxp" + + "ZGUgd2l0aCBhbHJlYWR5LXJlZ2lzdGVyZWQgY2x1c3RlcnMuIFVzZSBgbnZjZi1jbGkgY2x1c3Rl" + + "ciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCB0byBj" + + "aGVjay4KCiMjIFN0ZXBzCgoxLiBBc2sgZm9yIGlucHV0czoKICAgLSBgLS1jbHVzdGVyLW5hbWU9" + + "PHVuaXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBO" + + "Q0Egc2NvcGUKICAgLSBgLS1rdWJlLWNvbnRleHQ9PGNvbnRleHQ+YDogdGhlIG5ldyBHUFUgY2x1" + + "c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2ljbXMubnZj" + + "Zi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJMCiAgIC0g" + + "R1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuIFByZS1mbGlnaHQganVzdCB0" + + "aGUgY29tcHV0ZSBwbGFuZS4gYGNoZWNrYCB0YWtlcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IKICAg" + + "bmVpdGhlciwgc28gcG9pbnQgdGhlIGN1cnJlbnQgY29udGV4dCBhdCB0aGUgbmV3IEdQVSBjbHVz" + + "dGVyIGFuZCBzZWxlY3QKICAgb25seSB0aGUgY29tcHV0ZSBwbGFuZToKCiAgIGBgYHNoCiAgIGt1" + + "YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0ICIkQ1RYIgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + + "aGVjayAtLWNvbXB1dGUtcGxhbmUgXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tanNv" + + "biAyPiYxID4vZGV2L251bGwgfCBncmVwICdeeycgPiBjaGVjay5qc29ubAogICBqcSAtc2UgJ2Fu" + + "eSguW107IC5ldmVudCA9PSAiZmluYWwiIGFuZCAuc3VjY2VzcyknIGNoZWNrLmpzb25sCiAgIGBg" + + "YAoKICAgVGhpcyBjaGVja3MgdGhpcyBtYWNoaW5lJ3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgYW5k" + + "IHRoZSBjb21wdXRlIGNsdXN0ZXIKICAgb25seTogbGVmdG92ZXIgTlZDRiBuYW1lc3BhY2VzLCBu" + + "b2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0CiAgIGAtLWljbXMtdXJsYCwg" + + "YW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIChHUFUgcmVzb3VyY2VzLCBH" + + "UFUKICAgT3BlcmF0b3IsIFNNQiBDU0kgZHJpdmVyKSB3aGVuIGBjbHVzdGVyX3ZhbGlkYXRvcl9p" + + "bWFnZWAgaXMgc2V0LiBgLS1wcmVgCiAgIHdvdWxkIGFsc28gcnVuIHRoZSBjb250cm9sLXBsYW5l" + + "IGNoZWNrcyBhZ2FpbnN0IHRoaXMgY2x1c3Rlciwgc28gbGVhdmUgaXQKICAgb2ZmLiBBIG1pc3Np" + + "bmcgYGhlbG1gLCBgaGVsbWZpbGVgIG9yIGBrdWJlY3RsYCBpcyBhIHdhcm5pbmcgaGVyZSwgYWx0" + + "aG91Z2gKICAgYGNvbXB1dGUtcGxhbmUgaW5zdGFsbGAgbmVlZHMgdGhlbS4gSWYgdGhlIGdhdGUg" + + "ZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhlCiAgIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50cyB3aXRo" + + "IGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCwgYW5kCiAgIGFkZHJlc3Mg" + + "dGhlbSBiZWZvcmUgcHJvY2VlZGluZy4KCjMuIFJlZ2lzdGVyIHRoZSBjbHVzdGVyLCB0aGVuIGlu" + + "c3RhbGwgaXRzIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzCiAgIGZpbGUgcmVnaXN0cmF0" + + "aW9uIHdyaXRlcy4gQm90aCBjb21tYW5kcyBuYW1lIHRoZSBuZXcgY2x1c3RlcidzIGNvbnRleHQK" + + "ICAgd2l0aCBgLS1rdWJlLWNvbnRleHRgOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgICAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwK" + + "ICAgICAtLWt1YmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAt" + + "LXRva2VuPSRKV1QgXAogICAgIC0tb3V0cHV0PSROQU1FLXJlZ2lzdGVyLXZhbHVlcy55YW1sCiAg" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgICAgLS12YWx1" + + "ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgIC0ta3ViZS1jb250ZXh0PSRDVFgg" + + "XAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FCiAgIGBgYAoKICAgYGNvbXB1dGUtcGxhbmUgcmVn" + + "aXN0ZXJgIHJlY29yZHMgdGhlIGNsdXN0ZXIncyBPSURDIGlzc3VlciBhbmQgSldLUyB3aXRoCiAg" + + "IElDTVMgYXQgYC0taWNtcy11cmxgIGFuZCB3cml0ZXMgdGhlIE5WQ0Egb3BlcmF0b3IgdmFsdWVz" + + "LiBgY29tcHV0ZS1wbGFuZQogICBpbnN0YWxsYCBpbnN0YWxscyB0aGUgY29tcHV0ZS1wbGFuZSBz" + + "dGFjayB3aXRoIHRoZW0uIE5laXRoZXIgdG91Y2hlcyB0aGUKICAgY29udHJvbC1wbGFuZSBjbHVz" + + "dGVyOiBJQ01TIGlzIHJlYWNoZWQgb3ZlciBIVFRQUy4gYC0tdG9rZW5gIHBhc3NlcyB0aGUKICAg" + + "YWRtaW4gSldUOyB3aXRob3V0IGl0IHRoZSB0b2tlbiBgbnZjZi1jbGkgaW5pdGAgc3RvcmVkIGlz" + + "IHVzZWQuCgo0LiBWZXJpZnkuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1jbHVzdGVy" + + "LW5hbWU9JE5BTUUgLS1qc29uIHwganFgOiBleHBlY3QgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIFRo" + + "ZSBSZWdpc3RlcmVkIENvbXB1dGUgUGxhbmVzIHBhbmVsIGZyb20gSUNNUyBzaG91bGQgbm93IGxp" + + "c3QgdGhlIG5ldyBjbHVzdGVyLgoKNS4gU21va2UuIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVw" + + "bG95LWFuZC1pbnZva2UubWQpOiBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0byB0aGUgbmV3IGNv" + + "bXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMgV2hhdCBpZiBhIGNs" + + "dXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGNvbXB1dGUtcGxhbmUg" + + "cmVnaXN0ZXJgIHJldXNlcyBhbiBleGlzdGluZyByZWdpc3RyYXRpb246IGl0IG1hdGNoZXMgdGhl" + + "IElDTVMgcm93IHdpdGggdGhlIHNhbWUgbmFtZSwgcmV1c2VzIGl0cyBjbHVzdGVySWQgYW5kIHJl" + + "cGxhY2VzIGl0cyBKV0tTLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBz" + + "YW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQg" + + "d2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0g" + + "KipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQg" + + "YXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFu" + + "ZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUg" + + "cGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmly" + + "bSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4g" + + "ZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5D" + + "QV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9j" + + "ZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwj+iZcm3REAAN0RAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEg" + + "dGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25p" + + "dG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMK" + + "ClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRp" + + "b24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5l" + + "cmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+" + + "IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJv" + + "dGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5" + + "OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRp" + + "b249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFj" + + "aCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkg" + + "Z2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgg" + + "LS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4g" + + "dGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2" + + "YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUg" + + "a2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVy" + + "IHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUg" + + "cnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJp" + + "ZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoK" + + "CiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVj" + + "aG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVk" + + "IGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRo" + + "b24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+" + + "Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0" + + "KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4" + + "cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAg" + + "bnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sg" + + "LS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBg" + + "YGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRo" + + "b3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4" + + "IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9u" + + "OgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkg" + + "bm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQg" + + "b3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsg" + + "bm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5l" + + "IHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoK" + + "CmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lm" + + "aWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5H" + + "UFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVy" + + "SW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjog" + + "InB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxp" + + "bmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1p" + + "bnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBg" + + "CgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2Ug" + + "Y2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNl" + + "cXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2" + + "YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9" + + "SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5j" + + "cC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250" + + "YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVz" + + "dWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0" + + "ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWlu" + + "ZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQg" + + "dmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkg" + + "dGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFp" + + "bmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoK" + + "b3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZp" + + "cm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwK" + + "ICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0" + + "In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVy" + + "bmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0u" + + "CgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBg" + + "Y29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJz" + + "bW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAw" + + "IiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjog" + + "Im5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEu" + + "Y29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxp" + + "bmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1p" + + "bnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhl" + + "bG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMj" + + "IDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFz" + + "ayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBk" + + "YXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJl" + + "IGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0" + + "aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8g" + + "Y2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRh" + + "c2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcK" + + "YGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNl" + + "bnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZh" + + "bHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJP" + + "UkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VF" + + "REVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBw" + + "cm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + + "ZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBj" + + "aGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJl" + + "Z2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklm" + + "IHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMg" + + "dGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0" + + "aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApg" + + "a3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoK" + + "IyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3Ry" + + "YXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNs" + + "aSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRh" + + "c2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2Fk" + + "IHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBj" + + "cmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVy" + + "CnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3Vs" + + "dHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRl" + + "ZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6" + + "CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRh" + + "c2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUg" + + "dXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0" + + "cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJv" + + "bXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0" + + "IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90" + + "IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNl" + + "ZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2Yt" + + "Y2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFt" + + "aWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1" + + "c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBp" + + "bmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lz" + + "dGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMs" + + "IGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhl" + + "bHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkA" + + "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tl" + + "IGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24g" + + "Q1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZP" + + "S0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09O" + + "IGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRo" + + "ZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4g" + + "SWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBv" + + "ciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJu" + + "YW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8" + + "Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAog" + + "ICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hv" + + "IGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0" + + "IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1" + + "cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIs" + + "CiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkg" + + "ZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlv" + + "biBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElE" + + "cyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rp" + + "b24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBm" + + "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNb" + + "XS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUg" + + "ZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRo" + + "IHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3Qg" + + "aW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNv" + + "bgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lcklt" + + "YWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIv" + + "IiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJo" + + "ZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAog" + + "ICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3Rh" + + "dHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNv" + + "bmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMi" + + "OiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGlu" + + "Z3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRv" + + "a2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxl" + + "bnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1u" + + "YW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1j" + + "b250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBv" + + "cnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBc" + + "CiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAg" + + "LS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAg" + + "LS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2Nv" + + "bXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3Vu" + + "ZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBz" + + "dGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1v" + + "ZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rp" + + "b24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVy" + + "X2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4s" + + "cm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVz" + + "ZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsg" + + "Y3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJh" + + "dGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwg" + + "YE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUg" + + "Q0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAx" + + "MDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5l" + + "IG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNo" + + "YXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVu" + + "dCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5j" + + "dGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZp" + + "Z2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1l" + + "YC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRl" + + "cmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2Vydmlj" + + "ZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3Qg" + + "ZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFs" + + "dWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFt" + + "cGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZp" + + "cm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNl" + + "UG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAi" + + "cHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAw" + + "LAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAog" + + "IH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90" + + "ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2" + + "aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAg" + + "Im5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAg" + + "ICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAi" + + "L3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIs" + + "CiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpg" + + "YGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNy" + + "ZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVu" + + "Y2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFs" + + "dGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAg" + + "LS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBc" + + "CiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2Mu" + + "bnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRn" + + "eiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1v" + + "ZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9u" + + "c3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4s" + + "dG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFy" + + "dC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZp" + + "Z3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBg" + + "anNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lk" + + "PiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAog" + + "ICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6" + + "IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAx" + + "MCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVu" + + "c29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5" + + "IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0" + + "aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBm" + + "dW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0g" + + "Y29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhz" + + "OgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25z" + + "YCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9y" + + "ZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBz" + + "dHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFt" + + "aW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRk" + + "aW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVz" + + "dCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBz" + + "ZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAg" + + "ImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRl" + + "cGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3Rh" + + "bmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAi" + + "bWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0K" + + "YGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGlu" + + "c3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNo" + + "IHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9u" + + "IGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21t" + + "YW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1" + + "bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlz" + + "IHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1w" + + "bGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlv" + + "bmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRo" + + "ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNz" + + "aW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2Yt" + + "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1u" + + "YW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0" + + "Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0" + + "ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9u" + + "J3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9L" + + "RQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8" + + "dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBg" + + "YHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24K" + + "IyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmls" + + "bGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9r" + + "ZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1" + + "cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9j" + + "b21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9" + + "IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAi" + + "bW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0" + + "cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAg" + + "ICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVu" + + "QUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28g" + + "dGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2Vz" + + "IEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2Nh" + + "dGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVy" + + "ICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24i" + + "IFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIs" + + "CiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9" + + "JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBz" + + "Oi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3Jp" + + "emF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBw" + + "bGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVk" + + "LW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScK" + + "YGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVu" + + "dCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBz" + + "dXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25l" + + "IHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1m" + + "dW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3" + + "aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVw" + + "bG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1l" + + "cyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBv" + + "biBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3Rz" + + "KS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNv" + + "bW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBn" + + "cHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgx" + + "MDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0" + + "aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1w" + + "bGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3Vi" + + "ZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdl" + + "UHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + + "PQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWlu" + + "c3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5z" + + "dGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIu" + + "IERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGlj" + + "dAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBg" + + "CgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAq" + + "KmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkn" + + "cmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBs" + + "YXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDi" + + "gJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qg" + + "d2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxp" + + "emluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAq" + + "KmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1" + + "c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3du" + + "YCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJl" + + "IGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBE" + + "cmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBv" + + "bmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEt" + + "MCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1" + + "YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBv" + + "ZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsg" + + "bGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNz" + + "IHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJv" + + "Z3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtl" + + "bHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9k" + + "SW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1" + + "Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZh" + + "dWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFn" + + "ZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFn" + + "ZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBo" + + "ZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29t" + + "ZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRz" + + "IG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5" + + "LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxs" + + "IGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJv" + + "eHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRl" + + "LW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1" + + "c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlz" + + "c3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9y" + + "ZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVz" + + "dGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBs" + + "YW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGht" + + "IGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciBy" + + "ZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBs" + + "YW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8" + + "CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBz" + + "YXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRz" + + "IGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRv" + + "cjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlz" + + "KSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikg" + + "fCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBm" + + "b2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcw" + + "NGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNv" + + "bmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNl" + + "IGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNh" + + "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0" + + "aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rl" + + "ci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3Jl" + + "IGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBk" + + "ZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBk" + + "bwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3Rp" + + "YyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1" + + "c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1" + + "YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxl" + + "dGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJl" + + "bnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNg" + + "IC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0" + + "YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZy" + + "b20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEg" + + "ZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMg" + + "dGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9w" + + "b2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUg" + + "YW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250" + + "cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1" + + "Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1" + + "c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBs" + + "ZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1" + + "Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0" + + "IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBh" + + "cmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNk" + + "LiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVs" + + "eSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMu" + + "IEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQK" + + "ICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2Vy" + + "IGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJl" + + "YWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0" + + "ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFs" + + "b25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1m" + + "IGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMv" + + "ZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3Bh" + + "Y2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lz" + + "IG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9y" + + "IG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAg" + + "ICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVl" + + "IC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8v" + + "ZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4z" + + "IFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWlu" + + "ZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93" + + "bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVu" + + "dGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25m" + + "aWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xs" + + "ZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9y" + + "IGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05B" + + "TUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAi" + + "JEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3" + + "b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0" + + "ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFs" + + "YW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBz" + + "ZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtz" + + "L2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2Us" + + "IGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxh" + + "bmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0" + + "aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJv" + + "dmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxh" + + "bmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBw" + + "bGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xs" + + "ZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAg" + + "YmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAg" + + "ICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlv" + + "bnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1z" + + "Y2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNs" + + "b3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6Cgog" + + "ICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZp" + + "Y2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBg" + + "YAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxv" + + "YWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxi" + + "YCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdl" + + "dCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNl" + + "CiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25l" + + "IFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1Mg" + + "TG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2" + + "aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUg" + + "bWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBh" + + "cHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNl" + + "IEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxF" + + "T0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6" + + "IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVu" + + "dm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBL" + + "dWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAg" + + "ICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5p" + + "by9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNl" + + "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJp" + + "bnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2Fk" + + "LWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246" + + "IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1l" + + "dGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3" + + "YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNS" + + "ZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZv" + + "eVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5" + + "c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBn" + + "YXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6" + + "CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAg" + + "IHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBu" + + "YW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFs" + + "bG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0" + + "b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAg" + + "ICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJv" + + "dG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAg" + + "ICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxl" + + "Y3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRm" + + "b3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJl" + + "IHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZp" + + "Y2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5l" + + "cmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9u" + + "IHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBh" + + "bmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1F" + + "PSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQg" + + "UkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZv" + + "eS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAg" + + "ZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBH" + + "UlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FU" + + "RVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAg" + + "LS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwg" + + "LW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlf" + + "TkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEw" + + "bQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05B" + + "TUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25w" + + "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVX" + + "QVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRl" + + "d2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + + "ZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQog" + + "ICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tf" + + "RE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0" + + "aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBG" + + "b3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRl" + + "d2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNs" + + "aS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9Igog" + + "ICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDog" + + "IiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0" + + "dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFD" + + "S19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9o" + + "b3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lk" + + "OiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tl" + + "eXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNA" + + "bnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAK" + + "CjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xv" + + "Z3kuIGAtLWpzb25gIHdyaXRlcwogICBKU09OTCB0byBzdGRlcnIsIHNvIHJlZGlyZWN0IGl0IHRv" + + "IHRoZSBwYXJzZXIgYW5kIGtlZXAgb25seSBKU09OIGxpbmVzOgoKICAgYGBgc2gKICAgIyBTaW5n" + + "bGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gMj4m" + + "MSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKCiAgICMgU3BsaXQ6IHBhc3Mg" + + "Ym90aCBjb250ZXh0IGZsYWdzCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwK" + + "ICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdy" + + "ZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIEdhdGUgb24gdGhlIGZpbmFsIGV2ZW50LiBBIG1p" + + "c3NpbmcgZmluYWwgZXZlbnQgYWxzbyBmYWlscyB0aGUgZ2F0ZS4KICAganEgLXNlICdhbnkoLltd" + + "OyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAg" + + "IElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRoZSB1c2VyIGVhY2ggYGNoZWNrX2NvbXBsZXRlZGAg" + + "ZXZlbnQgd2l0aAogICBgcGFzc2VkOiBmYWxzZWAgYW5kIGBzZXZlcml0eTogImVycm9yImAgKGl0" + + "cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJMYCksIGFuZAogICBzdG9wLiBEb24ndCBwcm9jZWVkIHRv" + + "IGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4gUm93cyBhdAogICBgc2V2ZXJpdHk6ICJ3YXJu" + + "aW5nImAgZG8gbm90IGZhaWwgdGhlIGdhdGU7IG1lbnRpb24gdGhlbS4gRm9yIGFuIG9wZXJhdG9y" + + "CiAgIHdpdGgga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seSwgdXNlIHRo" + + "ZSBjb21wdXRlLW9ubHkgZm9ybSBpbgogICBbYWRkLWNvbXB1dGUtcGxhbmUubWRdKGFkZC1jb21w" + + "dXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoKNC4gTWludCBhbiBhZG1pbiB0b2tlbiBpZiBuZWVkZWQu" + + "IGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50LiBDYWxsIGl0IGlmIHRoZQogICB1c2VyIGRv" + + "ZXMgbm90IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5pdCB0YWxrcyB0byBBUEkgS2V5cyB0aHJvdWdo" + + "IHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3YXksIHNvIGl0IGFsc28gd29ya3MgaW4gY29tcHV0ZS1v" + + "bmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4gVXNlIGAtLWpzb25gIGZvciB0aGUgSlNPTkwgZXZlbnQg" + + "c3RyZWFtOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY2x1" + + "c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBc" + + "CiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIEZvciBz" + + "cGxpdC1jbHVzdGVyIGluc3RhbGxzLCBhZGQgYm90aCBjb250ZXh0IGZsYWdzOgoKICAgYGBgc2gK" + + "ICAgZXhwb3J0IENPTlRST0xfUExBTkVfQ09OVEVYVD0iYWRtaW5AY29udHJvbC1wbGFuZSIKICAg" + + "ZXhwb3J0IENPTVBVVEVfUExBTkVfQ09OVEVYVD0iYWRtaW5AZ3B1LWNsdXN0ZXIiCgogICBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9IiR7Q09O" + + "VFJPTF9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIke0NP" + + "TVBVVEVfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05B" + + "TUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lP" + + "Tn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBQYXJzZSBldmVudHM6CiAgIC0gYHBoYXNlX3N0" + + "YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRlZGA6IGxvZyBwcm9ncmVzcwogICAtIGBwaGFzZV9wcm9n" + + "cmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9yIHRoZSBsb25nIGFwcGx5IHBoYXNlcyAocmVzb3VyY2Ug" + + "Y291bnRzKQogICAtIGB3YWl0aW5nYDogc3VyZmFjZSB0byB0aGUgdXNlciBpZiBpdCBwZXJzaXN0" + + "cyBmb3IgbW9yZSB0aGFuIDIgbWludXRlcwogICAtIGBwaGFzZV9mYWlsZWRgOiBzdG9wIGFuZCBz" + + "dXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVzIGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5lLgogICAgIERl" + + "Y2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIC0+IG1heSByZS1ydW4gbm93" + + "IHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYmFja29mZmAgLT4gd2FpdCBgcmV0cnlBZnRlclNl" + + "Y2AgYW5kIHRoZW4gcmUtcnVuIHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYWZ0ZXJfcmVtZWRp" + + "YXRpb25gLCBgbm9uZWAsIG9yIGB1bmtub3duYCAtPiB0aGUgb3BlcmF0b3IgbXVzdAogICAgIGFj" + + "dCBmaXJzdCwgc28gZG8gbm90IGF1dG8tcmV0cnkuCiAgIC0gYGZpbmFsYDogZG9uZS4gUHJpbnQg" + + "Y2x1c3RlcklkIGFuZCBOVkNGQmFja2VuZCBoZWFsdGguCgo2LiBWZXJpZnkgd2l0aCBzdGF0dXMu" + + "IFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxYCBhbmQgZXhwZWN0" + + "CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBPdGhlcndpc2UsIHVzZQogICBbZGlhZ25vc2UtZmFp" + + "bGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKS4KCjcuIE9wdGlvbmFs" + + "bHkgc21va2UgdGVzdCBhIGZ1bmN0aW9uLiBVc2UKICAgW2RlcGxveS1hbmQtaW52b2tlLm1kXShk" + + "ZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUgLT4gZGVwbG95IC0+CiAgIGludm9r" + + "ZSBmbG93LgoKIyMgTm90ZXMKCi0gU2luZ2xlLWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGEgZnJlc2gg" + + "Y2x1c3RlciB0YWtlcyBhYm91dCAxMC0xMyBtaW51dGVzLAogIGRlcGVuZGluZyBvbiBjaGFydCBw" + + "dWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBpZGVtcG90" + + "ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1biBhZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNpdGUuCi0g" + + "TmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25lIGFueXdheSkuCi0g" + + "SWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAgc2V0LCBhbHdheXMgdXNlIGAtLW5vbi1pbnRlcmFj" + + "dGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBwcm9wb3NlIGBudmNmLWNsaSBpbml0YCBpbnRlcmFj" + + "dGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQF" + + "AAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3MgSldLUwoKVXNlciBzYXlzIE5WQ0Egc3RvcHBlZCBh" + + "dXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRoIGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01TLiBUaGUg" + + "SzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmluZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQgYW5kIHRo" + + "ZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5vdyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90YXRlCgot" + + "IGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + + "dmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy88aWQ+L3JlZ2lzdGVy" + + "YCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNob3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxp" + + "ZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNtYXRjaCwg" + + "bm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMgYm90aCkKLSBBZnRlciBhIGNvbnRyb2wtcGxhbmUg" + + "SzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFuZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMKCjEuIENv" + + "bmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVy" + + "ZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYC4gSWRlbnRpZnkgdGhlIHJvdyBt" + + "YXRjaGluZyB0aGUgdXNlcidzIGNvbXB1dGUgcGxhbmUuCgoyLiAqKlJvdGF0ZS4qKiBGcm9tIGEg" + + "Y29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgKGJlY2F1" + + "c2Ugcm90YXRpb24gcmUtZmV0Y2hlcyB0aGUgSzhzIEFQSSdzIGAvb3BlbmlkL3YxL2p3a3NgKToK" + + "CiAgIGBgYHNoCiAgIG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+IC0t" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PTxjdHg+CiAgIGBgYAoKICAgVGhpcyByZS1mZXRjaGVzIEpX" + + "S1MgZnJvbSB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgYW5kIFBVVHMgaXQgdG8gSUNNUy4g" + + "VGhlIGNsdXN0ZXIgSUQgc3RheXMgdGhlIHNhbWUuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkg" + + "Y2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRgIGFk" + + "dmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + + "ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3VsZCBz" + + "dWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBgY2x1" + + "c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdyb3Vw" + + "IElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95IHRo" + + "ZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQgYG91" + + "dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElDTVMg" + + "b25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0ZXIg" + + "SUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBtYXkg" + + "YmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91dCBo" + + "ZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1jYWxs" + + "b3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5X2Ns" + + "dXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZpZ21h" + + "cCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZhaWxl" + + "ZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNoZWNr" + + "cy4KUEsHCKrhOrnIBwAAyAcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIgZG93" + + "biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24gZGVz" + + "dHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBrZXlz" + + "LCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZv" + + "cmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5zdGFs" + + "bGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3duIHN1" + + "cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToKCnwg" + + "VGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwKfCBQ" + + "ZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1bmlu" + + "c3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8Cnwg" + + "T3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNsdXN0" + + "ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwKClVz" + + "ZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRPcHMg" + + "KGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVzLiBB" + + "bHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2RlIHwg" + + "TGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18LS0t" + + "fC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykgfCAq" + + "Kk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBoYXNl" + + "IHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50IHN0" + + "cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1pdGl2" + + "ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0gZ2V0" + + "IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBgZG93" + + "biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVzdHJh" + + "dG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1uby1h" + + "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhlIFlB" + + "TUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMgcHJl" + + "dmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0" + + "ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBXaGVu" + + "IHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0tfAp8" + + "ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUgc3Rl" + + "cHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + + "biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBjb21t" + + "aXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRlLnlh" + + "bWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBsYW5l" + + "IChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "dW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3QgcmVt" + + "b3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAtLWNs" + + "dXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29wZSB3" + + "aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0ZSBw" + + "bGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRlIHBs" + + "YW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlzIGNs" + + "dXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1wb3J0" + + "YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxw" + + "cm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVudCBz" + + "dGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVzZXIg" + + "ZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJzaXN0" + + "ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIKCiMj" + + "IyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + + "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhpcyBl" + + "bWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJlbGVh" + + "c2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3VsZCBi" + + "ZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNbXWAg" + + "YXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmluc3Rh" + + "bGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMuIEV4" + + "ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVy" + + "LW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6Cgox" + + "LiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVzb2x2" + + "ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBmdW5j" + + "dGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMgdW50" + + "aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9tcHRg" + + "IChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBsYW5l" + + "IOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1bmlu" + + "c3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBSZW1v" + + "dmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2LiBV" + + "bnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRlYXIg" + + "ZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9yY2hl" + + "c3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28gZ29p" + + "bmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVmdXNl" + + "cyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVzZSBg" + + "LS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoqIGlm" + + "IHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQU0FU" + + "IGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZhaWxp" + + "bmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZv" + + "cmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBzaApu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRlcmF0" + + "ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBlci1j" + + "bHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNvbmN1" + + "cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5l" + + "YC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVzdGVy" + + "IGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQgZm9y" + + "IG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJnbyAv" + + "IEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxhbmU6" + + "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFu" + + "ZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1pdHMg" + + "ZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRoZSBk" + + "ZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQgLW0g" + + "InJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBzeW5j" + + "IHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01TIHJv" + + "dzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBgYAoK" + + "Tm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIgZGVs" + + "ZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBHaXRP" + + "cHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1c2Ug" + + "YGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBgZG93" + + "bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiouIFRo" + + "ZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyByZWxl" + + "YXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25vcmUt" + + "bWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2UgNCAr" + + "IDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25kIHJ1" + + "bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29yeTog" + + "ImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9uImAg" + + "4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZgICh0" + + "aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1biBg" + + "ZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24uCi0g" + + "YGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlh" + + "dGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIgcGFz" + + "c2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1ydW4g" + + "d2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAgYW5k" + + "IGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNlIGBl" + + "cnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1AuIERv" + + "IG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25maXJt" + + "CgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGlu" + + "dm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUgdGhl" + + "IGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBsb3N0" + + "IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9jYWxg" + + "IHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIikuCi0g" + + "SWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRoYXQg" + + "Q2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHRo" + + "YXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29uZmly" + + "bWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJz" + + "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhhbmVk" + + "LgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFpbmlu" + + "ZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24gYSBD" + + "TEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVyIGNv" + + "bXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBudmNh" + + "LWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4gbnZj" + + "YS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBudmNh" + + "LXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgojIERy" + + "YWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxp" + + "ZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmNk" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxtZmls" + + "ZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sgYnVu" + + "ZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwgcGF0" + + "aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxsZWQu" + + "CgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3MgIndo" + + "eSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0ZWZ1" + + "bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVsbSB1" + + "bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxseSBz" + + "byBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUgY29t" + + "cGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + + "b3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoKT3Is" + + "IHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0tYWxs" + + "CmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBzdGVw" + + "LgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZjZi1j" + + "bGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBhaXIg" + + "d2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1jb2Rl" + + "cy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVkIGxp" + + "ZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwtLS18" + + "LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxpZ2h0" + + "IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3RyeSBj" + + "cmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWluZyBl" + + "dmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wtcGxh" + + "bmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlg" + + "IG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVkIGNo" + + "ZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wgcGxh" + + "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFs" + + "aWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1bnRp" + + "bCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBs" + + "YW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFt" + + "ZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRoZSBj" + + "b21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRl" + + "cnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4gV2l0" + + "aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBgc2Vs" + + "Zi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3ZlIHwg" + + "c3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50OyBz" + + "ZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFs" + + "bCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwgWUFN" + + "TCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1ob3N0" + + "ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3RlciBj" + + "bHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBPbmUg" + + "aW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXIt" + + "bmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0eSkg" + + "c3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7" + + "IGZvciBjb21wdXRlLW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNvbXB1" + + "dGUtcGxhbmUgaW5zdGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0" + + "ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZy" + + "aWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAtLWt1" + + "YmUtY29udGV4dD1ZIFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3RlciB3" + + "aXRoIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJhdG9y" + + "IHZhbHVlcyB8IHN1bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQVSBj" + + "bHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNlbGYt" + + "aG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0PVlg" + + "IHwgSW5zdGFsbCBhIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyYCB3cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29tcHV0" + + "ZS1wbGFuZSByZWdpc3RlcmAgfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1l" + + "PVhdIFstLXdhdGNoXWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFpbi9KU09O" + + "TCB8IGAtLXdhdGNoYCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3Rh" + + "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2" + + "ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVn" + + "aXN0ZXIsIG5vIGRyYWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNlcyBvbiB0" + + "aGF0IGNvbXB1dGUgcGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lIFstLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5lIHByaW1p" + + "dGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mg" + + "fCBSZWZ1c2VzIGlmIGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNzIGAtLWZv" + + "cmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwg" + + "LS1uby1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0gZ2V0IG1h" + + "bmlmZXN0YCBwZXIgcmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBlIHRvIGBr" + + "dWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJvcnMgYGlu" + + "c3RhbGwgLS1uby1hcHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVgg" + + "Wy0tZHJhaW4tYWN0aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJhdG9yOiBk" + + "cmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxldGUgaW4g" + + "SUNNUyB8IHByb2dyZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVzdGVyLW5h" + + "bWU9WGAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9yY2hlc3Ry" + + "YXRvcjogdGVhciBkb3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wg" + + "cGxhbmUgfCBwcm9ncmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1jb25jdXJy" + + "ZW5jeWAgKGRlZmF1bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRlcmFjdGl2" + + "ZSB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3RyYXRvciBk" + + "cnktcnVuOiBwaGFzZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAobm8gaGVs" + + "bS9oZWxtZmlsZSBjb250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBhbnkgYWN0" + + "dWFsIGBkb3duYCoqIHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwgUHVycG9z" + + "ZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1YIC0t" + + "bmNhLWlkPVkgWy0tcmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIgYSBK" + + "V0tTK09JREMgd2l0aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxseTsgc3Rh" + + "bmRhbG9uZSBmb3IgbWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdC1yZWdpc3Rl" + + "cmVkIC0tbmNhLWlkPVkgWy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVkIGNsdXN0" + + "ZXIgcmVnaXN0cmF0aW9ucyBmcm9tIElDTVMgfCBVc2VzIHRoZSBhZG1pbiB0b2tlbjsgYC0tanNv" + + "bmAgZm9yIG1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IHwKfCBgY2x1c3RlciByb3RhdGUgLS1jbHVz" + + "dGVyLWlkPUlEYCB8IFJlLWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01TIHwgQWZ0" + + "ZXIgSzhzIEFQSSBzZXJ2ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVyIGRlbGV0" + + "ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElWRTogY29u" + + "ZmlybSB3aXRoIHVzZXIqKiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBO" + + "b3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxF" + + "YCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQgKyBWZXJz" + + "aW9uIElEOyBMTE0gZnVuY3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2Rl" + + "bHNbXS5sbG1Db25maWcudXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVz" + + "cG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAvIGBmdW5j" + + "dGlvbiBsaXN0LWlkc2AgfCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBmdW5jdGlv" + + "biBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9uIG1ldGFk" + + "YXRhIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9" + + "VklEIC0tdGFncz1UQUdbLFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8CnwgYGZ1bmN0" + + "aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0tbW9kZWwt" + + "dXBkYXRlPVNQRUNgIHwgVXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBTUEVDYCB1" + + "c2VzIGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + + "bGltaXQ+YDsgYWNjZXB0ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0oZmxhZ3Mu" + + "bWQpIHwKfCBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTY2hl" + + "ZHVsZSBhIGRlcGxveW1lbnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkwMHMpIHwK" + + "fCBgZnVuY3Rpb24gZGVwbG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQg" + + "Wy0tanNvbl1gIHwgRGVwbG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFDVElWRVx8" + + "REVQTE9ZSU5HXHxFUlJPUlx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRhdGUgLS1p" + + "bnB1dC1maWxlPUZJTEVgIHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwKfCBgZnVu" + + "Y3Rpb24gZGVwbG95IHJlbW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwg" + + "U3RvcCBhIGRlcGxveW1lbnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5jdGlvbiBp" + + "bnZva2UgLS1pbnB1dC1maWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24gfCBSZXF1" + + "aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBpbnZva2Vk" + + "IHRocm91Z2ggYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxmdW5jdGlv" + + "bi1pZD4vPG1vZGVsLW5hbWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1J" + + "RCAtLXZlcnNpb24taWQ9VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQgfCAqKkRF" + + "U1RSVUNUSVZFOiBjb25maXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNvbW1hbmRz" + + "IHJlcXVpcmUgYE5WQ0ZfQVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFuZCBgTlZD" + + "Rl9CQVNFX05WQ1RfVVJMYCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4gSW4gYSBm" + + "cmVzaCBzZXNzaW9uLCByZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5zdGF0ZWAg" + + "YW5kIGluamVjdCBpdCBhcyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVl" + + "OyBjaGVjayBgbnZjdEFwaUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRlIHdpdGgg" + + "YGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVkLiBSdW4g" + + "YGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQgYSBuZXcg" + + "a2V5LgoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNr" + + "IGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1pbWFnZT1J" + + "TUdgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0" + + "ZTsgdXNlIGAtLWlucHV0LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0YXNrIGNy" + + "ZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxtLWNoYXJ0" + + "PUNIQVJUYCB8IFN1Ym1pdCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2VzIGAt" + + "LWltYWdlYCB8CnwgYHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1pdCBhIHRh" + + "c2sgZnJvbSBhIEpTT04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBj" + + "b25maWd1cmF0aW9ucyB8CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1saW1pdD1O" + + "XWAgfCBMaXN0IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0YXR1c2Vz" + + "OiBgUVVFVUVEYCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURg" + + "LCBgQ0FOQ0VMRURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURf" + + "TUFYX1FVRVVFRF9EVVJBVElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgdGFzayBk" + + "ZXRhaWxzIHwgVXNlcyBzYXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8CnwgYHRh" + + "c2sgZXZlbnRzIFt0YXNrSWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2ZW50cyBm" + + "b3IgYSB0YXNrIHwgfAp8IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1bHQgYXJ0" + + "aWZhY3RzIGZvciBhIGNvbXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdoZW4gYHJl" + + "c3VsdEhhbmRsaW5nU3RyYXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3QgeWV0IHN1" + + "cHBvcnRlZCB8CnwgYHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5pbmcgdGFz" + + "ayB8IE5vLW9wIGlmIGFscmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRlbGV0ZSBb" + + "dGFza0lkXWAgfCBEZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFzayBJRCAr" + + "IGN1cnJlbnQgc3RhdHVzLCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgZXhw" + + "bGljaXRseSBjb25maXJtaW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4gRG8gbm90" + + "IHRyZWF0IHRoZSBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24uKiogfAp8" + + "IGB0YXNrIHVwZGF0ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVw" + + "ZGF0ZSBzZWNyZXRzIG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBk" + + "YXRlZCBieSBuYW1lLCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJl" + + "c2VydmVkIHwgVmFsdWVzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVsayAtLXRh" + + "c2staWRzPUlEMVssSUQyLOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3Mg" + + "aW4gb25lIHJlcXVlc3QgfCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMg" + + "fAp8LS0tfC0tLXwtLS18CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQSSBLZXlz" + + "IHZpYSBwdWJsaWMgYXBpIGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52Y2YtY2xp" + + "LnN0YXRlYDsgY2xlYXJzIHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtleXMgKGZ1" + + "bmN0aW9uIGFuZCB0YXNrKSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9rZW4sIGxh" + + "c3QgZW5kcG9pbnRzLCBmdW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNlbGYtaG9z" + + "dGVkIHN0YXR1c2AgfAp8IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8dGFza10g" + + "Wy0tZGVzY3JpcHRpb2494oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkga2V5cyB8" + + "IERlZmF1bHQgKG5vIGAtLWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtleSBhbmQg" + + "YSB0YXNrIGtleTsgYC0tZm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJhdGVzIG9u" + + "ZSBvbmx5OyBgLS1zY29wZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdlbmVyYXRl" + + "IC0tdmFsaWRhdGVgIHwgTWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBnZW5lcmF0" + + "ZWQga2V5IHwgVmFsaWRhdGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVkaWVuY2Ug" + + "KE5WQ0YgZm9yIGZ1bmN0aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBhcGkta2V5" + + "IGxpc3RgIHwgTGlzdCBBUEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5WQ0Ytc2Nv" + + "cGVkIGtleXMgb25seSB8CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtleSByZXZv" + + "a2UgS0VZLUlEYCB8IFJlbW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNlcioqIHwK" + + "fCBgYXBpLWtleSBzaG93YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJvbSBzdGF0" + + "ZSB8IHwKCiMjIEFnZW50IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0t" + + "fC0tLXwtLS18CnwgYGFnZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgSW5zdGFs" + + "bCBhbGwgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3NraWxscy9g" + + "IGFuZCBgfi8uYWdlbnRzL3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxscyBkaXJl" + + "Y3RvcmllcyB8CnwgYGFnZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBSZW1v" + + "dmUgb25seSBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQgYmFzZSBz" + + "a2lsbHMgZGlyZWN0b3JpZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJlbWFpbiB8" + + "CnwgYGFnZW50LXNraWxsIHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQgYG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxlIHwgRm9y" + + "IGRlYnVnZ2luZyB8CnwgYGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQgU0hBIGFu" + + "ZCBlbWJlZGRlZCBwdWJsaWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcIFaVAjNMlAADTJQAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBjb2RlcwoK" + + "U3RhYmxlIGFjcm9zcyBzdWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50IHJldHJ5" + + "IC8gc3VyZmFjaW5nIGxvZ2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1c2VzIHwK" + + "fC0tLXwtLS18LS0tfAp8IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsgaW5zdGFs" + + "bCBjb21wbGV0ZWQ7IGRlcGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVycm9yIHwg" + + "SGVsbSByZW5kZXIgZmFpbGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBmb3VuZDsg" + + "WUFNTCBwYXJzZSBlcnJvciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQgfCBBIGBj" + + "aGVja2AgcmVzdWx0IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1pc3Npbmc7" + + "IGt1YmVjdGwgbm90IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBh" + + "YnNlbnQ7IGEgY2x1c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJlY29uZmln" + + "IG9yIGNvbnRleHQsIG9yIGEgZmlyc3QgQVBJIGNhbGwgdGhhdCBmYWlscyBmb3IgYW55IHJlYXNv" + + "bjogcmVmdXNlZCBvciBkcm9wcGVkIGNvbm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzLCBh" + + "IGZhaWxpbmcgY3JlZGVudGlhbCBwbHVnaW4sIGEgc2VydmVyIGVycm9yKTsgYSBjbHVzdGVyLXZh" + + "bGlkYXRvciB0aGF0IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1" + + "cmUsIGl0cyBvd24gdGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSk7" + + "IGEgYHN0YWxlLW5hbWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNrIFRlcm1p" + + "bmF0aW5nYC4gU3VjaCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRpbWUgYnVk" + + "Z2V0IGN1dCBhbm90aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3VsdHMgZXhp" + + "dCBgMGAsIGluY2x1ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxtIHJlbGVh" + + "c2UgbGVmdCBtaWQtb3BlcmF0aW9uLCBhIG5hbWVzcGFjZSB3aXRoIG5vIEhlbG0gcmVsZWFzZSwg" + + "YW5kIGEgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgc2F5aW5nIG5vIGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9pbWFnZWAgaXMgc2V0IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsg" + + "YC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50" + + "IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBv" + + "dXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90IHBhc3Mg" + + "YmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dyZXNzOyB0" + + "aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgdGhhdCBjYW4gZmFpbCB0aGUg" + + "cnVuIGJlZm9yZSBpdCBmaW5pc2hlZCAoaXRzIHJvdyBzYXlzIG5vdCBydW4gb3IgY3V0IHNob3J0" + + "KSBhbmQgbm8gb3RoZXIgY2hlY2sgZmFpbGVkLiBBIGN1dC1zaG9ydCByb3cga2VlcHMgdGhlIHdv" + + "cnN0IHNldmVyaXR5IGl0cyBjaGVjayBjYW4gcmVwb3J0LCBzbyBhIGNoZWNrIHRoYXQgY2FuIG9u" + + "bHkgd2Fybiwgc3VjaCBhcyBhIHJlZ2lzdHJ5IHRoYXQgaXMgbm90IGNyaXRpY2FsLCBzdGF5cyBh" + + "IHdhcm5pbmcuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBz" + + "byBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNl" + + "bGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGluIHRo" + + "ZSBgY2hlY2sgLS13YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBvciBg" + + "Q3RybC1DYCBpbiB0aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVk" + + "OyB0ZXJtaW5hbCBvciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50IHNob3Vs" + + "ZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBDb250" + + "aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNlcjsg" + + "YXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1bWFu" + + "IHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3MgKyB0" + + "aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhlcyBw" + + "cmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBP" + + "UiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9LLiB8" + + "CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50byB0" + + "aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0cnkg" + + "YXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZvcmUg" + + "cmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCByZXBv" + + "cnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJkaWN0" + + "YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5pbmdD" + + "b3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9jaS1w" + + "aXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdhaXRg" + + "LCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2Vzczog" + + "ZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVu" + + "dCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50" + + "OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBjYXJy" + + "aWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBg" + + "ZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsg" + + "YHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZh" + + "bGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwg" + + "YSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNo" + + "ZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBl" + + "dmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQs" + + "IG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0" + + "ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9y" + + "ZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVy" + + "eSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBK" + + "U09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25g" + + "IChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0" + + "ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwp" + + "LCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdh" + + "eXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5n" + + "bGlzaCBmcm9tIHN0ZGVyci4KUEsHCOUdeab6DwAA+g8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQAB" + + "AKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBz" + + "dWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFt" + + "bGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxz" + + "ZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBU" + + "VFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFy" + + "ZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + + "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENv" + + "bnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTov" + + "L2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9j" + + "YWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5u" + + "ZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUg" + + "ZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBv" + + "ciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0" + + "cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0" + + "dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2sp" + + "IHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHBy" + + "b21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVz" + + "IHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBl" + + "bWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRl" + + "eHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3Zl" + + "ZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3Ry" + + "ZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVj" + + "a2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mg" + + "b3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZh" + + "bHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNo" + + "IGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0" + + "ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNo" + + "IGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hl" + + "Y2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNoZWNrIHRo" + + "ZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRzIGV2ZW50" + + "IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0tbm8t" + + "Y2xlYW51cGAuIEEgbWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElPTiBpcyBhIHVzYWdl" + + "IGVycm9yIChleGl0IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwg" + + "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVj" + + "dGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8" + + "CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250" + + "ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBoZXJlLCBp" + + "biBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25maWcgYXMg" + + "YGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25lIGRlcml2ZWQgZnJv" + + "bSBhIGBiYXNlX2h0dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2YubnZpZGlhLmNvbWAs" + + "IGFzIHRoZSBjb25maWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMgYHNpcy1yZWFjaGFi" + + "aWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwK" + + "fCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNr" + + "cyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2ZXIgc2Nv" + + "cGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFuZCBlYWNo" + + "IHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93cyB0aGF0" + + "IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52OiBgTlZD" + + "Rl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2Vg" + + "IHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250" + + "cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIGAt" + + "LXByZWAgc2VsZWN0cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBpdHMgb3du" + + "LiBPbmx5CnRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBib3RoIGNv" + + "bnRleHQgZmxhZ3Mgb3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVkIHJvbGUg" + + "Y2hlY2tzIHRoZSBjdXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1o" + + "b3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHks" + + "IHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29t" + + "cHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUn" + + "cyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBp" + + "bnN0YWxsZWQuIEEgbWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAg" + + "b3IgYGhlbG1gIGZhaWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4g" + + "aW5zdGFsbGVkIHN0YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBg" + + "ZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29udHJv" + + "bCBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rl" + + "ci12YWxpZGF0b3IuIE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBs" + + "YW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNw" + + "YWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNvbmZpZ3Vy" + + "ZWQgSUNNUyBVUkwsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IGBm" + + "YWxzZWAgfAp8IGAtLWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1jb21wdXRl" + + "LXBsYW5lYCwgU0lTIHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0IGAtLXBy" + + "ZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgc2hv" + + "d24gaW4gdGhlIG91dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hlY2tgIGRv" + + "ZXMgbm90IHJlcXVpcmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0" + + "aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29u" + + "ZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJv" + + "YmUgaW1hZ2UgaXMgb24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0" + + "aGUgcHJvYmUgcG9kcyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5LWxpbWl0" + + "c2Agcm93IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNG" + + "X0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNl" + + "YCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBh" + + "IEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2" + + "aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBw" + + "bHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQg" + + "b25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBz" + + "byB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3Nl" + + "LgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9uIGBwb2Rz" + + "L2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhhdCBzdWNj" + + "ZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0IGNvdWxk" + + "IG5vdCBiZSByZWFkLCBzbyB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duLgpUaGUg" + + "Q2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtl" + + "OiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBj" + + "b250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNw" + + "YWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFn" + + "ZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9D" + + "TElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0" + + "YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZh" + + "bGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcg" + + "dG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBl" + + "dmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNs" + + "dXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2Fy" + + "bmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0" + + "XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRp" + + "YWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qg" + + "b2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50" + + "aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRl" + + "ZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9y" + + "IGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFu" + + "ZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1t" + + "YW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBv" + + "dXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBw" + + "cm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUg" + + "c3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9u" + + "bHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0" + + "aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJ" + + "X0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlk" + + "YXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8Cnwg" + + "YC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9k" + + "ZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRv" + + "LW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2Au" + + "IFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xV" + + "U1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNs" + + "dXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVw" + + "ZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0" + + "aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vi" + + "c2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1l" + + "IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMg" + + "YmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50" + + "cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0" + + "cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + + "Ul9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0" + + "ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5g" + + "IHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29u" + + "dHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9k" + + "ZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2No" + + "ZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFu" + + "ZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJf" + + "VkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9s" + + "ZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVz" + + "IHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2Vj" + + "cmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBw" + + "dWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3Jl" + + "dCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0" + + "cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25s" + + "eSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBg" + + "ZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRo" + + "ZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRo" + + "ZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRv" + + "ciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20g" + + "d2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tp" + + "cCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRo" + + "YXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0" + + "aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBj" + + "YW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93" + + "IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0Zf" + + "Q0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gLCBgdHJ1ZWAgb3IgYGZhbHNl" + + "YCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwg" + + "aXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBB" + + "IGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBz" + + "byBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVj" + + "dCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5z" + + "IHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBU" + + "aGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBz" + + "dGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5u" + + "b3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2Ag" + + "fCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hl" + + "Y2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdv" + + "cnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMg" + + "YGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0" + + "cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJy" + + "LCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8" + + "IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNo" + + "IHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRp" + + "YWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpz" + + "b25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVg" + + "IG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBp" + + "cyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwg" + + "YE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlg" + + "IHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3Ig" + + "YQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1" + + "cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50" + + "IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVy" + + "ZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVjdHMgdGhlIGRvY2tl" + + "cgpsb2dpbi4gVGhlIHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBkaXNjb3ZlcnkgYW5k" + + "IHRoZSB2YWxpZGF0b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93IHNheXMgaG93IHRv" + + "IHJlbmV3IHRoZSBsb2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBgLS13YWl0YCBwb2xs" + + "IHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRo" + + "ZQpydW4gd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3Ig" + + "cHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRo" + + "ZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlg" + + "LCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2Vn" + + "bWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2Nv" + + "cGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJl" + + "Z2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdp" + + "c3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0" + + "ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGgg" + + "aXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNo" + + "LCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50" + + "aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBz" + + "dWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29t" + + "bWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hp" + + "bmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRl" + + "bnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3Ig" + + "Z2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwpl" + + "bnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8" + + "IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0t" + + "LXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlz" + + "YCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5n" + + "cmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91" + + "dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91" + + "dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1z" + + "ZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVk" + + "IGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRl" + + "cyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRy" + + "b2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRl" + + "cm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2Ug" + + "YGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + + "LWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8Cnwg" + + "U3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlk" + + "YXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBh" + + "IGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3Bh" + + "Y2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdl" + + "IHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BS" + + "T0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3Rh" + + "Y2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRo" + + "ZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBI" + + "RUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBs" + + "YW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3Rh" + + "bGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQu" + + "Ci0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2Uu" + + "eWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMg" + + "ZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AK" + + "ICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biks" + + "IGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJl" + + "YWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFy" + + "bGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAog" + + "IGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25l" + + "ZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5k" + + "IG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtp" + + "bmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2Fy" + + "ZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFu" + + "ZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZp" + + "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rl" + + "ci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAt" + + "IHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8Cnwg" + + "YC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1w" + + "bGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5n" + + "ZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0" + + "byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13" + + "YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERV" + + "UmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZp" + + "bHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVu" + + "dHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8" + + "IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAo" + + "cmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0x" + + "YCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8Cnwg" + + "YC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24t" + + "ZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8" + + "dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBn" + + "ZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBs" + + "YWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVz" + + "LWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQg" + + "YXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1g" + + "IHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBk" + + "ZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBp" + + "bW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1" + + "bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5" + + "cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + + "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5p" + + "dGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0t" + + "aW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBV" + + "UklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1w" + + "b3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24t" + + "dHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRg" + + "IHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVu" + + "Y2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNr" + + "YWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8" + + "IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3" + + "aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9O" + + "OlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxs" + + "bS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVy" + + "aXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + + "bWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRo" + + "IGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlu" + + "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1" + + "c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJp" + + "b3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5" + + "LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1h" + + "Y2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBv" + + "dmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92" + + "ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQg" + + "aW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5k" + + "IG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1D" + + "b25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhz" + + "IGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9j" + + "aGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4g" + + "YGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9v" + + "Zl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNv" + + "bmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQg" + + "cG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQu" + + "IFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgICho" + + "b3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdo" + + "ZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgs" + + "NTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcg" + + "aXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2Vk" + + "IExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBo" + + "ZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2Ft" + + "ZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMg" + + "U2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZv" + + "Y2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJg" + + "LiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2Rl" + + "bCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9u" + + "c2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNl" + + "c3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rp" + + "b24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8" + + "CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBg" + + "bmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0" + + "PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tl" + + "biBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRv" + + "a2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBS" + + "ZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhp" + + "cyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8" + + "IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291" + + "bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3Rp" + + "bmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwK" + + "CkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRy" + + "aWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29y" + + "IGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVs" + + "IG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlv" + + "biBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + + "bmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8" + + "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8" + + "IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5" + + "IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEw" + + "MF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAt" + + "LW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0" + + "LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVs" + + "dCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmlj" + + "IGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRl" + + "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + + "YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1" + + "aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBg" + + "LS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + + "IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5" + + "cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUu" + + "SDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5" + + "IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8" + + "IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0" + + "aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxl" + + "IHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBg" + + "LS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5B" + + "TUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21t" + + "YS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hl" + + "biBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2No" + + "cyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8" + + "IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNl" + + "Y3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFi" + + "bGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwg" + + "TWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZh" + + "dWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8" + + "IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZl" + + "ciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdy" + + "YWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + + "YFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5k" + + "bGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NB" + + "VElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1l" + + "L11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8" + + "IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBl" + + "YXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2Ug" + + "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRh" + + "Z3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNj" + + "cmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0" + + "cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1l" + + "dHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1p" + + "ZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCMqNBihUVgAA" + + "VFYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGlu" + + "ZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0" + + "aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0" + + "cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQg" + + "bWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25g" + + "IGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBh" + + "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1w" + + "dG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90" + + "ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2Ag" + + "cHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + + "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJh" + + "dG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1w" + + "cmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBp" + + "dGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rh" + + "c2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFU" + + "SGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxh" + + "dGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5z" + + "aC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1" + + "c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlk" + + "YXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRl" + + "ZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcs" + + "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhl" + + "IGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBj" + + "b3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGlt" + + "YWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVz" + + "c2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVz" + + "dGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUg" + + "cmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBj" + + "b3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9k" + + "cy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBr" + + "dWJlbGV0LiBXYXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duIHwgR3JhbnQgYGdldGAg" + + "b24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0" + + "aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0" + + "b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwg" + + "RW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9j" + + "a2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXkt" + + "c3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRl" + + "ZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhh" + + "cyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3Rh" + + "dGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3Rh" + + "dGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRy" + + "dWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52" + + "aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUg" + + "c3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUg" + + "UmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVy" + + "dGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BV" + + "IE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczov" + + "L2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0" + + "ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3Jg" + + "IGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2Fybmlu" + + "ZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilg" + + "LCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBv" + + "dmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVy" + + "ZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwg" + + "UnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBu" + + "cyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMg" + + "bGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ug" + + "b2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBs" + + "YXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRl" + + "bGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwg" + + "ZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7" + + "IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2Ag" + + "YWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVh" + + "c2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRl" + + "cnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSBy" + + "ZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxz" + + "IG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxt" + + "IGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJv" + + "bGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + + "IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3Jr" + + "bG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFp" + + "bXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFs" + + "bCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBp" + + "LXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4x" + + "IGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4g" + + "QXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFz" + + "IG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0g" + + "cmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRo" + + "IGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20g" + + "aXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1l" + + "bnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tl" + + "ZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3IgZ2F0ZWQg" + + "bmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHBy" + + "b2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNr" + + "IHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0" + + "aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVu" + + "dmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + + "IG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3Jl" + + "IGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0" + + "YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUt" + + "c3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0t" + + "ZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNl" + + "ZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + + "LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5v" + + "IGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xp" + + "IGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAg" + + "KENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVk" + + "LCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20g" + + "YSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBg" + + "bnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRp" + + "ZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2Vf" + + "ZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlv" + + "bj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQg" + + "d2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sg" + + "YFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwg" + + "Z2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BV" + + "LkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdw" + + "dWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImlu" + + "c3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3Zp" + + "ZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJl" + + "Z2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9u" + + "PXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5D" + + "QV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFw" + + "cGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBu" + + "b3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBh" + + "ZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3Ig" + + "YG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVs" + + "dGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4u" + + "L252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVu" + + "dGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBO" + + "VkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9j" + + "bHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJ" + + "Q01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNs" + + "dXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBs" + + "b2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBp" + + "cyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXIt" + + "aWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFj" + + "a2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8" + + "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUg" + + "cHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2Ag" + + "Zm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0" + + "LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5h" + + "dHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2Vy" + + "dmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3Ry" + + "eSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3Jl" + + "ZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBk" + + "YXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFk" + + "eSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBj" + + "YWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2Yu" + + "Y2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUg" + + "Y2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0" + + "IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVw" + + "bG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcItQXzgvQgAAD0IAAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxm" + + "LWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tz" + + "LiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxv" + + "d3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3Vi" + + "bGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1" + + "dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRy" + + "b2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9m" + + "aWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMu" + + "IERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBr" + + "M2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21w" + + "YXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMu" + + "MTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1" + "dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4i" + - "CiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwg" + - "c2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBp" + - "bnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNo" + - "LCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46" + - "IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVy" + - "YXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5l" + - "IGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVz" + - "ZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1h" + - "dGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5k" + - "b2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0" + - "aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5j" + - "dGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3Rl" + - "ZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24s" + - "CmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + - "YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + - "L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9s" + - "LXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRj" + - "aGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNv" + - "dXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJz" + - "aW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBi" + - "ZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29t" + - "bWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoK" + - "IyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFu" + - "eSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEu" + - "eCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMg" + - "TXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0t" + - "ZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGlu" + - "IDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBy" + - "dW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6Cgpg" + - "YGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8g" + - "ZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0" + - "aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3Jl" + - "dHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1Ag" + - "RW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1y" + - "Yy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFu" + - "ZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0" + - "aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChk" + - "ZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAg" + - "ICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBs" + - "ICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykK" + - "ICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNp" + - "dGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczog" + - "YmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1s" + - "LmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQg" + - "KGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50" + - "cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBm" + - "aWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2Vz" + - "IG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1" + - "c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhl" + - "bG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVh" + - "biBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBz" + - "ZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5" + - "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpl" + - "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + - "Z2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + - "cyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0n" + - "JG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + - "IC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + - "dGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBh" + - "bHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNl" + - "ZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRo" + - "ZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5g" + - "IEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxl" + - "IHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBj" + - "cmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFz" + - "aAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5p" + - "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4g" + - "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNy" + - "IGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5" + - "IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3Iu" + - "PHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5g" + - "IGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+" + - "IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVk" + - "IGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBg" + - "bnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBk" + - "b2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRo" + - "ZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1p" + - "c2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2Nl" + - "ZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMg" + - "ZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRo" + - "ZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0t" + - "dXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAg" + - "aW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVs" + - "bGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlz" + - "Cj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5" + - "IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJv" + - "ciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1" + - "bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBs" + - "ZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFu" + - "dGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5k" + - "IHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQg" + - "dGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBn" + - "bG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAg" + - "ICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWly" + - "cm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMK" + - "ICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8" + - "bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBP" + - "Q0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9y" + - "ZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFs" + - "cmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdo" + - "LCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhh" + - "bXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBj" + - "YW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3Ig" + - "bWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJy" + - "b3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBv" + - "IGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0" + - "Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kg" + - "Y2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tp" + - "cCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNh" + - "dGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9h" + - "ZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5l" + - "dGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1j" + - "cmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBu" + - "b3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBv" + - "ciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBz" + - "dGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxp" + - "ZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2" + - "aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11" + - "c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2Ug" + - "KHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVy" + - "ZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRo" + - "ZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBk" + - "b2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5" + - "IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChr" + - "dWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4g" + - "LW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FU" + - "RVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBD" + - "bG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9h" + - "ZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQg" + - "RE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46" + - "ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhv" + - "c3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9t" + - "YWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYg" + - "dGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBh" + - "bmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxl" + - "IDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVw" + - "bG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAg" + - "IyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dv" + - "cmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERF" + - "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEg" + - "c2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhh" + - "dCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNT" + - "QU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQg" + - "ZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlh" + - "bHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZp" + - "Y2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4g" + - "b3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8" + - "IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwK" + - "fCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3Nh" + - "bmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBT" + - "SVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9u" + - "YWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3" + - "aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAz" + - "IHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8" + - "IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sg" + - "KGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0" + - "eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1" + - "bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBh" + - "dGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0" + - "aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBw" + - "YWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2" + - "YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBh" + - "IG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52" + - "LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJs" + - "ZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9z" + - "dCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5" + - "Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGlu" + - "Z3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVl" + - "ZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0" + - "aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2Fn" + - "ZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUg" + - "cGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFu" + - "ZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdh" + - "dGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + - "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5" + - "Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6" + - "IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoK" + - "RG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywg" + - "aW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVz" + - "IGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUg" + - "TlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + - "bmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJs" + - "ZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4g" + - "SWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + - "dWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24u" + - "IFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRv" + - "IG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBu" + - "YW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBz" + - "dGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoK" + - "IyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250" + - "cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRz" + - "LiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBo" + - "YW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25t" + - "ZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1w" + - "bGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJh" + - "dGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21w" + - "bGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNl" + - "IGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyBy" + - "b3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoK" + - "IyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhl" + - "IGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsg" + - "c2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJl" + - "bGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUg" + - "TlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAs" + - "IGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXBy" + - "b3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3" + - "YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2Vy" + - "dC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + - "dWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMg" + - "YGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBp" + - "dC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + - "YXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1t" + - "YW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBv" + - "biB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdo" + - "ZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0" + - "aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBh" + - "Ym9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + - "IHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNo" + - "aW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBt" + - "aXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9u" + - "bHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + - "YW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3du" + - "CgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9y" + - "eToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAK" + - "CiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3Rl" + - "bSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07" + - "IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApk" + - "b25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAg" + - "LUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3Vs" + - "ZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMg" + - "RW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + - "dGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2Ug" + - "dmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxt" + - "ZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBl" + - "eGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMv" + - "YCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTog" + - "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + - "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + - "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + - "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + - "ZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1" + - "OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAg" + - "ICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVy" + - "Z2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhl" + - "cml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + - "IGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBz" + - "ZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBT" + - "ZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90" + - "IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRo" + - "ZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3Jvbmcp" + - "OgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3Ry" + - "eSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8" + - "IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlk" + - "YXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2Yt" + - "YXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtl" + - "ciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5v" + - "IENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChh" + - "Y2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRg" + - "IGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2" + - "L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQg" + - "fCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91" + - "KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46" + - "PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNp" + - "ZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRl" + - "bXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tF" + - "Ul9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pz" + - "b24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2Vy" + - "IGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBk" + - "cm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWls" + - "ZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAs" + - "IGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1B" + - "YCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3Vu" + - "dC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJt" + - "dXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jv" + - "bmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxm" + - "b3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5" + - "IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAg" + - "ICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBU" + - "byByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCBy" + - "ZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVz" + - "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252" + - "Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAg" + - "IyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9u" + - "dmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91" + - "dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNp" + - "ZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZy" + - "b20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUg" + - "cGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBl" + - "YWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBj" + - "cmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4g" + - "YXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBp" + - "bnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRv" + - "bWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29u" + - "ZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRp" + - "bmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2Vj" + - "cmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9y" + - "bWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1m" + - "aWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpo" + - "ZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpo" + - "ZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBr" + - "eXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFj" + - "aCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + - "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBD" + - "bHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9s" + - "aWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0" + - "aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVy" + - "aWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + - "bWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6" + - "IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBi" + - "dWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMp" + - "LgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBz" + - "Y3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFz" + - "aAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + - "bCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1i" + - "eT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1" + - "cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0t" + - "fC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Np" + - "bmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBo" + - "YXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMg" + - "fCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsg" + - "bWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAg" + - "c2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1" + - "bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29u" + - "ZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2" + - "ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + - "b3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNs" + - "dXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + - "dHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBv" + - "cGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMv" + - "ZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9u" + - "IENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNz" + - "YW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMg" + - "Y3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNl" + - "Y3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2Fu" + - "ZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBT" + - "ZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVx" + - "dWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5k" + - "cmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2Vs" + - "ZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBv" + - "ZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRg" + - "IHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95" + - "YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRp" + - "bWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sg" + - "YGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8" + - "IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAg" + - "fCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUg" + - "YGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBw" + - "YXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBh" + - "Y2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1Zl" + - "cmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3Rz" + - "dHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3Jl" + - "dHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92" + - "YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRl" + - "ZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxl" + - "YWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xf" + - "T1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5l" + - "Y3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2Vy" + - "dmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdT" + - "X1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBh" + - "bmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUg" + - "YWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkg" + - "YSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3Qt" + - "aW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxs" + - "LiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBh" + - "dGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMs" + - "IG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNj" + - "b3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgK" + - "bm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCBy" + - "YW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNm" + - "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3Vj" + - "Y2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCBy" + - "ZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJl" + - "cwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNv" + - "bXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVj" + - "dGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3Jl" + - "LW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFw" + - "aSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + - "cCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwg" + - "UmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRo" + - "ZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92" + - "MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFu" + - "ZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0g" + - "T3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + - "Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFu" + - "ZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQs" + - "IHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9u" + - "cywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQ" + - "SwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAg" + - "ICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5z" + - "dGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFm" + - "dGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2" + - "ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMu" + - "MTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRo" + - "aW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5" + - "bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAo" + - "bm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZm" + - "ID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVy" + - "c2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2" + - "ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxh" + - "dGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmls" + - "ZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFn" + - "ZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlm" + - "ZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBw" + - "cmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5j" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZp" + - "bGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBz" + - "eW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5j" + - "JyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBs" + - "YWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0" + - "byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xl" + - "YW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJt" + - "aW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFs" + - "aXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6" + - "ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNw" + - "YWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBv" + - "bmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNm" + - "LWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAg" + + "CnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNl" + + "bGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5z" + + "dGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQs" + + "IEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjog" + + "Im52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVy" + + "c2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1o" + + "b3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxs" + + "YXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1s" + + "XQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3Vk" + + "LWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25z" + + "CgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBj" + + "b21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlz" + + "IHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5n" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + + "IGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBz" + + "ZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVu" + + "YWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1l" + + "bmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28g" + + "cmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBw" + + "YXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1m" + + "aWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5l" + + "LXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + + "CmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + + "az4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + + "CmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBi" + + "dW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBk" + + "b3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpu" + + "Z2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBh" + + "c3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMg" + + "YW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVm" + + "b3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVy" + + "YXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4y" + + "LjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBi" + + "ZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+" + + "PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlu" + + "b3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJv" + + "bSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNo" + + "CmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJv" + + "bm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52" + + "aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5h" + + "bWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRv" + + "LUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3At" + + "ZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2" + + "YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1p" + + "c3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0" + + "cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlv" + + "dXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + + "ICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+" + + "IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2" + + "YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tz" + + "ICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1w" + + "bGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdl" + + "IHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNl" + + "dHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdp" + + "bGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBw" + + "cm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBo" + + "ZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hh" + + "cnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0" + + "YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRz" + + "IChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5k" + + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + + "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1" + + "bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQg" + + "TkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + + "bwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + + "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + + "dG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFt" + + "ZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNv" + + "bmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1h" + + "Z2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNh" + + "dGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBg" + + "aGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMg" + + "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50" + + "aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5H" + + "QyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAn" + + "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5p" + + "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1s" + + "b2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + + "IC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lv" + + "bj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBz" + + "IG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBz" + + "dGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZl" + + "cmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5p" + + "b2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIg" + + "bG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJz" + + "dCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRp" + + "bmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwg" + + "aXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBt" + + "b3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3Jy" + + "ZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5h" + + "bWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2Nh" + + "dGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBl" + + "dmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50" + + "aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBj" + + "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUg" + + "TlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJv" + + "bSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSBy" + + "ZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1" + + "bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAg" + + "dGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1p" + + "cnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6" + + "CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAg" + + "IyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1" + + "Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAg" + + "ICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9y" + + "LXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5k" + + "IG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+" + + "IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkg" + + "T0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUg" + + "cHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQog" + + "ICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3Qg" + + "YmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9y" + + "ZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNv" + + "bnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAv" + + "YGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3og" + + "b2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRz" + + "IGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUg" + + "Y3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + + "IHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + + "dGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNl" + + "Y3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2Ag" + + "ZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhl" + + "IHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUg" + + "YGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIu" + + "CgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMg" + + "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhl" + + "IGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9p" + + "bnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBp" + + "dCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgoj" + + "IyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0" + + "bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5v" + + "dCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBl" + + "eGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3Rs" + + "IGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNv" + + "bnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9B" + + "RERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBw" + + "cm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxh" + + "bmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2Vz" + + "IG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1" + + "c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNm" + + "LnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFw" + + "aS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFu" + + "ZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVu" + + "ZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBk" + + "YXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4g" + + "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95Cgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2" + + "aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBz" + + "eW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGlu" + + "IHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRf" + + "Q0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25k" + + "IGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZh" + + "dWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFf" + + "UEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkg" + + "REItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9u" + + "Y2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xl" + + "UGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09S" + + "RGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIg" + + "d2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQg" + + "dGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwg" + + "YHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8" + + "IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVT" + + "UywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExN" + + "IGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRo" + + "ZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBg" + + "cmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVu" + + "YWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRl" + + "d2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5k" + + "IGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFw" + + "cGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJv" + + "dXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + + "IHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdl" + + "IGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlH" + + "YXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2Vy" + + "CnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+" + + "LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + + "dmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6" + + "ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5k" + + "ZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0" + + "b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91" + + "dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQg" + + "Y3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2Fn" + + "ZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBs" + + "eSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFk" + + "ZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxz" + + "dmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVj" + + "dGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0" + + "eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90" + + "IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2Nh" + + "dGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBw" + + "cm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBV" + + "SSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRt" + + "aW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5" + + "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91" + + "ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + + "bGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBO" + + "VkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBl" + + "eHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3Bh" + + "Y2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywK" + + "c2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDgu" + + "IEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBs" + + "YW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRl" + + "ciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2Zm" + + "OgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZp" + + "bGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBN" + + "YWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5" + + "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBD" + + "TEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRv" + + "ZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2Vz" + + "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5n" + + "LCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xl" + + "YW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2Vz" + + "IG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiBy" + + "ZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkt" + + "a2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwg" + + "YGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBg" + + "bnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5h" + + "Z2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBU" + + "aGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQt" + + "bWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFt" + + "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBF" + + "eHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + + "YDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2Vk" + + "LiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUg" + + "Y2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIg" + + "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + + "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + + "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + + "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + + "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + + "aGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxh" + + "biBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdl" + + "dHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4g" + + "ZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBE" + + "ZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAg" + + "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBg" + + "YAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhj" + + "YXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1" + + "cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJv" + + "bm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlh" + + "bWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBn" + + "bG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVz" + + "IGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5k" + + "LyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxl" + + "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + + "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + + "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + + "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + + "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + + "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + + "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + + "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290" + + "Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwg" + + "c3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3Qu" + + "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRz" + + "IGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + + "bGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRz" + + "CgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZs" + + "YXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFp" + + "bCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8" + + "IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVk" + + "cyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBv" + + "c2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0" + + "aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1" + + "bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2Qg" + + "fAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0" + + "ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50" + + "LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVj" + + "YXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFu" + + "ZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBi" + + "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + + "KWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIg" + + "c2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRl" + + "IHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVE" + + "RU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+" + + "IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRo" + + "YCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBp" + + "dCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNv" + + "IHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4g" + + "YHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBu" + + "b3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290" + + "c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJl" + + "IGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lk" + + "ZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQg" + + "Y3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGlu" + + "c2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXks" + + "IGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBh" + + "aXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5j" + + "Ogo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtF" + + "WSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBp" + + "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBO" + + "VklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFw" + + "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0" + + "YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIg" + + "Y3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdD" + + "IChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZv" + + "cm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5l" + + "ZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChm" + + "dW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZy" + + "ZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEg" + + "c2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNh" + + "bGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJp" + + "bmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRt" + + "aXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2Ag" + + "aW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZv" + + "ciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1v" + + "ZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJl" + + "cG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJl" + + "cG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5v" + + "IC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1l" + + "c3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + + "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVy" + + "UG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + + "bWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBh" + + "ZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdp" + + "dGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1v" + + "IGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5h" + + "bWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1p" + + "biBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9y" + + "IHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQs" + + "IHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + + "Lm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2Rz" + + "CmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + + "bCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxh" + + "c3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0" + + "dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0t" + + "fAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Ig" + + "d3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1h" + + "Z2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVs" + + "dC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0" + + "aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3Mg" + + "YGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZh" + + "bGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJl" + + "ZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tT" + + "IC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zlcnku" + + "ZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIg" + + "fCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAs" + + "IGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFv" + + "LXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3Nh" + + "bmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEu" + + "cmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gt" + + "bG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMg" + + "ZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNl" + + "cnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNh" + + "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRv" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0" + + "aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3Ig" + + "bWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNo" + + "ZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRl" + + "IHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUg" + + "cmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQg" + + "fCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVj" + + "dGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0" + + "aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUg" + + "YWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAg" + + "cmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVz" + + "IGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50" + + "KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0" + + "aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1y" + + "YW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNv" + + "bmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9g" + + "IGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRo" + + "IHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcg" + + "YC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9O" + + "UzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24g" + + "ZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRh" + + "Z3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lP" + + "TmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5W" + + "Q0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3Vu" + + "dCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBw" + + "b3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1h" + + "Y2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFs" + + "bCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0" + + "aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMg" + + "KHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFj" + + "Y291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBj" + + "YWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGlu" + + "ZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0" + + "ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVk" + + "fScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4g" + + "aXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2Fp" + + "biAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRl" + + "ZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVs" + + "ZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1m" + + "b3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5j" + + "Cmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMg" + + "Y29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3Vy" + + "Y2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQ" + + "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + + "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3Jr" + + "Zmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0" + + "aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUu" + + "bWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVi" + + "dWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0" + + "aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3Jl" + + "YXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMU" + + "k0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQi" + + "OiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0" + + "aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJl" + + "YWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9u" + + "czogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBo" + + "ZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBt" + + "aW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50" + + "aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEu" + + "Mi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJh" + + "biAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMu" + + "MTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicg" + + "dG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9u" + + "IGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVm" + + "b3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5j" + + "IGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0" + + "aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBi" + + "ZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + + "IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAg" + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29u" + - "dGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3Vi" + - "ZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFs" + - "aXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNs" + - "ZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhl" + - "IGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0" + - "b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJj" + - "ZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2Ug" + - "ZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6" + - "ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0" + - "ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1" + - "YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBw" + - "cm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmln" + - "IHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250" + - "cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3Rl" + - "ciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiBy" + - "YW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9u" + - "bWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3Zl" + - "ciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5k" + - "ZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUg" + - "YmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAg" + - "ICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9n" + - "cnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tl" + - "eXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXki" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xV" + - "U1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIs" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VC" + - "RUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + - "SUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxp" + - "ZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBm" + - "bGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNv" + - "bXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJv" + - "bC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9m" + - "aWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhl" + - "bG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBo" + - "ZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJv" + - "dGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBl" + - "eHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVs" + - "bSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUg" + - "aXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBu" + - "dmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29y" + - "ZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdp" + - "dGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAg" + - "IlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1m" + - "aWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlv" + - "biBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIs" + - "CiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVu" + - "dCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8g" + - "dmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywg" + - "c2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91" + - "bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRv" + - "IHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUu" + - "ZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAg" + - "IldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQg" + - "ZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0" + - "ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRp" + - "b24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhl" + - "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJv" + - "bm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "Y29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVk" + - "IHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + - "YWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVz" + - "LCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxh" + - "bmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJl" + - "Z2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0" + - "YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxt" + - "LCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVu" + - "ZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBp" + - "LWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRp" + - "bmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJ" + - "TEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxv" + - "eWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmls" + - "ZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250" + - "cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2" + - "YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNv" + - "bnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxs" + - "ZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9j" + - "dW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5l" + - "cmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAg" + - "ICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFu" + - "ZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBT" + - "aG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWly" + - "ZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93" + - "ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5n" + - "IC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywg" + - "LS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBS" + - "ZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMg" + - "ZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAg" + - "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAg" + - "ICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0" + - "IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4i" + - "LAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNv" + - "bnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2Vu" + - "ZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4g" + - "SGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "NC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5k" + - "cmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRv" + - "IDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2Vs" + - "aW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSBy" + - "ZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBs" + - "IGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFN" + - "TCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmll" + - "ZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0" + - "aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1s" + - "LmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0" + - "aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlB" + - "TUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRl" + - "J3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUg" + - "Y2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdp" + - "dGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBl" + - "bmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVu" + - "Y2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8g" + - "ZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVk" + - "IHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRo" + + "b3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + + "d2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lw" + + "IGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIs" + + "CiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGlu" + + "ZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBp" + + "ZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMg" + + "b24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZy" + + "b20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZp" + + "bmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRh" + + "cmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tl" + + "bmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBm" + + "b3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0" + + "byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMi" + + "LAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5h" + + "bWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52" + + "Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRp" + + "b24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + + "YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFu" + + "ZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25m" + + "aWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQg" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxl" + + "IGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxh" + + "bmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGgg" + + "VVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBs" + + "YW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJn" + + "ZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhl" + + "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBh" + + "bmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURD" + + "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "dXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5j" + - "JyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + - "IHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5" + - "c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVj" + - "dG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0" + - "aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVu" + - "YXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVn" + - "Z2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRo" + - "ZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRz" + - "LCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFj" + - "Y291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3Jl" + - "ZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBj" + - "b3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNj" + - "cmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhl" + - "IGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0" + - "aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRl" + - "bnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0" + - "byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwg" + - "aW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8g" + - "dXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0g" + - "YW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJl" + - "bW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwg" + - "ZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQg" + - "T3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + - "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29t" + - "cHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBv" + - "dmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5l" + - "IG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVy" + - "YXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJv" + - "ciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0" + - "ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5j" + - "ZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwg" + - "bnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBu" + - "dmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUg" + - "YWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxh" + - "bmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3Ro" + - "IGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMg" + - "d2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxl" + - "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3Vl" + - "ckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + - "dGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVt" + - "ZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBs" + - "YW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxT" + - "ZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBu" + - "YXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5h" + - "bWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1w" + - "bGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3Jl" + - "ZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBk" + - "b3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBz" + - "YWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJp" + - "YW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBh" + - "bmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZv" + - "cmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1w" + - "bGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJv" + - "eSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1l" + - "c3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJl" + - "cXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGlu" + - "ZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNl" + - "LCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2Vy" + - "dmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91" + - "dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJ" + - "IGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRo" + - "ZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9u" + - "cywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNN" + - "UyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBh" + - "bmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0" + - "IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGgg" + - "dGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9u" + - "bHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBl" + - "dmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWci" + - "LAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3Rl" + - "ciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRl" + - "c3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRo" + - "ZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFj" + - "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWly" + - "ZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBp" + - "bnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0" + - "YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUg" + - "Y2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3" + - "aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAog" + - "ICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJv" + - "eSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBD" + - "TEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwg" + - "dW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBD" + - "TEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxp" + - "dmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9l" + - "cyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1w" + - "bGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3Rl" + - "cmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBD" + - "TEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwg" + - "Ym90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRo" + - "ZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBl" + - "YWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + - "dGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMx" + - "My12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRv" + - "IG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93" + - "IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1s" + - "LCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwg" + - "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + - "ZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11" + - "c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYg" + - "WUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkg" + - "cGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xv" + - "YmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVs" + - "ZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFt" + - "cGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZh" + - "bHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkg" + - "bmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5h" + - "Z2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29u" + - "ZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxt" + - "LmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRl" + - "d2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJv" + - "dXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlv" + - "biBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFs" + - "YW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQg" + - "cGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRl" + - "ZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBh" + - "bmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlD" + - "SW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2Fybmlu" + - "ZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4g" + - "SXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNl" + - "ZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMs" + - "IGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIg" + - "c2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVz" + - "ZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgi" + - "LAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FD" + - "b3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2Yt" + - "dHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2lu" + - "ZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + - "YXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRz" + - "IHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25s" + - "eSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBw" + - "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNo" + - "ZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQg" + - "cmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJU" + - "aGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRo" + - "ZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1x" + - "dWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWsz" + - "ZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2lu" + - "ZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91" + - "bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwg" + - "azNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9z" + - "dGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4g" + - "VGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRp" + - "b24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0" + - "cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBk" + - "ZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwt" + - "ZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAA" + - "AAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMu" + - "bWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBs" + - "b3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291" + - "cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24g" + - "bGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fz" + - "c2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRl" + - "IHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAx" + - "OiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1s" + - "CmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApg" + - "YGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2ll" + - "cy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAg" + - "cmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sg" + - "cm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + - "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + - "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + - "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + - "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAg" + - "bGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQog" + - "ICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9y" + - "eTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + - "ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAv" + - "Y2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6" + - "IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGlu" + - "IHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNl" + - "c2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBS" + - "ZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcg" + - "aW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3Jl" + - "ZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmln" + - "dXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAg" + - "ICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5p" + - "bwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNh" + - "dGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9n" + - "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0" + - "cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoK" + - "IyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApl" + - "eHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5k" + + "YXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3Jl" + + "IHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhl" + + "IGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3Vy" + + "bCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9z" + + "dCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9S" + + "RUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19V" + + "UkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhl" + + "IEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBh" + + "bmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUg" + + "Y29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFu" + + "ZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNv" + + "bW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0" + + "aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmls" + + "ZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9j" + + "a2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWlu" + + "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + + "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5z" + + "dWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlv" + + "JyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9h" + + "dXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBh" + + "Z2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVz" + + "ZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21t" + + "YW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAi" + + "cXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJl" + + "Y3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5" + + "IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0" + + "cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0" + + "b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBo" + + "ZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + + "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4g" + + "YnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5v" + + "dCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhl" + + "IHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1" + + "bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAog" + + "ICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Yg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQg" + + "bmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxl" + + "dGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xz" + + "IGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBp" + + "bmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2" + + "aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhh" + + "c2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVy" + + "ZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdp" + + "dGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxt" + + "LWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0" + + "cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBu" + + "YW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMs" + + "IGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29t" + + "cHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5W" + + "PXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5j" + + "JyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBs" + + "YW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0" + + "eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wg" + + "cGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhl" + + "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRl" + + "ZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQg" + + "Y29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAg" + + "XQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVz" + + "dGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVu" + + "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2" + + "ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRz" + + "IGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29t" + + "cGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29u" + + "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + + "IGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3Ry" + + "YXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBj" + + "b25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFs" + + "dWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJU" + + "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJU" + + "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1j" + + "bHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAg" + + "ICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAg" + + "ICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQs" + + "IGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVk" + + "IHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZp" + + "bGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVy" + + "cmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9k" + + "cyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2ku" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdp" + + "dGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNl" + + "IHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBz" + + "ZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJn" + + "ZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUg" + + "cmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1v" + + "cnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1w" + + "bCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3Zl" + + "cnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVy" + + "Z2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + + "dWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdl" + + "IHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3lu" + + "YyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNp" + + "ZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAt" + + "LSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95" + + "IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMg" + + "aW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAn" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBk" + + "ZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMg" + + "aW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwg" + + "dmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJl" + + "ZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjog" + + "IkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9y" + + "aXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyBy" + + "ZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290" + + "IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVj" + + "a2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQu" + + "IEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlh" + + "bHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0" + + "IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNl" + + "cy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBw" + + "b2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50" + + "IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3Bh" + + "Y2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9k" + + "IHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmll" + + "ZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJx" + + "dWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFj" + + "aCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVk" + + "aW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRo" + + "ZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdh" + + "dGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3" + + "b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxl" + + "ZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJh" + + "byBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVS" + + "TCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1w" + + "bGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlk" + + "ZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBv" + + "biB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0" + + "byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFw" + + "aS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8g" + + "bmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdy" + + "cGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3Jw" + + "Y1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQg" + + "c2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9j" + + "YWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jl" + + "c3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3" + + "b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBl" + + "eHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0" + + "cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + + "dmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJh" + + "cmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNz" + + "IGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGlj" + + "bXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNl" + + "VVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9z" + + "dE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFj" + + "ZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBz" + + "ZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0" + + "aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15" + + "IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHku" + + "IFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29u" + + "ZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVz" + + "dHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBr" + + "dWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUg" + + "Y29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVk" + + "IGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5z" + + "dGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxl" + + "YXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9y" + + "dGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRo" + + "ZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1l" + + "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cg" + + "cmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxs" + + "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + + "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + + "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lz" + + "dGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1" + + "bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBN" + + "YWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAg" + + "ICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxl" + + "dGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0" + + "aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250" + + "cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVz" + + "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZm" + + "ZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxs" + + "YXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93" + + "bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + + "dmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1t" + + "YW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAi" + + "VGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRo" + + "IGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxv" + + "dyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwg" + + "dGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxv" + + "dyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVn" + + "aXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3Qg" + + "cXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSBy" + + "ZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNs" + + "dXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxv" + + "dyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBj" + + "b250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93" + + "biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNv" + + "bXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5v" + + "IHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1" + + "ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVu" + + "dmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhl" + + "bG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYg" + + "WUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRp" + + "ZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + + "IGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNl" + + "IHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAt" + + "PiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2Vz" + + "IHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0" + + "b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + + "bmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBp" + + "bmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBv" + + "ZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0" + + "aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0" + + "byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBz" + + "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJh" + + "dGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJs" + + "ZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFu" + + "ZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1" + + "c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBz" + + "ZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + + "IGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50" + + "ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQg" + + "Zm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5j" + + "bHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + + "cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0" + + "IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVm" + + "cmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJp" + + "bmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2" + + "ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNh" + + "ci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRk" + + "b25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0" + + "byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBz" + + "dGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFu" + + "ZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlk" + + "ZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhl" + + "IGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBs" + + "YWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3Ig" + + "dGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRl" + + "eHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBs" + + "aWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhl" + + "IGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVh" + + "dGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdl" + + "bnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0g" + + "SFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWlu" + + "c2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAg" + + "ICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2Qg" + + "Zm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJp" + + "Z2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRl" + + "dmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxv" + + "Y2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFn" + + "ZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tp" + + "bGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlv" + + "bnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9w" + + "bWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNr" + + "aWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUA" + + "AQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50" + + "IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoK" + + "VGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2Ug" + + "aW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJh" + + "IHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291" + + "cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0" + + "dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAg" + + "LUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMj" + + "IyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1s" + + "LmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + + "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + + "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + + "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + + "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + + "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + + "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + + "OgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAg" + + "ICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5" + + "Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + + "bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1h" + + "ZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNv" + + "dXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBO" + + "VkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5z" + + "dGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3Ry" + + "eSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2Vz" + + "IGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdp" + + "c3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVu" + + "dmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + + "YWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJl" + + "cG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAg" + + "cmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9j" + + "YWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZj" + + "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + + "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0" + + "ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQg" + + "TkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + + "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + + "YW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNy" + + "ZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpm" + + "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + + "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + + "ZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + + "ICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBg" + + "YAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMK" + + "CkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJl" + + "bGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNp" + + "ZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAu" + + "OC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJh" + + "LXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + + "X0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAg" + + "ICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpT" + + "ZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNl" + + "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + + "b3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3Jl" + + "dHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMj" + + "IFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUg" + + "c3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8g" + + "cG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6Cgpg" + + "YGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQo" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMi" + + "IFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsg" + + "ZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNl" + + "cnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0" + + "cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAt" + + "LWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxh" + + "c3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBw" + + "dWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRl" + + "YXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91" + + "IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxh" + + "bmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29t" + + "cHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVn" + + "Z2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVw" + + "IDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQg" + + "YG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRp" + + "b24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQg" + + "Z2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8" + + "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + + "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3Ig" + + "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1w" + + "bGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + + "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + + "bGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5h" + + "Z2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + + "ZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0" + + "cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + + "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0g" + + "cmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRl" + + "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + + "ZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + + "IGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3Vi" + + "ZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAog" + + "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1" + + "YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3Rl" + + "cCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92" + + "ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "bnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNz" + + "fHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVw" + + "IDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25d" + + "KFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhh" + + "bmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVy" + + "IGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9u" + + "ZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBu" + + "ZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApH" + + "QVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25w" + + "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQURE" + + "UiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMK" + + "CktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVs" + + "ZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhv" + + "c3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWlu" + + "PmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91" + + "dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FU" + + "RVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQg" + + "ZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBs" + + "YWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZO" + + "YXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMs" + + "IGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVz" + + "IHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdo" + + "IHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJp" + + "ZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwg" + + "LUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1n" + + "YXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9u" + + "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRo" + + "PSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoK" + + "IyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGlu" + + "ZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMg" + + "RGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hl" + + "Y2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9k" + + "cyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgoj" + + "IERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVm" + + "ZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8" + + "IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8t" + + "c2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGks" + + "IGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2Us" + + "IHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3" + + "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBz" + + "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFu" + + "aXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sg" + + "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5l" + + "bmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3Qg" + + "dGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + + "bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBg" + + "bGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + + "IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + + "IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + + "ZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8" + + "IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBg" + + "bmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6" + + "IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVs" + + "LiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + + "BwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + + "aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNv" + + "bnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFs" + + "bCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNo" + + "IGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9y" + + "IHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2Zp" + + "bGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8" + + "IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24g" + + "YXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRy" + + "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5l" + + "cmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRo" + + "ZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZs" + + "b3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJl" + + "bG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9y" + + "cyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMu" + + "IFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZp" + + "bGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0" + + "YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCBy" + + "b3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdp" + + "c3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFu" + + "ZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVu" + + "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + + "LXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhl" + + "IEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRh" + + "Y2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAs" + + "IGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + + "dCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlk" + + "ZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdh" + + "dGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyBy" + + "ZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21h" + + "aW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48" + + "Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1h" + + "cGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdh" + + "dGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFz" + + "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2lu" + + "dm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VV" + + "Ukw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAg" + + "Z2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVt" + + "CiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3Bh" + + "Y2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVz" + + "cGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3" + + "YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6" + + "IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAg" + + "ZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXkt" + + "ZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6" + + "IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWlu" + + "PiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRp" + + "b25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFt" + + "bAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55" + + "YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1Nl" + + "cnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9z" + + "dEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2Vydmlj" + + "ZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhl" + + "YWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5h" + + "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0" + + "cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wg" + + "cGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + + "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJp" + + "bmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBD" + + "TEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRw" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgph" + + "cGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFp" + + "bj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9z" + + "dDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5" + + "LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91" + + "dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24g" + + "Y29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGll" + + "cwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtl" + + "IG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGlu" + + "c3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + + "dGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+" + + "IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklM" + + "RT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1j" + + "bGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAt" + + "QyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05B" + + "TUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVy" + + "cyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQu" + + "CkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1" + + "aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRl" + + "cGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQg" + + "aXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4g" + + "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2Zp" + + "bGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoK" + + "dGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29t" + + "cHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBy" + + "ZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + + "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + + "XAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxl" + + "J3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29t" + + "cHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUg" + + "ZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgoj" + + "IyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2Ug" + + "bmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5k" + "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + - "b25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBu" + - "dmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVz" + - "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tF" + - "WSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpk" + - "b25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVs" + - "ZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBl" + - "YWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBl" + - "bmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + - "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + - "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + - "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9i" + - "YWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMK" + - "YGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUg" + - "dGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxs" + - "LXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBg" + - "YAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBu" + - "YXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9w" + - "ZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3Rh" + - "cnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNh" + - "IGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1u" + - "ICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5h" + - "bWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBh" + - "dGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxs" + - "U2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5" + - "c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1i" + - "eT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3Nm" + - "dWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBG" + - "dWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBh" + - "bmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1" + - "dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1G" + - "SUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + - "aWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0" + - "aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMj" + - "IyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklE" + - "YCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdp" + - "c3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJ" + - "RCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBg" + - "YmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNs" + - "dXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2Et" + - "aWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQg" + - "MiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29u" + - "dHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBi" + - "eSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBI" + - "ZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2Vy" + - "dC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1" + - "aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBp" + - "dCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZm" + - "ZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNr" + - "IEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + - "CmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5h" + - "bWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3Ro" + - "ZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxh" + - "bmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ry" + - "b3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgoj" + - "IyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2Vu" + - "ZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtl" + - "eXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMj" + - "IyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxs" + - "YXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpz" + - "YW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVu" + - "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBS" + - "ZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJv" + - "dmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBn" + - "b3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBg" + - "YmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1v" + - "IGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVX" + - "QVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBm" + - "aWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9z" + - "dCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJv" + - "dXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48" + - "ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQg" + - "d2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0" + - "byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEg" + - "c3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2Vz" + - "LCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUg" + - "YG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRT" + - "IFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3Zl" + - "cnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0" + - "aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1" + - "dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAz" + - "OiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4i" + - "CmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0" + - "aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + - "bnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95" + - "bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpz" + - "b25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAK" + - "Ci0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3Ig" + - "dGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBi" + - "YXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + - "CiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBn" + - "ZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0" + - "b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0t" + - "LS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9w" + - "ZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lz" + - "LCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNl" + - "cnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0" + - "ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25s" + - "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRv" + - "bnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4g" + - "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52" + - "Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95" + - "IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8Cnwg" + - "YG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkg" + - "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxv" + - "eSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + - "cyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwK" + - "fCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1" + - "ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMp" + - "IHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwK" + - "Ck5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3Vw" + - "IGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94" + - "eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoK" + - "VGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4g" + - "SW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFs" + - "bCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2Ug" + - "aXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVk" + - "IHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5k" + - "b2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3Ry" + - "YXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRl" + - "IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENM" + - "SS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rl" + - "cj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkg" + - "Zm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1m" + - "aWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1h" + - "bmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9w" + - "ZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1" + - "bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMg" + - "SGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9y" + - "ZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRl" + - "d2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUK" + - "ICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVW" + - "YWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5k" + - "LXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9j" + - "c3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2Vl" + - "cHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1g" + - "LCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0" + - "ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZp" + - "cm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBv" + - "dmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFu" + - "ZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9t" + - "YWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdh" + - "eS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dv" + - "cmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3Jr" + - "ZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0" + - "cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1Nl" + - "cnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jl" + - "c3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXkt" + - "c3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBu" + - "YW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXks" + - "IG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNm" + - "LWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5l" + - "ck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAg" + - "ICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdh" + - "dGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVu" + - "YWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXkt" + - "ZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBt" + - "aWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + - "YGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88" + - "ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAg" + - "aWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2" + - "aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFs" + - "U2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNl" + - "SG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VS" + - "TDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRl" + - "OiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNv" + - "bnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVn" + - "aXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRl" + - "IHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFz" + - "ZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEw" + - "MDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNt" + - "c191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5" + - "LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZv" + - "a2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxn" + - "YXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwg" + - "d2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3Ry" + - "YXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBz" + - "dXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0" + - "YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0" + - "aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1F" + - "PTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxy" + - "ZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05G" + - "SUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8t" + - "bnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVT" + + "Y2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNy" + + "ZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9i" + + "YWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRo" + + "ZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9y" + + "IGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUg" + + "Y29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2Vl" + + "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVz" + + "ZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0" + + "ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBs" + + "b3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5k" + + "Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9" + + "anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwt" + + "c2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJl" + + "Z2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3Ro" + + "CmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHBy" + + "ZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5h" + + "bWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNl" + + "cnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4" + + "dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3Ig" + + "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBt" + + "ZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5" + + "IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5h" + + "bmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBk" + + "ZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdp" + + "c3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVT" + "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRp" + - "c2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNv" + - "bnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBp" + - "cyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVz" + - "dGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNv" + - "bnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93" + - "CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhl" + - "IHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNo" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNh" + - "LWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJv" + - "dGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNv" + - "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1w" + - "bGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXIt" + - "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + - "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1" + - "YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBw" + - "cm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0" + - "aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHBy" + - "b2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1" + - "ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4g" + - "dGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRo" + - "ZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdo" + - "IGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1l" + - "bnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQg" + - "bWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0" + - "byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxl" + - "cywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRp" + - "b24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52" + - "Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwK" + - "ICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBt" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2Zi" + - "YWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAg" + - "LS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9" + - "MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQg" + - "PHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFu" + - "ZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5l" + - "LiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0" + - "aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFn" + - "ZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90" + - "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2Vy" + - "IGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVj" + - "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVl" + - "LiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVs" + - "ZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + - "LiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBw" + - "cm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRv" + - "IG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFj" + - "aCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwK" + - "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0t" + - "Y29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXIt" + - "aWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0t" + - "aWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1l" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdl" + - "dCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRl" + - "c3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4g" + - "ZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1w" + - "bGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVz" + - "dHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdf" + - "RklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBp" + - "dHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJ" + - "IHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0" + - "LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21w" + - "bGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRo" + - "ZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50" + - "IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + - "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + - "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVy" + - "bD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1" + - "dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3Qg" + - "cXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNh" + - "bm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0" + - "YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRl" + - "c3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBi" + - "b3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUg" + - "d2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + - "aGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1j" + - "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + - "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + - "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rl" + - "ci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + - "CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRl" + - "c3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJ" + - "dCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3Ry" + - "YXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "OwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9z" + - "aW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoK" + - "IyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBu" + - "YW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lm" + - "aWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0g" + - "cmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBk" + - "aWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1z" + - "b3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dz" + - "IGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMj" + - "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAg" + - "ICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tP" + - "ZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBw" + - "dWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoK" + - "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJl" + - "Y3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2" + - "ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1" + - "YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRo" + - "ZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoK" + - "IyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0" + - "bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVs" + - "bFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3Bh" + - "Y2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + - "ICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3" + - "b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4g" + - "KipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0" + - "IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMu" + - "IFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vz" + - "bid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZp" + - "Y2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCBy" + - "ZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4g" + - "KipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAg" + - "YGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNl" + - "PgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1" + - "cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBw" + - "b2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAg" + - "ICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1h" + - "cGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBg" + - "YAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1p" + - "bml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJh" + - "byBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5C" + - "YW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMg" + - "Q2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + - "YW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRo" + - "ZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1" + - "bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5p" + - "bmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2Ug" + - "aXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRo" + - "aXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kg" + - "YW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwg" + - "ZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBz" + - "eW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVk" + - "Kio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2" + - "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAg" + - "YGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + - "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + - "dHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMg" + - "aXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5C" + - "YW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMg" + - "bW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQg" + - "b2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBj" + - "bHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVz" + - "ZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24g" + - "dGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhl" + - "CiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBg" + - "T0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBp" + - "c3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIg" + - "ZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJl" + - "LXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRp" + - "b25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1t" + - "aWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0" + - "aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1r" + - "bm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVS" + - "TCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1" + - "dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJz" + - "IHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAg" + - "ZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZh" + - "bGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoK" + - "IyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0" + - "Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + - "LTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5k" + - "cmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3Nh" + - "bmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhh" + - "bXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNv" + - "dXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5" + - "Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2" + - "TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5W" + - "Q0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMj" + - "IEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5B" + - "TUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAg" + - "ICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + - "YGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNj" + - "cmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0g" + - "IjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mg" + - "bm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmlj" + - "aWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgoj" + - "IyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVj" + - "dG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2Rl" + - "cyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5v" + - "dCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMq" + - "KjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5v" + - "ZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgoj" + - "IyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBg" + - "YGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBg" + - "YAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2" + - "aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBg" + - "YmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMg" + - "Rml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVz" + - "dCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3Vi" + - "ZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMj" + - "IEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2Vy" + - "dmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cg" + - "Ym9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJv" + - "b3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAo" + - "am9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBs" + - "b2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAw" + - "CmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6" + - "IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9h" + - "dXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5Cgog" + - "ICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lP" + - "VVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0" + - "b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJ" + - "IGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAu" + - "cmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRz" + - "IGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5j" + - "aWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNw" + - "YWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMK" + - "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWls" + - "dXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1" + - "dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdg" + - "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcg" + - "ICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoK" + - "UnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3Jt" + - "YWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBm" + - "cm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBu" + - "YW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2Vz" + - "Cmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1B" + - "IC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiAr" + - "IC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7" + - "IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250" + - "ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAi" + - "e1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQi" + - "IHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZp" + - "bmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVj" + - "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpz" + - "b24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAg" + - "IGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1y" + - "YXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9u" + - "ZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMj" + - "IyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52" + - "Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJl" + - "IG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNh" + - "LW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdo" + - "ZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0" + - "aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9u" + - "IGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUg" + - "b25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQg" + - "cG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBu" + - "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBu" + - "dmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0" + - "ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBp" + - "bgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBu" + - "dmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4g" + - "U2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3Jl" + - "dCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoK" + - "UmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0" + - "aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkg" + - "cmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9B" + - "RERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3" + - "YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5z" + - "dGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyAr" + - "c2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDov" + - "LyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNl" + - "ZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1Nl" + - "cnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5k" + - "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVw" + - "ZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBs" + - "b3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJl" + - "ZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxl" + - "Y3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJl" + - "Y292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3Bh" + - "Y2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2Vz" + - "IHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0t" + - "LS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lz" + - "dGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZj" + - "ZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwg" + - "cmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8" + - "IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8" + - "IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNv" + - "bnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8" + - "ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5t" + - "ZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExh" + - "eW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwg" + - "ICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3Bl" + - "bkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2Vz" + - "ICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZh" + - "YmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlh" + - "bWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMp" + - "CnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBv" + - "dmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAg" + - "ICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9i" + - "YWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0" + - "cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmls" + - "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5l" + - "IGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAg" + - "ICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmly" + - "b25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2" + - "YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAg" + - "ICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAg" + - "ICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + - "ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0" + - "ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJv" + - "bm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdl" + - "bmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8g" + - "bm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQg" + - "VGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFz" + - "ZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0t" + - "LS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1l" + - "c3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2" + - "YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fz" + - "c2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFz" + - "ZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJl" + - "bGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1w" + - "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + - "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlz" + - "IHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNl" + - "cnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZv" + - "Y2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNl" + - "cnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwK" + - "fCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVx" + - "dWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0" + - "ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1p" + - "bi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVs" + - "KSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3Rl" + - "bSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNl" + - "cnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVw" + - "b3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1g" + - "IGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1p" + - "c3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9j" + - "a3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + - "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + - "LS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxp" + - "dHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxh" + - "Z3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1w" + - "bGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNl" + - "ZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdz" + - "IHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVw" + - "bGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBp" + - "dCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlv" + - "dSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBi" + - "ZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rv" + - "cnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5l" + - "czoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9o" + - "ZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2Jh" + - "bC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + - "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCBy" + - "ZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFs" + - "dWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUt" + - "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAj" + - "IE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAg" + - "IHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkK" + - "YGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlh" + - "bWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBg" + - "eWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5o" + - "ZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAg" + - "dG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUg" + - "dGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0" + - "cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0" + - "IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJl" + - "ZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0t" + - "IHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28g" + - "dGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUp" + - "CjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZh" + - "bHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHBy" + - "ZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9u" + - "bWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2" + - "YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5j" + - "ZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5k" + - "cmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9u" + - "cy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5v" + - "ZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2Fu" + - "ZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFp" + - "bmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNv" + - "bnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5z" + - "dG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVj" + - "dG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1h" + - "Z2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmlt" + - "YWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFT" + - "dG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQ" + - "SSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9y" + - "eSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5l" + - "bnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1l" + - "bnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5j" + - "dGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0t" + - "cmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZv" + - "Y2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxl" + - "ZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVs" + - "bWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBv" + - "YnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0" + - "ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxt" + - "OgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAg" + - "ICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBm" + - "YWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJp" + - "Y3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdl" + - "bnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Q" + - "b2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBm" + - "b3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBB" + - "UEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBz" + - "ZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNh" + - "dGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJ" + - "bnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2Vy" + - "LXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlv" + - "biBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdl" + - "ZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAg" + - "c2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBi" + - "ZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2Yt" + - "dHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3Vy" + - "ZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2Fk" + - "IEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2Nz" + - "L3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRl" + - "LgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBk" + - "ZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3" + - "b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29u" + - "ZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAg" + - "ICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxv" + - "bjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRF" + - "Ul9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMg" + - "aXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwpt" + - "dXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCBy" + - "ZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52" + - "aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNp" + - "bmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVj" + - "ZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBg" + - "YAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRy" + - "aXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4K" + - "CkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2Fy" + - "IGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVw" + - "bGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBs" + - "eSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVh" + - "dGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wg" + - "cGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBu" + - "dmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1F" + - "ICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91" + - "dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlv" + - "bi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9" + - "PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBw" + - "bGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0t" + - "cXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBi" + - "ZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9n" + - "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3Rhcmdh" + - "dGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2Vs" + - "ZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5" + - "IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5" + - "IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMK" + - "CiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxl" + - "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2Ut" + - "Z3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQ" + - "SwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEA" + - "ps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNp" + - "bmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZh" + - "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFk" + - "ZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVl" + - "ZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5j" + - "bHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2Yt" + - "dWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50" + - "aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBh" + - "ZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlh" + - "bWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFt" + - "ZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBh" + - "biBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0" + - "cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJv" + - "bSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9L" + - "RVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + - "ci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1l" + - "PSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAt" + - "LW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21h" + - "aW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5" + - "IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNs" + - "dWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNl" + - "IGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMg" + - "VmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBh" + - "bmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1" + - "YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0" + - "OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBg" + - "CgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0" + - "aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0" + - "cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRp" + - "bmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxs" + - "IFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2Vz" + - "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1" + - "YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1w" + - "bGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVp" + - "ciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxp" + - "c3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8g" + - "dG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9u" + - "IHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3Jl" + - "dCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMg" + - "S3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpg" + - "YGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5" + - "dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZl" + - "cm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxs" + - "IHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4i" + - "Cgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + - "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + - "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5p" + - "byBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBh" + - "c3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxh" + - "Y2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXIt" + - "cGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAph" + - "cGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAg" + - "bmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNl" + - "CiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAg" + - "ICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAg" + - "a2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAg" + - "ICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMi" + - "CiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAg" + - "ICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAg" + - "ICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJh" + - "dGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoK" + - "ICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + - "OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgog" + - "ICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVs" + - "bHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5l" + - "CgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBp" + - "bgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBu" + - "ZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1w" + - "bGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9u" + - "bHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + - "bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + - "IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + - "ZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52" + - "Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBp" + - "biBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAu" + - "IERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBG" + - "b2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmlj" + - "YXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBp" + - "bmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoK" + - "IyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8g" + - "anNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2Vw" + - "dWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxs" + - "IGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZl" + - "bnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAg" + - "LWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1" + - "dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1" + - "dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + - "c2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNl" + - "Y3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjog" + - "SWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJ" + - "QU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQg" + - "c2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQu" + - "Ci0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdp" + - "c3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2Vydmlj" + - "ZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tP" + - "ZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3Rz" + - "IHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1" + - "Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgoj" + - "IyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5v" + - "CiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGlu" + - "ZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "Y2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVB" + - "RFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNl" + - "cyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3Qg" + - "bmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2Vj" + - "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAU" + - "AAgAAAAAACEAFXzEfEoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29u" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALC6aUbiYgAA4mIAACMACQAAAAAAAAAAAAAAkxAAAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "AEPP7+UdDwAAHQ8AADMACQAAAAAAAAAAAAAAz3MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAwJPmIyQwA" + - "AMkMAAA0AAkAAAAAAAAAAAAAAFaDAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxl" + - "cy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAMGxaZjPDwAAzw8AADcA" + - "CQAAAAAAAAAAAAAAipAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNv" + - "bXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAA" + - "AAAAAAAAAADHoAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5k" + - "LXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAA" + - "AAAAAAAA1roAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1p" + - "bnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAA" + - "AABc4AAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQt" + - "aW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAA" + - "AAAAAI7vAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1z" + - "Y3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAA" + - "AAAAVRkBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXIt" + - "andrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAA" + - "AI0hAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAFs6+Bi2JAAAtiQAADAACQAAAAAAAAAAAAAA1kMBAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAPNoAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDK" + - "jQYoVFYAAFRWAAAtAAkAAAAAAAAAAAAAAFZ5AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9y" + - "ZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtQXzgvQgAAD0IAAANwAJ" + - "AAAAAAAAAAAAAAAO0AEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3Vi" + - "bGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAA" + - "AAAAAAAAAHDxAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAABxUAgBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAA0aoCAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAttMCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAABLBAMAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAByNQMAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + - "cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAD3" + - "XwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVp" + - "LWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAA" + - "AAAAJmgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAJt+AwAAAA==" + "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmln" + + "IDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJv" + + "bS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3Jl" + + "LW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25m" + + "aXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kg" + + "YW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJv" + + "eSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1r" + + "dWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBc" + + "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUt" + + "a3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAg" + + "YXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFt" + + "ZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2Zp" + + "bGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVz" + + "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMg" + + "YmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZl" + + "IHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZp" + + "eDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + + "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAog" + + "IHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + + "CiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxh" + + "bmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkg" + + "SUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBz" + + "aG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQg" + + "aXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lz" + + "IHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJl" + + "bW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0" + + "aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + + "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + + "aWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + + "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1j" + + "b25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAg" + + "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJs" + + "IDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoK" + + "UmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lz" + + "IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1v" + + "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25z" + + "IHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + + "VVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFu" + + "ZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVp" + + "Y2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3Bh" + + "Y2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFt" + + "ZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFz" + + "ZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9z" + + "aW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5" + + "PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50" + + "cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1w" + + "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBS" + + "RVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAw" + + "ICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGlt" + + "YWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRl" + + "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoi" + + "CgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwg" + + "Z2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qg" + + "c3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVj" + + "ayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + + "c2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3Jl" + + "dHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjog" + + "Q3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVn" + + "aXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0t" + + "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + + "TkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNy" + + "ZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRz" + + "IGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBb" + + "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1" + + "cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVz" + + "cy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0" + + "IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9u" + + "ZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAj" + + "IFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IElu" + + "aXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0" + + "dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAg" + + "ICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0" + + "Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMj" + + "IERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGlu" + + "amVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2Rz" + + "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWln" + + "cmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sg" + + "T3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2Vy" + + "dmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVj" + + "ayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdl" + + "bnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjog" + + "Q2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVz" + + "LCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFw" + + "cGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJl" + + "LXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRl" + + "IG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0" + + "LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAg" + + "IGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENo" + + "ZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1z" + + "eXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0" + + "LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4g" + + "bm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAq" + + "KgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVy" + + "IHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1" + + "dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRl" + + "ZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhl" + + "IGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVy" + + "LXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBF" + + "dmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0" + + "MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJl" + + "aGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + + "b3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBp" + + "c3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIg" + + "YW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292" + + "ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBp" + + "dDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgog" + + "ICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAg" + + "a3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRp" + + "b25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + + "by1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNo" + + "b3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9v" + + "cGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQg" + + "dG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRp" + + "Y2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGgg" + + "dGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVs" + + "dCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNr" + + "IGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFp" + + "bHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUg" + + "ICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAw" + + "LzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8" + + "IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSBy" + + "ZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMu" + + "bWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6" + + "CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + + "ICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBg" + + "CgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fz" + + "c2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1" + + "cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + + "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEg" + + "ICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + + "IyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIg" + + "bm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBh" + + "ZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBt" + + "ZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4" + + "ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2Ag" + + "aW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNo" + + "b3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3Vu" + + "ZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdl" + + "dCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hl" + + "Y2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5v" + + "ZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWls" + + "dXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gK" + + "aGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUt" + + "cnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBk" + + "b24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApo" + + "ZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpN" + + "dXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBs" + + "eSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFt" + + "ZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1" + + "cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMg" + + "ZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0" + + "cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJh" + + "cCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1" + + "dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + + "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + + "IG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoK" + + "IyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRl" + + "bnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9r" + + "ZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBi" + + "YXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFT" + + "RTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpu" + + "dmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0" + + "IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0" + + "cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUs" + + "IHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52" + + "Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1j" + + "cmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBO" + + "VkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxh" + + "bmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0K" + + "IyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRo" + + "aXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29t" + + "cHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + + "Q0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3Bh" + + "Y2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVj" + + "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpz" + + "b24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRh" + + "ZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIk" + + "ezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBw" + + "YXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0" + + "YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9Cgoj" + + "IEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXpl" + + "cnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1j" + + "b250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4v" + + "ZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVj" + + "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9h" + + "cGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAK" + + "CiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1w" + + "dG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3Bl" + + "cmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCBy" + + "ZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJh" + + "dG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIg" + + "dGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJ" + + "IHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBp" + + "bnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhh" + + "bmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBz" + + "dGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9w" + + "ZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + + "ZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdp" + + "c3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZj" + + "YS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5" + + "c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltw" + + "dWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgoj" + + "IyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVz" + + "dHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0" + + "ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0" + + "cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQo" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAog" + + "IG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + + "YWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQg" + + "ImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRF" + + "V0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBh" + + "IHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8" + + "cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5g" + + "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBE" + + "TlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50" + + "cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2gg" + + "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBo" + + "YW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXIt" + + "ZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8t" + + "U2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBp" + + "biB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0t" + + "fC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + + "Y2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFw" + + "aSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWws" + + "IGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1r" + + "ZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8" + + "CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xs" + + "ZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1" + + "enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQAB" + + "AKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoK" + + "YGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0g" + + "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8" + + "ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5n" + + "cmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5" + + "IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAg" + + "ICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBg" + + "LS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlk" + + "ZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNl" + + "bnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFt" + + "bC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXIt" + + "Y2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + + "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVu" + + "ZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBu" + + "dmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50" + + "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + + "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + + "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + + "ICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBg" + + "CgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29u" + + "dGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQg" + + "ZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRl" + + "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1p" + + "eCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIg" + + "UmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + + "YXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + + "LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2lu" + + "ZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1z" + + "eXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJh" + + "IHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpV" + + "c2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2Ut" + + "Z3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBS" + + "ZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwt" + + "LS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBp" + + "LWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2Vz" + + "IHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9u" + + "LXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + + "IHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMg" + + "fAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rh" + + "cnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + + "CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2Vydmlj" + + "ZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tl" + + "bi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8Cnwg" + + "aW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGlu" + + "Z3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9" + + "XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9y" + + "eSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nr" + + "czsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXIt" + + "cHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgoj" + + "IyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + + "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + + "IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBv" + + "YnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4g" + + "dGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJ" + + "bmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBg" + + "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3Bl" + + "cnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMg" + + "bGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJl" + + "cGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0" + + "IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywg" + + "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + + "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVt" + + "cGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52" + + "Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1s" + + "LmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + + "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNs" + + "dWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + + "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + + "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3Qg" + + "cmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291" + + "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgoj" + + "IyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290" + + "bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAot" + + "IG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoK" + + "ICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4g" + + "aW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxh" + + "dGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBs" + + "YWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9y" + + "aXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jv" + + "c3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1l" + + "bnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxh" + + "dGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8" + + "cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1" + + "LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVu" + + "Y2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlh" + + "bWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCAr" + + "IGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMu" + + "IEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6Cgoj" + + "IyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1h" + + "Z2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFn" + + "ZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxl" + + "Y3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmds" + + "b2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmlt" + + "YWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5l" + + "ci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdl" + + "Q2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAo" + + "aWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAg" + + "YW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipg" + + "Ci0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdl" + + "LipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lT" + + "LCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + + "PHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAg" + + "KG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVu" + + "YWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMg" + + "d2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVz" + + "dC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9u" + + "Ljxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5k" + + "IGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUK" + + "Y29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0" + + "ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNs" + + "dXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAg" + + "ZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + + "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQog" + + "ICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAg" + + "ICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25m" + + "aWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6" + + "CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVR" + + "VUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9j" + + "YWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3Vy" + + "cmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1h" + + "bmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBo" + + "b3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3Vy" + + "ZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJv" + + "dXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVz" + + "dGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMg" + + "Y29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGlu" + + "ZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2Vk" + + "IGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3" + + "aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhl" + + "ciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFu" + + "Y2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYt" + + "bWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYg" + + "dGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0" + + "IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIg" + + "c2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgog" + + "ICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxs" + + "bS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0" + + "LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElF" + + "TlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9y" + + "IG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVz" + + "ZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJp" + + "bmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1l" + + "bnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + + "IHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMg" + + "YGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNl" + + "IHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + + "LiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsg" + + "YSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0" + + "aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdl" + + "IG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5n" + + "IHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5l" + + "dyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5k" + + "IGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUs" + + "IHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAt" + + "biBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxs" + + "bS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0t" + + "YXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + + "fCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+" + + "IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0t" + + "d29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRl" + + "eHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1p" + + "bnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlv" + + "ciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIu" + + "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9j" + + "cy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3Jz" + + "CgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVh" + + "c2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMK" + + "CiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVt" + + "cGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ry" + + "b3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBg" + + "IGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHs" + + "jQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBO" + + "VkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZD" + + "RiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + + "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoK" + + "IyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUg" + + "YWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMg" + + "dGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + + "bGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91" + + "IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoK" + + "RW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRk" + + "b25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNl" + + "IGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFn" + + "ZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + + "cyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + + "dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVz" + + "cGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBh" + + "bmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBz" + + "ZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + + "aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCBy" + + "b3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5" + + "CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5h" + + "YmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwg" + + "Z2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNm" + + "LXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBT" + + "ZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGlj" + + "YXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBh" + + "Y2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJv" + + "eHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3Jl" + + "dHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20g" + + "YSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0" + + "ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBh" + + "bmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24g" + + "Y2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpU" + + "aGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5q" + + "ZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUu" + + "IFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBg" + + "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJu" + + "byBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNo" + + "CmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8v" + + "CmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1u" + + "IGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3Jl" + + "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + + "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0t" + + "ZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dv" + + "cmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJz" + + "aW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTog" + + "bnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVs" + + "ZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1h" + + "dGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6" + + "CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0g" + + "Im52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAg" + + "ICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + + "ImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAg" + + "ICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNN" + + "ZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAg" + + "ICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZl" + + "cm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAg" + + "ICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3Jl" + + "dC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250" + + "aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3Bs" + + "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + + "Lm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQu" + + "IEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBw" + + "b2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + + "YG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1v" + + "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + + "LS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + + "YGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToK" + + "CmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3Jl" + + "ZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZj" + + "YS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5v" + + "dCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cK" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24K" + + "CmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3Rl" + + "ZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + + "ZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + + "UHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVj" + + "ayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBh" + + "dGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2Vj" + + "cmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50" + + "cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1u" + + "IDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVs" + + "bAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6" + + "ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1" + + "c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0" + + "IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMg" + + "QXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91" + + "ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9s" + + "aWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0" + + "cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipD" + + "U1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwg" + + "QXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgoj" + + "IyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0" + + "ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMg" + + "Y3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9k" + + "cyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + + "ZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2" + + "ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxs" + + "IHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3Rl" + + "cnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRy" + + "dWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZj" + + "ci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52" + + "Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAA" + + "ACEAlRRQE0oQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAEclg1iUZAAAlGQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALd9r0KH" + + "EAAAhxAAADMACQAAAAAAAAAAAAAAgXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1w" + + "bGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB9zGQcSBAAAEgQAAA0" + + "AAkAAAAAAAAAAAAAAHKGAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0" + + "aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP6JlybdEQAA3REAADcACQAAAAAA" + + "AAAAAAAAJZcAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + + "cGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAA" + + "AABwqQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10" + + "YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA" + + "f8MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2Uu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAAAF6QAA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + + "bC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAADf4" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNo" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAA/iEB" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAADYqAQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhABWlQIzTJQAA0yUAADAACQAAAAAAAAAAAAAAf0wBAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAALlyAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDKjQYoVFYA" + + "AFRWAAAtAAkAAAAAAAAAAAAAAByDAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + + "Y2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtQXzgvQgAAD0IAAANwAJAAAAAAAA" + + "AAAAAADU2QEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + + "dGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAA" + + "ADb7AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAOJdAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAl7QCAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZj" + + "vFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAfN0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAARDgMAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAA4PwMAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAC9aQMAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9u" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAA7HED" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNy" + + "ZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAGGIAwAAAA==" var ( skillDataOnce sync.Once From e797591b83374fb4fc40640a81fe091e2857d82b Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:03:59 +0530 Subject: [PATCH 093/127] test(nvcf-cli): stage the stacks as Bazel data so the stack-tie tests run there instead of skipping Signed-off-by: rohithb --- BUILD.bazel | 18 +++++++++++ .../nvcf-cli/internal/selfhosted/BUILD.bazel | 2 +- .../internal/selfhosted/registry_cred_test.go | 22 +------------ .../selfhosted/stack_namespaces_test.go | 31 ++++++++++++++++--- 4 files changed, 47 insertions(+), 26 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 41bcd08e0d..f73ae77a28 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -51,6 +51,24 @@ filegroup( visibility = ["//visibility:public"], ) +# The self-managed and compute-plane stacks, also outside gazelle, for the +# nvcf-cli tests that pin the CLI's view of the stacks to their source. +filegroup( + name = "nvcf-cli-stacks", + srcs = glob( + [ + "deploy/stacks/nvcf-compute-plane/**", + "deploy/stacks/self-managed/**", + ], + exclude = [ + "deploy/stacks/*/out/**", + "deploy/stacks/*/testdata/**", + "deploy/stacks/*/tests/**", + ], + ), + visibility = ["//src/clis/nvcf-cli:__subpackages__"], +) + # Gazelle manages only the native Go subtrees listed in go.work.bazel. # nv-boot-parent and Cloud Tasks are also owned by the root Bazel module, but # their checked-in Java BUILD files are maintained manually and remain outside diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 901528b1fc..9a945239b4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -84,7 +84,7 @@ go_test( "validator_config_parity_test.go", "validatortag_test.go", ], - data = glob(["testdata/**"]), + data = glob(["testdata/**"]) + ["//:nvcf-cli-stacks"], embed = [":selfhosted"], deps = [ "//src/clis/nvcf-cli/internal/client", diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 9e1de04c4d..3eb887c65c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -1181,26 +1181,6 @@ func TestLoadStackValues_ExternalComponents(t *testing.T) { assert.Empty(t, LoadStackValues([]string{base}).ExternalComponents) } -// findSelfManagedStack returns the repository's self-managed stack, found -// above the package directory, or skips the test where it is not there, as -// in a sandboxed build. -func findSelfManagedStack(t *testing.T) string { - t.Helper() - dir, err := os.Getwd() - require.NoError(t, err) - for { - stack := filepath.Join(dir, "deploy", "stacks", "self-managed") - if _, err := os.Stat(filepath.Join(stack, "helmfile.d")); err == nil { - return stack - } - parent := filepath.Dir(dir) - if parent == dir { - t.Skip("the self-managed stack is not available here") - } - dir = parent - } -} - // The Gateways LoadStackValues forwards are the ones the stack renders into // the ingress release's nvcfGatewayRoutes.gateways, for the default routes // and with each gated route on, so the CLI's gates cannot drift from the @@ -1209,11 +1189,11 @@ func TestLoadStackValues_GatewaysMatchTheRenderedStack(t *testing.T) { if testing.Short() { t.Skip("renders the stack with helmfile") } + stack := filepath.Join(repoStacksDir(t), "self-managed") helmfile, err := exec.LookPath("helmfile") if err != nil { t.Skip("helmfile is not installed") } - stack := findSelfManagedStack(t) const common = ` ingress: gatewayApi: diff --git a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go index 2c0db7a53a..4fcf669b00 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/stack_namespaces_test.go @@ -264,10 +264,7 @@ func TestResolveStackNamespaces_NeverProbesRuntimeOwnedNamespaces(t *testing.T) // so they must agree with the stacks: the same namespaces, gated by the same // conditions, with base.yaml's defaults. func TestStaticNamespaces_MatchTheStacks(t *testing.T) { - root := filepath.Join("..", "..", "..", "..", "..", "deploy", "stacks") - if _, err := os.Stat(root); err != nil { - t.Skipf("deploy/stacks not reachable from the test's working directory: %v", err) - } + root := repoStacksDir(t) for stack, static := range map[string][]stackNamespace{ "self-managed": nvcfControlPlaneNamespaces, "nvcf-compute-plane": nvcfComputePlaneNamespaces, @@ -292,3 +289,29 @@ func TestStaticNamespaces_MatchTheStacks(t *testing.T) { } } } + +// repoStacksDir returns the repository's deploy/stacks, found at or above the +// package directory. Bazel stages it as the test's data, so a run under Bazel +// fails without it rather than skipping the tests that pin the CLI to the +// stacks; elsewhere, as in a copy of the module alone, the test skips. +func repoStacksDir(t *testing.T) string { + t.Helper() + dir, err := os.Getwd() + require.NoError(t, err) + for { + stacks := filepath.Join(dir, "deploy", "stacks") + if _, err := os.Stat(filepath.Join(stacks, "self-managed", "helmfile.d")); err == nil { + return stacks + } + parent := filepath.Dir(dir) + if parent == dir { + break + } + dir = parent + } + if os.Getenv("TEST_SRCDIR") != "" { + t.Fatal("deploy/stacks is not in the test's runfiles; add //:nvcf-cli-stacks to its data") + } + t.Skip("deploy/stacks is not reachable from the test's working directory") + return "" +} From 2f487dc8f21d08bf967fef1b474f6c6e57b6590f Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:11:31 +0530 Subject: [PATCH 094/127] fix(nvcf-cli): keep a cut-short critical registry row a warning after install, where its rejection can only warn Signed-off-by: rohithb --- .../nvcf-cli/internal/selfhosted/preflight.go | 6 ++++- .../internal/selfhosted/preflight_test.go | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 7115ed6aa0..5225acb201 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1162,10 +1162,14 @@ func registryCredentialCheck( if entry.Critical { severity = SeverityError } + worst := severity + if postInstall { + worst = SeverityWarning + } return binaryCheckSpec{ ID: id, HumanLabel: fmt.Sprintf("checking credentials for %s...", label), - worst: severity, + worst: worst, Run: func(ctx context.Context) CheckResult { r := CheckResult{ID: id, Severity: severity} err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical) diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index c2042ac48d..2e66605355 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -1246,6 +1246,30 @@ func TestRunPreflight_CutShortRowsKeepTheirWorstSeverity(t *testing.T) { } } +// After install a critical registry's rejection only warns, so a cut-short or +// not-run row for it warns too and cannot fail the run. +func TestRunPreflight_CutShortCriticalRegistryAfterInstallWarns(t *testing.T) { + prevLocal := localCheckShare + localCheckShare = 200 * time.Millisecond + t.Cleanup(func() { localCheckShare = prevLocal }) + hang := func(ctx context.Context, _, _ string, _ bool) error { + <-ctx.Done() + return ctx.Err() + } + res := RunPreflightForRole(context.Background(), PreflightConfig{ + Registries: []RegistryEntry{ + {Registry: "nvcr.io", Critical: true}, {Registry: "harbor.example.com", Critical: true}, + }, + RegistryChecker: hang, + RegistryPostInstall: true, + }, RoleLocalOnly, RoleConfig{}, &captureSink{}) + require.Len(t, res, 2) + for _, r := range res { + assert.True(t, r.CutShort, r.ID) + assert.Equal(t, SeverityWarning, r.Severity, r.ID+": "+r.Message) + } +} + // Each term of the validator's run ceiling counts as often as one run can // spend it. Bumping a term by one second grows the ceiling by its count. func TestClusterValidatorRunCeiling_CountsEveryTerm(t *testing.T) { From 42142e0e13caffe5501a9dd67782d14ccadc2534 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:44:37 +0530 Subject: [PATCH 095/127] fix(nvcf-cli): keep SIGPIPE ignored after an interrupted check returns so the error cobra prints to a dead stderr cannot turn exit 130 into a kill Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 10 ++++++---- src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 87c7386683..e3a506ce53 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -256,13 +256,15 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // interrupt ends the run on the first signal or the quit key. A second // Ctrl-C then exits at once, through the default handler. SIGTERM and // SIGHUP stay caught until return: CI follows its SIGINT with a SIGTERM a - // few seconds later. So does SIGPIPE, held before the run is cancelled: a - // signal to the process group also ends a pipe reading stderr, and the - // next write would otherwise kill the process mid-teardown. + // few seconds later. SIGPIPE is ignored before the run is cancelled, and + // stays ignored after return: a signal to the process group also ends a + // pipe reading stderr, and a write to it, in the teardown or in the error + // cobra prints afterwards, would otherwise kill the process. var interruptOnce sync.Once interrupt := func() { interruptOnce.Do(func() { - signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGPIPE) + signal.Ignore(syscall.SIGPIPE) + signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) signal.Stop(caught) cancelSig() }) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 9a052586ca..7c10c78550 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -666,11 +666,11 @@ const closedStderrChild = "NVCF_CLI_TEST_CLOSED_STDERR_CHILD" // A Ctrl-C or a CI cancel signals the whole process group, so a pipe reading // stderr ends with the run. Writing the interrupt note, or anything after it, // to that pipe must not kill the process before the validator's teardown has -// removed what the run created. +// removed what the run created, nor after it, before the process exits 130. func TestCheck_InterruptSurvivesTheEndOfItsStderrReader(t *testing.T) { const started = "validator started" if marker := os.Getenv(closedStderrChild); marker != "" { - _ = executeCheck(t, time.Minute, func( + err := executeCheck(t, time.Minute, func( ctx context.Context, p selfhosted.ClusterValidatorParams, ) selfhosted.ClusterValidatorResult { p.OnStart("run1") @@ -681,7 +681,8 @@ func TestCheck_InterruptSurvivesTheEndOfItsStderrReader(t *testing.T) { require.NoError(t, os.WriteFile(marker, nil, 0o600)) return selfhosted.ClusterValidatorResult{Err: ctx.Err(), RunID: "run1", Created: true} }, os.Stderr) - return + // As main does, after cobra has printed the error to the closed pipe. + os.Exit(ExitCodeFromError(err)) } ctx, cancel := context.WithTimeout(context.Background(), time.Minute) @@ -710,6 +711,7 @@ func TestCheck_InterruptSurvivesTheEndOfItsStderrReader(t *testing.T) { waitErr := child.Wait() _, err = os.Stat(marker) assert.NoError(t, err, "the process died before the teardown finished: %v\n%s", waitErr, stdout.String()) + assert.Equal(t, 130, child.ProcessState.ExitCode(), "%v\n%s", waitErr, stdout.String()) } // terminalSink stands in for the --wait dashboard, which draws on the From e35900e8532b563dfef401fddb10459fed505ecb Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:45:53 +0530 Subject: [PATCH 096/127] fix(nvcf-cli): fail check on a validator config list written as a single map instead of reading it as no entries Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 14 +++++++++---- .../self_hosted_check_validatorenv_test.go | 20 +++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index e3a506ce53..e19756f759 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -728,12 +728,18 @@ func localStackDir(src string) string { // configList returns a list setting from its flag, env var or config file. // viper.GetStringSlice reads a config-file entry that is a map or a list, -// such as a Kubernetes-style toleration, as "", which would drop it without a -// word, so such an entry is an error naming it. +// such as a Kubernetes-style toleration, as "", and a value that is a single +// map as no entries at all, which would drop it without a word, so either is +// an error naming it. func configList(key string) ([]string, error) { - raw, ok := viper.Get(key).([]any) - if !ok { + var raw []any + switch v := viper.Get(key).(type) { + case nil, string, []string: return viper.GetStringSlice(key), nil + case []any: + raw = v + default: + return nil, fmt.Errorf("%s is not a list of strings: %v", key, v) } out := make([]string, 0, len(raw)) for i, item := range raw { diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index d60849abc6..5cb76651af 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -296,6 +296,18 @@ func TestCheck_NonStringConfigListEntryFailsTheCommand(t *testing.T) { assert.Contains(t, err.Error(), key+" entry 1 is not a string: map[") assert.Contains(t, err.Error(), hint) }) + // A single entry written as a map rather than a list of one. + t.Run(key+" as a map", func(t *testing.T) { + resetCheckFlags(t) + withConfigFile(t, key+":\n {key: dedicated, operator: Equal, value: infra, effect: NoSchedule}\n") + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json"}) + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), key+" is not a list of strings: map[") + assert.Contains(t, err.Error(), hint) + }) } resetCheckFlags(t) @@ -306,6 +318,14 @@ func TestCheck_NonStringConfigListEntryFailsTheCommand(t *testing.T) { {Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", Effect: corev1.TaintEffectNoSchedule}, {Key: "special", Operator: corev1.TolerationOpExists}, }, got, "string entries are read as before") + + resetCheckFlags(t) + withConfigFile(t, "cluster_validator_tolerations: dedicated=infra:NoSchedule\n") + got, err = configuredValidatorTolerations() + require.NoError(t, err) + assert.Equal(t, []corev1.Toleration{ + {Key: "dedicated", Operator: corev1.TolerationOpEqual, Value: "infra", Effect: corev1.TaintEffectNoSchedule}, + }, got, "a single string is read as before") } func TestParseToleration(t *testing.T) { From 454ce630546a87eba51f028940f575bc04cdadf3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:46:46 +0530 Subject: [PATCH 097/127] test(nvcf-cli): pin the rejected docker login note to advice to renew the login Signed-off-by: rohithb --- src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 3eb887c65c..bc1bc1efce 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -1035,7 +1035,9 @@ func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) assert.Equal(t, SeverityInfo, r.Severity) assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") assert.Contains(t, r.Message, "the docker login from docker config") - assert.Contains(t, r.Message, "docker login nvcr.io --username '$oauthtoken'") + assert.Contains(t, r.Message, "docker on this machine still sends it; "+ + "renew it with: docker login nvcr.io --username '$oauthtoken'") + assert.NotContains(t, r.Message, "cannot pull") cred, ok, err := rc.lookup(ctx, "nvcr.io") require.NoError(t, err) @@ -1060,6 +1062,8 @@ func TestProbeRegistryCredential_RejectedLoginAndKey(t *testing.T) { assert.Contains(t, r.Message, "credentials from NGC_API_KEY rejected") assert.Contains(t, r.Message, "generate a new NGC API key") assert.Contains(t, r.Message, "the docker login from docker config") + assert.Contains(t, r.Message, "renew it with: docker login nvcr.io") + assert.NotContains(t, r.Message, "cannot pull") } assert.Equal(t, []string{"rotated-out", "revoked-key", "rotated-out", "revoked-key"}, ngc.passwords()) } From 4c2e407d2c0166eff948ed43d4f5d2278021536c Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:49:09 +0530 Subject: [PATCH 098/127] test(nvcf-cli): say under bazel test that the helmfile render test needs --test_env=PATH, where it runs from the staged stacks Signed-off-by: rohithb --- .../nvcf-cli/internal/selfhosted/registry_cred_test.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index bc1bc1efce..231709bcb6 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -1188,7 +1188,9 @@ func TestLoadStackValues_ExternalComponents(t *testing.T) { // The Gateways LoadStackValues forwards are the ones the stack renders into // the ingress release's nvcfGatewayRoutes.gateways, for the default routes // and with each gated route on, so the CLI's gates cannot drift from the -// template's. Needs helmfile; skipped without it. +// template's. Needs helmfile and helm on PATH; skipped without them. bazel +// test runs it on a fixed PATH, where they are found only in /usr/local/bin, +// /usr/bin or /bin unless the run passes --test_env=PATH. func TestLoadStackValues_GatewaysMatchTheRenderedStack(t *testing.T) { if testing.Short() { t.Skip("renders the stack with helmfile") @@ -1196,6 +1198,9 @@ func TestLoadStackValues_GatewaysMatchTheRenderedStack(t *testing.T) { stack := filepath.Join(repoStacksDir(t), "self-managed") helmfile, err := exec.LookPath("helmfile") if err != nil { + if os.Getenv("TEST_SRCDIR") != "" { + t.Skip("helmfile is not on bazel test's PATH; run with --test_env=PATH, or with go test") + } t.Skip("helmfile is not installed") } const common = ` From 7bff2d362c801a5c8736e6587949654a266718b1 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:51:01 +0530 Subject: [PATCH 099/127] docs(nvcf-cli): copy the exported control-plane profile from the path export prints, and select the rotate context with kubectl Signed-off-by: rohithb --- .../skills/nvcf-self-managed-cli/SKILL.md | 5 +- .../examples/ci-pipelines.md | 2 +- .../examples/multi-cluster.md | 7 +- .../prompts/add-compute-plane.md | 2 +- .../prompts/rotate-cluster-jwks.md | 5 +- .../agentskill/skilldata_generated.go | 7953 +++++++++-------- 6 files changed, 3995 insertions(+), 3979 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md b/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md index e0d98806e9..f84906970f 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/SKILL.md @@ -60,8 +60,9 @@ KUBECONFIG=cp.yaml:gpu1.yaml nvcf-cli self-hosted up \ --icms-url=https://icms.nvcf.example.com # Add a new compute plane to an existing control plane, from the profile -# `self-hosted control-plane profile export` wrote (no kubectl access to CP -# needed; reaches the control plane via the public ICMS HTTPRoute): +# `self-hosted control-plane profile export` wrote to the path it printed, +# copied here as control-plane-profile.yaml (no kubectl access to CP needed; +# reaches the control plane via the public ICMS HTTPRoute): nvcf-cli self-hosted compute-plane register \ --control-plane-profile=control-plane-profile.yaml \ --cluster-name=ncp-local-2 \ diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md index 5e290549d3..e8d082aa8f 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/ci-pipelines.md @@ -80,7 +80,7 @@ deploy_compute_planes: --cluster-name=$CLUSTER ``` -Each parallel job registers + installs one compute plane against the shared control plane. Failures are isolated. The control-plane profile comes from `nvcf-cli self-hosted control-plane profile export`, run once against the control plane. +Each parallel job registers + installs one compute plane against the shared control plane. Failures are isolated. The control-plane profile comes from `nvcf-cli self-hosted control-plane profile export`, run once against the control plane. It writes the profile to the stack's `out/` directory and prints that path; hand the file to each job as `control-plane-profile.yaml`, for example as an artifact. ## Plan-only preview in PRs diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md index d016256d1f..14c034372b 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md @@ -12,8 +12,10 @@ KUBECONFIG=cp.yaml nvcf-cli self-hosted install --control-plane | kubectl apply nvcf-cli self-hosted check --control-plane --wait 5m # 2. Export the control-plane profile every compute plane registers from. -# The command prints the path it wrote: +# It is written to the stack's out/ directory, and the command prints +# that path. Copy the file here: KUBECONFIG=cp.yaml nvcf-cli self-hosted control-plane profile export --cluster-name=ncp-cp +cp control-plane-profile.yaml # 3. Register + install each compute plane. Both commands name the GPU # cluster's context with --kube-context: @@ -54,7 +56,8 @@ nvcf-cli self-hosted check --compute-plane \ --json # Register and install just the compute plane, from the profile the -# control-plane operator exported with `self-hosted control-plane profile export`: +# control-plane operator exported with `self-hosted control-plane profile export`, +# saved here as control-plane-profile.yaml: nvcf-cli self-hosted compute-plane register \ --control-plane-profile=control-plane-profile.yaml \ --cluster-name=my-compute-1 \ diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index a46db73297..6da2dce4e0 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -7,7 +7,7 @@ User has a working NVCF control plane (running somewhere) and wants to register - **kubectl context for the new compute plane** in their `KUBECONFIG`. - **Public ICMS URL** of the existing control plane (e.g. `https://icms.nvcf.example.com`). - **Admin JWT** for the control plane's account, OR ability to mint one via `nvcf-cli init` against the control plane's public api endpoint. (Admin tokens come from the API Keys service via the public api gateway — kubectl access to the control plane is NOT required to obtain one.) -- The control plane's profile file, which `nvcf-cli self-hosted control-plane profile export` writes on a machine that can reach the control-plane cluster. It carries the control plane's endpoints and trust for registration. +- The control plane's profile file, which `nvcf-cli self-hosted control-plane profile export` writes on a machine that can reach the control-plane cluster. It carries the control plane's endpoints and trust for registration. The command writes it to the stack's `out/` directory and prints that path; the steps below expect it copied to `control-plane-profile.yaml` in the working directory. - A unique `--cluster-name` that doesn't collide with already-registered clusters. Use `nvcf-cli cluster list-registered --nca-id=$NCA_ID --icms-url=$ICMS` to check. ## Steps diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md index 3eda25f2f6..243647b72f 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md @@ -15,10 +15,11 @@ User says NVCA stopped authenticating, or PSAT auth is 401-ing against ICMS. The 2. **Rotate.** From a context that can reach the compute plane's K8s API (because rotation re-fetches the K8s API's `/openid/v1/jwks`): ```sh - nvcf-cli cluster rotate --cluster-id= --compute-plane-context= + kubectl config use-context + nvcf-cli cluster rotate --cluster-id= ``` - This re-fetches JWKS from the compute plane's K8s API and PUTs it to ICMS. The cluster ID stays the same. + `cluster rotate` reads the current context, or the one `--kubeconfig=` selects. It re-fetches JWKS from the compute plane's K8s API and PUTs it to ICMS. The cluster ID stays the same. 3. **Verify.** `nvcf-cli cluster get --cluster-id=` — confirm `updatedAt` advanced. Then `kubectl logs -n nvca-system -l app.kubernetes.io/name=nvca --tail=20` — register attempts should succeed (200, not 401). diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 40ddf19264..94f423ee7e 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,20 +31,20 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjQ4NzIsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU1MTgsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + - "bWQiLAogICAgICAic2hhMjU2IjogIjM2OGFmODc3YjBiOGYzNmNkYTgzZTgwN2RjM2Q3ZTFmZWUz" + - "Njc3NjIxZGVmNjMzMmJjMTI4ODI3MDc2YmZiOWQiLAogICAgICAic2l6ZSI6IDI1NzQ4CiAgICB9" + + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + "LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2kt" + - "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI3NThiNDc2NWVkOWJhNGY2ZDMwNGQ5MDAy" + - "ZWI3YjBmNmI2ODQwMGM1N2IyYWFhYjAzZDUzNWJhYzlmYzdjZWJiIiwKICAgICAgInNpemUiOiA0" + - "MjMxCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiYmEwZDYyOWJjYzMzNjU0" + - "NGVjOTRiNDU5NTNkMDA5YzZjN2JmZDI0ZDc5N2FkMzEyN2MzM2E0ZmZiYjBjYWQxNyIsCiAgICAg" + - "ICJzaXplIjogNDE2OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjFi" + - "OGFhNTNlM2IxNTgxYzUxZjY1NmViYjM0ZmFmZjVjZDA1NGZlNjQ4NWE4NDk2YzFjM2MzMjcyNjFk" + - "NzM4MmIiLAogICAgICAic2l6ZSI6IDQ1NzMKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NmQyZWY5YTZmYzcwZTM1ZjhiNGQ5ZWQ5" + + "NTc5MTczMTJjZjE5YmQ3NmM1MzY4OTYzNTMwZTVhNDBlMWU3Zjg5IiwKICAgICAgInNpemUiOiA0" + + "Mzk0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiZjQ3M2E3ZjM1ZjQ1MWQx" + + "NjUyNTNmNjliM2M3NGJhZTA2MzJmOTc1YzJiMzlhZjQ4MzRhYWJlNjc3ZjQ5MmY4OSIsCiAgICAg" + + "ICJzaXplIjogNDMyNgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogImUy" + + "YzQ2NDIyMTE0MDIyNzRlMjBjYWU1ZTQxMjg1YWY2ZmVhMjIxY2EwMTNlYjQyMmUyNmRlMDU1NDVk" + + "NTZiNGEiLAogICAgICAic2l6ZSI6IDQ3NDAKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -59,8 +59,8 @@ const skillDataZipBase64 = "" + "IjogImQxMmE1N2UwNGM4NmYzZTQ4NTZkNjcyMWM4ODk1OGE1ZmE2M2RjMzg5ZWRkMzNmZTliYTRh" + "Y2RkMzcwYWUyNTgiLAogICAgICAic2l6ZSI6IDEwNTgyCiAgICB9LAogICAgewogICAgICAicGF0" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1k" + - "IiwKICAgICAgInNoYTI1NiI6ICI3NDdiNmM3OTJkYzI0NmE3OWE1MTA4YTk0NWQ5YWIyNzc1MTE3" + - "MjA3ZGExODlmYjE0Mjg0MzQ1NzRhYTYxZTFmIiwKICAgICAgInNpemUiOiAxOTkyCiAgICB9LAog" + + "IiwKICAgICAgInNoYTI1NiI6ICJhNmQ2ZDIwNmY1YTZiNWI3NWU2NjQ1YjljNjNmZjY1NmJlODkz" + + "Yjc0M2VhNTg5YzMzNmExNzM1M2UzYWZhNWU1IiwKICAgICAgInNpemUiOiAyMDgyCiAgICB9LAog" + "ICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93" + "bi5tZCIsCiAgICAgICJzaGEyNTYiOiAiMWE2NmI5YTM3MmJmOTI3NjQzOTdjOWVmMzliNzNlNDZm" + "NzE2M2ExNTgyMzgzZjFkNGJiNDE4ZThjM2Q2M2QwMyIsCiAgICAgICJzaXplIjogODY3NgogICAg" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJUUUBNKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCNu/XFxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -161,3851 +161,3035 @@ const skillDataZipBase64 = "" + "LWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + "aWNtcy5udmNmLmV4YW1wbGUuY29tCgojIEFkZCBhIG5ldyBjb21wdXRlIHBsYW5lIHRvIGFuIGV4" + "aXN0aW5nIGNvbnRyb2wgcGxhbmUsIGZyb20gdGhlIHByb2ZpbGUKIyBgc2VsZi1ob3N0ZWQgY29u" + - "dHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAgd3JvdGUgKG5vIGt1YmVjdGwgYWNjZXNzIHRvIENQ" + - "CiMgbmVlZGVkOyByZWFjaGVzIHRoZSBjb250cm9sIHBsYW5lIHZpYSB0aGUgcHVibGljIElDTVMg" + - "SFRUUFJvdXRlKToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBc" + - "CiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAog" + - "IC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbC0yIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUy" + - "IFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2Vu" + - "PSRBRE1JTl9KV1QgXAogIC0tb3V0cHV0PW5jcC1sb2NhbC0yLXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXM9" + - "bmNwLWxvY2FsLTItcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0PWFkbWlu" + - "QGdwdTIgXAogIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbC0yCgojIFRlYXIgZG93biAoYWx3YXlz" + - "IHBsYW4tb25seSBmaXJzdCk6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkg" + - "LS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCm52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCgojIFBlci1wbGFuZSB1bmluc3RhbGwgKEdp" + - "dE9wczsgbWlycm9ycyBgaW5zdGFsbGApOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwg" + - "LS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIHwga3Vi" + - "ZWN0bCBkZWxldGUgLWYgLQpgYGAKCj4gYHVwYCB2cyBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAg" + - "YW5kIGBpbnN0YWxsYC4gYHVwYCBhbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7IHVzZSBpdCBm" + - "b3IgdGhlIGZpcnN0IGluc3RhbGwuIFRvIGF0dGFjaCBhbiBOdGggY29tcHV0ZSBjbHVzdGVyIHRv" + - "IGEgcnVubmluZyBjb250cm9sIHBsYW5lLCByZWdpc3RlciBpdCB3aXRoIGBjb21wdXRlLXBsYW5l" + - "IHJlZ2lzdGVyYCBhbmQgaW5zdGFsbCBpdCB3aXRoIGBjb21wdXRlLXBsYW5lIGluc3RhbGxgLgo+" + - "Cj4gKipgZG93bmAgYWx3YXlzIHdpdGggYC0tcGxhbi1vbmx5YCBmaXJzdC4qKiBTaG93IHRoZSB1" + - "c2VyIHRoZSBgd2lsbFVuaW5zdGFsbC5jb21tYW5kc1tdYCBhcnJheSBiZWZvcmUgcnVubmluZyBm" + - "b3IgcmVhbC4KCiMjIEF1dGhlbnRpY2F0aW9uCgpgbnZjZi1jbGlgIHVzZXMgdHdvIGNyZWRlbnRp" + - "YWxzLiBFYWNoIGlzIHJlc29sdmVkIGluZGVwZW5kZW50bHkgaW4gdGhpcyBvcmRlcjoKCnwgUHJl" + - "Y2VkZW5jZSB8IFNvdXJjZSB8CnwtLS18LS0tfAp8IDEgKGhpZ2hlc3QpIHwgRW52aXJvbm1lbnQg" + - "dmFyaWFibGUgKGBOVkNGX1RPS0VOYCwgYE5WQ0ZfQVBJX0tFWWApIHwKfCAyIHwgQ29uZmlnIGZp" + - "bGUgKGB+Ly5udmNmLWNsaS55YW1sYCwga2V5cyBgdG9rZW5gIGFuZCBgYXBpX2tleWApIHwKfCAz" + - "IHwgU3RhdGUgZmlsZSAoYH4vLm52Y2YtY2xpLnN0YXRlYCksIHNraXBwZWQgd2hlbiB0aGUgc3Rv" + - "cmVkIHRva2VuIGlzIGV4cGlyZWQgfAoKfCBFbnYgdmFyIHwgVG9rZW4gdHlwZSB8IFVzZWQgYnkg" + - "fAp8LS0tfC0tLXwtLS18CnwgYE5WQ0ZfVE9LRU5gIHwgQWRtaW4gSldUIHwgYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAgLyBgZGVwbG95YCAvIGB1cGRhdGVgIC8gYGRlbGV0ZWAsIGNsdXN0ZXIgbWFuYWdlbWVu" + - "dCAoYGNsdXN0ZXIgcmVnaXN0ZXJgL2BsaXN0LXJlZ2lzdGVyZWRgL2Byb3RhdGVgL2BkZWxldGVg" + - "LCBgc2VsZi1ob3N0ZWRgIG9wcykuIFJlcXVpcmVkIGZvciBhZG1pbiBjb21tYW5kczsgcHJlZmVy" + - "cmVkIGZvciB0aGUgcmVzdC4gfAp8IGBOVkNGX0FQSV9LRVlgIHwgYG52YXBpLS4uLmAgQVBJIGtl" + - "eSB8IGBmdW5jdGlvbiBpbnZva2VgIC8gYGxpc3RgIC8gYGdldGAsIHF1ZXVlIGRldGFpbHMuIEZh" + - "bGxzIGJhY2sgdG8gYE5WQ0ZfVE9LRU5gIHdoZW4gdW5zZXQuIHwKClRva2VuIGdlbmVyYXRpb24g" + - "ZmxvdzoKCjEuIFBvaW50IHRoZSBDTEkgYXQgeW91ciBzZWxmLWhvc3RlZCBlbmRwb2ludHMuIERl" + - "ZmF1bHRzIHRhcmdldCBwcm9kdWN0aW9uIE5WQ0Y7IG92ZXJyaWRlIHdpdGggZW52IHZhcnMgb3Ig" + - "YSB5YW1sIGZpbGUgKGAtLWNvbmZpZyA8cGF0aD5gLCBgLi8ubnZjZi1jbGkueWFtbGAsIG9yIGB+" + - "Ly5udmNmLWNsaS55YW1sYDsgYSBmdWxsIHRlbXBsYXRlIHNoaXBzIGF0IGBzcmMvY2xpcy9udmNm" + - "LWNsaS8ubnZjZi1jbGkueWFtbC50ZW1wbGF0ZWApLgoKICAgYE5WQ0ZfQkFTRV9IVFRQX1VSTGAg" + - "LyBgQVBJX0tFWVNfU0VSVklDRV9VUkxgIC8gYE5WQ0ZfQkFTRV9HUlBDX1VSTGAgdGVsbCB0aGUg" + - "Q0xJICp3aGVyZSB0byBzZW5kIHJlcXVlc3RzKi4gYEFQSV9IT1NUYCAvIGBBUElfS0VZU19IT1NU" + - "YCAvIGBJTlZPS0VfSE9TVGAgc2V0IHRoZSBgSG9zdDpgIGhlYWRlciBvbiB0aG9zZSByZXF1ZXN0" + - "cyDigJQgbmVlZGVkIHdoZW4gZXZlcnkgTlZDRiBzZXJ2aWNlIHNpdHMgYmVoaW5kIGEgc2luZ2xl" + - "IGdhdGV3YXkgdGhhdCByb3V0ZXMgYnkgaG9zdG5hbWUgKEVudm95IEdhdGV3YXkgSFRUUFJvdXRl" + - "IG9uIGBhcGkuPEVMQj5gLCBgYXBpLWtleXMuPEVMQj5gLCBgaW52b2NhdGlvbi48RUxCPmAsIGBs" + - "bG0uPEVMQj5gKS4gU2tpcCB0aGUgdGhyZWUgSG9zdCB2YXJzIHdoZW4gdGhlIGJhc2UgVVJMIGFs" + - "cmVhZHkgcmVzb2x2ZXMgdG8gdGhlIHJpZ2h0IHNlcnZpY2UuCgogICBFbnYtdmFyIGZvcm06Cgog" + - "ICBgYGBzaAogICBleHBvcnQgTlZDRl9CQVNFX0hUVFBfVVJMPWh0dHBzOi8vZ3cuZXhhbXBsZS5j" + - "b20KICAgZXhwb3J0IEFQSV9LRVlTX1NFUlZJQ0VfVVJMPWh0dHBzOi8vZ3cuZXhhbXBsZS5jb20K" + - "ICAgZXhwb3J0IE5WQ0ZfQkFTRV9HUlBDX1VSTD1ndy5leGFtcGxlLmNvbTo0NDMKCiAgICMgT25s" + - "eSB3aGVuIHRoZSBnYXRld2F5IHJvdXRlcyBieSBIb3N0IGhlYWRlcjoKICAgZXhwb3J0IEFQSV9L" + - "RVlTX0hPU1Q9YXBpLWtleXMuZ3cuZXhhbXBsZS5jb20KICAgZXhwb3J0IEFQSV9IT1NUPWFwaS5n" + - "dy5leGFtcGxlLmNvbQogICBleHBvcnQgSU5WT0tFX0hPU1Q9aW52b2NhdGlvbi5ndy5leGFtcGxl" + - "LmNvbQogICBgYGAKCiAgIFlhbWwgZm9ybSAoYH4vLm52Y2YtY2xpLnlhbWxgKToKCiAgIGBgYHlh" + - "bWwKICAgYmFzZV9odHRwX3VybDogaHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBhcGlfa2V5c19z" + - "ZXJ2aWNlX3VybDogaHR0cHM6Ly9ndy5leGFtcGxlLmNvbQogICBiYXNlX2dycGNfdXJsOiBndy5l" + - "eGFtcGxlLmNvbTo0NDMKCiAgICMgT25seSB3aGVuIHRoZSBnYXRld2F5IHJvdXRlcyBieSBIb3N0" + - "IGhlYWRlcjoKICAgYXBpX2tleXNfaG9zdDogYXBpLWtleXMuZ3cuZXhhbXBsZS5jb20KICAgYXBp" + - "X2hvc3Q6IGFwaS5ndy5leGFtcGxlLmNvbQogICBpbnZva2VfaG9zdDogaW52b2NhdGlvbi5ndy5l" + - "eGFtcGxlLmNvbQogICBgYGAKCjIuIGBudmNmLWNsaSBpbml0YCBjYWxscyB0aGUgQVBJIEtleXMg" + - "c2VydmljZSB2aWEgdGhvc2UgZW5kcG9pbnRzIGFuZCB3cml0ZXMgdGhlIGFkbWluIHRva2VuIHRv" + - "IGB+Ly5udmNmLWNsaS5zdGF0ZWAuIFVzZSBgbnZjZi1jbGkgcmVmcmVzaGAgdG8gcm90YXRlIGEg" + - "c3RvcmVkIHRva2VuLgozLiBBZnRlciBgaW5pdGAsIGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + - "YCBtaW50cyBmdW5jdGlvbiArIHRhc2sgQVBJIGtleXMgKGFsc28gc3RvcmVkIGluIHN0YXRlKS4K" + - "CkFmdGVyIGBpbml0YCwgdGhlIGNyZWRlbnRpYWxzIGxpdmUgaW4gYH4vLm52Y2YtY2xpLnN0YXRl" + - "YCwgc28gbGF0ZXIgY29tbWFuZHMgd29yayB3aXRob3V0IGV4cG9ydGluZyBgTlZDRl9UT0tFTmAg" + - "b3IgYE5WQ0ZfQVBJX0tFWWAuIEV4cG9ydCB0aGUgZW52IHZhciBvbmx5IHRvIG92ZXJyaWRlIHRo" + - "ZSBzdG9yZWQgdmFsdWUgKGZvciBleGFtcGxlIGEgc2hvcnRlci1saXZlZCB0b2tlbiBmcm9tIENJ" + - "KS4KCiMjIENvcmUgc3ViY29tbWFuZHMKCnwgU3ViY29tbWFuZCB8IFdoYXQgaXQgZG9lcyB8IFdo" + - "ZW4gdG8gdXNlIHwKfC0tLXwtLS18LS0tfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAt" + - "LXByZSBbLS1sb2NhbC1vbmx5IFx8IC0tY29udHJvbC1wbGFuZS1jb250ZXh0PVggLS1jb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ9WV1gIHwgUHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scywgcmVnaXN0" + - "cnkgY3JlZGVudGlhbHMsIGFuZCBjbHVzdGVyLXNpZGUgcHJlcmVxdWlzaXRlcyBmb3IgYm90aCBw" + - "bGFuZXMuIFBhc3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXIgfCBBbHdheXMgcnVuIGZp" + - "cnN0IG9uIGEgbmV3IGVudmlyb25tZW50IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFs" + - "bCAtLWNvbnRyb2wtcGxhbmUgXHwga3ViZWN0bCBhcHBseSAtZiAtYCB8IFJlbmRlciArIGFwcGx5" + - "IHRoZSBjb250cm9sIHBsYW5lIHwgV2hlbiB5b3Ugd2FudCBtYW51YWwgY29udHJvbCBvdmVyIGFw" + - "cGx5IChHaXRPcHMtZnJpZW5kbHkpIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + - "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCBcfCBrdWJlY3RsIGFwcGx5IC1mIC1gIHwg" + - "UmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRlIHBsYW5lIHwgU2FtZSDigJQgbWFudWFs" + - "IGFwcGx5IHBhdGggfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXItbmFtZT1Y" + - "YCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGw6IHByZS1mbGlnaHQg4oaSIGNvbnRyb2wgcGxhbmUg" + - "4oaSIHJlZ2lzdGVyIOKGkiBjb21wdXRlIHBsYW5lIHwgU3RhbmRhcmQgaW5zdGFsbCBwYXRoIChi" + - "b3RoIHBsYW5lcyBmcm9tIHNjcmF0Y2gpIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgLS1w" + - "bGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuOiBlbWl0IHBoYXNlLWJ5LXBoYXNl" + - "IHBsYW4gKyBFVEEgd2l0aG91dCBjaGFuZ2luZyBzdGF0ZSB8IEFnZW50IC8gQ0kgcHJldmlldyBi" + - "ZWZvcmUgY29tbWl0IHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdp" + - "c3RlciAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1QIC0tY2x1c3Rlci1uYW1lPVggLS1rdWJlLWNv" + - "bnRleHQ9WSAtLW91dHB1dD1WYCwgdGhlbiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIC0tdmFsdWVzPVYgLS1rdWJlLWNvbnRleHQ9WWAgfCBBZGQgYSBuZXcgY29t" + - "cHV0ZSBwbGFuZSB0byBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIChubyBDUCBpbnN0YWxsKSB8" + - "IEFkZGluZyB0aGUgMm5kLCAzcmQsIC4uLiBHUFUgY2x1c3RlciBhZnRlciB0aGUgaW5pdGlhbCBg" + - "dXBgIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAg" + - "fCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wg" + - "cGxhbmUgKHJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCkgfCBGaW5h" + - "bCB0ZWFyZG93biBhZnRlciBhbGwgY29tcHV0ZSBwbGFuZXMgYXJlIGdvbmUsIG9yIHNjcmlwdGVk" + - "IHBpcGVsaW5lcyB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUt" + - "cGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0aXZlOiBgaGVsbWZpbGUg" + - "ZGVzdHJveWAgb24gYSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWlu" + - "KSB8IEp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2VzIHdpdGhvdXQgdGhlIElDTVMtc2lkZSBj" + - "bGVhbnVwIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBs" + - "YW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgfCBHaXRP" + - "cHM7IGBcfCBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMgfAp8" + - "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwgT3JjaGVzdHJh" + - "dG9yOiBkcmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxl" + - "dGUgaW4gSUNNUyB8IFN0YW5kYXJkICJyZW1vdmUgb25lIEdQVSBjbHVzdGVyIiBwYXRoIHwKfCBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwgT3JjaGVzdHJhdG9y" + - "OiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJvbCBwbGFu" + - "ZSB8IEZ1bGwgdW5pbnN0YWxsIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4t" + - "b25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyAocGhhc2VzICsgaGVsbSBy" + - "ZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXM7IG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCAq" + - "KkFMV0FZUyBydW4gYmVmb3JlIGFueSBhY3R1YWwgYGRvd25gKiogfAp8IGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1lPVhdIFstLXdhdGNoXSBbLS1qc29uXWAgfCBT" + - "bmFwc2hvdCBkYXNoYm9hcmQgb2YgY2x1c3RlciBpZGVudGl0eSArIGNvbXBvbmVudCBoZWFsdGgg" + - "KyByZWNlbnQgZXZlbnRzIHwgUm91dGluZSBoZWFsdGggY2hlY2tzOyBgLS13YXRjaGAgZm9yIGxp" + - "dmUgfAp8IGBudmNmLWNsaSBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyBz" + - "ZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IHwgQmVmb3JlIGFueSBjbHVzdGVyLW1h" + - "bmFnZW1lbnQgb3BlcmF0aW9uOyBpZGVtcG90ZW50IHwKfCBgbnZjZi1jbGkgY2x1c3RlciByZWdp" + - "c3RlciAtLW5hbWU9WCAtLW5jYS1pZD1ZIC0tcmVnaW9uPVogWy0taWdub3JlLWV4aXN0aW5nXWAg" + - "fCBSZWdpc3RlciBhIGNsdXN0ZXIgSldLUytPSURDIGlzc3VlciB3aXRoIElDTVMgfCBTdGFuZGFs" + - "b25lIHJlZ2lzdGVyICh3aXRob3V0IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCkgfAp8IGBudmNmLWNs" + - "aSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwg" + - "TGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgQ2hlY2sg" + - "cmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIG5hbWVzIGFuZCBJRHMgd2l0aCB0aGUgYWRtaW4gdG9r" + - "ZW4gfAp8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUm90YXRl" + - "IGNsdXN0ZXIgSldLUyBpbiBJQ01TIHwgV2hlbiBOVkNBJ3MgSzhzIHNpZ25pbmcga2V5IGNoYW5n" + - "ZWQgYW5kIFBTQVQgdmVyaWZpY2F0aW9uIHN0YXJ0ZWQgNDAxLWluZyB8CnwgYG52Y2YtY2xpIGNs" + - "dXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgY2x1c3RlciByZWdpc3RyYXRp" + - "b24gZnJvbSBJQ01TIHwgKipDb25maXJtIHdpdGggdXNlci4qKiBEZXN0cm95cyBJQ01TIHN0YXRl" + - "IGZvciB0aGUgY2x1c3Rlci4gfAp8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3Jp" + - "cHRpb249IuKApiIgLS1leHBpcmVzLWluPTFoYCB8IE1pbnQgYm90aCBhIGZ1bmN0aW9uIEFQSSBr" + - "ZXkgYW5kIGEgdGFzayBBUEkga2V5IChkZWZhdWx0KSB8IEJlZm9yZSBpbnZva2luZyBmdW5jdGlv" + - "bnMgb3IgY3JlYXRpbmcgdGFza3M7IHJ1biBhZnRlciBldmVyeSBgaW5pdGAgfAp8IGBudmNmLWNs" + - "aSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIGZ1bmN0aW9uIC0tZGVzY3JpcHRpb249IuKApiJgIHwg" + - "TWludCBhIGZ1bmN0aW9uIEFQSSBrZXkgb25seSAoYGludm9rZV9mdW5jdGlvbmAgc2NvcGUpIHwg" + - "V2hlbiBvbmx5IGZ1bmN0aW9uIGludm9jYXRpb24gaXMgbmVlZGVkIHwKfCBgbnZjZi1jbGkgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249IuKApiJgIHwgTWludCBhIHRh" + - "c2sgQVBJIGtleSBvbmx5IHwgV2hlbiBvbmx5IHRhc2sgb3BlcmF0aW9ucyBhcmUgbmVlZGVkIHwK" + - "fCBgbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgQ3JlYXRl" + - "IGZ1bmN0aW9uIG1ldGFkYXRhIGluIElDTVMgfCBGaXJzdCBzdGVwIG9mIGFueSBmdW5jdGlvbiBk" + - "ZXBsb3k7IHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdg" + - "IGZvciBMTE0gZnVuY3Rpb25zIHwKfCBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAt" + - "LWlucHV0LWZpbGU9PGpzb24+YCB8IFNjaGVkdWxlIGEgZGVwbG95bWVudCBvZiBhIGNyZWF0ZWQg" + - "ZnVuY3Rpb24gfCBXYWl0cyBmb3IgQUNUSVZFIGJlZm9yZSByZXR1cm5pbmcgKHRpbWVvdXQgOTAw" + - "cykgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPTxqc29uPmAgfCBJ" + - "bnZva2UgYSBkZXBsb3llZCBmdW5jdGlvbiB8IFJlcXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0" + - "b2tlbikgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZl" + - "cnNpb24taWQ9VklEYCB8IFJlbW92ZSBhIGZ1bmN0aW9uIGFuZCBpdHMgZGVwbG95bWVudCB8ICoq" + - "Q29uZmlybSB3aXRoIHVzZXIuKiogfAp8IGBudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAt" + - "LWdwdT1IMTAwIC0taW5zdGFuY2UtdHlwZT1ZIC0taW1hZ2U9WmAgfCBTdWJtaXQgYSBjb250YWlu" + - "ZXIgdGFzazsgc2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGUgfCBSZXF1aXJlcyB0YXNrIEFQSSBr" + - "ZXk7IHNldCBgTlZDRl9CQVNFX05WQ1RfVVJMYCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50" + - "IHwKfCBgbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEwMCAtLWluc3RhbmNl" + - "LXR5cGU9WSAtLWhlbG0tY2hhcnQ9WmAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBTYW1lIGFzIGNv" + - "bnRhaW5lciB0YXNrOyBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGBudmNm" + - "LWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9PGpzb24+YCB8IFN1Ym1pdCBhIHRhc2sgZnJv" + - "bSBhIEpTT04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBjb25maWd1" + - "cmF0aW9ucyB8CnwgYG52Y2YtY2xpIHRhc2sgbGlzdCBbLS1zdGF0dXM9UVVFVUVEXHxSVU5OSU5H" + - "XHxDT01QTEVURURdYCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVz" + - "IHwgfAp8IGBudmNmLWNsaSB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgZGV0YWlscyBmb3IgYSB0" + - "YXNrOyB1c2VzIHNhdmVkIHRhc2sgSUQgaWYgb21pdHRlZCB8IHwKfCBgbnZjZi1jbGkgdGFzayBl" + - "dmVudHMgW3Rhc2tJZF1gIHwgU3RyZWFtIGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwK" + - "fCBgbnZjZi1jbGkgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlmYWN0" + - "cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQ7" + - "IHJldHVybnMgZW1wdHkgbGlzdCBmb3IgYE5PTkVgIHN0cmF0ZWd5IHwKfCBgbnZjZi1jbGkgdGFz" + - "ayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcXVldWVkIG9yIHJ1bm5pbmcgdGFzayB8IHwK" + - "fCBgbnZjZi1jbGkgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQg" + - "fCAqKkNvbmZpcm0gd2l0aCB1c2VyLioqIHwKfCBgbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0" + - "cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRh" + - "c2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rp" + - "bmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IHwKfCBgbnZjZi1j" + - "bGkgdGFzayBidWxrIC0tdGFzay1pZHM9SUQxLElEMmAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0" + - "aXBsZSB0YXNrcyBpbiBvbmUgY2FsbCB8IHwKCj4gUmVnaXN0cnkgY3JlZGVudGlhbCBwcm9wYWdh" + - "dGlvbjogYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkYC9gdXBkYXRlYC9gZGVsZXRlYCwg" + - "dGFzayBjcmVhdGlvbiBjYW4ga2VlcCB1c2luZyB0aGUgcHJldmlvdXMgY3JlZGVudGlhbCBmb3Ig" + - "dXAgdG8gYWJvdXQgNSBtaW51dGVzIChOVkNUIGNhY2hlcyBhY2NvdW50IGNyZWRlbnRpYWxzIGF0" + - "IGBudmN0Lm52Y2YuY2FjaGUtdHRsYCwgZGVmYXVsdCBgUFQ1TWApLCBldmVuIHRob3VnaCBgcmVn" + - "aXN0cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBzaG93IHRoZSBuZXcgdmFsdWUgaW1tZWRpYXRl" + - "bHkuIFdhaXQgYWJvdXQgNSBtaW51dGVzLCBvciBga3ViZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVz" + - "dGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBseSBpbW1lZGlhdGVseS4gU2VlIFtyZWZl" + - "cmVuY2UvdHJvdWJsZXNob290aW5nLm1kXShyZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kKS4K" + - "CiMjIExMTSBmdW5jdGlvbiB0eXBlCgpVc2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGZvciBPcGVu" + - "QUktY29tcGF0aWJsZSBtb2RlbHMgc2VydmVkIHRocm91Z2ggdGhlIHNlbGYtbWFuYWdlZCBMTE0g" + - "R2F0ZXdheS4gTExNIGZ1bmN0aW9ucyBtdXN0IGRlZmluZSBhdCBsZWFzdCBvbmUgYG1vZGVsc1td" + - "YCBlbnRyeSB3aXRoIGBuYW1lYCBhbmQgYGxsbUNvbmZpZy51cmlzYDsgdGhlIHN1cHBvcnRlZCB1" + - "cHN0cmVhbSBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + - "LCBhbmQgYC92MS9lbWJlZGRpbmdzYC4KClVzZSBgL2hlYWx0aGAgb24gcG9ydCBgODAwMGAgYXMg" + - "dGhlIGRlZmF1bHQgT3BlbkFJLWNvbXBhdGlibGUgY29udGFpbmVyIGhlYWx0aCBwcm9iZSB1bmxl" + - "c3MgdGhlIGltYWdlIGV4cG9zZXMgYSBkaWZmZXJlbnQgcmVhZGluZXNzIHBhdGguCgpMTE0gZnVu" + - "Y3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhl" + - "bG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCBgZnVuY3Rpb25UeXBlOiAiTExNImAg" + - "YW5kIGBtb2RlbHNbXS5sbG1Db25maWdgLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1D" + - "aGFydFNlcnZpY2VOYW1lYCBpbiB0aGUgY3JlYXRlIHJlcXVlc3QuIGBoZWxtQ2hhcnRTZXJ2aWNl" + - "TmFtZWAgbXVzdCBtYXRjaCB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIGV4cG9zZWQgYnkgdGhlIGNo" + - "YXJ0LCBhbmQgYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQuCgpJbnZv" + - "Y2F0aW9uIHVzZXMgdGhlIExMTSByb3V0ZSwgZm9yIGV4YW1wbGUgYGh0dHBzOi8vbGxtLmludm9j" + - "YXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9uc2AuIFRoZSBPcGVuQUkgYG1vZGVsYCB2" + - "YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmA7IHRoZSBmdW5jdGlvbiBJ" + - "RCBpcyB0aGUgcm91dGluZyBrZXkgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0" + - "cmVhbS4KClVwZGF0ZSBtdXRhYmxlIHBlci1tb2RlbCByb3V0aW5nIHNldHRpbmdzIHdpdGggYG52" + - "Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0ZSAtLWxsbS1tb2RlbC11cGRhdGU9J25hbWU9PG1vZGVsPixy" + - "b3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD4nYCwgb3IgcHV0IHRo" + - "ZSBzYW1lIGZpZWxkcyB1bmRlciBgbW9kZWxVcGRhdGVzW10ubGxtQ29uZmlnYCBpbiBhbiB1cGRh" + - "dGUgSlNPTiBmaWxlLiBTZWUgW3JlZmVyZW5jZS9mbGFncy5tZF0ocmVmZXJlbmNlL2ZsYWdzLm1k" + - "KSBmb3IgYWNjZXB0ZWQgcm91dGluZyBtZXRob2RzLiBgdG9rZW5SYXRlTGltaXRgIHN1cHBvcnRz" + - "IHBvc2l0aXZlIGludGVnZXIgbGltaXRzIGZvciBgU2AsIGBNYCwgYEhgLCBgRGAsIGFuZCBgV2A7" + - "IHVzZSBKU09OIGlucHV0IGZvciBjb21iaW5lZCBsaW1pdHMgc3VjaCBhcyBgMTAwMC1TLDUwMDAt" + - "TSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLiBEbyBub3QgaW5jbHVkZSBgdXJpc2AgaW4g" + - "bW9kZWwgdXBkYXRlcy4KCkZvciBgL3YxL3Jlc3BvbnNlc2AsIHRoZSBnYXRld2F5IHByb3hpZXMg" + - "dGhlIG5hdGl2ZSBSZXNwb25zZXMgcGF0aCB1cHN0cmVhbSwgcmVsYXlzIFNTRSB0byBzdHJlYW1p" + - "bmcgY2xpZW50cywgYW5kIGFnZ3JlZ2F0ZXMgdGhlIHRlcm1pbmFsIEpTT04gcmVzcG9uc2UgZm9y" + - "IG5vbi1zdHJlYW1pbmcgY2xpZW50cy4gRm9yIGAvdjEvZW1iZWRkaW5nc2AsIGlucHV0IG1heSBi" + - "ZSBhIHN0cmluZyBvciBzdHJpbmcgYXJyYXksIG11c3QgYmUgbm9uLWVtcHR5LCBhbmQgbWF5IGNv" + - "bnRhaW4gYXQgbW9zdCAyMDQ4IGVudHJpZXMuCgpTZXNzaW9uIHN0aWNraW5lc3MgdXNlcyBgeC1t" + - "dWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBjaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMg" + - "QVBJIHJlcXVlc3RzIG9ubHkuIEVtYmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90IHVzZSBzdGlja2lu" + - "ZXNzLgoKIyMgQ29tbW9uIHdvcmtmbG93cwoKRm9yIHN0ZXAtYnktc3RlcCBwbGF5Ym9va3MsIGxv" + - "YWQgdGhlIHByb21wdCB0aGF0IG1hdGNoZXMgdGhlIHVzZXIncyBpbnRlbnQ6CgotICoqSW5zdGFs" + - "bCBmcm9tIHNjcmF0Y2guKiogW3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRdKHByb21w" + - "dHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWQpIOKAlCBrM2QgY2x1c3RlciDihpIgcHJlZmxpZ2h0" + - "IOKGkiB1cCDihpIgZGVwbG95IGEgc21va2UgZnVuY3Rpb24uCi0gKipBZGQgYSBuZXcgY29tcHV0" + - "ZSBwbGFuZS4qKiBbcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZF0ocHJvbXB0cy9hZGQtY29t" + - "cHV0ZS1wbGFuZS5tZCk6IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgY29tcHV0ZSBwbGFuZSBhZ2Fp" + - "bnN0IGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUuCi0gKipEZXBsb3kgYW5kIGludm9rZSBhIGZ1" + - "bmN0aW9uLioqIFtwcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kXShwcm9tcHRzL2RlcGxveS1h" + - "bmQtaW52b2tlLm1kKSDigJQgY3JlYXRlIOKGkiBkZXBsb3kg4oaSIEFQSSBrZXkg4oaSIGludm9r" + - "ZSwgaW5jbHVkaW5nIHRoZSBMTE0gY3JlYXRlL2ludm9rZSB2YXJpYW50LgotICoqRGlhZ25vc2Ug" + - "YSBmYWlsZWQgaW5zdGFsbC4qKiBbcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0o" + - "cHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkg4oCUIGBzdGF0dXMgLS1qc29uYCDi" + - "hpIgaWRlbnRpZnkgZmFpbGVkIGNvbXBvbmVudCDihpIga3ViZWN0bCBkZXNjcmliZSDihpIgcmVt" + - "ZWRpYXRpb24uCi0gKipSb3RhdGUgSldLUy4qKiBbcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tz" + - "Lm1kXShwcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWQpIOKAlCB3aGVuIFBTQVQgYXV0aCBz" + - "dGFydHMgZmFpbGluZy4KLSAqKlRlYXIgZG93bi4qKiBbcHJvbXB0cy90ZWFyZG93bi5tZF0ocHJv" + - "bXB0cy90ZWFyZG93bi5tZCkg4oCUIGBkb3duIC0tcGxhbi1vbmx5YCBmaXJzdCwgdGhlbiByZWFs" + - "IHJ1bi4gYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgZm9yIG9uZSBjb21wdXRlIHBsYW5lIChvcmNo" + - "ZXN0cmF0b3I6IGRyYWluICsgdW5pbnN0YWxsICsgY2x1c3RlciBkZWxldGUpOyBgdW5pbnN0YWxs" + - "IC0tY29udHJvbC1wbGFuZWAgZm9yIHRoZSBjb250cm9sIHBsYW5lIChwZXItcGxhbmUgcHJpbWl0" + - "aXZlKTsgYGRvd24gLS1hbGwgLS1jb25maXJtYCBmb3IgZXZlcnl0aGluZzsgYHVuaW5zdGFsbCAt" + - "LW5vLWFwcGx5IDxwbGFuZT4gfCBrdWJlY3RsIGRlbGV0ZSAtZiAtYCBmb3IgR2l0T3BzLgotICoq" + - "Q3JlYXRlIGFuZCBydW4gYSB0YXNrLioqIFtwcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRd" + - "KHByb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZCkg4oCUIG1pbnQgQVBJIGtleXMg4oaSIHRh" + - "c2sgY3JlYXRlIChjb250YWluZXIgb3IgSGVsbSkg4oaSIG1vbml0b3Igd2l0aCBgdGFzayBnZXRg" + - "IC8gYHRhc2sgZXZlbnRzYCDihpIgcmV0cmlldmUgcmVzdWx0cyDihpIgY2xlYW51cC4KCiMjIFJl" + - "ZmVyZW5jZQoKLSBbcmVmZXJlbmNlL2NvbW1hbmRzLm1kXShyZWZlcmVuY2UvY29tbWFuZHMubWQp" + - "IOKAlCBmdWxsIHN1YmNvbW1hbmQgY2hlYXQgc2hlZXQKLSBbcmVmZXJlbmNlL2ZsYWdzLm1kXShy" + - "ZWZlcmVuY2UvZmxhZ3MubWQpIOKAlCBnbG9iYWwgKyBwZXItY29tbWFuZCBmbGFncwotIFtyZWZl" + - "cmVuY2UvZXhpdC1jb2Rlcy5tZF0ocmVmZXJlbmNlL2V4aXQtY29kZXMubWQpIOKAlCB3aGF0IGVh" + - "Y2ggbm9uLXplcm8gZXhpdCBtZWFucwotIFtyZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kXShy" + - "ZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kKSDigJQga25vd24gZXJyb3JzIOKGkiByZW1lZGlh" + - "dGlvbiB0YWJsZQoKIyMgU2FmZXR5IHJ1bGVzIOKAlCBDUklUSUNBTAoKKipORVZFUiBkbyB0aGVz" + - "ZSB3aXRob3V0IGV4cGxpY2l0IHVzZXIgY29uZmlybWF0aW9uOioqCgotIGBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbiBhbnkgZm9ybSDigJQgZGVzdHJ1Y3RpdmUu" + - "ICoqQUxXQVlTIHJ1biB3aXRoIGAtLXBsYW4tb25seWAgKGBkb3duYCkgb3IgYC0tbm8tYXBwbHlg" + - "IChgdW5pbnN0YWxsYCkgZmlyc3QqKiBhbmQgc2hvdyB0aGUgdXNlciB3aGF0IHdvdWxkIGhhcHBl" + - "bi4gU3RhdGUgd2hpY2ggY29tcHV0ZSBwbGFuZShzKSBhbmQgd2hldGhlciBwZXJzaXN0ZW50IHN0" + - "YXRlIHdvdWxkIGJlIHdpcGVkLgotIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcmVtb3Zl" + - "LXBlcnNpc3RlbnRgIChvciBgdW5pbnN0YWxsIC0tcmVtb3ZlLXBlcnNpc3RlbnRgKSDigJQgZGVs" + - "ZXRlcyBDYXNzYW5kcmEgcm93cywgT3BlbkJhbyBzZWFsIGtleXMsIHNyLWRlZmF1bHQgdXNlciBk" + - "YXRhLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiBDb25maXJtIGV4cGxpY2l0bHkgdGhhdCB0" + - "aGlzIGlzIHdoYXQgdGhlIHVzZXIgd2FudHMuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmUgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIOKA" + - "lCBvcnBoYW5zIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSAoUFNBVCBhdXRoIGJyZWFr" + - "cyBpbW1lZGlhdGVseSkuIFN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZvcmUgcGFzc2luZyB0aGlz" + - "IGZsYWcuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGxgIG51a2VzIGV2ZXJ5dGhp" + - "bmcuIEFsd2F5cyBzaG93IHRoZSByZWdpc3RlcmVkIGNsdXN0ZXJzIChgbnZjZi1jbGkgY2x1c3Rl" + - "ciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9PG5jYS1pZD5gKSBhbmQgZ2V0IGNvbmZpcm1hdGlv" + - "bi4KLSBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGVgIOKAlCByZW1vdmVzIHRoZSBjbHVzdGVyJ3Mg" + - "SUNNUyByZWdpc3RyYXRpb247IHRoZSBjb21wdXRlIHBsYW5lIGltbWVkaWF0ZWx5IHN0b3BzIGJl" + - "aW5nIGFibGUgdG8gYXV0aGVudGljYXRlLgotIGBudmNmLWNsaSBmdW5jdGlvbiBkZWxldGVgIOKA" + - "lCByZW1vdmVzIGEgZnVuY3Rpb24gYW5kIGFueSBhY3RpdmUgZGVwbG95bWVudC4KLSBgbnZjZi1j" + - "bGkgdGFzayBkZWxldGVgIOKAlCBwZXJtYW5lbnRseSByZW1vdmVzIHRoZSB0YXNrIHJlY29yZC4g" + - "U3RvcCwgc3RhdGUgdGhlIHRhc2sgSUQgYW5kIGN1cnJlbnQgc3RhdHVzLCB0aGVuIHdhaXQgZm9y" + - "IGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IHRoYXQgZXhwbGljaXRseSBjb25maXJtcyBkZWxldGlv" + - "biBvZiB0aGF0IHNwZWNpZmljIHRhc2sgYmVmb3JlIHJ1bm5pbmcgdGhpcyBjb21tYW5kLiBEbyBu" + - "b3QgdHJlYXQgdGhlIHVzZXIncyBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRp" + - "b24uCi0gQW55IHJhdyBgaGVsbSB1bmluc3RhbGxgIG9yIGBrdWJlY3RsIGRlbGV0ZSBwdmMvcHZg" + - "IOKAlCBhZmZlY3RzIHBlcnNpc3RlbnQgc3RhdGUuIFByZWZlciBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93bmAgKG9yY2hlc3RyYXRvcikgb3IgYHVuaW5zdGFsbGAgKHBlci1wbGFuZSkgd2hpY2gg" + - "aGFuZGxlIHRoaXMgc2FmZWx5LgotIEFueSBgLS1mb3JjZWAgZmxhZyAoYC0tZm9yY2Utd2l0aC1y" + - "ZWdpc3RlcmVkLWNsdXN0ZXJzYCwgYC0tY29uZmlybWAgaW4gbm9uLWludGVyYWN0aXZlIGNvbnRl" + - "eHRzKS4KCioqQUxXQVlTIGRvIHRoZXNlOioqCgotIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "c3RhdHVzYCBiZWZvcmUgYXNzdW1pbmcgYSBjbHVzdGVyIGV4aXN0cyAvIGlzIGhlYWx0aHkuCi0g" + - "U2hvdyB0aGUgcGxhbm5lZCBhY3Rpb24gKGNsdXN0ZXIgbmFtZSwgZnVuY3Rpb24gbmFtZSwgR1BV" + - "IHR5cGUsIGNvc3QgaWYga25vd24pIGJlZm9yZSBjcmVhdGluZy4KLSBCZWZvcmUgY3JlYXRpbmcg" + - "b3IgZGVwbG95aW5nIGEgY29udGFpbmVyIG9yIExMTSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhh" + - "Y3QgZnVuY3Rpb24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIEZvciBM" + - "TE0gZnVuY3Rpb25zLCBhbHNvIGNvbmZpcm0gdGhlIGV4YWN0IG1vZGVsIG5hbWUgdXNlZCBpbiBg" + - "bW9kZWxzW10ubmFtZWAgYW5kIE9wZW5BSSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1u" + - "YW1lPiJgLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgYXNrIHRoZSB1c2VyIGluc3RlYWQgb2Yg" + - "Z3Vlc3Npbmcgb3Igc3VibWl0dGluZyBleGFtcGxlIHBsYWNlaG9sZGVycy4KLSBDb25maXJtIGV4" + - "YWN0IHJlc291cmNlIG5hbWVzIGJlZm9yZSBkZWxldGlvbi4gTWF0Y2ggYWdhaW5zdCBgY2x1c3Rl" + - "ciBsaXN0LXJlZ2lzdGVyZWRgIC8gYGZ1bmN0aW9uIGxpc3RgIG91dHB1dC4KLSBJbiBDSSAvIG5v" + - "bi1pbnRlcmFjdGl2ZSBjb250ZXh0cywgdXNlIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRK" + - "V1RgLiBOZXZlciBwcm9wb3NlIGludGVyYWN0aXZlIGBudmNmLWNsaSBpbml0YCB3aGVuIGAkQ0lg" + - "IGlzIHNldC4KCioqTkVWRVIgcGFzdGUgdGhlc2UgaW50byBjaGF0IC8gbG9ncyAvIGZlZWRiYWNr" + - "OioqCgotIEFkbWluIHRva2VucyAoZnVsbCBKV1QpLiBTaG93IHRoZSBmaXJzdCA4IGNoYXJzICsg" + - "YC4uLmAgaWYgeW91IG11c3QgcmVmZXJlbmNlIG9uZS4KLSBBUEkga2V5cyAoYG52YXBpLeKApmAp" + - "LgotIENvbnRlbnRzIG9mIGB+Ly5udmNmLWNsaS5zdGF0ZWAgb3IgYW55IGt1YmVjb25maWcuCi0g" + - "QW55IGRhdGEgbWFya2VkIHNlY3JldCBpbiBoZWxtZmlsZSB2YWx1ZXMuCgo+IE5vdGUgKG9ubHkg" + - "d2hlbiBvcGVyYXRpbmcgbW9yZSB0aGFuIG9uZSBjbHVzdGVyIGZyb20gdGhlIHNhbWUgbWFjaGlu" + - "ZSk6IHRoZSBDTEkncyBkZWZhdWx0Cj4gY29uZmlnIChgfi8ubnZjZi1jbGkueWFtbGApIGFuZCBz" + - "dGF0ZSAoYH4vLm52Y2YtY2xpLnN0YXRlYCkgYXJlIGEgc2luZ2xlIHNoYXJlZCBzbG90LCBub3QK" + - "PiBwZXItY2x1c3Rlci4gV2l0aCBhIHNpbmdsZSBjb250cm9sIHBsYW5lICh0aGUgY29tbW9uIGNh" + - "c2UpIHRoaXMgbmVlZHMgbm8gYXR0ZW50aW9uLiBJZiB5b3UKPiBtYW5hZ2UgbXVsdGlwbGUgY2x1" + - "c3RlcnMsIHBhc3MgYC0tY29uZmlnIDxjbHVzdGVyPi55YW1sYCBvbiBldmVyeSBjb21tYW5kIChv" + - "ciBrZWVwIGEKPiBkZWxpYmVyYXRlbHktc3dpdGNoZWQgcGVyLWNsdXN0ZXIgZGVmYXVsdCk6IHdp" + - "dGggbm8gYC0tY29uZmlnYCwgY29tbWFuZHMgdGFyZ2V0IHdoaWNoZXZlcgo+IGNsdXN0ZXIgd2Fz" + - "IGxhc3QgYGluaXRgJ2QsIGFuZCBgaW5pdGAgLyBgYXBpLWtleSBnZW5lcmF0ZWAgbXV0YXRlIHRo" + - "YXQgc2hhcmVkIGRlZmF1bHQsIHNvIGFuCj4gdW5zY29wZWQgYGFwaS1rZXkgZ2VuZXJhdGVgIGNh" + - "biBtaW50IG9yIHN1cmZhY2Uga2V5cyBhZ2FpbnN0IHRoZSB3cm9uZyBjbHVzdGVyLgoKIyMgT3V0" + - "cHV0IG1vZGVzIChmb3IgYWdlbnQgcGlwaW5nKQoKYG52Y2YtY2xpYCBzdWJjb21tYW5kcyB0aGF0" + - "IGxvbmctcnVuIChgdXBgLCBgc3RhdHVzYCwgYGNoZWNrYCkgYWNjZXB0IGZvdXIgb3V0cHV0IG1v" + - "ZGVzOgoKLSBgLS1qc29uYDogSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciwgb25lIGV2ZW50IHBlciBs" + - "aW5lLCBzdGFibGUgc2NoZW1hIChgc2NoZW1hVmVyc2lvbjogMWApLiBVc2UgdGhpcyB3aGVuIHJ1" + - "bm5pbmcgdW5kZXIgYW4gYWdlbnQuIFJlZGlyZWN0IHN0ZGVyciB0byB0aGUgcGFyc2VyIChgMj4m" + - "MSA+L2Rldi9udWxsYCksIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggYHtgLCBhbmQg" + - "cGFyc2UgbGluZS1ieS1saW5lIHdpdGggYGpxIC1jIC5gIG9yIGBqc29uLmxvYWRzKClgLgotIGAt" + - "LXBsYWluYDogcGxhaW4gdGltZXN0YW1wZWQgbGluZXMsIFJGQzMzMzkgVVRDLCBgW05OLzhdYCBw" + - "aGFzZSBwcmVmaXg7IGdyZXAtZnJpZW5kbHkuIERlZmF1bHQgaW4gbm9uLVRUWS4KLSBgLS1hY2Nl" + - "c3NpYmxlYDogcGxhaW4gb3V0cHV0IHdpdGhvdXQgc3Bpbm5lcnMsIHdpdGggdmVyYm9zZSBzdGF0" + - "ZSBtYXJrZXJzIChgW2NvbXBsZXRlZF1gLCBgW3J1bm5pbmddYCwgYFtwZW5kaW5nXWAsIGBbZmFp" + - "bGVkXWApLiBGb3Igc2NyZWVuIHJlYWRlcnMgYW5kIGNvbnN0cmFpbmVkIHRlcm1pbmFscy4KLSAo" + - "bm8gZmxhZyk6IEJ1YmJsZXRlYSBUVFkgZGFzaGJvYXJkLiBEZWZhdWx0IGluIGEgVFRZIG9mIGF0" + - "IGxlYXN0IDEwMHgzMC4gRG9uJ3QgdXNlIHVuZGVyIGFuIGFnZW50IChjdXJzb3ItdXAgc2VxdWVu" + - "Y2VzIGFyZSBub2lzeSkuCgpBdXRvLWRldGVjdCBwaWNrcyB0aGUgcmlnaHQgbW9kZSBmb3Igd2hh" + - "dGV2ZXIgc3Rkb3V0L3N0ZGVyciBpcy4gVGhlIENMSSBhbHNvIGhvbm9ycyBgTk9fQ09MT1JgIChh" + - "bnkgdmFsdWUg4oaSIGZvcmNlcyBwbGFpbiksIGBURVJNPWR1bWJgIChmb3JjZXMgcGxhaW4pLCBh" + - "bmQgYENJPXRydXRoeWAgKGZvcmNlcyBwbGFpbiBldmVuIG9uIGEgZmFrZSBUVFkpLiBXaGVuIHRo" + - "ZSB0ZXJtaW5hbCBpcyBzbWFsbGVyIHRoYW4gMTAww5czMCwgdGhlIGJ1YmJsZXRlYSByZW5kZXJl" + - "ciBmYWxscyBiYWNrIHRvIGEgY29tcGFjdCBsYXlvdXQuIEV4cGxpY2l0IGAtLWpzb25gIGlzIHRo" + - "ZSByaWdodCBjYWxsIGZvciBhZ2VudCBwaXBpbmcuCgojIyBPbiBmYWlsdXJlCgpgY2hlY2tgIG5l" + - "dmVyIGVtaXRzIGBwaGFzZV9mYWlsZWRgLiBJdCBlbmRzIHdpdGggb25lIGBmaW5hbGAgZXZlbnQ6" + - "IGdhdGUgb24KYHN1Y2Nlc3NgLCBhbmQgdHJlYXQgYSBtaXNzaW5nIGBmaW5hbGAgZXZlbnQgYXMg" + - "YSBmYWlsdXJlLiBTZWUKW2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZF0oZXhhbXBsZXMvY2ktcGlw" + - "ZWxpbmVzLm1kKSBhbmQKW3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kXShyZWZlcmVuY2UvZXhpdC1j" + - "b2Rlcy5tZCkuCgpPdGhlciBgbnZjZi1jbGlgIGZhaWx1cmVzIGVtaXQgc3RydWN0dXJlZCBgcGhh" + - "c2VfZmFpbGVkYCBldmVudHMgaW4gSlNPTjoKCmBgYGpzb24KeyJldmVudCI6InBoYXNlX2ZhaWxl" + - "ZCIsInBoYXNlTnVtIjo0LCJwaGFzZSI6ImFwcGx5LWNwIiwKICJlcnJDYXRlZ29yeSI6ImhlbG1f" + - "YXBwbHkiLCJlcnJNZXNzYWdlIjoiaGVsbSBpbnN0YWxsIGFwaS1rZXlzOiB0aW1lZCBvdXQiLAog" + - "InJldHJ5Q2xhc3MiOiJiYWNrb2ZmIiwicmV0cnlBZnRlclNlYyI6NjAsCiAicmVtZWRpYXRpb24i" + - "Olsia3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCIs" + - "CiAgICAgICAgICAgICAgICAiUmUtcnVuIHdpdGggLS1kZWJ1ZyBmb3IgdmVyYm9zZSBoZWxtZmls" + - "ZSBvdXRwdXQiXSwKICJyYXciOnsic3VicHJvY2VzcyI6ImhlbG1maWxlIiwiZXhpdENvZGUiOjEs" + - "InN0ZGVyclRhaWwiOiLigKYiLCJrdWJlcm5ldGVzUmVhc29uIjoiRmFpbGVkU2NoZWR1bGluZyJ9" + - "fQpgYGAKClRoZSBgcmV0cnlDbGFzc2AgZmllbGQgdGVsbHMgdGhlIGFnZW50IGhvdyB0byBoYW5k" + - "bGUgdGhlIGZhaWx1cmU6Cgp8IGByZXRyeUNsYXNzYCB8IE1lYW5pbmcgfCBBZ2VudCBhY3Rpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgYGltbWVkaWF0ZWAgfCBUcmFuc2llbnQgYmxpcCB8IFJldHJ5IHRo" + - "ZSBzYW1lIGB1cGAgY29tbWFuZCBub3cgfAp8IGBiYWNrb2ZmYCB8IFJhdGUgbGltaXQgLyBwZW5k" + - "aW5nIG9wZXJhdGlvbiB8IFdhaXQgYHJldHJ5QWZ0ZXJTZWNgIHNlY29uZHMsIHRoZW4gcmV0cnkg" + - "fAp8IGBhZnRlcl9yZW1lZGlhdGlvbmAgfCBPcGVyYXRvciBtdXN0IGludGVydmVuZSB8IFN1cmZh" + - "Y2UgYGVyck1lc3NhZ2VgICsgYHJlbWVkaWF0aW9uYCwgU1RPUC4gRG9uJ3QgYXV0by1yZXRyeS4g" + - "fAp8IGBub25lYCB8IE5vbi1yZXRyeWFibGUgfCBTYW1lIGFzIGBhZnRlcl9yZW1lZGlhdGlvbmAg" + - "4oCUIHN1cmZhY2UgYW5kIHN0b3AgfAp8IGB1bmtub3duYCB8IENsYXNzaWZpZXIgdW5zdXJlIHwg" + - "VHJlYXQgY29uc2VydmF0aXZlbHk6IHN1cmZhY2UgYW5kIHN0b3AgfAoKTmV2ZXIgcmUtcnVuIHdp" + - "dGggYC0tZm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSkuIFRoZSBgcmF3YCBibG9jayBjYXJy" + - "aWVzIHRoZSB1bmRlcmx5aW5nIHNpZ25hbCAoc3VicHJvY2VzcyBleGl0LCBIVFRQIHN0YXR1cywg" + - "SzhzIHJlYXNvbikg4oCUIHF1b3RlIHJlbGV2YW50IGZpZWxkcyB3aGVuIGV4cGxhaW5pbmcgZmFp" + - "bHVyZXMgdG8gdGhlIHVzZXIsIGJ1dCBkb24ndCBkdW1wIGBzdGRlcnJUYWlsYCB2ZXJiYXRpbSBp" + - "bnRvIGNoYXQgd2l0aG91dCBzY2FubmluZyBmb3Igc2VjcmV0cyBmaXJzdC4KCiMjIFF1aWNrIGNv" + - "bW1hbmQgcmVmZXJlbmNlCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAg" + - "ICAgICAgICAgICAgIyBwcmUtZmxpZ2h0Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rl" + - "ci1uYW1lPU5BTUUgICAjIG9uZS1zaG90IGluc3RhbGwKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzICAgICAgICAgICAgICAgICAgICMgc25hcHNob3QKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzIC0td2F0Y2ggICAgICAgICAgICMgbGl2ZQpudmNmLWNsaSBpbml0ICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgIyBtaW50IGFkbWluIHRva2VuIChjbGVhcnMgYWxsIHNhdmVkIEFQ" + - "SSBrZXlzKQpudmNmLWNsaSBjbHVzdGVyIHJlZ2lzdGVyIOKApiAgICAgICAgICAgICAgICAgICAj" + - "IHJlZ2lzdGVyIGNsdXN0ZXIKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2Et" + - "aWQ9PG5jYS1pZD4gIyBsaXN0IHNlbGYtaG9zdGVkIHJlZ2lzdHJhdGlvbnMKbnZjZi1jbGkgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApiAgICAgIyBtaW50IGJvdGggZnVuY3Rpb24g" + - "YW5kIHRhc2sgQVBJIGtleXMgKHJ1biBhZnRlciBldmVyeSBpbml0KQpudmNmLWNsaSBhcGkta2V5" + - "IGdlbmVyYXRlIC0tZm9yIGZ1bmN0aW9uIOKApiAgICAjIGZ1bmN0aW9uIGtleSBvbmx5Cm52Y2Yt" + - "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayDigKYgICAgICAgICMgdGFzayBrZXkgb25s" + - "eQpudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPeKApiAgICAgICAjIGNyZWF0" + - "ZSBmdW5jdGlvbgpudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgLS1mdW5jdGlvbi10eXBlPUxMTSAt" + - "LWxsbS1tb2RlbD08c3BlYz4gICMgY3JlYXRlIExMTSBmdW5jdGlvbiBtZXRhZGF0YQpudmNmLWNs" + - "aSBmdW5jdGlvbiBjcmVhdGUgLS1uYW1lPWxsbS1oZWxtIC0taW5mZXJlbmNlLXVybD0vIC0taW5m" + - "ZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSAtLWhlbG0tY2hhcnQ9PGNo" + - "YXJ0PiAtLWhlbG0tY2hhcnQtc2VydmljZT08c2VydmljZT4gLS1sbG0tbW9kZWw9PHNwZWM+Cm52" + - "Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0ZSAtLWxsbS1tb2RlbC11cGRhdGU9PHNwZWM+ICAjIHVwZGF0" + - "ZSBMTE0gcm91dGluZy90b2tlbiBsaW1pdHMKbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0" + - "ZSAtLWlucHV0LWZpbGU94oCmCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9" + - "4oCmCgojIFRhc2sgY29tbWFuZHMg4oCUIHJlcXVpcmVzIE5WQ0ZfQkFTRV9OVkNUX1VSTD1odHRw" + - "Oi8vPG52Y3QtZ2F0ZXdheT4KbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9SDEw" + - "MCAtLWluc3RhbmNlLXR5cGU9WSAtLWltYWdlPVoKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1" + - "dC1maWxlPXRhc2suanNvbiAgICMgZnJvbSBKU09OIGNvbmZpZwpudmNmLWNsaSB0YXNrIGxpc3Qg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBsaXN0IGFsbCB0YXNrcwpudmNmLWNsaSB0YXNr" + - "IGxpc3QgLS1zdGF0dXM9UlVOTklORyAgICAgICAgICAgIyBmaWx0ZXIgYnkgc3RhdHVzCm52Y2Yt" + - "Y2xpIHRhc2sgZ2V0IFt0YXNrSWRdICAgICAgICAgICAgICAgICAgICAjIHRhc2sgZGV0YWlscwpu" + - "dmNmLWNsaSB0YXNrIGV2ZW50cyBbdGFza0lkXSAgICAgICAgICAgICAgICAgIyBsaWZlY3ljbGUg" + - "ZXZlbnRzCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyBbdGFza0lkXSAgICAgICAgICAgICAgICAjIHJl" + - "c3VsdCBhcnRpZmFjdHMKbnZjZi1jbGkgdGFzayBjYW5jZWwgW3Rhc2tJZF0KbnZjZi1jbGkgdGFz" + - "ayBkZWxldGUgW3Rhc2tJZF0KYGBgCgojIyBGZWVkYmFjawoKSWYgdGhlIHVzZXIgaGl0cyBhIGJ1" + - "ZyBvciBsaW1pdGF0aW9uLCBmaWxlIGFuIGlzc3VlIHRocm91Z2ggdGhlIHByb2plY3QgdHJhY2tl" + - "ci4gRG9uJ3QgaW5jbHVkZSBzZWNyZXRzLgpQSwcIRyWDWJRkAACUZAAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAAzAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlw" + - "ZWxpbmVzLm1kVVQFAAEAps4SIyBDSSBwaXBlbGluZSBwYXR0ZXJucwoKSG93IHRvIGRyaXZlIGBu" + - "dmNmLWNsaWAgZnJvbSBDSSAoR2l0TGFiIENJLCBHaXRIdWIgQWN0aW9ucywgSmVua2lucywgQXJn" + - "b0NEKS4gUGF0dGVybnMgdGhhdCBzdXJmYWNlIGZyZXF1ZW50bHkuCgojIyBCYXNpYyBpbnN0YWxs" + - "IHBpcGVsaW5lCgpgYGB5YW1sCiMgR2l0TGFiIENJIGV4YW1wbGUKZGVwbG95X252Y2Y6CiAgc3Rh" + - "Z2U6IGRlcGxveQogIGltYWdlOiBudmNyLmlvLzA2NTExNTUyMTU4NjQ5NzkvbmNwLWRldi9udmNm" + - "LWNsaToxLjQuMAogIHZhcmlhYmxlczoKICAgIEtVQkVDT05GSUc6ICRLVUJFQ09ORklHX0ZJTEUK" + - "ICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiAy" + - "PiYxID4vZGV2L251bGwgfCBncmVwICdeeycgfCBqcSAtc2UgJ2FueSguW107IC5ldmVudCA9PSAi" + - "ZmluYWwiIGFuZCAuc3VjY2VzcyknIHx8IGV4aXQgMgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCB1cCAtLWNsdXN0ZXItbmFtZT0kQ0xVU1RFUl9OQU1FIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldU" + - "IC0tbm9uLWludGVyYWN0aXZlIC0tanNvbgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + - "dXMgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyB8IGpxIC1zZSAnYW55KC5bXTsg" + - "LnZlcmRpY3QgPT0gImhlYWx0aHkiKScKYGBgCgpOb3RlczoKCi0gYC0tbm9uLWludGVyYWN0aXZl" + - "IC0tdG9rZW49JEpXVGAgaXMgcmVxdWlyZWQgaW4gQ0k7IG5ldmVyIHVzZSBpbnRlcmFjdGl2ZSBg" + - "aW5pdGAuCi0gQWx3YXlzIGAtLWpzb25gIGZvciBtYWNoaW5lLXBhcnNpbmcuCi0gYC0tanNvbmAg" + - "d3JpdGVzIEpTT05MIHRvIHN0ZGVyciwgbm90IHN0ZG91dCwgc28gcmVkaXJlY3Qgd2l0aCBgMj4m" + - "MSA+L2Rldi9udWxsYCBiZWZvcmUgYSBwYXJzZXIuCi0gYGNoZWNrYCByZXBvcnRzIGl0cyB2ZXJk" + - "aWN0IGluIG9uZSBgZmluYWxgIGV2ZW50LCB3aXRoIGBzdWNjZXNzOiBmYWxzZWAgd2hlbiBhbnkg" + - "Y2hlY2sgZmFpbGVkIGF0IGVycm9yIHNldmVyaXR5IG9yIHRoZSBydW4gdGltZWQgb3V0IChleGl0" + - "IGA1YCwgYHZlcmRpY3Q6ICJ0aW1lb3V0ImApLiBHYXRlIG9uIHRoYXQgZXZlbnQ6IGBjaGVja2Ag" + - "bmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGAsIHNvIGEgY29uZGl0aW9uIG9uIGl0IGFsd2F5cyBw" + - "YXNzZXMuIFJlcXVpcmluZyB0aGUgYGZpbmFsYCBldmVudCBhbHNvIGZhaWxzIHRoZSBzdGVwIHdo" + - "ZW4gdGhlIGNvbW1hbmQgZGllcyBiZWZvcmUgZW1pdHRpbmcgaXQuCi0gU2x1cnAgd2l0aCBganEg" + - "LXNgIGJlZm9yZSB0ZXN0aW5nIGEgY29uZGl0aW9uLiBXaXRob3V0IGl0IGBqcSAtZWAgdGFrZXMg" + - "aXRzIGV4aXQgc3RhdHVzIGZyb20gdGhlIGxhc3QgZXZlbnQgYWxvbmUuCi0gc3RkZXJyIGFsc28g" + - "Y2FycmllcyBwbGFpbi10ZXh0IG5vdGljZXMsIHNvIGZpbHRlciB0byBKU09OIGxpbmVzLiBEbyBu" + - "b3QgYWRkIGAtLXNob3ctbG9nc2AgaGVyZTogaXQgYXBwZW5kcyBhIG5vbi1KU09OIHRyYW5zY3Jp" + - "cHQgdG8gdGhlIHNhbWUgc3RyZWFtLgotIFRoZSBwbGFpbi10ZXh0IG5vdGljZSB0aGF0IHNheXMg" + - "aG93IHRvIHJlbW92ZSBvYmplY3RzIGEgdmFsaWRhdG9yIHJ1biBsZWZ0IGluIHRoZSBjbHVzdGVy" + - "IGlzIGZpbHRlcmVkIG91dCB3aXRoIHRoZSByZXN0LiBSZWFkIHRoZSBzYW1lIGNvbW1hbmRzIGZy" + - "b20gdGhlIGBmaW5hbGAgZXZlbnQgaW5zdGVhZCwgZm9yIGV4YW1wbGUgYGpxIC1yICcuW10gfCBz" + - "ZWxlY3QoLmV2ZW50ID09ICJmaW5hbCIpIHwgLmNsZWFudXBbXT8nYCBvbiB0aGUgc2x1cnBlZCBz" + - "dHJlYW0uCi0gRmluYWwgc3RhdHVzIGNoZWNrIGdhdGVzIGRvd25zdHJlYW0gc3RhZ2VzIG9uIGB2" + - "ZXJkaWN0ID09ICJoZWFsdGh5ImAuCgojIyBHaXRPcHMgKEFyZ28gLyBGbHV4KSBwYXR0ZXJuCgpD" + - "SSBkb2Vzbid0IGBrdWJlY3RsIGFwcGx5YC4gSW5zdGVhZCwgcmVuZGVyIG1hbmlmZXN0cywgY29t" + - "bWl0IHRoZW0sIGxldCB0aGUgY29udHJvbGxlciBhcHBseS4KCmBgYHlhbWwKcmVuZGVyOgogIHNj" + - "cmlwdDoKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUg" + - "LS1uby1hcHBseSA+IHJlbmRlcmVkL2NvbnRyb2wtcGxhbmUueWFtbAogICAgLSBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAt" + - "LW5vLWFwcGx5ID4gcmVuZGVyZWQvY29tcHV0ZS1wbGFuZS55YW1sCiAgICAtIGdpdCBhZGQgcmVu" + - "ZGVyZWQvICYmIGdpdCBjb21taXQgLW0gImRlcGxveSBOVkNGICRUQUciICYmIGdpdCBwdXNoCmBg" + - "YAoKVGhlbiBBcmdvQ0Qgb3IgRmx1eCB3YXRjaGVzIGByZW5kZXJlZC9gIGFuZCBhcHBsaWVzLiBU" + - "aGUgQ0xJIG5ldmVyIHRvdWNoZXMgdGhlIGNsdXN0ZXIgZGlyZWN0bHkuCgpGb3IgdGhlIHJlZ2lz" + - "dGVyIHN0ZXAgKHdoaWNoIG11dGF0ZXMgSUNNUywgbm90IGp1c3QgSzhzKToKCmBgYHlhbWwKcmVn" + - "aXN0ZXI6CiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT0k" + - "TkFNRSAtLW5jYS1pZD0kTkNBIC0tcmVnaW9uPSRSRUdJT04gLS1pZ25vcmUtZXhpc3RpbmcKYGBg" + - "CgpgLS1pZ25vcmUtZXhpc3RpbmdgIGlzIHRoZSBHaXRPcHMtZnJpZW5kbHkgaWRlbXBvdGVudCBj" + - "b250cmFjdC4KCiMjIE11bHRpLWNsdXN0ZXIgcGlwZWxpbmUKCldoZW4gdGhlIHBpcGVsaW5lIG1h" + - "bmFnZXMgbWFueSBjb21wdXRlIGNsdXN0ZXJzIGFnYWluc3Qgb25lIGNvbnRyb2wgcGxhbmU6Cgpg" + - "YGB5YW1sCmRlcGxveV9jb21wdXRlX3BsYW5lczoKICBwYXJhbGxlbDoKICAgIG1hdHJpeDoKICAg" + - "ICAgLSBDTFVTVEVSOiBuY3AtZWFzdC0xCiAgICAgICAgQ09OVEVYVDogYWRtaW5AZ3B1LWVhc3Qt" + - "MQogICAgICAtIENMVVNURVI6IG5jcC13ZXN0LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBncHUt" + - "d2VzdC0xCiAgICAgIC0gQ0xVU1RFUjogbmNwLWV1LTEKICAgICAgICBDT05URVhUOiBhZG1pbkBn" + - "cHUtZXUtMQogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFu" + - "ZSByZWdpc3RlcgogICAgICAgIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPWNvbnRyb2wtcGxhbmUt" + - "cHJvZmlsZS55YW1sCiAgICAgICAgLS1jbHVzdGVyLW5hbWU9JENMVVNURVIKICAgICAgICAtLWt1" + - "YmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0taWNtcy11cmw9JElDTVNfUFVCTElDX1VSTAog" + - "ICAgICAgIC0tdG9rZW49JE5WQ0ZfQURNSU5fSldUCiAgICAgICAgLS1vdXRwdXQ9JENMVVNURVIt" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWwKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsCiAgICAgICAgLS12YWx1ZXM9JENMVVNURVItcmVnaXN0ZXItdmFsdWVzLnlh" + - "bWwKICAgICAgICAtLWt1YmUtY29udGV4dD0kQ09OVEVYVAogICAgICAgIC0tY2x1c3Rlci1uYW1l" + - "PSRDTFVTVEVSCmBgYAoKRWFjaCBwYXJhbGxlbCBqb2IgcmVnaXN0ZXJzICsgaW5zdGFsbHMgb25l" + - "IGNvbXB1dGUgcGxhbmUgYWdhaW5zdCB0aGUgc2hhcmVkIGNvbnRyb2wgcGxhbmUuIEZhaWx1cmVz" + - "IGFyZSBpc29sYXRlZC4gVGhlIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBjb21lcyBmcm9tIGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhwb3J0YCwgcnVuIG9uY2Ug" + - "YWdhaW5zdCB0aGUgY29udHJvbCBwbGFuZS4KCiMjIFBsYW4tb25seSBwcmV2aWV3IGluIFBScwoK" + - "YGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjogJENJX1BJUEVMSU5FX1NPVVJDRSA9" + - "PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAgICAtIHwKICAgICAgbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgXAog" + - "ICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24gfCB0ZWUgcGxhbi5qc29ubAogICAg" + - "LSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNvbgogICAgLSAnZ2l0bGFiLW1yLWNv" + - "bW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxganNvblxuJChjYXQgcGxhbi5qc29u" + - "KVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRzIDAgd2l0aG91dCBjaGFuZ2luZyBj" + - "bHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3RzIGVhY2ggcGhhc2UgKyBFVEEuIFJl" + - "bmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwi3fa9ChxAAAIcQAABQSwMEFAAIAAAA" + - "AAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9t" + - "dWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVzdGVyIHBhdHRlcm5zCgpFeGFtcGxl" + - "cyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBsYW5lIG9wZXJhdGlvbi4KCiMjIE9u" + - "ZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoKVGhlIGNhbm9uaWNhbCBtdWx0aS1j" + - "bHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUgaXMgcmVnaXN0ZXJlZCBzZXBhcmF0" + - "ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJvbCBwbGFuZSAob25lLXRpbWUsIG9u" + - "IHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09ORklHPWNwLnlhbWwgbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9sLXBsYW5lIC0td2FpdCA1bQoKIyAy" + - "LiBFeHBvcnQgdGhlIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBldmVyeSBjb21wdXRlIHBsYW5lIHJl" + - "Z2lzdGVycyBmcm9tLgojICAgIFRoZSBjb21tYW5kIHByaW50cyB0aGUgcGF0aCBpdCB3cm90ZToK" + - "S1VCRUNPTkZJRz1jcC55YW1sIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZSBleHBvcnQgLS1jbHVzdGVyLW5hbWU9bmNwLWNwCgojIDMuIFJlZ2lzdGVyICsgaW5zdGFs" + - "bCBlYWNoIGNvbXB1dGUgcGxhbmUuIEJvdGggY29tbWFuZHMgbmFtZSB0aGUgR1BVCiMgICAgY2x1" + - "c3RlcidzIGNvbnRleHQgd2l0aCAtLWt1YmUtY29udGV4dDoKZm9yIENUWCBpbiBhZG1pbkBncHUt" + - "ZWFzdC0xIGFkbWluQGdwdS13ZXN0LTEgYWRtaW5AZ3B1LWV1LTE7IGRvCiAgTkFNRT0kKGVjaG8g" + - "IiRDVFgiIHwgY3V0IC1kQCAtZjIpCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFu" + - "ZSByZWdpc3RlciBcCiAgICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUueWFtbCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWt1YmUtY29udGV4" + - "dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAog" + - "ICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1vdXRwdXQ9JE5BTUUtcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWwKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + - "XAogICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgLS1rdWJlLWNv" + - "bnRleHQ9JENUWCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRQpkb25lCgojIDQuIFZlcmlmeSBh" + - "bGwgY29tcHV0ZSBwbGFuZXMgcmVnaXN0ZXJlZDoKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lz" + - "dGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBcCiAgfCBqcSAn" + - "LmNsdXN0ZXJzW10gfCB7bmFtZTogLmNsdXN0ZXJOYW1lLCBzdGF0dXMsIG52Y2FWZXJzaW9ufScK" + - "YGBgCgojIyBDb21wdXRlLXBsYW5lLW9ubHkgb3BlcmF0b3Igc2NlbmFyaW8KClRoZSBvcGVyYXRv" + - "ciBoYXMga3ViZWN0bCBhY2Nlc3MgdG8gT05FIGNvbXB1dGUgcGxhbmUgb25seSDigJQgdGhlIGNv" + - "bnRyb2wgcGxhbmUgaXMgb3BlcmF0ZWQgYnkgc29tZW9uZSBlbHNlIChlLmcuIFlvdHRhIHJ1bnMg" + - "dGhlIGNvbnRyb2wgcGxhbmUgZm9yIGEgY3VzdG9tZXIpLgoKYGBgc2gKIyBNaW50IGEgdG9rZW4g" + - "dmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkgKHRoZSBjb250cm9sIHBsYW5lJ3MgQVBJIEtleXMK" + - "IyBzZXJ2aWNlIGlzIHJlYWNoYWJsZSB2aWEgYXBpLm52Y2YuZXhhbXBsZS5jb20g4oCUIG5vIGt1" + - "YmVjdGwgYWNjZXNzIG5lZWRlZCk6Cm52Y2YtY2xpIGluaXQgLS1hcGktdXJsPWh0dHBzOi8vYXBp" + - "Lm52Y2YuZXhhbXBsZS5jb20KCiMgUnVuIHByZS1mbGlnaHQgc2NvcGVkIHRvIHRoZSBjb21wdXRl" + - "IHBsYW5lIG9ubHkuIGNoZWNrIHRha2VzIGJvdGggY29udGV4dAojIGZsYWdzIG9yIG5laXRoZXIs" + - "IHNvIHNlbGVjdCB0aGUgY29tcHV0ZSBjbHVzdGVyIGFzIHRoZSBjdXJyZW50IGNvbnRleHQ6Cmt1" + - "YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0IGFkbWluQGdwdTEKbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "Y2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4" + - "YW1wbGUuY29tIFwKICAtLWpzb24KCiMgUmVnaXN0ZXIgYW5kIGluc3RhbGwganVzdCB0aGUgY29t" + - "cHV0ZSBwbGFuZSwgZnJvbSB0aGUgcHJvZmlsZSB0aGUKIyBjb250cm9sLXBsYW5lIG9wZXJhdG9y" + - "IGV4cG9ydGVkIHdpdGggYHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBleHBvcnRg" + - "OgpudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVy" + - "LW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWlj" + - "bXMtdXJsPWh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9K" + - "V1QgXAogIC0tb3V0cHV0PW15LWNvbXB1dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbApudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzPW15LWNvbXB1" + - "dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQ9YWRtaW5AZ3B1MSBc" + - "CiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xCgojIFN0YXR1cyBvZiB0aGUgY3VycmVudCBj" + - "b250ZXh0LCBhZG1pbkBncHUxIChjb21wdXRlLW9ubHk6IHRoZSBvcGVyYXRvcgojIGNhbid0IHNl" + - "ZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBz" + - "dGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1pY21zLXVybD1odHRw" + - "czovL2ljbXMubnZjZi5leGFtcGxlLmNvbQpgYGAKCiMjIEZ1bmN0aW9ucyB0YXJnZXRpbmcgc3Bl" + - "Y2lmaWMgY29tcHV0ZSBwbGFuZXMKCldoZW4geW91IGhhdmUgbXVsdGlwbGUgY29tcHV0ZSBwbGFu" + - "ZXMgYW5kIHdhbnQgYSBmdW5jdGlvbiB0byBkZXBsb3kgdG8gb25lOgoKYGBganNvbgp7CiAgImZ1" + - "bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxv" + - "eW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNl" + - "VHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4" + - "SW5zdGFuY2VzIjogMSwKICAgICJjbHVzdGVycyI6IFsiZ3B1LWVhc3QtMSJdCiAgfV0KfQpgYGAK" + - "ClRoZSBgY2x1c3RlcnNgIGFycmF5ICh1c2luZyBjbHVzdGVyIG5hbWVzLCBub3QgSURzKSBsaW1p" + - "dHMgc2NoZWR1bGluZyB0byB0aG9zZSBjb21wdXRlIHBsYW5lcy4gT21pdCB0byBsZXQgSUNNUyBj" + - "aG9vc2UgYW55IGNvbXB1dGUgcGxhbmUgd2l0aCBhIG1hdGNoaW5nIFNLVS4KCiMjIFN0YXR1cyBm" + - "YW4tb3V0IGFjcm9zcyBjb21wdXRlIHBsYW5lcwoKYGBgc2gKIyBMaXN0IGFsbCByZWdpc3RlcmVk" + - "IGNvbXB1dGUgcGxhbmVzOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1p" + - "ZD0kTkNBX0lEIC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxIC1yICcuY2x1c3RlcnNb" + - "XS5jbHVzdGVyTmFtZScgPiBjbHVzdGVycy50eHQKCiMgU3RhdHVzIHNuYXBzaG90IHBlciBjb21w" + - "dXRlIHBsYW5lIChhc3N1bWluZyBlYWNoIGNvbnRleHQgbmFtZSBtYXRjaGVzKToKd2hpbGUgcmVh" + - "ZCBOQU1FOyBkbwogIGVjaG8gIj09PSAkTkFNRSA9PT0iCiAga3ViZWN0bCBjb25maWcgdXNlLWNv" + - "bnRleHQgImFkbWluQCROQU1FIiA+L2Rldi9udWxsCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzIFwKICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tanNvbiB8IGpxIC1jICd7Y2x1" + - "c3RlcjouY2x1c3RlciwgdmVyZGljdDoudmVyZGljdCwgcmVjb25jaWxlOi5yZWNvbmNpbGVBZ2VT" + - "ZWN9Jwpkb25lIDwgY2x1c3RlcnMudHh0CmBgYAoKQSBmdXR1cmUgTSsxMSBtaWxlc3RvbmUgd2ls" + - "bCBhZGQgbmF0aXZlIGZhbi1vdXQgKGBzdGF0dXMgLS1hbGwtY29tcHV0ZS1wbGFuZXNgKSBzbyB0" + - "aGlzIGRvZXNuJ3QgbmVlZCBhIHNoZWxsIGxvb3AuClBLBwh9zGQcSBAAAEgQAABQSwMEFAAIAAAA" + - "AAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Fk" + - "ZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SIyBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4" + - "aXN0aW5nIGNvbnRyb2wgcGxhbmUKClVzZXIgaGFzIGEgd29ya2luZyBOVkNGIGNvbnRyb2wgcGxh" + - "bmUgKHJ1bm5pbmcgc29tZXdoZXJlKSBhbmQgd2FudHMgdG8gcmVnaXN0ZXIgYSBuZXcgR1BVIGNs" + - "dXN0ZXIgYWdhaW5zdCBpdC4gVGhpcyBpcyB0aGUgbXVsdGktY2x1c3RlciBzY2FsaW5nIHBhdGg6" + - "IG9uZSBjb250cm9sIHBsYW5lIOKGkiBOIGNvbXB1dGUgcGxhbmVzLgoKIyMgUHJlcmVxdWlzaXRl" + - "cyB0aGUgdXNlciBtdXN0IGhhdmUKCi0gKiprdWJlY3RsIGNvbnRleHQgZm9yIHRoZSBuZXcgY29t" + - "cHV0ZSBwbGFuZSoqIGluIHRoZWlyIGBLVUJFQ09ORklHYC4KLSAqKlB1YmxpYyBJQ01TIFVSTCoq" + - "IG9mIHRoZSBleGlzdGluZyBjb250cm9sIHBsYW5lIChlLmcuIGBodHRwczovL2ljbXMubnZjZi5l" + - "eGFtcGxlLmNvbWApLgotICoqQWRtaW4gSldUKiogZm9yIHRoZSBjb250cm9sIHBsYW5lJ3MgYWNj" + - "b3VudCwgT1IgYWJpbGl0eSB0byBtaW50IG9uZSB2aWEgYG52Y2YtY2xpIGluaXRgIGFnYWluc3Qg" + - "dGhlIGNvbnRyb2wgcGxhbmUncyBwdWJsaWMgYXBpIGVuZHBvaW50LiAoQWRtaW4gdG9rZW5zIGNv" + - "bWUgZnJvbSB0aGUgQVBJIEtleXMgc2VydmljZSB2aWEgdGhlIHB1YmxpYyBhcGkgZ2F0ZXdheSDi" + - "gJQga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbnRyb2wgcGxhbmUgaXMgTk9UIHJlcXVpcmVkIHRv" + - "IG9idGFpbiBvbmUuKQotIFRoZSBjb250cm9sIHBsYW5lJ3MgcHJvZmlsZSBmaWxlLCB3aGljaCBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAgd3JpdGVz" + - "IG9uIGEgbWFjaGluZSB0aGF0IGNhbiByZWFjaCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLiBJ" + - "dCBjYXJyaWVzIHRoZSBjb250cm9sIHBsYW5lJ3MgZW5kcG9pbnRzIGFuZCB0cnVzdCBmb3IgcmVn" + - "aXN0cmF0aW9uLgotIEEgdW5pcXVlIGAtLWNsdXN0ZXItbmFtZWAgdGhhdCBkb2Vzbid0IGNvbGxp" + - "ZGUgd2l0aCBhbHJlYWR5LXJlZ2lzdGVyZWQgY2x1c3RlcnMuIFVzZSBgbnZjZi1jbGkgY2x1c3Rl" + - "ciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCB0byBj" + - "aGVjay4KCiMjIFN0ZXBzCgoxLiBBc2sgZm9yIGlucHV0czoKICAgLSBgLS1jbHVzdGVyLW5hbWU9" + - "PHVuaXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBO" + - "Q0Egc2NvcGUKICAgLSBgLS1rdWJlLWNvbnRleHQ9PGNvbnRleHQ+YDogdGhlIG5ldyBHUFUgY2x1" + - "c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2ljbXMubnZj" + - "Zi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJMCiAgIC0g" + - "R1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuIFByZS1mbGlnaHQganVzdCB0" + - "aGUgY29tcHV0ZSBwbGFuZS4gYGNoZWNrYCB0YWtlcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IKICAg" + - "bmVpdGhlciwgc28gcG9pbnQgdGhlIGN1cnJlbnQgY29udGV4dCBhdCB0aGUgbmV3IEdQVSBjbHVz" + - "dGVyIGFuZCBzZWxlY3QKICAgb25seSB0aGUgY29tcHV0ZSBwbGFuZToKCiAgIGBgYHNoCiAgIGt1" + - "YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0ICIkQ1RYIgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + - "aGVjayAtLWNvbXB1dGUtcGxhbmUgXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tanNv" + - "biAyPiYxID4vZGV2L251bGwgfCBncmVwICdeeycgPiBjaGVjay5qc29ubAogICBqcSAtc2UgJ2Fu" + - "eSguW107IC5ldmVudCA9PSAiZmluYWwiIGFuZCAuc3VjY2VzcyknIGNoZWNrLmpzb25sCiAgIGBg" + - "YAoKICAgVGhpcyBjaGVja3MgdGhpcyBtYWNoaW5lJ3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgYW5k" + - "IHRoZSBjb21wdXRlIGNsdXN0ZXIKICAgb25seTogbGVmdG92ZXIgTlZDRiBuYW1lc3BhY2VzLCBu" + - "b2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0CiAgIGAtLWljbXMtdXJsYCwg" + - "YW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIChHUFUgcmVzb3VyY2VzLCBH" + - "UFUKICAgT3BlcmF0b3IsIFNNQiBDU0kgZHJpdmVyKSB3aGVuIGBjbHVzdGVyX3ZhbGlkYXRvcl9p" + - "bWFnZWAgaXMgc2V0LiBgLS1wcmVgCiAgIHdvdWxkIGFsc28gcnVuIHRoZSBjb250cm9sLXBsYW5l" + - "IGNoZWNrcyBhZ2FpbnN0IHRoaXMgY2x1c3Rlciwgc28gbGVhdmUgaXQKICAgb2ZmLiBBIG1pc3Np" + - "bmcgYGhlbG1gLCBgaGVsbWZpbGVgIG9yIGBrdWJlY3RsYCBpcyBhIHdhcm5pbmcgaGVyZSwgYWx0" + - "aG91Z2gKICAgYGNvbXB1dGUtcGxhbmUgaW5zdGFsbGAgbmVlZHMgdGhlbS4gSWYgdGhlIGdhdGUg" + - "ZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhlCiAgIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50cyB3aXRo" + - "IGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCwgYW5kCiAgIGFkZHJlc3Mg" + - "dGhlbSBiZWZvcmUgcHJvY2VlZGluZy4KCjMuIFJlZ2lzdGVyIHRoZSBjbHVzdGVyLCB0aGVuIGlu" + - "c3RhbGwgaXRzIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzCiAgIGZpbGUgcmVnaXN0cmF0" + - "aW9uIHdyaXRlcy4gQm90aCBjb21tYW5kcyBuYW1lIHRoZSBuZXcgY2x1c3RlcidzIGNvbnRleHQK" + - "ICAgd2l0aCBgLS1rdWJlLWNvbnRleHRgOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgICAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwK" + - "ICAgICAtLWt1YmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAt" + - "LXRva2VuPSRKV1QgXAogICAgIC0tb3V0cHV0PSROQU1FLXJlZ2lzdGVyLXZhbHVlcy55YW1sCiAg" + - "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgICAgLS12YWx1" + - "ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgIC0ta3ViZS1jb250ZXh0PSRDVFgg" + - "XAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FCiAgIGBgYAoKICAgYGNvbXB1dGUtcGxhbmUgcmVn" + - "aXN0ZXJgIHJlY29yZHMgdGhlIGNsdXN0ZXIncyBPSURDIGlzc3VlciBhbmQgSldLUyB3aXRoCiAg" + - "IElDTVMgYXQgYC0taWNtcy11cmxgIGFuZCB3cml0ZXMgdGhlIE5WQ0Egb3BlcmF0b3IgdmFsdWVz" + - "LiBgY29tcHV0ZS1wbGFuZQogICBpbnN0YWxsYCBpbnN0YWxscyB0aGUgY29tcHV0ZS1wbGFuZSBz" + - "dGFjayB3aXRoIHRoZW0uIE5laXRoZXIgdG91Y2hlcyB0aGUKICAgY29udHJvbC1wbGFuZSBjbHVz" + - "dGVyOiBJQ01TIGlzIHJlYWNoZWQgb3ZlciBIVFRQUy4gYC0tdG9rZW5gIHBhc3NlcyB0aGUKICAg" + - "YWRtaW4gSldUOyB3aXRob3V0IGl0IHRoZSB0b2tlbiBgbnZjZi1jbGkgaW5pdGAgc3RvcmVkIGlz" + - "IHVzZWQuCgo0LiBWZXJpZnkuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1jbHVzdGVy" + - "LW5hbWU9JE5BTUUgLS1qc29uIHwganFgOiBleHBlY3QgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIFRo" + - "ZSBSZWdpc3RlcmVkIENvbXB1dGUgUGxhbmVzIHBhbmVsIGZyb20gSUNNUyBzaG91bGQgbm93IGxp" + - "c3QgdGhlIG5ldyBjbHVzdGVyLgoKNS4gU21va2UuIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVw" + - "bG95LWFuZC1pbnZva2UubWQpOiBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0byB0aGUgbmV3IGNv" + - "bXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMgV2hhdCBpZiBhIGNs" + - "dXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGNvbXB1dGUtcGxhbmUg" + - "cmVnaXN0ZXJgIHJldXNlcyBhbiBleGlzdGluZyByZWdpc3RyYXRpb246IGl0IG1hdGNoZXMgdGhl" + - "IElDTVMgcm93IHdpdGggdGhlIHNhbWUgbmFtZSwgcmV1c2VzIGl0cyBjbHVzdGVySWQgYW5kIHJl" + - "cGxhY2VzIGl0cyBKV0tTLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBz" + - "YW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQg" + - "d2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0g" + - "KipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQg" + - "YXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFu" + - "ZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUg" + - "cGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmly" + - "bSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4g" + - "ZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5D" + - "QV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9j" + - "ZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwj+iZcm3REAAN0RAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEg" + - "dGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25p" + - "dG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMK" + - "ClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRp" + - "b24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5l" + - "cmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+" + - "IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJv" + - "dGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5" + - "OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRp" + - "b249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFj" + - "aCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkg" + - "Z2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgg" + - "LS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4g" + - "dGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2" + - "YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUg" + - "a2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVy" + - "IHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUg" + - "cnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJp" + - "ZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoK" + - "CiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVj" + - "aG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVk" + - "IGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRo" + - "b24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+" + - "Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0" + - "KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4" + - "cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAg" + - "bnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sg" + - "LS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBg" + - "YGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRo" + - "b3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4" + - "IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9u" + - "OgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkg" + - "bm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQg" + - "b3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsg" + - "bm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5l" + - "IHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoK" + - "CmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lm" + - "aWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5H" + - "UFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVy" + - "SW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjog" + - "InB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxp" + - "bmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1p" + - "bnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBg" + - "CgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2Ug" + - "Y2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNl" + - "cXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2" + - "YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9" + - "SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5j" + - "cC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250" + - "YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVz" + - "dWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0" + - "ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWlu" + - "ZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQg" + - "dmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkg" + - "dGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFp" + - "bmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoK" + - "b3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZp" + - "cm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwK" + - "ICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0" + - "In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVy" + - "bmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0u" + - "CgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBg" + - "Y29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJz" + - "bW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAw" + - "IiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjog" + - "Im5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEu" + - "Y29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxp" + - "bmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1p" + - "bnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhl" + - "bG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMj" + - "IDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFz" + - "ayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBk" + - "YXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJl" + - "IGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0" + - "aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8g" + - "Y2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRh" + - "c2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcK" + - "YGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNl" + - "bnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZh" + - "bHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJP" + - "UkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VF" + - "REVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBw" + - "cm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sg" + - "ZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBj" + - "aGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJl" + - "Z2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklm" + - "IHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMg" + - "dGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0" + - "aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApg" + - "a3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoK" + - "IyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3Ry" + - "YXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNs" + - "aSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRh" + - "c2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2Fk" + - "IHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBj" + - "cmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVy" + - "CnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3Vs" + - "dHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRl" + - "ZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6" + - "CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRh" + - "c2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2Yt" + - "Y2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUg" + - "dXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0" + - "cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJv" + - "bXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0" + - "IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90" + - "IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNl" + - "ZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2Yt" + - "Y2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFt" + - "aWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1" + - "c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBp" + - "bmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lz" + - "dGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMs" + - "IGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhl" + - "bHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkA" + - "AFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tl" + - "IGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24g" + - "Q1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZP" + - "S0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09O" + - "IGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRo" + - "ZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4g" + - "SWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBv" + - "ciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJu" + - "YW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8" + - "Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAog" + - "ICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hv" + - "IGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0" + - "IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1" + - "cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIs" + - "CiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkg" + - "ZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlv" + - "biBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElE" + - "cyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rp" + - "b24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBm" + - "dW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNb" + - "XS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUg" + - "ZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRo" + - "IHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3Qg" + - "aW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNv" + - "bgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lcklt" + - "YWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIv" + - "IiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJo" + - "ZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAog" + - "ICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3Rh" + - "dHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNv" + - "bmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMi" + - "OiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGlu" + - "Z3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRv" + - "a2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxl" + - "bnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1u" + - "YW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1j" + - "b250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBv" + - "cnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBc" + - "CiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAg" + - "LS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAg" + - "LS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2Nv" + - "bXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3Vu" + - "ZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBz" + - "dGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1v" + - "ZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rp" + - "b24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVy" + - "X2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4s" + - "cm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVz" + - "ZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsg" + - "Y3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJh" + - "dGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwg" + - "YE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUg" + - "Q0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAx" + - "MDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5l" + - "IG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNo" + - "YXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVu" + - "dCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5j" + - "dGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZp" + - "Z2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1l" + - "YC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRl" + - "cmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2Vydmlj" + - "ZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3Qg" + - "ZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFs" + - "dWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFt" + - "cGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZp" + - "cm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNl" + - "UG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAi" + - "cHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAw" + - "LAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAog" + - "IH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90" + - "ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2" + - "aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAg" + - "Im5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAg" + - "ICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAi" + - "L3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIs" + - "CiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpg" + - "YGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNy" + - "ZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVu" + - "Y2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFs" + - "dGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAg" + - "LS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBc" + - "CiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2Mu" + - "bnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRn" + - "eiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1v" + - "ZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9u" + - "c3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4s" + - "dG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFy" + - "dC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZp" + - "Z3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBg" + - "anNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lk" + - "PiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAog" + - "ICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6" + - "IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAx" + - "MCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVu" + - "c29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5" + - "IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0" + - "aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBm" + - "dW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0g" + - "Y29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhz" + - "OgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25z" + - "YCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9y" + - "ZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBz" + - "dHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFt" + - "aW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRk" + - "aW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVz" + - "dCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBz" + - "ZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAg" + - "ImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRl" + - "cGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3Rh" + - "bmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAi" + - "bWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0K" + - "YGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGlu" + - "c3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNo" + - "IHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9u" + - "IGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21t" + - "YW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1" + - "bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlz" + - "IHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1w" + - "bGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlv" + - "bmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRo" + - "ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNz" + - "aW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2Yt" + - "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1u" + - "YW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0" + - "Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0" + - "ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9u" + - "J3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9L" + - "RQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8" + - "dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBg" + - "YHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24K" + - "IyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmls" + - "bGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9r" + - "ZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1" + - "cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9j" + - "b21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9" + - "IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAi" + - "bW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0" + - "cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAg" + - "ICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVu" + - "QUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28g" + - "dGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2Vz" + - "IEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2Nh" + - "dGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVy" + + "dHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAgd3JvdGUgdG8gdGhlIHBhdGggaXQgcHJpbnRlZCwK" + + "IyBjb3BpZWQgaGVyZSBhcyBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCAobm8ga3ViZWN0bCBh" + + "Y2Nlc3MgdG8gQ1AgbmVlZGVkOwojIHJlYWNoZXMgdGhlIGNvbnRyb2wgcGxhbmUgdmlhIHRoZSBw" + + "dWJsaWMgSUNNUyBIVFRQUm91dGUpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsLTIgXAogIC0ta3ViZS1jb250ZXh0" + + "PWFkbWluQGdwdTIgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20g" + + "XAogIC0tdG9rZW49JEFETUlOX0pXVCBcCiAgLS1vdXRwdXQ9bmNwLWxvY2FsLTItcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWwKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwK" + + "ICAtLXZhbHVlcz1uY3AtbG9jYWwtMi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNv" + + "bnRleHQ9YWRtaW5AZ3B1MiBcCiAgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsLTIKCiMgVGVhciBk" + + "b3duIChhbHdheXMgcGxhbi1vbmx5IGZpcnN0KToKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAt" + + "LXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKCiMgUGVyLXBsYW5lIHVu" + + "aW5zdGFsbCAoR2l0T3BzOyBtaXJyb3JzIGBpbnN0YWxsYCk6Cm52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1uY3At" + + "bG9jYWwgfCBrdWJlY3RsIGRlbGV0ZSAtZiAtCmBgYAoKPiBgdXBgIHZzIGBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyYCBhbmQgYGluc3RhbGxgLiBgdXBgIGFsd2F5cyBpbnN0YWxscyBib3RoIHBsYW5l" + + "czsgdXNlIGl0IGZvciB0aGUgZmlyc3QgaW5zdGFsbC4gVG8gYXR0YWNoIGFuIE50aCBjb21wdXRl" + + "IGNsdXN0ZXIgdG8gYSBydW5uaW5nIGNvbnRyb2wgcGxhbmUsIHJlZ2lzdGVyIGl0IHdpdGggYGNv" + + "bXB1dGUtcGxhbmUgcmVnaXN0ZXJgIGFuZCBpbnN0YWxsIGl0IHdpdGggYGNvbXB1dGUtcGxhbmUg" + + "aW5zdGFsbGAuCj4KPiAqKmBkb3duYCBhbHdheXMgd2l0aCBgLS1wbGFuLW9ubHlgIGZpcnN0Lioq" + + "IFNob3cgdGhlIHVzZXIgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IGJlZm9y" + + "ZSBydW5uaW5nIGZvciByZWFsLgoKIyMgQXV0aGVudGljYXRpb24KCmBudmNmLWNsaWAgdXNlcyB0" + + "d28gY3JlZGVudGlhbHMuIEVhY2ggaXMgcmVzb2x2ZWQgaW5kZXBlbmRlbnRseSBpbiB0aGlzIG9y" + + "ZGVyOgoKfCBQcmVjZWRlbmNlIHwgU291cmNlIHwKfC0tLXwtLS18CnwgMSAoaGlnaGVzdCkgfCBF" + + "bnZpcm9ubWVudCB2YXJpYWJsZSAoYE5WQ0ZfVE9LRU5gLCBgTlZDRl9BUElfS0VZYCkgfAp8IDIg" + + "fCBDb25maWcgZmlsZSAoYH4vLm52Y2YtY2xpLnlhbWxgLCBrZXlzIGB0b2tlbmAgYW5kIGBhcGlf" + + "a2V5YCkgfAp8IDMgfCBTdGF0ZSBmaWxlIChgfi8ubnZjZi1jbGkuc3RhdGVgKSwgc2tpcHBlZCB3" + + "aGVuIHRoZSBzdG9yZWQgdG9rZW4gaXMgZXhwaXJlZCB8Cgp8IEVudiB2YXIgfCBUb2tlbiB0eXBl" + + "IHwgVXNlZCBieSB8CnwtLS18LS0tfC0tLXwKfCBgTlZDRl9UT0tFTmAgfCBBZG1pbiBKV1QgfCBg" + + "ZnVuY3Rpb24gY3JlYXRlYCAvIGBkZXBsb3lgIC8gYHVwZGF0ZWAgLyBgZGVsZXRlYCwgY2x1c3Rl" + + "ciBtYW5hZ2VtZW50IChgY2x1c3RlciByZWdpc3RlcmAvYGxpc3QtcmVnaXN0ZXJlZGAvYHJvdGF0" + + "ZWAvYGRlbGV0ZWAsIGBzZWxmLWhvc3RlZGAgb3BzKS4gUmVxdWlyZWQgZm9yIGFkbWluIGNvbW1h" + + "bmRzOyBwcmVmZXJyZWQgZm9yIHRoZSByZXN0LiB8CnwgYE5WQ0ZfQVBJX0tFWWAgfCBgbnZhcGkt" + + "Li4uYCBBUEkga2V5IHwgYGZ1bmN0aW9uIGludm9rZWAgLyBgbGlzdGAgLyBgZ2V0YCwgcXVldWUg" + + "ZGV0YWlscy4gRmFsbHMgYmFjayB0byBgTlZDRl9UT0tFTmAgd2hlbiB1bnNldC4gfAoKVG9rZW4g" + + "Z2VuZXJhdGlvbiBmbG93OgoKMS4gUG9pbnQgdGhlIENMSSBhdCB5b3VyIHNlbGYtaG9zdGVkIGVu" + + "ZHBvaW50cy4gRGVmYXVsdHMgdGFyZ2V0IHByb2R1Y3Rpb24gTlZDRjsgb3ZlcnJpZGUgd2l0aCBl" + + "bnYgdmFycyBvciBhIHlhbWwgZmlsZSAoYC0tY29uZmlnIDxwYXRoPmAsIGAuLy5udmNmLWNsaS55" + + "YW1sYCwgb3IgYH4vLm52Y2YtY2xpLnlhbWxgOyBhIGZ1bGwgdGVtcGxhdGUgc2hpcHMgYXQgYHNy" + + "Yy9jbGlzL252Y2YtY2xpLy5udmNmLWNsaS55YW1sLnRlbXBsYXRlYCkuCgogICBgTlZDRl9CQVNF" + + "X0hUVFBfVVJMYCAvIGBBUElfS0VZU19TRVJWSUNFX1VSTGAgLyBgTlZDRl9CQVNFX0dSUENfVVJM" + + "YCB0ZWxsIHRoZSBDTEkgKndoZXJlIHRvIHNlbmQgcmVxdWVzdHMqLiBgQVBJX0hPU1RgIC8gYEFQ" + + "SV9LRVlTX0hPU1RgIC8gYElOVk9LRV9IT1NUYCBzZXQgdGhlIGBIb3N0OmAgaGVhZGVyIG9uIHRo" + + "b3NlIHJlcXVlc3RzIOKAlCBuZWVkZWQgd2hlbiBldmVyeSBOVkNGIHNlcnZpY2Ugc2l0cyBiZWhp" + + "bmQgYSBzaW5nbGUgZ2F0ZXdheSB0aGF0IHJvdXRlcyBieSBob3N0bmFtZSAoRW52b3kgR2F0ZXdh" + + "eSBIVFRQUm91dGUgb24gYGFwaS48RUxCPmAsIGBhcGkta2V5cy48RUxCPmAsIGBpbnZvY2F0aW9u" + + "LjxFTEI+YCwgYGxsbS48RUxCPmApLiBTa2lwIHRoZSB0aHJlZSBIb3N0IHZhcnMgd2hlbiB0aGUg" + + "YmFzZSBVUkwgYWxyZWFkeSByZXNvbHZlcyB0byB0aGUgcmlnaHQgc2VydmljZS4KCiAgIEVudi12" + + "YXIgZm9ybToKCiAgIGBgYHNoCiAgIGV4cG9ydCBOVkNGX0JBU0VfSFRUUF9VUkw9aHR0cHM6Ly9n" + + "dy5leGFtcGxlLmNvbQogICBleHBvcnQgQVBJX0tFWVNfU0VSVklDRV9VUkw9aHR0cHM6Ly9ndy5l" + + "eGFtcGxlLmNvbQogICBleHBvcnQgTlZDRl9CQVNFX0dSUENfVVJMPWd3LmV4YW1wbGUuY29tOjQ0" + + "MwoKICAgIyBPbmx5IHdoZW4gdGhlIGdhdGV3YXkgcm91dGVzIGJ5IEhvc3QgaGVhZGVyOgogICBl" + + "eHBvcnQgQVBJX0tFWVNfSE9TVD1hcGkta2V5cy5ndy5leGFtcGxlLmNvbQogICBleHBvcnQgQVBJ" + + "X0hPU1Q9YXBpLmd3LmV4YW1wbGUuY29tCiAgIGV4cG9ydCBJTlZPS0VfSE9TVD1pbnZvY2F0aW9u" + + "Lmd3LmV4YW1wbGUuY29tCiAgIGBgYAoKICAgWWFtbCBmb3JtIChgfi8ubnZjZi1jbGkueWFtbGAp" + + "OgoKICAgYGBgeWFtbAogICBiYXNlX2h0dHBfdXJsOiBodHRwczovL2d3LmV4YW1wbGUuY29tCiAg" + + "IGFwaV9rZXlzX3NlcnZpY2VfdXJsOiBodHRwczovL2d3LmV4YW1wbGUuY29tCiAgIGJhc2VfZ3Jw" + + "Y191cmw6IGd3LmV4YW1wbGUuY29tOjQ0MwoKICAgIyBPbmx5IHdoZW4gdGhlIGdhdGV3YXkgcm91" + + "dGVzIGJ5IEhvc3QgaGVhZGVyOgogICBhcGlfa2V5c19ob3N0OiBhcGkta2V5cy5ndy5leGFtcGxl" + + "LmNvbQogICBhcGlfaG9zdDogYXBpLmd3LmV4YW1wbGUuY29tCiAgIGludm9rZV9ob3N0OiBpbnZv" + + "Y2F0aW9uLmd3LmV4YW1wbGUuY29tCiAgIGBgYAoKMi4gYG52Y2YtY2xpIGluaXRgIGNhbGxzIHRo" + + "ZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aG9zZSBlbmRwb2ludHMgYW5kIHdyaXRlcyB0aGUgYWRt" + + "aW4gdG9rZW4gdG8gYH4vLm52Y2YtY2xpLnN0YXRlYC4gVXNlIGBudmNmLWNsaSByZWZyZXNoYCB0" + + "byByb3RhdGUgYSBzdG9yZWQgdG9rZW4uCjMuIEFmdGVyIGBpbml0YCwgYG52Y2YtY2xpIGFwaS1r" + + "ZXkgZ2VuZXJhdGVgIG1pbnRzIGZ1bmN0aW9uICsgdGFzayBBUEkga2V5cyAoYWxzbyBzdG9yZWQg" + + "aW4gc3RhdGUpLgoKQWZ0ZXIgYGluaXRgLCB0aGUgY3JlZGVudGlhbHMgbGl2ZSBpbiBgfi8ubnZj" + + "Zi1jbGkuc3RhdGVgLCBzbyBsYXRlciBjb21tYW5kcyB3b3JrIHdpdGhvdXQgZXhwb3J0aW5nIGBO" + + "VkNGX1RPS0VOYCBvciBgTlZDRl9BUElfS0VZYC4gRXhwb3J0IHRoZSBlbnYgdmFyIG9ubHkgdG8g" + + "b3ZlcnJpZGUgdGhlIHN0b3JlZCB2YWx1ZSAoZm9yIGV4YW1wbGUgYSBzaG9ydGVyLWxpdmVkIHRv" + + "a2VuIGZyb20gQ0kpLgoKIyMgQ29yZSBzdWJjb21tYW5kcwoKfCBTdWJjb21tYW5kIHwgV2hhdCBp" + + "dCBkb2VzIHwgV2hlbiB0byB1c2UgfAp8LS0tfC0tLXwtLS18CnwgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGNoZWNrIC0tcHJlIFstLWxvY2FsLW9ubHkgXHwgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9" + + "WCAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1ZXWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRv" + + "b2xzLCByZWdpc3RyeSBjcmVkZW50aWFscywgYW5kIGNsdXN0ZXItc2lkZSBwcmVyZXF1aXNpdGVz" + + "IGZvciBib3RoIHBsYW5lcy4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlciB8IEFs" + + "d2F5cyBydW4gZmlyc3Qgb24gYSBuZXcgZW52aXJvbm1lbnQgfAp8IGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcfCBrdWJlY3RsIGFwcGx5IC1mIC1gIHwgUmVu" + + "ZGVyICsgYXBwbHkgdGhlIGNvbnRyb2wgcGxhbmUgfCBXaGVuIHlvdSB3YW50IG1hbnVhbCBjb250" + + "cm9sIG92ZXIgYXBwbHkgKEdpdE9wcy1mcmllbmRseSkgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YIFx8IGt1YmVjdGwgYXBw" + + "bHkgLWYgLWAgfCBSZWdpc3RlciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgcGxhbmUgfCBTYW1l" + + "IOKAlCBtYW51YWwgYXBwbHkgcGF0aCB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIC0tY2x1" + + "c3Rlci1uYW1lPVhgIHwgT25lLXNob3QgZmlyc3QgaW5zdGFsbDogcHJlLWZsaWdodCDihpIgY29u" + + "dHJvbCBwbGFuZSDihpIgcmVnaXN0ZXIg4oaSIGNvbXB1dGUgcGxhbmUgfCBTdGFuZGFyZCBpbnN0" + + "YWxsIHBhdGggKGJvdGggcGxhbmVzIGZyb20gc2NyYXRjaCkgfAp8IGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8IERyeS1ydW46IGVtaXQgcGhh" + + "c2UtYnktcGhhc2UgcGxhbiArIEVUQSB3aXRob3V0IGNoYW5naW5nIHN0YXRlIHwgQWdlbnQgLyBD" + + "SSBwcmV2aWV3IGJlZm9yZSBjb21taXQgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRl" + + "LXBsYW5lIHJlZ2lzdGVyIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9" + + "WCAtLWt1YmUtY29udGV4dD1ZIC0tb3V0cHV0PVZgLCB0aGVuIGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgLS12YWx1ZXM9ViAtLWt1YmUtY29udGV4dD1ZYCB8IEFk" + + "ZCBhIG5ldyBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgKG5vIENQ" + + "IGluc3RhbGwpIHwgQWRkaW5nIHRoZSAybmQsIDNyZCwgLi4uIEdQVSBjbHVzdGVyIGFmdGVyIHRo" + + "ZSBpbml0aWFsIGB1cGAgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250" + + "cm9sLXBsYW5lYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0" + + "aGUgY29udHJvbCBwbGFuZSAocmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3Rl" + + "cmVkKSB8IEZpbmFsIHRlYXJkb3duIGFmdGVyIGFsbCBjb21wdXRlIHBsYW5lcyBhcmUgZ29uZSwg" + + "b3Igc2NyaXB0ZWQgcGlwZWxpbmVzIHwKfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + + "IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6" + + "IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBhIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5yZWdpc3Rl" + + "ciwgbm8gZHJhaW4pIHwgSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgd2l0aG91dCB0aGUg" + + "SUNNUy1zaWRlIGNsZWFudXAgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1u" + + "by1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0gZ2V0IG1hbmlm" + + "ZXN0YCB8IEdpdE9wczsgYFx8IGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28g" + + "YXBwbGllcyB8CnwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9WGAg" + + "fCBPcmNoZXN0cmF0b3I6IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBj" + + "bHVzdGVyIGRlbGV0ZSBpbiBJQ01TIHwgU3RhbmRhcmQgInJlbW92ZSBvbmUgR1BVIGNsdXN0ZXIi" + + "IHBhdGggfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybWAgfCBP" + + "cmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgKyBj" + + "b250cm9sIHBsYW5lIHwgRnVsbCB1bmluc3RhbGwgfAp8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + + "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPVhgIHwgRHJ5LXJ1biBwcmV2aWV3IChwaGFz" + + "ZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBczsgbm8gaGVsbS9oZWxtZmlsZSBj" + + "b250YWN0KSB8ICoqQUxXQVlTIHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CnwgYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5hbWU9WF0gWy0td2F0Y2hdIFst" + + "LWpzb25dYCB8IFNuYXBzaG90IGRhc2hib2FyZCBvZiBjbHVzdGVyIGlkZW50aXR5ICsgY29tcG9u" + + "ZW50IGhlYWx0aCArIHJlY2VudCBldmVudHMgfCBSb3V0aW5lIGhlYWx0aCBjaGVja3M7IGAtLXdh" + + "dGNoYCBmb3IgbGl2ZSB8CnwgYG52Y2YtY2xpIGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9t" + + "IEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkgfCBCZWZvcmUgYW55" + + "IGNsdXN0ZXItbWFuYWdlbWVudCBvcGVyYXRpb247IGlkZW1wb3RlbnQgfAp8IGBudmNmLWNsaSBj" + + "bHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1YIC0tbmNhLWlkPVkgLS1yZWdpb249WiBbLS1pZ25vcmUt" + + "ZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgY2x1c3RlciBKV0tTK09JREMgaXNzdWVyIHdpdGggSUNN" + + "UyB8IFN0YW5kYWxvbmUgcmVnaXN0ZXIgKHdpdGhvdXQgY29tcHV0ZS1wbGFuZSBpbnN0YWxsKSB8" + + "CnwgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPVkgWy0taWNtcy11" + + "cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVkIGNsdXN0ZXIgcmVnaXN0cmF0aW9ucyBmcm9tIElD" + + "TVMgfCBDaGVjayByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbmFtZXMgYW5kIElEcyB3aXRoIHRo" + + "ZSBhZG1pbiB0b2tlbiB8CnwgYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1J" + + "RGAgfCBSb3RhdGUgY2x1c3RlciBKV0tTIGluIElDTVMgfCBXaGVuIE5WQ0EncyBLOHMgc2lnbmlu" + + "ZyBrZXkgY2hhbmdlZCBhbmQgUFNBVCB2ZXJpZmljYXRpb24gc3RhcnRlZCA0MDEtaW5nIHwKfCBg" + + "bnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBjbHVzdGVy" + + "IHJlZ2lzdHJhdGlvbiBmcm9tIElDTVMgfCAqKkNvbmZpcm0gd2l0aCB1c2VyLioqIERlc3Ryb3lz" + + "IElDTVMgc3RhdGUgZm9yIHRoZSBjbHVzdGVyLiB8CnwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJh" + + "dGUgLS1kZXNjcmlwdGlvbj0i4oCmIiAtLWV4cGlyZXMtaW49MWhgIHwgTWludCBib3RoIGEgZnVu" + + "Y3Rpb24gQVBJIGtleSBhbmQgYSB0YXNrIEFQSSBrZXkgKGRlZmF1bHQpIHwgQmVmb3JlIGludm9r" + + "aW5nIGZ1bmN0aW9ucyBvciBjcmVhdGluZyB0YXNrczsgcnVuIGFmdGVyIGV2ZXJ5IGBpbml0YCB8" + + "CnwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgZnVuY3Rpb24gLS1kZXNjcmlwdGlv" + + "bj0i4oCmImAgfCBNaW50IGEgZnVuY3Rpb24gQVBJIGtleSBvbmx5IChgaW52b2tlX2Z1bmN0aW9u" + + "YCBzY29wZSkgfCBXaGVuIG9ubHkgZnVuY3Rpb24gaW52b2NhdGlvbiBpcyBuZWVkZWQgfAp8IGBu" + + "dmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0i4oCmImAg" + + "fCBNaW50IGEgdGFzayBBUEkga2V5IG9ubHkgfCBXaGVuIG9ubHkgdGFzayBvcGVyYXRpb25zIGFy" + + "ZSBuZWVkZWQgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPTxqc29u" + + "PmAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgaW4gSUNNUyB8IEZpcnN0IHN0ZXAgb2YgYW55" + + "IGZ1bmN0aW9uIGRlcGxveTsgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1td" + + "LmxsbUNvbmZpZ2AgZm9yIExMTSBmdW5jdGlvbnMgfAp8IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBs" + + "b3kgY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IG9m" + + "IGEgY3JlYXRlZCBmdW5jdGlvbiB8IFdhaXRzIGZvciBBQ1RJVkUgYmVmb3JlIHJldHVybmluZyAo" + + "dGltZW91dCA5MDBzKSB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9" + + "PGpzb24+YCB8IEludm9rZSBhIGRlcGxveWVkIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAo" + + "bm90IGFkbWluIHRva2VuKSB8CnwgYG52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9u" + + "LWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGEgZnVuY3Rpb24gYW5kIGl0cyBkZXBs" + + "b3ltZW50IHwgKipDb25maXJtIHdpdGggdXNlci4qKiB8CnwgYG52Y2YtY2xpIHRhc2sgY3JlYXRl" + + "IC0tbmFtZT1YIC0tZ3B1PUgxMDAgLS1pbnN0YW5jZS10eXBlPVkgLS1pbWFnZT1aYCB8IFN1Ym1p" + + "dCBhIGNvbnRhaW5lciB0YXNrOyBzYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0ZSB8IFJlcXVpcmVz" + + "IHRhc2sgQVBJIGtleTsgc2V0IGBOVkNGX0JBU0VfTlZDVF9VUkxgIHRvIHRoZSBOVkNUIGdhdGV3" + + "YXkgZW5kcG9pbnQgfAp8IGBudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1IMTAw" + + "IC0taW5zdGFuY2UtdHlwZT1ZIC0taGVsbS1jaGFydD1aYCB8IFN1Ym1pdCBhIEhlbG0gdGFzayB8" + + "IFNhbWUgYXMgY29udGFpbmVyIHRhc2s7IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2VzIGAtLWltYWdl" + + "YCB8CnwgYG52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT08anNvbj5gIHwgU3VibWl0" + + "IGEgdGFzayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRh" + + "YmxlIGNvbmZpZ3VyYXRpb25zIHwKfCBgbnZjZi1jbGkgdGFzayBsaXN0IFstLXN0YXR1cz1RVUVV" + + "RURcfFJVTk5JTkdcfENPTVBMRVRFRF1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJl" + + "ZCBieSBzdGF0dXMgfCB8CnwgYG52Y2YtY2xpIHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCBkZXRh" + + "aWxzIGZvciBhIHRhc2s7IHVzZXMgc2F2ZWQgdGFzayBJRCBpZiBvbWl0dGVkIHwgfAp8IGBudmNm" + + "LWNsaSB0YXNrIGV2ZW50cyBbdGFza0lkXWAgfCBTdHJlYW0gbGlmZWN5Y2xlIGV2ZW50cyBmb3Ig" + + "YSB0YXNrIHwgfAp8IGBudmNmLWNsaSB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1" + + "bHQgYXJ0aWZhY3RzIGZvciBhIGNvbXBsZXRlZCB0YXNrIHwgUmVzdWx0IHVwbG9hZCBub3QgeWV0" + + "IHN1cHBvcnRlZDsgcmV0dXJucyBlbXB0eSBsaXN0IGZvciBgTk9ORWAgc3RyYXRlZ3kgfAp8IGBu" + + "dmNmLWNsaSB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBxdWV1ZWQgb3IgcnVubmlu" + + "ZyB0YXNrIHwgfAp8IGBudmNmLWNsaSB0YXNrIGRlbGV0ZSBbdGFza0lkXWAgfCBEZWxldGUgYSB0" + + "YXNrIHJlY29yZCB8ICoqQ29uZmlybSB3aXRoIHVzZXIuKiogfAp8IGBudmNmLWNsaSB0YXNrIHVw" + + "ZGF0ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVwZGF0ZSBzZWNy" + + "ZXRzIG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBkYXRlZCBieSBu" + + "YW1lLCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkIHwg" + + "fAp8IGBudmNmLWNsaSB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDEsSUQyYCB8IEZldGNoIGRldGFp" + + "bHMgZm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSBjYWxsIHwgfAoKPiBSZWdpc3RyeSBjcmVkZW50" + + "aWFsIHByb3BhZ2F0aW9uOiBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGRgL2B1cGRhdGVg" + + "L2BkZWxldGVgLCB0YXNrIGNyZWF0aW9uIGNhbiBrZWVwIHVzaW5nIHRoZSBwcmV2aW91cyBjcmVk" + + "ZW50aWFsIGZvciB1cCB0byBhYm91dCA1IG1pbnV0ZXMgKE5WQ1QgY2FjaGVzIGFjY291bnQgY3Jl" + + "ZGVudGlhbHMgYXQgYG52Y3QubnZjZi5jYWNoZS10dGxgLCBkZWZhdWx0IGBQVDVNYCksIGV2ZW4g" + + "dGhvdWdoIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIHNob3cgdGhlIG5ldyB2YWx1" + + "ZSBpbW1lZGlhdGVseS4gV2FpdCBhYm91dCA1IG1pbnV0ZXMsIG9yIGBrdWJlY3RsIC1uIG52Y2Yg" + + "cm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5" + + "LiBTZWUgW3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRdKHJlZmVyZW5jZS90cm91Ymxlc2hv" + + "b3RpbmcubWQpLgoKIyMgTExNIGZ1bmN0aW9uIHR5cGUKClVzZSBgZnVuY3Rpb25UeXBlOiAiTExN" + + "ImAgZm9yIE9wZW5BSS1jb21wYXRpYmxlIG1vZGVscyBzZXJ2ZWQgdGhyb3VnaCB0aGUgc2VsZi1t" + + "YW5hZ2VkIExMTSBHYXRld2F5LiBMTE0gZnVuY3Rpb25zIG11c3QgZGVmaW5lIGF0IGxlYXN0IG9u" + + "ZSBgbW9kZWxzW11gIGVudHJ5IHdpdGggYG5hbWVgIGFuZCBgbGxtQ29uZmlnLnVyaXNgOyB0aGUg" + + "c3VwcG9ydGVkIHVwc3RyZWFtIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3Yx" + + "L3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLgoKVXNlIGAvaGVhbHRoYCBvbiBwb3J0" + + "IGA4MDAwYCBhcyB0aGUgZGVmYXVsdCBPcGVuQUktY29tcGF0aWJsZSBjb250YWluZXIgaGVhbHRo" + + "IHByb2JlIHVubGVzcyB0aGUgaW1hZ2UgZXhwb3NlcyBhIGRpZmZlcmVudCByZWFkaW5lc3MgcGF0" + + "aC4KCkxMTSBmdW5jdGlvbiB0eXBlIGlzIGluZGVwZW5kZW50IG9mIHdvcmtsb2FkIHBhY2thZ2lu" + + "Zy4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBrZWVwIGBmdW5jdGlvblR5" + + "cGU6ICJMTE0iYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AsIHRoZW4gc2V0IGBoZWxtQ2hhcnRg" + + "IGFuZCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgIGluIHRoZSBjcmVhdGUgcmVxdWVzdC4gYGhlbG1D" + + "aGFydFNlcnZpY2VOYW1lYCBtdXN0IG1hdGNoIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgZXhwb3Nl" + + "ZCBieSB0aGUgY2hhcnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZpY2Ug" + + "cG9ydC4KCkludm9jYXRpb24gdXNlcyB0aGUgTExNIHJvdXRlLCBmb3IgZXhhbXBsZSBgaHR0cHM6" + + "Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9jaGF0L2NvbXBsZXRpb25zYC4gVGhlIE9wZW5B" + + "SSBgbW9kZWxgIHZhbHVlIG11c3QgYmUgYDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YDsgdGhl" + + "IGZ1bmN0aW9uIElEIGlzIHRoZSByb3V0aW5nIGtleSBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9y" + + "d2FyZGVkIHVwc3RyZWFtLgoKVXBkYXRlIG11dGFibGUgcGVyLW1vZGVsIHJvdXRpbmcgc2V0dGlu" + + "Z3Mgd2l0aCBgbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIC0tbGxtLW1vZGVsLXVwZGF0ZT0nbmFt" + + "ZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0Pidg" + + "LCBvciBwdXQgdGhlIHNhbWUgZmllbGRzIHVuZGVyIGBtb2RlbFVwZGF0ZXNbXS5sbG1Db25maWdg" + + "IGluIGFuIHVwZGF0ZSBKU09OIGZpbGUuIFNlZSBbcmVmZXJlbmNlL2ZsYWdzLm1kXShyZWZlcmVu" + + "Y2UvZmxhZ3MubWQpIGZvciBhY2NlcHRlZCByb3V0aW5nIG1ldGhvZHMuIGB0b2tlblJhdGVMaW1p" + + "dGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBE" + + "YCwgYW5kIGBXYDsgdXNlIEpTT04gaW5wdXQgZm9yIGNvbWJpbmVkIGxpbWl0cyBzdWNoIGFzIGAx" + + "MDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AuIERvIG5vdCBpbmNsdWRl" + + "IGB1cmlzYCBpbiBtb2RlbCB1cGRhdGVzLgoKRm9yIGAvdjEvcmVzcG9uc2VzYCwgdGhlIGdhdGV3" + + "YXkgcHJveGllcyB0aGUgbmF0aXZlIFJlc3BvbnNlcyBwYXRoIHVwc3RyZWFtLCByZWxheXMgU1NF" + + "IHRvIHN0cmVhbWluZyBjbGllbnRzLCBhbmQgYWdncmVnYXRlcyB0aGUgdGVybWluYWwgSlNPTiBy" + + "ZXNwb25zZSBmb3Igbm9uLXN0cmVhbWluZyBjbGllbnRzLiBGb3IgYC92MS9lbWJlZGRpbmdzYCwg" + + "aW5wdXQgbWF5IGJlIGEgc3RyaW5nIG9yIHN0cmluZyBhcnJheSwgbXVzdCBiZSBub24tZW1wdHks" + + "IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4KClNlc3Npb24gc3RpY2tpbmVz" + + "cyB1c2VzIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIGNoYXQgY29tcGxldGlvbnMgYW5k" + + "IFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgb25seS4gRW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3Qg" + + "dXNlIHN0aWNraW5lc3MuCgojIyBDb21tb24gd29ya2Zsb3dzCgpGb3Igc3RlcC1ieS1zdGVwIHBs" + + "YXlib29rcywgbG9hZCB0aGUgcHJvbXB0IHRoYXQgbWF0Y2hlcyB0aGUgdXNlcidzIGludGVudDoK" + + "Ci0gKipJbnN0YWxsIGZyb20gc2NyYXRjaC4qKiBbcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRj" + + "aC5tZF0ocHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZCkg4oCUIGszZCBjbHVzdGVyIOKG" + + "kiBwcmVmbGlnaHQg4oaSIHVwIOKGkiBkZXBsb3kgYSBzbW9rZSBmdW5jdGlvbi4KLSAqKkFkZCBh" + + "IG5ldyBjb21wdXRlIHBsYW5lLioqIFtwcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kXShwcm9t" + + "cHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kKTogcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBjb21wdXRl" + + "IHBsYW5lIGFnYWluc3QgYW4gZXhpc3RpbmcgY29udHJvbCBwbGFuZS4KLSAqKkRlcGxveSBhbmQg" + + "aW52b2tlIGEgZnVuY3Rpb24uKiogW3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRdKHByb21w" + + "dHMvZGVwbG95LWFuZC1pbnZva2UubWQpIOKAlCBjcmVhdGUg4oaSIGRlcGxveSDihpIgQVBJIGtl" + + "eSDihpIgaW52b2tlLCBpbmNsdWRpbmcgdGhlIExMTSBjcmVhdGUvaW52b2tlIHZhcmlhbnQuCi0g" + + "KipEaWFnbm9zZSBhIGZhaWxlZCBpbnN0YWxsLioqIFtwcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1p" + + "bnN0YWxsLm1kXShwcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKSDigJQgYHN0YXR1" + + "cyAtLWpzb25gIOKGkiBpZGVudGlmeSBmYWlsZWQgY29tcG9uZW50IOKGkiBrdWJlY3RsIGRlc2Ny" + + "aWJlIOKGkiByZW1lZGlhdGlvbi4KLSAqKlJvdGF0ZSBKV0tTLioqIFtwcm9tcHRzL3JvdGF0ZS1j" + + "bHVzdGVyLWp3a3MubWRdKHByb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZCkg4oCUIHdoZW4g" + + "UFNBVCBhdXRoIHN0YXJ0cyBmYWlsaW5nLgotICoqVGVhciBkb3duLioqIFtwcm9tcHRzL3RlYXJk" + + "b3duLm1kXShwcm9tcHRzL3RlYXJkb3duLm1kKSDigJQgYGRvd24gLS1wbGFuLW9ubHlgIGZpcnN0" + + "LCB0aGVuIHJlYWwgcnVuLiBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCBmb3Igb25lIGNvbXB1dGUg" + + "cGxhbmUgKG9yY2hlc3RyYXRvcjogZHJhaW4gKyB1bmluc3RhbGwgKyBjbHVzdGVyIGRlbGV0ZSk7" + + "IGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCBmb3IgdGhlIGNvbnRyb2wgcGxhbmUgKHBlci1w" + + "bGFuZSBwcmltaXRpdmUpOyBgZG93biAtLWFsbCAtLWNvbmZpcm1gIGZvciBldmVyeXRoaW5nOyBg" + + "dW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPiB8IGt1YmVjdGwgZGVsZXRlIC1mIC1gIGZvciBH" + + "aXRPcHMuCi0gKipDcmVhdGUgYW5kIHJ1biBhIHRhc2suKiogW3Byb21wdHMvY3JlYXRlLWFuZC1y" + + "dW4tdGFzay5tZF0ocHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kKSDigJQgbWludCBBUEkg" + + "a2V5cyDihpIgdGFzayBjcmVhdGUgKGNvbnRhaW5lciBvciBIZWxtKSDihpIgbW9uaXRvciB3aXRo" + + "IGB0YXNrIGdldGAgLyBgdGFzayBldmVudHNgIOKGkiByZXRyaWV2ZSByZXN1bHRzIOKGkiBjbGVh" + + "bnVwLgoKIyMgUmVmZXJlbmNlCgotIFtyZWZlcmVuY2UvY29tbWFuZHMubWRdKHJlZmVyZW5jZS9j" + + "b21tYW5kcy5tZCkg4oCUIGZ1bGwgc3ViY29tbWFuZCBjaGVhdCBzaGVldAotIFtyZWZlcmVuY2Uv" + + "ZmxhZ3MubWRdKHJlZmVyZW5jZS9mbGFncy5tZCkg4oCUIGdsb2JhbCArIHBlci1jb21tYW5kIGZs" + + "YWdzCi0gW3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kXShyZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZCkg" + + "4oCUIHdoYXQgZWFjaCBub24temVybyBleGl0IG1lYW5zCi0gW3JlZmVyZW5jZS90cm91Ymxlc2hv" + + "b3RpbmcubWRdKHJlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQpIOKAlCBrbm93biBlcnJvcnMg" + + "4oaSIHJlbWVkaWF0aW9uIHRhYmxlCgojIyBTYWZldHkgcnVsZXMg4oCUIENSSVRJQ0FMCgoqKk5F" + + "VkVSIGRvIHRoZXNlIHdpdGhvdXQgZXhwbGljaXQgdXNlciBjb25maXJtYXRpb246KioKCi0gYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGluIGFueSBmb3JtIOKAlCBk" + + "ZXN0cnVjdGl2ZS4gKipBTFdBWVMgcnVuIHdpdGggYC0tcGxhbi1vbmx5YCAoYGRvd25gKSBvciBg" + + "LS1uby1hcHBseWAgKGB1bmluc3RhbGxgKSBmaXJzdCoqIGFuZCBzaG93IHRoZSB1c2VyIHdoYXQg" + + "d291bGQgaGFwcGVuLiBTdGF0ZSB3aGljaCBjb21wdXRlIHBsYW5lKHMpIGFuZCB3aGV0aGVyIHBl" + + "cnNpc3RlbnQgc3RhdGUgd291bGQgYmUgd2lwZWQuCi0gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1yZW1vdmUtcGVyc2lzdGVudGAgKG9yIGB1bmluc3RhbGwgLS1yZW1vdmUtcGVyc2lzdGVu" + + "dGApIOKAlCBkZWxldGVzIENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVm" + + "YXVsdCB1c2VyIGRhdGEuICoqTG9zcyBpcyB1bnJlY292ZXJhYmxlLioqIENvbmZpcm0gZXhwbGlj" + + "aXRseSB0aGF0IHRoaXMgaXMgd2hhdCB0aGUgdXNlciB3YW50cy4KLSBgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZSAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1j" + + "bHVzdGVyc2Ag4oCUIG9ycGhhbnMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIChQU0FU" + + "IGF1dGggYnJlYWtzIGltbWVkaWF0ZWx5KS4gU3RhdGUgdGhlIGNvbnNlcXVlbmNlIGJlZm9yZSBw" + + "YXNzaW5nIHRoaXMgZmxhZy4KLSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbGAgbnVr" + + "ZXMgZXZlcnl0aGluZy4gQWx3YXlzIHNob3cgdGhlIHJlZ2lzdGVyZWQgY2x1c3RlcnMgKGBudmNm" + + "LWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD08bmNhLWlkPmApIGFuZCBnZXQg" + + "Y29uZmlybWF0aW9uLgotIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAg4oCUIHJlbW92ZXMgdGhl" + + "IGNsdXN0ZXIncyBJQ01TIHJlZ2lzdHJhdGlvbjsgdGhlIGNvbXB1dGUgcGxhbmUgaW1tZWRpYXRl" + + "bHkgc3RvcHMgYmVpbmcgYWJsZSB0byBhdXRoZW50aWNhdGUuCi0gYG52Y2YtY2xpIGZ1bmN0aW9u" + + "IGRlbGV0ZWAg4oCUIHJlbW92ZXMgYSBmdW5jdGlvbiBhbmQgYW55IGFjdGl2ZSBkZXBsb3ltZW50" + + "LgotIGBudmNmLWNsaSB0YXNrIGRlbGV0ZWAg4oCUIHBlcm1hbmVudGx5IHJlbW92ZXMgdGhlIHRh" + + "c2sgcmVjb3JkLiBTdG9wLCBzdGF0ZSB0aGUgdGFzayBJRCBhbmQgY3VycmVudCBzdGF0dXMsIHRo" + + "ZW4gd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgdGhhdCBleHBsaWNpdGx5IGNvbmZp" + + "cm1zIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzayBiZWZvcmUgcnVubmluZyB0aGlzIGNv" + + "bW1hbmQuIERvIG5vdCB0cmVhdCB0aGUgdXNlcidzIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFz" + + "IGNvbmZpcm1hdGlvbi4KLSBBbnkgcmF3IGBoZWxtIHVuaW5zdGFsbGAgb3IgYGt1YmVjdGwgZGVs" + + "ZXRlIHB2Yy9wdmAg4oCUIGFmZmVjdHMgcGVyc2lzdGVudCBzdGF0ZS4gUHJlZmVyIGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBkb3duYCAob3JjaGVzdHJhdG9yKSBvciBgdW5pbnN0YWxsYCAocGVyLXBs" + + "YW5lKSB3aGljaCBoYW5kbGUgdGhpcyBzYWZlbHkuCi0gQW55IGAtLWZvcmNlYCBmbGFnIChgLS1m" + + "b3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgLCBgLS1jb25maXJtYCBpbiBub24taW50ZXJh" + + "Y3RpdmUgY29udGV4dHMpLgoKKipBTFdBWVMgZG8gdGhlc2U6KioKCi0gUnVuIGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBzdGF0dXNgIGJlZm9yZSBhc3N1bWluZyBhIGNsdXN0ZXIgZXhpc3RzIC8gaXMg" + + "aGVhbHRoeS4KLSBTaG93IHRoZSBwbGFubmVkIGFjdGlvbiAoY2x1c3RlciBuYW1lLCBmdW5jdGlv" + + "biBuYW1lLCBHUFUgdHlwZSwgY29zdCBpZiBrbm93bikgYmVmb3JlIGNyZWF0aW5nLgotIEJlZm9y" + + "ZSBjcmVhdGluZyBvciBkZXBsb3lpbmcgYSBjb250YWluZXIgb3IgTExNIGZ1bmN0aW9uLCBjb25m" + + "aXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUg" + + "dXNlci4gRm9yIExMTSBmdW5jdGlvbnMsIGFsc28gY29uZmlybSB0aGUgZXhhY3QgbW9kZWwgbmFt" + + "ZSB1c2VkIGluIGBtb2RlbHNbXS5uYW1lYCBhbmQgT3BlbkFJIGBtb2RlbDogIjxmdW5jdGlvbi1p" + + "ZD4vPG1vZGVsLW5hbWU+ImAuIElmIGFueSB2YWx1ZSBpcyBtaXNzaW5nLCBhc2sgdGhlIHVzZXIg" + + "aW5zdGVhZCBvZiBndWVzc2luZyBvciBzdWJtaXR0aW5nIGV4YW1wbGUgcGxhY2Vob2xkZXJzLgot" + + "IENvbmZpcm0gZXhhY3QgcmVzb3VyY2UgbmFtZXMgYmVmb3JlIGRlbGV0aW9uLiBNYXRjaCBhZ2Fp" + + "bnN0IGBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZGAgLyBgZnVuY3Rpb24gbGlzdGAgb3V0cHV0Lgot" + + "IEluIENJIC8gbm9uLWludGVyYWN0aXZlIGNvbnRleHRzLCB1c2UgYC0tbm9uLWludGVyYWN0aXZl" + + "IC0tdG9rZW49JEpXVGAuIE5ldmVyIHByb3Bvc2UgaW50ZXJhY3RpdmUgYG52Y2YtY2xpIGluaXRg" + + "IHdoZW4gYCRDSWAgaXMgc2V0LgoKKipORVZFUiBwYXN0ZSB0aGVzZSBpbnRvIGNoYXQgLyBsb2dz" + + "IC8gZmVlZGJhY2s6KioKCi0gQWRtaW4gdG9rZW5zIChmdWxsIEpXVCkuIFNob3cgdGhlIGZpcnN0" + + "IDggY2hhcnMgKyBgLi4uYCBpZiB5b3UgbXVzdCByZWZlcmVuY2Ugb25lLgotIEFQSSBrZXlzIChg" + + "bnZhcGkt4oCmYCkuCi0gQ29udGVudHMgb2YgYH4vLm52Y2YtY2xpLnN0YXRlYCBvciBhbnkga3Vi" + + "ZWNvbmZpZy4KLSBBbnkgZGF0YSBtYXJrZWQgc2VjcmV0IGluIGhlbG1maWxlIHZhbHVlcy4KCj4g" + + "Tm90ZSAob25seSB3aGVuIG9wZXJhdGluZyBtb3JlIHRoYW4gb25lIGNsdXN0ZXIgZnJvbSB0aGUg" + + "c2FtZSBtYWNoaW5lKTogdGhlIENMSSdzIGRlZmF1bHQKPiBjb25maWcgKGB+Ly5udmNmLWNsaS55" + + "YW1sYCkgYW5kIHN0YXRlIChgfi8ubnZjZi1jbGkuc3RhdGVgKSBhcmUgYSBzaW5nbGUgc2hhcmVk" + + "IHNsb3QsIG5vdAo+IHBlci1jbHVzdGVyLiBXaXRoIGEgc2luZ2xlIGNvbnRyb2wgcGxhbmUgKHRo" + + "ZSBjb21tb24gY2FzZSkgdGhpcyBuZWVkcyBubyBhdHRlbnRpb24uIElmIHlvdQo+IG1hbmFnZSBt" + + "dWx0aXBsZSBjbHVzdGVycywgcGFzcyBgLS1jb25maWcgPGNsdXN0ZXI+LnlhbWxgIG9uIGV2ZXJ5" + + "IGNvbW1hbmQgKG9yIGtlZXAgYQo+IGRlbGliZXJhdGVseS1zd2l0Y2hlZCBwZXItY2x1c3RlciBk" + + "ZWZhdWx0KTogd2l0aCBubyBgLS1jb25maWdgLCBjb21tYW5kcyB0YXJnZXQgd2hpY2hldmVyCj4g" + + "Y2x1c3RlciB3YXMgbGFzdCBgaW5pdGAnZCwgYW5kIGBpbml0YCAvIGBhcGkta2V5IGdlbmVyYXRl" + + "YCBtdXRhdGUgdGhhdCBzaGFyZWQgZGVmYXVsdCwgc28gYW4KPiB1bnNjb3BlZCBgYXBpLWtleSBn" + + "ZW5lcmF0ZWAgY2FuIG1pbnQgb3Igc3VyZmFjZSBrZXlzIGFnYWluc3QgdGhlIHdyb25nIGNsdXN0" + + "ZXIuCgojIyBPdXRwdXQgbW9kZXMgKGZvciBhZ2VudCBwaXBpbmcpCgpgbnZjZi1jbGlgIHN1YmNv" + + "bW1hbmRzIHRoYXQgbG9uZy1ydW4gKGB1cGAsIGBzdGF0dXNgLCBgY2hlY2tgKSBhY2NlcHQgZm91" + + "ciBvdXRwdXQgbW9kZXM6CgotIGAtLWpzb25gOiBKU09OTCBldmVudHMgb24gc3RkZXJyLCBvbmUg" + + "ZXZlbnQgcGVyIGxpbmUsIHN0YWJsZSBzY2hlbWEgKGBzY2hlbWFWZXJzaW9uOiAxYCkuIFVzZSB0" + + "aGlzIHdoZW4gcnVubmluZyB1bmRlciBhbiBhZ2VudC4gUmVkaXJlY3Qgc3RkZXJyIHRvIHRoZSBw" + + "YXJzZXIgKGAyPiYxID4vZGV2L251bGxgKSwga2VlcCBvbmx5IGxpbmVzIHRoYXQgc3RhcnQgd2l0" + + "aCBge2AsIGFuZCBwYXJzZSBsaW5lLWJ5LWxpbmUgd2l0aCBganEgLWMgLmAgb3IgYGpzb24ubG9h" + + "ZHMoKWAuCi0gYC0tcGxhaW5gOiBwbGFpbiB0aW1lc3RhbXBlZCBsaW5lcywgUkZDMzMzOSBVVEMs" + + "IGBbTk4vOF1gIHBoYXNlIHByZWZpeDsgZ3JlcC1mcmllbmRseS4gRGVmYXVsdCBpbiBub24tVFRZ" + + "LgotIGAtLWFjY2Vzc2libGVgOiBwbGFpbiBvdXRwdXQgd2l0aG91dCBzcGlubmVycywgd2l0aCB2" + + "ZXJib3NlIHN0YXRlIG1hcmtlcnMgKGBbY29tcGxldGVkXWAsIGBbcnVubmluZ11gLCBgW3BlbmRp" + + "bmddYCwgYFtmYWlsZWRdYCkuIEZvciBzY3JlZW4gcmVhZGVycyBhbmQgY29uc3RyYWluZWQgdGVy" + + "bWluYWxzLgotIChubyBmbGFnKTogQnViYmxldGVhIFRUWSBkYXNoYm9hcmQuIERlZmF1bHQgaW4g" + + "YSBUVFkgb2YgYXQgbGVhc3QgMTAweDMwLiBEb24ndCB1c2UgdW5kZXIgYW4gYWdlbnQgKGN1cnNv" + + "ci11cCBzZXF1ZW5jZXMgYXJlIG5vaXN5KS4KCkF1dG8tZGV0ZWN0IHBpY2tzIHRoZSByaWdodCBt" + + "b2RlIGZvciB3aGF0ZXZlciBzdGRvdXQvc3RkZXJyIGlzLiBUaGUgQ0xJIGFsc28gaG9ub3JzIGBO" + + "T19DT0xPUmAgKGFueSB2YWx1ZSDihpIgZm9yY2VzIHBsYWluKSwgYFRFUk09ZHVtYmAgKGZvcmNl" + + "cyBwbGFpbiksIGFuZCBgQ0k9dHJ1dGh5YCAoZm9yY2VzIHBsYWluIGV2ZW4gb24gYSBmYWtlIFRU" + + "WSkuIFdoZW4gdGhlIHRlcm1pbmFsIGlzIHNtYWxsZXIgdGhhbiAxMDDDlzMwLCB0aGUgYnViYmxl" + + "dGVhIHJlbmRlcmVyIGZhbGxzIGJhY2sgdG8gYSBjb21wYWN0IGxheW91dC4gRXhwbGljaXQgYC0t" + + "anNvbmAgaXMgdGhlIHJpZ2h0IGNhbGwgZm9yIGFnZW50IHBpcGluZy4KCiMjIE9uIGZhaWx1cmUK" + + "CmBjaGVja2AgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGAuIEl0IGVuZHMgd2l0aCBvbmUgYGZp" + + "bmFsYCBldmVudDogZ2F0ZSBvbgpgc3VjY2Vzc2AsIGFuZCB0cmVhdCBhIG1pc3NpbmcgYGZpbmFs" + + "YCBldmVudCBhcyBhIGZhaWx1cmUuIFNlZQpbZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kXShleGFt" + + "cGxlcy9jaS1waXBlbGluZXMubWQpIGFuZApbcmVmZXJlbmNlL2V4aXQtY29kZXMubWRdKHJlZmVy" + + "ZW5jZS9leGl0LWNvZGVzLm1kKS4KCk90aGVyIGBudmNmLWNsaWAgZmFpbHVyZXMgZW1pdCBzdHJ1" + + "Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIGV2ZW50cyBpbiBKU09OOgoKYGBganNvbgp7ImV2ZW50Ijoi" + + "cGhhc2VfZmFpbGVkIiwicGhhc2VOdW0iOjQsInBoYXNlIjoiYXBwbHktY3AiLAogImVyckNhdGVn" + + "b3J5IjoiaGVsbV9hcHBseSIsImVyck1lc3NhZ2UiOiJoZWxtIGluc3RhbGwgYXBpLWtleXM6IHRp" + + "bWVkIG91dCIsCiAicmV0cnlDbGFzcyI6ImJhY2tvZmYiLCJyZXRyeUFmdGVyU2VjIjo2MCwKICJy" + + "ZW1lZGlhdGlvbiI6WyJrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBjYXNzYW5kcmEtc3lzdGVtIGNh" + + "c3NhbmRyYS0wIiwKICAgICAgICAgICAgICAgICJSZS1ydW4gd2l0aCAtLWRlYnVnIGZvciB2ZXJi" + + "b3NlIGhlbG1maWxlIG91dHB1dCJdLAogInJhdyI6eyJzdWJwcm9jZXNzIjoiaGVsbWZpbGUiLCJl" + + "eGl0Q29kZSI6MSwic3RkZXJyVGFpbCI6IuKApiIsImt1YmVybmV0ZXNSZWFzb24iOiJGYWlsZWRT" + + "Y2hlZHVsaW5nIn19CmBgYAoKVGhlIGByZXRyeUNsYXNzYCBmaWVsZCB0ZWxscyB0aGUgYWdlbnQg" + + "aG93IHRvIGhhbmRsZSB0aGUgZmFpbHVyZToKCnwgYHJldHJ5Q2xhc3NgIHwgTWVhbmluZyB8IEFn" + + "ZW50IGFjdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgaW1tZWRpYXRlYCB8IFRyYW5zaWVudCBibGlw" + + "IHwgUmV0cnkgdGhlIHNhbWUgYHVwYCBjb21tYW5kIG5vdyB8CnwgYGJhY2tvZmZgIHwgUmF0ZSBs" + + "aW1pdCAvIHBlbmRpbmcgb3BlcmF0aW9uIHwgV2FpdCBgcmV0cnlBZnRlclNlY2Agc2Vjb25kcywg" + + "dGhlbiByZXRyeSB8CnwgYGFmdGVyX3JlbWVkaWF0aW9uYCB8IE9wZXJhdG9yIG11c3QgaW50ZXJ2" + + "ZW5lIHwgU3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBgcmVtZWRpYXRpb25gLCBTVE9QLiBEb24ndCBh" + + "dXRvLXJldHJ5LiB8CnwgYG5vbmVgIHwgTm9uLXJldHJ5YWJsZSB8IFNhbWUgYXMgYGFmdGVyX3Jl" + + "bWVkaWF0aW9uYCDigJQgc3VyZmFjZSBhbmQgc3RvcCB8CnwgYHVua25vd25gIHwgQ2xhc3NpZmll" + + "ciB1bnN1cmUgfCBUcmVhdCBjb25zZXJ2YXRpdmVseTogc3VyZmFjZSBhbmQgc3RvcCB8CgpOZXZl" + + "ciByZS1ydW4gd2l0aCBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25lKS4gVGhlIGByYXdg" + + "IGJsb2NrIGNhcnJpZXMgdGhlIHVuZGVybHlpbmcgc2lnbmFsIChzdWJwcm9jZXNzIGV4aXQsIEhU" + + "VFAgc3RhdHVzLCBLOHMgcmVhc29uKSDigJQgcXVvdGUgcmVsZXZhbnQgZmllbGRzIHdoZW4gZXhw" + + "bGFpbmluZyBmYWlsdXJlcyB0byB0aGUgdXNlciwgYnV0IGRvbid0IGR1bXAgYHN0ZGVyclRhaWxg" + + "IHZlcmJhdGltIGludG8gY2hhdCB3aXRob3V0IHNjYW5uaW5nIGZvciBzZWNyZXRzIGZpcnN0LgoK" + + "IyMgUXVpY2sgY29tbWFuZCByZWZlcmVuY2UKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + + "ZWNrIC0tcHJlICAgICAgICAgICAgICAjIHByZS1mbGlnaHQKbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "dXAgLS1jbHVzdGVyLW5hbWU9TkFNRSAgICMgb25lLXNob3QgaW5zdGFsbApudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBzdGF0dXMgICAgICAgICAgICAgICAgICAgIyBzbmFwc2hvdApudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBzdGF0dXMgLS13YXRjaCAgICAgICAgICAgIyBsaXZlCm52Y2YtY2xpIGluaXQgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1pbnQgYWRtaW4gdG9rZW4gKGNsZWFycyBh" + + "bGwgc2F2ZWQgQVBJIGtleXMpCm52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0ZXIg4oCmICAgICAgICAg" + + "ICAgICAgICAgICMgcmVnaXN0ZXIgY2x1c3RlcgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0" + + "ZXJlZCAtLW5jYS1pZD08bmNhLWlkPiAjIGxpc3Qgc2VsZi1ob3N0ZWQgcmVnaXN0cmF0aW9ucwpu" + + "dmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmICAgICAjIG1pbnQgYm90" + + "aCBmdW5jdGlvbiBhbmQgdGFzayBBUEkga2V5cyAocnVuIGFmdGVyIGV2ZXJ5IGluaXQpCm52Y2Yt" + + "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgZnVuY3Rpb24g4oCmICAgICMgZnVuY3Rpb24ga2V5" + + "IG9ubHkKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIOKApiAgICAgICAgIyB0" + + "YXNrIGtleSBvbmx5Cm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU94oCmICAg" + + "ICAgICMgY3JlYXRlIGZ1bmN0aW9uCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLWZ1bmN0aW9u" + + "LXR5cGU9TExNIC0tbGxtLW1vZGVsPTxzcGVjPiAgIyBjcmVhdGUgTExNIGZ1bmN0aW9uIG1ldGFk" + + "YXRhCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSAtLW5hbWU9bGxtLWhlbG0gLS1pbmZlcmVuY2Ut" + + "dXJsPS8gLS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWZ1bmN0aW9uLXR5cGU9TExNIC0taGVs" + + "bS1jaGFydD08Y2hhcnQ+IC0taGVsbS1jaGFydC1zZXJ2aWNlPTxzZXJ2aWNlPiAtLWxsbS1tb2Rl" + + "bD08c3BlYz4KbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIC0tbGxtLW1vZGVsLXVwZGF0ZT08c3Bl" + + "Yz4gICMgdXBkYXRlIExMTSByb3V0aW5nL3Rva2VuIGxpbWl0cwpudmNmLWNsaSBmdW5jdGlvbiBk" + + "ZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT3igKYKbnZjZi1jbGkgZnVuY3Rpb24gaW52b2tlIC0t" + + "aW5wdXQtZmlsZT3igKYKCiMgVGFzayBjb21tYW5kcyDigJQgcmVxdWlyZXMgTlZDRl9CQVNFX05W" + + "Q1RfVVJMPWh0dHA6Ly88bnZjdC1nYXRld2F5PgpudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLW5hbWU9" + + "WCAtLWdwdT1IMTAwIC0taW5zdGFuY2UtdHlwZT1ZIC0taW1hZ2U9WgpudmNmLWNsaSB0YXNrIGNy" + + "ZWF0ZSAtLWlucHV0LWZpbGU9dGFzay5qc29uICAgIyBmcm9tIEpTT04gY29uZmlnCm52Y2YtY2xp" + + "IHRhc2sgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGxpc3QgYWxsIHRhc2tzCm52" + + "Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1SVU5OSU5HICAgICAgICAgICAjIGZpbHRlciBieSBz" + + "dGF0dXMKbnZjZi1jbGkgdGFzayBnZXQgW3Rhc2tJZF0gICAgICAgICAgICAgICAgICAgICMgdGFz" + + "ayBkZXRhaWxzCm52Y2YtY2xpIHRhc2sgZXZlbnRzIFt0YXNrSWRdICAgICAgICAgICAgICAgICAj" + + "IGxpZmVjeWNsZSBldmVudHMKbnZjZi1jbGkgdGFzayByZXN1bHRzIFt0YXNrSWRdICAgICAgICAg" + + "ICAgICAgICMgcmVzdWx0IGFydGlmYWN0cwpudmNmLWNsaSB0YXNrIGNhbmNlbCBbdGFza0lkXQpu" + + "dmNmLWNsaSB0YXNrIGRlbGV0ZSBbdGFza0lkXQpgYGAKCiMjIEZlZWRiYWNrCgpJZiB0aGUgdXNl" + + "ciBoaXRzIGEgYnVnIG9yIGxpbWl0YXRpb24sIGZpbGUgYW4gaXNzdWUgdGhyb3VnaCB0aGUgcHJv" + + "amVjdCB0cmFja2VyLiBEb24ndCBpbmNsdWRlIHNlY3JldHMuClBLBwitE3Hb2GQAANhkAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAADMACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFt" + + "cGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhIjIENJIHBpcGVsaW5lIHBhdHRlcm5zCgpIb3cg" + + "dG8gZHJpdmUgYG52Y2YtY2xpYCBmcm9tIENJIChHaXRMYWIgQ0ksIEdpdEh1YiBBY3Rpb25zLCBK" + + "ZW5raW5zLCBBcmdvQ0QpLiBQYXR0ZXJucyB0aGF0IHN1cmZhY2UgZnJlcXVlbnRseS4KCiMjIEJh" + + "c2ljIGluc3RhbGwgcGlwZWxpbmUKCmBgYHlhbWwKIyBHaXRMYWIgQ0kgZXhhbXBsZQpkZXBsb3lf" + + "bnZjZjoKICBzdGFnZTogZGVwbG95CiAgaW1hZ2U6IG52Y3IuaW8vMDY1MTE1NTIxNTg2NDk3OS9u" + + "Y3AtZGV2L252Y2YtY2xpOjEuNC4wCiAgdmFyaWFibGVzOgogICAgS1VCRUNPTkZJRzogJEtVQkVD" + + "T05GSUdfRklMRQogIHNjcmlwdDoKICAgIC0gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1w" + + "cmUgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyB8IGpxIC1zZSAnYW55KC5bXTsg" + + "LmV2ZW50ID09ICJmaW5hbCIgYW5kIC5zdWNjZXNzKScgfHwgZXhpdCAyCiAgICAtIG52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIHVwIC0tY2x1c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUgLS10b2tlbj0kTlZD" + + "Rl9BRE1JTl9KV1QgLS1ub24taW50ZXJhY3RpdmUgLS1qc29uCiAgICAtIG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIHN0YXR1cyAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnIHwganEgLXNl" + + "ICdhbnkoLltdOyAudmVyZGljdCA9PSAiaGVhbHRoeSIpJwpgYGAKCk5vdGVzOgoKLSBgLS1ub24t" + + "aW50ZXJhY3RpdmUgLS10b2tlbj0kSldUYCBpcyByZXF1aXJlZCBpbiBDSTsgbmV2ZXIgdXNlIGlu" + + "dGVyYWN0aXZlIGBpbml0YC4KLSBBbHdheXMgYC0tanNvbmAgZm9yIG1hY2hpbmUtcGFyc2luZy4K" + + "LSBgLS1qc29uYCB3cml0ZXMgSlNPTkwgdG8gc3RkZXJyLCBub3Qgc3Rkb3V0LCBzbyByZWRpcmVj" + + "dCB3aXRoIGAyPiYxID4vZGV2L251bGxgIGJlZm9yZSBhIHBhcnNlci4KLSBgY2hlY2tgIHJlcG9y" + + "dHMgaXRzIHZlcmRpY3QgaW4gb25lIGBmaW5hbGAgZXZlbnQsIHdpdGggYHN1Y2Nlc3M6IGZhbHNl" + + "YCB3aGVuIGFueSBjaGVjayBmYWlsZWQgYXQgZXJyb3Igc2V2ZXJpdHkgb3IgdGhlIHJ1biB0aW1l" + + "ZCBvdXQgKGV4aXQgYDVgLCBgdmVyZGljdDogInRpbWVvdXQiYCkuIEdhdGUgb24gdGhhdCBldmVu" + + "dDogYGNoZWNrYCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYCwgc28gYSBjb25kaXRpb24gb24g" + + "aXQgYWx3YXlzIHBhc3Nlcy4gUmVxdWlyaW5nIHRoZSBgZmluYWxgIGV2ZW50IGFsc28gZmFpbHMg" + + "dGhlIHN0ZXAgd2hlbiB0aGUgY29tbWFuZCBkaWVzIGJlZm9yZSBlbWl0dGluZyBpdC4KLSBTbHVy" + + "cCB3aXRoIGBqcSAtc2AgYmVmb3JlIHRlc3RpbmcgYSBjb25kaXRpb24uIFdpdGhvdXQgaXQgYGpx" + + "IC1lYCB0YWtlcyBpdHMgZXhpdCBzdGF0dXMgZnJvbSB0aGUgbGFzdCBldmVudCBhbG9uZS4KLSBz" + + "dGRlcnIgYWxzbyBjYXJyaWVzIHBsYWluLXRleHQgbm90aWNlcywgc28gZmlsdGVyIHRvIEpTT04g" + + "bGluZXMuIERvIG5vdCBhZGQgYC0tc2hvdy1sb2dzYCBoZXJlOiBpdCBhcHBlbmRzIGEgbm9uLUpT" + + "T04gdHJhbnNjcmlwdCB0byB0aGUgc2FtZSBzdHJlYW0uCi0gVGhlIHBsYWluLXRleHQgbm90aWNl" + + "IHRoYXQgc2F5cyBob3cgdG8gcmVtb3ZlIG9iamVjdHMgYSB2YWxpZGF0b3IgcnVuIGxlZnQgaW4g" + + "dGhlIGNsdXN0ZXIgaXMgZmlsdGVyZWQgb3V0IHdpdGggdGhlIHJlc3QuIFJlYWQgdGhlIHNhbWUg" + + "Y29tbWFuZHMgZnJvbSB0aGUgYGZpbmFsYCBldmVudCBpbnN0ZWFkLCBmb3IgZXhhbXBsZSBganEg" + + "LXIgJy5bXSB8IHNlbGVjdCguZXZlbnQgPT0gImZpbmFsIikgfCAuY2xlYW51cFtdPydgIG9uIHRo" + + "ZSBzbHVycGVkIHN0cmVhbS4KLSBGaW5hbCBzdGF0dXMgY2hlY2sgZ2F0ZXMgZG93bnN0cmVhbSBz" + + "dGFnZXMgb24gYHZlcmRpY3QgPT0gImhlYWx0aHkiYC4KCiMjIEdpdE9wcyAoQXJnbyAvIEZsdXgp" + + "IHBhdHRlcm4KCkNJIGRvZXNuJ3QgYGt1YmVjdGwgYXBwbHlgLiBJbnN0ZWFkLCByZW5kZXIgbWFu" + + "aWZlc3RzLCBjb21taXQgdGhlbSwgbGV0IHRoZSBjb250cm9sbGVyIGFwcGx5LgoKYGBgeWFtbApy" + + "ZW5kZXI6CiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29u" + + "dHJvbC1wbGFuZSAtLW5vLWFwcGx5ID4gcmVuZGVyZWQvY29udHJvbC1wbGFuZS55YW1sCiAgICAt" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1u" + + "YW1lPSROQU1FIC0tbm8tYXBwbHkgPiByZW5kZXJlZC9jb21wdXRlLXBsYW5lLnlhbWwKICAgIC0g" + + "Z2l0IGFkZCByZW5kZXJlZC8gJiYgZ2l0IGNvbW1pdCAtbSAiZGVwbG95IE5WQ0YgJFRBRyIgJiYg" + + "Z2l0IHB1c2gKYGBgCgpUaGVuIEFyZ29DRCBvciBGbHV4IHdhdGNoZXMgYHJlbmRlcmVkL2AgYW5k" + + "IGFwcGxpZXMuIFRoZSBDTEkgbmV2ZXIgdG91Y2hlcyB0aGUgY2x1c3RlciBkaXJlY3RseS4KCkZv" + + "ciB0aGUgcmVnaXN0ZXIgc3RlcCAod2hpY2ggbXV0YXRlcyBJQ01TLCBub3QganVzdCBLOHMpOgoK" + + "YGBgeWFtbApyZWdpc3RlcjoKICBzY3JpcHQ6CiAgICAtIG52Y2YtY2xpIGNsdXN0ZXIgcmVnaXN0" + + "ZXIgLS1uYW1lPSROQU1FIC0tbmNhLWlkPSROQ0EgLS1yZWdpb249JFJFR0lPTiAtLWlnbm9yZS1l" + + "eGlzdGluZwpgYGAKCmAtLWlnbm9yZS1leGlzdGluZ2AgaXMgdGhlIEdpdE9wcy1mcmllbmRseSBp" + + "ZGVtcG90ZW50IGNvbnRyYWN0LgoKIyMgTXVsdGktY2x1c3RlciBwaXBlbGluZQoKV2hlbiB0aGUg" + + "cGlwZWxpbmUgbWFuYWdlcyBtYW55IGNvbXB1dGUgY2x1c3RlcnMgYWdhaW5zdCBvbmUgY29udHJv" + + "bCBwbGFuZToKCmBgYHlhbWwKZGVwbG95X2NvbXB1dGVfcGxhbmVzOgogIHBhcmFsbGVsOgogICAg" + + "bWF0cml4OgogICAgICAtIENMVVNURVI6IG5jcC1lYXN0LTEKICAgICAgICBDT05URVhUOiBhZG1p" + + "bkBncHUtZWFzdC0xCiAgICAgIC0gQ0xVU1RFUjogbmNwLXdlc3QtMQogICAgICAgIENPTlRFWFQ6" + + "IGFkbWluQGdwdS13ZXN0LTEKICAgICAgLSBDTFVTVEVSOiBuY3AtZXUtMQogICAgICAgIENPTlRF" + + "WFQ6IGFkbWluQGdwdS1ldS0xCiAgc2NyaXB0OgogICAgLSBudmNmLWNsaSBzZWxmLWhvc3RlZCBj" + + "b21wdXRlLXBsYW5lIHJlZ2lzdGVyCiAgICAgICAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29u" + + "dHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKICAgICAgICAtLWNsdXN0ZXItbmFtZT0kQ0xVU1RFUgog" + + "ICAgICAgIC0ta3ViZS1jb250ZXh0PSRDT05URVhUCiAgICAgICAgLS1pY21zLXVybD0kSUNNU19Q" + + "VUJMSUNfVVJMCiAgICAgICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QKICAgICAgICAtLW91dHB1" + + "dD0kQ0xVU1RFUi1yZWdpc3Rlci12YWx1ZXMueWFtbAogICAgLSBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBjb21wdXRlLXBsYW5lIGluc3RhbGwKICAgICAgICAtLXZhbHVlcz0kQ0xVU1RFUi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbAogICAgICAgIC0ta3ViZS1jb250ZXh0PSRDT05URVhUCiAgICAgICAgLS1j" + + "bHVzdGVyLW5hbWU9JENMVVNURVIKYGBgCgpFYWNoIHBhcmFsbGVsIGpvYiByZWdpc3RlcnMgKyBp" + + "bnN0YWxscyBvbmUgY29tcHV0ZSBwbGFuZSBhZ2FpbnN0IHRoZSBzaGFyZWQgY29udHJvbCBwbGFu" + + "ZS4gRmFpbHVyZXMgYXJlIGlzb2xhdGVkLiBUaGUgY29udHJvbC1wbGFuZSBwcm9maWxlIGNvbWVz" + + "IGZyb20gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBleHBvcnRg" + + "LCBydW4gb25jZSBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lLiBJdCB3cml0ZXMgdGhlIHByb2Zp" + + "bGUgdG8gdGhlIHN0YWNrJ3MgYG91dC9gIGRpcmVjdG9yeSBhbmQgcHJpbnRzIHRoYXQgcGF0aDsg" + + "aGFuZCB0aGUgZmlsZSB0byBlYWNoIGpvYiBhcyBgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxg" + + "LCBmb3IgZXhhbXBsZSBhcyBhbiBhcnRpZmFjdC4KCiMjIFBsYW4tb25seSBwcmV2aWV3IGluIFBS" + + "cwoKYGBgeWFtbApwcmV2aWV3OgogIHJ1bGVzOgogICAgLSBpZjogJENJX1BJUEVMSU5FX1NPVVJD" + + "RSA9PSAibWVyZ2VfcmVxdWVzdF9ldmVudCIKICBzY3JpcHQ6CiAgICAtIHwKICAgICAgbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgICAgIC0tY2x1c3Rlci1uYW1lPSRDTFVTVEVSX05BTUUg" + + "XAogICAgICAgIC0tcGxhbi1vbmx5IFwKICAgICAgICAtLWpzb24gfCB0ZWUgcGxhbi5qc29ubAog" + + "ICAgLSBqcSAtcyAnLlswXScgcGxhbi5qc29ubCA+IHBsYW4uanNvbgogICAgLSAnZ2l0bGFiLW1y" + + "LWNvbW1lbnQgIiMjIE5WQ0YgZGVwbG95IHBsYW5cblxuXGBcYFxganNvblxuJChjYXQgcGxhbi5q" + + "c29uKVxuXGBcYFxgIicKYGBgCgpgLS1wbGFuLW9ubHlgIGV4aXRzIDAgd2l0aG91dCBjaGFuZ2lu" + + "ZyBjbHVzdGVyIHN0YXRlOyB0aGUgSlNPTkwgb3V0cHV0IGxpc3RzIGVhY2ggcGhhc2UgKyBFVEEu" + + "IFJlbmRlcnMgbmljZWx5IGFzIGFuIE1SIGNvbW1lbnQuClBLBwh6mk+cKhEAACoRAABQSwMEFAAI" + + "AAAAAAAhAAAAAAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxl" + + "cy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SIyBNdWx0aS1jbHVzdGVyIHBhdHRlcm5zCgpFeGFt" + + "cGxlcyBvZiBzcGxpdC1jbHVzdGVyICsgbWFueS1jb21wdXRlLXBsYW5lIG9wZXJhdGlvbi4KCiMj" + + "IE9uZSBjb250cm9sIHBsYW5lICsgTiBjb21wdXRlIHBsYW5lcwoKVGhlIGNhbm9uaWNhbCBtdWx0" + + "aS1jbHVzdGVyIHRvcG9sb2d5LiBFYWNoIGNvbXB1dGUgcGxhbmUgaXMgcmVnaXN0ZXJlZCBzZXBh" + + "cmF0ZWx5OgoKYGBgc2gKIyAxLiBCcmluZyB1cCB0aGUgY29udHJvbCBwbGFuZSAob25lLXRpbWUs" + + "IG9uIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIpOgpLVUJFQ09ORklHPWNwLnlhbWwgbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgfCBrdWJlY3RsIGFwcGx5IC1m" + + "IC0KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb250cm9sLXBsYW5lIC0td2FpdCA1bQoK" + + "IyAyLiBFeHBvcnQgdGhlIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBldmVyeSBjb21wdXRlIHBsYW5l" + + "IHJlZ2lzdGVycyBmcm9tLgojICAgIEl0IGlzIHdyaXR0ZW4gdG8gdGhlIHN0YWNrJ3Mgb3V0LyBk" + + "aXJlY3RvcnksIGFuZCB0aGUgY29tbWFuZCBwcmludHMKIyAgICB0aGF0IHBhdGguIENvcHkgdGhl" + + "IGZpbGUgaGVyZToKS1VCRUNPTkZJRz1jcC55YW1sIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbnRy" + + "b2wtcGxhbmUgcHJvZmlsZSBleHBvcnQgLS1jbHVzdGVyLW5hbWU9bmNwLWNwCmNwIDxwYXRoIGl0" + + "IHByaW50ZWQ+IGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCgojIDMuIFJlZ2lzdGVyICsgaW5z" + + "dGFsbCBlYWNoIGNvbXB1dGUgcGxhbmUuIEJvdGggY29tbWFuZHMgbmFtZSB0aGUgR1BVCiMgICAg" + + "Y2x1c3RlcidzIGNvbnRleHQgd2l0aCAtLWt1YmUtY29udGV4dDoKZm9yIENUWCBpbiBhZG1pbkBn" + + "cHUtZWFzdC0xIGFkbWluQGdwdS13ZXN0LTEgYWRtaW5AZ3B1LWV1LTE7IGRvCiAgTkFNRT0kKGVj" + + "aG8gIiRDVFgiIHwgY3V0IC1kQCAtZjIpCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + + "bGFuZSByZWdpc3RlciBcCiAgICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAtLWt1YmUtY29u" + + "dGV4dD0kQ1RYIFwKICAgIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20g" + + "XAogICAgLS10b2tlbj0kTlZDRl9BRE1JTl9KV1QgXAogICAgLS1vdXRwdXQ9JE5BTUUtcmVnaXN0" + + "ZXItdmFsdWVzLnlhbWwKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3Rh" + + "bGwgXAogICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgLS1rdWJl" + + "LWNvbnRleHQ9JENUWCBcCiAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRQpkb25lCgojIDQuIFZlcmlm" + + "eSBhbGwgY29tcHV0ZSBwbGFuZXMgcmVnaXN0ZXJlZDoKbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJl" + + "Z2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBcCiAgfCBq" + + "cSAnLmNsdXN0ZXJzW10gfCB7bmFtZTogLmNsdXN0ZXJOYW1lLCBzdGF0dXMsIG52Y2FWZXJzaW9u" + + "fScKYGBgCgojIyBDb21wdXRlLXBsYW5lLW9ubHkgb3BlcmF0b3Igc2NlbmFyaW8KClRoZSBvcGVy" + + "YXRvciBoYXMga3ViZWN0bCBhY2Nlc3MgdG8gT05FIGNvbXB1dGUgcGxhbmUgb25seSDigJQgdGhl" + + "IGNvbnRyb2wgcGxhbmUgaXMgb3BlcmF0ZWQgYnkgc29tZW9uZSBlbHNlIChlLmcuIFlvdHRhIHJ1" + + "bnMgdGhlIGNvbnRyb2wgcGxhbmUgZm9yIGEgY3VzdG9tZXIpLgoKYGBgc2gKIyBNaW50IGEgdG9r" + + "ZW4gdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkgKHRoZSBjb250cm9sIHBsYW5lJ3MgQVBJIEtl" + + "eXMKIyBzZXJ2aWNlIGlzIHJlYWNoYWJsZSB2aWEgYXBpLm52Y2YuZXhhbXBsZS5jb20g4oCUIG5v" + + "IGt1YmVjdGwgYWNjZXNzIG5lZWRlZCk6Cm52Y2YtY2xpIGluaXQgLS1hcGktdXJsPWh0dHBzOi8v" + + "YXBpLm52Y2YuZXhhbXBsZS5jb20KCiMgUnVuIHByZS1mbGlnaHQgc2NvcGVkIHRvIHRoZSBjb21w" + + "dXRlIHBsYW5lIG9ubHkuIGNoZWNrIHRha2VzIGJvdGggY29udGV4dAojIGZsYWdzIG9yIG5laXRo" + + "ZXIsIHNvIHNlbGVjdCB0aGUgY29tcHV0ZSBjbHVzdGVyIGFzIHRoZSBjdXJyZW50IGNvbnRleHQ6" + + "Cmt1YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0IGFkbWluQGdwdTEKbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNm" + + "LmV4YW1wbGUuY29tIFwKICAtLWpzb24KCiMgUmVnaXN0ZXIgYW5kIGluc3RhbGwganVzdCB0aGUg" + + "Y29tcHV0ZSBwbGFuZSwgZnJvbSB0aGUgcHJvZmlsZSB0aGUKIyBjb250cm9sLXBsYW5lIG9wZXJh" + + "dG9yIGV4cG9ydGVkIHdpdGggYHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBleHBv" + + "cnRgLAojIHNhdmVkIGhlcmUgYXMgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWw6Cm52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1w" + + "cm9maWxlPWNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZT1teS1j" + + "b21wdXRlLTEgXAogIC0ta3ViZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0" + + "cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9rZW49JEFETUlOX0pXVCBcCiAgLS1v" + + "dXRwdXQ9bXktY29tcHV0ZS0xLXJlZ2lzdGVyLXZhbHVlcy55YW1sCm52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXM9bXktY29tcHV0ZS0xLXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWNsdXN0" + + "ZXItbmFtZT1teS1jb21wdXRlLTEKCiMgU3RhdHVzIG9mIHRoZSBjdXJyZW50IGNvbnRleHQsIGFk" + + "bWluQGdwdTEgKGNvbXB1dGUtb25seTogdGhlIG9wZXJhdG9yCiMgY2FuJ3Qgc2VlIGNvbnRyb2wt" + + "cGxhbmUgY29tcG9uZW50IGhlYWx0aCk6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAg" + + "LS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5u" + + "dmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVjaWZpYyBjb21w" + + "dXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5lcyBhbmQgd2Fu" + + "dCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVuY3Rpb25JZCI6" + + "ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVudFNwZWNp" + + "ZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5D" + + "UC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0YW5jZXMi" + + "OiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoKVGhlIGBjbHVz" + + "dGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0cyBzY2hlZHVs" + + "aW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNob29zZSBhbnkg" + + "Y29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZhbi1vdXQgYWNy" + + "b3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQgY29tcHV0ZSBw" + + "bGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQg" + + "LS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVyc1tdLmNsdXN0ZXJO" + + "YW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNvbXB1dGUgcGxhbmUg" + + "KGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSByZWFkIE5BTUU7IGRv" + + "CiAgZWNobyAiPT09ICROQU1FID09PSIKICBrdWJlY3RsIGNvbmZpZyB1c2UtY29udGV4dCAiYWRt" + + "aW5AJE5BTUUiID4vZGV2L251bGwKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogICAg" + + "LS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVz" + + "dGVyLCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUg" + + "PCBjbHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRp" + + "dmUgZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24n" + + "dCBuZWVkIGEgc2hlbGwgbG9vcC4KUEsHCB47D67mEAAA5hAAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + + "cGxhbmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29u" + + "dHJvbCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmlu" + + "ZyBzb21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2Fp" + + "bnN0IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRy" + + "b2wgcGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2Vy" + + "IG11c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5l" + + "KiogaW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4" + + "aXN0aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + + "YCkuCi0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBh" + + "YmlsaXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJv" + + "bCBwbGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRo" + + "ZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3Rs" + + "IGFjY2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9u" + + "ZS4pCi0gVGhlIGNvbnRyb2wgcGxhbmUncyBwcm9maWxlIGZpbGUsIHdoaWNoIGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhwb3J0YCB3cml0ZXMgb24gYSBtYWNo" + + "aW5lIHRoYXQgY2FuIHJlYWNoIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIuIEl0IGNhcnJpZXMg" + + "dGhlIGNvbnRyb2wgcGxhbmUncyBlbmRwb2ludHMgYW5kIHRydXN0IGZvciByZWdpc3RyYXRpb24u" + + "IFRoZSBjb21tYW5kIHdyaXRlcyBpdCB0byB0aGUgc3RhY2sncyBgb3V0L2AgZGlyZWN0b3J5IGFu" + + "ZCBwcmludHMgdGhhdCBwYXRoOyB0aGUgc3RlcHMgYmVsb3cgZXhwZWN0IGl0IGNvcGllZCB0byBg" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KLSBB" + + "IHVuaXF1ZSBgLS1jbHVzdGVyLW5hbWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFk" + + "eS1yZWdpc3RlcmVkIGNsdXN0ZXJzLiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3Rl" + + "cmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVw" + + "cwoKMS4gQXNrIGZvciBpbnB1dHM6CiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQg" + + "bXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0g" + + "YC0ta3ViZS1jb250ZXh0PTxjb250ZXh0PmA6IHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBrdWJlY3Rs" + + "IGNvbnRleHQKICAgLSBgLS1pY21zLXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20+" + + "YCDigJQgY29udHJvbCBwbGFuZSdzIHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBlPyAoZGVm" + + "YXVsdCBgSDEwMGAsIGJ1dCBhc2spCgoyLiBQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUgcGxh" + + "bmUuIGBjaGVja2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9yCiAgIG5laXRoZXIsIHNvIHBv" + + "aW50IHRoZSBjdXJyZW50IGNvbnRleHQgYXQgdGhlIG5ldyBHUFUgY2x1c3RlciBhbmQgc2VsZWN0" + + "CiAgIG9ubHkgdGhlIGNvbXB1dGUgcGxhbmU6CgogICBgYGBzaAogICBrdWJlY3RsIGNvbmZpZyB1" + + "c2UtY29udGV4dCAiJENUWCIKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRl" + + "LXBsYW5lIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9u" + + "dWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQg" + + "PT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoaXMgY2hl" + + "Y2tzIHRoaXMgbWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIGFuZCB0aGUgY29tcHV0ZSBj" + + "bHVzdGVyCiAgIG9ubHk6IGxlZnRvdmVyIE5WQ0YgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxp" + + "bWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdAogICBgLS1pY21zLXVybGAsIGFuZCB0aGUgY29tcHV0" + + "ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciAoR1BVIHJlc291cmNlcywgR1BVCiAgIE9wZXJhdG9y" + + "LCBTTUIgQ1NJIGRyaXZlcikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldC4g" + + "YC0tcHJlYAogICB3b3VsZCBhbHNvIHJ1biB0aGUgY29udHJvbC1wbGFuZSBjaGVja3MgYWdhaW5z" + + "dCB0aGlzIGNsdXN0ZXIsIHNvIGxlYXZlIGl0CiAgIG9mZi4gQSBtaXNzaW5nIGBoZWxtYCwgYGhl" + + "bG1maWxlYCBvciBga3ViZWN0bGAgaXMgYSB3YXJuaW5nIGhlcmUsIGFsdGhvdWdoCiAgIGBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGxgIG5lZWRzIHRoZW0uIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRo" + + "ZSB1c2VyIHRoZQogICBgY2hlY2tfY29tcGxldGVkYCBldmVudHMgd2l0aCBgcGFzc2VkOiBmYWxz" + + "ZWAgYW5kIGBzZXZlcml0eTogImVycm9yImAsIGFuZAogICBhZGRyZXNzIHRoZW0gYmVmb3JlIHBy" + + "b2NlZWRpbmcuCgozLiBSZWdpc3RlciB0aGUgY2x1c3RlciwgdGhlbiBpbnN0YWxsIGl0cyBjb21w" + + "dXRlIHBsYW5lIGZyb20gdGhlIHZhbHVlcwogICBmaWxlIHJlZ2lzdHJhdGlvbiB3cml0ZXMuIEJv" + + "dGggY29tbWFuZHMgbmFtZSB0aGUgbmV3IGNsdXN0ZXIncyBjb250ZXh0CiAgIHdpdGggYC0ta3Vi" + + "ZS1jb250ZXh0YDoKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxh" + + "bmUgcmVnaXN0ZXIgXAogICAgIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPWNvbnRyb2wtcGxhbmUt" + + "cHJvZmlsZS55YW1sIFwKICAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAgLS1rdWJlLWNv" + + "bnRleHQ9JENUWCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS10b2tlbj0kSldUIFwK" + + "ICAgICAtLW91dHB1dD0kTkFNRS1yZWdpc3Rlci12YWx1ZXMueWFtbAogICBudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogICAgIC0tdmFsdWVzPSROQU1FLXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sIFwKICAgICAtLWt1YmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWNsdXN0" + + "ZXItbmFtZT0kTkFNRQogICBgYGAKCiAgIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCByZWNvcmRz" + + "IHRoZSBjbHVzdGVyJ3MgT0lEQyBpc3N1ZXIgYW5kIEpXS1Mgd2l0aAogICBJQ01TIGF0IGAtLWlj" + + "bXMtdXJsYCBhbmQgd3JpdGVzIHRoZSBOVkNBIG9wZXJhdG9yIHZhbHVlcy4gYGNvbXB1dGUtcGxh" + + "bmUKICAgaW5zdGFsbGAgaW5zdGFsbHMgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sgd2l0aCB0aGVt" + + "LiBOZWl0aGVyIHRvdWNoZXMgdGhlCiAgIGNvbnRyb2wtcGxhbmUgY2x1c3RlcjogSUNNUyBpcyBy" + + "ZWFjaGVkIG92ZXIgSFRUUFMuIGAtLXRva2VuYCBwYXNzZXMgdGhlCiAgIGFkbWluIEpXVDsgd2l0" + + "aG91dCBpdCB0aGUgdG9rZW4gYG52Y2YtY2xpIGluaXRgIHN0b3JlZCBpcyB1c2VkLgoKNC4gVmVy" + + "aWZ5LiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0t" + + "anNvbiB8IGpxYDogZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0ZXJlZCBD" + + "b21wdXRlIFBsYW5lcyBwYW5lbCBmcm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBuZXcgY2x1" + + "c3Rlci4KCjUuIFNtb2tlLiBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRlcGxveS1hbmQtaW52b2tl" + + "Lm1kKTogZGVwbG95IGEgc21hbGwgZnVuY3Rpb24gdG8gdGhlIG5ldyBjb21wdXRlIHBsYW5lIHRv" + + "IGNvbmZpcm0gc2NoZWR1bGluZyB3b3Jrcy4KCiMjIFdoYXQgaWYgYSBjbHVzdGVyIHdpdGggdGhl" + + "IHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cz8KCmBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCByZXVz" + + "ZXMgYW4gZXhpc3RpbmcgcmVnaXN0cmF0aW9uOiBpdCBtYXRjaGVzIHRoZSBJQ01TIHJvdyB3aXRo" + + "IHRoZSBzYW1lIG5hbWUsIHJldXNlcyBpdHMgY2x1c3RlcklkIGFuZCByZXBsYWNlcyBpdHMgSldL" + + "Uy4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0aGUgc2FtZSBjbHVzdGVyKiog" + + "KHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0aGF0IHdhcyBwcmV2aW91c2x5" + + "IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNzLgotICoqRGlmZmVyZW50IHBo" + + "eXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vjb25kIGF0dGVtcHQgd2lsbCBy" + + "ZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUgcGxhbmUncyBKV0tTIHdpbGwg" + + "YmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21wdXRlIHBsYW5lJ3MgTlZDQSBh" + + "Z2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNvbmZpcm0gd2l0aCB0aGUgdXNl" + + "cioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVuIGluIGRvdWJ0LCBydW4gYG52" + + "Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVy" + + "bD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUgcHJvY2VlZGluZyB3aXRoIGEg" + + "bmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcI7DeAX4QSAACEEgAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + + "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1biBhIHRhc2sKClN0YW5kYXJk" + + "IGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4gbW9uaXRvciAtPiByZXRyaWV2" + + "ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBrZXlzCgpUaGUgYWRtaW4gdG9r" + + "ZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZvY2F0aW9uIHNjb3BlLiBHZW5l" + + "cmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlw" + + "dGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKIyAtPiBmdW5jdGlvbiBrZXk6" + + "IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBgCgpCb3RoIGtleXMgYXJlIHNh" + + "dmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNrIGtleToKCmBgYHNoCm52Y2Yt" + + "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tl" + + "IHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRlIGVhY2gga2V5IGltbWVkaWF0" + + "ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVz" + + "Y3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoIC0tdmFsaWRhdGUKIyAt" + + "PiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQojIC0+IHRhc2sgQVBJIGtleSB2" + + "YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBrZXkgdmFsdWUgKG52YXBpLS4u" + + "LikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQgdGhlIGtleSB3YXMgbWludGVk" + + "LCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBuZXZlciB0aGUgdmFsdWUgaXRz" + + "ZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVmb3JlIHJ1bm5pbmcgYW55IGB0" + + "YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwgdmVyaWZ5IGNyZWRlbnRpYWxz" + + "OgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBzZXQ6CgogICBgYGBzaAogICBw" + + "cmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBlY2hvIHNldCB8fCBlY2hv" + + "IHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3JlZCBrZXkgZXhwaXJ5IHdp" + + "dGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAgcHl0aG9uMyAtYyAiaW1wb3J0" + + "IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0aCgnfi8ubnZjZi1jbGkuc3Rh" + + "dGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChzLmdldCgnbnZjdEFwaUtleUV4" + + "cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRoZSBleHBpcnkgaXMgaW4gdGhl" + + "IHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHJlZnJl" + + "c2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249" + + "InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAgYGBgCgo0LiBJbmplY3Qg" + + "dGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYgd2l0aG91dCBsb2dnaW5nIHRo" + + "ZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHByZWZpeCDigJQgbmV2ZXIgcHJp" + + "bnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNhdGlvbjoKCi0gIm1pc3Npbmcg" + + "YXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5IG5vdCBpbmplY3RlZDsg" + + "cmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVkIG9yIHdyb25nIGF1ZGll" + + "bmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7IG5vIHRhc2tzIGV4aXN0" + + "IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmluZSB0aGUgdGFzayBpbiBh" + + "IEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6CgpgYGBqc29uCnsKICAi" + + "bmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNpZmljYXRpb24iOiB7CiAg" + + "ICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAog" + + "ICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5lckltYWdlIjogIm52Y3Iu" + + "aW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6ICJweXRob24gLWMgXCJw" + + "cmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRsaW5nU3RyYXRlZ3kiOiAi" + + "Tk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNr" + + "LWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKQ2FwdHVyZSB0aGUg" + + "dGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNlIGNhbiBmYWlsIHNpbGVu" + + "dGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJzZXF1ZW50IGNvbW1hbmRz" + + "IHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVpdmFsZW50IENMSSBmbGFn" + + "cyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRl" + + "IFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1PUgxMDAgXAogIC0taW5z" + + "dGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1uY3AtbG9jYWwgXAogIC0t" + + "aW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29udGFpbmVyLWFyZ3M9InB5" + + "dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJlc3VsdC1zdHJhdGVneT1O" + + "T05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVyOgoKYGBgc2gKbnZj" + + "Zi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gLS1jbHVz" + + "dGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50IHZhcmlhYmxlcyBvciBz" + + "ZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0t" + + "aW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRhaW5lci1lbnYgTVlfRU5W" + + "PXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAKCm9yIHNldCB0aGVtIGlu" + + "IHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52aXJvbm1lbnQiOiBbCiAg" + + "ICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0sCiAgInNlY3JldHMiOiBb" + + "CiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3IzdCJ9CiAgXQp9CmBgYAoK" + + "U2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1cm5lZCBpbiBsaXN0IG9y" + + "IGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVtLgoKIyMgMy4gVGFzayBD" + + "UkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2UgYGNvbnRhaW5lckltYWdl" + + "YCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAic21va2UtaGVsbS10YXNr" + + "IiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFu" + + "Y2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAg" + + "fSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS88b3JnPi9jaGFy" + + "dHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRsaW5nU3RyYXRlZ3kiOiAi" + + "Tk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNr" + + "LWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBoZWxtQ2hhcnRgIGFuZCBg" + + "Y29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgojIyAzYi4gVXBkYXRlIHNl" + + "Y3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRhc2sgdXBkYXRlLXNlY3Jl" + + "dHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVwZGF0ZS1zZWNyZXRzYCBt" + + "ZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRh" + + "dGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgYXJl" + + "IHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRvIGNoYXQuCgojIyA0LiBN" + + "b25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldCA8dGFza19p" + + "ZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5HCmBgYAoKT3IgdXNlIHRo" + + "ZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVjZW50IGB0YXNrIGNyZWF0" + + "ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2YWx1ZXM6IGBRVUVVRURg" + + "LCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBDQU5DRUxF" + + "RGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhfUVVFVUVE" + + "X0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgcHJvZ3Jlc3MgZGV0YWls" + + "cyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNrIGV2ZW50cyA8dGFza19p" + + "ZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwgY2hlY2sgdGhhdCBhIGNv" + + "bXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyByZWdpc3RlcmVkIGFuZCBo" + + "ZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJZiB0aGUgdGFzayBtb3Zl" + + "cyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5zIHRoZSBmYWlsdXJlIHJl" + + "YXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3QgdGhlIHRhc2sgd29ya2xv" + + "YWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgKYGt1YmVjdGxgIGFnYWlu" + + "c3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4KCiMjIDUuIFJldHJpZXZl" + + "IHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBOT05FYCwg" + + "cmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRz" + + "IDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0YXNrcyB3aXRoIGByZXN1" + + "bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9hZCB0byB0aGUgbG9jYXRp" + + "b24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3MgY3JlZGVudGlhbHMgbXVz" + + "dCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRlcgp0aGUgdGFzayByZWFj" + + "aGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgpg" + + "YGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0ZWQgaW4gdGhpcyByZWxl" + + "YXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNrOgoKYGBgc2gKbnZjZi1j" + + "bGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0YXNrIHJlY29yZCBhZnRl" + + "ciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNrIGRlbGV0" + + "ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3JlIHJ1" + + "bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBpdHMgY3VycmVudCBzdGF0" + + "dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHByb21wdCBhbHJlYWR5IHJl" + + "cXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNpdCBsYXN0LWxvb2sgY29u" + + "ZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5vdCBiZSB1bmRvbmUuCgpU" + + "byBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVzZWZ1bCBiZWZvcmUgYnVs" + + "ayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNmLWNsaSB0YXNrIGxpc3Qg" + + "LS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZhbWlseSBhbmQgaW5zdGFu" + + "Y2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNsdXN0ZXIgU0tVLiBNaXNt" + + "YXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAgaW5kZWZpbml0ZWx5LiBV" + + "c2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdpc3RlcmVkIFNLVXMuCi0g" + + "Rm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVzLCBlbnN1cmUgdGhlIGNv" + + "bXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgaXMgY29uZmln" + + "dXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkAAJ8ZAABQSwMEFAAIAAAAAAAh" + + "AAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxv" + + "eS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9rZSBhIGNvbnRhaW5lciBm" + + "dW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9uIENSRUFURSDihpIgREVQ" + + "TE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5WT0tFLgoKIyMgMS4gRnVu" + + "Y3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVt" + + "OgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rp" + + "b24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIElmIGVpdGhlciB2YWx1" + + "ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0IGV4YW1w" + + "bGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8Y29uZmly" + + "bWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNvbmZpcm1lZC1jb250" + + "YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwKICAiaW5mZXJlbmNlUG9y" + + "dCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNobyBmdW5jdGlvbiIsCiAg" + + "ImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1hdCI6ICJDVVNUT00iLAog" + + "ICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgi" + + "LAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVk" + + "U3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0" + + "ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gSUQ6IDxmbl9pZD4K" + + "IyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJRHMg4oCUIHRoZXkncmUg" + + "bmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0aW9uIHZhcmlhbnQKCkZv" + + "ciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAi" + + "TExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYDoK" + + "CkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9u" + + "IG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYg" + + "YW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJt" + + "aXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjog" + + "Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29uZmly" + + "bWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5j" + + "ZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAg" + + "InByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAw" + + "MCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAK" + + "ICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwt" + + "bmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9j" + + "b21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAg" + + "InJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6" + + "ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZv" + + "cm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1l" + + "ZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQtY29udGFpbmVyLWltYWdl" + + "PiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0t" + + "aGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRp" + + "bWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVj" + + "dGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0tbGxtLW1vZGVsPSdu" + + "YW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wvdjEv" + + "cmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5S" + + "YXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kgc3RlcCBiZWxvdyBhZnRl" + + "ciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBtb2RlbCByb3V0aW5nIHVw" + + "ZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0ZSBcCiAg" + + "LS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZlcl9pZD4gXAogIC0tbGxt" + + "LW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHJvdXRpbmdNZXRob2Q9" + + "cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhpcyBmb3IgbXV0" + + "YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7IGNyZWF0ZS10aW1lIGB1" + + "cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5SYXRlTGltaXRgIHN1cHBv" + + "cnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2AsIGBNYCwgYEhgLCBgRGAs" + + "IGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5lIENMSSBsaW1pdC4gVXNl" + + "IGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBgMTAwMC1TLDUwMDAtTSwx" + + "MDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGluZSBtb2RlbCBzcGVjcyB1" + + "c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBjaGFydCBMTE0gZnVuY3Rp" + + "b24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRlbnQgb2Ygd29ya2xvYWQg" + + "cGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIGtlZXAgdGhl" + + "IHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGZpZWxkcywgdGhl" + + "biBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuIFRoZSBzZXJ2aWNl" + + "IG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5kZXJlZCBieSB0aGUgY2hh" + + "cnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZpY2UgcG9ydC4KCkJlZm9y" + + "ZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUg" + + "YW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3Npbmcs" + + "IHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9y" + + "IHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24t" + + "bmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAog" + + "ICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhU" + + "VFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0" + + "IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJoZWxtQ2hh" + + "cnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUvdGVhbS9jaGFydHMvb3Bl" + + "bmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2VydmljZU5hbWUiOiAib3Bl" + + "bmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25m" + + "aXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjog" + + "WyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdz" + + "Il0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tl" + + "blJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50" + + "IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFt" + + "ZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAt" + + "LWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0" + + "aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3Rv" + + "Y29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24t" + + "dHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhh" + + "bXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3ogXAogIC0taGVsbS1j" + + "aGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1tb2RlbD0nbmFtZT08Y29u" + + "ZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8L3YxL3Jlc3BvbnNl" + + "c3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRva2VuUmF0ZUxpbWl0" + + "PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hhcnQtc3BlY2lmaWMgdmFs" + + "dWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25maWd1cmF0aW9uYCBvbmx5" + + "IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBgYGpzb24KewogICJmdW5j" + + "dGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3lt" + + "ZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5" + + "cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heElu" + + "c3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAsCiAgICAiY29uZmln" + + "dXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRlbnNvclBhcmFsbGVsU2l6" + + "ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdheSByb3V0ZXMgcmVxdWVz" + + "dHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5jdGlvbi1pZD4vPG1vZGVs" + + "LW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0" + + "aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFtIGNvbnRhaW5lciB0aHJv" + + "dWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRoczoKCnwgUGF0aCB8IE5v" + + "dGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9uc2AgfCBTdXBwb3J0cyBz" + + "dHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvcmVzcG9uc2VzYCB8IE5h" + + "dGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Igc3RyZWFtaW5nIGNsaWVu" + + "dHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVhbWluZyBjbGllbnRzLiBT" + + "dXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVkZGluZ3NgIHwgQWNjZXB0" + + "cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11c3QgYmUgbm9uLWVtcHR5" + + "IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8gc2Vzc2lvbiBzdGlja2lu" + + "ZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjog" + + "Ijxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lm" + + "aWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQ" + + "LkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6" + + "IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9CmBgYAoKTm90ZTogYGdw" + + "dWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBpbnN0YW5jZVR5cGVgIGlz" + + "IHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRjaCByZXR1cm5zIElDTVMg" + + "NDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgY3JlYXRl" + + "IC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29tbWFuZCAqKmJsb2Nrcyoq" + + "IHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZhdWx0IDkwMHMgdGltZW91" + + "dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBpcyBydW5uaW5nIGluIHRo" + + "ZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci4K" + + "CiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlCgpgbnZj" + + "Zi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0aGUgYGludm9rZV9mdW5j" + + "dGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlzc2luZyByZXF1ZXN0ZWQg" + + "YXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdl" + + "bmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4gaW52b2tlIiAt" + + "LWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1zdGctLi4uCmBgYAoKVGhl" + + "IGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3RhdGUgZmlsZSBhbmQgdXNl" + + "ZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRvbid0IGVjaG8gdGhlIGtl" + + "eSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZPS0UKCmBgYGpzb24Kewog" + + "ICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJy" + + "ZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpgYGBzaApudmNmLWNsaSBm" + + "dW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29uCiMg4oaSIEZ1bmN0aW9u" + + "IGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZpbGxlZAojIOKGkiBSZXF1" + + "ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZva2UgdGhlIE9wZW5BSS1j" + + "b21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NU" + + "ICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQvY29tcGxldGlvbnMiIFwK" + + "ICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250" + + "ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9p" + + "ZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjogdHJ1ZSwKICAgICJtZXNz" + + "YWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAogICAgICAgICJjb250ZW50" + + "IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3BlbkFJIGBtb2RlbGAgdmFs" + + "dWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNvIHRoZSBnYXRld2F5IGNh" + + "biBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNlcyBBUEkgZXhhbXBsZToK" + + "CmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4v" + + "djEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0ZfQVBJX0tF" + + "WX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQgJ3sKICAg" + + "ICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgImlucHV0Ijog" + + "IldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAgfScKYGBgCgpFbWJlZGRp" + + "bmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0" + + "aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVy" + "ICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24i" + "IFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIs" + - "CiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9" + - "JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBz" + - "Oi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3Jp" + - "emF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBw" + - "bGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVk" + - "LW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScK" + - "YGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVu" + - "dCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBz" + - "dXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25l" + - "IHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1m" + - "dW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3" + - "aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVw" + - "bG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1l" + - "cyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBv" + - "biBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3Rz" + - "KS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNv" + - "bW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBn" + - "cHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgx" + - "MDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0" + - "aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1w" + - "bGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3Vi" + - "ZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdl" + - "UHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "PQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWlu" + - "c3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5z" + - "dGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIu" + - "IERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGlj" + - "dAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBg" + - "CgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAq" + - "KmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkn" + - "cmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBs" + - "YXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDi" + - "gJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qg" + - "d2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxp" + - "emluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAq" + - "KmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1" + - "c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3du" + - "YCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJl" + - "IGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBE" + - "cmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBv" + - "bmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEt" + - "MCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1" + - "YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBv" + - "ZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsg" + - "bGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNz" + - "IHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJv" + - "Z3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtl" + - "bHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9k" + - "SW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1" + - "Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZh" + - "dWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFn" + - "ZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFn" + - "ZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBo" + - "ZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29t" + - "ZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRz" + - "IG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5" + - "LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxs" + - "IGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJv" + - "eHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRl" + - "LW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1" + - "c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlz" + - "c3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9y" + - "ZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVz" + - "dGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBs" + - "YW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGht" + - "IGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciBy" + - "ZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBs" + - "YW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8" + - "CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBz" + - "YXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRz" + - "IGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRv" + - "cjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlz" + - "KSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikg" + - "fCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBm" + - "b2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcw" + - "NGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNv" + - "bmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNl" + - "IGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNh" + - "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0" + - "aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rl" + - "ci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3Jl" + - "IGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBk" + - "ZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBk" + - "bwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3Rp" + - "YyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1" + - "c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1" + - "YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxl" + - "dGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJl" + - "bnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNg" + - "IC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0" + - "YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZy" + - "b20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEg" + - "ZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMg" + - "dGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9w" + - "b2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUg" + - "YW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250" + - "cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1" + - "Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1" + - "c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBs" + - "ZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1" + - "Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0" + - "IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBh" + - "cmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNk" + - "LiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVs" + - "eSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMu" + - "IEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQK" + - "ICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2Vy" + - "IGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJl" + - "YWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0" + - "ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFs" + - "b25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1m" + - "IGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMv" + - "ZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3Bh" + - "Y2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lz" + - "IG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9y" + - "IG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAg" + - "ICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVl" + - "IC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8v" + - "ZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4z" + - "IFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWlu" + - "ZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93" + - "bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVu" + - "dGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25m" + - "aWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xs" + - "ZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9y" + - "IGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05B" + - "TUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAi" + - "JEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3" + - "b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0" + - "ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFs" + - "YW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBz" + - "ZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtz" + - "L2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2Us" + - "IGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxh" + - "bmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0" + - "aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJv" + - "dmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxh" + - "bmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBw" + - "bGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xs" + - "ZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAg" + - "YmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAg" + - "ICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlv" + - "bnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1z" + - "Y2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNs" + - "b3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6Cgog" + - "ICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZp" + - "Y2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBg" + - "YAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxv" + - "YWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxi" + - "YCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdl" + - "dCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNl" + - "CiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25l" + - "IFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1Mg" + - "TG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2" + - "aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUg" + - "bWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBh" + - "cHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNl" + - "IEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxF" + - "T0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6" + - "IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVu" + - "dm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBL" + - "dWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAg" + - "ICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5p" + - "by9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNl" + - "LmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJp" + - "bnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2Fk" + - "LWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246" + - "IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1l" + - "dGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3" + - "YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNS" + - "ZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZv" + - "eVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5" + - "c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBn" + - "YXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6" + - "CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAg" + - "IHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBu" + - "YW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFs" + - "bG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0" + - "b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAg" + - "ICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJv" + - "dG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAg" + - "ICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxl" + - "Y3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRm" + - "b3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJl" + - "IHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZp" + - "Y2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5l" + - "cmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9u" + - "IHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBh" + - "bmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1F" + - "PSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQg" + - "UkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZv" + - "eS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAg" + - "ZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBH" + - "UlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FU" + - "RVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAg" + - "LS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwg" + - "LW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlf" + - "TkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEw" + - "bQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05B" + - "TUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25w" + - "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVX" + - "QVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRl" + - "d2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + - "ZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQog" + - "ICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tf" + - "RE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0" + - "aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBG" + - "b3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRl" + - "d2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNs" + - "aS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9Igog" + - "ICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDog" + - "IiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0" + - "dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFD" + - "S19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9o" + - "b3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lk" + - "OiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tl" + - "eXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNA" + - "bnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAK" + - "CjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xv" + - "Z3kuIGAtLWpzb25gIHdyaXRlcwogICBKU09OTCB0byBzdGRlcnIsIHNvIHJlZGlyZWN0IGl0IHRv" + - "IHRoZSBwYXJzZXIgYW5kIGtlZXAgb25seSBKU09OIGxpbmVzOgoKICAgYGBgc2gKICAgIyBTaW5n" + - "bGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gMj4m" + - "MSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKCiAgICMgU3BsaXQ6IHBhc3Mg" + - "Ym90aCBjb250ZXh0IGZsYWdzCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwK" + - "ICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdy" + - "ZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIEdhdGUgb24gdGhlIGZpbmFsIGV2ZW50LiBBIG1p" + - "c3NpbmcgZmluYWwgZXZlbnQgYWxzbyBmYWlscyB0aGUgZ2F0ZS4KICAganEgLXNlICdhbnkoLltd" + - "OyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAg" + - "IElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRoZSB1c2VyIGVhY2ggYGNoZWNrX2NvbXBsZXRlZGAg" + - "ZXZlbnQgd2l0aAogICBgcGFzc2VkOiBmYWxzZWAgYW5kIGBzZXZlcml0eTogImVycm9yImAgKGl0" + - "cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJMYCksIGFuZAogICBzdG9wLiBEb24ndCBwcm9jZWVkIHRv" + - "IGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4gUm93cyBhdAogICBgc2V2ZXJpdHk6ICJ3YXJu" + - "aW5nImAgZG8gbm90IGZhaWwgdGhlIGdhdGU7IG1lbnRpb24gdGhlbS4gRm9yIGFuIG9wZXJhdG9y" + - "CiAgIHdpdGgga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seSwgdXNlIHRo" + - "ZSBjb21wdXRlLW9ubHkgZm9ybSBpbgogICBbYWRkLWNvbXB1dGUtcGxhbmUubWRdKGFkZC1jb21w" + - "dXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoKNC4gTWludCBhbiBhZG1pbiB0b2tlbiBpZiBuZWVkZWQu" + - "IGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50LiBDYWxsIGl0IGlmIHRoZQogICB1c2VyIGRv" + - "ZXMgbm90IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5pdCB0YWxrcyB0byBBUEkgS2V5cyB0aHJvdWdo" + - "IHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3YXksIHNvIGl0IGFsc28gd29ya3MgaW4gY29tcHV0ZS1v" + - "bmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4gVXNlIGAtLWpzb25gIGZvciB0aGUgSlNPTkwgZXZlbnQg" + - "c3RyZWFtOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY2x1" + - "c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBc" + - "CiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIEZvciBz" + - "cGxpdC1jbHVzdGVyIGluc3RhbGxzLCBhZGQgYm90aCBjb250ZXh0IGZsYWdzOgoKICAgYGBgc2gK" + - "ICAgZXhwb3J0IENPTlRST0xfUExBTkVfQ09OVEVYVD0iYWRtaW5AY29udHJvbC1wbGFuZSIKICAg" + - "ZXhwb3J0IENPTVBVVEVfUExBTkVfQ09OVEVYVD0iYWRtaW5AZ3B1LWNsdXN0ZXIiCgogICBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9IiR7Q09O" + - "VFJPTF9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIke0NP" + - "TVBVVEVfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05B" + - "TUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lP" + - "Tn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBQYXJzZSBldmVudHM6CiAgIC0gYHBoYXNlX3N0" + - "YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRlZGA6IGxvZyBwcm9ncmVzcwogICAtIGBwaGFzZV9wcm9n" + - "cmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9yIHRoZSBsb25nIGFwcGx5IHBoYXNlcyAocmVzb3VyY2Ug" + - "Y291bnRzKQogICAtIGB3YWl0aW5nYDogc3VyZmFjZSB0byB0aGUgdXNlciBpZiBpdCBwZXJzaXN0" + - "cyBmb3IgbW9yZSB0aGFuIDIgbWludXRlcwogICAtIGBwaGFzZV9mYWlsZWRgOiBzdG9wIGFuZCBz" + - "dXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVzIGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5lLgogICAgIERl" + - "Y2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIC0+IG1heSByZS1ydW4gbm93" + - "IHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYmFja29mZmAgLT4gd2FpdCBgcmV0cnlBZnRlclNl" + - "Y2AgYW5kIHRoZW4gcmUtcnVuIHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYWZ0ZXJfcmVtZWRp" + - "YXRpb25gLCBgbm9uZWAsIG9yIGB1bmtub3duYCAtPiB0aGUgb3BlcmF0b3IgbXVzdAogICAgIGFj" + - "dCBmaXJzdCwgc28gZG8gbm90IGF1dG8tcmV0cnkuCiAgIC0gYGZpbmFsYDogZG9uZS4gUHJpbnQg" + - "Y2x1c3RlcklkIGFuZCBOVkNGQmFja2VuZCBoZWFsdGguCgo2LiBWZXJpZnkgd2l0aCBzdGF0dXMu" + - "IFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxYCBhbmQgZXhwZWN0" + - "CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBPdGhlcndpc2UsIHVzZQogICBbZGlhZ25vc2UtZmFp" + - "bGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKS4KCjcuIE9wdGlvbmFs" + - "bHkgc21va2UgdGVzdCBhIGZ1bmN0aW9uLiBVc2UKICAgW2RlcGxveS1hbmQtaW52b2tlLm1kXShk" + - "ZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUgLT4gZGVwbG95IC0+CiAgIGludm9r" + - "ZSBmbG93LgoKIyMgTm90ZXMKCi0gU2luZ2xlLWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGEgZnJlc2gg" + - "Y2x1c3RlciB0YWtlcyBhYm91dCAxMC0xMyBtaW51dGVzLAogIGRlcGVuZGluZyBvbiBjaGFydCBw" + - "dWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBpZGVtcG90" + - "ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1biBhZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNpdGUuCi0g" + - "TmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25lIGFueXdheSkuCi0g" + - "SWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAgc2V0LCBhbHdheXMgdXNlIGAtLW5vbi1pbnRlcmFj" + - "dGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBwcm9wb3NlIGBudmNmLWNsaSBpbml0YCBpbnRlcmFj" + - "dGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQF" + - "AAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3MgSldLUwoKVXNlciBzYXlzIE5WQ0Egc3RvcHBlZCBh" + - "dXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRoIGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01TLiBUaGUg" + - "SzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmluZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQgYW5kIHRo" + - "ZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5vdyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90YXRlCgot" + - "IGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + - "dmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy88aWQ+L3JlZ2lzdGVy" + - "YCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNob3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxp" + - "ZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNtYXRjaCwg" + - "bm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMgYm90aCkKLSBBZnRlciBhIGNvbnRyb2wtcGxhbmUg" + - "SzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFuZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMKCjEuIENv" + - "bmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVy" + - "ZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYC4gSWRlbnRpZnkgdGhlIHJvdyBt" + - "YXRjaGluZyB0aGUgdXNlcidzIGNvbXB1dGUgcGxhbmUuCgoyLiAqKlJvdGF0ZS4qKiBGcm9tIGEg" + - "Y29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgKGJlY2F1" + - "c2Ugcm90YXRpb24gcmUtZmV0Y2hlcyB0aGUgSzhzIEFQSSdzIGAvb3BlbmlkL3YxL2p3a3NgKToK" + - "CiAgIGBgYHNoCiAgIG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+IC0t" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PTxjdHg+CiAgIGBgYAoKICAgVGhpcyByZS1mZXRjaGVzIEpX" + - "S1MgZnJvbSB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgYW5kIFBVVHMgaXQgdG8gSUNNUy4g" + - "VGhlIGNsdXN0ZXIgSUQgc3RheXMgdGhlIHNhbWUuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkg" + - "Y2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRgIGFk" + - "dmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + - "ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3VsZCBz" + - "dWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBgY2x1" + - "c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdyb3Vw" + - "IElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95IHRo" + - "ZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQgYG91" + - "dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElDTVMg" + - "b25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0ZXIg" + - "SUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBtYXkg" + - "YmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91dCBo" + - "ZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1jYWxs" + - "b3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5X2Ns" + - "dXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZpZ21h" + - "cCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZhaWxl" + - "ZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNoZWNr" + - "cy4KUEsHCKrhOrnIBwAAyAcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIgZG93" + - "biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24gZGVz" + - "dHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBrZXlz" + - "LCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZv" + - "cmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5zdGFs" + - "bGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3duIHN1" + - "cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToKCnwg" + - "VGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwKfCBQ" + - "ZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBgaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1bmlu" + - "c3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8Cnwg" + - "T3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNsdXN0" + - "ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwKClVz" + - "ZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRPcHMg" + - "KGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVzLiBB" + - "bHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2RlIHwg" + - "TGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18LS0t" + - "fC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykgfCAq" + - "Kk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBoYXNl" + - "IHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50IHN0" + - "cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1pdGl2" + - "ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0gZ2V0" + - "IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBgZG93" + - "biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVzdHJh" + - "dG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1uby1h" + - "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhlIFlB" + - "TUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMgcHJl" + - "dmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0" + - "ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBXaGVu" + - "IHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0tfAp8" + - "ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + - "d24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUgc3Rl" + - "cHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + - "biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBjb21t" + - "aXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRlLnlh" + - "bWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBsYW5l" + - "IChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "dW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3QgcmVt" + - "b3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAtLWNs" + - "dXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29wZSB3" + - "aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0ZSBw" + - "bGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRlIHBs" + - "YW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlzIGNs" + - "dXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1wb3J0" + - "YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxw" + - "cm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVudCBz" + - "dGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVzZXIg" + - "ZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJzaXN0" + - "ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIKCiMj" + - "IyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhpcyBl" + - "bWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJlbGVh" + - "c2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3VsZCBi" + - "ZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNbXWAg" + - "YXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmluc3Rh" + - "bGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMuIEV4" + - "ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVy" + - "LW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6Cgox" + - "LiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVzb2x2" + - "ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBmdW5j" + - "dGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMgdW50" + - "aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9tcHRg" + - "IChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBsYW5l" + - "IOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1bmlu" + - "c3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBSZW1v" + - "dmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2LiBV" + - "bnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRlYXIg" + - "ZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9yY2hl" + - "c3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28gZ29p" + - "bmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVmdXNl" + - "cyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVzZSBg" + - "LS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoqIGlm" + - "IHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQU0FU" + - "IGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZhaWxp" + - "bmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZv" + - "cmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBzaApu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRlcmF0" + - "ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBlci1j" + - "bHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNvbmN1" + - "cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5l" + - "YC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVzdGVy" + - "IGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQgZm9y" + - "IG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJnbyAv" + - "IEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxhbmU6" + - "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFu" + - "ZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1pdHMg" + - "ZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRoZSBk" + - "ZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQgLW0g" + - "InJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBzeW5j" + - "IHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01TIHJv" + - "dzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBgYAoK" + - "Tm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIgZGVs" + - "ZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBHaXRP" + - "cHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1c2Ug" + - "YGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBgZG93" + - "bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiouIFRo" + - "ZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyByZWxl" + - "YXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25vcmUt" + - "bWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2UgNCAr" + - "IDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25kIHJ1" + - "bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29yeTog" + - "ImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9uImAg" + - "4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZgICh0" + - "aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1biBg" + - "ZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24uCi0g" + - "YGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlh" + - "dGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIgcGFz" + - "c2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1ydW4g" + - "d2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAgYW5k" + - "IGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNlIGBl" + - "cnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1AuIERv" + - "IG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25maXJt" + - "CgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGlu" + - "dm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUgdGhl" + - "IGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBsb3N0" + - "IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9jYWxg" + - "IHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIikuCi0g" + - "SWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRoYXQg" + - "Q2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHRo" + - "YXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29uZmly" + - "bWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJz" + - "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhhbmVk" + - "LgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFpbmlu" + - "ZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24gYSBD" + - "TEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVyIGNv" + - "bXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBudmNh" + - "LWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4gbnZj" + - "YS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBudmNh" + - "LXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgojIERy" + - "YWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxp" + - "ZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmNk" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxtZmls" + - "ZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sgYnVu" + - "ZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwgcGF0" + - "aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxsZWQu" + - "CgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3MgIndo" + - "eSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0ZWZ1" + - "bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVsbSB1" + - "bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxseSBz" + - "byBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUgY29t" + - "cGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + - "b3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoKT3Is" + - "IHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0tYWxs" + - "CmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBzdGVw" + - "LgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZjZi1j" + - "bGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBhaXIg" + - "d2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1jb2Rl" + - "cy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVkIGxp" + - "ZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwtLS18" + - "LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxpZ2h0" + - "IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3RyeSBj" + - "cmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWluZyBl" + - "dmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wtcGxh" + - "bmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlg" + - "IG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVkIGNo" + - "ZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wgcGxh" + - "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFs" + - "aWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1bnRp" + - "bCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBs" + - "YW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFt" + - "ZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRoZSBj" + - "b21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRl" + - "cnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4gV2l0" + - "aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBgc2Vs" + - "Zi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3ZlIHwg" + - "c3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50OyBz" + - "ZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFs" + - "bCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwgWUFN" + - "TCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1ob3N0" + - "ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3RlciBj" + - "bHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBPbmUg" + - "aW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXIt" + - "bmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0eSkg" + - "c3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7" + - "IGZvciBjb21wdXRlLW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNvbXB1" + - "dGUtcGxhbmUgaW5zdGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0" + - "ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZy" + - "aWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5l" + - "IHJlZ2lzdGVyIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAtLWt1" + - "YmUtY29udGV4dD1ZIFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3RlciB3" + - "aXRoIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJhdG9y" + - "IHZhbHVlcyB8IHN1bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQVSBj" + - "bHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNlbGYt" + - "aG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0PVlg" + - "IHwgSW5zdGFsbCBhIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBsYW5l" + - "IHJlZ2lzdGVyYCB3cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29tcHV0" + - "ZS1wbGFuZSByZWdpc3RlcmAgfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1l" + - "PVhdIFstLXdhdGNoXWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFpbi9KU09O" + - "TCB8IGAtLXdhdGNoYCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2" + - "ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVn" + - "aXN0ZXIsIG5vIGRyYWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNlcyBvbiB0" + - "aGF0IGNvbXB1dGUgcGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBs" + - "YW5lIFstLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5lIHByaW1p" + - "dGl2ZTogYGhlbG1maWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3Mg" + - "fCBSZWZ1c2VzIGlmIGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNzIGAtLWZv" + - "cmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwg" + - "LS1uby1hcHBseSA8cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0gZ2V0IG1h" + - "bmlmZXN0YCBwZXIgcmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBlIHRvIGBr" + - "dWJlY3RsIGRlbGV0ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJvcnMgYGlu" + - "c3RhbGwgLS1uby1hcHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVgg" + - "Wy0tZHJhaW4tYWN0aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJhdG9yOiBk" + - "cmFpbiDihpIgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxldGUgaW4g" + - "SUNNUyB8IHByb2dyZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVzdGVyLW5h" + - "bWU9WGAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9yY2hlc3Ry" + - "YXRvcjogdGVhciBkb3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wg" + - "cGxhbmUgfCBwcm9ncmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1jb25jdXJy" + - "ZW5jeWAgKGRlZmF1bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRlcmFjdGl2" + - "ZSB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3RyYXRvciBk" + - "cnktcnVuOiBwaGFzZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAobm8gaGVs" + - "bS9oZWxtZmlsZSBjb250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBhbnkgYWN0" + - "dWFsIGBkb3duYCoqIHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwgUHVycG9z" + - "ZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1YIC0t" + - "bmNhLWlkPVkgWy0tcmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIgYSBK" + - "V0tTK09JREMgd2l0aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxseTsgc3Rh" + - "bmRhbG9uZSBmb3IgbWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdC1yZWdpc3Rl" + - "cmVkIC0tbmNhLWlkPVkgWy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVkIGNsdXN0" + - "ZXIgcmVnaXN0cmF0aW9ucyBmcm9tIElDTVMgfCBVc2VzIHRoZSBhZG1pbiB0b2tlbjsgYC0tanNv" + - "bmAgZm9yIG1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IHwKfCBgY2x1c3RlciByb3RhdGUgLS1jbHVz" + - "dGVyLWlkPUlEYCB8IFJlLWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01TIHwgQWZ0" + - "ZXIgSzhzIEFQSSBzZXJ2ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVyIGRlbGV0" + - "ZSAtLWNsdXN0ZXItaWQ9SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElWRTogY29u" + - "ZmlybSB3aXRoIHVzZXIqKiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBO" + - "b3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxF" + - "YCB8IENyZWF0ZSBmdW5jdGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQgKyBWZXJz" + - "aW9uIElEOyBMTE0gZnVuY3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2Rl" + - "bHNbXS5sbG1Db25maWcudXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVz" + - "cG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAvIGBmdW5j" + - "dGlvbiBsaXN0LWlkc2AgfCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBmdW5jdGlv" + - "biBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9uIG1ldGFk" + - "YXRhIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9" + - "VklEIC0tdGFncz1UQUdbLFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8CnwgYGZ1bmN0" + - "aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0tbW9kZWwt" + - "dXBkYXRlPVNQRUNgIHwgVXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBTUEVDYCB1" + - "c2VzIGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08" + - "bGltaXQ+YDsgYWNjZXB0ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0oZmxhZ3Mu" + - "bWQpIHwKfCBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTY2hl" + - "ZHVsZSBhIGRlcGxveW1lbnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkwMHMpIHwK" + - "fCBgZnVuY3Rpb24gZGVwbG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQg" + - "Wy0tanNvbl1gIHwgRGVwbG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFDVElWRVx8" + - "REVQTE9ZSU5HXHxFUlJPUlx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRhdGUgLS1p" + - "bnB1dC1maWxlPUZJTEVgIHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwKfCBgZnVu" + - "Y3Rpb24gZGVwbG95IHJlbW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwg" + - "U3RvcCBhIGRlcGxveW1lbnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5jdGlvbiBp" + - "bnZva2UgLS1pbnB1dC1maWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24gfCBSZXF1" + - "aXJlcyBBUEkga2V5IChub3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBpbnZva2Vk" + - "IHRocm91Z2ggYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxmdW5jdGlv" + - "bi1pZD4vPG1vZGVsLW5hbWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1J" + - "RCAtLXZlcnNpb24taWQ9VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQgfCAqKkRF" + - "U1RSVUNUSVZFOiBjb25maXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNvbW1hbmRz" + - "IHJlcXVpcmUgYE5WQ0ZfQVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFuZCBgTlZD" + - "Rl9CQVNFX05WQ1RfVVJMYCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4gSW4gYSBm" + - "cmVzaCBzZXNzaW9uLCByZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5zdGF0ZWAg" + - "YW5kIGluamVjdCBpdCBhcyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVl" + - "OyBjaGVjayBgbnZjdEFwaUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRlIHdpdGgg" + - "YGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVkLiBSdW4g" + - "YGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQgYSBuZXcg" + - "a2V5LgoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNr" + - "IGNyZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1pbWFnZT1J" + - "TUdgIHwgU3VibWl0IGEgY29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0" + - "ZTsgdXNlIGAtLWlucHV0LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0YXNrIGNy" + - "ZWF0ZSAtLW5hbWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxtLWNoYXJ0" + - "PUNIQVJUYCB8IFN1Ym1pdCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2VzIGAt" + - "LWltYWdlYCB8CnwgYHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1pdCBhIHRh" + - "c2sgZnJvbSBhIEpTT04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBj" + - "b25maWd1cmF0aW9ucyB8CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1saW1pdD1O" + - "XWAgfCBMaXN0IHRhc2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0YXR1c2Vz" + - "OiBgUVVFVUVEYCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURg" + - "LCBgQ0FOQ0VMRURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURf" + - "TUFYX1FVRVVFRF9EVVJBVElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgdGFzayBk" + - "ZXRhaWxzIHwgVXNlcyBzYXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8CnwgYHRh" + - "c2sgZXZlbnRzIFt0YXNrSWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2ZW50cyBm" + - "b3IgYSB0YXNrIHwgfAp8IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1bHQgYXJ0" + - "aWZhY3RzIGZvciBhIGNvbXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdoZW4gYHJl" + - "c3VsdEhhbmRsaW5nU3RyYXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3QgeWV0IHN1" + - "cHBvcnRlZCB8CnwgYHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5pbmcgdGFz" + - "ayB8IE5vLW9wIGlmIGFscmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRlbGV0ZSBb" + - "dGFza0lkXWAgfCBEZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFzayBJRCAr" + - "IGN1cnJlbnQgc3RhdHVzLCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgZXhw" + - "bGljaXRseSBjb25maXJtaW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4gRG8gbm90" + - "IHRyZWF0IHRoZSBvcmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24uKiogfAp8" + - "IGB0YXNrIHVwZGF0ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVw" + - "ZGF0ZSBzZWNyZXRzIG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBk" + - "YXRlZCBieSBuYW1lLCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJl" + - "c2VydmVkIHwgVmFsdWVzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVsayAtLXRh" + - "c2staWRzPUlEMVssSUQyLOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3Mg" + - "aW4gb25lIHJlcXVlc3QgfCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMg" + - "fAp8LS0tfC0tLXwtLS18CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQSSBLZXlz" + - "IHZpYSBwdWJsaWMgYXBpIGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52Y2YtY2xp" + - "LnN0YXRlYDsgY2xlYXJzIHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtleXMgKGZ1" + - "bmN0aW9uIGFuZCB0YXNrKSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9rZW4sIGxh" + - "c3QgZW5kcG9pbnRzLCBmdW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNlbGYtaG9z" + - "dGVkIHN0YXR1c2AgfAp8IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8dGFza10g" + - "Wy0tZGVzY3JpcHRpb2494oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkga2V5cyB8" + - "IERlZmF1bHQgKG5vIGAtLWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtleSBhbmQg" + - "YSB0YXNrIGtleTsgYC0tZm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJhdGVzIG9u" + - "ZSBvbmx5OyBgLS1zY29wZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdlbmVyYXRl" + - "IC0tdmFsaWRhdGVgIHwgTWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBnZW5lcmF0" + - "ZWQga2V5IHwgVmFsaWRhdGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVkaWVuY2Ug" + - "KE5WQ0YgZm9yIGZ1bmN0aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBhcGkta2V5" + - "IGxpc3RgIHwgTGlzdCBBUEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5WQ0Ytc2Nv" + - "cGVkIGtleXMgb25seSB8CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtleSByZXZv" + - "a2UgS0VZLUlEYCB8IFJlbW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNlcioqIHwK" + - "fCBgYXBpLWtleSBzaG93YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJvbSBzdGF0" + - "ZSB8IHwKCiMjIEFnZW50IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0t" + - "fC0tLXwtLS18CnwgYGFnZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgSW5zdGFs" + - "bCBhbGwgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3NraWxscy9g" + - "IGFuZCBgfi8uYWdlbnRzL3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxscyBkaXJl" + - "Y3RvcmllcyB8CnwgYGFnZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBSZW1v" + - "dmUgb25seSBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQgYmFzZSBz" + - "a2lsbHMgZGlyZWN0b3JpZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJlbWFpbiB8" + - "CnwgYGFnZW50LXNraWxsIHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQgYG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxlIHwgRm9y" + - "IGRlYnVnZ2luZyB8CnwgYGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQgU0hBIGFu" + - "ZCBlbWJlZGRlZCBwdWJsaWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcIFaVAjNMlAADTJQAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBjb2RlcwoK" + - "U3RhYmxlIGFjcm9zcyBzdWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50IHJldHJ5" + - "IC8gc3VyZmFjaW5nIGxvZ2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1c2VzIHwK" + - "fC0tLXwtLS18LS0tfAp8IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsgaW5zdGFs" + - "bCBjb21wbGV0ZWQ7IGRlcGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVycm9yIHwg" + - "SGVsbSByZW5kZXIgZmFpbGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBmb3VuZDsg" + - "WUFNTCBwYXJzZSBlcnJvciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQgfCBBIGBj" + - "aGVja2AgcmVzdWx0IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1pc3Npbmc7" + - "IGt1YmVjdGwgbm90IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBh" + - "YnNlbnQ7IGEgY2x1c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJlY29uZmln" + - "IG9yIGNvbnRleHQsIG9yIGEgZmlyc3QgQVBJIGNhbGwgdGhhdCBmYWlscyBmb3IgYW55IHJlYXNv" + - "bjogcmVmdXNlZCBvciBkcm9wcGVkIGNvbm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzLCBh" + - "IGZhaWxpbmcgY3JlZGVudGlhbCBwbHVnaW4sIGEgc2VydmVyIGVycm9yKTsgYSBjbHVzdGVyLXZh" + - "bGlkYXRvciB0aGF0IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1" + - "cmUsIGl0cyBvd24gdGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSk7" + - "IGEgYHN0YWxlLW5hbWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNrIFRlcm1p" + - "bmF0aW5nYC4gU3VjaCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRpbWUgYnVk" + - "Z2V0IGN1dCBhbm90aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3VsdHMgZXhp" + - "dCBgMGAsIGluY2x1ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxtIHJlbGVh" + - "c2UgbGVmdCBtaWQtb3BlcmF0aW9uLCBhIG5hbWVzcGFjZSB3aXRoIG5vIEhlbG0gcmVsZWFzZSwg" + - "YW5kIGEgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgc2F5aW5nIG5vIGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9pbWFnZWAgaXMgc2V0IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsg" + - "YC0tbm9uLWludGVyYWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50" + - "IHVucmVhY2hhYmxlIHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBv" + - "dXQgfCBIZWxtIGluc3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90IHBhc3Mg" + - "YmVmb3JlIERVUkFUSU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dyZXNzOyB0" + - "aGUgY2hlY2sncyB0aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgdGhhdCBjYW4gZmFpbCB0aGUg" + - "cnVuIGJlZm9yZSBpdCBmaW5pc2hlZCAoaXRzIHJvdyBzYXlzIG5vdCBydW4gb3IgY3V0IHNob3J0" + - "KSBhbmQgbm8gb3RoZXIgY2hlY2sgZmFpbGVkLiBBIGN1dC1zaG9ydCByb3cga2VlcHMgdGhlIHdv" + - "cnN0IHNldmVyaXR5IGl0cyBjaGVjayBjYW4gcmVwb3J0LCBzbyBhIGNoZWNrIHRoYXQgY2FuIG9u" + - "bHkgd2Fybiwgc3VjaCBhcyBhIHJlZ2lzdHJ5IHRoYXQgaXMgbm90IGNyaXRpY2FsLCBzdGF5cyBh" + - "IHdhcm5pbmcuIEEgY2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBz" + - "byBhIHZhbGlkYXRvcidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNl" + - "bGxlZCBieSBTSUdJTlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGluIHRo" + - "ZSBgY2hlY2sgLS13YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBvciBg" + - "Q3RybC1DYCBpbiB0aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVk" + - "OyB0ZXJtaW5hbCBvciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50IHNob3Vs" + - "ZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBDb250" + - "aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNlcjsg" + - "YXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1bWFu" + - "IHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3MgKyB0" + - "aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhlcyBw" + - "cmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBP" + - "UiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9LLiB8" + - "CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50byB0" + - "aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0cnkg" + - "YXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZvcmUg" + - "cmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCByZXBv" + - "cnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJkaWN0" + - "YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5pbmdD" + - "b3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9jaS1w" + - "aXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdhaXRg" + - "LCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2Vzczog" + - "ZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVu" + - "dCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50" + - "OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBjYXJy" + - "aWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBg" + - "ZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsg" + - "YHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZh" + - "bGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwg" + - "YSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNo" + - "ZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBl" + - "dmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQs" + - "IG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0" + - "ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9y" + - "ZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVy" + - "eSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBK" + - "U09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25g" + - "IChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0" + - "ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwp" + - "LCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdh" + - "eXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5n" + - "bGlzaCBmcm9tIHN0ZGVyci4KUEsHCOUdeab6DwAA+g8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQAB" + - "AKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBz" + - "dWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFt" + - "bGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxz" + - "ZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBU" + - "VFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFy" + - "ZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + - "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENv" + - "bnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTov" + - "L2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9j" + - "YWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5u" + - "ZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUg" + - "ZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBv" + - "ciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0" + - "cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0" + - "dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2sp" + - "IHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHBy" + - "b21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVz" + - "IHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBl" + - "bWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRl" + - "eHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3Zl" + - "ZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3Ry" + - "ZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVj" + - "a2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mg" + - "b3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZh" + - "bHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNo" + - "IGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0" + - "ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNo" + - "IGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hl" + - "Y2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNoZWNrIHRo" + - "ZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRzIGV2ZW50" + - "IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0tbm8t" + - "Y2xlYW51cGAuIEEgbWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElPTiBpcyBhIHVzYWdl" + - "IGVycm9yIChleGl0IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwg" + - "Y3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVj" + - "dGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8" + - "CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250" + - "ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBoZXJlLCBp" + - "biBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25maWcgYXMg" + - "YGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25lIGRlcml2ZWQgZnJv" + - "bSBhIGBiYXNlX2h0dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2YubnZpZGlhLmNvbWAs" + - "IGFzIHRoZSBjb25maWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMgYHNpcy1yZWFjaGFi" + - "aWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwK" + - "fCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNr" + - "cyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2ZXIgc2Nv" + - "cGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFuZCBlYWNo" + - "IHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93cyB0aGF0" + - "IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52OiBgTlZD" + - "Rl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2Vg" + - "IHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250" + - "cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIGAt" + - "LXByZWAgc2VsZWN0cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBpdHMgb3du" + - "LiBPbmx5CnRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBib3RoIGNv" + - "bnRleHQgZmxhZ3Mgb3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVkIHJvbGUg" + - "Y2hlY2tzIHRoZSBjdXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1o" + - "b3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHks" + - "IHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29t" + - "cHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUn" + - "cyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBp" + - "bnN0YWxsZWQuIEEgbWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAg" + - "b3IgYGhlbG1gIGZhaWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4g" + - "aW5zdGFsbGVkIHN0YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBg" + - "ZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29udHJv" + - "bCBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rl" + - "ci12YWxpZGF0b3IuIE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBs" + - "YW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNw" + - "YWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNvbmZpZ3Vy" + - "ZWQgSUNNUyBVUkwsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IGBm" + - "YWxzZWAgfAp8IGAtLWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1jb21wdXRl" + - "LXBsYW5lYCwgU0lTIHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0IGAtLXBy" + - "ZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgc2hv" + - "d24gaW4gdGhlIG91dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hlY2tgIGRv" + - "ZXMgbm90IHJlcXVpcmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0" + - "aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29u" + - "ZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJv" + - "YmUgaW1hZ2UgaXMgb24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0" + - "aGUgcHJvYmUgcG9kcyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5LWxpbWl0" + - "c2Agcm93IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNG" + - "X0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNl" + - "YCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBh" + - "IEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2" + - "aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBw" + - "bHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQg" + - "b25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBz" + - "byB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3Nl" + - "LgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9uIGBwb2Rz" + - "L2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhhdCBzdWNj" + - "ZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0IGNvdWxk" + - "IG5vdCBiZSByZWFkLCBzbyB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duLgpUaGUg" + - "Q2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtl" + - "OiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBj" + - "b250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNw" + - "YWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFn" + - "ZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9D" + - "TElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0" + - "YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZh" + - "bGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcg" + - "dG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBl" + - "dmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNs" + - "dXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2Fy" + - "bmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0" + - "XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRp" + - "YWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qg" + - "b2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50" + - "aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRl" + - "ZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9y" + - "IGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFu" + - "ZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1t" + - "YW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBv" + - "dXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBw" + - "cm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUg" + - "c3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9u" + - "bHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0" + - "aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJ" + - "X0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlk" + - "YXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8Cnwg" + - "YC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9k" + - "ZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRv" + - "LW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2Au" + - "IFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xV" + - "U1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNs" + - "dXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVw" + - "ZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0" + - "aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vi" + - "c2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1l" + - "IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMg" + - "YmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50" + - "cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0" + - "cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + - "Ul9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0" + - "ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBg" + - "LS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5g" + - "IHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29u" + - "dHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9k" + - "ZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2No" + - "ZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFu" + - "ZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJf" + - "VkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9s" + - "ZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVz" + - "IHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2Vj" + - "cmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBw" + - "dWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3Jl" + - "dCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0" + - "cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25s" + - "eSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBg" + - "ZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRo" + - "ZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRo" + - "ZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRv" + - "ciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20g" + - "d2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tp" + - "cCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRo" + - "YXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0" + - "aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBj" + - "YW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93" + - "IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0Zf" + - "Q0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gLCBgdHJ1ZWAgb3IgYGZhbHNl" + - "YCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwg" + - "aXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBB" + - "IGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBz" + - "byBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVj" + - "dCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5z" + - "IHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBU" + - "aGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBz" + - "dGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5u" + - "b3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2Ag" + - "fCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hl" + - "Y2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdv" + - "cnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMg" + - "YGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0" + - "cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJy" + - "LCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8" + - "IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNo" + - "IHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRp" + - "YWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpz" + - "b25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVg" + - "IG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBp" + - "cyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwg" + - "YE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlg" + - "IHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3Ig" + - "YQpiYXJlIGAtLXByZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1" + - "cGAgY3JlYXRlcyBpdHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50" + - "IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVy" + - "ZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVjdHMgdGhlIGRvY2tl" + - "cgpsb2dpbi4gVGhlIHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBkaXNjb3ZlcnkgYW5k" + - "IHRoZSB2YWxpZGF0b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93IHNheXMgaG93IHRv" + - "IHJlbmV3IHRoZSBsb2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBgLS13YWl0YCBwb2xs" + - "IHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRo" + - "ZQpydW4gd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3Ig" + - "cHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRo" + - "ZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlg" + - "LCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2Vn" + - "bWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2Nv" + - "cGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJl" + - "Z2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdp" + - "c3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0" + - "ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGgg" + - "aXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNo" + - "LCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50" + - "aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBz" + - "dWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29t" + - "bWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hp" + - "bmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRl" + - "bnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3Ig" + - "Z2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwpl" + - "bnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8" + - "IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0t" + - "LXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlz" + - "YCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5n" + - "cmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91" + - "dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91" + - "dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1z" + - "ZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVk" + - "IGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRl" + - "cyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRy" + - "b2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRl" + - "cm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2Ug" + - "YGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + - "LWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8Cnwg" + - "U3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlk" + - "YXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBh" + - "IGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3Bh" + - "Y2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdl" + - "IHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BS" + - "T0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3Rh" + - "Y2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRo" + - "ZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBI" + - "RUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBs" + - "YW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3Rh" + - "bGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQu" + - "Ci0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2Uu" + - "eWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMg" + - "ZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AK" + - "ICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biks" + - "IGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJl" + - "YWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFy" + - "bGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAog" + - "IGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25l" + - "ZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5k" + - "IG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtp" + - "bmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2Fy" + - "ZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFu" + - "ZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZp" + - "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rl" + - "ci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAt" + - "IHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8Cnwg" + - "YC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1w" + - "bGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5n" + - "ZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0" + - "byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13" + - "YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERV" + - "UmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZp" + - "bHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVu" + - "dHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8" + - "IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAo" + - "cmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0x" + - "YCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8Cnwg" + - "YC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24t" + - "ZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8" + - "dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBn" + - "ZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBs" + - "YWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVz" + - "LWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQg" + - "YXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1g" + - "IHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBk" + - "ZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBp" + - "bW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1" + - "bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5" + - "cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + - "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5p" + - "dGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0t" + - "aW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBV" + - "UklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1w" + - "b3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24t" + - "dHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRg" + - "IHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVu" + - "Y2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNr" + - "YWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8" + - "IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3" + - "aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9O" + - "OlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxs" + - "bS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVy" + - "aXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + - "bWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRo" + - "IGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlu" + - "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1" + - "c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJp" + - "b3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5" + - "LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1h" + - "Y2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBv" + - "dmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92" + - "ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQg" + - "aW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5k" + - "IG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1D" + - "b25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhz" + - "IGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9j" + - "aGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4g" + - "YGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9v" + - "Zl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNv" + - "bmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQg" + - "cG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQu" + - "IFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgICho" + - "b3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdo" + - "ZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgs" + - "NTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcg" + - "aXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2Vk" + - "IExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBo" + - "ZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2Ft" + - "ZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMg" + - "U2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZv" + - "Y2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJg" + - "LiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2Rl" + - "bCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9u" + - "c2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNl" + - "c3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rp" + - "b24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8" + - "CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBg" + - "bmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0" + - "PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tl" + - "biBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRv" + - "a2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBS" + - "ZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhp" + - "cyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8" + - "IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291" + - "bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3Rp" + - "bmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwK" + - "CkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRy" + - "aWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29y" + - "IGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVs" + - "IG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlv" + - "biBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + - "bmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8" + - "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8" + - "IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5" + - "IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEw" + - "MF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAt" + - "LW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0" + - "LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVs" + - "dCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmlj" + - "IGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRl" + - "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + - "YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1" + - "aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBg" + - "LS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + - "IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5" + - "cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUu" + - "SDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5" + - "IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8" + - "IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0" + - "aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxl" + - "IHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBg" + - "LS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5B" + - "TUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21t" + - "YS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hl" + - "biBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2No" + - "cyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8" + - "IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNl" + - "Y3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFi" + - "bGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwg" + - "TWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZh" + - "dWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8" + - "IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZl" + - "ciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdy" + - "YWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + - "YFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5k" + - "bGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NB" + - "VElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1l" + - "L11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8" + - "IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBl" + - "YXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2Ug" + - "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRh" + - "Z3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNj" + - "cmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0" + - "cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1l" + - "dHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1p" + - "ZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCMqNBihUVgAA" + - "VFYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGlu" + - "ZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0" + - "aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0" + - "cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQg" + - "bWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25g" + - "IGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBh" + - "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1w" + - "dG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90" + - "ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2Ag" + - "cHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + - "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJh" + - "dG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1w" + - "cmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBp" + - "dGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rh" + - "c2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFU" + - "SGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxh" + - "dGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5z" + - "aC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1" + - "c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlk" + - "YXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRl" + - "ZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcs" + - "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0" + - "b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhl" + - "IGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBj" + - "b3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGlt" + - "YWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVz" + - "c2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVz" + - "dGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUg" + - "cmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBj" + - "b3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9k" + - "cy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBr" + - "dWJlbGV0LiBXYXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duIHwgR3JhbnQgYGdldGAg" + - "b24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0" + - "aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0" + - "b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwg" + - "RW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9j" + - "a2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXkt" + - "c3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRl" + - "ZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhh" + - "cyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3Rh" + - "dGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3Rh" + - "dGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRy" + - "dWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52" + - "aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUg" + - "c3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUg" + - "UmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVy" + - "dGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BV" + - "IE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczov" + - "L2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0" + - "ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3Jg" + - "IGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2Fybmlu" + - "ZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilg" + - "LCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBv" + - "dmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVy" + - "ZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwg" + - "UnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBu" + - "cyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMg" + - "bGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ug" + - "b2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBs" + - "YXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRl" + - "bGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwg" + - "ZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7" + - "IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2Ag" + - "YWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVh" + - "c2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRl" + - "cnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSBy" + - "ZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxz" + - "IG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxt" + - "IGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJv" + - "bGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + - "IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3Jr" + - "bG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFp" + - "bXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFs" + - "bCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBp" + - "LXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4x" + - "IGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4g" + - "QXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFz" + - "IG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0g" + - "cmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRo" + - "IGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20g" + - "aXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1l" + - "bnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tl" + - "ZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3IgZ2F0ZWQg" + - "bmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHBy" + - "b2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNr" + - "IHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0" + - "aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVu" + - "dmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + - "IG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3Jl" + - "IGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0" + - "YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUt" + - "c3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0t" + - "ZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNl" + - "ZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8" + - "LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5v" + - "IGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xp" + - "IGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAg" + - "KENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVk" + - "LCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20g" + - "YSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBg" + - "bnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRp" + - "ZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2Vf" + - "ZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlv" + - "bj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9t" + - "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQg" + - "d2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sg" + - "YFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwg" + - "Z2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BV" + - "LkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdw" + - "dWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImlu" + - "c3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3Zp" + - "ZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJl" + - "Z2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9u" + - "PXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5D" + - "QV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFw" + - "cGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBu" + - "b3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBh" + - "ZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3Ig" + - "YG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVs" + - "dGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4u" + - "L252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVu" + - "dGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBO" + - "VkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9j" + - "bHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJ" + - "Q01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNs" + - "dXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBs" + - "b2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBp" + - "cyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXIt" + - "aWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFj" + - "a2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8" + - "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUg" + - "cHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2Ag" + - "Zm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0" + - "LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5h" + - "dHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2Vy" + - "dmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + - "fC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3Ry" + - "eSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3Jl" + - "ZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBk" + - "YXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFk" + - "eSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBj" + - "YWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2Yu" + - "Y2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUg" + - "Y2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0" + - "IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVw" + - "bG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcItQXzgvQgAAD0IAAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxm" + - "LWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tz" + - "LiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxv" + - "d3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3Vi" + - "bGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1" + - "dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRy" + - "b2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9m" + - "aWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMu" + - "IERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBr" + - "M2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21w" + - "YXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMu" + - "MTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1" + - "dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4i" + - "CnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNl" + - "bGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5z" + - "dGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQs" + - "IEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjog" + - "Im52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVy" + - "c2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1o" + - "b3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxs" + - "YXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1s" + - "XQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3Vk" + - "LWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25z" + - "CgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBj" + - "b21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlz" + - "IHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5n" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tg" + - "IGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBz" + - "ZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVu" + - "YWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1l" + - "bmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28g" + - "cmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBw" + - "YXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1m" + - "aWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5l" + - "LXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + - "CmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + - "az4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBs" + - "CmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBi" + - "dW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBk" + - "b3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpu" + - "Z2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBh" + - "c3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMg" + - "YW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVm" + - "b3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVy" + - "YXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4y" + - "LjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBi" + - "ZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+" + - "PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlu" + - "b3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJv" + - "bSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNo" + - "CmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJv" + - "bm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52" + - "aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5h" + - "bWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRv" + - "LUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3At" + - "ZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2" + - "YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1p" + - "c3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0" + - "cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlv" + - "dXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAg" + - "ICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+" + - "IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2" + - "YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tz" + - "ICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1w" + - "bGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdl" + - "IHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNl" + - "dHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdp" + - "bGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBw" + - "cm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBo" + - "ZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hh" + - "cnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0" + - "YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRz" + - "IChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5k" + - "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1" + - "bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQg" + - "TkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + - "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + - "bwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAg" + - "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + - "dG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFt" + - "ZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBw" + - "bHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNv" + - "bmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1h" + - "Z2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNh" + - "dGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBg" + - "aGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMg" + - "aGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50" + - "aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5H" + - "QyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAn" + - "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5p" + - "byAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1s" + - "b2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2lu" + - "IC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lv" + - "bj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBz" + - "IG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBz" + - "dGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZl" + - "cmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5p" + - "b2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIg" + - "bG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJz" + - "dCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRp" + - "bmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwg" + - "aXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBt" + - "b3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3Jy" + - "ZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5h" + - "bWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2Nh" + - "dGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBl" + - "dmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50" + - "aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBj" + - "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUg" + - "TlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJv" + - "bSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSBy" + - "ZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1" + - "bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAg" + - "dGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1p" + - "cnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6" + - "CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAg" + - "IyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1" + - "Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAg" + - "ICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9y" + - "LXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5k" + - "IG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+" + - "IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkg" + - "T0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUg" + - "cHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQog" + - "ICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3Qg" + - "YmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9y" + - "ZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNv" + - "bnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAv" + - "YGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3og" + - "b2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRz" + - "IGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUg" + - "Y3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + - "IHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVu" + - "dGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNl" + - "Y3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2Ag" + - "ZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhl" + - "IHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUg" + - "YGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIu" + - "CgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMg" + - "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhl" + - "IGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9p" + - "bnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBp" + - "dCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgoj" + - "IyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0" + - "bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5v" + - "dCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBl" + - "eGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3Rs" + - "IGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNv" + - "bnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9B" + - "RERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBw" + - "cm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxh" + - "bmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2Vz" + - "IG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1" + - "c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNm" + - "LnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFw" + - "aS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFu" + - "ZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVu" + - "ZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBk" + - "YXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4g" + - "W2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95Cgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2" + - "aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBz" + - "eW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGlu" + - "IHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRf" + - "Q0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25k" + - "IGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZh" + - "dWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFf" + - "UEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkg" + - "REItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9u" + - "Y2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xl" + - "UGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09S" + - "RGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIg" + - "d2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQg" + - "dGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwg" + - "YHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8" + - "IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVT" + - "UywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExN" + - "IGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRo" + - "ZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBg" + - "cmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVu" + - "YWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRl" + - "d2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5k" + - "IGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFw" + - "cGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJv" + - "dXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRl" + - "IHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdl" + - "IGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlH" + - "YXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2Vy" + - "CnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+" + - "LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + - "dmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6" + - "ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5k" + - "ZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0" + - "b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91" + - "dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQg" + - "Y3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2Fn" + - "ZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBs" + - "eSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFk" + - "ZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxz" + - "dmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVj" + - "dGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0" + - "eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90" + - "IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2Nh" + - "dGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBw" + - "cm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBV" + - "SSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRt" + - "aW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5" + - "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91" + - "ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + - "bGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBO" + - "VkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBl" + - "eHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3Bh" + - "Y2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywK" + - "c2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDgu" + - "IEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBs" + - "YW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRl" + - "ciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2Zm" + - "OgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZp" + - "bGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBN" + - "YWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5" + - "IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBD" + - "TEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRv" + - "ZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5n" + - "LCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xl" + - "YW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2Vz" + - "IG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiBy" + - "ZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkt" + - "a2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwg" + - "YGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBg" + - "bnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5h" + - "Z2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBU" + - "aGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQt" + - "bWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFt" + - "ZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBF" + - "eHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + - "YDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2Vk" + - "LiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUg" + - "Y2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIg" + - "Y2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCBy" + - "ZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBp" + - "ZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGgg" + - "ZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0" + - "YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRj" + - "aGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxh" + - "biBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdl" + - "dHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4g" + - "ZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBE" + - "ZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAg" + - "a3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBg" + - "YAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhj" + - "YXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1" + - "cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJv" + - "bm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBn" + - "bG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVz" + - "IGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5k" + - "LyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxl" + - "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + - "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + - "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + - "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + - "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + - "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + - "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + - "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290" + - "Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwg" + - "c3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3Qu" + - "IFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRz" + - "IGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + - "bGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRz" + - "CgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZs" + - "YXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFp" + - "bCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8" + - "IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVk" + - "cyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBv" + - "c2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0" + - "aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1" + - "bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2Qg" + - "fAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0" + - "ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50" + - "LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVj" + - "YXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFu" + - "ZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + - "KWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIg" + - "c2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRl" + - "IHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVE" + - "RU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+" + - "IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRo" + - "YCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBp" + - "dCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNv" + - "IHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4g" + - "YHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBu" + - "b3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290" + - "c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJl" + - "IGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lk" + - "ZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQg" + - "Y3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGlu" + - "c2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXks" + - "IGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBh" + - "aXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5j" + - "Ogo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtF" + - "WSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBp" + - "L2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBO" + - "VklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFw" + - "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0" + - "YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIg" + - "Y3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdD" + - "IChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZv" + - "cm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5l" + - "ZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChm" + - "dW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZy" + - "ZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEg" + - "c2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNh" + - "bGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJp" + - "bmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRt" + - "aXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2Ag" + - "aW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZv" + - "ciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1v" + - "ZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJl" + - "cG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJl" + - "cG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5v" + - "IC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1l" + - "c3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + - "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + - "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVy" + - "UG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + - "bWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBh" + - "ZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdp" + - "dGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1v" + - "IGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5h" + - "bWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1p" + - "biBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9y" + - "IHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQs" + - "IHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + - "Lm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2Rz" + - "CmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFs" + - "bCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxh" + - "c3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0" + - "dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0t" + - "fAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Ig" + - "d3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1h" + - "Z2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVs" + - "dC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0" + - "aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3Mg" + - "YGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZh" + - "bGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJl" + - "ZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tT" + - "IC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zlcnku" + - "ZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIg" + - "fCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAs" + - "IGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFv" + - "LXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3Nh" + - "bmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEu" + - "cmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gt" + - "bG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMg" + - "ZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNl" + - "cnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNh" + - "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRv" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0" + - "aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3Ig" + - "bWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNo" + - "ZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRl" + - "IHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUg" + - "cmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQg" + - "fCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVj" + - "dGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0" + - "aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUg" + - "YWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAg" + - "cmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVz" + - "IGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50" + - "KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0" + - "aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1y" + - "YW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNv" + - "bmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9g" + - "IGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRo" + - "IHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcg" + - "YC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9O" + - "UzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24g" + - "ZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRh" + - "Z3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lP" + - "TmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5W" + - "Q0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3Vu" + - "dCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBw" + - "b3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1h" + - "Y2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFs" + - "bCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0" + - "aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMg" + - "KHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFj" + - "Y291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBj" + - "YWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGlu" + - "ZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0" + - "ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVk" + - "fScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4g" + - "aXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2Fp" + - "biAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRl" + - "ZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVs" + - "ZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1m" + - "b3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5j" + - "Cmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMg" + - "Y29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3Vy" + - "Y2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQ" + - "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + - "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3Jr" + - "Zmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0" + - "aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUu" + - "bWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVi" + - "dWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0" + - "aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3Jl" + - "YXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMU" + - "k0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQi" + - "OiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0" + - "aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJl" + - "YWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9u" + - "czogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBo" + - "ZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBt" + - "aW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50" + - "aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "CiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0nCmBgYAoKSWYgc3RhdHVz" + + "IGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1lbnQncyBwb2QgbG9ncyAo" + + "a3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQgc3VyZmFjZSB0byB0aGUg" + + "dXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9uZSB3aXRoIHRoZSBzbW9r" + + "ZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9PGZu" + + "X2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0gd2l0aCB0aGUgdXNlciBi" + + "ZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRlcGxveW1lbnQgYW5kIHRo" + + "ZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGltZXMgY2FuIHZhcnkgd2lk" + + "ZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kgb24gY29sZC1jbHVzdGVy" + + "IHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0cykuIEJlIHBhdGllbnQ7" + + "IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBjb21tYW5kIGVhcmx5Lgot" + + "IEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBgZ3B1YCBhbmQgYGluc3Rh" + + "bmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5IMTAwXzF4YCwgYE5DUC5H" + + "UFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5jdGlvbidzIGNvbnRhaW5l" + + "ciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlcidz" + + "IGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1YmVjdGwgZGVzY3JpYmUg" + + "cG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFnZVB1bGxCYWNrT2ZmYCku" + + "ClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD0ACQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEA" + + "ps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGluc3RhbGwKClVzZXIgc2F5" + + "cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmciLiBEb24ndCBndWVzcyDi" + + "gJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRpY3QKCmBgYHNoCm52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBgYAoKVGhlIGZpcnN0IGV2" + + "ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0gKipgaGVhbHRoeWAqKiDi" + + "gJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5J3JlIGFjdHVhbGx5IHNl" + + "ZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIgKGZ1bmN0aW9u" + + "IGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog4oCUIGF0IGxlYXN0IG9u" + + "ZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0IHdpbGwgaWRlbnRpZnkg" + + "d2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFsaXppbmcsIGBvcGVuYmFv" + + "YCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0gKipgZmFpbGVkYCoqIOKA" + + "lCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNsdXN0ZXIncyBOVkNGQmFj" + + "a2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93bmAqKiDigJQgSUNNUyB1" + + "bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBiZSBkb3duOyBjaGVjayBg" + + "a3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4gRHJpbGwgaW50byB0aGUg" + + "ZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21wb25lbnQsIHRoZSBzbmFw" + + "c2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6" + + "aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaAprdWJlY3RsIGRlc2NyaWJl" + + "IHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxwb2Q+IC0tYWxsLWNvbnRh" + + "aW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyArIGxhc3QgbG9nIGxpbmVz" + + "LiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVzcyB0aGUgdXNlciBjb25m" + + "aXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXByb2dyZXNzIG1pZ3JhdGlv" + + "bi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlrZWx5IGNhdXNlIHwgUmVt" + + "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBvZEluaXRpYWxpemluZ2Ag" + + "Zm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0dWNrIGBQZW5kaW5nYCB8" + + "IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVmYXVsdCBTdG9yYWdlQ2xh" + + "c3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3JhZ2VjbGFzcyBsb2NhbC1w" + + "YXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5l" + + "dGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgaGVsbSBpbnN0YWxsIC4u" + + "LjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNvbWUgYXZhaWxhYmxlYCB8" + + "IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVk" + + "YCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdheS1yb3V0ZXNgIGNoYXJ0" + + "IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFsbCBlbnZveS1nYXRld2F5" + + "OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVs" + + "bSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwK" + + "fCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5g" + + "IChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBpc3N1ZWQgYnkgYSBLOHMg" + + "c2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3RvcmVkIGluIElDTVMgfCBS" + + "ZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCBm" + + "cm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkg" + + "fAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Ig" + + "bm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIgcmVnaXN0ZXIpIHwgU3Rh" + + "bGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5u" + + "dmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGBudmNhLW9wZXJh" + + "dG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5v" + + "dCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxkcyBpdCBsb2NhbGx5KSB8" + + "IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1" + + "c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBpcykgfAp8IGByZXF1aXJl" + + "ZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IpIHwgT2xkZXIgbnZjZi1j" + + "bGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUgZm9sbG93LXVwcyB8IFVw" + + "Z3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3MDRgIHwKCiMjIDQuIFdo" + + "ZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBjb25maXJtIGEgdGVhcmRv" + + "d246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgJiYgbWFr" + + "ZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlIG9y" + + "ZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAtbiBu" + + "dmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsgdGhlbiBjb250cm9sIHBs" + + "YW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgdG8g" + + "cmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9yZSBhbnkgdGVhcmRvd24g" + + "4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMgZGVzdHJ1Y3RpdmUgYW5k" + + "IGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBw" + + "cm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0aWMgb25seS4KLSAqKkRv" + + "bid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUgdXNlciBleHBsaWNpdGx5" + + "IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBw" + + "dmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVsZXRlcyB0aGUgdW5kZXJs" + + "eWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVyZW50IGlucHV0cyoqIHRv" + + "ICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVzYCAvIGBrdWJlY3RsIGRl" + + "c2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + + "OgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0" + + "Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBmcm9tIHNjcmF0Y2gKClVz" + + "ZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBhIGZyZXNoIEt1YmVybmV0" + + "ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlzIHRoZSBtb3N0IGNvbW1v" + + "biBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIHRvcG9sb2d5LiBBc2sgdGhl" + + "IHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBs" + + "YW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29udHJvbCBwbGFuZSBvbiBj" + + "bHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9kdWN0aW9uLXNoYXBlZCk/" + + "IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNsdXN0ZXItbmFtZWAgZmxh" + + "ZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1wbGVzOiBgbmNwLWxvY2Fs" + + "YCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9kdWN0aW9uLiIKICAgLSBG" + + "b3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4dCBuYW1lPyBDb21wdXRl" + + "LXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQcmVwYXJlIHJlbW90ZSBHYXRl" + + "d2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGszZC4gT25lLWNsaWNrCiAg" + + "IGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRpYXRlbHkgY2FsbHMgQVBJLCBB" + + "UEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9pbnRzLiBGb3IgcmVtb3RlIGNs" + + "dXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQgYW5kCiAgIHRoZSBDTEkgY29u" + + "ZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNlciBiZWZvcmUgYHVwYCBy" + + "dW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3QgYWxyZWFkeSBwcmVzZW50LCBj" + + "cmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVkIEdhdGV3YXkgc2V0dXAgc3Rl" + + "cHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3RhbmRhbG9uZSBjaGFydAogICBp" + + "bnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBseSAtZiBodHRwczovL2dpdGh1" + + "Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVhc2VzL2Rvd25sb2FkL3YxLjIu" + + "MC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFtZXNwYWNlIGluIGVudm95LWdh" + + "dGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBudmNmOyBkbwogICAg" + + "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAgIGZvciBuYW1lc3BhY2UgaW4g" + + "ZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBsYWJl" + + "bCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09dHJ1ZSAtLW92ZXJ3cml0ZQog" + + "ICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZv" + + "eXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYxLjEuMyBcCiAgICAgLW4gZW52" + + "b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBwbHlpbmcgdGhlIGBFbnZveVBy" + + "b3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxlciBvd25zCiAgIGxvYWQgYmFs" + + "YW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVzdCB1bnRpbCB5b3UgaGF2ZSBz" + + "ZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAgY29uZmlndXJhdGlvbi4gVXNl" + + "IHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250cm9sbGVyIERlcGxveW1lbnQg" + + "aW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFnZSBvciBleGlzdGluZwogICBT" + + "ZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RFUl9OQU1FPSI8Y2x1c3Rlci1u" + + "YW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5hbWUgIiRFS1NfQ0xVU1RFUl9O" + + "QU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVzTmV0d29ya0NvbmZpZy5lbGFz" + + "dGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRwdXQgdGV4dAogICBrdWJlY3Rs" + + "IC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2FkLWJhbGFuY2VyLWNvbnRyb2xs" + + "ZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1ZWAgc2VsZWN0cwogICBbRUtT" + + "IEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vrcy9sYXRlc3QvdXNlcmd1" + + "aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3aXNlLCBhIHN1Y2Nlc3NmdWwg" + + "RGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJv" + + "bGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRoYXQgdGhlIGNsdXN0ZXIgaW50" + + "ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2Ug" + + "Y29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQgQmFsYW5jZXIgQ29udHJvbGxl" + + "ciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhlIGFwcGxpZWQgbWFuaWZlc3Qg" + + "YmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLiBGb3IgRUtTCiAg" + + "IEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAgbWFwIGJlZm9yZSBhcHBseWlu" + + "ZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgbG9hZEJhbGFuY2Vy" + + "Q2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90YXRpb25zOgogICAgICAgc2Vy" + + "dmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2NoZW1lOiAiaW50ZXJu" + + "ZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFXUyBjbG91ZCBwcm92aWRlciBT" + + "ZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRoOgoKICAgYGBgeWFtbAogICBl" + + "bnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJu" + + "ZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgogICBgYGAKCiAgIFRoZSBsZWdh" + + "Y3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2luZyBsb2FkIGJhbGFuY2VyIGJ5" + + "IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kgYG5sYmAgc2VsZWN0b3Igd2l0" + + "aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0YXJnZXQgdHlwZSBhbmQgc2No" + + "ZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2VydmljZQogICB3aG9zZSBwb3J0" + + "cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3RzIG9uZSBTZXJ2aWNlIHRoYXQg" + + "Y29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUgQVdTIExvYWQgQmFsYW5jZXIg" + + "Q29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kgU2VydmljZSBjb21iaW5lcyBw" + + "cm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2UgdGhlIG1hcCB3aXRoCiAgIHRo" + + "ZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZvcmUgYXBwbHlpbmcgaXQuCgog" + + "ICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6IHVzZSBBV1MgTEJDIHdpdGgg" + + "aW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9GCiAgIGFwaVZlcnNp" + + "b246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBraW5kOiBFbnZveVByb3h5CiAg" + + "IG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5" + + "c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlwZTogS3ViZXJuZXRlcwogICAg" + + "ICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgogICAgICAgICAgIGFubm90YXRp" + + "b25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFs" + + "YW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0" + + "ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBlOiAiaW5zdGFuY2UiCiAgICAg" + + "ICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hl" + + "bWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdv" + + "cmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwogICBtZXRhZGF0YToKICAgICBu" + + "YW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBnYXRld2F5LmVudm95cHJveHku" + + "aW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0ZXJzUmVmOgogICAgICAgZ3Jv" + + "dXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDogRW52b3lQcm94eQogICAgICAg" + + "bmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgRU9GCgog" + + "ICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5uZXR3b3Jr" + + "aW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IG52" + + "Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICBzcGVjOgogICAgIGdh" + + "dGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0gbmFtZTogaHR0cAogICAg" + + "ICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBhbGxvd2VkUm91dGVzOgog" + + "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAg" + + "c2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9w" + + "bGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHByb3RvY29sOiBUQ1AKICAg" + + "ICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2Vz" + + "OgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAg" + + "ICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAg" + + "IEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVzdCBiZSB1bmRlcgogICBgRW52" + + "b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lTZXJ2aWNlLmFubm90YXRpb25z" + + "YC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUgZ2VuZXJhdGVkIEVudm95IFNl" + + "cnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwogICBvbiB0aGUgYEdhdGV3YXlg" + + "IHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMgYW5kIHdyaXRlIHRoZSBD" + + "TEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFNRT0ibnZjZi1yZW1vdGUi" + + "CiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0IFJFR0lPTj0idXMtd2Vz" + + "dC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAg" + + "ZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dB" + + "VEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgR1JQQ19HQVRFV0FZX05B" + + "TUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNF" + + "IiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlv" + + "bj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3RsIC1uICIkR1JQQ19HQVRF" + + "V0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAt" + + "LWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KCiAgIGV4cG9ydCBH" + + "QVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAi" + + "Z2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + + "YWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRFV0FZX0FERFI9IiQoa3Vi" + + "ZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kR1JQQ19HQVRF" + + "V0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + + "fScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgdGVzdCAtbiAiJEdS" + + "UENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNUQUNLX0RPTUFJTj0iJEdBVEVX" + + "QVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAgdG8gdGhlIGhvc3RuYW1lIHN1" + + "ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4KICAgRm9yIHJlbW90ZSB0ZXN0" + + "IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUgR2F0ZXdheSBsb2FkIGJhbGFu" + + "Y2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZjZi1jbGkueWFtbCA8PEVPRgog" + + "ICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgaW52b2tlX3VybDog" + + "Imh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191cmw6ICIke0dSUENfR0FURVdB" + + "WV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vJHtHQVRFV0FZ" + + "X0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7U1RBQ0tfRE9NQUlOfSIKICAg" + + "YXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZva2VfaG9zdDogImludm9jYXRp" + + "b24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2VydmljZV9pZDogIm52aWRpYS1jbG91" + + "ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFwaV9rZXlzX2lzc3Vlcl9zZXJ2" + + "aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAic3ZjQG52Y2YtYXBpLmxvY2Fs" + + "IgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAgYGBgCgozLiBSdW4gcHJlLWZs" + + "aWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9sb2d5LiBgLS1qc29uYCB3" + + "cml0ZXMKICAgSlNPTkwgdG8gc3RkZXJyLCBzbyByZWRpcmVjdCBpdCB0byB0aGUgcGFyc2VyIGFu" + + "ZCBrZWVwIG9ubHkgSlNPTiBsaW5lczoKCiAgIGBgYHNoCiAgICMgU2luZ2xlLWNsdXN0ZXIKICAg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8" + + "IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIFNwbGl0OiBwYXNzIGJvdGggY29udGV4dCBm" + + "bGFncwogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb250cm9s" + + "LXBsYW5lLWNvbnRleHQ9YWRtaW5AY3AgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + + "bWluQGdwdTEgXAogICAgIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBncmVwICdeeycgPiBjaGVj" + + "ay5qc29ubAoKICAgIyBHYXRlIG9uIHRoZSBmaW5hbCBldmVudC4gQSBtaXNzaW5nIGZpbmFsIGV2" + + "ZW50IGFsc28gZmFpbHMgdGhlIGdhdGUuCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50ID09ICJm" + + "aW5hbCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBJZiB0aGUgZ2F0ZSBm" + + "YWlscywgc2hvdyB0aGUgdXNlciBlYWNoIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IHdpdGgKICAg" + + "YHBhc3NlZDogZmFsc2VgIGFuZCBgc2V2ZXJpdHk6ICJlcnJvciJgIChpdHMgYG1lc3NhZ2VgIGFu" + + "ZCBgaGludFVSTGApLCBhbmQKICAgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0YWxsIHdpdGgg" + + "YnJva2VuIHByZXJlcXMuIFJvd3MgYXQKICAgYHNldmVyaXR5OiAid2FybmluZyJgIGRvIG5vdCBm" + + "YWlsIHRoZSBnYXRlOyBtZW50aW9uIHRoZW0uIEZvciBhbiBvcGVyYXRvcgogICB3aXRoIGt1YmVj" + + "dGwgYWNjZXNzIHRvIHRoZSBjb21wdXRlIHBsYW5lIG9ubHksIHVzZSB0aGUgY29tcHV0ZS1vbmx5" + + "IGZvcm0gaW4KICAgW2FkZC1jb21wdXRlLXBsYW5lLm1kXShhZGQtY29tcHV0ZS1wbGFuZS5tZCkg" + + "aW5zdGVhZC4KCjQuIE1pbnQgYW4gYWRtaW4gdG9rZW4gaWYgbmVlZGVkLiBgbnZjZi1jbGkgaW5p" + + "dGAgaXMgaWRlbXBvdGVudC4gQ2FsbCBpdCBpZiB0aGUKICAgdXNlciBkb2VzIG5vdCBoYXZlIGEg" + + "c2Vzc2lvbiB5ZXQuIEluaXQgdGFsa3MgdG8gQVBJIEtleXMgdGhyb3VnaCB0aGUgcHVibGljCiAg" + + "IEFQSSBnYXRld2F5LCBzbyBpdCBhbHNvIHdvcmtzIGluIGNvbXB1dGUtb25seSBtb2RlLgoKNS4g" + + "UnVuIGB1cGAuIFVzZSBgLS1qc29uYCBmb3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBg" + + "YHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtD" + + "TFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9u" + + "PSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBp" + + "bnN0YWxscywgYWRkIGJvdGggY29udGV4dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05U" + + "Uk9MX1BMQU5FX0NPTlRFWFQ9ImFkbWluQGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRF" + + "X1BMQU5FX0NPTlRFWFQ9ImFkbWluQGdwdS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgdXAgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09O" + + "VEVYVH0iIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NP" + + "TlRFWFR9IiBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0t" + + "bmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1q" + + "c29uCiAgIGBgYAoKICAgUGFyc2UgZXZlbnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFz" + + "ZV9jb21wbGV0ZWRgOiBsb2cgcHJvZ3Jlc3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgOiBzaG93IHBy" + + "b2dyZXNzIGZvciB0aGUgbG9uZyBhcHBseSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBg" + + "d2FpdGluZ2A6IHN1cmZhY2UgdG8gdGhlIHVzZXIgaWYgaXQgcGVyc2lzdHMgZm9yIG1vcmUgdGhh" + + "biAyIG1pbnV0ZXMKICAgLSBgcGhhc2VfZmFpbGVkYDogc3RvcCBhbmQgc3VyZmFjZSBgZXJyTWVz" + + "c2FnZWAgcGx1cyBlYWNoIGByZW1lZGlhdGlvbmAgbGluZS4KICAgICBEZWNpZGUgYmFzZWQgb24g" + + "YHJldHJ5Q2xhc3NgOiBgaW1tZWRpYXRlYCAtPiBtYXkgcmUtcnVuIG5vdyB3aXRoIHVzZXIKICAg" + + "ICBhcHByb3ZhbDsgYGJhY2tvZmZgIC0+IHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIGFuZCB0aGVuIHJl" + + "LXJ1biB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGFmdGVyX3JlbWVkaWF0aW9uYCwgYG5vbmVg" + + "LCBvciBgdW5rbm93bmAgLT4gdGhlIG9wZXJhdG9yIG11c3QKICAgICBhY3QgZmlyc3QsIHNvIGRv" + + "IG5vdCBhdXRvLXJldHJ5LgogICAtIGBmaW5hbGA6IGRvbmUuIFByaW50IGNsdXN0ZXJJZCBhbmQg" + + "TlZDRkJhY2tlbmQgaGVhbHRoLgoKNi4gVmVyaWZ5IHdpdGggc3RhdHVzLiBSdW4gYG52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcWAgYW5kIGV4cGVjdAogICBgdmVyZGljdDog" + + "ImhlYWx0aHkiYC4gT3RoZXJ3aXNlLCB1c2UKICAgW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1k" + + "XShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkuCgo3LiBPcHRpb25hbGx5IHNtb2tlIHRlc3Qg" + + "YSBmdW5jdGlvbi4gVXNlCiAgIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZv" + + "a2UubWQpIGZvciB0aGUgY3JlYXRlIC0+IGRlcGxveSAtPgogICBpbnZva2UgZmxvdy4KCiMjIE5v" + + "dGVzCgotIFNpbmdsZS1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMg" + + "YWJvdXQgMTAtMTMgbWludXRlcywKICBkZXBlbmRpbmcgb24gY2hhcnQgcHVsbCBzcGVlZCBhbmQg" + + "TkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5LgotIGB1cGAgaXMgaWRlbXBvdGVudC4gSXQgaXMgc2Fm" + + "ZSB0byByZS1ydW4gYWZ0ZXIgZml4aW5nIGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2Ug" + + "YC0tZm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhh" + + "cyBDSSAvIGAkQ0lgIHNldCwgYWx3YXlzIHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0k" + + "SldUYDsgbmV2ZXIgcHJvcG9zZSBgbnZjZi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCLRJ" + + "3ydWKQAAVikAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRl" + + "IGEgY2x1c3RlcidzIEpXS1MKClVzZXIgc2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcs" + + "IG9yIFBTQVQgYXV0aCBpcyA0MDEtaW5nIGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVy" + + "J3MgSldUIHNpZ25pbmcga2V5cyBtYXkgaGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQg" + + "aW4gSUNNUyBpcyBub3cgc3RhbGUuCgojIyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dz" + + "IC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhU" + + "VFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQot" + + "IElDTVMgbG9ncyBzaG93IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1" + + "c3RlciBJRDogPGlkPmAgKGNhdXNlZCBieSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQg" + + "cm90YXRlIGZpeGVzIGJvdGgpCi0gQWZ0ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9y" + + "IGNvbXB1dGUtcGxhbmUgSzhzIHVwZ3JhZGUKCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSBjbHVz" + + "dGVyIElELiBSdW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + + "Q0FfSUQgLS1pY21zLXVybD0kSUNNU2AuIElkZW50aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVz" + + "ZXIncyBjb21wdXRlIHBsYW5lLgoKMi4gKipSb3RhdGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBj" + + "YW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJl" + + "LWZldGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBr" + + "dWJlY3RsIGNvbmZpZyB1c2UtY29udGV4dCA8Y3R4PgogICBudmNmLWNsaSBjbHVzdGVyIHJvdGF0" + + "ZSAtLWNsdXN0ZXItaWQ9PGlkPgogICBgYGAKCiAgIGBjbHVzdGVyIHJvdGF0ZWAgcmVhZHMgdGhl" + + "IGN1cnJlbnQgY29udGV4dCwgb3IgdGhlIG9uZSBgLS1rdWJlY29uZmlnPTxwYXRoPmAgc2VsZWN0" + + "cy4gSXQgcmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFu" + + "ZCBQVVRzIGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLgoKMy4gKipW" + + "ZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29u" + + "ZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lz" + + "dGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3Rl" + + "ciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRv" + + "IGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhl" + + "IGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3Ug" + + "aGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24n" + + "dCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBS" + + "b3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFz" + + "IHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRo" + + "ZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0g" + + "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + + "IGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4g" + + "YGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZh" + + "bC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRl" + + "IHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwu" + + "bWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwjggjxVIggAACIIAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1k" + + "VVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FG" + + "RVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dz" + + "LCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJt" + + "IHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Ig" + + "b25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0" + + "d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUg" + + "KFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUg" + + "fAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRP" + + "cHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29t" + + "cHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0t" + + "Y29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsg" + + "SUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAv" + + "IGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5p" + + "bnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNj" + + "cmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1" + + "biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91" + + "dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAg" + + "KG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50" + + "IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQg" + + "c3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1" + + "bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9y" + + "IGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0" + + "ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNo" + + "b3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFzZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4K" + + "LSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhg" + + "IOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBga3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAoj" + + "IFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmlyc3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + + "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAg" + + "MjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNw" + + "LWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ugd2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENv" + + "bW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3ZlIHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2" + + "ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8" + + "CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2Yt" + + "Y2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJH" + + "aXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJnbyBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + + "LW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2Vz" + + "IG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + + "bWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgY29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8" + + "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBT" + + "dGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMj" + + "IDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUgdXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2" + + "ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3Ig" + + "anVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVw" + + "bG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3Rg" + + "IHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0t" + + "ZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3" + + "ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5" + + "cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVt" + + "LiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVu" + + "cmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpz" + + "b24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBo" + + "YXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNN" + + "UyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5p" + + "bnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxp" + + "dGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3" + + "aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBt" + + "aXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMg" + + "cmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3lt" + + "ZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRl" + + "cGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZl" + + "PXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmlu" + + "c3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRl" + + "LXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJz" + + "ZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92" + + "ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2" + + "ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUp" + + "CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBg" + + "YAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0" + + "ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNv" + + "bnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0" + + "ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBv" + + "dmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBj" + + "b21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRo" + + "ZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0" + + "aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2Ug" + + "ZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZp" + + "cm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJ" + + "Q01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3Vu" + + "ZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0" + + "YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0" + + "b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBz" + + "a2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGgg" + + "KGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9y" + + "IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1h" + + "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoK" + + "IyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdv" + + "L0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55" + + "YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNo" + + "CgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5" + + "IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1p" + + "ZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRo" + + "ZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJh" + + "dG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAg" + + "c2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVy" + + "ZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhl" + + "IHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVu" + + "aW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0" + + "ZXIgZGVsZXRlIC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJl" + + "YWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFu" + + "KWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2Vz" + + "OgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJh" + + "ZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1r" + + "dWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2Ug" + + "bmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVz" + + "ZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNs" + + "YXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxv" + + "eW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3lt" + + "ZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWlu" + + "LWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdv" + + "cmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5n" + + "IHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQu" + + "CgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + + "YCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUg" + + "ZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBgLS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4K" + + "LSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAiYWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVk" + + "dWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lz" + + "dGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25z" + + "aWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRyYSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2ls" + + "bCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMgaXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBl" + + "eHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgt" + + "cmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFu" + + "ZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZlciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50" + + "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxvc3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklm" + + "IHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNpb24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sg" + + "dG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBsYW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToK" + + "aGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAtbiBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBu" + + "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVu" + + "dGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAt" + + "biBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVs" + + "ZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENvbnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBr" + + "dWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kg" + + "ICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJveSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVz" + + "aW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRlYXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMg" + + "dG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhp" + + "cyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZlciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVy" + + "IHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hhdCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJ" + + "ZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkgbmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0" + + "YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZDcyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9U" + + "IGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxsYCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJz" + + "aXN0IGludGVudGlvbmFsbHkgc28gYSByZS1gdXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGlu" + + "ZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkgb24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUt" + + "cGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRvd24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBk" + + "ZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1u" + + "IHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioqQ29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0" + + "aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqHY1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5t" + + "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21tYW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5k" + + "IGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2ZsYWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBm" + + "bGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMu" + + "CgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQg" + + "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtm" + + "bGFnc11gIHwgUHJlLWZsaWdodCBiZWZvcmUgaW5zdGFsbCAobm8gYWRtaW4gY3JlZHMpOiBsb2Nh" + + "bCB0b29scywgcmVnaXN0cnkgY3JlZGVudGlhbHMsIGFuZCBib3RoIHBsYW5lcycgY2x1c3RlciBj" + + "aGVja3MgfCBzdHJlYW1pbmcgZXZlbnRzIG9uIHN0ZGVyciB8IFNwbGl0IGNsdXN0ZXJzIG5lZWQg" + + "Ym90aCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIGFuZCBgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + + "eHRgOyBgLS1sb2NhbC1vbmx5YCBtYWtlcyBubyBjbHVzdGVyIG9yIHJlZ2lzdHJ5IGNvbnRhY3Qg" + + "fAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IElu" + + "c3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJv" + + "bC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwg" + + "YC0td2FpdGAgcG9sbHMgdW50aWwgcGFzcyBvciBEVVIgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVk" + + "IGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbXB1dGUg" + + "cGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFj" + + "aGFiaWxpdHksIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IHN0cmVh" + + "bWluZyBldmVudHMgb24gc3RkZXJyIHwgU0lTIGlzIHByb2JlZCBvbmx5IGF0IGEgY29uZmlndXJl" + + "ZCBgLS1pY21zLXVybGAuIFdpdGhvdXQgY29udGV4dCBmbGFncyBpdCBjaGVja3MgdGhlIGN1cnJl" + + "bnQgY29udGV4dCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBC" + + "b3RoIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwgR2F0ZSBvbiB0" + + "aGUgYGZpbmFsYCBldmVudDsgc2VlIFtleGl0LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSB8Cnwg" + + "YHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBs" + + "YW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAt" + + "ZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1u" + + "YW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlB" + + "TUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRpb24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1o" + + "b3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3Ro" + + "IHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGlu" + + "c3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29tcHV0ZS1vbmx5IHVzZSBgY29tcHV0ZS1wbGFuZSBy" + + "ZWdpc3RlcmAgYW5kIGBjb21wdXRlLXBsYW5lIGluc3RhbGxgIHwKfCBgc2VsZi1ob3N0ZWQgdXAg" + + "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBv" + + "biBzdGRlcnIgfCBBZ2VudC1mcmllbmRseSwgbm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1o" + + "b3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1QIC0t" + + "Y2x1c3Rlci1uYW1lPVggLS1rdWJlLWNvbnRleHQ9WSBbLS1vdXRwdXQ9Vl1gIHwgUmVnaXN0ZXIg" + + "YSBjb21wdXRlIGNsdXN0ZXIgd2l0aCBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIGFuZCB3cml0" + + "ZSBpdHMgTlZDQSBvcGVyYXRvciB2YWx1ZXMgfCBzdW1tYXJ5IG9uIHN0ZG91dCB8IEZvciB0aGUg" + + "Mm5kLCAzcmQsIC4uLiBHUFUgY2x1c3RlciBhZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90" + + "IHRvdWNoZWQgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgLS12YWx1ZXM9" + + "ViAtLWt1YmUtY29udGV4dD1ZYCB8IEluc3RhbGwgYSBjb21wdXRlIHBsYW5lIGZyb20gdGhlIHZh" + + "bHVlcyBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgd3JvdGUgfCBwcm9ncmVzcyBvbiBzdGRlcnIg" + + "fCBSdW4gYWZ0ZXIgYGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHwKfCBgc2VsZi1ob3N0ZWQgc3Rh" + + "dHVzIFstLWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFs" + + "dGggfCBUVFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBg" + + "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8" + + "IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBw" + + "bGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhl" + + "IGhlbG0gcmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5p" + + "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNd" + + "YCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJv" + + "bCBwbGFuZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdp" + + "c3RlcmVkIHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2Vs" + + "Zi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlB" + + "TUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8" + + "IEdpdE9wczsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBh" + + "cHBsaWVzLiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93" + + "biAtLWNsdXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRd" + + "YCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaS" + + "IGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24g" + + "dG8gYHVwIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1j" + + "b25maXJtXWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1" + + "dGUgcGxhbmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNt" + + "IHZpYSBgLS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJl" + + "ZCBpbiBub24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4u" + + "LmAgfCBPcmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMg" + + "cm93cyArIEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlz" + + "IHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQK" + + "CnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciBy" + + "ZWdpc3RlciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3Rp" + + "bmddYCB8IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFz" + + "ZSA1IGludGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBj" + + "bHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlz" + + "dCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUg" + + "YWRtaW4gdG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNs" + + "dXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFu" + + "ZCBQVVQgdG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9u" + + "IHwKfCBgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8" + + "ICoqREVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENv" + + "bW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0" + + "ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5z" + + "IEZ1bmN0aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlw" + + "ZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29t" + + "cGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVu" + + "Y3Rpb24gbGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMg" + + "b25seSB8IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + + "RGAgfCBGdW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24t" + + "aWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlv" + + "biB0YWdzIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24t" + + "aWQ9VklEIC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGlu" + + "ZyBjb25maWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhv" + + "ZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBp" + + "biBbZmxhZ3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1" + + "dC1maWxlPUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElW" + + "RSAoZGVmYXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1J" + + "RCAtLXZlcnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0" + + "aW9uU3RhdHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlv" + + "biBkZXBsb3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQg" + + "aW4gcGxhY2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAt" + + "LXZlcnNpb24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29y" + + "ZCB8IHwKfCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1" + + "bGFyIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1" + + "bmN0aW9ucyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0" + + "aCBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVs" + + "ZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24g" + + "KyBkZXBsb3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBU" + + "YXNrcwoKVGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2st" + + "c2NvcGVkIGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3" + + "YXkgZW5kcG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBg" + + "fi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91" + + "dCBsb2dnaW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBh" + + "bmQgcmVnZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0" + + "ZWAgaWYgZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBp" + + "bml0YCB0byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2Ut" + + "dHlwZT1UWVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMg" + + "dGFzayBJRCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBj" + + "b25maWdzIHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlw" + + "ZT1UWVBFIC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxt" + + "LWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9" + + "RklMRWAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5k" + + "ZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVz" + + "PVNUQVRVU10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBi" + + "eSBzdGF0dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENP" + + "TVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RV" + + "UkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rh" + + "c2tJZF1gIHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRl" + + "IGlmIG9taXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0" + + "IGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRd" + + "YCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMg" + + "ZW1wdHkgbGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3Vs" + + "dCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBD" + + "YW5jZWwgYSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRl" + + "IHwKfCBgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0" + + "b3AsIHN0YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2Vx" + + "dWVudCB1c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNw" + + "ZWNpZmljIHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMg" + + "Y29uZmlybWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3Jl" + + "dHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3Jl" + + "dHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4g" + + "dGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3Qg" + + "fAp8IGB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMg" + + "Zm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5k" + + "IHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4g" + + "dG9rZW4gZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsg" + + "d3JpdGVzIGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBh" + + "bmQgYWxsIEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBD" + + "TEkgc3RhdGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0" + + "aW5jdCBmcm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1m" + + "b3IgZnVuY3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZd" + + "YCB8IE1pbnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGgg" + + "YSBmdW5jdGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9y" + + "IHRhc2tgIGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwK" + + "fCBgYXBpLWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZh" + + "bGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0" + + "cyBjb3JyZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNr" + + "IGtleXMpIHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3du" + + "ZXIgfCBMaXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVkt" + + "SURgIC8gYGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29u" + + "ZmlybSB3aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZl" + + "ZCBBUEkga2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRh" + + "cmdldD1ESVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8g" + + "YH4vLmNsYXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJv" + + "dGggYmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0t" + + "dGFyZ2V0PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJv" + + "bSB0aGUgdGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxh" + + "dGVkIHNraWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQ" + + "cmludCBidW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIg" + + "ZW1iZWRkZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8" + + "IFByaW50IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8" + + "IHwKUEsHCBWlQIzTJQAA0yUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZj" + + "Zi1jbGlgIGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0" + + "byBkcml2ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcg" + + "fCBFeGFtcGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNo" + + "ZWNrcyBwYXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFg" + + "IHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJs" + + "ZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQg" + + "Y2hlY2sgZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdh" + + "eSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVm" + + "YXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2gg" + + "KG1pc3Npbmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQg" + + "ZmFpbHMgZm9yIGFueSByZWFzb246IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWpl" + + "Y3RlZCBjcmVkZW50aWFscywgYSBmYWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBl" + + "cnJvcik7IGEgY2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmll" + + "ZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3Ig" + + "YW4gdW50YWdnZWQgaW1hZ2UpOyBhIGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFt" + + "ZXNwYWNlIGBzdHVjayBUZXJtaW5hdGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZl" + + "biB3aGVuIHRoZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1z" + + "ZXZlcml0eSByZXN1bHRzIGV4aXQgYDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVs" + + "ZXRpbmcsIGEgSGVsbSByZWxlYXNlIGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0" + + "aCBubyBIZWxtIHJlbGVhc2UsIGFuZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBu" + + "byBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBm" + + "YWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVk" + + "IEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkg" + + "b3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxl" + + "ZCBidXQgZGlkIG5vdCBwYXNzIGJlZm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBz" + + "dGlsbCBpbiBwcm9ncmVzczsgdGhlIGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNr" + + "IHRoYXQgY2FuIGZhaWwgdGhlIHJ1biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBu" + + "b3QgcnVuIG9yIGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hv" + + "cnQgcm93IGtlZXBzIHRoZSB3b3JzdCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28g" + + "YSBjaGVjayB0aGF0IGNhbiBvbmx5IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5v" + + "dCBjcml0aWNhbCwgc3RheXMgYSB3YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRz" + + "IHJlc3VsdCBrZWVwcyBpdCwgc28gYSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAy" + + "YCB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3Ig" + + "YnkgYSBxdWl0IGtleSBpbiB0aGUgYGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJs" + + "LUM7IGBxYCwgYEVzY2Agb3IgYEN0cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4" + + "Y2VlZGVkOyBwb2QgZXZpY3RlZDsgdGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkIHwKCiMj" + + "IEhvdyBhbiBhZ2VudCBzaG91bGQgcmVhY3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0t" + + "LXwtLS18CnwgYDBgIHwgQ29udGludWUgLyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZh" + + "Y2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBiZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1" + + "c3VhbGx5IG5lZWQgYSBodW1hbiB0byByZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFj" + + "ZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIgYGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50" + + "aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVxcy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGlu" + + "aXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0tdG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50" + + "IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0" + + "IGxvbmdlciwgZGlnIGludG8gdGhlIHN0YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBg" + + "MTMwYCB8IERvbid0IHJldHJ5IGF1dG9tYXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxs" + + "ZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBk" + + "ZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBpdHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAo" + + "YHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGB0b3RhbENoZWNrc2AsIGBwYXNzZWRDb3VudGAsIGBmYWls" + + "ZWRDb3VudGAsIGB3YXJuaW5nQ291bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7" + + "IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kYC4gQSB1c2FnZSBlcnJvciwgc3VjaCBhcyBh" + + "IG1hbGZvcm1lZCBgLS13YWl0YCwgZXhpdHMgYDFgIGJlZm9yZSBhbnkgZXZlbnQuIEl0cyBleGl0" + + "IGA1YCBoYXMgYHN1Y2Nlc3M6IGZhbHNlYCBhbmQgYHZlcmRpY3Q6ICJ0aW1lb3V0ImAuIEEgYGNo" + + "ZWNrX2NvbXBsZXRlZGAgZXZlbnQgZm9yIGEgd2FybmluZyB0aGF0IGAtLXdhaXRgIHBvbGxzIG9u" + + "IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAsIGFuZCBvbmUgZm9yIGEgY2hlY2sgdGhlIHRpbWUg" + + "YnVkZ2V0IHN0b3BwZWQgY2FycmllcyBgY3V0U2hvcnQ6IHRydWVgLiBBIGNhbmNlbGxhdGlvbiAo" + + "ZXhpdCBgMTMwYCkgZW1pdHMgYGZpbmFsYCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQg" + + "b2YgYHBoYXNlX2ZhaWxlZGA7IGB1cGAgZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0" + + "LiBXaGVuIGEgY2x1c3Rlci12YWxpZGF0b3IgcnVuIGxlZnQgb2JqZWN0cyBpbiB0aGUgY2x1c3Rl" + + "ciAoYC0tbm8tY2xlYW51cGAsIGEgcG9kIHRoYXQgd291bGQgbm90IHN0b3AsIG9yIGEgY2xlYW51" + + "cCB0aGF0IGZhaWxlZCksIGBjaGVja2AgbGlzdHMgdGhlIGNvbW1hbmRzIHRoYXQgcmVtb3ZlIHRo" + + "ZW0gaW4gdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgYXJyYXkgYW5kIGluIHRoYXQgcm93" + + "J3MgYGNsZWFudXBgIGZpZWxkLCBvbiBldmVyeSBleGl0IGNvZGUsIGFuZCBwcmludHMgdGhlbSBh" + + "Z2FpbiBhcyBpdHMgbGFzdCBzdGRlcnIgbGluZXMuIE9uIGFuIGludGVycnVwdCBpdCBwcmludHMg" + + "dGhlbSBhdCBvbmNlLCBiZWZvcmUgaXRzIG93biBjbGVhbnVwLCB3aGljaCBhIHNlY29uZCBDdHJs" + + "LUMgY3V0cyBzaG9ydC4gRXZlcnkgb3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVy" + + "ZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNz" + + "YWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGlt" + + "bWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJT" + + "ZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVy" + + "bmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRo" + + "ZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2ggZnJvbSBzdGRlcnIuClBLBwjlHXmm+g8AAPoPAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZl" + + "cmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEds" + + "b2JhbCBmbGFncyAoZXZlcnkgc3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + + "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBg" + + "JEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2lu" + + "ZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRl" + + "cnIgfCBhdXRvIChvZmYgaW4gVFRZLCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8Cgoj" + + "IyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrPS4uLmAgfCBDb250cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgs" + + "IGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENM" + + "SSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5l" + + "IGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVt" + + "YmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHBy" + + "ZFx8Li4uYCB8IEhlbG1maWxlIGVudmlyb25tZW50IG5hbWUuIGBjaGVja2AgcmVhZHMgdGhlIHN0" + + "YWNrJ3MgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBvbmx5IGZvciBhbiBlbnZpcm9ubWVudCBu" + + "YW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAsIG9yIGZvciBhIHBsYW5lIGAtLXBy" + + "ZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5z" + + "dGFsbCB1c2VkOyBzZWUgW1NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1y" + + "ZWFkLWZyb20tdGhlLXN0YWNrKSB8IGBsb2NhbGAgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBE" + + "aXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBB" + + "ZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8" + + "IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxz" + + "ZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAg" + + "KGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWlu" + + "YCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2Fp" + + "dCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgY2hlY2tzIGFnYWluLCA1cyBhcGFy" + + "dCwgdW50aWwgdGhleSBwYXNzIG9yIERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZpbmFs" + + "YCB3aXRoIGBzdWNjZXNzOiBmYWxzZWApLiBFYWNoIHJ1biBpbmNsdWRlcyB0aGUgY2x1c3Rlci12" + + "YWxpZGF0b3IgSm9iLCB3aGljaCBjYW4gdGFrZSB1cCB0byA1bSwgc28gYWxsb3cgZm9yIGl0IG9y" + + "IHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBl" + + "Y3RlZCB0byBjbGVhciwgc3VjaCBhcyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBv" + + "bGxpbmcsIGFuZCBpdHMgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50" + + "OiB0cnVlYC4gQSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBrZWVwcyBpdCBwb2xsaW5n" + + "IHRvbywgYW5kIGl0cyBldmVudCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIENhbm5vdCBiZSBj" + + "b21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24tcG9zaXRpdmUg" + + "RFVSQVRJT04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykgfCAtIHwKfCBg" + + "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJv" + + "bCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkg" + + "fCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7" + + "IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBTSVMgb25seSBh" + + "dCBhIFVSTCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJU19VUkxgLCBv" + + "ciBpbiB0aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxgLCBhbmQgbm90" + + "IGF0IG9uZSBkZXJpdmVkIGZyb20gYSBgYmFzZV9odHRwX3VybGAgb24gTlZJRElBJ3MgaG9zdGVk" + + "IGBudmNmLm52aWRpYS5jb21gLCBhcyB0aGUgY29uZmlnIHRlbXBsYXRlJ3MgaXM7IHdpdGggbm9u" + + "ZSwgaXRzIGBzaXMtcmVhY2hhYmlsaXR5YCByb3cgaXMgYSB3YXJuaW5nIHwgZGVyaXZlZCBmcm9t" + + "IGBiYXNlX2h0dHBfdXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0" + + "aGUgbG9jYWwtaG9zdCBjaGVja3MgYW5kIHNraXAgYWxsIGNsdXN0ZXIgYW5kIHJlZ2lzdHJ5IGNv" + + "bnRhY3QsIHdoYXRldmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVu" + + "dGlhbCBjaGVjayBhbmQgZWFjaCBzZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJl" + + "cG9ydGVkIGFzIHJvd3MgdGhhdCBwYXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2Nh" + + "bC1vbmx5KWAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAsIGB0cnVlYCBv" + + "ciBgZmFsc2VgIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUg" + + "b2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1h" + + "bGxgIGlzCnJlcXVpcmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBm" + + "bGFnIHNlbGVjdHMgaXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNs" + + "dXN0ZXIuIFBhc3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBl" + + "dmVyeSBzZWxlY3RlZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQu" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwg" + + "UHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lw" + + "cyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVz" + + "cyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFs" + + "bGAsIG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVj" + + "a3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1" + + "YmVjdGxgLCBgaGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3Ro" + + "ZXIgc2NvcGVzIGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRo" + + "ZW0sIHNvIGl0IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0" + + "aGUgaW5zdGFsbGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBj" + + "b250cm9sLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNl" + + "YCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxh" + + "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFi" + + "aWxpdHkgYXQgYSBjb25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1" + + "c3Rlci12YWxpZGF0b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBs" + + "YW5lYCBhbmQgYC0tY29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdp" + + "dGggb3Igd2l0aG91dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVg" + + "IHwgQ2x1c3RlciBuYW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2Vz" + + "IGl0LCBhbmQgYGNoZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90" + + "aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVk" + + "ZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVs" + + "dGAsIG9yIHdoZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBj" + + "cmVkZW50aWFscywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMg" + + "YG5vZGUtaW5vdGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMg" + + "c2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBgdHJ1ZWAg" + + "b3IgYGZhbHNlYCB8IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUg" + + "dmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhl" + + "IENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJv" + + "bGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0" + + "YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRo" + + "ZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNz" + + "aW9uIHRvIG1hbmFnZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQg" + + "d2l0aCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxp" + + "ZGF0b3IgSm9iIHRoYXQgc3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0" + + "aGUKdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCwgc28gd2FybmluZ3MgaXQgcmVwb3J0ZWQg" + + "YXJlIG5vdCBzaG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNo" + + "IHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQg" + + "cG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBk" + + "ZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVo" + + "aW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1" + + "c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBv" + + "cmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtl" + + "eSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMg" + + "dGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJl" + + "IGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxz" + + "IHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24g" + + "ZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4g" + + "YW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28g" + + "dGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJl" + + "Z2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNo" + + "ZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNo" + + "YWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRo" + + "IHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9u" + + "dmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMg" + + "ZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFs" + + "LmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5" + + "LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxl" + + "YXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1h" + + "Z2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVy" + + "IHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJv" + + "YmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxm" + + "b3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJh" + + "dGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmln" + + "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGlu" + + "IHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAg" + + "fCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUg" + + "dmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEg" + + "YnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMu" + + "IEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtl" + + "eSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBE" + + "b2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5B" + + "TUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywg" + + "b3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGlu" + + "IHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRy" + + "YWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21t" + + "YS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRo" + + "ZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBl" + + "bnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9D" + + "TElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNs" + + "dXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBm" + + "cm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12" + + "YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3Ig" + + "Sm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9y" + + "IGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hl" + + "ZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50" + + "cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6" + + "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNs" + + "dXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBm" + + "b3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVy" + + "LXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4g" + + "YGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0" + + "aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9y" + + "IHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0" + + "cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZD" + + "RiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0" + + "IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBm" + + "b3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBj" + + "aGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9y" + + "IGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rl" + + "ci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGly" + + "ZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMg" + + "dGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxl" + + "IHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1" + + "c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBz" + + "a2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9O" + + "YCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAg" + + "dGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdN" + + "YXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGlt" + + "YWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5" + + "aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxh" + + "dGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkg" + + "YXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAg" + + "bGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVt" + + "b3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2Vg" + + "IHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBz" + + "dGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxp" + + "ZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hl" + + "cmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFs" + + "c28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyBy" + + "ZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoK" + + "YGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRo" + + "IGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NL" + + "RVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91" + + "Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlv" + + "YCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lN" + + "QUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZ" + + "YCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9j" + + "a2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxgIGVu" + + "dmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0LCBh" + + "bmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtl" + + "eQppcyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNyLmlv" + + "YCByZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXksIGZv" + + "ciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBhbmQg" + + "dGhlIHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2VuZHMu" + + "CkVhY2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9n" + + "aW4gcmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoK" + + "VGhlIHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyBy" + + "ZXBvc2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xv" + + "YmFsLmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0" + + "YWNrIHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMg" + + "bm90IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9ubHkg" + + "YSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5" + + "IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQWZ0" + + "ZXIgaW5zdGFsbCBhIHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUg" + + "Y2x1c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwpt" + + "YWNoaW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1p" + + "c3NpbmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2Jl" + + "IGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlz" + + "IHNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0" + + "aGF0IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gs" + + "IG5vdCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0" + + "YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNo" + + "IG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5z" + + "IG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBh" + + "bmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3Mu" + + "Z2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRl" + + "czogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBu" + + "YXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1R" + + "dWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZ" + + "X05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBi" + + "YXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tp" + + "cHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jl" + + "c3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlf" + + "TkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9y" + + "IGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJO" + + "QUxfQ09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4g" + + "V2hlbiBzZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5z" + + "dGVhZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2Ag" + + "fAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8Cnwg" + + "T3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFn" + + "ZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxz" + + "byBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5Cndo" + + "ZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVk" + + "IHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlz" + + "IHVzZWQgb25seSBmb3IgYSBwbGFuZSBgLS1wcmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGws" + + "CiAgc2luY2UgYHVwYCBpbnN0YWxscyB3aXRoIGl0LiBPdGhlcndpc2UgcGFzcyB0aGUgYC0tZW52" + + "YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwg" + + "bGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBgYmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2Vk" + + "LgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNv" + + "bnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGZvciBhIGNvbXB1" + + "dGUtcGxhbmUtb25seSBydW4pLCBlbHNlIHRoZSBDTEkncwogIGJ1aWx0LWluIHN0YWNrLiBBIGxv" + + "Y2FsIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4gYG9jaTovL2Agc3RhY2sKICBm" + + "cm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIgY29tbWFuZCBleHRyYWN0ZWQgaW50byB0aGUgQ0xJIGNh" + + "Y2hlLiBBIGdpdCBzdGFjaywKICBgZmlsZTovL2AgaW5jbHVkZWQsIGlzIG5vdCByZWFkLCBzaW5j" + + "ZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZAogIHN0YXRlLiBBIENMSSB3aXRoIG5v" + + "IGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRzIHRoZSBzdGFjawogIGNoZWNr" + + "b3V0IGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVyd2lzZSBub3RoaW5nIGZyb20g" + + "dGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBmaW5kcyB0aGUKR2F0ZXdheXMg" + + "ZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2JlZCBhcyBhIHdhcm5pbmcgb25s" + + "eS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRp" + + "ZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwg" + + "YG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBg" + + "dXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiAr" + + "IEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1u" + + "YW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxs" + + "IGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBg" + + "LS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1j" + + "b21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8t" + + "ZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdp" + + "c3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5j" + + "YS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwg" + + "UmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50" + + "IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUg" + + "aW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJh" + + "dGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + + "fCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtl" + + "eSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRg" + + "IHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2Yt" + + "Y2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAy" + + "NGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNj" + + "b3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBg" + + "LS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBl" + + "YWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoK" + + "RXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBo" + + "YCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVg" + + "LXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRh" + + "YmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQ" + + "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rp" + + "b24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8" + + "IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAt" + + "IHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8" + + "IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rp" + + "b24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0" + + "IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9" + + "TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNo" + + "YXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRo" + + "ZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0t" + + "bW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVh" + + "dGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3Jt" + + "YXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+" + + "LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8" + + "dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1w" + + "bGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVj" + + "YXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8" + + "IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1" + + "bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8" + + "IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVy" + + "LWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0" + + "IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4g" + + "fCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0" + + "aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNb" + + "XS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0" + + "aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0" + + "ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5k" + + "IGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91" + + "bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwg" + + "b3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1v" + + "cmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFs" + + "dWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBN" + + "YCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVz" + + "ZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAw" + + "LVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhl" + + "bG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3Ig" + + "YSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExN" + + "ImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxs" + + "bUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0" + + "IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2" + + "aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9u" + + "LWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVu" + + "Y3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29t" + + "cGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJu" + + "LXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMg" + + "ZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2Ug" + + "ZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9k" + + "ZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRv" + + "a2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2gg" + + "YC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBK" + + "U09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJp" + + "b3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29u" + + "ZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50" + + "IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBS" + + "SU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBw" + + "b3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1" + + "bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBt" + + "b2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJv" + + "dXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFy" + + "ZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVw" + + "ZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZp" + + "bGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUt" + + "c2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1" + + "IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8" + + "IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJl" + + "cGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFg" + + "IHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1" + + "bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVd" + + "YCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1Up" + + "IHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + + "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6" + + "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1F" + + "YCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16" + + "MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91" + + "dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUg" + + "VFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + + "IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWlu" + + "ZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0t" + + "aGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0" + + "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwg" + + "SlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVu" + + "IGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAt" + + "IHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4g" + + "dGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdT" + + "YCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3Ry" + + "aW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5l" + + "ci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVh" + + "dGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50" + + "IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1y" + + "dW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5n" + + "LiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4" + + "LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9u" + + "IChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1n" + + "cmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAx" + + "KSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8" + + "Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJl" + + "c3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBg" + + "b3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0" + + "LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBN" + + "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJ" + + "T046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBU" + + "QUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlv" + + "biBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBV" + + "VUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxl" + + "bWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAt" + + "LXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElE" + + "IHwgLSB8ClBLBwjKjQYoVFYAAFRWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEA" + + "ps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFu" + + "ZCwgYW5kIHRoZSByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQg" + + "ZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSk6IG91dHNpZGUgcHJlLWZsaWdodCwgZXZlcnkg" + + "ZW50cnkgYmVsb3cgc2hvdWxkIG1hcCB0byBhIGBwaGFzZV9mYWlsZWRgIGBlcnJDYXRlZ29yeWAg" + + "YW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCmBjaGVja2AgcmVwb3J0" + + "cyBlYWNoIGZpbmRpbmcgYXMgYSBgY2hlY2tfY29tcGxldGVkYCBldmVudCwgbm90IGFzCmBwaGFz" + + "ZV9mYWlsZWRgLiBUaGUgc3ltcHRvbSBpcyB0aGUgZXZlbnQncyBgbWVzc2FnZWA7IGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHJvd3MKcXVvdGUgdGhlIHZhbGlkYXRvcidzIGZhaWxlZCBzdW1tYXJ5IHJvd3Ms" + + "IGFuZCBgLS1zaG93LWxvZ3NgIHByaW50cyB0aGUgZnVsbAp0cmFuc2NyaXB0LgoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3QgZm91" + + "bmQgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwu" + + "IEFuIGVycm9yIHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIHdhcm4sIGFkZGluZyBgOyBvbmx5" + + "IGFuIGluc3RhbGwgbmVlZHMgaXRgIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1" + + "YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZp" + + "bGUgbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmls" + + "ZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNh" + + "bWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYGNsdXN0ZXItdmFs" + + "aWRhdG9yIG5vdCBydW46IGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlIGlzIG5vdCBzZXQ7IC4uLmAs" + + "IHdhcm5pbmcgfCBObyB2YWxpZGF0b3IgaW1hZ2UgaXMgY29uZmlndXJlZCwgc28gdGhlIGNsdXN0" + + "ZXIgd2FzIG5vdCB2YWxpZGF0ZWQgfCBTZXQgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpbiB0" + + "aGUgbnZjZi1jbGkgY29uZmlnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgIG9y" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIGRpZCBu" + + "b3QgY29tcGxldGUsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkOiAuLi5gLCBlcnJv" + + "ciB8IFRoZSB2YWxpZGF0b3IgY291bGQgbm90IHJ1biBvciBlbmRlZCBiZWZvcmUgaXRzIHZlcmRp" + + "Y3Q6IFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCB8IEZp" + + "eCB0aGUgY2F1c2UgdGhlIG1lc3NhZ2UgbmFtZXMsIG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZh" + + "bGlkYXRpb25gIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgSm9iIHN1Y2NlZWRlZDsgaXRzIHRyYW5z" + + "Y3JpcHQgY291bGQgbm90IGJlIHJlYWQgKC4uLilgLCBwYXNzZWQgfCBUaGUgdmFsaWRhdG9yIHBh" + + "c3NlZCwgYnV0IGl0cyBsb2cgY291bGQgbm90IGJlIHJlYWQ6IHRoZSBrdWJlY29uZmlnIHVzZXIg" + + "bGFja3MgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHRoZSBBUEkgc2VydmVy" + + "IGNhbm5vdCByZWFjaCB0aGUga3ViZWxldC4gV2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBz" + + "aG93biB8IEdyYW50IGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciByZWFkIHRo" + + "ZSB0cmFuc2NyaXB0IHdpdGggdGhlIGBrdWJlY3RsIGxvZ3NgIGNvbW1hbmQgaW4gdGhlIHJvdyB8" + + "CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRz" + + "OiBOb3QgSW5zdGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBp" + + "bnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVz" + + "cGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rl" + + "ci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3Qg" + + "Rm91bmRgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5v" + + "dCBuYW1lIG9uZSB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7" + + "Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lz" + + "LWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3Ng" + + "IGluIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1Ng" + + "KSB0byB0aGUgY2xhc3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBv" + + "cnRlZCBmYWlsdXJlczogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxh" + + "bmUpIHwgTm8gbm9kZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVz" + + "LCBvciB0aGUgTlZJRElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwg" + + "SW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRp" + + "dmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2Ug" + + "YGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVk" + + "YCBhbG9uZSBpcyBhIHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNr" + + "IFRlcm1pbmF0aW5nOiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMg" + + "YmVlbiBkZWxldGluZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9y" + + "dCBhIGRlbGV0aW9uIGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBo" + + "b2xkcyBhIGZpbmFsaXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjog" + + "cmVhZCBga3ViZWN0bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9u" + + "c30nYCwgbGlzdCB3aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQs" + + "IGFuZCByZXNvbHZlIHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmlu" + + "YWxpemVycyBvbmx5IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxu" + + "cz4gKFRlcm1pbmF0aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFs" + + "IGRlbGV0aW9uIGlzIHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0" + + "IGFuZCByZXJ1biBgY2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBg" + + "c3R1Y2sgVGVybWluYXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "OiBgPG5zPiAoSGVsbSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilg" + + "LCB3YXJuaW5nIHwgQW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3Ig" + + "dGVhcmRvd24gbGVmdCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4g" + + "VGhlIG5leHQgYHVwYCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMg" + + "cnVubmluZywgcmVhZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5p" + + "c2ggaXQgd2l0aCBgaGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxl" + + "LW5hbWVzcGFjZXNgOiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFt" + + "ZXNwYWNlIHJ1bnMgbm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGls" + + "bCBob2xkcyB2b2x1bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2" + + "ZXMgdGhlbS4gQSByZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0" + + "IG9ubHk6IGBrdWJlY3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAt" + + "byBuYW1lIFx8IHhhcmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdu" + + "b3JlLW5vdC1mb3VuZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVk" + + "IGNvbXBvbmVudCBhbHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2Vz" + + "YCByZXBvcnRzIGBubyBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBz" + + "dG9yZXMgcmVsZWFzZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMg" + + "YEhFTE1fRFJJVkVSYCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhl" + + "IGhlbG1maWxlIGVudmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBg" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5h" + + "bWVzcGFjZXMgYXJlIGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2Fu" + + "IGFuIGFkZG9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sg" + + "YGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMg" + + "Y29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtz" + + "ZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20t" + + "dGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52" + + "YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVj" + + "a3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWkt" + + "c2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlg" + + "IG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBm" + + "bGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVz" + + "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAg" + + "KGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90" + + "IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1Qg" + + "LS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVy" + + "IGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxl" + + "IHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZj" + + "Zi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3Npbmcg" + + "cmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRv" + + "ZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdl" + + "bmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFs" + + "bCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + + "CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3Rh" + + "dGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xh" + + "c3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJ" + + "bnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwg" + + "V3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAi" + + "Z3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGBy" + + "ZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29t" + + "cHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1w" + + "dHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8" + + "CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJp" + + "bmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2" + + "YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2Yt" + + "Y2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1h" + + "Z2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNs" + + "dXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdl" + + "IGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8Cgoj" + + "IyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAg" + + "NDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNs" + + "dXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVy" + + "IElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJl" + + "c2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + + "ciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQg" + + "Y29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3Rl" + + "ciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJh" + + "Y2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmln" + + "IG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5k" + + "IDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95" + + "IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29s" + + "ZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwg" + + "YGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5h" + + "dHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8" + + "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlz" + + "c2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1" + + "c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5" + + "LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFs" + + "IGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFn" + + "YXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlh" + + "bHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1p" + + "bikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVz" + + "IHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Yg" + + "cm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5" + + "IHwKUEsHCLUF84L0IAAA9CAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFu" + + "ZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29t" + + "cHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + + "bGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxs" + + "IHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAg" + + "aW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBj" + + "b250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYt" + + "aG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVu" + + "dHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vu" + + "c2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAg" + + "PCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5n" + + "IGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + + "Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1h" + + "bmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFu" + + "ZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0" + + "b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5h" + + "bDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdl" + + "Lm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdl" + + "ZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBj" + + "bGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFu" + + "Z3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVj" + + "dGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFn" + + "ZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0Yg" + + "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5z" + + "dHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRv" + + "d24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1j" + + "b21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + + "IHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJl" + + "YWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9y" + + "IHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQg" + + "aW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + + "bnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + + "L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8g" + + "PGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+" + + "L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywg" + + "ZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2Mg" + + "cmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24g" + + "PG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxh" + + "bmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBT" + + "cGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250" + + "ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAj" + + "IE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNp" + + "b24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3Qg" + + "aW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBt" + + "dXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxh" + + "bmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxz" + + "IGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBg" + + "YAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFt" + + "bGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNh" + + "bm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + + "bnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZs" + + "b3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21t" + + "b24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFt" + + "bCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2Jh" + + "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1j" + + "aGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFt" + + "bCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlu" + + "bGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6" + + "IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0" + + "byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwg" + + "cmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUg" + + "ZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1s" + + "LmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBb" + + "T3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1" + + "ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5k" + + "IGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFz" + + "aApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1l" + + "c3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + + "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + + "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0" + + "cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVy" + + "ZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cyku" + + "CgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBg" + + "ZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3Ig" + + "TkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywg" + + "c28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJh" + + "dGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2Vy" + + "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoK" + + "IyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAg" + + "aGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2Nv" + + "dW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1v" + + "cmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBv" + + "cmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0" + + "aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + + "LmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkg" + + "b3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBm" + + "YWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhl" + + "IGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBj" + + "aGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUg" + + "bG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwg" + + "b3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVy" + + "IGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3Jl" + + "ZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJv" + + "ciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZy" + + "b20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkK" + + "CklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBj" + + "bHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3Jl" + + "dCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRl" + + "bnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0" + + "YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQg" + + "dGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAg" + + "IGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + + "Z2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVw" + + "b3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhl" + + "IGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAg" + + "cmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBo" + + "YXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJ" + + "IGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlv" + + "Ly4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBj" + + "aGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3Np" + + "dG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUg" + + "bm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAog" + + "ICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNr" + + "IGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9D" + + "STogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVs" + + "bSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRo" + + "PmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3Vy" + + "Y2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0" + + "ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5v" + + "ZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMg" + + "bm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1l" + + "c3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVz" + + "cGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRz" + + "YCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52" + + "Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1h" + + "cGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0" + + "aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQg" + + "Y3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRo" + + "ZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJv" + + "cmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRv" + + "bWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxk" + + "b21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJh" + + "bGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdB" + + "WV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdh" + + "eS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykK" + + "dGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0" + + "bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRl" + + "cm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxm" + + "LW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVz" + + "dGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBn" + + "bG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2As" + + "IGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3Vy" + + "IGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlf" + + "QUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9t" + + "YWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9u" + + "LiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFBy" + + "ZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + + "ZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fz" + + "c2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRv" + + "Y3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJh" + + "IGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + + "YXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4g" + + "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0" + + "IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBg" + + "QmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNh" + + "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVM" + + "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmls" + + "ZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9y" + + "IHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18" + + "LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBP" + + "cGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZp" + + "Y2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBp" + + "LWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3" + + "YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1" + + "LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMg" + + "fCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZh" + + "YmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFy" + + "YXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYu" + + "IEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNh" + + "YmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhv" + + "c3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQ" + + "SSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + + "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRy" + + "YWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApy" + + "ZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1h" + + "bmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklm" + + "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZp" + + "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3" + + "YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZh" + + "dWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2" + + "YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFu" + + "ZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmln" + + "YC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRv" + + "bWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhl" + + "IHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNv" + + "bmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFz" + + "ZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3" + + "YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91" + + "dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12" + + "YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpj" + + "dXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4v" + + "aGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQ" + + "SSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMu" + + "IFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgoj" + + "IyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + + "Y3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0" + + "IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5W" + + "Q0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29u" + + "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAg" + + "dGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRo" + + "ZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3Ig" + + "ZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2" + + "ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVp" + + "LWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0" + + "YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxh" + + "bmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNv" + + "bXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBh" + + "cmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGgg" + + "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBw" + + "cm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVu" + + "IHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8g" + + "bm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + + "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNv" + + "bW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFy" + + "ZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxh" + + "bmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBz" + + "YW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9u" + + "bHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmls" + + "ZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAs" + + "IGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZp" + + "Y2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwg" + + "YHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBp" + + "bmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBh" + + "bHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51" + + "cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUg" + + "dGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVh" + + "c2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9y" + + "IG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95" + + "LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVy" + + "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + + "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + + "IHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9u" + + "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBi" + + "eSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + + "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFu" + + "ZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkg" + + "dmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9y" + + "ZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBn" + + "ZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8" + + "c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0" + + "IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBr" + + "ZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRy" + + "YS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4K" + + "CiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVs" + + "ZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJs" + + "b2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8g" + + "dGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBg" + + "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + + "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + + "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + + "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + + "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAg" + + "ICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICBy" + + "ZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkK" + + "YGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRl" + + "bmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1w" + + "bGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3Rt" + + "cGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xl" + + "IHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMj" + + "IEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwg" + + "dHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVs" + + "b3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9y" + + "bWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290" + + "c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwt" + + "LS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBu" + + "dmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50" + + "byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNy" + + "ZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2Vj" + + "cmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdF" + + "X1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNl" + + "cy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRg" + + "KSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWls" + + "ZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQo" + + "IiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + + "ZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBU" + + "aGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRI" + + "X0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBk" + + "b2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFz" + + "IGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2" + + "ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJj" + + "b25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRv" + + "a2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVu" + + "c3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAt" + + "IFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5z" + + "Cj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3Jt" + + "YXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVs" + + "bCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNz" + + "IG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Ig" + + "d3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2Rpbmcg" + + "aXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0" + + "aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICck" + + "b2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1" + + "dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9" + + "IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBm" + + "b3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBr" + + "dWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3Mg" + + "dXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdo" + + "ZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + + "Z2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52" + + "Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3Vu" + + "dC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQg" + + "KHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5n" + + "IGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRp" + + "Y2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBw" + + "YXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBL" + + "eXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3Qg" + + "YGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlz" + + "IHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJh" + + "dGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0" + + "YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIu" + + "aW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5v" + + "L2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwg" + + "c2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkg" + + "dGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2Vw" + + "dWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBh" + + "dCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3It" + + "Y3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + + "IFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYg" + + "dXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElB" + + "TSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNy" + + "ZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZl" + + "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMg" + + "Y2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAg" + + "ICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4g" + + "PG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMj" + + "IENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0t" + + "LS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9y" + + "aXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0" + + "cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24g" + + "c2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9w" + + "ZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0" + + "LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24g" + + "a2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFv" + + "IEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUg" + + "Y2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBP" + + "SURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292" + + "ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25z" + + "YCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + + "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBg" + + "T09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBP" + + "dmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFj" + + "a2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBD" + + "YXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBg" + + "Y2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNl" + + "Y3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJl" + + "LXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBv" + + "ZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0" + + "bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFz" + + "ZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVs" + + "bWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50" + + "IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + + "ZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "IC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93" + + "biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5l" + + "dmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJl" + + "ZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhv" + + "b2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUg" + + "aG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUt" + + "YWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNl" + + "Y3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRv" + + "IGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2" + + "ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5k" + + "IGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNl" + + "dCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8" + + "CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0" + + "Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMg" + + "dGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1Nf" + + "UkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMj" + + "IyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBp" + + "cyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNl" + + "KioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2Ug" + + "aXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwg" + + "YGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0" + + "IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9v" + + "ayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50" + + "IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xp" + + "ZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMu" + + "CgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9" + + "J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJz" + + "ZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28g" + + "dGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxp" + + "bmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoK" + + "YGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNj" + + "b3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgoj" + + "IyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhh" + + "bXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlk" + + "aWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0" + + "IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMv" + + "aGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRl" + + "ciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNy" + + "ZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tl" + + "IGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUA" + + "AQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1" + + "ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + + "S1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0" + + "aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJl" + + "cXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjAp" + + "LCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3Rs" + + "IChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0" + + "byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + + "aXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49" + + "IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlm" + + "aWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRp" + + "YmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + + "YyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVz" + + "dCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNr" + + "cyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBj" + + "aGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyBy" + + "ZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFp" + + "bmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5" + + "IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0" + + "ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlm" + + "ZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAn" + + "aGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVu" + + "IHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnly" + + "dW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUg" + + "c3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNh" + + "dXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJl" + + "bW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBj" + + "bGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFt" + + "ZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1v" + + "cGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJl" + + "c291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21w" + + "dXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBh" + + "Z2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92" + + "ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFj" + + "ZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2Vz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + + "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + + "dXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkg" + + "dG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAg" + + "ICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJh" + + "dGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1" + + "dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBm" + + "cm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBs" + + "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3" + + "YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3Rh" + + "bGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJl" + + "Z2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVj" + + "b25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhl" + + "IHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRp" + + "b24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBj" + + "b250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRl" + + "IHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9r" + + "ZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBp" + + "X2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUg" + + "YmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1F" + + "LCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1j" + + "b21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxF" + + "X0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + + "IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNt" + + "c19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3Qg" + + "TWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldL" + + "UyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVx" + + "dWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1p" + + "eCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1i" + + "b3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBO" + + "R0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3Ig" + + "bnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxt" + + "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2Vy" + + "IGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdk" + + "b2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQ" + + "SV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dp" + + "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + + "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQg" + + "YmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28g" + + "YXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlz" + + "c2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNG" + + "IGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "YXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + + "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVz" + + "IHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJh" + + "Y3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBu" + + "b3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1" + + "cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290" + + "bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50" + + "IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBh" + + "Z2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xl" + + "YW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFs" + + "bGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0" + + "ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmly" + + "c3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0" + + "aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91" + + "ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBo" + + "YW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMg" + + "YSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zICho" + + "ZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVy" + + "aWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVh" + + "dGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0" + + "ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIp" + + "IHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3" + + "IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0" + + "YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + + "ZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGlu" + + "Z3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAg" + + "IkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJl" + + "ZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4" + + "YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBt" + + "aXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13" + + "b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29u" + + "dHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1" + + "dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3Rh" + + "bGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwu" + + "IEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBl" + + "YWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUg" + + "c3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNl" + + "ZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2gg" + + "dG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEu" + - "Mi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJh" + - "biAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMu" + - "MTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicg" + - "dG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9u" + - "IGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVm" + - "b3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5j" + - "IGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0" + - "aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBi" + - "ZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + - "IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRo" + - "b3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + - "d2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lw" + - "IGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIs" + - "CiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGlu" + - "ZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBp" + - "ZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMg" + - "b24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZy" + - "b20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZp" + - "bmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRh" + - "cmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tl" + - "bmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBm" + - "b3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0" + - "byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMi" + - "LAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5h" + - "bWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50" + - "IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52" + - "Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRp" + - "b24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0" + - "YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFu" + - "ZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25m" + - "aWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQg" + - "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxl" + - "IGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxh" + - "bmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGgg" + - "VVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBs" + - "YW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJn" + - "ZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhl" + - "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBh" + - "bmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURD" + - "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "YXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3Jl" + - "IHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3Vy" + - "bCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9z" + - "dCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9S" + - "RUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19V" + - "UkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhl" + - "IEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBh" + - "bmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUg" + - "Y29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFu" + - "ZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNv" + - "bW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0" + - "aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmls" + - "ZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9j" + - "a2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWlu" + - "ZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90" + - "IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5z" + - "dWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlv" + - "JyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9h" + - "dXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBh" + - "Z2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVz" + - "ZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21t" + - "YW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAi" + - "cXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJl" + - "Y3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5" + - "IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0" + - "cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0" + - "b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBo" + - "ZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + - "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4g" + - "YnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5v" + - "dCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhl" + - "IHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1" + - "bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAog" + - "ICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Yg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQg" + - "bmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxl" + - "dGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xz" + - "IGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBp" + - "bmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2" + - "aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhh" + - "c2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVy" + - "ZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdp" + - "dGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxt" + - "LWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0" + - "cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBu" + - "YW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMs" + - "IGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29t" + - "cHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5W" + - "PXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5j" + - "JyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBs" + - "YW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0" + - "eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wg" + - "cGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhl" + - "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRl" + - "ZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQg" + - "Y29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAg" + - "XQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVz" + - "dGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVu" + - "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2" + - "ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRz" + - "IGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29t" + - "cGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29u" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVk" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFt" + + "bCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcs" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5k" + + "IC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9s" + + "LXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24s" + + "IGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29u" + "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + - "IGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3Ry" + - "YXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBj" + - "b25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFs" + - "dWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJU" + - "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJU" + - "aGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1j" + - "bHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAg" + - "ICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAg" + - "ICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQs" + - "IGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVk" + - "IHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZp" + - "bGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVy" + - "cmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9k" + - "cyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2ku" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdp" + - "dGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNl" + - "IHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBz" + - "ZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJn" + - "ZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJl" + + "IGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1" + + "ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50" + + "IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRp" + + "ZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rp" + + "b24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVt" + + "b3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1" + + "cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRo" + + "ZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQg" + + "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3Jl" + + "IGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUg" + + "YWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3Vy" + + "Y2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRl" + + "ZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9j" + + "ayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVk" + + "IGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2Vz" + + "IHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBw" + + "cmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9y" + + "ZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0" + + "aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUg" + + "TlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3Ig" + + "dGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxl" + + "IHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwg" + + "dGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJl" + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUg" + - "cmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1v" + - "cnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1w" + - "bCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3Zl" + - "cnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVy" + - "Z2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFs" + - "dWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdl" + - "IHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3lu" + - "YyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNp" + - "ZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAt" + - "LSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95" + - "IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMg" + - "aW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAn" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBk" + - "ZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMg" + - "aW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwg" + - "dmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJl" + - "ZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjog" + - "IkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9y" + - "aXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyBy" + - "ZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290" + - "IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVj" + - "a2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQu" + - "IEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlh" + - "bHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0" + - "IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNl" + - "cy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBw" + - "b2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50" + - "IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3Bh" + - "Y2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9k" + - "IHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmll" + - "ZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJx" + - "dWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFj" + - "aCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVk" + - "aW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRo" + - "ZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdh" + - "dGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3" + - "b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxl" + - "ZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJh" + - "byBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVS" + - "TCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1w" + - "bGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlk" + - "ZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBv" + - "biB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0" + - "byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFw" + - "aS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8g" + - "bmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdy" + - "cGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3Jw" + - "Y1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQg" + - "c2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9j" + - "YWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jl" + - "c3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3" + - "b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBl" + - "eHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0" + - "cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2Nv" + - "dmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJh" + - "cmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNz" + - "IGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGlj" + - "bXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNl" + - "VVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9z" + - "dE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFj" + - "ZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBz" + - "ZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0" + - "aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15" + - "IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHku" + - "IFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29u" + - "ZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVz" + - "dHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBr" + - "dWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUg" + - "Y29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2Ug" + - "cHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVk" + - "IGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5z" + - "dGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxl" + - "YXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9y" + - "dGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRo" + - "ZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1l" + - "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cg" + - "cmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxs" + - "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + - "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + - "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lz" + - "dGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1" + - "bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBN" + - "YWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAg" + - "ICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxl" + - "dGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0" + - "aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250" + - "cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVz" + - "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZm" + - "ZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxs" + - "YXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93" + - "bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + - "dmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1t" + - "YW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAi" + - "VGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRo" + - "IGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxv" + - "dyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwg" + - "dGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxv" + - "dyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVn" + - "aXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3Qg" + - "cXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSBy" + - "ZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNs" + - "dXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxv" + - "dyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBj" + - "b250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93" + - "biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNv" + - "bXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5v" + - "IHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1" + - "ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVu" + - "dmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhl" + - "bG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYg" + - "WUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRp" + - "ZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + - "IGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNl" + - "IHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAt" + - "PiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2Vz" + - "IHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0" + - "b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + - "bmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBp" + - "bmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBv" + - "ZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0" + - "aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0" + - "byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBz" + - "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJh" + - "dGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJs" + - "ZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFu" + - "ZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1" + - "c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBz" + - "ZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5n" + - "IGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50" + - "ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQg" + - "Zm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5j" + - "bHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + - "cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0" + - "IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVm" + - "cmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJp" + - "bmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2" + - "ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNh" + - "ci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRk" + - "b25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0" + - "byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBz" + - "dGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFu" + - "ZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlk" + - "ZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhl" + - "IGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBs" + - "YWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3Ig" + - "dGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRl" + - "eHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBs" + - "aWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhl" + - "IGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVh" + - "dGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdl" + - "bnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0g" + - "SFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWlu" + - "c2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAg" + - "ICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2Qg" + - "Zm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJp" + - "Z2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRl" + - "dmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxv" + - "Y2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFn" + - "ZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tp" + - "bGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlv" + - "bnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9w" + - "bWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNr" + - "aWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + - "AAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUA" + - "AQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50" + - "IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoK" + - "VGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2Ug" + - "aW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJh" + - "IHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291" + - "cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0" + - "dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAg" + - "LUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMj" + - "IyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1s" + - "LmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + - "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + - "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + - "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + - "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + - "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + - "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRz" + - "OgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAg" + - "ICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5" + - "Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90" + - "bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1h" + - "ZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNv" + - "dXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBO" + - "VkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5z" + - "dGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3Ry" + - "eSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2Vz" + - "IGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdp" + - "c3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVu" + - "dmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + - "YWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJl" + - "cG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAg" + - "cmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9j" + - "YWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZj" + - "ci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9n" + - "aW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0" + - "ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQg" + - "TkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lz" + - "dGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1t" + - "YW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNy" + - "ZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpm" + - "b3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBz" + - "aXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + - "ZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1l" + - "PSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + - "ICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBg" + - "YAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMK" + - "CkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJl" + - "bGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNp" + - "ZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAu" + - "OC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJh" + - "LXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + - "X0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAg" + - "ICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpT" + - "ZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNl" + - "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJy" + - "b3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3Jl" + - "dHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMj" + - "IFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUg" + - "c3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8g" + - "cG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6Cgpg" + - "YGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQo" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMi" + - "IFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsg" + - "ZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNl" + - "cnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0" + - "cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAt" + - "LWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxh" + - "c3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBw" + - "dWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRl" + - "YXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91" + - "IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxh" + - "bmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29t" + - "cHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVn" + - "Z2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVw" + - "IDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQg" + - "YG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRp" + - "b24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQg" + - "Z2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8" + - "bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXIt" + - "aWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3Ig" + - "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1w" + - "bGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + - "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + - "bGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5h" + - "Z2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVm" + - "ZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0" + - "cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZl" + - "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0g" + - "cmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRl" + - "bmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + - "ZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNl" + - "IGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3Vi" + - "ZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAog" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1" + - "YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3Rl" + - "cCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92" + - "ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "bnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNz" + - "fHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVw" + - "IDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25d" + - "KFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhh" + - "bmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVy" + - "IGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9u" + - "ZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBu" + - "ZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApH" + - "QVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25w" + - "YXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQURE" + - "UiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMK" + - "CktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVs" + - "ZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhv" + - "c3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWlu" + - "PmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91" + - "dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FU" + - "RVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQg" + - "ZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBs" + - "YWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZO" + - "YXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMs" + - "IGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVz" + - "IHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdo" + - "IHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJp" + - "ZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwg" + - "LUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1n" + - "YXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9u" + - "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRo" + - "PSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoK" + - "IyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGlu" + - "ZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMg" + - "RGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hl" + - "Y2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9k" + - "cyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgoj" + - "IERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVm" + - "ZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8" + - "IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8t" + - "c2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGks" + - "IGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2Us" + - "IHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3" + - "aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBz" + - "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFu" + - "aXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sg" + - "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5l" + - "bmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3Qg" + - "dGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + - "bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBg" + - "bGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + - "IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0" + - "IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFt" + - "ZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8" + - "IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBg" + - "bmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6" + - "IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVs" + - "LiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBL" + - "BwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0" + - "aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNv" + - "bnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFs" + - "bCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNo" + - "IGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9y" + - "IHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2Zp" + - "bGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8" + - "IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24g" + - "YXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRy" + - "b2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5l" + - "cmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRo" + - "ZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZs" + - "b3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJl" + - "bG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9y" + - "cyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMu" + - "IFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZp" + - "bGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0" + - "YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCBy" + - "b3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdp" + - "c3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFu" + - "ZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVu" + - "ZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5k" + - "LXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhl" + - "IEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRh" + - "Y2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAs" + - "IGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVu" + - "dCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlk" + - "ZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdh" + - "dGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyBy" + - "ZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21h" + - "aW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48" + - "Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1h" + - "cGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdh" + - "dGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFz" + - "a3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2lu" + - "dm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VV" + - "Ukw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAg" + - "Z2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVt" + - "CiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3Bh" + - "Y2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVz" + - "cGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3" + - "YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6" + - "IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAg" + - "ZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXkt" + - "ZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6" + - "IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWlu" + - "PiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRp" + - "b25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFt" + - "bAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55" + - "YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1Nl" + - "cnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9z" + - "dEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2Vydmlj" + - "ZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhl" + - "YWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5h" + - "dHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0" + - "cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wg" + - "cGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09O" + - "RklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJp" + - "bmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBD" + - "TEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRw" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgph" + - "cGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFp" + - "bj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9z" + - "dDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5" + - "LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91" + - "dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24g" + - "Y29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGll" + - "cwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtl" + - "IG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGlu" + - "c3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVz" + - "dGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+" + - "IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklM" + - "RT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1j" + - "bGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAt" + - "QyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05B" + - "TUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVy" + - "cyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQu" + - "CkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1" + - "aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRl" + - "cGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQg" + - "aXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4g" + - "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2Zp" + - "bGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoK" + - "dGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29t" + - "cHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBy" + - "ZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + - "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + - "XAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUt" + - "cGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxl" + - "J3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29t" + - "cHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUg" + - "ZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgoj" + - "IyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2Ug" + - "bmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5k" + - "cmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0g" + - "Y2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNy" + - "ZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9i" + - "YWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRo" + - "ZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9y" + - "IGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUg" + - "Y29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2Vl" + - "IFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVz" + - "ZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0" + - "ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBs" + - "b3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5k" + - "Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9" + - "anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwt" + - "c2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJl" + - "Z2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3Ro" + - "CmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHBy" + - "ZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5h" + - "bWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNl" + - "cnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4" + - "dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3Ig" + - "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBt" + - "ZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5" + - "IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5h" + - "bmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBk" + - "ZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdp" + - "c3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVT" + - "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmln" + - "IDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJv" + - "bS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3Jl" + - "LW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25m" + - "aXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kg" + - "YW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJv" + - "eSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1r" + - "dWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBc" + - "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUt" + - "a3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAg" + - "YXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFt" + - "ZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2Zp" + - "bGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVz" + - "dGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMg" + - "YmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZl" + - "IHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZp" + - "eDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + - "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAog" + - "IHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + - "CiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxh" + - "bmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkg" + - "SUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBz" + - "aG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQg" + - "aXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lz" + - "IHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJl" + - "bW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0" + - "aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + - "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + - "aWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0" + - "ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1j" + - "b25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAg" + - "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJs" + - "IDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoK" + - "UmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lz" + - "IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1v" + - "dmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25z" + - "IHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + - "VVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFu" + - "ZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVp" + - "Y2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3Bh" + - "Y2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFt" + - "ZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFz" + - "ZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9z" + - "aW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5" + - "PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50" + - "cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1w" + - "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBS" + - "RVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAw" + - "ICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGlt" + - "YWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERp" + - "YWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRl" + - "c2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoi" + - "CgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwg" + - "Z2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qg" + - "c3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVj" + - "ayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + - "c2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3Jl" + - "dHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjog" + - "Q3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVn" + - "aXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0t" + - "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIk" + - "TkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNy" + - "ZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRz" + - "IGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBb" + - "cHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1" + - "cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVz" + - "cy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0" + - "IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9u" + - "ZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAj" + - "IFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IElu" + - "aXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0" + - "dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAg" + - "ICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0" + - "Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMj" + - "IERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGlu" + - "amVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2Rz" + - "Cmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWln" + - "cmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sg" + - "T3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2Vy" + - "dmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVj" + - "ayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdl" + - "bnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjog" + - "Q2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVz" + - "LCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFw" + - "cGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJl" + - "LXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRl" + - "IG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0" + - "LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAg" + - "IGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENo" + - "ZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1z" + - "eXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0" + - "LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4g" + - "bm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAq" + - "KgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVy" + - "IHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1" + - "dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRl" + - "ZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhl" + - "IGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVy" + - "LXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBF" + - "dmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0" + - "MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJl" + - "aGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNj" + - "b3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBp" + - "c3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIg" + - "YW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292" + - "ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBp" + - "dDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgog" + - "ICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAg" + - "a3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRp" + - "b25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + - "by1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNo" + - "b3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9v" + - "cGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQg" + - "dG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRp" + - "Y2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGgg" + - "dGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVs" + - "dCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNr" + - "IGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFp" + - "bHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUg" + - "ICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAw" + - "LzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8" + - "IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSBy" + - "ZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMu" + - "bWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6" + - "CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + - "ICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBg" + - "CgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fz" + - "c2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1" + - "cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAg" + - "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEg" + - "ICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + - "IyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIg" + - "bm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBh" + - "ZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBt" + - "ZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4" + - "ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2Ag" + - "aW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNo" + - "b3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3Vu" + - "ZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdl" + - "dCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hl" + - "Y2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5v" + - "ZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWls" + - "dXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gK" + - "aGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUt" + - "cnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBk" + - "b24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApo" + - "ZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpN" + - "dXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBs" + - "eSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFt" + - "ZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1" + - "cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMg" + - "ZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0" + - "cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJh" + - "cCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1" + - "dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + - "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1u" + - "IG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoK" + - "IyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRl" + - "bnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9r" + - "ZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBi" + - "YXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFT" + - "RTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpu" + - "dmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0" + - "IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0" + - "cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUs" + - "IHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52" + - "Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1j" + - "cmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBO" + - "VkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxh" + - "bmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0K" + - "IyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRo" + - "aXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29t" + - "cHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5W" + - "Q0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3Bh" + - "Y2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVj" + - "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpz" + - "b24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRh" + - "ZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIk" + - "ezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBw" + - "YXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0" + - "YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9Cgoj" + - "IEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXpl" + - "cnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1j" + - "b250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4v" + - "ZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVj" + - "dGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9h" + - "cGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAK" + - "CiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1w" + - "dG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3Bl" + - "cmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCBy" + - "ZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJh" + - "dG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIg" + - "dGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJ" + - "IHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBp" + - "bnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhh" + - "bmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBz" + - "dGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9w" + - "ZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9w" + - "ZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdp" + - "c3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZj" + - "YS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5" + - "c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltw" + - "dWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgoj" + - "IyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVz" + - "dHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0" + - "ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0" + - "cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQo" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAog" + - "IG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "YWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQg" + - "ImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRF" + - "V0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBh" + - "IHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8" + - "cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5g" + - "LCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBE" + - "TlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50" + - "cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2gg" + - "cmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBo" + - "YW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXIt" + - "ZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8t" + - "U2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBp" + - "biB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0t" + - "fC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + - "Y2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFw" + - "aSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWws" + - "IGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1r" + - "ZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8" + - "CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xs" + - "ZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1" + - "enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQAB" + - "AKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoK" + - "YGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0g" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8" + - "ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5n" + - "cmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5" + - "IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAg" + - "ICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBg" + - "LS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlk" + - "ZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNl" + - "bnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFt" + - "bC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXIt" + - "Y2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8" + - "ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVu" + - "ZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBu" + - "dmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50" + - "cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMg" + - "KGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAj" + - "IFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAg" + - "ICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBg" + - "CgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29u" + - "dGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQg" + - "ZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRl" + - "ZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1p" + - "eCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIg" + - "UmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + - "YXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + - "LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2lu" + - "ZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1z" + - "eXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJh" + - "IHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpV" + - "c2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2Ut" + - "Z3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBS" + - "ZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwt" + - "LS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBp" + - "LWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2Vz" + - "IHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9u" + - "LXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2Vz" + - "IHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMg" + - "fAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rh" + - "cnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + - "CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2Vydmlj" + - "ZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tl" + - "bi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8Cnwg" + - "aW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGlu" + - "Z3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9" + - "XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9y" + - "eSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2Nr" + - "czsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXIt" + - "cHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgoj" + - "IyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1l" + - "c3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8" + - "IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBv" + - "YnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4g" + - "dGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJ" + - "bmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBg" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3Bl" + - "cnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMg" + - "bGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJl" + - "cGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0" + - "IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywg" + - "YDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQg" + - "dGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVt" + - "cGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52" + - "Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1s" + - "LmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + - "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNs" + - "dWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgog" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVz" + - "Pi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3Qg" + - "cmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291" + - "cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgoj" + - "IyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290" + - "bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAot" + - "IG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoK" + - "ICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4g" + - "aW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxh" + - "dGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBs" + - "YWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9y" + - "aXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jv" + - "c3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1l" + - "bnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxh" + - "dGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8" + - "cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1" + - "LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVu" + - "Y2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlh" + - "bWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCAr" + - "IGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMu" + - "IEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6Cgoj" + - "IyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1h" + - "Z2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFn" + - "ZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxl" + - "Y3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmds" + - "b2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmlt" + - "YWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5l" + - "ci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdl" + - "Q2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAo" + - "aWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAg" + - "YW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipg" + - "Ci0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdl" + - "LipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lT" + - "LCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBg" + - "PHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAg" + - "KG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVu" + - "YWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMg" + - "d2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVz" + - "dC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9u" + - "Ljxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5k" + - "IGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUK" + - "Y29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0" + - "ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNs" + - "dXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAg" + - "ZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1l" + - "dHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQog" + - "ICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAg" + - "ICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25m" + - "aWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6" + - "CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVR" + - "VUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9j" + - "YWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3Vy" + - "cmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1h" + - "bmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBo" + - "b3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3Vy" + - "ZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJv" + - "dXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVz" + - "dGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMg" + - "Y29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGlu" + - "ZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2Vk" + - "IGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3" + - "aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhl" + - "ciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFu" + - "Y2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYt" + - "bWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYg" + - "dGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0" + - "IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIg" + - "c2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgog" + - "ICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxs" + - "bS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0" + - "LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElF" + - "TlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9y" + - "IG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVz" + - "ZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJp" + - "bmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1l" + - "bnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + - "IHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMg" + - "YGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNl" + - "IHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQp" + - "LiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsg" + - "YSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0" + - "aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdl" + - "IG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5n" + - "IHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5l" + - "dyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5k" + - "IGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUs" + - "IHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAt" + - "biBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxs" + - "bS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0t" + - "YXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + - "fCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+" + - "IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0t" + - "d29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRl" + - "eHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1p" + - "bnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlv" + - "ciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIu" + - "Y29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9j" + - "cy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3Jz" + - "CgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVh" + - "c2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMK" + - "CiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVt" + - "cGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ry" + - "b3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBg" + - "IGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHs" + - "jQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBO" + - "VkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZD" + - "RiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxl" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoK" + - "IyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUg" + - "YWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMg" + - "dGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJl" + - "bGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91" + - "IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoK" + - "RW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRk" + - "b25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNl" + - "IGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFn" + - "ZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + - "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + - "b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + - "cyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVz" + - "cGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBh" + - "bmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBz" + - "ZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0" + - "aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCBy" + - "b3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5" + - "CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5h" + - "YmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwg" + - "Z2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNm" + - "LXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBT" + - "ZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGlj" + - "YXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBh" + - "Y2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJv" + - "eHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3Jl" + - "dHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20g" + - "YSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0" + - "ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBh" + - "bmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24g" + - "Y2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpU" + - "aGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5q" + - "ZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUu" + - "IFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBg" + - "bnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJu" + - "byBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNo" + - "CmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8v" + - "CmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1u" + - "IGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3Jl" + + "ICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBl" + + "bmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBh" + + "Z2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0s" + + "IGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3Zp" + + "ZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdy" + + "b3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2Zm" + + "IiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09m" + + "ZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0" + + "byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9y" + + "IHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBh" + + "bmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNy" + + "ZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBw" + + "cm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVs" + + "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAi" + + "VGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lm" + + "aWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1h" + + "bmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21w" + + "dXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVu" + + "dm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2Vj" + + "cmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250" + + "cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdh" + + "dGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBz" + + "ZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9j" + + "YWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMs" + + "IGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUg" + + "YmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3Qs" + + "IHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVS" + + "THMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwg" + + "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5" + + "IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5" + + "LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0" + + "ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3kt" + + "Z2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZj" + + "ZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0" + + "U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwi" + + "LAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRo" + + "ZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50" + + "IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQg" + + "bnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRl" + + "cy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGlu" + + "Y2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + + "ZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3Zl" + + "cnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBu" + + "YXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBw" + + "dWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAi" + + "VGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRv" + + "ciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0" + + "aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + + "IGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + + "IHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxv" + + "dyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRl" + + "IGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBi" + + "b3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2Zm" + + "IGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2Fy" + + "bmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + + "bSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Ug" + + "Zm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVy" + + "aWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + + "bmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + + "LiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVs" + + "ZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZh" + + "bHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZl" + + "IHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMg" + + "bm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxh" + + "bmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0" + + "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCBy" + + "YW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29u" + + "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4g" + + "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0" + + "ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZs" + + "b3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29u" + + "dHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291" + + "bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQg" + + "dGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + + "bGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmll" + + "ZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNz" + + "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBw" + + "cmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5v" + + "dCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29u" + + "ZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1h" + + "a2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIs" + + "CiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVh" + + "bCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + + "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + + "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + + "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhl" + + "IGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIs" + + "CiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1l" + + "bnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxh" + + "bi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24g" + + "dW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wg" + + "cGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRk" + + "ZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5" + + "IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + + "aW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5s" + + "aW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNz" + + "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNl" + + "LnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5s" + + "aW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + + "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBs" + + "aWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAg" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBi" + + "ZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0" + + "cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJx" + + "dWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBv" + + "biBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0" + + "IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdp" + + "dGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhl" + + "IExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0" + + "aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2Vy" + + "IGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJv" + + "dXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3Ig" + + "dGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFu" + + "YWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50" + + "aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2Fk" + + "LnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwg" + + "d2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9y" + + "IHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2Ft" + + "ZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBM" + + "TE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFu" + + "ZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0u" + + "ZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJv" + + "dXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIs" + + "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRz" + + "IHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIg" + + "bG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9u" + + "IGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJ" + + "Q0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2Fy" + + "bmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9u" + + "bWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQg" + + "aGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + + "bnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVl" + + "c3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIg" + + "aW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1O" + + "RUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2" + + "IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51" + + "bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhp" + + "cyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUg" + + "bnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFn" + + "ZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBn" + + "dWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRp" + + "ZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRl" + + "cGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3Bl" + + "Y2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJv" + + "cHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2Vk" + + "IG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENh" + + "c3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMg" + + "Y2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4K" + + "ClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0" + + "aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + + "LgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fz" + + "cy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1s" + + "IHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8w" + + "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + + "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + + "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + + "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + + "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + + "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + + "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + + "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZv" + + "cmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2Vk" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90" + + "IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxp" + + "Y2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20g" + + "TkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBz" + + "dGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFk" + + "IG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBT" + + "dGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3Ry" + + "eTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVn" + + "aXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAg" + + "MjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJh" + + "c2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + + "IgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3Jl" + "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + @@ -4018,123 +3202,950 @@ const skillDataZipBase64 = "" + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0t" + - "ZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dv" + - "cmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJz" + - "aW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTog" + - "bnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVs" + - "ZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1h" + - "dGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6" + - "CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0g" + - "Im52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAg" + - "ICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + - "ImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAg" + - "ICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNN" + - "ZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAg" + - "ICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZl" + - "cm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAg" + - "ICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3Jl" + - "dC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250" + - "aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3Bs" + - "aXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQu" + - "IEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBw" + - "b2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + - "YG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1v" + - "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + - "LS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "XAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0K" + - "YGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToK" + - "CmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3Jl" + - "ZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZj" + - "YS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5v" + - "dCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cK" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24K" + - "CmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3Rl" + - "ZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + - "ZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + - "UHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVj" + - "ayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBh" + - "dGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2Vj" + - "cmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50" + - "cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1u" + - "IDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVs" + - "bAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6" + - "ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1" + - "c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0" + - "IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMg" + - "QXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91" + - "ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9s" + - "aWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0" + - "cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipD" + - "U1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwg" + - "QXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgoj" + - "IyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0" + - "ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMg" + - "Y3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9k" + - "cyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJn" + - "ZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2" + - "ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxs" + - "IHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3Rl" + - "cnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRy" + - "dWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZj" + - "ci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToK" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52" + - "Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAA" + - "ACEAlRRQE0oQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAEclg1iUZAAAlGQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALd9r0KH" + - "EAAAhxAAADMACQAAAAAAAAAAAAAAgXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1w" + - "bGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB9zGQcSBAAAEgQAAA0" + - "AAkAAAAAAAAAAAAAAHKGAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0" + - "aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAP6JlybdEQAA3REAADcACQAAAAAA" + - "AAAAAAAAJZcAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + - "cGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAA" + - "AABwqQAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10" + - "YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA" + - "f8MAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2Uu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAAAF6QAA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + - "bC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAADf4" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNo" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKrhOrnIBwAAyAcAADkACQAAAAAAAAAAAAAA/iEB" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAADYqAQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhABWlQIzTJQAA0yUAADAACQAAAAAAAAAAAAAAf0wBAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAALlyAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDKjQYoVFYA" + - "AFRWAAAtAAkAAAAAAAAAAAAAAByDAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVu" + - "Y2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtQXzgvQgAAD0IAAANwAJAAAAAAAA" + - "AAAAAADU2QEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + - "dGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAA" + - "ADb7AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAOJdAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAl7QCAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZj" + - "vFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAfN0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAARDgMAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAA4PwMAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAC9aQMAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9u" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAA7HED" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNy" + - "ZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAGGIAwAAAA==" + "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRv" + + "IGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1m" + + "aWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + + "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + + "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + + "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + + "CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAg" + + "LSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJl" + + "bmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNl" + + "IGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1" + + "c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFy" + + "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hh" + + "cnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykg" + + "Y29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBh" + + "dGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNz" + + "OyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9" + + "IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1w" + + "ICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUK" + + "ZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9k" + + "cyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVt" + + "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + + "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMj" + + "IEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVu" + + "dCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0" + + "cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5h" + + "bWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + + "bGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5h" + + "bGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5t" + + "ZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmlu" + + "YWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJl" + + "YWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJ" + + "Q01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRl" + + "bGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVl" + + "cz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0" + + "IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERl" + + "c3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2Vy" + + "YCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlm" + + "eSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3Rh" + + "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBh" + + "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVs" + + "ZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQpt" + + "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcg" + + "b3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVy" + + "IHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25m" + + "aXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklH" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklM" + + "RT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZv" + + "cm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQg" + + "YGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZj" + + "YXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVs" + + "dHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBl" + + "bXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBb" + + "Q2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJl" + + "dHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMj" + + "IEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBz" + + "ZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJl" + + "Y3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcg" + + "ZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1n" + + "YXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRl" + + "c3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGly" + + "ZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVz" + + "LCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZv" + + "ciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAq" + + "Lmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5" + + "IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXgg" + + "YW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhl" + + "YWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRl" + + "d2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBj" + + "b250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJl" + + "VmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWlu" + + "IGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBp" + + "bnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2Vl" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRz" + + "LgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAi" + + "YXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVX" + + "QVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1B" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMg" + + "LUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0" + + "dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91" + + "dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAg" + + "bnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9y" + + "IFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGlt" + + "ZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVz" + + "CgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1" + + "cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lz" + + "dGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2Rz" + + "IC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBg" + + "YAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywg" + + "Y2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwg" + + "YXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1h" + + "cGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFu" + + "ZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0" + + "eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBh" + + "bmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZj" + + "Zi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhh" + + "dmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91" + + "dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJs" + + "ZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExN" + + "IEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0" + + "ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5h" + + "YmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4g" + + "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZV" + + "aS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdh" + + "dGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVh" + + "c2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEg" + + "cmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1p" + + "bi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBh" + + "cmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0" + + "ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpi" + + "ZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEg" + + "Q0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMg" + + "Q2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9p" + + "bnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1" + + "ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50" + + "IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + + "Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5l" + + "cmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUg" + + "aXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9y" + + "ZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHBy" + + "b2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3Np" + + "dG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hp" + + "bmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBs" + + "YW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVu" + + "dCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnks" + + "IGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBj" + + "b21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hh" + + "YmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9u" + + "aWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + + "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVu" + + "dmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdh" + + "dGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAg" + + "aW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBz" + + "ZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBO" + + "TEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBz" + + "ZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9t" + + "YWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2Vydmlj" + + "ZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVS" + + "TDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZp" + + "Y2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJM" + + "OiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6" + + "ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2Vy" + + "dmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6" + + "CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2Fs" + + "OjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBl" + + "bnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52" + + "Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTog" + + "bnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAg" + + "ICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAg" + + "ICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAg" + + "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + + "b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6" + + "CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRh" + + "c2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUK" + + "Cm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxl" + + "ZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1h" + + "bmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igog" + + "ICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+" + + "IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAg" + + "IHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0" + + "c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBp" + + "bnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+Cgpt" + + "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3Jl" + + "YXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6" + + "CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9r" + + "ZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdh" + + "eS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDog" + + "ImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXkt" + + "ZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNf" + + "aG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9z" + + "dG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0" + + "byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGlu" + + "IHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5v" + + "IGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1" + + "dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAog" + + "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVT" + + "VEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0Zf" + + "Q0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2Yt" + + "Y2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJl" + + "Z2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNv" + + "bXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVD" + + "T05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJ" + + "biBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0" + + "aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJ" + + "IFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJ" + + "dCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0" + + "aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + + "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFt" + + "ZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAg" + + "LS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + + "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQg" + + "cHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xp" + + "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + + "XAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJl" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwK" + + "ICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25m" + + "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + + "eWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24g" + + "c2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5k" + + "cG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBu" + + "b3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUg" + + "ZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxh" + + "bmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4" + + "dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRl" + + "eHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVu" + + "Y2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBs" + + "YW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1v" + + "cGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhl" + + "ciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBw" + + "b2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + + "IyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNw" + + "YWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52" + + "b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + + "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + + "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + + "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + + "aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93" + + "bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + + "Y29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + + "ZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRo" + + "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + + "dGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVy" + + "IGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + + "cmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQg" + + "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + + "IGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBz" + + "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWlu" + + "ZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247" + + "IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMg" + + "dmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoK" + + "PG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVy" + + "LWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxu" + + "Y2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5j" + + "YUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVz" + + "dGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBl" + + "YXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBj" + + "bHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05G" + + "SUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5k" + + "IGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0" + + "cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAu" + + "CgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwg" + + "dGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBG" + + "aXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxl" + + "dGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + + "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + + "aGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVn" + + "aXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9u" + + "bHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRl" + + "IHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + + "dmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBg" + + "ZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3" + + "IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + + "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwg" + + "PGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1j" + + "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + + "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3du" + + "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + + "YS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVy" + + "LiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0" + + "cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNs" + + "dXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAh" + + "AAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBl" + + "cyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2Rz" + + "IGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9k" + + "cyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+" + + "CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0" + + "IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxu" + + "YW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lm" + + "aWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3Jp" + + "YmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1" + + "bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBT" + + "VEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJ" + + "bWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4" + + "dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0" + + "aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlz" + + "IGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8" + + "IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhl" + + "IG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoK" + + "IyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + + "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1" + + "bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxT" + + "ZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0" + + "aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3Np" + + "bmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZl" + + "cj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAt" + + "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVz" + + "cGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + + "LQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0" + + "Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVs" + + "bWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMu" + + "ICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52" + + "b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VB" + + "Y2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNy" + + "ZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQg" + + "cmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMg" + + "LW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAg" + + "YGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRv" + + "bXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFz" + + "aApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRT" + + "ICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAg" + + "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUg" + + "dmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAoj" + + "IENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + + "aGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1" + + "bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0" + + "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWlu" + + "ZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBw" + + "b2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1" + + "ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlk" + + "bid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVw" + + "dGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJv" + + "eQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYg" + + "bmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + + "bmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5v" + + "dCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBi" + + "YW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3Qv" + + "bG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRo" + + "ZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3Rl" + + "ciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6" + + "CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBz" + + "aW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1Ymtl" + + "eXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxp" + + "ZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVs" + + "dC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0" + + "aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFg" + + "LiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlv" + + "biBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2Vy" + + "dmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBF" + + "bmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldL" + + "UywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVz" + + "IChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAg" + + "IyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAg" + + "ICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3Bl" + + "bmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9u" + + "IGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQog" + + "ICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJh" + + "byBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNl" + + "cnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAg" + + "IEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBg" + + "YWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3Rh" + + "dGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNp" + + "Z25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1w" + + "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAg" + + "QUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgoj" + + "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1z" + + "eXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpP" + + "dmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFt" + + "cGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2Fu" + + "ZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAg" + + "ICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAg" + + "IG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxh" + + "YmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJl" + + "c291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9t" + + "cwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdF" + + "CmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVz" + + "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9u" + + "IGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0" + + "IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxl" + + "OiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3Qg" + + "Zm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hl" + + "Y2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3Vi" + + "ZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3Rv" + + "cmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBg" + + "YGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2ll" + + "bnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0" + + "bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJj" + + "ZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMj" + + "IFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFU" + + "VVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3Vj" + + "Y2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3Bh" + + "Y2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUt" + + "c3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRz" + + "IGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVl" + + "ZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+" + + "IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMg" + + "U3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQu" + + "IEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YK" + + "CiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBs" + + "b2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBs" + + "b2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1h" + + "cGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBj" + + "cmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxg" + + "IG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0" + + "aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlh" + + "bAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91" + + "dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVh" + + "Y2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2Nv" + + "dW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlh" + + "bHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95" + + "aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5h" + + "bWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5" + + "cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBu" + + "YW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + + "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5" + + "bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4g" + + "YFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAg" + + "IFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpg" + + "YGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBh" + + "ZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3Zl" + + "IGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1k" + + "ZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + + "ZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52" + + "Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1l" + + "c3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAn" + + "Y29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1j" + + "b250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5" + + "cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09N" + + "UFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVh" + + "cmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2Vu" + + "ZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFj" + + "ZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMg" + + "PSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFj" + + "ZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+" + + "L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3Ig" + + "Tm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21w" + + "bGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3Rz" + + "IGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52" + + "Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + + "IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJz" + + "dCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFs" + + "dWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydz" + + "IHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5v" + + "dApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24g" + + "c3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNj" + + "cmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVy" + + "YXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBg" + + "YAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNl" + + "Y3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + + "cnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFt" + + "ZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0" + + "ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgoj" + + "IyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWlu" + + "IGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQu" + + "IFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + + "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + + "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + + "WV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9t" + + "YWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJl" + + "c3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNl" + + "VVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdy" + + "ZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpL" + + "ZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMg" + + "dW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBG" + + "b3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3Mg" + + "ZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2gg" + + "dGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1k" + + "I2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBV" + + "c2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3" + + "aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2" + + "aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8Cnwg" + + "Y2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1z" + + "ZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90" + + "YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8" + + "CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3Mt" + + "YXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdh" + + "eSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3Vy" + + "Y2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABE" + + "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmls" + + "ZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMj" + + "IERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBo" + + "ZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBD" + + "YXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMg" + + "TlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290" + + "bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwg" + + "ICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwg" + + "ZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXIt" + + "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2Vj" + + "cmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dv" + + "cmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0" + + "aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + + "Lwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMg" + + "Q29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwu" + + "Z290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0" + + "aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAg" + + "ICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4u" + + "eWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBw" + + "ZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1l" + + "bnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9y" + + "cyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVz" + + "ZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2lu" + + "dCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3Rt" + + "cGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + + "bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwt" + + "LS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0" + + "cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5i" + + "YW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9u" + + "IG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lz" + + "dGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0" + + "YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNv" + + "cmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8" + + "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0t" + + "bnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1z" + + "aXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2Vydmlj" + + "ZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3Mg" + + "fCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2Ug" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNl" + + "cyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91" + + "dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZj" + + "Zi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94" + + "eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFz" + + "ZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3kt" + + "Z2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBb" + + "e3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0" + + "aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJs" + + "ZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBg" + + "dmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVs" + + "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + + "LS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykg" + + "fCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5" + + "LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2Fi" + + "bGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFN" + + "TCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0" + + "aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZ" + + "QU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0" + + "aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0" + + "IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0" + + "aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNy" + + "ZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRl" + + "bXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAg" + + "Y2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAg" + + "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + + "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJy" + + "aWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVw" + + "ZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3Zl" + + "cnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1l" + + "bW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBp" + + "biBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1l" + + "Y2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFj" + + "ZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRp" + + "bmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJl" + + "LWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEg" + + "bGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dl" + + "c3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBk" + + "ZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5n" + + "b3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lm" + + "aWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0t" + + "IHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMg" + + "LS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMg" + + "VGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBt" + + "ZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hh" + + "cnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGlj" + + "aXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + + "dGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2Fu" + + "ZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0g" + + "YGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxl" + + "ZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgot" + + "IGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5h" + + "dHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZp" + + "bGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5z" + + "cGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5t" + + "aWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJh" + + "by5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFv" + + "LnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMj" + + "IFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0" + + "cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQot" + + "IGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5j" + + "dGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3Ig" + + "aW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24g" + + "ZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMg" + + "dGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdy" + + "ZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lk" + + "ZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8g" + + "bm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5v" + + "ZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwK" + + "YWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxp" + + "Y2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAg" + + "ICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDog" + + "MQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxl" + + "ZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAg" + + "ICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xv" + + "YWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291" + + "bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBi" + + "dW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5" + + "MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3" + + "YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3" + + "YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNG" + + "IEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVk" + + "IG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBh" + + "bmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVR" + + "VUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBh" + + "bmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVz" + + "ZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMK" + + "c2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVz" + + "dCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9i" + + "bG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5j" + + "aW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUg" + + "dGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRo" + + "ZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBp" + + "OgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lk" + + "ZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVw" + + "b3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVD" + + "QVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFj" + + "ayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29u" + + "ZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3Rpbmcg" + + "dmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250" + + "cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21w" + + "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlv" + + "biBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNv" + + "bW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1h" + + "aW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZh" + + "bHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3" + + "b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlz" + + "IGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24g" + + "ZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5l" + + "IHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5" + + "IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3Rh" + + "dGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBu" + + "dmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0" + + "bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0" + + "IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWlu" + + "ZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBg" + + "CgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVz" + + "dCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFu" + + "ZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3Vp" + + "ZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmll" + + "cy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMj" + + "IEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoK" + + "CmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGkt" + + "Z2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kg" + + "YSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFz" + + "IG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNz" + + "dWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1h" + + "ZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + + "Y3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRl" + + "ZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + + "aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5" + + "IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFj" + + "awpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29u" + + "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAg" + + "dGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMj" + + "IEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4u" + + "eWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + + "IyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFt" + + "ZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBw" + + "cml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11" + + "aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBp" + + "ZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhw" + + "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + + "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRv" + + "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + + "bnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMw" + + "MGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhl" + + "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBs" + + "eQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mg" + + "c3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9u" + + "IGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMg" + + "LW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3Vy" + + "bCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "Pi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1" + + "cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBp" + + "bnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFu" + + "IGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBL" + + "Bwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbO" + + "EiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGlu" + + "ZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpg" + + "bnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBw" + + "b2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZp" + + "Z3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVk" + + "IG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2gg" + + "dXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2Rz" + + "IGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + + "dXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Et" + + "c3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3Rh" + + "bGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + + "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + + "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJl" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRy" + + "b2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + + "bmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + + "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEt" + + "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + + "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + + "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdp" + + "c3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBh" + + "bmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xp" + + "Y3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5" + + "Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNr" + + "Z3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRv" + + "LW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6" + + "CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3Bh" + + "Y2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAg" + + "ICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lz" + + "dGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVs" + + "dC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAg" + + "ICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAg" + + "YW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3Jl" + + "dC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQ" + + "dWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2" + + "ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUg" + + "Y29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZp" + + "Y2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8g" + + "bmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUg" + + "dGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + + "dGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBc" + + "CiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5l" + + "IGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgog" + + "ICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhh" + + "dCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBg" + + "bnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1l" + + "c3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93" + + "LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUg" + + "cG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNv" + + "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52" + + "Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRp" + + "YVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8K" + + "CiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVz" + + "dGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIg" + + "bm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9y" + + "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + + "IFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBu" + + "b2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0" + + "cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRo" + + "b3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNl" + + "Y3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0Ug" + + "QXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBz" + + "aW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJ" + + "bWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5" + + "IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGll" + + "ZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+" + + "IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + + "ZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGlj" + + "eSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNo" + + "b3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9s" + + "aWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0" + + "aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29u" + + "dGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAW" + + "AAAAFgAAUEsBAhQAFAAIAAAAAAAhANu/XFxKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEv" + + "bWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAA" + + "AAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAHjsPruYQAADmEAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDs" + + "N4BfhBIAAIQSAAA3AAkAAAAAAAAAAAAAAKqYAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSf" + + "GQAAnxkAADkACQAAAAAAAAAAAAAAnKsAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUA" + + "ABglAAA3AAkAAAAAAAAAAAAAAKvFAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + + "L2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4A" + + "AD0ACQAAAAAAAAAAAAAAMesAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlh" + + "Z25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABW" + + "KQAAOgAJAAAAAAAAAAAAAABj+gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9p" + + "bnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDggjxVIggAACII" + + "AAA5AAkAAAAAAAAAAAAAACokAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3Jv" + + "dGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAA" + + "LgAJAAAAAAAAAAAAAAC8LAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFy" + + "ZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM0yUAANMlAAAwAAkAAAAAAAAAAAAA" + + "AAVPAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAAA/dQEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAyo0GKFRWAABUVgAALQAJAAAAAAAAAAAAAACihQEAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALUF" + + "84L0IAAA9CAAADcACQAAAAAAAAAAAAAAWtwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0li" + + "AABJYgAALAAJAAAAAAAAAAAAAAC8/QEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAA" + + "AAAAAABoYAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + + "anNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAB23" + + "AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAALgAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAA" + + "AAAAlxADAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAA" + + "AAAAvkEDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + + "bWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8A" + + "CQAAAAAAAAAAAAAAQ2wDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAW" + + "AAA+AAkAAAAAAAAAAAAAAHJ0AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADnigMAAAA=" var ( skillDataOnce sync.Once From 0c29a65c236101a40f59a2fc4436db217bce5763 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:54:31 +0530 Subject: [PATCH 100/127] fix(nvcf-cli): bound the round trips of the first cluster call inside the credential plugin, so a silent API server is unreachable after the bound Signed-off-by: rohithb --- .../internal/selfhosted/cluster_reach.go | 65 +++++++++++++++---- .../internal/selfhosted/cluster_reach_test.go | 32 +++++++++ 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go index 4213dc75a1..a05e956632 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -20,12 +20,12 @@ package selfhosted import ( "context" "fmt" + "io" "net/http" "time" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" ) // ClusterUnreachableError reports a cluster the run could not contact at all: @@ -49,8 +49,8 @@ func (e *ClusterUnreachableError) Error() string { func (e *ClusterUnreachableError) Unwrap() error { return e.Err } -// clusterFirstCallTimeout bounds the first API call to a cluster whose -// credentials come from the kubeconfig itself. A var so tests can shorten it. +// clusterFirstCallTimeout bounds each round trip of the first API call to a +// cluster. A var so tests can shorten it. var clusterFirstCallTimeout = 15 * time.Second // connectCluster builds a client for kubeContext, its transport wrapped by @@ -65,6 +65,7 @@ func connectCluster( if err != nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubeconfig: %w", err)} } + restCfg.Wrap(boundFirstCall) for _, wrap := range wraps { restCfg.Wrap(wrap) } @@ -72,11 +73,11 @@ func connectCluster( if err != nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubernetes client: %w", err)} } - err = firstClusterCall(ctx, client, restCfg) + err = firstClusterCall(ctx, client) if apierrors.IsUnauthorized(err) && ctx.Err() == nil { // A credential plugin replaces a cached token the server rejected on // the next call. - err = firstClusterCall(ctx, client, restCfg) + err = firstClusterCall(ctx, client) } if err != nil && ctx.Err() == nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: err} @@ -84,14 +85,50 @@ func connectCluster( return client, nil } -// firstClusterCall asks the server for its version. Credentials from an exec -// or auth provider are fetched within the call, and a login it waits on takes -// as long as it takes, so then only the run's budget bounds it. -func firstClusterCall(ctx context.Context, client kubernetes.Interface, restCfg *rest.Config) error { - if restCfg.ExecProvider == nil && restCfg.AuthProvider == nil { - var cancel context.CancelFunc - ctx, cancel = context.WithTimeout(ctx, clusterFirstCallTimeout) - defer cancel() - } +// firstClusterCall asks the server for its version, each round trip bounded +// by clusterFirstCallTimeout. +func firstClusterCall(ctx context.Context, client kubernetes.Interface) error { + ctx = context.WithValue(ctx, firstCallBound{}, clusterFirstCallTimeout) return client.Discovery().RESTClient().Get().AbsPath("/version").Do(ctx).Error() } + +// firstCallBound is the context key for the bound firstClusterCall puts on +// each of its round trips. +type firstCallBound struct{} + +// boundFirstCall wraps a client's transport to bound a round trip whose +// context carries a firstCallBound. An exec or auth provider wraps the +// transport outside it and fetches its credentials before the round trip, so +// a login the operator is waiting on does not count, while an API server that +// takes the connection and never answers still does. +func boundFirstCall(rt http.RoundTripper) http.RoundTripper { + return boundedRoundTripper{next: rt} +} + +type boundedRoundTripper struct{ next http.RoundTripper } + +func (b boundedRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + bound, ok := req.Context().Value(firstCallBound{}).(time.Duration) + if !ok { + return b.next.RoundTrip(req) + } + ctx, cancel := context.WithTimeout(req.Context(), bound) + resp, err := b.next.RoundTrip(req.WithContext(ctx)) + if err != nil { + cancel() + return nil, err + } + // The body is read after the round trip returns, within the same bound. + resp.Body = cancelOnClose{ReadCloser: resp.Body, cancel: cancel} + return resp, nil +} + +type cancelOnClose struct { + io.ReadCloser + cancel context.CancelFunc +} + +func (c cancelOnClose) Close() error { + defer c.cancel() + return c.ReadCloser.Close() +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go index 258140502f..88f78d5782 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go @@ -188,3 +188,35 @@ func TestConnectCluster_CredentialPlugin(t *testing.T) { } } } + +// With a credential plugin, the bound still covers the network once the +// credentials are in hand: an API server that takes the connection and never +// answers is unreachable after the bound, not after the run's whole budget. +func TestConnectCluster_CredentialPluginAgainstASilentServer(t *testing.T) { + release := make(chan struct{}) + srv := httptest.NewTLSServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { + select { + case <-r.Context().Done(): + case <-release: + } + })) + t.Cleanup(srv.Close) + t.Cleanup(func() { close(release) }) + prev := clusterFirstCallTimeout + clusterFirstCallTimeout = 500 * time.Millisecond + t.Cleanup(func() { clusterFirstCallTimeout = prev }) + + for name, body := range map[string]string{ + "fast plugin": "token=fresh", + "slow plugin": "sleep 1; token=fresh", + } { + writeKubeconfigFor(t, srv.URL, credentialPlugin(t, body)) + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + start := time.Now() + _, err := connectCluster(ctx, "test") + cancel() + var unreachable *ClusterUnreachableError + assert.True(t, errors.As(err, &unreachable), "%s: %v", name, err) + assert.Less(t, time.Since(start), 5*time.Second, name) + } +} From c41ac0f78fc3d23757546143f798cdcf44b34711 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 00:57:56 +0530 Subject: [PATCH 101/127] fix(nvcf-cli): say a passed validator row with an unreadable transcript cannot show which checks ran Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 3 +- .../reference/troubleshooting.md | 2 +- .../agentskill/skilldata_generated.go | 4551 +++++++++-------- .../clustervalidator_lifecycle_test.go | 6 +- .../nvcf-cli/internal/selfhosted/preflight.go | 5 +- 5 files changed, 2287 insertions(+), 2280 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 3d8be87cfe..0b9214450c 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -50,7 +50,8 @@ RoleBinding in `default` that let it read only its own ConfigMap, and removes them after the run, so the kubeconfig context needs permission to manage those. It reads the validator's transcript with `get` on `pods/log` in `default`. Without it, a validator Job that succeeded still passes, and its row says the -transcript could not be read, so warnings it reported are not shown. +transcript could not be read, so neither the checks it ran nor warnings it +reported are shown. The ClusterRole grants only the calls each role's checks make: reads, the namespace, DaemonSet and pod writes of the control-plane node-to-node probe, and deleting test namespaces an earlier validator run left behind. diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index 1812eab00d..25d6b0413c 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -16,7 +16,7 @@ transcript. | `helm not found on PATH` | Same | https://helm.sh/docs/intro/install/ | | `cluster-validator not run: cluster_validator_image is not set; ...`, warning | No validator image is configured, so the cluster was not validated | Set `cluster_validator_image` in the nvcf-cli config, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE` or `--cluster-validator-image` | | `cluster-validator did not complete, so the cluster was not validated: ...`, error | The validator could not run or ended before its verdict: RBAC denied, image pull failure, its own timeout | Fix the cause the message names, or pass `--skip-cluster-validation` | -| `cluster-validator Job succeeded; its transcript could not be read (...)`, passed | The validator passed, but its log could not be read: the kubeconfig user lacks `get` on `pods/log` in `default`, or the API server cannot reach the kubelet. Warnings it reported are not shown | Grant `get` on `pods/log` in `default`, or read the transcript with the `kubectl logs` command in the row | +| `cluster-validator Job succeeded; its transcript could not be read (...)`, passed | The validator passed, but its log could not be read: the kubeconfig user lacks `get` on `pods/log` in `default`, or the API server cannot reach the kubelet. The checks it ran and warnings it reported are not shown: an image that predates validator roles runs the compute-plane checks for either role | Grant `get` on `pods/log` in `default`, or read the transcript with the `kubectl logs` command in the row | | `cluster-validator reported failures: Gateway API CRDs: Not Installed` | Envoy Gateway prereq missing | `helm install eg oci://docker.io/envoyproxy/gateway-helm --namespace=envoy-gateway-system --create-namespace` | | `cluster-validator reported failures: Default StorageClass: Not Found` | Cluster has no default SC, and the stack does not name one | Annotate one: `kubectl patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'`, or set `global.storageClass` in the stack's environment file (or `NVCF_STORAGE_CLASS`) to the class the stack uses | | `cluster-validator reported failures: GPU Resources: Not Available` (compute-plane) | No node advertises an allocatable GPU: no GPU nodes, or the NVIDIA GPU Operator is missing or not working | Install per https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/install-gpu-operator.html, OR use `fake-gpu-operator` for dev. `GPU Operator: Not Installed` alone is a warning | diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 94f423ee7e..dace96e523 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU1MTgsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU2NTIsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,12 +71,12 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2Y2Y0MjM0OGYwYzI2ZTRk" + - "ZGYzNzA0MGFhZDdjYzc3N2JhYzU3ZDdlZDZiMDk3OTNmYWI1Nzg1ZTFlZWFhNDc4IiwKICAgICAg" + - "InNpemUiOiAyMjEwMAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImYx" + - "OTk2OGJmNDk5MDhkZWRkODJjMDJkZWE5MjVlZDAzZjkzZGI2ODY5NDIxNTMwNzI0NmQyZjNmOTYw" + - "YjA5MTQiLAogICAgICAic2l6ZSI6IDg0MzYKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1ZDQ0YWQxMTJjYzcwNGIx" + + "ODFmYjZiMDc1NTE2NzZiMTgwM2YzYTVmMGJkYTk0MWYwMWEyNjdiODhhZGQyNmVhIiwKICAgICAg" + + "InNpemUiOiAyMjEyNgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjQ0" + + "NjNiNmJiNDhhNTJkMDk5ZTg1NDViODNiMmE2MmE2NDJkYmY5NTdkN2UwMTJjMGM2N2YwMzlhNjY0" + + "M2IzMGMiLAogICAgICAic2l6ZSI6IDg1NDQKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCNu/XFxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCNAEHt5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1872,2280 +1872,2283 @@ const skillDataZipBase64 = "" + "aW9uIHRvIG1hbmFnZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQg" + "d2l0aCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxp" + "ZGF0b3IgSm9iIHRoYXQgc3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0" + - "aGUKdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCwgc28gd2FybmluZ3MgaXQgcmVwb3J0ZWQg" + - "YXJlIG5vdCBzaG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNo" + - "IHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQg" + - "cG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBk" + - "ZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVo" + - "aW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1" + - "c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBv" + - "cmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtl" + - "eSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMg" + - "dGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJl" + - "IGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxz" + - "IHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24g" + - "ZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4g" + - "YW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28g" + - "dGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJl" + - "Z2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNo" + - "ZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNo" + - "YWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRo" + - "IHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9u" + - "dmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMg" + - "ZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFs" + - "LmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5" + - "LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxl" + - "YXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1h" + - "Z2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVy" + - "IHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJv" + - "YmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxm" + - "b3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJh" + - "dGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmln" + - "IGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGlu" + - "IHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAg" + - "fCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUg" + - "dmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEg" + - "YnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMu" + - "IEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtl" + - "eSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBE" + - "b2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5B" + - "TUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywg" + - "b3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGlu" + - "IHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRy" + - "YWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21t" + - "YS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRo" + - "ZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBl" + - "bnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9D" + - "TElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNs" + - "dXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBm" + - "cm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12" + - "YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3Ig" + - "Sm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9y" + - "IGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hl" + - "ZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50" + - "cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6" + - "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNs" + - "dXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBm" + - "b3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVy" + - "LXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4g" + - "YGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0" + - "aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9y" + - "IHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0" + - "cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZD" + - "RiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0" + - "IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBm" + - "b3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBj" + - "aGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9y" + - "IGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rl" + - "ci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGly" + - "ZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMg" + - "dGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxl" + - "IHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1" + - "c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBz" + - "a2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9O" + - "YCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAg" + - "dGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdN" + - "YXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGlt" + - "YWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5" + - "aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxh" + - "dGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkg" + - "YXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAg" + - "bGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVt" + - "b3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2Vg" + - "IHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBz" + - "dGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxp" + - "ZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hl" + - "cmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFs" + - "c28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyBy" + - "ZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoK" + - "YGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRo" + - "IGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NL" + - "RVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91" + - "Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlv" + - "YCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lN" + - "QUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZ" + - "YCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9j" + - "a2VyIGxvZ2luIG9ubHkgZm9yIGEKYmFyZSBgLS1wcmVgIHJ1biB3aXRoIHRoZSBgbG9jYWxgIGVu" + - "dmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwKc2VjcmV0cyBmcm9tIGl0LCBh" + - "bmQgaXQgaXMgbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtl" + - "eQppcyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciB3aGVuIGBudmNyLmlv" + - "YCByZWplY3RzIHRoZSBkb2NrZXIKbG9naW4uIFRoZSBydW4gdGhlbiB1c2VzIHRoZSBrZXksIGZv" + - "ciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbApzZWNyZXQgdG9vLCBhbmQg" + - "dGhlIHJvdyBzYXlzIGhvdyB0byByZW5ldyB0aGUgbG9naW4gYGRvY2tlcmAgc3RpbGwgc2VuZHMu" + - "CkVhY2ggYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9n" + - "aW4gcmVuZXdlZCB3aGlsZSB0aGUKcnVuIHdhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoK" + - "VGhlIHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyBy" + - "ZXBvc2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xv" + - "YmFsLmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0" + - "YWNrIHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMg" + - "bm90IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4KCk9ubHkg" + - "YSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5" + - "IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQWZ0" + - "ZXIgaW5zdGFsbCBhIHJlamVjdGVkIGNyZWRlbnRpYWwgaXMKYSB3YXJuaW5nLCBzaW5jZSB0aGUg" + - "Y2x1c3RlciBwdWxscyB3aXRoIGl0cyBvd24gcHVsbCBzZWNyZXQuIEEgcmVnaXN0cnkgdGhpcwpt" + - "YWNoaW5lIGNhbm5vdCByZWFjaCwgYSB0b2tlbiBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1p" + - "c3NpbmcgbG9jYWwKY3JlZGVudGlhbCBhcmUgd2FybmluZ3MuIEEgcmVnaXN0cnkgdGhlIHByb2Jl" + - "IGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBFQ1Igb3IKb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlz" + - "IHNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8gY2hlY2sgaXQgYnkgaGFuZC4gQQpyZWdpc3RyeSB0" + - "aGF0IGxldHMgdGhpcyBtYWNoaW5lIGluIGFub255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gs" + - "IG5vdCBhcwp2YWxpZCBjcmVkZW50aWFscy4KCiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0" + - "YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhlc2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNo" + - "IG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5z" + - "IG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5nIHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBh" + - "bmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0tLXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3Mu" + - "Z2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVkIHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRl" + - "czogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBu" + - "YXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRzLmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1R" + - "dWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1Xb3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZ" + - "X05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVkIGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBi" + - "YXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUgdmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tp" + - "cHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVudm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jl" + - "c3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlf" + - "TkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29tcG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9y" + - "IGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVkYCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBg" + - "LS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJO" + - "QUxfQ09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VDbGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4g" + - "V2hlbiBzZXQsIHRoZSB2YWxpZGF0b3IgY2hlY2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5z" + - "dGVhZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2Ag" + - "fAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8Cnwg" + - "T3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFn" + - "ZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFHRWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxz" + - "byBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hlY2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5Cndo" + - "ZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFsbDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVk" + - "IHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlz" + - "IHVzZWQgb25seSBmb3IgYSBwbGFuZSBgLS1wcmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGws" + - "CiAgc2luY2UgYHVwYCBpbnN0YWxscyB3aXRoIGl0LiBPdGhlcndpc2UgcGFzcyB0aGUgYC0tZW52" + - "YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwg" + - "bGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBgYmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2Vk" + - "LgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNv" + - "bnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGZvciBhIGNvbXB1" + - "dGUtcGxhbmUtb25seSBydW4pLCBlbHNlIHRoZSBDTEkncwogIGJ1aWx0LWluIHN0YWNrLiBBIGxv" + - "Y2FsIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4gYG9jaTovL2Agc3RhY2sKICBm" + - "cm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIgY29tbWFuZCBleHRyYWN0ZWQgaW50byB0aGUgQ0xJIGNh" + - "Y2hlLiBBIGdpdCBzdGFjaywKICBgZmlsZTovL2AgaW5jbHVkZWQsIGlzIG5vdCByZWFkLCBzaW5j" + - "ZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZAogIHN0YXRlLiBBIENMSSB3aXRoIG5v" + - "IGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRzIHRoZSBzdGFjawogIGNoZWNr" + - "b3V0IGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVyd2lzZSBub3RoaW5nIGZyb20g" + - "dGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBmaW5kcyB0aGUKR2F0ZXdheXMg" + - "ZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2JlZCBhcyBhIHdhcm5pbmcgb25s" + - "eS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMgY2x1c3RlciByb3cgaWRlbnRp" + - "ZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBhY2NvdW50IElEIHwg" + - "YG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwgQ2x1c3RlciByZWdpb24gfCBg" + - "dXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47IGVtaXQgcGhhc2UgcGxhbiAr" + - "IEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBgc3RhdHVzYC1zcGVjaWZpYwoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1u" + - "YW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUgfCAtIChjb250cm9sICsgYWxs" + - "IGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5kZXIgfCBgZmFsc2VgIHwKfCBg" + - "LS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVuY2UgfCBgNXNgIHwKfCBgLS1j" + - "b21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5lbCB8IGFsbCB8CnwgYC0tbm8t" + - "ZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8CgojIyBgY2x1c3RlciByZWdp" + - "c3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5j" + - "YS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwg" + - "UmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBJQ01TIGVuZHBvaW50" + - "IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2AgfCBNYXRjaC1vci1jcmVhdGUg" + - "aW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoKIyMgYGFwaS1rZXkgZ2VuZXJh" + - "dGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + - "fCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25seSB0aGUgc3BlY2lmaWVkIGtl" + - "eSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRg" + - "IHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBgR2VuZXJhdGVkIGJ5IG52Y2Yt" + - "Y2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBpcnkgb2Zmc2V0IChlLmcuIGAy" + - "NGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9uIHwgYDI0aGAgfAp8IGAtLXNj" + - "b3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQgc2NvcGVzOyByZXF1aXJlcyBg" + - "LS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxpZGF0ZWAgfCBWYWxpZGF0ZSBl" + - "YWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZyB8IGBmYWxzZWAgfAoK" + - "RXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyksIGBtYCAobWludXRlcyksIGBo" + - "YCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMjIGBmdW5jdGlvbiBjcmVhdGVg" + - "LXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRh" + - "YmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNyZWF0ZXM6Cgp8IEZsYWcgfCBQ" + - "dXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgRnVuY3Rp" + - "b24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IC0gfAp8" + - "IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgZW5kcG9pbnQgfCAt" + - "IHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5lciBpbmZlcmVuY2UgcG9ydCB8" + - "IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFNSU5HXHxMTE1gIHwgRnVuY3Rp" + - "b24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0" + - "IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRoIGAtLWZ1bmN0aW9uLXR5cGU9" + - "TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4gfCAtIHwKfCBgLS1oZWxtLWNo" + - "YXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2UgbmFtZSBleHBvc2VkIGJ5IHRo" + - "ZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBpcyBzZXQuIHwgLSB8CnwgYC0t" + - "bW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9kZWwgYXJ0aWZhY3Q7IHJlcGVh" + - "dGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0gbW9kZWwgY29uZmlnOyBmb3Jt" + - "YXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+" + - "LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBUb2tlbiBsaW1pdHMgdXNlIGA8" + - "dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAsIG9yIGBXYCwgZm9yIGV4YW1w" + - "bGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMgYmVj" + - "YXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLiB8IC0gfAp8" + - "IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1bmN0aW9uLWxldmVsIGRlZmF1" + - "bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LiB8" + - "IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVy" + - "LWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0" + - "IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4g" + - "fCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1bmN0aW9ucyBzZXQgYGZ1bmN0" + - "aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNb" + - "XS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVzIHRoZSBPcGVuQUktY29tcGF0" + - "aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2RlbC4gQ3VycmVudCBzdXBwb3J0" + - "ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5k" + - "IGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYWNjZXB0cyBgcm91" + - "bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGlyZWdpb25gLCBgcHVsc2FyYCwg" + - "b3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgIGFjY2VwdHMgb25lIG9yIG1v" + - "cmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGluIGA8dmFs" + - "dWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJlIGBTYCAoc2Vjb25kcyksIGBN" + - "YCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBhbmQgYFdgICh3ZWVrcykuIFVz" + - "ZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMsIGZvciBleGFtcGxlIGAxMDAw" + - "LVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AgaW4gaW5wdXQgSlNPTi4KCkhl" + - "bG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBmdW5jdGlvblR5cGVgLiBGb3Ig" + - "YSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAiTExN" + - "ImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLCBhbmQgYG1vZGVsc1tdLmxs" + - "bUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBpbmZlcmVuY2VQb3J0YCBtdXN0" + - "IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2VkIGJ5IGBoZWxtQ2hhcnRTZXJ2" + - "aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2UgYG1vZGVsOiAiPGZ1bmN0aW9u" + - "LWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVu" + - "Y3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdXBzdHJlYW0uIENoYXQgY29t" + - "cGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2FuIHVzZSBgeC1tdWx0aS10dXJu" + - "LXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVtYmVkZGluZ3MgcmVxdWVzdHMg" + - "ZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFJlcGxhY2Ug" + - "ZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRhdGUgU1BFQ2AgfCBMTE0gbW9k" + - "ZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRv" + - "a2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0aW5nIG1ldGhvZHMgbWF0Y2gg" + - "YC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEwMDAtU2AuIFVzZSBpbnB1dCBK" + - "U09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJp" + - "b3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24tbGV2ZWwgcHJpb3JpdHkgY29u" + - "ZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1cHBsaWVkIHBlci1hY2NvdW50" + - "IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBS" + - "SU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBw" + - "b3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1" + - "bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24gdXBkYXRlYCBhY2NlcHRzIGBt" + - "b2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVgIGFuZCBgbGxtQ29uZmlnLnJv" + - "dXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YC4gYHVyaXNgIGFy" + - "ZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5vdCBwYXJ0IG9mIG1vZGVsIHVw" + - "ZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZp" + - "bGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVjKS4gRm9yIGFkLWhvYyBvbmUt" + - "c2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + - "LS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tZ3B1" + - "IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8" + - "IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5zdGFuY2VzIE5gIHwgTWluIHJl" + - "cGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwgTWF4IHJlcGxpY2FzIHwgYDFg" + - "IHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENvbmN1cnJlbmN5IHwgYDBgICh1" + - "bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVd" + - "YCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwgKGFueSBtYXRjaGluZyBTS1Up" + - "IHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + - "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyB1c2U6" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1F" + - "YCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMsIGBeW2EtejAtOUEtWl1bYS16" + - "MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFtZSAocmVxdWlyZWQgd2l0aG91" + - "dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUg" + - "VFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + - "IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWlu" + - "ZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1oZWxtLWNoYXJ0YCB8CnwgYC0t" + - "aGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlIHwgTXV0" + - "dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1pbnB1dC1maWxlIEZJTEVgIHwg" + - "SlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlkZSBKU09OIHZhbHVlcyB3aGVu" + - "IGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8IEJhY2tlbmQgLyBDU1AgfCAt" + - "IHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZpYyBjbHVzdGVycyB3aXRoaW4g" + - "dGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1jb250YWluZXItYXJncyBBUkdT" + - "YCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250YWluZXIgfCBTaW5nbGUgc3Ry" + - "aW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMyImAgfAp8IGAtLWNvbnRhaW5l" + - "ci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVh" + - "dGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwgU2VjcmV0IGVudmlyb25tZW50" + - "IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVzdCB8IC0gfAp8IGAtLW1heC1y" + - "dW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0aW1lIChJU08gODYwMSwgZS5n" + - "LiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGltZSBsaW1pdCB8CnwgYC0tbWF4" + - "LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBiZWZvcmUgY2FuY2VsbGF0aW9u" + - "IChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwKfCBgLS10ZXJtaW5hdGlvbi1n" + - "cmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3RvcCBzaWduYWwgKElTTyA4NjAx" + - "KSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0LXN0cmF0ZWd5IFVQTE9BRFx8" + - "Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlmYWN0cyB8IC0gfAp8IGAtLXJl" + - "c3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9hZCB0YXJnZXQsIGZvcm1hdCBg" + - "b3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVpcmVkIHdoZW4gYC0tcmVzdWx0" + - "LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBN" + - "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJlc291cmNlcyBOQU1FOlZFUlNJ" + - "T046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tdGFncyBU" + - "QUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1kZXNjcmlwdGlv" + - "biBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1sb2dzLXRlbGVtZXRyeS1pZCBV" + - "VUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tbWV0cmljcy10ZWxl" + - "bWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAt" + - "LXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVsZW1ldHJ5IGVuZHBvaW50IElE" + - "IHwgLSB8ClBLBwjKjQYoVFYAAFRWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEA" + - "ps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycywgdGhlIGRpYWdub3N0aWMgY29tbWFu" + - "ZCwgYW5kIHRoZSByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHN0cnVjdHVyZWQg" + - "ZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSk6IG91dHNpZGUgcHJlLWZsaWdodCwgZXZlcnkg" + - "ZW50cnkgYmVsb3cgc2hvdWxkIG1hcCB0byBhIGBwaGFzZV9mYWlsZWRgIGBlcnJDYXRlZ29yeWAg" + - "YW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGlnaHQKCmBjaGVja2AgcmVwb3J0" + - "cyBlYWNoIGZpbmRpbmcgYXMgYSBgY2hlY2tfY29tcGxldGVkYCBldmVudCwgbm90IGFzCmBwaGFz" + - "ZV9mYWlsZWRgLiBUaGUgc3ltcHRvbSBpcyB0aGUgZXZlbnQncyBgbWVzc2FnZWA7IGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHJvd3MKcXVvdGUgdGhlIHZhbGlkYXRvcidzIGZhaWxlZCBzdW1tYXJ5IHJvd3Ms" + - "IGFuZCBgLS1zaG93LWxvZ3NgIHByaW50cyB0aGUgZnVsbAp0cmFuc2NyaXB0LgoKfCBTeW1wdG9t" + - "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBga3ViZWN0bCBub3QgZm91" + - "bmQgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24ndCBpbmNsdWRlIGt1YmVjdGwu" + - "IEFuIGVycm9yIHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIHdhcm4sIGFkZGluZyBgOyBvbmx5" + - "IGFuIGluc3RhbGwgbmVlZHMgaXRgIHwgSW5zdGFsbCBrdWJlY3RsIDEuMjgrOiBodHRwczovL2t1" + - "YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1YmVjdGwvIHwKfCBgaGVsbWZp" + - "bGUgbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtZmls" + - "ZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNh" + - "bWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxsLyB8CnwgYGNsdXN0ZXItdmFs" + - "aWRhdG9yIG5vdCBydW46IGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlIGlzIG5vdCBzZXQ7IC4uLmAs" + - "IHdhcm5pbmcgfCBObyB2YWxpZGF0b3IgaW1hZ2UgaXMgY29uZmlndXJlZCwgc28gdGhlIGNsdXN0" + - "ZXIgd2FzIG5vdCB2YWxpZGF0ZWQgfCBTZXQgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYCBpbiB0" + - "aGUgbnZjZi1jbGkgY29uZmlnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgIG9y" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIGRpZCBu" + - "b3QgY29tcGxldGUsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkOiAuLi5gLCBlcnJv" + - "ciB8IFRoZSB2YWxpZGF0b3IgY291bGQgbm90IHJ1biBvciBlbmRlZCBiZWZvcmUgaXRzIHZlcmRp" + - "Y3Q6IFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24gdGltZW91dCB8IEZp" + - "eCB0aGUgY2F1c2UgdGhlIG1lc3NhZ2UgbmFtZXMsIG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZh" + - "bGlkYXRpb25gIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgSm9iIHN1Y2NlZWRlZDsgaXRzIHRyYW5z" + - "Y3JpcHQgY291bGQgbm90IGJlIHJlYWQgKC4uLilgLCBwYXNzZWQgfCBUaGUgdmFsaWRhdG9yIHBh" + - "c3NlZCwgYnV0IGl0cyBsb2cgY291bGQgbm90IGJlIHJlYWQ6IHRoZSBrdWJlY29uZmlnIHVzZXIg" + - "bGFja3MgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHRoZSBBUEkgc2VydmVy" + - "IGNhbm5vdCByZWFjaCB0aGUga3ViZWxldC4gV2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBz" + - "aG93biB8IEdyYW50IGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciByZWFkIHRo" + - "ZSB0cmFuc2NyaXB0IHdpdGggdGhlIGBrdWJlY3RsIGxvZ3NgIGNvbW1hbmQgaW4gdGhlIHJvdyB8" + - "CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRld2F5IEFQSSBDUkRz" + - "OiBOb3QgSW5zdGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3NpbmcgfCBgaGVsbSBp" + - "bnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVsbSAtLW5hbWVz" + - "cGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwKfCBgY2x1c3Rl" + - "ci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFnZUNsYXNzOiBOb3Qg" + - "Rm91bmRgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBzdGFjayBkb2VzIG5v" + - "dCBuYW1lIG9uZSB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2MgPG5hbWU+IC1wICd7" + - "Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5ldGVzLmlvL2lz" + - "LWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5zdG9yYWdlQ2xhc3Ng" + - "IGluIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NUT1JBR0VfQ0xBU1Ng" + - "KSB0byB0aGUgY2xhc3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBv" + - "cnRlZCBmYWlsdXJlczogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAgKGNvbXB1dGUtcGxh" + - "bmUpIHwgTm8gbm9kZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTogbm8gR1BVIG5vZGVz" + - "LCBvciB0aGUgTlZJRElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5vdCB3b3JraW5nIHwg" + - "SW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRlci9jbG91ZC1uYXRp" + - "dmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5odG1sLCBPUiB1c2Ug" + - "YGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBOb3QgSW5zdGFsbGVk" + - "YCBhbG9uZSBpcyBhIHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKHN0dWNr" + - "IFRlcm1pbmF0aW5nOiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5hbWVzcGFjZSBoYXMg" + - "YmVlbiBkZWxldGluZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25kaXRpb25zIHJlcG9y" + - "dCBhIGRlbGV0aW9uIGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lkZSBpdCBzdGlsbCBo" + - "b2xkcyBhIGZpbmFsaXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJvdyBpbiBvcmRlcjog" + - "cmVhZCBga3ViZWN0bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuY29uZGl0aW9u" + - "c30nYCwgbGlzdCB3aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJjZXNgIGNvbW1hbmQs" + - "IGFuZCByZXNvbHZlIHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBuYW1lc3BhY2UgZmlu" + - "YWxpemVycyBvbmx5IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxu" + - "cz4gKFRlcm1pbmF0aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2FybmluZyB8IEEgbm9ybWFs" + - "IGRlbGV0aW9uIGlzIHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFsaXplcnMgfCBXYWl0" + - "IGFuZCByZXJ1biBgY2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4gSXQgYmVjb21lcyBg" + - "c3R1Y2sgVGVybWluYXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "OiBgPG5zPiAoSGVsbSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNlPiA8c3RhdHVzPilg" + - "LCB3YXJuaW5nIHwgQW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwgcm9sbGJhY2sgb3Ig" + - "dGVhcmRvd24gbGVmdCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5pbnN0YWxsaW5nYC4g" + - "VGhlIG5leHQgYHVwYCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3IgdGVhcmRvd24gaXMg" + - "cnVubmluZywgcmVhZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+YCwgdGhlbiBmaW5p" + - "c2ggaXQgd2l0aCBgaGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxsYCB8CnwgYHN0YWxl" + - "LW5hbWVzcGFjZXNgOiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5pbmcgfCBUaGUgbmFt" + - "ZXNwYWNlIHJ1bnMgbm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVhc2UsIGJ1dCBzdGls" + - "bCBob2xkcyB2b2x1bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFzIGBkb3duYCBsZWF2" + - "ZXMgdGhlbS4gQSByZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVtZXMgfCBJbnNwZWN0" + - "IG9ubHk6IGBrdWJlY3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0tbmFtZXNwYWNlZCAt" + - "byBuYW1lIFx8IHhhcmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hvdy1raW5kIC0taWdu" + - "b3JlLW5vdC1mb3VuZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFsbCBvZiBhIGdhdGVk" + - "IGNvbXBvbmVudCBhbHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFsZS1uYW1lc3BhY2Vz" + - "YCByZXBvcnRzIGBubyBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0YWxsIHwgSGVsbSBz" + - "dG9yZXMgcmVsZWFzZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBjaGVja2AgcmVhZHMg" + - "YEhFTE1fRFJJVkVSYCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwgbm90IGZyb20gdGhl" + - "IGhlbG1maWxlIGVudmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1zcWxgIGJlZm9yZSBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRlcm1pbmF0aW5nIG5h" + - "bWVzcGFjZXMgYXJlIGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBkb2VzIG5vdCBzY2Fu" + - "IGFuIGFkZG9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sg" + - "YGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMg" + - "Y29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtz" + - "ZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20t" + - "dGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52" + - "YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVj" + - "a3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWkt" + - "c2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlg" + - "IG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBm" + - "bGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVz" + - "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAg" + - "KGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90" + - "IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1Qg" + - "LS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVy" + - "IGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxl" + - "IHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZj" + - "Zi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3Npbmcg" + - "cmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRv" + - "ZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdl" + - "bmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFs" + - "bCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + - "CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3Rh" + - "dGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xh" + - "c3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJ" + - "bnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwg" + - "V3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAi" + - "Z3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGBy" + - "ZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29t" + - "cHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1w" + - "dHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8" + - "CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJp" + - "bmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2" + - "YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2Yt" + - "Y2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1h" + - "Z2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNs" + - "dXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdl" + - "IGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8Cgoj" + - "IyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAg" + - "NDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNs" + - "dXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVy" + - "IElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJl" + - "c2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + - "ciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQg" + - "Y29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3Rl" + - "ciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJh" + - "Y2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmln" + - "IG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5k" + - "IDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95" + - "IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29s" + - "ZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwg" + - "YGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5h" + - "dHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8" + - "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlz" + - "c2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1" + - "c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5" + - "LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFs" + - "IGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFn" + - "YXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlh" + - "bHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1p" + - "bikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVz" + - "IHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Yg" + - "cm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5" + - "IHwKUEsHCLUF84L0IAAA9CAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFu" + - "ZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29t" + - "cHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + - "bGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxs" + - "IHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAg" + - "aW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBj" + - "b250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYt" + - "aG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVu" + - "dHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vu" + - "c2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAg" + - "PCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5n" + - "IGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + - "Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1h" + - "bmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFu" + - "ZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0" + - "b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5h" + - "bDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdl" + - "Lm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdl" + - "ZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBj" + - "bGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFu" + - "Z3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVj" + - "dGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFn" + - "ZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0Yg" + - "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5z" + - "dHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRv" + - "d24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1j" + - "b21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + - "IHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJl" + - "YWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9y" + - "IHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQg" + - "aW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9s" + - "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + - "bnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + - "L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8g" + - "PGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+" + - "L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywg" + - "ZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2Mg" + - "cmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24g" + - "PG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxh" + - "bmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBT" + - "cGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250" + - "ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAj" + - "IE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNp" + - "b24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3Qg" + - "aW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBt" + - "dXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxh" + - "bmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxz" + - "IGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBg" + - "YAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFt" + - "bGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNh" + - "bm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + - "bnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZs" + - "b3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21t" + - "b24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFt" + - "bCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2Jh" + - "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1j" + - "aGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFt" + - "bCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlu" + - "bGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6" + - "IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0" + - "byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwg" + - "cmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUg" + - "ZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1s" + - "LmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBb" + - "T3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1" + - "ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5k" + - "IGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFz" + - "aApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1l" + - "c3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + - "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + - "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0" + - "cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVy" + - "ZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cyku" + - "CgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBg" + - "ZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3Ig" + - "TkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywg" + - "c28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJh" + - "dGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2Vy" + - "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoK" + - "IyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAg" + - "aGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2Nv" + - "dW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1v" + - "cmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBv" + - "cmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0" + - "aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + - "LmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkg" + - "b3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBm" + - "YWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhl" + - "IGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBj" + - "aGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUg" + - "bG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwg" + - "b3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVy" + - "IGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3Jl" + - "ZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJv" + - "ciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZy" + - "b20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkK" + - "CklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBj" + - "bHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3Jl" + - "dCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRl" + - "bnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0" + - "YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQg" + - "dGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAg" + - "IGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + - "Z2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVw" + - "b3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhl" + - "IGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAg" + - "cmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBo" + - "YXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJ" + - "IGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlv" + - "Ly4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBj" + - "aGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3Np" + - "dG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUg" + - "bm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAog" + - "ICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNr" + - "IGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9D" + - "STogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVs" + - "bSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRo" + - "PmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3Vy" + - "Y2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0" + - "ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5v" + - "ZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMg" + - "bm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1l" + - "c3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVz" + - "cGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRz" + - "YCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52" + - "Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1h" + - "cGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0" + - "aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQg" + - "Y3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRo" + - "ZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJv" + - "cmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRv" + - "bWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxk" + - "b21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJh" + - "bGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdB" + - "WV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdh" + - "eS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykK" + - "dGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0" + - "bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRl" + - "cm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxm" + - "LW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVz" + - "dGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBn" + - "bG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2As" + - "IGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3Vy" + - "IGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlf" + - "QUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9t" + - "YWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9u" + - "LiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFBy" + - "ZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + - "ZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fz" + - "c2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRv" + - "Y3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJh" + - "IGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + - "YXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4g" + - "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0" + - "IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBg" + - "QmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNh" + - "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVM" + - "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmls" + - "ZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9y" + - "IHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18" + - "LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBP" + - "cGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZp" + - "Y2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBp" + - "LWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3" + - "YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1" + - "LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMg" + - "fCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZh" + - "YmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFy" + - "YXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYu" + - "IEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNh" + - "YmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhv" + - "c3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQ" + - "SSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + - "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRy" + - "YWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApy" + - "ZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1h" + - "bmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklm" + - "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZp" + - "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3" + - "YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZh" + - "dWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2" + - "YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFu" + - "ZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmln" + - "YC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRv" + - "bWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhl" + - "IHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNv" + - "bmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFz" + - "ZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3" + - "YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91" + - "dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12" + - "YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpj" + - "dXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4v" + - "aGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQ" + - "SSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMu" + - "IFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgoj" + - "IyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + - "Y3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0" + - "IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5W" + - "Q0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29u" + - "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAg" + - "dGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRo" + - "ZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3Ig" + - "ZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2" + - "ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVp" + - "LWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0" + - "YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxh" + - "bmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNv" + - "bXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBh" + - "cmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGgg" + - "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBw" + - "cm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVu" + - "IHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8g" + - "bm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + - "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNv" + - "bW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFy" + - "ZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxh" + - "bmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBz" + - "YW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9u" + - "bHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmls" + - "ZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAs" + - "IGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZp" + - "Y2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwg" + - "YHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBp" + - "bmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBh" + - "bHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51" + - "cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUg" + - "dGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVh" + - "c2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9y" + - "IG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95" + - "LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVy" + - "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + - "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + - "IHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9u" + - "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBi" + - "eSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + - "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFu" + - "ZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkg" + - "dmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9y" + - "ZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBn" + - "ZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8" + - "c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0" + - "IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBr" + - "ZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRy" + - "YS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4K" + - "CiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVs" + - "ZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJs" + - "b2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8g" + - "dGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBg" + - "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + - "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + - "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + - "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + - "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAg" + - "ICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICBy" + - "ZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkK" + - "YGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRl" + - "bmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1w" + - "bGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3Rt" + - "cGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xl" + - "IHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMj" + - "IEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwg" + - "dHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVs" + - "b3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9y" + - "bWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290" + - "c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwt" + - "LS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBu" + - "dmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50" + - "byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNy" + - "ZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2Vj" + - "cmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdF" + - "X1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNl" + - "cy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRg" + - "KSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWls" + - "ZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQo" + - "IiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + - "ZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBU" + - "aGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRI" + - "X0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBk" + - "b2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFz" + - "IGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2" + - "ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJj" + - "b25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRv" + - "a2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVu" + - "c3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAt" + - "IFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5z" + - "Cj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3Jt" + - "YXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVs" + - "bCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNz" + - "IG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Ig" + - "d3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2Rpbmcg" + - "aXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0" + - "aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICck" + - "b2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1" + - "dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9" + - "IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBm" + - "b3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBr" + - "dWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3Mg" + - "dXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdo" + - "ZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + - "Z2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52" + - "Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3Vu" + - "dC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQg" + - "KHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5n" + - "IGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRp" + - "Y2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBw" + - "YXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBL" + - "eXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3Qg" + - "YGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlz" + - "IHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJh" + - "dGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0" + - "YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIu" + - "aW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5v" + - "L2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwg" + - "c2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkg" + - "dGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2Vw" + - "dWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBh" + - "dCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3It" + - "Y3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + - "IFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYg" + - "dXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElB" + - "TSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNy" + - "ZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZl" + - "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMg" + - "Y2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAg" + - "ICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4g" + - "PG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMj" + - "IENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0t" + - "LS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9y" + - "aXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0" + - "cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24g" + - "c2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9w" + - "ZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0" + - "LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24g" + - "a2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFv" + - "IEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUg" + - "Y2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBP" + - "SURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292" + - "ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25z" + - "YCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + - "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBg" + - "T09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBP" + - "dmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFj" + - "a2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBD" + - "YXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + - "T1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBg" + - "Y2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNl" + - "Y3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJl" + - "LXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBv" + - "ZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0" + - "bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFz" + - "ZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVs" + - "bWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50" + - "IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + - "ZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "IC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93" + - "biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5l" + - "dmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJl" + - "ZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhv" + - "b2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUg" + - "aG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUt" + - "YWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNl" + - "Y3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRv" + - "IGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2" + - "ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5k" + - "IGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNl" + - "dCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8" + - "CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0" + - "Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMg" + - "dGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1Nf" + - "UkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMj" + - "IyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBp" + - "cyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNl" + - "KioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2Ug" + - "aXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwg" + - "YGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0" + - "IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9v" + - "ayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50" + - "IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xp" + - "ZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMu" + - "CgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9" + - "J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJz" + - "ZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28g" + - "dGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxp" + - "bmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoK" + - "YGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNj" + - "b3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgoj" + - "IyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhh" + - "bXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlk" + - "aWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0" + - "IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMv" + - "aGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRl" + - "ciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNy" + - "ZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tl" + - "IGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUA" + - "AQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1" + - "ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + - "S1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0" + - "aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJl" + - "cXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjAp" + - "LCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3Rs" + - "IChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0" + - "byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + - "aXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49" + - "IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlm" + - "aWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRp" + - "YmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + - "YyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVz" + - "dCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNr" + - "cyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBj" + - "aGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyBy" + - "ZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFp" + - "bmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5" + - "IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0" + - "ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlm" + - "ZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAn" + - "aGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVu" + - "IHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnly" + - "dW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUg" + - "c3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNh" + - "dXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJl" + - "bW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBj" + - "bGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFt" + - "ZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1v" + - "cGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJl" + - "c291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21w" + - "dXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBh" + - "Z2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92" + - "ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFj" + - "ZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2Vz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + - "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + - "dXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkg" + - "dG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAg" + - "ICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJh" + - "dGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1" + - "dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBm" + - "cm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBs" + - "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3" + - "YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3Rh" + - "bGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJl" + - "Z2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVj" + - "b25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhl" + - "IHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRp" + - "b24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55" + - "YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBj" + - "b250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRl" + - "IHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9r" + - "ZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBp" + - "X2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUg" + - "YmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1F" + - "LCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1j" + - "b21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxF" + - "X0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + - "IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNt" + - "c19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3Qg" + - "TWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldL" + - "UyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVx" + - "dWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1p" + - "eCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1i" + - "b3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBO" + - "R0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3Ig" + - "bnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxt" + - "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2Vy" + - "IGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdk" + - "b2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQ" + - "SV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dp" + - "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + - "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQg" + - "YmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28g" + - "YXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlz" + - "c2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNG" + - "IGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "YXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + - "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVz" + - "IHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJh" + - "Y3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBu" + - "b3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1" + - "cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290" + - "bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50" + - "IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBh" + - "Z2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xl" + - "YW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFs" + - "bGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0" + - "ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmly" + - "c3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0" + - "aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91" + - "ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBo" + - "YW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMg" + - "YSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zICho" + - "ZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVy" + - "aWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVh" + - "dGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0" + - "ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIp" + - "IHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3" + - "IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0" + - "YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + - "ZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGlu" + - "Z3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAg" + - "IkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJl" + - "ZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4" + - "YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBt" + - "aXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13" + - "b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29u" + - "dHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1" + - "dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3Rh" + - "bGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwu" + - "IEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBl" + - "YWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUg" + - "c3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNl" + - "ZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2gg" + - "dG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVk" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFt" + - "bCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcs" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5k" + - "IC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24s" + - "IGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29u" + - "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + - "IGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1" + - "ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50" + - "IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRp" + - "ZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rp" + - "b24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVt" + - "b3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1" + - "cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRo" + - "ZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQg" + - "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3Jl" + - "IGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUg" + - "YWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3Vy" + - "Y2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRl" + - "ZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9j" + - "ayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVk" + - "IGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2Vz" + - "IHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBw" + - "cmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9y" + - "ZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0" + - "aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUg" + - "TlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3Ig" + - "dGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxl" + - "IHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwg" + - "dGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBl" + - "bmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBh" + - "Z2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0s" + - "IGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3Zp" + - "ZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdy" + - "b3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2Zm" + - "IiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09m" + - "ZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0" + - "byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9y" + - "IHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBh" + - "bmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNy" + - "ZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBw" + - "cm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVs" + - "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAi" + - "VGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lm" + - "aWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1h" + - "bmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21w" + - "dXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVu" + - "dm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2Vj" + - "cmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250" + - "cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdh" + - "dGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBz" + - "ZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9j" + - "YWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMs" + - "IGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUg" + - "YmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3Qs" + - "IHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVS" + - "THMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwg" + - "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5" + - "IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + - "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5" + - "LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0" + - "ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3kt" + - "Z2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZj" + - "ZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0" + - "U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwi" + - "LAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRo" + - "ZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50" + - "IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQg" + - "bnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRl" + - "cy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGlu" + - "Y2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + - "ZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3Zl" + - "cnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBu" + - "YXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBw" + - "dWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAi" + - "VGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRv" + - "ciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0" + - "aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + - "IGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + - "IHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxv" + - "dyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRl" + - "IGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBi" + - "b3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2Zm" + - "IGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2Fy" + - "bmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + - "bSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Ug" + - "Zm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVy" + - "aWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + - "bmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + - "LiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVs" + - "ZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZh" + - "bHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZl" + - "IHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMg" + - "bm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxh" + - "bmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0" + - "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCBy" + - "YW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29u" + - "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4g" + - "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0" + - "ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZs" + - "b3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29u" + - "dHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291" + - "bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQg" + - "dGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + - "bGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmll" + - "ZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNz" + - "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBw" + - "cmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5v" + - "dCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29u" + - "ZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1h" + - "a2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIs" + - "CiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVh" + - "bCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + - "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + - "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + - "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhl" + - "IGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIs" + - "CiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1l" + - "bnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxh" + - "bi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24g" + - "dW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wg" + - "cGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRk" + - "ZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5" + - "IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + - "aW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5s" + - "aW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNz" + - "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAi" + + "aGUKdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCwgc28gbmVpdGhlciB0aGUgY2hlY2tzIGl0" + + "IHJhbiBub3Igd2FybmluZ3MgaXQKcmVwb3J0ZWQgYXJlIHNob3duLgpUaGUgQ2x1c3RlclJvbGUg" + + "Z3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhl" + + "Cm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5l" + + "IG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJs" + + "aWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFs" + + "aWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9W" + + "QUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEg" + + "cmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUg" + + "cmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2Vz" + + "IG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFn" + + "OyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0" + + "aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRh" + + "dG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8" + + "CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4u" + + "YCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhp" + + "cyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBh" + + "cyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVn" + + "aXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVn" + + "aXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmlt" + + "YWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUg" + + "c29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBg" + + "Y2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEg" + + "d2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMg" + + "YSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRo" + + "ZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4g" + + "UmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + + "SURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3Ry" + + "aWVzYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12" + + "YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHBy" + + "b2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3Zlcmxh" + + "eSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJv" + + "ciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFU" + + "T1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFn" + + "ZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRh" + + "dG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRo" + + "YXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9y" + + "IGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRz" + + "YCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBj" + + "b21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZD" + + "Rl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5h" + + "bWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGlu" + + "ZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9D" + + "T01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9u" + + "ZW50c2AsIGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlv" + + "bnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBv" + + "bmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVy" + + "IHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBO" + + "b0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJs" + + "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RP" + + "TEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBh" + + "IGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24g" + + "b2JqZWN0cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwg" + + "ZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxp" + + "ZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRv" + + "ciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcg" + + "dGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5" + + "LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9y" + + "IHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0" + + "aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGBy" + + "ZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRh" + + "aWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRv" + + "LWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1" + + "c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmln" + + "dXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBv" + + "dXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0" + + "aGUgaW1hZ2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2Vz" + + "IGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NU" + + "RURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAg" + + "fAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJB" + + "QywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdo" + + "b3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlz" + + "IGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBr" + + "dWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0" + + "b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUg" + + "YGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMg" + + "cHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmlu" + + "ZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNo" + + "IHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBm" + + "cmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFu" + + "ZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxh" + + "bmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlz" + + "IG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0" + + "aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoK" + + "IyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFi" + + "b3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUg" + + "YGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8u" + + "ZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVs" + + "cGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQs" + + "IGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9B" + + "UElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0" + + "LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXBy" + + "ZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBp" + + "dHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIg" + + "cmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2Nr" + + "ZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVjdHMgdGhlIGRvY2tlcgpsb2dpbi4gVGhl" + + "IHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBkaXNjb3ZlcnkgYW5kIHRoZSB2YWxpZGF0" + + "b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93IHNheXMgaG93IHRvIHJlbmV3IHRoZSBs" + + "b2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBj" + + "cmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZQpydW4gd2FpdHMg" + + "Y291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3Mg" + + "dG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGlt" + + "YWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9i" + + "YWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBh" + + "cyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBu" + + "dmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVj" + + "dHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1h" + + "Z2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlh" + + "bCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxs" + + "IHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNl" + + "cnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJu" + + "aW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBv" + + "cgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVj" + + "ayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnlt" + + "b3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMj" + + "IFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBz" + + "ZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2" + + "YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBS" + + "ZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8" + + "IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhl" + + "IHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5" + + "QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5h" + + "YmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtl" + + "ci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5h" + + "bWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxp" + + "ZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kg" + + "R2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3Bh" + + "Y2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25l" + + "bnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlz" + + "IHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNv" + + "bXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNz" + + "IHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3Mg" + + "dGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xh" + + "c3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5W" + + "Q0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNs" + + "dXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8" + + "CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2Ag" + + "cmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoK" + + "LSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + + "LiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAg" + + "Y2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQu" + + "IE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNl" + + "LnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3Rh" + + "Y2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENM" + + "SSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHks" + + "IGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5k" + + "IGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBp" + + "bmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0" + + "dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZs" + + "YWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5" + + "LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFs" + + "aWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2Ag" + + "aXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVg" + + "IHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2Et" + + "aWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJF" + + "R0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwg" + + "RHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2Vg" + + "IHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0" + + "ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZl" + + "IHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRj" + + "aGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25l" + + "bnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBg" + + "ZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFt" + + "ZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwg" + + "LSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNt" + + "cy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4" + + "aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZh" + + "bHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5l" + + "cmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3Ro" + + "KSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhl" + + "IGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9O" + + "YCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQg" + + "ZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUg" + + "ZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8" + + "IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBh" + + "ZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChz" + + "ZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vl" + + "a3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAg" + + "aXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBh" + + "ZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0Vg" + + "IHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFp" + + "bmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwg" + + "Q29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxU" + + "XHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxt" + + "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1" + + "c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29y" + + "a2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMg" + + "U2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0t" + + "Y2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFu" + + "ZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVD" + + "YCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1" + + "cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVh" + + "dGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBg" + + "SGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9y" + + "IGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFz" + + "IGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJ" + + "VFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1" + + "ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9y" + + "aXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVw" + + "ZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVx" + + "dWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNz" + + "LCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRp" + + "bmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2Ag" + + "ZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkg" + + "dGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRp" + + "b25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5y" + + "b3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3Jv" + + "cV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJh" + + "dGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50" + + "ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1" + + "bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAo" + + "ZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5n" + + "IGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAw" + + "MDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRl" + + "bnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlv" + + "biwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2" + + "aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVx" + + "dWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0" + + "IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVl" + + "c3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rp" + + "b24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZv" + + "cndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1" + + "ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tp" + + "bmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1z" + + "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + + "dGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1v" + + "ZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + + "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + + "bGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFt" + + "cGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4g" + + "fCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBm" + + "dW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFu" + + "ZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXIt" + + "YWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkg" + + "b3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBv" + + "dmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBm" + + "dW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1v" + + "ZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcu" + + "dG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFu" + + "ZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3Jl" + + "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBK" + + "U09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + + "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElE" + + "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwK" + + "fCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAt" + + "LW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5j" + + "ZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5" + + "IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8" + + "CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1" + + "c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoK" + + "YC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRl" + + "ZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEy" + + "OCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8" + + "IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBI" + + "MTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVk" + + "IHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8" + + "IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3" + + "aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQg" + + "VVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAg" + + "fAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdz" + + "IG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJB" + + "Q0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8" + + "IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQg" + + "fAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcg" + + "dGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNo" + + "LXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBl" + + "bnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12" + + "YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRl" + + "ZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xv" + + "Y2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZv" + + "ciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGlu" + + "IHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQ" + + "VDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBh" + + "ZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBg" + + "LS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRw" + + "dXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1" + + "bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1l" + + "YDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1v" + + "ZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8" + + "CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJl" + + "cGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1z" + + "ZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0g" + + "fAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQg" + + "SUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1l" + + "dHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRy" + + "YWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCFJbjWVuVgAAblYAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + + "ZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJy" + + "b3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGlu" + + "IHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTog" + + "b3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBo" + + "YXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMg" + + "UHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21w" + + "bGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBl" + + "dmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRh" + + "dG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBm" + + "dWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + + "LS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRI" + + "YCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBz" + + "Y29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxs" + + "IGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2lu" + + "c3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwg" + + "aHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhl" + + "bG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJv" + + "L2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0" + + "b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBp" + + "cyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1" + + "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9D" + + "TFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwK" + + "fCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2Fz" + + "IG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVu" + + "IG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + + "bHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywg" + + "b3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRv" + + "ciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAs" + + "IHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUg" + + "cmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBk" + + "ZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUg" + + "Y2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4g" + + "aW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFu" + + "ZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBg" + + "ZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2Ag" + + "Y29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVy" + + "ZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVy" + + "ZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkv" + + "Z2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5h" + + "bWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVs" + + "dCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBh" + + "bmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBw" + + "YXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNs" + + "YXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBg" + + "Z2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3Ig" + + "YE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNs" + + "dXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZh" + + "aWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFi" + + "bGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Np" + + "bmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9k" + + "YXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9w" + + "ZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3Bl" + + "cmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVz" + + "cGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAg" + + "fCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3Ig" + + "aXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmpl" + + "Y3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBp" + + "biB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRo" + + "PSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBp" + + "LXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xl" + + "YXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0" + + "YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilg" + + "LCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBh" + + "bmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRo" + + "aXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwK" + + "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjog" + + "PHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1" + + "cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpg" + + "IG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5z" + + "dGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+" + + "IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1" + + "bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2Up" + + "YCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhl" + + "bG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2Jq" + + "ZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBv" + + "bGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJz" + + "PWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxu" + + "cz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVh" + + "bSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8" + + "CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFs" + + "dGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxg" + + "LCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVu" + + "dCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1f" + + "RFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQs" + + "IG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVz" + + "cGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNw" + + "YWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhh" + + "dCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQs" + + "IGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1k" + + "I3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlh" + + "bWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9u" + + "bWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lk" + + "ZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1z" + + "eXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1" + + "c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1" + + "dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFk" + + "bWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0" + + "ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2" + + "ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBK" + + "V1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBr" + + "ZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJv" + + "bCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdh" + + "aW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZv" + + "a2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwg" + + "YG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVu" + + "IGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlh" + + "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2Fu" + + "ZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmly" + + "bSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNz" + + "YW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAg" + + "KGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwg" + + "bm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1Au" + + "R1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdp" + + "c3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xV" + + "U1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFu" + + "eSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAg" + + "KGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2Yt" + + "Y2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNB" + + "X0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8" + + "IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNh" + + "dGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBp" + + "cyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNh" + + "dCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwg" + + "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9v" + + "cEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0" + + "ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJp" + + "b3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBz" + + "dGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCBy" + + "ZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2" + + "YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01T" + + "IGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmlu" + + "ZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0" + + "aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVk" + + "ZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJl" + + "IHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmln" + + "IHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMg" + + "c3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1" + + "dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5r" + + "dWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MK" + + "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sg" + + "Y3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBo" + + "b3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hv" + + "cnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUg" + + "YHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFs" + + "dWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQn" + + "cyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVs" + + "dCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBj" + + "YWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwg" + + "b3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAg" + + "dG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIx1So7GAhAABgIQAAUEsDBBQACAAAAAAAIQAAAAAA" + + "AAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRV" + + "VAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0" + + "aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBs" + + "YW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUg" + + "dmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZh" + + "bHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZv" + + "cgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNw" + + "bGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0" + + "aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNl" + + "bGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAg" + + "bG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29y" + + "a2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJl" + + "cyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVn" + + "aW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1l" + + "bmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIK" + + "dGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9s" + + "LXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3lt" + + "ZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2Jd" + + "Cm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52" + + "Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdz" + + "OiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxh" + + "bmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQs" + + "IHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFto" + + "ZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0t" + + "LQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlk" + + "ZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1m" + + "aWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxs" + + "LCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVs" + + "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5j" + + "dGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5j" + + "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFBy" + + "ZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hp" + + "bmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoK" + + "CmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBs" + + "YW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8" + + "Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5l" + + "LXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRp" + + "cmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJv" + + "bSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxv" + + "cmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3Vy" + + "Y2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNp" + + "b24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wt" + + "cGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0" + + "aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVy" + + "aWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhl" + + "bG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50" + + "aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1" + + "Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVy" + + "c2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVz" + + "dGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBn" + + "bG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52" + + "aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7" + + "IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + + "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + + "KS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHBy" + + "ZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dApl" + + "bnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3" + + "aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAg" + + "LT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxh" + + "dGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3Jl" + + "dHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVy" + + "cmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2Vk" + + "ZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhy" + + "b3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUg" + + "c2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5" + + "IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdu" + + "b3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBv" + + "dmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2" + + "YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJp" + + "ZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBD" + + "cmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZh" + + "dGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + + "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZh" + + "dGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + + "LWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9" + + "bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9j" + + "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAg" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoK" + + "SWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1m" + + "aWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgj" + + "aW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNo" + + "YXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dp" + + "bmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikg" + + "dG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUg" + + "YXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRz" + + "IGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIk" + + "TkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + + "IC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJl" + + "Z2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0t" + + "cGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpg" + + "YGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9n" + + "aW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hl" + + "cyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhl" + + "eSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxt" + + "IHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlm" + + "ZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRo" + + "ZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVu" + + "aWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3Jn" + + "IGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywK" + + "PiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVs" + + "eSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAt" + + "LXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJl" + + "bHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBz" + + "aW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAo" + + "UmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0" + + "ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBh" + + "IHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxp" + + "Y2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUg" + + "bm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRp" + + "Y2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3Rl" + + "cHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAg" + + "ICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4" + + "YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06" + + "CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5" + + "b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3Vy" + + "LXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAK" + + "CiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3Rz" + + "LCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFp" + + "bmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMt" + + "aXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBo" + + "dHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlk" + + "aWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGds" + + "b2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9y" + + "ZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBo" + + "dHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAu" + + "dGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0" + + "cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5k" + + "ZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBh" + + "Ym92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBh" + + "dXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nl" + + "c3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5v" + + "dCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0" + + "aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xv" + + "YmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhl" + + "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVh" + + "bCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24g" + + "aW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkg" + + "Y3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2" + + "ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBp" + + "ZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0" + + "ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJv" + + "dXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdh" + + "dGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRl" + + "d2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRl" + + "d2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFk" + + "ZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBh" + + "ZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdh" + + "eSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRy" + + "ZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVy" + + "LgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2" + + "ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0" + + "byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3Ig" + + "cHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUg" + + "cmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5n" + + "ZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRo" + + "ZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFt" + + "cGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlm" + + "ZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95" + + "CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUu" + + "IFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JE" + + "YCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNh" + + "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNg" + + "LiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2Vy" + + "dmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2Vydmlj" + + "ZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0" + + "aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBz" + + "YW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95" + + "bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6" + + "Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0t" + + "LS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVw" + + "ZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwg" + + "YHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3Jw" + + "Yy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBv" + + "cHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGlu" + + "Y2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + + "c2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNl" + + "cnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8" + + "CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZh" + + "bml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZv" + + "ciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2Yg" + + "dGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxh" + + "YmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdh" + + "eQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4g" + + "YSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1" + + "ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhh" + + "dCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9u" + + "LCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAph" + + "ZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25m" + + "aWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBh" + + "bmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3lt" + + "ZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlH" + + "YXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGlu" + + "c3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJp" + + "ZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIERO" + + "UyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZh" + + "bml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQg" + + "cm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9" + + "PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5j" + + "CmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5k" + + "IGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAu" + + "a3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + + "QSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6" + + "Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0" + + "ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRp" + + "b24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFz" + + "ZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNG" + + "IFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlz" + + "IGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + + "IHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sg" + + "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlg" + + "CnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVs" + + "IGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1" + + "YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0" + + "IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9u" + + "XShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFy" + + "YXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90" + + "IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBj" + + "aG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVy" + + "IGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJv" + + "ZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1w" + + "bGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGlu" + + "c3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZl" + + "cmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ry" + + "b3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRo" + + "ZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0" + + "ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBj" + + "b250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRz" + + "YCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBp" + + "YCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5" + + "LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1p" + + "c3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBv" + + "bmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBu" + + "YW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZh" + + "dWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlv" + + "biBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFn" + + "ZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1m" + + "aWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90" + + "aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBj" + + "b250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4" + + "dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3Ig" + + "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBt" + + "ZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVz" + + "ZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRl" + + "ciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29u" + + "ZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoK" + + "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFt" + + "ZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVh" + + "bgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVs" + + "dHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBP" + + "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRl" + + "ZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdh" + + "dGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNz" + + "YCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQg" + + "dmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFu" + + "ZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRl" + + "LXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1m" + + "aWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44" + + "LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEt" + + "c3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5n" + + "b3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVf" + + "RU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoK" + + "ICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5" + + "OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAg" + + "ICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFz" + + "ZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVz" + + "OmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1" + + "ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmll" + + "dyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMg" + + "ICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUg" + + "ZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5k" + + "IHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNv" + + "cnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVs" + + "bCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2Ut" + + "UHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZD" + + "RiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBp" + + "bWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBz" + + "aWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBk" + + "b2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZh" + + "dGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZD" + + "Rl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxg" + + "IC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2Vj" + + "cmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZp" + + "Z2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2Vu" + + "OjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUg" + + "YWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+" + + "IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhv" + + "bGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVh" + + "ZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZh" + + "bHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBp" + + "IHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAg" + + "ZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3Qg" + + "YmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9r" + + "ZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2Vy" + + "Y29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5j" + + "dGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVz" + + "ZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkg" + + "d29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAg" + + "ICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20g" + + "bG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZp" + + "bmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0" + + "YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+" + + "ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2" + + "NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdl" + + "LXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3Mg" + + "aXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFn" + + "ZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95" + + "L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4g" + + "Tm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0" + + "aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4g" + + "bGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQK" + + "PiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5k" + + "IHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZl" + + "cmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRo" + + "ZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlz" + + "IHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChy" + + "ZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBh" + + "dXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBO" + + "VkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5v" + + "IHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVk" + + "LgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0" + + "cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5z" + + "dGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFj" + + "ZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19B" + + "UElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + + "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + + "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + + "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + + "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + + "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + + "IC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBw" + + "bHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5" + + "IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNl" + + "Y3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVj" + + "dGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMu" + + "aW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1d" + + "CmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBl" + + "ciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGlj" + + "eSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9w" + + "dWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2lu" + + "ZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1v" + + "IHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1" + + "YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJl" + + "Y2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNr" + + "T2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQg" + + "fCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8Cnwg" + + "YEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZv" + + "ciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8" + + "IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAt" + + "PiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4g" + + "c2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1" + + "YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1" + + "bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBD" + + "b21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5i" + + "YW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEg" + + "U3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVz" + + "b3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFs" + + "dWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRp" + + "YWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVG" + + "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRg" + + "IHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9s" + + "ZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRS" + + "QV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZp" + + "Y2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3Rv" + + "cmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3Rv" + + "cmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBm" + + "YWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3lu" + + "Y2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3Jl" + + "ZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + + "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxs" + + "cyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAg" + + "cG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZh" + + "aWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVh" + + "biByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZl" + + "cmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3Ry" + + "YXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBm" + + "YWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1" + + "bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxg" + + "OyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3" + + "b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBv" + + "ZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJg" + + "IGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsg" + + "cGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBk" + + "YzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Yt" + + "d2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3Bg" + + "IGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpU" + + "aGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sg" + + "b24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAg" + + "aW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZp" + + "cmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVk" + + "IGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xl" + + "YW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwg" + + "YW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlw" + + "dGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3Jvbmcg" + + "aW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + + "cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBg" + + "YAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0" + + "aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlv" + + "ciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5k" + + "IGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52" + + "Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBu" + + "dmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3Vu" + + "dCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlv" + + "bjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + + "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + + "ZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0" + + "cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRz" + + "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2Ug" + + "QVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "ZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9v" + + "bC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFn" + + "ZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdh" + + "cyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3Qg" + + "YmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+" + + "PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4g" + + "SXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdl" + + "cmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZl" + + "cnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVk" + + "IHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBh" + + "bmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBs" + + "dWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3Nl" + + "cnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJv" + + "Y2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1" + + "ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNr" + + "LCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1" + + "c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0" + + "ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxt" + + "ZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50" + + "IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBy" + + "YW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxh" + + "dGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJl" + + "dmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0" + + "ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAi" + + "TlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhl" + + "bSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVj" + + "ayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3Vz" + + "dG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVz" + + "b3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2Ut" + + "ZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdl" + + "ZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRv" + + "dWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJt" + + "ZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29t" + + "bWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2Vu" + + "ZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50" + + "IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJz" + + "IG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZD" + + "Ri1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRp" + + "ZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRp" + + "ZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCBy" + + "ZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxl" + + "LXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJv" + + "bCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZp" + + "bGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1s" + + "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVk" + + "IHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmls" + + "ZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVz" + + "cyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBh" + + "bmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQg" + + "cmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhl" + + "IGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBh" + + "Z2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGlu" + + "c3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + + "YmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2Vydmlj" + + "ZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFu" + + "ZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + + "J21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rl" + + "cicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBh" + + "bmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAn" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENM" + + "VVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFt" + + "bCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0t" + + "aWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVy" + + "ZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRp" + + "c2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJU" + + "aGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlz" + + "IGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24i" + + "OiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxt" + + "IHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + + "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + + "Q0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAi" + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNl" + - "LnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5s" + - "aW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + - "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBs" + - "aWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBi" + - "ZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0" + - "cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJx" + - "dWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBv" + - "biBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0" + - "IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/" + + "ICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2Vu" + + "IHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUg" + + "YW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhh" + + "dCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tl" + + "cikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUg" + + "b25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhl" + + "bG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0" + + "dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdv" + + "dG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0" + + "ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWlu" + + "c3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhw" + + "ZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3Jl" + + "dHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUg" + + "bm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxl" + + "IHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBv" + + "ciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBl" + + "cmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + + "IG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycu" + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdp" + - "dGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhl" + - "IExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0" + - "aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2Vy" + - "IGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJv" + - "dXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3Ig" + - "dGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFu" + - "YWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50" + - "aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2Fk" + - "LnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwg" + - "d2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9y" + - "IHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2Ft" + - "ZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBM" + - "TE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFu" + - "ZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0u" + - "ZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJv" + - "dXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIs" + - "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRz" + - "IHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIg" + - "bG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9u" + - "IGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJ" + - "Q0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2Fy" + - "bmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9u" + - "bWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQg" + - "aGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + - "bnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVl" + - "c3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIg" + - "aW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1O" + - "RUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2" + - "IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51" + - "bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhp" + - "cyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUg" + - "bnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFn" + - "ZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBn" + - "dWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRp" + - "ZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRl" + - "cGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3Bl" + - "Y2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJv" + - "cHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2Vk" + - "IG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENh" + - "c3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMg" + - "Y2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4K" + - "ClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0" + - "aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + - "LgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fz" + - "cy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1s" + - "IHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8w" + - "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + - "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + - "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + - "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + - "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + - "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + - "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + - "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + - "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + - "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZv" + - "cmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2Vk" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + - "bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90" + - "IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxp" + - "Y2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20g" + - "TkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBz" + - "dGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFk" + - "IG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBT" + - "dGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3Ry" + - "eTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVn" + - "aXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAg" + - "MjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJh" + - "c2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + - "IgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3Jl" + - "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + - "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRv" + - "IGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1m" + - "aWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + - "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + - "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + - "CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAg" + - "LSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJl" + - "bmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNl" + - "IGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1" + - "c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hh" + - "cnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykg" + - "Y29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBh" + - "dGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNz" + - "OyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9" + - "IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1w" + - "ICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUK" + - "ZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9k" + - "cyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVt" + - "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + - "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMj" + - "IEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVu" + - "dCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0" + - "cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5h" + - "bWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + - "bGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5h" + - "bGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5t" + - "ZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmlu" + - "YWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJl" + - "YWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJ" + - "Q01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRl" + - "bGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVl" + - "cz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0" + - "IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERl" + - "c3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2Vy" + - "YCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlm" + - "eSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3Rh" + - "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBh" + - "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVs" + - "ZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQpt" + - "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcg" + - "b3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVy" + - "IHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25m" + - "aXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklH" + - "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklM" + - "RT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZv" + - "cm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQg" + - "YGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZj" + - "YXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVs" + - "dHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBl" + - "bXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBb" + - "Q2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJl" + - "dHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMj" + - "IEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBz" + - "ZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJl" + - "Y3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcg" + - "ZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1n" + - "YXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRl" + - "c3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGly" + - "ZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVz" + - "LCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZv" + - "ciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAq" + - "Lmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5" + - "IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXgg" + - "YW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhl" + - "YWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRl" + - "d2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBj" + - "b250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJl" + - "VmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWlu" + - "IGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBp" + - "bnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2Vl" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRz" + - "LgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAi" + - "YXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVX" + - "QVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1B" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMg" + - "LUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0" + - "dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91" + - "dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAg" + - "bnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9y" + - "IFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGlt" + - "ZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVz" + - "CgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1" + - "cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lz" + - "dGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2Rz" + - "IC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBg" + - "YAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywg" + - "Y2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwg" + - "YXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1h" + - "cGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFu" + - "ZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0" + - "eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBh" + - "bmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZj" + - "Zi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhh" + - "dmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91" + - "dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJs" + - "ZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExN" + - "IEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0" + - "ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5h" + - "YmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4g" + - "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZV" + - "aS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdh" + - "dGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVh" + - "c2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEg" + - "cmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1p" + - "bi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + - "AABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBh" + - "cmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0" + - "ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpi" + - "ZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEg" + - "Q0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMg" + - "Q2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9p" + - "bnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1" + - "ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50" + - "IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + - "Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5l" + - "cmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUg" + - "aXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9y" + - "ZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHBy" + - "b2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3Np" + - "dG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hp" + - "bmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBs" + - "YW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVu" + - "dCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnks" + - "IGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBj" + - "b21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hh" + - "YmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9u" + - "aWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + - "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVu" + - "dmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdh" + - "dGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAg" + - "aW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBz" + - "ZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBO" + - "TEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBz" + - "ZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9t" + - "YWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2Vydmlj" + - "ZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVS" + - "TDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZp" + - "Y2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJM" + - "OiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6" + - "ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2Vy" + - "dmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6" + - "CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2Fs" + - "OjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBl" + - "bnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52" + - "Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTog" + - "bnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAg" + - "ICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAg" + - "ICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAg" + - "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + - "b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6" + - "CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRh" + - "c2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUK" + - "Cm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxl" + - "ZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1h" + - "bmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igog" + - "ICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+" + - "IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAg" + - "IHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0" + - "c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBp" + - "bnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+Cgpt" + - "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3Jl" + - "YXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6" + - "CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9r" + - "ZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdh" + - "eS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDog" + - "ImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXkt" + - "ZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNf" + - "aG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9z" + - "dG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0" + - "byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGlu" + - "IHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5v" + - "IGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1" + - "dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAog" + - "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVT" + - "VEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0Zf" + - "Q0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2Yt" + - "Y2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJl" + - "Z2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNv" + - "bXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVD" + - "T05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJ" + - "biBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0" + - "aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJ" + - "IFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJ" + - "dCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0" + - "aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + - "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFt" + - "ZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAg" + - "LS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + - "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQg" + - "cHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xp" + - "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + - "XAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJl" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwK" + - "ICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUt" + - "cGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25m" + - "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29t" + - "cHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + - "eWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24g" + - "c2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5k" + - "cG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBu" + - "b3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUg" + - "ZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxh" + - "bmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4" + - "dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRl" + - "eHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVu" + - "Y2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBs" + - "YW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1v" + - "cGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhl" + - "ciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBw" + - "b2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + - "IyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNw" + - "YWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52" + - "b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + - "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + - "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + - "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + - "aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93" + - "bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + - "Y29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + - "ZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRo" + - "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + - "dGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVy" + - "IGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + - "cmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQg" + - "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + - "IGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBz" + - "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWlu" + - "ZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247" + - "IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMg" + - "dmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoK" + - "PG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVy" + - "LWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxu" + - "Y2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5j" + - "YUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + - "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVz" + - "dGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBl" + - "YXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBj" + - "bHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05G" + - "SUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5k" + - "IGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0" + - "cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAu" + - "CgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwg" + - "dGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBG" + - "aXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxl" + - "dGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + - "aGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVn" + - "aXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9u" + - "bHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRl" + - "IHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + - "dmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBg" + - "ZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3" + - "IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + - "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwg" + - "PGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1j" + - "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBs" + + "YW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0" + + "dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5h" + + "Z2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBh" + + "bmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVj" + + "dGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0" + + "aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2Zp" + + "bGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRh" + + "dGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAog" + + "ICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5k" + + "cmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1z" + + "eXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFj" + + "ZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUg" + + "dGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAg" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5k" + + "ZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRl" + + "IHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHks" + + "IHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + + "cGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAg" + + "IlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9m" + + "aWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1j" + + "bGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0" + + "YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2Jh" + + "bCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJ" + + "IGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9s" + + "LXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5k" + + "IGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9y" + + "ZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhl" + + "IHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxs" + + "LiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJv" + + "bC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + + "b2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFu" + + "ZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFu" + + "ZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3Vi" + + "ZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNv" + + "bW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29t" + + "bWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFt" + + "ZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVu" + + "ZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJh" + + "dGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVz" + + "b3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09N" + + "S2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxh" + + "dGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVl" + + "cyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1" + + "ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZp" + + "ZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1" + + "cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + + "cGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxv" + + "Y2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAi" + + "VGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxl" + + "IGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5" + + "aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHki" + + "LAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVt" + + "cGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9u" + + "IjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEs" + + "IGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVu" + + "Y2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kg" + + "bmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRl" + + "bmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1l" + + "c3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0" + + "aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRl" + + "YnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFy" + + "ZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBk" + + "aWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQg" + + "dGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3Jl" + + "dHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhl" + + "IGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1h" + + "Z2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1h" + + "Z2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwg" + + "c2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFn" + + "ZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZp" + + "Y2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBh" + + "bmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzkt" + + "cmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1" + + "cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wg" + + "cGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZh" + + "dGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNv" + + "bnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5" + + "IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFu" + + "ZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdS" + + "UEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5" + + "LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMg" + + "aW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwg" + + "YW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhl" + + "IHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNl" + + "cnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVz" + + "dGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNw" + + "YWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVk" + + "LCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkg" + + "YW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFs" + + "LndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNm" + + "TmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBp" + + "bnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNm" + + "R3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2Vydmlj" + + "ZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0" + + "ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3Jr" + + "ZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdy" + + "ZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBh" + + "Z2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRy" + + "dWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJM" + + "IGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21z" + + "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VI" + + "b3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAg" + + "IlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNl" + + "cnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQg" + + "b25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJh" + + "dG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10" + + "ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxh" + + "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0" + + "aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJv" + + "bCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBC" + + "ZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90" + + "aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMg" + + "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9y" + + "dGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3Ig" + + "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9y" + + "IG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVm" + + "YXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + + "bmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVy" + + "YXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29t" + + "bWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1" + + "c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29u" + + "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQg" + + "dGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVm" + + "aXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0" + + "cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRo" + + "ZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRh" + + "cmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0" + + "aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQg" + + "YW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9y" + + "ZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRl" + + "YXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQg" + + "aWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJs" + + "ZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJC" + + "b3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBi" + + "eSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5h" + + "bmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cg" + + "cmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBh" + + "bmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNs" + + "dXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVk" + + "IiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXBy" + + "ZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVk" + + "IHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fu" + + "bm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hl" + + "biB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhw" + + "bGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBi" + + "b3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNt" + + "cy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdl" + + "bnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQg" + + "cmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVt" + + "YWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAg" + + "ICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0" + + "IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3Jr" + + "IGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2" + + "YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwu" + + "Z290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55" + + "YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWlu" + + "ZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZh" + + "bHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHBy" + + "ZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3Rt" + + "cGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlm" + + "aWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + + "a2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFs" + + "LmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5" + + "IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9j" + + "a3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUg" + + "cHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxl" + + "YXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxs" + + "bS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25U" + + "eXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRl" + + "ZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0" + + "aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFi" + + "bGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2lu" + + "Z2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwg" + + "YW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3" + + "aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUg" + + "Y2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBy" + + "b3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJl" + + "bGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdh" + + "dGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcu" + + "bWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0" + + "ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIg" + + "dHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRl" + + "IHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCBy" + + "ZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRl" + + "cGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBu" + + "b3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBn" + + "YXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xl" + + "LW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVx" + + "dWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9u" + + "aWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9k" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10" + + "by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQg" + + "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtl" + + "ciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9y" + + "dCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBs" + + "YW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0" + + "aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQg" + + "ZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFw" + + "aS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhl" + + "IGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0" + + "IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3Qg" + + "dGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBv" + + "ciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJv" + + "dmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + + "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxl" + + "LWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFn" + + "ZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBk" + + "ZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQ" + + "SwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpX" + + "b3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4" + + "YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2Fu" + + "ZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUu" + + "Zy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRo" + + "IGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUg" + + "cmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAv" + + "dG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVy" + + "cmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4" + + "YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9g" + + "IGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBj" + + "YXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQK" + + "ICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + + "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + + "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5k" + + "cmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6" + + "ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAg" + + "ICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAg" + + "MzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1s" + + "CmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZp" + + "cm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0" + + "bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFw" + + "cGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhh" + + "bXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0" + + "cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdD" + + "IChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2Ug" + + "cHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MK" + + "CmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNv" + + "dXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9u" + + "dmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlh" + + "L252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxl" + + "IGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9r" + + "ZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9h" + + "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVz" + + "cGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + + "LW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + + "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRk" + + "IGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3Bl" + + "Y2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9y" + + "IGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoK" + + "YGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBj" + + "YXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVw" + + "ZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxw" + + "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + + "YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxT" + + "ZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9y" + + "IGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEg" + + "c2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNh" + + "LW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lz" + + "dGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTog" + + "RGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2Vy" + + "dmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhh" + + "c2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJ" + + "bWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2" + + "YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVy" + + "cyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIk" + + "bnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZj" + + "ci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2" + + "ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3Jl" + + "cCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20g" + + "bnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3Rh" + + "bGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0" + + "ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVT" + + "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVh" + + "bnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2Nl" + + "ZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52" + + "Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhl" + + "IGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBi" + + "ZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmln" + + "IDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJv" + + "bS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3Jl" + + "LW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVz" + + "dGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2Vy" + + "dmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJl" + + "c2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5u" + + "aW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBG" + + "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFn" + + "ZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5k" + + "ZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBh" + + "bmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFt" + + "ZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApn" + + "ZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQu" + + "CgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1D" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFz" + + "cyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBj" + + "bGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4K" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5z" + + "IHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAn" + + "KGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21t" + + "YW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBz" + + "cGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWlu" + + "c3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVu" + + "ZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMg" + + "bG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMg" + + "U3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZj" + + "Zi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + + "ZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAy" + + "OiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21h" + + "aW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2lu" + + "dCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBg" + + "YXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FE" + + "RFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJl" + + "c2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRo" + + "ZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1" + + "cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJl" + + "c3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNv" + + "bXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxk" + + "cy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVz" + + "aCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYg" + + "dXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + + "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBh" + + "bmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoK" + + "YGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9t" + + "YWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZv" + + "eS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52" + + "Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + + "bWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0" + + "YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBs" + + "b3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGlu" + + "ZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywg" + + "Q2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lz" + + "dGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBz" + + "cGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9y" + + "IHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRl" + + "cGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFz" + + "ZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2Vydmlj" + + "ZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBs" + + "bG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10" + + "cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0" + + "IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVk" + + "PXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + + "dWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBg" + + "bmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJv" + + "dXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8" + + "IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAg" + + "fAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9u" + + "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + + "bnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxv" + + "eSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVh" + + "c2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWlu" + + "Z3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwg" + + "QW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJv" + + "eHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBg" + + "LS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNv" + + "bXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFu" + + "ZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4g" + + "Q2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNs" + + "ZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2Yg" + + "Y29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0t" + + "fC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENM" + + "SSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + + "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "IHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVz" + + "dCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3Vt" + + "ZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBw" + + "YXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQg" + + "cGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2Ag" + + "YW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2Ug" + + "YnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNy" + + "ZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRy" + + "b2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNl" + + "IHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRz" + + "LCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZv" + + "ciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczov" + + "L2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4K" + + "VGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29u" + + "dHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdh" + + "dGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBO" + + "QVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5h" + + "bCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdh" + + "eS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMg" + + "dGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxC" + + "OgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52" + + "Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBv" + + "aW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+Igog" + + "ICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWlu" + + "PiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIy" + + "IgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAg" + + "IG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWlu" + + "PiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXkt" + + "ZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52" + + "Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNv" + + "bnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAg" + + "ICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9" + + "CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + + "eX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3Bh" + + "Y2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoK" + + "ICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAg" + + "ICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52" + + "Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhv" + + "c3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAg" + + "ICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlz" + + "Y292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNh" + + "T3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8v" + + "PGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAi" + + "c2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2" + + "YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRy" + + "ZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+" + + "IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMg" + + "Y29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1w" + + "bGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5z" + + "dGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + + "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUg" + + "R2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBh" + + "cyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFz" + + "ZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3Vy" + + "bDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6" + + "ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdh" + + "dGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9z" + + "dCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJ" + + "Q01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMt" + + "dXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0" + + "IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVn" + + "aXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUg" + + "cGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "cmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0Ff" + + "SUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1r" + + "dWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9D" + + "T05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4g" + + "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5l" + + "LWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIg" + + "YW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3Rl" + + "ciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1" + + "dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJl" + + "IG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFy" + + "Z2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBs" + + "YW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29t" + + "cHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + + "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + + "bmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0t" + + "cmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2Ug" + + "dGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5k" + + "czoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + + "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + + "dGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + + "YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + + "IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + + "bWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + + "PgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBj" + + "b21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBw" + + "cm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFu" + + "ZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNy" + + "ZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUg" + + "Y29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + + "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoK" + + "T24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1v" + + "cGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0" + + "c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0" + + "b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3Rl" + + "bWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0" + + "LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRd" + + "KHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0" + + "ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3kt" + + "Z2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0" + + "b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVz" + + "LmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5" + + "c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1" + + "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0" + + "cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0" + + "aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0" + + "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + + "c2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0" + + "ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxl" + + "ZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2st" + + "bWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVl" + + "YCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQg" + + "b24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJl" + + "bW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4" + + "cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZp" + + "bGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXIt" + + "bmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + + "LXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIg" + + "ZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFs" + + "dWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFk" + + "IGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAu" + + "ClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBj" + + "bHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9u" + + "IGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFu" + + "ZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxl" + + "bnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpC" + + "b3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRo" + + "ZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNl" + + "cyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVh" + + "ZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQg" + + "d2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1j" + + "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + + "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + + "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVz" + + "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1p" + + "ZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1" + + "c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmll" + + "d3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25h" + + "bCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0" + + "ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5l" + + "LiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250" + + "aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6Cgpg" + + "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3du" + - "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + - "YS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVy" + - "LiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0" + - "cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNs" + - "dXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAh" + - "AAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBl" + - "cyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2Rz" + - "IGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9k" + - "cyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+" + - "CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0" + - "IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxu" + - "YW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lm" + - "aWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3Jp" + - "YmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1" + - "bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBT" + - "VEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJ" + - "bWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4" + - "dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0" + - "aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlz" + - "IGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8" + - "IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhl" + - "IG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoK" + - "IyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + - "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1" + - "bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxT" + - "ZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0" + - "aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3Np" + - "bmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZl" + - "cj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAt" + - "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVz" + - "cGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + - "LQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0" + - "Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVs" + - "bWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMu" + - "ICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52" + - "b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VB" + - "Y2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNy" + - "ZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQg" + - "cmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMg" + - "LW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAg" + - "YGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRv" + - "bXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFz" + - "aApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRT" + - "ICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAg" + - "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUg" + - "dmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAoj" + - "IENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + - "aGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1" + - "bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0" + - "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWlu" + - "ZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBw" + - "b2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1" + - "ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlk" + - "bid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVw" + - "dGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJv" + - "eQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYg" + - "bmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + - "bmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5v" + - "dCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBi" + - "YW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3Qv" + - "bG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRo" + - "ZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3Rl" + - "ciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6" + - "CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBz" + - "aW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1Ymtl" + - "eXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxp" + - "ZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVs" + - "dC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0" + - "aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFg" + - "LiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlv" + - "biBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2Vy" + - "dmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBF" + - "bmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldL" + - "UywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVz" + - "IChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAg" + - "IyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAg" + - "ICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3Bl" + - "bmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9u" + - "IGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQog" + - "ICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJh" + - "byBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNl" + - "cnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAg" + - "IEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBg" + - "YWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3Rh" + - "dGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNp" + - "Z25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1w" + - "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAg" + - "QUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgoj" + - "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1z" + - "eXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpP" + - "dmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFt" + - "cGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2Fu" + - "ZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAg" + - "ICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAg" + - "IG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxh" + - "YmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJl" + - "c291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9t" + - "cwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdF" + - "CmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVz" + - "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9u" + - "IGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0" + - "IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxl" + - "OiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3Qg" + - "Zm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hl" + - "Y2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3Vi" + - "ZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3Rv" + - "cmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBg" + - "YGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2ll" + - "bnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0" + - "bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJj" + - "ZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMj" + - "IFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFU" + - "VVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3Vj" + - "Y2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3Bh" + - "Y2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUt" + - "c3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRz" + - "IGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVl" + - "ZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+" + - "IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMg" + - "U3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQu" + - "IEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YK" + - "CiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBs" + - "b2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBs" + - "b2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1h" + - "cGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBj" + - "cmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxg" + - "IG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0" + - "aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlh" + - "bAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91" + - "dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVh" + - "Y2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2Nv" + - "dW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlh" + - "bHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95" + - "aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5h" + - "bWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5" + - "cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBu" + - "YW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + - "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5" + - "bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4g" + - "YFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAg" + - "IFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpg" + - "YGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBh" + - "ZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3Zl" + - "IGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1k" + - "ZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + - "ZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52" + - "Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1l" + - "c3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAn" + - "Y29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1j" + - "b250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5" + - "cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09N" + - "UFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVh" + - "cmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2Vu" + - "ZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFj" + - "ZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMg" + - "PSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFj" + - "ZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+" + - "L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3Ig" + - "Tm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21w" + - "bGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3Rz" + - "IGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52" + - "Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + - "IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJz" + - "dCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFs" + - "dWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydz" + - "IHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5v" + - "dApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24g" + - "c3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNj" + - "cmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVy" + - "YXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBg" + - "YAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNl" + - "Y3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + - "cnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFt" + - "ZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0" + - "ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgoj" + - "IyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWlu" + - "IGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQu" + - "IFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + - "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + - "WV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9t" + - "YWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJl" + - "c3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNl" + - "VVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdy" + - "ZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpL" + - "ZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMg" + - "dW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBG" + - "b3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3Mg" + - "ZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2gg" + - "dGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1k" + - "I2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBV" + - "c2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3" + - "aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2" + - "aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8Cnwg" + - "Y2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1z" + - "ZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90" + - "YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8" + - "CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3Mt" + - "YXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdh" + - "eSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3Vy" + - "Y2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABE" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmls" + - "ZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMj" + - "IERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBo" + - "ZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBD" + - "YXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMg" + - "TlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290" + - "bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwg" + - "ICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwg" + - "ZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXIt" + - "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2Vj" + - "cmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dv" + - "cmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0" + - "aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + - "Lwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMg" + - "Q29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwu" + - "Z290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0" + - "aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAg" + - "ICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4u" + - "eWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwu" + - "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBw" + - "ZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1l" + - "bnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9y" + - "cyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVz" + - "ZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2lu" + - "dCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3Rt" + - "cGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + - "bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwt" + - "LS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0" + - "cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5i" + - "YW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9u" + - "IG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lz" + - "dGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0" + - "YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNv" + - "cmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8" + - "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0t" + - "bnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1z" + - "aXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2Vydmlj" + - "ZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3Mg" + - "fCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2Ug" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNl" + - "cyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91" + - "dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZj" + - "Zi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94" + - "eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFz" + - "ZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3kt" + - "Z2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBb" + - "e3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0" + - "aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJs" + - "ZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBg" + - "dmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVs" + - "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + - "LS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykg" + - "fCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5" + - "LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2Fi" + - "bGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFN" + - "TCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0" + - "aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZ" + - "QU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0" + - "aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0" + - "IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0" + - "aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNy" + - "ZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRl" + - "bXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAg" + - "Y2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAg" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + - "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJy" + - "aWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVw" + - "ZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3Zl" + - "cnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1l" + - "bW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBp" + - "biBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1l" + - "Y2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFj" + - "ZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRp" + - "bmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJl" + - "LWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEg" + - "bGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dl" + - "c3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBk" + - "ZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5n" + - "b3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lm" + - "aWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0t" + - "IHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMg" + - "LS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMg" + - "VGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBt" + - "ZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hh" + - "cnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGlj" + - "aXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + - "dGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2Fu" + - "ZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0g" + - "YGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxl" + - "ZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgot" + - "IGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5h" + - "dHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZp" + - "bGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5z" + - "cGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5t" + - "aWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJh" + - "by5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFv" + - "LnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMj" + - "IFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0" + - "cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQot" + - "IGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5j" + - "dGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3Ig" + - "aW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24g" + - "ZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMg" + - "dGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdy" + - "ZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lk" + - "ZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8g" + - "bm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5v" + - "ZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwK" + - "YWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxp" + - "Y2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAg" + - "ICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDog" + - "MQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxl" + - "ZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAg" + - "ICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xv" + - "YWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291" + - "bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBi" + - "dW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5" + - "MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3" + - "YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3" + - "YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNG" + - "IEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVk" + - "IG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBh" + - "bmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVR" + - "VUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBh" + - "bmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVz" + - "ZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMK" + - "c2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVz" + - "dCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9i" + - "bG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5j" + - "aW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUg" + - "dGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRo" + - "ZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBp" + - "OgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lk" + - "ZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVw" + - "b3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVD" + - "QVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFj" + - "ayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29u" + - "ZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3Rpbmcg" + - "dmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250" + - "cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21w" + - "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlv" + - "biBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNv" + - "bW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1h" + - "aW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZh" + - "bHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3" + - "b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlz" + - "IGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24g" + - "ZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5l" + - "IHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5" + - "IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3Rh" + - "dGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBu" + - "dmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0" + - "bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0" + - "IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWlu" + - "ZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBg" + - "CgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVz" + - "dCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFu" + - "ZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3Vp" + - "ZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmll" + - "cy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMj" + - "IEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoK" + - "CmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGkt" + - "Z2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kg" + - "YSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFz" + - "IG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNz" + - "dWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1h" + - "ZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + - "Y3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRl" + - "ZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + - "aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5" + - "IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFj" + - "awpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29u" + - "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAg" + - "dGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMj" + - "IEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4u" + - "eWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + - "IyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFt" + - "ZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBw" + - "cml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11" + - "aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBp" + - "ZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhw" + - "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + - "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRv" + - "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + - "bnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMw" + - "MGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhl" + - "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBs" + - "eQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mg" + - "c3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9u" + - "IGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMg" + - "LW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3Vy" + - "bCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1" + - "cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBp" + - "bnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFu" + - "IGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBL" + - "Bwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbO" + - "EiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGlu" + - "ZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpg" + - "bnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBw" + - "b2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZp" + - "Z3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVk" + - "IG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2gg" + - "dXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2Rz" + - "IGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + - "dXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Et" + - "c3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3Rh" + - "bGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + - "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + - "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJl" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRy" + - "b2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + - "bmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + - "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEt" + - "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + - "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + - "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + - "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdp" + - "c3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBh" + - "bmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xp" + - "Y3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5" + - "Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNr" + - "Z3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRv" + - "LW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6" + - "CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3Bh" + - "Y2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAg" + - "ICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lz" + - "dGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVs" + - "dC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAg" + - "ICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAg" + - "YW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3Jl" + - "dC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQ" + - "dWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaApr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2" + - "ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUg" + - "Y29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZp" + - "Y2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8g" + - "bmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUg" + - "dGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + - "dGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBc" + - "CiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1" + - "bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5l" + - "IGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgog" + - "ICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhh" + - "dCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBg" + - "bnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1l" + - "c3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93" + - "LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUg" + - "cG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNv" + - "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52" + - "Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRp" + - "YVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8K" + - "CiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVz" + - "dGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIg" + - "bm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9y" + - "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + - "IFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBu" + - "b2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0" + - "cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRo" + - "b3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNl" + - "Y3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0Ug" + - "QXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBz" + - "aW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJ" + - "bWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5" + - "IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGll" + - "ZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+" + - "IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcK" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + - "ZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGlj" + - "eSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNo" + - "b3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9s" + - "aWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0" + - "aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29u" + - "dGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAW" + - "AAAAFgAAUEsBAhQAFAAIAAAAAAAhANu/XFxKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEv" + - "bWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAA" + - "AAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAHjsPruYQAADmEAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDs" + - "N4BfhBIAAIQSAAA3AAkAAAAAAAAAAAAAAKqYAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSf" + - "GQAAnxkAADkACQAAAAAAAAAAAAAAnKsAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUA" + - "ABglAAA3AAkAAAAAAAAAAAAAAKvFAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + - "L2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4A" + - "AD0ACQAAAAAAAAAAAAAAMesAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlh" + - "Z25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABW" + - "KQAAOgAJAAAAAAAAAAAAAABj+gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9p" + - "bnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDggjxVIggAACII" + - "AAA5AAkAAAAAAAAAAAAAACokAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3Jv" + - "dGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAA" + - "LgAJAAAAAAAAAAAAAAC8LAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFy" + - "ZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM0yUAANMlAAAwAAkAAAAAAAAAAAAA" + - "AAVPAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAAA/dQEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAyo0GKFRWAABUVgAALQAJAAAAAAAAAAAAAACihQEAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALUF" + - "84L0IAAA9CAAADcACQAAAAAAAAAAAAAAWtwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0li" + - "AABJYgAALAAJAAAAAAAAAAAAAAC8/QEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAA" + - "AAAAAABoYAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + - "anNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAB23" + - "AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAALgAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAA" + - "AAAAlxADAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAA" + - "AAAAvkEDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + - "bWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8A" + - "CQAAAAAAAAAAAAAAQ2wDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAW" + - "AAA+AAkAAAAAAAAAAAAAAHJ0AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADnigMAAAA=" + "IC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + + "bWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + + "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJs" + + "ZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3Ig" + + "ZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFu" + + "ZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBs" + + "YW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkS" + + "MAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dp" + + "bmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5W" + + "Q0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRz" + + "CgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgoj" + + "IFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJl" + + "Y3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcK" + + "CiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9s" + + "dW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAK" + + "CiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1F" + + "ICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNz" + + "YW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoK" + + "RXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9p" + + "bWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAoj" + + "IENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + + "ZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwg" + + "c2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNy" + + "ZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxs" + + "U2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29u" + + "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFj" + + "Y291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxu" + + "YW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhl" + + "cwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBi" + + "YXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + + "CiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + + "b2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + + "ICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2Qg" + + "ZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRz" + + "YCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2Vj" + + "cmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2" + + "aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1z" + + "ZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBz" + + "ZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0" + + "ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29y" + + "cmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVs" + + "dCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAg" + + "Zm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAg" + + "IFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8y" + + "ICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGlu" + + "aXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9y" + + "IE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMg" + + "LW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3Vi" + + "ZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwpr" + + "dWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoK" + + "IyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dz" + + "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBG" + + "aXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRz" + + "IGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5C" + + "YW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmls" + + "ZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAg" + + "IGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1v" + + "cGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1z" + + "eXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNy" + + "ZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFv" + + "IHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6" + + "CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2" + + "ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1p" + + "bml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nl" + + "c3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFL" + + "UywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0" + + "aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2Fz" + + "IGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChg" + + "and0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldL" + + "Uywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNj" + + "b3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAg" + + "YHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2" + + "ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNl" + + "IGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFs" + + "c2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlz" + + "IGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVi" + + "bGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRp" + + "b24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAg" + + "IyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6" + + "CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRp" + + "c2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9i" + + "IC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBg" + + "YGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2Nv" + + "dmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlv" + + "bmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQv" + + "djEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVh" + + "ZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBp" + + "c3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAg" + + "dGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUg" + + "aXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9u" + + "IENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBT" + + "VEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAg" + + "MyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0" + + "YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1m" + + "aWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1k" + + "KS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAg" + + "ICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAg" + + "ICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQ" + + "cmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hh" + + "cnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4g" + + "UGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFU" + + "VVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAg" + + "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9y" + + "IHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJs" + + "ZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEy" + + "IG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lz" + + "dGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxl" + + "Y3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmls" + + "ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBu" + + "dmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdl" + + "IGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAg" + + "YGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1B" + + "NSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2Ug" + + "aW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hv" + + "d3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUg" + + "c3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRp" + + "b25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVh" + + "c2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZh" + + "aWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kK" + + "IyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxu" + + "YW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0" + + "ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0" + + "cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlv" + + "bnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoK" + + "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVj" + + "dGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+" + + "NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1u" + + "IG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVy" + + "bmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMK" + + "CjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRz" + + "LzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0" + + "LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlv" + + "dXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNl" + + "NjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAK" + + "CjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3Ry" + + "eSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMj" + + "IyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2" + + "aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ry" + + "b3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9y" + + "ZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVh" + + "dGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNz" + + "ICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRz" + + "IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sg" + + "KEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4g" + + "TmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBu" + + "cwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAg" + + "IFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRo" + + "ZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93" + + "biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSBy" + + "ZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBv" + + "cnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5h" + + "bGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + + "UFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVt" + + "c1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwK" + + "ICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7" + + "MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAi" + + "JG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6" + + "ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVj" + + "ayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Et" + + "b3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9D" + + "T05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBq" + + "cSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + + "UFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8k" + + "bnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0Eg" + + "T3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0" + + "ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQg" + + "ZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZj" + + "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdu" + + "b3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1" + + "c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUt" + + "cnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMK" + + "ZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhl" + + "ci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0" + + "IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNh" + + "LW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3Mg" + + "ZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5k" + + "IC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVy" + + "aWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBj" + + "aGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2Ug" + + "YQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1" + + "bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5" + + "IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29u" + + "ZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBi" + + "YWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4K" + + "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBl" + + "bnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + + "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3Vy" + + "bCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoK" + + "IyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQK" + + "Z3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMn" + + "IFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4u" + + "eWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + + "IGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBj" + + "bGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGly" + + "ZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBp" + + "bnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1w" + + "bGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5k" + + "cG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpR" + + "dWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6" + + "Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0" + + "cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVs" + + "dC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2" + + "aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRl" + + "ciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXIt" + + "cHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRl" + + "d2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAI" + + "AAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3Ry" + + "dWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYt" + + "bWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFt" + + "bC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9i" + + "c2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkK" + + "fC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMg" + + "RGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1s" + + "ICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwg" + + "ICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJl" + + "Z2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAg" + + "ICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNm" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8" + + "ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0" + + "IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlh" + + "bWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMp" + + "CnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBv" + + "dmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxh" + + "dGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2" + + "ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmls" + + "ZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJv" + + "ZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHBy" + + "b2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNl" + + "ZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1k" + + "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwg" + + "Tm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwg" + + "aGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2" + + "ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1h" + + "bmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3Nh" + + "bmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVu" + + "Y3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2ll" + + "c2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBO" + + "YW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0t" + + "fAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8" + + "Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52" + + "Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52" + + "Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwg" + + "aGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxt" + + "LW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0t" + + "bnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJl" + + "dmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0t" + + "bnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0" + + "ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + + "CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBh" + + "cGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0" + + "ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2" + + "aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1" + + "c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUg" + + "YHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQg" + + "b24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVz" + + "c2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0" + + "eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + + "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJl" + + "bGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdh" + + "dGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZp" + + "bGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8" + + "PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVs" + + "ZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQg" + + "YSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBs" + + "YXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRl" + + "bXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5g" + + "IHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNr" + + "IHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVu" + + "Y3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFt" + + "ZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4u" + + "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + + "cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTog" + + "Y2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBN" + + "dXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + + "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBj" + + "YXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + + "bWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxt" + + "ZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBu" + + "YXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNp" + + "b246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNl" + + "cnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2Us" + + "IHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMg" + + "c2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQ" + + "cmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25t" + + "ZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50" + + "cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlk" + + "ZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29u" + + "c3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+Lzxl" + + "bnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpg" + + "IGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFs" + + "LnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBm" + + "cm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1M" + + "KSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRo" + + "cm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBj" + + "YXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCBy" + + "ZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEu" + + "cGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwu" + + "bm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFn" + + "ZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVs" + + "b2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRz" + + "LmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRz" + + "LnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBP" + + "cGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3Jh" + + "dGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVy" + + "LmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3Rv" + + "cnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZp" + + "Y2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxl" + + "Y3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0" + + "dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9u" + + "IGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBl" + + "OiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxt" + + "LWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3" + + "aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2Vy" + + "cyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRv" + + "bnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBh" + + "dGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNv" + + "bmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcg" + + "dGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAg" + + "Z2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vy" + + "dmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoK" + + "ICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0" + + "b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6" + + "IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5y" + + "ZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUK" + + "YGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUg" + + "dGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFp" + + "bnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVs" + + "dHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBT" + + "ZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0" + + "aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMg" + + "c2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1" + + "aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhl" + + "CmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4" + + "dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpU" + + "aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5j" + + "ZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMg" + + "d2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRo" + + "dWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVz" + + "dC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2Ug" + + "aXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFu" + + "ZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBs" + + "aWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAg" + + "ICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWlt" + + "YWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5" + + "IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMg" + + "ZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5" + + "IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZp" + + "ZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFw" + + "cGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBl" + + "dmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + + "IGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdl" + + "Q29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + + "bGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGlu" + + "c3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxs" + + "YXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2" + + "ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVk" + + "IHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lp" + + "bmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0" + + "ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5j" + + "dGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2Vy" + + "IHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0" + + "ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJl" + + "cXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3Rs" + + "IC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0n" + + "e3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19" + + "ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBg" + + "bGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9h" + + "ZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rhcmdh" + + "dGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + + "b2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNv" + + "bmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMg" + + "cmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1l" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + + "ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1" + + "bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "dGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRt" + + "aW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2Vs" + + "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNG" + + "IFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4g" + + "SXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + + "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUK" + + "CkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5k" + + "IHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUg" + + "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlg" + + "IHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhh" + + "dCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZp" + + "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAg" + + "IGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNl" + + "Y3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5" + + "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "YXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUu" + + "Zy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwg" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2Vy" + + "dmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9j" + + "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVm" + + "YXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMK" + + "YG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoK" + + "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVh" + + "c2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVt" + + "cGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52" + + "Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRl" + + "IG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3Vi" + + "ZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + + "IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0Yg" + + "VUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9z" + + "ZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVk" + + "IG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhl" + + "IGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + + "bC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBP" + + "dmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5" + + "IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVs" + + "bFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBj" + + "cmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4g" + + "RG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29u" + + "dHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50" + + "bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5l" + + "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21t" + + "ZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2" + + "ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUK" + + "aGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUt" + + "bmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAK" + + "CiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0" + + "IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + + "cmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + + "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + + "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpg" + + "YGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAt" + + "LWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5" + + "IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3Yx" + + "CmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxs" + + "c2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFk" + + "ZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToK" + + "ICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9k" + + "CiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAg" + + "IC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAg" + + "ICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0i" + + "CiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2Vy" + + "IgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1l" + + "dGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRp" + + "YS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVj" + + "OgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3It" + + "Y3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAK" + + "CiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxl" + + "Y3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1w" + + "bGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0" + + "aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1Q" + + "bGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9u" + + "IHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1v" + + "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQg" + + "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgog" + + "IGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQg" + + "YW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1p" + + "cnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVy" + + "IG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpz" + + "ZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0" + + "aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + + "cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4" + + "cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5v" + + "dGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5u" + + "b3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScK" + + "IyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAt" + + "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJT" + + "dWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBj" + + "aGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1u" + + "IG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0g" + + "KipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6" + + "b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNh" + + "biBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdp" + + "c3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVu" + + "dGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFu" + + "YWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcK" + + "CiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5" + + "CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiog" + + "dGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3Jl" + + "YXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRl" + + "IHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29u" + + "dHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1" + + "bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1p" + + "bWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcg" + + "c2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0" + + "aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAt" + + "LWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + + "cGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEA0AQe3koQAABKEAAAEgAJ" + + "AAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "AK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAAAAAA" + + "AAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAeOw+u5hAAAOYQAAA0AAkAAAAAAAAAAAAAAFmHAABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAOw3gF+EEgAAhBIAADcACQAAAAAAAAAAAAAAqpgAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAACcqwAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAq8UAAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAAAx6wAAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAGP6AABkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAOCCPFUiCAAAIggAADkACQAAAAAAAAAAAAAAKiQBAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAALwsAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABWlQIzT" + + "JQAA0yUAADAACQAAAAAAAAAAAAAABU8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "ZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkA" + + "AAAAAAAAAAAAAD91AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1j" + + "b2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBSW41lblYAAG5WAAAtAAkAAAAAAAAAAAAA" + + "AKKFAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAx1So7GAhAABgIQAANwAJAAAAAAAAAAAAAAB03AEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAEL+AQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBH" + + "VWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAO5gAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAA" + + "fygAAC8ACQAAAAAAAAAAAAAAo7cCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAA" + + "AAAAAAAAiOACAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpw" + + "O7UwAAC1MAAAOwAJAAAAAAAAAAAAAAAdEQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHs" + + "jQoqAAAKKgAARAAJAAAAAAAAAAAAAABEQgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAADJbAMAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAA+HQDAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsF" + + "BgAAAAAXABcArwkAAG2LAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index bf36bfac60..798f3e04a4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -1271,8 +1271,9 @@ func TestClusterValidatorCheck_PassNeedsTheRoleLineAndTheVerdict(t *testing.T) { // The validator exits non-zero when the cluster is Not-Ready, so a Job that // succeeded passes even when its transcript cannot be read. The row says the -// transcript was not read and how to read it, and is not transient: polling -// again would only start another validator Job that hits the same denial. +// transcript was not read, so the check set that ran is unconfirmed, and how +// to read it. It is not transient: polling again would only start another +// validator Job that hits the same denial. func TestClusterValidatorCheck_SucceededJobWithAnUnreadableTranscriptPasses(t *testing.T) { for name, logs := range map[string]string{ "nothing read": "", @@ -1286,6 +1287,7 @@ func TestClusterValidatorCheck_SucceededJobWithAnUnreadableTranscriptPasses(t *t assert.False(t, r.Transient, name) assert.Contains(t, r.Message, "cluster-validator Job succeeded; its transcript could not be read", name) assert.Contains(t, r.Message, `cannot get resource "pods/log"`, name) + assert.Contains(t, r.Message, "neither the checks it ran nor any warnings it reported are shown", name) assert.Contains(t, r.Message, "kubectl --context ctx-a logs -n default job/job-1", name) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 5225acb201..32101b70fc 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -865,12 +865,13 @@ func gradeValidatorTranscript(r *CheckResult, result ClusterValidatorResult, rol } // The validator exits non-zero when the cluster is Not-Ready, so a Job // that succeeded is its verdict even when the transcript cannot be read, - // say with pods/log denied. It passes; only its warnings are unseen. + // say with pods/log denied. It passes; its warnings, and the role line + // that shows which check set ran, are unseen. if result.LogsErr != nil && !strings.Contains(result.Logs, validatorVerdictReady) { r.Passed = true r.Severity = SeverityInfo r.Message = "cluster-validator Job succeeded; its transcript could not be read (" + result.LogsErr.Error() + - "), so any warnings it reported are not shown" + "), so neither the checks it ran nor any warnings it reported are shown" if hint := kubectlLogsHint(kubeContext, result.JobName); hint != "" { r.Message += "; read it with: " + hint } From e3fa4e79ae816a376e5668bd159eae52753e669d Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 01:54:38 +0530 Subject: [PATCH 102/127] docs(nvcf-cli): spell add-on with a hyphen in the troubleshooting table Signed-off-by: rohithb --- .../reference/troubleshooting.md | 2 +- .../agentskill/skilldata_generated.go | 3792 ++++++++--------- 2 files changed, 1897 insertions(+), 1897 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md index 25d6b0413c..44d6728064 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/troubleshooting.md @@ -25,7 +25,7 @@ transcript. | `stale-namespaces`: ` (Helm release mid-operation: )`, warning | An interrupted install, upgrade, rollback or teardown left the release `pending-*` or `uninstalling`. The next `up` fails on it | If no install or teardown is running, read `helm history -n `, then finish it with `helm rollback` or `helm uninstall` | | `stale-namespaces`: ` (no Helm release)`, warning | The namespace runs no workload and has no Helm release, but still holds volume claims or workload objects, as `down` leaves them. A reinstall reattaches the old volumes | Inspect only: `kubectl api-resources --verbs=list --namespaced -o name \| xargs -n1 kubectl get -n --show-kind --ignore-not-found`. An Argo CD or upstream install of a gated component also has no Helm release | | `stale-namespaces` reports `no Helm release` on a healthy install | Helm stores releases with `HELM_DRIVER=sql`, and `check` reads `HELM_DRIVER` from its own environment only, not from the helmfile environment | Export `HELM_DRIVER=sql` before `nvcf-cli self-hosted check`. With it, only Terminating namespaces are checked | -| `stale-namespaces` does not scan an addon or gated namespace | Namespaces behind a stack `condition:` are probed only when that gate is on. Gates come from the stack the install used, found as for the [settings read from the stack](flags.md#settings-read-from-the-stack): its `environments/base.yaml` and, when `--env` or `HELMFILE_ENV` names the environment or `--pre` checks the plane before its install, `environments/.yaml`. Otherwise the stack defaults decide, which leave `kai-scheduler`, `grove-system`, `dynamo-system` and `nvcf-ui` off | Pass the `--env` the install used, and the stack flag the install used, if any | +| `stale-namespaces` does not scan an add-on or gated namespace | Namespaces behind a stack `condition:` are probed only when that gate is on. Gates come from the stack the install used, found as for the [settings read from the stack](flags.md#settings-read-from-the-stack): its `environments/base.yaml` and, when `--env` or `HELMFILE_ENV` names the environment or `--pre` checks the plane before its install, `environments/.yaml`. Otherwise the stack defaults decide, which leave `kai-scheduler`, `grove-system`, `dynamo-system` and `nvcf-ui` off | Pass the `--env` the install used, and the stack flag the install used, if any | ## Auth diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index dace96e523..cdb32f2cde 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU2NTIsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU2NTMsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -74,9 +74,9 @@ const skillDataZipBase64 = "" + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1ZDQ0YWQxMTJjYzcwNGIx" + "ODFmYjZiMDc1NTE2NzZiMTgwM2YzYTVmMGJkYTk0MWYwMWEyNjdiODhhZGQyNmVhIiwKICAgICAg" + "InNpemUiOiAyMjEyNgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogIjQ0" + - "NjNiNmJiNDhhNTJkMDk5ZTg1NDViODNiMmE2MmE2NDJkYmY5NTdkN2UwMTJjMGM2N2YwMzlhNjY0" + - "M2IzMGMiLAogICAgICAic2l6ZSI6IDg1NDQKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJzaGEyNTYiOiAi" + "Y2IyMDg5YWFiODAyOTU1OTM1ZmExOGJjMTMyNjFhZGM0MGI2NTc4M2NiNGEyY2FiMmYzYWUzMzlk" + "Zjk4Mjg1ZCIsCiAgICAgICJzaXplIjogMjUxNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjog" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCNAEHt5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCA9vwCpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -2255,1900 +2255,1900 @@ const skillDataZipBase64 = "" + "dCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1f" + "RFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQs" + "IG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVz" + - "cGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNw" + - "YWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhh" + - "dCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQs" + - "IGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1k" + - "I3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlh" + - "bWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9u" + - "bWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lk" + - "ZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1z" + - "eXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1" + - "c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1" + - "dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFk" + - "bWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0" + - "ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2" + - "ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBK" + - "V1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBr" + - "ZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJv" + - "bCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdh" + - "aW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZv" + - "a2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwg" + - "YG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVu" + - "IGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlh" + - "dGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2Fu" + - "ZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmly" + - "bSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNz" + - "YW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAg" + - "KGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwg" + - "bm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1Au" + - "R1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdp" + - "c3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xV" + - "U1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFu" + - "eSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAg" + - "KGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2Yt" + - "Y2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNB" + - "X0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8" + - "IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNh" + - "dGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBp" + - "cyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNh" + - "dCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwg" + - "Q2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9v" + - "cEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0" + - "ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJp" + - "b3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBz" + - "dGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCBy" + - "ZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2" + - "YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01T" + - "IGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmlu" + - "ZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0" + - "aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVk" + - "ZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJl" + - "IHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmln" + - "IHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMg" + - "c3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1" + - "dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5r" + - "dWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MK" + - "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sg" + - "Y3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBo" + - "b3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hv" + - "cnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUg" + - "YHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFs" + - "dWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQn" + - "cyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVs" + - "dCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBj" + - "YWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwg" + - "b3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAg" + - "dG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIx1So7GAhAABgIQAAUEsDBBQACAAAAAAAIQAAAAAA" + - "AAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRV" + - "VAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0" + - "aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBs" + - "YW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUg" + - "dmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZh" + - "bHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZv" + - "cgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNw" + - "bGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0" + - "aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNl" + - "bGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAg" + - "bG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29y" + - "a2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJl" + - "cyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVn" + - "aW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1l" + - "bmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIK" + - "dGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9s" + - "LXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3lt" + - "ZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2Jd" + - "Cm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52" + - "Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdz" + - "OiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxh" + - "bmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQs" + - "IHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFto" + - "ZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0t" + - "LQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlk" + - "ZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1m" + - "aWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxs" + - "LCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVs" + - "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5j" + - "dGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5j" + - "ZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFBy" + - "ZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hp" + - "bmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoK" + - "CmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBs" + - "YW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8" + - "Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5l" + - "LXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRp" + - "cmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJv" + - "bSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxv" + - "cmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3Vy" + - "Y2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNp" + - "b24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wt" + - "cGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0" + - "aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVy" + - "aWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhl" + - "bG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50" + - "aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1" + - "Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVy" + - "c2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVz" + - "dGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBn" + - "bG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52" + - "aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7" + - "IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + - "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + - "KS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHBy" + - "ZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dApl" + - "bnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3" + - "aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAg" + - "LT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxh" + - "dGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3Jl" + - "dHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVy" + - "cmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2Vk" + - "ZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhy" + - "b3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUg" + - "c2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5" + - "IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdu" + - "b3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBv" + - "dmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2" + - "YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJp" + - "ZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBD" + - "cmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZh" + - "dGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + - "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwog" + - "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZh" + - "dGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + - "LWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9" + - "bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9j" + - "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAg" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoK" + - "SWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1m" + - "aWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgj" + - "aW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNo" + - "YXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dp" + - "bmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikg" + - "dG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUg" + - "YXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRz" + - "IGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIk" + - "TkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4n" + - "IC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJl" + - "Z2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0t" + - "cGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpg" + - "YGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9n" + - "aW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hl" + - "cyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhl" + - "eSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxt" + - "IHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlm" + - "ZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRo" + - "ZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVu" + - "aWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3Jn" + - "IGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywK" + - "PiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVs" + - "eSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAt" + - "LXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJl" + - "bHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBz" + - "aW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAo" + - "UmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0" + - "ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBh" + - "IHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxp" + - "Y2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUg" + - "bm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRp" + - "Y2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3Rl" + - "cHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAg" + - "ICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4" + - "YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06" + - "CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5" + - "b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3Vy" + - "LXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAK" + - "CiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3Rz" + - "LCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFp" + - "bmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMt" + - "aXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBo" + - "dHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlk" + - "aWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGds" + - "b2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9y" + - "ZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBo" + - "dHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAu" + - "dGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0" + - "cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5k" + - "ZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBh" + - "Ym92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBh" + - "dXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nl" + - "c3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5v" + - "dCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0" + - "aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xv" + - "YmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhl" + - "bG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVh" + - "bCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24g" + - "aW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkg" + - "Y3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2" + - "ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBp" + - "ZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0" + - "ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJv" + - "dXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdh" + - "dGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRl" + - "d2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRl" + - "d2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFk" + - "ZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBh" + - "ZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdh" + - "eSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRy" + - "ZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVy" + - "LgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2" + - "ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0" + - "byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3Ig" + - "cHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUg" + - "cmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5n" + - "ZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRo" + - "ZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFt" + - "cGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlm" + - "ZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95" + - "CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUu" + - "IFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JE" + - "YCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNh" + - "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNg" + - "LiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2Vy" + - "dmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2Vydmlj" + - "ZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0" + - "aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBz" + - "YW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95" + - "bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6" + - "Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0t" + - "LS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVw" + - "ZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwg" + - "YHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3Jw" + - "Yy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBv" + - "cHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGlu" + - "Y2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVz" + - "c2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNl" + - "cnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8" + - "CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZh" + - "bml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZv" + - "ciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2Yg" + - "dGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxh" + - "YmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdh" + - "eQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4g" + - "YSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1" + - "ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhh" + - "dCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9u" + - "LCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAph" + - "ZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25m" + - "aWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBh" + - "bmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3lt" + - "ZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlH" + - "YXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGlu" + - "c3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJp" + - "ZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIERO" + - "UyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZh" + - "bml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQg" + - "cm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9" + - "PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5j" + - "CmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5k" + - "IGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAu" + - "a3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + - "QSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6" + - "Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0" + - "ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRp" + - "b24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFz" + - "ZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNG" + - "IFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlz" + - "IGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + - "IHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sg" + - "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlg" + - "CnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVs" + - "IGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1" + - "YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0" + - "IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9u" + - "XShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFy" + - "YXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90" + - "IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBj" + - "aG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVy" + - "IGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJv" + - "ZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1w" + - "bGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGlu" + - "c3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZl" + - "cmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ry" + - "b3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRo" + - "ZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0" + - "ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBj" + - "b250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRz" + - "YCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBp" + - "YCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5" + - "LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1p" + - "c3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBv" + - "bmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBu" + - "YW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZh" + - "dWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlv" + - "biBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFn" + - "ZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1m" + - "aWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90" + - "aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBj" + - "b250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4" + - "dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3Ig" + - "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBt" + - "ZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVz" + - "ZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRl" + - "ciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29u" + - "ZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoK" + - "YGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFt" + - "ZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVh" + - "bgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVs" + - "dHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBP" + - "dmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRl" + - "ZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdh" + - "dGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNz" + - "YCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQg" + - "dmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFu" + - "ZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRl" + - "LXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1m" + - "aWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44" + - "LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEt" + - "c3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5n" + - "b3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVf" + - "RU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoK" + - "ICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5" + - "OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAg" + - "ICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFz" + - "ZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVz" + - "OmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1" + - "ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmll" + - "dyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMg" + - "ICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUg" + - "ZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5k" + - "IHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNv" + - "cnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVs" + - "bCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2Ut" + - "UHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZD" + - "RiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBp" + - "bWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBz" + - "aWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBk" + - "b2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZh" + - "dGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZD" + - "Rl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxg" + - "IC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2Vj" + - "cmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZp" + - "Z2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2Vu" + - "OjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUg" + - "YWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+" + - "IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhv" + - "bGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVh" + - "ZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZh" + - "bHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBp" + - "IHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAg" + - "ZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3Qg" + - "YmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9r" + - "ZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2Vy" + - "Y29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5j" + - "dGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVz" + - "ZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkg" + - "d29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAg" + - "ICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20g" + - "bG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZp" + - "bmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0" + - "YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+" + - "ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2" + - "NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdl" + - "LXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3Mg" + - "aXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFn" + - "ZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95" + - "L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4g" + - "Tm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0" + - "aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4g" + - "bGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQK" + - "PiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5k" + - "IHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZl" + - "cmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRo" + - "ZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlz" + - "IHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChy" + - "ZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBh" + - "dXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBO" + - "VkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5v" + - "IHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVk" + - "LgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0" + - "cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5z" + - "dGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFj" + - "ZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19B" + - "UElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + - "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + - "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + - "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + - "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + - "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + - "IC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBw" + - "bHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5" + - "IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNl" + - "Y3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVj" + - "dGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMu" + - "aW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1d" + - "CmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBl" + - "ciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGlj" + - "eSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9w" + - "dWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2lu" + - "ZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1v" + - "IHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1" + - "YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJl" + - "Y2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNr" + - "T2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQg" + - "fCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8Cnwg" + - "YEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZv" + - "ciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8" + - "IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAt" + - "PiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4g" + - "c2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1" + - "YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1" + - "bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBD" + - "b21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5i" + - "YW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEg" + - "U3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVz" + - "b3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFs" + - "dWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRp" + - "YWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVG" + - "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRg" + - "IHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9s" + - "ZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRS" + - "QV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZp" + - "Y2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3Rv" + - "cmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3Rv" + - "cmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBm" + - "YWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3lu" + - "Y2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3Jl" + - "ZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1h" + - "cGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxs" + - "cyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAg" + - "cG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZh" + - "aWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVh" + - "biByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZl" + - "cmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3Ry" + - "YXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBm" + - "YWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1" + - "bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxg" + - "OyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3" + - "b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBv" + - "ZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJg" + - "IGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsg" + - "cGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBk" + - "YzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Yt" + - "d2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3Bg" + - "IGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpU" + - "aGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sg" + - "b24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAg" + - "aW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZp" + - "cmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVk" + - "IGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xl" + - "YW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwg" + - "YW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlw" + - "dGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3Jvbmcg" + - "aW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0" + - "cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBg" + - "YAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0" + - "aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlv" + - "ciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5k" + - "IGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52" + - "Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBu" + - "dmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3Vu" + - "dCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlv" + - "bjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + - "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + - "ZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0" + - "cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRz" + - "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2Ug" + - "QVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "ZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9v" + - "bC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFn" + - "ZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdh" + - "cyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3Qg" + - "YmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+" + - "PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4g" + - "SXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdl" + - "cmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZl" + - "cnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVk" + - "IHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBh" + - "bmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBs" + - "dWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3Nl" + - "cnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJv" + - "Y2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1" + - "ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNr" + - "LCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1" + - "c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0" + - "ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxt" + - "ZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50" + - "IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBy" + - "YW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxh" + - "dGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJl" + - "dmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0" + - "ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAi" + - "TlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhl" + - "bSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVj" + - "ayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3Vz" + - "dG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVz" + - "b3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2Ut" + - "ZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdl" + - "ZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRv" + - "dWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJt" + - "ZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29t" + - "bWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2Vu" + - "ZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50" + - "IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJz" + - "IG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZD" + - "Ri1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRp" + - "ZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRp" + - "ZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCBy" + - "ZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxl" + - "LXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJv" + - "bCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZp" + - "bGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1s" + - "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVl" + - "cyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVk" + - "IHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmls" + - "ZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVz" + - "cyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBh" + - "bmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQg" + - "cmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhl" + - "IGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUg" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBh" + - "Z2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGlu" + - "c3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + - "YmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2Vydmlj" + - "ZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFu" + - "ZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + - "J21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rl" + - "cicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBh" + - "bmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAn" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENM" + - "VVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFt" + - "bCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0t" + - "aWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVy" + - "ZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRp" + - "c2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJU" + - "aGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlz" + - "IGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24i" + - "OiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxt" + - "IHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + - "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + - "Q0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2Vu" + - "IHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUg" + - "YW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhh" + - "dCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tl" + - "cikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUg" + - "b25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhl" + - "bG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0" + - "dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdv" + - "dG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0" + - "ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWlu" + - "c3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhw" + - "ZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3Jl" + - "dHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUg" + - "bm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxl" + - "IHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBv" + - "ciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBl" + - "cmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNr" + - "IG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycu" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBs" + - "YW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0" + - "dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5h" + - "Z2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBh" + - "bmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVj" + - "dGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0" + - "aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2Zp" + - "bGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "cGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVz" + + "cGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRo" + + "YXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2Vk" + + "LCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5t" + + "ZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55" + + "YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJv" + + "bm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNp" + + "ZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8t" + + "c3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwg" + + "dXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBB" + + "dXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBh" + + "ZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3Rh" + + "dGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3Rp" + + "dmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQg" + + "SldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcg" + + "a2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRy" + + "b2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFn" + + "YWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52" + + "b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8" + + "IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1" + + "biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + + "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3Nh" + + "bmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZp" + + "cm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fz" + + "c2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRg" + + "IChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHks" + + "IG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQ" + + "LkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVn" + + "aXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENM" + + "VVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBh" + + "bnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRg" + + "IChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNm" + + "LWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5D" + + "QV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwK" + + "fCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBz" + + "YXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQg" + + "aXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBz" + + "YXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExv" + + "b3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lz" + + "dGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHBy" + + "aW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUg" + + "c3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQg" + + "cmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGgg" + + "dmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNN" + + "UyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25p" + + "bmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5j" + + "dGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3Jl" + + "ZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZp" + + "ZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRT" + + "IHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBh" + + "dXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAu" + + "a3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tz" + + "Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNr" + + "IGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3Ig" + + "aG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNo" + + "b3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxl" + + "IGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZh" + + "bHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50" + + "J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1" + + "bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQg" + + "Y2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnks" + + "IG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlg" + + "IHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1k" + + "VVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlw" + + "dGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1w" + + "bGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxl" + + "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2" + + "YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBm" + + "b3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBz" + + "cGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxh" + + "dGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBz" + + "ZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgog" + + "IGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdv" + + "cmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWly" + + "ZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1" + + "Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUt" + + "ZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAi" + + "CnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJv" + + "bC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95" + + "bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9i" + + "XQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxu" + + "dmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFn" + + "czogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBs" + + "YW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50" + + "LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBb" + + "aGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQot" + + "LS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3Vp" + + "ZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxt" + + "ZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFs" + + "bCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhl" + + "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVu" + + "Y3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVu" + + "Y2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQ" + + "cmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + + "YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNo" + + "aW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6" + + "CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1w" + + "bGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8g" + + "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8g" + + "PGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBk" + + "aXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZy" + + "b20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + + "b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291" + + "cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJz" + + "aW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9s" + + "LXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1" + + "dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2Vz" + + "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZl" + + "cmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApo" + + "ZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVu" + + "dGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBs" + + "dWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZl" + + "cnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1" + + "c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8g" + + "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVu" + + "dmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxg" + + "OyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0" + + "cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBs" + + "ZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBw" + + "cmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQK" + + "ZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQg" + + "d2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAg" + + "IC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBs" + + "YXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNy" + + "ZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3Zl" + + "cnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNl" + + "ZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRo" + + "cm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2Rl" + + "IHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFy" + + "eSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGln" + + "bm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8g" + + "b3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBg" + + "dmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJy" + + "aWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4g" + + "Q3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2" + + "YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + + "IHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2" + + "YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + + "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAK" + + "CklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxt" + + "ZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10o" + + "I2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBj" + + "aGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9n" + + "aW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIp" + + "IHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJl" + + "IGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5k" + + "cyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + + "JE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + + "JyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1y" + + "ZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAt" + + "LXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20K" + + "YGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxv" + + "Z2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNo" + + "ZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRo" + + "ZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVs" + + "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRp" + + "ZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0" + + "aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERl" + + "bmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9y" + + "ZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcs" + + "Cj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRl" + + "bHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicg" + + "LS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiBy" + + "ZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEg" + + "c2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4g" + + "KFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNh" + + "dGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8g" + + "YSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBs" + + "aWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhl" + + "IG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0" + + "aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0" + + "ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAg" + + "ICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5l" + + "eGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxt" + + "OgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYg" + + "eW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91" + + "ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBg" + + "CgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0" + + "cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRh" + + "aW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFz" + + "LWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBg" + + "aHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZp" + + "ZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBn" + + "bG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZv" + + "cmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBg" + + "aHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBg" + + "LnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lz" + + "dHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVu" + + "ZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMg" + + "YWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAg" + + "YXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNj" + + "ZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBu" + + "b3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChz" + + "dGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGds" + + "b2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2Bo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1" + + "YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9u" + + "IGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5" + + "IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hl" + + "dmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3Ig" + + "aWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91" + + "dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciBy" + + "b3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBH" + + "YXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0" + + "ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0" + + "ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5h" + + "ZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUg" + + "YWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3" + + "YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRk" + + "cmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhl" + + "ci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2Vy" + + "dmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3Qg" + + "dG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9y" + + "IHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRl" + + "IHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFu" + + "Z2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0" + + "aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhh" + + "bXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5p" + + "ZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxv" + + "eQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxl" + + "LiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09S" + + "RGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBj" + + "YXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20z" + + "YC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNl" + + "cnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZp" + + "Y2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1" + + "dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUg" + + "c2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxv" + + "eW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVz" + + "OgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwt" + + "LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRl" + + "cGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8" + + "IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdy" + + "cGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwg" + + "b3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jl" + + "c3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2Jz" + + "ZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4g" + + "fAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBw" + + "b2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpW" + + "YW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBm" + + "b3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9m" + + "IHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWls" + + "YWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3" + + "YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWlu" + + "IGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFs" + + "dWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRo" + + "YXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRv" + + "biwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwK" + + "YWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29u" + + "ZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAg" + + "YW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95" + + "bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5" + + "R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBp" + + "bnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJy" + + "aWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBE" + + "TlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2" + + "YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5k" + + "IHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5W" + + "PTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3lu" + + "YwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFu" + + "ZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBw" + + "Lmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUg" + + "LUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdh" + + "dGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0" + + "aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJh" + + "c2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZD" + + "RiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBp" + + "cyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdl" + + "cyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNr" + + "IHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVp" + + "YApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5l" + + "bCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBw" + + "dWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3Jl" + + "dCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRv" + + "bl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBh" + + "cmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5v" + + "dCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwg" + + "Y2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFs" + + "dWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3Rl" + + "ciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHBy" + + "b2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wt" + + "cGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBp" + + "bnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2" + + "ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0" + + "cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0" + + "aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQj" + + "dGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMg" + + "Y29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0" + + "c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFw" + + "aWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFy" + + "eS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4t" + + "aXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQg" + + "b25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVm" + + "YXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRp" + + "b24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5h" + + "Z2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxt" + + "ZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBv" + + "dGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUg" + + "Y29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBl" + + "eHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUg" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9y" + + "IGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2Ug" + + "bWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJl" + + "c2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0" + + "ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNv" + + "bmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBg" + + "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMK" + + "CmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5h" + + "bWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xl" + + "YW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1" + + "bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMg" + + "T3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0" + + "ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFn" + + "YXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFz" + + "c2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0" + + "IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBh" + + "bmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0" + + "ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxt" + + "ZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAu" + + "OC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJh" + + "LXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + + "Z290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + + "X0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6" + + "CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9y" + + "eTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAg" + + "ICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVh" + + "c2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVl" + + "czpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNs" + + "dWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZp" + + "ZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5j" + + "ICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVl" + + "IGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWlu" + + "ZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBj" + + "b3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1" + + "bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdl" + + "LVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5W" + + "Q0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24g" + + "aW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0g" + + "c2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBg" + + "ZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2" + + "YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5W" + + "Q0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1s" + + "YCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNl" + + "Y3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25m" + + "aWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tl" + + "bjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhl" + + "IGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEK" + + "PiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vo" + + "b2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJl" + + "YWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2" + + "YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFw" + + "aSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhg" + + "IGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0" + + "IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRv" + + "a2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tl" + + "cmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVu" + + "Y3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1" + + "c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5" + + "IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4g" + + "ICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9t" + + "IGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBm" + + "aW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5z" + + "dGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gK" + + "PiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNl" + + "NjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFn" + + "ZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tz" + + "IGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1h" + + "Z2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxv" + + "eS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+" + + "IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwg" + + "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVu" + + "IGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50" + + "Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFu" + + "ZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZm" + + "ZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0" + + "aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhp" + + "cyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAo" + + "cmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8g" + + "YXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4g" + + "TlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBu" + + "byBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRl" + + "ZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0" + + "dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGlu" + + "c3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3Bh" + + "Y2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0Nf" + + "QVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + + "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + + "a3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0t" + + "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + + "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + + "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAt" + + "ZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFw" + + "cGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGlj" + + "eSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxT" + + "ZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJl" + + "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + + "LmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + + "XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxw" + + "ZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xp" + + "Y3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dp" + + "bmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAt" + + "byB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwpr" + + "dWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBS" + + "ZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20g" + + "fCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFj" + + "a09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0" + + "IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8" + + "IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBm" + + "b3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwK" + + "fCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAg" + + "LT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2Vu" + + "IHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBw" + + "dWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZh" + + "dWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4g" + + "Q29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVu" + + "YmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3Jl" + + "ZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8x" + + "IFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJl" + + "c291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZh" + + "bHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50" + + "aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERF" + + "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3Jk" + + "YCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJv" + + "bGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5E" + + "UkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2" + + "aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0" + + "b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0" + + "b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwg" + + "ZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5" + + "bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNy" + + "ZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2Yt" + + "YXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2Fs" + + "bHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFw" + + "IHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBm" + + "YWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xl" + + "YW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBW" + + "ZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0" + + "cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMg" + + "ZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZh" + + "dWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBs" + + "YDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUg" + + "d29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBw" + + "b2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8i" + + "YCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7" + + "IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBg" + + "ZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292" + + "LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNw" + + "YCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoK" + + "VGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29r" + + "IG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBg" + + "IGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpm" + + "aXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxl" + + "ZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNs" + + "ZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQs" + + "IGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5" + + "cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25n" + + "IGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5j" + + "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpg" + + "YGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcg" + + "dGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJp" + + "b3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFu" + + "ZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBu" + + "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4g" + + "bnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291" + + "bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRp" + + "b246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1w" + + "bGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5k" + + "LWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2Vz" + + "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBz" + + "dHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0" + + "c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNl" + + "cy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdl" + + "IEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRv" + + "b2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3" + + "YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0" + + "IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAo" + + "Pj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3Rlciku" + + "IEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3" + + "ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12" + + "ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3Zl" + + "ZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicg" + + "YW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBw" + + "bHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9z" + + "ZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHBy" + + "b2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJx" + + "dWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFj" + + "aywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUg" + + "dXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUg" + + "dGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVs" + + "bWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFu" + + "dCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBs" + + "YXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHBy" + + "ZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBz" + + "dGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjog" + + "Ik5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRo" + + "ZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1" + + "Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1" + + "c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJl" + + "c291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNl" + + "LWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFn" + + "ZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0" + + "b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRh" + - "dGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAog" + - "ICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5k" + - "cmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1z" + - "eXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFj" + - "ZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUg" + - "dGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5k" + - "ZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRl" + - "IHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHks" + - "IHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + - "cGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAg" + - "IlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9m" + - "aWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1j" + - "bGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0" + - "YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2Jh" + - "bCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJ" + - "IGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9s" + - "LXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5k" + - "IGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9y" + - "ZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhl" + - "IHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxs" + - "LiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJv" + - "bC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + - "b2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFu" + - "ZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFu" + - "ZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3Vi" + - "ZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNv" + - "bW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29t" + - "bWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFt" + - "ZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVu" + - "ZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJh" + - "dGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVz" + - "b3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09N" + - "S2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxh" + - "dGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVl" + - "cyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1" + - "ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZp" + - "ZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmly" + + "bWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNv" + + "bW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tl" + + "bmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVy" + + "cyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5W" + + "Q0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBk" + + "aWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3Qg" + + "cmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmls" + + "ZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRy" + + "b2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1m" + + "aWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFt" + + "bC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3Jl" + + "ZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZp" + + "bGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxl" + + "c3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21w" + + "dXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwg" + + "YW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0" + + "IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRl" + + "IGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUg" + + "YWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBp" + + "bnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVk" + + "IGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZp" + + "Y2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBh" + + "bmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + + "ICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0" + + "ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwg" + + "YW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + + "J21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBD" + + "TFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlh" + + "bWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAt" + + "LWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhl" + + "cmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBk" + + "aXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAi" + + "VGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhp" + + "cyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9u" + + "IjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVs" + + "bSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUg" + + "cmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwg" + + "T0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tl" + + "biB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJh" + + "biAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1l" + + "IGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + + "YXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2Nr" + + "ZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRl" + + "IG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBo" + + "ZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVj" + + "dHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5n" + + "b3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVj" + + "dGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1z" + + "dGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2Fp" + + "bnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4" + + "cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNy" + + "ZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJl" + + "IG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmls" + + "ZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qg" + + "b3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQ" + + "ZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcn" + + "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1w" + + "bGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVj" + + "dHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFu" + + "YWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwg" + + "YW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxl" + + "Y3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQg" + + "dGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9m" + + "aWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1" + - "cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + - "cGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxv" + - "Y2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAi" + - "VGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxl" + - "IGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5" + - "aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHki" + - "LAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVt" + - "cGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9u" + - "IjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEs" + - "IGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVu" + - "Y2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kg" + - "bmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRl" + - "bmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1l" + - "c3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0" + - "aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRl" + - "YnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFy" + - "ZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBk" + - "aWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQg" + - "dGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3Jl" + - "dHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhl" + - "IGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1h" + - "Z2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1h" + - "Z2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwg" + - "c2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFn" + - "ZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZp" + - "Y2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBh" + - "bmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzkt" + - "cmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1" + - "cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wg" + - "cGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZh" + - "dGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNv" + - "bnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5" + - "IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFu" + - "ZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdS" + - "UEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5" + - "LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMg" + - "aW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwg" + - "YW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhl" + - "IHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNl" + - "cnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVz" + - "dGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNw" + - "YWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVk" + - "LCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkg" + - "YW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFs" + - "LndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNm" + - "TmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBp" + - "bnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNm" + - "R3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2Vydmlj" + - "ZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0" + - "ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3Jr" + - "ZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdy" + - "ZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBh" + - "Z2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRy" + - "dWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJM" + - "IGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21z" + - "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VI" + - "b3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAg" + - "IlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNl" + - "cnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQg" + - "b25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJh" + - "dG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10" + - "ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxh" + - "bmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0" + - "aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJv" + - "bCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBC" + - "ZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90" + - "aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMg" + - "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9y" + - "dGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3Ig" + - "YW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9y" + - "IG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVm" + - "YXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + - "bmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVy" + - "YXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29t" + - "bWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1" + - "c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29u" + - "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQg" + - "dGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVm" + - "aXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0" + - "cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRo" + - "ZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRh" + - "cmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0" + - "aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQg" + - "YW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9y" + - "ZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRl" + - "YXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + - "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQg" + - "aWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJs" + - "ZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJC" + - "b3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBi" + - "eSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5h" + - "bmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cg" + - "cmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBh" + - "bmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNs" + - "dXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVk" + - "IiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXBy" + - "ZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVk" + - "IHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fu" + - "bm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hl" + - "biB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhw" + - "bGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBi" + - "b3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNt" + - "cy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdl" + - "bnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQg" + - "cmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVt" + - "YWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAg" + - "ICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0" + - "IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3Jr" + - "IGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2" + - "YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwu" + - "Z290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55" + - "YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWlu" + - "ZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZh" + - "bHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlk" + + "YXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIs" + + "CiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2Fu" + + "ZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQt" + + "c3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3Bh" + + "Y2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxl" + + "IHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVu" + + "ZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0" + + "ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5" + + "LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRl" + + "LXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2Yt" + + "Y2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5z" + + "dGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9i" + + "YWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENM" + + "SSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJv" + + "bC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFu" + + "ZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZv" + + "cmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRo" + + "ZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFs" + + "bC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRy" + + "b2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250" + + "cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1h" + + "bmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1h" + + "bmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1" + + "YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBj" + + "b21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNv" + + "bW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5h" + + "bWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBl" + + "bmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3Ry" + + "YXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJl" + + "c291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9P" + + "TUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBs" + + "YXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1" + + "ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFs" + + "dWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2" + + "aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0" + + "dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + + "bXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJs" + + "b2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAg" + + "IlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmls" + + "ZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lm" + + "eWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5" + + "IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRl" + + "bXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlv" + + "biI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJh" + + "LCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRl" + + "bmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5" + + "IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHBy" + - "ZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3Rt" + - "cGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlm" + - "aWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMg" + - "a2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFs" + - "LmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5" + - "IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9j" + - "a3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUg" + - "cHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxl" + - "YXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxs" + - "bS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25U" + - "eXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRl" + - "ZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0" + - "aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFi" + - "bGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2lu" + - "Z2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwg" + - "YW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3" + - "aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUg" + - "Y2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBy" + - "b3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJl" + - "bGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdh" + - "dGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcu" + - "bWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0" + - "ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIg" + - "dHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRl" + - "IHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCBy" + - "ZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRl" + - "cGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBu" + - "b3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBn" + - "YXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xl" + - "LW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVx" + - "dWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9u" + - "aWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9k" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10" + - "by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQg" + - "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtl" + - "ciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9y" + - "dCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBs" + - "YW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0" + - "aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQg" + - "ZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFw" + - "aS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhl" + - "IGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0" + - "IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3Qg" + - "dGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBv" + - "ciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJv" + - "dmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBb" + - "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxl" + - "LWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFn" + - "ZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBk" + - "ZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQ" + - "SwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpX" + - "b3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4" + - "YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2Fu" + - "ZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUu" + - "Zy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRo" + - "IGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUg" + - "cmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAv" + - "dG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVy" + - "cmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4" + - "YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9g" + - "IGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBj" + - "YXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQK" + - "ICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6" + - "CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + - "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5k" + - "cmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6" + - "ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAg" + - "ICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAg" + - "MzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1s" + - "CmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZp" + - "cm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0" + - "bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFw" + - "cGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhh" + - "bXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0" + - "cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdD" + - "IChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2Ug" + - "cHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MK" + - "CmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNv" + - "dXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9u" + - "dmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlh" + - "L252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxl" + - "IGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9r" + - "ZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9h" + - "dXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVz" + - "cGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3Vy" + - "LW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52" + - "Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + - "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRk" + - "IGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3Bl" + - "Y2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9y" + - "IGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoK" + - "YGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBj" + - "YXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVw" + - "ZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxw" + - "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + - "YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxT" + - "ZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9y" + - "IGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEg" + - "c2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNh" + - "LW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lz" + - "dGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTog" + - "RGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2Vy" + - "dmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhh" + - "c2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJ" + - "bWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2" + - "YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVy" + - "cyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIk" + - "bnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZj" + - "ci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToK" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2" + - "ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3Jl" + - "cCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20g" + - "bnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3Rh" + - "bGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0" + - "ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVT" + - "VEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVh" + - "bnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2Nl" + - "ZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52" + - "Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhl" + - "IGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBi" + - "ZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmln" + - "IDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJv" + - "bS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3Jl" + - "LW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVz" + - "dGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2Vy" + - "dmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJl" + - "c2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5u" + - "aW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBG" + - "b3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFn" + - "ZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5k" + - "ZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBh" + - "bmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFt" + - "ZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApn" + - "ZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQu" + - "CgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1D" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFz" + - "cyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBj" + - "bGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4K" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5z" + - "IHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAn" + - "KGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21t" + - "YW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBz" + - "cGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWlu" + - "c3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVu" + - "ZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMg" + - "bG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMg" + - "U3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZj" + - "Zi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRy" + - "ZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAy" + - "OiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21h" + - "aW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2lu" + - "dCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBg" + - "YXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FE" + - "RFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJl" + - "c2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRo" + - "ZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1" + - "cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJl" + - "c3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNv" + - "bXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxk" + - "cy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVz" + - "aCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYg" + - "dXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + - "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBh" + - "bmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoK" + - "YGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9t" + - "YWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZv" + - "eS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52" + - "Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + - "bWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0" + - "YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBs" + - "b3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGlu" + - "ZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywg" + - "Q2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lz" + - "dGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBz" + - "cGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9y" + - "IHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRl" + - "cGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFz" + - "ZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2Vydmlj" + - "ZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBs" + - "bG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10" + - "cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0" + - "IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVk" + - "PXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + - "dWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBg" + - "bmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJv" + - "dXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8" + - "IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAg" + - "fAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9u" + - "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + - "bnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxv" + - "eSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVh" + - "c2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWlu" + - "Z3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwg" + - "QW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJv" + - "eHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBg" + - "LS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNv" + - "bXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFu" + - "ZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4g" + - "Q2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNs" + - "ZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2Yg" + - "Y29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0t" + - "fC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENM" + - "SSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + - "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "IHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVz" + - "dCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3Vt" + - "ZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBw" + - "YXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQg" + - "cGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2Ag" + - "YW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2Ug" + - "YnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNy" + - "ZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRy" + - "b2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNl" + - "IHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRz" + - "LCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZv" + - "ciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczov" + - "L2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4K" + - "VGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29u" + - "dHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdh" + - "dGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBO" + - "QVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5h" + - "bCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdh" + - "eS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMg" + - "dGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxC" + - "OgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52" + - "Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBv" + - "aW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+Igog" + - "ICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWlu" + - "PiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIy" + - "IgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAg" + - "IG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWlu" + - "PiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXkt" + - "ZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52" + - "Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNv" + - "bnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAg" + - "ICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9" + - "CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdh" + - "eX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3Bh" + - "Y2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoK" + - "ICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAg" + - "ICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52" + - "Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhv" + - "c3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAg" + - "ICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlz" + - "Y292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNh" + - "T3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8v" + - "PGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAi" + - "c2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2" + - "YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRy" + - "ZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+" + - "IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMg" + - "Y29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1w" + - "bGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5z" + - "dGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wt" + - "cGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUg" + - "R2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBh" + - "cyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFz" + - "ZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3Vy" + - "bDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6" + - "ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdh" + - "dGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9z" + - "dCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJ" + - "Q01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMt" + - "dXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0" + - "IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVn" + - "aXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUg" + - "cGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "cmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0Ff" + - "SUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1r" + - "dWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9D" + - "T05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4g" + - "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5l" + - "LWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIg" + - "YW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3Rl" + - "ciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1" + - "dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJl" + - "IG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFy" + - "Z2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBs" + - "YW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29t" + - "cHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + - "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0t" + - "cmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2Ug" + - "dGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5k" + - "czoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + - "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250" + - "cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVz" + - "dGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + - "YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + - "IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + - "bWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1l" + - "PgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBj" + - "b21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBw" + - "cm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFu" + - "ZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNy" + - "ZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUg" + - "Y29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lz" + - "dGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoK" + - "T24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1v" + - "cGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0" + - "c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0" + - "b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3Rl" + - "bWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0" + - "LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRd" + - "KHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0" + - "ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3kt" + - "Z2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0" + - "b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVz" + - "LmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5" + - "c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1" + - "dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0" + - "cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0" + - "aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0" + - "LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + - "c2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0" + - "ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxl" + - "ZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2st" + - "bWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVl" + - "YCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQg" + - "b24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJl" + - "bW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4" + - "cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZp" + - "bGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXIt" + - "bmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRl" + - "LXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIg" + - "ZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFs" + - "dWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFk" + - "IGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAu" + - "ClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBj" + - "bHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9u" + - "IGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFu" + - "ZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxl" + - "bnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpC" + - "b3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRo" + - "ZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNl" + - "cyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVh" + - "ZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQg" + - "d2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1j" + - "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + - "biBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWlj" + - "bXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVz" + - "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1p" + - "ZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1" + - "c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmll" + - "d3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25h" + - "bCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0" + - "ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5l" + - "LiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250" + - "aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6Cgpg" + - "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + - "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3du" + - "IC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5h" + - "bWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + - "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJs" + - "ZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3Ig" + - "ZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFu" + - "ZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBs" + - "YW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkS" + - "MAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dp" + - "bmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5W" + - "Q0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRz" + - "CgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgoj" + - "IFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJl" + - "Y3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcK" + - "CiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9s" + - "dW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAK" + - "CiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1F" + - "ICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNz" + - "YW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoK" + - "RXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9p" + - "bWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAoj" + - "IENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFt" + - "ZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwg" + - "c2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNy" + - "ZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxs" + - "U2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29u" + - "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFj" + - "Y291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxu" + - "YW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhl" + - "cwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBi" + - "YXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + - "CiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSck" + - "b2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAg" + - "ICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2Qg" + - "ZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRz" + - "YCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + - "dWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2Vj" + - "cmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2" + - "aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1z" + - "ZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBz" + - "ZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0" + - "ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29y" + - "cmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVs" + - "dCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAg" + - "Zm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAg" + - "IFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8y" + - "ICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGlu" + - "aXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9y" + - "IE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMg" + - "LW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3Vi" + - "ZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwpr" + - "dWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoK" + - "IyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dz" + - "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBG" + - "aXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRz" + - "IGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5C" + - "YW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmls" + - "ZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAg" + - "IGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1v" + - "cGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1z" + - "eXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNy" + - "ZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFv" + - "IHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6" + - "CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2" + - "ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1p" + - "bml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nl" + - "c3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFL" + - "UywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0" + - "aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2Fz" + - "IGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChg" + - "and0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldL" + - "Uywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNj" + - "b3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAg" + - "YHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2" + - "ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNl" + - "IGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFs" + - "c2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlz" + - "IGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVi" + - "bGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRp" + - "b24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAg" + - "IyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6" + - "CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRp" + - "c2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9i" + - "IC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBg" + - "YGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2Nv" + - "dmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlv" + - "bmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQv" + - "djEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVh" + - "ZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBp" + - "c3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAg" + - "dGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUg" + - "aXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9u" + - "IENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBT" + - "VEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAg" + - "MyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0" + - "YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1m" + - "aWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1k" + - "KS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAg" + - "ICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAg" + - "ICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQ" + - "cmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hh" + - "cnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4g" + - "UGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFU" + - "VVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAg" + - "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9y" + - "IHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJs" + - "ZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEy" + - "IG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lz" + - "dGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxl" + - "Y3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmls" + - "ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBu" + - "dmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdl" + - "IGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAg" + - "YGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1B" + - "NSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2Ug" + - "aW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hv" + - "d3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUg" + - "c3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRp" + - "b25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVh" + - "c2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZh" + - "aWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kK" + - "IyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxu" + - "YW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0" + - "ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0" + - "cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlv" + - "bnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoK" + - "IyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVj" + - "dGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+" + - "NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1u" + - "IG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVy" + - "bmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMK" + - "CjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRz" + - "LzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0" + - "LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlv" + - "dXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNl" + - "NjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAK" + - "CjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3Ry" + - "eSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMj" + - "IyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2" + - "aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ry" + - "b3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9y" + - "ZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVh" + - "dGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNz" + - "ICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRz" + - "IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sg" + - "KEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4g" + - "TmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBu" + - "cwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAg" + - "IFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRo" + - "ZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93" + - "biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSBy" + - "ZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBv" + - "cnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5h" + - "bGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + - "UFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVt" + - "c1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwK" + - "ICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7" + - "MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAi" + - "JG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6" + - "ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVj" + - "ayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Et" + - "b3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9D" + - "T05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBq" + - "cSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09N" + - "UFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8k" + - "bnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0Eg" + - "T3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0" + - "ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQg" + - "ZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZj" + - "YS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdu" + - "b3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1" + - "c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUt" + - "cnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMK" + - "ZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhl" + - "ci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0" + - "IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNh" + - "LW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3Mg" + - "ZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5k" + - "IC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVy" + - "aWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBj" + - "aGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2Ug" + - "YQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1" + - "bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5" + - "IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29u" + - "ZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBi" + - "YWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4K" + - "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBl" + - "bnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + - "fScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3Vy" + - "bCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoK" + - "IyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQK" + - "Z3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMn" + - "IFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4u" + - "eWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMs" + - "IGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBj" + - "bGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGly" + - "ZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBp" + - "bnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1w" + - "bGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5k" + - "cG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpR" + - "dWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6" + - "Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0" + - "cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVs" + - "dC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2" + - "aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRl" + - "ciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXIt" + - "cHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRl" + - "d2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAI" + - "AAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3Ry" + - "dWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYt" + - "bWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFt" + - "bC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9i" + - "c2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkK" + - "fC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMg" + - "RGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1s" + - "ICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwg" + - "ICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJl" + - "Z2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAg" + - "ICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNm" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8" + - "ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0" + - "IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlh" + - "bWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMp" + - "CnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBv" + - "dmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxh" + - "dGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2" + - "ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmls" + - "ZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJv" + - "ZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHBy" + - "b2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNl" + - "ZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1k" + - "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwg" + - "Tm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwg" + - "aGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2" + - "ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1h" + - "bmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3Nh" + - "bmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVu" + - "Y3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2ll" + - "c2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBO" + - "YW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0t" + - "fAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8" + - "Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52" + - "Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52" + - "Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwg" + - "aGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxt" + - "LW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0t" + - "bnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJl" + - "dmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0t" + - "bnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0" + - "ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + - "CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBh" + - "cGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0" + - "ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2" + - "aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1" + - "c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUg" + - "YHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQg" + - "b24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVz" + - "c2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0" + - "eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8Cnwt" + - "LS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJl" + - "bGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdh" + - "dGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZp" + - "bGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8" + - "PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVs" + - "ZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQg" + - "YSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBs" + - "YXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRl" + - "bXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5g" + - "IHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNr" + - "IHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVu" + - "Y3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFt" + - "ZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4u" + - "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + - "cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTog" + - "Y2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + - "bC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBN" + - "dXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAi" + - "SEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBj" + - "YXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + - "bWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxt" + - "ZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBu" + - "YXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNp" + - "b246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNl" + - "cnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2Us" + - "IHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMg" + - "c2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQ" + - "cmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25t" + - "ZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50" + - "cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlk" + - "ZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29u" + - "c3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+Lzxl" + - "bnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpg" + - "IGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFs" + - "LnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBm" + - "cm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1M" + - "KSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRo" + - "cm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBj" + - "YXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCBy" + - "ZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEu" + - "cGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwu" + - "bm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFn" + - "ZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVs" + - "b2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRz" + - "LmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRz" + - "LnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBP" + - "cGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3Jh" + - "dGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVy" + - "LmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3Rv" + - "cnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZp" + - "Y2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxl" + - "Y3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0" + - "dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9u" + - "IGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBl" + - "OiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxt" + - "LWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3" + - "aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2Vy" + - "cyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRv" + - "bnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBh" + - "dGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNv" + - "bmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcg" + - "dGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAg" + - "Z2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2Vy" + - "dmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoK" + - "ICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0" + - "b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6" + - "IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5y" + - "ZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUK" + - "YGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUg" + - "dGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFp" + - "bnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVs" + - "dHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBT" + - "ZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0" + - "aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMg" + - "c2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1" + - "aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhl" + - "CmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4" + - "dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpU" + - "aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5j" + - "ZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMg" + - "d2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRo" + - "dWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVz" + - "dC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2Ug" + - "aXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFu" + - "ZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBs" + - "aWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAg" + - "ICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWlt" + - "YWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5" + - "IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMg" + - "ZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5" + - "IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZp" + - "ZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFw" + - "cGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBl" + - "dmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2Vk" + - "IGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdl" + - "Q29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + - "bGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGlu" + - "c3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxs" + - "YXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2" + - "ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVk" + - "IHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lp" + - "bmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0" + - "ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5j" + - "dGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2Vy" + - "IHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0" + - "ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgpr" + - "dWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJl" + - "cXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3Rs" + - "IC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0n" + - "e3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19" + - "ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBg" + - "bGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9h" + - "ZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rhcmdh" + - "dGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Js" + - "b2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNv" + - "bmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMg" + - "cmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1l" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + - "ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1" + - "bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "dGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRt" + - "aW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2Vs" + - "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNG" + - "IFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4g" + - "SXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFj" + - "a2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUK" + - "CkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5k" + - "IHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUg" + - "cGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlg" + - "IHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhh" + - "dCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZp" + - "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAg" + - "IGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNl" + - "Y3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5" + - "IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "YXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUu" + - "Zy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwg" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2Vy" + - "dmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9j" + - "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVm" + - "YXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMK" + - "YG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoK" + - "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVh" + - "c2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVt" + - "cGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52" + - "Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRl" + - "IG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3Vi" + - "ZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8" + - "IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0Yg" + - "VUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9z" + - "ZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVk" + - "IG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhl" + - "IGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVs" + - "bC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBP" + - "dmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5" + - "IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVs" + - "bFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBj" + - "cmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4g" + - "RG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29u" + - "dHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50" + - "bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5l" + - "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21t" + - "ZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2" + - "ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUK" + - "aGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUt" + - "bmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAK" + - "CiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0" + - "IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBj" + - "cmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1j" + - "cmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFt" + - "ZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpg" + - "YGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAt" + - "LWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5" + - "IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3Yx" + - "CmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxs" + - "c2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFk" + - "ZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToK" + - "ICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9k" + - "CiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAg" + - "IC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAg" + - "ICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0i" + - "CiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2Vy" + - "IgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1l" + - "dGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRp" + - "YS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVj" + - "OgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3It" + - "Y3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAK" + - "CiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxl" + - "Y3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1w" + - "bGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0" + - "aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1Q" + - "bGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9u" + - "IHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1v" + - "cGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQg" + - "aW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgog" + - "IGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQg" + - "YW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1p" + - "cnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVy" + - "IG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpz" + - "ZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0" + - "aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + - "cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4" + - "cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5v" + - "dGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5u" + - "b3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScK" + - "IyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAt" + - "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJT" + - "dWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBj" + - "aGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1u" + - "IG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0g" + - "KipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6" + - "b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNh" + - "biBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdp" + - "c3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVu" + - "dGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFu" + - "YWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcK" + - "CiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5" + - "CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiog" + - "dGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3Jl" + - "YXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRl" + - "IHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29u" + - "dHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1" + - "bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1p" + - "bWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcg" + - "c2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0" + - "aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAt" + - "LWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + - "cGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEA0AQe3koQAABKEAAAEgAJ" + - "AAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "AK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAAAAAA" + - "AAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAeOw+u5hAAAOYQAAA0AAkAAAAAAAAAAAAAAFmHAABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAOw3gF+EEgAAhBIAADcACQAAAAAAAAAAAAAAqpgAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAACcqwAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAq8UAAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAAAx6wAAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAGP6AABkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAOCCPFUiCAAAIggAADkACQAAAAAAAAAAAAAAKiQBAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAALwsAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABWlQIzT" + - "JQAA0yUAADAACQAAAAAAAAAAAAAABU8BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkA" + - "AAAAAAAAAAAAAD91AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1j" + - "b2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBSW41lblYAAG5WAAAtAAkAAAAAAAAAAAAA" + - "AKKFAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAx1So7GAhAABgIQAANwAJAAAAAAAAAAAAAAB03AEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAEL+AQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBH" + - "VWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAO5gAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAA" + - "fygAAC8ACQAAAAAAAAAAAAAAo7cCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAA" + - "AAAAAAAAiOACAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpw" + - "O7UwAAC1MAAAOwAJAAAAAAAAAAAAAAAdEQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHs" + - "jQoqAAAKKgAARAAJAAAAAAAAAAAAAABEQgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAADJbAMAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAA+HQDAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsF" + - "BgAAAAAXABcArwkAAG2LAwAAAA==" + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0" + + "b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5k" + + "ZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFt" + + "ZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAog" + + "ICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdl" + + "dGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1k" + + "ZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBh" + + "cmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4g" + + "ZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVk" + + "IHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNy" + + "ZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRo" + + "ZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGlt" + + "YWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBl" + + "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIElt" + + "YWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxs" + + "IHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBh" + + "Z2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2" + + "aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2Ug" + + "YW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5" + + "LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmln" + + "dXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9s" + + "IHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2" + + "YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + + "dCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBj" + + "b250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdh" + + "eSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBh" + + "bmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBn" + + "UlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVy" + + "eS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRz" + + "IGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWws" + + "IGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRo" + + "ZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBj" + + "ZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1" + + "c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVz" + + "cGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJl" + + "ZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5" + + "IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2Jh" + + "bC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZj" + + "Zk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQg" + + "aW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZj" + + "ZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZp" + + "Y2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91" + + "dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29y" + + "a2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5n" + + "cmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUg" + + "YWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0" + + "cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVS" + + "TCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAg" + + "ICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNt" + + "c1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNl" + + "SG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAg" + + "ICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBj" + + "ZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVk" + + "IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVy" + + "YXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQt" + + "dGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBs" + + "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhl" + + "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJh" + + "dGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRy" + + "b2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4g" + + "QmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJv" + + "dGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2Vz" + + "IG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJv" + + "cnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9y" + + "IGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRl" + + "ZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + + "YW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5l" + + "cmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNv" + + "bW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNs" + + "dXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNv" + + "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJt" + + "YXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0" + + "IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJl" + + "Zml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lz" + + "dHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0" + + "aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0" + + "YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1h" + + "dGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklE" + + "IGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZv" + + "cmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0" + + "ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90" + + "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVk" + + "IGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFi" + + "bGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAi" + + "Qm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2Ug" + + "YnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVu" + + "YW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93" + + "IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcg" + + "YW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0Lzxj" + + "bHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRl" + + "ZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1w" + + "cmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRl" + + "ZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNh" + + "bm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdo" + + "ZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4" + + "cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywg" + + "Ym90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWlj" + + "bXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFn" + + "ZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5k" + + "IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJl" + + "bWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAog" + + "ICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1" + + "dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29y" + + "ayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUg" + + "dmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1s" + + "LmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFp" + + "bmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2" + + "YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBw" + + "cmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290" + + "bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRp" + + "ZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + + "IGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2Jh" + + "bC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFy" + + "eSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxv" + + "Y2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJl" + + "IHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVs" + + "ZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1s" + + "bG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9u" + + "VHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0" + + "ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNh" + + "dGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5h" + + "YmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNp" + + "bmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIs" + + "IGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28g" + + "d2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhl" + + "IGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIg" + + "cm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCBy" + + "ZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBn" + + "YXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmln" + + "Lm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJh" + + "dGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2Vy" + + "IHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0" + + "ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwg" + + "cmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBk" + + "ZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwg" + + "bm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + + "Z2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmds" + + "ZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJl" + + "cXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5v" + + "bmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhv" + + "ZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXkt" + + "dG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVk" + + "IHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3Jr" + + "ZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3Bv" + + "cnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1w" + + "bGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdp" + + "dGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVk" + + "IGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1h" + + "cGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRo" + + "ZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNl" + + "dCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0" + + "IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5v" + + "dCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQg" + + "b3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHBy" + + "b3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmls" + + "ZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBh" + + "Z2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3Ig" + + "ZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0K" + + "UEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoK" + + "V29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBF" + + "eGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3Nh" + + "bmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChl" + + "LmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0" + + "aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxl" + + "IHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicg" + + "L3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3Zl" + + "cnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBl" + + "eGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMv" + + "YCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTog" + + "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + + "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + + "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + + "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + + "ZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1" + + "OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAg" + + "ICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVw" + + "IDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFt" + + "bApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25m" + + "aXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJp" + + "dG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3Jh" + + "cHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4" + + "YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3Jl" + + "dHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5H" + + "QyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdl" + + "IHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdD" + + "CgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBz" + + "b3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEv" + + "bnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRp" + + "YS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmls" + + "ZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRv" + + "a2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRv" + + "YXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1l" + + "c3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + + "ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIk" + + "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRy" + + "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + + "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tl" + + "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIk" + + "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFk" + + "ZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNw" + + "ZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZv" + + "ciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoK" + + "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + + "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + + "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + + "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + + "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxs" + + "U2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZv" + + "ciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBh" + + "IHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZj" + + "YS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5" + + "c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6" + + "IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNl" + + "cnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBo" + + "YXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBg" + + "SW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4g" + + "dmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRl" + + "cnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAi" + + "JG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52" + + "Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBl" + + "dmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + + "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9t" + + "IG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0" + + "YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xh" + + "dGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNo" + + "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xV" + + "U1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xl" + + "YW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9j" + + "ZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1u" + + "dmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRo" + + "ZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24g" + + "YmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZy" + + "b20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9y" + + "ZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1" + + "c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNl" + + "cnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHBy" + + "ZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVu" + + "bmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4g" + + "Rm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVu" + + "ZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEg" + + "YW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5h" + + "bWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQK" + + "Z2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0" + + "LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAt" + + "QyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBh" + + "c3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Ug" + + "Y2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFu" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBu" + + "cyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUg" + + "JyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29t" + + "bWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4g" + + "c3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1p" + + "bnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBF" + + "bmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRz" + + "IGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMj" + + "IFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52" + + "Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + + "cmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAg" + + "MjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9t" + + "YWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9p" + + "bnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMg" + + "YGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9B" + + "RERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyBy" + + "ZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0" + + "aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmln" + + "dXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRy" + + "ZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBj" + + "b21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVs" + + "ZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJl" + + "c2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2Zm" + + "IHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + + "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMg" + + "YW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMK" + + "CmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRv" + + "bWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52" + + "b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBu" + + "dmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRT" + + "dGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVw" + + "bG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRp" + + "bmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMs" + + "IENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3Rs" + + "IGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5" + + "c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUg" + + "c3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3Rv" + + "ciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1k" + + "ZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVh" + + "c2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZp" + + "Y2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwg" + + "bGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9" + + "dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + + "dCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxl" + + "ZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + + "bHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8Cnwg" + + "YG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCBy" + + "b3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAg" + + "fCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVg" + + "IHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBv" + + "bmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRk" + + "b25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBs" + + "b3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxl" + + "YXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1p" + + "bmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8" + + "IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + + "b3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGgg" + + "YC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsD" + + "BBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMg" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBj" + + "b21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxh" + + "bmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + + "IENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3lj" + + "bGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1m" + + "aWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9m" + + "IGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0t" + + "LXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBD" + + "TEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + + "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11" + + "c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1" + + "bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8g" + + "cGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVk" + + "IHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tg" + + "IGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3Nl" + + "IGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpD" + + "cmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250" + + "cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2Vydmlj" + + "ZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0" + + "cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpG" + + "b3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6" + + "Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSku" + + "ClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNv" + + "bnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBH" + + "YXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUg" + + "TkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJu" + + "YWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3" + + "YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlz" + + "IHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5M" + + "QjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRw" + + "b2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFp" + + "bj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIy" + + "MiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAg" + + "ICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFp" + + "bj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5" + + "LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5u" + + "dmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBj" + + "b250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAg" + + "ICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5" + + "fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + + "YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNw" + + "YWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6" + + "CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAg" + + "ICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBu" + + "dmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBo" + + "b3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgog" + + "ICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRp" + + "c2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZj" + + "YU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDov" + + "LzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTog" + + "InNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJl" + + "dmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRk" + + "cmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWlu" + + "PiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRz" + + "IGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVt" + + "cGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + + "LXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGlu" + + "c3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + + "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJl" + + "IEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQg" + + "YXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJh" + + "c2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91" + + "cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0" + + "OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxn" + + "YXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhv" + + "c3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBg" + + "SUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21z" + + "LXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9z" + + "dCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJl" + + "Z2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRl" + + "IHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNB" + + "X0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUt" + + "a3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElf" + + "Q09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+" + + "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + + "ZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVy" + + "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0" + + "ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21w" + + "dXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBi" + + "ZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRh" + + "cmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1w" + + "bGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNv" + + "bXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAt" + + "LXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNl" + + "IHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFu" + + "ZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + + "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + + "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29u" + + "dHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9s" + + "LXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAog" + + "IC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + + "eWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + + "PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFt" + + "ZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3Ig" + + "Y29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQg" + + "cHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhh" + + "bmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpD" + + "cmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhl" + + "IGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAK" + + "Ck9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Et" + + "b3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3Jl" + + "dHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJh" + + "dG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0" + + "ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlz" + + "dC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1k" + + "XShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdh" + + "dGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95" + + "LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJh" + + "dG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1j" + + "bHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1" + + "cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1z" + + "eXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21w" + + "dXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVz" + + "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVp" + + "dGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVs" + + "dC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + + "YXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4" + + "dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJs" + + "ZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNr" + + "LW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1" + + "ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0" + + "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSBy" + + "ZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBl" + + "eHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRo" + + "ZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBm" + + "aWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + + "LW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0" + + "ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVy" + + "IGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZh" + + "bHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVh" + + "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "LgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBg" + + "Y2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlv" + + "biBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxh" + + "bmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtl" + + "IC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + + "Qm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0" + + "aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVz" + + "ZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJl" + + "YWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0" + + "IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + + "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2Et" + + "aWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNs" + + "dXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZp" + + "ZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9u" + + "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lz" + + "dGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFu" + + "ZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29u" + + "dGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoK" + + "YGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + + "bnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93" + + "biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNl" + + "bGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFi" + + "bGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1j" + + "bHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9y" + + "IGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxh" + + "bmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + + "bGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZ" + + "EjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdn" + + "aW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBO" + + "VkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5k" + + "cwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBw" + + "b2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoK" + + "IyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3Vi" + + "ZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + + "CgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZv" + + "bHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBg" + + "CgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + + "RSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fz" + + "c2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAK" + + "CkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4v" + + "aW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + + "IyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxs" + + "IHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1j" + + "cmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVs" + + "bFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNv" + + "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VB" + + "Y2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8" + + "bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4" + + "ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBg" + + "YmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMg" + + "XAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0n" + + "JG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + + "ICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + + "bCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9k" + + "IGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0" + + "c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0o" + + "cHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNl" + + "Y3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2Vy" + + "dmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwt" + + "c2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4g" + + "c2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxl" + + "dGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNv" + + "cnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1" + + "bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFg" + + "IGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkg" + + "ICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAv" + + "MiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBp" + + "bml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZv" + + "ciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2Rz" + + "IC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1" + + "YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MK" + + "a3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8K" + + "CiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9n" + + "cyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMg" + + "Rml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50" + + "cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVu" + + "QmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZp" + + "bGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86Cgog" + + "ICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQt" + + "c3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1j" + + "cmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJh" + + "byBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVz" + + "OgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2Vy" + + "dmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQt" + + "aW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNj" + + "ZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBB" + + "S1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3Rh" + + "dGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdh" + + "cyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAo" + + "YGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpX" + + "S1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFj" + + "Y291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAg" + + "IGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5l" + + "dmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFz" + + "ZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZh" + + "bHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBp" + + "cyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1" + + "YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0" + + "aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAg" + + "ICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0" + + "OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJE" + + "aXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpv" + + "YiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAg" + + "YGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNj" + + "b3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRp" + + "b25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3Blbmlk" + + "L3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJl" + + "YWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMg" + + "aXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAg" + + "IHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhl" + + "IGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBv" + + "biBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAg" + + "U1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQg" + + "IDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3Jp" + + "YmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBT" + + "dGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxt" + + "ZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5t" + + "ZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAg" + + "ICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAg" + + "ICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNl" + + "UHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNo" + + "YXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGlu" + + "IFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RB" + + "VFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAg" + + "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZv" + + "ciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+" + + "IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFi" + + "bGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8x" + + "MiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNp" + + "c3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2Vs" + + "ZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZp" + + "bGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAg" + + "bnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFn" + + "ZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAg" + + "IGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkK" + + "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAt" + + "QTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNl" + + "IGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNo" + + "b3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxl" + + "IHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0" + + "aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxl" + + "YXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBm" + + "YWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95" + + "CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8" + + "bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVh" + + "dGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3Rz" + + "dHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rp" + + "b25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4K" + + "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJl" + + "Y3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIg" + + "fjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAt" + + "biBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJl" + + "cm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2Vz" + + "CgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0" + + "cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2" + + "NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5" + + "b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFz" + + "ZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBg" + + "CgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0" + + "cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgoj" + + "IyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2Vy" + + "dmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0" + + "cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25v" + + "cmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVz" + + "cyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0" + + "cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNr" + + "IChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3Mu" + + "IE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQg" + + "bnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAg" + + "ICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0" + + "aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRv" + + "d24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20g" + + "cmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhw" + + "b3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmlu" + + "YWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENP" + + "TVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRl" + + "bXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBc" + + "CiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIk" + + "ezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQg" + + "IiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxp" + + "emVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1" + + "Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNh" + + "LW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + + "Q09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAg" + + "anEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENP" + + "TVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMv" + + "JG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNB" + + "IE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1" + + "dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50" + + "IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52" + + "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFn" + + "bm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24g" + + "dXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJl" + + "LXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBz" + + "CmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3Ro" + + "ZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVj" + + "dCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + + "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dz" + + "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAw" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2Vu" + + "ZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZl" + + "cmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUg" + + "Y2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNl" + + "IGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdh" + + "eSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNv" + + "bmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQg" + + "YmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQu" + + "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4g" + + "ZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + + "ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1" + + "cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIK" + + "CiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50" + + "CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmly" + + "b25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRz" + + "JyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVz" + + "LCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3Qg" + + "Y2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRp" + + "cmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQg" + + "aW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFt" + + "cGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVu" + + "ZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoK" + + "UXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNl" + + "OgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5h" + + "dHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1" + + "bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2Vy" + + "dmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0" + + "ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVy" + + "LXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXkt" + + "c3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0" + + "ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0" + + "cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55" + + "YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlh" + + "bWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1v" + + "YnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwp" + + "CnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAj" + + "IERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFt" + + "bCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8" + + "ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChy" + + "ZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAg" + + "ICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZj" + + "Zi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRl" + + "bmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMK" + + "fCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFy" + + "dCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55" + + "YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRz" + + "KQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQg" + + "b3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBs" + + "YXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhh" + + "dmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZp" + + "bGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHBy" + + "b2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBw" + + "cm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBT" + + "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEt" + + "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8" + + "IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8" + + "IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2Vy" + + "dmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBt" + + "YW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNz" + + "YW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRl" + + "bmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNp" + + "ZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwg" + + "TmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0t" + + "LXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMg" + + "fAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1u" + + "dmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1u" + + "dmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8" + + "IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVs" + + "bS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxt" + + "LW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1y" + + "ZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxt" + + "LW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdh" + + "dGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMg" + + "fAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwg" + + "YXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdh" + + "dGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2Vy" + + "dmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMg" + + "dXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25l" + + "IGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVk" + + "IG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jl" + + "c3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxp" + + "dHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8" + + "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSBy" + + "ZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpH" + + "YXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBm" + + "aWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBg" + + "PDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55" + + "YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJl" + + "bGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRk" + + "IGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1w" + + "bGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0" + + "ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+" + + "YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFj" + + "ayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRl" + + "bmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5h" + + "bWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAu" + + "Li88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3Jl" + + "dHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6" + + "IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlh" + + "bWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + + "TXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + + "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + + "Y2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + + "aW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVs" + + "bWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3Mg" + + "bmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJz" + + "aW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBz" + + "ZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNl" + + "LCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVz" + + "IHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMg" + + "UHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9u" + + "bWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVu" + + "dHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJp" + + "ZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNv" + + "bnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6" + + "YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMg" + + "ZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFN" + + "TCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0" + + "aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBg" + + "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwg" + + "cmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJh" + + "LnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFs" + + "Lm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3Jh" + + "Z2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJl" + + "bG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0" + + "cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0" + + "cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMg" + + "T3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdy" + + "YXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZl" + + "ci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0" + + "b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2" + + "aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2Vs" + + "ZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNl" + + "dHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRv" + + "biBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlw" + + "ZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxs" + + "bS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUg" + + "d2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtl" + + "cnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRk" + + "b25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBw" + + "YXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBj" + + "b25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5n" + + "IHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAg" + + "IGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNl" + + "cnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6" + + "CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25p" + + "dG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmln" + + "OiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVu" + + "cmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVl" + + "CmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2Rl" + + "IHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxh" + + "aW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1" + + "bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4g" + + "U2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdp" + + "dGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlz" + + "IHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVx" + + "dWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRo" + + "ZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRl" + + "eHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoK" + + "VGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFu" + + "Y2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2Rz" + + "IHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0" + + "aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVl" + + "c3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdl" + + "IGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBh" + + "bmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhw" + + "bGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAg" + + "ICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1p" + + "bWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2Fj" + + "eSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlz" + + "IGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0" + + "eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25m" + + "aWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBh" + + "cHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2gg" + + "ZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNl" + + "ZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJn" + + "ZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBp" + + "bnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFs" + + "bGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24g" + + "dmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJl" + + "ZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95" + + "aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFm" + + "dGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVu" + + "Y3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtl" + + "ciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdh" + + "dGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIK" + + "a3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1y" + + "ZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0" + + "bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9" + + "J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypd" + + "fXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUg" + + "YGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxv" + + "YWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJn" + + "YXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9i" + + "bG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1j" + + "b25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmlj" + + "IHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVz" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + + "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFt" + + "ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNz" + + "dWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBy" + + "dW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFk" + + "bWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNl" + + "bGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgA" + + "AAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZD" + + "RiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUku" + + "IEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + + "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxl" + + "CgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFu" + + "ZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhl" + + "IHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVp" + + "YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRo" + + "YXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52" + + "aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAg" + + "ICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBz" + + "ZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25s" + + "eSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + + "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3Rs" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNl" + + "cnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRl" + + "ZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlz" + + "CmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUK" + + "CkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxl" + + "YXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhF" + + "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRl" + + "bXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1u" + + "dmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0" + + "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + + "fCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0" + + "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNG" + + "IFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBv" + + "c2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3Rl" + + "ZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRo" + + "ZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMg" + + "T3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3Ry" + + "eSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1" + + "bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUg" + + "Y3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMu" + + "IERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNv" + + "bnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGlu" + + "dG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFu" + + "ZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFu" + + "ZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29t" + + "bWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5" + + "dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRl" + + "CmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRl" + + "LW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBg" + + "CgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9y" + + "dCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + + "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + + "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + + "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + + "YGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBg" + + "LS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBs" + + "eSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92" + + "MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVs" + + "bHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBh" + + "ZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6" + + "CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBv" + + "ZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAg" + + "ICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAg" + + "ICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVt" + + "IgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdl" + + "ciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBt" + + "ZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlk" + + "aWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3Bl" + + "YzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNy" + + "LWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBg" + + "CgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2Vs" + + "ZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wt" + + "cGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMg" + + "dGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUt" + + "UGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBv" + + "biB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRv" + + "Y2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + + "CiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0" + + "IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoK" + + "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0" + + "IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + + "aXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRl" + + "ciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUK" + + "c2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sg" + + "dGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBF" + + "eHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5u" + + "b3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + + "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFu" + + "bm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0n" + + "CiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAg" + + "LS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAi" + + "U3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUg" + + "Y2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAt" + + "biBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgot" + + "ICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1h" + + "em9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBj" + + "YW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVn" + + "aXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRl" + + "bnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1h" + + "bmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5n" + + "CgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGlj" + + "eQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioq" + + "IHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNy" + + "ZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0" + + "ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNv" + + "bnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBS" + + "dW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQt" + + "aW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25n" + + "IHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkg" + + "dGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + + "c3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAA9vwCpKEAAAShAAABIA" + + "CQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAA" + + "AAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAHjsPruYQAADmEAAANAAJAAAAAAAAAAAAAABZhwAA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDsN4BfhBIAAIQSAAA3AAkAAAAAAAAAAAAAAKqYAABkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAnKsAAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAKvFAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAMesAAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAABj+gAAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQDggjxVIggAACIIAAA5AAkAAAAAAAAAAAAAACokAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAC8LAEAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM" + + "0yUAANMlAAAwAAkAAAAAAAAAAAAAAAVPAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZl" + + "cmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA5R15pvoPAAD6DwAAMgAJ" + + "AAAAAAAAAAAAAAA/dQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQt" + + "Y29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAUluNZW5WAABuVgAALQAJAAAAAAAAAAAA" + + "AACihQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAdNwBAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAABD/gEAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "R1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAADvYAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygA" + + "AH8oAAAvAAkAAAAAAAAAAAAAAKS3AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAA" + + "AAAAAAAAAIngAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6" + + "cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAHhEDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR" + + "7I0KKgAACioAAEQACQAAAAAAAAAAAAAARUIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAymwDAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAPl0AwBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBL" + + "BQYAAAAAFwAXAK8JAABuiwMAAAA=" var ( skillDataOnce sync.Once From 30de03bd31da310488ee088ce7cc7988e2c3e265 Mon Sep 17 00:00:00 2001 From: rohithb Date: Tue, 6 Oct 2026 23:29:29 +0530 Subject: [PATCH 103/127] fix(nvcf-cli): leave the validator Job time past VALIDATOR_TIMEOUT for its pod to start and its probe teardown Signed-off-by: rohithb --- .../internal/selfhosted/clustervalidator.go | 26 +++++++++++++------ .../clustervalidator_lifecycle_test.go | 21 ++++++++++++--- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 4ca4e9afbb..422ee95efe 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -92,16 +92,25 @@ const validatorDeferredSweeps = 3 // that finished late, and the container's exit code. const validatorGradeReads = 4 -// validatorDeadlineOffset is how long after the end of the run's own timeout -// the Job's active deadline ends its pod. The deadline plus the pod's -// termination grace must fall inside validatorDeadlineGrace, the wait for it. -const validatorDeadlineOffset = 60 * time.Second - // validatorTeardownBudget is the longest an interrupted validator spends // removing its node-to-node probe: the DaemonSet, the pods and the namespace, -// one after another, each with its own 20s budget. +// one after another, each with its own 20s budget. It is the validator's +// clustervalidator.ProbeCleanupBound, which a run cut short by its own timeout +// spends too. const validatorTeardownBudget = 3 * 20 * time.Second +// validatorPodStartSlack is the time the validator pod may take to be +// scheduled and pull its image. The Job's deadline counts it, and the +// validator's own timeout does not. +const validatorPodStartSlack = 2 * time.Minute + +// validatorDeadlineOffset is how long after the end of the run's own timeout +// the Job's active deadline ends its pod. VALIDATOR_TIMEOUT ends no later than +// the run's own timeout, so past it the pod has the time to start and to tear +// down the probe of a check its timeout cut short. The deadline plus the pod's +// termination grace must fall inside validatorDeadlineGrace, the wait for it. +const validatorDeadlineOffset = validatorPodStartSlack + validatorTeardownBudget + // clusterValidatorTerminationGrace is the validator pod's termination grace // period, the same as the chart's nvcaop.clusterValidatorJobSpec. It leaves // room past validatorTeardownBudget, so the kubelet does not kill the pod @@ -579,9 +588,10 @@ func setValidatorTimeout(job *batchv1.Job, left time.Duration) { } // validatorActiveDeadlineSeconds is the Job's active deadline when left of -// the run's own timeout remains: validatorDeadlineOffset after it ends. +// the run's own timeout remains: validatorDeadlineOffset after it ends, or +// after the one-second VALIDATOR_TIMEOUT a run with no time left still gets. func validatorActiveDeadlineSeconds(left time.Duration) int64 { - return int64(math.Ceil(left.Seconds())) + int64(validatorDeadlineOffset/time.Second) + return max(int64(math.Ceil(left.Seconds())), 1) + int64(validatorDeadlineOffset/time.Second) } // readValidatorLogs fetches the validator's transcript on a fresh context diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go index 798f3e04a4..4d3331d9f7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_lifecycle_test.go @@ -1500,7 +1500,8 @@ func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { assert.Positive(t, validatorDeadlineOffset, "the deadline must not cut short the run's own wait") assert.LessOrEqual(t, validatorDeadlineOffset+clusterValidatorTerminationGrace, defaultValidatorDeadlineGrace, "the pod must be gone before the CLI stops waiting for it") - assert.Equal(t, int64(68), validatorActiveDeadlineSeconds(7200*time.Millisecond)) + offset := int64(validatorDeadlineOffset / time.Second) + assert.Equal(t, 8+offset, validatorActiveDeadlineSeconds(7200*time.Millisecond)) prev := clusterValidatorTimeout clusterValidatorTimeout = 10 * time.Second @@ -1522,8 +1523,8 @@ func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { res := runClusterValidator(context.Background(), client, "nvcr.io/nvidia/validator:1", "", false, clusterValidatorComputePlaneRole, nil, map[string]string{validatorTimeoutEnv: "1h"}) require.NoError(t, res.Err) - assert.LessOrEqual(t, deadline, int64(8+60), "the deadline counts from the create, not the start of the run") - assert.Greater(t, deadline, int64(60)) + assert.LessOrEqual(t, deadline, 8+offset, "the deadline counts from the create, not the start of the run") + assert.Greater(t, deadline, offset) // The validator's own timeout counts from the same point and ends its // checks before this run stops waiting, whatever the caller passed. @@ -1541,6 +1542,20 @@ func TestRunClusterValidator_ActiveDeadlineFollowsTheRunsTimeout(t *testing.T) { "counted from the time left when the Job was created, not the run's full timeout") } +// Past VALIDATOR_TIMEOUT the Job's deadline leaves the pod time to be +// scheduled and pull its image, which the validator's timeout does not count, +// and to tear down the probe of a check that timeout cut short. With 90s for +// both, a pull over 30s and a slow teardown met the deadline, and the run +// reported a timeout instead of the validator's verdict. +func TestValidatorActiveDeadline_LeavesRoomPastTheValidatorTimeout(t *testing.T) { + for _, left := range []time.Duration{0, 7200 * time.Millisecond, 59 * time.Second, time.Minute, 5 * time.Minute} { + timeout, err := time.ParseDuration(validatorRunTimeout(left)) + require.NoError(t, err) + room := time.Duration(validatorActiveDeadlineSeconds(left))*time.Second - timeout + assert.GreaterOrEqual(t, room, validatorPodStartSlack+validatorTeardownBudget, "%s left", left) + } +} + // VALIDATOR_TIMEOUT leaves the summary margin of a full run's wait, and half of // a short one. func TestValidatorRunTimeout(t *testing.T) { From bf74f02953b9693c914c7e4a021688527b6ff2f7 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:15:13 +0530 Subject: [PATCH 104/127] fix(nvcf-cli): settle the nvcr.io credential once per repository scope, and treat only a 401 as a rejected login Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 13 +- .../agentskill/skilldata_generated.go | 4363 +++++++++-------- .../nvcf-cli/internal/selfhosted/BUILD.bazel | 1 + .../selfhosted/credential_scope_test.go | 222 + .../internal/selfhosted/credhelper_test.go | 77 +- .../internal/selfhosted/dockercreds.go | 209 +- .../nvcf-cli/internal/selfhosted/preflight.go | 2 +- .../internal/selfhosted/pullsecret.go | 9 +- .../internal/selfhosted/registry_cred.go | 63 +- .../internal/selfhosted/registry_cred_test.go | 65 +- .../internal/selfhosted/validatortag.go | 26 +- .../internal/selfhosted/validatortag_test.go | 6 +- 12 files changed, 2690 insertions(+), 2366 deletions(-) create mode 100644 src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 0b9214450c..20fd4808e5 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -78,11 +78,14 @@ For `nvcr.io` the NGC API key is also read, from the first of `NGC_API_KEY` that is set. It goes ahead of the docker login only for a bare `--pre` run with the `local` environment, since `up` creates its pull secrets from it, and it is never sent to another registry. Elsewhere the key -is sent when there is no docker login, or when `nvcr.io` rejects the docker -login. The run then uses the key, for tag discovery and the validator's pull -secret too, and the row says how to renew the login `docker` still sends. -Each `--wait` poll reads the credentials again, so a login renewed while the -run waits counts on the next poll. +is sent when there is no docker login, or for a repository where `nvcr.io` +rejects the docker login (a 401) or gives it no access (a 403). This is +decided once per repository, before tag discovery, the row and the +validator's pull secret use it, so all three get the same credential, and a +login with no access to one org still serves the orgs it reaches. A 403 is +reported as no access to that repository, never as a rejected login. Each +`--wait` poll reads the credentials again, so a login renewed while the run +waits counts on the next poll. The probe asks for pull access to the validator image's repository and to the stack's image path: any path in `global.image.registry`, then diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index cdb32f2cde..05c91a3e07 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU2NTMsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU4NjAsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1ZDQ0YWQxMTJjYzcwNGIx" + - "ODFmYjZiMDc1NTE2NzZiMTgwM2YzYTVmMGJkYTk0MWYwMWEyNjdiODhhZGQyNmVhIiwKICAgICAg" + - "InNpemUiOiAyMjEyNgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjYjhiNjQ5M2VlMjY4ZTI5" + + "YzMwMjRkODg2N2MwODYxMGZlZDQyNjcxYTZjMzBlMzc0NDM4MWFmN2U1MWRlNzcxIiwKICAgICAg" + + "InNpemUiOiAyMjMzMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCA9vwCpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCEWT1PVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1970,2185 +1970,2188 @@ const skillDataZipBase64 = "" + "ZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBp" + "dHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIg" + "cmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2Nr" + - "ZXIgbG9naW4sIG9yIHdoZW4gYG52Y3IuaW9gIHJlamVjdHMgdGhlIGRvY2tlcgpsb2dpbi4gVGhl" + - "IHJ1biB0aGVuIHVzZXMgdGhlIGtleSwgZm9yIHRhZyBkaXNjb3ZlcnkgYW5kIHRoZSB2YWxpZGF0" + - "b3IncyBwdWxsCnNlY3JldCB0b28sIGFuZCB0aGUgcm93IHNheXMgaG93IHRvIHJlbmV3IHRoZSBs" + - "b2dpbiBgZG9ja2VyYCBzdGlsbCBzZW5kcy4KRWFjaCBgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBj" + - "cmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZQpydW4gd2FpdHMg" + - "Y291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3Mg" + - "dG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGlt" + - "YWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9i" + - "YWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBh" + - "cyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBu" + - "dmNyLmlvYCByZWZ1c2VzIGl0LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVj" + - "dHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1h" + - "Z2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlh" + - "bCBpcwphIHdhcm5pbmcsIHNpbmNlIHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxs" + - "IHNlY3JldC4gQSByZWdpc3RyeSB0aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNl" + - "cnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJu" + - "aW5ncy4gQSByZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBv" + - "cgpvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVj" + - "ayBpdCBieSBoYW5kLiBBCnJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnlt" + - "b3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMj" + - "IFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBz" + - "ZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2" + - "YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBS" + - "ZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8" + - "IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhl" + - "IHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5" + - "QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5h" + - "YmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtl" + - "ci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5h" + - "bWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxp" + - "ZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kg" + - "R2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3Bh" + - "Y2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25l" + - "bnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlz" + - "IHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNv" + - "bXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNz" + - "IHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3Mg" + - "dGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xh" + - "c3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5W" + - "Q0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNs" + - "dXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8" + - "CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2Ag" + - "cmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoK" + - "LSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + - "LiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAg" + - "Y2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQu" + - "IE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNl" + - "LnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3Rh" + - "Y2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFja2AgZm9yIGEgY29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENM" + - "SSdzCiAgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHks" + - "IGFuZCBhbiBgb2NpOi8vYCBzdGFjawogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5k" + - "IGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBp" + - "bmNsdWRlZCwgaXMgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0" + - "dGVkCiAgc3RhdGUuIEEgQ0xJIHdpdGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZs" + - "YWcgcmVhZHMgdGhlIHN0YWNrCiAgY2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5" + - "LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFs" + - "aWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2Ag" + - "aXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVg" + - "IHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2Et" + - "aWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJF" + - "R0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwg" + - "RHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2Vg" + - "IHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0" + - "ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZl" + - "IHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRj" + - "aGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25l" + - "bnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBg" + - "ZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFt" + - "ZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwg" + - "LSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNt" + - "cy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4" + - "aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZh" + - "bHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5l" + - "cmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3Ro" + - "KSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhl" + - "IGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9O" + - "YCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQg" + - "ZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUg" + - "ZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8" + - "IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBh" + - "ZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChz" + - "ZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vl" + - "a3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAg" + - "aXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBh" + - "ZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0Vg" + - "IHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFp" + - "bmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwg" + - "Q29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxU" + - "XHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxt" + - "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1" + - "c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29y" + - "a2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMg" + - "U2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0t" + - "Y2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFu" + - "ZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVD" + - "YCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1" + - "cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVh" + - "dGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBg" + - "SGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9y" + - "IGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFz" + - "IGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJ" + - "VFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1" + - "ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9y" + - "aXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVw" + - "ZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVx" + - "dWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNz" + - "LCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRp" + - "bmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2Ag" + - "ZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkg" + - "dGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRp" + - "b25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5y" + - "b3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3Jv" + - "cV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJh" + - "dGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50" + - "ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1" + - "bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAo" + - "ZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5n" + - "IGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAw" + - "MDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRl" + - "bnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlv" + - "biwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2" + - "aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVx" + - "dWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0" + - "IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVl" + - "c3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rp" + - "b24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZv" + - "cndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1" + - "ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tp" + - "bmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1z" + - "cGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "dGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1v" + - "ZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+" + - "LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFi" + - "bGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFt" + - "cGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4g" + - "fCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBm" + - "dW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFu" + - "ZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXIt" + - "YWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkg" + - "b3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBv" + - "dmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBm" + - "dW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1v" + - "ZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcu" + - "dG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFu" + - "ZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3Jl" + - "YXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBK" + - "U09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBE" + - "ZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElE" + - "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwK" + - "fCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAt" + - "LW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5j" + - "ZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5" + - "IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8" + - "CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1" + - "c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoK" + - "YC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRl" + - "ZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEy" + - "OCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8" + - "IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBI" + - "MTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVk" + - "IHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8" + - "IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3" + - "aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQg" + - "VVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAg" + - "fAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdz" + - "IG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJB" + - "Q0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8" + - "IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQg" + - "fAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcg" + - "dGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNo" + - "LXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBl" + - "bnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12" + - "YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRl" + - "ZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xv" + - "Y2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZv" + - "ciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGlu" + - "IHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQ" + - "VDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBh" + - "ZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBg" + - "LS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRw" + - "dXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1" + - "bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1l" + - "YDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1v" + - "ZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8" + - "CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJl" + - "cGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1z" + - "ZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0g" + - "fAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQg" + - "SUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1l" + - "dHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRy" + - "YWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCFJbjWVuVgAAblYAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + - "ZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJy" + - "b3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGlu" + - "IHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTog" + - "b3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBo" + - "YXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMg" + - "UHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21w" + - "bGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBl" + - "dmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRh" + - "dG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBm" + - "dWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRI" + - "YCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBz" + - "Y29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxs" + - "IGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2lu" + - "c3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwg" + - "aHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhl" + - "bG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJv" + - "L2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0" + - "b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBp" + - "cyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1" + - "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9D" + - "TFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwK" + - "fCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2Fz" + - "IG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVu" + - "IG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + - "bHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywg" + - "b3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRv" + - "ciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAs" + - "IHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUg" + - "cmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBk" + - "ZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUg" + - "Y2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4g" + - "aW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBg" + - "ZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2Ag" + - "Y29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVy" + - "ZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVy" + - "ZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkv" + - "Z2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5h" + - "bWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVs" + - "dCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBh" + - "bmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBw" + - "YXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNs" + - "YXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBg" + - "Z2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3Ig" + - "YE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNs" + - "dXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZh" + - "aWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFi" + - "bGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Np" + - "bmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9k" + - "YXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9w" + - "ZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3Bl" + - "cmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVz" + - "cGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAg" + - "fCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3Ig" + - "aXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmpl" + - "Y3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBp" + - "biB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRo" + - "PSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBp" + - "LXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xl" + - "YXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0" + - "YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilg" + - "LCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBh" + - "bmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRo" + - "aXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwK" + - "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjog" + - "PHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1" + - "cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpg" + - "IG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5z" + - "dGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+" + - "IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1" + - "bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2Up" + - "YCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhl" + - "bG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2Jq" + - "ZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBv" + - "bGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJz" + - "PWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxu" + - "cz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVh" + - "bSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8" + - "CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFs" + - "dGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxg" + - "LCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVu" + - "dCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1f" + - "RFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQs" + - "IG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVz" + - "cGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVz" + - "cGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRo" + - "YXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2Vk" + - "LCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5t" + - "ZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55" + - "YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJv" + - "bm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNp" + - "ZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8t" + - "c3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwg" + - "dXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBB" + - "dXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBh" + - "ZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3Rh" + - "dGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3Rp" + - "dmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQg" + - "SldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcg" + - "a2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRy" + - "b2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFn" + - "YWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52" + - "b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8" + - "IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1" + - "biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + - "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3Nh" + - "bmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZp" + - "cm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fz" + - "c2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRg" + - "IChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHks" + - "IG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQ" + - "LkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVn" + - "aXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENM" + - "VVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBh" + - "bnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRg" + - "IChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNm" + - "LWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5D" + - "QV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwK" + - "fCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBz" + - "YXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQg" + - "aXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBz" + - "YXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExv" + - "b3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lz" + - "dGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHBy" + - "aW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUg" + - "c3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQg" + - "cmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGgg" + - "dmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNN" + - "UyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25p" + - "bmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5j" + - "dGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3Jl" + - "ZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZp" + - "ZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRT" + - "IHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBh" + - "dXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAu" + - "a3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tz" + - "Cgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNr" + - "IGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3Ig" + - "aG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNo" + - "b3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxl" + - "IGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZh" + - "bHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50" + - "J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1" + - "bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQg" + - "Y2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnks" + - "IG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlg" + - "IHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAA" + - "AAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1k" + - "VVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlw" + - "dGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1w" + - "bGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxl" + - "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2" + - "YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBm" + - "b3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBz" + - "cGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxh" + - "dGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBz" + - "ZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgog" + - "IGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdv" + - "cmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWly" + - "ZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1" + - "Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUt" + - "ZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAi" + - "CnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJv" + - "bC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95" + - "bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9i" + - "XQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxu" + - "dmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFn" + - "czogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBs" + - "YW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50" + - "LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBb" + - "aGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQot" + - "LS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3Vp" + - "ZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxt" + - "ZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFs" + - "bCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhl" + - "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVu" + - "Y3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVu" + - "Y2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQ" + - "cmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0" + - "YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNo" + - "aW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6" + - "CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1w" + - "bGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8g" + - "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8g" + - "PGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBk" + - "aXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZy" + - "b20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8" + - "b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291" + - "cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJz" + - "aW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9s" + - "LXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1" + - "dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZl" + - "cmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApo" + - "ZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVu" + - "dGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBs" + - "dWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZl" + - "cnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1" + - "c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8g" + - "Z2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVu" + - "dmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxg" + - "OyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0" + - "cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBs" + - "ZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBw" + - "cmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQK" + - "ZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQg" + - "d2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAg" + - "IC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBs" + - "YXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNy" + - "ZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3Zl" + - "cnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNl" + - "ZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRo" + - "cm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2Rl" + - "IHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFy" + - "eSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGln" + - "bm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8g" + - "b3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBg" + - "dmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJy" + - "aWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4g" + - "Q3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2" + - "YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1s" + - "IHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2" + - "YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + - "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAK" + - "CklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxt" + - "ZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10o" + - "I2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBj" + - "aGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9n" + - "aW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIp" + - "IHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJl" + - "IGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5k" + - "cyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + - "JE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + - "JyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1y" + - "ZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAt" + - "LXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20K" + - "YGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxv" + - "Z2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNo" + - "ZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRo" + - "ZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVs" + - "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRp" + - "ZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0" + - "aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERl" + - "bmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9y" + - "ZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcs" + - "Cj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRl" + - "bHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicg" + - "LS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiBy" + - "ZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEg" + - "c2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4g" + - "KFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNh" + - "dGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8g" + - "YSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBs" + - "aWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhl" + - "IG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0" + - "aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0" + - "ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAg" + - "ICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5l" + - "eGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxt" + - "OgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYg" + - "eW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91" + - "ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBg" + - "CgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0" + - "cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRh" + - "aW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFz" + - "LWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBg" + - "aHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZp" + - "ZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBn" + - "bG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZv" + - "cmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBg" + - "aHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBg" + - "LnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lz" + - "dHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVu" + - "ZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMg" + - "YWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAg" + - "YXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNj" + - "ZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBu" + - "b3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChz" + - "dGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGds" + - "b2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2Bo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1" + - "YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9u" + - "IGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5" + - "IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hl" + - "dmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3Ig" + - "aWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91" + - "dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciBy" + - "b3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBH" + - "YXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0" + - "ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0" + - "ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5h" + - "ZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUg" + - "YWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3" + - "YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRk" + - "cmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhl" + - "ci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2Vy" + - "dmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3Qg" + - "dG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9y" + - "IHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRl" + - "IHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFu" + - "Z2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0" + - "aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhh" + - "bXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5p" + - "ZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxv" + - "eQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxl" + - "LiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09S" + - "RGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBj" + - "YXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20z" + - "YC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNl" + - "cnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZp" + - "Y2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1" + - "dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUg" + - "c2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxv" + - "eW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVz" + - "OgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwt" + - "LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRl" + - "cGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8" + - "IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdy" + - "cGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwg" + - "b3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2Jz" + - "ZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4g" + - "fAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBw" + - "b2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpW" + - "YW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBm" + - "b3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9m" + - "IHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWls" + - "YWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3" + - "YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWlu" + - "IGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFs" + - "dWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRo" + - "YXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRv" + - "biwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwK" + - "YWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29u" + - "ZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAg" + - "YW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95" + - "bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5" + - "R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBp" + - "bnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJy" + - "aWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBE" + - "TlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2" + - "YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5k" + - "IHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5W" + - "PTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3lu" + - "YwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFu" + - "ZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBw" + - "Lmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUg" + - "LUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdh" + - "dGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0" + - "aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJh" + - "c2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZD" + - "RiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBp" + - "cyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdl" + - "cyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNr" + - "IHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVp" + - "YApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5l" + - "bCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBw" + - "dWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3Jl" + - "dCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRv" + - "bl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBh" + - "cmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5v" + - "dCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwg" + - "Y2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFs" + - "dWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3Rl" + - "ciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHBy" + - "b2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wt" + - "cGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBp" + - "bnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2" + - "ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0" + - "cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0" + - "aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQj" + - "dGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMg" + - "Y29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0" + - "c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFw" + - "aWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFy" + - "eS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4t" + - "aXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQg" + - "b25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVm" + - "YXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRp" + - "b24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5h" + - "Z2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxt" + - "ZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBv" + - "dGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUg" + - "Y29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBl" + - "eHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUg" + - "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9y" + - "IGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1h" + - "bmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2Ug" + - "bWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJl" + - "c2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0" + - "ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNv" + - "bmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBg" + - "bnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMK" + - "CmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5h" + - "bWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xl" + - "YW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1" + - "bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMg" + - "T3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0" + - "ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFn" + - "YXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFz" + - "c2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0" + - "IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBh" + - "bmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0" + - "ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxt" + - "ZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAu" + - "OC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJh" + - "LXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwu" + - "Z290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxF" + - "X0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6" + - "CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9y" + - "eTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAg" + - "ICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVh" + - "c2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVl" + - "czpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNs" + - "dWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZp" + - "ZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5j" + - "ICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVl" + - "IGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWlu" + - "ZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBj" + - "b3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1" + - "bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdl" + - "LVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5W" + - "Q0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24g" + - "aW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0g" + - "c2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBg" + - "ZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2" + - "YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5W" + - "Q0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1s" + - "YCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNl" + - "Y3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25m" + - "aWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tl" + - "bjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhl" + - "IGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEK" + - "PiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vo" + - "b2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJl" + - "YWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2" + - "YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFw" + - "aSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhg" + - "IGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0" + - "IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRv" + - "a2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tl" + - "cmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVu" + - "Y3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1" + - "c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5" + - "IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4g" + - "ICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9t" + - "IGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBm" + - "aW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5z" + - "dGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gK" + - "PiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNl" + - "NjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFn" + - "ZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tz" + - "IGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1h" + - "Z2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxv" + - "eS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+" + - "IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwg" + - "dGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVu" + - "IGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50" + - "Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFu" + - "ZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZm" + - "ZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0" + - "aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhp" + - "cyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAo" + - "cmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8g" + - "YXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4g" + - "TlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBu" + - "byBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRl" + - "ZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0" + - "dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGlu" + - "c3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3Bh" + - "Y2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0Nf" + - "QVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + - "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAg" + - "a3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0t" + - "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tl" + - "bicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3Bh" + - "Y2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAt" + - "ZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFw" + - "cGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGlj" + - "eSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxT" + - "ZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJl" + - "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9" + - "XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxw" + - "ZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xp" + - "Y3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dp" + - "bmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAt" + - "byB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwpr" + - "dWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBS" + - "ZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20g" + - "fCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFj" + - "a09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0" + - "IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8" + - "IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBm" + - "b3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwK" + - "fCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAg" + - "LT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2Vu" + - "IHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBw" + - "dWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZh" + - "dWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4g" + - "Q29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVu" + - "YmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3Jl" + - "ZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8x" + - "IFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJl" + - "c291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZh" + - "bHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50" + - "aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERF" + - "RkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3Jk" + - "YCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJv" + - "bGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5E" + - "UkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2" + - "aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0" + - "b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0" + - "b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwg" + - "ZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5" + - "bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNy" + - "ZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2Yt" + - "YXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2Fs" + - "bHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFw" + - "IHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBm" + - "YWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xl" + - "YW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBW" + - "ZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0" + - "cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMg" + - "ZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZh" + - "dWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBs" + - "YDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUg" + - "d29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBw" + - "b2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8i" + - "YCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7" + - "IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBg" + - "ZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292" + - "LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNw" + - "YCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoK" + - "VGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29r" + - "IG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBg" + - "IGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpm" + - "aXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxl" + - "ZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNs" + - "ZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQs" + - "IGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5" + - "cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25n" + - "IGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5j" + - "OgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpg" + - "YGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcg" + - "dGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJp" + - "b3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFu" + - "ZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBu" + - "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4g" + - "bnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291" + - "bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRp" + - "b246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1w" + - "bGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5k" + - "LWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBz" + - "dHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0" + - "c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNl" + - "cy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdl" + - "IEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRv" + - "b2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3" + - "YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0" + - "IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAo" + - "Pj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3Rlciku" + - "IEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3" + - "ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12" + - "ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3Zl" + - "ZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicg" + - "YW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBw" + - "bHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9z" + - "ZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHBy" + - "b2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJx" + - "dWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFj" + - "aywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUg" + - "dXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUg" + - "dGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVs" + - "bWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFu" + - "dCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBs" + - "YXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHBy" + - "ZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBz" + - "dGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjog" + - "Ik5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRo" + - "ZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1" + - "Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1" + - "c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJl" + - "c291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNl" + - "LWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFn" + - "ZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0" + - "b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmly" + - "bWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNv" + - "bW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tl" + - "bmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVy" + - "cyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5W" + - "Q0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBk" + - "aWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3Qg" + - "cmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmls" + - "ZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRy" + - "b2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1m" + - "aWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFt" + - "bC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3Jl" + - "ZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZp" + - "bGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxl" + - "c3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21w" + - "dXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwg" + - "YW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0" + - "IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRl" + - "IGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUg" + - "YWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBp" + - "bnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVk" + - "IGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZp" + - "Y2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBh" + - "bmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + - "ICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0" + - "ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwg" + - "YW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQg" + - "J21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBD" + - "TFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlh" + - "bWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAt" + - "LWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhl" + - "cmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBk" + - "aXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAi" + - "VGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhp" + - "cyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9u" + - "IjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVs" + - "bSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUg" + - "cmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwg" + - "T0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAg" + + "ZXIgbG9naW4sIG9yIGZvciBhIHJlcG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhl" + + "IGRvY2tlciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlz" + + "IGlzCmRlY2lkZWQgb25jZSBwZXIgcmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRo" + + "ZSByb3cgYW5kIHRoZQp2YWxpZGF0b3IncyBwdWxsIHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJl" + + "ZSBnZXQgdGhlIHNhbWUgY3JlZGVudGlhbCwgYW5kIGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8g" + + "b25lIG9yZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0" + + "ZWQgYXMgbm8gYWNjZXNzIHRvIHRoYXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBs" + + "b2dpbi4gRWFjaApgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28g" + + "YSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZSBydW4Kd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBv" + + "bGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFn" + + "ZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGlu" + + "IGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAu" + + "IEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFt" + + "LCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoK" + + "T25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5k" + + "IG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVz" + + "LiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNl" + + "IHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0" + + "aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5k" + + "IGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUg" + + "cHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0" + + "aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lz" + + "dHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMg" + + "c3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0" + + "aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEku" + + "IEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5" + + "IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwg" + + "RW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5n" + + "cmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMg" + + "cm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVl" + + "YCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQg" + + "YGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dB" + + "VEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVz" + + "LiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBp" + + "dCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBg" + + "aW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FU" + + "RVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJh" + + "b2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVl" + + "YCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9F" + + "WFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xh" + + "c3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0" + + "cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NM" + + "QVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0Vg" + + "IHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + + "LWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92" + + "ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9u" + + "bHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMg" + + "bmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1" + + "bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5z" + + "dGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBg" + + "LS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyBy" + + "ZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90" + + "IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDog" + + "YC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEg" + + "Y29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2su" + + "IEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFj" + + "awogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBD" + + "TEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQs" + + "IHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdp" + + "dGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAg" + + "Y2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcg" + + "ZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRl" + + "d2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2Fybmlu" + + "ZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBp" + + "ZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQg" + + "SUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lv" + + "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBw" + + "bGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNp" + + "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVz" + + "dGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wg" + + "KyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAg" + + "fAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8" + + "IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBg" + + "LS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVy" + + "IHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8Cnwg" + + "YC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lP" + + "TmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5k" + + "cG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNy" + + "ZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBn" + + "ZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + + "LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZp" + + "ZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24g" + + "VEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkg" + + "bnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUu" + + "Zy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8Cnwg" + + "YC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVp" + + "cmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlk" + + "YXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNl" + + "YCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVz" + + "KSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJl" + + "cGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBG" + + "dW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwg" + + "LSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2lu" + + "dCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBw" + + "b3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBG" + + "dW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + + "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24t" + + "dHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhl" + + "bG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQg" + + "YnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwK" + + "fCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7" + + "IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1l" + + "dGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1" + + "c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3Ig" + + "ZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0" + + "cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwg" + + "LSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwg" + + "ZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3Jp" + + "dHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAg" + + "fCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAg" + + "dG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9y" + + "aXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBg" + + "ZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1v" + + "ZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1j" + + "b21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1" + + "cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + + "LCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRz" + + "IGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxz" + + "YXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUg" + + "b3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4g" + + "YDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRz" + + "KSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtz" + + "KS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUg" + + "YDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09O" + + "LgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAu" + + "IEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6" + + "ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxz" + + "W10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRg" + + "IG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFy" + + "dFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVu" + + "Y3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZD" + + "RiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hh" + + "dCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRp" + + "LXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1" + + "ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVw" + + "bGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExM" + + "TSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhv" + + "ZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBt" + + "YXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlu" + + "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + + "dC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0" + + "eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFj" + + "Y291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + + "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + + "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + + "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2Vw" + + "dHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25m" + + "aWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJp" + + "c2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9k" + + "ZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + + "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9j" + + "IG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + + "fAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBg" + + "LS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZ" + + "UEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBN" + + "aW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMg" + + "fCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBg" + + "MGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + + "TkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5n" + + "IFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBp" + + "cyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9j" + + "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1l" + + "IE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1a" + + "XVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3" + + "aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2Ut" + + "dHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + + "ZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENv" + + "bnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwK" + + "fCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2Ug" + + "fCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklM" + + "RWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVz" + + "IHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENT" + + "UCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdp" + + "dGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdz" + + "IEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmds" + + "ZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29u" + + "dGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJv" + + "bm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0t" + + "bWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAx" + + "LCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBg" + + "LS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxs" + + "YXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0" + + "aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNP" + + "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBM" + + "T0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8Cnwg" + + "YC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9y" + + "bWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1y" + + "ZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + + "YCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6" + + "VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10" + + "YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2Ny" + + "aXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5" + + "LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNz" + + "LXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + + "CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9p" + + "bnQgSUQgfCAtIHwKUEsHCByOEto9VwAAPVcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRV" + + "VAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBj" + + "b21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0" + + "dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBl" + + "dmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVn" + + "b3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCBy" + + "ZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMK" + + "YHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1" + + "c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkg" + + "cm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5v" + + "dCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3Vi" + + "ZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7" + + "IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBz" + + "Oi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBo" + + "ZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hl" + + "bG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhg" + + "IHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rl" + + "ci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsg" + + "Li4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUg" + + "Y2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2Vg" + + "IGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFH" + + "RWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Ig" + + "ZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAs" + + "IGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMg" + + "dmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0" + + "IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0" + + "ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMg" + + "dHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0" + + "b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcg" + + "dXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBz" + + "ZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2Fy" + + "bmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2" + + "YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciBy" + + "b2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhl" + + "IHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwK" + + "fCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6" + + "IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGlu" + + "c3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNw" + + "YWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVy" + + "LXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBG" + + "b3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90" + + "IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3si" + + "bWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMt" + + "ZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2Ag" + + "aW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2Ap" + + "IHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9y" + + "dGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFu" + + "ZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMs" + + "IG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJ" + + "bnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2" + + "ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBg" + + "ZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRg" + + "IGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sg" + + "VGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBi" + + "ZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0" + + "IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhv" + + "bGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiBy" + + "ZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25z" + + "fSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwg" + + "YW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5h" + + "bGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5z" + + "PiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwg" + + "ZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQg" + + "YW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBz" + + "dHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6" + + "IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAs" + + "IHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0" + + "ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBU" + + "aGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBy" + + "dW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlz" + + "aCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUt" + + "bmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1l" + + "c3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxs" + + "IGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZl" + + "cyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qg" + + "b25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1v" + + "IG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25v" + + "cmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQg" + + "Y29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "IHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0" + + "b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBg" + + "SEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUg" + + "aGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFt" + + "ZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4g" + + "YW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sg" + + "YGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMg" + + "Y29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtz" + + "ZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20t" + + "dGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52" + + "YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVj" + + "a3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWkt" + + "c2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlg" + + "IG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBm" + + "bGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVz" + + "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAg" + + "KGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90" + + "IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1Qg" + + "LS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVy" + + "IGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxl" + + "IHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZj" + + "Zi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3Npbmcg" + + "cmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRv" + + "ZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdl" + + "bmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFs" + + "bCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + + "CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3Rh" + + "dGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xh" + + "c3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJ" + + "bnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwg" + + "V3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAi" + + "Z3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGBy" + + "ZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29t" + + "cHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1w" + + "dHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8" + + "CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJp" + + "bmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2" + + "YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2Yt" + + "Y2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1h" + + "Z2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNs" + + "dXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdl" + + "IGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8Cgoj" + + "IyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAg" + + "NDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNs" + + "dXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVy" + + "IElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJl" + + "c2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + + "ciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQg" + + "Y29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3Rl" + + "ciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJh" + + "Y2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmln" + + "IG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5k" + + "IDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95" + + "IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29s" + + "ZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwg" + + "YGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5h" + + "dHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8" + + "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlz" + + "c2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1" + + "c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5" + + "LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFs" + + "IGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFn" + + "YXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlh" + + "bHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1p" + + "bikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVz" + + "IHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Yg" + + "cm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5" + + "IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFu" + + "ZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29t" + + "cHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + + "bGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxs" + + "IHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAg" + + "aW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBj" + + "b250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYt" + + "aG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVu" + + "dHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vu" + + "c2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAg" + + "PCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5n" + + "IGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + + "Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1h" + + "bmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFu" + + "ZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0" + + "b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5h" + + "bDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdl" + + "Lm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdl" + + "ZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBj" + + "bGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFu" + + "Z3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVj" + + "dGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFn" + + "ZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0Yg" + + "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5z" + + "dHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRv" + + "d24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1j" + + "b21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + + "IHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJl" + + "YWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + + "ZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9y" + + "IHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQg" + + "aW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + + "bnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + + "L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8g" + + "PGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+" + + "L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywg" + + "ZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2Mg" + + "cmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24g" + + "PG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxh" + + "bmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBT" + + "cGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250" + + "ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAj" + + "IE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNp" + + "b24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3Qg" + + "aW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBt" + + "dXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxh" + + "bmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxz" + + "IGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBg" + + "YAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFt" + + "bGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNh" + + "bm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + + "bnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZs" + + "b3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21t" + + "b24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFt" + + "bCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2Jh" + + "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1j" + + "aGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFt" + + "bCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlu" + + "bGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6" + + "IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0" + + "byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwg" + + "cmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUg" + + "ZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1s" + + "LmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBb" + + "T3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1" + + "ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5k" + + "IGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFz" + + "aApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1l" + + "c3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + + "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + + "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + + "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0" + + "cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVy" + + "ZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cyku" + + "CgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBg" + + "ZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3Ig" + + "TkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywg" + + "c28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJh" + + "dGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2Vy" + + "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoK" + + "IyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAg" + + "aGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2Nv" + + "dW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1v" + + "cmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBv" + + "cmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0" + + "aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + + "LmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkg" + + "b3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBm" + + "YWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhl" + + "IGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBj" + + "aGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUg" + + "bG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwg" + + "b3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVy" + + "IGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3Jl" + + "ZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJv" + + "ciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZy" + + "b20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkK" + + "CklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBj" + + "bHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3Jl" + + "dCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRl" + + "bnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0" + + "YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQg" + + "dGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAg" + + "IGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + + "Z2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVw" + + "b3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhl" + + "IGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAg" + + "cmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBo" + + "YXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJ" + + "IGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlv" + + "Ly4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBj" + + "aGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3Np" + + "dG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUg" + + "bm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAog" + + "ICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNr" + + "IGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9D" + + "STogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVs" + + "bSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRo" + + "PmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3Vy" + + "Y2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0" + + "ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5v" + + "ZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMg" + + "bm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1l" + + "c3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVz" + + "cGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRz" + + "YCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52" + + "Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1h" + + "cGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0" + + "aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQg" + + "Y3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRo" + + "ZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJv" + + "cmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRv" + + "bWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxk" + + "b21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJh" + + "bGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdB" + + "WV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdh" + + "eS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykK" + + "dGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0" + + "bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRl" + + "cm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxm" + + "LW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVz" + + "dGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBn" + + "bG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2As" + + "IGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3Vy" + + "IGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlf" + + "QUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9t" + + "YWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9u" + + "LiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFBy" + + "ZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + + "ZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fz" + + "c2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRv" + + "Y3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJh" + + "IGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + + "YXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4g" + + "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0" + + "IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBg" + + "QmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNh" + + "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVM" + + "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmls" + + "ZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9y" + + "IHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18" + + "LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBP" + + "cGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZp" + + "Y2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBp" + + "LWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3" + + "YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1" + + "LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMg" + + "fCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZh" + + "YmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFy" + + "YXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYu" + + "IEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNh" + + "YmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhv" + + "c3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQ" + + "SSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + + "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRy" + + "YWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApy" + + "ZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1h" + + "bmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklm" + + "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZp" + + "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3" + + "YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZh" + + "dWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2" + + "YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFu" + + "ZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmln" + + "YC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRv" + + "bWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhl" + + "IHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNv" + + "bmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFz" + + "ZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3" + + "YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91" + + "dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12" + + "YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpj" + + "dXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4v" + + "aGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQ" + + "SSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMu" + + "IFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgoj" + + "IyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + + "Y3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0" + + "IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5W" + + "Q0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29u" + + "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAg" + + "dGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRo" + + "ZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3Ig" + + "ZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2" + + "ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVp" + + "LWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0" + + "YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxh" + + "bmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNv" + + "bXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBh" + + "cmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGgg" + + "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBw" + + "cm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVu" + + "IHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8g" + + "bm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + + "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNv" + + "bW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFy" + + "ZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxh" + + "bmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBz" + + "YW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9u" + + "bHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmls" + + "ZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAs" + + "IGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZp" + + "Y2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwg" + + "YHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBp" + + "bmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdl" + + "ci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBh" + + "bHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51" + + "cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUg" + + "dGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVh" + + "c2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9y" + + "IG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95" + + "LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVy" + + "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + + "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + + "IHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9u" + + "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBi" + + "eSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + + "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFu" + + "ZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkg" + + "dmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9y" + + "ZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBn" + + "ZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8" + + "c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0" + + "IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBr" + + "ZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRy" + + "YS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4K" + + "CiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVs" + + "ZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJs" + + "b2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8g" + + "dGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBg" + + "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + + "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + + "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + + "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + + "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAg" + + "ICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICBy" + + "ZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkK" + + "YGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRl" + + "bmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1w" + + "bGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3Rt" + + "cGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xl" + + "IHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMj" + + "IEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwg" + + "dHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVs" + + "b3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9y" + + "bWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290" + + "c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwt" + + "LS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBu" + + "dmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50" + + "byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNy" + + "ZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2Vj" + + "cmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdF" + + "X1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNl" + + "cy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRg" + + "KSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWls" + + "ZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQo" + + "IiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + + "ZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBU" + + "aGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRI" + + "X0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBk" + + "b2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFz" + + "IGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2" + + "ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJj" + + "b25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRv" + + "a2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVu" + + "c3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAt" + + "IFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5z" + + "Cj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3Jt" + + "YXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVs" + + "bCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNz" + + "IG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Ig" + + "d3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2Rpbmcg" + + "aXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0" + + "aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICck" + + "b2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1" + + "dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9" + + "IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBm" + + "b3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBr" + + "dWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3Mg" + + "dXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdo" + + "ZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + + "Z2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52" + + "Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3Vu" + + "dC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQg" + + "KHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5n" + + "IGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRp" + + "Y2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBw" + + "YXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBL" + + "eXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3Qg" + + "YGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlz" + + "IHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJh" + + "dGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0" + + "YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIu" + + "aW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5v" + + "L2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwg" + + "c2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkg" + + "dGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2Vw" + + "dWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBh" + + "dCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3It" + + "Y3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + + "IFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYg" + + "dXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElB" + + "TSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNy" + + "ZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZl" + + "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMg" + + "Y2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAg" + + "ICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4g" + + "PG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMj" + + "IENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0t" + + "LS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9y" + + "aXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0" + + "cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24g" + + "c2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9w" + + "ZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0" + + "LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24g" + + "a2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFv" + + "IEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUg" + + "Y2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBP" + + "SURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292" + + "ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25z" + + "YCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + + "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBg" + + "T09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBP" + + "dmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFj" + + "a2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBD" + + "YXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBg" + + "Y2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNl" + + "Y3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJl" + + "LXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBv" + + "ZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0" + + "bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFz" + + "ZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVs" + + "bWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50" + + "IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + + "ZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "IC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93" + + "biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5l" + + "dmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJl" + + "ZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhv" + + "b2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUg" + + "aG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUt" + + "YWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNl" + + "Y3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRv" + + "IGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2" + + "ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5k" + + "IGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNl" + + "dCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8" + + "CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0" + + "Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMg" + + "dGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1Nf" + + "UkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMj" + + "IyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBp" + + "cyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNl" + + "KioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2Ug" + + "aXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwg" + + "YGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0" + + "IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9v" + + "ayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50" + + "IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xp" + + "ZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMu" + + "CgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9" + + "J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJz" + + "ZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28g" + + "dGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxp" + + "bmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoK" + + "YGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNj" + + "b3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgoj" + + "IyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhh" + + "bXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlk" + + "aWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0" + + "IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMv" + + "aGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNl" + + "Y3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRl" + + "ciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNy" + + "ZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tl" + + "IGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUA" + + "AQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1" + + "ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + + "S1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0" + + "aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJl" + + "cXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjAp" + + "LCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3Rs" + + "IChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0" + + "byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAg" + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tl" + - "biB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJh" + - "biAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1l" + - "IGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + - "YXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2Nr" + - "ZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRl" + - "IG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBo" + - "ZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVj" + - "dHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5n" + - "b3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVj" + - "dGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1z" + - "dGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2Fp" + - "bnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4" + - "cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNy" + - "ZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJl" + - "IG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmls" + - "ZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qg" + - "b3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQ" + - "ZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcn" + - "LiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1w" + - "bGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVj" + - "dHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFu" + - "YWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwg" + - "YW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxl" + - "Y3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQg" + - "dGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9m" + - "aWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlk" + - "YXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIs" + - "CiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2Fu" + - "ZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQt" + - "c3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3Bh" + - "Y2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxl" + - "IHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVu" + - "ZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0" + - "ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5" + - "LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRl" + - "LXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2Yt" + - "Y2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5z" + - "dGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9i" + - "YWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENM" + - "SSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJv" + - "bC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFu" + - "ZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZv" + - "cmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRo" + - "ZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFs" + - "bC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRy" + - "b2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250" + - "cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1h" + - "bmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1h" + - "bmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1" + - "YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBj" + - "b21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNv" + - "bW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5h" + - "bWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBl" + - "bmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3Ry" + - "YXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJl" + - "c291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9P" + - "TUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBs" + - "YXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1" + - "ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFs" + - "dWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2" + - "aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0" + - "dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRl" + - "bXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJs" + - "b2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAg" + - "IlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmls" + - "ZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lm" + - "eWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5" + - "IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRl" + - "bXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlv" + - "biI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJh" + - "LCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRl" + - "bmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5" + - "IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0" + - "b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5k" + - "ZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFt" + - "ZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAog" + - "ICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdl" + - "dGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1k" + - "ZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBh" + - "cmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4g" + - "ZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVk" + - "IHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNy" + - "ZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRo" + - "ZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGlt" + - "YWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBl" + - "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIElt" + - "YWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxs" + - "IHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBh" + - "Z2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2" + - "aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2Ug" + - "YW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5" + - "LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmln" + - "dXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9s" + - "IHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2" + - "YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2Vu" + - "dCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBj" + - "b250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdh" + - "eSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBh" + - "bmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBn" + - "UlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVy" + - "eS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRz" + - "IGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWws" + - "IGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRo" + - "ZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBj" + - "ZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1" + - "c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwK" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + + "aXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49" + + "IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlm" + + "aWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + + "ICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRp" + + "YmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + + "YyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVz" + + "dCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNr" + + "cyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBj" + + "aGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyBy" + + "ZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFp" + + "bmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5" + + "IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0" + + "ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlm" + + "ZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAn" + + "aGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVu" + + "IHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnly" + + "dW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUg" + + "c3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNh" + + "dXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJl" + + "bW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBj" + + "bGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFt" + + "ZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1v" + + "cGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJl" + + "c291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21w" + + "dXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBh" + + "Z2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92" + + "ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFj" + + "ZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2Vz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + + "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + + "dXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkg" + + "dG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAg" + + "ICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJh" + + "dGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1" + + "dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBm" + + "cm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBs" + + "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3" + + "YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3Rh" + + "bGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJl" + + "Z2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVj" + + "b25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhl" + + "IHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRp" + + "b24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwK" + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVz" + - "cGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJl" + - "ZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5" + - "IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2Jh" + - "bC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZj" + - "Zk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQg" + - "aW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZj" + - "ZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZp" + - "Y2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91" + - "dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29y" + - "a2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5n" + - "cmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUg" + - "YWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0" + - "cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVS" + - "TCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAg" + - "ICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNt" + - "c1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNl" + - "SG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAg" + - "ICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBj" + - "ZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVk" + - "IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVy" + - "YXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQt" + - "dGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBs" + - "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhl" + - "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJh" + - "dGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRy" + - "b2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4g" + - "QmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJv" + - "dGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2Vz" + - "IG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1h" + - "bmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJv" + - "cnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9y" + - "IGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRl" + - "ZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2Ug" + - "YW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5l" + - "cmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNv" + - "bW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNs" + - "dXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNv" + - "bmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJt" + - "YXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0" + - "IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJl" + - "Zml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lz" + - "dHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0" + - "aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0" + - "YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1h" + - "dGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklE" + - "IGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZv" + - "cmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0" + - "ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90" + - "IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVk" + - "IGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFi" + - "bGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAi" + - "Qm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2Ug" + - "YnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVu" + - "YW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93" + - "IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcg" + - "YW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0Lzxj" + - "bHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRl" + - "ZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1w" + - "cmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRl" + - "ZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNh" + - "bm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdo" + - "ZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4" + - "cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywg" + - "Ym90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWlj" + - "bXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFn" + - "ZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5k" + - "IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJl" + - "bWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAog" + - "ICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1" + - "dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29y" + - "ayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUg" + - "dmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1s" + - "LmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFp" + - "bmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2" + - "YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBw" + - "cmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290" + - "bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRp" + - "ZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmlj" + - "IGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2Jh" + - "bC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFy" + - "eSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxv" + - "Y2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJl" + - "IHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVs" + - "ZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1s" + - "bG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9u" + - "VHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0" + - "ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNh" + - "dGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5h" + - "YmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNp" + - "bmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIs" + - "IGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28g" + - "d2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhl" + - "IGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIg" + - "cm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCBy" + - "ZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBn" + - "YXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmln" + - "Lm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJh" + - "dGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2Vy" + - "IHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0" + - "ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwg" + - "cmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBk" + - "ZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwg" + - "bm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQg" + - "Z2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmds" + - "ZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJl" + - "cXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5v" + - "bmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhv" + - "ZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXkt" + - "dG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVk" + - "IHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3Jr" + - "ZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3Bv" + - "cnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1w" + - "bGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdp" + - "dGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVk" + - "IGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1h" + - "cGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRo" + - "ZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNl" + - "dCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0" + - "IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5v" + - "dCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQg" + - "b3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHBy" + - "b3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmls" + - "ZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBh" + - "Z2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3Ig" + - "ZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0K" + - "UEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoK" + - "V29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBF" + - "eGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3Nh" + - "bmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChl" + - "LmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0" + - "aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxl" + - "IHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicg" + - "L3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3Zl" + - "cnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBl" + - "eGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMv" + - "YCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTog" + - "Y2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVk" + - "CiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVz" + - "OgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97" + - "eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2Fu" + - "ZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1" + - "OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAg" + - "ICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVw" + - "IDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFt" + - "bApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25m" + - "aXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJp" + - "dG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3Jh" + - "cHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4" + - "YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3Jl" + - "dHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5H" + - "QyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdl" + - "IHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdD" + - "CgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBz" + - "b3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEv" + - "bnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRp" + - "YS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmls" + - "ZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRv" + - "a2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRv" + - "YXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1l" + - "c3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + - "ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIk" + - "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRy" + - "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBj" + - "ZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tl" + - "ci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIk" + - "bnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFk" + - "ZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNw" + - "ZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZv" + - "ciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoK" + - "CmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjog" + - "Y2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRl" + - "cGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88" + - "cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMu" + - "eWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxs" + - "U2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZv" + - "ciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBh" + - "IHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZj" + - "YS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5" + - "c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6" + - "IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNl" + - "cnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBo" + - "YXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBg" + - "SW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4g" + - "dmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRl" + - "cnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAi" + - "JG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52" + - "Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBl" + - "dmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdy" + - "ZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9t" + - "IG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0" + - "YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xh" + - "dGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNo" + - "Cm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xV" + - "U1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xl" + - "YW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9j" + - "ZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1u" + - "dmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRo" + - "ZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24g" + - "YmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZy" + - "b20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9y" + - "ZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1" + - "c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNl" + - "cnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHBy" + - "ZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVu" + - "bmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4g" + - "Rm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5h" + - "Z2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVu" + - "ZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + - "YmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEg" + - "YW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5h" + - "bWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQK" + - "Z2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0" + - "LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAt" + - "QyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBh" + - "c3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Ug" + - "Y2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFu" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBu" + - "cyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUg" + - "JyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29t" + - "bWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4g" + - "c3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1p" + - "bnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBF" + - "bmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRz" + - "IGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMj" + - "IFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52" + - "Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRk" + - "cmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAg" + - "MjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9t" + - "YWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9p" + - "bnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMg" + - "YGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9B" + - "RERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyBy" + - "ZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0" + - "aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmln" + - "dXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRy" + - "ZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBj" + - "b21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVs" + - "ZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJl" + - "c2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2Zm" + - "IHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + - "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMg" + - "YW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMK" + - "CmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRv" + - "bWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52" + - "b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBu" + - "dmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRT" + - "dGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVw" + - "bG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRp" + - "bmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMs" + - "IENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3Rs" + - "IGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5" + - "c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUg" + - "c3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3Rv" + - "ciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1k" + - "ZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVh" + - "c2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZp" + - "Y2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwg" + - "bGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9" + - "dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhh" + - "dCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxl" + - "ZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5j" + - "bHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8Cnwg" + - "YG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCBy" + - "b3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAg" + - "fCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVg" + - "IHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBv" + - "bmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRk" + - "b25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBs" + - "b3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxl" + - "YXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1p" + - "bmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8" + - "IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + - "b3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGgg" + - "YC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsD" + - "BBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMg" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBj" + - "b21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxh" + - "bmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIu" + - "IENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3lj" + - "bGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1m" + - "aWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9m" + - "IGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0t" + - "LXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBD" + - "TEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + - "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11" + - "c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1" + - "bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8g" + - "cGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVk" + - "IHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tg" + - "IGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3Nl" + - "IGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpD" + - "cmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250" + - "cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2Vydmlj" + - "ZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0" + - "cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpG" + - "b3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6" + - "Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSku" + - "ClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNv" + - "bnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBH" + - "YXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUg" + - "TkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJu" + - "YWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3" + - "YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlz" + - "IHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5M" + - "QjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRw" + - "b2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFp" + - "bj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIy" + - "MiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAg" + - "ICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFp" + - "bj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5" + - "LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5u" + - "dmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBj" + - "b250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAg" + - "ICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5" + - "fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + - "YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNw" + - "YWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6" + - "CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAg" + - "ICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBu" + - "dmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBo" + - "b3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgog" + - "ICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRp" + - "c2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZj" + - "YU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDov" + - "LzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTog" + - "InNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJl" + - "dmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRk" + - "cmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWlu" + - "PiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRz" + - "IGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVt" + - "cGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + - "LXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGlu" + - "c3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9s" + - "LXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJl" + - "IEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQg" + - "YXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJh" + - "c2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91" + - "cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0" + - "OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxn" + - "YXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhv" + - "c3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBg" + - "SUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21z" + - "LXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9z" + - "dCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJl" + - "Z2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRl" + - "IHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "IHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNB" + - "X0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUt" + - "a3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElf" + - "Q09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+" + - "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + - "ZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVy" + - "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0" + - "ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21w" + - "dXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBi" + - "ZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRh" + - "cmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1w" + - "bGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNv" + - "bXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBs" + - "YW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAt" + - "LXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNl" + - "IHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFu" + - "ZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29t" + - "cHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1l" + - "bnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29u" + - "dHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAog" + - "IC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "LAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBj" + + "b250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRl" + + "IHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9r" + + "ZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBp" + + "X2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUg" + + "YmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1F" + + "LCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1j" + + "b21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxF" + + "X0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + + "IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNt" + + "c19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3Qg" + + "TWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldL" + + "UyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVx" + + "dWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1p" + + "eCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1i" + + "b3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBO" + + "R0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3Ig" + + "bnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxt" + + "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2Vy" + + "IGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdk" + + "b2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQ" + + "SV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dp" + + "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + + "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQg" + + "YmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28g" + + "YXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlz" + + "c2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNG" + + "IGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + + "YXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + + "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVz" + + "IHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJh" + + "Y3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBu" + + "b3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1" + + "cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290" + + "bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50" + + "IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBh" + + "Z2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xl" + + "YW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFs" + + "bGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0" + + "ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmly" + + "c3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0" + + "aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91" + + "ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBo" + + "YW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMg" + + "YSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zICho" + + "ZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVy" + + "aWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVh" + + "dGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0" + + "ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIp" + + "IHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3" + + "IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0" + + "YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + + "ZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGlu" + + "Z3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAg" + + "IkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJl" + + "ZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4" + + "YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBt" + + "aXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13" + + "b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29u" + + "dHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1" + + "dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3Rh" + + "bGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwu" + + "IEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBl" + + "YWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUg" + + "c3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNl" + + "ZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2gg" + + "dG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVk" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFt" + + "bCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcs" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5k" + + "IC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9s" + + "LXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24s" + + "IGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29u" + + "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + + "IGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1" + + "ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50" + + "IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRp" + + "ZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rp" + + "b24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVt" + + "b3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1" + + "cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRo" + + "ZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQg" + + "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3Jl" + + "IGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUg" + + "YWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3Vy" + + "Y2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRl" + + "ZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9j" + + "ayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVk" + + "IGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2Vz" + + "IHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBw" + + "cmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9y" + + "ZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0" + + "aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUg" + + "TlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3Ig" + + "dGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxl" + + "IHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwg" + + "dGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBl" + + "bmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBh" + + "Z2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0s" + + "IGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3Zp" + + "ZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdy" + + "b3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2Zm" + + "IiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09m" + + "ZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0" + + "byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9y" + + "IHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBh" + + "bmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNy" + + "ZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBw" + + "cm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVs" + + "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAi" + + "VGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lm" + + "aWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1h" + + "bmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21w" + + "dXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVu" + + "dm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2Vj" + + "cmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250" + + "cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdh" + + "dGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBz" + + "ZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9j" + + "YWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMs" + + "IGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUg" + + "YmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3Qs" + + "IHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVS" + + "THMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwg" + + "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5" + + "IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5" + + "LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0" + + "ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3kt" + + "Z2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZj" + + "ZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0" + + "U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwi" + + "LAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRo" + + "ZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50" + + "IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQg" + + "bnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRl" + + "cy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWln" + + "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGlu" + + "Y2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + + "ZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3Zl" + + "cnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBu" + + "YXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBw" + + "dWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAi" + + "VGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRv" + + "ciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0" + + "aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + + "IGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + + "IHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxv" + + "dyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRl" + + "IGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBi" + + "b3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2Zm" + + "IGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2Fy" + + "bmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + + "bSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Ug" + + "Zm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVy" + + "aWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + + "bmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + + "LiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVs" + + "ZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZh" + + "bHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZl" + + "IHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMg" + + "bm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxh" + + "bmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0" + + "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCBy" + + "YW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29u" + + "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAog" + + "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + + "CiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4g" + + "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0" + + "ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZs" + + "b3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29u" + + "dHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291" + + "bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQg" + + "dGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + + "bGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmll" + + "ZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNz" + + "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBw" + + "cmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5v" + + "dCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29u" + + "ZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1h" + + "a2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIs" + + "CiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVh" + + "bCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + + "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + + "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + + "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhl" + + "IGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIs" + + "CiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1l" + + "bnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxh" + + "bi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24g" + + "dW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wg" + + "cGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRk" + + "ZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5" + + "IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + + "aW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5s" + + "aW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNz" + + "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAi" + + "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNl" + + "LnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5s" + + "aW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + + "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBs" + + "aWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAg" + + "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBi" + + "ZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0" + + "cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJx" + + "dWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBv" + + "biBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0" + + "IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdp" + + "dGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhl" + + "IExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0" + + "aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2Vy" + + "IGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJv" + + "dXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3Ig" + + "dGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFu" + + "YWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50" + + "aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2Fk" + + "LnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwg" + + "d2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9y" + + "IHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2Ft" + + "ZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBM" + + "TE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFu" + + "ZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0u" + + "ZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJv" + + "dXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIs" + + "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRz" + + "IHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIg" + + "bG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9u" + + "IGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJ" + + "Q0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2Fy" + + "bmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9u" + + "bWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQg" + + "aGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + + "bnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVl" + + "c3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIg" + + "aW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1O" + + "RUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2" + + "IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51" + + "bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhp" + + "cyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUg" + + "bnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFn" + + "ZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBn" + + "dWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRp" + + "ZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRl" + + "cGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3Bl" + + "Y2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJv" + + "cHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2Vk" + + "IG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENh" + + "c3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMg" + + "Y2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4K" + + "ClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0" + + "aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + + "LgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fz" + + "cy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1s" + + "IHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8w" + + "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + + "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + + "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + + "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + + "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + + "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + + "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + + "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZv" + + "cmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2Vk" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90" + + "IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxp" + + "Y2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20g" + + "TkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBz" + + "dGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFk" + + "IG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBT" + + "dGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3Ry" + + "eTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVn" + + "aXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAg" + + "MjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJh" + + "c2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + + "IgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3Jl" + + "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + + "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRv" + + "IGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1m" + + "aWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + + "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + + "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + + "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + + "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + + "CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAg" + + "LSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJl" + + "bmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNl" + + "IGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1" + + "c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFy" + + "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + + "YXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hh" + + "cnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykg" + + "Y29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBh" + + "dGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNz" + + "OyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9" + + "IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1w" + + "ICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUK" + + "ZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9k" + + "cyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVt" + + "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + + "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMj" + + "IEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVu" + + "dCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0" + + "cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5h" + + "bWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + + "bGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5h" + + "bGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5t" + + "ZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmlu" + + "YWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJl" + + "YWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJ" + + "Q01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRl" + + "bGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVl" + + "cz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0" + + "IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERl" + + "c3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2Vy" + + "YCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlm" + + "eSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3Rh" + + "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBh" + + "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVs" + + "ZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQpt" + + "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcg" + + "b3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVy" + + "IHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25m" + + "aXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklH" + + "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklM" + + "RT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZv" + + "cm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQg" + + "YGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZj" + + "YXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVs" + + "dHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBl" + + "bXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBb" + + "Q2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJl" + + "dHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMj" + + "IEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBz" + + "ZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJl" + + "Y3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcg" + + "ZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1n" + + "YXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRl" + + "c3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGly" + + "ZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVz" + + "LCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZv" + + "ciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAq" + + "Lmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5" + + "IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXgg" + + "YW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhl" + + "YWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRl" + + "d2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBj" + + "b250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJl" + + "VmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWlu" + + "IGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBp" + + "bnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2Vl" + + "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRz" + + "LgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAi" + + "YXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVX" + + "QVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1B" + + "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMg" + + "LUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0" + + "dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91" + + "dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAg" + + "bnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9y" + + "IFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGlt" + + "ZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVz" + + "CgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1" + + "cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + + "ZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lz" + + "dGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2Rz" + + "IC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBg" + + "YAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0t" + + "LS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywg" + + "Y2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwg" + + "YXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1h" + + "cGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFu" + + "ZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0" + + "eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBh" + + "bmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZj" + + "Zi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhh" + + "dmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91" + + "dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJs" + + "ZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExN" + + "IEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0" + + "ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBh" + + "Y2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5h" + + "YmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4g" + + "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZV" + + "aS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdh" + + "dGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVh" + + "c2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEg" + + "cmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1p" + + "bi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + + "AABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBh" + + "cmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0" + + "ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpi" + + "ZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEg" + + "Q0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMg" + + "Q2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9p" + + "bnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1" + + "ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50" + + "IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + + "Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5l" + + "cmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUg" + + "aXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9y" + + "ZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHBy" + + "b2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3Np" + + "dG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hp" + + "bmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBs" + + "YW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVu" + + "dCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnks" + + "IGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBj" + + "b21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hh" + + "YmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9u" + + "aWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + + "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVu" + + "dmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdh" + + "dGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAg" + + "aW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBz" + + "ZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBO" + + "TEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBz" + + "ZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9t" + + "YWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2Vydmlj" + + "ZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVS" + + "TDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZp" + + "Y2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJM" + + "OiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6" + + "ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2Vy" + + "dmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6" + + "CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2Fs" + + "OjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBl" + + "bnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52" + + "Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTog" + + "bnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAg" + + "ICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAg" + + "ICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAg" + + "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + + "b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6" + + "CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRh" + + "c2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUK" + + "Cm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxl" + + "ZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1h" + + "bmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igog" + + "ICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+" + + "IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAg" + + "IHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4i" + + "CiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0" + + "c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBp" + + "bnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+Cgpt" + + "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VO" + + "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + + "YAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3Jl" + + "YXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6" + + "CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9r" + + "ZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdh" + + "eS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDog" + + "ImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXkt" + + "ZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNf" + + "aG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9z" + + "dG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0" + + "byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGlu" + + "IHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5v" + + "IGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1" + + "dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAog" + + "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVT" + + "VEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + + "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0Zf" + + "Q0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2Yt" + + "Y2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJl" + + "Z2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNv" + + "bXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVD" + + "T05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJ" + + "biBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0" + + "aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJ" + + "IFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJ" + + "dCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0" + + "aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + + "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFt" + + "ZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAg" + + "LS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + + "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQg" + + "cHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xp" + + "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + + "XAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJl" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwK" + + "ICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUt" + + "cGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25m" + + "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + "ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + - "eWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52" + - "PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFt" + - "ZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3Ig" + - "Y29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQg" + - "cHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhh" + - "bmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpD" + - "cmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhl" + - "IGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAK" + - "Ck9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Et" + - "b3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3Jl" + - "dHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJh" + - "dG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0" + - "ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlz" + - "dC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1k" + - "XShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdh" + - "dGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95" + - "LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJh" + - "dG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1j" + - "bHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1" + - "cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1z" + - "eXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21w" + - "dXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVz" + - "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVp" + - "dGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVs" + - "dC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + - "YXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4" + - "dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJs" + - "ZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNr" + - "LW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1" + - "ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0" + - "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSBy" + - "ZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBl" + - "eHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRo" + - "ZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBm" + - "aWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + - "LW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0" + - "ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVy" + - "IGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZh" + - "bHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVh" + - "ZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "LgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBg" + - "Y2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlv" + - "biBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxh" + - "bmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtl" + - "IC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + - "Qm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0" + - "aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVz" + - "ZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJl" + - "YWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0" + - "IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + - "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2Et" + - "aWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNs" + - "dXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZp" + - "ZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9u" + - "YWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lz" + - "dGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFu" + - "ZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29u" + - "dGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoK" + - "YGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + - "bnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93" + - "biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNl" + - "bGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFi" + - "bGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1j" + - "bHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9y" + - "IGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxh" + - "bmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBw" + - "bGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZ" + - "EjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdn" + - "aW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBO" + - "VkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5k" + - "cwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBw" + - "b2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoK" + - "IyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3Vi" + - "ZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAn" + - "CgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZv" + - "bHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBg" + - "CgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFN" + - "RSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fz" + - "c2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAK" + - "CkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4v" + - "aW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gK" + - "IyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxs" + - "IHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1j" + - "cmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVs" + - "bFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNv" + - "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VB" + - "Y2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8" + - "bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4" + - "ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBg" + - "YmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMg" + - "XAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0n" + - "JG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAg" + - "ICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFt" + - "bCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9k" + - "IGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0" + - "c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0o" + - "cHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNl" + - "Y3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2Vy" + - "dmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwt" + - "c2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4g" + - "c2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxl" + - "dGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNv" + - "cnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1" + - "bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFg" + - "IGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkg" + - "ICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAv" + - "MiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBp" + - "bml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZv" + - "ciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2Rz" + - "IC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1" + - "YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MK" + - "a3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8K" + - "CiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9n" + - "cyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMg" + - "Rml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50" + - "cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVu" + - "QmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZp" + - "bGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86Cgog" + - "ICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQt" + - "c3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1j" + - "cmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJh" + - "byBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVz" + - "OgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2Vy" + - "dmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQt" + - "aW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNj" + - "ZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBB" + - "S1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3Rh" + - "dGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdh" + - "cyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAo" + - "YGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpX" + - "S1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFj" + - "Y291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAg" + - "IGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5l" + - "dmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFz" + - "ZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZh" + - "bHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBp" + - "cyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1" + - "YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0" + - "aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAg" + - "ICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0" + - "OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJE" + - "aXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpv" + - "YiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAg" + - "YGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNj" + - "b3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRp" + - "b25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3Blbmlk" + - "L3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJl" + - "YWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMg" + - "aXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAg" + - "IHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhl" + - "IGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBv" + - "biBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAg" + - "U1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQg" + - "IDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3Jp" + - "YmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBT" + - "dGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxt" + - "ZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5t" + - "ZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAg" + - "ICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAg" + - "ICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNl" + - "UHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNo" + - "YXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGlu" + - "IFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RB" + - "VFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAg" + - "ICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZv" + - "ciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+" + - "IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFi" + - "bGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8x" + - "MiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNp" + - "c3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2Vs" + - "ZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZp" + - "bGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAg" + - "bnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFn" + - "ZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAg" + - "IGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkK" + - "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAt" + - "QTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNl" + - "IGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNo" + - "b3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxl" + - "IHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0" + - "aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxl" + - "YXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBm" + - "YWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95" + - "CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8" + - "bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVh" + - "dGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3Rz" + - "dHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rp" + - "b25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4K" + - "CiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJl" + - "Y3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIg" + - "fjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAt" + - "biBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJl" + - "cm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2Vz" + - "CgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0" + - "cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2" + - "NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5" + - "b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFz" + - "ZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBg" + - "CgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0" + - "cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgoj" + - "IyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2Vy" + - "dmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0" + - "cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25v" + - "cmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVz" + - "cyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0" + - "cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNr" + - "IChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3Mu" + - "IE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQg" + - "bnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAg" + - "ICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0" + - "aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRv" + - "d24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20g" + - "cmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhw" + - "b3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmlu" + - "YWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENP" + - "TVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRl" + - "bXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBc" + - "CiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIk" + - "ezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQg" + - "IiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxp" + - "emVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1" + - "Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNh" + - "LW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + - "Q09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAg" + - "anEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENP" + - "TVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMv" + - "JG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNB" + - "IE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1" + - "dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50" + - "IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52" + - "Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFn" + - "bm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24g" + - "dXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJl" + - "LXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBz" + - "CmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3Ro" + - "ZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVj" + - "dCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZj" + - "YS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dz" + - "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAw" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2Vu" + - "ZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZl" + - "cmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUg" + - "Y2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNl" + - "IGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShw" + - "dWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdh" + - "eSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNv" + - "bmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQg" + - "YmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQu" + - "CgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4g" + - "ZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + - "ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1" + - "cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIK" + - "CiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50" + - "CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmly" + - "b25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRz" + - "JyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVz" + - "LCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3Qg" + - "Y2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRp" + - "cmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQg" + - "aW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFt" + - "cGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVu" + - "ZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoK" + - "UXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNl" + - "OgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5h" + - "dHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1" + - "bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2Vy" + - "dmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0" + - "ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVy" + - "LXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXkt" + - "c3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0" + - "ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0" + - "cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55" + - "YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlh" + - "bWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1v" + - "YnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwp" + - "CnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAj" + - "IERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFt" + - "bCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8" + - "ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChy" + - "ZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAg" + - "ICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZj" + - "Zi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRl" + - "bmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMK" + - "fCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFy" + - "dCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55" + - "YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRz" + - "KQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQg" + - "b3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBs" + - "YXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhh" + - "dmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZp" + - "bGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHBy" + - "b2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBw" + - "cm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBT" + - "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEt" + - "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8" + - "IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8" + - "IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2Vy" + - "dmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBt" + - "YW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNz" + - "YW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRl" + - "bmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNp" + - "ZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwg" + - "TmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0t" + - "LXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMg" + - "fAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1u" + - "dmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1u" + - "dmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8" + - "IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVs" + - "bS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxt" + - "LW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1y" + - "ZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxt" + - "LW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdh" + - "dGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMg" + - "fAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwg" + - "YXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdh" + - "dGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2Vy" + - "dmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMg" + - "dXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25l" + - "IGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVk" + - "IG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jl" + - "c3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxp" + - "dHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8" + - "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSBy" + - "ZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpH" + - "YXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBm" + - "aWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBg" + - "PDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55" + - "YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJl" + - "bGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRk" + - "IGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1w" + - "bGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0" + - "ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+" + - "YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFj" + - "ayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRl" + - "bmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5h" + - "bWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAu" + - "Li88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3Jl" + - "dHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6" + - "IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlh" + - "bWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + - "TXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYg" + - "IkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0g" + - "Y2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + - "aW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVs" + - "bWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3Mg" + - "bmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJz" + - "aW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBz" + - "ZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNl" + - "LCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVz" + - "IHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMg" + - "UHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9u" + - "bWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVu" + - "dHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJp" + - "ZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNv" + - "bnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6" + - "YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMg" + - "ZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFN" + - "TCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0" + - "aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBg" + - "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwg" + - "cmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJh" + - "LnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFs" + - "Lm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3Jh" + - "Z2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJl" + - "bG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0" + - "cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0" + - "cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMg" + - "T3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdy" + - "YXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZl" + - "ci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0" + - "b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2" + - "aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2Vs" + - "ZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNl" + - "dHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRv" + - "biBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlw" + - "ZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxs" + - "bS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUg" + - "d2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtl" + - "cnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRk" + - "b25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBw" + - "YXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBj" + - "b25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5n" + - "IHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAg" + - "IGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNl" + - "cnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6" + - "CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25p" + - "dG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmln" + - "OiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVu" + - "cmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVl" + - "CmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2Rl" + - "IHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxh" + - "aW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1" + - "bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4g" + - "U2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdp" + - "dGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlz" + - "IHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVx" + - "dWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRo" + - "ZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRl" + - "eHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoK" + - "VGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFu" + - "Y2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2Rz" + - "IHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0" + - "aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVl" + - "c3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdl" + - "IGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBh" + - "bmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhw" + - "bGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAg" + - "ICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1p" + - "bWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2Fj" + - "eSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlz" + - "IGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0" + - "eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25m" + - "aWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBh" + - "cHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2gg" + - "ZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNl" + - "ZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJn" + - "ZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29t" + - "cHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBp" + - "bnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFs" + - "bGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24g" + - "dmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJl" + - "ZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95" + - "aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFm" + - "dGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVu" + - "Y3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtl" + - "ciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdh" + - "dGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIK" + - "a3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1y" + - "ZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0" + - "bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9" + - "J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypd" + - "fXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUg" + - "YGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxv" + - "YWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJn" + - "YXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9i" + - "bG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1j" + - "b25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmlj" + - "IHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVz" + - "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJl" + - "bGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFt" + - "ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNz" + - "dWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBy" + - "dW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFk" + - "bWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNl" + - "bGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgA" + - "AAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZD" + - "RiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUku" + - "IEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + - "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxl" + - "CgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFu" + - "ZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhl" + - "IHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVp" + - "YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRo" + - "YXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52" + - "aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAg" + - "ICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBz" + - "ZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25s" + - "eSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChl" + - "LmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3Rs" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNl" + - "cnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRl" + - "ZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlz" + - "CmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUK" + - "CkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxl" + - "YXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhF" + - "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRl" + - "bXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1u" + - "dmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0" + - "ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEg" + - "fCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0" + - "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNG" + - "IFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBv" + - "c2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3Rl" + - "ZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRo" + - "ZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMg" + - "T3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3Ry" + - "eSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1" + - "bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUg" + - "Y3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMu" + - "IERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNv" + - "bnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGlu" + - "dG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFu" + - "ZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFu" + - "ZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29t" + - "bWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5" + - "dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRl" + - "CmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRl" + - "LW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBg" + - "CgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9y" + - "dCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0" + - "LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + - "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + - "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUK" + - "YGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBg" + - "LS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBs" + - "eSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92" + - "MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVs" + - "bHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBh" + - "ZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6" + - "CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBv" + - "ZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAg" + - "ICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAg" + - "ICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVt" + - "IgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdl" + - "ciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBt" + - "ZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlk" + - "aWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3Bl" + - "YzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNy" + - "LWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBg" + - "CgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2Vs" + - "ZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wt" + - "cGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMg" + - "dGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUt" + - "UGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBv" + - "biB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRv" + - "Y2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBc" + - "CiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0" + - "IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoK" + - "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0" + - "IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBt" + - "aXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRl" + - "ciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBs" + - "YW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUK" + - "c2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sg" + - "dGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBF" + - "eHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5u" + - "b3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9k" + - "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFu" + - "bm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0n" + - "CiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAg" + - "LS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAi" + - "U3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUg" + - "Y2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAt" + - "biBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgot" + - "ICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1h" + - "em9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBj" + - "YW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVn" + - "aXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRl" + - "bnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1h" + - "bmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5n" + - "CgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGlj" + - "eQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioq" + - "IHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNy" + - "ZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0" + - "ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNv" + - "bnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBS" + - "dW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQt" + - "aW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25n" + - "IHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkg" + - "dGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + - "c3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAA9vwCpKEAAAShAAABIA" + - "CQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAA" + - "AAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAHjsPruYQAADmEAAANAAJAAAAAAAAAAAAAABZhwAA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDsN4BfhBIAAIQSAAA3AAkAAAAAAAAAAAAAAKqYAABkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAAnKsAAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAKvFAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAMesAAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAABj+gAAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQDggjxVIggAACIIAAA5AAkAAAAAAAAAAAAAACokAQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAC8LAEAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM" + - "0yUAANMlAAAwAAkAAAAAAAAAAAAAAAVPAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZl" + - "cmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA5R15pvoPAAD6DwAAMgAJ" + - "AAAAAAAAAAAAAAA/dQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQt" + - "Y29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAUluNZW5WAABuVgAALQAJAAAAAAAAAAAA" + - "AACihQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAdNwBAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAABD/gEAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "R1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAADvYAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygA" + - "AH8oAAAvAAkAAAAAAAAAAAAAAKS3AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAA" + - "AAAAAAAAAIngAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6" + - "cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAHhEDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR" + - "7I0KKgAACioAAEQACQAAAAAAAAAAAAAARUIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAymwDAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAPl0AwBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBL" + - "BQYAAAAAFwAXAK8JAABuiwMAAAA=" + "eWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24g" + + "c2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5k" + + "cG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBu" + + "b3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUg" + + "ZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxh" + + "bmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4" + + "dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRl" + + "eHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVu" + + "Y2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBs" + + "YW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1v" + + "cGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhl" + + "ciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBw" + + "b2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + + "IyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNw" + + "YWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52" + + "b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + + "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + + "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + + "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + + "aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93" + + "bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + + "Y29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + + "ZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRo" + + "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + + "dGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVy" + + "IGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + + "cmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQg" + + "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + + "IGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBz" + + "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWlu" + + "ZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247" + + "IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMg" + + "dmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoK" + + "PG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVy" + + "LWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxu" + + "Y2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5j" + + "YUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVz" + + "dGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBl" + + "YXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBj" + + "bHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05G" + + "SUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5k" + + "IGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0" + + "cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAu" + + "CgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwg" + + "dGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBG" + + "aXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxl" + + "dGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + + "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + + "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + + "aGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + + "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVn" + + "aXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9u" + + "bHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRl" + + "IHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + + "dmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBg" + + "ZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3" + + "IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + + "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwg" + + "PGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1j" + + "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + + "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3du" + + "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + + "YS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVy" + + "LiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0" + + "cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNs" + + "dXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAh" + + "AAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBl" + + "cyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2Rz" + + "IGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9k" + + "cyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+" + + "CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0" + + "IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxu" + + "YW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lm" + + "aWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3Jp" + + "YmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1" + + "bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBT" + + "VEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJ" + + "bWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4" + + "dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0" + + "aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlz" + + "IGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8" + + "IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhl" + + "IG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoK" + + "IyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + + "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1" + + "bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxT" + + "ZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0" + + "aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3Np" + + "bmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZl" + + "cj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAt" + + "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVz" + + "cGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + + "LQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0" + + "Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVs" + + "bWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMu" + + "ICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52" + + "b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VB" + + "Y2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNy" + + "ZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQg" + + "cmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMg" + + "LW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAg" + + "YGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRv" + + "bXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFz" + + "aApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRT" + + "ICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAg" + + "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUg" + + "dmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAoj" + + "IENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + + "aGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1" + + "bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0" + + "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWlu" + + "ZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBw" + + "b2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1" + + "ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlk" + + "bid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVw" + + "dGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJv" + + "eQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYg" + + "bmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + + "bmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5v" + + "dCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBi" + + "YW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3Qv" + + "bG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRo" + + "ZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3Rl" + + "ciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6" + + "CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBz" + + "aW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1Ymtl" + + "eXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxp" + + "ZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVs" + + "dC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0" + + "aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFg" + + "LiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlv" + + "biBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2Vy" + + "dmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBF" + + "bmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldL" + + "UywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVz" + + "IChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAg" + + "IyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAg" + + "ICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3Bl" + + "bmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9u" + + "IGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQog" + + "ICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJh" + + "byBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNl" + + "cnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAg" + + "IEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBg" + + "YWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3Rh" + + "dGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNp" + + "Z25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1w" + + "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAg" + + "QUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgoj" + + "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1z" + + "eXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpP" + + "dmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFt" + + "cGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2Fu" + + "ZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAg" + + "ICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAg" + + "IG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxh" + + "YmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJl" + + "c291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9t" + + "cwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdF" + + "CmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVz" + + "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9u" + + "IGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0" + + "IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxl" + + "OiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3Qg" + + "Zm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hl" + + "Y2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3Vi" + + "ZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3Rv" + + "cmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBg" + + "YGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2ll" + + "bnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0" + + "bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJj" + + "ZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMj" + + "IFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFU" + + "VVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3Vj" + + "Y2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3Bh" + + "Y2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUt" + + "c3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRz" + + "IGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVl" + + "ZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+" + + "IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMg" + + "U3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQu" + + "IEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + + "c2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YK" + + "CiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBs" + + "b2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBs" + + "b2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1h" + + "cGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBj" + + "cmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxg" + + "IG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0" + + "aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlh" + + "bAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91" + + "dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVh" + + "Y2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2Nv" + + "dW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlh" + + "bHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95" + + "aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5h" + + "bWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5" + + "cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBu" + + "YW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + + "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5" + + "bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4g" + + "YFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAg" + + "IFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpg" + + "YGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBh" + + "ZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3Zl" + + "IGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1k" + + "ZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + + "ZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52" + + "Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1l" + + "c3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAn" + + "Y29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1j" + + "b250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5" + + "cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09N" + + "UFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVh" + + "cmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2Vu" + + "ZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFj" + + "ZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMg" + + "PSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFj" + + "ZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+" + + "L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3Ig" + + "Tm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21w" + + "bGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3Rz" + + "IGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52" + + "Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + + "IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJz" + + "dCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFs" + + "dWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydz" + + "IHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5v" + + "dApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24g" + + "c3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNj" + + "cmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVy" + + "YXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBg" + + "YAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNl" + + "Y3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + + "cnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFt" + + "ZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0" + + "ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgoj" + + "IyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWlu" + + "IGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQu" + + "IFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + + "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + + "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + + "WV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9t" + + "YWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJl" + + "c3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNl" + + "VVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdy" + + "ZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpL" + + "ZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMg" + + "dW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBG" + + "b3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3Mg" + + "ZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2gg" + + "dGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1k" + + "I2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBV" + + "c2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3" + + "aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2" + + "aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8Cnwg" + + "Y2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1z" + + "ZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90" + + "YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8" + + "CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3Mt" + + "YXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdh" + + "eSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3Vy" + + "Y2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABE" + + "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmls" + + "ZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMj" + + "IERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBo" + + "ZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBD" + + "YXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMg" + + "TlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290" + + "bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwg" + + "ICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwg" + + "ZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXIt" + + "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2Vj" + + "cmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dv" + + "cmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0" + + "aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + + "Lwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMg" + + "Q29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwu" + + "Z290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0" + + "aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAg" + + "ICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4u" + + "eWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBw" + + "ZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1l" + + "bnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9y" + + "cyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVz" + + "ZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2lu" + + "dCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3Rt" + + "cGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + + "bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwt" + + "LS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0" + + "cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5i" + + "YW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9u" + + "IG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lz" + + "dGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0" + + "YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNv" + + "cmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8" + + "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0t" + + "bnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1z" + + "aXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2" + + "aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2Vydmlj" + + "ZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5" + + "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3Mg" + + "fCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2Ug" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNl" + + "cyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91" + + "dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZj" + + "Zi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94" + + "eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFz" + + "ZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3kt" + + "Z2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBb" + + "e3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0" + + "aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJs" + + "ZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBg" + + "dmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVs" + + "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + + "LS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykg" + + "fCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5" + + "LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2Fi" + + "bGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFN" + + "TCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0" + + "aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZ" + + "QU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0" + + "aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0" + + "IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0" + + "aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNy" + + "ZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRl" + + "bXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAg" + + "Y2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAg" + + "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + + "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJy" + + "aWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVw" + + "ZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3Zl" + + "cnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1l" + + "bW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBp" + + "biBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1l" + + "Y2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFj" + + "ZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRp" + + "bmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJl" + + "LWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEg" + + "bGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dl" + + "c3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBk" + + "ZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5n" + + "b3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lm" + + "aWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0t" + + "IHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMg" + + "LS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMg" + + "VGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBt" + + "ZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hh" + + "cnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGlj" + + "aXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + + "dGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2Fu" + + "ZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0g" + + "YGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxl" + + "ZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgot" + + "IGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5h" + + "dHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZp" + + "bGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5z" + + "cGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5t" + + "aWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJh" + + "by5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFv" + + "LnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMj" + + "IFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0" + + "cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQot" + + "IGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5j" + + "dGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3Ig" + + "aW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24g" + + "ZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMg" + + "dGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdy" + + "ZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lk" + + "ZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8g" + + "bm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5v" + + "ZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwK" + + "YWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxp" + + "Y2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAg" + + "ICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDog" + + "MQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxl" + + "ZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAg" + + "ICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xv" + + "YWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291" + + "bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBi" + + "dW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5" + + "MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3" + + "YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3" + + "YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNG" + + "IEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVk" + + "IG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBh" + + "bmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVR" + + "VUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBh" + + "bmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVz" + + "ZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMK" + + "c2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVz" + + "dCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9i" + + "bG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5j" + + "aW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUg" + + "dGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRo" + + "ZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBp" + + "OgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lk" + + "ZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVw" + + "b3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVD" + + "QVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFj" + + "ayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29u" + + "ZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3Rpbmcg" + + "dmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250" + + "cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21w" + + "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlv" + + "biBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNv" + + "bW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1h" + + "aW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZh" + + "bHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3" + + "b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlz" + + "IGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24g" + + "ZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5l" + + "IHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5" + + "IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3Rh" + + "dGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBu" + + "dmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0" + + "bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0" + + "IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWlu" + + "ZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBg" + + "CgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVz" + + "dCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFu" + + "ZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3Vp" + + "ZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmll" + + "cy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMj" + + "IEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoK" + + "CmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIg" + + "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGkt" + + "Z2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kg" + + "YSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFz" + + "IG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNz" + + "dWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1h" + + "ZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + + "Y3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRl" + + "ZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + + "aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5" + + "IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFj" + + "awpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29u" + + "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAg" + + "dGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMj" + + "IEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4u" + + "eWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + + "IyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFt" + + "ZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBw" + + "cml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11" + + "aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBp" + + "ZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhw" + + "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + + "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRv" + + "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + + "bnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMw" + + "MGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhl" + + "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBs" + + "eQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mg" + + "c3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9u" + + "IGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMg" + + "LW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3Vy" + + "bCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "Pi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1" + + "cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBp" + + "bnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFu" + + "IGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBL" + + "Bwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbO" + + "EiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGlu" + + "ZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpg" + + "bnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBw" + + "b2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZp" + + "Z3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVk" + + "IG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2gg" + + "dXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2Rz" + + "IGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + + "dXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Et" + + "c3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3Rh" + + "bGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + + "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + + "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJl" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRy" + + "b2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + + "bmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + + "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEt" + + "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + + "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + + "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdp" + + "c3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBh" + + "bmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xp" + + "Y3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5" + + "Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNr" + + "Z3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRv" + + "LW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6" + + "CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3Bh" + + "Y2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAg" + + "ICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lz" + + "dGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVs" + + "dC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAg" + + "ICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAg" + + "YW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3Jl" + + "dC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQ" + + "dWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaApr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2" + + "ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUg" + + "Y29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZp" + + "Y2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8g" + + "bmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUg" + + "dGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + + "dGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBc" + + "CiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5l" + + "IGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgog" + + "ICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhh" + + "dCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBg" + + "bnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1l" + + "c3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93" + + "LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUg" + + "cG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNv" + + "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52" + + "Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRp" + + "YVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8K" + + "CiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVz" + + "dGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIg" + + "bm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9y" + + "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + + "IFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBu" + + "b2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0" + + "cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRo" + + "b3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNl" + + "Y3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0Ug" + + "QXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBz" + + "aW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJ" + + "bWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5" + + "IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGll" + + "ZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJl" + + "Y3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+" + + "IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + + "ZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGlj" + + "eSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNo" + + "b3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9s" + + "aWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0" + + "aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29u" + + "dGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAW" + + "AAAAFgAAUEsBAhQAFAAIAAAAAAAhAEWT1PVKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEv" + + "bWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAA" + + "AAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAHjsPruYQAADmEAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDs" + + "N4BfhBIAAIQSAAA3AAkAAAAAAAAAAAAAAKqYAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSf" + + "GQAAnxkAADkACQAAAAAAAAAAAAAAnKsAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + + "dHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUA" + + "ABglAAA3AAkAAAAAAAAAAAAAAKvFAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + + "L2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4A" + + "AD0ACQAAAAAAAAAAAAAAMesAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlh" + + "Z25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABW" + + "KQAAOgAJAAAAAAAAAAAAAABj+gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9p" + + "bnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDggjxVIggAACII" + + "AAA5AAkAAAAAAAAAAAAAACokAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3Jv" + + "dGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAA" + + "LgAJAAAAAAAAAAAAAAC8LAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFy" + + "ZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM0yUAANMlAAAwAAkAAAAAAAAAAAAA" + + "AAVPAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAAA/dQEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAHI4S2j1XAAA9VwAALQAJAAAAAAAAAAAAAACihQEAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4" + + "s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAQ90BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0li" + + "AABJYgAALAAJAAAAAAAAAAAAAAAS/wEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAA" + + "AAAAAAC+YQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + + "anNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAHO4" + + "AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAFjhAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAA" + + "AAAA7REDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAA" + + "AAAAFEMDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + + "bWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8A" + + "CQAAAAAAAAAAAAAAmW0DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAW" + + "AAA+AAkAAAAAAAAAAAAAAMh1AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAA9jAMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel index 9a945239b4..fd462e2e0b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel +++ b/src/clis/nvcf-cli/internal/selfhosted/BUILD.bazel @@ -67,6 +67,7 @@ go_test( "clustervalidator_lifecycle_test.go", "clustervalidator_ownership_test.go", "clustervalidator_test.go", + "credential_scope_test.go", "credhelper_test.go", "inotify_probe_test.go", "main_test.go", diff --git a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go new file mode 100644 index 0000000000..78428d6408 --- /dev/null +++ b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go @@ -0,0 +1,222 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package selfhosted + +import ( + "context" + "encoding/json" + "net" + "net/http" + "net/http/httptest" + "slices" + "strings" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" +) + +// newEntitledNGC accepts each password in access for the repositories under +// the orgs listed for it; "" stands for every repository. +func newEntitledNGC(t *testing.T, access map[string][]string) *fakeNGC { + t.Helper() + f := &fakeNGC{} + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch { + case r.URL.Path == "/token": + _, pass, _ := r.BasicAuth() + f.mu.Lock() + f.sent = append(f.sent, pass) + failing := f.failing > 0 + f.failing-- + f.mu.Unlock() + if failing { + w.WriteHeader(http.StatusServiceUnavailable) + return + } + scope := r.URL.Query().Get("scope") + repo := strings.TrimSuffix(strings.TrimPrefix(scope, "repository:"), ":pull") + if scope != "" && !strings.Contains(repo, "/") { + http.Error(w, "malformed token scope", http.StatusBadRequest) + return + } + orgs, known := access[pass] + if !known { + w.WriteHeader(http.StatusUnauthorized) + return + } + if scope != "" && !slices.ContainsFunc(orgs, func(org string) bool { + return org == "" || strings.HasPrefix(repo, org+"/") + }) { + w.WriteHeader(http.StatusForbidden) + return + } + _, _ = w.Write([]byte(`{"token":"t"}`)) + case r.Header.Get("Authorization") == "Bearer t" && strings.HasSuffix(r.URL.Path, "/tags/list"): + _, _ = w.Write([]byte(`{"tags":["1.0.0","1.2.0"]}`)) + default: + bearerChallenge(w, "https://"+ngcKeyRegistryHost+"/token") + } + })) + t.Cleanup(srv.Close) + tr := srv.Client().Transport.(*http.Transport).Clone() + // The test certificate names example.com, not nvcr.io. + tr.TLSClientConfig.ServerName = "example.com" + tr.DialContext = func(ctx context.Context, network, _ string) (net.Conn, error) { + return (&net.Dialer{}).DialContext(ctx, network, srv.Listener.Addr().String()) + } + prev := http.DefaultTransport + http.DefaultTransport = tr + t.Cleanup(func() { http.DefaultTransport = prev }) + return f +} + +// mintedPassword returns the password of the one registry entry in a Secret +// this CLI minted. +func mintedPassword(t *testing.T, s *corev1.Secret) string { + t.Helper() + require.Equal(t, corev1.SecretTypeDockercfg, s.Type) + var entries map[string]dockerConfigAuth + require.NoError(t, json.Unmarshal(s.Data[corev1.DockerConfigKey], &entries)) + require.Len(t, entries, 1) + for _, e := range entries { + _, pass, ok := decodeDockerConfigAuth(e) + require.True(t, ok) + return pass + } + return "" +} + +// mintPullSecret resolves the validator's pull secret for image in an empty +// cluster and returns the password it was minted with. +func mintPullSecret(ctx context.Context, t *testing.T, client *fake.Clientset, image, role string) string { + t.Helper() + name, _, err := resolveValidatorPullSecret(ctx, client, "", image, role, "runid", false, nil) + require.NoError(t, err) + s, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, name, metav1.GetOptions{}) + require.NoError(t, err) + return mintedPassword(t, s) +} + +// Split mode's roles mint their pull secrets in parallel, possibly before the +// registry row has run. Each still gets the credential nvcr.io accepts for +// the image, and the scope is settled once for both. +func TestResolveValidatorPullSecret_BothRolesMintTheAcceptedCredential(t *testing.T) { + ngc := newFakeNGC(t, "good-key") + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "good-key") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + + roles := []string{clusterValidatorControlPlaneRole, clusterValidatorComputePlaneRole} + clients := []*fake.Clientset{fake.NewSimpleClientset(), fake.NewSimpleClientset()} + names, errs := make([]string, len(roles)), make([]error, len(roles)) + var wg sync.WaitGroup + for i, role := range roles { + wg.Add(1) + go func() { + defer wg.Done() + names[i], _, errs[i] = resolveValidatorPullSecret(ctx, clients[i], "", "nvcr.io/nvidia/cv:1.0.0", + role, "runid", false, nil) + }() + } + wg.Wait() + for i, client := range clients { + require.NoError(t, errs[i], roles[i]) + s, err := client.CoreV1().Secrets(clusterValidatorNamespace).Get(ctx, names[i], metav1.GetOptions{}) + require.NoError(t, err) + assert.Equal(t, "good-key", mintedPassword(t, s), roles[i]) + } + sentLogin := 0 + for _, p := range ngc.passwords() { + if p == "rotated-out" { + sentLogin++ + } + } + assert.Equal(t, 1, sentLogin, "the scope is settled once, with the other role waiting on it") +} + +// A docker login with no access to the stack's org gives way to the NGC key +// for that org alone. The validator's pull secret keeps the login, which +// reaches the validator's org, and the 403 is never reported as a rejected +// login. +func TestRegistryCredentials_NoAccessMovesOnlyThatScope(t *testing.T) { + newEntitledNGC(t, map[string][]string{"login-pass": {"nvidia"}, "key-pass": {"orgb"}}) + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "login-pass", "")) + t.Setenv("NGC_API_KEY", "key-pass") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + + stack := RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true} + r := registryCredentialCheck(probeRegistryCredential, stack, "nvcr.io/orgb/team", false).Run(ctx) + assert.True(t, r.Passed, r.Message) + assert.Equal(t, SeverityInfo, r.Severity) + assert.Contains(t, r.Message, "has no access to nvcr.io/orgb/team, so the run sends NGC_API_KEY for it") + assert.NotContains(t, r.Message, "rejected") + + assert.Equal(t, "login-pass", mintPullSecret(ctx, t, fake.NewSimpleClientset(), "nvcr.io/nvidia/cv:1.0.0", + clusterValidatorComputePlaneRole), "the validator's org is the login's") +} + +// With the entitlements the other way round, each row passes on the +// credential that reaches its org, whichever row runs first, and tag +// discovery for the validator image uses the one that reaches the image. +func TestRegistryCredentials_EachScopeKeepsTheCredentialThatReachesIt(t *testing.T) { + withTempCacheDir(t) + newEntitledNGC(t, map[string][]string{"login-pass": {"orgb"}, "key-pass": {"nvidia"}}) + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "login-pass", "")) + t.Setenv("NGC_API_KEY", "key-pass") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + + got, ok := ResolveLatestValidatorTag(ctx, "nvcr.io/nvidia/cv") + require.True(t, ok) + assert.Equal(t, "nvcr.io/nvidia/cv:1.2.0", got) + for _, e := range []RegistryEntry{ + {Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true}, + {Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true}, + } { + r := registryCredentialCheck(probeRegistryCredential, e, e.Registry+"/"+e.RepoHint, false).Run(ctx) + assert.True(t, r.Passed, r.Message) + assert.NotContains(t, r.Message, "rejected") + assert.NotContains(t, r.Message, "generate a new NGC API key") + } + assert.Equal(t, "key-pass", mintPullSecret(ctx, t, fake.NewSimpleClientset(), "nvcr.io/nvidia/cv:1.0.0", + clusterValidatorControlPlaneRole)) +} + +// A registry fault that leaves a scope's login unjudged is not kept: the next +// lookup asks again and moves to the key once nvcr.io rejects the login. +func TestRegistryCredentials_AnUnjudgedScopeIsSettledAgain(t *testing.T) { + prevBackoff := registryRetryBackoff + registryRetryBackoff = time.Millisecond + t.Cleanup(func() { registryRetryBackoff = prevBackoff }) + ngc := newFakeNGC(t, "good-key") + ngc.failing = registryRetryAttempts + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "good-key") + rc := NewRegistryCredentials(false) + + got := rc.lookup(context.Background(), "nvcr.io", "nvidia/cv") + assert.Equal(t, "rotated-out", got.cred.pass, "an unjudged login stays for this caller") + got = rc.lookup(context.Background(), "nvcr.io", "nvidia/cv") + assert.Equal(t, "good-key", got.cred.pass) + require.NotNil(t, got.rejectedLogin) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go index 353a91ddca..010894903c 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credhelper_test.go @@ -187,66 +187,62 @@ func TestRegistryCredentials_NGCKeyOrder(t *testing.T) { t.Setenv("NGC_API_KEY", "env-key") ctx := context.Background() - cred, ok, err := NewRegistryCredentials(true).lookup(ctx, "nvcr.io") + cred, ok, err := readCredential(ctx, NewRegistryCredentials(true), "nvcr.io") require.NoError(t, err) require.True(t, ok) assert.Equal(t, "env-key", cred.pass) assert.True(t, cred.ngcKey) assert.Equal(t, "NGC_API_KEY", cred.source) - cred, ok, _ = NewRegistryCredentials(false).lookup(ctx, "nvcr.io") + cred, ok, _ = readCredential(ctx, NewRegistryCredentials(false), "nvcr.io") require.True(t, ok) assert.Equal(t, "u-store", cred.user, "the docker login goes first where up does not mint from the key") assert.False(t, cred.ngcKey) dockerHome(t, `{}`) - cred, ok, _ = NewRegistryCredentials(false).lookup(ctx, "nvcr.io") + cred, ok, _ = readCredential(ctx, NewRegistryCredentials(false), "nvcr.io") require.True(t, ok) assert.Equal(t, "env-key", cred.pass, "without a docker login the key is the fallback") for _, reg := range []string{"quay.io", "example.nvcr.io", "nvcr.io:443@attacker.example", "nvcr.io.attacker.example"} { for _, prefer := range []bool{true, false} { - cred, _, _ := NewRegistryCredentials(prefer).lookup(ctx, reg) + cred, _, _ := readCredential(ctx, NewRegistryCredentials(prefer), reg) assert.NotEqual(t, "env-key", cred.pass, "the NGC key is never sent to %s", reg) } } } -// A docker login the registry rejected gives way to the NGC key once, and -// every later lookup returns the key. The key itself has nothing behind it, -// and where it goes first a rejected key never falls back to the login. -func TestRegistryCredentials_RejectedLoginMovesToTheKey(t *testing.T) { +// readCredential is rc's credential for registry before any scope is +// settled. +func readCredential(ctx context.Context, rc *RegistryCredentials, registry string) (registryCredential, bool, error) { + got := rc.read(ctx, registry) + return got.cred, got.ok, got.err +} + +// A docker login the registry answers 401 gives way to the NGC key for that +// scope. Where the key goes first, or for a registry that is not nvcr.io, +// there is nothing behind the credential, and lookup never asks the registry. +func TestRegistryCredentials_RejectedLoginGivesWayForTheScope(t *testing.T) { + ngc := newFakeNGC(t, "env-key") dockerHome(t, `{"auths":{"nvcr.io":{}},"credsStore":"store"}`, "store") t.Setenv("NGC_API_KEY", "env-key") ctx := context.Background() - rc := NewRegistryCredentials(false) - login, ok, err := rc.lookup(ctx, "nvcr.io") - require.NoError(t, err) - require.True(t, ok) - assert.Empty(t, rc.rejectedLogin("nvcr.io")) - - next, ok := rc.rejected("nvcr.io", login) - require.True(t, ok) - assert.Equal(t, "env-key", next.pass) - assert.Equal(t, "docker-credential-store", rc.rejectedLogin("nvcr.io")) - again, ok := rc.rejected("nvcr.io", login) - require.True(t, ok, "a check still holding the login moves to the key too") - assert.Equal(t, next, again) - cred, _, _ := rc.lookup(ctx, "nvcr.io") - assert.Equal(t, next, cred) - _, ok = rc.rejected("nvcr.io", next) - assert.False(t, ok, "nothing is left to try after the key") - - rc = NewRegistryCredentials(true) - key, _, _ := rc.lookup(ctx, "nvcr.io") - _, ok = rc.rejected("nvcr.io", key) - assert.False(t, ok, "where the key goes first, a rejected key is graded as it is") - - rc = NewRegistryCredentials(false) - quay, _, _ := rc.lookup(ctx, "quay.io") - _, ok = rc.rejected("quay.io", quay) - assert.False(t, ok, "the key is never sent to another registry") + got := NewRegistryCredentials(false).lookup(ctx, "nvcr.io", "nvidia/cv") + require.NoError(t, got.err) + require.True(t, got.ok) + assert.Equal(t, "env-key", got.cred.pass) + require.NotNil(t, got.rejectedLogin) + assert.Equal(t, "docker-credential-store", got.rejectedLogin.source) + assert.Nil(t, got.noAccessLogin) + assert.Equal(t, []string{"s-store"}, ngc.passwords()) + + got = NewRegistryCredentials(true).lookup(ctx, "nvcr.io", "nvidia/cv") + assert.Equal(t, "env-key", got.cred.pass) + assert.Nil(t, got.rejectedLogin) + got = NewRegistryCredentials(false).lookup(ctx, "quay.io", "jetstack/a") + assert.Equal(t, "s-store", got.cred.pass, "the key is never sent to another registry") + assert.Equal(t, []string{"s-store"}, ngc.passwords(), "nothing was left to settle") } // docker reads its config from $DOCKER_CONFIG when that is set, as CI @@ -311,7 +307,8 @@ func TestCredsFromHelper_NotFoundIsNoCredential(t *testing.T) { assert.ErrorContains(t, err, "docker-credential-missing-helper") } -// One run resolves a registry's credential once, however many checks ask. +// One run reads a registry's credential once, however many checks and +// scopes ask. func TestRegistryCredentials_ResolvesOncePerRun(t *testing.T) { dockerHome(t, `{"credsStore":"count"}`) bin := t.TempDir() @@ -322,10 +319,10 @@ func TestRegistryCredentials_ResolvesOncePerRun(t *testing.T) { rc := NewRegistryCredentials(false) ctx := WithRegistryCredentials(context.Background(), rc) - for range 3 { - _, ok, err := registryCredentialsFrom(ctx).lookup(ctx, "harbor.example.com") - require.NoError(t, err) - require.True(t, ok) + for _, repo := range []string{"nvcf/a", "nvcf/b", "nvcf/a"} { + got := registryCredentialsFrom(ctx).lookup(ctx, "harbor.example.com", repo) + require.NoError(t, got.err) + require.True(t, got.ok) } body, err := os.ReadFile(calls) require.NoError(t, err) diff --git a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go index bbf06658c1..d13dd66e70 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go +++ b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go @@ -26,6 +26,7 @@ import ( "fmt" "io/fs" "net" + "net/http" "os" "os/exec" "path/filepath" @@ -64,36 +65,67 @@ type registryCredential struct { } // RegistryCredentials resolves the local credential for a registry the way -// docker does, once per registry per run. The credential probe, tag discovery -// and the validator's pull secret all read it, so the credential the local -// row checks is the one the validator Job is given. +// docker does, once per registry per run, and settles which credential the run +// uses for each repository scope on it. The credential probe, tag discovery +// and the validator's pull secret all read the settled one, so the credential +// the local row checks is the one the validator Job is given. type RegistryCredentials struct { // preferNGCKey puts the NGC API key ahead of the docker config for // nvcr.io. That is right only where up mints its pull secrets from the // key; anywhere else the docker login is what docker and the cluster use, - // and the key is sent only when there is no login or the registry - // rejects it. + // and the key is sent for a scope only when there is no login, or the + // registry rejects the login or gives it no access to that scope. preferNGCKey bool - mu sync.Mutex - cache map[string]credentialLookup + mu sync.Mutex + cache map[string]credentialLookup + scopes map[credentialScope]*scopeSettlement } type credentialLookup struct { cred registryCredential ok bool err error - // fallback is the credential to send once the registry rejects cred: - // the NGC key behind a docker login for nvcr.io. + // fallback is the credential that may take cred's place for a scope: the + // NGC key behind a docker login for nvcr.io. fallback *registryCredential - // rejectedLogin is the source of the docker login the registry rejected - // before cred, the fallback, took its place. - rejectedLogin string +} + +// credentialScope is one repository scope on a registry. nvcr.io entitles a +// credential per org and team, so a docker login and the NGC key can each +// reach a scope the other cannot. +type credentialScope struct{ registry, repo string } + +// scopeSettlement holds one scope's settled credential. lock admits one +// caller at a time, so the callers that arrive while it settles wait for its +// result instead of each probing the registry. +type scopeSettlement struct { + lock chan struct{} + settled bool + result settledCredential +} + +// settledCredential is the credential the run uses for one repository scope. +type settledCredential struct { + cred registryCredential + ok bool + err error + // rejectedLogin is the docker login the registry answered 401 for this + // scope, before the NGC key took its place. + rejectedLogin *registryCredential + // noAccessLogin is a docker login the registry gave no access to this + // scope, a 403, before the NGC key took its place. Its access, not the + // login itself, is what the registry refused. + noAccessLogin *registryCredential + // fallbackFailure says why the NGC key, tried for a scope the docker + // login had no access to, did not take its place. + fallbackFailure string } // NewRegistryCredentials returns a per-run credential resolver. func NewRegistryCredentials(preferNGCKey bool) *RegistryCredentials { - return &RegistryCredentials{preferNGCKey: preferNGCKey, cache: map[string]credentialLookup{}} + return &RegistryCredentials{preferNGCKey: preferNGCKey, cache: map[string]credentialLookup{}, + scopes: map[credentialScope]*scopeSettlement{}} } type registryCredentialsKey struct{} @@ -113,53 +145,140 @@ func registryCredentialsFrom(ctx context.Context) *RegistryCredentials { return NewRegistryCredentials(true) } -// lookup returns registry's local credential. ok is false when there is none; -// err reports a credential store that could not be read, which is not the -// same as no credential. A lookup the caller's ctx cut short is not cached. -func (rc *RegistryCredentials) lookup(ctx context.Context, registry string) (registryCredential, bool, error) { +// read returns registry's local credentials as docker and the environment +// hold them, before any scope is settled. ok is false when there is none; err +// reports a credential store that could not be read, which is not the same as +// no credential. A read the caller's ctx cut short is not cached. +func (rc *RegistryCredentials) read(ctx context.Context, registry string) credentialLookup { key := strings.ToLower(registry) rc.mu.Lock() defer rc.mu.Unlock() if hit, ok := rc.cache[key]; ok { - return hit.cred, hit.ok, hit.err + return hit } found := rc.resolve(ctx, registry) if ctx.Err() == nil { rc.cache[key] = found } - return found.cred, found.ok, found.err + return found } -// rejected records that registry refused cred and returns the credential to -// send instead, if there is one: the NGC key behind a docker login for -// nvcr.io. Later lookups return it, so tag discovery, the credential row and -// the validator's pull secret all move to the credential the registry has not -// refused. -func (rc *RegistryCredentials) rejected(registry string, cred registryCredential) (registryCredential, bool) { - key := strings.ToLower(registry) - rc.mu.Lock() - defer rc.mu.Unlock() - hit, ok := rc.cache[key] - switch { - case !ok || !hit.ok: - return registryCredential{}, false - case hit.cred != cred: - // Another check already moved past cred. - return hit.cred, true - case hit.fallback == nil: - return registryCredential{}, false - } - next := *hit.fallback - rc.cache[key] = credentialLookup{cred: next, ok: true, rejectedLogin: cred.source} - return next, true +// lookup returns the credential the run uses for repo on registry. +// +// Where nvcr.io has a docker login with the NGC key behind it, the scope is +// settled first: a 401 to the login moves the scope to the key, and a 403, +// no access to the scope, tries the key for it. Each scope is settled once, +// and callers for it wait for that result, so the row, tag discovery and the +// validator's pull secret get one credential. Another scope is settled on its +// own. A result the caller's ctx cut short, or that a fault of the registry +// left open, is not kept. +func (rc *RegistryCredentials) lookup(ctx context.Context, registry, repo string) settledCredential { + return rc.settle(ctx, registry, repo, nil) +} + +// lookupChallenged is lookup for a caller that already holds the registry's +// WWW-Authenticate challenge, so settling does not ask /v2/ for it again. +func (rc *RegistryCredentials) lookupChallenged( + ctx context.Context, registry, repo, challenge string, +) settledCredential { + return rc.settle(ctx, registry, repo, &challenge) } -// rejectedLogin returns the source of the docker login registry rejected -// before the run moved to the NGC key, or "". -func (rc *RegistryCredentials) rejectedLogin(registry string) string { +func (rc *RegistryCredentials) settle(ctx context.Context, registry, repo string, challenge *string) settledCredential { + read := rc.read(ctx, registry) + if !read.ok || read.fallback == nil { + return settledCredential{cred: read.cred, ok: read.ok, err: read.err} + } + s := rc.settlement(registry, repo) + select { + case s.lock <- struct{}{}: + case <-ctx.Done(): + return settledCredential{err: ctx.Err()} + } + defer func() { <-s.lock }() + if s.settled { + return s.result + } + result, decided := settleScope(ctx, registry, repo, challenge, read.cred, *read.fallback) + if decided && ctx.Err() == nil { + s.settled, s.result = true, result + } + return result +} + +func (rc *RegistryCredentials) settlement(registry, repo string) *scopeSettlement { + key := credentialScope{registry: strings.ToLower(registry), repo: repo} rc.mu.Lock() defer rc.mu.Unlock() - return rc.cache[strings.ToLower(registry)].rejectedLogin + s, ok := rc.scopes[key] + if !ok { + s = &scopeSettlement{lock: make(chan struct{}, 1)} + rc.scopes[key] = s + } + return s +} + +// credentialSettleTimeout bounds the registry round trips that settle one +// scope. A var so tests can shorten it. +var credentialSettleTimeout = registryProbeTimeout + +// settleScope decides between a docker login and the NGC key behind it for +// repo, asking /v2/ for the challenge when the caller has none. Only a 401 +// says the login is rejected. A 403 says it has no access to repo, and the +// key is tried for repo alone. decided is false for an answer that says +// nothing about either credential. +func settleScope( + ctx context.Context, registry, repo string, challenge *string, login, key registryCredential, +) (settledCredential, bool) { + sctx, cancel := context.WithTimeout(ctx, credentialSettleTimeout) + defer cancel() + client := newRegistryHTTPClient(credentialSettleTimeout) + keep := settledCredential{cred: login, ok: true} + if challenge == nil { + resp, err := doRegistryRequest(sctx, client, func() (*http.Request, error) { + return http.NewRequestWithContext(sctx, http.MethodGet, "https://"+registry+"/v2/", nil) + }) + if err != nil { + return keep, false + } + resp.Body.Close() + switch resp.StatusCode { + case http.StatusOK: + // Anyone may read /v2/, which tells nothing about either credential. + return keep, true + case http.StatusUnauthorized: + default: + return keep, false + } + got := selectAuthChallenge(resp.Header.Values("Www-Authenticate")) + challenge = &got + } + if scheme := authChallengeScheme(*challenge); scheme != "" && !strings.EqualFold(scheme, "Bearer") { + return keep, true + } + _, err := exchangeBearerToken(sctx, client, registry, repo, *challenge, &login) + var te *tokenExchangeError + switch { + case err == nil: + return keep, true + case !errors.As(err, &te): + return keep, false + case te.refused: + return keep, true + case te.credentialed && te.status == http.StatusUnauthorized: + return settledCredential{cred: key, ok: true, rejectedLogin: &login}, true + case !te.credentialed || te.status != http.StatusForbidden: + return keep, false + } + _, err = exchangeBearerToken(sctx, client, registry, repo, *challenge, &key) + switch { + case err == nil: + return settledCredential{cred: key, ok: true, noAccessLogin: &login}, true + case errors.As(err, &te) && (te.rejected() || te.refused): + keep.fallbackFailure = key.source + " was tried for it too: " + te.msg + return keep, true + } + return keep, false } func (rc *RegistryCredentials) resolve(ctx context.Context, registry string) credentialLookup { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 32101b70fc..8bfa776973 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1193,7 +1193,7 @@ func registryCredentialCheck( r.Passed = true r.Severity = SeverityInfo r.Message = label + ": skipped (" + outcome.detail + ")" - case probeAnonymous, probeNotVerified, probeLoginRejected: + case probeAnonymous, probeNotVerified, probeLoginRejected, probeOtherCredential: r.Passed = true r.Severity = SeverityInfo case probeNoCredential, probeUnverifiable: diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 39692f0c3b..f7aa99b5e9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -176,11 +176,12 @@ func resolveValidatorPullSecret( registry, src.Namespace, src.Name, clusterValidatorNamespace, runName), nil } - cred, ok, lookupErr := registryCredentialsFrom(ctx).lookup(ctx, registry) - if !ok { - if lookupErr != nil { + settled := registryCredentialsFrom(ctx).lookup(ctx, registry, repo) + cred := settled.cred + if !settled.ok { + if settled.err != nil { return "", "", fmt.Errorf("no pull secret for %s in the cluster, and reading this machine's "+ - "credential failed: %w", registry, lookupErr) + "credential failed: %w", registry, settled.err) } return "", "", nil } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 4998a37e04..e555469f20 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -88,8 +88,11 @@ const ( probeRejected // probeLoginRejected: the registry rejected the docker login and // accepted the NGC key sent in its place. The run uses the key, but - // docker on this machine still sends the login. + // docker and helm on this machine still send the login. probeLoginRejected + // probeOtherCredential: the docker login has no access to the scope, and + // the registry accepted the NGC key for it, which the run uses there. + probeOtherCredential ) // registryProbeOutcome is the result of a probe that did not verify a @@ -165,17 +168,17 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri "if this is unexpected, check for a proxy or captive portal", registry, resp.Status)} } - cred, hasCred, lookupErr := creds.lookup(pctx, registry) if resp.StatusCode == http.StatusOK { // Anonymous read works, which says nothing about the repositories // the install pulls, and a credential cannot be checked where /v2/ // accepts anyone. - if hasCred { + read := creds.read(pctx, registry) + if read.ok { return registryProbeOutcome{kind: probeNotVerified, - detail: "credentials configured (" + cred.source + "); not verified, " + + detail: "credentials configured (" + read.cred.source + "); not verified, " + "because the registry allows anonymous access to /v2/"} } - return anonymousOutcome(registry, critical, lookupErr) + return anonymousOutcome(registry, critical, read.err) } // Only the Bearer flow is implemented. Self-hosted Harbor and htpasswd @@ -186,25 +189,19 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri detail: fmt.Sprintf("%s uses %s auth; only the OCI Bearer flow is probed", registry, scheme)} } - // Step 2: exchange the credential for a Bearer token scoped to the actual - // repository (repoHint). A made-up repository name draws org-level 403s - // from NGC and GHCR that would read as a rejected credential. + // Step 2: exchange the credential the run settled for this scope for a + // Bearer token scoped to the actual repository (repoHint). A made-up + // repository name draws org-level 403s from NGC and GHCR. + settled := creds.lookupChallenged(pctx, registry, repoHint, wwwAuth) + cred, hasCred, lookupErr := settled.cred, settled.ok, settled.err var sent *registryCredential if hasCred { sent = &cred } _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth, sent) - // A docker login the registry rejects gives way to the NGC key, where the - // run has one, before anything is graded. - if hasCred && isRejectedExchange(err) { - if next, ok := creds.rejected(registry, cred); ok { - cred = next - _, err = exchangeBearerToken(pctx, client, registry, repoHint, wwwAuth, &cred) - } - } note := "" - if login := creds.rejectedLogin(registry); login != "" && hasCred { - note = "; " + rejectedLoginNote(registry, login) + if login := settled.rejectedLogin; login != nil && hasCred { + note = "; " + rejectedLoginNote(registry, login.source) } if err == nil { switch { @@ -213,6 +210,10 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri case note != "": return registryProbeOutcome{kind: probeLoginRejected, detail: "credentials from " + cred.source + " valid" + note} + case settled.noAccessLogin != nil: + return registryProbeOutcome{kind: probeOtherCredential, detail: fmt.Sprintf( + "credentials from %s valid; the docker login from %s has no access to %s, so the run sends %s for it", + cred.source, settled.noAccessLogin.source, scopeLabel(registry, repoHint), cred.source)} } return nil } @@ -223,6 +224,15 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri detail: "could not verify credentials from this machine: " + err.Error() + note}) case te.refused: return registryProbeOutcome{kind: probeSkipped, detail: te.msg} + case te.rejected() && te.status == http.StatusForbidden: + // A 403 is no access to this repository, which says nothing about + // whether the credential itself is still valid. + detail := fmt.Sprintf("credentials from %s have no access to %s: %s; use a credential with pull access to it", + cred.source, scopeLabel(registry, repoHint), te.msg) + if settled.fallbackFailure != "" { + detail += "; " + settled.fallbackFailure + } + return registryProbeOutcome{kind: probeRejected, detail: detail + note} case te.rejected(): return registryProbeOutcome{kind: probeRejected, detail: fmt.Sprintf("credentials from %s rejected: %s; %s%s", cred.source, te.msg, rejectedHint(registry, cred), note)} @@ -235,17 +245,20 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri detail: "could not verify credentials from this machine: " + te.msg + note}) } -// isRejectedExchange reports whether a token exchange failed because the -// registry refused the credential it was sent. -func isRejectedExchange(err error) bool { - var te *tokenExchangeError - return errors.As(err, &te) && te.rejected() +// scopeLabel names the repository a probe asked for, or the registry when it +// asked for none. +func scopeLabel(registry, repo string) string { + if repo == "" { + return registry + } + return registry + "/" + repo } // rejectedLoginNote says that registry rejected the docker login read from -// source, which docker on this machine still sends, and how to renew it. +// source, which docker and helm on this machine still send, and how to renew +// it. func rejectedLoginNote(registry, source string) string { - return fmt.Sprintf("the docker login from %s was rejected, and docker on this machine still sends it; "+ + return fmt.Sprintf("the docker login from %s was rejected, and docker and helm on this machine still send it; "+ "renew it with: docker login %s --username '$oauthtoken'", source, registry) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 231709bcb6..82a4ceb1bd 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -746,11 +746,15 @@ func newFakeRegistry( // fakeNGC stands in for nvcr.io: every registry request the test makes, // whatever its host, reaches it. Its token endpoint refuses a one-segment -// repository scope with 400, as nvcr.io does, and accepts only the password -// goodPass. A token it issued lists the tags of any repository. +// repository scope with 400, as nvcr.io does. It answers 401 to a password it +// does not know, and 403 to a known one asking for a repository outside the +// orgs that password is entitled to. A token it issued lists the tags of any +// repository. type fakeNGC struct { mu sync.Mutex sent []string + // failing is how many token requests still get a 503. + failing int } // passwords returns the Basic auth password of each token request, in order. @@ -760,44 +764,9 @@ func (f *fakeNGC) passwords() []string { return slices.Clone(f.sent) } +// newFakeNGC accepts only goodPass, for any repository. func newFakeNGC(t *testing.T, goodPass string) *fakeNGC { - t.Helper() - f := &fakeNGC{} - srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - switch { - case r.URL.Path == "/token": - _, pass, _ := r.BasicAuth() - f.mu.Lock() - f.sent = append(f.sent, pass) - f.mu.Unlock() - scope := r.URL.Query().Get("scope") - if repo := strings.TrimSuffix(strings.TrimPrefix(scope, "repository:"), ":pull"); scope != "" && - !strings.Contains(repo, "/") { - http.Error(w, "malformed token scope", http.StatusBadRequest) - return - } - if pass != goodPass { - w.WriteHeader(http.StatusUnauthorized) - return - } - _, _ = w.Write([]byte(`{"token":"t"}`)) - case r.Header.Get("Authorization") == "Bearer t" && strings.HasSuffix(r.URL.Path, "/tags/list"): - _, _ = w.Write([]byte(`{"tags":["1.0.0","1.2.0"]}`)) - default: - bearerChallenge(w, "https://"+ngcKeyRegistryHost+"/token") - } - })) - t.Cleanup(srv.Close) - tr := srv.Client().Transport.(*http.Transport).Clone() - // The test certificate names example.com, not nvcr.io. - tr.TLSClientConfig.ServerName = "example.com" - tr.DialContext = func(ctx context.Context, network, _ string) (net.Conn, error) { - return (&net.Dialer{}).DialContext(ctx, network, srv.Listener.Addr().String()) - } - prev := http.DefaultTransport - http.DefaultTransport = tr - t.Cleanup(func() { http.DefaultTransport = prev }) - return f + return newEntitledNGC(t, map[string][]string{goodPass: {""}}) } func bearerChallenge(w http.ResponseWriter, realm string) { @@ -841,11 +810,11 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { }, "credential rejected with 401": { v2: bearerChallenge, token: tokenStatus(http.StatusUnauthorized), withCred: true, - want: want{false, SeverityError, "rejected"}, + want: want{false, SeverityError, "rejected: token exchange"}, }, - "credential rejected with 403": { + "credential with no access, a 403": { v2: bearerChallenge, token: tokenStatus(http.StatusForbidden), withCred: true, - want: want{false, SeverityError, "rejected"}, + want: want{false, SeverityError, "have no access to"}, }, "no credential, anonymous token refused": { v2: bearerChallenge, token: tokenStatus(http.StatusUnauthorized), @@ -896,7 +865,7 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { w.WriteHeader(http.StatusUnauthorized) }, token: tokenStatus(http.StatusUnauthorized), withCred: true, - want: want{false, SeverityError, "rejected"}, + want: want{false, SeverityError, "rejected: token exchange"}, }, "realm on another host": { v2: func(w http.ResponseWriter, _ string) { @@ -1035,14 +1004,14 @@ func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) assert.Equal(t, SeverityInfo, r.Severity) assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") assert.Contains(t, r.Message, "the docker login from docker config") - assert.Contains(t, r.Message, "docker on this machine still sends it; "+ + assert.Contains(t, r.Message, "docker and helm on this machine still send it; "+ "renew it with: docker login nvcr.io --username '$oauthtoken'") assert.NotContains(t, r.Message, "cannot pull") - cred, ok, err := rc.lookup(ctx, "nvcr.io") - require.NoError(t, err) - require.True(t, ok) - assert.Equal(t, "good-key", cred.pass, "later lookups, the pull secret's among them, get the key") + got := rc.lookup(ctx, "nvcr.io", "nvidia/cv") + require.NoError(t, got.err) + require.True(t, got.ok) + assert.Equal(t, "good-key", got.cred.pass, "later lookups, the pull secret's among them, get the key") } assert.Equal(t, []string{"rotated-out", "good-key", "rotated-out", "good-key"}, ngc.passwords()) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go index 7161d70a03..d134730294 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag.go @@ -156,9 +156,8 @@ func isRepositoryPath(s string) bool { } // fetchValidatorTags walks the OCI tag-list endpoint for a single repo. -// Handles the standard Bearer token exchange: try anonymous, on 401 re-auth -// with the run's local credential for the registry, and with the NGC key when -// nvcr.io rejects the docker login. +// Handles the standard Bearer token exchange: try anonymous, then on 401 +// re-auth with the credential the run settled for the repository. func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, error) { tagsURL := fmt.Sprintf("https://%s/v2/%s/tags/list", registry, repo) body, err := fetchWithBearer(ctx, tagsURL, registry, repo) @@ -175,10 +174,10 @@ func fetchValidatorTags(ctx context.Context, registry, repo string) ([]string, e } // fetchWithBearer GETs rawURL, anonymously first and, on a 401, with a Bearer -// token for the run's local credential. Its registry round trips share -// validatorTagFetchTimeout. Reading the credential does not spend it: a helper -// waiting on a keychain prompt or a pinentry is bounded on its own, and the -// NGC key it gives way to must still have time to reach the registry. +// token for the credential the run settled for repo. Its registry round trips +// share validatorTagFetchTimeout. Reading the credential does not spend it: a +// helper waiting on a keychain prompt or a pinentry is bounded on its own, and +// the NGC key it gives way to must still have time to reach the registry. func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte, error) { client := newRegistryHTTPClient(validatorTagFetchTimeout) start := time.Now() @@ -205,20 +204,17 @@ func fetchWithBearer(ctx context.Context, rawURL, registry, repo string) ([]byte resp.Body.Close() spent := time.Since(start) + // The read runs outside the budget; settling the scope, a registry round + // trip, runs inside it. creds := registryCredentialsFrom(ctx) - cred, hasCred, _ := creds.lookup(ctx, registry) + creds.read(ctx, registry) authCtx, cancelAuth := context.WithTimeout(ctx, validatorTagFetchTimeout-spent) defer cancelAuth() var credential *registryCredential - if hasCred { - credential = &cred + if settled := creds.lookupChallenged(authCtx, registry, repo, wwwAuth); settled.ok { + credential = &settled.cred } token, err := exchangeBearerToken(authCtx, client, registry, repo, wwwAuth, credential) - if hasCred && isRejectedExchange(err) { - if next, ok := creds.rejected(registry, cred); ok { - token, err = exchangeBearerToken(authCtx, client, registry, repo, wwwAuth, &next) - } - } if err != nil { return nil, err } diff --git a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go index c4606124ca..2123f777c7 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/validatortag_test.go @@ -261,7 +261,7 @@ func TestNGCCredentials_EnvFallback(t *testing.T) { t.Setenv("NGC_API_KEY", "from-env") for _, prefer := range []bool{true, false} { - cred, ok, err := NewRegistryCredentials(prefer).lookup(context.Background(), "nvcr.io") + cred, ok, err := readCredential(context.Background(), NewRegistryCredentials(prefer), "nvcr.io") require.NoError(t, err) require.True(t, ok) assert.Equal(t, "$oauthtoken", cred.user) @@ -292,7 +292,7 @@ func TestCredentialsForRegistry_NGCKeyOnlyForNvcrIO(t *testing.T) { "example.nvcr.io": "own-login", "registry.example.nvidia.com:5000": "own-login", } { - cred, ok, _ := NewRegistryCredentials(true).lookup(context.Background(), host) + cred, ok, _ := readCredential(context.Background(), NewRegistryCredentials(true), host) require.True(t, ok, host) assert.Equal(t, wantPass, cred.pass, host) } @@ -487,7 +487,7 @@ func TestExchangeBearerToken_DockerHubDelegatedRealm(t *testing.T) { `scope="repository:library/ubuntu:pull"` // The credential comes from the run's lookup, which must not hand the NGC // key to Docker Hub. - cred, ok, _ := NewRegistryCredentials(true).lookup(context.Background(), "registry-1.docker.io") + cred, ok, _ := readCredential(context.Background(), NewRegistryCredentials(true), "registry-1.docker.io") var sent *registryCredential if ok { sent = &cred From c254c33c3621edfe9bd9de778c24660804e0d0f9 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:20:13 +0530 Subject: [PATCH 105/127] fix(nvcf-cli): before install, fail a critical registry row on a docker login nvcr.io rejects even when NGC_API_KEY works Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 8 +- .../agentskill/skilldata_generated.go | 4325 +++++++++-------- .../nvcf-cli/internal/selfhosted/preflight.go | 23 +- .../internal/selfhosted/registry_cred.go | 9 +- .../internal/selfhosted/registry_cred_test.go | 62 +- 5 files changed, 2239 insertions(+), 2188 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 20fd4808e5..6be69c2af7 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -93,8 +93,12 @@ stack's image path: any path in `global.image.registry`, then team, is not sent as the scope, since `nvcr.io` refuses it. Only a credential the registry rejects fails the run, and only for an NVIDIA -registry the image or the stack names. After install a rejected credential is -a warning, since the cluster pulls with its own pull secret. A registry this +registry the image or the stack names. Before install that includes a docker +login `nvcr.io` rejects even when the NGC key works in its place, since +`helm` on this machine pulls the stack's charts with the docker login. The +key is still used for tag discovery and the validator's pull secret, and the +row names both. After install a rejected credential is a warning, since the +cluster pulls with its own pull secret. A registry this machine cannot reach, a token service that fails, and a missing local credential are warnings. A registry the probe cannot speak to, such as ECR or one using Basic auth, is skipped with a command to check it by hand. A diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 05c91a3e07..ea1102f775 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjU4NjAsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjYxMzgsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjYjhiNjQ5M2VlMjY4ZTI5" + - "YzMwMjRkODg2N2MwODYxMGZlZDQyNjcxYTZjMzBlMzc0NDM4MWFmN2U1MWRlNzcxIiwKICAgICAg" + - "InNpemUiOiAyMjMzMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIwYjJkM2YxODhmOTRhMzQ5" + + "N2VjYTYxODE2MDI1ZGVmMzZjMmQ1MGViZDFhZTY5MDI5NzYyMTgyY2Y3ZDUzY2M4IiwKICAgICAg" + + "InNpemUiOiAyMjYxMQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCEWT1PVKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCIZR2K5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1986,2172 +1986,2177 @@ const skillDataZipBase64 = "" + "LCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoK" + "T25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5k" + "IG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVz" + - "LiBBZnRlciBpbnN0YWxsIGEgcmVqZWN0ZWQgY3JlZGVudGlhbCBpcwphIHdhcm5pbmcsIHNpbmNl" + - "IHRoZSBjbHVzdGVyIHB1bGxzIHdpdGggaXRzIG93biBwdWxsIHNlY3JldC4gQSByZWdpc3RyeSB0" + - "aGlzCm1hY2hpbmUgY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5k" + - "IGEgbWlzc2luZyBsb2NhbApjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQSByZWdpc3RyeSB0aGUg" + - "cHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvcgpvbmUgdXNpbmcgQmFzaWMgYXV0" + - "aCwgaXMgc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBCnJlZ2lz" + - "dHJ5IHRoYXQgbGV0cyB0aGlzIG1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMg" + - "c3VjaCwgbm90IGFzCnZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0" + - "aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEku" + - "IEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5" + - "IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwg" + - "RW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5n" + - "cmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMg" + - "cm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVl" + - "YCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQg" + - "YGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dB" + - "VEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVz" + - "LiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBp" + - "dCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBg" + - "aW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FU" + - "RVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJh" + - "b2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVl" + - "YCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9F" + - "WFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xh" + - "c3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0" + - "cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NM" + - "QVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0Vg" + - "IHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + - "LWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92" + - "ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9u" + - "bHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMg" + - "bmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1" + - "bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5z" + - "dGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBg" + - "LS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyBy" + - "ZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90" + - "IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDog" + - "YC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIGEg" + - "Y29tcHV0ZS1wbGFuZS1vbmx5IHJ1biksIGVsc2UgdGhlIENMSSdzCiAgYnVpbHQtaW4gc3RhY2su" + - "IEEgbG9jYWwgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFj" + - "awogIGZyb20gdGhlIGNvcHkgYW4gZWFybGllciBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBD" + - "TEkgY2FjaGUuIEEgZ2l0IHN0YWNrLAogIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMgbm90IHJlYWQs" + - "IHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkCiAgc3RhdGUuIEEgQ0xJIHdp" + - "dGggbm8gYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrCiAg" + - "Y2hlY2tvdXQgYWJvdmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcg" + - "ZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRl" + - "d2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2Fybmlu" + - "ZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBp" + - "ZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQg" + - "SUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lv" + - "biB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBw" + - "bGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNp" + - "ZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVz" + - "dGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wg" + - "KyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAg" + - "fAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8" + - "IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBg" + - "LS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVy" + - "IHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8Cnwg" + - "YC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lP" + - "TmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5k" + - "cG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNy" + - "ZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBn" + - "ZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18" + - "LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZp" + - "ZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24g" + - "VEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkg" + - "bnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUu" + - "Zy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8Cnwg" + - "YC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVp" + - "cmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlk" + - "YXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNl" + - "YCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVz" + - "KSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJl" + - "cGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBG" + - "dW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwg" + - "LSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2lu" + - "dCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBw" + - "b3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBG" + - "dW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + - "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24t" + - "dHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhl" + - "bG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQg" + - "YnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwK" + - "fCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsg" + - "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7" + - "IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1l" + - "dGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1" + - "c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3Ig" + - "ZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0" + - "cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwg" + - "LSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwg" + - "ZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3Jp" + - "dHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAg" + - "fCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAg" + - "dG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9y" + - "aXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBg" + - "ZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1v" + - "ZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1j" + - "b21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1" + - "cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNg" + - "LCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRz" + - "IGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxz" + - "YXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUg" + - "b3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4g" + - "YDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRz" + - "KSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtz" + - "KS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUg" + - "YDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09O" + - "LgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAu" + - "IEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6" + - "ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxz" + - "W10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRg" + - "IG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFy" + - "dFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVu" + - "Y3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZD" + - "RiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hh" + - "dCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRp" + - "LXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1" + - "ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVw" + - "bGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExM" + - "TSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhv" + - "ZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBt" + - "YXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlu" + - "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVs" + - "dC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0" + - "eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFj" + - "Y291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + - "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + - "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + - "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2Vw" + - "dHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25m" + - "aWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJp" + - "c2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9k" + - "ZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + - "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9j" + - "IG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0t" + - "fAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBg" + - "LS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZ" + - "UEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBN" + - "aW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMg" + - "fCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBg" + - "MGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVss" + - "TkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5n" + - "IFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBp" + - "cyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9j" + - "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1l" + - "IE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1a" + - "XVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3" + - "aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2Ut" + - "dHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmls" + - "ZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENv" + - "bnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwK" + - "fCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2Ug" + - "fCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklM" + - "RWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVz" + - "IHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENT" + - "UCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdp" + - "dGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdz" + - "IEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmds" + - "ZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29u" + - "dGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsg" + - "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJv" + - "bm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0t" + - "bWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAx" + - "LCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBg" + - "LS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxs" + - "YXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0" + - "aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNP" + - "IDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBM" + - "T0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8Cnwg" + - "YC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9y" + - "bWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1y" + - "ZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJ" + - "YCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6" + - "VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10" + - "YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2Ny" + - "aXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5" + - "LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNz" + - "LXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + - "CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9p" + - "bnQgSUQgfCAtIHwKUEsHCByOEto9VwAAPVcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRV" + - "VAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBj" + - "b21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0" + - "dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBl" + - "dmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVn" + - "b3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCBy" + - "ZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMK" + - "YHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1" + - "c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkg" + - "cm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5v" + - "dCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3Vi" + - "ZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7" + - "IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBz" + - "Oi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBo" + - "ZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hl" + - "bG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhg" + - "IHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rl" + - "ci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsg" + - "Li4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUg" + - "Y2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2Vg" + - "IGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFH" + - "RWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Ig" + - "ZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAs" + - "IGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMg" + - "dmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0" + - "IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0" + - "ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMg" + - "dHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0" + - "b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcg" + - "dXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBz" + - "ZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2Fy" + - "bmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2" + - "YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciBy" + - "b2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhl" + - "IHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwK" + - "fCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6" + - "IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGlu" + - "c3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNw" + - "YWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVy" + - "LXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBG" + - "b3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90" + - "IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3si" + - "bWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMt" + - "ZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2Ag" + - "aW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2Ap" + - "IHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9y" + - "dGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFu" + - "ZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMs" + - "IG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJ" + - "bnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2" + - "ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBg" + - "ZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRg" + - "IGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sg" + - "VGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBi" + - "ZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0" + - "IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhv" + - "bGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiBy" + - "ZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25z" + - "fSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwg" + - "YW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5h" + - "bGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5z" + - "PiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwg" + - "ZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQg" + - "YW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBz" + - "dHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6" + - "IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAs" + - "IHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0" + - "ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBU" + - "aGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBy" + - "dW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlz" + - "aCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUt" + - "bmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1l" + - "c3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxs" + - "IGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZl" + - "cyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qg" + - "b25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1v" + - "IG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25v" + - "cmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQg" + - "Y29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "IHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0" + - "b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBg" + - "SEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUg" + - "aGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFt" + - "ZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4g" + - "YW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sg" + - "YGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMg" + - "Y29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtz" + - "ZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20t" + - "dGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52" + - "YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVj" + - "a3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWkt" + - "c2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlg" + - "IG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBm" + - "bGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVz" + - "ZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAg" + - "KGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90" + - "IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1Qg" + - "LS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVy" + - "IGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxl" + - "IHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZj" + - "Zi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3Npbmcg" + - "cmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRv" + - "ZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdl" + - "bmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFs" + - "bCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18" + - "CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3Rh" + - "dGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xh" + - "c3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJ" + - "bnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwg" + - "V3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAi" + - "Z3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGBy" + - "ZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29t" + - "cHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1w" + - "dHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8" + - "CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJp" + - "bmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2" + - "YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2Yt" + - "Y2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1h" + - "Z2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNs" + - "dXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdl" + - "IGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8Cgoj" + - "IyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAg" + - "NDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNs" + - "dXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVy" + - "IElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJl" + - "c2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3Rl" + - "ciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQg" + - "Y29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3Rl" + - "ciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJh" + - "Y2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmln" + - "IG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5k" + - "IDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95" + - "IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29s" + - "ZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwg" + - "YGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5h" + - "dHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8" + - "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlz" + - "c2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1" + - "c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5" + - "LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFs" + - "IGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFn" + - "YXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlh" + - "bHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1p" + - "bikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVz" + - "IHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Yg" + - "cm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5" + - "IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFu" + - "ZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29t" + - "cHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + - "bGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxs" + - "IHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAg" + - "aW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBj" + - "b250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYt" + - "aG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVu" + - "dHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vu" + - "c2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAg" + - "PCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5n" + - "IGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4" + - "Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1h" + - "bmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFu" + - "ZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0" + - "b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5h" + - "bDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdl" + - "Lm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdl" + - "ZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBj" + - "bGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFu" + - "Z3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVj" + - "dGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFn" + - "ZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0Yg" + - "Y29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5z" + - "dHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRv" + - "d24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1j" + - "b21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + - "IHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJl" + - "YWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVy" + - "ZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9y" + - "IHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQg" + - "aW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29t" + - "cHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9s" + - "LXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1l" + - "bnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+" + - "L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8g" + - "PGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+" + - "L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywg" + - "ZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2Mg" + - "cmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24g" + - "PG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxh" + - "bmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBT" + - "cGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250" + - "ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAj" + - "IE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNp" + - "b24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3Qg" + - "aW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBt" + - "dXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxh" + - "bmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxz" + - "IGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBg" + - "YAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFt" + - "bGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNh" + - "bm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + - "bnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZs" + - "b3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21t" + - "b24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFt" + - "bCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2Jh" + - "bC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1j" + - "aGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFt" + - "bCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlu" + - "bGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6" + - "IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0" + - "byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwg" + - "cmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUg" + - "ZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1s" + - "LmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBb" + - "T3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1" + - "ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5k" + - "IGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFz" + - "aApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1l" + - "c3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + - "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2Nr" + - "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1v" + - "IHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0" + - "cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVy" + - "ZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cyku" + - "CgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBg" + - "ZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3Ig" + - "TkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywg" + - "c28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJh" + - "dGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2Vy" + - "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoK" + - "IyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAg" + - "aGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2Nv" + - "dW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1v" + - "cmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBv" + - "cmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0" + - "aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + - "LmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkg" + - "b3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBm" + - "YWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhl" + - "IGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBj" + - "aGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUg" + - "bG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwg" + - "b3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVy" + - "IGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3Jl" + - "ZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJv" + - "ciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZy" + - "b20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkK" + - "CklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBj" + - "bHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3Jl" + - "dCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRl" + - "bnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0" + - "YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQg" + - "dGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAg" + - "IGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJl" + - "Z2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVw" + - "b3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhl" + - "IGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAg" + - "cmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBo" + - "YXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJ" + - "IGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlv" + - "Ly4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBj" + - "aGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3Np" + - "dG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUg" + - "bm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAog" + - "ICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNr" + - "IGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9D" + - "STogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVs" + - "bSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRo" + - "PmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3Vy" + - "Y2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0" + - "ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5v" + - "ZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMg" + - "bm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1l" + - "c3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVz" + - "cGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRz" + - "YCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52" + - "Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1h" + - "cGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0" + - "aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQg" + - "Y3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRo" + - "ZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJv" + - "cmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRv" + - "bWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxk" + - "b21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJh" + - "bGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdB" + - "WV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdh" + - "eS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykK" + - "dGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0" + - "bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRl" + - "cm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxm" + - "LW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVz" + - "dGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBn" + - "bG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2As" + - "IGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3Vy" + - "IGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlf" + - "QUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9t" + - "YWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9u" + - "LiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFBy" + - "ZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmls" + - "ZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fz" + - "c2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRv" + - "Y3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJh" + - "IGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQ" + - "YXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4g" + - "YERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0" + - "IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBg" + - "QmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNh" + - "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVM" + - "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmls" + - "ZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9y" + - "IHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18" + - "LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBP" + - "cGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZp" + - "Y2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBp" + - "LWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3" + - "YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1" + - "LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMg" + - "fCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZh" + - "YmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFy" + - "YXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYu" + - "IEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNh" + - "YmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhv" + - "c3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQ" + - "SSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBh" + - "Y2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRy" + - "YWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApy" + - "ZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1h" + - "bmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklm" + - "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZp" + - "cm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3" + - "YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZh" + - "dWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2" + - "YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFu" + - "ZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmln" + - "YC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRv" + - "bWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhl" + - "IHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNv" + - "bmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFz" + - "ZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3" + - "YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91" + - "dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12" + - "YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpj" + - "dXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4v" + - "aGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQ" + - "SSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMu" + - "IFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgoj" + - "IyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + - "Y3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0" + - "IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5W" + - "Q0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29u" + - "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAg" + - "dGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRo" + - "ZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3Ig" + - "ZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2" + - "ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVp" + - "LWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0" + - "YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxh" + - "bmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNv" + - "bXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBh" + - "cmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGgg" + - "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBw" + - "cm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVu" + - "IHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8g" + - "bm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3Rh" + - "bGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNv" + - "bW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFy" + - "ZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxh" + - "bmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBz" + - "YW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9u" + - "bHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmls" + - "ZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAs" + - "IGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZp" + - "Y2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwg" + - "YHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBp" + - "bmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdl" + - "ci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBh" + - "bHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51" + - "cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUg" + - "dGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVh" + - "c2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9y" + - "IG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95" + - "LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVy" + - "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + - "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + - "IHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9u" + - "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBi" + - "eSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFj" + - "ZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFu" + - "ZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkg" + - "dmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9y" + - "ZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBn" + - "ZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8" + - "c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0" + - "IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBr" + - "ZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRy" + - "YS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4K" + - "CiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVs" + - "ZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJs" + - "b2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8g" + - "dGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBg" + - "eWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNz" + - "YW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5k" + - "ZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2" + - "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + - "CiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAg" + - "ICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICBy" + - "ZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkK" + - "YGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRl" + - "bmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1w" + - "bGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3Rt" + - "cGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xl" + - "IHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMj" + - "IEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwg" + - "dHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVs" + - "b3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9y" + - "bWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290" + - "c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwt" + - "LS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBu" + - "dmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50" + - "byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNy" + - "ZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2Vj" + - "cmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdF" + - "X1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNl" + - "cy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRg" + - "KSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWls" + - "ZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQo" + - "IiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNy" + - "ZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBU" + - "aGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRI" + - "X0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBk" + - "b2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFz" + - "IGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2" + - "ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJj" + - "b25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRv" + - "a2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVu" + - "c3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAt" + - "IFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5z" + - "Cj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3Jt" + - "YXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVs" + - "bCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNz" + - "IG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Ig" + - "d3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2Rpbmcg" + - "aXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0" + - "aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICck" + - "b2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1" + - "dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9" + - "IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBm" + - "b3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBr" + - "dWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3Mg" + - "dXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdo" + - "ZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1h" + - "Z2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52" + - "Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3Vu" + - "dC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQg" + - "KHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5n" + - "IGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRp" + - "Y2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBw" + - "YXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBL" + - "eXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3Qg" + - "YGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlz" + - "IHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJh" + - "dGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0" + - "YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIu" + - "aW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5v" + - "L2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwg" + - "c2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkg" + - "dGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2Vw" + - "dWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBh" + - "dCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3It" + - "Y3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + - "IFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYg" + - "dXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElB" + - "TSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNy" + - "ZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZl" + - "cmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMg" + - "Y2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAg" + - "ICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4g" + - "PG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMj" + - "IENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0t" + - "LS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9y" + - "aXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0" + - "cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24g" + - "c2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9w" + - "ZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0" + - "LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24g" + - "a2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFv" + - "IEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUg" + - "Y2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBP" + - "SURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292" + - "ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25z" + - "YCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + - "XShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBg" + - "T09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBP" + - "dmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFj" + - "a2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBD" + - "YXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + - "T1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBg" + - "Y2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNl" + - "Y3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJl" + - "LXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBv" + - "ZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0" + - "bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFz" + - "ZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVs" + - "bWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50" + - "IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMg" + - "ZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "IC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93" + - "biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5l" + - "dmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJl" + - "ZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhv" + - "b2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUg" + - "aG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUt" + - "YWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNl" + - "Y3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRv" + - "IGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2" + - "ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5k" + - "IGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNl" + - "dCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8" + - "CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0" + - "Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMg" + - "dGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1Nf" + - "UkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMj" + - "IyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBp" + - "cyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNl" + - "KioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2Ug" + - "aXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwg" + - "YGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0" + - "IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9v" + - "ayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50" + - "IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xp" + - "ZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMu" + - "CgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9" + - "J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJz" + - "ZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28g" + - "dGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxp" + - "bmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoK" + - "YGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNj" + - "b3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgoj" + - "IyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhh" + - "bXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlk" + - "aWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0" + - "IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMv" + - "aGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNl" + - "Y3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRl" + - "ciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNy" + - "ZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tl" + - "IGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUA" + - "AQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1" + - "ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + - "S1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0" + - "aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJl" + - "cXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjAp" + - "LCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3Rs" + - "IChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0" + - "byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + - "aXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49" + - "IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlm" + - "aWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFu" + - "ICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRp" + - "YmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3lu" + - "YyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVz" + - "dCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNr" + - "cyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBj" + - "aGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyBy" + - "ZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFp" + - "bmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5" + - "IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0" + - "ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlm" + - "ZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAn" + - "aGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVu" + - "IHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnly" + - "dW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUg" + - "c3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNh" + - "dXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJl" + - "bW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBj" + - "bGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFt" + - "ZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1v" + - "cGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJl" + - "c291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21w" + - "dXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBh" + - "Z2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92" + - "ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFj" + - "ZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2Vz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + - "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + - "dXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkg" + - "dG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAg" + - "ICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJh" + - "dGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1" + - "dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBm" + - "cm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBs" + - "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3" + - "YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3Rh" + - "bGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJl" + - "Z2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVj" + - "b25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhl" + - "IHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRp" + - "b24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55" + - "YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBj" + - "b250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRl" + - "IHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9r" + - "ZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBp" + - "X2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUg" + - "YmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1F" + - "LCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1j" + - "b21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxF" + - "X0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + - "IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNt" + - "c19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3Qg" + - "TWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldL" + - "UyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVx" + - "dWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1p" + - "eCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1i" + - "b3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBO" + - "R0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "LiBCZWZvcmUgaW5zdGFsbCB0aGF0IGluY2x1ZGVzIGEgZG9ja2VyCmxvZ2luIGBudmNyLmlvYCBy" + + "ZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIHNpbmNlCmBo" + + "ZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0YWNrJ3MgY2hhcnRzIHdpdGggdGhlIGRv" + + "Y2tlciBsb2dpbi4gVGhlCmtleSBpcyBzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0" + + "aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUKcm93IG5hbWVzIGJvdGguIEFmdGVy" + + "IGluc3RhbGwgYSByZWplY3RlZCBjcmVkZW50aWFsIGlzIGEgd2FybmluZywgc2luY2UgdGhlCmNs" + + "dXN0ZXIgcHVsbHMgd2l0aCBpdHMgb3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFj" + + "aGluZSBjYW5ub3QgcmVhY2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNz" + + "aW5nIGxvY2FsCmNyZWRlbnRpYWwgYXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBj" + + "YW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMgRUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBz" + + "a2lwcGVkIHdpdGggYSBjb21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhh" + + "dCBsZXRzIHRoaXMgbWFjaGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBu" + + "b3QgYXMKdmFsaWQgY3JlZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFj" + + "awoKVGhlIHZhbGlkYXRvciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBv" + + "bmUgc2V0IHdpdGggaXRzCmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBv" + + "dmVyIHRoZSBzdGFjay4KCnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5k" + + "IGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdh" + + "dGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6" + + "IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0" + + "c2Agb25seSB3aXRoIGByb3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVp" + + "Y2Agb25seSB3aXRoIGByb3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9O" + + "QU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFy" + + "ZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBz" + + "IHRoZSBzdGFjaydzIGdhdGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNz" + + "LmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05B" + + "TUVTUEFDRWAgfAp8IEV4dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBg" + + "Y2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0t" + + "Y2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFM" + + "X0NPTVBPTkVOVFNgIHwKfCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdo" + + "ZW4gc2V0LCB0aGUgdmFsaWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3Rl" + + "YWQgb2YgcmVxdWlyaW5nIGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwK" + + "fCBPcGVuQmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92" + + "ZXJsYXkgcHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2Vg" + + "LCBvciBgTlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28g" + + "Y29tZSBmcm9tIHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVu" + + "IHRoZXkgZGVzY3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3" + + "aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1" + + "c2VkIG9ubHkgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAog" + + "IHNpbmNlIGB1cGAgaW5zdGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAg" + + "dGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxh" + + "eWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4K" + + "LSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRl" + + "LXBsYW5lLW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2Nh" + + "bCBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJv" + + "bSB0aGUgY29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNo" + + "ZS4gQSBnaXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2Ug" + + "dGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBi" + + "dWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291" + + "dCBhYm92ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRo" + + "ZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZy" + + "b20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHku" + + "CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZp" + + "ZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBu" + + "dmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVz" + + "LXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBF" + + "VEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwg" + + "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFt" + + "ZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBj" + + "bHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0t" + + "d2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29t" + + "cG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2" + + "ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0" + + "ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + + "fCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2Et" + + "aWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJl" + + "Z2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8" + + "IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGlu" + + "c3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRl" + + "YC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkg" + + "dHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8" + + "IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNs" + + "aWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRo" + + "YCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29w" + + "ZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0t" + + "Zm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFj" + + "aCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4" + + "dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAg" + + "KGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1z" + + "cGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJs" + + "ZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVy" + + "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9u" + + "IG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBg" + + "LS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8" + + "CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAt" + + "IHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9u" + + "IHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBV" + + "Ukwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxM" + + "TWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFy" + + "dC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUg" + + "Y2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1v" + + "ZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRh" + + "YmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0" + + "IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0" + + "b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZh" + + "bHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxl" + + "IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1" + + "c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBg" + + "LS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0" + + "IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAt" + + "IHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1h" + + "Y2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBk" + + "aXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwg" + + "LSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlv" + + "blR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10u" + + "bGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGli" + + "bGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVk" + + "IHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBg" + + "L3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5k" + + "X3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9y" + + "IGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3Jl" + + "IGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVl" + + "Pi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAg" + + "KG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2Ug" + + "ZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1T" + + "LDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxt" + + "IGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEg" + + "SGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + + "LCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1D" + + "b25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBi" + + "ZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2Vydmlj" + + "ZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1p" + + "ZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0" + + "aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBs" + + "ZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1z" + + "ZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRv" + + "IG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1" + + "bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVs" + + "IHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tl" + + "blJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAt" + + "LWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNP" + + "TiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9y" + + "aXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZp" + + "Z3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBv" + + "dmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklP" + + "UklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9y" + + "dHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0" + + "IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9k" + + "ZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0" + + "aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUg" + + "Y3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRh" + + "dGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxl" + + "IEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNo" + + "b3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + + "ZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBO" + + "QU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBT" + + "S1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBs" + + "aWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8" + + "CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5z" + + "ZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAg" + + "fCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8" + + "CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + + "bWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAg" + + "fCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAt" + + "OUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQg" + + "YC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZ" + + "UEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBF" + + "eGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVy" + + "IGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhl" + + "bG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVh" + + "bGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpT" + + "T04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBi" + + "b3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8" + + "CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRo" + + "ZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2Ag" + + "fCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmlu" + + "ZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXIt" + + "ZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRh" + + "YmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2" + + "YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVu" + + "dGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4g" + + "YFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1x" + + "dWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAo" + + "SVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3Jh" + + "Y2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkg" + + "fCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5P" + + "TkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1" + + "bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9y" + + "Zy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1z" + + "dHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9k" + + "ZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9O" + + "OlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFH" + + "WyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24g" + + "VEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJ" + + "RGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1l" + + "dHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10" + + "cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8" + + "IC0gfApQSwcItEyaElNYAABTWAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbO" + + "EiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQs" + + "IGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2" + + "ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVu" + + "dHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFu" + + "ZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMg" + + "ZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2Vf" + + "ZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZh" + + "bGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBh" + + "bmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5k" + + "IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBB" + + "biBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBh" + + "biBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJl" + + "cm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxl" + + "IG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUv" + + "aGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1l" + + "IHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlk" + + "YXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3" + + "YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVy" + + "IHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhl" + + "IG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90" + + "IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3Ig" + + "fCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0" + + "OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXgg" + + "dGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxp" + + "ZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2Ny" + + "aXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4pYCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNz" + + "ZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBiZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxh" + + "Y2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBj" + + "YW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRoZSBjaGVja3MgaXQgcmFuIGFuZCB3YXJuaW5ncyBp" + + "dCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBhbiBpbWFnZSB0aGF0IHByZWRhdGVzIHZhbGlkYXRv" + + "ciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBsYW5lIGNoZWNrcyBmb3IgZWl0aGVyIHJvbGUgfCBH" + + "cmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNj" + + "cmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dzYCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVz" + + "dGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IElu" + + "c3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBl" + + "ZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52" + + "b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRh" + + "dG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8" + + "IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBv" + + "bmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0" + + "YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0" + + "LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUg" + + "c3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhl" + + "IGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFp" + + "bHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5v" + + "IG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhl" + + "IE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwg" + + "cGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1v" + + "cGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdw" + + "dS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUg" + + "aXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5h" + + "dGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVs" + + "ZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxl" + + "dGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBm" + + "aW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1" + + "YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxp" + + "c3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVz" + + "b2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMg" + + "b25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJt" + + "aW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlv" + + "biBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVy" + + "dW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRl" + + "cm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4g" + + "KEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2Fybmlu" + + "ZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3du" + + "IGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0" + + "IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcs" + + "IHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdp" + + "dGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3Bh" + + "Y2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBy" + + "dW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMg" + + "dm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0u" + + "IEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBg" + + "a3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBc" + + "fCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3Qt" + + "Zm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25l" + + "bnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0" + + "cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJl" + + "bGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RS" + + "SVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmls" + + "ZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2Vz" + + "IGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGQt" + + "b24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0" + + "aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZy" + + "b20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdz" + + "IHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3Rh" + + "Y2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBI" + + "RUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUg" + + "cGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhl" + + "cndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVs" + + "ZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwg" + + "UGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhl" + + "IGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVt" + + "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBu" + + "b3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2Vk" + + "IHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1p" + + "bnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3Jp" + + "dGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lv" + + "bi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5z" + + "dGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0" + + "ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBo" + + "YXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUg" + + "LS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVw" + + "YAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxt" + + "IGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNl" + + "dCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hl" + + "Y2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQg" + + "R1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBm" + + "aWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAi" + + "SDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBt" + + "dXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBs" + + "YW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBh" + + "c3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVx" + + "dWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21w" + + "dXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRg" + + "OyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRv" + + "IGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxC" + + "YWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciBy" + + "ZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0" + + "IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1" + + "dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + + "LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9u" + + "IGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9l" + + "c24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxl" + + "KSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8" + + "aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRl" + + "LXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0" + + "ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAg" + + "aW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2lu" + + "ZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5g" + + "OyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sg" + + "YERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0" + + "ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0" + + "bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRo" + + "LWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + + "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxU" + + "WVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEg" + + "cHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVu" + + "dGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAv" + + "YGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBk" + + "ZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRo" + + "IGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQg" + + "YXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0" + + "IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0" + + "IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI" + + "Griz82EhAABhIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJh" + + "dGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBs" + + "YW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0" + + "YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0" + + "cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + + "LCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxs" + + "YXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wt" + + "cGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQg" + + "ZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNl" + + "IHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBh" + + "Y2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4w" + + "LCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3Rl" + + "ciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + + "bnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwg" + + "aGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGkt" + + "cHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBb" + + "U2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxz" + + "ZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlh" + + "LmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxt" + + "ZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9m" + + "aWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6" + + "IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBk" + + "b21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFj" + + "ayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9s" + + "LXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlv" + + "bnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3Jr" + + "IGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + + "ZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExN" + + "IEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xs" + + "bS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4" + + "dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxs" + + "YXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBs" + + "YW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUt" + + "c3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxj" + + "b250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0" + + "ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9h" + + "ZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3Ry" + + "eSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + + "Ojx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9u" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21t" + + "YW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZs" + + "b3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVm" + + "b3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBi" + + "ZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAg" + + "ICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRl" + + "IGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUg" + + "d2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21t" + + "YW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJv" + + "b3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZp" + + "bGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVu" + + "dGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQK" + + "YHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2Fs" + + "CltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3Yw" + + "LjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5k" + + "ZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25m" + + "aWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAg" + + "ICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "ICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwu" + + "Z290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZh" + + "bHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAg" + + "KHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZh" + + "bHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2Jh" + + "bC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2gg" + + "Y2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNh" + + "IGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9u" + + "bWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBs" + + "YCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFs" + + "dWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlk" + + "aW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgoj" + + "IyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2Ug" + + "cHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAi" + + "JG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoK" + + "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + + "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEt" + + "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + + "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + + "ci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2Vy" + + "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3Ug" + + "bXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRo" + + "ZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAy" + + "LiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIg" + + "bG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhl" + + "bG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUg" + + "aGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoK" + + "YGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4g" + + "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkg" + + "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgph" + + "d3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRr" + + "ci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkg" + + "bG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3Rj" + + "aGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhh" + + "dCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUg" + + "aG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChv" + + "cgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3Jp" + + "dGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0" + + "aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+" + + "IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9p" + + "bWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3" + + "aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNz" + + "Cj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0g" + + "cHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2lu" + + "LiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lk" + + "cyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJl" + + "Z2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91" + + "IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIg" + + "Y2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3Ig" + + "ZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBp" + + "cwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQg" + + "aXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3Rh" + + "Y2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFt" + + "bAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+" + + "ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5" + + "OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBj" + + "aGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0" + + "b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1p" + + "eCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRz" + + "IGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkg" + + "YXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywg" + + "dGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChm" + + "b3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJ" + + "IGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9D" + + "SSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91" + + "ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVs" + + "bSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2gg" + + "PGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25s" + + "eSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoK" + + "Mi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRo" + + "ZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3" + + "b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBL" + + "dWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBg" + + "bnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywg" + + "anVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5" + + "LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2Ag" + + "ZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGls" + + "bCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3Jl" + + "YXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50" + + "aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIg" + + "aW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAg" + + "PiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBz" + + "ZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5g" + + "LiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIu" + + "IFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJF" + + "U1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVz" + + "cGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1u" + + "ICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9y" + + "IElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0" + + "aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdl" + + "ZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdp" + + "dGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5k" + + "b21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNl" + + "bmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBE" + + "TlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNT" + + "YC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0" + + "YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBF" + + "eGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBh" + + "bmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBs" + + "YXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEg" + + "cGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRz" + + "Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQg" + + "aGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3Jk" + + "YCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVM" + + "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVs" + + "dCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3Jl" + + "ZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJh" + + "LnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NB" + + "TkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxv" + + "eXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2" + + "aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0t" + + "LS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8s" + + "IENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwg" + + "QVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywg" + + "b3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZD" + + "RiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWlu" + + "IHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBt" + + "aW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkg" + + "c3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVy" + + "bWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxl" + + "IFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5" + + "IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVz" + + "IG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBp" + + "bnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMg" + + "dGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBz" + + "dGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2Ug" + + "YW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5k" + + "IHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0" + + "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50" + + "cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAg" + + "IGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91" + + "dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1n" + + "YXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGgg" + + "bWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5" + + "b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAs" + + "IHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sK" + + "cGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWlu" + + "ZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2" + + "aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1w" + + "bGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFu" + + "aXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5" + + "IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1n" + + "YXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUgg" + + "Ikhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgi" + + "CmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkg" + + "S2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ug" + + "cm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBF" + + "bmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21l" + + "ci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2" + + "YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBh" + + "ZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEg" + + "YG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNl" + + "Y3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0" + + "ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVt" + + "ZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNh" + + "dGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24u" + + "bWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRo" + + "ZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21w" + + "b25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1w" + + "bGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVu" + + "dmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29t" + + "cHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUg" + + "Z2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRo" + + "ZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4" + + "IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMs" + + "IEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9y" + + "ZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZv" + + "cmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFu" + + "ZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0" + + "cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNr" + + "LiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3Nh" + + "bmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBn" + + "cnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5" + + "LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3Ng" + + "OyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJs" + + "ZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5j" + + "bHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNl" + + "cnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + + "bSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBz" + + "dGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNw" + + "YWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50" + + "aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5z" + + "dGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Vg" + + "IGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCBy" + + "ZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5" + + "IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2lu" + + "ZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1" + + "bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3Zl" + + "bmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRl" + + "YXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRp" + + "cmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJv" + + "eQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1z" + + "eXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1m" + + "b3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8" + + "IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwoj" + + "IFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVz" + + "CgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhh" + + "dCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxp" + + "Y2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJl" + + "bGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGlu" + + "IGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIElu" + + "IHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNl" + + "Y3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0g" + + "bmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5l" + + "bmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + + "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFs" + + "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0g" + + "Y2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + + "ICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3Rz" + + "OgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllB" + + "TUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9y" + + "IGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3Mg" + + "dmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5k" + + "IHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFz" + + "ZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2Ug" + + "UHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4g" + + "RG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdv" + + "IG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMg" + + "d3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBS" + + "ZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18" + + "LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBp" + + "IHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8" + + "IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5" + + "IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBL" + + "eXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlh" + + "bWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9T" + + "RUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2Yt" + + "YXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBG" + + "b3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBm" + + "b3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRo" + + "dG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQg" + + "dGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNy" + + "ZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0" + + "X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNv" + + "bmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcg" + + "ZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGlt" + + "IGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBp" + + "dCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtl" + + "eT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFz" + + "ZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3Jvbmcg" + + "YWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBg" + + "NDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+" + + "IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMg" + + "YSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hp" + + "Y2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1v" + + "cmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUg" + + "YnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEg" + + "ZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRv" + + "a2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZp" + + "Y2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgi" + + "Cj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2" + + "aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwg" + + "cm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUg" + + "bmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxs" + + "aW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQK" + + "PiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBv" + + "cmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3Rz" + + "dHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNh" + + "cnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0" + + "aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0" + + "byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgoj" + + "IyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8g" + + "bXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQ" + + "dWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3Mg" + + "dW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9y" + + "IGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2" + + "ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZl" + + "cm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJu" + + "byAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQg" + + "aW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + + "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + + "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + + "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2" + + "ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNy" + + "ZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlz" + + "c2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31d" + + "YC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + + "cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxk" + + "IHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBh" + + "IENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUg" + + "cm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVh" + + "dGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAg" + + "ICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0t" + + "c29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9u" + + "IGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwt" + + "LS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8" + + "IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVj" + + "ayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNl" + + "IHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBw" + + "b2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQt" + + "aW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3Vj" + + "Y2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1" + + "dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVy" + + "J3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNz" + + "dWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5h" + + "YmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1z" + + "eW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxs" + + "ZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRl" + + "IGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2Vy" + + "dmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRy" + + "YSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBg" + + "Y2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNt" + + "M2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBm" + + "aWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBj" + + "YXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5v" + + "ZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBm" + + "YWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBk" + + "ZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0" + + "cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwg" + + "Q2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZj" + + "ZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVu" + + "dF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFu" + + "OiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGgg" + + "bGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5k" + + "IHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBz" + + "ZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50" + + "LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsg" + + "YHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21l" + + "L2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUg" + + "bW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMg" + + "dGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZB" + + "X1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRT" + + "IGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5B" + + "VFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJv" + + "bSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049" + + "bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlm" + + "eSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0" + + "ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpv" + + "Yi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBh" + + "IHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBp" + + "bnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBs" + + "aXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVy" + + "IHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rp" + + "b24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRg" + + "IHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlm" + + "eSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAt" + + "biBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0" + + "dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3Ig" + + "YDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9v" + + "ayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBp" + + "biBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNo" + + "Cmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0t" + + "aWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJv" + + "b3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0" + + "aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5t" + + "ZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + + "bnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0" + + "ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmls" + + "ZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxv" + + "eW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1" + + "bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9p" + + "bnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsK" + + "ICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24i" + + "OiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVz" + + "dGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBz" + + "dGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQg" + + "dG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0g" + + "KD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVu" + + "dCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1m" + + "aWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAx" + + "LjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIs" + + "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVs" + + "bS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVj" + + "dGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHki" + + "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGls" + + "IGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzIt" + + "dGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBo" + + "ZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywg" + + "dGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVk" + + "IG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5" + + "IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0" + + "ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAn" + + "aGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJl" + + "Zm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmls" + + "ZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBh" + + "c2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZv" + + "cmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBp" + + "biBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxs" + + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + + "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5" + + "IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBm" + + "aW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQg" + + "bmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + + "LiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9y" + + "LCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2Vz" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxh" + + "bmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVz" + + "ZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWly" + + "IGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3" + + "IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAg" + + "ICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Et" + + "b3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciBy" + + "ZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1l" + + "c3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVz" + + "dGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1Mg" + + "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVz" + + "dGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3Ig" + - "bnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxt" + - "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2Vy" + - "IGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdk" + - "b2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQ" + - "SV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dp" + - "biBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNz" + - "d29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQg" + - "YmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28g" + - "YXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlz" + - "c2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNG" + - "IGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "IGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhl" + + "IENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5k" + + "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkg" + + "Y29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRo" + + "ZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXIt" + + "Y2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywg" + + "dGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBl" + + "bnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBk" + + "aXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmls" + + "ZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wg" + + "cGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUi" + + "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwg" + + "YmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwg" + + "YXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdh" + + "dGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9J" + + "RCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUu" + + "eWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBh" + + "bmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVk" + + "IHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qg" + + "c3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9y" + + "IENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20g" + + "dGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEg" + + "Y29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENM" + + "SSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9j" + + "a2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3Ig" + + "TlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "YXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVu" + - "dmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVz" + - "IHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJh" + - "Y3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBu" + - "b3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1" + - "cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290" + - "bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50" + - "IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBh" + - "Z2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xl" + - "YW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFs" + - "bGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0" + - "ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "cmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlv" + + "LiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVz" + + "ZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4g" + + "YWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBs" + + "b2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBw" + + "YXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + + "aW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNl" + + "IGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50" + + "aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1" + + "bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkg" + + "Y3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0" + + "ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1l" + + "bnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBu" + + "b3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBs" + + "b2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRl" + + "bXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAg" + + "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + + "ICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVs" + + "bWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwK" + + "ICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBl" + + "ZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGlu" + + "c3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0" + + "YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24g" + + "b2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkg" + + "ZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFs" + + "aWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUg" + + "bmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdp" + + "c3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRy" + + "b2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYg" + + "YW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFy" + + "YXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxl" + + "LCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0" + + "aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29u" + + "dHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZj" + + "ZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91" + + "dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "SEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3Jl" + + "IGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBo" + + "ZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUg" + + "NCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywg" + + "b2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIg" + + "dGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBp" + + "bnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBv" + + "bmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENM" + + "SS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVl" + + "cyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93" + + "IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBs" + + "YW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + + "dGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmly" + - "c3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0" + - "aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91" + - "ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBo" + - "YW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMg" + - "YSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zICho" + - "ZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVy" + - "aWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVh" + - "dGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0" + - "ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIp" + - "IHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3" + - "IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0" + - "YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWlu" + - "ZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGlu" + - "Z3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAg" + - "IkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJl" + - "ZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4" + - "YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBt" + - "aXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13" + - "b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29u" + - "dHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1" + - "dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3Rh" + - "bGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwu" + - "IEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBl" + - "YWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUg" + - "c3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNl" + - "ZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2gg" + - "dG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVk" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFt" + - "bCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcs" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5k" + - "IC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9s" + - "LXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24s" + - "IGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29u" + - "ZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYs" + - "IGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1" + - "ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50" + - "IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRp" + - "ZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rp" + - "b24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVt" + - "b3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1" + - "cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRo" + - "ZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQg" + - "YWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3Jl" + - "IGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUg" + - "YWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3Vy" + - "Y2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRl" + - "ZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9j" + - "ayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVk" + - "IGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2Vz" + - "IHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBw" + - "cmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9y" + - "ZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0" + - "aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUg" + - "TlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3Ig" + - "dGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxl" + - "IHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwg" + - "dGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBl" + - "bmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBh" + - "Z2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0s" + - "IGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3Zp" + - "ZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdy" + - "b3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2Zm" + - "IiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09m" + - "ZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0" + - "byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9y" + - "IHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBh" + - "bmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNy" + - "ZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBw" + - "cm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "OiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQg" + + "cmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhl" + + "biBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5j" + + "bHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21t" + + "YW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2" + + "YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUg" + + "SGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVs" + - "bFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAi" + - "VGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lm" + - "aWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1h" + - "bmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21w" + - "dXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVu" + - "dm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2Vj" + - "cmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250" + - "cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdh" + - "dGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBz" + - "ZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9j" + - "YWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMs" + - "IGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUg" + - "YmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3Qs" + - "IHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVS" + - "THMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwg" + - "Y29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5" + - "IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + - "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5" + - "LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0" + - "ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3kt" + - "Z2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZj" + - "ZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0" + - "U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwi" + - "LAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRo" + - "ZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50" + - "IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQg" + - "bnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRl" + - "cy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWln" + - "cmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGlu" + - "Y2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + - "ZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3Zl" + - "cnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBu" + - "YXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBw" + - "dWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAi" + - "VGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRv" + - "ciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0" + - "aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5l" + - "IGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJ" + - "IHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxv" + - "dyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRl" + - "IGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBi" + - "b3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2Zm" + - "IGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2Fy" + - "bmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + - "bSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Ug" + - "Zm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVy" + - "aWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1h" + - "bmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNl" + - "LiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVs" + - "ZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZh" + - "bHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZl" + - "IHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMg" + - "bm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxh" + - "bmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0" + - "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCBy" + - "YW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29u" + - "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAog" + - "ICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIs" + - "CiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4g" + - "dGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0" + - "ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZs" + - "b3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29u" + - "dHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291" + - "bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQg" + - "dGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + - "bGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmll" + - "ZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNz" + - "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBw" + - "cmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5v" + - "dCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29u" + - "ZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1h" + - "a2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIs" + - "CiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVh" + - "bCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + - "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + - "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + - "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhl" + - "IGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIs" + - "CiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1l" + - "bnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxh" + - "bi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24g" + - "dW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wg" + - "cGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRk" + - "ZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5" + - "IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + - "aW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5s" + - "aW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNz" + - "ZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAi" + - "ZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNl" + - "LnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5s" + - "aW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1s" + - "LmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBs" + - "aWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAg" + - "ICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBi" + - "ZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0" + - "cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJx" + - "dWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBv" + - "biBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0" + - "IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0" + + "cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFp" + + "biIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUt" + + "cHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0t" + + "b3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0t" + + "cGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1r" + + "dWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0" + + "aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBt" + + "aXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJD" + + "YXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGlt" + + "aXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhl" + + "IGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3Nh" + + "bmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwu" + + "Z290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0" + + "aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlp" + + "bmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBt" + + "b2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1p" + + "dHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3Qg" + + "anVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQg" + + "dGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRl" + + "bXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdl" + + "ZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5" + + "aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3lu" + + "Yy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRl" + + "cGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5n" + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdp" + - "dGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhl" + - "IExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0" + - "aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2Vy" + - "IGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJv" + - "dXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3Ig" + - "dGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFu" + - "YWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50" + - "aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2Fk" + - "LnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwg" + - "d2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9y" + - "IHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2Ft" + - "ZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBM" + - "TE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFu" + - "ZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0u" + - "ZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJv" + - "dXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIs" + - "CiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRz" + - "IHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIg" + - "bG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9u" + - "IGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJ" + - "Q0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2Fy" + - "bmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9u" + - "bWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQg" + - "aGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlv" + - "bnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVl" + - "c3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIg" + - "aW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1O" + - "RUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2" + - "IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51" + - "bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhp" + - "cyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUg" + - "bnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFn" + - "ZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBn" + - "dWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRp" + - "ZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRl" + - "cGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3Bl" + - "Y2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJv" + - "cHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2Vk" + - "IG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENh" + - "c3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMg" + - "Y2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4K" + - "ClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0" + - "aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2Nr" + - "LgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fz" + - "cy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1s" + - "IHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8w" + - "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + - "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + - "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + - "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + - "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + - "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + - "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + - "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + - "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + - "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZv" + - "cmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2Vk" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + - "bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90" + - "IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxp" + - "Y2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20g" + - "TkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBz" + - "dGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFk" + - "IG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBT" + - "dGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3Ry" + - "eTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVn" + - "aXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAg" + - "MjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJh" + - "c2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + - "IgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3Jl" + - "dHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0g" + - "bnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRv" + - "IGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1m" + - "aWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNz" + - "YW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBu" + - "YW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAg" + - "ICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJl" + - "cXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6" + - "CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAg" + - "LSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJl" + - "bmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNl" + - "IGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1" + - "c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxs" + - "YXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hh" + - "cnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykg" + - "Y29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBh" + - "dGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNz" + - "OyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9" + - "IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1w" + - "ICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUK" + - "ZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9k" + - "cyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVt" + - "IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBz" + - "aG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMj" + - "IEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVu" + - "dCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0" + - "cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5h" + - "bWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1w" + - "bGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5h" + - "bGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5t" + - "ZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmlu" + - "YWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJl" + - "YWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJ" + - "Q01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRl" + - "bGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVl" + - "cz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0" + - "IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERl" + - "c3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2Vy" + - "YCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlm" + - "eSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3Rh" + - "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBh" + - "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVs" + - "ZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQpt" + - "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcg" + - "b3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVy" + - "IHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25m" + - "aXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklH" + - "PTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklM" + - "RT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZv" + - "cm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQg" + - "YGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZj" + - "YXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVs" + - "dHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBl" + - "bXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBb" + - "Q2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJl" + - "dHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMj" + - "IEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBz" + - "ZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJl" + - "Y3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcg" + - "ZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1n" + - "YXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRl" + - "c3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGly" + - "ZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVz" + - "LCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZv" + - "ciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAq" + - "Lmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5" + - "IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXgg" + - "YW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhl" + - "YWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRl" + - "d2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBj" + - "b250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJl" + - "VmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWlu" + - "IGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBp" + - "bnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2Vl" + - "CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRz" + - "LgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAi" + - "YXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVX" + - "QVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1B" + - "Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMg" + - "LUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0" + - "dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91" + - "dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAg" + - "bnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9y" + - "IFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGlt" + - "ZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVz" + - "CgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1" + - "cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVu" + - "ZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lz" + - "dGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2Rz" + - "IC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBg" + - "YAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0t" + - "LS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywg" + - "Y2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwg" + - "YXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1h" + - "cGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFu" + - "ZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0" + - "eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBh" + - "bmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZj" + - "Zi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhh" + - "dmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91" + - "dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJs" + - "ZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExN" + - "IEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0" + - "ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBh" + - "Y2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5h" + - "YmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4g" + - "dGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZV" + - "aS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdh" + - "dGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVh" + - "c2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEg" + - "cmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1p" + - "bi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAA" + - "AABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBh" + - "cmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0" + - "ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpi" + - "ZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEg" + - "Q0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMg" + - "Q2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9p" + - "bnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1" + - "ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50" + - "IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88" + - "Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5l" + - "cmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUg" + - "aXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9y" + - "ZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHBy" + - "b2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3Np" + - "dG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hp" + - "bmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBs" + - "YW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVu" + - "dCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnks" + - "IGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBj" + - "b21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hh" + - "YmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9u" + - "aWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZj" + - "Zi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVu" + - "dmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdh" + - "dGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAg" + - "aW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBz" + - "ZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBO" + - "TEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBz" + - "ZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9t" + - "YWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2Vydmlj" + - "ZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVS" + - "TDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZp" + - "Y2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJM" + - "OiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6" + - "ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2Vy" + - "dmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6" + - "CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2Fs" + - "OjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBl" + - "bnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52" + - "Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTog" + - "bnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAg" + - "ICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAg" + - "ICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAg" + - "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + - "b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6" + - "CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRh" + - "c2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUK" + - "Cm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxl" + - "ZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9l" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1h" + - "bmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igog" + - "ICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+" + - "IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAg" + - "IHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4i" + - "CiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0" + - "c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBp" + - "bnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+Cgpt" + - "YWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VO" + - "Vj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBg" + - "YAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3Jl" + - "YXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6" + - "CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9r" + - "ZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdh" + - "eS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDog" + - "ImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXkt" + - "ZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNf" + - "aG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9z" + - "dG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0" + - "byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGlu" + - "IHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5v" + - "IGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1" + - "dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAog" + - "IENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVT" + - "VEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0Zf" + - "Q0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2Yt" + - "Y2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJl" + - "Z2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNv" + - "bXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVD" + - "T05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJ" + - "biBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0" + - "aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJ" + - "IFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJ" + - "dCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0" + - "aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + - "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFt" + - "ZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAg" + - "LS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0" + - "L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQg" + - "cHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xp" + - "IC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4g" + - "XAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJl" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwK" + - "ICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUt" + - "cGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25m" + - "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29t" + - "cHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMu" + - "eWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24g" + - "c2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5k" + - "cG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBu" + - "b3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUg" + - "ZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxh" + - "bmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4" + - "dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRl" + - "eHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVu" + - "Y2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBs" + - "YW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1v" + - "cGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhl" + - "ciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBw" + - "b2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoK" + - "IyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNw" + - "YWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52" + - "b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + - "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + - "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + - "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + - "aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93" + - "bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUg" + - "Y29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFu" + - "ZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRo" + - "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + - "dGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVy" + - "IGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + - "cmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQg" + - "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + - "IGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBz" + - "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWlu" + - "ZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247" + - "IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMg" + - "dmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoK" + - "PG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVy" + - "LWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxu" + - "Y2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5j" + - "YUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24v" + - "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVz" + - "dGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBl" + - "YXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBj" + - "bHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05G" + - "SUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5k" + - "IGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0" + - "cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAu" + - "CgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwg" + - "dGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBG" + - "aXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxl" + - "dGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+" + - "IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFu" + - "ZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFj" + - "aGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBs" + - "YW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVn" + - "aXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9u" + - "bHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRl" + - "IHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + - "dmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBg" + - "ZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3" + - "IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + - "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwg" + - "PGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1j" + - "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0" + + "b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZl" + + "cmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2ll" + + "cyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZl" + + "cmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2Fu" + + "ZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhl" + + "IHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAg" + + "InF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGgg" + + "NDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50" + + "aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBz" + + "ZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2" + + "aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3Jv" + + "bmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVk" + + "IHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBh" + + "bmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0" + + "bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAg" + + "ICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0" + + "cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdl" + + "bnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgi" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNy" + + "ZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1" + + "c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0" + + "ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxh" + + "bmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwg" + + "c2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVy" + + "cmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVu" + + "YWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdh" + + "dGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0" + + "aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQg" + + "aG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9s" + + "LXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZj" + + "YS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jl" + + "c3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVt" + + "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJl" + + "ZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5" + + "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2Vydmlj" + + "ZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNl" + + "VVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRy" + + "b2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxl" + + "ZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBp" + + "LmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMu" + + "ZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25z" + + "Lmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + + "Z3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5n" + + "IHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21w" + + "dXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwg" + + "cmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkws" + + "IGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2Vj" + + "cmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29t" + + "cHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBt" + + "aXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAi" + + "VGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95" + + "bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + + "ZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ry" + + "b3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rl" + + "ciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29u" + + "dHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQg" + + "ZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhh" + + "dCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + + "c2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4g" + + "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBt" + + "YXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCBy" + + "ZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkg" + + "cHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQg" + + "d2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBU" + + "aGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1" + + "c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0" + + "cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVl" + + "cnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + + "dmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRo" + + "ZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3du" + + "IHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBs" + + "YW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + + "IkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29t" + + "cHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVj" + + "b25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4g" + + "Y2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBs" + + "YW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0" + + "cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5h" + + "bWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwg" + + "cmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRl" + + "cm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVu" + + "ZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3Ig" + + "bWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZl" + + "ZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0" + + "ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRp" + + "b24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUg" + + "ZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAg" + + "IlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24s" + + "IHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + + "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + + "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + + "dHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCBy" + + "ZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAg" + + "IlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1w" + + "bGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkg" + + "YW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lz" + + "dGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBv" + + "bmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZh" + + "bHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3Jl" + + "ZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFz" + + "ZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFs" + + "dWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJv" + + "dWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFs" + + "dWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAt" + + "PiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFs" + + "dWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + + "IG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + + "dCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUg" + + "YWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2" + + "aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3Rl" + + "ZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNo" + + "YXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9u" + + "IjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2Vs" + + "Zi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZp" + + "bGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRv" + + "bnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQ" + + "SSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1" + + "ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmln" + + "dXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxv" + + "YWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNv" + + "bGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0" + + "YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9u" + + "IGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3Rhcmdh" + + "dGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEg" + + "d2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVj" + + "dGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRv" + + "ZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5j" + + "dGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13" + + "b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVk" + + "IHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJl" + + "cGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAg" + + "IlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93" + + "ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJh" + + "bGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + + "bmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRl" + + "ZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + + "cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdh" + + "aW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCBy" + + "ZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2Zm" + + "LCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAg" + + "ICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0" + + "ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRp" + + "bmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3Qt" + + "Zm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3Rl" + + "ciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAg" + + "ICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEg" + + "bG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNl" + + "bGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0" + + "YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNl" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBy" + + "ZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVu" + + "dCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBs" + + "b2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUg" + + "bG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhh" + + "bXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVh" + + "bCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJh" + + "IFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBP" + + "T00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxl" + + "bTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92" + + "ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMg" + + "U3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9y" + + "ZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFk" + + "IC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVu" + + "ZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFs" + + "dWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUg" + + "c3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAog" + + "IGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0" + + "ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + + "bAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + + "IH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAg" + + "ICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgx" + + "OTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAg" + + "IG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0" + + "ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1s" + + "IC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAK" + + "Ck5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxh" + + "YmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJl" + + "c291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJp" + + "dmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1" + + "bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBt" + + "aXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTog" + + "Q29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNy" + + "LmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTog" + + "bnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRo" + + "ZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2Nr" + + "ZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0g" + + "cmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBg" + + "YmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + + "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkg" + + "LWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + + "c3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9j" + + "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + + "QVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkg" + + "LWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZp" + + "bGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtl" + + "eSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8w" + + "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQog" + + "IHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFj" + + "ZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + + "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAg" + + "ICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3It" + + "Y3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNv" + + "bnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBj" + + "cmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBz" + + "eW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0" + + "aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0" + + "ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5k" + + "IHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAg" + + "Zm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFk" + + "YXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1h" + + "Z2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZh" + + "dWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0t" + + "c29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1" + + "Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBs" + + "ZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJy" + + "b2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhl" + + "IGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAog" + + "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1" + + "YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMs" + + "IHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJz" + + "KS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1" + + "c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93" + + "IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93" + + "OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwK" + + "ICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAg" + + "LS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMg" + + "MSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0" + + "aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVz" + + "cGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZl" + + "IHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRo" + + "ZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9u" + + "LCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9y" + + "dCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdp" + + "dGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5n" + + "IHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNt" + + "YXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5" + + "aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlv" + + "bjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250" + + "cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVj" + + "YXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0" + + "bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2Yt" + + "YmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8" + + "YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5Lgpg" + + "YGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJ" + + "bnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRv" + + "IHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + + "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBs" + + "ZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRl" + + "bHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVk" + + "IGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2lu" + + "dAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkg" + + "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAi" + + "JEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRk" + + "cmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBD" + + "TEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRl" + + "cmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2Nh" + + "dGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJv" + + "bm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29u" + + "bmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoK" + + "Rm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRk" + + "cmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wt" + + "cGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFu" + + "ZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhv" + + "c3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxh" + + "dGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMg" + + "U3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRv" + + "bWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERS" + + "L2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + + "dGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAg" + + "ZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFj" + + "a2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0t" + + "Zm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEw" + + "bQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1" + + "bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24u" + + "CgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVz" + + "IHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3Vi" + + "ZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1" + + "bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMg" + + "U2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwt" + + "LS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5k" + + "cmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5" + + "cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90" + + "YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1h" + + "cGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3" + + "YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZl" + + "IGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9u" + + "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRk" + + "b25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwg" + + "RGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVl" + + "YCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdh" + + "dGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8" + + "IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + + "bmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRy" + + "dWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3Rh" + + "Y2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJs" + + "ZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSBy" + + "b3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBu" + + "YW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNl" + + "LWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vl" + + "ci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0" + + "YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQg" + + "aW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFu" + + "ZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2Vu" + + "ZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2Ug" + + "YSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBS" + + "ZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNl" + + "cGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMg" + + "fCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVy" + + "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + + "YCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + + "Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5k" + + "YXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhl" + + "IEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4K" + + "CkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJv" + + "b3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJz" + + "aW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVg" + + "LgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVz" + + "IGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWlu" + + "LCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUt" + + "cGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNN" + + "UywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltD" + + "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + + "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1l" + + "bnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52" + + "b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFu" + + "ZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2Ug" + + "aG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRy" + + "ZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ug" + + "c3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8" + + "Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAi" + + "aHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0" + + "cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDog" + + "Im5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRw" + + "Oi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6" + + "Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJM" + + "OiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNm" + + "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIK" + + "CmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdh" + + "dGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRl" + + "d2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdh" + + "dGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1l" + + "OiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBs" + + "aXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBj" + + "OgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1h" + + "cGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAg" + + "ICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdh" + + "dGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJh" + + "bzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVl" + + "CmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoK" + + "ICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGlj" + + "bXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAg" + + "IHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxT" + + "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAg" + + "bmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92" + + "ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwg" + + "dGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + + "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + + "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZv" + + "cmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3Ig" + + "dXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlh" + + "bWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDog" + + "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJl" + + "c3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxn" + + "YXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+" + + "IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAi" + + "c2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMg" + + "b25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSBy" + + "ZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNv" + + "bmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNt" + + "cy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250" + + "ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RF" + + "Ul9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVH" + + "SU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtV" + + "QkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBh" + + "dGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29u" + + "ZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwK" + + "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + + "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0" + + "aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBr" + + "dWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19G" + + "SUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2Ft" + + "ZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJp" + + "ZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmls" + + "ZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0" + + "ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246Cgpg" + + "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3du" + - "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + - "YS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVy" + - "LiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0" + - "cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNs" + - "dXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAh" + - "AAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBl" + - "cyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2Rz" + - "IGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9k" + - "cyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+" + - "CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0" + - "IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxu" + - "YW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lm" + - "aWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3Jp" + - "YmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1" + - "bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBT" + - "VEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJ" + - "bWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4" + - "dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0" + - "aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlz" + - "IGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8" + - "IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhl" + - "IG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoK" + - "IyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQg" + - "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1" + - "bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxT" + - "ZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0" + - "aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3Np" + - "bmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZl" + - "cj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAt" + - "LWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVz" + - "cGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYg" + - "LQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0" + - "Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVs" + - "bWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMu" + - "ICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52" + - "b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VB" + - "Y2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNy" + - "ZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQg" + - "cmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMg" + - "LW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAg" + - "YGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRv" + - "bXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFz" + - "aApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRT" + - "ICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAg" + - "ICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUg" + - "dmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAoj" + - "IENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBD" + - "aGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1" + - "bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0" + - "LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWlu" + - "ZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBw" + - "b2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1" + - "ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlk" + - "bid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVw" + - "dGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJv" + - "eQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYg" + - "bmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3Bl" + - "bmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5v" + - "dCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBi" + - "YW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3Qv" + - "bG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRo" + - "ZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3Rl" + - "ciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6" + - "CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBz" + - "aW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1Ymtl" + - "eXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxp" + - "ZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVs" + - "dC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0" + - "aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFg" + - "LiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlv" + - "biBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2Vy" + - "dmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBF" + - "bmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldL" + - "UywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVz" + - "IChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAg" + - "IyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAg" + - "ICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3Bl" + - "bmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9u" + - "IGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQog" + - "ICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJh" + - "byBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNl" + - "cnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAg" + - "IEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBg" + - "YWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3Rh" + - "dGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNp" + - "Z25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1w" + - "dG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAg" + - "QUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgoj" + - "IyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1z" + - "eXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpP" + - "dmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFt" + - "cGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2Fu" + - "ZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAg" + - "ICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAg" + - "IG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxh" + - "YmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJl" + - "c291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9t" + - "cwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdF" + - "CmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVz" + - "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9u" + - "IGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0" + - "IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxl" + - "OiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3Qg" + - "Zm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hl" + - "Y2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3Vi" + - "ZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3Rv" + - "cmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBg" + - "YGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2ll" + - "bnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0" + - "bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJj" + - "ZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMj" + - "IFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFU" + - "VVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3Vj" + - "Y2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3Bh" + - "Y2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUt" + - "c3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRz" + - "IGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVl" + - "ZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+" + - "IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMg" + - "U3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQu" + - "IEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJh" + - "c2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YK" + - "CiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBs" + - "b2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBs" + - "b2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1h" + - "cGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBj" + - "cmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxg" + - "IG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0" + - "aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlh" + - "bAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91" + - "dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVh" + - "Y2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2Nv" + - "dW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlh" + - "bHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95" + - "aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5h" + - "bWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5" + - "cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBu" + - "YW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5j" + - "CmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5" + - "bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4g" + - "YFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAg" + - "IFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpg" + - "YGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBh" + - "ZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3Zl" + - "IGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1k" + - "ZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + - "ZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52" + - "Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1l" + - "c3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAn" + - "Y29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1j" + - "b250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5" + - "cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09N" + - "UFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVh" + - "cmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2Vu" + - "ZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFj" + - "ZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMg" + - "PSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFj" + - "ZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+" + - "L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3Ig" + - "Tm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21w" + - "bGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3Rz" + - "IGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52" + - "Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + - "IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJz" + - "dCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFs" + - "dWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydz" + - "IHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5v" + - "dApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24g" + - "c3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNj" + - "cmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVy" + - "YXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBg" + - "YAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNl" + - "Y3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1p" + - "cnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFt" + - "ZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0" + - "ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgoj" + - "IyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWlu" + - "IGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQu" + - "IFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBi" + - "YXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8g" + - "anNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdB" + - "WV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9t" + - "YWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJl" + - "c3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNl" + - "VVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdy" + - "ZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpL" + - "ZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMg" + - "dW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBG" + - "b3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3Mg" + - "ZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2gg" + - "dGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1k" + - "I2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBV" + - "c2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3" + - "aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2" + - "aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8Cnwg" + - "Y2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1z" + - "ZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90" + - "YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8" + - "CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3Mt" + - "YXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdh" + - "eSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3Vy" + - "Y2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABE" + - "AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmls" + - "ZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMj" + - "IERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBo" + - "ZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBD" + - "YXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMg" + - "TlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290" + - "bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwg" + - "ICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwg" + - "ZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXIt" + - "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2Vj" + - "cmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dv" + - "cmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0" + - "aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + - "Lwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMg" + - "Q29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwu" + - "Z290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0" + - "aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAg" + - "ICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4u" + - "eWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwu" + - "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBw" + - "ZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1l" + - "bnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9y" + - "cyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVz" + - "ZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2lu" + - "dCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3Rt" + - "cGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + - "bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwt" + - "LS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0" + - "cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5i" + - "YW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9u" + - "IG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lz" + - "dGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0" + - "YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNv" + - "cmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8" + - "LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0t" + - "bnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1z" + - "aXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2" + - "aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2Vydmlj" + - "ZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5" + - "IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3Mg" + - "fCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2Ug" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNl" + - "cyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91" + - "dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZj" + - "Zi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94" + - "eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFz" + - "ZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3kt" + - "Z2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBb" + - "e3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0" + - "aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJs" + - "ZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBg" + - "dmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVs" + - "ZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0t" + - "LS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykg" + - "fCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5" + - "LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2Fi" + - "bGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFN" + - "TCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0" + - "aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZ" + - "QU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0" + - "aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0" + - "IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0" + - "aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNy" + - "ZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRl" + - "bXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAg" + - "Y2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAg" + - "ICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7" + - "IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJy" + - "aWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVw" + - "ZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3Zl" + - "cnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1l" + - "bW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBp" + - "biBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1l" + - "Y2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFj" + - "ZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRp" + - "bmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJl" + - "LWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEg" + - "bGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dl" + - "c3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBk" + - "ZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5n" + - "b3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lm" + - "aWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0t" + - "IHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMg" + - "LS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMg" + - "VGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBt" + - "ZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hh" + - "cnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGlj" + - "aXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + - "dGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2Fu" + - "ZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0g" + - "YGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxl" + - "ZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgot" + - "IGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5h" + - "dHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZp" + - "bGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5z" + - "cGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5t" + - "aWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJh" + - "by5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFv" + - "LnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMj" + - "IFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0" + - "cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQot" + - "IGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5j" + - "dGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3Ig" + - "aW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24g" + - "ZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMg" + - "dGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdy" + - "ZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lk" + - "ZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8g" + - "bm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5v" + - "ZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwK" + - "YWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxp" + - "Y2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAg" + - "ICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDog" + - "MQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxl" + - "ZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAg" + - "ICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xv" + - "YWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291" + - "bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBi" + - "dW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5" + - "MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3" + - "YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3" + - "YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNG" + - "IEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVk" + - "IG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBh" + - "bmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVR" + - "VUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBh" + - "bmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVz" + - "ZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMK" + - "c2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVz" + - "dCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9i" + - "bG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5j" + - "aW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUg" + - "dGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRo" + - "ZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBp" + - "OgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lk" + - "ZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVw" + - "b3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVD" + - "QVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFj" + - "ayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29u" + - "ZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3Rpbmcg" + - "dmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250" + - "cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21w" + - "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlv" + - "biBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNv" + - "bW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1h" + - "aW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZh" + - "bHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3" + - "b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlz" + - "IGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24g" + - "ZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5l" + - "IHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5" + - "IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3Rh" + - "dGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBu" + - "dmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0" + - "bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0" + - "IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWlu" + - "ZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBg" + - "CgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVz" + - "dCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFu" + - "ZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3Vp" + - "ZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmll" + - "cy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMj" + - "IEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoK" + - "CmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIg" + - "c3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGkt" + - "Z2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kg" + - "YSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFz" + - "IG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNz" + - "dWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1h" + - "ZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwg" + - "Y3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRl" + - "ZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + - "aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5" + - "IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFj" + - "awpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29u" + - "dGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAg" + - "dGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMj" + - "IEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4u" + - "eWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoK" + - "IyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFt" + - "ZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBw" + - "cml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11" + - "aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBp" + - "ZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhw" + - "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + + "ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250" + + "cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1p" + + "ZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJv" + + "bC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgg" + + "Zm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25m" + + "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29t" + + "cHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0" + + "cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1j" + + "bHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBs" + + "YW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5h" + + "bWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3Rz" + + "IHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMK" + + "ZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBs" + + "YWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2lu" + + "dCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNy" + + "ZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBg" + + "dGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3Jl" + + "YXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0" + + "aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52" + + "aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9y" + + "YCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVz" + + "cGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBl" + + "eGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJp" + + "ZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRl" + + "d2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRl" + + "d2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3Rh" + + "dHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVv" + + "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAog" + + "IG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRv" + + "ciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRp" + + "bWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBz" + + "ZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0" + + "cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9s" + + "IHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBh" + + "cHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0" + + "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRv" + + "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1t" + + "YW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJl" + + "IGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBp" + + "cyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0" + + "aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhl" + + "bG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2" + + "aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVz" + + "cGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3" + + "aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRh" + + "aW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmll" + + "ZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0" + + "cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1j" + + "bGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNs" + + "dXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4g" + + "XAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZy" + + "b20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rl" + + "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQg" + + "YW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21w" + + "dXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIs" + + "IHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29u" + + "dHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVD" + + "T05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVj" + + "YXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0" + + "aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93" + + "biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1" + + "ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJz" + + "aXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + + "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1p" + + "Y21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVk" + + "IGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9l" + + "cwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUg" + + "YW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElm" + + "IHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBh" + + "bHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9u" + + "CmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4" + + "ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + + "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXIt" + + "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0t" + + "Y2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxu" + + "Y2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2gg" + + "cnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMg" + + "cm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3Rlcgpy" + + "ZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "ZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBk" + + "aWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1" + + "cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3Nz" + + "IGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEg" + + "c3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxs" + + "IGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVs" + + "IGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFj" + + "ZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2Qg" + + "KHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tP" + + "ZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAg" + + "ICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVs" + + "bEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxl" + + "ZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVk" + + "CmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGlu" + + "ZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAt" + + "QTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNw" + + "YWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNr" + + "IGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3Jl" + + "dHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMK" + + "a3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7Lmlt" + + "YWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBu" + + "YW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + + "aW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBc" + + "CiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBg" + + "YAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhl" + + "IGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2" + + "YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFy" + + "dCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9u" + + "LXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRz" + + "IGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQp" + + "LgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0" + + "ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFt" + + "ZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMj" + + "IEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2Vy" + + "dmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUg" + + "ICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UK" + + "bnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAg" + + "MTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1h" + + "Z2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sg" + + "T3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlm" + + "IE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0" + + "ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVt" + + "IG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dz" + + "IG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + + "LWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90" + + "IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVz" + + "b3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVu" + + "Kio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERl" + + "c3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1" + + "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFt" + + "ZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQK" + + "ICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNl" + + "cnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRp" + + "YWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhl" + + "YyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0" + + "dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAg" + + "LT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2Vu" + + "IHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3Nl" + + "IE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhl" + + "IE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBz" + + "dGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGlu" + + "c3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRo" + + "ZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50" + + "cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9v" + + "cHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMg" + + "aXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + + "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBz" + + "aG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNj" + + "b3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBp" + + "c3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0" + + "aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4g" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBt" + + "aWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJs" + + "ZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNl" + + "cnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNo" + + "b3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8u" + + "d2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBK" + + "V0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBw" + + "b2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNs" + + "dXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1" + + "c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVi" + + "a2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBr" + + "ZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpg" + + "YGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fz" + + "c2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFn" + + "bm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBj" + + "YXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRl" + + "IENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBp" + + "bgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAg" + + "ICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9y" + + "eTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5" + + "OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4g" + + "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + + "YC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0" + + "ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + + "ZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0" + + "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2Vz" + + "OgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2gg" + + "UG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIElu" + + "c3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIK" + + "YGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9k" + + "ZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdl" + + "dCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNs" + + "YXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNv" + + "dXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2Ny" + + "aWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAg" + + "YGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRv" + + "bXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFp" + + "bGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1" + + "dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3Np" + + "cwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBg" + + "CgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChu" + + "b3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51" + + "cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpg" + + "YGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9t" + + "cwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRz" + + "IHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENo" + + "ZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQg" + + "bG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9i" + + "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3Vi" + + "ZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRh" + + "aWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRp" + + "YWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBi" + + "ZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkg" + + "a2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVj" + + "aG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAk" + + "b2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUq" + + "KjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290" + + "c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBz" + + "ZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVw" + + "ZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUg" + + "bmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwK" + + "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgoj" + + "IyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMK" + + "CkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWlu" + + "YXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWlu" + + "YXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMj" + + "IEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRo" + + "ZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxp" + + "emVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBz" + + "dHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVz" + + "b3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tl" + + "bmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSAr" + + "ICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0" + + "PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQg" + + "IiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJn" + + "ZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NP" + + "TlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRo" + + "ZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwog" + + "IGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMi" + + "IC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8" + + "IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAg" + + "ICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251" + + "bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVh" + + "ZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywg" + + "bm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBv" + + "ZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVy" + + "YXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAt" + + "biBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50" + + "aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0" + + "cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + + "bnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0" + + "aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVk" + + "cyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRl" + + "cGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwK" + + "ICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3Ig" + + "cHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4" + + "aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0" + + "IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2Ug" + + "bG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5l" + + "LXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1w" + + "dG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBh" + + "ZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdh" + + "dGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FU" + + "RVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0" + + "aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIi" + + "CmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAi" + + "aHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVs" + + "ZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAn" + + "aWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGds" + + "b2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5n" + + "ZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxp" + + "dCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMg" + + "YW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2Ft" + + "ZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBs" + + "ZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBO" + + "YW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNl" + + "cnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwK" + + "fC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5k" + + "cmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8" + + "CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2Vy" + + "dmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkt" + + "a2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8" + + "IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdy" + + "ZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJv" + + "dXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVj" + + "dHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0" + + "b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxl" + + "LmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRy" + + "YSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNl" + + "cnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBP" + + "YnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBi" + + "YXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9u" + + "bWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9u" + + "bWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlh" + + "bWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAt" + + "LSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29u" + + "c3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBo" + + "ZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRl" + + "IHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwg" + + "ICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0t" + + "IGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVm" + + "YXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAg" + + "ICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdv" + + "dG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFy" + + "dCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5k" + + "IGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGgg" + + "ZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUg" + + "Q0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJj" + + "ZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxl" + + "cyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwg" + + "UmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18" + + "LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3Rl" + + "bSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2" + + "ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8" + + "CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBE" + + "YXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdp" + + "dGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1s" + + "LmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0t" + + "LS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFw" + + "aS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNp" + + "cyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwK" + + "fCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZp" + + "Y2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2Yg" + + "fCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBs" + + "bG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBu" + + "dmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1h" + + "cGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVs" + + "bS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3Vw" + + "IGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5" + + "LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxh" + + "dGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZj" + + "ZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdv" + + "dG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBh" + + "ZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6" + + "YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwg" + + "Q2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0t" + + "LXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2Vy" + + "dmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lm" + + "aWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgoj" + + "IyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdl" + + "KQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1w" + + "bGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVy" + + "Z2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxl" + + "YXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJl" + + "bHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1w" + + "bGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBk" + + "aXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUg" + + "ZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDog" + + "bnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4u" + + "L2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + + "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywg" + + "TVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5" + + "CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHBy" + + "aXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlh" + + "bWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQog" + + "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4" + + "MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1j" + + "b3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNt" + + "LgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNm" + + "CiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFs" + + "dWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVk" + + "ZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRo" + + "YXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBo" + + "aWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRz" + + "IHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "LS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1" + + "Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0" + + "aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdo" + + "ZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdo" + + "CgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBl" + + "bnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVj" + + "aWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJl" + + "ZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBj" + + "YXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWln" + + "cmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2Fu" + + "ZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBg" + + "Y2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMu" + + "Y29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRz" + + "Qm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3Jl" + + "LnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9k" + + "ZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVj" + + "dG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVy" + + "LmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2Vydmlj" + + "ZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVw" + + "b3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2" + + "aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVu" + + "YWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2lu" + + "ZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lz" + + "IGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxs" + + "bS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMg" + + "ZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBU" + + "aGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNl" + + "IHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29s" + + "YXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6" + + "CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50" + + "OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFi" + + "bGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAg" + + "IG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxz" + + "ZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlk" + + "YXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAg" + + "ICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAg" + + "b25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQK" + + "TlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNv" + + "IHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRo" + + "ZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRo" + + "LmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoK" + + "V29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJv" + + "ZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUg" + + "bWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNl" + + "Y3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0" + + "IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93" + + "ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENv" + + "bmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRl" + + "ciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFp" + + "bi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQp" + + "Cmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3Rh" + + "Y2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVy" + + "YXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVt" + + "b3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoK" + + "ICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5" + + "Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExN" + + "X1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5z" + + "bGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0" + + "aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMg" + + "ZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxh" + + "bmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxh" + + "bmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5W" + + "Q0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBz" + + "eW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBm" + + "cm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0" + + "YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9m" + + "aWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRy" + + "aXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1z" + + "aWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRl" + + "ZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5v" + + "dCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRl" + + "LApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNv" + + "bnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNl" + + "dCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBn" + + "cmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBo" + + "dHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxm" + + "dW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhA" + + "Lm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBs" + + "b2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1" + + "ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29y" + + "aXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0" + + "cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qv" + + "c3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZp" + + "bGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFz" + + "aAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZh" + + "YmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5" + + "IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmds" + + "ZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJl" + + "bGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJv" + + "eHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1k" + + "VVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21l" + + "ci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBh" + + "bmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNG" + + "IFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5" + + "b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2th" + + "Z2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEg" + + "YG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRk" + + "b24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxl" + + "IHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoK" + + "CmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVh" + + "dGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2Us" + + "IGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUK" + + "cmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5" + + "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxp" + + "bmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdD" + + "X0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVz" + + "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVp" + + "Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMj" + + "IEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2Fn" + + "ZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBz" + + "ZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + + "ZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBg" + + "YAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJl" + + "c2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNm" + + "LXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1I" + + "ICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1" + + "cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5" + + "IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0" + + "LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVu" + + "dGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5" + + "BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFn" + + "ZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0Yg" + + "aW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlv" + + "YCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29u" + + "dHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBp" + + "biB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNw" + + "YWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5" + + "dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRt" + + "aXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhl" + + "IHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1g" + + "LgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZl" + + "cm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHVi" + + "LmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJu" + + "by9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFu" + + "ZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBp" + + "LWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAg" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRl" + + "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9" + + "bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9j" + + "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAg" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMs" + + "IHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1k" + + "b2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBg" + + "eWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRh" + + "dGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6" + + "IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1w" + + "b2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAg" + + "ICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAg" + + "ICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAt" + + "ICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAg" + + "ICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3Rl" + + "bSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0" + + "Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0" + + "aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVj" + + "dGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNy" + + "ZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWlt" + + "YWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9s" + + "IHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxh" + + "dGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25z" + + "IGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29u" + + "dHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2Vj" + + "cmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1l" + + "c3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRv" + "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBg" + - "bnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMw" + - "MGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhl" + - "IHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBs" + - "eQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mg" + - "c3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9u" + - "IGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMg" + - "LW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3Vy" + - "bCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "Pi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1" + - "cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBp" + - "bnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFu" + - "IGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBL" + - "Bwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbO" + - "EiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGlu" + - "ZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpg" + - "bnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBw" + - "b2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZp" + - "Z3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVk" + - "IG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2gg" + - "dXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2Rz" + - "IGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3Ig" + - "dXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Et" + - "c3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3Rh" + - "bGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + - "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + - "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJl" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRy" + - "b2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIt" + - "bmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5z" + - "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEt" + - "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + - "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + - "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + - "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdp" + - "c3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBh" + - "bmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xp" + - "Y3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5" + - "Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNr" + - "Z3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRv" + - "LW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6" + - "CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3Bh" + - "Y2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAg" + - "ICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lz" + - "dGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVs" + - "dC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAg" + - "ICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAg" + - "YW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3Jl" + - "dC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQ" + - "dWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaApr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2" + - "ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUg" + - "Y29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZp" + - "Y2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8g" + - "bmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUg" + - "dGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVy" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + - "dGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBc" + - "CiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1" + - "bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5l" + - "IGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgog" + - "ICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhh" + - "dCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBg" + - "bnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1l" + - "c3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93" + - "LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUg" + - "cG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNv" + - "bnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52" + - "Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRp" + - "YVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8K" + - "CiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVz" + - "dGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIg" + - "bm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9y" + - "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + - "IFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBu" + - "b2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0" + - "cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRo" + - "b3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNl" + - "Y3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0Ug" + - "QXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBz" + - "aW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJ" + - "bWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5" + - "IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGll" + - "ZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJl" + - "Y3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+" + - "IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcK" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBv" + - "ZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGlj" + - "eSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNo" + - "b3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9s" + - "aWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0" + - "aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29u" + - "dGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAW" + - "AAAAFgAAUEsBAhQAFAAIAAAAAAAhAEWT1PVKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEv" + - "bWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAA" + - "AAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAHjsPruYQAADmEAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDs" + - "N4BfhBIAAIQSAAA3AAkAAAAAAAAAAAAAAKqYAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSf" + - "GQAAnxkAADkACQAAAAAAAAAAAAAAnKsAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21w" + - "dHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUA" + - "ABglAAA3AAkAAAAAAAAAAAAAAKvFAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + - "L2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4A" + - "AD0ACQAAAAAAAAAAAAAAMesAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlh" + - "Z25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABW" + - "KQAAOgAJAAAAAAAAAAAAAABj+gAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9p" + - "bnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDggjxVIggAACII" + - "AAA5AAkAAAAAAAAAAAAAACokAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3Jv" + - "dGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAA" + - "LgAJAAAAAAAAAAAAAAC8LAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFy" + - "ZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM0yUAANMlAAAwAAkAAAAAAAAAAAAA" + - "AAVPAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEA5R15pvoPAAD6DwAAMgAJAAAAAAAAAAAAAAA/dQEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAHI4S2j1XAAA9VwAALQAJAAAAAAAAAAAAAACihQEAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4" + - "s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAQ90BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0li" + - "AABJYgAALAAJAAAAAAAAAAAAAAAS/wEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAA" + - "AAAAAAC+YQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + - "anNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAHO4" + - "AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAFjhAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAA" + - "AAAA7REDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAA" + - "AAAAFEMDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVs" + - "bWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8A" + - "CQAAAAAAAAAAAAAAmW0DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAW" + - "AAA+AAkAAAAAAAAAAAAAAMh1AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAA9jAMAAAA=" + "UElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVu" + + "dCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJv" + + "bm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5h" + + "bWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVy" + + "ZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5" + + "c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBs" + + "aXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBW" + + "ZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFz" + + "IHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0n" + + "ey5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVk" + + "cyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + + "CiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20v" + + "aW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVj" + + "ayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8" + + "IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQw" + + "MSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhl" + + "IGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQ" + + "dWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9s" + + "ZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRP" + + "bmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhw" + + "bGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBu" + + "ZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFj" + + "dCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIg" + + "c2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVs" + + "bEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBh" + + "ZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxl" + + "dGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + + "b250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwK" + + "YGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBr" + + "eXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBt" + + "YXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNo" + + "b3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVm" + + "ZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQg" + + "ZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBn" + + "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQ" + + "SwECFAAUAAgAAAAAACEAhlHYrkoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVz" + + "dC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAA" + + "kxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAAAAAAAAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAe" + + "Ow+u5hAAAOYQAAA0AAkAAAAAAAAAAAAAAFmHAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9l" + + "eGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAOw3gF+EEgAA" + + "hBIAADcACQAAAAAAAAAAAAAAqpgAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + + "YWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAA" + + "OQAJAAAAAAAAAAAAAACcqwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVh" + + "dGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcA" + + "CQAAAAAAAAAAAAAAq8UAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95" + + "LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAA" + + "AAAAAAAAAAAx6wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1m" + + "YWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkA" + + "AAAAAAAAAAAAAGP6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwt" + + "ZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAOCCPFUiCAAAIggAADkACQAA" + + "AAAAAAAAAAAAKiQBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNs" + + "dXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAA" + + "AAAAAAAAALwsAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABWlQIzTJQAA0yUAADAACQAAAAAAAAAAAAAABU8BAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAD91AQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQC0TJoSU1gAAFNYAAAtAAkAAAAAAAAAAAAAAKKFAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAGriz82EhAABh" + + "IQAANwAJAAAAAAAAAAAAAABZ3gEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + + "L3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAs" + + "AAkAAAAAAAAAAAAAACgAAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lM" + + "TC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAANRi" + + "AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAibkCAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAbuICAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAADEwMA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAAqRAMA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1z" + + "dHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAA" + + "AAAAAACvbgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAA" + + "AAAAAAAAAAAA3nYDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAFONAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 8bfa776973..d18b22bf9e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1150,11 +1150,13 @@ func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { // registryCredentialCheck returns a binaryCheckSpec that probes one registry. // Only a credential the registry rejected can fail: at error severity for a -// critical registry, at warning for any other. A rejection on a post-install -// run is a warning too: it is this machine's credential, and the cluster -// pulls with its own pull secret. Everything else the probe can report, from -// an unreachable registry to a missing local credential, is a warning or an -// informational pass. +// critical registry, at warning for any other. Before install that includes a +// docker login nvcr.io rejected even where the NGC key it gave way to works: +// helm on this machine pulls the stack's charts with the docker login. A +// rejection on a post-install run is a warning: it is this machine's +// credential, and the cluster pulls with its own pull secret. Everything else +// the probe can report, from an unreachable registry to a missing local +// credential, is a warning or an informational pass. func registryCredentialCheck( checker RegistryCredentialChecker, entry RegistryEntry, label string, postInstall bool, ) binaryCheckSpec { @@ -1193,9 +1195,18 @@ func registryCredentialCheck( r.Passed = true r.Severity = SeverityInfo r.Message = label + ": skipped (" + outcome.detail + ")" - case probeAnonymous, probeNotVerified, probeLoginRejected, probeOtherCredential: + case probeAnonymous, probeNotVerified, probeOtherCredential: r.Passed = true r.Severity = SeverityInfo + case probeLoginRejected: + if postInstall { + r.Passed = true + r.Severity = SeverityInfo + break + } + r.Err = err + r.Message += "; before install this fails the check, since helm on this machine pulls the " + + "stack's charts with the docker login" case probeNoCredential, probeUnverifiable: r.Severity = SeverityWarning r.Err = err diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index e555469f20..0ff787bf4e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -88,7 +88,8 @@ const ( probeRejected // probeLoginRejected: the registry rejected the docker login and // accepted the NGC key sent in its place. The run uses the key, but - // docker and helm on this machine still send the login. + // docker and helm on this machine still send the login, so before an + // install it fails like a rejected credential. probeLoginRejected // probeOtherCredential: the docker login has no access to the scope, and // the registry accepted the NGC key for it, which the run uses there. @@ -97,7 +98,7 @@ const ( // registryProbeOutcome is the result of a probe that did not verify a // credential, or verified one only after the registry rejected another. Only -// probeRejected can fail a run. +// probeRejected, and probeLoginRejected before install, can fail a run. type registryProbeOutcome struct { kind registryProbeKind detail string @@ -208,8 +209,8 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri case !hasCred: return anonymousOutcome(registry, critical, lookupErr) case note != "": - return registryProbeOutcome{kind: probeLoginRejected, - detail: "credentials from " + cred.source + " valid" + note} + return registryProbeOutcome{kind: probeLoginRejected, detail: note[2:] + "; credentials from " + + cred.source + " valid, and the run uses them in its place"} case settled.noAccessLogin != nil: return registryProbeOutcome{kind: probeOtherCredential, detail: fmt.Sprintf( "credentials from %s valid; the docker login from %s has no access to %s, so the run sends %s for it", diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 82a4ceb1bd..3ef0843582 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -35,6 +35,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "k8s.io/client-go/kubernetes/fake" "sigs.k8s.io/yaml" ) @@ -991,29 +992,58 @@ func TestRegistryCredentialCheck_RejectedAfterInstall(t *testing.T) { // NGC key is sent before the row is graded. The run then moves to the key, // so the validator's pull secret is minted from the credential the row found // accepted, and the row says how to renew the login docker still sends. +// After install that passes. func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) { ngc := newFakeNGC(t, "good-key") dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) t.Setenv("NGC_API_KEY", "good-key") entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} - for _, postInstall := range []bool{true, false} { - rc := NewRegistryCredentials(false) - ctx := WithRegistryCredentials(context.Background(), rc) - r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", postInstall).Run(ctx) - assert.True(t, r.Passed, r.Message) - assert.Equal(t, SeverityInfo, r.Severity) - assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") - assert.Contains(t, r.Message, "the docker login from docker config") - assert.Contains(t, r.Message, "docker and helm on this machine still send it; "+ - "renew it with: docker login nvcr.io --username '$oauthtoken'") - assert.NotContains(t, r.Message, "cannot pull") + rc := NewRegistryCredentials(false) + ctx := WithRegistryCredentials(context.Background(), rc) + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", true).Run(ctx) + assert.True(t, r.Passed, r.Message) + assert.Equal(t, SeverityInfo, r.Severity) + assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") + assert.Contains(t, r.Message, "the docker login from docker config") + assert.Contains(t, r.Message, "docker and helm on this machine still send it; "+ + "renew it with: docker login nvcr.io --username '$oauthtoken'") + assert.NotContains(t, r.Message, "cannot pull") + + got := rc.lookup(ctx, "nvcr.io", "nvidia/cv") + require.NoError(t, got.err) + require.True(t, got.ok) + assert.Equal(t, "good-key", got.cred.pass, "later lookups, the pull secret's among them, get the key") + assert.Equal(t, []string{"rotated-out", "good-key"}, ngc.passwords()) +} - got := rc.lookup(ctx, "nvcr.io", "nvidia/cv") - require.NoError(t, got.err) - require.True(t, got.ok) - assert.Equal(t, "good-key", got.cred.pass, "later lookups, the pull secret's among them, get the key") +// Before install a docker login nvcr.io rejects fails a critical row even +// though the NGC key works: helm on this machine pulls the stack's charts +// with the docker login. The key still serves tag discovery and the +// validator's pull secret, and the row names both credentials. +func TestRegistryCredentialCheck_BeforeInstallGradesTheRejectedLogin(t *testing.T) { + withTempCacheDir(t) + newFakeNGC(t, "good-key") + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "good-key") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + + for _, critical := range []bool{true, false} { + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: critical} + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", false).Run(ctx) + assert.False(t, r.Passed, r.Message) + assert.Equal(t, map[bool]Severity{true: SeverityError, false: SeverityWarning}[critical], r.Severity) + assert.Contains(t, r.Message, "nvcr.io: the docker login from docker config") + assert.Contains(t, r.Message, "renew it with: docker login nvcr.io --username '$oauthtoken'") + assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid, and the run uses them in its place") + assert.Contains(t, r.Message, "helm on this machine pulls the stack's charts with the docker login") } - assert.Equal(t, []string{"rotated-out", "good-key", "rotated-out", "good-key"}, ngc.passwords()) + + got, ok := ResolveLatestValidatorTag(ctx, "nvcr.io/nvidia/cv") + require.True(t, ok, "tag discovery uses the key") + assert.Equal(t, "nvcr.io/nvidia/cv:1.2.0", got) + client := fake.NewSimpleClientset() + assert.Equal(t, "good-key", mintPullSecret(ctx, t, client, "nvcr.io/nvidia/cv:1.0.0", + clusterValidatorComputePlaneRole), "the validator's pull secret carries the key") } // When nvcr.io rejects the key too, the row is graded on the key: an error From d930295ffb2732ce446a5b41c22cb0d487641431 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:39:51 +0530 Subject: [PATCH 106/127] fix(nvcf-cli): after install, fail a refused docker login, and call a refused NGC key machine-only only when no cluster pull secret holds it Signed-off-by: rohithb --- .../examples/multi-cluster.md | 15 +- .../prompts/add-compute-plane.md | 58 +- .../nvcf-self-managed-cli/reference/flags.md | 45 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 87 +- .../cmd/self_hosted_check_stackvalues_test.go | 126 +- .../agentskill/skilldata_generated.go | 7014 +++++++++-------- .../selfhosted/credential_scope_test.go | 41 +- .../nvcf-cli/internal/selfhosted/preflight.go | 82 +- .../internal/selfhosted/preflight_test.go | 12 +- .../internal/selfhosted/pullsecret.go | 92 +- .../internal/selfhosted/pullsecret_test.go | 85 + .../internal/selfhosted/registry_cred.go | 19 +- .../internal/selfhosted/registry_cred_test.go | 151 +- 13 files changed, 4200 insertions(+), 3627 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md index 14c034372b..4c4d9d2067 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md @@ -49,11 +49,20 @@ The operator has kubectl access to ONE compute plane only — the control plane nvcf-cli init --api-url=https://api.nvcf.example.com # Run pre-flight scoped to the compute plane only. check takes both context -# flags or neither, so select the compute cluster as the current context: -kubectl config use-context admin@gpu1 -nvcf-cli self-hosted check --compute-plane \ +# flags or neither, so select the compute cluster as the current context of +# a kubeconfig for this command. --compute-plane checks the compute plane as +# installed, so a docker login nvcr.io rejects fails only when NGC_API_KEY +# does not work in its place: treat a registry-credentials row that says the +# docker login was rejected as blocking, since compute-plane install pulls +# its charts with that login. With a control-plane context, check +# --pre --control-plane checks the new compute plane as not yet installed +# instead; see prompts/add-compute-plane.md. +KCFG=$(mktemp) +kubectl config view --minify --flatten --context=admin@gpu1 > "$KCFG" +KUBECONFIG="$KCFG" nvcf-cli self-hosted check --compute-plane \ --icms-url=https://icms.nvcf.example.com \ --json +rm -f "$KCFG" # Register and install just the compute plane, from the profile the # control-plane operator exported with `self-hosted control-plane profile export`, diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index 6da2dce4e0..d8a579c38e 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -4,7 +4,9 @@ User has a working NVCF control plane (running somewhere) and wants to register ## Prerequisites the user must have -- **kubectl context for the new compute plane** in their `KUBECONFIG`. +- **kubectl context for the new compute plane** in their `KUBECONFIG`, and + ideally one for the control-plane cluster too, for the pre-flight in + step 2. - **Public ICMS URL** of the existing control plane (e.g. `https://icms.nvcf.example.com`). - **Admin JWT** for the control plane's account, OR ability to mint one via `nvcf-cli init` against the control plane's public api endpoint. (Admin tokens come from the API Keys service via the public api gateway — kubectl access to the control plane is NOT required to obtain one.) - The control plane's profile file, which `nvcf-cli self-hosted control-plane profile export` writes on a machine that can reach the control-plane cluster. It carries the control plane's endpoints and trust for registration. The command writes it to the stack's `out/` directory and prints that path; the steps below expect it copied to `control-plane-profile.yaml` in the working directory. @@ -18,27 +20,53 @@ User has a working NVCF control plane (running somewhere) and wants to register - `--icms-url=` — control plane's public ICMS URL - GPU type? (default `H100`, but ask) -2. Pre-flight just the compute plane. `check` takes both context flags or - neither, so point the current context at the new GPU cluster and select - only the compute plane: +2. Pre-flight the new compute plane as not yet installed. With a kubectl + context for the control-plane cluster as well, `check --pre + --control-plane` checks the control plane as installed and the new + compute plane as not yet installed: ```sh - kubectl config use-context "$CTX" - nvcf-cli self-hosted check --compute-plane \ + nvcf-cli self-hosted check --pre --control-plane \ + --control-plane-context="$CP_CTX" --compute-plane-context="$CTX" \ + --env="$CP_ENV" \ + --json 2>&1 >/dev/null | grep '^{' > check.jsonl + jq -se 'any(.[]; .event == "final" and .success)' check.jsonl + ``` + + `$CP_ENV` is the `--env` the control plane was installed with. This checks + the control-plane cluster, and the new cluster: leftover NVCF namespaces, + node inotify limits, and the compute-plane cluster-validator (GPU + resources, GPU Operator, SMB CSI driver) when `cluster_validator_image` is + set. It grades this machine's registry credentials as `compute-plane + install` uses them: `helm` on this machine pulls the compute-plane charts + with the docker login, so a docker login `nvcr.io` rejects fails the gate + even when `NGC_API_KEY` works. A missing `helm`, `helmfile` or `kubectl` + fails it too. SIS reachability is not probed before install. + + Without a context for the control-plane cluster, check the new cluster + alone with `--compute-plane`, through a kubeconfig whose current context + is the new cluster: + + ```sh + KCFG=$(mktemp) + kubectl config view --minify --flatten --context="$CTX" > "$KCFG" + KUBECONFIG="$KCFG" nvcf-cli self-hosted check --compute-plane \ --icms-url=$ICMS \ --json 2>&1 >/dev/null | grep '^{' > check.jsonl + rm -f "$KCFG" jq -se 'any(.[]; .event == "final" and .success)' check.jsonl ``` - This checks this machine's registry credentials and the compute cluster - only: leftover NVCF namespaces, node inotify limits, SIS reachability at - `--icms-url`, and the compute-plane cluster-validator (GPU resources, GPU - Operator, SMB CSI driver) when `cluster_validator_image` is set. `--pre` - would also run the control-plane checks against this cluster, so leave it - off. A missing `helm`, `helmfile` or `kubectl` is a warning here, although - `compute-plane install` needs them. If the gate fails, show the user the - `check_completed` events with `passed: false` and `severity: "error"`, and - address them before proceeding. + That runs the same checks on the new cluster, and SIS reachability at + `--icms-url`, but checks the compute plane as installed: a missing tool + only warns, and a docker login `nvcr.io` rejects fails the gate only when + `NGC_API_KEY` does not work in its place. Treat a `registry-credentials` + row that says the docker login was rejected as blocking, and renew that + login before the install. + + If the gate fails, show the user the `check_completed` events with + `passed: false` and `severity: "error"`, and address them before + proceeding. 3. Register the cluster, then install its compute plane from the values file registration writes. Both commands name the new cluster's context diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 6be69c2af7..255cf4930e 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -75,9 +75,10 @@ credential, the one `docker` would use: `$DOCKER_CONFIG/config.json`, or `~/.docker/config.json`, through any `credsStore` or `credHelpers` helper. For `nvcr.io` the NGC API key is also read, from the first of `NGC_IMAGE_PULL_API_KEY`, `NVCF_NGCR_API_KEY`, `NVCF_NGC_API_KEY` and -`NGC_API_KEY` that is set. It goes ahead of the docker login only for a -bare `--pre` run with the `local` environment, since `up` creates its pull -secrets from it, and it is never sent to another registry. Elsewhere the key +`NGC_API_KEY` that is set. It goes ahead of the docker login only when the +registry check's plane, below, is checked before its install with the +`local` environment, since `up` creates its pull secrets from it, and it is +never sent to another registry. Elsewhere the key is sent when there is no docker login, or for a repository where `nvcr.io` rejects the docker login (a 401) or gives it no access (a 403). This is decided once per repository, before tag discovery, the row and the @@ -92,18 +93,29 @@ stack's image path: any path in `global.image.registry`, then `global.image.repository`. A stack path of one segment, such as an org with no team, is not sent as the scope, since `nvcr.io` refuses it. +The registry check belongs to one plane, whose stack names the registries +and whose install state grades them: a plane the run checks before its +install, which this machine installs next (the control plane for a bare +`--pre` and for `--pre --compute-plane`, the compute plane for +`--pre --control-plane`), else the control plane when the run visits it, +else the compute plane. + Only a credential the registry rejects fails the run, and only for an NVIDIA registry the image or the stack names. Before install that includes a docker login `nvcr.io` rejects even when the NGC key works in its place, since `helm` on this machine pulls the stack's charts with the docker login. The key is still used for tag discovery and the validator's pull secret, and the -row names both. After install a rejected credential is a warning, since the -cluster pulls with its own pull secret. A registry this -machine cannot reach, a token service that fails, and a missing local -credential are warnings. A registry the probe cannot speak to, such as ECR or -one using Basic auth, is skipped with a command to check it by hand. A -registry that lets this machine in anonymously is reported as such, not as -valid credentials. +row names both. After install a rejected docker login still fails. A rejected +NGC key is a warning only when `check` reads the pull secrets of the clusters +it visits, in the namespaces the validator copies pull secrets from, and +none of them holds that key; when one does, or they cannot all be read, it is +an error. A docker login the NGC key replaced passes after install only when +none of those pull secrets holds it: when one does it is an error, and when +they cannot all be read a warning. A registry this machine cannot reach, a +token service that fails, and a missing local credential are warnings. A +registry the probe cannot speak to, such as ECR or one using Basic auth, is +skipped with a command to check it by hand. A registry that lets this +machine in anonymously is reported as such, not as valid credentials. ### Settings read from the stack @@ -128,12 +140,13 @@ when they describe the install: - `environments/.yaml` is read, layered over `base.yaml`. `base.yaml` alone is not used. - The file comes from the stack the install used: `--control-plane-stack` - (`--compute-plane-stack` for a compute-plane-only run), else the CLI's - built-in stack. A local directory is read directly, and an `oci://` stack - from the copy an earlier command extracted into the CLI cache. A git stack, - `file://` included, is not read, since the install cloned its committed - state. A CLI with no built-in stack and no stack flag reads the stack - checkout above the working directory. + (`--compute-plane-stack` for the registries when the registry check + belongs to the compute plane), else the CLI's built-in stack. A local + directory is read directly, and an `oci://` stack from the copy an earlier + command extracted into the CLI cache. A git stack, `file://` included, is + not read, since the install cloned its committed state. A CLI with no + built-in stack and no stack flag reads the stack checkout above the + working directory. Otherwise nothing from the stack is forwarded: the validator finds the Gateways from the routes, and `nvcr.io` is probed as a warning only. diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index e19756f759..fd1e5406da 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -85,6 +85,9 @@ var newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCreden return selfhosted.NewRegistryCredentialChecker() } +// Test seam. +var newClusterPullSecretCheckerForSelfHosted = selfhosted.NewClusterPullSecretChecker + var checkWriterIsTTY = isWriterTTY var selfHostedCheckCmd = &cobra.Command{ @@ -304,16 +307,22 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } } + registryPostInstall := !registryTarget().beforeInstall + var registryClusterSecrets selfhosted.ClusterPullSecretChecker + if registryChecker != nil && registryPostInstall { + registryClusterSecrets = newClusterPullSecretCheckerForSelfHosted(visitedKubeContexts(mode)) + } cfg := selfhosted.PreflightConfig{ LocalOnly: localOnly, Tools: checkPreflightTools(), // The tools are what `up` runs; checking an installed stack does // not use them. - ToolsAdvisory: !checkPre, - Registries: credEntries, - RegistryChecker: registryChecker, - RegistryPostInstall: checkScopeIsPostInstall(), - Interrupted: interrupted, + ToolsAdvisory: !checkPre, + Registries: credEntries, + RegistryChecker: registryChecker, + RegistryPostInstall: registryPostInstall, + RegistryClusterSecrets: registryClusterSecrets, + Interrupted: interrupted, } // A quit key in the dashboard cancels the run the way a signal does. @@ -524,20 +533,49 @@ func validatorStackValues() selfhosted.StackValues { } // registryStackValues returns the stack values the registry credential check -// reads: the control-plane stack's, or the compute-plane stack's on a run -// that does not visit the control plane. Empty when they cannot be read. +// reads, from registryTarget's stack. Empty when they cannot be read. func registryStackValues() selfhosted.StackValues { - target := controlPlaneStackTarget() - if !controlPlaneIsVisited() { - target = computePlaneStackTarget() - } - files, ok := stackValuesForRun(target) + files, ok := stackValuesForRun(registryTarget()) if !ok { return selfhosted.StackValues{} } return selfhosted.LoadStackValues(files) } +// registryTarget is the plane the registry credential check belongs to: the +// stack its registries come from, and the install state it is graded by. That +// is a visited plane checked before its install, whose install this machine +// runs next, with helm pulling the stack's charts on its credentials; else +// the control plane when visited, else the compute plane. +func registryTarget() stackTarget { + cp, gpu := controlPlaneStackTarget(), computePlaneStackTarget() + switch { + case controlPlaneIsVisited() && cp.beforeInstall: + return cp + case computePlaneIsVisited() && gpu.beforeInstall: + return gpu + case controlPlaneIsVisited(): + return cp + } + return gpu +} + +// visitedKubeContexts returns the kubeconfig context of each plane the run +// visits: the current context, "", for one cluster. +func visitedKubeContexts(mode kubectx.Mode) []string { + if mode != kubectx.ModeSplit { + return []string{""} + } + var out []string + if controlPlaneIsVisited() { + out = append(out, selfHostedControlPlaneContext) + } + if computePlaneIsVisited() { + out = append(out, selfHostedComputePlaneContext) + } + return out +} + // stackTarget is one stack check can read values from. type stackTarget struct { // source is the stack flag; builtIn the stack the install commands use @@ -699,16 +737,11 @@ func resolveStackEnv() string { // preferNGCKey reports whether the NGC API key goes ahead of the docker login // for nvcr.io: only where up mints its pull secrets from the key, before a -// local install. Anywhere else the docker login is what docker uses, and the -// key is sent only when there is none or nvcr.io rejects it. +// local install of the registry check's plane. Anywhere else the docker login +// is what docker uses, and the key is sent only for a scope where there is no +// login or nvcr.io refuses it. func preferNGCKey() bool { - return !checkScopeIsPostInstall() && strings.EqualFold(resolveStackEnv(), "local") -} - -// checkScopeIsPostInstall reports whether the run checks an installed stack: -// any scope but a bare --pre, matching VALIDATOR_POST_INSTALL. -func checkScopeIsPostInstall() bool { - return !checkPre || checkAll || checkControlPlane || checkComputePlane + return registryTarget().beforeInstall && strings.EqualFold(resolveStackEnv(), "local") } // localStackDir returns src when it points at a readable local directory. @@ -998,8 +1031,18 @@ func runPreflightByRole( gpuStackDir, gpuStackEnv := namespaceGateStack(computePlaneStackTarget()) // The control-plane validator probes the hosts the local credential check - // probes, extras included, each as a warning only. + // probes, extras included, each as a warning only, but from the + // control-plane stack where that check reads the compute plane's. registries := cfg.Registries + if len(registries) > 0 && registryTarget().name != controlPlaneStackTarget().name { + cpStack := selfhosted.StackValues{} + if files, ok := stackValuesForRun(controlPlaneStackTarget()); ok { + cpStack = selfhosted.LoadStackValues(files) + } + // Validated before the run starts. + extras, _ := configuredValidatorRegistries() + registries = selfhosted.EnumerateRegistries(cmp.Or(clusterValidatorImage, unresolvedImage), cpStack, extras) + } validatorEnv := clusterValidatorJobEnv(validatorStackValues()) // Validated before the run starts. validatorTolerations, _ := configuredValidatorTolerations() diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index 4fbf7cfdba..5b60da0cf9 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -352,27 +352,131 @@ func TestCheck_MalformedValidatorRegistryFailsTheCommand(t *testing.T) { assert.Contains(t, got, "harbor.example.com:5000/nvcf", "a path is the probe's scope") } -// The NGC key is checked ahead of the docker login only before a local -// install, where up mints its pull secrets from it; every other scope checks -// an installed stack, where a rejected credential is only this machine's. -func TestCheckScope_NGCKeyOrderAndPostInstall(t *testing.T) { +// One plane decides how the registry rows are read and graded: a plane the +// run checks before its install, since this machine installs it next, else +// the control plane when visited. The NGC key goes first only before a local +// install of that plane, where up mints its pull secrets from it. +func TestCheckScope_RegistryPlaneDecidesKeyOrderAndGrading(t *testing.T) { t.Setenv("HELMFILE_ENV", "") for _, tc := range []struct { name string pre, cp, gpu, all, prodEnv bool prefer, postInstall bool + plane string }{ - {name: "bare --pre", pre: true, prefer: true}, - {name: "--pre --env prod", pre: true, prodEnv: true}, - {name: "--pre --control-plane", pre: true, cp: true, postInstall: true}, - {name: "--control-plane", cp: true, postInstall: true}, - {name: "--compute-plane", gpu: true, postInstall: true}, - {name: "--pre --all", pre: true, all: true, postInstall: true}, + {name: "bare --pre", pre: true, prefer: true, plane: "self-managed"}, + {name: "--pre --env prod", pre: true, prodEnv: true, plane: "self-managed"}, + {name: "--pre --compute-plane", pre: true, gpu: true, prefer: true, plane: "self-managed"}, + {name: "--pre --control-plane", pre: true, cp: true, prefer: true, plane: "nvcf-compute-plane"}, + {name: "--pre --control-plane --env prod", pre: true, cp: true, prodEnv: true, plane: "nvcf-compute-plane"}, + {name: "--pre --control-plane --compute-plane", pre: true, cp: true, gpu: true, postInstall: true, + plane: "self-managed"}, + {name: "--control-plane", cp: true, postInstall: true, plane: "self-managed"}, + {name: "--compute-plane", gpu: true, postInstall: true, plane: "nvcf-compute-plane"}, + {name: "--pre --all", pre: true, all: true, postInstall: true, plane: "self-managed"}, } { resetCheckFlags(t) checkPre, checkControlPlane, checkComputePlane, checkAll = tc.pre, tc.cp, tc.gpu, tc.all withEnvFlag(t, map[bool]string{true: "prod", false: "local"}[tc.prodEnv], tc.prodEnv) assert.Equal(t, tc.prefer, preferNGCKey(), tc.name) - assert.Equal(t, tc.postInstall, checkScopeIsPostInstall(), tc.name) + assert.Equal(t, tc.postInstall, !registryTarget().beforeInstall, tc.name) + assert.Equal(t, tc.plane, registryTarget().name, tc.name) } } + +// registryGrading runs check with args and returns the registries the local +// credential check probed, and the kubeconfig contexts whose pull secrets a +// refused credential would be looked for in: nil before install. +func registryGrading(t *testing.T, args ...string) (map[string]bool, []string) { + t.Helper() + var contexts []string + prev := newClusterPullSecretCheckerForSelfHosted + newClusterPullSecretCheckerForSelfHosted = func(kubeContexts []string) selfhosted.ClusterPullSecretChecker { + contexts = append([]string{}, kubeContexts...) + return prev(kubeContexts) + } + t.Cleanup(func() { newClusterPullSecretCheckerForSelfHosted = prev }) + return registryProbes(t, args...), contexts +} + +// --pre --compute-plane checks the control plane before its install, so the +// registry rows come from the control-plane stack read with up's default +// environment and are graded as before install, with no cluster to compare +// against. --pre --control-plane does the same with the compute-plane stack, +// the one compute-plane install pulls from next. A run that checks installed +// planes compares against the pull secrets of each cluster it visits. +func TestCheck_RegistryRowsAreReadAndGradedByOnePlane(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_CLI_DEFAULT_CONTROL_PLANE_STACK", "") + t.Setenv("NVCF_CLI_DEFAULT_COMPUTE_PLANE_STACK", "") + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + stackNaming := func(repository string) string { + dir := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(dir, "environments"), 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(dir, "environments", "local.yaml"), + []byte("global:\n image:\n registry: nvcr.io\n repository: "+repository+ + "\ncertManager:\n enabled: false\n"), 0o644)) + return dir + } + cpStack, gpuStack := stackNaming("acme/cp"), stackNaming("acme/gpu") + + got, contexts := registryGrading(t, "--pre", "--compute-plane", + "--control-plane-stack", cpStack, "--compute-plane-stack", gpuStack) + assert.Equal(t, map[string]bool{"nvcr.io/acme/cp": true}, got) + assert.Nil(t, contexts, "graded as before install") + + got, contexts = registryGrading(t, "--pre", "--control-plane", + "--control-plane-stack", cpStack, "--compute-plane-stack", gpuStack) + assert.Equal(t, map[string]bool{"nvcr.io/acme/gpu": true}, got) + assert.Nil(t, contexts, "graded as before install") + + _, contexts = registryGrading(t, "--control-plane", "--control-plane-stack", cpStack) + assert.Equal(t, []string{""}, contexts, "one cluster, the current context") + + _, contexts = registryGrading(t, "--all", "--control-plane-context", "cp-ctx", + "--compute-plane-context", "gpu-ctx", "--icms-url", "https://icms.example.com") + assert.Equal(t, []string{"cp-ctx", "gpu-ctx"}, contexts) +} + +// Where the local check reads the compute-plane stack, --pre --control-plane, +// the control-plane validator still probes the control-plane stack's +// registries from its cluster. +func TestCheck_ControlPlaneValidatorKeepsItsStacksRegistries(t *testing.T) { + resetCheckFlags(t) + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + stackNaming := func(registry string) string { + dir := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(dir, "environments"), 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(dir, "environments", "local.yaml"), + []byte("global:\n image:\n registry: "+registry+"\n repository: acme/nvcf\n"+ + "certManager:\n enabled: false\n"), 0o644)) + return dir + } + var mu sync.Mutex + var cpRegistries []string + prev := newClusterValidatorForSelfHosted + newClusterValidatorForSelfHosted = func() selfhosted.ClusterValidator { + return func(_ context.Context, p selfhosted.ClusterValidatorParams) selfhosted.ClusterValidatorResult { + mu.Lock() + defer mu.Unlock() + if p.Role == "control-plane" { + for _, r := range p.Registries { + cpRegistries = append(cpRegistries, r.Registry) + } + } + return selfhosted.ClusterValidatorResult{Passed: true} + } + } + t.Cleanup(func() { newClusterValidatorForSelfHosted = prev }) + + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--control-plane", "--json", "--env", "local", + "--cluster-validator-image", "nvcr.io/nvidia/cv:1.0.0", + "--control-plane-stack", stackNaming("cp-mirror.example.com"), + "--compute-plane-stack", stackNaming("gpu-mirror.example.com")}) + _ = rootCmd.Execute() + assert.Contains(t, cpRegistries, "cp-mirror.example.com") + assert.NotContains(t, cpRegistries, "gpu-mirror.example.com") +} diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index ea1102f775..79707d8fc7 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjYxMzgsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjg4MzcsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -39,12 +39,12 @@ const skillDataZipBase64 = "" + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NmQyZWY5YTZmYzcwZTM1ZjhiNGQ5ZWQ5" + "NTc5MTczMTJjZjE5YmQ3NmM1MzY4OTYzNTMwZTVhNDBlMWU3Zjg5IiwKICAgICAgInNpemUiOiA0" + "Mzk0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiZjQ3M2E3ZjM1ZjQ1MWQx" + - "NjUyNTNmNjliM2M3NGJhZTA2MzJmOTc1YzJiMzlhZjQ4MzRhYWJlNjc3ZjQ5MmY4OSIsCiAgICAg" + - "ICJzaXplIjogNDMyNgogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogImUy" + - "YzQ2NDIyMTE0MDIyNzRlMjBjYWU1ZTQxMjg1YWY2ZmVhMjIxY2EwMTNlYjQyMmUyNmRlMDU1NDVk" + - "NTZiNGEiLAogICAgICAic2l6ZSI6IDQ3NDAKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNGZhYzM0NWQ5NDcxYWQ3" + + "NzFiM2MxNmNiZWJjMmQ0OWIzMGY2ZjVkMjQ0MzFiMDQ4YzdlODU4NzliYzEwMjgzYiIsCiAgICAg" + + "ICJzaXplIjogNDg5NwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogImE5" + + "MmIzYmRlMmU0ZGVjNWFiOWJlZjM0YzcyY2UwYWM1OTNjMGNiNmRlOWMzOWM3YTlhMDc5OTRlMzc4" + + "ZDc4ZTQiLAogICAgICAic2l6ZSI6IDYwMTkKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICIwYjJkM2YxODhmOTRhMzQ5" + - "N2VjYTYxODE2MDI1ZGVmMzZjMmQ1MGViZDFhZTY5MDI5NzYyMTgyY2Y3ZDUzY2M4IiwKICAgICAg" + - "InNpemUiOiAyMjYxMQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNjEzYThiY2NiZGY5MTZj" + + "OGUyNWZiMjA5ZDE4NzE5OTUyZmE1NGY0NzhkYTVkNjM2YzdiNmI4YWE3Mjk0NDgxIiwKICAgICAg" + + "InNpemUiOiAyMzQ2MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCIZR2K5KEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCIJMFDFKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -675,3488 +675,3536 @@ const skillDataZipBase64 = "" + "IGt1YmVjdGwgYWNjZXNzIG5lZWRlZCk6Cm52Y2YtY2xpIGluaXQgLS1hcGktdXJsPWh0dHBzOi8v" + "YXBpLm52Y2YuZXhhbXBsZS5jb20KCiMgUnVuIHByZS1mbGlnaHQgc2NvcGVkIHRvIHRoZSBjb21w" + "dXRlIHBsYW5lIG9ubHkuIGNoZWNrIHRha2VzIGJvdGggY29udGV4dAojIGZsYWdzIG9yIG5laXRo" + - "ZXIsIHNvIHNlbGVjdCB0aGUgY29tcHV0ZSBjbHVzdGVyIGFzIHRoZSBjdXJyZW50IGNvbnRleHQ6" + - "Cmt1YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0IGFkbWluQGdwdTEKbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5udmNm" + - "LmV4YW1wbGUuY29tIFwKICAtLWpzb24KCiMgUmVnaXN0ZXIgYW5kIGluc3RhbGwganVzdCB0aGUg" + - "Y29tcHV0ZSBwbGFuZSwgZnJvbSB0aGUgcHJvZmlsZSB0aGUKIyBjb250cm9sLXBsYW5lIG9wZXJh" + - "dG9yIGV4cG9ydGVkIHdpdGggYHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBleHBv" + - "cnRgLAojIHNhdmVkIGhlcmUgYXMgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWw6Cm52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1w" + - "cm9maWxlPWNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZT1teS1j" + - "b21wdXRlLTEgXAogIC0ta3ViZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0taWNtcy11cmw9aHR0" + - "cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tdG9rZW49JEFETUlOX0pXVCBcCiAgLS1v" + - "dXRwdXQ9bXktY29tcHV0ZS0xLXJlZ2lzdGVyLXZhbHVlcy55YW1sCm52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXM9bXktY29tcHV0ZS0xLXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWNsdXN0" + - "ZXItbmFtZT1teS1jb21wdXRlLTEKCiMgU3RhdHVzIG9mIHRoZSBjdXJyZW50IGNvbnRleHQsIGFk" + - "bWluQGdwdTEgKGNvbXB1dGUtb25seTogdGhlIG9wZXJhdG9yCiMgY2FuJ3Qgc2VlIGNvbnRyb2wt" + - "cGxhbmUgY29tcG9uZW50IGhlYWx0aCk6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAg" + - "LS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNtcy5u" + - "dmNmLmV4YW1wbGUuY29tCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdldGluZyBzcGVjaWZpYyBjb21w" + - "dXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21wdXRlIHBsYW5lcyBhbmQgd2Fu" + - "dCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29uCnsKICAiZnVuY3Rpb25JZCI6" + - "ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVudFNwZWNp" + - "ZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5D" + - "UC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0YW5jZXMi" + - "OiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9XQp9CmBgYAoKVGhlIGBjbHVz" + - "dGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJRHMpIGxpbWl0cyBzY2hlZHVs" + - "aW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxldCBJQ01TIGNob29zZSBhbnkg" + - "Y29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMgU3RhdHVzIGZhbi1vdXQgYWNy" + - "b3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJlZ2lzdGVyZWQgY29tcHV0ZSBw" + - "bGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQg" + - "LS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5jbHVzdGVyc1tdLmNsdXN0ZXJO" + - "YW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3QgcGVyIGNvbXB1dGUgcGxhbmUg" + - "KGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpOgp3aGlsZSByZWFkIE5BTUU7IGRv" + - "CiAgZWNobyAiPT09ICROQU1FID09PSIKICBrdWJlY3RsIGNvbmZpZyB1c2UtY29udGV4dCAiYWRt" + - "aW5AJE5BTUUiID4vZGV2L251bGwKICBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAogICAg" + - "LS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVz" + - "dGVyLCB2ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCmRvbmUg" + - "PCBjbHVzdGVycy50eHQKYGBgCgpBIGZ1dHVyZSBNKzExIG1pbGVzdG9uZSB3aWxsIGFkZCBuYXRp" + - "dmUgZmFuLW91dCAoYHN0YXR1cyAtLWFsbC1jb21wdXRlLXBsYW5lc2ApIHNvIHRoaXMgZG9lc24n" + - "dCBuZWVkIGEgc2hlbGwgbG9vcC4KUEsHCB47D67mEAAA5hAAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUt" + - "cGxhbmUubWRVVAUAAQCmzhIjIEFkZCBhIGNvbXB1dGUgcGxhbmUgdG8gYW4gZXhpc3RpbmcgY29u" + - "dHJvbCBwbGFuZQoKVXNlciBoYXMgYSB3b3JraW5nIE5WQ0YgY29udHJvbCBwbGFuZSAocnVubmlu" + - "ZyBzb21ld2hlcmUpIGFuZCB3YW50cyB0byByZWdpc3RlciBhIG5ldyBHUFUgY2x1c3RlciBhZ2Fp" + - "bnN0IGl0LiBUaGlzIGlzIHRoZSBtdWx0aS1jbHVzdGVyIHNjYWxpbmcgcGF0aDogb25lIGNvbnRy" + - "b2wgcGxhbmUg4oaSIE4gY29tcHV0ZSBwbGFuZXMuCgojIyBQcmVyZXF1aXNpdGVzIHRoZSB1c2Vy" + - "IG11c3QgaGF2ZQoKLSAqKmt1YmVjdGwgY29udGV4dCBmb3IgdGhlIG5ldyBjb21wdXRlIHBsYW5l" + - "KiogaW4gdGhlaXIgYEtVQkVDT05GSUdgLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4" + - "aXN0aW5nIGNvbnRyb2wgcGxhbmUgKGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29t" + - "YCkuCi0gKipBZG1pbiBKV1QqKiBmb3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBh" + - "YmlsaXR5IHRvIG1pbnQgb25lIHZpYSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJv" + - "bCBwbGFuZSdzIHB1YmxpYyBhcGkgZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRo" + - "ZSBBUEkgS2V5cyBzZXJ2aWNlIHZpYSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3Rs" + - "IGFjY2VzcyB0byB0aGUgY29udHJvbCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9u" + - "ZS4pCi0gVGhlIGNvbnRyb2wgcGxhbmUncyBwcm9maWxlIGZpbGUsIHdoaWNoIGBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhwb3J0YCB3cml0ZXMgb24gYSBtYWNo" + - "aW5lIHRoYXQgY2FuIHJlYWNoIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIuIEl0IGNhcnJpZXMg" + - "dGhlIGNvbnRyb2wgcGxhbmUncyBlbmRwb2ludHMgYW5kIHRydXN0IGZvciByZWdpc3RyYXRpb24u" + - "IFRoZSBjb21tYW5kIHdyaXRlcyBpdCB0byB0aGUgc3RhY2sncyBgb3V0L2AgZGlyZWN0b3J5IGFu" + - "ZCBwcmludHMgdGhhdCBwYXRoOyB0aGUgc3RlcHMgYmVsb3cgZXhwZWN0IGl0IGNvcGllZCB0byBg" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWxgIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KLSBB" + - "IHVuaXF1ZSBgLS1jbHVzdGVyLW5hbWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFk" + - "eS1yZWdpc3RlcmVkIGNsdXN0ZXJzLiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3Rl" + - "cmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVw" + - "cwoKMS4gQXNrIGZvciBpbnB1dHM6CiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQg" + - "bXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0g" + - "YC0ta3ViZS1jb250ZXh0PTxjb250ZXh0PmA6IHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBrdWJlY3Rs" + - "IGNvbnRleHQKICAgLSBgLS1pY21zLXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20+" + - "YCDigJQgY29udHJvbCBwbGFuZSdzIHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBlPyAoZGVm" + - "YXVsdCBgSDEwMGAsIGJ1dCBhc2spCgoyLiBQcmUtZmxpZ2h0IGp1c3QgdGhlIGNvbXB1dGUgcGxh" + - "bmUuIGBjaGVja2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9yCiAgIG5laXRoZXIsIHNvIHBv" + - "aW50IHRoZSBjdXJyZW50IGNvbnRleHQgYXQgdGhlIG5ldyBHUFUgY2x1c3RlciBhbmQgc2VsZWN0" + - "CiAgIG9ubHkgdGhlIGNvbXB1dGUgcGxhbmU6CgogICBgYGBzaAogICBrdWJlY3RsIGNvbmZpZyB1" + - "c2UtY29udGV4dCAiJENUWCIKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRl" + - "LXBsYW5lIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9u" + - "dWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQg" + - "PT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoaXMgY2hl" + - "Y2tzIHRoaXMgbWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIGFuZCB0aGUgY29tcHV0ZSBj" + - "bHVzdGVyCiAgIG9ubHk6IGxlZnRvdmVyIE5WQ0YgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxp" + - "bWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdAogICBgLS1pY21zLXVybGAsIGFuZCB0aGUgY29tcHV0" + - "ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciAoR1BVIHJlc291cmNlcywgR1BVCiAgIE9wZXJhdG9y" + - "LCBTTUIgQ1NJIGRyaXZlcikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldC4g" + - "YC0tcHJlYAogICB3b3VsZCBhbHNvIHJ1biB0aGUgY29udHJvbC1wbGFuZSBjaGVja3MgYWdhaW5z" + - "dCB0aGlzIGNsdXN0ZXIsIHNvIGxlYXZlIGl0CiAgIG9mZi4gQSBtaXNzaW5nIGBoZWxtYCwgYGhl" + - "bG1maWxlYCBvciBga3ViZWN0bGAgaXMgYSB3YXJuaW5nIGhlcmUsIGFsdGhvdWdoCiAgIGBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGxgIG5lZWRzIHRoZW0uIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRo" + - "ZSB1c2VyIHRoZQogICBgY2hlY2tfY29tcGxldGVkYCBldmVudHMgd2l0aCBgcGFzc2VkOiBmYWxz" + - "ZWAgYW5kIGBzZXZlcml0eTogImVycm9yImAsIGFuZAogICBhZGRyZXNzIHRoZW0gYmVmb3JlIHBy" + - "b2NlZWRpbmcuCgozLiBSZWdpc3RlciB0aGUgY2x1c3RlciwgdGhlbiBpbnN0YWxsIGl0cyBjb21w" + - "dXRlIHBsYW5lIGZyb20gdGhlIHZhbHVlcwogICBmaWxlIHJlZ2lzdHJhdGlvbiB3cml0ZXMuIEJv" + - "dGggY29tbWFuZHMgbmFtZSB0aGUgbmV3IGNsdXN0ZXIncyBjb250ZXh0CiAgIHdpdGggYC0ta3Vi" + - "ZS1jb250ZXh0YDoKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxh" + - "bmUgcmVnaXN0ZXIgXAogICAgIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPWNvbnRyb2wtcGxhbmUt" + - "cHJvZmlsZS55YW1sIFwKICAgICAtLWNsdXN0ZXItbmFtZT0kTkFNRSBcCiAgICAgLS1rdWJlLWNv" + - "bnRleHQ9JENUWCBcCiAgICAgLS1pY21zLXVybD0kSUNNUyBcCiAgICAgLS10b2tlbj0kSldUIFwK" + - "ICAgICAtLW91dHB1dD0kTkFNRS1yZWdpc3Rlci12YWx1ZXMueWFtbAogICBudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogICAgIC0tdmFsdWVzPSROQU1FLXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sIFwKICAgICAtLWt1YmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWNsdXN0" + - "ZXItbmFtZT0kTkFNRQogICBgYGAKCiAgIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCByZWNvcmRz" + - "IHRoZSBjbHVzdGVyJ3MgT0lEQyBpc3N1ZXIgYW5kIEpXS1Mgd2l0aAogICBJQ01TIGF0IGAtLWlj" + - "bXMtdXJsYCBhbmQgd3JpdGVzIHRoZSBOVkNBIG9wZXJhdG9yIHZhbHVlcy4gYGNvbXB1dGUtcGxh" + - "bmUKICAgaW5zdGFsbGAgaW5zdGFsbHMgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sgd2l0aCB0aGVt" + - "LiBOZWl0aGVyIHRvdWNoZXMgdGhlCiAgIGNvbnRyb2wtcGxhbmUgY2x1c3RlcjogSUNNUyBpcyBy" + - "ZWFjaGVkIG92ZXIgSFRUUFMuIGAtLXRva2VuYCBwYXNzZXMgdGhlCiAgIGFkbWluIEpXVDsgd2l0" + - "aG91dCBpdCB0aGUgdG9rZW4gYG52Y2YtY2xpIGluaXRgIHN0b3JlZCBpcyB1c2VkLgoKNC4gVmVy" + - "aWZ5LiBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0t" + - "anNvbiB8IGpxYDogZXhwZWN0IGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBUaGUgUmVnaXN0ZXJlZCBD" + - "b21wdXRlIFBsYW5lcyBwYW5lbCBmcm9tIElDTVMgc2hvdWxkIG5vdyBsaXN0IHRoZSBuZXcgY2x1" + - "c3Rlci4KCjUuIFNtb2tlLiBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRlcGxveS1hbmQtaW52b2tl" + - "Lm1kKTogZGVwbG95IGEgc21hbGwgZnVuY3Rpb24gdG8gdGhlIG5ldyBjb21wdXRlIHBsYW5lIHRv" + - "IGNvbmZpcm0gc2NoZWR1bGluZyB3b3Jrcy4KCiMjIFdoYXQgaWYgYSBjbHVzdGVyIHdpdGggdGhl" + - "IHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cz8KCmBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCByZXVz" + - "ZXMgYW4gZXhpc3RpbmcgcmVnaXN0cmF0aW9uOiBpdCBtYXRjaGVzIHRoZSBJQ01TIHJvdyB3aXRo" + - "IHRoZSBzYW1lIG5hbWUsIHJldXNlcyBpdHMgY2x1c3RlcklkIGFuZCByZXBsYWNlcyBpdHMgSldL" + - "Uy4gVHdvIHNjZW5hcmlvczoKCi0gKipSZS1yZWdpc3RlcmluZyB0aGUgc2FtZSBjbHVzdGVyKiog" + - "KHJlLXJ1bm5pbmcgb24gdGhlIHNhbWUgY29tcHV0ZSBwbGFuZSB0aGF0IHdhcyBwcmV2aW91c2x5" + - "IHJlZ2lzdGVyZWQpOiBleHBlY3RlZCwgbm8tb3Agc2VtYW50aWNzLgotICoqRGlmZmVyZW50IHBo" + - "eXNpY2FsIGNsdXN0ZXIgYnV0IHNhbWUgbmFtZSoqOiB0aGUgc2Vjb25kIGF0dGVtcHQgd2lsbCBy" + - "ZXVzZSB0aGUgSUNNUyByb3csIGJ1dCB0aGUgbmV3IGNvbXB1dGUgcGxhbmUncyBKV0tTIHdpbGwg" + - "YmUgc2lsZW50bHkgKnJlcGxhY2VkKiDigJQgdGhlIG9sZCBjb21wdXRlIHBsYW5lJ3MgTlZDQSBh" + - "Z2VudCB3aWxsIHN0YXJ0IGZhaWxpbmcgUFNBVCBhdXRoLiAqKkNvbmZpcm0gd2l0aCB0aGUgdXNl" + - "cioqIHRoYXQgdGhleSBtZWFudCB0byBvdmVyd3JpdGUuCgpXaGVuIGluIGRvdWJ0LCBydW4gYG52" + - "Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVy" + - "bD0kSUNNU2AgZmlyc3QgYW5kIGFzayB0aGUgdXNlciBiZWZvcmUgcHJvY2VlZGluZyB3aXRoIGEg" + - "bmFtZSB0aGF0IGFscmVhZHkgZXhpc3RzLgpQSwcI7DeAX4QSAACEEgAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUt" + - "YW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SIyBDcmVhdGUgYW5kIHJ1biBhIHRhc2sKClN0YW5kYXJk" + - "IGZsb3c6IG1pbnQgQVBJIGtleXMgLT4gdGFzayBDUkVBVEUgLT4gbW9uaXRvciAtPiByZXRyaWV2" + - "ZSByZXN1bHRzIC0+IGNsZWFudXAuCgojIyAxLiBNaW50IEFQSSBrZXlzCgpUaGUgYWRtaW4gdG9r" + - "ZW4gZnJvbSBgaW5pdGAgZG9lcyBub3QgY2FycnkgdGFzayBpbnZvY2F0aW9uIHNjb3BlLiBHZW5l" + - "cmF0ZSBBUEkga2V5czoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlw" + - "dGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKIyAtPiBmdW5jdGlvbiBrZXk6" + - "IG52YXBpLS4uLgojIC0+IHRhc2sga2V5OiBudmFwaS0uLi4KYGBgCgpCb3RoIGtleXMgYXJlIHNh" + - "dmVkIHRvIENMSSBzdGF0ZS4gVG8gbWludCBvbmx5IHRoZSB0YXNrIGtleToKCmBgYHNoCm52Y2Yt" + - "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tl" + - "IHRlc3QiIC0tZXhwaXJlcy1pbj04aApgYGAKClRvIHZhbGlkYXRlIGVhY2gga2V5IGltbWVkaWF0" + - "ZWx5IGFmdGVyIG1pbnRpbmc6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVz" + - "Y3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoIC0tdmFsaWRhdGUKIyAt" + - "PiBmdW5jdGlvbiBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQojIC0+IHRhc2sgQVBJIGtleSB2" + - "YWxpZGF0aW9uIHBhc3NlZCEKYGBgCgpOZXZlciBlY2hvIHRoZSBrZXkgdmFsdWUgKG52YXBpLS4u" + - "LikgaW50byBjaGF0IG9yIGxvZ3MuIFJlcG9ydCBvbmx5IHRoYXQgdGhlIGtleSB3YXMgbWludGVk" + - "LCBpdHMgZGVzY3JpcHRpb24sIGFuZCBpdHMgZXhwaXJ5IOKAlCBuZXZlciB0aGUgdmFsdWUgaXRz" + - "ZWxmLgoKIyMjIEZyZXNoIHNlc3Npb24gcHJlLWZsaWdodAoKQmVmb3JlIHJ1bm5pbmcgYW55IGB0" + - "YXNrYCBjb21tYW5kIGluIGEgZnJlc2ggYWdlbnQgc2Vzc2lvbiwgdmVyaWZ5IGNyZWRlbnRpYWxz" + - "OgoKMS4gQ2hlY2sgd2hldGhlciBgTlZDRl9BUElfS0VZYCBpcyBzZXQ6CgogICBgYGBzaAogICBw" + - "cmludGVudiBOVkNGX0FQSV9LRVkgPiAvZGV2L251bGwgMj4mMSAmJiBlY2hvIHNldCB8fCBlY2hv" + - "IHVuc2V0CiAgIGBgYAoKMi4gSWYgdW5zZXQsIHJlYWQgdGhlIHN0b3JlZCBrZXkgZXhwaXJ5IHdp" + - "dGhvdXQgcHJpbnRpbmcgdGhlIHZhbHVlOgoKICAgYGBgc2gKICAgcHl0aG9uMyAtYyAiaW1wb3J0" + - "IGpzb24scGF0aGxpYjsgcz1qc29uLmxvYWRzKHBhdGhsaWIuUGF0aCgnfi8ubnZjZi1jbGkuc3Rh" + - "dGUnKS5leHBhbmR1c2VyKCkucmVhZF90ZXh0KCkpOyBwcmludChzLmdldCgnbnZjdEFwaUtleUV4" + - "cGlyYXRpb24nLCdtaXNzaW5nJykpIgogICBgYGAKCjMuIElmIHRoZSBleHBpcnkgaXMgaW4gdGhl" + - "IHBhc3Qgb3IgbWlzc2luZywgcmVnZW5lcmF0ZToKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHJlZnJl" + - "c2gKICAgbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249" + - "InRhc2sta2V5IiAtLWV4cGlyZXMtaW49MjRoIC0tdmFsaWRhdGUKICAgYGBgCgo0LiBJbmplY3Qg" + - "dGhlIHN0b3JlZCBrZXkgaW50byB0aGUgc3VicHJvY2VzcyBlbnYgd2l0aG91dCBsb2dnaW5nIHRo" + - "ZSB2YWx1ZS4gVXNlIGEgc2hlbGwgc3Vic2hlbGwgb3IgZW52IHByZWZpeCDigJQgbmV2ZXIgcHJp" + - "bnQgdGhlIGtleSBpbnRvIGNoYXQuCgpFcnJvciBjbGFzc2lmaWNhdGlvbjoKCi0gIm1pc3Npbmcg" + - "YXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMiIG9yIGV4aXQgMjoga2V5IG5vdCBpbmplY3RlZDsg" + - "cmVwZWF0IHByZS1mbGlnaHQuCi0gSFRUUCA0MDM6IGtleSBleHBpcmVkIG9yIHdyb25nIGF1ZGll" + - "bmNlOyByZWdlbmVyYXRlLgotIEVtcHR5IHRhc2sgbGlzdDogdmFsaWQ7IG5vIHRhc2tzIGV4aXN0" + - "IHlldC4KCiMjIDIuIFRhc2sgQ1JFQVRFOiBjb250YWluZXIKCkRlZmluZSB0aGUgdGFzayBpbiBh" + - "IEpTT04gZmlsZS4gTWluaW11bSB2aWFibGUgY29udGFpbmVyIHRhc2s6CgpgYGBqc29uCnsKICAi" + - "bmFtZSI6ICJzbW9rZS1jb250YWluZXItdGFzayIsCiAgImdwdVNwZWNpZmljYXRpb24iOiB7CiAg" + - "ICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAog" + - "ICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0sCiAgImNvbnRhaW5lckltYWdlIjogIm52Y3Iu" + - "aW8vbnZpZGlhL25lbW86bGF0ZXN0IiwKICAiY29udGFpbmVyQXJncyI6ICJweXRob24gLWMgXCJw" + - "cmludCgnaGVsbG8gZnJvbSB0YXNrJylcIiIsCiAgInJlc3VsdEhhbmRsaW5nU3RyYXRlZ3kiOiAi" + - "Tk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNr" + - "LWNvbnRhaW5lci5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKQ2FwdHVyZSB0aGUg" + - "dGFzayBJRCBmcm9tIHRoZSBvdXRwdXQuIFN0YXRlIHBlcnNpc3RlbmNlIGNhbiBmYWlsIHNpbGVu" + - "dGx5LCBzbyBwYXNzCmA8dGFza0lkPmAgZXhwbGljaXRseSBvbiBzdWJzZXF1ZW50IGNvbW1hbmRz" + - "IHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2F2ZWQgc3RhdGUuCgpFcXVpdmFsZW50IENMSSBmbGFn" + - "cyBmb3JtIGZvciBxdWljayBhZC1ob2MgcnVuczoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRl" + - "IFwKICAtLW5hbWU9c21va2UtY29udGFpbmVyLXRhc2sgXAogIC0tZ3B1PUgxMDAgXAogIC0taW5z" + - "dGFuY2UtdHlwZT1OQ1AuR1BVLkgxMDBfMXggXAogIC0tYmFja2VuZD1uY3AtbG9jYWwgXAogIC0t" + - "aW1hZ2U9bnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QgXAogIC0tY29udGFpbmVyLWFyZ3M9InB5" + - "dGhvbiAtYyAncHJpbnQoaGVsbG8gZnJvbSB0YXNrKSciIFwKICAtLXJlc3VsdC1zdHJhdGVneT1O" + - "T05FCmBgYAoKVG8gdGFyZ2V0IGEgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVyOgoKYGBgc2gKbnZj" + - "Zi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24gLS1jbHVz" + - "dGVycz1teS1jbHVzdGVyCmBgYAoKVG8gaW5qZWN0IGVudmlyb25tZW50IHZhcmlhYmxlcyBvciBz" + - "ZWNyZXRzLCBlaXRoZXIgcGFzcyBmbGFnczoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0t" + - "aW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIFwKICAtLWNvbnRhaW5lci1lbnYgTVlfRU5W" + - "PXZhbHVlIFwKICAtLXNlY3JldHMgTVlfU0VDUkVUPXMzY3IzdApgYGAKCm9yIHNldCB0aGVtIGlu" + - "IHRoZSBKU09OIGZpbGU6CgpgYGBqc29uCnsKICAiY29udGFpbmVyRW52aXJvbm1lbnQiOiBbCiAg" + - "ICB7ImtleSI6ICJNWV9FTlYiLCAidmFsdWUiOiAidmFsdWUifQogIF0sCiAgInNlY3JldHMiOiBb" + - "CiAgICB7Im5hbWUiOiAiTVlfU0VDUkVUIiwgInZhbHVlIjogInMzY3IzdCJ9CiAgXQp9CmBgYAoK" + - "U2VjcmV0cyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgYW5kIG5vdCByZXR1cm5lZCBpbiBsaXN0IG9y" + - "IGdldCByZXNwb25zZXMgYnkgZGVmYXVsdDsgZG8gbm90IGxvZyB0aGVtLgoKIyMgMy4gVGFzayBD" + - "UkVBVEU6IEhlbG0KCkZvciBIZWxtLXR5cGUgdGFza3MsIHJlcGxhY2UgYGNvbnRhaW5lckltYWdl" + - "YCB3aXRoIGBoZWxtQ2hhcnRgOgoKYGBganNvbgp7CiAgIm5hbWUiOiAic21va2UtaGVsbS10YXNr" + - "IiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFu" + - "Y2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAg" + - "fSwKICAiaGVsbUNoYXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS88b3JnPi9jaGFy" + - "dHMvZXhhbXBsZS10YXNrLTAuMS4wLnRneiIsCiAgInJlc3VsdEhhbmRsaW5nU3RyYXRlZ3kiOiAi" + - "Tk9ORSIKfQpgYGAKCmBgYHNoCm52Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNr" + - "LWhlbG0uanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCmBoZWxtQ2hhcnRgIGFuZCBg" + - "Y29udGFpbmVySW1hZ2VgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCgojIyAzYi4gVXBkYXRlIHNl" + - "Y3JldHMgb24gYSBydW5uaW5nIHRhc2sKCmBgYHNoCm52Y2YtY2xpIHRhc2sgdXBkYXRlLXNlY3Jl" + - "dHMgPHRhc2tfaWQ+IC0tc2VjcmV0cyBOQU1FPXZhbHVlCmBgYAoKYHVwZGF0ZS1zZWNyZXRzYCBt" + - "ZXJnZXMgc2VjcmV0cyBieSBuYW1lOiBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1cGRh" + - "dGVkLCBhbmQgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgYXJl" + - "IHByZXNlcnZlZC4gRG8gbm90IGVjaG8gc2VjcmV0IHZhbHVlcyBpbnRvIGNoYXQuCgojIyA0LiBN" + - "b25pdG9yCgpQb2xsIHRhc2sgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldCA8dGFza19p" + - "ZD4KIyAtPiBpZDogPHRhc2tfaWQ+CiMgLT4gc3RhdHVzOiBSVU5OSU5HCmBgYAoKT3IgdXNlIHRo" + - "ZSB0YXNrIElEIHNhdmVkIHRvIHN0YXRlIGZyb20gdGhlIG1vc3QgcmVjZW50IGB0YXNrIGNyZWF0" + - "ZWA6CgpgYGBzaApudmNmLWNsaSB0YXNrIGdldApgYGAKClN0YXR1cyB2YWx1ZXM6IGBRVUVVRURg" + - "LCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JFRGAsIGBDQU5DRUxF" + - "RGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURFRF9NQVhfUVVFVUVE" + - "X0RVUkFUSU9OYC4KCkluc3BlY3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgcHJvZ3Jlc3MgZGV0YWls" + - "cyBvciBmYWlsdXJlIGNvbnRleHQ6CgpgYGBzaApudmNmLWNsaSB0YXNrIGV2ZW50cyA8dGFza19p" + - "ZD4KYGBgCgpJZiB0aGUgdGFzayBpcyBzdHVjayBpbiBgUVVFVUVEYCwgY2hlY2sgdGhhdCBhIGNv" + - "bXB1dGUgY2x1c3RlciB3aXRoIGEgbWF0Y2hpbmcgR1BVIFNLVQppcyByZWdpc3RlcmVkIGFuZCBo" + - "ZWFsdGh5IChgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzYCkuCgpJZiB0aGUgdGFzayBtb3Zl" + - "cyB0byBgRVJST1JFRGAsIHRoZSBldmVudHMgb3V0cHV0IGNvbnRhaW5zIHRoZSBmYWlsdXJlIHJl" + - "YXNvbi4gRm9yCmNvbnRhaW5lci1sZXZlbCBkZXRhaWwsIGluc3BlY3QgdGhlIHRhc2sgd29ya2xv" + - "YWQgcG9kcyBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyIHdpdGgKYGt1YmVjdGxgIGFnYWlu" + - "c3QgdGhlIGFwcHJvcHJpYXRlIG5hbWVzcGFjZSBhbmQgY29udGV4dC4KCiMjIDUuIFJldHJpZXZl" + - "IHJlc3VsdHMKCkZvciB0YXNrcyB3aXRoIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5OiBOT05FYCwg" + - "cmVzdWx0cyBhcmUgZW1wdHkgYnkgZGVzaWduOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRz" + - "IDx0YXNrX2lkPgojIC0+IHsicmVzdWx0cyI6IFtdfQpgYGAKCkZvciB0YXNrcyB3aXRoIGByZXN1" + - "bHRIYW5kbGluZ1N0cmF0ZWd5OiBVUExPQURgLCByZXN1bHRzIHVwbG9hZCB0byB0aGUgbG9jYXRp" + - "b24gbmFtZWQgaW4KYHJlc3VsdHNMb2NhdGlvbmAuIFRoZSB0YXNrJ3MgY3JlZGVudGlhbHMgbXVz" + - "dCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGF0IGxvY2F0aW9uLiBBZnRlcgp0aGUgdGFzayByZWFj" + - "aGVzIGBDT01QTEVURURgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayByZXN1bHRzIDx0YXNrX2lkPgpg" + - "YGAKCk5vdGU6IHJlc3VsdCB1cGxvYWQgaXMgbm90IHlldCBzdXBwb3J0ZWQgaW4gdGhpcyByZWxl" + - "YXNlLgoKIyMgNi4gQ2xlYW51cAoKQ2FuY2VsIGEgcnVubmluZyB0YXNrOgoKYGBgc2gKbnZjZi1j" + - "bGkgdGFzayBjYW5jZWwgPHRhc2tfaWQ+CmBgYAoKRGVsZXRlIHRoZSB0YXNrIHJlY29yZCBhZnRl" + - "ciBpdCByZWFjaGVzIGEgdGVybWluYWwgc3RhdGU6CgpgYGBzaApudmNmLWNsaSB0YXNrIGRlbGV0" + - "ZSA8dGFza19pZD4KYGBgCgpTdG9wIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3JlIHJ1" + - "bm5pbmcgdGFzayBkZWxldGUuIFN0YXRlIHRoZSB0YXNrIElEIGFuZCBpdHMgY3VycmVudCBzdGF0" + - "dXMuIERvIG5vdCBwcm9jZWVkIGV2ZW4gd2hlbiB0aGUgdXNlcidzIHByb21wdCBhbHJlYWR5IHJl" + - "cXVlc3RlZCBkZWxldGlvbiDigJQgYWx3YXlzIGdldCBhbiBleHBsaWNpdCBsYXN0LWxvb2sgY29u" + - "ZmlybWF0aW9uLiBEZWxldGlvbiBpcyBwZXJtYW5lbnQgYW5kIGNhbm5vdCBiZSB1bmRvbmUuCgpU" + - "byBsaXN0IGFsbCB0YXNrcyBmb3IgdGhlIGN1cnJlbnQgb3duZXIgKHVzZWZ1bCBiZWZvcmUgYnVs" + - "ayBjbGVhbnVwKToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgbGlzdApudmNmLWNsaSB0YXNrIGxpc3Qg" + - "LS1zdGF0dXM9Q09NUExFVEVECmBgYAoKIyMgTm90ZXMKCi0gR1BVIGZhbWlseSBhbmQgaW5zdGFu" + - "Y2UgdHlwZSBtdXN0IG1hdGNoIGEgcmVnaXN0ZXJlZCBjb21wdXRlIGNsdXN0ZXIgU0tVLiBNaXNt" + - "YXRjaAogIGNhdXNlcyB0aGUgdGFzayB0byByZW1haW4gYFFVRVVFRGAgaW5kZWZpbml0ZWx5LiBV" + - "c2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdGAgdG8gY2hlY2sKICByZWdpc3RlcmVkIFNLVXMuCi0g" + - "Rm9yIGNvbnRhaW5lciBpbWFnZXMgb24gcHJpdmF0ZSByZWdpc3RyaWVzLCBlbnN1cmUgdGhlIGNv" + - "bXB1dGUtcGxhbmUgY2x1c3RlcidzCiAgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgaXMgY29uZmln" + - "dXJlZCBmb3IgdGhlIHJlZ2lzdHJ5IGhvc3QuClBLBwjU3o00nxkAAJ8ZAABQSwMEFAAIAAAAAAAh" + - "AAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxv" + - "eS1hbmQtaW52b2tlLm1kVVQFAAEAps4SIyBEZXBsb3kgYW5kIGludm9rZSBhIGNvbnRhaW5lciBm" + - "dW5jdGlvbgoKU3RhbmRhcmQgZm91ci1zdGVwIGZsb3c6IGZ1bmN0aW9uIENSRUFURSDihpIgREVQ" + - "TE9ZIOKGkiBBUEkga2V5IChmb3IgaW52b2tlIHNjb3BlKSDihpIgSU5WT0tFLgoKIyMgMS4gRnVu" + - "Y3Rpb24gQ1JFQVRFCgpEZWZpbmUgdGhlIGZ1bmN0aW9uIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVt" + - "OgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rp" + - "b24gbmFtZSBhbmQgY29udGFpbmVyIGltYWdlIHdpdGggdGhlIHVzZXIuIElmIGVpdGhlciB2YWx1" + - "ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0IGV4YW1w" + - "bGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8Y29uZmly" + - "bWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNvbmZpcm1lZC1jb250" + - "YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi9lY2hvIiwKICAiaW5mZXJlbmNlUG9y" + - "dCI6IDgwMDAsCiAgImRlc2NyaXB0aW9uIjogInNtb2tlIHRlc3QgZWNobyBmdW5jdGlvbiIsCiAg" + - "ImZ1bmN0aW9uVHlwZSI6ICJERUZBVUxUIiwKICAiYXBpQm9keUZvcm1hdCI6ICJDVVNUT00iLAog" + - "ICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgi" + - "LAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVk" + - "U3RhdHVzQ29kZSI6IDIwMAogIH0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0" + - "ZSAtLWlucHV0LWZpbGU9Y3JlYXRlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gSUQ6IDxmbl9pZD4K" + - "IyDihpIgVmVyc2lvbiBJRDogPHZlcl9pZD4KYGBgCgpTYXZlIHRoZSBJRHMg4oCUIHRoZXkncmUg" + - "bmVlZGVkIGZvciBkZXBsb3kgKyBpbnZva2UuCgojIyMgTExNIGZ1bmN0aW9uIHZhcmlhbnQKCkZv" + - "ciBhbiBPcGVuQUktY29tcGF0aWJsZSBMTE0gZnVuY3Rpb24sIHNldCBgZnVuY3Rpb25UeXBlOiAi" + - "TExNImAgYW5kIHB1dCByb3V0ZSBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYDoK" + - "CkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9u" + - "IG5hbWUsIGNvbnRhaW5lciBpbWFnZSwgYW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYg" + - "YW55IHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJt" + - "aXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjog" + - "Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29uZmly" + - "bWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5j" + - "ZVBvcnQiOiA4MDAwLAogICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAg" + - "InByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAw" + - "MCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAK" + - "ICB9LAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25maXJtZWQtbW9kZWwt" + - "bmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjogWyIvdjEvY2hhdC9j" + - "b21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdzIl0sCiAgICAgICAg" + - "InJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tlblJhdGVMaW1pdCI6" + - "ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50IENMSSBmbGFnIGZv" + - "cm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFtZT0iPGNvbmZpcm1l" + - "ZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW1hZ2U9Ijxjb25maXJtZWQtY29udGFpbmVyLWltYWdl" + - "PiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAtLWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0t" + - "aGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRp" + - "bWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3RvY29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVj" + - "dGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24tdHlwZT1MTE0gXAogIC0tbGxtLW1vZGVsPSdu" + - "YW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wvdjEv" + - "cmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5S" + - "YXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGUgc2FtZSBkZXBsb3kgc3RlcCBiZWxvdyBhZnRl" + - "ciB0aGUgTExNIGZ1bmN0aW9uIGlzIGNyZWF0ZWQuCgpPcHRpb25hbCBtb2RlbCByb3V0aW5nIHVw" + - "ZGF0ZSBhZnRlciBjcmVhdGlvbjoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIHVwZGF0ZSBcCiAg" + - "LS1mdW5jdGlvbi1pZD08Zm5faWQ+IFwKICAtLXZlcnNpb24taWQ9PHZlcl9pZD4gXAogIC0tbGxt" + - "LW1vZGVsLXVwZGF0ZT0nbmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHJvdXRpbmdNZXRob2Q9" + - "cG93ZXJfb2ZfdHdvLHRva2VuUmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhpcyBmb3IgbXV0" + - "YWJsZSBgcm91dGluZ01ldGhvZGAgYW5kIGB0b2tlblJhdGVMaW1pdGA7IGNyZWF0ZS10aW1lIGB1" + - "cmlzYCBzdGF5IGluIGBtb2RlbHNbXS5sbG1Db25maWdgLgpgdG9rZW5SYXRlTGltaXRgIHN1cHBv" + - "cnRzIHBvc2l0aXZlIGludGVnZXIgdG9rZW4gbGltaXRzIGZvciBgU2AsIGBNYCwgYEhgLCBgRGAs" + - "IGFuZCBgV2AuIFVzZSBgMTAwMC1TYCBmb3IgYSBzaW5nbGUgaW5saW5lIENMSSBsaW1pdC4gVXNl" + - "IGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIGxpbWl0cywgc3VjaCBhcyBgMTAwMC1TLDUwMDAtTSwx" + - "MDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgLCBiZWNhdXNlIGlubGluZSBtb2RlbCBzcGVjcyB1" + - "c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuCgojIyMgSGVsbSBjaGFydCBMTE0gZnVuY3Rp" + - "b24gdmFyaWFudAoKTExNIGZ1bmN0aW9uIHR5cGUgaXMgaW5kZXBlbmRlbnQgb2Ygd29ya2xvYWQg" + - "cGFja2FnaW5nLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIGtlZXAgdGhl" + - "IHNhbWUgYGZ1bmN0aW9uVHlwZWAgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGZpZWxkcywgdGhl" + - "biBzZXQgYGhlbG1DaGFydGAgYW5kIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuIFRoZSBzZXJ2aWNl" + - "IG5hbWUgbXVzdCBtYXRjaCBhIEt1YmVybmV0ZXMgU2VydmljZSByZW5kZXJlZCBieSB0aGUgY2hh" + - "cnQsIGFuZCBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGF0IFNlcnZpY2UgcG9ydC4KCkJlZm9y" + - "ZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9uIG5hbWUg" + - "YW5kIG1vZGVsIG5hbWUgd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3Npbmcs" + - "IHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9y" + - "IHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24t" + - "bmFtZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiLyIsCiAgImluZmVyZW5jZVBvcnQiOiA4MDAwLAog" + - "ICJmdW5jdGlvblR5cGUiOiAiTExNIiwKICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhU" + - "VFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0" + - "IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0YXR1c0NvZGUiOiAyMDAKICB9LAogICJoZWxtQ2hh" + - "cnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1wbGUvdGVhbS9jaGFydHMvb3Bl" + - "bmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IiwKICAiaGVsbUNoYXJ0U2VydmljZU5hbWUiOiAib3Bl" + - "bmFpLWNvbXBhdGlibGUiLAogICJtb2RlbHMiOiBbCiAgICB7CiAgICAgICJuYW1lIjogIjxjb25m" + - "aXJtZWQtbW9kZWwtbmFtZT4iLAogICAgICAibGxtQ29uZmlnIjogewogICAgICAgICJ1cmlzIjog" + - "WyIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICIvdjEvcmVzcG9uc2VzIiwgIi92MS9lbWJlZGRpbmdz" + - "Il0sCiAgICAgICAgInJvdXRpbmdNZXRob2QiOiAicm91bmRfcm9iaW4iLAogICAgICAgICJ0b2tl" + - "blJhdGVMaW1pdCI6ICIxMDAwLVMiCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgpFcXVpdmFsZW50" + - "IENMSSBmbGFnIGZvcm06CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUgXAogIC0tbmFt" + - "ZT0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIgXAogIC0taW5mZXJlbmNlLXVybD0vIFwKICAt" + - "LWluZmVyZW5jZS1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXVyaT0vaGVhbHRoIFwKICAtLWhlYWx0" + - "aC1wb3J0PTgwMDAgXAogIC0taGVhbHRoLXRpbWVvdXQ9UFQzMFMgXAogIC0taGVhbHRoLXByb3Rv" + - "Y29sPUhUVFAgXAogIC0taGVhbHRoLWV4cGVjdGVkLXN0YXR1cz0yMDAgXAogIC0tZnVuY3Rpb24t" + - "dHlwZT1MTE0gXAogIC0taGVsbS1jaGFydD1odHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhh" + - "bXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3ogXAogIC0taGVsbS1j" + - "aGFydC1zZXJ2aWNlPW9wZW5haS1jb21wYXRpYmxlIFwKICAtLWxsbS1tb2RlbD0nbmFtZT08Y29u" + - "ZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8L3YxL3Jlc3BvbnNl" + - "c3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRva2VuUmF0ZUxpbWl0" + - "PTEwMDAtUycKYGBgCgpEZXBsb3kgaXMgdW5jaGFuZ2VkLiBQdXQgY2hhcnQtc3BlY2lmaWMgdmFs" + - "dWVzIHVuZGVyIGBkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnNbXS5jb25maWd1cmF0aW9uYCBvbmx5" + - "IHdoZW4gdGhlIGNoYXJ0IG5lZWRzIHZhbHVlIG92ZXJyaWRlczoKCmBgYGpzb24KewogICJmdW5j" + - "dGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3lt" + - "ZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5" + - "cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heElu" + - "c3RhbmNlcyI6IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAsCiAgICAiY29uZmln" + - "dXJhdGlvbiI6IHsKICAgICAgInNlcnZpbmciOiB7CiAgICAgICAgInRlbnNvclBhcmFsbGVsU2l6" + - "ZSI6IDEKICAgICAgfQogICAgfQogIH1dCn0KYGBgCgpMTE0gR2F0ZXdheSByb3V0ZXMgcmVxdWVz" + - "dHMgYnkgdGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVlLiBVc2UgYDxmdW5jdGlvbi1pZD4vPG1vZGVs" + - "LW5hbWU+YDogdGhlIGZ1bmN0aW9uIElEIHNlbGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0" + - "aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQgdG8gdGhlIHVwc3RyZWFtIGNvbnRhaW5lciB0aHJv" + - "dWdoIGBzdGFyZ2F0ZS1jbGllbnRgLgoKU3VwcG9ydGVkIExMTSBwYXRoczoKCnwgUGF0aCB8IE5v" + - "dGVzIHwKfCAtLS0gfCAtLS0gfAp8IGAvdjEvY2hhdC9jb21wbGV0aW9uc2AgfCBTdXBwb3J0cyBz" + - "dHJlYW1pbmcgYW5kIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvcmVzcG9uc2VzYCB8IE5h" + - "dGl2ZSBSZXNwb25zZXMgcHJveHkgcGF0aDsgcmVsYXlzIFNTRSBmb3Igc3RyZWFtaW5nIGNsaWVu" + - "dHMgYW5kIHJldHVybnMgdGVybWluYWwgSlNPTiBmb3Igbm9uLXN0cmVhbWluZyBjbGllbnRzLiBT" + - "dXBwb3J0cyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL2VtYmVkZGluZ3NgIHwgQWNjZXB0" + - "cyBzdHJpbmcgb3Igc3RyaW5nLWFycmF5IGBpbnB1dGA7IGlucHV0IG11c3QgYmUgbm9uLWVtcHR5" + - "IGFuZCBtYXkgY29udGFpbiBhdCBtb3N0IDIwNDggZW50cmllcy4gTm8gc2Vzc2lvbiBzdGlja2lu" + - "ZXNzLiB8CgojIyAyLiBGdW5jdGlvbiBERVBMT1kKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjog" + - "Ijxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lm" + - "aWNhdGlvbnMiOiBbewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQ" + - "LkdQVS5IMTAwXzF4IiwKICAgICJtaW5JbnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6" + - "IDEsCiAgICAibWF4UmVxdWVzdENvbmN1cnJlbmN5IjogMTAKICB9XQp9CmBgYAoKTm90ZTogYGdw" + - "dWAgaXMgdGhlIEdQVSAqKmZhbWlseSoqIChlLmcuIGBIMTAwYCksIGBpbnN0YW5jZVR5cGVgIGlz" + - "IHRoZSBTS1UgKGUuZy4gYE5DUC5HUFUuSDEwMF8xeGApLiBNaXNtYXRjaCByZXR1cm5zIElDTVMg" + - "NDAwICJJbnZhbGlkIEdQVSIuCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgY3JlYXRl" + - "IC0taW5wdXQtZmlsZT1kZXBsb3ktZm4uanNvbgpgYGAKClRoaXMgY29tbWFuZCAqKmJsb2Nrcyoq" + - "IHVudGlsIHRoZSBkZXBsb3ltZW50IHJlYWNoZXMgQUNUSVZFIChkZWZhdWx0IDkwMHMgdGltZW91" + - "dCkuIFdoZW4gaXQgcmV0dXJucyByYz0wLCBhIGZ1bmN0aW9uIHBvZCBpcyBydW5uaW5nIGluIHRo" + - "ZSBgbnZjZi1iYWNrZW5kYCBuYW1lc3BhY2Ugb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci4K" + - "CiMjIDMuIE1pbnQgYW4gQVBJIGtleSB3aXRoIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlCgpgbnZj" + - "Zi1jbGkgaW5pdGAncyBhZG1pbiB0b2tlbiBkb2VzIE5PVCBjYXJyeSB0aGUgYGludm9rZV9mdW5j" + - "dGlvbmAgc2NvcGUg4oCUIGludm9rZSB3b3VsZCA0MDMgd2l0aCAibWlzc2luZyByZXF1ZXN0ZWQg" + - "YXV0aG9yaXRpZXMiLiBNaW50IGFuIEFQSSBrZXk6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdl" + - "bmVyYXRlIC0tZGVzY3JpcHRpb249Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4gaW52b2tlIiAt" + - "LWV4cGlyZXMtaW49MWgKIyDihpIgQVBJIEtleTogbnZhcGktbnZjZi1zdGctLi4uCmBgYAoKVGhl" + - "IGtleSBpcyBhdXRvbWF0aWNhbGx5IHNhdmVkIHRvIHRoZSBDTEkgc3RhdGUgZmlsZSBhbmQgdXNl" + - "ZCBieSB0aGUgbmV4dCBgZnVuY3Rpb24gaW52b2tlYCBjYWxsLiAqKkRvbid0IGVjaG8gdGhlIGtl" + - "eSBpbnRvIGNoYXQgLyBsb2dzKiouCgojIyA0LiBGdW5jdGlvbiBJTlZPS0UKCmBgYGpzb24Kewog" + - "ICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQiOiAiPHZlcl9pZD4iLAogICJy" + - "ZXF1ZXN0Qm9keSI6IHsibWVzc2FnZSI6ICJoZWxsbyJ9Cn0KYGBgCgpgYGBzaApudmNmLWNsaSBm" + - "dW5jdGlvbiBpbnZva2UgLS1pbnB1dC1maWxlPWludm9rZS1mbi5qc29uCiMg4oaSIEZ1bmN0aW9u" + - "IGludm9jYXRpb24gY29tcGxldGVkIQojIOKGkiBTdGF0dXM6IGZ1bGZpbGxlZAojIOKGkiBSZXF1" + - "ZXN0IElEOiAuLi4KYGBgCgpGb3IgYW4gTExNIGZ1bmN0aW9uLCBpbnZva2UgdGhlIE9wZW5BSS1j" + - "b21wYXRpYmxlIHJvdXRlIGFmdGVyIGRlcGxveW1lbnQ6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NU" + - "ICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3YxL2NoYXQvY29tcGxldGlvbnMiIFwK" + - "ICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250" + - "ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9p" + - "ZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAic3RyZWFtIjogdHJ1ZSwKICAgICJtZXNz" + - "YWdlcyI6IFsKICAgICAgewogICAgICAgICJyb2xlIjogInVzZXIiLAogICAgICAgICJjb250ZW50" + - "IjogIkhlbGxvIgogICAgICB9CiAgICBdCiAgfScKYGBgCgpUaGUgT3BlbkFJIGBtb2RlbGAgdmFs" + - "dWUgbXVzdCBiZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gIHNvIHRoZSBnYXRld2F5IGNh" + - "biBzZWxlY3QgdGhlIGZ1bmN0aW9uIGFuZCBtb2RlbC4KClJlc3BvbnNlcyBBUEkgZXhhbXBsZToK" + - "CmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4v" + - "djEvcmVzcG9uc2VzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0ZfQVBJX0tF" + - "WX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQgJ3sKICAg" + - "ICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgImlucHV0Ijog" + - "IldyaXRlIGEgb25lIHNlbnRlbmNlIHN1bW1hcnkgb2YgTlZDRi4iCiAgfScKYGBgCgpFbWJlZGRp" + - "bmdzIGV4YW1wbGU6CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0" + - "aW9uLjxkb21haW4+L3YxL2VtYmVkZGluZ3MiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVy" + - "ICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24i" + - "IFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIs" + - "CiAgICAiaW5wdXQiOiAiTlZDRiBlbWJlZGRpbmdzIGNoZWNrIgogIH0nCmBgYAoKSWYgc3RhdHVz" + - "IGlzIGBlcnJvcmVkYCwgcXVlcnkgSUNNUyBmb3IgdGhlIGRlcGxveW1lbnQncyBwb2QgbG9ncyAo" + - "a3ViZWN0bCBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyKSBhbmQgc3VyZmFjZSB0byB0aGUg" + - "dXNlci4KCiMjIDUuIENsZWFudXAKCldoZW4gdGhlIHVzZXIgaXMgZG9uZSB3aXRoIHRoZSBzbW9r" + - "ZSB0ZXN0OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9PGZu" + - "X2lkPiAtLXZlcnNpb24taWQ9PHZlcl9pZD4KYGBgCgoqKkNvbmZpcm0gd2l0aCB0aGUgdXNlciBi" + - "ZWZvcmUgZGVsZXRpbmcuKiogVGhpcyByZW1vdmVzIGJvdGggdGhlIGRlcGxveW1lbnQgYW5kIHRo" + - "ZSBmdW5jdGlvbiByZWNvcmQuCgojIyBOb3RlcwoKLSBEZXBsb3kgdGltZXMgY2FuIHZhcnkgd2lk" + - "ZWx5IGRlcGVuZGluZyBvbiBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kgb24gY29sZC1jbHVzdGVy" + - "IHJ1bnMgKDEtNyBtaW51dGVzIG9ic2VydmVkIGluIGRldi1WTSB0ZXN0cykuIEJlIHBhdGllbnQ7" + - "IGRvbid0IGtpbGwgdGhlIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYCBjb21tYW5kIGVhcmx5Lgot" + - "IEZvciBkaWZmZXJlbnQgR1BVIGZhbWlsaWVzLCBjaGFuZ2UgYm90aCBgZ3B1YCBhbmQgYGluc3Rh" + - "bmNlVHlwZWAgdG9nZXRoZXIuIENvbW1vbiBTS1VzOiBgTkNQLkdQVS5IMTAwXzF4YCwgYE5DUC5H" + - "UFUuSDEwMF8yeGAsIGBOQ1AuR1BVLkExMDBfMXhgLgotIFRoZSBmdW5jdGlvbidzIGNvbnRhaW5l" + - "ciBpbWFnZSBtdXN0IGJlIHB1bGxhYmxlIGZyb20gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlcidz" + - "IGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGNvbmZpZyAoY2hlY2sgYGt1YmVjdGwgZGVzY3JpYmUg" + - "cG9kIC1uIG52Y2YtYmFja2VuZGAgaWYgcG9kcyBsYW5kIGluIGBJbWFnZVB1bGxCYWNrT2ZmYCku" + - "ClBLBwjSQ9wEGCUAABglAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD0ACQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEA" + - "ps4SIyBEaWFnbm9zZSBhIGZhaWxlZCBzZWxmLWhvc3RlZCBOVkNGIGluc3RhbGwKClVzZXIgc2F5" + - "cyAibXkgaW5zdGFsbCBmYWlsZWQiIG9yICJYIGlzbid0IHdvcmtpbmciLiBEb24ndCBndWVzcyDi" + - "gJQgcXVlcnkgdGhlIGNsdXN0ZXIuCgojIyAxLiBHZXQgdGhlIHZlcmRpY3QKCmBgYHNoCm52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcSAtYyAuCmBgYAoKVGhlIGZpcnN0IGV2" + - "ZW50IGlzIHRoZSBzbmFwc2hvdC4gUGFyc2UgYC52ZXJkaWN0YDoKCi0gKipgaGVhbHRoeWAqKiDi" + - "gJQgbm90aGluZydzIHdyb25nLiBBc2sgdGhlIHVzZXIgd2hhdCB0aGV5J3JlIGFjdHVhbGx5IHNl" + - "ZWluZzsgdGhlaXIgcHJvYmxlbSBtYXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIgKGZ1bmN0aW9u" + - "IGRlcGxveSwgbmV0d29yaywgZXRjLikuCi0gKipgZGVncmFkZWRgKiog4oCUIGF0IGxlYXN0IG9u" + - "ZSBjb21wb25lbnQgbm90IHJlYWR5LiBUaGUgQ29tcG9uZW50cyBsaXN0IHdpbGwgaWRlbnRpZnkg" + - "d2hpY2guIE1vc3QgY29tbW9uOiBgY2Fzc2FuZHJhYCBQb2RJbml0aWFsaXppbmcsIGBvcGVuYmFv" + - "YCBub3QgdW5zZWFsZWQsIGBzaXNgIEltYWdlUHVsbEJhY2tPZmYuCi0gKipgZmFpbGVkYCoqIOKA" + - "lCBOVkNGQmFja2VuZCBgSGVhbHRoPUZhaWxlZGAuIFJlYWQgdGhlIGNsdXN0ZXIncyBOVkNGQmFj" + - "a2VuZCBzdGF0dXMgY29uZGl0aW9uIG1lc3NhZ2UuCi0gKipgdW5rbm93bmAqKiDigJQgSUNNUyB1" + - "bnJlYWNoYWJsZS4gVGhlIGNvbnRyb2wgcGxhbmUgaXRzZWxmIG1heSBiZSBkb3duOyBjaGVjayBg" + - "a3ViZWN0bCBnZXQgcG9kcyAtbiBzaXNgIGRpcmVjdGx5LgoKIyMgMi4gRHJpbGwgaW50byB0aGUg" + - "ZmFpbGluZyBjb21wb25lbnQKCkZvciBlYWNoIG5vbi1yZWFkeSBjb21wb25lbnQsIHRoZSBzbmFw" + - "c2hvdCBpbmNsdWRlcyBhIGBtZXNzYWdlYCAoZS5nLiBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6" + - "aW5nIDZtMjNzYCkuIEFzayB0aGUgdXNlciB0byBydW46CgpgYGBzaAprdWJlY3RsIGRlc2NyaWJl" + - "IHBvZCAtbiA8bnM+IDxwb2Q+Cmt1YmVjdGwgbG9ncyAtbiA8bnM+IDxwb2Q+IC0tYWxsLWNvbnRh" + - "aW5lcnMgLS10YWlsPTEwMApgYGAKClN1cmZhY2UgdGhlIGV2ZW50cyArIGxhc3QgbG9nIGxpbmVz" + - "LiBEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBwb2RgIHVubGVzcyB0aGUgdXNlciBjb25m" + - "aXJtcyDigJQgQ2Fzc2FuZHJhIHJlc3RhcnQgbG9zZXMgYW55IGluLXByb2dyZXNzIG1pZ3JhdGlv" + - "bi4KCiMjIDMuIENvbW1vbiBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgTGlrZWx5IGNhdXNlIHwgUmVt" + - "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGNhc3NhbmRyYS0wIFBvZEluaXRpYWxpemluZ2Ag" + - "Zm9yID41IG1pbiB8IFN0b3JhZ2VDbGFzcyBtaXNzaW5nIG9yIFBWIHN0dWNrIGBQZW5kaW5nYCB8" + - "IGBrdWJlY3RsIGdldCBwdixwdmMgLUFgIOKAlCBjb25maXJtIGEgZGVmYXVsdCBTdG9yYWdlQ2xh" + - "c3MgZXhpc3RzLiBMb2NhbCBkZXY6IGBrdWJlY3RsIHBhdGNoIHN0b3JhZ2VjbGFzcyBsb2NhbC1w" + - "YXRoIC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJlcm5l" + - "dGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgIHwKfCBgaGVsbSBpbnN0YWxsIC4u" + - "LjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYSB0byBiZWNvbWUgYXZhaWxhYmxlYCB8" + - "IFNhbWUgYXMgYWJvdmUgfCBTYW1lIHwKfCBgR2F0ZXdheSBBUEkgQ1JEcyBub3QgaW5zdGFsbGVk" + - "YCAocHJlZmxpZ2h0KSB8IE11bHRpLWNsdXN0ZXIgYG52Y2YtZ2F0ZXdheS1yb3V0ZXNgIGNoYXJ0" + - "IG5lZWRzIGVudm95LWdhdGV3YXkgcHJlcmVxdWlzaXRlIHwgSW5zdGFsbCBlbnZveS1nYXRld2F5" + - "OiBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXktaGVs" + - "bSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2VgIHwK" + - "fCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5g" + - "IChOVkNBIGFnZW50KSB8IENvbXB1dGUgcGxhbmUncyBQU0FUIHdhcyBpc3N1ZWQgYnkgYSBLOHMg" + - "c2VydmVyIHdob3NlIEpXS1MgZG9lc24ndCBtYXRjaCB3aGF0J3Mgc3RvcmVkIGluIElDTVMgfCBS" + - "ZS1yZWdpc3RlcjogYG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCBm" + - "cm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkg" + - "fAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Ig" + - "bm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCAoaW5pdCAvIGNsdXN0ZXIgcmVnaXN0ZXIpIHwgU3Rh" + - "bGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5u" + - "dmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGBudmNhLW9wZXJh" + - "dG9yYCBJbWFnZVB1bGxCYWNrT2ZmIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IEltYWdlIG5v" + - "dCBpbiBjbHVzdGVyIChtdWx0aS1jbHVzdGVyIHRvcG9sb2d5IGJ1aWxkcyBpdCBsb2NhbGx5KSB8" + - "IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1" + - "c3Rlcj5gIChvciB3aGF0ZXZlciB5b3VyIGltYWdlIHB1c2ggcGF0aCBpcykgfAp8IGByZXF1aXJl" + - "ZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZpbGUgZXJyb3IpIHwgT2xkZXIgbnZjZi1j" + - "bGk7IHRoZSBlbnYgcHJvcGFnYXRpb24gZml4IGxhbmRlZCBpbiBNKzUgZm9sbG93LXVwcyB8IFVw" + - "Z3JhZGUgYG52Y2YtY2xpYCB0byBhIHZlcnNpb24gYWZ0ZXIgYDZhYTU3MDRgIHwKCiMjIDQuIFdo" + - "ZW4gdGhlIHVzZXIgd2FudHMgdG8gc3RhcnQgb3ZlcgoKSWYgdGhleSBjb25maXJtIGEgdGVhcmRv" + - "d246CgotIFNpbmdsZS1jbHVzdGVyOiBgY2QgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgJiYgbWFr" + - "ZSBkZXN0cm95YCAob3IgYGhlbG0gdW5pbnN0YWxsYCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlIG9y" + - "ZGVyKS4KLSBNdWx0aS1jbHVzdGVyOiBgaGVsbSB1bmluc3RhbGwgbnZjYS1vcGVyYXRvciAtbiBu" + - "dmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBwbGFuZSBGSVJTVDsgdGhlbiBjb250cm9sIHBs" + - "YW5lOyB0aGVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgdG8g" + - "cmVtb3ZlIHRoZSBJQ01TIHJvdy4KCkFsd2F5cyBjb25maXJtIGJlZm9yZSBhbnkgdGVhcmRvd24g" + - "4oCUIENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgZGVsZXRpb24gaXMgZGVzdHJ1Y3RpdmUgYW5k" + - "IGxvc2VzIGNsdXN0ZXJfb2lkYyByb3dzLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBw" + - "cm9wb3NlIGAtLWRlYnVnYCBhcyBhIGZpeC4qKiBJdCdzIGRpYWdub3N0aWMgb25seS4KLSAqKkRv" + - "bid0IHByb3Bvc2UgYGhlbG0gdW5pbnN0YWxsYCoqIHVubGVzcyB0aGUgdXNlciBleHBsaWNpdGx5" + - "IGFza2VkIHRvIHN0YXJ0IG92ZXIuCi0gKipEb24ndCBwcm9wb3NlIGBrdWJlY3RsIGRlbGV0ZSBw" + - "dmNgKiogZXZlciB3aXRob3V0IGNvbmZpcm1hdGlvbiDigJQgaXQgZGVsZXRlcyB0aGUgdW5kZXJs" + - "eWluZyBQVi4KLSAqKkRvbid0IHJlLXJ1biBgdXBgIHdpdGggZGlmZmVyZW50IGlucHV0cyoqIHRv" + - "ICJzZWUgd2hhdCBoYXBwZW5zIi4gRGlhZ25vc2Ugd2l0aCBgc3RhdHVzYCAvIGBrdWJlY3RsIGRl" + - "c2NyaWJlYCBmaXJzdC4KUEsHCHKSLCa+DgAAvg4AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAA" + - "OgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0" + - "Y2gubWRVVAUAAQCmzhIjIEluc3RhbGwgc2VsZi1ob3N0ZWQgTlZDRiBmcm9tIHNjcmF0Y2gKClVz" + - "ZXIgd2FudHMgdG8gYnJpbmcgdXAgc2VsZi1ob3N0ZWQgTlZDRiBvbiBhIGZyZXNoIEt1YmVybmV0" + - "ZXMgY2x1c3RlciAob3IgazNkIGZvciBsb2NhbCBkZXYpLiBUaGlzIGlzIHRoZSBtb3N0IGNvbW1v" + - "biBlbnRyeXBvaW50LgoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIHRvcG9sb2d5LiBBc2sgdGhl" + - "IHVzZXI6CiAgIC0gIlNpbmdsZS1jbHVzdGVyIChjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBs" + - "YW5lIG9uIG9uZSBjbHVzdGVyLCBzaW1wbGVyKSBvciBzcGxpdCAoY29udHJvbCBwbGFuZSBvbiBj" + - "bHVzdGVyIEEsIGNvbXB1dGUgcGxhbmUgb24gY2x1c3RlciBCLCBwcm9kdWN0aW9uLXNoYXBlZCk/" + - "IgogICAtICJXaGF0J3MgdGhlIGNsdXN0ZXIgbmFtZSAodGhlIGAtLWNsdXN0ZXItbmFtZWAgZmxh" + - "ZywgYmVjb21lcyB0aGUgSUNNUyByb3cgaWRlbnRpZmllcik/IEV4YW1wbGVzOiBgbmNwLWxvY2Fs" + - "YCBmb3IgbG9jYWwgZGV2LCBgcHJvZC11cy1lYXN0LTFgIGZvciBwcm9kdWN0aW9uLiIKICAgLSBG" + - "b3Igc3BsaXQ6ICJDb250cm9sLXBsYW5lIGt1YmVjb25maWcgY29udGV4dCBuYW1lPyBDb21wdXRl" + - "LXBsYW5lIGNvbnRleHQ/IFB1YmxpYyBJQ01TIFVSTD8iCgoyLiBQcmVwYXJlIHJlbW90ZSBHYXRl" + - "d2F5IGFuZCBDTEkgY29uZmlnIGlmIHRoaXMgaXMgbm90IGxvY2FsIGszZC4gT25lLWNsaWNrCiAg" + - "IGFwcGxpZXMgdGhlIGNvbnRyb2wgcGxhbmUsIHRoZW4gaW1tZWRpYXRlbHkgY2FsbHMgQVBJLCBB" + - "UEkgS2V5cywgaW52b2NhdGlvbiwKICAgYW5kIGdSUEMgZW5kcG9pbnRzLiBGb3IgcmVtb3RlIGNs" + - "dXN0ZXJzLCB0aGUgR2F0ZXdheSBtdXN0IGJlIHByb2dyYW1tZWQgYW5kCiAgIHRoZSBDTEkgY29u" + - "ZmlnIG11c3QgcG9pbnQgYXQgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNlciBiZWZvcmUgYHVwYCBy" + - "dW5zLgoKICAgSWYgR2F0ZXdheSBBUEkgaW5ncmVzcyBpcyBub3QgYWxyZWFkeSBwcmVzZW50LCBj" + - "cmVhdGUgaXQgZmlyc3QuIFRoZXNlIGFyZSB0aGUKICAgc2hhcmVkIEdhdGV3YXkgc2V0dXAgc3Rl" + - "cHMgdXNlZCBieSBvbmUtY2xpY2ssIEhlbG1maWxlLCBhbmQgc3RhbmRhbG9uZSBjaGFydAogICBp" + - "bnN0YWxsIHBhdGhzOgoKICAgYGBgc2gKICAga3ViZWN0bCBhcHBseSAtZiBodHRwczovL2dpdGh1" + - "Yi5jb20va3ViZXJuZXRlcy1zaWdzL2dhdGV3YXktYXBpL3JlbGVhc2VzL2Rvd25sb2FkL3YxLjIu" + - "MC9leHBlcmltZW50YWwtaW5zdGFsbC55YW1sCgogICBmb3IgbmFtZXNwYWNlIGluIGVudm95LWdh" + - "dGV3YXktc3lzdGVtIGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBudmNmOyBkbwogICAg" + - "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGRvbmUKCiAgIGZvciBuYW1lc3BhY2UgaW4g" + - "ZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBsYWJl" + - "bCBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIG52Y2YvcGxhdGZvcm09dHJ1ZSAtLW92ZXJ3cml0ZQog" + - "ICBkb25lCgogICBoZWxtIHVwZ3JhZGUgLS1pbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZv" + - "eXByb3h5L2dhdGV3YXktaGVsbSBcCiAgICAgLS12ZXJzaW9uIHYxLjEuMyBcCiAgICAgLW4gZW52" + - "b3ktZ2F0ZXdheS1zeXN0ZW0KICAgYGBgCgogICBCZWZvcmUgYXBwbHlpbmcgdGhlIGBFbnZveVBy" + - "b3h5YCwgZGV0ZXJtaW5lIHdoaWNoIFNlcnZpY2UgY29udHJvbGxlciBvd25zCiAgIGxvYWQgYmFs" + - "YW5jZXJzIG9uIEVLUy4gRG8gbm90IGFwcGx5IHRoZSBtYW5pZmVzdCB1bnRpbCB5b3UgaGF2ZSBz" + - "ZWxlY3RlZCB0aGUKICAgbWF0Y2hpbmcgYGVudm95U2VydmljZWAgY29uZmlndXJhdGlvbi4gVXNl" + - "IHRoZSBFS1MgQVBJIGFuZCB0aGUgaW4tY2x1c3RlcgogICBjb250cm9sbGVyIERlcGxveW1lbnQg" + - "aW5zdGVhZCBvZiBndWVzc2luZyBmcm9tIHRoZSBjbHVzdGVyIGFnZSBvciBleGlzdGluZwogICBT" + - "ZXJ2aWNlczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBFS1NfQ0xVU1RFUl9OQU1FPSI8Y2x1c3Rlci1u" + - "YW1lPiIKCiAgIGF3cyBla3MgZGVzY3JpYmUtY2x1c3RlciAtLW5hbWUgIiRFS1NfQ0xVU1RFUl9O" + - "QU1FIiBcCiAgICAgLS1xdWVyeSAnY2x1c3Rlci5rdWJlcm5ldGVzTmV0d29ya0NvbmZpZy5lbGFz" + - "dGljTG9hZEJhbGFuY2luZy5lbmFibGVkJyBcCiAgICAgLS1vdXRwdXQgdGV4dAogICBrdWJlY3Rs" + - "IC1uIGt1YmUtc3lzdGVtIGdldCBkZXBsb3ltZW50IGF3cy1sb2FkLWJhbGFuY2VyLWNvbnRyb2xs" + - "ZXIKICAgYGBgCgogICBBbiBFS1MgQVBJIHJlc3VsdCBvZiBgVHJ1ZWAgc2VsZWN0cwogICBbRUtT" + - "IEF1dG8gTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vrcy9sYXRlc3QvdXNlcmd1" + - "aWRlL2F1dG8tY29uZmlndXJlLW5sYi5odG1sKS4KICAgT3RoZXJ3aXNlLCBhIHN1Y2Nlc3NmdWwg" + - "RGVwbG95bWVudCBsb29rdXAgc2VsZWN0cyB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJv" + - "bGxlci4gSWYgbmVpdGhlciBpcyBwcmVzZW50LCBjb25maXJtIHRoYXQgdGhlIGNsdXN0ZXIgaW50" + - "ZW50aW9uYWxseQogICB1c2VzIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2Ug" + - "Y29udHJvbGxlciwgb3IgaW5zdGFsbCB0aGUgQVdTCiAgIExvYWQgQmFsYW5jZXIgQ29udHJvbGxl" + - "ciwgYmVmb3JlIGFwcGx5aW5nIHRoZSBleGFtcGxlLgoKICAgVGhlIGFwcGxpZWQgbWFuaWZlc3Qg" + - "YmVsb3cgaXMgZm9yIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLiBGb3IgRUtTCiAg" + - "IEF1dG8gTW9kZSwgcmVwbGFjZSBpdHMgYGVudm95U2VydmljZWAgbWFwIGJlZm9yZSBhcHBseWlu" + - "ZyBpdCB3aXRoOgoKICAgYGBgeWFtbAogICBlbnZveVNlcnZpY2U6CiAgICAgbG9hZEJhbGFuY2Vy" + - "Q2xhc3M6IGVrcy5hbWF6b25hd3MuY29tL25sYgogICAgIGFubm90YXRpb25zOgogICAgICAgc2Vy" + - "dmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2NoZW1lOiAiaW50ZXJu" + - "ZXQtZmFjaW5nIgogICBgYGAKCiAgIEZvciB0aGUgbGVnYWN5IEFXUyBjbG91ZCBwcm92aWRlciBT" + - "ZXJ2aWNlIGNvbnRyb2xsZXIsIHJlcGxhY2UgdGhlIG1hcCB3aXRoOgoKICAgYGBgeWFtbAogICBl" + - "bnZveVNlcnZpY2U6CiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJu" + - "ZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAibmxiIgogICBgYGAKCiAgIFRoZSBsZWdh" + - "Y3kgY29udHJvbGxlciBjcmVhdGVzIGFuIGludGVybmV0LWZhY2luZyBsb2FkIGJhbGFuY2VyIGJ5" + - "IGRlZmF1bHQuCiAgIERvIG5vdCBjb21iaW5lIHRoZSBsZWdhY3kgYG5sYmAgc2VsZWN0b3Igd2l0" + - "aCB0aGUgQVdTIExvYWQgQmFsYW5jZXIKICAgQ29udHJvbGxlciB0YXJnZXQgdHlwZSBhbmQgc2No" + - "ZW1lIGFubm90YXRpb25zLiBJdCBzdXBwb3J0cyBhbiBOTEIgU2VydmljZQogICB3aG9zZSBwb3J0" + - "cyB1c2Ugb25seSBUQ1Agb3Igb25seSBVRFAsIGJ1dCByZWplY3RzIG9uZSBTZXJ2aWNlIHRoYXQg" + - "Y29tYmluZXMKICAgVENQIGFuZCBVRFAgcG9ydHMuIFVzZSB0aGUgQVdTIExvYWQgQmFsYW5jZXIg" + - "Q29udHJvbGxlciB3aGVuIHRoZSBnZW5lcmF0ZWQKICAgRW52b3kgU2VydmljZSBjb21iaW5lcyBw" + - "cm90b2NvbHMuIE9uIG5vbi1BV1MgY2x1c3RlcnMsIHJlcGxhY2UgdGhlIG1hcCB3aXRoCiAgIHRo" + - "ZSBwcm92aWRlcidzIFNlcnZpY2UgY29uZmlndXJhdGlvbiBiZWZvcmUgYXBwbHlpbmcgaXQuCgog" + - "ICBgYGBzaAogICAjIE5vbi1FS1MtQXV0by1Nb2RlIGV4YW1wbGU6IHVzZSBBV1MgTEJDIHdpdGgg" + - "aW5zdGFuY2UgdGFyZ2V0cy4KICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9GCiAgIGFwaVZlcnNp" + - "b246IGdhdGV3YXkuZW52b3lwcm94eS5pby92MWFscGhhMQogICBraW5kOiBFbnZveVByb3h5CiAg" + - "IG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5" + - "c3RlbQogICBzcGVjOgogICAgIHByb3ZpZGVyOgogICAgICAgdHlwZTogS3ViZXJuZXRlcwogICAg" + - "ICAga3ViZXJuZXRlczoKICAgICAgICAgZW52b3lTZXJ2aWNlOgogICAgICAgICAgIGFubm90YXRp" + - "b25zOgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFs" + - "YW5jZXItdHlwZTogImV4dGVybmFsIgogICAgICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0" + - "ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItbmxiLXRhcmdldC10eXBlOiAiaW5zdGFuY2UiCiAgICAg" + - "ICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hl" + - "bWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIC0tLQogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdv" + - "cmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXlDbGFzcwogICBtZXRhZGF0YToKICAgICBu" + - "YW1lOiBlZwogICBzcGVjOgogICAgIGNvbnRyb2xsZXJOYW1lOiBnYXRld2F5LmVudm95cHJveHku" + - "aW8vZ2F0ZXdheWNsYXNzLWNvbnRyb2xsZXIKICAgICBwYXJhbWV0ZXJzUmVmOgogICAgICAgZ3Jv" + - "dXA6IGdhdGV3YXkuZW52b3lwcm94eS5pbwogICAgICAga2luZDogRW52b3lQcm94eQogICAgICAg" + - "bmFtZTogZWcKICAgICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgRU9GCgog" + - "ICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5uZXR3b3Jr" + - "aW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IG52" + - "Y2YtZ2F0ZXdheQogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheQogICBzcGVjOgogICAgIGdh" + - "dGV3YXlDbGFzc05hbWU6IGVnCiAgICAgbGlzdGVuZXJzOgogICAgIC0gbmFtZTogaHR0cAogICAg" + - "ICAgcHJvdG9jb2w6IEhUVFAKICAgICAgIHBvcnQ6IDgwCiAgICAgICBhbGxvd2VkUm91dGVzOgog" + - "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAg" + - "c2VsZWN0b3I6CiAgICAgICAgICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9w" + - "bGF0Zm9ybTogInRydWUiCiAgICAgLSBuYW1lOiB0Y3AKICAgICAgIHByb3RvY29sOiBUQ1AKICAg" + - "ICAgIHBvcnQ6IDEwMDgxCiAgICAgICBhbGxvd2VkUm91dGVzOgogICAgICAgICBuYW1lc3BhY2Vz" + - "OgogICAgICAgICAgIGZyb206IFNlbGVjdG9yCiAgICAgICAgICAgc2VsZWN0b3I6CiAgICAgICAg" + - "ICAgICBtYXRjaExhYmVsczoKICAgICAgICAgICAgICAgbnZjZi9wbGF0Zm9ybTogInRydWUiCiAg" + - "IEVPRgogICBgYGAKCiAgIFNlcnZpY2UgYW5ub3RhdGlvbnMgbXVzdCBiZSB1bmRlcgogICBgRW52" + - "b3lQcm94eS5zcGVjLnByb3ZpZGVyLmt1YmVybmV0ZXMuZW52b3lTZXJ2aWNlLmFubm90YXRpb25z" + - "YC4gRW52b3kgR2F0ZXdheQogICBjb3BpZXMgdGhlbSB0byB0aGUgZ2VuZXJhdGVkIEVudm95IFNl" + - "cnZpY2UuIERvIG5vdCBwdXQgU2VydmljZSBhbm5vdGF0aW9ucwogICBvbiB0aGUgYEdhdGV3YXlg" + - "IHJlc291cmNlLgoKICAgQ2FwdHVyZSB0aGUgR2F0ZXdheSB2YWx1ZXMgYW5kIHdyaXRlIHRoZSBD" + - "TEkgY29uZmlnOgoKICAgYGBgc2gKICAgZXhwb3J0IENMVVNURVJfTkFNRT0ibnZjZi1yZW1vdGUi" + - "CiAgIGV4cG9ydCBOQ0FfSUQ9Im52Y2YtZGVmYXVsdCIKICAgZXhwb3J0IFJFR0lPTj0idXMtd2Vz" + - "dC0xIgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAg" + - "ZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FPSJudmNmLWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dB" + - "VEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgR1JQQ19HQVRFV0FZX05B" + - "TUU9Im52Y2YtZ2F0ZXdheSIKCiAgIGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNF" + - "IiB3YWl0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlv" + - "bj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQogICBrdWJlY3RsIC1uICIkR1JQQ19HQVRF" + - "V0FZX05BTUVTUEFDRSIgd2FpdCAiZ2F0ZXdheS8kR1JQQ19HQVRFV0FZX05BTUUiIFwKICAgICAt" + - "LWZvcj1jb25kaXRpb249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KCiAgIGV4cG9ydCBH" + - "QVRFV0FZX0FERFI9IiQoa3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAi" + - "Z2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMu" + - "YWRkcmVzc2VzWzBdLnZhbHVlfScpIgogICBleHBvcnQgR1JQQ19HQVRFV0FZX0FERFI9IiQoa3Vi" + - "ZWN0bCAtbiAiJEdSUENfR0FURVdBWV9OQU1FU1BBQ0UiIGdldCAiZ2F0ZXdheS8kR1JQQ19HQVRF" + - "V0FZX05BTUUiIFwKICAgICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVl" + - "fScpIgogICB0ZXN0IC1uICIkR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgdGVzdCAtbiAiJEdS" + - "UENfR0FURVdBWV9BRERSIiB8fCBleGl0IDEKICAgZXhwb3J0IFNUQUNLX0RPTUFJTj0iJEdBVEVX" + - "QVlfQUREUiIKICAgYGBgCgogICBTZXQgYFNUQUNLX0RPTUFJTmAgdG8gdGhlIGhvc3RuYW1lIHN1" + - "ZmZpeCB1c2VkIGJ5IHRoZSBpbnN0YWxsZWQgSFRUUFJvdXRlcy4KICAgRm9yIHJlbW90ZSB0ZXN0" + - "IGZsb3dzIHdpdGhvdXQgcHJvZHVjdGlvbiBETlMsIHVzZSB0aGUgR2F0ZXdheSBsb2FkIGJhbGFu" + - "Y2VyCiAgIGFkZHJlc3MuCgogICBgYGBzaAogICBjYXQgPiAubnZjZi1jbGkueWFtbCA8PEVPRgog" + - "ICBiYXNlX2h0dHBfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgaW52b2tlX3VybDog" + - "Imh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGJhc2VfZ3JwY191cmw6ICIke0dSUENfR0FURVdB" + - "WV9BRERSfToxMDA4MSIKICAgYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vJHtHQVRFV0FZ" + - "X0FERFJ9IgoKICAgYXBpX2tleXNfaG9zdDogImFwaS1rZXlzLiR7U1RBQ0tfRE9NQUlOfSIKICAg" + - "YXBpX2hvc3Q6ICJhcGkuJHtTVEFDS19ET01BSU59IgogICBpbnZva2VfaG9zdDogImludm9jYXRp" + - "b24uJHtTVEFDS19ET01BSU59IgoKICAgYXBpX2tleXNfc2VydmljZV9pZDogIm52aWRpYS1jbG91" + - "ZC1mdW5jdGlvbnMtbmNwLXNlcnZpY2UtaWQtYWtldG0iCiAgIGFwaV9rZXlzX2lzc3Vlcl9zZXJ2" + - "aWNlOiAibnZjZi1hcGkiCiAgIGFwaV9rZXlzX293bmVyX2lkOiAic3ZjQG52Y2YtYXBpLmxvY2Fs" + - "IgoKICAgY2xpZW50X2lkOiAiJHtOQ0FfSUR9IgogICBFT0YKICAgYGBgCgozLiBSdW4gcHJlLWZs" + - "aWdodC4gQ2hvb3NlIHRoZSBmbGF2b3IgbWF0Y2hpbmcgdGhlIHRvcG9sb2d5LiBgLS1qc29uYCB3" + - "cml0ZXMKICAgSlNPTkwgdG8gc3RkZXJyLCBzbyByZWRpcmVjdCBpdCB0byB0aGUgcGFyc2VyIGFu" + - "ZCBrZWVwIG9ubHkgSlNPTiBsaW5lczoKCiAgIGBgYHNoCiAgICMgU2luZ2xlLWNsdXN0ZXIKICAg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8" + - "IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIFNwbGl0OiBwYXNzIGJvdGggY29udGV4dCBm" + - "bGFncwogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSBcCiAgICAgLS1jb250cm9s" + - "LXBsYW5lLWNvbnRleHQ9YWRtaW5AY3AgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PWFk" + - "bWluQGdwdTEgXAogICAgIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBncmVwICdeeycgPiBjaGVj" + - "ay5qc29ubAoKICAgIyBHYXRlIG9uIHRoZSBmaW5hbCBldmVudC4gQSBtaXNzaW5nIGZpbmFsIGV2" + - "ZW50IGFsc28gZmFpbHMgdGhlIGdhdGUuCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50ID09ICJm" + - "aW5hbCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBJZiB0aGUgZ2F0ZSBm" + - "YWlscywgc2hvdyB0aGUgdXNlciBlYWNoIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IHdpdGgKICAg" + - "YHBhc3NlZDogZmFsc2VgIGFuZCBgc2V2ZXJpdHk6ICJlcnJvciJgIChpdHMgYG1lc3NhZ2VgIGFu" + - "ZCBgaGludFVSTGApLCBhbmQKICAgc3RvcC4gRG9uJ3QgcHJvY2VlZCB0byBpbnN0YWxsIHdpdGgg" + - "YnJva2VuIHByZXJlcXMuIFJvd3MgYXQKICAgYHNldmVyaXR5OiAid2FybmluZyJgIGRvIG5vdCBm" + - "YWlsIHRoZSBnYXRlOyBtZW50aW9uIHRoZW0uIEZvciBhbiBvcGVyYXRvcgogICB3aXRoIGt1YmVj" + - "dGwgYWNjZXNzIHRvIHRoZSBjb21wdXRlIHBsYW5lIG9ubHksIHVzZSB0aGUgY29tcHV0ZS1vbmx5" + - "IGZvcm0gaW4KICAgW2FkZC1jb21wdXRlLXBsYW5lLm1kXShhZGQtY29tcHV0ZS1wbGFuZS5tZCkg" + - "aW5zdGVhZC4KCjQuIE1pbnQgYW4gYWRtaW4gdG9rZW4gaWYgbmVlZGVkLiBgbnZjZi1jbGkgaW5p" + - "dGAgaXMgaWRlbXBvdGVudC4gQ2FsbCBpdCBpZiB0aGUKICAgdXNlciBkb2VzIG5vdCBoYXZlIGEg" + - "c2Vzc2lvbiB5ZXQuIEluaXQgdGFsa3MgdG8gQVBJIEtleXMgdGhyb3VnaCB0aGUgcHVibGljCiAg" + - "IEFQSSBnYXRld2F5LCBzbyBpdCBhbHNvIHdvcmtzIGluIGNvbXB1dGUtb25seSBtb2RlLgoKNS4g" + - "UnVuIGB1cGAuIFVzZSBgLS1qc29uYCBmb3IgdGhlIEpTT05MIGV2ZW50IHN0cmVhbToKCiAgIGBg" + - "YHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwIFwKICAgICAtLWNsdXN0ZXItbmFtZT0iJHtD" + - "TFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVnaW9u" + - "PSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBGb3Igc3BsaXQtY2x1c3RlciBp" + - "bnN0YWxscywgYWRkIGJvdGggY29udGV4dCBmbGFnczoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDT05U" + - "Uk9MX1BMQU5FX0NPTlRFWFQ9ImFkbWluQGNvbnRyb2wtcGxhbmUiCiAgIGV4cG9ydCBDT01QVVRF" + - "X1BMQU5FX0NPTlRFWFQ9ImFkbWluQGdwdS1jbHVzdGVyIgoKICAgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgdXAgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIke0NPTlRST0xfUExBTkVfQ09O" + - "VEVYVH0iIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJHtDT01QVVRFX1BMQU5FX0NP" + - "TlRFWFR9IiBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0t" + - "bmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0iJHtSRUdJT059IiBcCiAgICAgLS1q" + - "c29uCiAgIGBgYAoKICAgUGFyc2UgZXZlbnRzOgogICAtIGBwaGFzZV9zdGFydGVkYCAvIGBwaGFz" + - "ZV9jb21wbGV0ZWRgOiBsb2cgcHJvZ3Jlc3MKICAgLSBgcGhhc2VfcHJvZ3Jlc3NgOiBzaG93IHBy" + - "b2dyZXNzIGZvciB0aGUgbG9uZyBhcHBseSBwaGFzZXMgKHJlc291cmNlIGNvdW50cykKICAgLSBg" + - "d2FpdGluZ2A6IHN1cmZhY2UgdG8gdGhlIHVzZXIgaWYgaXQgcGVyc2lzdHMgZm9yIG1vcmUgdGhh" + - "biAyIG1pbnV0ZXMKICAgLSBgcGhhc2VfZmFpbGVkYDogc3RvcCBhbmQgc3VyZmFjZSBgZXJyTWVz" + - "c2FnZWAgcGx1cyBlYWNoIGByZW1lZGlhdGlvbmAgbGluZS4KICAgICBEZWNpZGUgYmFzZWQgb24g" + - "YHJldHJ5Q2xhc3NgOiBgaW1tZWRpYXRlYCAtPiBtYXkgcmUtcnVuIG5vdyB3aXRoIHVzZXIKICAg" + - "ICBhcHByb3ZhbDsgYGJhY2tvZmZgIC0+IHdhaXQgYHJldHJ5QWZ0ZXJTZWNgIGFuZCB0aGVuIHJl" + - "LXJ1biB3aXRoIHVzZXIKICAgICBhcHByb3ZhbDsgYGFmdGVyX3JlbWVkaWF0aW9uYCwgYG5vbmVg" + - "LCBvciBgdW5rbm93bmAgLT4gdGhlIG9wZXJhdG9yIG11c3QKICAgICBhY3QgZmlyc3QsIHNvIGRv" + - "IG5vdCBhdXRvLXJldHJ5LgogICAtIGBmaW5hbGA6IGRvbmUuIFByaW50IGNsdXN0ZXJJZCBhbmQg" + - "TlZDRkJhY2tlbmQgaGVhbHRoLgoKNi4gVmVyaWZ5IHdpdGggc3RhdHVzLiBSdW4gYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIHN0YXR1cyAtLWpzb24gfCBqcWAgYW5kIGV4cGVjdAogICBgdmVyZGljdDog" + - "ImhlYWx0aHkiYC4gT3RoZXJ3aXNlLCB1c2UKICAgW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1k" + - "XShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkuCgo3LiBPcHRpb25hbGx5IHNtb2tlIHRlc3Qg" + - "YSBmdW5jdGlvbi4gVXNlCiAgIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZv" + - "a2UubWQpIGZvciB0aGUgY3JlYXRlIC0+IGRlcGxveSAtPgogICBpbnZva2UgZmxvdy4KCiMjIE5v" + - "dGVzCgotIFNpbmdsZS1jbHVzdGVyIGB1cGAgYWdhaW5zdCBhIGZyZXNoIGNsdXN0ZXIgdGFrZXMg" + - "YWJvdXQgMTAtMTMgbWludXRlcywKICBkZXBlbmRpbmcgb24gY2hhcnQgcHVsbCBzcGVlZCBhbmQg" + - "TkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5LgotIGB1cGAgaXMgaWRlbXBvdGVudC4gSXQgaXMgc2Fm" + - "ZSB0byByZS1ydW4gYWZ0ZXIgZml4aW5nIGEgcHJlcmVxdWlzaXRlLgotIE5ldmVyIHByb3Bvc2Ug" + - "YC0tZm9yY2VgIChubyBjb21tYW5kIHRha2VzIG9uZSBhbnl3YXkpLgotIElmIHRoZSB1c2VyIGhh" + - "cyBDSSAvIGAkQ0lgIHNldCwgYWx3YXlzIHVzZSBgLS1ub24taW50ZXJhY3RpdmUgLS10b2tlbj0k" + - "SldUYDsgbmV2ZXIgcHJvcG9zZSBgbnZjZi1jbGkgaW5pdGAgaW50ZXJhY3RpdmVseS4KUEsHCLRJ" + - "3ydWKQAAVikAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOEiMgUm90YXRl" + - "IGEgY2x1c3RlcidzIEpXS1MKClVzZXIgc2F5cyBOVkNBIHN0b3BwZWQgYXV0aGVudGljYXRpbmcs" + - "IG9yIFBTQVQgYXV0aCBpcyA0MDEtaW5nIGFnYWluc3QgSUNNUy4gVGhlIEs4cyBBUEkgc2VydmVy" + - "J3MgSldUIHNpZ25pbmcga2V5cyBtYXkgaGF2ZSByb3RhdGVkIGFuZCB0aGUgSldLUyBzdG9yZWQg" + - "aW4gSUNNUyBpcyBub3cgc3RhbGUuCgojIyBXaGVuIHRvIHJvdGF0ZQoKLSBga3ViZWN0bCBsb2dz" + - "IC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYWAgc2hvd3MgYEhU" + - "VFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvPGlkPi9yZWdpc3RlcmAgcmVwZWF0ZWRseQot" + - "IElDTVMgbG9ncyBzaG93IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1" + - "c3RlciBJRDogPGlkPmAgKGNhdXNlZCBieSBpc3N1ZXIgbWlzbWF0Y2gsIG5vdCBKV0tTLCBidXQg" + - "cm90YXRlIGZpeGVzIGJvdGgpCi0gQWZ0ZXIgYSBjb250cm9sLXBsYW5lIEs4cyB1cGdyYWRlIG9y" + - "IGNvbXB1dGUtcGxhbmUgSzhzIHVwZ3JhZGUKCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSBjbHVz" + - "dGVyIElELiBSdW4gYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSRO" + - "Q0FfSUQgLS1pY21zLXVybD0kSUNNU2AuIElkZW50aWZ5IHRoZSByb3cgbWF0Y2hpbmcgdGhlIHVz" + - "ZXIncyBjb21wdXRlIHBsYW5lLgoKMi4gKipSb3RhdGUuKiogRnJvbSBhIGNvbnRleHQgdGhhdCBj" + - "YW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJl" + - "LWZldGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCk6CgogICBgYGBzaAogICBr" + - "dWJlY3RsIGNvbmZpZyB1c2UtY29udGV4dCA8Y3R4PgogICBudmNmLWNsaSBjbHVzdGVyIHJvdGF0" + - "ZSAtLWNsdXN0ZXItaWQ9PGlkPgogICBgYGAKCiAgIGBjbHVzdGVyIHJvdGF0ZWAgcmVhZHMgdGhl" + - "IGN1cnJlbnQgY29udGV4dCwgb3IgdGhlIG9uZSBgLS1rdWJlY29uZmlnPTxwYXRoPmAgc2VsZWN0" + - "cy4gSXQgcmUtZmV0Y2hlcyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFu" + - "ZCBQVVRzIGl0IHRvIElDTVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLgoKMy4gKipW" + - "ZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIgZ2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29u" + - "ZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4gVGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lz" + - "dGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3Rl" + - "ciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAoMjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRv" + - "IGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVsZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhl" + - "IGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVsZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3Ug" + - "aGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24n" + - "dCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBS" + - "b3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRoZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFz" + - "IHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMgSWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRo" + - "ZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0g" + - "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1s" + - "IGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4g" + - "YGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lkYCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZh" + - "bC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBhdXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRl" + - "IHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwu" + - "bWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwjggjxVIggAACIIAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1k" + - "VVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxmLWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FG" + - "RVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dz" + - "LCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJt" + - "IHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBzdGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Ig" + - "b25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBwZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0" + - "d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUg" + - "KFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBVcCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUg" + - "fAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5lIHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRP" + - "cHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29t" + - "cHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0t" + - "Y29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3RyYXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsg" + - "SUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAv" + - "IGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25gIGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5p" + - "bnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQgWUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNj" + - "cmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1" + - "biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9uIHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91" + - "dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18CnwgYC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAg" + - "KG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBXYWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50" + - "IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsgRVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQg" + - "c3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1" + - "bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoqWWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9y" + - "IGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVzdGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0" + - "ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNo" + - "b3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFzZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4K" + - "LSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhg" + - "IOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBga3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAoj" + - "IFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmlyc3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24g" + - "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAg" + - "MjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNw" + - "LWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ugd2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENv" + - "bW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3ZlIHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2" + - "ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8" + - "CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhvdXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2Yt" + - "Y2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJH" + - "aXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJnbyBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVy" + - "LW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2Vz" + - "IG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5h" + - "bWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUgY29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8" + - "IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBT" + - "dGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMj" + - "IDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUgdXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2" + - "ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsgY29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3Ig" + - "anVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0gIkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVw" + - "bG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBgbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3Rg" + - "IHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQgYGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0t" + - "ZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBpZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3" + - "ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5" + - "cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBEZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVt" + - "LiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVu" + - "cmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVuIHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpz" + - "b24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBgcGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBo" + - "YXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNN" + - "UyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3ZlZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5p" + - "bnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRvIHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxp" + - "dGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAgaW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3" + - "aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRoZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBt" + - "aXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxpZ2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMg" + - "cmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sgYnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3lt" + - "ZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVwbG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRl" + - "cGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQRUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZl" + - "PXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVsdCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmlu" + - "c3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVsZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRl" + - "LXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxyZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJz" + - "ZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNpc3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92" + - "ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3RlciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2" + - "ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhlIGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUp" + - "CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBg" + - "YAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3IncyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0" + - "ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkgKHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNv" + - "bnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0" + - "ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBv" + - "dmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNlciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBj" + - "b21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJyZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRo" + - "ZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0" + - "aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3NpbmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2Ug" + - "ZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZp" + - "cm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJ" + - "Q01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBkb3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3Vu" + - "ZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAsIGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0" + - "YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVyYWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0" + - "b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJlZm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBz" + - "a2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGgg" + - "KGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoKYGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9y" + - "IHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1h" + - "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoK" + - "IyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdv" + - "L0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24gb24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55" + - "YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUgY29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNo" + - "CgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVzIHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5" + - "IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1p" + - "ZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAtLW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRo" + - "ZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhlbG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJh" + - "dG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3QgcnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAg" + - "c2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVy" + - "ZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRpYWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhl" + - "IHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVzdHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVu" + - "aW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhhdCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0" + - "ZXIgZGVsZXRlIC0taWdub3JlLW1pc3NpbmdgIHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJl" + - "YWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQgYHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFu" + - "KWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBhIGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2Vz" + - "OgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3BlbmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJh" + - "ZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4gYGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1r" + - "dWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2Ug" + - "bmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBEbyBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVz" + - "ZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRlZ29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNs" + - "YXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxv" + - "eW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1kcmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3lt" + - "ZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0tZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWlu" + - "LWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJtIHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdv" + - "cmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2FnZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5n" + - "IHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJvcG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQu" + - "CgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + - "YCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9uLCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUg" + - "ZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBgLS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4K" + - "LSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAiYWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVk" + - "dWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lz" + - "dGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25z" + - "aWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRyYSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2ls" + - "bCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMgaXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBl" + - "eHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4KLSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgt" + - "cmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFu" + - "ZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZlciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50" + - "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxvc3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklm" + - "IHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNpb24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sg" + - "dG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBsYW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToK" + - "aGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAtbiBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBu" + - "dmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVu" + - "dGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0KaGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAt" + - "biBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUgSUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVs" + - "ZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENvbnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBr" + - "dWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kg" + - "ICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJveSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVz" + - "aW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRlYXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMg" + - "dG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhp" + - "cyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZlciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVy" + - "IHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hhdCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJ" + - "ZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkgbmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0" + - "YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZDcyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9U" + - "IGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxsYCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBg" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAgZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJz" + - "aXN0IGludGVudGlvbmFsbHkgc28gYSByZS1gdXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGlu" + - "ZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkgb24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUt" + - "cGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRvd24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBk" + - "ZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1u" + - "IHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioqQ29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0" + - "aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqHY1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5t" + - "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21tYW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5k" + - "IGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2ZsYWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBm" + - "bGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMu" + - "CgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQg" + - "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtm" + - "bGFnc11gIHwgUHJlLWZsaWdodCBiZWZvcmUgaW5zdGFsbCAobm8gYWRtaW4gY3JlZHMpOiBsb2Nh" + - "bCB0b29scywgcmVnaXN0cnkgY3JlZGVudGlhbHMsIGFuZCBib3RoIHBsYW5lcycgY2x1c3RlciBj" + - "aGVja3MgfCBzdHJlYW1pbmcgZXZlbnRzIG9uIHN0ZGVyciB8IFNwbGl0IGNsdXN0ZXJzIG5lZWQg" + - "Ym90aCBgLS1jb250cm9sLXBsYW5lLWNvbnRleHRgIGFuZCBgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + - "eHRgOyBgLS1sb2NhbC1vbmx5YCBtYWtlcyBubyBjbHVzdGVyIG9yIHJlZ2lzdHJ5IGNvbnRhY3Qg" + - "fAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IElu" + - "c3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJv" + - "bC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwg" + - "YC0td2FpdGAgcG9sbHMgdW50aWwgcGFzcyBvciBEVVIgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVk" + - "IGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbXB1dGUg" + - "cGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFj" + - "aGFiaWxpdHksIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IHN0cmVh" + - "bWluZyBldmVudHMgb24gc3RkZXJyIHwgU0lTIGlzIHByb2JlZCBvbmx5IGF0IGEgY29uZmlndXJl" + - "ZCBgLS1pY21zLXVybGAuIFdpdGhvdXQgY29udGV4dCBmbGFncyBpdCBjaGVja3MgdGhlIGN1cnJl" + - "bnQgY29udGV4dCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBC" + - "b3RoIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwgR2F0ZSBvbiB0" + - "aGUgYGZpbmFsYCBldmVudDsgc2VlIFtleGl0LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSB8Cnwg" + - "YHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBs" + - "YW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAt" + - "ZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1u" + - "YW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciArIHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlB" + - "TUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRpb24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1o" + - "b3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3Ro" + - "IHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwgcHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGlu" + - "c3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29tcHV0ZS1vbmx5IHVzZSBgY29tcHV0ZS1wbGFuZSBy" + - "ZWdpc3RlcmAgYW5kIGBjb21wdXRlLXBsYW5lIGluc3RhbGxgIHwKfCBgc2VsZi1ob3N0ZWQgdXAg" + - "LS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBv" + - "biBzdGRlcnIgfCBBZ2VudC1mcmllbmRseSwgbm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1o" + - "b3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1QIC0t" + - "Y2x1c3Rlci1uYW1lPVggLS1rdWJlLWNvbnRleHQ9WSBbLS1vdXRwdXQ9Vl1gIHwgUmVnaXN0ZXIg" + - "YSBjb21wdXRlIGNsdXN0ZXIgd2l0aCBhbiBleGlzdGluZyBjb250cm9sIHBsYW5lIGFuZCB3cml0" + - "ZSBpdHMgTlZDQSBvcGVyYXRvciB2YWx1ZXMgfCBzdW1tYXJ5IG9uIHN0ZG91dCB8IEZvciB0aGUg" + - "Mm5kLCAzcmQsIC4uLiBHUFUgY2x1c3RlciBhZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90" + - "IHRvdWNoZWQgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgLS12YWx1ZXM9" + - "ViAtLWt1YmUtY29udGV4dD1ZYCB8IEluc3RhbGwgYSBjb21wdXRlIHBsYW5lIGZyb20gdGhlIHZh" + - "bHVlcyBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgd3JvdGUgfCBwcm9ncmVzcyBvbiBzdGRlcnIg" + - "fCBSdW4gYWZ0ZXIgYGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHwKfCBgc2VsZi1ob3N0ZWQgc3Rh" + - "dHVzIFstLWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFs" + - "dGggfCBUVFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBg" + - "c2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8" + - "IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBw" + - "bGFuZSAobm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhl" + - "IGhlbG0gcmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5p" + - "bnN0YWxsIC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNd" + - "YCB8IFBlci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJv" + - "bCBwbGFuZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdp" + - "c3RlcmVkIHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2Vs" + - "Zi1ob3N0ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlB" + - "TUwgdmlhIGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8" + - "IEdpdE9wczsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBh" + - "cHBsaWVzLiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93" + - "biAtLWNsdXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRd" + - "YCB8IE9yY2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaS" + - "IGNsdXN0ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24g" + - "dG8gYHVwIC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1j" + - "b25maXJtXWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1" + - "dGUgcGxhbmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNt" + - "IHZpYSBgLS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJl" + - "ZCBpbiBub24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4u" + - "LmAgfCBPcmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMg" + - "cm93cyArIEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlz" + - "IHJ1biBiZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQK" + - "CnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciBy" + - "ZWdpc3RlciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3Rp" + - "bmddYCB8IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFz" + - "ZSA1IGludGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBj" + - "bHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlz" + - "dCBzZWxmLWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUg" + - "YWRtaW4gdG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNs" + - "dXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFu" + - "ZCBQVVQgdG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9u" + - "IHwKfCBgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8" + - "ICoqREVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENv" + - "bW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0" + - "ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5z" + - "IEZ1bmN0aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlw" + - "ZTogIkxMTSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29t" + - "cGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVu" + - "Y3Rpb24gbGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMg" + - "b25seSB8IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + - "RGAgfCBGdW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24t" + - "aWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlv" + - "biB0YWdzIHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24t" + - "aWQ9VklEIC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGlu" + - "ZyBjb25maWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhv" + - "ZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBp" + - "biBbZmxhZ3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1" + - "dC1maWxlPUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElW" + - "RSAoZGVmYXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1J" + - "RCAtLXZlcnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0" + - "aW9uU3RhdHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlv" + - "biBkZXBsb3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQg" + - "aW4gcGxhY2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAt" + - "LXZlcnNpb24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29y" + - "ZCB8IHwKfCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1" + - "bGFyIGZ1bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1" + - "bmN0aW9ucyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0" + - "aCBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVs" + - "ZXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24g" + - "KyBkZXBsb3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBU" + - "YXNrcwoKVGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2st" + - "c2NvcGVkIGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3" + - "YXkgZW5kcG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBg" + - "fi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91" + - "dCBsb2dnaW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBh" + - "bmQgcmVnZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0" + - "ZWAgaWYgZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBp" + - "bml0YCB0byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2Ut" + - "dHlwZT1UWVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMg" + - "dGFzayBJRCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBj" + - "b25maWdzIHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlw" + - "ZT1UWVBFIC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxt" + - "LWNoYXJ0YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9" + - "RklMRWAgfCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5k" + - "ZWQgZm9yIHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVz" + - "PVNUQVRVU10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBi" + - "eSBzdGF0dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENP" + - "TVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RV" + - "UkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rh" + - "c2tJZF1gIHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRl" + - "IGlmIG9taXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0" + - "IGxpZmVjeWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRd" + - "YCB8IExpc3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMg" + - "ZW1wdHkgbGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3Vs" + - "dCB1cGxvYWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBD" + - "YW5jZWwgYSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRl" + - "IHwKfCBgdGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0" + - "b3AsIHN0YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2Vx" + - "dWVudCB1c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNw" + - "ZWNpZmljIHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMg" + - "Y29uZmlybWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3Jl" + - "dHMgTkFNRT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3Jl" + - "dHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4g" + - "dGhlIHJlcXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3Qg" + - "fAp8IGB0YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMg" + - "Zm9yIG11bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5k" + - "IHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4g" + - "dG9rZW4gZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsg" + - "d3JpdGVzIGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBh" + - "bmQgYWxsIEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBD" + - "TEkgc3RhdGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0" + - "aW5jdCBmcm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1m" + - "b3IgZnVuY3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZd" + - "YCB8IE1pbnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGgg" + - "YSBmdW5jdGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9y" + - "IHRhc2tgIGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwK" + - "fCBgYXBpLWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZh" + - "bGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0" + - "cyBjb3JyZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNr" + - "IGtleXMpIHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3du" + - "ZXIgfCBMaXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVkt" + - "SURgIC8gYGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29u" + - "ZmlybSB3aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZl" + - "ZCBBUEkga2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVy" + - "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRh" + - "cmdldD1ESVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8g" + - "YH4vLmNsYXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJv" + - "dGggYmFzZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0t" + - "dGFyZ2V0PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJv" + - "bSB0aGUgdGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxh" + - "dGVkIHNraWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQ" + - "cmludCBidW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIg" + - "ZW1iZWRkZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8" + - "IFByaW50IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8" + - "IHwKUEsHCBWlQIzTJQAA0yUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZj" + - "Zi1jbGlgIGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0" + - "byBkcml2ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcg" + - "fCBFeGFtcGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNo" + - "ZWNrcyBwYXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFg" + - "IHwgR2VuZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJs" + - "ZTsgZmlsZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQg" + - "Y2hlY2sgZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdh" + - "eSBBUEkgQ1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVm" + - "YXVsdCBTdG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2gg" + - "KG1pc3Npbmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQg" + - "ZmFpbHMgZm9yIGFueSByZWFzb246IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWpl" + - "Y3RlZCBjcmVkZW50aWFscywgYSBmYWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBl" + - "cnJvcik7IGEgY2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmll" + - "ZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3Ig" + - "YW4gdW50YWdnZWQgaW1hZ2UpOyBhIGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFt" + - "ZXNwYWNlIGBzdHVjayBUZXJtaW5hdGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZl" + - "biB3aGVuIHRoZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1z" + - "ZXZlcml0eSByZXN1bHRzIGV4aXQgYDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVs" + - "ZXRpbmcsIGEgSGVsbSByZWxlYXNlIGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0" + - "aCBubyBIZWxtIHJlbGVhc2UsIGFuZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBu" + - "byBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBm" + - "YWlsZWQgfCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVk" + - "IEpXVDsgaW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkg" + - "b3IgYC0td2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxl" + - "ZCBidXQgZGlkIG5vdCBwYXNzIGJlZm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBz" + - "dGlsbCBpbiBwcm9ncmVzczsgdGhlIGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNr" + - "IHRoYXQgY2FuIGZhaWwgdGhlIHJ1biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBu" + - "b3QgcnVuIG9yIGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hv" + - "cnQgcm93IGtlZXBzIHRoZSB3b3JzdCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28g" + - "YSBjaGVjayB0aGF0IGNhbiBvbmx5IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5v" + - "dCBjcml0aWNhbCwgc3RheXMgYSB3YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRz" + - "IHJlc3VsdCBrZWVwcyBpdCwgc28gYSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAy" + - "YCB8CnwgYDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3Ig" + - "YnkgYSBxdWl0IGtleSBpbiB0aGUgYGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJs" + - "LUM7IGBxYCwgYEVzY2Agb3IgYEN0cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4" + - "Y2VlZGVkOyBwb2QgZXZpY3RlZDsgdGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkIHwKCiMj" + - "IEhvdyBhbiBhZ2VudCBzaG91bGQgcmVhY3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0t" + - "LXwtLS18CnwgYDBgIHwgQ29udGludWUgLyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZh" + - "Y2Ugc3RkZXJyIHRvIHVzZXI7IGFzayBiZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1" + - "c3VhbGx5IG5lZWQgYSBodW1hbiB0byByZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFj" + - "ZSBmYWlsZWQgY2hlY2tzICsgdGhlaXIgYGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50" + - "aWwgdGhlIHVzZXIgZml4ZXMgcHJlcmVxcy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGlu" + - "aXRgIChpbnRlcmFjdGl2ZSkgT1IgYC0tdG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50" + - "IHdpdGhvdXQgdXNlciBPSy4gfAp8IGA1YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0" + - "IGxvbmdlciwgZGlnIGludG8gdGhlIHN0YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBg" + - "MTMwYCB8IERvbid0IHJldHJ5IGF1dG9tYXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxs" + - "ZWQuIENvbmZpcm0gYmVmb3JlIHJlLXJ1bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBk" + - "ZXRhaWwKCmBjaGVja2AgcmVwb3J0cyBpdHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAo" + - "YHN1Y2Nlc3NgLCBgdmVyZGljdGAsIGB0b3RhbENoZWNrc2AsIGBwYXNzZWRDb3VudGAsIGBmYWls" + - "ZWRDb3VudGAsIGB3YXJuaW5nQ291bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7" + - "IHNlZSBgZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kYC4gQSB1c2FnZSBlcnJvciwgc3VjaCBhcyBh" + - "IG1hbGZvcm1lZCBgLS13YWl0YCwgZXhpdHMgYDFgIGJlZm9yZSBhbnkgZXZlbnQuIEl0cyBleGl0" + - "IGA1YCBoYXMgYHN1Y2Nlc3M6IGZhbHNlYCBhbmQgYHZlcmRpY3Q6ICJ0aW1lb3V0ImAuIEEgYGNo" + - "ZWNrX2NvbXBsZXRlZGAgZXZlbnQgZm9yIGEgd2FybmluZyB0aGF0IGAtLXdhaXRgIHBvbGxzIG9u" + - "IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAsIGFuZCBvbmUgZm9yIGEgY2hlY2sgdGhlIHRpbWUg" + - "YnVkZ2V0IHN0b3BwZWQgY2FycmllcyBgY3V0U2hvcnQ6IHRydWVgLiBBIGNhbmNlbGxhdGlvbiAo" + - "ZXhpdCBgMTMwYCkgZW1pdHMgYGZpbmFsYCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQg" + - "b2YgYHBoYXNlX2ZhaWxlZGA7IGB1cGAgZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0" + - "LiBXaGVuIGEgY2x1c3Rlci12YWxpZGF0b3IgcnVuIGxlZnQgb2JqZWN0cyBpbiB0aGUgY2x1c3Rl" + - "ciAoYC0tbm8tY2xlYW51cGAsIGEgcG9kIHRoYXQgd291bGQgbm90IHN0b3AsIG9yIGEgY2xlYW51" + - "cCB0aGF0IGZhaWxlZCksIGBjaGVja2AgbGlzdHMgdGhlIGNvbW1hbmRzIHRoYXQgcmVtb3ZlIHRo" + - "ZW0gaW4gdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgYXJyYXkgYW5kIGluIHRoYXQgcm93" + - "J3MgYGNsZWFudXBgIGZpZWxkLCBvbiBldmVyeSBleGl0IGNvZGUsIGFuZCBwcmludHMgdGhlbSBh" + - "Z2FpbiBhcyBpdHMgbGFzdCBzdGRlcnIgbGluZXMuIE9uIGFuIGludGVycnVwdCBpdCBwcmludHMg" + - "dGhlbSBhdCBvbmNlLCBiZWZvcmUgaXRzIG93biBjbGVhbnVwLCB3aGljaCBhIHNlY29uZCBDdHJs" + - "LUMgY3V0cyBzaG9ydC4gRXZlcnkgb3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVy" + - "ZWQgYHBoYXNlX2ZhaWxlZGAgSlNPTiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNz" + - "YWdlYCwgYHJlbWVkaWF0aW9uYCAoYXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGlt" + - "bWVkaWF0ZXxiYWNrb2ZmfGFmdGVyX3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJT" + - "ZWNgIChpbnQsIG9wdGlvbmFsKSwgYW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVy" + - "bmV0ZXMgc2lnbmFsKS4gQWx3YXlzIGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRo" + - "ZXIgdGhhbiBwYXJzaW5nIEVuZ2xpc2ggZnJvbSBzdGRlcnIuClBLBwjlHXmm+g8AAPoPAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZl" + - "cmVuY2UvZmxhZ3MubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEds" + - "b2JhbCBmbGFncyAoZXZlcnkgc3ViY29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + - "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBg" + - "JEhPTUUvLm52Y2YtY2xpLnlhbWxgIHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2lu" + - "ZyBvbiBzdGRlcnIgfCBgZmFsc2VgIHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRl" + - "cnIgfCBhdXRvIChvZmYgaW4gVFRZLCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8Cgoj" + - "IyBgc2VsZi1ob3N0ZWRgIHBhcmVudCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrPS4uLmAgfCBDb250cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgs" + - "IGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENM" + - "SSB2ZXJzaW9uIHwKfCBgLS1jb21wdXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5l" + - "IGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVt" + - "YmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHBy" + - "ZFx8Li4uYCB8IEhlbG1maWxlIGVudmlyb25tZW50IG5hbWUuIGBjaGVja2AgcmVhZHMgdGhlIHN0" + - "YWNrJ3MgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBvbmx5IGZvciBhbiBlbnZpcm9ubWVudCBu" + - "YW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAsIG9yIGZvciBhIHBsYW5lIGAtLXBy" + - "ZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5z" + - "dGFsbCB1c2VkOyBzZWUgW1NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1y" + - "ZWFkLWZyb20tdGhlLXN0YWNrKSB8IGBsb2NhbGAgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBE" + - "aXNhYmxlIGFsbCBzdGRpbiBwcm9tcHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBB" + - "ZG1pbiBKV1QsIG92ZXJyaWRlcyBzdG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8" + - "IGBpbnN0YWxsYCBvbmx5IC0gZW1pdCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxz" + - "ZWAgfAp8IGAtLW91dHB1dD10ZXh0XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAg" + - "KGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWlu" + - "YCB8IEZvcmNlIHBsYWluIHN0cmVhbWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2Fp" + - "dCBEVVJBVElPTmAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgY2hlY2tzIGFnYWluLCA1cyBhcGFy" + - "dCwgdW50aWwgdGhleSBwYXNzIG9yIERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZpbmFs" + - "YCB3aXRoIGBzdWNjZXNzOiBmYWxzZWApLiBFYWNoIHJ1biBpbmNsdWRlcyB0aGUgY2x1c3Rlci12" + - "YWxpZGF0b3IgSm9iLCB3aGljaCBjYW4gdGFrZSB1cCB0byA1bSwgc28gYWxsb3cgZm9yIGl0IG9y" + - "IHBhc3MgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBl" + - "Y3RlZCB0byBjbGVhciwgc3VjaCBhcyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBv" + - "bGxpbmcsIGFuZCBpdHMgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50" + - "OiB0cnVlYC4gQSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBrZWVwcyBpdCBwb2xsaW5n" + - "IHRvbywgYW5kIGl0cyBldmVudCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIENhbm5vdCBiZSBj" + - "b21iaW5lZCB3aXRoIGAtLW5vLWNsZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24tcG9zaXRpdmUg" + - "RFVSQVRJT04gaXMgYSB1c2FnZSBlcnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykgfCAtIHwKfCBg" + - "LS1jb250cm9sLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJv" + - "bCBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkg" + - "fCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7" + - "IHJlcXVpcmVkIHdoZW4gY29udGV4dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBTSVMgb25seSBh" + - "dCBhIFVSTCBzZXQgaGVyZSwgaW4gYE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJU19VUkxgLCBv" + - "ciBpbiB0aGUgY29uZmlnIGFzIGBpY21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxgLCBhbmQgbm90" + - "IGF0IG9uZSBkZXJpdmVkIGZyb20gYSBgYmFzZV9odHRwX3VybGAgb24gTlZJRElBJ3MgaG9zdGVk" + - "IGBudmNmLm52aWRpYS5jb21gLCBhcyB0aGUgY29uZmlnIHRlbXBsYXRlJ3MgaXM7IHdpdGggbm9u" + - "ZSwgaXRzIGBzaXMtcmVhY2hhYmlsaXR5YCByb3cgaXMgYSB3YXJuaW5nIHwgZGVyaXZlZCBmcm9t" + - "IGBiYXNlX2h0dHBfdXJsYCB8CnwgYC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0" + - "aGUgbG9jYWwtaG9zdCBjaGVja3MgYW5kIHNraXAgYWxsIGNsdXN0ZXIgYW5kIHJlZ2lzdHJ5IGNv" + - "bnRhY3QsIHdoYXRldmVyIHNjb3BlIGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVu" + - "dGlhbCBjaGVjayBhbmQgZWFjaCBzZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJl" + - "cG9ydGVkIGFzIHJvd3MgdGhhdCBwYXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2Nh" + - "bC1vbmx5KWAuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAsIGB0cnVlYCBv" + - "ciBgZmFsc2VgIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUg" + - "b2YgYC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1h" + - "bGxgIGlzCnJlcXVpcmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBm" + - "bGFnIHNlbGVjdHMgaXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNs" + - "dXN0ZXIuIFBhc3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBl" + - "dmVyeSBzZWxlY3RlZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQu" + - "Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwg" + - "UHJlLWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lw" + - "cyBTSVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVz" + - "cyBgLS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFs" + - "bGAsIG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVj" + - "a3MgdGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1" + - "YmVjdGxgLCBgaGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3Ro" + - "ZXIgc2NvcGVzIGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRo" + - "ZW0sIHNvIGl0IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0" + - "aGUgaW5zdGFsbGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBj" + - "b250cm9sLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNl" + - "YCB8CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxh" + - "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFi" + - "aWxpdHkgYXQgYSBjb25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1" + - "c3Rlci12YWxpZGF0b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBs" + - "YW5lYCBhbmQgYC0tY29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdp" + - "dGggb3Igd2l0aG91dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVg" + - "IHwgQ2x1c3RlciBuYW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2Vz" + - "IGl0LCBhbmQgYGNoZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90" + - "aWZ5LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVk" + - "ZWQgd2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVs" + - "dGAsIG9yIHdoZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBj" + - "cmVkZW50aWFscywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMg" + - "YG5vZGUtaW5vdGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMg" + - "c2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBgdHJ1ZWAg" + - "b3IgYGZhbHNlYCB8IGBmYWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUg" + - "dmFsaWRhdG9yIHJ1bnMgYXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhl" + - "IENMSSBjcmVhdGVzIGEKU2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJv" + - "bGVCaW5kaW5nIGZvciBpdCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0" + - "YCB0aGF0IGxldCBpdCByZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRo" + - "ZW0gYWZ0ZXIgdGhlIHJ1biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNz" + - "aW9uIHRvIG1hbmFnZSB0aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQg" + - "d2l0aCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxp" + - "ZGF0b3IgSm9iIHRoYXQgc3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0" + - "aGUKdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCwgc28gbmVpdGhlciB0aGUgY2hlY2tzIGl0" + - "IHJhbiBub3Igd2FybmluZ3MgaXQKcmVwb3J0ZWQgYXJlIHNob3duLgpUaGUgQ2x1c3RlclJvbGUg" + - "Z3JhbnRzIG9ubHkgdGhlIGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhl" + - "Cm5hbWVzcGFjZSwgRGFlbW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5l" + - "IG5vZGUtdG8tbm9kZSBwcm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJs" + - "aWVyIHZhbGlkYXRvciBydW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFs" + - "aWRhdG9yIGltYWdlLiBSZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9W" + - "QUxJREFUT1JfSU1BR0VgLCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEg" + - "cmVmIHdpdGggbm8gdGFnIGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUg" + - "cmVnaXN0cnkuIElmIG5vIHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2Vz" + - "IG5vdCBydW4gYW5kIGl0cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFn" + - "OyBgLS13YWl0YCB0cmllcyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0" + - "aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRh" + - "dG9yYCByb3cgaXMgYSB3YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8" + - "CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4u" + - "YCB8IEV4dHJhIHJlZ2lzdHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhp" + - "cyBtYWNoaW5lLCBhbmQgdGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdmFsaWRhdG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBh" + - "cyBpbiBgaGFyYm9yLmV4YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVn" + - "aXN0cmllcyB0aGUgaW5zdGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVn" + - "aXN0cnksIHRoZSBzdGFjaydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmlt" + - "YWdlLnJlcG9zaXRvcnlgLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUg" + - "c29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBg" + - "Y2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEg" + - "d2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMg" + - "YSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRo" + - "ZSBwb2QgaGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4g" + - "UmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + - "SURBVE9SX1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3Ry" + - "aWVzYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12" + - "YWxpZGF0b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHBy" + - "b2JlIGFuZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3Zlcmxh" + - "eSBwcm9iZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJv" + - "ciBmb3IgYWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFU" + - "T1JfUFJPQkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFn" + - "ZWAgfCBgYnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRh" + - "dG9yLWV4dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRo" + - "YXQgcnVuIG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9y" + - "IGRvZXMgbm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRz" + - "YCwgYG9wZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBj" + - "b21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZD" + - "Rl9FWFRFUk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5h" + - "bWU+LmVuYWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGlu" + - "ZyBidXQgYHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9D" + - "T01QT05FTlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9u" + - "ZW50c2AsIGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlv" + - "bnMgYWRkZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBv" + - "bmVzIGl0IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVy" + - "IHRhaW50cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBO" + - "b0V4ZWN1dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJs" + - "ZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RP" + - "TEVSQVRJT05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBh" + - "IGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24g" + - "b2JqZWN0cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwg" + - "ZG9ja2VyLXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxp" + - "ZGF0b3IgaW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRv" + - "ciBjcmVhdGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcg" + - "dGhhdCwgaXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5" + - "LCBmcm9tIGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9y" + - "IHRoZSBydW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0" + - "aGlzIG1hY2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGBy" + - "ZWdpc3RyeS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRh" + - "aWwgc2F5cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRv" + - "LWRldGVjdCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1" + - "c3RlciB2YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmln" + - "dXJlZCBidXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBv" + - "dXQgZXhwbGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0" + - "aGUgaW1hZ2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2Vz" + - "IGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NU" + - "RURfU0tJUF9DTFVTVEVSX1ZBTElEQVRJT05gLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAg" + - "fAp8IGAtLW5vLWNsZWFudXBgIHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJB" + - "QywgcHVsbCBzZWNyZXQgYW5kIENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdo" + - "b3NlIHBvZCBjYW5ub3QgcHVsbCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlz" + - "IGRlbGV0ZWQgcmF0aGVyIHRoYW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBr" + - "dWJlY3RsIGRlc2NyaWJlIGpvYmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0" + - "b3IgcmVtb3ZlcyB0aGVtIG9uY2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUg" + - "YGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMg" + - "cHJpbnQgdGhlIGNvbW1hbmQgdGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmlu" + - "ZWQgd2l0aCBgLS13YWl0YCB8IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNo" + - "IHZhbGlkYXRvciB0cmFuc2NyaXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBm" + - "cmFtZWQgYnkgYC0tLSBjbHVzdGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFu" + - "ZCBhIG1hdGNoaW5nIGVuZCBsaW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxh" + - "bmUtY2x1c3RlcmAgb3IgYGNvbXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlz" + - "IG5vdCBKU09OLCBhbmQgYC0tanNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0" + - "aGlzIG9mZiB3aGVuIGEgcGFyc2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoK" + - "IyMjIFJlZ2lzdHJ5IGNyZWRlbnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFi" + - "b3ZlIGZyb20gdGhpcyBtYWNoaW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUg" + - "YGRvY2tlcmAgd291bGQgdXNlOiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8u" + - "ZG9ja2VyL2NvbmZpZy5qc29uYCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVs" + - "cGVyc2AgaGVscGVyLgpGb3IgYG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQs" + - "IGZyb20gdGhlIGZpcnN0IG9mCmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9B" + - "UElfS0VZYCwgYE5WQ0ZfTkdDX0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0" + - "LiBJdCBnb2VzIGFoZWFkIG9mIHRoZSBkb2NrZXIgbG9naW4gb25seSBmb3IgYQpiYXJlIGAtLXBy" + - "ZWAgcnVuIHdpdGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBp" + - "dHMgcHVsbApzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIg" + - "cmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2Nr" + - "ZXIgbG9naW4sIG9yIGZvciBhIHJlcG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhl" + - "IGRvY2tlciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlz" + - "IGlzCmRlY2lkZWQgb25jZSBwZXIgcmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRo" + - "ZSByb3cgYW5kIHRoZQp2YWxpZGF0b3IncyBwdWxsIHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJl" + - "ZSBnZXQgdGhlIHNhbWUgY3JlZGVudGlhbCwgYW5kIGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8g" + - "b25lIG9yZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0" + - "ZWQgYXMgbm8gYWNjZXNzIHRvIHRoYXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBs" + - "b2dpbi4gRWFjaApgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28g" + - "YSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZSBydW4Kd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBv" + - "bGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFn" + - "ZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGlu" + - "IGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAu" + - "IEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFt" + - "LCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoK" + - "T25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5k" + - "IG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVz" + - "LiBCZWZvcmUgaW5zdGFsbCB0aGF0IGluY2x1ZGVzIGEgZG9ja2VyCmxvZ2luIGBudmNyLmlvYCBy" + - "ZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIHNpbmNlCmBo" + - "ZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0YWNrJ3MgY2hhcnRzIHdpdGggdGhlIGRv" + - "Y2tlciBsb2dpbi4gVGhlCmtleSBpcyBzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0" + - "aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUKcm93IG5hbWVzIGJvdGguIEFmdGVy" + - "IGluc3RhbGwgYSByZWplY3RlZCBjcmVkZW50aWFsIGlzIGEgd2FybmluZywgc2luY2UgdGhlCmNs" + - "dXN0ZXIgcHVsbHMgd2l0aCBpdHMgb3duIHB1bGwgc2VjcmV0LiBBIHJlZ2lzdHJ5IHRoaXMKbWFj" + - "aGluZSBjYW5ub3QgcmVhY2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNz" + - "aW5nIGxvY2FsCmNyZWRlbnRpYWwgYXJlIHdhcm5pbmdzLiBBIHJlZ2lzdHJ5IHRoZSBwcm9iZSBj" + - "YW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMgRUNSIG9yCm9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcyBz" + - "a2lwcGVkIHdpdGggYSBjb21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEKcmVnaXN0cnkgdGhh" + - "dCBsZXRzIHRoaXMgbWFjaGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBu" + - "b3QgYXMKdmFsaWQgY3JlZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFj" + - "awoKVGhlIHZhbGlkYXRvciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBv" + - "bmUgc2V0IHdpdGggaXRzCmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBv" + - "dmVyIHRoZSBzdGFjay4KCnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5k" + - "IGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdh" + - "dGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6" + - "IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0" + - "c2Agb25seSB3aXRoIGByb3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVp" + - "Y2Agb25seSB3aXRoIGByb3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9O" + - "QU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFy" + - "ZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBz" + - "IHRoZSBzdGFjaydzIGdhdGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNz" + - "LmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05B" + - "TUVTUEFDRWAgfAp8IEV4dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBg" + - "Y2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0t" + - "Y2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFM" + - "X0NPTVBPTkVOVFNgIHwKfCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdo" + - "ZW4gc2V0LCB0aGUgdmFsaWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3Rl" + - "YWQgb2YgcmVxdWlyaW5nIGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwK" + - "fCBPcGVuQmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92" + - "ZXJsYXkgcHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2Vg" + - "LCBvciBgTlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28g" + - "Y29tZSBmcm9tIHRoZSBzdGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVu" + - "IHRoZXkgZGVzY3JpYmUgdGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3" + - "aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1" + - "c2VkIG9ubHkgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAog" + - "IHNpbmNlIGB1cGAgaW5zdGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAg" + - "dGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxh" + - "eWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4K" + - "LSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgYSBjb21wdXRl" + - "LXBsYW5lLW9ubHkgcnVuKSwgZWxzZSB0aGUgQ0xJJ3MKICBidWlsdC1pbiBzdGFjay4gQSBsb2Nh" + - "bCBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrCiAgZnJv" + - "bSB0aGUgY29weSBhbiBlYXJsaWVyIGNvbW1hbmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNo" + - "ZS4gQSBnaXQgc3RhY2ssCiAgYGZpbGU6Ly9gIGluY2x1ZGVkLCBpcyBub3QgcmVhZCwgc2luY2Ug" + - "dGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQKICBzdGF0ZS4gQSBDTEkgd2l0aCBubyBi" + - "dWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUgc3RhY2sKICBjaGVja291" + - "dCBhYm92ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRo" + - "ZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZy" + - "b20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHku" + - "CgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZp" + - "ZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBu" + - "dmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVz" + - "LXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBF" + - "VEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFt" + - "ZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBj" + - "bHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0t" + - "d2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29t" + - "cG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2" + - "ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0" + - "ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + - "fCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2Et" + - "aWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJl" + - "Z2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8" + - "IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGlu" + - "c3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRl" + - "YC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkg" + - "dHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8" + - "IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNs" + - "aWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRo" + - "YCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29w" + - "ZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0t" + - "Zm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFj" + - "aCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4" + - "dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAg" + - "KGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1z" + - "cGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJs" + - "ZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVy" + - "cG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9u" + - "IG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBg" + - "LS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8" + - "CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAt" + - "IHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9u" + - "IHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBV" + - "Ukwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxM" + - "TWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFy" + - "dC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUg" + - "Y2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1v" + - "ZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRh" + - "YmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0" + - "IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0" + - "b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZh" + - "bHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxl" + - "IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1" + - "c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBg" + - "LS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0" + - "IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAt" + - "IHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1h" + - "Y2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBk" + - "aXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwg" + - "LSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlv" + - "blR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10u" + - "bGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGli" + - "bGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVk" + - "IHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBg" + - "L3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5k" + - "X3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9y" + - "IGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3Jl" + - "IGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVl" + - "Pi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAg" + - "KG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2Ug" + - "ZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1T" + - "LDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxt" + - "IGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEg" + - "SGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + - "LCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1D" + - "b25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBi" + - "ZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2Vydmlj" + - "ZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1p" + - "ZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0" + - "aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBs" + - "ZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1z" + - "ZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRv" + - "IG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1" + - "bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVs" + - "IHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tl" + - "blJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAt" + - "LWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNP" + - "TiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9y" + - "aXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZp" + - "Z3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBv" + - "dmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklP" + - "UklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9y" + - "dHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0" + - "IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9k" + - "ZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0" + - "aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUg" + - "Y3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRh" + - "dGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxl" + - "IEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNo" + - "b3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0t" + - "ZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBO" + - "QU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBT" + - "S1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBs" + - "aWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8" + - "CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5z" + - "ZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAg" + - "fCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8" + - "CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + - "bWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAg" + - "fCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAt" + - "OUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQg" + - "YC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZ" + - "UEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBF" + - "eGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVy" + - "IGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhl" + - "bG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVh" + - "bGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpT" + - "T04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBi" + - "b3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8" + - "CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRo" + - "ZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2Ag" + - "fCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmlu" + - "ZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXIt" + - "ZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRh" + - "YmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2" + - "YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVu" + - "dGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4g" + - "YFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1x" + - "dWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAo" + - "SVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3Jh" + - "Y2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkg" + - "fCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5P" + - "TkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1" + - "bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9y" + - "Zy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1z" + - "dHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9k" + - "ZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9O" + - "OlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFH" + - "WyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24g" + - "VEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJ" + - "RGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1l" + - "dHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10" + - "cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8" + - "IC0gfApQSwcItEyaElNYAABTWAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbO" + - "EiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQs" + - "IGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2" + - "ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVu" + - "dHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFu" + - "ZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMg" + - "ZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2Vf" + - "ZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZh" + - "bGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBh" + - "bmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5k" + - "IG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBB" + - "biBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBh" + - "biBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJl" + - "cm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxl" + - "IG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUv" + - "aGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1l" + - "IHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlk" + - "YXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3" + - "YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVy" + - "IHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhl" + - "IG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBg" + - "LS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90" + - "IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3Ig" + - "fCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0" + - "OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXgg" + - "dGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxp" + - "ZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2Ny" + - "aXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4pYCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNz" + - "ZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBiZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxh" + - "Y2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBj" + - "YW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRoZSBjaGVja3MgaXQgcmFuIGFuZCB3YXJuaW5ncyBp" + - "dCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBhbiBpbWFnZSB0aGF0IHByZWRhdGVzIHZhbGlkYXRv" + - "ciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBsYW5lIGNoZWNrcyBmb3IgZWl0aGVyIHJvbGUgfCBH" + - "cmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNj" + - "cmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dzYCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVz" + - "dGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IElu" + - "c3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBl" + - "ZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52" + - "b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRh" + - "dG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8" + - "IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBv" + - "bmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0" + - "YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0" + - "LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUg" + - "c3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhl" + - "IGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFp" + - "bHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5v" + - "IG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhl" + - "IE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwg" + - "cGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1v" + - "cGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdw" + - "dS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUg" + - "aXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5h" + - "dGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVs" + - "ZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxl" + - "dGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBm" + - "aW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1" + - "YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxp" + - "c3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVz" + - "b2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMg" + - "b25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJt" + - "aW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlv" + - "biBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVy" + - "dW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRl" + - "cm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4g" + - "KEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2Fybmlu" + - "ZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3du" + - "IGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0" + - "IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcs" + - "IHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdp" + - "dGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3Bh" + - "Y2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBy" + - "dW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMg" + - "dm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0u" + - "IEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBg" + - "a3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBc" + - "fCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3Qt" + - "Zm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25l" + - "bnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0" + - "cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJl" + - "bGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RS" + - "SVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmls" + - "ZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2Vz" + - "IGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGQt" + - "b24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0" + - "aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZy" + - "b20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdz" + - "IHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3Rh" + - "Y2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBI" + - "RUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUg" + - "cGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhl" + - "cndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVs" + - "ZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwg" + - "UGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhl" + - "IGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVt" + - "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBu" + - "b3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2Vk" + - "IHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1p" + - "bnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3Jp" + - "dGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lv" + - "bi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5z" + - "dGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0" + - "ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBo" + - "YXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUg" + - "LS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVw" + - "YAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxt" + - "IGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNl" + - "dCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hl" + - "Y2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQg" + - "R1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBm" + - "aWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAi" + - "SDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBt" + - "dXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBs" + - "YW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBh" + - "c3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVx" + - "dWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21w" + - "dXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRg" + - "OyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRv" + - "IGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxC" + - "YWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciBy" + - "ZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0" + - "IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1" + - "dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + - "LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9u" + - "IGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9l" + - "c24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxl" + - "KSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8" + - "aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRl" + - "LXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0" + - "ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAg" + - "aW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2lu" + - "ZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5g" + - "OyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sg" + - "YERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0" + - "ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0" + - "bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRo" + - "LWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRp" + - "YXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxU" + - "WVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEg" + - "cHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVu" + - "dGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAv" + - "YGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBk" + - "ZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRo" + - "IGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQg" + - "YXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0" + - "IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0" + - "IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcI" + - "Griz82EhAABhIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJh" + - "dGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBs" + - "YW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0" + - "YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0" + - "cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "LCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxs" + - "YXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wt" + - "cGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQg" + - "ZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNl" + - "IHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBh" + - "Y2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4w" + - "LCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3Rl" + - "ciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2Uu" + - "bnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwg" + - "aGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGkt" + - "cHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBb" + - "U2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxz" + - "ZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlh" + - "LmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxt" + - "ZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9m" + - "aWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6" + - "IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBk" + - "b21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFj" + - "ayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9s" + - "LXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlv" + - "bnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3Jr" + - "IGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + - "ZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExN" + - "IEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xs" + - "bS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4" + - "dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxs" + - "YXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBs" + - "YW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUt" + - "c3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxj" + - "b250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0" + - "ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9h" + - "ZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3Ry" + - "eSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "Ojx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9u" + - "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21t" + - "YW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZs" + - "b3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVm" + - "b3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBi" + - "ZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAg" + - "ICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRl" + - "IGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUg" + - "d2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21t" + - "YW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJv" + - "b3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZp" + - "bGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVu" + - "dGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQK" + - "YHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2Fs" + - "CltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3Yw" + - "LjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5k" + - "ZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25m" + - "aWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAg" + - "ICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "ICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwu" + - "Z290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZh" + - "bHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAg" + - "KHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZh" + - "bHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2gg" + - "Y2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNh" + - "IGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9u" + - "bWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBs" + - "YCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFs" + - "dWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlk" + - "aW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgoj" + - "IyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2Ug" + - "cHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAi" + - "JG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoK" + - "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + - "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEt" + - "c3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2Vy" + - "dC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + - "ci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2Vy" + - "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3Ug" + - "bXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRo" + - "ZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAy" + - "LiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIg" + - "bG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhl" + - "bG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUg" + - "aGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoK" + - "YGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4g" + - "bnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkg" + - "bG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgph" + - "d3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRr" + - "ci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkg" + - "bG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3Rj" + - "aGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhh" + - "dCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUg" + - "aG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChv" + - "cgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3Jp" + - "dGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0" + - "aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+" + - "IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9p" + - "bWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3" + - "aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNz" + - "Cj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0g" + - "cHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2lu" + - "LiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lk" + - "cyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJl" + - "Z2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91" + - "IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIg" + - "Y2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3Ig" + - "ZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBp" + - "cwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQg" + - "aXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3Rh" + - "Y2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFt" + - "bAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+" + - "ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5" + - "OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBj" + - "aGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0" + - "b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1p" + - "eCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRz" + - "IGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkg" + - "YXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywg" + - "dGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChm" + - "b3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJ" + - "IGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9D" + - "SSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91" + - "ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVs" + - "bSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2gg" + - "PGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25s" + - "eSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoK" + - "Mi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRo" + - "ZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3" + - "b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBL" + - "dWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBg" + - "bnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywg" + - "anVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5" + - "LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2Ag" + - "ZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGls" + - "bCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3Jl" + - "YXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50" + - "aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIg" + - "aW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAg" + - "PiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBz" + - "ZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5g" + - "LiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIu" + - "IFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJF" + - "U1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVz" + - "cGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1u" + - "ICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9y" + - "IElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0" + - "aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdl" + - "ZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdp" + - "dGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5k" + - "b21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNl" + - "bmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBE" + - "TlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNT" + - "YC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0" + - "YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBF" + - "eGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBh" + - "bmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBs" + - "YXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEg" + - "cGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRz" + - "Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQg" + - "aGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3Jk" + - "YCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVM" + - "VF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVs" + - "dCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3Jl" + - "ZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJh" + - "LnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NB" + - "TkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxv" + - "eXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2" + - "aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0t" + - "LS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8s" + - "IENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwg" + - "QVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywg" + - "b3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZD" + - "RiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWlu" + - "IHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBt" + - "aW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkg" + - "c3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVy" + - "bWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxl" + - "IFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5" + - "IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVz" + - "IG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBp" + - "bnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMg" + - "dGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBz" + - "dGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2Ug" + - "YW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5k" + - "IHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0" + - "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50" + - "cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAg" + - "IGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91" + - "dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1n" + - "YXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGgg" + - "bWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5" + - "b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAs" + - "IHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sK" + - "cGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWlu" + - "ZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2" + - "aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1w" + - "bGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFu" + - "aXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5" + - "IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1n" + - "YXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUgg" + - "Ikhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgi" + - "CmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkg" + - "S2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ug" + - "cm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBF" + - "bmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21l" + - "ci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2" + - "YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBh" + - "ZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEg" + - "YG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNl" + - "Y3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0" + - "ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVt" + - "ZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNh" + - "dGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24u" + - "bWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRo" + - "ZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21w" + - "b25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1w" + - "bGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVu" + - "dmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29t" + - "cHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUg" + - "Z2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRo" + - "ZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4" + - "IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMs" + - "IEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9y" + - "ZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZv" + - "cmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFu" + - "ZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0" + - "cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNr" + - "LiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3Nh" + - "bmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBn" + - "cnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5" + - "LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3Ng" + - "OyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJs" + - "ZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5j" + - "bHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNl" + - "cnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + - "bSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBz" + - "dGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNw" + - "YWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50" + - "aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5z" + - "dGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2Vg" + - "IGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCBy" + - "ZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5" + - "IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2lu" + - "ZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1" + - "bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3Zl" + - "bmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRl" + - "YXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRp" + - "cmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJv" + - "eQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1z" + - "eXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1m" + - "b3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8" + - "IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwoj" + - "IFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVz" + - "CgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhh" + - "dCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxp" + - "Y2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJl" + - "bGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGlu" + - "IGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIElu" + - "IHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNl" + - "Y3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0g" + - "bmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5l" + - "bmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + - "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFs" + - "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0g" + - "Y2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + - "ICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3Rz" + - "OgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllB" + - "TUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9y" + - "IGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3Mg" + - "dmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5k" + - "IHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFz" + - "ZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2Ug" + - "UHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4g" + - "RG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdv" + - "IG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMg" + - "d3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBS" + - "ZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18" + - "LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBp" + - "IHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8" + - "IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5" + - "IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBL" + - "eXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlh" + - "bWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9T" + - "RUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2Yt" + - "YXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBG" + - "b3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBm" + - "b3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRo" + - "dG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQg" + - "dGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNy" + - "ZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0" + - "X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNv" + - "bmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcg" + - "ZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGlt" + - "IGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBp" + - "dCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtl" + - "eT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFz" + - "ZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3Jvbmcg" + - "YWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBg" + - "NDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+" + - "IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMg" + - "YSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hp" + - "Y2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1v" + - "cmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUg" + - "YnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEg" + - "ZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRv" + - "a2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZp" + - "Y2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgi" + - "Cj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2" + - "aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwg" + - "cm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUg" + - "bmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxs" + - "aW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQK" + - "PiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBv" + - "cmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3Rz" + - "dHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNh" + - "cnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0" + - "aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0" + - "byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgoj" + - "IyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8g" + - "bXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQ" + - "dWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3Mg" + - "dW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9y" + - "IGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2" + - "ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZl" + - "cm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJu" + - "byAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQg" + - "aW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + - "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAg" + - "LS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0i" + - "JE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2" + - "ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNy" + - "ZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlz" + - "c2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31d" + - "YC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8" + - "cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxk" + - "IHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBh" + - "IENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUg" + - "cm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVh" + - "dGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAg" + - "ICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0t" + - "c29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9u" + - "IGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwt" + - "LS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8" + - "IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVj" + - "ayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNl" + - "IHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBw" + - "b2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQt" + - "aW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3Vj" + - "Y2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1" + - "dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVy" + - "J3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNz" + - "dWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5h" + - "YmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1z" + - "eW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxs" + - "ZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRl" + - "IGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2Vy" + - "dmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRy" + - "YSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBg" + - "Y2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNt" + - "M2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBm" + - "aWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBj" + - "YXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5v" + - "ZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBm" + - "YWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBk" + - "ZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0" + - "cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwg" + - "Q2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZj" + - "ZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVu" + - "dF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFu" + - "OiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGgg" + - "bGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5k" + - "IHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBz" + - "ZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50" + - "LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsg" + - "YHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21l" + - "L2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUg" + - "bW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMg" + - "dGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZB" + - "X1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRT" + - "IGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5B" + - "VFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJv" + - "bSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049" + - "bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlm" + - "eSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0" + - "ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpv" + - "Yi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBh" + - "IHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBp" + - "bnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBs" + - "aXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVy" + - "IHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rp" + - "b24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRg" + - "IHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlm" + - "eSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAt" + - "biBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0" + - "dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3Ig" + - "YDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9v" + - "ayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBp" + - "biBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNo" + - "Cmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0t" + - "aWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJv" + - "b3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0" + - "aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5t" + - "ZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20v" + - "bnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0" + - "ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmls" + - "ZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxv" + - "eW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1" + - "bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9p" + - "bnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsK" + - "ICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24i" + - "OiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVz" + - "dGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBz" + - "dGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQg" + - "dG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0g" + - "KD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVu" + - "dCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1m" + - "aWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAx" + - "LjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIs" + - "CiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVs" + - "bS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVj" + - "dGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHki" + - "LAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGls" + - "IGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzIt" + - "dGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBo" + - "ZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAg" + + "ZXIsIHNvIHNlbGVjdCB0aGUgY29tcHV0ZSBjbHVzdGVyIGFzIHRoZSBjdXJyZW50IGNvbnRleHQg" + + "b2YKIyBhIGt1YmVjb25maWcgZm9yIHRoaXMgY29tbWFuZC4gLS1jb21wdXRlLXBsYW5lIGNoZWNr" + + "cyB0aGUgY29tcHV0ZSBwbGFuZSBhcwojIGluc3RhbGxlZCwgc28gYSBkb2NrZXIgbG9naW4gbnZj" + + "ci5pbyByZWplY3RzIGZhaWxzIG9ubHkgd2hlbiBOR0NfQVBJX0tFWQojIGRvZXMgbm90IHdvcmsg" + + "aW4gaXRzIHBsYWNlOiB0cmVhdCBhIHJlZ2lzdHJ5LWNyZWRlbnRpYWxzIHJvdyB0aGF0IHNheXMg" + + "dGhlCiMgZG9ja2VyIGxvZ2luIHdhcyByZWplY3RlZCBhcyBibG9ja2luZywgc2luY2UgY29tcHV0" + + "ZS1wbGFuZSBpbnN0YWxsIHB1bGxzCiMgaXRzIGNoYXJ0cyB3aXRoIHRoYXQgbG9naW4uIFdpdGgg" + + "YSBjb250cm9sLXBsYW5lIGNvbnRleHQsIGNoZWNrCiMgLS1wcmUgLS1jb250cm9sLXBsYW5lIGNo" + + "ZWNrcyB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgYXMgbm90IHlldCBpbnN0YWxsZWQKIyBpbnN0ZWFk" + + "OyBzZWUgcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZC4KS0NGRz0kKG1rdGVtcCkKa3ViZWN0" + + "bCBjb25maWcgdmlldyAtLW1pbmlmeSAtLWZsYXR0ZW4gLS1jb250ZXh0PWFkbWluQGdwdTEgPiAi" + + "JEtDRkciCktVQkVDT05GSUc9IiRLQ0ZHIiBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNv" + + "bXB1dGUtcGxhbmUgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20g" + + "XAogIC0tanNvbgpybSAtZiAiJEtDRkciCgojIFJlZ2lzdGVyIGFuZCBpbnN0YWxsIGp1c3QgdGhl" + + "IGNvbXB1dGUgcGxhbmUsIGZyb20gdGhlIHByb2ZpbGUgdGhlCiMgY29udHJvbC1wbGFuZSBvcGVy" + + "YXRvciBleHBvcnRlZCB3aXRoIGBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhw" + + "b3J0YCwKIyBzYXZlZCBoZXJlIGFzIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sOgpudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "cHJvZmlsZT1jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWU9bXkt" + + "Y29tcHV0ZS0xIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0" + + "dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0t" + + "b3V0cHV0PW15LWNvbXB1dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbApudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzPW15LWNvbXB1dGUtMS1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1jbHVz" + + "dGVyLW5hbWU9bXktY29tcHV0ZS0xCgojIFN0YXR1cyBvZiB0aGUgY3VycmVudCBjb250ZXh0LCBh" + + "ZG1pbkBncHUxIChjb21wdXRlLW9ubHk6IHRoZSBvcGVyYXRvcgojIGNhbid0IHNlZSBjb250cm9s" + + "LXBsYW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAog" + + "IC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMu" + + "bnZjZi5leGFtcGxlLmNvbQpgYGAKCiMjIEZ1bmN0aW9ucyB0YXJnZXRpbmcgc3BlY2lmaWMgY29t" + + "cHV0ZSBwbGFuZXMKCldoZW4geW91IGhhdmUgbXVsdGlwbGUgY29tcHV0ZSBwbGFuZXMgYW5kIHdh" + + "bnQgYSBmdW5jdGlvbiB0byBkZXBsb3kgdG8gb25lOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQi" + + "OiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVj" + + "aWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJO" + + "Q1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2Vz" + + "IjogMSwKICAgICJjbHVzdGVycyI6IFsiZ3B1LWVhc3QtMSJdCiAgfV0KfQpgYGAKClRoZSBgY2x1" + + "c3RlcnNgIGFycmF5ICh1c2luZyBjbHVzdGVyIG5hbWVzLCBub3QgSURzKSBsaW1pdHMgc2NoZWR1" + + "bGluZyB0byB0aG9zZSBjb21wdXRlIHBsYW5lcy4gT21pdCB0byBsZXQgSUNNUyBjaG9vc2UgYW55" + + "IGNvbXB1dGUgcGxhbmUgd2l0aCBhIG1hdGNoaW5nIFNLVS4KCiMjIFN0YXR1cyBmYW4tb3V0IGFj" + + "cm9zcyBjb21wdXRlIHBsYW5lcwoKYGBgc2gKIyBMaXN0IGFsbCByZWdpc3RlcmVkIGNvbXB1dGUg" + + "cGxhbmVzOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lE" + + "IC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxIC1yICcuY2x1c3RlcnNbXS5jbHVzdGVy" + + "TmFtZScgPiBjbHVzdGVycy50eHQKCiMgU3RhdHVzIHNuYXBzaG90IHBlciBjb21wdXRlIHBsYW5l" + + "IChhc3N1bWluZyBlYWNoIGNvbnRleHQgbmFtZSBtYXRjaGVzKToKd2hpbGUgcmVhZCBOQU1FOyBk" + + "bwogIGVjaG8gIj09PSAkTkFNRSA9PT0iCiAga3ViZWN0bCBjb25maWcgdXNlLWNvbnRleHQgImFk" + + "bWluQCROQU1FIiA+L2Rldi9udWxsCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwKICAg" + + "IC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tanNvbiB8IGpxIC1jICd7Y2x1c3RlcjouY2x1" + + "c3RlciwgdmVyZGljdDoudmVyZGljdCwgcmVjb25jaWxlOi5yZWNvbmNpbGVBZ2VTZWN9Jwpkb25l" + + "IDwgY2x1c3RlcnMudHh0CmBgYAoKQSBmdXR1cmUgTSsxMSBtaWxlc3RvbmUgd2lsbCBhZGQgbmF0" + + "aXZlIGZhbi1vdXQgKGBzdGF0dXMgLS1hbGwtY29tcHV0ZS1wbGFuZXNgKSBzbyB0aGlzIGRvZXNu" + + "J3QgbmVlZCBhIHNoZWxsIGxvb3AuClBLBwgO4MdpIRMAACETAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRl" + + "LXBsYW5lLm1kVVQFAAEAps4SIyBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5nIGNv" + + "bnRyb2wgcGxhbmUKClVzZXIgaGFzIGEgd29ya2luZyBOVkNGIGNvbnRyb2wgcGxhbmUgKHJ1bm5p" + + "bmcgc29tZXdoZXJlKSBhbmQgd2FudHMgdG8gcmVnaXN0ZXIgYSBuZXcgR1BVIGNsdXN0ZXIgYWdh" + + "aW5zdCBpdC4gVGhpcyBpcyB0aGUgbXVsdGktY2x1c3RlciBzY2FsaW5nIHBhdGg6IG9uZSBjb250" + + "cm9sIHBsYW5lIOKGkiBOIGNvbXB1dGUgcGxhbmVzLgoKIyMgUHJlcmVxdWlzaXRlcyB0aGUgdXNl" + + "ciBtdXN0IGhhdmUKCi0gKiprdWJlY3RsIGNvbnRleHQgZm9yIHRoZSBuZXcgY29tcHV0ZSBwbGFu" + + "ZSoqIGluIHRoZWlyIGBLVUJFQ09ORklHYCwgYW5kCiAgaWRlYWxseSBvbmUgZm9yIHRoZSBjb250" + + "cm9sLXBsYW5lIGNsdXN0ZXIgdG9vLCBmb3IgdGhlIHByZS1mbGlnaHQgaW4KICBzdGVwIDIuCi0g" + + "KipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAoZS5nLiBg" + + "aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZvciB0aGUg" + + "Y29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlhIGBudmNm" + + "LWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBlbmRwb2lu" + + "dC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBw" + + "dWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9sIHBsYW5l" + + "IGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBUaGUgY29udHJvbCBwbGFuZSdzIHBy" + + "b2ZpbGUgZmlsZSwgd2hpY2ggYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZSBleHBvcnRgIHdyaXRlcyBvbiBhIG1hY2hpbmUgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbnRy" + + "b2wtcGxhbmUgY2x1c3Rlci4gSXQgY2FycmllcyB0aGUgY29udHJvbCBwbGFuZSdzIGVuZHBvaW50" + + "cyBhbmQgdHJ1c3QgZm9yIHJlZ2lzdHJhdGlvbi4gVGhlIGNvbW1hbmQgd3JpdGVzIGl0IHRvIHRo" + + "ZSBzdGFjaydzIGBvdXQvYCBkaXJlY3RvcnkgYW5kIHByaW50cyB0aGF0IHBhdGg7IHRoZSBzdGVw" + + "cyBiZWxvdyBleHBlY3QgaXQgY29waWVkIHRvIGBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAg" + + "aW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgotIEEgdW5pcXVlIGAtLWNsdXN0ZXItbmFtZWAgdGhh" + + "dCBkb2Vzbid0IGNvbGxpZGUgd2l0aCBhbHJlYWR5LXJlZ2lzdGVyZWQgY2x1c3RlcnMuIFVzZSBg" + + "bnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMt" + + "dXJsPSRJQ01TYCB0byBjaGVjay4KCiMjIFN0ZXBzCgoxLiBBc2sgZm9yIGlucHV0czoKICAgLSBg" + + "LS1jbHVzdGVyLW5hbWU9PHVuaXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNv" + + "bnRyb2wgcGxhbmUncyBOQ0Egc2NvcGUKICAgLSBgLS1rdWJlLWNvbnRleHQ9PGNvbnRleHQ+YDog" + + "dGhlIG5ldyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxo" + + "dHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGlj" + + "IElDTVMgVVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuIFBy" + + "ZS1mbGlnaHQgdGhlIG5ldyBjb21wdXRlIHBsYW5lIGFzIG5vdCB5ZXQgaW5zdGFsbGVkLiBXaXRo" + + "IGEga3ViZWN0bAogICBjb250ZXh0IGZvciB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyIGFzIHdl" + + "bGwsIGBjaGVjayAtLXByZQogICAtLWNvbnRyb2wtcGxhbmVgIGNoZWNrcyB0aGUgY29udHJvbCBw" + + "bGFuZSBhcyBpbnN0YWxsZWQgYW5kIHRoZSBuZXcKICAgY29tcHV0ZSBwbGFuZSBhcyBub3QgeWV0" + + "IGluc3RhbGxlZDoKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJl" + + "IC0tY29udHJvbC1wbGFuZSBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9IiRDUF9DVFgi" + + "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIkQ1RYIiBcCiAgICAgLS1lbnY9IiRDUF9FTlYiIFwK" + + "ICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKICAg" + + "anEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5q" + + "c29ubAogICBgYGAKCiAgIGAkQ1BfRU5WYCBpcyB0aGUgYC0tZW52YCB0aGUgY29udHJvbCBwbGFu" + + "ZSB3YXMgaW5zdGFsbGVkIHdpdGguIFRoaXMgY2hlY2tzCiAgIHRoZSBjb250cm9sLXBsYW5lIGNs" + + "dXN0ZXIsIGFuZCB0aGUgbmV3IGNsdXN0ZXI6IGxlZnRvdmVyIE5WQ0YgbmFtZXNwYWNlcywKICAg" + + "bm9kZSBpbm90aWZ5IGxpbWl0cywgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRh" + + "dG9yIChHUFUKICAgcmVzb3VyY2VzLCBHUFUgT3BlcmF0b3IsIFNNQiBDU0kgZHJpdmVyKSB3aGVu" + + "IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaXMKICAgc2V0LiBJdCBncmFkZXMgdGhpcyBtYWNo" + + "aW5lJ3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgYXMgYGNvbXB1dGUtcGxhbmUKICAgaW5zdGFsbGAg" + + "dXNlcyB0aGVtOiBgaGVsbWAgb24gdGhpcyBtYWNoaW5lIHB1bGxzIHRoZSBjb21wdXRlLXBsYW5l" + + "IGNoYXJ0cwogICB3aXRoIHRoZSBkb2NrZXIgbG9naW4sIHNvIGEgZG9ja2VyIGxvZ2luIGBudmNy" + + "LmlvYCByZWplY3RzIGZhaWxzIHRoZSBnYXRlCiAgIGV2ZW4gd2hlbiBgTkdDX0FQSV9LRVlgIHdv" + + "cmtzLiBBIG1pc3NpbmcgYGhlbG1gLCBgaGVsbWZpbGVgIG9yIGBrdWJlY3RsYAogICBmYWlscyBp" + + "dCB0b28uIFNJUyByZWFjaGFiaWxpdHkgaXMgbm90IHByb2JlZCBiZWZvcmUgaW5zdGFsbC4KCiAg" + + "IFdpdGhvdXQgYSBjb250ZXh0IGZvciB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLCBjaGVjayB0" + + "aGUgbmV3IGNsdXN0ZXIKICAgYWxvbmUgd2l0aCBgLS1jb21wdXRlLXBsYW5lYCwgdGhyb3VnaCBh" + + "IGt1YmVjb25maWcgd2hvc2UgY3VycmVudCBjb250ZXh0CiAgIGlzIHRoZSBuZXcgY2x1c3RlcjoK" + + "CiAgIGBgYHNoCiAgIEtDRkc9JChta3RlbXApCiAgIGt1YmVjdGwgY29uZmlnIHZpZXcgLS1taW5p" + + "ZnkgLS1mbGF0dGVuIC0tY29udGV4dD0iJENUWCIgPiAiJEtDRkciCiAgIEtVQkVDT05GSUc9IiRL" + + "Q0ZHIiBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgXAogICAgIC0t" + + "aWNtcy11cmw9JElDTVMgXAogICAgIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBncmVwICdeeycg" + + "PiBjaGVjay5qc29ubAogICBybSAtZiAiJEtDRkciCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50" + + "ID09ICJmaW5hbCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBUaGF0IHJ1" + + "bnMgdGhlIHNhbWUgY2hlY2tzIG9uIHRoZSBuZXcgY2x1c3RlciwgYW5kIFNJUyByZWFjaGFiaWxp" + + "dHkgYXQKICAgYC0taWNtcy11cmxgLCBidXQgY2hlY2tzIHRoZSBjb21wdXRlIHBsYW5lIGFzIGlu" + + "c3RhbGxlZDogYSBtaXNzaW5nIHRvb2wKICAgb25seSB3YXJucywgYW5kIGEgZG9ja2VyIGxvZ2lu" + + "IGBudmNyLmlvYCByZWplY3RzIGZhaWxzIHRoZSBnYXRlIG9ubHkgd2hlbgogICBgTkdDX0FQSV9L" + + "RVlgIGRvZXMgbm90IHdvcmsgaW4gaXRzIHBsYWNlLiBUcmVhdCBhIGByZWdpc3RyeS1jcmVkZW50" + + "aWFsc2AKICAgcm93IHRoYXQgc2F5cyB0aGUgZG9ja2VyIGxvZ2luIHdhcyByZWplY3RlZCBhcyBi" + + "bG9ja2luZywgYW5kIHJlbmV3IHRoYXQKICAgbG9naW4gYmVmb3JlIHRoZSBpbnN0YWxsLgoKICAg" + + "SWYgdGhlIGdhdGUgZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhlIGBjaGVja19jb21wbGV0ZWRgIGV2" + + "ZW50cyB3aXRoCiAgIGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCwgYW5k" + + "IGFkZHJlc3MgdGhlbSBiZWZvcmUKICAgcHJvY2VlZGluZy4KCjMuIFJlZ2lzdGVyIHRoZSBjbHVz" + + "dGVyLCB0aGVuIGluc3RhbGwgaXRzIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzCiAgIGZp" + + "bGUgcmVnaXN0cmF0aW9uIHdyaXRlcy4gQm90aCBjb21tYW5kcyBuYW1lIHRoZSBuZXcgY2x1c3Rl" + + "cidzIGNvbnRleHQKICAgd2l0aCBgLS1rdWJlLWNvbnRleHRgOgoKICAgYGBgc2gKICAgbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgICAgLS1jb250cm9sLXBs" + + "YW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogICAgIC0tY2x1c3Rlci1u" + + "YW1lPSROQU1FIFwKICAgICAtLWt1YmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJ" + + "Q01TIFwKICAgICAtLXRva2VuPSRKV1QgXAogICAgIC0tb3V0cHV0PSROQU1FLXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBc" + + "CiAgICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgIC0ta3ViZS1j" + + "b250ZXh0PSRDVFggXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FCiAgIGBgYAoKICAgYGNvbXB1" + + "dGUtcGxhbmUgcmVnaXN0ZXJgIHJlY29yZHMgdGhlIGNsdXN0ZXIncyBPSURDIGlzc3VlciBhbmQg" + + "SldLUyB3aXRoCiAgIElDTVMgYXQgYC0taWNtcy11cmxgIGFuZCB3cml0ZXMgdGhlIE5WQ0Egb3Bl" + + "cmF0b3IgdmFsdWVzLiBgY29tcHV0ZS1wbGFuZQogICBpbnN0YWxsYCBpbnN0YWxscyB0aGUgY29t" + + "cHV0ZS1wbGFuZSBzdGFjayB3aXRoIHRoZW0uIE5laXRoZXIgdG91Y2hlcyB0aGUKICAgY29udHJv" + + "bC1wbGFuZSBjbHVzdGVyOiBJQ01TIGlzIHJlYWNoZWQgb3ZlciBIVFRQUy4gYC0tdG9rZW5gIHBh" + + "c3NlcyB0aGUKICAgYWRtaW4gSldUOyB3aXRob3V0IGl0IHRoZSB0b2tlbiBgbnZjZi1jbGkgaW5p" + + "dGAgc3RvcmVkIGlzIHVzZWQuCgo0LiBWZXJpZnkuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + + "dXMgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganFgOiBleHBlY3QgYHZlcmRpY3Q6ICJo" + + "ZWFsdGh5ImAuIFRoZSBSZWdpc3RlcmVkIENvbXB1dGUgUGxhbmVzIHBhbmVsIGZyb20gSUNNUyBz" + + "aG91bGQgbm93IGxpc3QgdGhlIG5ldyBjbHVzdGVyLgoKNS4gU21va2UuIFtkZXBsb3ktYW5kLWlu" + + "dm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpOiBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0" + + "byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMg" + + "V2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGNv" + + "bXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHJldXNlcyBhbiBleGlzdGluZyByZWdpc3RyYXRpb246IGl0" + + "IG1hdGNoZXMgdGhlIElDTVMgcm93IHdpdGggdGhlIHNhbWUgbmFtZSwgcmV1c2VzIGl0cyBjbHVz" + + "dGVySWQgYW5kIHJlcGxhY2VzIGl0cyBKV0tTLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lz" + + "dGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRl" + + "IHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBz" + + "ZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6" + + "IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcg" + + "Y29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUg" + + "b2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1" + + "dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0" + + "ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQg" + + "LS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2Vy" + + "IGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwjU" + + "UhnkgxcAAIMXAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0" + + "ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENS" + + "RUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1p" + + "bnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0" + + "YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkg" + + "YXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJl" + + "cy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBp" + + "LS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkg" + + "dGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNr" + + "IC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8g" + + "dmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2Yt" + + "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4" + + "cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBw" + + "YXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVj" + + "aG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9u" + + "bHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBp" + + "cnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxp" + + "Z2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBz" + + "ZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9L" + + "RVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVs" + + "bCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVh" + + "ZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBg" + + "YGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0" + + "aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7" + + "IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoK" + + "My4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoK" + + "ICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + + "IC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12" + + "YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9j" + + "ZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBv" + + "ciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNs" + + "YXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3Ig" + + "ZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzog" + + "a2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBs" + + "aXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRh" + + "aW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250" + + "YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwK" + + "ICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VU" + + "eXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwK" + + "ICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250" + + "YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAi" + + "cmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFz" + + "ayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8" + + "dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUg" + + "cGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNp" + + "dGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBz" + + "dGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoK" + + "YGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFz" + + "ayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAg" + + "LS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVz" + + "dCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2sp" + + "JyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBj" + + "b21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9" + + "dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3Qg" + + "ZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBg" + + "c2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24g" + + "XAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9" + + "czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJj" + + "b250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2" + + "YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFs" + + "dWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBh" + + "bmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBu" + + "b3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNr" + + "cywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsK" + + "ICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAg" + + "ImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAg" + + "ICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxt" + + "Lm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAi" + + "cmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFz" + + "ayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tf" + + "aWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4" + + "Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gK" + + "bnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFs" + + "dWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVk" + + "IHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBp" + + "bmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQg" + + "dmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNo" + + "Cm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0" + + "dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0" + + "aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBg" + + "YAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBM" + + "RVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFU" + + "SU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUg" + + "ZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52" + + "Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGlu" + + "IGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBH" + + "UFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBz" + + "dGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRw" + + "dXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFp" + + "bCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNs" + + "dXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFu" + + "ZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3Vs" + + "dEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246Cgpg" + + "YGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119" + + "CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJl" + + "c3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4g" + + "VGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9j" + + "YXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNs" + + "aSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3Qg" + + "eWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBy" + + "dW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpE" + + "ZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToK" + + "CmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZp" + + "cm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRh" + + "c2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRo" + + "ZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0" + + "IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVu" + + "dCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVu" + + "dCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFz" + + "ayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3Rl" + + "cwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVk" + + "IGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFp" + + "biBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBj" + + "aGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRl" + + "IHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1j" + + "cmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsH" + + "CNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxv" + + "eSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxv" + + "dzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2Nv" + + "cGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rp" + + "b24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9u" + + "LCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0" + + "aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8g" + + "bm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBg" + + "YGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWlu" + + "ZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwi" + + "OiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21v" + + "a2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJh" + + "cGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJI" + + "VFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91" + + "dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBg" + + "c2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgoj" + + "IOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAK" + + "ClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMj" + + "IyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5j" + + "dGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVu" + + "ZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwg" + + "Y29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9k" + + "ZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQg" + + "YXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmll" + + "bGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAg" + + "ImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVy" + + "ZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6" + + "ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjog" + + "Ii9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAg" + + "ImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAg" + + "Im5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAg" + + "ICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAi" + + "L3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIs" + + "CiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpg" + + "YGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNy" + + "ZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0i" + + "PGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0t" + + "aW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRo" + + "LXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9j" + + "b2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10" + + "eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlz" + + "PS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGlu" + + "Z01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBz" + + "YW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4K" + + "Ck9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZj" + + "Zi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVy" + + "c2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQt" + + "bW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAw" + + "MC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2Vu" + + "UmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZp" + + "Z2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1p" + + "dHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNp" + + "bmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRz" + + "LCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJl" + + "Y2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4K" + + "CiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBp" + + "cyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFj" + + "a2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVs" + + "c1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFy" + + "dFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBT" + + "ZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJl" + + "IHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmly" + + "bSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJ" + + "ZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9y" + + "IHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5h" + + "bWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwK" + + "ICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFs" + + "dGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAg" + + "InBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVz" + + "Q29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5j" + + "b20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJo" + + "ZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsK" + + "ICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1D" + + "b25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9y" + + "ZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJy" + + "b3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQog" + + "ICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xp" + + "IGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBc" + + "CiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFs" + + "dGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91" + + "dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQt" + + "c3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBz" + + "Oi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRp" + + "YmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUg" + + "XAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hh" + + "dC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9" + + "cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5n" + + "ZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0" + + "aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3Zl" + + "cnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25J" + + "ZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1" + + "IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1p" + + "bkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29u" + + "Y3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsK" + + "ICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAK" + + "CkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUu" + + "IFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0" + + "cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0" + + "aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0" + + "ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0" + + "L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNz" + + "LiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxh" + + "eXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZv" + + "ciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8" + + "IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0" + + "YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBl" + + "bnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoK" + + "YGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVy" + + "X2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAi" + + "LAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNl" + + "cyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3ki" + + "OiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4g" + + "YEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4" + + "YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2Yt" + + "Y2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBg" + + "YAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBB" + + "Q1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVu" + + "Y3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGlu" + + "dm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMg" + + "Tk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQw" + + "MyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToK" + + "CmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1l" + + "ZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBu" + + "dmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8g" + + "dGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2Vg" + + "IGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1" + + "bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZl" + + "cnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxv" + + "In0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52" + + "b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0" + + "YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVu" + + "Y3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVu" + + "dDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFp" + + "bj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtO" + + "VkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAog" + + "IC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAg" + + "ICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUi" + + "OiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9Jwpg" + + "YGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2Rl" + + "bC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVs" + + "LgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6" + + "Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXph" + + "dGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxp" + + "Y2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1t" + + "b2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBv" + + "ZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1Y" + + "IFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAog" + + "IC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRl" + + "bnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lk" + + "Pi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3Mg" + + "Y2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0" + + "aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNs" + + "dXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUg" + + "dXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + + "biBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAK" + + "CioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMg" + + "Ym90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgot" + + "IERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWlu" + + "aXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4g" + + "ZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxv" + + "eSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNo" + + "YW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6" + + "IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAu" + + "Ci0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0" + + "aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmln" + + "IChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxh" + + "bmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25v" + + "c2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9z" + + "dGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNu" + + "J3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdl" + + "dCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8" + + "IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZl" + + "cmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNl" + + "ciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBh" + + "IGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBk" + + "ZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21w" + + "b25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFg" + + "IFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxs" + + "QmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4g" + + "UmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4K" + + "LSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBp" + + "dHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0" + + "bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9u" + + "LXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcu" + + "IGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1" + + "bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dz" + + "IC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0" + + "aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRl" + + "IHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3Nl" + + "cyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5" + + "bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fz" + + "c2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Np" + + "bmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNv" + + "bmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwg" + + "cGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlv" + + "bnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUi" + + "fX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2Fu" + + "ZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRl" + + "d2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBg" + + "bnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNp" + + "dGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2Vy" + + "LmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lz" + + "dGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + + "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdz" + + "IFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNo" + + "IHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciBy" + + "b3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRo" + + "ZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3Ro" + + "ZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0" + + "IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVu" + + "dCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBp" + + "bml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNh" + + "LW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9w" + + "b2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4v" + + "bnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2Ug" + + "cHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxt" + + "ZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFu" + + "ZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBh" + + "ZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVy" + + "CgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNm" + + "LXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxg" + + "IHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVu" + + "aW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBs" + + "YW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVs" + + "ZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNv" + + "bmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBk" + + "ZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBX" + + "aGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0" + + "J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiog" + + "dW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0" + + "IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9u" + + "IOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAg" + + "d2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3" + + "aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhv" + + "c3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3Rl" + + "ZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRl" + + "dikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29u" + + "ZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNv" + + "bnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9y" + + "IHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVz" + + "dGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1l" + + "ICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlm" + + "aWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3Qt" + + "MWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNv" + + "bmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJM" + + "PyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBu" + + "b3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhl" + + "biBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQ" + + "QyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJv" + + "Z3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBs" + + "b2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNz" + + "IGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQog" + + "ICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUs" + + "IGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJl" + + "Y3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1h" + + "cGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAg" + + "IGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkt" + + "a2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFt" + + "ZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAg" + + "ZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMg" + + "bnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9w" + + "bGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3Rh" + + "bGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZl" + + "cnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJl" + + "Zm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBj" + + "b250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhl" + + "IG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lT" + + "ZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVy" + + "CiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNs" + + "dXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVL" + + "U19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVz" + + "dGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1" + + "YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAg" + + "ICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQg" + + "YXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0" + + "IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFt" + + "YXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgog" + + "ICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBB" + + "V1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNv" + + "bmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBB" + + "V1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MK" + + "ICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUu" + + "CgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFu" + + "Y2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lT" + + "ZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95" + + "U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAg" + + "ICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9h" + + "ZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBs" + + "ZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUg" + + "bWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoK" + + "ICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6" + + "ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJu" + + "ZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhl" + + "IGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250" + + "cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFu" + + "IE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0" + + "IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4g" + + "VXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAog" + + "ICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywg" + + "cmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0" + + "aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUg" + + "ZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFw" + + "cGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxw" + + "aGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBu" + + "YW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAg" + + "ICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNl" + + "cnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEu" + + "a3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAg" + + "ICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFy" + + "Z2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVz" + + "LmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAg" + + "IGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdh" + + "eUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxl" + + "ck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAg" + + "IHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAg" + + "ICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZv" + + "eS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBh" + + "cGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkK" + + "ICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZv" + + "eS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5l" + + "cnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDog" + + "ODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAg" + + "ZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFi" + + "ZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRj" + + "cAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRS" + + "b3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAg" + + "ICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAg" + + "ICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0" + + "aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRl" + + "cy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVt" + + "IHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90" + + "YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRl" + + "d2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQg" + + "Q0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0" + + "IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFN" + + "RVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2Yt" + + "Z2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXki" + + "CiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAt" + + "biAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9O" + + "QU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBt" + + "CiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRH" + + "UlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUg" + + "LS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRU" + + "UF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAog" + + "ICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9y" + + "dCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFD" + + "RSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7" + + "LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIi" + + "IHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBl" + + "eHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tf" + + "RE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQ" + + "Um91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywg" + + "dXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNh" + + "dCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRF" + + "V0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFz" + + "ZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2" + + "aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBp" + + "LWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0i" + + "CiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5" + + "c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0" + + "bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3du" + + "ZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAg" + + "IEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGlu" + + "ZyB0aGUgdG9wb2xvZ3kuIGAtLWpzb25gIHdyaXRlcwogICBKU09OTCB0byBzdGRlcnIsIHNvIHJl" + + "ZGlyZWN0IGl0IHRvIHRoZSBwYXJzZXIgYW5kIGtlZXAgb25seSBKU09OIGxpbmVzOgoKICAgYGBg" + + "c2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXBy" + + "ZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKCiAgICMg" + + "U3BsaXQ6IHBhc3MgYm90aCBjb250ZXh0IGZsYWdzCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + + "ZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAg" + + "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIDI+JjEgPi9k" + + "ZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIEdhdGUgb24gdGhlIGZpbmFs" + + "IGV2ZW50LiBBIG1pc3NpbmcgZmluYWwgZXZlbnQgYWxzbyBmYWlscyB0aGUgZ2F0ZS4KICAganEg" + + "LXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29u" + + "bAogICBgYGAKCiAgIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRoZSB1c2VyIGVhY2ggYGNoZWNr" + + "X2NvbXBsZXRlZGAgZXZlbnQgd2l0aAogICBgcGFzc2VkOiBmYWxzZWAgYW5kIGBzZXZlcml0eTog" + + "ImVycm9yImAgKGl0cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJMYCksIGFuZAogICBzdG9wLiBEb24n" + + "dCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4gUm93cyBhdAogICBgc2V2" + + "ZXJpdHk6ICJ3YXJuaW5nImAgZG8gbm90IGZhaWwgdGhlIGdhdGU7IG1lbnRpb24gdGhlbS4gRm9y" + + "IGFuIG9wZXJhdG9yCiAgIHdpdGgga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUg" + + "b25seSwgdXNlIHRoZSBjb21wdXRlLW9ubHkgZm9ybSBpbgogICBbYWRkLWNvbXB1dGUtcGxhbmUu" + + "bWRdKGFkZC1jb21wdXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoKNC4gTWludCBhbiBhZG1pbiB0b2tl" + + "biBpZiBuZWVkZWQuIGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50LiBDYWxsIGl0IGlmIHRo" + + "ZQogICB1c2VyIGRvZXMgbm90IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5pdCB0YWxrcyB0byBBUEkg" + + "S2V5cyB0aHJvdWdoIHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3YXksIHNvIGl0IGFsc28gd29ya3Mg" + + "aW4gY29tcHV0ZS1vbmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4gVXNlIGAtLWpzb25gIGZvciB0aGUg" + + "SlNPTkwgZXZlbnQgc3RyZWFtOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAg" + + "XAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0i" + + "JHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBg" + + "YGAKCiAgIEZvciBzcGxpdC1jbHVzdGVyIGluc3RhbGxzLCBhZGQgYm90aCBjb250ZXh0IGZsYWdz" + + "OgoKICAgYGBgc2gKICAgZXhwb3J0IENPTlRST0xfUExBTkVfQ09OVEVYVD0iYWRtaW5AY29udHJv" + + "bC1wbGFuZSIKICAgZXhwb3J0IENPTVBVVEVfUExBTkVfQ09OVEVYVD0iYWRtaW5AZ3B1LWNsdXN0" + + "ZXIiCgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNv" + + "bnRleHQ9IiR7Q09OVFJPTF9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PSIke0NPTVBVVEVfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNsdXN0ZXItbmFtZT0i" + + "JHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVn" + + "aW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBQYXJzZSBldmVudHM6CiAg" + + "IC0gYHBoYXNlX3N0YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRlZGA6IGxvZyBwcm9ncmVzcwogICAt" + + "IGBwaGFzZV9wcm9ncmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9yIHRoZSBsb25nIGFwcGx5IHBoYXNl" + + "cyAocmVzb3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYDogc3VyZmFjZSB0byB0aGUgdXNlciBp" + + "ZiBpdCBwZXJzaXN0cyBmb3IgbW9yZSB0aGFuIDIgbWludXRlcwogICAtIGBwaGFzZV9mYWlsZWRg" + + "OiBzdG9wIGFuZCBzdXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVzIGVhY2ggYHJlbWVkaWF0aW9uYCBs" + + "aW5lLgogICAgIERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIC0+IG1h" + + "eSByZS1ydW4gbm93IHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYmFja29mZmAgLT4gd2FpdCBg" + + "cmV0cnlBZnRlclNlY2AgYW5kIHRoZW4gcmUtcnVuIHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBg" + + "YWZ0ZXJfcmVtZWRpYXRpb25gLCBgbm9uZWAsIG9yIGB1bmtub3duYCAtPiB0aGUgb3BlcmF0b3Ig" + + "bXVzdAogICAgIGFjdCBmaXJzdCwgc28gZG8gbm90IGF1dG8tcmV0cnkuCiAgIC0gYGZpbmFsYDog" + + "ZG9uZS4gUHJpbnQgY2x1c3RlcklkIGFuZCBOVkNGQmFja2VuZCBoZWFsdGguCgo2LiBWZXJpZnkg" + + "d2l0aCBzdGF0dXMuIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpx" + + "YCBhbmQgZXhwZWN0CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBPdGhlcndpc2UsIHVzZQogICBb" + + "ZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKS4K" + + "CjcuIE9wdGlvbmFsbHkgc21va2UgdGVzdCBhIGZ1bmN0aW9uLiBVc2UKICAgW2RlcGxveS1hbmQt" + + "aW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUgLT4gZGVwbG95" + + "IC0+CiAgIGludm9rZSBmbG93LgoKIyMgTm90ZXMKCi0gU2luZ2xlLWNsdXN0ZXIgYHVwYCBhZ2Fp" + + "bnN0IGEgZnJlc2ggY2x1c3RlciB0YWtlcyBhYm91dCAxMC0xMyBtaW51dGVzLAogIGRlcGVuZGlu" + + "ZyBvbiBjaGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVw" + + "YCBpcyBpZGVtcG90ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1biBhZnRlciBmaXhpbmcgYSBwcmVy" + + "ZXF1aXNpdGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25l" + + "IGFueXdheSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAgc2V0LCBhbHdheXMgdXNlIGAt" + + "LW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBwcm9wb3NlIGBudmNmLWNsaSBp" + + "bml0YCBpbnRlcmFjdGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rl" + + "ci1qd2tzLm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3MgSldLUwoKVXNlciBzYXlzIE5W" + + "Q0Egc3RvcHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRoIGlzIDQwMS1pbmcgYWdhaW5z" + + "dCBJQ01TLiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmluZyBrZXlzIG1heSBoYXZlIHJv" + + "dGF0ZWQgYW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5vdyBzdGFsZS4KCiMjIFdoZW4g" + + "dG8gcm90YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + + "ZXMuaW8vbmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy88" + + "aWQ+L3JlZ2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNob3cgYE5vIGNsdXN0ZXIgZm91" + + "bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoY2F1c2VkIGJ5IGlzc3Vl" + + "ciBtaXNtYXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMgYm90aCkKLSBBZnRlciBhIGNv" + + "bnRyb2wtcGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFuZSBLOHMgdXBncmFkZQoKIyMg" + + "U3RlcHMKCjEuIENvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1biBgbnZjZi1jbGkgY2x1c3RlciBs" + + "aXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYC4gSWRlbnRp" + + "ZnkgdGhlIHJvdyBtYXRjaGluZyB0aGUgdXNlcidzIGNvbXB1dGUgcGxhbmUuCgoyLiAqKlJvdGF0" + + "ZS4qKiBGcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4" + + "cyBBUEkgKGJlY2F1c2Ugcm90YXRpb24gcmUtZmV0Y2hlcyB0aGUgSzhzIEFQSSdzIGAvb3Blbmlk" + + "L3YxL2p3a3NgKToKCiAgIGBgYHNoCiAgIGt1YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0IDxjdHg+" + + "CiAgIG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+CiAgIGBgYAoKICAg" + + "YGNsdXN0ZXIgcm90YXRlYCByZWFkcyB0aGUgY3VycmVudCBjb250ZXh0LCBvciB0aGUgb25lIGAt" + + "LWt1YmVjb25maWc9PHBhdGg+YCBzZWxlY3RzLiBJdCByZS1mZXRjaGVzIEpXS1MgZnJvbSB0aGUg" + + "Y29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgYW5kIFBVVHMgaXQgdG8gSUNNUy4gVGhlIGNsdXN0ZXIg" + + "SUQgc3RheXMgdGhlIHNhbWUuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkgY2x1c3RlciBnZXQg" + + "LS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRgIGFkdmFuY2VkLiBUaGVu" + + "IGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + + "dmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3VsZCBzdWNjZWVkICgyMDAs" + + "IG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBgY2x1c3RlciBkZWxldGVg" + + "LioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdyb3VwIElEOyBkZWxldGUg" + + "Y3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95IHRoZSBjb21wdXRlIHBs" + + "YW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQgYG91dC88Y2x1c3Rlcj4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElDTVMgb25seTsgdGhlIGhl" + + "bG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0ZXIgSUQuCgojIyBJZiBy" + + "b3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBtYXkgYmUgYXQgYSBkaWZm" + + "ZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggKGBrdWJl" + + "Y3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2Vg" + + "KQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5X2NsdXN0ZXJfaWRgIENh" + + "c3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZpZ21hcCBoYXMgYGF1dGh6" + + "Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1k" + + "XShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNoZWNrcy4KUEsHCOCCPFUi" + + "CAAAIggAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIgZG93biBhIHNlbGYtaG9z" + + "dGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24gZGVzdHJveXMgcGVyc2lz" + + "dGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBrZXlzLCByZWdpc3RlcmVk" + + "IGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgYW55IHN0ZXAu" + + "CgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5zdGFsbGAgZm9yIHBlci1w" + + "bGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3duIHN1cmZhY2Ugc3ltbWV0" + + "cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToKCnwgVGllciB8IFVwIHNp" + + "ZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwKfCBQZXItcGxhbmUgcHJp" + + "bWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBgaW5zdGFsbCAtLWNvbnRy" + + "b2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1bmluc3RhbGwgLS1jb250" + + "cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8CnwgT3JjaGVzdHJhdG9y" + + "IChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8" + + "IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwKClVzZSBgZG93bmAgZm9y" + + "IG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRPcHMgKGNvbW1pdCBZQU1M" + + "OyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVzLiBBbHdheXMgc3RhcnQg" + + "d2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2RlIHwgTGl2ZXMgb24gfCBJ" + + "bnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBgLS1w" + + "bGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykgfCAqKk5vLioqIFdhbGtz" + + "IHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBoYXNlIHBsYW4gKyBFVEFz" + + "ICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50IHN0cmVhbSB8CnwgYC0t" + + "bm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1pdGl2ZXMpIHwgKipZZXMu" + + "KiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0gZ2V0IG1hbmlmZXN0YCBm" + + "b3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBgZG93biAtLXBsYW4tb25s" + + "eSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVzdHJhdG9yIHBoYXNlcyB3" + + "aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1" + + "dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhlIFlBTUwgSSdkIGBrdWJl" + + "Y3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMgcHJldmlldyBmaXJzdC4K" + + "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1uY3At" + + "bG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBXaGVuIHRvIHVzZSB3aGlj" + + "aCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0tfAp8ICJSZW1vdmUgdGhp" + + "cyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVy" + + "LW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUgc3RlcHMgd2l0aG91dCBp" + + "bnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25s" + + "eSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBjb21taXQgKyBBcmdvIGRl" + + "bGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5" + + "IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRlLnlhbWxgIHwKfCAiSnVz" + + "dCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVu" + + "cmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0t" + + "Y29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBjb250" + + "cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAtLWNsdXN0ZXItbmFtZT1Y" + + "YCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29wZSB3aXRoIHRoZSB1c2Vy" + + "CgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0ZSBwbGFuZXMgKyBjb250" + + "cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRlIHBsYW5lPyIKLSAiQXJl" + + "IHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlzIGNsdXN0ZXI/IGBudmNm" + + "LWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1wb3J0YW50IOKAlCBgZG93" + + "bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxwcm9tcHRgIGlmIGFu" + + "eSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2Fu" + + "ZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVzZXIgZGF0YSk/IERlZmF1" + + "bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBvcHRzIGlu" + + "IHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIKCiMjIyAyLiBSdW4gcGxh" + + "bi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5" + + "IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhpcyBlbWl0cyBhIGBwbGFu" + + "bmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJlbGVhc2VzIHRoYXQgd291" + + "bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3VsZCBiZSByZW1vdmVkLCBh" + + "bmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNbXWAgYXJyYXkgdG8gdGhl" + + "IHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmluc3RhbGwg4oCmYCBpbnZv" + + "Y2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMuIEV4ZWN1dGUgdGhlIGRv" + + "d24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9JE5BTUUg" + + "LS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6CgoxLiBQcmVmbGlnaHQg" + + "4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVzb2x2ZSBzdGFjayBidW5k" + + "bGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBmdW5jdGlvbiBkZXBsb3kg" + + "cmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMgdW50aWwgU1RPUFBFRC4g" + + "U3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9tcHRgIChkZWZhdWx0IGlz" + + "IGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBsYW5lIOKAlCBkZWxlZ2F0" + + "ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1bmluc3RhbGwgPHJlbGVh" + + "c2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBSZW1vdmUgcGVyc2lzdGVu" + + "dCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2LiBVbnJlZ2lzdGVyIGNs" + + "dXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRlYXIgZG93biB0aGUgY29u" + + "dHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVu" + + "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9yY2hlc3RyYXRvcidzIGAt" + + "LWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28gZ29pbmcgYXdheSAoc2Vl" + + "IHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVmdXNlcyBpZiBhbnkgY29t" + + "cHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVzZSBgLS1mb3JjZS13aXRo" + + "LXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoqIGlmIHRoZSB1c2VyIGV4" + + "cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQU0FUIGF1dGggYnJlYWtz" + + "IGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZhaWxpbmcgZXZlcnkgaGVh" + + "bHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZvcmUgcGFzc2luZyB0" + + "aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBzaApudmNmLWNsaSBzZWxm" + + "LWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRlcmF0ZXMgZXZlcnkgcmVn" + + "aXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBlci1jbHVzdGVyIGRvd24g" + + "Zm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNvbmN1cnJlbmN5YCwgZGVm" + + "YXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYC4gSW50ZXJhY3Rp" + + "dmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVzdGVyIGxpc3QgYmVmb3Jl" + + "IHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQgZm9yIG5vbi1pbnRlcmFj" + + "dGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJnbyAvIEZsdXgpCgpgYGBz" + + "aAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXIt" + + "bmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1pdHMgZGVsZXRlLnlhbWwg" + + "dG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRoZSBkZWxldGlvbiBvbiBu" + + "ZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQgLW0gInJlbW92ZSBjb21w" + + "dXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBzeW5jIHJlbW92ZXMgdGhl" + + "IEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkg" + + "Y2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBgYAoKTm90ZTogYC0tbm8t" + + "YXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIgZGVsZXRlYCAoaGVsbSBk" + + "b2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBHaXRPcHMgbXVzdCBydW4g" + + "YG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1c2UgYGRvd25gIHRvIG9y" + + "Y2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBgZG93bmAgcGFydGlhbC1m" + + "YWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiouIFRoZSBvcmNoZXN0cmF0" + + "b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyByZWxlYXNlcyB0aGF0IGFy" + + "ZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25vcmUtbWlzc2luZ2Agc2tp" + + "cHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2UgNCArIDYgZW1pdCBgcGhh" + + "c2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25kIHJ1bi4KCklmIGEgYHBo" + + "YXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29yeTogImhlbG1fcGVuZGlu" + + "Z191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9uImAg4oaSIHJ1biBgaGVs" + + "bSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZgICh0aGUgbWVzc2FnZSBp" + + "bmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1biBgZG93bmAuIERvIE5P" + + "VCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24uCi0gYGVyckNhdGVnb3J5" + + "OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIHdpdGgg" + + "bWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIgcGFzc2VkIGAtLWRyYWlu" + + "LWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1ydW4gd2l0aCBgLS1kcmFp" + + "bi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAgYW5kIGNvbmZpcm0gd2l0" + + "aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNlIGBlcnJNZXNzYWdlYCAr" + + "IGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1AuIERvIG5vdCBwcm9wb3Nl" + + "IHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25maXJtCgpGb3IgZXZlcnkg" + + "YG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGludm9jYXRpb24sIGVz" + + "cGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUgdGhlIGV4YWN0IGAtLWNs" + + "dXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBsb3N0IChlLmcuICJhbGwg" + + "ZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9jYWxgIHdpbGwgc3RvcDsg" + + "Y29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIikuCi0gSWYgYC0tcmVtb3Zl" + + "LXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRoYXQgQ2Fzc2FuZHJhIHJv" + + "d3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHRoYXQgdGhpcyBpcyB1" + + "bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29uZmlybWF0aW9uLgotIE5l" + + "dmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB3aXRob3V0IGV4" + + "cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhhbmVkLgotIE5ldmVyIHBy" + + "b3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGUgbG9zcy4K" + + "CiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHt1bmluc3RhbGws" + + "ZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24gYSBDTEkgdmVyc2lvbiBv" + + "bGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVyIGNvbXB1dGUgcGxhbmUg" + + "KG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBudmNhLWFnZW50IC1uIG52" + + "Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvcgpo" + + "ZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBudmNhLXN5c3RlbQpoZWxt" + + "IHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgojIERyYWluIHRoZSBJQ01T" + + "IHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxpZD4KCiMgQ29udHJv" + + "bCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmNkIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxtZmlsZSBkZXN0cm95IGFj" + + "cm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sgYnVuZGxlcywgdGVhcmRv" + + "d24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2YtY29tcHV0ZS1wbGFuZS1z" + + "dGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwgcGF0aDsgcHJlZmVyIHRo" + + "ZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxsZWQuCgojIyBXaGF0IGBr" + + "dWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3MgIndoeSBpcyBteSBuZXcg" + + "aW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0ZWZ1bFNldCBQVkNzIChD" + + "YXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVsbSB1bmluc3RhbGxgIChh" + + "bmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBlaXRo" + + "ZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxseSBzbyBhIHJlLWB1cGAg" + + "Y2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUgY29tcGxldGVseSBvbiB0" + + "aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rl" + + "ci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoKT3IsIHBvc3QtZG93biwg" + + "bWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbSAt" + + "LWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKKipDb25m" + + "aXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBzdGVwLgpQSwcI2odjVuQh" + + "AADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGNvbW1hbmQg" + + "cmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBhaXIgd2l0aCBbZmxhZ3Mu" + + "bWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1jb2Rlcy5tZF0oZXhpdC1j" + + "b2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVkIGxpZmVjeWNsZQoKfCBD" + + "b21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfC0tLXwKfCBg" + + "c2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxpZ2h0IGJlZm9yZSBpbnN0" + + "YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3RyeSBjcmVkZW50aWFscywg" + + "YW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWluZyBldmVudHMgb24gc3Rk" + + "ZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dGAg" + + "YW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIG1ha2VzIG5vIGNs" + + "dXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJv" + + "bC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVy" + + "IG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3Ry" + + "ZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1bnRpbCBwYXNzIG9yIERV" + + "UiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFstLXdhaXQg" + + "RFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcywgbm9k" + + "ZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRoZSBjb21wdXRlLXBsYW5l" + + "IGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBTSVMgaXMg" + + "cHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4gV2l0aG91dCBjb250ZXh0" + + "IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBgc2VsZi1ob3N0ZWQgY2hl" + + "Y2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3ZlIHwgc3RyZWFtaW5nIGV2" + + "ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50OyBzZWUgW2V4aXQtY29k" + + "ZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQg" + + "fCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + + "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3RlciBjbHVzdGVyICsgcmVu" + + "ZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBPbmUgaW52b2NhdGlvbiBw" + + "ZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8IE9u" + + "ZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0eSkgc3Rkb3V0LCBwcm9n" + + "cmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7IGZvciBjb21wdXRl" + + "LW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8" + + "IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZyaWVuZGx5LCBubyBj" + + "bHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIC0t" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAtLWt1YmUtY29udGV4dD1Z" + + "IFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGFuIGV4aXN0" + + "aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJhdG9yIHZhbHVlcyB8IHN1" + + "bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQVSBjbHVzdGVyIGFmdGVy" + + "IHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNlbGYtaG9zdGVkIGNvbXB1" + + "dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0PVlgIHwgSW5zdGFsbCBh" + + "IGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCB3" + + "cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29tcHV0ZS1wbGFuZSByZWdp" + + "c3RlcmAgfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1lPVhdIFstLXdhdGNo" + + "XWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFpbi9KU09OTCB8IGAtLXdhdGNo" + + "YCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRl" + + "LXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1maWxl" + + "IGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRy" + + "YWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNlcyBvbiB0aGF0IGNvbXB1dGUg" + + "cGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lIFstLWZvcmNl" + + "LXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1m" + + "aWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBSZWZ1c2VzIGlm" + + "IGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNzIGAtLWZvcmNlLXdpdGgtcmVn" + + "aXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSA8" + + "cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0gZ2V0IG1hbmlmZXN0YCBwZXIg" + + "cmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBlIHRvIGBrdWJlY3RsIGRlbGV0" + + "ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJvcnMgYGluc3RhbGwgLS1uby1h" + + "cHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVggWy0tZHJhaW4tYWN0" + + "aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJhdG9yOiBkcmFpbiDihpIgdW5p" + + "bnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxldGUgaW4gSUNNUyB8IHByb2dy" + + "ZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfAp8IGBz" + + "ZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9yY2hlc3RyYXRvcjogdGVhciBk" + + "b3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wgcGxhbmUgfCBwcm9n" + + "cmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1jb25jdXJyZW5jeWAgKGRlZmF1" + + "bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRlcmFjdGl2ZSB8CnwgYHNlbGYt" + + "aG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3RyYXRvciBkcnktcnVuOiBwaGFz" + + "ZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAobm8gaGVsbS9oZWxtZmlsZSBj" + + "b250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBhbnkgYWN0dWFsIGBkb3duYCoq" + + "IHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwK" + + "fC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1YIC0tbmNhLWlkPVkgWy0t" + + "cmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIgYSBKV0tTK09JREMgd2l0" + + "aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxseTsgc3RhbmRhbG9uZSBmb3Ig" + + "bWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlk" + + "PVkgWy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVkIGNsdXN0ZXIgcmVnaXN0cmF0" + + "aW9ucyBmcm9tIElDTVMgfCBVc2VzIHRoZSBhZG1pbiB0b2tlbjsgYC0tanNvbmAgZm9yIG1hY2hp" + + "bmUtcmVhZGFibGUgb3V0cHV0IHwKfCBgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPUlEYCB8" + + "IFJlLWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01TIHwgQWZ0ZXIgSzhzIEFQSSBz" + + "ZXJ2ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXIt" + + "aWQ9SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVz" + + "ZXIqKiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + + "LS0tfC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENyZWF0ZSBm" + + "dW5jdGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQgKyBWZXJzaW9uIElEOyBMTE0g" + + "ZnVuY3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + + "aWcudXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5k" + + "IGAvdjEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAvIGBmdW5jdGlvbiBsaXN0LWlk" + + "c2AgfCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBmdW5jdGlvbiBnZXQgLS1mdW5j" + + "dGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9uIG1ldGFkYXRhIHwgfAp8IGBm" + + "dW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tdGFncz1U" + + "QUdbLFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAt" + + "LWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0tbW9kZWwtdXBkYXRlPVNQRUNg" + + "IHwgVXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBTUEVDYCB1c2VzIGBuYW1lPTxt" + + "b2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgYWNj" + + "ZXB0ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0oZmxhZ3MubWQpIHwKfCBgZnVu" + + "Y3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTY2hlZHVsZSBhIGRlcGxv" + + "eW1lbnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkwMHMpIHwKfCBgZnVuY3Rpb24g" + + "ZGVwbG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgWy0tanNvbl1gIHwg" + + "RGVwbG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFDVElWRVx8REVQTE9ZSU5HXHxF" + + "UlJPUlx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRhdGUgLS1pbnB1dC1maWxlPUZJ" + + "TEVgIHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwKfCBgZnVuY3Rpb24gZGVwbG95" + + "IHJlbW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgU3RvcCBhIGRlcGxv" + + "eW1lbnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5jdGlvbiBpbnZva2UgLS1pbnB1" + + "dC1maWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24gfCBSZXF1aXJlcyBBUEkga2V5" + + "IChub3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBpbnZva2VkIHRocm91Z2ggYGxs" + + "bS5pbnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVs" + + "LW5hbWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24t" + + "aWQ9VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQgfCAqKkRFU1RSVUNUSVZFOiBj" + + "b25maXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNvbW1hbmRzIHJlcXVpcmUgYE5W" + + "Q0ZfQVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFuZCBgTlZDRl9CQVNFX05WQ1Rf" + + "VVJMYCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4gSW4gYSBmcmVzaCBzZXNzaW9u" + + "LCByZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGluamVjdCBp" + + "dCBhcyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlOyBjaGVjayBgbnZj" + + "dEFwaUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRlIHdpdGggYGFwaS1rZXkgZ2Vu" + + "ZXJhdGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVkLiBSdW4gYGFwaS1rZXkgZ2Vu" + + "ZXJhdGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQgYSBuZXcga2V5LgoKfCBDb21t" + + "YW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZSAtLW5h" + + "bWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1pbWFnZT1JTUdgIHwgU3VibWl0" + + "IGEgY29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0ZTsgdXNlIGAtLWlu" + + "cHV0LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0YXNrIGNyZWF0ZSAtLW5hbWU9" + + "WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxtLWNoYXJ0PUNIQVJUYCB8IFN1" + + "Ym1pdCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2VzIGAtLWltYWdlYCB8Cnwg" + + "YHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1pdCBhIHRhc2sgZnJvbSBhIEpT" + + "T04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBjb25maWd1cmF0aW9u" + + "cyB8CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1saW1pdD1OXWAgfCBMaXN0IHRh" + + "c2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0YXR1c2VzOiBgUVVFVUVEYCwg" + + "YExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBgQ0FOQ0VMRURg" + + "LCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFYX1FVRVVFRF9E" + + "VVJBVElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgdGFzayBkZXRhaWxzIHwgVXNl" + + "cyBzYXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8CnwgYHRhc2sgZXZlbnRzIFt0" + + "YXNrSWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgYSB0YXNrIHwg" + + "fAp8IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1bHQgYXJ0aWZhY3RzIGZvciBh" + + "IGNvbXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdoZW4gYHJlc3VsdEhhbmRsaW5n" + + "U3RyYXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3QgeWV0IHN1cHBvcnRlZCB8Cnwg" + + "YHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5pbmcgdGFzayB8IE5vLW9wIGlm" + + "IGFscmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRlbGV0ZSBbdGFza0lkXWAgfCBE" + + "ZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFzayBJRCArIGN1cnJlbnQgc3Rh" + + "dHVzLCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgZXhwbGljaXRseSBjb25m" + + "aXJtaW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4gRG8gbm90IHRyZWF0IHRoZSBv" + + "cmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24uKiogfAp8IGB0YXNrIHVwZGF0" + + "ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVwZGF0ZSBzZWNyZXRz" + + "IG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBkYXRlZCBieSBuYW1l" + + "LCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkIHwgVmFs" + + "dWVzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVsayAtLXRhc2staWRzPUlEMVss" + + "SUQyLOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3MgaW4gb25lIHJlcXVl" + + "c3QgfCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwt" + + "LS18CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQSSBLZXlzIHZpYSBwdWJsaWMg" + + "YXBpIGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52Y2YtY2xpLnN0YXRlYDsgY2xl" + + "YXJzIHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtleXMgKGZ1bmN0aW9uIGFuZCB0" + + "YXNrKSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9rZW4sIGxhc3QgZW5kcG9pbnRz" + + "LCBmdW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNlbGYtaG9zdGVkIHN0YXR1c2Ag" + + "fAp8IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8dGFza10gWy0tZGVzY3JpcHRp" + + "b2494oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkga2V5cyB8IERlZmF1bHQgKG5v" + + "IGAtLWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtleSBhbmQgYSB0YXNrIGtleTsg" + + "YC0tZm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJhdGVzIG9uZSBvbmx5OyBgLS1z" + + "Y29wZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdlbmVyYXRlIC0tdmFsaWRhdGVg" + + "IHwgTWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IHwgVmFs" + + "aWRhdGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVkaWVuY2UgKE5WQ0YgZm9yIGZ1" + + "bmN0aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBhcGkta2V5IGxpc3RgIHwgTGlz" + + "dCBBUEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5WQ0Ytc2NvcGVkIGtleXMgb25s" + + "eSB8CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtleSByZXZva2UgS0VZLUlEYCB8" + + "IFJlbW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNlcioqIHwKfCBgYXBpLWtleSBz" + + "aG93YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJvbSBzdGF0ZSB8IHwKCiMjIEFn" + + "ZW50IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGFnZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgSW5zdGFsbCBhbGwgYnVuZGxl" + + "ZCBwdWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3NraWxscy9gIGFuZCBgfi8uYWdl" + + "bnRzL3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxscyBkaXJlY3RvcmllcyB8Cnwg" + + "YGFnZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBSZW1vdmUgb25seSBidW5k" + + "bGVkIHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQgYmFzZSBza2lsbHMgZGlyZWN0" + + "b3JpZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJlbWFpbiB8CnwgYGFnZW50LXNr" + + "aWxsIHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxlIHwgRm9yIGRlYnVnZ2luZyB8" + + "CnwgYGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQgU0hBIGFuZCBlbWJlZGRlZCBw" + + "dWJsaWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcIFaVAjNMlAADTJQAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4" + + "aXQtY29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBjb2RlcwoKU3RhYmxlIGFjcm9z" + + "cyBzdWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50IHJldHJ5IC8gc3VyZmFjaW5n" + + "IGxvZ2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1c2VzIHwKfC0tLXwtLS18LS0t" + + "fAp8IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsgaW5zdGFsbCBjb21wbGV0ZWQ7" + + "IGRlcGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVycm9yIHwgSGVsbSByZW5kZXIg" + + "ZmFpbGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBmb3VuZDsgWUFNTCBwYXJzZSBl" + + "cnJvciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQgfCBBIGBjaGVja2AgcmVzdWx0" + + "IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1pc3Npbmc7IGt1YmVjdGwgbm90" + + "IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQ7IGEgY2x1" + + "c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJlY29uZmlnIG9yIGNvbnRleHQs" + + "IG9yIGEgZmlyc3QgQVBJIGNhbGwgdGhhdCBmYWlscyBmb3IgYW55IHJlYXNvbjogcmVmdXNlZCBv" + + "ciBkcm9wcGVkIGNvbm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzLCBhIGZhaWxpbmcgY3Jl" + + "ZGVudGlhbCBwbHVnaW4sIGEgc2VydmVyIGVycm9yKTsgYSBjbHVzdGVyLXZhbGlkYXRvciB0aGF0" + + "IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24g" + + "dGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSk7IGEgYHN0YWxlLW5h" + + "bWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNrIFRlcm1pbmF0aW5nYC4gU3Vj" + + "aCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRpbWUgYnVkZ2V0IGN1dCBhbm90" + + "aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3VsdHMgZXhpdCBgMGAsIGluY2x1" + + "ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxtIHJlbGVhc2UgbGVmdCBtaWQt" + + "b3BlcmF0aW9uLCBhIG5hbWVzcGFjZSB3aXRoIG5vIEhlbG0gcmVsZWFzZSwgYW5kIGEgYGNsdXN0" + + "ZXItdmFsaWRhdG9yYCByb3cgc2F5aW5nIG5vIGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaXMg" + + "c2V0IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsgYC0tbm9uLWludGVy" + + "YWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50IHVucmVhY2hhYmxl" + + "IHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBvdXQgfCBIZWxtIGlu" + + "c3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90IHBhc3MgYmVmb3JlIERVUkFU" + + "SU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dyZXNzOyB0aGUgY2hlY2sncyB0" + + "aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgdGhhdCBjYW4gZmFpbCB0aGUgcnVuIGJlZm9yZSBp" + + "dCBmaW5pc2hlZCAoaXRzIHJvdyBzYXlzIG5vdCBydW4gb3IgY3V0IHNob3J0KSBhbmQgbm8gb3Ro" + + "ZXIgY2hlY2sgZmFpbGVkLiBBIGN1dC1zaG9ydCByb3cga2VlcHMgdGhlIHdvcnN0IHNldmVyaXR5" + + "IGl0cyBjaGVjayBjYW4gcmVwb3J0LCBzbyBhIGNoZWNrIHRoYXQgY2FuIG9ubHkgd2Fybiwgc3Vj" + + "aCBhcyBhIHJlZ2lzdHJ5IHRoYXQgaXMgbm90IGNyaXRpY2FsLCBzdGF5cyBhIHdhcm5pbmcuIEEg" + + "Y2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBzbyBhIHZhbGlkYXRv" + + "cidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJ" + + "TlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGluIHRoZSBgY2hlY2sgLS13" + + "YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBvciBgQ3RybC1DYCBpbiB0" + + "aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkOyB0ZXJtaW5hbCBv" + + "ciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50IHNob3VsZCByZWFjdAoKfCBD" + + "b2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBDb250aW51ZSAvIHJlcG9y" + + "dCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNlcjsgYXNrIGJlZm9yZSBh" + + "bnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1bWFuIHRvIHJlYWQgdGhl" + + "IG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3MgKyB0aGVpciBgaGludFVS" + + "TGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhlcyBwcmVyZXFzLiB8Cnwg" + + "YDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBPUiBgLS10b2tlbj0k" + + "SldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9LLiB8CnwgYDVgIHwgQXNr" + + "IHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50byB0aGUgc3RhbGxlZCBj" + + "b21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0cnkgYXV0b21hdGljYWxs" + + "eTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZvcmUgcmUtcnVubmluZy4g" + + "fAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCByZXBvcnRzIGl0cyBvdXRj" + + "b21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJkaWN0YCwgYHRvdGFsQ2hl" + + "Y2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5pbmdDb3VudGApIGFuZCBu" + + "ZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9jaS1waXBlbGluZXMubWRg" + + "LiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdhaXRgLCBleGl0cyBgMWAg" + + "YmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2VgIGFuZCBg" + + "dmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVudCBmb3IgYSB3YXJu" + + "aW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYCwgYW5k" + + "IG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBjYXJyaWVzIGBjdXRTaG9y" + + "dDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBgZmluYWxgIHdpdGgg" + + "YGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsgYHVwYCBlbWl0cyBg" + + "cGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZhbGlkYXRvciBydW4g" + + "bGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwgYSBwb2QgdGhhdCB3" + + "b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNoZWNrYCBsaXN0cyB0" + + "aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVh" + + "bnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQsIG9uIGV2ZXJ5IGV4" + + "aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0ZGVyciBsaW5lcy4g" + + "T24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9yZSBpdHMgb3duIGNs" + + "ZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVyeSBvdGhlciBub24t" + + "emVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdp" + + "dGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGBy" + + "ZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRp" + + "b258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2Ag" + + "KHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0" + + "aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0" + + "ZGVyci4KUEsHCOUdeab6DwAA+g8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2Yt" + + "Y2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoK" + + "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJ" + + "TEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRl" + + "YnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpz" + + "b25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVy" + + "IGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0" + + "ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENvbnRyb2wtcGxhbmUg" + + "YnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1i" + + "ZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0" + + "IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZl" + + "cnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQg" + + "bmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + + "IG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVf" + + "RU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLCBz" + + "byBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGluZ3MgcmVhZCBm" + + "cm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwgYGxvY2FsYCB8" + + "CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFs" + + "c2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNz" + + "aW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRv" + + "IG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwg" + + "TGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1h" + + "am9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1" + + "dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgcnVu" + + "IHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mgb3IgRFVSQVRJT04g" + + "cnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNlYCkuIEVhY2gg" + + "cnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNoIGNhbiB0YWtlIHVw" + + "IHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlv" + + "bmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNoIGFzIGEgcm9sbG91" + + "dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hlY2tfY29tcGxldGVk" + + "YCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNoZWNrIHRoZSB0aW1lIGJ1ZGdl" + + "dCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRzIGV2ZW50IGNhcnJpZXMgYGN1" + + "dFNob3J0OiB0cnVlYC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0tbm8tY2xlYW51cGAuIEEg" + + "bWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElPTiBpcyBhIHVzYWdlIGVycm9yIChleGl0" + + "IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwg" + + "a3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250" + + "ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBm" + + "b3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11" + + "cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIu" + + "IGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBoZXJlLCBpbiBgTlZDRl9JQ01T" + + "X1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25maWcgYXMgYGljbXNfdXJsYCBv" + + "ciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25lIGRlcml2ZWQgZnJvbSBhIGBiYXNlX2h0" + + "dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2YubnZpZGlhLmNvbWAsIGFzIHRoZSBjb25m" + + "aWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMgYHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBp" + + "cyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1v" + + "bmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBh" + + "bGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBw" + + "YXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJv" + + "bGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93cyB0aGF0IHBhc3MgYXQgaW5m" + + "byBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52OiBgTlZDRl9DTElfU0VMRkhP" + + "U1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVj" + + "a2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250cm9sLXBsYW5lYCwg" + + "YC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIGAtLXByZWAgc2VsZWN0" + + "cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBpdHMgb3duLiBPbmx5CnRoZSBz" + + "ZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mg" + + "b3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVkIHJvbGUgY2hlY2tzIHRoZSBj" + + "dXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBs" + + "dXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBp" + + "cyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAg" + + "aXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywg" + + "dGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQuIEEg" + + "bWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZh" + + "aWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0" + + "YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBgZmFsc2VgIHwKfCBg" + + "LS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29udHJvbCBwbGFuZTogbGVm" + + "dG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3Iu" + + "IE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBsYW5lYCB8IENoZWNr" + + "IHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcywgbm9kZSBp" + + "bm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNvbmZpZ3VyZWQgSUNNUyBVUkws" + + "IGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IGBmYWxzZWAgfAp8IGAt" + + "LWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1jb21wdXRlLXBsYW5lYCwgU0lT" + + "IHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0IGAtLXByZWAgfCBgZmFsc2Vg" + + "IHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgc2hvd24gaW4gdGhlIG91" + + "dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hlY2tgIGRvZXMgbm90IHJlcXVp" + + "cmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUg" + + "aW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fu" + + "bm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMg" + + "b24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9k" + + "cyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5LWxpbWl0c2Agcm93IHBhc3Nl" + + "cyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9T" + + "VEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8CgojIyMgQ2x1" + + "c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUg" + + "Y2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwg" + + "Q2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBh" + + "bmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25seSBpdHMgb3du" + + "IENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNv" + + "bmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpJdCByZWFkcyB0" + + "aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRl" + + "ZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwg" + + "cGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFk" + + "LCBzbyBuZWl0aGVyIHRoZSBjaGVja3MgaXQgcmFuIG5vciB3YXJuaW5ncyBpdApyZXBvcnRlZCBh" + + "cmUgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMgb25seSB0aGUgY2FsbHMgZWFjaCByb2xl" + + "J3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNwYWNlLCBEYWVtb25TZXQgYW5kIHBvZCB3" + + "cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10by1ub2RlIHByb2JlLAphbmQgZGVsZXRp" + + "bmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFsaWRhdG9yIHJ1biBsZWZ0IGJlaGluZC4K" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXIt" + + "dmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6" + + "IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNs" + + "dXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBs" + + "YXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNj" + + "b3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgaXRzIHJvdyBmYWlscyB0aGUg" + + "Y2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdhaXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5" + + "IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBl" + + "YWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBpcyBhIHdhcm5pbmcsIHNvIHRoZSB2" + + "ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3Ry" + + "aWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0byBjaGVjazog" + + "dGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hpbmUsIGFuZCB0aGVpciByZWFjaGFiaWxp" + + "dHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29w" + + "ZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBoYXJib3IuZXhhbXBsZS5jb20vbnZjZmAu" + + "IFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVzIHRoZSBpbnN0YWxsIHB1bGxzIGZyb206" + + "IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwgdGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFn" + + "ZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAsIGFuZCBgcXVheS5pb2Ag" + + "Zm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBsZWF2ZXMg" + + "Y2VydC1tYW5hZ2VyIG91dCBvciBzZXRzIGBjZXJ0TWFuYWdlci5hY21lc29sdmVyLmltYWdlYC4g" + + "YG52Y3IuaW9gIGlzIHByb2JlZCwgYXMgYSB3YXJuaW5nIG9ubHksIHdoZW4gbmVpdGhlciB0aGUg" + + "aW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgaW4tcG9kIHByb2JlcyBh" + + "cmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBoYXMgbm8gcHJveHkuIEEgbWFsZm9ybWVk" + + "IGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4g" + + "RW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkg" + + "YGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlz" + + "IGZvcm0gfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1h" + + "Z2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlk" + + "YXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3li" + + "b3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6" + + "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNs" + + "dXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2Vy" + + "IEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4u" + + "LmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5v" + + "dCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhlbSBpbiB0aGUg" + + "Y2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBB" + + "biB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2Vw" + + "YXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRv" + + "IHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJv" + + "bm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NM" + + "VVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5IGBjbHVzdGVy" + + "X3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCwgYSBsaXN0IG9mIG5hbWVzIHwgZnJvbSB0" + + "aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVd" + + "WzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwg" + + "YmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVz" + + "dGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVg" + + "LCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZh" + + "aWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZD" + + "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVy" + + "X3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSwg" + + "bm90IEt1YmVybmV0ZXMgdG9sZXJhdGlvbiBvYmplY3RzIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxp" + + "ZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZh" + + "dWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENM" + + "SSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUg" + + "aW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBpdCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3Mg" + + "ZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20gYSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFt" + + "ZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVh" + + "dGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFjaGluZSdzIGNyZWRlbnRpYWwgZm9yIHRo" + + "ZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tz" + + "LiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlzIHdoYXQgd2FzIGNvcGllZCBvciBjcmVh" + + "dGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFs" + + "aWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4g" + + "QSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBj" + + "aGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVu" + + "IHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXIt" + + "dmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBl" + + "ZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAsIGB0" + + "cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2" + + "YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZv" + + "ciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBp" + + "cyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBm" + + "b3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBj" + + "aGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVzIHRoZW0gb25jZSB0aGV5IGFyZSAy" + + "NCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGxpc3Qg" + + "YW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMg" + + "dGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXdhaXRgIHwgYGZhbHNlYCB8Cnwg" + + "YC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJy" + + "IGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBgLS0tIGNsdXN0ZXItdmFsaWRhdG9y" + + "IGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hpbmcgZW5kIGxpbmUsIHdoZXJlIHRo" + + "ZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVyYCBvciBgY29tcHV0ZS1wbGFuZS1j" + + "bHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdy" + + "aXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGlu" + + "ZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVj" + + "a2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMg" + + "bG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NP" + + "TkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFu" + + "eSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhl" + + "IE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9Q" + + "VUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5k" + + "CmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBs" + + "b2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNrJ3MgcGxhbmUsIGJlbG93LCBpcyBjaGVj" + + "a2VkIGJlZm9yZSBpdHMgaW5zdGFsbCB3aXRoIHRoZQpgbG9jYWxgIGVudmlyb25tZW50LCBzaW5j" + + "ZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwgc2VjcmV0cyBmcm9tIGl0LCBhbmQgaXQgaXMKbmV2ZXIg" + + "c2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtleQppcyBzZW50IHdoZW4g" + + "dGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciBmb3IgYSByZXBvc2l0b3J5IHdoZXJlIGBudmNy" + + "LmlvYApyZWplY3RzIHRoZSBkb2NrZXIgbG9naW4gKGEgNDAxKSBvciBnaXZlcyBpdCBubyBhY2Nl" + + "c3MgKGEgNDAzKS4gVGhpcyBpcwpkZWNpZGVkIG9uY2UgcGVyIHJlcG9zaXRvcnksIGJlZm9yZSB0" + + "YWcgZGlzY292ZXJ5LCB0aGUgcm93IGFuZCB0aGUKdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQgdXNl" + + "IGl0LCBzbyBhbGwgdGhyZWUgZ2V0IHRoZSBzYW1lIGNyZWRlbnRpYWwsIGFuZCBhCmxvZ2luIHdp" + + "dGggbm8gYWNjZXNzIHRvIG9uZSBvcmcgc3RpbGwgc2VydmVzIHRoZSBvcmdzIGl0IHJlYWNoZXMu" + + "IEEgNDAzIGlzCnJlcG9ydGVkIGFzIG5vIGFjY2VzcyB0byB0aGF0IHJlcG9zaXRvcnksIG5ldmVy" + + "IGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVhY2gKYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVu" + + "dGlhbHMgYWdhaW4sIHNvIGEgbG9naW4gcmVuZXdlZCB3aGlsZSB0aGUgcnVuCndhaXRzIGNvdW50" + + "cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhlIHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRo" + + "ZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBvc2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBw" + + "YXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmlt" + + "YWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNrIHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4g" + + "b3JnIHdpdGggbm8KdGVhbSwgaXMgbm90IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5p" + + "b2AgcmVmdXNlcyBpdC4KClRoZSByZWdpc3RyeSBjaGVjayBiZWxvbmdzIHRvIG9uZSBwbGFuZSwg" + + "d2hvc2Ugc3RhY2sgbmFtZXMgdGhlIHJlZ2lzdHJpZXMKYW5kIHdob3NlIGluc3RhbGwgc3RhdGUg" + + "Z3JhZGVzIHRoZW06IGEgcGxhbmUgdGhlIHJ1biBjaGVja3MgYmVmb3JlIGl0cwppbnN0YWxsLCB3" + + "aGljaCB0aGlzIG1hY2hpbmUgaW5zdGFsbHMgbmV4dCAodGhlIGNvbnRyb2wgcGxhbmUgZm9yIGEg" + + "YmFyZQpgLS1wcmVgIGFuZCBmb3IgYC0tcHJlIC0tY29tcHV0ZS1wbGFuZWAsIHRoZSBjb21wdXRl" + + "IHBsYW5lIGZvcgpgLS1wcmUgLS1jb250cm9sLXBsYW5lYCksIGVsc2UgdGhlIGNvbnRyb2wgcGxh" + + "bmUgd2hlbiB0aGUgcnVuIHZpc2l0cyBpdCwKZWxzZSB0aGUgY29tcHV0ZSBwbGFuZS4KCk9ubHkg" + + "YSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5" + + "IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQmVm" + + "b3JlIGluc3RhbGwgdGhhdCBpbmNsdWRlcyBhIGRvY2tlcgpsb2dpbiBgbnZjci5pb2AgcmVqZWN0" + + "cyBldmVuIHdoZW4gdGhlIE5HQyBrZXkgd29ya3MgaW4gaXRzIHBsYWNlLCBzaW5jZQpgaGVsbWAg" + + "b24gdGhpcyBtYWNoaW5lIHB1bGxzIHRoZSBzdGFjaydzIGNoYXJ0cyB3aXRoIHRoZSBkb2NrZXIg" + + "bG9naW4uIFRoZQprZXkgaXMgc3RpbGwgdXNlZCBmb3IgdGFnIGRpc2NvdmVyeSBhbmQgdGhlIHZh" + + "bGlkYXRvcidzIHB1bGwgc2VjcmV0LCBhbmQgdGhlCnJvdyBuYW1lcyBib3RoLiBBZnRlciBpbnN0" + + "YWxsIGEgcmVqZWN0ZWQgZG9ja2VyIGxvZ2luIHN0aWxsIGZhaWxzLiBBIHJlamVjdGVkCk5HQyBr" + + "ZXkgaXMgYSB3YXJuaW5nIG9ubHkgd2hlbiBgY2hlY2tgIHJlYWRzIHRoZSBwdWxsIHNlY3JldHMg" + + "b2YgdGhlIGNsdXN0ZXJzCml0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhlIHZhbGlkYXRv" + + "ciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZApub25lIG9mIHRoZW0gaG9sZHMgdGhhdCBr" + + "ZXk7IHdoZW4gb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBpdCBpcwphbiBl" + + "cnJvci4gQSBkb2NrZXIgbG9naW4gdGhlIE5HQyBrZXkgcmVwbGFjZWQgcGFzc2VzIGFmdGVyIGlu" + + "c3RhbGwgb25seSB3aGVuCm5vbmUgb2YgdGhvc2UgcHVsbCBzZWNyZXRzIGhvbGRzIGl0OiB3aGVu" + + "IG9uZSBkb2VzIGl0IGlzIGFuIGVycm9yLCBhbmQgd2hlbgp0aGV5IGNhbm5vdCBhbGwgYmUgcmVh" + + "ZCBhIHdhcm5pbmcuIEEgcmVnaXN0cnkgdGhpcyBtYWNoaW5lIGNhbm5vdCByZWFjaCwgYQp0b2tl" + + "biBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3NpbmcgbG9jYWwgY3JlZGVudGlhbCBhcmUg" + + "d2FybmluZ3MuIEEKcmVnaXN0cnkgdGhlIHByb2JlIGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBF" + + "Q1Igb3Igb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzCnNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8g" + + "Y2hlY2sgaXQgYnkgaGFuZC4gQSByZWdpc3RyeSB0aGF0IGxldHMgdGhpcwptYWNoaW5lIGluIGFu" + + "b255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5vdCBhcyB2YWxpZCBjcmVkZW50aWFscy4K" + + "CiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhl" + + "c2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1l" + + "bnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5n" + + "IHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0t" + + "LXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVk" + + "IHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0" + + "ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRz" + + "LmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1X" + + "b3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVk" + + "IGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUg" + + "dmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVu" + + "dm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFt" + + "ZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29t" + + "cG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVk" + + "YCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5h" + + "bC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VD" + + "bGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hlbiBzZXQsIHRoZSB2YWxpZGF0b3IgY2hl" + + "Y2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0" + + "IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8" + + "IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFH" + + "RWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hl" + + "Y2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFs" + + "bDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVf" + + "RU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIHVzZWQgb25seSBmb3IgYSBwbGFuZSBgLS1w" + + "cmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGwsCiAgc2luY2UgYHVwYCBpbnN0YWxscyB3aXRo" + + "IGl0LiBPdGhlcndpc2UgcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBg" + + "YmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhl" + + "IHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGZvciB0aGUgcmVnaXN0cmllcyB3aGVuIHRoZSByZWdpc3RyeSBj" + + "aGVjawogIGJlbG9uZ3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUpLCBlbHNlIHRoZSBDTEkncyBidWls" + + "dC1pbiBzdGFjay4gQSBsb2NhbAogIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4g" + + "YG9jaTovL2Agc3RhY2sgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVyCiAgY29tbWFuZCBleHRyYWN0" + + "ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywgYGZpbGU6Ly9gIGluY2x1ZGVkLCBp" + + "cwogIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZCBzdGF0" + + "ZS4gQSBDTEkgd2l0aCBubwogIGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRz" + + "IHRoZSBzdGFjayBjaGVja291dCBhYm92ZSB0aGUKICB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVy" + + "d2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBm" + + "aW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2Jl" + + "ZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMg" + + "Y2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8" + + "IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwg" + + "Q2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47" + + "IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBg" + + "c3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUg" + + "fCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5k" + + "ZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVu" + + "Y2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5l" + + "bCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8" + + "CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVp" + + "cmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + + "LXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVS" + + "TGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2Ag" + + "fCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoK" + + "IyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25s" + + "eSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAt" + + "LWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBg" + + "R2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBp" + + "cnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9u" + + "IHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQg" + + "c2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxp" + + "ZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWlu" + + "dGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyks" + + "IGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMj" + + "IGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + + "bWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNy" + + "ZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1u" + + "YW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRh" + + "aW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZl" + + "cmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5l" + + "ciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFN" + + "SU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBD" + + "SEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRo" + + "IGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4g" + + "fCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2Ug" + + "bmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBp" + + "cyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9k" + + "ZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0g" + + "bW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0" + + "aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBU" + + "b2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAs" + + "IG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5l" + + "ZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBz" + + "ZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1" + + "bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUg" + + "aGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + + "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + + "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + + "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1" + + "bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFk" + + "YXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVz" + + "IHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2Rl" + + "bC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAv" + + "djEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01l" + + "dGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGly" + + "ZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRg" + + "IGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9r" + + "ZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJl" + + "IGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBh" + + "bmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMs" + + "IGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2Ag" + + "aW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBm" + + "dW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBg" + + "ZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVg" + + "LCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBp" + + "bmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2Vk" + + "IGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2Ug" + + "YG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNl" + + "bGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQg" + + "dXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2Fu" + + "IHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVt" + + "YmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFH" + + "WyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRh" + + "dGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5n" + + "TWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0" + + "aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEw" + + "MDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8Cnwg" + + "YC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24t" + + "bGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1" + + "cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQt" + + "cHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRl" + + "OyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVz" + + "LiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24g" + + "dXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVg" + + "IGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0" + + "ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5v" + + "dCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3Bl" + + "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVj" + + "KS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + + "CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWly" + + "ZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5z" + + "dGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5z" + + "dGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwg" + + "TWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENv" + + "bmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNs" + + "dXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwg" + + "KGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + + "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9u" + + "cy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMs" + + "IGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFt" + + "ZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8" + + "IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0" + + "IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFn" + + "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1o" + + "ZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBP" + + "Q0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1p" + + "bnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlk" + + "ZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8" + + "IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZp" + + "YyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1j" + + "b250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250" + + "YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMy" + + "ImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1l" + + "bnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + + "U2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVz" + + "dCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0" + + "aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGlt" + + "ZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBi" + + "ZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwK" + + "fCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3Rv" + + "cCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0" + + "LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlm" + + "YWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9h" + + "ZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVp" + + "cmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFN" + + "RTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJl" + + "c291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxl" + + "IHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVk" + + "IHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1s" + + "b2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + + "CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRw" + + "b2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVs" + + "ZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwgiCWEDpFsAAKRbAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + + "ZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycywgdGhl" + + "IGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdp" + + "dGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSk6IG91dHNpZGUg" + + "cHJlLWZsaWdodCwgZXZlcnkgZW50cnkgYmVsb3cgc2hvdWxkIG1hcCB0byBhIGBwaGFzZV9mYWls" + + "ZWRgIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGln" + + "aHQKCmBjaGVja2AgcmVwb3J0cyBlYWNoIGZpbmRpbmcgYXMgYSBgY2hlY2tfY29tcGxldGVkYCBl" + + "dmVudCwgbm90IGFzCmBwaGFzZV9mYWlsZWRgLiBUaGUgc3ltcHRvbSBpcyB0aGUgZXZlbnQncyBg" + + "bWVzc2FnZWA7IGNsdXN0ZXItdmFsaWRhdG9yIHJvd3MKcXVvdGUgdGhlIHZhbGlkYXRvcidzIGZh" + + "aWxlZCBzdW1tYXJ5IHJvd3MsIGFuZCBgLS1zaG93LWxvZ3NgIHByaW50cyB0aGUgZnVsbAp0cmFu" + + "c2NyaXB0LgoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + + "fCBga3ViZWN0bCBub3QgZm91bmQgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24n" + + "dCBpbmNsdWRlIGt1YmVjdGwuIEFuIGVycm9yIHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIHdh" + + "cm4sIGFkZGluZyBgOyBvbmx5IGFuIGluc3RhbGwgbmVlZHMgaXRgIHwgSW5zdGFsbCBrdWJlY3Rs" + + "IDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1" + + "YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8v" + + "Z2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBm" + + "b3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxs" + + "LyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIG5vdCBydW46IGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdl" + + "IGlzIG5vdCBzZXQ7IC4uLmAsIHdhcm5pbmcgfCBObyB2YWxpZGF0b3IgaW1hZ2UgaXMgY29uZmln" + + "dXJlZCwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQgfCBTZXQgYGNsdXN0ZXJfdmFs" + + "aWRhdG9yX2ltYWdlYCBpbiB0aGUgbnZjZi1jbGkgY29uZmlnLCBgTlZDRl9DTElfQ0xVU1RFUl9W" + + "QUxJREFUT1JfSU1BR0VgIG9yIGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlYCB8CnwgYGNsdXN0" + + "ZXItdmFsaWRhdG9yIGRpZCBub3QgY29tcGxldGUsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFs" + + "aWRhdGVkOiAuLi5gLCBlcnJvciB8IFRoZSB2YWxpZGF0b3IgY291bGQgbm90IHJ1biBvciBlbmRl" + + "ZCBiZWZvcmUgaXRzIHZlcmRpY3Q6IFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0" + + "cyBvd24gdGltZW91dCB8IEZpeCB0aGUgY2F1c2UgdGhlIG1lc3NhZ2UgbmFtZXMsIG9yIHBhc3Mg" + + "YC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgSm9iIHN1" + + "Y2NlZWRlZDsgaXRzIHRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQgKC4uLilgLCBwYXNzZWQg" + + "fCBUaGUgdmFsaWRhdG9yIHBhc3NlZCwgYnV0IGl0cyBsb2cgY291bGQgbm90IGJlIHJlYWQ6IHRo" + + "ZSBrdWJlY29uZmlnIHVzZXIgbGFja3MgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAs" + + "IG9yIHRoZSBBUEkgc2VydmVyIGNhbm5vdCByZWFjaCB0aGUga3ViZWxldC4gVGhlIGNoZWNrcyBp" + + "dCByYW4gYW5kIHdhcm5pbmdzIGl0IHJlcG9ydGVkIGFyZSBub3Qgc2hvd246IGFuIGltYWdlIHRo" + + "YXQgcHJlZGF0ZXMgdmFsaWRhdG9yIHJvbGVzIHJ1bnMgdGhlIGNvbXB1dGUtcGxhbmUgY2hlY2tz" + + "IGZvciBlaXRoZXIgcm9sZSB8IEdyYW50IGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRg" + + "LCBvciByZWFkIHRoZSB0cmFuc2NyaXB0IHdpdGggdGhlIGBrdWJlY3RsIGxvZ3NgIGNvbW1hbmQg" + + "aW4gdGhlIHJvdyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRl" + + "d2F5IEFQSSBDUkRzOiBOb3QgSW5zdGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3Np" + + "bmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXkt" + + "aGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2Vg" + + "IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFn" + + "ZUNsYXNzOiBOb3QgRm91bmRgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBz" + + "dGFjayBkb2VzIG5vdCBuYW1lIG9uZSB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2Mg" + + "PG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJl" + + "cm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5z" + + "dG9yYWdlQ2xhc3NgIGluIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NU" + + "T1JBR0VfQ0xBU1NgKSB0byB0aGUgY2xhc3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZh" + + "bGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAg" + + "KGNvbXB1dGUtcGxhbmUpIHwgTm8gbm9kZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTog" + + "bm8gR1BVIG5vZGVzLCBvciB0aGUgTlZJRElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5v" + + "dCB3b3JraW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRl" + + "ci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5o" + + "dG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBO" + + "b3QgSW5zdGFsbGVkYCBhbG9uZSBpcyBhIHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDog" + + "YDxucz4gKHN0dWNrIFRlcm1pbmF0aW5nOiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5h" + + "bWVzcGFjZSBoYXMgYmVlbiBkZWxldGluZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25k" + + "aXRpb25zIHJlcG9ydCBhIGRlbGV0aW9uIGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lk" + + "ZSBpdCBzdGlsbCBob2xkcyBhIGZpbmFsaXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJv" + + "dyBpbiBvcmRlcjogcmVhZCBga3ViZWN0bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0" + + "dXMuY29uZGl0aW9uc30nYCwgbGlzdCB3aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJj" + + "ZXNgIGNvbW1hbmQsIGFuZCByZXNvbHZlIHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBu" + + "YW1lc3BhY2UgZmluYWxpemVycyBvbmx5IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1l" + + "c3BhY2VzYDogYDxucz4gKFRlcm1pbmF0aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2Fybmlu" + + "ZyB8IEEgbm9ybWFsIGRlbGV0aW9uIGlzIHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFs" + + "aXplcnMgfCBXYWl0IGFuZCByZXJ1biBgY2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4g" + + "SXQgYmVjb21lcyBgc3R1Y2sgVGVybWluYXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxl" + + "LW5hbWVzcGFjZXNgOiBgPG5zPiAoSGVsbSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNl" + + "PiA8c3RhdHVzPilgLCB3YXJuaW5nIHwgQW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwg" + + "cm9sbGJhY2sgb3IgdGVhcmRvd24gbGVmdCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5p" + + "bnN0YWxsaW5nYC4gVGhlIG5leHQgYHVwYCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3Ig" + + "dGVhcmRvd24gaXMgcnVubmluZywgcmVhZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+" + + "YCwgdGhlbiBmaW5pc2ggaXQgd2l0aCBgaGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxs" + + "YCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5p" + + "bmcgfCBUaGUgbmFtZXNwYWNlIHJ1bnMgbm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVh" + + "c2UsIGJ1dCBzdGlsbCBob2xkcyB2b2x1bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFz" + + "IGBkb3duYCBsZWF2ZXMgdGhlbS4gQSByZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVt" + + "ZXMgfCBJbnNwZWN0IG9ubHk6IGBrdWJlY3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0t" + + "bmFtZXNwYWNlZCAtbyBuYW1lIFx8IHhhcmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hv" + + "dy1raW5kIC0taWdub3JlLW5vdC1mb3VuZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFs" + + "bCBvZiBhIGdhdGVkIGNvbXBvbmVudCBhbHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFs" + + "ZS1uYW1lc3BhY2VzYCByZXBvcnRzIGBubyBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0" + + "YWxsIHwgSGVsbSBzdG9yZXMgcmVsZWFzZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBj" + + "aGVja2AgcmVhZHMgYEhFTE1fRFJJVkVSYCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwg" + + "bm90IGZyb20gdGhlIGhlbG1maWxlIGVudmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1z" + + "cWxgIGJlZm9yZSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRl" + + "cm1pbmF0aW5nIG5hbWVzcGFjZXMgYXJlIGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBk" + + "b2VzIG5vdCBzY2FuIGFuIGFkZC1vbiBvciBnYXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJl" + + "aGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUg" + + "aXMgb24uIEdhdGVzIGNvbWUgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZCwgZm91bmQg" + + "YXMgZm9yIHRoZSBbc2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oZmxhZ3MubWQjc2V0dGlu" + + "Z3MtcmVhZC1mcm9tLXRoZS1zdGFjayk6IGl0cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5k" + + "LCB3aGVuIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAgbmFtZXMgdGhlIGVudmlyb25tZW50IG9y" + + "IGAtLXByZWAgY2hlY2tzIHRoZSBwbGFuZSBiZWZvcmUgaXRzIGluc3RhbGwsIGBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGAuIE90aGVyd2lzZSB0aGUgc3RhY2sgZGVmYXVsdHMgZGVjaWRlLCB3aGlj" + + "aCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAg" + + "YW5kIGBudmNmLXVpYCBvZmYgfCBQYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQsIGFu" + + "ZCB0aGUgc3RhY2sgZmxhZyB0aGUgaW5zdGFsbCB1c2VkLCBpZiBhbnkgfAoKIyMgQXV0aAoKfCBT" + + "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9r" + + "ZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQg" + + "YC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBg" + + "LS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWpl" + + "Y3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBm" + + "b3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5l" + + "IHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8Cnwg" + + "YDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBB" + + "ZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1j" + + "bGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tl" + + "IHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + + "fC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwg" + + "Q2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1" + + "bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1z" + + "eXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rp" + + "b24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhl" + + "IFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEw" + + "MF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8g" + + "aW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JF" + + "R0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1l" + + "bXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZp" + + "bGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVm" + + "b3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBV" + + "cGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Et" + + "b3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IElt" + + "YWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2Fs" + + "IHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxj" + + "bHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8" + + "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09m" + + "ZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBT" + + "dGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdp" + + "c3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZp" + + "bGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVy" + + "IHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpX" + + "S1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24n" + + "dCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52" + + "Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9k" + + "IGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwt" + + "aGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1u" + + "IG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1" + + "bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0g" + + "aW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxs" + + "b3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + + "ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1w" + + "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVg" + + "IHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1l" + + "YCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFm" + + "dGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0" + + "cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4" + + "cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lz" + + "dHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVN" + + "YCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBj" + + "b3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3Vi" + + "ZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBs" + + "eSBpbW1lZGlhdGVseSB8ClBLBwgauLPzYSEAAGEhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "ACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbO" + + "Ei0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4t" + + "CiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5k" + + "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMg" + + "YW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92" + + "ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29t" + + "cHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENM" + + "SS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5h" + + "Z2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBr" + + "M2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBp" + + "bnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1m" + + "aWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3Vi" + + "ZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZj" + + "Zi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBb" + + "bnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUs" + + "IGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1" + + "bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRh" + + "dGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3Jl" + + "LWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNm" + + "LCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29t" + + "cHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1z" + + "ZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxl" + + "LCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5W" + + "Q0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBt" + + "YXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVu" + + "ZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3Jh" + + "ZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + + "YCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2" + + "YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlw" + + "ZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxt" + + "ZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlz" + + "aXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0" + + "aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJz" + + "aW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFz" + + "aApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+" + + "L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRl" + + "LXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5" + + "IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoK" + + "CmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3du" + + "bG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBg" + + "CgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBi" + + "dW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJl" + + "IGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9v" + + "bGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUg" + + "LS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9k" + + "ZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlz" + + "dCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAg" + + "ICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBg" + + "CgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55" + + "YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVu" + + "dHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVL" + + "UywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + + "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMg" + + "SG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMg" + + "dGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25t" + + "ZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25z" + + "dW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29u" + + "c3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52" + + "Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4g" + + "YnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpg" + + "YGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + + "ZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3Rv" + + "cnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQg" + + "dmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlm" + + "IGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRl" + + "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpg" + + "IGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhl" + + "bG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBu" + + "YW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdp" + + "c3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + + "dGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdp" + + "c3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIK" + + "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + + "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0" + + "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2lu" + + "ZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVs" + + "ZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1w" + + "dWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVn" + + "aXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUg" + + "cmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxs" + + "IE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50" + + "aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJl" + + "cXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJ" + + "X0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiRO" + + "R0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxy" + + "ZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29y" + + "ZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBO" + + "b3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIg" + + "aG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4g" + + "c2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+" + + "IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0" + + "cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQg" + + "a2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmly" + + "c3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChu" + + "b3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4g" + + "SWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhl" + + "ciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9y" + + "ZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dv" + + "cmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+" + + "IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSBy" + + "ZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1l" + + "bmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBh" + + "dXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0" + + "cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1h" + + "Z2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9y" + + "IHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSks" + + "IHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92" + + "ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lz" + + "dHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5j" + + "b20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAg" + + "IHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNv" + + "IG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0" + + "cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBU" + + "aGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNv" + + "bnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1h" + + "Z2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29t" + + "ZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8v" + + "YCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21g" + + "KS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhl" + + "bG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50" + + "aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8v" + + "YCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0" + + "aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1p" + + "cnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xv" + + "YmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBX" + + "aGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRp" + + "Y2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRo" + + "ZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6" + + "IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3Jl" + + "YXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1h" + + "Z2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdp" + + "c3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRl" + + "bnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBh" + + "dAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50" + + "aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdp" + + "c3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBp" + + "bWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFp" + + "bgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1" + + "Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBv" + + "ciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6Cgpg" + + "YGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFt" + + "ZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2Vz" + + "WzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3Mg" + + "bWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZp" + + "Z3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9y" + + "bWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3Ig" + + "dGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZm" + + "aXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRF" + + "V0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0" + + "aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRz" + + "IHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2Vl" + + "cCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVu" + + "dCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1k" + + "KS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhF" + + "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+" + + "IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNl" + + "Y3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQg" + + "dGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJh" + + "LnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlv" + + "dSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJv" + + "bGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNo" + + "LWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNh" + + "dGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFs" + + "dWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBo" + + "YXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhh" + + "c2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0t" + + "LXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + + "ZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFz" + + "ZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5" + + "LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFs" + + "IFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMg" + + "dGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdh" + + "dGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxp" + + "dHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0" + + "b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAt" + + "dwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdh" + + "dGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3Rv" + + "bWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3Rh" + + "bmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25s" + + "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9u" + + "LiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5p" + + "dHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tp" + + "cCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1" + + "ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJs" + + "ZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoK" + + "ICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30K" + + "YGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUg" + + "YmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3Bl" + + "Y2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXku" + + "bWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBv" + + "ZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3Vw" + + "cG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29y" + + "ZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdh" + + "dGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5h" + + "bWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpW" + + "ZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxl" + + "ZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5l" + + "dGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3Jl" + + "cCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRl" + + "d2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZv" + + "ciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3Ig" + + "Z1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3" + + "YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMg" + + "YW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + + "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdl" + + "IGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUg" + + "dmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + + "cmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGlu" + + "dGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAs" + + "IGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVy" + + "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29t" + + "cHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFs" + + "bCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBl" + + "eGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93" + + "OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAg" + + "aW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZs" + + "b3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGlu" + + "c3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBj" + + "b21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0" + + "aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVy" + + "eSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJk" + + "b3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3du" + + "KS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wt" + + "cGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3Bl" + + "bmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52" + + "b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2Vydmlj" + + "ZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1w" + + "cm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hl" + + "biBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + + "ZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFt" + + "ZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMg" + + "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0" + + "IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJl" + + "YXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVs" + + "bSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wt" + + "cGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwu" + + "IEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFu" + + "YWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRl" + + "bmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRh" + + "IGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRo" + + "ZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlm" + + "eWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRp" + + "b24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1u" + + "YW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNo" + + "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + + "IHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2Ug" + + "IiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8" + + "YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRp" + + "bmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29y" + + "a3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUu" + + "Zy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xv" + + "YmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkK" + + "CkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBh" + + "IGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVz" + + "PmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3Rh" + + "Y2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + + "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + + "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAg" + + "ICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJN" + + "aQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1l" + + "bW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMg" + + "YDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBs" + + "YWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBh" + + "cHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMg" + + "QXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5j" + + "dCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZv" + + "cm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBr" + + "ZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3Jl" + + "dHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNl" + + "Y3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZp" + + "Y2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0" + + "IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJz" + + "IGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1y" + + "ZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1" + + "ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9T" + + "SURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3Bl" + + "bkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChm" + + "aWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAg" + + "KGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + + "KWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50" + + "LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2Vy" + + "Y29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4g" + + "YFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAi" + + "YmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFy" + + "ZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMg" + + "dGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBv" + + "ZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFz" + + "ZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycg" + + "IiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdq" + + "c29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6" + + "cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIn" + + "cyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNg" + + "cywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBs" + + "aWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQg" + + "dGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+" + + "ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVU" + + "SD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+" + + "ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1z" + + "ZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFi" + + "bGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwt" + + "c2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1h" + + "cGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlICht" + + "dWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2Vy" + + "IGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGlu" + + "IGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwg" + + "c28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNp" + + "ZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtl" + + "eXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1" + + "c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25l" + + "IGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVu" + + "ZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRp" + + "Y2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFt" + + "ZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNo" + + "YXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBi" + + "YXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5" + + "dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5" + + "dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIu" + + "IENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9" + + "Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + + "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + + "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25l" + + "CgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBr" + + "eXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRl" + + "cyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czog" + + "W3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQg" + + "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1" + + "bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpO" + + "b3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcu" + + "LCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwg" + + "YW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMg" + + "UXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAg" + + "ICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBn" + + "ZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2" + + "ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2Ug" + + "fCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsg" + + "YDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNr" + + "IHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDow" + + "LzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5C" + + "YW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6" + + "MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAg" + + "Li4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1" + + "cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGlu" + + "c3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3Bl" + + "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBv" + + "biBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25z" + + "Lmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2" + + "ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIg" + + "Zml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMg" + + "dG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxv" + + "Y2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNv" + + "bm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NB" + + "U1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwg" + + "ZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dv" + + "cmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8" + + "IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNs" + + "YXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwK" + + "fCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBw" + + "YXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2Fp" + + "biB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFs" + + "cyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2Nv" + + "dW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVy" + + "biBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWlu" + + "c3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBv" + + "ciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5" + + "bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFu" + + "ZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5d" + + "KCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8g" + + "cmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRo" + + "IGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBy" + + "dW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcg" + + "ZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3Rh" + + "dGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVs" + + "ZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1l" + + "bnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7" + + "IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFg" + + "KSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52" + + "IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZh" + + "dWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUg" + + "YGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZj" + + "ZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24g" + + "YSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlv" + + "dSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1z" + + "eW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZl" + + "cnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQw" + + "NCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUg" + + "cnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJh" + + "c2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAog" + + "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0" + + "aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBp" + + "YCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBm" + + "aXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tz" + + "IHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGkt" + + "YWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9i" + + "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBj" + + "cmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhh" + + "bXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + + "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + + "KSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJl" + + "XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdn" + + "aW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "YCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5" + + "cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9l" + + "dmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNp" + + "b25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdz" + + "IGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZh" + + "bGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEu" + + "eCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEp" + + "LCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQg" + + "bm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxp" + + "ZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + + "ZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicg" + + "YW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVu" + + "dGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJp" + + "ZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxp" + + "c3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZl" + + "cnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRv" + + "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24i" + + "OiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAg" + + "YWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNr" + + "aW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRl" + + "IHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5" + + "bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRp" + + "ZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVs" + + "bWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8g" + + "cHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + + "YmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0" + + "ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBp" + + "bXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAi" + + "aWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5h" + + "bWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVz" + + "cGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVz" + + "b3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + + "Zmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUg" + + "dGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVz" + + "cGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3Ro" + + "ZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + + "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQg" + + "dXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291" + + "cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBr" + + "dWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1" + + "Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFn" + + "ZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0" + + "b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBq" + + "dW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5n" + + "IGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQt" + + "d29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5l" + + "IGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFj" + + "a3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAg" + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywg" + - "dGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVk" + - "IG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5" + - "IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0" + - "ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAn" + - "aGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJl" + - "Zm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmls" + - "ZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBh" + - "c2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZv" + - "cmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBp" + - "biBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxs" + - "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5" + - "IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBm" + - "aW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQg" + - "bmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + - "LiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9y" + - "LCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2Vz" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxh" + - "bmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVz" + - "ZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWly" + - "IGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3" + - "IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAg" + - "ICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Et" + - "b3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciBy" + - "ZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1l" + - "c3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVz" + - "dGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1Mg" + - "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVz" + - "dGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhl" + - "IENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5k" + - "IGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkg" + - "Y29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRo" + - "ZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXIt" + - "Y2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywg" + - "dGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBl" + - "bnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBk" + - "aXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmls" + - "ZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wg" + - "cGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUi" + - "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwg" + - "YmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwg" + - "YXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdh" + - "dGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9J" + - "RCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUu" + - "eWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBh" + - "bmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVk" + - "IHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qg" + - "c3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9y" + - "IENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20g" + - "dGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEg" + - "Y29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENM" + - "SSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9j" + - "a2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3Ig" + - "TlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQg" + - "cmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlv" + - "LiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVz" + - "ZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4g" + - "YWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBs" + - "b2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBw" + - "YXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3Iu" + - "aW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNl" + - "IGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50" + - "aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1" + - "bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkg" + - "Y3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0" + - "ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1l" + - "bnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBu" + - "b3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBs" + - "b2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRl" + - "bXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAg" + - "ImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAg" + - "ICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVs" + - "bWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwK" + - "ICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBl" + - "ZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGlu" + - "c3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0" + - "YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24g" + - "b2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkg" + - "ZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFs" + - "aWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUg" + - "bmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdp" + - "c3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRy" + - "b2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYg" + - "YW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFy" + - "YXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxl" + - "LCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0" + - "aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29u" + - "dHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZj" + - "ZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91" + - "dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "SEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3Jl" + - "IGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBo" + - "ZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUg" + - "NCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywg" + - "b2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIg" + - "dGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBp" + - "bnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBv" + - "bmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENM" + - "SS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVl" + - "cyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93" + - "IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBs" + - "YW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVz" + - "dGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cg" + + "aW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJh" + + "dGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVz" + + "IGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3Qg" + + "ZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFu" + + "ZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUg" + + "Y29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRh" + + "cmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQg" + + "b24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0" + + "ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + + "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + + "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBh" + + "bmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGlu" + + "c3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGlu" + + "ZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0" + + "dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwg" + + "aWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNf" + + "aG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAt" + + "QyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRo" + + "IENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJF" + + "Q09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1D" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9O" + + "QU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVy" + + "bCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5v" + + "IC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJz" + + "IE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBh" + + "bmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRo" + + "ZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVj" + + "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0" + + "cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVk" + + "IGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFy" + + "dHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5h" + + "bWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0g" + + "cmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdD" + + "X0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGgg" + + "YXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBw" + + "dWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9u" + + "ZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUg" + + "c3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tp" + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQg" + - "cmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhl" + - "biBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5j" + - "bHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21t" + - "YW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2" + - "YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUg" + - "SGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0" + - "cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFp" + - "biIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUt" + - "cHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0t" + - "b3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0t" + - "cGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1r" + - "dWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0" + - "aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBt" + - "aXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJD" + - "YXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGlt" + - "aXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhl" + - "IGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3Nh" + - "bmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwu" + - "Z290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0" + - "aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlp" + - "bmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBt" + - "b2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1p" + - "dHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3Qg" + - "anVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQg" + - "dGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRl" + - "bXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdl" + - "ZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5" + - "aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3lu" + - "Yy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRl" + - "cGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5n" + + "OiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhl" + + "bG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBh" + + "bmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUg" + + "dXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVu" + + "ZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1p" + + "c3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + + "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + + "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBi" + + "dW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGds" + + "b2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91" + + "bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIs" + + "CiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0" + + "ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBh" + + "IGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkg" + + "QVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5z" + + "dGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNy" + + "ZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1" + + "dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25p" + + "dG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25l" + + "IGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21w" + + "dXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQg" + + "SGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9v" + + "bCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAi" + + "VGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJU" + + "aGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0" + + "ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwg" + + "Y2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAg" + + "ICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0" + + "ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hF" + + "TE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUg" + + "YWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMs" + + "IHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0" + + "aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFn" + + "ZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBz" + + "dGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0" + + "aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMt" + + "Y2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBp" + + "bnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBz" + + "ZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcu" + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0" + - "b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZl" + - "cmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2ll" + - "cyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZl" + - "cmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2Fu" + - "ZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhl" + - "IHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAg" + - "InF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGgg" + - "NDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50" + - "aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBz" + - "ZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2" + - "aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3Jv" + - "bmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVk" + - "IHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBh" + - "bmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0" + - "bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAg" + - "ICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0" + - "cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdl" + - "bnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgi" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNy" + - "ZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1" + - "c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0" + - "ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxh" + - "bmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwg" + - "c2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVy" + - "cmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVu" + - "YWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdh" + - "dGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0" + - "aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQg" + - "aG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9s" + - "LXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZj" + - "YS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jl" + - "c3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVt" + - "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJl" + - "ZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5" + - "IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBvaW50cy5udmNmU2Vydmlj" + - "ZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNl" + - "VVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRy" + - "b2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxl" + - "ZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBp" + - "LmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMu" + - "ZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25z" + - "Lmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZp" + - "Z3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5n" + - "IHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21w" + - "dXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwg" + - "cmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkws" + - "IGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2Vj" + - "cmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29t" + - "cHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBt" + - "aXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAi" + - "VGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95" + - "bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmls" + - "ZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ry" + - "b3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rl" + - "ciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29u" + - "dHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQg" + - "ZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhh" + - "dCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVh" + - "c2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4g" + - "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBt" + - "YXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCBy" + - "ZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkg" + - "cHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQg" + - "d2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBU" + - "aGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1" + - "c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0" + - "cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVl" + - "cnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1v" + - "dmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRo" + - "ZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3du" + - "IHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBs" + - "YW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhw" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJv" + + "bC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUt" + + "cHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFs" + + "bCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFj" + + "aywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBj" + + "b21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmls" + + "ZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRp" + + "ZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + + "IGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1" + + "ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "aywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1" + + "ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRl" + + "eHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBy" + + "ZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGlu" + + "Y2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQg" + + "c291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMi" + + "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQu" + + "IEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhl" + + "biBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWlu" + + "Y2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9j" + + "ay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRo" + + "ZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFz" + + "ZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSci" + + "LAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBp" + + "bmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhl" + + "IHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhl" + + "IGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFs" + + "dWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBh" + + "bmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVw" + + "bG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9w" + + "ZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2Vk" + + "IHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJl" + + "bGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3Bh" + + "Y2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + + "c2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIs" + + "CiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMg" + + "KG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3Ro" + + "ZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1h" + + "Z2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIElt" + + "YWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0" + + "aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9k" + + "LCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0" + + "aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUg" + + "KG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxT" + + "ZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxC" + + "YWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRz" + + "IGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hl" + + "Y2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2Nv" + + "dW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92" + + "aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUt" + + "ZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJl" + + "bW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0" + + "aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdp" + + "c3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmln" + + "dXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxl" + + "ciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52" + + "b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBn" + + "cnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0" + + "ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNv" + + "bmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRp" + + "bmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFU" + + "UyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBz" + + "ZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5h" + + "Z2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRo" + + "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhw" + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29t" + - "cHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVj" + - "b25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4g" + - "Y2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBs" + - "YW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0" + - "cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5h" + - "bWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwg" + - "cmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRl" + - "cm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVu" + - "ZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3Ig" + - "bWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZl" + - "ZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0" + - "ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRp" + - "b24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUg" + - "ZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAg" + - "IlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24s" + - "IHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + - "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + - "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + - "dHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCBy" + - "ZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAg" + - "IlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1w" + - "bGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkg" + - "YW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lz" + - "dGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBv" + - "bmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZh" + - "bHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3Jl" + - "ZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFz" + - "ZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFs" + - "dWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJv" + - "dWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFs" + - "dWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAt" + - "PiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFs" + - "dWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + - "IG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3Vu" + - "dCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUg" + - "YWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2" + - "aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3Rl" + - "ZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNo" + - "YXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9u" + - "IjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2Vs" + - "Zi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZp" + - "bGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRv" + - "bnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQ" + - "SSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1" + - "ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmln" + - "dXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxv" + - "YWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNv" + - "bGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0" + - "YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9u" + - "IGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcud29ya2xvYWQuc3Rhcmdh" + - "dGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEg" + - "d2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVj" + - "dGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRv" + - "ZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5j" + - "dGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13" + - "b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVk" + - "IHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJl" + - "cGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAg" + - "IlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93" + - "ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJh" + - "bGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + - "bmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRl" + - "ZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + - "cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdh" + - "aW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCBy" + - "ZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2Zm" + - "LCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAg" + - "ICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0" + - "ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRp" + - "bmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3Qt" + - "Zm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3Rl" + - "ciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAg" + - "ICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEg" + - "bG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNl" + - "bGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0" + - "YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNl" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBy" + - "ZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVu" + - "dCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBs" + - "b2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUg" + - "bG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhh" + - "bXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVh" + - "bCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJh" + - "IFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBP" + - "T00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxl" + - "bTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92" + - "ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMg" + - "U3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9y" + - "ZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFk" + - "IC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVu" + - "ZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFs" + - "dWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUg" + - "c3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAog" + - "IGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0" + - "ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + - "bAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + - "IH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAg" + - "ICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgx" + - "OTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAg" + - "IG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0" + - "ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1s" + - "IC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAK" + - "Ck5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxh" + - "YmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJl" + - "c291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJp" + - "dmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1" + - "bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBt" + - "aXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTog" + - "Q29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNy" + - "LmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTog" + - "bnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRo" + - "ZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2Nr" + - "ZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0g" + - "cmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBg" + - "YmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkg" + - "LWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdp" + - "c3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9j" + - "a2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + - "QVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkg" + - "LWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZp" + - "bGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtl" + - "eSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8w" + - "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQog" + - "IHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFj" + - "ZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + - "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAg" + - "ICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3It" + - "Y3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNv" + - "bnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBj" + - "cmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBs" + - "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBz" + - "eW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0" + - "aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0" + - "ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5k" + - "IHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAg" + - "Zm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFk" + - "YXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1h" + - "Z2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZh" + - "dWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0t" + - "c29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1" + - "Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBs" + - "ZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJy" + - "b2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhl" + - "IGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAog" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1" + - "YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMs" + - "IHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJz" + - "KS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1" + - "c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93" + - "IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93" + - "OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwK" + - "ICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAg" + - "LS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMg" + - "MSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0" + - "aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVz" + - "cGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZl" + - "IHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRo" + - "ZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9u" + - "LCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9y" + - "dCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdp" + - "dGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5n" + - "IHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNt" + - "YXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5" + - "aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlv" + - "bjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRy" + - "b2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250" + - "cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVj" + - "YXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0" + - "bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2Yt" + - "YmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8" + - "YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5Lgpg" + - "YGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJ" + - "bnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRv" + - "IHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShy" + - "ZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBs" + - "ZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRl" + - "bHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVk" + - "IGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2lu" + - "dAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkg" + - "XAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAi" + - "JEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRk" + - "cmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBD" + - "TEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRl" + - "cmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2Nh" + - "dGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJv" + - "bm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29u" + - "bmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoK" + - "Rm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRk" + - "cmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wt" + - "cGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFu" + - "ZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhv" + - "c3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxh" + - "dGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMg" + - "U3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRv" + - "bWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERS" + - "L2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + - "dGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAg" + - "ZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFj" + - "a2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0t" + - "Zm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEw" + - "bQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1" + - "bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24u" + - "CgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVz" + - "IHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3Vi" + - "ZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1" + - "bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMg" + - "U2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwt" + - "LS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5k" + - "cmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5" + - "cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90" + - "YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1h" + - "cGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3" + - "YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZl" + - "IGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9u" + - "bHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRk" + - "b25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwg" + - "RGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVl" + - "YCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdh" + - "dGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8" + - "IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBp" + - "bmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRy" + - "dWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3Rh" + - "Y2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJs" + - "ZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSBy" + - "b3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBu" + - "YW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNl" + - "LWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vl" + - "ci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0" + - "YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQg" + - "aW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFu" + - "ZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2Vu" + - "ZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2Ug" + - "YSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBS" + - "ZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNl" + - "cGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMg" + - "fCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVy" + - "Pi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1s" + - "YCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + - "Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5k" + - "YXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhl" + - "IEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4K" + - "CkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJv" + - "b3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJz" + - "aW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVg" + - "LgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVz" + - "IGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWlu" + - "LCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUt" + - "cGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNN" + - "UywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltD" + - "U1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYu" + - "MC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1l" + - "bnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52" + - "b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFu" + - "ZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2Ug" + - "aG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRy" + - "ZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ug" + - "c3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8" + - "Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAi" + - "aHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0" + - "cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDog" + - "Im5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRw" + - "Oi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6" + - "Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJM" + - "OiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNm" + - "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIK" + - "CmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdh" + - "dGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRl" + - "d2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdh" + - "dGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1l" + - "OiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBs" + - "aXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBj" + - "OgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1h" + - "cGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAg" + - "ICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdh" + - "dGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJh" + - "bzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVl" + - "CmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoK" + - "ICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGlj" + - "bXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAg" + - "IHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxT" + - "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAg" + - "bmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92" + - "ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwg" + - "dGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZv" + - "cmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3Ig" + - "dXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlh" + - "bWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDog" + - "Imh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJl" + - "c3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxn" + - "YXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+" + - "IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAi" + - "c2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMg" + - "b25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSBy" + - "ZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNv" + - "bmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNt" + - "cy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250" + - "ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RF" + - "Ul9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVH" + - "SU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtV" + - "QkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBh" + - "dGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29u" + - "ZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwK" + - "ICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAg" + - "S1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0" + - "aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBr" + - "dWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19G" + - "SUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2Ft" + - "ZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJp" + - "ZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmls" + - "ZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0" + - "ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246Cgpg" + - "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + - "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250" + - "cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1p" + - "ZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJv" + - "bC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgg" + - "Zm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25m" + - "aWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29t" + - "cHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0" + - "cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1j" + - "bHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBs" + - "YW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5h" + - "bWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3Rz" + - "IHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMK" + - "ZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBs" + - "YWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2lu" + - "dCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNy" + - "ZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBg" + - "dGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3Jl" + - "YXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0" + - "aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52" + - "aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9y" + - "YCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVz" + - "cGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBl" + - "eGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJp" + - "ZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRl" + - "d2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRl" + - "d2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3Rh" + - "dHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVv" + - "dXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAog" + - "IG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRv" + - "ciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRp" + - "bWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBz" + - "ZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0" + - "cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9s" + - "IHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBh" + - "cHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0" + - "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRv" + - "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1t" + - "YW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJl" + - "IGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBp" + - "cyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0" + - "aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhl" + - "bG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2" + - "aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVz" + - "cGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3" + - "aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRh" + - "aW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmll" + - "ZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0" + - "cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1j" + - "bGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNs" + - "dXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4g" + - "XAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZy" + - "b20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rl" + - "ci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQg" + - "YW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21w" + - "dXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIs" + - "IHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29u" + - "dHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVD" + - "T05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVj" + - "YXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0" + - "aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93" + - "biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1" + - "ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJz" + - "aXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1o" + - "b3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1p" + - "Y21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVk" + - "IGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9l" + - "cwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUg" + - "YW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElm" + - "IHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBh" + - "bHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9u" + - "CmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4" + - "ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + - "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + - "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0" + - "ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXIt" + - "bmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoK" + + "IlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8g" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMs" + + "IGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFt" + + "ZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2Vy" + + "RW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2Vy" + + "dmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRp" + + "b25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2Vy" + + "dmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNm" + + "QXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNr" + + "cyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0" + + "ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAg" + + "ICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhv" + + "c3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBh" + + "Z2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNl" + + "SG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFk" + + "ZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNv" + + "bnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5h" + + "Z2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGlu" + + "IG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8g" + + "bnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3du" + + "IiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQg" + + "Y29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2" + + "YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2Yg" + + "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5l" + + "IGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBl" + + "aXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJk" + + "b3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + + "c2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYg" + + "dHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRl" + + "bmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + + "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + + "aWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJl" + + "Z2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRv" + + "IGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBs" + + "YW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25h" + + "bCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdo" + + "ZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHBy" + + "ZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVt" + + "b3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24g" + + "d2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1m" + + "aWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdp" + + "dGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRo" + + "ZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNh" + + "SUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhl" + + "ciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24g" + + "Zmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2" + + "ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxl" + + "ZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVl" + + "LCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJv" + + "cnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVh" + + "cmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1" + + "bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5k" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29u" + + "dHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJF" + + "Q09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1u" + + "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAg" + + "ICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0" + + "YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBu" + + "YW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJl" + + "ZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0" + + "YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBj" + + "b25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3Rh" + + "Y2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBm" + + "b3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0" + + "ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVz" + + "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVz" + + "dGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBi" + + "ZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZD" + + "Rj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBw" + + "cmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGws" + + "IHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290" + + "bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0" + + "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJs" + + "b2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5j" + + "ZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBz" + + "ZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhh" + + "dCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChj" + + "YXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2Us" + + "IGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQg" + + "dmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAg" + + "ICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdh" + + "dGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFs" + + "dWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0" + + "aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExM" + + "TSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3Qg" + + "Y2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3Rl" + + "cHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhl" + + "IExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVw" + + "bGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhw" + + "bGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8g" + + "bG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmlj" + + "YWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcg" + + "bWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9u" + + "IHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10" + + "by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNv" + + "bmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtl" + + "ciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3Bv" + + "cnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUg" + + "dXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95" + + "ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVu" + + "dHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + + "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUg" + + "b2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkg" + + "YW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0" + + "ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJv" + + "dXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + + "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBh" + + "dXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9h" + + "ZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5z" + + "cG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHBy" + + "b2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVs" + + "bWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBz" + + "YW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGlu" + + "ZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3" + + "YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdv" + + "cmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBs" + + "b2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5k" + + "X3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJl" + + "bG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0" + + "aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBr" + + "M2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + + "IlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NL" + + "SUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQg" + + "cHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJv" + + "dmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVk" + + "IHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpW" + + "SlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBl" + + "eGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAx" + + "OiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVz" + + "b3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1" + + "LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtp" + + "bGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNl" + + "IHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + + "dGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fz" + + "cy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRv" + + "IGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMg" + + "YmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0" + + "b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRy" + + "YQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVz" + + "cGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0g" + + "Li4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + + "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAg" + + "ICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAg" + + "ICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAg" + + "Y3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJp" + + "ZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAv" + + "dG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNv" + + "dXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZl" + + "YXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hh" + + "cnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6" + + "IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBs" + + "b3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNy" + + "LmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNl" + + "Y3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFt" + + "bAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoK" + + "ICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBp" + + "bWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpg" + + "YGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQg" + + "cHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAg" + + "IiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tl" + + "bicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBh" + + "bmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFw" + + "aS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + + "Z2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQ" + + "dWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBg" + + "aW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2Fu" + + "ZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1s" + + "Ci0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRy" + + "YS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5" + + "CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUt" + + "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAg" + + "IC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6" + + "CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + + "dHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkg" + + "Y2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0" + + "ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + + "b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBT" + + "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUt" + + "cGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNj" + + "b3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChk" + + "ZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVs" + + "bEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5" + + "c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1" + + "c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRz" + + "YSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRz" + + "In1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1u" + + "IHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1" + + "bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlv" + + "CmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hl" + + "biBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMj" + + "IFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1D" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFN" + + "RT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + + "TEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMg" + + "c3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGlu" + + "CltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVh" + + "bnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBk" + + "ZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZp" + + "Zz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lz" + + "dHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2lu" + + "ZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgoj" + + "IyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUg" + + "YGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRp" + + "b24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVz" + + "dHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBl" + + "eHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFj" + + "ay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + + "dWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9y" + + "dCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2Ug" + + "cmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcg" + + "ZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJh" + + "c2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgg" + + "a3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAg" + + "dXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAg" + + "Z3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2Fu" + + "ZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNo" + + "b3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9y" + + "ZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0" + + "aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQg" + + "Q2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJh" + + "bGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6" + + "IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3" + + "YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1sw" + + "XS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0" + + "ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJv" + + "dXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpE" + + "TlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRv" + + "bWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZv" + + "ciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQg" + + "cm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNo" + + "aW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0" + + "aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFy" + + "aW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1w" + + "bGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVw" + + "IHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lz" + + "dHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9y" + + "aWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21w" + + "bGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNo" + + "CmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAi" + + "aHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3" + + "YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "aHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVy" + + "YXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4g" + + "bnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9" + + "aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5" + + "IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNl" + + "cnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5k" + + "cmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9k" + + "cyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3Vi" + + "ZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmlj" + + "IHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxl" + + "YXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5j" + + "aWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3Vw" + + "PXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBj" + + "LXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1" + + "ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBv" + + "cHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + + "ZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAs" + + "IG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + + "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxs" + + "bS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdo" + + "ZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95" + + "IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5h" + + "bWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVu" + + "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5p" + + "dHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0Yg" + + "VUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQg" + + "YGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2Ag" + + "fCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5k" + + "aXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9l" + + "cyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVj" + + "dG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + + "ZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBw" + + "bGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0" + + "LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ug" + + "b25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBu" + + "b3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9s" + + "LXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Cnwg" + + "SGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + + "ZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9y" + + "ZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2Zp" + + "bGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJv" + + "bC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhl" + + "IENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBi" + + "ZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29u" + + "dHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZy" + + "b20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdl" + + "cyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52" + + "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUg" + + "cm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJv" + + "dGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFu" + + "ZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGlu" + + "Z3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52" + + "Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBj" + + "b21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywg" + + "dXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5u" + + "dmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29u" + + "dHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVy" + + "IGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9u" + + "dmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91" + + "dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJl" + + "c3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJl" + + "c3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5T" + + "IGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5" + + "YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwK" + + "Z2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgog" + + "ICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNm" + + "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAg" + + "bnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBu" + + "dmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdy" + + "cGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAg" + + "aW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+" + + "IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMu" + + "Y2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxl" + + "ck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFy" + + "ZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAg" + + "Z3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAg" + + "ICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52" + + "b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBu" + + "dmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBo" + + "b3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToK" + + "ICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVz" + + "OiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBl" + + "bmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6" + + "CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRv" + + "cjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdh" + + "dGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0" + + "ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQy" + + "MjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoK" + + "UHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0" + + "OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwK" + + "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1r" + + "dWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwK" + + "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1r" + + "dWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5" + + "IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNG" + + "X0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNf" + + "dXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1r" + + "ZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1k" + + "b21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxk" + + "cyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJM" + + "YCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBg" + + "aWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVy" + + "LiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBm" + + "cm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToK" + + "CmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + + "ci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNh" + + "LWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0" + + "ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + + "aWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08" + + "cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + + "bmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldL" + + "UyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxv" + + "eW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFu" + + "ZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRl" + + "ZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1" + + "c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5z" + + "dGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBs" + + "YW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + + "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAg" + + "LS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24g" + + "PHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVs" + + "bCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBg" + + "YmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + + "IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1w" + + "cm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFt" + + "ZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lv" + + "biA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "b3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52" + + "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + + "cGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoK" + + "UmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUt" + + "cmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBp" + + "dHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhv" + + "cmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRo" + + "ZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9s" + + "LXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUg" + + "Y29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9y" + + "YCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0" + + "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2Ug" + + "aXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8g" + + "bm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBj" + + "b21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + + "ZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5h" + + "bWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5" + + "IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + + "cHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBu" + + "dmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRT" + + "dGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBg" + + "YAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFu" + + "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhl" + + "IGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25l" + + "LiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVz" + + "cGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRl" + + "bnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBp" + + "bnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + + "ZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2Vk" + + "IHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJp" + + "ZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNz" + + "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBh" + + "ZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRp" + + "bApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBc" + + "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUt" + + "a3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUg" + + "XAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwK" + + "ICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0" + + "ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "cmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0" + + "aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIg" + + "ZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2" + + "ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBg" + + "YmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtV" + + "QkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRy" + + "b2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmll" + + "bnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMg" + + "Y2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRo" + + "ZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + + "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + + "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwg" + + "PGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFt" + + "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAK" + + "ClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBk" + + "b3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5" + + "IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRy" + + "b2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNs" + + "dXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBl" + + "eHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcu" + + "IFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gK" + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0t" + - "Y2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxu" + - "Y2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2gg" + - "cnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMg" + - "cm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3Rlcgpy" + - "ZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "ZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBk" + - "aWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1" + - "cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3Nz" + - "IGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEg" + - "c3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxs" + - "IGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVs" + - "IGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFj" + - "ZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2Qg" + - "KHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tP" + - "ZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAg" + - "ICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVs" + - "bEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxl" + - "ZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVk" + - "CmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGlu" + - "ZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAt" + - "QTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNw" + - "YWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNr" + - "IGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3Jl" + - "dHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMK" + - "a3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7Lmlt" + - "YWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBu" + - "YW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + - "aW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBc" + - "CiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBg" + - "YAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhl" + - "IGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2" + - "YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFy" + - "dCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9u" + - "LXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRz" + - "IGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQp" + - "LgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0" + - "ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFt" + - "ZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMj" + - "IEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2Vy" + - "dmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUg" + - "ICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UK" + - "bnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAg" + - "MTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1h" + - "Z2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sg" + - "T3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlm" + - "IE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0" + - "ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVt" + - "IG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dz" + - "IG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + - "LWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90" + - "IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVz" + - "b3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVu" + - "Kio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERl" + - "c3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1" + - "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFt" + - "ZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQK" + - "ICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNl" + - "cnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRp" + - "YWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhl" + - "YyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0" + - "dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAg" + - "LT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2Vu" + - "IHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3Nl" + - "IE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhl" + - "IE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBz" + - "dGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGlu" + - "c3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRo" + - "ZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50" + - "cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9v" + - "cHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMg" + - "aXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9u" + - "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBz" + - "aG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNj" + - "b3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBp" + - "c3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0" + - "aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4g" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBt" + - "aWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJs" + - "ZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNl" + - "cnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNo" + - "b3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8u" + - "d2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBK" + - "V0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBw" + - "b2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNs" + - "dXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1" + - "c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVi" + - "a2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBr" + - "ZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpg" + - "YGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fz" + - "c2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFn" + - "bm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBj" + - "YXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRl" + - "IENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBp" + - "bgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAg" + - "ICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9y" + - "eTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5" + - "OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4g" + - "dGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2Vz" + - "YC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0" + - "ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2Fu" + - "ZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0" + - "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2Vz" + - "OgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2gg" + - "UG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIElu" + - "c3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIK" + - "YGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9k" + - "ZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdl" + - "dCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNs" + - "YXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNv" + - "dXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2Ny" + - "aWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAg" + - "YGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRv" + - "bXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFp" + - "bGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1" + - "dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3Np" + - "cwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBg" + - "CgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChu" + - "b3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51" + - "cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpg" + - "YGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9t" + - "cwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRz" + - "IHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENo" + - "ZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQg" + - "bG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9i" + - "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3Vi" + - "ZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRh" + - "aWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRp" + - "YWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBi" + - "ZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkg" + - "a2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVj" + - "aG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAk" + - "b2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUq" + - "KjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290" + - "c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBz" + - "ZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVw" + - "ZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUg" + - "bmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwK" + - "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgoj" + - "IyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMK" + - "CkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWlu" + - "YXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWlu" + - "YXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMj" + - "IEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRo" + - "ZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxp" + - "emVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBz" + - "dHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVz" + - "b3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tl" + - "bmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSAr" + - "ICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0" + - "PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQg" + - "IiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJn" + - "ZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NP" + - "TlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRo" + - "ZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwog" + - "IGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMi" + - "IC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8" + - "IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAg" + - "ICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251" + - "bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVh" + - "ZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywg" + - "bm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBv" + - "ZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVy" + - "YXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAt" + - "biBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50" + - "aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0" + - "cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJ" + - "bnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0" + - "aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVk" + - "cyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRl" + - "cGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwK" + - "ICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3Ig" + - "cHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4" + - "aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0" + - "IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2Ug" + - "bG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5l" + - "LXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1w" + - "dG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBh" + - "ZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdh" + - "dGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FU" + - "RVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0" + - "aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIi" + - "CmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAi" + - "aHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVs" + - "ZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAn" + - "aWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGds" + - "b2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5n" + - "ZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxp" + - "dCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMg" + - "YW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2Ft" + - "ZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBs" + - "ZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBO" + - "YW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNl" + - "cnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwK" + - "fC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5k" + - "cmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8" + - "CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2Vy" + - "dmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkt" + - "a2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8" + - "IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdy" + - "ZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJv" + - "dXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVj" + - "dHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0" + - "b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxl" + - "LmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRy" + - "YSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNl" + - "cnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBP" + - "YnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBi" + - "YXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9u" + - "bWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9u" + - "bWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlh" + - "bWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAt" + - "LSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29u" + - "c3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBo" + - "ZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRl" + - "IHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwg" + - "ICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0t" + - "IGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVm" + - "YXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAg" + - "ICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdv" + - "dG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFy" + - "dCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5k" + - "IGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGgg" + - "ZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUg" + - "Q0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJj" + - "ZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxl" + - "cyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwg" + - "UmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18" + - "LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3Rl" + - "bSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2" + - "ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8" + - "CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBE" + - "YXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdp" + - "dGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1s" + - "LmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0t" + - "LS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFw" + - "aS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNp" + - "cyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwK" + - "fCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZj" + - "ZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNm" + - "IHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZp" + - "Y2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2Yg" + - "fCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBs" + - "bG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBu" + - "dmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1h" + - "cGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVs" + - "bS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3Vw" + - "IGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5" + - "LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxh" + - "dGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZj" + - "ZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdv" + - "dG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBh" + - "ZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6" + - "YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwg" + - "Q2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0t" + - "LXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2Vy" + - "dmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lm" + - "aWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgoj" + - "IyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdl" + - "KQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1w" + - "bGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVy" + - "Z2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxl" + - "YXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJl" + - "bHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1w" + - "bGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBk" + - "aXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUg" + - "ZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDog" + - "bnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4u" + - "L2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + - "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywg" + - "TVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5" + - "CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHBy" + - "aXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlh" + - "bWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQog" + - "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4" + - "MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1j" + - "b3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNt" + - "LgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNm" + - "CiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFs" + - "dWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVk" + - "ZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRo" + - "YXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBo" + - "aWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRz" + - "IHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "LS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1" + - "Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0" + - "aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdo" + - "ZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdo" + - "CgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBl" + - "bnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVj" + - "aWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJl" + - "ZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBj" + - "YXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWln" + - "cmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2Fu" + - "ZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBg" + - "Y2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMu" + - "Y29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRz" + - "Qm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3Jl" + - "LnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9k" + - "ZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVj" + - "dG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVy" + - "LmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2Vydmlj" + - "ZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVw" + - "b3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2" + - "aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVu" + - "YWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2lu" + - "ZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lz" + - "IGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxs" + - "bS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMg" + - "ZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBU" + - "aGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNl" + - "IHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29s" + - "YXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6" + - "CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50" + - "OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFi" + - "bGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAg" + - "IG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxz" + - "ZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlk" + - "YXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAg" + - "ICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAg" + - "b25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQK" + - "TlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNv" + - "IHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRo" + - "ZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRo" + - "LmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoK" + - "V29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJv" + - "ZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUg" + - "bWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNl" + - "Y3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0" + - "IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93" + - "ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENv" + - "bmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRl" + - "ciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFp" + - "bi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQp" + - "Cmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3Rh" + - "Y2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVy" + - "YXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVt" + - "b3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoK" + - "ICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5" + - "Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExN" + - "X1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5z" + - "bGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0" + - "aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMg" + - "ZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxh" + - "bmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxh" + - "bmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5W" + - "Q0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBz" + - "eW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBm" + - "cm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0" + - "YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9m" + - "aWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRy" + - "aXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1z" + - "aWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRl" + - "ZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5v" + - "dCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRl" + - "LApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNv" + - "bnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNl" + - "dCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBn" + - "cmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBo" + - "dHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxm" + - "dW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhA" + - "Lm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBs" + - "b2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1" + - "ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29y" + - "aXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0" + - "cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qv" + - "c3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZp" + - "bGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFz" + - "aAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZh" + - "YmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5" + - "IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmds" + - "ZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJl" + - "bGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJv" + - "eHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1k" + - "VVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21l" + - "ci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBh" + - "bmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNG" + - "IFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5" + - "b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2th" + - "Z2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEg" + - "YG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRk" + - "b24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxl" + - "IHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoK" + - "CmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVh" + - "dGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2Us" + - "IGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUK" + - "cmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5" + - "LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxp" + - "bmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdD" + - "X0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVz" + - "ZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVp" + - "Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMj" + - "IEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2Fn" + - "ZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBz" + - "ZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + - "ZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBg" + - "YAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJl" + - "c2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNm" + - "LXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1I" + - "ICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1" + - "cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5" + - "IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0" + - "LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVu" + - "dGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5" + - "BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFn" + - "ZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0Yg" + - "aW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlv" + - "YCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29u" + - "dHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBp" + - "biB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNw" + - "YWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5" + - "dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRt" + - "aXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhl" + - "IHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1g" + - "LgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZl" + - "cm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHVi" + - "LmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJu" + - "by9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFu" + - "ZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBp" + - "LWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAg" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRl" + - "IHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9" + - "bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9j" + - "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAg" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMs" + - "IHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1k" + - "b2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBg" + - "eWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRh" + - "dGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6" + - "IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1w" + - "b2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJlc291cmNlczoKICAgICAg" + - "ICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAg" + - "ICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAt" + - "ICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAg" + - "ICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3Rl" + - "bSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0" + - "Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0" + - "aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVj" + - "dGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNy" + - "ZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWlt" + - "YWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9s" + - "IHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxh" + - "dGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25z" + - "IGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29u" + - "dHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2Vj" + - "cmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1l" + - "c3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2Vy" + - "LXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRv" + - "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJv" + - "bm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5h" + - "bWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVy" + - "ZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5" + - "c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBs" + - "aXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBW" + - "ZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFz" + - "IHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0n" + - "ey5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVk" + - "cyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + - "CiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20v" + - "aW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVj" + - "ayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8" + - "IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQw" + - "MSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhl" + - "IGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQ" + - "dWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9s" + - "ZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRP" + - "bmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhw" + - "bGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBu" + - "ZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFj" + - "dCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIg" + - "c2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVs" + - "bEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBh" + - "ZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxl" + - "dGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1j" + - "b250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwK" + - "YGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBr" + - "eXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBt" + - "YXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNo" + - "b3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVm" + - "ZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQg" + - "ZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBn" + - "ZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQ" + - "SwECFAAUAAgAAAAAACEAhlHYrkoQAABKEAAAEgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVz" + - "dC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAA" + - "kxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAAAAAAAAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAe" + - "Ow+u5hAAAOYQAAA0AAkAAAAAAAAAAAAAAFmHAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9l" + - "eGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAOw3gF+EEgAA" + - "hBIAADcACQAAAAAAAAAAAAAAqpgAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMv" + - "YWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAA" + - "OQAJAAAAAAAAAAAAAACcqwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVh" + - "dGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcA" + - "CQAAAAAAAAAAAAAAq8UAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95" + - "LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAA" + - "AAAAAAAAAAAx6wAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1m" + - "YWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkA" + - "AAAAAAAAAAAAAGP6AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwt" + - "ZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAOCCPFUiCAAAIggAADkACQAA" + - "AAAAAAAAAAAAKiQBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNs" + - "dXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAA" + - "AAAAAAAAALwsAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABWlQIzTJQAA0yUAADAACQAAAAAAAAAAAAAABU8BAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQDlHXmm+g8AAPoPAAAyAAkAAAAAAAAAAAAAAD91AQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQC0TJoSU1gAAFNYAAAtAAkAAAAAAAAAAAAAAKKFAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAGriz82EhAABh" + - "IQAANwAJAAAAAAAAAAAAAABZ3gEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + - "L3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAs" + - "AAkAAAAAAAAAAAAAACgAAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lM" + - "TC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAANRi" + - "AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAAAAAAAAAAibkCAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAbuICAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAADEwMA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAAqRAMA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1z" + - "dHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAA" + - "AAAAAACvbgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAA" + - "AAAAAAAAAAAA3nYDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkAAFONAwAAAA==" + "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFu" + + "LW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + + "IC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + + "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMt" + + "dXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNv" + + "bXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1" + + "bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + + "eSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZl" + + "cmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxm" + + "LW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJh" + + "c2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAt" + + "byB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAt" + + "biA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50" + + "IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0" + + "IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNj" + + "cmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQpr" + + "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFp" + + "bHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAg" + + "ICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0w" + + "ICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMg" + + "c2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRh" + + "ZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sg" + + "d2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+" + + "IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQg" + + "ZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4g" + + "PG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRz" + + "Cmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7" + + "LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBo" + + "YXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFj" + + "ZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAq" + + "KlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAg" + + "a3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAt" + + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + + "a2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFt" + + "ZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + + "Y3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0" + + "IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZp" + + "Z3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2Vj" + + "cmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiog" + + "KG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQ" + + "YXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMu" + + "bWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoq" + + "OiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3Jl" + + "dCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNy" + + "ZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50" + + "KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWlu" + + "dXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVT" + + "ICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIElu" + + "aXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250" + + "YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJh" + + "by4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVs" + + "dC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdl" + + "dCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwg" + + "bG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNr" + + "IGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5h" + + "bWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgox" + + "LiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGlt" + + "YWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdy" + + "YXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNg" + + "IHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFz" + + "aAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8t" + + "c2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQog" + + "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1" + + "bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBy" + + "dW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBg" + + "YGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1j" + + "IG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxv" + + "Z3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5" + + "IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQg" + + "b24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVs" + + "dGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmln" + + "dXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFs" + + "aWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBp" + + "dCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRv" + + "a2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQt" + + "YWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2" + + "ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVs" + + "dCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRo" + + "ZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJs" + + "ZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5" + + "IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2Vz" + + "IHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlv" + + "dXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAg" + + "IG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5" + + "OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1" + + "bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAg" + + "VGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRv" + + "Y3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQg" + + "YEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tz" + + "YCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRo" + + "aW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBl" + + "bmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJl" + + "Y2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIn" + + "cyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2Fu" + + "ZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAg" + + "ICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAg" + + "ICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAt" + + "biBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBg" + + "YAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFs" + + "dWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBg" + + "eWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNw" + + "dTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1" + + "OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAg" + + "aXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNl" + + "IGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5n" + + "CgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBS" + + "RVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAg" + + "MTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1" + + "bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + + "bWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBu" + + "b2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMg" + + "YXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9s" + + "dW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1p" + + "c21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAg" + + "YGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3Mg" + + "ZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMu" + + "ICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBi" + + "YXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxv" + + "Y2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWls" + + "ZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxl" + + "YXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBh" + + "cHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tp" + + "cHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1l" + + "PiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJl" + + "bGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5h" + + "bWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFj" + + "ZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwg" + + "c2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9i" + + "IEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4n" + + "dCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlh" + + "Z25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQg" + + "am9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0" + + "ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoK" + + "IyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + + "by9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipX" + + "cm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4t" + + "c2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2Rl" + + "ZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNv" + + "ZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAog" + + "ICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipS" + + "ZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNp" + + "ZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoK" + + "Rml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdp" + + "dGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJl" + + "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1m" + + "b3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1l" + + "c3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVl" + + "ZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxp" + + "emVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3Bh" + + "Y2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZj" + + "YS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWlu" + + "YXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1" + + "dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBm" + + "YWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + + "cyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01Q" + + "VVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMg" + + "ZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NP" + + "TlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAu" + + "bWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdz" + + "IC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30i" + + "OyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIg" + + "LW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpb" + + "XX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVz" + + "cGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRv" + + "ciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQi" + + "IGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3Bl" + + "Yy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NP" + + "TlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5h" + + "bGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRv" + + "ciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5l" + + "IGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMs" + + "IG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJh" + + "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFu" + + "ZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25s" + + "eSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYg" + + "aW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNv" + + "bXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0" + + "b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3lt" + + "ZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZj" + + "YS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhh" + + "dCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFu" + + "ZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2Fk" + + "ZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNy" + + "ZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9p" + + "bnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVk" + + "IHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2Vy" + + "IGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERp" + + "YWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + + "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + + "dCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJI" + + "b3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNr" + + "IGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52" + + "Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBg" + + "YAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhv" + + "c3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBk" + + "ZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0" + + "ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxh" + + "dGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSgu" + + "Li9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1j" + + "aGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJl" + + "ZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFt" + + "ZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3Rl" + + "bSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3Rl" + + "bSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdy" + + "cGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0t" + + "YXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8" + + "CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8" + + "IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBn" + + "YXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUg" + + "UmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1w" + + "bCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJp" + + "bGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52" + + "aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0" + + "IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAg" + + "ICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8" + + "ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkg" + + "Y3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMg" + + "R28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0" + + "ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0g" + + "MDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52" + + "Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAg" + + "ICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAt" + + "LSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRl" + + "cwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0" + + "IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFy" + + "YXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVl" + + "cyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZs" + + "b3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBh" + + "cyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8" + + "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52" + + "Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhl" + + "bG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVu" + + "dCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwg" + + "Y2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVt" + + "cGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJl" + + "bC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFj" + + "ZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBp" + + "LWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMg" + + "fCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkg" + + "fCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZv" + + "Y2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52" + + "Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1l" + + "c3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5v" + + "dGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBu" + + "dmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxs" + + "bS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwg" + + "bnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1p" + + "bi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlz" + + "IHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJv" + + "dXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVz" + + "ZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kg" + + "Y2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVz" + + "OiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRk" + + "b25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZl" + + "IHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwu" + + "Z290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0t" + + "LXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMp" + + "IHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24g" + + "b2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tp" + + "cHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVw" + + "ZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoK" + + "KipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1" + + "ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBg" + + "dmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUg" + + "dmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + + "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + + "CmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRl" + + "cGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAg" + + "ICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + + "CiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5k" + + "cmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + + "bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUt" + + "aW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + + "RV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRy" + + "YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgog" + + "ICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5h" + + "dGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBp" + + "bmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42" + + "LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpg" + + "YGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFs" + + "c28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBg" + + "dmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVu" + + "Y2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jh" + + "c2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBg" + + "Z2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3Rz" + + "IGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2Vj" + + "cmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tz" + + "IG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5n" + + "b3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5W" + + "YWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBj" + + "b25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBr" + + "ZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRy" + + "YS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRv" + + "cnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0" + + "ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2Vs" + + "ZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3Ng" + + "CgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5p" + + "bWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmln" + + "LmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVt" + + "cGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8K" + + "Ci0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5l" + + "bnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2Uu" + + "KmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYg" + + "ZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1h" + + "Z2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAo" + + "aWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykK" + + "CiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3Jl" + + "IGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdh" + + "dGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0" + + "ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVz" + + "ZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0u" + + "ZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZv" + + "ciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJh" + + "dGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3Rh" + + "Y2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5" + + "OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9u" + + "aXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICBy" + + "ZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAg" + + "ICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAg" + + "Y2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0" + + "ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVz" + + "ZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNs" + + "dXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBn" + + "UlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUg" + + "TExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRk" + + "b25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExT" + + "LWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0" + + "ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJl" + + "cGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmts" + + "b2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtl" + + "ciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1" + + "ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25m" + + "aWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRo" + + "ZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20v" + + "TlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRl" + + "ci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJy" + + "b3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9z" + + "aXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6" + + "CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNm" + + "OgogICAgICAgIHNpZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxy" + + "ZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5l" + + "bnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNh" + + "dGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93" + + "LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGgu" + + "IENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhl" + + "IHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJl" + + "Z2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0" + + "cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdg" + + "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0" + + "aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgpt" + + "dXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25z" + + "IHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0" + + "aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUg" + + "c2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUg" + + "Y29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZl" + + "cnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNh" + + "cjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1" + + "YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1y" + + "b3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZj" + + "Zi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2Ug" + + "LnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17Ilxc" + + "biJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29y" + + "a2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFu" + + "Y2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25m" + + "aWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWlu" + + "L3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJh" + + "dGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNl" + + "cyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + + "ZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + + "ZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94" + + "eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJl" + + "cXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + + "ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1" + + "ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBu" + + "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMg" + + "YW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBk" + + "aXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + + "aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxl" + + "IE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBl" + + "eHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdl" + + "IGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUg" + + "dmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1" + + "ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50" + + "cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxl" + + "ZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpD" + + "cmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVs" + + "bGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFt" + + "ZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAt" + + "ZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdD" + + "IG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUg" + + "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFz" + + "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1" + + "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJv" + + "dXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11" + + "aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBj" + + "b25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJl" + + "dmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3" + + "aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAt" + + "aSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1p" + + "biBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRv" + + "IHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29y" + + "aywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2Yt" + + "dWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + + "dHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3" + + "CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBl" + + "eGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0" + + "c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRp" + + "YWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QK" + + "dXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBs" + + "YW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRy" + + "b2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQg" + + "YW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9y" + + "IGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkK" + + "CiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0" + + "dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGlu" + + "c3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3Bh" + + "Y2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIu" + + "IENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQ" + + "SV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBu" + + "YW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + + "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + + "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + + "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9y" + + "IG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2Vy" + + "LXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJu" + + "byBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDog" + + "Q2x1c3RlclBvbGljeQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRz" + + "CnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdl" + + "cHVsbHNlY3JldC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAg" + + "IC0gcmVzb3VyY2VzOgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAg" + + "ICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBp" + + "LWtleXMiCiAgICAgICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAg" + + "ICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAg" + + "ICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAg" + + "IG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6" + + "CiAgICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9p" + + "bWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAg" + + "ICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpg" + + "YGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBw" + + "bHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQu" + + "IEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNv" + + "bnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhl" + + "bG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxs" + + "CnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNl" + + "Y3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNv" + + "bXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2Vy" + + "dmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9j" + + "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9y" + + "IFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUg" + + "Y29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQ" + + "dWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRo" + + "ZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFs" + + "IGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVk" + + "IGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBj" + + "b250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6" + + "IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24K" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFt" + + "ZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9u" + + "cy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVj" + + "dGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1i" + + "eT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3Nm" + + "dWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29w" + + "ZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1z" + + "eXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBF" + + "Q1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNv" + + "bnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwg" + + "ZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMq" + + "KjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhl" + + "bHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlk" + + "ZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBv" + + "ZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBL" + + "eXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9s" + + "aWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoK" + + "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAt" + + "biA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVy" + + "IG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpg" + + "YGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVs" + + "bHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQg" + + "bmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNy" + + "ZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + + "dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpg" + + "YGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQACAAAAAAAIQCCTBQxShAAAEoQAAASAAkAAAAAAAAA" + + "AAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEArRNx29hk" + + "AADYZAAAIwAJAAAAAAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAeppPnCoRAAAqEQAAMwAJAAAAAAAAAAAAAADFdQAA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhAA7gx2khEwAAIRMAADQACQAAAAAAAAAAAAAAWYcAAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEA1FIZ5IMXAACDFwAANwAJAAAAAAAAAAAAAADlmgAAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAANayAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAAAAAAAADlzAAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAAAGvyAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhALRJ3ydWKQAAVikAADoACQAAAAAAAAAAAAAAnQEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA4II8VSIIAAAiCAAAOQAJAAAAAAAAAAAAAABkKwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAA9jMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAFaVAjNMlAADTJQAA" + + "MAAJAAAAAAAAAAAAAAA/VgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2Nv" + + "bW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAOUdeab6DwAA+g8AADIACQAAAAAAAAAA" + + "AAAAeXwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhACIJYQOkWwAApFsAAC0ACQAAAAAAAAAAAAAA3IwBAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQAauLPzYSEAAGEhAAA3AAkAAAAAAAAAAAAAAOToAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAAAAAAAAAAswoCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAA" + + "SlYAADQACQAAAAAAAAAAAAAAX20CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJ" + + "AAAAAAAAAAAAAAAUxAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBs" + + "ZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAAD5" + + "7AIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUw" + + "AAA7AAkAAAAAAAAAAAAAAI4dAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoq" + + "AABEAAkAAAAAAAAAAAAAALVOAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4" + + "+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAADp5AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAAAABpgQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcA" + + "FwCvCQAA3pcDAAAA" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go index 78428d6408..5b2435ef13 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go @@ -166,7 +166,7 @@ func TestRegistryCredentials_NoAccessMovesOnlyThatScope(t *testing.T) { ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) stack := RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true} - r := registryCredentialCheck(probeRegistryCredential, stack, "nvcr.io/orgb/team", false).Run(ctx) + r := registryCredentialCheck(probeRegistryCredential, stack, "nvcr.io/orgb/team", false, nil).Run(ctx) assert.True(t, r.Passed, r.Message) assert.Equal(t, SeverityInfo, r.Severity) assert.Contains(t, r.Message, "has no access to nvcr.io/orgb/team, so the run sends NGC_API_KEY for it") @@ -193,7 +193,7 @@ func TestRegistryCredentials_EachScopeKeepsTheCredentialThatReachesIt(t *testing {Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true}, {Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true}, } { - r := registryCredentialCheck(probeRegistryCredential, e, e.Registry+"/"+e.RepoHint, false).Run(ctx) + r := registryCredentialCheck(probeRegistryCredential, e, e.Registry+"/"+e.RepoHint, false, nil).Run(ctx) assert.True(t, r.Passed, r.Message) assert.NotContains(t, r.Message, "rejected") assert.NotContains(t, r.Message, "generate a new NGC API key") @@ -220,3 +220,40 @@ func TestRegistryCredentials_AnUnjudgedScopeIsSettledAgain(t *testing.T) { assert.Equal(t, "good-key", got.cred.pass) require.NotNil(t, got.rejectedLogin) } + +// After install a refused credential is no longer called this machine's +// alone without looking. An NGC key the cluster's pull secret also holds, as +// up mints it for the local environment, and a docker login, which the +// cluster's pull secret is often made from, are errors. Only a key the +// cluster's pull secrets do not hold warns. +func TestRegistryCredentialCheck_AfterInstallLooksInTheCluster(t *testing.T) { + newFakeNGC(t, "nothing-matches") + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} + inCluster := func(pass string) ClusterPullSecretChecker { + client := fake.NewSimpleClientset(dockerConfigSecret("nvcr-pull-secret", "nvcf", + mustDockerConfigJSON(t, "nvcr.io", "$oauthtoken", pass))) + return func(ctx context.Context, registry, repo, user, secret string) (string, error) { + return clusterPullSecretHolding(ctx, client, registry, repo, user, secret) + } + } + grade := func(cluster ClusterPullSecretChecker) CheckResult { + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + return registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", true, cluster).Run(ctx) + } + + dockerHome(t, `{}`) + t.Setenv("NGC_API_KEY", "revoked-key") + r := grade(inCluster("revoked-key")) + assert.Equal(t, SeverityError, r.Severity, r.Message) + assert.Contains(t, r.Message, "the cluster's pull secret nvcf/nvcr-pull-secret holds the same key") + r = grade(inCluster("current-key")) + assert.Equal(t, SeverityWarning, r.Severity, r.Message) + assert.Contains(t, r.Message, "affects only this machine") + + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) + t.Setenv("NGC_API_KEY", "") + r = grade(inCluster("current-key")) + assert.False(t, r.Passed) + assert.Equal(t, SeverityError, r.Severity, r.Message) + assert.NotContains(t, r.Message, "affects only this machine") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index d18b22bf9e..51c1cfa948 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -267,10 +267,16 @@ type PreflightConfig struct { // an interrupted run reports no rows for checks it never finished. Interrupted func() bool - // RegistryPostInstall marks a run that checks an installed stack. The - // cluster then pulls with its own pull secrets, so a credential of this - // machine's that a registry rejects is a warning rather than an error. + // RegistryPostInstall marks a run whose registries belong to a plane it + // checks as installed. The cluster then pulls with its own pull secrets, + // so an NGC key a registry rejects is a warning where + // RegistryClusterSecrets shows that no pull secret holds it, and a docker + // login the NGC key replaced passes where none holds the login. RegistryPostInstall bool + // RegistryClusterSecrets looks for a refused credential in the pull + // secrets of the clusters a post-install run checks. Nil leaves that + // unknown. + RegistryClusterSecrets ClusterPullSecretChecker } // DefaultTools returns the kubectl/helmfile/helm specs with version floors @@ -1143,36 +1149,42 @@ func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { label += "/" + reg.RepoHint } seen[reg.Registry] = true - cat.checks = append(cat.checks, registryCredentialCheck(cfg.RegistryChecker, reg, label, cfg.RegistryPostInstall)) + cat.checks = append(cat.checks, registryCredentialCheck(cfg.RegistryChecker, reg, label, + cfg.RegistryPostInstall, cfg.RegistryClusterSecrets)) } return cat } // registryCredentialCheck returns a binaryCheckSpec that probes one registry. -// Only a credential the registry rejected can fail: at error severity for a +// Only a credential the registry refused can fail: at error severity for a // critical registry, at warning for any other. Before install that includes a // docker login nvcr.io rejected even where the NGC key it gave way to works: -// helm on this machine pulls the stack's charts with the docker login. A -// rejection on a post-install run is a warning: it is this machine's -// credential, and the cluster pulls with its own pull secret. Everything else -// the probe can report, from an unreachable registry to a missing local -// credential, is a warning or an informational pass. +// helm on this machine pulls the stack's charts with the docker login. After +// install a refused docker login still fails, while a refused NGC key is a +// warning only where the cluster's pull secrets are read and none holds it, +// and a docker login the key replaced passes only where none holds that +// login. Everything else the probe can report, from an unreachable registry +// to a missing local credential, is a warning or an informational pass. func registryCredentialCheck( checker RegistryCredentialChecker, entry RegistryEntry, label string, postInstall bool, + clusterSecrets ClusterPullSecretChecker, ) binaryCheckSpec { id := "registry-cred-" + label severity := SeverityWarning if entry.Critical { severity = SeverityError } - worst := severity - if postInstall { - worst = SeverityWarning + // heldBy looks for cred in the cluster's pull secrets. + heldBy := func(ctx context.Context, cred registryCredential) (string, error) { + if clusterSecrets == nil { + return "", errors.New("no cluster to read them from") + } + return clusterSecrets(ctx, entry.Registry, entry.RepoHint, cred.user, cred.pass) } return binaryCheckSpec{ ID: id, HumanLabel: fmt.Sprintf("checking credentials for %s...", label), - worst: worst, + worst: severity, Run: func(ctx context.Context) CheckResult { r := CheckResult{ID: id, Severity: severity} err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical) @@ -1198,23 +1210,45 @@ func registryCredentialCheck( case probeAnonymous, probeNotVerified, probeOtherCredential: r.Passed = true r.Severity = SeverityInfo + case probeNoCredential, probeUnverifiable: + r.Severity = SeverityWarning + r.Err = err case probeLoginRejected: - if postInstall { + r.Err = err + if !postInstall { + r.Message += "; before install this fails the check, since helm on this machine pulls the " + + "stack's charts with the docker login" + break + } + switch holder, cmpErr := heldBy(ctx, outcome.refused); { + case holder != "": + r.Message += "; the cluster's pull secret " + holder + " holds that docker login, " + + "so the cluster cannot pull with it either" + case cmpErr != nil: + r.Severity = SeverityWarning + r.Message += "; could not check whether the cluster's pull secrets hold that docker login: " + + cmpErr.Error() + default: r.Passed = true r.Severity = SeverityInfo - break + r.Err = nil } - r.Err = err - r.Message += "; before install this fails the check, since helm on this machine pulls the " + - "stack's charts with the docker login" - case probeNoCredential, probeUnverifiable: - r.Severity = SeverityWarning - r.Err = err case probeRejected: r.Err = err - if postInstall { + if !postInstall || !outcome.keyOnly { + break + } + switch holder, cmpErr := heldBy(ctx, outcome.refused); { + case holder != "": + r.Message += "; the cluster's pull secret " + holder + " holds the same key, " + + "so the cluster cannot pull with it either" + case cmpErr != nil: + r.Message += "; could not check whether the cluster's pull secrets hold the same key: " + + cmpErr.Error() + default: r.Severity = SeverityWarning - r.Message += "; the cluster pulls with its own pull secret, so this affects only this machine" + r.Message += "; no pull secret the cluster holds for " + entry.Registry + + " uses it, so this affects only this machine" } } return r diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 2e66605355..61a4f09076 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -1246,9 +1246,10 @@ func TestRunPreflight_CutShortRowsKeepTheirWorstSeverity(t *testing.T) { } } -// After install a critical registry's rejection only warns, so a cut-short or -// not-run row for it warns too and cannot fail the run. -func TestRunPreflight_CutShortCriticalRegistryAfterInstallWarns(t *testing.T) { +// After install a critical registry can still fail, on a refused docker +// login or a refused key the cluster holds too, so a cut-short or not-run row +// for it keeps error severity, while a non-critical one warns. +func TestRunPreflight_CutShortRegistryAfterInstallKeepsItsWorst(t *testing.T) { prevLocal := localCheckShare localCheckShare = 200 * time.Millisecond t.Cleanup(func() { localCheckShare = prevLocal }) @@ -1258,7 +1259,7 @@ func TestRunPreflight_CutShortCriticalRegistryAfterInstallWarns(t *testing.T) { } res := RunPreflightForRole(context.Background(), PreflightConfig{ Registries: []RegistryEntry{ - {Registry: "nvcr.io", Critical: true}, {Registry: "harbor.example.com", Critical: true}, + {Registry: "nvcr.io", Critical: true}, {Registry: "harbor.example.com"}, }, RegistryChecker: hang, RegistryPostInstall: true, @@ -1266,8 +1267,9 @@ func TestRunPreflight_CutShortCriticalRegistryAfterInstallWarns(t *testing.T) { require.Len(t, res, 2) for _, r := range res { assert.True(t, r.CutShort, r.ID) - assert.Equal(t, SeverityWarning, r.Severity, r.ID+": "+r.Message) } + assert.Equal(t, SeverityError, res[0].Severity, res[0].Message) + assert.Equal(t, SeverityWarning, res[1].Severity, res[1].Message) } // Each term of the validator's run ceiling counts as often as one run can diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index f7aa99b5e9..3a75244706 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -21,6 +21,7 @@ import ( "context" "encoding/base64" "encoding/json" + "errors" "fmt" "strings" "time" @@ -204,9 +205,28 @@ func resolveValidatorPullSecret( func findClusterPullSecret( ctx context.Context, client kubernetes.Interface, registry, repo string, ) (*corev1.Secret, []byte) { + var found *corev1.Secret + var foundCfg []byte + _ = scanClusterPullSecrets(ctx, client, registry, repo, func(s *corev1.Secret, cfg []byte) bool { + found, foundCfg = s, cfg + return true + }) + return found, foundCfg +} + +// scanClusterPullSecrets calls visit, in validatorPullSecretSearchNamespaces +// order, with each docker-registry Secret holding credentials for registry +// and a dockerconfigjson of that entry alone, until visit returns true. The +// error names the namespaces that could not be listed. +func scanClusterPullSecrets( + ctx context.Context, client kubernetes.Interface, registry, repo string, + visit func(s *corev1.Secret, cfg []byte) bool, +) error { + var errs []error for _, ns := range validatorPullSecretSearchNamespaces { secrets, err := listDockerConfigSecrets(ctx, client, ns) if err != nil { + errs = append(errs, fmt.Errorf("list Secrets in %s: %w", ns, err)) continue } for i := range secrets { @@ -222,12 +242,78 @@ func findClusterPullSecret( if s.Namespace == clusterValidatorNamespace && isAnyValidatorSecret(s) { continue } - if cfg, ok := filterDockerConfig(s.Data[corev1.DockerConfigJsonKey], registry, repo); ok { - return s, cfg + if cfg, ok := filterDockerConfig(s.Data[corev1.DockerConfigJsonKey], registry, repo); ok && visit(s, cfg) { + return nil + } + } + } + return errors.Join(errs...) +} + +// ClusterPullSecretChecker returns the pull secret, in a cluster of a plane +// the run checks as installed, that holds user and secret for repo on +// registry, or "" when none does. err reports a cluster whose pull secrets +// could not all be read, so the answer is not known. +type ClusterPullSecretChecker func(ctx context.Context, registry, repo, user, secret string) (string, error) + +// clusterPullSecretCheckTimeout bounds one ClusterPullSecretChecker call +// across its clusters. A var so tests can shorten it. +var clusterPullSecretCheckTimeout = 30 * time.Second + +// NewClusterPullSecretChecker returns a ClusterPullSecretChecker that reads +// the pull secrets findClusterPullSecret reads, in the cluster behind each of +// kubeContexts, "" naming the current context. +func NewClusterPullSecretChecker(kubeContexts []string) ClusterPullSecretChecker { + return func(ctx context.Context, registry, repo, user, secret string) (string, error) { + ctx, cancel := context.WithTimeout(ctx, clusterPullSecretCheckTimeout) + defer cancel() + var errs []error + for _, kubeContext := range kubeContexts { + client, err := connectCluster(ctx, kubeContext) + if err != nil { + errs = append(errs, err) + continue + } + holder, err := clusterPullSecretHolding(ctx, client, registry, repo, user, secret) + if holder != "" { + if kubeContext != "" { + holder += " in context " + kubeContext + } + return holder, nil } + if err != nil { + errs = append(errs, err) + } + } + return "", errors.Join(errs...) + } +} + +// clusterPullSecretHolding returns the namespace/name of a pull secret in +// client's cluster whose entry for registry holds user and secret. +func clusterPullSecretHolding( + ctx context.Context, client kubernetes.Interface, registry, repo, user, secret string, +) (string, error) { + holder := "" + err := scanClusterPullSecrets(ctx, client, registry, repo, func(s *corev1.Secret, cfg []byte) bool { + var doc struct { + Auths map[string]dockerConfigAuth `json:"auths"` } + if json.Unmarshal(cfg, &doc) != nil { + return false + } + for _, entry := range doc.Auths { + if u, p, ok := decodeDockerConfigAuth(entry); ok && u == user && p == secret { + holder = s.Namespace + "/" + s.Name + return true + } + } + return false + }) + if holder != "" { + return holder, nil } - return nil, nil + return "", err } // listDockerConfigSecrets lists namespace's docker-registry Secrets, so the diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index bc0d81b617..6ee91ae6bb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -22,6 +22,9 @@ import ( "encoding/base64" "encoding/json" "errors" + "net/http" + "net/http/httptest" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -621,3 +624,85 @@ func TestPullSecret_PreservedRunIsMarkedOnBothPaths(t *testing.T) { } } } + +// A refused credential is looked for in the pull secrets the validator would +// copy from. A match names the Secret, a validator run's own Secret is not +// the cluster's, and a namespace that cannot be listed leaves the answer +// unknown unless another Secret already holds the credential. +func TestClusterPullSecretHolding(t *testing.T) { + refused := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "revoked") + another := dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "another") + minted := dockerConfigSecret(validatorPullSecretRunName(clusterValidatorComputePlaneRole, "abc"), + clusterValidatorNamespace, refused) + minted.Labels = clusterValidatorRunLabels(clusterValidatorComputePlaneRole, "abc", false) + forbidList := func(namespace string) ktesting.ReactionFunc { + return func(action ktesting.Action) (bool, runtime.Object, error) { + if action.GetNamespace() != namespace { + return false, nil, nil + } + return true, nil, apierrors.NewForbidden(corev1.Resource("secrets"), "", errors.New("no list")) + } + } + holding := func(client *fake.Clientset) (string, error) { + return clusterPullSecretHolding(context.Background(), client, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") + } + + client := fake.NewSimpleClientset(dockerConfigSecret("nvcr-pull-secret", "nvcf", refused)) + holder, err := holding(client) + require.NoError(t, err) + assert.Equal(t, "nvcf/nvcr-pull-secret", holder) + + client = fake.NewSimpleClientset(minted, dockerConfigSecret("nvcr-pull-secret", "nvcf", another)) + holder, err = holding(client) + require.NoError(t, err) + assert.Empty(t, holder, "the validator's own Secret and another key are not a match") + + client = fake.NewSimpleClientset(dockerConfigSecret("nvcr-pull-secret", "nvcf", another)) + client.PrependReactor("list", "secrets", forbidList("ess")) + holder, err = holding(client) + assert.Empty(t, holder) + assert.ErrorContains(t, err, "list Secrets in ess") + + client = fake.NewSimpleClientset(dockerConfigSecret("nvcr-pull-secret", "nvcf", refused)) + client.PrependReactor("list", "secrets", forbidList(clusterValidatorNamespace)) + holder, err = holding(client) + require.NoError(t, err, "a match answers the question whatever else could not be read") + assert.Equal(t, "nvcf/nvcr-pull-secret", holder) +} + +// The checker reads each context's cluster, and a cluster it cannot reach +// leaves the answer unknown. +func TestNewClusterPullSecretChecker_ReadsTheContextsCluster(t *testing.T) { + stored := dockerConfigSecret("nvcr-pull-secret", "nvcf", dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "revoked")) + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + switch { + case r.URL.Path == "/version": + _, _ = w.Write([]byte(`{"major":"1","minor":"30","gitVersion":"v1.30.0"}`)) + case r.URL.Path == "/api/v1/namespaces/nvcf/secrets": + _ = json.NewEncoder(w).Encode(corev1.SecretList{ + TypeMeta: metav1.TypeMeta{Kind: "SecretList", APIVersion: "v1"}, Items: []corev1.Secret{*stored}}) + case strings.HasSuffix(r.URL.Path, "/secrets"): + _, _ = w.Write([]byte(`{"kind":"SecretList","apiVersion":"v1","items":[]}`)) + default: + http.NotFound(w, r) + } + })) + t.Cleanup(srv.Close) + writeKubeconfig(t, srv.URL) + check := NewClusterPullSecretChecker([]string{"test"}) + ctx := context.Background() + + holder, err := check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") + require.NoError(t, err) + assert.Equal(t, "nvcf/nvcr-pull-secret in context test", holder) + holder, err = check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "another") + require.NoError(t, err) + assert.Empty(t, holder) + + srv.Close() + holder, err = check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") + assert.Empty(t, holder) + var unreachable *ClusterUnreachableError + assert.ErrorAs(t, err, &unreachable) +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 0ff787bf4e..a24be99f6d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -102,6 +102,15 @@ const ( type registryProbeOutcome struct { kind registryProbeKind detail string + // refused is the credential a probeRejected or probeLoginRejected is + // about: the one the registry refused, or the docker login it rejected + // before it accepted the NGC key. A run that checks an installed stack + // looks for it in the cluster's pull secrets. + refused registryCredential + // keyOnly marks a probeRejected of the NGC key with no docker login + // rejected for the scope: the one refusal that may be this machine's + // alone once the stack is installed. + keyOnly bool } func (o registryProbeOutcome) Error() string { return o.detail } @@ -209,8 +218,8 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri case !hasCred: return anonymousOutcome(registry, critical, lookupErr) case note != "": - return registryProbeOutcome{kind: probeLoginRejected, detail: note[2:] + "; credentials from " + - cred.source + " valid, and the run uses them in its place"} + return registryProbeOutcome{kind: probeLoginRejected, refused: *settled.rejectedLogin, + detail: note[2:] + "; credentials from " + cred.source + " valid, and the run uses them in its place"} case settled.noAccessLogin != nil: return registryProbeOutcome{kind: probeOtherCredential, detail: fmt.Sprintf( "credentials from %s valid; the docker login from %s has no access to %s, so the run sends %s for it", @@ -233,10 +242,12 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri if settled.fallbackFailure != "" { detail += "; " + settled.fallbackFailure } - return registryProbeOutcome{kind: probeRejected, detail: detail + note} + return registryProbeOutcome{kind: probeRejected, detail: detail + note, refused: cred, + keyOnly: cred.ngcKey && settled.rejectedLogin == nil} case te.rejected(): return registryProbeOutcome{kind: probeRejected, detail: fmt.Sprintf("credentials from %s rejected: %s; %s%s", - cred.source, te.msg, rejectedHint(registry, cred), note)} + cred.source, te.msg, rejectedHint(registry, cred), note), refused: cred, + keyOnly: cred.ngcKey && settled.rejectedLogin == nil} case !hasCred && (te.status == http.StatusUnauthorized || te.status == http.StatusForbidden): // Anonymous access refused: the registry needs a credential this // machine does not have. diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 3ef0843582..da494698cb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -19,6 +19,7 @@ package selfhosted import ( "context" + "errors" "fmt" "net" "net/http" @@ -63,7 +64,7 @@ func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { require.ErrorAs(t, err, &outcome) assert.Equal(t, probeAnonymous, outcome.kind, "no credential was sent, so none is reported valid") - r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false). + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false, nil). Run(context.Background()) assert.True(t, r.Passed) assert.Equal(t, SeverityInfo, r.Severity) @@ -108,7 +109,7 @@ func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { dockerHome(t, inlineDockerConfig(t, host, "u", "p", "")) err = probeRegistryCredential(context.Background(), host, "", false) assert.NoError(t, err, "a token issued for a credential that was sent is a valid credential") - r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false). + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false, nil). Run(context.Background()) assert.Contains(t, r.Message, "credentials valid") } @@ -279,7 +280,7 @@ func TestIsECRRegistry(t *testing.T) { func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { checker := func(_ context.Context, reg, _ string, _ bool) error { return nil } - spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false) + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false, nil) r := spec.Run(context.Background()) assert.True(t, r.Passed) assert.Equal(t, SeverityInfo, r.Severity) @@ -290,7 +291,7 @@ func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { checker := func(_ context.Context, reg, _ string, _ bool) error { return errorf("credentials rejected") } - spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false) + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false, nil) r := spec.Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, SeverityError, r.Severity, "critical registry failure must be error severity") @@ -300,7 +301,7 @@ func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing. checker := func(_ context.Context, reg, _ string, _ bool) error { return errorf("credentials rejected") } - spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}, "quay.io", false) + spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}, "quay.io", false, nil) r := spec.Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, SeverityWarning, r.Severity, "non-critical registry failure must be warning severity") @@ -556,7 +557,7 @@ func TestEnumerateRegistries_OrgOnlyStackRepositoryIsNoScope(t *testing.T) { dockerHome(t, `{}`) t.Setenv("NGC_API_KEY", "revoked-key") ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(true)) - r := registryCredentialCheck(probeRegistryCredential, got[0], "nvcr.io", false).Run(ctx) + r := registryCredentialCheck(probeRegistryCredential, got[0], "nvcr.io", false, nil).Run(ctx) assert.False(t, r.Passed) assert.Equal(t, SeverityError, r.Severity, r.Message) assert.Contains(t, r.Message, "credentials from NGC_API_KEY rejected") @@ -653,7 +654,8 @@ func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { require.ErrorAs(t, err, &outcome) assert.Equal(t, probeNotVerified, outcome.kind) - r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host, Critical: true}, host, false). + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host, Critical: true}, host, + false, nil). Run(context.Background()) assert.True(t, r.Passed) assert.NotContains(t, r.Message, "credentials valid") @@ -896,7 +898,7 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { dockerHome(t, `{}`) } r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: reg.host, Critical: true}, - reg.host, false).Run(context.Background()) + reg.host, false, nil).Run(context.Background()) assert.Equal(t, tc.want.passed, r.Passed, r.Message) assert.Equal(t, tc.want.severity, r.Severity, r.Message) assert.Contains(t, r.Message, tc.want.message) @@ -905,7 +907,8 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { t.Run("ECR", func(t *testing.T) { const ecr = "123456789012.dkr.ecr.us-west-2.amazonaws.com" - r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: ecr, Critical: true}, ecr, false). + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: ecr, Critical: true}, ecr, + false, nil). Run(context.Background()) assert.True(t, r.Passed) assert.Equal(t, SeverityInfo, r.Severity) @@ -918,7 +921,8 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { require.NoError(t, err) host := ln.Addr().String() require.NoError(t, ln.Close()) - r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host, Critical: true}, host, false). + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host, Critical: true}, host, + false, nil). Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, SeverityWarning, r.Severity, "a workstation that cannot reach a registry does not block") @@ -928,7 +932,7 @@ func TestRegistryCredentialCheck_Grading(t *testing.T) { t.Run("non-critical rejection", func(t *testing.T) { reg := newFakeRegistry(t, bearerChallenge, tokenStatus(http.StatusUnauthorized)) dockerHome(t, inlineDockerConfig(t, reg.host, "u", "p", "")) - r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: reg.host}, reg.host, false). + r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: reg.host}, reg.host, false, nil). Run(context.Background()) assert.False(t, r.Passed) assert.Equal(t, SeverityWarning, r.Severity) @@ -957,42 +961,106 @@ func TestProbeRegistryCredential_RetriesTransientFailures(t *testing.T) { assert.Equal(t, 3, calls) } -// A rejected credential on a run that checks an installed stack is a -// warning, whether it is the NGC API key or a docker login: the cluster pulls -// with its own pull secret. Before install a rejection on a critical registry -// is an error. -func TestRegistryCredentialCheck_RejectedAfterInstall(t *testing.T) { - rejectedKey := func(context.Context, string, string, bool) error { - return registryProbeOutcome{kind: probeRejected, detail: "credentials from NGC_API_KEY rejected"} +// clusterHolding is a ClusterPullSecretChecker that answers holder and err, +// and records each credential it was asked about. +func clusterHolding(holder string, err error, asked *[]string) ClusterPullSecretChecker { + return func(_ context.Context, _, _, user, secret string) (string, error) { + if asked != nil { + *asked = append(*asked, user+":"+secret) + } + return holder, err } - rejectedLogin := func(context.Context, string, string, bool) error { - return registryProbeOutcome{kind: probeRejected, detail: "credentials from docker config rejected"} +} + +// After install only a refused NGC key, with no docker login refused beside +// it, can be this machine's alone, and only where the cluster's pull secrets +// were read and none holds it. A refused docker login stays an error, as +// does a key the cluster also holds or that could not be looked for. +func TestRegistryCredentialCheck_RefusalAfterInstall(t *testing.T) { + key := registryCredential{user: "$oauthtoken", pass: "revoked", source: "NGC_API_KEY", ngcKey: true} + login := registryCredential{user: "$oauthtoken", pass: "rotated-out", source: "docker config"} + refusedKey := func(context.Context, string, string, bool) error { + return registryProbeOutcome{kind: probeRejected, detail: "credentials from NGC_API_KEY rejected", + refused: key, keyOnly: true} } - entry := RegistryEntry{Registry: "nvcr.io", Critical: true} - for _, tc := range []struct { + refusedLogin := func(context.Context, string, string, bool) error { + return registryProbeOutcome{kind: probeRejected, detail: "credentials from docker config rejected", + refused: login} + } + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} + for name, tc := range map[string]struct { checker RegistryCredentialChecker postInstall bool + cluster ClusterPullSecretChecker want Severity + message string }{ - {rejectedKey, true, SeverityWarning}, - {rejectedKey, false, SeverityError}, - {rejectedLogin, true, SeverityWarning}, - {rejectedLogin, false, SeverityError}, + "key, before install": {refusedKey, false, nil, SeverityError, "credentials from NGC_API_KEY rejected"}, + "key, no pull secret holds it": {refusedKey, true, clusterHolding("", nil, nil), SeverityWarning, + "no pull secret the cluster holds for nvcr.io uses it, so this affects only this machine"}, + "key, a pull secret holds it": {refusedKey, true, clusterHolding("nvcf/nvcr-pull-secret", nil, nil), + SeverityError, "the cluster's pull secret nvcf/nvcr-pull-secret holds the same key"}, + "key, pull secrets unreadable": {refusedKey, true, clusterHolding("", errors.New("forbidden"), nil), + SeverityError, "could not check whether the cluster's pull secrets hold the same key: forbidden"}, + "key, no cluster to read": {refusedKey, true, nil, SeverityError, "could not check whether"}, + "docker login, before install": {refusedLogin, false, nil, SeverityError, "rejected"}, + "docker login, after install": {refusedLogin, true, clusterHolding("", nil, nil), SeverityError, + "credentials from docker config rejected"}, } { - r := registryCredentialCheck(tc.checker, entry, "nvcr.io", tc.postInstall).Run(context.Background()) - assert.False(t, r.Passed) - assert.Equal(t, tc.want, r.Severity, "postInstall=%v", tc.postInstall) - if tc.postInstall { - assert.Contains(t, r.Message, "affects only this machine") + r := registryCredentialCheck(tc.checker, entry, "nvcr.io", tc.postInstall, tc.cluster). + Run(context.Background()) + assert.False(t, r.Passed, name) + assert.Equal(t, tc.want, r.Severity, name+": "+r.Message) + assert.Contains(t, r.Message, tc.message, name) + if tc.want == SeverityError { + assert.NotContains(t, r.Message, "affects only this machine", name) } } + + var asked []string + registryCredentialCheck(refusedKey, entry, "nvcr.io", true, clusterHolding("", nil, &asked)). + Run(context.Background()) + assert.Equal(t, []string{"$oauthtoken:revoked"}, asked, "the refused key is what is looked for") +} + +// A docker login the NGC key replaced passes after install only where the +// cluster's pull secrets were read and none holds it: one that does means the +// cluster cannot pull either, and unread ones leave that unknown. +func TestRegistryCredentialCheck_ReplacedLoginAfterInstall(t *testing.T) { + login := registryCredential{user: "$oauthtoken", pass: "rotated-out", source: "docker config"} + replaced := func(context.Context, string, string, bool) error { + return registryProbeOutcome{kind: probeLoginRejected, refused: login, + detail: "the docker login from docker config was rejected; credentials from NGC_API_KEY valid"} + } + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} + for name, tc := range map[string]struct { + cluster ClusterPullSecretChecker + passed bool + want Severity + message string + }{ + "held by no pull secret": {clusterHolding("", nil, nil), true, SeverityInfo, "NGC_API_KEY valid"}, + "held by a pull secret": {clusterHolding("nvcf/nvcr-pull-secret", nil, nil), false, SeverityError, + "the cluster's pull secret nvcf/nvcr-pull-secret holds that docker login"}, + "pull secrets unreadable": {clusterHolding("", errors.New("forbidden"), nil), false, SeverityWarning, + "could not check whether the cluster's pull secrets hold that docker login: forbidden"}, + } { + r := registryCredentialCheck(replaced, entry, "nvcr.io", true, tc.cluster).Run(context.Background()) + assert.Equal(t, tc.passed, r.Passed, name) + assert.Equal(t, tc.want, r.Severity, name+": "+r.Message) + assert.Contains(t, r.Message, tc.message, name) + } + var asked []string + registryCredentialCheck(replaced, entry, "nvcr.io", true, clusterHolding("", nil, &asked)). + Run(context.Background()) + assert.Equal(t, []string{"$oauthtoken:rotated-out"}, asked) } // Where the docker login goes first for nvcr.io and nvcr.io rejects it, the // NGC key is sent before the row is graded. The run then moves to the key, // so the validator's pull secret is minted from the credential the row found // accepted, and the row says how to renew the login docker still sends. -// After install that passes. +// After install that passes where no cluster pull secret holds the login. func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) { ngc := newFakeNGC(t, "good-key") dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) @@ -1000,8 +1068,11 @@ func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} rc := NewRegistryCredentials(false) ctx := WithRegistryCredentials(context.Background(), rc) - r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", true).Run(ctx) + var asked []string + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", true, clusterHolding("", nil, &asked)). + Run(ctx) assert.True(t, r.Passed, r.Message) + assert.Equal(t, []string{"$oauthtoken:rotated-out"}, asked, "the cluster is searched for the rejected login") assert.Equal(t, SeverityInfo, r.Severity) assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") assert.Contains(t, r.Message, "the docker login from docker config") @@ -1029,7 +1100,7 @@ func TestRegistryCredentialCheck_BeforeInstallGradesTheRejectedLogin(t *testing. for _, critical := range []bool{true, false} { entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: critical} - r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", false).Run(ctx) + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", false, nil).Run(ctx) assert.False(t, r.Passed, r.Message) assert.Equal(t, map[bool]Severity{true: SeverityError, false: SeverityWarning}[critical], r.Severity) assert.Contains(t, r.Message, "nvcr.io: the docker login from docker config") @@ -1046,18 +1117,20 @@ func TestRegistryCredentialCheck_BeforeInstallGradesTheRejectedLogin(t *testing. clusterValidatorComputePlaneRole), "the validator's pull secret carries the key") } -// When nvcr.io rejects the key too, the row is graded on the key: an error -// before install, a warning after it, naming both credentials. +// When nvcr.io rejects the key too, the row is graded on the key, naming both +// credentials. A docker login was rejected as well, so it is an error after +// install too. func TestProbeRegistryCredential_RejectedLoginAndKey(t *testing.T) { ngc := newFakeNGC(t, "nothing-matches") dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) t.Setenv("NGC_API_KEY", "revoked-key") entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} - for postInstall, want := range map[bool]Severity{true: SeverityWarning, false: SeverityError} { + for _, postInstall := range []bool{true, false} { ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) - r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", postInstall).Run(ctx) + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", postInstall, + clusterHolding("", nil, nil)).Run(ctx) assert.False(t, r.Passed) - assert.Equal(t, want, r.Severity, "postInstall=%v", postInstall) + assert.Equal(t, SeverityError, r.Severity, "postInstall=%v", postInstall) assert.Contains(t, r.Message, "credentials from NGC_API_KEY rejected") assert.Contains(t, r.Message, "generate a new NGC API key") assert.Contains(t, r.Message, "the docker login from docker config") From f55afbad111cdbb05ae2db74dfa23aba6b02f740 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 10:51:21 +0530 Subject: [PATCH 107/127] fix(nvcf-cli): ignore SIGPIPE for the whole check run so a reader that exits early cannot kill it before teardown Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 12 +-- .../cmd/self_hosted_check_scope_test.go | 73 +++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index fd1e5406da..2c2abbbba5 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -182,6 +182,12 @@ func init() { } func runSelfHostedCheck(c *cobra.Command, _ []string) error { + // A reader of stdout or stderr that exits early, such as grep -m1, head or + // a jq that fails on a line, or one a signal to the process group ends, + // would otherwise have the next write kill the process mid-run, with the + // validator's cluster-wide RBAC in place. Every write discards its error. + // It stays ignored after return, for the error cobra prints afterwards. + signal.Ignore(syscall.SIGPIPE) if !checkPre && !checkControlPlane && !checkComputePlane && !checkAll { return fmt.Errorf("at least one of --pre, --control-plane, --compute-plane, or --all is required") } @@ -259,14 +265,10 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // interrupt ends the run on the first signal or the quit key. A second // Ctrl-C then exits at once, through the default handler. SIGTERM and // SIGHUP stay caught until return: CI follows its SIGINT with a SIGTERM a - // few seconds later. SIGPIPE is ignored before the run is cancelled, and - // stays ignored after return: a signal to the process group also ends a - // pipe reading stderr, and a write to it, in the teardown or in the error - // cobra prints afterwards, would otherwise kill the process. + // few seconds later. var interruptOnce sync.Once interrupt := func() { interruptOnce.Do(func() { - signal.Ignore(syscall.SIGPIPE) signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) signal.Stop(caught) cancelSig() diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 7c10c78550..e48473159a 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -714,6 +714,79 @@ func TestCheck_InterruptSurvivesTheEndOfItsStderrReader(t *testing.T) { assert.Equal(t, 130, child.ProcessState.ExitCode(), "%v\n%s", waitErr, stdout.String()) } +// brokenPipeChild runs TestCheck_AnOutputReaderThatExitsEarlyDoesNotKillTheRun +// as the child process. Its value is the stream the parent reads, stdout or +// stderr, and the directory the two processes leave their markers in. +const brokenPipeChild = "NVCF_CLI_TEST_BROKEN_PIPE_CHILD" + +// A reader that stops early, such as grep -m1, head or a jq that fails on a +// line, closes its pipe while the run goes on, with no interrupt. Writing an +// event to that pipe while a validator holds its cluster-wide RBAC must not +// kill the process before the teardown has removed it, nor after it, before +// the command returns. +func TestCheck_AnOutputReaderThatExitsEarlyDoesNotKillTheRun(t *testing.T) { + const started = "validator started" + if spec := os.Getenv(brokenPipeChild); spec != "" { + stream, dir, _ := strings.Cut(spec, ":") + out := os.Stderr + if stream == "stdout" { + out = os.Stdout + } + err := executeCheck(t, time.Minute, func( + ctx context.Context, p selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { + p.OnStart("run1") + fmt.Fprintln(out, started) + for deadline := time.Now().Add(30 * time.Second); time.Now().Before(deadline); { + if _, err := os.Stat(filepath.Join(dir, "reader-gone")); err == nil { + break + } + time.Sleep(10 * time.Millisecond) + } + // Another role's event, written while this run's objects exist. + fmt.Fprintln(out, `{"event":"check_started"}`) + time.Sleep(100 * time.Millisecond) + _ = os.WriteFile(filepath.Join(dir, "teardown"), nil, 0o600) + return selfhosted.ClusterValidatorResult{Err: ctx.Err(), Passed: ctx.Err() == nil, RunID: "run1", + Created: true, Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + }, os.Stderr) + _ = os.WriteFile(filepath.Join(dir, "return"), nil, 0o600) + os.Exit(ExitCodeFromError(err)) + } + + for _, stream := range []string{"stderr", "stdout"} { + ctx, cancel := context.WithTimeout(context.Background(), time.Minute) + dir := t.TempDir() + r, w, err := os.Pipe() + require.NoError(t, err) + child := exec.CommandContext(ctx, os.Args[0], "-test.run=^"+t.Name()+"$") + child.Env = append(os.Environ(), brokenPipeChild+"="+stream+":"+dir) + var other bytes.Buffer + child.Stdout, child.Stderr = &other, w + if stream == "stdout" { + child.Stdout, child.Stderr = w, &other + } + require.NoError(t, child.Start(), stream) + require.NoError(t, w.Close()) + + seen := false + for lines := bufio.NewScanner(r); !seen && lines.Scan(); { + seen = lines.Text() == started + } + require.NoError(t, r.Close()) + require.NoError(t, os.WriteFile(filepath.Join(dir, "reader-gone"), nil, 0o600)) + waitErr := child.Wait() + cancel() + require.True(t, seen, "%s: the validator never started:\n%s", stream, other.String()) + status, _ := child.ProcessState.Sys().(syscall.WaitStatus) + assert.False(t, status.Signaled(), "%s: killed by %v\n%s", stream, status.Signal(), other.String()) + for marker, what := range map[string]string{"teardown": "its teardown", "return": "the command returned"} { + _, err = os.Stat(filepath.Join(dir, marker)) + assert.NoError(t, err, "%s: the process died before %s: %v\n%s", stream, what, waitErr, other.String()) + } + } +} + // terminalSink stands in for the --wait dashboard, which draws on the // alternate screen: what is written to the terminal before it closes is lost. type terminalSink struct { From 69b618c5f4bff63e2a5c5200f306f1ae18ed20e3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 10:57:33 +0530 Subject: [PATCH 108/127] fix(nvcf-cli): accept yes, no, on and off in the check env toggles and keep a signal ignored at start ignored Signed-off-by: rohithb --- .../reference/exit-codes.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 45 +- .../cmd/self_hosted_check_scope_test.go | 82 +- .../agentskill/skilldata_generated.go | 4852 +++++++++-------- .../internal/selfhosted/progress/select.go | 15 +- 5 files changed, 2547 insertions(+), 2449 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md index 7332cd8d00..c68691fb6f 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/exit-codes.md @@ -9,7 +9,7 @@ Stable across subcommands. Use these to drive agent retry / surfacing logic. | `2` | Pre-flight check failed | A `check` result at error severity: Gateway API CRDs missing; kubectl not on PATH with `--pre`; default StorageClass absent; a cluster the CLI cannot reach (missing kubeconfig or context, or a first API call that fails for any reason: refused or dropped connection, rejected credentials, a failing credential plugin, a server error); a cluster-validator that could not run (RBAC denied, image pull failure, its own timeout, no tag found for an untagged image); a `stale-namespaces` row naming a namespace `stuck Terminating`. Such a result is exit `2` even when the time budget cut another check short. Warning-severity results exit `0`, including a namespace still deleting, a Helm release left mid-operation, a namespace with no Helm release, and a `cluster-validator` row saying no `cluster_validator_image` is set | | `3` | Admin auth failed | No token + `--non-interactive` set; ICMS rejected JWT; init endpoint unreachable | | `5` | Manifest apply or `--wait` timed out | Helm install timeout; check polled but did not pass before DURATION, including a rollout still in progress; the check's time budget stopped a check that can fail the run before it finished (its row says not run or cut short) and no other check failed. A cut-short row keeps the worst severity its check can report, so a check that can only warn, such as a registry that is not critical, stays a warning. A check that already had its result keeps it, so a validator's own failure is exit `2` | -| `130` | Cancelled by SIGINT, SIGTERM or SIGHUP, or by a quit key in the `check --wait` dashboard | User Ctrl-C; `q`, `Esc` or `Ctrl-C` in the dashboard; CI budget exceeded; pod evicted; terminal or SSH session closed | +| `130` | Cancelled by SIGINT, SIGTERM or SIGHUP, or by a quit key in the `check --wait` dashboard | User Ctrl-C; `q`, `Esc` or `Ctrl-C` in the dashboard; CI budget exceeded; pod evicted; terminal or SSH session closed. A signal `check` was started with ignored stays ignored, so a `check` run under `nohup` outlives the session | ## How an agent should react diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 2c2abbbba5..9e1a9e12c0 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -26,7 +26,6 @@ import ( "os" "os/signal" "path/filepath" - "strconv" "strings" "sync" "syscall" @@ -254,11 +253,18 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // session) so an interrupted run unwinds through its deferred cleanup. // Without this the process exits on the signal and the validator's // cluster-wide ClusterRole, bound to a ServiceAccount in default, stays - // behind until a later check's orphan sweep. + // behind until a later check's orphan sweep. A signal the process started + // with ignored stays ignored: nohup ignores SIGHUP so that the run outlives + // the session, and a shell without job control starts a background job + // with SIGINT ignored. sigCtx, cancelSig := context.WithCancel(runCtx) defer cancelSig() + // Read before Notify: a signal relayed to a channel no longer reads as + // ignored. + caughtSignals := notIgnored(os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + heldSignals := notIgnored(syscall.SIGTERM, syscall.SIGHUP) caught := make(chan os.Signal, 1) - signal.Notify(caught, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + notifyOn(caught, caughtSignals) defer signal.Stop(caught) held := make(chan os.Signal, 1) defer signal.Stop(held) @@ -269,7 +275,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { var interruptOnce sync.Once interrupt := func() { interruptOnce.Do(func() { - signal.Notify(held, syscall.SIGTERM, syscall.SIGHUP) + notifyOn(held, heldSignals) signal.Stop(caught) cancelSig() }) @@ -493,6 +499,25 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { return runErr } +// notIgnored returns the signals in sigs that the process does not ignore. +func notIgnored(sigs ...os.Signal) []os.Signal { + var out []os.Signal + for _, sig := range sigs { + if !signal.Ignored(sig) { + out = append(out, sig) + } + } + return out +} + +// notifyOn relays sigs to ch. With none it relays nothing, where +// signal.Notify with no signals relays every one. +func notifyOn(ch chan<- os.Signal, sigs []os.Signal) { + if len(sigs) > 0 { + signal.Notify(ch, sigs...) + } +} + // printInterruptCleanup says, as soon as a run is interrupted, how to remove // what its validator runs may leave in the cluster if the teardown is cut // short. A failed write is ignored: the teardown goes on whether or not @@ -1481,17 +1506,17 @@ const ( envSkipInotify = "NVCF_CLI_SELFHOSTED_SKIP_INOTIFY" ) -// envToggle reads a boolean env toggle: unset or empty is off, and a value -// strconv.ParseBool reads says which, so "false" and "0" are off. Any other -// value is an error naming it. +// envToggle reads a boolean env toggle: unset or empty is off, and a word +// progress.ParseToggle reads says which, so "false", "0" and "no" are off. +// Any other value is an error naming it. func envToggle(name string) (bool, error) { raw := strings.TrimSpace(os.Getenv(name)) if raw == "" { return false, nil } - on, err := strconv.ParseBool(raw) - if err != nil { - return false, fmt.Errorf("%s=%q: expected true or false", name, raw) + on, ok := progress.ParseToggle(raw) + if !ok { + return false, fmt.Errorf("%s=%q: expected true or false (or 1/0, yes/no, y/n, on/off)", name, raw) } return on, nil } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index e48473159a..72b64b9ce0 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -29,6 +29,7 @@ import ( "net/http/httptest" "os" "os/exec" + "os/signal" "path/filepath" "strings" "sync" @@ -124,7 +125,8 @@ func TestCheck_StaleNamespaceGatesFollowTheInstallsStack(t *testing.T) { } // The env toggles are booleans, so a config that spells one out as "false" -// or "0" leaves its check on. Any other value fails the command naming it. +// or "0" leaves its check on. They read the words CI does too, yes and on +// among them, in any case. Any other value fails the command naming it. func TestCheck_EnvTogglesAreBooleans(t *testing.T) { t.Setenv(envLocalOnly, "false") ns, _ := runCheckRecording(t, "--control-plane") @@ -135,20 +137,32 @@ func TestCheck_EnvTogglesAreBooleans(t *testing.T) { t.Setenv(envLocalOnly, "") resetCheckFlags(t) - for value, on := range map[string]bool{"0": false, "false": false, "": false, "1": true, "TRUE": true} { - t.Setenv(envSkipClusterValidation, value) - t.Setenv(envSkipInotify, value) + for value, on := range map[string]bool{ + "0": false, "false": false, "": false, "no": false, "N": false, " Off ": false, "n": false, + "1": true, "TRUE": true, "yes": true, "Y": true, " on ": true, "y": true, + } { + for _, name := range []string{envLocalOnly, envSkipClusterValidation, envSkipInotify} { + t.Setenv(name, value) + got, err := envToggle(name) + require.NoError(t, err, "%s=%q", name, value) + assert.Equal(t, on, got, "%s=%q", name, value) + } assert.Equal(t, on, clusterValidationSkipped(), value) assert.Equal(t, on, inotifyCheckSkipped(), value) } + t.Setenv(envLocalOnly, "") + t.Setenv(envSkipClusterValidation, "") + + t.Setenv(envSkipInotify, "yes") + run := runCheck(t, checkStubs{}, "--pre", "--local-only") + assert.Equal(t, 0, run.code(), "%v\n%s", run.err, run.stderr) t.Setenv(envSkipInotify, "maybe") - rootCmd.SetErr(&bytes.Buffer{}) - rootCmd.SetOut(&bytes.Buffer{}) - rootCmd.SetArgs([]string{"self-hosted", "check", "--pre", "--json"}) - err := rootCmd.Execute() - require.Error(t, err) - assert.Contains(t, err.Error(), `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY="maybe": expected true or false`) + run = runCheck(t, checkStubs{}, "--pre") + assert.Equal(t, 1, run.code()) + require.Error(t, run.err) + assert.Contains(t, run.err.Error(), `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY="maybe": expected true or false`) + assert.NotContains(t, run.stderr, `"event"`, "rejected before any work") } // A bare --pre skips SIS, which is not up before install; an explicit --all or @@ -841,6 +855,9 @@ func TestCheck_InterruptNoteIsPrintedAfterTheDashboardCloses(t *testing.T) { // the same teardown as Ctrl-C, instead of killing the process with the run's // cluster-wide RBAC and NGC-key Secret in place. func TestCheck_SIGHUPGoesThroughTheTeardown(t *testing.T) { + if signal.Ignored(syscall.SIGHUP) { + t.Skip("the test process started with SIGHUP ignored, as under nohup, and the run keeps it ignored") + } err, stderr := runCheckWithBudget(t, time.Minute, func(ctx context.Context) selfhosted.ClusterValidatorResult { require.NoError(t, syscall.Kill(os.Getpid(), syscall.SIGHUP)) <-ctx.Done() @@ -852,6 +869,51 @@ func TestCheck_SIGHUPGoesThroughTheTeardown(t *testing.T) { assert.Equal(t, true, finalEvent(t, stderr)["cancelled"]) } +// ignoredSignalsChild runs TestCheck_SignalsIgnoredAtStartStayIgnored as the +// child process, started with SIGHUP and SIGINT ignored. +const ignoredSignalsChild = "NVCF_CLI_TEST_IGNORED_SIGNALS_CHILD" + +// nohup starts the command with SIGHUP ignored, and a shell without job +// control starts a background job with SIGINT ignored. The run keeps them +// ignored: a dropped SSH session must not cancel a check started with nohup. +func TestCheck_SignalsIgnoredAtStartStayIgnored(t *testing.T) { + const finished = "validator finished" + if os.Getenv(ignoredSignalsChild) != "" { + if !signal.Ignored(syscall.SIGHUP) || !signal.Ignored(syscall.SIGINT) { + fmt.Println("the child was not started with SIGHUP and SIGINT ignored") + os.Exit(3) + } + err := executeCheck(t, time.Minute, func( + ctx context.Context, p selfhosted.ClusterValidatorParams, + ) selfhosted.ClusterValidatorResult { + _ = syscall.Kill(os.Getpid(), syscall.SIGHUP) + _ = syscall.Kill(os.Getpid(), syscall.SIGINT) + select { + case <-ctx.Done(): + return selfhosted.ClusterValidatorResult{Err: ctx.Err()} + case <-time.After(300 * time.Millisecond): + } + fmt.Println(finished) + return selfhosted.ClusterValidatorResult{Passed: true, + Logs: "Validator role: control-plane\nCluster is NVCF-Ready\n"} + }, os.Stderr) + os.Exit(ExitCodeFromError(err)) + } + + ctx, cancel := context.WithTimeout(context.Background(), time.Minute) + defer cancel() + child := exec.CommandContext(ctx, "/bin/sh", "-c", `trap "" HUP INT; exec "$0" "$@"`, + os.Args[0], "-test.run=^"+t.Name()+"$") + child.Env = append(os.Environ(), ignoredSignalsChild+"=1") + var stdout, stderr bytes.Buffer + child.Stdout, child.Stderr = &stdout, &stderr + waitErr := child.Run() + require.NotEqual(t, 3, child.ProcessState.ExitCode(), stdout.String()) + assert.Equal(t, 0, child.ProcessState.ExitCode(), "%v\n%s%s", waitErr, stdout.String(), stderr.String()) + assert.Contains(t, stdout.String(), finished) + assert.NotEqual(t, true, finalEvent(t, stderr.String())["cancelled"]) +} + // Every exit that leaves objects behind says how to remove them: in the row, // in the final event, and on stderr after the stream ends, where no dashboard // can wipe it and a pipe into jq does not swallow it. diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 79707d8fc7..a699dbc32b 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjg4MzcsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjg5NDcsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -68,9 +68,9 @@ const skillDataZipBase64 = "" + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMzJlNmRlZjZmY2ZiZjExYmIwMjdiMTZiMWIy" + "OTI2NzI3NGM0MTRlMjEyMTU5ODUwYTI3ZjJiMzY3MjMzNTg5OCIsCiAgICAgICJzaXplIjogOTY4" + "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + - "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI0ZjYyMTA2OGJjMThmMTMyMDNj" + - "NDNlNGIyMjg0MDMxZTg0MzAyM2U4N2I2OTU3ZjZjOTg2ZDU2YTc4YTQwMDg2IiwKICAgICAgInNp" + - "emUiOiA0MDkwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNjEzYThiY2NiZGY5MTZj" + "OGUyNWZiMjA5ZDE4NzE5OTUyZmE1NGY0NzhkYTVkNjM2YzdiNmI4YWE3Mjk0NDgxIiwKICAgICAg" + "InNpemUiOiAyMzQ2MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCIJMFDFKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJUXFCpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1775,2436 +1775,2438 @@ const skillDataZipBase64 = "" + "TlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGluIHRoZSBgY2hlY2sgLS13" + "YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBvciBgQ3RybC1DYCBpbiB0" + "aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkOyB0ZXJtaW5hbCBv" + - "ciBTU0ggc2Vzc2lvbiBjbG9zZWQgfAoKIyMgSG93IGFuIGFnZW50IHNob3VsZCByZWFjdAoKfCBD" + - "b2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBDb250aW51ZSAvIHJlcG9y" + - "dCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNlcjsgYXNrIGJlZm9yZSBh" + - "bnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1bWFuIHRvIHJlYWQgdGhl" + - "IG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3MgKyB0aGVpciBgaGludFVS" + - "TGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhlcyBwcmVyZXFzLiB8Cnwg" + - "YDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBPUiBgLS10b2tlbj0k" + - "SldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9LLiB8CnwgYDVgIHwgQXNr" + - "IHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50byB0aGUgc3RhbGxlZCBj" + - "b21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0cnkgYXV0b21hdGljYWxs" + - "eTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZvcmUgcmUtcnVubmluZy4g" + - "fAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCByZXBvcnRzIGl0cyBvdXRj" + - "b21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJkaWN0YCwgYHRvdGFsQ2hl" + - "Y2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5pbmdDb3VudGApIGFuZCBu" + - "ZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9jaS1waXBlbGluZXMubWRg" + - "LiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdhaXRgLCBleGl0cyBgMWAg" + - "YmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2VgIGFuZCBg" + - "dmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVudCBmb3IgYSB3YXJu" + - "aW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYCwgYW5k" + - "IG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBjYXJyaWVzIGBjdXRTaG9y" + - "dDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBgZmluYWxgIHdpdGgg" + - "YGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsgYHVwYCBlbWl0cyBg" + - "cGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZhbGlkYXRvciBydW4g" + - "bGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwgYSBwb2QgdGhhdCB3" + - "b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNoZWNrYCBsaXN0cyB0" + - "aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVh" + - "bnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQsIG9uIGV2ZXJ5IGV4" + - "aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0ZGVyciBsaW5lcy4g" + - "T24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9yZSBpdHMgb3duIGNs" + - "ZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVyeSBvdGhlciBub24t" + - "emVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2ZW50IHdp" + - "dGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJheSksIGBy" + - "ZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVtZWRpYXRp" + - "b258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQgYHJhd2Ag" + - "KHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29uc3VtZSB0" + - "aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBmcm9tIHN0" + - "ZGVyci4KUEsHCOUdeab6DwAA+g8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMgYG52Y2Yt" + - "Y2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21tYW5kKQoK" + - "fCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29uZmlnIEZJ" + - "TEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8IGAtLWRl" + - "YnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8IGAtLWpz" + - "b25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9uIHVuZGVy" + - "IGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChwZXJzaXN0" + - "ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENvbnRyb2wtcGxhbmUg" + - "YnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1i" + - "ZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0" + - "IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZl" + - "cnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUgZW52aXJvbm1lbnQg" + - "bmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxg" + - "IG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVf" + - "RU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLCBz" + - "byBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGluZ3MgcmVhZCBm" + - "cm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwgYGxvY2FsYCB8" + - "CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMgfCBgZmFs" + - "c2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3JlZCBzZXNz" + - "aW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlBTUwsIGRv" + - "IG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpzb25gIHwg" + - "TGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBuZXh0IG1h" + - "am9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5nIG91dHB1" + - "dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25seTsgcnVu" + - "IHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mgb3IgRFVSQVRJT04g" + - "cnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNlYCkuIEVhY2gg" + - "cnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNoIGNhbiB0YWtlIHVw" + - "IHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlv" + - "bmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNoIGFzIGEgcm9sbG91" + - "dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hlY2tfY29tcGxldGVk" + - "YCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNoZWNrIHRoZSB0aW1lIGJ1ZGdl" + - "dCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRzIGV2ZW50IGNhcnJpZXMgYGN1" + - "dFNob3J0OiB0cnVlYC4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0tbm8tY2xlYW51cGAuIEEg" + - "bWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElPTiBpcyBhIHVzYWdlIGVycm9yIChleGl0" + - "IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCBDVFhgIHwg" + - "a3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250" + - "ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBm" + - "b3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJlbnQgY29udGV4dCB8CnwgYC0taWNtcy11" + - "cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWlyZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIu" + - "IGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJMIHNldCBoZXJlLCBpbiBgTlZDRl9JQ01T" + - "X1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRoZSBjb25maWcgYXMgYGljbXNfdXJsYCBv" + - "ciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25lIGRlcml2ZWQgZnJvbSBhIGBiYXNlX2h0" + - "dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2YubnZpZGlhLmNvbWAsIGFzIHRoZSBjb25m" + - "aWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMgYHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBp" + - "cyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2VfaHR0cF91cmxgIHwKfCBgLS1sb2NhbC1v" + - "bmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2NhbC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBh" + - "bGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwgd2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBw" + - "YXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNoZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJv" + - "bGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQgYXMgcm93cyB0aGF0IHBhc3MgYXQgaW5m" + - "byBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkpYC4gRW52OiBgTlZDRl9DTElfU0VMRkhP" + - "U1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVj" + - "a2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1wcmVgLCBgLS1jb250cm9sLXBsYW5lYCwg" + - "YC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMKcmVxdWlyZWQuIGAtLXByZWAgc2VsZWN0" + - "cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2VsZWN0cyBpdHMgb3duLiBPbmx5CnRoZSBz" + - "ZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4gUGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mg" + - "b3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNlbGVjdGVkIHJvbGUgY2hlY2tzIHRoZSBj" + - "dXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxpZ2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBs" + - "dXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyByZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBp" + - "cyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFsbGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAg" + - "aXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Igd2l0aCBhIHJvbGUncyBvd24gZmxhZywg" + - "dGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUgY2x1c3RlciBhcyBpbnN0YWxsZWQuIEEg" + - "bWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAsIGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZh" + - "aWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0" + - "YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28gaXQgd2FybnMgfCBgZmFsc2VgIHwKfCBg" + - "LS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29udHJvbCBwbGFuZTogbGVm" + - "dG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3Iu" + - "IE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBgLS1jb21wdXRlLXBsYW5lYCB8IENoZWNr" + - "IHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcywgbm9kZSBp" + - "bm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBhdCBhIGNvbmZpZ3VyZWQgSUNNUyBVUkws" + - "IGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IGBmYWxzZWAgfAp8IGAt" + - "LWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFuZCBgLS1jb21wdXRlLXBsYW5lYCwgU0lT" + - "IHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3aXRob3V0IGAtLXByZWAgfCBgZmFsc2Vg" + - "IHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgc2hvd24gaW4gdGhlIG91" + - "dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFuZCBgY2hlY2tgIGRvZXMgbm90IHJlcXVp" + - "cmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hlY2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUg" + - "aW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVuIHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fu" + - "bm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Igd2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMg" + - "b24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRpYWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9k" + - "cyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1pbm90aWZ5LWxpbWl0c2Agcm93IHBhc3Nl" + - "cyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9T" + - "VEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8CgojIyMgQ2x1" + - "c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUg" + - "Y2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNyZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwg" + - "Q2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRpbmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBh" + - "bmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQgbGV0IGl0IHJlYWQgb25seSBpdHMgb3du" + - "IENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRlciB0aGUgcnVuLCBzbyB0aGUga3ViZWNv" + - "bmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8gbWFuYWdlIHRob3NlLgpJdCByZWFkcyB0" + - "aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRl" + - "ZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBKb2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwg" + - "cGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFk" + - "LCBzbyBuZWl0aGVyIHRoZSBjaGVja3MgaXQgcmFuIG5vciB3YXJuaW5ncyBpdApyZXBvcnRlZCBh" + - "cmUgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMgb25seSB0aGUgY2FsbHMgZWFjaCByb2xl" + - "J3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNwYWNlLCBEYWVtb25TZXQgYW5kIHBvZCB3" + - "cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10by1ub2RlIHByb2JlLAphbmQgZGVsZXRp" + - "bmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFsaWRhdG9yIHJ1biBsZWZ0IGJlaGluZC4K" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXIt" + - "dmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3IgaW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6" + - "IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAsIGNvbmZpZyBrZXkgYGNs" + - "dXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0aCBubyB0YWcgZGlzY292ZXJzIHRoZSBs" + - "YXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3RyeS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNj" + - "b3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1biBhbmQgaXRzIHJvdyBmYWlscyB0aGUg" + - "Y2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdhaXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5" + - "IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBl" + - "YWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBpcyBhIHdhcm5pbmcsIHNvIHRoZSB2" + - "ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1yZWdpc3Ry" + - "aWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0cmEgcmVnaXN0cmllcyB0byBjaGVjazog" + - "dGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hpbmUsIGFuZCB0aGVpciByZWFjaGFiaWxp" + - "dHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29w" + - "ZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBoYXJib3IuZXhhbXBsZS5jb20vbnZjZmAu" + - "IFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVzIHRoZSBpbnN0YWxsIHB1bGxzIGZyb206" + - "IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwgdGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFn" + - "ZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAsIGFuZCBgcXVheS5pb2Ag" + - "Zm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIgdW5sZXNzIHRoZSBzdGFjayBsZWF2ZXMg" + - "Y2VydC1tYW5hZ2VyIG91dCBvciBzZXRzIGBjZXJ0TWFuYWdlci5hY21lc29sdmVyLmltYWdlYC4g" + - "YG52Y3IuaW9gIGlzIHByb2JlZCwgYXMgYSB3YXJuaW5nIG9ubHksIHdoZW4gbmVpdGhlciB0aGUg" + - "aW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lzdHJ5LiBUaGUgaW4tcG9kIHByb2JlcyBh" + - "cmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBoYXMgbm8gcHJveHkuIEEgbWFsZm9ybWVk" + - "IGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4g" + - "RW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUkVHSVNUUklFU2A7IGNvbmZpZyBrZXkg" + - "YGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlz" + - "IGZvcm0gfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1h" + - "Z2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5kIHRoZSBjb250cm9sLXBsYW5lIHZhbGlk" + - "YXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2JlLiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3li" + - "b3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBhaXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6" + - "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9CRV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNs" + - "dXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBidXN5Ym94OjEuMzZgIGZyb20gRG9ja2Vy" + - "IEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4u" + - "LmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5v" + - "dCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgbG9vayBmb3IgdGhlbSBpbiB0aGUg" + - "Y2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3BlbmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBB" + - "biB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2Vw" + - "YXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRv" + - "IHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5hYmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJv" + - "bm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBgdHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NM" + - "VVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVOVFNgOyBjb25maWcga2V5IGBjbHVzdGVy" + - "X3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCwgYSBsaXN0IG9mIG5hbWVzIHwgZnJvbSB0" + - "aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXRvbGVyYXRpb25zIGtleVs9dmFsdWVd" + - "WzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRlZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwg" + - "YmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQgYWx3YXlzIGNhcnJpZXMsIGZvciBjbHVz" + - "dGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRzLiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVg" + - "LCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZh" + - "aWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZD" + - "Rl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElPTlNgOyBjb25maWcga2V5IGBjbHVzdGVy" + - "X3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSwg" + - "bm90IEt1YmVybmV0ZXMgdG9sZXJhdGlvbiBvYmplY3RzIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxp" + - "ZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXItcmVnaXN0cnkgU2VjcmV0IGluIGBkZWZh" + - "dWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBpbWFnZS4gV2hlbiBlbXB0eSwgdGhlIENM" + - "SSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUg" + - "aW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBpdCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3Mg" + - "ZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20gYSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFt" + - "ZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVh" + - "dGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFjaGluZSdzIGNyZWRlbnRpYWwgZm9yIHRo" + - "ZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tz" + - "LiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlzIHdoYXQgd2FzIGNvcGllZCBvciBjcmVh" + - "dGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFs" + - "aWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZhbGlkYXRvciBwcm9iZSBlbnRpcmVseS4g" + - "QSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBj" + - "aGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBsaWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVu" + - "IHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFnZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXIt" + - "dmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBl" + - "ZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0NMVVNURVJfVkFMSURBVElPTmAsIGB0" + - "cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2" + - "YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQgQ29uZmlnTWFwIGZv" + - "ciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBp" + - "cyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhhbiByZXRyeWluZyBm" + - "b3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9iYC4gQSBsYXRlciBj" + - "aGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVzIHRoZW0gb25jZSB0aGV5IGFyZSAy" + - "NCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBgIGxpc3Qg" + - "YW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMg" + - "dGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXdhaXRgIHwgYGZhbHNlYCB8Cnwg" + - "YC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJy" + - "IGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBgLS0tIGNsdXN0ZXItdmFsaWRhdG9y" + - "IGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hpbmcgZW5kIGxpbmUsIHdoZXJlIHRo" + - "ZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVyYCBvciBgY29tcHV0ZS1wbGFuZS1j" + - "bHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1qc29uYCBhbHNvIHdy" + - "aXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJzZXIgaXMgcmVhZGlu" + - "ZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVudGlhbHMKCmBjaGVj" + - "a2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMg" + - "bG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NP" + - "TkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25gLCB0aHJvdWdoIGFu" + - "eSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBgbnZjci5pb2AgdGhl" + - "IE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9Q" + - "VUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5k" + - "CmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBs" + - "b2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNrJ3MgcGxhbmUsIGJlbG93LCBpcyBjaGVj" + - "a2VkIGJlZm9yZSBpdHMgaW5zdGFsbCB3aXRoIHRoZQpgbG9jYWxgIGVudmlyb25tZW50LCBzaW5j" + - "ZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwgc2VjcmV0cyBmcm9tIGl0LCBhbmQgaXQgaXMKbmV2ZXIg" + - "c2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hlcmUgdGhlIGtleQppcyBzZW50IHdoZW4g" + - "dGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciBmb3IgYSByZXBvc2l0b3J5IHdoZXJlIGBudmNy" + - "LmlvYApyZWplY3RzIHRoZSBkb2NrZXIgbG9naW4gKGEgNDAxKSBvciBnaXZlcyBpdCBubyBhY2Nl" + - "c3MgKGEgNDAzKS4gVGhpcyBpcwpkZWNpZGVkIG9uY2UgcGVyIHJlcG9zaXRvcnksIGJlZm9yZSB0" + - "YWcgZGlzY292ZXJ5LCB0aGUgcm93IGFuZCB0aGUKdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQgdXNl" + - "IGl0LCBzbyBhbGwgdGhyZWUgZ2V0IHRoZSBzYW1lIGNyZWRlbnRpYWwsIGFuZCBhCmxvZ2luIHdp" + - "dGggbm8gYWNjZXNzIHRvIG9uZSBvcmcgc3RpbGwgc2VydmVzIHRoZSBvcmdzIGl0IHJlYWNoZXMu" + - "IEEgNDAzIGlzCnJlcG9ydGVkIGFzIG5vIGFjY2VzcyB0byB0aGF0IHJlcG9zaXRvcnksIG5ldmVy" + - "IGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVhY2gKYC0td2FpdGAgcG9sbCByZWFkcyB0aGUgY3JlZGVu" + - "dGlhbHMgYWdhaW4sIHNvIGEgbG9naW4gcmVuZXdlZCB3aGlsZSB0aGUgcnVuCndhaXRzIGNvdW50" + - "cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhlIHByb2JlIGFza3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRo" + - "ZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBvc2l0b3J5IGFuZCB0byB0aGUKc3RhY2sncyBpbWFnZSBw" + - "YXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmlt" + - "YWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNrIHBhdGggb2Ygb25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4g" + - "b3JnIHdpdGggbm8KdGVhbSwgaXMgbm90IHNlbnQgYXMgdGhlIHNjb3BlLCBzaW5jZSBgbnZjci5p" + - "b2AgcmVmdXNlcyBpdC4KClRoZSByZWdpc3RyeSBjaGVjayBiZWxvbmdzIHRvIG9uZSBwbGFuZSwg" + - "d2hvc2Ugc3RhY2sgbmFtZXMgdGhlIHJlZ2lzdHJpZXMKYW5kIHdob3NlIGluc3RhbGwgc3RhdGUg" + - "Z3JhZGVzIHRoZW06IGEgcGxhbmUgdGhlIHJ1biBjaGVja3MgYmVmb3JlIGl0cwppbnN0YWxsLCB3" + - "aGljaCB0aGlzIG1hY2hpbmUgaW5zdGFsbHMgbmV4dCAodGhlIGNvbnRyb2wgcGxhbmUgZm9yIGEg" + - "YmFyZQpgLS1wcmVgIGFuZCBmb3IgYC0tcHJlIC0tY29tcHV0ZS1wbGFuZWAsIHRoZSBjb21wdXRl" + - "IHBsYW5lIGZvcgpgLS1wcmUgLS1jb250cm9sLXBsYW5lYCksIGVsc2UgdGhlIGNvbnRyb2wgcGxh" + - "bmUgd2hlbiB0aGUgcnVuIHZpc2l0cyBpdCwKZWxzZSB0aGUgY29tcHV0ZSBwbGFuZS4KCk9ubHkg" + - "YSBjcmVkZW50aWFsIHRoZSByZWdpc3RyeSByZWplY3RzIGZhaWxzIHRoZSBydW4sIGFuZCBvbmx5" + - "IGZvciBhbiBOVklESUEKcmVnaXN0cnkgdGhlIGltYWdlIG9yIHRoZSBzdGFjayBuYW1lcy4gQmVm" + - "b3JlIGluc3RhbGwgdGhhdCBpbmNsdWRlcyBhIGRvY2tlcgpsb2dpbiBgbnZjci5pb2AgcmVqZWN0" + - "cyBldmVuIHdoZW4gdGhlIE5HQyBrZXkgd29ya3MgaW4gaXRzIHBsYWNlLCBzaW5jZQpgaGVsbWAg" + - "b24gdGhpcyBtYWNoaW5lIHB1bGxzIHRoZSBzdGFjaydzIGNoYXJ0cyB3aXRoIHRoZSBkb2NrZXIg" + - "bG9naW4uIFRoZQprZXkgaXMgc3RpbGwgdXNlZCBmb3IgdGFnIGRpc2NvdmVyeSBhbmQgdGhlIHZh" + - "bGlkYXRvcidzIHB1bGwgc2VjcmV0LCBhbmQgdGhlCnJvdyBuYW1lcyBib3RoLiBBZnRlciBpbnN0" + - "YWxsIGEgcmVqZWN0ZWQgZG9ja2VyIGxvZ2luIHN0aWxsIGZhaWxzLiBBIHJlamVjdGVkCk5HQyBr" + - "ZXkgaXMgYSB3YXJuaW5nIG9ubHkgd2hlbiBgY2hlY2tgIHJlYWRzIHRoZSBwdWxsIHNlY3JldHMg" + - "b2YgdGhlIGNsdXN0ZXJzCml0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhlIHZhbGlkYXRv" + - "ciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZApub25lIG9mIHRoZW0gaG9sZHMgdGhhdCBr" + - "ZXk7IHdoZW4gb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBpdCBpcwphbiBl" + - "cnJvci4gQSBkb2NrZXIgbG9naW4gdGhlIE5HQyBrZXkgcmVwbGFjZWQgcGFzc2VzIGFmdGVyIGlu" + - "c3RhbGwgb25seSB3aGVuCm5vbmUgb2YgdGhvc2UgcHVsbCBzZWNyZXRzIGhvbGRzIGl0OiB3aGVu" + - "IG9uZSBkb2VzIGl0IGlzIGFuIGVycm9yLCBhbmQgd2hlbgp0aGV5IGNhbm5vdCBhbGwgYmUgcmVh" + - "ZCBhIHdhcm5pbmcuIEEgcmVnaXN0cnkgdGhpcyBtYWNoaW5lIGNhbm5vdCByZWFjaCwgYQp0b2tl" + - "biBzZXJ2aWNlIHRoYXQgZmFpbHMsIGFuZCBhIG1pc3NpbmcgbG9jYWwgY3JlZGVudGlhbCBhcmUg" + - "d2FybmluZ3MuIEEKcmVnaXN0cnkgdGhlIHByb2JlIGNhbm5vdCBzcGVhayB0bywgc3VjaCBhcyBF" + - "Q1Igb3Igb25lIHVzaW5nIEJhc2ljIGF1dGgsIGlzCnNraXBwZWQgd2l0aCBhIGNvbW1hbmQgdG8g" + - "Y2hlY2sgaXQgYnkgaGFuZC4gQSByZWdpc3RyeSB0aGF0IGxldHMgdGhpcwptYWNoaW5lIGluIGFu" + - "b255bW91c2x5IGlzIHJlcG9ydGVkIGFzIHN1Y2gsIG5vdCBhcyB2YWxpZCBjcmVkZW50aWFscy4K" + - "CiMjIyBTZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrCgpUaGUgdmFsaWRhdG9yIGdldHMgdGhl" + - "c2Ugc2V0dGluZ3MgZnJvbSB0aGUgQ0xJLiBFYWNoIG9uZSBzZXQgd2l0aCBpdHMKZW52aXJvbm1l" + - "bnQgdmFyaWFibGUgb3IgY29uZmlnIGtleSB3aW5zIG92ZXIgdGhlIHN0YWNrLgoKfCBTZXR0aW5n" + - "IHwgUmVhZCBmcm9tIHRoZSBzdGFjayB8IEVudiBhbmQgY29uZmlnIGtleSB8CnwtLS18LS0tfC0t" + - "LXwKfCBOVkNGIEdhdGV3YXlzIHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5nYXRld2F5c2AsIGdhdGVk" + - "IHRoZSB3YXkgdGhlIHN0YWNrIHdpcmVzIHJvdXRlczogbm9uZSB1bmxlc3MgYGluZ3Jlc3MuZ2F0" + - "ZXdheUFwaS5lbmFibGVkYCBpcyBgdHJ1ZWAsIGBuYXRzYCBvbmx5IHdpdGggYHJvdXRlcy5uYXRz" + - "LmVuYWJsZWRgLCBgbGxtR3JwY2AgYW5kIGBsbG1RdWljYCBvbmx5IHdpdGggYHJvdXRlcy5sbG1X" + - "b3JrZXIuZW5hYmxlZGAgfCBgTlZDRl9HQVRFV0FZX05BTUVTYCwgYXMgY29tbWEtc2VwYXJhdGVk" + - "IGBuYW1lc3BhY2UvbmFtZWAgZW50cmllcy4gQSBiYXJlIG5hbWUgaXMgZHJvcHBlZCBieSB0aGUg" + - "dmFsaWRhdG9yLiBTZXQgdGhpcyB3YXkgaXQgc2tpcHMgdGhlIHN0YWNrJ3MgZ2F0ZXMgfAp8IEVu" + - "dm95IEdhdGV3YXkgbmFtZXNwYWNlIHwgYGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFt" + - "ZXNwYWNlYCB8IGBOVkNGX0VOVk9ZX0dBVEVXQVlfTkFNRVNQQUNFYCB8CnwgRXh0ZXJuYWwgY29t" + - "cG9uZW50cyB8IGBuYXRzYCwgYG9wZW5iYW9gIG9yIGBjYXNzYW5kcmFgIHdob3NlIGBlbmFibGVk" + - "YCBpcyBzZXQgYW5kIGlzIG5vdCBgdHJ1ZWAgfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5h" + - "bC1jb21wb25lbnRzYCwgb3IgYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AgfAp8IFN0b3JhZ2VD" + - "bGFzcyB8IGBnbG9iYWwuc3RvcmFnZUNsYXNzYC4gV2hlbiBzZXQsIHRoZSB2YWxpZGF0b3IgY2hl" + - "Y2tzIHRoYXQgdGhpcyBjbGFzcyBleGlzdHMgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBkZWZhdWx0" + - "IGNsYXNzIHwgYE5WQ0ZfU1RPUkFHRV9DTEFTU2AgfAp8IE9wZW5CYW8gbmFtZXNwYWNlIHwgLSB8" + - "IGBOVkNGX09QRU5CQU9fTkFNRVNQQUNFYCB8CnwgT3ZlcmxheSBwcm9iZSBpbWFnZSB8IC0gfCBg" + - "LS1jbHVzdGVyLXZhbGlkYXRvci1wcm9iZS1pbWFnZWAsIG9yIGBOVkNGX04yTl9QUk9CRV9JTUFH" + - "RWAgfAoKVGhlIHJlZ2lzdHJpZXMgYWJvdmUgYWxzbyBjb21lIGZyb20gdGhlIHN0YWNrLiBgY2hl" + - "Y2tgIHJlYWRzIHN0YWNrIHZhbHVlcyBvbmx5CndoZW4gdGhleSBkZXNjcmliZSB0aGUgaW5zdGFs" + - "bDoKCi0gVGhlIGVudmlyb25tZW50IGlzIG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVMTUZJTEVf" + - "RU5WYC4gVGhlIGAtLWVudmAKICBkZWZhdWx0IGlzIHVzZWQgb25seSBmb3IgYSBwbGFuZSBgLS1w" + - "cmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGwsCiAgc2luY2UgYHVwYCBpbnN0YWxscyB3aXRo" + - "IGl0LiBPdGhlcndpc2UgcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLgotIGBlbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbGAgaXMgcmVhZCwgbGF5ZXJlZCBvdmVyIGBiYXNlLnlhbWxgLiBg" + - "YmFzZS55YW1sYAogIGFsb25lIGlzIG5vdCB1c2VkLgotIFRoZSBmaWxlIGNvbWVzIGZyb20gdGhl" + - "IHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQ6IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2tgCiAgKGAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGZvciB0aGUgcmVnaXN0cmllcyB3aGVuIHRoZSByZWdpc3RyeSBj" + - "aGVjawogIGJlbG9uZ3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUpLCBlbHNlIHRoZSBDTEkncyBidWls" + - "dC1pbiBzdGFjay4gQSBsb2NhbAogIGRpcmVjdG9yeSBpcyByZWFkIGRpcmVjdGx5LCBhbmQgYW4g" + - "YG9jaTovL2Agc3RhY2sgZnJvbSB0aGUgY29weSBhbiBlYXJsaWVyCiAgY29tbWFuZCBleHRyYWN0" + - "ZWQgaW50byB0aGUgQ0xJIGNhY2hlLiBBIGdpdCBzdGFjaywgYGZpbGU6Ly9gIGluY2x1ZGVkLCBp" + - "cwogIG5vdCByZWFkLCBzaW5jZSB0aGUgaW5zdGFsbCBjbG9uZWQgaXRzIGNvbW1pdHRlZCBzdGF0" + - "ZS4gQSBDTEkgd2l0aCBubwogIGJ1aWx0LWluIHN0YWNrIGFuZCBubyBzdGFjayBmbGFnIHJlYWRz" + - "IHRoZSBzdGFjayBjaGVja291dCBhYm92ZSB0aGUKICB3b3JraW5nIGRpcmVjdG9yeS4KCk90aGVy" + - "d2lzZSBub3RoaW5nIGZyb20gdGhlIHN0YWNrIGlzIGZvcndhcmRlZDogdGhlIHZhbGlkYXRvciBm" + - "aW5kcyB0aGUKR2F0ZXdheXMgZnJvbSB0aGUgcm91dGVzLCBhbmQgYG52Y3IuaW9gIGlzIHByb2Jl" + - "ZCBhcyBhIHdhcm5pbmcgb25seS4KCiMjIGB1cGAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IElDTVMg" + - "Y2x1c3RlciByb3cgaWRlbnRpZmllciAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8" + - "IE5DQSBhY2NvdW50IElEIHwgYG52Y2YtZGVmYXVsdGAgfAp8IGAtLXJlZ2lvbiBSRUdJT05gIHwg" + - "Q2x1c3RlciByZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0tcGxhbi1vbmx5YCB8IERyeS1ydW47" + - "IGVtaXQgcGhhc2UgcGxhbiArIEVUQXMgd2l0aG91dCBjaGFuZ2VzIHwgYGZhbHNlYCB8CgojIyBg" + - "c3RhdHVzYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgTGltaXQgdG8gb25lIGNvbXB1dGUgcGxhbmUg" + - "fCAtIChjb250cm9sICsgYWxsIGNsdXN0ZXJzKSB8CnwgYC0td2F0Y2hgIHwgTGl2ZSByZS1yZW5k" + - "ZXIgfCBgZmFsc2VgIHwKfCBgLS13YXRjaC1pbnRlcnZhbCBEVVJgIHwgYC0td2F0Y2hgIGNhZGVu" + - "Y2UgfCBgNXNgIHwKfCBgLS1jb21wb25lbnQgTkFNRWAgfCBGaWx0ZXIgY29tcG9uZW50cyBwYW5l" + - "bCB8IGFsbCB8CnwgYC0tbm8tZXZlbnRzYCB8IFNraXAgZXZlbnRzIHBhbmVsIHwgYGZhbHNlYCB8" + - "CgojIyBgY2x1c3RlciByZWdpc3RlcmAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBDbHVzdGVyIG5hbWUgKHJlcXVp" + - "cmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0EgSUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAt" + - "LXJlZ2lvbiBSRUdJT05gIHwgUmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLWljbXMtdXJsIFVS" + - "TGAgfCBJQ01TIGVuZHBvaW50IHwgZnJvbSBjb25maWcgfAp8IGAtLWlnbm9yZS1leGlzdGluZ2Ag" + - "fCBNYXRjaC1vci1jcmVhdGUgaW5zdGVhZCBvZiBmYWlsLW9uLWV4aXN0cyB8IGBmYWxzZWAgfAoK" + - "IyMgYGFwaS1rZXkgZ2VuZXJhdGVgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1mb3IgZnVuY3Rpb25cfHRhc2tgIHwgR2VuZXJhdGUgb25s" + - "eSB0aGUgc3BlY2lmaWVkIGtleSB0eXBlIHwgKG9taXQgdG8gZ2VuZXJhdGUgYm90aCkgfAp8IGAt" + - "LWRlc2NyaXB0aW9uIFRFWFRgIHwgSHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBrZXkgfCBg" + - "R2VuZXJhdGVkIGJ5IG52Y2YtY2xpYCB8CnwgYC0tZXhwaXJlcy1pbiBEVVJBVElPTmAgfCBFeHBp" + - "cnkgb2Zmc2V0IChlLmcuIGAyNGhgLCBgN2RgKTsgcGFyc2VkIGFzIGV4dGVuZGVkIGR1cmF0aW9u" + - "IHwgYDI0aGAgfAp8IGAtLXNjb3BlcyBTQ09QRVssU0NPUEVdYCB8IE92ZXJyaWRlIGRlZmF1bHQg" + - "c2NvcGVzOyByZXF1aXJlcyBgLS1mb3JgIHwgKHNlcnZpY2UgZGVmYXVsdHMpIHwKfCBgLS12YWxp" + - "ZGF0ZWAgfCBWYWxpZGF0ZSBlYWNoIGdlbmVyYXRlZCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWlu" + - "dGluZyB8IGBmYWxzZWAgfAoKRXh0ZW5kZWQgZHVyYXRpb24gdW5pdHM6IGBzYCAoc2Vjb25kcyks" + - "IGBtYCAobWludXRlcyksIGBoYCAoaG91cnMpLCBgZGAgKGRheXMpLCBgd2AgKHdlZWtzKS4KCiMj" + - "IGBmdW5jdGlvbiBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29t" + - "bWVuZGVkIGZvciByZXBlYXRhYmxlIGZ1bmN0aW9uIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIGNy" + - "ZWF0ZXM6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1u" + - "YW1lIE5BTUVgIHwgRnVuY3Rpb24gbmFtZSB8IC0gfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRh" + - "aW5lciBpbWFnZSB8IC0gfAp8IGAtLWluZmVyZW5jZS11cmwgVVJJYCB8IENvbnRhaW5lciBpbmZl" + - "cmVuY2UgZW5kcG9pbnQgfCAtIHwKfCBgLS1pbmZlcmVuY2UtcG9ydCBQT1JUYCB8IENvbnRhaW5l" + - "ciBpbmZlcmVuY2UgcG9ydCB8IC0gfAp8IGAtLWZ1bmN0aW9uLXR5cGUgREVGQVVMVFx8U1RSRUFN" + - "SU5HXHxMTE1gIHwgRnVuY3Rpb24gdHlwZSB8IGBERUZBVUxUYCB8CnwgYC0taGVsbS1jaGFydCBD" + - "SEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBPQ0kgcmVmZXJlbmNlLiBDYW4gYmUgdXNlZCB3aXRo" + - "IGAtLWZ1bmN0aW9uLXR5cGU9TExNYCBmb3IgY2hhcnQtcGFja2FnZWQgTExNIHdvcmtsb2Fkcy4g" + - "fCAtIHwKfCBgLS1oZWxtLWNoYXJ0LXNlcnZpY2UgTkFNRWAgfCBLdWJlcm5ldGVzIFNlcnZpY2Ug" + - "bmFtZSBleHBvc2VkIGJ5IHRoZSBjaGFydC4gUmVxdWlyZWQgd2hlbiBgLS1oZWxtLWNoYXJ0YCBp" + - "cyBzZXQuIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgU3RhbmRhcmQgbW9k" + - "ZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1sbG0tbW9kZWwgU1BFQ2AgfCBMTE0g" + - "bW9kZWwgY29uZmlnOyBmb3JtYXQgYG5hbWU9PG1vZGVsPix1cmlzPTx1cmk+XHw8dXJpPixyb3V0" + - "aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBU" + - "b2tlbiBsaW1pdHMgdXNlIGA8dmFsdWU+LTx1bml0PmAgd2l0aCBgU2AsIGBNYCwgYEhgLCBgRGAs" + - "IG9yIGBXYCwgZm9yIGV4YW1wbGUgYDEwMDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5l" + - "ZCB0b2tlbiBsaW1pdHMgYmVjYXVzZSBpbmxpbmUgc3BlY3MgdXNlIGNvbW1hcyBhcyBmaWVsZCBz" + - "ZXBhcmF0b3JzLiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IEZ1" + - "bmN0aW9uLWxldmVsIGRlZmF1bHQgcmVxdWVzdCBwcmlvcml0eS4gTG93ZXIgdmFsdWVzIGhhdmUg" + - "aGlnaGVyIHByaW9yaXR5LiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0Et" + - "SUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7" + - "IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEg" + - "ZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04gYW5kIGlubGluZSBzcGVjcywgTExNIGZ1" + - "bmN0aW9ucyBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBtb2RlbCByb3V0aW5nIG1ldGFk" + - "YXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgLiBgbGxtQ29uZmlnLnVyaXNgIGRlY2xhcmVz" + - "IHRoZSBPcGVuQUktY29tcGF0aWJsZSB1cHN0cmVhbSBwYXRocyBleHBvc2VkIGJ5IHRoZSBtb2Rl" + - "bC4gQ3VycmVudCBzdXBwb3J0ZWQgcGF0aHMgYXJlIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAv" + - "djEvcmVzcG9uc2VzYCwgYW5kIGAvdjEvZW1iZWRkaW5nc2AuIGBsbG1Db25maWcucm91dGluZ01l" + - "dGhvZGAgYWNjZXB0cyBgcm91bmRfcm9iaW5gLCBgcG93ZXJfb2ZfdHdvYCwgYGdyb3FfbXVsdGly" + - "ZWdpb25gLCBgcHVsc2FyYCwgb3IgYHJhbmRvbWAuCmBsbG1Db25maWcudG9rZW5SYXRlTGltaXRg" + - "IGFjY2VwdHMgb25lIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIHBvc2l0aXZlIGludGVnZXIgdG9r" + - "ZW4gbGltaXRzIGluIGA8dmFsdWU+LTx1bml0PmAgZm9ybWF0LiBTdXBwb3J0ZWQgdW5pdHMgYXJl" + - "IGBTYCAoc2Vjb25kcyksIGBNYCAobWludXRlcyksIGBIYCAoaG91cnMpLCBgRGAgKGRheXMpLCBh" + - "bmQgYFdgICh3ZWVrcykuIFVzZSBkaXN0aW5jdCB1bml0cyB3aGVuIGNvbWJpbmluZyBsaW1pdHMs" + - "IGZvciBleGFtcGxlIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2Ag" + - "aW4gaW5wdXQgSlNPTi4KCkhlbG0gY2hhcnQgcGFja2FnaW5nIGlzIGluZGVwZW5kZW50IG9mIGBm" + - "dW5jdGlvblR5cGVgLiBGb3IgYSBIZWxtLWNoYXJ0IGJhY2tlZCBMTE0gZnVuY3Rpb24sIHNldCBg" + - "ZnVuY3Rpb25UeXBlOiAiTExNImAsIGBoZWxtQ2hhcnRgLCBgaGVsbUNoYXJ0U2VydmljZU5hbWVg" + - "LCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgaW4gdGhlIHNhbWUgY3JlYXRlIHJlcXVlc3QuIGBp" + - "bmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoZSBLdWJlcm5ldGVzIFNlcnZpY2UgcG9ydCBleHBvc2Vk" + - "IGJ5IGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAuCgpMTE0gaW52b2NhdGlvbiByZXF1ZXN0cyB1c2Ug" + - "YG1vZGVsOiAiPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT4iYC4gVGhlIGZ1bmN0aW9uIElEIHNl" + - "bGVjdHMgdGhlIE5WQ0YgZnVuY3Rpb24sIGFuZCB0aGUgbW9kZWwgbmFtZSBpcyBmb3J3YXJkZWQg" + - "dXBzdHJlYW0uIENoYXQgY29tcGxldGlvbnMgYW5kIFJlc3BvbnNlcyBBUEkgcmVxdWVzdHMgY2Fu" + - "IHVzZSBgeC1tdWx0aS10dXJuLXNlc3Npb24taWRgIGZvciBzZXNzaW9uIHN0aWNraW5lc3M7IGVt" + - "YmVkZGluZ3MgcmVxdWVzdHMgZG8gbm90LgoKIyMgYGZ1bmN0aW9uIHVwZGF0ZWAtc3BlY2lmaWMK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXRhZ3MgVEFH" + - "WyxUQUddYCB8IFJlcGxhY2UgZnVuY3Rpb24gdGFncyB8IC0gfAp8IGAtLWxsbS1tb2RlbC11cGRh" + - "dGUgU1BFQ2AgfCBMTE0gbW9kZWwgdXBkYXRlOyBmb3JtYXQgYG5hbWU9PG1vZGVsPixyb3V0aW5n" + - "TWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0PTxsaW1pdD5gOyByZXBlYXRhYmxlLiBSb3V0" + - "aW5nIG1ldGhvZHMgbWF0Y2ggYC0tbGxtLW1vZGVsYC4gVG9rZW4gbGltaXQgZXhhbXBsZTogYDEw" + - "MDAtU2AuIFVzZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCB0b2tlbiBsaW1pdHMuIHwgLSB8Cnwg" + - "YC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgUmVwbGFjZSB0aGUgZnVuY3Rpb24t" + - "bGV2ZWwgcHJpb3JpdHkgY29uZmlndXJhdGlvbiB3aXRoIHRoaXMgZGVmYXVsdCBhbmQgYW55IHN1" + - "cHBsaWVkIHBlci1hY2NvdW50IG92ZXJyaWRlcy4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQt" + - "cHJpb3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRl" + - "OyByZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVz" + - "LiBSZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OLCBgZnVuY3Rpb24g" + - "dXBkYXRlYCBhY2NlcHRzIGBtb2RlbFVwZGF0ZXNbXWAgZW50cmllcyB3aXRoIGBtb2RlbE5hbWVg" + - "IGFuZCBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2RgIGFuZC9vciBgbGxtQ29uZmlnLnRva2VuUmF0" + - "ZUxpbWl0YC4gYHVyaXNgIGFyZSBjcmVhdGUtdGltZSBtb2RlbCBtZXRhZGF0YSBhbmQgYXJlIG5v" + - "dCBwYXJ0IG9mIG1vZGVsIHVwZGF0ZXMuCgojIyBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAtc3Bl" + - "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgKGZ1bGwgSlNPTiBzcGVj" + - "KS4gRm9yIGFkLWhvYyBvbmUtc2hvdCB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + - "CnwtLS18LS0tfC0tLXwKfCBgLS1mdW5jdGlvbi1pZCBJRGAgfCBGdW5jdGlvbiBJRCAocmVxdWly" + - "ZWQpIHwgLSB8CnwgYC0tZ3B1IE5BTUVgIHwgR1BVIGZhbWlseSB8IGBIMTAwYCB8CnwgYC0taW5z" + - "dGFuY2UtdHlwZSBUWVBFYCB8IFNLVSB8IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1taW4taW5z" + - "dGFuY2VzIE5gIHwgTWluIHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtaW5zdGFuY2VzIE5gIHwg" + - "TWF4IHJlcGxpY2FzIHwgYDFgIHwKfCBgLS1tYXgtcmVxdWVzdC1jb25jdXJyZW5jeSBOYCB8IENv" + - "bmN1cnJlbmN5IHwgYDBgICh1bnNldDsgc2VydmVyIGRlZmF1bHQgYXBwbGllcykgfAp8IGAtLWNs" + - "dXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFRhcmdldCBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXJzIHwg" + - "KGFueSBtYXRjaGluZyBTS1UpIHwKCiMjIGB0YXNrIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + - "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgdGFzayBkZWZpbml0aW9u" + - "cy4gRm9yIGFkLWhvYyB1c2U6Cgp8IEZsYWcgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tbmFtZSBOQU1FYCB8IFRhc2sgbmFtZSAocmVxdWlyZWQpIHwgMS0xMjggY2hhcnMs" + - "IGBeW2EtejAtOUEtWl1bYS16MC05QS1aXC1fXSokYCB8CnwgYC0tZ3B1IEdQVWAgfCBHUFUgbmFt" + - "ZSAocmVxdWlyZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgSDEwMGAgfAp8" + - "IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBJbnN0YW5jZSB0eXBlIChyZXF1aXJlZCB3aXRob3V0" + - "IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBOQ1AuR1BVLkgxMDBfMXhgIHwKfCBgLS1pbWFn" + - "ZSBJTUFHRWAgfCBDb250YWluZXIgaW1hZ2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1o" + - "ZWxtLWNoYXJ0YCB8CnwgYC0taGVsbS1jaGFydCBDSEFSVGAgfCBIZWxtIGNoYXJ0IFVSTCBvciBP" + - "Q0kgcmVmZXJlbmNlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taW1hZ2VgIHwKfCBgLS1p" + - "bnB1dC1maWxlIEZJTEVgIHwgSlNPTiB0YXNrIHNwZWMgZmlsZSB8IENMSSBmbGFncyBvdmVycmlk" + - "ZSBKU09OIHZhbHVlcyB3aGVuIGJvdGggYXJlIHNldCB8CnwgYC0tYmFja2VuZCBCQUNLRU5EYCB8" + - "IEJhY2tlbmQgLyBDU1AgfCAtIHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBTcGVjaWZp" + - "YyBjbHVzdGVycyB3aXRoaW4gdGhlIGluc3RhbmNlIHwgQ29tbWEtc2VwYXJhdGVkIHwKfCBgLS1j" + - "b250YWluZXItYXJncyBBUkdTYCB8IEFyZ3MgcGFzc2VkIHdoZW4gbGF1bmNoaW5nIHRoZSBjb250" + - "YWluZXIgfCBTaW5nbGUgc3RyaW5nLCBlLmcuIGAiLS1lcG9jaHMgMTAgLS1iYXRjaC1zaXplIDMy" + - "ImAgfAp8IGAtLWNvbnRhaW5lci1lbnYgTkFNRT12YWx1ZWAgfCBDb250YWluZXIgZW52aXJvbm1l" + - "bnQgdmFyaWFibGU7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + - "U2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlOyBlbmNyeXB0ZWQgYXQgcmVz" + - "dCB8IC0gfAp8IGAtLW1heC1ydW50aW1lIERVUkFUSU9OYCB8IE1heCB3YWxsLWNsb2NrIHJ1biB0" + - "aW1lIChJU08gODYwMSwgZS5nLiBgUFQ0SGApIHwgTm8gZGVmYXVsdDsgb21pdCBmb3Igbm8gdGlt" + - "ZSBsaW1pdCB8CnwgYC0tbWF4LXF1ZXVlZCBEVVJBVElPTmAgfCBNYXggdGltZSBpbiBxdWV1ZSBi" + - "ZWZvcmUgY2FuY2VsbGF0aW9uIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQ3MkhgIHwK" + - "fCBgLS10ZXJtaW5hdGlvbi1ncmFjZSBEVVJBVElPTmAgfCBHcmFjZSBwZXJpb2QgYWZ0ZXIgc3Rv" + - "cCBzaWduYWwgKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDFIYCB8CnwgYC0tcmVzdWx0" + - "LXN0cmF0ZWd5IFVQTE9BRFx8Tk9ORWAgfCBIb3cgdG8gaGFuZGxlIHRhc2sgb3V0cHV0IGFydGlm" + - "YWN0cyB8IC0gfAp8IGAtLXJlc3VsdHMtbG9jYXRpb24gTE9DQVRJT05gIHwgUmVzdWx0IHVwbG9h" + - "ZCB0YXJnZXQsIGZvcm1hdCBgb3JnLW5hbWUvW3RlYW0tbmFtZS9dbW9kZWwtbmFtZWA7IHJlcXVp" + - "cmVkIHdoZW4gYC0tcmVzdWx0LXN0cmF0ZWd5PVVQTE9BRGAgfCAtIHwKfCBgLS1tb2RlbHMgTkFN" + - "RTpWRVJTSU9OOlVSSWAgfCBNb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXJl" + - "c291cmNlcyBOQU1FOlZFUlNJT046VVJJYCB8IFJlc291cmNlIGFydGlmYWN0OyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgVGFzayB0YWdzIHwgQ29tbWEtc2VwYXJhdGVk" + - "IHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IFRhc2sgZGVzY3JpcHRpb24gfCAtIHwKfCBgLS1s" + - "b2dzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IExvZ3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8" + - "CnwgYC0tbWV0cmljcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBNZXRyaWNzIHRlbGVtZXRyeSBlbmRw" + - "b2ludCBJRCB8IC0gfAp8IGAtLXRyYWNlcy10ZWxlbWV0cnktaWQgVVVJRGAgfCBUcmFjZXMgdGVs" + - "ZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8ClBLBwgiCWEDpFsAAKRbAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJs" + - "ZXNob290aW5nLm1kVVQFAAEAps4SIyBUcm91Ymxlc2hvb3RpbmcKCktub3duIGVycm9ycywgdGhl" + - "IGRpYWdub3N0aWMgY29tbWFuZCwgYW5kIHRoZSByZW1lZGlhdGlvbi4gS2VlcCBpbiBzeW5jIHdp" + - "dGggdGhlIHN0cnVjdHVyZWQgZXZlbnRzIHRoZSBDTEkgZW1pdHMgKFJFUS0xNSk6IG91dHNpZGUg" + - "cHJlLWZsaWdodCwgZXZlcnkgZW50cnkgYmVsb3cgc2hvdWxkIG1hcCB0byBhIGBwaGFzZV9mYWls" + - "ZWRgIGBlcnJDYXRlZ29yeWAgYW5kIGEgYHJlbWVkaWF0aW9uYCBhcnJheS4KCiMjIFByZS1mbGln" + - "aHQKCmBjaGVja2AgcmVwb3J0cyBlYWNoIGZpbmRpbmcgYXMgYSBgY2hlY2tfY29tcGxldGVkYCBl" + - "dmVudCwgbm90IGFzCmBwaGFzZV9mYWlsZWRgLiBUaGUgc3ltcHRvbSBpcyB0aGUgZXZlbnQncyBg" + - "bWVzc2FnZWA7IGNsdXN0ZXItdmFsaWRhdG9yIHJvd3MKcXVvdGUgdGhlIHZhbGlkYXRvcidzIGZh" + - "aWxlZCBzdW1tYXJ5IHJvd3MsIGFuZCBgLS1zaG93LWxvZ3NgIHByaW50cyB0aGUgZnVsbAp0cmFu" + - "c2NyaXB0LgoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwK" + - "fCBga3ViZWN0bCBub3QgZm91bmQgb24gUEFUSGAgfCBPcGVyYXRvcidzIGAkUEFUSGAgZG9lc24n" + - "dCBpbmNsdWRlIGt1YmVjdGwuIEFuIGVycm9yIHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIHdh" + - "cm4sIGFkZGluZyBgOyBvbmx5IGFuIGluc3RhbGwgbmVlZHMgaXRgIHwgSW5zdGFsbCBrdWJlY3Rs" + - "IDEuMjgrOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy90YXNrcy90b29scy9pbnN0YWxsLWt1" + - "YmVjdGwvIHwKfCBgaGVsbWZpbGUgbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8v" + - "Z2l0aHViLmNvbS9oZWxtZmlsZS9oZWxtZmlsZSNpbnN0YWxsYXRpb24gfAp8IGBoZWxtIG5vdCBm" + - "b3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby9pbnN0YWxs" + - "LyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIG5vdCBydW46IGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdl" + - "IGlzIG5vdCBzZXQ7IC4uLmAsIHdhcm5pbmcgfCBObyB2YWxpZGF0b3IgaW1hZ2UgaXMgY29uZmln" + - "dXJlZCwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQgfCBTZXQgYGNsdXN0ZXJfdmFs" + - "aWRhdG9yX2ltYWdlYCBpbiB0aGUgbnZjZi1jbGkgY29uZmlnLCBgTlZDRl9DTElfQ0xVU1RFUl9W" + - "QUxJREFUT1JfSU1BR0VgIG9yIGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlYCB8CnwgYGNsdXN0" + - "ZXItdmFsaWRhdG9yIGRpZCBub3QgY29tcGxldGUsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFs" + - "aWRhdGVkOiAuLi5gLCBlcnJvciB8IFRoZSB2YWxpZGF0b3IgY291bGQgbm90IHJ1biBvciBlbmRl" + - "ZCBiZWZvcmUgaXRzIHZlcmRpY3Q6IFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0" + - "cyBvd24gdGltZW91dCB8IEZpeCB0aGUgY2F1c2UgdGhlIG1lc3NhZ2UgbmFtZXMsIG9yIHBhc3Mg" + - "YC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgSm9iIHN1" + - "Y2NlZWRlZDsgaXRzIHRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQgKC4uLilgLCBwYXNzZWQg" + - "fCBUaGUgdmFsaWRhdG9yIHBhc3NlZCwgYnV0IGl0cyBsb2cgY291bGQgbm90IGJlIHJlYWQ6IHRo" + - "ZSBrdWJlY29uZmlnIHVzZXIgbGFja3MgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAs" + - "IG9yIHRoZSBBUEkgc2VydmVyIGNhbm5vdCByZWFjaCB0aGUga3ViZWxldC4gVGhlIGNoZWNrcyBp" + - "dCByYW4gYW5kIHdhcm5pbmdzIGl0IHJlcG9ydGVkIGFyZSBub3Qgc2hvd246IGFuIGltYWdlIHRo" + - "YXQgcHJlZGF0ZXMgdmFsaWRhdG9yIHJvbGVzIHJ1bnMgdGhlIGNvbXB1dGUtcGxhbmUgY2hlY2tz" + - "IGZvciBlaXRoZXIgcm9sZSB8IEdyYW50IGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRg" + - "LCBvciByZWFkIHRoZSB0cmFuc2NyaXB0IHdpdGggdGhlIGBrdWJlY3RsIGxvZ3NgIGNvbW1hbmQg" + - "aW4gdGhlIHJvdyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHYXRl" + - "d2F5IEFQSSBDUkRzOiBOb3QgSW5zdGFsbGVkYCB8IEVudm95IEdhdGV3YXkgcHJlcmVxIG1pc3Np" + - "bmcgfCBgaGVsbSBpbnN0YWxsIGVnIG9jaTovL2RvY2tlci5pby9lbnZveXByb3h5L2dhdGV3YXkt" + - "aGVsbSAtLW5hbWVzcGFjZT1lbnZveS1nYXRld2F5LXN5c3RlbSAtLWNyZWF0ZS1uYW1lc3BhY2Vg" + - "IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IERlZmF1bHQgU3RvcmFn" + - "ZUNsYXNzOiBOb3QgRm91bmRgIHwgQ2x1c3RlciBoYXMgbm8gZGVmYXVsdCBTQywgYW5kIHRoZSBz" + - "dGFjayBkb2VzIG5vdCBuYW1lIG9uZSB8IEFubm90YXRlIG9uZTogYGt1YmVjdGwgcGF0Y2ggc2Mg" + - "PG5hbWU+IC1wICd7Im1ldGFkYXRhIjp7ImFubm90YXRpb25zIjp7InN0b3JhZ2VjbGFzcy5rdWJl" + - "cm5ldGVzLmlvL2lzLWRlZmF1bHQtY2xhc3MiOiJ0cnVlIn19fSdgLCBvciBzZXQgYGdsb2JhbC5z" + - "dG9yYWdlQ2xhc3NgIGluIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgKG9yIGBOVkNGX1NU" + - "T1JBR0VfQ0xBU1NgKSB0byB0aGUgY2xhc3MgdGhlIHN0YWNrIHVzZXMgfAp8IGBjbHVzdGVyLXZh" + - "bGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR1BVIFJlc291cmNlczogTm90IEF2YWlsYWJsZWAg" + - "KGNvbXB1dGUtcGxhbmUpIHwgTm8gbm9kZSBhZHZlcnRpc2VzIGFuIGFsbG9jYXRhYmxlIEdQVTog" + - "bm8gR1BVIG5vZGVzLCBvciB0aGUgTlZJRElBIEdQVSBPcGVyYXRvciBpcyBtaXNzaW5nIG9yIG5v" + - "dCB3b3JraW5nIHwgSW5zdGFsbCBwZXIgaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vZGF0YWNlbnRl" + - "ci9jbG91ZC1uYXRpdmUvZ3B1LW9wZXJhdG9yL2xhdGVzdC9pbnN0YWxsLWdwdS1vcGVyYXRvci5o" + - "dG1sLCBPUiB1c2UgYGZha2UtZ3B1LW9wZXJhdG9yYCBmb3IgZGV2LiBgR1BVIE9wZXJhdG9yOiBO" + - "b3QgSW5zdGFsbGVkYCBhbG9uZSBpcyBhIHdhcm5pbmcgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDog" + - "YDxucz4gKHN0dWNrIFRlcm1pbmF0aW5nOiAuLi4pYCwgZXJyb3IsIGV4aXQgYDJgIHwgVGhlIG5h" + - "bWVzcGFjZSBoYXMgYmVlbiBkZWxldGluZyBmb3Igb3ZlciAyIG1pbnV0ZXMsIG9yIGl0cyBjb25k" + - "aXRpb25zIHJlcG9ydCBhIGRlbGV0aW9uIGZhaWx1cmUuIFVzdWFsbHkgYW4gb2JqZWN0IGluc2lk" + - "ZSBpdCBzdGlsbCBob2xkcyBhIGZpbmFsaXplciB8IFJ1biB0aGUgY29tbWFuZHMgaW4gdGhlIHJv" + - "dyBpbiBvcmRlcjogcmVhZCBga3ViZWN0bCBnZXQgbnMgPG5zPiAtbyBqc29ucGF0aD0ney5zdGF0" + - "dXMuY29uZGl0aW9uc30nYCwgbGlzdCB3aGF0IGlzIGxlZnQgd2l0aCB0aGUgYGFwaS1yZXNvdXJj" + - "ZXNgIGNvbW1hbmQsIGFuZCByZXNvbHZlIHRob3NlIG9iamVjdHMuIEZvcmNlLWNsZWFyIHRoZSBu" + - "YW1lc3BhY2UgZmluYWxpemVycyBvbmx5IGFzIGEgbGFzdCByZXNvcnQgfAp8IGBzdGFsZS1uYW1l" + - "c3BhY2VzYDogYDxucz4gKFRlcm1pbmF0aW5nOiBkZWxldGluZyBmb3IgPGFnZT4pYCwgd2Fybmlu" + - "ZyB8IEEgbm9ybWFsIGRlbGV0aW9uIGlzIHN0aWxsIGRyYWluaW5nIHZvbHVtZXMgYW5kIGZpbmFs" + - "aXplcnMgfCBXYWl0IGFuZCByZXJ1biBgY2hlY2tgOyBgLS13YWl0YCBwb2xscyB0aGlzIHJvdy4g" + - "SXQgYmVjb21lcyBgc3R1Y2sgVGVybWluYXRpbmdgIGFmdGVyIDIgbWludXRlcyB8CnwgYHN0YWxl" + - "LW5hbWVzcGFjZXNgOiBgPG5zPiAoSGVsbSByZWxlYXNlIG1pZC1vcGVyYXRpb246IDxyZWxlYXNl" + - "PiA8c3RhdHVzPilgLCB3YXJuaW5nIHwgQW4gaW50ZXJydXB0ZWQgaW5zdGFsbCwgdXBncmFkZSwg" + - "cm9sbGJhY2sgb3IgdGVhcmRvd24gbGVmdCB0aGUgcmVsZWFzZSBgcGVuZGluZy0qYCBvciBgdW5p" + - "bnN0YWxsaW5nYC4gVGhlIG5leHQgYHVwYCBmYWlscyBvbiBpdCB8IElmIG5vIGluc3RhbGwgb3Ig" + - "dGVhcmRvd24gaXMgcnVubmluZywgcmVhZCBgaGVsbSBoaXN0b3J5IDxyZWxlYXNlPiAtbiA8bnM+" + - "YCwgdGhlbiBmaW5pc2ggaXQgd2l0aCBgaGVsbSByb2xsYmFja2Agb3IgYGhlbG0gdW5pbnN0YWxs" + - "YCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAobm8gSGVsbSByZWxlYXNlKWAsIHdhcm5p" + - "bmcgfCBUaGUgbmFtZXNwYWNlIHJ1bnMgbm8gd29ya2xvYWQgYW5kIGhhcyBubyBIZWxtIHJlbGVh" + - "c2UsIGJ1dCBzdGlsbCBob2xkcyB2b2x1bWUgY2xhaW1zIG9yIHdvcmtsb2FkIG9iamVjdHMsIGFz" + - "IGBkb3duYCBsZWF2ZXMgdGhlbS4gQSByZWluc3RhbGwgcmVhdHRhY2hlcyB0aGUgb2xkIHZvbHVt" + - "ZXMgfCBJbnNwZWN0IG9ubHk6IGBrdWJlY3RsIGFwaS1yZXNvdXJjZXMgLS12ZXJicz1saXN0IC0t" + - "bmFtZXNwYWNlZCAtbyBuYW1lIFx8IHhhcmdzIC1uMSBrdWJlY3RsIGdldCAtbiA8bnM+IC0tc2hv" + - "dy1raW5kIC0taWdub3JlLW5vdC1mb3VuZGAuIEFuIEFyZ28gQ0Qgb3IgdXBzdHJlYW0gaW5zdGFs" + - "bCBvZiBhIGdhdGVkIGNvbXBvbmVudCBhbHNvIGhhcyBubyBIZWxtIHJlbGVhc2UgfAp8IGBzdGFs" + - "ZS1uYW1lc3BhY2VzYCByZXBvcnRzIGBubyBIZWxtIHJlbGVhc2VgIG9uIGEgaGVhbHRoeSBpbnN0" + - "YWxsIHwgSGVsbSBzdG9yZXMgcmVsZWFzZXMgd2l0aCBgSEVMTV9EUklWRVI9c3FsYCwgYW5kIGBj" + - "aGVja2AgcmVhZHMgYEhFTE1fRFJJVkVSYCBmcm9tIGl0cyBvd24gZW52aXJvbm1lbnQgb25seSwg" + - "bm90IGZyb20gdGhlIGhlbG1maWxlIGVudmlyb25tZW50IHwgRXhwb3J0IGBIRUxNX0RSSVZFUj1z" + - "cWxgIGJlZm9yZSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2tgLiBXaXRoIGl0LCBvbmx5IFRl" + - "cm1pbmF0aW5nIG5hbWVzcGFjZXMgYXJlIGNoZWNrZWQgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYCBk" + - "b2VzIG5vdCBzY2FuIGFuIGFkZC1vbiBvciBnYXRlZCBuYW1lc3BhY2UgfCBOYW1lc3BhY2VzIGJl" + - "aGluZCBhIHN0YWNrIGBjb25kaXRpb246YCBhcmUgcHJvYmVkIG9ubHkgd2hlbiB0aGF0IGdhdGUg" + - "aXMgb24uIEdhdGVzIGNvbWUgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZCwgZm91bmQg" + - "YXMgZm9yIHRoZSBbc2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oZmxhZ3MubWQjc2V0dGlu" + - "Z3MtcmVhZC1mcm9tLXRoZS1zdGFjayk6IGl0cyBgZW52aXJvbm1lbnRzL2Jhc2UueWFtbGAgYW5k" + - "LCB3aGVuIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAgbmFtZXMgdGhlIGVudmlyb25tZW50IG9y" + - "IGAtLXByZWAgY2hlY2tzIHRoZSBwbGFuZSBiZWZvcmUgaXRzIGluc3RhbGwsIGBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbGAuIE90aGVyd2lzZSB0aGUgc3RhY2sgZGVmYXVsdHMgZGVjaWRlLCB3aGlj" + - "aCBsZWF2ZSBga2FpLXNjaGVkdWxlcmAsIGBncm92ZS1zeXN0ZW1gLCBgZHluYW1vLXN5c3RlbWAg" + - "YW5kIGBudmNmLXVpYCBvZmYgfCBQYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQsIGFu" + - "ZCB0aGUgc3RhY2sgZmxhZyB0aGUgaW5zdGFsbCB1c2VkLCBpZiBhbnkgfAoKIyMgQXV0aAoKfCBT" + - "eW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgYWRtaW4gdG9r" + - "ZW4gcmVxdWlyZWRgIChpbml0IG5vdCBydW4pIHwgTm8gYH4vLm52Y2YtY2xpLnN0YXRlYCBhbmQg" + - "YC0tdG9rZW5gIG5vdCBwYXNzZWQgfCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBvciBg" + - "LS10b2tlbj0kSldUIC0tbm9uLWludGVyYWN0aXZlYCAoQ0kpIHwKfCBgU2lnbmVkIEpXVCByZWpl" + - "Y3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5vIG1hdGNoaW5nIGtleShzKSBm" + - "b3VuZGAgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5l" + - "IHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8Cnwg" + - "YDQwMyBtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllc2AgKGZ1bmN0aW9uIGludm9rZSkgfCBB" + - "ZG1pbiB0b2tlbiBkb2Vzbid0IGhhdmUgYGludm9rZV9mdW5jdGlvbmAgc2NvcGUgfCBgbnZjZi1j" + - "bGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPeKApmAgdGhlbiByZS1ydW4gaW52b2tl" + - "IHwKCiMjIEluc3RhbGwgLyBgdXBgCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + - "fC0tLXwtLS18LS0tfAp8IEhlbG0gYHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmFgIHwg" + - "Q2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBzdHVjayBgUGVuZGluZ2AgfCBDb25maXJtIGRlZmF1" + - "bHQgU3RvcmFnZUNsYXNzOyBjaGVjayBga3ViZWN0bCBnZXQgcHYscHZjIC1uIGNhc3NhbmRyYS1z" + - "eXN0ZW1gIHwKfCBgSW52YWxpZCBHUFUgJ05DUC5HUFUuSDEwMCcgc3BlY2lmaWVkYCAoZnVuY3Rp" + - "b24gZGVwbG95KSB8IFdyb25nIGZpZWxkIOKAlCBgZ3B1YCBpcyB0aGUgZmFtaWx5LCBub3QgdGhl" + - "IFNLVSB8IFVzZSBgImdwdSI6ICJIMTAwImAsIGAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEw" + - "MF8xeCJgIHwKfCBgcmVnaW9uIG11c3QgYmUgcHJvdmlkZWRgIChjbHVzdGVyIHJlZ2lzdGVyIC8g" + - "aW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUpIHwgYC0tcmVnaW9uYCBlbXB0eSArIGBDTFVTVEVSX1JF" + - "R0lPTmAgZW52IGVtcHR5IHwgUGFzcyBgLS1yZWdpb249dXMtd2VzdC0xYCAob3IgYW55IG5vbi1l" + - "bXB0eSB2YWx1ZSkgfAp8IGByZXF1aXJlZEVudiAiTkNBX0lEIiBpcyBub3Qgc2V0YCAoaGVsbWZp" + - "bGUgZXJyb3IgZHVyaW5nIGNvbXB1dGUtcGxhbmUgYXBwbHkpIHwgT2xkZXIgbnZjZi1jbGkgYmVm" + - "b3JlIGNvbW1pdCBgNmFhNTcwNGA7IEV4dHJhRW52IG5vdCBwcm9wYWdhdGluZyBOQ0FfSUQgfCBV" + - "cGdyYWRlIGBudmNmLWNsaWAgdG8gYSByZWxlYXNlIGFmdGVyIGA2YWE1NzA0YCB8CnwgYG52Y2Et" + - "b3BlcmF0b3I6IEltYWdlUHVsbEJhY2tPZmZgIGZvciBgbnZjYS1vcGVyYXRvcjpwc2F0YCB8IElt" + - "YWdlIG5vdCBpbiBjbHVzdGVyIHJlZ2lzdHJ5OyBtdWx0aS1jbHVzdGVyIGJ1aWxkIGlzIGxvY2Fs" + - "IHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxj" + - "bHVzdGVyPmAgfAoKIyMgQ29tcHV0ZS1wbGFuZSBydW50aW1lCgp8IFN5bXB0b20gfCBDYXVzZSB8" + - "IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IE5WQ0EgYWdlbnQgQ3Jhc2hMb29wQmFja09m" + - "ZiB3aXRoIGBIVFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLy4uLi9yZWdpc3RlcmAgfCBT" + - "dGFsZSBgb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgZnJvbSBwcmlvciByZWdp" + - "c3RlcjsgY2x1c3RlciBJRCBkb2Vzbid0IG1hdGNoIElDTVMgfCBEZWxldGUgdGhlIHN0YWxlIGZp" + - "bGU7IHJlLXJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXBgIChpZGVtcG90ZW50IHJlZ2lzdGVy" + - "IHdyaXRlcyBhIGZyZXNoIGZpbGUpIHwKfCBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpX" + - "S1MgZm9yIGNsdXN0ZXIgSUQ6IDxpZD5gIChJQ01TIGxvZykgfCBKV0tTIGluIElDTVMgZG9lc24n" + - "dCBtYXRjaCB3aGF0IGNvbXB1dGUtcGxhbmUgSzhzIGlzIGN1cnJlbnRseSBzaWduaW5nIHwgYG52" + - "Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB8CnwgRnVuY3Rpb24gcG9k" + - "IGBJbWFnZVB1bGxCYWNrT2ZmYCBpbiBgbnZjZi1iYWNrZW5kYCB8IEltYWdlLWNyZWRlbnRpYWwt" + - "aGVscGVyIGNvbmZpZyBtaXNzaW5nIG9yIHdyb25nIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kIC1u" + - "IG52Y2YtYmFja2VuZCA8cG9kPmA7IGNoZWNrIHRoZSBwdWxsIHNlY3JldCBjb25maWcgfAp8IEZ1" + - "bmN0aW9uIGRlcGxveSBzdHVjayBgREVQTE9ZSU5HYCBmb3IgPjUgbWluIHwgTkFUUyBzdHJlYW0g" + - "aW5pdCBsYWcgKGNvbGQtY2x1c3Rlcikg4oCUIHdhaXQsIG9yIGNoZWNrIE5BVFMgYXV0aC1jYWxs" + - "b3V0IGhlYWx0aCB8IGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + - "ZXMuaW8vbmFtZT1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2aWNlYCB8CgojIyBUYXNrcwoKfCBTeW1w" + - "dG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBjcmVhdGVg" + - "IHJldHVybnMgYE1pc3NpbmcgPFRZUEU+IHJlZ2lzdHJ5IGNyZWRlbnRpYWwgZm9yIGhvc3RuYW1l" + - "YCwgb3Iga2VlcHMgdXNpbmcgYSBwcmV2aW91cyBjcmVkZW50aWFsIHZhbHVlLCBzaG9ydGx5IGFm" + - "dGVyIGByZWdpc3RyeS1jcmVkZW50aWFsIGFkZC91cGRhdGUvZGVsZXRlYCB3aGlsZSBgcmVnaXN0" + - "cnktY3JlZGVudGlhbCBsaXN0YC9gZ2V0YCBhbHJlYWR5IHNob3cgdGhlIG5ldyB2YWx1ZSB8IEV4" + - "cGVjdGVkIHByb3BhZ2F0aW9uIGRlbGF5OiBOVkNUIGNhY2hlcyB0aGUgYWNjb3VudCdzIHJlZ2lz" + - "dHJ5IGNyZWRlbnRpYWxzIHdpdGggYG52Y3QubnZjZi5jYWNoZS10dGxgIChkZWZhdWx0IGBQVDVN" + - "YCwgYWJvdXQgNSBtaW4pIGFuZCBhcHBsaWVzIHRoZSBjaGFuZ2Ugd2hlbiB0aGF0IGNhY2hlZCBj" + - "b3B5IHJlZnJlc2hlcyB8IFdhaXQgdXAgdG8gYWJvdXQgNSBtaW4gYW5kIHJldHJ5LCBvciBga3Vi" + - "ZWN0bCAtbiBudmNmIHJvbGxvdXQgcmVzdGFydCBkZXBsb3ltZW50L252Y3QtYXBpYCB0byBhcHBs" + - "eSBpbW1lZGlhdGVseSB8ClBLBwgauLPzYSEAAGEhAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ACwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbO" + - "Ei0tLQpuYW1lOiBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24KZGVzY3JpcHRpb246ID4t" + - "CiAgSW5zdGFsbCBhbmQgb3BlcmF0ZSBOVkNGIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgYW5k" + - "IHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUKICBzdGFja3MuIENvdmVycyBIZWxtZmlsZSB2YWx1ZXMg" + - "YW5kIENMSSBwcm9maWxlIGluc3RhbGxhdGlvbiBmbG93cywgdGVhcmRvd24sCiAgdmFsdWVzIG92" + - "ZXJyaWRlcywgcHVsbCBzZWNyZXRzLCBhbmQgdHJvdWJsZXNob290aW5nLiBVc2UgZm9yCiAgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2ssIG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFjaywgc3BsaXQgY29t" + - "cHV0ZS1wbGFuZQogIGluc3RhbGxhdGlvbiwgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24sIENM" + - "SS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZQogIHByb2ZpbGVzLCBIZWxtZmlsZSwgc2VsZi1tYW5h" + - "Z2VkLCBvciBzZWxmLWhvc3RlZCBkZXBsb3ltZW50cy4gRG8gTk9UIHVzZSBmb3IKICBsb2NhbCBr" + - "M2QgZW52aXJvbm1lbnRzOyB1c2UgdGhlIGxvY2FsIGszZCBkZXZlbG9wbWVudCB3b3JrZmxvdyBp" + - "bnN0ZWFkLgpsaWNlbnNlOiBBcGFjaGUtMi4wCmNvbXBhdGliaWxpdHk6IFJlcXVpcmVzIGhlbG1m" + - "aWxlID49IDEuMS4wIDwgMS4yLjAsIGhlbG0gPj0gMy4xMiwgaGVsbS1kaWZmIHBsdWdpbiwga3Vi" + - "ZWN0bCBtYXRjaGluZyBjbHVzdGVyIHZlcnNpb24KYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZj" + - "Zi1jb3JlLWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKdmVyc2lvbjogIjEuMC4wIgp0YWdzOiBb" + - "bnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUs" + - "IGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1" + - "bGwtc2VjcmV0c10KdG9vbHM6IFtTaGVsbCwgUmVhZCwgRWRpdCwgR3JlcCwgR2xvYl0KbWV0YWRh" + - "dGE6CiAgaW50ZXJuYWw6IGZhbHNlCiAgYXV0aG9yOiAibnZjZi1jb3JlLWVuZyA8bnZjZi1jb3Jl" + - "LWVuZ0BleGNoYW5nZS5udmlkaWEuY29tPiIKICB2ZXJzaW9uOiAiMS4wIgogIHRhZ3M6IFtudmNm" + + "ciBTU0ggc2Vzc2lvbiBjbG9zZWQuIEEgc2lnbmFsIGBjaGVja2Agd2FzIHN0YXJ0ZWQgd2l0aCBp" + + "Z25vcmVkIHN0YXlzIGlnbm9yZWQsIHNvIGEgYGNoZWNrYCBydW4gdW5kZXIgYG5vaHVwYCBvdXRs" + + "aXZlcyB0aGUgc2Vzc2lvbiB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUg" + + "fCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1" + + "Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSBy" + + "ZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVz" + + "c2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4g" + + "RG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2Ag" + + "fCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1Rg" + + "IChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNl" + + "ciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBv" + + "bmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1" + + "c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8Cgoj" + + "IyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUg" + + "aW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBgdG90YWxDaGVja3Ng" + + "LCBgcGFzc2VkQ291bnRgLCBgZmFpbGVkQ291bnRgLCBgd2FybmluZ0NvdW50YCkgYW5kIG5ldmVy" + + "IGVtaXRzIGBwaGFzZV9mYWlsZWRgOyBzZWUgYGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZGAuIEEg" + + "dXNhZ2UgZXJyb3IsIHN1Y2ggYXMgYSBtYWxmb3JtZWQgYC0td2FpdGAsIGV4aXRzIGAxYCBiZWZv" + + "cmUgYW55IGV2ZW50LiBJdHMgZXhpdCBgNWAgaGFzIGBzdWNjZXNzOiBmYWxzZWAgYW5kIGB2ZXJk" + + "aWN0OiAidGltZW91dCJgLiBBIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGZvciBhIHdhcm5pbmcg" + + "dGhhdCBgLS13YWl0YCBwb2xscyBvbiBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLCBhbmQgb25l" + + "IGZvciBhIGNoZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGNhcnJpZXMgYGN1dFNob3J0OiB0" + + "cnVlYC4gQSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0aCBgY2Fu" + + "Y2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFz" + + "ZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4gV2hlbiBhIGNsdXN0ZXItdmFsaWRhdG9yIHJ1biBsZWZ0" + + "IG9iamVjdHMgaW4gdGhlIGNsdXN0ZXIgKGAtLW5vLWNsZWFudXBgLCBhIHBvZCB0aGF0IHdvdWxk" + + "IG5vdCBzdG9wLCBvciBhIGNsZWFudXAgdGhhdCBmYWlsZWQpLCBgY2hlY2tgIGxpc3RzIHRoZSBj" + + "b21tYW5kcyB0aGF0IHJlbW92ZSB0aGVtIGluIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBg" + + "IGFycmF5IGFuZCBpbiB0aGF0IHJvdydzIGBjbGVhbnVwYCBmaWVsZCwgb24gZXZlcnkgZXhpdCBj" + + "b2RlLCBhbmQgcHJpbnRzIHRoZW0gYWdhaW4gYXMgaXRzIGxhc3Qgc3RkZXJyIGxpbmVzLiBPbiBh" + + "biBpbnRlcnJ1cHQgaXQgcHJpbnRzIHRoZW0gYXQgb25jZSwgYmVmb3JlIGl0cyBvd24gY2xlYW51" + + "cCwgd2hpY2ggYSBzZWNvbmQgQ3RybC1DIGN1dHMgc2hvcnQuIEV2ZXJ5IG90aGVyIG5vbi16ZXJv" + + "IGV4aXQgZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQgd2l0aCBg" + + "ZXJyQ2F0ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwgYHJldHJ5" + + "Q2xhc3NgIChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlhdGlvbnx1" + + "bmtub3duYCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3YCAoc3Vi" + + "cHJvY2VzcyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1lIHRoZXNl" + + "IGluIGAtLWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20gc3RkZXJy" + + "LgpQSwcIyflFb2gQAABoEAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlg" + + "IGZsYWcgcmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQpCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcgRklMRWAg" + + "fCBDb25maWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0tZGVidWdg" + + "IHwgVmVyYm9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0tanNvbmAg" + + "fCBKU09OTCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5kZXIgYC0t" + + "bm9uLWludGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNpc3RlbnQg" + + "YWNyb3NzIHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz0uLi5gIHwgQ29udHJvbC1wbGFuZSBidW5k" + + "bGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRl" + + "ZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "az0uLi5gIHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJM" + + "LCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lv" + + "biB8CnwgYC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1l" + + "LiBgY2hlY2tgIHJlYWRzIHRoZSBzdGFjaydzIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgb25s" + + "eSBmb3IgYW4gZW52aXJvbm1lbnQgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + + "LCBvciBmb3IgYSBwbGFuZSBgLS1wcmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGwsIHNvIHBh" + + "c3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZDsgc2VlIFtTZXR0aW5ncyByZWFkIGZyb20g" + + "dGhlIHN0YWNrXSgjc2V0dGluZ3MtcmVhZC1mcm9tLXRoZS1zdGFjaykgfCBgbG9jYWxgIHwKfCBg" + + "LS1ub24taW50ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAg" + + "fAp8IGAtLXRva2VuPSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24g" + + "fCAtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90" + + "IGt1YmVjdGwgYXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdh" + + "Y3kgYWxpYXMgZm9yIGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3Ip" + + "IHwgYHRleHRgIHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwg" + + "YXV0by1kZXRlY3QgfAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhl" + + "IGNoZWNrcyBhZ2FpbiwgNXMgYXBhcnQsIHVudGlsIHRoZXkgcGFzcyBvciBEVVJBVElPTiBydW5z" + + "IG91dCAoZXhpdCBgNWAsIGBmaW5hbGAgd2l0aCBgc3VjY2VzczogZmFsc2VgKS4gRWFjaCBydW4g" + + "aW5jbHVkZXMgdGhlIGNsdXN0ZXItdmFsaWRhdG9yIEpvYiwgd2hpY2ggY2FuIHRha2UgdXAgdG8g" + + "NW0sIHNvIGFsbG93IGZvciBpdCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYC4g" + + "QSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0ZWQgdG8gY2xlYXIsIHN1Y2ggYXMgYSByb2xsb3V0IGlu" + + "IHByb2dyZXNzLCBrZWVwcyBpdCBwb2xsaW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2" + + "ZW50IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAuIEEgY2hlY2sgdGhlIHRpbWUgYnVkZ2V0IHN0" + + "b3BwZWQga2VlcHMgaXQgcG9sbGluZyB0b28sIGFuZCBpdHMgZXZlbnQgY2FycmllcyBgY3V0U2hv" + + "cnQ6IHRydWVgLiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxm" + + "b3JtZWQgb3Igbm9uLXBvc2l0aXZlIERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFg" + + "LCBubyBldmVudHMpIHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJl" + + "Y3RsIGNvbnRleHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQg" + + "fAp8IGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBj" + + "b21wdXRlIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBV" + + "UkxgIHwgUHVibGljIElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNo" + + "ZWNrYCBwcm9iZXMgU0lTIG9ubHkgYXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJM" + + "YCBvciBgTlZDRl9TSVNfVVJMYCwgb3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBi" + + "YXNlX2h0dHBfdXJsYCwgYW5kIG5vdCBhdCBvbmUgZGVyaXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91" + + "cmxgIG9uIE5WSURJQSdzIGhvc3RlZCBgbnZjZi5udmlkaWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0" + + "ZW1wbGF0ZSdzIGlzOyB3aXRoIG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEg" + + "d2FybmluZyB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlg" + + "IHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBj" + + "bHVzdGVyIGFuZCByZWdpc3RyeSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3Nl" + + "ZC4gVGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdz" + + "IGNsdXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFu" + + "ZCBzYXkgYHNraXBwZWQgKC0tbG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVE" + + "X0xPQ0FMX09OTFlgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1z" + + "cGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1j" + + "b21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJv" + + "dGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3RzIGl0cyBvd24uIE9ubHkKdGhlIHNlbGVj" + + "dGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNzIGJvdGggY29udGV4dCBmbGFncyBvciBu" + + "ZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJl" + + "bnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBj" + + "bHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwgc2luY2UgU0lTIGlzIG5v" + + "dCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBvciBgLS1jb21wdXRlLXBsYW5lYCBpcyBh" + + "bHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRoIGEgcm9sZSdzIG93biBmbGFnLCB0aGF0" + + "IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVzdGVyIGFzIGluc3RhbGxlZC4gQSBtaXNz" + + "aW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhlbG1maWxlYCBvciBgaGVsbWAgZmFpbHMg" + + "b25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBjaGVjayBhbiBpbnN0YWxsZWQgc3RhY2ss" + + "IHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNv" + + "bnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0b3Zl" + + "ciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2" + + "ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhl" + + "IGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzLCBub2RlIGlub3Rp" + + "ZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEgY29uZmlndXJlZCBJQ01TIFVSTCwgYW5k" + + "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxs" + + "YCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAtLWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVh" + + "Y2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhvdXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8" + + "IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBzaG93biBpbiB0aGUgb3V0cHV0" + + "IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBjaGVja2AgZG9lcyBub3QgcmVxdWlyZSBp" + + "dCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90" + + "aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3Qg" + + "Y3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBh" + + "IHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdl" + + "dCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3RpZnktbGltaXRzYCByb3cgcGFzc2VzIGF0" + + "IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURf" + + "U0tJUF9JTk9USUZZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVy" + + "LXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVz" + + "dGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVz" + + "dGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQsIHBsdXMgYSBSb2xlIGFuZApS" + + "b2xlQmluZGluZyBpbiBgZGVmYXVsdGAgdGhhdCBsZXQgaXQgcmVhZCBvbmx5IGl0cyBvd24gQ29u" + + "ZmlnTWFwLCBhbmQgcmVtb3Zlcwp0aGVtIGFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmln" + + "IGNvbnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2" + + "YWxpZGF0b3IncyB0cmFuc2NyaXB0IHdpdGggYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVs" + + "dGAuCldpdGhvdXQgaXQsIGEgdmFsaWRhdG9yIEpvYiB0aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNz" + + "ZXMsIGFuZCBpdHMgcm93IHNheXMgdGhlCnRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQsIHNv" + + "IG5laXRoZXIgdGhlIGNoZWNrcyBpdCByYW4gbm9yIHdhcm5pbmdzIGl0CnJlcG9ydGVkIGFyZSBz" + + "aG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBj" + + "aGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRl" + + "cyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0" + + "ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxp" + + "ZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxh" + + "ZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rl" + + "cl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVz" + + "dCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVy" + + "ZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVj" + + "aywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9s" + + "bC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2gg" + + "cm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRp" + + "Y3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMg" + + "aG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVp" + + "ciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBm" + + "cm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0" + + "aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhl" + + "eSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhl" + + "IHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJl" + + "Z2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3Ig" + + "dGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0" + + "LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZj" + + "ci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFn" + + "ZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3" + + "YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50" + + "cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6" + + "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1" + + "c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9y" + + "bSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBm" + + "b3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9y" + + "J3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1z" + + "dHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5W" + + "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rl" + + "cl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHVi" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8" + + "IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0" + + "IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVz" + + "dGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVu" + + "a25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0" + + "ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhl" + + "IGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVu" + + "dCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RF" + + "Ul9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + + "aWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBz" + + "dGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVm" + + "ZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNp" + + "ZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJz" + + "IHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQ" + + "cmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMg" + + "dGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NM" + + "SV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + + "aWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtLCBub3Qg" + + "S3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + + "ci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRg" + + "IHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVz" + + "ZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFn" + + "ZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRy" + + "eSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3Bh" + + "Y2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMg" + + "b25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJl" + + "Z2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRo" + + "ZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQs" + + "IGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0" + + "aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZh" + + "bGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNr" + + "LCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhl" + + "IGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxp" + + "ZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBF" + + "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCwgYHRydWVg" + + "IG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlk" + + "YXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRl" + + "YnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1" + + "c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2" + + "ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVyIGNoZWNr" + + "IHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhv" + + "dXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQg" + + "dGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVt" + + "IG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1z" + + "aG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0" + + "ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0b3IgbG9n" + + "cyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNh" + + "dGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0" + + "ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVz" + + "IHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRo" + + "ZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBw" + + "cm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2Nh" + + "bApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklH" + + "L2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2ggYW55IGBj" + + "cmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdD" + + "IEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExf" + + "QVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5H" + + "Q19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2lu" + + "IG9ubHkgd2hlbiB0aGUKcmVnaXN0cnkgY2hlY2sncyBwbGFuZSwgYmVsb3csIGlzIGNoZWNrZWQg" + + "YmVmb3JlIGl0cyBpbnN0YWxsIHdpdGggdGhlCmBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1" + + "cGAgY3JlYXRlcyBpdHMgcHVsbCBzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcwpuZXZlciBzZW50" + + "IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVy" + + "ZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIGZvciBhIHJlcG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9g" + + "CnJlamVjdHMgdGhlIGRvY2tlciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAo" + + "YSA0MDMpLiBUaGlzIGlzCmRlY2lkZWQgb25jZSBwZXIgcmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBk" + + "aXNjb3ZlcnksIHRoZSByb3cgYW5kIHRoZQp2YWxpZGF0b3IncyBwdWxsIHNlY3JldCB1c2UgaXQs" + + "IHNvIGFsbCB0aHJlZSBnZXQgdGhlIHNhbWUgY3JlZGVudGlhbCwgYW5kIGEKbG9naW4gd2l0aCBu" + + "byBhY2Nlc3MgdG8gb25lIG9yZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0" + + "MDMgaXMKcmVwb3J0ZWQgYXMgbm8gYWNjZXNzIHRvIHRoYXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMg" + + "YSByZWplY3RlZCBsb2dpbi4gRWFjaApgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFs" + + "cyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZSBydW4Kd2FpdHMgY291bnRzIG9u" + + "IHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZh" + + "bGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6" + + "IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2Uu" + + "cmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcg" + + "d2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCBy" + + "ZWZ1c2VzIGl0LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9z" + + "ZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFk" + + "ZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNo" + + "IHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFuZSBmb3IgYSBiYXJl" + + "CmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxh" + + "bmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3" + + "aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5lLgoKT25seSBhIGNy" + + "ZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9y" + + "IGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBCZWZvcmUg" + + "aW5zdGFsbCB0aGF0IGluY2x1ZGVzIGEgZG9ja2VyCmxvZ2luIGBudmNyLmlvYCByZWplY3RzIGV2" + + "ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIHNpbmNlCmBoZWxtYCBvbiB0" + + "aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0YWNrJ3MgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dp" + + "bi4gVGhlCmtleSBpcyBzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRh" + + "dG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUKcm93IG5hbWVzIGJvdGguIEFmdGVyIGluc3RhbGwg" + + "YSByZWplY3RlZCBkb2NrZXIgbG9naW4gc3RpbGwgZmFpbHMuIEEgcmVqZWN0ZWQKTkdDIGtleSBp" + + "cyBhIHdhcm5pbmcgb25seSB3aGVuIGBjaGVja2AgcmVhZHMgdGhlIHB1bGwgc2VjcmV0cyBvZiB0" + + "aGUgY2x1c3RlcnMKaXQgdmlzaXRzLCBpbiB0aGUgbmFtZXNwYWNlcyB0aGUgdmFsaWRhdG9yIGNv" + + "cGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kCm5vbmUgb2YgdGhlbSBob2xkcyB0aGF0IGtleTsg" + + "d2hlbiBvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxsIGJlIHJlYWQsIGl0IGlzCmFuIGVycm9y" + + "LiBBIGRvY2tlciBsb2dpbiB0aGUgTkdDIGtleSByZXBsYWNlZCBwYXNzZXMgYWZ0ZXIgaW5zdGFs" + + "bCBvbmx5IHdoZW4Kbm9uZSBvZiB0aG9zZSBwdWxsIHNlY3JldHMgaG9sZHMgaXQ6IHdoZW4gb25l" + + "IGRvZXMgaXQgaXMgYW4gZXJyb3IsIGFuZCB3aGVuCnRoZXkgY2Fubm90IGFsbCBiZSByZWFkIGEg" + + "d2FybmluZy4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUgY2Fubm90IHJlYWNoLCBhCnRva2VuIHNl" + + "cnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFyZSB3YXJu" + + "aW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBv" + + "ciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVj" + + "ayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnlt" + + "b3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMj" + + "IFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBz" + + "ZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2" + + "YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBS" + + "ZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8" + + "IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhl" + + "IHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5" + + "QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5h" + + "YmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtl" + + "ci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5h" + + "bWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxp" + + "ZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kg" + + "R2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3Bh" + + "Y2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25l" + + "bnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlz" + + "IHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNv" + + "bXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNz" + + "IHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3Mg" + + "dGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xh" + + "c3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5W" + + "Q0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNs" + + "dXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8" + + "CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2Ag" + + "cmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoK" + + "LSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + + "LiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAg" + + "Y2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQu" + + "IE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNl" + + "LnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3Rh" + + "Y2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNr" + + "CiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1aWx0LWlu" + + "IHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2Np" + + "Oi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJhY3RlZCBp" + + "bnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAg" + + "bm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBB" + + "IENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhl" + + "IHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNl" + + "IG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRz" + + "IHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFz" + + "IGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVz" + + "dGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + + "IGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVz" + + "dGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1p" + + "dCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0" + + "dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + + "fCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0g" + + "KGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8" + + "IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8" + + "IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwg" + + "YWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMj" + + "IGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQg" + + "fAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQp" + + "IHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVn" + + "aW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8" + + "IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1h" + + "dGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBg" + + "YXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRo" + + "ZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVz" + + "Y3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5l" + + "cmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBv" + + "ZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBg" + + "MjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29w" + + "ZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRl" + + "YCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5n" + + "IHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1g" + + "IChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1" + + "bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5k" + + "ZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRl" + + "czoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + + "TkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVy" + + "IGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5j" + + "ZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGlu" + + "ZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdc" + + "fExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJU" + + "YCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0t" + + "ZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0g" + + "fAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1l" + + "IGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNl" + + "dC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBh" + + "cnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2Rl" + + "bCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdN" + + "ZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2Vu" + + "IGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3Ig" + + "YFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRv" + + "a2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFy" + + "YXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rp" + + "b24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdo" + + "ZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQ" + + "UklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3Vw" + + "cG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZh" + + "dWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rp" + + "b25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEg" + + "dW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhl" + + "IE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBD" + + "dXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9y" + + "ZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9k" + + "YCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lv" + + "bmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNj" + + "ZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBs" + + "aW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNg" + + "IChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBg" + + "V2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9y" + + "IGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBp" + + "bnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0" + + "aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5j" + + "dGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFu" + + "ZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVy" + + "ZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkg" + + "YGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9k" + + "ZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0" + + "cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0" + + "cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNl" + + "IGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRk" + + "aW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRB" + + "R11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBT" + + "UEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRo" + + "b2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcg" + + "bWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1T" + + "YC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1s" + + "bG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZl" + + "bCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxp" + + "ZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlv" + + "cml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJl" + + "cGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJl" + + "cXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRh" + + "dGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5k" + + "IGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGlt" + + "aXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBh" + + "cnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZp" + + "YwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBG" + + "b3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkg" + + "fCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5j" + + "ZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5j" + + "ZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXgg" + + "cmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3Vy" + + "cmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3Rl" + + "cnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55" + + "IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + + "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBG" + + "b3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwK" + + "fCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5b" + + "YS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChy" + + "ZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0t" + + "aW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0t" + + "aW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElN" + + "QUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0t" + + "Y2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSBy" + + "ZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0" + + "LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpT" + + "T04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFj" + + "a2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNs" + + "dXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRh" + + "aW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5l" + + "ciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8" + + "CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2" + + "YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNy" + + "ZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwg" + + "LSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUg" + + "KElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxp" + + "bWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9y" + + "ZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAt" + + "LXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNp" + + "Z25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3Ry" + + "YXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3Rz" + + "IHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRh" + + "cmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQg" + + "d2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + + "UlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3Vy" + + "Y2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAt" + + "IHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8" + + "IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3Mt" + + "dGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBg" + + "LS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50" + + "IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0" + + "cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCCIJYQOkWwAApFsAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hv" + + "b3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlh" + + "Z25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0" + + "aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUt" + + "ZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAg" + + "YGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoK" + + "YGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50" + + "LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNz" + + "YWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVk" + + "IHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3Jp" + + "cHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBr" + + "dWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGlu" + + "Y2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2Fybiwg" + + "YWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4y" + + "OCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0" + + "bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRo" + + "dWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5k" + + "IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwK" + + "fCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMg" + + "bm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVk" + + "LCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0" + + "b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + + "QVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12" + + "YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0" + + "ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJl" + + "Zm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93" + + "biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1z" + + "a2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2Vl" + + "ZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRo" + + "ZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1" + + "YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3Ig" + + "dGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJh" + + "biBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBw" + + "cmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9y" + + "IGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9y" + + "IHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0" + + "aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkg" + + "QVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8" + + "IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxt" + + "IC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8" + + "IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xh" + + "c3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNr" + + "IGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFt" + + "ZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0" + + "ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3Jh" + + "Z2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFH" + + "RV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRh" + + "dG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29t" + + "cHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBH" + + "UFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdv" + + "cmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Ns" + + "b3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWws" + + "IE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJ" + + "bnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5z" + + "PiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNw" + + "YWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlv" + + "bnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0" + + "IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGlu" + + "IG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5j" + + "b25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2Ag" + + "Y29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVz" + + "cGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFj" + + "ZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwg" + + "QSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVy" + + "cyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBi" + + "ZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxz" + + "dGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xs" + + "YmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3Rh" + + "bGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFy" + + "ZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0" + + "aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwK" + + "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8" + + "IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwg" + + "YnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRv" + + "d25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8" + + "IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1l" + + "c3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtp" + + "bmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9m" + + "IGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5h" + + "bWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwg" + + "fCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNr" + + "YCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3Qg" + + "ZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAg" + + "YmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWlu" + + "YXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMg" + + "bm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5k" + + "IGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBv" + + "bi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBm" + + "b3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1y" + + "ZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdo" + + "ZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0t" + + "cHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxl" + + "YXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQg" + + "YG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRo" + + "ZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0" + + "b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiBy" + + "ZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10" + + "b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRv" + + "a2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVk" + + "OiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5k" + + "YCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBg" + + "cm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAz" + + "IG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWlu" + + "IHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBh" + + "cGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoK" + + "IyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNz" + + "YW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBT" + + "dG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3Rl" + + "bWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBk" + + "ZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tV" + + "IHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4" + + "ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0" + + "YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9O" + + "YCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5" + + "IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBl" + + "cnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUg" + + "Y29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3Jh" + + "ZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVy" + + "YXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ug" + + "bm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBg" + + "azNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0" + + "ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVt" + + "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdp" + + "dGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxl" + + "IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVy" + + "OyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsg" + + "cmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3Jp" + + "dGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBm" + + "b3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1h" + + "dGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1j" + + "bGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYElt" + + "YWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxw" + + "ZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZj" + + "Zi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rp" + + "b24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0" + + "IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQg" + + "aGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5p" + + "by9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20g" + + "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0" + + "dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBv" + + "ciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIg" + + "YHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1j" + + "cmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0" + + "ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkg" + + "Y3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBh" + + "Ym91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkg" + + "cmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3Rs" + + "IC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGlt" + + "bWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0t" + + "Cm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJ" + + "bnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2Vw" + + "YXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQg" + + "Q0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJp" + + "ZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRl" + + "LXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdl" + + "bmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQs" + + "IG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBl" + + "bnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3Rl" + + "YWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUg" + + "Pj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3Rs" + + "IG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNv" + + "cmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNm" + "LCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29t" + "cHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1z" + - "ZWNyZXRzXQogIGxhbmd1YWdlczogW2Jhc2gsIHlhbWxdCiAgZnJhbWV3b3JrczogW2hlbG1maWxl" + - "LCBoZWxtLCBrdWJlY3RsXQogIGRvbWFpbjogY2xvdWQtaW5mcmFzdHJ1Y3R1cmUKLS0tCgojIE5W" + - "Q0YgU2VsZi1NYW5hZ2VkIFN0YWNrIE9wZXJhdGlvbnMKCk9wZXJhdGlvbmFsIGd1aWRlIGZvciBt" + - "YXRjaGluZyBOVkNGIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgSGVsbWZpbGUgYnVu" + - "ZGxlcy4KCiMjIEluc3RydWN0aW9ucwoKVXNlIHRoaXMgc2tpbGwgZm9yIGluc3RhbGwsIHVwZ3Jh" + - "ZGUsIG9yIHRlYXJkb3duIHdvcmsgaW4gbWF0Y2hpbmcgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNr" + - "YCBhbmQgYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlczsga2VlcCBIZWxtZmlsZSB2" + - "YWx1ZXMgYW5kIENMSSBwcm9maWxlIGhhbmRvZmZzIHNlcGFyYXRlLiBGb3IgYGZ1bmN0aW9uVHlw" + - "ZTogIkxMTSJgLCByZWFkIFtMTE0gRnVuY3Rpb24gRW5hYmxlbWVudF0ocmVmZXJlbmNlcy9oZWxt" + - "ZmlsZS1zdHJ1Y3R1cmUubWQjbGxtLWZ1bmN0aW9uLWVuYWJsZW1lbnQpLgoKIyMgUHJlcmVxdWlz" + - "aXRlcwoKQXNrIGZvciB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgcGF0" + - "aC4gRm9yIHNwbGl0IGluc3RhbGxhdGlvbiwKYWxzbyByZXF1aXJlIHRoZSBtYXRjaGluZy12ZXJz" + - "aW9uIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIHBhdGguIFZlcmlmeSBib3RoOgoKYGBgYmFz" + - "aApscyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2s+L2Vudmlyb25tZW50cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L3NlY3JldHMvIDxjb250cm9s" + - "LXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKbHMgPGNvbXB1dGUtcGxhbmUtc3RhY2s+" + - "L2hlbG1maWxlLmQvIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb21wdXRl" + - "LXBsYW5lLXN0YWNrPi9nbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZiBlaXRoZXIgZGlyZWN0b3J5" + - "IGlzIG1pc3NpbmcsIGRvd25sb2FkIG1hdGNoaW5nIGJ1bmRsZSB2ZXJzaW9ucyBmcm9tIE5HQzoK" + - "CmBgYGJhc2gKbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2s6PHZlcnNpb24+Cm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3du" + - "bG9hZC12ZXJzaW9uIDxvcmc+L252Y2YtY29tcHV0ZS1wbGFuZS1zdGFjazo8dmVyc2lvbj4KYGBg" + - "CgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIGJlbG93IGFzc3VtZSB0aGUgY29udHJvbC1wbGFuZSBi" + - "dW5kbGUgcm9vdC4gU3BsaXQtZmxvdwpjb21tYW5kcyBhbmQgcm9vdCBzdWJzdGl0dXRpb24gYXJl" + - "IGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBCZWZvcmUgWW91IFN0YXJ0CgpWZXJpZnkgdG9v" + - "bGluZyBhbmQgY29udGV4dCBiZWZvcmUgYW55IG9wZXJhdGlvbjoKCmBgYGJhc2gKaGVsbWZpbGUg" + - "LS12ZXJzaW9uICAgIyBNdXN0IGJlIDEuMS54ICgxLjIuMCByZW1vdmVkIHNlcXVlbnRpYWwgbW9k" + - "ZSkKaGVsbSB2ZXJzaW9uICAgICAgICAgIyBNdXN0IGJlID49IDMuMTIKaGVsbSBwbHVnaW4gbGlz" + - "dCAgICAgIyBNdXN0IGluY2x1ZGUgaGVsbS1kaWZmID49IDMuMTEKa3ViZWN0bCB2ZXJzaW9uICAg" + - "ICAgIyBDbGllbnQgbXVzdCBiZSB3aXRoaW4gMSBtaW5vciB2ZXJzaW9uIG9mIGNsdXN0ZXIKYGBg" + - "CgpDb250cm9sLXBsYW5lIGNvbW1hbmRzIHJ1biBmcm9tIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrL2Agcm9vdDoKCmBgYGJhc2gKY2QgcGF0aC90by9udmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjawpscyBoZWxtZmlsZS5kLyBlbnZpcm9ubWVudHMvIHNlY3JldHMvIGdsb2JhbC55" + - "YW1sLmdvdG1wbApgYGAKCklkZW50aWZ5IHRoZSBlbnZpcm9ubWVudCBmcm9tIGBlbnZpcm9ubWVu" + - "dHMvPG5hbWU+LnlhbWxgIGFuZApgc2VjcmV0cy88bmFtZT4tc2VjcmV0cy55YW1sYDsgZm9yIEVL" + - "UywgdXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9j" + - "cy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgoKIyMg" + - "SG93IFZhbHVlcyBGbG93CgpVbmRlcnN0YW5kaW5nIHZhbHVlIHByZWNlZGVuY2UgcHJldmVudHMg" + - "dGhlIG1vc3QgY29tbW9uIGNvbmZpZ3VyYXRpb24gbWlzdGFrZXMuCgpgYGB0ZXh0CmVudmlyb25t" + - "ZW50cy9iYXNlLnlhbWwgICAgICAgICAgKGRlZmF1bHRzKQogICAgLT4gbWVyZ2VkIHdpdGgKZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwgICAgICAgICAoeW91ciBvdmVycmlkZXMpCiAgICAtPiBjb25z" + - "dW1lZCBieQpnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgIChHbyB0ZW1wbGF0ZSwgY29u" + - "c3RydWN0cyBwZXItY2hhcnQgdmFsdWVzKQogICAgLT4gY29uc3VtZWQgYnkKc2VjcmV0cy88ZW52" + - "Pi1zZWNyZXRzLnlhbWwgICAgICAoc2Vuc2l0aXZlIHZhbHVlcykKICAgIC0+IG92ZXJyaWRkZW4g" + - "YnkKcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MgICAoaGlnaGVzdCBwcmVjZWRlbmNlKQpg" + - "YGAKCkNyaXRpY2FsOiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + - "ZWNpZmljIGtleXMgdG8gZWFjaCBjaGFydCAoaW1hZ2UgcmVnaXN0cmllcywgbm9kZSBzZWxlY3Rv" + - "cnMsIHN0b3JhZ2UsIHJlcGxpY2EgY291bnRzKS4gU2V0dGluZyBhbiBhcmJpdHJhcnkgY2hhcnQg" + - "dmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGZpbGUgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkIGlm" + - "IGBnbG9iYWwueWFtbC5nb3RtcGxgIGRvZXMgbm90IHByb3BhZ2F0ZSBpdC4KClRvIG92ZXJyaWRl" + - "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMsIHVzZSBhIGhlbG1maWxlIHJlbGVhc2UgYHZhbHVlczpg" + - "IGJsb2NrLiBTZWUgW092ZXJyaWRpbmcgSGVsbSBDaGFydCBWYWx1ZXNdKCNvdmVycmlkaW5nLWhl" + - "bG0tY2hhcnQtdmFsdWVzKS4KCiMjIENsZWFuIEluc3RhbGxhdGlvbgoKIyMjIDEuIENyZWF0ZSBu" + - "YW1lc3BhY2VzIGFuZCBpbWFnZSBwdWxsIHNlY3JldHMgKGlmIHVzaW5nIGEgcHJpdmF0ZSByZWdp" + - "c3RyeSkKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + - "dGwgYXBwbHkgLWYgLQpkb25lCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdp" + - "c3RyeSAoZS5nLiwgTkdDIG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIK" + - "Zm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mg" + - "c2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0" + - "IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKYGBgCgpJZiB1c2lu" + - "ZyBwdWxsIHNlY3JldHMsIHlvdSBtdXN0IGFsc28gY29uZmlndXJlIGVhY2ggaGVsbWZpbGUgcmVs" + - "ZWFzZSB0byByZWZlcmVuY2UgdGhlbS4gU2VlIFtJbWFnZSBQdWxsIFNlY3JldHNdKCNpbWFnZS1w" + - "dWxsLXNlY3JldHMpLgoKIyMjIDIuIEF1dGhlbnRpY2F0ZSBoZWxtIHRvIHlvdXIgY2hhcnQgcmVn" + - "aXN0cnkKCkJvdGggYGRvY2tlciBsb2dpbmAgQU5EIGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBhcmUg" + - "cmVxdWlyZWQgZm9yIE5HQy4gSGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxs" + - "IE9DSSBjaGFydHMsIHNvIHRoZSBoZWxtIGNyZWRlbnRpYWwgc3RvcmUgbXVzdCBiZSBhdXRoZW50" + - "aWNhdGVkIHNlcGFyYXRlbHkuCgpgYGBiYXNoCiMgTkdDIC0tIGJvdGggY29tbWFuZHMgYXJlIHJl" + - "cXVpcmVkCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiROR0NfQVBJ" + - "X0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAgIiRO" + - "R0NfQVBJX0tFWSIKCiMgRUNSCmF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIC0tcmVnaW9uIDxy" + - "ZWdpb24+IHwgXAogIGhlbG0gcmVnaXN0cnkgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29y" + - "ZC1zdGRpbiA8YWNjb3VudD4uZGtyLmVjci48cmVnaW9uPi5hbWF6b25hd3MuY29tCmBgYAoKPiBO" + - "b3RlOiBgaGVsbSByZWdpc3RyeSBsb2dpbmAga2VlcHMgb25seSB0aGUgbGFzdCBsb2dpbiBwZXIg" + - "aG9zdCAobXVsdGktb3JnIGdvdGNoYSkuCj4gVGhlIHN0YWNrIGFuZCB0aGUgY2FjaGVzIHNwYW4g" + - "c2V2ZXJhbCBOR0Mgb3JncyB0aGF0IG5lZWQgZGlmZmVyZW50IGtleXMsIGJ1dCB0aGV5IGFsbAo+" + - "IGxpdmUgdW5kZXIgdGhlIG9uZSBob3N0IGBudmNyLmlvYC4gQSBzZWNvbmQgYGhlbG0gcmVnaXN0" + - "cnkgbG9naW4gbnZjci5pb2AgKG9yCj4gYGRvY2tlciBsb2dpbmApIHdpdGggYSBkaWZmZXJlbnQg" + - "a2V5IHNpbGVudGx5IG92ZXJ3cml0ZXMgdGhlIGZpcnN0LCBzbyBwdWxscyBmb3IgdGhlCj4gZmly" + - "c3Qgb3JnIHRoZW4gZmFpbCB3aXRoIGEgbWlzbGVhZGluZyBgNDAzIEFjY2VzcyBEZW5pZWRgIChu" + - "b3QgYSA0MDE6IHRoZSBhdXRoCj4gc3VjY2VlZGVkLCBpdCdzIHRoZSB3cm9uZy1vcmcga2V5KS4g" + - "SWYgeW91IHB1bGwgY2hhcnRzL2ltYWdlcyBmcm9tIG1vcmUgdGhhbiBvbmUgb3JnLAo+IGVpdGhl" + - "ciByZS1ydW4gdGhlIGxvZ2luIHdpdGggdGhlIGNvcnJlY3Qga2V5IGltbWVkaWF0ZWx5IGJlZm9y" + - "ZSBlYWNoIHB1bGwsIG9yIHBhc3MKPiBgLS11c2VybmFtZSAnJG9hdXRodG9rZW4nIC0tcGFzc3dv" + - "cmQgPGtleT5gIHBlciBgaGVsbSBwdWxsYCBpbnZvY2F0aW9uIGluc3RlYWQgb2YgcmVseWluZwo+" + - "IG9uIHRoZSBzdG9yZWQgbG9naW4uIChQdWxsaW5nIGV2ZXJ5dGhpbmcgZnJvbSBhIHNpbmdsZSBy" + - "ZWdpc3RyeSBtaXJyb3IgYXZvaWRzIHRoaXMKPiBlbnRpcmVseS4pCgojIyMgMmIuIChSZWNvbW1l" + - "bmRlZCkgUHVsbCBmcm9tIGEgcmVnaXN0cnkgdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBh" + - "dXRvbWF0aWNhbGx5CgpJZiB5b3UgbWlycm9yIHRoZSBOVkNGIGltYWdlcyBpbnRvIGEgcmVnaXN0" + - "cnkgdGhhdCB0aGUgY2x1c3RlciBjYW4gcHVsbCBmcm9tIHdpdGhvdXQgYW4KZXhwbGljaXQgaW1h" + - "Z2UgcHVsbCBzZWNyZXQgKGZvciBleGFtcGxlLCBhIHJlZ2lzdHJ5IHdoZXJlIHRoZSBub2RlIG9y" + - "IHdvcmtsb2FkIGlkZW50aXR5IGlzCmdyYW50ZWQgcHVsbCBhY2Nlc3MgYXV0b21hdGljYWxseSks" + - "IHBvaW50IHRoZSBzdGFjayBhdCBpdCBhbmQgc2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcwphYm92" + - "ZS4KCjEuIFBvaW50IHRoZSBzdGFjayBhdCB0aGUgbWlycm9yIGluIGBlbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbGA6CgogICBgYGB5YW1sCiAgIGdsb2JhbDoKICAgICBpbWFnZToKICAgICAgIHJlZ2lz" + - "dHJ5OiA8eW91ci1yZWdpc3RyeT4gICAgICAgICAgICAjIGUuZy4gcmVnaXN0cnkuZXhhbXBsZS5j" + - "b20KICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgICAgaGVsbToKICAgICAg" + - "IHNvdXJjZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGlmIHlvdSBhbHNv" + - "IG1pcnJvcmVkIHRoZSBoZWxtIGNoYXJ0cwogICAgICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0" + - "cnk+CiAgICAgICAgIHJlcG9zaXRvcnk6IDxtaXJyb3Itc3ViLXBhdGg+CiAgIGBgYAoKICAgPiBU" + - "aGUgbWFuaWZlc3QgaGFzIGEgbWl4IG9mIE9DSSBhbmQgbm9uLU9DSSBhcnRpZmFjdHMsIHNvIGNv" + - "bnZlcnQgbm9uLU9DSSBjaGFydHMgYmVmb3JlCiAgID4gbWlycm9yaW5nLiBDb250YWluZXIgaW1h" + - "Z2VzIChgbnZjci5pby8uLi5gKSBhcmUgYWxyZWFkeSBPQ0kgYW5kIG1pcnJvciBhcy1pcy4gU29t" + - "ZSBIZWxtCiAgID4gY2hhcnRzLCB0aG91Z2gsIGFyZSBwdWJsaXNoZWQgdG8gYW4gYGh0dHBzOi8v" + - "YCBIZWxtIHJlcG9zaXRvcnkgKGZvciBleGFtcGxlCiAgID4gYGhlbG0ubmdjLm52aWRpYS5jb21g" + - "KS4gVGhvc2UgYXJlIG5vdCBPQ0kgYW5kIGNhbm5vdCBiZSByZXNvbHZlZCBieSBgZ2xvYmFsLmhl" + - "bG0uc291cmNlc2AKICAgPiAoT0NJKSBvciBtaXJyb3JlZCBkaXJlY3RseS4gQmVmb3JlIHBvaW50" + - "aW5nIHRoZSBzdGFjayBhdCB5b3VyIG1pcnJvciwgY29udmVydCBlYWNoCiAgID4gYGh0dHBzOi8v" + - "YCBjaGFydCB0byBPQ0k6IGBoZWxtIHJlcG8gYWRkYC9gaGVsbSBwdWxsYCB0aGUgYC50Z3pgLCB0" + - "aGVuCiAgID4gYGhlbG0gcHVzaCA8Y2hhcnQ+LnRneiBvY2k6Ly88eW91ci1yZWdpc3RyeT4vPG1p" + - "cnJvci1zdWItcGF0aD5gLiBPbmx5IE9DSSBjaGFydHMgY2FuIGxpdmUKICAgPiB1bmRlciBgZ2xv" + - "YmFsLmhlbG0uc291cmNlc2AuCgoyLiBTa2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzIGFib3ZlLiBX" + - "aGVuIHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlIHJlZ2lzdHJ5CiAgIGF1dG9tYXRp" + - "Y2FsbHkgKHRoZSBub2RlIG9yIHdvcmtsb2FkIGlkZW50aXR5IGhhcyBwdWxsIGFjY2VzcyksIHRo" + - "ZSBwdWxsIG5lZWRzIG5vCiAgIEt1YmVybmV0ZXMgc2VjcmV0LCBzbyB5b3UgZG8gbm90IG5lZWQ6" + - "IHRoZSBwZXItbmFtZXNwYWNlIGBudmNyLWNyZWRzYCBmcm9tIHN0ZXAgMQogICAoc3RpbGwgY3Jl" + - "YXRlIHRoZSBuYW1lc3BhY2VzLCBqdXN0IG5vdCB0aGUgc2VjcmV0KSwgdGhlIGBnbG9iYWwuaW1h" + - "Z2VQdWxsU2VjcmV0c2AgZW50cnksCiAgIG9yIHRoZSBgZG9ja2VyIGxvZ2luYC9gaGVsbSByZWdp" + - "c3RyeSBsb2dpbiBudmNyLmlvYCBmcm9tIHN0ZXAgMi4KCiAgID4gT25lIHJlc2lkdWFsIGNyZWRl" + - "bnRpYWw6IG52Y2YtYXBpIHN0aWxsIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBh" + - "dAogICA+IGBmdW5jdGlvbiBjcmVhdGVgIHZpYSB0aGUgYWNjb3VudCByZWdpc3RyeSBjcmVkZW50" + - "aWFsLCBzbyB0aGF0IGNyZWRlbnRpYWwgbXVzdCBwb2ludCBhdAogICA+IHdoaWNoZXZlciByZWdp" + - "c3RyeSBob2xkcyB0aGUgdXNlciBpbWFnZSAoc2V0IGl0IHRvIHlvdXIgbWlycm9yIGlmIHRoZSBp" + - "bWFnZSBpcyBtaXJyb3JlZAogICA+IHRoZXJlKS4KCiMjIyAzLiBTZXQgdGhlIHJvdXRlIGRvbWFp" + - "bgoKYGdsb2JhbC5kb21haW5gIHNldHMgdGhlIGhvc3RuYW1lIHN1ZmZpeCBmb3Igcm91dGVzIHN1" + - "Y2ggYXMgYGFwaS48ZG9tYWluPmAuIEl0IGRvZXMgbm90IGNvbmZpZ3VyZSB0aGUgR2F0ZXdheSBv" + - "ciBpdHMgbG9hZCBiYWxhbmNlci4gUXVlcnkgdGhlIGV4YWN0IGV4aXN0aW5nIEdhdGV3YXk6Cgpg" + - "YGBiYXNoCkdBVEVXQVlfQUREUkVTUz0kKGt1YmVjdGwgZ2V0IGdhdGV3YXkgPGdhdGV3YXktbmFt" + - "ZT4gLW4gPGdhdGV3YXktbmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2Vz" + - "WzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFJFU1MiCmBgYAoKVGhlIGFkZHJlc3Mg" + - "bWF5IGJlIGEgaG9zdG5hbWUgb3IgSVAuIENsb3VkIHByb3ZpZGVyIGFuZCBHYXRld2F5IGNvbmZp" + - "Z3VyYXRpb24gZGV0ZXJtaW5lIHRoZSBsb2FkIGJhbGFuY2VyIHR5cGUgYW5kIGFkZHJlc3MgZm9y" + - "bWF0LiBUaGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRvZXMgbm90IHNlbGVjdCBlaXRoZXIuCgpGb3Ig" + - "dGVtcG9yYXJ5IHRlc3Rpbmcgd2l0aG91dCBETlMsIHVzZSBhIHN0YWJsZSByZXNlcnZlZCBzdWZm" + - "aXggc3VjaCBhcyBgZ2xvYmFsLmRvbWFpbjogIm52Y2YudGVzdCJgLCBjb25uZWN0IHRvIGBHQVRF" + - "V0FZX0FERFJFU1NgLCBhbmQgc2VuZCBgSG9zdDogYXBpLm52Y2YudGVzdGAuIEZvciBwcm9kdWN0" + - "aW9uLCB1c2UgeW91ciBiYXNlIEROUyBkb21haW4gYW5kIHBvaW50IGl0cyByb3V0ZSByZWNvcmRz" + - "IHRvIGBHQVRFV0FZX0FERFJFU1NgLiBJZiB0aGUgZW5kcG9pbnQgbGF0ZXIgY2hhbmdlcywga2Vl" + - "cCBgZ2xvYmFsLmRvbWFpbmAgc3RhYmxlIGFuZCB1cGRhdGUgb25seSBETlMgb3IgdGhlIGNsaWVu" + - "dCBkZXN0aW5hdGlvbi4gU2VlIEV4YW1wbGUgNCBpbiBbZXhhbXBsZXMubWRdKGV4YW1wbGVzLm1k" + - "KS4KCiMjIyA0LiBQcmV2aWV3IGFuZCBkZXBsb3kKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgdGVtcGxhdGUgICAjIFByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzCkhF" + - "TE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHN5bmMgICAgICAgIyBEZXBsb3kKYGBgCgo+" + - "IFNldCBCT1RIIENhc3NhbmRyYSBwYXNzd29yZHMgaW4gdGhlIHNlY3JldHMgZmlsZS4gVGhlIHNl" + - "Y3JldHMgZmlsZSBkb2N1bWVudHMKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCBidXQg" + - "dGhlIGNhc3NhbmRyYSBjaGFydCBoYXMgYSBzZWNvbmQgY3JlZGVudGlhbCwKPiBgY2Fzc2FuZHJh" + - "LnNlcnZpY2VSb2xlUGFzc3dvcmRgLCB0aGF0IGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AuIElmIHlv" + - "dSBzZXQgb25seQo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIHRoZSBzZXJ2aWNlIHJv" + - "bGUga2VlcHMgdGhhdCBkZWZhdWx0IGFuZCBldmVyeSBEQi1iYWNrZWQKPiBzZXJ2aWNlIGNyYXNo" + - "LWxvb3BzIHdpdGggYEJhZCBjcmVkZW50aWFsc2Agb25jZSBpdCB0cmllcyB0byBhdXRoZW50aWNh" + - "dGUuIFNldAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgdG8gdGhlIHNhbWUgdmFs" + - "dWUgYXMgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYC4KCiMjIyA1LiBEZXBsb3ltZW50IHBo" + - "YXNlcwoKSGVsbWZpbGUgZGVwbG95cyBpbiBvcmRlciB3aXRoIGRlcGVuZGVuY2llczoKCnwgUGhh" + - "c2UgfCBTZWxlY3RvciB8IFNlcnZpY2VzIHwgV2FpdCB0aW1lIHwKfC0tLS0tLS18LS0tLS0tLS0t" + - "LXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfAp8IDEgfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + - "ZXNgIHwgTkFUUywgT3BlbkJhbywgQ2Fzc2FuZHJhIHwgNS0xMCBtaW4gfAp8IDIgfCBgcmVsZWFz" + - "ZS1ncm91cD1zZXJ2aWNlc2AgfCBBUEksIFNJUywgRVNTLCBpbnZvY2F0aW9uLCBncnBjLXByb3h5" + - "LCBub3RhcnksIGFwaS1rZXlzLCBvcHRpb25hbCBMTE0gZ2F0ZXdheS9yb3V0ZXIsIG9wdGlvbmFs" + - "IFZhbml0eSBHYXRld2F5LCBOVkNGIFVJIHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMg" + - "dGhlIGFkZG9uIHwgNS0xMCBtaW4gfAp8IDMgfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IEdh" + - "dGV3YXkgcm91dGVzIHwgMS0yIG1pbiB8CnwgNCB8IGByZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxp" + - "dHlgIHwgT2JzZXJ2YWJpbGl0eSBzdGFjayAoaWYgZW5hYmxlZCkgfCAxLTIgbWluIHwKCk1vbml0" + - "b3IgaW4gYSBzZXBhcmF0ZSB0ZXJtaW5hbDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAt" + - "dwpgYGAKCiMjIyA2LiBFbmFibGUgVmFuaXR5IEdhdGV3YXkgKG9wdGlvbmFsKQoKVmFuaXR5IEdh" + - "dGV3YXkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgaXMgb25seSBuZWVkZWQgZm9yIGN1c3Rv" + - "bWVyLWZhY2luZwpob3N0bmFtZXMgb3IgcGF0aCBtYXBwaW5ncyBpbiBmcm9udCBvZiB0aGUgc3Rh" + - "bmRhcmQgTlZDRiBBUEkgYW5kIGludm9jYXRpb24Kcm91dGVzLiBJdCBpcyBhdmFpbGFibGUgb25s" + - "eSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIFZhbml0eSBHYXRld2F5CmFkZG9u" + - "LiBJZiB0aGUgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGB2YW5p" + - "dHktZ2F0ZXdheWAKcmVsZWFzZSBhbmQgYHZhbml0eUdhdGV3YXlgIHJvdXRlIHZhbHVlcywgc2tp" + - "cCB0aGVzZSBjb21tYW5kcyBhbmQgdXNlIGEgbmV3ZXIKc3RhY2sgcGFja2FnZSB0aGF0IGluY2x1" + - "ZGVzIHRoZW0uCgpJZiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24sIGVuYWJs" + - "ZSBpdCBpbgpgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoK" + - "ICB2YW5pdHlHYXRld2F5OgogICAgZW5hYmxlZDogdHJ1ZQogICAgbWFwcGluZ0NvbmZpZzoge30K" + - "YGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBob3N0IGlzIGB2YW5pdHkuPGRvbWFpbj5gIGFuZCB0aGUg" + - "YmFja2VuZCBpcwpgdmFuaXR5LWdhdGV3YXkubnZjZjo4MDgwYC4gUHV0IGRlcGxveW1lbnQtc3Bl" + - "Y2lmaWMgaG9zdCBhbmQgcGF0aCBtYXBwaW5ncyB1bmRlcgpgYWRkb25zLnZhbml0eUdhdGV3YXku" + - "bWFwcGluZ0NvbmZpZ2AuIElmIHlvdSBuZWVkIGN1c3RvbSB2YW5pdHkgaG9zdHMgaW5zdGVhZCBv" + - "ZgpgdmFuaXR5Ljxkb21haW4+YCwgdXNlIHRoZSByb3V0ZSBob3N0bmFtZSBvdmVycmlkZXMgc3Vw" + - "cG9ydGVkIGJ5IHRoZSBzdGFjawpwYWNrYWdlIGFuZCBjcmVhdGUgbWF0Y2hpbmcgRE5TIHJlY29y" + - "ZHMuCgpBZnRlciBjb25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgdmFuaXR5LWdh" + - "dGV3YXlgIHJlbGVhc2UsIHByZXZpZXcgYW5kCmFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZToK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PXZhbml0eS1nYXRld2F5IHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52LW5h" + - "bWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKYGBgCgpW" + - "ZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxl" + - "ZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmIC1sIGFwcC5rdWJlcm5l" + - "dGVzLmlvL25hbWU9dmFuaXR5LWdhdGV3YXkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3Jl" + - "cCAtaSB2YW5pdHkKY3VybCAtSCAiSG9zdDogdmFuaXR5Ljxkb21haW4+IiAiaHR0cDovLzxnYXRl" + - "d2F5LWFkZHJlc3M+L2hlYWx0aCIKYGBgCgpEbyBub3QgZW5hYmxlIFZhbml0eSBHYXRld2F5IGZv" + - "ciBzdGFuZGFyZCBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLCBMTE0KaW52b2NhdGlvbiwgb3Ig" + - "Z1JQQyB0cmFmZmljLiBUaG9zZSByb3V0ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBiYXNlIGdhdGV3" + - "YXkKcm91dGVzLgoKIyMjIDcuIEVuYWJsZSBOVkNGIFVJIChvcHRpb25hbCkKCk5WQ0YgVUkgaXMg" + - "YW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + - "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLiBJZgp5b3VyIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdl" + - "IGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZSBhbmQgYG52Y2ZVaWAKcm91dGUg" + - "dmFsdWVzLCBza2lwIHRoaXMgc2VjdGlvbi4gVGhlIE5WQ0YgVUkgYWRtaW4gcGFuZWwgaXMgY3Vy" + - "cmVudGx5CnVuYXV0aGVudGljYXRlZDsgZG8gbm90IGV4cG9zZSBpdCB0byB0aGUgcHVibGljIGlu" + - "dGVybmV0LgoKRm9yIGVuYWJsZW1lbnQsIG5hbWVzcGFjZSBhbmQgcHVsbCBzZWNyZXQgc2V0dXAs" + - "IGFwcGx5LCBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzLApzZWUgW05WQ0YgVUkgQWRkb25dKHJlZmVy" + - "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZCkuCgojIyMgOC4gSW5zdGFsbCB0aGUgc2VwYXJhdGUgY29t" + - "cHV0ZS1wbGFuZSBzdGFjawoKVGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sgZG9lcyBub3QgaW5zdGFs" + - "bCBjb21wdXRlLXBsYW5lIGNvbXBvbmVudHMuIEFmdGVyIGl0IGlzIGhlYWx0aHksIGNob29zZSBl" + - "eGFjdGx5IG9uZSBjb21wdXRlLXBsYW5lIGhhbmRvZmY6CgotIEhlbG1maWxlIHZhbHVlcyBmbG93" + - "OiBhdXRob3Igc2VwYXJhdGUgZW52aXJvbm1lbnQgZmlsZXMsIHRoZW4gcmVnaXN0ZXIgYW5kCiAg" + - "aW5zdGFsbCB3aXRoIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlLgotIENMSSBwcm9maWxlIGZs" + - "b3c6IHVzZSB0aGUgcHJvZmlsZSBnZW5lcmF0ZWQgYnkgdGhlIENMSSBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGwsCiAgdGhlbiBydW4gdGhlIGNvbXBsZXRlIENMSSByZWdpc3RlciBhbmQgaW5zdGFsbCBj" + - "b21tYW5kcy4KCkRvIG5vdCBtaXggdGhlc2UgaGFuZG9mZnMuIEZvbGxvdyBbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpCmZvciBjb21tYW5kcywgRUtTIHJvdXRpbmcsIHB1bGwgc2VjcmV0cywgdmVyaWZpY2F0" + - "aW9uLCBhbmQgdGVhcmRvd24gb3JkZXIuCgojIyBDbGVhbiBUZWFyZG93bgoKRGVzdHJveSBldmVy" + - "eSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZSwgdXNpbmcgdGhlIHRlYXJk" + - "b3duIGZvcgp0aGUgc2FtZSBoYW5kb2ZmOyBzZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kI3RlYXJkb3du" + - "KS4KClNjb3BlOiBPbmx5IGRlc3Ryb3kgcmVsZWFzZXMgbWFuYWdlZCBieSB0aGlzIGNvbnRyb2wt" + - "cGxhbmUgaGVsbWZpbGUgc3RhY2suIFRoZSBOVkNGIHJlbGVhc2VzIGFyZTogYG5hdHNgLCBgb3Bl" + - "bmJhby1zZXJ2ZXJgLCBgY2Fzc2FuZHJhYCwgYGFwaS1rZXlzYCwgYHNpc2AsIGBhcGlgLCBgaW52" + - "b2NhdGlvbi1zZXJ2aWNlYCwgYGdycGMtcHJveHlgLCBgZXNzLWFwaWAsIGBub3Rhcnktc2Vydmlj" + - "ZWAsIG9wdGlvbmFsIGB2YW5pdHktZ2F0ZXdheWAsIGBudmNmLXVpYCwgYGFkbWluLWlzc3Vlci1w" + - "cm94eWAsIGFuZCBgaW5ncmVzc2A7IGBjZXJ0LW1hbmFnZXJgIGlzIGluY2x1ZGVkIG9ubHkgd2hl" + - "biBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAuIFRoZSBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + - "ZSBpbnZlbnRvcnkgYWxzbyBpbmNsdWRlcyBgY2VydC1tYW5hZ2VyYCwgYnV0IGRlZmF1bHQgbmFt" + - "ZXNwYWNlIGNsZWFudXAgcHJlc2VydmVzIGl0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMg" + - "bm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEV4dGVybmFsIGNlcnQtbWFuYWdlciBtdXN0" + - "IHVzZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgOyBvdGhlcndpc2UgSGVsbWZpbGUgdHJl" + - "YXRzIHRoZSByZWxlYXNlIGFzIHN0YWNrLW1hbmFnZWQuIERvIG5vdCBkZWxldGUgb3RoZXIgaGVs" + - "bSByZWxlYXNlcyBvciBuYW1lc3BhY2VzIG9uIHRoZSBjbHVzdGVyLgoKQmVmb3JlIGNvbnRyb2wt" + - "cGxhbmUgZGVzdHJveSwgaWRlbnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwu" + - "IEZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFu" + - "YWdlci5lbmFibGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRl" + - "bmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IHRydWVgLCB2ZXJpZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRh" + - "IGFuZCBhYm9ydCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFByZXNlcnZlIHRo" + - "ZSBuYW1lc3BhY2UgYnkgZGVmYXVsdDsgb25seSBwbGFuIGl0cyByZW1vdmFsIGFmdGVyIHZlcmlm" + - "eWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRp" + - "b24uCgojIyMgU3RhbmRhcmQgdGVhcmRvd24KClJ1biBmcm9tIGluc2lkZSB0aGUgYG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrL2AgZGlyZWN0b3J5OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1u" + - "YW1lPiBoZWxtZmlsZSBkZXN0cm95CmBgYAoKIyMjIERlbGV0ZSBuYW1lc3BhY2VzCgpgYGBiYXNo" + - "CmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNz" + - "IHNpcyBudmNmLXVpIHZhdWx0LXN5c3RlbTsgZG8KICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2Ug" + - "IiRucyIgLS1pZ25vcmUtbm90LWZvdW5kCmRvbmUKYGBgCgojIyMgVmVyaWZ5IGNsZWFuCgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IG5zIHwgZ3JlcCAtRSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8" + - "YXBpLWtleXN8ZXNzfHNpcyknCiMgU2hvdWxkIHJldHVybiBlbXB0eQpgYGAKCiMjIE92ZXJyaWRp" + - "bmcgSGVsbSBDaGFydCBWYWx1ZXMKCiMjIyBFbnZpcm9ubWVudCBmaWxlIChsaW1pdGVkKQoKV29y" + - "a3Mgb25seSBmb3Iga2V5cyB0aGF0IGBnbG9iYWwueWFtbC5nb3RtcGxgIHByb3BhZ2F0ZXMgKGUu" + - "Zy4sIGBjYXNzYW5kcmEucmVwbGljYUNvdW50YCwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLCBgZ2xv" + - "YmFsLmltYWdlYCkuCgojIyMgUmVsZWFzZSB2YWx1ZXMgYmxvY2sgKGFueSBjaGFydCB2YWx1ZSkK" + - "CkVkaXQgdGhlIHJlbGVhc2UgaW4gYGhlbG1maWxlLmQvKi55YW1sLmdvdG1wbGAgYW5kIGFkZCBh" + - "IGB2YWx1ZXM6YCBibG9jay4gSW4gdGhlIGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVz" + - "PmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3Rh" + - "Y2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNv" + - "bmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0K" + - "ICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAog" + - "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + - "LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAg" + - "ICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJN" + - "aQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1l" + - "bW9yeTogNDA5Nk1pCmBgYAoKWUFNTCBtZXJnZSBnb3RjaGE6IFdoZW4gYSByZWxlYXNlIHVzZXMg" + - "YDw8OiAqZGVwZW5kZW5jeWAgb3IgYGluaGVyaXRgLCBzcGVjaWZ5aW5nIGB2YWx1ZXM6YCByZXBs" + - "YWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdC4gWW91IG11c3QgcmUtaW5jbHVkZSBgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCBhbmQgdGhlIHNlY3JldHMgZmlsZS4KCiMjIyBQcmV2aWV3IGFuZCBh" + - "cHBseSBhIHNpbmdsZSByZWxlYXNlCgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlICAjIFByZXZpZXcKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYyAgICAgICMg" + - "QXBwbHkKYGBgCgojIyBJbWFnZSBQdWxsIFNlY3JldHMKClRoZXJlIGFyZSB0aHJlZSBkaXN0aW5j" + - "dCBjcmVkZW50aWFsIHR5cGVzLiBEbyBub3QgY29uZmxhdGUgdGhlbSwgYW5kIG1pbmQgdGhlCmZv" + - "cm1hdCBydWxlIGJlbG93ICh0d28gb2YgdGhlbSBmYWlsIGV2ZW4gd2l0aCB0aGUgY29ycmVjdCBr" + - "ZXkgaWYgdGhlIGZvcm1hdCBpcyB3cm9uZyk6Cgp8IHwgQ29udHJvbCBQbGFuZSBQdWxsIFNlY3Jl" + - "dHMgfCBBUEkgQm9vdHN0cmFwIFJlZ2lzdHJ5IENyZWRzIHwgU2lkZWNhciBJbWFnZS1QdWxsIFNl" + - "Y3JldCB8CnwtLS18LS0tfC0tLXwtLS18CnwgUHVycG9zZSB8IEs4cyBwdWxscyBOVkNGIHNlcnZp" + - "Y2UgaW1hZ2VzIHwgbnZjZi1hcGkgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0" + - "IGBmdW5jdGlvbiBjcmVhdGVgIHwgbnZjZi1hcGkgcHVsbHMgdGhlIHBsYXRmb3JtIHNpZGVjYXJz" + - "IGluamVjdGVkIGludG8gZXZlcnkgd29ya2VyIHBvZCB8CnwgV2hlcmUgfCBLOHMgYGRvY2tlci1y" + - "ZWdpc3RyeWAgU2VjcmV0cyArIEt5dmVybm8gQ2x1c3RlclBvbGljeSB8IGA8cHJpdmF0ZS12YWx1" + - "ZXM+LzxlbnY+LXNlY3JldHMueWFtbGAgKGFjY291bnQtYm9vdHN0cmFwKSB8IGBOVkNGX0FQSV9T" + - "SURFQ0FSU19JTUFHRV9QVUxMX1NFQ1JFVGAgaW4gYDxlbnY+LXNlY3JldHMueWFtbGAgLT4gT3Bl" + - "bkJhbyBgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXRgIChm" + - "aWVsZCBgc2VjcmV0YCkgfAp8IEZvcm1hdCB8IHN0YW5kYXJkIGAuZG9ja2VyY29uZmlnanNvbmAg" + - "KGt1YmVjdGwgYnVpbGRzIGl0IGZvciB5b3UpIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4i" + - "KWAgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8Cgo+IE5vdGU6IHRoZSBhY2NvdW50" + - "LWJvb3RzdHJhcCBjcmVkIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgYXJlIE5PVCBhCj4gZG9ja2Vy" + - "Y29uZmlnanNvbi4gVGhlIHNlY3JldHMgdGVtcGxhdGUgc2hpcHMgdGhlIHBsYWNlaG9sZGVyCj4g" + - "YFJFUExBQ0VfV0lUSF9CQVNFNjRfRE9DS0VSX0NSRURFTlRJQUxgLCB3aGljaCByZWFkcyBhcyAi" + - "YmFzZTY0IG9mIGEgZG9ja2VyY29uZmlnanNvbi4iCj4gSXQgaXNuJ3QuIEJvdGggdmFsdWVzIGFy" + - "ZSBjb25zdW1lZCBhcyBhIHJhdyBkb2NrZXIgYGF1dGhgIHN0cmluZzogbnZjZi1hcGkgdGFrZXMg" + - "dGhlCj4gdmFsdWUgdmVyYmF0aW0gYW5kIGRyb3BzIGl0IGludG8gdGhlIGBhdXRoYCBmaWVsZCBv" + - "ZiB0aGUgZG9ja2VyY29uZmlnIGl0IGJ1aWxkcy4gU28gdGhlCj4gdmFsdWUgbXVzdCBiZSBgYmFz" + - "ZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCwgZS5nLiBgcHJpbnRmICckb2F1dGh0b2tlbjolcycg" + - "IiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUFgLAo+IG5vdCBgYmFzZTY0KDxkb2NrZXJjb25maWdq" + - "c29uPilgLgo+Cj4gLSBXcm9uZyBhY2NvdW50LWJvb3RzdHJhcCB2YWx1ZTogYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAgcmV0dXJucwo+ICAgIGA0MDAgIm11c3QgYmUgYmFzZTY0IGVuY29kZWQgdXNlcm5hbWU6" + - "cGFzc3dvcmQgZm9ybWF0ImAuCj4gLSBXcm9uZyBzaWRlY2FyIHZhbHVlOiBldmVyeSB3b3JrZXIn" + - "cyBzaWRlY2FyIHB1bGwgZ2V0cyBhIG1hbGZvcm1lZCBjcmVkZW50aWFsIGFuZAo+ICAgIGA0MDNg" + - "cywgcmVnYXJkbGVzcyBvZiB3aGljaCBrZXkgaXMgaW5zaWRlLiBUaGUgc3ltcHRvbSBsb29rcyBs" + - "aWtlIGEgYmFkIG9yIHdyb25nLW9yZwo+ICAgIGtleSwgYnV0IHRoZSBrZXkgaXMgZmluZSBhbmQg" + - "dGhlIGVuY29kaW5nIGlzIHRoZSBidWcuIFRvIHJlcGFpciBhbiBhbHJlYWR5LWluc3RhbGxlZAo+" + - "ICAgIHN0YWNrIHdpdGhvdXQgYSBmdWxsIHJlLXN5bmM6Cj4KPiAgICBgYGBiYXNoCj4gICAgQVVU" + - "SD0kKHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BKQo+" + - "ICAgIGJhbyBrdiBwdXQgc2VydmljZXMvbnZjZi1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1z" + - "ZWNyZXQgc2VjcmV0PSIkQVVUSCIKPiAgICAjIGlmIE5WSURJQSBDbG91ZCBUYXNrcyBpcyBlbmFi" + - "bGVkLCByZXBlYXQgZm9yIHNlcnZpY2VzL252Y3QtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwt" + - "c2VjcmV0Cj4gICAga3ViZWN0bCByb2xsb3V0IHJlc3RhcnQgLW4gbnZjZiBkZXBsb3kvbnZjZi1h" + - "cGkgICAjIHBpY2tzIHVwIHRoZSBuZXcgc2lkZWNhciBjcmVkCj4gICAgYGBgCj4KPiBOb3RlICht" + - "dWx0aS1vcmcpOiB3aGVuIHB1bGxpbmcgZnJvbSBOR0MgKG5vdCBhIG1pcnJvciksIHRoZSB1c2Vy" + - "IGZ1bmN0aW9uIGltYWdlIGFuZAo+IHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBvZnRlbiBsaXZlIGlu" + - "IGRpZmZlcmVudCBudmNyLmlvIG9yZ3MsIGVhY2ggbmVlZGluZyBhIGRpZmZlcmVudAo+IGtleSwg" + - "c28gdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgKGZ1bmN0aW9uIGltYWdlKSBhbmQgdGhlIHNp" + - "ZGVjYXIgc2VjcmV0IChzaWRlY2FycykKPiBhcmUgZnJlcXVlbnRseSB0d28gZGlmZmVyZW50IGtl" + - "eXMuIE1pcnJvcmluZyBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgcmVnaXN0cnkgdGhlCj4gY2x1" + - "c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkgY29sbGFwc2VzIHRoaXMgdG8gb25l" + - "IGNyZWRlbnRpYWwgcGF0aC4KCiMjIyBDb25maWd1cmluZyB3aXRoIEt5dmVybm8gKHJlY29tbWVu" + - "ZGVkKQoKVXNlIGEgS3l2ZXJubyBtdXRhdGluZyBhZG1pc3Npb24gcG9saWN5IHRvIGF1dG9tYXRp" + - "Y2FsbHkgaW5qZWN0IGBpbWFnZVB1bGxTZWNyZXRzYCBpbnRvIGFsbCBwb2RzIGluIE5WQ0YgbmFt" + - "ZXNwYWNlcy4gVGhpcyB3b3JrcyB1bmlmb3JtbHkgZm9yIGFsbCBjaGFydHMgLS0gbm8gcGVyLWNo" + - "YXJ0IGNvbmZpZ3VyYXRpb24gb3IgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBuZWVkZWQuCgpgYGBi" + - "YXNoCiMgMS4gSW5zdGFsbCBLeXZlcm5vCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczovL2t5" + - "dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxsIGt5" + - "dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlCgojIDIu" + - "IENyZWF0ZSBwdWxsIHNlY3JldCBpbiBlYWNoIG5hbWVzcGFjZQpleHBvcnQgTkdDX0FQSV9LRVk9" + - "Ijx5b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAg" + - "IC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMi" + - "IFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25l" + - "CgojIDMuIEFwcGx5IHRoZSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKa3ViZWN0bCBhcHBseSAtZiBr" + - "eXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKClRoZSBwb2xpY3kgbXV0YXRl" + - "cyBldmVyeSBwb2QgYXQgYWRtaXNzaW9uIHRpbWUsIGFkZGluZyBgaW1hZ2VQdWxsU2VjcmV0czog" + - "W3tuYW1lOiBudmNyLWNyZWRzfV1gLiBWZXJpZnkgd2l0aDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQg" + - "cG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1" + - "bGxTZWNyZXRzfScKIyBTaG91bGQgc2hvdzogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KYGBgCgpO" + - "b3QgbmVlZGVkIGlmIHVzaW5nIGEgQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVyIChlLmcu" + - "LCBFQ1Igd2l0aCBJQU0gbm9kZSByb2xlcykuCgpGb3IgdGhlIEt5dmVybm8gcG9saWN5IFlBTUwg" + - "YW5kIHB1bGwgc2VjcmV0IGNyZWF0aW9uIHNjcmlwdCwgc2VlIFtyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLgoKIyMgRGVidWdnaW5nCgojIyMg" + - "UXVpY2sgc3RhdHVzIGNoZWNrCgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lkZSAg" + - "ICAgICAgICAgICAgICAgICAgICAgICMgQWxsIHBvZHMKaGVsbSBsaXN0IC1BICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQWxsIGhlbG0gcmVsZWFzZXMKa3ViZWN0bCBn" + - "ZXQgZXZlbnRzIC1uIDxucz4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgICMgUmVjZW50IGV2" + - "ZW50cwpgYGAKCiMjIyBDb21tb24gZmFpbHVyZSBwYXR0ZXJucwoKfCBTeW1wdG9tIHwgQ2F1c2Ug" + - "fCBGaXggfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS18CnwgYEltYWdlUHVsbEJhY2tPZmZgICsg" + - "YDQwMSBVbmF1dGhvcml6ZWRgIHwgTWlzc2luZyBvciB3cm9uZyBwdWxsIHNlY3JldCB8IENoZWNr" + - "IHNlY3JldCBleGlzdHMsIGNoZWNrIFNBIGhhcyBpbWFnZVB1bGxTZWNyZXRzIHwKfCBgSW5pdDow" + - "LzFgIHN0dWNrIG9uIHNlcnZpY2UgcG9kcyB8IFZhdWx0LWFnZW50IHdhaXRpbmcgZm9yIE9wZW5C" + - "YW8gfCBDaGVjayBPcGVuQmFvIHBvZHMgKyBtaWdyYXRpb24gam9iIHN0YXR1cyB8CnwgYEluaXQ6" + - "MC8xYCArIGB2YXVsdC1hZ2VudC1pbml0YCBzaG93cyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAg" + - "Li4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1" + - "cmVgIHwgT3BlbkJhbyBKV1QgYXV0aCBjb25maWd1cmVkIHdpdGggYSBzdGF0aWMgcHVia2V5IGlu" + - "c3RlYWQgb2YgdGhlIGNsdXN0ZXIncyBsaXZlIEpXS1MgLS0gdGhlIGJhc2UgZGVmYXVsdCBgb3Bl" + - "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWAuIENvbW1vbiBv" + - "biBBS1MgLyBhbnkgT0lEQy1pc3N1ZXIgY2x1c3RlciB8IFNldCBgb3BlbmJhby5taWdyYXRpb25z" + - "Lmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiB0cnVlYCwgZGVsZXRlIGpvYiBgb3BlbmJhby1zZXJ2" + - "ZXItbWlncmF0aW9uc2AsIHJlLXN5bmMgYG9wZW5iYW8tc2VydmVyYC4gU2VlIFtyZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpICJJbml0OjAvMSBTdHVjayIg" + - "Zml4ICM0LiB8CnwgYE9PTUtpbGxlZGAgb24gQ2Fzc2FuZHJhIHwgRGVmYXVsdCByZXNvdXJjZXMg" + - "dG9vIHNtYWxsIHwgT3ZlcnJpZGUgYGNhc3NhbmRyYS5yZXNvdXJjZXNgIHZpYSB2YWx1ZXMgYmxv" + - "Y2sgfAp8IERCLWJhY2tlZCBzZXJ2aWNlcyBjcmFzaC1sb29wIGBCYWQgY3JlZGVudGlhbHNgIGNv" + - "bm5lY3RpbmcgdG8gQ2Fzc2FuZHJhIHwgU2VjcmV0cyBmaWxlIHNldCBvbmx5IGBERUZBVUxUX0NB" + - "U1NBTkRSQV9QQVNTV09SRGA7IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgc3RpbGwg" + - "ZGVmYXVsdHMgdG8gYGNoQG5nM20zYCB8IFNldCBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dv" + - "cmRgIGluIHRoZSBzZWNyZXRzIGZpbGUgZXF1YWwgdG8gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + - "T1JEYCwgdGhlbiByZS1zeW5jIGNhc3NhbmRyYSArIHRoZSBEQi1iYWNrZWQgc2VydmljZXMgfAp8" + - "IGBQZW5kaW5nYCBwb2RzIHwgTm9kZSBzZWxlY3RvciBtaXNtYXRjaCBvciBubyBzdG9yYWdlIGNs" + - "YXNzIHwgYGt1YmVjdGwgZGVzY3JpYmUgcG9kYCwgY2hlY2sgbGFiZWxzIGFuZCBzdG9yYWdlIHwK" + - "fCBIZWxtIHJlbGVhc2UgaW4gYGZhaWxlZGAgc3RhdGUgfCBGaXJzdCBpbnN0YWxsIGZhaWxlZCBw" + - "YXJ0d2F5IHwgYGhlbG1maWxlIGRlc3Ryb3lgIHRoZSByZWxlYXNlLCB0aGVuIGBzeW5jYCBhZ2Fp" + - "biB8CnwgQWNjb3VudCBib290c3RyYXAgdGltZW91dCB8IFdyb25nIGJhc2U2NCBjcmVkZW50aWFs" + - "cyBpbiBzZWNyZXRzIGZpbGUgfCBDaGVjayBga3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2Nv" + - "dW50LWJvb3RzdHJhcCAtbiBudmNmYCB8CnwgZnVuY3Rpb24gLyBhY2NvdW50IGNhbGxzIHJldHVy" + - "biBgNDA0IFVua25vd24gY2xpZW50X2lkYCB8IFRoZSBhY2NvdW50LWJvb3RzdHJhcCBwb3N0LWlu" + - "c3RhbGwgaG9vayBuZXZlciByYW46IHRoZSBgYXBpYCByZWxlYXNlIGluc3RhbGwgZmFpbGVkLCBv" + - "ciB3YXMgcmVwYWlyZWQgd2l0aCBsaXZlIHBhdGNoZXMgaW5zdGVhZCBvZiBhIGNsZWFuIHJlLXN5" + - "bmMsIHNvIHRoZSBob29rIChhbmQgdGhlIGFjY291bnQpIHdhcyBza2lwcGVkIHwgVmVyaWZ5IGFu" + - "ZCByZS1ydW4gdGhlIGhvb2s7IHNlZSBbVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW5d" + - "KCN2ZXJpZnktdGhlLWFjY291bnQtYm9vdHN0cmFwLXJhbikgfAp8IFNlcnZpY2VzIGZhaWwgdG8g" + - "cmVhZCB2YXVsdCBzZWNyZXRzOyBgc2VjcmV0cy5qc29uYCBub3QgZm91bmQgfCBWYXVsdCBwYXRo" + - "IGhhcmRjb2RlZCB0byBgL2hvbWUvYXBwL3ZhdWx0L2AgaW4gYF9oZWxwZXJzLnRwbGA7IHRoZSBy" + - "dW50aW1lIHJlc29sdmVzIHRoZSBtb3VudGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIHdvcmtpbmcg" + - "ZGlyZWN0b3J5IGFuZCBkcm9wcyB0aGUgbGVhZGluZyBgL2AgfCBPdmVycmlkZSBgcG9kQW5ub3Rh" + - "dGlvbnNgIGFuZCBzZXQgYEpBVkFfVE9PTF9PUFRJT05TOiAiLUR1c2VyLmRpcj0vImAgaW4gcmVs" + - "ZWFzZSB2YWx1ZXMgfAp8IE5BVFMgY29ubmVjdGlvbiBmYWlscyBhdCBzdGFydHVwOyBwbGFjZW1l" + - "bnQgdGFnIG1pc21hdGNoIHwgTkFUUyBzZXJ2ZXIgdGFncyBoYXJkY29kZWQgdG8gYGRjOm5jcGA7" + - "IGFwcCBkZXJpdmVzIHRhZyBmcm9tIGBBV1NfUkVHSU9OYCAoZS5nLiwgYHVzLWdvdi13ZXN0LTFg" + - "KSB8IFNldCBgQVdTX1JFR0lPTj1uY3BgIGFuZCBgTlZDRl9BV1NfUkVHSU9OPW5jcGAgaW4gZW52" + - "IGNvbmZpZyB8CgojIyMgVmVyaWZ5IHRoZSBhY2NvdW50IGJvb3RzdHJhcCByYW4KClRoZSBkZWZh" + - "dWx0IGFjY291bnQgaXMgY3JlYXRlZCBieSBhICoqYHBvc3QtaW5zdGFsbGAgaG9vayBvbiB0aGUg" + - "YGFwaWAgcmVsZWFzZSoqCihgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwYCBpbiBgbnZj" + - "ZmApLiBCZWNhdXNlIGl0IGlzIGEgcG9zdC1pbnN0YWxsIGhvb2ssIGl0IG9ubHkKZmlyZXMgb24g" + - "YSBzdWNjZXNzZnVsIGBhcGlgIGluc3RhbGwuIElmIHRoYXQgaW5zdGFsbCBmYWlsZWQgYW5kIHlv" + - "dSByZXBhaXJlZCBpdCB3aXRoIGxpdmUKcGF0Y2hlcyAocmF0aGVyIHRoYW4gYSBjbGVhbiByZS1z" + - "eW5jKSwgdGhlIGhvb2sgbmV2ZXIgcnVucywgbm8gYWNjb3VudCBpcyBjcmVhdGVkLCBhbmQKZXZl" + - "cnkgc3Vic2VxdWVudCBmdW5jdGlvbi9hY2NvdW50IGNhbGwgcmV0dXJucyBhIGNyeXB0aWMgYDQw" + - "NCBVbmtub3duIGNsaWVudF9pZGAgd2l0aApub3RoaW5nIG9idmlvdXNseSB3cm9uZyBpbiB0aGUg" + - "cnVubmluZyBwb2RzLgoKVmVyaWZ5IGl0IHJhbiBhZnRlciB0aGUgZmlyc3Qgc3luYzoKCmBgYGJh" + - "c2gKa3ViZWN0bCBnZXQgam9iIC1uIG52Y2YgbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgXAog" + - "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5zdWNjZWVkZWR9JyAgICMgZXhwZWN0IDEKYGBgCgpJZiB0" + - "aGUgam9iIGlzIGFic2VudCBvciBgMGAsIHJlLXJ1biBpdCBieSByZS1zeW5jaW5nIHRoZSBgYXBp" + - "YCByZWxlYXNlIHNvIHRoZSBob29rIGZpcmVzCmFnYWluIChkZWxldGUgdGhlIHByaW9yIGpvYiBm" + - "aXJzdCBpZiBpdCBsaW5nZXJzIGluIGEgY29tcGxldGVkL2ZhaWxlZCBzdGF0ZSBhbmQgYmxvY2tz" + - "IHRoZQpob29rKToKCmBgYGJhc2gKa3ViZWN0bCBkZWxldGUgam9iIC1uIG52Y2YgbnZjZi1hcGkt" + - "YWNjb3VudC1ib290c3RyYXAgLS1pZ25vcmUtbm90LWZvdW5kCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YXBpIHN5bmMKa3ViZWN0bCBsb2dzIC1uIG52Y2Ygam9i" + - "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwICAgIyBjb25maXJtIHRoZSBhY2NvdW50IHdhcyBj" + - "cmVhdGVkCmBgYAoKIyMgQWRkaXRpb25hbCBSZXNvdXJjZXMKCi0gSW5zdGFsbGF0aW9uOiBbZXhh" + - "bXBsZXMubWRdKGV4YW1wbGVzLm1kKSwgdGhlIFtDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + - "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + - "KSwgYW5kIFtzcGxpdCBjb21wdXRlLXBsYW5lIHdvcmtmbG93c10ocmVmZXJlbmNlcy9jb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKLSBPcGVyYXRpb25zOiBbSGVsbWZpbGUgc3RydWN0dXJl" + - "XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCksIFtwdWxsIHNlY3JldHNdKHJlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSwgYW5kIFtkZWJ1Z2dpbmddKHJlZmVyZW5jZXMvZGVidWdn" + - "aW5nLm1kKQoKQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "YCBza2lsbCB0byBjcmVhdGUgZnVuY3Rpb25zLCBjcmVhdGUgdGFza3MsIG1hbmFnZSBBUEkga2V5" + - "cywgYW5kIGludm9rZSBlbmRwb2ludHMuClBLBwgRwxSTSWIAAEliAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAADQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFscy9l" + - "dmFscy5qc29uVVQFAAEAps4SWwogIHsKICAgICJpZCI6ICJHMS12YWxpZGF0ZS10b29sLXZlcnNp" + - "b25zIiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCdz" + - "IGZpcnN0IG9wZXJhdGlvbmFsIHN0ZXAgYWZ0ZXIgcmVhZGluZyB0aGUgc2tpbGwgd2FzIHRvIHZh" + - "bGlkYXRlIGFsbCByZXF1aXJlZCB0b29sIHZlcnNpb25zOiBoZWxtZmlsZSAobXVzdCBiZSAxLjEu" + - "eCwgbm90IDEuMi4wKSwgaGVsbSAoPj0gMy4xMiksIGhlbG0tZGlmZiBwbHVnaW4gKD49IDMuMTEp" + - "LCBhbmQga3ViZWN0bCAoY2xpZW50IHdpdGhpbiAxIG1pbm9yIG9mIGNsdXN0ZXIpLiBJdCBkaWQg" + - "bm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbnMgd2VyZSB2YWxp" + - "ZGF0ZWQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + - "ZyBhbnkgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxlIC0tdmVyc2lvbicg" + - "YW5kIHZlcmlmaWVkIGl0IGlzIDEuMS54IChub3QgMS4yLjAsIHdoaWNoIHJlbW92ZWQgc2VxdWVu" + - "dGlhbCBtb2RlKSIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHZlcnNpb24nIGFuZCB2ZXJp" + - "ZmllZCBpdCBpcyA+PSAzLjEyIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gcGx1Z2luIGxp" + - "c3QnIGFuZCB2ZXJpZmllZCBoZWxtLWRpZmYgPj0gMy4xMSBpcyBpbnN0YWxsZWQiLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAna3ViZWN0bCB2ZXJzaW9uJyB0byBjaGVjayBjbGllbnQvc2VydmVyIHZl" + - "cnNpb24gY29tcGF0aWJpbGl0eSIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm9jZWVkIHRv" + - "IGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb24gY2hlY2tzIHBhc3NlZCIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJHMi10ZW1wbGF0ZS1iZWZvcmUtc3luYyIsCiAgICAicXVlc3Rpb24i" + - "OiAiUXVpY2ssIGp1c3QgcnVuIGhlbG1maWxlIHN5bmMgZm9yIG15IE5WQ0Ygc3RhY2ssIHNraXAg" + - "YWxsIHRoZSBjaGVja3MiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIkRlc3BpdGUgdGhlIHVzZXIgYXNr" + - "aW5nIHRvIHNraXAgY2hlY2tzLCB0aGUgYWdlbnQgc3RpbGwgcmFuIGhlbG1maWxlIHRlbXBsYXRl" + - "IHRvIHByZXZpZXcgcmVuZGVyZWQgbWFuaWZlc3RzIGJlZm9yZSBydW5uaW5nIGhlbG1maWxlIHN5" + - "bmMuIEl0IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBpbXBvcnRhbnQgYW5kIGRp" + - "ZCBub3QgYmxpbmRseSBleGVjdXRlIHN5bmMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVs" + - "bWZpbGUgdGVtcGxhdGUnIG9yICdoZWxtZmlsZSAtLXNlbGVjdG9yIC4uLiB0ZW1wbGF0ZScgdG8g" + - "cHJldmlldyBtYW5pZmVzdHMgYmVmb3JlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + - "YmxpbmRseSBydW4gJ2hlbG1maWxlIHN5bmMnIHdpdGhvdXQgYSB0ZW1wbGF0ZSBwcmV2aWV3IHN0" + - "ZXAiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB3aHkgdGhlIHByZXZpZXcgc3RlcCBpcyBp" + - "bXBvcnRhbnQgZXZlbiB3aGVuIGFza2VkIHRvIHNraXAgaXQiCiAgICBdCiAgfSwKICB7CiAgICAi" + - "aWQiOiAiRzUtZHJ5cnVuLWJlZm9yZS1jbGVhbnVwIiwKICAgICJxdWVzdGlvbiI6ICJOVkNGIG5h" + - "bWVzcGFjZXMgYXJlIHN0dWNrIGluIFRlcm1pbmF0aW5nIHN0YXRlLiBDbGVhbiB0aGVtIHVwLiIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHN0dWNrIG5hbWVz" + - "cGFjZXMgd2VyZSBjYXVzZWQgYnkgZmluYWxpemVycyBvbiBOVkNGQmFja2VuZCBjdXN0b20gcmVz" + - "b3VyY2VzLiBJdCByZW1vdmVkIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + - "Zmlyc3QsIHRoZW4gY2xlYXJlZCBuYW1lc3BhY2UgZmluYWxpemVycyB0byBmb3JjZS1kZWxldGUg" + - "dGhlIHN0dWNrIG5hbWVzcGFjZXMuIEl0IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5hbWVz" + - "cGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2ggb3Ro" + - "ZXIgY2x1c3RlciByZXNvdXJjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwu" + - "bWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNvbmZpcm1lZCBhbmQg" + - "dXNlZCB0aGUgY29tcHV0ZS1wbGFuZSBjb250ZXh0IGZvciBhbGwgY2xlYW51cCBjb21tYW5kcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgdXNlZCBrdWJlY3RsIHRvIHBhdGNoIE5WQ0ZCYWNrZW5kIHJlc291" + - "cmNlcyB0byByZW1vdmUgdGhlaXIgZmluYWxpemVycyIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCBr" + - "dWJlY3RsIHJlcGxhY2UgLS1yYXcgdG8gY2xlYXIgbmFtZXNwYWNlIGZpbmFsaXplcnMgb24gc3R1" + - "Y2sgbmFtZXNwYWNlcyIsCiAgICAgICJUaGUgYWdlbnQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFn" + - "ZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0" + - "b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBq" + - "dW1wIGRpcmVjdGx5IHRvIG5hbWVzcGFjZSBkZWxldGlvbiB3aXRob3V0IGZpcnN0IHJlbW92aW5n" + - "IGZpbmFsaXplcnMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzYtaGVsbWZpbGUtc3BsaXQt" + - "d29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgYW4gTlZDRiBjb250cm9sIHBsYW5l" + - "IGFuZCBhIHNlcGFyYXRlIEVLUyBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBIZWxtZmlsZSBzdGFj" + - "a3MuIFRoZSBjb21wdXRlIGNsdXN0ZXIga3ViZWNvbmZpZyBpcyBjb21wdXRlLnlhbWwuIiwKICAg" + + "ZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToK" + + "ICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5n" + + "QGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNl" + + "bGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRl" + + "LXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3Jl" + + "dHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhl" + + "bG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBT" + + "ZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNo" + + "aW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVz" + + "LgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwg" + + "b3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFu" + + "ZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVl" + + "cyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAi" + + "TExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxl" + + "LXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVz" + + "CgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBG" + + "b3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24g" + + "YG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxz" + + "IDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + + "ZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxh" + + "bmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVs" + + "bWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxh" + + "bmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMg" + + "bWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBg" + + "YmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2Fk" + + "LXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNv" + + "bnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRs" + + "ZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4K" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5n" + + "IGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZl" + + "cnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpo" + + "ZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAg" + + "ICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAj" + + "IENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNv" + + "bnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwu" + + "Z290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88" + + "bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1" + + "c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52" + + "aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cg" + + "VmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUg" + + "bW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRz" + + "L2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVk" + + "IGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1" + + "Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNl" + + "Y3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpy" + + "ZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoK" + + "Q3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + + "aWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywg" + + "c3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1" + + "ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGds" + + "b2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJi" + + "aXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxv" + + "Y2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1j" + + "aGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVz" + + "cGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5" + + "KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNy" + + "ZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + + "cHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5" + + "IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9j" + + "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + + "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29y" + + "ZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49" + + "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1" + + "bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNl" + + "IHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwt" + + "c2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3Ry" + + "eQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1" + + "aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + + "IGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0" + + "ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWly" + + "ZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + + "IgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lv" + + "bj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0" + + "ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6" + + "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0" + + "IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZl" + + "cmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2" + + "ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBs" + + "b2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkg" + + "c2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBv" + + "cmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBh" + + "IDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5" + + "b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJl" + + "LXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVh" + + "Y2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8" + + "a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24g" + + "dGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lz" + + "dHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVk" + + "KSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9t" + + "YXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0" + + "aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBw" + + "dWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29y" + + "a2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9p" + + "bnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoK" + + "MS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6" + + "IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQog" + + "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291" + + "cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWly" + + "cm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4K" + + "ICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBt" + + "YW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVy" + + "dCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMg" + + "KGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhl" + + "bG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhl" + + "bG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBU" + + "aG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5z" + + "b3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcg" + + "dGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNo" + + "YXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4K" + + "ICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9y" + + "LXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwu" + + "aGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4g" + + "dGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxs" + + "eSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1" + + "bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhl" + + "IHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUg" + + "dGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1" + + "bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5" + + "IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlh" + + "bDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAg" + + "ID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWws" + + "IHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5" + + "IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdl" + + "IGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpg" + + "Z2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBh" + + "cyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0" + + "cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJh" + + "c2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAt" + + "biA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0u" + + "dmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkg" + + "YmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJh" + + "dGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQu" + + "IFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1w" + + "b3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBz" + + "dWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlf" + + "QUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24s" + + "IHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8g" + + "YEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBn" + + "bG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRl" + + "c3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoK" + + "IyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0" + + "IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0" + + "cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUg" + + "Y2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vy" + + "dmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNl" + + "dCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBr" + + "ZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9v" + + "cHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4g" + + "U2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBh" + + "cyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2Vz" + + "CgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8" + + "IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0t" + + "LS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + + "fCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5v" + + "dGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFu" + + "aXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + + "YWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdh" + + "eSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAg" + + "fCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBp" + + "biBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBg" + + "YAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdh" + + "eSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXIt" + + "ZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFy" + + "ZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGlu" + + "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElm" + + "IHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1n" + + "YXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRo" + + "ZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMg" + + "dGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0" + + "IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZh" + + "bml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAK" + + "ClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNr" + + "ZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZp" + + "YyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBw" + + "aW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2" + + "YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0" + + "ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4K" + + "CkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdh" + + "eWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFu" + + "aXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlm" + + "eSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMu" + + "aW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1p" + + "IHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0" + + "YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBD" + + "IHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpy" + + "b3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBv" + + "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBi" + + "eQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1" + + "ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9l" + + "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1" + + "ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50" + + "bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJu" + + "ZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBw" + + "bHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNl" + + "cy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRl" + + "LXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNv" + + "bXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0" + + "bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1" + + "dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0" + + "YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzog" + + "dXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1h" + + "bmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24s" + + "IGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNv" + + "bXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24g" + + "Zm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoK" + + "U2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFu" + + "ZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFv" + + "LXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0" + + "aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwg" + + "b3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5" + + "YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBj" + + "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGlu" + + "dmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3Bh" + + "Y2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + + "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNl" + + "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMg" + + "dGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJl" + + "bGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFu" + + "ZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9y" + + "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + + "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxl" + + "ZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + + "IGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5h" + + "bWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5n" + + "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4K" + + "CiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9y" + + "IG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + + "IG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5z" + + "IiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gK" + + "a3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkt" + + "a2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBI" + + "ZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBv" + + "bmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwg" + + "YGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwu" + + "aW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRp" + + "dCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZh" + + "bHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + + "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + + "b290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + + "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + + "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + + "aW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + + "ICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5" + + "OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6" + + "ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2Vz" + + "IHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5" + + "IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBs" + + "eQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNy" + + "ZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0" + + "IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBp" + + "ZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8" + + "IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0" + + "IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBp" + + "bWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1" + + "bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5q" + + "ZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lz" + + "dHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4v" + + "PGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVD" + + "QVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFv" + + "IGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxk" + + "IGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3Vi" + + "ZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8" + + "IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9v" + + "dHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25m" + + "aWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQ" + + "TEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNl" + + "NjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNv" + + "bnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUK" + + "PiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRo" + + "ZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQo" + + "IiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtF" + + "WSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+" + + "KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRl" + + "YCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNz" + + "d29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNp" + + "ZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCBy" + + "ZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2Ug" + + "YSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUg" + + "ZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAg" + + "c3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQo" + + "cHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAg" + + "YmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + + "dCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQs" + + "IHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNy" + + "ZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAg" + + "ICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRp" + + "LW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVu" + + "Y3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlm" + + "ZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0" + + "aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNh" + + "ciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4g" + + "TWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVy" + + "IGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3Jl" + + "ZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQp" + + "CgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxs" + + "eSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3Bh" + + "Y2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQg" + + "Y29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gK" + + "IyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJu" + + "by5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJu" + + "byBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3Jl" + + "YXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlv" + + "dXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVh" + + "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZl" + + "cj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1k" + + "b2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAog" + + "ICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMg" + + "My4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVy" + + "bm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2" + + "ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25h" + + "bWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNl" + + "Y3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBu" + + "ZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVD" + + "UiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQg" + + "cHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + + "Lm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWlj" + + "ayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAg" + + "ICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBl" + + "dmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRz" + + "CmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZp" + + "eCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAx" + + "IFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2Vj" + + "cmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAg" + + "c3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8" + + "IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFg" + + "ICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4g" + + "bm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAg" + + "fCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVh" + + "ZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFv" + + "Lm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFL" + + "UyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNz" + + "dWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1t" + + "aWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXgg" + + "IzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28g" + + "c21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8" + + "CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVj" + + "dGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FO" + + "RFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZh" + + "dWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAg" + + "aW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRg" + + "LCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBl" + + "bmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3Mg" + + "fCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhl" + + "bG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3" + + "YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwK" + + "fCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGlu" + + "IHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQt" + + "Ym9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0" + + "MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFs" + + "bCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdh" + + "cyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywg" + + "c28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJl" + + "LXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3Zl" + + "cmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFk" + + "IHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFy" + + "ZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRp" + + "bWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJl" + + "Y3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9u" + + "c2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNl" + + "IHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0" + + "YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBw" + + "IGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwg" + + "U2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29u" + + "ZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQg" + + "YWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBp" + + "YCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCku" + + "IEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1" + + "Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJl" + + "cGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMp" + + "LCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBz" + + "dWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVu" + + "a25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5u" + + "aW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8g" + + "anNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBq" + + "b2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJl" + + "bGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0" + + "IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhl" + + "Cmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2Nv" + + "dW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZj" + + "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0" + + "ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxl" + + "cy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8v" + + "ZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBh" + + "bmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJl" + + "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNl" + + "cy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + + "bWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNr" + + "aWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBh" + + "bmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxz" + + "Lmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMi" + + "LAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9u" + + "IG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmly" + + "c3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRh" + + "dGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBu" + + "b3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFu" + + "ZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3Qg" + + "cHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRl" + + "ZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFu" + + "eSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQg" + + "dmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFs" + + "IG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVk" + + "IGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcg" + + "YW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lv" + + "biBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVs" + + "bWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAg" + + "ewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJR" + + "dWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwg" + + "dGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcg" + + "dG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8g" + + "cHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4g" + + "SXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5v" + + "dCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmls" + + "ZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2" + + "aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGlu" + + "ZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9y" + + "dGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNw" + + "YWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAg" + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQga2VwdCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cg" + - "aW5kZXBlbmRlbnQgZnJvbSB0aGUgQ0xJIHByb2ZpbGUgZmxvdy4gSXQgYXV0aG9yZWQgc2VwYXJh" + - "dGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlcyBwbHVz" + - "IGEgYmFyZS1HYXRld2F5IENMSSBjb25maWcgd2l0aCBVUkwgYW5kIHNjaGVtZS1sZXNzIEhvc3Qg" + - "ZmllbGRzLCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUsIHJhbiB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBNYWtlZmlsZSByZWdpc3Rlci1jbHVzdGVyIHRhcmdldCB3aXRoIElDTVNfVVJMIGFuZCB0aGUg" + - "Y29tcHV0ZSBrdWJlY29uZmlnLCB0aGVuIHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIHRh" + - "cmdldCB3aXRoIHRoZSBzYW1lIGVudmlyb25tZW50IGFuZCBrdWJlY29uZmlnLiBJdCByZWxpZWQg" + - "b24gcmVnaXN0cmF0aW9uIHRvIGRpc2NvdmVyIE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0" + - "ZSBjb250ZXh0LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQg" + - "cmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0" + - "YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhdXRob3JlZCBzZXBhcmF0ZSBlbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbCBmaWxlcyB1bmRlciBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBh" + - "bmQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGlu" + - "c3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSBiZWZvcmUgcmVnaXN0ZXJpbmcgb3IgaW5zdGFsbGlu" + - "ZyB0aGUgY29tcHV0ZSBwbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBiYXNlX2h0" + - "dHBfdXJsLCBpbnZva2VfdXJsLCBiYXNlX2dycGNfdXJsLCBhcGlfa2V5c19zZXJ2aWNlX3VybCwg" + - "aWNtc191cmwsIGFwaV9ob3N0LCBhcGlfa2V5c19ob3N0LCBpbnZva2VfaG9zdCwgYW5kIGljbXNf" + - "aG9zdCBmb3IgdGhlIGJhcmUgR2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAt" + - "QyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rlci1jbHVzdGVyJyB3aXRo" + - "IENMVVNURVJfTkFNRSwgTkNBX0lELCBDTFVTVEVSX1JFR0lPTiwgSUNNU19VUkwsIGFuZCBLVUJF" + - "Q09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1D" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGluc3RhbGwnIHdpdGggQ0xVU1RFUl9O" + - "QU1FLCBIRUxNRklMRV9FTlYsIGFuZCBLVUJFQ09ORklHX0ZJTEU9Y29tcHV0ZS55YW1sIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCBJQ01TX1VSTCBtYXBzIG9ubHkgdG8gLS1pY21zLXVy" + - "bCwgY29uZmlnIGljbXNfaG9zdCBzdXBwbGllcyB0aGUgSG9zdCBoZWFkZXIsIHRoZXJlIGlzIG5v" + - "IC0taWNtcy1ob3N0IE1ha2Ugb3IgQ0xJIGZsYWcsIGFuZCByZWdpc3RyYXRpb24gZGlzY292ZXJz" + - "IE9JREMgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBkaWQgbm90IHJlcXVpcmUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUgZm9yIHRoaXMgZmxvdyBh" + - "bmQgZGlkIG5vdCBtaXggaW4gQ0xJIHByb2ZpbGUgY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzctYm90aC1kb2NrZXItaGVsbS1hdXRoIiwKICAgICJxdWVzdGlvbiI6ICJBdXRo" + - "ZW50aWNhdGUgdG8gTkdDIGZvciBOVkNGIGhlbG1maWxlIGRlcGxveW1lbnQiLAogICAgImV4cGVj" + - "dGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoZSBhZ2VudCByYW4gYm90aCBkb2NrZXIgbG9naW4gYW5kIGhlbG0gcmVnaXN0" + - "cnkgbG9naW4gZm9yIG52Y3IuaW8uIEl0IGV4cGxhaW5lZCB0aGF0IGJvdGggYXJlIHJlcXVpcmVk" + - "IGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBwdWxsIE9DSSBjaGFy" + - "dHMsIHNvIGRvY2tlciBsb2dpbiBhbG9uZSBpcyBpbnN1ZmZpY2llbnQuIiwKICAgICJleHBlY3Rl" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNl" + + "cyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJj" + + "ZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJz" + + "dCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUg" + + "c3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNl" + + "cyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBj" + + "bHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2Vk" + + "IHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2Vz" + + "IHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVj" + + "dGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBu" + + "YW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBu" + + "YW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNo" + + "IG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAg" + + "ZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmlu" + + "YWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3Jr" + + "ZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5k" + + "IGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4g" + + "VGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRl" + + "cGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBj" + + "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBi" + + "YXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVs" + + "ZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1h" + + "a2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21w" + + "dXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0" + + "IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiBy" + + "ZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNv" + + "bnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + + "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50" + + "cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFs" + + "bGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRo" + + "ZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91" + + "cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21z" + + "X3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0" + + "IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xV" + + "U1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05G" + + "SUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUs" + + "IEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAi" + + "VGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBj" + + "b25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1p" + + "Y21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lE" + + "QyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRp" + + "ZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBk" + + "aWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRp" + + "Y2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBs" + + "b2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVj" + + "YXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywg" + + "c28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2Jl" + + "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBh" + + "bmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdp" + + "c3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + + "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUg" + + "cmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwg" + + "T0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9m" + + "IHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5j" + + "IGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZp" + + "bGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3" + + "aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2Vy" + + "IHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUu" + + "IEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2lu" + + "ZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRs" + + "ZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFs" + + "LnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwg" + + "dGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xl" + + "YW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1Mg" + + "RUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxs" + + "YXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRl" + + "ZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVu" + + "dGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3Jl" + + "ZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9j" + + "dW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUg" + + "cGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxt" + + "ZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZl" + + "cnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUg" + + "YWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBh" + + "Z2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwg" + + "bmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0" + + "LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0" + + "byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJ" + + "TEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2Vy" + + "dmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVz" + + "IiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQg" + + "cmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNr" + + "IHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRo" + + "ZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGkt" + + "cHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3Rh" + + "bGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFy" + + "YXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBs" + + "YW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9m" + + "aWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNv" + + "bW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAt" + + "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1" + + "dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFu" + + "ZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5v" + + "dCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5k" + + "IHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQg" + + "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + + "LWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQg" + + "LS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwg" + + "LS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVh" + + "dGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "aywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVk" + + "ZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAi" + + "VGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3Vy" + + "Y2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAg" + + "ICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5j" + + "cmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1v" + + "ZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVk" + + "aW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJ" + + "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRp" + + "ZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGlu" + + "ZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAg" + + "ICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1" + + "ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCBy" + + "ZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFs" + + "dWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6" + + "IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBk" + + "aWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kg" + + "b25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJh" + + "byAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhl" + + "IGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFz" + + "ZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + + "cm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0" + + "cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFn" + + "ZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciBy" + + "ZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1" + + "bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQ" + + "dWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBj" + + "b21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNo" + + "ZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBw" + + "b2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlz" + + "c2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3Jl" + + "dHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tP" + + "ZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4g" + + "dGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2Vk" + + "IGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQi" + + "LAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVk" + + "IGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mt" + + "cm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3Rl" + + "IEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91" + + "Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5" + + "IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVk" + + "IHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGlu" + + "IGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1n" + + "YXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMt" + + "cHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBw" + + "bHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmln" + + "dXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBp" + + "Y21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4" + + "dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3Jl" + + "dCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIs" + + "IGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNo" + + "YXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3Rl" + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnZG9ja2VyIGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5h" + - "bWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0g" + - "cmVnaXN0cnkgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdD" + - "X0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGJvdGgg" + - "YXJlIHJlcXVpcmVkIGJlY2F1c2UgaGVsbWZpbGUgdXNlcyBoZWxtIChub3QgZG9ja2VyKSB0byBw" + - "dWxsIE9DSSBjaGFydHMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBvbmx5IG9u" + - "ZSBvZiB0aGUgdHdvIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIkc5LW1pc3NpbmctYnVuZGxlIiwKICAgICJxdWVzdGlvbiI6ICJSdW4gaGVsbWZpbGUg" + - "c3luYyBmb3IgTlZDRiBpbiBteSBjdXJyZW50IGRpcmVjdG9yeSIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGF0dGVtcHRlZCB0byB2ZXJpZnkgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhl" + - "bG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSBh" + - "bmQgd2hlbiBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgc3RvcHBlZCBhbmQgaW5zdHJ1Y3RlZCB0aGUg" + - "dXNlciB0byBleHRyYWN0IG9yIGxvY2F0ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVu" + - "ZGxlLiBJdCBkaWQgbm90IGF0dGVtcHQgdG8gcnVuIGhlbG1maWxlIHN5bmMgYWdhaW5zdCBhIG1p" + - "c3NpbmcgYnVuZGxlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdl" + - "bnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9y" + - "ZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBleHBlY3RlZCBi" + - "dW5kbGUgc3RydWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGds" + - "b2JhbC55YW1sLmdvdG1wbCkiLAogICAgICAiV2hlbiBidW5kbGUgZmlsZXMgd2VyZSBub3QgZm91" + - "bmQsIHRoZSBhZ2VudCBzdG9wcGVkIGFuZCBkaWQgbm90IGF0dGVtcHQgaGVsbWZpbGUgc3luYyIs" + - "CiAgICAgICJUaGUgYWdlbnQgaW5zdHJ1Y3RlZCB0aGUgdXNlciB0byBleHRyYWN0IG9yIGxvY2F0" + - "ZSB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2sgYnVuZGxlIgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIlMxLWNsZWFuLWluc3RhbGxhdGlvbiIsCiAgICAicXVlc3Rpb24iOiAiUGVyZm9ybSBh" + - "IGNsZWFuIGluc3RhbGxhdGlvbiBvZiB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24gbXkg" + - "QVdTIEVLUyBjbHVzdGVyLiBNeSBlbnZpcm9ubWVudCBuYW1lIGlzICdzdGFnaW5nJy4iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb21wbGV0ZWQgdGhlIGNvbnRyb2wtcGxhbmUgaW5z" + - "dGFsbGF0aW9uIGZpcnN0OiB2YWxpZGF0ZWQgdG9vbHMgYW5kIGJ1bmRsZSBzdHJ1Y3R1cmUsIGNy" + - "ZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGF1" + - "dGhlbnRpY2F0ZWQgdGhlIHJlZ2lzdHJpZXMsIHByZXZpZXdlZCwgZGVwbG95ZWQsIGFuZCBtb25p" + - "dG9yZWQgdGhlIGZvdXIgY29udHJvbC1wbGFuZSBwaGFzZXMuIEl0IHRoZW4gc2VsZWN0ZWQgb25l" + - "IGRvY3VtZW50ZWQgaGFuZG9mZiBhbmQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBjb21w" + - "dXRlIHBsYW5lIGFzIGEgc2VwYXJhdGUgc3RhY2sgd2l0aG91dCBtaXhpbmcgcHJvZmlsZSBhbmQg" + - "SGVsbWZpbGUgdmFsdWVzIGZsb3dzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB2YWxpZGF0ZWQgdG9v" + - "bCB2ZXJzaW9ucyAoaGVsbWZpbGUsIGhlbG0sIGhlbG0tZGlmZiwga3ViZWN0bCkiLAogICAgICAi" + - "VGhlIGFnZW50IHZlcmlmaWVkIHRoZSBidW5kbGUgc3RydWN0dXJlIGV4aXN0cyIsCiAgICAgICJU" + - "aGUgYWdlbnQgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgKGNhc3NhbmRyYS1zeXN0" + - "ZW0sIG5hdHMtc3lzdGVtLCBudmNmLCBhcGkta2V5cywgZXNzLCBzaXMsIHZhdWx0LXN5c3RlbSwg" + - "Y2VydC1tYW5hZ2VyKSB3aXRob3V0IGFkZGluZyBjb21wdXRlLW9ubHkgbmFtZXNwYWNlcyIsCiAg" + - "ICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSB0ZW1wbGF0" + - "ZScgdG8gcHJldmlldyBiZWZvcmUgZGVwbG95aW5nIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hF" + - "TE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHN5bmMnIHRvIGRlcGxveSIsCiAgICAgICJUaGUg" + - "YWdlbnQgZXhwbGFpbmVkIHRoZSA0IGNvbnRyb2wtcGxhbmUgcGhhc2VzIChkZXBlbmRlbmNpZXMs" + - "IHNlcnZpY2VzLCBpbmdyZXNzLCBvYnNlcnZhYmlsaXR5KSBhbmQgYXBwcm94aW1hdGUgd2FpdCB0" + - "aW1lcyIsCiAgICAgICJBZnRlciB0aGUgY29udHJvbCBwbGFuZSB3YXMgaGVhbHRoeSwgdGhlIGFn" + - "ZW50IHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZSBz" + - "dGFjayB1c2luZyBleGFjdGx5IG9uZSBkb2N1bWVudGVkIGhhbmRvZmYiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgbWl4IGEgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgd2l0" + - "aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3ciCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzMt" + - "Y2xpLXByb2ZpbGUtd29ya2Zsb3ciLAogICAgInF1ZXN0aW9uIjogIlVzZSBudmNmLWNsaSB0byBp" + - "bnN0YWxsIG15IGNvbnRyb2wgcGxhbmUgYW5kIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgYSBz" + - "ZXBhcmF0ZSBjb21wdXRlIGNsdXN0ZXIuIFNob3cgZXZlcnkgcmVxdWlyZWQgZ2xvYmFsIGZsYWcu" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZmlyc3QgcmFuIHRoZSBDTEkgY29udHJv" + - "bC1wbGFuZSBpbnN0YWxsIGFuZCByZXF1aXJlZCBpdHMgZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUt" + - "cHJvZmlsZS55YW1sLiBJdCB0aGVuIHNob3dlZCBjb21wbGV0ZSByZWdpc3RlciBhbmQgaW5zdGFs" + - "bCBjb21tYW5kcywgZWFjaCBpbmNsdWRpbmcgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFj" + - "aywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4gYmVmb3JlIHRoZSBj" + - "b21wdXRlLXBsYW5lIHN1YmNvbW1hbmQuIFJlZ2lzdHJhdGlvbiBjb25zdW1lZCB0aGUgcHJvZmls" + - "ZSBhbmQgcHJvZHVjZWQgdGhlIHZhbHVlcyBmaWxlIGNvbnN1bWVkIGJ5IGluc3RhbGwuIEl0IGRp" + - "ZCBub3Qgc3dpdGNoIHRvIHRoZSBIZWxtZmlsZSB2YWx1ZXMgaGFuZG9mZi4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250cm9sLXBsYW5l" + - "IGFuZCB2ZXJpZmllZCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWwgZXhpc3RzIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1" + - "ZGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "aywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSByZWdpc3RlciBjb21tYW5kIGluY2x1" + - "ZGVkIC0tY29udHJvbC1wbGFuZS1wcm9maWxlLCAtLWNsdXN0ZXItbmFtZSwgLS1rdWJlLWNvbnRl" + - "eHQsIC0tcmVnaW9uLCBhbmQgLS1vdXRwdXQiLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBy" + - "ZXBlYXRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIGlu" + - "Y2x1ZGVkIC0tdmFsdWVzLCAtLWt1YmUtY29udGV4dCwgYW5kIC0tY2x1c3Rlci1uYW1lIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBrZXB0IHRoZSBnZW5lcmF0ZWQgcHJvZmlsZSBhcyB0aGUgZW5kcG9pbnQg" + - "c291cmNlIGFuZCBkaWQgbm90IG1peCBpbiBIZWxtZmlsZSB2YWx1ZXMgcmVnaXN0cmF0aW9uIgog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIlM0LW92ZXJyaWRlLWNhc3NhbmRyYS1yZXNvdXJjZXMi" + - "LAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGtlZXAgZ2V0dGluZyBPT01LaWxsZWQu" + - "IEluY3JlYXNlIG1lbW9yeSBsaW1pdHMgdG8gMTZHaS4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBjYXB0dXJlZCB0aGUgYmFzZWxpbmUgd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSwgdGhl" + - "biBtb2RpZmllZCB0aGUgY2Fzc2FuZHJhIHJlbGVhc2Ugd2l0aCBpbmxpbmUgdmFsdWVzIHJlLWlu" + - "Y2x1ZGluZyBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgaW4gdGhlIHZhbHVlcyBibG9j" + - "ay4gSXQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYSBhbmQgcHJldmlld2VkIHRo" + - "ZSBkaWZmIGJlZm9yZSBhcHBseWluZy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2FwdHVyZWQgYmFz" + - "ZWxpbmUgd2l0aCAnaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSci" + - "LAogICAgICAiVGhlIGFnZW50IG1vZGlmaWVkIHRoZSByZWxlYXNlIHZhbHVlcyBibG9jayB0byBp" + - "bmNsdWRlIHJlc291cmNlIGxpbWl0cyB3aXRoIG1lbW9yeTogMTZHaSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmUtaW5jbHVkZWQgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGZpbGUgaW4gdGhl" + - "IHZhbHVlczogYmxvY2sgKG5vdCBqdXN0IHRoZSBvdmVycmlkZSBhbG9uZSkiLAogICAgICAiVGhl" + - "IGFnZW50IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGE6IHNwZWNpZnlpbmcgdmFs" + - "dWVzOiByZXBsYWNlcyB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgbGlzdCBlbnRpcmVseSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcHJldmlld2VkIHRoZSBjaGFuZ2Ugd2l0aCBoZWxtZmlsZSB0ZW1wbGF0ZSBh" + - "bmQgZGlmZiBiZWZvcmUgYXBwbHlpbmcgd2l0aCBzeW5jIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIlM2LXNlbGVjdGl2ZS1zeW5jLWRlcGVuZGVuY2llcyIsCiAgICAicXVlc3Rpb24iOiAiRGVw" + - "bG95IG9ubHkgdGhlIE5WQ0YgZGVwZW5kZW5jaWVzIC0tIE5BVFMsIENhc3NhbmRyYSwgYW5kIE9w" + - "ZW5CYW8gLS0gZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCB1c2Vk" + - "IHRoZSBoZWxtZmlsZSBzZWxlY3RvciB0byBkZXBsb3kgb25seSB0aGUgZGVwZW5kZW5jaWVzIHJl" + - "bGVhc2UgZ3JvdXAsIHRoZW4gdmVyaWZpZWQgcG9kcyBpbiB0aGUgZGVwZW5kZW5jeSBuYW1lc3Bh" + - "Y2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMnIHRvIGRlcGxveSBvbmx5IGRlcGVuZGVuY2llcyIs" + - "CiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgcG9kcyBpbiBkZXBlbmRlbmN5IG5hbWVzcGFjZXMg" + - "KG5hdHMtc3lzdGVtLCBjYXNzYW5kcmEtc3lzdGVtLCB2YXVsdC1zeXN0ZW0pIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBwcm92aWRlZCB0aGUgc2VsZWN0b3IgcmVmZXJlbmNlIGZvciB0YXJnZXRpbmcgb3Ro" + - "ZXIgcmVsZWFzZSBncm91cHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzctZGVidWctaW1h" + - "Z2VwdWxsYmFja29mZiIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMgYXJlIGluIElt" + - "YWdlUHVsbEJhY2tPZmYgd2l0aCA0MDEgVW5hdXRob3JpemVkIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgZGVidWdnaW5nIHJlZmVyZW5jZSBhbmQgcmFuIGRpYWdub3N0" + - "aWMgY29tbWFuZHMgdG8gaWRlbnRpZnkgdGhlIHJvb3QgY2F1c2U6IGRlc2NyaWJlZCB0aGUgcG9k" + - "LCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMsIGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0" + - "aGUgcG9kIHNwZWMgYW5kIHNlcnZpY2UgYWNjb3VudC4gSXQgaWRlbnRpZmllZCB0aGUgaXNzdWUg" + - "KG1pc3Npbmcgc2VjcmV0LCB3cm9uZyBjcmVkZW50aWFscywgb3IgbWlzc2luZyBpbWFnZVB1bGxT" + - "ZWNyZXRzKSBhbmQgcHJvdmlkZWQgdGhlIGNvcnJlY3QgZml4LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGFuZCByZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuICdrdWJlY3RsIGRlc2NyaWJlIHBvZCcgdG8gc2VlIHRoZSBJbWFnZVB1bGxC" + - "YWNrT2ZmIGV2ZW50cyIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRz" + - "IGluIHRoZSBjYXNzYW5kcmEtc3lzdGVtIG5hbWVzcGFjZSIsCiAgICAgICJUaGUgYWdlbnQgY2hl" + - "Y2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQvb3Igc2VydmljZSBhY2Nv" + - "dW50IiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSByb290IGNhdXNlIGFuZCBwcm92" + - "aWRlZCBhIHNwZWNpZmljIGZpeCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTOS1yZW1vdGUt" + - "ZWtzLXJvdXRpbmctYW5kLXNlY3JldHMiLAogICAgInF1ZXN0aW9uIjogIkNvbmZpZ3VyZSBhIHJl" + - "bW90ZSBFS1MgY29tcHV0ZSBjbHVzdGVyIHRvIHJlYWNoIG15IE5WQ0YgY29udHJvbCBwbGFuZSB0" + - "aHJvdWdoIGl0cyBFbnZveSBHYXRld2F5LCBpbmNsdWRpbmcgTkFUUyBhbmQgcHJpdmF0ZS1yZWdp" + - "c3RyeSBwdWxsIHNlY3JldHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29uZmln" + - "dXJlZCB0aGUgY29udHJvbCBwbGFuZSB0byB1c2UgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxl" + - "ciBpbiBlbnZveS1nYXRld2F5LXN5c3RlbSBhbmQgR2F0ZXdheS9udmNmLWdhdGV3YXkgaW4gZW52" + - "b3ktZ2F0ZXdheSwgc2V0IGFsbCBzaXggcmVtb3RlIHdvcmtlciBlbmRwb2ludHMgYW5kIHRoZSBn" + - "cnBjLXByb3h5IGxvY2FsIG92ZXJyaWRlLCBlbmFibGVkIE5WQ0YgYW5kIE5WQ1QgZ1JQQyByb3V0" + - "ZXMgcGx1cyBOQVRTLCBhbmQgZW5hYmxlZCBPcGVuQmFvIGlzc3VlciBkaXNjb3ZlcnkuIEl0IGNv" + - "bmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZpZWxkcyBpbmNsdWRp" + - "bmcgaWNtc19ob3N0LCBwbHVzIHRoZSBjb21wdXRlLXBsYW5lIElDTVMsIFJlVmFsLCBhbmQgTkFU" + - "UyBleHRlcm5hbCBVUkxzIGFuZCBob3N0IG92ZXJyaWRlcy4gSXQgY3JlYXRlZCB0aGUgcHVsbCBz" + - "ZWNyZXQgaW4gYWxsIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5h" + - "Z2VyLCBidXQgb25seSBpbiBudmNhLW9wZXJhdG9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI7IHRo" + - "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIG52Y2Etc3lzdGVtLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2UgdG8g" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0iLAogICAgICAiVGhlIGFnZW50IHNldCBzaGFyZWQsIGdycGMs" + - "IGFuZCBuYXRzIEdhdGV3YXkgcmVmZXJlbmNlcyB0byBuYW1lIG52Y2YtZ2F0ZXdheSBhbmQgbmFt" + - "ZXNwYWNlIGVudm95LWdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHNldCBnbG9iYWwud29ya2Vy" + - "RW5kcG9pbnRzLm52Y2ZTZXJ2aWNlVVJMLCBudmNmR3JwY1NlcnZpY2VVUkwsIG52Y2ZOYXRzU2Vy" + - "dmljZVVSTCwgbnZjdFNlcnZpY2VVUkwsIG52Y3RHcnBjU2VydmljZVVSTCwgYW5kIGludm9jYXRp" + - "b25TZXJ2aWNlVVJMIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ3JwY3Byb3h5Lm52Y2ZHcnBjU2Vy" + - "dmljZVVSTCB0byB0aGUgY29udHJvbC1wbGFuZS1sb2NhbCBBUEkgZ1JQQyBzZXJ2aWNlIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBlbmFibGVkIGJvdGggaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5udmNm" + - "QXBpLmdycGMgYW5kIG52Y3RBcGkuZ3JwYyB3aXRoIHdvcmtlci1hcGkgYW5kIHdvcmtlci10YXNr" + - "cyBob3N0bmFtZXMiLAogICAgICAiVGhlIGFnZW50IGV4cGxpY2l0bHkgc2V0IGluZ3Jlc3MuZ2F0" + - "ZXdheUFwaS5yb3V0ZXMubmF0cy5lbmFibGVkIHRvIHRydWUiLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQgdG8gdHJ1ZSIsCiAg" + - "ICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhv" + - "c3QgZmllbGRzLCBpbmNsdWRpbmcgc2NoZW1lLWxlc3MgaWNtc19ob3N0IiwKICAgICAgIlRoZSBh" + - "Z2VudCBjb25maWd1cmVkIGNvbXB1dGUtcGxhbmUgaWNtc1NlcnZpY2VVUkwsIGljbXNTZXJ2aWNl" + - "SG9zdEhlYWRlck92ZXJyaWRlLCByZXZhbFNlcnZpY2VVUkwsIHJldmFsU2VydmljZUhvc3RIZWFk" + - "ZXJPdmVycmlkZSwgbmF0c1VSTCwgYW5kIG5hdHNIb3N0T3ZlcnJpZGUiLAogICAgICAiVGhlIGNv" + - "bnRyb2wtcGxhbmUgcHVsbC1zZWNyZXQgbmFtZXNwYWNlIGxpc3QgaW5jbHVkZWQgY2VydC1tYW5h" + - "Z2VyIiwKICAgICAgIlRoZSBjb21wdXRlLXBsYW5lIHNlY3JldCB3YXMgY3JlYXRlZCBvbmx5IGlu" + - "IG52Y2Etb3BlcmF0b3IgYW5kIG1pcnJvcmVkIGJ5IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgdG8g" + - "bnZjYS1zeXN0ZW0iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzExLXNwbGl0LXRlYXJkb3du" + - "IiwKICAgICJxdWVzdGlvbiI6ICJUZWFyIGRvd24gbXkgc3BsaXQgY29udHJvbC1wbGFuZSBhbmQg" + - "Y29tcHV0ZS1wbGFuZSBkZXBsb3ltZW50IHNhZmVseS4gU2hvdyBib3RoIHRoZSBIZWxtZmlsZSB2" + - "YWx1ZXMgYW5kIENMSSBwcm9maWxlIHZhcmlhbnRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IEhlbG1maWxlIGZsb3cgZGVzdHJveWVkIGFuZCBjb25maXJtZWQgZGVyZWdpc3RyYXRpb24gb2Yg" + - "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBjb250cm9sIHBsYW5l" + - "IGFuZCBwYXNzZWQgYm90aCBjb250cm9sLXBsYW5lIGt1YmVjb25maWcgZm9ybXMuIEJlZm9yZSBl" + - "aXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJk" + - "b3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJl" + - "c2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYg" + - "dHJ1ZSwgYW5kIHZlcmlmaWVkIG1hdGNoaW5nIHJlbGVhc2Ugb3duZXJzaGlwIGZvciBhbiBpbnRl" + - "bmRlZCBzdGFjay1tYW5hZ2VkIHJlbGVhc2UsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZCBldmlkZW5jZS4gVGhleSBwcmVzZXJ2ZWQgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + - "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + - "aWNpdCBjb25maXJtYXRpb24uIFRoZSBDTEkgZmxvdyByZXRhaW5lZCB0aGUgZ2VuZXJhdGVkIHJl" + - "Z2lzdHJhdGlvbiB2YWx1ZXMsIHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0YXR1cyBjb21tYW5kIHRv" + - "IGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBuYW1lZC1jbHVzdGVyIHBs" + - "YW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJlZGljdCBjb25kaXRpb25h" + - "bCBjb250cm9sLXBsYW5lIHJlbW92YWwsIGFuZCBnb3QgZXhwbGljaXQgY29uZmlybWF0aW9uIHdo" + - "ZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLiBJdCB0aGVuIHBy" + - "ZXZpZXdlZCBhbmQgcmFuIGRvd24gd2l0aCB0aGUgZnVsbCBwZXJzaXN0ZW50IHByZWZpeCwgcmVt" + - "b3ZpbmcgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciB0aGUgbGFzdCByZWdpc3RyYXRpb24g" + - "d2FzIGdvbmUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiRm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlIEhlbG1m" + - "aWxlIGZsb3cgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgdGFyZ2V0IHdp" + - "dGggaXRzIGNvbXB1dGUga3ViZWNvbmZpZyIsCiAgICAgICJBZnRlciBjb25maXJtYXRpb24sIHRo" + - "ZSBIZWxtZmlsZSBmbG93IHJhbiBjbHVzdGVyIGRlbGV0ZSB3aXRoIGNsdXN0ZXJJRCBhbmQgbmNh" + - "SUQgYmVmb3JlIGNvbnRyb2wtcGxhbmUgZGVzdHJ1Y3Rpb24iLAogICAgICAiQmVmb3JlIGVpdGhl" + + "IGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZv" + + "eS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5k" + + "IG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3Bh" + + "Y2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRw" + + "b2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNl" + + "VVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNl" + + "cnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNl" + + "VVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAi" + + "VGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGku" + + "Z3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhv" + + "c3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5" + + "QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9w" + + "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBm" + + "aWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50" + + "IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0" + + "SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92" + + "ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJv" + + "bC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIi" + + "LAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZj" + + "YS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNh" + + "LXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAog" + + "ICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21w" + + "dXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVl" + + "cyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVs" + + "bWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVy" + + "eSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5k" + + "IHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhl" + "ciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24g" + "Zmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2" + "ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxl" + "ZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVl" + - "LCBhbmQgdmVyaWZpZWQgaW50ZW5kZWQgc3RhY2sgb3duZXJzaGlwIHdoZW4gZW5hYmxlZCwgYWJv" + - "cnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlIiwKICAgICAgIkJvdGggdGVh" + - "cmRvd24gZmxvd3MgcHJlc2VydmVkIHRoZSBjZXJ0LW1hbmFnZXIgbmFtZXNwYWNlIGJ5IGRlZmF1" + - "bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5k" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgSGVsbWZpbGUgZmxvdyByYW4gY29u" + - "dHJvbC1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHdpdGggYm90aCBLVUJFQ09ORklHIGFuZCBLVUJF" + - "Q09ORklHX0ZJTEUiLAogICAgICAiVGhlIENMSSBmbG93IHJldGFpbmVkIG91dC88Y2x1c3Rlci1u" + - "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCB1bnRpbCB0ZWFyZG93biBjb21wbGV0ZWQiLAogICAg" + - "ICAiQmVmb3JlIHJlYWwgZG93biwgdGhlIENMSSBmbG93IHVzZWQgdGhlIGZ1bGwtcHJlZml4IHN0" + - "YXR1cyBjb21tYW5kIHRvIGluc3BlY3QgbGl2ZSByZWdpc3RyYXRpb25zLCBzdGF0ZWQgdGhhdCBu" + - "YW1lZC1jbHVzdGVyIHBsYW4tb25seSBkb2VzIG5vdCBxdWVyeSBJQ01TIGFuZCBjYW5ub3QgcHJl" + - "ZGljdCBjb25kaXRpb25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwsIHdhcm5lZCB3aGVuIHRoZSB0" + - "YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3RlciwgYW5kIGdvdCBleHBsaWNpdCBj" + - "b25maXJtYXRpb24iLAogICAgICAiVGhlIENMSSBmbG93IHVzZWQgLS1jb25maWcsIGJvdGggc3Rh" + - "Y2sgcGF0aHMsIC0tZW52LCAtLXBsYWluLCBib3RoIGNvbnRleHRzLCBhbmQgLS1pY21zLXVybCBm" + - "b3IgZG93biAtLXBsYW4tb25seSBhbmQgdGhlbiBkb3duIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0" + - "ZWQgdGhhdCBkb3duIHVucmVnaXN0ZXJzIGVhY2ggY29tcHV0ZSBjbHVzdGVyIGFuZCByZW1vdmVz" + - "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgbm8gcmVnaXN0cmF0aW9ucyByZW1haW4iCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEzLXZhbHVlcy1wcmVjZWRlbmNlIiwKICAgICJxdWVz" + - "dGlvbiI6ICJJIGFkZGVkIGEgdmFsdWUgdG8gbXkgZW52aXJvbm1lbnQgWUFNTCBidXQgaXQncyBi" + - "ZWluZyBzaWxlbnRseSBpZ25vcmVkLiBIb3cgZG8gaGVsbWZpbGUgdmFsdWVzIHdvcmsgaW4gTlZD" + - "Rj8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBw" + - "cmVjZWRlbmNlIGNoYWluIChiYXNlLnlhbWwsIGVudiBZQU1MLCBnbG9iYWwueWFtbC5nb3RtcGws" + - "IHNlY3JldHMsIGlubGluZSB2YWx1ZXMpLCBpZGVudGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290" + - "bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cywgYW5kIGV4cGxhaW5lZCB0aGF0" + - "IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCB1c2UgcmVsZWFzZSBpbmxpbmUgdmFsdWVzIGJs" + - "b2Nrcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "LCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVk" + + "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + + "IGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRp" + + "ZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0" + + "cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5z" + + "cGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1v" + + "bmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNv" + + "bnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0" + + "aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmll" + + "d2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmlu" + + "ZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMg" + + "Z29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2VkZW5j" + - "ZSBjaGFpbjogYmFzZS55YW1sIC0+IGVudiBZQU1MIC0+IGdsb2JhbC55YW1sLmdvdG1wbCAtPiBz" + - "ZWNyZXRzIC0+IGlubGluZSB2YWx1ZXMiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhh" + - "dCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzIChj" + - "YXNzYW5kcmEucmVwbGljYUNvdW50LCBnbG9iYWwuc3RvcmFnZUNsYXNzLCBnbG9iYWwuaW1hZ2Us" + - "IGV0Yy4pIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQg" + - "dmFsdWVzIG11c3QgYmUgc2V0IHZpYSByZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyIsCiAg" + - "ICAgICJUaGUgYWdlbnQgbGlzdGVkIGV4YW1wbGVzIG9mIHZhbHVlcyB0aGF0IGFyZSBwcm9wYWdh" + - "dGVkIGFuZCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIHRoYXQgcmVxdWlyZSBhIHJlbGVhc2UgdmFs" + - "dWVzIGJsb2NrIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxNC1lbmFibGUtbGxtLWZ1bmN0" + - "aW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSSBuZWVkIHRvIGRlcGxveSBmdW5jdGlvblR5cGU6IExM" + - "TSBmdW5jdGlvbnMgb24gYSBzZWxmLW1hbmFnZWQsIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3Qg" + - "Y2x1c3Rlci4gV2hhdCBIZWxtZmlsZSBjb25maWd1cmF0aW9uIGFuZCB2ZXJpZmljYXRpb24gc3Rl" + - "cHMgZG8gSSBuZWVkPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGVuYWJsZWQgdGhl" + - "IExMTSBhZGRvbiB3aXRoIGFkZG9ucy5sbG0uZW5hYmxlZCwgY29uZmlndXJlZCBzaW5nbGUgcmVw" + - "bGljYXMgZm9yIHRoZSBMTE0gQVBJIEdhdGV3YXkgYW5kIHJlcXVlc3Qgcm91dGVyLCBhbmQgZXhw" + - "bGFpbmVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgcG93ZXItb2YtdHdvIHdoZW4gbm8g" + - "bG9hZC1iYWxhbmNlciBjb25maWd1cmF0aW9uIGlzIHNldC4gSXQgbGlua2VkIHRoZSBjYW5vbmlj" + - "YWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIHJvdXRpbmcg" + - "bWV0aG9kcy4gRm9yIHRoZSBpc29sYXRlZCBwbGFpbnRleHQgY2x1c3RlciwgaXQgcmVsaWVkIG9u" + - "IHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZGVmYXVsdCBmb3IgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10" + - "by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGFuZCBpbmNsdWRlZCBhZ2VudENvbmZpZy5tZXJnZUNv" + - "bmZpZy53b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBmb3IgdGhlIHNlcGFyYXRlIHdvcmtl" + - "ciB0cmFuc3BvcnQsIHdpdGggYSB3YXJuaW5nIHRoYXQgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3Bv" + - "cnQgaXMgbm90IGZvciBwcm9kdWN0aW9uLiBJdCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUg" + - "dXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGR1cmluZyBpbnN0YWxsYXRpb24sIHJlZGVwbG95" + - "ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucywgYW5kIHZlcmlmaWVkIHRoZSBMTE0gZGVwbG95bWVu" + - "dHMsIHJvdXRlLCBhbmQgbGxtLXdvcmtlciBzaWRlY2FyLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZp" + - "b3IiOiBbCiAgICAgICJUaGUgYWdlbnQgdXNlZCBhZGRvbnMubGxtLmVuYWJsZWQsIG5vdCB0aGUg" + - "b2Jzb2xldGUgbGxtLmVuYWJsZWQgcGF0aCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdhdGV3YXkg" + - "YW5kIHJlcXVlc3RSb3V0ZXIgcmVwbGljYUNvdW50IHRvIDEgZm9yIHRoZSBzaW5nbGUtbm9kZSB0" + - "ZXN0IGNsdXN0ZXIiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IHRoZSByZXF1ZXN0IHJv" + - "dXRlciBkZWZhdWx0cyB0byBwb3dlci1vZi10d28gYW5kIGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + - "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciBtZXRob2RzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBh" + - "dXRoZW50aWNhdGlvbiBob3AgZGVmYXVsdHMgdG8gcGxhaW50ZXh0LCBpbmNsdWRlZCB3b3JrbG9h" + - "ZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZSBvbmx5IGZvciB0aGUgaXNvbGF0ZWQgd29ya2VyIHRyYW5z" + - "cG9ydCwgYW5kIHdhcm5lZCBhZ2FpbnN0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGluIHBy" + - "b2R1Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IGFwcGxpZWQgdGhlIGNvbnRyb2wtcGxhbmUgSGVs" + - "bWZpbGUgZW52aXJvbm1lbnQsIHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB3aXRoIHRoZSBz" + - "YW1lIHNlbGVjdGVkIGhhbmRvZmYsIGFuZCByZWNyZWF0ZWQgb3IgcmVkZXBsb3llZCBleGlzdGlu" + - "ZyBMTE0gZnVuY3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBsbG0tYXBpLWdhdGV3" + - "YXksIGxsbS1yZXF1ZXN0LXJvdXRlciwgdGhlIExMTSBIVFRQUm91dGUsIGFuZCB0aGUgbGxtLXdv" + - "cmtlciBzaWRlY2FyIGluY2x1ZGluZyAtLXF1aWMtaW5zZWN1cmUiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzgtTkVHLW5vdC1mb3ItazNkIiwKICAgICJxdWVzdGlvbiI6ICJTZXQgdXAgYSBs" + - "b2NhbCBOVkNGIGRldiBjbHVzdGVyIHVzaW5nIGszZCBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiBudWxsLAogICAgInNob3VsZF90cmlnZ2VyIjogZmFsc2UsCiAgICAiZ3JvdW5k" + - "X3RydXRoIjogIlRoaXMgaXMgYSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgcmVxdWVzdCB0aGF0IGJl" + - "bG9uZ3MgdG8gdGhlIG52Y2Ytc2VsZi1ob3N0ZWQtbG9jYWwtZGV2IHNraWxsLCBub3QgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uLiBUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG9yIHVzZSB0" + - "aGUgc2VsZi1tYW5hZ2VkIGluc3RhbGxhdGlvbiBza2lsbCBhbmQgaW5zdGVhZCBwcm92aWRlZCBr" + - "M2Qtc3BlY2lmaWMgZ3VpZGFuY2UuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAg" + - "IlRoZSBhZ2VudCBkaWQgbm90IHJlYWQgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NL" + - "SUxMLm1kIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgaGVsbWZpbGUtYmFzZWQg" + - "cHJvZHVjdGlvbiBkZXBsb3ltZW50IGluc3RydWN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgcHJv" + - "dmlkZWQgazNkLXNwZWNpZmljIGxvY2FsIGRldmVsb3BtZW50IGd1aWRhbmNlIG9yIGRlZmVycmVk" + - "IHRvIHRoZSBhcHByb3ByaWF0ZSBsb2NhbC1kZXYgc2tpbGwiCiAgICBdCiAgfQpdClBLBwhHVWpW" + - "SlYAAEpWAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC8ACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOEiMgRXhhbXBsZXMKCldvcmtlZCBl" + - "eGFtcGxlcyBiYXNlZCBvbiByZWFsIGRlcGxveW1lbnQgc2NlbmFyaW9zLgoKIyMgRXhhbXBsZSAx" + - "OiBPdmVycmlkZSBDYXNzYW5kcmEgUmVzb3VyY2VzCgpUaGUgZGVmYXVsdCBDYXNzYW5kcmEgcmVz" + - "b3VyY2UgbGltaXRzIGNhdXNlIE9PTSBvbiBsYXJnZSBpbnN0YW5jZSB0eXBlcyAoZS5nLiwgYHA1" + - "LjQ4eGxhcmdlYCkuCgpQcm9ibGVtOiBDYXNzYW5kcmEgcG9kcyByZXN0YXJ0IHdpdGggYE9PTUtp" + - "bGxlZGAuCgpTb2x1dGlvbjogT3ZlcnJpZGUgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSByZWxlYXNl" + - "IHZhbHVlcyBibG9jay4KCiMjIyBTdGVwIDE6IENhcHR1cmUgYmFzZWxpbmUKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxh" + - "dGUgPiAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwKZ3JlcCAtQTggJ3Jlc291cmNlczonIC90bXAvY2Fz" + - "cy1iZWZvcmUueWFtbCB8IGhlYWQgLTEwCmBgYAoKIyMjIFN0ZXAgMjogQWRkIG92ZXJyaWRlIHRv" + - "IGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgpJbiB0aGUgZXhhbXBsZXMg" + - "YmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0" + - "b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRy" + - "YQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVz" + - "cGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0g" + - "Li4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + - "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAg" + - "ICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAg" + - "ICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAg" + - "Y3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgojIyMgU3RlcCAzOiBWZXJp" + - "ZnkgYW5kIGFwcGx5CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWFmdGVyLnlhbWwKZGlmZiAv" + - "dG1wL2Nhc3MtYmVmb3JlLnlhbWwgL3RtcC9jYXNzLWFmdGVyLnlhbWwgICMgQ29uZmlybSByZXNv" + - "dXJjZXMgY2hhbmdlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWNhc3NhbmRyYSBzeW5jCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCAoYSBCaXRuYW1pIGZl" + - "YXR1cmUpIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hh" + - "cnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYCBpbnN0ZWFkLgoKLS0tCgojIyBFeGFtcGxlIDI6" + - "IERlcGxveSBmcm9tIE5HQyBQcml2YXRlIFJlZ2lzdHJ5IHdpdGggUHVsbCBTZWNyZXRzCgpEZXBs" + - "b3kgdGhlIE5WQ0Ygc3RhY2sgcHVsbGluZyBpbWFnZXMgZGlyZWN0bHkgZnJvbSBOR0MgKGBudmNy" + - "LmlvYCkgaW5zdGVhZCBvZiBhIG1pcnJvcmVkIHJlZ2lzdHJ5LCB1c2luZyBpbWFnZSBwdWxsIHNl" + - "Y3JldHMuCgojIyMgU3RlcCAxOiBDb25maWd1cmUgZW52aXJvbm1lbnQgZm9yIE5HQwoKYGBgeWFt" + - "bAojIGVudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBoZWxtOgogICAgc291cmNlczoK" + - "ICAgICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKICBp" + - "bWFnZToKICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgpg" + - "YGAKCiMjIyBTdGVwIDI6IEF1dGhlbnRpY2F0ZSBsb2NhbGx5IChmb3IgaGVsbWZpbGUgY2hhcnQg" + - "cHVsbHMpCgpgYGBiYXNoCmRvY2tlciBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tlbicgLXAg" + - "IiROR0NfQVBJX0tFWSIKaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvIC11ICckb2F1dGh0b2tl" + - "bicgLXAgIiROR0NfQVBJX0tFWSIKYGBgCgojIyMgU3RlcCAzOiBDcmVhdGUgbmFtZXNwYWNlcyBh" + - "bmQgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFw" + - "aS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + - "Z2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgojIyMgU3RlcCA0OiBBZGQgaW1hZ2VQ" + - "dWxsU2VjcmV0cyB0byBoZWxtZmlsZSByZWxlYXNlcwoKQWRkIHRoZSBjaGFydC1zcGVjaWZpYyBg" + - "aW1hZ2VQdWxsU2VjcmV0c2Aga2V5IHRvIGVhY2ggcmVsZWFzZS4gRXhhbXBsZSBmb3IgY2Fzc2Fu" + - "ZHJhIGluIGBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGA6CgpgYGB5YW1s" + - "Ci0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRy" + - "YS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5" + - "CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUt" + - "dmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAg" + - "IC0gY2Fzc2FuZHJhOgogICAgICAgIGdsb2JhbDoKICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6" + - "CiAgICAgICAgICAgIC0gbnZjci1jcmVkcwpgYGAKClNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + - "dHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKSBmb3IgdGhlIGtleSBmb3IgZXZlcnkg" + - "Y2hhcnQuCgpUaGVzZSBhcmUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzLiBGb3IgYSBzZXBhcmF0" + - "ZSBjb21wdXRlIGNsdXN0ZXIsIGNyZWF0ZSB0aGUKc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + - "b3JgOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0bwpgbnZjYS1zeXN0ZW1gLiBT" + - "ZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUt" + - "cGxhbmUtaW5zdGFsbGF0aW9uLm1kI3B1bGwtc2VjcmV0cykuCgojIyMgU3RlcCA1OiBEZXBsb3kK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0ta3ViZS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IHN5bmMKYGBgCgojIyMgU3RlcCA2OiBQYXRjaCBTZXJ2aWNlQWNj" + - "b3VudHMgZm9yIGNoYXJ0cyB3aXRob3V0IG5hdGl2ZSBzdXBwb3J0CgpBZnRlciBQaGFzZSAxIChk" + - "ZXBlbmRlbmNpZXMpIGNvbXBsZXRlcywgT3BlbkJhbyBwb2RzIHdpbGwgYmUgaW4gYEltYWdlUHVs" + - "bEJhY2tPZmZgLiBQYXRjaCBhbmQgcmVzdGFydDoKCmBgYGJhc2gKZm9yIG5zIGluIHZhdWx0LXN5" + - "c3RlbSBudmNmIGVzczsgZG8KICBmb3Igc2EgaW4gJChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgc2EgLW4gIiRucyIgXAogICAgLS1uby1oZWFkZXJzIC1vIGN1" + - "c3RvbS1jb2x1bW5zPSI6bWV0YWRhdGEubmFtZSIpOyBkbwogICAga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gcGF0Y2ggc2VydmljZWFjY291bnQgLW4gIiRucyIgIiRz" + - "YSIgXAogICAgICAtcCAneyJpbWFnZVB1bGxTZWNyZXRzIjogW3sibmFtZSI6ICJudmNyLWNyZWRz" + - "In1dfScKICBkb25lCmRvbmUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZGVsZXRlIHBvZHMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKVmVyaWZ5OgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1u" + - "IHZhdWx0LXN5c3RlbSBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1" + - "bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCBpbWFnZSIgZnJvbSBudmNyLmlv" + - "CmBgYAoKLS0tCgojIyBFeGFtcGxlIDM6IEZ1bGwgVGVhcmRvd24gYW5kIFJlaW5zdGFsbAoKV2hl" + - "biBhIGRlcGxveW1lbnQgaXMgYnJva2VuIGFuZCB5b3UgbmVlZCBhIGNsZWFuIHNsYXRlLgoKIyMj" + - "IFN0ZXAgMTogRGVzdHJveSB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjawoKYGBgYmFzaAptYWtlIC1D" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFN" + - "RT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJ" + - "TEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpJZiBjb21wdXRlIGNsZWFudXAgaXMg" + - "c3R1Y2sgb24gZmluYWxpemVycywgdXNlIHRoZSBjb21wdXRlLWNvbnRleHQgcHJvY2VkdXJlIGlu" + - "CltkZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kI2ZhaWx1cmUtbnZjYS1jbGVh" + - "bnVwLXN0dWNrLWZpbmFsaXplcnMpLgoKIyMjIFN0ZXAgMjogRGVyZWdpc3RlciB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyCgpSZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbGAuClNob3cgdGhlIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBk" + - "ZWxldGluZyB0aGUgSUNNUyByb3c6CgpgYGBiYXNoCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZp" + - "Zz4gY2x1c3RlciBkZWxldGUgXAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lz" + - "dHJhdGlvbi12YWx1ZXM+IFwKICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2lu" + - "ZwpgYGAKClJlcGVhdCBzdGVwcyAxIGFuZCAyIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIuCgoj" + - "IyMgU3RlcCAzOiBEZXN0cm95IHRoZSBjb250cm9sLXBsYW5lIHN0YWNrCgpQcmVzZXJ2ZSB0aGUg" + - "YGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRp" + - "b24gZG9lcwpub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gQmVmb3JlIHJ1bm5pbmcgZGVz" + - "dHJveSwgaWRlbnRpZnkgd2hldGhlcgpjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuIEZvciBhbiBl" + - "eHRlcm5hbCBpbnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiBmYWxzZWAgYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZApzdGFj" + - "ay1tYW5hZ2VkIHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRy" + - "dWVgLCB2ZXJpZnkKbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZCBhYm9y" + - "dCBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQKZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2Ug" + - "cmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kCmdldHRpbmcg" + - "ZXhwbGljaXQgY29uZmlybWF0aW9uOyBvdGhlcndpc2UgZG8gbm90IGRlbGV0ZSBpdC4KCmBgYGJh" + - "c2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpQYXNzIGJvdGgg" + - "a3ViZWNvbmZpZyBmb3JtcyBiZWNhdXNlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGNsZWFudXAg" + - "dXNlcwphbWJpZW50IGBrdWJlY3RsYC4KCiMjIyBTdGVwIDQ6IFZlcmlmeSBjbGVhbgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAg" + - "Z3JlcCAtRSAnKG52Y2F8bnZjZi1iYWNrZW5kfGdyb3ZlfGR5bmFtbyknCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcoY2Fzc2Fu" + - "ZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBCb3RoIGNvbW1hbmRzIHNo" + - "b3VsZCByZXR1cm4gZW1wdHkuCmBgYAoKIyMjIFN0ZXAgNTogUmVpbnN0YWxsIGluIHNwbGl0IG9y" + - "ZGVyCgpGb2xsb3cgW0NsZWFuIEluc3RhbGxhdGlvbl0oU0tJTEwubWQjY2xlYW4taW5zdGFsbGF0" + - "aW9uKSwgdGhlbiByZXR1cm4gdG8gdGhlCnNhbWUgaGFuZG9mZiBpbiBbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQpLgoKLS0tCgojIyBFeGFtcGxlIDQ6IFJlY292ZXIgZnJvbSBhIEdhdGV3YXkgRW5kcG9pbnQg" + - "Q2hhbmdlCgpUaGUgc2VwYXJhdGVseSBwcm92aXNpb25lZCBHYXRld2F5IG9yIGl0cyBsb2FkIGJh" + - "bGFuY2VyIHdhcyByZWNyZWF0ZWQgYW5kIGdvdCBhIG5ldyBlbmRwb2ludC4KCiMjIyBTdGVwIDE6" + - "IEdldCB0aGUgbmV3IGVuZHBvaW50CgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3" + - "YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1sw" + - "XS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpgYGAKCiMjIyBTdGVwIDI6IFVwZGF0" + - "ZSBETlMgYW5kIGRpcmVjdCBhZGRyZXNzIGZpZWxkcwoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJv" + - "dXRlIGhvc3RuYW1lcywgYW5kIENMSSBIb3N0IGZpZWxkcyB1bmNoYW5nZWQuIFBvaW50IHRoZQpE" + - "TlMgcmVjb3JkcyBmb3IgcmVuZGVyZWQgcm91dGUgaG9zdG5hbWVzLCBzdWNoIGFzIGBhcGkuPGRv" + - "bWFpbj5gIGFuZApgKi5pbnZvY2F0aW9uLjxkb21haW4+YCwgdG8gYEdBVEVXQVlfQUREUmAuIEZv" + - "ciBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCB3aXRob3V0CkROUywga2VlcCBpdHMgcmVzZXJ2ZWQg" + - "cm91dGUgc3VmZml4IGFuZCBjb25uZWN0IHRvIGBHQVRFV0FZX0FERFJgIHdpdGggdGhlCm1hdGNo" + - "aW5nIGBIb3N0YCBoZWFkZXIuCgpGb3IgYSBzcGxpdCBkZXBsb3ltZW50IGNvbmZpZ3VyZWQgd2l0" + - "aCBkaXJlY3QgR2F0ZXdheSBhZGRyZXNzZXMsIHJlcGxhY2Ugb25seQp0aGUgYWRkcmVzcy1iZWFy" + - "aW5nIHZhbHVlczogY29udHJvbC1wbGFuZSBgbnZjZk5hdHNTZXJ2aWNlVVJMYCwgY29tcHV0ZS1w" + - "bGFuZQpJQ01TLCBSZVZhbCwgYW5kIE5BVFMgVVJMcywgYW5kIENMSSBVUkwgZmllbGRzLiBLZWVw" + - "IHRoZWlyIGRvbWFpbiBhbmQgSG9zdApvdmVycmlkZXMgdW5jaGFuZ2VkLiBSZWZyZXNoIHJlZ2lz" + - "dHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlIHNhbWUKaGFuZG9mZiB1c2VkIG9y" + - "aWdpbmFsbHkuIFNlZQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCmZvciB0aGUgZmllbGRzIGFuZCBjb21w" + - "bGV0ZSBjb21tYW5kcy4KCiMjIyBTdGVwIDM6IFZlcmlmeSBib3RoIGNvbnRleHRzCgpgYGBiYXNo" + - "CmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAi" + - "aHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3" + - "YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "aHR0cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgdGNwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVy" + - "YXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gLW4g" + - "bnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVzfSc9" + - "aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmBgYAoKLS0tCgojIyBFeGFtcGxlIDU6IERlcGxveSBPbmx5" + - "IERlcGVuZGVuY2llcwoKVXNlZnVsIGZvciB0ZXN0aW5nIG9yIHdoZW4gaXRlcmF0aW5nIG9uIHNl" + - "cnZpY2UgY29uZmlndXJhdGlvbi4KCmBgYGJhc2gKIyBEZXBsb3kganVzdCBOQVRTLCBDYXNzYW5k" + - "cmEsIE9wZW5CYW8KSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwoKIyBDaGVjayBzdGF0dXMKa3ViZWN0bCBnZXQgcG9k" + - "cyAtbiBuYXRzLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIGNhc3NhbmRyYS1zeXN0ZW0Ka3Vi" + - "ZWN0bCBnZXQgcG9kcyAtbiB2YXVsdC1zeXN0ZW0KCiMgRGVwbG95IGp1c3Qgb25lIHNwZWNpZmlj" + - "IHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgc3luYwpgYGAKCiMjIyBTZWxlY3RvciByZWZlcmVuY2UKCnwgU2VsZWN0b3IgfCBSZWxl" + - "YXNlcyB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5j" + - "aWVzYCB8IG5hdHMsIGNhc3NhbmRyYSwgb3BlbmJhby1zZXJ2ZXIgfAp8IGByZWxlYXNlLWdyb3Vw" + - "PXNlcnZpY2VzYCB8IGFwaS1rZXlzLCBzaXMsIGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBj" + - "LXByb3h5LCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSwgcmV2YWwsIG9wdGlvbmFsIGxsbS1yZXF1" + - "ZXN0LXJvdXRlciBhbmQgbGxtLWFwaS1nYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgLCBv" + - "cHRpb25hbCB2YW5pdHktZ2F0ZXdheSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + - "ZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy52YW5pdHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAs" + - "IG9wdGlvbmFsIG52Y2YtdWkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + - "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxs" + - "bS1yZXF1ZXN0LXJvdXRlcmAgfCBEZXBsb3kganVzdCB0aGUgTExNIHJlcXVlc3Qgcm91dGVyIHdo" + - "ZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tYXBpLWdhdGV3YXlgIHwgRGVwbG95" + - "IGp1c3QgdGhlIExMTSBBUEkgZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5h" + - "bWU9dmFuaXR5LWdhdGV3YXlgIHwgRGVwbG95IGp1c3QgVmFuaXR5IEdhdGV3YXkgb25seSB3aGVu" + - "IHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQgYGFkZG9ucy52YW5p" + - "dHlHYXRld2F5LmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPW52Y2YtdWlgIHwgRGVwbG95IE5WQ0Yg" + - "VUkgb25seSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoYXQgcmVsZWFzZSBhbmQg" + - "YGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2Ag" + - "fCBpbmdyZXNzIChnYXRld2F5IHJvdXRlcykgfAp8IGBuYW1lPTxyZWxlYXNlPmAgfCBBbnkgaW5k" + - "aXZpZHVhbCByZWxlYXNlIGJ5IG5hbWUgfAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgZG9l" + - "cyBub3QgaGF2ZSBhIHJlbGVhc2UtZ3JvdXAgbGFiZWwuIFRhcmdldCBpdCB3aXRoIGAtLXNlbGVj" + - "dG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCAJSTkB/KAAAfygAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAATAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3Jl" + - "ZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhIjIFNwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uCgpUaGUgY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBw" + - "bGFuZSBhcmUgc2VwYXJhdGUgc3RhY2tzLiBJbnN0YWxsIHRoZSBjb250cm9sCnBsYW5lIGZpcnN0" + - "LCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBDaG9vc2Ug" + - "b25lIGhhbmRvZmYKYmVsb3cgYW5kIHVzZSBpdCBmb3IgdGhlIGZ1bGwgbGlmZWN5Y2xlLiBEbyBu" + - "b3QgY29tYmluZSBhIENMSS1nZW5lcmF0ZWQgcHJvZmlsZQp3aXRoIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdy4KCiMjIENob29zZSBhIEhhbmRvZmYKCnwgRmxvdyB8IFNvdXJjZSBvZiBjb250cm9s" + - "LXBsYW5lIGVuZHBvaW50cyB8IFJlZ2lzdHJhdGlvbiBhcnRpZmFjdCB8CnwtLS0tLS18LS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Cnwg" + - "SGVsbWZpbGUgdmFsdWVzIHwgU2VwYXJhdGUgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + - "ZSBlbnZpcm9ubWVudCBmaWxlcyB8IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9y" + - "ZWdpc3RyYXRpb24vPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CnwgQ0xJIHByb2Zp" + - "bGUgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJv" + - "bC1wbGFuZS1wcm9maWxlLnlhbWxgIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAoKVGhl" + - "IENMSSBwcm9maWxlIGlzIG1hbmRhdG9yeSBmb3IgdGhlIENMSSBmbG93IGFuZCBtdXN0IG5vdCBi" + - "ZSBoYW5kLWF1dGhvcmVkLgpUaGUgSGVsbWZpbGUgZmxvdyBkb2VzIG5vdCBjb25zdW1lIGEgY29u" + - "dHJvbC1wbGFuZSBwcm9maWxlLgoKQ29tbWFuZHMgYmVsb3cgdXNlIG1vbm9yZXBvIHBhdGhzIGZy" + - "b20gdGhlIHJlcG9zaXRvcnkgcm9vdC4gT3BlcmF0b3JzIHVzaW5nCmV4dHJhY3RlZCBwYWNrYWdl" + - "cyBuZWVkIG1hdGNoaW5nLXZlcnNpb24gYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBhbmQKYG52" + - "Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgYnVuZGxlcy4gU3Vic3RpdHV0ZSB0aG9zZSBidW5kbGUg" + - "cm9vdHMgZm9yCmBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZGAgYW5kIGBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZWAuCgojIyBIZWxtZmlsZSBWYWx1ZXMgRmxvdwoKQ3JlYXRlIGJv" + - "dGggZW52aXJvbm1lbnQgZmlsZXMgYmVmb3JlIGluc3RhbGxhdGlvbjoKCi0gYGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sYCBmb3IgY29udHJvbC1wbGFu" + - "ZQogIHJlZ2lzdHJ5LCBkb21haW4sIEdhdGV3YXksIHJvdXRlcywgYW5kIHNlcnZpY2Ugc2V0dGlu" + - "Z3MuCi0gYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52" + - "Pi55YW1sYCBmb3IgY29tcHV0ZS1wbGFuZQogIHJlZ2lzdHJ5LCBwdWxsIHNlY3JldHMsIGFuZCBj" + - "b21wdXRlLXJlYWNoYWJsZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgdmFsdWVzLgoKRm9yIEVLUywg" + - "dXNlIHRoZSBjYW5vbmljYWwKW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5u" + - "dmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLgpUaGUgY29u" + - "dHJvbC1wbGFuZSBlbnZpcm9ubWVudCBrZWVwcyB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVy" + - "IGluCmBlbnZveS1nYXRld2F5LXN5c3RlbWAsIGF0dGFjaGVzIHJvdXRlcyB0byBgR2F0ZXdheS9u" + - "dmNmLWdhdGV3YXlgIGluCmBlbnZveS1nYXRld2F5YCwgYW5kIGVuYWJsZXMgdGhlIE5BVFMgcm91" + - "dGUuIFRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IHVzZXMKdGhlIGV4dGVybmFsIGFkZHJl" + - "c3MgcGx1cyB0aGUgc2VydmljZSBob3N0IG92ZXJyaWRlcy4gSGVyZSwKYDxnYXRld2F5LWFkZHJl" + - "c3M+YCBpcyB0aGUgTkxCIGFkZHJlc3MgYW5kIGA8Z2F0ZXdheS1kb21haW4+YCBpcyB0aGUgRE5T" + - "IGJhc2UKd2hvc2Ugc2VydmljZSBzdWJkb21haW5zIHJlc29sdmUgdG8gdGhhdCBOTEI6CgpgYGB5" + - "YW1sCiMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwK" + - "Z2xvYmFsOgogIGRvbWFpbjogIjxnYXRld2F5LWRvbWFpbj4iCiAgd29ya2VyRW5kcG9pbnRzOgog" + - "ICAgbnZjZlNlcnZpY2VVUkw6ICJodHRwOi8vYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNm" + - "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+IgogICAg" + - "bnZjZk5hdHNTZXJ2aWNlVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQyMjIiCiAgICBu" + - "dmN0U2VydmljZVVSTDogImh0dHA6Ly90YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjdEdy" + - "cGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+IgogICAg" + - "aW52b2NhdGlvblNlcnZpY2VVUkw6ICJodHRwOi8vaW52b2NhdGlvbi48Z2F0ZXdheS1kb21haW4+" + - "IgoKZ3JwY3Byb3h5OgogIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly9hcGkubnZjZi5zdmMu" + - "Y2x1c3Rlci5sb2NhbDo5MDkwIgoKaW5ncmVzczoKICBnYXRld2F5QXBpOgogICAgY29udHJvbGxl" + - "ck5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0ZW0KICAgIGdhdGV3YXlzOgogICAgICBzaGFy" + - "ZWQ6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAg" + - "Z3JwYzoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAg" + - "ICBuYXRzOgogICAgICAgIG5hbWU6IG52Y2YtZ2F0ZXdheQogICAgICAgIG5hbWVzcGFjZTogZW52" + - "b3ktZ2F0ZXdheQogICAgICAgIGxpc3RlbmVyTmFtZTogbmF0cwogICAgcm91dGVzOgogICAgICBu" + - "dmNmQXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBo" + - "b3N0bmFtZXM6IFsid29ya2VyLWFwaS48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbnZjdEFwaToK" + - "ICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5hbWVz" + - "OiBbIndvcmtlci10YXNrcy48Z2F0ZXdheS1kb21haW4+Il0KICAgICAgbmF0czoKICAgICAgICBl" + - "bmFibGVkOiB0cnVlCgpvcGVuYmFvOgogIG1pZ3JhdGlvbnM6CiAgICBpc3N1ZXJEaXNjb3Zlcnk6" + - "CiAgICAgIGVuYWJsZWQ6IHRydWUKYGBgCgpgYGB5YW1sCiMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIG52Y2FPcGVyYXRv" + - "cjoKICAgIHNlbGZNYW5hZ2VkOgogICAgICBpY21zU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPiIKICAgICAgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJzaXMuPGdh" + - "dGV3YXktZG9tYWluPiIKICAgICAgcmV2YWxTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+IgogICAgICByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGU6ICJyZXZhbC48Z2F0" + - "ZXdheS1kb21haW4+IgogICAgICBuYXRzVVJMOiAibmF0czovLzxnYXRld2F5LWFkZHJlc3M+OjQy" + - "MjIiCiAgICAgIG5hdHNIb3N0T3ZlcnJpZGU6ICJuYXRzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoK" + - "UHJldmlldyBhbmQgaW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZSBhZ2FpbnN0IGl0cyBjb250ZXh0" + - "OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIHRlbXBsYXRlIFwK" + - "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1r" + - "dWJlY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBpbnN0YWxsIFwK" + - "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1r" + - "dWJlY29uZmlnPgpgYGAKCkJlZm9yZSByZWdpc3RlcmluZyB0aHJvdWdoIGEgYmFyZSBHYXRld2F5" + - "IGFkZHJlc3MsIGNyZWF0ZSBvciB1cGRhdGUgdGhlIENMSQpjb25maWcgcGFzc2VkIGFzIGBOVkNG" + - "X0NMSV9DT05GSUdgOgoKYGBgeWFtbApiYXNlX2h0dHBfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+IgppbnZva2VfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgpiYXNlX2dycGNf" + - "dXJsOiAiPGdhdGV3YXktYWRkcmVzcz46MTAwODEiCmFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+IgppY21zX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKYXBpX2hvc3Q6ICJhcGkuPGdhdGV3YXktZG9tYWluPiIKYXBpX2tleXNfaG9zdDogImFwaS1r" + - "ZXlzLjxnYXRld2F5LWRvbWFpbj4iCmludm9rZV9ob3N0OiAiaW52b2NhdGlvbi48Z2F0ZXdheS1k" + - "b21haW4+IgppY21zX2hvc3Q6ICJzaXMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpIb3N0IGZpZWxk" + - "cyBjb250YWluIGhvc3RuYW1lcyBvbmx5LCB3aXRob3V0IGEgVVJMIHNjaGVtZS4gYElDTVNfVVJM" + - "YCBtYXBzIG9ubHkKdG8gdGhlIHJlZ2lzdHJhdGlvbiBjb21tYW5kJ3MgYC0taWNtcy11cmxgOyBg" + - "aWNtc19ob3N0YCBpbiB0aGUgY29uZmlnIHN1cHBsaWVzCnRoZSBHYXRld2F5IEhvc3QgaGVhZGVy" + - "LiBUaGVyZSBpcyBubyBgLS1pY21zLWhvc3RgIE1ha2Ugb3IgQ0xJIGZsYWcuCgpSZWdpc3RlciBm" + - "cm9tIHRoZSBjb21wdXRlIGNvbnRleHQsIHRoZW4gaW5zdGFsbCB0aGUgY29tcHV0ZSBwbGFuZToK" + - "CmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + - "ci1jbHVzdGVyIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIE5DQV9JRD08bmNh" + - "LWlkPiBcCiAgQ0xVU1RFUl9SRUdJT049PHJlZ2lvbj4gXAogIElDTVNfVVJMPWh0dHA6Ly88Z2F0" + - "ZXdheS1hZGRyZXNzPiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25m" + - "aWc+IFwKICBOVkNGX0NMST08cGF0aC10by1udmNmLWNsaT4gXAogIE5WQ0ZfQ0xJX0NPTkZJRz08" + - "cGF0aC10by1udmNmLWNsaS1jb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + - "bmZpZz4KYGBgCgpSZWdpc3RyYXRpb24gZGlzY292ZXJzIHRoZSBPSURDIGlzc3VlciBhbmQgSldL" + - "UyBmcm9tIHRoZSBjb21wdXRlIGt1YmUgY29udGV4dC4KSW4gYSBtdWx0aS1jbHVzdGVyIGRlcGxv" + - "eW1lbnQsIGBLVUJFQ09ORklHX0ZJTEVgIGlzIHJlcXVpcmVkIG9uIGJvdGgKY29tcHV0ZS1wbGFu" + - "ZSBjb21tYW5kcy4gSW4gYSBzYW1lLWNsdXN0ZXIgZGVwbG95bWVudCBpdCBtYXkgYmUgb21pdHRl" + - "ZCBvbmx5CndoZW4gdGhlIGFtYmllbnQgY29udGV4dCBpcyBhbHJlYWR5IHRoZSB0YXJnZXQgY2x1" + - "c3Rlci4KCiMjIENMSSBQcm9maWxlIEZsb3cKClJ1biB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5z" + - "dGFsbCBmaXJzdC4gSXQgY3JlYXRlcyB0aGUgcHJvZmlsZSBjb25zdW1lZCBieQpjb21wdXRlLXBs" + - "YW5lIHJlZ2lzdHJhdGlvbjoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2Vs" + - "Zi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBcCiAg" + - "LS1jbHVzdGVyLW5hbWUgPGNvbnRyb2wtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1yZWdpb24g" + - "PHJlZ2lvbj4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+Cgp0ZXN0IC1zIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbApgYGAKClVzZSB0aGUgZnVs" + - "bCBwZXJzaXN0ZW50IHByZWZpeCBmb3IgYm90aCBjb21wdXRlLXBsYW5lIGNvbW1hbmRzOgoKYGBg" + - "YmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + - "IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZSBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1w" + - "cm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFt" + - "ZT4gXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLXJlZ2lv" + - "biA8cmVnaW9uPiBcCiAgLS1vdXRwdXQgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "b3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwKCm52" + - "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + - "cGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgLS12YWx1ZXMgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0Lzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4tcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWwgXAogIC0ta3ViZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+CmBgYAoK" + - "UmVnaXN0cmF0aW9uIHNlbGVjdHMgdGhlIHByb2ZpbGUncyBpbi1jbHVzdGVyIG9yIGNvbXB1dGUt" + - "cmVhY2hhYmxlIGVuZHBvaW50cwpmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQgYW5kIHByb2JlcyBp" + - "dHMgSldLUy4gRG8gbm90IHJlcGxhY2UgcHJvZmlsZSBlbmRwb2ludHMKd2l0aCBoYW5kLWF1dGhv" + - "cmVkIEhlbG1maWxlIGVuZHBvaW50IHZhbHVlcy4KCiMjIFB1bGwgU2VjcmV0cwoKQ3JlYXRlIHRo" + - "ZSBjb250cm9sLXBsYW5lIHNlY3JldCBpbiB0aGVzZSBuYW1lc3BhY2VzIG9uIHRoZSBjb250cm9s" + - "LXBsYW5lCmNvbnRleHQ6CgpgYGB0ZXh0CmNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXIKYGBgCgpPbiB0aGUg" + - "Y29tcHV0ZSBjb250ZXh0LCBjcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9y" + - "YCBhbmQgcmVmZXJlbmNlCml0IHRocm91Z2ggYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBpbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudC4gVGhlIGNoYXJ0CmFuZCBvcGVyYXRvciB1c2Ug" + - "aXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8g" + - "bm90IGFkZAplaXRoZXIgbmFtZXNwYWNlIHRvIHRoZSBjb250cm9sLXBsYW5lIGxpc3QuIEZvciBj" + - "b21tYW5kcyBhbmQgcG9saWN5IGV4YW1wbGVzLApzZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + - "ZWNyZXRzLm1kKS4KCiMjIFZlcmlmaWNhdGlvbgoKVXNlIHRoZSBleHBsaWNpdCBHYXRld2F5IG5h" + - "bWUgYW5kIG5hbWVzcGFjZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5" + - "IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + - "cHJvdXRlIC1uIGVudm95LWdhdGV3YXkKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBu" + - "dmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRT" + - "dGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCA8cHVsbC1zZWNyZXQ+IC1uIG52Y2Etc3lzdGVtCmBg" + - "YAoKIyMgVGVhcmRvd24KCkRlc3Ryb3kgYW5kIGRlcmVnaXN0ZXIgZXZlcnkgY29tcHV0ZSBwbGFu" + - "ZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUuIEJvdGgKaGFuZG9mZnMgY2FuIGRlc3Ryb3kgdGhl" + - "IGNvbnRyb2wgcGxhbmUsIHNvIGFwcGx5IHRoaXMgcHJlZmxpZ2h0IGJlZm9yZSBlaXRoZXIKb25l" + - "LiBQcmVzZXJ2ZSB0aGUgYGNlcnQtbWFuYWdlcmAgbmFtZXNwYWNlIGJ5IGRlZmF1bHQuIE5hbWVz" + - "cGFjZSBwcmVzZXJ2YXRpb24KZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gSWRl" + - "bnRpZnkgd2hldGhlciBjZXJ0LW1hbmFnZXIgaXMgZXh0ZXJuYWwuCkZvciBhbiBleHRlcm5hbCBp" + - "bnN0YWxsYXRpb24sIHJlcXVpcmUgZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxz" + - "ZWAKYW5kIGFib3J0IGlmIGl0IGlzIHRydWUuIEZvciBhbiBpbnRlbmRlZCBzdGFjay1tYW5hZ2Vk" + - "IHJlbGVhc2Ugd2l0aCBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLCB2ZXJp" + - "ZnkgbWF0Y2hpbmcgc3RhY2sgSGVsbSByZWxlYXNlIG1ldGFkYXRhIGFuZAphYm9ydCBvbiBtaXNz" + - "aW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIE9ubHkgcGxhbiBuYW1lc3BhY2UgcmVtb3ZhbCBh" + - "ZnRlcgp2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uOyBvdGhlcndpc2UKZG8gbm90IGRlbGV0ZSBpdC4KCkZvciB0aGUgSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3csIHJldGFpbiBlYWNoIHJlZ2lzdHJhdGlvbiB2YWx1ZXMgZmlsZSB1bnRp" + - "bApjbGVhbnVwIGlzIHZlcmlmaWVkOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIGRlc3Ryb3kgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBc" + - "CiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUt" + - "a3ViZWNvbmZpZz4KCjxudmNmLWNsaT4gLS1jb25maWcgPGNvbmZpZz4gY2x1c3RlciBkZWxldGUg" + - "XAogIC0tY2x1c3Rlci1pZCA8Y2x1c3Rlci1pZC1mcm9tLXJlZ2lzdHJhdGlvbi12YWx1ZXM+IFwK" + - "ICAtLW5jYS1pZCA8bmNhLWlkPiBcCiAgLS1pZ25vcmUtbWlzc2luZwpgYGAKClJlYWQgYGNsdXN0" + - "ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "cmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0" + - "aGUgZXhhY3QgY2x1c3RlciBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgYGNsdXN0ZXIg" + - "ZGVsZXRlYC4gUmVwZWF0CmNvbXB1dGUgZGVzdHJveSBhbmQgZGVyZWdpc3RyYXRpb24gZm9yIGV2" + - "ZXJ5IGNvbXB1dGUgY2x1c3RlciwgdGhlbiBkZXN0cm95IHRoZQpjb250cm9sIHBsYW5lLgoKYGBg" + - "YmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCkJvdGggYEtV" + - "QkVDT05GSUdgIGFuZCBgS1VCRUNPTkZJR19GSUxFYCBhcmUgcmVxdWlyZWQgb24gdGhlIGNvbnRy" + - "b2wtcGxhbmUKZGVzdHJveSBiZWNhdXNlIGl0cyBuYW1lc3BhY2UgY2xlYW51cCB1c2VzIGFtYmll" + - "bnQgYGt1YmVjdGxgLgoKRm9yIHRoZSBDTEkgcHJvZmlsZSBmbG93LCBrZWVwCmBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgCnVudGlsIHRlYXJkb3duIGNvbXBsZXRlcyBiZWNhdXNlIGBkb3duYCByZWFkcyBpdHMg" + - "Y2x1c3RlciBJRC4gRmlyc3QgcXVlcnkgdGhlCmxpdmUgcmVnaXN0cmF0aW9uIHNldCB3aXRoIHRo" + - "ZSBzYW1lIGNvbXBsZXRlIHBlcnNpc3RlbnQgcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNv" + - "bmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAt" + - "LWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwg" + - "PGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFt" + - "ZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAK" + - "ClNob3cgdGhlIHJlZ2lzdGVyZWQgY29tcHV0ZS1wbGFuZSBsaXN0LiBOYW1lZC1jbHVzdGVyIGBk" + - "b3duIC0tcGxhbi1vbmx5YCBkb2VzCm5vdCBxdWVyeSBJQ01TLCBzbyBpdCBwcmV2aWV3cyBvbmx5" + - "IHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQgY2Fubm90IHNob3cgdGhlCmNvbmRpdGlvbmFsIGNvbnRy" + - "b2wtcGxhbmUgcmVtb3ZhbC4gSWYgdGhlIHRhcmdldCBpcyB0aGUgbGFzdCByZWdpc3RlcmVkCmNs" + - "dXN0ZXIsIHJlYWwgYGRvd25gIGFsc28gZGVzdHJveXMgdGhlIGNvbnRyb2wgcGxhbmUuIEdldCBl" + - "eHBsaWNpdCBjb25maXJtYXRpb24KZm9yIGJvdGggcmVtb3ZhbHMgYmVmb3JlIGNvbnRpbnVpbmcu" + - "IFRoZW4gcHJldmlldyBhbmQgZXhlY3V0ZSB3aXRoIHRoZSBzYW1lCnByZWZpeDoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIGRvd24gLS1wbGFu" + - "LW9ubHkgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + - "IC0tbmNhLWlkIDxuY2EtaWQ+CgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + - "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMt" + - "dXJsPiBcCiAgZG93biBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpSZXBlYXQgYGRvd25gIGZvciBlYWNoIGNv" + - "bXB1dGUgY2x1c3Rlci4gRWFjaCBydW4gZGVzdHJveXMgdGhhdCBjb21wdXRlIHBsYW5lIGFuZAp1" + - "bnJlZ2lzdGVycyBpdHMgSUNNUyByb3cuIEl0IHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + - "eSBhZnRlciBubyBjbHVzdGVyCnJlZ2lzdHJhdGlvbnMgcmVtYWluLgpQSwcIlmO8WRIwAAASMAAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA7AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhIjIERlYnVnZ2luZyBSZWZl" + - "cmVuY2UKClJlY2lwZXMgZm9yIGRpYWdub3NpbmcgYW5kIGZpeGluZyBjb21tb24gTlZDRiBzZWxm" + - "LW1hbmFnZWQgc3RhY2sgZmFpbHVyZXMuCgojIyBRdWljayBTdGF0dXMgQ29tbWFuZHMKCmBgYGJh" + - "c2gKIyBBbGwgcG9kcyBhY3Jvc3MgYWxsIG5hbWVzcGFjZXMKa3ViZWN0bCBnZXQgcG9kcyAtQSAt" + - "byB3aWRlCgojIFBvZHMgaW4gYSBzcGVjaWZpYyBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgcG9kcyAt" + - "biA8bmFtZXNwYWNlPgoKIyBBbGwgaGVsbSByZWxlYXNlcwpoZWxtIGxpc3QgLUEKCiMgUmVjZW50" + - "IGV2ZW50cyAobW9zdCB1c2VmdWwgZm9yIGRpYWdub3NpbmcgZmFpbHVyZXMpCmt1YmVjdGwgZ2V0" + - "IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJwoKIyBEZXNj" + - "cmliZSBhIHNwZWNpZmljIHBvZCAoc2hvd3MgZXZlbnRzLCBjb25kaXRpb25zLCB2b2x1bWVzKQpr" + - "dWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+CmBgYAoKIyMgRmFp" + - "bHVyZTogSW1hZ2VQdWxsQmFja09mZgoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAg" + - "ICAgIFJFQURZICAgU1RBVFVTICAgICAgICAgICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0w" + - "ICAgIDAvMSAgICAgSW1hZ2VQdWxsQmFja09mZiAgIDAgICAgICAgICAgNW0KYGBgCgpFdmVudHMg" + - "c2hvdzoKCmBgYHRleHQKRmFpbGVkIHRvIHB1bGwgaW1hZ2UgIm52Y3IuaW8vLi4uL2ltYWdlOnRh" + - "ZyI6IDQwMSBVbmF1dGhvcml6ZWQKYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sg" + - "d2hhdCBpbWFnZSBpcyBmYWlsaW5nCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+" + - "IDxwb2QtbmFtZT4gfCBncmVwIC1BNSAiRXZlbnRzOiIKCiMgQ2hlY2sgaWYgcHVsbCBzZWNyZXQg" + - "ZXhpc3RzIGluIHRoZSBuYW1lc3BhY2UKa3ViZWN0bCBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4g" + - "PG5hbWVzcGFjZT4KCiMgQ2hlY2sgaWYgdGhlIHBvZCBzcGVjIGhhcyBpbWFnZVB1bGxTZWNyZXRz" + - "Cmt1YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7" + - "LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCgojIENoZWNrIGlmIHRoZSBTZXJ2aWNlQWNjb3VudCBo" + - "YXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJlY3RsIGdldCBzYSA8c2EtbmFtZT4gLW4gPG5hbWVzcGFj" + - "ZT4gLW8ganNvbnBhdGg9J3suaW1hZ2VQdWxsU2VjcmV0c30nCmBgYAoKIyMjIEZpeGVzCgoxLiAq" + - "KlNlY3JldCBtaXNzaW5nIGluIG5hbWVzcGFjZSoqOiBDcmVhdGUgaXQKCiAgIGBgYGJhc2gKICAg" + - "a3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgICAt" + - "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgIC0tbmFt" + - "ZXNwYWNlPTxuYW1lc3BhY2U+IFwKICAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJl" + - "Y3RsIGFwcGx5IC1mIC0KICAgYGBgCgoyLiAqKlNlY3JldCBleGlzdHMgYnV0IHBvZCBkb2Vzbid0" + - "IHJlZmVyZW5jZSBpdCoqOiBUaGUgY2hhcnQgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIGNvbmZp" + - "Z3VyZWQgdmlhIGhlbG1maWxlIHZhbHVlcy4gU2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2Vj" + - "cmV0cy5tZCkuCgozLiAqKkNoYXJ0IGRvZXNuJ3Qgc3VwcG9ydCBpbWFnZVB1bGxTZWNyZXRzKiog" + - "KG9wZW5iYW8sIGludm9jYXRpb24tc2VydmljZSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UpOiBQ" + - "YXRjaCBTZXJ2aWNlQWNjb3VudHMgYW5kIHJlc3RhcnQgcG9kcy4gU2VlIFtwdWxsLXNlY3JldHMu" + - "bWRdKHB1bGwtc2VjcmV0cy5tZCkuCgo0LiAqKldyb25nIGNyZWRlbnRpYWxzIGluIHNlY3JldCoq" + - "OiBEZWxldGUgYW5kIHJlY3JlYXRlCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZGVsZXRlIHNlY3Jl" + - "dCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CiAgICMgUmVjcmVhdGUgd2l0aCBjb3JyZWN0IGNy" + - "ZWRlbnRpYWxzCiAgIGBgYAoKIyMgRmFpbHVyZTogSW5pdDowLzEgU3R1Y2sgKFZhdWx0IEFnZW50" + - "KQoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlIHBvZHMgc3R1Y2sgaW4gYEluaXQ6MC8xYCBmb3IgbWlu" + - "dXRlczoKCmBgYGJhc2gKTkFNRSAgICAgICAgICAgICAgICAgICAgICAgIFJFQURZICAgU1RBVFVT" + - "ICAgICBSRVNUQVJUUyAgIEFHRQpudmNmLWFwaS03ZjRjNzZmNzg4LTQ0dmx0ICAwLzIgICAgIElu" + - "aXQ6MC8xICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpUaGUgaW5pdCBjb250" + - "YWluZXIgaXMgdGhlIHZhdWx0LWFnZW50LWluaXQgaW5qZWN0b3Igd2FpdGluZyBmb3IgT3BlbkJh" + - "by4KCmBgYGJhc2gKIyBDaGVjayBPcGVuQmFvIHBvZHMKa3ViZWN0bCBnZXQgcG9kcyAtbiB2YXVs" + - "dC1zeXN0ZW0KCiMgQ2hlY2sgaWYgT3BlbkJhbyBtaWdyYXRpb24gam9iIHJhbgprdWJlY3RsIGdl" + - "dCBqb2JzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBPcGVuQmFvIHBvZCBsb2dzCmt1YmVjdGwg" + - "bG9ncyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVuYmFvCgojIENoZWNr" + - "IGluaXQgY29udGFpbmVyIGxvZ3Mgb24gdGhlIHN0dWNrIHBvZAprdWJlY3RsIGxvZ3MgLW4gPG5h" + - "bWVzcGFjZT4gPHBvZC1uYW1lPiAtYyB2YXVsdC1hZ2VudC1pbml0CmBgYAoKIyMjIEZpeGVzCgox" + - "LiAqKk9wZW5CYW8gcG9kcyBub3QgcnVubmluZyoqOiBDaGVjayB0aGVpciBldmVudHMgZm9yIGlt" + - "YWdlIHB1bGwgaXNzdWVzLCByZXNvdXJjZSBpc3N1ZXMsIGV0Yy4KCjIuICoqT3BlbkJhbyBtaWdy" + - "YXRpb24gam9iIGRpZG4ndCBydW4qKjogVGhpcyBoYXBwZW5zIHdoZW4gYGhlbG1maWxlIHN5bmNg" + - "IHdhcyBpbnRlcnJ1cHRlZC4gRGVzdHJveSBhbmQgcmUtc3luYyBvcGVuYmFvOgoKICAgYGBgYmFz" + - "aAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8t" + - "c2VydmVyIGRlc3Ryb3kKICAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQog" + - "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgICMgUmUtY3JlYXRlIHB1" + - "bGwgc2VjcmV0IGlmIG5lZWRlZAogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgozLiAqKk9wZW5CYW8gcG9kcyBy" + - "dW5uaW5nIGJ1dCBub3QgaW5pdGlhbGl6ZWQqKjogQ2hlY2sgdW5zZWFsIHN0YXR1czoKCiAgIGBg" + - "YGJhc2gKICAga3ViZWN0bCBleGVjIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1j" + - "IG9wZW5iYW8gLS0gYmFvIHN0YXR1cwogICBgYGAKCjQuICoqYHZhdWx0LWFnZW50LWluaXRgIGxv" + - "Z3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5" + - "IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCoqCiAgIChjb21tb24gb24gQUtTLCBhbmQg" + - "b24gYW55IGNsdXN0ZXIgd2hvc2UgT0lEQyBpc3N1ZXIgcHVibGlzaGVzIGEgcm90YXRpbmcgbXVs" + - "dGkta2V5IEpXS1MpOgogICB0aGUgT3BlbkJhbyBgYXV0aC9qd3RgIG1ldGhvZCB3YXMgY29uZmln" + - "dXJlZCB3aXRoIGEgc2luZ2xlIHN0YXRpYyBtb3VudGVkIHB1YmxpYyBrZXkKICAgKGBqd3RfdmFs" + - "aWRhdGlvbl9wdWJrZXlzYCkgaW5zdGVhZCBvZiB0aGUgaXNzdWVyJ3MgbGl2ZSBKV0tTLCBzbyBp" + - "dCBjYW5ub3QgdmFsaWRhdGUgdGhlCiAgIGNsdXN0ZXItc2lnbmVkIFNlcnZpY2VBY2NvdW50IHRv" + - "a2VucyB0aGUgdmF1bHQtYWdlbnRzIHByZXNlbnQuIEV2ZXJ5IHNlcnZpY2UncwogICBgdmF1bHQt" + - "YWdlbnQtaW5pdGAgdGhlbiBsb29wcyBvbiB0aGF0IDQwMCBhbmQgdGhlIHBvZCBuZXZlciBsZWF2" + - "ZXMgYEluaXQ6MC8xYC4gVGhpcyBpcyB0aGUKICAgYmVoYXZpb3Igb2YgdGhlIGJhc2UgZGVmYXVs" + - "dCBgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkOiBmYWxzZWA7IHRo" + - "ZQogICBtaWdyYXRpb24gbG9nIHNob3dzIGBPSURDIGlzc3VlciBkaXNjb3ZlcnkgaXMgZGlzYWJs" + - "ZWQuIFVzaW5nIFNlcnZpY2VBY2NvdW50IGlzc3VlciBhbmQKICAgbW91bnRlZCBwdWJsaWMga2V5" + - "IGZhbGxiYWNrYC4gRW5hYmxlIGlzc3VlciBkaXNjb3Zlcnkgc28gdGhlIG1pZ3JhdGlvbiB1c2Vz" + - "IHRoZSBsaXZlIEpXS1MsCiAgIHRoZW4gcmUtcnVuIGl0OgoKICAgYGBgYmFzaAogICAjIEluIHlv" + - "dXIgZW52IHZhbHVlcyAoZS5nLiBlbnZpcm9ubWVudHMvPGVudj4ueWFtbCksIHNldDoKICAgIyAg" + - "IG9wZW5iYW86CiAgICMgICAgIG1pZ3JhdGlvbnM6CiAgICMgICAgICAgaXNzdWVyRGlzY292ZXJ5" + - "OgogICAjICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICBrdWJlY3RsIGRlbGV0ZSBqb2IgLW4gdmF1" + - "bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnMKICAgSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKICAg" + - "VGhlIG1pZ3JhdGlvbiBsb2cgc2hvdWxkIHRoZW4gc2hvdyBgUmVjZWl2ZWQgZGlzY292ZXJ5IGRv" + - "Y3VtZW50IGZyb20KICAgLi4uLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCBhbmQg" + - "YEZpbmFsIE9wZW5CYW8gSldUIEpXS1MgVVJMIHNldCB0bzoKICAgLi4uL29wZW5pZC92MS9qd2tz" + - "YCwgYW5kIHRoZSBzZXJ2aWNlIHBvZHMgYXV0aGVudGljYXRlIGFuZCByZWFjaCBSZWFkeSB3aXRo" + - "aW4gfjEgbWluLgogICBBS1MgY2x1c3RlcnMgd2l0aCB0aGUgY2x1c3RlciBPSURDIGlzc3VlciBl" + - "bmFibGVkICh0aGUgYGFrcy1jbHVzdGVyYCBkZWZhdWx0KSBhbHdheXMgbmVlZAogICB0aGlzIGJl" + - "Y2F1c2UgdGhlIHN0YXRpYy1wdWJrZXkgZmFsbGJhY2sgY2Fubm90IG1hdGNoIHRoZSBpc3N1ZXIn" + - "cyByb3RhdGluZyBzaWduaW5nIGtleXMuCgojIyBGYWlsdXJlOiBPT01LaWxsZWQgb24gQ2Fzc2Fu" + - "ZHJhCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAg" + - "ICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgT09NS2lsbGVkICAzICAgICAg" + - "ICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAprdWJlY3RsIGRlc2NyaWJlIHBvZCAt" + - "biBjYXNzYW5kcmEtc3lzdGVtIGNhc3NhbmRyYS0wIHwgZ3JlcCAtQTMgIkxhc3QgU3RhdGUiCmBg" + - "YAoKIyMjIEZpeAoKT3ZlcnJpZGUgQ2Fzc2FuZHJhIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgdmFs" + - "dWVzLiBTZWUgRXhhbXBsZSAxIGluCltleGFtcGxlcy5tZF0oLi4vZXhhbXBsZXMubWQpLgoKYGBg" + - "eWFtbAotIGNhc3NhbmRyYToKICAgIHJlc291cmNlczoKICAgICAgbGltaXRzOgogICAgICAgIGNw" + - "dTogIjgiCiAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgcmVxdWVzdHM6CiAgICAgICAgY3B1" + - "OiAiMiIKICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAg" + - "aXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNl" + - "IGV4cGxpY2l0IGByZXNvdXJjZXNgLgoKIyMgRmFpbHVyZTogUG9kcyBTdHVjayBpbiBQZW5kaW5n" + - "CgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICBS" + - "RVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgIDAvMSAgICAgUGVuZGluZyAgIDAgICAgICAgICAg" + - "MTBtCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGV2ZW50cyBmb3Igc2NoZWR1" + - "bGluZyBmYWlsdXJlcwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5h" + - "bWU+CgojIENvbW1vbiBjYXVzZXM6CiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBu" + - "b2RlKHMpIGRpZG4ndCBtYXRjaCBQb2QncyBub2RlIGFmZmluaXR5IgojIC0gIjAvMTIgbm9kZXMg" + - "YXJlIGF2YWlsYWJsZTogMTIgSW5zdWZmaWNpZW50IG1lbW9yeSIKIyAtICJwZXJzaXN0ZW50dm9s" + - "dW1lY2xhaW0gbm90IGZvdW5kIgpgYGAKCiMjIyBGaXhlcwoKMS4gKipOb2RlIHNlbGVjdG9yIG1p" + - "c21hdGNoKio6IENoZWNrIGBub2RlU2VsZWN0b3JzYCBpbiBlbnZpcm9ubWVudCBmaWxlCgogICBg" + - "YGBiYXNoCiAgIGt1YmVjdGwgZ2V0IG5vZGVzIC0tc2hvdy1sYWJlbHMgfCBncmVwIG52Y2YKICAg" + - "YGBgCgoyLiAqKlN0b3JhZ2UgY2xhc3Mgbm90IGZvdW5kKio6IENoZWNrIHN0b3JhZ2UgY2xhc3Mg" + - "ZXhpc3RzCgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZ2V0IHN0b3JhZ2VjbGFzcwogICBgYGAKCjMu" + - "ICoqSW5zdWZmaWNpZW50IHJlc291cmNlcyoqOiBDaGVjayBub2RlIGNhcGFjaXR5CgogICBgYGBi" + - "YXNoCiAgIGt1YmVjdGwgZGVzY3JpYmUgbm9kZSA8bm9kZS1uYW1lPiB8IGdyZXAgLUE1ICJBbGxv" + - "Y2F0ZWQgcmVzb3VyY2VzIgogICBgYGAKCiMjIEZhaWx1cmU6IEhlbG0gUmVsZWFzZSBpbiBGYWls" + - "ZWQgU3RhdGUKCiMjIyBTeW1wdG9tcwoKYGBgYmFzaApoZWxtIGxpc3QgLUEKIyBTaG93cyByZWxl" + - "YXNlIHdpdGggU1RBVFVTOiBmYWlsZWQKYGBgCgpSZS1ydW5uaW5nIGBoZWxtZmlsZSBzeW5jYCBh" + - "cHBlYXJzIHRvIHN1Y2NlZWQgYnV0IHNlcnZpY2VzIGRvbid0IHdvcmsgKG1pZ3JhdGlvbnMgc2tp" + - "cHBlZCkuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmhlbG0gaGlzdG9yeSA8cmVsZWFzZS1uYW1l" + - "PiAtbiA8bmFtZXNwYWNlPgpgYGAKCiMjIyBGaXgKCk11c3QgZGVzdHJveSB0aGUgZmFpbGVkIHJl" + - "bGVhc2UgYW5kIHJlLXN5bmMgKG5vdCBqdXN0IGFwcGx5KToKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gZGVzdHJveQojIElmIG5h" + - "bWVzcGFjZSBuZWVkcyBjbGVhbnVwOgprdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgPG5hbWVzcGFj" + - "ZT4Ka3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+CiMgUmUtY3JlYXRlIHB1bGwg" + - "c2VjcmV0IGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPTxyZWxlYXNlPiBzeW5jCmBgYAoKIyMgRmFpbHVyZTogQWNjb3VudCBCb290c3RyYXAgSm9i" + - "IEZhaWxlZAoKIyMjIFN5bXB0b21zCgpTZXJ2aWNlcyBkZXBsb3kgYnV0IGZ1bmN0aW9ucyBjYW4n" + - "dCBiZSBjcmVhdGVkLiBFdmVudHMgc2hvdyBib290c3RyYXAgam9iIGZhaWx1cmUuCgojIyMgRGlh" + - "Z25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgYm9vdHN0cmFwIGpvYiBzdGF0dXMKa3ViZWN0bCBnZXQg" + - "am9icyAtbiBudmNmCgojIEdldCBsb2dzIChqb2IgYXV0by1kZWxldGVzIGFmdGVyIH41IG1pbnV0" + - "ZXMpCmt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZgoK" + - "IyBDaGVjayBBUEkgbG9ncwprdWJlY3RsIGxvZ3MgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + - "by9uYW1lPW52Y2YtYXBpIC0tdGFpbD0xMDAKYGBgCgojIyMgQ29tbW9uIENhdXNlcwoKMS4gKipX" + - "cm9uZyBiYXNlNjQgY3JlZGVudGlhbHMqKjogQ3JlZGVudGlhbHMgaW4gYHNlY3JldHMvPGVudj4t" + - "c2VjcmV0cy55YW1sYCBtdXN0IGJlIGAkb2F1dGh0b2tlbjpBUElfS0VZYCBiYXNlNjQtZW5jb2Rl" + - "ZCwgbm90IGp1c3QgdGhlIEFQSSBrZXkKCiAgIGBgYGJhc2gKICAgIyBWZXJpZnkgeW91ciBlbmNv" + - "ZGVkIGNyZWRlbnRpYWwKICAgZWNobyAnWU9VUl9CQVNFNjRfU1RSSU5HJyB8IGJhc2U2NCAtZAog" + - "ICAjIFNob3VsZCBvdXRwdXQ6ICRvYXV0aHRva2VuOm52YXBpLXh4eHh4CiAgIGBgYAoKMi4gKipS" + - "ZWdpc3RyeSB1bnJlYWNoYWJsZSoqOiBBUEkgY2FuJ3QgcmVhY2ggdGhlIHJlZ2lzdHJ5IHNwZWNp" + - "ZmllZCBpbiBgYWNjb3VudEJvb3RzdHJhcC5yZWdpc3RyeUNyZWRlbnRpYWxzYAoKIyMjIEZpeAoK" + - "Rml4IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSwgdGhlbiByZWNvdmVyIHNlcnZpY2VzIHdp" + - "dGhvdXQgZGVzdHJveWluZyBkZXBlbmRlbmNpZXM6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2VydmljZXMgZGVzdHJveQprdWJl" + - "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgbnZjZiBhcGkta2V5cyBlc3Mgc2lzIC0taWdub3JlLW5vdC1m" + - "b3VuZAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZiAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1l" + - "c3BhY2UgYXBpLWtleXMgJiYgXAogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBlc3MgJiYga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHNpcwojIFJlLWNyZWF0ZSBwdWxsIHNlY3JldHMgaWYgbmVl" + - "ZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "c2VydmljZXMgc3luYwpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgQ2xlYW51cCBTdHVjayAoRmluYWxp" + - "emVycykKCiMjIyBTeW1wdG9tcwoKQ29tcHV0ZS1wbGFuZSBjbGVhbnVwIGhhbmdzLiBOYW1lc3Bh" + - "Y2VzCnN0dWNrIGluIGBUZXJtaW5hdGluZ2A6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IG5zCiMgbnZj" + - "YS1vcGVyYXRvciAgICBUZXJtaW5hdGluZyAgIDEwbQojIG52Y2YtYmFja2VuZCAgICAgVGVybWlu" + - "YXRpbmcgICAxMG0KYGBgCgojIyMgRml4CgpSdW4gdGhpcyBvbmx5IGFnYWluc3QgdGhlIGNvbXB1" + - "dGUgY29udGV4dCwgYWZ0ZXIgdGhlIG5vcm1hbCBjb21wdXRlLXBsYW5lCnRlYXJkb3duIGhhcyBm" + - "YWlsZWQuIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + - "cyBhbmQKZm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVzcGFjZXM6CgpgYGBiYXNoCmV4cG9ydCBDT01Q" + - "VVRFX0NPTlRFWFQ9PGNvbXB1dGUtcGxhbmUtY29udGV4dD4KCiMgUmVtb3ZlIGZpbmFsaXplcnMg" + - "ZnJvbSBOVkNGQmFja2VuZCByZXNvdXJjZXMKa3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NP" + - "TlRFWFQiIGdldCBudmNmYmFja2VuZHMgLUEgLW8ganNvbiB8IFwKICBqcSAnLml0ZW1zW10gfCAu" + - "bWV0YWRhdGEubmFtZXNwYWNlICsgIi8iICsgLm1ldGFkYXRhLm5hbWUnIC1yIHwgXAogIHhhcmdz" + - "IC1Je30gc2ggLWMgJ2NvbnRleHQ9IiQxIjsgbnM9IiR7MiUlLyp9IjsgbmFtZT0iJHsyIyMqL30i" + - "OyBrdWJlY3RsIC0tY29udGV4dCAiJGNvbnRleHQiIHBhdGNoIG52Y2ZiYWNrZW5kICIkbmFtZSIg" + - "LW4gIiRucyIgLS10eXBlPW1lcmdlIC1wICJ7XCJtZXRhZGF0YVwiOntcImZpbmFsaXplcnNcIjpb" + - "XX19IicgXyAiJENPTVBVVEVfQ09OVEVYVCIge30KCiMgRm9yY2UtZGVsZXRlIHN0dWNrIG5hbWVz" + - "cGFjZXMgYnkgY2xlYXJpbmcgdGhlaXIgZmluYWxpemVycwpmb3IgbnMgaW4gbnZjYS1vcGVyYXRv" + - "ciBudmNmLWJhY2tlbmQ7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NPTlRFWFQi" + - "IGdldCBuYW1lc3BhY2UgIiRucyIgLW8ganNvbiAyPi9kZXYvbnVsbCB8IFwKICAgIGpxICcuc3Bl" + - "Yy5maW5hbGl6ZXJzID0gW10nIHwgXAogICAga3ViZWN0bCAtLWNvbnRleHQgIiRDT01QVVRFX0NP" + - "TlRFWFQiIHJlcGxhY2UgXAogICAgICAtLXJhdyAiL2FwaS92MS9uYW1lc3BhY2VzLyRucy9maW5h" + - "bGl6ZSIgLWYgLSAyPi9kZXYvbnVsbApkb25lCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBPcGVyYXRv" + - "ciBNaXNzaW5nIG9yIE5vdCBSZWFkeQoKIyMjIFN5bXB0b21zCgpBZnRlciBjb21wdXRlLXBsYW5l" + - "IGluc3RhbGwgY29tcGxldGVzLCBubyBgbnZjYS1vcGVyYXRvcmAgRGVwbG95bWVudCBleGlzdHMs" + - "IG9yCml0IGV4aXN0cyBidXQgcG9kcyBhcmUgbm90IHJlYWR5OgoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgZGVwbG95bWVudCBudmNhLW9wZXJh" + - "dG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBwb2RzIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgojIyMgRGlhZ25vc2lzIGFu" + - "ZCBGaXhlcwoKRmlyc3QgaWRlbnRpZnkgd2hldGhlciB0aGUgaW5zdGFsbGF0aW9uIHVzZWQgdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93IG9yIHRoZQpDTEkgcHJvZmlsZSBmbG93LiBSZS1ydW4gb25s" + - "eSB0aGF0IGZsb3cncyByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiBzdGVwcwpmcm9tIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQpLiBEbyBub3QKc3Vic3RpdHV0ZSBvbmUgaGFuZG9mZiBmb3IgdGhlIG90aGVyLgoKSWYg" + - "aW5zdGFsbGF0aW9uIHN1Y2NlZWRzIGJ1dCBwb2RzIHN0aWxsIGZhaWwsIGluc3BlY3QgdGhlIGNv" + - "bXB1dGUgY29udGV4dDoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gZGVzY3JpYmUgZGVwbG95IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0" + - "b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gbG9ncyBkZXBsb3lt" + - "ZW50L252Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IgLS10YWlsPTIwMAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgbnZjZmJhY2tlbmQgLW4gbnZj" + - "YS1vcGVyYXRvcgpgYGAKCkZvciBwcml2YXRlIHJlZ2lzdHJ5IGZhaWx1cmVzLCB2ZXJpZnkgdGhh" + - "dCB0aGUgcHVsbCBzZWNyZXQgZXhpc3RzIGluCmBudmNhLW9wZXJhdG9yYC4gVGhlIGNoYXJ0IGFu" + - "ZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYDsgZG8gbm90IHVzZSBhCmJyb2Fk" + - "ZXIgbWFudWFsIG5hbWVzcGFjZSBsb29wLiBTZWUKW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNy" + - "ZXRzLm1kI2NvbXB1dGUtcGxhbmUtc2VjcmV0KS4KCiMjIEZhaWx1cmU6IEdhdGV3YXkgRW5kcG9p" + - "bnQgQ2hhbmdlZAoKIyMjIFN5bXB0b21zCgpSZXF1ZXN0cyB0aHJvdWdoIHRoZSBjb25maWd1cmVk" + - "IHJvdXRlIGRvbWFpbiBmYWlsIGFmdGVyIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2Vy" + - "IGlzIHJlcGxhY2VkLiBUaGUgR2F0ZXdheSByZXBvcnRzIGEgbmV3IGVuZHBvaW50LgoKIyMjIERp" + - "YWdub3NpcwoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1uIGVudm95LWdh" + - "dGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVz" + - "dCAtbiAiJEdBVEVXQVlfQUREUiIKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJI" + - "b3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCgojIENoZWNr" + - "IGRpcmVjdCBhZGRyZXNzIGZpZWxkcyB1c2VkIGJ5IGEgc3BsaXQgZGVwbG95bWVudApncmVwIG52" + - "Y2ZOYXRzU2VydmljZVVSTCBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbApncmVwIC1FICdpY21zU2VydmljZXxyZXZhbFNlcnZpY2V8bmF0cycgXAogIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmBg" + - "YAoKIyMjIEZpeAoKS2VlcCBgZ2xvYmFsLmRvbWFpbmAsIHJvdXRlIGhvc3RuYW1lcywgYW5kIEhv" + - "c3Qgb3ZlcnJpZGVzIHVuY2hhbmdlZC4gVXBkYXRlIEROUwpvciB0aGUgZGlyZWN0IGNsaWVudCBk" + - "ZXN0aW5hdGlvbi4gRm9yIHNwbGl0IGRlcGxveW1lbnRzLCB1cGRhdGUgb25seSBkaXJlY3QKR2F0" + - "ZXdheS1hZGRyZXNzIGZpZWxkcyBhbmQgcmVmcmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxh" + - "dGlvbiB0aHJvdWdoIHRoZQpzYW1lIHNlbGVjdGVkIGhhbmRvZmYuIFNlZQpbRXhhbXBsZSA0XSgu" + - "Li9leGFtcGxlcy5tZCNleGFtcGxlLTQtcmVjb3Zlci1mcm9tLWEtZ2F0ZXdheS1lbmRwb2ludC1j" + - "aGFuZ2UpLgoKIyMgVXNlZnVsIE5hbWVzcGFjZS10by1TZXJ2aWNlIE1hcHBpbmcKClF1aWNrIHJl" + - "ZmVyZW5jZSBmb3Igd2hpY2ggc2VydmljZXMgcnVuIGluIHdoaWNoIG5hbWVzcGFjZToKCnwgTmFt" + - "ZXNwYWNlIHwgU2VydmljZXMgfAp8LS0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBuYXRzLXN5c3Rl" + - "bSB8IG5hdHMgfAp8IGNhc3NhbmRyYS1zeXN0ZW0gfCBjYXNzYW5kcmEgfAp8IHZhdWx0LXN5c3Rl" + - "bSB8IG9wZW5iYW8tc2VydmVyIHwKfCBudmNmIHwgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdy" + - "cGMtcHJveHksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgbGxtLXJlcXVlc3Qtcm91dGVyLCBsbG0t" + - "YXBpLWdhdGV3YXkgfAp8IGFwaS1rZXlzIHwgYXBpLWtleXMsIGFkbWluLWlzc3Vlci1wcm94eSB8" + - "CnwgZXNzIHwgZXNzLWFwaSB8Cnwgc2lzIHwgc2lzIHwKfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8" + - "IGVudm95IGdhdGV3YXkgKGluZ3Jlc3MgY29udHJvbGxlcikgfAp8IGVudm95LWdhdGV3YXkgfCBn" + - "YXRld2F5IHJlc291cmNlICsgcm91dGVzIHwKUEsHCLV6cDu1MAAAtTAAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAARAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SIyBIZWxtZmlsZSBTdHJ1Y3R1cmUg" + - "UmVmZXJlbmNlCgojIyBEaXJlY3RvcnkgTGF5b3V0CgpgYGBiYXNoCm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwgICMgTkFUUywgQ2Fzc2FuZHJhLCBPcGVuQmFvCnwgICB8LS0gMDItY29yZS55YW1sLmdvdG1w" + - "bCAgICAgICAgICAjIE5WQ0Ygc2VydmljZXMgKyBpbmdyZXNzCnwgICBgLS0gMDMtb2JzZXJ2YWJp" + - "bGl0eS55YW1sLmdvdG1wbCAjIE9ic2VydmFiaWxpdHkgc3RhY2sgKG9wdGlvbmFsKQp8LS0gZW52" + - "aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAgICAgICAgICAgICAgICAgIyBEZWZhdWx0" + - "IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAtLSA8ZW52LW5hbWU+LnlhbWwgICAgICAg" + - "ICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwp8LS0gc2VjcmV0cy8KfCAgIGAtLSA8" + - "ZW52LW5hbWU+LXNlY3JldHMueWFtbCAgICAgICMgU2Vuc2l0aXZlIHZhbHVlcyAocmVnaXN0cnkg" + - "Y3JlZHMsIHBhc3N3b3JkcykKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMg" + - "R28gdGVtcGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKCm52Y2YtY29tcHV0" + - "ZS1wbGFuZS1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsICAjIENvbXB1dGUgcGxhbmUgZGVwZW5kZW5jeSBjb21wb25lbnRzCnwgICBgLS0g" + - "MDItbnZjYS55YW1sLmdvdG1wbCAgICAgICAgICAjIG52Y2Etb3BlcmF0b3IgY2hhcnQgYW5kIG52" + - "Y2EgY29uZmlndXJhdGlvbgp8LS0gZW52aXJvbm1lbnRzLwp8ICAgfC0tIGJhc2UueWFtbCAgICAg" + - "ICAgICAgICAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyAoYWxsIGVudmlyb25tZW50cykKfCAgIGAt" + - "LSA8ZW52LW5hbWU+LnlhbWwgICAgICAgICAgICAgICMgUGVyLWVudmlyb25tZW50IG92ZXJyaWRl" + - "cwpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0" + - "IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwpgYGAKClRoZXNlIHN0YWNrcyBoYXZlIHNlcGFy" + - "YXRlIGVudmlyb25tZW50cyBhbmQgY2x1c3RlciBjb250ZXh0cy4gVGhlIEhlbG1maWxlCnZhbHVl" + - "cyBmbG93IGF1dGhvcnMgYm90aCBlbnZpcm9ubWVudCBmaWxlcy4gVGhlIENMSSBwcm9maWxlIGZs" + - "b3cgaW5zdGVhZCB1c2VzCnRoZSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBh" + - "cyBpdHMgZW5kcG9pbnQgc291cmNlLiBEbyBub3QgbWl4IHRoZQpoYW5kb2Zmcy4gU2VlIFtTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQpLgoKIyMgR290bXBsIEZpbGVzIGFuZCBUaGVpciBSZWxlYXNlcwoKIyMjIDAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBOb3RlcyB8" + - "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IG5hdHMgfCBoZWxtLW52" + - "Y2YtbmF0cyB8IG5hdHMtc3lzdGVtIHwgTWVzc2FnaW5nIHwKfCBvcGVuYmFvLXNlcnZlciB8IGhl" + - "bG0tbnZjZi1vcGVuYmFvLXNlcnZlciB8IHZhdWx0LXN5c3RlbSB8IFNlY3JldHMgbWFuYWdlbWVu" + - "dCwgZGVwZW5kcyBvbiBuYXRzIHwKfCBjYXNzYW5kcmEgfCBoZWxtLW52Y2YtY2Fzc2FuZHJhIHwg" + - "Y2Fzc2FuZHJhLXN5c3RlbSB8IERhdGFiYXNlIHwKClVzZXMgYDw8OiAqZGVwZW5kZW5jeWAgdGVt" + - "cGxhdGUgaW5oZXJpdGFuY2Ugd2l0aCBgcmVsZWFzZS1ncm91cDogZGVwZW5kZW5jaWVzYCBsYWJl" + - "bC4KCiMjIyAwMi1jb3JlLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFj" + - "ZSB8IExhYmVsIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgYXBp" + - "LWtleXMgfCBoZWxtLW52Y2YtYXBpLWtleXMgfCBhcGkta2V5cyB8IHNlcnZpY2VzIHwKfCBzaXMg" + - "fCBoZWxtLW52Y2Ytc2lzIHwgc2lzIHwgc2VydmljZXMgfAp8IGFwaSB8IGhlbG0tbnZjZi1hcGkg" + - "fCBudmNmIHwgc2VydmljZXMgfAp8IGludm9jYXRpb24tc2VydmljZSB8IGhlbG0tbnZjZi1pbnZv" + - "Y2F0aW9uLXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IGdycGMtcHJveHkgfCBoZWxtLW52" + - "Y2YtZ3JwYy1wcm94eSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZXNzLWFwaSB8IGhlbG0tbnZjZi1l" + - "c3MtYXBpIHwgZXNzIHwgc2VydmljZXMgfAp8IG5vdGFyeS1zZXJ2aWNlIHwgaGVsbS1udmNmLW5v" + - "dGFyeS1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCByZXZhbCB8IGhlbG0tcmV2YWwgfCBu" + - "dmNmIHwgc2VydmljZXMgfAp8IGxsbS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YvaGVsbS1udmNmLWxs" + - "bS1yZXF1ZXN0LXJvdXRlciB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLWFwaS1nYXRld2F5IHwg" + - "bnZjZi9oZWxtLW52Y2YtbGxtLWFwaS1nYXRld2F5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBhZG1p" + - "bi1pc3N1ZXItcHJveHkgfCBoZWxtLWFkbWluLXRva2VuLWlzc3Vlci1wcm94eSB8IGFwaS1rZXlz" + - "IHwgKG5vIHJlbGVhc2UtZ3JvdXAgbGFiZWwpIHwKfCBpbmdyZXNzIHwgbnZjZi1nYXRld2F5LXJv" + - "dXRlcyB8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgaW5ncmVzcyB8CgpNb3N0IHNlcnZpY2VzIHVz" + - "ZSBgaW5oZXJpdDogW3t0ZW1wbGF0ZTogc2VydmljZX1dYC4gTExNIHJlbGVhc2VzIHVzZSBPQ0kg" + - "Y2hhcnRzIGZyb20gdGhlIGBudmNmYCByZXBvc2l0b3J5IHdpdGggc3RhbmRhbG9uZSBgdmFsdWVz" + - "OiBbLi4vZ2xvYmFsLnlhbWwuZ290bXBsXWAgYmxvY2tzOyB0aGV5IGFyZSBnYXRlZCBvbiBgYWRk" + - "b25zLmxsbS5lbmFibGVkYC4gYGFkbWluLWlzc3Vlci1wcm94eWAgYW5kIGBpbmdyZXNzYCBoYXZl" + - "IHN0YW5kYWxvbmUgYHZhbHVlczpgIGJsb2Nrcy4KCiMjIyAwMy1vYnNlcnZhYmlsaXR5LnlhbWwu" + - "Z290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IExhYmVsIHwKfC0tLS0tLS0t" + - "LXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgKG9ic2VydmFiaWxpdHkgcmVsZWFzZXMp" + - "IHwgKHZhcmlvdXMpIHwgb2JzZXJ2YWJpbGl0eSB8IG9ic2VydmFiaWxpdHkgfAoKR2F0ZWQgb24g" + - "b2JzZXJ2YWJpbGl0eS1zcGVjaWZpYyBmbGFncyBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZS4gU2tp" + - "cHBlZCBpZiBkaXNhYmxlZC4KCiMjIFRlbXBsYXRlIEluaGVyaXRhbmNlCgojIyMgYDw8OiAqZGVw" + - "ZW5kZW5jeWAgKFlBTUwgbWVyZ2UpCgpVc2VkIGluIGAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGxgLiBNZXJnZXMgdGhlIHRlbXBsYXRlJ3MgcHJvcGVydGllcyBpbnRvIHRoZSByZWxlYXNlLgoK" + - "KipHb3RjaGEqKjogWUFNTCBtZXJnZSByZXBsYWNlcyBsaXN0cy4gSWYgeW91IGFkZCBhIGB2YWx1" + - "ZXM6YCBrZXkgdG8gdGhlIHJlbGVhc2UsIGl0ICoqcmVwbGFjZXMqKiB0aGUgdGVtcGxhdGUncyBg" + - "dmFsdWVzOmAgbGlzdCBlbnRpcmVseS4gWW91IG11c3QgcmUtaW5jbHVkZSBhbGwgdGVtcGxhdGUg" + - "dmFsdWVzOgoKSW4gdGhlIHRlbXBsYXRlIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJz" + - "IHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4K" + - "CmBgYHlhbWwKIyBUZW1wbGF0ZSBkZWZpbmVzOgp0ZW1wbGF0ZXM6CiAgZGVwZW5kZW5jeTogJmRl" + - "cGVuZGVuY3kKICAgIGNoYXJ0OiBudmNmL2hlbG0tbnZjZi17eyAuUmVsZWFzZS5OYW1lIH19CiAg" + - "ICB2YWx1ZXM6CiAgICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + - "CiMgV2hlbiBvdmVycmlkaW5nLCBNVVNUIHJlLWluY2x1ZGUgYm90aDoKLSBuYW1lOiBjYXNzYW5k" + - "cmEKICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + - "bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE11c3QgcmUt" + - "aW5jbHVkZQogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklM" + - "RV9FTlYiIH19LXNlY3JldHMueWFtbCAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIGNhc3NhbmRy" + - "YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgIyBZb3VyIG92ZXJyaWRlCiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgog" + - "ICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQpgYGAKCiMjIyBgaW5oZXJpdGAgKEhlbG1maWxlIG5h" + - "dGl2ZSkKClVzZWQgaW4gYDAyLWNvcmUueWFtbC5nb3RtcGxgLiBIZWxtZmlsZSdzIG5hdGl2ZSBp" + - "bmhlcml0YW5jZSBtZWNoYW5pc20uCgpgYGB5YW1sCi0gbmFtZTogYXBpCiAgdmVyc2lvbjogMS42" + - "LjAKICBuYW1lc3BhY2U6IG52Y2YKICBpbmhlcml0OgogICAgLSB0ZW1wbGF0ZTogc2VydmljZQpg" + - "YGAKCldoZW4gYWRkaW5nIGB2YWx1ZXM6YCB0byBhbiBpbmhlcml0ZWQgcmVsZWFzZSwgeW91IGFs" + - "c28gbmVlZCB0byByZS1pbmNsdWRlIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBmaWxlcyBzaW5jZSBg" + - "dmFsdWVzYCBpcyBhIGxpc3QgdGhhdCBnZXRzIHJlcGxhY2VkLgoKIyMgVmFsdWVzIFByZWNlZGVu" + - "Y2UKCkZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcHJpb3JpdHk6CgoxLiBgZW52aXJvbm1lbnRzL2Jh" + - "c2UueWFtbGAgLS0gZGVmYXVsdHMgc2hhcmVkIGFjcm9zcyBhbGwgZW52aXJvbm1lbnRzCjIuIGBl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbGAgLS0gcGVyLWVudmlyb25tZW50IG92ZXJyaWRlcwozLiBg" + - "Z2xvYmFsLnlhbWwuZ290bXBsYCAtLSBHbyB0ZW1wbGF0ZSBwcm9jZXNzaW5nIChjb25zdHJ1Y3Rz" + - "IGNoYXJ0LXNwZWNpZmljIHN0cnVjdHVyZSkKNC4gYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2Vj" + - "cmV0cy55YW1sYCAtLSBzZW5zaXRpdmUgdmFsdWVzCjUuIElubGluZSBgdmFsdWVzOmAgYmxvY2tz" + - "IG9uIHJlbGVhc2VzIC0tIGhpZ2hlc3QgcHJlY2VkZW5jZQoKIyMgV2hhdCBnbG9iYWwueWFtbC5n" + - "b3RtcGwgUGFzc2VzIFRocm91Z2gKCmBnbG9iYWwueWFtbC5nb3RtcGxgIHJlYWRzIGZyb20gYC5W" + - "YWx1ZXNgICh0aGUgbWVyZ2VkIGVudmlyb25tZW50ICsgZW52LXNwZWNpZmljIFlBTUwpIGFuZCBj" + - "b25zdHJ1Y3RzIGNoYXJ0LXNwZWNpZmljIHZhbHVlcy4gSXQgb25seSBwYXNzZXMgdGhyb3VnaCBr" + - "ZXlzIGl0IGV4cGxpY2l0bHkgcmVmZXJlbmNlczoKCiMjIyBDYXNzYW5kcmEKCi0gYGNhc3NhbmRy" + - "YS5yZXBsaWNhQ291bnRgCi0gYGNhc3NhbmRyYS5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRv" + - "cnkpCi0gYGNhc3NhbmRyYS5taWdyYXRpb25zLmltYWdlLipgCi0gYGNhc3NhbmRyYS5wZXJzaXN0" + - "ZW5jZS5zaXplYAotIGBjYXNzYW5kcmEubm9kZVNlbGVjdG9yYCAoaWYgYGdsb2JhbC5ub2RlU2Vs" + - "ZWN0b3JzLmVuYWJsZWRgKQotIGBjYXNzYW5kcmEuZ2xvYmFsLmRlZmF1bHRTdG9yYWdlQ2xhc3Ng" + - "CgojIyMgTkFUUwoKLSBgbmF0cy5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5yZWxvYWRlci5p" + - "bWFnZS4qYAotIGBuYXRzLm5hdHNCb3guY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMuY29uZmln" + - "LmpldHN0cmVhbS5maWxlU3RvcmUucHZjLnN0b3JhZ2VDbGFzc05hbWVgCi0gYG5hdHMucG9kVGVt" + - "cGxhdGUubWVyZ2Uuc3BlYy5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQoKIyMjIE9wZW5CYW8K" + - "Ci0gYG9wZW5iYW8ubWlncmF0aW9ucy5pbWFnZS4qYCBhbmQgYG9wZW5iYW8ubWlncmF0aW9ucy5l" + - "bnZgCi0gYG9wZW5iYW8uaW5qZWN0b3IuaW1hZ2UuKmAKLSBgb3BlbmJhby5zZXJ2ZXIuaW1hZ2Uu" + - "KmAKLSBgb3BlbmJhby5zZXJ2ZXIuZGF0YVN0b3JhZ2UuKmAKLSBOb2RlIHNlbGVjdG9ycyAoaWYg" + - "ZW5hYmxlZCkKCiMjIyBTZXJ2aWNlcyAoQVBJLCBTSVMsIGV0Yy4pCgotIGA8c2VydmljZT4uaW1h" + - "Z2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQotIGA8c2VydmljZT4ubm9kZVNlbGVjdG9yYCAo" + - "aWYgZW5hYmxlZCkKLSBgPHNlcnZpY2U+LmVudi4qYCAob2JzZXJ2YWJpbGl0eSBzZXR0aW5ncykK" + - "CiMjIyBMTE0gRnVuY3Rpb24gRW5hYmxlbWVudAoKRW5hYmxlIHRoZSBMTE0gYWRkb24gYmVmb3Jl" + - "IGNyZWF0aW5nIG9yIGludm9raW5nIGZ1bmN0aW9ucyB3aXRoCmBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YC4gVGhlIGFkZG9uIGRlcGxveXMgYGxsbS1yZXF1ZXN0LXJvdXRlcmAgYW5kCmBsbG0tYXBpLWdh" + - "dGV3YXlgLCBhZGRzIHRoZSBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHJvdXRlIHdoZW4gR2F0" + - "ZXdheSBBUEkKaW5ncmVzcyBpcyBlbmFibGVkLCBhbmQgY29uZmlndXJlcyB3b3JrZXJzIHRvIHVz" + - "ZSB0aGUgTExNIHNpZGVjYXIuIFRoZSBIZWxtZmlsZQpjb25kaXRpb24gaXMgYGFkZG9ucy5sbG0u" + - "ZW5hYmxlZGAuIERvIG5vdCB1c2UgdGhlIG9ic29sZXRlIGBsbG0uZW5hYmxlZGAgcGF0aC4KCkZv" + - "ciBhIHNpbmdsZS1ub2RlIGlzb2xhdGVkIHRlc3QgY2x1c3RlciwgYWRkIHRoaXMgY29uZmlndXJh" + - "dGlvbiB0bwpgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGJlZm9yZSBhcHBseWluZyB0aGUgc3Rh" + - "Y2s6CgpgYGB5YW1sCmFkZG9uczoKICBsbG06CiAgICBlbmFibGVkOiB0cnVlCiAgICBnYXRld2F5" + - "OgogICAgICByZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9u" + - "aXRvcjoKICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICByZXF1ZXN0Um91dGVyOgogICAgICBy" + - "ZXBsaWNhQ291bnQ6IDEKICAgICAgbWV0cmljczoKICAgICAgICBzZXJ2aWNlTW9uaXRvcjoKICAg" + - "ICAgICAgIGVuYWJsZWQ6IGZhbHNlCgphZ2VudENvbmZpZzoKICBtZXJnZUNvbmZpZzogfAogICAg" + - "Y2x1c3RlcjoKICAgICAgdmFsaWRhdGlvblBvbGljeToKICAgICAgICBuYW1lOiBVbnJlc3RyaWN0" + - "ZWQKICAgIHdvcmtsb2FkOgogICAgICBzdGFyZ2F0ZVFVSUNJbnNlY3VyZTogdHJ1ZQpgYGAKClVz" + - "ZSBgcmVwbGljYUNvdW50OiAxYCBvbmx5IGZvciBsb2NhbCBvciBzaW5nbGUtbm9kZSB0ZXN0IGNs" + - "dXN0ZXJzLiBUaGUgYnVuZGxlZApOVkNGIEFQSSBjdXJyZW50bHkgc2VydmVzIHBsYWludGV4dCBn" + - "UlBDIG9uIHBvcnQgOTA5MCwgc28gdGhlIHNlbGYtbWFuYWdlZCBzdGFjawpkZWZhdWx0cyB0aGUg" + - "TExNIEFQSSBHYXRld2F5IGF1dGhlbnRpY2F0aW9uIGhvcCB0byBwbGFpbnRleHQuIFNldApgYWRk" + - "b25zLmxsbS5nYXRld2F5LmF1dGguZ3JwY0luc2VjdXJlOiBmYWxzZWAgb25seSB3aXRoIGEgVExT" + - "LWNhcGFibGUgTlZDRiBBUEkuCgpXb3JrZXItdG8tcm91dGVyIHRyYW5zcG9ydCBpcyBzZXBhcmF0" + - "ZS4gRm9yIHNoYXJlZCBvciBwcm9kdWN0aW9uIGNsdXN0ZXJzLCB1c2UKdGhlIHJlcXVpcmVkIHJl" + - "cGxpY2EgY291bnQgYW5kIHRoZSBtYW5hZ2VkIFRMUyBjb25maWd1cmF0aW9uLiBUaGUKYHdvcmts" + - "b2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlYCBzZXR0aW5nIGVuYWJsZXMgcGxhaW50ZXh0IHdvcmtl" + - "ciB0cmFuc3BvcnQgYW5kCm11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbi4KClRoZSByZXF1" + - "ZXN0IHJvdXRlciB1c2VzIGBwb3dlci1vZi10d29gIHdoZW4gbm8gbG9hZC1iYWxhbmNlciBjb25m" + - "aWd1cmF0aW9uIGlzCnNldC4gQ29uZmlndXJlIG90aGVyIHJvdXRpbmcgbWV0aG9kcyB3aXRoIHRo" + - "ZQpbTExNIFJlcXVlc3QgUm91dGVyIExvYWQgQmFsYW5jaW5nXShodHRwczovL2dpdGh1Yi5jb20v" + - "TlZJRElBL252Y2YvYmxvYi9tYWluL2RvY3Mvc2VsZi1tYW5hZ2VkL2xsbS1yZXF1ZXN0LXJvdXRl" + - "ci1sb2FkLWJhbGFuY2luZy5tZCkKZ3VpZGUuCgpJZiB0aGUgc2lkZWNhciBpbWFnZSBpcyBtaXJy" + - "b3JlZCBvdXRzaWRlIHRoZSBzdGFjaydzIGRlZmF1bHQgaW1hZ2UgcmVnaXN0cnkgYW5kCnJlcG9z" + - "aXRvcnksIHNldCB0aGUgZ2VuZXJhdGVkIHdvcmtlciBzaWRlY2FyIGltYWdlIGV4cGxpY2l0bHk6" + - "CgpgYGB5YW1sCmFwaToKICByZW1vdGVDb25maWc6CiAgICBjb25maWdEYXRhOgogICAgICBudmNm" + - "OgogICAgICAgIHNpZGVjYXJzOgogICAgICAgICAgbGxtLXJvdXRlci1jbGllbnQtaW1hZ2U6IDxy" + - "ZWdpc3RyeT4vPHJlcG9zaXRvcnk+L3B5bG9uOjAuMTQuMQpgYGAKClRoZSBsZWdhY3kgYGFwaS5l" + - "bnYuTlZDRl9TSURFQ0FSU19MTE1fUk9VVEVSX0NMSUVOVF9JTUFHRWAgcGF0aCBpcyBkZXByZWNh" + - "dGVkLgpUaGUgc3RhY2sgdHJhbnNsYXRlcyBpdCBmb3Igb25lIGNvbXBhdGliaWxpdHkgd2luZG93" + - "LCBidXQgbmV3IGNvbmZpZ3VyYXRpb25zCm11c3QgdXNlIHRoZSByZW1vdGUtY29uZmlnIHBhdGgu" + - "IENvbmZsaWN0aW5nIHZhbHVlcyBmYWlsIHJlbmRlcmluZy4KClJlbmRlciBhbmQgYXBwbHkgdGhl" + - "IHVwZGF0ZWQgY29udHJvbC1wbGFuZSBlbnZpcm9ubWVudCwgdGhlbiByZWZyZXNoIGV2ZXJ5CnJl" + - "Z2lzdGVyZWQgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZm9yIGl0" + - "cyBpbnN0YWxsYXRpb24gc28KTlZDQSByZWNlaXZlcyBgYWdlbnRDb25maWcubWVyZ2VDb25maWdg" + - "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgdGVtcGxhdGUKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIHN5bmMKYGBgCgpVc2UgdGhlIGNvbXBsZXRlIGNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCBjb21tYW5kIGZyb20KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIEEKQ0xJLXByb2ZpbGUgaW5zdGFsbGF0" + - "aW9uIG11c3QgcmVtYWluIHByb2ZpbGUtZHJpdmVuOyBhIEhlbG1maWxlIGluc3RhbGxhdGlvbgpt" + - "dXN0IHJlbWFpbiB2YWx1ZXMtZHJpdmVuLgoKRXhpc3RpbmcgTExNIGZ1bmN0aW9uIHZlcnNpb25z" + - "IHJldGFpbiB0aGUgd29ya2VyLXNpZGVjYXIgaW1hZ2UgbWV0YWRhdGEKY2FwdHVyZWQgd2hlbiB0" + - "aGUgdmVyc2lvbiBpcyBjcmVhdGVkLiBSZXBsYWNpbmcgcG9kcyBvciByZWRlcGxveWluZyB0aGUg" + - "c2FtZQp2ZXJzaW9uIGRvZXMgbm90IGFwcGx5IGEgbmV3IFB5bG9uIGltYWdlLiBBZnRlciB0aGUg" + - "Y29udHJvbC1wbGFuZSB1cGRhdGUsCmNyZWF0ZSBhbmQgZGVwbG95IGEgbmV3IGZ1bmN0aW9uIHZl" + - "cnNpb24uIFZlcmlmeSB0aGUgY29udHJvbCBwbGFuZSwgcm91dGUsIGFuZAp3b3JrZXIgc2lkZWNh" + - "cjoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVwbG95IC1uIG52Y2YgbGxtLWFwaS1nYXRld2F5Cmt1" + - "YmVjdGwgZ2V0IHN0YXRlZnVsc2V0IC1uIG52Y2YgbGxtLXJlcXVlc3Qtcm91dGVyCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gbnZjZiB8IGdyZXAgLUUgJ2xsbS1hcGktZ2F0ZXdheXxsbG0tcmVxdWVzdC1y" + - "b3V0ZXInCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgbGxtCmt1YmVjdGwgLW4gbnZj" + - "Zi1iYWNrZW5kIGdldCBwb2QgPGZ1bmN0aW9uLXBvZD4gXAogIC1vIGpzb25wYXRoPSd7cmFuZ2Ug" + - "LnNwZWMuY29udGFpbmVyc1s/KEAubmFtZT09ImxsbS13b3JrZXIiKV0uYXJnc1sqXX17Ln17Ilxc" + - "biJ9e2VuZH0nCmBgYAoKRm9yIGxvY2FsIHBsYWludGV4dCBjbHVzdGVycywgdGhlIGBsbG0td29y" + - "a2VyYCBhcmdzIG11c3QgaW5jbHVkZQpgLS1xdWljLWluc2VjdXJlYC4KCkZvciBsb2FkLWJhbGFu" + - "Y2VyIHNjaGVtYSBhbmQgYWxnb3JpdGhtIGJlaGF2aW9yLCBzZWUgdGhlCltTdGFyZ2F0ZSBjb25m" + - "aWd1cmF0aW9uIGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL252Y2YvYmxvYi9tYWlu" + - "L3NyYy9saWJyYXJpZXMvcnVzdC9zdGFyZ2F0ZS9kb2NzL2xvYWQtYmFsYW5jZXItY29uZmlndXJh" + - "dGlvbi5tZCkuCgojIyBIZWxtZmlsZSBTZWxlY3RvcnMKClRhcmdldCBzcGVjaWZpYyByZWxlYXNl" + - "cyBvciBncm91cHM6CgpgYGBiYXNoCiMgQnkgcmVsZWFzZSBncm91cApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9c2Vydmlj" + - "ZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPWluZ3Jlc3Mgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBy" + - "ZWxlYXNlLWdyb3VwPW9ic2VydmFiaWxpdHkgc3luYwoKIyBCeSByZWxlYXNlIG5hbWUKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94" + - "eSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bGxtLXJl" + - "cXVlc3Qtcm91dGVyIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1sbG0tYXBpLWdhdGV3YXkgc3luYwoKIyBUZW1wbGF0ZSBvbmx5IChkcnkgcnVuKQpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0" + - "ZQoKIyBEZXN0cm95IGEgc2luZ2xlIHJlbGVhc2UKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgZGVzdHJveQpgYGAKCk5vdGU6IGBhZG1pbi1pc3N1" + - "ZXItcHJveHlgIGhhcyBubyBgcmVsZWFzZS1ncm91cGAgbGFiZWwuIFVzZSBgLS1zZWxlY3RvciBu" + - "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgTEeyNCioAAAoqAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAAD8ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhIjIE5WQ0YgVUkgQWRkb24KCk5WQ0YgVUkgaXMg" + - "YW4gb3B0aW9uYWwsIGN1c3RvbWVyLWZhY2luZyBOVkNGIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBk" + - "aXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + - "aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uCgojIyBXaGVuIHRvIGVuYWJsZQoKRW5hYmxl" + - "IE5WQ0YgVUkgb25seSB3aGVuIHlvdSBuZWVkIHRoZSBhZG1pbi1wYW5lbCBVSSBhbmQgeW91ciBl" + - "eHRyYWN0ZWQgc3RhY2sKcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24uIElmIHRoZSBwYWNrYWdl" + - "IGRvZXMgbm90IGNvbnRhaW4gYSBgbnZjZi11aWAgcmVsZWFzZQphbmQgYG52Y2ZVaWAgcm91dGUg" + - "dmFsdWVzLCBza2lwIHRoZSBhZGRvbiB1bnRpbCB5b3UgdXNlIGEgcGFja2FnZSB0aGF0IGluY2x1" + - "ZGVzCnRoZW0uCgojIyBFbmFibGUgdGhlIGFkZG9uCgpFbmFibGUgaXQgaW4gYGVudmlyb25tZW50" + - "cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgbnZjZlVpOgogICAgZW5hYmxl" + - "ZDogdHJ1ZQpgYGAKCiMjIENyZWF0ZSBuYW1lc3BhY2UgYW5kIGltYWdlIHB1bGwgc2VjcmV0CgpD" + - "cmVhdGUgdGhlIG5hbWVzcGFjZSwgYW5kIGFuIGltYWdlIHB1bGwgc2VjcmV0IG9ubHkgaWYgcHVs" + - "bGluZyBmcm9tIGEgcHJpdmF0ZQpyZWdpc3RyeToKCmBgYGJhc2gKa3ViZWN0bCBjcmVhdGUgbmFt" + - "ZXNwYWNlIG52Y2YtdWkgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAt" + - "ZiAtCgojIE9ubHkgaWYgcHVsbGluZyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZS5nLiwgTkdD" + - "IG52Y3IuaW8pCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKa3ViZWN0bCBjcmVhdGUg" + - "c2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFz" + - "c3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2YtdWkgXAogIC0tZHJ5LXJ1" + - "bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpgYGAKClRoZSBkZWZhdWx0IHJv" + - "dXRlIGhvc3QgaXMgYG52Y2YtdWkuPGRvbWFpbj5gIGFuZCB0aGUgYmFja2VuZCBpcwpgbnZjZi11" + - "aS5udmNmLXVpOjgzMDBgLgoKIyMgQXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlCgpBZnRlciBj" + - "b25maXJtaW5nIHRoZSBwYWNrYWdlIGluY2x1ZGVzIHRoZSBgbnZjZi11aWAgcmVsZWFzZSwgcHJl" + - "dmlldyBhbmQgYXBwbHkKdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSB0ZW1wbGF0ZQpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9bnZjZi11aSBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1pbmdyZXNzIHN5bmMKYGBgCgojIyBWZXJpZnkKClZlcmlmeSB0aGUgcm91dGUgb25seSB3" + - "aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBkZXBsb3ksc3ZjIC1uIG52Y2YtdWkKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCAt" + - "aSBudmNmLXVpCmN1cmwgLWkgLUggIkhvc3Q6IG52Y2YtdWkuPGRvbWFpbj4iICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4vc3RhdHVzIgpgYGAKCiMjIFNlY3VyaXR5CgpUaGUgTlZDRiBVSSBhZG1p" + - "biBwYW5lbCBpcyBjdXJyZW50bHkgdW5hdXRoZW50aWNhdGVkLiBEbyBub3QgZXhwb3NlIGl0IHRv" + - "IHRoZQpwdWJsaWMgaW50ZXJuZXQuIFJlc3RyaWN0IGFjY2VzcyB0byBhIHRydXN0ZWQgbmV0d29y" + - "aywgVlBOLCBvciBhbiBhdXRoZW50aWNhdGluZwpwcm94eSBpbiBmcm9udCBvZiB0aGUgYG52Y2Yt" + - "dWlgIHJvdXRlLgpQSwcIOPknr7kHAAC5BwAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA+AAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + - "dHMubWRVVAUAAQCmzhIjIEltYWdlIFB1bGwgU2VjcmV0cyBSZWZlcmVuY2UKCiMjIE92ZXJ2aWV3" + - "CgpXaGVuIHB1bGxpbmcgTlZDRiBpbWFnZXMgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGZvciBl" + - "eGFtcGxlLCBOR0MKYG52Y3IuaW9gKSwgS3ViZXJuZXRlcyBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0" + - "c2Agb24gZXZlcnkgcG9kLiBDb250cm9sLXBsYW5lIGFuZApjb21wdXRlLXBsYW5lIGNyZWRlbnRp" + - "YWxzIGFyZSBjb25maWd1cmVkIGluIHRoZWlyIG93biBjbHVzdGVyIGNvbnRleHRzLiBEbyBub3QK" + - "dXNlIG9uZSBtaXhlZCBuYW1lc3BhY2UgbGlzdC4KClRoZSByZWNvbW1lbmRlZCBjb250cm9sLXBs" + - "YW5lIGFwcHJvYWNoIHVzZXMgS3l2ZXJubyB0byBpbmplY3QgdGhlIHNlY3JldCBpbnRvCmNvbnRy" + - "b2wtcGxhbmUgcG9kcyBhdCBhZG1pc3Npb24gdGltZS4gVGhlIGNvbXB1dGUtcGxhbmUgY2hhcnQg" + - "YW5kIG9wZXJhdG9yIHVzZQp0aGUgc2VjcmV0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9y" + - "IGl0IHRvIGBudmNhLXN5c3RlbWAuCgojIyBLeXZlcm5vIEFwcHJvYWNoIChSZWNvbW1lbmRlZCkK" + - "CiMjIyAxLiBJbnN0YWxsIEt5dmVybm8KCmBgYGJhc2gKaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0" + - "dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGlu" + - "c3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3Bh" + - "Y2UgXAogIC0ta3ViZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+CmBgYAoKIyMjIDIu" + - "IENyZWF0ZSBjb250cm9sLXBsYW5lIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQ" + - "SV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBu" + - "YW1lc3BhY2UgIiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + - "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + - "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKRm9y" + - "IG5vbi1OR0MgcmVnaXN0cmllcywgcmVwbGFjZSBgLS1kb2NrZXItc2VydmVyYCwgYC0tZG9ja2Vy" + - "LXVzZXJuYW1lYCwgYW5kIGAtLWRvY2tlci1wYXNzd29yZGAuCgojIyMgMy4gQXBwbHkgS3l2ZXJu" + - "byBDbHVzdGVyUG9saWN5CgpgYGB5YW1sCmFwaVZlcnNpb246IGt5dmVybm8uaW8vdjEKa2luZDog" + - "Q2x1c3RlclBvbGljeQptZXRhZGF0YToKICBuYW1lOiBudmNmLWFkZC1pbWFnZXB1bGxzZWNyZXRz" + - "CnNwZWM6CiAgYmFja2dyb3VuZDogZmFsc2UKICBydWxlczoKICAgIC0gbmFtZTogYWRkLWltYWdl" + - "cHVsbHNlY3JldC10by1udmNmLXBvZHMKICAgICAgbWF0Y2g6CiAgICAgICAgYW55OgogICAgICAg" + - "IC0gcmVzb3VyY2VzOgogICAgICAgICAgICBraW5kczoKICAgICAgICAgICAgLSBQb2QKICAgICAg" + - "ICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICAgLSAibnZjZiIKICAgICAgICAgICAgLSAiYXBp" + - "LWtleXMiCiAgICAgICAgICAgIC0gInNpcyIKICAgICAgICAgICAgLSAiZXNzIgogICAgICAgICAg" + - "ICAtICJuYXRzLXN5c3RlbSIKICAgICAgICAgICAgLSAiY2Fzc2FuZHJhLXN5c3RlbSIKICAgICAg" + - "ICAgICAgLSAidmF1bHQtc3lzdGVtIgogICAgICAgICAgICAtICJjZXJ0LW1hbmFnZXIiCiAgICAg" + - "IG11dGF0ZToKICAgICAgICBwYXRjaFN0cmF0ZWdpY01lcmdlOgogICAgICAgICAgbWV0YWRhdGE6" + - "CiAgICAgICAgICAgIGFubm90YXRpb25zOgogICAgICAgICAgICAgIG52Y2YubnZpZGlhLmNvbS9p" + - "bWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnk6IGt5dmVybm8KICAgICAgICAgIHNwZWM6CiAgICAg" + - "ICAgICAgIGltYWdlUHVsbFNlY3JldHM6CiAgICAgICAgICAgIC0gbmFtZTogbnZjci1jcmVkcwpg" + - "YGAKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBw" + - "bHkgXAogIC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKIyMjIDQu" + - "IEluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUKCkNvbnRpbnVlIHdpdGggdGhlIHNlbGVjdGVkIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uIGluCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBObwpjb250cm9sLXBsYW5lIGhl" + - "bG1maWxlIG1vZGlmaWNhdGlvbnMgYXJlIG5lZWRlZC4gS3l2ZXJubyBpbmplY3RzIHRoZSBwdWxs" + - "CnNlY3JldCBpbnRvIG5ldyBjb250cm9sLXBsYW5lIHBvZHMuCgojIyBDb21wdXRlLVBsYW5lIFNl" + - "Y3JldAoKQ3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgb24gdGhlIGNv" + - "bXB1dGUgY2x1c3RlcjoKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSBudmNhLW9wZXJhdG9yIFwKICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gYXBwbHkgLWYgLQoKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Y3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2Vy" + - "dmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9j" + - "a2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNhLW9wZXJhdG9y" + - "IFwKICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBcCiAga3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpgYGAKClJlZmVyZW5jZSBpdCBpbiB0aGUg" + - "Y29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCBmaWxlOgoKYGBgeWFtbApnbG9iYWw6CiAgaW1hZ2VQ" + - "dWxsU2VjcmV0czoKICAgIC0gbmFtZTogbnZjci1jcmVkcwpgYGAKClRoZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgdXNlIHRoYXQgcmVmZXJlbmNlIGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIHRo" + - "ZQpzZWNyZXQgdG8gYG52Y2Etc3lzdGVtYC4gRG8gbm90IGNyZWF0ZSBhIGJyb2FkZXIgbWFudWFs" + - "IGNvbXB1dGUgbmFtZXNwYWNlIGxpc3QuIEZvbGxvdwpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKSBmb3IgdGhlCnNlbGVjdGVk" + - "IGluc3RhbGwgZmxvdy4KCiMjIFZlcmlmaWNhdGlvbgoKYGBgYmFzaAojIENoZWNrIHRoYXQgYSBj" + - "b250cm9sLXBsYW5lIHBvZCBoYXMgdGhlIGluamVjdGVkIHNlY3JldAprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4gXAogIC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgRXhwZWN0ZWQ6" + - "IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCgojIENoZWNrIHRoZSBLeXZlcm5vIGFubm90YXRpb24K" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFt" + - "ZXNwYWNlPiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5tZXRhZGF0YS5hbm5vdGF0aW9u" + - "cy5udmNmXC5udmlkaWFcLmNvbS9pbWFnZXB1bGxzZWNyZXQtaW5qZWN0ZWQtYnl9JwojIEV4cGVj" + - "dGVkOiBreXZlcm5vCgojIENoZWNrIHB1bGwgZXZlbnRzCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gXAogIC0tc29ydC1i" + - "eT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3Nm" + - "dWxseSBwdWxsZWQiIG5vdCAiNDAxIFVuYXV0aG9yaXplZCIKCiMgQ2hlY2sgdGhlIGNoYXJ0L29w" + - "ZXJhdG9yIG1pcnJvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyBcCiAgLW4gbnZjYS1z" + - "eXN0ZW0KYGBgCgojIyBXaGVuIFB1bGwgU2VjcmV0cyBBcmUgTm90IE5lZWRlZAoKLSAqKkFXUyBF" + - "Q1Igd2l0aCBJQU0gbm9kZSByb2xlcyoqOiBJZiB5b3VyIG5vZGVzIGhhdmUgYEFtYXpvbkVDMkNv" + - "bnRhaW5lclJlZ2lzdHJ5UmVhZE9ubHlgIElBTSBwb2xpY3ksIEt1YmVybmV0ZXMgY2FuIHB1bGwg" + - "ZnJvbSBFQ1Igd2l0aG91dCBleHBsaWNpdCBzZWNyZXRzLgotICoqUHVibGljIHJlZ2lzdHJpZXMq" + - "KjogTm8gcHVsbCBzZWNyZXRzIG5lZWRlZC4KLSAqKkNTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhl" + - "bHBlcnMqKjogR0tFIEFydGlmYWN0IFJlZ2lzdHJ5LCBBenVyZSBBQ1Igd2l0aCBtYW5hZ2VkIGlk" + - "ZW50aXR5LCBhbmQgc2ltaWxhciBzZXJ2aWNlcy4KCiMjIFRyb3VibGVzaG9vdGluZwoKIyMjIFBv" + - "ZHMgc3RpbGwgaW4gSW1hZ2VQdWxsQmFja09mZiBhZnRlciBhcHBseWluZyBwb2xpY3kKClRoZSBL" + - "eXZlcm5vIHBvbGljeSBvbmx5IGFmZmVjdHMgcG9kcyBjcmVhdGVkICoqYWZ0ZXIqKiB0aGUgcG9s" + - "aWN5IGlzIGFwcGxpZWQuIERlbGV0ZSBzdHVjayBwb2RzIHRvIHRyaWdnZXIgcmVjcmVhdGlvbjoK" + - "CmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBkZWxldGUgcG9kcyAt" + - "biA8bmFtZXNwYWNlPiAtLWFsbApgYGAKCiMjIyBLeXZlcm5vIGFkbWlzc2lvbiBjb250cm9sbGVy" + - "IG5vdCBydW5uaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBwb2RzIC1uIGt5dmVybm8KIyBBbGwgcG9kcyBzaG91bGQgYmUgUnVubmluZwpg" + - "YGAKCiMjIyBQb2xpY3kgbm90IG1hdGNoaW5nCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBjbHVzdGVycG9saWN5IG52Y2YtYWRkLWltYWdlcHVs" + - "bHNlY3JldHMKIyBTaG91bGQgc2hvdyBSRUFEWTogVHJ1ZQpgYGAKCiMjIyBXcm9uZyBzZWNyZXQg" + - "bmFtZQoKVGhlIHBvbGljeSByZWZlcmVuY2VzIGBudmNyLWNyZWRzYC4gVmVyaWZ5IHRoZSBzZWNy" + - "ZXQgZXhpc3RzIHdpdGggdGhhdCBleGFjdCBuYW1lOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + - "dCA8dGFyZ2V0LWNvbnRleHQ+IGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgpg" + - "YGAKUEsHCEtCNagAFgAAABYAAFBLAQIUABQACAAAAAAAIQCCTBQxShAAAEoQAAASAAkAAAAAAAAA" + - "AAAAAAAAAABkYXRhL21hbmlmZXN0Lmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEArRNx29hk" + - "AADYZAAAIwAJAAAAAAAAAAAAAACTEAAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAeppPnCoRAAAqEQAAMwAJAAAAAAAAAAAAAADFdQAA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvY2ktcGlwZWxpbmVzLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhAA7gx2khEwAAIRMAADQACQAAAAAAAAAAAAAAWYcAAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL211bHRpLWNsdXN0ZXIubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEA1FIZ5IMXAACDFwAANwAJAAAAAAAAAAAAAADlmgAAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDU3o00nxkAAJ8ZAAA5AAkAAAAAAAAAAAAAANayAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEA0kPcBBglAAAYJQAANwAJAAAAAAAAAAAAAADlzAAAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy9kZXBsb3ktYW5kLWludm9rZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQBykiwmvg4AAL4OAAA9AAkAAAAAAAAAAAAAAGvyAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhALRJ3ydWKQAAVikAADoACQAAAAAAAAAAAAAAnQEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvaW5zdGFsbC1mcm9tLXNjcmF0Y2gubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA4II8VSIIAAAiCAAAOQAJAAAAAAAAAAAAAABkKwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANqHY1bkIQAA5CEAAC4ACQAAAAAAAAAAAAAA9jMBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAFaVAjNMlAADTJQAA" + - "MAAJAAAAAAAAAAAAAAA/VgEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2Nv" + - "bW1hbmRzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAOUdeab6DwAA+g8AADIACQAAAAAAAAAA" + - "AAAAeXwBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhACIJYQOkWwAApFsAAC0ACQAAAAAAAAAAAAAA3IwBAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQAauLPzYSEAAGEhAAA3AAkAAAAAAAAAAAAAAOToAQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9yZWZlcmVuY2UvdHJvdWJsZXNob290aW5nLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhABHDFJNJYgAASWIAACwACQAAAAAAAAAAAAAAswoCAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEdValZKVgAA" + - "SlYAADQACQAAAAAAAAAAAAAAX20CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAAlJOQH8oAAB/KAAALwAJ" + - "AAAAAAAAAAAAAAAUxAIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBs" + - "ZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAlmO8WRIwAAASMAAATAAJAAAAAAAAAAAAAAD5" + - "7AIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC1enA7tTAAALUw" + - "AAA7AAkAAAAAAAAAAAAAAI4dAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQATEeyNCioAAAoq" + - "AABEAAkAAAAAAAAAAAAAALVOAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQA4" + - "+SevuQcAALkHAAA/AAkAAAAAAAAAAAAAADp5AwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAS0I1qAAWAAAAFgAAPgAJAAAAAAAAAAAAAABpgQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWRVVAUAAQCmzhJQSwUGAAAAABcA" + - "FwCvCQAA3pcDAAAA" + "IGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUg" + + "ZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBp" + + "dHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhl" + + "bG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBi" + + "ZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhh" + + "bmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93" + + "cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRo" + + "ZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + + "YWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFu" + + "ZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGlu" + + "ZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93" + + "biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBh" + + "bmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhw" + + "bGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9s" + + "LXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05G" + + "SUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJC" + + "ZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVz" + + "IGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVk" + + "LWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0" + + "IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdl" + + "dCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBw" + + "YXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBk" + + "b3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0" + + "aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhl" + + "IGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9u" + + "IjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5n" + + "IHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNl" + + "ZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2Vj" + + "cmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwg" + + "b25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJi" + + "aXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tz" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNo" + + "YWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3Jl" + + "dHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGds" + + "b2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3Nh" + + "bmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRj" + + "LikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1" + + "ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQg" + + "YW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMg" + + "YmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25z" + + "IiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1" + + "bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVz" + + "dGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBk" + + "byBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExN" + + "IGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNh" + + "cyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWlu" + + "ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2Fk" + + "LWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCBy" + + "ZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRo" + + "b2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhl" + + "IHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQ" + + "SSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmln" + + "Lndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRy" + + "YW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBp" + + "cyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2lu" + + "ZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBl" + + "eGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywg" + + "cm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNv" + + "bGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQg" + + "cmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3Qg" + + "Y2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVy" + + "IGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVz" + + "dC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAi" + + "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhl" + + "bnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0" + + "YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0" + + "LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmls" + + "ZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUg" + + "c2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExM" + + "TSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwg" + + "bGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2Vy" + + "IHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2Fs" + + "IE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25n" + + "cyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBz" + + "ZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1z" + + "cGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + + "bWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9k" + + "dWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRl" + + "ZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8g" + + "dGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAA" + + "SlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1w" + + "bGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92" + + "ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJj" + + "ZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4" + + "bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVk" + + "YC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFs" + + "dWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+" + + "IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJl" + + "Zm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVs" + + "bWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxv" + + "dywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rvcnkg" + + "YXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAg" + + "dmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNl" + + "OiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9n" + + "bG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVu" + + "diAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAg" + + "IHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAg" + + "ICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6" + + "ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBh" + + "bmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAv" + + "Y2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNl" + + "cyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVy" + + "ZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4g" + + "VXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVw" + + "bG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0" + + "aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9g" + + "KSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0" + + "cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAg" + + "ICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdl" + + "OgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoK" + + "IyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxs" + + "cykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5H" + + "Q19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + + "cCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBw" + + "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + + "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + + "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + + "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + + "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + + "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + + "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + + "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxT" + + "ZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFn" + + "ZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEg" + + "aW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBu" + + "YW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVu" + + "YWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2" + + "YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1" + + "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBj" + + "YXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAg" + + "ICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFy" + + "dC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNv" + + "bXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7" + + "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBg" + + "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50" + + "cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVu" + + "ZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFj" + + "a09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVt" + + "IG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9t" + + "LWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBc" + + "CiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19" + + "JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBk" + + "ZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1" + + "bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAoj" + + "IFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBg" + + "CgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEg" + + "ZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3Rl" + + "cCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxj" + + "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVj" + + "ayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2Rl" + + "YnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAt" + + "c3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNs" + + "dXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + + "bHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0" + + "aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBj" + + "bHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0" + + "aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBg" + + "YAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBT" + + "dGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2Vy" + + "dC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + + "b2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95" + + "LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVy" + + "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + + "IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1h" + + "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + + "IHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9u" + + "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1v" + + "dmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBs" + + "aWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApL" + + "VUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + + "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJl" + + "Y29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2Vz" + + "CmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVw" + + "IC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8" + + "bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxk" + + "IHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIK" + + "CkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24p" + + "LCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5l" + + "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + + "CgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFu" + + "Z2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5j" + + "ZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0" + + "IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAt" + + "biBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZh" + + "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIERO" + + "UyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUg" + + "aG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyBy" + + "ZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWlu" + + "PmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEg" + + "dGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0" + + "ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcg" + + "YEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRp" + + "cmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcg" + + "dmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5l" + + "CklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhl" + + "aXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0" + + "aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2lu" + + "YWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + + "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRl" + + "IGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGln" + + "ICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRw" + + "Oi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAt" + + "byB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRw" + + "cm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0" + + "Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9s" + + "bG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9y" + + "IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "d2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNh" + + "LW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFs" + + "dGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVw" + + "ZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2Vydmlj" + + "ZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwg" + + "T3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1u" + + "IG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3Rs" + + "IGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVs" + + "ZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2Vz" + + "IHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNg" + + "IHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2Vy" + + "dmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJv" + + "eHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qt" + + "cm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlv" + + "bmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + + "ZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0" + + "aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRk" + + "b24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJl" + + "cXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBg" + + "bGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVz" + + "dCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12" + + "YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhl" + + "IHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdh" + + "dGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBv" + + "bmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRk" + + "b25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGlu" + + "Z3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlk" + + "dWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5v" + + "dCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3Ig" + + "bmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5l" + + "IGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRo" + + "ZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUg" + + "aGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBj" + + "b21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBm" + + "bG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxh" + + "bmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxt" + + "ZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVu" + + "dmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + + "dHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8" + + "IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + + "YW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJ" + + "IHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhh" + + "bmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9s" + + "LXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0" + + "aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5l" + + "ZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1j" + + "b21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290" + + "cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBl" + + "bnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAg" + + "cmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4K" + + "LSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1" + + "dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2Ug" + + "dGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + + "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9s" + + "LXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4K" + + "YGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2Yt" + + "Z2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4g" + + "VGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBw" + + "bHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5g" + + "IGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFz" + + "ZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwK" + + "IyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + + "YWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBu" + + "dmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBj" + + "U2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNm" + + "TmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1Nl" + + "cnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZv" + + "Y2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpn" + + "cnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVz" + + "dGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFt" + + "ZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDog" + + "e25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBj" + + "OiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5h" + + "dHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1n" + + "YXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZB" + + "cGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3Ru" + + "YW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAg" + + "ICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsi" + + "d29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJs" + + "ZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + + "ICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + + "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgog" + + "ICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFk" + + "ZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdh" + + "eS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIK" + + "ICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2" + + "aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6Cgpg" + + "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + + "b25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + + "b25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRk" + + "cmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJ" + + "X0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6" + + "ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8v" + + "PGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igph" + + "cGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMu" + + "PGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFp" + + "bj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNv" + + "bnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1h" + + "cHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21z" + + "X2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRo" + + "ZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20g" + + "dGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBg" + + "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNs" + + "dXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+" + + "IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4g" + + "XAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRo" + + "LXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + + "cGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklM" + + "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmln" + + "PgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZy" + + "b20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVu" + + "dCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNv" + + "bW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9u" + + "bHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVy" + + "LgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + + "IGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUg" + + "cmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + + "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVn" + + "aW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + + "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBl" + + "cnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNo" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1w" + + "cm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + + "CiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxy" + + "ZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + + "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1j" + + "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + + "biBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdp" + + "c3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFj" + + "aGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBK" + + "V0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQg" + + "SGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNv" + + "bnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxh" + + "bmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21w" + + "dXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFu" + + "ZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBj" + + "b21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBp" + + "biBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3Qg" + + "YWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1h" + + "bmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + + "dHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBh" + + "bmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8g" + + "d2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91" + + "dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Et" + + "b3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1" + + "c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgoj" + + "IyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJl" + + "Zm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29u" + + "dHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFBy" + + "ZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNl" + + "IHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlm" + + "eSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3Rh" + + "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAph" + + "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVs" + + "ZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBt" + + "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcg" + + "b3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVy" + + "CnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25m" + + "aXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2" + + "YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNs" + + "ZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + + "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + + "Y29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAg" + + "LS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0t" + + "bmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklE" + + "YCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdp" + + "c3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBl" + + "eGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxl" + + "dGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkg" + + "Y29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNo" + + "CktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + + "RUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNP" + + "TkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1w" + + "bGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBg" + + "a3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + + "bGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVz" + + "dGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNh" + + "bWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + + "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + + "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29t" + + "cHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxj" + + "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hv" + + "dyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24g" + + "LS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhh" + + "dCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1w" + + "bGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3Rl" + + "ciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhl" + + "biBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNm" + + "LWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBs" + + "YWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0t" + + "aWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25s" + + "eSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1u" + + "Y2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwK" + + "ICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAg" + + "LS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+" + + "IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0" + + "ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVn" + + "aXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + + "dGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5j" + + "ZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFu" + + "YWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAoj" + + "IEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdp" + + "ZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxu" + + "YW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZl" + + "bnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZl" + + "bnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJl" + + "IGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVj" + + "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJl" + + "OiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAg" + + "UkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAg" + + "MC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93" + + "OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjog" + + "NDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0" + + "IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + + "ZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlz" + + "dHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFt" + + "ZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3Vi" + + "ZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3Bl" + + "Yy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBp" + + "bWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAt" + + "byBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2Vj" + + "cmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJl" + + "Y3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + + "IFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3Bh" + + "Y2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "YXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVm" + + "ZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJl" + + "ZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRz" + + "Lm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3Bl" + + "bmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNo" + + "IFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0o" + + "cHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERl" + + "bGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52" + + "Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVu" + + "dGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgoj" + + "IyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVz" + + "OgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAg" + + "IFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDow" + + "LzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5l" + + "ciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoK" + + "YGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5" + + "c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpv" + + "YnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dz" + + "IC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5p" + + "dCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNw" + + "YWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoq" + + "T3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2Ug" + + "cHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlv" + + "biBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2Fz" + + "IGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAg" + + "IEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2" + + "ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBz" + + "ZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5p" + + "bmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3Bl" + + "bmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBg" + + "YXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFs" + + "aWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBh" + + "bnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1r" + + "ZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVk" + + "IHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0" + + "aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNh" + + "bm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5z" + + "IHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2Vu" + + "dC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBg" + + "SW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBv" + + "cGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAg" + + "IG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4g" + + "VXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFs" + + "bGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhl" + + "IGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBl" + + "bnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3Bl" + + "bmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAg" + + "ICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1z" + + "eXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUg" + + "bWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1l" + + "bnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmlu" + + "YWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBh" + + "bmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+" + + "MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJs" + + "ZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVz" + + "ZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJv" + + "dGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEK" + + "CiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJF" + + "U1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAx" + + "MG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNh" + + "c3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgoj" + + "IyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMu" + + "IFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1s" + + "Ci0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAi" + + "OCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIy" + + "IgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBu" + + "b3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhw" + + "bGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMj" + + "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + + "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0K" + + "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5n" + + "IGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4K" + + "CiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUo" + + "cykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUg" + + "YXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVj" + + "bGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0" + + "Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJh" + + "c2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAK" + + "CjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlz" + + "dHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJ" + + "bnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gK" + + "ICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRl" + + "ZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBT" + + "dGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ug" + + "d2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVh" + + "cnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVk" + + "KS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1u" + + "IDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFz" + + "ZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNw" + + "YWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgpr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + + "ZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFp" + + "bGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJl" + + "IGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2Jz" + + "IC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykK" + + "a3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENo" + + "ZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + + "bWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25n" + + "IGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNy" + + "ZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBu" + + "b3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQg" + + "Y3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMg" + + "U2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lz" + + "dHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVk" + + "IGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXgg" + + "Y3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91" + + "dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwg" + + "ZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5k" + + "Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3Rs" + + "IGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJz" + + "KQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMK" + + "c3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9w" + + "ZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGlu" + + "ZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBj" + + "b250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxl" + + "ZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFu" + + "ZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVf" + + "Q09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9t" + + "IE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + + "VCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRh" + + "ZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7" + + "fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1" + + "YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAi" + + "JG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0i" + + "JyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNl" + + "cyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52" + + "Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0" + + "IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZp" + + "bmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + + "VCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXpl" + + "IiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1p" + + "c3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IK" + + "aXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3Ig" + + "XAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZp" + + "eGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRo" + + "YXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0" + + "YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0" + + "ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQv" + + "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9w" + + "ZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRo" + + "ZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBt" + + "YW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + + "bWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBD" + + "aGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91" + + "dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMg" + + "cmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25v" + + "c2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdh" + + "eSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1u" + + "ICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6" + + "IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGly" + + "ZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5h" + + "dHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52" + + "Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgoj" + + "IyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBv" + + "dmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3Rp" + + "bmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5" + + "LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9u" + + "IHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4" + + "YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5n" + + "ZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJl" + + "bmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3Bh" + + "Y2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwg" + + "bmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwg" + + "b3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1w" + + "cm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGkt" + + "Z2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBl" + + "c3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52" + + "b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3" + + "YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAA" + + "AAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + + "cy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZl" + + "cmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAg" + + "IyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5" + + "LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9u" + + "bWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFs" + + "dWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAg" + + "ICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYt" + + "bmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVk" + + "cywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0" + + "ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBs" + + "YW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5n" + + "b3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1u" + + "dmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBj" + + "b25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAg" + + "ICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxl" + + "bnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAt" + + "LSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29u" + + "c3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUg" + + "ZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZs" + + "b3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBp" + + "bnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0" + + "cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + + "CgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0t" + + "LS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1u" + + "YXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1u" + + "dmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBk" + + "ZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNz" + + "YW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0" + + "ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoK" + + "IyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwg" + + "TGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5" + + "cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhl" + + "bG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52" + + "Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRp" + + "b24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1n" + + "cnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1h" + + "cGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5" + + "LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2Yg" + + "fCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJl" + + "cXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNm" + + "L2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlz" + + "c3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAo" + + "bm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVz" + + "IHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBp" + + "bmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFy" + + "dHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsu" + + "Li9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMu" + + "bGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3Rh" + + "bmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + + "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0t" + + "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAo" + + "dmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNl" + + "cnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVk" + + "IGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRl" + + "bmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAu" + + "IE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdv" + + "dGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpg" + + "IGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1" + + "ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1" + + "ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8g" + + "dGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBg" + + "eWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5k" + + "ZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZh" + + "bHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12" + + "YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBX" + + "aGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQog" + + "IDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNs" + + "dWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VO" + + "ViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj" + + "IFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAg" + + "ICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZl" + + "KQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVy" + + "aXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAog" + + "IG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoK" + + "V2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBu" + + "ZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1" + + "ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoK" + + "RnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55" + + "YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hh" + + "cnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRz" + + "LnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24g" + + "cmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1w" + + "bCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVl" + + "c2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0" + + "cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMg" + + "aXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJl" + + "cGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkK" + + "LSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNl" + + "LnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3Rv" + + "cnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMj" + + "IyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdl" + + "LipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0" + + "c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0" + + "ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBg" + + "b3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAK" + + "LSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAot" + + "IGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFi" + + "bGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4q" + + "YCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBl" + + "bmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMj" + + "IExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3Jl" + + "YXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBU" + + "aGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdh" + + "eWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5" + + "IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRo" + + "ZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFi" + + "bGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEg" + + "c2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9u" + + "IHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoK" + + "CmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAg" + + "ICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9y" + + "OgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxp" + + "Y2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAg" + + "ICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVz" + + "dGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAog" + + "ICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGBy" + + "ZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3Rl" + + "cnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMg" + + "b24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0g" + + "QVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMu" + + "bGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2Fw" + + "YWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBG" + + "b3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGlj" + + "YSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQu" + + "c3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRy" + + "YW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qg" + + "cm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3Vy" + + "YXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltM" + + "TE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklE" + + "SUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxv" + + "YWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVk" + + "IG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9y" + + "eSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBg" + + "YHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAg" + + "ICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lz" + + "dHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5O" + + "VkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQu" + + "ClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1" + + "dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29u" + + "ZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBk" + + "YXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0" + + "ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGlu" + + "c3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6Cgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBp" + + "bnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24g" + + "bXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3Qg" + + "cmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0" + + "YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2" + + "ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1l" + + "CnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250" + + "cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lv" + + "bi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0" + + "bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQg" + + "cG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRl" + + "cicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJh" + + "Y2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3Bl" + + "Yy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17" + + "ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJg" + + "IGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIg" + + "c2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3Vy" + + "YXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3Jj" + + "L2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9u" + + "Lm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9y" + + "IGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBz" + + "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + + "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVz" + + "dC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgoj" + + "IERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1w" + + "cm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9" + + "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBv" + + "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2Fi" + + "bGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + + "aW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZD" + + "RiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJh" + + "Y3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9l" + + "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1" + + "ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMK" + + "dGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxl" + + "bnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0" + + "cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0" + + "ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5n" + + "IGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + + "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + + "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29y" + + "ZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + + "aG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52" + + "Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZp" + + "cm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3" + + "IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + + "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + + "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + + "cGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52" + + "Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdh" + + "eS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBh" + + "bmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + + "CnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBW" + + "UE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAg" + + "cm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldo" + + "ZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1w" + + "bGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBv" + + "biBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMg" + + "YXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ug" + + "b25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUg" + + "YXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1w" + + "bGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQg" + + "b3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQg" + + "dG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMj" + + "IDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + + "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + + "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBc" + + "CiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3Jl" + + "YXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + + "WT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + + "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + + "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVz" + + "cGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBj" + + "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + + "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + + "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + + "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + + "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9u" + + "LU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNl" + + "cm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENs" + + "dXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVz" + + "dGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3Bl" + + "YzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxs" + + "c2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSBy" + + "ZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAg" + + "ICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5" + + "cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0g" + + "Im5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAg" + + "ICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0" + + "YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAg" + + "ICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdl" + + "cHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAg" + + "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBc" + + "CiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5z" + + "dGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJv" + + "bC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZp" + + "bGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2Vj" + + "cmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0" + + "CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0" + + "ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + + "cHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + + "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9" + + "bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXIt" + + "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAog" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21w" + + "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxT" + + "ZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNl" + + "Y3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29t" + + "cHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5z" + + "dGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRy" + + "b2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + + "CiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3si" + + "bmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52" + + "Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6" + + "IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScu" + + "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + + "IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0" + + "b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3Rl" + + "bQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3" + + "aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFp" + + "bmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9t" + + "IEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBO" + + "byBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVy" + + "cyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRp" + + "dHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBz" + + "dGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVy" + + "bm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kg" + + "aXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxu" + + "YW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90" + + "IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoK" + + "IyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2Vj" + + "cmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1l" + + "CgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBl" + + "eGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0" + + "YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQ" + + "SwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAJUXFCpKEAAAShAAABIACQAAAAAAAAAAAAAA" + + "AAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhk" + + "AAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEADuDHaSETAAAhEwAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDUUhnkgxcAAIMXAAA3AAkAAAAAAAAAAAAAAOWaAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA1rIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAOXMAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKS" + + "LCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAa/IAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "tEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAACdAQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDg" + + "gjxVIggAACIIAAA5AAkAAAAAAAAAAAAAAGQrAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odj" + + "VuQhAADkIQAALgAJAAAAAAAAAAAAAAD2MwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM0yUAANMlAAAwAAkA" + + "AAAAAAAAAAAAAD9WAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFu" + + "ZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAAAAAAAAB5" + + "fAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAIglhA6RbAACkWwAALQAJAAAAAAAAAAAAAABKjQEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAUukBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAAhCwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAA" + + "NAAJAAAAAAAAAAAAAADNbQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + + "bHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAA" + + "AAAAAAAAAILEAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAGftAgBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + + "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsA" + + "CQAAAAAAAAAAAAAA/B0DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQA" + + "CQAAAAAAAAAAAAAAI08DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5" + + "BwAAuQcAAD8ACQAAAAAAAAAAAAAAqHkDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBL" + + "QjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAANeBAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8J" + + "AABMmAMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/progress/select.go b/src/clis/nvcf-cli/internal/selfhosted/progress/select.go index 86349be3ef..deec5bfa27 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/progress/select.go +++ b/src/clis/nvcf-cli/internal/selfhosted/progress/select.go @@ -229,10 +229,19 @@ func detectTerminalSize(w io.Writer) *Size { // Aligns with how GitHub Actions, GitLab CI, CircleCI, etc. set CI=true. // Falsy values (false, 0, no, empty) leave the matrix free to fall through. func isTruthy(v string) bool { + on, _ := ParseToggle(v) + return on +} + +// ParseToggle reads a boolean environment value, in any case and with +// surrounding space: true, 1, yes, y and on are on; false, 0, no, n and off +// are off. ok is false for any other value, the empty one included. +func ParseToggle(v string) (on, ok bool) { switch strings.ToLower(strings.TrimSpace(v)) { case "true", "1", "yes", "y", "on": - return true - default: - return false + return true, true + case "false", "0", "no", "n", "off": + return false, true } + return false, false } From 84c4fd19d482e83214ee84ca362fd095fd4a67e0 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:03:08 +0530 Subject: [PATCH 109/127] fix(nvcf-cli): end check --wait on a warning-only row its share cut short on two polls in a row Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 2 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 26 +- .../cmd/self_hosted_check_rows_test.go | 61 +- .../agentskill/skilldata_generated.go | 4716 +++++++++-------- 4 files changed, 2437 insertions(+), 2368 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 255cf4930e..61529c4817 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -20,7 +20,7 @@ | `--no-apply` | `install` only - emit YAML, do not kubectl apply | `false` | | `--output=text\|json` | Legacy alias for `--json` (deprecated, removed in next major) | `text` | | `--plain` | Force plain streaming output | auto-detect | -| `--wait DURATION` | `check` only; run the checks again, 5s apart, until they pass or DURATION runs out (exit `5`, `final` with `success: false`). Each run includes the cluster-validator Job, which can take up to 5m, so allow for it or pass `--skip-cluster-validation`. A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. A check the time budget stopped keeps it polling too, and its event carries `cutShort: true`. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | +| `--wait DURATION` | `check` only; run the checks again, 5s apart, until they pass or DURATION runs out (exit `5`, `final` with `success: false`). Each run includes the cluster-validator Job, which can take up to 5m, so allow for it or pass `--skip-cluster-validation`. A warning that is expected to clear, such as a rollout in progress, keeps it polling, and its `check_completed` event carries `transient: true`. A check the time budget stopped keeps it polling too, and its event carries `cutShort: true`. A check that can only warn and is stopped on two polls in a row ends the wait as a single run would: exit `0` with the warning. Cannot be combined with `--no-cleanup`. A malformed or non-positive DURATION is a usage error (exit `1`, no events) | - | | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`, and not at one derived from a `base_http_url` on NVIDIA's hosted `nvcf.nvidia.com`, as the config template's is; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 9e1a9e12c0..1cc0fdef15 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -453,6 +453,7 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } return &ExitCodeError{Code: 5, Msg: "wait timeout: a rollout was still in progress after " + selfHostedWait} } + var previous []selfhosted.CheckResult for { lastResults = runOnce() if interrupted() { @@ -464,10 +465,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { if anyCutShort(lastResults) && ctx.Err() != nil { return exitBudgetSpent() } - if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults) { + if !anyFailed(lastResults) && !anyWarningToWaitOn(lastResults, previous) { emitCheckFinal(ctx, sink, lastResults, ledger.Outstanding()) return nil } + previous = lastResults // The deadline is checked first: with several cases ready, select // picks at random, and the ticker then re-ran the checks on a spent @@ -1611,15 +1613,33 @@ func anyFindingFailed(results []selfhosted.CheckResult) bool { // anyWarningToWaitOn reports a warning a later poll may clear: one expected to // clear by itself, such as a rollout the validator saw in progress, or a check // its budget stopped. --wait keeps polling on it; a single run still exits 0. -func anyWarningToWaitOn(results []selfhosted.CheckResult) bool { +// A warning its share cut short on the previous poll too is not waited on: +// each poll gets the same shares, so the next would most likely cut it short +// the same way, and --wait would exit 5 where a single run exits 0. +func anyWarningToWaitOn(results, previous []selfhosted.CheckResult) bool { + cutBefore := map[[2]string]bool{} + for _, r := range previous { + if cutShortWarning(r) { + cutBefore[[2]string{r.Category, r.ID}] = true + } + } for _, r := range results { - if (r.Transient || r.CutShort) && !r.Passed { + switch { + case r.Passed: + case r.Transient: + return true + case r.CutShort && !(cutShortWarning(r) && cutBefore[[2]string{r.Category, r.ID}]): return true } } return false } +// cutShortWarning reports a check a budget stopped that could at worst warn. +func cutShortWarning(r selfhosted.CheckResult) bool { + return r.CutShort && r.IsWarning() +} + // anyFailed reports a result that fails the run. Warnings do not. The exit // code and the final event's verdict both grade with IsBlockingFailure, so // they cannot disagree. diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index 547e4188a2..9fee3ff6db 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -390,6 +390,18 @@ func stubRolePolls(t *testing.T, polls ...[]selfhosted.CheckResult) *int { return &calls } +// cutShortRows is a poll whose registry checks for each host were cut short +// by their share at severity. +func cutShortRows(severity selfhosted.Severity, hosts ...string) []selfhosted.CheckResult { + var rows []selfhosted.CheckResult + for _, host := range hosts { + rows = append(rows, selfhosted.CheckResult{Category: selfhosted.CategoryRegistryCredentials, + ID: "registry-cred-" + host, Severity: severity, CutShort: true, + Message: "cut short: the check's time budget ran out before it finished"}) + } + return rows +} + // A check a share stopped keeps the severity it could at worst have had. One // that could only warn, a registry that is not critical, does not fail the // run or time it out: exit 0, and the row says it was cut short. --wait polls @@ -397,9 +409,7 @@ func stubRolePolls(t *testing.T, polls ...[]selfhosted.CheckResult) *int { // first poll whose share ran out. func TestCheck_CutShortRowsKeepTheirSeverityAndWaitPollsAgain(t *testing.T) { cutShort := func(severity selfhosted.Severity) []selfhosted.CheckResult { - return []selfhosted.CheckResult{{Category: selfhosted.CategoryRegistryCredentials, - ID: "registry-cred-slow.example", Severity: severity, CutShort: true, - Message: "cut short: the check's time budget ran out before it finished"}} + return cutShortRows(severity, "slow.example") } passed := []selfhosted.CheckResult{{Category: selfhosted.CategoryRegistryCredentials, ID: "registry-cred-slow.example", Passed: true, Severity: selfhosted.SeverityInfo}} @@ -422,11 +432,48 @@ func TestCheck_CutShortRowsKeepTheirSeverityAndWaitPollsAgain(t *testing.T) { assert.Equal(t, 2, *calls, "%s: the next poll gets fresh shares", severity) assert.Equal(t, "ok", finalEvent(t, run.stderr)["verdict"], severity) } +} + +// The shares are the same on every poll, so a check its share cut short on +// two polls in a row would most likely be cut short again. When it can only +// warn, --wait stops there and grades the poll as a single run would: exit 0 +// with the warning, the row still marked cut short. One that can fail the +// run, one that may clear by itself, or a different check each poll, keeps it +// polling until DURATION. +func TestCheck_WaitEndsOnAWarningCutShortTwiceInARow(t *testing.T) { + args := []string{"--control-plane", "--skip-cluster-validation", "--wait"} + + calls := stubRolePolls(t, cutShortRows(selfhosted.SeverityWarning, "slow.example")) + run := runCheck(t, checkStubs{}, append(args, "10s")...) + assert.Equal(t, 0, run.code(), "%v\n%s", run.err, run.stderr) + assert.Equal(t, 2, *calls) + final := finalEvent(t, run.stderr) + assert.Equal(t, "warnings", final["verdict"]) + assert.Equal(t, true, final["success"]) + rows := checkEvents(t, run.stderr, "check_completed") + require.Len(t, rows, 2) + assert.Equal(t, true, rows[1]["cutShort"]) + assert.Equal(t, "warning", rows[1]["severity"]) + + calls = stubRolePolls(t, cutShortRows(selfhosted.SeverityWarning, "a.example"), + cutShortRows(selfhosted.SeverityWarning, "b.example")) + run = runCheck(t, checkStubs{}, append(args, "10s")...) + assert.Equal(t, 0, run.code(), run.stderr) + assert.Equal(t, 3, *calls, "a.example was not cut short again, so b.example's first cut does not end the wait") - stubRolePolls(t, cutShort(selfhosted.SeverityWarning)) - run = runCheck(t, checkStubs{}, append(args, "--wait", "50ms")...) - assert.Equal(t, 5, run.code(), run.stderr) - require.ErrorContains(t, run.err, "a check was still cut short by its time budget") + transient := cutShortRows(selfhosted.SeverityWarning, "slow.example") + transient[0].Transient = true + for name, poll := range map[string][]selfhosted.CheckResult{ + "error": cutShortRows(selfhosted.SeverityError, "slow.example"), + "transient": transient, + } { + calls = stubRolePolls(t, poll) + run = runCheck(t, checkStubs{}, append(args, "200ms")...) + assert.Equal(t, 5, run.code(), "%s: %s", name, run.stderr) + require.ErrorContains(t, run.err, "a check was still cut short by its time budget", name) + assert.Greater(t, *calls, 2, name) + assert.Equal(t, "timeout", finalEvent(t, run.stderr)["verdict"], name) + } } // A cluster that cannot be contacted at all fails the run, with or without a diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index a699dbc32b..6a16315b3a 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjg5NDcsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjkwNzUsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhNjEzYThiY2NiZGY5MTZj" + - "OGUyNWZiMjA5ZDE4NzE5OTUyZmE1NGY0NzhkYTVkNjM2YzdiNmI4YWE3Mjk0NDgxIiwKICAgICAg" + - "InNpemUiOiAyMzQ2MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhYzQ3ZmFjMjU4M2FlZjIx" + + "M2M0ZDkwOTFlMTg2NTI5NTFlMDE0NmUxNmExNDE3MzAzZjEyNjRmOWFiNjRjMjFjIiwKICAgICAg" + + "InNpemUiOiAyMzU4OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJUXFCpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCDrO2zBKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1848,2365 +1848,2367 @@ const skillDataZipBase64 = "" + "IHByb2dyZXNzLCBrZWVwcyBpdCBwb2xsaW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2" + "ZW50IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAuIEEgY2hlY2sgdGhlIHRpbWUgYnVkZ2V0IHN0" + "b3BwZWQga2VlcHMgaXQgcG9sbGluZyB0b28sIGFuZCBpdHMgZXZlbnQgY2FycmllcyBgY3V0U2hv" + - "cnQ6IHRydWVgLiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxm" + - "b3JtZWQgb3Igbm9uLXBvc2l0aXZlIERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFg" + - "LCBubyBldmVudHMpIHwgLSB8CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJl" + - "Y3RsIGNvbnRleHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQg" + - "fAp8IGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBj" + - "b21wdXRlIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBV" + - "UkxgIHwgUHVibGljIElDTVMgVVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNo" + - "ZWNrYCBwcm9iZXMgU0lTIG9ubHkgYXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJM" + - "YCBvciBgTlZDRl9TSVNfVVJMYCwgb3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBi" + - "YXNlX2h0dHBfdXJsYCwgYW5kIG5vdCBhdCBvbmUgZGVyaXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91" + - "cmxgIG9uIE5WSURJQSdzIGhvc3RlZCBgbnZjZi5udmlkaWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0" + - "ZW1wbGF0ZSdzIGlzOyB3aXRoIG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEg" + - "d2FybmluZyB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlg" + - "IHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBj" + - "bHVzdGVyIGFuZCByZWdpc3RyeSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3Nl" + - "ZC4gVGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdz" + - "IGNsdXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFu" + - "ZCBzYXkgYHNraXBwZWQgKC0tbG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVE" + - "X0xPQ0FMX09OTFlgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1z" + - "cGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1j" + - "b21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJv" + - "dGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3RzIGl0cyBvd24uIE9ubHkKdGhlIHNlbGVj" + - "dGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNzIGJvdGggY29udGV4dCBmbGFncyBvciBu" + - "ZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJl" + - "bnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBj" + - "bHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwgc2luY2UgU0lTIGlzIG5v" + - "dCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBvciBgLS1jb21wdXRlLXBsYW5lYCBpcyBh" + - "bHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRoIGEgcm9sZSdzIG93biBmbGFnLCB0aGF0" + - "IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVzdGVyIGFzIGluc3RhbGxlZC4gQSBtaXNz" + - "aW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhlbG1maWxlYCBvciBgaGVsbWAgZmFpbHMg" + - "b25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBjaGVjayBhbiBpbnN0YWxsZWQgc3RhY2ss" + - "IHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNv" + - "bnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0b3Zl" + - "ciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2" + - "ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhl" + - "IGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzLCBub2RlIGlub3Rp" + - "ZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEgY29uZmlndXJlZCBJQ01TIFVSTCwgYW5k" + - "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxs" + - "YCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAtLWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVh" + - "Y2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhvdXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8" + - "IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSBzaG93biBpbiB0aGUgb3V0cHV0" + - "IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBjaGVja2AgZG9lcyBub3QgcmVxdWlyZSBp" + - "dCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90" + - "aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3Qg" + - "Y3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBh" + - "IHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdl" + - "dCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3RpZnktbGltaXRzYCByb3cgcGFzc2VzIGF0" + - "IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURf" + - "U0tJUF9JTk9USUZZYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVy" + - "LXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVz" + - "dGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVz" + - "dGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBmb3IgaXQsIHBsdXMgYSBSb2xlIGFuZApS" + - "b2xlQmluZGluZyBpbiBgZGVmYXVsdGAgdGhhdCBsZXQgaXQgcmVhZCBvbmx5IGl0cyBvd24gQ29u" + - "ZmlnTWFwLCBhbmQgcmVtb3Zlcwp0aGVtIGFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmln" + - "IGNvbnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2" + - "YWxpZGF0b3IncyB0cmFuc2NyaXB0IHdpdGggYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVs" + - "dGAuCldpdGhvdXQgaXQsIGEgdmFsaWRhdG9yIEpvYiB0aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNz" + - "ZXMsIGFuZCBpdHMgcm93IHNheXMgdGhlCnRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQsIHNv" + - "IG5laXRoZXIgdGhlIGNoZWNrcyBpdCByYW4gbm9yIHdhcm5pbmdzIGl0CnJlcG9ydGVkIGFyZSBz" + - "aG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBj" + - "aGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRl" + - "cyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0" + - "ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxp" + - "ZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxh" + - "ZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rl" + - "cl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVz" + - "dCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVy" + - "ZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVj" + - "aywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9s" + - "bC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2gg" + - "cm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRp" + - "Y3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMg" + - "aG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVp" + - "ciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBm" + - "cm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0" + - "aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhl" + - "eSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhl" + - "IHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJl" + - "Z2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3Ig" + - "dGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0" + - "LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZj" + - "ci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFn" + - "ZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3" + - "YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50" + - "cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6" + - "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1" + - "c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9y" + - "bSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBm" + - "b3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9y" + - "J3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1z" + - "dHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5W" + - "Q0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rl" + - "cl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHVi" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8" + - "IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0" + - "IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVz" + - "dGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVu" + - "a25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0" + - "ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhl" + - "IGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVu" + - "dCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RF" + - "Ul9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + - "aWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBz" + - "dGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVm" + - "ZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNp" + - "ZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJz" + - "IHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQ" + - "cmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMg" + - "dGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NM" + - "SV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFs" + - "aWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtLCBub3Qg" + - "S3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + - "ci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRg" + - "IHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVz" + - "ZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFn" + - "ZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRy" + - "eSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3Bh" + - "Y2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMg" + - "b25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJl" + - "Z2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRo" + - "ZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQs" + - "IGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0" + - "aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZh" + - "bGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNr" + - "LCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhl" + - "IGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxp" + - "ZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBF" + - "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCwgYHRydWVg" + - "IG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlk" + - "YXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRl" + - "YnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1" + - "c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2" + - "ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVyIGNoZWNr" + - "IHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhv" + - "dXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQg" + - "dGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVt" + - "IG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1z" + - "aG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0" + - "ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0b3IgbG9n" + - "cyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNh" + - "dGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVz" + - "IHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRo" + - "ZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBw" + - "cm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2Nh" + - "bApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklH" + - "L2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2ggYW55IGBj" + - "cmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdD" + - "IEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExf" + - "QVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5H" + - "Q19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2lu" + - "IG9ubHkgd2hlbiB0aGUKcmVnaXN0cnkgY2hlY2sncyBwbGFuZSwgYmVsb3csIGlzIGNoZWNrZWQg" + - "YmVmb3JlIGl0cyBpbnN0YWxsIHdpdGggdGhlCmBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1" + - "cGAgY3JlYXRlcyBpdHMgcHVsbCBzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcwpuZXZlciBzZW50" + - "IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVy" + - "ZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIGZvciBhIHJlcG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9g" + - "CnJlamVjdHMgdGhlIGRvY2tlciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAo" + - "YSA0MDMpLiBUaGlzIGlzCmRlY2lkZWQgb25jZSBwZXIgcmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBk" + - "aXNjb3ZlcnksIHRoZSByb3cgYW5kIHRoZQp2YWxpZGF0b3IncyBwdWxsIHNlY3JldCB1c2UgaXQs" + - "IHNvIGFsbCB0aHJlZSBnZXQgdGhlIHNhbWUgY3JlZGVudGlhbCwgYW5kIGEKbG9naW4gd2l0aCBu" + - "byBhY2Nlc3MgdG8gb25lIG9yZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0" + - "MDMgaXMKcmVwb3J0ZWQgYXMgbm8gYWNjZXNzIHRvIHRoYXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMg" + - "YSByZWplY3RlZCBsb2dpbi4gRWFjaApgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFs" + - "cyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZSBydW4Kd2FpdHMgY291bnRzIG9u" + - "IHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZh" + - "bGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6" + - "IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2Uu" + - "cmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcg" + - "d2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCBy" + - "ZWZ1c2VzIGl0LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9z" + - "ZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFk" + - "ZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNo" + - "IHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFuZSBmb3IgYSBiYXJl" + - "CmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxh" + - "bmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3" + - "aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5lLgoKT25seSBhIGNy" + - "ZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9y" + - "IGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBCZWZvcmUg" + - "aW5zdGFsbCB0aGF0IGluY2x1ZGVzIGEgZG9ja2VyCmxvZ2luIGBudmNyLmlvYCByZWplY3RzIGV2" + - "ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIHNpbmNlCmBoZWxtYCBvbiB0" + - "aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0YWNrJ3MgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dp" + - "bi4gVGhlCmtleSBpcyBzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRh" + - "dG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUKcm93IG5hbWVzIGJvdGguIEFmdGVyIGluc3RhbGwg" + - "YSByZWplY3RlZCBkb2NrZXIgbG9naW4gc3RpbGwgZmFpbHMuIEEgcmVqZWN0ZWQKTkdDIGtleSBp" + - "cyBhIHdhcm5pbmcgb25seSB3aGVuIGBjaGVja2AgcmVhZHMgdGhlIHB1bGwgc2VjcmV0cyBvZiB0" + - "aGUgY2x1c3RlcnMKaXQgdmlzaXRzLCBpbiB0aGUgbmFtZXNwYWNlcyB0aGUgdmFsaWRhdG9yIGNv" + - "cGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kCm5vbmUgb2YgdGhlbSBob2xkcyB0aGF0IGtleTsg" + - "d2hlbiBvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxsIGJlIHJlYWQsIGl0IGlzCmFuIGVycm9y" + - "LiBBIGRvY2tlciBsb2dpbiB0aGUgTkdDIGtleSByZXBsYWNlZCBwYXNzZXMgYWZ0ZXIgaW5zdGFs" + - "bCBvbmx5IHdoZW4Kbm9uZSBvZiB0aG9zZSBwdWxsIHNlY3JldHMgaG9sZHMgaXQ6IHdoZW4gb25l" + - "IGRvZXMgaXQgaXMgYW4gZXJyb3IsIGFuZCB3aGVuCnRoZXkgY2Fubm90IGFsbCBiZSByZWFkIGEg" + - "d2FybmluZy4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUgY2Fubm90IHJlYWNoLCBhCnRva2VuIHNl" + - "cnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFyZSB3YXJu" + - "aW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBv" + - "ciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVj" + - "ayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnlt" + - "b3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMj" + - "IFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBz" + - "ZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2" + - "YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBS" + - "ZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8" + - "IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhl" + - "IHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5" + - "QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5h" + - "YmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtl" + - "ci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5h" + - "bWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxp" + - "ZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kg" + - "R2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3Bh" + - "Y2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25l" + - "bnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlz" + - "IHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNv" + - "bXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNz" + - "IHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3Mg" + - "dGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xh" + - "c3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5W" + - "Q0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNs" + - "dXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8" + - "CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2Ag" + - "cmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoK" + - "LSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + - "LiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAg" + - "Y2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQu" + - "IE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNl" + - "LnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3Rh" + - "Y2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNr" + - "CiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1aWx0LWlu" + - "IHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2Np" + - "Oi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJhY3RlZCBp" + - "bnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAg" + - "bm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBB" + - "IENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhl" + - "IHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNl" + - "IG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRz" + - "IHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFz" + - "IGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVz" + - "dGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNB" + - "IGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVz" + - "dGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1p" + - "dCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0" + - "dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwK" + - "fCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0g" + - "KGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8" + - "IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8" + - "IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwg" + - "YWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMj" + - "IGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQg" + - "fAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQp" + - "IHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVn" + - "aW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8" + - "IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1h" + - "dGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBg" + - "YXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRo" + - "ZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVz" + - "Y3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5l" + - "cmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBv" + - "ZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBg" + - "MjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29w" + - "ZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRl" + - "YCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5n" + - "IHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1g" + - "IChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1" + - "bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5k" + - "ZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRl" + - "czoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUg" + - "TkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVy" + - "IGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5j" + - "ZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGlu" + - "ZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdc" + - "fExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJU" + - "YCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0t" + - "ZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0g" + - "fAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1l" + - "IGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNl" + - "dC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBh" + - "cnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2Rl" + - "bCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdN" + - "ZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2Vu" + - "IGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3Ig" + - "YFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRv" + - "a2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFy" + - "YXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rp" + - "b24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdo" + - "ZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQ" + - "UklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3Vw" + - "cG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZh" + - "dWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rp" + - "b25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEg" + - "dW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhl" + - "IE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBD" + - "dXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9y" + - "ZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9k" + - "YCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lv" + - "bmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNj" + - "ZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBs" + - "aW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNg" + - "IChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBg" + - "V2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9y" + - "IGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBp" + - "bnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0" + - "aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5j" + - "dGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFu" + - "ZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVy" + - "ZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkg" + - "YGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9k" + - "ZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0" + - "cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0" + - "cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNl" + - "IGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRk" + - "aW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRB" + - "R11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBT" + - "UEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRo" + - "b2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcg" + - "bWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1T" + - "YC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1s" + - "bG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZl" + - "bCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxp" + - "ZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlv" + - "cml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJl" + - "cGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJl" + - "cXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRh" + - "dGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5k" + - "IGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGlt" + - "aXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBh" + - "cnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZp" + - "YwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBG" + - "b3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkg" + - "fCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5j" + - "ZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5j" + - "ZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXgg" + - "cmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3Vy" + - "cmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3Rl" + - "cnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55" + - "IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + - "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBG" + - "b3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwK" + - "fCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5b" + - "YS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChy" + - "ZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0t" + - "aW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0t" + - "aW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElN" + - "QUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0t" + - "Y2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSBy" + - "ZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0" + - "LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpT" + - "T04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFj" + - "a2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNs" + - "dXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRh" + - "aW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5l" + - "ciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8" + - "CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2" + - "YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNy" + - "ZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwg" + - "LSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUg" + - "KElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxp" + - "bWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9y" + - "ZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAt" + - "LXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNp" + - "Z25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3Ry" + - "YXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3Rz" + - "IHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRh" + - "cmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQg" + - "d2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZF" + - "UlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3Vy" + - "Y2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAt" + - "IHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8" + - "IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3Mt" + - "dGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBg" + - "LS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50" + - "IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0" + - "cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCCIJYQOkWwAApFsAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hv" + - "b3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlh" + - "Z25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0" + - "aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUt" + - "ZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAg" + - "YGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoK" + - "YGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50" + - "LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNz" + - "YWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVk" + - "IHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3Jp" + - "cHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBr" + - "dWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGlu" + - "Y2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2Fybiwg" + - "YWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4y" + - "OCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0" + - "bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRo" + - "dWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5k" + - "IG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwK" + - "fCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMg" + - "bm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVk" + - "LCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0" + - "b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElE" + - "QVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12" + - "YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0" + - "ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJl" + - "Zm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93" + - "biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1z" + - "a2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2Vl" + - "ZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRo" + - "ZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1" + - "YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3Ig" + - "dGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJh" + - "biBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBw" + - "cmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9y" + - "IGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9y" + - "IHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0" + - "aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkg" + - "QVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8" + - "IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxt" + - "IC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8" + - "IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xh" + - "c3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNr" + - "IGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFt" + - "ZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0" + - "ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3Jh" + - "Z2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFH" + - "RV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRh" + - "dG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29t" + - "cHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBH" + - "UFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdv" + - "cmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Ns" + - "b3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWws" + - "IE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJ" + - "bnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5z" + - "PiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNw" + - "YWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlv" + - "bnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0" + - "IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGlu" + - "IG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5j" + - "b25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2Ag" + - "Y29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVz" + - "cGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFj" + - "ZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwg" + - "QSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVy" + - "cyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBi" + - "ZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFt" + - "ZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxz" + - "dGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xs" + - "YmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3Rh" + - "bGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFy" + - "ZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0" + - "aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwK" + - "fCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8" + - "IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwg" + - "YnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRv" + - "d25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8" + - "IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1l" + - "c3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtp" + - "bmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9m" + - "IGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5h" + - "bWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwg" + - "fCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNr" + - "YCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3Qg" + - "ZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAg" + - "YmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWlu" + - "YXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMg" + - "bm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5k" + - "IGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBv" + - "bi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBm" + - "b3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1y" + - "ZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdo" + - "ZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0t" + - "cHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxl" + - "YXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQg" + - "YG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRo" + - "ZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0" + - "b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiBy" + - "ZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10" + - "b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRv" + - "a2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVk" + - "OiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5k" + - "YCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBg" + - "cm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAz" + - "IG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWlu" + - "IHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBh" + - "cGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoK" + - "IyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + - "fC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNz" + - "YW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBT" + - "dG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3Rl" + - "bWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBk" + - "ZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tV" + - "IHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4" + - "ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0" + - "YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9O" + - "YCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5" + - "IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBl" + - "cnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUg" + - "Y29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3Jh" + - "ZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVy" + - "YXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ug" + - "bm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBg" + - "azNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0" + - "ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVt" + - "ZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdp" + - "dGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxl" + - "IGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVy" + - "OyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsg" + - "cmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3Jp" + - "dGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBm" + - "b3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1h" + - "dGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1j" + - "bGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYElt" + - "YWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxw" + - "ZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZj" + - "Zi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rp" + - "b24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0" + - "IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQg" + - "aGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5p" + - "by9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20g" + - "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0" + - "dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBv" + - "ciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIg" + - "YHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1j" + - "cmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0" + - "ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkg" + - "Y3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBh" + - "Ym91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkg" + - "cmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3Rs" + - "IC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGlt" + - "bWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0t" + - "Cm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJ" + - "bnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2Vw" + - "YXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQg" + - "Q0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJp" + - "ZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRl" + - "LXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdl" + - "bmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQs" + - "IG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBl" + - "bnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3Rl" + - "YWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUg" + - "Pj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3Rs" + - "IG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNv" + - "cmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNm" + - "LCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29t" + - "cHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1z" + - "ZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToK" + - "ICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5n" + - "QGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNl" + - "bGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRl" + - "LXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3Jl" + - "dHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhl" + - "bG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBT" + - "ZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNo" + - "aW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVz" + - "LgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwg" + - "b3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFu" + - "ZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVl" + - "cyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAi" + - "TExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxl" + - "LXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVz" + - "CgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBG" + - "b3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24g" + - "YG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxz" + - "IDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4v" + - "ZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxh" + - "bmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVs" + - "bWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxh" + - "bmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMg" + - "bWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBg" + - "YmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2Fk" + - "LXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNv" + - "bnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRs" + - "ZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4K" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5n" + - "IGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZl" + - "cnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpo" + - "ZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAg" + - "ICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAj" + - "IENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNv" + - "bnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwu" + - "Z290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88" + - "bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1" + - "c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52" + - "aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cg" + - "VmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUg" + - "bW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRz" + - "L2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVk" + - "IGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1" + - "Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNl" + - "Y3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpy" + - "ZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoK" + - "Q3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + - "aWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywg" + - "c3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1" + - "ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGds" + - "b2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJi" + - "aXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxv" + - "Y2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1j" + - "aGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVz" + - "cGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5" + - "KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNy" + - "ZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5" + - "IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9j" + - "a2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAog" + - "ICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29y" + - "ZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49" + - "Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1" + - "bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNl" + - "IHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwt" + - "c2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3Ry" + - "eQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1" + - "aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJ" + - "IGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0" + - "ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWly" + - "ZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + - "IgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lv" + - "bj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0" + - "ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6" + - "IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0" + - "IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZl" + - "cmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2" + - "ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBs" + - "b2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkg" + - "c2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBv" + - "cmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBh" + - "IDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5" + - "b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJl" + - "LXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVh" + - "Y2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8" + - "a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24g" + - "dGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lz" + - "dHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVk" + - "KSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9t" + - "YXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0" + - "aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBw" + - "dWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29y" + - "a2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9p" + - "bnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoK" + - "MS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55" + - "YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6" + - "IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQog" + - "ICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291" + - "cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWly" + - "cm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4K" + - "ICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBt" + - "YW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVy" + - "dCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMg" + - "KGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhl" + - "bG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhl" + - "bG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBU" + - "aG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5z" + - "b3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcg" + - "dGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNo" + - "YXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4K" + - "ICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9y" + - "LXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwu" + - "aGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4g" + - "dGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxs" + - "eSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1" + - "bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhl" + - "IHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUg" + - "dGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1" + - "bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5" + - "IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlh" + - "bDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAg" + - "ID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWws" + - "IHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5" + - "IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdl" + - "IGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpg" + - "Z2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBh" + - "cyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0" + - "cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJh" + - "c2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAt" + - "biA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0u" + - "dmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkg" + - "YmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJh" + - "dGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQu" + - "IFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1w" + - "b3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBz" + - "dWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlf" + - "QUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24s" + - "IHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8g" + - "YEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBn" + - "bG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRl" + - "c3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoK" + - "IyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0" + - "IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0" + - "cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUg" + - "Y2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2Vy" + - "dmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNl" + - "dCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBr" + - "ZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9v" + - "cHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4g" + - "U2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBh" + - "cyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2Vz" + - "CgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8" + - "IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0t" + - "LS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + - "fCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5v" + - "dGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFu" + - "aXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + - "YWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdh" + - "eSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAg" + - "fCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBp" + - "biBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBg" + - "YAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdh" + - "eSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXIt" + - "ZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFy" + - "ZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGlu" + - "IHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElm" + - "IHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1n" + - "YXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRo" + - "ZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMg" + - "dGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0" + - "IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZh" + - "bml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAK" + - "ClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNr" + - "ZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZp" + - "YyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBw" + - "aW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2" + - "YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0" + - "ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4K" + - "CkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdh" + - "eWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFu" + - "aXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlm" + - "eSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMu" + - "aW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1p" + - "IHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0" + - "YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBD" + - "IHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpy" + - "b3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBv" + - "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBi" + - "eQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1" + - "ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9l" + - "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1" + - "ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50" + - "bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJu" + - "ZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBw" + - "bHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNl" + - "cy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRl" + - "LXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNv" + - "bXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0" + - "bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1" + - "dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0" + - "YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzog" + - "dXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + - "bCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1h" + - "bmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBs" + + "cnQ6IHRydWVgLiBBIGNoZWNrIHRoYXQgY2FuIG9ubHkgd2FybiBhbmQgaXMgc3RvcHBlZCBvbiB0" + + "d28gcG9sbHMgaW4gYSByb3cgZW5kcyB0aGUgd2FpdCBhcyBhIHNpbmdsZSBydW4gd291bGQ6IGV4" + + "aXQgYDBgIHdpdGggdGhlIHdhcm5pbmcuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNs" + + "ZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24tcG9zaXRpdmUgRFVSQVRJT04gaXMgYSB1c2FnZSBl" + + "cnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRl" + + "eHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1" + + "cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3Rs" + + "IGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8" + + "IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4" + + "dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBTSVMgb25seSBhdCBhIFVSTCBzZXQgaGVyZSwgaW4g" + + "YE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJU19VUkxgLCBvciBpbiB0aGUgY29uZmlnIGFzIGBp" + + "Y21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxgLCBhbmQgbm90IGF0IG9uZSBkZXJpdmVkIGZyb20g" + + "YSBgYmFzZV9odHRwX3VybGAgb24gTlZJRElBJ3MgaG9zdGVkIGBudmNmLm52aWRpYS5jb21gLCBh" + + "cyB0aGUgY29uZmlnIHRlbXBsYXRlJ3MgaXM7IHdpdGggbm9uZSwgaXRzIGBzaXMtcmVhY2hhYmls" + + "aXR5YCByb3cgaXMgYSB3YXJuaW5nIHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8Cnwg" + + "YC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgbG9jYWwtaG9zdCBjaGVja3Mg" + + "YW5kIHNraXAgYWxsIGNsdXN0ZXIgYW5kIHJlZ2lzdHJ5IGNvbnRhY3QsIHdoYXRldmVyIHNjb3Bl" + + "IGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVudGlhbCBjaGVjayBhbmQgZWFjaCBz" + + "ZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJlcG9ydGVkIGFzIHJvd3MgdGhhdCBw" + + "YXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2NhbC1vbmx5KWAuIEVudjogYE5WQ0Zf" + + "Q0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8" + + "CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJv" + + "bC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBgLS1w" + + "cmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVjdHMgaXRzIG93bi4g" + + "T25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBhc3MgYm90aCBjb250" + + "ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxlY3RlZCByb2xlIGNo" + + "ZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9z" + + "dCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBz" + + "aW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1" + + "dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mg" + + "b3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5z" + + "dGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVsbWZpbGVgIG9y" + + "IGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNoZWNrIGFuIGlu" + + "c3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdhcm5zIHwgYGZh" + + "bHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbnRyb2wg" + + "cGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIt" + + "dmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFu" + + "ZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFj" + + "ZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQgYSBjb25maWd1cmVk" + + "IElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3IgfCBgZmFs" + + "c2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQgYC0tY29tcHV0ZS1w" + + "bGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0aG91dCBgLS1wcmVg" + + "IHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIHNob3du" + + "IGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQgYGNoZWNrYCBkb2Vz" + + "IG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhl" + + "IHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZp" + + "ZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdoZW4gdGhlIHByb2Jl" + + "IGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFscywgc2luY2UgdGhl" + + "IHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5vdGlmeS1saW1pdHNg" + + "IHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9D" + + "TElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAg" + + "fAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBK" + + "b2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2Vydmlj" + + "ZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1" + + "cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9u" + + "bHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28g" + + "dGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4K" + + "SXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBvbiBgcG9kcy9s" + + "b2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRoYXQgc3VjY2Vl" + + "ZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlwdCBjb3VsZCBu" + + "b3QgYmUgcmVhZCwgc28gbmVpdGhlciB0aGUgY2hlY2tzIGl0IHJhbiBub3Igd2FybmluZ3MgaXQK" + + "cmVwb3J0ZWQgYXJlIHNob3duLgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxz" + + "IGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0" + + "IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwK" + + "YW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVm" + + "dCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0" + + "aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25m" + + "aWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2Nv" + + "dmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBj" + + "YW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cg" + + "ZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2Fp" + + "biBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90" + + "IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5n" + + "LCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMg" + + "dG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIg" + + "cmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBB" + + "IHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUu" + + "Y29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBw" + + "dWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBn" + + "bG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQg" + + "YHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3Rh" + + "Y2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZl" + + "ci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5l" + + "aXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBv" + + "ZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBB" + + "IG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1z" + + "ZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBj" + + "b25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9mIHN0cmlu" + + "Z3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2Ug" + + "UkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1w" + + "bGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBh" + + "bmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVz" + + "dGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25m" + + "aWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBm" + + "cm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVu" + + "dHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0" + + "YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRo" + + "ZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fz" + + "c2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9y" + + "IGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRT" + + "YCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFj" + + "aydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBO" + + "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtl" + + "eSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBvZiBuYW1l" + + "cyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBr" + + "ZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlk" + + "YXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVz" + + "LCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBO" + + "b1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1l" + + "ZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQu" + + "IEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtl" + + "eSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0" + + "aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8IGAtLWNs" + + "dXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3Jl" + + "dCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1w" + + "dHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0" + + "YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSBy" + + "ZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRo" + + "ZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhh" + + "dCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50" + + "aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Ag" + + "cm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3Bp" + + "ZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1j" + + "bHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUg" + + "ZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBm" + + "YWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4" + + "YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdz" + + "IGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQg" + + "d2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElE" + + "QVRJT05gLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwg" + + "S2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENv" + + "bmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBp" + + "dHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4g" + + "cmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAu" + + "IEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2Ug" + + "dGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVh" + + "bnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhh" + + "dCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBm" + + "YWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0" + + "IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVy" + + "LXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5l" + + "LCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1" + + "dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNv" + + "bmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2Vy" + + "IGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRp" + + "YWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5l" + + "IHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBg" + + "JERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwg" + + "dGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52" + + "Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBO" + + "R0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQ" + + "SV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRo" + + "ZSBkb2NrZXIgbG9naW4gb25seSB3aGVuIHRoZQpyZWdpc3RyeSBjaGVjaydzIHBsYW5lLCBiZWxv" + + "dywgaXMgY2hlY2tlZCBiZWZvcmUgaXRzIGluc3RhbGwgd2l0aCB0aGUKYGxvY2FsYCBlbnZpcm9u" + + "bWVudCwgc2luY2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsIHNlY3JldHMgZnJvbSBpdCwgYW5kIGl0" + + "IGlzCm5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4gRWxzZXdoZXJlIHRoZSBrZXkKaXMg" + + "c2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3IgZm9yIGEgcmVwb3NpdG9yeSB3" + + "aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkgb3IgZ2l2ZXMg" + + "aXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRlZCBvbmNlIHBlciByZXBvc2l0b3J5" + + "LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRvcidzIHB1bGwg" + + "c2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUgc2FtZSBjcmVkZW50aWFsLCBhbmQg" + + "YQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0aGUgb3JncyBp" + + "dCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhhdCByZXBvc2l0" + + "b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBvbGwgcmVhZHMg" + + "dGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUgdGhlIHJ1bgp3" + + "YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tzIGZvciBwdWxsIGFj" + + "Y2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8gdGhlCnN0YWNr" + + "J3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIHRoZW4K" + + "YGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBzZWdtZW50LCBz" + + "dWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRoZSBzY29wZSwgc2lu" + + "Y2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuCgpUaGUgcmVnaXN0cnkgY2hlY2sgYmVsb25ncyB0byBv" + + "bmUgcGxhbmUsIHdob3NlIHN0YWNrIG5hbWVzIHRoZSByZWdpc3RyaWVzCmFuZCB3aG9zZSBpbnN0" + + "YWxsIHN0YXRlIGdyYWRlcyB0aGVtOiBhIHBsYW5lIHRoZSBydW4gY2hlY2tzIGJlZm9yZSBpdHMK" + + "aW5zdGFsbCwgd2hpY2ggdGhpcyBtYWNoaW5lIGluc3RhbGxzIG5leHQgKHRoZSBjb250cm9sIHBs" + + "YW5lIGZvciBhIGJhcmUKYC0tcHJlYCBhbmQgZm9yIGAtLXByZSAtLWNvbXB1dGUtcGxhbmVgLCB0" + + "aGUgY29tcHV0ZSBwbGFuZSBmb3IKYC0tcHJlIC0tY29udHJvbC1wbGFuZWApLCBlbHNlIHRoZSBj" + + "b250cm9sIHBsYW5lIHdoZW4gdGhlIHJ1biB2aXNpdHMgaXQsCmVsc2UgdGhlIGNvbXB1dGUgcGxh" + + "bmUuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVu" + + "LCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sg" + + "bmFtZXMuIEJlZm9yZSBpbnN0YWxsIHRoYXQgaW5jbHVkZXMgYSBkb2NrZXIKbG9naW4gYG52Y3Iu" + + "aW9gIHJlamVjdHMgZXZlbiB3aGVuIHRoZSBOR0Mga2V5IHdvcmtzIGluIGl0cyBwbGFjZSwgc2lu" + + "Y2UKYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgc3RhY2sncyBjaGFydHMgd2l0aCB0" + + "aGUgZG9ja2VyIGxvZ2luLiBUaGUKa2V5IGlzIHN0aWxsIHVzZWQgZm9yIHRhZyBkaXNjb3Zlcnkg" + + "YW5kIHRoZSB2YWxpZGF0b3IncyBwdWxsIHNlY3JldCwgYW5kIHRoZQpyb3cgbmFtZXMgYm90aC4g" + + "QWZ0ZXIgaW5zdGFsbCBhIHJlamVjdGVkIGRvY2tlciBsb2dpbiBzdGlsbCBmYWlscy4gQSByZWpl" + + "Y3RlZApOR0Mga2V5IGlzIGEgd2FybmluZyBvbmx5IHdoZW4gYGNoZWNrYCByZWFkcyB0aGUgcHVs" + + "bCBzZWNyZXRzIG9mIHRoZSBjbHVzdGVycwppdCB2aXNpdHMsIGluIHRoZSBuYW1lc3BhY2VzIHRo" + + "ZSB2YWxpZGF0b3IgY29waWVzIHB1bGwgc2VjcmV0cyBmcm9tLCBhbmQKbm9uZSBvZiB0aGVtIGhv" + + "bGRzIHRoYXQga2V5OyB3aGVuIG9uZSBkb2VzLCBvciB0aGV5IGNhbm5vdCBhbGwgYmUgcmVhZCwg" + + "aXQgaXMKYW4gZXJyb3IuIEEgZG9ja2VyIGxvZ2luIHRoZSBOR0Mga2V5IHJlcGxhY2VkIHBhc3Nl" + + "cyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbgpub25lIG9mIHRob3NlIHB1bGwgc2VjcmV0cyBob2xk" + + "cyBpdDogd2hlbiBvbmUgZG9lcyBpdCBpcyBhbiBlcnJvciwgYW5kIHdoZW4KdGhleSBjYW5ub3Qg" + + "YWxsIGJlIHJlYWQgYSB3YXJuaW5nLiBBIHJlZ2lzdHJ5IHRoaXMgbWFjaGluZSBjYW5ub3QgcmVh" + + "Y2gsIGEKdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsIGNyZWRl" + + "bnRpYWwgYXJlIHdhcm5pbmdzLiBBCnJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8s" + + "IHN1Y2ggYXMgRUNSIG9yIG9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcwpza2lwcGVkIHdpdGggYSBj" + + "b21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEgcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMKbWFj" + + "aGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMgdmFsaWQgY3Jl" + + "ZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRv" + + "ciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRz" + + "CmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4K" + + "CnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8" + + "LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdh" + + "eXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBp" + + "bmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGBy" + + "b3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGBy" + + "b3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1h" + + "LXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3Bw" + + "ZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdh" + + "dGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29u" + + "dHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4" + + "dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9z" + + "ZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwK" + + "fCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFs" + + "aWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5n" + + "IGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVz" + + "cGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1h" + + "Z2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5f" + + "UFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBz" + + "dGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUg" + + "dGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3Ig" + + "YEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9yIGEg" + + "cGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAgaW5z" + + "dGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNl" + + "ZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFz" + + "ZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21l" + + "cyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "YAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgdGhlIHJlZ2lzdHJpZXMgd2hlbiB0aGUg" + + "cmVnaXN0cnkgY2hlY2sKICBiZWxvbmdzIHRvIHRoZSBjb21wdXRlIHBsYW5lKSwgZWxzZSB0aGUg" + + "Q0xJJ3MgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwKICBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3Rs" + + "eSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrIGZyb20gdGhlIGNvcHkgYW4gZWFybGllcgogIGNvbW1h" + + "bmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssIGBmaWxlOi8vYCBp" + + "bmNsdWRlZCwgaXMKICBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21t" + + "aXR0ZWQgc3RhdGUuIEEgQ0xJIHdpdGggbm8KICBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sg" + + "ZmxhZyByZWFkcyB0aGUgc3RhY2sgY2hlY2tvdXQgYWJvdmUgdGhlCiAgd29ya2luZyBkaXJlY3Rv" + + "cnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2" + + "YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlv" + + "YCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFN" + + "RWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5j" + + "YS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24g" + + "UkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAg" + + "fCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxz" + + "ZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21w" + + "dXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExp" + + "dmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdh" + + "dGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBv" + + "bmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8" + + "IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + + "YW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkg" + + "fCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1p" + + "Y21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUt" + + "ZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBg" + + "ZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdl" + + "bmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJv" + + "dGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0" + + "aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJ" + + "T05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRl" + + "ZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlk" + + "ZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8" + + "CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5" + + "IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2Ag" + + "KHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3" + + "ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxF" + + "YCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9y" + + "IGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFH" + + "RWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250" + + "YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAg" + + "fCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFV" + + "TFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhl" + + "bG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJl" + + "IHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3" + + "b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRl" + + "cyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVs" + + "bS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0" + + "YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQ" + + "RUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8" + + "PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVw" + + "ZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAs" + + "IGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBm" + + "b3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMg" + + "YXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklP" + + "UklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZh" + + "bHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJp" + + "b3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyBy" + + "ZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBS" + + "ZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3Bl" + + "Y3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91" + + "dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlz" + + "YCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBi" + + "eSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxl" + + "dGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmln" + + "LnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBn" + + "cm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2Vu" + + "UmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBp" + + "bnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVk" + + "IHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERg" + + "IChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5p" + + "bmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwx" + + "MDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVu" + + "ZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0" + + "aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNl" + + "cnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSBy" + + "ZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBv" + + "cnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVx" + + "dWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5j" + + "dGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMg" + + "Zm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJl" + + "cXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlj" + + "a2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVg" + + "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0t" + + "bW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2Rl" + + "bD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0" + + "YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4" + + "YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + + "LiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhl" + + "IGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQg" + + "YW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBl" + + "ci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0" + + "eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElE" + + "IG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwg" + + "YGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBg" + + "bW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZp" + + "Zy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEg" + + "YW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBj" + + "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxs" + + "IEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24g" + + "SUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAg" + + "fAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8Cnwg" + + "YC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3Rh" + + "bmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVu" + + "Y3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMp" + + "IHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBj" + + "bHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmlj" + + "CgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sg" + + "ZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEt" + + "MTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVg" + + "IHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTog" + + "YEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWly" + + "ZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8" + + "CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZl" + + "IHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFy" + + "dCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdl" + + "YCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxh" + + "Z3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQg" + + "QkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1g" + + "IHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRl" + + "ZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGlu" + + "ZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0" + + "Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVy" + + "IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1F" + + "PXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlw" + + "dGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1j" + + "bG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQg" + + "Zm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUg" + + "aW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + + "YFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9k" + + "IGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8" + + "IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91" + + "dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJl" + + "c3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5h" + + "bWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0t" + + "bW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAt" + + "IHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1h" + + "LXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwg" + + "LSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2lu" + + "dCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxl" + + "bWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwg" + + "VHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcISldIyyRcAAAkXAAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJl" + + "bmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBl" + + "cnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAg" + + "aW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUp" + + "OiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBg" + + "cGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgoj" + + "IyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2Nv" + + "bXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhl" + + "IGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxp" + + "ZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhl" + + "IGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + + "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVy" + + "IHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3Rh" + + "bGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMv" + + "aW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUg" + + "fCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBg" + + "aGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50" + + "cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlk" + + "YXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdl" + + "IGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBj" + + "bHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJ" + + "X0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAg" + + "fAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3" + + "YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBy" + + "dW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBm" + + "YWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVz" + + "LCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRh" + + "dG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4p" + + "YCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBi" + + "ZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4g" + + "YGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRo" + + "ZSBjaGVja3MgaXQgcmFuIGFuZCB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBh" + + "biBpbWFnZSB0aGF0IHByZWRhdGVzIHZhbGlkYXRvciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBs" + + "YW5lIGNoZWNrcyBmb3IgZWl0aGVyIHJvbGUgfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGlu" + + "IGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dz" + + "YCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + + "dXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHBy" + + "ZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94" + + "eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUt" + + "bmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZh" + + "dWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Ms" + + "IGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3Rs" + + "IHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdl" + + "Y2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0" + + "IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChv" + + "ciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBg" + + "Y2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBB" + + "dmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0" + + "YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlz" + + "c2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + + "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBP" + + "cGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAy" + + "YCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBv" + + "ciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9i" + + "amVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRz" + + "IGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBh" + + "dGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBh" + + "cGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1j" + + "bGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBg" + + "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+" + + "KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVz" + + "IGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMg" + + "dGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMg" + + "fAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9u" + + "OiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGws" + + "IHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmct" + + "KmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBp" + + "bnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFz" + + "ZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxt" + + "IHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFz" + + "ZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8g" + + "SGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBv" + + "YmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhl" + + "IG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVy" + + "YnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4g" + + "PG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3Ry" + + "ZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNl" + + "IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhl" + + "YWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNx" + + "bGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25t" + + "ZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVM" + + "TV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBp" + + "dCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGQtb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFt" + + "ZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4g" + + "dGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVz" + + "ZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdz" + + "Lm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNl" + + "LnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZp" + + "cm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRl" + + "Y2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFt" + + "by1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFs" + + "bCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMj" + + "IEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5z" + + "dGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFj" + + "dGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25l" + + "ZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGlu" + + "ZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29u" + + "dHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAg" + + "YWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBp" + + "bnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3Bl" + + "IHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUt" + + "cnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + + "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fz" + + "c2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29u" + + "ZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBj" + + "YXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmll" + + "ZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWls" + + "eSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJO" + + "Q1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciBy" + + "ZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBg" + + "Q0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9y" + + "IGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNl" + + "dGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52" + + "Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcg" + + "TkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAg" + + "fAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6" + + "cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWls" + + "ZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6" + + "cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNo" + + "TG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVn" + + "aXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20g" + + "cHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRo" + + "ZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVu" + + "dCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0" + + "aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJ" + + "Q01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2ln" + + "bmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1" + + "bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1j" + + "cmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29u" + + "ZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5B" + + "VFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRT" + + "IGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFw" + + "cC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFz" + + "a3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRh" + + "c2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZv" + + "ciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwg" + + "c2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hp" + + "bGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcg" + + "dmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291" + + "bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVm" + + "YXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhh" + + "dCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRy" + + "eSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFw" + + "aWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIGriz82EhAABhIQAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + + "bWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2Ny" + + "aXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9s" + + "LXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZp" + + "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAog" + + "IHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNl" + + "IGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + + "IHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUs" + + "IHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9y" + + "CiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQg" + + "d29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1" + + "aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBw" + + "bHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29y" + + "ZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAu" + + "MCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + + "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + + "b3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEds" + + "b2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + + "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0" + + "YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wt" + + "cGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1l" + + "bnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6" + + "IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJl" + + "Ci0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBn" + + "dWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhl" + + "bG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0" + + "YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAg" + + "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBm" + + "dW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMj" + + "IFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0" + + "Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90" + + "aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRz" + + "LyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBs" + + "YW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRz" + + "LyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVy" + + "IGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMg" + + "ZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9u" + + "IDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVz" + + "b3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZl" + + "cnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRy" + + "b2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3Rp" + + "dHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoK" + + "VmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNo" + + "CmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1" + + "ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0g" + + "cGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwg" + + "dmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBj" + + "bHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVk" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRz" + + "LyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBg" + + "ZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFt" + + "bGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNl" + + "IHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4" + + "dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdl" + + "ZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQog" + + "ICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVt" + + "cGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNl" + + "Y3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBv" + + "dmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJl" + + "Y2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMg" + + "dGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5v" + + "ZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkg" + + "aWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpU" + + "byBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNl" + + "IGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3Zl" + + "cnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAx" + + "LiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHBy" + + "aXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + + "bwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + + "YXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2" + + "ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwK" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBg" + + "YAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhl" + + "bG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRz" + + "XSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3Vy" + + "IGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBs" + + "b2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tl" + + "cikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3Qg" + + "YmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1h" + + "bmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + + "ICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9r" + + "ZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAt" + + "LXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdT" + + "IC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNv" + + "bQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3Qg" + + "bG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNh" + + "Y2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQg" + + "dGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEg" + + "ZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9y" + + "IHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3Mg" + + "RGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmct" + + "b3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9y" + + "ZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlh" + + "dGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2Vu" + + "JyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9m" + + "IHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20g" + + "YSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJi" + + "LiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRp" + + "Y2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50" + + "byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4" + + "cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0" + + "aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9t" + + "YXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwg" + + "c3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAg" + + "ICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5" + + "LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhl" + + "bG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBp" + + "ZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5" + + "b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBg" + + "YGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZh" + + "Y3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29u" + + "dGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3Ig" + + "YXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFu" + + "IGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5u" + + "dmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkg" + + "YGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJl" + + "Zm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+" + + "IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhl" + + "IGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVn" + + "aXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4g" + + "dW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVw" + + "cyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQog" + + "ICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBh" + + "Y2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRv" + + "IG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAg" + + "KHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBg" + + "Z2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAv" + + "YGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNp" + + "ZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rp" + + "b24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0" + + "cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGlj" + + "aGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJv" + + "ciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSBy" + + "b3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9y" + + "IHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhl" + + "IEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBH" + + "YXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxn" + + "YXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVz" + + "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRo" + + "ZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0" + + "ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBh" + + "ZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0" + + "aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVz" + + "ZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVj" + + "dCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBG" + + "b3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91" + + "dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNo" + + "YW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9y" + + "IHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShl" + + "eGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1h" + + "bmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVw" + + "bG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZp" + + "bGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4g" + + "YGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmcz" + + "bTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUg" + + "c2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2Vy" + + "dmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8g" + + "YXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRo" + + "ZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVw" + + "bG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNp" + + "ZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0t" + + "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9" + + "ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAy" + + "IHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwg" + + "Z3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVy" + + "LCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdl" + + "IGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5n" + + "cmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1v" + + "YnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1p" + + "biB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkK" + + "ClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVk" + + "IGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQg" + + "b2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZh" + + "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0" + + "ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRh" + + "aW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2" + + "YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2Ug" + + "dGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFk" + + "ZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + + "bAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdD" + + "b25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+" + + "YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBs" + + "b3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5p" + + "dHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3Rz" + + "IGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3Zl" + + "cnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5n" + + "IEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + + "YHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBh" + + "bmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQg" + + "YW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBh" + + "cHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0" + + "ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0" + + "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkg" + + "R2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9j" + + "YXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUg" + + "YmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpO" + + "VkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0" + + "IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2th" + + "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3Rh" + + "Y2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNm" + + "VWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBh" + + "bmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + + "IHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2Vj" + + "cmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFk" + + "ZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNl" + + "cGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMg" + + "bm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5" + + "LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2" + + "YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lz" + + "dGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkg" + + "cHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJv" + + "bC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5k" + + "IGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMs" + + "IHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRl" + + "c3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5n" + + "IHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBs" + "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24s" + - "IGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNv" + - "bXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24g" + - "Zm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoK" + - "U2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFu" + - "ZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFv" + - "LXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0" + - "aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwg" + - "b3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5" + - "YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBj" + - "ZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGlu" + - "dmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3Bh" + - "Y2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3Qg" + - "cHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNl" + - "IGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMg" + - "dGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJl" + - "bGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFu" + - "ZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9y" + - "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + - "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxl" + - "ZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + - "IGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5h" + - "bWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5n" + - "IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4K" + - "CiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9y" + - "IG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lz" + - "IG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5z" + - "IiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gK" + - "a3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkt" + - "a2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBI" + - "ZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBv" + - "bmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwg" + - "YGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwu" + - "aW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRp" + - "dCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZh" + - "bHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCBy" + - "ZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayBy" + - "b290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0" + - "aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8" + - "OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBs" + - "aW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAg" + - "ICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5" + - "OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6" + - "ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2Vz" + - "IHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5" + - "IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBs" + - "eQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNy" + - "ZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0" + - "IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBp" + - "ZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8" + - "IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0" + - "IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBp" + - "bWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1" + - "bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5q" + - "ZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lz" + - "dHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4v" + - "PGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVD" + - "QVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFv" + - "IGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxk" + - "IGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3Vi" + - "ZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8" + - "IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9v" + - "dHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25m" + - "aWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQ" + - "TEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNl" + - "NjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNv" + - "bnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUK" + - "PiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRo" + - "ZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQo" + - "IiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtF" + - "WSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+" + - "KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRl" + - "YCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNz" + - "d29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNp" + - "ZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCBy" + - "ZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2Ug" + - "YSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUg" + - "ZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAg" + - "c3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQo" + - "cHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAg" + - "YmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + - "dCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQs" + - "IHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNy" + - "ZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAg" + - "ICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRp" + - "LW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVu" + - "Y3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlm" + - "ZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0" + - "aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNh" + - "ciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4g" + - "TWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVy" + - "IGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3Jl" + - "ZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQp" + - "CgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxs" + - "eSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3Bh" + - "Y2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQg" + - "Y29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gK" + - "IyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJu" + - "by5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJu" + - "byBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3Jl" + - "YXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlv" + - "dXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVh" + - "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZl" + - "cj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1k" + - "b2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAog" + - "ICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMg" + - "My4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVy" + - "bm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2" + - "ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25h" + - "bWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNl" + - "Y3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBu" + - "ZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVD" + - "UiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQg" + - "cHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRz" + - "Lm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWlj" + - "ayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAg" + - "ICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBl" + - "dmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRz" + - "CmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZp" + - "eCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAx" + - "IFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2Vj" + - "cmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAg" + - "c3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8" + - "IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFg" + - "ICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4g" + - "bm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAg" + - "fCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVh" + - "ZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFv" + - "Lm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFL" + - "UyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNz" + - "dWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1t" + - "aWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXgg" + - "IzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28g" + - "c21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8" + - "CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVj" + - "dGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FO" + - "RFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZh" + - "dWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAg" + - "aW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRg" + - "LCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBl" + - "bmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3Mg" + - "fCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhl" + - "bG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3" + - "YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwK" + - "fCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGlu" + - "IHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQt" + - "Ym9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0" + - "MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFs" + - "bCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdh" + - "cyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywg" + - "c28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJl" + - "LXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3Zl" + - "cmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFk" + - "IHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFy" + - "ZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRp" + - "bWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJl" + - "Y3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9u" + - "c2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNl" + - "IHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0" + - "YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBw" + - "IGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwg" + - "U2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29u" + - "ZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQg" + - "YWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBp" + - "YCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCku" + - "IEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1" + - "Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJl" + - "cGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMp" + - "LCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBz" + - "dWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVu" + - "a25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5u" + - "aW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8g" + - "anNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBq" + - "b2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJl" + - "bGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0" + - "IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhl" + - "Cmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2Nv" + - "dW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZj" + - "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0" + - "ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxl" + - "cy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8v" + - "ZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBh" + - "bmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJl" + - "ZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNl" + - "cy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + - "bWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNr" + - "aWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBh" + - "bmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxz" + - "Lmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMi" + - "LAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9u" + - "IG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmly" + - "c3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRh" + - "dGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBu" + - "b3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFu" + - "ZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3Qg" + - "cHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRl" + - "ZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFu" + - "eSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQg" + - "dmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFs" + - "IG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVk" + - "IGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcg" + - "YW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lv" + - "biBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVs" + - "bWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAg" + - "ewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJR" + - "dWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwg" + - "dGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcg" + - "dG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8g" + - "cHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4g" + - "SXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5v" + - "dCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmls" + - "ZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2" + - "aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGlu" + - "ZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9y" + - "dGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNw" + - "YWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNl" + - "cyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJj" + - "ZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJz" + - "dCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUg" + - "c3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNl" + - "cyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBj" + - "bHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2Vk" + - "IHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2Vz" + - "IHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVj" + - "dGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBu" + - "YW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBu" + - "YW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNo" + - "IG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAg" + - "ZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmlu" + - "YWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3Jr" + - "ZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5k" + - "IGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4g" + - "VGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRl" + - "cGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBj" + - "b250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBi" + - "YXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVs" + - "ZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1h" + - "a2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21w" + - "dXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0" + - "IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiBy" + - "ZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNv" + - "bnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + - "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50" + - "cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFs" + - "bGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRo" + - "ZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91" + - "cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21z" + - "X3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0" + - "IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xV" + - "U1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05G" + - "SUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUs" + - "IEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAi" + - "VGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBj" + - "b25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1p" + - "Y21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lE" + - "QyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRp" + - "ZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBk" + - "aWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRp" + - "Y2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBs" + - "b2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVj" + - "YXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywg" + - "c28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2Jl" + - "aGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBh" + - "bmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdp" + - "c3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJ" + - "X0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUg" + - "cmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwg" + - "T0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9m" + - "IHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5j" + - "IGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhp" + + "cyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBu" + + "YXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBg" + + "YXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90" + + "YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1p" + + "bi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRl" + + "ZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFu" + + "ZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBk" + + "ZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZh" + + "dGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1h" + + "bmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhl" + + "bG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRl" + + "IG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9y" + + "ZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlz" + + "IGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2" + + "ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBG" + + "b3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFz" + + "ZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQ" + + "cmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBh" + + "ZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhl" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNl" + + "cwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUg" + + "bmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBj" + + "bGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2" + + "YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgoj" + + "IyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGlt" + + "aXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9w" + + "YWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNs" + + "YXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hh" + + "cnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxg" + + "IGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + + "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + + "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + + "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + + "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + + "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + + "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + + "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVs" + + "ZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFs" + + "dWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWlu" + + "Y2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJl" + + "dmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhy" + + "ZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBt" + + "aW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhl" + + "IGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUg" + + "UHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1h" + + "Z2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMg" + + "TlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlv" + + "biBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9y" + + "bSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhz" + + "IGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHBy" + + "aXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBg" + + "TlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlh" + + "bWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwt" + + "c2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNv" + + "bmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRv" + + "a2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0" + + "aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1Qg" + + "YQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFj" + + "ZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2gg" + + "cmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3Ro" + + "IHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2Yt" + + "YXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0" + + "aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11" + + "c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRo" + + "dG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9j" + + "a2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBm" + + "dW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVk" + + "IHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZl" + + "cnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQK" + + "PiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0" + + "b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlz" + + "IGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1p" + + "bnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFz" + + "aAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJh" + + "c2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2lt" + + "YWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFz" + + "a3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9p" + + "bWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVw" + + "bG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+" + + "Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3Ip" + + "LCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0" + + "ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJl" + + "bnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkg" + + "YW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRp" + + "ZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5" + + "IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0" + + "aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5v" + + "IChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0" + + "byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBp" + + "biBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0t" + + "IG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVl" + + "ZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + + "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + + "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + + "cGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5H" + + "Q19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + + "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + + "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + + "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwg" + + "YXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9s" + + "aWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVs" + + "bFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNw" + + "ZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRz" + + "In1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhl" + + "bHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBv" + + "bGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNl" + + "cy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVn" + + "Z2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + + "IC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2Vz" + + "Cmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAj" + + "IFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRv" + + "bSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxC" + + "YWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNy" + + "ZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8" + + "CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5n" + + "IGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMg" + + "fAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2lu" + + "YCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9r" + + "ZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGlj" + + "IHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRl" + + "ZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2Vg" + + "LiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8u" + + "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9w" + + "ZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBb" + + "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDow" + + "LzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQg" + + "cmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEg" + + "dmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRl" + + "bnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dv" + + "cmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNl" + + "Um9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NB" + + "TkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNl" + + "cnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8g" + + "c3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQg" + + "c3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFs" + + "bCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBg" + + "c3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQg" + + "Y3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZj" + + "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBj" + + "YWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3Ry" + + "YXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxs" + + "IGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBj" + + "bGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8" + + "IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290" + + "c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNl" + + "cyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwg" + + "VmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50" + + "cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRo" + + "ZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUg" + + "YHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9" + + "LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1" + + "cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRv" + + "IGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1n" + + "b3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1u" + + "Y3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFu" + + "CgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhv" + + "b2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + + "cGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5" + + "CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFp" + + "bGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEg" + + "Y2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRl" + + "ZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBj" + + "cnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3Jv" + + "bmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5" + + "bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9v" + + "dHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAx" + + "CmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2lu" + + "ZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBw" + + "cmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUg" + + "YW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNm" + + "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAt" + + "biBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNj" + + "b3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxh" + + "dGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhh" + + "bXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1l" + + "bmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxl" + + "IHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNy" + + "ZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5h" + + "Z2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUt" + + "dG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1h" + + "bmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZp" + - "bGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3" + - "aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2Vy" + - "IHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUu" + - "IEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2lu" + - "ZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRs" + - "ZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFs" + - "LnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwg" + - "dGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xl" + - "YW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1Mg" + - "RUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhw" + + "aGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxs" + + "IHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11" + + "c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2lu" + + "ICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVy" + + "KS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25z" + + "IHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAt" + + "LXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1v" + + "dmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9u" + + "JyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxt" + + "IHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVk" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50" + + "L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + + "cHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQi" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAg" + + "InF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0" + + "YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRo" + + "ZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmls" + + "ZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBo" + + "ZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + + "YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVt" + + "cGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUg" + + "cHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + + "IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24i" + + "OiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4g" + + "dGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBz" + + "dHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQg" + + "Y3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQg" + + "cmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9y" + + "Y2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + + "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + + "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + + "aXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAg" + + "Y29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFj" + + "a2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6" + + "ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQg" + + "TlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5k" + + "IGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJz" + + "dCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1m" + + "aWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29u" + + "dHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVs" + + "bWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55" + + "YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhv" + + "cmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUt" + + "bGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VS" + + "TCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUg" + + "aW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4g" + + "SXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20g" + + "dGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJh" + + "dGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9y" + + "IGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + + "ZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2Vy" + + "dmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3Qs" + + "IGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVz" + + "ZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + + "c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJM" + + "LCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNl" + + "ZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRo" + + "IENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUu" + + "eWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRv" + + "IC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0" + + "aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9u" + + "IGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0" + + "aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rp" + + "b24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFy" + + "ZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVs" + + "bCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRv" + + "a2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5h" + + "bWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + + "dGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + + "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3Zp" + + "ZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVu" + + "IGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3Ry" + + "dWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1s" + + "LmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3Ry" + + "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFn" + + "YWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3Ig" + + "ZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNl" + + "Y3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdl" + + "cmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1m" + + "aWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + + "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjog" + + "IlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + + "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2lu" + + "ZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9s" + + "LXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3Ry" + + "dWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1t" + + "YW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVk" + + "LCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNl" + + "bGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + + "ZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHBy" + + "b2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFs" + + "aWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwp" + + "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMi" + + "LAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNz" + + "YW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVs" + + "dC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVz" + + "cGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZp" + + "bGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAog" + + "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVw" + + "ZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGlt" + + "YXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0" + + "aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1" + + "dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBw" + + "cm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZj" + + "Zi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBp" + + "bnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGds" + + "b2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUg" + + "Q0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250" + + "cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIg" + + "YW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wt" + + "cGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJl" + + "Zm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQg" + + "dGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0" + + "YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29u" + + "dHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + + "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29t" + + "bWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29t" + + "bWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0t" + + "a3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxs" + + "IGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwg" + + "Y29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXIt" + + "bmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhl" + + "IGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lz" + + "dHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEt" + + "cmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcg" + + "T09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVt" + + "cGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZh" + + "bHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2" + + "YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHBy" + + "ZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNh" + + "cHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "dGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMg" + + "YmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAg" + + "ICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBm" + + "aWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVj" + + "aWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJl" + + "bHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUg" + + "dGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0" + + "aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5k" + + "cmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVu" + + "ZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVu" + + "Y3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBl" + + "bmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBu" + + "YW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIs" + + "CiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFy" + + "Z2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3" + + "LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2Rz" + + "IGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhw" + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxs" + - "YXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRl" + - "ZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVu" + - "dGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3Jl" + - "ZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9j" + - "dW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUg" + - "cGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZl" + - "cnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUg" + - "YWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwg" + - "bmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0" + - "LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0" + - "byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJ" + - "TEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2Vy" + - "dmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVz" + - "IiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQg" + - "cmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNr" + - "IHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRo" + - "ZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGkt" + - "cHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3Rh" + - "bGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFy" + - "YXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBs" + - "YW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9m" + - "aWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNv" + - "bW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAt" + - "LWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1" + - "dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFu" + - "ZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5v" + - "dCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5k" + - "IHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQg" + - "LS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAt" + - "LWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQg" + - "LS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwg" + - "LS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVh" + - "dGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "aywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVk" + - "ZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAi" + - "VGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3Vy" + - "Y2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAg" + - "ICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5j" + - "cmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJh" + + "biBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmli" + + "ZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNl" + + "Y3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQg" + + "dGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Npbmcg" + + "aW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQi" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUg" + + "SW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1" + + "bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhl" + + "IGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNl" + + "cnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVz" + + "ZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25m" + + "aWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRy" + + "b2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHBy" + + "aXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1v" + - "ZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVk" + - "aW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJ" + - "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRp" + - "ZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "ZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5" + + "IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRl" + + "d2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRz" + + "IGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNU" + + "IGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292" + + "ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + + "ZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZh" + + "bCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQg" + + "dGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5n" + + "IGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBj" + + "bHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFt" + + "ZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hh" + + "cmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3" + + "YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xv" + + "YmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBu" + + "dmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFu" + + "ZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5u" + + "dmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2Vy" + + "dmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5y" + + "b3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3" + + "b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBp" + + "bmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRv" + + "IHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkg" + + "VVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBp" + + "Y21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZp" + + "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAg" + + "ICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVk" + + "IGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0" + + "ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxp" + + "dC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wt" + + "cGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUg" + + "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0" + + "cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29u" + + "dHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1z" + + "LiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + + "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + + "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBm" + + "b3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5n" + + "IG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkg" + + "ZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5j" + + "ZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdl" + + "bmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + + "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + + "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + + "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4g" + + "SXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + + "cmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVn" + + "aXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGlu" + - "ZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAg" + - "ICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1" + - "ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCBy" + - "ZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFs" + - "dWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6" + - "IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBk" + - "aWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kg" + - "b25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJh" + - "byAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhl" + - "IGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFz" + - "ZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1n" + - "cm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0" + - "cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFn" + - "ZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciBy" + - "ZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1" + - "bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQ" + - "dWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBj" + - "b21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNo" + - "ZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBw" + - "b2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlz" + - "c2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3Jl" + - "dHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + - "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tP" + - "ZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4g" + - "dGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2Vk" + - "IGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQi" + - "LAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVk" + - "IGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mt" + - "cm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3Rl" + - "IEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91" + - "Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5" + - "IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVk" + - "IHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGlu" + - "IGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1n" + - "YXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMt" + - "cHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBw" + - "bHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmln" + - "dXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBp" + - "Y21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4" + - "dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3Jl" + - "dCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIs" + - "IGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNo" + - "YXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZv" + - "eS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5k" + - "IG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3Bh" + - "Y2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRw" + - "b2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNl" + - "VVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNl" + - "cnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNl" + - "VVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAi" + - "VGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGku" + - "Z3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhv" + - "c3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5" + - "QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9w" + - "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBm" + - "aWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50" + - "IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0" + - "SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92" + - "ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJv" + - "bC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIi" + - "LAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZj" + - "YS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNh" + - "LXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAog" + - "ICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21w" + - "dXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVl" + - "cyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVs" + - "bWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVy" + - "eSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5k" + - "IHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhl" + - "ciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24g" + - "Zmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2" + - "ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxl" + - "ZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVl" + - "LCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVk" + - "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVk" + - "IGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRp" + - "ZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0" + - "cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5z" + - "cGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1v" + - "bmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNv" + - "bnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0" + - "aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmll" + - "d2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmlu" + - "ZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMg" + - "Z29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUg" + - "ZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBp" + - "dHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhl" + - "bG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBi" + - "ZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhh" + - "bmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93" + - "cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRo" + - "ZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBm" + - "YWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFu" + - "ZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGlu" + - "ZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93" + - "biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBh" + - "bmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhw" + - "bGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9s" + - "LXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05G" + - "SUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJC" + - "ZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVz" + - "IGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVk" + - "LWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0" + - "IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdl" + - "dCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBw" + - "YXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBk" + - "b3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0" + - "aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhl" + - "IGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9u" + - "IjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5n" + - "IHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNl" + - "ZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2Vj" + - "cmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwg" + - "b25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJi" + - "aXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tz" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNo" + - "YWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3Jl" + - "dHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGds" + - "b2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3Nh" + - "bmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRj" + - "LikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1" + - "ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQg" + - "YW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMg" + - "YmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25z" + - "IiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1" + - "bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVz" + - "dGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBk" + - "byBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExN" + - "IGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNh" + - "cyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWlu" + - "ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2Fk" + - "LWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCBy" + - "ZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRo" + - "b2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhl" + - "IHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQ" + - "SSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmln" + - "Lndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRy" + - "YW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBp" + - "cyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2lu" + - "ZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBl" + - "eGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywg" + - "cm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNv" + - "bGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQg" + - "cmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3Qg" + - "Y2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVy" + - "IGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVz" + - "dC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAi" + - "VGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhl" + - "bnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0" + - "YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0" + - "LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmls" + - "ZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUg" + - "c2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExM" + - "TSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwg" + - "bGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2Vy" + - "IHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2Fs" + - "IE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25n" + - "cyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBz" + - "ZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1z" + - "cGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + - "bWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9k" + - "dWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRl" + - "ZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8g" + - "dGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAA" + - "SlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1w" + - "bGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92" + - "ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJj" + - "ZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4" + - "bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVk" + - "YC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFs" + - "dWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+" + - "IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJl" + - "Zm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVs" + - "bWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxv" + - "dywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3Rvcnkg" + - "YXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAg" + - "dmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNl" + - "OiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9n" + - "bG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVu" + - "diAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAg" + - "IHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAg" + - "ICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6" + - "ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBh" + - "bmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAv" + - "Y2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNl" + - "cyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVy" + - "ZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4g" + - "VXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVw" + - "bG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0" + - "aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9g" + - "KSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0" + - "cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMg" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAg" + - "ICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdl" + - "OgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoK" + - "IyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxs" + - "cykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5H" + - "Q19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + - "cCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBw" + - "dWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtl" + - "eT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlz" + - "IGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + - "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + - "IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNl" + - "Y3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZj" + - "ci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2Vy" + - "LXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0t" + - "ZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxT" + - "ZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFn" + - "ZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEg" + - "aW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBu" + - "YW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVu" + - "YWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2" + - "YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1" + - "ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBj" + - "YXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAg" + - "ICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFy" + - "dC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNv" + - "bXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7" + - "IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBg" + - "YmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50" + - "cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVu" + - "ZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFj" + - "a09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVt" + - "IG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9t" + - "LWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBc" + - "CiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19" + - "JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBk" + - "ZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1" + - "bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAoj" + - "IFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBg" + - "CgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEg" + - "ZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3Rl" + - "cCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxj" + - "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVj" + - "ayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2Rl" + - "YnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAt" + - "c3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNs" + - "dXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0" + - "aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBj" + - "bHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0" + - "aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBg" + - "YAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBT" + - "dGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2Vy" + - "dC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBk" + - "b2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95" + - "LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVy" + - "bmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6" + - "IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1h" + - "bmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAs" + - "IHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9u" + - "IG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1v" + - "dmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBs" + - "aWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApL" + - "VUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVD" + - "T05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJl" + - "Y29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2Vz" + - "CmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVw" + - "IC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8" + - "bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxk" + - "IHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIK" + - "CkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24p" + - "LCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5l" + - "IEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + - "CgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFu" + - "Z2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5j" + - "ZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0" + - "IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRl" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIs" + + "IHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + + "IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmly" + + "bWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVy" + + "SUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJl" + + "Zm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3Ro" + + "IHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBu" + + "b3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0" + + "ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVu" + + "YWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAg" + + "ICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFj" + + "ZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92" + + "ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZs" + + "b3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJ" + + "RyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQv" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxl" + + "dGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxs" + + "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + + "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + + "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQg" + + "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3Qg" + + "ZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmln" + + "LCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0t" + + "aWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUg" + + "YWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBh" + + "bmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMg" + + "cmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIs" + + "CiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwg" + + "YnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3" + + "b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + + "ZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlh" + + "bWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBs" + + "YWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5l" + + "IHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + + "IHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5n" + + "b3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + + "dGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + + "aWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xv" + + "YmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + + "bG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBh" + + "cmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSBy" + + "ZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxl" + + "LWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rp" + + "b25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29s" + + "YXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZp" + + "Y2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBl" + + "bmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQg" + + "c2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRl" + + "ciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3" + + "byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0" + + "aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhl" + + "ciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0" + + "IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVk" + + "IGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25m" + + "aWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBh" + + "cmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3Jr" + + "ZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21w" + + "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9u" + + "LCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExN" + + "IGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVk" + + "LCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2lu" + + "Z2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUg" + + "cmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNh" + + "bm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0" + + "aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdh" + + "eS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVk" + + "ZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdv" + + "cmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + + "cG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9s" + + "LXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUg" + + "d2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95" + + "ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxt" + + "LWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQg" + + "dGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAi" + + "U2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVl" + + "c3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwg" + + "bm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVh" + + "ZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQg" + + "cHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1m" + + "aWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhl" + + "IGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBv" + + "ciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0K" + + "XQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVz" + + "CgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMj" + + "IEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fz" + + "c2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMg" + + "KGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3" + + "aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZp" + + "bGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6" + + "JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBv" + + "dmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhl" + + "IGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0" + + "cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1l" + + "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + + "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + + "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + + "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + + "YW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBj" + + "cHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAg" + + "ICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0" + + "ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55" + + "YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENv" + + "bmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEg" + + "Qml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3" + + "cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMg" + + "RXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2Vj" + + "cmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20g" + + "TkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1h" + + "Z2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBO" + + "R0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAg" + + "IHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRp" + + "YS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZp" + + "ZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1m" + + "aWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + + "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAn" + + "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5h" + + "bWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDog" + + "QWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQt" + + "c3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUg" + + "Zm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxg" + + "OgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + + "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + + "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + + "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + + "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1" + + "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkg" + + "Zm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9y" + + "IGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBu" + + "dmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Et" + + "c3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNl" + + "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAg" + + "NTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2gg" + + "U2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIg" + + "UGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGlu" + + "IGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBp" + + "biB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVh" + + "ZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1u" + + "ICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAi" + + "bnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlm" + + "eToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwg" + + "Z3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZy" + + "b20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWlu" + + "c3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBz" + + "bGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJh" + + "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBD" + + "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + + "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBj" + + "bGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHBy" + + "b2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJl" + + "LW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIg" + + "dGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFt" + + "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlv" + + "biBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29u" + + "ZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQt" + + "ZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdu" + + "b3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBj" + + "bHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJl" + + "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBy" + + "dW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFs" + + "LiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50" + + "ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5l" + + "bmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0" + + "YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4g" + + "bmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFu" + + "ZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUg" + + "aXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtl" + + "IC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + + "UGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + + "ZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xl" + + "YW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + + "IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAt" + + "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBj" + + "b21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBp" + + "biBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFu" + + "LWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5" + + "IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBp" + + "dHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgoj" + + "IyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAg" + + "bnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5h" + + "ZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3Rl" + + "cCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5k" + + "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQ" + + "b2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBh" + + "cyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZ" + + "X0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRz" + + "IHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRo" + + "IHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25m" + + "aWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFk" + + "ZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAs" + + "IGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZp" + + "ZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVm" + + "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRv" + + "ZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxk" + + "cyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0" + + "cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48" + + "ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBl" + + "bnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1u" + + "IG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2Vu" + + "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBE" + + "ZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJh" + + "dGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFU" + + "UywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVj" + + "dGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEt" + + "c3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9u" + + "ZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVj" + + "dG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3Vw" + + "PWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVs" + + "ZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2Vy" + + "dmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25h" + + "bCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxl" + + "ZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + + "aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + + "bGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwK" + + "fCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0" + + "IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5" + + "YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + + "ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5" + + "IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBh" + + "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERl" + + "cGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJl" + + "bGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5g" + + "IHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXIt" + + "cHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0" + + "aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4S" + + "IyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5k" + + "IGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApw" + + "bGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rl" + + "ci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVj" + + "eWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ug" + + "b2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0t" + + "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8" + + "IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + + "b3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlh" + + "bWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQg" + + "bXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29u" + + "c3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVw" + + "byBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0" + + "ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "a2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhv" + + "c2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cK" + + "CkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + + "bnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2" + + "aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNy" + + "ZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4K" + + "CkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + + "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + + "KS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkg" + + "Y29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8g" + + "YEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRo" + + "ZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRl" + + "cm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0" + + "ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAg" + + "aXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQg" + + "TkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88" + + "ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVu" + + "ZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+" + + "IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0" + + "MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3" + + "YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBp" + + "Lm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAg" + + "IGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoK" + + "ICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + + "YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0" + + "ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1l" + + "c3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRl" + + "czoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQog" + + "ICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAg" + + "IG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + + "IGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6" + + "CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVy" + + "RGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBu" + + "dmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + + "OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAi" + + "cmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21h" + + "aW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBp" + + "dHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0" + + "ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "aW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJh" + + "cmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3Nl" + + "ZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "YmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNl" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3" + + "YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hv" + + "c3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24u" + + "PGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoK" + + "SG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUu" + + "IGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWlj" + + "bXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBI" + + "b3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoK" + + "UmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1" + + "dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBO" + + "Q0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1o" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + + "ZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NM" + + "SV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + + "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1" + + "ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1" + + "c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNv" + + "bXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5" + + "IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUg" + + "dGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9s" + + "LXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkK" + + "Y29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + + "IC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpV" + + "c2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21t" + + "YW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + + "b2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1j" + + "bHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + + "bnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBv" + + "ciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFu" + + "ZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGgg" + + "aGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMK" + + "CkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0" + + "aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBg" + + "YAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZj" + + "YS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2Vj" + + "cmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3Bl" + + "cmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5" + + "c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBs" + + "aXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMu" + + "bWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQg" + + "R2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52" + + "b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3Bl" + + "cmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5l" + + "LWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3Rh" + + "dHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNh" + + "LXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNv" + + "bXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBk" + + "ZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUg" + + "ZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + + "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + + "bGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4g" + + "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3Rh" + + "Y2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + + "cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJv" + + "cnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNl" + + "IHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5n" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3Ig" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVz" + + "IGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0" + + "ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21w" + + "dXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0" + + "ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24t" + + "dmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpS" + + "ZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + + "bGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + + "IGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0" + + "aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBw" + + "bGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + + "CgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9u" + + "IHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAg" + + "dXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAg" + + "cmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBz" + + "ZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZj" + + "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + + "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1j" + + "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQt" + + "Y2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJl" + + "dmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRp" + + "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVn" + + "aXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBs" + + "YW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBj" + + "b250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6" + + "CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNv" + + "bnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYg" + + "PGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBk" + + "b3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + + "YWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5l" + + "LWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBm" + + "b3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBw" + + "bGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9s" + + "IHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZj" + + "vFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1" + + "Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9u" + + "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1h" + + "bmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1B" + + "CgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQpr" + + "dWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + + "cCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywg" + + "dm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpg" + + "YGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApO" + + "QU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpj" + + "YXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBg" + + "YAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4u" + + "Li9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8" + + "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1" + + "bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNy" + + "LWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQ" + + "dWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBq" + + "c29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vydmlj" + + "ZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1u" + + "IDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBG" + + "aXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + + "cyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBw" + + "b2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1k" + + "XShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxs" + + "U2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1z" + + "ZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVs" + + "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBp" + + "biBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRl" + + "bGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGgg" + + "Y29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChW" + + "YXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAv" + + "MWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFE" + + "WSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAg" + + "MC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhl" + + "IGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcg" + + "Zm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4K" + + "a3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9n" + + "cwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + + "bwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBs" + + "b2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMj" + + "IyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZl" + + "bnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9w" + + "ZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxt" + + "ZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoK" + + "CiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVs" + + "dC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJl" + + "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVu" + + "QmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0" + + "dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + + "ZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2Vu" + + "dC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1" + + "Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9u" + + "IEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJv" + + "dGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qg" + + "d2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAg" + + "IChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUg" + + "SldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNl" + + "QWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MK" + + "ICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2Qg" + + "bmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBi" + + "YXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + + "ZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5" + + "IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQg" + + "cHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdy" + + "YXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gK" + + "ICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBz" + + "ZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3Vl" + + "ckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUg" + + "am9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwog" + + "ICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRp" + + "c2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJh" + + "dGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVu" + + "aWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2gg" + + "UmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lE" + + "QyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQK" + + "ICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0" + + "aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVk" + + "IG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + + "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxl" + + "ZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNj" + + "cmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0" + + "IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhl" + + "bG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVz" + + "Lm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoK" + + "ICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgog" + + "ICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3Vy" + + "Y2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIg" + + "Y2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sg" + + "aW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBT" + + "VEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAw" + + "ICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMg" + + "Zm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWls" + + "YWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIw" + + "LzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVy" + + "c2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBz" + + "ZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQg" + + "ZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3Jl" + + "cCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9y" + + "YWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MK" + + "ICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0" + + "eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVw" + + "IC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVh" + + "c2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMg" + + "U2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZp" + + "bGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdy" + + "YXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJl" + + "bGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhl" + + "IGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ry" + + "b3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + + "IDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNy" + + "ZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9v" + + "dHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5j" + + "dGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJl" + + "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1" + + "YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRl" + + "ciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "IC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1" + + "YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVz" + + "ZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNy" + + "ZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFz" + + "ZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5" + + "IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBi" + + "YXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBg" + + "YGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdp" + + "c3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AK" + + "CiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBz" + + "ZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRl" + + "c3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWln" + + "bm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "ZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + + "ZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1" + + "Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5n" + + "cy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQg" + + "ICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0" + + "IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFy" + + "ZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3Rv" + + "bSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApl" + + "eHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBm" + + "aW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIk" + + "Q09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5p" + + "dGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8" + + "IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9" + + "IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2Vu" + + "ZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5h" + + "bGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBz" + + "dHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52" + + "Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + + "RV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAg" + + "ICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIk" + + "Q09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNl" + + "cy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5W" + + "Q0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1l" + + "bnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQg" + + "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERp" + + "YWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlv" + + "biB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4g" + + "UmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3Rl" + + "cHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBv" + + "dGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNw" + + "ZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBu" + + "dmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxv" + + "Z3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0y" + + "MDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNr" + + "ZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywg" + + "dmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRo" + + "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1" + + "c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRd" + + "KHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRl" + + "d2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUg" + + "Y29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9h" + + "ZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2lu" + + "dC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRl" + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAt" + "biBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZh" + - "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIERO" + - "UyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUg" + - "aG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyBy" + - "ZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWlu" + - "PmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEg" + - "dGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0" + - "ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcg" + - "YEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRp" + - "cmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcg" + - "dmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5l" + - "CklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhl" + - "aXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0" + - "aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2lu" + - "YWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9j" + - "b21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRl" + - "IGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGln" + - "ICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRw" + - "Oi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAt" + - "byB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRw" + - "cm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0" + - "Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9s" + - "bG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9y" + - "IC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "d2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNh" + - "LW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFs" + - "dGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVw" + - "ZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2Vydmlj" + - "ZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwg" + - "T3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1u" + - "IG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3Rs" + - "IGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVs" + - "ZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2Vz" + - "IHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNg" + - "IHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2Vy" + - "dmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJv" + - "eHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qt" + - "cm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlv" + - "bmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRo" + - "ZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0" + - "aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRk" + - "b24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJl" + - "cXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBg" + - "bGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVz" + - "dCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12" + - "YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhl" + - "IHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdh" + - "dGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBv" + - "bmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRk" + - "b25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGlu" + - "Z3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlk" + - "dWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5v" + - "dCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3Ig" + - "bmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5l" + - "IGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRo" + - "ZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUg" + - "aGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBj" + - "b21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBm" + - "bG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxh" + - "bmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxt" + - "ZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVu" + - "dmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + - "dHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8" + - "IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + - "YW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJ" + - "IHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhh" + - "bmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9s" + - "LXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0" + - "aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5l" + - "ZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1j" + - "b21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290" + - "cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBl" + - "bnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAg" + - "cmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4K" + - "LSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1" + - "dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2Ug" + - "dGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRp" + - "YS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9s" + - "LXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4K" + - "YGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2Yt" + - "Z2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4g" + - "VGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBw" + - "bHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5g" + - "IGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFz" + - "ZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwK" + - "IyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9i" + - "YWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBu" + - "dmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBj" + - "U2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNm" + - "TmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1Nl" + - "cnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZv" + - "Y2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpn" + - "cnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVz" + - "dGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFt" + - "ZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDog" + - "e25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBj" + - "OiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5h" + - "dHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1n" + - "YXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZB" + - "cGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3Ru" + - "YW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAg" + - "ICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsi" + - "d29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJs" + - "ZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + - "ICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0" + - "ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgog" + - "ICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFk" + - "ZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdh" + - "eS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIK" + - "ICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2" + - "aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6Cgpg" + - "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + - "b25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + - "b25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRk" + - "cmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJ" + - "X0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6" + - "ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8v" + - "PGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+Igph" + - "cGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMu" + - "PGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFp" + - "bj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNv" + - "bnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1h" + - "cHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21z" + - "X2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRo" + - "ZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20g" + - "dGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBg" + - "YmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNs" + - "dXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+" + - "IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4g" + - "XAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRo" + - "LXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUt" + - "cGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklM" + - "RV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmln" + - "PgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZy" + - "b20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVu" + - "dCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNv" + - "bW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9u" + - "bHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVy" + - "LgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + - "IGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUg" + - "cmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhv" + - "c3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVn" + - "aW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1h" + - "bmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBl" + - "cnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNo" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1w" + - "cm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + - "CiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxy" + - "ZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + - "PGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1j" + - "bGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFp" + - "biBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rl" + - "ci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "XAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdp" + - "c3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFj" + - "aGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBK" + - "V0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQg" + - "SGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNv" + - "bnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxh" + - "bmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21w" + - "dXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFu" + - "ZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBj" + - "b21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBp" + - "biBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3Qg" + - "YWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1h" + - "bmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3Jl" + - "dHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBh" + - "bmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8g" + - "d2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91" + - "dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Et" + - "b3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1" + - "c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgoj" + - "IyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJl" + - "Zm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29u" + - "dHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFBy" + - "ZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNl" + - "IHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlm" + - "eSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3Rh" + - "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAph" + - "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVs" + - "ZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBt" + - "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcg" + - "b3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVy" + - "CnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25m" + - "aXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2" + - "YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNs" + - "ZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + - "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAg" + - "LS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0t" + - "bmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklE" + - "YCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdp" + - "c3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBl" + - "eGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxl" + - "dGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkg" + - "Y29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNo" + - "CktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + - "RUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNP" + - "TkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1w" + - "bGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBg" + - "a3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + - "bGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVz" + - "dGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNh" + - "bWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + - "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + - "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29t" + - "cHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxj" + - "b21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hv" + - "dyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24g" + - "LS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhh" + - "dCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1w" + - "bGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3Rl" + - "ciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhl" + - "biBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNm" + - "LWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBs" + - "YWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0t" + - "aWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25s" + - "eSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwK" + - "ICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAg" + - "LS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+" + - "IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0" + - "ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVn" + - "aXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFm" + - "dGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5j" + - "ZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFu" + - "YWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAoj" + - "IEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdp" + - "ZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxu" + - "YW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZl" + - "bnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZl" + - "bnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJl" + - "IGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJl" + - "OiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAg" + - "UkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAg" + - "MC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93" + - "OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjog" + - "NDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0" + - "IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlz" + - "dHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFt" + - "ZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3Vi" + - "ZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3Bl" + - "Yy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBp" + - "bWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAt" + - "byBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2Vj" + - "cmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJl" + - "Y3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + - "IFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3Bh" + - "Y2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "YXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVm" + - "ZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJl" + - "ZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRz" + - "Lm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3Bl" + - "bmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNo" + - "IFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0o" + - "cHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERl" + - "bGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52" + - "Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVu" + - "dGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgoj" + - "IyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVz" + - "OgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAg" + - "IFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDow" + - "LzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5l" + - "ciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoK" + - "YGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5" + - "c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpv" + - "YnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dz" + - "IC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5p" + - "dCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNw" + - "YWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoq" + - "T3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2Ug" + - "cHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlv" + - "biBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2Fz" + - "IGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAg" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2" + - "ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBz" + - "ZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5p" + - "bmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3Bl" + - "bmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBg" + - "YXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFs" + - "aWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBh" + - "bnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1r" + - "ZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVk" + - "IHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0" + - "aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNh" + - "bm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5z" + - "IHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2Vu" + - "dC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBg" + - "SW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBv" + - "cGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAg" + - "IG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4g" + - "VXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFs" + - "bGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhl" + - "IGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBl" + - "bnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3Bl" + - "bmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAg" + - "ICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1z" + - "eXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUg" + - "bWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1l" + - "bnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmlu" + - "YWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBh" + - "bmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+" + - "MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJs" + - "ZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVz" + - "ZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJv" + - "dGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEK" + - "CiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJF" + - "U1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAx" + - "MG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNh" + - "c3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgoj" + - "IyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMu" + - "IFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1s" + - "Ci0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAi" + - "OCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIy" + - "IgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBu" + - "b3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhw" + - "bGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMj" + - "IyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RB" + - "UlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0K" + - "YGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5n" + - "IGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4K" + - "CiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUo" + - "cykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUg" + - "YXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVj" + - "bGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0" + - "Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJh" + - "c2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAK" + - "CjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlz" + - "dHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJ" + - "bnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gK" + - "ICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRl" + - "ZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBT" + - "dGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ug" + - "d2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVh" + - "cnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVk" + - "KS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1u" + - "IDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFz" + - "ZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNw" + - "YWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgpr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + - "ZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFp" + - "bGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJl" + - "IGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2Jz" + - "IC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykK" + - "a3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENo" + - "ZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + - "bWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25n" + - "IGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNy" + - "ZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBu" + - "b3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQg" + - "Y3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMg" + - "U2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lz" + - "dHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVk" + - "IGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXgg" + - "Y3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91" + - "dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwg" + - "ZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5k" + - "Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3Rs" + - "IGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJz" + - "KQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMK" + - "c3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9w" + - "ZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGlu" + - "ZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBj" + - "b250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxl" + - "ZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFu" + - "ZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVf" + - "Q09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9t" + - "IE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + - "VCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRh" + - "ZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7" + - "fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1" + - "YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAi" + - "JG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0i" + - "JyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNl" + - "cyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52" + - "Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0" + - "IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZp" + - "bmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + - "VCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXpl" + - "IiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1p" + - "c3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IK" + - "aXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3Ig" + - "XAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZp" + - "eGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRo" + - "YXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0" + - "YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0" + - "ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQv" + - "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9w" + - "ZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRo" + - "ZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9w" + - "ZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBt" + - "YW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + - "bWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBD" + - "aGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91" + - "dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMg" + - "cmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25v" + - "c2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdh" + - "eSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1u" + - "ICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6" + - "IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGly" + - "ZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5h" + - "dHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52" + - "Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgoj" + - "IyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBv" + - "dmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3Rp" + - "bmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5" + - "LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9u" + - "IHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4" + - "YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5n" + - "ZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJl" + - "bmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3Bh" + - "Y2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwg" + - "bmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwg" + - "b3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1w" + - "cm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGkt" + - "Z2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBl" + - "c3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52" + - "b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3" + - "YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAA" + - "AAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNl" + - "cy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZl" + - "cmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAg" + - "IyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5" + - "LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9u" + - "bWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFs" + - "dWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAg" + - "ICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYt" + - "bmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVk" + - "cywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0" + - "ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBs" + - "YW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5n" + - "b3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1u" + - "dmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBj" + - "b25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAg" + - "ICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxl" + - "bnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAt" + - "LSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29u" + - "c3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUg" + - "ZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZs" + - "b3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBp" + - "bnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0" + - "cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + - "CgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVz" + - "LnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0t" + - "LS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1u" + - "YXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1u" + - "dmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBk" + - "ZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNz" + - "YW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0" + - "ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoK" + - "IyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwg" + - "TGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5" + - "cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhl" + - "bG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52" + - "Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRp" + - "b24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1n" + - "cnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1h" + - "cGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5" + - "LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2Yg" + - "fCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJl" + - "cXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNm" + - "L2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlz" + - "c3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAo" + - "bm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVz" + - "IHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBp" + - "bmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFy" + - "dHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsu" + - "Li9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMu" + - "bGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3Rh" + - "bmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3Rt" + - "cGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0t" + - "LS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAo" + - "dmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNl" + - "cnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVk" + - "IGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRl" + - "bmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAu" + - "IE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdv" + - "dGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpg" + - "IGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1" + - "ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1" + - "ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8g" + - "dGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBg" + - "eWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5k" + - "ZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZh" + - "bHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12" + - "YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBX" + - "aGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQog" + - "IDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNs" + - "dWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VO" + - "ViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj" + - "IFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAg" + - "ICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZl" + - "KQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVy" + - "aXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAog" + - "IG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoK" + - "V2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBu" + - "ZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1" + - "ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoK" + - "RnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55" + - "YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hh" + - "cnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRz" + - "LnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24g" + - "cmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1w" + - "bCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVl" + - "c2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0" + - "cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMg" + - "aXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJl" + - "cGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkK" + - "LSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNl" + - "LnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3Rv" + - "cnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMj" + - "IyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdl" + - "LipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0" + - "c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0" + - "ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBg" + - "b3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAK" + - "LSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAot" + - "IGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFi" + - "bGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4q" + - "YCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBl" + - "bmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMj" + - "IExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3Jl" + - "YXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBU" + - "aGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdh" + - "eWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5" + - "IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRo" + - "ZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFi" + - "bGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEg" + - "c2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9u" + - "IHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoK" + - "CmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAg" + - "ICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9y" + - "OgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxp" + - "Y2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAg" + - "ICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVz" + - "dGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAog" + - "ICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGBy" + - "ZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3Rl" + - "cnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMg" + - "b24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0g" + - "QVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMu" + - "bGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2Fw" + - "YWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBG" + - "b3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGlj" + - "YSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQu" + - "c3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRy" + - "YW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qg" + - "cm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3Vy" + - "YXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltM" + - "TE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklE" + - "SUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxv" + - "YWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVk" + - "IG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9y" + - "eSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBg" + - "YHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAg" + - "ICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lz" + - "dHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5O" + - "VkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQu" + - "ClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1" + - "dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29u" + - "ZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBk" + - "YXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0" + - "ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGlu" + - "c3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6Cgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBp" + - "bnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24g" + - "bXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3Qg" + - "cmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0" + - "YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2" + - "ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1l" + - "CnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250" + - "cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lv" + - "bi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0" + - "bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQg" + - "cG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRl" + - "cicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJh" + - "Y2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3Bl" + - "Yy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17" + - "ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJg" + - "IGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIg" + - "c2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3Vy" + - "YXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3Jj" + - "L2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9u" + - "Lm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9y" + - "IGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBz" + - "eW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVh" + - "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVz" + - "dC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgoj" + - "IERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1w" + - "cm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9" + - "YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBv" + - "cHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2Fi" + - "bGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQg" + - "aW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZD" + - "RiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJh" + - "Y3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9l" + - "cyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1" + - "ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMK" + - "dGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxl" + - "bnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0" + - "cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0" + - "ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5n" + - "IGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0K" + - "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + - "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29y" + - "ZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUg" + - "aG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52" + - "Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZp" + - "cm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3" + - "IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08" + - "ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4g" + - "dGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRl" + - "cGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52" + - "Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdh" + - "eS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBh" + - "bmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + - "CnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBW" + - "UE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAg" + - "cm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldo" + - "ZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1w" + - "bGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBv" + - "biBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMg" + - "YXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ug" + - "b25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUg" + - "YXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1w" + - "bGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQg" + - "b3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQg" + - "dG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMj" + - "IDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6" + - "Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFs" + - "bCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBc" + - "CiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3Jl" + - "YXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1z" + - "eXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRv" + - "CiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVz" + - "cGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBj" + - "YXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1z" + - "eXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + - "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + - "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9u" + - "LU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNl" + - "cm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENs" + - "dXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVz" + - "dGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3Bl" + - "YzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxs" + - "c2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSBy" + - "ZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAg" + - "ICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5" + - "cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0g" + - "Im5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAg" + - "ICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0" + - "YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAg" + - "ICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdl" + - "cHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAg" + - "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBc" + - "CiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5z" + - "dGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJv" + - "bC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZp" + - "bGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2Vj" + - "cmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0" + - "CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0" + - "ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + - "cHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVh" + - "dGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9" + - "bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAog" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21w" + - "dXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxT" + - "ZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNl" + - "Y3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29t" + - "cHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5z" + - "dGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRy" + - "b2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3si" + - "bmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52" + - "Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6" + - "IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScu" + - "bGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5" + - "IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0" + - "b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3Rl" + - "bQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3" + - "aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFp" + - "bmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9t" + - "IEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBO" + - "byBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVy" + - "cyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRp" + - "dHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBz" + - "dGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVy" + - "bm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kg" + - "aXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxu" + - "YW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90" + - "IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoK" + - "IyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2Vj" + - "cmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1l" + - "CgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBl" + - "eGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0" + - "YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQ" + - "SwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAJUXFCpKEAAAShAAABIACQAAAAAAAAAAAAAA" + - "AAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhk" + - "AAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEADuDHaSETAAAhEwAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDUUhnkgxcAAIMXAAA3AAkAAAAAAAAAAAAAAOWaAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA1rIAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAOXMAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKS" + - "LCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAa/IAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "tEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAACdAQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDg" + - "gjxVIggAACIIAAA5AAkAAAAAAAAAAAAAAGQrAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odj" + - "VuQhAADkIQAALgAJAAAAAAAAAAAAAAD2MwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAVpUCM0yUAANMlAAAwAAkA" + - "AAAAAAAAAAAAAD9WAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFu" + - "ZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAAAAAAAAB5" + - "fAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAIglhA6RbAACkWwAALQAJAAAAAAAAAAAAAABKjQEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAUukBAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAAhCwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAA" + - "NAAJAAAAAAAAAAAAAADNbQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZh" + - "bHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAA" + - "AAAAAAAAAILEAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAGftAgBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxh" + - "bmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsA" + - "CQAAAAAAAAAAAAAA/B0DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQA" + - "CQAAAAAAAAAAAAAAI08DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5" + - "BwAAuQcAAD8ACQAAAAAAAAAAAAAAqHkDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBL" + - "QjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAANeBAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8J" + - "AABMmAMAAAA=" + "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + + "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + + "IgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1l" + + "bnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5h" + + "dHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFt" + + "ZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVj" + + "dCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkg" + + "ZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFu" + + "ZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4" + + "YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXkt" + + "ZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5n" + + "CgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3Bh" + + "Y2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18Cnwg" + + "bmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2" + + "YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1z" + + "ZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJv" + + "dXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1" + + "ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1n" + + "YXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUg" + + "U3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAz" + + "LW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25h" + + "bCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + + "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + + "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMv" + + "CnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMg" + + "KHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpu" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVu" + + "ZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50" + + "cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNo" + + "YXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + + "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + + "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + + "dCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVt" + + "cGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3Mg" + + "aGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxt" + + "ZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkg" + + "cHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5l" + + "IHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMu" + + "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAw" + + "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNl" + + "IHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRz" + + "IHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1z" + + "ZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRz" + + "IG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNh" + + "c3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVu" + + "ZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVu" + + "Y2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + + "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + + "LS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNl" + + "cyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxt" + + "LW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxt" + + "LW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5" + + "IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBo" + + "ZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhl" + + "bG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxt" + + "LXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hl" + + "bG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGkt" + + "Z2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNl" + + "cyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkg" + + "fCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2Yt" + + "Z2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBz" + + "ZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNl" + + "cyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxv" + + "bmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0" + + "ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5n" + + "cmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJp" + + "bGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8" + + "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5" + + "IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwK" + + "CkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50" + + "IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMj" + + "IGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUg" + + "cmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBh" + + "ZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRl" + + "bXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxs" + + "IHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVl" + + "cz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0" + + "YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVu" + + "ZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2Uu" + + "TmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFt" + + "ZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "IyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVu" + + "diAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAg" + + "LSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAg" + + "IGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChI" + + "ZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUn" + + "cyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZl" + + "cnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6" + + "IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVh" + + "c2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmls" + + "ZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVl" + + "cyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmly" + + "b25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25t" + + "ZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVy" + + "cmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAo" + + "Y29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+" + + "LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVl" + + "czpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xv" + + "YmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFk" + + "cyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZ" + + "QU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2Vz" + + "IHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgot" + + "IGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5" + + "LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5k" + + "cmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9i" + + "YWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3Rv" + + "cmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMu" + + "cmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + + "YXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBu" + + "YXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMj" + + "IyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2Vy" + + "dmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxl" + + "Y3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNl" + + "cnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVT" + + "ZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkg" + + "c2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFk" + + "ZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25U" + + "eXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApg" + + "bGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0" + + "ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29y" + + "a2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBh" + + "ZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRg" + + "IHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlz" + + "IGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlp" + + "bmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQog" + + "ICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAg" + + "c2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRl" + + "cjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1v" + + "bml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25m" + + "aWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTog" + + "VW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRy" + + "dWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5v" + + "ZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBw" + + "bGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVm" + + "YXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0" + + "LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkg" + + "d2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQg" + + "aXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSBy" + + "ZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4g" + + "VGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWlu" + + "dGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24u" + + "CgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFs" + + "YW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhv" + + "ZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9n" + + "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVx" + + "dWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1h" + + "Z2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5" + + "IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBl" + + "eHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToK" + + "ICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50" + + "LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVn" + + "YWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGgg" + + "aXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmls" + + "aXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNv" + + "bmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5k" + + "IGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVz" + + "aCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1" + + "c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1l" + + "cmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRl" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBj" + + "b21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxl" + + "IGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0" + + "YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlv" + + "biB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1" + + "cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBs" + + "b3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4g" + + "QWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBm" + + "dW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29y" + + "a2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGkt" + + "Z2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRl" + + "cgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxt" + + "LXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJl" + + "Y3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0" + + "aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3Nb" + + "Kl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRo" + + "ZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3Ig" + + "bG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rh" + + "cmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNm" + + "L2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2Vy" + + "LWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lm" + + "aWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + + "ZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBu" + + "YW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1p" + + "c3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5" + + "IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBg" + + "YWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0t" + + "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpO" + + "VkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBV" + + "SS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sg" + + "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFi" + + "bGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkg" + + "YW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0" + + "aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNm" + + "VWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2Ug" + + "dGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBl" + + "bnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToK" + + "ICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxs" + + "IHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBv" + + "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + + "dGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + + "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwK" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUg" + + "ZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQg" + + "aXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0" + + "ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJl" + + "bGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkg" + + "dGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJv" + + "dXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gK" + + "a3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + + "QSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAi" + + "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5W" + + "Q0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4" + + "cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVz" + + "dGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2Yg" + + "dGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgoj" + + "IyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lz" + + "dHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdl" + + "UHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFu" + + "ZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0" + + "cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQg" + + "Y29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQg" + + "aW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBs" + + "YW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAg" + + "YW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVj" + + "b21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQg" + + "a3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRh" + + "dGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVh" + + "dGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0Pgpg" + + "YGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhw" + + "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9u" + + "ZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + + "ci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2Vy" + + "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9u" + + "ZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAs" + + "IGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFw" + + "cGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlv" + + "L3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2Vw" + + "dWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6" + + "IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFu" + + "eToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0g" + + "UG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAg" + + "ICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIK" + + "ICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0" + + "ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5h" + + "Z2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAg" + + "IG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52" + + "aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBz" + + "cGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52" + + "Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApg" + + "YGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBz" + + "ZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJv" + + "bC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0" + + "cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0" + + "ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3Jg" + + "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0t" + + "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + + "IFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZj" + + "YS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2Ug" + + "aXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFs" + + "OgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9h" + + "ZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRo" + + "ZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVj" + + "ayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + + "PiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + + "IEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBh" + + "bm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEu" + + "YW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + + "fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwK" + + "ICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93" + + "ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRo" + + "ZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAog" + + "IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQK" + + "Ci0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBB" + + "bWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVz" + + "IGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyBy" + + "ZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3Jl" + + "ZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGgg" + + "bWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3Rp" + + "bmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9s" + + "aWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVy" + + "KiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJl" + + "Y3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVs" + + "ZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24g" + + "Y29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJl" + + "IFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFk" + + "ZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jv" + + "bmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlm" + + "eSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5h" + + "bWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAOs7bMEoQAABKEAAA" + + "EgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAA" + + "AAAAAAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5l" + + "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAO4MdpIRMAACETAAA0AAkAAAAAAAAAAAAAAFmH" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhANRSGeSDFwAAgxcAADcACQAAAAAAAAAAAAAA5ZoAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADWsgAAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA5cwAAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABr8gAAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAJ0BAQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAOCCPFUiCAAAIggAADkACQAAAAAAAAAAAAAAZCsBAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAPYzAQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABWl" + + "QIzTJQAA0yUAADAACQAAAAAAAAAAAAAAP1YBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDJ+UVvaBAAAGgQAAAy" + + "AAkAAAAAAAAAAAAAAHl8AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhp" + + "dC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBKV0jLJFwAACRcAAAtAAkAAAAAAAAA" + + "AAAAAEqNAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAGriz82EhAABhIQAANwAJAAAAAAAAAAAAAADS6QEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAKELAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAE1uAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/" + + "KAAAfygAAC8ACQAAAAAAAAAAAAAAAsUCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAA" + + "AAAAAAAAAAAA5+0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "tXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAB8HgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "ExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAACjTwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAAoegMAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAV4IDAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + + "UEsFBgAAAAAXABcArwkAAMyYAwAAAA==" var ( skillDataOnce sync.Once From 633b18f36aa7f593bcf56cc58be368e89c26c1e4 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:05:19 +0530 Subject: [PATCH 110/127] test(nvcf-cli): grade the ignored-signal child on its final event, not on an os.Exit(0) a test runner may reject Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 72b64b9ce0..455d4299a8 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -909,9 +909,11 @@ func TestCheck_SignalsIgnoredAtStartStayIgnored(t *testing.T) { child.Stdout, child.Stderr = &stdout, &stderr waitErr := child.Run() require.NotEqual(t, 3, child.ProcessState.ExitCode(), stdout.String()) - assert.Equal(t, 0, child.ProcessState.ExitCode(), "%v\n%s%s", waitErr, stdout.String(), stderr.String()) + assert.NotEqual(t, 130, child.ProcessState.ExitCode(), "%v\n%s%s", waitErr, stdout.String(), stderr.String()) assert.Contains(t, stdout.String(), finished) - assert.NotEqual(t, true, finalEvent(t, stderr.String())["cancelled"]) + final := finalEvent(t, stderr.String()) + assert.Nil(t, final["cancelled"]) + assert.Equal(t, "ok", final["verdict"], stderr.String()) } // Every exit that leaves objects behind says how to remove them: in the row, From 4013126fcc38daf8351171df8bb1b23305c6a799 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 10:59:07 +0530 Subject: [PATCH 111/127] fix(nvcf-cli): retry a first cluster call that met a server error, and read its body within the call bound Signed-off-by: rohithb --- .../internal/selfhosted/cluster_reach.go | 75 +++++++++----- .../internal/selfhosted/cluster_reach_test.go | 99 +++++++++++++++++++ 2 files changed, 152 insertions(+), 22 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go index a05e956632..8b01e0f6bb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -18,7 +18,9 @@ limitations under the License. package selfhosted import ( + "bytes" "context" + "errors" "fmt" "io" "net/http" @@ -53,11 +55,20 @@ func (e *ClusterUnreachableError) Unwrap() error { return e.Err } // cluster. A var so tests can shorten it. var clusterFirstCallTimeout = 15 * time.Second +// firstCallRetryDelay is the pause before a first call that met a server error +// is tried again. A var so tests can shorten it. +var firstCallRetryDelay = time.Second + +// firstCallBodyLimit caps the body of a first-call response, which is read +// within the call's bound. /version answers in well under a kilobyte. +const firstCallBodyLimit = 1 << 20 + // connectCluster builds a client for kubeContext, its transport wrapped by -// wraps, and makes its first API call. When that call fails, whatever the -// error, the cluster is a ClusterUnreachableError, unless the run's own budget -// ended or it was interrupted meanwhile: then the run, not the cluster, stopped -// it, and the probe that follows reports that. +// wraps, and makes its first API call. A rejected token or a server error gets +// one more try. When the call still fails, whatever the error, the cluster is +// a ClusterUnreachableError, unless the run's own budget ended or it was +// interrupted meanwhile: then the run, not the cluster, stopped it, and the +// probe that follows reports that. func connectCluster( ctx context.Context, kubeContext string, wraps ...func(http.RoundTripper) http.RoundTripper, ) (kubernetes.Interface, error) { @@ -74,10 +85,23 @@ func connectCluster( return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubernetes client: %w", err)} } err = firstClusterCall(ctx, client) - if apierrors.IsUnauthorized(err) && ctx.Err() == nil { + switch { + case ctx.Err() != nil: + // The run's budget ended or it was interrupted: not the cluster's doing. + case apierrors.IsUnauthorized(err): // A credential plugin replaces a cached token the server rejected on // the next call. err = firstClusterCall(ctx, client) + case isServerError(err): + // client-go retries a server error only when it carries a + // Retry-After, and a load balancer in front of a rolling API server + // answers 502 or 503 without one. A connection dropped before the + // response, or part way through its body, client-go retries itself. + select { + case <-ctx.Done(): + case <-time.After(firstCallRetryDelay): + err = firstClusterCall(ctx, client) + } } if err != nil && ctx.Err() == nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: err} @@ -85,6 +109,12 @@ func connectCluster( return client, nil } +// isServerError reports an API call the server answered with a 5xx status. +func isServerError(err error) bool { + var status apierrors.APIStatus + return errors.As(err, &status) && status.Status().Code >= http.StatusInternalServerError +} + // firstClusterCall asks the server for its version, each round trip bounded // by clusterFirstCallTimeout. func firstClusterCall(ctx context.Context, client kubernetes.Interface) error { @@ -97,10 +127,11 @@ func firstClusterCall(ctx context.Context, client kubernetes.Interface) error { type firstCallBound struct{} // boundFirstCall wraps a client's transport to bound a round trip whose -// context carries a firstCallBound. An exec or auth provider wraps the -// transport outside it and fetches its credentials before the round trip, so -// a login the operator is waiting on does not count, while an API server that -// takes the connection and never answers still does. +// context carries a firstCallBound, its body included. An exec or auth +// provider wraps the transport outside it and fetches its credentials before +// the round trip, and logs in again after a 401 once it returns, so a login +// the operator is waiting on does not count, while an API server that takes +// the connection and never answers still does. func boundFirstCall(rt http.RoundTripper) http.RoundTripper { return boundedRoundTripper{next: rt} } @@ -113,22 +144,22 @@ func (b boundedRoundTripper) RoundTrip(req *http.Request) (*http.Response, error return b.next.RoundTrip(req) } ctx, cancel := context.WithTimeout(req.Context(), bound) + defer cancel() resp, err := b.next.RoundTrip(req.WithContext(ctx)) if err != nil { - cancel() return nil, err } - // The body is read after the round trip returns, within the same bound. - resp.Body = cancelOnClose{ReadCloser: resp.Body, cancel: cancel} + // Read within the round trip, the body is not cut off by the bound running + // out during a login after it, and a connection dropped part way through + // the body fails the round trip, which client-go retries. + body, err := io.ReadAll(io.LimitReader(resp.Body, firstCallBodyLimit+1)) + _ = resp.Body.Close() + if err != nil { + return nil, err + } + if len(body) > firstCallBodyLimit { + return nil, fmt.Errorf("response to %s is larger than %d bytes", req.URL.Path, firstCallBodyLimit) + } + resp.Body = io.NopCloser(bytes.NewReader(body)) return resp, nil } - -type cancelOnClose struct { - io.ReadCloser - cancel context.CancelFunc -} - -func (c cancelOnClose) Close() error { - defer c.cancel() - return c.ReadCloser.Close() -} diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go index 88f78d5782..4495c7cd43 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go @@ -21,11 +21,13 @@ import ( "context" "errors" "fmt" + "net" "net/http" "net/http/httptest" "os" "path/filepath" "strings" + "sync/atomic" "testing" "time" @@ -220,3 +222,100 @@ func TestConnectCluster_CredentialPluginAgainstASilentServer(t *testing.T) { assert.Less(t, time.Since(start), 5*time.Second, name) } } + +// shortenFirstCallRetry makes the pause before the first call's retry short. +func shortenFirstCallRetry(t *testing.T) { + t.Helper() + prev := firstCallRetryDelay + firstCallRetryDelay = 10 * time.Millisecond + t.Cleanup(func() { firstCallRetryDelay = prev }) +} + +// A server error on the first call, without a Retry-After for client-go to +// honour, as from a load balancer while an API server rolls, gets one more +// try. A second failure is still unreachable. +func TestConnectCluster_RetriesAServerErrorOnce(t *testing.T) { + shortenFirstCallRetry(t) + for _, code := range []int{ + http.StatusInternalServerError, http.StatusBadGateway, + http.StatusServiceUnavailable, http.StatusGatewayTimeout, + } { + for _, failures := range []int32{1, 2} { + var calls atomic.Int32 + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + if calls.Add(1) <= failures { + w.WriteHeader(code) + return + } + w.WriteHeader(http.StatusOK) + })) + writeKubeconfig(t, srv.URL) + _, err := connectCluster(context.Background(), "test") + srv.Close() + var unreachable *ClusterUnreachableError + assert.Equal(t, failures > 1, errors.As(err, &unreachable), "%d x%d: %v", code, failures, err) + assert.EqualValues(t, 2, calls.Load(), "%d x%d", code, failures) + } + } +} + +// A connection dropped on the first call is tried again, whether it drops +// before the response or part way through its body. +func TestConnectCluster_RetriesADroppedConnection(t *testing.T) { + shortenFirstCallRetry(t) + for name, drop := range map[string]func(net.Conn){ + "closed": func(c net.Conn) { _ = c.Close() }, + "reset": func(c net.Conn) { + _ = c.(*net.TCPConn).SetLinger(0) + _ = c.Close() + }, + "closed in the body": func(c net.Conn) { + _, _ = c.Write([]byte("HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n" + + "Content-Length: 100\r\n\r\n{\"major\"")) + _ = c.Close() + }, + } { + var calls atomic.Int32 + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + if calls.Add(1) == 1 { + conn, _, err := http.NewResponseController(w).Hijack() + require.NoError(t, err) + drop(conn) + return + } + w.WriteHeader(http.StatusOK) + })) + writeKubeconfig(t, srv.URL) + _, err := connectCluster(context.Background(), "test") + srv.Close() + assert.NoError(t, err, name) + assert.EqualValues(t, 2, calls.Load(), name) + } +} + +// A body that follows its headers, as an HTTP/1.1 server may send a 401, is +// read within the first call's bound, before a credential plugin logs in +// again: a login slower than the bound does not cut off the body and leave the +// cluster unreachable. +func TestConnectCluster_SlowReloginAfterADelayedRejectionBody(t *testing.T) { + srv := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Header.Get("Authorization") == "Bearer fresh" { + w.WriteHeader(http.StatusOK) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusUnauthorized) + http.NewResponseController(w).Flush() + time.Sleep(50 * time.Millisecond) + _, _ = w.Write([]byte(`{"kind":"Status","apiVersion":"v1","status":"Failure","reason":"Unauthorized","code":401}`)) + })) + t.Cleanup(srv.Close) + prev := clusterFirstCallTimeout + clusterFirstCallTimeout = 500 * time.Millisecond + t.Cleanup(func() { clusterFirstCallTimeout = prev }) + + writeKubeconfigFor(t, srv.URL, credentialPlugin(t, + `if [ -e "$0.ran" ]; then sleep 1; token=fresh; else : > "$0.ran"; token=stale; fi`)) + _, err := connectCluster(context.Background(), "test") + assert.NoError(t, err) +} From cab5f549a9db59a522c8a2480f692a78212c51f7 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:01:03 +0530 Subject: [PATCH 112/127] fix(nvcf-cli): create the inotify probe pod again with small requests and limits when a quota requires them Signed-off-by: rohithb --- .../internal/selfhosted/inotify_probe.go | 41 +++++++++- .../internal/selfhosted/inotify_probe_test.go | 79 +++++++++++++++++++ 2 files changed, 118 insertions(+), 2 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index 10e39e7000..701637a20d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -30,6 +30,7 @@ import ( "golang.org/x/sync/errgroup" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes" @@ -219,8 +220,7 @@ func probeOneNode( pctx, cancel := context.WithTimeout(ctx, perNodePodTimeout) defer cancel() - pod, err := client.CoreV1().Pods(inotifyProbeNamespace).Create(pctx, buildInotifyProbePod(nodeName, run.id, image), - metav1.CreateOptions{}) + pod, err := createProbePod(pctx, client, nodeName, run.id, image) if err != nil { res.Err = fmt.Errorf("create probe pod on node %s: %w", nodeName, err) return res @@ -249,6 +249,42 @@ func probeOneNode( return res } +// createProbePod creates the probe pod for nodeName. A ResourceQuota on cpu or +// memory in the namespace rejects a pod that states no requests or limits for +// them, so on that rejection the pod is created once more with small ones. +func createProbePod( + ctx context.Context, client kubernetes.Interface, nodeName, runID, image string, +) (*corev1.Pod, error) { + pods := client.CoreV1().Pods(inotifyProbeNamespace) + pod := buildInotifyProbePod(nodeName, runID, image) + created, err := pods.Create(ctx, pod, metav1.CreateOptions{}) + if !quotaRequiresResources(err) { + return created, err + } + // A quota may cover limits as well as requests. Equal values keep the pod + // Guaranteed. + pod.Spec.Containers[0].Resources = corev1.ResourceRequirements{ + Requests: inotifyProbeQuotaResources(), + Limits: inotifyProbeQuotaResources(), + } + return pods.Create(ctx, pod, metav1.CreateOptions{}) +} + +// quotaRequiresResources reports a create a ResourceQuota refused because the +// pod states no request or limit for a resource the quota covers. +func quotaRequiresResources(err error) bool { + return apierrors.IsForbidden(err) && strings.Contains(err.Error(), "must specify") +} + +// inotifyProbeQuotaResources are the probe container's requests, and its +// limits, in a namespace whose quota requires them. +func inotifyProbeQuotaResources() corev1.ResourceList { + return corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("50m"), + corev1.ResourceMemory: resource.MustParse("32Mi"), + } +} + // inotifyProbeLabels are the labels on every probe pod of one run: the // validator's managed labels under the probe's own name, the role, and the // run ID. With an empty runID they select every run's probe pods. @@ -296,6 +332,7 @@ func buildInotifyProbePod(nodeName, runID, image string) *corev1.Pod { // any request has it rejected OutOfcpu or OutOfmemory on a // fully requested node, the busiest ones. No limits either: // a limit without a request sets the request to it. + // createProbePod adds both where a quota requires them. SecurityContext: &corev1.SecurityContext{ RunAsNonRoot: &runAsNonRoot, ReadOnlyRootFilesystem: &readOnlyRoot, diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index 95aa50550a..de27a0d9c5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -19,6 +19,7 @@ package selfhosted import ( "context" + "errors" "fmt" "net/http" "net/http/httptest" @@ -31,8 +32,10 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" @@ -289,3 +292,79 @@ func TestProbeRun_ReclaimEndsWithinTheCleanupRoom(t *testing.T) { assert.Less(t, time.Since(start), probePodCleanupTimeout, "the per-node deletes used the room after the deadline, so the reclaim gets none") } + +// quotaClient serves one node in a namespace whose ResourceQuota on cpu and +// memory rejects a pod that does not state them, as the admission plugin +// words it. Admitted pods finish at once; every create is recorded. +func quotaClient(t *testing.T, retryErr error) (*fake.Clientset, *[]corev1.ResourceRequirements) { + t.Helper() + client := fake.NewSimpleClientset(fakeNode("node-a")) + var creates []corev1.ResourceRequirements + var n atomic.Int32 + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod) + res := pod.Spec.Containers[0].Resources + creates = append(creates, res) + if len(res.Requests) == 0 && len(res.Limits) == 0 { + return true, nil, apierrors.NewForbidden(schema.GroupResource{Resource: "pods"}, pod.GenerateName, + errors.New("failed quota: compute: must specify limits.cpu for: probe; limits.memory for: probe; "+ + "requests.cpu for: probe; requests.memory for: probe")) + } + if retryErr != nil { + return true, nil, retryErr + } + pod.Name = fmt.Sprintf("%s%d", pod.GenerateName, n.Add(1)) + pod.Status.Phase = corev1.PodSucceeded + return false, nil, nil + }) + return client, &creates +} + +// A namespace whose quota requires requests and limits rejects the probe pod, +// which states none. The pod is created once more with small, equal requests +// and limits, so the node is probed rather than reported as not probed. +func TestProbeAllNodes_StatesResourcesWhenAQuotaRequiresThem(t *testing.T) { + client, creates := quotaClient(t, nil) + results, err := probeAllNodes(context.Background(), client, "") + require.NoError(t, err) + require.Len(t, results, 1) + require.Len(t, *creates, 2, "one retry, with resources") + retry := (*creates)[1] + for _, name := range []corev1.ResourceName{corev1.ResourceCPU, corev1.ResourceMemory} { + req, lim := retry.Requests[name], retry.Limits[name] + assert.False(t, req.IsZero(), name) + assert.Zero(t, req.Cmp(lim), "%s: equal requests and limits", name) + } + if results[0].Err != nil { + assert.NotContains(t, results[0].Err.Error(), "create probe pod", "the retry was admitted") + } + pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + assert.Empty(t, pods.Items, "the retried pod is removed like any other") +} + +// The retry happens once, and only for a quota that requires resources: its +// own rejection is the node's error, and any other refusal is not retried. +func TestProbeAllNodes_QuotaRetryIsOnceAndOnlyForMissingResources(t *testing.T) { + client, creates := quotaClient(t, apierrors.NewForbidden(schema.GroupResource{Resource: "pods"}, "p", + errors.New("exceeded quota: compute, requested: requests.cpu=50m, used: requests.cpu=4, limited: requests.cpu=4"))) + results, err := probeAllNodes(context.Background(), client, "") + require.NoError(t, err) + require.Len(t, results, 1) + assert.Len(t, *creates, 2) + require.Error(t, results[0].Err) + assert.Contains(t, results[0].Err.Error(), "exceeded quota") + + denied := fake.NewSimpleClientset(fakeNode("node-a")) + calls := 0 + denied.PrependReactor("create", "pods", func(ktesting.Action) (bool, runtime.Object, error) { + calls++ + return true, nil, apierrors.NewForbidden(schema.GroupResource{Resource: "pods"}, "p", + errors.New(`violates PodSecurity "restricted:latest": hostPath volumes`)) + }) + results, err = probeAllNodes(context.Background(), denied, "") + require.NoError(t, err) + require.Len(t, results, 1) + assert.Equal(t, 1, calls, "a refusal for any other reason is not retried") + assert.Contains(t, results[0].Err.Error(), "PodSecurity") +} From eb9c032e7918150f5b4a61188164f3ee1df3b575 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:13:32 +0530 Subject: [PATCH 113/127] fix(nvcf-cli): keep inotify results across --wait polls and mark only nodes the budget stopped as transient Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 12 +- .../cmd/self_hosted_check_rows_test.go | 8 + .../internal/selfhosted/inotify_probe.go | 185 +++++++++++--- .../internal/selfhosted/inotify_probe_test.go | 239 +++++++++++++++++- .../nvcf-cli/internal/selfhosted/preflight.go | 17 +- 5 files changed, 413 insertions(+), 48 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 1cc0fdef15..72aaf7f1ad 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -384,6 +384,11 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { return &ExitCodeError{Code: 130, Msg: "interrupted"} } + // One inotify prober for every --wait poll: it keeps what it learned + // of each node, so a poll gets further than the one before. + inotifyProber := sync.OnceValue(func() selfhosted.NodeInotifyProber { + return newInotifyProberForSelfHosted(configuredProbeImage()) + }) runOnce := func() []selfhosted.CheckResult { // The first poll keeps the lookups the image resolution above made. pollCtx := selfhosted.WithRegistryCredentials(ctx, creds) @@ -396,7 +401,8 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } if checkPre || checkAll || checkControlPlane || checkComputePlane { results = append(results, - runPreflightByRole(pollCtx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger)...) + runPreflightByRole(pollCtx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger, + inotifyProber)...) } return results } @@ -996,9 +1002,11 @@ func selectCheckRenderer(w io.Writer, wait bool, onQuit func()) (progress.EventS // mode is the already-resolved kubectx.Mode (hoisted to the caller so image // resolution and timeout sizing share the same answer). clusterValidatorImage // is the already-resolved validator image (empty when not configured). +// sharedInotifyProber returns the inotify prober every poll shares. func runPreflightByRole( ctx context.Context, cfg selfhosted.PreflightConfig, sink progress.EventSink, mode kubectx.Mode, clusterValidatorImage, unresolvedImage string, ledger *selfhosted.CleanupLedger, + sharedInotifyProber func() selfhosted.NodeInotifyProber, ) []selfhosted.CheckResult { // LocalOnly: skip all cluster probes, and say so in a row for each. if cfg.LocalOnly { @@ -1032,7 +1040,7 @@ func runPreflightByRole( Message: "node inotify limits skipped (--skip-inotify-check)", }) } else { - inotifyProber = newInotifyProberForSelfHosted(configuredProbeImage()) + inotifyProber = sharedInotifyProber() } } computeSkips = append(computeSkips, diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index 9fee3ff6db..29aa601248 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -71,6 +71,9 @@ type checkRun struct { inotify []string validators []validatorCall sisHits int64 + + // inotifyProbers counts the inotify probers built. + inotifyProbers int } func (r checkRun) code() int { @@ -145,6 +148,9 @@ func runCheck(t *testing.T, stubs checkStubs, args ...string) checkRun { } } newInotifyProberForSelfHosted = func(string) selfhosted.NodeInotifyProber { + mu.Lock() + run.inotifyProbers++ + mu.Unlock() return func(ctx context.Context, kubeContext string) ([]selfhosted.NodeInotifyLimits, error) { mu.Lock() run.inotify = append(run.inotify, kubeContext) @@ -649,6 +655,8 @@ func TestCheck_WaitPollsOnNodesTheInotifyProbeDidNotReach(t *testing.T) { assert.Equal(t, 0, run.code(), run.stderr) assert.Equal(t, 2, calls, "the second poll reached every node") assert.Equal(t, "ok", finalEvent(t, run.stderr)["verdict"]) + assert.Equal(t, 1, run.inotifyProbers, + "every poll uses one prober, which keeps what the polls before learned of each node") } // Every flag set in both topologies: which roles run and where, what each diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index 701637a20d..f09c16d938 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -63,10 +63,6 @@ const ( // and discarding all diagnostic info. inotifyProbeShellCmd = "cat /host/proc/sys/fs/inotify/max_user_instances; cat /host/proc/sys/fs/inotify/max_user_watches" - // perNodePodTimeout caps the create+wait+logs sequence for one node. - // Image pull on a cold node can take ~30s; pod schedule + cat is sub-second. - perNodePodTimeout = 90 * time.Second - // podPollInterval is how often we poll pod status while waiting for the // probe container to terminate. podPollInterval = 1 * time.Second @@ -108,8 +104,13 @@ const ( // // image replaces the default busybox image, for clusters that pull from a // mirror; empty keeps the default. +// +// The prober remembers what it learned of each node across its calls, the +// polls of one --wait: a node found within the limits is not probed again, and +// the nodes no call has a result for are probed first, so each poll gets +// further than the one before. func NewInotifyProber(image string) NodeInotifyProber { - return func(ctx context.Context, kubeContext string) ([]NodeInotifyLimits, error) { + return newInotifyProber(image, func(kubeContext string) (kubernetes.Interface, error) { restCfg, err := loadKubeConfig(kubeContext) if err != nil { return nil, fmt.Errorf("building kubeconfig: %w", err) @@ -129,10 +130,28 @@ func NewInotifyProber(image string) NodeInotifyProber { if err != nil { return nil, fmt.Errorf("building kubernetes client: %w", err) } - return probeAllNodes(ctx, client, image) + return client, nil + }) +} + +// newInotifyProber is NewInotifyProber with the client for a kube context +// from connect. +func newInotifyProber(image string, connect func(kubeContext string) (kubernetes.Interface, error)) NodeInotifyProber { + mem := &inotifyProbeMemory{} + return func(ctx context.Context, kubeContext string) ([]NodeInotifyLimits, error) { + client, err := connect(kubeContext) + if err != nil { + return nil, err + } + return probeAllNodes(ctx, client, image, mem) } } +// perNodePodTimeout caps the create+wait+logs sequence for one node. Image +// pull on a cold node can take ~30s; pod schedule + cat is sub-second. A var so +// tests can shorten it. +var perNodePodTimeout = 90 * time.Second + // inotifyProbeBudget bounds the whole probe, inside the time the check sets // aside for the checks that run before the validator. A var so tests can // shorten it. @@ -153,7 +172,15 @@ var probePodCleanupTimeout = 10 * time.Second // nodeInotifyCheck can always inspect partial results, and limit // violations on some nodes are never dropped when other nodes are // concurrently unreachable. -func probeAllNodes(ctx context.Context, client kubernetes.Interface, image string) ([]NodeInotifyLimits, error) { +// +// mem holds what earlier calls learned of the nodes, and takes what this one +// learns; nil starts from nothing. +func probeAllNodes( + ctx context.Context, client kubernetes.Interface, image string, mem *inotifyProbeMemory, +) ([]NodeInotifyLimits, error) { + if mem == nil { + mem = &inotifyProbeMemory{} + } // Nodes are probed probeConcurrency at a time, so on a cluster whose // probe pods stall each wave takes perNodePodTimeout: unbounded, the probe // ran past the time the check sets aside for the checks before the @@ -178,17 +205,16 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin // delete runs. This reclaims those by the run's label on every return. probeDeadline, _ := ctx.Deadline() defer func() { run.reclaim(client, probeDeadline) }() - results := make([]NodeInotifyLimits, len(nodes.Items)) + // Unschedulable nodes won't have control plane components deployed on them. + schedulable := slices.DeleteFunc(nodes.Items, func(n corev1.Node) bool { return n.Spec.Unschedulable }) + results := make([]NodeInotifyLimits, len(schedulable)) eg, egCtx := errgroup.WithContext(ctx) eg.SetLimit(probeConcurrency) - for i, n := range nodes.Items { - // Unschedulable nodes won't have control plane components deployed on them. - if n.Spec.Unschedulable { - continue - } - i, nodeName := i, n.Name + for _, i := range mem.plan(schedulable, results) { + node := &schedulable[i] eg.Go(func() error { - results[i] = probeOneNode(egCtx, client, run, nodeName, image) + res, stop := probeOneNode(egCtx, client, run, node.Name, image) + results[i] = mem.settle(node, res, stop) // Per-node failures are encoded in results[i].Err; never // propagate them as the errgroup's error, since that would // cancel sibling probes still in flight. @@ -196,25 +222,41 @@ func probeAllNodes(ctx context.Context, client kubernetes.Interface, image strin }) } _ = eg.Wait() - // Remove any results from skipped nodes. - results = slices.DeleteFunc(results, func(item NodeInotifyLimits) bool { - return item.Err == nil && item.NodeName == "" - }) return results, nil } +// probeStop says whether the probe's budget stopped a node's probe. +type probeStop int + +const ( + // probeFinished is a probe that ran to its end: the node was measured, or + // failed on its own, such as an image it could not pull or its own bound. + probeFinished probeStop = iota + // probeNotStarted is a node the budget ran out before. + probeNotStarted + // probeStoppedPartWay is a node the budget ran out on while it was probed. + probeStoppedPartWay +) + // probeOneNode creates, waits on, and tears down a single probe pod, returning -// the parsed limits or a per-node error. +// the parsed limits or a per-node error, and whether the probe's budget, +// rather than the node, stopped it. func probeOneNode( ctx context.Context, client kubernetes.Interface, run *probeRun, nodeName, image string, -) (res NodeInotifyLimits) { - res = NodeInotifyLimits{NodeName: nodeName} - // ctx is the whole probe's, so a failure once it ended is the budget's, - // not the node's. - defer func() { res.OutOfBudget = res.Err != nil && ctx.Err() != nil }() +) (NodeInotifyLimits, probeStop) { + res := NodeInotifyLimits{NodeName: nodeName} if ctx.Err() != nil { res.Err = fmt.Errorf("not probed: the inotify probe's %s budget ran out", inotifyProbeBudget) - return res + return res, probeNotStarted + } + // ctx is the whole probe's, so a failure once it ended is the budget's, + // not the node's. It is told apart here, before the pod's cleanup. + failed := func(err error) (NodeInotifyLimits, probeStop) { + res.Err = err + if ctx.Err() != nil { + return res, probeStoppedPartWay + } + return res, probeFinished } pctx, cancel := context.WithTimeout(ctx, perNodePodTimeout) @@ -222,30 +264,107 @@ func probeOneNode( pod, err := createProbePod(pctx, client, nodeName, run.id, image) if err != nil { - res.Err = fmt.Errorf("create probe pod on node %s: %w", nodeName, err) - return res + return failed(fmt.Errorf("create probe pod on node %s: %w", nodeName, err)) } run.created(pod) defer cleanupProbePod(client, pod) if err := waitForPodTerminal(pctx, client, pod.Name); err != nil { - res.Err = fmt.Errorf("waiting for probe pod on node %s: %w", nodeName, err) - return res + return failed(fmt.Errorf("waiting for probe pod on node %s: %w", nodeName, err)) } logs, err := fetchPodLogs(pctx, client, pod.Name) if err != nil { - res.Err = fmt.Errorf("fetching probe logs from node %s: %w", nodeName, err) - return res + return failed(fmt.Errorf("fetching probe logs from node %s: %w", nodeName, err)) } instances, watches, err := parseInotifyOutput(logs) if err != nil { res.Err = fmt.Errorf("parsing inotify output from node %s: %w", nodeName, err) - return res + return res, probeFinished } res.MaxUserInstances = instances res.MaxUserWatches = watches + return res, probeFinished +} + +// inotifyProbeMemory is what one prober learned of each node over its calls. +type inotifyProbeMemory struct { + mu sync.Mutex + nodes map[string]*nodeProbeRecord // by node name and UID +} + +type nodeProbeRecord struct { + // last is the node's latest probe that ran to its end, if any. + last *NodeInotifyLimits + // stoppedPartWay is set once the budget ran out on a probe of the node. + stoppedPartWay bool +} + +func nodeProbeKey(node *corev1.Node) string { return node.Name + "/" + string(node.UID) } + +// plan fills in results for the nodes an earlier call found within the +// limits, which are not probed again, and returns the others in the order to +// probe them: first the nodes no call has a result for, those the budget +// stopped part way ahead of the rest, so they get a whole turn; then the nodes +// whose last result was a failure or below the limits, which a new probe may +// change. +func (m *inotifyProbeMemory) plan(nodes []corev1.Node, results []NodeInotifyLimits) []int { + m.mu.Lock() + defer m.mu.Unlock() + var stopped, fresh, again []int + for i := range nodes { + rec := m.nodes[nodeProbeKey(&nodes[i])] + switch { + case rec == nil: + fresh = append(fresh, i) + case rec.last != nil && rec.last.withinLimits(): + results[i] = *rec.last + case rec.last != nil: + again = append(again, i) + default: + stopped = append(stopped, i) + } + } + return slices.Concat(stopped, fresh, again) +} + +// settle records how a node's probe ended and returns the node's result for +// this call. Only a node without a result that the budget stopped is out of +// budget: a later call, which probes such nodes first, may reach it. A node +// that failed on its own, or the budget stopped part way a second time +// although it went first, is not: a later call is unlikely to do better. +func (m *inotifyProbeMemory) settle(node *corev1.Node, res NodeInotifyLimits, stop probeStop) NodeInotifyLimits { + m.mu.Lock() + defer m.mu.Unlock() + if m.nodes == nil { + m.nodes = map[string]*nodeProbeRecord{} + } + key := nodeProbeKey(node) + rec := m.nodes[key] + if rec == nil { + rec = &nodeProbeRecord{} + } + switch { + case stop == probeFinished: + rec.last = &res + case rec.last != nil: + // The budget stopped a new probe of a node an earlier call has a + // result for: that result stands. + return *rec.last + case stop == probeNotStarted: + res.OutOfBudget = true + if !rec.stoppedPartWay { + // Nothing to record: the node is still one no call has reached. + return res + } + case !rec.stoppedPartWay: + res.OutOfBudget = true + rec.stoppedPartWay = true + default: + rec.last = &res + } + m.nodes[key] = rec return res } diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index de27a0d9c5..0880529321 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -21,9 +21,12 @@ import ( "context" "errors" "fmt" + "io" "net/http" "net/http/httptest" + "path" "strings" + "sync" "sync/atomic" "testing" "time" @@ -50,7 +53,7 @@ func fakeNode(name string) *corev1.Node { func TestProbeAllNodes_EmptyCluster(t *testing.T) { client := fake.NewSimpleClientset() - results, err := probeAllNodes(context.Background(), client, "") + results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) assert.Empty(t, results, "no nodes → no per-node results") } @@ -60,7 +63,7 @@ func TestProbeAllNodes_ListNodesError(t *testing.T) { client.PrependReactor("list", "nodes", func(_ ktesting.Action) (bool, runtime.Object, error) { return true, nil, fmt.Errorf("forbidden: nodes") }) - _, err := probeAllNodes(context.Background(), client, "") + _, err := probeAllNodes(context.Background(), client, "", nil) require.Error(t, err) assert.Contains(t, err.Error(), "listing nodes") assert.Contains(t, err.Error(), "forbidden") @@ -73,7 +76,7 @@ func TestProbeAllNodes_PodCreateErrorSurfacesPerNode(t *testing.T) { client.PrependReactor("create", "pods", func(_ ktesting.Action) (bool, runtime.Object, error) { return true, nil, fmt.Errorf("forbidden: pod create denied") }) - results, err := probeAllNodes(context.Background(), client, "") + results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err, "list succeeded so the overall probe should not return an error") require.Len(t, results, 2) for _, r := range results { @@ -109,7 +112,7 @@ func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { }) start := time.Now() - results, err := probeAllNodes(context.Background(), client, "") + results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) assert.Less(t, time.Since(start), 5*time.Second, "the probe outlived its budget") require.Len(t, results, probeConcurrency+extra) @@ -222,7 +225,7 @@ func TestProbeAllNodes_ReclaimsOnlyItsOwnAndStalePods(t *testing.T) { foreign := probePod("operator-pod", "deadrun", skew, 2*orphanValidatorRBACTTL) client := probePodsClient(t, skew, live, stale, foreign) - _, err := probeAllNodes(context.Background(), client, "") + _, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(context.Background(), metav1.ListOptions{}) @@ -255,7 +258,7 @@ func TestProbeAllNodes_ReclaimsAPodWhoseCreateErrored(t *testing.T) { return true, nil, context.DeadlineExceeded }) - results, err := probeAllNodes(context.Background(), client, "") + results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) require.Len(t, results, 1) require.Error(t, results[0].Err) @@ -325,7 +328,7 @@ func quotaClient(t *testing.T, retryErr error) (*fake.Clientset, *[]corev1.Resou // and limits, so the node is probed rather than reported as not probed. func TestProbeAllNodes_StatesResourcesWhenAQuotaRequiresThem(t *testing.T) { client, creates := quotaClient(t, nil) - results, err := probeAllNodes(context.Background(), client, "") + results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) require.Len(t, results, 1) require.Len(t, *creates, 2, "one retry, with resources") @@ -348,7 +351,7 @@ func TestProbeAllNodes_StatesResourcesWhenAQuotaRequiresThem(t *testing.T) { func TestProbeAllNodes_QuotaRetryIsOnceAndOnlyForMissingResources(t *testing.T) { client, creates := quotaClient(t, apierrors.NewForbidden(schema.GroupResource{Resource: "pods"}, "p", errors.New("exceeded quota: compute, requested: requests.cpu=50m, used: requests.cpu=4, limited: requests.cpu=4"))) - results, err := probeAllNodes(context.Background(), client, "") + results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) require.Len(t, results, 1) assert.Len(t, *creates, 2) @@ -362,9 +365,227 @@ func TestProbeAllNodes_QuotaRetryIsOnceAndOnlyForMissingResources(t *testing.T) return true, nil, apierrors.NewForbidden(schema.GroupResource{Resource: "pods"}, "p", errors.New(`violates PodSecurity "restricted:latest": hostPath volumes`)) }) - results, err = probeAllNodes(context.Background(), denied, "") + results, err = probeAllNodes(context.Background(), denied, "", nil) require.NoError(t, err) require.Len(t, results, 1) assert.Equal(t, 1, calls, "a refusal for any other reason is not retried") assert.Contains(t, results[0].Err.Error(), "PodSecurity") } + +// probeCluster is a fake cluster of nodes node-00, node-01, and so on, for a +// prober called several times, as the polls of one --wait call it. A pod that +// finishes logs logs(node, call), served after delay; one that does not stays +// pending, like a pod that cannot pull its image or a node that is NotReady. +type probeCluster struct { + client kubernetes.Interface + mu sync.Mutex + call int + nodeOf map[string]string // probe pod -> node + // created is the node of each probe pod created, per call. + created [][]string +} + +func newProbeCluster( + t *testing.T, nodes int, finishes bool, delay time.Duration, logs func(node string, call int) string, +) *probeCluster { + t.Helper() + pc := &probeCluster{nodeOf: map[string]string{}} + var objs []runtime.Object + for i := 0; i < nodes; i++ { + n := fakeNode(fmt.Sprintf("node-%02d", i)) + n.UID = types.UID("uid-" + n.Name) + objs = append(objs, n) + } + client := fake.NewSimpleClientset(objs...) + var seq atomic.Int32 + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod) + pod.Name = fmt.Sprintf("%s%d", pod.GenerateName, seq.Add(1)) + if finishes { + pod.Status.Phase = corev1.PodSucceeded + } + pc.mu.Lock() + pc.nodeOf[pod.Name] = pod.Spec.NodeName + pc.created[len(pc.created)-1] = append(pc.created[len(pc.created)-1], pod.Spec.NodeName) + pc.mu.Unlock() + return false, nil, nil + }) + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + time.Sleep(delay) + pc.mu.Lock() + node, call := pc.nodeOf[path.Base(path.Dir(r.URL.Path))], pc.call + pc.mu.Unlock() + w.Header().Set("Content-Type", "text/plain") + _, _ = io.WriteString(w, logs(node, call)) + })) + t.Cleanup(srv.Close) + logsFrom, err := kubernetes.NewForConfig(&rest.Config{Host: srv.URL, QPS: -1}) + require.NoError(t, err) + pc.client = logsClient{Clientset: client, logs: logsFrom} + return pc +} + +// probe is one call of prober, the prober's next poll. +func (pc *probeCluster) probe(t *testing.T, prober NodeInotifyProber) []NodeInotifyLimits { + t.Helper() + pc.mu.Lock() + pc.call++ + pc.created = append(pc.created, nil) + pc.mu.Unlock() + limits, err := prober(context.Background(), "test") + require.NoError(t, err) + return limits +} + +func (pc *probeCluster) prober() NodeInotifyProber { + return newInotifyProber("", func(string) (kubernetes.Interface, error) { return pc.client, nil }) +} + +func withinLimitsLog(string, int) string { return "8192\n524288\n" } + +// shortenInotifyProbe sets the probe's budget and each node's own bound. +func shortenInotifyProbe(t *testing.T, budget, perNode time.Duration) { + t.Helper() + prevBudget, prevNode := inotifyProbeBudget, perNodePodTimeout + inotifyProbeBudget, perNodePodTimeout = budget, perNode + t.Cleanup(func() { inotifyProbeBudget, perNodePodTimeout = prevBudget, prevNode }) +} + +// Nodes whose probe pods cannot finish hit their own bound, a failure of the +// node a later poll cannot clear. On a cluster with more such nodes than one +// wave, the budget ran out on the next wave the same way on every poll, so +// --wait never ended. A node the budget stopped is probed first on the next +// poll, where it hits its own bound too, and that poll is not transient. +func TestInotifyProber_NodesThatCannotFinishStopKeepingTheWaitGoing(t *testing.T) { + shortenInotifyProbe(t, 600*time.Millisecond, 400*time.Millisecond) + const extra = 4 + pc := newProbeCluster(t, probeConcurrency+extra, false, 0, withinLimitsLog) + prober := pc.prober() + + first := pc.probe(t, prober) + require.Len(t, first, probeConcurrency+extra) + var cut []string + for _, l := range first { + require.Error(t, l.Err, l.NodeName) + if l.OutOfBudget { + cut = append(cut, l.NodeName) + } + } + assert.Len(t, cut, extra, "only the nodes the budget stopped may be reached later: %v", first) + + second := pc.probe(t, prober) + require.Len(t, second, probeConcurrency+extra) + for _, l := range second { + require.Error(t, l.Err, l.NodeName) + assert.False(t, l.OutOfBudget, "%s: every node has now failed on its own", l.NodeName) + } + require.GreaterOrEqual(t, len(pc.created[1]), probeConcurrency) + assert.Subset(t, pc.created[1][:probeConcurrency], cut, "the nodes the budget stopped go in the first wave") + + row := nodeInotifyCheck(func(context.Context, string) ([]NodeInotifyLimits, error) { return second, nil }, ""). + Run(context.Background()) + assert.Equal(t, SeverityWarning, row.Severity) + assert.False(t, row.Transient, "--wait has nothing left to wait for") +} + +// A cluster with more nodes than one poll's budget reaches is measured over +// several polls: a node found within the limits is not probed again, and the +// nodes no poll has a result for go first. Before, every poll started over in +// the same order, and on a large cluster never reached the tail. +func TestInotifyProber_ReachesEveryNodeOfALargeClusterOverPolls(t *testing.T) { + shortenInotifyProbe(t, 500*time.Millisecond, 90*time.Second) + const nodes = 120 + pc := newProbeCluster(t, nodes, true, 40*time.Millisecond, withinLimitsLog) + prober := pc.prober() + + within := map[string]bool{} + for poll := 0; poll < 8 && len(within) < nodes; poll++ { + limits := pc.probe(t, prober) + require.Len(t, limits, nodes) + for _, node := range pc.created[poll] { + assert.False(t, within[node], "%s was within the limits on an earlier poll and was probed again", node) + } + for _, l := range limits { + if l.Err == nil && l.withinLimits() { + within[l.NodeName] = true + } else { + assert.True(t, l.OutOfBudget, "%s: %v", l.NodeName, l.Err) + } + } + } + assert.Len(t, within, nodes, "every node is measured within a few polls") + assert.Greater(t, len(pc.created), 1, "the cluster is larger than one poll reaches") +} + +// A node below the limits is probed again on the next poll, so limits raised +// while --wait polls are seen; its earlier reading is kept only while the +// budget stops the new probe. +func TestInotifyProber_ProbesANodeBelowTheLimitsAgain(t *testing.T) { + pc := newProbeCluster(t, 2, true, 0, func(node string, call int) string { + if node == "node-01" && call == 1 { + return "128\n524288\n" + } + return "8192\n524288\n" + }) + prober := pc.prober() + + first := pc.probe(t, prober) + require.Len(t, first, 2) + second := pc.probe(t, prober) + require.Len(t, second, 2) + assert.Equal(t, []string{"node-01"}, pc.created[1], "only the node below the limits is probed again") + for _, l := range second { + assert.True(t, l.withinLimits(), "%s: %+v", l.NodeName, l) + } +} + +// How each way a probe ends carries over to the next poll: what it reports +// now, and where the node goes in the next poll's order. +func TestInotifyProbeMemory_CarriesEachOutcomeToTheNextPoll(t *testing.T) { + node := func(name string) corev1.Node { + return corev1.Node{ObjectMeta: metav1.ObjectMeta{Name: name, UID: types.UID("uid-" + name)}} + } + cut := errors.New("waiting for probe pod: context deadline exceeded") + notReached := errors.New("not probed") + pulled := errors.New("ErrImagePull") + within := NodeInotifyLimits{MaxUserInstances: 8192, MaxUserWatches: 524288} + below := NodeInotifyLimits{MaxUserInstances: 128, MaxUserWatches: 524288} + nodes := []corev1.Node{node("ok"), node("low"), node("own"), node("cut"), node("unreached"), node("new")} + + mem := &inotifyProbeMemory{} + got := map[string]NodeInotifyLimits{} + settle := func(i int, res NodeInotifyLimits, stop probeStop) { + res.NodeName = nodes[i].Name + got[nodes[i].Name] = mem.settle(&nodes[i], res, stop) + } + settle(0, within, probeFinished) + settle(1, below, probeFinished) + settle(2, NodeInotifyLimits{Err: pulled}, probeFinished) + settle(3, NodeInotifyLimits{Err: cut}, probeStoppedPartWay) + settle(4, NodeInotifyLimits{Err: notReached}, probeNotStarted) + for name, out := range map[string]bool{"ok": false, "low": false, "own": false, "cut": true, "unreached": true} { + assert.Equal(t, out, got[name].OutOfBudget, name) + } + + results := make([]NodeInotifyLimits, len(nodes)) + order := mem.plan(nodes, results) + var names []string + for _, i := range order { + names = append(names, nodes[i].Name) + } + assert.Equal(t, []string{"cut", "unreached", "new", "low", "own"}, names, + "stopped part way first, then nodes never reached, then nodes a new probe may change") + assert.True(t, results[0].withinLimits(), "a node within the limits is kept, not probed again") + + // Next poll: the budget stops every probe it makes. + settle(1, NodeInotifyLimits{Err: notReached}, probeNotStarted) + settle(2, NodeInotifyLimits{Err: cut}, probeStoppedPartWay) + settle(3, NodeInotifyLimits{Err: cut}, probeStoppedPartWay) + settle(4, NodeInotifyLimits{Err: notReached}, probeNotStarted) + assert.Equal(t, below.MaxUserInstances, got["low"].MaxUserInstances, "its earlier reading stands") + assert.Equal(t, pulled, got["own"].Err, "its earlier failure stands") + assert.False(t, got["low"].OutOfBudget) + assert.False(t, got["own"].OutOfBudget) + assert.False(t, got["cut"].OutOfBudget, "stopped part way again although it went first") + assert.True(t, got["unreached"].OutOfBudget, "still never reached") +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index 51c1cfa948..b62b965006 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -650,10 +650,19 @@ type NodeInotifyLimits struct { MaxUserWatches int64 Err error // OutOfBudget marks an Err caused by the probe's budget running out - // before this node's probe finished. A later run may reach the node. + // before this node's probe finished, on a node no earlier probe has a + // result for. A later poll, which probes such nodes first, may reach it. + // A node that failed on its own, such as one whose probe pod could not + // pull its image or start in time, is not out of budget. OutOfBudget bool } +// withinLimits reports a node measured at or above NVCA's minimums. +func (l NodeInotifyLimits) withinLimits() bool { + return l.Err == nil && l.MaxUserInstances >= minInotifyMaxUserInstances && + l.MaxUserWatches >= minInotifyMaxUserWatches +} + // NodeInotifyProber returns one NodeInotifyLimits per cluster node, or a // non-nil error if probing the cluster failed before any per-node result // could be collected. @@ -695,7 +704,7 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS outOfBudget = outOfBudget || l.OutOfBudget continue } - if l.MaxUserInstances < minInotifyMaxUserInstances || l.MaxUserWatches < minInotifyMaxUserWatches { + if !l.withinLimits() { failing = append(failing, fmt.Sprintf( "%s (max_user_instances=%d/%d, max_user_watches=%d/%d)", l.NodeName, @@ -727,8 +736,8 @@ func nodeInotifyCheck(prober NodeInotifyProber, kubeContext string) binaryCheckS len(probeErrs), strings.Join(probeErrs, "; "), ) // A node the budget did not reach may be below the limits, - // so --wait polls again: a later run, on warm image caches, - // gets further. + // so --wait polls again: the next poll keeps the nodes found + // within the limits and probes the unreached ones first. r.Transient = outOfBudget return r } From 4907ca6caceb353667951c9fff1e0503562a2e19 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 10:56:19 +0530 Subject: [PATCH 114/127] fix(nvcf-cli): make compute-plane install read the --values file whatever its name, never a stale neighbour Signed-off-by: rohithb --- .../reference/commands.md | 2 +- .../nvcf-cli/cmd/self_hosted_compute_plane.go | 40 +- .../cmd/self_hosted_compute_plane_test.go | 138 +- .../agentskill/skilldata_generated.go | 5207 +++++++++-------- 4 files changed, 2778 insertions(+), 2609 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md index b62644d902..83c86acc2a 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/commands.md @@ -15,7 +15,7 @@ Full subcommand list. Always pair with [flags.md](flags.md) for global flags and | `self-hosted up --cluster-name=X` | One-shot first install (both planes) | (empty) stdout, progress on stderr | Always installs both planes; for compute-only use `compute-plane register` and `compute-plane install` | | `self-hosted up --plan-only --cluster-name=X` | Dry-run preview | JSONL on stderr | Agent-friendly, no cluster changes | | `self-hosted compute-plane register --control-plane-profile=P --cluster-name=X --kube-context=Y [--output=V]` | Register a compute cluster with an existing control plane and write its NVCA operator values | summary on stdout | For the 2nd, 3rd, ... GPU cluster after the first install. CP not touched | -| `self-hosted compute-plane install --values=V --kube-context=Y` | Install a compute plane from the values `compute-plane register` wrote | progress on stderr | Run after `compute-plane register` | +| `self-hosted compute-plane install --values=V --kube-context=Y` | Install a compute plane from the values `compute-plane register` wrote | progress on stderr | Run after `compute-plane register`. Installs V whatever its name, never another values file beside it | | `self-hosted status [--cluster-name=X] [--watch]` | Snapshot cluster health | TTY/plain/JSONL | `--watch` for live re-render | | `self-hosted uninstall --compute-plane --cluster-name=X` | Per-plane primitive: `helmfile destroy` on one compute plane (no ICMS unregister, no drain) | progress | Just the helm releases on that compute plane | | `self-hosted uninstall --control-plane [--force-with-registered-clusters]` | Per-plane primitive: `helmfile destroy` on the control plane | progress | Refuses if compute planes still registered unless `--force-with-registered-clusters` | diff --git a/src/clis/nvcf-cli/cmd/self_hosted_compute_plane.go b/src/clis/nvcf-cli/cmd/self_hosted_compute_plane.go index eb4a17d47a..598cba798a 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_compute_plane.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_compute_plane.go @@ -108,6 +108,11 @@ func runSelfHostedComputePlaneInstall(c *cobra.Command, _ []string) error { return fmt.Errorf("cluster name is required: set clusterName in the values file or pass --cluster-name") } ncaID := firstNonEmpty(metadata.NCAID, computePlaneInstallNCAID) + outputDir, cleanup, err := registrationValuesDir(valuesPath, clusterName) + if err != nil { + return err + } + defer cleanup() resolved, err := selfhosted.ResolveStack(c.Context(), selfhosted.StackOptions{ Source: selfHostedComputePlaneStack, @@ -132,10 +137,39 @@ func runSelfHostedComputePlaneInstall(c *cobra.Command, _ []string) error { Stdout: c.OutOrStdout(), Stderr: c.ErrOrStderr(), Ctx: c.Context(), - ExtraEnv: computePlaneInstallEnv(clusterName, ncaID, filepath.Dir(valuesPath)), + ExtraEnv: computePlaneInstallEnv(clusterName, ncaID, outputDir), }) } +// registrationValuesDir returns the OUTPUT_DIR from which the compute-plane +// helmfile reads $OUTPUT_DIR/$CLUSTER_NAME-register-values.yaml. A values +// file under any other name, or for another cluster name, is copied under +// that name into a private directory, so the install reads the file it was +// given and never a stale file beside it. cleanup removes the copy. +func registrationValuesDir(valuesPath, clusterName string) (dir string, cleanup func(), err error) { + name := clusterName + "-register-values.yaml" + if filepath.Base(valuesPath) == name { + return filepath.Dir(valuesPath), func() {}, nil + } + if filepath.Base(name) != name { + return "", nil, fmt.Errorf("cluster name %q cannot name the registration values file", clusterName) + } + body, err := os.ReadFile(valuesPath) + if err != nil { + return "", nil, fmt.Errorf("reading values file: %w", err) + } + dir, err = os.MkdirTemp("", "nvcf-compute-plane-values-") + if err != nil { + return "", nil, fmt.Errorf("staging values file: %w", err) + } + cleanup = func() { _ = os.RemoveAll(dir) } + if err := os.WriteFile(filepath.Join(dir, name), body, 0o600); err != nil { + cleanup() + return "", nil, fmt.Errorf("staging values file: %w", err) + } + return dir, cleanup, nil +} + type nvcaValuesMetadata struct { ClusterName string NCAID string @@ -239,8 +273,8 @@ func computePlaneInstallEnv(clusterName, ncaID, outputDir string) []string { "CLUSTER_NAME=" + clusterName, "NCA_ID=" + ncaID, // The worker helmfile resolves the registration values at - // $OUTPUT_DIR/$CLUSTER_NAME-register-values.yaml via requiredEnv, so - // point it at the directory holding the --values file. + // $OUTPUT_DIR/$CLUSTER_NAME-register-values.yaml via requiredEnv; + // registrationValuesDir puts the --values file there. "OUTPUT_DIR=" + outputDir, } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_compute_plane_test.go b/src/clis/nvcf-cli/cmd/self_hosted_compute_plane_test.go index 7cedb242f6..ab377c8e10 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_compute_plane_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_compute_plane_test.go @@ -120,8 +120,9 @@ func TestComputePlaneInstallTemplatesUserValuesFile(t *testing.T) { assert.Contains(t, out, "env:CLUSTER_NAME=gpu-from-values") assert.Contains(t, out, "env:NCA_ID=nca-from-values") // The worker helmfile reads $OUTPUT_DIR/$CLUSTER_NAME-register-values.yaml, - // so install must point OUTPUT_DIR at the directory of --values. - assert.Contains(t, out, "env:OUTPUT_DIR="+filepath.Dir(valuesFile)) + // which must be the --values file whatever it is named. + assert.Contains(t, out, "registration:clusterName: gpu-from-values") + assert.NotContains(t, out, "registration missing") assert.Contains(t, out, "arg="+stackDir) assert.FileExists(t, fakeBin) } @@ -152,6 +153,137 @@ func TestComputePlaneInstallAppliesByDefault(t *testing.T) { assert.Contains(t, out, "env:CLUSTER_NAME=gpu-a") } +// register --output=gpu2.yaml then install --values=gpu2.yaml installs +// gpu2.yaml, not a gpu2-register-values.yaml left beside it by an earlier +// registration, and leaves no copy behind. +func TestComputePlaneInstall_ValuesUnderAnyNameWinOverAStaleNeighbour(t *testing.T) { + resetComputePlaneFlags(t) + + stackDir := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(stackDir, "helmfile.d"), 0o755)) + dir := t.TempDir() + valuesFile := filepath.Join(dir, "gpu2.yaml") + require.NoError(t, os.WriteFile(valuesFile, []byte("clusterName: gpu2\nclusterID: fresh-id\n"), 0o644)) + require.NoError(t, os.WriteFile(filepath.Join(dir, "gpu2-register-values.yaml"), + []byte("clusterName: gpu2\nclusterID: stale-id\n"), 0o644)) + installFakeComputePlaneHelmfile(t) + + var stdout bytes.Buffer + rootCmd.SetOut(&stdout) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetArgs([]string{ + "self-hosted", "compute-plane", "install", + "--compute-plane-stack", stackDir, + "--values", valuesFile, + }) + + require.NoError(t, rootCmd.Execute()) + out := stdout.String() + assert.Contains(t, out, "registration:clusterID: fresh-id") + assert.NotContains(t, out, "stale-id") + outputDir := fakeHelmfileEnv(t, out, "OUTPUT_DIR") + assert.NotEqual(t, dir, outputDir) + assert.NoDirExists(t, outputDir, "the staged copy must be removed after the install") +} + +// A --cluster-name that overrides the values file's own name still installs +// that file, not the overriding name's file beside it. +func TestComputePlaneInstall_ClusterNameOverrideDoesNotSwapTheValuesFile(t *testing.T) { + resetComputePlaneFlags(t) + + stackDir := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(stackDir, "helmfile.d"), 0o755)) + dir := t.TempDir() + valuesFile := filepath.Join(dir, "gpu2-register-values.yaml") + require.NoError(t, os.WriteFile(valuesFile, []byte("clusterID: given-id\n"), 0o644)) + require.NoError(t, os.WriteFile(filepath.Join(dir, "gpu3-register-values.yaml"), + []byte("clusterID: other-id\n"), 0o644)) + installFakeComputePlaneHelmfile(t) + + var stdout bytes.Buffer + rootCmd.SetOut(&stdout) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetArgs([]string{ + "self-hosted", "compute-plane", "install", + "--compute-plane-stack", stackDir, + "--values", valuesFile, + "--cluster-name", "gpu3", + }) + + require.NoError(t, rootCmd.Execute()) + out := stdout.String() + assert.Contains(t, out, "env:CLUSTER_NAME=gpu3") + assert.Contains(t, out, "registration:clusterID: given-id") + assert.NotContains(t, out, "other-id") +} + +// A values file already named for its cluster is read in place. +func TestComputePlaneInstall_ReadsARegisterValuesFileInPlace(t *testing.T) { + resetComputePlaneFlags(t) + + stackDir := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(stackDir, "helmfile.d"), 0o755)) + dir := t.TempDir() + valuesFile := filepath.Join(dir, "gpu2-register-values.yaml") + require.NoError(t, os.WriteFile(valuesFile, []byte("clusterName: gpu2\nclusterID: in-place\n"), 0o644)) + installFakeComputePlaneHelmfile(t) + + var stdout bytes.Buffer + rootCmd.SetOut(&stdout) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetArgs([]string{ + "self-hosted", "compute-plane", "install", + "--compute-plane-stack", stackDir, + "--values", valuesFile, + }) + + require.NoError(t, rootCmd.Execute()) + out := stdout.String() + assert.Equal(t, dir, fakeHelmfileEnv(t, out, "OUTPUT_DIR")) + assert.Contains(t, out, "registration:clusterID: in-place") +} + +// A cluster name that is not a single path element cannot name the file the +// helmfile reads, so install refuses it instead of writing outside its +// private directory. +func TestComputePlaneInstall_RejectsAClusterNameWithAPathSeparator(t *testing.T) { + resetComputePlaneFlags(t) + + stackDir := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(stackDir, "helmfile.d"), 0o755)) + valuesFile := filepath.Join(t.TempDir(), "gpu2.yaml") + require.NoError(t, os.WriteFile(valuesFile, []byte("clusterID: x\n"), 0o644)) + installFakeComputePlaneHelmfile(t) + + var stdout bytes.Buffer + rootCmd.SetOut(&stdout) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetArgs([]string{ + "self-hosted", "compute-plane", "install", + "--compute-plane-stack", stackDir, + "--values", valuesFile, + "--cluster-name", "../gpu2", + }) + + err := rootCmd.Execute() + require.Error(t, err) + assert.Contains(t, err.Error(), "cluster name") + assert.NotContains(t, stdout.String(), "verb=", "helmfile must not run") +} + +// fakeHelmfileEnv returns the value installFakeComputePlaneHelmfile printed +// for the environment variable key. +func fakeHelmfileEnv(t *testing.T, out, key string) string { + t.Helper() + for _, line := range strings.Split(out, "\n") { + if v, ok := strings.CutPrefix(line, "env:"+key+"="); ok { + return v + } + } + t.Fatalf("the fake helmfile printed no %s in:\n%s", key, out) + return "" +} + func TestComputePlaneRegisterDryRunPrintsClusterIdentity(t *testing.T) { resetComputePlaneFlags(t) @@ -1076,6 +1208,8 @@ printf 'verb=%s\n' "$verb" printf 'env:CLUSTER_NAME=%s\n' "$CLUSTER_NAME" printf 'env:NCA_ID=%s\n' "$NCA_ID" printf 'env:OUTPUT_DIR=%s\n' "$OUTPUT_DIR" +reg="$OUTPUT_DIR/$CLUSTER_NAME-register-values.yaml" +if [ -f "$reg" ]; then sed 's/^/registration:/' "$reg"; else printf 'registration missing: %s\n' "$reg"; fi ` require.NoError(t, os.WriteFile(fakeBin, []byte(body), 0o755)) t.Setenv("PATH", filepath.Dir(fakeBin)+":"+os.Getenv("PATH")) diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 6a16315b3a..cd05754506 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjkwNzUsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjkxNDIsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -65,9 +65,9 @@ const skillDataZipBase64 = "" + "bi5tZCIsCiAgICAgICJzaGEyNTYiOiAiMWE2NmI5YTM3MmJmOTI3NjQzOTdjOWVmMzliNzNlNDZm" + "NzE2M2ExNTgyMzgzZjFkNGJiNDE4ZThjM2Q2M2QwMyIsCiAgICAgICJzaXplIjogODY3NgogICAg" + "fSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9j" + - "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiMzJlNmRlZjZmY2ZiZjExYmIwMjdiMTZiMWIy" + - "OTI2NzI3NGM0MTRlMjEyMTU5ODUwYTI3ZjJiMzY3MjMzNTg5OCIsCiAgICAgICJzaXplIjogOTY4" + - "MwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + + "b21tYW5kcy5tZCIsCiAgICAgICJzaGEyNTYiOiAiZTEzMWU2NTFmNTNhOGFmZTkyNDVlMjMxZDAw" + + "MGUwYmY5MTE5YTU4NWFiMTY5OGVhODY2OTU3ZThmNDYzMDFlMyIsCiAgICAgICJzaXplIjogOTc1" + + "MAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVy" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCDrO2zBKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCNLe97lKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1609,2606 +1609,2607 @@ const skillDataZipBase64 = "" + "dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0PVlgIHwgSW5zdGFsbCBh" + "IGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCB3" + "cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29tcHV0ZS1wbGFuZSByZWdp" + - "c3RlcmAgfAp8IGBzZWxmLWhvc3RlZCBzdGF0dXMgWy0tY2x1c3Rlci1uYW1lPVhdIFstLXdhdGNo" + - "XWAgfCBTbmFwc2hvdCBjbHVzdGVyIGhlYWx0aCB8IFRUWS9wbGFpbi9KU09OTCB8IGAtLXdhdGNo" + - "YCBmb3IgbGl2ZSByZS1yZW5kZXIgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb21wdXRl" + - "LXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1maWxl" + - "IGRlc3Ryb3lgIG9uIG9uZSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRy" + - "YWluKSB8IHByb2dyZXNzIHwgSnVzdCB0aGUgaGVsbSByZWxlYXNlcyBvbiB0aGF0IGNvbXB1dGUg" + - "cGxhbmUgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lIFstLWZvcmNl" + - "LXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc11gIHwgUGVyLXBsYW5lIHByaW1pdGl2ZTogYGhlbG1m" + - "aWxlIGRlc3Ryb3lgIG9uIHRoZSBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBSZWZ1c2VzIGlm" + - "IGNvbXB1dGUgcGxhbmVzIHN0aWxsIHJlZ2lzdGVyZWQgdW5sZXNzIGAtLWZvcmNlLXdpdGgtcmVn" + - "aXN0ZXJlZC1jbHVzdGVyc2AgfAp8IGBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSA8" + - "cGxhbmU+YCB8IFJlbmRlciBkZWxldGUgWUFNTCB2aWEgYGhlbG0gZ2V0IG1hbmlmZXN0YCBwZXIg" + - "cmVsZWFzZSB8IFlBTUwgb24gc3Rkb3V0IHwgR2l0T3BzOyBwaXBlIHRvIGBrdWJlY3RsIGRlbGV0" + - "ZSAtZiAtYCBvciBjb21taXQgKyBBcmdvIGFwcGxpZXMuIE1pcnJvcnMgYGluc3RhbGwgLS1uby1h" + - "cHBseWAgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPVggWy0tZHJhaW4tYWN0" + - "aXZlXSBbLS1yZW1vdmUtcGVyc2lzdGVudF1gIHwgT3JjaGVzdHJhdG9yOiBkcmFpbiDihpIgdW5p" + - "bnN0YWxsIC0tY29tcHV0ZS1wbGFuZSDihpIgY2x1c3RlciBkZWxldGUgaW4gSUNNUyB8IHByb2dy" + - "ZXNzIHwgU3ltbWV0cmljIGNvbXBhbmlvbiB0byBgdXAgLS1jbHVzdGVyLW5hbWU9WGAgfAp8IGBz" + - "ZWxmLWhvc3RlZCBkb3duIC0tYWxsIFstLWNvbmZpcm1dYCB8IE9yY2hlc3RyYXRvcjogdGVhciBk" + - "b3duIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSArIGNvbnRyb2wgcGxhbmUgfCBwcm9n" + - "cmVzcyB8IEJvdW5kZWQgcGFyYWxsZWxpc20gdmlhIGAtLWFsbC1jb25jdXJyZW5jeWAgKGRlZmF1" + - "bHQgNCk7IGAtLWNvbmZpcm1gIHJlcXVpcmVkIGluIG5vbi1pbnRlcmFjdGl2ZSB8CnwgYHNlbGYt" + - "aG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLi4uYCB8IE9yY2hlc3RyYXRvciBkcnktcnVuOiBwaGFz" + - "ZXMgKyBoZWxtIHJlbGVhc2VzICsgSUNNUyByb3dzICsgRVRBcyAobm8gaGVsbS9oZWxtZmlsZSBj" + - "b250YWN0KSB8IEpTT05MIHwgKipBbHdheXMgcnVuIGJlZm9yZSBhbnkgYWN0dWFsIGBkb3duYCoq" + - "IHwKCiMjIENsdXN0ZXIgbWFuYWdlbWVudAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBjbHVzdGVyIHJlZ2lzdGVyIC0tbmFtZT1YIC0tbmNhLWlkPVkgWy0t" + - "cmVnaW9uPVpdIFstLWlnbm9yZS1leGlzdGluZ11gIHwgUmVnaXN0ZXIgYSBKV0tTK09JREMgd2l0" + - "aCBJQ01TIHwgVXNlZCBieSBgdXBgIFBoYXNlIDUgaW50ZXJuYWxseTsgc3RhbmRhbG9uZSBmb3Ig" + - "bWFudWFsIHJlZ2lzdHJhdGlvbiB8CnwgYGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlk" + - "PVkgWy0taWNtcy11cmw9VVJMXWAgfCBMaXN0IHNlbGYtaG9zdGVkIGNsdXN0ZXIgcmVnaXN0cmF0" + - "aW9ucyBmcm9tIElDTVMgfCBVc2VzIHRoZSBhZG1pbiB0b2tlbjsgYC0tanNvbmAgZm9yIG1hY2hp" + - "bmUtcmVhZGFibGUgb3V0cHV0IHwKfCBgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPUlEYCB8" + - "IFJlLWZldGNoIEpXS1MgZnJvbSBLOHMgYW5kIFBVVCB0byBJQ01TIHwgQWZ0ZXIgSzhzIEFQSSBz" + - "ZXJ2ZXIgc2lnbmluZyBrZXkgcm90YXRpb24gfAp8IGBjbHVzdGVyIGRlbGV0ZSAtLWNsdXN0ZXIt" + - "aWQ9SURgIHwgUmVtb3ZlIElDTVMgcm93IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVz" + - "ZXIqKiB8CgojIyBGdW5jdGlvbnMKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18" + - "LS0tfC0tLXwKfCBgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENyZWF0ZSBm" + - "dW5jdGlvbiBtZXRhZGF0YSB8IFJldHVybnMgRnVuY3Rpb24gSUQgKyBWZXJzaW9uIElEOyBMTE0g" + - "ZnVuY3Rpb25zIHVzZSBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIGBtb2RlbHNbXS5sbG1Db25m" + - "aWcudXJpc2AgZm9yIGAvdjEvY2hhdC9jb21wbGV0aW9uc2AsIGAvdjEvcmVzcG9uc2VzYCwgYW5k" + - "IGAvdjEvZW1iZWRkaW5nc2AgfAp8IGBmdW5jdGlvbiBsaXN0YCAvIGBmdW5jdGlvbiBsaXN0LWlk" + - "c2AgfCBMaXN0IGZ1bmN0aW9ucyAvIElEcyBvbmx5IHwgfAp8IGBmdW5jdGlvbiBnZXQgLS1mdW5j" + - "dGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IEZ1bmN0aW9uIG1ldGFkYXRhIHwgfAp8IGBm" + - "dW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tdGFncz1U" + - "QUdbLFRBR11gIHwgVXBkYXRlIGZ1bmN0aW9uIHRhZ3MgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAt" + - "LWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgLS1sbG0tbW9kZWwtdXBkYXRlPVNQRUNg" + - "IHwgVXBkYXRlIExMTSBtb2RlbCByb3V0aW5nIGNvbmZpZyB8IGBTUEVDYCB1c2VzIGBuYW1lPTxt" + - "b2RlbD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgYWNj" + - "ZXB0ZWQgbWV0aG9kcyBhcmUgbGlzdGVkIGluIFtmbGFncy5tZF0oZmxhZ3MubWQpIHwKfCBgZnVu" + - "Y3Rpb24gZGVwbG95IGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTY2hlZHVsZSBhIGRlcGxv" + - "eW1lbnQgfCBCbG9ja3MgdW50aWwgQUNUSVZFIChkZWZhdWx0IDkwMHMpIHwKfCBgZnVuY3Rpb24g" + - "ZGVwbG95IGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSUQgWy0tanNvbl1gIHwg" + - "RGVwbG95bWVudCBzdGF0dXMgfCBgZnVuY3Rpb25TdGF0dXM6IEFDVElWRVx8REVQTE9ZSU5HXHxF" + - "UlJPUlx8RkFJTEVEYCB8CnwgYGZ1bmN0aW9uIGRlcGxveSB1cGRhdGUgLS1pbnB1dC1maWxlPUZJ" + - "TEVgIHwgTW9kaWZ5IGEgZGVwbG95bWVudCBpbiBwbGFjZSB8IHwKfCBgZnVuY3Rpb24gZGVwbG95" + - "IHJlbW92ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgU3RvcCBhIGRlcGxv" + - "eW1lbnQsIGtlZXAgZnVuY3Rpb24gcmVjb3JkIHwgfAp8IGBmdW5jdGlvbiBpbnZva2UgLS1pbnB1" + - "dC1maWxlPUZJTEVgIHwgQ2FsbCBhIHJlZ3VsYXIgZnVuY3Rpb24gfCBSZXF1aXJlcyBBUEkga2V5" + - "IChub3QgYWRtaW4gdG9rZW4pOyBMTE0gZnVuY3Rpb25zIGFyZSBpbnZva2VkIHRocm91Z2ggYGxs" + - "bS5pbnZvY2F0aW9uLjxkb21haW4+YCB3aXRoIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVs" + - "LW5hbWU+ImAgfAp8IGBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24t" + - "aWQ9VklEYCB8IFJlbW92ZSBmdW5jdGlvbiArIGRlcGxveW1lbnQgfCAqKkRFU1RSVUNUSVZFOiBj" + - "b25maXJtIHdpdGggdXNlcioqIHwKCiMjIFRhc2tzCgpUYXNrIGNvbW1hbmRzIHJlcXVpcmUgYE5W" + - "Q0ZfQVBJX0tFWWAgc2V0IHRvIGEgdGFzay1zY29wZWQga2V5IGFuZCBgTlZDRl9CQVNFX05WQ1Rf" + - "VVJMYCBzZXQgdG8gdGhlIE5WQ1QgZ2F0ZXdheSBlbmRwb2ludC4gSW4gYSBmcmVzaCBzZXNzaW9u" + - "LCByZWFkIGBudmN0QXBpS2V5YCBmcm9tIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGluamVjdCBp" + - "dCBhcyBgTlZDRl9BUElfS0VZYCB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlOyBjaGVjayBgbnZj" + - "dEFwaUtleUV4cGlyYXRpb25gIGZpcnN0IGFuZCByZWdlbmVyYXRlIHdpdGggYGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1mb3IgdGFzayAtLXZhbGlkYXRlYCBpZiBleHBpcmVkLiBSdW4gYGFwaS1rZXkgZ2Vu" + - "ZXJhdGUgLS1mb3IgdGFza2AgYWZ0ZXIgYGluaXRgIHRvIG1pbnQgYSBuZXcga2V5LgoKfCBDb21t" + - "YW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZSAtLW5h" + - "bWU9WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1pbWFnZT1JTUdgIHwgU3VibWl0" + - "IGEgY29udGFpbmVyIHRhc2sgfCBTYXZlcyB0YXNrIElEIHRvIENMSSBzdGF0ZTsgdXNlIGAtLWlu" + - "cHV0LWZpbGVgIGZvciByZXBlYXRhYmxlIGNvbmZpZ3MgfAp8IGB0YXNrIGNyZWF0ZSAtLW5hbWU9" + - "WCAtLWdwdT1HUFUgLS1pbnN0YW5jZS10eXBlPVRZUEUgLS1oZWxtLWNoYXJ0PUNIQVJUYCB8IFN1" + - "Ym1pdCBhIEhlbG0gdGFzayB8IGAtLWhlbG0tY2hhcnRgIHJlcGxhY2VzIGAtLWltYWdlYCB8Cnwg" + - "YHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFN1Ym1pdCBhIHRhc2sgZnJvbSBhIEpT" + - "T04gY29uZmlnIGZpbGUgfCBSZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBjb25maWd1cmF0aW9u" + - "cyB8CnwgYHRhc2sgbGlzdCBbLS1zdGF0dXM9U1RBVFVTXSBbLS1saW1pdD1OXWAgfCBMaXN0IHRh" + - "c2tzLCBvcHRpb25hbGx5IGZpbHRlcmVkIGJ5IHN0YXR1cyB8IFN0YXR1c2VzOiBgUVVFVUVEYCwg" + - "YExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBgQ0FOQ0VMRURg" + - "LCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFYX1FVRVVFRF9E" + - "VVJBVElPTmAgfAp8IGB0YXNrIGdldCBbdGFza0lkXWAgfCBHZXQgdGFzayBkZXRhaWxzIHwgVXNl" + - "cyBzYXZlZCB0YXNrIElEIGZyb20gc3RhdGUgaWYgb21pdHRlZCB8CnwgYHRhc2sgZXZlbnRzIFt0" + - "YXNrSWRdIFstLWxpbWl0PU5dYCB8IExpc3QgbGlmZWN5Y2xlIGV2ZW50cyBmb3IgYSB0YXNrIHwg" + - "fAp8IGB0YXNrIHJlc3VsdHMgW3Rhc2tJZF1gIHwgTGlzdCByZXN1bHQgYXJ0aWZhY3RzIGZvciBh" + - "IGNvbXBsZXRlZCB0YXNrIHwgUmV0dXJucyBlbXB0eSBsaXN0IHdoZW4gYHJlc3VsdEhhbmRsaW5n" + - "U3RyYXRlZ3lgIGlzIGBOT05FYDsgcmVzdWx0IHVwbG9hZCBub3QgeWV0IHN1cHBvcnRlZCB8Cnwg" + - "YHRhc2sgY2FuY2VsIFt0YXNrSWRdYCB8IENhbmNlbCBhIHJ1bm5pbmcgdGFzayB8IE5vLW9wIGlm" + - "IGFscmVhZHkgaW4gdGVybWluYWwgc3RhdGUgfAp8IGB0YXNrIGRlbGV0ZSBbdGFza0lkXWAgfCBE" + - "ZWxldGUgYSB0YXNrIHJlY29yZCB8ICoqU3RvcCwgc3RhdGUgdGFzayBJRCArIGN1cnJlbnQgc3Rh" + - "dHVzLCBhbmQgd2FpdCBmb3IgYSBzdWJzZXF1ZW50IHVzZXIgcmVwbHkgZXhwbGljaXRseSBjb25m" + - "aXJtaW5nIGRlbGV0aW9uIG9mIHRoYXQgc3BlY2lmaWMgdGFzay4gRG8gbm90IHRyZWF0IHRoZSBv" + - "cmlnaW5hbCBkZWxldGUgcmVxdWVzdCBhcyBjb25maXJtYXRpb24uKiogfAp8IGB0YXNrIHVwZGF0" + - "ZS1zZWNyZXRzIFt0YXNrSWRdIC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFVwZGF0ZSBzZWNyZXRz" + - "IG9uIGEgdGFzazsgc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBkYXRlZCBieSBuYW1l" + - "LCBleGlzdGluZyBzZWNyZXRzIG5vdCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkIHwgVmFs" + - "dWVzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCB8CnwgYHRhc2sgYnVsayAtLXRhc2staWRzPUlEMVss" + - "SUQyLOKApl1gIHwgRmV0Y2ggZGV0YWlscyBmb3IgbXVsdGlwbGUgdGFza3MgaW4gb25lIHJlcXVl" + - "c3QgfCB8CgojIyBBdXRoCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwt" + - "LS18CnwgYGluaXRgIHwgTWludCBhZG1pbiB0b2tlbiBmcm9tIEFQSSBLZXlzIHZpYSBwdWJsaWMg" + - "YXBpIGdhdGV3YXkgfCBJZGVtcG90ZW50OyB3cml0ZXMgYH4vLm52Y2YtY2xpLnN0YXRlYDsgY2xl" + - "YXJzIHNhdmVkIGZ1bmN0aW9uIHN0YXRlIGFuZCBhbGwgQVBJIGtleXMgKGZ1bmN0aW9uIGFuZCB0" + - "YXNrKSB8CnwgYHN0YXR1c2AgfCBTaG93IENMSSBzdGF0ZSAodG9rZW4sIGxhc3QgZW5kcG9pbnRz" + - "LCBmdW5jdGlvbiBjb250ZXh0KSB8IERpc3RpbmN0IGZyb20gYHNlbGYtaG9zdGVkIHN0YXR1c2Ag" + - "fAp8IGBhcGkta2V5IGdlbmVyYXRlIFstLWZvciBmdW5jdGlvblx8dGFza10gWy0tZGVzY3JpcHRp" + - "b2494oCmXSBbLS1leHBpcmVzLWluPeKApl1gIHwgTWludCBBUEkga2V5cyB8IERlZmF1bHQgKG5v" + - "IGAtLWZvcmApOiBnZW5lcmF0ZXMgYm90aCBhIGZ1bmN0aW9uIGtleSBhbmQgYSB0YXNrIGtleTsg" + - "YC0tZm9yIGZ1bmN0aW9uYCBvciBgLS1mb3IgdGFza2AgZ2VuZXJhdGVzIG9uZSBvbmx5OyBgLS1z" + - "Y29wZXNgIHJlcXVpcmVzIGAtLWZvcmAgfAp8IGBhcGkta2V5IGdlbmVyYXRlIC0tdmFsaWRhdGVg" + - "IHwgTWludCBhbmQgaW1tZWRpYXRlbHkgdmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IHwgVmFs" + - "aWRhdGVzIGVhY2gga2V5IGFnYWluc3QgaXRzIGNvcnJlY3QgYXVkaWVuY2UgKE5WQ0YgZm9yIGZ1" + - "bmN0aW9uIGtleXMsIE5WQ1QgZm9yIHRhc2sga2V5cykgfAp8IGBhcGkta2V5IGxpc3RgIHwgTGlz" + - "dCBBUEkga2V5cyBmb3IgY3VycmVudCBvd25lciB8IExpc3RzIE5WQ0Ytc2NvcGVkIGtleXMgb25s" + - "eSB8CnwgYGFwaS1rZXkgZGVsZXRlIEtFWS1JRGAgLyBgYXBpLWtleSByZXZva2UgS0VZLUlEYCB8" + - "IFJlbW92ZSBhbiBBUEkga2V5IHwgKipDb25maXJtIHdpdGggdXNlcioqIHwKfCBgYXBpLWtleSBz" + - "aG93YCB8IFNob3cgY3VycmVudGx5IHNhdmVkIEFQSSBrZXkgZnJvbSBzdGF0ZSB8IHwKCiMjIEFn" + - "ZW50IHNraWxsCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YGFnZW50LXNraWxsIGluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgSW5zdGFsbCBhbGwgYnVuZGxl" + - "ZCBwdWJsaWMgdXNlciBza2lsbHMgaW50byBgfi8uY2xhdWRlL3NraWxscy9gIGFuZCBgfi8uYWdl" + - "bnRzL3NraWxscy9gIHwgRGVmYXVsdDogYm90aCBiYXNlIHNraWxscyBkaXJlY3RvcmllcyB8Cnwg" + - "YGFnZW50LXNraWxsIHVuaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBSZW1vdmUgb25seSBidW5k" + - "bGVkIHB1YmxpYyB1c2VyIHNraWxscyBmcm9tIHRoZSB0YXJnZXQgYmFzZSBza2lsbHMgZGlyZWN0" + - "b3JpZXMgfCBJZGVtcG90ZW50OyB1bnJlbGF0ZWQgc2tpbGxzIHJlbWFpbiB8CnwgYGFnZW50LXNr" + - "aWxsIHNob3cgWy0tZmlsZT1SRUxdYCB8IFByaW50IGJ1bmRsZWQgYG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9TS0lMTC5tZGAgb3IgYW5vdGhlciBlbWJlZGRlZCBmaWxlIHwgRm9yIGRlYnVnZ2luZyB8" + - "CnwgYGFnZW50LXNraWxsIHZlcnNpb25gIHwgUHJpbnQgYnVpbGQgU0hBIGFuZCBlbWJlZGRlZCBw" + - "dWJsaWMgdXNlciBza2lsbCBzdW1tYXJ5IHwgfApQSwcIFaVAjNMlAADTJQAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAAyAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4" + - "aXQtY29kZXMubWRVVAUAAQCmzhIjIGBudmNmLWNsaWAgZXhpdCBjb2RlcwoKU3RhYmxlIGFjcm9z" + - "cyBzdWJjb21tYW5kcy4gVXNlIHRoZXNlIHRvIGRyaXZlIGFnZW50IHJldHJ5IC8gc3VyZmFjaW5n" + - "IGxvZ2ljLgoKfCBDb2RlIHwgTWVhbmluZyB8IEV4YW1wbGUgY2F1c2VzIHwKfC0tLXwtLS18LS0t" + - "fAp8IGAwYCB8IFN1Y2Nlc3MgfCBBbGwgY2hlY2tzIHBhc3NlZDsgaW5zdGFsbCBjb21wbGV0ZWQ7" + - "IGRlcGxveW1lbnQgQUNUSVZFIHwKfCBgMWAgfCBHZW5lcmljIGVycm9yIHwgSGVsbSByZW5kZXIg" + - "ZmFpbGVkOyBuZXR3b3JrIHVucmVhY2hhYmxlOyBmaWxlIG5vdCBmb3VuZDsgWUFNTCBwYXJzZSBl" + - "cnJvciB8CnwgYDJgIHwgUHJlLWZsaWdodCBjaGVjayBmYWlsZWQgfCBBIGBjaGVja2AgcmVzdWx0" + - "IGF0IGVycm9yIHNldmVyaXR5OiBHYXRld2F5IEFQSSBDUkRzIG1pc3Npbmc7IGt1YmVjdGwgbm90" + - "IG9uIFBBVEggd2l0aCBgLS1wcmVgOyBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBhYnNlbnQ7IGEgY2x1" + - "c3RlciB0aGUgQ0xJIGNhbm5vdCByZWFjaCAobWlzc2luZyBrdWJlY29uZmlnIG9yIGNvbnRleHQs" + - "IG9yIGEgZmlyc3QgQVBJIGNhbGwgdGhhdCBmYWlscyBmb3IgYW55IHJlYXNvbjogcmVmdXNlZCBv" + - "ciBkcm9wcGVkIGNvbm5lY3Rpb24sIHJlamVjdGVkIGNyZWRlbnRpYWxzLCBhIGZhaWxpbmcgY3Jl" + - "ZGVudGlhbCBwbHVnaW4sIGEgc2VydmVyIGVycm9yKTsgYSBjbHVzdGVyLXZhbGlkYXRvciB0aGF0" + - "IGNvdWxkIG5vdCBydW4gKFJCQUMgZGVuaWVkLCBpbWFnZSBwdWxsIGZhaWx1cmUsIGl0cyBvd24g" + - "dGltZW91dCwgbm8gdGFnIGZvdW5kIGZvciBhbiB1bnRhZ2dlZCBpbWFnZSk7IGEgYHN0YWxlLW5h" + - "bWVzcGFjZXNgIHJvdyBuYW1pbmcgYSBuYW1lc3BhY2UgYHN0dWNrIFRlcm1pbmF0aW5nYC4gU3Vj" + - "aCBhIHJlc3VsdCBpcyBleGl0IGAyYCBldmVuIHdoZW4gdGhlIHRpbWUgYnVkZ2V0IGN1dCBhbm90" + - "aGVyIGNoZWNrIHNob3J0LiBXYXJuaW5nLXNldmVyaXR5IHJlc3VsdHMgZXhpdCBgMGAsIGluY2x1" + - "ZGluZyBhIG5hbWVzcGFjZSBzdGlsbCBkZWxldGluZywgYSBIZWxtIHJlbGVhc2UgbGVmdCBtaWQt" + - "b3BlcmF0aW9uLCBhIG5hbWVzcGFjZSB3aXRoIG5vIEhlbG0gcmVsZWFzZSwgYW5kIGEgYGNsdXN0" + - "ZXItdmFsaWRhdG9yYCByb3cgc2F5aW5nIG5vIGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaXMg" + - "c2V0IHwKfCBgM2AgfCBBZG1pbiBhdXRoIGZhaWxlZCB8IE5vIHRva2VuICsgYC0tbm9uLWludGVy" + - "YWN0aXZlYCBzZXQ7IElDTVMgcmVqZWN0ZWQgSldUOyBpbml0IGVuZHBvaW50IHVucmVhY2hhYmxl" + - "IHwKfCBgNWAgfCBNYW5pZmVzdCBhcHBseSBvciBgLS13YWl0YCB0aW1lZCBvdXQgfCBIZWxtIGlu" + - "c3RhbGwgdGltZW91dDsgY2hlY2sgcG9sbGVkIGJ1dCBkaWQgbm90IHBhc3MgYmVmb3JlIERVUkFU" + - "SU9OLCBpbmNsdWRpbmcgYSByb2xsb3V0IHN0aWxsIGluIHByb2dyZXNzOyB0aGUgY2hlY2sncyB0" + - "aW1lIGJ1ZGdldCBzdG9wcGVkIGEgY2hlY2sgdGhhdCBjYW4gZmFpbCB0aGUgcnVuIGJlZm9yZSBp" + - "dCBmaW5pc2hlZCAoaXRzIHJvdyBzYXlzIG5vdCBydW4gb3IgY3V0IHNob3J0KSBhbmQgbm8gb3Ro" + - "ZXIgY2hlY2sgZmFpbGVkLiBBIGN1dC1zaG9ydCByb3cga2VlcHMgdGhlIHdvcnN0IHNldmVyaXR5" + - "IGl0cyBjaGVjayBjYW4gcmVwb3J0LCBzbyBhIGNoZWNrIHRoYXQgY2FuIG9ubHkgd2Fybiwgc3Vj" + - "aCBhcyBhIHJlZ2lzdHJ5IHRoYXQgaXMgbm90IGNyaXRpY2FsLCBzdGF5cyBhIHdhcm5pbmcuIEEg" + - "Y2hlY2sgdGhhdCBhbHJlYWR5IGhhZCBpdHMgcmVzdWx0IGtlZXBzIGl0LCBzbyBhIHZhbGlkYXRv" + - "cidzIG93biBmYWlsdXJlIGlzIGV4aXQgYDJgIHwKfCBgMTMwYCB8IENhbmNlbGxlZCBieSBTSUdJ" + - "TlQsIFNJR1RFUk0gb3IgU0lHSFVQLCBvciBieSBhIHF1aXQga2V5IGluIHRoZSBgY2hlY2sgLS13" + - "YWl0YCBkYXNoYm9hcmQgfCBVc2VyIEN0cmwtQzsgYHFgLCBgRXNjYCBvciBgQ3RybC1DYCBpbiB0" + - "aGUgZGFzaGJvYXJkOyBDSSBidWRnZXQgZXhjZWVkZWQ7IHBvZCBldmljdGVkOyB0ZXJtaW5hbCBv" + - "ciBTU0ggc2Vzc2lvbiBjbG9zZWQuIEEgc2lnbmFsIGBjaGVja2Agd2FzIHN0YXJ0ZWQgd2l0aCBp" + - "Z25vcmVkIHN0YXlzIGlnbm9yZWQsIHNvIGEgYGNoZWNrYCBydW4gdW5kZXIgYG5vaHVwYCBvdXRs" + - "aXZlcyB0aGUgc2Vzc2lvbiB8CgojIyBIb3cgYW4gYWdlbnQgc2hvdWxkIHJlYWN0Cgp8IENvZGUg" + - "fCBBZ2VudCBiZWhhdmlvciB8CnwtLS18LS0tfAp8IGAwYCB8IENvbnRpbnVlIC8gcmVwb3J0IHN1" + - "Y2Nlc3MuIHwKfCBgMWAgfCBTdXJmYWNlIHN0ZGVyciB0byB1c2VyOyBhc2sgYmVmb3JlIGFueSBy" + - "ZXRyeS4gR2VuZXJpYyBlcnJvcnMgdXN1YWxseSBuZWVkIGEgaHVtYW4gdG8gcmVhZCB0aGUgbWVz" + - "c2FnZS4gfAp8IGAyYCB8IFN1cmZhY2UgZmFpbGVkIGNoZWNrcyArIHRoZWlyIGBoaW50VVJMYC4g" + - "RG9uJ3QgcHJvcG9zZSBgdXBgIHVudGlsIHRoZSB1c2VyIGZpeGVzIHByZXJlcXMuIHwKfCBgM2Ag" + - "fCBTdWdnZXN0IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIE9SIGAtLXRva2VuPSRKV1Rg" + - "IChDSSkuIERvbid0IGF1dG8tbWludCB3aXRob3V0IHVzZXIgT0suIHwKfCBgNWAgfCBBc2sgdXNl" + - "ciBpZiB0aGV5IHdhbnQgdG8gd2FpdCBsb25nZXIsIGRpZyBpbnRvIHRoZSBzdGFsbGVkIGNvbXBv" + - "bmVudCwgb3IgY2FuY2VsLiB8CnwgYDEzMGAgfCBEb24ndCByZXRyeSBhdXRvbWF0aWNhbGx5OyB1" + - "c2VyIGV4cGxpY2l0bHkgY2FuY2VsbGVkLiBDb25maXJtIGJlZm9yZSByZS1ydW5uaW5nLiB8Cgoj" + - "IyBXaGVyZSB0byBmaW5kIG1vcmUgZGV0YWlsCgpgY2hlY2tgIHJlcG9ydHMgaXRzIG91dGNvbWUg" + - "aW4gb25lIGBmaW5hbGAgZXZlbnQgKGBzdWNjZXNzYCwgYHZlcmRpY3RgLCBgdG90YWxDaGVja3Ng" + - "LCBgcGFzc2VkQ291bnRgLCBgZmFpbGVkQ291bnRgLCBgd2FybmluZ0NvdW50YCkgYW5kIG5ldmVy" + - "IGVtaXRzIGBwaGFzZV9mYWlsZWRgOyBzZWUgYGV4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZGAuIEEg" + - "dXNhZ2UgZXJyb3IsIHN1Y2ggYXMgYSBtYWxmb3JtZWQgYC0td2FpdGAsIGV4aXRzIGAxYCBiZWZv" + - "cmUgYW55IGV2ZW50LiBJdHMgZXhpdCBgNWAgaGFzIGBzdWNjZXNzOiBmYWxzZWAgYW5kIGB2ZXJk" + - "aWN0OiAidGltZW91dCJgLiBBIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50IGZvciBhIHdhcm5pbmcg" + - "dGhhdCBgLS13YWl0YCBwb2xscyBvbiBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLCBhbmQgb25l" + - "IGZvciBhIGNoZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGNhcnJpZXMgYGN1dFNob3J0OiB0" + - "cnVlYC4gQSBjYW5jZWxsYXRpb24gKGV4aXQgYDEzMGApIGVtaXRzIGBmaW5hbGAgd2l0aCBgY2Fu" + - "Y2VsbGVkOiB0cnVlYCBpbnN0ZWFkIG9mIGBwaGFzZV9mYWlsZWRgOyBgdXBgIGVtaXRzIGBwaGFz" + - "ZV9jYW5jZWxsZWRgIGJlZm9yZSBpdC4gV2hlbiBhIGNsdXN0ZXItdmFsaWRhdG9yIHJ1biBsZWZ0" + - "IG9iamVjdHMgaW4gdGhlIGNsdXN0ZXIgKGAtLW5vLWNsZWFudXBgLCBhIHBvZCB0aGF0IHdvdWxk" + - "IG5vdCBzdG9wLCBvciBhIGNsZWFudXAgdGhhdCBmYWlsZWQpLCBgY2hlY2tgIGxpc3RzIHRoZSBj" + - "b21tYW5kcyB0aGF0IHJlbW92ZSB0aGVtIGluIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNsZWFudXBg" + - "IGFycmF5IGFuZCBpbiB0aGF0IHJvdydzIGBjbGVhbnVwYCBmaWVsZCwgb24gZXZlcnkgZXhpdCBj" + - "b2RlLCBhbmQgcHJpbnRzIHRoZW0gYWdhaW4gYXMgaXRzIGxhc3Qgc3RkZXJyIGxpbmVzLiBPbiBh" + - "biBpbnRlcnJ1cHQgaXQgcHJpbnRzIHRoZW0gYXQgb25jZSwgYmVmb3JlIGl0cyBvd24gY2xlYW51" + - "cCwgd2hpY2ggYSBzZWNvbmQgQ3RybC1DIGN1dHMgc2hvcnQuIEV2ZXJ5IG90aGVyIG5vbi16ZXJv" + - "IGV4aXQgZW1pdHMgYSBzdHJ1Y3R1cmVkIGBwaGFzZV9mYWlsZWRgIEpTT04gZXZlbnQgd2l0aCBg" + - "ZXJyQ2F0ZWdvcnlgLCBgZXJyTWVzc2FnZWAsIGByZW1lZGlhdGlvbmAgKGFycmF5KSwgYHJldHJ5" + - "Q2xhc3NgIChlbnVtOiBgbm9uZXxpbW1lZGlhdGV8YmFja29mZnxhZnRlcl9yZW1lZGlhdGlvbnx1" + - "bmtub3duYCksIGByZXRyeUFmdGVyU2VjYCAoaW50LCBvcHRpb25hbCksIGFuZCBgcmF3YCAoc3Vi" + - "cHJvY2VzcyArIEhUVFAgKyBLdWJlcm5ldGVzIHNpZ25hbCkuIEFsd2F5cyBjb25zdW1lIHRoZXNl" + - "IGluIGAtLWpzb25gIG1vZGUgcmF0aGVyIHRoYW4gcGFyc2luZyBFbmdsaXNoIGZyb20gc3RkZXJy" + - "LgpQSwcIyflFb2gQAABoEAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAtAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlg" + - "IGZsYWcgcmVmZXJlbmNlCgojIyBHbG9iYWwgZmxhZ3MgKGV2ZXJ5IHN1YmNvbW1hbmQpCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb25maWcgRklMRWAg" + - "fCBDb25maWcgZmlsZSBwYXRoIHwgYCRIT01FLy5udmNmLWNsaS55YW1sYCB8CnwgYC0tZGVidWdg" + - "IHwgVmVyYm9zZSBIVFRQIGxvZ2dpbmcgb24gc3RkZXJyIHwgYGZhbHNlYCB8CnwgYC0tanNvbmAg" + - "fCBKU09OTCBldmVudHMgb24gc3RkZXJyIHwgYXV0byAob2ZmIGluIFRUWSwgb24gdW5kZXIgYC0t" + - "bm9uLWludGVyYWN0aXZlYCkgfAoKIyMgYHNlbGYtaG9zdGVkYCBwYXJlbnQgKHBlcnNpc3RlbnQg" + - "YWNyb3NzIHN1YmNvbW1hbmRzKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tY29udHJvbC1wbGFuZS1zdGFjaz0uLi5gIHwgQ29udHJvbC1wbGFuZSBidW5k" + - "bGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJMLCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRl" + - "ZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lvbiB8CnwgYC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "az0uLi5gIHwgQ29tcHV0ZS1wbGFuZSBidW5kbGUgc291cmNlOiBsb2NhbCBwYXRoLCBnaXQgVVJM" + - "LCBvciBgb2NpOi8vYCBVUkwgfCBlbWJlZGRlZCBPQ0kgVVJMIHBpbm5lZCBieSBDTEkgdmVyc2lv" + - "biB8CnwgYC0tZW52PWxvY2FsXHxwcmRcfC4uLmAgfCBIZWxtZmlsZSBlbnZpcm9ubWVudCBuYW1l" + - "LiBgY2hlY2tgIHJlYWRzIHRoZSBzdGFjaydzIGBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgb25s" + - "eSBmb3IgYW4gZW52aXJvbm1lbnQgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZg" + - "LCBvciBmb3IgYSBwbGFuZSBgLS1wcmVgIGNoZWNrcyBiZWZvcmUgaXRzIGluc3RhbGwsIHNvIHBh" + - "c3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZDsgc2VlIFtTZXR0aW5ncyByZWFkIGZyb20g" + - "dGhlIHN0YWNrXSgjc2V0dGluZ3MtcmVhZC1mcm9tLXRoZS1zdGFjaykgfCBgbG9jYWxgIHwKfCBg" + - "LS1ub24taW50ZXJhY3RpdmVgIHwgRGlzYWJsZSBhbGwgc3RkaW4gcHJvbXB0cyB8IGBmYWxzZWAg" + - "fAp8IGAtLXRva2VuPSRKV1RgIHwgQWRtaW4gSldULCBvdmVycmlkZXMgc3RvcmVkIHNlc3Npb24g" + - "fCAtIHwKfCBgLS1uby1hcHBseWAgfCBgaW5zdGFsbGAgb25seSAtIGVtaXQgWUFNTCwgZG8gbm90" + - "IGt1YmVjdGwgYXBwbHkgfCBgZmFsc2VgIHwKfCBgLS1vdXRwdXQ9dGV4dFx8anNvbmAgfCBMZWdh" + - "Y3kgYWxpYXMgZm9yIGAtLWpzb25gIChkZXByZWNhdGVkLCByZW1vdmVkIGluIG5leHQgbWFqb3Ip" + - "IHwgYHRleHRgIHwKfCBgLS1wbGFpbmAgfCBGb3JjZSBwbGFpbiBzdHJlYW1pbmcgb3V0cHV0IHwg" + - "YXV0by1kZXRlY3QgfAp8IGAtLXdhaXQgRFVSQVRJT05gIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhl" + - "IGNoZWNrcyBhZ2FpbiwgNXMgYXBhcnQsIHVudGlsIHRoZXkgcGFzcyBvciBEVVJBVElPTiBydW5z" + - "IG91dCAoZXhpdCBgNWAsIGBmaW5hbGAgd2l0aCBgc3VjY2VzczogZmFsc2VgKS4gRWFjaCBydW4g" + - "aW5jbHVkZXMgdGhlIGNsdXN0ZXItdmFsaWRhdG9yIEpvYiwgd2hpY2ggY2FuIHRha2UgdXAgdG8g" + - "NW0sIHNvIGFsbG93IGZvciBpdCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYC4g" + - "QSB3YXJuaW5nIHRoYXQgaXMgZXhwZWN0ZWQgdG8gY2xlYXIsIHN1Y2ggYXMgYSByb2xsb3V0IGlu" + - "IHByb2dyZXNzLCBrZWVwcyBpdCBwb2xsaW5nLCBhbmQgaXRzIGBjaGVja19jb21wbGV0ZWRgIGV2" + - "ZW50IGNhcnJpZXMgYHRyYW5zaWVudDogdHJ1ZWAuIEEgY2hlY2sgdGhlIHRpbWUgYnVkZ2V0IHN0" + - "b3BwZWQga2VlcHMgaXQgcG9sbGluZyB0b28sIGFuZCBpdHMgZXZlbnQgY2FycmllcyBgY3V0U2hv" + - "cnQ6IHRydWVgLiBBIGNoZWNrIHRoYXQgY2FuIG9ubHkgd2FybiBhbmQgaXMgc3RvcHBlZCBvbiB0" + - "d28gcG9sbHMgaW4gYSByb3cgZW5kcyB0aGUgd2FpdCBhcyBhIHNpbmdsZSBydW4gd291bGQ6IGV4" + - "aXQgYDBgIHdpdGggdGhlIHdhcm5pbmcuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLW5vLWNs" + - "ZWFudXBgLiBBIG1hbGZvcm1lZCBvciBub24tcG9zaXRpdmUgRFVSQVRJT04gaXMgYSB1c2FnZSBl" + - "cnJvciAoZXhpdCBgMWAsIG5vIGV2ZW50cykgfCAtIHwKfCBgLS1jb250cm9sLXBsYW5lLWNvbnRl" + - "eHQgQ1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29udHJvbCBwbGFuZSAoUkVRLTIwKSB8IGN1" + - "cnJlbnQgY29udGV4dCB8CnwgYC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3Rs" + - "IGNvbnRleHQgZm9yIGNvbXB1dGUgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8" + - "IGAtLWljbXMtdXJsIFVSTGAgfCBQdWJsaWMgSUNNUyBVUkw7IHJlcXVpcmVkIHdoZW4gY29udGV4" + - "dHMgZGlmZmVyLiBgY2hlY2tgIHByb2JlcyBTSVMgb25seSBhdCBhIFVSTCBzZXQgaGVyZSwgaW4g" + - "YE5WQ0ZfSUNNU19VUkxgIG9yIGBOVkNGX1NJU19VUkxgLCBvciBpbiB0aGUgY29uZmlnIGFzIGBp" + - "Y21zX3VybGAgb3IgYGJhc2VfaHR0cF91cmxgLCBhbmQgbm90IGF0IG9uZSBkZXJpdmVkIGZyb20g" + - "YSBgYmFzZV9odHRwX3VybGAgb24gTlZJRElBJ3MgaG9zdGVkIGBudmNmLm52aWRpYS5jb21gLCBh" + - "cyB0aGUgY29uZmlnIHRlbXBsYXRlJ3MgaXM7IHdpdGggbm9uZSwgaXRzIGBzaXMtcmVhY2hhYmls" + - "aXR5YCByb3cgaXMgYSB3YXJuaW5nIHwgZGVyaXZlZCBmcm9tIGBiYXNlX2h0dHBfdXJsYCB8Cnwg" + - "YC0tbG9jYWwtb25seWAgfCBgY2hlY2tgIG9ubHk7IHJ1biB0aGUgbG9jYWwtaG9zdCBjaGVja3Mg" + - "YW5kIHNraXAgYWxsIGNsdXN0ZXIgYW5kIHJlZ2lzdHJ5IGNvbnRhY3QsIHdoYXRldmVyIHNjb3Bl" + - "IGZsYWcgaXMgcGFzc2VkLiBUaGUgcmVnaXN0cnkgY3JlZGVudGlhbCBjaGVjayBhbmQgZWFjaCBz" + - "ZWxlY3RlZCByb2xlJ3MgY2x1c3RlciBjaGVja3MgYXJlIHJlcG9ydGVkIGFzIHJvd3MgdGhhdCBw" + - "YXNzIGF0IGluZm8gYW5kIHNheSBgc2tpcHBlZCAoLS1sb2NhbC1vbmx5KWAuIEVudjogYE5WQ0Zf" + - "Q0xJX1NFTEZIT1NURURfTE9DQUxfT05MWWAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8" + - "CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2YgYC0tcHJlYCwgYC0tY29udHJv" + - "bC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxgIGlzCnJlcXVpcmVkLiBgLS1w" + - "cmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFnIHNlbGVjdHMgaXRzIG93bi4g" + - "T25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0ZXIuIFBhc3MgYm90aCBjb250" + - "ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVyeSBzZWxlY3RlZCByb2xlIGNo" + - "ZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJlLWZsaWdodDogbG9jYWwtaG9z" + - "dCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBTSVMgcmVhY2hhYmlsaXR5LCBz" + - "aW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBgLS1hbGxgIG9yIGAtLWNvbXB1" + - "dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAsIG9yIHdpdGggYSByb2xlJ3Mg" + - "b3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3MgdGhlIGNsdXN0ZXIgYXMgaW5z" + - "dGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVjdGxgLCBgaGVsbWZpbGVgIG9y" + - "IGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIgc2NvcGVzIGNoZWNrIGFuIGlu" + - "c3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0sIHNvIGl0IHdhcm5zIHwgYGZh" + - "bHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbnRyb2wg" + - "cGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIt" + - "dmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8CnwgYC0tY29tcHV0ZS1wbGFu" + - "ZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFj" + - "ZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHkgYXQgYSBjb25maWd1cmVk" + - "IElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rlci12YWxpZGF0b3IgfCBgZmFs" + - "c2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5lYCBhbmQgYC0tY29tcHV0ZS1w" + - "bGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGggb3Igd2l0aG91dCBgLS1wcmVg" + - "IHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIHNob3du" + - "IGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0LCBhbmQgYGNoZWNrYCBkb2Vz" + - "IG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5LWNoZWNrYCB8IFNraXAgdGhl" + - "IHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQgd2hlbiB0aGUga3ViZWNvbmZp" + - "ZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAsIG9yIHdoZW4gdGhlIHByb2Jl" + - "IGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVkZW50aWFscywgc2luY2UgdGhl" + - "IHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5vZGUtaW5vdGlmeS1saW1pdHNg" + - "IHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9D" + - "TElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAg" + - "fAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMgYXMgYSBK" + - "b2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEKU2Vydmlj" + - "ZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBpdCwgcGx1" + - "cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCByZWFkIG9u" + - "bHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1biwgc28g" + - "dGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aG9zZS4K" + - "SXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBvbiBgcG9kcy9s" + - "b2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRoYXQgc3VjY2Vl" + - "ZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlwdCBjb3VsZCBu" + - "b3QgYmUgcmVhZCwgc28gbmVpdGhlciB0aGUgY2hlY2tzIGl0IHJhbiBub3Igd2FybmluZ3MgaXQK" + - "cmVwb3J0ZWQgYXJlIHNob3duLgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhlIGNhbGxz" + - "IGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFlbW9uU2V0" + - "IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBwcm9iZSwK" + - "YW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBydW4gbGVm" + - "dCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + - "LS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBSZXNvbHV0" + - "aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0VgLCBjb25m" + - "aWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFnIGRpc2Nv" + - "dmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5vIHRhZyBj" + - "YW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0cyByb3cg" + - "ZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmllcyBhZ2Fp" + - "biBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90" + - "IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3YXJuaW5n" + - "LCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0" + - "b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lzdHJpZXMg" + - "dG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQgdGhlaXIg" + - "cmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yLiBB" + - "IHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4YW1wbGUu" + - "Y29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5zdGFsbCBw" + - "dWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFjaydzIGBn" + - "bG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLCBhbmQg" + - "YHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3Rh" + - "Y2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZl" + - "ci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5l" + - "aXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBv" + - "ZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHByb3h5LiBB" + - "IG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1z" + - "ZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJRVNgOyBj" + - "b25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9mIHN0cmlu" + - "Z3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2Ug" + - "UkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29udHJvbC1w" + - "bGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMgYHNoYCBh" + - "bmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBlZCBjbHVz" + - "dGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0VgOyBjb25m" + - "aWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDoxLjM2YCBm" + - "cm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVu" + - "dHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUgdGhlIHN0" + - "YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sgZm9yIHRo" + - "ZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFuZCBgY2Fz" + - "c2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9y" + - "IGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRT" + - "YCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRoZSBzdGFj" + - "aydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBFbnY6IGBO" + - "VkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29uZmlnIGtl" + - "eSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBvZiBuYW1l" + - "cyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0aW9ucyBr" + - "ZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhlIHZhbGlk" + - "YXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBjYXJyaWVz" + - "LCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0IGlzIGBO" + - "b1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1hbGZvcm1l" + - "ZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQu" + - "IEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29uZmlnIGtl" + - "eSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0" + - "aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8IGAtLWNs" + - "dXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5IFNlY3Jl" + - "dCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdoZW4gZW1w" + - "dHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBkZWZhdWx0" + - "YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVzIHRoZSBy" + - "ZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0IGluIHRo" + - "ZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxpbmcgdGhh" + - "dCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBjcmVkZW50" + - "aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50aWFsc2Ag" + - "cm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdhcyBjb3Bp" + - "ZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0tc2tpcC1j" + - "bHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3IgcHJvYmUg" + - "ZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90IHJ1biBm" + - "YWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwgZm9yIGV4" + - "YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2ggcm9sZSdz" + - "IGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQg" + - "d2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVSX1ZBTElE" + - "QVRJT05gLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBgIHwg" + - "S2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5kIENv" + - "bmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVsbCBp" + - "dHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRoYW4g" + - "cmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpvYmAu" + - "IEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9uY2Ug" + - "dGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBjbGVh" + - "bnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQgdGhh" + - "dCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8IGBm" + - "YWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2NyaXB0" + - "IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVzdGVy" + - "LXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBsaW5l" + - "LCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNvbXB1" + - "dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0tanNv" + - "bmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFyc2Vy" + - "IGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRlbnRp" + - "YWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNoaW5l" + - "IHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNlOiBg" + - "JERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29uYCwg" + - "dGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3IgYG52" + - "Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9mCmBO" + - "R0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdDX0FQ" + - "SV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9mIHRo" + - "ZSBkb2NrZXIgbG9naW4gb25seSB3aGVuIHRoZQpyZWdpc3RyeSBjaGVjaydzIHBsYW5lLCBiZWxv" + - "dywgaXMgY2hlY2tlZCBiZWZvcmUgaXRzIGluc3RhbGwgd2l0aCB0aGUKYGxvY2FsYCBlbnZpcm9u" + - "bWVudCwgc2luY2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsIHNlY3JldHMgZnJvbSBpdCwgYW5kIGl0" + - "IGlzCm5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4gRWxzZXdoZXJlIHRoZSBrZXkKaXMg" + - "c2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3IgZm9yIGEgcmVwb3NpdG9yeSB3" + - "aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkgb3IgZ2l2ZXMg" + - "aXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRlZCBvbmNlIHBlciByZXBvc2l0b3J5" + - "LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRvcidzIHB1bGwg" + - "c2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUgc2FtZSBjcmVkZW50aWFsLCBhbmQg" + - "YQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0aGUgb3JncyBp" + - "dCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhhdCByZXBvc2l0" + - "b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBvbGwgcmVhZHMg" + - "dGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUgdGhlIHJ1bgp3" + - "YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tzIGZvciBwdWxsIGFj" + - "Y2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8gdGhlCnN0YWNr" + - "J3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIHRoZW4K" + - "YGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBzZWdtZW50LCBz" + - "dWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRoZSBzY29wZSwgc2lu" + - "Y2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuCgpUaGUgcmVnaXN0cnkgY2hlY2sgYmVsb25ncyB0byBv" + - "bmUgcGxhbmUsIHdob3NlIHN0YWNrIG5hbWVzIHRoZSByZWdpc3RyaWVzCmFuZCB3aG9zZSBpbnN0" + - "YWxsIHN0YXRlIGdyYWRlcyB0aGVtOiBhIHBsYW5lIHRoZSBydW4gY2hlY2tzIGJlZm9yZSBpdHMK" + - "aW5zdGFsbCwgd2hpY2ggdGhpcyBtYWNoaW5lIGluc3RhbGxzIG5leHQgKHRoZSBjb250cm9sIHBs" + - "YW5lIGZvciBhIGJhcmUKYC0tcHJlYCBhbmQgZm9yIGAtLXByZSAtLWNvbXB1dGUtcGxhbmVgLCB0" + - "aGUgY29tcHV0ZSBwbGFuZSBmb3IKYC0tcHJlIC0tY29udHJvbC1wbGFuZWApLCBlbHNlIHRoZSBj" + - "b250cm9sIHBsYW5lIHdoZW4gdGhlIHJ1biB2aXNpdHMgaXQsCmVsc2UgdGhlIGNvbXB1dGUgcGxh" + - "bmUuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVu" + - "LCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sg" + - "bmFtZXMuIEJlZm9yZSBpbnN0YWxsIHRoYXQgaW5jbHVkZXMgYSBkb2NrZXIKbG9naW4gYG52Y3Iu" + - "aW9gIHJlamVjdHMgZXZlbiB3aGVuIHRoZSBOR0Mga2V5IHdvcmtzIGluIGl0cyBwbGFjZSwgc2lu" + - "Y2UKYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgc3RhY2sncyBjaGFydHMgd2l0aCB0" + - "aGUgZG9ja2VyIGxvZ2luLiBUaGUKa2V5IGlzIHN0aWxsIHVzZWQgZm9yIHRhZyBkaXNjb3Zlcnkg" + - "YW5kIHRoZSB2YWxpZGF0b3IncyBwdWxsIHNlY3JldCwgYW5kIHRoZQpyb3cgbmFtZXMgYm90aC4g" + - "QWZ0ZXIgaW5zdGFsbCBhIHJlamVjdGVkIGRvY2tlciBsb2dpbiBzdGlsbCBmYWlscy4gQSByZWpl" + - "Y3RlZApOR0Mga2V5IGlzIGEgd2FybmluZyBvbmx5IHdoZW4gYGNoZWNrYCByZWFkcyB0aGUgcHVs" + - "bCBzZWNyZXRzIG9mIHRoZSBjbHVzdGVycwppdCB2aXNpdHMsIGluIHRoZSBuYW1lc3BhY2VzIHRo" + - "ZSB2YWxpZGF0b3IgY29waWVzIHB1bGwgc2VjcmV0cyBmcm9tLCBhbmQKbm9uZSBvZiB0aGVtIGhv" + - "bGRzIHRoYXQga2V5OyB3aGVuIG9uZSBkb2VzLCBvciB0aGV5IGNhbm5vdCBhbGwgYmUgcmVhZCwg" + - "aXQgaXMKYW4gZXJyb3IuIEEgZG9ja2VyIGxvZ2luIHRoZSBOR0Mga2V5IHJlcGxhY2VkIHBhc3Nl" + - "cyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbgpub25lIG9mIHRob3NlIHB1bGwgc2VjcmV0cyBob2xk" + - "cyBpdDogd2hlbiBvbmUgZG9lcyBpdCBpcyBhbiBlcnJvciwgYW5kIHdoZW4KdGhleSBjYW5ub3Qg" + - "YWxsIGJlIHJlYWQgYSB3YXJuaW5nLiBBIHJlZ2lzdHJ5IHRoaXMgbWFjaGluZSBjYW5ub3QgcmVh" + - "Y2gsIGEKdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsIGNyZWRl" + - "bnRpYWwgYXJlIHdhcm5pbmdzLiBBCnJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8s" + - "IHN1Y2ggYXMgRUNSIG9yIG9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcwpza2lwcGVkIHdpdGggYSBj" + - "b21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEgcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMKbWFj" + - "aGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMgdmFsaWQgY3Jl" + - "ZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRv" + - "ciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRz" + - "CmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4K" + - "CnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8" + - "LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdh" + - "eXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBp" + - "bmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGBy" + - "b3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGBy" + - "b3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1h" + - "LXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3Bw" + - "ZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdh" + - "dGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29u" + - "dHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4" + - "dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9z" + - "ZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0" + - "b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwK" + - "fCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFs" + - "aWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5n" + - "IGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVz" + - "cGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1h" + - "Z2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5f" + - "UFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBz" + - "dGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUg" + - "dGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3Ig" + - "YEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9yIGEg" + - "cGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAgaW5z" + - "dGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNl" + - "ZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFz" + - "ZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21l" + - "cyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "YAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgdGhlIHJlZ2lzdHJpZXMgd2hlbiB0aGUg" + - "cmVnaXN0cnkgY2hlY2sKICBiZWxvbmdzIHRvIHRoZSBjb21wdXRlIHBsYW5lKSwgZWxzZSB0aGUg" + - "Q0xJJ3MgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwKICBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3Rs" + - "eSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrIGZyb20gdGhlIGNvcHkgYW4gZWFybGllcgogIGNvbW1h" + - "bmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssIGBmaWxlOi8vYCBp" + - "bmNsdWRlZCwgaXMKICBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21t" + - "aXR0ZWQgc3RhdGUuIEEgQ0xJIHdpdGggbm8KICBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sg" + - "ZmxhZyByZWFkcyB0aGUgc3RhY2sgY2hlY2tvdXQgYWJvdmUgdGhlCiAgd29ya2luZyBkaXJlY3Rv" + - "cnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2" + - "YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlv" + - "YCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcg" + - "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFN" + - "RWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5j" + - "YS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24g" + - "UkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAg" + - "fCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxz" + - "ZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21w" + - "dXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExp" + - "dmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdh" + - "dGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBv" + - "bmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8" + - "IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + - "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + - "YW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkg" + - "fCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1p" + - "Y21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUt" + - "ZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBg" + - "ZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdl" + - "bmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJv" + - "dGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0" + - "aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJ" + - "T05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRl" + - "ZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlk" + - "ZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8" + - "CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5" + - "IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2Ag" + - "KHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3" + - "ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxF" + - "YCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9y" + - "IGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFH" + - "RWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250" + - "YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAg" + - "fCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFV" + - "TFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhl" + - "bG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJl" + - "IHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3" + - "b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRl" + - "cyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVs" + - "bS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0" + - "YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQ" + - "RUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8" + - "PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVw" + - "ZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAs" + - "IGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBm" + - "b3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMg" + - "YXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklP" + - "UklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZh" + - "bHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJp" + - "b3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyBy" + - "ZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBS" + - "ZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3Bl" + - "Y3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91" + - "dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlz" + - "YCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBi" + - "eSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxl" + - "dGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmln" + - "LnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBn" + - "cm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2Vu" + - "UmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBp" + - "bnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVk" + - "IHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERg" + - "IChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5p" + - "bmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwx" + - "MDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVu" + - "ZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0" + - "aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNl" + - "cnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSBy" + - "ZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBv" + - "cnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVx" + - "dWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5j" + - "dGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMg" + - "Zm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJl" + - "cXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlj" + - "a2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVg" + - "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + - "LS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0t" + - "bW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2Rl" + - "bD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0" + - "YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4" + - "YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + - "LiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhl" + - "IGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQg" + - "YW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBl" + - "ci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0" + - "eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElE" + - "IG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwg" + - "YGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBg" + - "bW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZp" + - "Zy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEg" + - "YW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBj" + - "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxs" + - "IEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24g" + - "SUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAg" + - "fAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8Cnwg" + - "YC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3Rh" + - "bmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVu" + - "Y3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMp" + - "IHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBj" + - "bHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmlj" + - "CgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sg" + - "ZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEt" + - "MTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVg" + - "IHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTog" + - "YEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWly" + - "ZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8" + - "CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZl" + - "IHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFy" + - "dCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdl" + - "YCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxh" + - "Z3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQg" + - "QkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1g" + - "IHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRl" + - "ZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGlu" + - "ZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0" + - "Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVy" + - "IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1F" + - "PXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlw" + - "dGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1j" + - "bG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQg" + - "Zm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUg" + - "aW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + - "YFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9k" + - "IGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8" + - "IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91" + - "dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJl" + - "c3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5h" + - "bWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0t" + - "bW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAt" + - "IHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsg" + - "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1h" + - "LXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwg" + - "LSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2lu" + - "dCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxl" + - "bWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwg" + - "VHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcISldIyyRcAAAkXAAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJl" + - "bmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBl" + - "cnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAg" + - "aW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUp" + - "OiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBg" + - "cGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgoj" + - "IyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2Nv" + - "bXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhl" + - "IGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxp" + - "ZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhl" + - "IGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + - "fC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + - "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVy" + - "IHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3Rh" + - "bGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMv" + - "aW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUg" + - "fCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBg" + - "aGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50" + - "cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlk" + - "YXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdl" + - "IGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBj" + - "bHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJ" + - "X0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAg" + - "fAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3" + - "YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBy" + - "dW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBm" + - "YWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVz" + - "LCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRh" + - "dG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4p" + - "YCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBi" + - "ZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4g" + - "YGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRo" + - "ZSBjaGVja3MgaXQgcmFuIGFuZCB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBh" + - "biBpbWFnZSB0aGF0IHByZWRhdGVzIHZhbGlkYXRvciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBs" + - "YW5lIGNoZWNrcyBmb3IgZWl0aGVyIHJvbGUgfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGlu" + - "IGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dz" + - "YCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + - "dXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHBy" + - "ZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94" + - "eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUt" + - "bmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZh" + - "dWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Ms" + - "IGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3Rs" + - "IHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdl" + - "Y2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0" + - "IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChv" + - "ciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBg" + - "Y2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBB" + - "dmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0" + - "YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlz" + - "c2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + - "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBP" + - "cGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFt" + - "ZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAy" + - "YCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBv" + - "ciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9i" + - "amVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRz" + - "IGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBh" + - "dGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBh" + - "cGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1j" + - "bGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBg" + - "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+" + - "KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVz" + - "IGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMg" + - "dGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMg" + - "fAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9u" + - "OiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGws" + - "IHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmct" + - "KmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBp" + - "bnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFz" + - "ZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxt" + - "IHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFz" + - "ZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8g" + - "SGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBv" + - "YmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhl" + - "IG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVy" + - "YnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4g" + - "PG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3Ry" + - "ZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNl" + - "IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhl" + - "YWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNx" + - "bGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25t" + - "ZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVM" + - "TV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBp" + - "dCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFt" + - "ZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGQtb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFt" + - "ZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4g" + - "dGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVz" + - "ZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdz" + - "Lm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNl" + - "LnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZp" + - "cm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBg" + - "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRl" + - "Y2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFt" + - "by1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFs" + - "bCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMj" + - "IEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + - "YGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5z" + - "dGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFj" + - "dGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25l" + - "ZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGlu" + - "ZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29u" + - "dHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAg" + - "YWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBp" + - "bnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3Bl" + - "IHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUt" + - "cnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + - "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fz" + - "c2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29u" + - "ZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBj" + - "YXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmll" + - "ZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWls" + - "eSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJO" + - "Q1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciBy" + - "ZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBg" + - "Q0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9y" + - "IGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNl" + - "dGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52" + - "Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcg" + - "TkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAg" + - "fAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6" + - "cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWls" + - "ZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6" + - "cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9t" + - "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNo" + - "TG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVn" + - "aXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20g" + - "cHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRo" + - "ZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVu" + - "dCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0" + - "aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJ" + - "Q01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2ln" + - "bmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1" + - "bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1j" + - "cmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2Ny" + - "aWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29u" + - "ZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5B" + - "VFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRT" + - "IGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFw" + - "cC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFz" + - "a3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRh" + - "c2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZv" + - "ciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwg" + - "c2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hp" + - "bGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcg" + - "dmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291" + - "bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVm" + - "YXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhh" + - "dCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRy" + - "eSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFw" + - "aWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIGriz82EhAABhIQAAUEsDBBQACAAAAAAAIQAA" + - "AAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + - "bWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2Ny" + - "aXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9s" + - "LXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZp" + - "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAog" + - "IHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNl" + - "IGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + - "IHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + - "bGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUs" + - "IHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9y" + - "CiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQg" + - "d29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1" + - "aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBw" + - "bHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29y" + - "ZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAu" + - "MCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + - "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + - "b3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEds" + - "b2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + - "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0" + - "YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wt" + - "cGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1l" + - "bnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6" + - "IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJl" + - "Ci0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBn" + - "dWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhl" + - "bG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0" + - "YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAg" + - "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBm" + - "dW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVy" + - "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMj" + - "IFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0" + - "Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90" + - "aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9s" + - "LXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRz" + - "LyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBs" + - "YW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRz" + - "LyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVy" + - "IGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMg" + - "ZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9u" + - "IDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVz" + - "b3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZl" + - "cnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRy" + - "b2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3Rp" + - "dHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoK" + - "VmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNo" + - "CmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1" + - "ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0g" + - "cGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwg" + - "dmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBj" + - "bHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVk" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRz" + - "LyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBg" + - "ZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFt" + - "bGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + - "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + - "cGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNl" + - "IHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4" + - "dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdl" + - "ZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQog" + - "ICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVt" + - "cGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNl" + - "Y3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBv" + - "dmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJl" + - "Y2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMg" + - "dGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5v" + - "ZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkg" + - "aWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpU" + - "byBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNl" + - "IGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3Zl" + - "cnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAx" + - "LiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHBy" + - "aXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + - "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + - "bwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + - "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + - "b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + - "YXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2" + - "ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0t" + - "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwK" + - "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBg" + - "YAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhl" + - "bG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRz" + - "XSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3Vy" + - "IGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBs" + - "b2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tl" + - "cikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3Qg" + - "YmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1h" + - "bmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + - "ICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9r" + - "ZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAt" + - "LXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdT" + - "IC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNv" + - "bQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3Qg" + - "bG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNh" + - "Y2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQg" + - "dGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEg" + - "ZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9y" + - "IHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3Mg" + - "RGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmct" + - "b3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9y" + - "ZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlh" + - "dGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2Vu" + - "JyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9m" + - "IHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20g" + - "YSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJi" + - "LiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRp" + - "Y2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50" + - "byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4" + - "cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0" + - "aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9t" + - "YXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwg" + - "c3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAg" + - "ICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5" + - "LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhl" + - "bG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBp" + - "ZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5" + - "b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBg" + - "YGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZh" + - "Y3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29u" + - "dGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3Ig" + - "YXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFu" + - "IGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5u" + - "dmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkg" + - "YGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJl" + - "Zm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+" + - "IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhl" + - "IGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVn" + - "aXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4g" + - "dW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVw" + - "cyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQog" + - "ICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBh" + - "Y2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRv" + - "IG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAg" + - "KHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBg" + - "Z2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAv" + - "YGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNp" + - "ZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rp" + - "b24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0" + - "cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGlj" + - "aGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJv" + - "ciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSBy" + - "b3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9y" + - "IHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhl" + - "IEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBH" + - "YXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxn" + - "YXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVz" + - "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRo" + - "ZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0" + - "ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBh" + - "ZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0" + - "aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVz" + - "ZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVj" + - "dCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBG" + - "b3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91" + - "dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNo" + - "YW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9y" + - "IHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShl" + - "eGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1h" + - "bmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVw" + - "bG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZp" + - "bGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + - "T1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4g" + - "YGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmcz" + - "bTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUg" + - "c2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2Vy" + - "dmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8g" + - "YXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRo" + - "ZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVw" + - "bG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNp" + - "ZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0t" + - "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9" + - "ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAy" + - "IHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwg" + - "Z3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVy" + - "LCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdl" + - "IGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5n" + - "cmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1v" + - "YnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1p" + - "biB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkK" + - "ClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVk" + - "IGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQg" + - "b2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZh" + - "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0" + - "ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRh" + - "aW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2" + - "YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2Ug" + - "dGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFk" + - "ZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + - "bAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdD" + - "b25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+" + - "YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBs" + - "b3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5p" + - "dHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3Rz" + - "IGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3Zl" + - "cnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5n" + - "IEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + - "YHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBh" + - "bmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + - "eW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQg" + - "YW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBh" + - "cHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0" + - "ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0" + - "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkg" + - "R2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9j" + - "YXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUg" + - "YmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpO" + - "VkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0" + - "IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2th" + - "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3Rh" + - "Y2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNm" + - "VWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBh" + - "bmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + - "IHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2Vj" + - "cmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFk" + - "ZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNl" + - "cGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMg" + - "bm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5" + - "LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2" + - "YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lz" + - "dGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkg" + - "cHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJv" + - "bC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5k" + - "IGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMs" + - "IHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRl" + - "c3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5n" + - "IHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBs" + - "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhp" + - "cyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBu" + - "YXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBg" + - "YXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90" + - "YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1p" + - "bi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRl" + - "ZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFu" + - "ZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBk" + - "ZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZh" + - "dGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1h" + - "bmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhl" + - "bG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRl" + - "IG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9y" + - "ZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlz" + - "IGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2" + - "ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBG" + - "b3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFz" + - "ZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQ" + - "cmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBh" + - "ZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhl" + - "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVf" + - "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNl" + - "cwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUg" + - "bmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBj" + - "bGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2" + - "YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgoj" + - "IyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGlt" + - "aXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9w" + - "YWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNs" + - "YXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hh" + - "cnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxg" + - "IGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + - "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + - "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + - "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + - "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + - "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + - "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + - "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + - "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + - "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVs" + - "ZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFs" + - "dWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWlu" + - "Y2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJl" + - "dmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + - "bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhy" + - "ZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBt" + - "aW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhl" + - "IGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUg" + - "UHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1h" + - "Z2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMg" + - "TlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlv" + - "biBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9y" + - "bSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhz" + - "IGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHBy" + - "aXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBg" + - "TlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlh" + - "bWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwt" + - "c2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNv" + - "bmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRv" + - "a2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0" + - "aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1Qg" + - "YQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFj" + - "ZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2gg" + - "cmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3Ro" + - "IHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2Yt" + - "YXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0" + - "aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11" + - "c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRo" + - "dG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9j" + - "a2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBm" + - "dW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVk" + - "IHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZl" + - "cnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQK" + - "PiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0" + - "b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlz" + - "IGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1p" + - "bnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFz" + - "aAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJh" + - "c2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2lt" + - "YWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFz" + - "a3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9p" + - "bWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVw" + - "bG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+" + - "Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3Ip" + - "LCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0" + - "ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJl" + - "bnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkg" + - "YW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRp" + - "ZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5" + - "IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0" + - "aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5v" + - "IChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0" + - "byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBp" + - "biBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0t" + - "IG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVl" + - "ZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + - "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + - "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + - "cGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5H" + - "Q19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + - "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + - "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwg" + - "YXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9s" + - "aWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVs" + - "bFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNw" + - "ZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRz" + - "In1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhl" + - "bHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBv" + - "bGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNl" + - "cy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVn" + - "Z2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + - "IC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2Vz" + - "Cmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAj" + - "IFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRv" + - "bSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxC" + - "YWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNy" + - "ZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8" + - "CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5n" + - "IGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMg" + - "fAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2lu" + - "YCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9r" + - "ZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGlj" + - "IHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRl" + - "ZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2Vg" + - "LiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8u" + - "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9w" + - "ZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBb" + - "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDow" + - "LzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQg" + - "cmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEg" + - "dmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRl" + - "bnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBg" + - "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dv" + - "cmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNl" + - "Um9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NB" + - "TkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNl" + - "cnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8g" + - "c3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQg" + - "c3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFs" + - "bCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBg" + - "c3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQg" + - "Y3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZj" + - "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBj" + - "YWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3Ry" + - "YXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxs" + - "IGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBj" + - "bGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8" + - "IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290" + - "c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNl" + - "cyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwg" + - "VmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50" + - "cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRo" + - "ZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUg" + - "YHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9" + - "LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1" + - "cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRv" + - "IGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1n" + - "b3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1u" + - "Y3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFu" + - "CgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhv" + - "b2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + - "cGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5" + - "CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFp" + - "bGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEg" + - "Y2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRl" + - "ZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBj" + - "cnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3Jv" + - "bmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5" + - "bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9v" + - "dHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAx" + - "CmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2lu" + - "ZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBw" + - "cmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUg" + - "YW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNm" + - "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAt" + - "biBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNj" + - "b3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxh" + - "dGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhh" + - "bXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1l" + - "bmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxl" + - "IHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNy" + - "ZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5h" + - "Z2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUt" + - "dG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1h" + - "bmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxs" + - "IHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11" + - "c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2lu" + - "ICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVy" + - "KS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25z" + - "IHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAt" + - "LXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1v" + - "dmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9u" + - "JyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxt" + - "IHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVk" + - "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50" + - "L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + - "cHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQi" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAg" + - "InF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0" + - "YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRo" + - "ZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmls" + - "ZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBo" + - "ZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + - "YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVt" + - "cGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUg" + - "cHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + - "IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0s" + - "CiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24i" + - "OiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4g" + - "dGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBz" + - "dHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQg" + - "Y3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQg" + - "cmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9y" + - "Y2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + - "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + - "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + - "aXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAg" + - "Y29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFj" + - "a2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFn" + - "ZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6" + - "ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQg" + - "TlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5k" + - "IGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50" + - "IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJz" + - "dCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1m" + - "aWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29u" + - "dHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVs" + - "bWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55" + - "YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhv" + - "cmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + - "ZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUt" + - "bGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNv" + - "bXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VS" + - "TCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUg" + - "aW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4g" + - "SXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20g" + - "dGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJh" + - "dGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9y" + - "IGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + - "ZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2Vy" + - "dmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3Qs" + - "IGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVz" + - "ZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + - "c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJM" + - "LCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNl" + - "ZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRo" + - "IENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUu" + - "eWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRv" + - "IC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0" + - "aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9u" + - "IGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0" + - "aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rp" + - "b24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBo" + - "ZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFy" + - "ZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVs" + - "bCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAg" + - "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRv" + + "c3RlcmAuIEluc3RhbGxzIFYgd2hhdGV2ZXIgaXRzIG5hbWUsIG5ldmVyIGFub3RoZXIgdmFsdWVz" + + "IGZpbGUgYmVzaWRlIGl0IHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNsdXN0ZXItbmFtZT1Y" + + "XSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBUVFkvcGxhaW4vSlNPTkwg" + + "fCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + + "IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6" + + "IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lz" + + "dGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0gcmVsZWFzZXMgb24gdGhh" + + "dCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFu" + + "ZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBlci1wbGFuZSBwcmltaXRp" + + "dmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIHwg" + + "UmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVkIHVubGVzcyBgLS1mb3Jj" + + "ZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0t" + + "bm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5p" + + "ZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9wczsgcGlwZSB0byBga3Vi" + + "ZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzLiBNaXJyb3JzIGBpbnN0" + + "YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YIFst" + + "LWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9yY2hlc3RyYXRvcjogZHJh" + + "aW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElD" + + "TVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVwIC0tY2x1c3Rlci1uYW1l" + + "PVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJtXWAgfCBPcmNoZXN0cmF0" + + "b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgKyBjb250cm9sIHBs" + + "YW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBgLS1hbGwtY29uY3VycmVu" + + "Y3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBub24taW50ZXJhY3RpdmUg" + + "fAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBPcmNoZXN0cmF0b3IgZHJ5" + + "LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXMgKG5vIGhlbG0v" + + "aGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBiZWZvcmUgYW55IGFjdHVh" + + "bCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29tbWFuZCB8IFB1cnBvc2Ug" + + "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9WCAtLW5j" + + "YS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgSldL" + + "UytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGludGVybmFsbHk7IHN0YW5k" + + "YWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJl" + + "ZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVy" + + "IHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4gdG9rZW47IGAtLWpzb25g" + + "IGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rl" + + "ci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQgdG8gSUNNUyB8IEFmdGVy" + + "IEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1c3RlciBkZWxldGUg" + + "LS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVTVFJVQ1RJVkU6IGNvbmZp" + + "cm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90" + + "ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + + "fCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9uIElEICsgVmVyc2lv" + + "biBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxz" + + "W10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3Bv" + + "bnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlzdGAgLyBgZnVuY3Rp" + + "b24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8IHwKfCBgZnVuY3Rpb24g" + + "Z2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5jdGlvbiBtZXRhZGF0" + + "YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + + "RCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwgfAp8IGBmdW5jdGlv" + + "biB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tbGxtLW1vZGVsLXVw" + + "ZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25maWcgfCBgU1BFQ2AgdXNl" + + "cyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + + "bWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3MubWRdKGZsYWdzLm1k" + + "KSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU2NoZWR1" + + "bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVmYXVsdCA5MDBzKSB8Cnwg" + + "YGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIFst" + + "LWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVzOiBBQ1RJVkVcfERF" + + "UExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kgdXBkYXRlIC0taW5w" + + "dXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxhY2UgfCB8CnwgYGZ1bmN0" + + "aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFN0" + + "b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBgZnVuY3Rpb24gaW52" + + "b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0aW9uIHwgUmVxdWly" + + "ZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9ucyBhcmUgaW52b2tlZCB0" + + "aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6ICI8ZnVuY3Rpb24t" + + "aWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQg" + + "LS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3ltZW50IHwgKipERVNU" + + "UlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoKVGFzayBjb21tYW5kcyBy" + + "ZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVkIGtleSBhbmQgYE5WQ0Zf" + + "QkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9pbnQuIEluIGEgZnJl" + + "c2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZjZi1jbGkuc3RhdGVgIGFu" + + "ZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZTsg" + + "Y2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5lcmF0ZSB3aXRoIGBh" + + "cGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhwaXJlZC4gUnVuIGBh" + + "cGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0byBtaW50IGEgbmV3IGtl" + + "eS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBj" + + "cmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taW1hZ2U9SU1H" + + "YCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGU7" + + "IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdzIHwKfCBgdGFzayBjcmVh" + + "dGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taGVsbS1jaGFydD1D" + + "SEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1p" + + "bWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTdWJtaXQgYSB0YXNr" + + "IGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29u" + + "ZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRVU10gWy0tbGltaXQ9Tl1g" + + "IHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0dXMgfCBTdGF0dXNlczog" + + "YFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwg" + + "YENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01B" + + "WF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IHRhc2sgZGV0" + + "YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0ZWQgfAp8IGB0YXNr" + + "IGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNsZSBldmVudHMgZm9y" + + "IGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlm" + + "YWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkgbGlzdCB3aGVuIGByZXN1" + + "bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBw" + + "b3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBydW5uaW5nIHRhc2sg" + + "fCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFzayBkZWxldGUgW3Rh" + + "c2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0YXRlIHRhc2sgSUQgKyBj" + + "dXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IGV4cGxp" + + "Y2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmljIHRhc2suIERvIG5vdCB0" + + "cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLioqIHwKfCBg" + + "dGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRh" + + "dGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0" + + "ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNl" + + "cnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNrIGJ1bGsgLS10YXNr" + + "LWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGlu" + + "IG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwK" + + "fC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyB2" + + "aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+Ly5udmNmLWNsaS5z" + + "dGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQSSBrZXlzIChmdW5j" + + "dGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUgKHRva2VuLCBsYXN0" + + "IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBmcm9tIGBzZWxmLWhvc3Rl" + + "ZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rpb25cfHRhc2tdIFst" + + "LWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQgQVBJIGtleXMgfCBE" + + "ZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5jdGlvbiBrZXkgYW5kIGEg" + + "dGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdlbmVyYXRlcyBvbmUg" + + "b25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSAt" + + "LXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVk" + + "IGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0IGF1ZGllbmNlIChO" + + "VkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMpIHwKfCBgYXBpLWtleSBs" + + "aXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0cyBOVkNGLXNjb3Bl" + + "ZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8gYGFwaS1rZXkgcmV2b2tl" + + "IEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3aXRoIHVzZXIqKiB8Cnwg" + + "YGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5IGZyb20gc3RhdGUg" + + "fCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwt" + + "LS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IEluc3RhbGwg" + + "YWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNsYXVkZS9za2lsbHMvYCBh" + + "bmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFzZSBza2lsbHMgZGlyZWN0" + + "b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgUmVtb3Zl" + + "IG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUgdGFyZ2V0IGJhc2Ugc2tp" + + "bGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNraWxscyByZW1haW4gfAp8" + + "IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBidW5kbGVkIGBudmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRkZWQgZmlsZSB8IEZvciBk" + + "ZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1aWxkIFNIQSBhbmQg" + + "ZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsHCNF1wo8WJgAAFiYAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4aXQgY29kZXMKClN0" + + "YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBhZ2VudCByZXRyeSAv" + + "IHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFtcGxlIGNhdXNlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNzZWQ7IGluc3RhbGwg" + + "Y29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhl" + + "bG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlB" + + "TUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgQSBgY2hl" + + "Y2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBr" + + "dWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJz" + + "ZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2ggKG1pc3Npbmcga3ViZWNvbmZpZyBv" + + "ciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQgZmFpbHMgZm9yIGFueSByZWFzb246" + + "IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWplY3RlZCBjcmVkZW50aWFscywgYSBm" + + "YWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBlcnJvcik7IGEgY2x1c3Rlci12YWxp" + + "ZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJl" + + "LCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50YWdnZWQgaW1hZ2UpOyBh" + + "IGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFtZXNwYWNlIGBzdHVjayBUZXJtaW5h" + + "dGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVuIHRoZSB0aW1lIGJ1ZGdl" + + "dCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1zZXZlcml0eSByZXN1bHRzIGV4aXQg" + + "YDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVsZXRpbmcsIGEgSGVsbSByZWxlYXNl" + + "IGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0aCBubyBIZWxtIHJlbGVhc2UsIGFu" + + "ZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBubyBgY2x1c3Rlcl92YWxpZGF0b3Jf" + + "aW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAt" + + "LW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1" + + "bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0" + + "IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkIG5vdCBwYXNzIGJl" + + "Zm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBzdGlsbCBpbiBwcm9ncmVzczsgdGhl" + + "IGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNrIHRoYXQgY2FuIGZhaWwgdGhlIHJ1" + + "biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9yIGN1dCBzaG9ydCkg" + + "YW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hvcnQgcm93IGtlZXBzIHRoZSB3b3Jz" + + "dCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28gYSBjaGVjayB0aGF0IGNhbiBvbmx5" + + "IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5vdCBjcml0aWNhbCwgc3RheXMgYSB3" + + "YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3VsdCBrZWVwcyBpdCwgc28g" + + "YSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8CnwgYDEzMGAgfCBDYW5jZWxs" + + "ZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3IgYnkgYSBxdWl0IGtleSBpbiB0aGUg" + + "YGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJsLUM7IGBxYCwgYEVzY2Agb3IgYEN0" + + "cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZDsg" + + "dGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkLiBBIHNpZ25hbCBgY2hlY2tgIHdhcyBzdGFy" + + "dGVkIHdpdGggaWdub3JlZCBzdGF5cyBpZ25vcmVkLCBzbyBhIGBjaGVja2AgcnVuIHVuZGVyIGBu" + + "b2h1cGAgb3V0bGl2ZXMgdGhlIHNlc3Npb24gfAoKIyMgSG93IGFuIGFnZW50IHNob3VsZCByZWFj" + + "dAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBDb250aW51ZSAv" + + "IHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNlcjsgYXNrIGJl" + + "Zm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1bWFuIHRvIHJl" + + "YWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3MgKyB0aGVpciBg" + + "aGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhlcyBwcmVyZXFz" + + "LiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBPUiBgLS10" + + "b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9LLiB8CnwgYDVg" + + "IHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50byB0aGUgc3Rh" + + "bGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0cnkgYXV0b21h" + + "dGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZvcmUgcmUtcnVu" + + "bmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCByZXBvcnRzIGl0" + + "cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJkaWN0YCwgYHRv" + + "dGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5pbmdDb3VudGAp" + + "IGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9jaS1waXBlbGlu" + + "ZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdhaXRgLCBleGl0" + + "cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2Vg" + + "IGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVudCBmb3Ig" + + "YSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVl" + + "YCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBjYXJyaWVzIGBj" + + "dXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBgZmluYWxg" + + "IHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsgYHVwYCBl" + + "bWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZhbGlkYXRv" + + "ciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwgYSBwb2Qg" + + "dGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNoZWNrYCBs" + + "aXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBldmVudCdz" + + "IGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQsIG9uIGV2" + + "ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0ZGVyciBs" + + "aW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9yZSBpdHMg" + + "b3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVyeSBvdGhl" + + "ciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2" + + "ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJh" + + "eSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVt" + + "ZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQg" + + "YHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29u" + + "c3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBm" + + "cm9tIHN0ZGVyci4KUEsHCMn5RW9oEAAAaBAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMg" + + "YG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21t" + + "YW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29u" + + "ZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8" + + "IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8" + + "IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9u" + + "IHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChw" + + "ZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + + "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENvbnRyb2wt" + + "cGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJM" + + "IHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0" + + "aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkg" + + "Q0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUgZW52aXJv" + + "bm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVM" + + "TUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0" + + "YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGluZ3Mg" + + "cmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwgYGxv" + + "Y2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMg" + + "fCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3Jl" + + "ZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlB" + + "TUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpz" + + "b25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBu" + + "ZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5n" + + "IG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25s" + + "eTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mgb3IgRFVS" + + "QVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNlYCku" + + "IEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNoIGNhbiB0" + + "YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFs" + + "aWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNoIGFzIGEg" + + "cm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hlY2tfY29t" + + "cGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNoZWNrIHRoZSB0aW1l" + + "IGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRzIGV2ZW50IGNhcnJp" + + "ZXMgYGN1dFNob3J0OiB0cnVlYC4gQSBjaGVjayB0aGF0IGNhbiBvbmx5IHdhcm4gYW5kIGlzIHN0" + + "b3BwZWQgb24gdHdvIHBvbGxzIGluIGEgcm93IGVuZHMgdGhlIHdhaXQgYXMgYSBzaW5nbGUgcnVu" + + "IHdvdWxkOiBleGl0IGAwYCB3aXRoIHRoZSB3YXJuaW5nLiBDYW5ub3QgYmUgY29tYmluZWQgd2l0" + + "aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0aXZlIERVUkFUSU9OIGlz" + + "IGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8CnwgYC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJF" + + "US0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCBDVFhg" + + "IHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBj" + + "b250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyByZXF1aXJlZCB3" + + "aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9ubHkgYXQgYSBVUkwgc2V0" + + "IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJMYCwgb3IgaW4gdGhlIGNv" + + "bmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYCwgYW5kIG5vdCBhdCBvbmUgZGVy" + + "aXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91cmxgIG9uIE5WSURJQSdzIGhvc3RlZCBgbnZjZi5udmlk" + + "aWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0ZW1wbGF0ZSdzIGlzOyB3aXRoIG5vbmUsIGl0cyBgc2lz" + + "LXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRw" + + "X3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhv" + + "c3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3RyeSBjb250YWN0LCB3aGF0" + + "ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwgY2hlY2sg" + + "YW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRlZCBhcyBy" + + "b3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0tbG9jYWwtb25seSlgLiBF" + + "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8" + + "IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAs" + + "IGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1" + + "aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3Rz" + + "IGl0cyBvd24uIE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNz" + + "IGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0" + + "ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6" + + "IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNo" + + "YWJpbGl0eSwgc2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBv" + + "ciBgLS1jb21wdXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRo" + + "IGEgcm9sZSdzIG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVz" + + "dGVyIGFzIGluc3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhl" + + "bG1maWxlYCBvciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBj" + + "aGVjayBhbiBpbnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3" + + "YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxl" + + "ZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFu" + + "ZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNv" + + "bXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3Zl" + + "ciBuYW1lc3BhY2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEg" + + "Y29uZmlndXJlZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRh" + + "dG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAt" + + "LWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhv" + + "dXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIg" + + "bmFtZSBzaG93biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBj" + + "aGVja2AgZG9lcyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2Ag" + + "fCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhl" + + "IGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVu" + + "IHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMs" + + "IHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3Rp" + + "ZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVu" + + "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCwgYHRydWVgIG9yIGBmYWxzZWAg" + + "fCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBy" + + "dW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRl" + + "cyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBm" + + "b3IgaXQsIHBsdXMgYSBSb2xlIGFuZApSb2xlQmluZGluZyBpbiBgZGVmYXVsdGAgdGhhdCBsZXQg" + + "aXQgcmVhZCBvbmx5IGl0cyBvd24gQ29uZmlnTWFwLCBhbmQgcmVtb3Zlcwp0aGVtIGFmdGVyIHRo" + + "ZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5h" + + "Z2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2YWxpZGF0b3IncyB0cmFuc2NyaXB0IHdpdGggYGdldGAg" + + "b24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAuCldpdGhvdXQgaXQsIGEgdmFsaWRhdG9yIEpvYiB0" + + "aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNzZXMsIGFuZCBpdHMgcm93IHNheXMgdGhlCnRyYW5zY3Jp" + + "cHQgY291bGQgbm90IGJlIHJlYWQsIHNvIG5laXRoZXIgdGhlIGNoZWNrcyBpdCByYW4gbm9yIHdh" + + "cm5pbmdzIGl0CnJlcG9ydGVkIGFyZSBzaG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5" + + "IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2Us" + + "IERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5v" + + "ZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0" + + "b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFn" + + "ZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lN" + + "QUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5v" + + "IHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJ" + + "ZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFu" + + "ZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAg" + + "dHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRv" + + "ciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlz" + + "IGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0" + + "ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSBy" + + "ZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwg" + + "YW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZh" + + "bGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJv" + + "ci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhl" + + "IGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUg" + + "c3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0" + + "b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxl" + + "c3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2Vy" + + "LmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25s" + + "eSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnku" + + "IFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBu" + + "byBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUg" + + "b3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJ" + + "U1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlz" + + "dCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXBy" + + "b2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhl" + + "IGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5l" + + "ZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1n" + + "YXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lN" + + "QUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3li" + + "b3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5h" + + "bC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRz" + + "aWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBs" + + "b29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFv" + + "YCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVw" + + "ZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxf" + + "Q09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVk" + + "YCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVl" + + "YC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7" + + "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxp" + + "c3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9s" + + "ZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRv" + + "IHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdh" + + "eXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVm" + + "ZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4g" + + "QSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEt" + + "c2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7" + + "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0" + + "cmluZ3MgaW4gdGhpcyBmb3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAt" + + "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdp" + + "c3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdl" + + "LiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBp" + + "biBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNv" + + "cGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNl" + + "Y3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBG" + + "YWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5l" + + "J3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3Jl" + + "ZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hh" + + "dCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8" + + "IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRh" + + "dG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNh" + + "bm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0" + + "bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBF" + + "YWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFu" + + "ZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xV" + + "U1RFUl9WQUxJREFUSU9OYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1j" + + "bGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2Vj" + + "cmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fu" + + "bm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJh" + + "dGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNj" + + "cmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMg" + + "dGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZl" + + "bnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBj" + + "b21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0t" + + "d2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3Ig" + + "dHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAt" + + "LS0gY2x1c3Rlci12YWxpZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGlu" + + "ZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJg" + + "IG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwg" + + "YW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hl" + + "biBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3Ry" + + "eSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRo" + + "aXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdv" + + "dWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25m" + + "aWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBl" + + "ci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBm" + + "aXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBO" + + "VkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBh" + + "aGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9ubHkgd2hlbiB0aGUKcmVnaXN0cnkgY2hlY2sncyBw" + + "bGFuZSwgYmVsb3csIGlzIGNoZWNrZWQgYmVmb3JlIGl0cyBpbnN0YWxsIHdpdGggdGhlCmBsb2Nh" + + "bGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbCBzZWNyZXRzIGZyb20g" + + "aXQsIGFuZCBpdCBpcwpuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0" + + "aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIGZvciBhIHJl" + + "cG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhlIGRvY2tlciBsb2dpbiAoYSA0MDEp" + + "IG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlzIGlzCmRlY2lkZWQgb25jZSBwZXIg" + + "cmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRoZSByb3cgYW5kIHRoZQp2YWxpZGF0" + + "b3IncyBwdWxsIHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJlZSBnZXQgdGhlIHNhbWUgY3JlZGVu" + + "dGlhbCwgYW5kIGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8gb25lIG9yZyBzdGlsbCBzZXJ2ZXMg" + + "dGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0ZWQgYXMgbm8gYWNjZXNzIHRvIHRo" + + "YXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBsb2dpbi4gRWFjaApgLS13YWl0YCBw" + + "b2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxl" + + "IHRoZSBydW4Kd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBm" + + "b3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRv" + + "IHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0" + + "cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUg" + + "c2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUg" + + "c2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJl" + + "bG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQg" + + "d2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBi" + + "ZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUg" + + "Y29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRl" + + "LXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwg" + + "ZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBj" + + "b21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFp" + + "bHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3Ig" + + "dGhlIHN0YWNrIG5hbWVzLiBCZWZvcmUgaW5zdGFsbCB0aGF0IGluY2x1ZGVzIGEgZG9ja2VyCmxv" + + "Z2luIGBudmNyLmlvYCByZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMg" + + "cGxhY2UsIHNpbmNlCmBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0YWNrJ3MgY2hh" + + "cnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhlCmtleSBpcyBzdGlsbCB1c2VkIGZvciB0YWcg" + + "ZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUKcm93IG5h" + + "bWVzIGJvdGguIEFmdGVyIGluc3RhbGwgYSByZWplY3RlZCBkb2NrZXIgbG9naW4gc3RpbGwgZmFp" + + "bHMuIEEgcmVqZWN0ZWQKTkdDIGtleSBpcyBhIHdhcm5pbmcgb25seSB3aGVuIGBjaGVja2AgcmVh" + + "ZHMgdGhlIHB1bGwgc2VjcmV0cyBvZiB0aGUgY2x1c3RlcnMKaXQgdmlzaXRzLCBpbiB0aGUgbmFt" + + "ZXNwYWNlcyB0aGUgdmFsaWRhdG9yIGNvcGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kCm5vbmUg" + + "b2YgdGhlbSBob2xkcyB0aGF0IGtleTsgd2hlbiBvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxs" + + "IGJlIHJlYWQsIGl0IGlzCmFuIGVycm9yLiBBIGRvY2tlciBsb2dpbiB0aGUgTkdDIGtleSByZXBs" + + "YWNlZCBwYXNzZXMgYWZ0ZXIgaW5zdGFsbCBvbmx5IHdoZW4Kbm9uZSBvZiB0aG9zZSBwdWxsIHNl" + + "Y3JldHMgaG9sZHMgaXQ6IHdoZW4gb25lIGRvZXMgaXQgaXMgYW4gZXJyb3IsIGFuZCB3aGVuCnRo" + + "ZXkgY2Fubm90IGFsbCBiZSByZWFkIGEgd2FybmluZy4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUg" + + "Y2Fubm90IHJlYWNoLCBhCnRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBs" + + "b2NhbCBjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90" + + "IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBl" + + "ZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0" + + "cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFz" + + "IHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRo" + + "ZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNl" + + "dCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0" + + "aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25m" + + "aWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5" + + "QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25l" + + "IHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9u" + + "bHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9u" + + "bHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNg" + + "LCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFt" + + "ZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUg" + + "c3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRl" + + "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BB" + + "Q0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3Nh" + + "bmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0" + + "ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01Q" + + "T05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNl" + + "dCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9m" + + "IHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3Bl" + + "bkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5" + + "IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3Ig" + + "YE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUg" + + "ZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5" + + "IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBg" + + "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBv" + + "bmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5j" + + "ZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBp" + + "bnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVk" + + "IG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhl" + + "IGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1w" + + "bGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVz" + + "IHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSks" + + "IGVsc2UgdGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJl" + + "YWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxp" + + "ZXIKICBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBg" + + "ZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25l" + + "ZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5k" + + "IG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtp" + + "bmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2Fy" + + "ZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFu" + + "ZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZp" + + "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rl" + + "ci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAt" + + "IHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8Cnwg" + + "YC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1w" + + "bGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5n" + + "ZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + + "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0" + + "byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13" + + "YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERV" + + "UmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZp" + + "bHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVu" + + "dHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8" + + "IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAo" + + "cmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0x" + + "YCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8Cnwg" + + "YC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24t" + + "ZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8" + + "dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBn" + + "ZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBs" + + "YWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVz" + + "LWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQg" + + "YXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1g" + + "IHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBk" + + "ZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBp" + + "bW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1" + + "bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5" + + "cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + + "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5p" + + "dGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0t" + + "aW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBV" + + "UklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1w" + + "b3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24t" + + "dHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRg" + + "IHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVu" + + "Y2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNr" + + "YWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8" + + "IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3" + + "aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9O" + + "OlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxs" + + "bS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVy" + + "aXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + + "bWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRo" + + "IGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlu" + + "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1" + + "c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJp" + + "b3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5" + + "LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1h" + + "Y2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBv" + + "dmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92" + + "ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQg" + + "aW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5k" + + "IG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1D" + + "b25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhz" + + "IGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9j" + + "aGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4g" + + "YGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9v" + + "Zl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNv" + + "bmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQg" + + "cG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQu" + + "IFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgICho" + + "b3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdo" + + "ZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgs" + + "NTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcg" + + "aXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2Vk" + + "IExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBo" + + "ZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2Ft" + + "ZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMg" + + "U2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZv" + + "Y2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJg" + + "LiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2Rl" + + "bCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9u" + + "c2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNl" + + "c3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rp" + + "b24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8" + + "CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBg" + + "bmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0" + + "PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tl" + + "biBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRv" + + "a2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBS" + + "ZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhp" + + "cyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8" + + "IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291" + + "bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3Rp" + + "bmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwK" + + "CkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRy" + + "aWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29y" + + "IGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVs" + + "IG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlv" + + "biBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + + "bmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8" + + "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8" + + "IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5" + + "IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEw" + + "MF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAt" + + "LW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0" + + "LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVs" + + "dCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmlj" + + "IGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRl" + + "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + + "YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2Ug" + + "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1" + + "aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBg" + + "LS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + + "IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5" + + "cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUu" + + "SDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5" + + "IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8" + + "IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0" + + "aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxl" + + "IHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBg" + + "LS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5B" + + "TUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21t" + + "YS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hl" + + "biBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2No" + + "cyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8" + + "IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNl" + + "Y3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFi" + + "bGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwg" + + "TWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZh" + + "dWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8" + + "IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZl" + + "ciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdy" + + "YWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + + "YFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5k" + + "bGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NB" + + "VElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1l" + + "L11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8" + + "IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBl" + + "YXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2Ug" + + "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRh" + + "Z3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNj" + + "cmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0" + + "cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1l" + + "dHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1p" + + "ZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCEpXSMskXAAA" + + "JFwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGlu" + + "ZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0" + + "aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0" + + "cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQg" + + "bWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25g" + + "IGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBh" + + "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1w" + + "dG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90" + + "ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2Ag" + + "cHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + + "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJh" + + "dG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1w" + + "cmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBp" + + "dGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rh" + + "c2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFU" + + "SGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxh" + + "dGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5z" + + "aC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1" + + "c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlk" + + "YXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRl" + + "ZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcs" + + "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhl" + + "IGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBj" + + "b3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGlt" + + "YWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVz" + + "c2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVz" + + "dGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUg" + + "cmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBj" + + "b3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9k" + + "cy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBr" + + "dWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5v" + + "dCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUg" + + "Y29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBv" + + "ZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1" + + "YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVw" + + "b3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kg" + + "R2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlv" + + "L2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVt" + + "IC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + + "dXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBk" + + "ZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25l" + + "OiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMi" + + "Onsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19" + + "J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1l" + + "bnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sg" + + "dXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3Vy" + + "Y2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMg" + + "YW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJh" + + "dG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3Mu" + + "bnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2lu" + + "c3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBk" + + "ZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8Cnwg" + + "YHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJv" + + "ciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIg" + + "bWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1" + + "YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRo" + + "ZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+" + + "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3" + + "aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0" + + "cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJl" + + "c29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5n" + + "IGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5p" + + "bmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdh" + + "aXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIg" + + "MiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlk" + + "LW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRl" + + "ZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNl" + + "IGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0" + + "IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3Rv" + + "cnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNr" + + "YCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBI" + + "ZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBh" + + "bmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Ig" + + "d29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0" + + "dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291" + + "cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVj" + + "dGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBD" + + "RCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhl" + + "bG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFz" + + "ZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxN" + + "X0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93" + + "biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBF" + + "eHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVj" + + "a2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8Cnwg" + + "YHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVz" + + "cGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQg" + + "b25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUg" + + "aW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0" + + "YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9u" + + "bWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1l" + + "cyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMg" + + "aW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBk" + + "ZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3Rl" + + "bWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAg" + + "dGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlm" + + "IGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + + "LS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8u" + + "bnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0" + + "YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkg" + + "fAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Ig" + + "bm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlm" + + "ZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2Yt" + + "Y2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAo" + + "ZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0" + + "aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCm" + + "YCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENh" + + "dXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRp" + + "bmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5k" + + "aW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBw" + + "dixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAw" + + "JyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlz" + + "IHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5j" + + "ZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAg" + + "KGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25g" + + "IGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13" + + "ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQi" + + "IGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkg" + + "fCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHBy" + + "b3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIg" + + "YDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNh" + + "LW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNs" + + "dXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNh" + + "LW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUK" + + "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBh" + + "Z2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3Rl" + + "cnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55" + + "YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8" + + "IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAg" + + "KGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVy" + + "IGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8" + + "IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3Vy" + + "cmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxp" + + "ZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRg" + + "IHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3Vi" + + "ZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwg" + + "c2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+" + + "NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3Ig" + + "Y2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5" + + "c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2Vg" + + "IHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18" + + "LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3Jl" + + "ZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRp" + + "YWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9k" + + "ZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hv" + + "dyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVz" + + "IHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hl" + + "LXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5n" + + "ZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1p" + + "biBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1l" + + "bnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0" + + "ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292" + + "ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0" + + "ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hv" + + "b3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBs" + + "YW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBs" + + "YW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMs" + + "IEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBO" + + "T1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRl" + + "dmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJp" + + "bGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBo" + + "ZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6" + + "ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJz" + + "aW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhv" + + "c3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxh" + + "dGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0" + + "LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNm" + + "LWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246" + + "ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVk" + + "LCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9u" + + "LCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBm" + + "cmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZy" + + "YXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3Bl" + + "cmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + + "ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2ls" + + "bCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5k" + + "bGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJh" + + "dGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVt" + + "ZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxl" + + "bWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVp" + + "cmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4g" + + "VmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5k" + + "LyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFj" + + "az4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vu" + + "dmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAK" + + "CklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxl" + + "IHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxv" + + "YWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJl" + + "Z2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5l" + + "LXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1l" + + "IHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCBy" + + "b290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZ" + + "b3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9u" + + "OgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJl" + + "bW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0g" + + "My4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4x" + + "MQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZl" + + "cnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhl" + + "IGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBw" + + "YXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50" + + "cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25t" + + "ZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1z" + + "ZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQg" + + "RXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10" + + "by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUg" + + "cHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtl" + + "cy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAg" + + "ICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92" + + "ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAg" + + "ICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25z" + + "dW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVz" + + "KQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgICho" + + "aWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9u" + + "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdp" + + "c3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5n" + + "IGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJl" + + "IHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFn" + + "YXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZp" + + "bGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZh" + + "bHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0" + + "aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYg" + + "dXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5n" + + "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19B" + + "UElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + + "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + + "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + + "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + + "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + + "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + + "IC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1" + + "cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1" + + "bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhl" + + "bG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0g" + + "cmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0g" + + "KG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBz" + + "dG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0g" + + "Ym90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + + "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUg" + + "JyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4t" + + "cGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVz" + + "ZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFt" + + "YXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5" + + "IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sg" + + "YW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQg" + + "a2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBB" + + "IHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2lu" + + "YCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNv" + + "IHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0" + + "MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3Mg" + + "dGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0" + + "aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBr" + + "ZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICck" + + "b2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24g" + + "aW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0" + + "aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5" + + "LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3Rl" + + "ciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0Yg" + + "aW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0" + + "aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0" + + "cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFj" + + "Y2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBj" + + "cmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3Ig" + + "aW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAg" + + "IGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5n" + + "LiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0" + + "aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJl" + + "Z2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWIt" + + "cGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24t" + + "T0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJy" + + "b3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBh" + + "bmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxp" + + "c2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBg" + + "aGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJl" + + "c29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRp" + + "cmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0" + + "IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxt" + + "IHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTov" + + "Lzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4g" + + "bGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRl" + + "bnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUg" + + "cmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkg" + + "aGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQs" + + "IHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20g" + + "c3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNy" + + "ZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2Nr" + + "ZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAg" + + "PiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1" + + "c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2Nv" + + "dW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0" + + "CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8g" + + "eW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMu" + + "IFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUg" + + "c3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29u" + + "ZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3Qg" + + "ZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQg" + + "Z2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRo" + + "PSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVT" + + "UyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlk" + + "ZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIg" + + "dHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qg" + + "c2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEg" + + "c3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0" + + "ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZj" + + "Zi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9p" + + "bnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2lu" + + "dCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBv" + + "bmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFt" + + "cGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyBy" + + "ZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAg" + + "ICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUg" + + "c2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NB" + + "TkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVk" + + "ZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMg" + + "dG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJh" + + "Y2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0" + + "IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3" + + "b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoK" + + "IyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGgg" + + "ZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUg" + + "fAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxl" + + "YXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEw" + + "IG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGlu" + + "dm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRl" + + "d2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3Rh" + + "Y2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNl" + + "LWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVh" + + "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVk" + + "KSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAo" + + "b3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBv" + + "bmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdz" + + "IGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMu" + + "IEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUg" + + "VmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdh" + + "eWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFj" + + "ayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1" + + "ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1s" + + "YDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAg" + + "ICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0" + + "eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBg" + + "LiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBh" + + "ZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZh" + + "bml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhv" + + "c3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0" + + "ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5j" + + "bHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhl" + + "IHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5W" + + "PTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBp" + + "cyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1u" + + "IG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdl" + + "dCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRv" + + "bWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFi" + + "bGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24s" + + "IExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlk" + + "ZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9w" + + "dGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBh" + + "bmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBz" + + "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0" + + "cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNl" + + "IGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBV" + + "SSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3Nl" + + "IGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFu" + + "ZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBb" + + "TlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0" + + "YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBz" + + "dGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQg" + + "aXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0g" + + "SGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywg" + + "dGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZp" + + "bGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUg" + + "Q0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJl" + + "Z2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4g" + + "Rm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVs" + + "bCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRl" + + "YXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBs" + + "YW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + + "YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5h" + + "Z2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFz" + + "ZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNg" + + "LCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3Mt" + + "YXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2Yt" + + "dWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAg" + + "aXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNv" + + "bnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFn" + + "ZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFj" + + "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJu" + + "YWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90" + + "aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8g" + + "bm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0" + + "ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQt" + + "bWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWly" + + "ZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQg" + + "aXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVj" + + "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBI" + + "ZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + + "dmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRz" + + "IHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5n" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20g" + + "aW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNo" + + "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRl" + + "IG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + + "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVj" + + "dGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMj" + + "IyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2Fu" + + "ZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVt" + + "cHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50" + + "IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdv" + + "dG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFs" + + "LnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9j" + + "ayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlh" + + "bWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVs" + + "b3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5" + + "IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQog" + + "IHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFj" + + "ZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4v" + + "Z2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + + "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAg" + + "ICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAg" + + "ICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1" + + "OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTog" + + "V2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNp" + + "ZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3Ug" + + "bXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxl" + + "LgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUg" + + "ICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhl" + + "cmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0" + + "aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZl" + + "biB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250" + + "cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBT" + + "aWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwg" + + "SzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVz" + + "ZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0" + + "aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBX" + + "aGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9s" + + "aWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290" + + "c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4t" + + "c2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9p" + + "bWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQg" + + "YC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0" + + "KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwK" + + "Cj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3Jl" + + "dCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlw" + + "cyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElB" + + "TGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBp" + + "c24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3Ry" + + "aW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50" + + "byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUK" + + "PiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmlu" + + "dGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBi" + + "YXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFw" + + "IHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNl" + + "NjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIg" + + "dmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRl" + + "bnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUu" + + "IFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQg" + + "dGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFu" + + "IGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+" + + "ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwg" + + "b3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9z" + + "aWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElB" + + "IENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yv" + + "c2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAt" + + "biBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQK" + + "PiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90" + + "IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNp" + + "ZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5n" + + "IGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rp" + + "b24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVu" + + "dGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmds" + + "ZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBj" + + "b2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdp" + + "dGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lv" + + "biBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8g" + + "YWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxs" + + "IGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmlj" + + "YXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFk" + + "ZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVw" + + "ZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNy" + + "ZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNl" + + "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + + "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + + "bmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + + "ZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + + "ICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGlj" + + "eQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBg" + + "YAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5n" + + "IGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoK" + + "YGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29u" + + "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoi" + + "bnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3Jl" + + "ZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUg" + + "S3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUg" + + "W3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCku" + + "CgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBn" + + "ZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxt" + + "IGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVs" + + "bSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGlt" + + "ZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5z" + + "Cgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBg" + + "SW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25n" + + "IHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVs" + + "bFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdl" + + "bnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBq" + + "b2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRo" + + "L2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0" + + "ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0" + + "aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0" + + "aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + + "ZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0" + + "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxl" + + "dGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2" + + "ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + + "ZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEg" + + "fCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291" + + "cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3Ag" + + "YEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUg" + + "c2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNl" + + "Um9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5k" + + "cmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVG" + + "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERC" + + "LWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21h" + + "dGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBs" + + "YWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZp" + + "cnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVh" + + "c2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3Jv" + + "bmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxv" + + "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAv" + + "IGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291" + + "bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVh" + + "c2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0" + + "ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2Fz" + + "IHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFj" + + "Y291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8" + + "CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5v" + + "dCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBg" + + "X2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxh" + + "dGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8" + + "IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICIt" + + "RHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxz" + + "IGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhh" + + "cmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChl" + + "LmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FX" + + "U19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9v" + + "dHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1p" + + "bnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3Vu" + + "dC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9v" + + "aywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBp" + + "bnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRo" + + "ZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50" + + "IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCBy" + + "ZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2" + + "aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRo" + + "ZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1h" + + "Y2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAg" + + "IyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5" + + "IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRl" + + "bGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFp" + + "bGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBq" + + "b2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJl" + + "Y3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZp" + + "cm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoK" + + "LSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQt" + + "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + + "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dz" + + "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6" + + "IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwg" + + "W3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2lu" + + "Z10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBu" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0" + + "YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAA" + + "SWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcx" + + "LXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5W" + + "Q0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0" + + "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + + "dHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5n" + + "IHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhl" + + "bG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1k" + + "aWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Ig" + + "b2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFs" + + "bCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + + "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + + "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwg" + + "d2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hl" + + "bG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50" + + "IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlz" + + "IGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNo" + + "ZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVj" + + "a3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1z" + + "eW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3Ig" + + "bXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "RGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCBy" + + "YW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3Jl" + + "IHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVw" + + "IGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0" + + "b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBh" + + "IHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0" + + "aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAg" + + "InF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3Rh" + + "dGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRp" + + "ZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5W" + + "Q0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5W" + + "Q0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6" + + "ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRl" + + "ZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBh" + + "bmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFs" + + "bCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0" + + "Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3Bh" + + "Y2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5" + + "IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJh" + + "Y2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdp" + + "dGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBh" + + "biBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNp" + + "bmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlz" + + "IGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBI" + + "ZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93" + + "LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVu" + + "dmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBh" + + "bmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwg" + + "cmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdp" + + "dGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1" + + "YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQg" + + "SldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + + "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhv" + + "cmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIs" + + "CiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdp" + + "c3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFw" + + "aV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGlu" + + "dm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRo" + + "ZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJl" + + "Z2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9O" + + "LCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhl" + + "IGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5z" + + "dGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklM" + + "RT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1h" + + "cHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0" + + "IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJl" + + "Z2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + + "eHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + + "ZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5k" + + "cyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAog" + + "ICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVw" + + "bG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBs" + + "b2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRo" + + "YXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2Nr" + + "ZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmlj" + + "aWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0" + + "aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRv" + "a2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQg" + - "cmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5h" + - "bWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + - "dGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + - "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3Zp" + - "ZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVu" + - "IGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4" + - "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + - "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3Ry" + - "dWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1s" + - "LmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3Ry" + - "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFn" + - "YWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3Ig" + - "ZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNl" + - "Y3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdl" + - "cmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1m" + - "aWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + - "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjog" + - "IlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + - "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2lu" + - "ZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9s" + - "LXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3Ry" + - "dWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1t" + - "YW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVk" + - "LCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNl" + - "bGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + - "ZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHBy" + - "b2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFs" + - "aWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwp" + - "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMi" + - "LAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNz" + - "YW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVs" + - "dC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVz" + - "cGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZp" + - "bGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdl" + - "bnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAog" + - "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVw" + - "ZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGlt" + - "YXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0" + - "aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1" + - "dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBw" + - "cm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAg" + - "ImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZj" + - "Zi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBp" + - "bnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGds" + - "b2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUg" + - "Q0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250" + - "cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIg" + - "YW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wt" + - "cGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJl" + - "Zm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQg" + - "dGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0" + - "YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29u" + - "dHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + - "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29t" + - "bWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29t" + - "bWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0t" + - "a3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxs" + - "IGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwg" + - "Y29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXIt" + - "bmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhl" + - "IGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lz" + - "dHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEt" + - "cmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcg" + - "T09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3Rl" + - "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + - "cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVt" + - "cGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZh" + - "bHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2" + - "YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHBy" + - "ZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhl" + + "bG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMi" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0" + + "aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUg" + + "YnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBn" + + "bG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVk" + + "IGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZp" + + "bGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNh" + - "cHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "dGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMg" + - "YmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAg" + - "ICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBm" + - "aWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwK" + - "ICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVj" + - "aWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJl" + - "bHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUg" + - "dGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAog" + - "IHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0" + - "aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5k" + - "cmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + - "YWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVu" + - "ZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVu" + - "Y3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + - "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + - "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBl" + - "bmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBu" + - "YW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIs" + - "CiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFy" + - "Z2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3" + - "LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2Rz" + - "IGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJh" + - "biBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmli" + - "ZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNl" + - "Y3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQg" + - "dGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Npbmcg" + - "aW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQi" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUg" + - "SW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1" + - "bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhl" + - "IGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNl" + - "cnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVz" + - "ZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25m" + - "aWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRy" + - "b2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHBy" + - "aXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5" + - "IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRl" + - "d2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRz" + - "IGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNU" + - "IGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292" + - "ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + - "ZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZh" + - "bCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQg" + - "dGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5n" + - "IGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBj" + - "bHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFt" + - "ZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hh" + - "cmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3" + - "YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xv" + - "YmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBu" + - "dmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFu" + - "ZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5u" + - "dmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2Vy" + - "dmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5y" + - "b3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3" + - "b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBp" + - "bmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRv" + - "IHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkg" + - "VVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBp" + - "Y21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZp" + - "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAg" + - "ICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVk" + - "IGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0" + - "ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9w" + - "ZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxp" + - "dC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wt" + - "cGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUg" + - "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVk" + - "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + - "dXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0" + - "cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29u" + - "dHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1z" + - "LiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + - "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + - "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBm" + - "b3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5n" + - "IG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkg" + - "ZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5j" + - "ZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdl" + - "bmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + - "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + - "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + - "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4g" + - "SXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + - "cmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVn" + - "aXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIs" + - "IHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + - "IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmly" + - "bWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVy" + - "SUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJl" + - "Zm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3Ro" + - "IHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBu" + - "b3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5h" + - "Z2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0" + - "ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVu" + - "YWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAg" + - "ICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFj" + - "ZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92" + - "ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZs" + - "b3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJ" + - "RyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQv" + - "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxl" + - "dGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxs" + - "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + - "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + - "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQg" + - "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3Qg" + - "ZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmln" + - "LCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0t" + - "aWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUg" + - "YWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBh" + - "bmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMg" + - "cmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIs" + - "CiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwg" + - "YnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3" + - "b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + - "ZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlh" + - "bWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + - "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBs" + - "YWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5l" + - "IHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + - "IHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5n" + - "b3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + - "dGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + - "aWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xv" + - "YmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + - "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + - "bG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBh" + - "cmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSBy" + - "ZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxl" + - "LWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rp" + - "b25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29s" + - "YXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZp" + - "Y2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBl" + - "bmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQg" + - "c2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRl" + - "ciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3" + - "byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0" + - "aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhl" + - "ciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0" + - "IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVk" + - "IGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25m" + - "aWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBh" + - "cmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3Jr" + - "ZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21w" + - "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9u" + - "LCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExN" + - "IGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVk" + - "LCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNl" + - "dCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2lu" + - "Z2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUg" + - "cmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNh" + - "bm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0" + - "aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdh" + - "eS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVk" + - "ZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdv" + - "cmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + - "cG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9s" + - "LXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUg" + - "d2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95" + - "ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxt" + - "LWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQg" + - "dGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAi" + - "U2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVl" + - "c3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwg" + - "bm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVh" + - "ZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQg" + - "cHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + - "OiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1m" + - "aWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhl" + - "IGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBv" + - "ciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0K" + - "XQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVz" + - "CgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMj" + - "IEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fz" + - "c2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMg" + - "KGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3" + - "aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZp" + - "bGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpg" + - "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6" + - "JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBv" + - "dmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhl" + - "IGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0" + - "cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1l" + - "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + - "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + - "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + - "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + - "YW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBj" + - "cHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAg" + - "ICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0" + - "ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55" + - "YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENv" + - "bmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEg" + - "Qml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3" + - "cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMg" + - "RXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2Vj" + - "cmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20g" + - "TkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1h" + - "Z2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBO" + - "R0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAg" + - "IHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRp" + - "YS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZp" + - "ZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1m" + - "aWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + - "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAn" + - "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5h" + - "bWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + - "b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + - "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + - "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + - "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + - "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + - "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDog" + - "QWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQt" + - "c3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUg" + - "Zm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxg" + - "OgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + - "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + - "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + - "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + - "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1" + - "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkg" + - "Zm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9y" + - "IGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBu" + - "dmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Et" + - "c3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNl" + - "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAg" + - "NTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2gg" + - "U2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIg" + - "UGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGlu" + - "IGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBp" + - "biB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVh" + - "ZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1u" + - "ICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAi" + - "bnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlm" + - "eToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwg" + - "Z3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZy" + - "b20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWlu" + - "c3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBz" + - "bGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJh" + - "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBD" + - "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + - "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBj" + - "bGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHBy" + - "b2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJl" + - "LW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIg" + - "dGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFt" + - "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlv" + - "biBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29u" + - "ZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQt" + - "ZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdu" + - "b3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBj" + - "bHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJl" + - "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + - "cHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBy" + - "dW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFs" + - "LiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1h" + - "bmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50" + - "ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5l" + - "bmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0" + - "YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4g" + - "bmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFu" + - "ZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUg" + - "aXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtl" + - "IC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + - "UGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + - "ZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xl" + - "YW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + - "IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAt" + - "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBj" + - "b21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBp" + - "biBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFu" + - "LWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0" + - "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5" + - "IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBp" + - "dHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgoj" + - "IyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAg" + - "bnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5h" + - "ZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3Rl" + - "cCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5k" + - "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQ" + - "b2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBh" + - "cyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZ" + - "X0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRz" + - "IHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRo" + - "IHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25m" + - "aWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFk" + - "ZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAs" + - "IGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZp" + - "ZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVm" + - "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRv" + - "ZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxk" + - "cyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0" + - "cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48" + - "ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBl" + - "bnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1u" + - "IG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2Vu" + - "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBE" + - "ZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJh" + - "dGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFU" + - "UywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVj" + - "dGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEt" + - "c3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9u" + - "ZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVj" + - "dG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3Vw" + - "PWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVs" + - "ZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2Vy" + - "dmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25h" + - "bCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxl" + - "ZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + - "aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + - "bGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwK" + - "fCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0" + - "IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5" + - "YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + - "ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5" + - "IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBh" + - "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERl" + - "cGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJl" + - "bGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5g" + - "IHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXIt" + - "cHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0" + - "aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQ" + - "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4S" + - "IyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5k" + - "IGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApw" + - "bGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rl" + - "ci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVj" + - "eWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVs" + - "bWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ug" + - "b2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0t" + - "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + - "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8" + - "IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + - "b3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlh" + - "bWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQg" + - "bXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29u" + - "c3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVw" + - "byBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0" + - "ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "a2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhv" + - "c2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cK" + - "CkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBk" + - "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + - "bnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2" + - "aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNy" + - "ZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4K" + - "CkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + - "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + - "KS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkg" + - "Y29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8g" + - "YEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRo" + - "ZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRl" + - "cm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0" + - "ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAg" + - "aXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQg" + - "TkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88" + - "ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVu" + - "ZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+" + - "IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9t" + - "YWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0" + - "MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + - "ICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9t" + - "YWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3" + - "YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBp" + - "Lm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAg" + - "IGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoK" + - "ICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + - "YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0" + - "ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1l" + - "c3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRl" + - "czoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQog" + - "ICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAg" + - "IG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + - "IGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6" + - "CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVy" + - "RGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBu" + - "dmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + - "OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAi" + - "cmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21h" + - "aW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBp" + - "dHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0" + - "ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + - "b2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "aW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + - "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJh" + - "cmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3Nl" + - "ZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + - "YmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNl" + - "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3" + - "YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hv" + - "c3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24u" + - "PGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoK" + - "SG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUu" + - "IGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWlj" + - "bXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBI" + - "b3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoK" + - "UmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1" + - "dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBO" + - "Q0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1o" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + - "ZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NM" + - "SV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + - "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + - "YW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1" + - "ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1" + - "c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNv" + - "bXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5" + - "IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUg" + - "dGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9s" + - "LXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkK" + - "Y29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + - "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + - "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + - "IC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kv" + - "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpV" + - "c2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21t" + - "YW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + - "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1j" + - "b250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + - "b2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1j" + - "bHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + - "bnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBv" + - "ciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFu" + - "ZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGgg" + - "aGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMK" + - "CkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0" + - "aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + - "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBg" + - "YAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZj" + - "YS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2Vj" + - "cmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3Bl" + - "cmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5" + - "c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBs" + - "aXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMu" + - "bWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQg" + - "R2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52" + - "b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3Bl" + - "cmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5l" + - "LWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3Rh" + - "dHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNh" + - "LXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNv" + - "bXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBk" + - "ZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUg" + - "ZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + - "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + - "bGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4g" + - "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + - "YmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3Rh" + - "Y2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + - "cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJv" + - "cnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNl" + - "IHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5n" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3Ig" + - "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVz" + - "IGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0" + - "ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21w" + - "dXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0" + - "ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24t" + - "dmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpS" + - "ZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + - "bGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + - "IGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0" + - "aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBw" + - "bGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1h" + - "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5W" + - "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + - "CgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9u" + - "IHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAg" + - "dXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAg" + - "cmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBz" + - "ZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZj" + - "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + - "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + - "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1j" + - "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + - "YS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQt" + - "Y2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJl" + - "dmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRp" + - "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVn" + - "aXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBs" + - "YW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBj" + - "b250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6" + - "CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNv" + - "bnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0" + - "ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYg" + - "PGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBk" + - "b3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + - "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + - "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + - "YWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5l" + - "LWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBm" + - "b3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBw" + - "bGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9s" + - "IHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZj" + - "vFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1" + - "Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9u" + - "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1h" + - "bmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0" + - "IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1B" + - "CgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQpr" + - "dWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + - "cCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywg" + - "dm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpg" + - "YGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApO" + - "QU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpj" + - "YXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBg" + - "YAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4u" + - "Li9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + - "aAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8" + - "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1" + - "bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNy" + - "LWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQ" + - "dWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBq" + - "c29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vydmlj" + - "ZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1u" + - "IDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBG" + - "aXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBg" + - "YGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + - "cyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1l" + - "PSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + - "ICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + - "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBw" + - "b2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1k" + - "XShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxs" + - "U2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1z" + - "ZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVs" + - "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBp" + - "biBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRl" + - "bGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGgg" + - "Y29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChW" + - "YXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAv" + - "MWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFE" + - "WSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAg" + - "MC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhl" + - "IGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcg" + - "Zm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBv" + - "ZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4K" + - "a3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9n" + - "cwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + - "bwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBs" + - "b2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMj" + - "IyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZl" + - "bnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9w" + - "ZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxt" + - "ZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoK" + - "CiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVs" + - "dC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJl" + - "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVu" + - "QmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0" + - "dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + - "ZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2Vu" + - "dC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1" + - "Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9u" + - "IEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJv" + - "dGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qg" + - "d2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAg" + - "IChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUg" + - "SldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNl" + - "QWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MK" + - "ICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2Qg" + - "bmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBi" + - "YXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + - "ZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5" + - "IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQg" + - "cHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdy" + - "YXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gK" + - "ICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBz" + - "ZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3Vl" + - "ckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUg" + - "am9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwog" + - "ICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRp" + - "c2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJh" + - "dGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVu" + - "aWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2gg" + - "UmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lE" + - "QyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQK" + - "ICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0" + - "aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVk" + - "IG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + - "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxl" + - "ZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNj" + - "cmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0" + - "IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhl" + - "bG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVz" + - "Lm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoK" + - "ICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgog" + - "ICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3Vy" + - "Y2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIg" + - "Y2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sg" + - "aW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBT" + - "VEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAw" + - "ICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMg" + - "Zm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWls" + - "YWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIw" + - "LzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVy" + - "c2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBz" + - "ZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQg" + - "ZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3Jl" + - "cCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9y" + - "YWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MK" + - "ICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0" + - "eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVw" + - "IC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVh" + - "c2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMg" + - "U2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZp" + - "bGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdy" + - "YXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJl" + - "bGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhl" + - "IGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ry" + - "b3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + - "IDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNy" + - "ZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9v" + - "dHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5j" + - "dGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJl" + - "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1" + - "YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRl" + - "ciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + - "IC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1" + - "YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVz" + - "ZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNy" + - "ZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFz" + - "ZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5" + - "IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBi" + - "YXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBg" + - "YGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdp" + - "c3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AK" + - "CiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBz" + - "ZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRl" + - "c3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWln" + - "bm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "ZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + - "ZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1" + - "Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5n" + - "cy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQg" + - "ICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0" + - "IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFy" + - "ZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3Rv" + - "bSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApl" + - "eHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBm" + - "aW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIk" + - "Q09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5p" + - "dGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8" + - "IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9" + - "IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2Vu" + - "ZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5h" + - "bGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBz" + - "dHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52" + - "Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + - "RV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAg" + - "ICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIk" + - "Q09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNl" + - "cy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5W" + - "Q0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29t" + - "cHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1l" + - "bnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQg" + - "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERp" + - "YWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlv" + - "biB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4g" + - "UmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3Rl" + - "cHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + - "aW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBv" + - "dGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNw" + - "ZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBu" + - "dmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxv" + - "Z3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0y" + - "MDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNr" + - "ZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywg" + - "dmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRo" + - "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1" + - "c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRd" + - "KHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRl" + - "d2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUg" + - "Y29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9h" + - "ZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2lu" + - "dC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAt" + - "biBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZh" + - "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + - "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + - "IgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1l" + - "bnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5h" + - "dHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVu" + - "dj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFt" + - "ZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVj" + - "dCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkg" + - "ZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFu" + - "ZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4" + - "YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXkt" + - "ZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5n" + - "CgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3Bh" + - "Y2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18Cnwg" + - "bmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2" + - "YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1z" + - "ZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJv" + - "dXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1" + - "ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdh" + - "eS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1n" + - "YXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwME" + - "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUg" + - "U3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVz" + - "LnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUu" + - "eWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAz" + - "LW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25h" + - "bCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + - "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + - "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMv" + - "CnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMg" + - "KHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + - "ICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpu" + - "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVu" + - "ZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50" + - "cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNo" + - "YXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + - "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + - "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + - "dCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVt" + - "cGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3Mg" + - "aGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxt" + - "ZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkg" + - "cHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5l" + - "IHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMu" + - "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAw" + - "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNl" + - "IHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRz" + - "IHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1z" + - "ZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRz" + - "IG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNh" + - "c3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVu" + - "ZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVu" + - "Y2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + - "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + - "LS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNl" + - "cyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxt" + - "LW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxt" + - "LW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5" + - "IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBo" + - "ZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhl" + - "bG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxt" + - "LXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hl" + - "bG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGkt" + - "Z2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNl" + - "cyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkg" + - "fCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2Yt" + - "Z2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBz" + - "ZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNl" + - "cyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxv" + - "bmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0" + - "ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5n" + - "cmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJp" + - "bGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8" + - "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5" + - "IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwK" + - "CkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50" + - "IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMj" + - "IGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVz" + - "LnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUg" + - "cmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBh" + - "ZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRl" + - "bXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxs" + - "IHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVl" + - "cz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0" + - "YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVu" + - "ZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2Uu" + - "TmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAt" + - "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + - "cmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFt" + - "ZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + - "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "IyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVu" + - "diAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAg" + - "LSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAg" + - "IGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChI" + - "ZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUn" + - "cyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZl" + - "cnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6" + - "IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVh" + - "c2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmls" + - "ZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVl" + - "cyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmly" + - "b25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25t" + - "ZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVy" + - "cmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAo" + - "Y29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+" + - "LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVl" + - "czpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xv" + - "YmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFk" + - "cyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZ" + - "QU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2Vz" + - "IHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgot" + - "IGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5" + - "LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5k" + - "cmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9i" + - "YWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3Rv" + - "cmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMu" + - "cmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + - "YXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBu" + - "YXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMj" + - "IyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1p" + - "Z3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2Vy" + - "dmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxl" + - "Y3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNl" + - "cnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVT" + - "ZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkg" + - "c2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFk" + - "ZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApg" + - "bGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0" + - "ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29y" + - "a2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBh" + - "ZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRg" + - "IHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlz" + - "IGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlp" + - "bmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQog" + - "ICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAg" + - "c2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRl" + - "cjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1v" + - "bml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25m" + - "aWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTog" + - "VW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRy" + - "dWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5v" + - "ZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBw" + - "bGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVm" + - "YXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0" + - "LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkg" + - "d2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQg" + - "aXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSBy" + - "ZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4g" + - "VGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWlu" + - "dGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24u" + - "CgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFs" + - "YW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhv" + - "ZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9n" + - "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVx" + - "dWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1h" + - "Z2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5" + - "IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBl" + - "eHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToK" + - "ICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50" + - "LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVn" + - "YWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGgg" + - "aXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmls" + - "aXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNv" + - "bmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5k" + - "IGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVz" + - "aCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1" + - "c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1l" + - "cmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRl" + - "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBj" + - "b21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxl" + - "IGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0" + - "YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlv" + - "biB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1" + - "cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBs" + - "b3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4g" + - "QWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBm" + - "dW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29y" + - "a2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGkt" + - "Z2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRl" + - "cgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxt" + - "LXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJl" + - "Y3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0" + - "aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3Nb" + - "Kl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRo" + - "ZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3Ig" + - "bG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rh" + - "cmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNm" + - "L2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2Vy" + - "LWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lm" + - "aWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + - "ZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBu" + - "YW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1p" + - "c3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5" + - "IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + - "cmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBg" + - "YWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0t" + - "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQA" + - "CAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpO" + - "VkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBV" + - "SS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sg" + - "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFi" + - "bGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkg" + - "YW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0" + - "aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNm" + - "VWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2Ug" + - "dGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBl" + - "bnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToK" + - "ICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxs" + - "IHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBv" + - "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + - "dGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + - "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVj" + - "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXIt" + - "c2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0t" + - "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwK" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUg" + - "ZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQg" + - "aXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0" + - "ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJl" + - "bGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkg" + - "dGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJv" + - "dXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gK" + - "a3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + - "QSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAi" + - "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5W" + - "Q0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4" + - "cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVz" + - "dGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2Yg" + - "dGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + - "AAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgoj" + - "IyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lz" + - "dHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdl" + - "UHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFu" + - "ZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0" + - "cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQg" + - "Y29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQg" + - "aW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBs" + - "YW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAg" + - "YW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVj" + - "b21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQg" + - "a3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRh" + - "dGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVh" + - "dGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0Pgpg" + - "YGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhw" + - "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + - "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9u" + - "ZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + - "ci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2Vy" + - "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + - "IFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + - "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9u" + - "ZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAs" + - "IGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFw" + - "cGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlv" + - "L3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2Vw" + - "dWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6" + - "IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFu" + - "eToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0g" + - "UG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAg" + - "ICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIK" + - "ICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0" + - "ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5h" + - "Z2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAg" + - "IG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52" + - "aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBz" + - "cGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52" + - "Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApg" + - "YGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBz" + - "ZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJv" + - "bC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0" + - "cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0" + - "ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3Jg" + - "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + - "dXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0t" + - "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + - "IFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZj" + - "YS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2Ug" + - "aXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFs" + - "OgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hh" + - "cnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9h" + - "ZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRo" + - "ZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVj" + - "ayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + - "PiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + - "IEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBh" + - "bm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + - "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEu" + - "YW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + - "fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwK" + - "ICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93" + - "ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRo" + - "ZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAog" + - "IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQK" + - "Ci0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBB" + - "bWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVz" + - "IGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyBy" + - "ZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3Jl" + - "ZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGgg" + - "bWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3Rp" + - "bmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9s" + - "aWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVy" + - "KiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJl" + - "Y3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVs" + - "ZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24g" + - "Y29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJl" + - "IFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFk" + - "ZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jv" + - "bmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlm" + - "eSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5h" + - "bWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAOs7bMEoQAABKEAAA" + - "EgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAA" + - "AAAAAAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5l" + - "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAO4MdpIRMAACETAAA0AAkAAAAAAAAAAAAAAFmH" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhANRSGeSDFwAAgxcAADcACQAAAAAAAAAAAAAA5ZoAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAADWsgAAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAA5cwAAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAABr8gAAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAJ0BAQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAOCCPFUiCAAAIggAADkACQAAAAAAAAAAAAAAZCsBAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAPYzAQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABWl" + - "QIzTJQAA0yUAADAACQAAAAAAAAAAAAAAP1YBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDJ+UVvaBAAAGgQAAAy" + - "AAkAAAAAAAAAAAAAAHl8AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhp" + - "dC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBKV0jLJFwAACRcAAAtAAkAAAAAAAAA" + - "AAAAAEqNAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAGriz82EhAABhIQAANwAJAAAAAAAAAAAAAADS6QEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAKELAgBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAE1uAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/" + - "KAAAfygAAC8ACQAAAAAAAAAAAAAAAsUCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAA" + - "AAAAAAAAAAAA5+0CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + - "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "tXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAAB8HgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "ExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAACjTwMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAAAoegMAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAV4IDAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + - "UEsFBgAAAAAXABcArwkAAMyYAwAAAA==" + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNo" + + "ZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9u" + + "bWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRs" + + "ZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0" + + "ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2Vy" + + "IHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUi" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJx" + + "dWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYt" + + "bWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUg" + + "aXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0" + + "aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQg" + + "YnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVk" + + "aW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2Vk" + + "LCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4g" + + "SXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFu" + + "ZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0" + + "IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZm" + + "LCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1" + + "cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + + "YWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3Ms" + + "IHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUt" + + "b25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFn" + + "aW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8g" + + "ZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBw" + + "aGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFu" + + "ZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5l" + + "IHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBh" + + "cmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFu" + + "ZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRy" + + "b2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24i" + + "OiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdp" + + "c3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSBy" + + "ZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJz" + + "dCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5l" + + "cmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRl" + + "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + + "LS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9u" + + "IGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3Vt" + + "ZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBo" + + "YW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJl" + + "Z2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJl" + + "Z2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rl" + + "ci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJU" + + "aGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRo" + + "ZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQg" + + "LS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9m" + + "aWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZh" + + "bHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUt" + + "Y2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2Vl" + + "cCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhl" + + "bG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRo" + + "IGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0" + + "cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290" + + "Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVh" + + "c2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAx" + + "NkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5k" + + "IHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRl" + + "IGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdv" + + "dGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBs" + + "aXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRo" + + "IGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAg" + + "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFU" + + "UywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5" + + "IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRo" + + "ZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95" + + "IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRl" + + "cGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0" + + "LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVu" + + "Y2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNz" + + "YW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQi" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJl" + + "bmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVz" + + "ZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBp" + + "bWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBp" + + "ZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBv" + + "ciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXgu" + + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVi" + + "dWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0" + + "byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVj" + + "a2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVj" + + "IGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhl" + + "IHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewog" + + "ICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rp" + + "b24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkg" + + "TlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBO" + + "QVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52" + + "b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5" + + "L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2Vy" + + "IGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZD" + + "RiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNz" + + "dWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5k" + + "IEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUg" + + "SUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJ" + + "dCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Vz" + + "IGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhl" + + "IGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZj" + + "YS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + + "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + + "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29u" + + "dHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdl" + + "bnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUg" + + "bnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdl" + + "bnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2Vy" + + "dmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2" + + "aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBn" + + "cnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQ" + + "SSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdh" + + "dGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2Vy" + + "LWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGlj" + + "aXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zlcnku" + + "ZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdh" + + "dGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21z" + + "X2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2Vy" + + "dmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwg" + + "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVy" + + "cmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlz" + + "dCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0" + + "IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNo" + + "YXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxp" + + "dCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93" + + "IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1l" + + "ZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lp" + + "bmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNv" + + "bmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRy" + + "b2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNl" + + "cnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZl" + + "Y3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + + "dGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBv" + + "d25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcg" + + "b24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFt" + + "ZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNl" + + "IHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFp" + + "bmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVm" + + "aXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0" + + "aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5v" + + "dCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBs" + + "aWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVk" + + "IGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBl" + + "cnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRo" + + "ZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0" + + "ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZp" + + "bGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFm" + + "dGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdp" + + "dGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIs" + + "CiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBw" + + "bGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0" + + "aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2" + + "ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9u" + + "IGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNo" + + "aXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVu" + + "Y2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdl" + + "ciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1l" + + "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBI" + + "ZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3Ro" + + "IEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0" + + "YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJk" + + "b3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNl" + + "ZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJh" + + "dGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5" + + "IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3Zh" + + "bCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVy" + + "LCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNl" + + "ZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4" + + "dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAog" + + "ICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRl" + + "IGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdp" + + "c3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXBy" + + "ZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9u" + + "bWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmls" + + "ZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4" + + "cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUws" + + "IGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQg" + + "dGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlz" + + "LCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxl" + + "YXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + + "dGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xv" + + "YmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUg" + + "YWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJv" + + "dWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdl" + + "Q2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0" + + "aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5l" + + "IHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFs" + + "dWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCBy" + + "ZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVw" + + "bG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xl" + + "LW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24g" + + "YW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBj" + + "b25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVx" + + "dWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBw" + + "b3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJ" + + "dCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlk" + + "ZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBj" + + "bHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0" + + "aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVk" + + "IGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZv" + + "ciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFp" + + "bnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hl" + + "ZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGlu" + + "c3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZp" + + "ZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5s" + + "bG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBm" + + "b3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVk" + + "IHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlu" + + "a2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9y" + + "IG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5k" + + "bGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRl" + + "eHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBp" + + "c29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdv" + + "cmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0" + + "aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21w" + + "dXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBv" + + "ciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZl" + + "cmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBS" + + "b3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3Vy" + + "ZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1" + + "ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0" + + "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIi" + + "OiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9w" + + "bWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1k" + + "ZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBk" + + "aWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFu" + + "ZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJv" + + "dmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQg" + + "Z3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIK" + + "ICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJ" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + + "IyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2Vu" + + "YXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBk" + + "ZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3Rh" + + "bmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2Rz" + + "IHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMg" + + "dmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBi" + + "YXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAn" + + "cmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3Rl" + + "cCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + + "cGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + + "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + + "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + + "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + + "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + + "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + + "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + + "YGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nh" + + "c3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIu" + + "eWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQ" + + "cmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBj" + + "YXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQu" + + "CgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0" + + "aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJl" + + "Y3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnks" + + "IHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9u" + + "bWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgog" + + "IGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0" + + "b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9z" + + "aXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkg" + + "KGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8g" + + "LXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52" + + "Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6" + + "IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19B" + + "UElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + + "cjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + + "bmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5z" + + "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZh" + + "dWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + + "cGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + + "CiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + + "dXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0t" + + "bmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMj" + + "IyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQg" + + "dGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNl" + + "LiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlh" + + "bWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAog" + + "IGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0" + + "ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + + "bAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + + "IH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAg" + + "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFty" + + "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZv" + + "ciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVz" + + "cGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQg" + + "b25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0" + + "IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4K" + + "CiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVw" + + "IDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBv" + + "cnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMg" + + "d2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFz" + + "aApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAg" + + "ICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAg" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNl" + + "YWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBb" + + "eyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwK" + + "YGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGlt" + + "ZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVk" + + "IGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93" + + "biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVk" + + "IGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0" + + "YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVz" + + "dHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklm" + + "IGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUt" + + "Y29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + + "bWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBE" + + "ZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJ" + + "RGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + + "bHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBj" + + "b25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2Yt" + + "Y2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxj" + + "bHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + + "IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5" + + "IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUg" + + "c3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4g" + + "TmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNl" + + "LiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBp" + + "cyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3Rp" + + "dmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4g" + + "Rm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2Vy" + + "dE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVh" + + "c2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4g" + + "T25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJv" + + "dmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBu" + + "b3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + + "aWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxN" + + "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29u" + + "ZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFu" + + "ZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDog" + + "VmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHlu" + + "YW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwg" + + "XAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMp" + + "JwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBS" + + "ZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lM" + + "TC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2Zm" + + "IGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9t" + + "IGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdh" + + "dGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVu" + + "ZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdB" + + "WV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + + "dGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0n" + + "ey5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBg" + + "YAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVw" + + "IGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVu" + + "Y2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFt" + + "ZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0" + + "byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5T" + + "LCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlf" + + "QUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxv" + + "eW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBv" + + "bmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1Nl" + + "cnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQg" + + "Q0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNo" + + "YW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUg" + + "c2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9y" + + "IHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJv" + + "dGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJI" + + "b3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdh" + + "eSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1v" + + "cGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5z" + + "dGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4" + + "YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Ig" + + "d2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxv" + + "eSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0" + + "YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + + "Y2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBs" + + "b3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5j" + + "ZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVs" + + "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZl" + + "ciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZv" + + "Y2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZh" + + "bCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBg" + + "bGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sg" + + "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdh" + + "dGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2th" + + "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxl" + + "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBM" + + "TE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1h" + + "cGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5l" + + "bmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5p" + + "dHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxl" + + "YXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZj" + + "Zi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVk" + + "ZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVs" + + "ZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9" + + "PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRt" + + "aW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFy" + + "Z2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJO" + + "QH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9s" + + "IHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhl" + + "IGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21w" + + "dXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUg" + + "ZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndp" + + "dGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93" + + "IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlm" + + "YWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBs" + + "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVk" + + "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJ" + + "IGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRv" + + "ZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1" + + "c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNp" + + "bmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1h" + + "bmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJz" + + "dGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "YCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZh" + + "bHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0" + + "aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVz" + + "LCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnks" + + "IHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFU" + + "UyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhh" + + "bXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1l" + + "bmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZv" + + "eSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMg" + + "cm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQg" + + "ZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNl" + + "cwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBI" + + "ZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5" + + "LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2" + + "ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZp" + + "cm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIK" + + "ICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3" + + "YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxn" + + "YXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxn" + + "YXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0" + + "aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAi" + + "aHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3" + + "YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAg" + + "Z2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBl" + + "bnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6" + + "IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAg" + + "ICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRz" + + "CiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJs" + + "ZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFp" + + "bj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVl" + + "CiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQog" + + "ICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoK" + + "ICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApn" + + "bG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNl" + + "VVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFk" + + "ZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJP" + + "dmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8v" + + "PGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdh" + + "dGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5l" + + "IGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2Vs" + + "Zi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + + "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRo" + + "cm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNv" + + "bmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tl" + + "eXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0" + + "cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+Igph" + + "cGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJp" + + "bnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21h" + + "aW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBV" + + "Ukwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1h" + + "bmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhl" + + "IEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBD" + + "TEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxs" + + "IHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1u" + + "YW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAg" + + "SUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + + "bXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBc" + + "CiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxj" + + "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhl" + + "IE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBh" + + "IG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQg" + + "b24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3lt" + + "ZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFs" + + "cmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBD" + + "TEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNv" + + "bnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAt" + + "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + + "ICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwg" + + "LS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3Qg" + + "LXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55" + + "YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUt" + + "cGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + + "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0" + + "ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "L291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1" + + "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + + "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + + "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + + "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAt" + + "LXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5l" + + "LWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGlu" + + "LWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUg" + + "Y29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBv" + + "aW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVs" + + "bCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVz" + + "cGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5" + + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + + "bWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9u" + + "bHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmlt" + + "YWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hh" + + "cnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + + "byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRy" + + "b2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVs" + + "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhl" + + "IGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkg" + + "XAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVu" + + "dC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25w" + + "YXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3Jl" + + "dD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3Rl" + + "ciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5k" + + "b2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGln" + + "aHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3Bh" + + "Y2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5h" + + "bC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGlu" + + "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRh" + + "dGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFu" + + "IG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + + "bmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRl" + + "IGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0" + + "aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9O" + + "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + + "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVn" + + "aXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNz" + + "aW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + + "dmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0" + + "aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBk" + + "ZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhl" + + "CmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + + "b25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSBy" + + "ZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFj" + + "ZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZs" + + "b3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1u" + + "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1" + + "c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdp" + + "c3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6Cgpg" + + "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + + "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0" + + "dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0t" + + "bmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxp" + + "c3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMs" + + "IHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0" + + "aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRo" + + "ZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUg" + + "Y29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFs" + + "cyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNh" + + "bWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + + "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + + "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMt" + + "dXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmln" + + "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + + "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29t" + + "cHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVh" + + "dCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0" + + "IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0" + + "aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1h" + + "aW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQAB" + + "AKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4" + + "aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0" + + "YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwpr" + + "dWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFj" + + "ZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhl" + + "bG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBm" + + "YWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxh" + + "c3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNv" + + "bmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxw" + + "b2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMK" + + "CmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFS" + + "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAg" + + "ICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAi" + + "bnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBD" + + "aGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBz" + + "ZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMg" + + "aGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYg" + + "dGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxz" + + "YS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScK" + + "YGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0" + + "ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + + "IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + + "UElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4" + + "aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1h" + + "Z2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwt" + + "c2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0" + + "IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBp" + + "LCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2Rz" + + "LiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3Jl" + + "ZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAg" + + "a3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNy" + + "ZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAv" + + "MSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBp" + + "biBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAg" + + "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3" + + "ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFn" + + "bm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3Rv" + + "ciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJl" + + "Y3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlv" + + "biBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5C" + + "YW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0w" + + "IC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9k" + + "Cmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWlu" + + "aXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNr" + + "IHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRj" + + "LgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMg" + + "d2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5j" + + "IG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1l" + + "c3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0" + + "ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAK" + + "CjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1" + + "bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVt" + + "IG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipg" + + "dmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtu" + + "b3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAg" + + "KGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJs" + + "aXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3" + + "dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVi" + + "bGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1" + + "ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWdu" + + "ZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkg" + + "c2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFu" + + "ZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlv" + + "ciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5" + + "LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVy" + + "IGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAog" + + "ICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBz" + + "byB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6Cgog" + + "ICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52" + + "Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAg" + + "ICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVj" + + "dGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwog" + + "ICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2Vy" + + "dmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBS" + + "ZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3Blbmlk" + + "LWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgog" + + "ICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUg" + + "YW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBj" + + "bHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFs" + + "d2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5u" + + "b3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6" + + "IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAg" + + "ICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAg" + + "ICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1" + + "YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVw" + + "IC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3Vy" + + "Y2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSgu" + + "Li9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAg" + + "ICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICBy" + + "ZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90" + + "ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRy" + + "YSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQ" + + "b2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAg" + + "IFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQ" + + "ZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hl" + + "Y2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1u" + + "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVz" + + "IGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5p" + + "dHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5" + + "IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgox" + + "LiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVu" + + "dmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxh" + + "YmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjog" + + "Q2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3Rv" + + "cmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5v" + + "ZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5h" + + "bWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTog" + + "SGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0g" + + "bGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5p" + + "bmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qg" + + "d29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBo" + + "aXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBk" + + "ZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoK" + + "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxl" + + "YXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRl" + + "IG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFj" + + "ZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBB" + + "Y2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxv" + + "eSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBq" + + "b2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9i" + + "IHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRl" + + "bGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50" + + "LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNm" + + "IC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBD" + + "b21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFs" + + "cyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQ" + + "SV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAog" + + "ICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9T" + + "VFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkt" + + "eHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFj" + + "aCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3Jl" + + "ZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVu" + + "IHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1z" + + "ZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYm" + + "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUg" + + "bmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRl" + + "IHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBD" + + "bGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNs" + + "ZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gK" + + "a3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZj" + + "Zi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9u" + + "bHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUt" + + "cGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFj" + + "a2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoK" + + "CmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoK" + + "IyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0t" + + "Y29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwg" + + "XAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEu" + + "bmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUv" + + "Kn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2gg" + + "bnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRh" + + "XCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3Jj" + + "ZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZv" + + "ciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4" + + "dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9u" + + "dWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0t" + + "Y29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3Yx" + + "L25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBG" + + "YWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMK" + + "CkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9y" + + "YCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6" + + "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBk" + + "ZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpg" + + "YGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBp" + + "bnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9m" + + "aWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFs" + + "bGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + + "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2Zm" + + "IGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwg" + + "ZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRv" + + "ciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRv" + + "ciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkg" + + "ZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3Bl" + + "cmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1g" + + "OyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1z" + + "ZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFp" + + "bHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRo" + + "cm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkg" + + "b3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBu" + + "ZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNm" + + "LWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJl" + + "c3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGku" + + "PGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9B" + + "RERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxp" + + "dCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFs" + + "U2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91" + + "dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9y" + + "IHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVw" + + "ZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lz" + + "dHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9m" + + "Zi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20t" + + "YS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZp" + + "Y2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hp" + + "Y2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0t" + + "LS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3Nh" + + "bmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGlu" + + "dm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0t" + + "cmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywg" + + "YWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVu" + + "dm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8" + + "CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7Uw" + + "AAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIj" + + "IEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJh" + + "c2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRl" + + "cGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwt" + + "LSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MK" + + "fCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFj" + + "ayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAg" + + "ICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxl" + + "bnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwt" + + "LSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRp" + + "dmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290" + + "bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0" + + "IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwt" + + "LSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5" + + "IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1v" + + "cGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwg" + + "ICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwg" + + "ZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXIt" + + "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + + "ICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhl" + + "c2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRz" + + "LiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVz" + + "LiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29u" + + "dHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhl" + + "CmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + + "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVh" + + "c2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8" + + "IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0t" + + "LS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8" + + "IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVt" + + "IHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhl" + + "bG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBg" + + "PDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3Vw" + + "OiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFz" + + "ZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0t" + + "LS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlz" + + "IHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8Cnwg" + + "YXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2" + + "aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + + "Z3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBl" + + "c3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNl" + + "cnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJl" + + "dmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVy" + + "IHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwK" + + "fCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNz" + + "dWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jl" + + "c3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNz" + + "IHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBM" + + "TE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0" + + "aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRo" + + "ZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5" + + "YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAz" + + "LW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNl" + + "IHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2Jz" + + "ZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2" + + "YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBl" + + "bnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJp" + + "dGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRl" + + "cGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVz" + + "IGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3Rz" + + "LiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNl" + + "cyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1p" + + "bmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJp" + + "dmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBo" + + "ZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRl" + + "czoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7" + + "IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + + "cGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9F" + + "TlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBi" + + "b3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0g" + + "Li4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + + "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWlu" + + "Y2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6" + + "CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBp" + + "bmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAu" + + "IEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1l" + + "OiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAt" + + "IHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVy" + + "aXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3Mg" + + "dmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQu" + + "CgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToK" + + "CjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFs" + + "bCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJv" + + "bm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHBy" + + "b2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZh" + + "dGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5s" + + "aW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgoj" + + "IyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdv" + + "dG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYt" + + "c3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBv" + + "bmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENh" + + "c3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipg" + + "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAK" + + "LSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3Jg" + + "IChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwu" + + "ZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4q" + + "YAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1h" + + "Z2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNz" + + "TmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVu" + + "YWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBg" + + "b3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBv" + + "cGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAot" + + "IE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRj" + + "LikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2" + + "aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNl" + + "cnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUg" + + "dGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgK" + + "YGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91" + + "dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9t" + + "YWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25m" + + "aWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRp" + + "dGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxs" + + "bS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVy" + + "LCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVm" + + "b3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJs" + + "ZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNz" + + "OgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJl" + + "cXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAg" + + "IHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgog" + + "IG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAg" + + "ICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0lu" + + "c2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9y" + + "IHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRs" + + "eSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2Vk" + + "IHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRv" + + "IHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZh" + + "bHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIg" + + "dHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMs" + + "IHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZp" + + "Z3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5h" + + "YmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBw" + + "cm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBu" + + "byBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91" + + "dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmdd" + + "KGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFn" + + "ZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBz" + + "aWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFn" + + "ZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVj" + + "YXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNv" + + "bmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91" + + "dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBg" + + "YAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lN" + + "QUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUg" + + "Y29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhl" + + "IHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoK" + + "UmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0" + + "aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + + "IGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2Vu" + + "dENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUg" + + "Y29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpD" + + "TEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVs" + + "bWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBM" + + "TE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRh" + + "ZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2Rz" + + "IG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHls" + + "b24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBs" + + "b3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0" + + "ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZj" + + "ZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVx" + + "dWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1n" + + "YXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3Jl" + + "cCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAg" + + "LW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtl" + + "ciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNs" + + "dXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1" + + "cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNl" + + "ZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9O" + + "VklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9h" + + "ZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFy" + + "Z2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdy" + + "b3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5" + + "IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + + "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRl" + + "IG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBg" + + "YAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJl" + + "bC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAA" + + "CioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBV" + + "SSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRt" + + "aW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5" + + "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdo" + + "ZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWlu" + + "LXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + + "ZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNl" + + "CmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2Ug" + + "YSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJs" + + "ZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoK" + + "ICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQg" + + "aW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVs" + + "bCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFz" + + "aAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRl" + + "IHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1r" + + "ZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + + "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9" + + "bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + + "CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRo" + + "ZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2Vydmlj" + + "ZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBu" + + "dmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6" + + "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVy" + + "aWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6" + + "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBo" + + "dHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48" + + "ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJp" + + "dHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQu" + + "IERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNz" + + "IHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGlu" + + "IGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAA" + + "AAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + + "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJl" + + "ZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJp" + + "dmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5l" + + "ZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNv" + + "bXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0" + + "ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJl" + + "Y29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0" + + "aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUg" + + "Y29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Et" + + "b3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBw" + + "cm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxt" + + "IHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxt" + + "IHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZl" + + "cm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpg" + + "YGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGlu" + + "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + + "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBs" + + "eSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + + "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + + "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1k" + + "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5H" + + "Q19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + + "IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBs" + + "eSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tl" + + "ci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4K" + + "CiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjog" + + "a3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2Yt" + + "YWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgog" + + "ICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoK" + + "ICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAg" + + "ICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNm" + + "IgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAg" + + "ICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNz" + + "YW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + + "ImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6" + + "CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAg" + + "ICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwog" + + "ICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAg" + + "LSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9s" + + "aWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUg" + + "d2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENv" + + "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + + "IE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZl" + + "cm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4K" + + "CiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNh" + + "LW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0" + + "b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + + "ZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + + "YXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFt" + + "ZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoK" + + "UmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5" + + "YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBg" + + "YAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3Bl" + + "cmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3Jl" + + "YXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBi" + + "YXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2Vj" + + "cmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4g" + + "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxT" + + "ZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhl" + + "IEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7" + + "Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1p" + + "bmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFt" + + "ZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBT" + + "aG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoK" + + "IyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNy" + + "LWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBO" + + "b3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9k" + + "ZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwg" + + "S3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0g" + + "KipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1" + + "aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJl" + + "IEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJv" + + "dWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFw" + + "cGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0" + + "ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8g" + + "dHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNv" + + "bnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8g" + + "YWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2Rz" + + "IHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xp" + + "Y3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBg" + + "YAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3Jl" + + "ZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNy" + + "ZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhANLe" + + "97lKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoR" + + "AAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9j" + + "aS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEADuDHaSETAAAhEwAANAAJAAAA" + + "AAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1" + + "c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDUUhnkgxcAAIMXAAA3AAkAAAAAAAAAAAAA" + + "AOWaAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5l" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA1rIA" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAOXMAABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAa/IAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRV" + + "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAACdAQEAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQDggjxVIggAACIIAAA5AAkAAAAAAAAAAAAAAGQrAQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAD2MwEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAD9WAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflF" + + "b2gQAABoEAAAMgAJAAAAAAAAAAAAAAC8fAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + + "ZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEASldIyyRcAAAkXAAA" + + "LQAJAAAAAAAAAAAAAACNjQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2Zs" + + "YWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAA" + + "FeoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3Rpbmcu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAADkCwIA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAACQbgIAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAEXFAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAA" + + "ABIwAABMAAkAAAAAAAAAAAAAACruAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "bi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAvx4DAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAA5k8DAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEA" + + "ps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAa3oDAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAJqCAwBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + + "ZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAAPmQMAAAA=" var ( skillDataOnce sync.Once From 86e8b1c5c850dace668e63ab5ff35ed9f25558a8 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 10:57:56 +0530 Subject: [PATCH 115/127] docs(nvcf-cli): pass a per-context kubeconfig instead of switching the current context in skill examples Signed-off-by: rohithb --- .../examples/multi-cluster.md | 46 +- .../prompts/add-compute-plane.md | 14 +- .../prompts/rotate-cluster-jwks.md | 10 +- .../agentskill/skilldata_generated.go | 7083 +++++++++-------- 4 files changed, 3589 insertions(+), 3564 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md index 4c4d9d2067..277052575e 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md @@ -49,20 +49,20 @@ The operator has kubectl access to ONE compute plane only — the control plane nvcf-cli init --api-url=https://api.nvcf.example.com # Run pre-flight scoped to the compute plane only. check takes both context -# flags or neither, so select the compute cluster as the current context of -# a kubeconfig for this command. --compute-plane checks the compute plane as -# installed, so a docker login nvcr.io rejects fails only when NGC_API_KEY -# does not work in its place: treat a registry-credentials row that says the -# docker login was rejected as blocking, since compute-plane install pulls -# its charts with that login. With a control-plane context, check -# --pre --control-plane checks the new compute plane as not yet installed -# instead; see prompts/add-compute-plane.md. -KCFG=$(mktemp) -kubectl config view --minify --flatten --context=admin@gpu1 > "$KCFG" -KUBECONFIG="$KCFG" nvcf-cli self-hosted check --compute-plane \ +# flags or neither and has no --kubeconfig flag, so give it, through +# KUBECONFIG for this command only, a kubeconfig holding just the compute +# cluster's context. The current context of your kubeconfig stays as it was. +# --compute-plane checks the compute plane as installed, so a docker login +# nvcr.io rejects fails only when NGC_API_KEY does not work in its place: +# treat a registry-credentials row that says the docker login was rejected +# as blocking, since compute-plane install pulls its charts with that login. +# With a control-plane context, check --pre --control-plane checks the new +# compute plane as not yet installed instead; see prompts/add-compute-plane.md. +KC=$(mktemp) +kubectl config view --minify --flatten --context=admin@gpu1 > "$KC" +KUBECONFIG="$KC" nvcf-cli self-hosted check --compute-plane \ --icms-url=https://icms.nvcf.example.com \ --json -rm -f "$KCFG" # Register and install just the compute plane, from the profile the # control-plane operator exported with `self-hosted control-plane profile export`, @@ -79,11 +79,13 @@ nvcf-cli self-hosted compute-plane install \ --kube-context=admin@gpu1 \ --cluster-name=my-compute-1 -# Status of the current context, admin@gpu1 (compute-only: the operator -# can't see control-plane component health): -nvcf-cli self-hosted status \ +# Status of admin@gpu1, from the same kubeconfig (compute-only: the operator +# can't see control-plane component health). Then remove the file, which +# holds the context's credentials: +KUBECONFIG="$KC" nvcf-cli self-hosted status \ --cluster-name=my-compute-1 \ --icms-url=https://icms.nvcf.example.com +rm -f "$KC" ``` ## Functions targeting specific compute planes @@ -113,13 +115,17 @@ The `clusters` array (using cluster names, not IDs) limits scheduling to those c nvcf-cli cluster list-registered --nca-id=$NCA_ID --icms-url=$ICMS --json \ | jq -r '.clusters[].clusterName' > clusters.txt -# Status snapshot per compute plane (assuming each context name matches): +# Status snapshot per compute plane (assuming each context name matches). +# Each run reads a temporary kubeconfig holding only that cluster's context, +# so the loop leaves the current context of your kubeconfig alone: while read NAME; do echo "=== $NAME ===" - kubectl config use-context "admin@$NAME" >/dev/null - nvcf-cli self-hosted status \ - --cluster-name=$NAME \ - --json | jq -c '{cluster:.cluster, verdict:.verdict, reconcile:.reconcileAgeSec}' + KC=$(mktemp) + kubectl config view --minify --flatten --context="admin@$NAME" > "$KC" && + KUBECONFIG="$KC" nvcf-cli self-hosted status \ + --cluster-name=$NAME \ + --json | jq -c '{cluster:.cluster, verdict:.verdict, reconcile:.reconcileAgeSec}' + rm -f "$KC" done < clusters.txt ``` diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index d8a579c38e..fe3b2c2a6d 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -44,16 +44,18 @@ User has a working NVCF control plane (running somewhere) and wants to register fails it too. SIS reachability is not probed before install. Without a context for the control-plane cluster, check the new cluster - alone with `--compute-plane`, through a kubeconfig whose current context - is the new cluster: + alone with `--compute-plane`. `check` takes both context flags or neither + and has no `--kubeconfig` flag, so give it, through `KUBECONFIG` for this + command only, a temporary kubeconfig holding just the new GPU cluster's + context. The current context of the user's kubeconfig stays as it was: ```sh - KCFG=$(mktemp) - kubectl config view --minify --flatten --context="$CTX" > "$KCFG" - KUBECONFIG="$KCFG" nvcf-cli self-hosted check --compute-plane \ + KC=$(mktemp) + kubectl config view --minify --flatten --context="$CTX" > "$KC" + KUBECONFIG="$KC" nvcf-cli self-hosted check --compute-plane \ --icms-url=$ICMS \ --json 2>&1 >/dev/null | grep '^{' > check.jsonl - rm -f "$KCFG" + rm -f "$KC" jq -se 'any(.[]; .event == "final" and .success)' check.jsonl ``` diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md index 243647b72f..b2fbd9a684 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/rotate-cluster-jwks.md @@ -12,14 +12,16 @@ User says NVCA stopped authenticating, or PSAT auth is 401-ing against ICMS. The 1. Confirm the cluster ID. Run `nvcf-cli cluster list-registered --nca-id=$NCA_ID --icms-url=$ICMS`. Identify the row matching the user's compute plane. -2. **Rotate.** From a context that can reach the compute plane's K8s API (because rotation re-fetches the K8s API's `/openid/v1/jwks`): +2. **Rotate.** Use a context that can reach the compute plane's K8s API (because rotation re-fetches the K8s API's `/openid/v1/jwks`). Write that context alone to a temporary kubeconfig and pass it with `--kubeconfig`, so the current context of your kubeconfig stays as it was: ```sh - kubectl config use-context - nvcf-cli cluster rotate --cluster-id= + KC=$(mktemp) + kubectl config view --minify --flatten --context= > "$KC" && + nvcf-cli cluster rotate --cluster-id= --kubeconfig="$KC" + rm -f "$KC" ``` - `cluster rotate` reads the current context, or the one `--kubeconfig=` selects. It re-fetches JWKS from the compute plane's K8s API and PUTs it to ICMS. The cluster ID stays the same. + `cluster rotate` re-fetches JWKS from the compute plane's K8s API and PUTs it to ICMS. The cluster ID stays the same. The temporary file holds the context's credentials: `mktemp` makes it readable only by you, and `rm` removes it. 3. **Verify.** `nvcf-cli cluster get --cluster-id=` — confirm `updatedAt` advanced. Then `kubectl logs -n nvca-system -l app.kubernetes.io/name=nvca --tail=20` — register attempts should succeed (200, not 401). diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index cd05754506..030ec983aa 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMjkxNDIsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzAwMTIsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -39,12 +39,12 @@ const skillDataZipBase64 = "" + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NmQyZWY5YTZmYzcwZTM1ZjhiNGQ5ZWQ5" + "NTc5MTczMTJjZjE5YmQ3NmM1MzY4OTYzNTMwZTVhNDBlMWU3Zjg5IiwKICAgICAgInNpemUiOiA0" + "Mzk0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiNGZhYzM0NWQ5NDcxYWQ3" + - "NzFiM2MxNmNiZWJjMmQ0OWIzMGY2ZjVkMjQ0MzFiMDQ4YzdlODU4NzliYzEwMjgzYiIsCiAgICAg" + - "ICJzaXplIjogNDg5NwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogImE5" + - "MmIzYmRlMmU0ZGVjNWFiOWJlZjM0YzcyY2UwYWM1OTNjMGNiNmRlOWMzOWM3YTlhMDc5OTRlMzc4" + - "ZDc4ZTQiLAogICAgICAic2l6ZSI6IDYwMTkKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiMTA0NjMxNTI0NTdhZWYz" + + "MWRmOTdhMzEyOWE0OGViNzlhYjFmYTZiM2M5ZjkwOTA1NzU1ZDg2YTlmMDU2MDQxOSIsCiAgICAg" + + "ICJzaXplIjogNTMwMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjgz" + + "ZjE2NDQ3OTQ3NTVlMGVjZDRkZGU3NzM5ODZhYjZkNDRlNjkwYjQ5YzdkOGZmNGQ0NjE1Y2FiZTFm" + + "OGVhYjciLAogICAgICAic2l6ZSI6IDYyMTUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -59,8 +59,8 @@ const skillDataZipBase64 = "" + "IjogImQxMmE1N2UwNGM4NmYzZTQ4NTZkNjcyMWM4ODk1OGE1ZmE2M2RjMzg5ZWRkMzNmZTliYTRh" + "Y2RkMzcwYWUyNTgiLAogICAgICAic2l6ZSI6IDEwNTgyCiAgICB9LAogICAgewogICAgICAicGF0" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1k" + - "IiwKICAgICAgInNoYTI1NiI6ICJhNmQ2ZDIwNmY1YTZiNWI3NWU2NjQ1YjljNjNmZjY1NmJlODkz" + - "Yjc0M2VhNTg5YzMzNmExNzM1M2UzYWZhNWU1IiwKICAgICAgInNpemUiOiAyMDgyCiAgICB9LAog" + + "IiwKICAgICAgInNoYTI1NiI6ICJkYTQ0ZjA3NjU2MWYwYjIxZDkxY2ViZTgwYmM3MDBjMzFhYzZj" + + "YWVjMzM0ZTQ2OGYzMTVkODFlOWU1OGUwZTVjIiwKICAgICAgInNpemUiOiAyMzUwCiAgICB9LAog" + "ICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93" + "bi5tZCIsCiAgICAgICJzaGEyNTYiOiAiMWE2NmI5YTM3MmJmOTI3NjQzOTdjOWVmMzliNzNlNDZm" + "NzE2M2ExNTgyMzgzZjFkNGJiNDE4ZThjM2Q2M2QwMyIsCiAgICAgICJzaXplIjogODY3NgogICAg" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCNLe97lKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCOwQjqxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -675,3541 +675,3556 @@ const skillDataZipBase64 = "" + "IGt1YmVjdGwgYWNjZXNzIG5lZWRlZCk6Cm52Y2YtY2xpIGluaXQgLS1hcGktdXJsPWh0dHBzOi8v" + "YXBpLm52Y2YuZXhhbXBsZS5jb20KCiMgUnVuIHByZS1mbGlnaHQgc2NvcGVkIHRvIHRoZSBjb21w" + "dXRlIHBsYW5lIG9ubHkuIGNoZWNrIHRha2VzIGJvdGggY29udGV4dAojIGZsYWdzIG9yIG5laXRo" + - "ZXIsIHNvIHNlbGVjdCB0aGUgY29tcHV0ZSBjbHVzdGVyIGFzIHRoZSBjdXJyZW50IGNvbnRleHQg" + - "b2YKIyBhIGt1YmVjb25maWcgZm9yIHRoaXMgY29tbWFuZC4gLS1jb21wdXRlLXBsYW5lIGNoZWNr" + - "cyB0aGUgY29tcHV0ZSBwbGFuZSBhcwojIGluc3RhbGxlZCwgc28gYSBkb2NrZXIgbG9naW4gbnZj" + - "ci5pbyByZWplY3RzIGZhaWxzIG9ubHkgd2hlbiBOR0NfQVBJX0tFWQojIGRvZXMgbm90IHdvcmsg" + - "aW4gaXRzIHBsYWNlOiB0cmVhdCBhIHJlZ2lzdHJ5LWNyZWRlbnRpYWxzIHJvdyB0aGF0IHNheXMg" + - "dGhlCiMgZG9ja2VyIGxvZ2luIHdhcyByZWplY3RlZCBhcyBibG9ja2luZywgc2luY2UgY29tcHV0" + - "ZS1wbGFuZSBpbnN0YWxsIHB1bGxzCiMgaXRzIGNoYXJ0cyB3aXRoIHRoYXQgbG9naW4uIFdpdGgg" + - "YSBjb250cm9sLXBsYW5lIGNvbnRleHQsIGNoZWNrCiMgLS1wcmUgLS1jb250cm9sLXBsYW5lIGNo" + - "ZWNrcyB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgYXMgbm90IHlldCBpbnN0YWxsZWQKIyBpbnN0ZWFk" + - "OyBzZWUgcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZC4KS0NGRz0kKG1rdGVtcCkKa3ViZWN0" + - "bCBjb25maWcgdmlldyAtLW1pbmlmeSAtLWZsYXR0ZW4gLS1jb250ZXh0PWFkbWluQGdwdTEgPiAi" + - "JEtDRkciCktVQkVDT05GSUc9IiRLQ0ZHIiBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNv" + - "bXB1dGUtcGxhbmUgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20g" + - "XAogIC0tanNvbgpybSAtZiAiJEtDRkciCgojIFJlZ2lzdGVyIGFuZCBpbnN0YWxsIGp1c3QgdGhl" + - "IGNvbXB1dGUgcGxhbmUsIGZyb20gdGhlIHByb2ZpbGUgdGhlCiMgY29udHJvbC1wbGFuZSBvcGVy" + - "YXRvciBleHBvcnRlZCB3aXRoIGBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhw" + - "b3J0YCwKIyBzYXZlZCBoZXJlIGFzIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sOgpudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "cHJvZmlsZT1jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWU9bXkt" + - "Y29tcHV0ZS0xIFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0" + - "dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0t" + - "b3V0cHV0PW15LWNvbXB1dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbApudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzPW15LWNvbXB1dGUtMS1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1jbHVz" + - "dGVyLW5hbWU9bXktY29tcHV0ZS0xCgojIFN0YXR1cyBvZiB0aGUgY3VycmVudCBjb250ZXh0LCBh" + - "ZG1pbkBncHUxIChjb21wdXRlLW9ubHk6IHRoZSBvcGVyYXRvcgojIGNhbid0IHNlZSBjb250cm9s" + - "LXBsYW5lIGNvbXBvbmVudCBoZWFsdGgpOgpudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgXAog" + - "IC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMu" + - "bnZjZi5leGFtcGxlLmNvbQpgYGAKCiMjIEZ1bmN0aW9ucyB0YXJnZXRpbmcgc3BlY2lmaWMgY29t" + - "cHV0ZSBwbGFuZXMKCldoZW4geW91IGhhdmUgbXVsdGlwbGUgY29tcHV0ZSBwbGFuZXMgYW5kIHdh" + - "bnQgYSBmdW5jdGlvbiB0byBkZXBsb3kgdG8gb25lOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQi" + - "OiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVj" + - "aWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJO" + - "Q1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2Vz" + - "IjogMSwKICAgICJjbHVzdGVycyI6IFsiZ3B1LWVhc3QtMSJdCiAgfV0KfQpgYGAKClRoZSBgY2x1" + - "c3RlcnNgIGFycmF5ICh1c2luZyBjbHVzdGVyIG5hbWVzLCBub3QgSURzKSBsaW1pdHMgc2NoZWR1" + - "bGluZyB0byB0aG9zZSBjb21wdXRlIHBsYW5lcy4gT21pdCB0byBsZXQgSUNNUyBjaG9vc2UgYW55" + - "IGNvbXB1dGUgcGxhbmUgd2l0aCBhIG1hdGNoaW5nIFNLVS4KCiMjIFN0YXR1cyBmYW4tb3V0IGFj" + - "cm9zcyBjb21wdXRlIHBsYW5lcwoKYGBgc2gKIyBMaXN0IGFsbCByZWdpc3RlcmVkIGNvbXB1dGUg" + - "cGxhbmVzOgpudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lE" + - "IC0taWNtcy11cmw9JElDTVMgLS1qc29uIFwKICB8IGpxIC1yICcuY2x1c3RlcnNbXS5jbHVzdGVy" + - "TmFtZScgPiBjbHVzdGVycy50eHQKCiMgU3RhdHVzIHNuYXBzaG90IHBlciBjb21wdXRlIHBsYW5l" + - "IChhc3N1bWluZyBlYWNoIGNvbnRleHQgbmFtZSBtYXRjaGVzKToKd2hpbGUgcmVhZCBOQU1FOyBk" + - "bwogIGVjaG8gIj09PSAkTkFNRSA9PT0iCiAga3ViZWN0bCBjb25maWcgdXNlLWNvbnRleHQgImFk" + - "bWluQCROQU1FIiA+L2Rldi9udWxsCiAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwKICAg" + - "IC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgIC0tanNvbiB8IGpxIC1jICd7Y2x1c3RlcjouY2x1" + - "c3RlciwgdmVyZGljdDoudmVyZGljdCwgcmVjb25jaWxlOi5yZWNvbmNpbGVBZ2VTZWN9Jwpkb25l" + - "IDwgY2x1c3RlcnMudHh0CmBgYAoKQSBmdXR1cmUgTSsxMSBtaWxlc3RvbmUgd2lsbCBhZGQgbmF0" + - "aXZlIGZhbi1vdXQgKGBzdGF0dXMgLS1hbGwtY29tcHV0ZS1wbGFuZXNgKSBzbyB0aGlzIGRvZXNu" + - "J3QgbmVlZCBhIHNoZWxsIGxvb3AuClBLBwgO4MdpIRMAACETAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRl" + - "LXBsYW5lLm1kVVQFAAEAps4SIyBBZGQgYSBjb21wdXRlIHBsYW5lIHRvIGFuIGV4aXN0aW5nIGNv" + - "bnRyb2wgcGxhbmUKClVzZXIgaGFzIGEgd29ya2luZyBOVkNGIGNvbnRyb2wgcGxhbmUgKHJ1bm5p" + - "bmcgc29tZXdoZXJlKSBhbmQgd2FudHMgdG8gcmVnaXN0ZXIgYSBuZXcgR1BVIGNsdXN0ZXIgYWdh" + - "aW5zdCBpdC4gVGhpcyBpcyB0aGUgbXVsdGktY2x1c3RlciBzY2FsaW5nIHBhdGg6IG9uZSBjb250" + - "cm9sIHBsYW5lIOKGkiBOIGNvbXB1dGUgcGxhbmVzLgoKIyMgUHJlcmVxdWlzaXRlcyB0aGUgdXNl" + - "ciBtdXN0IGhhdmUKCi0gKiprdWJlY3RsIGNvbnRleHQgZm9yIHRoZSBuZXcgY29tcHV0ZSBwbGFu" + - "ZSoqIGluIHRoZWlyIGBLVUJFQ09ORklHYCwgYW5kCiAgaWRlYWxseSBvbmUgZm9yIHRoZSBjb250" + - "cm9sLXBsYW5lIGNsdXN0ZXIgdG9vLCBmb3IgdGhlIHByZS1mbGlnaHQgaW4KICBzdGVwIDIuCi0g" + - "KipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3RpbmcgY29udHJvbCBwbGFuZSAoZS5nLiBg" + - "aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAqKkFkbWluIEpXVCoqIGZvciB0aGUg" + - "Y29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkgdG8gbWludCBvbmUgdmlhIGBudmNm" + - "LWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5lJ3MgcHVibGljIGFwaSBlbmRwb2lu" + - "dC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBLZXlzIHNlcnZpY2UgdmlhIHRoZSBw" + - "dWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNzIHRvIHRoZSBjb250cm9sIHBsYW5l" + - "IGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBUaGUgY29udHJvbCBwbGFuZSdzIHBy" + - "b2ZpbGUgZmlsZSwgd2hpY2ggYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZSBleHBvcnRgIHdyaXRlcyBvbiBhIG1hY2hpbmUgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbnRy" + - "b2wtcGxhbmUgY2x1c3Rlci4gSXQgY2FycmllcyB0aGUgY29udHJvbCBwbGFuZSdzIGVuZHBvaW50" + - "cyBhbmQgdHJ1c3QgZm9yIHJlZ2lzdHJhdGlvbi4gVGhlIGNvbW1hbmQgd3JpdGVzIGl0IHRvIHRo" + - "ZSBzdGFjaydzIGBvdXQvYCBkaXJlY3RvcnkgYW5kIHByaW50cyB0aGF0IHBhdGg7IHRoZSBzdGVw" + - "cyBiZWxvdyBleHBlY3QgaXQgY29waWVkIHRvIGBjb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAg" + - "aW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgotIEEgdW5pcXVlIGAtLWNsdXN0ZXItbmFtZWAgdGhh" + - "dCBkb2Vzbid0IGNvbGxpZGUgd2l0aCBhbHJlYWR5LXJlZ2lzdGVyZWQgY2x1c3RlcnMuIFVzZSBg" + - "bnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMt" + - "dXJsPSRJQ01TYCB0byBjaGVjay4KCiMjIFN0ZXBzCgoxLiBBc2sgZm9yIGlucHV0czoKICAgLSBg" + - "LS1jbHVzdGVyLW5hbWU9PHVuaXF1ZT5gIOKAlCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNv" + - "bnRyb2wgcGxhbmUncyBOQ0Egc2NvcGUKICAgLSBgLS1rdWJlLWNvbnRleHQ9PGNvbnRleHQ+YDog" + - "dGhlIG5ldyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4dAogICAtIGAtLWljbXMtdXJsPTxo" + - "dHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBjb250cm9sIHBsYW5lJ3MgcHVibGlj" + - "IElDTVMgVVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBIMTAwYCwgYnV0IGFzaykKCjIuIFBy" + - "ZS1mbGlnaHQgdGhlIG5ldyBjb21wdXRlIHBsYW5lIGFzIG5vdCB5ZXQgaW5zdGFsbGVkLiBXaXRo" + - "IGEga3ViZWN0bAogICBjb250ZXh0IGZvciB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyIGFzIHdl" + - "bGwsIGBjaGVjayAtLXByZQogICAtLWNvbnRyb2wtcGxhbmVgIGNoZWNrcyB0aGUgY29udHJvbCBw" + - "bGFuZSBhcyBpbnN0YWxsZWQgYW5kIHRoZSBuZXcKICAgY29tcHV0ZSBwbGFuZSBhcyBub3QgeWV0" + - "IGluc3RhbGxlZDoKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJl" + - "IC0tY29udHJvbC1wbGFuZSBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9IiRDUF9DVFgi" + - "IC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIkQ1RYIiBcCiAgICAgLS1lbnY9IiRDUF9FTlYiIFwK" + - "ICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKICAg" + - "anEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5q" + - "c29ubAogICBgYGAKCiAgIGAkQ1BfRU5WYCBpcyB0aGUgYC0tZW52YCB0aGUgY29udHJvbCBwbGFu" + - "ZSB3YXMgaW5zdGFsbGVkIHdpdGguIFRoaXMgY2hlY2tzCiAgIHRoZSBjb250cm9sLXBsYW5lIGNs" + - "dXN0ZXIsIGFuZCB0aGUgbmV3IGNsdXN0ZXI6IGxlZnRvdmVyIE5WQ0YgbmFtZXNwYWNlcywKICAg" + - "bm9kZSBpbm90aWZ5IGxpbWl0cywgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRh" + - "dG9yIChHUFUKICAgcmVzb3VyY2VzLCBHUFUgT3BlcmF0b3IsIFNNQiBDU0kgZHJpdmVyKSB3aGVu" + - "IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaXMKICAgc2V0LiBJdCBncmFkZXMgdGhpcyBtYWNo" + - "aW5lJ3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgYXMgYGNvbXB1dGUtcGxhbmUKICAgaW5zdGFsbGAg" + - "dXNlcyB0aGVtOiBgaGVsbWAgb24gdGhpcyBtYWNoaW5lIHB1bGxzIHRoZSBjb21wdXRlLXBsYW5l" + - "IGNoYXJ0cwogICB3aXRoIHRoZSBkb2NrZXIgbG9naW4sIHNvIGEgZG9ja2VyIGxvZ2luIGBudmNy" + - "LmlvYCByZWplY3RzIGZhaWxzIHRoZSBnYXRlCiAgIGV2ZW4gd2hlbiBgTkdDX0FQSV9LRVlgIHdv" + - "cmtzLiBBIG1pc3NpbmcgYGhlbG1gLCBgaGVsbWZpbGVgIG9yIGBrdWJlY3RsYAogICBmYWlscyBp" + - "dCB0b28uIFNJUyByZWFjaGFiaWxpdHkgaXMgbm90IHByb2JlZCBiZWZvcmUgaW5zdGFsbC4KCiAg" + - "IFdpdGhvdXQgYSBjb250ZXh0IGZvciB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLCBjaGVjayB0" + - "aGUgbmV3IGNsdXN0ZXIKICAgYWxvbmUgd2l0aCBgLS1jb21wdXRlLXBsYW5lYCwgdGhyb3VnaCBh" + - "IGt1YmVjb25maWcgd2hvc2UgY3VycmVudCBjb250ZXh0CiAgIGlzIHRoZSBuZXcgY2x1c3RlcjoK" + - "CiAgIGBgYHNoCiAgIEtDRkc9JChta3RlbXApCiAgIGt1YmVjdGwgY29uZmlnIHZpZXcgLS1taW5p" + - "ZnkgLS1mbGF0dGVuIC0tY29udGV4dD0iJENUWCIgPiAiJEtDRkciCiAgIEtVQkVDT05GSUc9IiRL" + - "Q0ZHIiBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxhbmUgXAogICAgIC0t" + - "aWNtcy11cmw9JElDTVMgXAogICAgIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBncmVwICdeeycg" + - "PiBjaGVjay5qc29ubAogICBybSAtZiAiJEtDRkciCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50" + - "ID09ICJmaW5hbCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBUaGF0IHJ1" + - "bnMgdGhlIHNhbWUgY2hlY2tzIG9uIHRoZSBuZXcgY2x1c3RlciwgYW5kIFNJUyByZWFjaGFiaWxp" + - "dHkgYXQKICAgYC0taWNtcy11cmxgLCBidXQgY2hlY2tzIHRoZSBjb21wdXRlIHBsYW5lIGFzIGlu" + - "c3RhbGxlZDogYSBtaXNzaW5nIHRvb2wKICAgb25seSB3YXJucywgYW5kIGEgZG9ja2VyIGxvZ2lu" + - "IGBudmNyLmlvYCByZWplY3RzIGZhaWxzIHRoZSBnYXRlIG9ubHkgd2hlbgogICBgTkdDX0FQSV9L" + - "RVlgIGRvZXMgbm90IHdvcmsgaW4gaXRzIHBsYWNlLiBUcmVhdCBhIGByZWdpc3RyeS1jcmVkZW50" + - "aWFsc2AKICAgcm93IHRoYXQgc2F5cyB0aGUgZG9ja2VyIGxvZ2luIHdhcyByZWplY3RlZCBhcyBi" + - "bG9ja2luZywgYW5kIHJlbmV3IHRoYXQKICAgbG9naW4gYmVmb3JlIHRoZSBpbnN0YWxsLgoKICAg" + - "SWYgdGhlIGdhdGUgZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhlIGBjaGVja19jb21wbGV0ZWRgIGV2" + - "ZW50cyB3aXRoCiAgIGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCwgYW5k" + - "IGFkZHJlc3MgdGhlbSBiZWZvcmUKICAgcHJvY2VlZGluZy4KCjMuIFJlZ2lzdGVyIHRoZSBjbHVz" + - "dGVyLCB0aGVuIGluc3RhbGwgaXRzIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzCiAgIGZp" + - "bGUgcmVnaXN0cmF0aW9uIHdyaXRlcy4gQm90aCBjb21tYW5kcyBuYW1lIHRoZSBuZXcgY2x1c3Rl" + - "cidzIGNvbnRleHQKICAgd2l0aCBgLS1rdWJlLWNvbnRleHRgOgoKICAgYGBgc2gKICAgbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgICAgLS1jb250cm9sLXBs" + - "YW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwgXAogICAgIC0tY2x1c3Rlci1u" + - "YW1lPSROQU1FIFwKICAgICAtLWt1YmUtY29udGV4dD0kQ1RYIFwKICAgICAtLWljbXMtdXJsPSRJ" + - "Q01TIFwKICAgICAtLXRva2VuPSRKV1QgXAogICAgIC0tb3V0cHV0PSROQU1FLXJlZ2lzdGVyLXZh" + - "bHVlcy55YW1sCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBc" + - "CiAgICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogICAgIC0ta3ViZS1j" + - "b250ZXh0PSRDVFggXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FCiAgIGBgYAoKICAgYGNvbXB1" + - "dGUtcGxhbmUgcmVnaXN0ZXJgIHJlY29yZHMgdGhlIGNsdXN0ZXIncyBPSURDIGlzc3VlciBhbmQg" + - "SldLUyB3aXRoCiAgIElDTVMgYXQgYC0taWNtcy11cmxgIGFuZCB3cml0ZXMgdGhlIE5WQ0Egb3Bl" + - "cmF0b3IgdmFsdWVzLiBgY29tcHV0ZS1wbGFuZQogICBpbnN0YWxsYCBpbnN0YWxscyB0aGUgY29t" + - "cHV0ZS1wbGFuZSBzdGFjayB3aXRoIHRoZW0uIE5laXRoZXIgdG91Y2hlcyB0aGUKICAgY29udHJv" + - "bC1wbGFuZSBjbHVzdGVyOiBJQ01TIGlzIHJlYWNoZWQgb3ZlciBIVFRQUy4gYC0tdG9rZW5gIHBh" + - "c3NlcyB0aGUKICAgYWRtaW4gSldUOyB3aXRob3V0IGl0IHRoZSB0b2tlbiBgbnZjZi1jbGkgaW5p" + - "dGAgc3RvcmVkIGlzIHVzZWQuCgo0LiBWZXJpZnkuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0" + - "dXMgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganFgOiBleHBlY3QgYHZlcmRpY3Q6ICJo" + - "ZWFsdGh5ImAuIFRoZSBSZWdpc3RlcmVkIENvbXB1dGUgUGxhbmVzIHBhbmVsIGZyb20gSUNNUyBz" + - "aG91bGQgbm93IGxpc3QgdGhlIG5ldyBjbHVzdGVyLgoKNS4gU21va2UuIFtkZXBsb3ktYW5kLWlu" + - "dm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpOiBkZXBsb3kgYSBzbWFsbCBmdW5jdGlvbiB0" + - "byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBzY2hlZHVsaW5nIHdvcmtzLgoKIyMg" + - "V2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzPwoKYGNv" + - "bXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHJldXNlcyBhbiBleGlzdGluZyByZWdpc3RyYXRpb246IGl0" + - "IG1hdGNoZXMgdGhlIElDTVMgcm93IHdpdGggdGhlIHNhbWUgbmFtZSwgcmV1c2VzIGl0cyBjbHVz" + - "dGVySWQgYW5kIHJlcGxhY2VzIGl0cyBKV0tTLiBUd28gc2NlbmFyaW9zOgoKLSAqKlJlLXJlZ2lz" + - "dGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRl" + - "IHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCk6IGV4cGVjdGVkLCBuby1vcCBz" + - "ZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1c3RlciBidXQgc2FtZSBuYW1lKio6" + - "IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJQ01TIHJvdywgYnV0IHRoZSBuZXcg" + - "Y29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRseSAqcmVwbGFjZWQqIOKAlCB0aGUg" + - "b2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwgc3RhcnQgZmFpbGluZyBQU0FUIGF1" + - "dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0aGV5IG1lYW50IHRvIG92ZXJ3cml0" + - "ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQg" + - "LS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBmaXJzdCBhbmQgYXNrIHRoZSB1c2Vy" + - "IGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQgYWxyZWFkeSBleGlzdHMuClBLBwjU" + - "UhnkgxcAAIMXAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWRVVAUAAQCmzhIjIENyZWF0" + - "ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWludCBBUEkga2V5cyAtPiB0YXNrIENS" + - "RUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMgLT4gY2xlYW51cC4KCiMjIDEuIE1p" + - "bnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBpbml0YCBkb2VzIG5vdCBjYXJyeSB0" + - "YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBrZXlzOgoKYGBgc2gKbnZjZi1jbGkg" + - "YXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJl" + - "cy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4uCiMgLT4gdGFzayBrZXk6IG52YXBp" + - "LS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJIHN0YXRlLiBUbyBtaW50IG9ubHkg" + - "dGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNr" + - "IC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCmBgYAoKVG8g" + - "dmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIgbWludGluZzoKCmBgYHNoCm52Y2Yt" + - "Y2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0ZXN0IiAtLWV4" + - "cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9uIEFQSSBrZXkgdmFsaWRhdGlvbiBw" + - "YXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24gcGFzc2VkIQpgYGAKCk5ldmVyIGVj" + - "aG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNoYXQgb3IgbG9ncy4gUmVwb3J0IG9u" + - "bHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNjcmlwdGlvbiwgYW5kIGl0cyBleHBp" + - "cnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMgRnJlc2ggc2Vzc2lvbiBwcmUtZmxp" + - "Z2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1hbmQgaW4gYSBmcmVzaCBhZ2VudCBz" + - "ZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVjayB3aGV0aGVyIGBOVkNGX0FQSV9L" + - "RVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5WQ0ZfQVBJX0tFWSA+IC9kZXYvbnVs" + - "bCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAgYGBgCgoyLiBJZiB1bnNldCwgcmVh" + - "ZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmludGluZyB0aGUgdmFsdWU6CgogICBg" + - "YGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRobGliOyBzPWpzb24ubG9hZHMocGF0" + - "aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFuZHVzZXIoKS5yZWFkX3RleHQoKSk7" + - "IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbicsJ21pc3NpbmcnKSkiCiAgIGBgYAoK" + - "My4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBtaXNzaW5nLCByZWdlbmVyYXRlOgoK" + - "ICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + - "IC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXkiIC0tZXhwaXJlcy1pbj0yNGggLS12" + - "YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVkIGtleSBpbnRvIHRoZSBzdWJwcm9j" + - "ZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBVc2UgYSBzaGVsbCBzdWJzaGVsbCBv" + - "ciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5IGludG8gY2hhdC4KCkVycm9yIGNs" + - "YXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyIgb3Ig" + - "ZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJlLWZsaWdodC4KLSBIVFRQIDQwMzog" + - "a2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2VuZXJhdGUuCi0gRW1wdHkgdGFzayBs" + - "aXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMgMi4gVGFzayBDUkVBVEU6IGNvbnRh" + - "aW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxlLiBNaW5pbXVtIHZpYWJsZSBjb250" + - "YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWNvbnRhaW5lci10YXNrIiwK" + - "ICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VU" + - "eXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2VuZCI6ICJuY3AtbG9jYWwiCiAgfSwK" + - "ICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEvbmVtbzpsYXRlc3QiLAogICJjb250" + - "YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxsbyBmcm9tIHRhc2snKVwiIiwKICAi" + - "cmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFz" + - "ayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24KIyAtPiBUYXNrIElEOiA8" + - "dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZyb20gdGhlIG91dHB1dC4gU3RhdGUg" + - "cGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBhc3MKYDx0YXNrSWQ+YCBleHBsaWNp" + - "dGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBzYXZlZCBz" + - "dGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9yIHF1aWNrIGFkLWhvYyBydW5zOgoK" + - "YGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFtZT1zbW9rZS1jb250YWluZXItdGFz" + - "ayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBlPU5DUC5HUFUuSDEwMF8xeCBcCiAg" + - "LS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNyLmlvL252aWRpYS9uZW1vOmxhdGVz" + - "dCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdwcmludChoZWxsbyBmcm9tIHRhc2sp" + - "JyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpUbyB0YXJnZXQgYSBzcGVjaWZpYyBj" + - "b21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9" + - "dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNsdXN0ZXIKYGBgCgpUbyBpbmplY3Qg" + - "ZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVpdGhlciBwYXNzIGZsYWdzOgoKYGBg" + - "c2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVyLmpzb24g" + - "XAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAogIC0tc2VjcmV0cyBNWV9TRUNSRVQ9" + - "czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04gZmlsZToKCmBgYGpzb24KewogICJj" + - "b250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5IjogIk1ZX0VOViIsICJ2YWx1ZSI6ICJ2" + - "YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFtZSI6ICJNWV9TRUNSRVQiLCAidmFs" + - "dWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFyZSBlbmNyeXB0ZWQgYXQgcmVzdCBh" + - "bmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3BvbnNlcyBieSBkZWZhdWx0OyBkbyBu" + - "b3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVsbQoKRm9yIEhlbG0tdHlwZSB0YXNr" + - "cywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhlbG1DaGFydGA6CgpgYGBqc29uCnsK" + - "ICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAg" + - "ImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAg" + - "ICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxtQ2hhcnQiOiAiaHR0cHM6Ly9oZWxt" + - "Lm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxlLXRhc2stMC4xLjAudGd6IiwKICAi" + - "cmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgdGFz" + - "ayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29uCiMgLT4gVGFzayBJRDogPHRhc2tf" + - "aWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJbWFnZWAgYXJlIG11dHVhbGx5IGV4" + - "Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBhIHJ1bm5pbmcgdGFzawoKYGBgc2gK" + - "bnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19pZD4gLS1zZWNyZXRzIE5BTUU9dmFs" + - "dWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNyZXRzIGJ5IG5hbWU6IHN1cHBsaWVk" + - "IHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBleGlzdGluZyBzZWNyZXRzIG5vdCBp" + - "bmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVkLiBEbyBub3QgZWNobyBzZWNyZXQg" + - "dmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBvbGwgdGFzayBzdGF0ZToKCmBgYHNo" + - "Cm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlkOiA8dGFza19pZD4KIyAtPiBzdGF0" + - "dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQgc2F2ZWQgdG8gc3RhdGUgZnJvbSB0" + - "aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0CmBg" + - "YAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBM" + - "RVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFU" + - "SU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gLgoKSW5zcGVjdCBsaWZlY3ljbGUg" + - "ZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1cmUgY29udGV4dDoKCmBgYHNoCm52" + - "Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklmIHRoZSB0YXNrIGlzIHN0dWNrIGlu" + - "IGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVzdGVyIHdpdGggYSBtYXRjaGluZyBH" + - "UFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBudmNmLWNsaSBzZWxmLWhvc3RlZCBz" + - "dGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJPUkVEYCwgdGhlIGV2ZW50cyBvdXRw" + - "dXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IKY29udGFpbmVyLWxldmVsIGRldGFp" + - "bCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNs" + - "dXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgbmFtZXNwYWNlIGFu" + - "ZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoKRm9yIHRhc2tzIHdpdGggYHJlc3Vs" + - "dEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFyZSBlbXB0eSBieSBkZXNpZ246Cgpg" + - "YGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CiMgLT4geyJyZXN1bHRzIjogW119" + - "CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IFVQTE9BRGAsIHJl" + - "c3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBpbgpgcmVzdWx0c0xvY2F0aW9uYC4g" + - "VGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoYXQgbG9j" + - "YXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBMRVRFRGA6CgpgYGBzaApudmNmLWNs" + - "aSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTogcmVzdWx0IHVwbG9hZCBpcyBub3Qg" + - "eWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2LiBDbGVhbnVwCgpDYW5jZWwgYSBy" + - "dW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNhbmNlbCA8dGFza19pZD4KYGBgCgpE" + - "ZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZToK" + - "CmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lkPgpgYGAKClN0b3AgYW5kIGNvbmZp" + - "cm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNrIGRlbGV0ZS4gU3RhdGUgdGhlIHRh" + - "c2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90IHByb2NlZWQgZXZlbiB3aGVuIHRo" + - "ZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRlbGV0aW9uIOKAlCBhbHdheXMgZ2V0" + - "IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24uIERlbGV0aW9uIGlzIHBlcm1hbmVu" + - "dCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxsIHRhc2tzIGZvciB0aGUgY3VycmVu" + - "dCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXApOgoKYGBgc2gKbnZjZi1jbGkgdGFz" + - "ayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1DT01QTEVURUQKYGBgCgojIyBOb3Rl" + - "cwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11c3QgbWF0Y2ggYSByZWdpc3RlcmVk" + - "IGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1c2VzIHRoZSB0YXNrIHRvIHJlbWFp" + - "biBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0YCB0byBj" + - "aGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFpbmVyIGltYWdlcyBvbiBwcml2YXRl" + - "IHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MKICBpbWFnZS1j" + - "cmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0aGUgcmVnaXN0cnkgaG9zdC4KUEsH" + - "CNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhIjIERlcGxv" + - "eSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpTdGFuZGFyZCBmb3VyLXN0ZXAgZmxv" + - "dzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQSSBrZXkgKGZvciBpbnZva2Ugc2Nv" + - "cGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVBVEUKCkRlZmluZSB0aGUgZnVuY3Rp" + - "b24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9u" + - "LCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFuZCBjb250YWluZXIgaW1hZ2Ugd2l0" + - "aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3NpbmcsIHN0b3AgYW5kIGFzay4gRG8g" + - "bm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMgZm9yIHRoZXNlIGZpZWxkcy4KCmBg" + - "YGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iLAogICJjb250YWlu" + - "ZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4iLAogICJpbmZlcmVuY2VVcmwi" + - "OiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAiZGVzY3JpcHRpb24iOiAic21v" + - "a2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25UeXBlIjogIkRFRkFVTFQiLAogICJh" + - "cGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJI" + + "ZXIgYW5kIGhhcyBubyAtLWt1YmVjb25maWcgZmxhZywgc28gZ2l2ZSBpdCwgdGhyb3VnaAojIEtV" + + "QkVDT05GSUcgZm9yIHRoaXMgY29tbWFuZCBvbmx5LCBhIGt1YmVjb25maWcgaG9sZGluZyBqdXN0" + + "IHRoZSBjb21wdXRlCiMgY2x1c3RlcidzIGNvbnRleHQuIFRoZSBjdXJyZW50IGNvbnRleHQgb2Yg" + + "eW91ciBrdWJlY29uZmlnIHN0YXlzIGFzIGl0IHdhcy4KIyAtLWNvbXB1dGUtcGxhbmUgY2hlY2tz" + + "IHRoZSBjb21wdXRlIHBsYW5lIGFzIGluc3RhbGxlZCwgc28gYSBkb2NrZXIgbG9naW4KIyBudmNy" + + "LmlvIHJlamVjdHMgZmFpbHMgb25seSB3aGVuIE5HQ19BUElfS0VZIGRvZXMgbm90IHdvcmsgaW4g" + + "aXRzIHBsYWNlOgojIHRyZWF0IGEgcmVnaXN0cnktY3JlZGVudGlhbHMgcm93IHRoYXQgc2F5cyB0" + + "aGUgZG9ja2VyIGxvZ2luIHdhcyByZWplY3RlZAojIGFzIGJsb2NraW5nLCBzaW5jZSBjb21wdXRl" + + "LXBsYW5lIGluc3RhbGwgcHVsbHMgaXRzIGNoYXJ0cyB3aXRoIHRoYXQgbG9naW4uCiMgV2l0aCBh" + + "IGNvbnRyb2wtcGxhbmUgY29udGV4dCwgY2hlY2sgLS1wcmUgLS1jb250cm9sLXBsYW5lIGNoZWNr" + + "cyB0aGUgbmV3CiMgY29tcHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxlZCBpbnN0ZWFkOyBz" + + "ZWUgcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZC4KS0M9JChta3RlbXApCmt1YmVjdGwgY29u" + + "ZmlnIHZpZXcgLS1taW5pZnkgLS1mbGF0dGVuIC0tY29udGV4dD1hZG1pbkBncHUxID4gIiRLQyIK" + + "S1VCRUNPTkZJRz0iJEtDIiBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxh" + + "bmUgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tanNv" + + "bgoKIyBSZWdpc3RlciBhbmQgaW5zdGFsbCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lLCBmcm9tIHRo" + + "ZSBwcm9maWxlIHRoZQojIGNvbnRyb2wtcGxhbmUgb3BlcmF0b3IgZXhwb3J0ZWQgd2l0aCBgc2Vs" + + "Zi1ob3N0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAsCiMgc2F2ZWQgaGVyZSBhcyBj" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbDoKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + + "bGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1w" + + "cm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1rdWJlLWNv" + + "bnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxl" + + "LmNvbSBcCiAgLS10b2tlbj0kQURNSU5fSldUIFwKICAtLW91dHB1dD1teS1jb21wdXRlLTEtcmVn" + + "aXN0ZXItdmFsdWVzLnlhbWwKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIFwKICAtLXZhbHVlcz1teS1jb21wdXRlLTEtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0t" + + "a3ViZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMQoK" + + "IyBTdGF0dXMgb2YgYWRtaW5AZ3B1MSwgZnJvbSB0aGUgc2FtZSBrdWJlY29uZmlnIChjb21wdXRl" + + "LW9ubHk6IHRoZSBvcGVyYXRvcgojIGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBo" + + "ZWFsdGgpLiBUaGVuIHJlbW92ZSB0aGUgZmlsZSwgd2hpY2gKIyBob2xkcyB0aGUgY29udGV4dCdz" + + "IGNyZWRlbnRpYWxzOgpLVUJFQ09ORklHPSIkS0MiIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1" + + "cyBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + + "aWNtcy5udmNmLmV4YW1wbGUuY29tCnJtIC1mICIkS0MiCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdl" + + "dGluZyBzcGVjaWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21w" + + "dXRlIHBsYW5lcyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29u" + + "CnsKICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwK" + + "ICAiZGVwbG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAi" + + "aW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwK" + + "ICAgICJtYXhJbnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9" + + "XQp9CmBgYAoKVGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJ" + + "RHMpIGxpbWl0cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxl" + + "dCBJQ01TIGNob29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMg" + + "U3RhdHVzIGZhbi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJl" + + "Z2lzdGVyZWQgY29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVk" + + "IC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5j" + + "bHVzdGVyc1tdLmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3Qg" + + "cGVyIGNvbXB1dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpLgoj" + + "IEVhY2ggcnVuIHJlYWRzIGEgdGVtcG9yYXJ5IGt1YmVjb25maWcgaG9sZGluZyBvbmx5IHRoYXQg" + + "Y2x1c3RlcidzIGNvbnRleHQsCiMgc28gdGhlIGxvb3AgbGVhdmVzIHRoZSBjdXJyZW50IGNvbnRl" + + "eHQgb2YgeW91ciBrdWJlY29uZmlnIGFsb25lOgp3aGlsZSByZWFkIE5BTUU7IGRvCiAgZWNobyAi" + + "PT09ICROQU1FID09PSIKICBLQz0kKG1rdGVtcCkKICBrdWJlY3RsIGNvbmZpZyB2aWV3IC0tbWlu" + + "aWZ5IC0tZmxhdHRlbiAtLWNvbnRleHQ9ImFkbWluQCROQU1FIiA+ICIkS0MiICYmCiAgICBLVUJF" + + "Q09ORklHPSIkS0MiIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAgIC0tY2x1c3Rl" + + "ci1uYW1lPSROQU1FIFwKICAgICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVzdGVyLCB2" + + "ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCiAgcm0gLWYgIiRL" + + "QyIKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJlIE0rMTEgbWlsZXN0b25lIHdpbGwg" + + "YWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0tYWxsLWNvbXB1dGUtcGxhbmVzYCkgc28gdGhp" + + "cyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQSwcIe+fVJbcUAAC3FAAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQt" + + "Y29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRkIGEgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlz" + + "dGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtpbmcgTlZDRiBjb250cm9sIHBsYW5l" + + "IChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJlZ2lzdGVyIGEgbmV3IEdQVSBjbHVz" + + "dGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11bHRpLWNsdXN0ZXIgc2NhbGluZyBwYXRoOiBv" + + "bmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRlIHBsYW5lcy4KCiMjIFByZXJlcXVpc2l0ZXMg" + + "dGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0bCBjb250ZXh0IGZvciB0aGUgbmV3IGNvbXB1" + + "dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJR2AsIGFuZAogIGlkZWFsbHkgb25lIGZvciB0" + + "aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyIHRvbywgZm9yIHRoZSBwcmUtZmxpZ2h0IGluCiAgc3Rl" + + "cCAyLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUg" + + "KGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tYCkuCi0gKipBZG1pbiBKV1QqKiBm" + + "b3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBhYmlsaXR5IHRvIG1pbnQgb25lIHZp" + + "YSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJvbCBwbGFuZSdzIHB1YmxpYyBhcGkg" + + "ZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRoZSBBUEkgS2V5cyBzZXJ2aWNlIHZp" + + "YSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3RsIGFjY2VzcyB0byB0aGUgY29udHJv" + + "bCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9uZS4pCi0gVGhlIGNvbnRyb2wgcGxh" + + "bmUncyBwcm9maWxlIGZpbGUsIHdoaWNoIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb250cm9sLXBs" + + "YW5lIHByb2ZpbGUgZXhwb3J0YCB3cml0ZXMgb24gYSBtYWNoaW5lIHRoYXQgY2FuIHJlYWNoIHRo" + + "ZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIuIEl0IGNhcnJpZXMgdGhlIGNvbnRyb2wgcGxhbmUncyBl" + + "bmRwb2ludHMgYW5kIHRydXN0IGZvciByZWdpc3RyYXRpb24uIFRoZSBjb21tYW5kIHdyaXRlcyBp" + + "dCB0byB0aGUgc3RhY2sncyBgb3V0L2AgZGlyZWN0b3J5IGFuZCBwcmludHMgdGhhdCBwYXRoOyB0" + + "aGUgc3RlcHMgYmVsb3cgZXhwZWN0IGl0IGNvcGllZCB0byBgY29udHJvbC1wbGFuZS1wcm9maWxl" + + "LnlhbWxgIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KLSBBIHVuaXF1ZSBgLS1jbHVzdGVyLW5h" + + "bWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJz" + + "LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQg" + + "LS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gQXNrIGZvciBpbnB1dHM6" + + "CiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQgbXVzdCBiZSB1bmlxdWUgd2l0aGlu" + + "IHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0gYC0ta3ViZS1jb250ZXh0PTxjb250" + + "ZXh0PmA6IHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBrdWJlY3RsIGNvbnRleHQKICAgLSBgLS1pY21z" + + "LXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20+YCDigJQgY29udHJvbCBwbGFuZSdz" + + "IHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBlPyAoZGVmYXVsdCBgSDEwMGAsIGJ1dCBhc2sp" + + "CgoyLiBQcmUtZmxpZ2h0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxl" + + "ZC4gV2l0aCBhIGt1YmVjdGwKICAgY29udGV4dCBmb3IgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rl" + + "ciBhcyB3ZWxsLCBgY2hlY2sgLS1wcmUKICAgLS1jb250cm9sLXBsYW5lYCBjaGVja3MgdGhlIGNv" + + "bnRyb2wgcGxhbmUgYXMgaW5zdGFsbGVkIGFuZCB0aGUgbmV3CiAgIGNvbXB1dGUgcGxhbmUgYXMg" + + "bm90IHlldCBpbnN0YWxsZWQ6CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVj" + + "ayAtLXByZSAtLWNvbnRyb2wtcGxhbmUgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIk" + + "Q1BfQ1RYIiAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJENUWCIgXAogICAgIC0tZW52PSIkQ1Bf" + + "RU5WIiBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpz" + + "b25sCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50ID09ICJmaW5hbCIgYW5kIC5zdWNjZXNzKScg" + + "Y2hlY2suanNvbmwKICAgYGBgCgogICBgJENQX0VOVmAgaXMgdGhlIGAtLWVudmAgdGhlIGNvbnRy" + + "b2wgcGxhbmUgd2FzIGluc3RhbGxlZCB3aXRoLiBUaGlzIGNoZWNrcwogICB0aGUgY29udHJvbC1w" + + "bGFuZSBjbHVzdGVyLCBhbmQgdGhlIG5ldyBjbHVzdGVyOiBsZWZ0b3ZlciBOVkNGIG5hbWVzcGFj" + + "ZXMsCiAgIG5vZGUgaW5vdGlmeSBsaW1pdHMsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVy" + + "LXZhbGlkYXRvciAoR1BVCiAgIHJlc291cmNlcywgR1BVIE9wZXJhdG9yLCBTTUIgQ1NJIGRyaXZl" + + "cikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzCiAgIHNldC4gSXQgZ3JhZGVzIHRo" + + "aXMgbWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIGFzIGBjb21wdXRlLXBsYW5lCiAgIGlu" + + "c3RhbGxgIHVzZXMgdGhlbTogYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgY29tcHV0" + + "ZS1wbGFuZSBjaGFydHMKICAgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLCBzbyBhIGRvY2tlciBsb2dp" + + "biBgbnZjci5pb2AgcmVqZWN0cyBmYWlscyB0aGUgZ2F0ZQogICBldmVuIHdoZW4gYE5HQ19BUElf" + + "S0VZYCB3b3Jrcy4gQSBtaXNzaW5nIGBoZWxtYCwgYGhlbG1maWxlYCBvciBga3ViZWN0bGAKICAg" + + "ZmFpbHMgaXQgdG9vLiBTSVMgcmVhY2hhYmlsaXR5IGlzIG5vdCBwcm9iZWQgYmVmb3JlIGluc3Rh" + + "bGwuCgogICBXaXRob3V0IGEgY29udGV4dCBmb3IgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlciwg" + + "Y2hlY2sgdGhlIG5ldyBjbHVzdGVyCiAgIGFsb25lIHdpdGggYC0tY29tcHV0ZS1wbGFuZWAuIGBj" + + "aGVja2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXIKICAgYW5kIGhhcyBubyBg" + + "LS1rdWJlY29uZmlnYCBmbGFnLCBzbyBnaXZlIGl0LCB0aHJvdWdoIGBLVUJFQ09ORklHYCBmb3Ig" + + "dGhpcwogICBjb21tYW5kIG9ubHksIGEgdGVtcG9yYXJ5IGt1YmVjb25maWcgaG9sZGluZyBqdXN0" + + "IHRoZSBuZXcgR1BVIGNsdXN0ZXIncwogICBjb250ZXh0LiBUaGUgY3VycmVudCBjb250ZXh0IG9m" + + "IHRoZSB1c2VyJ3Mga3ViZWNvbmZpZyBzdGF5cyBhcyBpdCB3YXM6CgogICBgYGBzaAogICBLQz0k" + + "KG1rdGVtcCkKICAga3ViZWN0bCBjb25maWcgdmlldyAtLW1pbmlmeSAtLWZsYXR0ZW4gLS1jb250" + + "ZXh0PSIkQ1RYIiA+ICIkS0MiCiAgIEtVQkVDT05GSUc9IiRLQyIgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAt" + + "LWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKICAgcm0gLWYg" + + "IiRLQyIKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3Mp" + + "JyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoYXQgcnVucyB0aGUgc2FtZSBjaGVja3Mgb24gdGhl" + + "IG5ldyBjbHVzdGVyLCBhbmQgU0lTIHJlYWNoYWJpbGl0eSBhdAogICBgLS1pY21zLXVybGAsIGJ1" + + "dCBjaGVja3MgdGhlIGNvbXB1dGUgcGxhbmUgYXMgaW5zdGFsbGVkOiBhIG1pc3NpbmcgdG9vbAog" + + "ICBvbmx5IHdhcm5zLCBhbmQgYSBkb2NrZXIgbG9naW4gYG52Y3IuaW9gIHJlamVjdHMgZmFpbHMg" + + "dGhlIGdhdGUgb25seSB3aGVuCiAgIGBOR0NfQVBJX0tFWWAgZG9lcyBub3Qgd29yayBpbiBpdHMg" + + "cGxhY2UuIFRyZWF0IGEgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxzYAogICByb3cgdGhhdCBzYXlzIHRo" + + "ZSBkb2NrZXIgbG9naW4gd2FzIHJlamVjdGVkIGFzIGJsb2NraW5nLCBhbmQgcmVuZXcgdGhhdAog" + + "ICBsb2dpbiBiZWZvcmUgdGhlIGluc3RhbGwuCgogICBJZiB0aGUgZ2F0ZSBmYWlscywgc2hvdyB0" + + "aGUgdXNlciB0aGUgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnRzIHdpdGgKICAgYHBhc3NlZDogZmFs" + + "c2VgIGFuZCBgc2V2ZXJpdHk6ICJlcnJvciJgLCBhbmQgYWRkcmVzcyB0aGVtIGJlZm9yZQogICBw" + + "cm9jZWVkaW5nLgoKMy4gUmVnaXN0ZXIgdGhlIGNsdXN0ZXIsIHRoZW4gaW5zdGFsbCBpdHMgY29t" + + "cHV0ZSBwbGFuZSBmcm9tIHRoZSB2YWx1ZXMKICAgZmlsZSByZWdpc3RyYXRpb24gd3JpdGVzLiBC" + + "b3RoIGNvbW1hbmRzIG5hbWUgdGhlIG5ldyBjbHVzdGVyJ3MgY29udGV4dAogICB3aXRoIGAtLWt1" + + "YmUtY29udGV4dGA6CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBs" + + "YW5lIHJlZ2lzdGVyIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0ta3ViZS1j" + + "b250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBc" + + "CiAgICAgLS1vdXRwdXQ9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwKICAgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAgICAtLXZhbHVlcz0kTkFNRS1yZWdp" + + "c3Rlci12YWx1ZXMueWFtbCBcCiAgICAgLS1rdWJlLWNvbnRleHQ9JENUWCBcCiAgICAgLS1jbHVz" + + "dGVyLW5hbWU9JE5BTUUKICAgYGBgCgogICBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgcmVjb3Jk" + + "cyB0aGUgY2x1c3RlcidzIE9JREMgaXNzdWVyIGFuZCBKV0tTIHdpdGgKICAgSUNNUyBhdCBgLS1p" + + "Y21zLXVybGAgYW5kIHdyaXRlcyB0aGUgTlZDQSBvcGVyYXRvciB2YWx1ZXMuIGBjb21wdXRlLXBs" + + "YW5lCiAgIGluc3RhbGxgIGluc3RhbGxzIHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrIHdpdGggdGhl" + + "bS4gTmVpdGhlciB0b3VjaGVzIHRoZQogICBjb250cm9sLXBsYW5lIGNsdXN0ZXI6IElDTVMgaXMg" + + "cmVhY2hlZCBvdmVyIEhUVFBTLiBgLS10b2tlbmAgcGFzc2VzIHRoZQogICBhZG1pbiBKV1Q7IHdp" + + "dGhvdXQgaXQgdGhlIHRva2VuIGBudmNmLWNsaSBpbml0YCBzdG9yZWQgaXMgdXNlZC4KCjQuIFZl" + + "cmlmeS4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0ZXItbmFtZT0kTkFNRSAt" + + "LWpzb24gfCBqcWA6IGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQg" + + "Q29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBub3cgbGlzdCB0aGUgbmV3IGNs" + + "dXN0ZXIuCgo1LiBTbW9rZS4gW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9r" + + "ZS5tZCk6IGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0" + + "byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRo" + + "ZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgcmV1" + + "c2VzIGFuIGV4aXN0aW5nIHJlZ2lzdHJhdGlvbjogaXQgbWF0Y2hlcyB0aGUgSUNNUyByb3cgd2l0" + + "aCB0aGUgc2FtZSBuYW1lLCByZXVzZXMgaXRzIGNsdXN0ZXJJZCBhbmQgcmVwbGFjZXMgaXRzIEpX" + + "S1MuIFR3byBzY2VuYXJpb3M6CgotICoqUmUtcmVnaXN0ZXJpbmcgdGhlIHNhbWUgY2x1c3Rlcioq" + + "IChyZS1ydW5uaW5nIG9uIHRoZSBzYW1lIGNvbXB1dGUgcGxhbmUgdGhhdCB3YXMgcHJldmlvdXNs" + + "eSByZWdpc3RlcmVkKTogZXhwZWN0ZWQsIG5vLW9wIHNlbWFudGljcy4KLSAqKkRpZmZlcmVudCBw" + + "aHlzaWNhbCBjbHVzdGVyIGJ1dCBzYW1lIG5hbWUqKjogdGhlIHNlY29uZCBhdHRlbXB0IHdpbGwg" + + "cmV1c2UgdGhlIElDTVMgcm93LCBidXQgdGhlIG5ldyBjb21wdXRlIHBsYW5lJ3MgSldLUyB3aWxs" + + "IGJlIHNpbGVudGx5ICpyZXBsYWNlZCog4oCUIHRoZSBvbGQgY29tcHV0ZSBwbGFuZSdzIE5WQ0Eg" + + "YWdlbnQgd2lsbCBzdGFydCBmYWlsaW5nIFBTQVQgYXV0aC4gKipDb25maXJtIHdpdGggdGhlIHVz" + + "ZXIqKiB0aGF0IHRoZXkgbWVhbnQgdG8gb3ZlcndyaXRlLgoKV2hlbiBpbiBkb3VidCwgcnVuIGBu" + + "dmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11" + + "cmw9JElDTVNgIGZpcnN0IGFuZCBhc2sgdGhlIHVzZXIgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBh" + + "IG5hbWUgdGhhdCBhbHJlYWR5IGV4aXN0cy4KUEsHCNVbIQpHGAAARxgAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRl" + + "LWFuZC1ydW4tdGFzay5tZFVUBQABAKbOEiMgQ3JlYXRlIGFuZCBydW4gYSB0YXNrCgpTdGFuZGFy" + + "ZCBmbG93OiBtaW50IEFQSSBrZXlzIC0+IHRhc2sgQ1JFQVRFIC0+IG1vbml0b3IgLT4gcmV0cmll" + + "dmUgcmVzdWx0cyAtPiBjbGVhbnVwLgoKIyMgMS4gTWludCBBUEkga2V5cwoKVGhlIGFkbWluIHRv" + + "a2VuIGZyb20gYGluaXRgIGRvZXMgbm90IGNhcnJ5IHRhc2sgaW52b2NhdGlvbiBzY29wZS4gR2Vu" + + "ZXJhdGUgQVBJIGtleXM6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3Jp" + + "cHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCiMgLT4gZnVuY3Rpb24ga2V5" + + "OiBudmFwaS0uLi4KIyAtPiB0YXNrIGtleTogbnZhcGktLi4uCmBgYAoKQm90aCBrZXlzIGFyZSBz" + + "YXZlZCB0byBDTEkgc3RhdGUuIFRvIG1pbnQgb25seSB0aGUgdGFzayBrZXk6CgpgYGBzaApudmNm" + + "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9r" + + "ZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKYGBgCgpUbyB2YWxpZGF0ZSBlYWNoIGtleSBpbW1lZGlh" + + "dGVseSBhZnRlciBtaW50aW5nOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRl" + + "c2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aCAtLXZhbGlkYXRlCiMg" + + "LT4gZnVuY3Rpb24gQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKIyAtPiB0YXNrIEFQSSBrZXkg" + + "dmFsaWRhdGlvbiBwYXNzZWQhCmBgYAoKTmV2ZXIgZWNobyB0aGUga2V5IHZhbHVlIChudmFwaS0u" + + "Li4pIGludG8gY2hhdCBvciBsb2dzLiBSZXBvcnQgb25seSB0aGF0IHRoZSBrZXkgd2FzIG1pbnRl" + + "ZCwgaXRzIGRlc2NyaXB0aW9uLCBhbmQgaXRzIGV4cGlyeSDigJQgbmV2ZXIgdGhlIHZhbHVlIGl0" + + "c2VsZi4KCiMjIyBGcmVzaCBzZXNzaW9uIHByZS1mbGlnaHQKCkJlZm9yZSBydW5uaW5nIGFueSBg" + + "dGFza2AgY29tbWFuZCBpbiBhIGZyZXNoIGFnZW50IHNlc3Npb24sIHZlcmlmeSBjcmVkZW50aWFs" + + "czoKCjEuIENoZWNrIHdoZXRoZXIgYE5WQ0ZfQVBJX0tFWWAgaXMgc2V0OgoKICAgYGBgc2gKICAg" + + "cHJpbnRlbnYgTlZDRl9BUElfS0VZID4gL2Rldi9udWxsIDI+JjEgJiYgZWNobyBzZXQgfHwgZWNo" + + "byB1bnNldAogICBgYGAKCjIuIElmIHVuc2V0LCByZWFkIHRoZSBzdG9yZWQga2V5IGV4cGlyeSB3" + + "aXRob3V0IHByaW50aW5nIHRoZSB2YWx1ZToKCiAgIGBgYHNoCiAgIHB5dGhvbjMgLWMgImltcG9y" + + "dCBqc29uLHBhdGhsaWI7IHM9anNvbi5sb2FkcyhwYXRobGliLlBhdGgoJ34vLm52Y2YtY2xpLnN0" + + "YXRlJykuZXhwYW5kdXNlcigpLnJlYWRfdGV4dCgpKTsgcHJpbnQocy5nZXQoJ252Y3RBcGlLZXlF" + + "eHBpcmF0aW9uJywnbWlzc2luZycpKSIKICAgYGBgCgozLiBJZiB0aGUgZXhwaXJ5IGlzIGluIHRo" + + "ZSBwYXN0IG9yIG1pc3NpbmcsIHJlZ2VuZXJhdGU6CgogICBgYGBzaAogICBudmNmLWNsaSByZWZy" + + "ZXNoCiAgIG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9u" + + "PSJ0YXNrLWtleSIgLS1leHBpcmVzLWluPTI0aCAtLXZhbGlkYXRlCiAgIGBgYAoKNC4gSW5qZWN0" + + "IHRoZSBzdG9yZWQga2V5IGludG8gdGhlIHN1YnByb2Nlc3MgZW52IHdpdGhvdXQgbG9nZ2luZyB0" + + "aGUgdmFsdWUuIFVzZSBhIHNoZWxsIHN1YnNoZWxsIG9yIGVudiBwcmVmaXgg4oCUIG5ldmVyIHBy" + + "aW50IHRoZSBrZXkgaW50byBjaGF0LgoKRXJyb3IgY2xhc3NpZmljYXRpb246CgotICJtaXNzaW5n" + + "IGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIiBvciBleGl0IDI6IGtleSBub3QgaW5qZWN0ZWQ7" + + "IHJlcGVhdCBwcmUtZmxpZ2h0LgotIEhUVFAgNDAzOiBrZXkgZXhwaXJlZCBvciB3cm9uZyBhdWRp" + + "ZW5jZTsgcmVnZW5lcmF0ZS4KLSBFbXB0eSB0YXNrIGxpc3Q6IHZhbGlkOyBubyB0YXNrcyBleGlz" + + "dCB5ZXQuCgojIyAyLiBUYXNrIENSRUFURTogY29udGFpbmVyCgpEZWZpbmUgdGhlIHRhc2sgaW4g" + + "YSBKU09OIGZpbGUuIE1pbmltdW0gdmlhYmxlIGNvbnRhaW5lciB0YXNrOgoKYGBganNvbgp7CiAg" + + "Im5hbWUiOiAic21va2UtY29udGFpbmVyLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewog" + + "ICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwK" + + "ICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJjb250YWluZXJJbWFnZSI6ICJudmNy" + + "LmlvL252aWRpYS9uZW1vOmxhdGVzdCIsCiAgImNvbnRhaW5lckFyZ3MiOiAicHl0aG9uIC1jIFwi" + + "cHJpbnQoJ2hlbGxvIGZyb20gdGFzaycpXCIiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0ZWd5Ijog" + + "Ik5PTkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFz" + + "ay1jb250YWluZXIuanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCkNhcHR1cmUgdGhl" + + "IHRhc2sgSUQgZnJvbSB0aGUgb3V0cHV0LiBTdGF0ZSBwZXJzaXN0ZW5jZSBjYW4gZmFpbCBzaWxl" + + "bnRseSwgc28gcGFzcwpgPHRhc2tJZD5gIGV4cGxpY2l0bHkgb24gc3Vic2VxdWVudCBjb21tYW5k" + + "cyByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHNhdmVkIHN0YXRlLgoKRXF1aXZhbGVudCBDTEkgZmxh" + + "Z3MgZm9ybSBmb3IgcXVpY2sgYWQtaG9jIHJ1bnM6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0" + + "ZSBcCiAgLS1uYW1lPXNtb2tlLWNvbnRhaW5lci10YXNrIFwKICAtLWdwdT1IMTAwIFwKICAtLWlu" + + "c3RhbmNlLXR5cGU9TkNQLkdQVS5IMTAwXzF4IFwKICAtLWJhY2tlbmQ9bmNwLWxvY2FsIFwKICAt" + + "LWltYWdlPW52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IFwKICAtLWNvbnRhaW5lci1hcmdzPSJw" + + "eXRob24gLWMgJ3ByaW50KGhlbGxvIGZyb20gdGFzayknIiBcCiAgLS1yZXN1bHQtc3RyYXRlZ3k9" + + "Tk9ORQpgYGAKClRvIHRhcmdldCBhIHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcjoKCmBgYHNoCm52" + + "Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIC0tY2x1" + + "c3RlcnM9bXktY2x1c3RlcgpgYGAKClRvIGluamVjdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb3Ig" + + "c2VjcmV0cywgZWl0aGVyIHBhc3MgZmxhZ3M6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAt" + + "LWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiBcCiAgLS1jb250YWluZXItZW52IE1ZX0VO" + + "Vj12YWx1ZSBcCiAgLS1zZWNyZXRzIE1ZX1NFQ1JFVD1zM2NyM3QKYGBgCgpvciBzZXQgdGhlbSBp" + + "biB0aGUgSlNPTiBmaWxlOgoKYGBganNvbgp7CiAgImNvbnRhaW5lckVudmlyb25tZW50IjogWwog" + + "ICAgeyJrZXkiOiAiTVlfRU5WIiwgInZhbHVlIjogInZhbHVlIn0KICBdLAogICJzZWNyZXRzIjog" + + "WwogICAgeyJuYW1lIjogIk1ZX1NFQ1JFVCIsICJ2YWx1ZSI6ICJzM2NyM3QifQogIF0KfQpgYGAK" + + "ClNlY3JldHMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IGFuZCBub3QgcmV0dXJuZWQgaW4gbGlzdCBv" + + "ciBnZXQgcmVzcG9uc2VzIGJ5IGRlZmF1bHQ7IGRvIG5vdCBsb2cgdGhlbS4KCiMjIDMuIFRhc2sg" + + "Q1JFQVRFOiBIZWxtCgpGb3IgSGVsbS10eXBlIHRhc2tzLCByZXBsYWNlIGBjb250YWluZXJJbWFn" + + "ZWAgd2l0aCBgaGVsbUNoYXJ0YDoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWhlbG0tdGFz" + + "ayIsCiAgImdwdVNwZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3Rh" + + "bmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgog" + + "IH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vPG9yZz4vY2hh" + + "cnRzL2V4YW1wbGUtdGFzay0wLjEuMC50Z3oiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0ZWd5Ijog" + + "Ik5PTkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFz" + + "ay1oZWxtLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpgaGVsbUNoYXJ0YCBhbmQg" + + "YGNvbnRhaW5lckltYWdlYCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgoKIyMgM2IuIFVwZGF0ZSBz" + + "ZWNyZXRzIG9uIGEgcnVubmluZyB0YXNrCgpgYGBzaApudmNmLWNsaSB0YXNrIHVwZGF0ZS1zZWNy" + + "ZXRzIDx0YXNrX2lkPiAtLXNlY3JldHMgTkFNRT12YWx1ZQpgYGAKCmB1cGRhdGUtc2VjcmV0c2Ag" + + "bWVyZ2VzIHNlY3JldHMgYnkgbmFtZTogc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBk" + + "YXRlZCwgYW5kIGV4aXN0aW5nIHNlY3JldHMgbm90IGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGFy" + + "ZSBwcmVzZXJ2ZWQuIERvIG5vdCBlY2hvIHNlY3JldCB2YWx1ZXMgaW50byBjaGF0LgoKIyMgNC4g" + + "TW9uaXRvcgoKUG9sbCB0YXNrIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQgPHRhc2tf" + + "aWQ+CiMgLT4gaWQ6IDx0YXNrX2lkPgojIC0+IHN0YXR1czogUlVOTklORwpgYGAKCk9yIHVzZSB0" + + "aGUgdGFzayBJRCBzYXZlZCB0byBzdGF0ZSBmcm9tIHRoZSBtb3N0IHJlY2VudCBgdGFzayBjcmVh" + + "dGVgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQKYGBgCgpTdGF0dXMgdmFsdWVzOiBgUVVFVUVE" + + "YCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBgQ0FOQ0VM" + + "RURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFYX1FVRVVF" + + "RF9EVVJBVElPTmAuCgpJbnNwZWN0IGxpZmVjeWNsZSBldmVudHMgZm9yIHByb2dyZXNzIGRldGFp" + + "bHMgb3IgZmFpbHVyZSBjb250ZXh0OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBldmVudHMgPHRhc2tf" + + "aWQ+CmBgYAoKSWYgdGhlIHRhc2sgaXMgc3R1Y2sgaW4gYFFVRVVFRGAsIGNoZWNrIHRoYXQgYSBj" + + "b21wdXRlIGNsdXN0ZXIgd2l0aCBhIG1hdGNoaW5nIEdQVSBTS1UKaXMgcmVnaXN0ZXJlZCBhbmQg" + + "aGVhbHRoeSAoYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1c2ApLgoKSWYgdGhlIHRhc2sgbW92" + + "ZXMgdG8gYEVSUk9SRURgLCB0aGUgZXZlbnRzIG91dHB1dCBjb250YWlucyB0aGUgZmFpbHVyZSBy" + + "ZWFzb24uIEZvcgpjb250YWluZXItbGV2ZWwgZGV0YWlsLCBpbnNwZWN0IHRoZSB0YXNrIHdvcmts" + + "b2FkIHBvZHMgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlciB3aXRoCmBrdWJlY3RsYCBhZ2Fp" + + "bnN0IHRoZSBhcHByb3ByaWF0ZSBuYW1lc3BhY2UgYW5kIGNvbnRleHQuCgojIyA1LiBSZXRyaWV2" + + "ZSByZXN1bHRzCgpGb3IgdGFza3Mgd2l0aCBgcmVzdWx0SGFuZGxpbmdTdHJhdGVneTogTk9ORWAs" + + "IHJlc3VsdHMgYXJlIGVtcHR5IGJ5IGRlc2lnbjoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0" + + "cyA8dGFza19pZD4KIyAtPiB7InJlc3VsdHMiOiBbXX0KYGBgCgpGb3IgdGFza3Mgd2l0aCBgcmVz" + + "dWx0SGFuZGxpbmdTdHJhdGVneTogVVBMT0FEYCwgcmVzdWx0cyB1cGxvYWQgdG8gdGhlIGxvY2F0" + + "aW9uIG5hbWVkIGluCmByZXN1bHRzTG9jYXRpb25gLiBUaGUgdGFzaydzIGNyZWRlbnRpYWxzIG11" + + "c3QgaGF2ZSB3cml0ZSBhY2Nlc3MgdG8gdGhhdCBsb2NhdGlvbi4gQWZ0ZXIKdGhlIHRhc2sgcmVh" + + "Y2hlcyBgQ09NUExFVEVEYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyA8dGFza19pZD4K" + + "YGBgCgpOb3RlOiByZXN1bHQgdXBsb2FkIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGluIHRoaXMgcmVs" + + "ZWFzZS4KCiMjIDYuIENsZWFudXAKCkNhbmNlbCBhIHJ1bm5pbmcgdGFzazoKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgY2FuY2VsIDx0YXNrX2lkPgpgYGAKCkRlbGV0ZSB0aGUgdGFzayByZWNvcmQgYWZ0" + + "ZXIgaXQgcmVhY2hlcyBhIHRlcm1pbmFsIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBkZWxl" + + "dGUgPHRhc2tfaWQ+CmBgYAoKU3RvcCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBy" + + "dW5uaW5nIHRhc2sgZGVsZXRlLiBTdGF0ZSB0aGUgdGFzayBJRCBhbmQgaXRzIGN1cnJlbnQgc3Rh" + + "dHVzLiBEbyBub3QgcHJvY2VlZCBldmVuIHdoZW4gdGhlIHVzZXIncyBwcm9tcHQgYWxyZWFkeSBy" + + "ZXF1ZXN0ZWQgZGVsZXRpb24g4oCUIGFsd2F5cyBnZXQgYW4gZXhwbGljaXQgbGFzdC1sb29rIGNv" + + "bmZpcm1hdGlvbi4gRGVsZXRpb24gaXMgcGVybWFuZW50IGFuZCBjYW5ub3QgYmUgdW5kb25lLgoK" + + "VG8gbGlzdCBhbGwgdGFza3MgZm9yIHRoZSBjdXJyZW50IG93bmVyICh1c2VmdWwgYmVmb3JlIGJ1" + + "bGsgY2xlYW51cCk6CgpgYGBzaApudmNmLWNsaSB0YXNrIGxpc3QKbnZjZi1jbGkgdGFzayBsaXN0" + + "IC0tc3RhdHVzPUNPTVBMRVRFRApgYGAKCiMjIE5vdGVzCgotIEdQVSBmYW1pbHkgYW5kIGluc3Rh" + + "bmNlIHR5cGUgbXVzdCBtYXRjaCBhIHJlZ2lzdGVyZWQgY29tcHV0ZSBjbHVzdGVyIFNLVS4gTWlz" + + "bWF0Y2gKICBjYXVzZXMgdGhlIHRhc2sgdG8gcmVtYWluIGBRVUVVRURgIGluZGVmaW5pdGVseS4g" + + "VXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3RgIHRvIGNoZWNrCiAgcmVnaXN0ZXJlZCBTS1VzLgot" + + "IEZvciBjb250YWluZXIgaW1hZ2VzIG9uIHByaXZhdGUgcmVnaXN0cmllcywgZW5zdXJlIHRoZSBj" + + "b21wdXRlLXBsYW5lIGNsdXN0ZXIncwogIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGlzIGNvbmZp" + + "Z3VyZWQgZm9yIHRoZSByZWdpc3RyeSBob3N0LgpQSwcI1N6NNJ8ZAACfGQAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBs" + + "b3ktYW5kLWludm9rZS5tZFVUBQABAKbOEiMgRGVwbG95IGFuZCBpbnZva2UgYSBjb250YWluZXIg" + + "ZnVuY3Rpb24KClN0YW5kYXJkIGZvdXItc3RlcCBmbG93OiBmdW5jdGlvbiBDUkVBVEUg4oaSIERF" + + "UExPWSDihpIgQVBJIGtleSAoZm9yIGludm9rZSBzY29wZSkg4oaSIElOVk9LRS4KCiMjIDEuIEZ1" + + "bmN0aW9uIENSRUFURQoKRGVmaW5lIHRoZSBmdW5jdGlvbiBpbiBhIEpTT04gZmlsZS4gTWluaW11" + + "bToKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0" + + "aW9uIG5hbWUgYW5kIGNvbnRhaW5lciBpbWFnZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFs" + + "dWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFt" + + "cGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZp" + + "cm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29u" + + "dGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvZWNobyIsCiAgImluZmVyZW5jZVBv" + + "cnQiOiA4MDAwLAogICJkZXNjcmlwdGlvbiI6ICJzbW9rZSB0ZXN0IGVjaG8gZnVuY3Rpb24iLAog" + + "ICJmdW5jdGlvblR5cGUiOiAiREVGQVVMVCIsCiAgImFwaUJvZHlGb3JtYXQiOiAiQ1VTVE9NIiwK" + + "ICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRo" + + "IiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3Rl" + + "ZFN0YXR1c0NvZGUiOiAyMDAKICB9Cn0KYGBgCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVh" + + "dGUgLS1pbnB1dC1maWxlPWNyZWF0ZS1mbi5qc29uCiMg4oaSIEZ1bmN0aW9uIElEOiA8Zm5faWQ+" + + "CiMg4oaSIFZlcnNpb24gSUQ6IDx2ZXJfaWQ+CmBgYAoKU2F2ZSB0aGUgSURzIOKAlCB0aGV5J3Jl" + + "IG5lZWRlZCBmb3IgZGVwbG95ICsgaW52b2tlLgoKIyMjIExMTSBmdW5jdGlvbiB2YXJpYW50CgpG" + + "b3IgYW4gT3BlbkFJLWNvbXBhdGlibGUgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTog" + + "IkxMTSJgIGFuZCBwdXQgcm91dGUgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2A6" + + "CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlv" + + "biBuYW1lLCBjb250YWluZXIgaW1hZ2UsIGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElm" + + "IGFueSB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3Vi" + + "bWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6" + + "ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNvbmZp" + + "cm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVu" + + "Y2VQb3J0IjogODAwMCwKICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAg" + + "ICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgw" + + "MDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAw" + + "CiAgfSwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29uZmlybWVkLW1vZGVs" + + "LW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6IFsiL3YxL2NoYXQv" + + "Y29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5ncyJdLAogICAgICAg" + + "ICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9rZW5SYXRlTGltaXQi" + + "OiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVudCBDTEkgZmxhZyBm" + + "b3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5hbWU9Ijxjb25maXJt" + + "ZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWltYWdlPSI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFn" + + "ZT4iIFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAgLS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAt" + + "LWhlYWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFsdGgtcG9ydD04MDAwIFwKICAtLWhlYWx0aC10" + + "aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90b2NvbD1IVFRQIFwKICAtLWhlYWx0aC1leHBl" + + "Y3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9uLXR5cGU9TExNIFwKICAtLWxsbS1tb2RlbD0n" + + "bmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8L3Yx" + + "L3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRva2Vu" + + "UmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhlIHNhbWUgZGVwbG95IHN0ZXAgYmVsb3cgYWZ0" + + "ZXIgdGhlIExMTSBmdW5jdGlvbiBpcyBjcmVhdGVkLgoKT3B0aW9uYWwgbW9kZWwgcm91dGluZyB1" + + "cGRhdGUgYWZ0ZXIgY3JlYXRpb246CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiB1cGRhdGUgXAog" + + "IC0tZnVuY3Rpb24taWQ9PGZuX2lkPiBcCiAgLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+IFwKICAtLWxs" + + "bS1tb2RlbC11cGRhdGU9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPixyb3V0aW5nTWV0aG9k" + + "PXBvd2VyX29mX3R3byx0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoaXMgZm9yIG11" + + "dGFibGUgYHJvdXRpbmdNZXRob2RgIGFuZCBgdG9rZW5SYXRlTGltaXRgOyBjcmVhdGUtdGltZSBg" + + "dXJpc2Agc3RheSBpbiBgbW9kZWxzW10ubGxtQ29uZmlnYC4KYHRva2VuUmF0ZUxpbWl0YCBzdXBw" + + "b3J0cyBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBmb3IgYFNgLCBgTWAsIGBIYCwgYERg" + + "LCBhbmQgYFdgLiBVc2UgYDEwMDAtU2AgZm9yIGEgc2luZ2xlIGlubGluZSBDTEkgbGltaXQuIFVz" + + "ZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCBsaW1pdHMsIHN1Y2ggYXMgYDEwMDAtUyw1MDAwLU0s" + + "MTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCwgYmVjYXVzZSBpbmxpbmUgbW9kZWwgc3BlY3Mg" + + "dXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLgoKIyMjIEhlbG0gY2hhcnQgTExNIGZ1bmN0" + + "aW9uIHZhcmlhbnQKCkxMTSBmdW5jdGlvbiB0eXBlIGlzIGluZGVwZW5kZW50IG9mIHdvcmtsb2Fk" + + "IHBhY2thZ2luZy4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBrZWVwIHRo" + + "ZSBzYW1lIGBmdW5jdGlvblR5cGVgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmaWVsZHMsIHRo" + + "ZW4gc2V0IGBoZWxtQ2hhcnRgIGFuZCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLiBUaGUgc2Vydmlj" + + "ZSBuYW1lIG11c3QgbWF0Y2ggYSBLdWJlcm5ldGVzIFNlcnZpY2UgcmVuZGVyZWQgYnkgdGhlIGNo" + + "YXJ0LCBhbmQgYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQuCgpCZWZv" + + "cmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1l" + + "IGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5n" + + "LCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZv" + + "ciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9u" + + "LW5hbWU+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwK" + + "ICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJI" + "VFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91" + - "dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfQp9CmBgYAoKYGBg" + - "c2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQtZmlsZT1jcmVhdGUtZm4uanNvbgoj" + - "IOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJzaW9uIElEOiA8dmVyX2lkPgpgYGAK" + - "ClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9yIGRlcGxveSArIGludm9rZS4KCiMj" + - "IyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5BSS1jb21wYXRpYmxlIExMTSBmdW5j" + - "dGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgcHV0IHJvdXRlIG1ldGFkYXRhIHVu" + - "ZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwg" + - "Y29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29udGFpbmVyIGltYWdlLCBhbmQgbW9k" + - "ZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQg" + - "YXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmll" + - "bGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAg" + - "ImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFpbmVyLWltYWdlPiIsCiAgImluZmVy" + - "ZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6" + - "ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjog" + - "Ii9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAg" + - "ImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAg" + - "Im5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAg" + - "ICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAi" + - "L3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIs" + - "CiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpg" + - "YGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNy" + - "ZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbWFnZT0i" + - "PGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0t" + - "aW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRo" + - "LXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9j" + - "b2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10" + - "eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPix1cmlz" + - "PS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8L3YxL2VtYmVkZGluZ3Mscm91dGlu" + - "Z01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoZSBz" + - "YW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0gZnVuY3Rpb24gaXMgY3JlYXRlZC4K" + - "Ck9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVyIGNyZWF0aW9uOgoKYGBgc2gKbnZj" + - "Zi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9uLWlkPTxmbl9pZD4gXAogIC0tdmVy" + - "c2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBkYXRlPSduYW1lPTxjb25maXJtZWQt" + - "bW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90d28sdG9rZW5SYXRlTGltaXQ9MTAw" + - "MC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0aW5nTWV0aG9kYCBhbmQgYHRva2Vu" + - "UmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkgaW4gYG1vZGVsc1tdLmxsbUNvbmZp" + - "Z2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1p" + - "dHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4gVXNlIGAxMDAwLVNgIGZvciBhIHNp" + - "bmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgbGltaXRz" + - "LCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUwMDAwMC1ELDEwMDAwMDAtV2AsIGJl" + - "Y2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJhdG9ycy4K" + - "CiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50CgpMTE0gZnVuY3Rpb24gdHlwZSBp" + - "cyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcuIEZvciBhIEhlbG0tY2hhcnQgYmFj" + - "a2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVuY3Rpb25UeXBlYCBhbmQgYG1vZGVs" + - "c1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVsbUNoYXJ0YCBhbmQgYGhlbG1DaGFy" + - "dFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0IG1hdGNoIGEgS3ViZXJuZXRlcyBT" + - "ZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBpbmZlcmVuY2VQb3J0YCBtdXN0IGJl" + - "IHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmly" + - "bSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJ" + - "ZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9y" + - "IHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5h" + - "bWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwK" + - "ICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFs" + - "dGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAg" + - "InBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVz" + - "Q29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5j" + - "b20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0aWJsZS0wLjEuMC50Z3oiLAogICJo" + - "ZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0aWJsZSIsCiAgIm1vZGVscyI6IFsK" + - "ICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAgICJsbG1D" + - "b25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25zIiwgIi92MS9y" + - "ZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01ldGhvZCI6ICJy" + - "b3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIKICAgICAgfQog" + - "ICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNoCm52Y2YtY2xp" + - "IGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiBc" + - "CiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFs" + - "dGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91" + - "dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQt" + - "c3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1oZWxtLWNoYXJ0PWh0dHBz" + - "Oi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5haS1jb21wYXRp" + - "YmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZpY2U9b3BlbmFpLWNvbXBhdGlibGUg" + - "XAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4sdXJpcz0vdjEvY2hh" + - "dC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJlZGRpbmdzLHJvdXRpbmdNZXRob2Q9" + - "cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKCkRlcGxveSBpcyB1bmNoYW5n" + - "ZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIgYGRlcGxveW1lbnRTcGVjaWZpY2F0" + - "aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUgY2hhcnQgbmVlZHMgdmFsdWUgb3Zl" + - "cnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25J" + - "ZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1" + - "IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1p" + - "bkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29u" + - "Y3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjogewogICAgICAic2VydmluZyI6IHsK" + - "ICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAgICB9CiAgICB9CiAgfV0KfQpgYGAK" + - "CkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUgT3BlbkFJIGBtb2RlbGAgdmFsdWUu" + - "IFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0aGUgZnVuY3Rpb24gSUQgc2VsZWN0" + - "cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB0byB0" + - "aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJnYXRlLWNsaWVudGAuCgpTdXBwb3J0" + - "ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0tLSB8IC0tLSB8CnwgYC92MS9jaGF0" + - "L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBhbmQgc2Vzc2lvbiBzdGlja2luZXNz" + - "LiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3BvbnNlcyBwcm94eSBwYXRoOyByZWxh" + - "eXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0dXJucyB0ZXJtaW5hbCBKU09OIGZv" + - "ciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNlc3Npb24gc3RpY2tpbmVzcy4gfAp8" + - "IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBvciBzdHJpbmctYXJyYXkgYGlucHV0" + - "YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBjb250YWluIGF0IG1vc3QgMjA0OCBl" + - "bnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMjIDIuIEZ1bmN0aW9uIERFUExPWQoK" + - "YGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVy" + - "X2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAi" + - "LAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNl" + - "cyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3ki" + - "OiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUgR1BVICoqZmFtaWx5KiogKGUuZy4g" + - "YEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAoZS5nLiBgTkNQLkdQVS5IMTAwXzF4" + - "YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFsaWQgR1BVIi4KCmBgYHNoCm52Y2Yt" + - "Y2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPWRlcGxveS1mbi5qc29uCmBg" + - "YAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhlIGRlcGxveW1lbnQgcmVhY2hlcyBB" + - "Q1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBpdCByZXR1cm5zIHJjPTAsIGEgZnVu" + - "Y3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJhY2tlbmRgIG5hbWVzcGFjZSBvbiB0" + - "aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWludCBhbiBBUEkga2V5IHdpdGggYGlu" + - "dm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0YCdzIGFkbWluIHRva2VuIGRvZXMg" + - "Tk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSDigJQgaW52b2tlIHdvdWxkIDQw" + - "MyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGllcyIuIE1pbnQgYW4gQVBJIGtleToK" + - "CmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0iPGNvbmZpcm1l" + - "ZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1pbj0xaAojIOKGkiBBUEkgS2V5OiBu" + - "dmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1dG9tYXRpY2FsbHkgc2F2ZWQgdG8g" + - "dGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBuZXh0IGBmdW5jdGlvbiBpbnZva2Vg" + - "IGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hhdCAvIGxvZ3MqKi4KCiMjIDQuIEZ1" + - "bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIsCiAgInZl" + - "cnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5IjogeyJtZXNzYWdlIjogImhlbGxv" + - "In0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGludm9rZSAtLWlucHV0LWZpbGU9aW52" + - "b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlvbiBjb21wbGV0ZWQhCiMg4oaSIFN0" + - "YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4uLgpgYGAKCkZvciBhbiBMTE0gZnVu" + - "Y3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUgcm91dGUgYWZ0ZXIgZGVwbG95bWVu" + - "dDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFp" + - "bj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtO" + - "VkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAog" + - "IC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAg" + - "ICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwogICAgICB7CiAgICAgICAgInJvbGUi" + - "OiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8iCiAgICAgIH0KICAgIF0KICB9Jwpg" + - "YGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJlIGA8ZnVuY3Rpb24taWQ+Lzxtb2Rl" + - "bC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0aGUgZnVuY3Rpb24gYW5kIG1vZGVs" + - "LgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6" + - "Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25zZXMiIFwKICAtSCAiQXV0aG9yaXph" + - "dGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1IICJDb250ZW50LVR5cGU6IGFwcGxp" + - "Y2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjogIjxmbl9pZD4vPGNvbmZpcm1lZC1t" + - "b2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBvbmUgc2VudGVuY2Ugc3VtbWFyeSBv" + - "ZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBsZToKCmBgYHNoCmN1cmwgLXNTIC1Y" + - "IFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvZW1iZWRkaW5ncyIgXAog" + - "IC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRl" + - "bnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lk" + - "Pi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJOVkNGIGVtYmVkZGluZ3Mg" + - "Y2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9yZWRgLCBxdWVyeSBJQ01TIGZvciB0" + - "aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNs" + - "dXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMgNS4gQ2xlYW51cAoKV2hlbiB0aGUg" + - "dXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6CgpgYGBzaApudmNmLWNsaSBmdW5jdGlv" + - "biBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVyc2lvbi1pZD08dmVyX2lkPgpgYGAK" + - "CioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxldGluZy4qKiBUaGlzIHJlbW92ZXMg" + - "Ym90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9uIHJlY29yZC4KCiMjIE5vdGVzCgot" + - "IERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5kaW5nIG9uIE5BVFMgc3RyZWFtLWlu" + - "aXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4g" + - "ZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2lsbCB0aGUgYGZ1bmN0aW9uIGRlcGxv" + - "eSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZlcmVudCBHUFUgZmFtaWxpZXMsIGNo" + - "YW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0b2dldGhlci4gQ29tbW9uIFNLVXM6" + - "IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4YCwgYE5DUC5HUFUuQTEwMF8xeGAu" + - "Ci0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11c3QgYmUgcHVsbGFibGUgZnJvbSB0" + - "aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmln" + - "IChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kYCBpZiBwb2RzIGxh" + - "bmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQYJQAAGCUAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25v" + - "c2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdub3NlIGEgZmFpbGVkIHNlbGYtaG9z" + - "dGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0YWxsIGZhaWxlZCIgb3IgIlggaXNu" + - "J3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0aGUgY2x1c3Rlci4KCiMjIDEuIEdl" + - "dCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8" + - "IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhlIHNuYXBzaG90LiBQYXJzZSBgLnZl" + - "cmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5nJ3Mgd3JvbmcuIEFzayB0aGUgdXNl" + - "ciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVpciBwcm9ibGVtIG1heSBiZSBhdCBh" + - "IGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBuZXR3b3JrLCBldGMuKS4KLSAqKmBk" + - "ZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBub3QgcmVhZHkuIFRoZSBDb21w" + - "b25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9zdCBjb21tb246IGBjYXNzYW5kcmFg" + - "IFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNlYWxlZCwgYHNpc2AgSW1hZ2VQdWxs" + - "QmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNrZW5kIGBIZWFsdGg9RmFpbGVkYC4g" + - "UmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1cyBjb25kaXRpb24gbWVzc2FnZS4K" + - "LSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxlLiBUaGUgY29udHJvbCBwbGFuZSBp" + - "dHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdldCBwb2RzIC1uIHNpc2AgZGlyZWN0" + - "bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNvbXBvbmVudAoKRm9yIGVhY2ggbm9u" + - "LXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1ZGVzIGEgYG1lc3NhZ2VgIChlLmcu" + - "IGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3NgKS4gQXNrIHRoZSB1c2VyIHRvIHJ1" + - "bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxucz4gPHBvZD4Ka3ViZWN0bCBsb2dz" + - "IC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRhaWw9MTAwCmBgYAoKU3VyZmFjZSB0" + - "aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRl" + - "IHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBDYXNzYW5kcmEgcmVzdGFydCBsb3Nl" + - "cyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4gQ29tbW9uIHBhdHRlcm5zCgp8IFN5" + - "bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBgY2Fz" + - "c2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWluIHwgU3RvcmFnZUNsYXNzIG1pc3Np" + - "bmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtQWAg4oCUIGNv" + - "bmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMuIExvY2FsIGRldjogYGt1YmVjdGwg" + - "cGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlv" + - "bnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUi" + - "fX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2Fu" + - "ZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBhYm92ZSB8IFNhbWUgfAp8IGBHYXRl" + - "d2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGlnaHQpIHwgTXVsdGktY2x1c3RlciBg" + - "bnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52b3ktZ2F0ZXdheSBwcmVyZXF1aXNp" + - "dGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2Vy" + - "LmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lz" + - "dGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + - "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdlbnQpIHwgQ29tcHV0ZSBwbGFuZSdz" + - "IFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hvc2UgSldLUyBkb2Vzbid0IG1hdGNo" + - "IHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVyOiBgbnZjZi1jbGkgY2x1c3RlciBy" + - "b3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRo" + - "ZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6IEFub3Ro" + - "ZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRgIChpbml0" + - "IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9uLmpzb24gZnJvbSBhIGRpZmZlcmVu" + - "dCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0YXRlYCB0aGVuIGBudmNmLWNsaSBp" + - "bml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdlUHVsbEJhY2tPZmYgZm9yIGBudmNh" + - "LW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgKG11bHRpLWNsdXN0ZXIgdG9w" + - "b2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFnZSBpbXBvcnQgbnZjci5pby8uLi4v" + - "bnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9yIHdoYXRldmVyIHlvdXIgaW1hZ2Ug" + - "cHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxt" + - "ZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVudiBwcm9wYWdhdGlvbiBmaXggbGFu" + - "ZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgdmVyc2lvbiBh" + - "ZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNlciB3YW50cyB0byBzdGFydCBvdmVy" + - "CgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2luZ2xlLWNsdXN0ZXI6IGBjZCBudmNm" + - "LXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lgIChvciBgaGVsbSB1bmluc3RhbGxg" + - "IHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11bHRpLWNsdXN0ZXI6IGBoZWxtIHVu" + - "aW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRlIHBs" + - "YW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVs" + - "ZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhlIElDTVMgcm93LgoKQWx3YXlzIGNv" + - "bmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2FuZHJhIFN0YXRlZnVsU2V0IFBWQyBk" + - "ZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1c3Rlcl9vaWRjIHJvd3MuCgojIyBX" + - "aGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0tZGVidWdgIGFzIGEgZml4LioqIEl0" + - "J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9zZSBgaGVsbSB1bmluc3RhbGxgKiog" + - "dW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8gc3RhcnQgb3Zlci4KLSAqKkRvbid0" + - "IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVyIHdpdGhvdXQgY29uZmlybWF0aW9u" + - "IOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgotICoqRG9uJ3QgcmUtcnVuIGB1cGAg" + - "d2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0IGhhcHBlbnMiLiBEaWFnbm9zZSB3" + - "aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZpcnN0LgpQSwcIcpIsJr4OAAC+DgAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOEiMgSW5zdGFsbCBzZWxmLWhv" + - "c3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0byBicmluZyB1cCBzZWxmLWhvc3Rl" + - "ZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVyIChvciBrM2QgZm9yIGxvY2FsIGRl" + - "dikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9pbnQuCgojIyBTdGVwcwoKMS4gQ29u" + - "ZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAgLSAiU2luZ2xlLWNsdXN0ZXIgKGNv" + - "bnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25lIGNsdXN0ZXIsIHNpbXBsZXIpIG9y" + - "IHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwgY29tcHV0ZSBwbGFuZSBvbiBjbHVz" + - "dGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldoYXQncyB0aGUgY2x1c3RlciBuYW1l" + - "ICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVzIHRoZSBJQ01TIHJvdyBpZGVudGlm" + - "aWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2NhbCBkZXYsIGBwcm9kLXVzLWVhc3Qt" + - "MWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDogIkNvbnRyb2wtcGxhbmUga3ViZWNv" + - "bmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29udGV4dD8gUHVibGljIElDTVMgVVJM" + - "PyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENMSSBjb25maWcgaWYgdGhpcyBpcyBu" + - "b3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0aGUgY29udHJvbCBwbGFuZSwgdGhl" + - "biBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBpbnZvY2F0aW9uLAogICBhbmQgZ1JQ" + - "QyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRoZSBHYXRld2F5IG11c3QgYmUgcHJv" + - "Z3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBwb2ludCBhdCB0aGUgR2F0ZXdheSBs" + - "b2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJZiBHYXRld2F5IEFQSSBpbmdyZXNz" + - "IGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBmaXJzdC4gVGhlc2UgYXJlIHRoZQog" + - "ICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5IG9uZS1jbGljaywgSGVsbWZpbGUs" + - "IGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0aHM6CgogICBgYGBzaAogICBrdWJl" + - "Y3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvZ2F0ZXdheS1h" + - "cGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1lbnRhbC1pbnN0YWxsLnlhbWwKCiAg" + - "IGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gZW52b3ktZ2F0ZXdheSBhcGkt" + - "a2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlICIkbmFt" + - "ZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAg" + - "ZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMg" + - "bnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFjZSAiJG5hbWVzcGFjZSIgbnZjZi9w" + - "bGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAgIGhlbG0gdXBncmFkZSAtLWluc3Rh" + - "bGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIFwKICAgICAtLXZl" + - "cnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBgYGAKCiAgIEJl" + - "Zm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRlcm1pbmUgd2hpY2ggU2VydmljZSBj" + - "b250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24gRUtTLiBEbyBub3QgYXBwbHkgdGhl" + - "IG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRoZQogICBtYXRjaGluZyBgZW52b3lT" + - "ZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBBUEkgYW5kIHRoZSBpbi1jbHVzdGVy" + - "CiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9mIGd1ZXNzaW5nIGZyb20gdGhlIGNs" + - "dXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoKICAgYGBgc2gKICAgZXhwb3J0IEVL" + - "U19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAgYXdzIGVrcyBkZXNjcmliZS1jbHVz" + - "dGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAgICAtLXF1ZXJ5ICdjbHVzdGVyLmt1" + - "YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFsYW5jaW5nLmVuYWJsZWQnIFwKICAg" + - "ICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1zeXN0ZW0gZ2V0IGRlcGxveW1lbnQg" + - "YXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAKCiAgIEFuIEVLUyBBUEkgcmVzdWx0" + - "IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2RlXShodHRwczovL2RvY3MuYXdzLmFt" + - "YXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1jb25maWd1cmUtbmxiLmh0bWwpLgog" + - "ICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50IGxvb2t1cCBzZWxlY3RzIHRoZSBB" + - "V1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBuZWl0aGVyIGlzIHByZXNlbnQsIGNv" + - "bmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5CiAgIHVzZXMgdGhlIGxlZ2FjeSBB" + - "V1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVyLCBvciBpbnN0YWxsIHRoZSBBV1MK" + - "ICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUgYXBwbHlpbmcgdGhlIGV4YW1wbGUu" + - "CgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBmb3IgdGhlIEFXUyBMb2FkIEJhbGFu" + - "Y2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2RlLCByZXBsYWNlIGl0cyBgZW52b3lT" + - "ZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95" + - "U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtzLmFtYXpvbmF3cy5jb20vbmxiCiAg" + - "ICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9h" + - "ZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmciCiAgIGBgYAoKICAgRm9yIHRoZSBs" + - "ZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29udHJvbGxlciwgcmVwbGFjZSB0aGUg" + - "bWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBhbm5vdGF0aW9uczoK" + - "ICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXR5cGU6" + - "ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9sbGVyIGNyZWF0ZXMgYW4gaW50ZXJu" + - "ZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4KICAgRG8gbm90IGNvbWJpbmUgdGhl" + - "IGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250" + - "cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3RhdGlvbnMuIEl0IHN1cHBvcnRzIGFu" + - "IE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5IFRDUCBvciBvbmx5IFVEUCwgYnV0" + - "IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwogICBUQ1AgYW5kIFVEUCBwb3J0cy4g" + - "VXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyIHdoZW4gdGhlIGdlbmVyYXRlZAog" + - "ICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4gT24gbm9uLUFXUyBjbHVzdGVycywg" + - "cmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVyJ3MgU2VydmljZSBjb25maWd1cmF0" + - "aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAgICMgTm9uLUVLUy1BdXRvLU1vZGUg" + - "ZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0YXJnZXRzLgogICBrdWJlY3RsIGFw" + - "cGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5lbnZveXByb3h5LmlvL3YxYWxw" + - "aGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogZWcKICAgICBu" + - "YW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNwZWM6CiAgICAgcHJvdmlkZXI6CiAg" + - "ICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5ldGVzOgogICAgICAgICBlbnZveVNl" + - "cnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEu" + - "a3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBlOiAiZXh0ZXJuYWwiCiAgICAgICAg" + - "ICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1ubGItdGFy" + - "Z2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVz" + - "LmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0LWZhY2luZyIKICAgLS0tCiAg" + - "IGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdh" + - "eUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAgIHNwZWM6CiAgICAgY29udHJvbGxl" + - "ck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5Y2xhc3MtY29udHJvbGxlcgogICAg" + - "IHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdheS5lbnZveXByb3h5LmlvCiAgICAg" + - "ICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwogICAgICAgbmFtZXNwYWNlOiBlbnZv" + - "eS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBh" + - "cGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlvL3YxCiAgIGtpbmQ6IEdhdGV3YXkK" + - "ICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgbmFtZXNwYWNlOiBlbnZv" + - "eS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNzTmFtZTogZWcKICAgICBsaXN0ZW5l" + - "cnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2NvbDogSFRUUAogICAgICAgcG9ydDog" + - "ODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAg" + - "ZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFi" + - "ZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgICAtIG5hbWU6IHRj" + - "cAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDogMTAwODEKICAgICAgIGFsbG93ZWRS" + - "b3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAg" + - "ICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAg" + - "ICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBgYAoKICAgU2VydmljZSBhbm5vdGF0" + - "aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNwZWMucHJvdmlkZXIua3ViZXJuZXRl" + - "cy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBHYXRld2F5CiAgIGNvcGllcyB0aGVt" + - "IHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8gbm90IHB1dCBTZXJ2aWNlIGFubm90" + - "YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2UuCgogICBDYXB0dXJlIHRoZSBHYXRl" + - "d2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6CgogICBgYGBzaAogICBleHBvcnQg" + - "Q0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0IE5DQV9JRD0ibnZjZi1kZWZhdWx0" + - "IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFN" + - "RVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRUUF9HQVRFV0FZX05BTUU9Im52Y2Yt" + - "Z2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXki" + - "CiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgoKICAga3ViZWN0bCAt" + - "biAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEhUVFBfR0FURVdBWV9O" + - "QU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBt" + - "CiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiB3YWl0ICJnYXRld2F5LyRH" + - "UlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRpdGlvbj1Qcm9ncmFtbWVkPVRydWUg" + - "LS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkSFRU" + - "UF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRIVFRQX0dBVEVXQVlfTkFNRSIgXAog" + - "ICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIGV4cG9y" + - "dCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIkR1JQQ19HQVRFV0FZX05BTUVTUEFD" + - "RSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7" + - "LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRlc3QgLW4gIiRHQVRFV0FZX0FERFIi" + - "IHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICBl" + - "eHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgogICBgYGAKCiAgIFNldCBgU1RBQ0tf" + - "RE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQgYnkgdGhlIGluc3RhbGxlZCBIVFRQ" + - "Um91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0aG91dCBwcm9kdWN0aW9uIEROUywg" + - "dXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRkcmVzcy4KCiAgIGBgYHNoCiAgIGNh" + - "dCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0cF91cmw6ICJodHRwOi8vJHtHQVRF" + - "V0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9BRERSfSIKICAgYmFz" + - "ZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEwMDgxIgogICBhcGlfa2V5c19zZXJ2" + - "aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgogICBhcGlfa2V5c19ob3N0OiAiYXBp" + - "LWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDogImFwaS4ke1NUQUNLX0RPTUFJTn0i" + - "CiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNLX0RPTUFJTn0iCgogICBhcGlfa2V5" + - "c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9ucy1uY3Atc2VydmljZS1pZC1ha2V0" + - "bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNmLWFwaSIKICAgYXBpX2tleXNfb3du" + - "ZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGllbnRfaWQ6ICIke05DQV9JRH0iCiAg" + - "IEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9vc2UgdGhlIGZsYXZvciBtYXRjaGlu" + - "ZyB0aGUgdG9wb2xvZ3kuIGAtLWpzb25gIHdyaXRlcwogICBKU09OTCB0byBzdGRlcnIsIHNvIHJl" + - "ZGlyZWN0IGl0IHRvIHRoZSBwYXJzZXIgYW5kIGtlZXAgb25seSBKU09OIGxpbmVzOgoKICAgYGBg" + - "c2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXBy" + - "ZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKCiAgICMg" + - "U3BsaXQ6IHBhc3MgYm90aCBjb250ZXh0IGZsYWdzCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNo" + - "ZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD1hZG1pbkBjcCBcCiAgICAg" + - "LS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgICAgLS1qc29uIDI+JjEgPi9k" + - "ZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgogICAjIEdhdGUgb24gdGhlIGZpbmFs" + - "IGV2ZW50LiBBIG1pc3NpbmcgZmluYWwgZXZlbnQgYWxzbyBmYWlscyB0aGUgZ2F0ZS4KICAganEg" + - "LXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29u" + - "bAogICBgYGAKCiAgIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93IHRoZSB1c2VyIGVhY2ggYGNoZWNr" + - "X2NvbXBsZXRlZGAgZXZlbnQgd2l0aAogICBgcGFzc2VkOiBmYWxzZWAgYW5kIGBzZXZlcml0eTog" + - "ImVycm9yImAgKGl0cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJMYCksIGFuZAogICBzdG9wLiBEb24n" + - "dCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJlcmVxcy4gUm93cyBhdAogICBgc2V2" + - "ZXJpdHk6ICJ3YXJuaW5nImAgZG8gbm90IGZhaWwgdGhlIGdhdGU7IG1lbnRpb24gdGhlbS4gRm9y" + - "IGFuIG9wZXJhdG9yCiAgIHdpdGgga3ViZWN0bCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGUgcGxhbmUg" + - "b25seSwgdXNlIHRoZSBjb21wdXRlLW9ubHkgZm9ybSBpbgogICBbYWRkLWNvbXB1dGUtcGxhbmUu" + - "bWRdKGFkZC1jb21wdXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoKNC4gTWludCBhbiBhZG1pbiB0b2tl" + - "biBpZiBuZWVkZWQuIGBudmNmLWNsaSBpbml0YCBpcyBpZGVtcG90ZW50LiBDYWxsIGl0IGlmIHRo" + - "ZQogICB1c2VyIGRvZXMgbm90IGhhdmUgYSBzZXNzaW9uIHlldC4gSW5pdCB0YWxrcyB0byBBUEkg" + - "S2V5cyB0aHJvdWdoIHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3YXksIHNvIGl0IGFsc28gd29ya3Mg" + - "aW4gY29tcHV0ZS1vbmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4gVXNlIGAtLWpzb25gIGZvciB0aGUg" + - "SlNPTkwgZXZlbnQgc3RyZWFtOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdXAg" + - "XAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5jYS1pZD0i" + - "JHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNvbgogICBg" + - "YGAKCiAgIEZvciBzcGxpdC1jbHVzdGVyIGluc3RhbGxzLCBhZGQgYm90aCBjb250ZXh0IGZsYWdz" + - "OgoKICAgYGBgc2gKICAgZXhwb3J0IENPTlRST0xfUExBTkVfQ09OVEVYVD0iYWRtaW5AY29udHJv" + - "bC1wbGFuZSIKICAgZXhwb3J0IENPTVBVVEVfUExBTkVfQ09OVEVYVD0iYWRtaW5AZ3B1LWNsdXN0" + - "ZXIiCgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jb250cm9sLXBsYW5lLWNv" + - "bnRleHQ9IiR7Q09OVFJPTF9QTEFORV9DT05URVhUfSIgXAogICAgIC0tY29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PSIke0NPTVBVVEVfUExBTkVfQ09OVEVYVH0iIFwKICAgICAtLWNsdXN0ZXItbmFtZT0i" + - "JHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7TkNBX0lEfSIgXAogICAgIC0tcmVn" + - "aW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBgCgogICBQYXJzZSBldmVudHM6CiAg" + - "IC0gYHBoYXNlX3N0YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRlZGA6IGxvZyBwcm9ncmVzcwogICAt" + - "IGBwaGFzZV9wcm9ncmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9yIHRoZSBsb25nIGFwcGx5IHBoYXNl" + - "cyAocmVzb3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYDogc3VyZmFjZSB0byB0aGUgdXNlciBp" + - "ZiBpdCBwZXJzaXN0cyBmb3IgbW9yZSB0aGFuIDIgbWludXRlcwogICAtIGBwaGFzZV9mYWlsZWRg" + - "OiBzdG9wIGFuZCBzdXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVzIGVhY2ggYHJlbWVkaWF0aW9uYCBs" + - "aW5lLgogICAgIERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFzc2A6IGBpbW1lZGlhdGVgIC0+IG1h" + - "eSByZS1ydW4gbm93IHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBgYmFja29mZmAgLT4gd2FpdCBg" + - "cmV0cnlBZnRlclNlY2AgYW5kIHRoZW4gcmUtcnVuIHdpdGggdXNlcgogICAgIGFwcHJvdmFsOyBg" + - "YWZ0ZXJfcmVtZWRpYXRpb25gLCBgbm9uZWAsIG9yIGB1bmtub3duYCAtPiB0aGUgb3BlcmF0b3Ig" + - "bXVzdAogICAgIGFjdCBmaXJzdCwgc28gZG8gbm90IGF1dG8tcmV0cnkuCiAgIC0gYGZpbmFsYDog" + - "ZG9uZS4gUHJpbnQgY2x1c3RlcklkIGFuZCBOVkNGQmFja2VuZCBoZWFsdGguCgo2LiBWZXJpZnkg" + - "d2l0aCBzdGF0dXMuIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpx" + - "YCBhbmQgZXhwZWN0CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJgLiBPdGhlcndpc2UsIHVzZQogICBb" + - "ZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1kKS4K" + - "CjcuIE9wdGlvbmFsbHkgc21va2UgdGVzdCBhIGZ1bmN0aW9uLiBVc2UKICAgW2RlcGxveS1hbmQt" + - "aW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9yIHRoZSBjcmVhdGUgLT4gZGVwbG95" + - "IC0+CiAgIGludm9rZSBmbG93LgoKIyMgTm90ZXMKCi0gU2luZ2xlLWNsdXN0ZXIgYHVwYCBhZ2Fp" + - "bnN0IGEgZnJlc2ggY2x1c3RlciB0YWtlcyBhYm91dCAxMC0xMyBtaW51dGVzLAogIGRlcGVuZGlu" + - "ZyBvbiBjaGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVhbS1pbml0IGxhdGVuY3kuCi0gYHVw" + - "YCBpcyBpZGVtcG90ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1biBhZnRlciBmaXhpbmcgYSBwcmVy" + - "ZXF1aXNpdGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAgKG5vIGNvbW1hbmQgdGFrZXMgb25l" + - "IGFueXdheSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRDSWAgc2V0LCBhbHdheXMgdXNlIGAt" + - "LW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZlciBwcm9wb3NlIGBudmNmLWNsaSBp" + - "bml0YCBpbnRlcmFjdGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9yb3RhdGUtY2x1c3Rl" + - "ci1qd2tzLm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVyJ3MgSldLUwoKVXNlciBzYXlzIE5W" + - "Q0Egc3RvcHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBhdXRoIGlzIDQwMS1pbmcgYWdhaW5z" + - "dCBJQ01TLiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2lnbmluZyBrZXlzIG1heSBoYXZlIHJv" + - "dGF0ZWQgYW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlzIG5vdyBzdGFsZS4KCiMjIFdoZW4g" + - "dG8gcm90YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + - "ZXMuaW8vbmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy88" + - "aWQ+L3JlZ2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dzIHNob3cgYE5vIGNsdXN0ZXIgZm91" + - "bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoY2F1c2VkIGJ5IGlzc3Vl" + - "ciBtaXNtYXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4ZXMgYm90aCkKLSBBZnRlciBhIGNv" + - "bnRyb2wtcGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1wbGFuZSBLOHMgdXBncmFkZQoKIyMg" + - "U3RlcHMKCjEuIENvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1biBgbnZjZi1jbGkgY2x1c3RlciBs" + - "aXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYC4gSWRlbnRp" + - "ZnkgdGhlIHJvdyBtYXRjaGluZyB0aGUgdXNlcidzIGNvbXB1dGUgcGxhbmUuCgoyLiAqKlJvdGF0" + - "ZS4qKiBGcm9tIGEgY29udGV4dCB0aGF0IGNhbiByZWFjaCB0aGUgY29tcHV0ZSBwbGFuZSdzIEs4" + - "cyBBUEkgKGJlY2F1c2Ugcm90YXRpb24gcmUtZmV0Y2hlcyB0aGUgSzhzIEFQSSdzIGAvb3Blbmlk" + - "L3YxL2p3a3NgKToKCiAgIGBgYHNoCiAgIGt1YmVjdGwgY29uZmlnIHVzZS1jb250ZXh0IDxjdHg+" + - "CiAgIG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+CiAgIGBgYAoKICAg" + - "YGNsdXN0ZXIgcm90YXRlYCByZWFkcyB0aGUgY3VycmVudCBjb250ZXh0LCBvciB0aGUgb25lIGAt" + - "LWt1YmVjb25maWc9PHBhdGg+YCBzZWxlY3RzLiBJdCByZS1mZXRjaGVzIEpXS1MgZnJvbSB0aGUg" + - "Y29tcHV0ZSBwbGFuZSdzIEs4cyBBUEkgYW5kIFBVVHMgaXQgdG8gSUNNUy4gVGhlIGNsdXN0ZXIg" + - "SUQgc3RheXMgdGhlIHNhbWUuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkgY2x1c3RlciBnZXQg" + - "LS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRgIGFkdmFuY2VkLiBUaGVu" + - "IGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1u" + - "dmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3VsZCBzdWNjZWVkICgyMDAs" + - "IG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBgY2x1c3RlciBkZWxldGVg" + - "LioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdyb3VwIElEOyBkZWxldGUg" + - "Y3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95IHRoZSBjb21wdXRlIHBs" + - "YW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQgYG91dC88Y2x1c3Rlcj4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElDTVMgb25seTsgdGhlIGhl" + - "bG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0ZXIgSUQuCgojIyBJZiBy" + - "b3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBtYXkgYmUgYXQgYSBkaWZm" + - "ZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91dCBoZWFsdGggKGBrdWJl" + - "Y3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2Vg" + - "KQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5X2NsdXN0ZXJfaWRgIENh" + - "c3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZpZ21hcCBoYXMgYGF1dGh6" + - "Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZhaWxlZC1pbnN0YWxsLm1k" + - "XShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNoZWNrcy4KUEsHCOCCPFUi" + - "CAAAIggAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIgZG93biBhIHNlbGYtaG9z" + - "dGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24gZGVzdHJveXMgcGVyc2lz" + - "dGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBrZXlzLCByZWdpc3RlcmVk" + - "IGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgYW55IHN0ZXAu" + - "CgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5zdGFsbGAgZm9yIHBlci1w" + - "bGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3duIHN1cmZhY2Ugc3ltbWV0" + - "cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToKCnwgVGllciB8IFVwIHNp" + - "ZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwKfCBQZXItcGxhbmUgcHJp" + - "bWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBgaW5zdGFsbCAtLWNvbnRy" + - "b2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1bmluc3RhbGwgLS1jb250" + - "cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8CnwgT3JjaGVzdHJhdG9y" + - "IChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8" + - "IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwKClVzZSBgZG93bmAgZm9y" + - "IG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRPcHMgKGNvbW1pdCBZQU1M" + - "OyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVzLiBBbHdheXMgc3RhcnQg" + - "d2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2RlIHwgTGl2ZXMgb24gfCBJ" + - "bnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBgLS1w" + - "bGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykgfCAqKk5vLioqIFdhbGtz" + - "IHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBoYXNlIHBsYW4gKyBFVEFz" + - "ICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50IHN0cmVhbSB8CnwgYC0t" + - "bm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1pdGl2ZXMpIHwgKipZZXMu" + - "KiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0gZ2V0IG1hbmlmZXN0YCBm" + - "b3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBgZG93biAtLXBsYW4tb25s" + - "eSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVzdHJhdG9yIHBoYXNlcyB3" + - "aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1" + - "dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhlIFlBTUwgSSdkIGBrdWJl" + - "Y3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMgcHJldmlldyBmaXJzdC4K" + - "bnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1uY3At" + - "bG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBXaGVuIHRvIHVzZSB3aGlj" + - "aCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0tfAp8ICJSZW1vdmUgdGhp" + - "cyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVy" + - "LW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUgc3RlcHMgd2l0aG91dCBp" + - "bnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25s" + - "eSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBjb21taXQgKyBBcmdvIGRl" + - "bGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5" + - "IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRlLnlhbWxgIHwKfCAiSnVz" + - "dCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBsYW5lIChubyBJQ01TIHVu" + - "cmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0t" + - "Y29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3QgcmVtb3ZlIHRoZSBjb250" + - "cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAtLWNsdXN0ZXItbmFtZT1Y" + - "YCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29wZSB3aXRoIHRoZSB1c2Vy" + - "CgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0ZSBwbGFuZXMgKyBjb250" + - "cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRlIHBsYW5lPyIKLSAiQXJl" + - "IHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlzIGNsdXN0ZXI/IGBudmNm" + - "LWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1wb3J0YW50IOKAlCBgZG93" + - "bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxwcm9tcHRgIGlmIGFu" + - "eSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2Fu" + - "ZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVzZXIgZGF0YSk/IERlZmF1" + - "bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCBvcHRzIGlu" + - "IHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIKCiMjIyAyLiBSdW4gcGxh" + - "bi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5" + - "IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhpcyBlbWl0cyBhIGBwbGFu" + - "bmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJlbGVhc2VzIHRoYXQgd291" + - "bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3VsZCBiZSByZW1vdmVkLCBh" + - "bmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNbXWAgYXJyYXkgdG8gdGhl" + - "IHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmluc3RhbGwg4oCmYCBpbnZv" + - "Y2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMuIEV4ZWN1dGUgdGhlIGRv" + - "d24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9JE5BTUUg" + - "LS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6CgoxLiBQcmVmbGlnaHQg" + - "4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVzb2x2ZSBzdGFjayBidW5k" + - "bGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBmdW5jdGlvbiBkZXBsb3kg" + - "cmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMgdW50aWwgU1RPUFBFRC4g" + - "U3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9tcHRgIChkZWZhdWx0IGlz" + - "IGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBsYW5lIOKAlCBkZWxlZ2F0" + - "ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1bmluc3RhbGwgPHJlbGVh" + - "c2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBSZW1vdmUgcGVyc2lzdGVu" + - "dCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2LiBVbnJlZ2lzdGVyIGNs" + - "dXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRlYXIgZG93biB0aGUgY29u" + - "dHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVu" + - "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9yY2hlc3RyYXRvcidzIGAt" + - "LWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28gZ29pbmcgYXdheSAoc2Vl" + - "IHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVmdXNlcyBpZiBhbnkgY29t" + - "cHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVzZSBgLS1mb3JjZS13aXRo" + - "LXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoqIGlmIHRoZSB1c2VyIGV4" + - "cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQU0FUIGF1dGggYnJlYWtz" + - "IGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZhaWxpbmcgZXZlcnkgaGVh" + - "bHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZvcmUgcGFzc2luZyB0" + - "aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBzaApudmNmLWNsaSBzZWxm" + - "LWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRlcmF0ZXMgZXZlcnkgcmVn" + - "aXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBlci1jbHVzdGVyIGRvd24g" + - "Zm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNvbmN1cnJlbmN5YCwgZGVm" + - "YXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYC4gSW50ZXJhY3Rp" + - "dmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVzdGVyIGxpc3QgYmVmb3Jl" + - "IHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQgZm9yIG5vbi1pbnRlcmFj" + - "dGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJnbyAvIEZsdXgpCgpgYGBz" + - "aAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxhbmU6Cm52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXIt" + - "bmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1pdHMgZGVsZXRlLnlhbWwg" + - "dG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRoZSBkZWxldGlvbiBvbiBu" + - "ZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQgLW0gInJlbW92ZSBjb21w" + - "dXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBzeW5jIHJlbW92ZXMgdGhl" + - "IEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkg" + - "Y2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBgYAoKTm90ZTogYC0tbm8t" + - "YXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIgZGVsZXRlYCAoaGVsbSBk" + - "b2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBHaXRPcHMgbXVzdCBydW4g" + - "YG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1c2UgYGRvd25gIHRvIG9y" + - "Y2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBgZG93bmAgcGFydGlhbC1m" + - "YWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiouIFRoZSBvcmNoZXN0cmF0" + - "b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyByZWxlYXNlcyB0aGF0IGFy" + - "ZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25vcmUtbWlzc2luZ2Agc2tp" + - "cHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2UgNCArIDYgZW1pdCBgcGhh" + - "c2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25kIHJ1bi4KCklmIGEgYHBo" + - "YXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29yeTogImhlbG1fcGVuZGlu" + - "Z191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9uImAg4oaSIHJ1biBgaGVs" + - "bSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZgICh0aGUgbWVzc2FnZSBp" + - "bmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1biBgZG93bmAuIERvIE5P" + - "VCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24uCi0gYGVyckNhdGVnb3J5" + - "OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIHdpdGgg" + - "bWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIgcGFzc2VkIGAtLWRyYWlu" + - "LWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1ydW4gd2l0aCBgLS1kcmFp" + - "bi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAgYW5kIGNvbmZpcm0gd2l0" + - "aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNlIGBlcnJNZXNzYWdlYCAr" + - "IGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1AuIERvIG5vdCBwcm9wb3Nl" + - "IHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25maXJtCgpGb3IgZXZlcnkg" + - "YG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGludm9jYXRpb24sIGVz" + - "cGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUgdGhlIGV4YWN0IGAtLWNs" + - "dXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBsb3N0IChlLmcuICJhbGwg" + - "ZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9jYWxgIHdpbGwgc3RvcDsg" + - "Y29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIikuCi0gSWYgYC0tcmVtb3Zl" + - "LXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRoYXQgQ2Fzc2FuZHJhIHJv" + - "d3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHRoYXQgdGhpcyBpcyB1" + - "bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29uZmlybWF0aW9uLgotIE5l" + - "dmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB3aXRob3V0IGV4" + - "cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhhbmVkLgotIE5ldmVyIHBy" + - "b3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFpbmluZyB0aGUgbG9zcy4K" + - "CiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHt1bmluc3RhbGws" + - "ZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24gYSBDTEkgdmVyc2lvbiBv" + - "bGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVyIGNvbXB1dGUgcGxhbmUg" + - "KG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBudmNhLWFnZW50IC1uIG52" + - "Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4gbnZjYS1vcGVyYXRvcgpo" + - "ZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBudmNhLXN5c3RlbQpoZWxt" + - "IHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgojIERyYWluIHRoZSBJQ01T" + - "IHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxpZD4KCiMgQ29udHJv" + - "bCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmNkIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxtZmlsZSBkZXN0cm95IGFj" + - "cm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sgYnVuZGxlcywgdGVhcmRv" + - "d24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2YtY29tcHV0ZS1wbGFuZS1z" + - "dGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwgcGF0aDsgcHJlZmVyIHRo" + - "ZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxsZWQuCgojIyBXaGF0IGBr" + - "dWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3MgIndoeSBpcyBteSBuZXcg" + - "aW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0ZWZ1bFNldCBQVkNzIChD" + - "YXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVsbSB1bmluc3RhbGxgIChh" + - "bmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBlaXRo" + - "ZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxseSBzbyBhIHJlLWB1cGAg" + - "Y2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUgY29tcGxldGVseSBvbiB0" + - "aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rl" + - "ci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoKT3IsIHBvc3QtZG93biwg" + - "bWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbSAt" + - "LWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0tYWxsCmBgYAoKKipDb25m" + - "aXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBzdGVwLgpQSwcI2odjVuQh" + - "AADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGNvbW1hbmQg" + - "cmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBhaXIgd2l0aCBbZmxhZ3Mu" + - "bWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1jb2Rlcy5tZF0oZXhpdC1j" + - "b2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVkIGxpZmVjeWNsZQoKfCBD" + - "b21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfC0tLXwKfCBg" + - "c2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxpZ2h0IGJlZm9yZSBpbnN0" + - "YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3RyeSBjcmVkZW50aWFscywg" + - "YW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWluZyBldmVudHMgb24gc3Rk" + - "ZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wtcGxhbmUtY29udGV4dGAg" + - "YW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlgIG1ha2VzIG5vIGNs" + - "dXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29udHJv" + - "bC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVy" + - "IG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3Ry" + - "ZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1bnRpbCBwYXNzIG9yIERV" + - "UiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFstLXdhaXQg" + - "RFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcywgbm9k" + - "ZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRoZSBjb21wdXRlLXBsYW5l" + - "IGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBTSVMgaXMg" + - "cHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4gV2l0aG91dCBjb250ZXh0" + - "IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBgc2VsZi1ob3N0ZWQgY2hl" + - "Y2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3ZlIHwgc3RyZWFtaW5nIGV2" + - "ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50OyBzZWUgW2V4aXQtY29k" + - "ZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQg" + - "fCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + - "LWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3RlciBjbHVzdGVyICsgcmVu" + - "ZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBPbmUgaW52b2NhdGlvbiBw" + - "ZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXItbmFtZT1YYCB8IE9u" + - "ZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0eSkgc3Rkb3V0LCBwcm9n" + - "cmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7IGZvciBjb21wdXRl" + - "LW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8" + - "IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZyaWVuZGx5LCBubyBj" + - "bHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIC0t" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAtLWt1YmUtY29udGV4dD1Z" + - "IFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3RlciB3aXRoIGFuIGV4aXN0" + - "aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJhdG9yIHZhbHVlcyB8IHN1" + - "bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQVSBjbHVzdGVyIGFmdGVy" + - "IHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNlbGYtaG9zdGVkIGNvbXB1" + - "dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0PVlgIHwgSW5zdGFsbCBh" + - "IGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCB3" + - "cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29tcHV0ZS1wbGFuZSByZWdp" + - "c3RlcmAuIEluc3RhbGxzIFYgd2hhdGV2ZXIgaXRzIG5hbWUsIG5ldmVyIGFub3RoZXIgdmFsdWVz" + - "IGZpbGUgYmVzaWRlIGl0IHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNsdXN0ZXItbmFtZT1Y" + - "XSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBUVFkvcGxhaW4vSlNPTkwg" + - "fCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + - "IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1wbGFuZSBwcmltaXRpdmU6" + - "IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAobm8gSUNNUyB1bnJlZ2lz" + - "dGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0gcmVsZWFzZXMgb24gdGhh" + - "dCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFu" + - "ZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBlci1wbGFuZSBwcmltaXRp" + - "dmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFuZSB8IHByb2dyZXNzIHwg" + - "UmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVkIHVubGVzcyBgLS1mb3Jj" + - "ZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0t" + - "bm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBoZWxtIGdldCBtYW5p" + - "ZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9wczsgcGlwZSB0byBga3Vi" + - "ZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzLiBNaXJyb3JzIGBpbnN0" + - "YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1YIFst" + - "LWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9yY2hlc3RyYXRvcjogZHJh" + - "aW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIgZGVsZXRlIGluIElD" + - "TVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVwIC0tY2x1c3Rlci1uYW1l" + - "PVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJtXWAgfCBPcmNoZXN0cmF0" + - "b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgKyBjb250cm9sIHBs" + - "YW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBgLS1hbGwtY29uY3VycmVu" + - "Y3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBub24taW50ZXJhY3RpdmUg" + - "fAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBPcmNoZXN0cmF0b3IgZHJ5" + - "LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyArIEVUQXMgKG5vIGhlbG0v" + - "aGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBiZWZvcmUgYW55IGFjdHVh" + - "bCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29tbWFuZCB8IFB1cnBvc2Ug" + - "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3RlciAtLW5hbWU9WCAtLW5j" + - "YS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8IFJlZ2lzdGVyIGEgSldL" + - "UytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGludGVybmFsbHk7IHN0YW5k" + - "YWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJl" + - "ZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxmLWhvc3RlZCBjbHVzdGVy" + - "IHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4gdG9rZW47IGAtLWpzb25g" + - "IGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rl" + - "ci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQgdG8gSUNNUyB8IEFmdGVy" + - "IEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1c3RlciBkZWxldGUg" + - "LS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVTVFJVQ1RJVkU6IGNvbmZp" + - "cm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90" + - "ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + - "fCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9uIElEICsgVmVyc2lv" + - "biBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJgIGFuZCBgbW9kZWxz" + - "W10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jlc3Bv" + - "bnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlzdGAgLyBgZnVuY3Rp" + - "b24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8IHwKfCBgZnVuY3Rpb24g" + - "Z2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5jdGlvbiBtZXRhZGF0" + - "YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + - "RCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwgfAp8IGBmdW5jdGlv" + - "biB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0tbGxtLW1vZGVsLXVw" + - "ZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25maWcgfCBgU1BFQ2AgdXNl" + - "cyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + - "bWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3MubWRdKGZsYWdzLm1k" + - "KSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU2NoZWR1" + - "bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVmYXVsdCA5MDBzKSB8Cnwg" + - "YGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIFst" + - "LWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVzOiBBQ1RJVkVcfERF" + - "UExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kgdXBkYXRlIC0taW5w" + - "dXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxhY2UgfCB8CnwgYGZ1bmN0" + - "aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEYCB8IFN0" + - "b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBgZnVuY3Rpb24gaW52" + - "b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0aW9uIHwgUmVxdWly" + - "ZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9ucyBhcmUgaW52b2tlZCB0" + - "aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6ICI8ZnVuY3Rpb24t" + - "aWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVuY3Rpb24taWQ9SUQg" + - "LS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3ltZW50IHwgKipERVNU" + - "UlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoKVGFzayBjb21tYW5kcyBy" + - "ZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVkIGtleSBhbmQgYE5WQ0Zf" + - "QkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9pbnQuIEluIGEgZnJl" + - "c2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZjZi1jbGkuc3RhdGVgIGFu" + - "ZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dnaW5nIHRoZSB2YWx1ZTsg" + - "Y2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5lcmF0ZSB3aXRoIGBh" + - "cGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhwaXJlZC4gUnVuIGBh" + - "cGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0byBtaW50IGEgbmV3IGtl" + - "eS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgdGFzayBj" + - "cmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taW1hZ2U9SU1H" + - "YCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0byBDTEkgc3RhdGU7" + - "IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdzIHwKfCBgdGFzayBjcmVh" + - "dGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0taGVsbS1jaGFydD1D" + - "SEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCByZXBsYWNlcyBgLS1p" + - "bWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBTdWJtaXQgYSB0YXNr" + - "IGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgY29u" + - "ZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRVU10gWy0tbGltaXQ9Tl1g" + - "IHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0dXMgfCBTdGF0dXNlczog" + - "YFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwg" + - "YENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01B" + - "WF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwgR2V0IHRhc2sgZGV0" + - "YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0ZWQgfAp8IGB0YXNr" + - "IGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNsZSBldmVudHMgZm9y" + - "IGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3QgcmVzdWx0IGFydGlm" + - "YWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkgbGlzdCB3aGVuIGByZXN1" + - "bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQgbm90IHlldCBzdXBw" + - "b3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBydW5uaW5nIHRhc2sg" + - "fCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFzayBkZWxldGUgW3Rh" + - "c2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0YXRlIHRhc2sgSUQgKyBj" + - "dXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1c2VyIHJlcGx5IGV4cGxp" + - "Y2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmljIHRhc2suIERvIG5vdCB0" + - "cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0aW9uLioqIHwKfCBg" + - "dGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBVcGRh" + - "dGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0" + - "ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVlc3QgYXJlIHByZXNl" + - "cnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNrIGJ1bGsgLS10YXNr" + - "LWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11bHRpcGxlIHRhc2tzIGlu" + - "IG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJvbSBBUEkgS2V5cyB2" + - "aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+Ly5udmNmLWNsaS5z" + - "dGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQSSBrZXlzIChmdW5j" + - "dGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUgKHRva2VuLCBsYXN0" + - "IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBmcm9tIGBzZWxmLWhvc3Rl" + - "ZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rpb25cfHRhc2tdIFst" + - "LWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQgQVBJIGtleXMgfCBE" + - "ZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5jdGlvbiBrZXkgYW5kIGEg" + - "dGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdlbmVyYXRlcyBvbmUg" + - "b25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSAt" + - "LXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVk" + - "IGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0IGF1ZGllbmNlIChO" + - "VkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMpIHwKfCBgYXBpLWtleSBs" + - "aXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0cyBOVkNGLXNjb3Bl" + - "ZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8gYGFwaS1rZXkgcmV2b2tl" + - "IEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3aXRoIHVzZXIqKiB8Cnwg" + - "YGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5IGZyb20gc3RhdGUg" + - "fCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IEluc3RhbGwg" + - "YWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNsYXVkZS9za2lsbHMvYCBh" + - "bmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFzZSBza2lsbHMgZGlyZWN0" + - "b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJUl1gIHwgUmVtb3Zl" + - "IG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUgdGFyZ2V0IGJhc2Ugc2tp" + - "bGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNraWxscyByZW1haW4gfAp8" + - "IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBidW5kbGVkIGBudmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRkZWQgZmlsZSB8IEZvciBk" + - "ZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1aWxkIFNIQSBhbmQg" + - "ZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsHCNF1wo8WJgAAFiYAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4aXQgY29kZXMKClN0" + - "YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBhZ2VudCByZXRyeSAv" + - "IHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFtcGxlIGNhdXNlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNzZWQ7IGluc3RhbGwg" + - "Y29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJpYyBlcnJvciB8IEhl" + - "bG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmlsZSBub3QgZm91bmQ7IFlB" + - "TUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sgZmFpbGVkIHwgQSBgY2hl" + - "Y2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JEcyBtaXNzaW5nOyBr" + - "dWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVmYXVsdCBTdG9yYWdlQ2xhc3MgYWJz" + - "ZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2ggKG1pc3Npbmcga3ViZWNvbmZpZyBv" + - "ciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQgZmFpbHMgZm9yIGFueSByZWFzb246" + - "IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWplY3RlZCBjcmVkZW50aWFscywgYSBm" + - "YWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBlcnJvcik7IGEgY2x1c3Rlci12YWxp" + - "ZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJl" + - "LCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50YWdnZWQgaW1hZ2UpOyBh" + - "IGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFtZXNwYWNlIGBzdHVjayBUZXJtaW5h" + - "dGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVuIHRoZSB0aW1lIGJ1ZGdl" + - "dCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1zZXZlcml0eSByZXN1bHRzIGV4aXQg" + - "YDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVsZXRpbmcsIGEgSGVsbSByZWxlYXNl" + - "IGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0aCBubyBIZWxtIHJlbGVhc2UsIGFu" + - "ZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBubyBgY2x1c3Rlcl92YWxpZGF0b3Jf" + - "aW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBObyB0b2tlbiArIGAt" + - "LW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5pdCBlbmRwb2ludCB1" + - "bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2FpdGAgdGltZWQgb3V0" + - "IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlkIG5vdCBwYXNzIGJl" + - "Zm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBzdGlsbCBpbiBwcm9ncmVzczsgdGhl" + - "IGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNrIHRoYXQgY2FuIGZhaWwgdGhlIHJ1" + - "biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9yIGN1dCBzaG9ydCkg" + - "YW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hvcnQgcm93IGtlZXBzIHRoZSB3b3Jz" + - "dCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28gYSBjaGVjayB0aGF0IGNhbiBvbmx5" + - "IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5vdCBjcml0aWNhbCwgc3RheXMgYSB3" + - "YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3VsdCBrZWVwcyBpdCwgc28g" + - "YSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8CnwgYDEzMGAgfCBDYW5jZWxs" + - "ZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3IgYnkgYSBxdWl0IGtleSBpbiB0aGUg" + - "YGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJsLUM7IGBxYCwgYEVzY2Agb3IgYEN0" + - "cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBwb2QgZXZpY3RlZDsg" + - "dGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkLiBBIHNpZ25hbCBgY2hlY2tgIHdhcyBzdGFy" + - "dGVkIHdpdGggaWdub3JlZCBzdGF5cyBpZ25vcmVkLCBzbyBhIGBjaGVja2AgcnVuIHVuZGVyIGBu" + - "b2h1cGAgb3V0bGl2ZXMgdGhlIHNlc3Npb24gfAoKIyMgSG93IGFuIGFnZW50IHNob3VsZCByZWFj" + - "dAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAgfCBDb250aW51ZSAv" + - "IHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8gdXNlcjsgYXNrIGJl" + - "Zm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBhIGh1bWFuIHRvIHJl" + - "YWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVja3MgKyB0aGVpciBg" + - "aGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBmaXhlcyBwcmVyZXFz" + - "LiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0aXZlKSBPUiBgLS10" + - "b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2VyIE9LLiB8CnwgYDVg" + - "IHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcgaW50byB0aGUgc3Rh" + - "bGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3QgcmV0cnkgYXV0b21h" + - "dGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBiZWZvcmUgcmUtcnVu" + - "bmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNrYCByZXBvcnRzIGl0" + - "cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2ZXJkaWN0YCwgYHRv" + - "dGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdhcm5pbmdDb3VudGAp" + - "IGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxlcy9jaS1waXBlbGlu" + - "ZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAtLXdhaXRgLCBleGl0" + - "cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3VjY2VzczogZmFsc2Vg" + - "IGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVkYCBldmVudCBmb3Ig" + - "YSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJhbnNpZW50OiB0cnVl" + - "YCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBlZCBjYXJyaWVzIGBj" + - "dXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBlbWl0cyBgZmluYWxg" + - "IHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFpbGVkYDsgYHVwYCBl" + - "bWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVzdGVyLXZhbGlkYXRv" + - "ciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVhbnVwYCwgYSBwb2Qg" + - "dGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVkKSwgYGNoZWNrYCBs" + - "aXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZpbmFsYCBldmVudCdz" + - "IGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAgZmllbGQsIG9uIGV2" + - "ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBsYXN0IHN0ZGVyciBs" + - "aW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2UsIGJlZm9yZSBpdHMg" + - "b3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0LiBFdmVyeSBvdGhl" + - "ciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFpbGVkYCBKU09OIGV2" + - "ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRpYXRpb25gIChhcnJh" + - "eSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tvZmZ8YWZ0ZXJfcmVt" + - "ZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0aW9uYWwpLCBhbmQg" + - "YHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwpLiBBbHdheXMgY29u" + - "c3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNpbmcgRW5nbGlzaCBm" + - "cm9tIHN0ZGVyci4KUEsHCMn5RW9oEAAAaBAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALQAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5tZFVUBQABAKbOEiMg" + - "YG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChldmVyeSBzdWJjb21t" + - "YW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY29u" + - "ZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1jbGkueWFtbGAgfAp8" + - "IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8IGBmYWxzZWAgfAp8" + - "IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9mZiBpbiBUVFksIG9u" + - "IHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3RlZGAgcGFyZW50IChw" + - "ZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + - "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4uYCB8IENvbnRyb2wt" + - "cGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJM" + - "IHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0" + - "aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkg" + - "Q0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVsbWZpbGUgZW52aXJv" + - "bm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0tZW52YCBvciBgSEVM" + - "TUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0" + - "YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNlZSBbU2V0dGluZ3Mg" + - "cmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spIHwgYGxv" + - "Y2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0ZGluIHByb21wdHMg" + - "fCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3ZlcnJpZGVzIHN0b3Jl" + - "ZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9ubHkgLSBlbWl0IFlB" + - "TUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0cHV0PXRleHRcfGpz" + - "b25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiBu" + - "ZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxhaW4gc3RyZWFtaW5n" + - "IG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8IGBjaGVja2Agb25s" + - "eTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5IHBhc3Mgb3IgRFVS" + - "QVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nlc3M6IGZhbHNlYCku" + - "IEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2IsIHdoaWNoIGNhbiB0" + - "YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFs" + - "aWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFyLCBzdWNoIGFzIGEg" + - "cm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0cyBgY2hlY2tfY29t" + - "cGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNoZWNrIHRoZSB0aW1l" + - "IGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRzIGV2ZW50IGNhcnJp" + - "ZXMgYGN1dFNob3J0OiB0cnVlYC4gQSBjaGVjayB0aGF0IGNhbiBvbmx5IHdhcm4gYW5kIGlzIHN0" + - "b3BwZWQgb24gdHdvIHBvbGxzIGluIGEgcm93IGVuZHMgdGhlIHdhaXQgYXMgYSBzaW5nbGUgcnVu" + - "IHdvdWxkOiBleGl0IGAwYCB3aXRoIHRoZSB3YXJuaW5nLiBDYW5ub3QgYmUgY29tYmluZWQgd2l0" + - "aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0aXZlIERVUkFUSU9OIGlz" + - "IGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8CnwgYC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRyb2wgcGxhbmUgKFJF" + - "US0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCBDVFhg" + - "IHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjApIHwgY3VycmVudCBj" + - "b250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJMOyByZXF1aXJlZCB3" + - "aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9ubHkgYXQgYSBVUkwgc2V0" + - "IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJMYCwgb3IgaW4gdGhlIGNv" + - "bmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYCwgYW5kIG5vdCBhdCBvbmUgZGVy" + - "aXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91cmxgIG9uIE5WSURJQSdzIGhvc3RlZCBgbnZjZi5udmlk" + - "aWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0ZW1wbGF0ZSdzIGlzOyB3aXRoIG5vbmUsIGl0cyBgc2lz" + - "LXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQgZnJvbSBgYmFzZV9odHRw" + - "X3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4gdGhlIGxvY2FsLWhv" + - "c3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3RyeSBjb250YWN0LCB3aGF0" + - "ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNyZWRlbnRpYWwgY2hlY2sg" + - "YW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFyZSByZXBvcnRlZCBhcyBy" + - "b3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0tbG9jYWwtb25seSlgLiBF" + - "bnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgLCBgdHJ1ZWAgb3IgYGZhbHNlYCB8" + - "IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAs" + - "IGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1" + - "aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3Rz" + - "IGl0cyBvd24uIE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNz" + - "IGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0" + - "ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6" + - "IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNo" + - "YWJpbGl0eSwgc2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBv" + - "ciBgLS1jb21wdXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRo" + - "IGEgcm9sZSdzIG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVz" + - "dGVyIGFzIGluc3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhl" + - "bG1maWxlYCBvciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBj" + - "aGVjayBhbiBpbnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3" + - "YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxl" + - "ZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFu" + - "ZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNv" + - "bXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3Zl" + - "ciBuYW1lc3BhY2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEg" + - "Y29uZmlndXJlZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRh" + - "dG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAt" + - "LWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhv" + - "dXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIg" + - "bmFtZSBzaG93biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBj" + - "aGVja2AgZG9lcyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2Ag" + - "fCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhl" + - "IGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVu" + - "IHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMs" + - "IHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3Rp" + - "ZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVu" + - "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCwgYHRydWVgIG9yIGBmYWxzZWAg" + - "fCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoKVGhlIHZhbGlkYXRvciBy" + - "dW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQuIFRoZSBDTEkgY3JlYXRl" + - "cyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0ZXJSb2xlQmluZGluZyBm" + - "b3IgaXQsIHBsdXMgYSBSb2xlIGFuZApSb2xlQmluZGluZyBpbiBgZGVmYXVsdGAgdGhhdCBsZXQg" + - "aXQgcmVhZCBvbmx5IGl0cyBvd24gQ29uZmlnTWFwLCBhbmQgcmVtb3Zlcwp0aGVtIGFmdGVyIHRo" + - "ZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMgcGVybWlzc2lvbiB0byBtYW5h" + - "Z2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2YWxpZGF0b3IncyB0cmFuc2NyaXB0IHdpdGggYGdldGAg" + - "b24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAuCldpdGhvdXQgaXQsIGEgdmFsaWRhdG9yIEpvYiB0" + - "aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNzZXMsIGFuZCBpdHMgcm93IHNheXMgdGhlCnRyYW5zY3Jp" + - "cHQgY291bGQgbm90IGJlIHJlYWQsIHNvIG5laXRoZXIgdGhlIGNoZWNrcyBpdCByYW4gbm9yIHdh" + - "cm5pbmdzIGl0CnJlcG9ydGVkIGFyZSBzaG93bi4KVGhlIENsdXN0ZXJSb2xlIGdyYW50cyBvbmx5" + - "IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMsIHRoZQpuYW1lc3BhY2Us" + - "IERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1wbGFuZSBub2RlLXRvLW5v" + - "ZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4gZWFybGllciB2YWxpZGF0" + - "b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8IFZhbGlkYXRvciBpbWFn" + - "ZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0lN" + - "QUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgLiBBIHJlZiB3aXRoIG5v" + - "IHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20gdGhlIHJlZ2lzdHJ5LiBJ" + - "ZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3IgZG9lcyBub3QgcnVuIGFu" + - "ZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBhIHRhZzsgYC0td2FpdGAg" + - "dHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVyZSwgdGhlIHZhbGlkYXRv" + - "ciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IGlz" + - "IGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8IC0gfAp8IGAtLWNsdXN0" + - "ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhdLC4uLmAgfCBFeHRyYSBy" + - "ZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9tIHRoaXMgbWFjaGluZSwg" + - "YW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBjb250cm9sLXBsYW5lIHZh" + - "bGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVjaywgYXMgaW4gYGhhcmJv" + - "ci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhlIHJlZ2lzdHJpZXMgdGhl" + - "IGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlZ2lzdHJ5LCB0aGUg" + - "c3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2JhbC5pbWFnZS5yZXBvc2l0" + - "b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBBQ01FIHNvbHZlciB1bmxl" + - "c3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNldHMgYGNlcnRNYW5hZ2Vy" + - "LmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBhcyBhIHdhcm5pbmcgb25s" + - "eSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5hbWVzIGEgcmVnaXN0cnku" + - "IFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBu" + - "byBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUg" + - "b3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJ" + - "U1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlz" + - "dCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXBy" + - "b2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhl" + - "IGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5l" + - "ZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1n" + - "YXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lN" + - "QUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3li" + - "b3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5h" + - "bC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRz" + - "aWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBs" + - "b29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFv" + - "YCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVw" + - "ZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxf" + - "Q09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVk" + - "YCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVl" + - "YC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7" + - "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxp" + - "c3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9s" + - "ZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRv" + - "IHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdh" + - "eXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVm" + - "ZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4g" + - "QSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEt" + - "c2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7" + - "IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0" + - "cmluZ3MgaW4gdGhpcyBmb3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAt" + - "IHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdp" + - "c3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdl" + - "LiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBp" + - "biBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNv" + - "cGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNl" + - "Y3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBG" + - "YWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5l" + - "J3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3Jl" + - "ZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hh" + - "dCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8" + - "IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRh" + - "dG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNh" + - "bm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0" + - "bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBF" + - "YWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFu" + - "ZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xV" + - "U1RFUl9WQUxJREFUSU9OYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKfCBgLS1uby1j" + - "bGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2QsIFJCQUMsIHB1bGwgc2Vj" + - "cmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpvYiB3aG9zZSBwb2QgY2Fu" + - "bm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBvZCBpcyBkZWxldGVkIHJh" + - "dGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0aCBga3ViZWN0bCBkZXNj" + - "cmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFsaWRhdG9yIHJlbW92ZXMg" + - "dGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywgdGhlIGBmaW5hbGAgZXZl" + - "bnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxpbmVzIHByaW50IHRoZSBj" + - "b21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0t" + - "d2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQgZWFjaCB2YWxpZGF0b3Ig" + - "dHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50cywgZnJhbWVkIGJ5IGAt" + - "LS0gY2x1c3Rlci12YWxpZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0tYCBhbmQgYSBtYXRjaGlu" + - "ZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9sLXBsYW5lLWNsdXN0ZXJg" + - "IG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlwdCBpcyBub3QgSlNPTiwg" + - "YW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVhdmUgdGhpcyBvZmYgd2hl" + - "biBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2VgIHwKCiMjIyBSZWdpc3Ry" + - "eSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3RyeSBhYm92ZSBmcm9tIHRo" + - "aXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUgb25lIGBkb2NrZXJgIHdv" + - "dWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IKYH4vLmRvY2tlci9jb25m" + - "aWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3JlZEhlbHBlcnNgIGhlbHBl" + - "ci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyByZWFkLCBmcm9tIHRoZSBm" + - "aXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05HQ1JfQVBJX0tFWWAsIGBO" + - "VkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlzIHNldC4gSXQgZ29lcyBh" + - "aGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9ubHkgd2hlbiB0aGUKcmVnaXN0cnkgY2hlY2sncyBw" + - "bGFuZSwgYmVsb3csIGlzIGNoZWNrZWQgYmVmb3JlIGl0cyBpbnN0YWxsIHdpdGggdGhlCmBsb2Nh" + - "bGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbCBzZWNyZXRzIGZyb20g" + - "aXQsIGFuZCBpdCBpcwpuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnkuIEVsc2V3aGVyZSB0" + - "aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIGZvciBhIHJl" + - "cG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhlIGRvY2tlciBsb2dpbiAoYSA0MDEp" + - "IG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlzIGlzCmRlY2lkZWQgb25jZSBwZXIg" + - "cmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRoZSByb3cgYW5kIHRoZQp2YWxpZGF0" + - "b3IncyBwdWxsIHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJlZSBnZXQgdGhlIHNhbWUgY3JlZGVu" + - "dGlhbCwgYW5kIGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8gb25lIG9yZyBzdGlsbCBzZXJ2ZXMg" + - "dGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0ZWQgYXMgbm8gYWNjZXNzIHRvIHRo" + - "YXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBsb2dpbi4gRWFjaApgLS13YWl0YCBw" + - "b2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxl" + - "IHRoZSBydW4Kd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBm" + - "b3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRv" + - "IHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0" + - "cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUg" + - "c2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUg" + - "c2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJl" + - "bG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQg" + - "d2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBi" + - "ZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUg" + - "Y29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRl" + - "LXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwg" + - "ZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBj" + - "b21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFp" + - "bHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3Ig" + - "dGhlIHN0YWNrIG5hbWVzLiBCZWZvcmUgaW5zdGFsbCB0aGF0IGluY2x1ZGVzIGEgZG9ja2VyCmxv" + - "Z2luIGBudmNyLmlvYCByZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMg" + - "cGxhY2UsIHNpbmNlCmBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0YWNrJ3MgY2hh" + - "cnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhlCmtleSBpcyBzdGlsbCB1c2VkIGZvciB0YWcg" + - "ZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUKcm93IG5h" + - "bWVzIGJvdGguIEFmdGVyIGluc3RhbGwgYSByZWplY3RlZCBkb2NrZXIgbG9naW4gc3RpbGwgZmFp" + - "bHMuIEEgcmVqZWN0ZWQKTkdDIGtleSBpcyBhIHdhcm5pbmcgb25seSB3aGVuIGBjaGVja2AgcmVh" + - "ZHMgdGhlIHB1bGwgc2VjcmV0cyBvZiB0aGUgY2x1c3RlcnMKaXQgdmlzaXRzLCBpbiB0aGUgbmFt" + - "ZXNwYWNlcyB0aGUgdmFsaWRhdG9yIGNvcGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kCm5vbmUg" + - "b2YgdGhlbSBob2xkcyB0aGF0IGtleTsgd2hlbiBvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxs" + - "IGJlIHJlYWQsIGl0IGlzCmFuIGVycm9yLiBBIGRvY2tlciBsb2dpbiB0aGUgTkdDIGtleSByZXBs" + - "YWNlZCBwYXNzZXMgYWZ0ZXIgaW5zdGFsbCBvbmx5IHdoZW4Kbm9uZSBvZiB0aG9zZSBwdWxsIHNl" + - "Y3JldHMgaG9sZHMgaXQ6IHdoZW4gb25lIGRvZXMgaXQgaXMgYW4gZXJyb3IsIGFuZCB3aGVuCnRo" + - "ZXkgY2Fubm90IGFsbCBiZSByZWFkIGEgd2FybmluZy4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUg" + - "Y2Fubm90IHJlYWNoLCBhCnRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBs" + - "b2NhbCBjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90" + - "IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBl" + - "ZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0" + - "cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFz" + - "IHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRo" + - "ZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNl" + - "dCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0" + - "aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25m" + - "aWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5" + - "QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25l" + - "IHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9u" + - "bHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9u" + - "bHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNg" + - "LCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFt" + - "ZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUg" + - "c3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRl" + - "d2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BB" + - "Q0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3Nh" + - "bmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0" + - "ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01Q" + - "T05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNl" + - "dCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9m" + - "IHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3Bl" + - "bkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5" + - "IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3Ig" + - "YE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUg" + - "ZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5" + - "IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBg" + - "LS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBv" + - "bmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5j" + - "ZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBp" + - "bnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVk" + - "IG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhl" + - "IGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1w" + - "bGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVz" + - "IHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSks" + - "IGVsc2UgdGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJl" + - "YWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxp" + - "ZXIKICBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBg" + - "ZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25l" + - "ZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5k" + - "IG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtp" + - "bmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2Fy" + - "ZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFu" + - "ZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZp" + - "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rl" + - "ci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAt" + - "IHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8Cnwg" + - "YC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1w" + - "bGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5n" + - "ZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwg" + - "RGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0" + - "byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13" + - "YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERV" + - "UmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZp" + - "bHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVu" + - "dHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8" + - "IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAo" + - "cmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0x" + - "YCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8Cnwg" + - "YC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24t" + - "ZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8" + - "dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBn" + - "ZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBs" + - "YWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVz" + - "LWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQg" + - "YXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1g" + - "IHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBk" + - "ZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBp" + - "bW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1" + - "bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5" + - "cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0" + - "LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5p" + - "dGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + - "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0t" + - "aW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBV" + - "UklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1w" + - "b3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24t" + - "dHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRg" + - "IHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVu" + - "Y2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNr" + - "YWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8" + - "IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3" + - "aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9O" + - "OlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxs" + - "bS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVy" + - "aXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxp" + - "bWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRo" + - "IGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlu" + - "cHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1" + - "c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJp" + - "b3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5" + - "LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1h" + - "Y2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBv" + - "dmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92" + - "ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQg" + - "aW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5k" + - "IG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1D" + - "b25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhz" + - "IGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9j" + - "aGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4g" + - "YGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9v" + - "Zl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNv" + - "bmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQg" + - "cG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQu" + - "IFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgICho" + - "b3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdo" + - "ZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgs" + - "NTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcg" + - "aXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2Vk" + - "IExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBo" + - "ZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2Ft" + - "ZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMg" + - "U2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZv" + - "Y2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJg" + - "LiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2Rl" + - "bCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9u" + - "c2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNl" + - "c3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rp" + - "b24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8" + - "CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBg" + - "bmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0" + - "PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tl" + - "biBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRv" + - "a2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBS" + - "ZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhp" + - "cyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8" + - "IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291" + - "bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3Rp" + - "bmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwK" + - "CkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRy" + - "aWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29y" + - "IGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVs" + - "IG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlv" + - "biBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + - "bmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8" + - "IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8" + - "IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5" + - "IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEw" + - "MF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAt" + - "LW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0" + - "LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVs" + - "dCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmlj" + - "IGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRl" + - "YC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0" + - "YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2Ug" + - "fCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1" + - "aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBg" + - "LS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8" + - "IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5" + - "cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUu" + - "SDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5" + - "IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8" + - "IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0" + - "aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxl" + - "IHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBg" + - "LS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5B" + - "TUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21t" + - "YS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hl" + - "biBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2No" + - "cyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8" + - "IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNl" + - "Y3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFi" + - "bGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwg" + - "TWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZh" + - "dWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8" + - "IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZl" + - "ciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdy" + - "YWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + - "YFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5k" + - "bGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NB" + - "VElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1l" + - "L11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8" + - "IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBl" + - "YXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2Ug" + - "YXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRh" + - "Z3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNj" + - "cmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0" + - "cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1l" + - "dHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1p" + - "ZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCEpXSMskXAAA" + - "JFwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGlu" + - "ZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0" + - "aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0" + - "cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQg" + - "bWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25g" + - "IGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBh" + - "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1w" + - "dG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90" + - "ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2Ag" + - "cHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + - "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJh" + - "dG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1w" + - "cmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBp" + - "dGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rh" + - "c2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFU" + - "SGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxh" + - "dGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5z" + - "aC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1" + - "c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlk" + - "YXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRl" + - "ZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcs" + - "IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0" + - "b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhl" + - "IGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBj" + - "b3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGlt" + - "YWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVz" + - "c2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVz" + - "dGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUg" + - "cmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBj" + - "b3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9k" + - "cy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBr" + - "dWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5v" + - "dCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUg" + - "Y29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBv" + - "ZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1" + - "YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVw" + - "b3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kg" + - "R2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlv" + - "L2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVt" + - "IC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + - "dXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBk" + - "ZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25l" + - "OiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMi" + - "Onsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19" + - "J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1l" + - "bnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sg" + - "dXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3Vy" + - "Y2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMg" + - "YW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJh" + - "dG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3Mu" + - "bnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2lu" + - "c3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBk" + - "ZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8Cnwg" + - "YHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJv" + - "ciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIg" + - "bWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1" + - "YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRo" + - "ZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+" + - "IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3" + - "aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0" + - "cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJl" + - "c29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5n" + - "IGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5p" + - "bmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdh" + - "aXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIg" + - "MiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlk" + - "LW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRl" + - "ZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNl" + - "IGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0" + - "IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3Rv" + - "cnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNr" + - "YCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBI" + - "ZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBh" + - "bmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Ig" + - "d29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0" + - "dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291" + - "cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVj" + - "dGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBD" + - "RCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhl" + - "bG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFz" + - "ZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxN" + - "X0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93" + - "biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBF" + - "eHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVj" + - "a2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8Cnwg" + - "YHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVz" + - "cGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQg" + - "b25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUg" + - "aW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0" + - "YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9u" + - "bWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1l" + - "cyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMg" + - "aW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBk" + - "ZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3Rl" + - "bWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAg" + - "dGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlm" + - "IGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwt" + - "LS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8u" + - "bnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0" + - "YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkg" + - "fAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Ig" + - "bm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlm" + - "ZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2Yt" + - "Y2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAo" + - "ZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0" + - "aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCm" + - "YCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENh" + - "dXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRp" + - "bmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5k" + - "aW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBw" + - "dixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAw" + - "JyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlz" + - "IHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5j" + - "ZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAg" + - "KGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25g" + - "IGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13" + - "ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQi" + - "IGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkg" + - "fCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHBy" + - "b3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIg" + - "YDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNh" + - "LW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNs" + - "dXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNh" + - "LW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUK" + - "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBh" + - "Z2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3Rl" + - "cnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55" + - "YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8" + - "IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAg" + - "KGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVy" + - "IGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8" + - "IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3Vy" + - "cmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxp" + - "ZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRg" + - "IHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3Vi" + - "ZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwg" + - "c2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+" + - "NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3Ig" + - "Y2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5" + - "c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2Vg" + - "IHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18" + - "LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3Jl" + - "ZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRp" + - "YWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9k" + - "ZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hv" + - "dyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVz" + - "IHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hl" + - "LXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5n" + - "ZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1p" + - "biBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1l" + - "bnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0" + - "ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292" + - "ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0" + - "ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hv" + - "b3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBs" + - "YW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBs" + - "YW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMs" + - "IEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBO" + - "T1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRl" + - "dmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJp" + - "bGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBo" + - "ZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6" + - "ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJz" + - "aW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhv" + - "c3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxh" + - "dGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0" + - "LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNm" + - "LWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246" + - "ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVk" + - "LCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9u" + - "LCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBm" + - "cmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZy" + - "YXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3Bl" + - "cmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0" + - "ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2ls" + - "bCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5k" + - "bGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJh" + - "dGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVt" + - "ZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxl" + - "bWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVp" + - "cmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4g" + - "VmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5k" + - "LyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFj" + - "az4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vu" + - "dmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAK" + - "CklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxl" + - "IHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxv" + - "YWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJl" + - "Z2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5l" + - "LXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1l" + - "IHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCBy" + - "b290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + - "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZ" + - "b3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9u" + - "OgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJl" + - "bW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0g" + - "My4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4x" + - "MQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZl" + - "cnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhl" + - "IGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBw" + - "YXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50" + - "cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25t" + - "ZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1z" + - "ZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQg" + - "RXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10" + - "by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUg" + - "cHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtl" + - "cy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAg" + - "ICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92" + - "ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAg" + - "ICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25z" + - "dW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVz" + - "KQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgICho" + - "aWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9u" + - "bHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdp" + - "c3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5n" + - "IGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJl" + - "IHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFn" + - "YXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZp" + - "bGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZh" + - "bHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0" + - "aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYg" + - "dXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + + "dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfSwKICAiaGVsbUNo" + + "YXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29w" + + "ZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiIsCiAgImhlbG1DaGFydFNlcnZpY2VOYW1lIjogIm9w" + + "ZW5haS1jb21wYXRpYmxlIiwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29u" + + "ZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6" + + "IFsiL3YxL2NoYXQvY29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5n" + + "cyJdLAogICAgICAgICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9r" + + "ZW5SYXRlTGltaXQiOiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVu" + + "dCBDTEkgZmxhZyBmb3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5h" + + "bWU9Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAg" + + "LS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWhlYWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFs" + + "dGgtcG9ydD04MDAwIFwKICAtLWhlYWx0aC10aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90" + + "b2NvbD1IVFRQIFwKICAtLWhlYWx0aC1leHBlY3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9u" + + "LXR5cGU9TExNIFwKICAtLWhlbG0tY2hhcnQ9aHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4" + + "YW1wbGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IFwKICAtLWhlbG0t" + + "Y2hhcnQtc2VydmljZT1vcGVuYWktY29tcGF0aWJsZSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNv" + + "bmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25z" + + "ZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1p" + + "dD0xMDAwLVMnCmBgYAoKRGVwbG95IGlzIHVuY2hhbmdlZC4gUHV0IGNoYXJ0LXNwZWNpZmljIHZh" + + "bHVlcyB1bmRlciBgZGVwbG95bWVudFNwZWNpZmljYXRpb25zW10uY29uZmlndXJhdGlvbmAgb25s" + + "eSB3aGVuIHRoZSBjaGFydCBuZWVkcyB2YWx1ZSBvdmVycmlkZXM6CgpgYGBqc29uCnsKICAiZnVu" + + "Y3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95" + + "bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VU" + + "eXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJ" + + "bnN0YW5jZXMiOiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwLAogICAgImNvbmZp" + + "Z3VyYXRpb24iOiB7CiAgICAgICJzZXJ2aW5nIjogewogICAgICAgICJ0ZW5zb3JQYXJhbGxlbFNp" + + "emUiOiAxCiAgICAgIH0KICAgIH0KICB9XQp9CmBgYAoKTExNIEdhdGV3YXkgcm91dGVzIHJlcXVl" + + "c3RzIGJ5IHRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZS4gVXNlIGA8ZnVuY3Rpb24taWQ+Lzxtb2Rl" + + "bC1uYW1lPmA6IHRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQg" + + "dGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHRvIHRoZSB1cHN0cmVhbSBjb250YWluZXIgdGhy" + + "b3VnaCBgc3RhcmdhdGUtY2xpZW50YC4KClN1cHBvcnRlZCBMTE0gcGF0aHM6Cgp8IFBhdGggfCBO" + + "b3RlcyB8CnwgLS0tIHwgLS0tIHwKfCBgL3YxL2NoYXQvY29tcGxldGlvbnNgIHwgU3VwcG9ydHMg" + + "c3RyZWFtaW5nIGFuZCBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL3Jlc3BvbnNlc2AgfCBO" + + "YXRpdmUgUmVzcG9uc2VzIHByb3h5IHBhdGg7IHJlbGF5cyBTU0UgZm9yIHN0cmVhbWluZyBjbGll" + + "bnRzIGFuZCByZXR1cm5zIHRlcm1pbmFsIEpTT04gZm9yIG5vbi1zdHJlYW1pbmcgY2xpZW50cy4g" + + "U3VwcG9ydHMgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9lbWJlZGRpbmdzYCB8IEFjY2Vw" + + "dHMgc3RyaW5nIG9yIHN0cmluZy1hcnJheSBgaW5wdXRgOyBpbnB1dCBtdXN0IGJlIG5vbi1lbXB0" + + "eSBhbmQgbWF5IGNvbnRhaW4gYXQgbW9zdCAyMDQ4IGVudHJpZXMuIE5vIHNlc3Npb24gc3RpY2tp" + + "bmVzcy4gfAoKIyMgMi4gRnVuY3Rpb24gREVQTE9ZCgpgYGBqc29uCnsKICAiZnVuY3Rpb25JZCI6" + + "ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVudFNwZWNp" + + "ZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5D" + + "UC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0YW5jZXMi" + + "OiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwCiAgfV0KfQpgYGAKCk5vdGU6IGBn" + + "cHVgIGlzIHRoZSBHUFUgKipmYW1pbHkqKiAoZS5nLiBgSDEwMGApLCBgaW5zdGFuY2VUeXBlYCBp" + + "cyB0aGUgU0tVIChlLmcuIGBOQ1AuR1BVLkgxMDBfMXhgKS4gTWlzbWF0Y2ggcmV0dXJucyBJQ01T" + + "IDQwMCAiSW52YWxpZCBHUFUiLgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0" + + "ZSAtLWlucHV0LWZpbGU9ZGVwbG95LWZuLmpzb24KYGBgCgpUaGlzIGNvbW1hbmQgKipibG9ja3Mq" + + "KiB1bnRpbCB0aGUgZGVwbG95bWVudCByZWFjaGVzIEFDVElWRSAoZGVmYXVsdCA5MDBzIHRpbWVv" + + "dXQpLiBXaGVuIGl0IHJldHVybnMgcmM9MCwgYSBmdW5jdGlvbiBwb2QgaXMgcnVubmluZyBpbiB0" + + "aGUgYG52Y2YtYmFja2VuZGAgbmFtZXNwYWNlIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIu" + + "CgojIyAzLiBNaW50IGFuIEFQSSBrZXkgd2l0aCBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZQoKYG52" + + "Y2YtY2xpIGluaXRgJ3MgYWRtaW4gdG9rZW4gZG9lcyBOT1QgY2FycnkgdGhlIGBpbnZva2VfZnVu" + + "Y3Rpb25gIHNjb3BlIOKAlCBpbnZva2Ugd291bGQgNDAzIHdpdGggIm1pc3NpbmcgcmVxdWVzdGVk" + + "IGF1dGhvcml0aWVzIi4gTWludCBhbiBBUEkga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBn" + + "ZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IGludm9rZSIg" + + "LS1leHBpcmVzLWluPTFoCiMg4oaSIEFQSSBLZXk6IG52YXBpLW52Y2Ytc3RnLS4uLgpgYGAKClRo" + + "ZSBrZXkgaXMgYXV0b21hdGljYWxseSBzYXZlZCB0byB0aGUgQ0xJIHN0YXRlIGZpbGUgYW5kIHVz" + + "ZWQgYnkgdGhlIG5leHQgYGZ1bmN0aW9uIGludm9rZWAgY2FsbC4gKipEb24ndCBlY2hvIHRoZSBr" + + "ZXkgaW50byBjaGF0IC8gbG9ncyoqLgoKIyMgNC4gRnVuY3Rpb24gSU5WT0tFCgpgYGBqc29uCnsK" + + "ICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAi" + + "cmVxdWVzdEJvZHkiOiB7Im1lc3NhZ2UiOiAiaGVsbG8ifQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkg" + + "ZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1pbnZva2UtZm4uanNvbgojIOKGkiBGdW5jdGlv" + + "biBpbnZvY2F0aW9uIGNvbXBsZXRlZCEKIyDihpIgU3RhdHVzOiBmdWxmaWxsZWQKIyDihpIgUmVx" + + "dWVzdCBJRDogLi4uCmBgYAoKRm9yIGFuIExMTSBmdW5jdGlvbiwgaW52b2tlIHRoZSBPcGVuQUkt" + + "Y29tcGF0aWJsZSByb3V0ZSBhZnRlciBkZXBsb3ltZW50OgoKYGBgc2gKY3VybCAtc1MgLVggUE9T" + + "VCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9jaGF0L2NvbXBsZXRpb25zIiBc" + + "CiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29u" + + "dGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5f" + + "aWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgInN0cmVhbSI6IHRydWUsCiAgICAibWVz" + + "c2FnZXMiOiBbCiAgICAgIHsKICAgICAgICAicm9sZSI6ICJ1c2VyIiwKICAgICAgICAiY29udGVu" + + "dCI6ICJIZWxsbyIKICAgICAgfQogICAgXQogIH0nCmBgYAoKVGhlIE9wZW5BSSBgbW9kZWxgIHZh" + + "bHVlIG11c3QgYmUgYDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YCBzbyB0aGUgZ2F0ZXdheSBj" + + "YW4gc2VsZWN0IHRoZSBmdW5jdGlvbiBhbmQgbW9kZWwuCgpSZXNwb25zZXMgQVBJIGV4YW1wbGU6" + + "CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+" + + "L3YxL3Jlc3BvbnNlcyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9L" + + "RVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAg" + + "ICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6" + + "ICJXcml0ZSBhIG9uZSBzZW50ZW5jZSBzdW1tYXJ5IG9mIE5WQ0YuIgogIH0nCmBgYAoKRW1iZWRk" + + "aW5ncyBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2Nh" + + "dGlvbi48ZG9tYWluPi92MS9lbWJlZGRpbmdzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJl" + + "ciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u" + + "IiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4i" + + "LAogICAgImlucHV0IjogIk5WQ0YgZW1iZWRkaW5ncyBjaGVjayIKICB9JwpgYGAKCklmIHN0YXR1" + + "cyBpcyBgZXJyb3JlZGAsIHF1ZXJ5IElDTVMgZm9yIHRoZSBkZXBsb3ltZW50J3MgcG9kIGxvZ3Mg" + + "KGt1YmVjdGwgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcikgYW5kIHN1cmZhY2UgdG8gdGhl" + + "IHVzZXIuCgojIyA1LiBDbGVhbnVwCgpXaGVuIHRoZSB1c2VyIGlzIGRvbmUgd2l0aCB0aGUgc21v" + + "a2UgdGVzdDoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPTxm" + + "bl9pZD4gLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+CmBgYAoKKipDb25maXJtIHdpdGggdGhlIHVzZXIg" + + "YmVmb3JlIGRlbGV0aW5nLioqIFRoaXMgcmVtb3ZlcyBib3RoIHRoZSBkZXBsb3ltZW50IGFuZCB0" + + "aGUgZnVuY3Rpb24gcmVjb3JkLgoKIyMgTm90ZXMKCi0gRGVwbG95IHRpbWVzIGNhbiB2YXJ5IHdp" + + "ZGVseSBkZXBlbmRpbmcgb24gTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5IG9uIGNvbGQtY2x1c3Rl" + + "ciBydW5zICgxLTcgbWludXRlcyBvYnNlcnZlZCBpbiBkZXYtVk0gdGVzdHMpLiBCZSBwYXRpZW50" + + "OyBkb24ndCBraWxsIHRoZSBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAgY29tbWFuZCBlYXJseS4K" + + "LSBGb3IgZGlmZmVyZW50IEdQVSBmYW1pbGllcywgY2hhbmdlIGJvdGggYGdwdWAgYW5kIGBpbnN0" + + "YW5jZVR5cGVgIHRvZ2V0aGVyLiBDb21tb24gU0tVczogYE5DUC5HUFUuSDEwMF8xeGAsIGBOQ1Au" + + "R1BVLkgxMDBfMnhgLCBgTkNQLkdQVS5BMTAwXzF4YC4KLSBUaGUgZnVuY3Rpb24ncyBjb250YWlu" + + "ZXIgaW1hZ2UgbXVzdCBiZSBwdWxsYWJsZSBmcm9tIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIn" + + "cyBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgKGNoZWNrIGBrdWJlY3RsIGRlc2NyaWJl" + + "IHBvZCAtbiBudmNmLWJhY2tlbmRgIGlmIHBvZHMgbGFuZCBpbiBgSW1hZ2VQdWxsQmFja09mZmAp" + + "LgpQSwcI0kPcBBglAAAYJQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA9AAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQAB" + + "AKbOEiMgRGlhZ25vc2UgYSBmYWlsZWQgc2VsZi1ob3N0ZWQgTlZDRiBpbnN0YWxsCgpVc2VyIHNh" + + "eXMgIm15IGluc3RhbGwgZmFpbGVkIiBvciAiWCBpc24ndCB3b3JraW5nIi4gRG9uJ3QgZ3Vlc3Mg" + + "4oCUIHF1ZXJ5IHRoZSBjbHVzdGVyLgoKIyMgMS4gR2V0IHRoZSB2ZXJkaWN0CgpgYGBzaApudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganEgLWMgLgpgYGAKClRoZSBmaXJzdCBl" + + "dmVudCBpcyB0aGUgc25hcHNob3QuIFBhcnNlIGAudmVyZGljdGA6CgotICoqYGhlYWx0aHlgKiog" + + "4oCUIG5vdGhpbmcncyB3cm9uZy4gQXNrIHRoZSB1c2VyIHdoYXQgdGhleSdyZSBhY3R1YWxseSBz" + + "ZWVpbmc7IHRoZWlyIHByb2JsZW0gbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIChmdW5jdGlv" + + "biBkZXBsb3ksIG5ldHdvcmssIGV0Yy4pLgotICoqYGRlZ3JhZGVkYCoqIOKAlCBhdCBsZWFzdCBv" + + "bmUgY29tcG9uZW50IG5vdCByZWFkeS4gVGhlIENvbXBvbmVudHMgbGlzdCB3aWxsIGlkZW50aWZ5" + + "IHdoaWNoLiBNb3N0IGNvbW1vbjogYGNhc3NhbmRyYWAgUG9kSW5pdGlhbGl6aW5nLCBgb3BlbmJh" + + "b2Agbm90IHVuc2VhbGVkLCBgc2lzYCBJbWFnZVB1bGxCYWNrT2ZmLgotICoqYGZhaWxlZGAqKiDi" + + "gJQgTlZDRkJhY2tlbmQgYEhlYWx0aD1GYWlsZWRgLiBSZWFkIHRoZSBjbHVzdGVyJ3MgTlZDRkJh" + + "Y2tlbmQgc3RhdHVzIGNvbmRpdGlvbiBtZXNzYWdlLgotICoqYHVua25vd25gKiog4oCUIElDTVMg" + + "dW5yZWFjaGFibGUuIFRoZSBjb250cm9sIHBsYW5lIGl0c2VsZiBtYXkgYmUgZG93bjsgY2hlY2sg" + + "YGt1YmVjdGwgZ2V0IHBvZHMgLW4gc2lzYCBkaXJlY3RseS4KCiMjIDIuIERyaWxsIGludG8gdGhl" + + "IGZhaWxpbmcgY29tcG9uZW50CgpGb3IgZWFjaCBub24tcmVhZHkgY29tcG9uZW50LCB0aGUgc25h" + + "cHNob3QgaW5jbHVkZXMgYSBgbWVzc2FnZWAgKGUuZy4gYGNhc3NhbmRyYS0wIFBvZEluaXRpYWxp" + + "emluZyA2bTIzc2ApLiBBc2sgdGhlIHVzZXIgdG8gcnVuOgoKYGBgc2gKa3ViZWN0bCBkZXNjcmli" + + "ZSBwb2QgLW4gPG5zPiA8cG9kPgprdWJlY3RsIGxvZ3MgLW4gPG5zPiA8cG9kPiAtLWFsbC1jb250" + + "YWluZXJzIC0tdGFpbD0xMDAKYGBgCgpTdXJmYWNlIHRoZSBldmVudHMgKyBsYXN0IGxvZyBsaW5l" + + "cy4gRG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUgcG9kYCB1bmxlc3MgdGhlIHVzZXIgY29u" + + "ZmlybXMg4oCUIENhc3NhbmRyYSByZXN0YXJ0IGxvc2VzIGFueSBpbi1wcm9ncmVzcyBtaWdyYXRp" + + "b24uCgojIyAzLiBDb21tb24gcGF0dGVybnMKCnwgU3ltcHRvbSB8IExpa2VseSBjYXVzZSB8IFJl" + + "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmdg" + + "IGZvciA+NSBtaW4gfCBTdG9yYWdlQ2xhc3MgbWlzc2luZyBvciBQViBzdHVjayBgUGVuZGluZ2Ag" + + "fCBga3ViZWN0bCBnZXQgcHYscHZjIC1BYCDigJQgY29uZmlybSBhIGRlZmF1bHQgU3RvcmFnZUNs" + + "YXNzIGV4aXN0cy4gTG9jYWwgZGV2OiBga3ViZWN0bCBwYXRjaCBzdG9yYWdlY2xhc3MgbG9jYWwt" + + "cGF0aCAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJu" + + "ZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCB8CnwgYGhlbG0gaW5zdGFsbCAu" + + "Li46IHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmEgdG8gYmVjb21lIGF2YWlsYWJsZWAg" + + "fCBTYW1lIGFzIGFib3ZlIHwgU2FtZSB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxl" + + "ZGAgKHByZWZsaWdodCkgfCBNdWx0aS1jbHVzdGVyIGBudmNmLWdhdGV3YXktcm91dGVzYCBjaGFy" + + "dCBuZWVkcyBlbnZveS1nYXRld2F5IHByZXJlcXVpc2l0ZSB8IEluc3RhbGwgZW52b3ktZ2F0ZXdh" + + "eTogYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhl" + + "bG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8" + + "CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + + "YCAoTlZDQSBhZ2VudCkgfCBDb21wdXRlIHBsYW5lJ3MgUFNBVCB3YXMgaXNzdWVkIGJ5IGEgSzhz" + + "IHNlcnZlciB3aG9zZSBKV0tTIGRvZXNuJ3QgbWF0Y2ggd2hhdCdzIHN0b3JlZCBpbiBJQ01TIHwg" + + "UmUtcmVnaXN0ZXI6IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAg" + + "ZnJvbSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJ" + + "IHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9y" + + "IG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgKGluaXQgLyBjbHVzdGVyIHJlZ2lzdGVyKSB8IFN0" + + "YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8u" + + "bnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgbnZjYS1vcGVy" + + "YXRvcmAgSW1hZ2VQdWxsQmFja09mZiBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + + "b3QgaW4gY2x1c3RlciAobXVsdGktY2x1c3RlciB0b3BvbG9neSBidWlsZHMgaXQgbG9jYWxseSkg" + + "fCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNs" + + "dXN0ZXI+YCAob3Igd2hhdGV2ZXIgeW91ciBpbWFnZSBwdXNoIHBhdGggaXMpIHwKfCBgcmVxdWly" + + "ZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yKSB8IE9sZGVyIG52Y2Yt" + + "Y2xpOyB0aGUgZW52IHByb3BhZ2F0aW9uIGZpeCBsYW5kZWQgaW4gTSs1IGZvbGxvdy11cHMgfCBV" + + "cGdyYWRlIGBudmNmLWNsaWAgdG8gYSB2ZXJzaW9uIGFmdGVyIGA2YWE1NzA0YCB8CgojIyA0LiBX" + + "aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHN0YXJ0IG92ZXIKCklmIHRoZXkgY29uZmlybSBhIHRlYXJk" + + "b3duOgoKLSBTaW5nbGUtY2x1c3RlcjogYGNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrICYmIG1h" + + "a2UgZGVzdHJveWAgKG9yIGBoZWxtIHVuaW5zdGFsbGAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZSBv" + + "cmRlcikuCi0gTXVsdGktY2x1c3RlcjogYGhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4g" + + "bnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgcGxhbmUgRklSU1Q7IHRoZW4gY29udHJvbCBw" + + "bGFuZTsgdGhlbiBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxpZD5gIHRv" + + "IHJlbW92ZSB0aGUgSUNNUyByb3cuCgpBbHdheXMgY29uZmlybSBiZWZvcmUgYW55IHRlYXJkb3du" + + "IOKAlCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIGRlbGV0aW9uIGlzIGRlc3RydWN0aXZlIGFu" + + "ZCBsb3NlcyBjbHVzdGVyX29pZGMgcm93cy4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3Qg" + + "cHJvcG9zZSBgLS1kZWJ1Z2AgYXMgYSBmaXguKiogSXQncyBkaWFnbm9zdGljIG9ubHkuCi0gKipE" + + "b24ndCBwcm9wb3NlIGBoZWxtIHVuaW5zdGFsbGAqKiB1bmxlc3MgdGhlIHVzZXIgZXhwbGljaXRs" + + "eSBhc2tlZCB0byBzdGFydCBvdmVyLgotICoqRG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUg" + + "cHZjYCoqIGV2ZXIgd2l0aG91dCBjb25maXJtYXRpb24g4oCUIGl0IGRlbGV0ZXMgdGhlIHVuZGVy" + + "bHlpbmcgUFYuCi0gKipEb24ndCByZS1ydW4gYHVwYCB3aXRoIGRpZmZlcmVudCBpbnB1dHMqKiB0" + + "byAic2VlIHdoYXQgaGFwcGVucyIuIERpYWdub3NlIHdpdGggYHN0YXR1c2AgLyBga3ViZWN0bCBk" + + "ZXNjcmliZWAgZmlyc3QuClBLBwhykiwmvg4AAL4OAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "ADoACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3Jh" + + "dGNoLm1kVVQFAAEAps4SIyBJbnN0YWxsIHNlbGYtaG9zdGVkIE5WQ0YgZnJvbSBzY3JhdGNoCgpV" + + "c2VyIHdhbnRzIHRvIGJyaW5nIHVwIHNlbGYtaG9zdGVkIE5WQ0Ygb24gYSBmcmVzaCBLdWJlcm5l" + + "dGVzIGNsdXN0ZXIgKG9yIGszZCBmb3IgbG9jYWwgZGV2KS4gVGhpcyBpcyB0aGUgbW9zdCBjb21t" + + "b24gZW50cnlwb2ludC4KCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSB0b3BvbG9neS4gQXNrIHRo" + + "ZSB1c2VyOgogICAtICJTaW5nbGUtY2x1c3RlciAoY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBw" + + "bGFuZSBvbiBvbmUgY2x1c3Rlciwgc2ltcGxlcikgb3Igc3BsaXQgKGNvbnRyb2wgcGxhbmUgb24g" + + "Y2x1c3RlciBBLCBjb21wdXRlIHBsYW5lIG9uIGNsdXN0ZXIgQiwgcHJvZHVjdGlvbi1zaGFwZWQp" + + "PyIKICAgLSAiV2hhdCdzIHRoZSBjbHVzdGVyIG5hbWUgKHRoZSBgLS1jbHVzdGVyLW5hbWVgIGZs" + + "YWcsIGJlY29tZXMgdGhlIElDTVMgcm93IGlkZW50aWZpZXIpPyBFeGFtcGxlczogYG5jcC1sb2Nh" + + "bGAgZm9yIGxvY2FsIGRldiwgYHByb2QtdXMtZWFzdC0xYCBmb3IgcHJvZHVjdGlvbi4iCiAgIC0g" + + "Rm9yIHNwbGl0OiAiQ29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGNvbnRleHQgbmFtZT8gQ29tcHV0" + + "ZS1wbGFuZSBjb250ZXh0PyBQdWJsaWMgSUNNUyBVUkw/IgoKMi4gUHJlcGFyZSByZW1vdGUgR2F0" + + "ZXdheSBhbmQgQ0xJIGNvbmZpZyBpZiB0aGlzIGlzIG5vdCBsb2NhbCBrM2QuIE9uZS1jbGljawog" + + "ICBhcHBsaWVzIHRoZSBjb250cm9sIHBsYW5lLCB0aGVuIGltbWVkaWF0ZWx5IGNhbGxzIEFQSSwg" + + "QVBJIEtleXMsIGludm9jYXRpb24sCiAgIGFuZCBnUlBDIGVuZHBvaW50cy4gRm9yIHJlbW90ZSBj" + + "bHVzdGVycywgdGhlIEdhdGV3YXkgbXVzdCBiZSBwcm9ncmFtbWVkIGFuZAogICB0aGUgQ0xJIGNv" + + "bmZpZyBtdXN0IHBvaW50IGF0IHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIgYmVmb3JlIGB1cGAg" + + "cnVucy4KCiAgIElmIEdhdGV3YXkgQVBJIGluZ3Jlc3MgaXMgbm90IGFscmVhZHkgcHJlc2VudCwg" + + "Y3JlYXRlIGl0IGZpcnN0LiBUaGVzZSBhcmUgdGhlCiAgIHNoYXJlZCBHYXRld2F5IHNldHVwIHN0" + + "ZXBzIHVzZWQgYnkgb25lLWNsaWNrLCBIZWxtZmlsZSwgYW5kIHN0YW5kYWxvbmUgY2hhcnQKICAg" + + "aW5zdGFsbCBwYXRoczoKCiAgIGBgYHNoCiAgIGt1YmVjdGwgYXBwbHkgLWYgaHR0cHM6Ly9naXRo" + + "dWIuY29tL2t1YmVybmV0ZXMtc2lncy9nYXRld2F5LWFwaS9yZWxlYXNlcy9kb3dubG9hZC92MS4y" + + "LjAvZXhwZXJpbWVudGFsLWluc3RhbGwueWFtbAoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1n" + + "YXRld2F5LXN5c3RlbSBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAg" + + "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBkb25lCgogICBmb3IgbmFtZXNwYWNlIGlu" + + "IGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgbGFi" + + "ZWwgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiBudmNmL3BsYXRmb3JtPXRydWUgLS1vdmVyd3JpdGUK" + + "ICAgZG9uZQoKICAgaGVsbSB1cGdyYWRlIC0taW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52" + + "b3lwcm94eS9nYXRld2F5LWhlbG0gXAogICAgIC0tdmVyc2lvbiB2MS4xLjMgXAogICAgIC1uIGVu" + + "dm95LWdhdGV3YXktc3lzdGVtCiAgIGBgYAoKICAgQmVmb3JlIGFwcGx5aW5nIHRoZSBgRW52b3lQ" + + "cm94eWAsIGRldGVybWluZSB3aGljaCBTZXJ2aWNlIGNvbnRyb2xsZXIgb3ducwogICBsb2FkIGJh" + + "bGFuY2VycyBvbiBFS1MuIERvIG5vdCBhcHBseSB0aGUgbWFuaWZlc3QgdW50aWwgeW91IGhhdmUg" + + "c2VsZWN0ZWQgdGhlCiAgIG1hdGNoaW5nIGBlbnZveVNlcnZpY2VgIGNvbmZpZ3VyYXRpb24uIFVz" + + "ZSB0aGUgRUtTIEFQSSBhbmQgdGhlIGluLWNsdXN0ZXIKICAgY29udHJvbGxlciBEZXBsb3ltZW50" + + "IGluc3RlYWQgb2YgZ3Vlc3NpbmcgZnJvbSB0aGUgY2x1c3RlciBhZ2Ugb3IgZXhpc3RpbmcKICAg" + + "U2VydmljZXM6CgogICBgYGBzaAogICBleHBvcnQgRUtTX0NMVVNURVJfTkFNRT0iPGNsdXN0ZXIt" + + "bmFtZT4iCgogICBhd3MgZWtzIGRlc2NyaWJlLWNsdXN0ZXIgLS1uYW1lICIkRUtTX0NMVVNURVJf" + + "TkFNRSIgXAogICAgIC0tcXVlcnkgJ2NsdXN0ZXIua3ViZXJuZXRlc05ldHdvcmtDb25maWcuZWxh" + + "c3RpY0xvYWRCYWxhbmNpbmcuZW5hYmxlZCcgXAogICAgIC0tb3V0cHV0IHRleHQKICAga3ViZWN0" + + "bCAtbiBrdWJlLXN5c3RlbSBnZXQgZGVwbG95bWVudCBhd3MtbG9hZC1iYWxhbmNlci1jb250cm9s" + + "bGVyCiAgIGBgYAoKICAgQW4gRUtTIEFQSSByZXN1bHQgb2YgYFRydWVgIHNlbGVjdHMKICAgW0VL" + + "UyBBdXRvIE1vZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9la3MvbGF0ZXN0L3VzZXJn" + + "dWlkZS9hdXRvLWNvbmZpZ3VyZS1ubGIuaHRtbCkuCiAgIE90aGVyd2lzZSwgYSBzdWNjZXNzZnVs" + + "IERlcGxveW1lbnQgbG9va3VwIHNlbGVjdHMgdGhlIEFXUyBMb2FkIEJhbGFuY2VyCiAgIENvbnRy" + + "b2xsZXIuIElmIG5laXRoZXIgaXMgcHJlc2VudCwgY29uZmlybSB0aGF0IHRoZSBjbHVzdGVyIGlu" + + "dGVudGlvbmFsbHkKICAgdXNlcyB0aGUgbGVnYWN5IEFXUyBjbG91ZCBwcm92aWRlciBTZXJ2aWNl" + + "IGNvbnRyb2xsZXIsIG9yIGluc3RhbGwgdGhlIEFXUwogICBMb2FkIEJhbGFuY2VyIENvbnRyb2xs" + + "ZXIsIGJlZm9yZSBhcHBseWluZyB0aGUgZXhhbXBsZS4KCiAgIFRoZSBhcHBsaWVkIG1hbmlmZXN0" + + "IGJlbG93IGlzIGZvciB0aGUgQVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlci4gRm9yIEVLUwog" + + "ICBBdXRvIE1vZGUsIHJlcGxhY2UgaXRzIGBlbnZveVNlcnZpY2VgIG1hcCBiZWZvcmUgYXBwbHlp" + + "bmcgaXQgd2l0aDoKCiAgIGBgYHlhbWwKICAgZW52b3lTZXJ2aWNlOgogICAgIGxvYWRCYWxhbmNl" + + "ckNsYXNzOiBla3MuYW1hem9uYXdzLmNvbS9ubGIKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNl" + + "cnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVy" + + "bmV0LWZhY2luZyIKICAgYGBgCgogICBGb3IgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIg" + + "U2VydmljZSBjb250cm9sbGVyLCByZXBsYWNlIHRoZSBtYXAgd2l0aDoKCiAgIGBgYHlhbWwKICAg" + + "ZW52b3lTZXJ2aWNlOgogICAgIGFubm90YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVy" + + "bmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogIm5sYiIKICAgYGBgCgogICBUaGUgbGVn" + + "YWN5IGNvbnRyb2xsZXIgY3JlYXRlcyBhbiBpbnRlcm5ldC1mYWNpbmcgbG9hZCBiYWxhbmNlciBi" + + "eSBkZWZhdWx0LgogICBEbyBub3QgY29tYmluZSB0aGUgbGVnYWN5IGBubGJgIHNlbGVjdG9yIHdp" + + "dGggdGhlIEFXUyBMb2FkIEJhbGFuY2VyCiAgIENvbnRyb2xsZXIgdGFyZ2V0IHR5cGUgYW5kIHNj" + + "aGVtZSBhbm5vdGF0aW9ucy4gSXQgc3VwcG9ydHMgYW4gTkxCIFNlcnZpY2UKICAgd2hvc2UgcG9y" + + "dHMgdXNlIG9ubHkgVENQIG9yIG9ubHkgVURQLCBidXQgcmVqZWN0cyBvbmUgU2VydmljZSB0aGF0" + + "IGNvbWJpbmVzCiAgIFRDUCBhbmQgVURQIHBvcnRzLiBVc2UgdGhlIEFXUyBMb2FkIEJhbGFuY2Vy" + + "IENvbnRyb2xsZXIgd2hlbiB0aGUgZ2VuZXJhdGVkCiAgIEVudm95IFNlcnZpY2UgY29tYmluZXMg" + + "cHJvdG9jb2xzLiBPbiBub24tQVdTIGNsdXN0ZXJzLCByZXBsYWNlIHRoZSBtYXAgd2l0aAogICB0" + + "aGUgcHJvdmlkZXIncyBTZXJ2aWNlIGNvbmZpZ3VyYXRpb24gYmVmb3JlIGFwcGx5aW5nIGl0LgoK" + + "ICAgYGBgc2gKICAgIyBOb24tRUtTLUF1dG8tTW9kZSBleGFtcGxlOiB1c2UgQVdTIExCQyB3aXRo" + + "IGluc3RhbmNlIHRhcmdldHMuCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJz" + + "aW9uOiBnYXRld2F5LmVudm95cHJveHkuaW8vdjFhbHBoYTEKICAga2luZDogRW52b3lQcm94eQog" + + "ICBtZXRhZGF0YToKICAgICBuYW1lOiBlZwogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0KICAgc3BlYzoKICAgICBwcm92aWRlcjoKICAgICAgIHR5cGU6IEt1YmVybmV0ZXMKICAg" + + "ICAgIGt1YmVybmV0ZXM6CiAgICAgICAgIGVudm95U2VydmljZToKICAgICAgICAgICBhbm5vdGF0" + + "aW9uczoKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJh" + + "bGFuY2VyLXR5cGU6ICJleHRlcm5hbCIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5l" + + "dGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLW5sYi10YXJnZXQtdHlwZTogImluc3RhbmNlIgogICAg" + + "ICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2No" + + "ZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICAtLS0KICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5uZXR3" + + "b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5Q2xhc3MKICAgbWV0YWRhdGE6CiAgICAg" + + "bmFtZTogZWcKICAgc3BlYzoKICAgICBjb250cm9sbGVyTmFtZTogZ2F0ZXdheS5lbnZveXByb3h5" + + "LmlvL2dhdGV3YXljbGFzcy1jb250cm9sbGVyCiAgICAgcGFyYW1ldGVyc1JlZjoKICAgICAgIGdy" + + "b3VwOiBnYXRld2F5LmVudm95cHJveHkuaW8KICAgICAgIGtpbmQ6IEVudm95UHJveHkKICAgICAg" + + "IG5hbWU6IGVnCiAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIEVPRgoK" + + "ICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29y" + + "a2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheQogICBtZXRhZGF0YToKICAgICBuYW1lOiBu" + + "dmNmLWdhdGV3YXkKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgc3BlYzoKICAgICBn" + + "YXRld2F5Q2xhc3NOYW1lOiBlZwogICAgIGxpc3RlbmVyczoKICAgICAtIG5hbWU6IGh0dHAKICAg" + + "ICAgIHByb3RvY29sOiBIVFRQCiAgICAgICBwb3J0OiA4MAogICAgICAgYWxsb3dlZFJvdXRlczoK" + + "ICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICBmcm9tOiBTZWxlY3RvcgogICAgICAgICAg" + + "IHNlbGVjdG9yOgogICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgIG52Y2Yv" + + "cGxhdGZvcm06ICJ0cnVlIgogICAgIC0gbmFtZTogdGNwCiAgICAgICBwcm90b2NvbDogVENQCiAg" + + "ICAgICBwb3J0OiAxMDA4MQogICAgICAgYWxsb3dlZFJvdXRlczoKICAgICAgICAgbmFtZXNwYWNl" + + "czoKICAgICAgICAgICBmcm9tOiBTZWxlY3RvcgogICAgICAgICAgIHNlbGVjdG9yOgogICAgICAg" + + "ICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgIG52Y2YvcGxhdGZvcm06ICJ0cnVlIgog" + + "ICBFT0YKICAgYGBgCgogICBTZXJ2aWNlIGFubm90YXRpb25zIG11c3QgYmUgdW5kZXIKICAgYEVu" + + "dm95UHJveHkuc3BlYy5wcm92aWRlci5rdWJlcm5ldGVzLmVudm95U2VydmljZS5hbm5vdGF0aW9u" + + "c2AuIEVudm95IEdhdGV3YXkKICAgY29waWVzIHRoZW0gdG8gdGhlIGdlbmVyYXRlZCBFbnZveSBT" + + "ZXJ2aWNlLiBEbyBub3QgcHV0IFNlcnZpY2UgYW5ub3RhdGlvbnMKICAgb24gdGhlIGBHYXRld2F5" + + "YCByZXNvdXJjZS4KCiAgIENhcHR1cmUgdGhlIEdhdGV3YXkgdmFsdWVzIGFuZCB3cml0ZSB0aGUg" + + "Q0xJIGNvbmZpZzoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDTFVTVEVSX05BTUU9Im52Y2YtcmVtb3Rl" + + "IgogICBleHBvcnQgTkNBX0lEPSJudmNmLWRlZmF1bHQiCiAgIGV4cG9ydCBSRUdJT049InVzLXdl" + + "c3QtMSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAg" + + "IGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgogICBleHBvcnQgR1JQQ19H" + + "QVRFV0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9O" + + "QU1FPSJudmNmLWdhdGV3YXkiCgogICBrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFD" + + "RSIgd2FpdCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRp" + + "b249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KICAga3ViZWN0bCAtbiAiJEdSUENfR0FU" + + "RVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEdSUENfR0FURVdBWV9OQU1FIiBcCiAgICAg" + + "LS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCgogICBleHBvcnQg" + + "R0FURVdBWV9BRERSPSIkKGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQg" + + "ImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + + "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9BRERSPSIkKGt1" + + "YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQgImdhdGV3YXkvJEdSUENfR0FU" + + "RVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + + "ZX0nKSIKICAgdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIgfHwgZXhpdCAxCiAgIHRlc3QgLW4gIiRH" + + "UlBDX0dBVEVXQVlfQUREUiIgfHwgZXhpdCAxCiAgIGV4cG9ydCBTVEFDS19ET01BSU49IiRHQVRF" + + "V0FZX0FERFIiCiAgIGBgYAoKICAgU2V0IGBTVEFDS19ET01BSU5gIHRvIHRoZSBob3N0bmFtZSBz" + + "dWZmaXggdXNlZCBieSB0aGUgaW5zdGFsbGVkIEhUVFBSb3V0ZXMuCiAgIEZvciByZW1vdGUgdGVz" + + "dCBmbG93cyB3aXRob3V0IHByb2R1Y3Rpb24gRE5TLCB1c2UgdGhlIEdhdGV3YXkgbG9hZCBiYWxh" + + "bmNlcgogICBhZGRyZXNzLgoKICAgYGBgc2gKICAgY2F0ID4gLm52Y2YtY2xpLnlhbWwgPDxFT0YK" + + "ICAgYmFzZV9odHRwX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGludm9rZV91cmw6" + + "ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBiYXNlX2dycGNfdXJsOiAiJHtHUlBDX0dBVEVX" + + "QVlfQUREUn06MTAwODEiCiAgIGFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLyR7R0FURVdB" + + "WV9BRERSfSIKCiAgIGFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy4ke1NUQUNLX0RPTUFJTn0iCiAg" + + "IGFwaV9ob3N0OiAiYXBpLiR7U1RBQ0tfRE9NQUlOfSIKICAgaW52b2tlX2hvc3Q6ICJpbnZvY2F0" + + "aW9uLiR7U1RBQ0tfRE9NQUlOfSIKCiAgIGFwaV9rZXlzX3NlcnZpY2VfaWQ6ICJudmlkaWEtY2xv" + + "dWQtZnVuY3Rpb25zLW5jcC1zZXJ2aWNlLWlkLWFrZXRtIgogICBhcGlfa2V5c19pc3N1ZXJfc2Vy" + + "dmljZTogIm52Y2YtYXBpIgogICBhcGlfa2V5c19vd25lcl9pZDogInN2Y0BudmNmLWFwaS5sb2Nh" + + "bCIKCiAgIGNsaWVudF9pZDogIiR7TkNBX0lEfSIKICAgRU9GCiAgIGBgYAoKMy4gUnVuIHByZS1m" + + "bGlnaHQuIENob29zZSB0aGUgZmxhdm9yIG1hdGNoaW5nIHRoZSB0b3BvbG9neS4gYC0tanNvbmAg" + + "d3JpdGVzCiAgIEpTT05MIHRvIHN0ZGVyciwgc28gcmVkaXJlY3QgaXQgdG8gdGhlIHBhcnNlciBh" + + "bmQga2VlcCBvbmx5IEpTT04gbGluZXM6CgogICBgYGBzaAogICAjIFNpbmdsZS1jbHVzdGVyCiAg" + + "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiAyPiYxID4vZGV2L251bGwg" + + "fCBncmVwICdeeycgPiBjaGVjay5qc29ubAoKICAgIyBTcGxpdDogcGFzcyBib3RoIGNvbnRleHQg" + + "ZmxhZ3MKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1h" + + "ZG1pbkBncHUxIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hl" + + "Y2suanNvbmwKCiAgICMgR2F0ZSBvbiB0aGUgZmluYWwgZXZlbnQuIEEgbWlzc2luZyBmaW5hbCBl" + + "dmVudCBhbHNvIGZhaWxzIHRoZSBnYXRlLgogICBqcSAtc2UgJ2FueSguW107IC5ldmVudCA9PSAi" + + "ZmluYWwiIGFuZCAuc3VjY2VzcyknIGNoZWNrLmpzb25sCiAgIGBgYAoKICAgSWYgdGhlIGdhdGUg" + + "ZmFpbHMsIHNob3cgdGhlIHVzZXIgZWFjaCBgY2hlY2tfY29tcGxldGVkYCBldmVudCB3aXRoCiAg" + + "IGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCAoaXRzIGBtZXNzYWdlYCBh" + + "bmQgYGhpbnRVUkxgKSwgYW5kCiAgIHN0b3AuIERvbid0IHByb2NlZWQgdG8gaW5zdGFsbCB3aXRo" + + "IGJyb2tlbiBwcmVyZXFzLiBSb3dzIGF0CiAgIGBzZXZlcml0eTogIndhcm5pbmciYCBkbyBub3Qg" + + "ZmFpbCB0aGUgZ2F0ZTsgbWVudGlvbiB0aGVtLiBGb3IgYW4gb3BlcmF0b3IKICAgd2l0aCBrdWJl" + + "Y3RsIGFjY2VzcyB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5LCB1c2UgdGhlIGNvbXB1dGUtb25s" + + "eSBmb3JtIGluCiAgIFthZGQtY29tcHV0ZS1wbGFuZS5tZF0oYWRkLWNvbXB1dGUtcGxhbmUubWQp" + + "IGluc3RlYWQuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRlZC4gYG52Y2YtY2xpIGlu" + + "aXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIgZG9lcyBub3QgaGF2ZSBh" + + "IHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91Z2ggdGhlIHB1YmxpYwog" + + "ICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRlLW9ubHkgbW9kZS4KCjUu" + + "IFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVudCBzdHJlYW06CgogICBg" + + "YGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7" + + "Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lv" + + "bj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9yIHNwbGl0LWNsdXN0ZXIg" + + "aW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBzaAogICBleHBvcnQgQ09O" + + "VFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgogICBleHBvcnQgQ09NUFVU" + + "RV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtDT05UUk9MX1BMQU5FX0NP" + + "TlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7Q09NUFVURV9QTEFORV9D" + + "T05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAt" + + "LW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0t" + + "anNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vfc3RhcnRlZGAgLyBgcGhh" + + "c2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3Byb2dyZXNzYDogc2hvdyBw" + + "cm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJjZSBjb3VudHMpCiAgIC0g" + + "YHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNpc3RzIGZvciBtb3JlIHRo" + + "YW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5kIHN1cmZhY2UgYGVyck1l" + + "c3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAgRGVjaWRlIGJhc2VkIG9u" + + "IGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBub3cgd2l0aCB1c2VyCiAg" + + "ICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVyU2VjYCBhbmQgdGhlbiBy" + + "ZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1lZGlhdGlvbmAsIGBub25l" + + "YCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAgYWN0IGZpcnN0LCBzbyBk" + + "byBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmludCBjbHVzdGVySWQgYW5k" + + "IE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1cy4gUnVuIGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBlY3QKICAgYHZlcmRpY3Q6" + + "ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + + "ZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9uYWxseSBzbW9rZSB0ZXN0" + + "IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRlcGxveS1hbmQtaW52" + + "b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52b2tlIGZsb3cuCgojIyBO" + + "b3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVzaCBjbHVzdGVyIHRha2Vz" + + "IGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0IHB1bGwgc3BlZWQgYW5k" + + "IE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1wb3RlbnQuIEl0IGlzIHNh" + + "ZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4KLSBOZXZlciBwcm9wb3Nl" + + "IGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4KLSBJZiB0aGUgdXNlciBo" + + "YXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVyYWN0aXZlIC0tdG9rZW49" + + "JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVyYWN0aXZlbHkuClBLBwi0" + + "Sd8nVikAAFYpAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhIjIFJvdGF0" + + "ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVkIGF1dGhlbnRpY2F0aW5n" + + "LCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRoZSBLOHMgQVBJIHNlcnZl" + + "cidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQgdGhlIEpXS1Mgc3RvcmVk" + + "IGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUKCi0gYGt1YmVjdGwgbG9n" + + "cyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2FgIHNob3dzIGBI" + + "VFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0ZXJgIHJlcGVhdGVkbHkK" + + "LSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNs" + + "dXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNoLCBub3QgSldLUywgYnV0" + + "IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFuZSBLOHMgdXBncmFkZSBv" + + "ciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgY2x1" + + "c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0k" + + "TkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93IG1hdGNoaW5nIHRoZSB1" + + "c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIFVzZSBhIGNvbnRleHQgdGhhdCBj" + + "YW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJl" + + "LWZldGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCkuIFdyaXRlIHRoYXQgY29u" + + "dGV4dCBhbG9uZSB0byBhIHRlbXBvcmFyeSBrdWJlY29uZmlnIGFuZCBwYXNzIGl0IHdpdGggYC0t" + + "a3ViZWNvbmZpZ2AsIHNvIHRoZSBjdXJyZW50IGNvbnRleHQgb2YgeW91ciBrdWJlY29uZmlnIHN0" + + "YXlzIGFzIGl0IHdhczoKCiAgIGBgYHNoCiAgIEtDPSQobWt0ZW1wKQogICBrdWJlY3RsIGNvbmZp" + + "ZyB2aWV3IC0tbWluaWZ5IC0tZmxhdHRlbiAtLWNvbnRleHQ9PGN0eD4gPiAiJEtDIiAmJgogICAg" + + "IG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+IC0ta3ViZWNvbmZpZz0i" + + "JEtDIgogICBybSAtZiAiJEtDIgogICBgYGAKCiAgIGBjbHVzdGVyIHJvdGF0ZWAgcmUtZmV0Y2hl" + + "cyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRzIGl0IHRvIElD" + + "TVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLiBUaGUgdGVtcG9yYXJ5IGZpbGUgaG9s" + + "ZHMgdGhlIGNvbnRleHQncyBjcmVkZW50aWFsczogYG1rdGVtcGAgbWFrZXMgaXQgcmVhZGFibGUg" + + "b25seSBieSB5b3UsIGFuZCBgcm1gIHJlbW92ZXMgaXQuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1j" + + "bGkgY2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRg" + + "IGFkdmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVy" + + "bmV0ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3Vs" + + "ZCBzdWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBg" + + "Y2x1c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdy" + + "b3VwIElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95" + + "IHRoZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQg" + + "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElD" + + "TVMgb25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0" + + "ZXIgSUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBt" + + "YXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91" + + "dCBoZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1j" + + "YWxsb3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5" + + "X2NsdXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZp" + + "Z21hcCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZh" + + "aWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNo" + + "ZWNrcy4KUEsHCKnBJvcuCQAALgkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIg" + + "ZG93biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24g" + + "ZGVzdHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBr" + + "ZXlzLCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBi" + + "ZWZvcmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5z" + + "dGFsbGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3du" + + "IHN1cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToK" + + "CnwgVGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwK" + + "fCBQZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBg" + + "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1" + + "bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8" + + "CnwgT3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNs" + + "dXN0ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwK" + + "ClVzZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRP" + + "cHMgKGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVz" + + "LiBBbHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2Rl" + + "IHwgTGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18" + + "LS0tfC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykg" + + "fCAqKk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBo" + + "YXNlIHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50" + + "IHN0cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1p" + + "dGl2ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0g" + + "Z2V0IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBg" + + "ZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVz" + + "dHJhdG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1u" + + "by1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhl" + + "IFlBTUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMg" + + "cHJldmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNs" + + "dXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBX" + + "aGVuIHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0t" + + "fAp8ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUg" + + "c3RlcHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "ZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBj" + + "b21taXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5z" + + "dGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRl" + + "LnlhbWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBs" + + "YW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3Qg" + + "cmVtb3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAt" + + "LWNsdXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29w" + + "ZSB3aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0" + + "ZSBwbGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRl" + + "IHBsYW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlz" + + "IGNsdXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1w" + + "b3J0YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1" + + "ZXxwcm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVu" + + "dCBzdGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVz" + + "ZXIgZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJz" + + "aXN0ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIK" + + "CiMjIyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + + "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhp" + + "cyBlbWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJl" + + "bGVhc2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3Vs" + + "ZCBiZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNb" + + "XWAgYXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmlu" + + "c3RhbGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMu" + + "IEV4ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVz" + + "dGVyLW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6" + + "CgoxLiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVz" + + "b2x2ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBm" + + "dW5jdGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMg" + + "dW50aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9t" + + "cHRgIChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBs" + + "YW5lIOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1" + + "bmluc3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBS" + + "ZW1vdmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2" + + "LiBVbnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRl" + + "YXIgZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xp" + + "IHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9y" + + "Y2hlc3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28g" + + "Z29pbmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVm" + + "dXNlcyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVz" + + "ZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoq" + + "IGlmIHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQ" + + "U0FUIGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZh" + + "aWxpbmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBi" + + "ZWZvcmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBz" + + "aApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRl" + + "cmF0ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBl" + + "ci1jbHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNv" + + "bmN1cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBs" + + "YW5lYC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVz" + + "dGVyIGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQg" + + "Zm9yIG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJn" + + "byAvIEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxh" + + "bmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1w" + + "bGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1p" + + "dHMgZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRo" + + "ZSBkZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQg" + + "LW0gInJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBz" + + "eW5jIHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01T" + + "IHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBg" + + "YAoKTm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIg" + + "ZGVsZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBH" + + "aXRPcHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1" + + "c2UgYGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBg" + + "ZG93bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiou" + + "IFRoZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyBy" + + "ZWxlYXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25v" + + "cmUtbWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2Ug" + + "NCArIDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25k" + + "IHJ1bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29y" + + "eTogImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9u" + + "ImAg4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZg" + + "ICh0aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1" + + "biBgZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24u" + + "Ci0gYGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1l" + + "ZGlhdGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIg" + + "cGFzc2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1y" + + "dW4gd2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAg" + + "YW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNl" + + "IGBlcnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1Au" + + "IERvIG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25m" + + "aXJtCgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxg" + + "IGludm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUg" + + "dGhlIGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBs" + + "b3N0IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9j" + + "YWxgIHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIiku" + + "Ci0gSWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRo" + + "YXQgQ2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5k" + + "IHRoYXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29u" + + "ZmlybWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0" + + "ZXJzYCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhh" + + "bmVkLgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFp" + + "bmluZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24g" + + "YSBDTEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVy" + + "IGNvbXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBu" + + "dmNhLWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4g" + + "bnZjYS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBu" + + "dmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgoj" + + "IERyYWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlk" + + "PTxpZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6" + + "CmNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxt" + + "ZmlsZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sg" + + "YnVuZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwg" + + "cGF0aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxs" + + "ZWQuCgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3Mg" + + "IndoeSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0" + + "ZWZ1bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVs" + + "bSB1bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxs" + + "eSBzbyBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUg" + + "Y29tcGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoK" + + "T3IsIHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0t" + + "YWxsCmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBz" + + "dGVwLgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZj" + + "Zi1jbGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBh" + + "aXIgd2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1j" + + "b2Rlcy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVk" + + "IGxpZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwt" + + "LS18LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxp" + + "Z2h0IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3Ry" + + "eSBjcmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWlu" + + "ZyBldmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wt" + + "cGxhbmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9u" + + "bHlgIG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVk" + + "IGNoZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wg" + + "cGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1" + + "bnRpbCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRl" + + "LXBsYW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIg" + + "bmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRo" + + "ZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBz" + + "dGRlcnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4g" + + "V2l0aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBg" + + "c2VsZi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3Zl" + + "IHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50" + + "OyBzZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwg" + + "WUFNTCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1o" + + "b3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3Rl" + + "ciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBP" + + "bmUgaW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0" + + "ZXItbmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0" + + "eSkgc3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFu" + + "ZXM7IGZvciBjb21wdXRlLW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNs" + + "dXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50" + + "LWZyaWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBs" + + "YW5lIHJlZ2lzdGVyIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAt" + + "LWt1YmUtY29udGV4dD1ZIFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3Rl" + + "ciB3aXRoIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJh" + + "dG9yIHZhbHVlcyB8IHN1bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQ" + + "VSBjbHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNl" + + "bGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0" + + "PVlgIHwgSW5zdGFsbCBhIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBs" + + "YW5lIHJlZ2lzdGVyYCB3cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29t" + + "cHV0ZS1wbGFuZSByZWdpc3RlcmAuIEluc3RhbGxzIFYgd2hhdGV2ZXIgaXRzIG5hbWUsIG5ldmVy" + + "IGFub3RoZXIgdmFsdWVzIGZpbGUgYmVzaWRlIGl0IHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFst" + + "LWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBU" + + "VFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1o" + + "b3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1w" + + "bGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAo" + + "bm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0g" + + "cmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + + "IC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBl" + + "ci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFu" + + "ZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVk" + + "IHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0" + + "ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlh" + + "IGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9w" + + "czsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVz" + + "LiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + + "dXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9y" + + "Y2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0" + + "ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVw" + + "IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJt" + + "XWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxh" + + "bmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBg" + + "LS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBu" + + "b24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBP" + + "cmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyAr" + + "IEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBi" + + "ZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29t" + + "bWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3Rl" + + "ciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8" + + "IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGlu" + + "dGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVy" + + "IGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxm" + + "LWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4g" + + "dG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIg" + + "cm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQg" + + "dG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBg" + + "Y2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVT" + + "VFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQg" + + "fCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlu" + + "cHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0" + + "aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlv" + + "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24g" + + "bGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8" + + "IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBG" + + "dW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQg" + + "LS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdz" + + "IHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklE" + + "IC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25m" + + "aWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + + "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxh" + + "Z3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxl" + + "PUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVm" + + "YXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZl" + + "cnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3Rh" + + "dHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBs" + + "b3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxh" + + "Y2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + + "b24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwK" + + "fCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1" + + "bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9u" + + "cyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9k" + + "ZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0t" + + "ZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBs" + + "b3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoK" + + "VGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVk" + + "IGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5k" + + "cG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZj" + + "Zi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dn" + + "aW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVn" + + "ZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYg" + + "ZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0" + + "byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + + "fC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1U" + + "WVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJ" + + "RCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdz" + + "IHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBF" + + "IC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0" + + "YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + + "fCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9y" + + "IHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRV" + + "U10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0" + + "dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRF" + + "RGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9O" + + "YCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1g" + + "IHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9t" + + "aXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVj" + + "eWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExp" + + "c3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkg" + + "bGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxv" + + "YWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwg" + + "YSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBg" + + "dGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0" + + "YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1" + + "c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmlj" + + "IHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmly" + + "bWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFN" + + "RT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJl" + + "IGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJl" + + "cXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0" + + "YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11" + + "bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVy" + + "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4g" + + "ZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVz" + + "IGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxs" + + "IEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3Rh" + + "dGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBm" + + "cm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVu" + + "Y3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1p" + + "bnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5j" + + "dGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tg" + + "IGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBp" + + "LWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRl" + + "IGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3Jy" + + "ZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMp" + + "IHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBM" + + "aXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8g" + + "YGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3" + + "aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkg" + + "a2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + + "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1E" + + "SVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNs" + + "YXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFz" + + "ZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0" + + "PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUg" + + "dGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNr" + + "aWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBi" + + "dW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRk" + + "ZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50" + + "IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsH" + + "CNF1wo8WJgAAFiYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlg" + + "IGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2" + + "ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFt" + + "cGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBw" + + "YXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2Vu" + + "ZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmls" + + "ZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sg" + + "ZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdheSBBUEkg" + + "Q1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVmYXVsdCBT" + + "dG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2ggKG1pc3Np" + + "bmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQgZmFpbHMg" + + "Zm9yIGFueSByZWFzb246IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWplY3RlZCBj" + + "cmVkZW50aWFscywgYSBmYWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBlcnJvcik7" + + "IGEgY2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1h" + + "Z2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50" + + "YWdnZWQgaW1hZ2UpOyBhIGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFtZXNwYWNl" + + "IGBzdHVjayBUZXJtaW5hdGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVu" + + "IHRoZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1zZXZlcml0" + + "eSByZXN1bHRzIGV4aXQgYDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVsZXRpbmcs" + + "IGEgSGVsbSByZWxlYXNlIGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0aCBubyBI" + + "ZWxtIHJlbGVhc2UsIGFuZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBubyBgY2x1" + + "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQg" + + "fCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsg" + + "aW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0t" + + "d2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQg" + + "ZGlkIG5vdCBwYXNzIGJlZm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBzdGlsbCBp" + + "biBwcm9ncmVzczsgdGhlIGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNrIHRoYXQg" + + "Y2FuIGZhaWwgdGhlIHJ1biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVu" + + "IG9yIGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hvcnQgcm93" + + "IGtlZXBzIHRoZSB3b3JzdCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28gYSBjaGVj" + + "ayB0aGF0IGNhbiBvbmx5IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5vdCBjcml0" + + "aWNhbCwgc3RheXMgYSB3YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3Vs" + + "dCBrZWVwcyBpdCwgc28gYSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8Cnwg" + + "YDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3IgYnkgYSBx" + + "dWl0IGtleSBpbiB0aGUgYGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJsLUM7IGBx" + + "YCwgYEVzY2Agb3IgYEN0cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4Y2VlZGVk" + + "OyBwb2QgZXZpY3RlZDsgdGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkLiBBIHNpZ25hbCBg" + + "Y2hlY2tgIHdhcyBzdGFydGVkIHdpdGggaWdub3JlZCBzdGF5cyBpZ25vcmVkLCBzbyBhIGBjaGVj" + + "a2AgcnVuIHVuZGVyIGBub2h1cGAgb3V0bGl2ZXMgdGhlIHNlc3Npb24gfAoKIyMgSG93IGFuIGFn" + + "ZW50IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBg" + + "MGAgfCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIg" + + "dG8gdXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVl" + + "ZCBhIGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBj" + + "aGVja3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNl" + + "ciBmaXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVy" + + "YWN0aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1" + + "c2VyIE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBk" + + "aWcgaW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9u" + + "J3QgcmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmly" + + "bSBiZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNo" + + "ZWNrYCByZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2As" + + "IGB2ZXJkaWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwg" + + "YHdhcm5pbmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFt" + + "cGxlcy9jaS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVk" + + "IGAtLXdhaXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBg" + + "c3VjY2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxl" + + "dGVkYCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBg" + + "dHJhbnNpZW50OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3Rv" + + "cHBlZCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBg" + + "KSBlbWl0cyBgZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2Vf" + + "ZmFpbGVkYDsgYHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBj" + + "bHVzdGVyLXZhbGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1j" + + "bGVhbnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFp" + + "bGVkKSwgYGNoZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUg" + + "YGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51" + + "cGAgZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0" + + "cyBsYXN0IHN0ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9u" + + "Y2UsIGJlZm9yZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNo" + + "b3J0LiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2Vf" + + "ZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVt" + + "ZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJh" + + "Y2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwg" + + "b3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWdu" + + "YWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBh" + + "cnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCMn5RW9oEAAAaBAAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFn" + + "cy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdz" + + "IChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZj" + + "Zi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVy" + + "ciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8g" + + "KG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhv" + + "c3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9" + + "Li4uYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + + "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + + "fAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNv" + + "dXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJ" + + "IFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwg" + + "SGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGgg" + + "YC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3Mg" + + "YmVmb3JlIGl0cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7" + + "IHNlZSBbU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10" + + "aGUtc3RhY2spIHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxs" + + "IHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwg" + + "b3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxg" + + "IG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0t" + + "b3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRl" + + "ZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2Ug" + + "cGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9O" + + "YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0" + + "aGV5IHBhc3Mgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1" + + "Y2Nlc3M6IGZhbHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBK" + + "b2IsIHdoaWNoIGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1z" + + "a2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNs" + + "ZWFyLCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5k" + + "IGl0cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBB" + + "IGNoZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQg" + + "aXRzIGV2ZW50IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQSBjaGVjayB0aGF0IGNhbiBvbmx5" + + "IHdhcm4gYW5kIGlzIHN0b3BwZWQgb24gdHdvIHBvbGxzIGluIGEgcm93IGVuZHMgdGhlIHdhaXQg" + + "YXMgYSBzaW5nbGUgcnVuIHdvdWxkOiBleGl0IGAwYCB3aXRoIHRoZSB3YXJuaW5nLiBDYW5ub3Qg" + + "YmUgY29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0" + + "aXZlIERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8" + + "CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNv" + + "bnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEt" + + "MjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMg" + + "VVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9u" + + "bHkgYXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJM" + + "YCwgb3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYCwgYW5k" + + "IG5vdCBhdCBvbmUgZGVyaXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91cmxgIG9uIE5WSURJQSdzIGhv" + + "c3RlZCBgbnZjZi5udmlkaWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0ZW1wbGF0ZSdzIGlzOyB3aXRo" + + "IG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQg" + + "ZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBy" + + "dW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3Ry" + + "eSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNy" + + "ZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFy" + + "ZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0t" + + "bG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgLCBgdHJ1" + + "ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qg" + + "b25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3Ig" + + "YC0tYWxsYCBpcwpyZXF1aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3Ro" + + "ZXIgZmxhZyBzZWxlY3RzIGl0cyBvd24uIE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3Qg" + + "YSBjbHVzdGVyLiBQYXNzIGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRo" + + "ZW0gZXZlcnkgc2VsZWN0ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250" + + "ZXh0LgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJl" + + "YCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4g" + + "U2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwgc2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1" + + "bmxlc3MgYC0tYWxsYCBvciBgLS1jb21wdXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBg" + + "LS1hbGxgLCBvciB3aXRoIGEgcm9sZSdzIG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3Ig" + + "Y2hlY2tzIHRoZSBjbHVzdGVyIGFzIGluc3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVk" + + "IGBrdWJlY3RsYCwgYGhlbG1maWxlYCBvciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7" + + "IG90aGVyIHNjb3BlcyBjaGVjayBhbiBpbnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBv" + + "ZiB0aGVtLCBzbyBpdCB3YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hl" + + "Y2sgdGhlIGluc3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0" + + "aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBm" + + "YWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRl" + + "IHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVh" + + "Y2hhYmlsaXR5IGF0IGEgY29uZmlndXJlZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5l" + + "IGNsdXN0ZXItdmFsaWRhdG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJv" + + "bC1wbGFuZWAgYW5kIGAtLWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVk" + + "LCB3aXRoIG9yIHdpdGhvdXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBO" + + "QU1FYCB8IENsdXN0ZXIgbmFtZSBzaG93biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sg" + + "dXNlcyBpdCwgYW5kIGBjaGVja2AgZG9lcyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAt" + + "aW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4g" + + "TmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRl" + + "ZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVl" + + "ZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4g" + + "SXRzIGBub2RlLWlub3RpZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQg" + + "d2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCwgYHRy" + + "dWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoK" + + "VGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQu" + + "IFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0" + + "ZXJSb2xlQmluZGluZyBmb3IgaXQsIHBsdXMgYSBSb2xlIGFuZApSb2xlQmluZGluZyBpbiBgZGVm" + + "YXVsdGAgdGhhdCBsZXQgaXQgcmVhZCBvbmx5IGl0cyBvd24gQ29uZmlnTWFwLCBhbmQgcmVtb3Zl" + + "cwp0aGVtIGFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMgcGVy" + + "bWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2YWxpZGF0b3IncyB0cmFuc2Ny" + + "aXB0IHdpdGggYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAuCldpdGhvdXQgaXQsIGEg" + + "dmFsaWRhdG9yIEpvYiB0aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNzZXMsIGFuZCBpdHMgcm93IHNh" + + "eXMgdGhlCnRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQsIHNvIG5laXRoZXIgdGhlIGNoZWNr" + + "cyBpdCByYW4gbm9yIHdhcm5pbmdzIGl0CnJlcG9ydGVkIGFyZSBzaG93bi4KVGhlIENsdXN0ZXJS" + + "b2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMs" + + "IHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1w" + + "bGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4g" + + "ZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8" + + "IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNU" + + "RVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2Vg" + + "LiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20g" + + "dGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3Ig" + + "ZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBh" + + "IHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVy" + + "ZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZh" + + "bGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8" + + "IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhd" + + "LC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9t" + + "IHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBj" + + "b250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVj" + + "aywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhl" + + "IHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdz" + + "IHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2Jh" + + "bC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBB" + + "Q01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNl" + + "dHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBh" + + "cyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5h" + + "bWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5j" + + "ZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1h" + + "bmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVS" + + "X1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVn" + + "aXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0" + + "ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlm" + + "eSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92" + + "ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBt" + + "aXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + + "SURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVf" + + "aW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZh" + + "bGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2ll" + + "cyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlk" + + "YXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBg" + + "bmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0" + + "aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8g" + + "YE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2Ug" + + "YDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55" + + "dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJO" + + "QUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2Nv" + + "bXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rl" + + "ci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVy" + + "YXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxh" + + "bmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBv" + + "dGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBv" + + "ciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVh" + + "dGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + + "Ul9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25z" + + "YCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0" + + "aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1F" + + "YCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUg" + + "dmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3Bl" + + "cmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWls" + + "aW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBl" + + "bnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRg" + + "IGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZy" + + "b20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRo" + + "ZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3Mg" + + "ZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwg" + + "YXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGlu" + + "LWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNv" + + "bmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBv" + + "cHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1" + + "bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBh" + + "c3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxG" + + "SE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFs" + + "c2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2Qs" + + "IFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpv" + + "YiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBv" + + "ZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0" + + "aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFs" + + "aWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywg" + + "dGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxp" + + "bmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNv" + + "bWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQg" + + "ZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50" + + "cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0t" + + "YCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9s" + + "LXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlw" + + "dCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVh" + + "dmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2Vg" + + "IHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3Ry" + + "eSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUg" + + "b25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IK" + + "YH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3Jl" + + "ZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyBy" + + "ZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05H" + + "Q1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlz" + + "IHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9ubHkgd2hlbiB0aGUKcmVn" + + "aXN0cnkgY2hlY2sncyBwbGFuZSwgYmVsb3csIGlzIGNoZWNrZWQgYmVmb3JlIGl0cyBpbnN0YWxs" + + "IHdpdGggdGhlCmBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVs" + + "bCBzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcwpuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0" + + "cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9n" + + "aW4sIG9yIGZvciBhIHJlcG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhlIGRvY2tl" + + "ciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlzIGlzCmRl" + + "Y2lkZWQgb25jZSBwZXIgcmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRoZSByb3cg" + + "YW5kIHRoZQp2YWxpZGF0b3IncyBwdWxsIHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJlZSBnZXQg" + + "dGhlIHNhbWUgY3JlZGVudGlhbCwgYW5kIGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8gb25lIG9y" + + "ZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0ZWQgYXMg" + + "bm8gYWNjZXNzIHRvIHRoYXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBsb2dpbi4g" + + "RWFjaApgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dp" + + "biByZW5ld2VkIHdoaWxlIHRoZSBydW4Kd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpU" + + "aGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJl" + + "cG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9i" + + "YWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3Rh" + + "Y2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBu" + + "b3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKVGhlIHJl" + + "Z2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUg" + + "cmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0" + + "aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0" + + "YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBg" + + "LS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNv" + + "bnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRz" + + "IGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lz" + + "dHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3Ry" + + "eSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBCZWZvcmUgaW5zdGFsbCB0aGF0IGluY2x1" + + "ZGVzIGEgZG9ja2VyCmxvZ2luIGBudmNyLmlvYCByZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtl" + + "eSB3b3JrcyBpbiBpdHMgcGxhY2UsIHNpbmNlCmBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMg" + + "dGhlIHN0YWNrJ3MgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhlCmtleSBpcyBzdGls" + + "bCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQs" + + "IGFuZCB0aGUKcm93IG5hbWVzIGJvdGguIEFmdGVyIGluc3RhbGwgYSByZWplY3RlZCBkb2NrZXIg" + + "bG9naW4gc3RpbGwgZmFpbHMuIEEgcmVqZWN0ZWQKTkdDIGtleSBpcyBhIHdhcm5pbmcgb25seSB3" + + "aGVuIGBjaGVja2AgcmVhZHMgdGhlIHB1bGwgc2VjcmV0cyBvZiB0aGUgY2x1c3RlcnMKaXQgdmlz" + + "aXRzLCBpbiB0aGUgbmFtZXNwYWNlcyB0aGUgdmFsaWRhdG9yIGNvcGllcyBwdWxsIHNlY3JldHMg" + + "ZnJvbSwgYW5kCm5vbmUgb2YgdGhlbSBob2xkcyB0aGF0IGtleTsgd2hlbiBvbmUgZG9lcywgb3Ig" + + "dGhleSBjYW5ub3QgYWxsIGJlIHJlYWQsIGl0IGlzCmFuIGVycm9yLiBBIGRvY2tlciBsb2dpbiB0" + + "aGUgTkdDIGtleSByZXBsYWNlZCBwYXNzZXMgYWZ0ZXIgaW5zdGFsbCBvbmx5IHdoZW4Kbm9uZSBv" + + "ZiB0aG9zZSBwdWxsIHNlY3JldHMgaG9sZHMgaXQ6IHdoZW4gb25lIGRvZXMgaXQgaXMgYW4gZXJy" + + "b3IsIGFuZCB3aGVuCnRoZXkgY2Fubm90IGFsbCBiZSByZWFkIGEgd2FybmluZy4gQSByZWdpc3Ry" + + "eSB0aGlzIG1hY2hpbmUgY2Fubm90IHJlYWNoLCBhCnRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywg" + + "YW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQQpyZWdpc3RyeSB0" + + "aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFzaWMg" + + "YXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBIHJl" + + "Z2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQg" + + "YXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJv" + + "bSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBD" + + "TEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcg" + + "a2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNr" + + "IHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBg" + + "aW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2ly" + + "ZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0" + + "cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBh" + + "bmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNG" + + "X0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRy" + + "aWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdh" + + "eSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2Ug" + + "fCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lf" + + "R0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3Bl" + + "bmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0" + + "cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZD" + + "Rl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdl" + + "Q2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4" + + "aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdF" + + "X0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BB" + + "Q0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXBy" + + "b2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBh" + + "Ym92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVz" + + "IG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQg" + + "aXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRl" + + "ZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMg" + + "aW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRo" + + "ZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBp" + + "cyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMg" + + "bm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNl" + + "ZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9y" + + "IHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0aGUg" + + "Y29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAg" + + "ZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9tIHRo" + + "ZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUu" + + "IEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNlIHRo" + + "ZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVp" + + "bHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFi" + + "b3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUg" + + "c3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9t" + + "IHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoK" + + "IyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVy" + + "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZj" + + "Zi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13" + + "ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRB" + + "cyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUg" + + "TkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1" + + "c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdh" + + "dGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBv" + + "bmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVu" + + "dHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVy" + + "YC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + + "YC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlk" + + "IElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdp" + + "b24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBm" + + "cm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0" + + "ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAt" + + "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5" + + "cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBI" + + "dW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlg" + + "IHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAs" + + "IGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVz" + + "IFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZv" + + "cmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2gg" + + "Z2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRl" + + "bmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgICho" + + "b3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3Bl" + + "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUg" + + "ZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBu" + + "YW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0t" + + "aW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8" + + "IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8" + + "CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0" + + "eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJM" + + "IG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1g" + + "IGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQt" + + "c2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNo" + + "YXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2Rl" + + "bHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJs" + + "ZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBg" + + "bmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + + "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1" + + "ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBg" + + "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNl" + + "IGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0t" + + "bGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCBy" + + "ZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8" + + "CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNj" + + "b3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlz" + + "dGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0g" + + "fAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25U" + + "eXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxs" + + "bUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxl" + + "IHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBw" + + "YXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92" + + "MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9y" + + "b2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBg" + + "cmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBj" + + "b21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4t" + + "PHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gICht" + + "aW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRp" + + "c3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1" + + "MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBj" + + "aGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhl" + + "bG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwg" + + "YGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29u" + + "ZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUg" + + "dGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VO" + + "YW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+" + + "Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlv" + + "biwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0" + + "aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vz" + + "c2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBu" + + "b3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5j" + + "dGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1" + + "cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5S" + + "YXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1s" + + "bG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04g" + + "Zm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + + "eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1" + + "cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3Zl" + + "cnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJ" + + "VFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRz" + + "IHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBw" + + "cmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVs" + + "VXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGlu" + + "Z01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNy" + + "ZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRl" + + "cy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBG" + + "SUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90" + + "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1" + + "bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFN" + + "RWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tV" + + "IHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGlj" + + "YXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8" + + "IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0" + + "OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwg" + + "VGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoK" + + "IyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + + "bmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwg" + + "RmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + + "VGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlB" + + "LVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAt" + + "LWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBF" + + "YCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + + "bXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBp" + + "bWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxt" + + "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxs" + + "eSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09O" + + "IHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90" + + "aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8" + + "IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUg" + + "aW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwg" + + "QXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcs" + + "IGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVu" + + "diBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJs" + + "ZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFy" + + "aWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRp" + + "bWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQ" + + "VDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVl" + + "dWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElT" + + "TyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNl" + + "IERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwg" + + "U2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05F" + + "YCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0" + + "cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmct" + + "bmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3Ry" + + "YXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVs" + + "IGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpV" + + "UklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ss" + + "VEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRF" + + "WFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURg" + + "IHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRy" + + "eS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJh" + + "Y2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + + "IHwKUEsHCEpXSMskXAAAJFwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIj" + + "IFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBh" + + "bmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVu" + + "dHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRy" + + "eSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQg" + + "YSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVh" + + "Y2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2Zh" + + "aWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxp" + + "ZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5k" + + "IGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBD" + + "YXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBv" + + "biBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4g" + + "ZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4g" + + "aW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJu" + + "ZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBu" + + "b3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hl" + + "bG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8" + + "IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0" + + "b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2Fy" + + "bmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3" + + "YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBu" + + "dmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0t" + + "Y2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBj" + + "b21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwg" + + "VGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDog" + + "UkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRo" + + "ZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRh" + + "dGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlw" + + "dCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2Vk" + + "LCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNr" + + "cyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fu" + + "bm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQg" + + "cmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Ig" + + "cm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3Jh" + + "bnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3Jp" + + "cHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rl" + + "ci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0" + + "YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcg" + + "b2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95" + + "LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRv" + + "ciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBD" + + "bHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25l" + + "IHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEi" + + "OnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1j" + + "bGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0" + + "YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBj" + + "bGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1" + + "cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBu" + + "b2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBO" + + "VklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBl" + + "ciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3Bl" + + "cmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUt" + + "b3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlz" + + "IGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRp" + + "bmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0" + + "aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRp" + + "b24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmlu" + + "YWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJl" + + "Y3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0" + + "IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29s" + + "dmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9u" + + "bHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWlu" + + "YXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24g" + + "aXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVu" + + "IGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJt" + + "aW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChI" + + "ZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcg" + + "fCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBs" + + "ZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBg" + + "dXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCBy" + + "ZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRo" + + "IGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNl" + + "c2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVu" + + "cyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZv" + + "bHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBB" + + "IHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1" + + "YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwg" + + "eGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZv" + + "dW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50" + + "IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMg" + + "YG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxl" + + "YXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklW" + + "RVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUg" + + "ZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBh" + + "cmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9u" + + "IG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlv" + + "bjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9t" + + "IHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyBy" + + "ZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNr" + + "KTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVM" + + "TUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBs" + + "YW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3" + + "aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVy" + + "YCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBh" + + "c3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBp" + + "bnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVk" + + "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90" + + "IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8" + + "IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50" + + "ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRo" + + "bSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24u" + + "anNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3Rh" + + "dGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVk" + + "IGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2" + + "ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0t" + + "ZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAK" + + "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBg" + + "dGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQg" + + "UFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNr" + + "IGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQ" + + "VSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmll" + + "bGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgx" + + "MDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVz" + + "dCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFu" + + "ZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNz" + + "IGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVp" + + "cmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0" + + "ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsg" + + "RXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBh" + + "IHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFj" + + "a09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVn" + + "aXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBu" + + "dmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRl" + + "LXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + + "LXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBg" + + "L3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJl" + + "Z2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNu" + + "J3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkg" + + "fAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlk" + + "PmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1w" + + "bGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUg" + + "LS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGlu" + + "IGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcg" + + "b3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsg" + + "Y2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBE" + + "RVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVy" + + "KSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwg" + + "bG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1j" + + "YWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + + "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQ" + + "RT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHBy" + + "ZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRp" + + "YWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2Bn" + + "ZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVs" + + "YXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBg" + + "bnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFw" + + "cGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1" + + "cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCBy" + + "ZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4" + + "s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRl" + + "IE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + + "ZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFs" + + "bGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMs" + + "IGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0" + + "aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + + "YW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRl" + + "cGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0" + + "aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNo" + + "ZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwg" + + "aGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIg" + + "dmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52" + + "aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhl" + + "bG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXBy" + + "b2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1No" + + "ZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UK" + + "ICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5j" + + "b20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZp" + + "bGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmls" + + "ZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBb" + + "YmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9t" + + "YWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sg" + + "T3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1w" + + "bGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25z" + + "CgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBp" + + "biBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBs" + + "YW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUg" + + "aGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBG" + + "dW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0t" + + "ZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRy" + + "YWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0" + + "aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFu" + + "ZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0" + + "YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29u" + + "dHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55" + + "YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUt" + + "cGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55" + + "YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQg" + + "bWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkg" + + "cmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8" + + "dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZj" + + "Zi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFu" + + "ZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93" + + "CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxh" + + "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9y" + + "ZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUg" + + "MS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAg" + + "ICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBo" + + "ZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdp" + + "dGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFu" + + "ZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290" + + "OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxl" + + "LmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRp" + + "ZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBz" + + "ZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApb" + + "Q1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42" + + "LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVy" + + "c3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmln" + + "dXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAg" + + "ICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAg" + + "ICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdv" + + "dG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + + "ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChz" + + "ZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1" + + "ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwu" + + "eWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNo" + + "YXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBj" + + "b3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1l" + + "bnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "ZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "cywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGlu" + + "ZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMg" + + "Q2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1" + + "bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMg" + + "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRu" + + "cyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMg" + + "T25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5p" + + "bykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5n" + - "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19B" + - "UElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3Rl" + - "bSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBr" + - "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1k" + - "b2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2Vu" + - "JyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFj" + - "ZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1m" + - "IC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1" + - "cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1" + - "bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhl" + - "bG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0g" + - "cmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0g" + - "KG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBz" + - "dG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0g" + - "Ym90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + - "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUg" + - "JyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4t" + - "cGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVz" + - "ZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFt" + - "YXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5" + - "IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sg" + - "YW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQg" + - "a2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBB" + - "IHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2lu" + - "YCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNv" + - "IHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0" + - "MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3Mg" + - "dGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0" + - "aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBr" + - "ZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICck" + - "b2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24g" + - "aW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0" + - "aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5" + - "LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3Rl" + - "ciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0Yg" + - "aW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0" + - "aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0" + - "cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFj" + - "Y2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBj" + - "cmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3Ig" + - "aW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAg" + - "IGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5n" + - "LiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0" + - "aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJl" + - "Z2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWIt" + - "cGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24t" + - "T0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJy" + - "b3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBh" + - "bmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxp" + - "c2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBg" + - "aGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJl" + - "c29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRp" + - "cmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0" + - "IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxt" + - "IHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTov" + - "Lzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4g" + - "bGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRl" + - "bnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUg" + - "cmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkg" + - "aGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQs" + - "IHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20g" + - "c3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNy" + - "ZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2Nr" + - "ZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAg" + - "PiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1" + - "c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2Nv" + - "dW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0" + - "CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8g" + - "eW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMu" + - "IFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUg" + - "c3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29u" + - "ZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3Qg" + - "ZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQg" + - "Z2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRo" + - "PSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVT" + - "UyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlk" + - "ZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIg" + - "dHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qg" + - "c2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEg" + - "c3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0" + - "ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZj" + - "Zi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9p" + - "bnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2lu" + - "dCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBv" + - "bmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFt" + - "cGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyBy" + - "ZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAg" + - "ICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUg" + - "c2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NB" + - "TkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVk" + - "ZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMg" + - "dG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + - "T1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJh" + - "Y2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0" + - "IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3" + - "b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoK" + - "IyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGgg" + - "ZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUg" + - "fAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxl" + - "YXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEw" + - "IG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGlu" + - "dm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRl" + - "d2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3Rh" + - "Y2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNl" + - "LWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVh" + - "c2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVk" + - "KSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAo" + - "b3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBv" + - "bmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdz" + - "IGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMu" + - "IEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUg" + - "VmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdh" + - "eWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFj" + - "ayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1" + - "ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1s" + - "YDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAg" + - "ICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0" + - "eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBg" + - "LiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBh" + - "ZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZh" + - "bml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhv" + - "c3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0" + - "ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5j" + - "bHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhl" + - "IHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5W" + - "PTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBp" + - "cyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1u" + - "IG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdl" + - "dCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRv" + - "bWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFi" + - "bGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24s" + - "IExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlk" + - "ZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9w" + - "dGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBh" + - "bmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBz" + - "dGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0" + - "cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNl" + - "IGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBV" + - "SSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3Nl" + - "IGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFu" + - "ZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBb" + - "TlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0" + - "YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBz" + - "dGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQg" + - "aXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0g" + - "SGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywg" + - "dGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZp" + - "bGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUg" + - "Q0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJl" + - "Z2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4g" + - "Rm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVs" + - "bCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRl" + - "YXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBs" + - "YW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0" + - "YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5h" + - "Z2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFz" + - "ZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNg" + - "LCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3Mt" + - "YXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2Yt" + - "dWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAg" + - "aXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNv" + - "bnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFn" + - "ZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFj" + - "ZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJu" + - "YWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90" + - "aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8g" + - "bm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0" + - "ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQt" + - "bWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWly" + - "ZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQg" + - "aXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVj" + - "dGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBI" + - "ZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + - "dmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRz" + - "IHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5n" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20g" + - "aW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNo" + - "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRl" + - "IG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0" + - "ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVj" + - "dGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMj" + - "IyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2Fu" + - "ZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVt" + - "cHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50" + - "IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdv" + - "dG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFs" + - "LnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9j" + - "ayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlh" + - "bWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVs" + - "b3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5" + - "IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQog" + - "IHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFj" + - "ZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4v" + - "Z2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRF" + - "bnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAg" + - "ICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAg" + - "ICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1" + - "OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTog" + - "V2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNp" + - "ZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3Ug" + - "bXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxl" + - "LgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUg" + - "ICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhl" + - "cmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0" + - "aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZl" + - "biB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250" + - "cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBT" + - "aWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwg" + - "SzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVz" + - "ZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0" + - "aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBX" + - "aGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9s" + - "aWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290" + - "c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4t" + - "c2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9p" + - "bWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQg" + - "YC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0" + - "KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwK" + - "Cj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3Jl" + - "dCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlw" + - "cyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElB" + - "TGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBp" + - "c24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3Ry" + - "aW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50" + - "byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUK" + - "PiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmlu" + - "dGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBi" + - "YXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFw" + - "IHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNl" + - "NjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIg" + - "dmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRl" + - "bnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUu" + - "IFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQg" + - "dGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFu" + - "IGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+" + - "ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwg" + - "b3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9z" + - "aWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElB" + - "IENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yv" + - "c2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAt" + - "biBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQK" + - "PiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90" + - "IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNp" + - "ZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5n" + - "IGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rp" + - "b24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVu" + - "dGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmds" + - "ZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBj" + - "b2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdp" + - "dGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lv" + - "biBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8g" + - "YWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxs" + - "IGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmlj" + - "YXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFk" + - "ZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVw" + - "ZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNy" + - "ZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNl" + - "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + - "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + - "bmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + - "ZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1l" + - "PSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAog" + - "ICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGlj" + - "eQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBg" + - "YAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5n" + - "IGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoK" + - "YGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29u" + - "cGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoi" + - "bnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3Jl" + - "ZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUg" + - "S3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUg" + - "W3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCku" + - "CgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBn" + - "ZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxt" + - "IGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVs" + - "bSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGlt" + - "ZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5z" + - "Cgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBg" + - "SW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25n" + - "IHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVs" + - "bFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdl" + - "bnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBq" + - "b2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRo" + - "L2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0" + - "ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0" + - "aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0" + - "aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + - "ZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0" + - "IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxl" + - "dGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2" + - "ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + - "ZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEg" + - "fCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291" + - "cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3Ag" + - "YEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUg" + - "c2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNl" + - "Um9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5k" + - "cmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVG" + - "QVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERC" + - "LWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21h" + - "dGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBs" + - "YWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZp" + - "cnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVh" + - "c2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3Jv" + - "bmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxv" + - "Z3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAv" + - "IGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291" + - "bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVh" + - "c2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0" + - "ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2Fz" + - "IHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFj" + - "Y291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8" + - "CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5v" + - "dCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBg" + - "X2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxh" + - "dGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8" + - "IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICIt" + - "RHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxz" + - "IGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhh" + - "cmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChl" + - "LmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FX" + - "U19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9v" + - "dHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1p" + - "bnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3Vu" + - "dC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9v" + - "aywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBp" + - "bnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRo" + - "ZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50" + - "IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCBy" + - "ZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2" + - "aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRo" + - "ZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1h" + - "Y2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAg" + - "IyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5" + - "IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRl" + - "bGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFp" + - "bGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBq" + - "b2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJl" + - "Y3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZp" + - "cm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoK" + - "LSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQt" + - "dG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2Nz" + - "cC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dz" + - "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6" + - "IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwg" + - "W3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2lu" + - "Z10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBu" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0" + - "YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAA" + - "SWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcx" + - "LXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5W" + - "Q0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0" + - "ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRf" + - "dHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5n" + - "IHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhl" + - "bG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1k" + - "aWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Ig" + - "b2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFs" + - "bCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwog" + - "ICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBT" + - "S0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "aGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwg" + - "d2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hl" + - "bG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50" + - "IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlz" + - "IGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNo" + - "ZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVj" + - "a3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1z" + - "eW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3Ig" + - "bXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "RGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCBy" + - "YW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3Jl" + - "IHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVw" + - "IGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0" + - "b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBh" + - "IHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0" + - "aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAg" + - "InF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3Rh" + - "dGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRp" + - "ZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5W" + - "Q0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5W" + - "Q0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6" + - "ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRl" + - "ZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBh" + - "bmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVk" + + "bWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + + "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + + "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11" + + "c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVt" + + "LiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4g" + + "QXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxv" + + "Z2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxt" + + "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhl" + + "bG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBg" + + "YGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52" + + "Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdz" + + "IGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdp" + + "c3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3Iu" + + "ZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hh" + + "KS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQg" + + "bmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhv" + + "c3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IK" + + "PiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRl" + + "cyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGgg" + + "YSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBz" + + "dWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1h" + + "Z2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0" + + "aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+" + + "IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1" + + "bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4g" + + "KFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMg" + + "dGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdp" + + "c3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBt" + + "aXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNh" + + "biBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4" + + "YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMK" + + "Z3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0" + + "IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNr" + + "IGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwK" + + "ICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAg" + + "ICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTog" + + "PG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hh" + + "cnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9y" + + "eTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXgg" + + "b2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBi" + + "ZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFy" + + "ZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRo" + + "b3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9y" + + "IGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBh" + + "bmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kp" + + "IG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIg" + + "bWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0g" + + "cmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxj" + + "aGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkg" + + "T0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIu" + + "IFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVu" + + "dGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29y" + + "a2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3Vi" + + "ZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52" + + "Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1" + + "c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwK" + + "ICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZy" + + "b20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwg" + + "dmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0" + + "ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlh" + + "bCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGlt" + + "YWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4g" + + "dGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0" + + "cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4g" + + "SXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBR" + + "dWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNT" + + "PSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3Bh" + + "Y2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAi" + + "JEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJ" + + "UC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhl" + + "IGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQg" + + "c3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRo" + + "b3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9t" + + "YWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5k" + + "IGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5T" + + "IGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2Au" + + "IElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFi" + + "bGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhh" + + "bXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5k" + + "IGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0" + + "ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBh" + + "c3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhh" + + "cyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAs" + + "IHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRf" + + "Q0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQg" + + "YW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRl" + + "bnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5z" + + "ZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5E" + + "UkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lz" + + "IGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2Vydmlj" + + "ZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0t" + + "LS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBD" + + "YXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQ" + + "SSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9w" + + "dGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0Yg" + + "VUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8" + + "CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWlu" + + "IHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0" + + "YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1p" + + "bmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBW" + + "YW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBk" + + "ZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBv" + + "ciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52" + + "b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + + "YXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3Rh" + + "Y2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFu" + + "ZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1" + + "c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFj" + + "ayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMv" + + "PGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBl" + + "bmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRl" + + "IGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0" + + "ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1h" + + "cHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91" + + "IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1" + + "c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBh" + + "Y2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcg" + + "dGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmll" + + "dyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxh" + + "dGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0" + + "eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3" + + "aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0" + + "ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJI" + + "b3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpg" + + "YGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtl" + + "eXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJv" + + "dXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5h" + + "YmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXIt" + + "ZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFp" + + "bGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRk" + + "b24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBu" + + "dmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0" + + "aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVk" + + "OyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVu" + + "dCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRp" + + "b24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1k" + + "KS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUg" + + "Y29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9u" + + "ZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxh" + + "bmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZp" + + "cm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1" + + "dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdl" + + "bmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUg" + + "Y29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0" + + "aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + + "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBF" + + "S1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRl" + + "ci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3Jl" + + "IHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRv" + + "ZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJv" + + "eSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4g" + + "VGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5k" + + "cmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3Jw" + + "Yy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1n" + + "YXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsg" + + "YGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1" + + "ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2" + + "ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0g" + + "cmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3Rh" + + "Y2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFj" + + "ZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlm" + + "eSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3Rh" + + "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBh" + + "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVs" + + "ZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBt" + + "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcg" + + "b3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0" + + "OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5h" + + "bmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFy" + + "ZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJl" + + "Y3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kK" + + "YGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lz" + + "dGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91" + + "bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBn" + + "cmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBT" + + "aG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoK" + + "IyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQg" + + "YGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNh" + + "Q291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxl" + + "YXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBg" + + "aGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0" + + "aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNy" + + "ZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5h" + + "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + + "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + + "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + + "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + + "c3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAg" + + "IGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoK" + + "ICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1M" + + "IG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBg" + + "aW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZh" + + "bHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0" + + "aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UK" + + "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1" + + "bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERv" + + "IG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBv" + + "ZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdy" + + "b25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVn" + + "aXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0t" + + "LXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2" + + "YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBu" + + "dmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3" + + "b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2" + + "ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1s" + + "YCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VD" + + "UkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFw" + + "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9y" + + "bWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9y" + + "IHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRv" + + "a2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRo" + + "ZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0" + + "cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9E" + + "T0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25m" + + "aWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRv" + + "Y2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBh" + + "bmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQg" + + "YnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+" + + "IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2" + + "NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFj" + + "Y291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQw" + + "MCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAt" + + "IFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEg" + + "bWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNo" + + "IGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3Jn" + + "Cj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1" + + "Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1" + + "bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tl" + + "bjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNl" + + "cy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+" + + "ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2Vydmlj" + + "ZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJv" + + "bGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5l" + + "dyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGlu" + + "ZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4g" + + "dGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3Jn" + + "cywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3Ry" + + "YXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJz" + + "KQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhp" + + "bmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8g" + + "YXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMj" + + "IENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11" + + "dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVs" + + "bFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVu" + + "aWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBo" + + "ZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVy" + + "bm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJu" + + "by8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8g" + + "LW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGlu" + + "IGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGlu" + + "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + + "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + + "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0t" + + "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + + "R0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVu" + + "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVy" + + "bm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0" + + "LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Np" + + "b24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAu" + + "IFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + + "ZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBz" + + "aG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBD" + + "U1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJv" + + "bGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRp" + + "b24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1" + + "bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAg" + + "IyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNv" + + "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBm" + + "YWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0t" + + "LS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBN" + + "aXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sg" + + "U0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBw" + + "b2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9k" + + "cyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWlu" + + "aXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nl" + + "c3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRo" + + "IGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3Rlcidz" + + "IGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + + "RGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3Vl" + + "ciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + + "ZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3lu" + + "YyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVk" + + "YCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBg" + + "Y2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZp" + + "Y2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEg" + + "fCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNh" + + "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNg" + + "IHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmls" + + "ZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fz" + + "c2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2Rl" + + "IHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmli" + + "ZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFp" + + "bGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVz" + + "dHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJh" + + "cCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENo" + + "ZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2Zg" + + "IHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRf" + + "aWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjog" + + "dGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxp" + + "dmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0" + + "aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2Vl" + + "IFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1i" + + "b290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBz" + + "ZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9h" + + "cHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1v" + + "dW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRo" + + "ZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9U" + + "T09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBj" + + "b25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRT" + + "IHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20g" + + "YEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5j" + + "cGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkg" + + "dGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVk" + + "IGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2Iv" + + "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBw" + + "b3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5z" + + "dGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2" + + "ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBy" + + "dW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9u" + + "L2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3" + + "aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkg" + + "aXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4g" + + "bnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + + "LnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAw" + + "YCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sg" + + "ZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4g" + + "YSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaApr" + + "dWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWln" + + "bm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + + "c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlv" + + "bmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQp" + + "LCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252" + + "Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUt" + + "cGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + + "c3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQp" + + "LCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3lt" + + "ZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5j" + + "dGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50" + + "cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAg" + + "ewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjog" + + "Ikluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + + "ciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3Rl" + + "cCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRv" + + "b2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+" + + "PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQg" + + "d2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmls" + + "ZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVk" + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFs" + - "bCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0" + - "Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3Bh" + - "Y2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5" + - "IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJh" + - "Y2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdp" + - "dGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBh" + - "biBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNp" + - "bmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlz" + - "IGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBI" + - "ZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93" + - "LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVu" + - "dmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBh" + - "bmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwg" + - "cmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdp" + - "dGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21w" + - "dXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1" + - "YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQg" + - "SldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6" + - "IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhv" + - "cmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIs" + - "CiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdp" + - "c3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFw" + - "aV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGlu" + - "dm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRo" + - "ZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJl" + - "Z2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9O" + - "LCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhl" + - "IGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5z" + - "dGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklM" + - "RT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1h" + - "cHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0" + - "IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJl" + - "Z2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRl" + - "eHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJv" + - "ZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5k" + - "cyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAog" + - "ICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVw" + - "bG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBs" + - "b2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRo" + - "YXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2Nr" + - "ZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmlj" + - "aWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4x" + + "LnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRo" + + "ZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAog" + + "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0t" + + "ZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3Rs" + + "IHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwK" + + "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBh" + + "bGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRl" + + "bXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVs" + + "bWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAi" + + "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + + "cm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRo" + + "ZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBt" + + "YW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0" + + "aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUg" + + "c3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0" + - "aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRv" + - "a2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhl" + - "bG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMi" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0" + - "aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUg" + - "YnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBn" + - "bG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVk" + - "IGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZp" + - "bGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + - "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNo" + - "ZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9u" + - "bWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRs" + - "ZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0" + - "ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2Vy" + - "IHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUi" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJx" + - "dWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYt" + - "bWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUg" + - "aXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0" + - "aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQg" + - "YnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVk" + - "aW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2Vk" + - "LCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4g" + - "SXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFu" + - "ZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0" + - "IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZm" + - "LCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1" + - "cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + - "YWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3Ms" + - "IHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUt" + - "b25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFn" + - "aW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8g" + - "ZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBw" + - "aGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFu" + - "ZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5l" + - "IHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBh" + - "cmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFu" + - "ZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRy" + - "b2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24i" + - "OiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdp" + - "c3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSBy" + - "ZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJz" + - "dCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5l" + - "cmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRl" + - "IHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQg" + - "LS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9u" + - "IGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3Vt" + - "ZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBo" + - "YW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJl" + - "Z2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJl" + - "Z2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rl" + - "ci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJU" + - "aGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRo" + - "ZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQg" + - "LS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9m" + - "aWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZh" + - "bHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUt" + - "Y2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2Vl" + - "cCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhl" + - "bG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRo" + - "IGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0" + - "cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290" + - "Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVh" + - "c2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAx" + - "NkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5k" + - "IHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRl" + - "IGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdv" + - "dGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBs" + - "aXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRo" + - "IGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAg" + - "ICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFU" + - "UywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5" + - "IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRo" + - "ZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95" + - "IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRl" + - "cGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0" + - "LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVu" + - "Y2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNz" + - "YW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQi" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJl" + - "bmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVz" + - "ZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBp" + - "bWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBp" + - "ZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBv" + - "ciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXgu" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hl" + + "bG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZv" + + "cmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUg" + + "c3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQg" + + "ZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNr" + + "ZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3Jl" + + "LWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4g" + + "VGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBm" + + "aW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmlu" + + "YWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5h" + + "bWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4g" + + "SXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwg" + + "bnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5l" + + "IGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + + "IGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBm" + + "aW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0" + + "byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + + "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + + "b3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNw" + + "YWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rp" + + "b24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNv" + + "bXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3Rl" + + "ciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + + "Z2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBD" + + "TEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBj" + + "b21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNv" + + "bmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUg" + + "Y29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNs" + + "dXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRo" + + "ZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52" + + "aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlz" + + "Y292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBl" + + "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + + "VGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVz" + + "IHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBs" + + "YW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJh" + + "c2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFw" + + "aV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRl" + + "d2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQs" + + "IENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlh" + + "bWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5k" + + "IEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0" + + "aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1" + + "cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBD" + + "TEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNv" + + "bnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkg" + + "cHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tl" + + "ci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5W" + + "Q0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJh" + + "biBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4g" + + "SXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2Vz" + + "IGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFs" + + "b25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9n" + + "aW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFz" + + "c3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlv" + + "JyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBo" + + "ZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGlj" + + "YXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5k" + + "bGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1" + + "cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVk" + + "IHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50" + + "cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90" + + "IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9j" + + "YXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1w" + + "dCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1m" + + "aWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAg" + + "ICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQg" + + "YW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0" + + "cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFs" + + "bGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9m" + + "IHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVu" + + "dmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlk" + + "YXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5h" + + "bWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0" + + "cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9s" + + "LXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFu" + + "ZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0" + + "ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3Mu" + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVi" + - "dWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0" + - "byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVj" + - "a2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVj" + - "IGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhl" + - "IHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewog" + - "ICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rp" + - "b24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkg" + - "TlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBO" + - "QVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52" + - "b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5" + - "L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2Vy" + - "IGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZD" + - "RiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNz" + - "dWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5k" + - "IEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUg" + - "SUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJ" + - "dCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2Vz" + - "IGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhl" + - "IGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZj" + - "YS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCBy" + - "ZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRh" + - "a2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29u" + - "dHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdl" + - "bnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUg" + - "bnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdl" + - "bnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2Vy" + - "dmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2" + - "aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBn" + - "cnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQ" + - "SSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdh" + - "dGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2Vy" + - "LWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGlj" + - "aXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3Zlcnku" + - "ZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdh" + - "dGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21z" + - "X2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2Vy" + - "dmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwg" + - "cmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVy" + - "cmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlz" + - "dCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0" + - "IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNo" + - "YXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxp" + - "dCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93" + - "IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1l" + - "ZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lp" + - "bmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNv" + - "bmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRy" + - "b2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNl" + - "cnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZl" + - "Y3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxh" + - "dGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBv" + - "d25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcg" + - "b24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFt" + - "ZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNl" + - "IHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFp" + - "bmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVm" + - "aXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0" + - "aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5v" + - "dCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBs" + - "aWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVk" + - "IGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBl" + - "cnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRo" + - "ZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0" + - "ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZp" + - "bGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFm" + - "dGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdp" + - "dGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIs" + - "CiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBw" + - "bGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0" + - "aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2" + - "ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9u" + - "IGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNo" + - "aXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVu" + - "Y2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdl" + - "ciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1l" + - "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBI" + - "ZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3Ro" + - "IEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0" + - "YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJk" + - "b3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNl" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + + "b24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwg" + + "aGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhl" + + "IGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRy" + + "b2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2Ys" + + "IGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQg" + + "YWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hF" + + "TE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBk" + + "ZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVs" + + "bWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQg" + + "Y29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9i" + + "c2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRo" + + "ZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5z" + + "dGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25l" + + "IGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEkt" + + "Z2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMg" + + "ZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIs" + + "CiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFu" + + "ZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rl" + + "ci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxs" + + "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + + "IlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJl" + + "cXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4g" + + "c2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1" + + "ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3Rh" + + "Y2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFu" + + "ZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFs" + + "dWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhl" + + "bG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMi" + + "LAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJv" + + "bC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4i" + + "LAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91" + + "dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNv" + + "bnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBs" + + "YWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3Vi" + + "ZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhl" + + "IGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4" + + "IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + + "OiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fz" + + "c2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0" + + "cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBi" + + "YXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5k" + + "cmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdv" + + "dG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhl" + + "IFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5n" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9k" + + "aWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRz" + + "IHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1" + + "c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRo" + + "ZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1w" + + "bGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQg" + + "dGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWlu" + + "ZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMt" + + "ZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBl" + + "bmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIs" + + "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + + "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9y" + + "IHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJp" + + "ZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMg" + + "c3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + + "ZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRy" + + "YS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBz" + + "ZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJx" + + "dWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQw" + + "MSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBk" + + "ZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlm" + + "eSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2Vj" + + "cmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2Vydmlj" + + "ZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25n" + + "IGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0" + + "aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5k" + + "IHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0" + + "ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMg" + + "b24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50" + + "IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4Igog" + + "ICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0" + + "cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0" + + "ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3" + + "YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5l" + + "IHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lz" + + "dGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNp" + + "eCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJp" + + "ZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFi" + + "bGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRl" + + "d2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhl" + + "IGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhv" + + "c3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1w" + + "bGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Et" + + "b3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBt" + + "aXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNz" + + "LmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZl" + + "cmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIs" + + "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VV" + + "UkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVS" + + "TCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAi" + + "VGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9s" + + "LXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQg" + + "Ym90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5n" + + "cnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVu" + + "YWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5p" + + "c3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1" + + "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBz" + + "Y2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0" + + "ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJl" + + "dmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBh" + + "bmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3Jl" + + "dCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1" + + "dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWly" + + "cm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRl" + + "YXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1l" + + "bnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUg" + + "dmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95" + + "ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIg" + + "YmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRy" + + "b2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRl" + + "c3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQg" + + "bmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNl" + + "LCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4" + + "dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0" + + "Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVs" + + "ZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHBy" + + "ZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdp" + + "dGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhl" + + "IENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNl" + "ZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJh" + "dGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5" + "IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3Zh" + - "bCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVy" + - "LCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNl" + - "ZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4" + - "dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAog" + - "ICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRl" + - "IGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdp" + - "c3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXBy" + - "ZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9u" + - "bWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmls" + - "ZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4" + - "cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUws" + - "IGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQg" + - "dGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlz" + - "LCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxl" + - "YXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + - "dGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xv" + - "YmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUg" + - "YWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJv" + - "dWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdl" + - "Q2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0" + - "aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5l" + - "IHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFs" + - "dWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCBy" + - "ZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + - "UzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVw" + - "bG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xl" + - "LW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24g" + - "YW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBj" + - "b25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVx" + - "dWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBw" + - "b3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJ" + - "dCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlk" + - "ZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBj" + - "bHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0" + - "aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVk" + - "IGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZv" + - "ciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFp" + - "bnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hl" + - "ZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGlu" + - "c3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZp" + - "ZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwK" + - "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5s" + - "bG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBm" + - "b3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVk" + - "IHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlu" + - "a2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9y" + - "IG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5k" + - "bGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRl" + - "eHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBp" + - "c29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdv" + - "cmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0" + - "aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21w" + - "dXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBv" + - "ciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZl" + - "cmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBS" + - "b3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3Vy" + - "ZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1" + - "ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0" + - "ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIi" + - "OiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9w" + - "bWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1k" + - "ZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBk" + - "aWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFu" + - "ZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJv" + - "dmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQg" + - "Z3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIK" + - "ICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJ" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4S" + - "IyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2Vu" + - "YXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBk" + - "ZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3Rh" + - "bmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2Rz" + - "IHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMg" + - "dmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBi" + - "YXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAn" + - "cmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3Rl" + - "cCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3Rt" + - "cGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3Nh" + - "bmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRl" + - "bmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZh" + - "dGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwK" + - "ICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAg" + - "ICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJl" + - "cXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpg" + - "YGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nh" + - "c3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIu" + - "eWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQ" + - "cmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBj" + - "YXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQu" + - "CgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0" + - "aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJl" + - "Y3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnks" + - "IHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9u" + - "bWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgog" + - "IGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0" + - "b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9z" + - "aXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkg" + - "KGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8g" + - "LXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52" + - "Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6" + - "IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19B" + - "UElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + - "cjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUg" + - "bmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5z" + - "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZh" + - "dWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wt" + - "cGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBc" + - "CiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9h" + - "dXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0t" + - "bmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMj" + - "IyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQg" + - "dGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNl" + - "LiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlh" + - "bWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAog" + - "IGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0" + - "ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1w" + - "bAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYi" + - "IH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAg" + - "ICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFty" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZv" + - "ciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVz" + - "cGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQg" + - "b25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0" + - "IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4K" + - "CiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVw" + - "IDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBv" + - "cnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMg" + - "d2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFz" + - "aApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAg" + - "ICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAg" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNl" + - "YWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBb" + - "eyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwK" + - "YGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGlt" + - "ZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVk" + - "IGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93" + - "biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVk" + - "IGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0" + - "YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVz" + - "dHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklm" + - "IGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUt" + - "Y29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcu" + - "bWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBE" + - "ZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJ" + - "RGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxj" + - "bHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBj" + - "b25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2Yt" + - "Y2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxj" + - "bHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + - "IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5" + - "IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUg" + - "c3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4g" + - "TmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNl" + - "LiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBp" + - "cyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3Rp" + - "dmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4g" + - "Rm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2Vy" + - "dE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVh" + - "c2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4g" + - "T25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJv" + - "dmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBu" + - "b3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25m" + - "aWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxN" + - "RklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29u" + - "ZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFu" + - "ZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDog" + - "VmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHlu" + - "YW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwg" + - "XAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMp" + - "JwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBS" + - "ZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lM" + - "TC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2Zm" + - "IGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9t" + - "IGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdh" + - "dGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVu" + - "ZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdB" + - "WV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdh" + - "dGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0n" + - "ey5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBg" + - "YAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVw" + - "IGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVu" + - "Y2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFt" + - "ZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0" + - "byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5T" + - "LCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlf" + - "QUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxv" + - "eW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBv" + - "bmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1Nl" + - "cnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQg" + - "Q0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNo" + - "YW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUg" + - "c2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9y" + - "IHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJv" + - "dGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJI" + - "b3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdh" + - "eSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1v" + - "cGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5z" + - "dGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4" + - "YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Ig" + - "d2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxv" + - "eSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0" + - "YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "Y2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBs" + - "b3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5j" + - "ZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVs" + - "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZl" + - "ciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZv" + - "Y2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZh" + - "bCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBg" + - "bGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sg" + - "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdh" + - "dGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2th" + - "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxl" + - "ZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBM" + - "TE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1h" + - "cGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5l" + - "bmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5p" + - "dHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxl" + - "YXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZj" + - "Zi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVk" + - "ZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVs" + - "ZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9" + - "PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRt" + - "aW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFy" + - "Z2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJO" + - "QH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + - "ZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9s" + - "IHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhl" + - "IGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21w" + - "dXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUg" + - "ZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndp" + - "dGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93" + - "IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlm" + - "YWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBs" + - "YW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVk" + - "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJ" + - "IGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRv" + - "ZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1" + - "c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNp" + - "bmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1h" + - "bmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJz" + - "dGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "YCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZh" + - "bHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0" + - "aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVz" + - "LCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnks" + - "IHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFU" + - "UyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhh" + - "bXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1l" + - "bmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZv" + - "eSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMg" + - "cm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQg" + - "ZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNl" + - "cwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBI" + - "ZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5" + - "LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2" + - "ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZp" + - "cm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIK" + - "ICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3" + - "YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxn" + - "YXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxn" + - "YXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0" + - "aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAi" + - "aHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3" + - "YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAg" + - "Z2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBl" + - "bnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6" + - "IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAg" + - "ICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRz" + - "CiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJs" + - "ZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFp" + - "bj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVl" + - "CiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQog" + - "ICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoK" + - "ICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApn" + - "bG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNl" + - "VVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFk" + - "ZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJP" + - "dmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8v" + - "PGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdh" + - "dGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5l" + - "IGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxm" + - "LW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2Vs" + - "Zi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19G" + - "SUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRo" + - "cm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNv" + - "bmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tl" + - "eXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0" + - "cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+Igph" + - "cGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJp" + - "bnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21h" + - "aW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBV" + - "Ukwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1h" + - "bmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhl" + - "IEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBD" + - "TEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxs" + - "IHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1u" + - "YW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAg" + - "SUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNv" + - "bXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBc" + - "CiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxj" + - "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhl" + - "IE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBh" + - "IG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQg" + - "b24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3lt" + - "ZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFs" + - "cmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBD" + - "TEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNv" + - "bnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAt" + - "LWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwK" + - "ICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwg" + - "LS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3Qg" + - "LXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55" + - "YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUt" + - "cGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + - "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0" + - "ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "L291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1" + - "dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQg" + - "XAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAg" + - "LS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwK" + - "ICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAt" + - "LXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5l" + - "LWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGlu" + - "LWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUg" + - "Y29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBv" + - "aW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVs" + - "bCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVz" + - "cGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9u" + - "bHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmlt" + - "YWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hh" + - "cnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + - "byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRy" + - "b2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVs" + - "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhl" + - "IGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkg" + - "XAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVu" + - "dC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25w" + - "YXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3Jl" + - "dD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3Rl" + - "ciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5k" + - "b2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGln" + - "aHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3Bh" + - "Y2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5h" + - "bC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGlu" + - "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRh" + - "dGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFu" + - "IG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + - "bmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRl" + - "IGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0" + - "aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9O" + - "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + - "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVn" + - "aXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNz" + - "aW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXIt" + - "dmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0" + - "aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBk" + - "ZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhl" + - "CmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVj" + - "b25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSBy" + - "ZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFj" + - "ZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZs" + - "b3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1u" + - "YW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1" + - "c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdp" + - "c3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6Cgpg" + - "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + - "dj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0" + - "dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0t" + - "bmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxp" + - "c3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMs" + - "IHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0" + - "aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRo" + - "ZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUg" + - "Y29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFs" + - "cyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNh" + - "bWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3Rl" + - "ZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUg" + - "XAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMt" + - "dXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmln" + + "bCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + + "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3" + + "aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFu" + + "ZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJG" + + "b3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29u" + + "ZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNs" + + "dXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFu" + + "ZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJv" + + "eSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1l" + + "c3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJl" + + "cXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRl" + + "ZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1p" + + "c21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQg" + + "dGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUg" + + "aXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9u" + + "IiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRl" + + "c3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJU" + + "aGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + + "YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0" + + "aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVj" + + "dCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5" + + "IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRy" + + "b2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVn" + + "aXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJU" + + "aGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxh" + + "aW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFu" + + "ZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3Rl" + + "cnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + + "eSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1" + + "ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQu" + + "IEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2Uu" + + "eWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVl" + + "cyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3Vn" + + "aCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "cyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRf" + + "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + + "Z2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4g" + + "ZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVl" + + "cyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + + "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQs" + + "IGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFn" + + "ZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlh" + + "IHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQg" + + "ZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFy" + + "dCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwK" + + "ICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6" + + "ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYt" + + "bWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxl" + + "IGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJl" + + "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + + "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25z" + + "LmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkg" + + "R2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVz" + + "dCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3Vy" + + "YXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2Fk" + + "LWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xh" + + "dGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFj" + + "ayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBo" + + "b3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRl" + + "UVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdh" + + "cm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rp" + + "b24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2Zm" + + "IHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rp" + + "b25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29y" + + "a2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBw" + + "YXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBs" + + "aWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJU" + + "aGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2Vy" + + "LW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxh" + + "bmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZh" + + "dWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJl" + + "IG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWlu" + + "c3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVm" + + "cmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwg" + + "YW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAg" + + "ICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVy" + + "LCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5n" + + "IC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZv" + + "ci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIg" + + "dXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAi" + + "c2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxv" + + "Y2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxm" + + "LWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFs" + + "bGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVh" + + "ZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQg" + + "aW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9j" + + "YWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxv" + + "Y2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1w" + + "bGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwg" + + "ZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBS" + + "ZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09N" + + "IG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06" + + "IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVy" + + "cmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0" + + "ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUu" + + "eWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAt" + + "MTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRl" + + "bmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVl" + + "cz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0" + + "YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBj" + + "b25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVt" + + "CiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwK" + + "ICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9" + + "fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAg" + + "ICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTky" + + "TWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBt" + + "ZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + + "cGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAv" + + "dG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpO" + + "b3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJs" + + "ZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNv" + + "dXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZh" + + "dGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxs" + + "aW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWly" + + "cm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENv" + + "bmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5p" + + "bwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52" + + "Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVu" + + "dGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2Vy" + + "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpg" + + "YGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJh" + + "c2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + + "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1m" + + "IC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + + "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + + "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + + "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1m" + + "IC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxl" + + "IHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkg" + + "dG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEt" + + "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + + "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + + "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + + "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + + "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + + "Z2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNy" + + "ZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxs" + + "LXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250" + + "cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3Jl" + + "YXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQj" + + "cHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3lu" + + "YwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhv" + + "dXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVz" + + "LCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCBy" + + "ZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZv" + + "ciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBz" + + "YSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0" + + "YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdl" + + "UHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVs" + + "dC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNv" + + "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNj" + + "ZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUg" + + "MzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9r" + + "ZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBj" + + "b21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + + "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + + "Y29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1" + + "c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJl" + + "bmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycyku" + + "CgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0" + + "ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + + "cmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0" + + "aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoK" + + "CmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAg" + + "LS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0t" + + "bmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEg" + + "YW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhl" + + "IGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3Bh" + + "Y2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0" + + "aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVy" + + "CmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + + "cmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQg" + + "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + + "IGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBz" + + "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + + "Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWlu" + + "ZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247" + + "IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9s" + + "LXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBk" + + "ZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJv" + + "bC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1" + + "c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxg" + + "LgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJh" + + "Y2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFw" + + "aS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBg" + + "CgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5z" + + "dGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0" + + "aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + + "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUg" + + "NDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5" + + "IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBh" + + "bmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQK" + + "CmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwK" + + "ICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRH" + + "QVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJl" + + "c3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJ" + + "IEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJl" + + "ZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRp" + + "b24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25t" + + "ZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5l" + + "Y3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZv" + + "ciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJl" + + "c3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBs" + + "YW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQg" + + "TkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0" + + "Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRp" + + "b24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBD" + + "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + + "bGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0" + + "ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21h" + + "aW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9o" + + "ZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRl" + + "d2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRl" + + "cGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tl" + + "bmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZv" + + "cj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0K" + + "YGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwg" + + "Zm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoK" + + "YGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBz" + + "eW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVj" + + "dGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0" + + "LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNl" + + "bGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0t" + + "LS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJh" + + "LCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMs" + + "IHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFy" + + "eS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBp" + + "LWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5" + + "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBg" + + "YWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5" + + "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9u" + + "cy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERl" + + "cGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAg" + + "fAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRl" + + "d2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBE" + + "ZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5j" + + "bHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVl" + + "YCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNr" + + "IHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVk" + + "PXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91" + + "dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFt" + + "ZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1n" + + "cm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXIt" + + "cHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFj" + + "a3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGlu" + + "c3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQg" + + "dXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVy" + + "YXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEg" + + "SGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVn" + + "aXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBh" + + "cmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwg" + + "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAg" + + "fCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNs" + + "dXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0" + + "b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBI" + + "ZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpD" + + "b21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290" + + "LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lv" + + "biBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + + "YCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4K" + + "CiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBi" + + "ZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwg" + + "R2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBs" + + "YW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMs" + + "IFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQ" + + "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + + "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50" + + "IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lz" + + "dGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95" + + "LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUg" + + "ZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhv" + + "c3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVz" + + "cyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1" + + "YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdh" + + "dGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0" + + "dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6" + + "Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJu" + + "YXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8v" + + "d29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDog" + + "Imh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdy" + + "cGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgpp" + + "bmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRl" + + "d2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdh" + + "eSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRl" + + "d2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTog" + + "bnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlz" + + "dGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoK" + + "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBp" + + "LjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAg" + + "ICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRl" + + "d2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86" + + "CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpg" + + "YGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAg" + + "ICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21z" + + "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICBy" + + "ZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2Vy" + + "dmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5h" + + "dHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVy" + + "cmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRo" + + "ZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3Jl" + + "IHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVw" + + "ZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1s" + + "CmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNz" + + "PjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + + "CmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0" + + "ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIK" + + "aW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNp" + + "cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9u" + + "bHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVn" + + "aXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25m" + + "aWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMt" + + "aG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4" + + "dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxv" + + "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJf" + + "TkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lP" + + "Tj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJF" + + "Q09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRo" + + "LXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZp" + + "Zz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAg" + + "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + + "QkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlv" + + "biBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3Vi" + + "ZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklM" + + "RWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUt" + + "Y2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVu" + + "dCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUg" + + "RmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVz" + + "IHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBg" + + "YmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + + "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + + "IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJv" + + "bC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQg" + + "PG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + + "cGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZv" + + "ciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29u" + - "dHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29t" + - "cHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVh" + - "dCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0" + - "IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0" + - "aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1h" + - "aW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQAB" + - "AKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4" + - "aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0" + - "YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwpr" + - "dWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFj" + - "ZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhl" + - "bG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBm" + - "YWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxh" + - "c3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNv" + - "bmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxw" + - "b2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMK" + - "CmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFS" + - "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAg" + - "ICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAi" + - "bnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBD" + - "aGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBz" + - "ZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMg" + - "aGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYg" + - "dGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxz" + - "YS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScK" + - "YGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0" + - "ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + - "IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19B" + - "UElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4" + - "aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1h" + - "Z2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwt" + - "c2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0" + - "IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBp" + - "LCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2Rz" + - "LiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3Jl" + - "ZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAg" + - "a3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNy" + - "ZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAv" + - "MSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBp" + - "biBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAg" + - "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3" + - "ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFn" + - "bm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3Rv" + - "ciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJl" + - "Y3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlv" + - "biBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5C" + - "YW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0w" + - "IC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9k" + - "Cmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWlu" + - "aXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNr" + - "IHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRj" + - "LgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMg" + - "d2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5j" + - "IG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1l" + - "c3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0" + - "ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAK" + - "CjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1" + - "bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVt" + - "IG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipg" + - "dmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtu" + - "b3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAg" + - "KGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJs" + - "aXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3" + - "dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVi" + - "bGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1" + - "ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWdu" + - "ZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkg" + - "c2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFu" + - "ZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlv" + - "ciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5" + - "LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVy" + - "IGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAog" + - "ICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBz" + - "byB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6Cgog" + - "ICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52" + - "Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAg" + - "ICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVj" + - "dGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwog" + - "ICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2Vy" + - "dmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBS" + - "ZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3Blbmlk" + - "LWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgog" + - "ICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUg" + - "YW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBj" + - "bHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFs" + - "d2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5u" + - "b3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6" + - "IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAg" + - "ICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAg" + - "ICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1" + - "YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVw" + - "IC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3Vy" + - "Y2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSgu" + - "Li9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAg" + - "ICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICBy" + - "ZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90" + - "ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRy" + - "YSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQ" + - "b2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAg" + - "IFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQ" + - "ZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hl" + - "Y2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVz" + - "IGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5p" + - "dHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5" + - "IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgox" + - "LiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVu" + - "dmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxh" + - "YmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjog" + - "Q2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3Rv" + - "cmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5v" + - "ZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5h" + - "bWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTog" + - "SGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0g" + - "bGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5p" + - "bmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qg" + - "d29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBo" + - "aXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBk" + - "ZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoK" + - "YGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxl" + - "YXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRl" + - "IG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFj" + - "ZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBB" + - "Y2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxv" + - "eSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBq" + - "b2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9i" + - "IHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRl" + - "bGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50" + - "LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNm" + - "IC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBD" + - "b21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFs" + - "cyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQ" + - "SV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAog" + - "ICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9T" + - "VFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkt" + - "eHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFj" + - "aCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3Jl" + - "ZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVu" + - "IHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1z" + - "ZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYm" + - "IGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUg" + - "bmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRl" + - "IHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBD" + - "bGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNs" + - "ZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gK" + - "a3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZj" + - "Zi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9u" + - "bHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUt" + - "cGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFj" + - "a2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoK" + - "CmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoK" + - "IyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0t" + - "Y29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwg" + - "XAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEu" + - "bmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUv" + - "Kn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2gg" + - "bnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRh" + - "XCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3Jj" + - "ZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZv" + - "ciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4" + - "dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9u" + - "dWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0t" + - "Y29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3Yx" + - "L25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBG" + - "YWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMK" + - "CkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9y" + - "YCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6" + - "CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBk" + - "ZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpg" + - "YGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBp" + - "bnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9m" + - "aWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFs" + - "bGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21w" + - "dXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2Zm" + - "IGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwg" + - "ZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRv" + - "ciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + - "b250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRv" + - "ciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkg" + - "ZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3Bl" + - "cmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1g" + - "OyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1z" + - "ZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFp" + - "bHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRo" + - "cm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkg" + - "b3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBu" + - "ZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNm" + - "LWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJl" + - "c3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGku" + - "PGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9B" + - "RERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxp" + - "dCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFs" + - "U2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91" + - "dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9y" + - "IHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVw" + - "ZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lz" + - "dHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9m" + - "Zi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20t" + - "YS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZp" + - "Y2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hp" + - "Y2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0t" + - "LS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3Nh" + - "bmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGlu" + - "dm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0t" + - "cmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywg" + - "YWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVu" + - "dm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8" + - "CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7Uw" + - "AAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIj" + - "IEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJh" + - "c2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRl" + - "cGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwt" + - "LSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MK" + - "fCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFj" + - "ayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAg" + - "ICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxl" + - "bnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwt" + - "LSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRp" + - "dmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290" + - "bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0" + - "IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwt" + - "LSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5" + - "IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1v" + - "cGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwg" + - "ICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwg" + - "ZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXIt" + - "ZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAg" + - "ICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhl" + - "c2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRz" + - "LiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVz" + - "LiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29u" + - "dHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhl" + - "CmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRl" + - "LXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVh" + - "c2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8" + - "IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0t" + - "LS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8" + - "IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVt" + - "IHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhl" + - "bG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBg" + - "PDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3Vw" + - "OiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFz" + - "ZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0t" + - "LS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlz" + - "IHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8Cnwg" + - "YXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2" + - "aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + - "Z3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBl" + - "c3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNl" + - "cnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJl" + - "dmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVy" + - "IHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwK" + - "fCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNm" + - "IHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNz" + - "dWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jl" + - "c3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNz" + - "IHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBM" + - "TE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0" + - "aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRo" + - "ZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5" + - "YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAz" + - "LW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNl" + - "IHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2Jz" + - "ZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2" + - "YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBl" + - "bnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJp" + - "dGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRl" + - "cGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVz" + - "IGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3Rz" + - "LiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNl" + - "cyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1p" + - "bmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJp" + - "dmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBo" + - "ZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRl" + - "czoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7" + - "IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + - "cGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9F" + - "TlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBi" + - "b3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0g" + - "Li4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sg" + - "cmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWlu" + - "Y2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6" + - "CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBp" + - "bmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAu" + - "IEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1l" + - "OiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAt" + - "IHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVy" + - "aXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3Mg" + - "dmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQu" + - "CgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToK" + - "CjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFs" + - "bCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJv" + - "bm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHBy" + - "b2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZh" + - "dGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5s" + - "aW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgoj" + - "IyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdv" + - "dG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYt" + - "c3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBv" + - "bmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENh" + - "c3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipg" + - "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAK" + - "LSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3Jg" + - "IChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwu" + - "ZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4q" + - "YAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1h" + - "Z2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNz" + - "TmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVu" + - "YWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBg" + - "b3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBv" + - "cGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAot" + - "IE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRj" + - "LikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2" + - "aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNl" + - "cnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUg" + - "dGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgK" + - "YGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91" + - "dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9t" + - "YWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25m" + - "aWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRp" + - "dGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxs" + - "bS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVy" + - "LCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVm" + - "b3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJs" + - "ZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNz" + - "OgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJl" + - "cXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAg" + - "IHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgog" + - "IG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAg" + - "ICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0lu" + - "c2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9y" + - "IHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRs" + - "eSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2Vk" + - "IHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRv" + - "IHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZh" + - "bHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIg" + - "dHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMs" + - "IHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZp" + - "Z3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5h" + - "YmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBw" + - "cm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBu" + - "byBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91" + - "dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmdd" + - "KGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFn" + - "ZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBz" + - "aWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFn" + - "ZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVj" + - "YXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNv" + - "bmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91" + - "dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBg" + - "YAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lN" + - "QUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUg" + - "Y29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhl" + - "IHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoK" + - "UmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0" + - "aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1l" + - "IGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2Vu" + - "dENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUg" + - "Y29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpD" + - "TEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVs" + - "bWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBM" + - "TE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRh" + - "ZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2Rz" + - "IG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHls" + - "b24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBs" + - "b3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0" + - "ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZj" + - "ZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVx" + - "dWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1n" + - "YXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3Jl" + - "cCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAg" + - "LW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtl" + - "ciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNs" + - "dXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1" + - "cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNl" + - "ZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9O" + - "VklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9h" + - "ZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFy" + - "Z2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdy" + - "b3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5" + - "IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + - "PWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + - "c2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4g" + - "aGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRl" + - "IG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBg" + - "YAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJl" + - "bC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAA" + - "CioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBV" + - "SSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRt" + - "aW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5" + - "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdo" + - "ZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWlu" + - "LXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + - "ZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNl" + - "CmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2Ug" + - "YSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJs" + - "ZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoK" + - "ICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQg" + - "aW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVs" + - "bCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFz" + - "aAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRl" + - "IHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1r" + - "ZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAog" + - "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9" + - "bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAt" + - "CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRo" + - "ZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2Vydmlj" + - "ZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBu" + - "dmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6" + - "CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVy" + - "aWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6" + - "CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBo" + - "dHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48" + - "ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJp" + - "dHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQu" + - "IERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNz" + - "IHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGlu" + - "IGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAA" + - "AAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9y" + - "ZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJl" + - "ZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJp" + - "dmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5l" + - "ZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNv" + - "bXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0" + - "ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJl" + - "Y29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0" + - "aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUg" + - "Y29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Et" + - "b3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBw" + - "cm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxt" + - "IHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxt" + - "IHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZl" + - "cm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpg" + - "YGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGlu" + - "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + - "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBs" + - "eSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2Yg" + - "YXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJl" + - "Z2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1k" + - "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5H" + - "Q19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50" + - "IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBs" + - "eSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tl" + - "ci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4K" + - "CiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjog" + - "a3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2Yt" + - "YWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgog" + - "ICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoK" + - "ICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAg" + - "ICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNm" + - "IgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAg" + - "ICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNz" + - "YW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0g" + - "ImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6" + - "CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAg" + - "ICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwog" + - "ICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAg" + - "LSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9s" + - "aWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUg" + - "d2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENv" + - "bXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCku" + - "IE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZl" + - "cm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4K" + - "CiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNh" + - "LW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0" + - "b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNy" + - "ZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + - "YXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFt" + - "ZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoK" + - "UmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5" + - "YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBg" + - "YAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3Bl" + - "cmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3Jl" + - "YXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBi" + - "YXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2Vj" + - "cmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4g" + - "PG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxT" + - "ZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhl" + - "IEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7" + - "Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1p" + - "bmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFt" + - "ZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBT" + - "aG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoK" + - "IyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNy" + - "LWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBO" + - "b3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9k" + - "ZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwg" + - "S3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0g" + - "KipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1" + - "aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJl" + - "IEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJv" + - "dWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFw" + - "cGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0" + - "ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8g" + - "dHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNv" + - "bnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8g" + - "YWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2Rz" + - "IHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xp" + - "Y3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBg" + - "YAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3Jl" + - "ZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNy" + - "ZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhANLe" + - "97lKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoR" + - "AAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9j" + - "aS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEADuDHaSETAAAhEwAANAAJAAAA" + - "AAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1" + - "c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDUUhnkgxcAAIMXAAA3AAkAAAAAAAAAAAAA" + - "AOWaAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5l" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAA1rIA" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAAOXMAABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAa/IAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRV" + - "VAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAACdAQEAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQDggjxVIggAACIIAAA5AAkAAAAAAAAAAAAAAGQrAQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAD2MwEAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAD9WAQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflF" + - "b2gQAABoEAAAMgAJAAAAAAAAAAAAAAC8fAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVm" + - "ZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEASldIyyRcAAAkXAAA" + - "LQAJAAAAAAAAAAAAAACNjQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2Zs" + - "YWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAA" + - "FeoBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3Rpbmcu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAADkCwIA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAACQbgIAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAEXFAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAA" + - "ABIwAABMAAkAAAAAAAAAAAAAACruAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "bi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAvx4DAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAA5k8DAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEA" + - "ps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAa3oDAGRhdGEvbnZj" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1" + + "dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVz" + + "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1" + + "dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZp" + + "Zz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFu" + + "ZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9v" + + "dXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAg" + + "LS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1l" + + "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0" + + "aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZy" + + "b20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFj" + + "ZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQg" + + "dmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0" + + "IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRl" + + "eHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + + "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0" + + "ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhy" + + "b3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmly" + + "b25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAg" + + "YW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3Bh" + + "Y2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhh" + + "bXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZp" + + "Y2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdh" + + "eSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdh" + + "eQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + + "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + + "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + + "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + + "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + + "b3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2Vj" + + "cmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJv" + + "eSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBw" + + "bGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBw" + + "bHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1t" + + "YW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2Vz" + + "IG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFu" + + "YWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBl" + + "ZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMg" + + "dHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2" + + "ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxt" + + "IHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlk" + + "ZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3Bh" + + "Y2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lz" + + "ZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWlu" + + "IGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6" + + "CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJv" + + "eSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + + "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xp" + + "PiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVz" + + "dGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwK" + + "ICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9t" + + "CmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXIt" + + "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFu" + + "ZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0" + + "ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0" + + "aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250" + + "cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09O" + + "RklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1" + + "c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhl" + + "IENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24g" + + "Y29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVy" + + "eSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lz" + + "dGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + + "cy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + + "ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBj" + + "b21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMK" + + "bm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFu" + + "ZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0" + + "aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxz" + + "byBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpm" + + "b3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVj" + + "dXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + + "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + + "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUt" + + "cmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5h" + + "bWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52" + + "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + + "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + + "cGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAg" + + "LS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNs" + + "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + + "LWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1" + + "biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJv" + + "dy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVn" + + "aXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + + "AAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2Rl" + + "YnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlh" + + "Z25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJl" + + "cy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBh" + + "bGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNw" + + "ZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBo" + + "ZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBm" + + "b3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+" + + "IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChz" + + "aG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1u" + + "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2Zm" + + "CgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAg" + + "ICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxC" + + "YWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQg" + + "dG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApg" + + "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcK" + + "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1" + + "ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFj" + + "ZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBp" + + "ZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxu" + + "YW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + + "fScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1" + + "YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFn" + + "ZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFt" + + "ZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + + "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + + "IFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAog" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAK" + + "CjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBj" + + "aGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFs" + + "dWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQg" + + "ZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1z" + + "ZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBh" + + "bmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4K" + + "CjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUK" + + "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + + "cGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBG" + + "YWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZp" + + "Y2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAg" + + "ICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52" + + "Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEw" + + "bQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdl" + + "bnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9w" + + "ZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBP" + + "cGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVt" + + "CgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBv" + + "cGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBv" + + "biB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1j" + + "IHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBy" + + "dW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291" + + "cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioq" + + "OiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0" + + "cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJl" + + "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + + "cGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAg" + + "IEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2" + + "ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFs" + + "aXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMg" + + "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVz" + + "CiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+" + + "IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBz" + + "aWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBP" + + "SURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBP" + + "cGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3Rh" + + "dGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0" + + "ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUK" + + "ICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMg" + + "cHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3Bz" + + "IG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlz" + + "IHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMu" + + "aXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hv" + + "d3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291" + + "bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNz" + + "dWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhl" + + "biByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWln" + + "cmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVk" + + "OiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2" + + "ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91" + + "bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndl" + + "bGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldL" + + "UyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9k" + + "cyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVz" + + "dGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0" + + "ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1Ymtl" + + "eSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5" + + "cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBg" + + "dGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3Nh" + + "bmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25v" + + "c2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fz" + + "c2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBD" + + "YXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4K" + + "W2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAg" + + "cmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6" + + "IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTog" + + "NDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRo" + + "ZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2Au" + + "CgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + + "dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRy" + + "YS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lz" + + "CgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoK" + + "IyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBv" + + "ZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1" + + "ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBg" + + "YAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVT" + + "ZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQg" + + "bm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFz" + + "cyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAg" + + "a3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3Vy" + + "Y2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmli" + + "ZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBg" + + "YAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21z" + + "CgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxl" + + "ZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQg" + + "c2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMK" + + "CmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoK" + + "IyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90" + + "IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6" + + "Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1l" + + "c3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBg" + + "CgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMK" + + "ClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBz" + + "aG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVj" + + "ayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxv" + + "Z3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9u" + + "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVj" + + "dGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWls" + + "PTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFs" + + "cyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUg" + + "YCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtl" + + "eQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hv" + + "ICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9h" + + "dXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6" + + "IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0" + + "cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2Vj" + + "cmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVu" + + "ZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAg" + + "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "c2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMg" + + "RmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpD" + + "b21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0" + + "aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0" + + "aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBG" + + "aXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUg" + + "bm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXpl" + + "cnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1" + + "Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291" + + "cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5k" + + "cyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAi" + + "LyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0i" + + "JDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIk" + + "Y29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2Ug" + + "LXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05U" + + "RVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVp" + + "ciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBr" + + "dWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAt" + + "byBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBc" + + "CiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAg" + + "IC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxs" + + "CmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5" + + "CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5v" + + "IGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2Rz" + + "IGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0" + + "b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4g" + + "bnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlm" + + "eSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cg" + + "b3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJh" + + "dGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0" + + "dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMg" + + "YnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBs" + + "b3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAg" + + "LW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHBy" + + "aXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlz" + + "dHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0" + + "byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxv" + + "b3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1z" + + "ZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRv" + + "bXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0" + + "ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRl" + + "d2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVX" + + "QVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBn" + + "YXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9" + + "J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpk" + + "aWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0" + + "dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRz" + + "IHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2lj" + + "bXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9i" + + "YWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2Vk" + + "LiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQg" + + "ZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFu" + + "ZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUg" + + "c2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUt" + + "NC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFt" + + "ZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2" + + "aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8Cnwt" + + "LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJh" + + "LXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8" + + "IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZp" + + "Y2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtl" + + "eXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBz" + + "aXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVz" + + "cyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0" + + "ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + + "cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9y" + + "eSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5k" + + "Lwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEs" + + "IE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2" + + "aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2Jz" + + "ZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFz" + + "ZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1l" + + "bnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1l" + + "bnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1s" + + "ICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0g" + + "Z2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0" + + "cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVs" + + "bWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBw" + + "bGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBl" + + "bnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1" + + "bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAg" + + "ICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3Rt" + + "cGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQg" + + "dmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBj" + + "bHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVu" + + "dmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENM" + + "SS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2Uu" + + "IERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMg" + + "YW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJl" + + "bGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0t" + + "LS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0g" + + "fCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVy" + + "IHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8" + + "IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0" + + "YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRo" + + "IGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5n" + + "b3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0t" + + "fC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkt" + + "a2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMg" + + "fCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + + "aW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2Yg" + + "fCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNl" + + "cyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwg" + + "c2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxt" + + "LXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBp" + + "LWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0t" + + "YWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBs" + + "YWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1z" + + "eXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRl" + + "OiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2Zg" + + "IHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3Rt" + + "cGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRt" + + "aW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAg" + + "YmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + + "YXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + + "LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZh" + + "YmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmlj" + + "IGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMg" + + "VGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkK" + + "ClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxh" + + "dGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdl" + + "IHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFz" + + "ZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5" + + "LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxh" + + "dGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGly" + + "ZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRl" + + "ZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52" + + "Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9n" + + "bG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVk" + + "RW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1V" + + "U1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQog" + + "IHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2" + + "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + + "ICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAg" + + "ICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5" + + "Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29y" + + "ZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4K" + + "CmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgog" + + "IGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVl" + + "czpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0" + + "IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGln" + + "aGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBz" + + "aGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0t" + + "IEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0" + + "dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2" + + "ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVz" + + "dCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoK" + + "YGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52" + + "aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lm" + + "aWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZl" + + "cmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fz" + + "c2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3Jh" + + "dGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRy" + + "YS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNh" + + "c3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNv" + + "bnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0Jv" + + "eC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5w" + + "dmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVT" + + "ZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25z" + + "LmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rv" + + "ci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5k" + + "YXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2Vz" + + "IChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9z" + + "aXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2Vydmlj" + + "ZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFi" + + "bGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcg" + + "ZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBg" + + "bGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0u" + + "aW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVu" + + "YWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhl" + + "IEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0" + + "aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0" + + "ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMv" + + "PGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgog" + + "IGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDog" + + "MQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxl" + + "ZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBt" + + "ZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UK" + + "CmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0" + + "aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAg" + + "IHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9u" + + "bHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5W" + + "Q0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0" + + "aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVu" + + "dGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5n" + + "cnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldv" + + "cmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1" + + "Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1h" + + "bmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + + "cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBu" + + "b3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2Vy" + + "LW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25m" + + "aWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIg" + + "TG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4v" + + "ZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpn" + + "dWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNr" + + "J3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0" + + "ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90" + + "ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAg" + + "ICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4v" + + "cHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9S" + + "T1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xh" + + "dGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlv" + + "bnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZh" + + "aWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5l" + + "IGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5l" + + "IHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNB" + + "IHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3lu" + + "YwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJv" + + "bQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + + "bGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmls" + + "ZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2" + + "ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lk" + + "ZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQu" + + "IFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3Qg" + + "YXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwK" + + "Y3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250" + + "cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQg" + + "LW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3Jl" + + "cCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0" + + "cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVu" + + "Y3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5u" + + "YW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9j" + + "YWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRl" + + "CmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0" + + "aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBz" + + "Oi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0" + + "YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxl" + + "IFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gK" + + "IyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJp" + + "bGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBz" + + "eW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUg" + + "cmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxl" + + "YXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5" + + "YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZj" + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAJqCAwBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5t" + - "ZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAAPmQMAAAA=" + "BQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXIt" + + "ZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5k" + + "IGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBV" + + "SSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91" + + "IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdl" + + "IGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBu" + + "dmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9u" + + "IHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0" + + "aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6Cgpg" + + "YGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRl" + + "IG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBh" + + "bmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJl" + + "Z2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1y" + + "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5n" + + "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19B" + + "UElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + + "IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2Vy" + + "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + + "CiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48" + + "ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBB" + + "cHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2Vy" + + "dmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + + "IC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAK" + + "CiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNl" + + "bnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11" + + "aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAi" + + "SG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMi" + + "CmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1" + + "bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4g" + + "UmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRp" + + "Y2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcA" + + "ALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2Ug" + + "UHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGlt" + + "YWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2Ap" + + "LCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRy" + + "b2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4g" + + "dGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFj" + + "ZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZl" + + "cm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlz" + + "c2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBz" + + "ZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4K" + + "CiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJu" + + "bwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + + "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + + "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUg" + + "cHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1r" + + "ZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + + "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + + "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + + "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBz" + + "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52" + + "Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tl" + + "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAt" + + "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCBy" + + "ZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9j" + + "a2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlh" + + "bWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRh" + + "OgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBm" + + "YWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9k" + + "cwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAg" + + "ICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAg" + + "ICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAi" + + "c2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAg" + + "ICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0i" + + "CiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNo" + + "U3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlv" + + "bnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3Rl" + + "ZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0" + + "czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFn" + + "ZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBw" + + "bGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRp" + + "b24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBh" + + "cmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRy" + + "b2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3Jl" + + "dCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFz" + + "aAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + + "YWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + + "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2Nr" + + "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJ" + + "X0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + + "cHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25t" + + "ZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1l" + + "OiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVu" + + "Y2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0" + + "ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlz" + + "dC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVy" + + "aWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0" + + "aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3su" + + "c3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMi" + + "fV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29u" + + "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAog" + + "IC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2lt" + + "YWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sg" + + "cHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBn" + + "cmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEg" + + "VW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBj" + + "b21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "Z2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVs" + + "bCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVz" + + "Kio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25s" + + "eWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxp" + + "Y2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVl" + + "ZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3Qg" + + "UmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNl" + + "cnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxC" + + "YWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZm" + + "ZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRl" + + "IHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + + "dGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBg" + + "YAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2" + + "ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0" + + "Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93" + + "IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVy" + + "ZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4" + + "YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0" + + "IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsB" + + "AhQAFAAIAAAAAAAhAOwQjqxKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3Qu" + + "anNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQ" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAe+fV" + + "JbcUAAC3FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDVWyEKRxgAAEcY" + + "AAA3AAkAAAAAAAAAAAAAAHucAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Fk" + + "ZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkA" + + "CQAAAAAAAAAAAAAAMLUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRl" + + "LWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkA" + + "AAAAAAAAAAAAAD/PAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1h" + + "bmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAA" + + "AAAAAAAAxfQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFp" + + "bGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAA" + + "AAAAAAAAAAD3AwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZy" + + "b20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAA" + + "AAAAAAAAAL4tAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVz" + + "dGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAA" + + "AAAAAABcNwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAKVZAQBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAAAAAAAAAigAEAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEASldIyyRcAAAkXAAALQAJAAAAAAAAAAAAAADzkAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEA" + + "ADcACQAAAAAAAAAAAAAAe+0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90" + + "cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJ" + + "AAAAAAAAAAAAAABKDwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAAD2cQIA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAKvIAgBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAJDxAgBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAJSIDAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAATFMDAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3Ry" + + "dWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAA" + + "AAAA0X0DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZj" + + "Zi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAA" + + "AAAAAAAAAACGAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAB1nAMAAAA=" var ( skillDataOnce sync.Once From 725635dda5003f8583e64692e27f9c61828da9cd Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:04:33 +0530 Subject: [PATCH 116/127] test(nvcf-cli): report SKIP when the RBAC inventory copy could not be compared with the validator's file Signed-off-by: rohithb --- .../selfhosted/clustervalidator_test.go | 51 +++++++++++++------ 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go index f1d1d7f63e..770a1daef3 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator_test.go @@ -254,27 +254,32 @@ var ( validatorRBACInventory = filepath.Join("..", "..", "..", "..", "compute-plane-services", "nvca", "internal", "clustervalidator", "rbac_inventory.yaml") validatorRBACInventoryCopy = filepath.Join("testdata", "rbac_inventory.yaml") + + validatorRBACInventoryNotCompared = fmt.Sprintf("%s is not reachable from this test, so %s was not "+ + "compared with the validator's inventory: the RBAC tests ran against the copy alone", + validatorRBACInventory, validatorRBACInventoryCopy) ) // readValidatorRBACInventory returns the inventory at src, or the copy when -// src does not exist. When both exist they must be identical, so the copy -// cannot drift from the validator. -func readValidatorRBACInventory(src, copyPath string) ([]byte, error) { +// src does not exist, and whether src was there to compare the copy with. +// When both exist they must be identical, so the copy cannot drift from the +// validator. +func readValidatorRBACInventory(src, copyPath string) (raw []byte, compared bool, err error) { cp, err := os.ReadFile(copyPath) if err != nil { - return nil, err + return nil, false, err } - raw, err := os.ReadFile(src) + raw, err = os.ReadFile(src) if errors.Is(err, fs.ErrNotExist) { - return cp, nil + return cp, false, nil } if err != nil { - return nil, err + return nil, false, err } if !bytes.Equal(raw, cp) { - return nil, fmt.Errorf("%s differs from %s: copy the validator's file over it", copyPath, src) + return nil, false, fmt.Errorf("%s differs from %s: copy the validator's file over it", copyPath, src) } - return raw, nil + return raw, true, nil } // validatorInventoryRule is one rule of the validator's RBAC inventory. @@ -374,6 +379,17 @@ func assertGrants(t *testing.T, want map[string][]string, rules []rbacv1.PolicyR } } +// Where the validator's file is absent, as under Bazel, the RBAC tests read +// the copy alone. This test then reports SKIP with that reason instead of +// passing as though the copy had been compared with the validator's file. +func TestValidatorRBACInventoryCopy_IsComparedWithTheValidatorsFile(t *testing.T) { + _, compared, err := readValidatorRBACInventory(validatorRBACInventory, validatorRBACInventoryCopy) + require.NoError(t, err) + if !compared { + t.Skip(validatorRBACInventoryNotCompared) + } +} + // The copy is used only when the validator's file is absent, and must match // it when both exist, so the test cannot keep passing against a stale copy. func TestReadValidatorRBACInventory_CopyCannotDrift(t *testing.T) { @@ -381,24 +397,26 @@ func TestReadValidatorRBACInventory_CopyCannotDrift(t *testing.T) { src, cp := filepath.Join(dir, "src.yaml"), filepath.Join(dir, "copy.yaml") require.NoError(t, os.WriteFile(cp, []byte("rules: []\n"), 0o600)) - got, err := readValidatorRBACInventory(src, cp) + got, compared, err := readValidatorRBACInventory(src, cp) require.NoError(t, err, "without the validator's file the copy is used") assert.Equal(t, "rules: []\n", string(got)) + assert.False(t, compared, "a copy read without the validator's file was not compared with it") require.NoError(t, os.WriteFile(src, []byte("rules: []\n"), 0o600)) - got, err = readValidatorRBACInventory(src, cp) + got, compared, err = readValidatorRBACInventory(src, cp) require.NoError(t, err) assert.Equal(t, "rules: []\n", string(got)) + assert.True(t, compared) require.NoError(t, os.WriteFile(src, []byte("rules: [{}]\n"), 0o600)) - _, err = readValidatorRBACInventory(src, cp) + _, _, err = readValidatorRBACInventory(src, cp) require.ErrorContains(t, err, "differs", "a copy that differs from the validator's file must fail") - _, err = readValidatorRBACInventory(dir, cp) + _, _, err = readValidatorRBACInventory(dir, cp) require.Error(t, err, "a validator file that exists but cannot be read must not fall back to the copy") require.NoError(t, os.Remove(cp)) - _, err = readValidatorRBACInventory(src, cp) + _, _, err = readValidatorRBACInventory(src, cp) require.Error(t, err, "the copy is required") } @@ -409,8 +427,11 @@ func TestReadValidatorRBACInventory_CopyCannotDrift(t *testing.T) { // granted. The ConfigMap read is a namespaced Role limited to the names this // run's Job can be pointed at. func TestValidatorRBAC_MatchesTheValidatorsInventory(t *testing.T) { - raw, err := readValidatorRBACInventory(validatorRBACInventory, validatorRBACInventoryCopy) + raw, compared, err := readValidatorRBACInventory(validatorRBACInventory, validatorRBACInventoryCopy) require.NoError(t, err) + if !compared { + t.Log(validatorRBACInventoryNotCompared) + } var inventory struct { Rules []validatorInventoryRule `json:"rules"` } From 7b26bb0a67c3b967d97094c5723770ae280e9d7f Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 11:04:33 +0530 Subject: [PATCH 117/127] ci(nvcf-cli): run the root Bazel row when the self-managed or compute-plane stack changes Signed-off-by: rohithb --- .github/workflows/bazel.yml | 10 ++++++---- BUILD.bazel | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index 777878131a..f094ac4a65 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -194,8 +194,10 @@ jobs: # subtrees plus the shared Bazel scaffold). Java and stargate no longer # ride the root row: discovered Java components and stargate have # their own scoped rows, so src/libraries/ is narrowed to - # src/libraries/go/. - ROOT_GLOBS=(MODULE.bazel .bazelignore .bazelrc .bazelversion BUILD.bazel WORKSPACE WORKSPACE.bazel go.work go.work.bazel rules/ platforms/ tools/ ci/ src/clis/ src/libraries/go/ .github/bazel-root-test-quarantine.txt) + # src/libraries/go/. The two stacks are the data of //:nvcf-cli-stacks, + # which the nvcf-cli tests that pin the CLI to the stacks read, so a + # change to a stack runs those tests. + ROOT_GLOBS=(MODULE.bazel .bazelignore .bazelrc .bazelversion BUILD.bazel WORKSPACE WORKSPACE.bazel go.work go.work.bazel rules/ platforms/ tools/ ci/ src/clis/ src/libraries/go/ deploy/stacks/self-managed/ deploy/stacks/nvcf-compute-plane/ .github/bazel-root-test-quarantine.txt) run_all=false changed="" @@ -255,7 +257,7 @@ jobs: # subtrees a change actually touches (path prefix), plus the # reverse-dependency edges below (shared Java config -> every Java row; # a Java framework -> every Java service) and ROOT_GLOBS -> root row. A - # docs-only or helm-only change touches no subtree and runs nothing. + # docs-only or chart-only change touches no subtree and runs nothing. # The full-matrix fallbacks stay in the case above (workflow_dispatch, # an unreadable or rewritten diff, a new branch) so an untrustworthy # changeset is never under-tested. @@ -416,7 +418,7 @@ jobs: hit=true elif [ "$path" = "." ]; then # Root is glob-gated on PRs and merges alike: it runs only when a - # ROOT_GLOB file changed (a docs- or helm-only change never triggers + # ROOT_GLOB file changed (a docs- or chart-only change never triggers # it). When it does run on a main push it uploads (CACHE_UPLOAD), # warming the cache; the rings do not evict, so a later root PR reads # that warm closure. diff --git a/BUILD.bazel b/BUILD.bazel index f73ae77a28..1e89f04447 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -53,6 +53,8 @@ filegroup( # The self-managed and compute-plane stacks, also outside gazelle, for the # nvcf-cli tests that pin the CLI's view of the stacks to their source. +# ROOT_GLOBS in .github/workflows/bazel.yml lists the same directories, so a +# change to them runs those tests. filegroup( name = "nvcf-cli-stacks", srcs = glob( From 244c09e7eb52a9e838f2097b7b3343070c4c1e3c Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 12:31:43 +0530 Subject: [PATCH 118/127] fix(nvcf-cli): keep a rejected docker login failing after install, and fail one with no access to the stack's chart org before it Signed-off-by: rohithb --- .../examples/multi-cluster.md | 7 +- .../prompts/add-compute-plane.md | 16 +- .../nvcf-self-managed-cli/reference/flags.md | 33 +- .../agentskill/skilldata_generated.go | 7096 +++++++++-------- .../selfhosted/credential_scope_test.go | 44 +- .../nvcf-cli/internal/selfhosted/preflight.go | 39 +- .../internal/selfhosted/registry_cred.go | 89 +- .../internal/selfhosted/registry_cred_test.go | 112 +- 8 files changed, 3798 insertions(+), 3638 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md index 277052575e..2e86f39a2e 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/examples/multi-cluster.md @@ -53,9 +53,10 @@ nvcf-cli init --api-url=https://api.nvcf.example.com # KUBECONFIG for this command only, a kubeconfig holding just the compute # cluster's context. The current context of your kubeconfig stays as it was. # --compute-plane checks the compute plane as installed, so a docker login -# nvcr.io rejects fails only when NGC_API_KEY does not work in its place: -# treat a registry-credentials row that says the docker login was rejected -# as blocking, since compute-plane install pulls its charts with that login. +# with no access to the org of the compute-plane charts passes where +# NGC_API_KEY reaches it: treat a registry-credentials row that says the +# docker login has no access as blocking, since compute-plane install pulls +# its charts with that login. A docker login nvcr.io rejects fails either way. # With a control-plane context, check --pre --control-plane checks the new # compute plane as not yet installed instead; see prompts/add-compute-plane.md. KC=$(mktemp) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index fe3b2c2a6d..c940203fb3 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -39,9 +39,10 @@ User has a working NVCF control plane (running somewhere) and wants to register resources, GPU Operator, SMB CSI driver) when `cluster_validator_image` is set. It grades this machine's registry credentials as `compute-plane install` uses them: `helm` on this machine pulls the compute-plane charts - with the docker login, so a docker login `nvcr.io` rejects fails the gate - even when `NGC_API_KEY` works. A missing `helm`, `helmfile` or `kubectl` - fails it too. SIS reachability is not probed before install. + with the docker login, so a docker login `nvcr.io` rejects, or one with no + access to the org the charts come from, fails the gate even when + `NGC_API_KEY` works. A missing `helm`, `helmfile` or `kubectl` fails it + too. SIS reachability is not probed before install. Without a context for the control-plane cluster, check the new cluster alone with `--compute-plane`. `check` takes both context flags or neither @@ -61,10 +62,11 @@ User has a working NVCF control plane (running somewhere) and wants to register That runs the same checks on the new cluster, and SIS reachability at `--icms-url`, but checks the compute plane as installed: a missing tool - only warns, and a docker login `nvcr.io` rejects fails the gate only when - `NGC_API_KEY` does not work in its place. Treat a `registry-credentials` - row that says the docker login was rejected as blocking, and renew that - login before the install. + only warns. A docker login `nvcr.io` rejects still fails the gate, but one + with no access to the org the compute-plane charts come from passes where + `NGC_API_KEY` reaches it. Treat a `registry-credentials` row that says the + docker login has no access as blocking, and log in with a credential that + has access before the install. If the gate fails, show the user the `check_completed` events with `passed: false` and `severity: "error"`, and address them before diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 61529c4817..d71f73a398 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -91,7 +91,10 @@ waits counts on the next poll. The probe asks for pull access to the validator image's repository and to the stack's image path: any path in `global.image.registry`, then `global.image.repository`. A stack path of one segment, such as an org with no -team, is not sent as the scope, since `nvcr.io` refuses it. +team, is not sent as the scope, since `nvcr.io` refuses it. When the stack's +OCI chart source, `global.helm.sources.registry` and `.repository`, is that +same path, its row is also the one `helm` on this machine pulls the stack's +charts from, with the docker login. The registry check belongs to one plane, whose stack names the registries and whose install state grades them: a plane the run checks before its @@ -101,18 +104,22 @@ install, which this machine installs next (the control plane for a bare else the compute plane. Only a credential the registry rejects fails the run, and only for an NVIDIA -registry the image or the stack names. Before install that includes a docker -login `nvcr.io` rejects even when the NGC key works in its place, since -`helm` on this machine pulls the stack's charts with the docker login. The -key is still used for tag discovery and the validator's pull secret, and the -row names both. After install a rejected docker login still fails. A rejected -NGC key is a warning only when `check` reads the pull secrets of the clusters -it visits, in the namespaces the validator copies pull secrets from, and -none of them holds that key; when one does, or they cannot all be read, it is -an error. A docker login the NGC key replaced passes after install only when -none of those pull secrets holds it: when one does it is an error, and when -they cannot all be read a warning. A registry this machine cannot reach, a -token service that fails, and a missing local credential are warnings. A +registry the image or the stack names. That includes a docker login +`nvcr.io` rejects even when the NGC key works in its place, before and after +install, since `docker` and `helm` on this machine still send it. The key is +still used for tag discovery and the validator's pull secret, and the row +names both. After install the row also says whether one of the pull secrets +below holds that docker login. Before install, a docker login with no access +to the row the stack's charts come from fails it too, although the NGC key +reaches it, since `helm` pulls the charts with the docker login. That is +reported as no access, not as a rejected login. Elsewhere, and after install, +a docker login with no access passes where the NGC key reaches the +repository. A rejected NGC key is a warning after install only when `check` +reads the pull secrets of the clusters it visits, in the namespaces the +validator copies pull secrets from, and none of them holds that key; when +one does, or they cannot all be read, it is an error. A registry this machine +cannot reach, a token service that fails, and a missing local credential are +warnings. A registry the probe cannot speak to, such as ECR or one using Basic auth, is skipped with a command to check it by hand. A registry that lets this machine in anonymously is reported as such, not as valid credentials. diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 030ec983aa..3e97ae34b8 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzAwMTIsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzA2NTYsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -39,12 +39,12 @@ const skillDataZipBase64 = "" + "cGlwZWxpbmVzLm1kIiwKICAgICAgInNoYTI1NiI6ICI2NmQyZWY5YTZmYzcwZTM1ZjhiNGQ5ZWQ5" + "NTc5MTczMTJjZjE5YmQ3NmM1MzY4OTYzNTMwZTVhNDBlMWU3Zjg5IiwKICAgICAgInNpemUiOiA0" + "Mzk0CiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiMTA0NjMxNTI0NTdhZWYz" + - "MWRmOTdhMzEyOWE0OGViNzlhYjFmYTZiM2M5ZjkwOTA1NzU1ZDg2YTlmMDU2MDQxOSIsCiAgICAg" + - "ICJzaXplIjogNTMwMwogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjgz" + - "ZjE2NDQ3OTQ3NTVlMGVjZDRkZGU3NzM5ODZhYjZkNDRlNjkwYjQ5YzdkOGZmNGQ0NjE1Y2FiZTFm" + - "OGVhYjciLAogICAgICAic2l6ZSI6IDYyMTUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiMDJlZTg0NTcxY2IxNDgz" + + "OWI1ZmI2YWJjODc2NTFiNTFhNWE4NzgzZDFlYjk1NGUwYjUxNTRjZTgwOGM0ODY5ZSIsCiAgICAg" + + "ICJzaXplIjogNTM3NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjY1" + + "OGIwMDU3ZTQwZjNjODI3MDcxZTE5ZWYzMjQwNmFhODczNWJiNTE1ZDUwYjk2ZDY0NjYwMTU5OTFl" + + "NmQxMjEiLAogICAgICAic2l6ZSI6IDYzNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJhYzQ3ZmFjMjU4M2FlZjIx" + - "M2M0ZDkwOTFlMTg2NTI5NTFlMDE0NmUxNmExNDE3MzAzZjEyNjRmOWFiNjRjMjFjIiwKICAgICAg" + - "InNpemUiOiAyMzU4OAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjZmJkZmMzN2UyYTRiMjg5" + + "ZjY2MzM5NjhhODVmNzQwNDJiNjllN2U5MjdkODY3MGMyNWIwY2ViOTBkZTlmMDI2IiwKICAgICAg" + + "InNpemUiOiAyNDAxNQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCOwQjqxKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCAd9ekpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -679,3552 +679,3564 @@ const skillDataZipBase64 = "" + "QkVDT05GSUcgZm9yIHRoaXMgY29tbWFuZCBvbmx5LCBhIGt1YmVjb25maWcgaG9sZGluZyBqdXN0" + "IHRoZSBjb21wdXRlCiMgY2x1c3RlcidzIGNvbnRleHQuIFRoZSBjdXJyZW50IGNvbnRleHQgb2Yg" + "eW91ciBrdWJlY29uZmlnIHN0YXlzIGFzIGl0IHdhcy4KIyAtLWNvbXB1dGUtcGxhbmUgY2hlY2tz" + - "IHRoZSBjb21wdXRlIHBsYW5lIGFzIGluc3RhbGxlZCwgc28gYSBkb2NrZXIgbG9naW4KIyBudmNy" + - "LmlvIHJlamVjdHMgZmFpbHMgb25seSB3aGVuIE5HQ19BUElfS0VZIGRvZXMgbm90IHdvcmsgaW4g" + - "aXRzIHBsYWNlOgojIHRyZWF0IGEgcmVnaXN0cnktY3JlZGVudGlhbHMgcm93IHRoYXQgc2F5cyB0" + - "aGUgZG9ja2VyIGxvZ2luIHdhcyByZWplY3RlZAojIGFzIGJsb2NraW5nLCBzaW5jZSBjb21wdXRl" + - "LXBsYW5lIGluc3RhbGwgcHVsbHMgaXRzIGNoYXJ0cyB3aXRoIHRoYXQgbG9naW4uCiMgV2l0aCBh" + - "IGNvbnRyb2wtcGxhbmUgY29udGV4dCwgY2hlY2sgLS1wcmUgLS1jb250cm9sLXBsYW5lIGNoZWNr" + - "cyB0aGUgbmV3CiMgY29tcHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxlZCBpbnN0ZWFkOyBz" + - "ZWUgcHJvbXB0cy9hZGQtY29tcHV0ZS1wbGFuZS5tZC4KS0M9JChta3RlbXApCmt1YmVjdGwgY29u" + - "ZmlnIHZpZXcgLS1taW5pZnkgLS1mbGF0dGVuIC0tY29udGV4dD1hZG1pbkBncHUxID4gIiRLQyIK" + - "S1VCRUNPTkZJRz0iJEtDIiBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLWNvbXB1dGUtcGxh" + - "bmUgXAogIC0taWNtcy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20gXAogIC0tanNv" + - "bgoKIyBSZWdpc3RlciBhbmQgaW5zdGFsbCBqdXN0IHRoZSBjb21wdXRlIHBsYW5lLCBmcm9tIHRo" + - "ZSBwcm9maWxlIHRoZQojIGNvbnRyb2wtcGxhbmUgb3BlcmF0b3IgZXhwb3J0ZWQgd2l0aCBgc2Vs" + - "Zi1ob3N0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGV4cG9ydGAsCiMgc2F2ZWQgaGVyZSBhcyBj" + - "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbDoKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1w" + - "bGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1w" + - "cm9maWxlLnlhbWwgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMSBcCiAgLS1rdWJlLWNv" + - "bnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxl" + - "LmNvbSBcCiAgLS10b2tlbj0kQURNSU5fSldUIFwKICAtLW91dHB1dD1teS1jb21wdXRlLTEtcmVn" + - "aXN0ZXItdmFsdWVzLnlhbWwKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIFwKICAtLXZhbHVlcz1teS1jb21wdXRlLTEtcmVnaXN0ZXItdmFsdWVzLnlhbWwgXAogIC0t" + - "a3ViZS1jb250ZXh0PWFkbWluQGdwdTEgXAogIC0tY2x1c3Rlci1uYW1lPW15LWNvbXB1dGUtMQoK" + - "IyBTdGF0dXMgb2YgYWRtaW5AZ3B1MSwgZnJvbSB0aGUgc2FtZSBrdWJlY29uZmlnIChjb21wdXRl" + - "LW9ubHk6IHRoZSBvcGVyYXRvcgojIGNhbid0IHNlZSBjb250cm9sLXBsYW5lIGNvbXBvbmVudCBo" + - "ZWFsdGgpLiBUaGVuIHJlbW92ZSB0aGUgZmlsZSwgd2hpY2gKIyBob2xkcyB0aGUgY29udGV4dCdz" + - "IGNyZWRlbnRpYWxzOgpLVUJFQ09ORklHPSIkS0MiIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1" + - "cyBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0xIFwKICAtLWljbXMtdXJsPWh0dHBzOi8v" + - "aWNtcy5udmNmLmV4YW1wbGUuY29tCnJtIC1mICIkS0MiCmBgYAoKIyMgRnVuY3Rpb25zIHRhcmdl" + - "dGluZyBzcGVjaWZpYyBjb21wdXRlIHBsYW5lcwoKV2hlbiB5b3UgaGF2ZSBtdWx0aXBsZSBjb21w" + - "dXRlIHBsYW5lcyBhbmQgd2FudCBhIGZ1bmN0aW9uIHRvIGRlcGxveSB0byBvbmU6CgpgYGBqc29u" + - "CnsKICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwK" + - "ICAiZGVwbG95bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAi" + - "aW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwK" + - "ICAgICJtYXhJbnN0YW5jZXMiOiAxLAogICAgImNsdXN0ZXJzIjogWyJncHUtZWFzdC0xIl0KICB9" + - "XQp9CmBgYAoKVGhlIGBjbHVzdGVyc2AgYXJyYXkgKHVzaW5nIGNsdXN0ZXIgbmFtZXMsIG5vdCBJ" + - "RHMpIGxpbWl0cyBzY2hlZHVsaW5nIHRvIHRob3NlIGNvbXB1dGUgcGxhbmVzLiBPbWl0IHRvIGxl" + - "dCBJQ01TIGNob29zZSBhbnkgY29tcHV0ZSBwbGFuZSB3aXRoIGEgbWF0Y2hpbmcgU0tVLgoKIyMg" + - "U3RhdHVzIGZhbi1vdXQgYWNyb3NzIGNvbXB1dGUgcGxhbmVzCgpgYGBzaAojIExpc3QgYWxsIHJl" + - "Z2lzdGVyZWQgY29tcHV0ZSBwbGFuZXM6Cm52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVk" + - "IC0tbmNhLWlkPSROQ0FfSUQgLS1pY21zLXVybD0kSUNNUyAtLWpzb24gXAogIHwganEgLXIgJy5j" + - "bHVzdGVyc1tdLmNsdXN0ZXJOYW1lJyA+IGNsdXN0ZXJzLnR4dAoKIyBTdGF0dXMgc25hcHNob3Qg" + - "cGVyIGNvbXB1dGUgcGxhbmUgKGFzc3VtaW5nIGVhY2ggY29udGV4dCBuYW1lIG1hdGNoZXMpLgoj" + - "IEVhY2ggcnVuIHJlYWRzIGEgdGVtcG9yYXJ5IGt1YmVjb25maWcgaG9sZGluZyBvbmx5IHRoYXQg" + - "Y2x1c3RlcidzIGNvbnRleHQsCiMgc28gdGhlIGxvb3AgbGVhdmVzIHRoZSBjdXJyZW50IGNvbnRl" + - "eHQgb2YgeW91ciBrdWJlY29uZmlnIGFsb25lOgp3aGlsZSByZWFkIE5BTUU7IGRvCiAgZWNobyAi" + - "PT09ICROQU1FID09PSIKICBLQz0kKG1rdGVtcCkKICBrdWJlY3RsIGNvbmZpZyB2aWV3IC0tbWlu" + - "aWZ5IC0tZmxhdHRlbiAtLWNvbnRleHQ9ImFkbWluQCROQU1FIiA+ICIkS0MiICYmCiAgICBLVUJF" + - "Q09ORklHPSIkS0MiIG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyBcCiAgICAgIC0tY2x1c3Rl" + - "ci1uYW1lPSROQU1FIFwKICAgICAgLS1qc29uIHwganEgLWMgJ3tjbHVzdGVyOi5jbHVzdGVyLCB2" + - "ZXJkaWN0Oi52ZXJkaWN0LCByZWNvbmNpbGU6LnJlY29uY2lsZUFnZVNlY30nCiAgcm0gLWYgIiRL" + - "QyIKZG9uZSA8IGNsdXN0ZXJzLnR4dApgYGAKCkEgZnV0dXJlIE0rMTEgbWlsZXN0b25lIHdpbGwg" + - "YWRkIG5hdGl2ZSBmYW4tb3V0IChgc3RhdHVzIC0tYWxsLWNvbXB1dGUtcGxhbmVzYCkgc28gdGhp" + - "cyBkb2Vzbid0IG5lZWQgYSBzaGVsbCBsb29wLgpQSwcIe+fVJbcUAAC3FAAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9hZGQt" + - "Y29tcHV0ZS1wbGFuZS5tZFVUBQABAKbOEiMgQWRkIGEgY29tcHV0ZSBwbGFuZSB0byBhbiBleGlz" + - "dGluZyBjb250cm9sIHBsYW5lCgpVc2VyIGhhcyBhIHdvcmtpbmcgTlZDRiBjb250cm9sIHBsYW5l" + - "IChydW5uaW5nIHNvbWV3aGVyZSkgYW5kIHdhbnRzIHRvIHJlZ2lzdGVyIGEgbmV3IEdQVSBjbHVz" + - "dGVyIGFnYWluc3QgaXQuIFRoaXMgaXMgdGhlIG11bHRpLWNsdXN0ZXIgc2NhbGluZyBwYXRoOiBv" + - "bmUgY29udHJvbCBwbGFuZSDihpIgTiBjb21wdXRlIHBsYW5lcy4KCiMjIFByZXJlcXVpc2l0ZXMg" + - "dGhlIHVzZXIgbXVzdCBoYXZlCgotICoqa3ViZWN0bCBjb250ZXh0IGZvciB0aGUgbmV3IGNvbXB1" + - "dGUgcGxhbmUqKiBpbiB0aGVpciBgS1VCRUNPTkZJR2AsIGFuZAogIGlkZWFsbHkgb25lIGZvciB0" + - "aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyIHRvbywgZm9yIHRoZSBwcmUtZmxpZ2h0IGluCiAgc3Rl" + - "cCAyLgotICoqUHVibGljIElDTVMgVVJMKiogb2YgdGhlIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUg" + - "KGUuZy4gYGh0dHBzOi8vaWNtcy5udmNmLmV4YW1wbGUuY29tYCkuCi0gKipBZG1pbiBKV1QqKiBm" + - "b3IgdGhlIGNvbnRyb2wgcGxhbmUncyBhY2NvdW50LCBPUiBhYmlsaXR5IHRvIG1pbnQgb25lIHZp" + - "YSBgbnZjZi1jbGkgaW5pdGAgYWdhaW5zdCB0aGUgY29udHJvbCBwbGFuZSdzIHB1YmxpYyBhcGkg" + - "ZW5kcG9pbnQuIChBZG1pbiB0b2tlbnMgY29tZSBmcm9tIHRoZSBBUEkgS2V5cyBzZXJ2aWNlIHZp" + - "YSB0aGUgcHVibGljIGFwaSBnYXRld2F5IOKAlCBrdWJlY3RsIGFjY2VzcyB0byB0aGUgY29udHJv" + - "bCBwbGFuZSBpcyBOT1QgcmVxdWlyZWQgdG8gb2J0YWluIG9uZS4pCi0gVGhlIGNvbnRyb2wgcGxh" + - "bmUncyBwcm9maWxlIGZpbGUsIHdoaWNoIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb250cm9sLXBs" + - "YW5lIHByb2ZpbGUgZXhwb3J0YCB3cml0ZXMgb24gYSBtYWNoaW5lIHRoYXQgY2FuIHJlYWNoIHRo" + - "ZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIuIEl0IGNhcnJpZXMgdGhlIGNvbnRyb2wgcGxhbmUncyBl" + - "bmRwb2ludHMgYW5kIHRydXN0IGZvciByZWdpc3RyYXRpb24uIFRoZSBjb21tYW5kIHdyaXRlcyBp" + - "dCB0byB0aGUgc3RhY2sncyBgb3V0L2AgZGlyZWN0b3J5IGFuZCBwcmludHMgdGhhdCBwYXRoOyB0" + - "aGUgc3RlcHMgYmVsb3cgZXhwZWN0IGl0IGNvcGllZCB0byBgY29udHJvbC1wbGFuZS1wcm9maWxl" + - "LnlhbWxgIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KLSBBIHVuaXF1ZSBgLS1jbHVzdGVyLW5h" + - "bWVgIHRoYXQgZG9lc24ndCBjb2xsaWRlIHdpdGggYWxyZWFkeS1yZWdpc3RlcmVkIGNsdXN0ZXJz" + - "LiBVc2UgYG52Y2YtY2xpIGNsdXN0ZXIgbGlzdC1yZWdpc3RlcmVkIC0tbmNhLWlkPSROQ0FfSUQg" + - "LS1pY21zLXVybD0kSUNNU2AgdG8gY2hlY2suCgojIyBTdGVwcwoKMS4gQXNrIGZvciBpbnB1dHM6" + - "CiAgIC0gYC0tY2x1c3Rlci1uYW1lPTx1bmlxdWU+YCDigJQgbXVzdCBiZSB1bmlxdWUgd2l0aGlu" + - "IHRoZSBjb250cm9sIHBsYW5lJ3MgTkNBIHNjb3BlCiAgIC0gYC0ta3ViZS1jb250ZXh0PTxjb250" + - "ZXh0PmA6IHRoZSBuZXcgR1BVIGNsdXN0ZXIncyBrdWJlY3RsIGNvbnRleHQKICAgLSBgLS1pY21z" + - "LXVybD08aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20+YCDigJQgY29udHJvbCBwbGFuZSdz" + - "IHB1YmxpYyBJQ01TIFVSTAogICAtIEdQVSB0eXBlPyAoZGVmYXVsdCBgSDEwMGAsIGJ1dCBhc2sp" + - "CgoyLiBQcmUtZmxpZ2h0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxl" + - "ZC4gV2l0aCBhIGt1YmVjdGwKICAgY29udGV4dCBmb3IgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rl" + - "ciBhcyB3ZWxsLCBgY2hlY2sgLS1wcmUKICAgLS1jb250cm9sLXBsYW5lYCBjaGVja3MgdGhlIGNv" + - "bnRyb2wgcGxhbmUgYXMgaW5zdGFsbGVkIGFuZCB0aGUgbmV3CiAgIGNvbXB1dGUgcGxhbmUgYXMg" + - "bm90IHlldCBpbnN0YWxsZWQ6CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVj" + - "ayAtLXByZSAtLWNvbnRyb2wtcGxhbmUgXAogICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIk" + - "Q1BfQ1RYIiAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD0iJENUWCIgXAogICAgIC0tZW52PSIkQ1Bf" + - "RU5WIiBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpz" + - "b25sCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50ID09ICJmaW5hbCIgYW5kIC5zdWNjZXNzKScg" + - "Y2hlY2suanNvbmwKICAgYGBgCgogICBgJENQX0VOVmAgaXMgdGhlIGAtLWVudmAgdGhlIGNvbnRy" + - "b2wgcGxhbmUgd2FzIGluc3RhbGxlZCB3aXRoLiBUaGlzIGNoZWNrcwogICB0aGUgY29udHJvbC1w" + - "bGFuZSBjbHVzdGVyLCBhbmQgdGhlIG5ldyBjbHVzdGVyOiBsZWZ0b3ZlciBOVkNGIG5hbWVzcGFj" + - "ZXMsCiAgIG5vZGUgaW5vdGlmeSBsaW1pdHMsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVy" + - "LXZhbGlkYXRvciAoR1BVCiAgIHJlc291cmNlcywgR1BVIE9wZXJhdG9yLCBTTUIgQ1NJIGRyaXZl" + - "cikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzCiAgIHNldC4gSXQgZ3JhZGVzIHRo" + - "aXMgbWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRlbnRpYWxzIGFzIGBjb21wdXRlLXBsYW5lCiAgIGlu" + - "c3RhbGxgIHVzZXMgdGhlbTogYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgY29tcHV0" + - "ZS1wbGFuZSBjaGFydHMKICAgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLCBzbyBhIGRvY2tlciBsb2dp" + - "biBgbnZjci5pb2AgcmVqZWN0cyBmYWlscyB0aGUgZ2F0ZQogICBldmVuIHdoZW4gYE5HQ19BUElf" + - "S0VZYCB3b3Jrcy4gQSBtaXNzaW5nIGBoZWxtYCwgYGhlbG1maWxlYCBvciBga3ViZWN0bGAKICAg" + - "ZmFpbHMgaXQgdG9vLiBTSVMgcmVhY2hhYmlsaXR5IGlzIG5vdCBwcm9iZWQgYmVmb3JlIGluc3Rh" + - "bGwuCgogICBXaXRob3V0IGEgY29udGV4dCBmb3IgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlciwg" + - "Y2hlY2sgdGhlIG5ldyBjbHVzdGVyCiAgIGFsb25lIHdpdGggYC0tY29tcHV0ZS1wbGFuZWAuIGBj" + - "aGVja2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXIKICAgYW5kIGhhcyBubyBg" + - "LS1rdWJlY29uZmlnYCBmbGFnLCBzbyBnaXZlIGl0LCB0aHJvdWdoIGBLVUJFQ09ORklHYCBmb3Ig" + - "dGhpcwogICBjb21tYW5kIG9ubHksIGEgdGVtcG9yYXJ5IGt1YmVjb25maWcgaG9sZGluZyBqdXN0" + - "IHRoZSBuZXcgR1BVIGNsdXN0ZXIncwogICBjb250ZXh0LiBUaGUgY3VycmVudCBjb250ZXh0IG9m" + - "IHRoZSB1c2VyJ3Mga3ViZWNvbmZpZyBzdGF5cyBhcyBpdCB3YXM6CgogICBgYGBzaAogICBLQz0k" + - "KG1rdGVtcCkKICAga3ViZWN0bCBjb25maWcgdmlldyAtLW1pbmlmeSAtLWZsYXR0ZW4gLS1jb250" + - "ZXh0PSIkQ1RYIiA+ICIkS0MiCiAgIEtVQkVDT05GSUc9IiRLQyIgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAt" + - "LWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2suanNvbmwKICAgcm0gLWYg" + - "IiRLQyIKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3Mp" + - "JyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoYXQgcnVucyB0aGUgc2FtZSBjaGVja3Mgb24gdGhl" + - "IG5ldyBjbHVzdGVyLCBhbmQgU0lTIHJlYWNoYWJpbGl0eSBhdAogICBgLS1pY21zLXVybGAsIGJ1" + - "dCBjaGVja3MgdGhlIGNvbXB1dGUgcGxhbmUgYXMgaW5zdGFsbGVkOiBhIG1pc3NpbmcgdG9vbAog" + - "ICBvbmx5IHdhcm5zLCBhbmQgYSBkb2NrZXIgbG9naW4gYG52Y3IuaW9gIHJlamVjdHMgZmFpbHMg" + - "dGhlIGdhdGUgb25seSB3aGVuCiAgIGBOR0NfQVBJX0tFWWAgZG9lcyBub3Qgd29yayBpbiBpdHMg" + - "cGxhY2UuIFRyZWF0IGEgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxzYAogICByb3cgdGhhdCBzYXlzIHRo" + - "ZSBkb2NrZXIgbG9naW4gd2FzIHJlamVjdGVkIGFzIGJsb2NraW5nLCBhbmQgcmVuZXcgdGhhdAog" + - "ICBsb2dpbiBiZWZvcmUgdGhlIGluc3RhbGwuCgogICBJZiB0aGUgZ2F0ZSBmYWlscywgc2hvdyB0" + - "aGUgdXNlciB0aGUgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnRzIHdpdGgKICAgYHBhc3NlZDogZmFs" + - "c2VgIGFuZCBgc2V2ZXJpdHk6ICJlcnJvciJgLCBhbmQgYWRkcmVzcyB0aGVtIGJlZm9yZQogICBw" + - "cm9jZWVkaW5nLgoKMy4gUmVnaXN0ZXIgdGhlIGNsdXN0ZXIsIHRoZW4gaW5zdGFsbCBpdHMgY29t" + - "cHV0ZSBwbGFuZSBmcm9tIHRoZSB2YWx1ZXMKICAgZmlsZSByZWdpc3RyYXRpb24gd3JpdGVzLiBC" + - "b3RoIGNvbW1hbmRzIG5hbWUgdGhlIG5ldyBjbHVzdGVyJ3MgY29udGV4dAogICB3aXRoIGAtLWt1" + - "YmUtY29udGV4dGA6CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBs" + - "YW5lIHJlZ2lzdGVyIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0ta3ViZS1j" + - "b250ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBc" + - "CiAgICAgLS1vdXRwdXQ9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwKICAgbnZjZi1jbGkgc2Vs" + - "Zi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAgICAtLXZhbHVlcz0kTkFNRS1yZWdp" + - "c3Rlci12YWx1ZXMueWFtbCBcCiAgICAgLS1rdWJlLWNvbnRleHQ9JENUWCBcCiAgICAgLS1jbHVz" + - "dGVyLW5hbWU9JE5BTUUKICAgYGBgCgogICBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgcmVjb3Jk" + - "cyB0aGUgY2x1c3RlcidzIE9JREMgaXNzdWVyIGFuZCBKV0tTIHdpdGgKICAgSUNNUyBhdCBgLS1p" + - "Y21zLXVybGAgYW5kIHdyaXRlcyB0aGUgTlZDQSBvcGVyYXRvciB2YWx1ZXMuIGBjb21wdXRlLXBs" + - "YW5lCiAgIGluc3RhbGxgIGluc3RhbGxzIHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrIHdpdGggdGhl" + - "bS4gTmVpdGhlciB0b3VjaGVzIHRoZQogICBjb250cm9sLXBsYW5lIGNsdXN0ZXI6IElDTVMgaXMg" + - "cmVhY2hlZCBvdmVyIEhUVFBTLiBgLS10b2tlbmAgcGFzc2VzIHRoZQogICBhZG1pbiBKV1Q7IHdp" + - "dGhvdXQgaXQgdGhlIHRva2VuIGBudmNmLWNsaSBpbml0YCBzdG9yZWQgaXMgdXNlZC4KCjQuIFZl" + - "cmlmeS4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0ZXItbmFtZT0kTkFNRSAt" + - "LWpzb24gfCBqcWA6IGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQg" + - "Q29tcHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBub3cgbGlzdCB0aGUgbmV3IGNs" + - "dXN0ZXIuCgo1LiBTbW9rZS4gW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9r" + - "ZS5tZCk6IGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0" + - "byBjb25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRo" + - "ZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgcmV1" + - "c2VzIGFuIGV4aXN0aW5nIHJlZ2lzdHJhdGlvbjogaXQgbWF0Y2hlcyB0aGUgSUNNUyByb3cgd2l0" + - "aCB0aGUgc2FtZSBuYW1lLCByZXVzZXMgaXRzIGNsdXN0ZXJJZCBhbmQgcmVwbGFjZXMgaXRzIEpX" + - "S1MuIFR3byBzY2VuYXJpb3M6CgotICoqUmUtcmVnaXN0ZXJpbmcgdGhlIHNhbWUgY2x1c3Rlcioq" + - "IChyZS1ydW5uaW5nIG9uIHRoZSBzYW1lIGNvbXB1dGUgcGxhbmUgdGhhdCB3YXMgcHJldmlvdXNs" + - "eSByZWdpc3RlcmVkKTogZXhwZWN0ZWQsIG5vLW9wIHNlbWFudGljcy4KLSAqKkRpZmZlcmVudCBw" + - "aHlzaWNhbCBjbHVzdGVyIGJ1dCBzYW1lIG5hbWUqKjogdGhlIHNlY29uZCBhdHRlbXB0IHdpbGwg" + - "cmV1c2UgdGhlIElDTVMgcm93LCBidXQgdGhlIG5ldyBjb21wdXRlIHBsYW5lJ3MgSldLUyB3aWxs" + - "IGJlIHNpbGVudGx5ICpyZXBsYWNlZCog4oCUIHRoZSBvbGQgY29tcHV0ZSBwbGFuZSdzIE5WQ0Eg" + - "YWdlbnQgd2lsbCBzdGFydCBmYWlsaW5nIFBTQVQgYXV0aC4gKipDb25maXJtIHdpdGggdGhlIHVz" + - "ZXIqKiB0aGF0IHRoZXkgbWVhbnQgdG8gb3ZlcndyaXRlLgoKV2hlbiBpbiBkb3VidCwgcnVuIGBu" + - "dmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11" + - "cmw9JElDTVNgIGZpcnN0IGFuZCBhc2sgdGhlIHVzZXIgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBh" + - "IG5hbWUgdGhhdCBhbHJlYWR5IGV4aXN0cy4KUEsHCNVbIQpHGAAARxgAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRl" + - "LWFuZC1ydW4tdGFzay5tZFVUBQABAKbOEiMgQ3JlYXRlIGFuZCBydW4gYSB0YXNrCgpTdGFuZGFy" + - "ZCBmbG93OiBtaW50IEFQSSBrZXlzIC0+IHRhc2sgQ1JFQVRFIC0+IG1vbml0b3IgLT4gcmV0cmll" + - "dmUgcmVzdWx0cyAtPiBjbGVhbnVwLgoKIyMgMS4gTWludCBBUEkga2V5cwoKVGhlIGFkbWluIHRv" + - "a2VuIGZyb20gYGluaXRgIGRvZXMgbm90IGNhcnJ5IHRhc2sgaW52b2NhdGlvbiBzY29wZS4gR2Vu" + - "ZXJhdGUgQVBJIGtleXM6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3Jp" + - "cHRpb249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCiMgLT4gZnVuY3Rpb24ga2V5" + - "OiBudmFwaS0uLi4KIyAtPiB0YXNrIGtleTogbnZhcGktLi4uCmBgYAoKQm90aCBrZXlzIGFyZSBz" + - "YXZlZCB0byBDTEkgc3RhdGUuIFRvIG1pbnQgb25seSB0aGUgdGFzayBrZXk6CgpgYGBzaApudmNm" + - "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9r" + - "ZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGgKYGBgCgpUbyB2YWxpZGF0ZSBlYWNoIGtleSBpbW1lZGlh" + - "dGVseSBhZnRlciBtaW50aW5nOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRl" + - "c2NyaXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aCAtLXZhbGlkYXRlCiMg" + - "LT4gZnVuY3Rpb24gQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKIyAtPiB0YXNrIEFQSSBrZXkg" + - "dmFsaWRhdGlvbiBwYXNzZWQhCmBgYAoKTmV2ZXIgZWNobyB0aGUga2V5IHZhbHVlIChudmFwaS0u" + - "Li4pIGludG8gY2hhdCBvciBsb2dzLiBSZXBvcnQgb25seSB0aGF0IHRoZSBrZXkgd2FzIG1pbnRl" + - "ZCwgaXRzIGRlc2NyaXB0aW9uLCBhbmQgaXRzIGV4cGlyeSDigJQgbmV2ZXIgdGhlIHZhbHVlIGl0" + - "c2VsZi4KCiMjIyBGcmVzaCBzZXNzaW9uIHByZS1mbGlnaHQKCkJlZm9yZSBydW5uaW5nIGFueSBg" + - "dGFza2AgY29tbWFuZCBpbiBhIGZyZXNoIGFnZW50IHNlc3Npb24sIHZlcmlmeSBjcmVkZW50aWFs" + - "czoKCjEuIENoZWNrIHdoZXRoZXIgYE5WQ0ZfQVBJX0tFWWAgaXMgc2V0OgoKICAgYGBgc2gKICAg" + - "cHJpbnRlbnYgTlZDRl9BUElfS0VZID4gL2Rldi9udWxsIDI+JjEgJiYgZWNobyBzZXQgfHwgZWNo" + - "byB1bnNldAogICBgYGAKCjIuIElmIHVuc2V0LCByZWFkIHRoZSBzdG9yZWQga2V5IGV4cGlyeSB3" + - "aXRob3V0IHByaW50aW5nIHRoZSB2YWx1ZToKCiAgIGBgYHNoCiAgIHB5dGhvbjMgLWMgImltcG9y" + - "dCBqc29uLHBhdGhsaWI7IHM9anNvbi5sb2FkcyhwYXRobGliLlBhdGgoJ34vLm52Y2YtY2xpLnN0" + - "YXRlJykuZXhwYW5kdXNlcigpLnJlYWRfdGV4dCgpKTsgcHJpbnQocy5nZXQoJ252Y3RBcGlLZXlF" + - "eHBpcmF0aW9uJywnbWlzc2luZycpKSIKICAgYGBgCgozLiBJZiB0aGUgZXhwaXJ5IGlzIGluIHRo" + - "ZSBwYXN0IG9yIG1pc3NpbmcsIHJlZ2VuZXJhdGU6CgogICBgYGBzaAogICBudmNmLWNsaSByZWZy" + - "ZXNoCiAgIG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9u" + - "PSJ0YXNrLWtleSIgLS1leHBpcmVzLWluPTI0aCAtLXZhbGlkYXRlCiAgIGBgYAoKNC4gSW5qZWN0" + - "IHRoZSBzdG9yZWQga2V5IGludG8gdGhlIHN1YnByb2Nlc3MgZW52IHdpdGhvdXQgbG9nZ2luZyB0" + - "aGUgdmFsdWUuIFVzZSBhIHNoZWxsIHN1YnNoZWxsIG9yIGVudiBwcmVmaXgg4oCUIG5ldmVyIHBy" + - "aW50IHRoZSBrZXkgaW50byBjaGF0LgoKRXJyb3IgY2xhc3NpZmljYXRpb246CgotICJtaXNzaW5n" + - "IGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIiBvciBleGl0IDI6IGtleSBub3QgaW5qZWN0ZWQ7" + - "IHJlcGVhdCBwcmUtZmxpZ2h0LgotIEhUVFAgNDAzOiBrZXkgZXhwaXJlZCBvciB3cm9uZyBhdWRp" + - "ZW5jZTsgcmVnZW5lcmF0ZS4KLSBFbXB0eSB0YXNrIGxpc3Q6IHZhbGlkOyBubyB0YXNrcyBleGlz" + - "dCB5ZXQuCgojIyAyLiBUYXNrIENSRUFURTogY29udGFpbmVyCgpEZWZpbmUgdGhlIHRhc2sgaW4g" + - "YSBKU09OIGZpbGUuIE1pbmltdW0gdmlhYmxlIGNvbnRhaW5lciB0YXNrOgoKYGBganNvbgp7CiAg" + - "Im5hbWUiOiAic21va2UtY29udGFpbmVyLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewog" + - "ICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwK" + - "ICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJjb250YWluZXJJbWFnZSI6ICJudmNy" + - "LmlvL252aWRpYS9uZW1vOmxhdGVzdCIsCiAgImNvbnRhaW5lckFyZ3MiOiAicHl0aG9uIC1jIFwi" + - "cHJpbnQoJ2hlbGxvIGZyb20gdGFzaycpXCIiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0ZWd5Ijog" + - "Ik5PTkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFz" + - "ay1jb250YWluZXIuanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCkNhcHR1cmUgdGhl" + - "IHRhc2sgSUQgZnJvbSB0aGUgb3V0cHV0LiBTdGF0ZSBwZXJzaXN0ZW5jZSBjYW4gZmFpbCBzaWxl" + - "bnRseSwgc28gcGFzcwpgPHRhc2tJZD5gIGV4cGxpY2l0bHkgb24gc3Vic2VxdWVudCBjb21tYW5k" + - "cyByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHNhdmVkIHN0YXRlLgoKRXF1aXZhbGVudCBDTEkgZmxh" + - "Z3MgZm9ybSBmb3IgcXVpY2sgYWQtaG9jIHJ1bnM6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0" + - "ZSBcCiAgLS1uYW1lPXNtb2tlLWNvbnRhaW5lci10YXNrIFwKICAtLWdwdT1IMTAwIFwKICAtLWlu" + - "c3RhbmNlLXR5cGU9TkNQLkdQVS5IMTAwXzF4IFwKICAtLWJhY2tlbmQ9bmNwLWxvY2FsIFwKICAt" + - "LWltYWdlPW52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IFwKICAtLWNvbnRhaW5lci1hcmdzPSJw" + - "eXRob24gLWMgJ3ByaW50KGhlbGxvIGZyb20gdGFzayknIiBcCiAgLS1yZXN1bHQtc3RyYXRlZ3k9" + - "Tk9ORQpgYGAKClRvIHRhcmdldCBhIHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcjoKCmBgYHNoCm52" + - "Y2YtY2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIC0tY2x1" + - "c3RlcnM9bXktY2x1c3RlcgpgYGAKClRvIGluamVjdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb3Ig" + - "c2VjcmV0cywgZWl0aGVyIHBhc3MgZmxhZ3M6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAt" + - "LWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiBcCiAgLS1jb250YWluZXItZW52IE1ZX0VO" + - "Vj12YWx1ZSBcCiAgLS1zZWNyZXRzIE1ZX1NFQ1JFVD1zM2NyM3QKYGBgCgpvciBzZXQgdGhlbSBp" + - "biB0aGUgSlNPTiBmaWxlOgoKYGBganNvbgp7CiAgImNvbnRhaW5lckVudmlyb25tZW50IjogWwog" + - "ICAgeyJrZXkiOiAiTVlfRU5WIiwgInZhbHVlIjogInZhbHVlIn0KICBdLAogICJzZWNyZXRzIjog" + - "WwogICAgeyJuYW1lIjogIk1ZX1NFQ1JFVCIsICJ2YWx1ZSI6ICJzM2NyM3QifQogIF0KfQpgYGAK" + - "ClNlY3JldHMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IGFuZCBub3QgcmV0dXJuZWQgaW4gbGlzdCBv" + - "ciBnZXQgcmVzcG9uc2VzIGJ5IGRlZmF1bHQ7IGRvIG5vdCBsb2cgdGhlbS4KCiMjIDMuIFRhc2sg" + - "Q1JFQVRFOiBIZWxtCgpGb3IgSGVsbS10eXBlIHRhc2tzLCByZXBsYWNlIGBjb250YWluZXJJbWFn" + - "ZWAgd2l0aCBgaGVsbUNoYXJ0YDoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWhlbG0tdGFz" + - "ayIsCiAgImdwdVNwZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3Rh" + - "bmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgog" + - "IH0sCiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vPG9yZz4vY2hh" + - "cnRzL2V4YW1wbGUtdGFzay0wLjEuMC50Z3oiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0ZWd5Ijog" + - "Ik5PTkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFz" + - "ay1oZWxtLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpgaGVsbUNoYXJ0YCBhbmQg" + - "YGNvbnRhaW5lckltYWdlYCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgoKIyMgM2IuIFVwZGF0ZSBz" + - "ZWNyZXRzIG9uIGEgcnVubmluZyB0YXNrCgpgYGBzaApudmNmLWNsaSB0YXNrIHVwZGF0ZS1zZWNy" + - "ZXRzIDx0YXNrX2lkPiAtLXNlY3JldHMgTkFNRT12YWx1ZQpgYGAKCmB1cGRhdGUtc2VjcmV0c2Ag" + - "bWVyZ2VzIHNlY3JldHMgYnkgbmFtZTogc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBk" + - "YXRlZCwgYW5kIGV4aXN0aW5nIHNlY3JldHMgbm90IGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGFy" + - "ZSBwcmVzZXJ2ZWQuIERvIG5vdCBlY2hvIHNlY3JldCB2YWx1ZXMgaW50byBjaGF0LgoKIyMgNC4g" + - "TW9uaXRvcgoKUG9sbCB0YXNrIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQgPHRhc2tf" + - "aWQ+CiMgLT4gaWQ6IDx0YXNrX2lkPgojIC0+IHN0YXR1czogUlVOTklORwpgYGAKCk9yIHVzZSB0" + - "aGUgdGFzayBJRCBzYXZlZCB0byBzdGF0ZSBmcm9tIHRoZSBtb3N0IHJlY2VudCBgdGFzayBjcmVh" + - "dGVgOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQKYGBgCgpTdGF0dXMgdmFsdWVzOiBgUVVFVUVE" + - "YCwgYExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBgQ0FOQ0VM" + - "RURgLCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFYX1FVRVVF" + - "RF9EVVJBVElPTmAuCgpJbnNwZWN0IGxpZmVjeWNsZSBldmVudHMgZm9yIHByb2dyZXNzIGRldGFp" + - "bHMgb3IgZmFpbHVyZSBjb250ZXh0OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBldmVudHMgPHRhc2tf" + - "aWQ+CmBgYAoKSWYgdGhlIHRhc2sgaXMgc3R1Y2sgaW4gYFFVRVVFRGAsIGNoZWNrIHRoYXQgYSBj" + - "b21wdXRlIGNsdXN0ZXIgd2l0aCBhIG1hdGNoaW5nIEdQVSBTS1UKaXMgcmVnaXN0ZXJlZCBhbmQg" + - "aGVhbHRoeSAoYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1c2ApLgoKSWYgdGhlIHRhc2sgbW92" + - "ZXMgdG8gYEVSUk9SRURgLCB0aGUgZXZlbnRzIG91dHB1dCBjb250YWlucyB0aGUgZmFpbHVyZSBy" + - "ZWFzb24uIEZvcgpjb250YWluZXItbGV2ZWwgZGV0YWlsLCBpbnNwZWN0IHRoZSB0YXNrIHdvcmts" + - "b2FkIHBvZHMgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlciB3aXRoCmBrdWJlY3RsYCBhZ2Fp" + - "bnN0IHRoZSBhcHByb3ByaWF0ZSBuYW1lc3BhY2UgYW5kIGNvbnRleHQuCgojIyA1LiBSZXRyaWV2" + - "ZSByZXN1bHRzCgpGb3IgdGFza3Mgd2l0aCBgcmVzdWx0SGFuZGxpbmdTdHJhdGVneTogTk9ORWAs" + - "IHJlc3VsdHMgYXJlIGVtcHR5IGJ5IGRlc2lnbjoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0" + - "cyA8dGFza19pZD4KIyAtPiB7InJlc3VsdHMiOiBbXX0KYGBgCgpGb3IgdGFza3Mgd2l0aCBgcmVz" + - "dWx0SGFuZGxpbmdTdHJhdGVneTogVVBMT0FEYCwgcmVzdWx0cyB1cGxvYWQgdG8gdGhlIGxvY2F0" + - "aW9uIG5hbWVkIGluCmByZXN1bHRzTG9jYXRpb25gLiBUaGUgdGFzaydzIGNyZWRlbnRpYWxzIG11" + - "c3QgaGF2ZSB3cml0ZSBhY2Nlc3MgdG8gdGhhdCBsb2NhdGlvbi4gQWZ0ZXIKdGhlIHRhc2sgcmVh" + - "Y2hlcyBgQ09NUExFVEVEYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyA8dGFza19pZD4K" + - "YGBgCgpOb3RlOiByZXN1bHQgdXBsb2FkIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGluIHRoaXMgcmVs" + - "ZWFzZS4KCiMjIDYuIENsZWFudXAKCkNhbmNlbCBhIHJ1bm5pbmcgdGFzazoKCmBgYHNoCm52Y2Yt" + - "Y2xpIHRhc2sgY2FuY2VsIDx0YXNrX2lkPgpgYGAKCkRlbGV0ZSB0aGUgdGFzayByZWNvcmQgYWZ0" + - "ZXIgaXQgcmVhY2hlcyBhIHRlcm1pbmFsIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBkZWxl" + - "dGUgPHRhc2tfaWQ+CmBgYAoKU3RvcCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBy" + - "dW5uaW5nIHRhc2sgZGVsZXRlLiBTdGF0ZSB0aGUgdGFzayBJRCBhbmQgaXRzIGN1cnJlbnQgc3Rh" + - "dHVzLiBEbyBub3QgcHJvY2VlZCBldmVuIHdoZW4gdGhlIHVzZXIncyBwcm9tcHQgYWxyZWFkeSBy" + - "ZXF1ZXN0ZWQgZGVsZXRpb24g4oCUIGFsd2F5cyBnZXQgYW4gZXhwbGljaXQgbGFzdC1sb29rIGNv" + - "bmZpcm1hdGlvbi4gRGVsZXRpb24gaXMgcGVybWFuZW50IGFuZCBjYW5ub3QgYmUgdW5kb25lLgoK" + - "VG8gbGlzdCBhbGwgdGFza3MgZm9yIHRoZSBjdXJyZW50IG93bmVyICh1c2VmdWwgYmVmb3JlIGJ1" + - "bGsgY2xlYW51cCk6CgpgYGBzaApudmNmLWNsaSB0YXNrIGxpc3QKbnZjZi1jbGkgdGFzayBsaXN0" + - "IC0tc3RhdHVzPUNPTVBMRVRFRApgYGAKCiMjIE5vdGVzCgotIEdQVSBmYW1pbHkgYW5kIGluc3Rh" + - "bmNlIHR5cGUgbXVzdCBtYXRjaCBhIHJlZ2lzdGVyZWQgY29tcHV0ZSBjbHVzdGVyIFNLVS4gTWlz" + - "bWF0Y2gKICBjYXVzZXMgdGhlIHRhc2sgdG8gcmVtYWluIGBRVUVVRURgIGluZGVmaW5pdGVseS4g" + - "VXNlIGBudmNmLWNsaSBjbHVzdGVyIGxpc3RgIHRvIGNoZWNrCiAgcmVnaXN0ZXJlZCBTS1VzLgot" + - "IEZvciBjb250YWluZXIgaW1hZ2VzIG9uIHByaXZhdGUgcmVnaXN0cmllcywgZW5zdXJlIHRoZSBj" + - "b21wdXRlLXBsYW5lIGNsdXN0ZXIncwogIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGlzIGNvbmZp" + - "Z3VyZWQgZm9yIHRoZSByZWdpc3RyeSBob3N0LgpQSwcI1N6NNJ8ZAACfGQAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBs" + - "b3ktYW5kLWludm9rZS5tZFVUBQABAKbOEiMgRGVwbG95IGFuZCBpbnZva2UgYSBjb250YWluZXIg" + - "ZnVuY3Rpb24KClN0YW5kYXJkIGZvdXItc3RlcCBmbG93OiBmdW5jdGlvbiBDUkVBVEUg4oaSIERF" + - "UExPWSDihpIgQVBJIGtleSAoZm9yIGludm9rZSBzY29wZSkg4oaSIElOVk9LRS4KCiMjIDEuIEZ1" + - "bmN0aW9uIENSRUFURQoKRGVmaW5lIHRoZSBmdW5jdGlvbiBpbiBhIEpTT04gZmlsZS4gTWluaW11" + - "bToKCkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0" + - "aW9uIG5hbWUgYW5kIGNvbnRhaW5lciBpbWFnZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFs" + - "dWUgaXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFt" + - "cGxlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZp" + - "cm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29u" + - "dGFpbmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvZWNobyIsCiAgImluZmVyZW5jZVBv" + - "cnQiOiA4MDAwLAogICJkZXNjcmlwdGlvbiI6ICJzbW9rZSB0ZXN0IGVjaG8gZnVuY3Rpb24iLAog" + - "ICJmdW5jdGlvblR5cGUiOiAiREVGQVVMVCIsCiAgImFwaUJvZHlGb3JtYXQiOiAiQ1VTVE9NIiwK" + - "ICAiaGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRo" + - "IiwKICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3Rl" + - "ZFN0YXR1c0NvZGUiOiAyMDAKICB9Cn0KYGBgCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVh" + - "dGUgLS1pbnB1dC1maWxlPWNyZWF0ZS1mbi5qc29uCiMg4oaSIEZ1bmN0aW9uIElEOiA8Zm5faWQ+" + - "CiMg4oaSIFZlcnNpb24gSUQ6IDx2ZXJfaWQ+CmBgYAoKU2F2ZSB0aGUgSURzIOKAlCB0aGV5J3Jl" + - "IG5lZWRlZCBmb3IgZGVwbG95ICsgaW52b2tlLgoKIyMjIExMTSBmdW5jdGlvbiB2YXJpYW50CgpG" + - "b3IgYW4gT3BlbkFJLWNvbXBhdGlibGUgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTog" + - "IkxMTSJgIGFuZCBwdXQgcm91dGUgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2A6" + - "CgpCZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlv" + - "biBuYW1lLCBjb250YWluZXIgaW1hZ2UsIGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElm" + - "IGFueSB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3Vi" + - "bWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6" + - "ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNvbmZp" + - "cm1lZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVu" + - "Y2VQb3J0IjogODAwMCwKICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAg" + - "ICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgw" + - "MDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAw" + - "CiAgfSwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29uZmlybWVkLW1vZGVs" + - "LW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6IFsiL3YxL2NoYXQv" + - "Y29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5ncyJdLAogICAgICAg" + - "ICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9rZW5SYXRlTGltaXQi" + - "OiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVudCBDTEkgZmxhZyBm" + - "b3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5hbWU9Ijxjb25maXJt" + - "ZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWltYWdlPSI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFn" + - "ZT4iIFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAgLS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAt" + - "LWhlYWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFsdGgtcG9ydD04MDAwIFwKICAtLWhlYWx0aC10" + - "aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90b2NvbD1IVFRQIFwKICAtLWhlYWx0aC1leHBl" + - "Y3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9uLXR5cGU9TExNIFwKICAtLWxsbS1tb2RlbD0n" + - "bmFtZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8L3Yx" + - "L3Jlc3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRva2Vu" + - "UmF0ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhlIHNhbWUgZGVwbG95IHN0ZXAgYmVsb3cgYWZ0" + - "ZXIgdGhlIExMTSBmdW5jdGlvbiBpcyBjcmVhdGVkLgoKT3B0aW9uYWwgbW9kZWwgcm91dGluZyB1" + - "cGRhdGUgYWZ0ZXIgY3JlYXRpb246CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiB1cGRhdGUgXAog" + - "IC0tZnVuY3Rpb24taWQ9PGZuX2lkPiBcCiAgLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+IFwKICAtLWxs" + - "bS1tb2RlbC11cGRhdGU9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPixyb3V0aW5nTWV0aG9k" + - "PXBvd2VyX29mX3R3byx0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoaXMgZm9yIG11" + - "dGFibGUgYHJvdXRpbmdNZXRob2RgIGFuZCBgdG9rZW5SYXRlTGltaXRgOyBjcmVhdGUtdGltZSBg" + - "dXJpc2Agc3RheSBpbiBgbW9kZWxzW10ubGxtQ29uZmlnYC4KYHRva2VuUmF0ZUxpbWl0YCBzdXBw" + - "b3J0cyBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBmb3IgYFNgLCBgTWAsIGBIYCwgYERg" + - "LCBhbmQgYFdgLiBVc2UgYDEwMDAtU2AgZm9yIGEgc2luZ2xlIGlubGluZSBDTEkgbGltaXQuIFVz" + - "ZSBpbnB1dCBKU09OIGZvciBjb21iaW5lZCBsaW1pdHMsIHN1Y2ggYXMgYDEwMDAtUyw1MDAwLU0s" + - "MTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCwgYmVjYXVzZSBpbmxpbmUgbW9kZWwgc3BlY3Mg" + - "dXNlIGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLgoKIyMjIEhlbG0gY2hhcnQgTExNIGZ1bmN0" + - "aW9uIHZhcmlhbnQKCkxMTSBmdW5jdGlvbiB0eXBlIGlzIGluZGVwZW5kZW50IG9mIHdvcmtsb2Fk" + - "IHBhY2thZ2luZy4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBrZWVwIHRo" + - "ZSBzYW1lIGBmdW5jdGlvblR5cGVgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmaWVsZHMsIHRo" + - "ZW4gc2V0IGBoZWxtQ2hhcnRgIGFuZCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLiBUaGUgc2Vydmlj" + - "ZSBuYW1lIG11c3QgbWF0Y2ggYSBLdWJlcm5ldGVzIFNlcnZpY2UgcmVuZGVyZWQgYnkgdGhlIGNo" + - "YXJ0LCBhbmQgYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQuCgpCZWZv" + - "cmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1l" + - "IGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5n" + - "LCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZv" + - "ciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9u" + - "LW5hbWU+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwK" + - "ICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJI" + - "VFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91" + - "dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfSwKICAiaGVsbUNo" + - "YXJ0IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29w" + - "ZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiIsCiAgImhlbG1DaGFydFNlcnZpY2VOYW1lIjogIm9w" + - "ZW5haS1jb21wYXRpYmxlIiwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29u" + - "ZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6" + - "IFsiL3YxL2NoYXQvY29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5n" + - "cyJdLAogICAgICAgICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9r" + - "ZW5SYXRlTGltaXQiOiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVu" + - "dCBDTEkgZmxhZyBmb3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5h" + - "bWU9Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAg" + - "LS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWhlYWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFs" + - "dGgtcG9ydD04MDAwIFwKICAtLWhlYWx0aC10aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90" + - "b2NvbD1IVFRQIFwKICAtLWhlYWx0aC1leHBlY3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9u" + - "LXR5cGU9TExNIFwKICAtLWhlbG0tY2hhcnQ9aHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4" + - "YW1wbGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IFwKICAtLWhlbG0t" + - "Y2hhcnQtc2VydmljZT1vcGVuYWktY29tcGF0aWJsZSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNv" + - "bmZpcm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25z" + - "ZXN8L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1p" + - "dD0xMDAwLVMnCmBgYAoKRGVwbG95IGlzIHVuY2hhbmdlZC4gUHV0IGNoYXJ0LXNwZWNpZmljIHZh" + - "bHVlcyB1bmRlciBgZGVwbG95bWVudFNwZWNpZmljYXRpb25zW10uY29uZmlndXJhdGlvbmAgb25s" + - "eSB3aGVuIHRoZSBjaGFydCBuZWVkcyB2YWx1ZSBvdmVycmlkZXM6CgpgYGBqc29uCnsKICAiZnVu" + - "Y3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95" + - "bWVudFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VU" + - "eXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJ" + - "bnN0YW5jZXMiOiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwLAogICAgImNvbmZp" + - "Z3VyYXRpb24iOiB7CiAgICAgICJzZXJ2aW5nIjogewogICAgICAgICJ0ZW5zb3JQYXJhbGxlbFNp" + - "emUiOiAxCiAgICAgIH0KICAgIH0KICB9XQp9CmBgYAoKTExNIEdhdGV3YXkgcm91dGVzIHJlcXVl" + - "c3RzIGJ5IHRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZS4gVXNlIGA8ZnVuY3Rpb24taWQ+Lzxtb2Rl" + - "bC1uYW1lPmA6IHRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQg" + - "dGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHRvIHRoZSB1cHN0cmVhbSBjb250YWluZXIgdGhy" + - "b3VnaCBgc3RhcmdhdGUtY2xpZW50YC4KClN1cHBvcnRlZCBMTE0gcGF0aHM6Cgp8IFBhdGggfCBO" + - "b3RlcyB8CnwgLS0tIHwgLS0tIHwKfCBgL3YxL2NoYXQvY29tcGxldGlvbnNgIHwgU3VwcG9ydHMg" + - "c3RyZWFtaW5nIGFuZCBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL3Jlc3BvbnNlc2AgfCBO" + - "YXRpdmUgUmVzcG9uc2VzIHByb3h5IHBhdGg7IHJlbGF5cyBTU0UgZm9yIHN0cmVhbWluZyBjbGll" + - "bnRzIGFuZCByZXR1cm5zIHRlcm1pbmFsIEpTT04gZm9yIG5vbi1zdHJlYW1pbmcgY2xpZW50cy4g" + - "U3VwcG9ydHMgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9lbWJlZGRpbmdzYCB8IEFjY2Vw" + - "dHMgc3RyaW5nIG9yIHN0cmluZy1hcnJheSBgaW5wdXRgOyBpbnB1dCBtdXN0IGJlIG5vbi1lbXB0" + - "eSBhbmQgbWF5IGNvbnRhaW4gYXQgbW9zdCAyMDQ4IGVudHJpZXMuIE5vIHNlc3Npb24gc3RpY2tp" + - "bmVzcy4gfAoKIyMgMi4gRnVuY3Rpb24gREVQTE9ZCgpgYGBqc29uCnsKICAiZnVuY3Rpb25JZCI6" + - "ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVudFNwZWNp" + - "ZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5D" + - "UC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0YW5jZXMi" + - "OiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwCiAgfV0KfQpgYGAKCk5vdGU6IGBn" + - "cHVgIGlzIHRoZSBHUFUgKipmYW1pbHkqKiAoZS5nLiBgSDEwMGApLCBgaW5zdGFuY2VUeXBlYCBp" + - "cyB0aGUgU0tVIChlLmcuIGBOQ1AuR1BVLkgxMDBfMXhgKS4gTWlzbWF0Y2ggcmV0dXJucyBJQ01T" + - "IDQwMCAiSW52YWxpZCBHUFUiLgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0" + - "ZSAtLWlucHV0LWZpbGU9ZGVwbG95LWZuLmpzb24KYGBgCgpUaGlzIGNvbW1hbmQgKipibG9ja3Mq" + - "KiB1bnRpbCB0aGUgZGVwbG95bWVudCByZWFjaGVzIEFDVElWRSAoZGVmYXVsdCA5MDBzIHRpbWVv" + - "dXQpLiBXaGVuIGl0IHJldHVybnMgcmM9MCwgYSBmdW5jdGlvbiBwb2QgaXMgcnVubmluZyBpbiB0" + - "aGUgYG52Y2YtYmFja2VuZGAgbmFtZXNwYWNlIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIu" + - "CgojIyAzLiBNaW50IGFuIEFQSSBrZXkgd2l0aCBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZQoKYG52" + - "Y2YtY2xpIGluaXRgJ3MgYWRtaW4gdG9rZW4gZG9lcyBOT1QgY2FycnkgdGhlIGBpbnZva2VfZnVu" + - "Y3Rpb25gIHNjb3BlIOKAlCBpbnZva2Ugd291bGQgNDAzIHdpdGggIm1pc3NpbmcgcmVxdWVzdGVk" + - "IGF1dGhvcml0aWVzIi4gTWludCBhbiBBUEkga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBn" + - "ZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IGludm9rZSIg" + - "LS1leHBpcmVzLWluPTFoCiMg4oaSIEFQSSBLZXk6IG52YXBpLW52Y2Ytc3RnLS4uLgpgYGAKClRo" + - "ZSBrZXkgaXMgYXV0b21hdGljYWxseSBzYXZlZCB0byB0aGUgQ0xJIHN0YXRlIGZpbGUgYW5kIHVz" + - "ZWQgYnkgdGhlIG5leHQgYGZ1bmN0aW9uIGludm9rZWAgY2FsbC4gKipEb24ndCBlY2hvIHRoZSBr" + - "ZXkgaW50byBjaGF0IC8gbG9ncyoqLgoKIyMgNC4gRnVuY3Rpb24gSU5WT0tFCgpgYGBqc29uCnsK" + - "ICAiZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAi" + - "cmVxdWVzdEJvZHkiOiB7Im1lc3NhZ2UiOiAiaGVsbG8ifQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkg" + - "ZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1pbnZva2UtZm4uanNvbgojIOKGkiBGdW5jdGlv" + - "biBpbnZvY2F0aW9uIGNvbXBsZXRlZCEKIyDihpIgU3RhdHVzOiBmdWxmaWxsZWQKIyDihpIgUmVx" + - "dWVzdCBJRDogLi4uCmBgYAoKRm9yIGFuIExMTSBmdW5jdGlvbiwgaW52b2tlIHRoZSBPcGVuQUkt" + - "Y29tcGF0aWJsZSByb3V0ZSBhZnRlciBkZXBsb3ltZW50OgoKYGBgc2gKY3VybCAtc1MgLVggUE9T" + - "VCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9jaGF0L2NvbXBsZXRpb25zIiBc" + - "CiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29u" + - "dGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5f" + - "aWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgInN0cmVhbSI6IHRydWUsCiAgICAibWVz" + - "c2FnZXMiOiBbCiAgICAgIHsKICAgICAgICAicm9sZSI6ICJ1c2VyIiwKICAgICAgICAiY29udGVu" + - "dCI6ICJIZWxsbyIKICAgICAgfQogICAgXQogIH0nCmBgYAoKVGhlIE9wZW5BSSBgbW9kZWxgIHZh" + - "bHVlIG11c3QgYmUgYDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YCBzbyB0aGUgZ2F0ZXdheSBj" + - "YW4gc2VsZWN0IHRoZSBmdW5jdGlvbiBhbmQgbW9kZWwuCgpSZXNwb25zZXMgQVBJIGV4YW1wbGU6" + - "CgpgYGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+" + - "L3YxL3Jlc3BvbnNlcyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9L" + - "RVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAg" + - "ICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6" + - "ICJXcml0ZSBhIG9uZSBzZW50ZW5jZSBzdW1tYXJ5IG9mIE5WQ0YuIgogIH0nCmBgYAoKRW1iZWRk" + - "aW5ncyBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2Nh" + - "dGlvbi48ZG9tYWluPi92MS9lbWJlZGRpbmdzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJl" + - "ciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u" + - "IiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4i" + - "LAogICAgImlucHV0IjogIk5WQ0YgZW1iZWRkaW5ncyBjaGVjayIKICB9JwpgYGAKCklmIHN0YXR1" + - "cyBpcyBgZXJyb3JlZGAsIHF1ZXJ5IElDTVMgZm9yIHRoZSBkZXBsb3ltZW50J3MgcG9kIGxvZ3Mg" + - "KGt1YmVjdGwgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcikgYW5kIHN1cmZhY2UgdG8gdGhl" + - "IHVzZXIuCgojIyA1LiBDbGVhbnVwCgpXaGVuIHRoZSB1c2VyIGlzIGRvbmUgd2l0aCB0aGUgc21v" + - "a2UgdGVzdDoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPTxm" + - "bl9pZD4gLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+CmBgYAoKKipDb25maXJtIHdpdGggdGhlIHVzZXIg" + - "YmVmb3JlIGRlbGV0aW5nLioqIFRoaXMgcmVtb3ZlcyBib3RoIHRoZSBkZXBsb3ltZW50IGFuZCB0" + - "aGUgZnVuY3Rpb24gcmVjb3JkLgoKIyMgTm90ZXMKCi0gRGVwbG95IHRpbWVzIGNhbiB2YXJ5IHdp" + - "ZGVseSBkZXBlbmRpbmcgb24gTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5IG9uIGNvbGQtY2x1c3Rl" + - "ciBydW5zICgxLTcgbWludXRlcyBvYnNlcnZlZCBpbiBkZXYtVk0gdGVzdHMpLiBCZSBwYXRpZW50" + - "OyBkb24ndCBraWxsIHRoZSBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAgY29tbWFuZCBlYXJseS4K" + - "LSBGb3IgZGlmZmVyZW50IEdQVSBmYW1pbGllcywgY2hhbmdlIGJvdGggYGdwdWAgYW5kIGBpbnN0" + - "YW5jZVR5cGVgIHRvZ2V0aGVyLiBDb21tb24gU0tVczogYE5DUC5HUFUuSDEwMF8xeGAsIGBOQ1Au" + - "R1BVLkgxMDBfMnhgLCBgTkNQLkdQVS5BMTAwXzF4YC4KLSBUaGUgZnVuY3Rpb24ncyBjb250YWlu" + - "ZXIgaW1hZ2UgbXVzdCBiZSBwdWxsYWJsZSBmcm9tIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIn" + - "cyBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgKGNoZWNrIGBrdWJlY3RsIGRlc2NyaWJl" + - "IHBvZCAtbiBudmNmLWJhY2tlbmRgIGlmIHBvZHMgbGFuZCBpbiBgSW1hZ2VQdWxsQmFja09mZmAp" + - "LgpQSwcI0kPcBBglAAAYJQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA9AAkAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQAB" + - "AKbOEiMgRGlhZ25vc2UgYSBmYWlsZWQgc2VsZi1ob3N0ZWQgTlZDRiBpbnN0YWxsCgpVc2VyIHNh" + - "eXMgIm15IGluc3RhbGwgZmFpbGVkIiBvciAiWCBpc24ndCB3b3JraW5nIi4gRG9uJ3QgZ3Vlc3Mg" + - "4oCUIHF1ZXJ5IHRoZSBjbHVzdGVyLgoKIyMgMS4gR2V0IHRoZSB2ZXJkaWN0CgpgYGBzaApudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganEgLWMgLgpgYGAKClRoZSBmaXJzdCBl" + - "dmVudCBpcyB0aGUgc25hcHNob3QuIFBhcnNlIGAudmVyZGljdGA6CgotICoqYGhlYWx0aHlgKiog" + - "4oCUIG5vdGhpbmcncyB3cm9uZy4gQXNrIHRoZSB1c2VyIHdoYXQgdGhleSdyZSBhY3R1YWxseSBz" + - "ZWVpbmc7IHRoZWlyIHByb2JsZW0gbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIChmdW5jdGlv" + - "biBkZXBsb3ksIG5ldHdvcmssIGV0Yy4pLgotICoqYGRlZ3JhZGVkYCoqIOKAlCBhdCBsZWFzdCBv" + - "bmUgY29tcG9uZW50IG5vdCByZWFkeS4gVGhlIENvbXBvbmVudHMgbGlzdCB3aWxsIGlkZW50aWZ5" + - "IHdoaWNoLiBNb3N0IGNvbW1vbjogYGNhc3NhbmRyYWAgUG9kSW5pdGlhbGl6aW5nLCBgb3BlbmJh" + - "b2Agbm90IHVuc2VhbGVkLCBgc2lzYCBJbWFnZVB1bGxCYWNrT2ZmLgotICoqYGZhaWxlZGAqKiDi" + - "gJQgTlZDRkJhY2tlbmQgYEhlYWx0aD1GYWlsZWRgLiBSZWFkIHRoZSBjbHVzdGVyJ3MgTlZDRkJh" + - "Y2tlbmQgc3RhdHVzIGNvbmRpdGlvbiBtZXNzYWdlLgotICoqYHVua25vd25gKiog4oCUIElDTVMg" + - "dW5yZWFjaGFibGUuIFRoZSBjb250cm9sIHBsYW5lIGl0c2VsZiBtYXkgYmUgZG93bjsgY2hlY2sg" + - "YGt1YmVjdGwgZ2V0IHBvZHMgLW4gc2lzYCBkaXJlY3RseS4KCiMjIDIuIERyaWxsIGludG8gdGhl" + - "IGZhaWxpbmcgY29tcG9uZW50CgpGb3IgZWFjaCBub24tcmVhZHkgY29tcG9uZW50LCB0aGUgc25h" + - "cHNob3QgaW5jbHVkZXMgYSBgbWVzc2FnZWAgKGUuZy4gYGNhc3NhbmRyYS0wIFBvZEluaXRpYWxp" + - "emluZyA2bTIzc2ApLiBBc2sgdGhlIHVzZXIgdG8gcnVuOgoKYGBgc2gKa3ViZWN0bCBkZXNjcmli" + - "ZSBwb2QgLW4gPG5zPiA8cG9kPgprdWJlY3RsIGxvZ3MgLW4gPG5zPiA8cG9kPiAtLWFsbC1jb250" + - "YWluZXJzIC0tdGFpbD0xMDAKYGBgCgpTdXJmYWNlIHRoZSBldmVudHMgKyBsYXN0IGxvZyBsaW5l" + - "cy4gRG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUgcG9kYCB1bmxlc3MgdGhlIHVzZXIgY29u" + - "ZmlybXMg4oCUIENhc3NhbmRyYSByZXN0YXJ0IGxvc2VzIGFueSBpbi1wcm9ncmVzcyBtaWdyYXRp" + - "b24uCgojIyAzLiBDb21tb24gcGF0dGVybnMKCnwgU3ltcHRvbSB8IExpa2VseSBjYXVzZSB8IFJl" + - "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmdg" + - "IGZvciA+NSBtaW4gfCBTdG9yYWdlQ2xhc3MgbWlzc2luZyBvciBQViBzdHVjayBgUGVuZGluZ2Ag" + - "fCBga3ViZWN0bCBnZXQgcHYscHZjIC1BYCDigJQgY29uZmlybSBhIGRlZmF1bHQgU3RvcmFnZUNs" + - "YXNzIGV4aXN0cy4gTG9jYWwgZGV2OiBga3ViZWN0bCBwYXRjaCBzdG9yYWdlY2xhc3MgbG9jYWwt" + - "cGF0aCAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJu" + - "ZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCB8CnwgYGhlbG0gaW5zdGFsbCAu" + - "Li46IHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmEgdG8gYmVjb21lIGF2YWlsYWJsZWAg" + - "fCBTYW1lIGFzIGFib3ZlIHwgU2FtZSB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxl" + - "ZGAgKHByZWZsaWdodCkgfCBNdWx0aS1jbHVzdGVyIGBudmNmLWdhdGV3YXktcm91dGVzYCBjaGFy" + - "dCBuZWVkcyBlbnZveS1nYXRld2F5IHByZXJlcXVpc2l0ZSB8IEluc3RhbGwgZW52b3ktZ2F0ZXdh" + - "eTogYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhl" + - "bG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8" + - "CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+" + - "YCAoTlZDQSBhZ2VudCkgfCBDb21wdXRlIHBsYW5lJ3MgUFNBVCB3YXMgaXNzdWVkIGJ5IGEgSzhz" + - "IHNlcnZlciB3aG9zZSBKV0tTIGRvZXNuJ3QgbWF0Y2ggd2hhdCdzIHN0b3JlZCBpbiBJQ01TIHwg" + - "UmUtcmVnaXN0ZXI6IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAg" + - "ZnJvbSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJ" + - "IHwKfCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9y" + - "IG5vIG1hdGNoaW5nIGtleShzKSBmb3VuZGAgKGluaXQgLyBjbHVzdGVyIHJlZ2lzdGVyKSB8IFN0" + - "YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8u" + - "bnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgbnZjYS1vcGVy" + - "YXRvcmAgSW1hZ2VQdWxsQmFja09mZiBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + - "b3QgaW4gY2x1c3RlciAobXVsdGktY2x1c3RlciB0b3BvbG9neSBidWlsZHMgaXQgbG9jYWxseSkg" + - "fCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNs" + - "dXN0ZXI+YCAob3Igd2hhdGV2ZXIgeW91ciBpbWFnZSBwdXNoIHBhdGggaXMpIHwKfCBgcmVxdWly" + - "ZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yKSB8IE9sZGVyIG52Y2Yt" + - "Y2xpOyB0aGUgZW52IHByb3BhZ2F0aW9uIGZpeCBsYW5kZWQgaW4gTSs1IGZvbGxvdy11cHMgfCBV" + - "cGdyYWRlIGBudmNmLWNsaWAgdG8gYSB2ZXJzaW9uIGFmdGVyIGA2YWE1NzA0YCB8CgojIyA0LiBX" + - "aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHN0YXJ0IG92ZXIKCklmIHRoZXkgY29uZmlybSBhIHRlYXJk" + - "b3duOgoKLSBTaW5nbGUtY2x1c3RlcjogYGNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrICYmIG1h" + - "a2UgZGVzdHJveWAgKG9yIGBoZWxtIHVuaW5zdGFsbGAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZSBv" + - "cmRlcikuCi0gTXVsdGktY2x1c3RlcjogYGhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4g" + - "bnZjYS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgcGxhbmUgRklSU1Q7IHRoZW4gY29udHJvbCBw" + - "bGFuZTsgdGhlbiBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxpZD5gIHRv" + - "IHJlbW92ZSB0aGUgSUNNUyByb3cuCgpBbHdheXMgY29uZmlybSBiZWZvcmUgYW55IHRlYXJkb3du" + - "IOKAlCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIGRlbGV0aW9uIGlzIGRlc3RydWN0aXZlIGFu" + - "ZCBsb3NlcyBjbHVzdGVyX29pZGMgcm93cy4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3Qg" + - "cHJvcG9zZSBgLS1kZWJ1Z2AgYXMgYSBmaXguKiogSXQncyBkaWFnbm9zdGljIG9ubHkuCi0gKipE" + - "b24ndCBwcm9wb3NlIGBoZWxtIHVuaW5zdGFsbGAqKiB1bmxlc3MgdGhlIHVzZXIgZXhwbGljaXRs" + - "eSBhc2tlZCB0byBzdGFydCBvdmVyLgotICoqRG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUg" + - "cHZjYCoqIGV2ZXIgd2l0aG91dCBjb25maXJtYXRpb24g4oCUIGl0IGRlbGV0ZXMgdGhlIHVuZGVy" + - "bHlpbmcgUFYuCi0gKipEb24ndCByZS1ydW4gYHVwYCB3aXRoIGRpZmZlcmVudCBpbnB1dHMqKiB0" + - "byAic2VlIHdoYXQgaGFwcGVucyIuIERpYWdub3NlIHdpdGggYHN0YXR1c2AgLyBga3ViZWN0bCBk" + - "ZXNjcmliZWAgZmlyc3QuClBLBwhykiwmvg4AAL4OAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ADoACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3Jh" + - "dGNoLm1kVVQFAAEAps4SIyBJbnN0YWxsIHNlbGYtaG9zdGVkIE5WQ0YgZnJvbSBzY3JhdGNoCgpV" + - "c2VyIHdhbnRzIHRvIGJyaW5nIHVwIHNlbGYtaG9zdGVkIE5WQ0Ygb24gYSBmcmVzaCBLdWJlcm5l" + - "dGVzIGNsdXN0ZXIgKG9yIGszZCBmb3IgbG9jYWwgZGV2KS4gVGhpcyBpcyB0aGUgbW9zdCBjb21t" + - "b24gZW50cnlwb2ludC4KCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSB0b3BvbG9neS4gQXNrIHRo" + - "ZSB1c2VyOgogICAtICJTaW5nbGUtY2x1c3RlciAoY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBw" + - "bGFuZSBvbiBvbmUgY2x1c3Rlciwgc2ltcGxlcikgb3Igc3BsaXQgKGNvbnRyb2wgcGxhbmUgb24g" + - "Y2x1c3RlciBBLCBjb21wdXRlIHBsYW5lIG9uIGNsdXN0ZXIgQiwgcHJvZHVjdGlvbi1zaGFwZWQp" + - "PyIKICAgLSAiV2hhdCdzIHRoZSBjbHVzdGVyIG5hbWUgKHRoZSBgLS1jbHVzdGVyLW5hbWVgIGZs" + - "YWcsIGJlY29tZXMgdGhlIElDTVMgcm93IGlkZW50aWZpZXIpPyBFeGFtcGxlczogYG5jcC1sb2Nh" + - "bGAgZm9yIGxvY2FsIGRldiwgYHByb2QtdXMtZWFzdC0xYCBmb3IgcHJvZHVjdGlvbi4iCiAgIC0g" + - "Rm9yIHNwbGl0OiAiQ29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGNvbnRleHQgbmFtZT8gQ29tcHV0" + - "ZS1wbGFuZSBjb250ZXh0PyBQdWJsaWMgSUNNUyBVUkw/IgoKMi4gUHJlcGFyZSByZW1vdGUgR2F0" + - "ZXdheSBhbmQgQ0xJIGNvbmZpZyBpZiB0aGlzIGlzIG5vdCBsb2NhbCBrM2QuIE9uZS1jbGljawog" + - "ICBhcHBsaWVzIHRoZSBjb250cm9sIHBsYW5lLCB0aGVuIGltbWVkaWF0ZWx5IGNhbGxzIEFQSSwg" + - "QVBJIEtleXMsIGludm9jYXRpb24sCiAgIGFuZCBnUlBDIGVuZHBvaW50cy4gRm9yIHJlbW90ZSBj" + - "bHVzdGVycywgdGhlIEdhdGV3YXkgbXVzdCBiZSBwcm9ncmFtbWVkIGFuZAogICB0aGUgQ0xJIGNv" + - "bmZpZyBtdXN0IHBvaW50IGF0IHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIgYmVmb3JlIGB1cGAg" + - "cnVucy4KCiAgIElmIEdhdGV3YXkgQVBJIGluZ3Jlc3MgaXMgbm90IGFscmVhZHkgcHJlc2VudCwg" + - "Y3JlYXRlIGl0IGZpcnN0LiBUaGVzZSBhcmUgdGhlCiAgIHNoYXJlZCBHYXRld2F5IHNldHVwIHN0" + - "ZXBzIHVzZWQgYnkgb25lLWNsaWNrLCBIZWxtZmlsZSwgYW5kIHN0YW5kYWxvbmUgY2hhcnQKICAg" + - "aW5zdGFsbCBwYXRoczoKCiAgIGBgYHNoCiAgIGt1YmVjdGwgYXBwbHkgLWYgaHR0cHM6Ly9naXRo" + - "dWIuY29tL2t1YmVybmV0ZXMtc2lncy9nYXRld2F5LWFwaS9yZWxlYXNlcy9kb3dubG9hZC92MS4y" + - "LjAvZXhwZXJpbWVudGFsLWluc3RhbGwueWFtbAoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1n" + - "YXRld2F5LXN5c3RlbSBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAg" + - "ICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBkb25lCgogICBmb3IgbmFtZXNwYWNlIGlu" + - "IGVudm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgbGFi" + - "ZWwgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiBudmNmL3BsYXRmb3JtPXRydWUgLS1vdmVyd3JpdGUK" + - "ICAgZG9uZQoKICAgaGVsbSB1cGdyYWRlIC0taW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52" + - "b3lwcm94eS9nYXRld2F5LWhlbG0gXAogICAgIC0tdmVyc2lvbiB2MS4xLjMgXAogICAgIC1uIGVu" + - "dm95LWdhdGV3YXktc3lzdGVtCiAgIGBgYAoKICAgQmVmb3JlIGFwcGx5aW5nIHRoZSBgRW52b3lQ" + - "cm94eWAsIGRldGVybWluZSB3aGljaCBTZXJ2aWNlIGNvbnRyb2xsZXIgb3ducwogICBsb2FkIGJh" + - "bGFuY2VycyBvbiBFS1MuIERvIG5vdCBhcHBseSB0aGUgbWFuaWZlc3QgdW50aWwgeW91IGhhdmUg" + - "c2VsZWN0ZWQgdGhlCiAgIG1hdGNoaW5nIGBlbnZveVNlcnZpY2VgIGNvbmZpZ3VyYXRpb24uIFVz" + - "ZSB0aGUgRUtTIEFQSSBhbmQgdGhlIGluLWNsdXN0ZXIKICAgY29udHJvbGxlciBEZXBsb3ltZW50" + - "IGluc3RlYWQgb2YgZ3Vlc3NpbmcgZnJvbSB0aGUgY2x1c3RlciBhZ2Ugb3IgZXhpc3RpbmcKICAg" + - "U2VydmljZXM6CgogICBgYGBzaAogICBleHBvcnQgRUtTX0NMVVNURVJfTkFNRT0iPGNsdXN0ZXIt" + - "bmFtZT4iCgogICBhd3MgZWtzIGRlc2NyaWJlLWNsdXN0ZXIgLS1uYW1lICIkRUtTX0NMVVNURVJf" + - "TkFNRSIgXAogICAgIC0tcXVlcnkgJ2NsdXN0ZXIua3ViZXJuZXRlc05ldHdvcmtDb25maWcuZWxh" + - "c3RpY0xvYWRCYWxhbmNpbmcuZW5hYmxlZCcgXAogICAgIC0tb3V0cHV0IHRleHQKICAga3ViZWN0" + - "bCAtbiBrdWJlLXN5c3RlbSBnZXQgZGVwbG95bWVudCBhd3MtbG9hZC1iYWxhbmNlci1jb250cm9s" + - "bGVyCiAgIGBgYAoKICAgQW4gRUtTIEFQSSByZXN1bHQgb2YgYFRydWVgIHNlbGVjdHMKICAgW0VL" + - "UyBBdXRvIE1vZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9la3MvbGF0ZXN0L3VzZXJn" + - "dWlkZS9hdXRvLWNvbmZpZ3VyZS1ubGIuaHRtbCkuCiAgIE90aGVyd2lzZSwgYSBzdWNjZXNzZnVs" + - "IERlcGxveW1lbnQgbG9va3VwIHNlbGVjdHMgdGhlIEFXUyBMb2FkIEJhbGFuY2VyCiAgIENvbnRy" + - "b2xsZXIuIElmIG5laXRoZXIgaXMgcHJlc2VudCwgY29uZmlybSB0aGF0IHRoZSBjbHVzdGVyIGlu" + - "dGVudGlvbmFsbHkKICAgdXNlcyB0aGUgbGVnYWN5IEFXUyBjbG91ZCBwcm92aWRlciBTZXJ2aWNl" + - "IGNvbnRyb2xsZXIsIG9yIGluc3RhbGwgdGhlIEFXUwogICBMb2FkIEJhbGFuY2VyIENvbnRyb2xs" + - "ZXIsIGJlZm9yZSBhcHBseWluZyB0aGUgZXhhbXBsZS4KCiAgIFRoZSBhcHBsaWVkIG1hbmlmZXN0" + - "IGJlbG93IGlzIGZvciB0aGUgQVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlci4gRm9yIEVLUwog" + - "ICBBdXRvIE1vZGUsIHJlcGxhY2UgaXRzIGBlbnZveVNlcnZpY2VgIG1hcCBiZWZvcmUgYXBwbHlp" + - "bmcgaXQgd2l0aDoKCiAgIGBgYHlhbWwKICAgZW52b3lTZXJ2aWNlOgogICAgIGxvYWRCYWxhbmNl" + - "ckNsYXNzOiBla3MuYW1hem9uYXdzLmNvbS9ubGIKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNl" + + "IHRoZSBjb21wdXRlIHBsYW5lIGFzIGluc3RhbGxlZCwgc28gYSBkb2NrZXIgbG9naW4KIyB3aXRo" + + "IG5vIGFjY2VzcyB0byB0aGUgb3JnIG9mIHRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0cyBwYXNzZXMg" + + "d2hlcmUKIyBOR0NfQVBJX0tFWSByZWFjaGVzIGl0OiB0cmVhdCBhIHJlZ2lzdHJ5LWNyZWRlbnRp" + + "YWxzIHJvdyB0aGF0IHNheXMgdGhlCiMgZG9ja2VyIGxvZ2luIGhhcyBubyBhY2Nlc3MgYXMgYmxv" + + "Y2tpbmcsIHNpbmNlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBwdWxscwojIGl0cyBjaGFydHMgd2l0" + + "aCB0aGF0IGxvZ2luLiBBIGRvY2tlciBsb2dpbiBudmNyLmlvIHJlamVjdHMgZmFpbHMgZWl0aGVy" + + "IHdheS4KIyBXaXRoIGEgY29udHJvbC1wbGFuZSBjb250ZXh0LCBjaGVjayAtLXByZSAtLWNvbnRy" + + "b2wtcGxhbmUgY2hlY2tzIHRoZSBuZXcKIyBjb21wdXRlIHBsYW5lIGFzIG5vdCB5ZXQgaW5zdGFs" + + "bGVkIGluc3RlYWQ7IHNlZSBwcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kLgpLQz0kKG1rdGVt" + + "cCkKa3ViZWN0bCBjb25maWcgdmlldyAtLW1pbmlmeSAtLWZsYXR0ZW4gLS1jb250ZXh0PWFkbWlu" + + "QGdwdTEgPiAiJEtDIgpLVUJFQ09ORklHPSIkS0MiIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNr" + + "IC0tY29tcHV0ZS1wbGFuZSBcCiAgLS1pY21zLXVybD1odHRwczovL2ljbXMubnZjZi5leGFtcGxl" + + "LmNvbSBcCiAgLS1qc29uCgojIFJlZ2lzdGVyIGFuZCBpbnN0YWxsIGp1c3QgdGhlIGNvbXB1dGUg" + + "cGxhbmUsIGZyb20gdGhlIHByb2ZpbGUgdGhlCiMgY29udHJvbC1wbGFuZSBvcGVyYXRvciBleHBv" + + "cnRlZCB3aXRoIGBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgZXhwb3J0YCwKIyBz" + + "YXZlZCBoZXJlIGFzIGNvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sOgpudmNmLWNsaSBzZWxmLWhv" + + "c3RlZCBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyIFwKICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWU9bXktY29tcHV0ZS0x" + + "IFwKICAtLWt1YmUtY29udGV4dD1hZG1pbkBncHUxIFwKICAtLWljbXMtdXJsPWh0dHBzOi8vaWNt" + + "cy5udmNmLmV4YW1wbGUuY29tIFwKICAtLXRva2VuPSRBRE1JTl9KV1QgXAogIC0tb3V0cHV0PW15" + + "LWNvbXB1dGUtMS1yZWdpc3Rlci12YWx1ZXMueWFtbApudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21w" + + "dXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzPW15LWNvbXB1dGUtMS1yZWdpc3Rlci12YWx1" + + "ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQ9YWRtaW5AZ3B1MSBcCiAgLS1jbHVzdGVyLW5hbWU9" + + "bXktY29tcHV0ZS0xCgojIFN0YXR1cyBvZiBhZG1pbkBncHUxLCBmcm9tIHRoZSBzYW1lIGt1YmVj" + + "b25maWcgKGNvbXB1dGUtb25seTogdGhlIG9wZXJhdG9yCiMgY2FuJ3Qgc2VlIGNvbnRyb2wtcGxh" + + "bmUgY29tcG9uZW50IGhlYWx0aCkuIFRoZW4gcmVtb3ZlIHRoZSBmaWxlLCB3aGljaAojIGhvbGRz" + + "IHRoZSBjb250ZXh0J3MgY3JlZGVudGlhbHM6CktVQkVDT05GSUc9IiRLQyIgbnZjZi1jbGkgc2Vs" + + "Zi1ob3N0ZWQgc3RhdHVzIFwKICAtLWNsdXN0ZXItbmFtZT1teS1jb21wdXRlLTEgXAogIC0taWNt" + + "cy11cmw9aHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb20Kcm0gLWYgIiRLQyIKYGBgCgojIyBG" + + "dW5jdGlvbnMgdGFyZ2V0aW5nIHNwZWNpZmljIGNvbXB1dGUgcGxhbmVzCgpXaGVuIHlvdSBoYXZl" + + "IG11bHRpcGxlIGNvbXB1dGUgcGxhbmVzIGFuZCB3YW50IGEgZnVuY3Rpb24gdG8gZGVwbG95IHRv" + + "IG9uZToKCmBgYGpzb24KewogICJmdW5jdGlvbklkIjogIjxmbl9pZD4iLAogICJ2ZXJzaW9uSWQi" + + "OiAiPHZlcl9pZD4iLAogICJkZXBsb3ltZW50U3BlY2lmaWNhdGlvbnMiOiBbewogICAgImdwdSI6" + + "ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAgICJtaW5J" + + "bnN0YW5jZXMiOiAxLAogICAgIm1heEluc3RhbmNlcyI6IDEsCiAgICAiY2x1c3RlcnMiOiBbImdw" + + "dS1lYXN0LTEiXQogIH1dCn0KYGBgCgpUaGUgYGNsdXN0ZXJzYCBhcnJheSAodXNpbmcgY2x1c3Rl" + + "ciBuYW1lcywgbm90IElEcykgbGltaXRzIHNjaGVkdWxpbmcgdG8gdGhvc2UgY29tcHV0ZSBwbGFu" + + "ZXMuIE9taXQgdG8gbGV0IElDTVMgY2hvb3NlIGFueSBjb21wdXRlIHBsYW5lIHdpdGggYSBtYXRj" + + "aGluZyBTS1UuCgojIyBTdGF0dXMgZmFuLW91dCBhY3Jvc3MgY29tcHV0ZSBwbGFuZXMKCmBgYHNo" + + "CiMgTGlzdCBhbGwgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lczoKbnZjZi1jbGkgY2x1c3RlciBs" + + "aXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TIC0tanNvbiBc" + + "CiAgfCBqcSAtciAnLmNsdXN0ZXJzW10uY2x1c3Rlck5hbWUnID4gY2x1c3RlcnMudHh0CgojIFN0" + + "YXR1cyBzbmFwc2hvdCBwZXIgY29tcHV0ZSBwbGFuZSAoYXNzdW1pbmcgZWFjaCBjb250ZXh0IG5h" + + "bWUgbWF0Y2hlcykuCiMgRWFjaCBydW4gcmVhZHMgYSB0ZW1wb3Jhcnkga3ViZWNvbmZpZyBob2xk" + + "aW5nIG9ubHkgdGhhdCBjbHVzdGVyJ3MgY29udGV4dCwKIyBzbyB0aGUgbG9vcCBsZWF2ZXMgdGhl" + + "IGN1cnJlbnQgY29udGV4dCBvZiB5b3VyIGt1YmVjb25maWcgYWxvbmU6CndoaWxlIHJlYWQgTkFN" + + "RTsgZG8KICBlY2hvICI9PT0gJE5BTUUgPT09IgogIEtDPSQobWt0ZW1wKQogIGt1YmVjdGwgY29u" + + "ZmlnIHZpZXcgLS1taW5pZnkgLS1mbGF0dGVuIC0tY29udGV4dD0iYWRtaW5AJE5BTUUiID4gIiRL" + + "QyIgJiYKICAgIEtVQkVDT05GSUc9IiRLQyIgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgc3RhdHVzIFwK" + + "ICAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgICAtLWpzb24gfCBqcSAtYyAne2NsdXN0" + + "ZXI6LmNsdXN0ZXIsIHZlcmRpY3Q6LnZlcmRpY3QsIHJlY29uY2lsZToucmVjb25jaWxlQWdlU2Vj" + + "fScKICBybSAtZiAiJEtDIgpkb25lIDwgY2x1c3RlcnMudHh0CmBgYAoKQSBmdXR1cmUgTSsxMSBt" + + "aWxlc3RvbmUgd2lsbCBhZGQgbmF0aXZlIGZhbi1vdXQgKGBzdGF0dXMgLS1hbGwtY29tcHV0ZS1w" + + "bGFuZXNgKSBzbyB0aGlzIGRvZXNuJ3QgbmVlZCBhIHNoZWxsIGxvb3AuClBLBwinzznD/hQAAP4U" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADcACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SIyBBZGQgYSBjb21wdXRlIHBs" + + "YW5lIHRvIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUKClVzZXIgaGFzIGEgd29ya2luZyBOVkNG" + + "IGNvbnRyb2wgcGxhbmUgKHJ1bm5pbmcgc29tZXdoZXJlKSBhbmQgd2FudHMgdG8gcmVnaXN0ZXIg" + + "YSBuZXcgR1BVIGNsdXN0ZXIgYWdhaW5zdCBpdC4gVGhpcyBpcyB0aGUgbXVsdGktY2x1c3RlciBz" + + "Y2FsaW5nIHBhdGg6IG9uZSBjb250cm9sIHBsYW5lIOKGkiBOIGNvbXB1dGUgcGxhbmVzLgoKIyMg" + + "UHJlcmVxdWlzaXRlcyB0aGUgdXNlciBtdXN0IGhhdmUKCi0gKiprdWJlY3RsIGNvbnRleHQgZm9y" + + "IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSoqIGluIHRoZWlyIGBLVUJFQ09ORklHYCwgYW5kCiAgaWRl" + + "YWxseSBvbmUgZm9yIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIgdG9vLCBmb3IgdGhlIHByZS1m" + + "bGlnaHQgaW4KICBzdGVwIDIuCi0gKipQdWJsaWMgSUNNUyBVUkwqKiBvZiB0aGUgZXhpc3Rpbmcg" + + "Y29udHJvbCBwbGFuZSAoZS5nLiBgaHR0cHM6Ly9pY21zLm52Y2YuZXhhbXBsZS5jb21gKS4KLSAq" + + "KkFkbWluIEpXVCoqIGZvciB0aGUgY29udHJvbCBwbGFuZSdzIGFjY291bnQsIE9SIGFiaWxpdHkg" + + "dG8gbWludCBvbmUgdmlhIGBudmNmLWNsaSBpbml0YCBhZ2FpbnN0IHRoZSBjb250cm9sIHBsYW5l" + + "J3MgcHVibGljIGFwaSBlbmRwb2ludC4gKEFkbWluIHRva2VucyBjb21lIGZyb20gdGhlIEFQSSBL" + + "ZXlzIHNlcnZpY2UgdmlhIHRoZSBwdWJsaWMgYXBpIGdhdGV3YXkg4oCUIGt1YmVjdGwgYWNjZXNz" + + "IHRvIHRoZSBjb250cm9sIHBsYW5lIGlzIE5PVCByZXF1aXJlZCB0byBvYnRhaW4gb25lLikKLSBU" + + "aGUgY29udHJvbCBwbGFuZSdzIHByb2ZpbGUgZmlsZSwgd2hpY2ggYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBleHBvcnRgIHdyaXRlcyBvbiBhIG1hY2hpbmUgdGhh" + + "dCBjYW4gcmVhY2ggdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3Rlci4gSXQgY2FycmllcyB0aGUgY29u" + + "dHJvbCBwbGFuZSdzIGVuZHBvaW50cyBhbmQgdHJ1c3QgZm9yIHJlZ2lzdHJhdGlvbi4gVGhlIGNv" + + "bW1hbmQgd3JpdGVzIGl0IHRvIHRoZSBzdGFjaydzIGBvdXQvYCBkaXJlY3RvcnkgYW5kIHByaW50" + + "cyB0aGF0IHBhdGg7IHRoZSBzdGVwcyBiZWxvdyBleHBlY3QgaXQgY29waWVkIHRvIGBjb250cm9s" + + "LXBsYW5lLXByb2ZpbGUueWFtbGAgaW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgotIEEgdW5pcXVl" + + "IGAtLWNsdXN0ZXItbmFtZWAgdGhhdCBkb2Vzbid0IGNvbGxpZGUgd2l0aCBhbHJlYWR5LXJlZ2lz" + + "dGVyZWQgY2x1c3RlcnMuIFVzZSBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1u" + + "Y2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCB0byBjaGVjay4KCiMjIFN0ZXBzCgoxLiBB" + + "c2sgZm9yIGlucHV0czoKICAgLSBgLS1jbHVzdGVyLW5hbWU9PHVuaXF1ZT5gIOKAlCBtdXN0IGJl" + + "IHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRyb2wgcGxhbmUncyBOQ0Egc2NvcGUKICAgLSBgLS1rdWJl" + + "LWNvbnRleHQ9PGNvbnRleHQ+YDogdGhlIG5ldyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4" + + "dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBj" + + "b250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBI" + + "MTAwYCwgYnV0IGFzaykKCjIuIFByZS1mbGlnaHQgdGhlIG5ldyBjb21wdXRlIHBsYW5lIGFzIG5v" + + "dCB5ZXQgaW5zdGFsbGVkLiBXaXRoIGEga3ViZWN0bAogICBjb250ZXh0IGZvciB0aGUgY29udHJv" + + "bC1wbGFuZSBjbHVzdGVyIGFzIHdlbGwsIGBjaGVjayAtLXByZQogICAtLWNvbnRyb2wtcGxhbmVg" + + "IGNoZWNrcyB0aGUgY29udHJvbCBwbGFuZSBhcyBpbnN0YWxsZWQgYW5kIHRoZSBuZXcKICAgY29t" + + "cHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxlZDoKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tY29udHJvbC1wbGFuZSBcCiAgICAgLS1jb250cm9sLXBs" + + "YW5lLWNvbnRleHQ9IiRDUF9DVFgiIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIkQ1RYIiBcCiAg" + + "ICAgLS1lbnY9IiRDUF9FTlYiIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAn" + + "XnsnID4gY2hlY2suanNvbmwKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBh" + + "bmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIGAkQ1BfRU5WYCBpcyB0aGUgYC0t" + + "ZW52YCB0aGUgY29udHJvbCBwbGFuZSB3YXMgaW5zdGFsbGVkIHdpdGguIFRoaXMgY2hlY2tzCiAg" + + "IHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIsIGFuZCB0aGUgbmV3IGNsdXN0ZXI6IGxlZnRvdmVy" + + "IE5WQ0YgbmFtZXNwYWNlcywKICAgbm9kZSBpbm90aWZ5IGxpbWl0cywgYW5kIHRoZSBjb21wdXRl" + + "LXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIChHUFUKICAgcmVzb3VyY2VzLCBHUFUgT3BlcmF0b3Is" + + "IFNNQiBDU0kgZHJpdmVyKSB3aGVuIGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaXMKICAgc2V0" + + "LiBJdCBncmFkZXMgdGhpcyBtYWNoaW5lJ3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgYXMgYGNvbXB1" + + "dGUtcGxhbmUKICAgaW5zdGFsbGAgdXNlcyB0aGVtOiBgaGVsbWAgb24gdGhpcyBtYWNoaW5lIHB1" + + "bGxzIHRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0cwogICB3aXRoIHRoZSBkb2NrZXIgbG9naW4sIHNv" + + "IGEgZG9ja2VyIGxvZ2luIGBudmNyLmlvYCByZWplY3RzLCBvciBvbmUgd2l0aCBubwogICBhY2Nl" + + "c3MgdG8gdGhlIG9yZyB0aGUgY2hhcnRzIGNvbWUgZnJvbSwgZmFpbHMgdGhlIGdhdGUgZXZlbiB3" + + "aGVuCiAgIGBOR0NfQVBJX0tFWWAgd29ya3MuIEEgbWlzc2luZyBgaGVsbWAsIGBoZWxtZmlsZWAg" + + "b3IgYGt1YmVjdGxgIGZhaWxzIGl0CiAgIHRvby4gU0lTIHJlYWNoYWJpbGl0eSBpcyBub3QgcHJv" + + "YmVkIGJlZm9yZSBpbnN0YWxsLgoKICAgV2l0aG91dCBhIGNvbnRleHQgZm9yIHRoZSBjb250cm9s" + + "LXBsYW5lIGNsdXN0ZXIsIGNoZWNrIHRoZSBuZXcgY2x1c3RlcgogICBhbG9uZSB3aXRoIGAtLWNv" + + "bXB1dGUtcGxhbmVgLiBgY2hlY2tgIHRha2VzIGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVy" + + "CiAgIGFuZCBoYXMgbm8gYC0ta3ViZWNvbmZpZ2AgZmxhZywgc28gZ2l2ZSBpdCwgdGhyb3VnaCBg" + + "S1VCRUNPTkZJR2AgZm9yIHRoaXMKICAgY29tbWFuZCBvbmx5LCBhIHRlbXBvcmFyeSBrdWJlY29u" + + "ZmlnIGhvbGRpbmcganVzdCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3MKICAgY29udGV4dC4gVGhlIGN1" + + "cnJlbnQgY29udGV4dCBvZiB0aGUgdXNlcidzIGt1YmVjb25maWcgc3RheXMgYXMgaXQgd2FzOgoK" + + "ICAgYGBgc2gKICAgS0M9JChta3RlbXApCiAgIGt1YmVjdGwgY29uZmlnIHZpZXcgLS1taW5pZnkg" + + "LS1mbGF0dGVuIC0tY29udGV4dD0iJENUWCIgPiAiJEtDIgogICBLVUJFQ09ORklHPSIkS0MiIG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBcCiAgICAgLS1pY21zLXVy" + + "bD0kSUNNUyBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNr" + + "Lmpzb25sCiAgIHJtIC1mICIkS0MiCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50ID09ICJmaW5h" + + "bCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBUaGF0IHJ1bnMgdGhlIHNh" + + "bWUgY2hlY2tzIG9uIHRoZSBuZXcgY2x1c3RlciwgYW5kIFNJUyByZWFjaGFiaWxpdHkgYXQKICAg" + + "YC0taWNtcy11cmxgLCBidXQgY2hlY2tzIHRoZSBjb21wdXRlIHBsYW5lIGFzIGluc3RhbGxlZDog" + + "YSBtaXNzaW5nIHRvb2wKICAgb25seSB3YXJucy4gQSBkb2NrZXIgbG9naW4gYG52Y3IuaW9gIHJl" + + "amVjdHMgc3RpbGwgZmFpbHMgdGhlIGdhdGUsIGJ1dCBvbmUKICAgd2l0aCBubyBhY2Nlc3MgdG8g" + + "dGhlIG9yZyB0aGUgY29tcHV0ZS1wbGFuZSBjaGFydHMgY29tZSBmcm9tIHBhc3NlcyB3aGVyZQog" + + "ICBgTkdDX0FQSV9LRVlgIHJlYWNoZXMgaXQuIFRyZWF0IGEgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxz" + + "YCByb3cgdGhhdCBzYXlzIHRoZQogICBkb2NrZXIgbG9naW4gaGFzIG5vIGFjY2VzcyBhcyBibG9j" + + "a2luZywgYW5kIGxvZyBpbiB3aXRoIGEgY3JlZGVudGlhbCB0aGF0CiAgIGhhcyBhY2Nlc3MgYmVm" + + "b3JlIHRoZSBpbnN0YWxsLgoKICAgSWYgdGhlIGdhdGUgZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhl" + + "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50cyB3aXRoCiAgIGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNl" + + "dmVyaXR5OiAiZXJyb3IiYCwgYW5kIGFkZHJlc3MgdGhlbSBiZWZvcmUKICAgcHJvY2VlZGluZy4K" + + "CjMuIFJlZ2lzdGVyIHRoZSBjbHVzdGVyLCB0aGVuIGluc3RhbGwgaXRzIGNvbXB1dGUgcGxhbmUg" + + "ZnJvbSB0aGUgdmFsdWVzCiAgIGZpbGUgcmVnaXN0cmF0aW9uIHdyaXRlcy4gQm90aCBjb21tYW5k" + + "cyBuYW1lIHRoZSBuZXcgY2x1c3RlcidzIGNvbnRleHQKICAgd2l0aCBgLS1rdWJlLWNvbnRleHRg" + + "OgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + + "ciBcCiAgICAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + + "bWwgXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgICAtLWt1YmUtY29udGV4dD0kQ1RY" + + "IFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLXRva2VuPSRKV1QgXAogICAgIC0tb3V0" + + "cHV0PSROQU1FLXJlZ2lzdGVyLXZhbHVlcy55YW1sCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWwgXAogICAgIC0ta3ViZS1jb250ZXh0PSRDVFggXAogICAgIC0tY2x1c3Rlci1uYW1lPSRO" + + "QU1FCiAgIGBgYAoKICAgYGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHJlY29yZHMgdGhlIGNsdXN0" + + "ZXIncyBPSURDIGlzc3VlciBhbmQgSldLUyB3aXRoCiAgIElDTVMgYXQgYC0taWNtcy11cmxgIGFu" + + "ZCB3cml0ZXMgdGhlIE5WQ0Egb3BlcmF0b3IgdmFsdWVzLiBgY29tcHV0ZS1wbGFuZQogICBpbnN0" + + "YWxsYCBpbnN0YWxscyB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjayB3aXRoIHRoZW0uIE5laXRoZXIg" + + "dG91Y2hlcyB0aGUKICAgY29udHJvbC1wbGFuZSBjbHVzdGVyOiBJQ01TIGlzIHJlYWNoZWQgb3Zl" + + "ciBIVFRQUy4gYC0tdG9rZW5gIHBhc3NlcyB0aGUKICAgYWRtaW4gSldUOyB3aXRob3V0IGl0IHRo" + + "ZSB0b2tlbiBgbnZjZi1jbGkgaW5pdGAgc3RvcmVkIGlzIHVzZWQuCgo0LiBWZXJpZnkuIGBudmNm" + + "LWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganFg" + + "OiBleHBlY3QgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIFRoZSBSZWdpc3RlcmVkIENvbXB1dGUgUGxh" + + "bmVzIHBhbmVsIGZyb20gSUNNUyBzaG91bGQgbm93IGxpc3QgdGhlIG5ldyBjbHVzdGVyLgoKNS4g" + + "U21va2UuIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpOiBkZXBs" + + "b3kgYSBzbWFsbCBmdW5jdGlvbiB0byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBz" + + "Y2hlZHVsaW5nIHdvcmtzLgoKIyMgV2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1l" + + "IGFscmVhZHkgZXhpc3RzPwoKYGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHJldXNlcyBhbiBleGlz" + + "dGluZyByZWdpc3RyYXRpb246IGl0IG1hdGNoZXMgdGhlIElDTVMgcm93IHdpdGggdGhlIHNhbWUg" + + "bmFtZSwgcmV1c2VzIGl0cyBjbHVzdGVySWQgYW5kIHJlcGxhY2VzIGl0cyBKV0tTLiBUd28gc2Nl" + + "bmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmlu" + + "ZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJl" + + "ZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1" + + "c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJ" + + "Q01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRs" + + "eSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwg" + + "c3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0" + + "aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1" + + "c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBm" + + "aXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQg" + + "YWxyZWFkeSBleGlzdHMuClBLBwgxi5lP2RgAANkYAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "ADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRh" + + "c2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWlu" + + "dCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMg" + + "LT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBp" + + "bml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBr" + + "ZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNr" + + "IHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4u" + + "CiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJ" + + "IHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtl" + + "eSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1l" + + "eHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIg" + + "bWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0i" + + "dGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9u" + + "IEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24g" + + "cGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNo" + + "YXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNj" + + "cmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMg" + + "RnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1h" + + "bmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVj" + + "ayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5W" + + "Q0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAg" + + "YGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmlu" + + "dGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRo" + + "bGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFu" + + "ZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbics" + + "J21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBt" + + "aXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNm" + + "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXki" + + "IC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVk" + + "IGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBV" + + "c2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5" + + "IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNh" + + "dGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJl" + + "LWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2Vu" + + "ZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMg" + + "Mi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxl" + + "LiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNt" + + "b2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAi" + + "SDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2Vu" + + "ZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEv" + + "bmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxs" + + "byBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBg" + + "YAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVy" + + "Lmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZy" + + "b20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBh" + + "c3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRo" + + "YW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9y" + + "IHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFt" + + "ZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBl" + + "PU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNy" + + "LmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdw" + + "cmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpU" + + "byB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNr" + + "IGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNs" + + "dXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVp" + + "dGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxl" + + "PXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAog" + + "IC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04g" + + "ZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5Ijog" + + "Ik1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFt" + + "ZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFy" + + "ZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3Bv" + + "bnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVs" + + "bQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhl" + + "bG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVT" + + "cGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAi" + + "TkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxt" + + "Q2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxl" + + "LXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBg" + + "YAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29u" + + "CiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJ" + + "bWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBh" + + "IHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19p" + + "ZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNy" + + "ZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBl" + + "eGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVk" + + "LiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBv" + + "bGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlk" + + "OiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQg" + + "c2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNo" + + "Cm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hF" + + "RGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VF" + + "REVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05g" + + "LgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1" + + "cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklm" + + "IHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVz" + + "dGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJP" + + "UkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IK" + + "Y29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9u" + + "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBw" + + "cm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoK" + + "Rm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFy" + + "ZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+" + + "CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5n" + + "U3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBp" + + "bgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3Jp" + + "dGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBM" + + "RVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTog" + + "cmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2" + + "LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNh" + + "bmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNo" + + "ZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lk" + + "PgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNr" + + "IGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90" + + "IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRl" + + "bGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24u" + + "IERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxs" + + "IHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXAp" + + "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1D" + + "T01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11" + + "c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1" + + "c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1j" + + "bGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFp" + + "bmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFu" + + "ZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0" + + "aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZv" + + "a2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpT" + + "dGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQ" + + "SSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVB" + + "VEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUg" + + "Y3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFu" + + "ZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3Np" + + "bmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMg" + + "Zm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rp" + + "b24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFn" + + "ZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwK" + + "ICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25U" + + "eXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6" + + "IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9y" + + "dCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2Rl" + + "IjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQt" + + "ZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJz" + + "aW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9y" + + "IGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5B" + + "SS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQg" + + "cHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNy" + + "ZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29u" + + "dGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUg" + + "aXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxl" + + "IHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1l" + + "ZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFp" + + "bmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgw" + + "MDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wi" + + "OiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRp" + + "bWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1v" + + "ZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAg" + + "ICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25z" + + "IiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01l" + + "dGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIK" + + "ICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNo" + + "Cm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9u" + + "LW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1p" + + "bmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJp" + + "PS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMw" + + "UyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVz" + + "PTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZp" + + "cm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8" + + "L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0x" + + "MDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0g" + + "ZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVy" + + "IGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9u" + + "LWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBk" + + "YXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90" + + "d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0" + + "aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkg" + + "aW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRp" + + "dmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4g" + + "VXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNP" + + "TiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUw" + + "MDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMg" + + "YXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50" + + "CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcu" + + "IEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVu" + + "Y3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVs" + + "bUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0" + + "IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBp" + + "bmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5n" + + "IHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwg" + + "bmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQg" + + "YXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmll" + + "bGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAg" + + "ImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9u" + + "VHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAi" + + "dXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMi" + + "LAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRw" + + "czovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0" + + "aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0" + + "aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2Rl" + + "bC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0" + + "L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAg" + + "ICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0" + + "IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcg" + + "Zm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmly" + + "bWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNl" + + "LXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAw" + + "MCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBc" + + "CiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBc" + + "CiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0v" + + "Y2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZp" + + "Y2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9k" + + "ZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJl" + + "ZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpg" + + "YGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIg" + + "YGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUg" + + "Y2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAi" + + "PGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZp" + + "Y2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1Au" + + "R1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjog" + + "MSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjog" + + "ewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAg" + + "ICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUg" + + "T3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0" + + "aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBu" + + "YW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJn" + + "YXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0t" + + "LSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBh" + + "bmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3Bv" + + "bnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0" + + "dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNl" + + "c3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBv" + + "ciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBj" + + "b250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMj" + + "IDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIs" + + "CiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6" + + "IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBf" + + "MXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJt" + + "YXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUg" + + "R1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAo" + + "ZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFs" + + "aWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1m" + + "aWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhl" + + "IGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBp" + + "dCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJh" + + "Y2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWlu" + + "dCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0" + + "YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29w" + + "ZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGll" + + "cyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1k" + + "ZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1p" + + "bj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1" + + "dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBu" + + "ZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hh" + + "dCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9u" + + "SWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5" + + "IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGlu" + + "dm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlv" + + "biBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4u" + + "LgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUg" + + "cm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8v" + + "bGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRo" + + "b3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTog" + + "YXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmly" + + "bWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwog" + + "ICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8i" + + "CiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJl" + + "IGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0" + + "aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3Vy" + + "bCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25z" + + "ZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1I" + + "ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjog" + + "Ijxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBv" + + "bmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBs" + + "ZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFp" + + "bj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQ" + + "SV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7" + + "CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1" + + "dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9y" + + "ZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9u" + + "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMg" + + "NS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6Cgpg" + + "YGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVy" + + "c2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxl" + + "dGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9u" + + "IHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5k" + + "aW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03" + + "IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2ls" + + "bCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZl" + + "cmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0" + + "b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4" + + "YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11" + + "c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3Jl" + + "ZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZj" + + "Zi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQY" + + "JQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdu" + + "b3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0" + + "YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0" + + "aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhl" + + "IHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5n" + + "J3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVp" + + "ciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBu" + + "ZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVu" + + "dCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9z" + + "dCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNl" + + "YWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNr" + + "ZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1" + + "cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxl" + + "LiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdl" + + "dCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNv" + + "bXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1" + + "ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3Ng" + + "KS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxu" + + "cz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRh" + + "aWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHBy" + + "b3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBD" + + "YXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4g" + + "Q29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8" + + "CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWlu" + + "IHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwg" + + "Z2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMu" + + "IExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3si" + + "bWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMt" + + "ZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBv" + + "dXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBh" + + "Ym92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGln" + + "aHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52" + + "b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGlu" + + "c3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNw" + + "YWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVz" + + "dGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdl" + + "bnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hv" + + "c2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVy" + + "OiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250" + + "ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25l" + + "ZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGlu" + + "ZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9u" + + "Lmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0" + + "YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdl" + + "UHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0" + + "ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFn" + + "ZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9y" + + "IHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0Ff" + + "SUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVu" + + "diBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZj" + + "Zi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNl" + + "ciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2lu" + + "Z2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lg" + + "IChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11" + + "bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0" + + "b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4g" + + "YG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhl" + + "IElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2Fu" + + "ZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1" + + "c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0t" + + "ZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9z" + + "ZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8g" + + "c3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVy" + + "IHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgot" + + "ICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0" + + "IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZp" + + "cnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQAB" + + "AKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0" + + "byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVy" + + "IChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9p" + + "bnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAg" + + "LSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25l" + + "IGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwg" + + "Y29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldo" + + "YXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVz" + + "IHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2Nh" + + "bCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDog" + + "IkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29u" + + "dGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENM" + + "SSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0" + + "aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBp" + + "bnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRo" + + "ZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBw" + + "b2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJ" + + "ZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBm" + + "aXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5" + + "IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0" + + "aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJl" + + "cm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1l" + + "bnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRl" + + "d2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFj" + + "ZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAg" + + "IGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0" + + "ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5" + + "LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRl" + + "cm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24g" + + "RUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRo" + + "ZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBB" + + "UEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9m" + + "IGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoK" + + "ICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAg" + + "YXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAg" + + "ICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFs" + + "YW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1z" + + "eXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAK" + + "CiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2Rl" + + "XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1j" + + "b25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50" + + "IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBu" + + "ZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5" + + "CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVy" + + "LCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUg" + + "YXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBm" + + "b3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2Rl" + + "LCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6" + + "CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtz" + + "LmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEu" + + "a3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmci" + + "CiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29u" + + "dHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2Vydmlj" + + "ZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3" + + "cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9s" + + "bGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4K" + + "ICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1Mg" + + "TG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3Rh" + + "dGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5" + + "IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwog" + + "ICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVy" + + "IHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4g" + + "T24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVy" + + "J3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAg" + + "ICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0" + + "YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdh" + + "eS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6" + + "CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNw" + + "ZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5l" + + "dGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAg" + + "ICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBl" + + "OiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3Mt" + + "bG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNl" + "cnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVy" + - "bmV0LWZhY2luZyIKICAgYGBgCgogICBGb3IgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIg" + - "U2VydmljZSBjb250cm9sbGVyLCByZXBsYWNlIHRoZSBtYXAgd2l0aDoKCiAgIGBgYHlhbWwKICAg" + - "ZW52b3lTZXJ2aWNlOgogICAgIGFubm90YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVy" + - "bmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogIm5sYiIKICAgYGBgCgogICBUaGUgbGVn" + - "YWN5IGNvbnRyb2xsZXIgY3JlYXRlcyBhbiBpbnRlcm5ldC1mYWNpbmcgbG9hZCBiYWxhbmNlciBi" + - "eSBkZWZhdWx0LgogICBEbyBub3QgY29tYmluZSB0aGUgbGVnYWN5IGBubGJgIHNlbGVjdG9yIHdp" + - "dGggdGhlIEFXUyBMb2FkIEJhbGFuY2VyCiAgIENvbnRyb2xsZXIgdGFyZ2V0IHR5cGUgYW5kIHNj" + - "aGVtZSBhbm5vdGF0aW9ucy4gSXQgc3VwcG9ydHMgYW4gTkxCIFNlcnZpY2UKICAgd2hvc2UgcG9y" + - "dHMgdXNlIG9ubHkgVENQIG9yIG9ubHkgVURQLCBidXQgcmVqZWN0cyBvbmUgU2VydmljZSB0aGF0" + - "IGNvbWJpbmVzCiAgIFRDUCBhbmQgVURQIHBvcnRzLiBVc2UgdGhlIEFXUyBMb2FkIEJhbGFuY2Vy" + - "IENvbnRyb2xsZXIgd2hlbiB0aGUgZ2VuZXJhdGVkCiAgIEVudm95IFNlcnZpY2UgY29tYmluZXMg" + - "cHJvdG9jb2xzLiBPbiBub24tQVdTIGNsdXN0ZXJzLCByZXBsYWNlIHRoZSBtYXAgd2l0aAogICB0" + - "aGUgcHJvdmlkZXIncyBTZXJ2aWNlIGNvbmZpZ3VyYXRpb24gYmVmb3JlIGFwcGx5aW5nIGl0LgoK" + - "ICAgYGBgc2gKICAgIyBOb24tRUtTLUF1dG8tTW9kZSBleGFtcGxlOiB1c2UgQVdTIExCQyB3aXRo" + - "IGluc3RhbmNlIHRhcmdldHMuCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJz" + - "aW9uOiBnYXRld2F5LmVudm95cHJveHkuaW8vdjFhbHBoYTEKICAga2luZDogRW52b3lQcm94eQog" + - "ICBtZXRhZGF0YToKICAgICBuYW1lOiBlZwogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0KICAgc3BlYzoKICAgICBwcm92aWRlcjoKICAgICAgIHR5cGU6IEt1YmVybmV0ZXMKICAg" + - "ICAgIGt1YmVybmV0ZXM6CiAgICAgICAgIGVudm95U2VydmljZToKICAgICAgICAgICBhbm5vdGF0" + - "aW9uczoKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJh" + - "bGFuY2VyLXR5cGU6ICJleHRlcm5hbCIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5l" + - "dGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLW5sYi10YXJnZXQtdHlwZTogImluc3RhbmNlIgogICAg" + - "ICAgICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2No" + - "ZW1lOiAiaW50ZXJuZXQtZmFjaW5nIgogICAtLS0KICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5uZXR3" + - "b3JraW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5Q2xhc3MKICAgbWV0YWRhdGE6CiAgICAg" + - "bmFtZTogZWcKICAgc3BlYzoKICAgICBjb250cm9sbGVyTmFtZTogZ2F0ZXdheS5lbnZveXByb3h5" + - "LmlvL2dhdGV3YXljbGFzcy1jb250cm9sbGVyCiAgICAgcGFyYW1ldGVyc1JlZjoKICAgICAgIGdy" + - "b3VwOiBnYXRld2F5LmVudm95cHJveHkuaW8KICAgICAgIGtpbmQ6IEVudm95UHJveHkKICAgICAg" + - "IG5hbWU6IGVnCiAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIEVPRgoK" + - "ICAga3ViZWN0bCBhcHBseSAtZiAtIDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29y" + - "a2luZy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheQogICBtZXRhZGF0YToKICAgICBuYW1lOiBu" + - "dmNmLWdhdGV3YXkKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgc3BlYzoKICAgICBn" + - "YXRld2F5Q2xhc3NOYW1lOiBlZwogICAgIGxpc3RlbmVyczoKICAgICAtIG5hbWU6IGh0dHAKICAg" + - "ICAgIHByb3RvY29sOiBIVFRQCiAgICAgICBwb3J0OiA4MAogICAgICAgYWxsb3dlZFJvdXRlczoK" + - "ICAgICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICBmcm9tOiBTZWxlY3RvcgogICAgICAgICAg" + - "IHNlbGVjdG9yOgogICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgIG52Y2Yv" + - "cGxhdGZvcm06ICJ0cnVlIgogICAgIC0gbmFtZTogdGNwCiAgICAgICBwcm90b2NvbDogVENQCiAg" + - "ICAgICBwb3J0OiAxMDA4MQogICAgICAgYWxsb3dlZFJvdXRlczoKICAgICAgICAgbmFtZXNwYWNl" + - "czoKICAgICAgICAgICBmcm9tOiBTZWxlY3RvcgogICAgICAgICAgIHNlbGVjdG9yOgogICAgICAg" + - "ICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgIG52Y2YvcGxhdGZvcm06ICJ0cnVlIgog" + - "ICBFT0YKICAgYGBgCgogICBTZXJ2aWNlIGFubm90YXRpb25zIG11c3QgYmUgdW5kZXIKICAgYEVu" + - "dm95UHJveHkuc3BlYy5wcm92aWRlci5rdWJlcm5ldGVzLmVudm95U2VydmljZS5hbm5vdGF0aW9u" + - "c2AuIEVudm95IEdhdGV3YXkKICAgY29waWVzIHRoZW0gdG8gdGhlIGdlbmVyYXRlZCBFbnZveSBT" + - "ZXJ2aWNlLiBEbyBub3QgcHV0IFNlcnZpY2UgYW5ub3RhdGlvbnMKICAgb24gdGhlIGBHYXRld2F5" + - "YCByZXNvdXJjZS4KCiAgIENhcHR1cmUgdGhlIEdhdGV3YXkgdmFsdWVzIGFuZCB3cml0ZSB0aGUg" + - "Q0xJIGNvbmZpZzoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDTFVTVEVSX05BTUU9Im52Y2YtcmVtb3Rl" + - "IgogICBleHBvcnQgTkNBX0lEPSJudmNmLWRlZmF1bHQiCiAgIGV4cG9ydCBSRUdJT049InVzLXdl" + - "c3QtMSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAg" + - "IGV4cG9ydCBIVFRQX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgogICBleHBvcnQgR1JQQ19H" + - "QVRFV0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9O" + - "QU1FPSJudmNmLWdhdGV3YXkiCgogICBrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFD" + - "RSIgd2FpdCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRp" + - "b249UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KICAga3ViZWN0bCAtbiAiJEdSUENfR0FU" + - "RVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEdSUENfR0FURVdBWV9OQU1FIiBcCiAgICAg" + - "LS1mb3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCgogICBleHBvcnQg" + - "R0FURVdBWV9BRERSPSIkKGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQg" + - "ImdhdGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + - "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9BRERSPSIkKGt1" + - "YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQgImdhdGV3YXkvJEdSUENfR0FU" + - "RVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1" + - "ZX0nKSIKICAgdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIgfHwgZXhpdCAxCiAgIHRlc3QgLW4gIiRH" + - "UlBDX0dBVEVXQVlfQUREUiIgfHwgZXhpdCAxCiAgIGV4cG9ydCBTVEFDS19ET01BSU49IiRHQVRF" + - "V0FZX0FERFIiCiAgIGBgYAoKICAgU2V0IGBTVEFDS19ET01BSU5gIHRvIHRoZSBob3N0bmFtZSBz" + - "dWZmaXggdXNlZCBieSB0aGUgaW5zdGFsbGVkIEhUVFBSb3V0ZXMuCiAgIEZvciByZW1vdGUgdGVz" + - "dCBmbG93cyB3aXRob3V0IHByb2R1Y3Rpb24gRE5TLCB1c2UgdGhlIEdhdGV3YXkgbG9hZCBiYWxh" + - "bmNlcgogICBhZGRyZXNzLgoKICAgYGBgc2gKICAgY2F0ID4gLm52Y2YtY2xpLnlhbWwgPDxFT0YK" + - "ICAgYmFzZV9odHRwX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGludm9rZV91cmw6" + - "ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBiYXNlX2dycGNfdXJsOiAiJHtHUlBDX0dBVEVX" + - "QVlfQUREUn06MTAwODEiCiAgIGFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLyR7R0FURVdB" + - "WV9BRERSfSIKCiAgIGFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy4ke1NUQUNLX0RPTUFJTn0iCiAg" + - "IGFwaV9ob3N0OiAiYXBpLiR7U1RBQ0tfRE9NQUlOfSIKICAgaW52b2tlX2hvc3Q6ICJpbnZvY2F0" + - "aW9uLiR7U1RBQ0tfRE9NQUlOfSIKCiAgIGFwaV9rZXlzX3NlcnZpY2VfaWQ6ICJudmlkaWEtY2xv" + - "dWQtZnVuY3Rpb25zLW5jcC1zZXJ2aWNlLWlkLWFrZXRtIgogICBhcGlfa2V5c19pc3N1ZXJfc2Vy" + - "dmljZTogIm52Y2YtYXBpIgogICBhcGlfa2V5c19vd25lcl9pZDogInN2Y0BudmNmLWFwaS5sb2Nh" + - "bCIKCiAgIGNsaWVudF9pZDogIiR7TkNBX0lEfSIKICAgRU9GCiAgIGBgYAoKMy4gUnVuIHByZS1m" + - "bGlnaHQuIENob29zZSB0aGUgZmxhdm9yIG1hdGNoaW5nIHRoZSB0b3BvbG9neS4gYC0tanNvbmAg" + - "d3JpdGVzCiAgIEpTT05MIHRvIHN0ZGVyciwgc28gcmVkaXJlY3QgaXQgdG8gdGhlIHBhcnNlciBh" + - "bmQga2VlcCBvbmx5IEpTT04gbGluZXM6CgogICBgYGBzaAogICAjIFNpbmdsZS1jbHVzdGVyCiAg" + - "IG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiAyPiYxID4vZGV2L251bGwg" + - "fCBncmVwICdeeycgPiBjaGVjay5qc29ubAoKICAgIyBTcGxpdDogcGFzcyBib3RoIGNvbnRleHQg" + - "ZmxhZ3MKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29udHJv" + - "bC1wbGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1h" + - "ZG1pbkBncHUxIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hl" + - "Y2suanNvbmwKCiAgICMgR2F0ZSBvbiB0aGUgZmluYWwgZXZlbnQuIEEgbWlzc2luZyBmaW5hbCBl" + - "dmVudCBhbHNvIGZhaWxzIHRoZSBnYXRlLgogICBqcSAtc2UgJ2FueSguW107IC5ldmVudCA9PSAi" + - "ZmluYWwiIGFuZCAuc3VjY2VzcyknIGNoZWNrLmpzb25sCiAgIGBgYAoKICAgSWYgdGhlIGdhdGUg" + - "ZmFpbHMsIHNob3cgdGhlIHVzZXIgZWFjaCBgY2hlY2tfY29tcGxldGVkYCBldmVudCB3aXRoCiAg" + - "IGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCAoaXRzIGBtZXNzYWdlYCBh" + - "bmQgYGhpbnRVUkxgKSwgYW5kCiAgIHN0b3AuIERvbid0IHByb2NlZWQgdG8gaW5zdGFsbCB3aXRo" + - "IGJyb2tlbiBwcmVyZXFzLiBSb3dzIGF0CiAgIGBzZXZlcml0eTogIndhcm5pbmciYCBkbyBub3Qg" + - "ZmFpbCB0aGUgZ2F0ZTsgbWVudGlvbiB0aGVtLiBGb3IgYW4gb3BlcmF0b3IKICAgd2l0aCBrdWJl" + - "Y3RsIGFjY2VzcyB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5LCB1c2UgdGhlIGNvbXB1dGUtb25s" + - "eSBmb3JtIGluCiAgIFthZGQtY29tcHV0ZS1wbGFuZS5tZF0oYWRkLWNvbXB1dGUtcGxhbmUubWQp" + - "IGluc3RlYWQuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRlZC4gYG52Y2YtY2xpIGlu" + - "aXRgIGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIgZG9lcyBub3QgaGF2ZSBh" + - "IHNlc3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91Z2ggdGhlIHB1YmxpYwog" + - "ICBBUEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRlLW9ubHkgbW9kZS4KCjUu" + - "IFJ1biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVudCBzdHJlYW06CgogICBg" + - "YGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7" + - "Q0xVU1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lv" + - "bj0iJHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9yIHNwbGl0LWNsdXN0ZXIg" + - "aW5zdGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBzaAogICBleHBvcnQgQ09O" + - "VFJPTF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgogICBleHBvcnQgQ09NUFVU" + - "RV9QTEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtDT05UUk9MX1BMQU5FX0NP" + - "TlRFWFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7Q09NUFVURV9QTEFORV9D" + - "T05URVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAt" + - "LW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0t" + - "anNvbgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vfc3RhcnRlZGAgLyBgcGhh" + - "c2VfY29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3Byb2dyZXNzYDogc2hvdyBw" + - "cm9ncmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJjZSBjb3VudHMpCiAgIC0g" + - "YHdhaXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNpc3RzIGZvciBtb3JlIHRo" + - "YW4gMiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5kIHN1cmZhY2UgYGVyck1l" + - "c3NhZ2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAgRGVjaWRlIGJhc2VkIG9u" + - "IGByZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBub3cgd2l0aCB1c2VyCiAg" + - "ICAgYXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVyU2VjYCBhbmQgdGhlbiBy" + - "ZS1ydW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1lZGlhdGlvbmAsIGBub25l" + - "YCwgb3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAgYWN0IGZpcnN0LCBzbyBk" + - "byBub3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmludCBjbHVzdGVySWQgYW5k" + - "IE5WQ0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1cy4gUnVuIGBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBlY3QKICAgYHZlcmRpY3Q6" + - "ICJoZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5t" + - "ZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9uYWxseSBzbW9rZSB0ZXN0" + - "IGEgZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRlcGxveS1hbmQtaW52" + - "b2tlLm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52b2tlIGZsb3cuCgojIyBO" + - "b3RlcwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVzaCBjbHVzdGVyIHRha2Vz" + - "IGFib3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0IHB1bGwgc3BlZWQgYW5k" + - "IE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1wb3RlbnQuIEl0IGlzIHNh" + - "ZmUgdG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4KLSBOZXZlciBwcm9wb3Nl" + - "IGAtLWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4KLSBJZiB0aGUgdXNlciBo" + - "YXMgQ0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVyYWN0aXZlIC0tdG9rZW49" + - "JEpXVGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVyYWN0aXZlbHkuClBLBwi0" + - "Sd8nVikAAFYpAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhIjIFJvdGF0" + - "ZSBhIGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVkIGF1dGhlbnRpY2F0aW5n" + - "LCBvciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRoZSBLOHMgQVBJIHNlcnZl" + - "cidzIEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQgdGhlIEpXS1Mgc3RvcmVk" + - "IGluIElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUKCi0gYGt1YmVjdGwgbG9n" + - "cyAtbiBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2FgIHNob3dzIGBI" + - "VFRQIDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0ZXJgIHJlcGVhdGVkbHkK" + - "LSBJQ01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNs" + - "dXN0ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNoLCBub3QgSldLUywgYnV0" + - "IHJvdGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFuZSBLOHMgdXBncmFkZSBv" + - "ciBjb21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgY2x1" + - "c3RlciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0k" + - "TkNBX0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93IG1hdGNoaW5nIHRoZSB1" + - "c2VyJ3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIFVzZSBhIGNvbnRleHQgdGhhdCBj" + - "YW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJl" + - "LWZldGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCkuIFdyaXRlIHRoYXQgY29u" + - "dGV4dCBhbG9uZSB0byBhIHRlbXBvcmFyeSBrdWJlY29uZmlnIGFuZCBwYXNzIGl0IHdpdGggYC0t" + - "a3ViZWNvbmZpZ2AsIHNvIHRoZSBjdXJyZW50IGNvbnRleHQgb2YgeW91ciBrdWJlY29uZmlnIHN0" + - "YXlzIGFzIGl0IHdhczoKCiAgIGBgYHNoCiAgIEtDPSQobWt0ZW1wKQogICBrdWJlY3RsIGNvbmZp" + - "ZyB2aWV3IC0tbWluaWZ5IC0tZmxhdHRlbiAtLWNvbnRleHQ9PGN0eD4gPiAiJEtDIiAmJgogICAg" + - "IG52Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+IC0ta3ViZWNvbmZpZz0i" + - "JEtDIgogICBybSAtZiAiJEtDIgogICBgYGAKCiAgIGBjbHVzdGVyIHJvdGF0ZWAgcmUtZmV0Y2hl" + - "cyBKV0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRzIGl0IHRvIElD" + - "TVMuIFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLiBUaGUgdGVtcG9yYXJ5IGZpbGUgaG9s" + - "ZHMgdGhlIGNvbnRleHQncyBjcmVkZW50aWFsczogYG1rdGVtcGAgbWFrZXMgaXQgcmVhZGFibGUg" + - "b25seSBieSB5b3UsIGFuZCBgcm1gIHJlbW92ZXMgaXQuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1j" + - "bGkgY2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRg" + - "IGFkdmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVy" + - "bmV0ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3Vs" + - "ZCBzdWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBg" + - "Y2x1c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdy" + - "b3VwIElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95" + - "IHRoZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQg" + - "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElD" + - "TVMgb25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0" + - "ZXIgSUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBt" + - "YXkgYmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91" + - "dCBoZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1j" + - "YWxsb3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5" + - "X2NsdXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZp" + - "Z21hcCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZh" + - "aWxlZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNo" + - "ZWNrcy4KUEsHCKnBJvcuCQAALgkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIg" + - "ZG93biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24g" + - "ZGVzdHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBr" + - "ZXlzLCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBi" + - "ZWZvcmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5z" + - "dGFsbGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3du" + - "IHN1cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToK" + - "CnwgVGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwK" + - "fCBQZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBg" + - "aW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1" + - "bmluc3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8" + - "CnwgT3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNs" + - "dXN0ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwK" + - "ClVzZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRP" + - "cHMgKGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVz" + - "LiBBbHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2Rl" + - "IHwgTGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18" + - "LS0tfC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykg" + - "fCAqKk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBo" + - "YXNlIHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50" + - "IHN0cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1p" + - "dGl2ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0g" + - "Z2V0IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBg" + - "ZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVz" + - "dHJhdG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1u" + - "by1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhl" + - "IFlBTUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMg" + - "cHJldmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNs" + - "dXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBX" + - "aGVuIHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0t" + - "fAp8ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + - "IGRvd24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUg" + - "c3RlcHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + - "ZG93biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBj" + - "b21taXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5z" + - "dGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRl" + - "LnlhbWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBs" + - "YW5lIChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3Qg" + - "cmVtb3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAt" + - "LWNsdXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29w" + - "ZSB3aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0" + - "ZSBwbGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRl" + - "IHBsYW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlz" + - "IGNsdXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1w" + - "b3J0YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1" + - "ZXxwcm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVu" + - "dCBzdGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVz" + - "ZXIgZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJz" + - "aXN0ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIK" + - "CiMjIyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + - "b3duIC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhp" + - "cyBlbWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJl" + - "bGVhc2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3Vs" + - "ZCBiZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNb" + - "XWAgYXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmlu" + - "c3RhbGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMu" + - "IEV4ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVz" + - "dGVyLW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6" + - "CgoxLiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVz" + - "b2x2ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBm" + - "dW5jdGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMg" + - "dW50aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9t" + - "cHRgIChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBs" + - "YW5lIOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1" + - "bmluc3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBS" + - "ZW1vdmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2" + - "LiBVbnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRl" + - "YXIgZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xp" + - "IHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9y" + - "Y2hlc3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28g" + - "Z29pbmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVm" + - "dXNlcyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVz" + - "ZSBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoq" + - "IGlmIHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQ" + - "U0FUIGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZh" + - "aWxpbmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBi" + - "ZWZvcmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBz" + - "aApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRl" + - "cmF0ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBl" + - "ci1jbHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNv" + - "bmN1cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBs" + - "YW5lYC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVz" + - "dGVyIGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQg" + - "Zm9yIG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJn" + - "byAvIEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxh" + - "bmU6Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1w" + - "bGFuZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1p" + - "dHMgZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRo" + - "ZSBkZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQg" + - "LW0gInJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBz" + - "eW5jIHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01T" + - "IHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBg" + - "YAoKTm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIg" + - "ZGVsZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBH" + - "aXRPcHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1" + - "c2UgYGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBg" + - "ZG93bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiou" + - "IFRoZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyBy" + - "ZWxlYXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25v" + - "cmUtbWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2Ug" + - "NCArIDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25k" + - "IHJ1bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29y" + - "eTogImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9u" + - "ImAg4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZg" + - "ICh0aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1" + - "biBgZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24u" + - "Ci0gYGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1l" + - "ZGlhdGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIg" + - "cGFzc2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1y" + - "dW4gd2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAg" + - "YW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNl" + - "IGBlcnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1Au" + - "IERvIG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25m" + - "aXJtCgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxg" + - "IGludm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUg" + - "dGhlIGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBs" + - "b3N0IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9j" + - "YWxgIHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIiku" + - "Ci0gSWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRo" + - "YXQgQ2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5k" + - "IHRoYXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29u" + - "ZmlybWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0" + - "ZXJzYCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhh" + - "bmVkLgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFp" + - "bmluZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9z" + - "dGVkIHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24g" + - "YSBDTEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVy" + - "IGNvbXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBu" + - "dmNhLWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4g" + - "bnZjYS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBu" + - "dmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgoj" + - "IERyYWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlk" + - "PTxpZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6" + - "CmNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxt" + - "ZmlsZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sg" + - "YnVuZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwg" + - "cGF0aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxs" + - "ZWQuCgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3Mg" + - "IndoeSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0" + - "ZWZ1bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVs" + - "bSB1bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhv" + - "c3RlZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxs" + - "eSBzbyBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUg" + - "Y29tcGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCBkb3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoK" + - "T3IsIHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0t" + - "YWxsCmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBz" + - "dGVwLgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZj" + - "Zi1jbGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBh" + - "aXIgd2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1j" + - "b2Rlcy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVk" + - "IGxpZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwt" + - "LS18LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxp" + - "Z2h0IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3Ry" + - "eSBjcmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWlu" + - "ZyBldmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wt" + - "cGxhbmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9u" + - "bHlgIG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVk" + - "IGNoZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wg" + - "cGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1" + - "bnRpbCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRl" + - "LXBsYW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIg" + - "bmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRo" + - "ZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBz" + - "dGRlcnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4g" + - "V2l0aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBg" + - "c2VsZi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3Zl" + - "IHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50" + - "OyBzZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5z" + - "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwg" + - "WUFNTCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1o" + - "b3N0ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3Rl" + - "ciBjbHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBP" + - "bmUgaW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0" + - "ZXItbmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0" + - "eSkgc3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFu" + - "ZXM7IGZvciBjb21wdXRlLW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNs" + - "dXN0ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50" + - "LWZyaWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBs" + - "YW5lIHJlZ2lzdGVyIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAt" + - "LWt1YmUtY29udGV4dD1ZIFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3Rl" + - "ciB3aXRoIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJh" + - "dG9yIHZhbHVlcyB8IHN1bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQ" + - "VSBjbHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNl" + - "bGYtaG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0" + - "PVlgIHwgSW5zdGFsbCBhIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBs" + - "YW5lIHJlZ2lzdGVyYCB3cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29t" + - "cHV0ZS1wbGFuZSByZWdpc3RlcmAuIEluc3RhbGxzIFYgd2hhdGV2ZXIgaXRzIG5hbWUsIG5ldmVy" + - "IGFub3RoZXIgdmFsdWVzIGZpbGUgYmVzaWRlIGl0IHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFst" + - "LWNsdXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBU" + - "VFkvcGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1o" + - "b3N0ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1w" + - "bGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAo" + - "bm8gSUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0g" + - "cmVsZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxs" + - "IC0tY29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBl" + - "ci1wbGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFu" + - "ZSB8IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVk" + - "IHVubGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0" + - "ZWQgdW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlh" + - "IGBoZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9w" + - "czsgcGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVz" + - "LiBNaXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + - "dXN0ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9y" + - "Y2hlc3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0" + - "ZXIgZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVw" + - "IC0tY2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJt" + - "XWAgfCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxh" + - "bmUgKyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBg" + - "LS1hbGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBu" + - "b24taW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBP" + - "cmNoZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyAr" + - "IEVUQXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBi" + - "ZWZvcmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29t" + - "bWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3Rl" + - "ciAtLW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8" + - "IFJlZ2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGlu" + - "dGVybmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVy" + - "IGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxm" + - "LWhvc3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4g" + - "dG9rZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIg" + - "cm90YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQg" + - "dG8gSUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBg" + - "Y2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVT" + - "VFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQg" + - "fCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlu" + - "cHV0LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0" + - "aW9uIElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlv" + - "bnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24g" + - "bGlzdGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8" + - "IHwKfCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBG" + - "dW5jdGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQg" + - "LS12ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdz" + - "IHwgfAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklE" + - "IC0tbGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25m" + - "aWcgfCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + - "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxh" + - "Z3MubWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxl" + - "PUZJTEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVm" + - "YXVsdCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZl" + - "cnNpb24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3Rh" + - "dHVzOiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBs" + - "b3kgdXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxh" + - "Y2UgfCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + - "b24taWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwK" + - "fCBgZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1" + - "bmN0aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9u" + - "cyBhcmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9k" + - "ZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0t" + - "ZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBs" + - "b3ltZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoK" + - "VGFzayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVk" + - "IGtleSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5k" + - "cG9pbnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZj" + - "Zi1jbGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dn" + - "aW5nIHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVn" + - "ZW5lcmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYg" + - "ZXhwaXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0" + - "byBtaW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1U" + - "WVBFIC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJ" + - "RCB0byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdz" + - "IHwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBF" + - "IC0taGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0" + - "YCByZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAg" + - "fCBTdWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9y" + - "IHJlcGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRV" + - "U10gWy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0" + - "dXMgfCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRF" + - "RGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9O" + - "YCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1g" + - "IHwgR2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9t" + - "aXR0ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVj" + - "eWNsZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExp" + - "c3QgcmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkg" + - "bGlzdCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxv" + - "YWQgbm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwg" + - "YSBydW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBg" + - "dGFzayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0" + - "YXRlIHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1" + - "c2VyIHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmlj" + - "IHRhc2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmly" + - "bWF0aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFN" + - "RT12YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJl" + - "IGFkZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJl" + - "cXVlc3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0" + - "YXNrIGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11" + - "bHRpcGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVy" + - "cG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4g" + - "ZnJvbSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVz" + - "IGB+Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxs" + - "IEFQSSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3Rh" + - "dGUgKHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBm" + - "cm9tIGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVu" + - "Y3Rpb25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1p" + - "bnQgQVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5j" + - "dGlvbiBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tg" + - "IGdlbmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBp" + - "LWtleSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRl" + - "IGVhY2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3Jy" + - "ZWN0IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMp" + - "IHwKfCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBM" + - "aXN0cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8g" + - "YGFwaS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3" + - "aXRoIHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkg" + - "a2V5IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + - "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1E" + - "SVJdYCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNs" + - "YXVkZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFz" + - "ZSBza2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0" + - "PURJUl1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUg" + - "dGFyZ2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNr" + - "aWxscyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBi" + - "dW5kbGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRk" + - "ZWQgZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50" + - "IGJ1aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsH" + - "CNF1wo8WJgAAFiYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlg" + - "IGV4aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2" + - "ZSBhZ2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFt" + - "cGxlIGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBw" + - "YXNzZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2Vu" + - "ZXJpYyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmls" + - "ZSBub3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sg" + - "ZmFpbGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdheSBBUEkg" + - "Q1JEcyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVmYXVsdCBT" + - "dG9yYWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2ggKG1pc3Np" + - "bmcga3ViZWNvbmZpZyBvciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQgZmFpbHMg" + - "Zm9yIGFueSByZWFzb246IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWplY3RlZCBj" + - "cmVkZW50aWFscywgYSBmYWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBlcnJvcik7" + - "IGEgY2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1h" + - "Z2UgcHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50" + - "YWdnZWQgaW1hZ2UpOyBhIGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFtZXNwYWNl" + - "IGBzdHVjayBUZXJtaW5hdGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVu" + - "IHRoZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1zZXZlcml0" + - "eSByZXN1bHRzIGV4aXQgYDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVsZXRpbmcs" + - "IGEgSGVsbSByZWxlYXNlIGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0aCBubyBI" + - "ZWxtIHJlbGVhc2UsIGFuZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBubyBgY2x1" + - "c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQg" + - "fCBObyB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsg" + - "aW5pdCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0t" + - "d2FpdGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQg" + - "ZGlkIG5vdCBwYXNzIGJlZm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBzdGlsbCBp" + - "biBwcm9ncmVzczsgdGhlIGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNrIHRoYXQg" + - "Y2FuIGZhaWwgdGhlIHJ1biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVu" + - "IG9yIGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hvcnQgcm93" + - "IGtlZXBzIHRoZSB3b3JzdCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28gYSBjaGVj" + - "ayB0aGF0IGNhbiBvbmx5IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5vdCBjcml0" + - "aWNhbCwgc3RheXMgYSB3YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3Vs" + - "dCBrZWVwcyBpdCwgc28gYSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8Cnwg" + - "YDEzMGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3IgYnkgYSBx" + - "dWl0IGtleSBpbiB0aGUgYGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJsLUM7IGBx" + - "YCwgYEVzY2Agb3IgYEN0cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4Y2VlZGVk" + - "OyBwb2QgZXZpY3RlZDsgdGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkLiBBIHNpZ25hbCBg" + - "Y2hlY2tgIHdhcyBzdGFydGVkIHdpdGggaWdub3JlZCBzdGF5cyBpZ25vcmVkLCBzbyBhIGBjaGVj" + - "a2AgcnVuIHVuZGVyIGBub2h1cGAgb3V0bGl2ZXMgdGhlIHNlc3Npb24gfAoKIyMgSG93IGFuIGFn" + - "ZW50IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBg" + - "MGAgfCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIg" + - "dG8gdXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVl" + - "ZCBhIGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBj" + - "aGVja3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNl" + - "ciBmaXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVy" + - "YWN0aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1" + - "c2VyIE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBk" + - "aWcgaW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9u" + - "J3QgcmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmly" + - "bSBiZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNo" + - "ZWNrYCByZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2As" + - "IGB2ZXJkaWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwg" + - "YHdhcm5pbmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFt" + - "cGxlcy9jaS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVk" + - "IGAtLXdhaXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBg" + - "c3VjY2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxl" + - "dGVkYCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBg" + - "dHJhbnNpZW50OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3Rv" + - "cHBlZCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBg" + - "KSBlbWl0cyBgZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2Vf" + - "ZmFpbGVkYDsgYHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBj" + - "bHVzdGVyLXZhbGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1j" + - "bGVhbnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFp" + - "bGVkKSwgYGNoZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUg" + - "YGZpbmFsYCBldmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51" + - "cGAgZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0" + - "cyBsYXN0IHN0ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9u" + - "Y2UsIGJlZm9yZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNo" + - "b3J0LiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2Vf" + - "ZmFpbGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVt" + - "ZWRpYXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJh" + - "Y2tvZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwg" + - "b3B0aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWdu" + - "YWwpLiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBh" + - "cnNpbmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCMn5RW9oEAAAaBAAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFn" + - "cy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdz" + - "IChldmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZj" + - "Zi1jbGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVy" + - "ciB8IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8g" + - "KG9mZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhv" + - "c3RlZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9" + - "Li4uYCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwg" + - "b3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24g" + - "fAp8IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNv" + - "dXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJ" + - "IFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwg" + - "SGVsbWZpbGUgZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGgg" + - "YC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3Mg" + - "YmVmb3JlIGl0cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7" + - "IHNlZSBbU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10" + - "aGUtc3RhY2spIHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxs" + - "IHN0ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwg" + - "b3ZlcnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxg" + - "IG9ubHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0t" + - "b3V0cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRl" + - "ZCwgcmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2Ug" + - "cGxhaW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9O" + - "YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0" + - "aGV5IHBhc3Mgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1" + - "Y2Nlc3M6IGZhbHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBK" + - "b2IsIHdoaWNoIGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1z" + - "a2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNs" + - "ZWFyLCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5k" + - "IGl0cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBB" + - "IGNoZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQg" + - "aXRzIGV2ZW50IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQSBjaGVjayB0aGF0IGNhbiBvbmx5" + - "IHdhcm4gYW5kIGlzIHN0b3BwZWQgb24gdHdvIHBvbGxzIGluIGEgcm93IGVuZHMgdGhlIHdhaXQg" + - "YXMgYSBzaW5nbGUgcnVuIHdvdWxkOiBleGl0IGAwYCB3aXRoIHRoZSB3YXJuaW5nLiBDYW5ub3Qg" + - "YmUgY29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0" + - "aXZlIERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8" + - "CnwgYC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNv" + - "bnRyb2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxh" + - "bmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEt" + - "MjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMg" + - "VVJMOyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9u" + - "bHkgYXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJM" + - "YCwgb3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYCwgYW5k" + - "IG5vdCBhdCBvbmUgZGVyaXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91cmxgIG9uIE5WSURJQSdzIGhv" + - "c3RlZCBgbnZjZi5udmlkaWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0ZW1wbGF0ZSdzIGlzOyB3aXRo" + - "IG5vbmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQg" + - "ZnJvbSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBy" + - "dW4gdGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3Ry" + - "eSBjb250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNy" + - "ZWRlbnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFy" + - "ZSByZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0t" + - "bG9jYWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgLCBgdHJ1" + - "ZWAgb3IgYGZhbHNlYCB8IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qg" + - "b25lIG9mIGAtLXByZWAsIGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3Ig" + - "YC0tYWxsYCBpcwpyZXF1aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3Ro" + - "ZXIgZmxhZyBzZWxlY3RzIGl0cyBvd24uIE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3Qg" + - "YSBjbHVzdGVyLiBQYXNzIGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRo" + - "ZW0gZXZlcnkgc2VsZWN0ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250" + - "ZXh0LgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJl" + - "YCB8IFByZS1mbGlnaHQ6IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4g" + - "U2tpcHMgU0lTIHJlYWNoYWJpbGl0eSwgc2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1" + - "bmxlc3MgYC0tYWxsYCBvciBgLS1jb21wdXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBg" + - "LS1hbGxgLCBvciB3aXRoIGEgcm9sZSdzIG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3Ig" + - "Y2hlY2tzIHRoZSBjbHVzdGVyIGFzIGluc3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVk" + - "IGBrdWJlY3RsYCwgYGhlbG1maWxlYCBvciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7" + - "IG90aGVyIHNjb3BlcyBjaGVjayBhbiBpbnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBv" + - "ZiB0aGVtLCBzbyBpdCB3YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hl" + - "Y2sgdGhlIGluc3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0" + - "aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBm" + - "YWxzZWAgfAp8IGAtLWNvbXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRl" + - "IHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVh" + - "Y2hhYmlsaXR5IGF0IGEgY29uZmlndXJlZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5l" + - "IGNsdXN0ZXItdmFsaWRhdG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJv" + - "bC1wbGFuZWAgYW5kIGAtLWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVk" + - "LCB3aXRoIG9yIHdpdGhvdXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBO" + - "QU1FYCB8IENsdXN0ZXIgbmFtZSBzaG93biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sg" + - "dXNlcyBpdCwgYW5kIGBjaGVja2AgZG9lcyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAt" + - "aW5vdGlmeS1jaGVja2AgfCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4g" + - "TmVlZGVkIHdoZW4gdGhlIGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRl" + - "ZmF1bHRgLCBvciB3aGVuIHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVl" + - "ZHMgY3JlZGVudGlhbHMsIHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4g" + - "SXRzIGBub2RlLWlub3RpZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQg" + - "d2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCwgYHRy" + - "dWVgIG9yIGBmYWxzZWAgfCBgZmFsc2VgIHwKCiMjIyBDbHVzdGVyLXZhbGlkYXRvciBmbGFncwoK" + - "VGhlIHZhbGlkYXRvciBydW5zIGFzIGEgSm9iIGluIHRoZSBjbHVzdGVyIGJlaW5nIGNoZWNrZWQu" + - "IFRoZSBDTEkgY3JlYXRlcyBhClNlcnZpY2VBY2NvdW50LCBDbHVzdGVyUm9sZSwgYW5kIENsdXN0" + - "ZXJSb2xlQmluZGluZyBmb3IgaXQsIHBsdXMgYSBSb2xlIGFuZApSb2xlQmluZGluZyBpbiBgZGVm" + - "YXVsdGAgdGhhdCBsZXQgaXQgcmVhZCBvbmx5IGl0cyBvd24gQ29uZmlnTWFwLCBhbmQgcmVtb3Zl" + - "cwp0aGVtIGFmdGVyIHRoZSBydW4sIHNvIHRoZSBrdWJlY29uZmlnIGNvbnRleHQgbmVlZHMgcGVy" + - "bWlzc2lvbiB0byBtYW5hZ2UgdGhvc2UuCkl0IHJlYWRzIHRoZSB2YWxpZGF0b3IncyB0cmFuc2Ny" + - "aXB0IHdpdGggYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAuCldpdGhvdXQgaXQsIGEg" + - "dmFsaWRhdG9yIEpvYiB0aGF0IHN1Y2NlZWRlZCBzdGlsbCBwYXNzZXMsIGFuZCBpdHMgcm93IHNh" + - "eXMgdGhlCnRyYW5zY3JpcHQgY291bGQgbm90IGJlIHJlYWQsIHNvIG5laXRoZXIgdGhlIGNoZWNr" + - "cyBpdCByYW4gbm9yIHdhcm5pbmdzIGl0CnJlcG9ydGVkIGFyZSBzaG93bi4KVGhlIENsdXN0ZXJS" + - "b2xlIGdyYW50cyBvbmx5IHRoZSBjYWxscyBlYWNoIHJvbGUncyBjaGVja3MgbWFrZTogcmVhZHMs" + - "IHRoZQpuYW1lc3BhY2UsIERhZW1vblNldCBhbmQgcG9kIHdyaXRlcyBvZiB0aGUgY29udHJvbC1w" + - "bGFuZSBub2RlLXRvLW5vZGUgcHJvYmUsCmFuZCBkZWxldGluZyB0ZXN0IG5hbWVzcGFjZXMgYW4g" + - "ZWFybGllciB2YWxpZGF0b3IgcnVuIGxlZnQgYmVoaW5kLgoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2UgUkVGYCB8" + - "IFZhbGlkYXRvciBpbWFnZS4gUmVzb2x1dGlvbiBvcmRlcjogZmxhZywgYE5WQ0ZfQ0xJX0NMVVNU" + - "RVJfVkFMSURBVE9SX0lNQUdFYCwgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2Vg" + - "LiBBIHJlZiB3aXRoIG5vIHRhZyBkaXNjb3ZlcnMgdGhlIGxhdGVzdCBzdGFibGUgdGFnIGZyb20g" + - "dGhlIHJlZ2lzdHJ5LiBJZiBubyB0YWcgY2FuIGJlIGRpc2NvdmVyZWQsIHRoZSB2YWxpZGF0b3Ig" + - "ZG9lcyBub3QgcnVuIGFuZCBpdHMgcm93IGZhaWxzIHRoZSBjaGVjaywgc2F5aW5nIHRvIHBpbiBh" + - "IHRhZzsgYC0td2FpdGAgdHJpZXMgYWdhaW4gb24gZXZlcnkgcG9sbC4gVW5zZXQgZXZlcnl3aGVy" + - "ZSwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGVhY2ggcm9sZSdzIGBjbHVzdGVyLXZh" + - "bGlkYXRvcmAgcm93IGlzIGEgd2FybmluZywgc28gdGhlIHZlcmRpY3QgaXMgYHdhcm5pbmdzYCB8" + - "IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXJlZ2lzdHJpZXMgaG9zdFs6cG9ydF1bL3BhdGhd" + - "LC4uLmAgfCBFeHRyYSByZWdpc3RyaWVzIHRvIGNoZWNrOiB0aGVpciBjcmVkZW50aWFscyBmcm9t" + - "IHRoaXMgbWFjaGluZSwgYW5kIHRoZWlyIHJlYWNoYWJpbGl0eSBmcm9tIGEgcG9kIG9mIHRoZSBj" + - "b250cm9sLXBsYW5lIHZhbGlkYXRvci4gQSBwYXRoIHNjb3BlcyB0aGUgY3JlZGVudGlhbCBjaGVj" + - "aywgYXMgaW4gYGhhcmJvci5leGFtcGxlLmNvbS9udmNmYC4gVGhleSBhcmUgYWRkZWQgdG8gdGhl" + - "IHJlZ2lzdHJpZXMgdGhlIGluc3RhbGwgcHVsbHMgZnJvbTogdGhlIHZhbGlkYXRvciBpbWFnZSdz" + - "IHJlZ2lzdHJ5LCB0aGUgc3RhY2sncyBgZ2xvYmFsLmltYWdlLnJlZ2lzdHJ5YCBhbmQgYGdsb2Jh" + - "bC5pbWFnZS5yZXBvc2l0b3J5YCwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdlciBB" + - "Q01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9yIHNl" + - "dHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVkLCBh" + - "cyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNrIG5h" + - "bWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5j" + - "ZSB0aGUgcG9kIGhhcyBubyBwcm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1h" + - "bmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVS" + - "X1ZBTElEQVRPUl9SRUdJU1RSSUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVn" + - "aXN0cmllc2AsIGEgbGlzdCBvZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0" + - "ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlm" + - "eSBwcm9iZSBhbmQgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92" + - "ZXJsYXkgcHJvYmUuIE5lZWRzIGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBt" + - "aXJyb3IgZm9yIGFpci1nYXBwZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFM" + - "SURBVE9SX1BST0JFX0lNQUdFYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVf" + - "aW1hZ2VgIHwgYGJ1c3lib3g6MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZh" + - "bGlkYXRvci1leHRlcm5hbC1jb21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2ll" + - "cyB0aGF0IHJ1biBvdXRzaWRlIHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlk" + - "YXRvciBkb2VzIG5vdCBsb29rIGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBg" + - "bmF0c2AsIGBvcGVuYmFvYCBhbmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0" + - "aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8g" + - "YE5WQ0ZfRVhURVJOQUxfQ09NUE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2Ug" + - "YDxuYW1lPi5lbmFibGVkYCB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55" + - "dGhpbmcgYnV0IGB0cnVlYC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJO" + - "QUxfQ09NUE9ORU5UU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2Nv" + - "bXBvbmVudHNgLCBhIGxpc3Qgb2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rl" + - "ci12YWxpZGF0b3ItdG9sZXJhdGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVy" + - "YXRpb25zIGFkZGVkIHRvIHRoZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxh" + - "bmUgb25lcyBpdCBhbHdheXMgY2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBv" + - "dGhlciB0YWludHMuIEVmZmVjdCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBv" + - "ciBgTm9FeGVjdXRlYC4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVh" + - "dGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + - "Ul9UT0xFUkFUSU9OU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25z" + - "YCwgYSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0" + - "aW9uIG9iamVjdHMgfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1F" + - "YCB8IGRvY2tlci1yZWdpc3RyeSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUg" + - "dmFsaWRhdG9yIGltYWdlLiBXaGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3Bl" + - "cmF0b3IgY3JlYXRlZCBpbiBgZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWls" + - "aW5nIHRoYXQsIGl0IGNvcGllcyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBl" + - "bnRyeSwgZnJvbSBhIFNlY3JldCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRg" + - "IGZvciB0aGUgcnVuLiBGYWlsaW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZy" + - "b20gdGhpcyBtYWNoaW5lJ3MgY3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRo" + - "ZSBgcmVnaXN0cnktY3JlZGVudGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3Mg" + - "ZGV0YWlsIHNheXMgd2hhdCB3YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwg" + - "YXV0by1kZXRlY3QgfAp8IGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGlu" + - "LWNsdXN0ZXIgdmFsaWRhdG9yIHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNv" + - "bmZpZ3VyZWQgYnV0IGNhbm5vdCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBv" + - "cHQgb3V0IGV4cGxpY2l0bHksIGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1" + - "bGwgdGhlIGltYWdlLiBFYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBh" + - "c3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxG" + - "SE9TVEVEX1NLSVBfQ0xVU1RFUl9WQUxJREFUSU9OYCwgYHRydWVgIG9yIGBmYWxzZWAgfCBgZmFs" + - "c2VgIHwKfCBgLS1uby1jbGVhbnVwYCB8IEtlZXAgdGhlIHZhbGlkYXRvciBKb2IsIGl0cyBwb2Qs" + - "IFJCQUMsIHB1bGwgc2VjcmV0IGFuZCBDb25maWdNYXAgZm9yIGRlYnVnZ2luZy4gQSBrZXB0IEpv" + - "YiB3aG9zZSBwb2QgY2Fubm90IHB1bGwgaXRzIGltYWdlIGlzIHN1c3BlbmRlZCwgc28gaXRzIHBv" + - "ZCBpcyBkZWxldGVkIHJhdGhlciB0aGFuIHJldHJ5aW5nIGZvcmV2ZXI7IGluc3BlY3QgaXQgd2l0" + - "aCBga3ViZWN0bCBkZXNjcmliZSBqb2JgLiBBIGxhdGVyIGNoZWNrIHRoYXQgcnVucyB0aGUgdmFs" + - "aWRhdG9yIHJlbW92ZXMgdGhlbSBvbmNlIHRoZXkgYXJlIDI0IGhvdXJzIG9sZC4gVGhlIHJvdywg" + - "dGhlIGBmaW5hbGAgZXZlbnQncyBgY2xlYW51cGAgbGlzdCBhbmQgdGhlIGxhc3Qgc3RkZXJyIGxp" + - "bmVzIHByaW50IHRoZSBjb21tYW5kIHRoYXQgcmVtb3ZlcyB0aGVtIG5vdy4gQ2Fubm90IGJlIGNv" + - "bWJpbmVkIHdpdGggYC0td2FpdGAgfCBgZmFsc2VgIHwKfCBgLS1zaG93LWxvZ3NgIHwgUHJpbnQg" + - "ZWFjaCB2YWxpZGF0b3IgdHJhbnNjcmlwdCB0byBzdGRlcnIgYWZ0ZXIgdGhlIGNoZWNrIGV2ZW50" + - "cywgZnJhbWVkIGJ5IGAtLS0gY2x1c3Rlci12YWxpZGF0b3IgbG9ncyAoPGNhdGVnb3J5PikgLS0t" + - "YCBhbmQgYSBtYXRjaGluZyBlbmQgbGluZSwgd2hlcmUgdGhlIGNhdGVnb3J5IGlzIGBjb250cm9s" + - "LXBsYW5lLWNsdXN0ZXJgIG9yIGBjb21wdXRlLXBsYW5lLWNsdXN0ZXJgLiBUaGUgdHJhbnNjcmlw" + - "dCBpcyBub3QgSlNPTiwgYW5kIGAtLWpzb25gIGFsc28gd3JpdGVzIHRvIHN0ZGVyciwgc28gbGVh" + - "dmUgdGhpcyBvZmYgd2hlbiBhIHBhcnNlciBpcyByZWFkaW5nIHRoZSBzdHJlYW0gfCBgZmFsc2Vg" + - "IHwKCiMjIyBSZWdpc3RyeSBjcmVkZW50aWFscwoKYGNoZWNrYCBwcm9iZXMgZWFjaCByZWdpc3Ry" + - "eSBhYm92ZSBmcm9tIHRoaXMgbWFjaGluZSB3aXRoIGl0cyBsb2NhbApjcmVkZW50aWFsLCB0aGUg" + - "b25lIGBkb2NrZXJgIHdvdWxkIHVzZTogYCRET0NLRVJfQ09ORklHL2NvbmZpZy5qc29uYCwgb3IK" + - "YH4vLmRvY2tlci9jb25maWcuanNvbmAsIHRocm91Z2ggYW55IGBjcmVkc1N0b3JlYCBvciBgY3Jl" + - "ZEhlbHBlcnNgIGhlbHBlci4KRm9yIGBudmNyLmlvYCB0aGUgTkdDIEFQSSBrZXkgaXMgYWxzbyBy" + - "ZWFkLCBmcm9tIHRoZSBmaXJzdCBvZgpgTkdDX0lNQUdFX1BVTExfQVBJX0tFWWAsIGBOVkNGX05H" + - "Q1JfQVBJX0tFWWAsIGBOVkNGX05HQ19BUElfS0VZYCBhbmQKYE5HQ19BUElfS0VZYCB0aGF0IGlz" + - "IHNldC4gSXQgZ29lcyBhaGVhZCBvZiB0aGUgZG9ja2VyIGxvZ2luIG9ubHkgd2hlbiB0aGUKcmVn" + - "aXN0cnkgY2hlY2sncyBwbGFuZSwgYmVsb3csIGlzIGNoZWNrZWQgYmVmb3JlIGl0cyBpbnN0YWxs" + - "IHdpdGggdGhlCmBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVs" + - "bCBzZWNyZXRzIGZyb20gaXQsIGFuZCBpdCBpcwpuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0" + - "cnkuIEVsc2V3aGVyZSB0aGUga2V5CmlzIHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9n" + - "aW4sIG9yIGZvciBhIHJlcG9zaXRvcnkgd2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhlIGRvY2tl" + - "ciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVzIGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlzIGlzCmRl" + - "Y2lkZWQgb25jZSBwZXIgcmVwb3NpdG9yeSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRoZSByb3cg" + - "YW5kIHRoZQp2YWxpZGF0b3IncyBwdWxsIHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJlZSBnZXQg" + - "dGhlIHNhbWUgY3JlZGVudGlhbCwgYW5kIGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8gb25lIG9y" + - "ZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3MgaXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0ZWQgYXMg" + - "bm8gYWNjZXNzIHRvIHRoYXQgcmVwb3NpdG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBsb2dpbi4g" + - "RWFjaApgLS13YWl0YCBwb2xsIHJlYWRzIHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dp" + - "biByZW5ld2VkIHdoaWxlIHRoZSBydW4Kd2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpU" + - "aGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBhY2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJl" + - "cG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFjaydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9i" + - "YWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVuCmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3Rh" + - "Y2sgcGF0aCBvZiBvbmUgc2VnbWVudCwgc3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBu" + - "b3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNpbmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LgoKVGhlIHJl" + - "Z2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUg" + - "cmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0" + - "aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0" + - "YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBg" + - "LS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNv" + - "bnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRz" + - "IGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lz" + - "dHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3Ry" + - "eSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBCZWZvcmUgaW5zdGFsbCB0aGF0IGluY2x1" + - "ZGVzIGEgZG9ja2VyCmxvZ2luIGBudmNyLmlvYCByZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtl" + - "eSB3b3JrcyBpbiBpdHMgcGxhY2UsIHNpbmNlCmBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMg" + - "dGhlIHN0YWNrJ3MgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhlCmtleSBpcyBzdGls" + - "bCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQs" + - "IGFuZCB0aGUKcm93IG5hbWVzIGJvdGguIEFmdGVyIGluc3RhbGwgYSByZWplY3RlZCBkb2NrZXIg" + - "bG9naW4gc3RpbGwgZmFpbHMuIEEgcmVqZWN0ZWQKTkdDIGtleSBpcyBhIHdhcm5pbmcgb25seSB3" + - "aGVuIGBjaGVja2AgcmVhZHMgdGhlIHB1bGwgc2VjcmV0cyBvZiB0aGUgY2x1c3RlcnMKaXQgdmlz" + - "aXRzLCBpbiB0aGUgbmFtZXNwYWNlcyB0aGUgdmFsaWRhdG9yIGNvcGllcyBwdWxsIHNlY3JldHMg" + - "ZnJvbSwgYW5kCm5vbmUgb2YgdGhlbSBob2xkcyB0aGF0IGtleTsgd2hlbiBvbmUgZG9lcywgb3Ig" + - "dGhleSBjYW5ub3QgYWxsIGJlIHJlYWQsIGl0IGlzCmFuIGVycm9yLiBBIGRvY2tlciBsb2dpbiB0" + - "aGUgTkdDIGtleSByZXBsYWNlZCBwYXNzZXMgYWZ0ZXIgaW5zdGFsbCBvbmx5IHdoZW4Kbm9uZSBv" + - "ZiB0aG9zZSBwdWxsIHNlY3JldHMgaG9sZHMgaXQ6IHdoZW4gb25lIGRvZXMgaXQgaXMgYW4gZXJy" + - "b3IsIGFuZCB3aGVuCnRoZXkgY2Fubm90IGFsbCBiZSByZWFkIGEgd2FybmluZy4gQSByZWdpc3Ry" + - "eSB0aGlzIG1hY2hpbmUgY2Fubm90IHJlYWNoLCBhCnRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywg" + - "YW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFyZSB3YXJuaW5ncy4gQQpyZWdpc3RyeSB0" + - "aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFzaWMg" + - "YXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBIHJl" + - "Z2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQg" + - "YXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJv" + - "bSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBD" + - "TEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcg" + - "a2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNr" + - "IHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBg" + - "aW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2ly" + - "ZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0" + - "cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBh" + - "bmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNG" + - "X0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRy" + - "aWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdh" + - "eSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2Ug" + - "fCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lf" + - "R0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3Bl" + - "bmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0" + - "cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZD" + - "Rl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdl" + - "Q2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4" + - "aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdF" + - "X0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BB" + - "Q0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXBy" + - "b2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBh" + - "Ym92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVz" + - "IG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQg" + - "aXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRl" + - "ZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMg" + - "aW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRo" + - "ZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBp" + - "cyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMg" + - "bm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNl" + - "ZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9y" + - "IHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0aGUg" + - "Y29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAg" + - "ZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9tIHRo" + - "ZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUu" + - "IEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNlIHRo" + - "ZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVp" + - "bHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFi" + - "b3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUg" + - "c3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9t" + - "IHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoK" + - "IyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + - "LS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVy" + - "IChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZj" + - "Zi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13" + - "ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRB" + - "cyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUg" + - "TkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1" + - "c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdh" + - "dGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBv" + - "bmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVu" + - "dHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVy" + - "YC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18Cnwg" + - "YC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlk" + - "IElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdp" + - "b24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBm" + - "cm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0" + - "ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAt" + - "c3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5" + - "cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBI" + - "dW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlg" + - "IHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAs" + - "IGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVz" + - "IFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZv" + - "cmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2gg" + - "Z2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRl" + - "bmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgICho" + - "b3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3Bl" + - "Y2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUg" + - "ZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBu" + - "YW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0t" + - "aW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8" + - "IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8" + - "CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0" + - "eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJM" + - "IG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1g" + - "IGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQt" + - "c2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNo" + - "YXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2Rl" + - "bHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJs" + - "ZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBg" + - "bmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + - "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1" + - "ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBg" + - "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNl" + - "IGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0t" + - "bGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCBy" + - "ZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8" + - "CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNj" + - "b3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlz" + - "dGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0g" + - "fAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxs" + - "bUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxl" + - "IHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBw" + - "YXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92" + - "MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9y" + - "b2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBg" + - "cmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBj" + - "b21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4t" + - "PHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gICht" + - "aW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRp" + - "c3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1" + - "MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBj" + - "aGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhl" + - "bG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwg" + - "YGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29u" + - "ZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUg" + - "dGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VO" + - "YW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+" + - "Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlv" + - "biwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0" + - "aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vz" + - "c2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBu" + - "b3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5j" + - "dGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1" + - "cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5S" + - "YXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1s" + - "bG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04g" + - "Zm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0" + - "eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1" + - "cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3Zl" + - "cnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJ" + - "VFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRz" + - "IHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBw" + - "cmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVs" + - "VXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGlu" + - "Z01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNy" + - "ZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRl" + - "cy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBG" + - "SUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90" + - "IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1" + - "bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFN" + - "RWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tV" + - "IHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGlj" + - "YXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8" + - "IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0" + - "OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwg" + - "VGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoK" + - "IyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1l" + - "bmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwg" + - "RmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwg" + - "VGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlB" + - "LVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAt" + - "LWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBF" + - "YCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhh" + - "bXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBp" + - "bWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxt" + - "LWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxs" + - "eSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09O" + - "IHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90" + - "aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8" + - "IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUg" + - "aW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwg" + - "QXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcs" + - "IGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVu" + - "diBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJs" + - "ZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFy" + - "aWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRp" + - "bWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQ" + - "VDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVl" + - "dWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElT" + - "TyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNl" + - "IERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwg" + - "U2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05F" + - "YCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0" + - "cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmct" + - "bmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3Ry" + - "YXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVs" + - "IGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpV" + - "UklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ss" + - "VEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRF" + - "WFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURg" + - "IHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRy" + - "eS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJh" + - "Y2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + - "IHwKUEsHCEpXSMskXAAAJFwAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIj" + - "IFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBh" + - "bmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVu" + - "dHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRy" + - "eSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQg" + - "YSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVh" + - "Y2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2Zh" + - "aWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxp" + - "ZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5k" + - "IGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBD" + - "YXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBv" + - "biBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4g" + - "ZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4g" + - "aW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJu" + - "ZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBu" + - "b3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hl" + - "bG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8" + - "IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0" + - "b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2Fy" + - "bmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3" + - "YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBu" + - "dmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0t" + - "Y2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBj" + - "b21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwg" + - "VGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDog" + - "UkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRo" + - "ZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRh" + - "dGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlw" + - "dCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2Vk" + - "LCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNr" + - "cyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fu" + - "bm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQg" + - "cmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Ig" + - "cm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3Jh" + - "bnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3Jp" + - "cHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rl" + - "ci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0" + - "YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcg" + - "b2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95" + - "LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRv" + - "ciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBD" + - "bHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25l" + - "IHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEi" + - "OnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1j" + - "bGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0" + - "YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBj" + - "bGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1" + - "cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBu" + - "b2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBO" + - "VklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBl" + - "ciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3Bl" + - "cmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUt" + - "b3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlz" + - "IGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRp" + - "bmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0" + - "aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRp" + - "b24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmlu" + - "YWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJl" + - "Y3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0" + - "IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29s" + - "dmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9u" + - "bHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWlu" + - "YXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24g" + - "aXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVu" + - "IGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJt" + - "aW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChI" + - "ZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcg" + - "fCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBs" + - "ZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBg" + - "dXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCBy" + - "ZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRo" + - "IGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNl" + - "c2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVu" + - "cyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZv" + - "bHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBB" + - "IHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1" + - "YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwg" + - "eGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZv" + - "dW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50" + - "IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMg" + - "YG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxl" + - "YXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklW" + - "RVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUg" + - "ZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBh" + - "cmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9u" + - "IG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlv" + - "bjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9t" + - "IHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyBy" + - "ZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNr" + - "KTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVM" + - "TUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBs" + - "YW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3" + - "aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVy" + - "YCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBh" + - "c3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBp" + - "bnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVk" + - "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90" + - "IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8" + - "IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50" + - "ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRo" + - "bSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24u" + - "anNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3Rh" + - "dGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVk" + - "IGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2" + - "ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0t" + - "ZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAK" + - "CnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBg" + - "dGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQg" + - "UFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNr" + - "IGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQ" + - "VSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmll" + - "bGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgx" + - "MDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVz" + - "dCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFu" + - "ZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNz" + - "IGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVp" + - "cmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0" + - "ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsg" + - "RXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBh" + - "IHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFj" + - "a09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVn" + - "aXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBu" + - "dmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRl" + - "LXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0t" + - "LXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBg" + - "L3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJl" + - "Z2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNu" + - "J3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkg" + - "fAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlk" + - "PmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1w" + - "bGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUg" + - "LS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGlu" + - "IGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcg" + - "b3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsg" + - "Y2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBE" + - "RVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVy" + - "KSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwg" + - "bG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1j" + - "YWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0" + - "aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQ" + - "RT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHBy" + - "ZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRp" + - "YWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2Bn" + - "ZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVs" + - "YXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBg" + - "bnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFw" + - "cGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1" + - "cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCBy" + - "ZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4" + - "s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRl" + - "IE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFu" + - "ZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFs" + - "bGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMs" + - "IGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0" + - "aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBs" + - "YW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRl" + - "cGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0" + - "aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNo" + - "ZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwg" + - "aGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIg" + - "dmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52" + - "aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhl" + - "bG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXBy" + - "b2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1No" + - "ZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UK" + - "ICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5j" + - "b20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZp" + - "bGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmls" + - "ZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBb" + - "YmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9t" + - "YWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sg" + - "T3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1w" + - "bGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25z" + - "CgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBp" + - "biBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBs" + - "YW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUg" + - "aGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBG" + - "dW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0t" + - "ZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRy" + - "YWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0" + - "aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFu" + - "ZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0" + - "YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29u" + - "dHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55" + - "YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUt" + - "cGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55" + - "YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQg" + - "bWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkg" + - "cmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8" + - "dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZj" + - "Zi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFu" + - "ZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93" + - "CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxh" + + "bmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMu" + + "aW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAg" + + "IHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5" + + "Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdh" + + "eS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwog" + + "ICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwg" + + "YXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlv" + + "L3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5" + + "CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNz" + + "TmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2Nv" + + "bDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5h" + + "bWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoK" + + "ICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAi" + + "dHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDog" + + "MTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAg" + + "ICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNo" + + "TGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBg" + + "YAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNw" + + "ZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBH" + + "YXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8g" + + "bm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2Uu" + + "CgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6" + + "CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0" + + "IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4" + + "cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRU" + + "UF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1F" + + "U1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1n" + + "YXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdh" + + "dGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1t" + + "ZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQ" + + "QUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRp" + + "dGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQURE" + + "Uj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRI" + + "VFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNb" + + "MF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIk" + + "R1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIg" + + "XAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRl" + + "c3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZ" + + "X0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgog" + + "ICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQg" + + "YnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0" + + "aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRk" + + "cmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0" + + "cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7" + + "R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEw" + + "MDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgog" + + "ICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDog" + + "ImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNL" + + "X0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9u" + + "cy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNm" + + "LWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGll" + + "bnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9v" + + "c2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xvZ3kuIGAtLWpzb25gIHdyaXRlcwogICBK" + + "U09OTCB0byBzdGRlcnIsIHNvIHJlZGlyZWN0IGl0IHRvIHRoZSBwYXJzZXIgYW5kIGtlZXAgb25s" + + "eSBKU09OIGxpbmVzOgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsn" + + "ID4gY2hlY2suanNvbmwKCiAgICMgU3BsaXQ6IHBhc3MgYm90aCBjb250ZXh0IGZsYWdzCiAgIG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBc" + + "CiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgog" + + "ICAjIEdhdGUgb24gdGhlIGZpbmFsIGV2ZW50LiBBIG1pc3NpbmcgZmluYWwgZXZlbnQgYWxzbyBm" + + "YWlscyB0aGUgZ2F0ZS4KICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQg" + + "LnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93" + + "IHRoZSB1c2VyIGVhY2ggYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgd2l0aAogICBgcGFzc2VkOiBm" + + "YWxzZWAgYW5kIGBzZXZlcml0eTogImVycm9yImAgKGl0cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJM" + + "YCksIGFuZAogICBzdG9wLiBEb24ndCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJl" + + "cmVxcy4gUm93cyBhdAogICBgc2V2ZXJpdHk6ICJ3YXJuaW5nImAgZG8gbm90IGZhaWwgdGhlIGdh" + + "dGU7IG1lbnRpb24gdGhlbS4gRm9yIGFuIG9wZXJhdG9yCiAgIHdpdGgga3ViZWN0bCBhY2Nlc3Mg" + + "dG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seSwgdXNlIHRoZSBjb21wdXRlLW9ubHkgZm9ybSBpbgog" + + "ICBbYWRkLWNvbXB1dGUtcGxhbmUubWRdKGFkZC1jb21wdXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoK" + + "NC4gTWludCBhbiBhZG1pbiB0b2tlbiBpZiBuZWVkZWQuIGBudmNmLWNsaSBpbml0YCBpcyBpZGVt" + + "cG90ZW50LiBDYWxsIGl0IGlmIHRoZQogICB1c2VyIGRvZXMgbm90IGhhdmUgYSBzZXNzaW9uIHll" + + "dC4gSW5pdCB0YWxrcyB0byBBUEkgS2V5cyB0aHJvdWdoIHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3" + + "YXksIHNvIGl0IGFsc28gd29ya3MgaW4gY29tcHV0ZS1vbmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4g" + + "VXNlIGAtLWpzb25gIGZvciB0aGUgSlNPTkwgZXZlbnQgc3RyZWFtOgoKICAgYGBgc2gKICAgbnZj" + + "Zi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFN" + + "RX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9O" + + "fSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIEZvciBzcGxpdC1jbHVzdGVyIGluc3RhbGxzLCBh" + + "ZGQgYm90aCBjb250ZXh0IGZsYWdzOgoKICAgYGBgc2gKICAgZXhwb3J0IENPTlRST0xfUExBTkVf" + + "Q09OVEVYVD0iYWRtaW5AY29udHJvbC1wbGFuZSIKICAgZXhwb3J0IENPTVBVVEVfUExBTkVfQ09O" + + "VEVYVD0iYWRtaW5AZ3B1LWNsdXN0ZXIiCgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAg" + + "ICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9IiR7Q09OVFJPTF9QTEFORV9DT05URVhUfSIgXAog" + + "ICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIke0NPTVBVVEVfUExBTkVfQ09OVEVYVH0iIFwK" + + "ICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7" + + "TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBg" + + "CgogICBQYXJzZSBldmVudHM6CiAgIC0gYHBoYXNlX3N0YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRl" + + "ZGA6IGxvZyBwcm9ncmVzcwogICAtIGBwaGFzZV9wcm9ncmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9y" + + "IHRoZSBsb25nIGFwcGx5IHBoYXNlcyAocmVzb3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYDog" + + "c3VyZmFjZSB0byB0aGUgdXNlciBpZiBpdCBwZXJzaXN0cyBmb3IgbW9yZSB0aGFuIDIgbWludXRl" + + "cwogICAtIGBwaGFzZV9mYWlsZWRgOiBzdG9wIGFuZCBzdXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVz" + + "IGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5lLgogICAgIERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFz" + + "c2A6IGBpbW1lZGlhdGVgIC0+IG1heSByZS1ydW4gbm93IHdpdGggdXNlcgogICAgIGFwcHJvdmFs" + + "OyBgYmFja29mZmAgLT4gd2FpdCBgcmV0cnlBZnRlclNlY2AgYW5kIHRoZW4gcmUtcnVuIHdpdGgg" + + "dXNlcgogICAgIGFwcHJvdmFsOyBgYWZ0ZXJfcmVtZWRpYXRpb25gLCBgbm9uZWAsIG9yIGB1bmtu" + + "b3duYCAtPiB0aGUgb3BlcmF0b3IgbXVzdAogICAgIGFjdCBmaXJzdCwgc28gZG8gbm90IGF1dG8t" + + "cmV0cnkuCiAgIC0gYGZpbmFsYDogZG9uZS4gUHJpbnQgY2x1c3RlcklkIGFuZCBOVkNGQmFja2Vu" + + "ZCBoZWFsdGguCgo2LiBWZXJpZnkgd2l0aCBzdGF0dXMuIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0" + + "ZWQgc3RhdHVzIC0tanNvbiB8IGpxYCBhbmQgZXhwZWN0CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJg" + + "LiBPdGhlcndpc2UsIHVzZQogICBbZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3Nl" + + "LWZhaWxlZC1pbnN0YWxsLm1kKS4KCjcuIE9wdGlvbmFsbHkgc21va2UgdGVzdCBhIGZ1bmN0aW9u" + + "LiBVc2UKICAgW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9y" + + "IHRoZSBjcmVhdGUgLT4gZGVwbG95IC0+CiAgIGludm9rZSBmbG93LgoKIyMgTm90ZXMKCi0gU2lu" + + "Z2xlLWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGEgZnJlc2ggY2x1c3RlciB0YWtlcyBhYm91dCAxMC0x" + + "MyBtaW51dGVzLAogIGRlcGVuZGluZyBvbiBjaGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVh" + + "bS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBpZGVtcG90ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1" + + "biBhZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNpdGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAg" + + "KG5vIGNvbW1hbmQgdGFrZXMgb25lIGFueXdheSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRD" + + "SWAgc2V0LCBhbHdheXMgdXNlIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZl" + + "ciBwcm9wb3NlIGBudmNmLWNsaSBpbml0YCBpbnRlcmFjdGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "cHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVy" + + "J3MgSldLUwoKVXNlciBzYXlzIE5WQ0Egc3RvcHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBh" + + "dXRoIGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01TLiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2ln" + + "bmluZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQgYW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlz" + + "IG5vdyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1z" + + "eXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9u" + + "IGAvdjEvbnZjYS9jbHVzdGVycy88aWQ+L3JlZ2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dz" + + "IHNob3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8" + + "aWQ+YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNtYXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4" + + "ZXMgYm90aCkKLSBBZnRlciBhIGNvbnRyb2wtcGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1w" + + "bGFuZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1" + + "biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWlj" + + "bXMtdXJsPSRJQ01TYC4gSWRlbnRpZnkgdGhlIHJvdyBtYXRjaGluZyB0aGUgdXNlcidzIGNvbXB1" + + "dGUgcGxhbmUuCgoyLiAqKlJvdGF0ZS4qKiBVc2UgYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRo" + + "ZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAoYmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRo" + + "ZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandrc2ApLiBXcml0ZSB0aGF0IGNvbnRleHQgYWxvbmUg" + + "dG8gYSB0ZW1wb3Jhcnkga3ViZWNvbmZpZyBhbmQgcGFzcyBpdCB3aXRoIGAtLWt1YmVjb25maWdg" + + "LCBzbyB0aGUgY3VycmVudCBjb250ZXh0IG9mIHlvdXIga3ViZWNvbmZpZyBzdGF5cyBhcyBpdCB3" + + "YXM6CgogICBgYGBzaAogICBLQz0kKG1rdGVtcCkKICAga3ViZWN0bCBjb25maWcgdmlldyAtLW1p" + + "bmlmeSAtLWZsYXR0ZW4gLS1jb250ZXh0PTxjdHg+ID4gIiRLQyIgJiYKICAgICBudmNmLWNsaSBj" + + "bHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPiAtLWt1YmVjb25maWc9IiRLQyIKICAgcm0g" + + "LWYgIiRLQyIKICAgYGBgCgogICBgY2x1c3RlciByb3RhdGVgIHJlLWZldGNoZXMgSldLUyBmcm9t" + + "IHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJQ01TLiBUaGUgY2x1" + + "c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4gVGhlIHRlbXBvcmFyeSBmaWxlIGhvbGRzIHRoZSBjb250" + + "ZXh0J3MgY3JlZGVudGlhbHM6IGBta3RlbXBgIG1ha2VzIGl0IHJlYWRhYmxlIG9ubHkgYnkgeW91" + + "LCBhbmQgYHJtYCByZW1vdmVzIGl0LgoKMy4gKipWZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIg" + + "Z2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29uZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4g" + + "VGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + + "bWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3RlciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAo" + + "MjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVs" + + "ZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhlIGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVs" + + "ZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3UgaGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0" + + "ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24ndCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0" + + "ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBSb3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRo" + + "ZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFzIHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMg" + + "SWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRoZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEg" + + "ZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0gTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChg" + + "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2" + + "aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4gYGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lk" + + "YCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZhbC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBh" + + "dXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRlIHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + + "bC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwip" + + "wSb3LgkAAC4JAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxm" + + "LWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FGRVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBl" + + "cnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0" + + "ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBz" + + "dGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Igb25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBw" + + "ZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5" + + "bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUgKFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBV" + + "cCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUgfAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5l" + + "IHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRPcHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1j" + + "b250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0t" + + "Y29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3Ry" + + "YXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsgSUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9" + + "WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAvIGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25g" + + "IGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5pbnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQg" + + "WUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNjcmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0" + + "YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9u" + + "IHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18Cnwg" + + "YC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAgKG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBX" + + "YWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsg" + + "RVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQgc3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8" + + "IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoq" + + "WWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9yIGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVz" + + "dGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFu" + + "LW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNob3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFz" + + "ZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4KLSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1j" + + "b21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBg" + + "a3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAojIFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmly" + + "c3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9" + + "bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAgMjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ug" + + "d2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENvbW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3Zl" + + "IHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1" + + "c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYt" + + "aG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhv" + + "dXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFu" + + "LW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJHaXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJn" + + "byBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1h" + + "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8Cnwg" + + "Ikp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2VzIG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNN" + + "UyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUg" + + "Y29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmlu" + + "c3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBTdGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5h" + + "bWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMjIDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUg" + + "dXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsg" + + "Y29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3IganVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0g" + + "IkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVwbG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBg" + + "bnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3RgIHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQg" + + "YGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0tZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBp" + + "ZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENh" + + "c3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBE" + + "ZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVtLiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0" + + "cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVu" + + "IHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4t" + + "b25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBg" + + "cGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBoYXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0" + + "IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNNUyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3Zl" + + "ZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRv" + + "IHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxpdGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAg" + + "aW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRo" + + "ZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSRO" + + "QU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBtaXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxp" + + "Z2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMgcmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sg" + + "YnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3ltZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVw" + + "bG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRlcGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQ" + + "RUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZlPXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVs" + + "dCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmluc3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVs" + + "ZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxy" + + "ZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNp" + + "c3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3Rl" + + "ciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhl" + + "IGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUpCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBgYAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3In" + + "cyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkg" + + "KHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55" + + "IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Ut" + + "d2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBvdmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNl" + + "ciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBjb21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJy" + + "ZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRoZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5" + + "IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3Np" + + "bmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2UgZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkg" + + "c2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5" + + "IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJQ01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBk" + + "b3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3VuZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAs" + + "IGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVy" + + "YWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJl" + + "Zm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBza2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50" + + "ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGggKGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoK" + + "YGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9yIHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVz" + + "dGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoKIyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55" + + "YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdvL0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24g" + + "b24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUg" + + "Y29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNoCgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVz" + + "IHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2Yt" + + "Y2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAt" + + "LW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRoZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhl" + + "bG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJhdG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3Qg" + + "cnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAgc2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0" + + "byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVyZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRp" + + "YWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhlIHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVz" + + "dHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVuaW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhh" + + "dCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0ZXIgZGVsZXRlIC0taWdub3JlLW1pc3Npbmdg" + + "IHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQg" + + "YHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFuKWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBh" + + "IGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2VzOgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3Bl" + + "bmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4g" + + "YGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1rdWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3Nh" + + "Z2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2UgbmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBE" + + "byBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVzZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRl" + + "Z29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3" + + "aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxveW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1k" + + "cmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3ltZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0t" + + "ZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWluLWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJt" + + "IHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdvcmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2Fn" + + "ZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5nIHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJv" + + "cG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQuCgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2" + + "ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9u" + + "LCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUgZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBg" + + "LS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4KLSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAi" + + "YWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVkdWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0" + + "b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lzdGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJl" + + "bW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25zaWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRy" + + "YSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2lsbCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMg" + + "aXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBleHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4K" + + "LSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91" + + "dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFuZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZl" + + "ciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxv" + + "c3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0" + + "YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklmIHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNp" + + "b24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sgdG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBs" + + "YW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToKaGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAt" + + "biBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0" + + "b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0K" + + "aGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAtbiBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUg" + + "SUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENv" + + "bnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kgICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJv" + + "eSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVzaW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRl" + + "YXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMgdG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhpcyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZl" + + "ciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVyIHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hh" + + "dCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkg" + + "bmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZD" + + "cyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9UIGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxs" + + "YCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAg" + + "ZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJzaXN0IGludGVudGlvbmFsbHkgc28gYSByZS1g" + + "dXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGluZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkg" + + "b24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + + "dXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUtcGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRv" + + "d24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBkZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0" + + "ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioq" + + "Q29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqH" + + "Y1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21t" + + "YW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5kIGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2Zs" + + "YWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBmbGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4" + + "aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMuCgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUK" + + "CnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18" + + "CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtmbGFnc11gIHwgUHJlLWZsaWdodCBiZWZvcmUg" + + "aW5zdGFsbCAobm8gYWRtaW4gY3JlZHMpOiBsb2NhbCB0b29scywgcmVnaXN0cnkgY3JlZGVudGlh" + + "bHMsIGFuZCBib3RoIHBsYW5lcycgY2x1c3RlciBjaGVja3MgfCBzdHJlYW1pbmcgZXZlbnRzIG9u" + + "IHN0ZGVyciB8IFNwbGl0IGNsdXN0ZXJzIG5lZWQgYm90aCBgLS1jb250cm9sLXBsYW5lLWNvbnRl" + + "eHRgIGFuZCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHRgOyBgLS1sb2NhbC1vbmx5YCBtYWtlcyBu" + + "byBjbHVzdGVyIG9yIHJlZ2lzdHJ5IGNvbnRhY3QgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNv" + + "bnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEluc3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0" + + "b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8" + + "IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwgYC0td2FpdGAgcG9sbHMgdW50aWwgcGFzcyBv" + + "ciBEVVIgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBbLS13" + + "YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMs" + + "IG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHksIGFuZCB0aGUgY29tcHV0ZS1w" + + "bGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwgU0lT" + + "IGlzIHByb2JlZCBvbmx5IGF0IGEgY29uZmlndXJlZCBgLS1pY21zLXVybGAuIFdpdGhvdXQgY29u" + + "dGV4dCBmbGFncyBpdCBjaGVja3MgdGhlIGN1cnJlbnQgY29udGV4dCB8CnwgYHNlbGYtaG9zdGVk" + + "IGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBCb3RoIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWlu" + + "ZyBldmVudHMgb24gc3RkZXJyIHwgR2F0ZSBvbiB0aGUgYGZpbmFsYCBldmVudDsgc2VlIFtleGl0" + + "LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250" + + "cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBsYW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rk" + + "b3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAtZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3Rh" + + "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciAr" + + "IHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRp" + + "b24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAg" + + "fCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3RoIHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwg" + + "cHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGluc3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29t" + + "cHV0ZS1vbmx5IHVzZSBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgYW5kIGBjb21wdXRlLXBsYW5l" + + "IGluc3RhbGxgIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9" + + "WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBvbiBzdGRlcnIgfCBBZ2VudC1mcmllbmRseSwg" + + "bm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + + "ciAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1QIC0tY2x1c3Rlci1uYW1lPVggLS1rdWJlLWNvbnRl" + + "eHQ9WSBbLS1vdXRwdXQ9Vl1gIHwgUmVnaXN0ZXIgYSBjb21wdXRlIGNsdXN0ZXIgd2l0aCBhbiBl" + + "eGlzdGluZyBjb250cm9sIHBsYW5lIGFuZCB3cml0ZSBpdHMgTlZDQSBvcGVyYXRvciB2YWx1ZXMg" + + "fCBzdW1tYXJ5IG9uIHN0ZG91dCB8IEZvciB0aGUgMm5kLCAzcmQsIC4uLiBHUFUgY2x1c3RlciBh" + + "ZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90IHRvdWNoZWQgfAp8IGBzZWxmLWhvc3RlZCBj" + + "b21wdXRlLXBsYW5lIGluc3RhbGwgLS12YWx1ZXM9ViAtLWt1YmUtY29udGV4dD1ZYCB8IEluc3Rh" + + "bGwgYSBjb21wdXRlIHBsYW5lIGZyb20gdGhlIHZhbHVlcyBgY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + + "cmAgd3JvdGUgfCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBSdW4gYWZ0ZXIgYGNvbXB1dGUtcGxhbmUg" + + "cmVnaXN0ZXJgLiBJbnN0YWxscyBWIHdoYXRldmVyIGl0cyBuYW1lLCBuZXZlciBhbm90aGVyIHZh" + + "bHVlcyBmaWxlIGJlc2lkZSBpdCB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5h" + + "bWU9WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pT" + + "T05MIHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5z" + + "dGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0" + + "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5y" + + "ZWdpc3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9u" + + "IHRoYXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJp" + + "bWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVz" + + "cyB8IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0t" + + "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQg" + + "bWFuaWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8g" + + "YGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBg" + + "aW5zdGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9" + + "WCBbLS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6" + + "IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBp" + + "biBJQ01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXIt" + + "bmFtZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVz" + + "dHJhdG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJv" + + "bCBwbGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1" + + "cnJlbmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0" + + "aXZlIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9y" + + "IGRyeS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBo" + + "ZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBh" + + "Y3R1YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJw" + + "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVgg" + + "LS1uY2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBh" + + "IEpXS1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBz" + + "dGFuZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lz" + + "dGVyZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1" + + "c3RlciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1q" + + "c29uYCBmb3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNs" + + "dXN0ZXItaWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBB" + + "ZnRlciBLOHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVs" + + "ZXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBj" + + "b25maXJtIHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + + "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJ" + + "TEVgIHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZl" + + "cnNpb24gSUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1v" + + "ZGVsc1tdLmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9y" + + "ZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1" + + "bmN0aW9uIGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0" + + "aW9uIGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0" + + "YWRhdGEgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1p" + + "ZD1WSUQgLS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVu" + + "Y3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2Rl" + + "bC11cGRhdGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNg" + + "IHVzZXMgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + + "PTxsaW1pdD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFn" + + "cy5tZCkgfAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNj" + + "aGVkdWxlIGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykg" + + "fAp8IGBmdW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + + "RCBbLS1qc29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZF" + + "XHxERVBMT1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAt" + + "LWlucHV0LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBm" + + "dW5jdGlvbiBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAg" + + "fCBTdG9wIGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9u" + + "IGludm9rZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJl" + + "cXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9r" + + "ZWQgdGhyb3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0" + + "aW9uLWlkPi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlk" + + "PUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoq" + + "REVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFu" + + "ZHMgcmVxdWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBO" + + "VkNGX0JBU0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBh" + + "IGZyZXNoIHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRl" + + "YCBhbmQgaW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFs" + + "dWU7IGNoZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0" + + "aCBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1" + + "biBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5l" + + "dyBrZXkuCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRh" + + "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdl" + + "PUlNR2AgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0" + + "YXRlOyB1c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sg" + + "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hh" + + "cnQ9Q0hBUlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMg" + + "YC0taW1hZ2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEg" + + "dGFzayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + + "IGNvbmZpZ3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0" + + "PU5dYCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVz" + + "ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JF" + + "RGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURF" + + "RF9NQVhfUVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNr" + + "IGRldGFpbHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBg" + + "dGFzayBldmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRz" + + "IGZvciBhIHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBh" + + "cnRpZmFjdHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBg" + + "cmVzdWx0SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQg" + + "c3VwcG9ydGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0" + + "YXNrIHwgTm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRl" + + "IFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElE" + + "ICsgY3VycmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBl" + + "eHBsaWNpdGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBu" + + "b3QgdHJlYXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8" + + "CnwgYHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + + "VXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1" + + "cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBw" + + "cmVzZXJ2ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0t" + + "dGFzay1pZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNr" + + "cyBpbiBvbmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3Rl" + + "cyB8CnwtLS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtl" + + "eXMgdmlhIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1j" + + "bGkuc3RhdGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAo" + + "ZnVuY3Rpb24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwg" + + "bGFzdCBlbmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1o" + + "b3N0ZWQgc3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNr" + + "XSBbLS1kZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlz" + + "IHwgRGVmYXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFu" + + "ZCBhIHRhc2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMg" + + "b25lIG9ubHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJh" + + "dGUgLS12YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVy" + + "YXRlZCBrZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5j" + + "ZSAoTlZDRiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1r" + + "ZXkgbGlzdGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1z" + + "Y29wZWQga2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJl" + + "dm9rZSBLRVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiog" + + "fAp8IGBhcGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0" + + "YXRlIHwgfAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + + "LS18LS0tfC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0" + + "YWxsIGFsbCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxz" + + "L2AgYW5kIGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRp" + + "cmVjdG9yaWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJl" + + "bW92ZSBvbmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNl" + + "IHNraWxscyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWlu" + + "IHwKfCBgYWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBG" + + "b3IgZGVidWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEg" + + "YW5kIGVtYmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwjRdcKPFiYAABYm" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVz" + + "CgpTdGFibGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0" + + "cnkgLyBzdXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMg" + + "fAp8LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0" + + "YWxsIGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3Ig" + + "fCBIZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5k" + + "OyBZQU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEg" + + "YGNoZWNrYCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2lu" + + "Zzsga3ViZWN0bCBub3Qgb24gUEFUSCB3aXRoIGAtLXByZWA7IGRlZmF1bHQgU3RvcmFnZUNsYXNz" + + "IGFic2VudDsgYSBjbHVzdGVyIHRoZSBDTEkgY2Fubm90IHJlYWNoIChtaXNzaW5nIGt1YmVjb25m" + + "aWcgb3IgY29udGV4dCwgb3IgYSBmaXJzdCBBUEkgY2FsbCB0aGF0IGZhaWxzIGZvciBhbnkgcmVh" + + "c29uOiByZWZ1c2VkIG9yIGRyb3BwZWQgY29ubmVjdGlvbiwgcmVqZWN0ZWQgY3JlZGVudGlhbHMs" + + "IGEgZmFpbGluZyBjcmVkZW50aWFsIHBsdWdpbiwgYSBzZXJ2ZXIgZXJyb3IpOyBhIGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + + "bHVyZSwgaXRzIG93biB0aW1lb3V0LCBubyB0YWcgZm91bmQgZm9yIGFuIHVudGFnZ2VkIGltYWdl" + + "KTsgYSBgc3RhbGUtbmFtZXNwYWNlc2Agcm93IG5hbWluZyBhIG5hbWVzcGFjZSBgc3R1Y2sgVGVy" + + "bWluYXRpbmdgLiBTdWNoIGEgcmVzdWx0IGlzIGV4aXQgYDJgIGV2ZW4gd2hlbiB0aGUgdGltZSBi" + + "dWRnZXQgY3V0IGFub3RoZXIgY2hlY2sgc2hvcnQuIFdhcm5pbmctc2V2ZXJpdHkgcmVzdWx0cyBl" + + "eGl0IGAwYCwgaW5jbHVkaW5nIGEgbmFtZXNwYWNlIHN0aWxsIGRlbGV0aW5nLCBhIEhlbG0gcmVs" + + "ZWFzZSBsZWZ0IG1pZC1vcGVyYXRpb24sIGEgbmFtZXNwYWNlIHdpdGggbm8gSGVsbSByZWxlYXNl" + + "LCBhbmQgYSBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBzYXlpbmcgbm8gYGNsdXN0ZXJfdmFsaWRh" + + "dG9yX2ltYWdlYCBpcyBzZXQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4g" + + "KyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9p" + + "bnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVk" + + "IG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRpZCBub3QgcGFz" + + "cyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGluZyBhIHJvbGxvdXQgc3RpbGwgaW4gcHJvZ3Jlc3M7" + + "IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0b3BwZWQgYSBjaGVjayB0aGF0IGNhbiBmYWlsIHRo" + + "ZSBydW4gYmVmb3JlIGl0IGZpbmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQgc2hv" + + "cnQpIGFuZCBubyBvdGhlciBjaGVjayBmYWlsZWQuIEEgY3V0LXNob3J0IHJvdyBrZWVwcyB0aGUg" + + "d29yc3Qgc2V2ZXJpdHkgaXRzIGNoZWNrIGNhbiByZXBvcnQsIHNvIGEgY2hlY2sgdGhhdCBjYW4g" + + "b25seSB3YXJuLCBzdWNoIGFzIGEgcmVnaXN0cnkgdGhhdCBpcyBub3QgY3JpdGljYWwsIHN0YXlz" + + "IGEgd2FybmluZy4gQSBjaGVjayB0aGF0IGFscmVhZHkgaGFkIGl0cyByZXN1bHQga2VlcHMgaXQs" + + "IHNvIGEgdmFsaWRhdG9yJ3Mgb3duIGZhaWx1cmUgaXMgZXhpdCBgMmAgfAp8IGAxMzBgIHwgQ2Fu" + + "Y2VsbGVkIGJ5IFNJR0lOVCwgU0lHVEVSTSBvciBTSUdIVVAsIG9yIGJ5IGEgcXVpdCBrZXkgaW4g" + + "dGhlIGBjaGVjayAtLXdhaXRgIGRhc2hib2FyZCB8IFVzZXIgQ3RybC1DOyBgcWAsIGBFc2NgIG9y" + + "IGBDdHJsLUNgIGluIHRoZSBkYXNoYm9hcmQ7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0" + + "ZWQ7IHRlcm1pbmFsIG9yIFNTSCBzZXNzaW9uIGNsb3NlZC4gQSBzaWduYWwgYGNoZWNrYCB3YXMg" + + "c3RhcnRlZCB3aXRoIGlnbm9yZWQgc3RheXMgaWdub3JlZCwgc28gYSBgY2hlY2tgIHJ1biB1bmRl" + + "ciBgbm9odXBgIG91dGxpdmVzIHRoZSBzZXNzaW9uIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQg" + + "cmVhY3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGlu" + + "dWUgLyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFz" + + "ayBiZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0" + + "byByZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhl" + + "aXIgYGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJl" + + "cmVxcy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1Ig" + + "YC0tdG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8" + + "IGA1YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhl" + + "IHN0YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1" + + "dG9tYXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJl" + + "LXJ1bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0" + + "cyBpdHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAs" + + "IGB0b3RhbENoZWNrc2AsIGBwYXNzZWRDb3VudGAsIGBmYWlsZWRDb3VudGAsIGB3YXJuaW5nQ291" + + "bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlw" + + "ZWxpbmVzLm1kYC4gQSB1c2FnZSBlcnJvciwgc3VjaCBhcyBhIG1hbGZvcm1lZCBgLS13YWl0YCwg" + + "ZXhpdHMgYDFgIGJlZm9yZSBhbnkgZXZlbnQuIEl0cyBleGl0IGA1YCBoYXMgYHN1Y2Nlc3M6IGZh" + + "bHNlYCBhbmQgYHZlcmRpY3Q6ICJ0aW1lb3V0ImAuIEEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQg" + + "Zm9yIGEgd2FybmluZyB0aGF0IGAtLXdhaXRgIHBvbGxzIG9uIGNhcnJpZXMgYHRyYW5zaWVudDog" + + "dHJ1ZWAsIGFuZCBvbmUgZm9yIGEgY2hlY2sgdGhlIHRpbWUgYnVkZ2V0IHN0b3BwZWQgY2Fycmll" + + "cyBgY3V0U2hvcnQ6IHRydWVgLiBBIGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMgYGZp" + + "bmFsYCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7IGB1" + + "cGAgZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0LiBXaGVuIGEgY2x1c3Rlci12YWxp" + + "ZGF0b3IgcnVuIGxlZnQgb2JqZWN0cyBpbiB0aGUgY2x1c3RlciAoYC0tbm8tY2xlYW51cGAsIGEg" + + "cG9kIHRoYXQgd291bGQgbm90IHN0b3AsIG9yIGEgY2xlYW51cCB0aGF0IGZhaWxlZCksIGBjaGVj" + + "a2AgbGlzdHMgdGhlIGNvbW1hbmRzIHRoYXQgcmVtb3ZlIHRoZW0gaW4gdGhlIGBmaW5hbGAgZXZl" + + "bnQncyBgY2xlYW51cGAgYXJyYXkgYW5kIGluIHRoYXQgcm93J3MgYGNsZWFudXBgIGZpZWxkLCBv" + + "biBldmVyeSBleGl0IGNvZGUsIGFuZCBwcmludHMgdGhlbSBhZ2FpbiBhcyBpdHMgbGFzdCBzdGRl" + + "cnIgbGluZXMuIE9uIGFuIGludGVycnVwdCBpdCBwcmludHMgdGhlbSBhdCBvbmNlLCBiZWZvcmUg" + + "aXRzIG93biBjbGVhbnVwLCB3aGljaCBhIHNlY29uZCBDdHJsLUMgY3V0cyBzaG9ydC4gRXZlcnkg" + + "b3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNP" + + "TiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAo" + + "YXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVy" + + "X3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwg" + + "YW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlz" + + "IGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xp" + + "c2ggZnJvbSBzdGRlcnIuClBLBwjJ+UVvaBAAAGgQAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + + "AC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + + "zhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3Vi" + + "Y29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxg" + + "IHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2Vg" + + "IHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZ" + + "LCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVu" + + "dCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBDb250" + + "cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9g" + + "IFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2Fs" + + "IHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVk" + + "IGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxlIGVu" + + "dmlyb25tZW50IG5hbWUuIGBjaGVja2AgcmVhZHMgdGhlIHN0YWNrJ3MgYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYCBvbmx5IGZvciBhbiBlbnZpcm9ubWVudCBuYW1lZCB3aXRoIGAtLWVudmAgb3Ig" + + "YEhFTE1GSUxFX0VOVmAsIG9yIGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMg" + + "aW5zdGFsbCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkOyBzZWUgW1NldHRp" + + "bmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKSB8" + + "IGBsb2NhbGAgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9t" + + "cHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBz" + + "dG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1p" + + "dCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0" + + "XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQg" + + "aW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVh" + + "bWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tg" + + "IG9ubHk7IHJ1biB0aGUgY2hlY2tzIGFnYWluLCA1cyBhcGFydCwgdW50aWwgdGhleSBwYXNzIG9y" + + "IERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZpbmFsYCB3aXRoIGBzdWNjZXNzOiBmYWxz" + + "ZWApLiBFYWNoIHJ1biBpbmNsdWRlcyB0aGUgY2x1c3Rlci12YWxpZGF0b3IgSm9iLCB3aGljaCBj" + + "YW4gdGFrZSB1cCB0byA1bSwgc28gYWxsb3cgZm9yIGl0IG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVy" + + "LXZhbGlkYXRpb25gLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0byBjbGVhciwgc3VjaCBh" + + "cyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcsIGFuZCBpdHMgYGNoZWNr" + + "X2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYC4gQSBjaGVjayB0aGUg" + + "dGltZSBidWRnZXQgc3RvcHBlZCBrZWVwcyBpdCBwb2xsaW5nIHRvbywgYW5kIGl0cyBldmVudCBj" + + "YXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2hlY2sgdGhhdCBjYW4gb25seSB3YXJuIGFuZCBp" + + "cyBzdG9wcGVkIG9uIHR3byBwb2xscyBpbiBhIHJvdyBlbmRzIHRoZSB3YWl0IGFzIGEgc2luZ2xl" + + "IHJ1biB3b3VsZDogZXhpdCBgMGAgd2l0aCB0aGUgd2FybmluZy4gQ2Fubm90IGJlIGNvbWJpbmVk" + + "IHdpdGggYC0tbm8tY2xlYW51cGAuIEEgbWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElP" + + "TiBpcyBhIHVzYWdlIGVycm9yIChleGl0IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRy" + + "b2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5l" + + "IChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQg" + + "Q1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJl" + + "bnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWly" + + "ZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJM" + + "IHNldCBoZXJlLCBpbiBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRo" + + "ZSBjb25maWcgYXMgYGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25l" + + "IGRlcml2ZWQgZnJvbSBhIGBiYXNlX2h0dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2Yu" + + "bnZpZGlhLmNvbWAsIGFzIHRoZSBjb25maWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMg" + + "YHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2Vf" + + "aHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2Nh" + + "bC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwg" + + "d2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNo" + + "ZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQg" + + "YXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkp" + + "YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxz" + + "ZWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1w" + + "cmVgLCBgLS1jb250cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMK" + + "cmVxdWlyZWQuIGAtLXByZWAgc2VsZWN0cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2Vs" + + "ZWN0cyBpdHMgb3duLiBPbmx5CnRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4g" + + "UGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNl" + + "bGVjdGVkIHJvbGUgY2hlY2tzIHRoZSBjdXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxh" + + "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxp" + + "Z2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyBy" + + "ZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFs" + + "bGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Ig" + + "d2l0aCBhIHJvbGUncyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUg" + + "Y2x1c3RlciBhcyBpbnN0YWxsZWQuIEEgbWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAs" + + "IGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZhaWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29w" + + "ZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28g" + + "aXQgd2FybnMgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0" + + "YWxsZWQgY29udHJvbCBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wt" + + "cGxhbmUgY2x1c3Rlci12YWxpZGF0b3IuIE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBg" + + "LS1jb21wdXRlLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVm" + + "dG92ZXIgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBh" + + "dCBhIGNvbmZpZ3VyZWQgSUNNUyBVUkwsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZh" + + "bGlkYXRvciB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFu" + + "ZCBgLS1jb21wdXRlLXBsYW5lYCwgU0lTIHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3" + + "aXRob3V0IGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVz" + + "dGVyIG5hbWUgc2hvd24gaW4gdGhlIG91dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFu" + + "ZCBgY2hlY2tgIGRvZXMgbm90IHJlcXVpcmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hl" + + "Y2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVu" + + "IHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Ig" + + "d2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMgb24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRp" + + "YWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9kcyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1p" + + "bm90aWZ5LWxpbWl0c2Agcm93IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVk" + + "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFs" + + "c2VgIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0" + + "b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNy" + + "ZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRp" + + "bmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQg" + + "bGV0IGl0IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRl" + + "ciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8g" + + "bWFuYWdlIHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBn" + + "ZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBK" + + "b2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFu" + + "c2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkLCBzbyBuZWl0aGVyIHRoZSBjaGVja3MgaXQgcmFuIG5v" + + "ciB3YXJuaW5ncyBpdApyZXBvcnRlZCBhcmUgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMg" + + "b25seSB0aGUgY2FsbHMgZWFjaCByb2xlJ3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNw" + + "YWNlLCBEYWVtb25TZXQgYW5kIHBvZCB3cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10" + + "by1ub2RlIHByb2JlLAphbmQgZGVsZXRpbmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFs" + + "aWRhdG9yIHJ1biBsZWZ0IGJlaGluZC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3Ig" + + "aW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + + "Ul9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0" + + "aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3Ry" + + "eS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNjb3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1" + + "biBhbmQgaXRzIHJvdyBmYWlscyB0aGUgY2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdh" + + "aXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxp" + + "ZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBlYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJv" + + "dyBpcyBhIHdhcm5pbmcsIHNvIHRoZSB2ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1j" + + "bHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0" + + "cmEgcmVnaXN0cmllcyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hp" + + "bmUsIGFuZCB0aGVpciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFu" + + "ZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBo" + + "YXJib3IuZXhhbXBsZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVz" + + "IHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwg" + + "dGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVw" + + "b3NpdG9yeWAsIGFuZCBgcXVheS5pb2AgZm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIg" + + "dW5sZXNzIHRoZSBzdGFjayBsZWF2ZXMgY2VydC1tYW5hZ2VyIG91dCBvciBzZXRzIGBjZXJ0TWFu" + + "YWdlci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCwgYXMgYSB3YXJuaW5n" + + "IG9ubHksIHdoZW4gbmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lz" + + "dHJ5LiBUaGUgaW4tcG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBo" + + "YXMgbm8gcHJveHkuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRh" + + "YmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1Jf" + + "UkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgLCBh" + + "IGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0gfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + + "ci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5k" + + "IHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2Jl" + + "LiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBh" + + "aXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9C" + + "RV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBi" + + "dXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0" + + "ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4uLmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4g" + + "b3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5vdCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBu" + + "b3QgbG9vayBmb3IgdGhlbSBpbiB0aGUgY2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3Bl" + + "bmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBBbiB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQu" + + "IFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVS" + + "TkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRvIHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5h" + + "YmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBg" + + "dHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVO" + + "VFNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCwg" + + "YSBsaXN0IG9mIG5hbWVzIHwgZnJvbSB0aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + + "LXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRl" + + "ZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQg" + + "YWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRz" + + "LiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0" + + "ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNv" + + "bW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElP" + + "TlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AsIGEgbGlzdCBv" + + "ZiBzdHJpbmdzIGluIHRoaXMgZm9ybSwgbm90IEt1YmVybmV0ZXMgdG9sZXJhdGlvbiBvYmplY3Rz" + + "IHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXIt" + + "cmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBp" + + "bWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0" + + "ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBp" + + "dCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20g" + + "YSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1" + + "bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFj" + + "aGluZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5" + + "LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlz" + + "IHdoYXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0" + + "IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZh" + + "bGlkYXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1" + + "dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBs" + + "aWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFn" + + "ZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5m" + + "byBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQ" + + "X0NMVVNURVJfVkFMSURBVElPTmAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8CnwgYC0t" + + "bm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxs" + + "IHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9k" + + "IGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRl" + + "ZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwg" + + "ZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1v" + + "dmVzIHRoZW0gb25jZSB0aGV5IGFyZSAyNCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxg" + + "IGV2ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0" + + "aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRo" + + "IGAtLXdhaXRgIHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRh" + + "dG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBi" + + "eSBgLS0tIGNsdXN0ZXItdmFsaWRhdG9yIGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0" + + "Y2hpbmcgZW5kIGxpbmUsIHdoZXJlIHRoZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVz" + + "dGVyYCBvciBgY29tcHV0ZS1wbGFuZS1jbHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpT" + + "T04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2Zm" + + "IHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVn" + + "aXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJv" + + "bSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2Vy" + + "YCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIv" + + "Y29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBo" + + "ZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0" + + "aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlg" + + "LCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdv" + + "ZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNr" + + "J3MgcGxhbmUsIGJlbG93LCBpcyBjaGVja2VkIGJlZm9yZSBpdHMgaW5zdGFsbCB3aXRoIHRoZQpg" + + "bG9jYWxgIGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwgc2VjcmV0cyBm" + + "cm9tIGl0LCBhbmQgaXQgaXMKbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hl" + + "cmUgdGhlIGtleQppcyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciBmb3Ig" + + "YSByZXBvc2l0b3J5IHdoZXJlIGBudmNyLmlvYApyZWplY3RzIHRoZSBkb2NrZXIgbG9naW4gKGEg" + + "NDAxKSBvciBnaXZlcyBpdCBubyBhY2Nlc3MgKGEgNDAzKS4gVGhpcyBpcwpkZWNpZGVkIG9uY2Ug" + + "cGVyIHJlcG9zaXRvcnksIGJlZm9yZSB0YWcgZGlzY292ZXJ5LCB0aGUgcm93IGFuZCB0aGUKdmFs" + + "aWRhdG9yJ3MgcHVsbCBzZWNyZXQgdXNlIGl0LCBzbyBhbGwgdGhyZWUgZ2V0IHRoZSBzYW1lIGNy" + + "ZWRlbnRpYWwsIGFuZCBhCmxvZ2luIHdpdGggbm8gYWNjZXNzIHRvIG9uZSBvcmcgc3RpbGwgc2Vy" + + "dmVzIHRoZSBvcmdzIGl0IHJlYWNoZXMuIEEgNDAzIGlzCnJlcG9ydGVkIGFzIG5vIGFjY2VzcyB0" + + "byB0aGF0IHJlcG9zaXRvcnksIG5ldmVyIGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVhY2gKYC0td2Fp" + + "dGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9naW4gcmVuZXdlZCB3" + + "aGlsZSB0aGUgcnVuCndhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhlIHByb2JlIGFz" + + "a3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBvc2l0b3J5IGFu" + + "ZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFsLmltYWdlLnJl" + + "Z2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNrIHBhdGggb2Yg" + + "b25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMgbm90IHNlbnQgYXMg" + + "dGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4gV2hlbiB0aGUgc3RhY2sncwpP" + + "Q0kgY2hhcnQgc291cmNlLCBgZ2xvYmFsLmhlbG0uc291cmNlcy5yZWdpc3RyeWAgYW5kIGAucmVw" + + "b3NpdG9yeWAsIGlzIHRoYXQKc2FtZSBwYXRoLCBpdHMgcm93IGlzIGFsc28gdGhlIG9uZSBgaGVs" + + "bWAgb24gdGhpcyBtYWNoaW5lIHB1bGxzIHRoZSBzdGFjaydzCmNoYXJ0cyBmcm9tLCB3aXRoIHRo" + + "ZSBkb2NrZXIgbG9naW4uCgpUaGUgcmVnaXN0cnkgY2hlY2sgYmVsb25ncyB0byBvbmUgcGxhbmUs" + + "IHdob3NlIHN0YWNrIG5hbWVzIHRoZSByZWdpc3RyaWVzCmFuZCB3aG9zZSBpbnN0YWxsIHN0YXRl" + + "IGdyYWRlcyB0aGVtOiBhIHBsYW5lIHRoZSBydW4gY2hlY2tzIGJlZm9yZSBpdHMKaW5zdGFsbCwg" + + "d2hpY2ggdGhpcyBtYWNoaW5lIGluc3RhbGxzIG5leHQgKHRoZSBjb250cm9sIHBsYW5lIGZvciBh" + + "IGJhcmUKYC0tcHJlYCBhbmQgZm9yIGAtLXByZSAtLWNvbXB1dGUtcGxhbmVgLCB0aGUgY29tcHV0" + + "ZSBwbGFuZSBmb3IKYC0tcHJlIC0tY29udHJvbC1wbGFuZWApLCBlbHNlIHRoZSBjb250cm9sIHBs" + + "YW5lIHdoZW4gdGhlIHJ1biB2aXNpdHMgaXQsCmVsc2UgdGhlIGNvbXB1dGUgcGxhbmUuCgpPbmx5" + + "IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQgb25s" + + "eSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMuIFRo" + + "YXQgaW5jbHVkZXMgYSBkb2NrZXIgbG9naW4KYG52Y3IuaW9gIHJlamVjdHMgZXZlbiB3aGVuIHRo" + + "ZSBOR0Mga2V5IHdvcmtzIGluIGl0cyBwbGFjZSwgYmVmb3JlIGFuZCBhZnRlcgppbnN0YWxsLCBz" + + "aW5jZSBgZG9ja2VyYCBhbmQgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBzdGlsbCBzZW5kIGl0LiBU" + + "aGUga2V5IGlzCnN0aWxsIHVzZWQgZm9yIHRhZyBkaXNjb3ZlcnkgYW5kIHRoZSB2YWxpZGF0b3In" + + "cyBwdWxsIHNlY3JldCwgYW5kIHRoZSByb3cKbmFtZXMgYm90aC4gQWZ0ZXIgaW5zdGFsbCB0aGUg" + + "cm93IGFsc28gc2F5cyB3aGV0aGVyIG9uZSBvZiB0aGUgcHVsbCBzZWNyZXRzCmJlbG93IGhvbGRz" + + "IHRoYXQgZG9ja2VyIGxvZ2luLiBCZWZvcmUgaW5zdGFsbCwgYSBkb2NrZXIgbG9naW4gd2l0aCBu" + + "byBhY2Nlc3MKdG8gdGhlIHJvdyB0aGUgc3RhY2sncyBjaGFydHMgY29tZSBmcm9tIGZhaWxzIGl0" + + "IHRvbywgYWx0aG91Z2ggdGhlIE5HQyBrZXkKcmVhY2hlcyBpdCwgc2luY2UgYGhlbG1gIHB1bGxz" + + "IHRoZSBjaGFydHMgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLiBUaGF0IGlzCnJlcG9ydGVkIGFzIG5v" + + "IGFjY2Vzcywgbm90IGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVsc2V3aGVyZSwgYW5kIGFmdGVyIGlu" + + "c3RhbGwsCmEgZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzIHBhc3NlcyB3aGVyZSB0aGUgTkdD" + + "IGtleSByZWFjaGVzIHRoZQpyZXBvc2l0b3J5LiBBIHJlamVjdGVkIE5HQyBrZXkgaXMgYSB3YXJu" + + "aW5nIGFmdGVyIGluc3RhbGwgb25seSB3aGVuIGBjaGVja2AKcmVhZHMgdGhlIHB1bGwgc2VjcmV0" + + "cyBvZiB0aGUgY2x1c3RlcnMgaXQgdmlzaXRzLCBpbiB0aGUgbmFtZXNwYWNlcyB0aGUKdmFsaWRh" + + "dG9yIGNvcGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kIG5vbmUgb2YgdGhlbSBob2xkcyB0aGF0" + + "IGtleTsgd2hlbgpvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxsIGJlIHJlYWQsIGl0IGlzIGFu" + + "IGVycm9yLiBBIHJlZ2lzdHJ5IHRoaXMgbWFjaGluZQpjYW5ub3QgcmVhY2gsIGEgdG9rZW4gc2Vy" + + "dmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsIGNyZWRlbnRpYWwgYXJlCndhcm5p" + + "bmdzLiBBCnJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMgRUNSIG9y" + + "IG9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcwpza2lwcGVkIHdpdGggYSBjb21tYW5kIHRvIGNoZWNr" + + "IGl0IGJ5IGhhbmQuIEEgcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMKbWFjaGluZSBpbiBhbm9ueW1v" + + "dXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMgdmFsaWQgY3JlZGVudGlhbHMuCgojIyMg" + + "U2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRzIHRoZXNlIHNl" + + "dHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmlyb25tZW50IHZh" + + "cmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0dGluZyB8IFJl" + + "YWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwtLS18Cnwg" + + "TlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRlZCB0aGUg" + + "d2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdhdGV3YXlB" + + "cGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMubmF0cy5lbmFi" + + "bGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMubGxtV29ya2Vy" + + "LmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRlZCBgbmFt" + + "ZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhlIHZhbGlk" + + "YXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwKfCBFbnZveSBH" + + "YXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFj" + + "ZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFsIGNvbXBvbmVu" + + "dHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxlZGAgaXMg" + + "c2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29t" + + "cG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBTdG9yYWdlQ2xhc3Mg" + + "fCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFsaWRhdG9yIGNoZWNrcyB0" + + "aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgZGVmYXVsdCBjbGFz" + + "cyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZD" + + "Rl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1" + + "c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwK" + + "ClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBzdGFjay4gYGNoZWNrYCBy" + + "ZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUgdGhlIGluc3RhbGw6Cgot" + + "IFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAu" + + "IFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9yIGEgcGxhbmUgYC0tcHJlYCBj" + + "aGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAgaW5zdGFsbHMgd2l0aCBpdC4g" + + "T3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1l" + + "bnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2Uu" + + "eWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFj" + + "ayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRl" + + "LXBsYW5lLXN0YWNrYCBmb3IgdGhlIHJlZ2lzdHJpZXMgd2hlbiB0aGUgcmVnaXN0cnkgY2hlY2sK" + + "ICBiZWxvbmdzIHRvIHRoZSBjb21wdXRlIHBsYW5lKSwgZWxzZSB0aGUgQ0xJJ3MgYnVpbHQtaW4g" + + "c3RhY2suIEEgbG9jYWwKICBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6" + + "Ly9gIHN0YWNrIGZyb20gdGhlIGNvcHkgYW4gZWFybGllcgogIGNvbW1hbmQgZXh0cmFjdGVkIGlu" + + "dG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMKICBu" + + "b3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQgc3RhdGUuIEEg" + + "Q0xJIHdpdGggbm8KICBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUg" + + "c3RhY2sgY2hlY2tvdXQgYWJvdmUgdGhlCiAgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ug" + + "bm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMg" + + "dGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMg" + + "YSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + + "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0" + + "ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0Eg" + + "YWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0" + + "ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0" + + "IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1" + + "c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + + "IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAo" + + "Y29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwg" + + "YGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwg" + + "YDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBh" + + "bGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMg" + + "YGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + + "CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkg" + + "fCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdp" + + "b24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwg" + + "SUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0" + + "Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBh" + + "cGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + + "LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhl" + + "IHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNj" + + "cmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVy" + + "YXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9m" + + "ZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAy" + + "NGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3Bl" + + "czsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVg" + + "IHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcg" + + "fCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAg" + + "KG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVu" + + "Y3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRl" + + "ZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVz" + + "OgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBO" + + "QU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIg" + + "aW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNl" + + "IGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5m" + + "ZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8" + + "TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRg" + + "IHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1m" + + "dW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8" + + "CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUg" + + "ZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0" + + "LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFy" + + "dGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVs" + + "IGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01l" + + "dGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4g" + + "bGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBg" + + "V2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9r" + + "ZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJh" + + "dG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlv" + + "bi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hl" + + "ciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBS" + + "SU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBw" + + "b3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1" + + "bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlv" + + "bnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1" + + "bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUg" + + "T3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1" + + "cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jl" + + "c3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2Rg" + + "IGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9u" + + "YCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2Nl" + + "cHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxp" + + "bWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2Ag" + + "KHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBX" + + "YCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3Ig" + + "ZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlu" + + "cHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rp" + + "b25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0" + + "aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5k" + + "IGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJl" + + "bmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBg" + + "aGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2Rl" + + "bDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3Rz" + + "IHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3Ry" + + "ZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2Ug" + + "YHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRp" + + "bmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZs" + + "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFH" + + "XWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQ" + + "RUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhv" + + "ZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBt" + + "ZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNg" + + "LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxs" + + "bS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVs" + + "IHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGll" + + "ZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9y" + + "aXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVw" + + "ZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVx" + + "dWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0" + + "ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQg" + + "YGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1p" + + "dGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFy" + + "dCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmlj" + + "CgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZv" + + "ciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + + "fC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8" + + "IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNl" + + "LXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNl" + + "cyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCBy" + + "ZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJy" + + "ZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVy" + + "cyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkg" + + "bWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxl" + + "IEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZv" + + "ciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8" + + "IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlth" + + "LXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJl" + + "cXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1p" + + "bnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1p" + + "bnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1B" + + "R0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1j" + + "aGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + + "ZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQt" + + "ZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNP" + + "TiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNr" + + "ZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1" + + "c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFp" + + "bmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVy" + + "IHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwK" + + "fCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZh" + + "cmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3Jl" + + "dCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAt" + + "IHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAo" + + "SVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGlt" + + "aXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3Jl" + + "IGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0t" + + "dGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2ln" + + "bmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJh" + + "dGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMg" + + "fCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFy" + + "Z2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3" + + "aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVS" + + "U0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJj" + + "ZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0g" + + "fAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8Cnwg" + + "YC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10" + + "ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAt" + + "LW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQg" + + "SUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRy" + + "eSBlbmRwb2ludCBJRCB8IC0gfApQSwcIczkOx89dAADPXQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + + "dGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFn" + + "bm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRo" + + "ZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1m" + + "bGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBg" + + "ZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0Cgpg" + + "Y2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQs" + + "IG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3Nh" + + "Z2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQg" + + "c3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlw" + + "dC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1" + + "YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5j" + + "bHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBh" + + "ZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4" + + "KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3Rs" + + "LyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1" + + "Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQg" + + "b24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8" + + "IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBu" + + "b3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQs" + + "IHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRv" + + "cl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + + "VE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZh" + + "bGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRl" + + "ZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVm" + + "b3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3du" + + "IHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNr" + + "aXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIEpvYiBzdWNjZWVk" + + "ZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4pYCwgcGFzc2VkIHwgVGhl" + + "IHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBiZSByZWFkOiB0aGUga3Vi" + + "ZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciB0" + + "aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRoZSBjaGVja3MgaXQgcmFu" + + "IGFuZCB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBhbiBpbWFnZSB0aGF0IHBy" + + "ZWRhdGVzIHZhbGlkYXRvciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBsYW5lIGNoZWNrcyBmb3Ig" + + "ZWl0aGVyIHJvbGUgfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3Ig" + + "cmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dzYCBjb21tYW5kIGluIHRo" + + "ZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBB" + + "UEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwg" + + "YGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0g" + + "LS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8Cnwg" + + "YGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFz" + + "czogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sg" + + "ZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1l" + + "PiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRl" + + "cy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFn" + + "ZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdF" + + "X0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0" + + "b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21w" + + "dXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQ" + + "VSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29y" + + "a2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xv" + + "dWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwg" + + "T1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IElu" + + "c3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + + "IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3Bh" + + "Y2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9u" + + "cyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQg" + + "c3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4g" + + "b3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNv" + + "bmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBj" + + "b21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNw" + + "YWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNl" + + "c2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBB" + + "IG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJz" + + "IHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJl" + + "Y29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1l" + + "c3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0" + + "YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxi" + + "YWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFs" + + "bGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJk" + + "b3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRo" + + "ZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8" + + "IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwg" + + "VGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBi" + + "dXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93" + + "bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwg" + + "SW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVz" + + "cGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2lu" + + "ZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2Yg" + + "YSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8" + + "IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tg" + + "IHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBm" + + "cm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBi" + + "ZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5h" + + "dGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBu" + + "b3Qgc2NhbiBhbiBhZGQtb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQg" + + "YSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9u" + + "LiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZv" + + "ciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJl" + + "YWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hl" + + "biBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1w" + + "cmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVh" + + "dmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBg" + + "bnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhl" + + "IHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRv" + + "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJl" + + "cXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRv" + + "a2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9r" + + "ZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + + "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + + "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + + "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMg" + + "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4g" + + "dG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFw" + + "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8Cgoj" + + "IyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + + "LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3Nh" + + "bmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0" + + "b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVt" + + "YCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRl" + + "cGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1Ug" + + "fCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgi" + + "YCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3Rh" + + "bGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05g" + + "IGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkg" + + "dmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVy" + + "cm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBj" + + "b21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFk" + + "ZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJh" + + "dG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + + "b3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBr" + + "M2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rl" + + "cj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + + "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0" + + "aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUg" + + "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7" + + "IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyBy" + + "ZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0" + + "ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZv" + + "ciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0" + + "Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNs" + + "aSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1h" + + "Z2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBl" + + "ciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNm" + + "LWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlv" + + "biBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQg" + + "bGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBo" + + "ZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + + "L25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8" + + "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1" + + "cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9y" + + "IGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBg" + + "cmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNy" + + "ZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3Rl" + + "ZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBj" + + "cmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFi" + + "b3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSBy" + + "ZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwg" + + "LW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1t" + + "ZWRpYXRlbHkgfApQSwcIGriz82EhAABhIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0K" + + "bmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIElu" + + "c3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBh" + + "cmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBD" + + "TEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlk" + + "ZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUt" + + "cGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2Vu" + + "ZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwg" + + "b3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVu" + + "dmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVh" + + "ZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+" + + "PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwg" + + "bWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29y" + + "ZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2Ys" + + "IHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21w" + + "dXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNl" + + "Y3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgog" + + "IGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdA" + + "ZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2Vs" + + "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + + "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + + "c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVs" + + "bSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNl" + + "bGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hp" + + "bmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMu" + + "CgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBv" + + "ciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + + "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVz" + + "IGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJM" + + "TE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + + "c3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMK" + + "CkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZv" + + "ciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMg" + + "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9l" + + "bnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFu" + + "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxt" + + "ZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFu" + + "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBt" + + "aXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBi" + + "YXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQt" + + "dmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29u" + + "dHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxl" + + "IHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpb" + + "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcg" + + "YW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVy" + + "c2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhl" + + "bG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAg" + + "ICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMg" + + "Q2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29u" + + "dHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5n" + + "b3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxu" + + "YW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVz" + + "ZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + + "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBW" + + "YWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBt" + + "b3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMv" + + "YmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQg" + + "YnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVj" + + "dHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2Vj" + + "cmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJl" + + "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpD" + + "cml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + + "YyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBz" + + "dG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "IGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xv" + + "YmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9j" + + "ay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNo" + + "YXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNw" + + "YWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkp" + + "CgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + + "YXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + + "cGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + + "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + + "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + + "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVs" + + "bCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2Ug" + + "dG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1z" + + "ZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5" + + "CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVp" + + "cmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + + "Y2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRl" + + "ZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJl" + + "ZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + + "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + + "SV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9u" + + "PiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3Rk" + + "aW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTog" + + "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3Qg" + + "KG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVy" + + "YWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZl" + + "IHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBz" + + "aWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9y" + + "ZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEg" + + "NDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlv" + + "dSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUt" + + "cnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFj" + + "aCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxr" + + "ZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0" + + "aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0" + + "cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQp" + + "IFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21h" + + "dGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRo" + + "YXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1" + + "bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3Jr" + + "bG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2lu" + + "dCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgox" + + "LiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + + "bWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTog" + + "PHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAg" + + "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3Vy" + + "Y2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJy" + + "b3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5Pgog" + + "ICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1h" + + "bmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0" + + "IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAo" + + "YG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVs" + + "bQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVs" + + "bSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRo" + + "b3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNv" + + "dXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0" + + "aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hh" + + "cnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgog" + + "ICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3It" + + "c3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5o" + + "ZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0" + + "aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5" + + "ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVs" + + "bCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUg" + + "cGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0" + + "aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVs" + + "bFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkg" + + "bG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFs" + + "OiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAg" + + "PiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwg" + + "c28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkg" + + "aG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2Ug" + + "aXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBn" + + "bG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFz" + + "IGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRz" + + "IGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFz" + + "aApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1u" + + "IDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52" + + "YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBi" + + "ZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0" + + "aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4g" + + "VGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBv" + + "cmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1" + + "Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9B" + + "RERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwg" + + "dXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBg" + + "R0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGds" + + "b2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVz" + + "dGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgoj" + + "IyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + + "IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklM" + + "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQg" + + "Qk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRz" + + "IGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBj" + + "YXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2" + + "aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0" + + "IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtl" + + "ZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29w" + + "cyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBT" + + "ZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFz" + + "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMK" + + "CkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwg" + + "U2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0t" + + "LS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + + "IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3Jv" + + "dXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90" + + "YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5p" + + "dHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + + "ZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5" + + "IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8" + + "IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGlu" + + "IGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBg" + + "CgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5" + + "IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1m" + + "YWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJk" + + "IE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4g" + + "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYg" + + "dGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdh" + + "dGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + + "c2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0" + + "aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQg" + + "aW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFu" + + "aXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoK" + + "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + + "bmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmlj" + + "IGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBp" + + "bmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZh" + + "bml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRl" + + "ZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoK" + + "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5" + + "YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5p" + + "dHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5" + + "IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + + "by9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkg" + + "dmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3Rh" + + "bmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMg" + + "dHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJv" + + "dXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5" + + "CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + + "ZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + + "eQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5l" + + "dC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBs" + + "eSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2Vz" + + "L252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + + "cGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29t" + + "cHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3Rs" + + "eSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0" + + "aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3Rh" + + "bGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1" + + "c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + + "LAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + + "ZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxh" + "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9y" + - "ZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUg" + - "MS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAg" + - "ICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBo" + - "ZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdp" + - "dGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFu" + - "ZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290" + - "OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxl" + - "LmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRp" + - "ZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBz" + - "ZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApb" + - "Q1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42" + - "LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVy" + - "c3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmln" + - "dXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAg" + - "ICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAg" + - "ICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdv" + - "dG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1" + - "ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChz" + - "ZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1" + - "ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwu" + - "eWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNo" + - "YXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBj" + - "b3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1l" + - "bnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "ZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "cywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGlu" + - "ZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMg" + - "Q2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1" + - "bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMg" + - "aW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRu" + - "cyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMg" + - "T25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5p" + - "bykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5" + - "c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQt" + - "bWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5h" + - "bWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + - "CiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11" + - "c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVt" + - "LiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4g" + - "QXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxv" + - "Z2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxt" + - "ZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhl" + - "bG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBg" + - "YGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52" + - "Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdz" + - "IGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdp" + - "c3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3Iu" + - "ZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hh" + - "KS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQg" + - "bmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhv" + - "c3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IK" + - "PiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRl" + - "cyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGgg" + - "YSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBz" + - "dWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1h" + - "Z2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0" + - "aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+" + - "IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1" + - "bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4g" + - "KFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMg" + - "dGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdp" + - "c3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBt" + - "aXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNh" + - "biBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4" + - "YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMK" + - "Z3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0" + - "IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNr" + - "IGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwK" + - "ICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAg" + - "ICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTog" + - "PG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hh" + - "cnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9y" + - "eTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXgg" + - "b2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBi" + - "ZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFy" + - "ZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRo" + - "b3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9y" + - "IGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBh" + - "bmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kp" + - "IG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIg" + - "bWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0g" + - "cmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxj" + - "aGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkg" + - "T0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIu" + - "IFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVu" + - "dGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29y" + - "a2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3Vi" + - "ZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52" + - "Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1" + - "c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwK" + - "ICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZy" + - "b20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwg" + - "dmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0" + - "ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlh" + - "bCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGlt" + - "YWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4g" + - "dGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0" + - "cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4g" + - "SXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBR" + - "dWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNT" + - "PSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3Bh" + - "Y2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAi" + - "JEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJ" + - "UC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhl" + - "IGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQg" + - "c3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRo" + - "b3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9t" + - "YWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5k" + - "IGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5T" + - "IGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2Au" + - "IElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFi" + - "bGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhh" + - "bXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5k" + - "IGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0" + - "ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBh" + - "c3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhh" + - "cyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAs" + - "IHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRf" + - "Q0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQg" + - "YW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRl" + - "bnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5z" + - "ZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5E" + - "UkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lz" + - "IGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2Vydmlj" + - "ZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0t" + - "LS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBD" + - "YXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQ" + - "SSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9w" + - "dGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0Yg" + - "VUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8" + - "CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWlu" + - "IHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0" + - "YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1p" + - "bmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBW" + - "YW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBk" + - "ZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBv" + - "ciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52" + - "b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + - "YXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3Rh" + - "Y2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFu" + - "ZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1" + - "c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFj" + - "ayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMv" + - "PGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBl" + - "bmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRl" + - "IGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0" + - "ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1h" + - "cHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91" + - "IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1" + - "c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBh" + - "Y2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcg" + - "dGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmll" + - "dyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxh" + - "dGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0" + - "eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3" + - "aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0" + - "ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJI" + - "b3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpg" + - "YGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtl" + - "eXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJv" + - "dXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5h" + - "YmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXIt" + - "ZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFp" + - "bGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRk" + - "b24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBu" + - "dmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0" + - "aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVk" + - "OyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVu" + - "dCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRp" + - "b24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1k" + - "KS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUg" + - "Y29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9u" + - "ZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxh" + - "bmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZp" + - "cm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1" + - "dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdl" + - "bmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUg" + - "Y29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0" + - "aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + - "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBF" + - "S1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRl" + - "ci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3Jl" + - "IHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRv" + - "ZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJv" + - "eSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4g" + - "VGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5k" + - "cmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3Jw" + - "Yy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1n" + - "YXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsg" + - "YGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1" + - "ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2" + - "ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0g" + - "cmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3Rh" + - "Y2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFj" + - "ZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlm" + - "eSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3Rh" + - "bGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBh" + - "bmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVs" + - "ZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBt" + - "YXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcg" + - "b3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0" + - "OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5h" + - "bmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFy" + - "ZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJl" + - "Y3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kK" + - "YGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lz" + - "dGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91" + - "bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBn" + - "cmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBT" + - "aG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoK" + - "IyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQg" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNh" + - "Q291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxl" + - "YXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBg" + - "aGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0" + - "aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNy" + - "ZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5h" + - "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + - "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + - "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + - "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + - "c3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAg" + - "IGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoK" + - "ICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1M" + - "IG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBg" + - "aW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZh" + - "bHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0" + - "aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UK" + - "CmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1" + - "bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERv" + - "IG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBv" + - "ZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdy" + - "b25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVn" + - "aXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0t" + - "LXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2" + - "YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBu" + - "dmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3" + - "b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2" + - "ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1s" + - "YCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VD" + - "UkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFw" + - "aS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9y" + - "bWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9y" + - "IHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRv" + - "a2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRo" + - "ZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0" + - "cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9E" + - "T0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25m" + - "aWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRv" + - "Y2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBh" + - "bmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQg" + - "YnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+" + - "IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2" + - "NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFj" + - "Y291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQw" + - "MCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAt" + - "IFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEg" + - "bWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNo" + - "IGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3Jn" + - "Cj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1" + - "Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1" + - "bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tl" + - "bjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNl" + - "cy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+" + - "ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2Vydmlj" + - "ZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJv" + - "bGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5l" + - "dyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGlu" + - "ZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4g" + - "dGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3Jn" + - "cywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3Ry" + - "YXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJz" + - "KQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhp" + - "bmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8g" + - "YXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMj" + - "IENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11" + - "dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVs" + - "bFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVu" + - "aWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBo" + - "ZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVy" + - "bm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJu" + - "by8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8g" + - "LW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGlu" + - "IGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGlu" + - "IGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0" + - "LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + - "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0t" + - "ZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiRO" + - "R0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVu" + - "dCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVy" + - "bm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0" + - "LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Np" + - "b24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAu" + - "IFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBv" + - "ZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBz" + - "aG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBD" + - "U1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJv" + - "bGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRp" + - "b24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1" + - "bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAg" + - "IyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNv" + - "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBm" + - "YWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0t" + - "LS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBN" + - "aXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sg" + - "U0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBw" + - "b2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9k" + - "cyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWlu" + - "aXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nl" + - "c3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRo" + - "IGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3Rlcidz" + - "IGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVy" + - "RGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3Vl" + - "ciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + - "ZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3lu" + - "YyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVu" + - "Y2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVk" + - "YCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBg" + - "Y2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZp" + - "Y2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEg" + - "fCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNh" + - "c3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNg" + - "IHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmls" + - "ZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fz" + - "c2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2Rl" + - "IHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmli" + - "ZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFp" + - "bGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVz" + - "dHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJh" + - "cCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENo" + - "ZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2Zg" + - "IHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRf" + - "aWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjog" + - "dGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxp" + - "dmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0" + - "aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2Vl" + - "IFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1i" + - "b290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBz" + - "ZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9h" + - "cHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1v" + - "dW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRo" + - "ZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9U" + - "T09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBj" + - "b25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRT" + - "IHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20g" + - "YEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5j" + - "cGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkg" + - "dGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVk" + - "IGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2Iv" + - "bnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBw" + - "b3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5z" + - "dGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2" + - "ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBy" + - "dW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9u" + - "L2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3" + - "aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkg" + - "aXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4g" + - "bnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVz" + - "LnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAw" + - "YCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sg" + - "ZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4g" + - "YSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaApr" + - "dWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWln" + - "bm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + - "ZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + - "c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlv" + - "bmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQp" + - "LCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252" + - "Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUt" + - "cGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + - "c3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQp" + - "LCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3lt" + - "ZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5j" + - "dGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50" + - "cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAg" + - "ewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjog" + - "Ikluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rl" + - "ciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3Rl" + - "cCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRv" + - "b2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+" + - "PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQg" + - "d2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmls" + - "ZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4x" + - "LnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRo" + - "ZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAog" + - "ICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0t" + - "ZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3Rs" + - "IHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwK" + - "ICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBh" + - "bGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRl" + - "bXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVs" + - "bWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAi" + - "ZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJn" + - "cm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRo" + - "ZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBt" + - "YW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0" + - "aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUg" + - "c3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + + "KQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwg" + + "YW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29t" + + "cHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBm" + + "b3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpT" + + "Y29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5l" + + "IGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8t" + + "c2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRp" + + "b24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBv" + + "cHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlg" + + "LCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52" + + "ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFj" + + "ZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2Ug" + + "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0" + + "aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVs" + + "ZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5l" + + "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + + "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + + "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFt" + + "ZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcg" + + "bmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoK" + + "IyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + + "aGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "bnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMi" + + "IC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaApr" + + "dWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + + "ZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhl" + + "bG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9u" + + "bHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBg" + + "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5p" + + "bWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0" + + "IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFs" + + "dWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + + "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + + "b3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRp" + + "b246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6" + + "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0g" + + "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + + "ZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + + "bWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAg" + + "ICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6" + + "IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDog" + + "KmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMg" + + "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55" + + "YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkg" + + "YSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5" + + "CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3Jl" + + "ZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQg" + + "cnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlm" + + "IHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwg" + + "QVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQg" + + "fAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGlt" + + "YWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVu" + + "Y3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmpl" + + "Y3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0" + + "cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88" + + "ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNB" + + "UlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8g" + + "YHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQg" + + "YHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJl" + + "Y3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwg" + + "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290" + + "c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZp" + + "Z2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBM" + + "QUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2" + + "NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29u" + + "c3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+" + + "IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhl" + + "IGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgi" + + "JG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZ" + + "IiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4p" + + "YC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVg" + + "IHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3" + + "b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lk" + + "ZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJl" + + "Z2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBh" + + "IGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBl" + + "bmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBz" + + "dGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChw" + + "cmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBi" + + "YW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + + "IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwg" + + "cmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + + "dAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAg" + + "IyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGkt" + + "b3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5j" + + "dGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZm" + + "ZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRo" + + "ZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2Fy" + + "IHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBN" + + "aXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIg" + + "YXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVk" + + "ZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkK" + + "ClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5" + + "IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFj" + + "ZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBj" + + "b25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAoj" + + "IDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + + "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + + "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVh" + + "dGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + + "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + + "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAz" + + "LiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJu" + + "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZl" + + "cnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFt" + + "ZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAt" + + "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2Vj" + + "cmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5l" + + "ZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNS" + + "IHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBw" + + "dWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + + "bWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNr" + + "IHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2" + + "ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMK" + + "YGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4" + + "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEg" + + "VW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNy" + + "ZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBz" + + "dHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwg" + + "Q2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAg" + + "KyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBu" + + "byBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8" + + "IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFk" + + "IG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8u" + + "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtT" + + "IC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + + "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1p" + + "Z3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAj" + + "NC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBz" + + "bWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwK" + + "fCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0" + + "aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5E" + + "UkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1" + + "bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBp" + + "biB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + + "IHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVu" + + "ZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8" + + "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVs" + + "bSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdh" + + "eSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8" + + "IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4g" + + "c2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + + "b290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQw" + + "NCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxs" + + "IGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2Fz" + + "IHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBz" + + "byB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUt" + + "cnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVy" + + "aWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQg" + + "dmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJk" + + "Y29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGlt" + + "ZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVj" + + "dG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25z" + + "YCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2Ug" + + "dmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRh" + + "ZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAg" + + "ZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBT" + + "ZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25m" + + "aWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBh" + + "Y2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlg" + + "IHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4g" + + "QmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3Vj" + + "Y2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVw" + + "YWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyks" + + "IHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1" + + "YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5r" + + "bm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5p" + + "bmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBq" + + "c29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpv" + + "YiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVs" + + "ZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3Qg" + + "aWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUK" + + "aG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291" + + "bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNm" + + "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRl" + + "ZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVz" + + "Lm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + + "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFu" + + "ZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVm" + + "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2Vz" + + "L3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + + "ZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tp" + + "bGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFu" + + "ZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + + "anNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIs" + + "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + + "bXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJz" + + "dCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0" + + "ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5v" + + "dCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5k" + + "IGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBw" + + "cm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVk" + + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2" + + "ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwg" + + "bW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + + "aXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBh" + + "bmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBh" + + "Z2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9u" + + "IGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + + "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7" + + "CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1" + + "aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0" + + "aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0" + + "byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBw" + + "cmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJ" + + "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90" + + "IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + + "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + + "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxl" + + "IHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZp" + + "ZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5k" + + "bHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + + "YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + + "Ikc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3Bh" + + "Y2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + + "IHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + + "cy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0" + + "LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBz" + + "dHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + + "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + + "dXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQg" + + "dGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAg" + + "ICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + + "dG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0" + + "bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5h" + + "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + + "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + + "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBk" + + "aXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5h" + + "bGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtm" + + "bG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQg" + + "YSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBU" + + "aGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVw" + + "ZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNv" + + "bnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJh" + + "cmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxk" + + "cywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFr" + + "ZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1" + + "dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQg" + + "d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJl" + + "Z2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + + "dGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hl" + - "bG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZv" + - "cmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUg" + - "c3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQg" + - "ZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNr" + - "ZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3Jl" + - "LWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4g" + - "VGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBm" + - "aW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmlu" + - "YWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5h" + - "bWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4g" + - "SXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwg" + - "bnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4i" + + "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxs" + + "ZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhl" + + "IGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3Vy" + + "bCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNf" + + "dXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3Qg" + + "Zm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVT" + + "VEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwg" + + "SEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + + "aGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNv" + + "bmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWlj" + + "bXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURD" + + "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + + "IG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRp" + + "ZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGlj" + + "YXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxv" + + "Z2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNh" + + "dXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + + "byBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + + "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lz" + + "dHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElf" + + "S0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + + "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + + "Q0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2Yg" + + "dGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMg" + + "Zm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmls" + + "ZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdo" + + "ZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIg" + + "dG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4g" + + "SXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5n" + + "IGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxl" + + "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0" + + "aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAg" + + "ICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVh" + + "biBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + + "S1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + + "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxh" + + "dGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVk" + + "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50" + + "aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVk" + + "IHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1" + + "bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBw" + + "bGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1m" + + "aWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + + "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVy" + + "c2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBh" + + "Z2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFn" + + "ZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBu" + + "YXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQt" + + "bWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAi" + + "VGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRv" + + "IHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + + "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50" + + "IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2" + + "aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMi" + + "LAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCBy" + + "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sg" + + "dXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBk" + + "aWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1w" + + "cm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFs" + + "bCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJh" + + "dGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxh" + + "bmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2Zp" + + "bGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29t" + + "bWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0" + + "ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5k" + + "IHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90" + + "IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQg" + + "dmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + + "ZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + + "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + + "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + + "LWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAt" + + "LXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0" + + "ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "LCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRl" + + "ZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJU" + + "aGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJj" + + "ZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNy" + + "ZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + + "bnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9k" + + "aWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRp" + + "bmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0" + + "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlm" + + "ZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5l" + + "IHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVk" + + "ZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJl" + + "LWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1" + + "ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczog" + + "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhl" + + "IGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRp" + + "ZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "Ni1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBv" + + "bmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFv" + + "IC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUg" + + "aGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNl" + + "IGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4i" + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5l" + - "IGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + - "IGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBm" + - "aW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0" + - "byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9w" + - "ZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVz" + - "b3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNw" + - "YWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rp" + - "b24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNv" + - "bXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3Rl" + - "ciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBh" + - "Z2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBD" + - "TEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBj" + - "b21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNv" + - "bmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUg" + - "Y29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNs" + - "dXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRo" + - "ZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52" + - "aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlz" + - "Y292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBl" + - "Y3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAi" + - "VGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVz" + - "IHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBs" + - "YW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJh" + - "c2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFw" + - "aV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRl" + - "d2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQs" + - "IENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlh" + - "bWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5k" + - "IEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0" + - "aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1" + - "cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBD" + - "TEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNv" + - "bnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkg" + - "cHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tl" + - "ci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5W" + - "Q0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJh" + - "biBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4g" + - "SXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2Vz" + - "IGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFs" + - "b25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9n" + - "aW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFz" + - "c3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlv" + - "JyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBo" + - "ZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGlj" + - "YXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5k" + - "bGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1" + - "cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVk" + - "IHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50" + - "cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90" + - "IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9j" + - "YXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1w" + - "dCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1m" + - "aWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAg" + - "ICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQg" + - "YW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0" + - "cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFs" + - "bGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9m" + - "IHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVu" + - "dmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + - "ZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlk" + - "YXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5h" + - "bWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0" + - "cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9s" + - "LXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFu" + - "ZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0" + - "ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3Mu" + + "biIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAg" + + "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRz" + + "LXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdl" + + "bnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJl" + + "bGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVs" + + "bGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1" + + "bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNv" + + "bW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hl" + + "Y2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + + "ZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNz" + + "aW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0" + + "cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09m" + + "ZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0" + + "aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + + "aW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIs" + + "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQg" + + "YSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1y" + + "b3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUg" + + "RUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3Vn" + + "aCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkg" + + "cHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + + "dGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4g" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdh" + + "dGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1w" + + "cm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBs" + + "dXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1" + + "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGlj" + + "bXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0" + + "ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0" + + "IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + + "YnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95" + + "LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQg" + + "bmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFj" + + "ZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBv" + + "aW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VV" + + "UkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vy" + + "dmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VV" + + "UkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJU" + + "aGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5n" + + "cnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9z" + + "dG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlB" + + "cGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3Bl" + + "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAi" + + "VGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZp" + + "ZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RI" + + "ZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3Zl" + + "cnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9s" + + "LXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIs" + + "CiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNh" + + "LW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Et" + + "c3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAg" + + "ICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + + "dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVz" + + "IGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxt" + + "ZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5" + + "IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQg" + + "cGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVy" + + "IGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBm" + + "bG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + + "IHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVk" + + "OiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUs" + + "IGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQg" + + "c3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + + "ZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + + "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3Ry" + + "YXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + + "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + + "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + + "dHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRo" + + "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3" + + "ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5n" + + "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBn" + + "b25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBm" + + "bG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0" + + "cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVs" + + "bWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJl" + + "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFu" + + "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + + "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + + "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + + "IHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5n" + + "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3du" + + "IGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + + "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + + "aWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wt" + + "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJ" + + "R19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4t" + + "cmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJl" + + "Zm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + + "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + + "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + + "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0" + + "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmly" + + "bWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBh" + + "dGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRv" + + "d24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + + "YXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUg" + + "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24i" + + "OiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcg" + + "c2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + + "ZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNy" + + "ZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + + "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJp" + + "dHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3Mu" + "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwg" + - "aGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhl" + - "IGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRy" + - "b2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2Ys" + - "IGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQg" + - "YWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hF" + - "TE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBk" + - "ZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVs" + - "bWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQg" + - "Y29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9i" + - "c2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRo" + - "ZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5z" + - "dGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25l" + - "IGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEkt" + - "Z2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMg" + - "ZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIs" + - "CiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFu" + - "ZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rl" + - "ci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxs" + - "IjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjog" + - "IlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJl" + - "cXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4g" + - "c2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1" + - "ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3Rh" + - "Y2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFu" + - "ZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFs" + - "dWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhl" + - "bG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMi" + - "LAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJv" + - "bC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4i" + - "LAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91" + - "dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNv" + - "bnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBs" + - "YWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3Vi" + - "ZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhl" + - "IGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4" + - "IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQi" + - "OiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fz" + - "c2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0" + - "cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBi" + - "YXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5k" + - "cmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdv" + - "dG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhl" + - "IFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5n" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9k" + - "aWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRz" + - "IHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1" + - "c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRo" + - "ZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1w" + - "bGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQg" + - "dGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWlu" + - "ZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMt" + - "ZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBl" + - "bmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIs" + - "CiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwK" + - "ICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9y" + - "IHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJp" + - "ZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMg" + - "c3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJp" + - "ZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRy" + - "YS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBz" + - "ZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJx" + - "dWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQw" + - "MSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBk" + - "ZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlm" + - "eSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2Vj" + - "cmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2Vydmlj" + - "ZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25n" + - "IGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0" + - "aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5k" + - "IHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0" + - "ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMg" + - "b24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50" + - "IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4Igog" + - "ICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0" + - "cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0" + - "ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3" + - "YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5l" + - "IHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lz" + - "dGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNp" + - "eCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJp" + - "ZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFi" + - "bGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRl" + - "d2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhl" + - "IGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhv" + - "c3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1w" + - "bGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Et" + - "b3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBt" + - "aXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNz" + - "LmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZl" + - "cmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIs" + - "CiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VV" + - "UkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVS" + - "TCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAi" + - "VGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9s" + - "LXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQg" + - "Ym90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5n" + - "cnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVu" + - "YWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5p" + - "c3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1" + - "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBz" + - "Y2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0" + - "ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJl" + - "dmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBh" + - "bmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3Jl" + - "dCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1" + - "dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWly" + - "cm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9" + - "LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRl" + - "YXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1l" + - "bnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUg" + - "dmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95" + - "ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIg" + - "YmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRy" + - "b2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRl" + - "c3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQg" + - "bmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNl" + - "LCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4" + - "dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0" + - "Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVs" + - "ZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHBy" + - "ZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdp" + - "dGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhl" + - "IENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNl" + - "ZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJh" + - "dGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5" + - "IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3Zh" + - "bCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUg" + - "bGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3" + - "aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFu" + - "ZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJG" + - "b3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29u" + - "ZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNs" + - "dXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFu" + - "ZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJv" + - "eSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1l" + - "c3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJl" + - "cXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRl" + - "ZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1p" + - "c21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQg" + - "dGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUg" + - "aXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9u" + - "IiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRl" + - "c3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJU" + - "aGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55" + - "YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0" + - "aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVj" + - "dCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5" + - "IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRy" + - "b2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVn" + - "aXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJU" + - "aGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxh" + - "aW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFu" + - "ZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3Rl" + - "cnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25s" + - "eSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1" + - "ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQu" + - "IEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2Uu" + - "eWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVl" + - "cyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3Vn" + - "aCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "cyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRf" + - "YmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBh" + - "Z2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4g" + - "ZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVl" + - "cyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + - "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQs" + - "IGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFn" + - "ZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlh" + - "IHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQg" + - "ZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFy" + - "dCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwK" + - "ICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6" + - "ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYt" + - "bWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxl" + - "IGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJl" + - "eHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdy" + - "b3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25z" + - "LmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkg" + - "R2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVz" + - "dCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3Vy" + - "YXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2Fk" + - "LWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xh" + - "dGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFj" + - "ayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBo" + - "b3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRl" + - "UVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdh" + - "cm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rp" + - "b24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2Zm" + - "IHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rp" + - "b25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29y" + - "a2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBw" + - "YXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBs" + - "aWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJU" + - "aGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2Vy" + - "LW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxh" + - "bmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZh" + - "dWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJl" + - "IG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWlu" + - "c3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVm" + - "cmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwg" + - "YW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAg" + - "ICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVy" + - "LCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5n" + - "IC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZv" + - "ci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIg" + - "dXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAi" + - "c2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxv" + - "Y2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxm" + - "LWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFs" + - "bGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVh" + - "ZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQg" + - "aW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9j" + - "YWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxv" + - "Y2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1w" + - "bGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwg" + - "ZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBS" + - "ZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09N" + - "IG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06" + - "IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVy" + - "cmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0" + - "ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUu" + - "eWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAt" + - "MTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRl" + - "bmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVl" + - "cz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0" + - "YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBj" + - "b25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVt" + - "CiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwK" + - "ICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9" + - "fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAg" + - "ICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTky" + - "TWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBt" + - "ZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVt" + - "cGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAv" + - "dG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpO" + - "b3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJs" + - "ZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNv" + - "dXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZh" + - "dGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxs" + - "aW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWly" + - "cm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENv" + - "bmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5p" + - "bwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52" + - "Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVu" + - "dGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2Vy" + - "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpg" + - "YGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJh" + - "c2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lz" + - "dGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1m" + - "IC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0" + - "cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tl" + - "ci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQ" + - "SV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + - "eWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1m" + - "IC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxl" + - "IHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkg" + - "dG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEt" + - "ZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + + "b24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + + "aW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0" + + "cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xv" + + "YmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2Fu" + + "ZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMu" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + + "cyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAi" + + "VGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBh" + + "bmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBi" + + "bG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMi" + + "LAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVu" + + "Y3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + + "ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRv" + + "IEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0g" + + "YWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2Fz" + + "IGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5l" + + "ZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQt" + + "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + + "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhv" + + "ZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUg" + + "c2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + + "IGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcu" + + "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJh" + + "bnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlz" + + "IG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5n" + + "IHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4" + + "aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCBy" + + "b3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29s" + + "ZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCBy" + + "ZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBj" + + "bHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + + "ZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + + "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJU" + + "aGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + + "dGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rh" + + "cmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQs" + + "IGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxl" + + "IGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBz" + + "ZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExN" + + "IGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBs" + + "bG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIg" + + "c2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwg" + + "TlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdz" + + "IHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNl" + + "bGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNw" + + "ZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + + "ZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1" + + "Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVk" + + "IGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0" + + "aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABK" + + "VgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBs" + + "ZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3Zl" + + "cnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNl" + + "IGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhs" + + "YXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRg" + + "LgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1" + + "ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + + "L3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVm" + + "b3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxt" + + "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93" + + "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + + "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + - "Z2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNy" + - "ZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxs" + - "LXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250" + - "cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3Jl" + - "YXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQj" + - "cHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3lu" + - "YwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhv" + - "dXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVz" + - "LCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCBy" + - "ZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZv" + - "ciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBz" + - "YSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0" + - "YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdl" + - "UHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVs" + - "dC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNv" + - "cnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNj" + - "ZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUg" + - "MzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9r" + - "ZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBj" + - "b21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + - "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1" + - "c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycyku" + - "CgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0" + - "ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUv" + - "cmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0" + - "aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoK" + - "CmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAg" + - "LS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0t" + - "bmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEg" + - "YW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhl" + - "IGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3Bh" + - "Y2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0" + - "aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVy" + - "CmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwg" + - "cmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQg" + - "aWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRo" + - "IGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBz" + - "dGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0" + - "Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWlu" + - "ZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247" + - "IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9s" + - "LXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBk" + - "ZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJv" + - "bC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1" + - "c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxg" + - "LgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + - "b21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJh" + - "Y2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFw" + - "aS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBg" + - "CgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5z" + - "dGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0" + - "aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVm" + - "ZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUg" + - "NDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5" + - "IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBh" + - "bmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQK" + - "CmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwK" + - "ICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRH" + - "QVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJl" + - "c3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJ" + - "IEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJl" + - "ZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRp" + - "b24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25t" + - "ZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5l" + - "Y3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZv" + - "ciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJl" + - "c3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBs" + - "YW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQg" + - "TkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0" + - "Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRp" + - "b24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBD" + - "b21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3Rh" + - "bGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0" + - "ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21h" + - "aW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9o" + - "ZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRl" + - "d2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRl" + - "cGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tl" + - "bmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZv" + - "cj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0K" + - "YGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwg" + - "Zm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoK" + - "YGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBz" + - "eW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVj" + - "dGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0" + - "LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNl" + - "bGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0t" + - "LS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJh" + - "LCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMs" + - "IHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFy" + - "eS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBp" + - "LWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5" + - "IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBg" + - "YWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5" + - "IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9u" + - "cy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERl" + - "cGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAg" + - "fAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRl" + - "d2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBE" + - "ZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5j" + - "bHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVl" + - "YCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNr" + - "IHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVk" + - "PXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91" + - "dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFt" + - "ZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1n" + - "cm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXIt" + - "cHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFj" + - "a3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGlu" + - "c3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQg" + - "dXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVy" + - "YXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEg" + - "SGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVn" + - "aXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBh" + - "cmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwg" + - "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAg" + - "fCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNs" + - "dXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0" + - "b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBI" + - "ZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpD" + - "b21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290" + - "LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lv" + - "biBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + - "YCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4K" + - "CiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBi" + - "ZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwg" + - "R2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBs" + - "YW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMs" + - "IFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQ" + - "IEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAt" + - "cmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50" + - "IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lz" + - "dGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95" + - "LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUg" + - "ZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhv" + - "c3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVz" + - "cyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1" + - "YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdh" + - "dGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0" + - "dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6" + - "Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJu" + - "YXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8v" + - "d29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDog" + - "Imh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdy" + - "cGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgpp" + - "bmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRl" + - "d2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdh" + - "eSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRl" + - "d2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTog" + - "bnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlz" + - "dGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoK" + - "ICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBp" + - "LjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAg" + - "ICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRl" + - "d2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86" + - "CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpg" + - "YGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAg" + - "ICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21z" + - "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICBy" + - "ZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2Vy" + - "dmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5h" + - "dHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVy" + - "cmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRo" + - "ZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3Jl" + - "IHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVw" + - "ZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1s" + - "CmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJo" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNz" + - "PjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4i" + - "CmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0" + - "ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIK" + - "aW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNp" + - "cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9u" + - "bHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVn" + - "aXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25m" + - "aWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMt" + - "aG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4" + - "dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxv" + - "eS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJf" + - "TkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lP" + - "Tj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJF" + - "Q09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRo" + - "LXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZp" + - "Zz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAg" + - "Q0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtV" + - "QkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlv" + - "biBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3Vi" + - "ZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklM" + - "RWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUt" + - "Y2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVu" + - "dCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUg" + - "RmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVz" + - "IHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBg" + - "YmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9s" + - "LXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+" + - "IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJv" + - "bC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQg" + - "PG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wt" + - "cGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZv" + - "ciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmln" + - "IDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1" + - "dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVz" + - "dGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1" + - "dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZp" + - "Zz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFu" + - "ZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9v" + - "dXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAg" + - "LS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1l" + - "IDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0" + - "aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZy" + - "b20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFj" + - "ZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQg" + - "dmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0" + - "IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRl" + - "eHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1" + - "bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0" + - "ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhy" + - "b3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmly" + - "b25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAg" + - "YW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3Bh" + - "Y2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhh" + - "bXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZp" + - "Y2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdh" + - "eSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdh" + - "eQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1" + - "cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0" + - "PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBu" + - "dmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3Ig" + - "XAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1l" + - "b3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2Vj" + - "cmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJv" + - "eSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBw" + - "bGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBw" + - "bHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1t" + - "YW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2Vz" + - "IG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFu" + - "YWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBl" + - "ZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMg" + - "dHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2" + - "ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxt" + - "IHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlk" + - "ZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3Bh" + - "Y2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lz" + - "ZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWlu" + - "IGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6" + - "CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJv" + - "eSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4g" + - "XAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xp" + - "PiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVz" + - "dGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwK" + - "ICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9t" + - "CmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXIt" + - "bmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFu" + - "ZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0" + - "ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0" + - "aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRy" + - "b2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250" + - "cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09O" + - "RklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1" + - "c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhl" + - "IENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24g" + - "Y29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVy" + - "eSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lz" + - "dGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAg" + + "ICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTog" + + "IjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFu" + + "ZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9j" + + "YXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2Vz" + + "IGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + + "YW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJl" + + "KSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + + "c2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBs" + + "b3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRo" + + "ZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2Ap" + + "IGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRz" + + "LgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAg" + + "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6" + + "CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgoj" + + "IyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxz" + + "KQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + + "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + + "ICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1" + + "bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5" + + "PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + + "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + + "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + + "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2Vj" + + "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + + "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + + "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNl" + + "Y3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdl" + + "UHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBp" + + "biBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5h" + + "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + + "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + + "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + + "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + + "c3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + + "ICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0" + + "LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29t" + + "cHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsg" + + "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRz" + + "IGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5k" + + "ZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNr" + + "T2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0g" + + "bnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20t" + + "Y29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwK" + + "ICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0n" + + "CiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRl" + + "bGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVs" + + "dC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + + "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAK" + + "Ci0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBk" + + "ZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVw" + + "IDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + + "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNr" + + "IG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVi" + + "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1z" + + "dHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1" + + "c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + + "dWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRp" + + "bmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + + "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + + "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + + "CgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0" + + "ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0" + + "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ks" + + "IGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + + "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFu" + + "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + + "dmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + + "bWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + + "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktV" + + "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + + "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVj" + + "b25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMK" + + "YW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAg" + + "LUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + + "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQg" + + "cmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoK" + + "Rm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiks" + + "IHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "Ci0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5n" + + "ZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNl" + + "ciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQg" + + "dGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1u" + + "IGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + + "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5T" + + "IGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBo" + + "b3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJl" + + "Y29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+" + + "YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0" + + "ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRl" + + "IHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBg" + + "SG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGly" + + "ZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2" + + "YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUK" + + "SUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVp" + + "ciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRp" + + "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5h" + + "bGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + + "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUg" + + "Y29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcg" + + "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + + "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1v" + + "IHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHBy" + + "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + + "cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + + "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + + "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + + "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + + "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + + "aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBl" + + "bmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNl" + + "IGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBP" + + "cGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + + "dXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + + "bmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxl" + + "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMg" + + "fAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + + "fCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + + "eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9u" + + "YWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + + "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRp" + + "b25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRv" + + "biBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVx" + + "dWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBs" + + "bG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + + "IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZh" + + "bml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUg" + + "c3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0" + + "ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9u" + + "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + + "bnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5n" + + "cmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1" + + "YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90" + + "IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBu" + + "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + + "YXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhl" + + "biByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBo" + + "YW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNv" + + "bWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFu" + + "ZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1m" + + "aWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52" + + "aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + + "cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwg" + + "Q0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + + "bmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkg" + + "cHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFu" + + "ZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wt" + + "cGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRo" + + "ZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVl" + + "ZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3Rz" + + "IGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVu" + + "dmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3Nl" + + "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICBy" + + "ZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgot" + + "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0" + + "ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0" + + "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + + "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wt" + + "cGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpg" + + "ZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1n" + + "YXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBU" + + "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBs" + + "dXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAg" + + "aXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNl" + + "Cndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAoj" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2Jh" + + "bDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52" + + "Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNT" + + "ZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZO" + + "YXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNl" + + "cnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vy" + + "dmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9j" + + "YXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdy" + + "cGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0" + + "ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1l" + + "c3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7" + + "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6" + + "IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0" + + "czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdh" + + "dGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFw" + + "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + + "bWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAg" + + "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + + "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxl" + + "ZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAg" + + "ICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAg" + + "ICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + + "cmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXkt" + + "ZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + + "ICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZp" + + "ZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBg" + + "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVM" + + "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + + "bmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRy" + + "ZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElf" + + "Q09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + + "PiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDog" + + "IjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFw" + + "aV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48" + + "Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWlu" + + "PiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29u" + + "dGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFw" + + "cyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNf" + + "aG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhl" + + "cmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0" + + "aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBi" + + "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + + "c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4g" + + "XAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBc" + + "CiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgt" + + "dG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+" + + "CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJv" + + "bSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50" + + "LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29t" + + "bWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25s" + + "eQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIu" + + "CgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwg" + + "Zmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSBy" + + "ZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + - "cy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBj" + - "b21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMK" + - "bm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFu" + - "ZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0" + - "aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxz" + - "byBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpm" + - "b3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVj" + - "dXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wt" + - "cGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5l" + - "LWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUt" + - "cmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5h" + - "bWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52" + - "Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFj" + - "ayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0t" + - "cGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAg" + - "LS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNs" + - "dXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNh" + - "LWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1" + - "biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJv" + - "dy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVn" + - "aXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAA" + - "AAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2Rl" + - "YnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlh" + - "Z25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJl" + - "cy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBh" + - "bGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNw" + - "ZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBo" + - "ZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBm" + - "b3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+" + - "IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChz" + - "aG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2Zm" + - "CgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAg" + - "ICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxC" + - "YWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQg" + - "dG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApg" + - "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcK" + - "a3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1" + - "ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFj" + - "ZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBp" + - "ZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxu" + - "YW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + - "fScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1" + - "YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFn" + - "ZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFt" + - "ZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQg" + - "ZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlv" + - "IFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAog" + - "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAK" + - "CjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBj" + - "aGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFs" + - "dWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQg" + - "ZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1z" + - "ZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBh" + - "bmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4K" + - "CjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUK" + - "CiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVz" + - "cGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBG" + - "YWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZp" + - "Y2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAg" + - "ICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52" + - "Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEw" + - "bQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdl" + - "bnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9w" + - "ZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBP" + - "cGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVt" + - "CgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBv" + - "cGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBv" + - "biB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1j" + - "IHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBy" + - "dW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291" + - "cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioq" + - "OiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0" + - "cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJl" + - "Y3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVz" + - "cGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAg" + - "IEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2" + - "ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFs" + - "aXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMg" + - "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVz" + - "CiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+" + - "IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBz" + - "aWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBP" + - "SURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBP" + - "cGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3Rh" + - "dGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0" + - "ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUK" + - "ICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMg" + - "cHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3Bz" + - "IG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlz" + - "IHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMu" + - "aXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hv" + - "d3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291" + - "bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNz" + - "dWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhl" + - "biByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWln" + - "cmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVk" + - "OiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2" + - "ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91" + - "bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndl" + - "bGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldL" + - "UyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9k" + - "cyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVz" + - "dGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0" + - "ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1Ymtl" + - "eSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5" + - "cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBg" + - "dGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3Nh" + - "bmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25v" + - "c2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fz" + - "c2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBD" + - "YXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4K" + - "W2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAg" + - "cmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6" + - "IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTog" + - "NDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRo" + - "ZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2Au" + - "CgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4" + - "dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRy" + - "YS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lz" + - "CgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoK" + - "IyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBv" + - "ZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1" + - "ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBg" + - "YAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVT" + - "ZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQg" + - "bm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFz" + - "cyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAg" + - "a3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3Vy" + - "Y2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmli" + - "ZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBg" + - "YAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21z" + - "CgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxl" + - "ZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQg" + - "c2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMK" + - "CmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoK" + - "IyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90" + - "IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6" + - "Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1l" + - "c3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBg" + - "CgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMK" + - "ClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBz" + - "aG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVj" + - "ayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxv" + - "Z3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9u" + - "dmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVj" + - "dGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWls" + - "PTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFs" + - "cyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUg" + - "YCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtl" + - "eQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hv" + - "ICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9h" + - "dXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6" + - "IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0" + - "cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2Vj" + - "cmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVu" + - "ZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAg" + - "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "c2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMg" + - "RmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpD" + - "b21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0" + - "aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0" + - "aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBG" + - "aXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUg" + - "bm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXpl" + - "cnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1" + - "Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291" + - "cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5k" + - "cyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAi" + - "LyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0i" + - "JDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIk" + - "Y29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2Ug" + - "LXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05U" + - "RVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVp" + - "ciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBr" + - "dWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAt" + - "byBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBc" + - "CiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAg" + - "IC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxs" + - "CmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5" + - "CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5v" + - "IGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2Rz" + - "IGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0" + - "b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4g" + - "bnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlm" + - "eSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cg" + - "b3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJh" + - "dGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0" + - "dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMg" + - "YnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBs" + - "b3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAg" + - "LW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHBy" + - "aXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlz" + - "dHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0" + - "byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxv" + - "b3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1z" + - "ZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRv" + - "bXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0" + - "ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRl" + - "d2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVX" + - "QVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBn" + - "YXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9" + - "J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpk" + - "aWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0" + - "dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRz" + - "IHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2lj" + - "bXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9i" + - "YWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2Vk" + - "LiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQg" + - "ZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFu" + - "ZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUg" + - "c2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUt" + - "NC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFt" + - "ZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2" + - "aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8Cnwt" + - "LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJh" + - "LXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8" + - "IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZp" + - "Y2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtl" + - "eXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBz" + - "aXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVz" + - "cyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0" + - "ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1" + - "cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9y" + - "eSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5k" + - "Lwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEs" + - "IE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2" + - "aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2Jz" + - "ZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFz" + - "ZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1l" + - "bnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1l" + - "bnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1s" + - "ICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0g" + - "Z2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0" + - "cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVs" + - "bWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBw" + - "bGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBl" + - "bnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1" + - "bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAg" + - "ICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3Rt" + - "cGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQg" + - "dmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBj" + - "bHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVu" + - "dmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENM" + - "SS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2Uu" + - "IERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMg" + - "YW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJl" + - "bGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0t" + - "LS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0g" + - "fCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVy" + - "IHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8" + - "IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0" + - "YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRo" + - "IGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5n" + - "b3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0t" + - "fC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkt" + - "a2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMg" + - "fCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + - "aW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2Yg" + - "fCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNl" + - "cyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwg" + - "c2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxt" + - "LXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZj" + - "ZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBp" + - "LWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0t" + - "YWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBs" + - "YWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1z" + - "eXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRl" + - "OiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2Zg" + - "IHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3Rt" + - "cGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRt" + - "aW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAg" + - "YmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + - "YXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + - "LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZh" + - "YmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmlj" + - "IGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMg" + - "VGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkK" + - "ClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxh" + - "dGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdl" + - "IHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFz" + - "ZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5" + - "LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxh" + - "dGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGly" + - "ZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRl" + - "ZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52" + - "Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9n" + - "bG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVk" + - "RW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1V" + - "U1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQog" + - "IHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2" + - "YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1s" + - "ICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAg" + - "ICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5" + - "Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29y" + - "ZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4K" + - "CmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgog" + - "IGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVl" + - "czpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0" + - "IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGln" + - "aGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBz" + - "aGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0t" + - "IEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0" + - "dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2" + - "ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVz" + - "dCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoK" + - "YGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52" + - "aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lm" + - "aWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZl" + - "cmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fz" + - "c2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3Jh" + - "dGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRy" + - "YS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNh" + - "c3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNv" + - "bnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0Jv" + - "eC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5w" + - "dmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVT" + - "ZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25z" + - "LmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rv" + - "ci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5k" + - "YXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2Vz" + - "IChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9z" + - "aXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2Vydmlj" + - "ZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFi" + - "bGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcg" + - "ZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBg" + - "bGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0u" + - "aW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVu" + - "YWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhl" + - "IEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0" + - "aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0" + - "ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMv" + - "PGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgog" + - "IGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDog" + - "MQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxl" + - "ZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBt" + - "ZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UK" + - "CmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0" + - "aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAg" + - "IHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9u" + - "bHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5W" + - "Q0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0" + - "aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVu" + - "dGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5n" + - "cnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldv" + - "cmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1" + - "Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1h" + - "bmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1" + - "cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBu" + - "b3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2Vy" + - "LW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25m" + - "aWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIg" + - "TG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4v" + - "ZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpn" + - "dWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNr" + - "J3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0" + - "ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90" + - "ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAg" + - "ICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4v" + - "cHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9S" + - "T1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xh" + - "dGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlv" + - "bnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZh" + - "aWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5l" + - "IGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5l" + - "IHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNB" + - "IHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3lu" + - "YwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJv" + - "bQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFs" + - "bGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmls" + - "ZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2" + - "ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lk" + - "ZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQu" + - "IFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3Qg" + - "YXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwK" + - "Y3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250" + - "cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQg" + - "LW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3Jl" + - "cCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0" + - "cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVu" + - "Y3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5u" + - "YW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9j" + - "YWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRl" + - "CmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0" + - "aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBz" + - "Oi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0" + - "YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxl" + - "IFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gK" + - "IyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJp" + - "bGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBz" + - "eW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUg" + - "cmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxl" + - "YXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5" + - "YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVU" + - "BQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXIt" + - "ZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5k" + - "IGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBV" + - "SSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91" + - "IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdl" + - "IGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBu" + - "dmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9u" + - "IHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0" + - "aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6Cgpg" + - "YGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRl" + - "IG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBh" + - "bmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJl" + - "Z2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1y" + - "dW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5n" + - "IGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19B" + - "UElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + - "IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2Vy" + - "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBc" + - "CiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48" + - "ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBB" + - "cHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2Vy" + - "dmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxl" + - "IC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAK" + - "CiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNl" + - "bnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11" + - "aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAi" + - "SG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMi" + - "CmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1" + - "bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4g" + - "UmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRp" + - "Y2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcA" + - "ALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2Ug" + - "UHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGlt" + - "YWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2Ap" + - "LCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRy" + - "b2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4g" + - "dGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFj" + - "ZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZl" + - "cm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlz" + - "c2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBz" + - "ZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4K" + - "CiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJu" + - "bwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5p" + - "by9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8v" + - "a3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUg" + - "cHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1r" + - "ZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5" + - "cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5h" + - "dHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2Vy" + - "OyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBz" + - "ZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52" + - "Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tl" + - "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAt" + - "LWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCBy" + - "ZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9j" + - "a2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlh" + - "bWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRh" + - "OgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBm" + - "YWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9k" + - "cwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAg" + - "ICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAg" + - "ICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAi" + - "c2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAg" + - "ICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0i" + - "CiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNo" + - "U3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlv" + - "bnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3Rl" + - "ZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0" + - "czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFn" + - "ZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBw" + - "bGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRp" + - "b24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBh" + - "cmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRy" + - "b2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3Jl" + - "dCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFz" + - "aAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + - "YWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1y" + - "ZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2Nr" + - "ZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJ" + - "X0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBh" + - "cHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25t" + - "ZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1l" + - "OiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVu" + - "Y2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0" + - "ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlz" + - "dC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVy" + - "aWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0" + - "aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3su" + - "c3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMi" + - "fV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29u" + - "dHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAog" + - "IC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2lt" + - "YWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sg" + - "cHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + - "IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBn" + - "cmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEg" + - "VW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBj" + - "b21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "Z2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVs" + - "bCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVz" + - "Kio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25s" + - "eWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxp" + - "Y2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVl" + - "ZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3Qg" + - "UmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNl" + - "cnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxC" + - "YWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZm" + - "ZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRl" + - "IHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29u" + - "dGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBg" + - "YAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2" + - "ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0" + - "Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93" + - "IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVy" + - "ZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4" + - "YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0" + - "IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsB" + - "AhQAFAAIAAAAAAAhAOwQjqxKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3Qu" + - "anNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQ" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAe+fV" + - "JbcUAAC3FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhh" + - "bXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDVWyEKRxgAAEcY" + - "AAA3AAkAAAAAAAAAAAAAAHucAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2Fk" + - "ZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkA" + - "CQAAAAAAAAAAAAAAMLUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRl" + - "LWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkA" + - "AAAAAAAAAAAAAD/PAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1h" + - "bmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAA" + - "AAAAAAAAxfQAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFp" + - "bGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAA" + - "AAAAAAAAAAD3AwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZy" + - "b20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAA" + - "AAAAAAAAAL4tAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVz" + - "dGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAA" + - "AAAAAABcNwEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAKVZAQBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwEC" + - "FAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAAAAAAAAAigAEAZGF0YS9udmNmLXNlbGYt" + - "bWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEASldIyyRcAAAkXAAALQAJAAAAAAAAAAAAAADzkAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEA" + - "ADcACQAAAAAAAAAAAAAAe+0BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90" + - "cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJ" + - "AAAAAAAAAAAAAABKDwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAAD2cQIA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAKvIAgBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAJDxAgBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAJSIDAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAATFMDAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3Ry" + - "dWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAA" + - "AAAA0X0DAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZj" + - "Zi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAA" + - "AAAAAAAAAACGAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAAB1nAMAAAA=" + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1" + + "c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdp" + + "b24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + + "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVy" + + "c2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + + "ZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJl" + + "Z2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + + "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNs" + + "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + + "IFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + + "LXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lz" + + "dHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNo" + + "YWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpX" + + "S1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBI" + + "ZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29u" + + "dHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFu" + + "ZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1" + + "dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGlu" + + "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBh" + + "ZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFu" + + "ZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0" + + "cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFu" + + "ZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + + "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0" + + "ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + + "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + + "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + + "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + + "IFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + + "b3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250" + + "cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJl" + + "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5" + + "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + + "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFu" + + "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + + "YXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + + "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBv" + + "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIK" + + "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xl" + + "YW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + + "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + + "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + + "b25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + + "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + + "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURg" + + "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + + "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4" + + "YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0" + + "ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBj" + + "b21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gK" + + "S1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + + "Q09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09O" + + "RklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBs" + + "YW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBr" + + "dWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + + "YAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0" + + "ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2Ft" + + "ZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + + "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + + "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250" + + "cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21w" + + "dXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + + "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93" + + "IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAt" + + "LXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0" + + "IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBs" + + "YW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVy" + + "LCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGlj" + + "aXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVu" + + "IHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + + "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + + "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + + "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + + "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + + "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5" + + "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + + "YS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + + "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + + "XAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRl" + + "IGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdp" + + "c3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + + "ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQU" + + "AAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNl" + + "CgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5h" + + "Z2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMg" + + "QWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + + "ZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVu" + + "dHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVu" + + "dHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUg" + + "YSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0" + + "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6" + + "IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBS" + + "RUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAw" + + "LzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6" + + "CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + + "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + + "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + + "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + + "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + + "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + + "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + + "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + + "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + + "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + + "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2Nr" + + "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFj" + + "ZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + + "cHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZl" + + "cmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVk" + + "IHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + + "bWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVu" + + "YmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2gg" + + "U2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + + "dWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVs" + + "ZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZj" + + "ci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50" + + "aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMj" + + "IyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6" + + "CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + + "UkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAv" + + "MSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVy" + + "IGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpg" + + "YGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + + "dGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9i" + + "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3Mg" + + "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0" + + "IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3Bh" + + "Y2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipP" + + "cGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBw" + + "dWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9u" + + "IGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMg" + + "aW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAg" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + + "ciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3Vi" + + "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNl" + + "Y3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmlu" + + "ZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNo" + + "CiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVu" + + "YmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBh" + + "dXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxp" + + "ZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFu" + + "eSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtl" + + "eSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQg" + + "d2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRp" + + "b25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fu" + + "bm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMg" + + "dGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50" + + "LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJ" + + "bml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9w" + + "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAg" + + "bWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBV" + + "c2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxs" + + "YmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUg" + + "bGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVu" + + "diB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVu" + + "YmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + + "IyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5" + + "c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBt" + + "aWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVu" + + "dCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5h" + + "bCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFu" + + "ZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4x" + + "IG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxl" + + "ZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNl" + + "IHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90" + + "YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoK" + + "IyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVT" + + "VEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEw" + + "bQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fz" + + "c2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMj" + + "IyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + + "U2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwK" + + "LSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4" + + "IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIi" + + "CiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5v" + + "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + + "aWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMj" + + "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + + "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpg" + + "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcg" + + "ZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoK" + + "IyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShz" + + "KSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + + "dmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNs" + + "YWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRj" + + "aCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFz" + + "aAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoK" + + "Mi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0" + + "cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKklu" + + "c3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVk" + + "IHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0" + + "YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3" + + "aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFy" + + "cyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQp" + + "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4g" + + "PG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNl" + + "IGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3Bh" + + "Y2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1" + + "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + + "dCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08" + + "cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWls" + + "ZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUg" + + "Y3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3Np" + + "cwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMg" + + "LW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQpr" + + "dWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hl" + + "Y2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + + "ZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3Jvbmcg" + + "YmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3Jl" + + "dHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5v" + + "dCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBj" + + "cmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBT" + + "aG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0" + + "cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQg" + + "aW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBj" + + "cmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0" + + "IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBk" + + "ZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQK" + + "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + + "IGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZp" + + "Y2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMp" + + "CgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpz" + + "dHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3Bl" + + "cmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5n" + + "ICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNv" + + "bnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVk" + + "LiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5k" + + "CmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9D" + + "T05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + + "TlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + + "IiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFk" + + "YXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9" + + "IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3Vi" + + "ZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIk" + + "bnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSIn" + + "IF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + + "IGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZj" + + "Zi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQg" + + "bmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmlu" + + "YWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + + "IiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUi" + + "IC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlz" + + "c2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0" + + "YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgpp" + + "dCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBc" + + "CiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4" + + "ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxt" + + "ZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhh" + + "dCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + + "KS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3Rh" + + "bGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRl" + + "IGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9u" + + "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3Bl" + + "cmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhl" + + "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3Bl" + + "cmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1h" + + "bnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + + "ZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENo" + + "YW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0" + + "ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyBy" + + "ZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + + "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + + "IiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + + "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJl" + + "Y3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0" + + "c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+" + + "LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMj" + + "IyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92" + + "ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGlu" + + "YXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXkt" + + "YWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + + "dGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhh" + + "bXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdl" + + "KS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVu" + + "Y2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFj" + + "ZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBu" + + "YXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBv" + + "cGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXBy" + + "b3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1n" + + "YXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVz" + + "cyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZv" + + "eSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdh" + + "eSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVy" + + "ZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + + "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHku" + + "eWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25t" + + "ZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1" + + "ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAg" + + "ICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1u" + + "YW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRz" + + "LCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRl" + + "bXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxh" + + "bmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52" + + "Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNv" + + "bmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAg" + + "ICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVu" + + "di1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0t" + + "IGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25z" + + "dHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBl" + + "bnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxv" + + "dyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGlu" + + "c3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRz" + + "IGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29t" + + "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + + "CiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMu" + + "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0t" + + "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5h" + + "dHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52" + + "Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRl" + + "cGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3Nh" + + "bmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRl" + + "IGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgoj" + + "IyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBM" + + "YWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlz" + + "IHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVs" + + "bS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlv" + + "bi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdy" + + "cGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFw" + + "aSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnkt" + + "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8" + + "IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVx" + + "dWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2Yv" + + "aGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNz" + + "dWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChu" + + "byByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMg" + + "fCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGlu" + + "aGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0" + + "cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4u" + + "L2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5s" + + "bG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFu" + + "ZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1w" + + "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + + "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2" + + "YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2Vy" + + "dmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQg" + + "aWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVu" + + "Y3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4g" + + "TWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290" + + "Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAg" + + "a2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVl" + + "czpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVl" + + "czoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + + "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + + "YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRl" + + "bmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFs" + + "dWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZh" + + "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdo" + + "ZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAg" + + "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1" + + "ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + + "IiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + + "WW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + + "ICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUp" + + "CgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJp" + + "dGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAg" + + "bmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpX" + + "aGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5l" + + "ZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVl" + + "c2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpG" + + "cm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlh" + + "bWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2Jh" + + "bC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFy" + + "dC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMu" + + "eWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiBy" + + "ZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + + "IFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVz" + + "YCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3Ry" + + "dWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBp" + + "dCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVw" + + "bGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + + "IGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uu" + + "c2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9y" + + "cy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMj" + + "IE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2Uu" + + "KmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRz" + + "dHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRl" + + "Lm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBv" + + "cGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAot" + + "IGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0g" + + "YG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJs" + + "ZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipg" + + "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVu" + + "YWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMg" + + "TExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVh" + + "dGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRo" + + "ZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5" + + "YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkg" + + "QVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhl" + + "IExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJs" + + "ZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBz" + + "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24g" + + "dG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoK" + + "YGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAg" + + "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + + "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGlj" + + "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + + "ICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0" + + "ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAg" + + "ICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJl" + + "cGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVy" + + "cy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBv" + + "biBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBB" + + "UEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5s" + + "bG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBh" + + "YmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZv" + + "ciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNh" + + "IGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5z" + + "dGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJh" + + "bnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCBy" + + "b3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + + "dGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xM" + + "TSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJ" + + "QS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + + "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + + "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + + "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + + "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + + "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + + "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + + "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + + "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + + "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + + "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + + "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + + "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + + "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + + "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + + "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + + "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + + "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + + "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + + "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + + "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + + "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + + "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + + "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + + "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + + "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + + "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + + "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + + "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + + "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + + "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + + "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + + "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + + "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + + "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + + "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + + "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + + "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + + "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + + "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + + "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + + "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + + "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + + "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + + "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + + "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + + "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + + "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + + "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + + "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + + "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + + "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + + "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + + "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + + "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + + "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + + "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + + "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + + "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + + "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + + "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + + "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + + "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + + "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + + "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + + "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + + "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + + "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + + "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + + "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + + "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + + "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + + "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + + "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + + "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + + "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + + "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + + "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + + "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + + "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + + "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + + "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + + "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + + "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + + "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + + "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + + "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + + "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + + "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + + "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + + "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + + "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + + "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + + "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + + "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + + "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + + "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + + "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + + "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + + "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + + "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + + "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + + "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + + "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + + "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + + "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + + "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + + "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + + "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + + "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + + "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + + "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + + "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + + "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + + "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + + "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + + "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + + "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + + "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + + "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + + "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + + "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + + "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + + "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + + "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + + "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + + "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + + "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + + "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + + "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + + "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + + "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + + "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + + "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + + "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + + "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + + "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + + "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + + "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + + "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + + "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + + "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + + "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + + "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + + "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + + "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + + "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + + "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + + "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + + "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + + "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + + "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + + "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + + "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + + "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAB316SkoQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + + "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAK0TcdvYZAAA2GQA" + + "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAAAAAAAAAAxXUAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQCnzznD/hQAAP4UAAA0AAkAAAAAAAAAAAAAAFmHAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + + "AAAAAAAhADGLmU/ZGAAA2RgAADcACQAAAAAAAAAAAAAAwpwAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAAJtgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAGNAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + + "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + + "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAACe9QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + + "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0" + + "Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAANAEAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + + "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKnB" + + "JvcuCQAALgkAADkACQAAAAAAAAAAAAAAly4BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + + "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + + "5CEAAOQhAAAuAAkAAAAAAAAAAAAAADU4AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + + "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANF1wo8WJgAAFiYAADAACQAA" + + "AAAAAAAAAAAAfloBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + + "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDJ+UVvaBAAAGgQAAAyAAkAAAAAAAAAAAAAAPuA" + + "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQBzOQ7Hz10AAM9dAAAtAAkAAAAAAAAAAAAAAMyRAQBkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAGriz82EhAABhIQAANwAJAAAAAAAAAAAAAAD/7wEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAM4RAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + + "AAkAAAAAAAAAAAAAAHp0AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + + "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + + "AAAAAAAAL8sCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAFPQCAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + + "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + + "AAAAAAAAAAAAAACpJAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJ" + + "AAAAAAAAAAAAAADQVQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + + "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + + "AAC5BwAAPwAJAAAAAAAAAAAAAABVgAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + + "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAAhIgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + + "APmeAwAAAA==" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go index 5b2435ef13..ce4deebb7a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go @@ -155,10 +155,9 @@ func TestResolveValidatorPullSecret_BothRolesMintTheAcceptedCredential(t *testin assert.Equal(t, 1, sentLogin, "the scope is settled once, with the other role waiting on it") } -// A docker login with no access to the stack's org gives way to the NGC key -// for that org alone. The validator's pull secret keeps the login, which -// reaches the validator's org, and the 403 is never reported as a rejected -// login. +// A docker login with no access to an org gives way to the NGC key for that +// org alone. The validator's pull secret keeps the login, which reaches the +// validator's org, and the 403 is never reported as a rejected login. func TestRegistryCredentials_NoAccessMovesOnlyThatScope(t *testing.T) { newEntitledNGC(t, map[string][]string{"login-pass": {"nvidia"}, "key-pass": {"orgb"}}) dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "login-pass", "")) @@ -176,6 +175,43 @@ func TestRegistryCredentials_NoAccessMovesOnlyThatScope(t *testing.T) { clusterValidatorComputePlaneRole), "the validator's org is the login's") } +// Before install, a docker login with no access to the scope helm pulls the +// stack's charts from fails that row, though the NGC key reaches it: helm on +// this machine pulls the charts with the docker login. It is reported as no +// access, never as a rejected login. After install, and on a scope that holds +// no charts, the key serving the scope is enough. +func TestRegistryCredentialCheck_NoAccessToTheChartScopeFailsBeforeInstall(t *testing.T) { + newEntitledNGC(t, map[string][]string{"login-pass": {"nvidia"}, "key-pass": {"orgb"}}) + dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "login-pass", "")) + t.Setenv("NGC_API_KEY", "key-pass") + + for name, tc := range map[string]struct { + charts, postInstall, passed bool + }{ + "chart scope, before install": {charts: true}, + "chart scope, after install": {charts: true, postInstall: true, passed: true}, + "no charts there, before install": {passed: true}, + } { + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true, Charts: tc.charts} + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io/orgb/team", tc.postInstall, + clusterHolding("", nil, nil)).Run(ctx) + assert.Equal(t, tc.passed, r.Passed, name+": "+r.Message) + assert.Contains(t, r.Message, "has no access to nvcr.io/orgb/team", name) + assert.NotContains(t, r.Message, "rejected", name) + if tc.passed { + assert.Equal(t, SeverityInfo, r.Severity, name) + continue + } + assert.Equal(t, SeverityError, r.Severity, name) + assert.Error(t, r.Err, name) + assert.Contains(t, r.Message, "helm on this machine pulls the stack's charts from nvcr.io/orgb/team "+ + "with the docker login, so the install cannot pull them", name) + assert.Equal(t, "login-pass", mintPullSecret(ctx, t, fake.NewSimpleClientset(), "nvcr.io/nvidia/cv:1.0.0", + clusterValidatorComputePlaneRole), "the validator's org keeps the login") + } +} + // With the entitlements the other way round, each row passes on the // credential that reaches its org, whichever row runs first, and tag // discovery for the validator image uses the one that reaches the image. diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index b62b965006..add3c1955e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1166,14 +1166,15 @@ func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { // registryCredentialCheck returns a binaryCheckSpec that probes one registry. // Only a credential the registry refused can fail: at error severity for a -// critical registry, at warning for any other. Before install that includes a -// docker login nvcr.io rejected even where the NGC key it gave way to works: -// helm on this machine pulls the stack's charts with the docker login. After -// install a refused docker login still fails, while a refused NGC key is a -// warning only where the cluster's pull secrets are read and none holds it, -// and a docker login the key replaced passes only where none holds that -// login. Everything else the probe can report, from an unreachable registry -// to a missing local credential, is a warning or an informational pass. +// critical registry, at warning for any other. That includes a docker login +// nvcr.io rejected even where the NGC key it gave way to works, before and +// after install: docker and helm on this machine still send it. Before +// install it also includes a docker login with no access to the scope helm +// pulls the stack's charts from, though the key reaches it. After install a +// refused NGC key is a warning only where the cluster's pull secrets are read +// and none holds it. Everything else the probe can report, from an +// unreachable registry to a missing local credential, is a warning or an +// informational pass. func registryCredentialCheck( checker RegistryCredentialChecker, entry RegistryEntry, label string, postInstall bool, clusterSecrets ClusterPullSecretChecker, @@ -1190,6 +1191,8 @@ func registryCredentialCheck( } return clusterSecrets(ctx, entry.Registry, entry.RepoHint, cred.user, cred.pass) } + charts := "; helm on this machine pulls the stack's charts from " + scopeLabel(entry.Registry, entry.RepoHint) + + " with the docker login, so the install cannot pull them" return binaryCheckSpec{ ID: id, HumanLabel: fmt.Sprintf("checking credentials for %s...", label), @@ -1216,7 +1219,15 @@ func registryCredentialCheck( r.Passed = true r.Severity = SeverityInfo r.Message = label + ": skipped (" + outcome.detail + ")" - case probeAnonymous, probeNotVerified, probeOtherCredential: + case probeOtherCredential: + if !postInstall && entry.Charts { + r.Err = err + r.Message += charts + "; log in with a credential that has pull access to it" + break + } + r.Passed = true + r.Severity = SeverityInfo + case probeAnonymous, probeNotVerified: r.Passed = true r.Severity = SeverityInfo case probeNoCredential, probeUnverifiable: @@ -1225,8 +1236,9 @@ func registryCredentialCheck( case probeLoginRejected: r.Err = err if !postInstall { - r.Message += "; before install this fails the check, since helm on this machine pulls the " + - "stack's charts with the docker login" + if entry.Charts { + r.Message += charts + " until it is renewed" + } break } switch holder, cmpErr := heldBy(ctx, outcome.refused); { @@ -1234,13 +1246,8 @@ func registryCredentialCheck( r.Message += "; the cluster's pull secret " + holder + " holds that docker login, " + "so the cluster cannot pull with it either" case cmpErr != nil: - r.Severity = SeverityWarning r.Message += "; could not check whether the cluster's pull secrets hold that docker login: " + cmpErr.Error() - default: - r.Passed = true - r.Severity = SeverityInfo - r.Err = nil } case probeRejected: r.Err = err diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index a24be99f6d..a1e900c333 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -88,17 +88,20 @@ const ( probeRejected // probeLoginRejected: the registry rejected the docker login and // accepted the NGC key sent in its place. The run uses the key, but - // docker and helm on this machine still send the login, so before an - // install it fails like a rejected credential. + // docker and helm on this machine still send the login, so it fails like + // a rejected credential. probeLoginRejected // probeOtherCredential: the docker login has no access to the scope, and // the registry accepted the NGC key for it, which the run uses there. + // Before install it fails for the scope helm pulls the stack's charts + // from with the docker login. probeOtherCredential ) // registryProbeOutcome is the result of a probe that did not verify a -// credential, or verified one only after the registry rejected another. Only -// probeRejected, and probeLoginRejected before install, can fail a run. +// credential, or verified one only after the registry rejected another or +// gave it no access. Only probeRejected, probeLoginRejected, and before +// install probeOtherCredential for the stack's chart scope, can fail a run. type registryProbeOutcome struct { kind registryProbeKind detail string @@ -409,6 +412,10 @@ type RegistryEntry struct { // the stack. A credential it rejects fails the run; everything else about // it, and every other registry, is a warning at most. Critical bool + // Charts marks the scope helm on this machine pulls the stack's charts + // from, with the docker login: the stack's OCI chart source, where it is + // the scope the stack's images come from. + Charts bool } // ParseRegistryExtra parses one --cluster-validator-registries entry, @@ -445,6 +452,11 @@ type StackValues struct { // ImageRepository is global.image.repository, the NGC org and team or // mirror path every stack image is pulled from. ImageRepository string + // ChartRegistry and ChartRepository are global.helm.sources.registry and + // .repository, the OCI repository helm pulls the stack's charts from with + // the docker login. Both are empty when global.helm.sources.url names an + // HTTPS chart repository instead, which has credentials of its own. + ChartRegistry, ChartRepository string // CertManagerEnabled is certManager.enabled, the cert-manager release's // condition. CertManagerEnabled bool @@ -471,10 +483,17 @@ type StackValues struct { // malformed files are skipped. func LoadStackValues(files []string) StackValues { merged, found := loadValuesFiles(files) + var chartRegistry, chartRepository string + if digString(merged, "global", "helm", "sources", "url") == "" { + chartRegistry = digString(merged, "global", "helm", "sources", "registry") + chartRepository = strings.Trim(digString(merged, "global", "helm", "sources", "repository"), "/") + } return StackValues{ Found: found, ImageRegistry: digString(merged, "global", "image", "registry"), ImageRepository: strings.Trim(digString(merged, "global", "image", "repository"), "/"), + ChartRegistry: chartRegistry, + ChartRepository: chartRepository, CertManagerEnabled: releaseCondition(merged, "certManager", "enabled"), ACMESolverRepository: digString(merged, "certManager", "acmesolver", "image", "repository"), EnvoyGatewayNamespace: digString(merged, "ingress", "gatewayApi", "controllerNamespace"), @@ -656,29 +675,29 @@ func digAny(m map[string]any, keys ...string) any { func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEntry) []RegistryEntry { var out []RegistryEntry - // add reports whether the registry is in the list, so a source only counts - // as having named a registry once its value passed validation. A registry - // already listed is listed again only for a scope not yet probed: the - // validator image's org and the stack's org can differ on one registry. - add := func(registry, repoHint string, critical bool) bool { + // add returns the entry that lists the registry, or nil, so a source only + // counts as having named a registry once its value passed validation. A + // registry already listed is listed again only for a scope not yet probed: + // the validator image's org and the stack's org can differ on one registry. + add := func(registry, repoHint string, critical bool) *RegistryEntry { registry = strings.TrimSpace(registry) if registry == "" { - return false + return nil } // Every source goes through the same host validation. The probe builds // "https://" + registry + "/v2/", so a value carrying "/" or "@" moves // the host: global.image.registry set to "nvcr.io@attacker.example.com" // would otherwise aim an outbound request wherever that names. if host, _ := parseRegistryHostPort(registry); host == "" { - return false + return nil } - for _, e := range out { + for i, e := range out { if e.Registry == registry && (e.RepoHint == repoHint || repoHint == "") { - return true + return &out[i] } } out = append(out, RegistryEntry{Registry: registry, RepoHint: repoHint, Critical: critical}) - return true + return &out[len(out)-1] } // Source 1: base registry from the configured validator image. @@ -691,7 +710,7 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // contacts this registry at pull time (ImagePullPolicy is IfNotPresent). imageNamedRegistry := false if reg, repo, _, ok := parseImageRef(imageRef); ok { - imageNamedRegistry = add(reg, repo, isNGCRegistry(reg)) + imageNamedRegistry = add(reg, repo, isNGCRegistry(reg)) != nil } // Source 2: global.image.registry and global.image.repository from the @@ -700,18 +719,18 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // is caught even when the validator image comes from another org. The // stack renders registry + "/" + repository, so "harbor.corp.example/nvcf" // is a valid registry: probe its host and fold the path into the scope. + // + // Helm on this machine pulls the stack's charts from global.helm.sources + // with the docker login. Where that is the same scope, the entry is marked, + // since a docker login with no access to it fails the install. stackNamedRegistry := false - if host, path, _ := strings.Cut(stack.ImageRegistry, "/"); host != "" { - scope := strings.Trim(strings.Join([]string{strings.Trim(path, "/"), stack.ImageRepository}, "/"), "/") - // One segment is an org with no team, which is no repository, and - // nvcr.io answers that scope with 400 "malformed token scope": a - // probe that could then only report it unverifiable, a revoked key - // included. With no scope the token endpoint still judges the key. - if !strings.Contains(scope, "/") { - scope = "" - } + if host, scope := stackScope(stack.ImageRegistry, stack.ImageRepository); host != "" { // If it's an NGC registry, mark critical; customer mirrors are non-critical. - stackNamedRegistry = add(host, scope, isNGCRegistry(host)) + if e := add(host, scope, isNGCRegistry(host)); e != nil { + stackNamedRegistry = true + chartHost, chartScope := stackScope(stack.ChartRegistry, stack.ChartRepository) + e.Charts = e.Charts || (e.RepoHint == scope && chartHost == host && chartScope == scope) + } } // Source 3: cert-manager's ACME solver. global.yaml.gotmpl moves the @@ -750,3 +769,23 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn return out } + +// stackScope splits a stack's registry and repository, which the stack +// renders as registry + "/" + repository, into the host to probe and the +// scope to probe it for: "harbor.corp.example/nvcf" is a valid registry, so +// its path is folded into the scope. +func stackScope(registry, repository string) (host, scope string) { + host, path, _ := strings.Cut(registry, "/") + if host == "" { + return "", "" + } + scope = strings.Trim(strings.Join([]string{strings.Trim(path, "/"), repository}, "/"), "/") + // One segment is an org with no team, which is no repository, and nvcr.io + // answers that scope with 400 "malformed token scope": a probe that could + // then only report it unverifiable, a revoked key included. With no scope + // the token endpoint still judges the key. + if !strings.Contains(scope, "/") { + scope = "" + } + return host, scope +} diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index da494698cb..502aea6479 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -544,6 +544,49 @@ global: assert.Equal(t, "nvcf/org", got[0].RepoHint) } +// helm pulls the stack's charts from global.helm.sources with the docker +// login. The stack's row is marked as that scope only where the OCI chart +// source folds to the same host and scope as the images, the validator +// image's row included when it names the same scope. An HTTPS chart +// repository carries credentials of its own, and a chart source elsewhere is +// not the row's scope. +func TestEnumerateRegistries_MarksTheScopeHelmPullsTheChartsFrom(t *testing.T) { + dir := t.TempDir() + values := filepath.Join(dir, "base.yaml") + charts := func(body, image string) []RegistryEntry { + t.Helper() + require.NoError(t, writeFile(values, []byte("global:\n image:\n registry: nvcr.io/orgb\n"+ + " repository: team\n"+body+"certManager:\n enabled: false\n"))) + return EnumerateRegistries(image, LoadStackValues([]string{values}), nil) + } + const sameScope = " helm:\n sources:\n registry: nvcr.io\n repository: orgb/team\n" + + got := charts(sameScope, "") + require.Len(t, got, 1) + assert.Equal(t, RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true, Charts: true}, got[0]) + + got = charts(sameScope, "nvcr.io/nvidia/cv:1.0.0") + require.Len(t, got, 2) + assert.False(t, got[0].Charts, "the validator image's org holds no charts") + assert.True(t, got[1].Charts) + + got = charts(sameScope, "nvcr.io/orgb/team:1.0.0") + require.Len(t, got, 1, "the validator image names the stack's scope") + assert.True(t, got[0].Charts) + + for name, body := range map[string]string{ + "https chart repository": " helm:\n sources:\n url: https://helm.example.com/nvcf\n" + + " registry: nvcr.io\n repository: orgb/team\n", + "another org": " helm:\n sources:\n registry: nvcr.io\n repository: orgc/team\n", + "another host": " helm:\n sources:\n registry: harbor.example.com\n repository: orgb/team\n", + "no chart source": "", + } { + got = charts(body, "") + require.Len(t, got, 1, name) + assert.False(t, got[0].Charts, name) + } +} + // An org with no team is no repository: nvcr.io answers that scope with 400 // "malformed token scope", which could only be graded unverifiable. The // stack's row sends no scope then, so a revoked key still fails the run. @@ -1023,34 +1066,38 @@ func TestRegistryCredentialCheck_RefusalAfterInstall(t *testing.T) { assert.Equal(t, []string{"$oauthtoken:revoked"}, asked, "the refused key is what is looked for") } -// A docker login the NGC key replaced passes after install only where the -// cluster's pull secrets were read and none holds it: one that does means the -// cluster cannot pull either, and unread ones leave that unknown. +// After install a docker login the NGC key replaced still fails: docker and +// helm on this machine send it. The row also says whether the cluster's pull +// secrets hold it, or that they could not be read, and never downgrades it. func TestRegistryCredentialCheck_ReplacedLoginAfterInstall(t *testing.T) { login := registryCredential{user: "$oauthtoken", pass: "rotated-out", source: "docker config"} replaced := func(context.Context, string, string, bool) error { return registryProbeOutcome{kind: probeLoginRejected, refused: login, detail: "the docker login from docker config was rejected; credentials from NGC_API_KEY valid"} } - entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} for name, tc := range map[string]struct { cluster ClusterPullSecretChecker - passed bool - want Severity message string }{ - "held by no pull secret": {clusterHolding("", nil, nil), true, SeverityInfo, "NGC_API_KEY valid"}, - "held by a pull secret": {clusterHolding("nvcf/nvcr-pull-secret", nil, nil), false, SeverityError, + "held by no pull secret": {clusterHolding("", nil, nil), "credentials from NGC_API_KEY valid"}, + "held by a pull secret": {clusterHolding("nvcf/nvcr-pull-secret", nil, nil), "the cluster's pull secret nvcf/nvcr-pull-secret holds that docker login"}, - "pull secrets unreadable": {clusterHolding("", errors.New("forbidden"), nil), false, SeverityWarning, + "pull secrets unreadable": {clusterHolding("", errors.New("forbidden"), nil), "could not check whether the cluster's pull secrets hold that docker login: forbidden"}, } { - r := registryCredentialCheck(replaced, entry, "nvcr.io", true, tc.cluster).Run(context.Background()) - assert.Equal(t, tc.passed, r.Passed, name) - assert.Equal(t, tc.want, r.Severity, name+": "+r.Message) - assert.Contains(t, r.Message, tc.message, name) + for _, critical := range []bool{true, false} { + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: critical} + r := registryCredentialCheck(replaced, entry, "nvcr.io", true, tc.cluster).Run(context.Background()) + assert.False(t, r.Passed, name) + assert.Error(t, r.Err, name) + assert.Equal(t, map[bool]Severity{true: SeverityError, false: SeverityWarning}[critical], r.Severity, + name+": "+r.Message) + assert.Contains(t, r.Message, tc.message, name) + assert.NotContains(t, r.Message, "affects only this machine", name) + } } var asked []string + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} registryCredentialCheck(replaced, entry, "nvcr.io", true, clusterHolding("", nil, &asked)). Run(context.Background()) assert.Equal(t, []string{"$oauthtoken:rotated-out"}, asked) @@ -1059,8 +1106,8 @@ func TestRegistryCredentialCheck_ReplacedLoginAfterInstall(t *testing.T) { // Where the docker login goes first for nvcr.io and nvcr.io rejects it, the // NGC key is sent before the row is graded. The run then moves to the key, // so the validator's pull secret is minted from the credential the row found -// accepted, and the row says how to renew the login docker still sends. -// After install that passes where no cluster pull secret holds the login. +// accepted, and the row says how to renew the login docker still sends. The +// row still fails after install, where no cluster pull secret holds the login. func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) { ngc := newFakeNGC(t, "good-key") dockerHome(t, inlineDockerConfig(t, "nvcr.io", "$oauthtoken", "rotated-out", "")) @@ -1071,9 +1118,9 @@ func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) var asked []string r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", true, clusterHolding("", nil, &asked)). Run(ctx) - assert.True(t, r.Passed, r.Message) + assert.False(t, r.Passed, r.Message) assert.Equal(t, []string{"$oauthtoken:rotated-out"}, asked, "the cluster is searched for the rejected login") - assert.Equal(t, SeverityInfo, r.Severity) + assert.Equal(t, SeverityError, r.Severity) assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") assert.Contains(t, r.Message, "the docker login from docker config") assert.Contains(t, r.Message, "docker and helm on this machine still send it; "+ @@ -1088,9 +1135,10 @@ func TestProbeRegistryCredential_RejectedLoginGivesWayToTheNGCKey(t *testing.T) } // Before install a docker login nvcr.io rejects fails a critical row even -// though the NGC key works: helm on this machine pulls the stack's charts -// with the docker login. The key still serves tag discovery and the -// validator's pull secret, and the row names both credentials. +// though the NGC key works. The key still serves tag discovery and the +// validator's pull secret, and the row names both credentials. On the scope +// helm pulls the stack's charts from, the row says the install cannot pull +// them; on another it makes no such claim. func TestRegistryCredentialCheck_BeforeInstallGradesTheRejectedLogin(t *testing.T) { withTempCacheDir(t) newFakeNGC(t, "good-key") @@ -1098,15 +1146,23 @@ func TestRegistryCredentialCheck_BeforeInstallGradesTheRejectedLogin(t *testing. t.Setenv("NGC_API_KEY", "good-key") ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(false)) + const charts = "helm on this machine pulls the stack's charts from nvcr.io/nvidia/cv with the docker login, " + + "so the install cannot pull them until it is renewed" for _, critical := range []bool{true, false} { - entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: critical} - r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", false, nil).Run(ctx) - assert.False(t, r.Passed, r.Message) - assert.Equal(t, map[bool]Severity{true: SeverityError, false: SeverityWarning}[critical], r.Severity) - assert.Contains(t, r.Message, "nvcr.io: the docker login from docker config") - assert.Contains(t, r.Message, "renew it with: docker login nvcr.io --username '$oauthtoken'") - assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid, and the run uses them in its place") - assert.Contains(t, r.Message, "helm on this machine pulls the stack's charts with the docker login") + for _, stackCharts := range []bool{true, false} { + entry := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: critical, Charts: stackCharts} + r := registryCredentialCheck(probeRegistryCredential, entry, "nvcr.io", false, nil).Run(ctx) + assert.False(t, r.Passed, r.Message) + assert.Equal(t, map[bool]Severity{true: SeverityError, false: SeverityWarning}[critical], r.Severity) + assert.Contains(t, r.Message, "nvcr.io: the docker login from docker config") + assert.Contains(t, r.Message, "renew it with: docker login nvcr.io --username '$oauthtoken'") + assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid, and the run uses them in its place") + if stackCharts { + assert.Contains(t, r.Message, charts) + } else { + assert.NotContains(t, r.Message, "charts") + } + } } got, ok := ResolveLatestValidatorTag(ctx, "nvcr.io/nvidia/cv") From ecdf06a0c50f420d9da0a6810ae27c68841697b3 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 12:32:02 +0530 Subject: [PATCH 119/127] fix(nvcf-cli): send the NGC key first only before a local control-plane install, and give each validator its own plane's install state Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 6 +- src/clis/nvcf-cli/cmd/self_hosted_check.go | 37 +- .../cmd/self_hosted_check_stackvalues_test.go | 5 +- .../self_hosted_check_validatorenv_test.go | 20 +- .../agentskill/skilldata_generated.go | 4400 ++++++++--------- 5 files changed, 2236 insertions(+), 2232 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index d71f73a398..1c711028e5 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -76,9 +76,9 @@ credential, the one `docker` would use: `$DOCKER_CONFIG/config.json`, or For `nvcr.io` the NGC API key is also read, from the first of `NGC_IMAGE_PULL_API_KEY`, `NVCF_NGCR_API_KEY`, `NVCF_NGC_API_KEY` and `NGC_API_KEY` that is set. It goes ahead of the docker login only when the -registry check's plane, below, is checked before its install with the -`local` environment, since `up` creates its pull secrets from it, and it is -never sent to another registry. Elsewhere the key +registry check's plane, below, is the control plane, checked before its +install with the `local` environment, since `up` creates its pull secrets +from it, and it is never sent to another registry. Elsewhere the key is sent when there is no docker login, or for a repository where `nvcr.io` rejects the docker login (a 401) or gives it no access (a 403). This is decided once per repository, before tag discovery, the row and the diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index 72aaf7f1ad..d48b56e5a7 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -771,12 +771,16 @@ func resolveStackEnv() string { } // preferNGCKey reports whether the NGC API key goes ahead of the docker login -// for nvcr.io: only where up mints its pull secrets from the key, before a -// local install of the registry check's plane. Anywhere else the docker login -// is what docker uses, and the key is sent only for a scope where there is no +// for nvcr.io: only where up mints its pull secrets from the key, when the +// registry check's plane is the control plane before a local install. +// compute-plane install, which installs the compute plane next, mints none, +// and its helm pulls with the docker login. Anywhere else the docker login is +// what docker uses, and the key is sent only for a scope where there is no // login or nvcr.io refuses it. func preferNGCKey() bool { - return registryTarget().beforeInstall && strings.EqualFold(resolveStackEnv(), "local") + t := registryTarget() + return t.name == controlPlaneStackTarget().name && t.beforeInstall && + strings.EqualFold(resolveStackEnv(), "local") } // localStackDir returns src when it points at a readable local directory. @@ -1083,8 +1087,8 @@ func runPreflightByRole( validatorEnv := clusterValidatorJobEnv(validatorStackValues()) // Validated before the run starts. validatorTolerations, _ := configuredValidatorTolerations() - cpValidatorEnv := validatorEnvForRole(validatorEnv, checkControlPlane) - gpuValidatorEnv := validatorEnvForRole(validatorEnv, checkComputePlane) + cpValidatorEnv := validatorEnvForRole(validatorEnv, controlPlaneStackTarget().beforeInstall) + gpuValidatorEnv := validatorEnvForRole(validatorEnv, computePlaneStackTarget().beforeInstall) // The cluster-validator image is the same for both roles; VALIDATOR_ROLE // in the Job env selects which check set runs inside the binary. @@ -1239,12 +1243,12 @@ func runPreflightByRole( } } -// validatorEnvForRole returns env for one role's validator. A role whose own -// flag is passed alongside --pre (--pre --control-plane) is checked as -// installed, the way --all is, so its validator is told the run is -// post-install. env itself is not modified. -func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string { - if !roleFlag || env["VALIDATOR_POST_INSTALL"] != "" { +// validatorEnvForRole returns env for the validator of a role whose plane is +// checked before its install or not, as checkedBeforeInstall decides. One +// checked as installed is told the run is post-install, so an empty control +// plane fails instead of passing as pre-install. env itself is not modified. +func validatorEnvForRole(env map[string]string, beforeInstall bool) map[string]string { + if beforeInstall { return env } out := make(map[string]string, len(env)+1) @@ -1256,10 +1260,8 @@ func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string } // clusterValidatorJobEnv is what the validator container needs from the CLI's -// resolved configuration, matching what the chart CronJob forwards: -// - VALIDATOR_POST_INSTALL on every run except a bare --pre, so an empty -// control plane fails after install instead of passing as pre-install -// (validatorEnvForRole adds it for a role its own flag targets); +// resolved configuration, matching what the chart CronJob forwards +// (validatorEnvForRole adds VALIDATOR_POST_INSTALL for each role): // - relocated OpenBao and Envoy Gateway namespaces, without which the Tier // rows assess the defaults and miss the real components; // - NVCF_GATEWAY_NAMES, the override for the NVCF Gateway discovery; @@ -1271,9 +1273,6 @@ func validatorEnvForRole(env map[string]string, roleFlag bool) map[string]string // no default class is not failed for it. func clusterValidatorJobEnv(stack selfhosted.StackValues) map[string]string { env := map[string]string{} - if !checkPre || checkAll { - env["VALIDATOR_POST_INSTALL"] = "true" - } if ns := configValue("NVCF_OPENBAO_NAMESPACE"); ns != "" { env["NVCF_OPENBAO_NAMESPACE"] = ns } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index 5b60da0cf9..a71be2242f 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -355,7 +355,8 @@ func TestCheck_MalformedValidatorRegistryFailsTheCommand(t *testing.T) { // One plane decides how the registry rows are read and graded: a plane the // run checks before its install, since this machine installs it next, else // the control plane when visited. The NGC key goes first only before a local -// install of that plane, where up mints its pull secrets from it. +// install of the control plane, where up mints its pull secrets from it: +// compute-plane install mints none, and its helm sends the docker login. func TestCheckScope_RegistryPlaneDecidesKeyOrderAndGrading(t *testing.T) { t.Setenv("HELMFILE_ENV", "") for _, tc := range []struct { @@ -367,7 +368,7 @@ func TestCheckScope_RegistryPlaneDecidesKeyOrderAndGrading(t *testing.T) { {name: "bare --pre", pre: true, prefer: true, plane: "self-managed"}, {name: "--pre --env prod", pre: true, prodEnv: true, plane: "self-managed"}, {name: "--pre --compute-plane", pre: true, gpu: true, prefer: true, plane: "self-managed"}, - {name: "--pre --control-plane", pre: true, cp: true, prefer: true, plane: "nvcf-compute-plane"}, + {name: "--pre --control-plane", pre: true, cp: true, plane: "nvcf-compute-plane"}, {name: "--pre --control-plane --env prod", pre: true, cp: true, prodEnv: true, plane: "nvcf-compute-plane"}, {name: "--pre --control-plane --compute-plane", pre: true, cp: true, gpu: true, postInstall: true, plane: "self-managed"}, diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go index 5cb76651af..8b00ad564c 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_validatorenv_test.go @@ -36,9 +36,9 @@ import ( "nvcf-cli/internal/selfhosted" ) -// The Job gets what the chart CronJob forwards: the post-install signal on -// every run but --pre, relocated namespaces, the Gateway override and the -// probe image. +// The Job gets what the chart CronJob forwards: relocated namespaces, the +// Gateway override and the probe image, and for a role whose plane is checked +// as installed, the post-install signal. func TestClusterValidatorJobEnv(t *testing.T) { resetCheckFlags(t) for _, k := range []string{ @@ -50,7 +50,9 @@ func TestClusterValidatorJobEnv(t *testing.T) { checkPre = false env := clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway", StorageClass: "fast-ssd"}) - assert.Equal(t, "true", env["VALIDATOR_POST_INSTALL"], "a post-install run must say so") + assert.Equal(t, "true", validatorEnvForRole(env, false)["VALIDATOR_POST_INSTALL"], "a post-install run must say so") + assert.NotContains(t, validatorEnvForRole(env, true), "VALIDATOR_POST_INSTALL", "a pre-install run must not") + assert.NotContains(t, env, "VALIDATOR_POST_INSTALL", "validatorEnvForRole does not modify env") assert.Equal(t, "gateway", env["NVCF_ENVOY_GATEWAY_NAMESPACE"], "the stack's controller namespace is forwarded") assert.Equal(t, "fast-ssd", env["NVCF_STORAGE_CLASS"], "the stack's global.storageClass is forwarded") assert.NotContains(t, env, "NVCF_OPENBAO_NAMESPACE") @@ -65,7 +67,6 @@ func TestClusterValidatorJobEnv(t *testing.T) { require.NoError(t, selfHostedCheckCmd.Flags().Set("cluster-validator-probe-image", "mirror.example/busybox:1.36")) env = clusterValidatorJobEnv(selfhosted.StackValues{EnvoyGatewayNamespace: "gateway", StorageClass: "fast-ssd"}) assert.Equal(t, "standard", env["NVCF_STORAGE_CLASS"], "an explicit setting beats the stack values") - assert.NotContains(t, env, "VALIDATOR_POST_INSTALL", "--pre is pre-install") assert.Equal(t, "openbao", env["NVCF_OPENBAO_NAMESPACE"]) assert.Equal(t, "edge", env["NVCF_ENVOY_GATEWAY_NAMESPACE"], "an explicit setting beats the stack values") assert.Equal(t, "gateway/shared-gw", env["NVCF_GATEWAY_NAMES"]) @@ -120,9 +121,10 @@ func TestClusterValidatorJobEnv_GatewayNamesYAMLList(t *testing.T) { } // --pre in split mode visits both clusters, so each gets its own validator -// role against its own context. A bare --pre is pre-install for both; --all -// checks both as installed, and a role's own flag checks that role as -// installed while the other stays pre-install. +// role against its own context. Each role is told its own plane's install +// state: a bare --pre is pre-install for both; --all checks both as +// installed, and a role's own flag checks that role as installed while the +// other stays pre-install. func TestCheck_PreSplitRunsBothValidatorRoles(t *testing.T) { for _, tc := range []struct { name string @@ -132,6 +134,8 @@ func TestCheck_PreSplitRunsBothValidatorRoles(t *testing.T) { {name: "bare pre", extra: []string{"--icms-url", "https://sis.example.invalid"}}, {name: "pre all", extra: []string{"--all", "--cluster-name", "gpu"}, cpPost: true, gpuPost: true}, {name: "pre control-plane", extra: []string{"--control-plane"}, cpPost: true}, + {name: "pre compute-plane", extra: []string{"--compute-plane", "--icms-url", "https://sis.example.invalid"}, + gpuPost: true}, } { t.Run(tc.name, func(t *testing.T) { resetCheckFlags(t) diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 3e97ae34b8..9dc700d91e 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzA2NTYsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzA2NzUsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJjZmJkZmMzN2UyYTRiMjg5" + - "ZjY2MzM5NjhhODVmNzQwNDJiNjllN2U5MjdkODY3MGMyNWIwY2ViOTBkZTlmMDI2IiwKICAgICAg" + - "InNpemUiOiAyNDAxNQogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1ZDIwMzQ1MmUyNjgxYWIw" + + "OGJhOGUxZjlhZmIwODYzOWVjODI1YTMyZjhlMzUxMzFlOWRlY2EzY2FmN2QwODJhIiwKICAgICAg" + + "InNpemUiOiAyNDAzNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCAd9ekpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCIdv8ORKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -2024,2090 +2024,1263 @@ const skillDataZipBase64 = "" + "aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlg" + "LCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdv" + "ZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNr" + - "J3MgcGxhbmUsIGJlbG93LCBpcyBjaGVja2VkIGJlZm9yZSBpdHMgaW5zdGFsbCB3aXRoIHRoZQpg" + - "bG9jYWxgIGVudmlyb25tZW50LCBzaW5jZSBgdXBgIGNyZWF0ZXMgaXRzIHB1bGwgc2VjcmV0cyBm" + - "cm9tIGl0LCBhbmQgaXQgaXMKbmV2ZXIgc2VudCB0byBhbm90aGVyIHJlZ2lzdHJ5LiBFbHNld2hl" + - "cmUgdGhlIGtleQppcyBzZW50IHdoZW4gdGhlcmUgaXMgbm8gZG9ja2VyIGxvZ2luLCBvciBmb3Ig" + - "YSByZXBvc2l0b3J5IHdoZXJlIGBudmNyLmlvYApyZWplY3RzIHRoZSBkb2NrZXIgbG9naW4gKGEg" + - "NDAxKSBvciBnaXZlcyBpdCBubyBhY2Nlc3MgKGEgNDAzKS4gVGhpcyBpcwpkZWNpZGVkIG9uY2Ug" + - "cGVyIHJlcG9zaXRvcnksIGJlZm9yZSB0YWcgZGlzY292ZXJ5LCB0aGUgcm93IGFuZCB0aGUKdmFs" + - "aWRhdG9yJ3MgcHVsbCBzZWNyZXQgdXNlIGl0LCBzbyBhbGwgdGhyZWUgZ2V0IHRoZSBzYW1lIGNy" + - "ZWRlbnRpYWwsIGFuZCBhCmxvZ2luIHdpdGggbm8gYWNjZXNzIHRvIG9uZSBvcmcgc3RpbGwgc2Vy" + - "dmVzIHRoZSBvcmdzIGl0IHJlYWNoZXMuIEEgNDAzIGlzCnJlcG9ydGVkIGFzIG5vIGFjY2VzcyB0" + - "byB0aGF0IHJlcG9zaXRvcnksIG5ldmVyIGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVhY2gKYC0td2Fp" + - "dGAgcG9sbCByZWFkcyB0aGUgY3JlZGVudGlhbHMgYWdhaW4sIHNvIGEgbG9naW4gcmVuZXdlZCB3" + - "aGlsZSB0aGUgcnVuCndhaXRzIGNvdW50cyBvbiB0aGUgbmV4dCBwb2xsLgoKVGhlIHByb2JlIGFz" + - "a3MgZm9yIHB1bGwgYWNjZXNzIHRvIHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZXBvc2l0b3J5IGFu" + - "ZCB0byB0aGUKc3RhY2sncyBpbWFnZSBwYXRoOiBhbnkgcGF0aCBpbiBgZ2xvYmFsLmltYWdlLnJl" + - "Z2lzdHJ5YCwgdGhlbgpgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlgLiBBIHN0YWNrIHBhdGggb2Yg" + - "b25lIHNlZ21lbnQsIHN1Y2ggYXMgYW4gb3JnIHdpdGggbm8KdGVhbSwgaXMgbm90IHNlbnQgYXMg" + - "dGhlIHNjb3BlLCBzaW5jZSBgbnZjci5pb2AgcmVmdXNlcyBpdC4gV2hlbiB0aGUgc3RhY2sncwpP" + - "Q0kgY2hhcnQgc291cmNlLCBgZ2xvYmFsLmhlbG0uc291cmNlcy5yZWdpc3RyeWAgYW5kIGAucmVw" + - "b3NpdG9yeWAsIGlzIHRoYXQKc2FtZSBwYXRoLCBpdHMgcm93IGlzIGFsc28gdGhlIG9uZSBgaGVs" + - "bWAgb24gdGhpcyBtYWNoaW5lIHB1bGxzIHRoZSBzdGFjaydzCmNoYXJ0cyBmcm9tLCB3aXRoIHRo" + - "ZSBkb2NrZXIgbG9naW4uCgpUaGUgcmVnaXN0cnkgY2hlY2sgYmVsb25ncyB0byBvbmUgcGxhbmUs" + - "IHdob3NlIHN0YWNrIG5hbWVzIHRoZSByZWdpc3RyaWVzCmFuZCB3aG9zZSBpbnN0YWxsIHN0YXRl" + - "IGdyYWRlcyB0aGVtOiBhIHBsYW5lIHRoZSBydW4gY2hlY2tzIGJlZm9yZSBpdHMKaW5zdGFsbCwg" + - "d2hpY2ggdGhpcyBtYWNoaW5lIGluc3RhbGxzIG5leHQgKHRoZSBjb250cm9sIHBsYW5lIGZvciBh" + - "IGJhcmUKYC0tcHJlYCBhbmQgZm9yIGAtLXByZSAtLWNvbXB1dGUtcGxhbmVgLCB0aGUgY29tcHV0" + - "ZSBwbGFuZSBmb3IKYC0tcHJlIC0tY29udHJvbC1wbGFuZWApLCBlbHNlIHRoZSBjb250cm9sIHBs" + - "YW5lIHdoZW4gdGhlIHJ1biB2aXNpdHMgaXQsCmVsc2UgdGhlIGNvbXB1dGUgcGxhbmUuCgpPbmx5" + - "IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0aGUgcnVuLCBhbmQgb25s" + - "eSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUgc3RhY2sgbmFtZXMuIFRo" + - "YXQgaW5jbHVkZXMgYSBkb2NrZXIgbG9naW4KYG52Y3IuaW9gIHJlamVjdHMgZXZlbiB3aGVuIHRo" + - "ZSBOR0Mga2V5IHdvcmtzIGluIGl0cyBwbGFjZSwgYmVmb3JlIGFuZCBhZnRlcgppbnN0YWxsLCBz" + - "aW5jZSBgZG9ja2VyYCBhbmQgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBzdGlsbCBzZW5kIGl0LiBU" + - "aGUga2V5IGlzCnN0aWxsIHVzZWQgZm9yIHRhZyBkaXNjb3ZlcnkgYW5kIHRoZSB2YWxpZGF0b3In" + - "cyBwdWxsIHNlY3JldCwgYW5kIHRoZSByb3cKbmFtZXMgYm90aC4gQWZ0ZXIgaW5zdGFsbCB0aGUg" + - "cm93IGFsc28gc2F5cyB3aGV0aGVyIG9uZSBvZiB0aGUgcHVsbCBzZWNyZXRzCmJlbG93IGhvbGRz" + - "IHRoYXQgZG9ja2VyIGxvZ2luLiBCZWZvcmUgaW5zdGFsbCwgYSBkb2NrZXIgbG9naW4gd2l0aCBu" + - "byBhY2Nlc3MKdG8gdGhlIHJvdyB0aGUgc3RhY2sncyBjaGFydHMgY29tZSBmcm9tIGZhaWxzIGl0" + - "IHRvbywgYWx0aG91Z2ggdGhlIE5HQyBrZXkKcmVhY2hlcyBpdCwgc2luY2UgYGhlbG1gIHB1bGxz" + - "IHRoZSBjaGFydHMgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLiBUaGF0IGlzCnJlcG9ydGVkIGFzIG5v" + - "IGFjY2Vzcywgbm90IGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVsc2V3aGVyZSwgYW5kIGFmdGVyIGlu" + - "c3RhbGwsCmEgZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzIHBhc3NlcyB3aGVyZSB0aGUgTkdD" + - "IGtleSByZWFjaGVzIHRoZQpyZXBvc2l0b3J5LiBBIHJlamVjdGVkIE5HQyBrZXkgaXMgYSB3YXJu" + - "aW5nIGFmdGVyIGluc3RhbGwgb25seSB3aGVuIGBjaGVja2AKcmVhZHMgdGhlIHB1bGwgc2VjcmV0" + - "cyBvZiB0aGUgY2x1c3RlcnMgaXQgdmlzaXRzLCBpbiB0aGUgbmFtZXNwYWNlcyB0aGUKdmFsaWRh" + - "dG9yIGNvcGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kIG5vbmUgb2YgdGhlbSBob2xkcyB0aGF0" + - "IGtleTsgd2hlbgpvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxsIGJlIHJlYWQsIGl0IGlzIGFu" + - "IGVycm9yLiBBIHJlZ2lzdHJ5IHRoaXMgbWFjaGluZQpjYW5ub3QgcmVhY2gsIGEgdG9rZW4gc2Vy" + - "dmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsIGNyZWRlbnRpYWwgYXJlCndhcm5p" + - "bmdzLiBBCnJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8sIHN1Y2ggYXMgRUNSIG9y" + - "IG9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcwpza2lwcGVkIHdpdGggYSBjb21tYW5kIHRvIGNoZWNr" + - "IGl0IGJ5IGhhbmQuIEEgcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMKbWFjaGluZSBpbiBhbm9ueW1v" + - "dXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMgdmFsaWQgY3JlZGVudGlhbHMuCgojIyMg" + - "U2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRvciBnZXRzIHRoZXNlIHNl" + - "dHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRzCmVudmlyb25tZW50IHZh" + - "cmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4KCnwgU2V0dGluZyB8IFJl" + - "YWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8LS0tfC0tLXwtLS18Cnwg" + - "TlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdheXNgLCBnYXRlZCB0aGUg" + - "d2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBpbmdyZXNzLmdhdGV3YXlB" + - "cGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGByb3V0ZXMubmF0cy5lbmFi" + - "bGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGByb3V0ZXMubGxtV29ya2Vy" + - "LmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1hLXNlcGFyYXRlZCBgbmFt" + - "ZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3BwZWQgYnkgdGhlIHZhbGlk" + - "YXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdhdGVzIHwKfCBFbnZveSBH" + - "YXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFj" + - "ZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4dGVybmFsIGNvbXBvbmVu" + - "dHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9zZSBgZW5hYmxlZGAgaXMg" + - "c2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0ZXJuYWwtY29t" + - "cG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwKfCBTdG9yYWdlQ2xhc3Mg" + - "fCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFsaWRhdG9yIGNoZWNrcyB0" + - "aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgZGVmYXVsdCBjbGFz" + - "cyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVzcGFjZSB8IC0gfCBgTlZD" + - "Rl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1hZ2UgfCAtIHwgYC0tY2x1" + - "c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5fUFJPQkVfSU1BR0VgIHwK" + - "ClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBzdGFjay4gYGNoZWNrYCBy" + - "ZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUgdGhlIGluc3RhbGw6Cgot" + - "IFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3IgYEhFTE1GSUxFX0VOVmAu" + - "IFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9yIGEgcGxhbmUgYC0tcHJlYCBj" + - "aGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAgaW5zdGFsbHMgd2l0aCBpdC4g" + - "T3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZC4KLSBgZW52aXJvbm1l" + - "bnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFzZS55YW1sYC4gYGJhc2Uu" + - "eWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21lcyBmcm9tIHRoZSBzdGFj" + - "ayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNrYAogIChgLS1jb21wdXRl" + - "LXBsYW5lLXN0YWNrYCBmb3IgdGhlIHJlZ2lzdHJpZXMgd2hlbiB0aGUgcmVnaXN0cnkgY2hlY2sK" + - "ICBiZWxvbmdzIHRvIHRoZSBjb21wdXRlIHBsYW5lKSwgZWxzZSB0aGUgQ0xJJ3MgYnVpbHQtaW4g" + - "c3RhY2suIEEgbG9jYWwKICBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3RseSwgYW5kIGFuIGBvY2k6" + - "Ly9gIHN0YWNrIGZyb20gdGhlIGNvcHkgYW4gZWFybGllcgogIGNvbW1hbmQgZXh0cmFjdGVkIGlu" + - "dG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssIGBmaWxlOi8vYCBpbmNsdWRlZCwgaXMKICBu" + - "b3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21taXR0ZWQgc3RhdGUuIEEg" + - "Q0xJIHdpdGggbm8KICBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sgZmxhZyByZWFkcyB0aGUg" + - "c3RhY2sgY2hlY2tvdXQgYWJvdmUgdGhlCiAgd29ya2luZyBkaXJlY3RvcnkuCgpPdGhlcndpc2Ug" + - "bm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2YWxpZGF0b3IgZmluZHMg" + - "dGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlvYCBpcyBwcm9iZWQgYXMg" + - "YSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBJQ01TIGNsdXN0" + - "ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5jYS1pZCBJRGAgfCBOQ0Eg" + - "YWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IENsdXN0" + - "ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAgfCBEcnktcnVuOyBlbWl0" + - "IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxzZWAgfAoKIyMgYHN0YXR1" + - "c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + - "IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21wdXRlIHBsYW5lIHwgLSAo" + - "Y29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExpdmUgcmUtcmVuZGVyIHwg" + - "YGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdhdGNoYCBjYWRlbmNlIHwg" + - "YDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBvbmVudHMgcGFuZWwgfCBh" + - "bGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8IGBmYWxzZWAgfAoKIyMg" + - "YGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8" + - "CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBuYW1lIChyZXF1aXJlZCkg" + - "fCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1yZWdp" + - "b24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1pY21zLXVybCBVUkxgIHwg" + - "SUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUtZXhpc3RpbmdgIHwgTWF0" + - "Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBgZmFsc2VgIHwKCiMjIGBh" + - "cGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8" + - "LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdlbmVyYXRlIG9ubHkgdGhl" + - "IHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJvdGgpIHwKfCBgLS1kZXNj" + - "cmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGUga2V5IHwgYEdlbmVy" + - "YXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJT05gIHwgRXhwaXJ5IG9m" + - "ZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRlZCBkdXJhdGlvbiB8IGAy" + - "NGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlkZSBkZWZhdWx0IHNjb3Bl" + - "czsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8CnwgYC0tdmFsaWRhdGVg" + - "IHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5IGFmdGVyIG1pbnRpbmcg" + - "fCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2AgKHNlY29uZHMpLCBgbWAg" + - "KG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3ZWVrcykuCgojIyBgZnVu" + - "Y3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRl" + - "ZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9yIGFkLWhvYyBjcmVhdGVz" + - "OgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBO" + - "QU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFHRWAgfCBDb250YWluZXIg" + - "aW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250YWluZXIgaW5mZXJlbmNl" + - "IGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAgfCBDb250YWluZXIgaW5m" + - "ZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFVTFRcfFNUUkVBTUlOR1x8" + - "TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRg" + - "IHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJlIHVzZWQgd2l0aCBgLS1m" + - "dW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3b3JrbG9hZHMuIHwgLSB8" + - "CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRlcyBTZXJ2aWNlIG5hbWUg" + - "ZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVsbS1jaGFydGAgaXMgc2V0" + - "LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0YW5kYXJkIG1vZGVsIGFy" + - "dGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQRUNgIHwgTExNIG1vZGVs" + - "IGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8PHVyaT4scm91dGluZ01l" + - "dGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gVG9rZW4g" + - "bGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAsIGBIYCwgYERgLCBvciBg" + - "V2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9r" + - "ZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMgYXMgZmllbGQgc2VwYXJh" + - "dG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBGdW5jdGlv" + - "bi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZhbHVlcyBoYXZlIGhpZ2hl" + - "ciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJpb3JpdHkgTkNBLUlEOlBS" + - "SU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyByZXBlYXRhYmxlOyBzdXBw" + - "b3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBSZXF1aXJlcyBhIGRlZmF1" + - "bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3BlY3MsIExMTSBmdW5jdGlv" + - "bnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91dGluZyBtZXRhZGF0YSB1" + - "bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlzYCBkZWNsYXJlcyB0aGUg" + - "T3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBieSB0aGUgbW9kZWwuIEN1" + - "cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxldGlvbnNgLCBgL3YxL3Jl" + - "c3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmlnLnJvdXRpbmdNZXRob2Rg" + - "IGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBncm9xX211bHRpcmVnaW9u" + - "YCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2VuUmF0ZUxpbWl0YCBhY2Nl" + - "cHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxp" + - "bWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVkIHVuaXRzIGFyZSBgU2Ag" + - "KHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERgIChkYXlzKSwgYW5kIGBX" + - "YCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5pbmcgbGltaXRzLCBmb3Ig" + - "ZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwxMDAwMDAwLVdgIGluIGlu" + - "cHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVuZGVudCBvZiBgZnVuY3Rp" + - "b25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0" + - "aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNlcnZpY2VOYW1lYCwgYW5k" + - "IGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSByZXF1ZXN0LiBgaW5mZXJl" + - "bmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBvcnQgZXhwb3NlZCBieSBg" + - "aGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVxdWVzdHMgdXNlIGBtb2Rl" + - "bDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5jdGlvbiBJRCBzZWxlY3Rz" + - "IHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHVwc3Ry" + - "ZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJlcXVlc3RzIGNhbiB1c2Ug" + - "YHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlja2luZXNzOyBlbWJlZGRp" + - "bmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVgLXNwZWNpZmljCgp8IEZs" + - "YWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS10YWdzIFRBR1ssVEFH" + - "XWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0tbW9kZWwtdXBkYXRlIFNQ" + - "RUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2RlbD4scm91dGluZ01ldGhv" + - "ZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0YWJsZS4gUm91dGluZyBt" + - "ZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4YW1wbGU6IGAxMDAwLVNg" + - "LiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRzLiB8IC0gfAp8IGAtLWxs" + - "bS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhlIGZ1bmN0aW9uLWxldmVs" + - "IHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQgYW5kIGFueSBzdXBwbGll" + - "ZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9y" + - "aXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVw" + - "ZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVx" + - "dWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwgYGZ1bmN0aW9uIHVwZGF0" + - "ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBgbW9kZWxOYW1lYCBhbmQg" + - "YGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZpZy50b2tlblJhdGVMaW1p" + - "dGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEgYW5kIGFyZSBub3QgcGFy" + - "dCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgLXNwZWNpZmlj" + - "CgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxsIEpTT04gc3BlYykuIEZv" + - "ciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0t" + - "fC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24gSUQgKHJlcXVpcmVkKSB8" + - "IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAgfAp8IGAtLWluc3RhbmNl" + - "LXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0tbWluLWluc3RhbmNl" + - "cyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3RhbmNlcyBOYCB8IE1heCBy" + - "ZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVuY3kgTmAgfCBDb25jdXJy" + - "ZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMpIHwKfCBgLS1jbHVzdGVy" + - "cyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBjbHVzdGVycyB8IChhbnkg" + - "bWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxl" + - "IEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sgZGVmaW5pdGlvbnMuIEZv" + - "ciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8" + - "IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEtMTI4IGNoYXJzLCBgXlth" + - "LXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVgIHwgR1BVIG5hbWUgKHJl" + - "cXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYEgxMDBgIHwKfCBgLS1p" + - "bnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWlyZWQgd2l0aG91dCBgLS1p" + - "bnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8CnwgYC0taW1hZ2UgSU1B" + - "R0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYC0taGVsbS1j" + - "aGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJl" + - "ZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdlYCB8CnwgYC0taW5wdXQt" + - "ZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxhZ3Mgb3ZlcnJpZGUgSlNP" + - "TiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQgQkFDS0VORGAgfCBCYWNr" + - "ZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgU3BlY2lmaWMgY2x1" + - "c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRlZCB8CnwgYC0tY29udGFp" + - "bmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGluZyB0aGUgY29udGFpbmVy" + - "IHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0Y2gtc2l6ZSAzMiJgIHwK" + - "fCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVyIGVudmlyb25tZW50IHZh" + - "cmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1FPXZhbHVlYCB8IFNlY3Jl" + - "dCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlwdGVkIGF0IHJlc3QgfCAt" + - "IHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1jbG9jayBydW4gdGltZSAo" + - "SVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQgZm9yIG5vIHRpbWUgbGlt" + - "aXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUgaW4gcXVldWUgYmVmb3Jl" + - "IGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUNzJIYCB8CnwgYC0t" + - "dGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9kIGFmdGVyIHN0b3Agc2ln" + - "bmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8IGAtLXJlc3VsdC1zdHJh" + - "dGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91dHB1dCBhcnRpZmFjdHMg" + - "fCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJlc3VsdCB1cGxvYWQgdGFy" + - "Z2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5hbWVgOyByZXF1aXJlZCB3" + - "aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0tbW9kZWxzIE5BTUU6VkVS" + - "U0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS1yZXNvdXJj" + - "ZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0g" + - "fAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1hLXNlcGFyYXRlZCB8Cnwg" + - "YC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwgLSB8CnwgYC0tbG9ncy10" + - "ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfAp8IGAt" + - "LW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxlbWV0cnkgZW5kcG9pbnQg" + - "SUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwgVHJhY2VzIHRlbGVtZXRy" + - "eSBlbmRwb2ludCBJRCB8IC0gfApQSwcIczkOx89dAADPXQAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9v" + - "dGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBlcnJvcnMsIHRoZSBkaWFn" + - "bm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAgaW4gc3luYyB3aXRoIHRo" + - "ZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUpOiBvdXRzaWRlIHByZS1m" + - "bGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBgcGhhc2VfZmFpbGVkYCBg" + - "ZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgojIyBQcmUtZmxpZ2h0Cgpg" + - "Y2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQs" + - "IG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhlIGV2ZW50J3MgYG1lc3Nh" + - "Z2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxpZGF0b3IncyBmYWlsZWQg" + - "c3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhlIGZ1bGwKdHJhbnNjcmlw" + - "dC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGt1" + - "YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBBVEhgIGRvZXNuJ3QgaW5j" + - "bHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyB3YXJuLCBh" + - "ZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3RhbGwga3ViZWN0bCAxLjI4" + - "KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMvaW5zdGFsbC1rdWJlY3Rs" + - "LyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUgfCBodHRwczovL2dpdGh1" + - "Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBgaGVsbSBub3QgZm91bmQg" + - "b24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50cm8vaW5zdGFsbC8gfAp8" + - "IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZSBpcyBu" + - "b3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdlIGlzIGNvbmZpZ3VyZWQs" + - "IHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBjbHVzdGVyX3ZhbGlkYXRv" + - "cl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURB" + - "VE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAgfAp8IGBjbHVzdGVyLXZh" + - "bGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRl" + - "ZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBydW4gb3IgZW5kZWQgYmVm" + - "b3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBmYWlsdXJlLCBpdHMgb3du" + - "IHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVzLCBvciBwYXNzIGAtLXNr" + - "aXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIEpvYiBzdWNjZWVk" + - "ZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4pYCwgcGFzc2VkIHwgVGhl" + - "IHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBiZSByZWFkOiB0aGUga3Vi" + - "ZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLCBvciB0" + - "aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRoZSBjaGVja3MgaXQgcmFu" + - "IGFuZCB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBhbiBpbWFnZSB0aGF0IHBy" + - "ZWRhdGVzIHZhbGlkYXRvciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBsYW5lIGNoZWNrcyBmb3Ig" + - "ZWl0aGVyIHJvbGUgfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3Ig" + - "cmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dzYCBjb21tYW5kIGluIHRo" + - "ZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogR2F0ZXdheSBB" + - "UEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHByZXJlcSBtaXNzaW5nIHwg" + - "YGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0g" + - "LS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8Cnwg" + - "YGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZhdWx0IFN0b3JhZ2VDbGFz" + - "czogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0MsIGFuZCB0aGUgc3RhY2sg" + - "ZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3RsIHBhdGNoIHNjIDxuYW1l" + - "PiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRl" + - "cy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0IGBnbG9iYWwuc3RvcmFn" + - "ZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChvciBgTlZDRl9TVE9SQUdF" + - "X0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBgY2x1c3Rlci12YWxpZGF0" + - "b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBBdmFpbGFibGVgIChjb21w" + - "dXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0YWJsZSBHUFU6IG5vIEdQ" + - "VSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlzc2luZyBvciBub3Qgd29y" + - "a2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL2RhdGFjZW50ZXIvY2xv" + - "dWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUtb3BlcmF0b3IuaHRtbCwg" + - "T1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBPcGVyYXRvcjogTm90IElu" + - "c3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + - "IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAyYCB8IFRoZSBuYW1lc3Bh" + - "Y2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBvciBpdHMgY29uZGl0aW9u" + - "cyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9iamVjdCBpbnNpZGUgaXQg" + - "c3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRzIGluIHRoZSByb3cgaW4g" + - "b3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmNv" + - "bmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBhcGktcmVzb3VyY2VzYCBj" + - "b21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1jbGVhciB0aGUgbmFtZXNw" + - "YWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBgc3RhbGUtbmFtZXNwYWNl" + - "c2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+KWAsIHdhcm5pbmcgfCBB" + - "IG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVzIGFuZCBmaW5hbGl6ZXJz" + - "IHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMgdGhpcyByb3cuIEl0IGJl" + - "Y29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMgfAp8IGBzdGFsZS1uYW1l" + - "c3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9uOiA8cmVsZWFzZT4gPHN0" + - "YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGwsIHVwZ3JhZGUsIHJvbGxi" + - "YWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmctKmAgb3IgYHVuaW5zdGFs" + - "bGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBpbnN0YWxsIG9yIHRlYXJk" + - "b3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFzZT4gLW4gPG5zPmAsIHRo" + - "ZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxtIHVuaW5zdGFsbGAgfAp8" + - "IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFzZSlgLCB3YXJuaW5nIHwg" + - "VGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8gSGVsbSByZWxlYXNlLCBi" + - "dXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBvYmplY3RzLCBhcyBgZG93" + - "bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhlIG9sZCB2b2x1bWVzIHwg" + - "SW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVyYnM9bGlzdCAtLW5hbWVz" + - "cGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4gPG5zPiAtLXNob3cta2lu" + - "ZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3RyZWFtIGluc3RhbGwgb2Yg" + - "YSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNlIHwKfCBgc3RhbGUtbmFt" + - "ZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhlYWx0aHkgaW5zdGFsbCB8" + - "IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNxbGAsIGFuZCBgY2hlY2tg" + - "IHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25tZW50IG9ubHksIG5vdCBm" + - "cm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVMTV9EUklWRVI9c3FsYCBi" + - "ZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBpdCwgb25seSBUZXJtaW5h" + - "dGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgZG9lcyBu" + - "b3Qgc2NhbiBhbiBhZGQtb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFtZXNwYWNlcyBiZWhpbmQg" + - "YSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4gdGhhdCBnYXRlIGlzIG9u" + - "LiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVzZWQsIGZvdW5kIGFzIGZv" + - "ciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdzLm1kI3NldHRpbmdzLXJl" + - "YWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNlLnlhbWxgIGFuZCwgd2hl" + - "biBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZpcm9ubWVudCBvciBgLS1w" + - "cmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRlY2lkZSwgd2hpY2ggbGVh" + - "dmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFtby1zeXN0ZW1gIGFuZCBg" + - "bnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkLCBhbmQgdGhl" + - "IHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMjIEF1dGgKCnwgU3ltcHRv" + - "bSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYGFkbWluIHRva2VuIHJl" + - "cXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5zdGF0ZWAgYW5kIGAtLXRv" + - "a2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgb3IgYC0tdG9r" + - "ZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25lZCBKV1QgcmVqZWN0ZWQ6" + - "IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGluZyBrZXkocykgZm91bmRg" + - "IHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29udHJvbCBwbGFuZSB8IGBy" + - "bSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAgYWdhaW4gfAp8IGA0MDMg" + - "bWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBpbnZva2UpIHwgQWRtaW4g" + - "dG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3BlIHwgYG52Y2YtY2xpIGFw" + - "aS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUtcnVuIGludm9rZSB8Cgoj" + - "IyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18" + - "LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhYCB8IENhc3Nh" + - "bmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29uZmlybSBkZWZhdWx0IFN0" + - "b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBjYXNzYW5kcmEtc3lzdGVt" + - "YCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmllZGAgKGZ1bmN0aW9uIGRl" + - "cGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWlseSwgbm90IHRoZSBTS1Ug" + - "fCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgi" + - "YCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciByZWdpc3RlciAvIGluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBgQ0xVU1RFUl9SRUdJT05g" + - "IGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9yIGFueSBub24tZW1wdHkg" + - "dmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVy" + - "cm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52Y2YtY2xpIGJlZm9yZSBj" + - "b21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcgTkNBX0lEIHwgVXBncmFk" + - "ZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAgfAp8IGBudmNhLW9wZXJh" + - "dG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBu" + - "b3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWlsZCBpcyBsb2NhbCB8IGBr" + - "M2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6cHNhdCAtYyA8Y2x1c3Rl" + - "cj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + - "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNoTG9vcEJhY2tPZmYgd2l0" + - "aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVnaXN0ZXJgIHwgU3RhbGUg" + - "YG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20gcHJpb3IgcmVnaXN0ZXI7" + - "IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRoZSBzdGFsZSBmaWxlOyBy" + - "ZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVudCByZWdpc3RlciB3cml0" + - "ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZv" + - "ciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJQ01TIGRvZXNuJ3QgbWF0" + - "Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2lnbmluZyB8IGBudmNmLWNs" + - "aSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1bmN0aW9uIHBvZCBgSW1h" + - "Z2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1jcmVkZW50aWFsLWhlbHBl" + - "ciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiBudmNm" + - "LWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29uZmlnIHwKfCBGdW5jdGlv" + - "biBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5BVFMgc3RyZWFtIGluaXQg" + - "bGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRTIGF1dGgtY2FsbG91dCBo" + - "ZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlv" + - "L25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFza3MKCnwgU3ltcHRvbSB8" + - "IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRhc2sgY3JlYXRlYCByZXR1" + - "cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZvciBob3N0bmFtZWAsIG9y" + - "IGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwgc2hvcnRseSBhZnRlciBg" + - "cmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hpbGUgYHJlZ2lzdHJ5LWNy" + - "ZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcgdmFsdWUgfCBFeHBlY3Rl" + - "ZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291bnQncyByZWdpc3RyeSBj" + - "cmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVmYXVsdCBgUFQ1TWAsIGFi" + - "b3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhhdCBjYWNoZWQgY29weSBy" + - "ZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRyeSwgb3IgYGt1YmVjdGwg" + - "LW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFwaWAgdG8gYXBwbHkgaW1t" + - "ZWRpYXRlbHkgfApQSwcIGriz82EhAABhIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAsAAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhItLS0K" + - "bmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2NyaXB0aW9uOiA+LQogIElu" + - "c3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9sLXBsYW5lIGFuZCBzZXBh" + - "cmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZpbGUgdmFsdWVzIGFuZCBD" + - "TEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAogIHZhbHVlcyBvdmVycmlk" + - "ZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNlIGZvcgogIG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ssIHNwbGl0IGNvbXB1dGUt" + - "cGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFsbGF0aW9uLCBDTEktZ2Vu" + - "ZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUsIHNlbGYtbWFuYWdlZCwg" + - "b3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9yCiAgbG9jYWwgazNkIGVu" + - "dmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQgd29ya2Zsb3cgaW5zdGVh" + - "ZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1aXJlcyBoZWxtZmlsZSA+" + - "PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBwbHVnaW4sIGt1YmVjdGwg" + - "bWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29y" + - "ZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAuMCIKdGFnczogW252Y2Ys" + - "IHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21w" + - "dXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNl" + - "Y3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEdsb2JdCm1ldGFkYXRhOgog" + - "IGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcgPG52Y2YtY29yZS1lbmdA" + - "ZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0YWdzOiBbbnZjZiwgc2Vs" + - "Zi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wtcGxhbmUsIGNvbXB1dGUt" + - "cGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1lbnQsIHB1bGwtc2VjcmV0" + - "c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6IFtoZWxtZmlsZSwgaGVs" + - "bSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJlCi0tLQoKIyBOVkNGIFNl" + - "bGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBndWlkZSBmb3IgbWF0Y2hp" + - "bmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhlbG1maWxlIGJ1bmRsZXMu" + - "CgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0YWxsLCB1cGdyYWRlLCBv" + - "ciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5k" + - "IGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAgSGVsbWZpbGUgdmFsdWVz" + - "IGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBmdW5jdGlvblR5cGU6ICJM" + - "TE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVyZW5jZXMvaGVsbWZpbGUt" + - "c3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMjIFByZXJlcXVpc2l0ZXMK" + - "CkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIHBhdGguIEZv" + - "ciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0Y2hpbmctdmVyc2lvbiBg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90aDoKCmBgYGJhc2gKbHMg" + - "PGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9l" + - "bnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRzLyA8Y29udHJvbC1wbGFu" + - "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBsYW5lLXN0YWNrPi9oZWxt" + - "ZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29tcHV0ZS1wbGFu" + - "ZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVyIGRpcmVjdG9yeSBpcyBt" + - "aXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMgZnJvbSBOR0M6CgpgYGBi" + - "YXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9uIDxvcmc+L252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQt" + - "dmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZlcnNpb24+CmBgYAoKQ29u" + - "dHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRyb2wtcGxhbmUgYnVuZGxl" + - "IHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3RpdHV0aW9uIGFyZSBpbgpb" + - "U3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoKVmVyaWZ5IHRvb2xpbmcg" + - "YW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNoCmhlbG1maWxlIC0tdmVy" + - "c2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpCmhl" + - "bG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0gcGx1Z2luIGxpc3QgICAg" + - "ICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwgdmVyc2lvbiAgICAgICMg" + - "Q2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBjbHVzdGVyCmBgYAoKQ29u" + - "dHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVkIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRzLyBnbG9iYWwueWFtbC5n" + - "b3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBgZW52aXJvbm1lbnRzLzxu" + - "YW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFtbGA7IGZvciBFS1MsIHVz" + - "ZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZp" + - "ZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KCiMjIEhvdyBW" + - "YWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNlIHByZXZlbnRzIHRoZSBt" + - "b3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4dAplbnZpcm9ubWVudHMv" + - "YmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdlZCB3aXRoCmVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQogICAgLT4gY29uc3VtZWQg" + - "YnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVtcGxhdGUsIGNvbnN0cnVj" + - "dHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNlY3JldHMvPGVudj4tc2Vj" + - "cmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBvdmVycmlkZGVuIGJ5CnJl" + - "bGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJlY2VkZW5jZSkKYGBgCgpD" + - "cml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZp" + - "YyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5vZGUgc2VsZWN0b3JzLCBz" + - "dG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "IGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBpZiBgZ2xv" + - "YmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpUbyBvdmVycmlkZSBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNlIGB2YWx1ZXM6YCBibG9j" + - "ay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3ZlcnJpZGluZy1oZWxtLWNo" + - "YXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAxLiBDcmVhdGUgbmFtZXNw" + - "YWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHByaXZhdGUgcmVnaXN0cnkp" + - "CgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + - "YXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFw" + - "cGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + - "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2Nr" + - "ZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAg" + - "ICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBgYAoKSWYgdXNpbmcgcHVs" + - "bCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhlbG1maWxlIHJlbGVhc2Ug" + - "dG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRzXSgjaW1hZ2UtcHVsbC1z" + - "ZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3VyIGNoYXJ0IHJlZ2lzdHJ5" + - "CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBsb2dpbmAgYXJlIHJlcXVp" + - "cmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kg" + - "Y2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3QgYmUgYXV0aGVudGljYXRl" + - "ZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1hbmRzIGFyZSByZXF1aXJl" + - "ZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVki" + - "CmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdDX0FQ" + - "SV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiA8cmVnaW9u" + - "PiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3Rk" + - "aW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNvbQpgYGAKCj4gTm90ZTog" + - "YGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3QgbG9naW4gcGVyIGhvc3Qg" + - "KG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNhY2hlcyBzcGFuIHNldmVy" + - "YWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQgdGhleSBhbGwKPiBsaXZl" + - "IHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEgZGlmZmVyZW50IGtleSBz" + - "aWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9yIHRoZQo+IGZpcnN0IG9y" + - "ZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3MgRGVuaWVkYCAobm90IGEg" + - "NDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmctb3JnIGtleSkuIElmIHlv" + - "dSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9yZywKPiBlaXRoZXIgcmUt" + - "cnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlhdGVseSBiZWZvcmUgZWFj" + - "aCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2VuJyAtLXBhc3N3b3JkIDxr" + - "ZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcKPiBvbiB0" + - "aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20gYSBzaW5nbGUgcmVnaXN0" + - "cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJiLiAoUmVjb21tZW5kZWQp" + - "IFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21h" + - "dGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50byBhIHJlZ2lzdHJ5IHRo" + - "YXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4cGxpY2l0IGltYWdlIHB1" + - "bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0aGUgbm9kZSBvciB3b3Jr" + - "bG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9tYXRpY2FsbHkpLCBwb2lu" + - "dCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMKYWJvdmUuCgox" + - "LiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJvbm1lbnRzLzxlbnY+Lnlh" + - "bWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAgICAgICByZWdpc3RyeTog" + - "PHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5LmV4YW1wbGUuY29tCiAg" + - "ICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhlbG06CiAgICAgICBzb3Vy" + - "Y2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBpZiB5b3UgYWxzbyBtaXJy" + - "b3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5Pgog" + - "ICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBgYGAKCiAgID4gVGhlIG1h" + - "bmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZhY3RzLCBzbyBjb252ZXJ0" + - "IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29udGFpbmVyIGltYWdlcyAo" + - "YG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3IgYXMtaXMuIFNvbWUgSGVs" + - "bQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFuIGBodHRwczovL2AgSGVs" + - "bSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5udmlkaWEuY29tYCkuIFRo" + - "b3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkgYGdsb2JhbC5oZWxtLnNv" + - "dXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJlZm9yZSBwb2ludGluZyB0" + - "aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+IGBodHRwczovL2AgY2hh" + - "cnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhlIGAudGd6YCwgdGhlbgog" + - "ICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVnaXN0cnk+LzxtaXJyb3It" + - "c3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4gdW5kZXIgYGdsb2JhbC5o" + - "ZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVwcyBhYm92ZS4gV2hlbiB0" + - "aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQogICBhdXRvbWF0aWNhbGx5" + - "ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBhY2Nlc3MpLCB0aGUgcHVs" + - "bCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRvIG5vdCBuZWVkOiB0aGUg" + - "cGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAgKHN0aWxsIGNyZWF0ZSB0" + - "aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBgZ2xvYmFsLmltYWdlUHVs" + - "bFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAvYGhlbG0gcmVnaXN0cnkg" + - "bG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNpZHVhbCBjcmVkZW50aWFs" + - "OiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQKICAg" + - "PiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0cnkgY3JlZGVudGlhbCwg" + - "c28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGljaGV2ZXIgcmVnaXN0cnkg" + - "aG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJvciBpZiB0aGUgaW1hZ2Ug" + - "aXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSByb3V0ZSBkb21haW4KCmBn" + - "bG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9yIHJvdXRlcyBzdWNoIGFz" + - "IGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhlIEdhdGV3YXkgb3IgaXRz" + - "IGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBHYXRld2F5OgoKYGBgYmFz" + - "aApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxnYXRld2F5LW5hbWU+IC1u" + - "IDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52" + - "YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRoZSBhZGRyZXNzIG1heSBi" + - "ZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0ZXdheSBjb25maWd1cmF0" + - "aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBhZGRyZXNzIGZvcm1hdC4g" + - "VGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0aGVyLgoKRm9yIHRlbXBv" + - "cmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVzZXJ2ZWQgc3VmZml4IHN1" + - "Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVjdCB0byBgR0FURVdBWV9B" + - "RERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBGb3IgcHJvZHVjdGlvbiwg" + - "dXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91dGUgcmVjb3JkcyB0byBg" + - "R0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNoYW5nZXMsIGtlZXAgYGds" + - "b2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9yIHRoZSBjbGllbnQgZGVz" + - "dGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCkuCgoj" + - "IyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+" + - "IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cwpIRUxNRklM" + - "RV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVwbG95CmBgYAoKPiBTZXQg" + - "Qk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZpbGUuIFRoZSBzZWNyZXRz" + - "IGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgYnV0IHRoZSBj" + - "YXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4gYGNhc3NhbmRyYS5zZXJ2" + - "aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmczbTNgLiBJZiB5b3Ugc2V0" + - "IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUgc2VydmljZSByb2xlIGtl" + - "ZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2VydmljZSBjcmFzaC1sb29w" + - "cyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8gYXV0aGVudGljYXRlLiBT" + - "ZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRoZSBzYW1lIHZhbHVlIGFz" + - "IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVwbG95bWVudCBwaGFzZXMK" + - "CkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNpZXM6Cgp8IFBoYXNlIHwg" + - "U2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0tfC0tLS0tLS0tLS18LS0t" + - "LS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzYCB8" + - "IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAyIHwgYHJlbGVhc2UtZ3Jv" + - "dXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwgZ3JwYy1wcm94eSwgbm90" + - "YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVyLCBvcHRpb25hbCBWYW5p" + - "dHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBh" + - "ZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5ncmVzc2AgfCBHYXRld2F5" + - "IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5YCB8" + - "IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1pbiB8CgpNb25pdG9yIGlu" + - "IGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLXcKYGBg" + - "CgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkKClZhbml0eSBHYXRld2F5" + - "IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVkIGZvciBjdXN0b21lci1m" + - "YWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQgb2YgdGhlIHN0YW5kYXJk" + - "IE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZhaWxhYmxlIG9ubHkgaW4g" + - "c3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0ZXdheQphZGRvbi4gSWYg" + - "dGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBgdmFuaXR5LWdh" + - "dGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhl" + - "c2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0" + - "aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLCBlbmFibGUgaXQg" + - "aW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFtbAphZGRvbnM6CiAgdmFu" + - "aXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdDb25maWc6IHt9CmBgYAoK" + - "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+YCBhbmQgdGhlIGJhY2tl" + - "bmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBsb3ltZW50LXNwZWNpZmlj" + - "IGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5pdHlHYXRld2F5Lm1hcHBp" + - "bmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3RzIGluc3RlYWQgb2YKYHZh" + - "bml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3ZlcnJpZGVzIHN1cHBvcnRl" + - "ZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5nIEROUyByZWNvcmRzLgoK" + - "QWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYHZhbml0eS1nYXRld2F5" + - "YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT12YW5p" + - "dHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKVmVyaWZ5" + - "IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBhcHAua3ViZXJuZXRlcy5p" + - "by9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkg" + - "dmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1h" + - "ZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkgR2F0ZXdheSBmb3Igc3Rh" + - "bmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9jYXRpb24sIG9yIGdSUEMg" + - "dHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUgYmFzZSBnYXRld2F5CnJv" + - "dXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5" + - "CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVk" + - "ZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNmVWlgCnJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + - "eQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhlIHB1YmxpYyBpbnRlcm5l" + - "dC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2VjcmV0IHNldHVwLCBhcHBs" + - "eSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFkZG9uXShyZWZlcmVuY2Vz" + - "L252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNlcGFyYXRlIGNvbXB1dGUt" + - "cGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMgbm90IGluc3RhbGwgY29t" + - "cHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5LCBjaG9vc2UgZXhhY3Rs" + - "eSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2YWx1ZXMgZmxvdzogYXV0" + - "aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lzdGVyIGFuZAogIGluc3Rh" + - "bGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkgcHJvZmlsZSBmbG93OiB1" + - "c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxs" + - "LAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29tbWFu" + - "ZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1NwbGl0IENvbXB1dGUtUGxh" + - "bmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMsIHZlcmlmaWNhdGlvbiwg" + - "YW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRlc3Ryb3kgZXZlcnkgY29t" + - "cHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5nIHRoZSB0ZWFyZG93biBm" + - "b3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCN0ZWFyZG93bikuCgpT" + - "Y29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhpcyBjb250cm9sLXBsYW5l" + - "IGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBuYXRzYCwgYG9wZW5iYW8t" + - "c2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBgYXBpYCwgYGludm9jYXRp" + - "b24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90YXJ5LXNlcnZpY2VgLCBv" + - "cHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1pbi1pc3N1ZXItcHJveHlg" + - "LCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRlZCBvbmx5IHdoZW4gYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgaW52" + - "ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBkZWZhdWx0IG5hbWVzcGFj" + - "ZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1hbmFnZXIgbXVzdCB1c2Ug" + - "YGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhlbG1maWxlIHRyZWF0cyB0" + - "aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRlIG90aGVyIGhlbG0gcmVs" + - "ZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9yZSBjb250cm9sLXBsYW5l" + - "IGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3Ig" + - "YW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQg" + - "YWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQcmVzZXJ2ZSB0aGUgbmFt" + - "ZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBhZnRlciB2ZXJpZnlpbmcg" + - "bmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQgY29uZmlybWF0aW9uLgoK" + - "IyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhlIGBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4g" + - "aGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNlcwoKYGBgYmFzaApmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "bnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlICIkbnMi" + - "IC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBjbGVhbgoKYGBgYmFzaApr" + - "dWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1r" + - "ZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgojIyBPdmVycmlkaW5nIEhl" + - "bG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGltaXRlZCkKCldvcmtzIG9u" + - "bHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9wYWdhdGVzIChlLmcuLCBg" + - "Y2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNsYXNzYCwgYGdsb2JhbC5p" + - "bWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hhcnQgdmFsdWUpCgpFZGl0" + - "IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxgIGFuZCBhZGQgYSBgdmFs" + - "dWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJl" + - "ZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJv" + - "b3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRp" + - "b246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6" + - "ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0g" + - "Li4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNy" + - "ZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxp" + - "bWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAg" + - "ICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6" + - "IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVsZWFzZSB1c2VzIGA8PDog" + - "KmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFsdWVzOmAgcmVwbGFjZXMg" + - "dGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYGdsb2JhbC55" + - "YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJldmlldyBhbmQgYXBwbHkg" + - "YSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3CkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMgICAgICAjIEFwcGx5" + - "CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhyZWUgZGlzdGluY3QgY3Jl" + - "ZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBtaW5kIHRoZQpmb3JtYXQg" + - "cnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhlIGNvcnJlY3Qga2V5IGlm" + - "IHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUgUHVsbCBTZWNyZXRzIHwg" + - "QVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1hZ2UtUHVsbCBTZWNyZXQg" + - "fAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMgTlZDRiBzZXJ2aWNlIGlt" + - "YWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhdCBgZnVu" + - "Y3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9ybSBzaWRlY2FycyBpbmpl" + - "Y3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhzIGBkb2NrZXItcmVnaXN0" + - "cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHByaXZhdGUtdmFsdWVzPi88" + - "ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBgTlZDRl9BUElfU0lERUNB" + - "UlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlhbWxgIC0+IE9wZW5CYW8g" + - "YHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0YCAoZmllbGQg" + - "YHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNvbmZpZ2pzb25gIChrdWJl" + - "Y3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwg" + - "YGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0aGUgYWNjb3VudC1ib290" + - "c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1QgYQo+IGRvY2tlcmNvbmZp" + - "Z2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFjZWhvbGRlcgo+IGBSRVBM" + - "QUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2ggcmVhZHMgYXMgImJhc2U2" + - "NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3RoIHZhbHVlcyBhcmUgY29u" + - "c3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2YtYXBpIHRha2VzIHRoZQo+" + - "IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0aGAgZmllbGQgb2YgdGhl" + - "IGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11c3QgYmUgYGJhc2U2NCgi" + - "JG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRodG9rZW46JXMnICIkS0VZ" + - "IiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9ja2VyY29uZmlnanNvbj4p" + - "YC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBmdW5jdGlvbiBjcmVhdGVg" + - "IHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVkIHVzZXJuYW1lOnBhc3N3" + - "b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZlcnkgd29ya2VyJ3Mgc2lk" + - "ZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQKPiAgICBgNDAzYHMsIHJl" + - "Z2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0b20gbG9va3MgbGlrZSBh" + - "IGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlzIGZpbmUgYW5kIHRoZSBl" + - "bmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1pbnN0YWxsZWQKPiAgICBz" + - "dGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFzaAo+ICAgIEFVVEg9JChw" + - "cmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQSkKPiAgICBi" + - "YW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwtc2VjcmV0" + - "IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFza3MgaXMgZW5hYmxlZCwg" + - "cmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3Jl" + - "dAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVwbG95L252Y2YtYXBpICAg" + - "IyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+Cj4gTm90ZSAobXVsdGkt" + - "b3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3IpLCB0aGUgdXNlciBmdW5j" + - "dGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0ZW4gbGl2ZSBpbiBkaWZm" + - "ZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJlbnQKPiBrZXksIHNvIHRo" + - "ZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkgYW5kIHRoZSBzaWRlY2Fy" + - "IHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRpZmZlcmVudCBrZXlzLiBN" + - "aXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5IHRoZQo+IGNsdXN0ZXIg" + - "YXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0aGlzIHRvIG9uZSBjcmVk" + - "ZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5vIChyZWNvbW1lbmRlZCkK" + - "ClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0byBhdXRvbWF0aWNhbGx5" + - "IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBpbiBOVkNGIG5hbWVzcGFj" + - "ZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0tIG5vIHBlci1jaGFydCBj" + - "b25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVlZGVkLgoKYGBgYmFzaAoj" + - "IDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5v" + - "LmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5v" + - "IGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZQoKIyAyLiBDcmVh" + - "dGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91" + - "ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1r" + - "ZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyAz" + - "LiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwgYXBwbHkgLWYga3l2ZXJu" + - "by1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9saWN5IG11dGF0ZXMgZXZl" + - "cnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVsbFNlY3JldHM6IFt7bmFt" + - "ZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IHBvZCAt" + - "biA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNwZWMuaW1hZ2VQdWxsU2Vj" + - "cmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRzIn1dCmBgYAoKTm90IG5l" + - "ZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhlbHBlciAoZS5nLiwgRUNS" + - "IHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBvbGljeSBZQU1MIGFuZCBw" + - "dWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + - "bWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVnZ2luZwoKIyMjIFF1aWNr" + - "IHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2VzCmt1YmVjdGwgZ2V0IGV2" + - "ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAjIFJlY2VudCBldmVudHMK" + - "YGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRvbSB8IENhdXNlIHwgRml4" + - "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxCYWNrT2ZmYCArIGA0MDEg" + - "VW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNyZXQgfCBDaGVjayBzZWNy" + - "ZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8CnwgYEluaXQ6MC8xYCBz" + - "dHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5nIGZvciBPcGVuQmFvIHwg" + - "Q2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMgfAp8IGBJbml0OjAvMWAg" + - "KyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2luYCAtPiBgNDAwIC4uLiBu" + - "byBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9rZW4gc2lnbmF0dXJlYCB8" + - "IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGljIHB1YmtleSBpbnN0ZWFk" + - "IG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRlZmF1bHQgYG9wZW5iYW8u" + - "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgLiBDb21tb24gb24gQUtT" + - "IC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1" + - "ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9wZW5iYW8tc2VydmVyLW1p" + - "Z3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBbcmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDowLzEgU3R1Y2siIGZpeCAj" + - "NC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQgcmVzb3VyY2VzIHRvbyBz" + - "bWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEgdmFsdWVzIGJsb2NrIHwK" + - "fCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRlbnRpYWxzYCBjb25uZWN0" + - "aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBgREVGQVVMVF9DQVNTQU5E" + - "UkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHN0aWxsIGRlZmF1" + - "bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBp" + - "biB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAs" + - "IHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNlcnZpY2VzIHwKfCBgUGVu" + - "ZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8gc3RvcmFnZSBjbGFzcyB8" + - "IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQgc3RvcmFnZSB8CnwgSGVs" + - "bSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFsbCBmYWlsZWQgcGFydHdh" + - "eSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBgc3luY2AgYWdhaW4gfAp8" + - "IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQgY3JlZGVudGlhbHMgaW4g" + - "c2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + - "b290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBjYWxscyByZXR1cm4gYDQw" + - "NCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3RyYXAgcG9zdC1pbnN0YWxs" + - "IGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxsIGZhaWxlZCwgb3Igd2Fz" + - "IHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBjbGVhbiByZS1zeW5jLCBz" + - "byB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8IFZlcmlmeSBhbmQgcmUt" + - "cnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuXSgjdmVy" + - "aWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNlcyBmYWlsIHRvIHJlYWQg" + - "dmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwgVmF1bHQgcGF0aCBoYXJk" + - "Y29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50cGxgOyB0aGUgcnVudGlt" + - "ZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSB3b3JraW5nIGRpcmVj" + - "dG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUgYHBvZEFubm90YXRpb25z" + - "YCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9LyJgIGluIHJlbGVhc2Ug" + - "dmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1cDsgcGxhY2VtZW50IHRh" + - "ZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRvIGBkYzpuY3BgOyBhcHAg" + - "ZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1nb3Ytd2VzdC0xYCkgfCBT" + - "ZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1uY3BgIGluIGVudiBjb25m" + - "aWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFuCgpUaGUgZGVmYXVsdCBh" + - "Y2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhvb2sgb24gdGhlIGBhcGlg" + - "IHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcGAgaW4gYG52Y2ZgKS4g" + - "QmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5CmZpcmVzIG9uIGEgc3Vj" + - "Y2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFpbGVkIGFuZCB5b3UgcmVw" + - "YWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEgY2xlYW4gcmUtc3luYyks" + - "IHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRlZCwgYW5kCmV2ZXJ5IHN1" + - "YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBjcnlwdGljIGA0MDQgVW5r" + - "bm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3JvbmcgaW4gdGhlIHJ1bm5p" + - "bmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5bmM6CgpgYGBiYXNoCmt1" + - "YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIFwKICAtbyBq" + - "c29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAxCmBgYAoKSWYgdGhlIGpv" + - "YiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2luZyB0aGUgYGFwaWAgcmVs" + - "ZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBwcmlvciBqb2IgZmlyc3Qg" + - "aWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUgYW5kIGJsb2NrcyB0aGUK" + - "aG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291" + - "bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAtbiBudmNmIGpvYi9udmNm" + - "LWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNjb3VudCB3YXMgY3JlYXRl" + - "ZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxhdGlvbjogW2V4YW1wbGVz" + - "Lm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + - "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSksIGFu" + - "ZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxlIHN0cnVjdHVyZV0ocmVm" + - "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNyZXRzXShyZWZlcmVuY2Vz" + - "L3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5t" + - "ZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1tYW5hZ2VkLWNsaWAgc2tp" + - "bGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5hZ2UgQVBJIGtleXMsIGFu" + - "ZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMu" + - "anNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUtdG9vbC12ZXJzaW9ucyIs" + - "CiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1hbmFnZWQgc3RhY2sgb24g" + - "bXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQncyBmaXJz" + - "dCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxsIHdhcyB0byB2YWxpZGF0" + - "ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11c3QgYmUgMS4xLngsIG5v" + - "dCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2luICg+PSAzLjExKSwgYW5k" + - "IGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVyKS4gSXQgZGlkIG5vdCBw" + - "cm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25zIHdlcmUgdmFsaWRhdGVk" + + "J3MgcGxhbmUsIGJlbG93LCBpcyB0aGUgY29udHJvbCBwbGFuZSwgY2hlY2tlZCBiZWZvcmUgaXRz" + + "Cmluc3RhbGwgd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2UgYHVwYCBjcmVhdGVz" + + "IGl0cyBwdWxsIHNlY3JldHMKZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhl" + + "ciByZWdpc3RyeS4gRWxzZXdoZXJlIHRoZSBrZXkKaXMgc2VudCB3aGVuIHRoZXJlIGlzIG5vIGRv" + + "Y2tlciBsb2dpbiwgb3IgZm9yIGEgcmVwb3NpdG9yeSB3aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0" + + "aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkgb3IgZ2l2ZXMgaXQgbm8gYWNjZXNzIChhIDQwMykuIFRo" + + "aXMgaXMKZGVjaWRlZCBvbmNlIHBlciByZXBvc2l0b3J5LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwg" + + "dGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRvcidzIHB1bGwgc2VjcmV0IHVzZSBpdCwgc28gYWxsIHRo" + + "cmVlIGdldCB0aGUgc2FtZSBjcmVkZW50aWFsLCBhbmQgYQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0" + + "byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0aGUgb3JncyBpdCByZWFjaGVzLiBBIDQwMyBpcwpyZXBv" + + "cnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhhdCByZXBvc2l0b3J5LCBuZXZlciBhcyBhIHJlamVjdGVk" + + "IGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBvbGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBz" + + "byBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUgdGhlIHJ1bgp3YWl0cyBjb3VudHMgb24gdGhlIG5leHQg" + + "cG9sbC4KClRoZSBwcm9iZSBhc2tzIGZvciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGlt" + + "YWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8gdGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGgg" + + "aW4gYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5" + + "YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBzZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRl" + + "YW0sIGlzIG5vdCBzZW50IGFzIHRoZSBzY29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQu" + + "IFdoZW4gdGhlIHN0YWNrJ3MKT0NJIGNoYXJ0IHNvdXJjZSwgYGdsb2JhbC5oZWxtLnNvdXJjZXMu" + + "cmVnaXN0cnlgIGFuZCBgLnJlcG9zaXRvcnlgLCBpcyB0aGF0CnNhbWUgcGF0aCwgaXRzIHJvdyBp" + + "cyBhbHNvIHRoZSBvbmUgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgc3RhY2sncwpj" + + "aGFydHMgZnJvbSwgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJl" + + "bG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQg" + + "d2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBi" + + "ZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUg" + + "Y29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRl" + + "LXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwg" + + "ZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBj" + + "b21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFp" + + "bHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3Ig" + + "dGhlIHN0YWNrIG5hbWVzLiBUaGF0IGluY2x1ZGVzIGEgZG9ja2VyIGxvZ2luCmBudmNyLmlvYCBy" + + "ZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBh" + + "bmQgYWZ0ZXIKaW5zdGFsbCwgc2luY2UgYGRvY2tlcmAgYW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hp" + + "bmUgc3RpbGwgc2VuZCBpdC4gVGhlIGtleSBpcwpzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5" + + "IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUgcm93Cm5hbWVzIGJvdGgu" + + "IEFmdGVyIGluc3RhbGwgdGhlIHJvdyBhbHNvIHNheXMgd2hldGhlciBvbmUgb2YgdGhlIHB1bGwg" + + "c2VjcmV0cwpiZWxvdyBob2xkcyB0aGF0IGRvY2tlciBsb2dpbi4gQmVmb3JlIGluc3RhbGwsIGEg" + + "ZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzCnRvIHRoZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRz" + + "IGNvbWUgZnJvbSBmYWlscyBpdCB0b28sIGFsdGhvdWdoIHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQs" + + "IHNpbmNlIGBoZWxtYCBwdWxscyB0aGUgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhh" + + "dCBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MsIG5vdCBhcyBhIHJlamVjdGVkIGxvZ2luLiBFbHNl" + + "d2hlcmUsIGFuZCBhZnRlciBpbnN0YWxsLAphIGRvY2tlciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBw" + + "YXNzZXMgd2hlcmUgdGhlIE5HQyBrZXkgcmVhY2hlcyB0aGUKcmVwb3NpdG9yeS4gQSByZWplY3Rl" + + "ZCBOR0Mga2V5IGlzIGEgd2FybmluZyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJl" + + "YWRzIHRoZSBwdWxsIHNlY3JldHMgb2YgdGhlIGNsdXN0ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5h" + + "bWVzcGFjZXMgdGhlCnZhbGlkYXRvciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZCBub25l" + + "IG9mIHRoZW0gaG9sZHMgdGhhdCBrZXk7IHdoZW4Kb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFs" + + "bCBiZSByZWFkLCBpdCBpcyBhbiBlcnJvci4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90" + + "IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBj" + + "cmVkZW50aWFsIGFyZQp3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFr" + + "IHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRo" + + "IGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlz" + + "Cm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlk" + + "IGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxp" + + "ZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRo" + + "IGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3Rh" + + "Y2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5" + + "IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdh" + + "dGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVz" + + "cyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0" + + "aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0" + + "aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBj" + + "b21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBk" + + "cm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sn" + + "cyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBp" + + "LmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwK" + + "fCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAg" + + "d2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFs" + + "aWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRT" + + "YCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhl" + + "IHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVp" + + "cmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBu" + + "YW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2Jl" + + "IGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0Zf" + + "TjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0" + + "aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2Ny" + + "aWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZg" + + "IG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZv" + + "ciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBg" + + "IGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxs" + + "IHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIg" + + "YGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUg" + + "Y29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1z" + + "dGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4g" + + "dGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2Ug" + + "dGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGly" + + "ZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBj" + + "b21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTov" + + "L2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMg" + + "Y29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0" + + "YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGly" + + "ZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0" + + "aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZj" + + "ci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBG" + + "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1l" + + "IE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBg" + + "LS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVn" + + "aW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9u" + + "bHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBg" + + "ZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + + "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUg" + + "Y29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAg" + + "fCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBg" + + "LS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBj" + + "b21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFu" + + "ZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0" + + "ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWly" + + "ZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8Cnwg" + + "YC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdu" + + "b3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3Rz" + + "IHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2Ag" + + "fCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0" + + "ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBm" + + "b3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERV" + + "UkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0" + + "ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3Zl" + + "cnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0" + + "cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlh" + + "dGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czog" + + "YHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3" + + "YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUg" + + "RklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMu" + + "IEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + + "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2Ug" + + "SU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwg" + + "Q29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBP" + + "UlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBE" + + "RUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBg" + + "LS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENh" + + "biBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBM" + + "TE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVy" + + "bmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAt" + + "LWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAg" + + "fCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2Rl" + + "bCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVy" + + "aT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7" + + "IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwg" + + "YE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpT" + + "T04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29t" + + "bWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkg" + + "UFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dl" + + "ciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50" + + "LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlk" + + "ZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRl" + + "cy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5l" + + "IHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVs" + + "IHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcu" + + "dXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9z" + + "ZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2Nv" + + "bXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNv" + + "bmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29g" + + "LCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50" + + "b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRp" + + "dmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBv" + + "cnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3Vycyks" + + "IGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29t" + + "YmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAw" + + "LUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5k" + + "ZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBm" + + "dW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hh" + + "cnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVh" + + "dGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2Vydmlj" + + "ZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9u" + + "IHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUg" + + "ZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1l" + + "IGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQ" + + "SSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24g" + + "c3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBk" + + "YXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0t" + + "bGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08" + + "bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJl" + + "cGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1p" + + "dCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxp" + + "bWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNl" + + "IHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZh" + + "dWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxs" + + "bS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJp" + + "b3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5D" + + "QSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpT" + + "T04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdp" + + "dGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1D" + + "b25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFk" + + "YXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBs" + + "b3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAo" + + "ZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0" + + "aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgx" + + "MDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAg" + + "fAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1p" + + "bnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1" + + "cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBs" + + "aWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1" + + "dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVj" + + "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0" + + "YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3Rl" + + "cyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkg" + + "fCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUg" + + "R1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1w" + + "bGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJl" + + "cXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8x" + + "eGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1" + + "c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + + "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1p" + + "bWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJ" + + "IGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNr" + + "ZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5B" + + "TUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBh" + + "cmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVu" + + "Y2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAt" + + "LWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRh" + + "aW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMg" + + "TkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVu" + + "Y3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdh" + + "bGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBv" + + "bWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0" + + "aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZh" + + "dWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBl" + + "cmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhg" + + "IHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFz" + + "ayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAg" + + "fCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2Rl" + + "bC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8" + + "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + + "IHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZh" + + "Y3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBD" + + "b21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlv" + + "biB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5k" + + "cG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3Mg" + + "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlE" + + "YCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCDVnbCziXQAA4l0AAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25v" + + "d24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBL" + + "ZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVR" + + "LTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRv" + + "IGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5" + + "LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVj" + + "a19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlz" + + "IHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUg" + + "dmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRz" + + "IHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + + "fC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3Mg" + + "YCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBv" + + "dGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJ" + + "bnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rv" + + "b2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBT" + + "YW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8" + + "CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2Nz" + + "L2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92" + + "YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBp" + + "bWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNl" + + "dCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNG" + + "X0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1h" + + "Z2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0" + + "ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBu" + + "b3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1" + + "bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBu" + + "YW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZh" + + "bGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAo" + + "Li4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBu" + + "b3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dg" + + "IGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0" + + "LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93" + + "bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0" + + "ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9n" + + "YCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwg" + + "bG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQg" + + "ZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdh" + + "eSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95" + + "cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3Jl" + + "YXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczog" + + "RGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0" + + "IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3Vi" + + "ZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3Rv" + + "cmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9y" + + "IHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmls" + + "ZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8" + + "CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBO" + + "b3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxs" + + "b2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlz" + + "IG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlh" + + "LmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwt" + + "Z3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBH" + + "UFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxl" + + "LW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhp" + + "dCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRl" + + "cywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBh" + + "biBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21t" + + "YW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpz" + + "b25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRo" + + "ZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9y" + + "Y2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8" + + "CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8" + + "YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9s" + + "dW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBv" + + "bGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51" + + "dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJh" + + "dGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0" + + "YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5k" + + "aW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYg" + + "bm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJl" + + "bGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBg" + + "aGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJl" + + "bGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFz" + + "IG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xv" + + "YWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVz" + + "IHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAt" + + "LXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0" + + "IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1" + + "cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVs" + + "ZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24g" + + "YSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZF" + + "Uj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZp" + + "cm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQg" + + "YEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdp" + + "dGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxl" + + "LW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8" + + "IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3" + + "aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFs" + + "bCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShm" + + "bGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMv" + + "YmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUg" + + "ZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFs" + + "bCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0" + + "cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBk" + + "eW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGlu" + + "c3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8" + + "CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1j" + + "bGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50" + + "ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBT" + + "aWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0" + + "Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50" + + "IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGlu" + + "aXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rp" + + "b24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBz" + + "Y29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVu" + + "IHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + + "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9y" + + "IGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8" + + "IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMg" + + "LW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVj" + + "aWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBm" + + "YW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUi" + + "OiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0" + + "ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5" + + "ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFg" + + "IChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5v" + + "dCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRl" + + "ciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0" + + "aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3" + + "MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJh" + + "dG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIg" + + "YnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJh" + + "dG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3lt" + + "cHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBD" + + "cmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4u" + + "L3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBm" + + "cm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0" + + "ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1w" + + "b3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5k" + + "IHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1Mg" + + "aW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5" + + "IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwK" + + "fCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1h" + + "Z2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBk" + + "ZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0" + + "IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4g" + + "fCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sg" + + "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAt" + + "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMj" + + "IFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8" + + "IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlh" + + "bCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFs" + + "dWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVg" + + "IHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUg" + + "bmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBh" + + "Y2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAg" + + "KGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVu" + + "IHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQg" + + "cmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZj" + + "dC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NL" + + "SUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpk" + + "ZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29u" + + "dHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhl" + + "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93" + + "biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3Rpbmcu" + + "IFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + + "YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGlu" + + "c3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1m" + + "aWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNl" + + "IGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3Bt" + + "ZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTog" + + "UmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRp" + + "ZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNm" + + "LWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAi" + + "MS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwg" + + "Y29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwg" + + "ZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVw" + + "LCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUt" + + "ZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAi" + + "CiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + + "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + + "b3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdv" + + "cmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVj" + + "dHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9u" + + "YWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + + "ZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3Ig" + + "aW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxm" + + "LW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBr" + + "ZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZv" + + "ciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShy" + + "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCku" + + "CgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhl" + + "IG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5" + + "IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29u" + + "dHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2Vj" + + "cmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0" + + "ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25t" + + "ZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVp" + + "dGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNp" + + "b25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVy" + + "c2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5" + + "IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + + "Ojx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBj" + + "b250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1" + + "YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3Rh" + + "cnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBg" + + "YmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQg" + + "c2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpo" + + "ZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJl" + + "Y3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24g" + + "b2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJh" + + "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3Rv" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2Vj" + + "cmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZy" + + "b20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRz" + + "LnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + + "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + + "ZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2Vk" + + "ZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBg" + + "YHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBt" + + "ZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRl" + + "cykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdv" + + "IHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBi" + + "eQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAg" + + "LT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0" + + "IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFz" + + "c2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVz" + + "LCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFy" + + "Yml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVu" + + "dGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0" + + "LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVs" + + "ZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10o" + + "I292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgoj" + + "IyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcg" + + "YSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + + "cjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAt" + + "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20g" + + "YSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZ" + + "PSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + + "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + + "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + + "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9u" + + "ZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFj" + + "aCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2Vj" + + "cmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8g" + + "eW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0" + + "cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBk" + + "b2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBt" + + "dXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBj" + + "b21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + + "JyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + + "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dv" + + "cmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1l" + + "IEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3" + + "cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBs" + + "YXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRo" + + "ZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywg" + + "YnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29u" + + "ZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0" + + "aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxz" + + "IGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNj" + + "ZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdy" + + "b25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9u" + + "ZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1t" + + "ZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0" + + "b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVh" + + "ZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBm" + + "cm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMj" + + "IyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRo" + + "ZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2Vz" + + "IGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBh" + + "bgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hl" + + "cmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBh" + + "dXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50" + + "aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdl" + + "OgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdp" + + "c3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAg" + + "ICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9u" + + "bHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5" + + "OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4K" + + "ICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFy" + + "dGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3Jpbmcu" + + "IENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWly" + + "cm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0" + + "byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5u" + + "Z2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVk" + + "IGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5" + + "LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gK" + + "ICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxg" + + "IHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3Vy" + + "LXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQog" + + "ICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwg" + + "c3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0" + + "cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1" + + "bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlv" + + "dSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAx" + + "CiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0" + + "aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9n" + + "aW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUg" + + "cmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1" + + "bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJl" + + "Z2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4g" + + "d2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBt" + + "aXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0" + + "aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4" + + "IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJl" + + "IHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3Rp" + + "bmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdh" + + "eSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0" + + "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBg" + + "CgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5k" + + "IEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBh" + + "bmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0" + + "IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxl" + + "IHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNv" + + "bm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0" + + "YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRz" + + "IHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRl" + + "ciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IERO" + + "UyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5t" + + "ZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxN" + + "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJl" + + "ZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAj" + + "IERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0" + + "cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9Q" + + "QVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFs" + + "LAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNo" + + "QG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + + "dGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+" + + "IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVz" + + "IHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0" + + "byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUu" + + "IERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5k" + + "ZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0t" + + "LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdy" + + "b3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8" + + "CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRp" + + "b24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3Jv" + + "dXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFj" + + "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3Jv" + + "dXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEt" + + "MiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9u" + + "YWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5l" + + "ZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZy" + + "b250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlz" + + "IGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5" + + "IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBj" + + "b250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91" + + "dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNr" + + "YWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + + "ZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + + "YHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBw" + + "aW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9t" + + "YWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQg" + + "ZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMu" + + "dmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBo" + + "b3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1l" + + "IG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRj" + + "aGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMg" + + "dGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZp" + + "Y2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJ" + + "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jl" + + "c3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVz" + + "ZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2Yg" + + "LWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRw" + + "cm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4i" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFu" + + "aXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQpp" + + "bnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkg" + + "dGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFs" + + "KQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJ" + + "LiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBw" + + "YWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVk" + + "IHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBg" + + "bnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1p" + + "biBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRv" + + "IHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxs" + + "IHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBV" + + "SSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRo" + + "ZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBk" + + "b2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVh" + + "bHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZp" + + "bGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiBy" + + "ZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0g" + + "Q0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNv" + + "bnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVy" + + "IGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93" + + "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNy" + + "ZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3du" + + "CgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1" + + "c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0" + + "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + + "b24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5" + + "IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJl" + + "OiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lz" + + "YCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwg" + + "YG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBg" + + "YWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5j" + + "bHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wt" + + "cGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBi" + + "dXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVz" + + "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2Vy" + + "dC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lz" + + "ZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRl" + + "bGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpC" + + "ZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdl" + + "ciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZl" + + "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1" + + "ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJl" + + "bGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + + "ZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92" + + "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + + "Y2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRl" + + "IHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1G" + + "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVz" + + "cGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVs" + + "ZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJp" + + "ZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5h" + + "dHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBg" + + "YAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUg" + + "KGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "cHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3Jh" + + "Z2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55" + + "IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290" + + "bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8" + + "cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRo" + + "ZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + + "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + + "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + + "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + + "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNv" + + "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAg" + + "IG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBh" + + "IHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcg" + + "YHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCBy" + + "ZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMj" + + "IFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJl" + + "dmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + + "YSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJl" + + "IHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBh" + + "bmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRo" + + "IHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBs" + + "YW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2Fy" + + "IEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1" + + "bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + + "Y3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxh" + + "dGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8" + + "IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwg" + + "YDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXAp" + + "IHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0" + + "cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + + "dWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2Nr" + + "ZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1" + + "dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90" + + "ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUg" + + "Tk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUg" + + "cGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdo" + + "aWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4g" + + "Qm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBu" + + "dmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUg" + + "YGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1" + + "ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRv" + + "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQo" + + "PGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVl" + + "OiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5j" + + "b2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6" + + "IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwg" + + "YW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBz" + + "eW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtl" + + "eSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVh" + + "ZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBg" + + "YGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNz" + + "bCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fy" + + "cy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3Vk" + + "IFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNh" + + "cnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNm" + + "IGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBg" + + "YGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWly" + + "cm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJz" + + "IG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlm" + + "ZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1h" + + "Z2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3" + + "byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdp" + + "c3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBz" + + "ZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2" + + "ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xp" + + "Y3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBv" + + "ZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0" + + "cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25z" + + "IG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZl" + + "cm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpo" + + "ZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1u" + + "YW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9y" + + "dCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + + "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + + "IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + + "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + + "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + + "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + + "cHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJl" + + "Y3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhl" + + "IHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFn" + + "ZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFz" + + "aAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0n" + + "ey5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1j" + + "cmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlh" + + "bCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJu" + + "byBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVy" + + "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBE" + + "ZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9k" + + "cyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3Qg" + + "LUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxl" + + "YXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + + "JyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQ" + + "dWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwg" + + "c2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3Jl" + + "dHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2Fp" + + "dGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3Rh" + + "dHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9s" + + "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + + "IHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0" + + "YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFz" + + "ZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZh" + + "bHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVu" + + "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9i" + + "IGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBT" + + "ZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIklu" + + "aXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZh" + + "dWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2Ag" + + "dmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBj" + + "cmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9u" + + "bHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + + "c3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2Vy" + + "dmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9D" + + "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tl" + + "ZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9y" + + "IG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMg" + + "YW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGlu" + + "c3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRo" + + "ZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFz" + + "ZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9i" + + "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291" + + "bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9v" + + "dHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5z" + + "dGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9m" + + "IGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBw" + + "ZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQg" + + "Ym9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2Vy" + + "dmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3Vu" + + "ZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBl" + + "cnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0" + + "byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJy" + + "aWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIu" + + "ZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0" + + "YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2Rl" + + "ZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBg" + + "dXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJ" + + "T049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFw" + + "IHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxs" + + "YCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + + "c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQg" + + "b25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxs" + + "IGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhh" + + "biBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNy" + + "ZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5z" + + "IGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5" + + "IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJz" + + "dCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + + "LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBl" + + "Y3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5" + + "bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0" + + "aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0" + + "YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4g" + + "bnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxv" + + "Z3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhl" + + "IGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0" + + "YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5k" + + "IEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQt" + + "dG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxt" + + "ZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwg" + + "c2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNl" + + "bGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywg" + + "bWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlk" + + "YXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2Vs" + + "Zi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tp" + + "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + + "OiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBz" + + "a2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxl" + + "IChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBs" + + "dWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1" + + "c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJz" + + "aW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZp" + + "bGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2gg" + + "cmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVy" + + "c2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "aGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3Rh" + + "bGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNs" + + "aWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + + "bm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFz" + + "c2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwK" + + "ICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZD" + + "RiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0" + + "ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVs" + + "bWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5p" + + "bmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGlt" + + "cG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVk" + + "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + + "YWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4u" + + "IHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBs" + + "YXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJl" + + "dmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0" + + "aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENs" + + "ZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + + "aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNr" + + "ZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + + "ZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRv" + + "IGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNG" + + "LW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlk" + + "IG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + + "Y29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVh" + + "bnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZD" + + "RkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRo" + + "ZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmlu" + + "YWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdl" + + "dGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQp" + + "IGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBh" + + "Z2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQg" + + "Zmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1o" + + "ZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNG" + + "IGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + + "IEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1" + + "dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmls" + + "ZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBh" + + "dXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25t" + + "ZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2No" + + "ZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRo" + + "ZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNN" + + "U19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBs" + + "YW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25m" + + "aWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBm" + + "cm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNl" + + "cGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mv" + + "c2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3Rlcmlu" + + "ZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + + "aWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlz" + + "X3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9o" + + "b3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2Vu" + + "dCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVy" + + "LWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01T" + + "X1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + + "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcg" + + "d2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21w" + + "dXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25s" + + "eSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRl" + + "ciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJh" + + "dGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAog" + + "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBm" + + "b3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1" + + "ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVu" + + "dCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBh" + + "bmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90" + + "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + + "IHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1" + + "dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFn" + + "ZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + + "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + + "bmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5v" + + "dCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBw" + + "cm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjog" + + "IlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxl" + + "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + + "eWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBp" + + "bnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3lu" + + "YyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + + "Zm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMv" + + "LCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxl" + + "cyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBo" + + "ZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4" + + "dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBd" + + "CiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlv" + + "biI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdl" + + "ZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0" + + "YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxl" + + "IHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNl" + + "cnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBs" + + "b3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhl" + + "biBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0" + + "YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGlu" + + "ZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + + "IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJl" + + "Y3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhp" + + "c3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAo" + + "Y2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywg" + + "dmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBu" + + "YW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhl" + + "bG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhl" + + "IGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95" + + "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMg" + + "KGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHBy" + + "b3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBo" + + "ZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBj" + + "b21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIs" + + "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + + "bmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNl" + + "IG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBh" + + "bmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJl" + + "ZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4g" + + "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQg" + + "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lz" + + "dGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFp" + + "biBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1" + + "bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkg" + + "aW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2Zm" + "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYW55" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAtLXZlcnNpb24nIGFuZCB2" + - "ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1vdmVkIHNlcXVlbnRpYWwg" + - "bW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9uJyBhbmQgdmVyaWZpZWQg" + - "aXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHBsdWdpbiBsaXN0JyBh" + - "bmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVkIiwKICAgICAgIlRoZSBh" + - "Z2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50L3NlcnZlciB2ZXJzaW9u" + - "IGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + - "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQiCiAgICBdCiAgfSwKICB7" + - "CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAgInF1ZXN0aW9uIjogIlF1" + - "aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0YWNrLCBza2lwIGFsbCB0" + - "aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRoZSB1c2VyIGFza2luZyB0" + - "byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmlsZSB0ZW1wbGF0ZSB0byBw" + - "cmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBoZWxtZmlsZSBzeW5jLiBJ" + - "dCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0YW50IGFuZCBkaWQgbm90" + - "IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAg" + - "ICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxM" + - "Lm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG1maWxl" + - "IHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVtcGxhdGUnIHRvIHByZXZp" + - "ZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGJsaW5k" + - "bHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUgcHJldmlldyBzdGVwIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + - "YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0sCiAgewogICAgImlkIjog" + - "Ikc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24iOiAiTlZDRiBuYW1lc3Bh" + - "Y2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4gdGhlbSB1cC4iLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBzdHVjayBuYW1lc3BhY2Vz" + - "IHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQgY3VzdG9tIHJlc291cmNl" + - "cy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzIGZpcnN0" + - "LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9yY2UtZGVsZXRlIHRoZSBz" + - "dHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2Vz" + - "IChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNs" + - "dXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + - "Zm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25maXJtZWQgYW5kIHVzZWQg" + - "dGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAgY29tbWFuZHMiLAogICAg" + - "ICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFja2VuZCByZXNvdXJjZXMg" + - "dG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0" + - "bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9uIHN0dWNrIG5h" + - "bWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQgTlZDRi1tYW5hZ2VkIG5h" + - "bWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5kIGRpZCBub3QgdG91Y2gg" + - "b3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QganVtcCBk" + - "aXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJzdCByZW1vdmluZyBmaW5h" + - "bGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1maWxlLXNwbGl0LXdvcmtm" + - "bG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29udHJvbCBwbGFuZSBhbmQg" + - "YSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVsbWZpbGUgc3RhY2tzLiBU" + - "aGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55YW1sLiIsCiAgICAiZXhw" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + + "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + + "LWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + + "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVy" + + "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVy" + + "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1l" + + "LCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5z" + + "dGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0" + + "YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVz" + + "dGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFz" + + "IHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyBy" + + "ZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2Fu" + + "ZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0" + + "aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhw" + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IGluZGVw" + - "ZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhvcmVkIHNlcGFyYXRlIGNv" + - "bnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgcGx1cyBhIGJh" + - "cmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUtbGVzcyBIb3N0IGZpZWxk" + - "cywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFr" + - "ZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VSTCBhbmQgdGhlIGNvbXB1" + - "dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCB0YXJnZXQg" + - "d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4gSXQgcmVsaWVkIG9uIHJl" + - "Z2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29u" + - "dGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQg" + - "dGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5n" + - "IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJhdGUgZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgYW5kIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0YWxs" + - "ZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9yIGluc3RhbGxpbmcgdGhl" + - "IGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgYmFzZV9odHRwX3Vy" + - "bCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2VydmljZV91cmwsIGljbXNf" + - "dXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3QsIGFuZCBpY21zX2hvc3Qg" + - "Zm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1c3Rlcicgd2l0aCBDTFVT" + - "VEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJMLCBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRoIENMVVNURVJfTkFNRSwg" + - "SEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJU" + - "aGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRvIC0taWNtcy11cmwsIGNv" + - "bmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0aGVyZSBpcyBubyAtLWlj" + - "bXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9uIGRpc2NvdmVycyBPSURD" + - "IGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAgICJUaGUgYWdlbnQgZGlk" + - "IG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0aGlzIGZsb3cgYW5kIGRp" + - "ZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rpb24iOiAiQXV0aGVudGlj" + - "YXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBoZWxtIHJlZ2lzdHJ5IGxv" + - "Z2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNh" + - "dXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBz" + - "byBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxl" + + "IHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGlu" + + "ZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0" + + "aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFu" + + "ZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFu" + - "ZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtIHJlZ2lz" + - "dHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5hbWUgYW5kIE5HQ19BUElf" + - "S0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhhdCBib3RoIGFyZSBy" + - "ZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVsbCBP" + - "Q0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3ZpZGUgb25seSBvbmUgb2Yg" + - "dGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVuIGhlbG1maWxlIHN5bmMg" + - "Zm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "dCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFs" + + "dWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3Jl" + + "dHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25l" + + "KSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTog" + + "c3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVu" + + "dGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1m" + + "aWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJx" + + "dWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fz" + + "c2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBk" + + "ZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBl" + + "bmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkg" + + "ZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVu" + + "Y3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3Rl" + + "bSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9y" + + "IHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + + "ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEg" + + "cG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAg" + + "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + + "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFu" + + "ZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVz" + + "Y3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1" + + "bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlm" + + "aWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNz" + + "aW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5n" + + "Lm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUg" + + "dGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZv" + + "ciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9v" + + "ciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3Qg" + + "Y2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlk" + + "IjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAi" + + "Q29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBj" + + "b250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFu" + + "ZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3RydWN0dXJlIChoZWxtZmls" + - "ZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1sLmdvdG1wbCkgYW5kIHdo" + - "ZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3RydWN0ZWQgdGhlIHVzZXIg" + - "dG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZS4g" + - "SXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFnYWluc3QgYSBtaXNzaW5n" + - "IGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3IgZXhwZWN0ZWQgYnVuZGxl" + - "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdlcmUgbm90IGZvdW5kLCB0" + - "aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1maWxlIHN5bmMiLAogICAg" + - "ICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjogIlBlcmZvcm0gYSBjbGVh" + - "biBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBF" + - "S1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2luZycuIiwKICAgICJleHBl" + + "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0" + + "ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2Yt" + + "Z2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBv" + + "aW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQg" + + "TlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRp" + + "c2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3Qg" + + "ZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywg" + + "UmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVh" + + "dGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1" + + "ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1" + + "dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0" + + "ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxl" + + "ck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1n" + + "YXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + + "IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVS" + + "TCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJM" + + "LCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJv" + + "eHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBD" + + "IHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlB" + + "cGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBh" + + "bmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBz" + + "ZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + + "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + + "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3Qi" + + "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVS" + + "TCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxT" + + "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIs" + + "CiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNs" + + "dWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBj" + + "cmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFu" + + "ZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEt" + + "c3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250" + + "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGgg" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBl" + "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9sLXBsYW5lIGluc3RhbGxh" + - "dGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3RydWN0dXJlLCBjcmVhdGVk" + - "IGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1tYW5hZ2VyLCBhdXRoZW50" + - "aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVkLCBhbmQgbW9uaXRvcmVk" + - "IHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNlbGVjdGVkIG9uZSBkb2N1" + - "bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxlZCB0aGUgY29tcHV0ZSBw" + - "bGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHByb2ZpbGUgYW5kIEhlbG1m" + - "aWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBi" + - "ZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFsaWRhdGVkIHRvb2wgdmVy" + - "c2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwpIiwKICAgICAgIlRoZSBh" + - "Z2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMiLAogICAgICAiVGhlIGFn" + - "ZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNzYW5kcmEtc3lzdGVtLCBu" + - "YXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVsdC1zeXN0ZW0sIGNlcnQt" + - "bWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVzcGFjZXMiLAogICAgICAi" + - "VGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgdGVtcGxhdGUnIHRv" + - "IHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdIRUxNRklM" + - "RV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAogICAgICAiVGhlIGFnZW50" + - "IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVwZW5kZW5jaWVzLCBzZXJ2" + - "aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGltYXRlIHdhaXQgdGltZXMi" + - "LAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0aHksIHRoZSBhZ2VudCBy" + - "ZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sg" + - "dXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAgICAgIlRoZSBhZ2VudCBk" + - "aWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIHdpdGggdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMzLWNsaS1w" + - "cm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZjZi1jbGkgdG8gaW5zdGFs" + - "bCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGEgc2VwYXJh" + - "dGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGdsb2JhbCBmbGFnLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUgQ0xJIGNvbnRyb2wtcGxh" + - "bmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250cm9sLXBsYW5lLXByb2Zp" + - "bGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIgYW5kIGluc3RhbGwgY29t" + - "bWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJlZm9yZSB0aGUgY29tcHV0" + - "ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQgdGhlIHByb2ZpbGUgYW5k" + - "IHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0YWxsLiBJdCBkaWQgbm90" + - "IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29udHJvbC1wbGFuZSBhbmQg" + - "dmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJv" + - "ZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + - "LWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0t" + - "ZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29tbWFuZCBpbmNsdWRlZCAt" + - "LWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0ta3ViZS1jb250ZXh0LCAt" + - "LXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgcmVwZWF0" + - "ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + - "LCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwgY29tbWFuZCBpbmNsdWRl" + - "ZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXItbmFtZSIsCiAgICAgICJU" + - "aGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhlIGVuZHBvaW50IHNvdXJj" + - "ZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lzdHJhdGlvbiIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEtcmVzb3VyY2VzIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcgT09NS2lsbGVkLiBJbmNy" + - "ZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + + "ZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJl" + + "Z2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhl" + + "IGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBm" + + "b3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxh" + + "bmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlv" + + "biBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUg" + + "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBh" + + "bmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNo" + + "aXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlz" + + "c2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNl" + + "IGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3Zl" + + "bmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRo" + + "ZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3Rh" + + "dHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5h" + + "bWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVk" + + "aWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBj" + + "b25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0" + + "ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3Rl" + + "bnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0" + + "IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVz" + + "dGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVz" + + "dHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNv" + + "bmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1" + + "c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAg" + + "ICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + + "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + + "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hl" + + "biBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAog" + + "ICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1l" + + "c3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2Ug" + + "cHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmls" + + "ZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVD" + + "T05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQg" + + "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNv" + + "bXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUg" + + "ZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMs" + + "IHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMg" + + "YW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2Fy" + + "bmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQg" + + "Z290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNv" + + "bmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFu" + + "ZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAi" + + "VGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0" + + "ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRp" + + "b25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVu" + + "Y2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZ" + + "QU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1" + + "ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5l" + + "ZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2Jh" + + "bC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBn" + + "bG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQg" + + "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlu" + + "bGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZh" + + "bHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlh" + + "bWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQg" + + "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + + "ZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3Ms" + + "IGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFy" + + "Yml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVl" + + "czogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRo" + + "YXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJl" + + "IGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVu" + + "YWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1" + + "bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUg" + + "aXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZl" + + "cmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUsIHRoZW4gbW9k" + - "aWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZhbHVlcyByZS1pbmNsdWRp" + - "bmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2YWx1ZXMgYmxvY2suIEl0" + - "IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHByZXZpZXdlZCB0aGUgZGlm" + - "ZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNhcHR1cmVkIGJhc2VsaW5l" + - "IHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUnIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2sgdG8gaW5jbHVk" + - "ZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAgICAiVGhlIGFnZW50IHJl" + - "LWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBmaWxlIGluIHRoZSB2YWx1" + - "ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVjaWZ5aW5nIHZhbHVlczog" + - "cmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJlbHkiLAogICAgICAiVGhl" + - "IGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUgdGVtcGxhdGUgYW5kIGRp" + - "ZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "Ni1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0aW9uIjogIkRlcGxveSBv" + - "bmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5kcmEsIGFuZCBPcGVuQmFv" + - "IC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgdXNlZCB0aGUg" + - "aGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVuZGVuY2llcyByZWxlYXNl" + - "IGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVuY3kgbmFtZXNwYWNlcy4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBlbmRlbmNpZXMiLAogICAg" + - "ICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBuYW1lc3BhY2VzIChuYXRz" + - "LXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIsCiAgICAgICJUaGUgYWdl" + - "bnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFyZ2V0aW5nIG90aGVyIHJl" + - "bGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3LWRlYnVnLWltYWdlcHVs" + - "bGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2RzIGFyZSBpbiBJbWFnZVB1" + - "bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJhbiBkaWFnbm9zdGljIGNv" + - "bW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmliZWQgdGhlIHBvZCwgY2hl" + - "Y2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBv" + - "ZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQgdGhlIGlzc3VlIChtaXNz" + - "aW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3NpbmcgaW1hZ2VQdWxsU2VjcmV0" + - "cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + - "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + - "dGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUgSW1hZ2VQdWxsQmFja09m" + - "ZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cyBpbiB0" + - "aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + - "aW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNlcnZpY2UgYWNjb3VudCIs" + - "CiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVzZSBhbmQgcHJvdmlkZWQg" + - "YSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzktcmVtb3RlLWVrcy1y" + - "b3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25maWd1cmUgYSByZW1vdGUg" + - "RUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRyb2wgcGxhbmUgdGhyb3Vn" + - "aCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHByaXZhdGUtcmVnaXN0cnkg" + - "cHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbmZpZ3VyZWQg" + - "dGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4g" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRld2F5IGluIGVudm95LWdh" + - "dGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRzIGFuZCB0aGUgZ3JwYy1w" + - "cm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNUIGdSUEMgcm91dGVzIHBs" + - "dXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292ZXJ5LiBJdCBjb25maWd1" + - "cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMgaW5jbHVkaW5nIGlj" + - "bXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZhbCwgYW5kIE5BVFMgZXh0" + - "ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQgdGhlIHB1bGwgc2VjcmV0" + - "IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + - "YnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOyB0aGUgY2hh" + - "cnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFtZXNwYWNlIHRvIGVudm95" + - "LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hhcmVkLCBncnBjLCBhbmQg" + - "bmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3YXkgYW5kIG5hbWVzcGFj" + - "ZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xvYmFsLndvcmtlckVuZHBv" + - "aW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBudmNmTmF0c1NlcnZpY2VV" + - "UkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFuZCBpbnZvY2F0aW9uU2Vy" + - "dmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5udmNmR3JwY1NlcnZpY2VV" + - "UkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2VydmljZSIsCiAgICAgICJU" + - "aGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5yb3V0ZXMubnZjZkFwaS5n" + - "cnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3b3JrZXItdGFza3MgaG9z" + - "dG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBpbmdyZXNzLmdhdGV3YXlB" + - "cGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgb3Bl" + - "bmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRvIHRydWUiLAogICAgICAi" + - "VGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkgVVJMIGFuZCBIb3N0IGZp" + - "ZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBpY21zU2VydmljZUhvc3RI" + - "ZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZpY2VIb3N0SGVhZGVyT3Zl" + - "cnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAgICAgIlRoZSBjb250cm9s" + - "LXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVkIGNlcnQtbWFuYWdlciIs" + - "CiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0ZWQgb25seSBpbiBudmNh" + - "LW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIHRvIG52Y2Et" + - "c3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxpdC10ZWFyZG93biIsCiAg" + - "ICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1" + - "dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUgSGVsbWZpbGUgdmFsdWVz" + - "IGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBIZWxt" + - "ZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0cmF0aW9uIG9mIGV2ZXJ5" + - "IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29udHJvbCBwbGFuZSBhbmQg" + - "cGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1zLiBCZWZvcmUgZWl0aGVy" + - "IGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBm" + - "bG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZl" + - "IHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVk" + - "OiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUs" + - "IGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBmb3IgYW4gaW50ZW5kZWQg" + - "c3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQg" + - "ZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlk" + - "IG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQg" + - "Y29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdlbmVyYXRlZCByZWdpc3Ry" + - "YXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNw" + - "ZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9u" + - "bHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29u" + - "dHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiB3aGVuIHRo" + - "ZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4gSXQgdGhlbiBwcmV2aWV3" + - "ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXgsIHJlbW92aW5n" + - "IHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVnaXN0cmF0aW9uIHdhcyBn" + - "b25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZSBIZWxtZmlsZSBm" + - "bG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95IHRhcmdldCB3aXRoIGl0" + - "cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmlybWF0aW9uLCB0aGUgSGVs" + - "bWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVySUQgYW5kIG5jYUlEIGJl" + - "Zm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJlZm9yZSBlaXRoZXIgaGFu" + - "ZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3RoIHRlYXJkb3duIGZsb3dz" + - "IHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhl" + - "IEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0ZWQgaWYgdHJ1ZSwgYW5k" + - "IHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVuYWJsZWQsIGFib3J0aW5n" + - "IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAgICJCb3RoIHRlYXJkb3du" + - "IGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFjZSBieSBkZWZhdWx0IGFu" + - "ZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBleHBs" + - "aWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZsb3cgcmFuIGNvbnRyb2wt" + - "cGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJRyBhbmQgS1VCRUNPTkZJ" + - "R19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQvPGNsdXN0ZXItbmFtZT4t" + - "cmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxldGVkIiwKICAgICAgIkJl" + - "Zm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + - "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + - "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + - "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQgd2hlbiB0aGUgdGFyZ2V0" + - "IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3QgZXhwbGljaXQgY29uZmly" + - "bWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmlnLCBib3RoIHN0YWNrIHBh" + - "dGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0taWNtcy11cmwgZm9yIGRv" + - "d24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRo" + - "YXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBhbmQgcmVtb3ZlcyB0aGUg" + - "Y29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMgcmVtYWluIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIsCiAgICAicXVlc3Rpb24i" + - "OiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwgYnV0IGl0J3MgYmVpbmcg" + - "c2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3b3JrIGluIE5WQ0Y/IiwK" + - "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + - "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoZSB2YWx1ZXMgcHJlY2Vk" + - "ZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlhbWwuZ290bXBsLCBzZWNy" + - "ZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBv" + - "bmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBsYWluZWQgdGhhdCBhcmJp" + - "dHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5lIHZhbHVlcyBibG9ja3Mu" + - "IiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBu" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rp" + - "b24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hh" + - "aW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5nb3RtcGwgLT4gc2VjcmV0" + - "cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoYXQgZ2xv" + - "YmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyAoY2Fzc2Fu" + - "ZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xvYmFsLmltYWdlLCBldGMu" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVl" + - "cyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBibG9ja3MiLAogICAgICAi" + - "VGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBhcmUgcHJvcGFnYXRlZCBh" + - "bmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSByZWxlYXNlIHZhbHVlcyBi" + - "bG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxlLWxsbS1mdW5jdGlvbnMi" + - "LAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rpb25UeXBlOiBMTE0gZnVu" + - "Y3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0" + - "ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGRv" + - "IEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBlbmFibGVkIHRoZSBMTE0g" + - "YWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQgc2luZ2xlIHJlcGxpY2Fz" + - "IGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRlciwgYW5kIGV4cGxhaW5l" + - "ZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3byB3aGVuIG5vIGxvYWQt" + - "YmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0aGUgY2Fub25pY2FsIHJl" + - "cXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhlciByb3V0aW5nIG1ldGhv" + - "ZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0IHJlbGllZCBvbiB0aGUg" + - "c2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + - "IGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25maWcubWVyZ2VDb25maWcu" + - "d29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBhcmF0ZSB3b3JrZXIgdHJh" + - "bnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3JrZXIgdHJhbnNwb3J0IGlz" + - "IG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHVzaW5n" + - "IHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9uLCByZWRlcGxveWVkIGV4" + - "aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExNIGRlcGxveW1lbnRzLCBy" + - "b3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVkLCBub3QgdGhlIG9ic29s" + - "ZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNldCBnYXRld2F5IGFuZCBy" + - "ZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2luZ2xlLW5vZGUgdGVzdCBj" + - "bHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIg" + - "ZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0" + - "LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0aG9kcyIsCiAgICAgICJU" + - "aGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdheS10by1BUEkgYXV0aGVu" + - "dGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVkZWQgd29ya2xvYWQuc3Rh" + - "cmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdvcmtlciB0cmFuc3BvcnQs" + - "IGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpbiBwcm9kdWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9sLXBsYW5lIEhlbG1maWxl" + - "IGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUgd2l0aCB0aGUgc2FtZSBz" + - "ZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95ZWQgZXhpc3RpbmcgTExN" + - "IGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxtLWFwaS1nYXRld2F5LCBs" + - "bG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQgdGhlIGxsbS13b3JrZXIg" + - "c2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAiU2V0IHVwIGEgbG9jYWwg" + - "TlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVlc3QgdGhhdCBiZWxvbmdz" + - "IHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwgbm90IG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVhZCBvciB1c2UgdGhlIHNl" + - "bGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQgcHJvdmlkZWQgazNkLXNw" + - "ZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5t" + - "ZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1maWxlLWJhc2VkIHByb2R1" + - "Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVk" + - "IGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBvciBkZWZlcnJlZCB0byB0" + - "aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0KXQpQSwcIR1VqVkpWAABK" + - "VgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVzCgpXb3JrZWQgZXhhbXBs" + - "ZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMjIEV4YW1wbGUgMTogT3Zl" + - "cnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fzc2FuZHJhIHJlc291cmNl" + - "IGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMgKGUuZy4sIGBwNS40OHhs" + - "YXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3aXRoIGBPT01LaWxsZWRg" + - "LgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZpbGUgcmVsZWFzZSB2YWx1" + - "ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlID4g" + - "L3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6JyAvdG1wL2Nhc3MtYmVm" + - "b3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBvdmVycmlkZSB0byBoZWxt" + - "ZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhlIGV4YW1wbGVzIGJlbG93" + - "LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0cy9gIGRpcmVjdG9yeSBh" + - "dCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2" + - "ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6" + - "IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2ds" + - "b2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52" + - "ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAg" + - "cmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6ICI4IgogICAgICAg" + - "ICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTog" + - "IjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0ZXAgMzogVmVyaWZ5IGFu" + - "ZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + - "YW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55YW1sCmRpZmYgL3RtcC9j" + - "YXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENvbmZpcm0gcmVzb3VyY2Vz" + - "IGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNz" + - "YW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEgQml0bmFtaSBmZWF0dXJl" + - "KSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + - "c2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMgRXhhbXBsZSAyOiBEZXBs" + - "b3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2VjcmV0cwoKRGVwbG95IHRo" + - "ZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20gTkdDIChgbnZjci5pb2Ap" + - "IGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1hZ2UgcHVsbCBzZWNyZXRz" + - "LgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBOR0MKCmBgYHlhbWwKIyBl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAgIHNvdXJjZXM6CiAgICAg" + - "IHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCiAgaW1hZ2U6" + - "CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZpZGlhL252Y2YKYGBgCgoj" + - "IyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1maWxlIGNoYXJ0IHB1bGxz" + - "KQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1wICIkTkdD" + - "X0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + - "ICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIHB1" + - "bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLW5nYy1hcGkta2V5" + - "PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMg" + - "ZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRz" + - "LXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsg" + - "ZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2Vj" + - "cmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXIt" + - "cGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1k" + - "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDogQWRkIGltYWdlUHVsbFNl" + - "Y3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQtc3BlY2lmaWMgYGltYWdl" + - "UHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUgZm9yIGNhc3NhbmRyYSBp" + - "biBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxgOgoKYGBgeWFtbAotIG5h" + - "bWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5h" + - "YmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZh" + - "bHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVl" + - "cz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNh" + - "c3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAg" + - "ICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "XShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkgZm9yIGV2ZXJ5IGNoYXJ0" + - "LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9yIGEgc2VwYXJhdGUgY29t" + - "cHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYDsg" + - "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Etc3lzdGVtYC4gU2VlIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAgNTogRGVwbG95CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2ggU2VydmljZUFjY291bnRz" + - "IGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIgUGhhc2UgMSAoZGVwZW5k" + - "ZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGluIGBJbWFnZVB1bGxCYWNr" + - "T2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBpbiB2YXVsdC1zeXN0ZW0g" + - "bnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVhZGVycyAtbyBjdXN0b20t" + - "Y29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1uICIkbnMiICIkc2EiIFwK" + - "ICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAibnZjci1jcmVkcyJ9XX0n" + - "CiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGRl" + - "bGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlmeToKCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiB2YXVs" + - "dC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwgZ3JlcCAtaSBwdWxsCiMg" + - "U2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZyb20gbnZjci5pbwpgYGAK" + - "Ci0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWluc3RhbGwKCldoZW4gYSBk" + - "ZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBzbGF0ZS4KCiMjIyBTdGVw" + - "IDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJhc2gKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNs" + - "dXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBjbGVhbnVwIGlzIHN0dWNr" + - "IG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHByb2NlZHVyZSBpbgpbZGVi" + - "dWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJlLW52Y2EtY2xlYW51cC1z" + - "dHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIgdGhlIGNvbXB1dGUgY2x1" + - "c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFs" + - "dWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVsZXRp" + - "bmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNs" + - "dXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRp" + - "b24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBg" + - "CgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLgoKIyMjIFN0" + - "ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJlc2VydmUgdGhlIGBjZXJ0" + - "LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBydW5uaW5nIGRlc3Ryb3ks" + - "IGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJu" + - "YWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "ZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQKc3RhY2stbWFu" + - "YWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwg" + - "dmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24g" + - "bWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92" + - "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZApnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUgaXQuCgpgYGBiYXNoCktV" + - "QkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNP" + - "TkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKUGFzcyBib3RoIGt1YmVj" + - "b25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMK" + - "YW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAg" + - "LUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAtRSAnKGNhc3NhbmRyYXxu" + - "YXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBjb21tYW5kcyBzaG91bGQg" + - "cmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBpbiBzcGxpdCBvcmRlcgoK" + - "Rm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFuLWluc3RhbGxhdGlvbiks" + - "IHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "Ci0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5IEVuZHBvaW50IENoYW5n" + - "ZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNl" + - "ciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgojIyMgU3RlcCAxOiBHZXQg" + - "dGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAgbnZjZi1nYXRld2F5IC1u" + - "IGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFs" + - "dWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3RlcCAyOiBVcGRhdGUgRE5T" + - "IGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBo" + - "b3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQb2ludCB0aGUKRE5TIHJl" + - "Y29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBhcyBgYXBpLjxkb21haW4+" + - "YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZX0FERFJgLiBGb3IgYSB0" + - "ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRzIHJlc2VydmVkIHJvdXRl" + - "IHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRoIHRoZQptYXRjaGluZyBg" + - "SG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25maWd1cmVkIHdpdGggZGly" + - "ZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFkZHJlc3MtYmVhcmluZyB2" + - "YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAsIGNvbXB1dGUtcGxhbmUK" + - "SUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZpZWxkcy4gS2VlcCB0aGVp" + - "ciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVmcmVzaCByZWdpc3RyYXRp" + - "b24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRvZmYgdXNlZCBvcmlnaW5h" + - "bGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2Nv" + - "bXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxkcyBhbmQgY29tcGxldGUg" + - "Y29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0cwoKYGBgYmFzaApkaWcg" + - "K3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6" + - "Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBlbnZveS1nYXRld2F5IC1v" + - "IHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGh0dHBy" + - "b3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHRj" + - "cHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xs" + - "b3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3Ig" + - "LS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3" + - "YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Et" + - "b3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0" + - "aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBEZXBsb3kgT25seSBEZXBl" + - "bmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJhdGluZyBvbiBzZXJ2aWNl" + - "IGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFUUywgQ2Fzc2FuZHJhLCBP" + - "cGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3Jv" + - "dXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVjdGwgZ2V0IHBvZHMgLW4g" + - "bmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEtc3lzdGVtCmt1YmVjdGwg" + - "Z2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9uZSBzcGVjaWZpYyByZWxl" + - "YXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + - "IHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVjdG9yIHwgUmVsZWFzZXMg" + - "fAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2Ag" + - "fCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94" + - "eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25hbCBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCwgb3B0aW9u" + - "YWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhl" + - "IGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgLCBvcHRp" + - "b25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRv" + - "biBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1sbG0tcmVx" + - "dWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0IHJvdXRlciB3aGVuIGBs" + - "bG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5YCB8IERlcGxveSBqdXN0" + - "IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPXZh" + - "bml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5IG9ubHkgd2hlbiB0aGUg" + - "c3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRvbnMudmFuaXR5R2F0" + - "ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERlcGxveSBOVkNGIFVJIG9u" + - "bHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBhZGRv" + - "bnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgaW5n" + - "cmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5gIHwgQW55IGluZGl2aWR1" + - "YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXItcHJveHlgIGRvZXMgbm90" + - "IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0aCBgLS1zZWxlY3RvciBu" + - "YW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SIyBTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUg" + - "YXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApwbGFuZSBmaXJzdCwgdGhl" + - "biByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rlci4gQ2hvb3NlIG9uZSBo" + - "YW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVjeWNsZS4gRG8gbm90IGNv" + - "bWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ugb2YgY29udHJvbC1wbGFu" + - "ZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0tLS0tfC0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAp8IEhlbG1m" + - "aWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52" + - "aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0" + - "cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8IENMSSBwcm9maWxlIHwg" + - "Q0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxh" + - "bmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + - "dXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKClRoZSBDTEkg" + - "cHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQgbXVzdCBub3QgYmUgaGFu" + - "ZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29uc3VtZSBhIGNvbnRyb2wt" + - "cGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVwbyBwYXRocyBmcm9tIHRo" + - "ZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0ZWQgcGFja2FnZXMgbmVl" + - "ZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFja2AgYW5kCmBudmNmLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhvc2UgYnVuZGxlIHJvb3Rz" + - "IGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cKCkNyZWF0ZSBib3RoIGVu" + - "dmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBkZXBsb3kvc3RhY2tzL3Nl" + - "bGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbnRyb2wtcGxhbmUKICBy" + - "ZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2aWNlIHNldHRpbmdzLgot" + - "IGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNyZXRzLCBhbmQgY29tcHV0" + - "ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4KCkZvciBFS1MsIHVzZSB0" + - "aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRwczovL2RvY3MubnZpZGlh" + - "LmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxlKS4KVGhlIGNvbnRyb2wt" + - "cGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkgY29udHJvbGxlciBpbgpg" + - "ZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8gYEdhdGV3YXkvbnZjZi1n" + - "YXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRoZSBOQVRTIHJvdXRlLiBU" + - "aGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRlcm5hbCBhZGRyZXNzIHBs" + - "dXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0ZXdheS1hZGRyZXNzPmAg" + - "aXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAgaXMgdGhlIEROUyBiYXNl" + - "Cndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQgTkxCOgoKYGBgeWFtbAoj" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2Jh" + - "bDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVuZHBvaW50czoKICAgIG52" + - "Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+IgogICAgbnZjZkdycGNT" + - "ZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZO" + - "YXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgogICAgbnZjdFNl" + - "cnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y3RHcnBjU2Vy" + - "dmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiIKICAgIGludm9j" + - "YXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3YXktZG9tYWluPiIKCmdy" + - "cGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBpLm52Y2Yuc3ZjLmNsdXN0" + - "ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAgIGNvbnRyb2xsZXJOYW1l" + - "c3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoKICAgICAgc2hhcmVkOiB7" + - "bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIGdycGM6" + - "IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheX0KICAgICAgbmF0" + - "czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1lc3BhY2U6IGVudm95LWdh" + - "dGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRlczoKICAgICAgbnZjZkFw" + - "aToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgaG9zdG5h" + - "bWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG52Y3RBcGk6CiAgICAg" + - "ICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3" + - "b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6CiAgICAgICAgZW5hYmxl" + - "ZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVyRGlzY292ZXJ5OgogICAg" + - "ICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBudmNhT3BlcmF0b3I6CiAg" + - "ICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRk" + - "cmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAic2lzLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAicmV2YWwuPGdhdGV3YXkt" + - "ZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0MjIyIgog" + - "ICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21haW4+IgpgYGAKClByZXZp" + - "ZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBpdHMgY29udGV4dDoKCmBg" + - "YGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0ZW1wbGF0ZSBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgaW5zdGFsbCBcCiAgSEVM" + - "TUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNv" + - "bmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJhcmUgR2F0ZXdheSBhZGRy" + - "ZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3NlZCBhcyBgTlZDRl9DTElf" + - "Q09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNz" + - "PiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKYmFzZV9ncnBjX3VybDog" + - "IjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmFw" + - "aV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy48" + - "Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24uPGdhdGV3YXktZG9tYWlu" + - "PiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoKSG9zdCBmaWVsZHMgY29u" + - "dGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUuIGBJQ01TX1VSTGAgbWFw" + - "cyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWljbXMtdXJsYDsgYGljbXNf" + - "aG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBIb3N0IGhlYWRlci4gVGhl" + - "cmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoKUmVnaXN0ZXIgZnJvbSB0" + - "aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1dGUgcGxhbmU6CgpgYGBi" + - "YXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + - "c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBOQ0FfSUQ9PG5jYS1pZD4g" + - "XAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1odHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPiBc" + - "CiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NMSV9DT05GSUc9PHBhdGgt" + - "dG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+" + - "CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1ZXIgYW5kIEpXS1MgZnJv" + - "bSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1c3RlciBkZXBsb3ltZW50" + - "LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNvbXB1dGUtcGxhbmUgY29t" + - "bWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5IGJlIG9taXR0ZWQgb25s" + - "eQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUgdGFyZ2V0IGNsdXN0ZXIu" + - "CgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwg" + - "Zmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkKY29tcHV0ZS1wbGFuZSBy" + - "ZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + - "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgXAogIC0tY2x1" + - "c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tcmVnaW9uIDxyZWdp" + - "b24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFu" + - "YWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpVc2UgdGhlIGZ1bGwgcGVy" + - "c2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21tYW5kczoKCmBgYGJhc2gK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1jb250cm9sLXBsYW5lLXBy" + - "b2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmls" + - "ZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1yZWdpb24gPHJl" + - "Z2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88" + - "Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sCgpudmNmLWNs" + - "aSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNr" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWlu" + - "IFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVy" + - "LXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPgpgYGAKClJlZ2lz" + - "dHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBvciBjb21wdXRlLXJlYWNo" + - "YWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFuZCBwcm9iZXMgaXRzIEpX" + - "S1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGggaGFuZC1hdXRob3JlZCBI" + - "ZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMKCkNyZWF0ZSB0aGUgY29u" + - "dHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0aGUgY29udHJvbC1wbGFu" + - "ZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + - "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBgYAoKT24gdGhlIGNvbXB1" + - "dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + - "IHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2VjcmV0c2AgaW4gdGhlIGNv" + - "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3BlcmF0b3IgdXNlIGl0IGlu" + - "IGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBh" + - "ZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBsaXN0LiBGb3IgY29tbWFu" + - "ZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0" + - "cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQgR2F0ZXdheSBuYW1lIGFu" + - "ZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3" + - "aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0" + - "ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3BlcmF0b3IgLW4gbnZjYS1v" + - "cGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNv" + - "bnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "LW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3RhdHVzLmFnZW50U3RhdHVz" + - "fSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNhLXN5c3RlbQpgYGAKCiMj" + - "IFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + - "b3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBkZXN0cm95IHRoZSBjb250" + - "cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUgZWl0aGVyCm9uZS4gUHJl" + - "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + - "cHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIElkZW50aWZ5" + - "IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4gZXh0ZXJuYWwgaW5zdGFs" + - "bGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgCmFu" + - "ZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxl" + - "YXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1h" + - "dGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJvcnQgb24gbWlzc2luZyBv" + - "ciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIK" + - "dmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZp" + - "cm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3IgdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVzIGZpbGUgdW50aWwKY2xl" + - "YW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29t" + - "cHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhF" + - "TE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVj" + - "b25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAt" + - "LWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1u" + - "Y2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpSZWFkIGBjbHVzdGVySURg" + - "IGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lz" + - "dHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAuClNob3cgdGhlIGV4" + - "YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGBjbHVzdGVyIGRlbGV0" + - "ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0aW9uIGZvciBldmVyeSBj" + - "b21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBwbGFuZS4KCmBgYGJhc2gK" + - "S1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJF" + - "Q09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCb3RoIGBLVUJFQ09O" + - "RklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9uIHRoZSBjb250cm9sLXBs" + - "YW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAgdXNlcyBhbWJpZW50IGBr" + - "dWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1s" + - "YAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAgcmVhZHMgaXRzIGNsdXN0" + - "ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBzZXQgd2l0aCB0aGUgc2Ft" + - "ZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcg" + - "PGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mv" + - "bnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250" + - "cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21w" + - "dXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1jbHVzdGVyLW5hbWUgPGNv" + - "bXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KYGBgCgpTaG93" + - "IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQtY2x1c3RlciBgZG93biAt" + - "LXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJldmlld3Mgb25seSB0aGF0" + - "IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRpb25hbCBjb250cm9sLXBs" + - "YW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVnaXN0ZXJlZApjbHVzdGVy" + - "LCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBsYW5lLiBHZXQgZXhwbGlj" + - "aXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBjb250aW51aW5nLiBUaGVu" + - "IHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6CgpgYGBiYXNoCm52Y2Yt" + - "Y2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3Rh" + - "Y2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBk" + - "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxh" + - "aW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwK" + - "ICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1p" + - "Y21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIC0tcGxhbi1vbmx5" + - "IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5j" + - "YS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + - "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + - "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + - "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRy" + - "b2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4g" + - "XAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBmb3IgZWFjaCBjb21wdXRl" + - "IGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBwbGFuZSBhbmQKdW5yZWdp" + - "c3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0" + - "ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZjvFkSMAAAEjAAAFBLAwQU" + - "AAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1Z2dpbmcgUmVmZXJlbmNl" + - "CgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9uIE5WQ0Ygc2VsZi1tYW5h" + - "Z2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1hbmRzCgpgYGBiYXNoCiMg" + - "QWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0IHBvZHMgLUEgLW8gd2lk" + - "ZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1BCgojIFJlY2VudCBldmVu" + - "dHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQprdWJlY3RsIGdldCBldmVu" + - "dHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcKCiMgRGVzY3JpYmUg" + - "YSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywgdm9sdW1lcykKa3ViZWN0" + - "bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpgYGAKCiMjIEZhaWx1cmU6" + - "IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgICBS" + - "RUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpjYXNzYW5kcmEtMCAgICAw" + - "LzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBgYAoKRXZlbnRzIHNob3c6" + - "CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4uLi9pbWFnZTp0YWciOiA0" + - "MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIHdoYXQg" + - "aW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9k" + - "LW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1bGwgc2VjcmV0IGV4aXN0" + - "cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1l" + - "c3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQdWxsU2VjcmV0cwprdWJl" + - "Y3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVj" + - "LmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2VydmljZUFjY291bnQgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1uIDxuYW1lc3BhY2U+IC1v" + - "IGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBGaXhlcwoKMS4gKipTZWNy" + - "ZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBgYGBiYXNoCiAgIGt1YmVj" + - "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAgLS1kb2Nr" + - "ZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + - "XAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgICAtLW5hbWVzcGFj" + - "ZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBwb2QgZG9lc24ndCByZWZl" + - "cmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBjb25maWd1cmVk" + - "IHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMu" + - "bWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxsU2VjcmV0cyoqIChvcGVu" + - "YmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlKTogUGF0Y2gg" + - "U2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVsbC1zZWNyZXRzLm1kXShw" + - "dWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBpbiBzZWNyZXQqKjogRGVs" + - "ZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlbGV0ZSBzZWNyZXQgbnZj" + - "ci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGggY29ycmVjdCBjcmVkZW50" + - "aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChWYXVsdCBBZ2VudCkKCiMj" + - "IyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAvMWAgZm9yIG1pbnV0ZXM6" + - "CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAg" + - "UkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAgMC8yICAgICBJbml0OjAv" + - "MSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhlIGluaXQgY29udGFpbmVy" + - "IGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcgZm9yIE9wZW5CYW8uCgpg" + - "YGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lz" + - "dGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4Ka3ViZWN0bCBnZXQgam9i" + - "cyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9ncwprdWJlY3RsIGxvZ3Mg" + - "LW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbwoKIyBDaGVjayBpbml0" + - "IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBsb2dzIC1uIDxuYW1lc3Bh" + - "Y2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMjIyBGaXhlcwoKMS4gKipP" + - "cGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZlbnRzIGZvciBpbWFnZSBw" + - "dWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9wZW5CYW8gbWlncmF0aW9u" + - "IGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxtZmlsZSBzeW5jYCB3YXMg" + - "aW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoKCiAgIGBgYGJhc2gKICAg" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZl" + - "ciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAga3Vi" + - "ZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJlLWNyZWF0ZSBwdWxsIHNl" + - "Y3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVuQmFvIHBvZHMgcnVubmlu" + - "ZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0dXM6CgogICBgYGBiYXNo" + - "CiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItMCAtYyBvcGVu" + - "YmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2VudC1pbml0YCBsb2dzIGBh" + - "dXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxp" + - "ZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9uIEFLUywgYW5kIG9uIGFu" + - "eSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJvdGF0aW5nIG11bHRpLWtl" + - "eSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qgd2FzIGNvbmZpZ3VyZWQg" + - "d2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAgIChgand0X3ZhbGlkYXRp" + - "b25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUgSldLUywgc28gaXQgY2Fu" + - "bm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNlQWNjb3VudCB0b2tlbnMg" + - "dGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MKICAgYHZhdWx0LWFnZW50" + - "LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2QgbmV2ZXIgbGVhdmVzIGBJ" + - "bml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBiYXNlIGRlZmF1bHQgYG9w" + - "ZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2VgOyB0aGUKICAg" + - "bWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5IGlzIGRpc2FibGVkLiBV" + - "c2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQgcHVibGljIGtleSBmYWxs" + - "YmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdyYXRpb24gdXNlcyB0aGUg" + - "bGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gKICAgIyBJbiB5b3VyIGVu" + - "diB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBzZXQ6CiAgICMgICBvcGVu" + - "YmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3VlckRpc2NvdmVyeToKICAg" + - "IyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUgam9iIC1uIHZhdWx0LXN5" + - "c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCiAgIFRoZSBt" + - "aWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRpc2NvdmVyeSBkb2N1bWVu" + - "dCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmAgYW5kIGBGaW5h" + - "bCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVuaWQvdjEvandrc2AsIGFu" + - "ZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2ggUmVhZHkgd2l0aGluIH4x" + - "IG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lEQyBpc3N1ZXIgZW5hYmxl" + - "ZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQKICAgdGhpcyBiZWNhdXNl" + - "IHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0aGUgaXNzdWVyJ3Mgcm90" + - "YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVkIG9uIENhc3NhbmRyYQoK" + - "IyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVT" + - "VEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxlZCAgMyAgICAgICAgIDEw" + - "bQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gY2Fz" + - "c2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0IFN0YXRlIgpgYGAKCiMj" + - "IyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHZhbHVlcy4g" + - "U2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVzLm1kKS4KCmBgYHlhbWwK" + - "LSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoKICAgICAgICBjcHU6ICI4" + - "IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogIjIi" + - "CiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIGlzIG5v" + - "dCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIgY2hhcnQuIFVzZSBleHBs" + - "aWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sgaW4gUGVuZGluZwoKIyMj" + - "IFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgUkVTVEFS" + - "VFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAwICAgICAgICAgIDEwbQpg" + - "YGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMgZm9yIHNjaGVkdWxpbmcg" + - "ZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgoK" + - "IyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWlsYWJsZTogMTIgbm9kZShz" + - "KSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + - "dmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVyc2lzdGVudHZvbHVtZWNs" + - "YWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBzZWxlY3RvciBtaXNtYXRj" + - "aCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQgZmlsZQoKICAgYGBgYmFz" + - "aAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3JlcCBudmNmCiAgIGBgYAoK" + - "Mi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9yYWdlIGNsYXNzIGV4aXN0" + - "cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MKICAgYGBgCgozLiAqKklu" + - "c3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0eQoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVwIC1BNSAiQWxsb2NhdGVk" + - "IHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVhc2UgaW4gRmFpbGVkIFN0" + - "YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMgU2hvd3MgcmVsZWFzZSB3" + - "aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZpbGUgc3luY2AgYXBwZWFy" + - "cyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdyYXRpb25zIHNraXBwZWQp" + - "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJlbGVhc2UtbmFtZT4gLW4g" + - "PG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhlIGZhaWxlZCByZWxlYXNl" + - "IGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ryb3kKIyBJZiBuYW1lc3Bh" + - "Y2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIDxuYW1lc3BhY2U+Cmt1" + - "YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNyZWF0ZSBwdWxsIHNlY3Jl" + - "dCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT08" + - "cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9vdHN0cmFwIEpvYiBGYWls" + - "ZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5jdGlvbnMgY2FuJ3QgYmUg" + - "Y3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJlLgoKIyMjIERpYWdub3Np" + - "cwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1YmVjdGwgZ2V0IGpvYnMg" + - "LW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRlciB+NSBtaW51dGVzKQpr" + - "dWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2YKCiMgQ2hl" + - "Y2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFt" + - "ZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVzZXMKCjEuICoqV3Jvbmcg" + - "YmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNyZXRzLzxlbnY+LXNlY3Jl" + - "dHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFzZTY0LWVuY29kZWQsIG5v" + - "dCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5IHlvdXIgZW5jb2RlZCBj" + - "cmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBiYXNlNjQgLWQKICAgIyBT" + - "aG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBgYGAKCjIuICoqUmVnaXN0" + - "cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdpc3RyeSBzcGVjaWZpZWQg" + - "aW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AKCiMjIyBGaXgKCkZpeCBj" + - "cmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBzZXJ2aWNlcyB3aXRob3V0" + - "IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRlc3Ryb3kKa3ViZWN0bCBk" + - "ZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWlnbm9yZS1ub3QtZm91bmQK" + - "a3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNl" + - "IGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgZXNzICYmIGt1YmVjdGwg" + - "Y3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXRzIGlmIG5lZWRlZApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZp" + - "Y2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1Y2sgKEZpbmFsaXplcnMp" + - "CgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5ncy4gTmFtZXNwYWNlcwpz" + - "dHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdldCBucwojIG52Y2Etb3Bl" + - "cmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQgICAgIFRlcm1pbmF0aW5n" + - "ICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0IHRoZSBjb21wdXRlIGNv" + - "bnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFyZG93biBoYXMgZmFpbGVk" + - "LiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMgYW5k" + - "CmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApleHBvcnQgQ09NUFVURV9D" + - "T05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBmaW5hbGl6ZXJzIGZyb20g" + - "TlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + - "IiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5pdGVtc1tdIHwgLm1ldGFk" + - "YXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8IFwKICB4YXJncyAtSXt9" + - "IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9IiR7MiMjKi99Ijsga3Vi" + - "ZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2VuZCAiJG5hbWUiIC1uICIk" + - "bnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5hbGl6ZXJzXCI6W119fSIn" + - "IF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2Vz" + - "IGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52Y2Etb3BlcmF0b3IgbnZj" + - "Zi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhUIiBnZXQg" + - "bmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAgICBqcSAnLnNwZWMuZmlu" + - "YWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVURV9DT05URVhU" + - "IiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNlcy8kbnMvZmluYWxpemUi" + - "IC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5WQ0EgT3BlcmF0b3IgTWlz" + - "c2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29tcHV0ZS1wbGFuZSBpbnN0" + - "YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1lbnQgZXhpc3RzLCBvcgpp" + - "dCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQgbnZjYS1vcGVyYXRvciBc" + - "CiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERpYWdub3NpcyBhbmQgRml4" + - "ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlvbiB1c2VkIHRoZSBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4gUmUtcnVuIG9ubHkgdGhh" + - "dCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3RlcHMKZnJvbSBbU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1k" + - "KS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBvdGhlci4KCklmIGluc3Rh" + - "bGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNwZWN0IHRoZSBjb21wdXRl" + - "IGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yCmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxvZ3MgZGVwbG95bWVudC9u" + - "dmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0yMDAKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNrZW5kIC1uIG52Y2Etb3Bl" + - "cmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywgdmVyaWZ5IHRoYXQgdGhl" + - "IHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRoZSBjaGFydCBhbmQgb3Bl" + - "cmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1c2UgYQpicm9hZGVyIG1h" + - "bnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRdKHB1bGwtc2VjcmV0cy5t" + - "ZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRld2F5IEVuZHBvaW50IENo" + - "YW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUgY29uZmlndXJlZCByb3V0" + - "ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9hZCBiYWxhbmNlciBpcyBy" + - "ZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2ludC4KCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + - "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + - "IiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIKY3VybCAtSCAiSG9zdDog" + - "YXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRoIgoKIyBDaGVjayBkaXJl" + - "Y3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1lbnQKZ3JlcCBudmNmTmF0" + - "c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+" + - "LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5hdHMnIFwKICBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApgYGAKCiMj" + - "IyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBIb3N0IG92" + - "ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVjdCBjbGllbnQgZGVzdGlu" + - "YXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkgZGlyZWN0CkdhdGV3YXkt" + - "YWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24g" + - "dGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4YW1wbGUgNF0oLi4vZXhh" + - "bXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXktZW5kcG9pbnQtY2hhbmdl" + - "KS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5nCgpRdWljayByZWZlcmVu" + - "Y2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3BhY2U6Cgp8IE5hbWVzcGFj" + - "ZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18CnwgbmF0cy1zeXN0ZW0gfCBu" + - "YXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2YXVsdC1zeXN0ZW0gfCBv" + - "cGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1zZXJ2aWNlLCBncnBjLXBy" + - "b3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJvdXRlciwgbGxtLWFwaS1n" + - "YXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1ZXItcHJveHkgfAp8IGVz" + - "cyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBlbnZv" + - "eSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1nYXRld2F5IHwgZ2F0ZXdh" + - "eSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUgU3RydWN0dXJlIFJlZmVy" + - "ZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "ay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsICAj" + - "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAzLW9ic2VydmFiaWxpdHku" + - "eWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25hbCkKfC0tIGVudmlyb25t" + - "ZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1" + - "ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAg" + - "ICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMvCnwgICBgLS0gPGVudi1u" + - "YW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMgKHJlZ2lzdHJ5IGNyZWRz" + - "LCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRl" + - "bXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpudmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50cwp8ICAgYC0tIDAyLW52" + - "Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNoYXJ0IGFuZCBudmNhIGNv" + - "bmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAg" + - "ICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVu" + - "di1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKYC0t" + - "IGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVtcGxhdGUgdGhhdCBjb25z" + - "dHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3MgaGF2ZSBzZXBhcmF0ZSBl" + - "bnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxtZmlsZQp2YWx1ZXMgZmxv" + - "dyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkgcHJvZmlsZSBmbG93IGlu" + - "c3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lIHByb2ZpbGUgYXMgaXRz" + - "IGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMuIFNlZSBbU3BsaXQgQ29t" + - "cHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4K" + - "CiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAwMS1kZXBlbmRlbmNpZXMu" + - "eWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTm90ZXMgfAp8LS0t" + - "LS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRzIHwgaGVsbS1udmNmLW5h" + - "dHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1zZXJ2ZXIgfCBoZWxtLW52" + - "Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRzIG1hbmFnZW1lbnQsIGRl" + - "cGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNhc3NhbmRyYSB8IGNhc3Nh" + - "bmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVuZGVuY3lgIHRlbXBsYXRl" + - "IGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVuY2llc2AgbGFiZWwuCgoj" + - "IyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBM" + - "YWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IGFwaS1rZXlz" + - "IHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNlcyB8Cnwgc2lzIHwgaGVs" + - "bS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxtLW52Y2YtYXBpIHwgbnZj" + - "ZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxtLW52Y2YtaW52b2NhdGlv" + - "bi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5IHwgaGVsbS1udmNmLWdy" + - "cGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBoZWxtLW52Y2YtZXNzLWFw" + - "aSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhlbG0tbnZjZi1ub3Rhcnkt" + - "c2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxtLXJldmFsIHwgbnZjZiB8" + - "IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hlbG0tbnZjZi1sbG0tcmVx" + - "dWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGktZ2F0ZXdheSB8IG52Y2Yv" + - "aGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgYWRtaW4taXNz" + - "dWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkgfCBhcGkta2V5cyB8IChu" + - "byByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2YtZ2F0ZXdheS1yb3V0ZXMg" + - "fCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBzZXJ2aWNlcyB1c2UgYGlu" + - "aGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNlcyB1c2UgT0NJIGNoYXJ0" + - "cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxvbmUgYHZhbHVlczogWy4u" + - "L2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0ZWQgb24gYGFkZG9ucy5s" + - "bG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5ncmVzc2AgaGF2ZSBzdGFu" + - "ZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJpbGl0eS55YW1sLmdvdG1w" + - "bAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0t" + - "LS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5IHJlbGVhc2VzKSB8ICh2" + - "YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwKCkdhdGVkIG9uIG9ic2Vy" + - "dmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50IGZpbGUuIFNraXBwZWQg" + - "aWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMjIGA8PDogKmRlcGVuZGVu" + - "Y3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYC4g" + - "TWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUgcmVsZWFzZS4KCioqR290" + - "Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBhZGQgYSBgdmFsdWVzOmAg" + - "a2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRlbXBsYXRlJ3MgYHZhbHVl" + - "czpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxsIHRlbXBsYXRlIHZhbHVl" + - "czoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0" + - "aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5" + - "YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVuZGVuY3k6ICZkZXBlbmRl" + - "bmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2UuTmFtZSB9fQogICAgdmFs" + - "dWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAtIC4uLzxwcml2YXRlLXZh" + - "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCgojIFdo" + - "ZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFtZTogY2Fzc2FuZHJhCiAg" + - "PDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNdXN0IHJlLWluY2x1" + - "ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + - "IiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAgLSBjYXNzYW5kcmE6ICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg" + - "WW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAg" + - "ICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChIZWxtZmlsZSBuYXRpdmUp" + - "CgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUncyBuYXRpdmUgaW5oZXJp" + - "dGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZlcnNpb246IDEuNi4wCiAg" + - "bmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6IHNlcnZpY2UKYGBgCgpX" + - "aGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVhc2UsIHlvdSBhbHNvIG5l" + - "ZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmlsZXMgc2luY2UgYHZhbHVl" + - "c2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVlcyBQcmVjZWRlbmNlCgpG" + - "cm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmlyb25tZW50cy9iYXNlLnlh" + - "bWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25tZW50cwoyLiBgZW52aXJv" + - "bm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKMy4gYGdsb2Jh" + - "bC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAoY29uc3RydWN0cyBjaGFy" + - "dC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+LzxlbnY+LXNlY3JldHMu" + - "eWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVlczpgIGJsb2NrcyBvbiBy" + - "ZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xvYmFsLnlhbWwuZ290bXBs" + - "IFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFkcyBmcm9tIGAuVmFsdWVz" + - "YCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZQU1MKSBhbmQgY29uc3Ry" + - "dWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2VzIHRocm91Z2gga2V5cyBp" + - "dCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgotIGBjYXNzYW5kcmEucmVw" + - "bGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5LCByZXBvc2l0b3J5KQot" + - "IGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5kcmEucGVyc2lzdGVuY2Uu" + - "c2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9iYWwubm9kZVNlbGVjdG9y" + - "cy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3RvcmFnZUNsYXNzYAoKIyMj" + - "IE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMucmVsb2FkZXIuaW1hZ2Uu" + - "KmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLmNvbmZpZy5qZXRz" + - "dHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBuYXRzLnBvZFRlbXBsYXRl" + - "Lm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMjIyBPcGVuQmFvCgotIGBv" + - "cGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1pZ3JhdGlvbnMuZW52YAot" + - "IGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmltYWdlLipgCi0g" + - "YG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxlY3RvcnMgKGlmIGVuYWJs" + - "ZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNlcnZpY2U+LmltYWdlLipg" + - "IChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVTZWxlY3RvcmAgKGlmIGVu" + - "YWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkgc2V0dGluZ3MpCgojIyMg" + - "TExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFkZG9uIGJlZm9yZSBjcmVh" + - "dGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25UeXBlOiAiTExNImAuIFRo" + - "ZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApgbGxtLWFwaS1nYXRld2F5" + - "YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0ZSB3aGVuIEdhdGV3YXkg" + - "QVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29ya2VycyB0byB1c2UgdGhl" + - "IExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBhZGRvbnMubGxtLmVuYWJs" + - "ZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRgIHBhdGguCgpGb3IgYSBz" + - "aW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24g" + - "dG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlpbmcgdGhlIHN0YWNrOgoK" + - "YGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQogICAgZ2F0ZXdheToKICAg" + - "ICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6" + - "CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRlcjoKICAgICAgcmVwbGlj" + - "YUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1vbml0b3I6CiAgICAgICAg" + - "ICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25maWc6IHwKICAgIGNsdXN0" + - "ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTogVW5yZXN0cmljdGVkCiAg" + - "ICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRydWUKYGBgCgpVc2UgYHJl" + - "cGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5vZGUgdGVzdCBjbHVzdGVy" + - "cy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBwbGFpbnRleHQgZ1JQQyBv" + - "biBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVmYXVsdHMgdGhlIExMTSBB" + - "UEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0LiBTZXQKYGFkZG9ucy5s" + - "bG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkgd2l0aCBhIFRMUy1jYXBh" + - "YmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQgaXMgc2VwYXJhdGUuIEZv" + - "ciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSByZXF1aXJlZCByZXBsaWNh" + - "IGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4gVGhlCmB3b3JrbG9hZC5z" + - "dGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWludGV4dCB3b3JrZXIgdHJh" + - "bnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uCgpUaGUgcmVxdWVzdCBy" + - "b3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJh" + - "dGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhvZHMgd2l0aCB0aGUKW0xM" + - "TSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9naXRodWIuY29tL05WSURJ" + - "QS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVxdWVzdC1yb3V0ZXItbG9h" + - "ZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1hZ2UgaXMgbWlycm9yZWQg" + - "b3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5IGFuZApyZXBvc2l0b3J5" + - "LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBleHBsaWNpdGx5OgoKYGBg" + - "eWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToKICAgICAgbnZjZjoKICAg" + - "ICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50LWltYWdlOiA8cmVnaXN0" + - "cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVnYWN5IGBhcGkuZW52Lk5W" + - "Q0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGggaXMgZGVwcmVjYXRlZC4K" + - "VGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmlsaXR5IHdpbmRvdywgYnV0" + - "IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNvbmZpZyBwYXRoLiBDb25m" + - "bGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5kIGFwcGx5IHRoZSB1cGRh" + - "dGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVzaCBldmVyeQpyZWdpc3Rl" + - "cmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1c2VkIGZvciBpdHMgaW5z" + - "dGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnYDoKCmBg" + - "YGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBjb21wdXRlLXBsYW5lIGlu" + - "c3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29t" + - "cHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxlIGluc3RhbGxhdGlvbiBt" + - "dXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0YWxsYXRpb24KbXVzdCBy" + - "ZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlvbiB2ZXJzaW9ucyByZXRh" + - "aW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1cmVkIHdoZW4gdGhlIHZl" + - "cnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBsb3lpbmcgdGhlIHNhbWUK" + - "dmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4gQWZ0ZXIgdGhlIGNvbnRy" + - "b2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBmdW5jdGlvbiB2ZXJzaW9u" + - "LiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29ya2VyIHNpZGVjYXI6Cgpg" + - "YGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGktZ2F0ZXdheQprdWJlY3Rs" + - "IGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRlcgprdWJlY3RsIGdldCBw" + - "b2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxtLXJlcXVlc3Qtcm91dGVy" + - "JwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJlY3RsIC1uIG52Y2YtYmFj" + - "a2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0aD0ne3JhbmdlIC5zcGVj" + - "LmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3NbKl19ey59eyJcXG4ifXtl" + - "bmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRoZSBgbGxtLXdvcmtlcmAg" + - "YXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3IgbG9hZC1iYWxhbmNlciBz" + - "Y2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3RhcmdhdGUgY29uZmlndXJh" + - "dGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9zcmMv" + - "bGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2VyLWNvbmZpZ3VyYXRpb24u" + - "bWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lmaWMgcmVsZWFzZXMgb3Ig" + - "Z3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIHN5" + - "bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1p" + - "bmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBuYW1lCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHkgc3lu" + - "YwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1yZXF1ZXN0" + - "LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9" + - "bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5IHJ1bikKSEVMTUZJTEVf" + - "RU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUKCiMg" + - "RGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBgYWRtaW4taXNzdWVyLXBy" + - "b3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0tc2VsZWN0b3IgbmFtZT1h" + - "ZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQACAAAAAAAIQAAAAAAAAAA" + - "AAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9u" + - "dmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpOVkNGIFVJIGlzIGFuIG9w" + - "dGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBVSS4gSXQgaXMgZGlzYWJs" + - "ZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + - "bmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFibGUKCkVuYWJsZSBOVkNG" + - "IFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkgYW5kIHlvdXIgZXh0cmFj" + - "dGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0aGUgcGFja2FnZSBkb2Vz" + - "IG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNmVWlgIHJvdXRlIHZhbHVl" + - "cywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcwp0" + - "aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBlbnZpcm9ubWVudHMvPGVu" + - "di1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxsIHNlY3JldAoKQ3JlYXRl" + - "IHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBvbmx5IGlmIHB1bGxpbmcg" + - "ZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFj" + - "ZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQoK" + - "IyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNy" + - "LmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVjdGwgY3JlYXRlIHNlY3Jl" + - "dCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8g" + - "XAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0tZG9ja2VyLXBhc3N3b3Jk" + - "PSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwKICAtLWRyeS1ydW49Y2xp" + - "ZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUgZGVmYXVsdCByb3V0ZSBo" + - "b3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQgaXMKYG52Y2YtdWkubnZj" + - "Zi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0ZQoKQWZ0ZXIgY29uZmly" + - "bWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJlbGVhc2UsIHByZXZpZXcg" + - "YW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgdGVtcGxhdGUKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9" + - "aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJvdXRlIG9ubHkgd2hlbiB0" + - "aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgZGVw" + - "bG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAtQSB8IGdyZXAgLWkgbnZj" + - "Zi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAiaHR0cDovLzxnYXRld2F5" + - "LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5WQ0YgVUkgYWRtaW4gcGFu" + - "ZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4cG9zZSBpdCB0byB0aGUK" + - "cHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVzdGVkIG5ldHdvcmssIFZQ" + - "Tiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2YgdGhlIGBudmNmLXVpYCBy" + - "b3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPgAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1k" + - "VVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgojIyBPdmVydmlldwoKV2hl" + - "biBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChmb3IgZXhhbXBs" + - "ZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdlUHVsbFNlY3JldHNgIG9u" + - "IGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFuZSBjcmVkZW50aWFscyBh" + - "cmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0cy4gRG8gbm90CnVzZSBv" + - "bmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQgY29udHJvbC1wbGFuZSBh" + - "cHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQgaW50bwpjb250cm9sLXBs" + - "YW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0" + - "byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVjb21tZW5kZWQpCgojIyMg" + - "MS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQga3l2ZXJubyBodHRwczov" + - "L2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRhdGUKaGVsbSBpbnN0YWxs" + - "IGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVhdGUtbmFtZXNwYWNlIFwK" + - "ICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PgpgYGAKCiMjIyAyLiBDcmVh" + - "dGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + + "bnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1" + + "cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCBy" + + "b3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1v" + + "Zi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5r" + + "ZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Ig" + + "b3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVy" + + "LCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVu" + + "ZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50" + + "Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUg" + + "c2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQg" + + "d29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUg" + + "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxh" + + "dGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhl" + + "IExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5h" + + "YmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhl" + + "IHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + + "dGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRo" + + "ZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVy" + + "IG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdh" + + "dGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGlu" + + "Y2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRl" + + "ZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0" + + "cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29u" + + "dHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + + "YW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRl" + + "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + + "IGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwg" + + "YW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAg" + + "IF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9u" + + "IjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5n" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxz" + + "ZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCBy" + + "ZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tp" + + "bGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90" + + "IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0" + + "ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + + "aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBo" + + "ZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAg" + + "IlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFu" + + "Y2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0K" + + "ICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFt" + + "cGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3Mu" + + "CgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0" + + "IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5" + + "cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3Rh" + + "cnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhl" + + "bG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGlu" + + "ZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3Vy" + + "Y2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBB" + + "ZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCklu" + + "IHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNl" + + "Y3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0g" + + "bmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5l" + + "bmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + + "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFs" + + "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0g" + + "Y2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + + "ICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3Rz" + + "OgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMj" + + "IyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0" + + "ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAg" + + "IyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRg" + + "IChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5k" + + "cmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0K" + + "CiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxs" + + "IFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBm" + + "cm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5n" + + "IGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBm" + + "b3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06" + + "CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBu" + + "dmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6" + + "IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBo" + + "ZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRv" + + "YXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8g" + + "LXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0" + + "ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + @@ -4119,124 +3292,951 @@ const skillDataZipBase64 = "" + "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCkZvciBub24t" + - "TkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAsIGAtLWRvY2tlci11c2Vy" + - "bmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFwcGx5IEt5dmVybm8gQ2x1" + - "c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlvL3YxCmtpbmQ6IENsdXN0" + - "ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwpzcGVj" + - "OgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6IGFkZC1pbWFnZXB1bGxz" + - "ZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFueToKICAgICAgICAtIHJl" + - "c291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0gUG9kCiAgICAgICAgICAg" + - "IG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAgICAgIC0gImFwaS1rZXlz" + - "IgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIKICAgICAgICAgICAgLSAi" + - "bmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0ZW0iCiAgICAgICAgICAg" + - "IC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5hZ2VyIgogICAgICBtdXRh" + - "dGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAgIG1ldGFkYXRhOgogICAg" + - "ICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52aWRpYS5jb20vaW1hZ2Vw" + - "dWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBzcGVjOgogICAgICAgICAg" + - "ICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpg" + - "YGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IFwK" + - "ICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApgYGAKCiMjIyA0LiBJbnN0" + - "YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBzZWxlY3RlZCBjb250cm9s" + - "LXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25d" + - "KGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJvbC1wbGFuZSBoZWxtZmls" + - "ZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0cyB0aGUgcHVsbApzZWNy" + - "ZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0ZS1QbGFuZSBTZWNyZXQK" + - "CkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIG9uIHRoZSBjb21wdXRl" + - "IGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFw" + - "cGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjYS1vcGVyYXRvciBcCiAg" + - "LS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2UgaXQgaW4gdGhlIGNvbXB1" + - "dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFsOgogIGltYWdlUHVsbFNl" + - "Y3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hhcnQgYW5kIG9wZXJhdG9y" + - "IHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciB0aGUKc2Vj" + - "cmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9hZGVyIG1hbnVhbCBjb21w" + - "dXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0" + - "aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRoZQpzZWxlY3RlZCBpbnN0" + - "YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVjayB0aGF0IGEgY29udHJv" + - "bC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IFwK" + - "ICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIEV4cGVjdGVkOiBbeyJu" + - "YW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBhbm5vdGF0aW9uCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEuYW5ub3RhdGlvbnMubnZj" + - "ZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5fScKIyBFeHBlY3RlZDog" + - "a3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwKICAtLXNvcnQtYnk9Jy5s" + - "YXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkg" + - "cHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRoZSBjaGFydC9vcGVyYXRv" + - "ciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAogIC1uIG52Y2Etc3lzdGVt" + - "CmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQKCi0gKipBV1MgRUNSIHdp" + - "dGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBBbWF6b25FQzJDb250YWlu" + - "ZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVzIGNhbiBwdWxsIGZyb20g" + - "RUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyByZWdpc3RyaWVzKio6IE5v" + - "IHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXJz" + - "Kio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGggbWFuYWdlZCBpZGVudGl0" + - "eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3RpbmcKCiMjIyBQb2RzIHN0" + - "aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9saWN5CgpUaGUgS3l2ZXJu" + - "byBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVyKiogdGhlIHBvbGljeSBp" + - "cyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJlY3JlYXRpb246CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVsZXRlIHBvZHMgLW4gPG5h" + - "bWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24gY29udHJvbGxlciBub3Qg" + - "cnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + - "PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJlIFJ1bm5pbmcKYGBgCgoj" + - "IyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFkZC1pbWFnZXB1bGxzZWNy" + - "ZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jvbmcgc2VjcmV0IG5hbWUK" + - "ClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlmeSB0aGUgc2VjcmV0IGV4" + - "aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPHRh" + - "cmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KYGBgClBL" + - "BwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEAB316SkoQAABKEAAAEgAJAAAAAAAAAAAAAAAA" + - "AAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAK0TcdvYZAAA2GQA" + - "ACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAAAAAAAAAAxXUAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5lcy5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQCnzznD/hQAAP4UAAA0AAkAAAAAAAAAAAAAAFmHAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQFAAEAps4SUEsBAhQAFAAI" + - "AAAAAAAhADGLmU/ZGAAA2RgAADcACQAAAAAAAAAAAAAAwpwAAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAAJtgAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAGNAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xp" + - "L3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAcpIs" + - "Jr4OAAC+DgAAPQAJAAAAAAAAAAAAAACe9QAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJv" + - "bXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQC0" + - "Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAANAEAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9w" + - "cm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAKnB" + - "JvcuCQAALgkAADkACQAAAAAAAAAAAAAAly4BAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3By" + - "b21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDah2NW" + - "5CEAAOQhAAAuAAkAAAAAAAAAAAAAADU4AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9t" + - "cHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANF1wo8WJgAAFiYAADAACQAA" + - "AAAAAAAAAAAAfloBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5k" + - "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDJ+UVvaBAAAGgQAAAyAAkAAAAAAAAAAAAAAPuA" + - "AQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQBzOQ7Hz10AAM9dAAAtAAkAAAAAAAAAAAAAAMyRAQBkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAGriz82EhAABhIQAANwAJAAAAAAAAAAAAAAD/7wEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAAM4RAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBHVWpWSlYAAEpWAAA0" + - "AAkAAAAAAAAAAAAAAHp0AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9ldmFs" + - "cy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/KAAAfygAAC8ACQAAAAAA" + - "AAAAAAAAL8sCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAAAAAAAAAAAAAAFPQCAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvY29tcHV0ZS1wbGFu" + - "ZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtXpwO7UwAAC1MAAAOwAJ" + - "AAAAAAAAAAAAAACpJAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAExHsjQoqAAAKKgAARAAJ" + - "AAAAAAAAAAAAAADQVQMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJl" + - "bmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAOPknr7kH" + - "AAC5BwAAPwAJAAAAAAAAAAAAAABVgAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAEtC" + - "NagAFgAAABYAAD4ACQAAAAAAAAAAAAAAhIgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SUEsFBgAAAAAXABcArwkA" + - "APmeAwAAAA==" + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVw" + + "IDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNo" + + "YXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFt" + + "cGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + + "bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + + "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + + "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + + "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + + "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1h" + + "Z2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUg" + + "a2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMu" + + "IEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBp" + + "biBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBu" + + "dmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + + "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBT" + + "dGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJl" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBh" + + "dGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFm" + + "dGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBi" + + "ZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3Ig" + + "bnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5v" + + "LWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3Vu" + + "dCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1l" + + "IjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpW" + + "ZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + + "JyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdl" + + "IiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQg" + + "UmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xl" + + "YW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpg" + + "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBc" + + "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1" + + "dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4" + + "dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFp" + + "bHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lz" + + "dGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJv" + + "bQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJt" + + "YXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAt" + + "LWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVy" + + "LWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAt" + + "LWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1" + + "dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sK" + + "ClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNw" + + "YWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZv" + + "cmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRl" + + "cm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNl" + + "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFu" + + "IGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFn" + + "ZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0" + + "YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBw" + + "bGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5j" + + "ZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVs" + + "ZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwK" + + "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9F" + + "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpg" + + "YGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1l" + + "c3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5" + + "IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + + "IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdy" + + "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJv" + + "dGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3Rh" + + "bGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNj" + + "bGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtT" + + "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0" + + "ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkg" + + "b3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50" + + "LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERS" + + "PSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + + "XAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0" + + "dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMj" + + "IFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9i" + + "YWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdl" + + "ZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1" + + "Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FU" + + "RVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVw" + + "IGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAg" + + "d2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQg" + + "Y29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRo" + + "ZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VV" + + "UkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVS" + + "TCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQu" + + "IFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpo" + + "YW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + + "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBm" + + "aWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29u" + + "dGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBh" + + "cGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAg" + + "LW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + + "LWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + + "cGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRv" + + "ciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMu" + + "YWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUg" + + "NTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBp" + + "dGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0" + + "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVz" + + "dCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBT" + + "ZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1n" + + "cm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8Cnwg" + + "YHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9u" + + "LXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0" + + "aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVu" + + "YWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2Fn" + + "ZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXku" + + "ZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + + "YXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + + "YCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVx" + + "dWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0" + + "ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVk" + + "PXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0" + + "ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + + "ZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAg" + + "fCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhh" + + "dCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1n" + + "cm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVh" + + "c2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNz" + + "dWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0" + + "IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/" + + "KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + + "AKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5l" + + "IGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRy" + + "b2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNs" + + "dXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBs" + + "aWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291" + + "cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwK" + + "fC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFu" + + "ZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1j" + + "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + + "IHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBs" + + "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cg" + + "YW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90" + + "IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9u" + + "b3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0" + + "cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRl" + + "IHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQg" + + "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBG" + + "bG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoK" + + "LSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZv" + + "ciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQg" + + "c2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwg" + + "c2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1" + + "ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + + "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + + "bXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRl" + + "d2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVz" + + "IHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxl" + + "cyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUg" + + "ZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApg" + + "PGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFp" + + "bj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0" + + "aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3Jr" + + "ZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVz" + + "cz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFp" + + "bj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5" + + "LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxn" + + "YXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + + "L2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6" + + "CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdh" + + "eXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1n" + + "YXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95" + + "LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAg" + + "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICBy" + + "b3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQog" + + "ICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAg" + + "ICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBu" + + "YXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlz" + + "c3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + + "CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAi" + + "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + + "cmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlk" + + "ZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3" + + "YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXkt" + + "ZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWlu" + + "c3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2gg" + + "YSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBw" + + "YXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2Vy" + + "dmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5" + + "c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0" + + "aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+Igpg" + + "YGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2No" + + "ZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBg" + + "LS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3" + + "YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxh" + + "Zy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBj" + + "b21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + + "LXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBc" + + "CiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19V" + + "Ukw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUt" + + "cGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZD" + + "Rl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + + "LW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0" + + "ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMg" + + "aXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRp" + + "LWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90" + + "aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0" + + "IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkg" + + "dGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29u" + + "dHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVk" + + "IGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZp" + + "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNv" + + "bnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRl" + + "LXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250" + + "cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+" + + "IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBg" + + "YAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUg" + + "Y29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + + "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + + "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + + "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAog" + + "IC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + + "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + + "YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + + "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + + "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVl" + + "cyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1" + + "dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + + "ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0" + + "ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4" + + "dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3" + + "aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNy" + + "ZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMg" + + "b24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBu" + + "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + + "cgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + + "YG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVs" + + "bFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5k" + + "IG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZj" + + "YS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxh" + + "bmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNy" + + "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxp" + + "Y2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1u" + + "IGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + + "b250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNh" + + "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7" + + "LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4g" + + "bnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVy" + + "eSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBj" + + "YW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVm" + + "b3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkg" + + "ZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + + "bSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9y" + + "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + + "LmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + + "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxl" + + "ZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + + "CmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVz" + + "cGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0" + + "dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoK" + + "Rm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZh" + + "bHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxj" + + "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + + "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBj" + + "bHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0" + + "aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBg" + + "YAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + + "LnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJl" + + "Zm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lz" + + "dHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRy" + + "b2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4g" + + "XAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + + "CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJl" + + "ZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVh" + + "bnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtl" + + "ZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRv" + + "d25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRp" + + "b24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNo" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAog" + + "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlk" + + "IDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5h" + + "bWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0" + + "IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29u" + + "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0" + + "IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJv" + + "bCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZv" + + "cmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJl" + + "Zml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + + "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + + "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + + "CiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + + "c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + + "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + + "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + + "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93" + + "bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1" + + "dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29u" + + "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBL" + + "BwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMg" + + "RGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNv" + + "bW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBD" + + "b21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3Rs" + + "IGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJl" + + "Y3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlz" + + "dCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJl" + + "cykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1l" + + "c3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlv" + + "bnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + + "ZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRl" + + "eHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBB" + + "R0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1" + + "bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5p" + + "by8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + + "YGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBp" + + "ZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQg" + + "bnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGlt" + + "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + + "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNl" + + "cnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1l" + + "PiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgoj" + + "IyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoK" + + "ICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + + "Y3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2Vy" + + "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBi" + + "dXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxs" + + "U2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0" + + "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdl" + + "UHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rh" + + "cnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUg" + + "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlh" + + "bHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0" + + "bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3" + + "aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVj" + + "ayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5p" + + "dDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAg" + + "UkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2" + + "bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + + "ClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0" + + "aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdl" + + "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2Ig" + + "cmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9k" + + "IGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9w" + + "ZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVj" + + "dGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBg" + + "CgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWly" + + "IGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4g" + + "KipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBg" + + "aGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5i" + + "YW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2Ug" + + "dmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAg" + + "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + + "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoq" + + "T3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwg" + + "c3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + + "YW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQt" + + "YWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtl" + + "eSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1v" + + "biBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMg" + + "YSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0" + + "aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtl" + + "eQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBs" + + "aXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2Vy" + + "dmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2Vydmlj" + + "ZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUg" + + "cG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0" + + "aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + + "ZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2Nv" + + "dmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3Vu" + + "dGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUg" + + "bWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBi" + + "YXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "KSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBp" + + "c3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVs" + + "ZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + + "bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZl" + + "ZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZp" + + "Z3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4v" + + "b3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJl" + + "YWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVy" + + "IE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBu" + + "ZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0" + + "Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtp" + + "bGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJF" + + "QURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01L" + + "aWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwg" + + "ZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAi" + + "TGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZp" + + "YSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFt" + + "cGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1p" + + "dHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0" + + "czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJl" + + "c291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFw" + + "cGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0" + + "dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZ" + + "ICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5n" + + "ICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZl" + + "bnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1l" + + "c3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + + "dmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMg" + + "LSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0g" + + "InBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5v" + + "ZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25t" + + "ZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8" + + "IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sg" + + "c3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNs" + + "YXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2Fw" + + "YWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwg" + + "Z3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBS" + + "ZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAt" + + "QQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhl" + + "bG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAo" + + "bWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5" + + "IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95" + + "IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFz" + + "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBk" + + "ZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVz" + + "cGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBS" + + "ZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50" + + "IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQg" + + "ZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFp" + + "bHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1" + + "cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMg" + + "YWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + + "dHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFw" + + "cC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24g" + + "Q2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBg" + + "c2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlg" + + "IGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZl" + + "cmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcn" + + "IHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgK" + + "ICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUg" + + "cmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlh" + + "bHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292" + + "ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVM" + + "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + + "cyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "LS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVj" + + "dGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + + "YWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwg" + + "c2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVw" + + "IFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAg" + + "aGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0" + + "bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNr" + + "ZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdh" + + "aW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUK" + + "dGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBj" + + "dXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJh" + + "c2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1v" + + "dmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4" + + "dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpx" + + "ICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScg" + + "LXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBu" + + "YW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJh" + + "Y2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wi" + + "ZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxl" + + "dGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBp" + + "biBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENP" + + "TVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwg" + + "XAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4" + + "dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVz" + + "cGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJl" + + "OiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVy" + + "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBs" + + "b3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3lt" + + "ZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMj" + + "IyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxs" + + "YXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZs" + + "b3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9u" + + "IHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0" + + "aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwg" + + "aW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAg" + + "LW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRh" + + "aWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNm" + + "YmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVy" + + "ZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3Jg" + + "LiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBu" + + "b3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRz" + + "Lm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTog" + + "R2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2gg" + + "dGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRz" + + "IGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5k" + + "cG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3" + + "YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1sw" + + "XS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + + "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + + "YWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBs" + + "b3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2Vydmlj" + + "ZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRz" + + "LzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + + "dG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBk" + + "aXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBv" + + "bmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlv" + + "biBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2Vl" + + "CltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRl" + + "d2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFw" + + "cGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFt" + + "ZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0t" + + "fAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8" + + "CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRp" + + "b24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVz" + + "dC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4t" + + "aXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdh" + + "dGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52" + + "b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAA" + + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1m" + + "aWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1j" + + "b3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAt" + + "LSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0" + + "aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAg" + + "ICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFt" + + "ZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNy" + + "ZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFs" + + "dWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + + "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + + "cwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1k" + + "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBv" + + "bmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRv" + + "ciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + + "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + + "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + + "bm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdv" + + "IHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3Rh" + + "Y2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUg" + + "SGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUg" + + "Q0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1w" + + "bGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRv" + + "ZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgoj" + + "IyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVz" + + "cGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18Cnwg" + + "bmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5i" + + "YW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2Vj" + + "cmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZj" + + "Zi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpk" + + "ZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBl" + + "bmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + + "YXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + + "LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2Vy" + + "dmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwg" + + "aGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwg" + + "aGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1w" + + "cm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBp" + + "IHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2Ug" + + "fCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwg" + + "aGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZj" + + "Zi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + + "YXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2Vy" + + "dmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXBy" + + "b3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBu" + + "dmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1v" + + "c3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVs" + + "ZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFu" + + "ZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJl" + + "IGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQg" + + "YGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2Vy" + + "dmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + + "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJp" + + "bGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0" + + "eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9u" + + "bWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UK" + + "CiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVu" + + "Y2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8g" + + "dGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5" + + "b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRo" + + "ZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRl" + + "IGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12" + + "YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmls" + + "ZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBk" + + "ZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxl" + + "YXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + + "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + + "LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgot" + + "IG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + + "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + + "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUK" + + "ICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + + "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0" + + "YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1m" + + "aWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkK" + + "ICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBs" + + "YXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCBy" + + "ZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + + "IGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBW" + + "YWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBl" + + "bnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZp" + + "cm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQg" + + "b3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3Np" + + "bmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFs" + + "dWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2" + + "YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0" + + "IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAg" + + "cmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lm" + + "aWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBh" + + "c3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRy" + + "YQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdp" + + "c3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fz" + + "c2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBg" + + "Z2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVs" + + "dFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + + "YXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAK" + + "LSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAK" + + "LSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQp" + + "CgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJh" + + "by5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFv" + + "LnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUg" + + "c2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0g" + + "YDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5u" + + "b2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmls" + + "aXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExM" + + "TSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0" + + "aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBh" + + "bmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAg" + + "cm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVz" + + "IHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBp" + + "cyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFi" + + "bGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQg" + + "dGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFw" + + "cGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRy" + + "dWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAg" + + "ICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RS" + + "b3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZp" + + "Y2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdl" + + "Q29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5h" + + "bWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJl" + + "OiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmds" + + "ZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2" + + "ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + + "CmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWlu" + + "dGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBv" + + "bmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNw" + + "b3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0" + + "aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRp" + + "b24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBw" + + "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0" + + "aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2Fk" + + "LWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBt" + + "ZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBz" + + "Oi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxt" + + "LXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2Fy" + + "IGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdp" + + "c3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1h" + + "Z2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0Rh" + + "dGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNs" + + "aWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhl" + + "IGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBw" + + "YXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0" + + "aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90" + + "ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVy" + + "IGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJl" + + "ZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRv" + + "ZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZp" + + "Zy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1w" + + "bGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxl" + + "dGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJv" + + "ZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUg" + + "aW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVu" + + "Y3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpj" + + "YXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJl" + + "ZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1h" + + "Z2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBu" + + "ZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5k" + + "CndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0t" + + "YXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1y" + + "b3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5" + + "fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0K" + + "a3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNv" + + "bnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5h" + + "cmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJz" + + "LCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoK" + + "Rm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUK" + + "W1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + + "bnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxh" + + "bmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNw" + + "ZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + + "ZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + + "ZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVh" + + "c2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + + "bmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRt" + + "aW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkg" + + "KGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + + "c2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9" + + "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90" + + "ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNl" + + "IGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBL" + + "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + + "bGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRv" + + "bgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFu" + + "ZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0" + + "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8g" + + "ZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVs" + + "IFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4g" + + "SWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBg" + + "bnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNr" + + "YWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBp" + + "biBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNm" + + "VWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2Ug" + + "cHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNy" + + "ZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + + "dWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lz" + + "dHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpr" + + "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + + "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11" + + "aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoK" + + "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNr" + + "ZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQg" + + "cm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVp" + + "YCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + + "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNm" + + "LXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRo" + + "ZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBi" + + "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91" + + "dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWlu" + + "PiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRo" + + "ZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5v" + + "dCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEg" + + "dHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250" + + "IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAA" + + "AAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5j" + + "ZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSBy" + + "ZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBp" + + "bWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUt" + + "cGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29u" + + "dGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVu" + + "ZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2Vj" + + "cmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0" + + "ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0" + + "b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2gg" + + "KFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8g" + + "YWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8g" + + "dXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0t" + + "Y3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNo" + + "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3Nh" + + "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + + "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + + "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + + "IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXIt" + + "dXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + + "S0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + + "CmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2" + + "ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAz" + + "LiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJu" + + "by5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWlt" + + "YWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBu" + + "YW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAg" + + "ICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAg" + + "ICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAg" + + "ICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJl" + + "c3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEt" + + "c3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQt" + + "bWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAg" + + "ICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZj" + + "Zi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAg" + + "ICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1l" + + "OiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + + "bWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0" + + "aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNv" + + "bnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGlu" + + "amVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENv" + + "bXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJh" + + "dG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAog" + + "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + + "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + + "a2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNl" + + "PW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJl" + + "bmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmds" + + "b2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhl" + + "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3Jg" + + "IGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEg" + + "YnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZv" + + "ciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMg" + + "Q2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVz" + + "cGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + + "fScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVy" + + "bm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + + "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFk" + + "YXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3Rl" + + "ZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNl" + + "PiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQg" + + "c2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVj" + + "ayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRz" + + "IFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVl" + + "ZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2" + + "ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJu" + + "ZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJs" + + "aWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWlu" + + "IGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3" + + "aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNo" + + "b290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5n" + + "IHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiph" + + "ZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dl" + + "ciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+" + + "IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNz" + + "aW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3Vs" + + "ZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZj" + + "Zi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMj" + + "IFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBW" + + "ZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1" + + "YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1u" + + "IDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAIdv8ORKEAAA" + + "ShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkA" + + "AAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBl" + + "bGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAp885w/4UAAD+FAAANAAJAAAAAAAAAAAA" + + "AABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAxi5lP2RgAANkYAAA3AAkAAAAAAAAAAAAAAMKcAABk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAACbYAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQAB" + + "AKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABjQAABkYXRhL252" + + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAADQBAEAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAAAAAAAAAAAJcuAQBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAA1OAEAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAH5aAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + + "aS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABo" + + "EAAAMgAJAAAAAAAAAAAAAAD7gAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + + "L2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEANWdsLOJdAADiXQAALQAJAAAA" + + "AAAAAAAAAADMkQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1k" + + "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAEvABAGRh" + + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAADhEQIAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAACNdAIAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQAC" + + "Uk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAELLAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABM" + + "AAkAAAAAAAAAAAAAACf0AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + + "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAvCQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAA41UDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAaIADAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAJeIAwBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQAB" + + "AKbOElBLBQYAAAAAFwAXAK8JAAAMnwMAAAA=" var ( skillDataOnce sync.Once From 76c3d0f84e40edc1338c2421bf6cc95942c1ad54 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 12:34:51 +0530 Subject: [PATCH 120/127] fix(nvcf-cli): end a node's inotify probe at once when its pod cannot pull its image or the node is not Ready Signed-off-by: rohithb --- .../internal/selfhosted/inotify_probe.go | 43 ++++++++- .../internal/selfhosted/inotify_probe_test.go | 96 ++++++++++++++++++- 2 files changed, 137 insertions(+), 2 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go index f09c16d938..d712e820a9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe.go @@ -18,6 +18,7 @@ limitations under the License. package selfhosted import ( + "cmp" "context" "fmt" "io" @@ -212,6 +213,14 @@ func probeAllNodes( eg.SetLimit(probeConcurrency) for _, i := range mem.plan(schedulable, results) { node := &schedulable[i] + // No pod runs on a node that is not Ready, so its probe would only + // wait out its bound, and a wave of such nodes the probe's budget. + if why := nodeNotReady(node); why != "" { + results[i] = mem.settle(node, NodeInotifyLimits{NodeName: node.Name, + Err: fmt.Errorf("node %s is not Ready (%s), so no probe pod can run there", node.Name, why)}, + probeFinished) + continue + } eg.Go(func() error { res, stop := probeOneNode(egCtx, client, run, node.Name, image) results[i] = mem.settle(node, res, stop) @@ -225,6 +234,17 @@ func probeAllNodes( return results, nil } +// nodeNotReady returns why node's Ready condition is not True, or "" when it +// is, or when the node reports no Ready condition. +func nodeNotReady(node *corev1.Node) string { + for _, c := range node.Status.Conditions { + if c.Type == corev1.NodeReady && c.Status != corev1.ConditionTrue { + return strings.TrimSpace(cmp.Or(c.Reason, "Ready="+string(c.Status))) + } + } + return "" +} + // probeStop says whether the probe's budget stopped a node's probe. type probeStop int @@ -477,7 +497,9 @@ func buildInotifyProbePod(nodeName, runID, image string) *corev1.Pod { // waitForPodTerminal polls the pod until its phase is Succeeded or Failed. // The probe container is `cat`, so success is the normal exit path; Failed -// surfaces image-pull errors, scheduling rejections, etc. +// surfaces scheduling rejections and the like. A container that cannot start, +// such as one whose image cannot be pulled, leaves the pod Pending, so that +// ends the wait too rather than running out the node's bound. func waitForPodTerminal(ctx context.Context, client kubernetes.Interface, podName string) error { ticker := time.NewTicker(podPollInterval) defer ticker.Stop() @@ -492,6 +514,9 @@ func waitForPodTerminal(ctx context.Context, client kubernetes.Interface, podNam case corev1.PodFailed: return fmt.Errorf("probe pod %s failed: %s", podName, podFailureMessage(pod)) } + if containerCannotStart(pod) { + return fmt.Errorf("probe pod %s cannot start: %s", podName, podFailureMessage(pod)) + } select { case <-ctx.Done(): return ctx.Err() @@ -500,6 +525,22 @@ func waitForPodTerminal(ctx context.Context, client kubernetes.Interface, podNam } } +// containerCannotStart reports a container the kubelet is waiting on for a +// reason it does not get past by itself: an image it cannot pull, or a +// container it cannot configure. +func containerCannotStart(pod *corev1.Pod) bool { + for _, cs := range pod.Status.ContainerStatuses { + if w := cs.State.Waiting; w != nil { + switch w.Reason { + case "ErrImagePull", "ImagePullBackOff", "ErrImageNeverPull", "InvalidImageName", + "CreateContainerConfigError": + return true + } + } + } + return false +} + // podFailureMessage extracts a useful single-line failure reason from a // terminated pod's container status (or falls back to the pod's status // message/reason). diff --git a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go index 0880529321..0d52c8680b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/inotify_probe_test.go @@ -131,6 +131,99 @@ func TestProbeAllNodes_StallingPodsAreBoundedByTheProbeBudget(t *testing.T) { assert.EqualValues(t, probeConcurrency, created.Load()) } +// A probe pod whose image cannot be pulled, as on an air-gapped cluster with no +// probe image configured, stays Pending. Each node waited out its own bound, +// so a poll settled only the first wave and the budget cut the rest short, +// on every --wait poll of a large cluster. Such a node now fails at once, and +// one poll settles every node, none of them a node a later poll may reach. +func TestProbeAllNodes_UnpullableImageFailsEachNodeAtOnce(t *testing.T) { + shortenInotifyProbe(t, 600*time.Millisecond, 400*time.Millisecond) + const nodes = 5 * probeConcurrency + var objs []runtime.Object + for i := 0; i < nodes; i++ { + objs = append(objs, fakeNode(fmt.Sprintf("node-%02d", i))) + } + client := fake.NewSimpleClientset(objs...) + var created atomic.Int32 + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod) + pod.Name = fmt.Sprintf("%s%d", pod.GenerateName, created.Add(1)) + pod.Status.Phase = corev1.PodPending + pod.Status.ContainerStatuses = []corev1.ContainerStatus{{Name: inotifyProbeContainer, + State: corev1.ContainerState{Waiting: &corev1.ContainerStateWaiting{ + Reason: "ImagePullBackOff", Message: `Back-off pulling image "busybox:1.36"`}}}} + return false, nil, nil + }) + + results, err := probeAllNodes(context.Background(), client, "", nil) + require.NoError(t, err) + require.Len(t, results, nodes) + for _, r := range results { + require.Error(t, r.Err, r.NodeName) + assert.Contains(t, r.Err.Error(), "cannot start: ImagePullBackOff", r.NodeName) + assert.False(t, r.OutOfBudget, "%s failed on its own", r.NodeName) + } + assert.EqualValues(t, nodes, created.Load()) + row := nodeInotifyCheck(func(context.Context, string) ([]NodeInotifyLimits, error) { return results, nil }, ""). + Run(context.Background()) + assert.Equal(t, SeverityWarning, row.Severity) + assert.False(t, row.Transient, "--wait has nothing to wait for") + pods, err := client.CoreV1().Pods(inotifyProbeNamespace).List(context.Background(), metav1.ListOptions{}) + require.NoError(t, err) + assert.Empty(t, pods.Items, "every probe pod created is removed") +} + +// No pod runs on a node that is not Ready, so its probe pod only waited out +// its bound. Such a node is reported without a pod. A node with no Ready +// condition is probed as before. +func TestProbeAllNodes_NodeNotReadyIsNotProbed(t *testing.T) { + shortenInotifyProbe(t, 600*time.Millisecond, 400*time.Millisecond) + var objs []runtime.Object + for i := 0; i < 3*probeConcurrency; i++ { + n := fakeNode(fmt.Sprintf("down-%02d", i)) + n.Status.Conditions = []corev1.NodeCondition{{Type: corev1.NodeReady, Status: corev1.ConditionUnknown, + Reason: "NodeStatusUnknown"}} + objs = append(objs, n) + } + objs = append(objs, fakeNode("plain")) + client := fake.NewSimpleClientset(objs...) + var createdOn []string + var mu sync.Mutex + client.PrependReactor("create", "pods", func(a ktesting.Action) (bool, runtime.Object, error) { + pod := a.(ktesting.CreateAction).GetObject().(*corev1.Pod) + mu.Lock() + createdOn = append(createdOn, pod.Spec.NodeName) + mu.Unlock() + return true, nil, errors.New("refused") + }) + + results, err := probeAllNodes(context.Background(), client, "", nil) + require.NoError(t, err) + require.Len(t, results, 3*probeConcurrency+1) + for _, r := range results { + require.Error(t, r.Err, r.NodeName) + assert.False(t, r.OutOfBudget, r.NodeName) + if r.NodeName != "plain" { + assert.Contains(t, r.Err.Error(), "node "+r.NodeName+" is not Ready (NodeStatusUnknown)") + } + } + assert.Equal(t, []string{"plain"}, createdOn, "only the node with no Ready condition gets a pod") +} + +// Only a container the kubelet does not get past by itself ends the wait +// early; one still being created, or an image still being pulled, does not. +func TestContainerCannotStart(t *testing.T) { + for reason, want := range map[string]bool{ + "ErrImagePull": true, "ImagePullBackOff": true, "InvalidImageName": true, "ErrImageNeverPull": true, + "CreateContainerConfigError": true, "ContainerCreating": false, "PodInitializing": false, "": false, + } { + pod := &corev1.Pod{Status: corev1.PodStatus{ContainerStatuses: []corev1.ContainerStatus{{ + State: corev1.ContainerState{Waiting: &corev1.ContainerStateWaiting{Reason: reason}}}}}} + assert.Equal(t, want, containerCannotStart(pod), reason) + } + assert.False(t, containerCannotStart(&corev1.Pod{}), "no status yet") +} + func TestBuildInotifyProbePodShape(t *testing.T) { pod := buildInotifyProbePod("node-x", "run1", "") @@ -350,7 +443,8 @@ func TestProbeAllNodes_StatesResourcesWhenAQuotaRequiresThem(t *testing.T) { // own rejection is the node's error, and any other refusal is not retried. func TestProbeAllNodes_QuotaRetryIsOnceAndOnlyForMissingResources(t *testing.T) { client, creates := quotaClient(t, apierrors.NewForbidden(schema.GroupResource{Resource: "pods"}, "p", - errors.New("exceeded quota: compute, requested: requests.cpu=50m, used: requests.cpu=4, limited: requests.cpu=4"))) + errors.New("exceeded quota: compute, requested: requests.cpu=50m, used: requests.cpu=4, "+ + "limited: requests.cpu=4"))) results, err := probeAllNodes(context.Background(), client, "", nil) require.NoError(t, err) require.Len(t, results, 1) From a9aa486ecfc299365b43a4bd02831356aa1b9842 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 12:36:35 +0530 Subject: [PATCH 121/127] fix(nvcf-cli): make the retry of a first cluster call after a server error one round trip, not client-go's whole loop again Signed-off-by: rohithb --- .../internal/selfhosted/cluster_reach.go | 21 ++++++++---- .../internal/selfhosted/cluster_reach_test.go | 33 ++++++++++++++++++- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go index 8b01e0f6bb..b8cd888ca0 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach.go @@ -84,23 +84,26 @@ func connectCluster( if err != nil { return nil, &ClusterUnreachableError{Context: kubeContext, Err: fmt.Errorf("building kubernetes client: %w", err)} } - err = firstClusterCall(ctx, client) + err = firstClusterCall(ctx, client, true) switch { case ctx.Err() != nil: // The run's budget ended or it was interrupted: not the cluster's doing. case apierrors.IsUnauthorized(err): // A credential plugin replaces a cached token the server rejected on // the next call. - err = firstClusterCall(ctx, client) + err = firstClusterCall(ctx, client, true) case isServerError(err): // client-go retries a server error only when it carries a // Retry-After, and a load balancer in front of a rolling API server // answers 502 or 503 without one. A connection dropped before the // response, or part way through its body, client-go retries itself. + // This is one more round trip: after a Retry-After, client-go's own + // retries are spent, and running them again doubled the time before a + // cluster that keeps failing is called unreachable. select { case <-ctx.Done(): case <-time.After(firstCallRetryDelay): - err = firstClusterCall(ctx, client) + err = firstClusterCall(ctx, client, false) } } if err != nil && ctx.Err() == nil { @@ -116,10 +119,16 @@ func isServerError(err error) bool { } // firstClusterCall asks the server for its version, each round trip bounded -// by clusterFirstCallTimeout. -func firstClusterCall(ctx context.Context, client kubernetes.Interface) error { +// by clusterFirstCallTimeout. retries leaves client-go its own retries, of a +// dropped connection and of an answer with a Retry-After; without it the +// call is a single round trip. +func firstClusterCall(ctx context.Context, client kubernetes.Interface, retries bool) error { ctx = context.WithValue(ctx, firstCallBound{}, clusterFirstCallTimeout) - return client.Discovery().RESTClient().Get().AbsPath("/version").Do(ctx).Error() + req := client.Discovery().RESTClient().Get().AbsPath("/version") + if !retries { + req = req.MaxRetries(0) + } + return req.Do(ctx).Error() } // firstCallBound is the context key for the bound firstClusterCall puts on diff --git a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go index 4495c7cd43..616466c04d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/cluster_reach_test.go @@ -33,6 +33,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "k8s.io/client-go/kubernetes" ) // writeKubeconfig points KUBECONFIG at a file with one context, "test", for @@ -259,6 +260,35 @@ func TestConnectCluster_RetriesAServerErrorOnce(t *testing.T) { } } +// A server error with a Retry-After, client-go retries itself. The one more +// try connectCluster makes after it is a single round trip: running +// client-go's whole retry loop again doubled the time before a cluster that +// keeps failing is called unreachable. +func TestConnectCluster_RetryAfterRetriesIsOneMoreRoundTrip(t *testing.T) { + shortenFirstCallRetry(t) + var calls atomic.Int32 + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { + calls.Add(1) + w.Header().Set("Retry-After", "0") + w.WriteHeader(http.StatusServiceUnavailable) + })) + t.Cleanup(srv.Close) + writeKubeconfig(t, srv.URL) + + restCfg, err := loadKubeConfig("test") + require.NoError(t, err) + client, err := kubernetes.NewForConfig(restCfg) + require.NoError(t, err) + require.Error(t, client.Discovery().RESTClient().Get().AbsPath("/version").Do(context.Background()).Error()) + ownRetries := calls.Swap(0) + require.Greater(t, ownRetries, int32(1), "client-go retries an answer with a Retry-After") + + _, err = connectCluster(context.Background(), "test") + var unreachable *ClusterUnreachableError + assert.True(t, errors.As(err, &unreachable), "%v", err) + assert.Equal(t, ownRetries+1, calls.Load()) +} + // A connection dropped on the first call is tried again, whether it drops // before the response or part way through its body. func TestConnectCluster_RetriesADroppedConnection(t *testing.T) { @@ -307,7 +337,8 @@ func TestConnectCluster_SlowReloginAfterADelayedRejectionBody(t *testing.T) { w.WriteHeader(http.StatusUnauthorized) http.NewResponseController(w).Flush() time.Sleep(50 * time.Millisecond) - _, _ = w.Write([]byte(`{"kind":"Status","apiVersion":"v1","status":"Failure","reason":"Unauthorized","code":401}`)) + _, _ = w.Write([]byte(`{"kind":"Status","apiVersion":"v1","status":"Failure",` + + `"reason":"Unauthorized","code":401}`)) })) t.Cleanup(srv.Close) prev := clusterFirstCallTimeout From d13a037336f5099f038a3f53c8629693df31a943 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 12:41:32 +0530 Subject: [PATCH 122/127] fix(nvcf-cli): read each cluster's pull secrets once per poll for the registry rows, connecting to each cluster once Signed-off-by: rohithb --- src/clis/nvcf-cli/cmd/self_hosted_check.go | 23 ++--- .../cmd/self_hosted_check_rows_test.go | 37 ++++++++ .../internal/selfhosted/pullsecret.go | 79 +++++++++++++---- .../internal/selfhosted/pullsecret_test.go | 84 +++++++++++++++++-- 4 files changed, 189 insertions(+), 34 deletions(-) diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check.go b/src/clis/nvcf-cli/cmd/self_hosted_check.go index d48b56e5a7..9a3349f73b 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check.go @@ -316,21 +316,16 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { } registryPostInstall := !registryTarget().beforeInstall - var registryClusterSecrets selfhosted.ClusterPullSecretChecker - if registryChecker != nil && registryPostInstall { - registryClusterSecrets = newClusterPullSecretCheckerForSelfHosted(visitedKubeContexts(mode)) - } cfg := selfhosted.PreflightConfig{ LocalOnly: localOnly, Tools: checkPreflightTools(), // The tools are what `up` runs; checking an installed stack does // not use them. - ToolsAdvisory: !checkPre, - Registries: credEntries, - RegistryChecker: registryChecker, - RegistryPostInstall: registryPostInstall, - RegistryClusterSecrets: registryClusterSecrets, - Interrupted: interrupted, + ToolsAdvisory: !checkPre, + Registries: credEntries, + RegistryChecker: registryChecker, + RegistryPostInstall: registryPostInstall, + Interrupted: interrupted, } // A quit key in the dashboard cancels the run the way a signal does. @@ -399,9 +394,15 @@ func runSelfHostedCheck(c *cobra.Command, _ []string) error { // chance to run the validator. clusterValidatorImage, unresolvedImage = resolveClusterValidatorImage(pollCtx) } + pollCfg := cfg + if registryChecker != nil && registryPostInstall { + // One per poll: it keeps what it read of the clusters for + // the poll's registry rows, and a later poll reads again. + pollCfg.RegistryClusterSecrets = newClusterPullSecretCheckerForSelfHosted(visitedKubeContexts(mode)) + } if checkPre || checkAll || checkControlPlane || checkComputePlane { results = append(results, - runPreflightByRole(pollCtx, cfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger, + runPreflightByRole(pollCtx, pollCfg, sink, mode, clusterValidatorImage, unresolvedImage, ledger, inotifyProber)...) } return results diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go index 29aa601248..5937058a2c 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_rows_test.go @@ -21,6 +21,7 @@ import ( "bytes" "context" "errors" + "fmt" "io" "net/http" "net/http/httptest" @@ -482,6 +483,42 @@ func TestCheck_WaitEndsOnAWarningCutShortTwiceInARow(t *testing.T) { } } +// The comparison with the clusters' pull secrets keeps what it read for one +// poll's registry rows, which run one after another in one share. Each --wait +// poll gets a new one, so a pull secret fixed while the run waits counts on +// the next poll. +func TestCheck_EachPollComparesWithFreshPullSecrets(t *testing.T) { + refused := []selfhosted.CheckResult{{Category: selfhosted.CategoryRegistryCredentials, + ID: "registry-cred-nvcr.io", Severity: selfhosted.SeverityError, Message: "nvcr.io: rejected"}} + passed := []selfhosted.CheckResult{{Category: selfhosted.CategoryRegistryCredentials, + ID: "registry-cred-nvcr.io", Passed: true, Severity: selfhosted.SeverityInfo}} + calls := stubRolePolls(t, refused, passed) + polled := checkRunRole + var asked []string + checkRunRole = func(ctx context.Context, cfg selfhosted.PreflightConfig, role selfhosted.Role, + rc selfhosted.RoleConfig, sink progress.EventSink) []selfhosted.CheckResult { + require.NotNil(t, cfg.RegistryClusterSecrets, "an installed plane's rows compare with its clusters") + holder, _ := cfg.RegistryClusterSecrets(ctx, "nvcr.io", "", "$oauthtoken", "rotated-out") + asked = append(asked, holder) + return polled(ctx, cfg, role, rc, sink) + } + prev := newClusterPullSecretCheckerForSelfHosted + made := 0 + newClusterPullSecretCheckerForSelfHosted = func([]string) selfhosted.ClusterPullSecretChecker { + made++ + n := made + return func(context.Context, string, string, string, string) (string, error) { + return fmt.Sprintf("checker %d", n), nil + } + } + t.Cleanup(func() { newClusterPullSecretCheckerForSelfHosted = prev }) + + run := runCheck(t, checkStubs{}, "--control-plane", "--skip-cluster-validation", "--wait", "10s") + assert.Equal(t, 0, run.code(), run.stderr) + assert.Equal(t, 2, *calls) + assert.Equal(t, []string{"checker 1", "checker 2"}, asked) +} + // A cluster that cannot be contacted at all fails the run, with or without a // validator: nothing about it was checked. func TestCheck_UnreachableClusterFailsTheRun(t *testing.T) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go index 3a75244706..ec1a9735a5 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret.go @@ -24,6 +24,7 @@ import ( "errors" "fmt" "strings" + "sync" "time" corev1 "k8s.io/api/core/v1" @@ -262,30 +263,74 @@ var clusterPullSecretCheckTimeout = 30 * time.Second // NewClusterPullSecretChecker returns a ClusterPullSecretChecker that reads // the pull secrets findClusterPullSecret reads, in the cluster behind each of -// kubeContexts, "" naming the current context. +// kubeContexts, "" naming the current context. It is meant for one poll: it +// connects to each cluster once, keeping a cluster it cannot reach as such, +// and answers a question it was asked before from what it found then, so the +// registry rows, which run one after another in one share of the run's time, +// do not each wait on the same clusters. func NewClusterPullSecretChecker(kubeContexts []string) ClusterPullSecretChecker { + type connection struct { + client kubernetes.Interface + err error + } + type answer struct { + holder string + err error + } + // connMu is held across a connection, so a cluster is connected to once. + var connMu, answersMu sync.Mutex + connections := map[string]connection{} + answers := map[[4]string]answer{} + connect := func(ctx context.Context, kubeContext string) (kubernetes.Interface, error) { + connMu.Lock() + defer connMu.Unlock() + if c, ok := connections[kubeContext]; ok { + return c.client, c.err + } + client, err := connectCluster(ctx, kubeContext) + if ctx.Err() == nil { + connections[kubeContext] = connection{client, err} + } + return client, err + } return func(ctx context.Context, registry, repo, user, secret string) (string, error) { + key := [4]string{registry, repo, user, secret} + answersMu.Lock() + a, ok := answers[key] + answersMu.Unlock() + if ok { + return a.holder, a.err + } ctx, cancel := context.WithTimeout(ctx, clusterPullSecretCheckTimeout) defer cancel() - var errs []error - for _, kubeContext := range kubeContexts { - client, err := connectCluster(ctx, kubeContext) - if err != nil { - errs = append(errs, err) - continue - } - holder, err := clusterPullSecretHolding(ctx, client, registry, repo, user, secret) - if holder != "" { - if kubeContext != "" { - holder += " in context " + kubeContext + holder, err := func() (string, error) { + var errs []error + for _, kubeContext := range kubeContexts { + client, err := connect(ctx, kubeContext) + if err != nil { + errs = append(errs, err) + continue + } + holder, err := clusterPullSecretHolding(ctx, client, registry, repo, user, secret) + if holder != "" { + if kubeContext != "" { + holder += " in context " + kubeContext + } + return holder, nil + } + if err != nil { + errs = append(errs, err) } - return holder, nil - } - if err != nil { - errs = append(errs, err) } + return "", errors.Join(errs...) + }() + // An answer the call's bound or the run's end cut off is no answer. + if ctx.Err() == nil { + answersMu.Lock() + answers[key] = answer{holder, err} + answersMu.Unlock() } - return "", errors.Join(errs...) + return holder, err } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go index 6ee91ae6bb..59bebea33a 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/pullsecret_test.go @@ -25,7 +25,9 @@ import ( "net/http" "net/http/httptest" "strings" + "sync/atomic" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -670,25 +672,38 @@ func TestClusterPullSecretHolding(t *testing.T) { assert.Equal(t, "nvcf/nvcr-pull-secret", holder) } -// The checker reads each context's cluster, and a cluster it cannot reach -// leaves the answer unknown. -func TestNewClusterPullSecretChecker_ReadsTheContextsCluster(t *testing.T) { - stored := dockerConfigSecret("nvcr-pull-secret", "nvcf", dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "revoked")) - srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { +// pullSecretServer serves a cluster whose nvcf namespace holds stored, and +// counts the /version calls a connection makes and the Secret lists a scan +// makes. +func pullSecretServer(t *testing.T, stored *corev1.Secret) (srv *httptest.Server, versions, lists *atomic.Int32) { + t.Helper() + versions, lists = &atomic.Int32{}, &atomic.Int32{} + srv = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") switch { case r.URL.Path == "/version": + versions.Add(1) _, _ = w.Write([]byte(`{"major":"1","minor":"30","gitVersion":"v1.30.0"}`)) case r.URL.Path == "/api/v1/namespaces/nvcf/secrets": + lists.Add(1) _ = json.NewEncoder(w).Encode(corev1.SecretList{ TypeMeta: metav1.TypeMeta{Kind: "SecretList", APIVersion: "v1"}, Items: []corev1.Secret{*stored}}) case strings.HasSuffix(r.URL.Path, "/secrets"): + lists.Add(1) _, _ = w.Write([]byte(`{"kind":"SecretList","apiVersion":"v1","items":[]}`)) default: http.NotFound(w, r) } })) t.Cleanup(srv.Close) + return srv, versions, lists +} + +// The checker reads each context's cluster, and a cluster it cannot reach +// leaves the answer unknown. +func TestNewClusterPullSecretChecker_ReadsTheContextsCluster(t *testing.T) { + stored := dockerConfigSecret("nvcr-pull-secret", "nvcf", dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "revoked")) + srv, _, _ := pullSecretServer(t, stored) writeKubeconfig(t, srv.URL) check := NewClusterPullSecretChecker([]string{"test"}) ctx := context.Background() @@ -701,8 +716,65 @@ func TestNewClusterPullSecretChecker_ReadsTheContextsCluster(t *testing.T) { assert.Empty(t, holder) srv.Close() - holder, err = check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") + holder, err = NewClusterPullSecretChecker([]string{"test"})(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") assert.Empty(t, holder) var unreachable *ClusterUnreachableError assert.ErrorAs(t, err, &unreachable) } + +// The registry rows run one after another in one share of the run's time, +// and each refused one asks the checker. Within one checker, a poll's, each +// cluster is connected to once, and a question asked before is answered from +// what was read then; a cluster it could not reach is not tried again. A new +// checker, the next poll's, reads the clusters again. +func TestNewClusterPullSecretChecker_ReadsEachClusterOncePerPoll(t *testing.T) { + stored := dockerConfigSecret("nvcr-pull-secret", "nvcf", dockerConfigBlob(t, "nvcr.io", "$oauthtoken", "revoked")) + srv, versions, lists := pullSecretServer(t, stored) + writeKubeconfig(t, srv.URL) + ctx := context.Background() + + check := NewClusterPullSecretChecker([]string{"test"}) + var scan int32 + for i := range 3 { + holder, err := check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") + require.NoError(t, err) + assert.Equal(t, "nvcf/nvcr-pull-secret in context test", holder) + if i == 0 { + scan = lists.Load() + require.Positive(t, scan) + } + } + assert.EqualValues(t, 1, versions.Load(), "one connection") + assert.Equal(t, scan, lists.Load(), "a question asked before is not scanned for again") + _, err := check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "another") + require.NoError(t, err) + assert.EqualValues(t, 1, versions.Load(), "the connection is reused for another question") + assert.Greater(t, lists.Load(), scan, "another question is a new scan") + + _, err = NewClusterPullSecretChecker([]string{"test"})(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", "revoked") + require.NoError(t, err) + assert.EqualValues(t, 2, versions.Load(), "the next poll connects again") + + prev := clusterFirstCallTimeout + clusterFirstCallTimeout = 200 * time.Millisecond + t.Cleanup(func() { clusterFirstCallTimeout = prev }) + var silentCalls atomic.Int32 + silent := httptest.NewServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { + silentCalls.Add(1) + <-r.Context().Done() + })) + t.Cleanup(silent.Close) + writeKubeconfig(t, silent.URL) + check = NewClusterPullSecretChecker([]string{"test"}) + var waited int32 + for i, pass := range []string{"revoked", "another"} { + _, err = check(ctx, "nvcr.io", "nvidia/cv", "$oauthtoken", pass) + var unreachable *ClusterUnreachableError + assert.ErrorAs(t, err, &unreachable, pass) + if i == 0 { + waited = silentCalls.Load() + require.Positive(t, waited) + } + } + assert.Equal(t, waited, silentCalls.Load(), "a cluster found unreachable is not waited on again within the poll") +} From 108face473d6b3e012f2b33d2541de9fc08ce0f1 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 12:41:57 +0530 Subject: [PATCH 123/127] docs(nvcf-cli): list every value the check env toggles accept Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 6 +- .../agentskill/skilldata_generated.go | 4710 +++++++++-------- 2 files changed, 2361 insertions(+), 2355 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 1c711028e5..ea25e08552 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -24,7 +24,7 @@ | `--control-plane-context CTX` | kubectl context for control plane (REQ-20) | current context | | `--compute-plane-context CTX` | kubectl context for compute plane (REQ-20) | current context | | `--icms-url URL` | Public ICMS URL; required when contexts differ. `check` probes SIS only at a URL set here, in `NVCF_ICMS_URL` or `NVCF_SIS_URL`, or in the config as `icms_url` or `base_http_url`, and not at one derived from a `base_http_url` on NVIDIA's hosted `nvcf.nvidia.com`, as the config template's is; with none, its `sis-reachability` row is a warning | derived from `base_http_url` | -| `--local-only` | `check` only; run the local-host checks and skip all cluster and registry contact, whatever scope flag is passed. The registry credential check and each selected role's cluster checks are reported as rows that pass at info and say `skipped (--local-only)`. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY`, `true` or `false` | `false` | +| `--local-only` | `check` only; run the local-host checks and skip all cluster and registry contact, whatever scope flag is passed. The registry credential check and each selected role's cluster checks are reported as rows that pass at info and say `skipped (--local-only)`. Env: `NVCF_CLI_SELFHOSTED_LOCAL_ONLY`, on with `true`, `1`, `yes`, `y` or `on` and off with `false`, `0`, `no`, `n` or `off`, in any case. Any other value is an error | `false` | ## `check`-specific @@ -40,7 +40,7 @@ without them every selected role checks the current kubeconfig context. | `--compute-plane` | Check the installed compute plane: leftover namespaces, node inotify limits, SIS reachability at a configured ICMS URL, and the compute-plane cluster-validator | `false` | | `--all` | Both `--control-plane` and `--compute-plane`, SIS reachability included, with or without `--pre` | `false` | | `--cluster-name NAME` | Cluster name shown in the output header. No check uses it, and `check` does not require it | - | -| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Its `node-inotify-limits` row passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY`, `true` or `false` | `false` | +| `--skip-inotify-check` | Skip the per-node inotify-limits probe. Needed when the kubeconfig user cannot create pods in `default`, or when the probe image is on a registry that needs credentials, since the probe pods get no pull secret. Its `node-inotify-limits` row passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_INOTIFY`, on with `true`, `1`, `yes`, `y` or `on` and off with `false`, `0`, `no`, `n` or `off`, in any case. Any other value is an error | `false` | ### Cluster-validator flags @@ -64,7 +64,7 @@ and deleting test namespaces an earlier validator run left behind. | `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components`, a list of names | from the stack | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations`, a list of strings in this form, not Kubernetes toleration objects | - | | `--cluster-validator-pull-secret NAME` | docker-registry Secret in `default` used to pull the validator image. When empty, the CLI uses a Secret an operator created in `default` for the image's registry. Failing that, it copies the registry's entry, and only that entry, from a Secret in the NVCF namespaces into `default` for the run. Failing that, it creates one for the run from this machine's credential for the registry, the one the `registry-credentials` row checks. The validator row's detail says what was copied or created, and from where | auto-detect | -| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION`, `true` or `false` | `false` | +| `--skip-cluster-validation` | Skip the in-cluster validator probe entirely. A validator that is configured but cannot run fails the check, so use this to opt out explicitly, for example when the cluster cannot pull the image. Each role's `cluster-validator` row then passes at info and says it was skipped. Env: `NVCF_CLI_SELFHOSTED_SKIP_CLUSTER_VALIDATION`, on with `true`, `1`, `yes`, `y` or `on` and off with `false`, `0`, `no`, `n` or `off`, in any case. Any other value is an error | `false` | | `--no-cleanup` | Keep the validator Job, its pod, RBAC, pull secret and ConfigMap for debugging. A kept Job whose pod cannot pull its image is suspended, so its pod is deleted rather than retrying forever; inspect it with `kubectl describe job`. A later check that runs the validator removes them once they are 24 hours old. The row, the `final` event's `cleanup` list and the last stderr lines print the command that removes them now. Cannot be combined with `--wait` | `false` | | `--show-logs` | Print each validator transcript to stderr after the check events, framed by `--- cluster-validator logs () ---` and a matching end line, where the category is `control-plane-cluster` or `compute-plane-cluster`. The transcript is not JSON, and `--json` also writes to stderr, so leave this off when a parser is reading the stream | `false` | diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 9dc700d91e..8144252bdd 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzA2NzUsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzEwMDUsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1ZDIwMzQ1MmUyNjgxYWIw" + - "OGJhOGUxZjlhZmIwODYzOWVjODI1YTMyZjhlMzUxMzFlOWRlY2EzY2FmN2QwODJhIiwKICAgICAg" + - "InNpemUiOiAyNDAzNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4N2JjNjdiN2IyZDQyNmRl" + + "OWI1NDliZDJlMDdlYTVhYjkxOTdmZDc0NDU4ZDRlNTU4MzZhMDA3NmM3ZTFiYjA5IiwKICAgICAg" + + "InNpemUiOiAyNDM2NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCIdv8ORKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCGstyzZKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1888,2355 +1888,2361 @@ const skillDataZipBase64 = "" + "d2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNo" + "ZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQg" + "YXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkp" + - "YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgYHRydWVgIG9yIGBmYWxz" + - "ZWAgfCBgZmFsc2VgIHwKCiMjIGBjaGVja2Atc3BlY2lmaWMKCkF0IGxlYXN0IG9uZSBvZiBgLS1w" + - "cmVgLCBgLS1jb250cm9sLXBsYW5lYCwgYC0tY29tcHV0ZS1wbGFuZWAsIG9yIGAtLWFsbGAgaXMK" + - "cmVxdWlyZWQuIGAtLXByZWAgc2VsZWN0cyBib3RoIHJvbGVzOyBlYWNoIG90aGVyIGZsYWcgc2Vs" + - "ZWN0cyBpdHMgb3duLiBPbmx5CnRoZSBzZWxlY3RlZCByb2xlcyBjb250YWN0IGEgY2x1c3Rlci4g" + - "UGFzcyBib3RoIGNvbnRleHQgZmxhZ3Mgb3IgbmVpdGhlcjoKd2l0aG91dCB0aGVtIGV2ZXJ5IHNl" + - "bGVjdGVkIHJvbGUgY2hlY2tzIHRoZSBjdXJyZW50IGt1YmVjb25maWcgY29udGV4dC4KCnwgRmxh" + - "ZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLXByZWAgfCBQcmUtZmxp" + - "Z2h0OiBsb2NhbC1ob3N0IHRvb2xzIHBsdXMgY2x1c3RlciByZWFkaW5lc3MuIFNraXBzIFNJUyBy" + - "ZWFjaGFiaWxpdHksIHNpbmNlIFNJUyBpcyBub3QgaW5zdGFsbGVkIHlldCwgdW5sZXNzIGAtLWFs" + - "bGAgb3IgYC0tY29tcHV0ZS1wbGFuZWAgaXMgYWxzbyBwYXNzZWQuIFdpdGggYC0tYWxsYCwgb3Ig" + - "d2l0aCBhIHJvbGUncyBvd24gZmxhZywgdGhhdCByb2xlJ3MgdmFsaWRhdG9yIGNoZWNrcyB0aGUg" + - "Y2x1c3RlciBhcyBpbnN0YWxsZWQuIEEgbWlzc2luZyBvciB1bnN1cHBvcnRlZCBga3ViZWN0bGAs" + - "IGBoZWxtZmlsZWAgb3IgYGhlbG1gIGZhaWxzIG9ubHkgd2l0aCBgLS1wcmVgOyBvdGhlciBzY29w" + - "ZXMgY2hlY2sgYW4gaW5zdGFsbGVkIHN0YWNrLCB3aGljaCBydW5zIG5vbmUgb2YgdGhlbSwgc28g" + - "aXQgd2FybnMgfCBgZmFsc2VgIHwKfCBgLS1jb250cm9sLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0" + - "YWxsZWQgY29udHJvbCBwbGFuZTogbGVmdG92ZXIgbmFtZXNwYWNlcyBhbmQgdGhlIGNvbnRyb2wt" + - "cGxhbmUgY2x1c3Rlci12YWxpZGF0b3IuIE5ldmVyIHByb2JlcyBTSVMgfCBgZmFsc2VgIHwKfCBg" + - "LS1jb21wdXRlLXBsYW5lYCB8IENoZWNrIHRoZSBpbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVm" + - "dG92ZXIgbmFtZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSBh" + - "dCBhIGNvbmZpZ3VyZWQgSUNNUyBVUkwsIGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZh" + - "bGlkYXRvciB8IGBmYWxzZWAgfAp8IGAtLWFsbGAgfCBCb3RoIGAtLWNvbnRyb2wtcGxhbmVgIGFu" + - "ZCBgLS1jb21wdXRlLXBsYW5lYCwgU0lTIHJlYWNoYWJpbGl0eSBpbmNsdWRlZCwgd2l0aCBvciB3" + - "aXRob3V0IGAtLXByZWAgfCBgZmFsc2VgIHwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBDbHVz" + - "dGVyIG5hbWUgc2hvd24gaW4gdGhlIG91dHB1dCBoZWFkZXIuIE5vIGNoZWNrIHVzZXMgaXQsIGFu" + - "ZCBgY2hlY2tgIGRvZXMgbm90IHJlcXVpcmUgaXQgfCAtIHwKfCBgLS1za2lwLWlub3RpZnktY2hl" + - "Y2tgIHwgU2tpcCB0aGUgcGVyLW5vZGUgaW5vdGlmeS1saW1pdHMgcHJvYmUuIE5lZWRlZCB3aGVu" + - "IHRoZSBrdWJlY29uZmlnIHVzZXIgY2Fubm90IGNyZWF0ZSBwb2RzIGluIGBkZWZhdWx0YCwgb3Ig" + - "d2hlbiB0aGUgcHJvYmUgaW1hZ2UgaXMgb24gYSByZWdpc3RyeSB0aGF0IG5lZWRzIGNyZWRlbnRp" + - "YWxzLCBzaW5jZSB0aGUgcHJvYmUgcG9kcyBnZXQgbm8gcHVsbCBzZWNyZXQuIEl0cyBgbm9kZS1p" + - "bm90aWZ5LWxpbWl0c2Agcm93IHBhc3NlcyBhdCBpbmZvIGFuZCBzYXlzIGl0IHdhcyBza2lwcGVk" + - "LiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfSU5PVElGWWAsIGB0cnVlYCBvciBgZmFs" + - "c2VgIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0" + - "b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNy" + - "ZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRp" + - "bmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQg" + - "bGV0IGl0IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRl" + - "ciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8g" + - "bWFuYWdlIHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBn" + - "ZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBK" + - "b2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFu" + - "c2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkLCBzbyBuZWl0aGVyIHRoZSBjaGVja3MgaXQgcmFuIG5v" + - "ciB3YXJuaW5ncyBpdApyZXBvcnRlZCBhcmUgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMg" + - "b25seSB0aGUgY2FsbHMgZWFjaCByb2xlJ3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNw" + - "YWNlLCBEYWVtb25TZXQgYW5kIHBvZCB3cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10" + - "by1ub2RlIHByb2JlLAphbmQgZGVsZXRpbmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFs" + - "aWRhdG9yIHJ1biBsZWZ0IGJlaGluZC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + - "LXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3Ig" + - "aW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + - "Ul9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0" + - "aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3Ry" + - "eS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNjb3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1" + - "biBhbmQgaXRzIHJvdyBmYWlscyB0aGUgY2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdh" + - "aXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxp" + - "ZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBlYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJv" + - "dyBpcyBhIHdhcm5pbmcsIHNvIHRoZSB2ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1j" + - "bHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0" + - "cmEgcmVnaXN0cmllcyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hp" + - "bmUsIGFuZCB0aGVpciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFu" + - "ZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBo" + - "YXJib3IuZXhhbXBsZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVz" + - "IHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwg" + - "dGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVw" + - "b3NpdG9yeWAsIGFuZCBgcXVheS5pb2AgZm9yIHRoZSBjZXJ0LW1hbmFnZXIgQUNNRSBzb2x2ZXIg" + - "dW5sZXNzIHRoZSBzdGFjayBsZWF2ZXMgY2VydC1tYW5hZ2VyIG91dCBvciBzZXRzIGBjZXJ0TWFu" + - "YWdlci5hY21lc29sdmVyLmltYWdlYC4gYG52Y3IuaW9gIGlzIHByb2JlZCwgYXMgYSB3YXJuaW5n" + - "IG9ubHksIHdoZW4gbmVpdGhlciB0aGUgaW1hZ2Ugbm9yIHRoZSBzdGFjayBuYW1lcyBhIHJlZ2lz" + - "dHJ5LiBUaGUgaW4tcG9kIHByb2JlcyBhcmUgd2FybmluZ3Mgb25seSwgc2luY2UgdGhlIHBvZCBo" + - "YXMgbm8gcHJveHkuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRh" + - "YmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1Jf" + - "UkVHSVNUUklFU2A7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3JlZ2lzdHJpZXNgLCBh" + - "IGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0gfCAtIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + - "ci1wcm9iZS1pbWFnZSBSRUZgIHwgSW1hZ2UgZm9yIHRoZSBub2RlIGlub3RpZnkgcHJvYmUgYW5k" + - "IHRoZSBjb250cm9sLXBsYW5lIHZhbGlkYXRvcidzIG5vZGUtdG8tbm9kZSBvdmVybGF5IHByb2Jl" + - "LiBOZWVkcyBgc2hgIGFuZCBhIGJ1c3lib3gtc3R5bGUgYG5jYC4gU2V0IGEgbWlycm9yIGZvciBh" + - "aXItZ2FwcGVkIGNsdXN0ZXJzLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9QUk9C" + - "RV9JTUFHRWA7IGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3Byb2JlX2ltYWdlYCB8IGBi" + - "dXN5Ym94OjEuMzZgIGZyb20gRG9ja2VyIEh1YiB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItZXh0" + - "ZXJuYWwtY29tcG9uZW50cyBOQU1FLC4uLmAgfCBTdGFjayBkZXBlbmRlbmNpZXMgdGhhdCBydW4g" + - "b3V0c2lkZSB0aGUgc3RhY2ssIG9yIG5vdCBhdCBhbGwsIHNvIHRoZSB2YWxpZGF0b3IgZG9lcyBu" + - "b3QgbG9vayBmb3IgdGhlbSBpbiB0aGUgY2x1c3RlcjogYSBzdWJzZXQgb2YgYG5hdHNgLCBgb3Bl" + - "bmJhb2AgYW5kIGBjYXNzYW5kcmFgLiBBbiB1bmtub3duIG5hbWUgZmFpbHMgdGhlIGNvbW1hbmQu" + - "IFJlcGVhdGFibGUgb3IgY29tbWEtc2VwYXJhdGVkLiBGYWxscyBiYWNrIHRvIGBOVkNGX0VYVEVS" + - "TkFMX0NPTVBPTkVOVFNgLCB0aGVuIHRvIHRoZSBjb21wb25lbnRzIHdob3NlIGA8bmFtZT4uZW5h" + - "YmxlZGAgdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSBzZXRzIHRvIGFueXRoaW5nIGJ1dCBg" + - "dHJ1ZWAuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX0VYVEVSTkFMX0NPTVBPTkVO" + - "VFNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9leHRlcm5hbF9jb21wb25lbnRzYCwg" + - "YSBsaXN0IG9mIG5hbWVzIHwgZnJvbSB0aGUgc3RhY2sgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + - "LXRvbGVyYXRpb25zIGtleVs9dmFsdWVdWzplZmZlY3RdLC4uLmAgfCBUb2xlcmF0aW9ucyBhZGRl" + - "ZCB0byB0aGUgdmFsaWRhdG9yIEpvYiwgYmVzaWRlIHRoZSBjb250cm9sLXBsYW5lIG9uZXMgaXQg" + - "YWx3YXlzIGNhcnJpZXMsIGZvciBjbHVzdGVycyB3aG9zZSBub2RlcyB1c2Ugb3RoZXIgdGFpbnRz" + - "LiBFZmZlY3QgaXMgYE5vU2NoZWR1bGVgLCBgUHJlZmVyTm9TY2hlZHVsZWAgb3IgYE5vRXhlY3V0" + - "ZWAuIEEgbWFsZm9ybWVkIGVudHJ5IGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRhYmxlIG9yIGNv" + - "bW1hLXNlcGFyYXRlZC4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfVE9MRVJBVElP" + - "TlNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl90b2xlcmF0aW9uc2AsIGEgbGlzdCBv" + - "ZiBzdHJpbmdzIGluIHRoaXMgZm9ybSwgbm90IEt1YmVybmV0ZXMgdG9sZXJhdGlvbiBvYmplY3Rz" + - "IHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHVsbC1zZWNyZXQgTkFNRWAgfCBkb2NrZXIt" + - "cmVnaXN0cnkgU2VjcmV0IGluIGBkZWZhdWx0YCB1c2VkIHRvIHB1bGwgdGhlIHZhbGlkYXRvciBp" + - "bWFnZS4gV2hlbiBlbXB0eSwgdGhlIENMSSB1c2VzIGEgU2VjcmV0IGFuIG9wZXJhdG9yIGNyZWF0" + - "ZWQgaW4gYGRlZmF1bHRgIGZvciB0aGUgaW1hZ2UncyByZWdpc3RyeS4gRmFpbGluZyB0aGF0LCBp" + - "dCBjb3BpZXMgdGhlIHJlZ2lzdHJ5J3MgZW50cnksIGFuZCBvbmx5IHRoYXQgZW50cnksIGZyb20g" + - "YSBTZWNyZXQgaW4gdGhlIE5WQ0YgbmFtZXNwYWNlcyBpbnRvIGBkZWZhdWx0YCBmb3IgdGhlIHJ1" + - "bi4gRmFpbGluZyB0aGF0LCBpdCBjcmVhdGVzIG9uZSBmb3IgdGhlIHJ1biBmcm9tIHRoaXMgbWFj" + - "aGluZSdzIGNyZWRlbnRpYWwgZm9yIHRoZSByZWdpc3RyeSwgdGhlIG9uZSB0aGUgYHJlZ2lzdHJ5" + - "LWNyZWRlbnRpYWxzYCByb3cgY2hlY2tzLiBUaGUgdmFsaWRhdG9yIHJvdydzIGRldGFpbCBzYXlz" + - "IHdoYXQgd2FzIGNvcGllZCBvciBjcmVhdGVkLCBhbmQgZnJvbSB3aGVyZSB8IGF1dG8tZGV0ZWN0" + - "IHwKfCBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfCBTa2lwIHRoZSBpbi1jbHVzdGVyIHZh" + - "bGlkYXRvciBwcm9iZSBlbnRpcmVseS4gQSB2YWxpZGF0b3IgdGhhdCBpcyBjb25maWd1cmVkIGJ1" + - "dCBjYW5ub3QgcnVuIGZhaWxzIHRoZSBjaGVjaywgc28gdXNlIHRoaXMgdG8gb3B0IG91dCBleHBs" + - "aWNpdGx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBjbHVzdGVyIGNhbm5vdCBwdWxsIHRoZSBpbWFn" + - "ZS4gRWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgdGhlbiBwYXNzZXMgYXQgaW5m" + - "byBhbmQgc2F5cyBpdCB3YXMgc2tpcHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQ" + - "X0NMVVNURVJfVkFMSURBVElPTmAsIGB0cnVlYCBvciBgZmFsc2VgIHwgYGZhbHNlYCB8CnwgYC0t" + - "bm8tY2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxs" + - "IHNlY3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9k" + - "IGNhbm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRl" + - "ZCByYXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwg" + - "ZGVzY3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1v" + - "dmVzIHRoZW0gb25jZSB0aGV5IGFyZSAyNCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxg" + - "IGV2ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0" + - "aGUgY29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRo" + - "IGAtLXdhaXRgIHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRh" + - "dG9yIHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBi" + - "eSBgLS0tIGNsdXN0ZXItdmFsaWRhdG9yIGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0" + - "Y2hpbmcgZW5kIGxpbmUsIHdoZXJlIHRoZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVz" + - "dGVyYCBvciBgY29tcHV0ZS1wbGFuZS1jbHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpT" + - "T04sIGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2Zm" + - "IHdoZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVn" + - "aXN0cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJv" + - "bSB0aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2Vy" + - "YCB3b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIv" + - "Y29uZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBo" + - "ZWxwZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0" + - "aGUgZmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlg" + - "LCBgTlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdv" + - "ZXMgYWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNr" + - "J3MgcGxhbmUsIGJlbG93LCBpcyB0aGUgY29udHJvbCBwbGFuZSwgY2hlY2tlZCBiZWZvcmUgaXRz" + - "Cmluc3RhbGwgd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2UgYHVwYCBjcmVhdGVz" + - "IGl0cyBwdWxsIHNlY3JldHMKZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhl" + - "ciByZWdpc3RyeS4gRWxzZXdoZXJlIHRoZSBrZXkKaXMgc2VudCB3aGVuIHRoZXJlIGlzIG5vIGRv" + - "Y2tlciBsb2dpbiwgb3IgZm9yIGEgcmVwb3NpdG9yeSB3aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0" + - "aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkgb3IgZ2l2ZXMgaXQgbm8gYWNjZXNzIChhIDQwMykuIFRo" + - "aXMgaXMKZGVjaWRlZCBvbmNlIHBlciByZXBvc2l0b3J5LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwg" + - "dGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRvcidzIHB1bGwgc2VjcmV0IHVzZSBpdCwgc28gYWxsIHRo" + - "cmVlIGdldCB0aGUgc2FtZSBjcmVkZW50aWFsLCBhbmQgYQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0" + - "byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0aGUgb3JncyBpdCByZWFjaGVzLiBBIDQwMyBpcwpyZXBv" + - "cnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhhdCByZXBvc2l0b3J5LCBuZXZlciBhcyBhIHJlamVjdGVk" + - "IGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBvbGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBz" + - "byBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUgdGhlIHJ1bgp3YWl0cyBjb3VudHMgb24gdGhlIG5leHQg" + - "cG9sbC4KClRoZSBwcm9iZSBhc2tzIGZvciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGlt" + - "YWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8gdGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGgg" + - "aW4gYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5" + - "YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBzZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRl" + - "YW0sIGlzIG5vdCBzZW50IGFzIHRoZSBzY29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQu" + - "IFdoZW4gdGhlIHN0YWNrJ3MKT0NJIGNoYXJ0IHNvdXJjZSwgYGdsb2JhbC5oZWxtLnNvdXJjZXMu" + - "cmVnaXN0cnlgIGFuZCBgLnJlcG9zaXRvcnlgLCBpcyB0aGF0CnNhbWUgcGF0aCwgaXRzIHJvdyBp" + - "cyBhbHNvIHRoZSBvbmUgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgc3RhY2sncwpj" + - "aGFydHMgZnJvbSwgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJl" + - "bG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQg" + - "d2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBi" + - "ZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUg" + - "Y29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRl" + - "LXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwg" + - "ZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBj" + - "b21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFp" + - "bHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3Ig" + - "dGhlIHN0YWNrIG5hbWVzLiBUaGF0IGluY2x1ZGVzIGEgZG9ja2VyIGxvZ2luCmBudmNyLmlvYCBy" + - "ZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBh" + - "bmQgYWZ0ZXIKaW5zdGFsbCwgc2luY2UgYGRvY2tlcmAgYW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hp" + - "bmUgc3RpbGwgc2VuZCBpdC4gVGhlIGtleSBpcwpzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5" + - "IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUgcm93Cm5hbWVzIGJvdGgu" + - "IEFmdGVyIGluc3RhbGwgdGhlIHJvdyBhbHNvIHNheXMgd2hldGhlciBvbmUgb2YgdGhlIHB1bGwg" + - "c2VjcmV0cwpiZWxvdyBob2xkcyB0aGF0IGRvY2tlciBsb2dpbi4gQmVmb3JlIGluc3RhbGwsIGEg" + - "ZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzCnRvIHRoZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRz" + - "IGNvbWUgZnJvbSBmYWlscyBpdCB0b28sIGFsdGhvdWdoIHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQs" + - "IHNpbmNlIGBoZWxtYCBwdWxscyB0aGUgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhh" + - "dCBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MsIG5vdCBhcyBhIHJlamVjdGVkIGxvZ2luLiBFbHNl" + - "d2hlcmUsIGFuZCBhZnRlciBpbnN0YWxsLAphIGRvY2tlciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBw" + - "YXNzZXMgd2hlcmUgdGhlIE5HQyBrZXkgcmVhY2hlcyB0aGUKcmVwb3NpdG9yeS4gQSByZWplY3Rl" + - "ZCBOR0Mga2V5IGlzIGEgd2FybmluZyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJl" + - "YWRzIHRoZSBwdWxsIHNlY3JldHMgb2YgdGhlIGNsdXN0ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5h" + - "bWVzcGFjZXMgdGhlCnZhbGlkYXRvciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZCBub25l" + - "IG9mIHRoZW0gaG9sZHMgdGhhdCBrZXk7IHdoZW4Kb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFs" + - "bCBiZSByZWFkLCBpdCBpcyBhbiBlcnJvci4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90" + - "IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBj" + - "cmVkZW50aWFsIGFyZQp3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFr" + - "IHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRo" + - "IGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlz" + - "Cm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlk" + - "IGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxp" + - "ZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRo" + - "IGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3Rh" + - "Y2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5" + - "IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdh" + - "dGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVz" + - "cyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0" + - "aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0" + - "aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBj" + - "b21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBk" + - "cm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sn" + - "cyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBp" + - "LmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwK" + - "fCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAg" + - "d2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFs" + - "aWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRT" + - "YCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhl" + - "IHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVp" + - "cmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBu" + - "YW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2Jl" + - "IGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0Zf" + - "TjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0" + - "aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2Ny" + - "aWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZg" + - "IG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZv" + - "ciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBg" + - "IGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxs" + - "IHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIg" + - "YGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUg" + - "Y29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1z" + - "dGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4g" + - "dGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2Ug" + - "dGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGly" + - "ZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBj" + - "b21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTov" + - "L2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMg" + - "Y29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0" + - "YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGly" + - "ZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0" + - "aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZj" + - "ci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBG" + - "bGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1l" + - "IE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBg" + - "LS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVn" + - "aW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9u" + - "bHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBg" + - "ZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVs" + - "dCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUg" + - "Y29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAg" + - "fCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBg" + - "LS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBj" + - "b21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFu" + - "ZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0" + - "ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWly" + - "ZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8Cnwg" + - "YC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdu" + - "b3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3Rz" + - "IHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2Ag" + - "fCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0" + - "ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBm" + - "b3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERV" + - "UkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0" + - "ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3Zl" + - "cnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0" + - "cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlh" + - "dGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czog" + - "YHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3" + - "YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUg" + - "RklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMu" + - "IEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwt" + - "LS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2Ug" + - "SU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwg" + - "Q29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBP" + - "UlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBE" + - "RUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBg" + - "LS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENh" + - "biBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBM" + - "TE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVy" + - "bmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAt" + - "LWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAg" + - "fCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2Rl" + - "bCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVy" + - "aT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7" + - "IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwg" + - "YE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpT" + - "T04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29t" + - "bWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkg" + - "UFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dl" + - "ciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50" + - "LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlk" + - "ZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRl" + - "cy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5l" + - "IHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVs" + - "IHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcu" + - "dXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9z" + - "ZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2Nv" + - "bXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNv" + - "bmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29g" + - "LCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50" + - "b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRp" + - "dmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBv" + - "cnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3Vycyks" + - "IGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29t" + - "YmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAw" + - "LUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5k" + - "ZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBm" + - "dW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hh" + - "cnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVh" + - "dGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2Vydmlj" + - "ZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9u" + - "IHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUg" + - "ZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1l" + - "IGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQ" + - "SSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24g" + - "c3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBk" + - "YXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0t" + - "bGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08" + - "bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJl" + - "cGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1p" + - "dCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxp" + - "bWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNl" + - "IHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZh" + - "dWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxs" + - "bS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJp" + - "b3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5D" + - "QSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpT" + - "T04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdp" + - "dGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1D" + - "b25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFk" + - "YXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBs" + - "b3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAo" + - "ZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBv" + - "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0" + - "aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgx" + - "MDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAg" + - "fAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1p" + - "bnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1" + - "cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBs" + - "aWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1" + - "dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVj" + - "aWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0" + - "YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3Rl" + - "cyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkg" + - "fCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUg" + - "R1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1w" + - "bGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJl" + - "cXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8x" + - "eGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1" + - "c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0g" + - "Y2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1p" + - "bWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJ" + - "IGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNr" + - "ZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5B" + - "TUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBh" + - "cmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVu" + - "Y2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAt" + - "LWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRh" + - "aW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMg" + - "TkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVu" + - "Y3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdh" + - "bGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBv" + - "bWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0" + - "aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZh" + - "dWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBl" + - "cmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhg" + - "IHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFz" + - "ayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAg" + - "fCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2Rl" + - "bC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8" + - "IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxl" + - "IHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZh" + - "Y3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBD" + - "b21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlv" + - "biB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5k" + - "cG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3Mg" + - "dGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlE" + - "YCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCDVnbCziXQAA4l0AAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + - "ZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25v" + - "d24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBL" + - "ZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVR" + - "LTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRv" + - "IGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5" + - "LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVj" + - "a19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlz" + - "IHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUg" + - "dmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRz" + - "IHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwK" + - "fC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3Mg" + - "YCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBv" + - "dGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJ" + - "bnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rv" + - "b2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBT" + - "YW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8" + - "CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2Nz" + - "L2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92" + - "YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBp" + - "bWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNl" + - "dCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNG" + - "X0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1h" + - "Z2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0" + - "ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBu" + - "b3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1" + - "bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBu" + - "YW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZh" + - "bGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAo" + - "Li4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBu" + - "b3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dg" + - "IGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0" + - "LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93" + - "bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0" + - "ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9n" + - "YCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwg" + - "bG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQg" + - "ZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdh" + - "eSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95" + - "cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3Jl" + - "YXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczog" + - "RGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0" + - "IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3Vi" + - "ZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3Rv" + - "cmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9y" + - "IHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmls" + - "ZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8" + - "CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBO" + - "b3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxs" + - "b2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlz" + - "IG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlh" + - "LmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwt" + - "Z3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBH" + - "UFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxl" + - "LW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhp" + - "dCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRl" + - "cywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBh" + - "biBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21t" + - "YW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpz" + - "b25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRo" + - "ZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9y" + - "Y2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8" + - "CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8" + - "YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9s" + - "dW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBv" + - "bGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51" + - "dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJh" + - "dGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0" + - "YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5k" + - "aW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYg" + - "bm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJl" + - "bGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBg" + - "aGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJl" + - "bGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFz" + - "IG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xv" + - "YWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVz" + - "IHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAt" + - "LXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0" + - "IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1" + - "cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVs" + - "ZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24g" + - "YSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZF" + - "Uj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZp" + - "cm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQg" + - "YEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdp" + - "dGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxl" + - "LW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8" + - "IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3" + - "aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFs" + - "bCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShm" + - "bGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMv" + - "YmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUg" + - "ZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFs" + - "bCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0" + - "cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBk" + - "eW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGlu" + - "c3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8" + - "CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1j" + - "bGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50" + - "ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBT" + - "aWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0" + - "Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50" + - "IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGlu" + - "aXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rp" + - "b24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBz" + - "Y29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVu" + - "IHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwg" + - "UmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9y" + - "IGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8" + - "IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMg" + - "LW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVj" + - "aWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBm" + - "YW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUi" + - "OiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0" + - "ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5" + - "ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFg" + - "IChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5v" + - "dCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRl" + - "ciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0" + - "aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3" + - "MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJh" + - "dG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIg" + - "YnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJh" + - "dG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3lt" + - "cHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBD" + - "cmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4u" + - "L3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBm" + - "cm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0" + - "ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1w" + - "b3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5k" + - "IHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1Mg" + - "aW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5" + - "IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwK" + - "fCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1h" + - "Z2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBk" + - "ZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0" + - "IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4g" + - "fCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sg" + - "TkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAt" + - "bCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMj" + - "IFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8" + - "IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlh" + - "bCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFs" + - "dWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVg" + - "IHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUg" + - "bmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBh" + - "Y2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAg" + - "KGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVu" + - "IHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQg" + - "cmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZj" + - "dC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NL" + - "SUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpk" + - "ZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29u" + - "dHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhl" + - "bG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93" + - "biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3Rpbmcu" + - "IFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + - "YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGlu" + - "c3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1m" + - "aWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNl" + - "IGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3Bt" + - "ZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTog" + - "UmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRp" + - "ZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNm" + - "LWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAi" + - "MS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwg" + - "Y29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwg" + - "ZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVw" + - "LCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUt" + - "ZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAi" + - "CiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + - "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + - "b3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdv" + - "cmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVj" + - "dHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9u" + - "YWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFu" + - "ZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3Ig" + - "aW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxm" + - "LW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBr" + - "ZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZv" + - "ciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShy" + - "ZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCku" + - "CgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhl" + - "IG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5" + - "IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29u" + - "dHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2Vj" + - "cmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0" + - "ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25t" + - "ZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVp" + - "dGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNp" + - "b25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVy" + - "c2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5" + - "IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNr" + - "Ojx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBj" + - "b250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1" + - "YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3Rh" + - "cnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBg" + - "YmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQg" + - "c2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpo" + - "ZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJl" + - "Y3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24g" + - "b2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJh" + - "Y3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3Rv" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2Vj" + - "cmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZy" + - "b20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRz" + - "LnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBs" + - "ZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQt" + - "ZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2Vk" + - "ZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBg" + - "YHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBt" + - "ZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRl" + - "cykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdv" + - "IHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBi" + - "eQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAg" + - "LT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0" + - "IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFz" + - "c2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVz" + - "LCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFy" + - "Yml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVu" + - "dGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0" + - "LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVs" + - "ZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10o" + - "I292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgoj" + - "IyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcg" + - "YSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + - "cjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAt" + - "byB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20g" + - "YSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZ" + - "PSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNm" + - "IGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3Rs" + - "IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXIt" + - "c2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAg" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5z" + - "IiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9u" + - "ZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFj" + - "aCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2Vj" + - "cmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8g" + - "eW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0" + - "cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBk" + - "b2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBt" + - "dXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBj" + - "b21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2Vu" + - "JyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0" + - "aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dv" + - "cmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1l" + - "IEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3" + - "cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBs" + - "YXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRo" + - "ZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywg" + - "YnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29u" + - "ZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0" + - "aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxz" + - "IGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNj" + - "ZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdy" + - "b25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9u" + - "ZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1t" + - "ZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0" + - "b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVh" + - "ZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBm" + - "cm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMj" + - "IyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRo" + - "ZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2Vz" + - "IGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBh" + - "bgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hl" + - "cmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBh" + - "dXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50" + - "aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdl" + - "OgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdp" + - "c3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAg" + - "ICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9u" + - "bHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5" + - "OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4K" + - "ICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFy" + - "dGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3Jpbmcu" + - "IENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWly" + - "cm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0" + - "byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5u" + - "Z2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVk" + - "IGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5" + - "LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gK" + - "ICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxg" + - "IHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3Vy" + - "LXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQog" + - "ICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwg" + - "c3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0" + - "cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1" + - "bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlv" + - "dSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAx" + - "CiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0" + - "aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9n" + - "aW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUg" + - "cmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1" + - "bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJl" + - "Z2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4g" + - "d2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBt" + - "aXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0" + - "aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4" + - "IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJl" + - "IHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3Rp" + - "bmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdh" + - "eSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0" + - "YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBg" + - "CgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5k" + - "IEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBh" + - "bmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0" + - "IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxl" + - "IHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNv" + - "bm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0" + - "YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRz" + - "IHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRl" + - "ciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IERO" + - "UyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5t" + - "ZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxN" + - "RklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJl" + - "ZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAj" + - "IERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0" + - "cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9Q" + - "QVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFs" + - "LAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNo" + - "QG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwg" + - "dGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+" + - "IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVz" + - "IHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0" + - "byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUu" + - "IERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5k" + - "ZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0t" + - "LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdy" + - "b3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8" + - "CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRp" + - "b24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3Jv" + - "dXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFj" + - "a2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3Vw" + - "PWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3Jv" + - "dXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEt" + - "MiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9u" + - "YWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5l" + - "ZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZy" + - "b250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlz" + - "IGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5" + - "IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBj" + - "b250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91" + - "dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNr" + - "YWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRo" + - "ZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBg" + - "YHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBw" + - "aW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9t" + - "YWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQg" + - "ZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMu" + - "dmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBo" + - "b3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1l" + - "IG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRj" + - "aGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMg" + - "dGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZp" + - "Y2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJ" + - "TEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jl" + - "c3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVz" + - "ZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2Yg" + - "LWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRw" + - "cm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4i" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFu" + - "aXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQpp" + - "bnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkg" + - "dGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFs" + - "KQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJ" + - "LiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBw" + - "YWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVk" + - "IHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBg" + - "bnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1p" + - "biBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRv" + - "IHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxs" + - "IHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBV" + - "SSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRo" + - "ZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBk" + - "b2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVh" + - "bHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZp" + - "bGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiBy" + - "ZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0g" + - "Q0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNv" + - "bnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVy" + - "IGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93" + - "IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNy" + - "ZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3du" + - "CgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1" + - "c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0" + - "ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRp" + - "b24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5" + - "IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJl" + - "OiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lz" + - "YCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwg" + - "YG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBg" + - "YWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5j" + - "bHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wt" + - "cGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBi" + - "dXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVz" + - "ZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2Vy" + - "dC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lz" + - "ZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRl" + - "bGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpC" + - "ZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdl" + - "ciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZl" + - "Y3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1" + - "ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJl" + - "bGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5j" + - "ZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92" + - "YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxp" + - "Y2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRl" + - "IHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1G" + - "SUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVz" + - "cGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVs" + - "ZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJp" + - "ZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5h" + - "dHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBg" + - "YAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUg" + - "KGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "cHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3Jh" + - "Z2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55" + - "IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290" + - "bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8" + - "cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRo" + - "ZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNp" + - "b246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fz" + - "c2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFs" + - "LnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhF" + - "TE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNv" + - "dXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAg" + - "IG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBh" + - "IHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcg" + - "YHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCBy" + - "ZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMj" + - "IFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJl" + - "dmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRy" + - "YSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJl" + - "IHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBh" + - "bmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRo" + - "IHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBs" + - "YW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2Fy" + - "IEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1" + - "bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVu" + - "Y3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxh" + - "dGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8" + - "IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwg" + - "YDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXAp" + - "IHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0" + - "cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1w" + - "dWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2Nr" + - "ZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1" + - "dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90" + - "ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUg" + - "Tk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUg" + - "cGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdo" + - "aWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4g" + - "Qm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBu" + - "dmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUg" + - "YGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1" + - "ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRv" + - "YXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQo" + - "PGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVl" + - "OiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5j" + - "b2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6" + - "IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwg" + - "YW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBz" + - "eW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtl" + - "eSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVh" + - "ZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBg" + - "YGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNz" + - "bCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fy" + - "cy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3Vk" + - "IFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNh" + - "cnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNm" + - "IGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBg" + - "YGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWly" + - "cm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJz" + - "IG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlm" + - "ZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1h" + - "Z2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3" + - "byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdp" + - "c3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBz" + - "ZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2" + - "ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xp" + - "Y3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBv" + - "ZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0" + - "cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25z" + - "IG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZl" + - "cm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpo" + - "ZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1u" + - "YW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9y" + - "dCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0" + - "cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7" + - "IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + - "ICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1" + - "dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1u" + - "YW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBh" + - "cHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJl" + - "Y3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhl" + - "IHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFn" + - "ZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFz" + - "aAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0n" + - "ey5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1j" + - "cmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlh" + - "bCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJu" + - "byBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVy" + - "ZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBE" + - "ZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9k" + - "cyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3Qg" + - "LUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxl" + - "YXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + - "JyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQ" + - "dWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwg" + - "c2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3Jl" + - "dHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2Fp" + - "dGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3Rh" + - "dHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9s" + - "b2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhl" + - "IHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0" + - "YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFz" + - "ZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZh" + - "bHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVu" + - "YmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9i" + - "IGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBT" + - "ZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIklu" + - "aXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZh" + - "dWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2Ag" + - "dmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBj" + - "cmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9u" + - "bHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBh" + - "c3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2Vy" + - "dmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9D" + - "QVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tl" + - "ZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9y" + - "IG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMg" + - "YW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGlu" + - "c3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRo" + - "ZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFz" + - "ZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9i" + - "L252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291" + - "bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9v" + - "dHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5z" + - "dGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9m" + - "IGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBw" + - "ZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQg" + - "Ym9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2Vy" + - "dmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3Vu" + - "ZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBl" + - "cnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0" + - "byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJy" + - "aWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIu" + - "ZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0" + - "YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2Rl" + - "ZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBg" + - "dXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJ" + - "T049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFw" + - "IHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxs" + - "YCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290" + - "c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQg" + - "b25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxs" + - "IGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhh" + - "biBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNy" + - "ZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5z" + - "IGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5" + - "IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJz" + - "dCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50" + - "LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBl" + - "Y3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5" + - "bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0" + - "aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0" + - "YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4g" + - "bnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJ" + - "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxv" + - "Z3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhl" + - "IGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0" + - "YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5k" + - "IEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQt" + - "dG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxt" + - "ZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwg" + - "c2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNl" + - "bGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywg" + - "bWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlk" + - "YXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2Vs" + - "Zi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tp" + - "bGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgi" + - "OiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBz" + - "a2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxl" + - "IChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBs" + - "dWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1" + - "c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJz" + - "aW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + - "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + - "ZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZp" + - "bGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2gg" + - "cmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVy" + - "c2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "aGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3Rh" + - "bGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNs" + - "aWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQg" + - "bm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFz" + - "c2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwK" + - "ICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZD" + - "RiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + - "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0" + - "ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVs" + - "bWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5p" + - "bmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGlt" + - "cG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVk" + - "X2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUg" + - "YWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4u" + - "IHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBs" + - "YXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJl" + - "dmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0" + - "aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENs" + - "ZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + - "aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNr" + - "ZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNr" + - "ZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRv" + - "IGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNG" + - "LW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlk" + - "IG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQg" + - "Y29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVh" + - "bnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZD" + - "RkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRo" + - "ZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmlu" + - "YWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdl" + - "dGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQp" + - "IGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBh" + - "Z2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQg" + - "Zmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1o" + - "ZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNG" + - "IGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhl" + - "IEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1" + - "dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmls" + - "ZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBh" + - "dXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25t" + - "ZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2No" + - "ZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRo" + - "ZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNN" + - "U19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBs" + - "YW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25m" + - "aWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBm" + - "cm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNl" + - "cGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mv" + - "c2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3Rlcmlu" + - "ZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + - "aWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlz" + - "X3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9o" + - "b3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2Vu" + - "dCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVy" + - "LWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01T" + - "X1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50" + - "IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcg" + - "d2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21w" + - "dXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25s" + - "eSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRl" + - "ciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJh" + - "dGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAog" + - "ICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBm" + - "b3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1" + - "ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVu" + - "dCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBh" + - "bmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90" + - "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + - "IHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4i" + - "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + - "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + - "biIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1" + - "dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFn" + - "ZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVz" + - "ZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFp" + - "bmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5v" + - "dCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBw" + - "cm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjog" + - "IlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxl" + - "IHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwu" + - "eWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBp" + - "bnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3lu" + - "YyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQg" + - "Zm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMv" + - "LCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxl" + - "cyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBo" + - "ZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4" + - "dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBd" + - "CiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlv" + - "biI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdl" + - "ZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0" + - "YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxl" + - "IHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNl" + - "cnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBs" + - "b3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhl" + - "biBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0" + - "YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGlu" + - "ZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50" + - "IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJl" + - "Y3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhp" + - "c3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAo" + - "Y2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywg" + - "dmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBu" + - "YW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhl" + - "bG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhl" + - "IGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95" + - "IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMg" + - "KGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHBy" + - "b3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBo" + - "ZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBj" + - "b21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIs" + - "CiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxh" + - "bmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNl" + - "IG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBh" + - "bmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJl" + - "ZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4g" + - "dGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQg" + - "Y29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lz" + - "dGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFp" + - "biBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1" + - "bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkg" + - "aW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2Zm" + - "LiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUg" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0" + - "aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAt" + - "LWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291" + - "dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVy" + - "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVy" + - "IGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1l" + - "LCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5z" + - "dGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0" + - "YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVz" + - "dGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFz" + - "IHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyBy" + - "ZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2Fu" + - "ZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0" + - "aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhw" + + "YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgb24gd2l0aCBgdHJ1ZWAs" + + "IGAxYCwgYHllc2AsIGB5YCBvciBgb25gIGFuZCBvZmYgd2l0aCBgZmFsc2VgLCBgMGAsIGBub2As" + + "IGBuYCBvciBgb2ZmYCwgaW4gYW55IGNhc2UuIEFueSBvdGhlciB2YWx1ZSBpcyBhbiBlcnJvciB8" + + "IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAs" + + "IGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1" + + "aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3Rz" + + "IGl0cyBvd24uIE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNz" + + "IGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0" + + "ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwg" + + "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6" + + "IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNo" + + "YWJpbGl0eSwgc2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBv" + + "ciBgLS1jb21wdXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRo" + + "IGEgcm9sZSdzIG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVz" + + "dGVyIGFzIGluc3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhl" + + "bG1maWxlYCBvciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBj" + + "aGVjayBhbiBpbnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3" + + "YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxl" + + "ZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFu" + + "ZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNv" + + "bXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3Zl" + + "ciBuYW1lc3BhY2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEg" + + "Y29uZmlndXJlZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRh" + + "dG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAt" + + "LWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhv" + + "dXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIg" + + "bmFtZSBzaG93biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBj" + + "aGVja2AgZG9lcyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2Ag" + + "fCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhl" + + "IGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVu" + + "IHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMs" + + "IHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3Rp" + + "ZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVu" + + "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCwgb24gd2l0aCBgdHJ1ZWAsIGAx" + + "YCwgYHllc2AsIGB5YCBvciBgb25gIGFuZCBvZmYgd2l0aCBgZmFsc2VgLCBgMGAsIGBub2AsIGBu" + + "YCBvciBgb2ZmYCwgaW4gYW55IGNhc2UuIEFueSBvdGhlciB2YWx1ZSBpcyBhbiBlcnJvciB8IGBm" + + "YWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMg" + + "YXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEK" + + "U2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBp" + + "dCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCBy" + + "ZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1" + + "biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0" + + "aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBvbiBg" + + "cG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRoYXQg" + + "c3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlwdCBj" + + "b3VsZCBub3QgYmUgcmVhZCwgc28gbmVpdGhlciB0aGUgY2hlY2tzIGl0IHJhbiBub3Igd2Fybmlu" + + "Z3MgaXQKcmVwb3J0ZWQgYXJlIHNob3duLgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhl" + + "IGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFl" + + "bW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBw" + + "cm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBy" + + "dW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + + "LXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBS" + + "ZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0Vg" + + "LCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFn" + + "IGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5v" + + "IHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0" + + "cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmll" + + "cyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRv" + + "ZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3" + + "YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12" + + "YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lz" + + "dHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQg" + + "dGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRh" + + "dG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4" + + "YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5z" + + "dGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFj" + + "aydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlg" + + "LCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0" + + "aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNt" + + "ZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3" + + "aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhl" + + "IGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHBy" + + "b3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBj" + + "b21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJ" + + "RVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9m" + + "IHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUt" + + "aW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29u" + + "dHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMg" + + "YHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBl" + + "ZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0Vg" + + "OyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDox" + + "LjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNv" + + "bXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUg" + + "dGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sg" + + "Zm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFu" + + "ZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRh" + + "YmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01Q" + + "T05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRo" + + "ZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBF" + + "bnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29u" + + "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBv" + + "ZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0" + + "aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhl" + + "IHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBj" + + "YXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0" + + "IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1h" + + "bGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBh" + + "cmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29u" + + "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5n" + + "cyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5" + + "IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdo" + + "ZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBk" + + "ZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVz" + + "IHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0" + + "IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxp" + + "bmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBj" + + "cmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50" + + "aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdh" + + "cyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0t" + + "c2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3Ig" + + "cHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90" + + "IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwg" + + "Zm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2gg" + + "cm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNh" + + "eXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVS" + + "X1ZBTElEQVRJT05gLCBvbiB3aXRoIGB0cnVlYCwgYDFgLCBgeWVzYCwgYHlgIG9yIGBvbmAgYW5k" + + "IG9mZiB3aXRoIGBmYWxzZWAsIGAwYCwgYG5vYCwgYG5gIG9yIGBvZmZgLCBpbiBhbnkgY2FzZS4g" + + "QW55IG90aGVyIHZhbHVlIGlzIGFuIGVycm9yIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAg" + + "fCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQg" + + "Q29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxs" + + "IGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhh" + + "biByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9i" + + "YC4gQSBsYXRlciBjaGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVzIHRoZW0gb25j" + + "ZSB0aGV5IGFyZSAyNCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNs" + + "ZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0" + + "aGF0IHJlbW92ZXMgdGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXdhaXRgIHwg" + + "YGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9yIHRyYW5zY3Jp" + + "cHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBgLS0tIGNsdXN0" + + "ZXItdmFsaWRhdG9yIGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hpbmcgZW5kIGxp" + + "bmUsIHdoZXJlIHRoZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVyYCBvciBgY29t" + + "cHV0ZS1wbGFuZS1jbHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1q" + + "c29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJz" + + "ZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVu" + + "dGlhbHMKCmBjaGVja2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hp" + + "bmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6" + + "IGAkRE9DS0VSX0NPTkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25g" + + "LCB0aHJvdWdoIGFueSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBg" + + "bnZjci5pb2AgdGhlIE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YK" + + "YE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0Nf" + + "QVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2Yg" + + "dGhlIGRvY2tlciBsb2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNrJ3MgcGxhbmUsIGJl" + + "bG93LCBpcyB0aGUgY29udHJvbCBwbGFuZSwgY2hlY2tlZCBiZWZvcmUgaXRzCmluc3RhbGwgd2l0" + + "aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsIHNl" + + "Y3JldHMKZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4g" + + "RWxzZXdoZXJlIHRoZSBrZXkKaXMgc2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwg" + + "b3IgZm9yIGEgcmVwb3NpdG9yeSB3aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxv" + + "Z2luIChhIDQwMSkgb3IgZ2l2ZXMgaXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRl" + + "ZCBvbmNlIHBlciByZXBvc2l0b3J5LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQg" + + "dGhlCnZhbGlkYXRvcidzIHB1bGwgc2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUg" + + "c2FtZSBjcmVkZW50aWFsLCBhbmQgYQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0" + + "aWxsIHNlcnZlcyB0aGUgb3JncyBpdCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBh" + + "Y2Nlc3MgdG8gdGhhdCByZXBvc2l0b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNo" + + "CmAtLXdhaXRgIHBvbGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJl" + + "bmV3ZWQgd2hpbGUgdGhlIHJ1bgp3YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBw" + + "cm9iZSBhc2tzIGZvciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3Np" + + "dG9yeSBhbmQgdG8gdGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5p" + + "bWFnZS5yZWdpc3RyeWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBw" + + "YXRoIG9mIG9uZSBzZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBz" + + "ZW50IGFzIHRoZSBzY29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuIFdoZW4gdGhlIHN0" + + "YWNrJ3MKT0NJIGNoYXJ0IHNvdXJjZSwgYGdsb2JhbC5oZWxtLnNvdXJjZXMucmVnaXN0cnlgIGFu" + + "ZCBgLnJlcG9zaXRvcnlgLCBpcyB0aGF0CnNhbWUgcGF0aCwgaXRzIHJvdyBpcyBhbHNvIHRoZSBv" + + "bmUgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgc3RhY2sncwpjaGFydHMgZnJvbSwg" + + "d2l0aCB0aGUgZG9ja2VyIGxvZ2luLgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25l" + + "IHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFs" + + "bCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmlu" + + "c3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFu" + + "ZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhl" + + "IGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29u" + + "dHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5l" + + "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + + "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + + "bWVzLiBUaGF0IGluY2x1ZGVzIGEgZG9ja2VyIGxvZ2luCmBudmNyLmlvYCByZWplY3RzIGV2ZW4g" + + "d2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIKaW5z" + + "dGFsbCwgc2luY2UgYGRvY2tlcmAgYW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgc3RpbGwgc2Vu" + + "ZCBpdC4gVGhlIGtleSBpcwpzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFs" + + "aWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUgcm93Cm5hbWVzIGJvdGguIEFmdGVyIGluc3Rh" + + "bGwgdGhlIHJvdyBhbHNvIHNheXMgd2hldGhlciBvbmUgb2YgdGhlIHB1bGwgc2VjcmV0cwpiZWxv" + + "dyBob2xkcyB0aGF0IGRvY2tlciBsb2dpbi4gQmVmb3JlIGluc3RhbGwsIGEgZG9ja2VyIGxvZ2lu" + + "IHdpdGggbm8gYWNjZXNzCnRvIHRoZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRzIGNvbWUgZnJvbSBm" + + "YWlscyBpdCB0b28sIGFsdGhvdWdoIHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQsIHNpbmNlIGBoZWxt" + + "YCBwdWxscyB0aGUgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhhdCBpcwpyZXBvcnRl" + + "ZCBhcyBubyBhY2Nlc3MsIG5vdCBhcyBhIHJlamVjdGVkIGxvZ2luLiBFbHNld2hlcmUsIGFuZCBh" + + "ZnRlciBpbnN0YWxsLAphIGRvY2tlciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBwYXNzZXMgd2hlcmUg" + + "dGhlIE5HQyBrZXkgcmVhY2hlcyB0aGUKcmVwb3NpdG9yeS4gQSByZWplY3RlZCBOR0Mga2V5IGlz" + + "IGEgd2FybmluZyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJlYWRzIHRoZSBwdWxs" + + "IHNlY3JldHMgb2YgdGhlIGNsdXN0ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhl" + + "CnZhbGlkYXRvciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZCBub25lIG9mIHRoZW0gaG9s" + + "ZHMgdGhhdCBrZXk7IHdoZW4Kb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBp" + + "dCBpcyBhbiBlcnJvci4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90IHJlYWNoLCBhIHRv" + + "a2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFy" + + "ZQp3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFz" + + "IEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0" + + "byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4g" + + "YW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxz" + + "LgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0" + + "aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9u" + + "bWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRp" + + "bmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18" + + "LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0" + + "ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5n" + + "YXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5h" + + "dHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxs" + + "bVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0" + + "ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRo" + + "ZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8Cnwg" + + "RW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJO" + + "YW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBj" + + "b21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJs" + + "ZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVy" + + "bmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFn" + + "ZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBj" + + "aGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1" + + "bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAt" + + "IHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lN" + + "QUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBj" + + "aGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0" + + "YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklM" + + "RV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAt" + + "LXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdp" + + "dGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAu" + + "IGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0" + + "aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5" + + "IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1" + + "aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBh" + + "biBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJh" + + "Y3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQs" + + "IGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0" + + "YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVh" + + "ZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3Ro" + + "ZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9y" + + "IGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJv" + + "YmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNN" + + "UyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURg" + + "IHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAg" + + "fCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1" + + "bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMj" + + "IGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFu" + + "ZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJl" + + "bmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2Fk" + + "ZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBh" + + "bmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2Vg" + + "IHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVx" + + "dWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8Cnwg" + + "YC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwg" + + "VVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5n" + + "YCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8" + + "CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBv" + + "bmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8Cnwg" + + "YC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8" + + "IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4" + + "cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRp" + + "b24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVs" + + "dCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZh" + + "bGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBt" + + "aW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRz" + + "KSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoK" + + "IyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + + "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + + "Y3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + + "dGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGlu" + + "ZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFp" + + "bmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJF" + + "QU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0" + + "IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdp" + + "dGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRz" + + "LiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2Vydmlj" + + "ZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRg" + + "IGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBt" + + "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExM" + + "TSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJv" + + "dXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUu" + + "IFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBE" + + "YCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJp" + + "bmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxk" + + "IHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwg" + + "RnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2" + + "ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5D" + + "QS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJs" + + "ZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMg" + + "YSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0g" + + "ZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0" + + "YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFy" + + "ZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1v" + + "ZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwg" + + "YC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5n" + + "TWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0" + + "aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1p" + + "dGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0" + + "b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBh" + + "cmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyks" + + "IGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0" + + "cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1X" + + "YCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2Yg" + + "YGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0" + + "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + + "ZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4g" + + "YGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9z" + + "ZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVz" + + "ZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQg" + + "c2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRl" + + "ZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBj" + + "YW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsg" + + "ZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZp" + + "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBU" + + "QUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVw" + + "ZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRp" + + "bmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJv" + + "dXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBg" + + "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwK" + + "fCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlv" + + "bi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkg" + + "c3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3Vu" + + "dC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJp" + + "ZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlk" + + "ZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlv" + + "biB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFt" + + "ZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5S" + + "YXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUg" + + "bm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1z" + + "cGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNw" + + "ZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + + "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1" + + "aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1p" + + "bnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1p" + + "bnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAg" + + "fCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwg" + + "Q29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0t" + + "Y2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMg" + + "fCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + + "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRp" + + "b25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFy" + + "cywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBu" + + "YW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8" + + "CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhv" + + "dXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWlt" + + "YWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + + "LWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9y" + + "IE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAt" + + "LWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJy" + + "aWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRg" + + "IHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNp" + + "ZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAt" + + "LWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNv" + + "bnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUg" + + "MzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9u" + + "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAg" + + "fCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCBy" + + "ZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVu" + + "IHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0" + + "aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVl" + + "IGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAg" + + "fAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBz" + + "dG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1" + + "bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0" + + "aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBs" + + "b2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVx" + + "dWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBO" + + "QU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + + "cmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFi" + + "bGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0" + + "ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAt" + + "LWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + + "IHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVu" + + "ZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0" + + "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCBN4bdssXwAALF8AAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + + "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0" + + "aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMg" + + "d2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lk" + + "ZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2Zh" + + "aWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZs" + + "aWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRg" + + "IGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdz" + + "IGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3Mg" + + "ZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRy" + + "YW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vz" + + "bid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMg" + + "d2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVj" + + "dGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwt" + + "a3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6" + + "Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90" + + "IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3Rh" + + "bGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1h" + + "Z2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25m" + + "aWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92" + + "YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVS" + + "X1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1" + + "c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2" + + "YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVu" + + "ZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwg" + + "aXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFz" + + "cyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Ig" + + "c3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3Nl" + + "ZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDog" + + "dGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0" + + "YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tz" + + "IGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2Ug" + + "dGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVj" + + "a3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVs" + + "dGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFu" + + "ZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdh" + + "dGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlz" + + "c2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdh" + + "eS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFj" + + "ZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9y" + + "YWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhl" + + "IHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBz" + + "YyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1" + + "YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFs" + + "LnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0Zf" + + "U1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxl" + + "YCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BV" + + "OiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Ig" + + "bm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2Vu" + + "dGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9y" + + "Lmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6" + + "IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "OiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUg" + + "bmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNv" + + "bmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5z" + + "aWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUg" + + "cm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0" + + "YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291" + + "cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhl" + + "IG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5h" + + "bWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJu" + + "aW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmlu" + + "YWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93" + + "LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3Rh" + + "bGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVh" + + "c2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRl" + + "LCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1" + + "bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBv" + + "ciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxu" + + "cz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3Rh" + + "bGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2Fy" + + "bmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVs" + + "ZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywg" + + "YXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9s" + + "dW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3Qg" + + "LS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1z" + + "aG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0" + + "YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0" + + "YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGlu" + + "c3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQg" + + "YGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5" + + "LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVS" + + "PXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkg" + + "VGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "IGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMg" + + "YmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0" + + "ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3Vu" + + "ZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0" + + "aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBh" + + "bmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQg" + + "b3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdo" + + "aWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVt" + + "YCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwg" + + "YW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8" + + "IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0" + + "b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFu" + + "ZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9y" + + "IGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJl" + + "amVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMp" + + "IGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxh" + + "bmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwK" + + "fCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8" + + "IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNm" + + "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZv" + + "a2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAg" + + "fCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVm" + + "YXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJh" + + "LXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5j" + + "dGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0" + + "aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5I" + + "MTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIg" + + "LyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJf" + + "UkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9u" + + "LWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxt" + + "ZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBi" + + "ZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8" + + "IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZj" + + "YS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwg" + + "SW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9j" + + "YWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMg" + + "PGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNl" + + "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNr" + + "T2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8" + + "IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJl" + + "Z2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUg" + + "ZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0" + + "ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + + "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vz" + + "bid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBg" + + "bnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBw" + + "b2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlh" + + "bC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8Cnwg" + + "RnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVh" + + "bSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNh" + + "bGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJu" + + "ZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0" + + "ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5h" + + "bWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkg" + + "YWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdp" + + "c3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwg" + + "RXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVn" + + "aXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBU" + + "NU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVk" + + "IGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBr" + + "dWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFw" + + "cGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEA" + + "ps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjog" + + "Pi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBh" + + "bmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVl" + + "cyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMg" + + "b3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBj" + + "b21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwg" + + "Q0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1h" + + "bmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2Fs" + + "IGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93" + + "IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVs" + + "bWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBr" + + "dWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxu" + + "dmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6" + + "IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFu" + + "ZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwg" + + "cHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRh" + + "ZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNv" + + "cmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252" + + "Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBj" + + "b21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxs" + + "LXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZp" + + "bGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMg" + + "TlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9y" + + "IG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBi" + + "dW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBn" + + "cmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxl" + + "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25U" + + "eXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hl" + + "bG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1" + + "aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBw" + + "YXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZl" + + "cnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBi" + + "YXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1z" + + "dGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRy" + + "b2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + + "az4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1" + + "dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3Rv" + + "cnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdD" + + "OgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9u" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRv" + + "d25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpg" + + "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5l" + + "IGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBh" + + "cmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0" + + "b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmls" + + "ZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBt" + + "b2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBs" + + "aXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24g" + + "ICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3Rlcgpg" + + "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFs" + + "LnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25t" + + "ZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3Ig" + + "RUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + + "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgoj" + + "IyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50" + + "cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJv" + + "bm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aApl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNv" + + "bnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBj" + + "b25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxl" + + "bnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRl" + + "biBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2Up" + + "CmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2gg" + + "c3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVj" + + "dG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFy" + + "dCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQg" + + "aWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJp" + + "ZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVz" + + "OmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmct" + + "aGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRl" + + "IG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJl" + + "Z2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJl" + + "Z2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+" + + "Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + + "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVz" + + "aW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSBy" + + "ZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdl" + + "LXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCBy" + + "ZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFy" + + "ZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1" + + "bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhl" + + "bnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUg" + + "cmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + + "JE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24g" + + "PHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3" + + "b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+" + + "IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBl" + + "ciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3Bh" + + "biBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxs" + + "Cj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdp" + + "c3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVu" + + "dCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBm" + + "aXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAg" + + "KG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkp" + + "LiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0" + + "aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVm" + + "b3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNz" + + "d29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5n" + + "Cj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xl" + + "IHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29t" + + "bWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + + "IGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdp" + + "c3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBp" + + "bWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUg" + + "b3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5" + + "KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFi" + + "b3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVn" + + "aXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxl" + + "LmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAg" + + "ICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFs" + + "c28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdp" + + "c3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+" + + "IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28g" + + "Y29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBp" + + "bWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBT" + + "b21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6" + + "Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNv" + + "bWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwu" + + "aGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9p" + + "bnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6" + + "Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAs" + + "IHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88" + + "bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBn" + + "bG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUu" + + "IFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21h" + + "dGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwg" + + "dGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVl" + + "ZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBj" + + "cmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5p" + + "bWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3Jl" + + "ZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdl" + + "IGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRl" + + "bnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJl" + + "Z2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhl" + + "IGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9t" + + "YWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMg" + + "c3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5" + + "IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToK" + + "CmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1u" + + "YW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + + "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVz" + + "cyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29u" + + "ZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBm" + + "b3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZv" + + "ciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1" + + "ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdB" + + "VEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1" + + "Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29y" + + "ZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBr" + + "ZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xp" + + "ZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMu" + + "bWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAK" + + "Cj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUg" + + "c2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1" + + "dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5k" + + "cmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYg" + + "eW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ug" + + "cm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jh" + + "c2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRp" + + "Y2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2" + + "YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQg" + + "cGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQ" + + "aGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0t" + + "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVu" + + "Y2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxl" + + "YXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJv" + + "eHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9u" + + "YWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + + "cyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwg" + + "R2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJp" + + "bGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9u" + + "aXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + + "IC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkg" + + "R2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3Vz" + + "dG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBz" + + "dGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBv" + + "bmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRk" + + "b24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZh" + + "bml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBz" + + "a2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5j" + + "bHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5h" + + "YmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25z" + + "OgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7" + + "fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRo" + + "ZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1z" + + "cGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdh" + + "eS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFk" + + "IG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBz" + + "dXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVj" + + "b3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHkt" + + "Z2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRl" + + "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAK" + + "ClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFi" + + "bGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVy" + + "bmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + + "cmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkg" + + "Zm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBv" + + "ciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0" + + "ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBp" + + "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNh" + + "YmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0" + + "IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2th" + + "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0" + + "ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBj" + + "dXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMg" + + "aW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1" + + "cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVm" + + "ZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBj" + + "b21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0" + + "YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3Nl" + + "IGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQK" + + "ICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUg" + + "ZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + + "IGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmlj" + + "YXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2" + + "ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVh" + + "cmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRv" + + "d24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJv" + + "bC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBv" + + "cGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBp" + + "bnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2" + + "aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVy" + + "LXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3" + + "aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + + "YWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBu" + + "YW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + + "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11" + + "c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0" + + "cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBo" + + "ZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJv" + + "bC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5h" + + "bC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGlu" + + "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRh" + + "dGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUg" + + "dGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVy" + + "aWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJh" + + "c2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFj" + + "ZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZj" + + "ZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJp" + + "ZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpX" + + "b3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAo" + + "ZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBn" + + "bG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVl" + + "KQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRk" + + "IGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1" + + "ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBz" + + "dGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAg" + + "Y29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3Rl" + + "bQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBs" + + "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + + "fX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + + "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5" + + "Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAg" + + "bWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNl" + + "cyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJl" + + "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBn" + + "bG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5k" + + "IGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAg" + + "IyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3Rp" + + "bmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUK" + + "Zm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0" + + "IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2Vj" + + "cmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwg" + + "U2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2Vy" + + "dmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2Ug" + + "YXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNh" + + "cnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2Vy" + + "LXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZh" + + "bHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJ" + + "X1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBP" + + "cGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAg" + + "KGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29u" + + "YCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5" + + "PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291" + + "bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2Nr" + + "ZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIK" + + "PiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFz" + + "ICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMg" + + "YXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtl" + + "cyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxk" + + "IG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBi" + + "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVz" + + "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZp" + + "Z2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24g" + + "Y3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFt" + + "ZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtl" + + "cidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQw" + + "M2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tz" + + "IGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFu" + + "ZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVk" + + "Cj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBB" + + "VVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEp" + + "Cj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxs" + + "LXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVu" + + "YWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVs" + + "bC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNm" + + "LWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUg" + + "KG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVz" + + "ZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUg" + + "aW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5" + + "LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUg" + + "c2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQg" + + "a2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBj" + + "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBv" + + "bmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21t" + + "ZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21h" + + "dGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBu" + + "YW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXIt" + + "Y2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBg" + + "YGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8v" + + "a3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwg" + + "a3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMg" + + "Mi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tF" + + "WT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRv" + + "bmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1m" + + "IGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRh" + + "dGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRz" + + "OiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + + "UHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAK" + + "Ck5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUu" + + "Zy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFN" + + "TCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + + "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMj" + + "IyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRl" + + "ICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3Rs" + + "IGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQg" + + "ZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVz" + + "ZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAg" + + "KyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hl" + + "Y2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0" + + "OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3Bl" + + "bkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5p" + + "dDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + + "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + + "dHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkg" + + "aW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBv" + + "cGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9u" + + "IG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNl" + + "cnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNr" + + "IiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNl" + + "cyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBi" + + "bG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2Ag" + + "Y29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRf" + + "Q0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGls" + + "bCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNz" + + "d29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFT" + + "U1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8" + + "CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2Ug" + + "Y2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2Ug" + + "fAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVk" + + "IHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFn" + + "YWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRp" + + "YWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + + "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0" + + "dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3Qt" + + "aW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQs" + + "IG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUt" + + "c3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkg" + + "YW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJh" + + "bl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0" + + "byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBh" + + "dGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhl" + + "IHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2lu" + + "ZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5v" + + "dGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiBy" + + "ZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNl" + + "bWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNw" + + "YDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3Qt" + + "MWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBl" + + "bnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRl" + + "ZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRo" + + "ZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBu" + + "dmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBv" + + "biBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQg" + + "eW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJl" + + "LXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApl" + + "dmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBg" + + "NDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRo" + + "ZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBc" + + "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklm" + + "IHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBh" + + "cGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9i" + + "IGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9j" + + "a3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFw" + + "aS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBq" + + "b2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2Fz" + + "IGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtl" + + "eGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0" + + "dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1w" + + "bGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1" + + "cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVm" + + "ZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBr" + + "ZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxz" + + "L2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVy" + + "c2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + + "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8g" + + "dmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEu" + + "MS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4x" + + "MSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRp" + + "ZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZh" + + "bGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9u" + + "JyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1" + + "ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZl" + + "cmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4g" + + "bGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIg" + + "dmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQg" + + "dG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlv" + + "biI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tp" + + "cCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBh" + + "c2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxh" + + "dGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUg" + + "c3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQg" + + "ZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + + "ZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0" + + "byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcg" + + "c3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlz" + + "IGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0Yg" + + "bmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAu" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFt" + + "ZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSBy" + + "ZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNl" + + "cyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0" + + "ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFt" + + "ZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBv" + + "dGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFu" + + "ZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVz" + + "b3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + + "IGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBz" + + "dHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + + "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + + "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90" + + "IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3Zp" + + "bmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxp" + + "dC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxh" + + "bmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0" + + "YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBh" + + "cmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBs" + + "dXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9z" + + "dCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBs" + + "YW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRo" + + "ZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + + "dGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGll" + + "ZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21w" + + "dXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "aW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxs" + + "aW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2Vf" + + "aHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJs" + + "LCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNt" + + "c19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdp" + + "dGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtV" + + "QkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVS" + + "X05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAog" + + "ICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMt" + + "dXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMg" + + "bm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3Zl" + + "cnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93" + + "IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1" + + "dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhw" + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxl" + - "IHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGlu" + - "ZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0" + - "aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFu" + - "ZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + - "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + - "ZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFs" + - "dWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3Jl" + - "dHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25l" + - "KSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTog" + - "c3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVu" + - "dGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1m" + - "aWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJx" + - "dWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fz" + - "c2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdp" + + "c3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWly" + + "ZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + + "YXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2Vy" + + "bmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVs" + + "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBO" + + "R0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90" + + "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + + "IHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkg" + + "b25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmls" + + "ZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAo" + + "aGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwp" + + "IGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRo" + + "ZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBi" + + "dW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEg" + + "bWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVk" + + "IGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywg" + + "Z2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBm" + + "b3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5j" + + "IiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9j" + + "YXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3Jt" + + "IGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBt" + + "eSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAg" + + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwg" + + "Y3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + + "YXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1v" + + "bml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBv" + + "bmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNv" + + "bXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFu" + + "ZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0" + + "b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5" + + "c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVt" + + "LCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBs" + + "YXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "SEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2ll" + + "cywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0" + + "IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUg" + + "YWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + + "IHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3" + + "aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "My1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRv" + + "IGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBh" + + "IHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxh" + + "Zy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250" + + "cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0" + + "YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhl" + + "IGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9m" + + "aWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQg" + + "ZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + + "bmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + + "YW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + + "bHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + + "bHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29u" + + "dGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + + "IHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFu" + + "ZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQg" + + "aW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAog" + + "ICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2lu" + + "dCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24i" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNl" + + "cyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxl" + + "ZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBk" + - "ZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBl" + - "bmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0t" + - "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkg" + - "ZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVu" + - "Y3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3Rl" + - "bSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9y" + - "IHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6" + - "ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEg" + - "cG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAg" + - "ImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAi" + - "Z3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFu" + - "ZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVz" + - "Y3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1" + - "bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlm" + - "aWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNz" + - "aW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5n" + - "Lm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUg" + - "dGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZv" + - "ciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9v" + - "ciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3Qg" + - "Y2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlk" + - "IjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAi" + - "Q29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBj" + - "b250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFu" + - "ZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0" + - "ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2Yt" + - "Z2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBv" + - "aW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQg" + - "TlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRp" + - "c2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3Qg" + - "ZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywg" + - "UmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVh" + - "dGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1" + - "ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1" + - "dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0" + - "ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxl" + - "ck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1n" + - "YXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0" + - "IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVS" + - "TCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJM" + - "LCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJv" + - "eHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBD" + - "IHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlB" + - "cGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBh" + - "bmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBz" + - "ZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxl" + - "ZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkg" + - "Q0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3Qi" + - "LAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVS" + - "TCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxT" + - "ZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIs" + - "CiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNs" + - "dWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBj" + - "cmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFu" + - "ZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEt" + - "c3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250" + - "cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGgg" + - "dGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3Vu" + - "ZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJl" + - "Z2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhl" + - "IGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBm" + - "b3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxh" + - "bmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlv" + - "biBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUg" + - "Y2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBh" + - "bmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNo" + - "aXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlz" + - "c2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNl" + - "IGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3Zl" + - "bmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRo" + - "ZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3Rh" + - "dHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5h" + - "bWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVk" + - "aWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBj" + - "b25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0" + - "ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3Rl" + - "bnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0" + - "IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVz" + - "dGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVz" + - "dHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNv" + - "bmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1" + - "c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAg" + - "ICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + - "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + - "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + - "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + - "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hl" + - "biBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAog" + - "ICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1l" + - "c3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2Ug" + - "cHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmls" + - "ZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVD" + - "T05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQg" + - "b3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNv" + - "bXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUg" + - "ZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMs" + - "IHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMg" + - "YW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2Fy" + - "bmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQg" + - "Z290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNv" + - "bmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFu" + - "ZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAi" + - "VGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0" + - "ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRp" + - "b25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVu" + - "Y2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZ" + - "QU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1" + - "ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5l" + - "ZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2Jh" + - "bC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBn" + - "bG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQg" + - "ZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlu" + - "bGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + - "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + - "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZh" + - "bHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlh" + - "bWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQg" + - "aWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNw" + - "ZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3Ms" + - "IGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFy" + - "Yml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVl" + - "czogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRo" + - "YXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJl" + - "IGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVu" + - "YWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1" + - "bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUg" + - "aXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZl" + - "cmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdl" + - "bnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1" + - "cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCBy" + - "b3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1v" + - "Zi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5r" + - "ZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Ig" + - "b3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVy" + - "LCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVu" + - "ZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50" + - "Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUg" + - "c2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQg" + - "d29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUg" + - "Y29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxh" + - "dGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhl" + - "IExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5h" + - "YmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2Vu" + - "dCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhl" + - "IHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQg" + - "dGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRo" + - "ZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVy" + - "IG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdh" + - "dGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGlu" + - "Y2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRl" + - "ZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0" + - "cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29u" + - "dHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBs" + - "YW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRl" + - "cGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVk" + - "IGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwg" + - "YW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAg" + - "IF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9u" + - "IjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5n" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxz" + - "ZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCBy" + - "ZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tp" + - "bGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90" + - "IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0" + - "ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2" + - "aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBo" + - "ZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAg" + - "IlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFu" + - "Y2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0K" + - "ICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFt" + - "cGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3Mu" + - "CgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0" + - "IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5" + - "cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3Rh" + - "cnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhl" + - "bG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGlu" + - "ZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3Vy" + - "Y2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBB" + - "ZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCklu" + - "IHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNl" + - "Y3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0g" + - "bmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5l" + - "bmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAg" + - "dmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFs" + - "dWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0g" + - "Y2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAg" + - "ICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3Rz" + - "OgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMj" + - "IyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0" + - "ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAg" + - "IyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + - "LXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRg" + - "IChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5k" + - "cmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0K" + - "CiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxs" + - "IFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBm" + - "cm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5n" + - "IGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBm" + - "b3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06" + - "CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBu" + - "dmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6" + - "IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBo" + - "ZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRv" + - "YXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8g" + - "LXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0" + - "ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZ" + - "PSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + - "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNw" + - "YWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNh" + - "c3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5" + - "c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAt" + - "LWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9r" + - "ZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNw" + - "YWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVw" + - "IDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNo" + - "YXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFt" + - "cGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290" + - "bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRp" + - "dGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8" + - "PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAg" + - "LSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNl" + - "Y3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1h" + - "Z2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUg" + - "a2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMu" + - "IEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBp" + - "biBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBu" + - "dmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVy" + - "ZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBT" + - "dGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJl" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBh" + - "dGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFm" + - "dGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBi" + - "ZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3Ig" + - "bnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5v" + - "LWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3Vu" + - "dCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1l" + - "IjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpW" + - "ZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1w" + - "JyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdl" + - "IiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQg" + - "UmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xl" + - "YW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpg" + - "YGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBc" + - "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1" + - "dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4" + - "dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFp" + - "bHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lz" + - "dGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJv" + - "bQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJt" + - "YXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAt" + - "LWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVy" + - "LWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAt" + - "LWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1" + - "dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sK" + - "ClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNw" + - "YWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZv" + - "cmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRl" + - "cm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNl" + - "cnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFu" + - "IGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFn" + - "ZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0" + - "YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBw" + - "bGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5j" + - "ZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVs" + - "ZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwK" + - "bWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9F" + - "TlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpg" + - "YGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1l" + - "c3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5" + - "IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+" + - "IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScK" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdy" + - "ZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJv" + - "dGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3Rh" + - "bGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNj" + - "bGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtT" + - "cGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0" + - "ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkg" + - "b3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50" + - "LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERS" + - "PSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkg" + - "XAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0" + - "dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMj" + - "IFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9i" + - "YWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdl" + - "ZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1" + - "Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FU" + - "RVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVw" + - "IGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAg" + - "d2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQg" + - "Y29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRo" + - "ZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VV" + - "UkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVS" + - "TCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQu" + - "IFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpo" + - "YW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxh" + - "dGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBm" + - "aWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29u" + - "dGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBh" + - "cGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAg" + - "LW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5l" + - "LWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + - "YW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUt" + - "cGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRv" + - "ciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMu" + - "YWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUg" + - "NTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBp" + - "dGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0" + - "IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwpr" + - "dWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2Fu" + - "ZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVz" + - "dCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBT" + - "ZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1n" + - "cm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8Cnwg" + - "YHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9u" + - "LXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0" + - "aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVu" + - "YWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2Fn" + - "ZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXku" + - "ZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRo" + - "YXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVl" + - "YCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVx" + - "dWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0" + - "ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVk" + - "PXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0" + - "ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + - "ZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAg" + - "fCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhh" + - "dCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1n" + - "cm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVh" + - "c2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNz" + - "dWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0" + - "IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/" + - "KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQAB" + - "AKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5l" + - "IGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRy" + - "b2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNs" + - "dXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBs" + - "aWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291" + - "cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwK" + - "fC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFu" + - "ZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1j" + - "b21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxg" + - "IHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBs" + - "b3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cg" + - "YW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90" + - "IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9u" + - "b3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0" + - "cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQt" + - "c3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRl" + - "IHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQg" + - "YGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBG" + - "bG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoK" + - "LSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZv" + - "ciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQg" + - "c2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwg" + - "c2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1" + - "ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0o" + - "aHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhh" + - "bXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRl" + - "d2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVz" + - "IHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxl" + - "cyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUg" + - "ZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApg" + - "PGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFp" + - "bj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0" + - "aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3Jr" + - "ZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9t" + - "YWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVz" + - "cz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFp" + - "bj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5" + - "LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxn" + - "YXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDov" + - "L2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6" + - "CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdh" + - "eXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1n" + - "YXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95" + - "LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAg" + - "bmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICBy" + - "b3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQog" + - "ICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAg" + - "ICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBu" + - "YXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlz" + - "c3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6" + - "CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAi" + - "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVy" + - "cmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlk" + - "ZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3" + - "YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXkt" + - "ZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWlu" + - "c3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2gg" + - "YSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBw" + - "YXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRw" + - "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2Vy" + - "dmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5" + - "c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0" + - "aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+Igpg" + - "YGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2No" + - "ZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBg" + - "LS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3" + - "YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxh" + - "Zy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBj" + - "b21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRl" + - "LXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBc" + - "CiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19V" + - "Ukw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUt" + - "cGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZD" + - "Rl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVy" + - "LW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0" + - "ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMg" + - "aXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRp" + - "LWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90" + - "aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0" + - "IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkg" + - "dGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29u" + - "dHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVk" + - "IGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZp" + - "ZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNv" + - "bnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRl" + - "LXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250" + - "cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+" + - "IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBg" + - "YAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUg" + - "Y29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVk" + - "IFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAog" + - "IC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBc" + - "CiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAog" + - "IC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9j" + - "b250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxh" + - "bmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12" + - "YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0t" + - "Y29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVu" + - "diA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVl" + - "cyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1" + - "dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0" + - "ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0" + - "ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4" + - "dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3" + - "aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNy" + - "ZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMg" + - "b24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBu" + - "YXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdl" + - "cgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4g" + - "YG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVs" + - "bFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5k" + - "IG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZj" + - "YS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxh" + - "bmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNy" + - "ZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxp" + - "Y2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1u" + - "IGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1j" + - "b250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNh" + - "LW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7" + - "LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29u" + - "dGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4g" + - "bnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVy" + - "eSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBj" + - "YW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVm" + - "b3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkg" + - "ZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVs" + - "bSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9y" + - "IGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2Vy" + - "LmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVk" + - "IHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxl" + - "ZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5k" + - "CmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVz" + - "cGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0" + - "dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoK" + - "Rm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZh" + - "bHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVw" + - "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxj" + - "bHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08" + - "Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBj" + - "bHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0" + - "aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBg" + - "YAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJl" + - "Zm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lz" + - "dHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRy" + - "b2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4g" + - "XAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxF" + - "X0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+" + - "CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJl" + - "ZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVh" + - "bnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtl" + - "ZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRv" + - "d25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRp" + - "b24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNo" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAog" + - "IC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlk" + - "IDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5h" + - "bWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0" + - "IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29u" + - "ZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0" + - "IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJv" + - "bCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZv" + - "cmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJl" + - "Zml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAg" + - "LS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0t" + - "ZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJv" + - "bC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBc" + - "CiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1" + - "c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25m" + - "aWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1w" + - "bGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1y" + - "ZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1w" + - "bGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93" + - "bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1" + - "dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29u" + - "dHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBL" + - "BwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMg" + - "RGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNv" + - "bW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBD" + - "b21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3Rs" + - "IGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJl" + - "Y3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlz" + - "dCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJl" + - "cykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1l" + - "c3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlv" + - "bnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFt" + - "ZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRl" + - "eHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBB" + - "R0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1" + - "bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5p" + - "by8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBg" + - "YGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBp" + - "ZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQg" + - "bnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGlt" + - "YWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + - "LW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNl" + - "cnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1l" + - "PiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgoj" + - "IyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoK" + - "ICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3It" + - "Y3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2Vy" + - "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBi" + - "dXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxs" + - "U2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0" + - "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdl" + - "UHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rh" + - "cnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUg" + - "W3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlh" + - "bHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0" + - "bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3" + - "aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVj" + - "ayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5p" + - "dDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAg" + - "UkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2" + - "bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMK" + - "ClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0" + - "aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdl" + - "dCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2Ig" + - "cmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9k" + - "IGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9w" + - "ZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVj" + - "dGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBg" + - "CgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWly" + - "IGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4g" + - "KipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBg" + - "aGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5i" + - "YW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2Ug" + - "dmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAg" + - "IyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBo" + - "ZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoq" + - "T3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwg" + - "c3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5i" + - "YW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQt" + - "YWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtl" + - "eSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1v" + - "biBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMg" + - "YSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0" + - "aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtl" + - "eQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBs" + - "aXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2Vy" + - "dmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2Vydmlj" + - "ZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUg" + - "cG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0" + - "aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJs" + - "ZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2Nv" + - "dmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3Vu" + - "dGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUg" + - "bWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBi" + - "YXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "KSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBp" + - "c3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVs" + - "ZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5" + - "bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZl" + - "ZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZp" + - "Z3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4v" + - "b3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJl" + - "YWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVy" + - "IE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBu" + - "ZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0" + - "Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtp" + - "bGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJF" + - "QURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01L" + - "aWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwg" + - "ZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAi" + - "TGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZp" + - "YSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFt" + - "cGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1p" + - "dHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0" + - "czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJl" + - "c291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFw" + - "cGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0" + - "dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZ" + - "ICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5n" + - "ICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZl" + - "bnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1l" + - "c3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBh" + - "dmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMg" + - "LSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0g" + - "InBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5v" + - "ZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25t" + - "ZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8" + - "IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sg" + - "c3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNs" + - "YXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2Fw" + - "YWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwg" + - "Z3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBS" + - "ZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAt" + - "QQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhl" + - "bG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAo" + - "bWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5" + - "IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95" + - "IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFz" + - "aApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBk" + - "ZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVz" + - "cGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBS" + - "ZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50" + - "IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQg" + - "ZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFp" + - "bHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1" + - "cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMg" + - "YWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3Rz" + - "dHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFw" + - "cC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24g" + - "Q2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBg" + - "c2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlg" + - "IGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZl" + - "cmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcn" + - "IHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgK" + - "ICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUg" + - "cmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlh" + - "bHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292" + - "ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVM" + - "TUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNl" + - "cyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "LS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVj" + - "dGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNw" + - "YWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwg" + - "c2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "cmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVw" + - "IFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAg" + - "aGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0" + - "bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNr" + - "ZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdh" + - "aW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUK" + - "dGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBj" + - "dXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJh" + - "c2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1v" + - "dmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4" + - "dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpx" + - "ICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScg" + - "LXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBu" + - "YW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJh" + - "Y2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wi" + - "ZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxl" + - "dGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBp" + - "biBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENP" + - "TVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwg" + - "XAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4" + - "dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVz" + - "cGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJl" + - "OiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVy" + - "IGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBs" + - "b3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3lt" + - "ZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMj" + - "IyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxs" + - "YXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZs" + - "b3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9u" + - "IHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0" + - "aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwg" + - "aW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAg" + - "LW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRh" + - "aWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNm" + - "YmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVy" + - "ZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3Jg" + - "LiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBu" + - "b3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRz" + - "Lm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTog" + - "R2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2gg" + - "dGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRz" + - "IGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5k" + - "cG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1j" + - "b250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3" + - "YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1sw" + - "XS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFp" + - "bj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hl" + - "YWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBs" + - "b3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "L2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2Vydmlj" + - "ZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRz" + - "LzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9z" + - "dG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBk" + - "aXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBv" + - "bmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlv" + - "biBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2Vl" + - "CltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRl" + - "d2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFw" + - "cGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFt" + - "ZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0t" + - "fAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8" + - "CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRp" + - "b24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVz" + - "dC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4t" + - "aXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdh" + - "dGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52" + - "b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + - "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1m" + - "aWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZj" + - "Zi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1j" + - "b3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAt" + - "LSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0" + - "aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAg" + - "ICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFt" + - "ZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNy" + - "ZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFs" + - "dWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAg" + - "ICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVl" + - "cwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1k" + - "ZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBv" + - "bmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRv" + - "ciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + - "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + - "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + - "bm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdv" + - "IHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3Rh" + - "Y2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUg" + - "SGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUg" + - "Q0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1w" + - "bGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRv" + - "ZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgoj" + - "IyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVz" + - "cGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18Cnwg" + - "bmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5i" + - "YW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2Vj" + - "cmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZj" + - "Zi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBl" + - "bmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENo" + - "YXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18" + - "LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2Vy" + - "dmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwg" + - "aGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwg" + - "aGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1w" + - "cm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBp" + - "IHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2Ug" + - "fCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwg" + - "aGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZj" + - "Zi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0t" + - "YXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2Vy" + - "dmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXBy" + - "b3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBu" + - "dmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1v" + - "c3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVs" + - "ZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFu" + - "ZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJl" + - "IGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQg" + - "YGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2Vy" + - "dmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFi" + - "ZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJp" + - "bGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0" + - "eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9u" + - "bWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UK" + - "CiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVu" + - "Y2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8g" + - "dGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5" + - "b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRo" + - "ZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRl" + - "IGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12" + - "YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmls" + - "ZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBk" + - "ZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxl" + - "YXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAg" + - "ICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19" + - "LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgot" + - "IG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xv" + - "YmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWly" + - "ZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUK" + - "ICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + - "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0" + - "YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1m" + - "aWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkK" + - "ICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBs" + - "YXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCBy" + - "ZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVz" + - "IGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBW" + - "YWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBl" + - "bnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZp" + - "cm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQg" + - "b3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3Np" + - "bmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFs" + - "dWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2" + - "YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0" + - "IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAg" + - "cmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lm" + - "aWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBh" + - "c3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRy" + - "YQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdp" + - "c3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fz" + - "c2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBg" + - "Z2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVs" + - "dFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + - "YXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAK" + - "LSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAK" + - "LSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQp" + - "CgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJh" + - "by5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFv" + - "LnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUg" + - "c2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0g" + - "YDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5u" + - "b2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmls" + - "aXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExM" + - "TSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0" + - "aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBh" + - "bmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAg" + - "cm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVz" + - "IHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBp" + - "cyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFi" + - "bGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQg" + - "dGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFw" + - "cGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRy" + - "dWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAg" + - "ICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RS" + - "b3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZp" + - "Y2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdl" + - "Q29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5h" + - "bWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJl" + - "OiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmds" + - "ZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2" + - "ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNr" + - "CmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWlu" + - "dGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBv" + - "bmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNw" + - "b3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0" + - "aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRp" + - "b24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBw" + - "bGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0" + - "aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2Fk" + - "LWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBt" + - "ZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBz" + - "Oi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxt" + - "LXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2Fy" + - "IGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdp" + - "c3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1h" + - "Z2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0Rh" + - "dGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNs" + - "aWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhl" + - "IGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBw" + - "YXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0" + - "aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90" + - "ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVy" + - "IGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJl" + - "ZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRv" + - "ZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZp" + - "Zy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1w" + - "bGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxl" + - "dGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFu" + - "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJv" + - "ZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUg" + - "aW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVu" + - "Y3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpj" + - "YXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJl" + - "ZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1h" + - "Z2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBu" + - "ZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5k" + - "CndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0t" + - "YXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1y" + - "b3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5" + - "fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0K" + - "a3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNv" + - "bnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5h" + - "cmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJz" + - "LCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoK" + - "Rm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUK" + - "W1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEv" + - "bnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxh" + - "bmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNw" + - "ZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5k" + - "ZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFz" + - "ZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVh" + - "c2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3Nh" + - "bmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRt" + - "aW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkg" + - "KGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fz" + - "c2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9" + - "PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90" + - "ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNl" + - "IGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBL" + - "AwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFs" + - "bGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRv" + - "bgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFu" + - "ZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0" + - "YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8g" + - "ZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVs" + - "IFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4g" + - "SWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBg" + - "bnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNr" + - "YWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBp" + - "biBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNm" + - "VWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2Ug" + - "cHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNy" + - "ZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lz" + - "dHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpr" + - "dWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9j" + - "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwK" + - "ICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11" + - "aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoK" + - "VGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNr" + - "ZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQg" + - "cm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVp" + - "YCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBi" + - "YXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNm" + - "LXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRo" + - "ZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBi" + - "YXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91" + - "dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWlu" + - "PiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRo" + - "ZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5v" + - "dCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEg" + - "dHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250" + - "IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAA" + - "AAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5j" + - "ZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSBy" + - "ZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBp" + - "bWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUt" + - "cGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29u" + - "dGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVu" + - "ZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2Vj" + - "cmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0" + - "ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0" + - "b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2gg" + - "KFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8g" + - "YWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8g" + - "dXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0t" + - "Y3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNo" + - "CmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3Nh" + - "bmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3Rl" + - "bSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtl" + - "eXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5" + - "IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXIt" + - "dXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElf" + - "S0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + - "bWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAt" + - "CmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2" + - "ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAz" + - "LiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJu" + - "by5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWlt" + - "YWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBu" + - "YW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAg" + - "ICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAg" + - "ICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAg" + - "ICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJl" + - "c3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEt" + - "c3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQt" + - "bWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAg" + - "ICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZj" + - "Zi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAg" + - "ICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1l" + - "OiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5Lnlh" + - "bWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0" + - "aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNv" + - "bnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGlu" + - "amVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENv" + - "bXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJh" + - "dG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAog" + - "IC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwK" + - "ICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + - "a2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNl" + - "PW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJl" + - "bmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmds" + - "b2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhl" + - "IGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3Jg" + - "IGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEg" + - "YnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZv" + - "ciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMg" + - "Q2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1" + - "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVz" + - "cGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRz" + - "fScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVy" + - "bm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBn" + - "ZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFk" + - "YXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3Rl" + - "ZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNl" + - "PiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQg" + - "c2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVj" + - "ayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRz" + - "IFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVl" + - "ZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2" + - "ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJu" + - "ZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJs" + - "aWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWlu" + - "IGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3" + - "aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNo" + - "b290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5n" + - "IHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiph" + - "ZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dl" + - "ciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+" + - "IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNz" + - "aW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3Vs" + - "ZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0" + - "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZj" + - "Zi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMj" + - "IFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBW" + - "ZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1" + - "YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1u" + - "IDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAIdv8ORKEAAA" + - "ShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkA" + - "AAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBl" + - "bGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAp885w/4UAAD+FAAANAAJAAAAAAAAAAAA" + - "AABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAxi5lP2RgAANkYAAA3AAkAAAAAAAAAAAAAAMKcAABk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQF" + - "AAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAACbYAAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQAB" + - "AKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABjQAABkYXRhL252" + - "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4S" + - "UEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1z" + - "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCm" + - "zhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAADQBAEAZGF0YS9udmNm" + - "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAAAAAAAAAAAJcuAQBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAA1OAEAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + - "IQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAH5aAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABo" + - "EAAAMgAJAAAAAAAAAAAAAAD7gAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNl" + - "L2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEANWdsLOJdAADiXQAALQAJAAAA" + - "AAAAAAAAAADMkQEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1k" + - "VVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAEvABAGRh" + - "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAADhEQIAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAACNdAIAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQAC" + - "Uk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAAELLAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + - "bGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABM" + - "AAkAAAAAAAAAAAAAACf0AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZl" + - "cmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAvCQDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAA41UDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAaIADAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbO" + - "ElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAJeIAwBkYXRhL252Y2Yt" + - "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQAB" + - "AKbOElBLBQYAAAAAFwAXAK8JAAAMnwMAAAA=" + "VGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0" + + "aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUt" + + "aW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJs" + + "b2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQg" + + "dGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBi" + + "YXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + + "JyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRv" + + "IGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBh" + + "Z2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0" + + "aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJU" + + "aGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2" + + "YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRl" + + "IGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAi" + + "aWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJE" + + "ZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQg" + + "T3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVz" + + "ZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMg" + + "cmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVz" + + "cGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + + "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVz" + + "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNl" + + "cyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAi" + + "VGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBv" + + "dGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1p" + + "bWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4g" + + "SW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25v" + + "c3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBw" + + "b2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9u" + + "IHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1" + + "ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVs" + + "bFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVs" + + "bEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3Jl" + + "dHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBj" + + "aGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFj" + + "Y291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHBy" + + "b3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90" + + "ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEg" + + "cmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5l" + + "IHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJl" + + "Z2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25m" + + "aWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9s" + + "bGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBl" + + "bnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhl" + + "IGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJv" + + "dXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQg" + + "Y29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1" + + "ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBO" + + "QVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxs" + + "IHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1h" + + "bmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rlcjsg" + + "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJl" + + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0" + + "byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3Jw" + + "YywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBu" + + "YW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3Jr" + + "ZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNT" + + "ZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2Nh" + + "dGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNT" + + "ZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAog" + + "ICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52" + + "Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRh" + + "c2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5n" + + "YXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "c2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQg" + + "SG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhl" + + "IGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZp" + + "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhl" + + "YWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUg" + + "Y29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1h" + + "bmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkg" + + "aW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0" + + "byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRv" + + "d24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFu" + + "ZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBv" + + "ZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxh" + + "bmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3Jl" + + "IGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVh" + + "cmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBp" + + "ZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGlu" + + "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNt" + + "YXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQg" + + "YW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4" + + "cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQg" + + "cmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + + "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + + "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + + "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24g" + + "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4g" + + "cHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCBy" + + "ZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlv" + + "biB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVs" + + "bWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQg" + + "d2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwg" + + "dGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBu" + + "Y2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0" + + "aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93" + + "biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNl" + + "cnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRy" + + "dWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBh" + + "Ym9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0" + + "ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVm" + + "YXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + + "bmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBj" + + "b250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtV" + + "QkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAg" + + "ICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXgg" + + "c3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0" + + "IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBw" + + "cmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhl" + + "IHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBz" + + "dGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJs" + + "IGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0" + + "YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92" + + "ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1" + + "ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdz" + + "IGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBO" + + "VkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + + "IHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1w" + + "bCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5n" + + "b3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRo" + + "YXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMg" + + "YmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRl" + + "bmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+" + + "IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + + "aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMg" + + "KGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFn" + + "ZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFy" + + "dCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3Bh" + + "Z2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2" + + "YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVu" + + "Y3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTog" + + "TExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVz" + + "dCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBz" + + "dGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0" + + "aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSBy" + + "ZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBl" + + "eHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBu" + + "byBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9u" + + "aWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGlu" + + "ZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQg" + + "b24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5" + + "LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdl" + + "Q29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29y" + + "a2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + + "cG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFu" + + "ZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBs" + + "b3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3lt" + + "ZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRo" + + "ZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdh" + + "eSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2Rl" + + "IHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qg" + + "cm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwg" + + "cmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAog" + + "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + + "IGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmts" + + "b2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJh" + + "bnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4g" + + "cHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBI" + + "ZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhl" + + "IHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0" + + "aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0" + + "ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0t" + + "d29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBh" + + "IGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQg" + + "YmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNl" + + "IHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVk" + + "IGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "U0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNl" + + "ZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBw" + + "cm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJy" + + "ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdV" + + "alZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2Vk" + + "IGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxl" + + "IDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSBy" + + "ZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBg" + + "cDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09N" + + "S2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVh" + + "c2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + + "bGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9j" + + "YXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUg" + + "dG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxl" + + "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + + "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + + "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + + "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + + "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + + "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + + "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + + "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZl" + + "cmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZm" + + "IC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJl" + + "c291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkg" + + "ZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBj" + + "aGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUg" + + "MjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRl" + + "cGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52" + + "Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwg" + + "c2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5" + + "YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2Vz" + + "OgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgog" + + "IGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + + "CmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFy" + + "dCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + + "cCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRv" + + "a2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2Vz" + + "IGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2Mt" + + "YXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwK" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + + "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + + "bmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3Jl" + + "YXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2" + + "ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwK" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFn" + + "ZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmlj" + + "IGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNz" + + "YW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlh" + + "bWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2Fu" + + "ZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVu" + + "Y3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0" + + "ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAog" + + "ICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0" + + "czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVy" + + "eSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFy" + + "YXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + + "YXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAu" + + "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxv" + + "eQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VB" + + "Y2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEg" + + "KGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQ" + + "dWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQt" + + "c3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8g" + + "Y3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAi" + + "JHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3Jl" + + "ZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMg" + + "LW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkg" + + "cHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3Iu" + + "aW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpX" + + "aGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgoj" + + "IyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9O" + + "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + + "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBp" + + "cyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUg" + + "aW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNs" + + "ZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21w" + + "dXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + + "IGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVn" + + "aXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNz" + + "aW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4K" + + "CiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRo" + + "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + + "dGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBk" + + "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + + "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0" + + "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "dHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + + "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFj" + + "ZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGlu" + + "ZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBg" + + "YmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90" + + "aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51" + + "cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwK" + + "ICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNz" + + "YW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMg" + + "c2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQg" + + "b3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxs" + + "YXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2lu" + + "dCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQg" + + "YmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAg" + + "MTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0" + + "ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2Vz" + + "WzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBk" + + "YXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwg" + + "cm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhl" + + "CkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48" + + "ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4g" + + "Rm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZl" + + "ZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0" + + "Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3" + + "aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJl" + + "YXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRl" + + "LXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtl" + + "ZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVn" + + "aXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQg" + + "b3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNv" + + "bXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJh" + + "c2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4i" + + "ICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + + "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9w" + + "ZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAt" + + "biBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9" + + "Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9u" + + "bHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24g" + + "c2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3Nh" + + "bmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBw" + + "b2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lm" + + "aWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJl" + + "bGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + + "bmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3Jv" + + "dXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdy" + + "cGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJl" + + "cXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAs" + + "IG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + + "dWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVl" + + "YCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + + "aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + + "bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIg" + + "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBs" + + "b3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + + "bmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdo" + + "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZh" + + "bml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZD" + + "RiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + + "ZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + + "YCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBp" + + "bmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBk" + + "b2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2Vs" + + "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRl" + + "IHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmly" + + "c3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29z" + + "ZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERv" + + "IG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRy" + + "b2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK" + + "fCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + + "YW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJv" + + "ZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250" + + "cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpU" + + "aGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90" + + "IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBj" + + "b250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMg" + + "ZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2th" + + "Z2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRs" + + "ZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUg" + + "Ym90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBs" + + "YW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0" + + "aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5k" + + "IGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtT" + + "LCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2Nz" + + "Lm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBj" + + "b250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xs" + + "ZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5" + + "L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyBy" + + "b3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRk" + + "cmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRk" + + "cmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBE" + + "TlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBg" + + "YHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6" + + "CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + + "Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAg" + + "ICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + + "IG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0" + + "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAg" + + "ICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFp" + + "bj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2" + + "Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9s" + + "bGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNo" + + "YXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAg" + + "ICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + + "ICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBl" + + "bnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAg" + + "IG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + + "IGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBp" + + "OgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFt" + + "ZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVy" + + "eToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJh" + + "dG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRl" + + "d2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48" + + "Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxn" + + "YXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46" + + "NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBg" + + "CgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRl" + + "eHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUg" + + "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + + "LWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwg" + + "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + + "LWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3" + + "YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5W" + + "Q0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3Jw" + + "Y191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + + "c3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBp" + + "LWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5" + + "LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmll" + + "bGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19V" + + "UkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7" + + "IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFk" + + "ZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVy" + + "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5l" + + "OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lz" + + "dGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxu" + + "Y2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + + "bmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklH" + + "PTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + + "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + + "Y29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBK" + + "V0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVw" + + "bG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBs" + + "YW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0" + + "dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBj" + + "bHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUt" + + "cGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + + "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lv" + + "biA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBm" + + "dWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6Cgpg" + + "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + + "dj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1w" + + "bGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVn" + + "aW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBg" + + "CgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0" + + "ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVz" + + "IGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0" + + "aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUg" + + "dGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRy" + + "b2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + + "b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGlu" + + "IHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVz" + + "ZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBE" + + "byBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9y" + + "IGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + + "LXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkg" + + "bmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3" + + "YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "dGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1u" + + "IG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2Vu" + + "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0K" + + "YGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBs" + + "YW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0" + + "aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpv" + + "bmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFt" + + "ZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJ" + + "ZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFs" + + "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFn" + + "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + + "cmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1p" + + "c3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + + "IGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNp" + + "dCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxt" + + "ZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVu" + + "dGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+" + + "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + + "ZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0" + + "ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1" + + "c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93" + + "IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3Rl" + + "ciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3Ig" + + "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpg" + + "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBg" + + "S1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29u" + + "dHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1i" + + "aWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1" + + "ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0" + + "cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGgg" + + "dGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0t" + + "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + + "IC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVy" + + "bCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1u" + + "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBg" + + "YAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIg" + + "YGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9u" + + "bHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29u" + + "dHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQK" + + "Y2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWlu" + + "Zy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFz" + + "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + + "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "XAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBs" + + "YW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + + "CiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + + "cy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2gg" + + "Y29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + + "CnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBv" + + "bmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIw" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJl" + + "ZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNl" + + "bGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBg" + + "YmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1B" + + "IC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2Rz" + + "IC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNl" + + "bnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBn" + + "ZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERl" + + "c2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMp" + + "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBG" + + "YWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAg" + + "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + + "LTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50" + + "cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6" + + "dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVj" + + "ayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3Jl" + + "dCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAt" + + "biA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3Jl" + + "dHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9" + + "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50" + + "IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNw" + + "YWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEu" + + "ICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + + "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + + "dG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1u" + + "YW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNu" + + "J3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29u" + + "ZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + + "ZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMq" + + "KiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6" + + "IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0" + + "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0" + + "Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2Vj" + + "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3Qg" + + "Y3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdl" + + "bnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBt" + + "aW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFU" + + "VVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAg" + + "SW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNv" + + "bnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVu" + + "QmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZh" + + "dWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwg" + + "Z2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0" + + "bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hl" + + "Y2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8" + + "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMK" + + "CjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3Ig" + + "aW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1p" + + "Z3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3lu" + + "Y2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBi" + + "YXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + + "by1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVt" + + "CiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUg" + + "cHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2Rz" + + "IHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAg" + + "YGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAg" + + "LWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAg" + + "bG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + + "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFu" + + "ZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBt" + + "dWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25m" + + "aWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92" + + "YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNv" + + "IGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQg" + + "dG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVs" + + "dC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxl" + + "YXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZh" + + "dWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsg" + + "dGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNh" + + "YmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBr" + + "ZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVz" + + "ZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4g" + + "eW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAj" + + "ICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zl" + + "cnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2" + + "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgog" + + "ICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3Zlcnkg" + + "ZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFu" + + "ZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3" + + "a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdp" + + "dGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVy" + + "IGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMg" + + "YmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3Vl" + + "cidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNz" + + "YW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVT" + + "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAg" + + "ICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "IC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIK" + + "YGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2" + + "YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpg" + + "YGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAg" + + "Y3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBj" + + "cHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0" + + "YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + + "c2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRp" + + "bmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAg" + + "IFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAg" + + "ICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hl" + + "ZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEy" + + "IG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2Rl" + + "cyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2" + + "b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3Ig" + + "bWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAg" + + "IGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgog" + + "ICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFz" + + "cyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoK" + + "My4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBg" + + "YGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFs" + + "bG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZh" + + "aWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJl" + + "bGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNg" + + "IGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBz" + + "a2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5h" + + "bWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQg" + + "cmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYg" + + "bmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNw" + + "YWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVs" + + "bCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBK" + + "b2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNh" + + "bid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdl" + + "dCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWlu" + + "dXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNm" + + "CgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVz" + + "LmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAq" + + "Kldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52" + + "Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNv" + + "ZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVu" + + "Y29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1k" + + "CiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAq" + + "KlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3Bl" + + "Y2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4" + + "CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMg" + + "d2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1" + + "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90" + + "LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBu" + + "ZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5h" + + "bGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVz" + + "cGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBu" + + "dmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJt" + + "aW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29t" + + "cHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFz" + + "IGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3Vy" + + "Y2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENP" + + "TVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVy" + + "cyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + + "Q09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8" + + "IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFy" + + "Z3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyov" + + "fSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1l" + + "IiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wi" + + "OltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFt" + + "ZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJh" + + "dG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + + "VCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5z" + + "cGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + + "Q09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2Zp" + + "bmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJh" + + "dG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0" + + "cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3Bl" + + "cmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMg" + + "YW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0" + + "aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBv" + + "bmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20g" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJ" + + "ZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUg" + + "Y29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVy" + + "YXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxv" + + "eW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBu" + + "dmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0" + + "aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQg" + + "YW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJv" + + "YWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNl" + + "Y3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRw" + + "b2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3Vy" + + "ZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5j" + + "ZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3kt" + + "Z2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + + "ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUgg" + + "Ikhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hl" + + "Y2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAg" + + "bnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwK" + + "YGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQg" + + "SG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50" + + "IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApH" + + "YXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFs" + + "bGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRd" + + "KC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50" + + "LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sg" + + "cmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBO" + + "YW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lz" + + "dGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lz" + + "dGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + + "Z3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxs" + + "bS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5" + + "IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVt" + + "IHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8" + + "IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVm" + + "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVy" + + "ZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290" + + "bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZh" + + "YmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBl" + + "bnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1" + + "bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAg" + + "ICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0t" + + "IDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3Ry" + + "eSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAg" + + "IyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMu" + + "eWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAt" + + "LSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQg" + + "bnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAg" + + "ICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAg" + + "YC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJp" + + "ZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + + "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2Vw" + + "YXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFs" + + "dWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUg" + + "ZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + + "IGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5k" + + "ZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVz" + + "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0t" + + "bnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwg" + + "aGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2Vt" + + "ZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEg" + + "fCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0" + + "ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxh" + + "YmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + + "YWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBh" + + "cGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNp" + + "cyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFw" + + "aSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWlu" + + "dm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0t" + + "bnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNm" + + "LWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + + "bm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2Yt" + + "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkg" + + "fCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFk" + + "bWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtl" + + "eXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXkt" + + "cm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMg" + + "dXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9D" + + "SSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1" + + "ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBh" + + "ZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhh" + + "dmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFt" + + "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0t" + + "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNl" + + "cykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBv" + + "biBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBT" + + "a2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpk" + + "ZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2Uu" + + "CgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZh" + + "bHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdz" + + "IGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0" + + "ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + + "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + + "LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAm" + + "ZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0K" + + "ICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJp" + + "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + + "bAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + + "bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCBy" + + "ZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + + "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2Fu" + + "ZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6" + + "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUg" + + "bmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZl" + + "IGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAx" + + "LjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNl" + + "CmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3Ug" + + "YWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNl" + + "IGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2Vk" + + "ZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMv" + + "YmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4g" + + "YGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMu" + + "IGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVj" + + "dHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1z" + + "ZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9j" + + "a3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1s" + + "LmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBg" + + "LlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5k" + + "IGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdo" + + "IGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2Fu" + + "ZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + + "dG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNp" + + "c3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVT" + + "ZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFz" + + "c2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVy" + + "LmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25m" + + "aWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RU" + + "ZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJh" + + "bwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25z" + + "LmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFn" + + "ZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChp" + + "ZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5p" + + "bWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3Jg" + + "IChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdz" + + "KQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZv" + + "cmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGkt" + + "Z2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBH" + + "YXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8g" + + "dXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxs" + + "bS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoK" + + "Rm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1" + + "cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBz" + + "dGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3" + + "YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VN" + + "b25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAg" + + "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + + "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAg" + + "ICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJp" + + "Y3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoK" + + "VXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3Qg" + + "Y2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0" + + "IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRo" + + "ZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBh" + + "ZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBU" + + "TFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFy" + + "YXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQg" + + "cmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29y" + + "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29y" + + "a2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJl" + + "cXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNv" + + "bmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGgg" + + "dGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNv" + + "bS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91" + + "dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1p" + + "cnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVw" + + "b3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRs" + + "eToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52" + + "Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTog" + + "PHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBp" + + "LmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJl" + + "Y2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5k" + + "b3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0" + + "aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0" + + "aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkK" + + "cmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3Ig" + + "aXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZp" + + "Z2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxs" + + "YXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9u" + + "Cm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lv" + + "bnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVu" + + "IHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRo" + + "ZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRo" + + "ZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24g" + + "dmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRl" + + "Y2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkK" + + "a3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0" + + "bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0" + + "LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBu" + + "dmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5n" + + "ZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsi" + + "XFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13" + + "b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFs" + + "YW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNv" + + "bmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21h" + + "aW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1" + + "cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVh" + + "c2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXBy" + + "b3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0t" + + "cmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBs" + + "YXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlz" + + "c3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9y" + + "IG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBp" + + "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlz" + + "IGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + + "IHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFi" + + "bGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3Vy" + + "IGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2th" + + "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0" + + "ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5j" + + "bHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1l" + + "bnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFi" + + "bGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQK" + + "CkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBw" + + "dWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBu" + + "YW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + + "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQg" + + "cm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNm" + + "LXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVy" + + "IGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBw" + + "cmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRl" + + "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVp" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5" + + "IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVw" + + "IC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFk" + + "bWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQg" + + "dG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3" + + "b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZj" + + "Zi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4A" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZp" + + "ZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9y" + + "IGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVu" + + "dGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5v" + + "dAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wt" + + "cGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29u" + + "dHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFy" + + "dCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + + "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVk" + + "KQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + + "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + + "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + + "cGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMg" + + "Mi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0Nf" + + "QVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRl" + + "IG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMg" + + "XAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + + "YXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAt" + + "LW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpG" + + "b3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2Nr" + + "ZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZl" + + "cm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5k" + + "OiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3Jl" + + "dHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1h" + + "Z2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAg" + + "ICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAg" + + "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJh" + + "cGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAg" + + "ICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAg" + + "ICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAg" + + "ICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0" + + "YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29t" + + "L2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAg" + + "ICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRz" + + "CmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBh" + + "cHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMg" + + "NC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQg" + + "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUg" + + "aGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1" + + "bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUg" + + "U2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUg" + + "Y29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1k" + + "b2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0" + + "b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRo" + + "ZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFn" + + "ZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3Ig" + + "dGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51" + + "YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0" + + "ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBh" + + "IGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3Rl" + + "ZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlv" + + "bgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxu" + + "YW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRp" + + "b25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhw" + + "ZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0" + + "LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vz" + + "c2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQv" + + "b3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNh" + + "LXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdT" + + "IEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMy" + + "Q29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVs" + + "bCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmll" + + "cyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwg" + + "aGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQg" + + "aWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMg" + + "UG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhl" + + "IEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBw" + + "b2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9u" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + + "IC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xs" + + "ZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5n" + + "CmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2Vw" + + "dWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3Jl" + + "dCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNl" + + "Y3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + + "CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAGstyzZKEAAAShAAABIACQAAAAAA" + + "AAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb" + + "2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lM" + + "TC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAp885w/4UAAD+FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQAxi5lP2RgAANkYAAA3AAkAAAAAAAAAAAAAAMKcAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAACbYAAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABjQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAADQBAEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAAAAAAAAAAAJcuAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAA1OAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYm" + + "AAAwAAkAAAAAAAAAAAAAAH5aAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + + "Y29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAA" + + "AAAAAAD7gAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAE3ht2yxfAAAsXwAALQAJAAAAAAAAAAAAAADMkQEA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAXPEBAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAArEwIAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpW" + + "AABKVgAANAAJAAAAAAAAAAAAAADXdQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAv" + + "AAkAAAAAAAAAAAAAAIzMAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFt" + + "cGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAA" + + "AHH1AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAA" + + "tTAAADsACQAAAAAAAAAAAAAABiYDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAA" + + "CioAAEQACQAAAAAAAAAAAAAALVcDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAsoEDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAOGJAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAA" + + "FwAXAK8JAABWoAMAAAA=" var ( skillDataOnce sync.Once From 0761b6e09b7fa76120bcaca4019d6469355c122c Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 13:27:14 +0530 Subject: [PATCH 124/127] fix(nvcf-cli): judge the docker login for the stack's chart scope before a local control-plane install, where the NGC key goes first Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 4 +- src/clis/nvcf-cli/cmd/main_test.go | 2 +- .../cmd/self_hosted_check_scope_test.go | 6 +- .../cmd/self_hosted_check_stackvalues_test.go | 2 +- .../agentskill/skilldata_generated.go | 4422 +++++++++-------- .../selfhosted/credential_scope_test.go | 72 + .../internal/selfhosted/dockercreds.go | 37 +- .../nvcf-cli/internal/selfhosted/preflight.go | 13 +- .../internal/selfhosted/preflight_test.go | 8 +- .../internal/selfhosted/registry_cred.go | 10 +- .../internal/selfhosted/registry_cred_test.go | 28 +- 11 files changed, 2361 insertions(+), 2243 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index ea25e08552..3584a10b40 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -78,7 +78,9 @@ For `nvcr.io` the NGC API key is also read, from the first of `NGC_API_KEY` that is set. It goes ahead of the docker login only when the registry check's plane, below, is the control plane, checked before its install with the `local` environment, since `up` creates its pull secrets -from it, and it is never sent to another registry. Elsewhere the key +from it, and it is never sent to another registry. There the docker login is +still sent for the row the stack's charts come from, below, and graded as +elsewhere, since `helm` pulls the charts with it. Elsewhere the key is sent when there is no docker login, or for a repository where `nvcr.io` rejects the docker login (a 401) or gives it no access (a 403). This is decided once per repository, before tag discovery, the row and the diff --git a/src/clis/nvcf-cli/cmd/main_test.go b/src/clis/nvcf-cli/cmd/main_test.go index 40b67d304b..b6fdd6a2e5 100644 --- a/src/clis/nvcf-cli/cmd/main_test.go +++ b/src/clis/nvcf-cli/cmd/main_test.go @@ -100,7 +100,7 @@ func TestMain(m *testing.M) { } // No outbound registry request. newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { - return func(context.Context, string, string, bool) error { return nil } + return func(context.Context, string, string, bool, bool) error { return nil } } // No validator Job. A test that passes --cluster-validator-image would // otherwise create RBAC, Secrets and Jobs in the current kube context and diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go index 455d4299a8..f3c16d0ff1 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_scope_test.go @@ -490,7 +490,7 @@ func TestCheck_UnresolvedValidatorTagFailsTheRun(t *testing.T) { var registries []string prev := newRegistryCredentialCheckerForSelfHosted newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { - return func(_ context.Context, registry, _ string, _ bool) error { + return func(_ context.Context, registry, _ string, _, _ bool) error { mu.Lock() defer mu.Unlock() registries = append(registries, registry) @@ -563,11 +563,11 @@ func TestCheck_WaitReadsCredentialsAgainEachPoll(t *testing.T) { t.Cleanup(func() { newRegistryCredentialCheckerForSelfHosted = prevChecker }) probe := selfhosted.NewRegistryCredentialChecker() newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { - return func(ctx context.Context, registry, repo string, critical bool) error { + return func(ctx context.Context, registry, repo string, critical, chartScope bool) error { if registry != host { return nil } - return probe(ctx, registry, repo, critical) + return probe(ctx, registry, repo, critical, chartScope) } } diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index a71be2242f..b0859a5dd6 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -241,7 +241,7 @@ func registryProbes(t *testing.T, args ...string) map[string]bool { got := map[string]bool{} prev := newRegistryCredentialCheckerForSelfHosted newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { - return func(_ context.Context, registry, repo string, critical bool) error { + return func(_ context.Context, registry, repo string, critical, _ bool) error { mu.Lock() defer mu.Unlock() got[strings.TrimSuffix(registry+"/"+repo, "/")] = critical diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index 8144252bdd..d3d5a9ac4e 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzEwMDUsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzExNTUsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI4N2JjNjdiN2IyZDQyNmRl" + - "OWI1NDliZDJlMDdlYTVhYjkxOTdmZDc0NDU4ZDRlNTU4MzZhMDA3NmM3ZTFiYjA5IiwKICAgICAg" + - "InNpemUiOiAyNDM2NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJkNWU4ZTMwNTI1YmM5ZGY3" + + "MjIzMzMxNDE2NmE1NjU4NjdmYWNkYThlODA3YmYyMmUyYWYyYjRlOWI3MGM3M2Y2IiwKICAgICAg" + + "InNpemUiOiAyNDUxNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCGstyzZKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCJdPYGdKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -2033,2216 +2033,2218 @@ const skillDataZipBase64 = "" + "bG93LCBpcyB0aGUgY29udHJvbCBwbGFuZSwgY2hlY2tlZCBiZWZvcmUgaXRzCmluc3RhbGwgd2l0" + "aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsIHNl" + "Y3JldHMKZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4g" + - "RWxzZXdoZXJlIHRoZSBrZXkKaXMgc2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwg" + - "b3IgZm9yIGEgcmVwb3NpdG9yeSB3aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxv" + - "Z2luIChhIDQwMSkgb3IgZ2l2ZXMgaXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRl" + - "ZCBvbmNlIHBlciByZXBvc2l0b3J5LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQg" + - "dGhlCnZhbGlkYXRvcidzIHB1bGwgc2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUg" + - "c2FtZSBjcmVkZW50aWFsLCBhbmQgYQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0" + - "aWxsIHNlcnZlcyB0aGUgb3JncyBpdCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBh" + - "Y2Nlc3MgdG8gdGhhdCByZXBvc2l0b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNo" + - "CmAtLXdhaXRgIHBvbGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJl" + - "bmV3ZWQgd2hpbGUgdGhlIHJ1bgp3YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBw" + - "cm9iZSBhc2tzIGZvciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3Np" + - "dG9yeSBhbmQgdG8gdGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5p" + - "bWFnZS5yZWdpc3RyeWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBw" + - "YXRoIG9mIG9uZSBzZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBz" + - "ZW50IGFzIHRoZSBzY29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuIFdoZW4gdGhlIHN0" + - "YWNrJ3MKT0NJIGNoYXJ0IHNvdXJjZSwgYGdsb2JhbC5oZWxtLnNvdXJjZXMucmVnaXN0cnlgIGFu" + - "ZCBgLnJlcG9zaXRvcnlgLCBpcyB0aGF0CnNhbWUgcGF0aCwgaXRzIHJvdyBpcyBhbHNvIHRoZSBv" + - "bmUgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxscyB0aGUgc3RhY2sncwpjaGFydHMgZnJvbSwg" + - "d2l0aCB0aGUgZG9ja2VyIGxvZ2luLgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25l" + - "IHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFs" + - "bCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmlu" + - "c3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFu" + - "ZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhl" + - "IGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29u" + - "dHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5l" + - "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + - "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + - "bWVzLiBUaGF0IGluY2x1ZGVzIGEgZG9ja2VyIGxvZ2luCmBudmNyLmlvYCByZWplY3RzIGV2ZW4g" + - "d2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIKaW5z" + - "dGFsbCwgc2luY2UgYGRvY2tlcmAgYW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgc3RpbGwgc2Vu" + - "ZCBpdC4gVGhlIGtleSBpcwpzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFs" + - "aWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUgcm93Cm5hbWVzIGJvdGguIEFmdGVyIGluc3Rh" + - "bGwgdGhlIHJvdyBhbHNvIHNheXMgd2hldGhlciBvbmUgb2YgdGhlIHB1bGwgc2VjcmV0cwpiZWxv" + - "dyBob2xkcyB0aGF0IGRvY2tlciBsb2dpbi4gQmVmb3JlIGluc3RhbGwsIGEgZG9ja2VyIGxvZ2lu" + - "IHdpdGggbm8gYWNjZXNzCnRvIHRoZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRzIGNvbWUgZnJvbSBm" + - "YWlscyBpdCB0b28sIGFsdGhvdWdoIHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQsIHNpbmNlIGBoZWxt" + - "YCBwdWxscyB0aGUgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhhdCBpcwpyZXBvcnRl" + - "ZCBhcyBubyBhY2Nlc3MsIG5vdCBhcyBhIHJlamVjdGVkIGxvZ2luLiBFbHNld2hlcmUsIGFuZCBh" + - "ZnRlciBpbnN0YWxsLAphIGRvY2tlciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBwYXNzZXMgd2hlcmUg" + - "dGhlIE5HQyBrZXkgcmVhY2hlcyB0aGUKcmVwb3NpdG9yeS4gQSByZWplY3RlZCBOR0Mga2V5IGlz" + - "IGEgd2FybmluZyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJlYWRzIHRoZSBwdWxs" + - "IHNlY3JldHMgb2YgdGhlIGNsdXN0ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhl" + - "CnZhbGlkYXRvciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZCBub25lIG9mIHRoZW0gaG9s" + - "ZHMgdGhhdCBrZXk7IHdoZW4Kb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBp" + - "dCBpcyBhbiBlcnJvci4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90IHJlYWNoLCBhIHRv" + - "a2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFy" + - "ZQp3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFz" + - "IEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0" + - "byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4g" + - "YW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxz" + - "LgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0" + - "aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9u" + - "bWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRp" + - "bmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18" + - "LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0" + - "ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5n" + - "YXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5h" + - "dHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxs" + - "bVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0" + - "ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRo" + - "ZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8Cnwg" + - "RW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJO" + - "YW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBj" + - "b21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJs" + - "ZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVy" + - "bmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFn" + - "ZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBj" + - "aGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1" + - "bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAt" + - "IHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lN" + - "QUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBj" + - "aGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0" + - "YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklM" + - "RV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAt" + - "LXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdp" + - "dGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAu" + - "IGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0" + - "aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5" + - "IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1" + - "aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBh" + - "biBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJh" + - "Y3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQs" + - "IGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0" + - "YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVh" + - "ZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3Ro" + - "ZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9y" + - "IGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJv" + - "YmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNN" + - "UyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURg" + - "IHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAg" + - "fCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1" + - "bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMj" + - "IGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFu" + - "ZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJl" + - "bmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2Fk" + - "ZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBh" + - "bmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2Vg" + - "IHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVx" + - "dWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8Cnwg" + - "YC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwg" + - "VVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5n" + - "YCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8" + - "CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBv" + - "bmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8Cnwg" + - "YC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8" + - "IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4" + - "cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRp" + - "b24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVs" + - "dCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZh" + - "bGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBt" + - "aW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRz" + - "KSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoK" + - "IyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + - "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + - "Y3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + - "dGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGlu" + - "ZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFp" + - "bmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJF" + - "QU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0" + - "IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdp" + - "dGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRz" + - "LiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2Vydmlj" + - "ZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRg" + - "IGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBt" + - "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExM" + - "TSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJv" + - "dXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUu" + - "IFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBE" + - "YCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJp" + - "bmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxk" + - "IHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwg" + - "RnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2" + - "ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5D" + - "QS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJs" + - "ZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMg" + - "YSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0g" + - "ZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0" + - "YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFy" + - "ZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1v" + - "ZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwg" + - "YC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5n" + - "TWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0" + - "aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1p" + - "dGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0" + - "b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBh" + - "cmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyks" + - "IGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0" + - "cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1X" + - "YCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2Yg" + - "YGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0" + - "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + - "ZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4g" + - "YGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9z" + - "ZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVz" + - "ZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQg" + - "c2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRl" + - "ZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBj" + - "YW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsg" + - "ZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZp" + - "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBU" + - "QUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVw" + - "ZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRp" + - "bmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJv" + - "dXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBg" + - "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwK" + - "fCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlv" + - "bi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkg" + - "c3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3Vu" + - "dC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJp" + - "ZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlk" + - "ZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlv" + - "biB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFt" + - "ZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5S" + - "YXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUg" + - "bm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1z" + - "cGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNw" + - "ZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + - "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1" + - "aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1p" + - "bnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1p" + - "bnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAg" + - "fCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwg" + - "Q29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0t" + - "Y2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMg" + - "fCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + - "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRp" + - "b25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFy" + - "cywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBu" + - "YW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8" + - "CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhv" + - "dXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWlt" + - "YWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + - "LWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9y" + - "IE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAt" + - "LWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJy" + - "aWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRg" + - "IHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNp" + - "ZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAt" + - "LWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNv" + - "bnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUg" + - "MzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9u" + - "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAg" + - "fCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCBy" + - "ZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVu" + - "IHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0" + - "aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVl" + - "IGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAg" + - "fAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBz" + - "dG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1" + - "bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0" + - "aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBs" + - "b2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVx" + - "dWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBO" + - "QU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + - "cmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFi" + - "bGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0" + - "ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAt" + - "LWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + - "IHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVu" + - "ZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0" + - "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCBN4bdssXwAALF8AAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + - "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0" + - "aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMg" + - "d2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lk" + - "ZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2Zh" + - "aWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZs" + - "aWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRg" + - "IGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdz" + - "IGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3Mg" + - "ZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRy" + - "YW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vz" + - "bid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMg" + - "d2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVj" + - "dGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwt" + - "a3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6" + - "Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90" + - "IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3Rh" + - "bGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1h" + - "Z2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25m" + - "aWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92" + - "YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVS" + - "X1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1" + - "c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2" + - "YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVu" + - "ZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwg" + - "aXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFz" + - "cyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Ig" + - "c3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3Nl" + - "ZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDog" + - "dGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0" + - "YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tz" + - "IGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2Ug" + - "dGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVj" + - "a3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVs" + - "dGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFu" + - "ZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdh" + - "dGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlz" + - "c2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdh" + - "eS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFj" + - "ZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9y" + - "YWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhl" + - "IHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBz" + - "YyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1" + - "YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFs" + - "LnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0Zf" + - "U1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxl" + - "YCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BV" + - "OiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Ig" + - "bm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2Vu" + - "dGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9y" + - "Lmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6" + - "IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "OiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUg" + - "bmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNv" + - "bmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5z" + - "aWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUg" + - "cm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0" + - "YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291" + - "cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhl" + - "IG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5h" + - "bWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJu" + - "aW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmlu" + - "YWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93" + - "LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3Rh" + - "bGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVh" + - "c2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRl" + - "LCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1" + - "bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBv" + - "ciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxu" + - "cz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3Rh" + - "bGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2Fy" + - "bmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVs" + - "ZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywg" + - "YXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9s" + - "dW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3Qg" + - "LS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1z" + - "aG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0" + - "YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0" + - "YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGlu" + - "c3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQg" + - "YGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5" + - "LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVS" + - "PXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkg" + - "VGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "IGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMg" + - "YmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0" + - "ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3Vu" + - "ZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0" + - "aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBh" + - "bmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQg" + - "b3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdo" + - "aWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVt" + - "YCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwg" + - "YW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8" + - "IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0" + - "b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFu" + - "ZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9y" + - "IGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJl" + - "amVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMp" + - "IGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxh" + - "bmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwK" + - "fCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8" + - "IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNm" + - "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZv" + - "a2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAg" + - "fCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVm" + - "YXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJh" + - "LXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5j" + - "dGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0" + - "aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5I" + - "MTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIg" + - "LyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJf" + - "UkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9u" + - "LWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxt" + - "ZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBi" + - "ZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8" + - "IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZj" + - "YS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwg" + - "SW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9j" + - "YWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMg" + - "PGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNr" + - "T2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8" + - "IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJl" + - "Z2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUg" + - "ZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0" + - "ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + - "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vz" + - "bid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBg" + - "bnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBw" + - "b2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlh" + - "bC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8Cnwg" + - "RnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVh" + - "bSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNh" + - "bGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJu" + - "ZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0" + - "ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5h" + - "bWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkg" + - "YWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdp" + - "c3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwg" + - "RXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVn" + - "aXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBU" + - "NU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVk" + - "IGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBr" + - "dWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFw" + - "cGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEA" + - "ps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjog" + - "Pi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBh" + - "bmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVl" + - "cyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMg" + - "b3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBj" + - "b21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwg" + - "Q0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1h" + - "bmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2Fs" + - "IGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93" + - "IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVs" + - "bWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBr" + - "dWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxu" + - "dmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6" + - "IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFu" + - "ZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwg" + - "cHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRh" + - "ZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNv" + - "cmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252" + - "Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBj" + - "b21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxs" + - "LXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZp" + - "bGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMg" + - "TlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9y" + - "IG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBi" + - "dW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBn" + - "cmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxl" + - "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hl" + - "bG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1" + - "aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBw" + - "YXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZl" + - "cnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBi" + - "YXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1z" + - "dGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRy" + - "b2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + - "az4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1" + - "dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3Rv" + - "cnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdD" + - "OgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9u" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRv" + - "d25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpg" + - "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5l" + - "IGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBh" + - "cmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0" + - "b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmls" + - "ZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBt" + - "b2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBs" + - "aXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24g" + - "ICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3Rlcgpg" + - "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFs" + - "LnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25t" + - "ZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3Ig" + - "RUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + - "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgoj" + - "IyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50" + - "cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJv" + - "bm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aApl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNv" + - "bnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBj" + - "b25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxl" + - "bnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRl" + - "biBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2Up" + - "CmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2gg" + - "c3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVj" + - "dG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFy" + - "dCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQg" + - "aWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJp" + - "ZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVz" + - "OmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmct" + - "aGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRl" + - "IG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJl" + - "Z2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJl" + - "Z2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+" + - "Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + - "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVz" + - "aW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSBy" + - "ZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdl" + - "LXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCBy" + - "ZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFy" + - "ZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1" + - "bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhl" + - "bnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUg" + - "cmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + - "JE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24g" + - "PHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3" + - "b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+" + - "IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBl" + - "ciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3Bh" + - "biBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxs" + - "Cj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdp" + - "c3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVu" + - "dCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBm" + - "aXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAg" + - "KG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkp" + - "LiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0" + - "aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVm" + - "b3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNz" + - "d29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5n" + - "Cj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xl" + - "IHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29t" + - "bWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + - "IGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdp" + - "c3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBp" + - "bWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUg" + - "b3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5" + - "KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFi" + - "b3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVn" + - "aXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxl" + - "LmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAg" + - "ICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFs" + - "c28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdp" + - "c3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+" + - "IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28g" + - "Y29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBp" + - "bWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBT" + - "b21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6" + - "Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNv" + - "bWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwu" + - "aGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9p" + - "bnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6" + - "Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAs" + - "IHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88" + - "bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBn" + - "bG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUu" + - "IFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21h" + - "dGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwg" + - "dGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVl" + - "ZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBj" + - "cmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5p" + - "bWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3Jl" + - "ZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdl" + - "IGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRl" + - "bnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJl" + - "Z2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhl" + - "IGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9t" + - "YWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMg" + - "c3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5" + - "IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToK" + - "CmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1u" + - "YW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + - "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVz" + - "cyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29u" + - "ZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBm" + - "b3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZv" + - "ciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1" + - "ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdB" + - "VEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1" + - "Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29y" + - "ZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBr" + - "ZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xp" + - "ZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMu" + - "bWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAK" + - "Cj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUg" + - "c2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1" + - "dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5k" + - "cmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYg" + - "eW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ug" + - "cm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jh" + - "c2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRp" + - "Y2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2" + - "YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQg" + - "cGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQ" + - "aGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0t" + - "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVu" + - "Y2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxl" + - "YXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJv" + - "eHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9u" + - "YWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + - "cyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwg" + - "R2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJp" + - "bGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9u" + - "aXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + - "IC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkg" + - "R2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3Vz" + - "dG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBz" + - "dGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBv" + - "bmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRk" + - "b24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZh" + - "bml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBz" + - "a2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5j" + - "bHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5h" + - "YmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25z" + - "OgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7" + - "fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRo" + - "ZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1z" + - "cGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdh" + - "eS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFk" + - "IG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBz" + - "dXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVj" + - "b3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHkt" + - "Z2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRl" + - "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAK" + - "ClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFi" + - "bGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVy" + - "bmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + - "cmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkg" + - "Zm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBv" + - "ciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0" + - "ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBp" + - "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNh" + - "YmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0" + - "IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2th" + - "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0" + - "ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBj" + - "dXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMg" + - "aW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1" + - "cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVm" + - "ZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBj" + - "b21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0" + - "YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3Nl" + - "IGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQK" + - "ICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUg" + - "ZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + - "aW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + - "IGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmlj" + - "YXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2" + - "ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVh" + - "cmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRv" + - "d24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJv" + - "bC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBv" + - "cGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBp" + - "bnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2" + - "aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVy" + - "LXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3" + - "aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + - "YWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBu" + - "YW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + - "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11" + - "c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0" + - "cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBo" + - "ZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJv" + - "bC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5h" + - "bC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGlu" + - "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRh" + - "dGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUg" + - "dGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVy" + - "aWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJh" + - "c2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFj" + - "ZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZj" + - "ZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJp" + - "ZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpX" + - "b3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAo" + - "ZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBn" + - "bG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVl" + - "KQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRk" + - "IGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1" + - "ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBz" + - "dGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAg" + - "Y29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3Rl" + - "bQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBs" + - "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + - "fX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + - "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5" + - "Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAg" + - "bWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNl" + - "cyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJl" + - "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBn" + - "bG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5k" + - "IGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAg" + - "IyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3Rp" + - "bmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUK" + - "Zm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0" + - "IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2Vj" + - "cmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwg" + - "U2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2Vy" + - "dmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2Ug" + - "YXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNh" + - "cnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2Vy" + - "LXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZh" + - "bHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJ" + - "X1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBP" + - "cGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAg" + - "KGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29u" + - "YCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5" + - "PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291" + - "bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2Nr" + - "ZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIK" + - "PiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFz" + - "ICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMg" + - "YXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtl" + - "cyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxk" + - "IG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVz" + - "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZp" + - "Z2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24g" + - "Y3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFt" + - "ZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtl" + - "cidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQw" + - "M2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tz" + - "IGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFu" + - "ZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVk" + - "Cj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBB" + - "VVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEp" + - "Cj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxs" + - "LXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVu" + - "YWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVs" + - "bC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNm" + - "LWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUg" + - "KG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVz" + - "ZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUg" + - "aW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5" + - "LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUg" + - "c2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQg" + - "a2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBj" + - "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBv" + - "bmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21t" + - "ZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21h" + - "dGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBu" + - "YW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXIt" + - "Y2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBg" + - "YGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8v" + - "a3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwg" + - "a3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMg" + - "Mi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRv" + - "bmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1m" + - "IGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRh" + - "dGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRz" + - "OiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + - "UHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAK" + - "Ck5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUu" + - "Zy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFN" + - "TCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMj" + - "IyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRl" + - "ICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3Rs" + - "IGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQg" + - "ZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVz" + - "ZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAg" + - "KyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hl" + - "Y2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0" + - "OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3Bl" + - "bkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5p" + - "dDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + - "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + - "dHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkg" + - "aW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBv" + - "cGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9u" + - "IG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNl" + - "cnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNr" + - "IiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNl" + - "cyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBi" + - "bG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2Ag" + - "Y29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRf" + - "Q0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGls" + - "bCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNz" + - "d29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFT" + - "U1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8" + - "CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2Ug" + - "Y2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2Ug" + - "fAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVk" + - "IHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFn" + - "YWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRp" + - "YWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + - "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0" + - "dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3Qt" + - "aW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQs" + - "IG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUt" + - "c3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkg" + - "YW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJh" + - "bl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0" + - "byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBh" + - "dGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhl" + - "IHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2lu" + - "ZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5v" + - "dGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiBy" + - "ZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNl" + - "bWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNw" + - "YDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3Qt" + - "MWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBl" + - "bnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRl" + - "ZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRo" + - "ZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBu" + - "dmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBv" + - "biBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQg" + - "eW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJl" + - "LXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApl" + - "dmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBg" + - "NDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRo" + - "ZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklm" + - "IHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBh" + - "cGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9i" + - "IGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9j" + - "a3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFw" + - "aS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBq" + - "b2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2Fz" + - "IGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtl" + - "eGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0" + - "dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1w" + - "bGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1" + - "cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVm" + - "ZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBr" + - "ZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxz" + - "L2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVy" + - "c2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + - "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8g" + - "dmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEu" + - "MS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4x" + - "MSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRp" + - "ZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZh" + - "bGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9u" + - "JyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1" + - "ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZl" + - "cmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4g" + - "bGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIg" + - "dmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQg" + - "dG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlv" + - "biI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tp" + - "cCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBh" + - "c2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxh" + - "dGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUg" + - "c3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQg" + - "ZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + - "ZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0" + - "byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcg" + - "c3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlz" + - "IGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0Yg" + - "bmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAu" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFt" + - "ZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSBy" + - "ZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNl" + - "cyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0" + - "ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFt" + - "ZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBv" + - "dGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFu" + - "ZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVz" + - "b3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + - "IGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBz" + - "dHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + - "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + - "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90" + - "IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3Zp" + - "bmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxp" + - "dC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxh" + - "bmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0" + - "YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBh" + - "cmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBs" + - "dXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9z" + - "dCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBs" + - "YW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRo" + - "ZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + - "dGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGll" + - "ZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21w" + - "dXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "aW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxs" + - "aW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2Vf" + - "aHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJs" + - "LCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNt" + - "c19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdp" + - "dGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtV" + - "QkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVS" + - "X05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAog" + - "ICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMt" + - "dXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMg" + - "bm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3Zl" + - "cnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93" + - "IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1" + - "dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdp" + - "c3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWly" + - "ZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + - "YXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVj" + + "VGhlcmUgdGhlIGRvY2tlciBsb2dpbiBpcwpzdGlsbCBzZW50IGZvciB0aGUgcm93IHRoZSBzdGFj" + + "aydzIGNoYXJ0cyBjb21lIGZyb20sIGJlbG93LCBhbmQgZ3JhZGVkIGFzCmVsc2V3aGVyZSwgc2lu" + + "Y2UgYGhlbG1gIHB1bGxzIHRoZSBjaGFydHMgd2l0aCBpdC4gRWxzZXdoZXJlIHRoZSBrZXkKaXMg" + + "c2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3IgZm9yIGEgcmVwb3NpdG9yeSB3" + + "aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkgb3IgZ2l2ZXMg" + + "aXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRlZCBvbmNlIHBlciByZXBvc2l0b3J5" + + "LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRvcidzIHB1bGwg" + + "c2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUgc2FtZSBjcmVkZW50aWFsLCBhbmQg" + + "YQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0aGUgb3JncyBp" + + "dCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhhdCByZXBvc2l0" + + "b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBvbGwgcmVhZHMg" + + "dGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUgdGhlIHJ1bgp3" + + "YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tzIGZvciBwdWxsIGFj" + + "Y2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8gdGhlCnN0YWNr" + + "J3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIHRoZW4K" + + "YGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBzZWdtZW50LCBz" + + "dWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRoZSBzY29wZSwgc2lu" + + "Y2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuIFdoZW4gdGhlIHN0YWNrJ3MKT0NJIGNoYXJ0IHNvdXJj" + + "ZSwgYGdsb2JhbC5oZWxtLnNvdXJjZXMucmVnaXN0cnlgIGFuZCBgLnJlcG9zaXRvcnlgLCBpcyB0" + + "aGF0CnNhbWUgcGF0aCwgaXRzIHJvdyBpcyBhbHNvIHRoZSBvbmUgYGhlbG1gIG9uIHRoaXMgbWFj" + + "aGluZSBwdWxscyB0aGUgc3RhY2sncwpjaGFydHMgZnJvbSwgd2l0aCB0aGUgZG9ja2VyIGxvZ2lu" + + "LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBu" + + "YW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTog" + + "YSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFj" + + "aGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAg" + + "YW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAt" + + "LXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBy" + + "dW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwg" + + "dGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJ" + + "QQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBUaGF0IGluY2x1ZGVzIGEg" + + "ZG9ja2VyIGxvZ2luCmBudmNyLmlvYCByZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3Jr" + + "cyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIKaW5zdGFsbCwgc2luY2UgYGRvY2tlcmAg" + + "YW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgc3RpbGwgc2VuZCBpdC4gVGhlIGtleSBpcwpzdGls" + + "bCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQs" + + "IGFuZCB0aGUgcm93Cm5hbWVzIGJvdGguIEFmdGVyIGluc3RhbGwgdGhlIHJvdyBhbHNvIHNheXMg" + + "d2hldGhlciBvbmUgb2YgdGhlIHB1bGwgc2VjcmV0cwpiZWxvdyBob2xkcyB0aGF0IGRvY2tlciBs" + + "b2dpbi4gQmVmb3JlIGluc3RhbGwsIGEgZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzCnRvIHRo" + + "ZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRzIGNvbWUgZnJvbSBmYWlscyBpdCB0b28sIGFsdGhvdWdo" + + "IHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQsIHNpbmNlIGBoZWxtYCBwdWxscyB0aGUgY2hhcnRzIHdp" + + "dGggdGhlIGRvY2tlciBsb2dpbi4gVGhhdCBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MsIG5vdCBh" + + "cyBhIHJlamVjdGVkIGxvZ2luLiBFbHNld2hlcmUsIGFuZCBhZnRlciBpbnN0YWxsLAphIGRvY2tl" + + "ciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBwYXNzZXMgd2hlcmUgdGhlIE5HQyBrZXkgcmVhY2hlcyB0" + + "aGUKcmVwb3NpdG9yeS4gQSByZWplY3RlZCBOR0Mga2V5IGlzIGEgd2FybmluZyBhZnRlciBpbnN0" + + "YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJlYWRzIHRoZSBwdWxsIHNlY3JldHMgb2YgdGhlIGNsdXN0" + + "ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhlCnZhbGlkYXRvciBjb3BpZXMgcHVs" + + "bCBzZWNyZXRzIGZyb20sIGFuZCBub25lIG9mIHRoZW0gaG9sZHMgdGhhdCBrZXk7IHdoZW4Kb25l" + + "IGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBpdCBpcyBhbiBlcnJvci4gQSByZWdp" + + "c3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWls" + + "cywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFyZQp3YXJuaW5ncy4gQQpyZWdpc3Ry" + + "eSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFz" + + "aWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBB" + + "IHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0" + + "ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQg" + + "ZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRo" + + "ZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25m" + + "aWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0" + + "YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMg" + + "fCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sg" + + "d2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlz" + + "IGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBj" + + "YCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBO" + + "VkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBl" + + "bnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlz" + + "IHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3Bh" + + "Y2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5W" + + "T1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBg" + + "b3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90" + + "IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBg" + + "TlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9y" + + "YWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNz" + + "IGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9S" + + "QUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1F" + + "U1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + + "LXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmll" + + "cyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFs" + + "dWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1l" + + "bnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAog" + + "IGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBp" + + "dHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNz" + + "IHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + + "YCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUg" + + "aXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwg" + + "dXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Ag" + + "Zm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0" + + "aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2Fs" + + "CiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9t" + + "IHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2Fj" + + "aGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNl" + + "IHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAg" + + "YnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0" + + "IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0" + + "aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBm" + + "cm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5" + + "LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + + "LXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlm" + + "aWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBg" + + "bnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1" + + "cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsg" + + "RVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5h" + + "bWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwg" + + "Y2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAt" + + "LXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNv" + + "bXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1l" + + "dmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lz" + + "dGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + + "CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNh" + + "LWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBS" + + "ZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQg" + + "fCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBp" + + "bnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0" + + "ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + + "IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5" + + "IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAg" + + "fCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1j" + + "bGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0" + + "aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2Nv" + + "cGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAt" + + "LWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVh" + + "Y2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpF" + + "eHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhg" + + "IChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAt" + + "c3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFi" + + "bGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1" + + "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlv" + + "biBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8Cnwg" + + "YC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0g" + + "fAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwg" + + "LSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlv" + + "biB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQg" + + "VVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1M" + + "TE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hh" + + "cnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhl" + + "IGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1t" + + "b2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0" + + "YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1h" + + "dCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4s" + + "dG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2" + + "YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBs" + + "ZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNh" + + "dXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8Cnwg" + + "YC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVs" + + "dCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwg" + + "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + + "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + + "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + + "IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rp" + + "b25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1td" + + "LmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRp" + + "YmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRl" + + "ZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQg" + + "YC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3Vu" + + "ZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBv" + + "ciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9y" + + "ZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1" + + "ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1g" + + "IChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNl" + + "IGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAt" + + "Uyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVs" + + "bSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBh" + + "IEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + + "YCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxt" + + "Q29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3Qg" + + "YmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZp" + + "Y2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24t" + + "aWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5j" + + "dGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21w" + + "bGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4t" + + "c2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBk" + + "byBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBm" + + "dW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2Rl" + + "bCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + + "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBg" + + "LS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpT" + + "T04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlv" + + "cml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25m" + + "aWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQg" + + "b3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJ" + + "T1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBv" + + "cnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVs" + + "dCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1v" + + "ZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91" + + "dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJl" + + "IGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBk" + + "YXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + + "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1z" + + "aG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUg" + + "TkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwg" + + "U0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVw" + + "bGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAg" + + "fAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVu" + + "c2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1g" + + "IHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkg" + + "fAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNv" + + "bW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToK" + + "CnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVg" + + "IHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXow" + + "LTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0" + + "IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBU" + + "WVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwg" + + "RXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5l" + + "ciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1o" + + "ZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1" + + "YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBK" + + "U09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4g" + + "Ym90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0g" + + "fAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0" + + "aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1Ng" + + "IHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJp" + + "bmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVy" + + "LWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0" + + "YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQg" + + "dmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1" + + "bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcu" + + "IGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgt" + + "cXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24g" + + "KElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdy" + + "YWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEp" + + "IHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxO" + + "T05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVz" + + "dWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBv" + + "cmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQt" + + "c3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1v" + + "ZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lP" + + "TjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRB" + + "R1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9u" + + "IFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVV" + + "SURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVt" + + "ZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0t" + + "dHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQg" + + "fCAtIHwKUEsHCOIa7nLCXwAAwl8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCm" + + "zhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5k" + + "LCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBl" + + "dmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBl" + + "bnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBh" + + "bmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRz" + + "IGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNl" + + "X2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12" + + "YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywg" + + "YW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20g" + + "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3Vu" + + "ZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4g" + + "QW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkg" + + "YW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3Vi" + + "ZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmls" + + "ZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxl" + + "L2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2Ft" + + "ZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxp" + + "ZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwg" + + "d2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3Rl" + + "ciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRo" + + "ZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3Ig" + + "YC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5v" + + "dCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9y" + + "IHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGlj" + + "dDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4" + + "IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFs" + + "aWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNj" + + "cmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFz" + + "c2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBs" + + "YWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIg" + + "Y2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3Mg" + + "aXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0" + + "b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwg" + + "R3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5z" + + "Y3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1" + + "c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJ" + + "bnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwg" + + "ZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVu" + + "dm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlk" + + "YXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAg" + + "fCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUg" + + "b25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRh" + + "dGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVs" + + "dC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhl" + + "IHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRo" + + "ZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZh" + + "aWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + + "byBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRo" + + "ZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxs" + + "IHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUt" + + "b3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1n" + + "cHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25l" + + "IGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWlu" + + "YXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRl" + + "bGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVs" + + "ZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEg" + + "ZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBr" + + "dWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBs" + + "aXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJl" + + "c29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJz" + + "IG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVy" + + "bWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRp" + + "b24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJl" + + "cnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBU" + + "ZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + + "IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5p" + + "bmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93" + + "biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4" + + "dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5n" + + "LCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3" + + "aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNw" + + "YWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2Ug" + + "cnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRz" + + "IHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVt" + + "LiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTog" + + "YGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUg" + + "XHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90" + + "LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9u" + + "ZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9y" + + "dHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyBy" + + "ZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9E" + + "UklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZp" + + "bGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNl" + + "cyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRk" + + "LW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRp" + + "dGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBm" + + "cm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5n" + + "cyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0" + + "YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBg" + + "SEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhl" + + "IHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3Ro" + + "ZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1" + + "bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8" + + "IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRo" + + "ZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJl" + + "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQg" + + "bm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3Nl" + + "ZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24t" + + "aW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29y" + + "aXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Np" + + "b24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGku" + + "c3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVz" + + "dGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3Qg" + + "aGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + + "IC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1" + + "cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVs" + + "bSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxT" + + "ZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNo" + + "ZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlk" + + "IEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3Jvbmcg" + + "ZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1Ijog" + + "IkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24g" + + "bXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1w" + + "bGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQ" + + "YXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJl" + + "cXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29t" + + "cHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0" + + "YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0" + + "byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxs" + + "QmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIg" + + "cmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9y" + + "dCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21w" + + "dXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBv" + + "biBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+" + + "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRv" + + "ZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmls" + + "ZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDog" + + "PGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0" + + "ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3Rh" + + "dGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZg" + + "IGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Np" + + "bmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+" + + "YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNr" + + "IGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVz" + + "dGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVj" + + "dGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0" + + "aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVk" + + "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8" + + "VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBh" + + "IHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRl" + + "bnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3Rg" + + "L2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24g" + + "ZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0" + + "aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5k" + + "IGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2Fp" + + "dCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91" + + "dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsH" + + "CBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVy" + + "YXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1w" + + "bGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5z" + + "dGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3Jl" + + "dHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "aywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFs" + + "bGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9s" + + "LXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVk" + + "IGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVz" + + "ZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFw" + + "YWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIu" + + "MCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0" + + "ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdl" + + "Lm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQs" + + "IGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xp" + + "LXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczog" + + "W1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFs" + + "c2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRp" + + "YS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVs" + + "bWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJv" + + "ZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2Vz" + + "OiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAg" + + "ZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3Rh" + + "Y2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJv" + + "bC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rp" + + "b25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29y" + + "ayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRl" + + "LXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + + "bGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xM" + + "TSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNs" + + "bG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBl" + + "eHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFs" + + "bGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1w" + + "bGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5l" + + "LXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8" + + "Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2Jh" + + "bC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1" + + "dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2Jh" + + "bC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxv" + + "YWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0" + + "cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "azo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4v" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29t" + + "bWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1m" + + "bG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + + "Lm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJl" + + "Zm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3Qg" + + "YmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAg" + + "ICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVk" + + "ZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJl" + + "IHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29t" + + "bWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBy" + + "b290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1m" + + "aWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRl" + + "bnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5k" + + "CmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNh" + + "bApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92" + + "MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVu" + + "ZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29u" + + "ZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAg" + + "ICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1s" + + "LmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2" + + "YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAg" + + "IChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2" + + "YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9i" + + "YWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNo" + + "IGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGlj" + + "YSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJv" + + "bm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1w" + + "bGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZh" + + "bHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJp" + + "ZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoK" + + "IyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdl" + + "IHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3Ig" + + "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "IiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUK" + + "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + + "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + + "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + + "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + + "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91" + + "IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0" + + "aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMg" + + "Mi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2Vy" + + "IGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBI" + + "ZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhl" + + "IGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4K" + + "CmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2lu" + + "IG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5" + + "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IK" + + "YXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSBy" + + "ZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5k" + + "a3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5" + + "IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290" + + "Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRo" + + "YXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25l" + + "IGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAo" + + "b3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3Zlcndy" + + "aXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdp" + + "dGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgK" + + "PiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMv" + + "aW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4g" + + "d2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFz" + + "cwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxt" + + "IHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dp" + + "bi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9p" + + "ZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSBy" + + "ZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlv" + + "dSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVy" + + "IGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9y" + + "IGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkg" + + "aXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0" + + "IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0" + + "YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlh" + + "bWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5" + + "PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9y" + + "eTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0g" + + "Y2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3Np" + + "dG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBt" + + "aXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0" + + "cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmAp" + + "IGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMs" + + "IHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAo" + + "Zm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9D" + + "SSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChP" + + "Q0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlv" + + "dXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhl" + + "bG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNo" + + "IDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9u" + + "bHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4K" + + "CjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0" + + "aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Ig" + + "d29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAg" + + "S3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2Ug" + + "YG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMs" + + "IGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRy" + + "eSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9g" + + "IGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3Rp" + + "bGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNy" + + "ZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVu" + + "dGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2Vy" + + "IGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAg" + + "ID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAg" + + "c2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+" + + "YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2Vy" + + "LiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERS" + + "RVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1l" + + "c3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAt" + + "biAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBv" + + "ciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUg" + + "dGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFn" + + "ZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3" + + "aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwu" + + "ZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBz" + + "ZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2Ug" + + "RE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVT" + + "U2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBz" + + "dGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUg" + + "RXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcg" + + "YW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1w" + + "bGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + + "ZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJh" + + "IHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50" + + "cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0" + + "IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29y" + + "ZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFV" + + "TFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1" + + "bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNy" + + "ZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRy" + + "YS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNT" + + "QU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBs" + + "b3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2Vy" + + "dmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0t" + + "LS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFv" + + "LCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8" + + "IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMs" + + "IG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5W" + + "Q0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1p" + + "biB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIg" + + "bWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5" + + "IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRl" + + "cm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJs" + + "ZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBi" + + "eSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1l" + + "cyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQg" + + "aW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + + "IHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQg" + + "c3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNl" + + "IGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFu" + + "ZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBz" + + "dGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVu" + + "dHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAg" + + "ICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJv" + + "dXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHkt" + + "Z2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRo" + + "IG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYg" + + "eW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5g" + + "LCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNr" + + "CnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1p" + + "bmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJl" + + "dmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVt" + + "cGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZh" + + "bml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25s" + + "eSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHkt" + + "Z2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1I" + + "ICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRo" + + "IgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJ" + + "IEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3Nl" + + "IHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4g" + + "RW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9t" + + "ZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBh" + + "dmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkg" + + "YWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBh" + + "IGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBz" + + "ZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNh" + + "dGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxl" + + "bWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmlj" + + "YXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9u" + + "Lm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpU" + + "aGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29t" + + "cG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUt" + + "cGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBl" + + "bnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNv" + + "bXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxl" + + "IGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0" + + "aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1p" + + "eCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + + "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRz" + + "LCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBv" + + "cmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + + "b3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhh" + + "bmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + + "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVz" + + "dHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFj" + + "ay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNz" + + "YW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBg" + + "Z3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0" + + "eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNz" + + "YDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGlu" + + "Y2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVz" + + "ZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + + "bG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5l" + + "bmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMg" + + "c3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVz" + + "cGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVu" + + "dGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGlu" + + "c3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + + "YCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQg" + + "cmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlm" + + "eSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Np" + + "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZh" + + "dWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92" + + "ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0" + + "ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBk" + + "aXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ry" + + "b3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRy" + + "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQt" + + "c3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3Qt" + + "Zm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMg" + + "fCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScK" + + "IyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVl" + + "cwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRo" + + "YXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBs" + + "aWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBS" + + "ZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBp" + + "biBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJ" + + "biB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBz" + + "ZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAot" + + "IG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEu" + + "ZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQog" + + "IHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZh" + + "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAt" + + "IGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + + "ICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0" + + "czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZ" + + "QU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBv" + + "ciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdz" + + "IHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFu" + + "ZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVh" + + "c2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1j" + + "YXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdl" + + "IFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMu" + + "IERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3" + + "byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlz" + + "IHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAg" + + "UmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0t" + + "fC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFw" + + "aSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAg" + + "fCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVy" + + "eSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsg" + + "S3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55" + + "YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExf" + + "U0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNm" + + "LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8Cnwg" + + "Rm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQg" + + "Zm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0" + + "aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5k" + + "IHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2Vj" + + "cmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2" + + "NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJj" + + "b25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3" + + "IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRp" + + "bSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcg" + + "aXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxr" + + "ZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJh" + + "c2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25n" + + "IGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAg" + + "YDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4K" + + "PiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRz" + + "IGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdo" + + "aWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmct" + + "b3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhl" + + "IGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBh" + + "IGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0" + + "b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2" + + "aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRI" + + "Igo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2Vy" + + "dmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3Rs" + + "IHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhl" + + "IG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVs" + + "bGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5k" + + "Cj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8g" + + "b3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290" + + "c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVj" + + "YXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5" + + "dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + + "dG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoK" + + "IyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5v" + + "IG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdl" + + "UHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtz" + + "IHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBv" + + "ciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5" + + "dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2" + + "ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVy" + + "bm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0" + + "IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5z" + + "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZh" + + "dWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + + "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + + "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + + "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5" + + "dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2Vj" + + "cmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1p" + + "c3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9" + + "XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + + "PHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3Vs" + + "ZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcg" + + "YSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2Rl" + + "IHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3Jl" + + "YXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2Vz" + + "L3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sK" + + "CmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAg" + + "ICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAt" + + "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1v" + + "biBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18" + + "LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAg" + + "fCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hl" + + "Y2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2Vydmlj" + + "ZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8g" + + "cG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50" + + "LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1" + + "Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBh" + + "dXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3Rl" + + "cidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNz" + + "dWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlz" + + "c3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVu" + + "YWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUt" + + "c3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZl" + + "cmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2ls" + + "bGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlk" + + "ZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNl" + + "cnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5k" + + "cmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsg" + + "YGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmcz" + + "bTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMg" + + "ZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMg" + + "Y2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBO" + + "b2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNj" + + "cmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBg" + + "ZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUg" + + "ZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3Rz" + + "dHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8" + + "IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52" + + "Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGll" + + "bnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJh" + + "bjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRo" + + "IGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFu" + + "ZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsg" + + "c2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3Vu" + + "dC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7" + + "IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9t" + + "ZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhl" + + "IG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3Bz" + + "IHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFW" + + "QV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFU" + + "UyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBO" + + "QVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZy" + + "b20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9O" + + "PW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJp" + + "ZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVh" + + "dGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBq" + + "b2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMg" + + "YSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAg" + + "aW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGgg" + + "bGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZl" + + "ciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0" + + "aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lk" + + "YCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJp" + + "ZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2Ig" + + "LW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3Rh" + + "dHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9y" + + "IGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhv" + + "b2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMg" + + "aW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFz" + + "aAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAt" + + "LWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "bmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + + "b290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRp" + + "dGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMu" + + "bWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1" + + "dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + + "Lm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZp" + + "bGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + + "bWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBs" + + "b3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBm" + + "dW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBv" + + "aW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJb" + + "CiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9u" + + "IjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1" + + "c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwg" + + "c3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVk" + + "IHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxt" + + "ICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGll" + + "bnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + + "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVj" + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2Vy" + - "bmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVs" + - "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBO" + - "R0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90" + - "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + - "IHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkg" + - "b25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmls" + - "ZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAo" + - "aGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwp" + - "IGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRo" + - "ZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBi" + - "dW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEg" + - "bWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVk" + - "IGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywg" + - "Z2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBm" + - "b3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5j" + - "IiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9j" + - "YXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3Jt" + - "IGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBt" + - "eSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAg" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAg" + + "ICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMg" + + "MS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIi" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhl" + + "bG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJl" + + "Y3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5" + + "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRp" + + "bCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcy" + + "LXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4g" + + "aGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAg" + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwg" + - "Y3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + - "YXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1v" + - "bml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBv" + - "bmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNv" + - "bXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFu" + - "ZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0" + - "b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5" + - "c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVt" + - "LCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBs" + - "YXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "SEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2ll" + - "cywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0" + - "IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUg" + - "YWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + - "IHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3" + - "aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "My1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRv" + - "IGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBh" + - "IHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxh" + - "Zy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250" + - "cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0" + - "YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhl" + - "IGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9m" + - "aWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQg" + - "ZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + - "YW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + - "bHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + - "bHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29u" + - "dGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + - "IHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQg" + - "aW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAog" + - "ICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2lu" + - "dCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24i" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNl" + - "cyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxl" + - "ZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0" + - "aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUt" + - "aW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJs" + - "b2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQg" + - "dGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBi" + - "YXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + - "JyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRv" + - "IGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBh" + - "Z2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0" + - "aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJU" + - "aGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2" + - "YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRl" + - "IGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAi" + - "aWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJE" + - "ZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQg" + - "T3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVz" + - "ZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMg" + - "cmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVz" + - "cGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + - "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVz" + - "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNl" + - "cyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAi" + - "VGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBv" + - "dGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1p" + - "bWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4g" + - "SW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25v" + - "c3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBw" + - "b2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9u" + - "IHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1" + - "ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVs" + - "bFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVs" + - "bEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3Jl" + - "dHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBj" + - "aGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFj" + - "Y291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHBy" + - "b3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90" + - "ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEg" + - "cmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5l" + - "IHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJl" + - "Z2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25m" + - "aWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9s" + - "bGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBl" + - "bnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhl" + - "IGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJv" + - "dXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQg" + - "Y29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1" + - "ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBO" + - "QVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxs" + - "IHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1h" + - "bmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rlcjsg" + - "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJl" + + "ICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3Ms" + + "IHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJl" + + "ZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdo" + + "eSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1" + + "dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3Ig" + + "J2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBi" + + "ZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZp" + + "bGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdl" + + "bnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4g" + + "YXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVm" + + "b3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sg" + + "aW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2ls" + + "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + + "ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBi" + + "eSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQg" + + "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVk" + + "IG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNl" + + "cy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRv" + + "ciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNl" + + "cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + + "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBs" + + "YW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1" + + "c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVp" + + "ciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJh" + + "dyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNh" + + "LW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIg" + + "cmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFt" + + "ZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVl" + + "c3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtT" + + "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1" + + "c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + + "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + + "ZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRo" + + "ZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFu" + + "ZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJ" + + "IGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0" + + "aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVy" + + "LWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcs" + + "IHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUg" + + "ZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8g" + + "ZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJl" + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0" + - "byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3Jw" + - "YywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBu" + - "YW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3Jr" + - "ZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNT" + - "ZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2Nh" + - "dGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNT" + - "ZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAog" + - "ICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52" + - "Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRh" + - "c2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5n" + - "YXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "c2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQg" + - "SG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZp" + - "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhl" + - "YWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUg" + - "Y29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1h" + - "bmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkg" + - "aW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0" + - "byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRv" + - "d24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFu" + - "ZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBv" + - "ZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxh" + - "bmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3Jl" + - "IGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVh" + - "cmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBp" + - "ZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGlu" + - "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNt" + - "YXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQg" + - "YW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4" + - "cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQg" + - "cmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + - "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + - "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + - "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24g" + - "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4g" + - "cHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCBy" + - "ZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlv" + - "biB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVs" + - "bWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQg" + - "d2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwg" + - "dGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBu" + - "Y2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0" + - "aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93" + - "biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNl" + - "cnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRy" + - "dWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBh" + - "Ym9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0" + - "ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVm" + - "YXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + - "bmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBj" + - "b250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtV" + - "QkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAg" + - "ICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXgg" + - "c3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0" + - "IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBw" + - "cmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhl" + - "IHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBz" + - "dGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJs" + - "IGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0" + - "YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92" + - "ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1" + - "ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdz" + - "IGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBO" + - "VkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + - "IHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1w" + - "bCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5n" + - "b3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRo" + - "YXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMg" + - "YmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRl" + - "bmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+" + - "IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + - "aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMg" + - "KGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFn" + - "ZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFy" + - "dCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3Bh" + - "Z2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2" + - "YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVu" + - "Y3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTog" + - "TExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVz" + - "dCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBz" + - "dGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0" + - "aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSBy" + - "ZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBl" + - "eHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBu" + - "byBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9u" + - "aWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGlu" + - "ZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQg" + - "b24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5" + - "LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdl" + - "Q29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29y" + - "a2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + - "cG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFu" + - "ZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBs" + - "b3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3lt" + - "ZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRo" + - "ZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdh" + - "eSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2Rl" + - "IHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qg" + - "cm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwg" + - "cmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAog" + - "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + - "IGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmts" + - "b2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJh" + - "bnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4g" + - "cHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBI" + - "ZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhl" + - "IHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0" + - "aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0" + - "ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0t" + - "d29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBh" + - "IGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQg" + - "YmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNl" + - "IHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVk" + - "IGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "U0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNl" + - "ZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBw" + - "cm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJy" + - "ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdV" + - "alZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2Vk" + - "IGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxl" + - "IDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSBy" + - "ZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBg" + - "cDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09N" + - "S2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVh" + - "c2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + - "bGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9j" + - "YXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUg" + - "dG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxl" + - "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + - "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + - "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + - "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + - "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + - "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + - "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + - "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZl" + - "cmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZm" + - "IC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJl" + - "c291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkg" + - "ZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBj" + - "aGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUg" + - "MjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRl" + - "cGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52" + - "Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwg" + - "c2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5" + - "YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2Vz" + - "OgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgog" + - "IGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + - "CmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFy" + - "dCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + - "cCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRv" + - "a2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2Vz" + - "IGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2Mt" + - "YXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwK" + - "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + - "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + - "bmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3Jl" + - "YXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2" + - "ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0t" + - "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwK" + - "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFn" + - "ZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmlj" + - "IGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNz" + - "YW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlh" + - "bWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2Fu" + - "ZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVu" + - "Y3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0" + - "ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAog" + - "ICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0" + - "czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVy" + - "eSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFy" + - "YXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + - "YXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAu" + - "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxv" + - "eQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VB" + - "Y2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEg" + - "KGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQ" + - "dWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQt" + - "c3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8g" + - "Y3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAi" + - "JHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3Jl" + - "ZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMg" + - "LW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkg" + - "cHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3Iu" + - "aW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpX" + - "aGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgoj" + - "IyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9O" + - "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + - "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBp" + - "cyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUg" + - "aW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNs" + - "ZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21w" + - "dXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + - "IGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVn" + - "aXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNz" + - "aW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4K" + - "CiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRo" + - "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + - "dGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBk" + - "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + - "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "dHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + - "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFj" + - "ZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGlu" + - "ZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBg" + - "YmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90" + - "aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51" + - "cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwK" + - "ICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNz" + - "YW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMg" + - "c2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQg" + - "b3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxs" + - "YXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2lu" + - "dCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQg" + - "YmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAg" + - "MTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0" + - "ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2Vz" + - "WzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBk" + - "YXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwg" + - "cm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhl" + - "CkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48" + - "ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4g" + - "Rm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZl" + - "ZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0" + - "Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3" + - "aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJl" + - "YXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRl" + - "LXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtl" + - "ZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVn" + - "aXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQg" + - "b3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNv" + - "bXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJh" + - "c2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4i" + - "ICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + - "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9w" + - "ZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAt" + - "biBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9" + - "Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9u" + - "bHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24g" + - "c2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3Nh" + - "bmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBw" + - "b2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQpr" + - "dWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lm" + - "aWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJl" + - "bGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + - "bmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3Jv" + - "dXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdy" + - "cGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJl" + - "cXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAs" + - "IG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + - "dWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVl" + - "YCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + - "aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + - "bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIg" + - "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBs" + - "b3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + - "bmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdo" + - "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZh" + - "bml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZD" + - "RiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + - "ZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + - "YCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBp" + - "bmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBk" + - "b2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2Vs" + - "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRl" + - "IHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmly" + - "c3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29z" + - "ZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERv" + - "IG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRy" + - "b2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK" + - "fCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + - "YW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJv" + - "ZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250" + - "cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpU" + - "aGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90" + - "IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBj" + - "b250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMg" + - "ZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2th" + - "Z2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRs" + - "ZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUg" + - "Ym90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBs" + - "YW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0" + - "aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5k" + - "IGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtT" + - "LCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2Nz" + - "Lm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBj" + - "b250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xs" + - "ZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5" + - "L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyBy" + - "b3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRk" + - "cmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRk" + - "cmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBE" + - "TlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBg" + - "YHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6" + - "CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + - "Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAg" + - "ICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + - "IG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0" + - "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAg" + - "ICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFp" + - "bj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2" + - "Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9s" + - "bGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNo" + - "YXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAg" + - "ICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + - "ICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBl" + - "bnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAg" + - "IG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + - "IGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBp" + - "OgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFt" + - "ZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVy" + - "eToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJh" + - "dG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRl" + - "d2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48" + - "Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxn" + - "YXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46" + - "NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBg" + - "CgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRl" + - "eHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUg" + - "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + - "LWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwg" + - "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + - "LWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3" + - "YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5W" + - "Q0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3Jw" + - "Y191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJo" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + - "c3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBp" + - "LWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5" + - "LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmll" + - "bGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19V" + - "UkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7" + - "IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFk" + - "ZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVy" + - "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5l" + - "OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lz" + - "dGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxu" + - "Y2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + - "bmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklH" + - "PTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + - "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBK" + - "V0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVw" + - "bG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBs" + - "YW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0" + - "dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBj" + - "bHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUt" + - "cGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + - "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lv" + - "biA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBm" + - "dWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6Cgpg" + - "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + - "dj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1w" + - "bGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVn" + - "aW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBg" + - "CgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0" + - "ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVz" + - "IGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0" + - "aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUg" + - "dGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRy" + - "b2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + - "b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGlu" + - "IHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVz" + - "ZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBE" + - "byBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9y" + - "IGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + - "LXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkg" + - "bmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3" + - "YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "dGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1u" + - "IG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + - "bGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2Vu" + - "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0K" + - "YGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBs" + - "YW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0" + - "aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpv" + - "bmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFt" + - "ZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJ" + - "ZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFs" + - "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFn" + - "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + - "cmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1p" + - "c3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + - "IGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNp" + - "dCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVu" + - "dGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+" + - "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + - "ZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0" + - "ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1" + - "c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93" + - "IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3Rl" + - "ciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3Ig" + - "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpg" + - "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBg" + - "S1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29u" + - "dHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1i" + - "aWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1" + - "ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0" + - "cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGgg" + - "dGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0t" + - "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + - "IC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVy" + - "bCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1u" + - "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBg" + - "YAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIg" + - "YGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9u" + - "bHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29u" + - "dHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQK" + - "Y2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWlu" + - "Zy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFz" + - "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "XAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBs" + - "YW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + - "CiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + - "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + - "cy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2gg" + - "Y29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + - "CnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBv" + - "bmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIw" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJl" + - "ZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNl" + - "bGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBg" + - "YmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1B" + - "IC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2Rz" + - "IC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNl" + - "bnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBn" + - "ZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERl" + - "c2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMp" + - "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBG" + - "YWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAg" + - "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + - "LTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50" + - "cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6" + - "dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVj" + - "ayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3Jl" + - "dCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAt" + - "biA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3Jl" + - "dHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9" + - "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50" + - "IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNw" + - "YWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEu" + - "ICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + - "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + - "dG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1u" + - "YW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNu" + - "J3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29u" + - "ZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + - "ZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMq" + - "KiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6" + - "IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0" + - "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0" + - "Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2Vj" + - "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3Qg" + - "Y3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdl" + - "bnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBt" + - "aW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFU" + - "VVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAg" + - "SW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNv" + - "bnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVu" + - "QmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZh" + - "dWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwg" + - "Z2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0" + - "bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hl" + - "Y2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8" + - "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMK" + - "CjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3Ig" + - "aW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1p" + - "Z3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3lu" + - "Y2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBi" + - "YXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + - "by1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVt" + - "CiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUg" + - "cHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2Rz" + - "IHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAg" + - "YGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAg" + - "LWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAg" + - "bG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + - "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFu" + - "ZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBt" + - "dWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25m" + - "aWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92" + - "YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNv" + - "IGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQg" + - "dG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVs" + - "dC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxl" + - "YXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZh" + - "dWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsg" + - "dGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNh" + - "YmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBr" + - "ZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVz" + - "ZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4g" + - "eW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAj" + - "ICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zl" + - "cnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2" + - "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgog" + - "ICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3Zlcnkg" + - "ZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFu" + - "ZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3" + - "a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdp" + - "dGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVy" + - "IGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMg" + - "YmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3Vl" + - "cidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNz" + - "YW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVT" + - "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAg" + - "ICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "IC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIK" + - "YGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2" + - "YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpg" + - "YGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAg" + - "Y3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBj" + - "cHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0" + - "YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + - "c2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRp" + - "bmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAg" + - "IFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAg" + - "ICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hl" + - "ZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEy" + - "IG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2Rl" + - "cyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2" + - "b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3Ig" + - "bWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAg" + - "IGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgog" + - "ICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFz" + - "cyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoK" + - "My4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBg" + - "YGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFs" + - "bG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZh" + - "aWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJl" + - "bGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNg" + - "IGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBz" + - "a2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5h" + - "bWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQg" + - "cmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYg" + - "bmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNw" + - "YWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVs" + - "bCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBK" + - "b2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNh" + - "bid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdl" + - "dCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWlu" + - "dXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNm" + - "CgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVz" + - "LmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAq" + - "Kldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52" + - "Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNv" + - "ZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVu" + - "Y29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1k" + - "CiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAq" + - "KlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3Bl" + - "Y2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4" + - "CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMg" + - "d2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1" + - "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90" + - "LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBu" + - "ZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5h" + - "bGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVz" + - "cGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBu" + - "dmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJt" + - "aW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29t" + - "cHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFz" + - "IGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3Vy" + - "Y2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENP" + - "TVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVy" + - "cyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + - "Q09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8" + - "IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFy" + - "Z3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyov" + - "fSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1l" + - "IiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wi" + - "OltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFt" + - "ZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJh" + - "dG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + - "VCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5z" + - "cGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + - "Q09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2Zp" + - "bmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJh" + - "dG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0" + - "cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3Bl" + - "cmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMg" + - "YW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0" + - "aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBv" + - "bmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20g" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJ" + - "ZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUg" + - "Y29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVy" + - "YXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxv" + - "eW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBu" + - "dmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0" + - "aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQg" + - "YW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJv" + - "YWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNl" + - "Y3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRw" + - "b2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3Vy" + - "ZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5j" + - "ZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3kt" + - "Z2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + - "ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUgg" + - "Ikhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hl" + - "Y2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAg" + - "bnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwK" + - "YGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQg" + - "SG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50" + - "IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApH" + - "YXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFs" + - "bGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRd" + - "KC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50" + - "LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sg" + - "cmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBO" + - "YW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lz" + - "dGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lz" + - "dGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + - "Z3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxs" + - "bS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5" + - "IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVt" + - "IHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8" + - "IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVm" + - "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVy" + - "ZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290" + - "bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZh" + - "YmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBl" + - "bnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1" + - "bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAg" + - "ICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0t" + - "IDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3Ry" + - "eSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAg" + - "IyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMu" + - "eWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAt" + - "LSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQg" + - "bnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAg" + - "ICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAg" + - "YC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJp" + - "ZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + - "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2Vw" + - "YXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFs" + - "dWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUg" + - "ZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + - "IGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5k" + - "ZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVz" + - "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0t" + - "bnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwg" + - "aGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2Vt" + - "ZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEg" + - "fCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0" + - "ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxh" + - "YmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + - "YWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBh" + - "cGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNp" + - "cyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFw" + - "aSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWlu" + - "dm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0t" + - "bnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNm" + - "LWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + - "bm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2Yt" + - "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkg" + - "fCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFk" + - "bWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtl" + - "eXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXkt" + - "cm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMg" + - "dXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9D" + - "SSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1" + - "ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBh" + - "ZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhh" + - "dmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFt" + + "ICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZp" + + "bGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9s" + + "IHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5l" + + "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmws" + + "IGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3Qs" + + "IGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBH" + + "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0Ff" + + "SUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRl" + + "LnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwg" + + "YW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRl" + + "ZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0" + + "IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBv" + + "ciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9t" + + "IHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBh" + + "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBD" + + "TEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRv" + + "Y2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9y" + + "IE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5p" + + "by4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1" + + "c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2lu" + + "IGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIg" + + "bG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkg" + + "cGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + + "LmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIs" + + "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVz" + + "ZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAg" + + "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVu" + + "dGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1i" + + "dW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15" + + "IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1w" + + "dGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25t" + + "ZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUg" + + "bm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3Ig" + + "bG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0" + + "ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAg" + + "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + + "ICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhl" + + "bG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIs" + + "CiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3Bw" + + "ZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBp" + + "bnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5z" + + "dGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9u" + + "IG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15" + + "IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + + "IGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZh" + + "bGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5l" + + "IG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVn" + + "aXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250" + + "cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2Zm" + + "IGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBh" + + "cmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "d3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + + "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmls" + + "ZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + + "dGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNv" + + "bnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52" + + "Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhv" + + "dXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + + "J0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9y" + + "ZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcg" + + "aGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhl" + + "IDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3Ms" + + "IG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVy" + + "IHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQg" + + "aW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkg" + + "b25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBD" + + "TEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1" + + "ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxv" + + "dyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBw" + + "bGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1" + + "c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5k" + + "IHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRo" + + "ZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGlu" + + "Y2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29t" + + "bWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUg" + + "dmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhl" + + "IEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxv" + + "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlz" + + "dHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29u" + + "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + + "aW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAt" + + "LW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAt" + + "LWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAt" + + "LXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0t" + + "a3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQg" + + "dGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3Qg" + + "bWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAi" + + "aWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAi" + + "Q2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxp" + + "bWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + + "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRo" + + "ZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNz" + + "YW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1s" + + "LmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQg" + + "dGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5" + + "aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + + "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + + "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmls" + + "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQg" + + "bW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGlt" + + "aXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9i" + + "YWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90" + + "IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0" + + "IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0" + + "ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3" + + "ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBs" + + "eWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5" + + "bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBk" + + "ZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGlu" + + "ZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVj" + + "dG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2" + + "ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3Rl" + + "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + + "IGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + + "ZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2" + + "ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3Nh" + + "bmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRo" + + "ZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAg" + + "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRo" + + "IDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRo" + + "ZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVu" + + "dGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwg" + + "c2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2Vy" + + "dmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdy" + + "b25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRl" + + "ZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + + "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + + "YW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVj" + + "dGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1z" + + "eXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3Jl" + + "dHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFn" + + "ZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4" + + "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2Vj" + + "cmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNs" + + "dXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdh" + + "dGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4i" + + "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + + "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBs" + + "YW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXkt" + + "c3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxs" + + "IHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3Zl" + + "cnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBl" + + "bmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1H" + + "YXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMg" + + "dGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5k" + + "IGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJv" + + "bC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52" + + "Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + + "ciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + + "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + + "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdy" + + "ZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3Rl" + + "bSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSBy" + + "ZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdh" + + "eSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZp" + + "Y2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2Vydmlj" + + "ZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAg" + + "ICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250" + + "cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJs" + + "ZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFw" + + "aS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRz" + + "LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9u" + + "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + + "aWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGlu" + + "ZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29t" + + "cHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUs" + + "IHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJM" + + "LCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNl" + + "Y3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNv" + + "bXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQg" + + "bWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0K" + + "ICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjog" + + "IlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxv" + + "eW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + + "bGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0" + + "cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0" + + "ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNv" + + "bnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxk" + + "IGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRo" + + "YXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + + "YXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFu" + + "IGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQg" + + "bWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQg" + + "cmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5" + + "IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0" + + "IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4g" + + "VGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywg" + + "dXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lz" + + "dHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1" + + "ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVt" + + "b3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0" + + "aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93" + + "biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBw" + + "bGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + + "ICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJl" + + "Y29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFu" + + "IGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1w" + + "bGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVz" + + "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBu" + + "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Us" + + "IHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0" + + "ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRl" + + "bmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9y" + + "IG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2" + + "ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + + "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + + "aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxl" + + "IGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAg" + + "ICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3du" + + "LCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5z" + + "cGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1v" + + "bmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNv" + + "bnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3Qg" + + "cmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAg" + + "ICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0t" + + "cGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5" + + "IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdp" + + "c3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUg" + + "b25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJp" + + "ZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2" + + "YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9y" + + "ZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRf" + + "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + + "dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJh" + + "c2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZh" + + "bHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhy" + + "b3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZh" + + "bHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0" + + "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwg" + + "LT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZh" + + "bHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1w" + + "bCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291" + + "bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhl" + + "IGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQg" + + "dmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0" + + "ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBj" + + "aGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAg" + + "fSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlv" + + "biI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNl" + + "bGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1m" + + "aWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAg" + + "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + + "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRk" + + "b25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBB" + + "UEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVx" + + "dWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZp" + + "Z3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + + "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlz" + + "b2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBz" + + "dGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlv" + + "biBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJn" + + "YXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBh" + + "IHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1" + + "Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5k" + + "b2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVu" + + "Y3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0t" + + "d29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxl" + + "ZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciBy" + + "ZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAg" + + "ICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBv" + + "d2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1i" + + "YWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + + "aW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBk" + + "ZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2Vj" + + "dXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFn" + + "YWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwg" + + "cmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9m" + + "ZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAog" + + "ICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91" + + "dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVk" + + "aW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90" + + "LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0" + + "ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAg" + + "ICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBh" + + "IGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1z" + + "ZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5z" + + "dGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5j" + + "ZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + + "cmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhl" + + "IGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1l" + + "bnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMg" + + "bG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRl" + + "IGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAA" + + "ACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4" + + "YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJl" + + "YWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRy" + + "YSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2Ug" + + "T09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2Js" + + "ZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBP" + + "dmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMj" + + "IFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + + "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZv" + + "cmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVh" + + "ZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBl" + + "bmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZh" + + "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + + "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAK" + + "ICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lz" + + "dGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + + "cGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + + "IiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAg" + + "ICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4" + + "MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAg" + + "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJh" + + "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "dGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFt" + + "bCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1G" + + "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + + "CgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWls" + + "YWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGBy" + + "ZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFBy" + + "aXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBw" + + "dWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEg" + + "bWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6" + + "IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZj" + + "ci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6" + + "IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0" + + "aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9j" + + "a2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxt" + + "IHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + + "IgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBg" + + "YGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4g" + + "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + + "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + + "IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBh" + + "cGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVn" + + "aXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRv" + + "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdD" + + "X0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + + "LW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + + "IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1m" + + "aWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBr" + + "ZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQv" + + "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEK" + + "ICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3Bh" + + "Y2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4u" + + "L2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVk" + + "RW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAg" + + "ICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNy" + + "LWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9w" + + "dWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBj" + + "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlciwg" + + "Y3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQg" + + "b3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1Q" + + "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + + "bWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "c3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdp" + + "dGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxl" + + "dGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFu" + + "ZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwog" + + "IGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRh" + + "ZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7Imlt" + + "YWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQpr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2" + + "YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAt" + + "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJT" + + "dWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1w" + + "bGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBi" + + "cm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRo" + + "ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + + "LWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + + "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1r" + + "dWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJz" + + "LCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVm" + + "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVy" + + "cykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNs" + + "dXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hv" + + "dyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJv" + + "dzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBc" + + "CiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAog" + + "IC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBz" + + "IDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kg" + + "dGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1l" + + "c3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2" + + "ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0" + + "aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlv" + + "biwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJv" + + "cnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3" + + "aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGlu" + + "ZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlz" + + "bWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlm" + + "eWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRp" + + "b247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250" + + "cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + + "ZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29u" + + "dHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJl" + + "Y2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVj" + + "dGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNm" + + "LWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNm" + + "fGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4K" + + "YGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4g" + + "SW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0" + + "byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + + "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1w" + + "bGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0" + + "ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRl" + + "ZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9p" + + "bnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + + "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + + "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + + "IiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFk" + + "ZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQg" + + "Q0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5k" + + "ZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9j" + + "YXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmly" + + "b25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNv" + + "bm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4K" + + "CkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFk" + + "ZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9s" + + "LXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBh" + + "bmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBI" + + "b3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxs" + + "YXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxp" + + "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + + "c3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMj" + + "IFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxk" + + "b21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQURE" + + "Ui9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBn" + + "YXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3Vi" + + "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAog" + + "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0K" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJh" + + "Y2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAt" + + "LWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0x" + + "MG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2Vm" + + "dWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9u" + + "LgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2ll" + + "cyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1" + + "YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZh" + + "dWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMj" + + "IFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18" + + "LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2Fu" + + "ZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtl" + + "eXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5v" + + "dGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0t" + + "YXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRl" + + "d2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + + "ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBv" + + "bmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFk" + + "ZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8" + + "IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + + "ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBn" + + "YXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAg" + + "fCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2Ug" + + "aW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10" + + "cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0" + + "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFi" + + "bGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkg" + + "cm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkg" + + "bmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFz" + + "ZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + + "ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBs" + + "YW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + + "YXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBz" + + "dGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5k" + + "IGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBh" + + "bmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdl" + + "bmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3Nl" + + "IGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwg" + + "UmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBT" + + "ZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVz" + + "IHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rl" + + "cj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQg" + + "YGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFt" + + "bGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + + "PGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFu" + + "ZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRo" + + "ZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUu" + + "CgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSBy" + + "b290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVy" + + "c2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + + "YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "YC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxl" + + "cyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFp" + + "biwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNr" + + "cy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRl" + + "LXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElD" + + "TVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApb" + + "Q1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42" + + "LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25t" + + "ZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXkt" + + "c3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVu" + + "dm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxh" + + "bmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNl" + + "IGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRk" + + "cmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNl" + + "IHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAi" + + "PGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDog" + + "Imh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0" + + "dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6" + + "ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0" + + "cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRw" + + "Oi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVS" + + "TDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZj" + + "ZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAi" + + "CgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1n" + + "YXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0" + + "ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1n" + + "YXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFt" + + "ZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAg" + + "bGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3Jw" + + "YzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXIt" + + "YXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAg" + + "ICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxn" + + "YXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5i" + + "YW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1" + + "ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6" + + "CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBp" + + "Y21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAg" + + "ICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFs" + + "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAg" + + "IG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RP" + + "dmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxs" + + "IHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMg" + + "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1D" + + "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52" + + "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVm" + + "b3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9y" + + "IHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5" + + "YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6" + + "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRy" + + "ZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + + "cz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48" + + "Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWlu" + + "PiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDog" + + "InNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVz" + + "IG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUg" + + "cmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBj" + + "b25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWlj" + + "bXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29u" + + "dGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNU" + + "RVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JF" + + "R0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBL" + + "VUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxw" + + "YXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNv" + + "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBc" + + "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJh" + + "dGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUg" + + "a3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdf" + + "RklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNh" + + "bWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1i" + + "aWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2Zp" + + "bGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVh" + + "dGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoK" + + "YGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + + "bnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + + "ZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29u" + + "dHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2Et" + + "aWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + + "b2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4" + + "IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + + "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + + "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNv" + + "bXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9z" + + "dGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1j" + + "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91" + + "dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUt" + + "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNv" + + "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + + "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + + "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBc" + + "CiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1u" + + "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0" + + "cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRz" + + "CmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVw" + + "bGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9p" + + "bnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2Vj" + + "cmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBg" + + "YHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + + "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNy" + + "ZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQg" + + "dGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVu" + + "dmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRv" + + "cmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1l" + + "c3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kg" + + "ZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVy" + + "aWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoK" + + "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0" + + "ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0" + + "ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0" + + "YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1l" + + "b3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwK" + + "ICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0" + + "b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10" + + "aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + + "c2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVz" + + "dHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJv" + + "bCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28g" + + "YXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2Vy" + + "dC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpk" + + "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQt" + + "bWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWly" + + "ZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQg" + + "aXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVj" + + "dGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBI" + + "ZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + + "dmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1l" + + "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVy" + + "d2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0" + + "YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZp" + + "ZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVz" + + "dHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2Yt" + + "Y2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxj" + + "bHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + + "IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBm" + + "cm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0" + + "ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElE" + + "IGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29t" + + "cHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVy" + + "LCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNv" + + "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + + "Z2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + + "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJF" + + "Q09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJl" + + "Y2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3Ig" + + "dGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + + "YW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRv" + + "d24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBx" + + "dWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVy" + + "c2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + + "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + + "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + + "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + + "aWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + + "dXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJl" + + "ZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRv" + + "ZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5l" + + "IGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJ" + + "ZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAg" + + "YWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlv" + + "bgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBl" + + "eGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8" + + "Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + + "a3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBs" + + "YW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1" + + "dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVy" + + "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + + "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + + "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + + "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAt" + + "LWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8" + + "bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNo" + + "IHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01T" + + "IHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIK" + + "cmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + + "AAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + + "L2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3Ig" + + "ZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWls" + + "dXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9z" + + "cyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBh" + + "IHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFs" + + "bCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1" + + "bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3Bh" + + "Y2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9k" + + "IChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNr" + + "T2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMg" + + "ICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1" + + "bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWls" + + "ZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXpl" + + "ZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxp" + + "bmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAg" + + "LUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVz" + + "cGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVj" + + "ayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1u" + + "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNy" + + "ZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRz" + + "Cmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5p" + + "bWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4g" + + "bmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + + "LmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tl" + + "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4g" + + "XAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBg" + + "YGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRo" + + "ZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUg" + + "dmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hh" + + "cnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlv" + + "bi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50" + + "cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + + "KS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVh" + + "dGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5h" + + "bWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgoj" + + "IyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNl" + + "cnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1F" + + "ICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdF" + + "Cm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAg" + + "IDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQt" + + "YWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNr" + + "IE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBp" + + "ZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lz" + + "dGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3Rl" + + "bSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9n" + + "cyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+" + + "IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5v" + + "dCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJl" + + "c291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1" + + "bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBE" + + "ZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBr" + + "dWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVk" + + "CiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1z" + + "ZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0" + + "aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4" + + "ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3Rh" + + "dHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5g" + + "IC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tl" + + "biBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9z" + + "ZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRo" + + "ZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUg" + + "c3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBp" + + "bnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0" + + "aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2Vu" + + "dHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxv" + + "b3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlz" + + "IGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cg" + + "c2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFj" + + "Y291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUg" + + "aXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAg" + + "dGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcu" + + "IGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAg" + + "bWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFi" + + "bGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + + "ZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBz" + + "aG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4v" + + "LndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1Qg" + + "SldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2Ug" + + "cG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBj" + + "bHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNs" + + "dXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1" + + "YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcg" + + "a2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoK" + + "YGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNh" + + "c3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlh" + + "Z25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0g" + + "Y2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlk" + + "ZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEg" + + "aW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgog" + + "ICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1v" + + "cnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9y" + + "eTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGlu" + + "IHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNl" + + "c2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBg" + + "dGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3Nh" + + "bmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25v" + + "c2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVj" + + "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNl" + + "czoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNo" + + "IFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJ" + + "bnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQi" + + "CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5v" + + "ZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBn" + + "ZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBj" + + "bGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gK" + + "ICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVz" + + "b3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNj" + + "cmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAg" + + "IGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0" + + "b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZh" + + "aWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBi" + + "dXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9z" + + "aXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBg" + + "YAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAo" + + "bm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + + "ZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFu" + + "dXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBu" + + "YW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMK" + + "YGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRv" + + "bXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50" + + "cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBD" + + "aGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0" + + "IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpv" + + "Yi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1" + + "YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10" + + "YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50" + + "aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3Qg" + + "YmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJ" + + "IGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBl" + + "Y2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDog" + + "JG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxl" + + "Kio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9v" + + "dHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4g" + + "c2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRl" + + "cGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + + "b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFj" + + "ZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRl" + + "IG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBc" + + "CiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + + "Y2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoK" + + "IyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21z" + + "CgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1p" + + "bmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1p" + + "bmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMj" + + "IyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0" + + "aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFs" + + "aXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUg" + + "c3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJl" + + "c291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNr" + + "ZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2Ug" + + "KyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4" + + "dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0" + + "ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVy" + + "Z2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9D" + + "T05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0" + + "aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8K" + + "ICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5z" + + "IiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScg" + + "fCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAg" + + "ICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9u" + + "dWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJl" + + "YWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMs" + + "IG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBw" + + "b2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3Bl" + + "cmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMg" + + "LW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVu" + + "dGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lz" + + "dHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + + "SW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJz" + + "dGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2Vl" + + "ZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBk" + + "ZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4" + + "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBc" + + "CiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9y" + + "IHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBl" + + "eGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBp" + + "dCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNl" + + "IGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFu" + + "ZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3lt" + + "cHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwg" + + "YWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBH" + + "YXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdB" + + "VEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBh" + + "dGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERS" + + "IgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIg" + + "Imh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmll" + + "bGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUg" + + "J2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBn" + + "bG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFu" + + "Z2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3Bs" + + "aXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRz" + + "IGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNh" + + "bWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1w" + + "bGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwg" + + "TmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBz" + + "ZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8" + + "CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2Fu" + + "ZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIg" + + "fAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNl" + + "cnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBp" + + "LWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwK" + + "fCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5n" + + "cmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyBy" + + "b3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0" + + "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + + "Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVj" + + "dG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmls" + + "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5k" + + "cmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBz" + + "ZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMg" + + "T2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + + "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + + "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + + "bm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55" + + "YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpg" + + "LS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNv" + + "bnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0g" + + "aGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0" + + "ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBs" + + "ICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwt" + + "LSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERl" + + "ZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAg" + + "ICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5n" + + "b3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hh" + + "cnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFu" + + "ZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3Ro" + + "IGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhl" + + "IENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3Vy" + + "Y2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + + "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmls" + + "ZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8" + + "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + + "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0" + + "ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2Vy" + + "dmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMg" + + "fAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + + "RGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3" + + "aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFt" + "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0t" + - "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNl" + - "cykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBv" + - "biBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBT" + - "a2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2Uu" + - "CgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZh" + - "bHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdz" + - "IGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0" + - "ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + - "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + - "LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAm" + - "ZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0K" + - "ICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJp" + - "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + - "bAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + - "bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCBy" + - "ZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + - "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2Fu" + - "ZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6" + - "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUg" + - "bmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZl" + - "IGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAx" + - "LjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNl" + - "CmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3Ug" + - "YWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNl" + - "IGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2Vk" + - "ZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMv" + - "YmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4g" + - "YGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMu" + - "IGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVj" + - "dHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1z" + - "ZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9j" + - "a3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1s" + - "LmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBg" + - "LlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5k" + - "IGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdo" + - "IGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2Fu" + - "ZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + - "dG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNp" + - "c3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVT" + - "ZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFz" + - "c2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVy" + - "LmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25m" + - "aWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RU" + - "ZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJh" + - "bwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25z" + - "LmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFn" + - "ZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChp" + - "ZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5p" + - "bWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3Jg" + - "IChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdz" + - "KQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZv" + - "cmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGkt" + - "Z2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBH" + - "YXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8g" + - "dXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxs" + - "bS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoK" + - "Rm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1" + - "cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBz" + - "dGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3" + - "YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VN" + - "b25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAg" + - "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + - "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAg" + - "ICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJp" + - "Y3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoK" + - "VXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3Qg" + - "Y2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0" + - "IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRo" + - "ZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBh" + - "ZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBU" + - "TFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFy" + - "YXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQg" + - "cmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29y" + - "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29y" + - "a2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJl" + - "cXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNv" + - "bmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGgg" + - "dGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNv" + - "bS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91" + - "dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1p" + - "cnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVw" + - "b3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRs" + - "eToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52" + - "Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTog" + - "PHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBp" + - "LmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJl" + - "Y2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5k" + - "b3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0" + - "aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0" + - "aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkK" + - "cmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3Ig" + - "aXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZp" + - "Z2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxs" + - "YXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9u" + - "Cm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lv" + - "bnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVu" + - "IHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRo" + - "ZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRo" + - "ZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24g" + - "dmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRl" + - "Y2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkK" + - "a3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0" + - "bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0" + - "LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBu" + - "dmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5n" + - "ZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsi" + - "XFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13" + - "b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFs" + - "YW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNv" + - "bmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21h" + - "aW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1" + - "cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVh" + - "c2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXBy" + - "b3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0t" + - "cmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBs" + - "YXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlz" + - "c3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9y" + - "IG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBp" + - "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlz" + - "IGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + - "IHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFi" + - "bGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3Vy" + - "IGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2th" + - "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0" + - "ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5j" + - "bHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1l" + - "bnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFi" + - "bGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQK" + - "CkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBw" + - "dWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBu" + - "YW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + - "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQg" + - "cm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNm" + - "LXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVy" + - "IGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBw" + - "cmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRl" + - "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVp" + - "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5" + - "IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVw" + - "IC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFk" + - "bWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQg" + - "dG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3" + - "b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZj" + - "Zi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4A" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZp" + - "ZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9y" + - "IGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVu" + - "dGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5v" + - "dAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wt" + - "cGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29u" + - "dHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + - "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVk" + - "KQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + - "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + - "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + - "cGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMg" + - "Mi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0Nf" + - "QVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRl" + - "IG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMg" + - "XAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + - "YXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAt" + - "LW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpG" + - "b3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2Nr" + - "ZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZl" + - "cm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5k" + - "OiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3Jl" + - "dHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1h" + - "Z2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAg" + - "ICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAg" + - "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJh" + - "cGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAg" + - "ICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAg" + - "ICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAg" + - "ICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0" + - "YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29t" + - "L2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAg" + - "ICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRz" + - "CmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBh" + - "cHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMg" + - "NC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQg" + - "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUg" + - "aGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1" + - "bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUg" + - "U2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUg" + - "Y29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1k" + - "b2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0" + - "b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRo" + - "ZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFn" + - "ZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3Ig" + - "dGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51" + - "YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0" + - "ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBh" + - "IGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3Rl" + - "ZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlv" + - "bgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxu" + - "YW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRp" + - "b25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhw" + - "ZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0" + - "LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vz" + - "c2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQv" + - "b3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNh" + - "LXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdT" + - "IEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMy" + - "Q29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVs" + - "bCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmll" + - "cyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwg" + - "aGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQg" + - "aWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMg" + - "UG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhl" + - "IEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBw" + - "b2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9u" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + - "IC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xs" + - "ZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5n" + - "CmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2Vw" + - "dWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3Jl" + - "dCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNl" + - "Y3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + - "CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAGstyzZKEAAAShAAABIACQAAAAAA" + - "AAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb" + - "2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lM" + - "TC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAp885w/4UAAD+FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQAxi5lP2RgAANkYAAA3AAkAAAAAAAAAAAAAAMKcAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAACbYAAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABjQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAADQBAEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAAAAAAAAAAAJcuAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAA1OAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYm" + - "AAAwAAkAAAAAAAAAAAAAAH5aAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + - "Y29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAA" + - "AAAAAAD7gAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAE3ht2yxfAAAsXwAALQAJAAAAAAAAAAAAAADMkQEA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAXPEBAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAAArEwIAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpW" + - "AABKVgAANAAJAAAAAAAAAAAAAADXdQIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAv" + - "AAkAAAAAAAAAAAAAAIzMAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFt" + - "cGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAA" + - "AHH1AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAA" + - "tTAAADsACQAAAAAAAAAAAAAABiYDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAA" + - "CioAAEQACQAAAAAAAAAAAAAALVcDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAsoEDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAOGJAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAA" + - "FwAXAK8JAABWoAMAAAA=" + "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1h" + + "cGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBz" + + "aXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + + "CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52" + + "Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZj" + + "ZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2" + + "aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNm" + + "IHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + + "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwg" + + "bnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0t" + + "YXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhl" + + "bG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91" + + "cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBs" + + "YXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52" + + "Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5n" + + "b3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBg" + + "YWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVz" + + "OmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8" + + "IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0t" + + "LS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNl" + + "cnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNp" + + "ZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoK" + + "IyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJn" + + "ZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVt" + + "cGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1l" + + "cmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVs" + + "ZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGly" + + "ZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVt" + + "cGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2Ag" + + "ZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRl" + + "IGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6" + + "IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAu" + + "Li9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVp" + + "cmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcs" + + "IE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5j" + + "eQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxw" + + "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + + "YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUK" + + "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTog" + + "ODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDIt" + + "Y29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlz" + + "bS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZj" + + "ZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZh" + + "bHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1" + + "ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0" + + "aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8g" + + "aGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0" + + "cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55" + + "YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxg" + + "IC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3Ry" + + "dWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNp" + + "dGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGln" + + "aGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3Vn" + + "aAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQg" + + "ZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3Bl" + + "Y2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSBy" + + "ZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBg" + + "Y2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1p" + + "Z3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3Nh" + + "bmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0g" + + "YGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRz" + + "LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0" + + "c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9y" + + "ZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5v" + + "ZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRp" + + "b25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmpl" + + "Y3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZl" + + "ci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZp" + + "Y2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJl" + + "cG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2Vy" + + "dmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBF" + + "bmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tp" + + "bmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95" + + "cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBs" + + "bG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlz" + + "IGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4g" + + "VGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVz" + + "ZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNv" + + "bGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVu" + + "dHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25z" + + "OgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3Vu" + + "dDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5h" + + "YmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAg" + + "ICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFs" + + "c2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxp" + + "ZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAg" + + "ICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFg" + + "IG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVk" + + "Ck5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBz" + + "byB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0" + + "aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0" + + "aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4K" + + "Cldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHBy" + + "b2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhl" + + "IG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5z" + + "ZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVz" + + "dCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBv" + + "d2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBD" + + "b25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0" + + "ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21h" + + "aW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1k" + + "KQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0" + + "YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5l" + + "cmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJl" + + "bW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6" + + "CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9y" + + "eT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xM" + + "TV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFu" + + "c2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJh" + + "dGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVz" + + "IGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBs" + + "YW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBs" + + "YW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpO" + + "VkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + + "c3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQg" + + "ZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJv" + + "ZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1k" + + "cml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXIt" + + "c2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0" + + "ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBu" + + "b3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0" + + "ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBj" + + "b250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3Rs" + + "IGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxz" + + "ZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwg" + + "Z3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQg" + + "aHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8" + + "ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8o" + + "QC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3Ig" + + "bG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNs" + + "dWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdv" + + "cml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0" + + "dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0" + + "L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1m" + + "aWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJh" + + "c2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + + "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VO" + + "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2" + + "YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5W" + + "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdh" + + "eSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + + "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5n" + + "bGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGBy" + + "ZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXBy" + + "b3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5t" + + "ZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9t" + + "ZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + + "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + + "RiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4g" + + "eW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNr" + + "YWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBh" + + "IGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFk" + + "ZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJs" + + "ZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6" + + "CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3Jl" + + "YXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNl" + + "LCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRl" + + "CnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxs" + + "aW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5H" + + "Q19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + + "dHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11" + + "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + + "IiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + + "a3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11" + + "aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgoj" + + "IyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2th" + + "Z2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUg" + + "c2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5h" + + "bWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + + "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpg" + + "YGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHBy" + + "ZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZj" + + "Zi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAt" + + "SCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0" + + "dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + + "eSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5l" + + "dC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhl" + + "bnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+Sev" + + "uQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1h" + + "Z2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNG" + + "IGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5p" + + "b2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENv" + + "bnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQg" + + "aW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVz" + + "cGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBL" + + "eXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFk" + + "bWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRo" + + "ZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVt" + + "YC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2" + + "ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1" + + "Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVy" + + "bm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxh" + + "bmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFw" + + "aS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + + "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + + "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + + "Z2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + + "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + + "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVz" + + "LCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0t" + + "ZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBg" + + "YHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFk" + + "YXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5k" + + "OiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2Yt" + + "cG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAg" + + "ICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgog" + + "ICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAg" + + "LSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgog" + + "ICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0" + + "ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBh" + + "dGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3Rh" + + "dGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmpl" + + "Y3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2Vj" + + "cmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1p" + + "bWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJv" + + "bCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxs" + + "YXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + + "LWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9u" + + "cyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNv" + + "bnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNl" + + "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBg" + + "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFt" + + "ZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + + "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1k" + + "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + + "QVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGll" + + "bnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmly" + + "b25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBu" + + "YW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZl" + + "cmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1z" + + "eXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2Ug" + + "bGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1w" + + "bGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMg" + + "VmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhh" + + "cyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9" + + "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3Jl" + + "ZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8" + + "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + + "XAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29t" + + "L2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hl" + + "Y2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "Z2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcg" + + "fCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0" + + "MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRo" + + "ZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4g" + + "UHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJv" + + "bGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFk" + + "T25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4" + + "cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMg" + + "bmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZh" + + "Y3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFy" + + "IHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1" + + "bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkg" + + "YWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVs" + + "ZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxs" + + "CmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJh" + + "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4g" + + "a3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3Qg" + + "bWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + + "dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBz" + + "aG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJl" + + "ZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0" + + "IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4g" + + "Z2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAA" + + "UEsBAhQAFAAIAAAAAAAhAJdPYGdKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZl" + + "c3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAA" + + "AJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "p885w/4UAAD+FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + + "ZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAxi5lP2RgA" + + "ANkYAAA3AAkAAAAAAAAAAAAAAMKcAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + + "L2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkA" + + "ADkACQAAAAAAAAAAAAAACbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3Jl" + + "YXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3" + + "AAkAAAAAAAAAAAAAABjQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxv" + + "eS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAA" + + "AAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2Ut" + + "ZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJ" + + "AAAAAAAAAAAAAADQBAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxs" + + "LWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCpwSb3LgkAAC4JAAA5AAkA" + + "AAAAAAAAAAAAAJcuAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1j" + + "bHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAA" + + "AAAAAAAAAAA1OAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5t" + + "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAH5aAQBk" + + "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQ" + + "SwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAAAAAAAAD7gAEAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEA4hrucsJfAADCXwAALQAJAAAAAAAAAAAAAADMkQEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAA" + + "YSEAADcACQAAAAAAAAAAAAAA8vEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + + "ZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAA" + + "LAAJAAAAAAAAAAAAAADBEwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJ" + + "TEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAABt" + + "dgIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVU" + + "BQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAACLNAgBkYXRh" + + "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAAf2AgBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAnCYD" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5n" + + "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAw1cD" + + "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUt" + + "c3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAA" + + "AAAAAAAASIIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkA" + + "AAAAAAAAAAAAAHeKAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + + "Y2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADsoAMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go index ce4deebb7a..9c9d860e0d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go @@ -212,6 +212,78 @@ func TestRegistryCredentialCheck_NoAccessToTheChartScopeFailsBeforeInstall(t *te } } +// Before a local control-plane install the NGC key goes first, since up mints +// the cluster's pull secrets from it, so settling never sends the docker +// login. helm on this machine still pulls the stack's charts with it, so the +// chart scope's row judges it anyway, and grades it as where the login goes +// first: rejected (401) or with no access to the scope (403), it fails the +// critical row. The key keeps serving tag discovery and the validator's pull +// secret, a row for another scope never sends the login, and a login that +// works, or none at all, leaves the row passing on the key. +func TestRegistryCredentialCheck_KeyFirstStillJudgesTheChartScopesLogin(t *testing.T) { + const charts = "helm on this machine pulls the stack's charts from nvcr.io/orgb/team with the docker login, " + + "so the install cannot pull them" + for name, tc := range map[string]struct { + login string + access map[string][]string + message string + }{ + "rejected login": {login: "rotated-out", access: map[string][]string{"key-pass": {""}}, + message: "was rejected, and docker and helm on this machine still send it"}, + "login with no access": {login: "login-pass", + access: map[string][]string{"key-pass": {""}, "login-pass": {"nvidia"}}, + message: "has no access to nvcr.io/orgb/team, so the run sends NGC_API_KEY for it"}, + "login with access": {login: "login-pass", + access: map[string][]string{"key-pass": {""}, "login-pass": {"orgb"}}}, + "no docker login": {access: map[string][]string{"key-pass": {""}}}, + } { + t.Run(name, func(t *testing.T) { + withTempCacheDir(t) + ngc := newEntitledNGC(t, tc.access) + config := `{}` + if tc.login != "" { + config = inlineDockerConfig(t, "nvcr.io", "$oauthtoken", tc.login, "") + } + dockerHome(t, config) + t.Setenv("NGC_API_KEY", "key-pass") + ctx := WithRegistryCredentials(context.Background(), NewRegistryCredentials(true)) + + chartRow := RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true, Charts: true} + r := registryCredentialCheck(probeRegistryCredential, chartRow, "nvcr.io/orgb/team", false, nil).Run(ctx) + if tc.message == "" { + assert.True(t, r.Passed, r.Message) + assert.Equal(t, SeverityInfo, r.Severity) + } else { + assert.False(t, r.Passed, r.Message) + assert.Equal(t, SeverityError, r.Severity) + assert.Error(t, r.Err) + assert.Contains(t, r.Message, tc.message) + assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") + assert.Contains(t, r.Message, charts) + } + + other := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} + r = registryCredentialCheck(probeRegistryCredential, other, "nvcr.io", false, nil).Run(ctx) + assert.True(t, r.Passed, r.Message) + assert.Equal(t, "nvcr.io: credentials valid", r.Message) + got, ok := ResolveLatestValidatorTag(ctx, "nvcr.io/nvidia/cv") + require.True(t, ok) + assert.Equal(t, "nvcr.io/nvidia/cv:1.2.0", got) + assert.Equal(t, "key-pass", mintPullSecret(ctx, t, fake.NewSimpleClientset(), "nvcr.io/orgb/team/cv:1.0.0", + clusterValidatorControlPlaneRole), "the pull secret keeps the key, which up mints from") + + sentLogin := 0 + for _, p := range ngc.passwords() { + if p != "key-pass" { + sentLogin++ + } + } + assert.Equal(t, map[bool]int{true: 1, false: 0}[tc.login != ""], sentLogin, + "only the chart scope's row sends the docker login") + }) + } +} + // With the entitlements the other way round, each row passes on the // credential that reaches its org, whichever row runs first, and tag // discovery for the validator image uses the one that reaches the image. diff --git a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go index d13dd66e70..e87bf04cb9 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go +++ b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go @@ -74,7 +74,9 @@ type RegistryCredentials struct { // nvcr.io. That is right only where up mints its pull secrets from the // key; anywhere else the docker login is what docker and the cluster use, // and the key is sent for a scope only when there is no login, or the - // registry rejects the login or gives it no access to that scope. + // registry rejects the login or gives it no access to that scope. Either + // way the row for the stack's chart scope judges the docker login, which + // helm pulls the charts with: see judgeLogin. preferNGCKey bool mu sync.Mutex @@ -281,6 +283,39 @@ func settleScope( return keep, false } +// judgeLogin returns settled with the docker login judged for repo where the +// NGC key went first, so settling never sent the login: a 401 marks it +// rejected and a 403 marks it without access to repo, as settleScope does. +// The credential the run uses for repo stays the key. A scope helm on this +// machine pulls the stack's charts from needs this: helm sends the docker +// login whatever order the run sends credentials in. An answer that says +// nothing about the login, or no docker login besides the key, leaves +// settled as it was. +func (rc *RegistryCredentials) judgeLogin( + ctx context.Context, registry, repo, challenge string, settled settledCredential, +) settledCredential { + if !rc.preferNGCKey || !settled.ok || !settled.cred.ngcKey { + return settled + } + login, ok, _ := credsFromDockerConfig(ctx, registry) + if !ok || login.pass == settled.cred.pass { + return settled + } + jctx, cancel := context.WithTimeout(ctx, credentialSettleTimeout) + defer cancel() + _, err := exchangeBearerToken(jctx, newRegistryHTTPClient(credentialSettleTimeout), registry, repo, challenge, + &login) + var te *tokenExchangeError + switch { + case !errors.As(err, &te) || !te.credentialed: + case te.status == http.StatusUnauthorized: + settled.rejectedLogin = &login + case te.status == http.StatusForbidden: + settled.noAccessLogin = &login + } + return settled +} + func (rc *RegistryCredentials) resolve(ctx context.Context, registry string) credentialLookup { var fromKey *registryCredential if isNGCKeyRegistry(registry) { diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index add3c1955e..f6b639e6eb 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1170,11 +1170,12 @@ func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { // nvcr.io rejected even where the NGC key it gave way to works, before and // after install: docker and helm on this machine still send it. Before // install it also includes a docker login with no access to the scope helm -// pulls the stack's charts from, though the key reaches it. After install a -// refused NGC key is a warning only where the cluster's pull secrets are read -// and none holds it. Everything else the probe can report, from an -// unreachable registry to a missing local credential, is a warning or an -// informational pass. +// pulls the stack's charts from, though the key reaches it, and that scope's +// docker login is judged even where the run sends the key first. After +// install a refused NGC key is a warning only where the cluster's pull +// secrets are read and none holds it. Everything else the probe can report, +// from an unreachable registry to a missing local credential, is a warning or +// an informational pass. func registryCredentialCheck( checker RegistryCredentialChecker, entry RegistryEntry, label string, postInstall bool, clusterSecrets ClusterPullSecretChecker, @@ -1199,7 +1200,7 @@ func registryCredentialCheck( worst: severity, Run: func(ctx context.Context) CheckResult { r := CheckResult{ID: id, Severity: severity} - err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical) + err := checker(ctx, entry.Registry, entry.RepoHint, entry.Critical, entry.Charts && !postInstall) if err == nil { r.Passed = true r.Severity = SeverityInfo diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go index 61a4f09076..abeee45a4e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight_test.go @@ -1003,7 +1003,7 @@ func TestRunPreflight_LocalChecksDoNotSpendTheClusterShare(t *testing.T) { checkProbeShare, probePodCleanupTimeout = 400*time.Millisecond, 100*time.Millisecond t.Cleanup(func() { localCheckShare, checkProbeShare, probePodCleanupTimeout = prevLocal, prevShare, prevCleanup }) - hang := func(ctx context.Context, _, _ string, _ bool) error { + hang := func(ctx context.Context, _, _ string, _, _ bool) error { <-ctx.Done() return ctx.Err() } @@ -1121,7 +1121,7 @@ func TestRunPreflight_RegistrySkipsPassAtInfo(t *testing.T) { {Registry: "basic.example.com", Critical: true}, {Registry: "anon.example.com", Critical: true}, }, - RegistryChecker: func(_ context.Context, registry, _ string, _ bool) error { + RegistryChecker: func(_ context.Context, registry, _ string, _, _ bool) error { switch registry { case "anon.example.com": return registryProbeOutcome{kind: probeAnonymous, detail: "reachable anonymously"} @@ -1200,7 +1200,7 @@ func TestRunPreflight_CutShortRowsKeepTheirWorstSeverity(t *testing.T) { prevLocal := localCheckShare localCheckShare = 200 * time.Millisecond t.Cleanup(func() { localCheckShare = prevLocal }) - hang := func(ctx context.Context, _, _ string, _ bool) error { + hang := func(ctx context.Context, _, _ string, _, _ bool) error { <-ctx.Done() return ctx.Err() } @@ -1253,7 +1253,7 @@ func TestRunPreflight_CutShortRegistryAfterInstallKeepsItsWorst(t *testing.T) { prevLocal := localCheckShare localCheckShare = 200 * time.Millisecond t.Cleanup(func() { localCheckShare = prevLocal }) - hang := func(ctx context.Context, _, _ string, _ bool) error { + hang := func(ctx context.Context, _, _ string, _, _ bool) error { <-ctx.Done() return ctx.Err() } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index a1e900c333..b81c7bf142 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -51,9 +51,12 @@ const ( // registry is accepted. repoHint is the repository path used as the OAuth // scope; pass "" to probe without a specific scope. critical signals that // anonymous access is not enough: the install pulls private repositories. +// chartScope marks, before install, the scope helm on this machine pulls the +// stack's charts from with the docker login, which the probe then judges for +// it even where the run sends the NGC key first. // Returns nil when a credential was sent and accepted, and otherwise a // registryProbeOutcome or a plain error for a probe the run's context ended. -type RegistryCredentialChecker func(ctx context.Context, registry, repoHint string, critical bool) error +type RegistryCredentialChecker func(ctx context.Context, registry, repoHint string, critical, chartScope bool) error // NewRegistryCredentialChecker returns a production RegistryCredentialChecker // backed by real HTTP calls. @@ -126,7 +129,7 @@ func (o registryProbeOutcome) Error() string { return o.detail } // token endpoint to a request that carried it. Unreachable registries, token // services that fail or throttle, and realms the CLI refuses are retried where // that can help, then reported as advisory outcomes. -func probeRegistryCredential(ctx context.Context, registry, repoHint string, critical bool) error { +func probeRegistryCredential(ctx context.Context, registry, repoHint string, critical, chartScope bool) error { // ECR uses AWS SigV4, not the OCI Bearer flow, so this probe cannot speak // to it. if isECRRegistry(registry) { @@ -206,6 +209,9 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri // Bearer token scoped to the actual repository (repoHint). A made-up // repository name draws org-level 403s from NGC and GHCR. settled := creds.lookupChallenged(pctx, registry, repoHint, wwwAuth) + if chartScope { + settled = creds.judgeLogin(pctx, registry, repoHint, wwwAuth, settled) + } cred, hasCred, lookupErr := settled.cred, settled.ok, settled.err var sent *registryCredential if hasCred { diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index 502aea6479..dd658fce11 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -59,7 +59,7 @@ func TestProbeRegistryCredential_PublicRegistry(t *testing.T) { // Use the test server's host as the registry. host := strings.TrimPrefix(srv.URL, "https://") - err := probeRegistryCredential(context.Background(), host, "", false) + err := probeRegistryCredential(context.Background(), host, "", false, false) var outcome registryProbeOutcome require.ErrorAs(t, err, &outcome) assert.Equal(t, probeAnonymous, outcome.kind, "no credential was sent, so none is reported valid") @@ -101,13 +101,13 @@ func TestProbeRegistryCredential_AuthSucceeds(t *testing.T) { t.Cleanup(func() { http.DefaultTransport = origTransport }) host := strings.TrimPrefix(registrySrv.URL, "https://") - err := probeRegistryCredential(context.Background(), host, "", false) + err := probeRegistryCredential(context.Background(), host, "", false, false) var outcome registryProbeOutcome require.ErrorAs(t, err, &outcome, "an anonymous token is not a valid credential") assert.Equal(t, probeAnonymous, outcome.kind) dockerHome(t, inlineDockerConfig(t, host, "u", "p", "")) - err = probeRegistryCredential(context.Background(), host, "", false) + err = probeRegistryCredential(context.Background(), host, "", false, false) assert.NoError(t, err, "a token issued for a credential that was sent is a valid credential") r := registryCredentialCheck(probeRegistryCredential, RegistryEntry{Registry: host}, host, false, nil). Run(context.Background()) @@ -135,7 +135,7 @@ func TestProbeRegistryCredential_AuthFails(t *testing.T) { t.Cleanup(func() { http.DefaultTransport = origTransport }) host := strings.TrimPrefix(registrySrv.URL, "https://") - err := probeRegistryCredential(context.Background(), host, "", false) + err := probeRegistryCredential(context.Background(), host, "", false, false) assert.Error(t, err, "failed token exchange must return an error") } @@ -143,7 +143,7 @@ func TestProbeRegistryCredential_ECRSkipped(t *testing.T) { // ECR registries must get a clear "use AWS CLI" message rather than a // confusing Bearer token failure. err := probeRegistryCredential(context.Background(), - "123456789.dkr.ecr.us-east-1.amazonaws.com", "", false) + "123456789.dkr.ecr.us-east-1.amazonaws.com", "", false, false) require.Error(t, err) assert.Contains(t, err.Error(), "ECR", "ECR registries must produce a clear diagnostic") assert.Contains(t, err.Error(), "AWS", "message must mention AWS") @@ -279,7 +279,7 @@ func TestIsECRRegistry(t *testing.T) { // -- registryCredentialCheck binaryCheckSpec -- func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { - checker := func(_ context.Context, reg, _ string, _ bool) error { return nil } + checker := func(_ context.Context, reg, _ string, _, _ bool) error { return nil } spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false, nil) r := spec.Run(context.Background()) assert.True(t, r.Passed) @@ -288,7 +288,7 @@ func TestRegistryCredentialCheck_PassWhenNoError(t *testing.T) { } func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { - checker := func(_ context.Context, reg, _ string, _ bool) error { + checker := func(_ context.Context, reg, _ string, _, _ bool) error { return errorf("credentials rejected") } spec := registryCredentialCheck(checker, RegistryEntry{Registry: "nvcr.io", Critical: true}, "nvcr.io", false, nil) @@ -298,7 +298,7 @@ func TestRegistryCredentialCheck_CriticalSeverityOnFailure(t *testing.T) { } func TestRegistryCredentialCheck_WarningSeverityOnNonCriticalFailure(t *testing.T) { - checker := func(_ context.Context, reg, _ string, _ bool) error { + checker := func(_ context.Context, reg, _ string, _, _ bool) error { return errorf("credentials rejected") } spec := registryCredentialCheck(checker, RegistryEntry{Registry: "quay.io", Critical: false}, "quay.io", false, nil) @@ -692,7 +692,7 @@ func TestProbeRegistryCredential_CriticalAnonymousIsNotVerified(t *testing.T) { host := strings.TrimPrefix(srv.URL, "https://") dockerHome(t, inlineDockerConfig(t, host, "u", "p", "")) - err := probeRegistryCredential(context.Background(), host, "", true) + err := probeRegistryCredential(context.Background(), host, "", true, false) var outcome registryProbeOutcome require.ErrorAs(t, err, &outcome) assert.Equal(t, probeNotVerified, outcome.kind) @@ -1000,7 +1000,7 @@ func TestProbeRegistryCredential_RetriesTransientFailures(t *testing.T) { tokenStatus(http.StatusOK)(w) }) dockerHome(t, inlineDockerConfig(t, reg.host, "u", "p", "")) - assert.NoError(t, probeRegistryCredential(context.Background(), reg.host, "", true)) + assert.NoError(t, probeRegistryCredential(context.Background(), reg.host, "", true, false)) assert.Equal(t, 3, calls) } @@ -1022,11 +1022,11 @@ func clusterHolding(holder string, err error, asked *[]string) ClusterPullSecret func TestRegistryCredentialCheck_RefusalAfterInstall(t *testing.T) { key := registryCredential{user: "$oauthtoken", pass: "revoked", source: "NGC_API_KEY", ngcKey: true} login := registryCredential{user: "$oauthtoken", pass: "rotated-out", source: "docker config"} - refusedKey := func(context.Context, string, string, bool) error { + refusedKey := func(context.Context, string, string, bool, bool) error { return registryProbeOutcome{kind: probeRejected, detail: "credentials from NGC_API_KEY rejected", refused: key, keyOnly: true} } - refusedLogin := func(context.Context, string, string, bool) error { + refusedLogin := func(context.Context, string, string, bool, bool) error { return registryProbeOutcome{kind: probeRejected, detail: "credentials from docker config rejected", refused: login} } @@ -1071,7 +1071,7 @@ func TestRegistryCredentialCheck_RefusalAfterInstall(t *testing.T) { // secrets hold it, or that they could not be read, and never downgrades it. func TestRegistryCredentialCheck_ReplacedLoginAfterInstall(t *testing.T) { login := registryCredential{user: "$oauthtoken", pass: "rotated-out", source: "docker config"} - replaced := func(context.Context, string, string, bool) error { + replaced := func(context.Context, string, string, bool, bool) error { return registryProbeOutcome{kind: probeLoginRejected, refused: login, detail: "the docker login from docker config was rejected; credentials from NGC_API_KEY valid"} } @@ -1212,7 +1212,7 @@ func TestEnumerateRegistries_ProbesTheStacksOrg(t *testing.T) { assert.Equal(t, []string{"nvidia/nvcf-byoc/cluster-validator", "customerorg/team"}, scopes) cat := buildRegistryCredentialCategory(PreflightConfig{Registries: got, - RegistryChecker: func(context.Context, string, string, bool) error { return nil }}) + RegistryChecker: func(context.Context, string, string, bool, bool) error { return nil }}) var ids []string for _, c := range cat.checks { ids = append(ids, c.ID) From 3eae4da1bfb124009fc532862f0f5bd7a29ef68a Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 13:36:32 +0530 Subject: [PATCH 125/127] fix(nvcf-cli): give a chart source on another scope than the stack's images a registry row of its own Signed-off-by: rohithb --- .../nvcf-self-managed-cli/reference/flags.md | 12 +- .../cmd/self_hosted_check_stackvalues_test.go | 44 + .../agentskill/skilldata_generated.go | 4586 +++++++++-------- .../internal/selfhosted/clustervalidator.go | 14 +- .../nvcf-cli/internal/selfhosted/preflight.go | 15 +- .../internal/selfhosted/registry_cred.go | 56 +- .../internal/selfhosted/registry_cred_test.go | 78 +- 7 files changed, 2466 insertions(+), 2339 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md index 3584a10b40..6a7e81a499 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/reference/flags.md @@ -59,7 +59,7 @@ and deleting test namespaces an earlier validator run left behind. | Flag | Purpose | Default | |---|---|---| | `--cluster-validator-image REF` | Validator image. Resolution order: flag, `NVCF_CLI_CLUSTER_VALIDATOR_IMAGE`, config key `cluster_validator_image`. A ref with no tag discovers the latest stable tag from the registry. If no tag can be discovered, the validator does not run and its row fails the check, saying to pin a tag; `--wait` tries again on every poll. Unset everywhere, the validator does not run and each role's `cluster-validator` row is a warning, so the verdict is `warnings` | - | -| `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries`, a list of strings in this form | - | +| `--cluster-validator-registries host[:port][/path],...` | Extra registries to check: their credentials from this machine, and their reachability from a pod of the control-plane validator. A path scopes the credential check, as in `harbor.example.com/nvcf`. They are added to the registries the install pulls from: the validator image's registry, the stack's `global.image.registry` and `global.image.repository`, its OCI chart source, and `quay.io` for the cert-manager ACME solver unless the stack leaves cert-manager out or sets `certManager.acmesolver.image`. `nvcr.io` is probed, as a warning only, when neither the image nor the stack names a registry. The in-pod probes leave out a registry only the charts come from, since `helm` pulls them on this machine, and are warnings only, since the pod has no proxy. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_REGISTRIES`; config key `cluster_validator_registries`, a list of strings in this form | - | | `--cluster-validator-probe-image REF` | Image for the node inotify probe and the control-plane validator's node-to-node overlay probe. Needs `sh` and a busybox-style `nc`. Set a mirror for air-gapped clusters. Env: `NVCF_CLI_CLUSTER_VALIDATOR_PROBE_IMAGE`; config key `cluster_validator_probe_image` | `busybox:1.36` from Docker Hub | | `--cluster-validator-external-components NAME,...` | Stack dependencies that run outside the stack, or not at all, so the validator does not look for them in the cluster: a subset of `nats`, `openbao` and `cassandra`. An unknown name fails the command. Repeatable or comma-separated. Falls back to `NVCF_EXTERNAL_COMPONENTS`, then to the components whose `.enabled` the stack's environment file sets to anything but `true`. Env: `NVCF_CLI_CLUSTER_VALIDATOR_EXTERNAL_COMPONENTS`; config key `cluster_validator_external_components`, a list of names | from the stack | | `--cluster-validator-tolerations key[=value][:effect],...` | Tolerations added to the validator Job, beside the control-plane ones it always carries, for clusters whose nodes use other taints. Effect is `NoSchedule`, `PreferNoSchedule` or `NoExecute`. A malformed entry fails the command. Repeatable or comma-separated. Env: `NVCF_CLI_CLUSTER_VALIDATOR_TOLERATIONS`; config key `cluster_validator_tolerations`, a list of strings in this form, not Kubernetes toleration objects | - | @@ -93,10 +93,12 @@ waits counts on the next poll. The probe asks for pull access to the validator image's repository and to the stack's image path: any path in `global.image.registry`, then `global.image.repository`. A stack path of one segment, such as an org with no -team, is not sent as the scope, since `nvcr.io` refuses it. When the stack's -OCI chart source, `global.helm.sources.registry` and `.repository`, is that -same path, its row is also the one `helm` on this machine pulls the stack's -charts from, with the docker login. +team, is not sent as the scope, since `nvcr.io` refuses it. The stack's OCI +chart source, `global.helm.sources.registry` and `.repository`, read the same +way, is the row `helm` on this machine pulls the stack's charts from, with the +docker login: the image row when it is the same path, else a row of its own, +critical for an NVIDIA registry like the image row. An HTTPS chart source, +`global.helm.sources.url`, has credentials of its own and gets no row. The registry check belongs to one plane, whose stack names the registries and whose install state grades them: a plane the run checks before its diff --git a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go index b0859a5dd6..ed94e60c11 100644 --- a/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go +++ b/src/clis/nvcf-cli/cmd/self_hosted_check_stackvalues_test.go @@ -481,3 +481,47 @@ func TestCheck_ControlPlaneValidatorKeepsItsStacksRegistries(t *testing.T) { assert.Contains(t, cpRegistries, "cp-mirror.example.com") assert.NotContains(t, cpRegistries, "gpu-mirror.example.com") } + +// A chart source on another org than the stack's images gets a row of its +// own, critical like theirs. Before install, here a local control-plane +// install where the NGC key goes first, that row alone is probed as the scope +// helm pulls the charts from with the docker login. After install no row is. +func TestCheck_ChartSourceOnAnotherOrgGetsItsOwnRow(t *testing.T) { + t.Setenv("HELMFILE_ENV", "") + t.Setenv("NVCF_CLI_SELFHOSTED_SKIP_INOTIFY", "1") + stack := t.TempDir() + require.NoError(t, os.MkdirAll(filepath.Join(stack, "environments"), 0o755)) + require.NoError(t, os.WriteFile(filepath.Join(stack, "environments", "local.yaml"), + []byte("global:\n image:\n registry: nvcr.io\n repository: acme/nvcf\n"+ + " helm:\n sources:\n registry: nvcr.io\n repository: acme/charts\n"+ + "certManager:\n enabled: false\n"), 0o644)) + type probe struct{ critical, chartScope bool } + probed := func(args ...string) map[string]probe { + resetCheckFlags(t) + var mu sync.Mutex + got := map[string]probe{} + prev := newRegistryCredentialCheckerForSelfHosted + newRegistryCredentialCheckerForSelfHosted = func() selfhosted.RegistryCredentialChecker { + return func(_ context.Context, registry, repo string, critical, chartScope bool) error { + mu.Lock() + defer mu.Unlock() + got[registry+"/"+repo] = probe{critical, chartScope} + return nil + } + } + t.Cleanup(func() { newRegistryCredentialCheckerForSelfHosted = prev }) + rootCmd.SetErr(&bytes.Buffer{}) + rootCmd.SetOut(&bytes.Buffer{}) + rootCmd.SetArgs(append([]string{"self-hosted", "check", "--json", "--skip-cluster-validation", + "--env", "local", "--control-plane-stack", stack}, args...)) + _ = rootCmd.Execute() + mu.Lock() + defer mu.Unlock() + return got + } + + assert.Equal(t, map[string]probe{"nvcr.io/acme/nvcf": {critical: true}, + "nvcr.io/acme/charts": {critical: true, chartScope: true}}, probed("--pre")) + assert.Equal(t, map[string]probe{"nvcr.io/acme/nvcf": {critical: true}, + "nvcr.io/acme/charts": {critical: true}}, probed("--control-plane")) +} diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index d3d5a9ac4e..e43f8d51f8 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzExNTUsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzE0NjEsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -71,9 +71,9 @@ const skillDataZipBase64 = "" + "ZW5jZS9leGl0LWNvZGVzLm1kIiwKICAgICAgInNoYTI1NiI6ICJiMzcyN2RiN2M2NmQ1ZThiNmNm" + "NmM0NDViMWNiMzg3MGEyNDUyN2E3NGEzNWNhZTFhMTU5NjZjMDQ4MDU3MmRkIiwKICAgICAgInNp" + "emUiOiA0MjAwCiAgICB9LAogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICJkNWU4ZTMwNTI1YmM5ZGY3" + - "MjIzMzMxNDE2NmE1NjU4NjdmYWNkYThlODA3YmYyMmUyYWYyYjRlOWI3MGM3M2Y2IiwKICAgICAg" + - "InNpemUiOiAyNDUxNAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + + "bGkvcmVmZXJlbmNlL2ZsYWdzLm1kIiwKICAgICAgInNoYTI1NiI6ICI1OWIyNDJhNzU5YjU0NWNm" + + "NDZlOTRiMzZmMTc5MWJiODZjMjMxNDFlYmNlZTI4ZDBhNjg5MmRmOTU2Nzc2Y2NlIiwKICAgICAg" + + "InNpemUiOiAyNDgyMAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + "ZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWQiLAogICAgICAic2hhMjU2IjogImIy" + "M2E5YzMyMDIwZmM4ODY0N2ZhNjE3MWFjZmJkZWY5ZWE1MmQxNGM5NTgwODFiNjY0MDAzOWYyMTBl" + "N2U2YWQiLAogICAgICAic2l6ZSI6IDg1NDUKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCJdPYGdKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCE2XeaZKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -1955,2296 +1955,2302 @@ const skillDataZipBase64 = "" + "YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5z" + "dGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFj" + "aydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlg" + - "LCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2VydC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0" + - "aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdlciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNt" + - "ZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBpcyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3" + - "aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhl" + - "IGluLXBvZCBwcm9iZXMgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2QgaGFzIG5vIHBy" + - "b3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBj" + - "b21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1JFR0lTVFJJ" + - "RVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwgYSBsaXN0IG9m" + - "IHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUt" + - "aW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFuZCB0aGUgY29u" + - "dHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9iZS4gTmVlZHMg" + - "YHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3IgYWlyLWdhcHBl" + - "ZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJPQkVfSU1BR0Vg" + - "OyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBgYnVzeWJveDox" + - "LjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNv" + - "bXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVuIG91dHNpZGUg" + - "dGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IGxvb2sg" + - "Zm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9wZW5iYW9gIGFu" + - "ZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5kLiBSZXBlYXRh" + - "YmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRFUk5BTF9DT01Q" + - "T05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVuYWJsZWRgIHRo" + - "ZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQgYHRydWVgLiBF" + - "bnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05FTlRTYDsgY29u" + - "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2AsIGEgbGlzdCBv" + - "ZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci10b2xlcmF0" + - "aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRkZWQgdG8gdGhl" + - "IHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0IGFsd2F5cyBj" + - "YXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50cy4gRWZmZWN0" + - "IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1dGVgLiBBIG1h" + - "bGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBjb21tYS1zZXBh" + - "cmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJT05TYDsgY29u" + - "ZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qgb2Ygc3RyaW5n" + - "cyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0cyB8IC0gfAp8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2VyLXJlZ2lzdHJ5" + - "IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3IgaW1hZ2UuIFdo" + - "ZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVhdGVkIGluIGBk" + - "ZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwgaXQgY29waWVz" + - "IHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9tIGEgU2VjcmV0" + - "IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBydW4uIEZhaWxp" + - "bmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1hY2hpbmUncyBj" + - "cmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3RyeS1jcmVkZW50" + - "aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5cyB3aGF0IHdh" + - "cyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVjdCB8CnwgYC0t" + - "c2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2YWxpZGF0b3Ig" + - "cHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBidXQgY2Fubm90" + - "IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhwbGljaXRseSwg" + - "Zm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1hZ2UuIEVhY2gg" + - "cm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGluZm8gYW5kIHNh" + - "eXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9DTFVTVEVS" + - "X1ZBTElEQVRJT05gLCBvbiB3aXRoIGB0cnVlYCwgYDFgLCBgeWVzYCwgYHlgIG9yIGBvbmAgYW5k" + - "IG9mZiB3aXRoIGBmYWxzZWAsIGAwYCwgYG5vYCwgYG5gIG9yIGBvZmZgLCBpbiBhbnkgY2FzZS4g" + - "QW55IG90aGVyIHZhbHVlIGlzIGFuIGVycm9yIHwgYGZhbHNlYCB8CnwgYC0tbm8tY2xlYW51cGAg" + - "fCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNlY3JldCBhbmQg" + - "Q29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNhbm5vdCBwdWxs" + - "IGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCByYXRoZXIgdGhh" + - "biByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVzY3JpYmUgam9i" + - "YC4gQSBsYXRlciBjaGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVzIHRoZW0gb25j" + - "ZSB0aGV5IGFyZSAyNCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2ZW50J3MgYGNs" + - "ZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUgY29tbWFuZCB0" + - "aGF0IHJlbW92ZXMgdGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXdhaXRgIHwg" + - "YGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9yIHRyYW5zY3Jp" + - "cHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBgLS0tIGNsdXN0" + - "ZXItdmFsaWRhdG9yIGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hpbmcgZW5kIGxp" + - "bmUsIHdoZXJlIHRoZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVyYCBvciBgY29t" + - "cHV0ZS1wbGFuZS1jbHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04sIGFuZCBgLS1q" + - "c29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdoZW4gYSBwYXJz" + - "ZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0cnkgY3JlZGVu" + - "dGlhbHMKCmBjaGVja2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0aGlzIG1hY2hp" + - "bmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3b3VsZCB1c2U6" + - "IGAkRE9DS0VSX0NPTkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29uZmlnLmpzb25g" + - "LCB0aHJvdWdoIGFueSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxwZXIuCkZvciBg" + - "bnZjci5pb2AgdGhlIE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUgZmlyc3Qgb2YK" + - "YE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBgTlZDRl9OR0Nf" + - "QVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMgYWhlYWQgb2Yg" + - "dGhlIGRvY2tlciBsb2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNrJ3MgcGxhbmUsIGJl" + - "bG93LCBpcyB0aGUgY29udHJvbCBwbGFuZSwgY2hlY2tlZCBiZWZvcmUgaXRzCmluc3RhbGwgd2l0" + - "aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2UgYHVwYCBjcmVhdGVzIGl0cyBwdWxsIHNl" + - "Y3JldHMKZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhlciByZWdpc3RyeS4g" + - "VGhlcmUgdGhlIGRvY2tlciBsb2dpbiBpcwpzdGlsbCBzZW50IGZvciB0aGUgcm93IHRoZSBzdGFj" + - "aydzIGNoYXJ0cyBjb21lIGZyb20sIGJlbG93LCBhbmQgZ3JhZGVkIGFzCmVsc2V3aGVyZSwgc2lu" + - "Y2UgYGhlbG1gIHB1bGxzIHRoZSBjaGFydHMgd2l0aCBpdC4gRWxzZXdoZXJlIHRoZSBrZXkKaXMg" + - "c2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3IgZm9yIGEgcmVwb3NpdG9yeSB3" + - "aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkgb3IgZ2l2ZXMg" + - "aXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRlZCBvbmNlIHBlciByZXBvc2l0b3J5" + - "LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRvcidzIHB1bGwg" + - "c2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUgc2FtZSBjcmVkZW50aWFsLCBhbmQg" + - "YQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0aGUgb3JncyBp" + - "dCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhhdCByZXBvc2l0" + - "b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBvbGwgcmVhZHMg" + - "dGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUgdGhlIHJ1bgp3" + - "YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tzIGZvciBwdWxsIGFj" + - "Y2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8gdGhlCnN0YWNr" + - "J3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAsIHRoZW4K" + - "YGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBzZWdtZW50LCBz" + - "dWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRoZSBzY29wZSwgc2lu" + - "Y2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuIFdoZW4gdGhlIHN0YWNrJ3MKT0NJIGNoYXJ0IHNvdXJj" + - "ZSwgYGdsb2JhbC5oZWxtLnNvdXJjZXMucmVnaXN0cnlgIGFuZCBgLnJlcG9zaXRvcnlgLCBpcyB0" + - "aGF0CnNhbWUgcGF0aCwgaXRzIHJvdyBpcyBhbHNvIHRoZSBvbmUgYGhlbG1gIG9uIHRoaXMgbWFj" + - "aGluZSBwdWxscyB0aGUgc3RhY2sncwpjaGFydHMgZnJvbSwgd2l0aCB0aGUgZG9ja2VyIGxvZ2lu" + - "LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25lIHBsYW5lLCB3aG9zZSBzdGFjayBu" + - "YW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFsbCBzdGF0ZSBncmFkZXMgdGhlbTog" + - "YSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmluc3RhbGwsIHdoaWNoIHRoaXMgbWFj" + - "aGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFuZSBmb3IgYSBiYXJlCmAtLXByZWAg" + - "YW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhlIGNvbXB1dGUgcGxhbmUgZm9yCmAt" + - "LXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29udHJvbCBwbGFuZSB3aGVuIHRoZSBy" + - "dW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5lLgoKT25seSBhIGNyZWRlbnRpYWwg" + - "dGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwgYW5kIG9ubHkgZm9yIGFuIE5WSURJ" + - "QQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5hbWVzLiBUaGF0IGluY2x1ZGVzIGEg" + - "ZG9ja2VyIGxvZ2luCmBudmNyLmlvYCByZWplY3RzIGV2ZW4gd2hlbiB0aGUgTkdDIGtleSB3b3Jr" + - "cyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIKaW5zdGFsbCwgc2luY2UgYGRvY2tlcmAg" + - "YW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgc3RpbGwgc2VuZCBpdC4gVGhlIGtleSBpcwpzdGls" + - "bCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFsaWRhdG9yJ3MgcHVsbCBzZWNyZXQs" + - "IGFuZCB0aGUgcm93Cm5hbWVzIGJvdGguIEFmdGVyIGluc3RhbGwgdGhlIHJvdyBhbHNvIHNheXMg" + - "d2hldGhlciBvbmUgb2YgdGhlIHB1bGwgc2VjcmV0cwpiZWxvdyBob2xkcyB0aGF0IGRvY2tlciBs" + - "b2dpbi4gQmVmb3JlIGluc3RhbGwsIGEgZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzCnRvIHRo" + - "ZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRzIGNvbWUgZnJvbSBmYWlscyBpdCB0b28sIGFsdGhvdWdo" + - "IHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQsIHNpbmNlIGBoZWxtYCBwdWxscyB0aGUgY2hhcnRzIHdp" + - "dGggdGhlIGRvY2tlciBsb2dpbi4gVGhhdCBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MsIG5vdCBh" + - "cyBhIHJlamVjdGVkIGxvZ2luLiBFbHNld2hlcmUsIGFuZCBhZnRlciBpbnN0YWxsLAphIGRvY2tl" + - "ciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBwYXNzZXMgd2hlcmUgdGhlIE5HQyBrZXkgcmVhY2hlcyB0" + - "aGUKcmVwb3NpdG9yeS4gQSByZWplY3RlZCBOR0Mga2V5IGlzIGEgd2FybmluZyBhZnRlciBpbnN0" + - "YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJlYWRzIHRoZSBwdWxsIHNlY3JldHMgb2YgdGhlIGNsdXN0" + - "ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhlCnZhbGlkYXRvciBjb3BpZXMgcHVs" + - "bCBzZWNyZXRzIGZyb20sIGFuZCBub25lIG9mIHRoZW0gaG9sZHMgdGhhdCBrZXk7IHdoZW4Kb25l" + - "IGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBpdCBpcyBhbiBlcnJvci4gQSByZWdp" + - "c3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90IHJlYWNoLCBhIHRva2VuIHNlcnZpY2UgdGhhdCBmYWls" + - "cywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFyZQp3YXJuaW5ncy4gQQpyZWdpc3Ry" + - "eSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFzIEVDUiBvciBvbmUgdXNpbmcgQmFz" + - "aWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0byBjaGVjayBpdCBieSBoYW5kLiBB" + - "IHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4gYW5vbnltb3VzbHkgaXMgcmVwb3J0" + - "ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxzLgoKIyMjIFNldHRpbmdzIHJlYWQg" + - "ZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0aGVzZSBzZXR0aW5ncyBmcm9tIHRo" + - "ZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9ubWVudCB2YXJpYWJsZSBvciBjb25m" + - "aWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRpbmcgfCBSZWFkIGZyb20gdGhlIHN0" + - "YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18LS0tfAp8IE5WQ0YgR2F0ZXdheXMg" + - "fCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0ZWQgdGhlIHdheSB0aGUgc3RhY2sg" + - "d2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5nYXRld2F5QXBpLmVuYWJsZWRgIGlz" + - "IGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5hdHMuZW5hYmxlZGAsIGBsbG1HcnBj" + - "YCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxsbVdvcmtlci5lbmFibGVkYCB8IGBO" + - "VkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0ZWQgYG5hbWVzcGFjZS9uYW1lYCBl" + - "bnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFNldCB0aGlz" + - "IHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8CnwgRW52b3kgR2F0ZXdheSBuYW1lc3Bh" + - "Y2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJOYW1lc3BhY2VgIHwgYE5WQ0ZfRU5W" + - "T1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBjb21wb25lbnRzIHwgYG5hdHNgLCBg" + - "b3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJsZWRgIGlzIHNldCBhbmQgaXMgbm90" + - "IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVybmFsLWNvbXBvbmVudHNgLCBvciBg" + - "TlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFnZUNsYXNzIHwgYGdsb2JhbC5zdG9y" + - "YWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBjaGVja3MgdGhhdCB0aGlzIGNsYXNz" + - "IGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1bHQgY2xhc3MgfCBgTlZDRl9TVE9S" + - "QUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAtIHwgYE5WQ0ZfT1BFTkJBT19OQU1F" + - "U1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8IGAtLWNsdXN0ZXItdmFsaWRhdG9y" + - "LXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lNQUdFYCB8CgpUaGUgcmVnaXN0cmll" + - "cyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBjaGVja2AgcmVhZHMgc3RhY2sgdmFs" + - "dWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0YWxsOgoKLSBUaGUgZW52aXJvbm1l" + - "bnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgLiBUaGUgYC0tZW52YAog" + - "IGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBp" + - "dHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdpdGggaXQuIE90aGVyd2lzZSBwYXNz" + - "IHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVudmlyb25tZW50cy88ZW52Pi55YW1s" + - "YCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAuIGBiYXNlLnlhbWxgCiAgYWxvbmUg" + - "aXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0aGUgc3RhY2sgdGhlIGluc3RhbGwg" + - "dXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0tY29tcHV0ZS1wbGFuZS1zdGFja2Ag" + - "Zm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5IGNoZWNrCiAgYmVsb25ncyB0byB0" + - "aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1aWx0LWluIHN0YWNrLiBBIGxvY2Fs" + - "CiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBhbiBgb2NpOi8vYCBzdGFjayBmcm9t" + - "IHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJhY3RlZCBpbnRvIHRoZSBDTEkgY2Fj" + - "aGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQsIGlzCiAgbm90IHJlYWQsIHNpbmNl" + - "IHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0YXRlLiBBIENMSSB3aXRoIG5vCiAg" + - "YnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVhZHMgdGhlIHN0YWNrIGNoZWNrb3V0" + - "IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3RoZXJ3aXNlIG5vdGhpbmcgZnJvbSB0" + - "aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9yIGZpbmRzIHRoZQpHYXRld2F5cyBm" + - "cm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJvYmVkIGFzIGEgd2FybmluZyBvbmx5" + - "LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0t" + - "LXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNNUyBjbHVzdGVyIHJvdyBpZGVudGlm" + - "aWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIGFjY291bnQgSUQgfCBg" + - "bnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBDbHVzdGVyIHJlZ2lvbiB8IGB1" + - "cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1bjsgZW1pdCBwaGFzZSBwbGFuICsg" + - "RVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMjIGBzdGF0dXNgLXNwZWNpZmljCgp8" + - "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5h" + - "bWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFuZSB8IC0gKGNvbnRyb2wgKyBhbGwg" + - "Y2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJlbmRlciB8IGBmYWxzZWAgfAp8IGAt" + - "LXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2FkZW5jZSB8IGA1c2AgfAp8IGAtLWNv" + - "bXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBhbmVsIHwgYWxsIHwKfCBgLS1uby1l" + - "dmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2VgIHwKCiMjIGBjbHVzdGVyIHJlZ2lz" + - "dGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18" + - "CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVxdWlyZWQpIHwgLSB8CnwgYC0tbmNh" + - "LWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8CnwgYC0tcmVnaW9uIFJFR0lPTmAgfCBS" + - "ZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IElDTVMgZW5kcG9pbnQg" + - "fCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5nYCB8IE1hdGNoLW9yLWNyZWF0ZSBp" + - "bnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8CgojIyBgYXBpLWtleSBnZW5lcmF0" + - "ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8" + - "IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQga2V5" + - "IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAg" + - "fCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8IGBHZW5lcmF0ZWQgYnkgbnZjZi1j" + - "bGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4cGlyeSBvZmZzZXQgKGUuZy4gYDI0" + - "aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRpb24gfCBgMjRoYCB8CnwgYC0tc2Nv" + - "cGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVsdCBzY29wZXM7IHJlcXVpcmVzIGAt" + - "LWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZhbGlkYXRlYCB8IFZhbGlkYXRlIGVh" + - "Y2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBtaW50aW5nIHwgYGZhbHNlYCB8CgpF" + - "eHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRzKSwgYG1gIChtaW51dGVzKSwgYGhg" + - "IChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoKIyMgYGZ1bmN0aW9uIGNyZWF0ZWAt" + - "c3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVjb21tZW5kZWQgZm9yIHJlcGVhdGFi" + - "bGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgY3JlYXRlczoKCnwgRmxhZyB8IFB1" + - "cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBGdW5jdGlv" + - "biBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgLSB8Cnwg" + - "YC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBlbmRwb2ludCB8IC0g" + - "fAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFpbmVyIGluZmVyZW5jZSBwb3J0IHwg" + - "LSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJFQU1JTkdcfExMTWAgfCBGdW5jdGlv" + - "biB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQg" + - "VVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdpdGggYC0tZnVuY3Rpb24tdHlwZT1M" + - "TE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRzLiB8IC0gfAp8IGAtLWhlbG0tY2hh" + - "cnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2VydmljZSBuYW1lIGV4cG9zZWQgYnkgdGhl" + - "IGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRgIGlzIHNldC4gfCAtIHwKfCBgLS1t" + - "b2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBtb2RlbCBhcnRpZmFjdDsgcmVwZWF0" + - "YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExMTSBtb2RlbCBjb25maWc7IGZvcm1h" + - "dCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4s" + - "dG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFRva2VuIGxpbWl0cyB1c2UgYDx2" + - "YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBEYCwgb3IgYFdgLCBmb3IgZXhhbXBs" + - "ZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cyBiZWNh" + - "dXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxkIHNlcGFyYXRvcnMuIHwgLSB8Cnwg" + - "YC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwgRnVuY3Rpb24tbGV2ZWwgZGVmYXVs" + - "dCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkuIHwg" + - "LSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXIt" + - "YWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQg" + - "ZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8" + - "IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0gZnVuY3Rpb25zIHNldCBgZnVuY3Rp" + - "b25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1td" + - "LmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFyZXMgdGhlIE9wZW5BSS1jb21wYXRp" + - "YmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1vZGVsLiBDdXJyZW50IHN1cHBvcnRl" + - "ZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9yZXNwb25zZXNgLCBhbmQg" + - "YC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhY2NlcHRzIGByb3Vu" + - "ZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0aXJlZ2lvbmAsIGBwdWxzYXJgLCBv" + - "ciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1pdGAgYWNjZXB0cyBvbmUgb3IgbW9y" + - "ZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgaW4gYDx2YWx1" + - "ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBhcmUgYFNgIChzZWNvbmRzKSwgYE1g" + - "IChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyksIGFuZCBgV2AgKHdlZWtzKS4gVXNl" + - "IGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0cywgZm9yIGV4YW1wbGUgYDEwMDAt" + - "Uyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCBpbiBpbnB1dCBKU09OLgoKSGVs" + - "bSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2YgYGZ1bmN0aW9uVHlwZWAuIEZvciBh" + - "IEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0i" + - "YCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFtZWAsIGFuZCBgbW9kZWxzW10ubGxt" + - "Q29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4gYGluZmVyZW5jZVBvcnRgIG11c3Qg" + - "YmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9zZWQgYnkgYGhlbG1DaGFydFNlcnZp" + - "Y2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVzZSBgbW9kZWw6ICI8ZnVuY3Rpb24t" + - "aWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5j" + - "dGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRlZCB1cHN0cmVhbS4gQ2hhdCBjb21w" + - "bGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBjYW4gdXNlIGB4LW11bHRpLXR1cm4t" + - "c2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsgZW1iZWRkaW5ncyByZXF1ZXN0cyBk" + - "byBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8" + - "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBUQUdbLFRBR11gIHwgUmVwbGFjZSBm" + - "dW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVwZGF0ZSBTUEVDYCB8IExMTSBtb2Rl" + - "bCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9r" + - "ZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJvdXRpbmcgbWV0aG9kcyBtYXRjaCBg" + - "LS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBgMTAwMC1TYC4gVXNlIGlucHV0IEpT" + - "T04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlv" + - "cml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlvbi1sZXZlbCBwcmlvcml0eSBjb25m" + - "aWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkgc3VwcGxpZWQgcGVyLWFjY291bnQg" + - "b3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3VudC1wcmlvcml0eSBOQ0EtSUQ6UFJJ" + - "T1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJpZGU7IHJlcGVhdGFibGU7IHN1cHBv" + - "cnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlkZXMuIFJlcXVpcmVzIGEgZGVmYXVs" + - "dCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlvbiB1cGRhdGVgIGFjY2VwdHMgYG1v" + - "ZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFtZWAgYW5kIGBsbG1Db25maWcucm91" + - "dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5SYXRlTGltaXRgLiBgdXJpc2AgYXJl" + - "IGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUgbm90IHBhcnQgb2YgbW9kZWwgdXBk" + - "YXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmls" + - "ZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNwZWMpLiBGb3IgYWQtaG9jIG9uZS1z" + - "aG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1ncHUg" + - "TkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwg" + - "U0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1pbnN0YW5jZXMgTmAgfCBNaW4gcmVw" + - "bGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAgfCBNYXggcmVwbGljYXMgfCBgMWAg" + - "fAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwgQ29uY3VycmVuY3kgfCBgMGAgKHVu" + - "c2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1g" + - "IHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMgfCAoYW55IG1hdGNoaW5nIFNLVSkg" + - "fAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNv" + - "bW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRpb25zLiBGb3IgYWQtaG9jIHVzZToK" + - "CnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVg" + - "IHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFycywgYF5bYS16MC05QS1aXVthLXow" + - "LTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBuYW1lIChyZXF1aXJlZCB3aXRob3V0" + - "IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8CnwgYC0taW5zdGFuY2UtdHlwZSBU" + - "WVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwg" + - "RXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWltYWdlIElNQUdFYCB8IENvbnRhaW5l" + - "ciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWhlbG0tY2hhcnRgIHwKfCBgLS1o" + - "ZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UgfCBNdXR1" + - "YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAtLWlucHV0LWZpbGUgRklMRWAgfCBK" + - "U09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJyaWRlIEpTT04gdmFsdWVzIHdoZW4g" + - "Ym90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRgIHwgQmFja2VuZCAvIENTUCB8IC0g" + - "fAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNpZmljIGNsdXN0ZXJzIHdpdGhpbiB0" + - "aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWNvbnRhaW5lci1hcmdzIEFSR1Ng" + - "IHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNvbnRhaW5lciB8IFNpbmdsZSBzdHJp" + - "bmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUgMzIiYCB8CnwgYC0tY29udGFpbmVy" + - "LWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0" + - "YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAgfCBTZWNyZXQgZW52aXJvbm1lbnQg" + - "dmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCByZXN0IHwgLSB8CnwgYC0tbWF4LXJ1" + - "bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVuIHRpbWUgKElTTyA4NjAxLCBlLmcu" + - "IGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0aW1lIGxpbWl0IHwKfCBgLS1tYXgt" + - "cXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVlIGJlZm9yZSBjYW5jZWxsYXRpb24g" + - "KElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAgfAp8IGAtLXRlcm1pbmF0aW9uLWdy" + - "YWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBzdG9wIHNpZ25hbCAoSVNPIDg2MDEp" + - "IHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1bHQtc3RyYXRlZ3kgVVBMT0FEXHxO" + - "T05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0aWZhY3RzIHwgLSB8CnwgYC0tcmVz" + - "dWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBsb2FkIHRhcmdldCwgZm9ybWF0IGBv" + - "cmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVxdWlyZWQgd2hlbiBgLS1yZXN1bHQt" + - "c3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IE1v" + - "ZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tcmVzb3VyY2VzIE5BTUU6VkVSU0lP" + - "TjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAtIHwKfCBgLS10YWdzIFRB" + - "R1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAtLWRlc2NyaXB0aW9u" + - "IFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAtLWxvZ3MtdGVsZW1ldHJ5LWlkIFVV" + - "SURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS1tZXRyaWNzLXRlbGVt" + - "ZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVuZHBvaW50IElEIHwgLSB8CnwgYC0t" + - "dHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQg" + - "fCAtIHwKUEsHCOIa7nLCXwAAwl8AAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANwAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCm" + - "zhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0aGUgZGlhZ25vc3RpYyBjb21tYW5k" + - "LCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMgd2l0aCB0aGUgc3RydWN0dXJlZCBl" + - "dmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lkZSBwcmUtZmxpZ2h0LCBldmVyeSBl" + - "bnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2ZhaWxlZGAgYGVyckNhdGVnb3J5YCBh" + - "bmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZsaWdodAoKYGNoZWNrYCByZXBvcnRz" + - "IGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRgIGV2ZW50LCBub3QgYXMKYHBoYXNl" + - "X2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdzIGBtZXNzYWdlYDsgY2x1c3Rlci12" + - "YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3MgZmFpbGVkIHN1bW1hcnkgcm93cywg" + - "YW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRyYW5zY3JpcHQuCgp8IFN5bXB0b20g" + - "fCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBrdWJlY3RsIG5vdCBmb3Vu" + - "ZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vzbid0IGluY2x1ZGUga3ViZWN0bC4g" + - "QW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMgd2FybiwgYWRkaW5nIGA7IG9ubHkg" + - "YW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVjdGwgMS4yOCs6IGh0dHBzOi8va3Vi" + - "ZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwta3ViZWN0bC8gfAp8IGBoZWxtZmls" + - "ZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9naXRodWIuY29tL2hlbG1maWxl" + - "L2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90IGZvdW5kIG9uIFBBVEhgIHwgU2Ft" + - "ZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3RhbGwvIHwKfCBgY2x1c3Rlci12YWxp" + - "ZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2UgaXMgbm90IHNldDsgLi4uYCwg" + - "d2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25maWd1cmVkLCBzbyB0aGUgY2x1c3Rl" + - "ciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92YWxpZGF0b3JfaW1hZ2VgIGluIHRo" + - "ZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9JTUFHRWAgb3Ig" + - "YC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgZGlkIG5v" + - "dCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2YWxpZGF0ZWQ6IC4uLmAsIGVycm9y" + - "IHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVuZGVkIGJlZm9yZSBpdHMgdmVyZGlj" + - "dDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwgaXRzIG93biB0aW1lb3V0IHwgRml4" + - "IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFzcyBgLS1za2lwLWNsdXN0ZXItdmFs" + - "aWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Igc3VjY2VlZGVkOyBpdHMgdHJhbnNj" + - "cmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3NlZCB8IFRoZSB2YWxpZGF0b3IgcGFz" + - "c2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDogdGhlIGt1YmVjb25maWcgdXNlciBs" + - "YWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0YCwgb3IgdGhlIEFQSSBzZXJ2ZXIg" + - "Y2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tzIGl0IHJhbiBhbmQgd2FybmluZ3Mg" + - "aXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2UgdGhhdCBwcmVkYXRlcyB2YWxpZGF0" + - "b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVja3MgZm9yIGVpdGhlciByb2xlIHwg" + - "R3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVsdGAsIG9yIHJlYWQgdGhlIHRyYW5z" + - "Y3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFuZCBpbiB0aGUgcm93IHwKfCBgY2x1" + - "c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdhdGV3YXkgQVBJIENSRHM6IE5vdCBJ" + - "bnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlzc2luZyB8IGBoZWxtIGluc3RhbGwg" + - "ZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNwYWNlPWVu" + - "dm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBjbHVzdGVyLXZhbGlk" + - "YXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9yYWdlQ2xhc3M6IE5vdCBGb3VuZGAg" + - "fCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhlIHN0YWNrIGRvZXMgbm90IG5hbWUg" + - "b25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBzYyA8bmFtZT4gLXAgJ3sibWV0YWRh" + - "dGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMtZGVmYXVs" + - "dC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AgaW4gdGhl" + - "IHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0ZfU1RPUkFHRV9DTEFTU2ApIHRvIHRo" + - "ZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZh" + - "aWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxlYCAoY29tcHV0ZS1wbGFuZSkgfCBO" + - "byBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BVOiBubyBHUFUgbm9kZXMsIG9yIHRo" + - "ZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Igbm90IHdvcmtpbmcgfCBJbnN0YWxs" + - "IHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2VudGVyL2Nsb3VkLW5hdGl2ZS9ncHUt" + - "b3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9yLmh0bWwsIE9SIHVzZSBgZmFrZS1n" + - "cHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6IE5vdCBJbnN0YWxsZWRgIGFsb25l" + - "IGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoc3R1Y2sgVGVybWlu" + - "YXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUgbmFtZXNwYWNlIGhhcyBiZWVuIGRl" + - "bGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNvbmRpdGlvbnMgcmVwb3J0IGEgZGVs" + - "ZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5zaWRlIGl0IHN0aWxsIGhvbGRzIGEg" + - "ZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUgcm93IGluIG9yZGVyOiByZWFkIGBr" + - "dWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5jb25kaXRpb25zfSdgLCBs" + - "aXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291cmNlc2AgY29tbWFuZCwgYW5kIHJl" + - "c29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhlIG5hbWVzcGFjZSBmaW5hbGl6ZXJz" + - "IG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgOiBgPG5zPiAoVGVy" + - "bWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJuaW5nIHwgQSBub3JtYWwgZGVsZXRp" + - "b24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmluYWxpemVycyB8IFdhaXQgYW5kIHJl" + - "cnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93LiBJdCBiZWNvbWVzIGBzdHVjayBU" + - "ZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+" + - "IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVhc2U+IDxzdGF0dXM+KWAsIHdhcm5p" + - "bmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRlLCByb2xsYmFjayBvciB0ZWFyZG93" + - "biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1bmluc3RhbGxpbmdgLiBUaGUgbmV4" + - "dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBvciB0ZWFyZG93biBpcyBydW5uaW5n" + - "LCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxucz5gLCB0aGVuIGZpbmlzaCBpdCB3" + - "aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3RhbGxgIHwKfCBgc3RhbGUtbmFtZXNw" + - "YWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2FybmluZyB8IFRoZSBuYW1lc3BhY2Ug" + - "cnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVsZWFzZSwgYnV0IHN0aWxsIGhvbGRz" + - "IHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywgYXMgYGRvd25gIGxlYXZlcyB0aGVt" + - "LiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9sdW1lcyB8IEluc3BlY3Qgb25seTog" + - "YGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3QgLS1uYW1lc3BhY2VkIC1vIG5hbWUg" + - "XHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1zaG93LWtpbmQgLS1pZ25vcmUtbm90" + - "LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0YWxsIG9mIGEgZ2F0ZWQgY29tcG9u" + - "ZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIHJlcG9y" + - "dHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGluc3RhbGwgfCBIZWxtIHN0b3JlcyBy" + - "ZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQgYGNoZWNrYCByZWFkcyBgSEVMTV9E" + - "UklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5LCBub3QgZnJvbSB0aGUgaGVsbWZp" + - "bGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVSPXNxbGAgYmVmb3JlIGBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkgVGVybWluYXRpbmcgbmFtZXNwYWNl" + - "cyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNgIGRvZXMgbm90IHNjYW4gYW4gYWRk" + - "LW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMgYmVoaW5kIGEgc3RhY2sgYGNvbmRp" + - "dGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0ZSBpcyBvbi4gR2F0ZXMgY29tZSBm" + - "cm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3VuZCBhcyBmb3IgdGhlIFtzZXR0aW5n" + - "cyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0" + - "YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBhbmQsIHdoZW4gYC0tZW52YCBvciBg" + - "SEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQgb3IgYC0tcHJlYCBjaGVja3MgdGhl" + - "IHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25tZW50cy88ZW52Pi55YW1sYC4gT3Ro" + - "ZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdoaWNoIGxlYXZlIGBrYWktc2NoZWR1" + - "bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVtYCBhbmQgYG52Y2YtdWlgIG9mZiB8" + - "IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwgYW5kIHRoZSBzdGFjayBmbGFnIHRo" + - "ZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJl" + - "bWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0b2tlbiByZXF1aXJlZGAgKGluaXQg" + - "bm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFuZCBgLS10b2tlbmAgbm90IHBhc3Nl" + - "ZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9yIGAtLXRva2VuPSRKV1QgLS1ub24t" + - "aW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJlamVjdGVkOiBBbm90aGVyIGFsZ29y" + - "aXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMpIGZvdW5kYCB8IFN0YWxlIHNlc3Np" + - "b24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZjZi1jbGku" + - "c3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgNDAzIG1pc3NpbmcgcmVxdWVz" + - "dGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8IEFkbWluIHRva2VuIGRvZXNuJ3Qg" + - "aGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRl" + - "IC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZva2UgfAoKIyMgSW5zdGFsbCAvIGB1" + - "cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgSGVs" + - "bSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAgfCBDYXNzYW5kcmEgU3RhdGVmdWxT" + - "ZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVmYXVsdCBTdG9yYWdlQ2xhc3M7IGNo" + - "ZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJhLXN5c3RlbWAgfAp8IGBJbnZhbGlk" + - "IEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5jdGlvbiBkZXBsb3kpIHwgV3Jvbmcg" + - "ZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0aGUgU0tVIHwgVXNlIGAiZ3B1Ijog" + - "IkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4ImAgfAp8IGByZWdpb24g" + - "bXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIgLyBpbnN0YWxsIC0tY29tcHV0ZS1w" + - "bGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJfUkVHSU9OYCBlbnYgZW1wdHkgfCBQ" + - "YXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9uLWVtcHR5IHZhbHVlKSB8CnwgYHJl" + - "cXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvciBkdXJpbmcgY29t" + - "cHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBiZWZvcmUgY29tbWl0IGA2YWE1NzA0" + - "YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8IFVwZ3JhZGUgYG52Y2YtY2xpYCB0" + - "byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZjYS1vcGVyYXRvcjogSW1hZ2VQdWxs" + - "QmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0ZXIg" + - "cmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9jYWwgfCBgazNkIGltYWdlIGltcG9y" + - "dCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0ZXI+YCB8CgojIyBDb21w" + - "dXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + - "fC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNrT2ZmIHdpdGggYEhUVFAgNDAxYCBv" + - "biBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8IFN0YWxlIGBvdXQvPGNsdXN0ZXI+" + - "LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJlZ2lzdGVyOyBjbHVzdGVyIElEIGRv" + - "ZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUgZmlsZTsgcmUtcnVuIGBudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0ZXIgd3JpdGVzIGEgZnJlc2ggZmls" + - "ZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDog" + - "PGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vzbid0IG1hdGNoIHdoYXQgY29tcHV0" + - "ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBgbnZjZi1jbGkgY2x1c3RlciByb3Rh" + - "dGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBwb2QgYEltYWdlUHVsbEJhY2tPZmZg" + - "IGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgY29uZmlnIG1pc3Np" + - "bmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZjZi1iYWNrZW5kIDxwb2Q+" + - "YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8CnwgRnVuY3Rpb24gZGVwbG95IHN0dWNr" + - "IGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVhbSBpbml0IGxhZyAoY29sZC1jbHVz" + - "dGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIHwgYGt1YmVj" + - "dGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW5hdHMtYXV0" + - "aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVk" + - "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0ZWAgcmV0dXJucyBgTWlzc2luZyA8" + - "VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5hbWVgLCBvciBrZWVwcyB1c2luZyBh" + - "IHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkgYWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRl" + - "bnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdpc3RyeS1jcmVkZW50aWFsIGxpc3Rg" + - "L2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwgRXhwZWN0ZWQgcHJvcGFnYXRpb24g" + - "ZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgd2l0" + - "aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBUNU1gLCBhYm91dCA1IG1pbikgYW5k" + - "IGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVkIGNvcHkgcmVmcmVzaGVzIHwgV2Fp" + - "dCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBrdWJlY3RsIC1uIG52Y2Ygcm9sbG91" + - "dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFwcGx5IGltbWVkaWF0ZWx5IHwKUEsH" + - "CBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALAAJAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjogPi0KICBJbnN0YWxsIGFuZCBvcGVy" + - "YXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBhbmQgc2VwYXJhdGUgY29tcHV0ZS1w" + - "bGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaW5z" + - "dGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMgb3ZlcnJpZGVzLCBwdWxsIHNlY3Jl" + - "dHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "aywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBjb21wdXRlLXBsYW5lCiAgaW5zdGFs" + - "bGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwgQ0xJLWdlbmVyYXRlZCBjb250cm9s" + - "LXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1hbmFnZWQsIG9yIHNlbGYtaG9zdGVk" + - "IGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2FsIGszZCBlbnZpcm9ubWVudHM7IHVz" + - "ZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93IGluc3RlYWQuCmxpY2Vuc2U6IEFw" + - "YWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVsbWZpbGUgPj0gMS4xLjAgPCAxLjIu" + - "MCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBrdWJlY3RsIG1hdGNoaW5nIGNsdXN0" + - "ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdl" + - "Lm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6IFtudmNmLCBzZWxmLW1hbmFnZWQs" + - "IGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFuZSwgY29tcHV0ZS1wbGFuZSwgY2xp" + - "LXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwgcHVsbC1zZWNyZXRzXQp0b29sczog" + - "W1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRhZGF0YToKICBpbnRlcm5hbDogZmFs" + - "c2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRp" + - "YS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVs" + - "bWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJv" + - "ZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxsLXNlY3JldHNdCiAgbGFuZ3VhZ2Vz" + - "OiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZpbGUsIGhlbG0sIGt1YmVjdGxdCiAg" + - "ZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMgTlZDRiBTZWxmLU1hbmFnZWQgU3Rh" + - "Y2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9yIG1hdGNoaW5nIE5WQ0YgY29udHJv" + - "bC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBidW5kbGVzLgoKIyMgSW5zdHJ1Y3Rp" + - "b25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBncmFkZSwgb3IgdGVhcmRvd24gd29y" + - "ayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZCBgbnZjZi1jb21wdXRl" + - "LXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + - "bGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25UeXBlOiAiTExNImAsIHJlYWQgW0xM" + - "TSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZCNs" + - "bG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1aXNpdGVzCgpBc2sgZm9yIHRoZSBl" + - "eHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBwYXRoLiBGb3Igc3BsaXQgaW5zdGFs" + - "bGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZlcnNpb24gYG52Y2YtY29tcHV0ZS1w" + - "bGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBiYXNoCmxzIDxjb250cm9sLXBsYW5l" + - "LXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRzLyA8" + - "Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2dsb2Jh" + - "bC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vaGVsbWZpbGUuZC8gPGNvbXB1" + - "dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2dsb2Jh" + - "bC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3RvcnkgaXMgbWlzc2luZywgZG93bmxv" + - "YWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdDOgoKYGBgYmFzaApuZ2MgcmVnaXN0" + - "cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLXNlbGYtbWFuYWdlZC1zdGFj" + - "azo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRvd25sb2FkLXZlcnNpb24gPG9yZz4v" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpgYGAKCkNvbnRyb2wtcGxhbmUgY29t" + - "bWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5lIGJ1bmRsZSByb290LiBTcGxpdC1m" + - "bG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBhcmUgaW4KW1NwbGl0IENvbXB1dGUt" + - "UGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0b29saW5nIGFuZCBjb250ZXh0IGJl" + - "Zm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmlsZSAtLXZlcnNpb24gICAjIE11c3Qg" + - "YmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBtb2RlKQpoZWxtIHZlcnNpb24gICAg" + - "ICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBsaXN0ICAgICAjIE11c3QgaW5jbHVk" + - "ZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24gICAgICAjIENsaWVudCBtdXN0IGJl" + - "IHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3RlcgpgYGAKCkNvbnRyb2wtcGxhbmUgY29t" + - "bWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBy" + - "b290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCmxzIGhlbG1m" + - "aWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWRl" + - "bnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25tZW50cy88bmFtZT4ueWFtbGAgYW5k" + - "CmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNh" + - "bApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92" + - "MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgojIyBIb3cgVmFsdWVzIEZsb3cKClVu" + - "ZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50cyB0aGUgbW9zdCBjb21tb24gY29u" + - "ZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJvbm1lbnRzL2Jhc2UueWFtbCAgICAg" + - "ICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aAplbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNvbnN1bWVkIGJ5Cmdsb2JhbC55YW1s" + - "LmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2" + - "YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxlbnY+LXNlY3JldHMueWFtbCAgICAg" + - "IChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRlbiBieQpyZWxlYXNlIGlubGluZSB2" + - "YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2UpCmBgYAoKQ3JpdGljYWw6IGBnbG9i" + - "YWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lmaWMga2V5cyB0byBlYWNo" + - "IGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVjdG9ycywgc3RvcmFnZSwgcmVwbGlj" + - "YSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFydCB2YWx1ZSBpbiB0aGUgZW52aXJv" + - "bm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgaWYgYGdsb2JhbC55YW1sLmdvdG1w" + - "bGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJpZGUgYXJiaXRyYXJ5IGNoYXJ0IHZh" + - "bHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVzOmAgYmxvY2suIFNlZSBbT3ZlcnJp" + - "ZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmctaGVsbS1jaGFydC12YWx1ZXMpLgoK" + - "IyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRlIG5hbWVzcGFjZXMgYW5kIGltYWdl" + - "IHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJlZ2lzdHJ5KQoKYGBgYmFzaApmb3Ig" + - "bnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + - "IiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUK" + - "CiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZj" + - "ci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJh" + - "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + - "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52" + - "Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNl" + - "cm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwg" + - "fCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVzaW5nIHB1bGwgc2VjcmV0cywgeW91" + - "IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSByZWxlYXNlIHRvIHJlZmVyZW5jZSB0" + - "aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdlLXB1bGwtc2VjcmV0cykuCgojIyMg" + - "Mi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCByZWdpc3RyeQoKQm90aCBgZG9ja2Vy" + - "IGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFyZSByZXF1aXJlZCBmb3IgTkdDLiBI" + - "ZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gdGhl" + - "IGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgc2VwYXJhdGVseS4K" + - "CmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUgcmVxdWlyZWQKZG9ja2VyIGxvZ2lu" + - "IG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5" + - "IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgoKIyBFQ1IK" + - "YXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24gPHJlZ2lvbj4gfCBcCiAgaGVsbSBy" + - "ZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3b3JkLXN0ZGluIDxhY2NvdW50Pi5k" + - "a3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5" + - "IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBlciBob3N0IChtdWx0aS1vcmcgZ290" + - "Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3BhbiBzZXZlcmFsIE5HQyBvcmdzIHRo" + - "YXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxsCj4gbGl2ZSB1bmRlciB0aGUgb25l" + - "IGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdpc3RyeSBsb2dpbiBudmNyLmlvYCAo" + - "b3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVudCBrZXkgc2lsZW50bHkgb3Zlcndy" + - "aXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBmaXJzdCBvcmcgdGhlbiBmYWlsIHdp" + - "dGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAgKG5vdCBhIDQwMTogdGhlIGF1dGgK" + - "PiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkpLiBJZiB5b3UgcHVsbCBjaGFydHMv" + - "aW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0aGVyIHJlLXJ1biB0aGUgbG9naW4g" + - "d2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVmb3JlIGVhY2ggcHVsbCwgb3IgcGFz" + - "cwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNzd29yZCA8a2V5PmAgcGVyIGBoZWxt" + - "IHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5nCj4gb24gdGhlIHN0b3JlZCBsb2dp" + - "bi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xlIHJlZ2lzdHJ5IG1pcnJvciBhdm9p" + - "ZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29tbWVuZGVkKSBQdWxsIGZyb20gYSBy" + - "ZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIGF1dG9tYXRpY2FsbHkKCklmIHlv" + - "dSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdpc3RyeSB0aGF0IHRoZSBjbHVzdGVy" + - "IGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBpbWFnZSBwdWxsIHNlY3JldCAoZm9y" + - "IGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkg" + - "aXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5KSwgcG9pbnQgdGhlIHN0YWNrIGF0" + - "IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFib3ZlLgoKMS4gUG9pbnQgdGhlIHN0" + - "YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88ZW52Pi55YW1sYDoKCiAgIGBgYHlh" + - "bWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVnaXN0cnk6IDx5b3VyLXJlZ2lzdHJ5" + - "PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxlLmNvbQogICAgICAgcmVwb3NpdG9y" + - "eTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAgICAgc291cmNlczogICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFsc28gbWlycm9yZWQgdGhlIGhlbG0g" + - "Y2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdpc3RyeT4KICAgICAgICAgcmVwb3Np" + - "dG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+IFRoZSBtYW5pZmVzdCBoYXMgYSBt" + - "aXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28gY29udmVydCBub24tT0NJIGNoYXJ0" + - "cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBpbWFnZXMgKGBudmNyLmlvLy4uLmAp" + - "IGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBTb21lIEhlbG0KICAgPiBjaGFydHMs" + - "IHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6Ly9gIEhlbG0gcmVwb3NpdG9yeSAo" + - "Zm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNvbWApLiBUaG9zZSBhcmUgbm90IE9D" + - "SSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwuaGVsbS5zb3VyY2VzYAogICA+IChP" + - "Q0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9pbnRpbmcgdGhlIHN0YWNrIGF0IHlv" + - "dXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6Ly9gIGNoYXJ0IHRvIE9DSTogYGhl" + - "bG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAsIHRoZW4KICAgPiBgaGVsbSBwdXNo" + - "IDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88bWlycm9yLXN1Yi1wYXRoPmAuIE9u" + - "bHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBnbG9iYWwuaGVsbS5zb3VyY2VzYC4K" + - "CjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUuIFdoZW4gdGhlIGNsdXN0ZXIgYXV0" + - "aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21hdGljYWxseSAodGhlIG5vZGUgb3Ig" + - "d29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwgdGhlIHB1bGwgbmVlZHMgbm8KICAg" + - "S3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVlZDogdGhlIHBlci1uYW1lc3BhY2Ug" + - "YG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBjcmVhdGUgdGhlIG5hbWVzcGFjZXMs" + - "IGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5pbWFnZVB1bGxTZWNyZXRzYCBlbnRy" + - "eSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9g" + - "IGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3JlZGVudGlhbDogbnZjZi1hcGkgc3Rp" + - "bGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdlIGF0CiAgID4gYGZ1bmN0aW9uIGNy" + - "ZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRlbnRpYWwsIHNvIHRoYXQgY3JlZGVu" + - "dGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJlZ2lzdHJ5IGhvbGRzIHRoZSB1c2Vy" + - "IGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhlIGltYWdlIGlzIG1pcnJvcmVkCiAg" + - "ID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9tYWluCgpgZ2xvYmFsLmRvbWFpbmAg" + - "c2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMgc3VjaCBhcyBgYXBpLjxkb21haW4+" + - "YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5IG9yIGl0cyBsb2FkIGJhbGFuY2Vy" + - "LiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToKCmBgYGJhc2gKR0FURVdBWV9BRERS" + - "RVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1uYW1lPiAtbiA8Z2F0ZXdheS1uYW1l" + - "c3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAt" + - "biAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVzcyBtYXkgYmUgYSBob3N0bmFtZSBv" + - "ciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29uZmlndXJhdGlvbiBkZXRlcm1pbmUg" + - "dGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBmb3JtYXQuIFRoZSBzZWxmLW1hbmFn" + - "ZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZvciB0ZW1wb3JhcnkgdGVzdGluZyB3" + - "aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1ZmZpeCBzdWNoIGFzIGBnbG9iYWwu" + - "ZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUkVTU2AsIGFuZCBz" + - "ZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1Y3Rpb24sIHVzZSB5b3VyIGJhc2Ug" + - "RE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29yZHMgdG8gYEdBVEVXQVlfQUREUkVT" + - "U2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBrZWVwIGBnbG9iYWwuZG9tYWluYCBz" + - "dGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xpZW50IGRlc3RpbmF0aW9uLiBTZWUg" + - "RXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLgoKIyMjIDQuIFByZXZpZXcg" + - "YW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSB0ZW1w" + - "bGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMKSEVMTUZJTEVfRU5WPTxlbnYtbmFt" + - "ZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAKCj4gU2V0IEJPVEggQ2Fzc2FuZHJh" + - "IHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUgc2VjcmV0cyBmaWxlIGRvY3VtZW50" + - "cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0" + - "IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29y" + - "ZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYgeW91IHNldCBvbmx5Cj4gYERFRkFV" + - "TFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ugcm9sZSBrZWVwcyB0aGF0IGRlZmF1" + - "bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jhc2gtbG9vcHMgd2l0aCBgQmFkIGNy" + - "ZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRpY2F0ZS4gU2V0Cj4gYGNhc3NhbmRy" + - "YS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgREVGQVVMVF9DQVNT" + - "QU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQgcGhhc2VzCgpIZWxtZmlsZSBkZXBs" + - "b3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQaGFzZSB8IFNlbGVjdG9yIHwgU2Vy" + - "dmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0t" + - "LS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llc2AgfCBOQVRTLCBPcGVuQmFv" + - "LCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxlYXNlLWdyb3VwPXNlcnZpY2VzYCB8" + - "IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJveHksIG5vdGFyeSwgYXBpLWtleXMs" + - "IG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9uYWwgVmFuaXR5IEdhdGV3YXksIE5W" + - "Q0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGUgYWRkb24gfCA1LTEwIG1p" + - "biB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwgR2F0ZXdheSByb3V0ZXMgfCAxLTIg" + - "bWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eWAgfCBPYnNlcnZhYmlsaXR5" + - "IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9uaXRvciBpbiBhIHNlcGFyYXRlIHRl" + - "cm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1BIC13CmBgYAoKIyMjIDYuIEVuYWJs" + - "ZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkgR2F0ZXdheSBpcyBkaXNhYmxlZCBi" + - "eSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9tZXItZmFjaW5nCmhvc3RuYW1l" + - "cyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBzdGFuZGFyZCBOVkNGIEFQSSBhbmQg" + - "aW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + - "IHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRkb24uIElmIHRoZSBleHRyYWN0ZWQg" + - "c3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZhbml0eS1nYXRld2F5YApyZWxlYXNl" + - "IGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBza2lwIHRoZXNlIGNvbW1hbmRzIGFu" + - "ZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlbS4KCklmIHRoZSBz" + - "dGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5hYmxlIGl0IGluCmBlbnZpcm9ubWVu" + - "dHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIHZhbml0eUdhdGV3YXk6CiAg" + - "ICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7fQpgYGAKClRoZSBkZWZhdWx0IHJv" + - "dXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmB2YW5pdHkt" + - "Z2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1zcGVjaWZpYyBob3N0IGFuZCBwYXRo" + - "IG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdheS5tYXBwaW5nQ29uZmlnYC4gSWYg" + - "eW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFkIG9mCmB2YW5pdHkuPGRvbWFpbj5g" + - "LCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBzdXBwb3J0ZWQgYnkgdGhlIHN0YWNr" + - "CnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVjb3Jkcy4KCkFmdGVyIGNvbmZpcm1p" + - "bmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHktZ2F0ZXdheWAgcmVsZWFzZSwgcHJl" + - "dmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRlOgoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgdGVt" + - "cGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPXZh" + - "bml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxl" + - "Y3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKClZlcmlmeSB0aGUgcm91dGUgb25s" + - "eSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFibGVkOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT12YW5pdHkt" + - "Z2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIHZhbml0eQpjdXJsIC1I" + - "ICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4vaGVhbHRo" + - "IgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkgZm9yIHN0YW5kYXJkIEFQSSwgQVBJ" + - "IEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBvciBnUlBDIHRyYWZmaWMuIFRob3Nl" + - "IHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0ZXdheQpyb3V0ZXMuCgojIyMgNy4g" + - "RW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9t" + - "ZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNhYmxlZCBieQpkZWZhdWx0IGFuZCBh" + - "dmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0IGluY2x1ZGUgdGhlIE5WQ0YgVUkg" + - "YWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBh" + - "IGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0ZSB2YWx1ZXMsIHNraXAgdGhpcyBz" + - "ZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBjdXJyZW50bHkKdW5hdXRoZW50aWNh" + - "dGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMgaW50ZXJuZXQuCgpGb3IgZW5hYmxl" + - "bWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1cCwgYXBwbHksIGFuZCB2ZXJpZmlj" + - "YXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVmZXJlbmNlcy9udmNmLXVpLWFkZG9u" + - "Lm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpU" + - "aGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0YWxsIGNvbXB1dGUtcGxhbmUgY29t" + - "cG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3NlIGV4YWN0bHkgb25lIGNvbXB1dGUt" + - "cGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZsb3c6IGF1dGhvciBzZXBhcmF0ZSBl" + - "bnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQKICBpbnN0YWxsIHdpdGggdGhlIGNv" + - "bXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUgZmxvdzogdXNlIHRoZSBwcm9maWxl" + - "IGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCwKICB0aGVuIHJ1biB0" + - "aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLgoKRG8gbm90IG1p" + - "eCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlv" + - "bl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIGNvbW1hbmRz" + - "LCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmljYXRpb24sIGFuZCB0ZWFyZG93biBv" + - "cmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2ZXJ5IGNvbXB1dGUgcGxhbmUgYmVm" + - "b3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVhcmRvd24gZm9yCnRoZSBzYW1lIGhh" + - "bmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMv" + - "Y29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRvd24pLgoKU2NvcGU6IE9ubHkgZGVz" + - "dHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJvbC1wbGFuZSBoZWxtZmlsZSBzdGFj" + - "ay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBvcGVuYmFvLXNlcnZlcmAsIGBjYXNz" + - "YW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBpbnZvY2F0aW9uLXNlcnZpY2VgLCBg" + - "Z3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2aWNlYCwgb3B0aW9uYWwgYHZhbml0" + - "eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVyLXByb3h5YCwgYW5kIGBpbmdyZXNz" + - "YDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3aGVuIGBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlIGludmVudG9yeSBhbHNvIGlu" + - "Y2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBuYW1lc3BhY2UgY2xlYW51cCBwcmVz" + - "ZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBub3QgcHJlc2VydmUgdGhlIEhl" + - "bG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11c3QgdXNlIGBjZXJ0TWFuYWdlci5l" + - "bmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0cmVhdHMgdGhlIHJlbGVhc2UgYXMg" + - "c3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBoZWxtIHJlbGVhc2VzIG9yIG5hbWVz" + - "cGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cm95LCBpZGVu" + - "dGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGlu" + - "c3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNl" + - "YCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQg" + - "cmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlm" + - "eSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Np" + - "bmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUgdGhlIG5hbWVzcGFjZSBieSBkZWZh" + - "dWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92" + - "ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4KCiMjIyBTdGFuZGFyZCB0" + - "ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svYCBk" + - "aXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIGRlc3Ry" + - "b3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJhc2gKZm9yIG5zIGluIGNhc3NhbmRy" + - "YS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIG52Y2YtdWkgdmF1bHQt" + - "c3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSAiJG5zIiAtLWlnbm9yZS1ub3Qt" + - "Zm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMg" + - "fCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZjZnxhcGkta2V5c3xlc3N8c2lzKScK" + - "IyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVl" + - "cwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpXb3JrcyBvbmx5IGZvciBrZXlzIHRo" + - "YXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAoZS5nLiwgYGNhc3NhbmRyYS5yZXBs" + - "aWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBnbG9iYWwuaW1hZ2VgKS4KCiMjIyBS" + - "ZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVlKQoKRWRpdCB0aGUgcmVsZWFzZSBp" + - "biBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRkIGEgYHZhbHVlczpgIGJsb2NrLiBJ" + - "biB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBz" + - "ZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAot" + - "IG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9uOiBjYXNzYW5kcmEu" + - "ZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAqZGVwZW5kZW5jeQog" + - "IHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4uLzxwcml2YXRlLXZh" + - "bHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55YW1sCiAgICAt" + - "IGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAg" + - "ICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgICAgICByZXF1ZXN0" + - "czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpZ" + - "QU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNlcyBgPDw6ICpkZXBlbmRlbmN5YCBv" + - "ciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdz" + - "IHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBnbG9iYWwueWFtbC5nb3RtcGxgIGFu" + - "ZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5kIGFwcGx5IGEgc2luZ2xlIHJlbGVh" + - "c2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1j" + - "YXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "LS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAgIyBBcHBseQpgYGAKCiMjIEltYWdl" + - "IFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3RpbmN0IGNyZWRlbnRpYWwgdHlwZXMu" + - "IERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUKZm9ybWF0IHJ1bGUgYmVsb3cgKHR3" + - "byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpZiB0aGUgZm9ybWF0IGlz" + - "IHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2VjcmV0cyB8IEFQSSBCb290c3RyYXAg" + - "UmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwgU2VjcmV0IHwKfC0tLXwtLS18LS0t" + - "fC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2VydmljZSBpbWFnZXMgfCBudmNmLWFw" + - "aSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYXQgYGZ1bmN0aW9uIGNyZWF0ZWAg" + - "fCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgaW5qZWN0ZWQgaW50byBldmVy" + - "eSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2VyLXJlZ2lzdHJ5YCBTZWNyZXRzICsg" + - "S3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZhbHVlcz4vPGVudj4tc2VjcmV0cy55" + - "YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJX1NJREVDQVJTX0lNQUdFX1BVTExf" + - "U0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBPcGVuQmFvIGBzZXJ2aWNlcy9udmNm" + - "LWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAgKGZpZWxkIGBzZWNyZXRgKSB8Cnwg" + - "Rm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29uYCAoa3ViZWN0bCBidWlsZHMgaXQg" + - "Zm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5PiIpYCB8IGBiYXNlNjQoIiRvYXV0" + - "aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291bnQtYm9vdHN0cmFwIGNyZWQgYW5k" + - "IHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2NrZXJjb25maWdqc29uLiBUaGUgc2Vj" + - "cmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIKPiBgUkVQTEFDRV9XSVRIX0JBU0U2" + - "NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFzICJiYXNlNjQgb2YgYSBkb2NrZXJj" + - "b25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFzIGEgcmF3" + - "IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtlcyB0aGUKPiB2YWx1ZSB2ZXJiYXRp" + - "bSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxkIG9mIHRoZSBkb2NrZXJjb25maWcg" + - "aXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBiYXNlNjQoIiRvYXV0aHRva2VuOjxr" + - "ZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJh" + - "c2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZpZ2pzb24+KWAuCj4KPiAtIFdyb25n" + - "IGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24gY3JlYXRlYCByZXR1cm5zCj4gICAg" + - "YDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFtZTpwYXNzd29yZCBmb3JtYXQiYC4K" + - "PiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtlcidzIHNpZGVjYXIgcHVsbCBnZXRz" + - "IGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQwM2BzLCByZWdhcmRsZXNzIG9mIHdo" + - "aWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tzIGxpa2UgYSBiYWQgb3Igd3Jvbmct" + - "b3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFuZCB0aGUgZW5jb2RpbmcgaXMgdGhl" + - "IGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVkCj4gICAgc3RhY2sgd2l0aG91dCBh" + - "IGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBBVVRIPSQocHJpbnRmICckb2F1dGh0" + - "b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEpCj4gICAgYmFvIGt2IHB1dCBzZXJ2" + - "aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldCBzZWNyZXQ9IiRBVVRI" + - "Igo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVuYWJsZWQsIHJlcGVhdCBmb3Igc2Vy" + - "dmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVsbC1zZWNyZXQKPiAgICBrdWJlY3Rs" + - "IHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNmLWFwaSAgICMgcGlja3MgdXAgdGhl" + - "IG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUgKG11bHRpLW9yZyk6IHdoZW4gcHVs" + - "bGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2UgYW5k" + - "Cj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUgaW4gZGlmZmVyZW50IG52Y3IuaW8g" + - "b3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5LCBzbyB0aGUgYWNjb3VudC1ib290" + - "c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUgc2lkZWNhciBzZWNyZXQgKHNpZGVj" + - "YXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQga2V5cy4gTWlycm9yaW5nIGV2ZXJ5" + - "dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBjbHVzdGVyIGF1dGhlbnRpY2F0ZXMg" + - "dG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBvbmUgY3JlZGVudGlhbCBwYXRoLgoK" + - "IyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21tZW5kZWQpCgpVc2UgYSBLeXZlcm5v" + - "IG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21hdGljYWxseSBpbmplY3QgYGltYWdl" + - "UHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBuYW1lc3BhY2VzLiBUaGlzIHdvcmtz" + - "IHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXItY2hhcnQgY29uZmlndXJhdGlvbiBv" + - "ciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBgYGJhc2gKIyAxLiBJbnN0YWxsIEt5" + - "dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8va3l2ZXJuby5naXRodWIuaW8va3l2" + - "ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwga3l2ZXJubyBreXZlcm5vL2t5dmVy" + - "bm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMgMi4gQ3JlYXRlIHB1bGwgc2VjcmV0" + - "IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXIta2V5PiIKZm9yIG5z" + - "IGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZh" + - "dWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAg" + - "IC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogICAgLS1kb2NrZXItcGFzc3dvcmQ9" + - "IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRucyIgXAogICAgLS1kcnktcnVuPWNs" + - "aWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgMy4gQXBwbHkgdGhlIEt5" + - "dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1mIGt5dmVybm8taW1hZ2VwdWxsc2Vj" + - "cmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRhdGVzIGV2ZXJ5IHBvZCBhdCBhZG1p" + - "c3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRzOiBbe25hbWU6IG52Y3ItY3JlZHN9" + - "XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4g" + - "PHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwojIFNob3Vs" + - "ZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAKCk5vdCBuZWVkZWQgaWYgdXNpbmcg" + - "YSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUuZy4sIEVDUiB3aXRoIElBTSBub2Rl" + - "IHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFNTCBhbmQgcHVsbCBzZWNyZXQgY3Jl" + - "YXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2Vz" + - "L3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMjIyBRdWljayBzdGF0dXMgY2hlY2sK" + - "CmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRlICAgICAgICAgICAgICAgICAgICAg" + - "ICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3RsIGdldCBldmVudHMgLW4gPG5zPiAt" + - "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQgZXZlbnRzCmBgYAoKIyMjIENvbW1v" + - "biBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVzZSB8IEZpeCB8CnwtLS0tLS0tLS18" + - "LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAgKyBgNDAxIFVuYXV0aG9yaXplZGAg" + - "fCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hlY2sgc2VjcmV0IGV4aXN0cywgY2hl" + - "Y2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0OjAvMWAgc3R1Y2sgb24gc2Vydmlj" + - "ZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3BlbkJhbyB8IENoZWNrIE9wZW5CYW8g" + - "cG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5pdDowLzFgICsgYHZhdWx0LWFnZW50" + - "LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1" + - "Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAgfCBPcGVuQmFvIEpXVCBh" + - "dXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkgaW5zdGVhZCBvZiB0aGUgY2x1c3Rl" + - "cidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNz" + - "dWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9uIG9uIEFLUyAvIGFueSBPSURDLWlz" + - "c3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVu" + - "YWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zYCwgcmUt" + - "c3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kXShyZWZl" + - "cmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNrIiBmaXggIzQuIHwKfCBgT09NS2ls" + - "bGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNlcyB0b28gc21hbGwgfCBPdmVycmlk" + - "ZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBibG9jayB8CnwgREItYmFja2VkIHNl" + - "cnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2AgY29ubmVjdGluZyB0byBDYXNzYW5k" + - "cmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYDsg" + - "YGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGlsbCBkZWZhdWx0cyB0byBgY2hAbmcz" + - "bTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNzd29yZGAgaW4gdGhlIHNlY3JldHMg" + - "ZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGVuIHJlLXN5bmMg" + - "Y2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8CnwgYFBlbmRpbmdgIHBvZHMgfCBO" + - "b2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2UgY2xhc3MgfCBga3ViZWN0bCBkZXNj" + - "cmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2UgfAp8IEhlbG0gcmVsZWFzZSBpbiBg" + - "ZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVkIHBhcnR3YXkgfCBgaGVsbWZpbGUg" + - "ZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFnYWluIHwKfCBBY2NvdW50IGJvb3Rz" + - "dHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzIGluIHNlY3JldHMgZmlsZSB8" + - "IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC1uIG52" + - "Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0dXJuIGA0MDQgVW5rbm93biBjbGll" + - "bnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3QtaW5zdGFsbCBob29rIG5ldmVyIHJh" + - "bjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQsIG9yIHdhcyByZXBhaXJlZCB3aXRo" + - "IGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUtc3luYywgc28gdGhlIGhvb2sgKGFu" + - "ZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkgYW5kIHJlLXJ1biB0aGUgaG9vazsg" + - "c2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbl0oI3ZlcmlmeS10aGUtYWNjb3Vu" + - "dC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0byByZWFkIHZhdWx0IHNlY3JldHM7" + - "IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBhdGggaGFyZGNvZGVkIHRvIGAvaG9t" + - "ZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhl" + - "IG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRyb3Bz" + - "IHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5vdGF0aW9uc2AgYW5kIHNldCBgSkFW" + - "QV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiByZWxlYXNlIHZhbHVlcyB8CnwgTkFU" + - "UyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNlbWVudCB0YWcgbWlzbWF0Y2ggfCBO" + - "QVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNwYDsgYXBwIGRlcml2ZXMgdGFnIGZy" + - "b20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3QtMWApIHwgU2V0IGBBV1NfUkVHSU9O" + - "PW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBlbnYgY29uZmlnIHwKCiMjIyBWZXJp" + - "ZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRlZmF1bHQgYWNjb3VudCBpcyBjcmVh" + - "dGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRoZSBgYXBpYCByZWxlYXNlKioKKGBq" + - "b2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBudmNmYCkuIEJlY2F1c2UgaXQgaXMg" + - "YSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBvbiBhIHN1Y2Nlc3NmdWwgYGFwaWAg" + - "aW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQgeW91IHJlcGFpcmVkIGl0IHdpdGgg" + - "bGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJlLXN5bmMpLCB0aGUgaG9vayBuZXZl" + - "ciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApldmVyeSBzdWJzZXF1ZW50IGZ1bmN0" + - "aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBgNDA0IFVua25vd24gY2xpZW50X2lk" + - "YCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRoZSBydW5uaW5nIHBvZHMuCgpWZXJp" + - "ZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBgYmFzaAprdWJlY3RsIGdldCBqb2Ig" + - "LW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBcCiAgLW8ganNvbnBhdGg9J3suc3Rh" + - "dHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklmIHRoZSBqb2IgaXMgYWJzZW50IG9y" + - "IGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBhcGlgIHJlbGVhc2Ugc28gdGhlIGhv" + - "b2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9iIGZpcnN0IGlmIGl0IGxpbmdlcnMg" + - "aW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9ja3MgdGhlCmhvb2spOgoKYGBgYmFz" + - "aAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAt" + - "LWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + - "bmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBqb2IvbnZjZi1hcGktYWNjb3VudC1i" + - "b290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2FzIGNyZWF0ZWQKYGBgCgojIyBBZGRp" + - "dGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtleGFtcGxlcy5tZF0oZXhhbXBsZXMu" + - "bWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + - "L252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1wbGUpLCBhbmQgW3NwbGl0IGNvbXB1" + - "dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1cmVdKHJlZmVyZW5jZXMvaGVsbWZp" + - "bGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMu" + - "bWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQpCgpBZnRlciBkZXBs" + - "b3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1jbGlgIHNraWxsIHRvIGNyZWF0ZSBm" + - "dW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBrZXlzLCBhbmQgaW52b2tlIGVuZHBv" + - "aW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAANAAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxzL2V2YWxzLmpzb25VVAUAAQCmzhJb" + - "CiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVyc2lvbnMiLAogICAgInF1ZXN0aW9u" + - "IjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIG9uIG15IEFXUyBFS1MgY2x1" + - "c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50J3MgZmlyc3Qgb3BlcmF0aW9uYWwg" + - "c3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8gdmFsaWRhdGUgYWxsIHJlcXVpcmVk" + - "IHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEuMS54LCBub3QgMS4yLjApLCBoZWxt" + - "ICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4xMSksIGFuZCBrdWJlY3RsIChjbGll" + - "bnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRpZCBub3QgcHJvY2VlZCB0byBoZWxt" + - "ZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZhbGlkYXRlZC4iLAogICAgImV4cGVj" + + "LCBpdHMgT0NJIGNoYXJ0IHNvdXJjZSwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdl" + + "ciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9y" + + "IHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVk" + + "LCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNr" + + "IG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGxlYXZlIG91dCBhIHJlZ2lzdHJ5" + + "IG9ubHkgdGhlIGNoYXJ0cyBjb21lIGZyb20sIHNpbmNlIGBoZWxtYCBwdWxscyB0aGVtIG9uIHRo" + + "aXMgbWFjaGluZSwgYW5kIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBw" + + "cm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3Ig" + + "Y29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RS" + + "SUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBv" + + "ZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + + "LWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNv" + + "bnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRz" + + "IGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBw" + + "ZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdF" + + "YDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6" + + "MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1j" + + "b21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRl" + + "IHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29r" + + "IGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBh" + + "bmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0" + + "YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09N" + + "UE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0" + + "aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4g" + + "RW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNv" + + "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qg" + + "b2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJh" + + "dGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRo" + + "ZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMg" + + "Y2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVj" + + "dCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBt" + + "YWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2Vw" + + "YXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNv" + + "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmlu" + + "Z3MgaW4gdGhpcyBmb3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwK" + + "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3Ry" + + "eSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBX" + + "aGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBg" + + "ZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGll" + + "cyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3Jl" + + "dCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWls" + + "aW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3Mg" + + "Y3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVu" + + "dGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3" + + "YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAt" + + "LXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9y" + + "IHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5v" + + "dCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHks" + + "IGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNo" + + "IHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBz" + + "YXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + + "Ul9WQUxJREFUSU9OYCwgb24gd2l0aCBgdHJ1ZWAsIGAxYCwgYHllc2AsIGB5YCBvciBgb25gIGFu" + + "ZCBvZmYgd2l0aCBgZmFsc2VgLCBgMGAsIGBub2AsIGBuYCBvciBgb2ZmYCwgaW4gYW55IGNhc2Uu" + + "IEFueSBvdGhlciB2YWx1ZSBpcyBhbiBlcnJvciB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBg" + + "IHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5k" + + "IENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVs" + + "bCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRo" + + "YW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpv" + + "YmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9u" + + "Y2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBj" + + "bGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQg" + + "dGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8" + + "IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2Ny" + + "aXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVz" + + "dGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBs" + + "aW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNv" + + "bXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0t" + + "anNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFy" + + "c2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRl" + + "bnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNo" + + "aW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNl" + + "OiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29u" + + "YCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3Ig" + + "YG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9m" + + "CmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdD" + + "X0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9m" + + "IHRoZSBkb2NrZXIgbG9naW4gb25seSB3aGVuIHRoZQpyZWdpc3RyeSBjaGVjaydzIHBsYW5lLCBi" + + "ZWxvdywgaXMgdGhlIGNvbnRyb2wgcGxhbmUsIGNoZWNrZWQgYmVmb3JlIGl0cwppbnN0YWxsIHdp" + + "dGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbCBz" + + "ZWNyZXRzCmZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnku" + + "IFRoZXJlIHRoZSBkb2NrZXIgbG9naW4gaXMKc3RpbGwgc2VudCBmb3IgdGhlIHJvdyB0aGUgc3Rh" + + "Y2sncyBjaGFydHMgY29tZSBmcm9tLCBiZWxvdywgYW5kIGdyYWRlZCBhcwplbHNld2hlcmUsIHNp" + + "bmNlIGBoZWxtYCBwdWxscyB0aGUgY2hhcnRzIHdpdGggaXQuIEVsc2V3aGVyZSB0aGUga2V5Cmlz" + + "IHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIGZvciBhIHJlcG9zaXRvcnkg" + + "d2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhlIGRvY2tlciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVz" + + "IGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlzIGlzCmRlY2lkZWQgb25jZSBwZXIgcmVwb3NpdG9y" + + "eSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRoZSByb3cgYW5kIHRoZQp2YWxpZGF0b3IncyBwdWxs" + + "IHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJlZSBnZXQgdGhlIHNhbWUgY3JlZGVudGlhbCwgYW5k" + + "IGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8gb25lIG9yZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3Mg" + + "aXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0ZWQgYXMgbm8gYWNjZXNzIHRvIHRoYXQgcmVwb3Np" + + "dG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBsb2dpbi4gRWFjaApgLS13YWl0YCBwb2xsIHJlYWRz" + + "IHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZSBydW4K" + + "d2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBh" + + "Y2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFj" + + "aydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVu" + + "CmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwg" + + "c3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNp" + + "bmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LiBUaGUgc3RhY2sncyBPQ0kKY2hhcnQgc291cmNlLCBg" + + "Z2xvYmFsLmhlbG0uc291cmNlcy5yZWdpc3RyeWAgYW5kIGAucmVwb3NpdG9yeWAsIHJlYWQgdGhl" + + "IHNhbWUKd2F5LCBpcyB0aGUgcm93IGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0" + + "YWNrJ3MgY2hhcnRzIGZyb20sIHdpdGggdGhlCmRvY2tlciBsb2dpbjogdGhlIGltYWdlIHJvdyB3" + + "aGVuIGl0IGlzIHRoZSBzYW1lIHBhdGgsIGVsc2UgYSByb3cgb2YgaXRzIG93biwKY3JpdGljYWwg" + + "Zm9yIGFuIE5WSURJQSByZWdpc3RyeSBsaWtlIHRoZSBpbWFnZSByb3cuIEFuIEhUVFBTIGNoYXJ0" + + "IHNvdXJjZSwKYGdsb2JhbC5oZWxtLnNvdXJjZXMudXJsYCwgaGFzIGNyZWRlbnRpYWxzIG9mIGl0" + + "cyBvd24gYW5kIGdldHMgbm8gcm93LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25l" + + "IHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFs" + + "bCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmlu" + + "c3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFu" + + "ZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhl" + + "IGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29u" + + "dHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5l" + + "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + + "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + + "bWVzLiBUaGF0IGluY2x1ZGVzIGEgZG9ja2VyIGxvZ2luCmBudmNyLmlvYCByZWplY3RzIGV2ZW4g" + + "d2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIKaW5z" + + "dGFsbCwgc2luY2UgYGRvY2tlcmAgYW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgc3RpbGwgc2Vu" + + "ZCBpdC4gVGhlIGtleSBpcwpzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFs" + + "aWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUgcm93Cm5hbWVzIGJvdGguIEFmdGVyIGluc3Rh" + + "bGwgdGhlIHJvdyBhbHNvIHNheXMgd2hldGhlciBvbmUgb2YgdGhlIHB1bGwgc2VjcmV0cwpiZWxv" + + "dyBob2xkcyB0aGF0IGRvY2tlciBsb2dpbi4gQmVmb3JlIGluc3RhbGwsIGEgZG9ja2VyIGxvZ2lu" + + "IHdpdGggbm8gYWNjZXNzCnRvIHRoZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRzIGNvbWUgZnJvbSBm" + + "YWlscyBpdCB0b28sIGFsdGhvdWdoIHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQsIHNpbmNlIGBoZWxt" + + "YCBwdWxscyB0aGUgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhhdCBpcwpyZXBvcnRl" + + "ZCBhcyBubyBhY2Nlc3MsIG5vdCBhcyBhIHJlamVjdGVkIGxvZ2luLiBFbHNld2hlcmUsIGFuZCBh" + + "ZnRlciBpbnN0YWxsLAphIGRvY2tlciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBwYXNzZXMgd2hlcmUg" + + "dGhlIE5HQyBrZXkgcmVhY2hlcyB0aGUKcmVwb3NpdG9yeS4gQSByZWplY3RlZCBOR0Mga2V5IGlz" + + "IGEgd2FybmluZyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJlYWRzIHRoZSBwdWxs" + + "IHNlY3JldHMgb2YgdGhlIGNsdXN0ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhl" + + "CnZhbGlkYXRvciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZCBub25lIG9mIHRoZW0gaG9s" + + "ZHMgdGhhdCBrZXk7IHdoZW4Kb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBp" + + "dCBpcyBhbiBlcnJvci4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90IHJlYWNoLCBhIHRv" + + "a2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFy" + + "ZQp3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFz" + + "IEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0" + + "byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4g" + + "YW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxz" + + "LgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0" + + "aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9u" + + "bWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRp" + + "bmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18" + + "LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0" + + "ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5n" + + "YXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5h" + + "dHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxs" + + "bVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0" + + "ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRo" + + "ZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8Cnwg" + + "RW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJO" + + "YW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBj" + + "b21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJs" + + "ZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVy" + + "bmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFn" + + "ZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBj" + + "aGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1" + + "bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAt" + + "IHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8" + + "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lN" + + "QUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBj" + + "aGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0" + + "YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklM" + + "RV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAt" + + "LXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdp" + + "dGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVu" + + "dmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAu" + + "IGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0" + + "aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0t" + + "Y29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5" + + "IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1" + + "aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBh" + + "biBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJh" + + "Y3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQs" + + "IGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0" + + "YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVh" + + "ZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3Ro" + + "ZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9y" + + "IGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJv" + + "YmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNN" + + "UyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURg" + + "IHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAg" + + "fCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1" + + "bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMj" + + "IGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFu" + + "ZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJl" + + "bmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2Fk" + + "ZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBh" + + "bmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2Vg" + + "IHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + + "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVx" + + "dWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8Cnwg" + + "YC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwg" + + "VVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5n" + + "YCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8" + + "CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + + "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBv" + + "bmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8Cnwg" + + "YC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8" + + "IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4" + + "cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRp" + + "b24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVs" + + "dCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZh" + + "bGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBt" + + "aW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRz" + + "KSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoK" + + "IyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + + "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + + "Y3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + + "LW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + + "dGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGlu" + + "ZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFp" + + "bmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJF" + + "QU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0" + + "IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdp" + + "dGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRz" + + "LiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2Vydmlj" + + "ZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRg" + + "IGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBt" + + "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExM" + + "TSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJv" + + "dXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUu" + + "IFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBE" + + "YCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJp" + + "bmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxk" + + "IHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwg" + + "RnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2" + + "ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5D" + + "QS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJs" + + "ZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMg" + + "YSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0g" + + "ZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0" + + "YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFy" + + "ZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1v" + + "ZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwg" + + "YC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5n" + + "TWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0" + + "aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1p" + + "dGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0" + + "b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBh" + + "cmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyks" + + "IGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0" + + "cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1X" + + "YCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2Yg" + + "YGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0" + + "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + + "ZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4g" + + "YGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9z" + + "ZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVz" + + "ZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQg" + + "c2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRl" + + "ZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBj" + + "YW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsg" + + "ZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZp" + + "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBU" + + "QUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVw" + + "ZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRp" + + "bmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJv" + + "dXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBg" + + "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwK" + + "fCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlv" + + "bi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkg" + + "c3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3Vu" + + "dC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJp" + + "ZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlk" + + "ZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlv" + + "biB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFt" + + "ZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5S" + + "YXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUg" + + "bm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1z" + + "cGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNw" + + "ZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + + "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1" + + "aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1p" + + "bnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1p" + + "bnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAg" + + "fCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwg" + + "Q29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0t" + + "Y2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMg" + + "fCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + + "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRp" + + "b25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + + "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFy" + + "cywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBu" + + "YW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8" + + "CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhv" + + "dXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWlt" + + "YWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + + "LWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9y" + + "IE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAt" + + "LWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJy" + + "aWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRg" + + "IHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNp" + + "ZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAt" + + "LWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNv" + + "bnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUg" + + "MzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9u" + + "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAg" + + "fCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCBy" + + "ZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVu" + + "IHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0" + + "aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVl" + + "IGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAg" + + "fAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBz" + + "dG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1" + + "bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0" + + "aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBs" + + "b2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVx" + + "dWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBO" + + "QU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + + "cmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFi" + + "bGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0" + + "ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAt" + + "LWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + + "IHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVu" + + "ZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0" + + "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCJBxATT0YAAA9GAAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + + "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0" + + "aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMg" + + "d2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lk" + + "ZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2Zh" + + "aWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZs" + + "aWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRg" + + "IGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdz" + + "IGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3Mg" + + "ZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRy" + + "YW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + + "fAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vz" + + "bid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMg" + + "d2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVj" + + "dGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwt" + + "a3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6" + + "Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90" + + "IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3Rh" + + "bGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1h" + + "Z2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25m" + + "aWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92" + + "YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVS" + + "X1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1" + + "c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2" + + "YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVu" + + "ZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwg" + + "aXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFz" + + "cyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Ig" + + "c3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3Nl" + + "ZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDog" + + "dGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0" + + "YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tz" + + "IGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2Ug" + + "dGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVj" + + "a3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVs" + + "dGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFu" + + "ZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdh" + + "dGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlz" + + "c2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdh" + + "eS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFj" + + "ZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9y" + + "YWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhl" + + "IHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBz" + + "YyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1" + + "YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFs" + + "LnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0Zf" + + "U1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXIt" + + "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxl" + + "YCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BV" + + "OiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Ig" + + "bm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2Vu" + + "dGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9y" + + "Lmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6" + + "IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "OiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUg" + + "bmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNv" + + "bmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5z" + + "aWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUg" + + "cm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0" + + "YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291" + + "cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhl" + + "IG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5h" + + "bWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJu" + + "aW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmlu" + + "YWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93" + + "LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3Rh" + + "bGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVh" + + "c2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRl" + + "LCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1" + + "bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBv" + + "ciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxu" + + "cz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3Rh" + + "bGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2Fy" + + "bmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVs" + + "ZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywg" + + "YXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9s" + + "dW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3Qg" + + "LS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1z" + + "aG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0" + + "YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0" + + "YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGlu" + + "c3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQg" + + "YGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5" + + "LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVS" + + "PXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkg" + + "VGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + + "IGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMg" + + "YmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0" + + "ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3Vu" + + "ZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0" + + "aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBh" + + "bmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQg" + + "b3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25t" + + "ZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdo" + + "aWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVt" + + "YCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwg" + + "YW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8" + + "IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0" + + "b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFu" + + "ZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9y" + + "IGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJl" + + "amVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMp" + + "IGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxh" + + "bmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwK" + + "fCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8" + + "IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNm" + + "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZv" + + "a2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + + "fAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAg" + + "fCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVm" + + "YXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJh" + + "LXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5j" + + "dGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0" + + "aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5I" + + "MTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIg" + + "LyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJf" + + "UkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9u" + + "LWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxt" + + "ZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBi" + + "ZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8" + + "IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZj" + + "YS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwg" + + "SW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9j" + + "YWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMg" + + "PGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNl" + + "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNr" + + "T2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8" + + "IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJl" + + "Z2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUg" + + "ZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0" + + "ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + + "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vz" + + "bid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBg" + + "bnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBw" + + "b2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlh" + + "bC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2Qg" + + "LW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8Cnwg" + + "RnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVh" + + "bSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNh" + + "bGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJu" + + "ZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5" + + "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0" + + "ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5h" + + "bWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkg" + + "YWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdp" + + "c3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwg" + + "RXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVn" + + "aXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBU" + + "NU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVk" + + "IGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBr" + + "dWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFw" + + "cGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + + "AAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEA" + + "ps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjog" + + "Pi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBh" + + "bmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVl" + + "cyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMg" + + "b3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBu" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBj" + + "b21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwg" + + "Q0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1h" + + "bmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2Fs" + + "IGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93" + + "IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVs" + + "bWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBr" + + "dWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxu" + + "dmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6" + + "IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFu" + + "ZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwg" + + "cHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRh" + + "ZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNv" + + "cmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252" + + "Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBj" + + "b21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxs" + + "LXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZp" + + "bGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMg" + + "TlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9y" + + "IG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBi" + + "dW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBn" + + "cmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + + "Y2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxl" + + "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25U" + + "eXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hl" + + "bG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1" + + "aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBw" + + "YXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZl" + + "cnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBi" + + "YXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1z" + + "dGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRy" + + "b2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + + "az4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1" + + "dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3Rv" + + "cnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdD" + + "OgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9u" + + "dmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRv" + + "d25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpg" + + "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5l" + + "IGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBh" + + "cmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0" + + "b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmls" + + "ZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBt" + + "b2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBs" + + "aXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24g" + + "ICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3Rlcgpg" + + "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFs" + + "LnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25t" + + "ZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3Ig" + + "RUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + + "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgoj" + + "IyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50" + + "cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJv" + + "bm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aApl" + + "bnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNv" + + "bnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBj" + + "b25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxl" + + "bnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRl" + + "biBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2Up" + + "CmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2gg" + + "c3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVj" + + "dG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFy" + + "dCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQg" + + "aWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJp" + + "ZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVz" + + "OmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmct" + + "aGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRl" + + "IG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJl" + + "Z2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + + "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + + "ZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJl" + + "Z2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+" + + "Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + + "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNy" + + "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + + "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + + "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVz" + + "aW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSBy" + + "ZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdl" + + "LXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCBy" + + "ZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFy" + + "ZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1" + + "bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhl" + + "bnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUg" + + "cmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + + "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + + "JE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24g" + + "PHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3" + + "b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+" + + "IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBl" + + "ciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3Bh" + + "biBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxs" + + "Cj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdp" + + "c3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVu" + + "dCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBm" + + "aXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAg" + + "KG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkp" + + "LiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0" + + "aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVm" + + "b3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNz" + + "d29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5n" + + "Cj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xl" + + "IHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29t" + + "bWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + + "IGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdp" + + "c3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBp" + + "bWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUg" + + "b3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5" + + "KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFi" + + "b3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88" + + "ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVn" + + "aXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxl" + + "LmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAg" + + "ICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFs" + + "c28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdp" + + "c3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+" + + "IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28g" + + "Y29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBp" + + "bWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBT" + + "b21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6" + + "Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNv" + + "bWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwu" + + "aGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9p" + + "bnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6" + + "Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAs" + + "IHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88" + + "bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBn" + + "bG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUu" + + "IFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21h" + + "dGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwg" + + "dGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVl" + + "ZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBj" + + "cmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5p" + + "bWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJl" + + "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3Jl" + + "ZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdl" + + "IGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRl" + + "bnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJl" + + "Z2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhl" + + "IGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9t" + + "YWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMg" + + "c3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5" + + "IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToK" + + "CmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1u" + + "YW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + + "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVz" + + "cyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29u" + + "ZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBm" + + "b3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZv" + + "ciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1" + + "ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdB" + + "VEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1" + + "Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29y" + + "ZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBr" + + "ZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xp" + + "ZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMu" + + "bWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "di1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAK" + + "Cj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUg" + + "c2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1" + + "dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5k" + + "cmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYg" + + "eW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ug" + + "cm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jh" + + "c2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRp" + + "Y2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2" + + "YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQg" + + "cGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQ" + + "aGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0t" + + "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVu" + + "Y2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxl" + + "YXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJv" + + "eHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9u" + + "YWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + + "cyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwg" + + "R2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJp" + + "bGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9u" + + "aXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + + "IC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkg" + + "R2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3Vz" + + "dG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBz" + + "dGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBv" + + "bmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRk" + + "b24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZh" + + "bml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBz" + + "a2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5j" + + "bHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5h" + + "YmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25z" + + "OgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7" + + "fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRo" + + "ZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1z" + + "cGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdh" + + "eS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFk" + + "IG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBz" + + "dXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVj" + + "b3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHkt" + + "Z2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRl" + + "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYt" + + "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAK" + + "ClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFi" + + "bGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVy" + + "bmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + + "cmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdh" + + "dGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkg" + + "Zm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBv" + + "ciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0" + + "ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBp" + + "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNh" + + "YmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0" + + "IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2th" + + "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0" + + "ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBj" + + "dXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMg" + + "aW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1" + + "cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVm" + + "ZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBj" + + "b21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0" + + "YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3Nl" + + "IGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZs" + + "b3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQK" + + "ICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUg" + + "ZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + + "aW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + + "IGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21w" + + "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmlj" + + "YXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2" + + "ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVh" + + "cmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + + "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRv" + + "d24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJv" + + "bC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBv" + + "cGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBp" + + "bnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2" + + "aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVy" + + "LXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3" + + "aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + + "YWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBu" + + "YW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + + "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11" + + "c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0" + + "cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBo" + + "ZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJv" + + "bC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5h" + + "bC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRN" + + "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGlu" + + "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRh" + + "dGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUg" + + "dGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVy" + + "aWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1h" + + "dGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + + "LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJh" + + "c2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFj" + + "ZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBg" + + "YGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZj" + + "ZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJp" + + "ZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpX" + + "b3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAo" + + "ZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBn" + + "bG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVl" + + "KQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRk" + + "IGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1" + + "ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBz" + + "dGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAg" + + "Y29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3Rl" + + "bQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBs" + + "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + + "fX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + + "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5" + + "Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAg" + + "bWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNl" + + "cyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJl" + + "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBn" + + "bG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5k" + + "IGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAg" + + "IyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3Rp" + + "bmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUK" + + "Zm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0" + + "IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2Vj" + + "cmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwg" + + "U2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2Vy" + + "dmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2Ug" + + "YXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNh" + + "cnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2Vy" + + "LXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZh" + + "bHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJ" + + "X1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBP" + + "cGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAg" + + "KGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29u" + + "YCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5" + + "PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291" + + "bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2Nr" + + "ZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIK" + + "PiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFz" + + "ICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMg" + + "YXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtl" + + "cyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxk" + + "IG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBi" + + "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVz" + + "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZp" + + "Z2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24g" + + "Y3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFt" + + "ZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtl" + + "cidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQw" + + "M2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tz" + + "IGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFu" + + "ZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVk" + + "Cj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBB" + + "VVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEp" + + "Cj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxs" + + "LXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVu" + + "YWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVs" + + "bC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNm" + + "LWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUg" + + "KG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVz" + + "ZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUg" + + "aW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5" + + "LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUg" + + "c2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQg" + + "a2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBj" + + "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBv" + + "bmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21t" + + "ZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21h" + + "dGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBu" + + "YW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXIt" + + "Y2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBg" + + "YGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8v" + + "a3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwg" + + "a3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMg" + + "Mi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tF" + + "WT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + + "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + + "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + + "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + + "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + + "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRv" + + "bmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1m" + + "IGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRh" + + "dGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRz" + + "OiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + + "UHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAK" + + "Ck5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUu" + + "Zy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFN" + + "TCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + + "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMj" + + "IyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRl" + + "ICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3Rs" + + "IGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQg" + + "ZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVz" + + "ZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAg" + + "KyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hl" + + "Y2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0" + + "OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3Bl" + + "bkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5p" + + "dDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + + "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + + "dHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkg" + + "aW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBv" + + "cGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9u" + + "IG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlv" + + "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNl" + + "cnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5j" + + "ZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNr" + + "IiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNl" + + "cyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBi" + + "bG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2Ag" + + "Y29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRf" + + "Q0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGls" + + "bCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNz" + + "d29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFT" + + "U1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8" + + "CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2Ug" + + "Y2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2Ug" + + "fAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVk" + + "IHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFn" + + "YWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRp" + + "YWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + + "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0" + + "dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3Qt" + + "aW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQs" + + "IG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUt" + + "c3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkg" + + "YW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJh" + + "bl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0" + + "byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBh" + + "dGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhl" + + "IHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2lu" + + "ZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5v" + + "dGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiBy" + + "ZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNl" + + "bWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNw" + + "YDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3Qt" + + "MWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBl" + + "bnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRl" + + "ZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRo" + + "ZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBu" + + "dmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBv" + + "biBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQg" + + "eW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJl" + + "LXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApl" + + "dmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBg" + + "NDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRo" + + "ZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBg" + + "YmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBc" + + "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklm" + + "IHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBh" + + "cGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9i" + + "IGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9j" + + "a3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFw" + + "aS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+" + + "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBq" + + "b2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2Fz" + + "IGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtl" + + "eGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0" + + "dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1w" + + "bGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1" + + "cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVm" + + "ZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1" + + "Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1j" + + "bGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBr" + + "ZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxz" + + "L2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVy" + + "c2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + + "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + + "J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8g" + + "dmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEu" + + "MS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4x" + + "MSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRp" + + "ZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZh" + + "bGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + + "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + + "aW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9u" + + "JyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1" + + "ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZl" + + "cmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4g" + + "bGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIg" + + "dmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQg" + + "dG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlv" + + "biI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tp" + + "cCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + + "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBh" + + "c2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxh" + + "dGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUg" + + "c3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQg" + + "ZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + + "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + + "ZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0" + + "byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + + "dCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcg" + + "c3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlz" + + "IGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAg" + + "ICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0Yg" + + "bmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAu" + + "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + + "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFt" + + "ZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSBy" + + "ZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNl" + + "cyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0" + + "ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFt" + + "ZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBv" + + "dGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFu" + + "ZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRz" + + "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVz" + + "b3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + + "IGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBz" + + "dHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + + "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + + "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90" + + "IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3Zp" + + "bmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxp" + + "dC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxh" + + "bmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0" + + "YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + + "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + + "dyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBh" + + "cmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBs" + + "dXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9z" + + "dCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBs" + + "YW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRo" + + "ZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + + "dGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGll" + + "ZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21w" + + "dXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + + "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + + "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmly" + + "b25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + + "IGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "aW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxs" + + "aW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2Vf" + + "aHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJs" + + "LCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNt" + + "c19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + + "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdp" + + "dGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtV" + + "QkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVS" + + "X05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAog" + + "ICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMt" + + "dXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMg" + + "bm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3Zl" + + "cnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFn" + + "ZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93" + + "IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1" + + "dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdp" + + "c3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWly" + + "ZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + + "YXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVj" + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFueSBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9uJyBhbmQgdmVyaWZpZWQgaXQgaXMg" + - "MS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1ZW50aWFsIG1vZGUpIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZlcmlmaWVkIGl0IGlzID49IDMuMTIi" + - "LAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4gbGlzdCcgYW5kIHZlcmlmaWVkIGhl" + - "bG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdrdWJl" + - "Y3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5" + - "IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQgdG8gaGVsbWZpbGUgc3luYyB1bnRp" + - "bCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcy" + - "LXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlvbiI6ICJRdWljaywganVzdCBydW4g" + - "aGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tpcCBhbGwgdGhlIGNoZWNrcyIsCiAg" + + "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + + "aGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2Vy" + + "bmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVs" + + "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBO" + + "R0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90" + + "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + + "IHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkg" + + "b25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmls" + + "ZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9z" + + "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + + "aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAo" + + "aGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwp" + + "IGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRo" + + "ZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBi" + + "dW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEg" + + "bWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVk" + + "IGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywg" + + "Z2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBm" + + "b3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5j" + + "IiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9j" + + "YXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAg" + + "ICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3Jt" + + "IGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBt" + + "eSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAg" + "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBhc2tpbmcgdG8gc2tpcCBjaGVja3Ms" + - "IHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxhdGUgdG8gcHJldmlldyByZW5kZXJl" + - "ZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUgc3luYy4gSXQgZXhwbGFpbmVkIHdo" + - "eSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQgZGlkIG5vdCBibGluZGx5IGV4ZWN1" + - "dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSB0ZW1wbGF0ZScgb3Ig" + - "J2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0byBwcmV2aWV3IG1hbmlmZXN0cyBi" + - "ZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBibGluZGx5IHJ1biAnaGVsbWZp" + - "bGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcgc3RlcCIsCiAgICAgICJUaGUgYWdl" + - "bnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBldmVuIHdoZW4g" + - "YXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNS1kcnlydW4tYmVm" + - "b3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0YgbmFtZXNwYWNlcyBhcmUgc3R1Y2sg" + - "aW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAuIiwKICAgICJleHBlY3RlZF9za2ls" + - "bCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6" + - "ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFtZXNwYWNlcyB3ZXJlIGNhdXNlZCBi" + - "eSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSByZXNvdXJjZXMuIEl0IHJlbW92ZWQg" + - "ZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcyBmaXJzdCwgdGhlbiBjbGVhcmVk" + - "IG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0ZSB0aGUgc3R1Y2sgbmFtZXNwYWNl" + - "cy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFtZXNwYWNlcyAobnZjYS1vcGVyYXRv" + - "ciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBvdGhlciBjbHVzdGVyIHJlc291cmNl" + - "cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhl" + - "IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFj" + - "dGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFuZCB1c2VkIHRoZSBjb21wdXRlLXBs" + - "YW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRzIiwKICAgICAgIlRoZSBhZ2VudCB1" + - "c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVzb3VyY2VzIHRvIHJlbW92ZSB0aGVp" + - "ciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgcmVwbGFjZSAtLXJh" + - "dyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBzdHVjayBuYW1lc3BhY2VzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFuYWdlZCBuYW1lc3BhY2VzIChudmNh" + - "LW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90IHRvdWNoIG90aGVyIGNsdXN0ZXIg" + - "cmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IGp1bXAgZGlyZWN0bHkgdG8gbmFt" + - "ZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3ZpbmcgZmluYWxpemVycyIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxpdC13b3JrZmxvdyIsCiAgICAicXVl" + - "c3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxhbmUgYW5kIGEgc2VwYXJhdGUgRUtT" + - "IGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0YWNrcy4gVGhlIGNvbXB1dGUgY2x1" + - "c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAogICAgImV4cGVjdGVkX3NraWxsIjog" + - "Im52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRo" + - "ZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBpbmRlcGVuZGVudCBmcm9tIHRo" + - "ZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFu" + - "ZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBsdXMgYSBiYXJlLUdhdGV3YXkgQ0xJ" + - "IGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9zdCBmaWVsZHMsIGluc3RhbGxlZCB0" + - "aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBsYW5lIE1ha2VmaWxlIHJlZ2lzdGVy" + - "LWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRoZSBjb21wdXRlIGt1YmVjb25maWcs" + - "IHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwgdGFyZ2V0IHdpdGggdGhlIHNhbWUg" + - "ZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGllZCBvbiByZWdpc3RyYXRpb24gdG8g" + - "ZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQuIiwKICAgICJl" + + "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwg" + + "Y3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + + "YXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1v" + + "bml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBv" + + "bmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNv" + + "bXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFu" + + "ZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + + "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + + "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0" + + "b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAg" + + "ICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAg" + + "IlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5" + + "c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVt" + + "LCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBs" + + "YXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + + "SEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRo" + + "ZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2ll" + + "cywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0" + + "IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUg" + + "YWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + + "IHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUg" + + "YWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3" + + "aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + + "My1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRv" + + "IGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBh" + + "IHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxh" + + "Zy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + + "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250" + + "cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFu" + + "ZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0" + + "YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + + "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhl" + + "IGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9m" + + "aWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQg" + + "ZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhw" + + "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + + "bmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + + "YW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + + "bHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + + "bHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29u" + + "dGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + + "IHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFu" + + "ZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQg" + + "aW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAog" + + "ICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2lu" + + "dCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24i" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNl" + + "cyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxl" + + "ZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + + "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + + "VGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0" + + "aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUt" + + "aW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJs" + + "b2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQg" + + "dGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + + "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + + "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBi" + + "YXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + + "JyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRv" + + "IGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBh" + + "Z2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0" + + "aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJU" + + "aGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2" + + "YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAg" + + "ICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRl" + + "IGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAi" + + "aWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJE" + + "ZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQg" + + "T3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVz" + + "ZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMg" + + "cmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVz" + + "cGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + + "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + + "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + + "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVz" + + "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNl" + + "cyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAi" + + "VGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBv" + + "dGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1p" + + "bWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4g" + + "SW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3Nr" + + "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + + "IjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25v" + + "c3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBw" + + "b2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9u" + + "IHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1" + + "ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVs" + + "bFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9i" + + "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAg" + + "IlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVs" + + "bEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3Jl" + + "dHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBj" + + "aGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFj" + + "Y291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHBy" + + "b3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90" + + "ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEg" + + "cmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5l" + + "IHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJl" + + "Z2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25m" + + "aWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9s" + + "bGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBl" + + "bnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhl" + + "IGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJv" + + "dXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQg" + + "Y29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1" + + "ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBO" + + "QVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxs" + + "IHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1h" + + "bmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rlcjsg" + + "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJl" + "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmlyb25tZW50cy88ZW52Pi55YW1sIGZp" + - "bGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGFuZCBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQgaW5zdGFsbGVkIHRoZSBjb250cm9s" + - "IHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxsaW5nIHRoZSBjb21wdXRlIHBsYW5l" + - "IiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2VfaHR0cF91cmwsIGludm9rZV91cmws" + - "IGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJsLCBpY21zX3VybCwgYXBpX2hvc3Qs" + - "IGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNtc19ob3N0IGZvciB0aGUgYmFyZSBH" + - "YXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtlIC1DIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdpdGggQ0xVU1RFUl9OQU1FLCBOQ0Ff" + - "SUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRl" + - "LnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVSX05BTUUsIEhFTE1GSUxFX0VOViwg" + - "YW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHN0YXRl" + - "ZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMtdXJsLCBjb25maWcgaWNtc19ob3N0" + - "IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMgbm8gLS1pY21zLWhvc3QgTWFrZSBv" + - "ciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgT0lEQyBhbmQgSldLUyBmcm9t" + - "IHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcmVxdWlyZSBh" + - "IGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93IGFuZCBkaWQgbm90IG1peCBpbiBD" + - "TEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNy1ib3RoLWRv" + - "Y2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1dGhlbnRpY2F0ZSB0byBOR0MgZm9y" + - "IE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdpc3RyeSBsb2dpbiBmb3IgbnZjci5p" + - "by4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1" + - "c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cywgc28gZG9ja2VyIGxvZ2lu" + - "IGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdkb2NrZXIg" + - "bG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2VybmFtZSBhbmQgTkdDX0FQSV9LRVkg" + - "cGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSByZWdpc3RyeSBsb2dpbiBudmNy" + - "LmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIs" + - "CiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQgYmVjYXVz" + - "ZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNoYXJ0cyIsCiAg" + - "ICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkgb25lIG9mIHRoZSB0d28gYXV0aGVu" + - "dGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzktbWlzc2luZy1i" + - "dW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmlsZSBzeW5jIGZvciBOVkNGIGluIG15" + - "IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgYXR0ZW1w" + - "dGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25t" + - "ZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIGFuZCB3aGVuIGZpbGVzIHdlcmUg" + - "bm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3Ig" + - "bG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUuIEl0IGRpZCBub3QgYXR0" + - "ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEgbWlzc2luZyBidW5kbGUuIiwKICAg" + - "ICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNl" + - "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAog" + - "ICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVkIGJ1bmRsZSBzdHJ1Y3R1cmUgKGhl" + - "bG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywgZ2xvYmFsLnlhbWwuZ290bXBsKSIs" + - "CiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBmb3VuZCwgdGhlIGFnZW50IHN0b3Bw" + - "ZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5jIiwKICAgICAgIlRoZSBhZ2VudCBp" + - "bnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFu" + - "YWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzEtY2xlYW4taW5z" + - "dGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3JtIGEgY2xlYW4gaW5zdGFsbGF0aW9u" + - "IG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBteSBBV1MgRUtTIGNsdXN0ZXIuIE15" + - "IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAi" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhl" + - "IGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gZmlyc3Q6IHZh" + - "bGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwgY3JlYXRlZCBjb250cm9sLXBsYW5l" + - "IG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwgYXV0aGVudGljYXRlZCB0aGUgcmVn" + - "aXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1vbml0b3JlZCB0aGUgZm91ciBjb250" + - "cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBvbmUgZG9jdW1lbnRlZCBoYW5kb2Zm" + - "IGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNvbXB1dGUgcGxhbmUgYXMgYSBzZXBh" + - "cmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFuZCBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "d3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBh" + - "Y3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0b29sIHZlcnNpb25zIChoZWxtZmls" + - "ZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQg" + - "dGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAgIlRoZSBhZ2VudCBjcmVhdGVkIGNv" + - "bnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5c3RlbSwgbmF0cy1zeXN0ZW0sIG52" + - "Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVtLCBjZXJ0LW1hbmFnZXIpIHdpdGhv" + - "dXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCByYW4g" + - "J0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBsYXRlJyB0byBwcmV2aWV3IGJlZm9y" + - "ZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcg" + - "aGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhl" + - "IDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2llcywgc2VydmljZXMsIGluZ3Jlc3Ms" + - "IG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0IHRpbWVzIiwKICAgICAgIkFmdGVy" + - "IHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUgYWdlbnQgcmVnaXN0ZXJlZCBhbmQg" + - "aW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lIHN0YWNrIHVzaW5nIGV4YWN0bHkg" + - "b25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBtaXggYSBD" + - "TEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3aXRoIHRoZSBIZWxtZmlsZSB2YWx1" + - "ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMy1jbGktcHJvZmlsZS13b3JrZmxv" + - "dyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRvIGluc3RhbGwgbXkgY29udHJvbCBw" + - "bGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1" + - "c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxhZy4iLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250cm9sLXBsYW5lIGluc3RhbGwgYW5k" + - "IHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwuIEl0IHRo" + - "ZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0YWxsIGNvbW1hbmRzLCBlYWNoIGlu" + - "Y2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhlIGNvbXB1dGUtcGxhbmUgc3ViY29t" + - "bWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9maWxlIGFuZCBwcm9kdWNlZCB0aGUg" + - "dmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQgZGlkIG5vdCBzd2l0Y2ggdG8gdGhl" + - "IEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCByYW4gbnZjZi1j" + - "bGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUgYW5kIHZlcmlmaWVkIGRlcGxv" + - "eS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBleGlz" + - "dHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb25maWcsIC0tY29u" + - "dHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxh" + - "aW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5jbHVkZWQgLS1jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29udGV4dCwgLS1yZWdpb24sIGFuZCAt" + - "LW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5kIHJlcGVhdGVkIC0tY29uZmlnLCAt" + - "LWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAt" + - "LXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQgaW5jbHVkZWQgLS12YWx1ZXMsIC0t" + - "a3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAogICAgICAiVGhlIGFnZW50IGtlcHQg" + - "dGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2ludCBzb3VyY2UgYW5kIGRpZCBub3Qg" + - "bWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24iCiAgICBdCiAgfSwKICB7CiAgICAi" + - "aWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNlcyIsCiAgICAicXVlc3Rpb24iOiAi" + - "Q2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxlZC4gSW5jcmVhc2UgbWVtb3J5IGxp" + - "bWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQt" + - "aW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNhcHR1cmVkIHRo" + - "ZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0aGVuIG1vZGlmaWVkIHRoZSBjYXNz" + - "YW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUtaW5jbHVkaW5nIGdsb2JhbC55YW1s" + - "LmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJsb2NrLiBJdCB3YXJuZWQgYWJvdXQg" + - "dGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQgdGhlIGRpZmYgYmVmb3JlIGFwcGx5" + - "aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0" + - "aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcg" + - "YWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBiYXNlbGluZSB3aXRoICdoZWxtZmls" + - "ZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlJyIsCiAgICAgICJUaGUgYWdlbnQg" + - "bW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRvIGluY2x1ZGUgcmVzb3VyY2UgbGlt" + - "aXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBhZ2VudCByZS1pbmNsdWRlZCBnbG9i" + - "YWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0aGUgdmFsdWVzOiBibG9jayAobm90" + - "IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJUaGUgYWdlbnQgd2FybmVkIGFib3V0" + - "IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2YWx1ZXM6IHJlcGxhY2VzIHRoZSB0" + - "ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAgICAgIlRoZSBhZ2VudCBwcmV2aWV3" + - "ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlIGFuZCBkaWZmIGJlZm9yZSBhcHBs" + - "eWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzYtc2VsZWN0aXZlLXN5" + - "bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJEZXBsb3kgb25seSB0aGUgTlZDRiBk" + - "ZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQgT3BlbkJhbyAtLSBmb3IgdGVzdGlu" + - "ZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "IiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVzZWQgdGhlIGhlbG1maWxlIHNlbGVj" + - "dG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgcmVsZWFzZSBncm91cCwgdGhlbiB2" + - "ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVzcGFjZXMuIiwKICAgICJleHBlY3Rl" + - "ZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhl" + - "IGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + - "ZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVzIiwKICAgICAgIlRoZSBhZ2VudCB2" + - "ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNlcyAobmF0cy1zeXN0ZW0sIGNhc3Nh" + - "bmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAiVGhlIGFnZW50IHByb3ZpZGVkIHRo" + - "ZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBvdGhlciByZWxlYXNlIGdyb3VwcyIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1pbWFnZXB1bGxiYWNrb2ZmIiwKICAg" + - "ICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4gSW1hZ2VQdWxsQmFja09mZiB3aXRo" + - "IDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCByZWFkIHRo" + - "ZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25vc3RpYyBjb21tYW5kcyB0byBpZGVu" + - "dGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBwb2QsIGNoZWNrZWQgZm9yIHB1bGwg" + - "c2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9uIHRoZSBwb2Qgc3BlYyBhbmQgc2Vy" + - "dmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1ZSAobWlzc2luZyBzZWNyZXQsIHdy" + - "b25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVsbFNlY3JldHMpIGFuZCBwcm92aWRl" + - "ZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRo" + - "ZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQg" + - "YW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVj" + - "dGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVsbEJhY2tPZmYgZXZlbnRzIiwKICAg" + - "ICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3JldHMgaW4gdGhlIGNhc3NhbmRyYS1z" + - "eXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGltYWdlUHVsbFNlY3Jl" + - "dHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFjY291bnQiLAogICAgICAiVGhlIGFn" + - "ZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHByb3ZpZGVkIGEgc3BlY2lmaWMgZml4" + - "IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90ZS1la3Mtcm91dGluZy1hbmQtc2Vj" + - "cmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEgcmVtb3RlIEVLUyBjb21wdXRlIGNs" + - "dXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5lIHRocm91Z2ggaXRzIEVudm95IEdh" + - "dGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJlZ2lzdHJ5IHB1bGwgc2VjcmV0cy4i" + - "LAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIs" + - "CiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBjb250cm9sIHBs" + - "YW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9sbGVyIGluIGVudm95LWdhdGV3YXkt" + - "c3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBlbnZveS1nYXRld2F5LCBzZXQgYWxs" + - "IHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhlIGdycGMtcHJveHkgbG9jYWwgb3Zl" + - "cnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJvdXRlcyBwbHVzIE5BVFMsIGFuZCBl" + - "bmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQgY29uZmlndXJlZCB0aGUgYmFyZS1H" + - "YXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1ZGluZyBpY21zX2hvc3QsIHBsdXMg" + - "dGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIGV4dGVybmFsIFVSTHMgYW5k" + - "IGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxsIHNlY3JldCBpbiBhbGwgY29udHJv" + - "bC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1hbmFnZXIsIGJ1dCBvbmx5IGluIG52" + - "Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcjsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRv" + - "ciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsK" + - "ICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24g" + - "U0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHNldCBpbmdy" + - "ZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0byBlbnZveS1nYXRld2F5LXN5c3Rl" + - "bSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3JwYywgYW5kIG5hdHMgR2F0ZXdheSBy" + - "ZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBuYW1lc3BhY2UgZW52b3ktZ2F0ZXdh" + - "eSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3JrZXJFbmRwb2ludHMubnZjZlNlcnZp" + - "Y2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNTZXJ2aWNlVVJMLCBudmN0U2Vydmlj" + - "ZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2NhdGlvblNlcnZpY2VVUkwiLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNTZXJ2aWNlVVJMIHRvIHRoZSBjb250" + - "cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAogICAgICAiVGhlIGFnZW50IGVuYWJs" + - "ZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFw" + - "aS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRhc2tzIGhvc3RuYW1lcyIsCiAgICAg" + - "ICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5nYXRld2F5QXBpLnJvdXRlcy5uYXRz" + - "LmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IG9wZW5iYW8ubWlncmF0aW9u" + - "cy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + - "aWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVsZHMsIGluY2x1ZGlu" + - "ZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgY29t" + - "cHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZpY2VIb3N0SGVhZGVyT3ZlcnJpZGUs" + - "IHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlLCBuYXRzVVJM" + - "LCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUgY29udHJvbC1wbGFuZSBwdWxsLXNl" + - "Y3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1hbmFnZXIiLAogICAgICAiVGhlIGNv" + - "bXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkgaW4gbnZjYS1vcGVyYXRvciBhbmQg" + - "bWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0byBudmNhLXN5c3RlbSIKICAgIF0K" + - "ICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRvd24iLAogICAgInF1ZXN0aW9uIjog" + - "IlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGRlcGxv" + - "eW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxlIHZhbHVlcyBhbmQgQ0xJIHByb2Zp" + - "bGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgSGVsbWZpbGUgZmxvdyBkZXN0" + - "cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBvZiBldmVyeSBjb21wdXRlIGNsdXN0" + - "ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxhbmUgYW5kIHBhc3NlZCBib3RoIGNv" + - "bnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3JlIGVpdGhlciBoYW5kb2ZmIGNvdWxk" + - "IGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVhcmRvd24gZmxvd3Mgd2FybmVkIHRo" + - "YXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxl" + - "YXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2UgZm9yIGFu" + - "IGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBpZiB0cnVlLCBhbmQgdmVyaWZpZWQg" + - "bWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQg" + - "cmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBUaGV5" + - "IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQgYW5kIGRpZCBub3QgZGVsZXRlIGl0" + - "IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4cGxpY2l0IGNvbmZpcm1hdGlvbi4g" + - "VGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQgcmVnaXN0cmF0aW9uIHZhbHVlcywg" + - "dXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lz" + - "dHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1" + - "ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVt" + - "b3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24gd2hlbiB0aGUgdGFyZ2V0IHdhcyB0" + - "aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4gcHJldmlld2VkIGFuZCByYW4gZG93" + - "biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCByZW1vdmluZyB0aGUgY29udHJvbCBw" + - "bGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlvbiB3YXMgZ29uZS4iLAogICAgImV4" + - "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAg" + - "ICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gdGhlIGNv" + - "bXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQgd2l0aCBpdHMgY29tcHV0ZSBrdWJl" + - "Y29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwgdGhlIEhlbG1maWxlIGZsb3cgcmFu" + - "IGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBuY2FJRCBiZWZvcmUgY29udHJvbC1w" + - "bGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVz" + - "dHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBu" + - "YW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2Us" + - "IHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0" + - "ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBpbnRl" + - "bmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBhYm9ydGluZyBvbiBtaXNzaW5nIG9y" + - "IG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0ZWFyZG93biBmbG93cyBwcmVzZXJ2" + - "ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxl" + - "dGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZXhwbGljaXQgY29uZmlybWF0" + - "aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBjb250cm9sLXBsYW5lIE1ha2VmaWxl" + - "IGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtVQkVDT05GSUdfRklMRSIsCiAgICAg" + - "ICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + - "cy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAgICAgICJCZWZvcmUgcmVhbCBkb3du" + - "LCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQgdG8gaW5z" + - "cGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIgcGxhbi1v" + - "bmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlvbmFsIGNv" + - "bnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhlIHRhcmdldCB3YXMgdGhlIGxhc3Qg" + - "cmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZpcm1hdGlvbiIsCiAgICAg" + - "ICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBzdGFjayBwYXRocywgLS1lbnYsIC0t" + - "cGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJsIGZvciBkb3duIC0tcGxhbi1vbmx5" + - "IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IGRvd24gdW5yZWdp" + - "c3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92ZXMgdGhlIGNvbnRyb2wgcGxhbmUg" + - "b25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIKICAgIF0KICB9LAogIHsKICAgICJp" + - "ZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1ZXN0aW9uIjogIkkgYWRkZWQgYSB2" + - "YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdzIGJlaW5nIHNpbGVudGx5IGlnbm9y" + - "ZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBOVkNGPyIsCiAgICAiZXhwZWN0ZWRf" + - "c2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1" + - "dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVzIHByZWNlZGVuY2UgY2hhaW4gKGJh" + - "c2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1wbCwgc2VjcmV0cywgaW5saW5lIHZh" + - "bHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5nb3RtcGwgb25seSBwYXNzZXMgdGhy" + - "b3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRoYXQgYXJiaXRyYXJ5IGNoYXJ0IHZh" + - "bHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMgYmxvY2tzLiIsCiAgICAiZXhwZWN0" + - "ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRlbmNlIGNoYWluOiBiYXNlLnlhbWwg" + - "LT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+IHNlY3JldHMgLT4gaW5saW5lIHZh" + - "bHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGF0IGdsb2JhbC55YW1sLmdvdG1w" + - "bCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMgKGNhc3NhbmRyYS5yZXBsaWNhQ291" + - "bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFnZSwgZXRjLikiLAogICAgICAiVGhl" + - "IGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgbXVzdCBiZSBzZXQg" + - "dmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwKICAgICAgIlRoZSBhZ2VudCBsaXN0" + - "ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3BhZ2F0ZWQgYW5kIGFyYml0cmFyeSBj" + - "aGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2YWx1ZXMgYmxvY2siCiAgICBdCiAg" + - "fSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVuY3Rpb25zIiwKICAgICJxdWVzdGlv" + - "biI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTogTExNIGZ1bmN0aW9ucyBvbiBhIHNl" + - "bGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLiBXaGF0IEhlbG1m" + - "aWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBkbyBJIG5lZWQ/IiwKICAg" + - "ICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAg" + - "Imdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0aGUgTExNIGFkZG9uIHdpdGggYWRk" + - "b25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSByZXBsaWNhcyBmb3IgdGhlIExMTSBB" + - "UEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBleHBsYWluZWQgdGhhdCB0aGUgcmVx" + - "dWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZp" + - "Z3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9uaWNhbCByZXF1ZXN0LXJvdXRlciBs" + - "b2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGluZyBtZXRob2RzLiBGb3IgdGhlIGlz" + - "b2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQgb24gdGhlIHNlbGYtbWFuYWdlZCBz" + - "dGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5LXRvLUFQSSBhdXRoZW50aWNhdGlv" + - "biBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdlQ29uZmlnLndvcmtsb2FkLnN0YXJn" + - "YXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29ya2VyIHRyYW5zcG9ydCwgd2l0aCBh" + - "IHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBpcyBub3QgZm9yIHByb2R1" + - "Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgc2FtZSBoYW5k" + - "b2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBsb3llZCBleGlzdGluZyBMTE0gZnVu" + - "Y3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3ltZW50cywgcm91dGUsIGFuZCBsbG0t" + - "d29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRoZSBvYnNvbGV0ZSBsbG0uZW5hYmxl" + - "ZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdheSBhbmQgcmVxdWVzdFJvdXRlciBy" + - "ZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlciIsCiAgICAg" + - "ICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qgcm91dGVyIGRlZmF1bHRzIHRvIHBv" + - "d2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwgcmVxdWVzdC1yb3V0ZXIgbG9hZC1i" + - "YWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAogICAgICAiVGhlIGFnZW50IGV4cGxh" + - "aW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBk" + - "ZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2Vj" + - "dXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJhbnNwb3J0LCBhbmQgd2FybmVkIGFn" + - "YWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4gcHJvZHVjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBIZWxtZmlsZSBlbnZpcm9ubWVudCwg" + - "cmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgaGFuZG9m" + - "ZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMiLAog" + - "ICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0ZXdheSwgbGxtLXJlcXVlc3Qtcm91" + - "dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0td29ya2VyIHNpZGVjYXIgaW5jbHVk" + - "aW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHOC1ORUctbm90" + - "LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBhIGxvY2FsIE5WQ0YgZGV2IGNsdXN0" + - "ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6IG51bGwsCiAg" + - "ICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhpcyBpcyBh" + - "IGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQgYmVsb25ncyB0byB0aGUgbnZjZi1z" + - "ZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + - "YXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNlIHRoZSBzZWxmLW1hbmFnZWQgaW5z" + - "dGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVkIGszZC1zcGVjaWZpYyBndWlkYW5j" + - "ZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + - "cmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWQiLAogICAgICAiVGhl" + - "IGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNlZCBwcm9kdWN0aW9uIGRlcGxveW1l" + - "bnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBwcm92aWRlZCBrM2Qtc3BlY2lmaWMg" + - "bG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJyZWQgdG8gdGhlIGFwcHJvcHJpYXRl" + - "IGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdValZKVgAASlYAAFBLAwQUAAgAAAAA" + - "ACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V4" + - "YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2VkIGV4YW1wbGVzIGJhc2VkIG9uIHJl" + - "YWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxlIDE6IE92ZXJyaWRlIENhc3NhbmRy" + - "YSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSByZXNvdXJjZSBsaW1pdHMgY2F1c2Ug" + - "T09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBgcDUuNDh4bGFyZ2VgKS4KClByb2Js" + - "ZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09NS2lsbGVkYC4KClNvbHV0aW9uOiBP" + - "dmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVhc2UgdmFsdWVzIGJsb2NrLgoKIyMj" + - "IFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVs" + - "bWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1iZWZv" + - "cmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9jYXNzLWJlZm9yZS55YW1sIHwgaGVh" + - "ZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUgdG8gaGVsbWZpbGUuZC8wMS1kZXBl" + - "bmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2YXRlLXZh" + - "bHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxl" + - "IHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjogMC44LjAK" + - "ICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5kcmEtc3lz" + - "dGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFtbC5nb3Rt" + - "cGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJTEVfRU5W" + - "IiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNlczoKICAg" + - "ICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVtb3J5OiA4" + - "MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAgICAgICAg" + - "ICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZlcmlmeSBhbmQgYXBwbHkKCmBgYGJh" + - "c2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + - "dGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZmIC90bXAvY2Fzcy1iZWZvcmUueWFt" + - "bCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJlc291cmNlcyBjaGFuZ2VkCkhFTE1G" + - "SUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBg" + - "CgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkgZmVhdHVyZSkgaXMgbm90IGF2YWls" + - "YWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBjaGFydC4gVXNlIGV4cGxpY2l0IGBy" + - "ZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUgMjogRGVwbG95IGZyb20gTkdDIFBy" + - "aXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRlcGxveSB0aGUgTlZDRiBzdGFjayBw" + - "dWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52Y3IuaW9gKSBpbnN0ZWFkIG9mIGEg" + - "bWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwgc2VjcmV0cy4KCiMjIyBTdGVwIDE6" + - "IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5YW1sCiMgZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2VzOgogICAgICByZWdpc3RyeTogbnZj" + - "ci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgogIGltYWdlOgogICAgcmVnaXN0cnk6" + - "IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNmCmBgYAoKIyMjIFN0ZXAgMjogQXV0" + - "aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFydCBwdWxscykKCmBgYGJhc2gKZG9j" + - "a2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZIgpoZWxt" + - "IHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19BUElfS0VZ" + - "IgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2VzIGFuZCBwdWxsIHNlY3JldHMKCmBg" + - "YGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4g" + - "Y2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQt" + - "c3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + - "IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBh" + - "cGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVn" + - "aXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRv" + - "Y2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdD" + - "X0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQg" + - "LW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5" + - "IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFnZVB1bGxTZWNyZXRzIHRvIGhlbG1m" + - "aWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmljIGBpbWFnZVB1bGxTZWNyZXRzYCBr" + - "ZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNzYW5kcmEgaW4gYGhlbG1maWxlLmQv" + - "MDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlhbWwKLSBuYW1lOiBjYXNzYW5kcmEK" + - "ICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJsZWQKICBuYW1lc3Bh" + - "Y2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1ZXM6CiAgICAtIC4u" + - "L2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVk" + - "RW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNzYW5kcmE6CiAgICAg" + - "ICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBudmNy" + - "LWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZF0ocmVmZXJlbmNlcy9w" + - "dWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVyeSBjaGFydC4KClRoZXNlIGFyZSBj" + - "b250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlciwg" + - "Y3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVyYXRvcmA7IHRoZSBjaGFydCBhbmQg" + - "b3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAuIFNlZSBbU3BsaXQgQ29tcHV0ZS1Q" + - "bGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24u" + - "bWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxveQoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "c3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBmb3IgY2hhcnRzIHdp" + - "dGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEgKGRlcGVuZGVuY2llcykgY29tcGxl" + - "dGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQdWxsQmFja09mZmAuIFBhdGNoIGFu" + - "ZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQtc3lzdGVtIG52Y2YgZXNzOyBkbwog" + - "IGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8gY3VzdG9tLWNvbHVtbnM9IjptZXRh" + - "ZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAiJHNhIiBcCiAgICAgIC1wICd7Imlt" + - "YWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3JlZHMifV19JwogIGRvbmUKZG9uZQpr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBkZWxldGUgcG9kcyAtbiB2" + - "YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMgLW4gdmF1bHQtc3lzdGVtIFwKICAt" + - "LXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93ICJT" + - "dWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3IuaW8KYGBgCgotLS0KCiMjIEV4YW1w" + - "bGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpXaGVuIGEgZGVwbG95bWVudCBpcyBi" + - "cm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgojIyMgU3RlcCAxOiBEZXN0cm95IHRo" + - "ZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNm" + - "LWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwK" + - "ICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1r" + - "dWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBpcyBzdHVjayBvbiBmaW5hbGl6ZXJz" + - "LCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUgaW4KW2RlYnVnZ2luZy5tZF0ocmVm" + - "ZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNsZWFudXAtc3R1Y2stZmluYWxpemVy" + - "cykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21wdXRlIGNsdXN0ZXIKClJlYWQgYGNs" + - "dXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + - "bmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4KU2hv" + - "dyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIHRoZSBJQ01TIHJv" + - "dzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBc" + - "CiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAog" + - "IC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVwZWF0IHN0ZXBz" + - "IDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4KCiMjIyBTdGVwIDM6IERlc3Ryb3kg" + - "dGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1l" + - "c3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzCm5vdCBwcmVzZXJ2" + - "ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBkZXN0cm95LCBpZGVudGlmeSB3aGV0" + - "aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlv" + - "biwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJv" + - "cnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3" + - "aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeQptYXRjaGlu" + - "ZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlz" + - "bWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyIHZlcmlm" + - "eWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRp" + - "b247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBgYmFzaApLVUJFQ09ORklHPTxjb250" + - "cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdl" + - "ZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29u" + - "dHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90aCBrdWJlY29uZmlnIGZvcm1zIGJl" + - "Y2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51cCB1c2VzCmFtYmllbnQgYGt1YmVj" + - "dGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0" + - "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwKICBncmVwIC1FICcobnZjYXxudmNm" + - "LWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2YXVsdHxudmNm" + - "fGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMgc2hvdWxkIHJldHVybiBlbXB0eS4K" + - "YGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQgb3JkZXIKCkZvbGxvdyBbQ2xlYW4g" + - "SW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxsYXRpb24pLCB0aGVuIHJldHVybiB0" + - "byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0o" + - "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgotLS0KCiMjIEV4YW1w" + - "bGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2UKClRoZSBzZXBhcmF0" + - "ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgd2FzIHJlY3JlYXRl" + - "ZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAgMTogR2V0IHRoZSBuZXcgZW5kcG9p" + - "bnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxh" + - "bmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAtbiBlbnZveS1nYXRld2F5" + - "IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZhbHVlfScpCnRlc3QgLW4g" + - "IiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBkYXRlIEROUyBhbmQgZGlyZWN0IGFk" + - "ZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQg" + - "Q0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhlCkROUyByZWNvcmRzIGZvciByZW5k" + - "ZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48ZG9tYWluPmAgYW5kCmAqLmludm9j" + - "YXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4gRm9yIGEgdGVtcG9yYXJ5IGVudmly" + - "b25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZlZCByb3V0ZSBzdWZmaXggYW5kIGNv" + - "bm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0Y2hpbmcgYEhvc3RgIGhlYWRlci4K" + - "CkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3aXRoIGRpcmVjdCBHYXRld2F5IGFk" + - "ZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJlYXJpbmcgdmFsdWVzOiBjb250cm9s" + - "LXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRlLXBsYW5lCklDTVMsIFJlVmFsLCBh" + - "bmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtlZXAgdGhlaXIgZG9tYWluIGFuZCBI" + - "b3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxs" + - "YXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQgb3JpZ2luYWxseS4gU2VlCltTcGxp" + - "dCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWlu" + - "c3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNvbXBsZXRlIGNvbW1hbmRzLgoKIyMj" + - "IFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJhc2gKZGlnICtzaG9ydCAiYXBpLjxk" + - "b21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4iICJodHRwOi8vJEdBVEVXQVlfQURE" + - "Ui9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBn" + - "YXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBodHRwcm91dGVzIC1BCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCB0Y3Byb3V0ZXMgLUEKa3Vi" + - "ZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gcm9sbG91dCBzdGF0dXMgXAog" + - "IGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9wZXJhdG9yIC0tdGltZW91dD0xMG0K" + - "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gd2FpdCBcCiAgbnZjZmJh" + - "Y2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAtbiBudmNhLW9wZXJhdG9yIFwKICAt" + - "LWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9Jz1oZWFsdGh5IC0tdGltZW91dD0x" + - "MG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9ubHkgRGVwZW5kZW5jaWVzCgpVc2Vm" + - "dWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24gc2VydmljZSBjb25maWd1cmF0aW9u" + - "LgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2ll" + - "cyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBwb2RzIC1uIG5hdHMtc3lzdGVtCmt1" + - "YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQprdWJlY3RsIGdldCBwb2RzIC1uIHZh" + - "dWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lmaWMgcmVsZWFzZQpIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCmBgYAoKIyMj" + - "IFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJlbGVhc2VzIHwKfC0tLS0tLS0tLS18" + - "LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNpZXNgIHwgbmF0cywgY2Fzc2Fu" + - "ZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgYXBpLWtl" + - "eXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdycGMtcHJveHksIGVzcy1hcGksIG5v" + - "dGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJlcXVlc3Qtcm91dGVyIGFuZCBsbG0t" + - "YXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAsIG9wdGlvbmFsIHZhbml0eS1nYXRl" + - "d2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2" + - "ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCwgb3B0aW9uYWwgbnZjZi11aSBv" + - "bmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgYWRkb24gYW5kIGhhdmUgYGFk" + - "ZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLXJlcXVlc3Qtcm91dGVyYCB8" + - "IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + - "ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCB0aGUgTExNIEFQSSBn" + - "YXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT12YW5pdHktZ2F0ZXdheWAg" + - "fCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2Ug" + - "aW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10" + - "cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZDRiBVSSBvbmx5IHdoZW4gdGhlIHN0" + - "YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLm52Y2ZVaS5lbmFi" + - "bGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNzYCB8IGluZ3Jlc3MgKGdhdGV3YXkg" + - "cm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBpbmRpdmlkdWFsIHJlbGVhc2UgYnkg" + - "bmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBkb2VzIG5vdCBoYXZlIGEgcmVsZWFz" + - "ZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1" + - "ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABMAAkA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9jb21wdXRlLXBs" + - "YW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxs" + - "YXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRlIHBsYW5lIGFyZSBzZXBhcmF0ZSBz" + - "dGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmlyc3QsIHRoZW4gcmVnaXN0ZXIgYW5k" + - "IGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29zZSBvbmUgaGFuZG9mZgpiZWxvdyBh" + - "bmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERvIG5vdCBjb21iaW5lIGEgQ0xJLWdl" + - "bmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LgoKIyMgQ2hvb3Nl" + - "IGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRyb2wtcGxhbmUgZW5kcG9pbnRzIHwg" + - "UmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t" + - "LS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBIZWxtZmlsZSB2YWx1ZXMgfCBT" + - "ZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVz" + - "IHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rl" + - "cj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJvZmlsZSB8IENMSS1nZW5lcmF0ZWQg" + - "YGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFt" + - "bGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQv" + - "PGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpUaGUgQ0xJIHByb2ZpbGUgaXMgbWFu" + - "ZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90IGJlIGhhbmQtYXV0aG9yZWQuClRo" + - "ZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBjb250cm9sLXBsYW5lIHByb2ZpbGUu" + - "CgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMgZnJvbSB0aGUgcmVwb3NpdG9yeSBy" + - "b290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2thZ2VzIG5lZWQgbWF0Y2hpbmctdmVy" + - "c2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApgbnZjZi1jb21wdXRlLXBsYW5lLXN0" + - "YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRsZSByb290cyBmb3IKYGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "YC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUgYm90aCBlbnZpcm9ubWVudCBmaWxl" + - "cyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52" + - "aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBsYW5lCiAgcmVnaXN0cnksIGRvbWFp" + - "biwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0aW5ncy4KLSBgZGVwbG95L3N0YWNr" + - "cy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb21wdXRl" + - "LXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5kIGNvbXB1dGUtcmVhY2hhYmxlIElD" + - "TVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtTLCB1c2UgdGhlIGNhbm9uaWNhbApb" + - "Q1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42" + - "LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBjb250cm9sLXBsYW5lIGVudmlyb25t" + - "ZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xsZXIgaW4KYGVudm95LWdhdGV3YXkt" + - "c3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5L252Y2YtZ2F0ZXdheWAgaW4KYGVu" + - "dm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyByb3V0ZS4gVGhlIGNvbXB1dGUtcGxh" + - "bmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRkcmVzcyBwbHVzIHRoZSBzZXJ2aWNl" + - "IGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRkcmVzcz5gIGlzIHRoZSBOTEIgYWRk" + - "cmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBETlMgYmFzZQp3aG9zZSBzZXJ2aWNl" + - "IHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgZG9tYWluOiAi" + - "PGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6CiAgICBudmNmU2VydmljZVVSTDog" + - "Imh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52Y2ZHcnBjU2VydmljZVVSTDogImh0" + - "dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmNmTmF0c1NlcnZpY2VVUkw6" + - "ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgIG52Y3RTZXJ2aWNlVVJMOiAiaHR0" + - "cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0R3JwY1NlcnZpY2VVUkw6ICJodHRw" + - "Oi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBpbnZvY2F0aW9uU2VydmljZVVS" + - "TDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCgpncnBjcHJveHk6CiAgbnZj" + - "ZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTAi" + - "CgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9sbGVyTmFtZXNwYWNlOiBlbnZveS1n" + - "YXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNoYXJlZDoge25hbWU6IG52Y2YtZ2F0" + - "ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAgICBncnBjOiB7bmFtZTogbnZjZi1n" + - "YXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAgICAgIG5hdHM6CiAgICAgICAgbmFt" + - "ZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgICAgICAg" + - "bGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAgIG52Y2ZBcGk6CiAgICAgICAgZ3Jw" + - "YzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIGhvc3RuYW1lczogWyJ3b3JrZXIt" + - "YXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBpOgogICAgICAgIGdycGM6CiAgICAg" + - "ICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFtZXM6IFsid29ya2VyLXRhc2tzLjxn" + - "YXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAgIGVuYWJsZWQ6IHRydWUKCm9wZW5i" + - "YW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVyeToKICAgICAgZW5hYmxlZDogdHJ1" + - "ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9u" + - "bWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJhdG9yOgogICAgc2VsZk1hbmFnZWQ6" + - "CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgogICAgICBp" + - "Y21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48Z2F0ZXdheS1kb21haW4+IgogICAg" + - "ICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIHJldmFs" + - "U2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxnYXRld2F5LWRvbWFpbj4iCiAgICAg" + - "IG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAgICAgbmF0c0hvc3RP" + - "dmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBgCgpQcmV2aWV3IGFuZCBpbnN0YWxs" + - "IHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRleHQ6CgpgYGBiYXNoCm1ha2UgLUMg" + - "ZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUgXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CgptYWtlIC1D" + - "IGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwgXAogIEhFTE1GSUxFX0VOVj08ZW52" + - "PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQmVm" + - "b3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3YXkgYWRkcmVzcywgY3JlYXRlIG9y" + - "IHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5WQ0ZfQ0xJX0NPTkZJR2A6CgpgYGB5" + - "YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmludm9rZV91cmw6" + - "ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3JwY191cmw6ICI8Z2F0ZXdheS1hZGRy" + - "ZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVz" + - "cz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IgphcGlfaG9zdDogImFwaS48" + - "Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuPGdhdGV3YXktZG9tYWlu" + - "PiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFpbj4iCmljbXNfaG9zdDog" + - "InNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmllbGRzIGNvbnRhaW4gaG9zdG5hbWVz" + - "IG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19VUkxgIG1hcHMgb25seQp0byB0aGUg" + - "cmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7IGBpY21zX2hvc3RgIGluIHRoZSBj" + - "b25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFkZXIuIFRoZXJlIGlzIG5vIGAtLWlj" + - "bXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVyIGZyb20gdGhlIGNvbXB1dGUgY29u" + - "dGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5lOgoKYGBgYmFzaAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXIgXAogIENMVVNU" + - "RVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxuY2EtaWQ+IFwKICBDTFVTVEVSX1JF" + - "R0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+IFwKICBL" + - "VUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNvbmZpZz4gXAogIE5WQ0ZfQ0xJPTxw" + - "YXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklHPTxwYXRoLXRvLW52Y2YtY2xpLWNv" + - "bmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCBc" + - "CiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClJlZ2lzdHJh" + - "dGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUg" + - "a3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVwbG95bWVudCwgYEtVQkVDT05GSUdf" + - "RklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBsYW5lIGNvbW1hbmRzLiBJbiBhIHNh" + - "bWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0dGVkIG9ubHkKd2hlbiB0aGUgYW1i" + - "aWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBjbHVzdGVyLgoKIyMgQ0xJIFByb2Zp" + - "bGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBpbnN0YWxsIGZpcnN0LiBJdCBjcmVh" + - "dGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUtcGxhbmUgcmVnaXN0cmF0aW9uOgoK" + - "YGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + - "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + - "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + - "bnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFu" + - "ZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29u" + - "dHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lvbiA8cmVnaW9uPiBcCiAgLS1uY2Et" + - "aWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + - "b2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4" + - "IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29u" + - "ZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95" + - "L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIGNv" + - "bXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1wbGFuZS1wcm9maWxlIGRlcGxveS9z" + - "dGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5lLXByb2ZpbGUueWFtbCBcCiAgLS1j" + - "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1rdWJlLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW91" + - "dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUt" + - "Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoKbnZjZi1jbGkgLS1jb25maWcgPGNv" + - "bmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tz" + - "L3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZj" + - "Zi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbCBc" + - "CiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tY2x1c3Rlci1u" + - "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBgCgpSZWdpc3RyYXRpb24gc2VsZWN0" + - "cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0ZS1yZWFjaGFibGUgZW5kcG9pbnRz" + - "CmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVzIGl0cyBKV0tTLiBEbyBub3QgcmVw" + - "bGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0aG9yZWQgSGVsbWZpbGUgZW5kcG9p" + - "bnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUgdGhlIGNvbnRyb2wtcGxhbmUgc2Vj" + - "cmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRyb2wtcGxhbmUKY29udGV4dDoKCmBg" + - "YHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMg" + - "dmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRoZSBjb21wdXRlIGNvbnRleHQsIGNy" + - "ZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCByZWZlcmVuY2UKaXQg" + - "dGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGluIHRoZSBjb21wdXRlLXBsYW5lIGVu" + - "dmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVzZSBpdCBpbiBgbnZjYS1vcGVyYXRv" + - "cmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgYWRkCmVpdGhlciBuYW1l" + - "c3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9yIGNvbW1hbmRzIGFuZCBwb2xpY3kg" + - "ZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKIyMgVmVy" + - "aWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkgbmFtZSBhbmQgbmFtZXNwYWNlOgoK" + - "YGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0" + - "ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3YXkgLW8gd2lkZQprdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgdGNwcm91dGUgLW4gZW52b3ktZ2F0" + - "ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiByb2xsb3V0IHN0" + - "YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0b3IgLS10aW1l" + - "b3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiB3YWl0IFwK" + - "ICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IC1uIG52Y2Etb3BlcmF0" + - "b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2VudFN0YXR1c30nPWhlYWx0aHkgLS10" + - "aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQg" + - "c2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0KYGBgCgojIyBUZWFyZG93bgoKRGVz" + - "dHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBsYW5lIGJlZm9yZSB0aGUgY29udHJv" + - "bCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgc28g" + - "YXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpvbmUuIFByZXNlcnZlIHRoZSBgY2Vy" + - "dC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZhdGlvbgpk" + - "b2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJZGVudGlmeSB3aGV0aGVyIGNlcnQt" + - "bWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWly" + - "ZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYAphbmQgYWJvcnQgaWYgaXQg" + - "aXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVj" + - "dGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBI" + - "ZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBl" + - "dmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFsIGFmdGVyCnZlcmlmeWluZyBuYW1l" + - "c3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVy" + - "d2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdywgcmV0" + - "YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVudGlsCmNsZWFudXAgaXMgdmVyaWZp" + - "ZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVz" + - "dHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgoKPG52Y2Yt" + - "Y2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxj" + - "bHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+" + - "IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBm" + - "cm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0" + - "ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBleGFjdCBjbHVzdGVyIElE" + - "IGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3RlciBkZWxldGVgLiBSZXBlYXQKY29t" + - "cHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVy" + - "LCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNv" + - "bnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5h" + - "Z2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxj" + - "b250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBgS1VCRUNPTkZJR2AgYW5kIGBLVUJF" + - "Q09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29udHJvbC1wbGFuZQpkZXN0cm95IGJl" + - "Y2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1iaWVudCBga3ViZWN0bGAuCgpGb3Ig" + - "dGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBs" + - "YW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAKdW50aWwgdGVhcmRv" + - "d24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0cyBjbHVzdGVyIElELiBGaXJzdCBx" + - "dWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGggdGhlIHNhbWUgY29tcGxldGUgcGVy" + - "c2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYt" + - "aG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFn" + - "ZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1w" + - "bGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUt" + - "aWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNs" + - "dXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKU2hvdyB0aGUgcmVnaXN0ZXJl" + - "ZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIgYGRvd24gLS1wbGFuLW9ubHlgIGRv" + - "ZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9ubHkgdGhhdCBjb21wdXRlIHBsYW5l" + - "IGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLiBJ" + - "ZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQKY2x1c3RlciwgcmVhbCBgZG93bmAg" + - "YWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0IGV4cGxpY2l0IGNvbmZpcm1hdGlv" + - "bgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWluZy4gVGhlbiBwcmV2aWV3IGFuZCBl" + - "eGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8" + - "Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFj" + - "a3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBs" + - "YW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0taWNtcy11cmwgPGNvbXB1" + - "dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBsYW4tb25seSBcCiAgLS1jbHVzdGVy" + - "LW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4K" + - "Cm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxh" + - "bmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1z" + - "dGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAog" + - "IC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + - "eHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + - "CiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBkb3duIFwKICAt" + - "LWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLW5jYS1pZCA8" + - "bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2ggY29tcHV0ZSBjbHVzdGVyLiBFYWNo" + - "IHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kCnVucmVnaXN0ZXJzIGl0cyBJQ01T" + - "IHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIGNsdXN0ZXIK" + - "cmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIwAABQSwMEFAAIAAAAAAAhAAAAAAAA" + - "AAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2Vz" + - "L2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJlZmVyZW5jZQoKUmVjaXBlcyBmb3Ig" + - "ZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBmYWls" + - "dXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBgYmFzaAojIEFsbCBwb2RzIGFjcm9z" + - "cyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1BIC1vIHdpZGUKCiMgUG9kcyBpbiBh" + - "IHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2RzIC1uIDxuYW1lc3BhY2U+CgojIEFs" + - "bCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNlbnQgZXZlbnRzIChtb3N0IHVzZWZ1" + - "bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBnZXQgZXZlbnRzIC1uIDxuYW1lc3Bh" + - "Y2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERlc2NyaWJlIGEgc3BlY2lmaWMgcG9k" + - "IChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMpCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "IC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBGYWlsdXJlOiBJbWFnZVB1bGxCYWNr" + - "T2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAgICAgICAgUkVBRFkgICBTVEFUVVMg" + - "ICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAgMC8xICAgICBJbWFnZVB1" + - "bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50cyBzaG93OgoKYGBgdGV4dApGYWls" + - "ZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6dGFnIjogNDAxIFVuYXV0aG9yaXpl" + - "ZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayB3aGF0IGltYWdlIGlzIGZhaWxp" + - "bmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiB8IGdyZXAg" + - "LUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3JldCBleGlzdHMgaW4gdGhlIG5hbWVz" + - "cGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgoKIyBDaGVj" + - "ayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgcG9kIC1u" + - "IDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNy" + - "ZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50IGhhcyBpbWFnZVB1bGxTZWNyZXRz" + - "Cmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNwYWNlPiAtbyBqc29ucGF0aD0ney5p" + - "bWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEuICoqU2VjcmV0IG1pc3NpbmcgaW4g" + - "bmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAogICBrdWJlY3RsIGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgIC0tZG9ja2VyLXNlcnZlcj1udmNy" + - "LmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgICAtLWRvY2tl" + - "ci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1uYW1lc3BhY2U9PG5hbWVzcGFjZT4g" + - "XAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBg" + - "YGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNuJ3QgcmVmZXJlbmNlIGl0Kio6IFRo" + - "ZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29uZmlndXJlZCB2aWEgaGVsbWZpbGUg" + - "dmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjMuICoqQ2hh" + - "cnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMqKiAob3BlbmJhbywgaW52b2NhdGlv" + - "bi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6IFBhdGNoIFNlcnZpY2VBY2NvdW50" + - "cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1zZWNyZXRzLm1k" + - "KS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0Kio6IERlbGV0ZSBhbmQgcmVjcmVh" + - "dGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5h" + - "bWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3QgY3JlZGVudGlhbHMKICAgYGBgCgoj" + - "IyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdlbnQpCgojIyMgU3ltcHRvbXMKClNl" + - "cnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBtaW51dGVzOgoKYGBgYmFzaApOQU1F" + - "ICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFUVVMgICAgIFJFU1RBUlRTICAgQUdF" + - "Cm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAgSW5pdDowLzEgICAwICAgICAgICAg" + - "IDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNvbnRhaW5lciBpcyB0aGUgdmF1bHQt" + - "YWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVuQmFvLgoKYGBgYmFzaAojIENoZWNr" + - "IE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBDaGVjayBp" + - "ZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwgZ2V0IGpvYnMgLW4gdmF1bHQtc3lz" + - "dGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIHZhdWx0LXN5c3Rl" + - "bSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hlY2sgaW5pdCBjb250YWluZXIgbG9n" + - "cyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+" + - "IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMKCjEuICoqT3BlbkJhbyBwb2RzIG5v" + - "dCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3IgaW1hZ2UgcHVsbCBpc3N1ZXMsIHJl" + - "c291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgZGlkbid0IHJ1" + - "bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3luY2Agd2FzIGludGVycnVwdGVkLiBE" + - "ZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBiYXNoCiAgIEhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgZGVzdHJveQogICBr" + - "dWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVtCiAgIGt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVk" + - "CiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1z" + - "ZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2RzIHJ1bm5pbmcgYnV0IG5vdCBpbml0" + - "aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAgYGBgYmFzaAogICBrdWJlY3RsIGV4" + - "ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJhbyAtLSBiYW8gc3Rh" + - "dHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAgbG9ncyBgYXV0aC9qd3QvbG9naW5g" + - "IC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkIHRoZSB0b2tl" + - "biBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFuZCBvbiBhbnkgY2x1c3RlciB3aG9z" + - "ZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBtdWx0aS1rZXkgSldLUyk6CiAgIHRo" + - "ZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25maWd1cmVkIHdpdGggYSBzaW5nbGUg" + - "c3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92YWxpZGF0aW9uX3B1YmtleXNgKSBp" + - "bnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNvIGl0IGNhbm5vdCB2YWxpZGF0ZSB0" + - "aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQgdG9rZW5zIHRoZSB2YXVsdC1hZ2Vu" + - "dHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVsdC1hZ2VudC1pbml0YCB0aGVuIGxv" + - "b3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxlYXZlcyBgSW5pdDowLzFgLiBUaGlz" + - "IGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZhdWx0IGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsgdGhlCiAgIG1pZ3JhdGlvbiBsb2cg" + - "c2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNhYmxlZC4gVXNpbmcgU2VydmljZUFj" + - "Y291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBrZXkgZmFsbGJhY2tgLiBFbmFibGUg" + - "aXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVzZXMgdGhlIGxpdmUgSldLUywKICAg" + - "dGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4geW91ciBlbnYgdmFsdWVzIChlLmcu" + - "IGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAjICAgb3BlbmJhbzoKICAgIyAgICAg" + - "bWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zlcnk6CiAgICMgICAgICAgICBlbmFi" + - "bGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + - "ZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgogICBUaGUgbWlncmF0aW9uIGxvZyBz" + - "aG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3ZlcnkgZG9jdW1lbnQgZnJvbQogICAuLi4v" + - "LndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFuZCBgRmluYWwgT3BlbkJhbyBKV1Qg" + - "SldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3a3NgLCBhbmQgdGhlIHNlcnZpY2Ug" + - "cG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdpdGhpbiB+MSBtaW4uCiAgIEFLUyBj" + - "bHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVyIGVuYWJsZWQgKHRoZSBgYWtzLWNs" + - "dXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMgYmVjYXVzZSB0aGUgc3RhdGljLXB1" + - "YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3VlcidzIHJvdGF0aW5nIHNpZ25pbmcg" + - "a2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNzYW5kcmEKCiMjIyBTeW1wdG9tcwoK" + - "YGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNh" + - "c3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAgICAgICAxMG0KYGBgCgojIyMgRGlh" + - "Z25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIGNhc3NhbmRyYS1zeXN0ZW0g" + - "Y2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIKYGBgCgojIyMgRml4CgpPdmVycmlk" + - "ZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBFeGFtcGxlIDEg" + - "aW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpgYGB5YW1sCi0gY2Fzc2FuZHJhOgog" + - "ICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAgY3B1OiAiOCIKICAgICAgICBtZW1v" + - "cnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBjcHU6ICIyIgogICAgICAgIG1lbW9y" + - "eTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0YCBpcyBub3QgYXZhaWxhYmxlIGlu" + - "IHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNl" + - "c2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRpbmcKCiMjIyBTeW1wdG9tcwoKYGBg" + - "dGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAgIFJFU1RBUlRTICAgQUdFCmNhc3Nh" + - "bmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAgICAxMG0KYGBgCgojIyMgRGlhZ25v" + - "c2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hlZHVsaW5nIGZhaWx1cmVzCmt1YmVj" + - "dGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KCiMgQ29tbW9uIGNhdXNl" + - "czoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIG5vZGUocykgZGlkbid0IG1hdGNo" + - "IFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2RlcyBhcmUgYXZhaWxhYmxlOiAxMiBJ" + - "bnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2b2x1bWVjbGFpbSBub3QgZm91bmQi" + - "CmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3IgbWlzbWF0Y2gqKjogQ2hlY2sgYG5v" + - "ZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBn" + - "ZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgogICBgYGAKCjIuICoqU3RvcmFnZSBj" + - "bGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFzcyBleGlzdHMKCiAgIGBgYGJhc2gK" + - "ICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoKMy4gKipJbnN1ZmZpY2llbnQgcmVz" + - "b3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZXNj" + - "cmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFsbG9jYXRlZCByZXNvdXJjZXMiCiAg" + - "IGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZhaWxlZCBTdGF0ZQoKIyMjIFN5bXB0" + - "b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJlbGVhc2Ugd2l0aCBTVEFUVVM6IGZh" + - "aWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNgIGFwcGVhcnMgdG8gc3VjY2VlZCBi" + - "dXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBza2lwcGVkKS4KCiMjIyBEaWFnbm9z" + - "aXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5hbWU+IC1uIDxuYW1lc3BhY2U+CmBg" + - "YAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQgcmVsZWFzZSBhbmQgcmUtc3luYyAo" + - "bm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1z" + - "ZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYgbmFtZXNwYWNlIG5lZWRzIGNsZWFu" + - "dXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgprdWJlY3RsIGNyZWF0ZSBu" + - "YW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVsbCBzZWNyZXQgaWYgbmVlZGVkCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IHN5bmMK" + - "YGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBKb2IgRmFpbGVkCgojIyMgU3ltcHRv" + - "bXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNhbid0IGJlIGNyZWF0ZWQuIEV2ZW50" + - "cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBD" + - "aGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdldCBqb2JzIC1uIG52Y2YKCiMgR2V0" + - "IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWludXRlcykKa3ViZWN0bCBsb2dzIGpv" + - "Yi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNmCgojIENoZWNrIEFQSSBsb2dzCmt1" + - "YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25hbWU9bnZjZi1hcGkgLS10" + - "YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAqKldyb25nIGJhc2U2NCBjcmVkZW50" + - "aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52Pi1zZWNyZXRzLnlhbWxgIG11c3Qg" + - "YmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNvZGVkLCBub3QganVzdCB0aGUgQVBJ" + - "IGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVuY29kZWQgY3JlZGVudGlhbAogICBl" + - "Y2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1kCiAgICMgU2hvdWxkIG91dHB1dDog" + - "JG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAqKlJlZ2lzdHJ5IHVucmVhY2hhYmxl" + - "Kio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3BlY2lmaWVkIGluIGBhY2NvdW50Qm9v" + - "dHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4CgpGaXggY3JlZGVudGlhbHMgaW4g" + - "c2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMgd2l0aG91dCBkZXN0cm95aW5nIGRl" + - "cGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0" + - "b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFj" + - "ZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90LWZvdW5kCmt1YmVjdGwgY3JlYXRl" + - "IG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBhcGkta2V5cyAmJiBc" + - "CiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBrdWJlY3RsIGNyZWF0ZSBuYW1lc3Bh" + - "Y2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCmBgYAoK" + - "IyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5hbGl6ZXJzKQoKIyMjIFN5bXB0b21z" + - "CgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVzcGFjZXMKc3R1Y2sgaW4gYFRlcm1p" + - "bmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBudmNhLW9wZXJhdG9yICAgIFRlcm1p" + - "bmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJtaW5hdGluZyAgIDEwbQpgYGAKCiMj" + - "IyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29tcHV0ZSBjb250ZXh0LCBhZnRlciB0" + - "aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFzIGZhaWxlZC4gUmVtb3ZlIGZpbmFs" + - "aXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3VyY2VzIGFuZApmb3JjZS1kZWxldGUg" + - "c3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENPTVBVVEVfQ09OVEVYVD08Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJl" + - "c291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG52Y2ZiYWNr" + - "ZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8IC5tZXRhZGF0YS5uYW1lc3BhY2Ug" + - "KyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFyZ3MgLUl7fSBzaCAtYyAnY29udGV4" + - "dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyovfSI7IGt1YmVjdGwgLS1jb250ZXh0" + - "ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1lIiAtbiAiJG5zIiAtLXR5cGU9bWVy" + - "Z2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wiOltdfX0iJyBfICIkQ09NUFVURV9D" + - "T05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlcyBieSBjbGVhcmluZyB0" + - "aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJhdG9yIG52Y2YtYmFja2VuZDsgZG8K" + - "ICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgZ2V0IG5hbWVzcGFjZSAiJG5z" + - "IiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5zcGVjLmZpbmFsaXplcnMgPSBbXScg" + - "fCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVYVCIgcmVwbGFjZSBcCiAg" + - "ICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2ZpbmFsaXplIiAtZiAtIDI+L2Rldi9u" + - "dWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJhdG9yIE1pc3Npbmcgb3IgTm90IFJl" + - "YWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCBjb21wbGV0ZXMs" + - "IG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0cywgb3IKaXQgZXhpc3RzIGJ1dCBw" + - "b2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + - "YW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3BlcmF0b3IgXAogIC1uIG52Y2Etb3Bl" + - "cmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMg" + - "LW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMgYW5kIEZpeGVzCgpGaXJzdCBpZGVu" + - "dGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0aGUgSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBvbmx5IHRoYXQgZmxvdydzIHJlZ2lz" + - "dHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20gW1NwbGl0IENvbXB1dGUtUGxhbmUg" + - "SW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIERvIG5vdApzdWJz" + - "dGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJZiBpbnN0YWxsYXRpb24gc3VjY2Vl" + - "ZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUgY29tcHV0ZSBjb250ZXh0OgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBkZXNjcmliZSBk" + - "ZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4" + - "dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciBc" + - "CiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRl" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBudmNhLW9wZXJhdG9yCmBgYAoKRm9y" + - "IHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0aGF0IHRoZSBwdWxsIHNlY3JldCBl" + - "eGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBp" + - "dCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJvYWRlciBtYW51YWwgbmFtZXNwYWNl" + - "IGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQjY29tcHV0ZS1wbGFu" + - "ZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRwb2ludCBDaGFuZ2VkCgojIyMgU3lt" + - "cHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3VyZWQgcm91dGUgZG9tYWluIGZhaWwg" + - "YWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIgaXMgcmVwbGFjZWQuIFRoZSBH" + - "YXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCkdB" + - "VEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3ktZ2F0ZXdheSBcCiAgLW8ganNvbnBh" + - "dGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERS" + - "IgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48ZG9tYWluPiIg" + - "Imh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hlY2sgZGlyZWN0IGFkZHJlc3MgZmll" + - "bGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAgbnZjZk5hdHNTZXJ2aWNlVVJMIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdyZXAgLUUg" + - "J2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKYGBgCgojIyMgRml4CgpLZWVwIGBn" + - "bG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQgSG9zdCBvdmVycmlkZXMgdW5jaGFu" + - "Z2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50IGRlc3RpbmF0aW9uLiBGb3Igc3Bs" + - "aXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApHYXRld2F5LWFkZHJlc3MgZmllbGRz" + - "IGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHRocm91Z2ggdGhlCnNh" + - "bWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRdKC4uL2V4YW1wbGVzLm1kI2V4YW1w" + - "bGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50LWNoYW5nZSkuCgojIyBVc2VmdWwg" + - "TmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sgcmVmZXJlbmNlIGZvciB3aGljaCBz" + - "ZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBOYW1lc3BhY2UgfCBTZXJ2aWNlcyB8" + - "CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lzdGVtIHwgbmF0cyB8CnwgY2Fzc2Fu" + - "ZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lzdGVtIHwgb3BlbmJhby1zZXJ2ZXIg" + - "fAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwgZ3JwYy1wcm94eSwgbm90YXJ5LXNl" + - "cnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxsbS1hcGktZ2F0ZXdheSB8CnwgYXBp" + - "LWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5IHwKfCBlc3MgfCBlc3MtYXBpIHwK" + - "fCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVtIHwgZW52b3kgZ2F0ZXdheSAoaW5n" + - "cmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8IGdhdGV3YXkgcmVzb3VyY2UgKyBy" + - "b3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAABEAAkAZGF0" + - "YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1" + - "Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVyZSBSZWZlcmVuY2UKCiMjIERpcmVj" + - "dG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2svCnwtLSBoZWxtZmls" + - "ZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbCAgIyBOQVRTLCBDYXNzYW5k" + - "cmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290bXBsICAgICAgICAgICMgTlZDRiBz" + - "ZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZhYmlsaXR5LnlhbWwuZ290bXBsICMg" + - "T2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0g" + - "YmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJv" + - "bm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJv" + - "bm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0tIDxlbnYtbmFtZT4tc2VjcmV0cy55" + - "YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3RyeSBjcmVkcywgcGFzc3dvcmRzKQpg" + - "LS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgIyBHbyB0ZW1wbGF0ZSB0aGF0IGNv" + - "bnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLwp8LS0g" + - "aGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwgICMgQ29tcHV0" + - "ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAtLSAwMi1udmNhLnlhbWwuZ290bXBs" + - "ICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQgbnZjYSBjb25maWd1cmF0aW9uCnwt" + - "LSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERl" + - "ZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAg" + - "ICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCmAtLSBnbG9iYWwueWFtbC5n" + - "b3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hh" + - "cnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2VwYXJhdGUgZW52aXJvbm1lbnRzIGFu" + - "ZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFsdWVzIGZsb3cgYXV0aG9ycyBib3Ro" + - "IGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUgZmxvdyBpbnN0ZWFkIHVzZXMKdGhl" + - "IENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxlIGFzIGl0cyBlbmRwb2ludCBzb3Vy" + - "Y2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5z" + - "dGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuCgojIyBHb3RtcGwgRmls" + - "ZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsCgp8" + - "IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVzIHwKfC0tLS0tLS0tLXwtLS0tLS0t" + - "fC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0tbnZjZi1uYXRzIHwgbmF0cy1zeXN0" + - "ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwgaGVsbS1udmNmLW9wZW5iYW8tc2Vy" + - "dmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2VtZW50LCBkZXBlbmRzIG9uIG5hdHMg" + - "fAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEgfCBjYXNzYW5kcmEtc3lzdGVtIHwg" + - "RGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0ZW1wbGF0ZSBpbmhlcml0YW5jZSB3" + - "aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxhYmVsLgoKIyMjIDAyLWNvcmUueWFt" + + "ICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0" + + "byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3Jw" + + "YywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBu" + + "YW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3Jr" + + "ZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNT" + + "ZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2Nh" + + "dGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNT" + + "ZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAog" + + "ICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52" + + "Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRh" + + "c2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5n" + + "YXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQg" + + "c2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQg" + + "SG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhl" + + "IGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZp" + + "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhl" + + "YWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUg" + + "Y29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1h" + + "bmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkg" + + "aW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0" + + "byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRv" + + "d24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFu" + + "ZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxl" + + "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBv" + + "ZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxh" + + "bmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3Jl" + + "IGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVh" + + "cmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + + "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIu" + + "ZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBp" + + "ZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGlu" + + "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNt" + + "YXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQg" + + "YW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4" + + "cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQg" + + "cmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + + "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + + "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + + "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24g" + + "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4g" + + "cHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCBy" + + "ZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlv" + + "biB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + + "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + + "dGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVs" + + "bWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQg" + + "d2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwg" + + "dGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBu" + + "Y2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0" + + "aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93" + + "biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNl" + + "cnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFi" + + "bGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRy" + + "dWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBh" + + "Ym9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0" + + "ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVm" + + "YXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + + "bmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBj" + + "b250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtV" + + "QkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAg" + + "ICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXgg" + + "c3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0" + + "IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBw" + + "cmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhl" + + "IHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0" + + "IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBz" + + "dGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJs" + + "IGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0" + + "YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92" + + "ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIK" + + "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1" + + "ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdz" + + "IGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBO" + + "VkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + + "IHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1w" + + "bCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5n" + + "b3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRo" + + "YXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMg" + + "YmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + + "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + + "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRl" + + "bmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+" + + "IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + + "aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMg" + + "KGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFn" + + "ZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFy" + + "dCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwK" + + "ICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3Bh" + + "Z2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2" + + "YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVu" + + "Y3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTog" + + "TExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVz" + + "dCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBz" + + "dGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + + "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0" + + "aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSBy" + + "ZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBl" + + "eHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBu" + + "byBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9u" + + "aWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGlu" + + "ZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQg" + + "b24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5" + + "LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdl" + + "Q29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29y" + + "a2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + + "cG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFu" + + "ZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBs" + + "b3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3lt" + + "ZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhh" + + "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRo" + + "ZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdh" + + "eSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2Rl" + + "IHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qg" + + "cm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwg" + + "cmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAog" + + "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + + "IGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmts" + + "b2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJh" + + "bnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4g" + + "cHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBI" + + "ZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhl" + + "IHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0" + + "aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0" + + "ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0t" + + "d29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsK" + + "ICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBh" + + "IGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + + "Y3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQg" + + "YmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNl" + + "IHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVk" + + "IGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "U0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNl" + + "ZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBw" + + "cm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJy" + + "ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdV" + + "alZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2Vk" + + "IGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxl" + + "IDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSBy" + + "ZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBg" + + "cDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09N" + + "S2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVh" + + "c2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApI" + + "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + + "bGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9j" + + "YXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUg" + + "dG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxl" + + "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + + "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + + "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + + "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + + "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + + "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + + "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + + "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + + "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZl" + + "cmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZm" + + "IC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJl" + + "c291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + + "bWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkg" + + "ZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBj" + + "aGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUg" + + "MjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRl" + + "cGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52" + + "Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwg" + + "c2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5" + + "YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2Vz" + + "OgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgog" + + "IGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + + "CmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFy" + + "dCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + + "cCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRv" + + "a2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2Vz" + + "IGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2Mt" + + "YXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwK" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + + "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + + "bmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3Jl" + + "YXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2" + + "ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwK" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFn" + + "ZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmlj" + + "IGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNz" + + "YW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlh" + + "bWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2Fu" + + "ZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVu" + + "Y3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0" + + "ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAog" + + "ICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0" + + "czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVy" + + "eSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFy" + + "YXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + + "YXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAu" + + "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + + "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxv" + + "eQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VB" + + "Y2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEg" + + "KGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQ" + + "dWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQt" + + "c3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8g" + + "Y3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4" + + "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAi" + + "JHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3Jl" + + "ZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMg" + + "LW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkg" + + "cHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3Iu" + + "aW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpX" + + "aGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgoj" + + "IyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2Ug" + + "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9O" + + "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + + "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBp" + + "cyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUg" + + "aW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNs" + + "ZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21w" + + "dXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0" + + "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + + "IGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29u" + + "ZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVn" + + "aXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNz" + + "aW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4K" + + "CiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRo" + + "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + + "dGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBk" + + "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + + "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVu" + + "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0" + + "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + + "dHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + + "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFj" + + "ZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGlu" + + "ZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBg" + + "YmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBs" + + "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + + "IEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90" + + "aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51" + + "cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBi" + + "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwK" + + "ICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNv" + + "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNz" + + "YW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMg" + + "c2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQg" + + "b3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxs" + + "YXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRl" + + "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2lu" + + "dCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQg" + + "YmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAg" + + "MTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAt" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0" + + "ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2Vz" + + "WzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBk" + + "YXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwg" + + "cm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhl" + + "CkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48" + + "ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4g" + + "Rm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZl" + + "ZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0" + + "Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3" + + "aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJl" + + "YXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRl" + + "LXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtl" + + "ZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVn" + + "aXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQg" + + "b3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + + "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNv" + + "bXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJh" + + "c2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4i" + + "ICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + + "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + + "dCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + + "IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + + "dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9w" + + "ZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAt" + + "biBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9" + + "Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9u" + + "bHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24g" + + "c2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3Nh" + + "bmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBw" + + "b2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQpr" + + "dWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lm" + + "aWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + + "c3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJl" + + "bGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + + "bmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3Jv" + + "dXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdy" + + "cGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJl" + + "cXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAs" + + "IG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + + "dWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVl" + + "YCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + + "aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + + "bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIg" + + "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBs" + + "b3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + + "bmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdo" + + "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZh" + + "bml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZD" + + "RiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + + "ZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + + "YCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBp" + + "bmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBk" + + "b2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2Vs" + + "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAA" + + "AAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + + "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQg" + + "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRl" + + "IHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmly" + + "c3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29z" + + "ZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERv" + + "IG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRy" + + "b2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0t" + + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK" + + "fCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + + "YW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + + "L3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJv" + + "ZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250" + + "cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpU" + + "aGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90" + + "IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBj" + + "b250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMg" + + "ZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2th" + + "Z2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApg" + + "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRs" + + "ZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUg" + + "Ym90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0" + + "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBs" + + "YW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0" + + "aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + + "bnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5k" + + "IGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtT" + + "LCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2Nz" + + "Lm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBj" + + "b250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xs" + + "ZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5" + + "L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyBy" + + "b3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRk" + + "cmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRk" + + "cmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBE" + + "TlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBg" + + "YHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + + "bApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6" + + "CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + + "Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAg" + + "ICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + + "IG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0" + + "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAg" + + "ICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFp" + + "bj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2" + + "Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9s" + + "bGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNo" + + "YXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAg" + + "ICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + + "ICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBl" + + "bnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAg" + + "IG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + + "IGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBp" + + "OgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFt" + + "ZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAg" + + "IGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVy" + + "eToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2Yt" + + "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJh" + + "dG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRl" + + "d2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48" + + "Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxn" + + "YXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46" + + "NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBg" + + "CgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRl" + + "eHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUg" + + "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + + "LWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwg" + + "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + + "LWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3" + + "YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5W" + + "Q0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + + "YWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3Jw" + + "Y191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJo" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + + "c3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBp" + + "LWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5" + + "LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmll" + + "bGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19V" + + "UkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7" + + "IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFk" + + "ZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVy" + + "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5l" + + "OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lz" + + "dGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxu" + + "Y2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxn" + + "YXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + + "bmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklH" + + "PTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + + "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + + "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + + "Y29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBK" + + "V0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVw" + + "bG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBs" + + "YW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0" + + "dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBj" + + "bHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBp" + + "bnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUt" + + "cGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + + "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + + "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + + "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwK" + + "ICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lv" + + "biA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9z" + + "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBm" + + "dWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6Cgpg" + + "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + + "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + + "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + + "dj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1w" + + "bGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + + "LXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVn" + + "aW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoK" + + "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + + "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + + "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + + "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3Rh" + + "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1y" + + "ZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBg" + + "CgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0" + + "ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVz" + + "IGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0" + + "aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUg" + + "dGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRy" + + "b2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + + "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRo" + + "ZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + + "b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGlu" + + "IHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVz" + + "ZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBE" + + "byBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9y" + + "IGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + + "LXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkg" + + "bmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + + "bGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3" + + "YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + + "dGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1u" + + "IG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2Vu" + + "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + + "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0K" + + "YGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBs" + + "YW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0" + + "aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpv" + + "bmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFt" + + "ZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJ" + + "ZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFs" + + "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + + "bHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFn" + + "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + + "cmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1p" + + "c3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + + "IGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNp" + + "dCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxt" + + "ZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVu" + + "dGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + + "dmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+" + + "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + + "ZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0" + + "ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4g" + + "XAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1" + + "c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93" + + "IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3Rl" + + "ciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3Ig" + + "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpg" + + "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + + "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + + "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBg" + + "S1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29u" + + "dHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1i" + + "aWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1" + + "ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0" + + "cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGgg" + + "dGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0t" + + "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + + "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + + "IC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNv" + + "bXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVy" + + "bCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1u" + + "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBg" + + "YAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIg" + + "YGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9u" + + "bHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29u" + + "dHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQK" + + "Y2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWlu" + + "Zy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFz" + + "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + + "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + + "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + + "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + + "XAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBs" + + "YW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + + "CiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + + "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + + "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + + "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + + "cy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2gg" + + "Y29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + + "CnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBv" + + "bmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIw" + + "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJl" + + "ZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNl" + + "bGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBg" + + "YmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1B" + + "IC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2Rz" + + "IC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNl" + + "bnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBn" + + "ZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERl" + + "c2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMp" + + "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBG" + + "YWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAg" + + "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + + "LTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50" + + "cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6" + + "dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVj" + + "ayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3Jl" + + "dCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAt" + + "biA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3Jl" + + "dHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9" + + "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50" + + "IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNw" + + "YWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEu" + + "ICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAog" + + "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + + "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + + "dG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1u" + + "YW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + + "YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNu" + + "J3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29u" + + "ZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + + "ZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMq" + + "KiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6" + + "IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0" + + "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0" + + "Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2Vj" + + "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3Qg" + + "Y3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdl" + + "bnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBt" + + "aW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFU" + + "VVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAg" + + "SW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNv" + + "bnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVu" + + "QmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZh" + + "dWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwg" + + "Z2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0" + + "bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hl" + + "Y2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8" + + "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMK" + + "CjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3Ig" + + "aW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1p" + + "Z3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3lu" + + "Y2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBi" + + "YXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + + "by1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVt" + + "CiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUg" + + "cHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + + "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2Rz" + + "IHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAg" + + "YGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAg" + + "LWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAg" + + "bG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + + "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFu" + + "ZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBt" + + "dWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25m" + + "aWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92" + + "YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNv" + + "IGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQg" + + "dG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVs" + + "dC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxl" + + "YXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZh" + + "dWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsg" + + "dGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNh" + + "YmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBr" + + "ZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVz" + + "ZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4g" + + "eW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAj" + + "ICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zl" + + "cnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2" + + "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgog" + + "ICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3Zlcnkg" + + "ZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFu" + + "ZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3" + + "a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdp" + + "dGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVy" + + "IGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMg" + + "YmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3Vl" + + "cidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNz" + + "YW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVT" + + "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAg" + + "ICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + + "IC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIK" + + "YGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2" + + "YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpg" + + "YGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAg" + + "Y3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBj" + + "cHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0" + + "YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + + "c2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRp" + + "bmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAg" + + "IFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAg" + + "ICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hl" + + "ZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + + "bmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEy" + + "IG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2Rl" + + "cyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2" + + "b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3Ig" + + "bWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAg" + + "IGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgog" + + "ICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFz" + + "cyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoK" + + "My4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBg" + + "YGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFs" + + "bG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZh" + + "aWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJl" + + "bGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNg" + + "IGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBz" + + "a2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5h" + + "bWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQg" + + "cmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYg" + + "bmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNw" + + "YWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVs" + + "bCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBK" + + "b2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNh" + + "bid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBE" + + "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdl" + + "dCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWlu" + + "dXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNm" + + "CgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVz" + + "LmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAq" + + "Kldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52" + + "Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNv" + + "ZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVu" + + "Y29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1k" + + "CiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAq" + + "KlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3Bl" + + "Y2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4" + + "CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMg" + + "d2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + + "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1" + + "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90" + + "LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5h" + + "bWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBu" + + "ZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + + "cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5h" + + "bGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVz" + + "cGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBu" + + "dmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJt" + + "aW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29t" + + "cHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFz" + + "IGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3Vy" + + "Y2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENP" + + "TVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVy" + + "cyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + + "Q09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8" + + "IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFy" + + "Z3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyov" + + "fSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1l" + + "IiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wi" + + "OltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFt" + + "ZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJh" + + "dG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + + "VCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5z" + + "cGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + + "Q09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2Zp" + + "bmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJh" + + "dG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxh" + + "bmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0" + + "cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3Bl" + + "cmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + + "bmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMg" + + "YW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0" + + "aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBv" + + "bmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20g" + + "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + + "dGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJ" + + "ZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUg" + + "Y29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVy" + + "YXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxv" + + "eW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVj" + + "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBu" + + "dmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0" + + "aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQg" + + "YW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJv" + + "YWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNl" + + "Y3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRw" + + "b2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3Vy" + + "ZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5j" + + "ZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMg" + + "RGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + + "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3kt" + + "Z2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + + "ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUgg" + + "Ikhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hl" + + "Y2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAg" + + "bnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + + "cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwK" + + "YGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQg" + + "SG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50" + + "IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApH" + + "YXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFs" + + "bGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRd" + + "KC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50" + + "LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sg" + + "cmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBO" + + "YW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lz" + + "dGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lz" + + "dGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + + "Z3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxs" + + "bS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5" + + "IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVt" + + "IHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8" + + "IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAA" + + "IQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVm" + + "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVy" + + "ZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFn" + + "ZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290" + + "bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZh" + + "YmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBl" + + "bnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1" + + "bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAg" + + "ICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0t" + + "IDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3Ry" + + "eSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAg" + + "IyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMu" + + "eWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAt" + + "LSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQg" + + "bnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAg" + + "ICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAg" + + "YC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJp" + + "ZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + + "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2Vw" + + "YXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFs" + + "dWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUg" + + "ZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + + "IGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + + "bi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5k" + + "ZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVz" + + "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0t" + + "bnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwg" + + "aGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2Vt" + + "ZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEg" + + "fCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0" + + "ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxh" + + "YmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + + "YWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBh" + + "cGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNp" + + "cyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFw" + + "aSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWlu" + + "dm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0t" + + "bnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNm" + + "LWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + + "bm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8" + + "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2Yt" + + "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkg" + + "fCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFk" + + "bWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtl" + + "eXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXkt" + + "cm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMg" + + "dXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9D" + + "SSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1" + + "ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBh" + + "ZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhh" + + "dmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFt" + "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0t" + - "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBhcGkta2V5cyB8IGhlbG0tbnZjZi1h" + - "cGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNpcyB8IGhlbG0tbnZjZi1zaXMgfCBz" + - "aXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFwaSB8IG52Y2YgfCBzZXJ2aWNlcyB8" + - "CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWludm9jYXRpb24tc2VydmljZSB8IG52" + - "Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0tbnZjZi1ncnBjLXByb3h5IHwgbnZj" + - "ZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNmLWVzcy1hcGkgfCBlc3MgfCBzZXJ2" + - "aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Ytbm90YXJ5LXNlcnZpY2UgfCBudmNm" + - "IHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8IG52Y2YgfCBzZXJ2aWNlcyB8Cnwg" + - "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2YtbGxtLXJlcXVlc3Qtcm91dGVyIHwg" + - "bnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkgfCBudmNmL2hlbG0tbnZjZi1sbG0t" + - "YXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFkbWluLWlzc3Vlci1wcm94eSB8IGhl" + - "bG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtleXMgfCAobm8gcmVsZWFzZS1ncm91" + - "cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXktcm91dGVzIHwgZW52b3ktZ2F0ZXdh" + - "eS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMgdXNlIGBpbmhlcml0OiBbe3RlbXBs" + - "YXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9DSSBjaGFydHMgZnJvbSB0aGUgYG52" + - "Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1ZXM6IFsuLi9nbG9iYWwueWFtbC5n" + - "b3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBhZGRvbnMubGxtLmVuYWJsZWRgLiBg" + - "YWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhhdmUgc3RhbmRhbG9uZSBgdmFsdWVz" + - "OmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8" + - "IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0t" + - "LS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNlcykgfCAodmFyaW91cykgfCBvYnNl" + - "cnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBvbiBvYnNlcnZhYmlsaXR5LXNwZWNp" + - "ZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBTa2lwcGVkIGlmIGRpc2FibGVkLgoK" + - "IyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpkZXBlbmRlbmN5YCAoWUFNTCBtZXJn" + - "ZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbGAuIE1lcmdlcyB0aGUgdGVt" + - "cGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2UuCgoqKkdvdGNoYSoqOiBZQU1MIG1l" + - "cmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZhbHVlczpgIGtleSB0byB0aGUgcmVs" + - "ZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdzIGB2YWx1ZXM6YCBsaXN0IGVudGly" + - "ZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0ZSB2YWx1ZXM6CgpJbiB0aGUgdGVt" + - "cGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2Ag" + - "ZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290LgoKYGBgeWFtbAojIFRlbXBsYXRl" + - "IGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAmZGVwZW5kZW5jeQogICAgY2hhcnQ6" + - "IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0KICAgIHZhbHVlczoKICAgICAgLSAu" + - "Li9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+L3t7IHJlcXVp" + - "cmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAoKIyBXaGVuIG92ZXJyaWRpbmcs" + - "IE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3NhbmRyYQogIDw8OiAqZGVwZW5kZW5j" + - "eQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCByZS1pbmNsdWRlCiAgICAtIC4uLzxw" + - "cml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0cy55" + - "YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2FuZHJhOiAgICAgICAgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFlvdXIgb3ZlcnJpZGUK" + - "ICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6CiAgICAgICAgICAgIG1lbW9yeTog" + - "ODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUgbmF0aXZlKQoKVXNlZCBpbiBgMDIt" + - "Y29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZlIGluaGVyaXRhbmNlIG1lY2hhbmlz" + - "bS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAxLjYuMAogIG5hbWVzcGFjZTogbnZj" + - "ZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNlCmBgYAoKV2hlbiBhZGRpbmcgYHZh" + - "bHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3UgYWxzbyBuZWVkIHRvIHJlLWluY2x1" + - "ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNlIGB2YWx1ZXNgIGlzIGEgbGlzdCB0" + - "aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2VkZW5jZQoKRnJvbSBsb3dlc3QgdG8g" + - "aGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCAtLSBkZWZhdWx0" + - "cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4gYGVudmlyb25tZW50cy88ZW52Pi55" + - "YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMuIGBnbG9iYWwueWFtbC5nb3RtcGxg" + - "IC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgc3Ry" + - "dWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIC0tIHNlbnNp" + - "dGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9ja3Mgb24gcmVsZWFzZXMgLS0gaGln" + - "aGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1sLmdvdG1wbCBQYXNzZXMgVGhyb3Vn" + - "aAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBgLlZhbHVlc2AgKHRoZSBtZXJnZWQg" + - "ZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5kIGNvbnN0cnVjdHMgY2hhcnQtc3Bl" + - "Y2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdoIGtleXMgaXQgZXhwbGljaXRseSBy" + - "ZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAKLSBg" + - "Y2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgY2Fzc2FuZHJhLm1p" + - "Z3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNpc3RlbmNlLnNpemVgCi0gYGNhc3Nh" + - "bmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVTZWxlY3RvcnMuZW5hYmxlZGApCi0g" + - "YGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFzc2AKCiMjIyBOQVRTCgotIGBuYXRz" + - "LmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVyLmltYWdlLipgCi0gYG5hdHMubmF0" + - "c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25maWcuamV0c3RyZWFtLmZpbGVTdG9y" + - "ZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RUZW1wbGF0ZS5tZXJnZS5zcGVjLm5v" + - "ZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJhbwoKLSBgb3BlbmJhby5taWdyYXRp" + - "b25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25zLmVudmAKLSBgb3BlbmJhby5pbmpl" + - "Y3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZl" + - "ci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChpZiBlbmFibGVkKQoKIyMjIFNlcnZp" + - "Y2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5pbWFnZS4qYCAocmVnaXN0cnksIHJl" + - "cG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3JgIChpZiBlbmFibGVkKQotIGA8c2Vy" + - "dmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdzKQoKIyMjIExMTSBGdW5jdGlvbiBF" + - "bmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZvcmUgY3JlYXRpbmcgb3IgaW52b2tp" + - "bmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxMTSJgLiBUaGUgYWRkb24gZGVwbG95" + - "cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGktZ2F0ZXdheWAsIGFkZHMgdGhlIGBs" + - "bG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBHYXRld2F5IEFQSQppbmdyZXNzIGlz" + - "IGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8gdXNlIHRoZSBMTE0gc2lkZWNhci4g" + - "VGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxsbS5lbmFibGVkYC4gRG8gbm90IHVz" + - "ZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoKRm9yIGEgc2luZ2xlLW5vZGUgaXNv" + - "bGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1cmF0aW9uIHRvCmBlbnZpcm9ubWVu" + - "dHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBzdGFjazoKCmBgYHlhbWwKYWRkb25z" + - "OgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3YXk6CiAgICAgIHJlcGxpY2FDb3Vu" + - "dDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5h" + - "YmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAg" + - "ICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFs" + - "c2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAgICBjbHVzdGVyOgogICAgICB2YWxp" + - "ZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJpY3RlZAogICAgd29ya2xvYWQ6CiAg" + - "ICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoKVXNlIGByZXBsaWNhQ291bnQ6IDFg" + - "IG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3QgY2x1c3RlcnMuIFRoZSBidW5kbGVk" + - "Ck5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0IGdSUEMgb24gcG9ydCA5MDkwLCBz" + - "byB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRoZSBMTE0gQVBJIEdhdGV3YXkgYXV0" + - "aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBhZGRvbnMubGxtLmdhdGV3YXkuYXV0" + - "aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBUTFMtY2FwYWJsZSBOVkNGIEFQSS4K" + - "Cldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFyYXRlLiBGb3Igc2hhcmVkIG9yIHBy" + - "b2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQgcmVwbGljYSBjb3VudCBhbmQgdGhl" + - "IG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5z" + - "ZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29ya2VyIHRyYW5zcG9ydCBhbmQKbXVz" + - "dCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJlcXVlc3Qgcm91dGVyIHVzZXMgYHBv" + - "d2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMKc2V0LiBD" + - "b25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGggdGhlCltMTE0gUmVxdWVzdCBSb3V0" + - "ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21h" + - "aW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91dGVyLWxvYWQtYmFsYW5jaW5nLm1k" + - "KQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1pcnJvcmVkIG91dHNpZGUgdGhlIHN0" + - "YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVwb3NpdG9yeSwgc2V0IHRoZSBnZW5l" + - "cmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRseToKCmBgYHlhbWwKYXBpOgogIHJl" + - "bW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52Y2Y6CiAgICAgICAgc2lkZWNhcnM6" + - "CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTogPHJlZ2lzdHJ5Pi88cmVwb3NpdG9y" + - "eT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBpLmVudi5OVkNGX1NJREVDQVJTX0xM" + - "TV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJlY2F0ZWQuClRoZSBzdGFjayB0cmFu" + - "c2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5kb3csIGJ1dCBuZXcgY29uZmlndXJh" + - "dGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0aC4gQ29uZmxpY3RpbmcgdmFsdWVz" + - "IGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0aGUgdXBkYXRlZCBjb250cm9sLXBs" + - "YW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkKcmVnaXN0ZXJlZCBjb21wdXRlIHBs" + - "YW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3IgaXRzIGluc3RhbGxhdGlvbiBzbwpO" + - "VkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZpZ2A6CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUg" + - "c3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIGNvbW1hbmQg" + - "ZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + - "dGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxsYXRpb24gbXVzdCByZW1haW4gcHJv" + - "ZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9uCm11c3QgcmVtYWluIHZhbHVlcy1k" + - "cml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lvbnMgcmV0YWluIHRoZSB3b3JrZXIt" + - "c2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVuIHRoZSB2ZXJzaW9uIGlzIGNyZWF0" + - "ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRoZSBzYW1lCnZlcnNpb24gZG9lcyBu" + - "b3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRoZSBjb250cm9sLXBsYW5lIHVwZGF0" + - "ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24gdmVyc2lvbi4gVmVyaWZ5IHRoZSBj" + - "b250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRlY2FyOgoKYGBgYmFzaAprdWJlY3Rs" + - "IGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkKa3ViZWN0bCBnZXQgc3RhdGVmdWxz" + - "ZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0bCBnZXQgcG9kcyAtbiBudmNmIHwg" + - "Z3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0LXJvdXRlcicKa3ViZWN0bCBnZXQg" + - "aHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBudmNmLWJhY2tlbmQgZ2V0IHBvZCA8" + - "ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5nZSAuc3BlYy5jb250YWluZXJzWz8o" + - "QC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsiXFxuIn17ZW5kfScKYGBgCgpGb3Ig" + - "bG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13b3JrZXJgIGFyZ3MgbXVzdCBpbmNs" + - "dWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFsYW5jZXIgc2NoZW1hIGFuZCBhbGdv" + - "cml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNvbmZpZ3VyYXRpb24gZ3VpZGVdKGh0" + - "dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21haW4vc3JjL2xpYnJhcmllcy9ydXN0" + - "L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1cmF0aW9uLm1kKS4KCiMjIEhlbG1m" + - "aWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVhc2VzIG9yIGdyb3VwczoKCmBgYGJh" + - "c2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + - "dG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhl" + - "bG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBzeW5jCkhFTE1GSUxFX0VO" + - "Vj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9b2JzZXJ2" + - "YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXByb3h5IHN5bmMKSEVMTUZJTEVfRU5W" + - "PTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXIgc3luYwpI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWxsbS1hcGktZ2F0ZXdh" + - "eSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxt" + - "ZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRlCgojIERlc3Ryb3kgYSBzaW5n" + - "bGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlzc3Vlci1wcm94eWAgaGFzIG5vIGBy" + - "ZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXBy" + - "b3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPwAJAGRhdGEv" + - "bnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5t" + - "ZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBpcyBhbiBvcHRpb25hbCwgY3VzdG9t" + - "ZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQg" + - "YW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZD" + - "RiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFibGUgTlZDRiBVSSBvbmx5IHdoZW4g" + - "eW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3VyIGV4dHJhY3RlZCBzdGFjawpwYWNr" + - "YWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2thZ2UgZG9lcyBub3QgY29udGFpbiBh" + - "IGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0ZSB2YWx1ZXMsIHNraXAgdGhlIGFk" + - "ZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMKdGhlbS4KCiMjIEVuYWJs" + - "ZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1lbnRzLzxlbnYtbmFtZT4ueWFtbGA6" + - "CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFibGVkOiB0cnVlCmBgYAoKIyMgQ3Jl" + - "YXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQKCkNyZWF0ZSB0aGUgbmFtZXNwYWNl" + - "LCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRl" + - "CnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgbnZjZi11aSAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KCiMgT25seSBpZiBwdWxs" + - "aW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5H" + - "Q19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lz" + - "dHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11" + - "c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZ" + - "IiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwg" + - "a3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgbnZjZi11" + - "aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNmLXVpLm52Y2YtdWk6ODMwMGAuCgoj" + - "IyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2th" + - "Z2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBwcmV2aWV3IGFuZCBhcHBseQp0aGUg" + - "c2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRlCkhFTE1GSUxFX0VOVj08ZW52LW5h" + - "bWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHN5bmMKSEVMTUZJTEVfRU5WPTxl" + - "bnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpg" + - "YGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHBy" + - "ZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZj" + - "Zi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIC1pIG52Y2YtdWkKY3VybCAtaSAt" + - "SCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9zdGF0" + - "dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFkbWluIHBhbmVsIGlzIGN1cnJlbnRs" + - "eSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQgdG8gdGhlCnB1YmxpYyBpbnRlcm5l" + - "dC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3b3JrLCBWUE4sIG9yIGFuIGF1dGhl" + - "bnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZjZi11aWAgcm91dGUuClBLBwg4+Sev" + - "uQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4ACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOEiMgSW1h" + - "Z2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZpZXcKCldoZW4gcHVsbGluZyBOVkNG" + - "IGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9yIGV4YW1wbGUsIE5HQwpgbnZjci5p" + - "b2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNyZXRzYCBvbiBldmVyeSBwb2QuIENv" + - "bnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVudGlhbHMgYXJlIGNvbmZpZ3VyZWQg" + - "aW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5vdAp1c2Ugb25lIG1peGVkIG5hbWVz" + - "cGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wtcGxhbmUgYXBwcm9hY2ggdXNlcyBL" + - "eXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29udHJvbC1wbGFuZSBwb2RzIGF0IGFk" + - "bWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFydCBhbmQgb3BlcmF0b3IgdXNlCnRo" + - "ZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgaXQgdG8gYG52Y2Etc3lzdGVt" + - "YC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVkKQoKIyMjIDEuIEluc3RhbGwgS3l2" + - "ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8gaHR0cHM6Ly9reXZlcm5vLmdpdGh1" + - "Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0gaW5zdGFsbCBreXZlcm5vIGt5dmVy" + - "bm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVzcGFjZSBcCiAgLS1rdWJlLWNvbnRl" + - "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMgMi4gQ3JlYXRlIGNvbnRyb2wtcGxh" + - "bmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0NfQVBJX0tFWT0iPHlvdXItbmdjLWFw" + - "aS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkt" + - "a2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVt" + - "IG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5h" + - "Z2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVy" + - "PW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRv" + - "Y2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAg" + - "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpGb3Igbm9uLU5HQyByZWdpc3RyaWVz" + - "LCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2NrZXItdXNlcm5hbWVgLCBhbmQgYC0t" + - "ZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZlcm5vIENsdXN0ZXJQb2xpY3kKCmBg" + - "YHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5kOiBDbHVzdGVyUG9saWN5Cm1ldGFk" + - "YXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3JldHMKc3BlYzoKICBiYWNrZ3JvdW5k" + - "OiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1hZ2VwdWxsc2VjcmV0LXRvLW52Y2Yt" + - "cG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAgICAgLSByZXNvdXJjZXM6CiAgICAg" + - "ICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAgICAgICAgICBuYW1lc3BhY2VzOgog" + - "ICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJhcGkta2V5cyIKICAgICAgICAgICAg" + - "LSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAgICAgIC0gIm5hdHMtc3lzdGVtIgog" + - "ICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAgICAgICAgICAtICJ2YXVsdC1zeXN0" + - "ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAgICAgbXV0YXRlOgogICAgICAgIHBh" + - "dGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0YToKICAgICAgICAgICAgYW5ub3Rh" + - "dGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29tL2ltYWdlcHVsbHNlY3JldC1pbmpl" + - "Y3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAgICAgICAgICAgaW1hZ2VQdWxsU2Vj" + - "cmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKYGBgYmFzaAprdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSBcCiAgLWYga3l2ZXJuby1p" + - "bWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMgNC4gSW5zdGFsbCB0aGUgY29udHJv" + - "bCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQgY29udHJvbC1wbGFuZSBpbnN0YWxs" + - "YXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5l" + - "LWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUgaGVsbWZpbGUgbW9kaWZpY2F0aW9u" + - "cyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1bGwKc2VjcmV0IGludG8gbmV3IGNv" + - "bnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUgU2VjcmV0CgpDcmVhdGUgdGhlIHNl" + - "Y3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUgY29tcHV0ZSBjbHVzdGVyOgoKYGBg" + - "YmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFt" + - "ZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBr" + - "dWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCgprdWJl" + - "Y3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tl" + - "ci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgLS1k" + - "b2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0Nf" + - "QVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1jbGll" + - "bnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRoZSBjb21wdXRlLXBsYW5lIGVudmly" + - "b25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFnZVB1bGxTZWNyZXRzOgogICAgLSBu" + - "YW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UgdGhhdCByZWZl" + - "cmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3IgdGhlCnNlY3JldCB0byBgbnZjYS1z" + - "eXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51YWwgY29tcHV0ZSBuYW1lc3BhY2Ug" + - "bGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0oY29tcHV0ZS1w" + - "bGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0ZWQgaW5zdGFsbCBmbG93LgoKIyMg" + - "VmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBhIGNvbnRyb2wtcGxhbmUgcG9kIGhh" + - "cyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + - "bnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9" + - "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3RlZDogW3sibmFtZSI6Im52Y3ItY3Jl" + - "ZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlvbgprdWJlY3RsIC0tY29udGV4dCA8" + - "Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4g" + - "XAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRpb25zLm52Y2ZcLm52aWRpYVwuY29t" + - "L2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhwZWN0ZWQ6IGt5dmVybm8KCiMgQ2hl" + - "Y2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + - "Z2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFtcCcg" + - "fCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vzc2Z1bGx5IHB1bGxlZCIgbm90ICI0" + - "MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQvb3BlcmF0b3IgbWlycm9yIG9uIHRo" + - "ZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNhLXN5c3RlbQpgYGAKCiMjIFdoZW4g" + - "UHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdTIEVDUiB3aXRoIElBTSBub2RlIHJv" + - "bGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMyQ29udGFpbmVyUmVnaXN0cnlSZWFk" + - "T25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVsbCBmcm9tIEVDUiB3aXRob3V0IGV4" + - "cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmllcyoqOiBObyBwdWxsIHNlY3JldHMg" + - "bmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwgaGVscGVycyoqOiBHS0UgQXJ0aWZh" + - "Y3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQgaWRlbnRpdHksIGFuZCBzaW1pbGFy" + - "IHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMgUG9kcyBzdGlsbCBpbiBJbWFnZVB1" + - "bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhlIEt5dmVybm8gcG9saWN5IG9ubHkg" + - "YWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBwb2xpY3kgaXMgYXBwbGllZC4gRGVs" + - "ZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9uOgoKYGBgYmFzaAprdWJlY3RsIC0t" + - "Y29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIDxuYW1lc3BhY2U+IC0tYWxs" + - "CmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xsZXIgbm90IHJ1bm5pbmcKCmBgYGJh" + - "c2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZHMgLW4g" + - "a3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5nCmBgYAoKIyMjIFBvbGljeSBub3Qg" + - "bWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4" + - "dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2VwdWxsc2VjcmV0cwojIFNob3VsZCBz" + - "aG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3JldCBuYW1lCgpUaGUgcG9saWN5IHJl" + - "ZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNlY3JldCBleGlzdHMgd2l0aCB0aGF0" + - "IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4g" + - "Z2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+CmBgYApQSwcIS0I1qAAWAAAAFgAA" + - "UEsBAhQAFAAIAAAAAAAhAJdPYGdKEAAAShAAABIACQAAAAAAAAAAAAAAAAAAAGRhdGEvbWFuaWZl" + - "c3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb2GQAANhkAAAjAAkAAAAAAAAAAAAA" + - "AJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1AABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + - "p885w/4UAAD+FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "ZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQAxi5lP2RgA" + - "ANkYAAA3AAkAAAAAAAAAAAAAAMKcAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRz" + - "L2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANTejTSfGQAAnxkA" + - "ADkACQAAAAAAAAAAAAAACbYAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3Jl" + - "YXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDSQ9wEGCUAABglAAA3" + - "AAkAAAAAAAAAAAAAABjQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2RlcGxv" + - "eS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHKSLCa+DgAAvg4AAD0ACQAA" + - "AAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGlhZ25vc2Ut" + - "ZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAtEnfJ1YpAABWKQAAOgAJ" + - "AAAAAAAAAAAAAADQBAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxs" + - "LWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCpwSb3LgkAAC4JAAA5AAkA" + - "AAAAAAAAAAAAAJcuAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1j" + - "bHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA2odjVuQhAADkIQAALgAJAAAA" + - "AAAAAAAAAAA1OAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy90ZWFyZG93bi5t" + - "ZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYmAAAwAAkAAAAAAAAAAAAAAH5aAQBk" + - "YXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvY29tbWFuZHMubWRVVAUAAQCmzhJQ" + - "SwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAAAAAAAAD7gAEAZGF0YS9udmNmLXNl" + - "bGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEA4hrucsJfAADCXwAALQAJAAAAAAAAAAAAAADMkQEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABq4s/NhIQAA" + - "YSEAADcACQAAAAAAAAAAAAAA8vEBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5j" + - "ZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAEcMUk0liAABJYgAA" + - "LAAJAAAAAAAAAAAAAADBEwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJ" + - "TEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpWAABKVgAANAAJAAAAAAAAAAAAAABt" + - "dgIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXZhbHMvZXZhbHMuanNvblVU" + - "BQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAvAAkAAAAAAAAAAAAAACLNAgBkYXRh" + - "L252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFtcGxlcy5tZFVUBQABAKbOElBLAQIU" + - "ABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAAAAf2AgBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9u" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAAtTAAADsACQAAAAAAAAAAAAAAnCYD" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5n" + - "Lm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAACioAAEQACQAAAAAAAAAAAAAAw1cD" + - "AGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvaGVsbWZpbGUt" + - "c3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhADj5J6+5BwAAuQcAAD8ACQAAAAAA" + - "AAAAAAAASIIDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + - "bnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQBLQjWoABYAAAAWAAA+AAkA" + - "AAAAAAAAAAAAAHeKAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVu" + - "Y2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAAFwAXAK8JAADsoAMAAAA=" + "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNl" + + "cykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBv" + + "biBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBT" + + "a2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpk" + + "ZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + + "dG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2Uu" + + "CgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZh" + + "bHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdz" + + "IGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0" + + "ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + + "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + + "LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAm" + + "ZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0K" + + "ICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJp" + + "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + + "bAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3Nh" + + "bmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + + "bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCBy" + + "ZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + + "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2Fu" + + "ZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6" + + "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUg" + + "bmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZl" + + "IGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAx" + + "LjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNl" + + "CmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3Ug" + + "YWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNl" + + "IGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2Vk" + + "ZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMv" + + "YmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4g" + + "YGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMu" + + "IGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVj" + + "dHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1z" + + "ZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9j" + + "a3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1s" + + "LmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBg" + + "LlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5k" + + "IGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdo" + + "IGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2Fu" + + "ZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + + "dG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNp" + + "c3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVT" + + "ZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFz" + + "c2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVy" + + "LmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25m" + + "aWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RU" + + "ZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJh" + + "bwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25z" + + "LmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFn" + + "ZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChp" + + "ZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5p" + + "bWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3Jg" + + "IChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdz" + + "KQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZv" + + "cmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGkt" + + "Z2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBH" + + "YXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8g" + + "dXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxs" + + "bS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoK" + + "Rm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1" + + "cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBz" + + "dGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3" + + "YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VN" + + "b25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAg" + + "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + + "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAg" + + "ICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJp" + + "Y3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoK" + + "VXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3Qg" + + "Y2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0" + + "IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRo" + + "ZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBh" + + "ZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBU" + + "TFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFy" + + "YXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQg" + + "cmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29y" + + "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29y" + + "a2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJl" + + "cXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNv" + + "bmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGgg" + + "dGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNv" + + "bS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91" + + "dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1p" + + "cnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVw" + + "b3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRs" + + "eToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52" + + "Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTog" + + "PHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBp" + + "LmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJl" + + "Y2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5k" + + "b3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0" + + "aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0" + + "aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkK" + + "cmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3Ig" + + "aXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZp" + + "Z2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1w" + + "bGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + + "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxs" + + "YXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9u" + + "Cm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lv" + + "bnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVu" + + "IHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRo" + + "ZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRo" + + "ZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24g" + + "dmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRl" + + "Y2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkK" + + "a3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0" + + "bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0" + + "LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBu" + + "dmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5n" + + "ZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsi" + + "XFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13" + + "b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFs" + + "YW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNv" + + "bmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21h" + + "aW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1" + + "cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVh" + + "c2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08" + + "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + + "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2" + + "aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + + "Z3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxN" + + "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXBy" + + "b3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0t" + + "cmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + + "ciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBs" + + "YXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlz" + + "c3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9y" + + "IG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEA" + + "AAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + + "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBp" + + "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlz" + + "IGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + + "IHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFi" + + "bGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3Vy" + + "IGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2th" + + "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0" + + "ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5j" + + "bHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1l" + + "bnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFi" + + "bGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQK" + + "CkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBw" + + "dWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBu" + + "YW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + + "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0" + + "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + + "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + + "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnkt" + + "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQg" + + "cm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNm" + + "LXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVy" + + "IGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBw" + + "cmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRl" + + "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVp" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + + "LWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5" + + "IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Z2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVw" + + "IC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFk" + + "bWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQg" + + "dG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3" + + "b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZj" + + "Zi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4A" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2Vj" + + "cmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZp" + + "ZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9y" + + "IGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVu" + + "dGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5v" + + "dAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wt" + + "cGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29u" + + "dHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFy" + + "dCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + + "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVk" + + "KQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + + "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + + "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + + "cGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMg" + + "Mi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0Nf" + + "QVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + + "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + + "ZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRl" + + "IG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBu" + + "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + + "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + + "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMg" + + "XAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + + "YXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAt" + + "LW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + + "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpG" + + "b3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2Nr" + + "ZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZl" + + "cm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5k" + + "OiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3Jl" + + "dHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1h" + + "Z2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAg" + + "ICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAg" + + "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJh" + + "cGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAg" + + "ICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAg" + + "ICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAg" + + "ICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0" + + "YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29t" + + "L2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAg" + + "ICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRz" + + "CmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBh" + + "cHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMg" + + "NC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQg" + + "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + + "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUg" + + "aGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1" + + "bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUg" + + "U2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUg" + + "Y29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1j" + + "bGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1z" + + "ZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1k" + + "b2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0" + + "b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8" + + "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRo" + + "ZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFn" + + "ZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBv" + + "cGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3Ig" + + "dGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51" + + "YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0" + + "ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBh" + + "IGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250" + + "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + + "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3Rl" + + "ZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlv" + + "bgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxu" + + "YW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRp" + + "b25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhw" + + "ZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + + "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0" + + "LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vz" + + "c2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQv" + + "b3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNh" + + "LXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdT" + + "IEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMy" + + "Q29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVs" + + "bCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmll" + + "cyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwg" + + "aGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQg" + + "aWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMg" + + "UG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhl" + + "IEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBw" + + "b2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9u" + + "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + + "IC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xs" + + "ZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5n" + + "CmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2Vw" + + "dWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3Jl" + + "dCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNl" + + "Y3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + + "ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + + "CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAE2XeaZKEAAAShAAABIACQAAAAAA" + + "AAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb" + + "2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lM" + + "TC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAp885w/4UAAD+FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQAxi5lP2RgAANkYAAA3AAkAAAAAAAAAAAAAAMKcAABkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQA" + + "FAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAACbYAAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQA" + + "CAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABjQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + + "AAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAADQBAEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + + "ZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAAAAAAAAAAAJcuAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + + "ACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAA1OAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + + "bGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYm" + + "AAAwAAkAAAAAAAAAAAAAAH5aAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + + "Y29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAA" + + "AAAAAAD7gAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMu" + + "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAkHEBNPRgAAD0YAAALQAJAAAAAAAAAAAAAADMkQEA" + + "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAJPMBAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAADzFAIAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpW" + + "AABKVgAANAAJAAAAAAAAAAAAAACfdwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAv" + + "AAkAAAAAAAAAAAAAAFTOAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFt" + + "cGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAA" + + "ADn3AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + + "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAA" + + "tTAAADsACQAAAAAAAAAAAAAAzicDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAA" + + "CioAAEQACQAAAAAAAAAAAAAA9VgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + + "L3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + + "ADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAeoMDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAA" + + "AAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAKmLAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + + "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAA" + + "FwAXAK8JAAAeogMAAAA=" var ( skillDataOnce sync.Once diff --git a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go index 422ee95efe..35f81cddf1 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go +++ b/src/clis/nvcf-cli/internal/selfhosted/clustervalidator.go @@ -1428,18 +1428,20 @@ func ensureClusterValidatorConfig( // buildControlPlaneValidatorConfig assembles the network-check ConfigMap YAML. // The reachability endpoints are the registries the install pulls from, as // EnumerateRegistries resolved them for the local credential check, and all of -// them are non-critical. The validator dials them from a pod with no proxy -// support, but nodes pull through the container runtime, often via an -// HTTPS_PROXY or a registry mirror that pods cannot use: a failed in-pod dial -// is worth a warning, not proof that the nodes cannot pull. With no -// registries the section is omitted. +// them are non-critical. A registry only the stack's charts come from is left +// out: helm pulls the charts on the operator's machine, not in the cluster. +// The validator dials them from a pod with no proxy support, but nodes pull +// through the container runtime, often via an HTTPS_PROXY or a registry +// mirror that pods cannot use: a failed in-pod dial is worth a warning, not +// proof that the nodes cannot pull. With no registries the section is +// omitted. func buildControlPlaneValidatorConfig(registries []RegistryEntry) string { var b strings.Builder listed := map[string]bool{} for _, reg := range registries { host, port := parseRegistryHostPort(reg.Registry) // A registry probed for two repository scopes is one endpoint. - if host == "" || listed[reg.Registry] { + if host == "" || listed[reg.Registry] || reg.ChartsOnly { continue } listed[reg.Registry] = true diff --git a/src/clis/nvcf-cli/internal/selfhosted/preflight.go b/src/clis/nvcf-cli/internal/selfhosted/preflight.go index f6b639e6eb..65690b7607 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/preflight.go +++ b/src/clis/nvcf-cli/internal/selfhosted/preflight.go @@ -1145,19 +1145,26 @@ func clusterValidatorDetail(kubeContext string, result ClusterValidatorResult) s // buildRegistryCredentialCategory returns the registry-credentials category // that probes each configured registry for reachability and valid credentials. // A registry listed twice, for two repository scopes, gets one row per scope. +// Its row with no scope, else its first, is labeled by the registry alone, and +// each other row adds its scope. A chart source of one segment can list the +// row with no scope after a scoped one. func buildRegistryCredentialCategory(cfg PreflightConfig) categorySpec { cat := categorySpec{ name: CategoryRegistryCredentials, role: RoleLocalOnly, // runs regardless of cluster role checks: make([]binaryCheckSpec, 0, len(cfg.Registries)), } - seen := map[string]bool{} - for _, reg := range cfg.Registries { + bare := map[string]int{} + for i, reg := range cfg.Registries { + if j, ok := bare[reg.Registry]; !ok || (reg.RepoHint == "" && cfg.Registries[j].RepoHint != "") { + bare[reg.Registry] = i + } + } + for i, reg := range cfg.Registries { label := reg.Registry - if seen[label] { + if bare[reg.Registry] != i { label += "/" + reg.RepoHint } - seen[reg.Registry] = true cat.checks = append(cat.checks, registryCredentialCheck(cfg.RegistryChecker, reg, label, cfg.RegistryPostInstall, cfg.RegistryClusterSecrets)) } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index b81c7bf142..7e1a15fe85 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -419,9 +419,11 @@ type RegistryEntry struct { // it, and every other registry, is a warning at most. Critical bool // Charts marks the scope helm on this machine pulls the stack's charts - // from, with the docker login: the stack's OCI chart source, where it is - // the scope the stack's images come from. + // from, with the docker login: the stack's OCI chart source. Charts bool + // ChartsOnly marks a Charts entry no other source named. The clusters + // pull nothing from it, so the control-plane validator does not dial it. + ChartsOnly bool } // ParseRegistryExtra parses one --cluster-validator-registries entry, @@ -674,10 +676,10 @@ func digAny(m map[string]any, keys ...string) any { // EnumerateRegistries builds the list of registries to credential-check from // the validator image ref, the stack values (global.image.registry and -// repository, and quay.io for the cert-manager ACME solver), and the -// operator-supplied extras. stack is empty when the values that describe the -// install could not be read; then only the image and the extras name -// registries, and nvcr.io is a non-critical guess. +// repository, the OCI chart source, and quay.io for the cert-manager ACME +// solver), and the operator-supplied extras. stack is empty when the values +// that describe the install could not be read; then only the image and the +// extras name registries, and nvcr.io is a non-critical guess. func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEntry) []RegistryEntry { var out []RegistryEntry @@ -685,7 +687,9 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // counts as having named a registry once its value passed validation. A // registry already listed is listed again only for a scope not yet probed: // the validator image's org and the stack's org can differ on one registry. - add := func(registry, repoHint string, critical bool) *RegistryEntry { + // An entry for any scope probes the registry, unless exact asks for that + // scope alone. An entry another source also names is not chart-only. + add := func(registry, repoHint string, critical, exact bool) *RegistryEntry { registry = strings.TrimSpace(registry) if registry == "" { return nil @@ -698,7 +702,8 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn return nil } for i, e := range out { - if e.Registry == registry && (e.RepoHint == repoHint || repoHint == "") { + if e.Registry == registry && (e.RepoHint == repoHint || (repoHint == "" && !exact)) { + out[i].ChartsOnly = false return &out[i] } } @@ -716,7 +721,7 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // contacts this registry at pull time (ImagePullPolicy is IfNotPresent). imageNamedRegistry := false if reg, repo, _, ok := parseImageRef(imageRef); ok { - imageNamedRegistry = add(reg, repo, isNGCRegistry(reg)) != nil + imageNamedRegistry = add(reg, repo, isNGCRegistry(reg), false) != nil } // Source 2: global.image.registry and global.image.repository from the @@ -725,21 +730,28 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // is caught even when the validator image comes from another org. The // stack renders registry + "/" + repository, so "harbor.corp.example/nvcf" // is a valid registry: probe its host and fold the path into the scope. - // - // Helm on this machine pulls the stack's charts from global.helm.sources - // with the docker login. Where that is the same scope, the entry is marked, - // since a docker login with no access to it fails the install. stackNamedRegistry := false if host, scope := stackScope(stack.ImageRegistry, stack.ImageRepository); host != "" { // If it's an NGC registry, mark critical; customer mirrors are non-critical. - if e := add(host, scope, isNGCRegistry(host)); e != nil { - stackNamedRegistry = true - chartHost, chartScope := stackScope(stack.ChartRegistry, stack.ChartRepository) - e.Charts = e.Charts || (e.RepoHint == scope && chartHost == host && chartScope == scope) + stackNamedRegistry = add(host, scope, isNGCRegistry(host), false) != nil + } + + // Source 3: the stack's OCI chart source, global.helm.sources.registry and + // repository, folded into a host and scope the same way. helm on this + // machine pulls the stack's charts from it with the docker login, so a + // login it rejects, or one with no access to that scope, fails the + // install. It marks the entry already listed for that scope, and is + // otherwise listed on its own, critical for an NGC registry like the + // stack's images. + if host, scope := stackScope(stack.ChartRegistry, stack.ChartRepository); host != "" { + listed := len(out) + if e := add(host, scope, isNGCRegistry(host), true); e != nil { + e.Charts = true + e.ChartsOnly = len(out) > listed } } - // Source 3: cert-manager's ACME solver. global.yaml.gotmpl moves the + // Source 4: cert-manager's ACME solver. global.yaml.gotmpl moves the // controller images to the mirror, but the solver keeps the chart's // quay.io/jetstack default unless certManager.acmesolver.image is set, so // a mirrored site still pulls it from quay.io at its first HTTP-01 order. @@ -747,13 +759,13 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // solver somewhere else. Without stack values, probe it as a guess. if acme := stack.ACMESolverRepository; !stack.Found || (stack.CertManagerEnabled && (acme == "" || strings.HasPrefix(acme, certManagerRegistry+"/"))) { - add(certManagerRegistry, "", false) + add(certManagerRegistry, "", false, false) } - // Source 4: operator-supplied extras (--cluster-validator-registries), + // Source 5: operator-supplied extras (--cluster-validator-registries), // parsed by ParseRegistryExtra. for _, e := range extras { - add(e.Registry, e.RepoHint, false) + add(e.Registry, e.RepoHint, false, false) } // Fallback for "no source named a registry at all": no validator image is @@ -770,7 +782,7 @@ func EnumerateRegistries(imageRef string, stack StackValues, extras []RegistryEn // Non-critical, unlike an NGC registry a source actually named. A guess // must not hard-fail the run, and this category has no opt-out flag. if !imageNamedRegistry && !stackNamedRegistry { - add(ngcRegistry, "", false) + add(ngcRegistry, "", false, false) } return out diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go index dd658fce11..b6e664164e 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred_test.go @@ -545,21 +545,31 @@ global: } // helm pulls the stack's charts from global.helm.sources with the docker -// login. The stack's row is marked as that scope only where the OCI chart -// source folds to the same host and scope as the images, the validator -// image's row included when it names the same scope. An HTTPS chart -// repository carries credentials of its own, and a chart source elsewhere is -// not the row's scope. +// login. Where the OCI chart source folds to a scope already listed, the +// stack's images' or the validator image's, that row is marked. On any other +// scope, another org, another host, or an org with no team, it gets a row of +// its own, critical for an NGC registry like the stack's images. The +// control-plane validator does not dial a registry only the charts come from, +// since helm pulls them on this machine. An HTTPS chart repository carries +// credentials of its own and gets no row. func TestEnumerateRegistries_MarksTheScopeHelmPullsTheChartsFrom(t *testing.T) { dir := t.TempDir() values := filepath.Join(dir, "base.yaml") - charts := func(body, image string) []RegistryEntry { + stackWith := func(body string) StackValues { t.Helper() require.NoError(t, writeFile(values, []byte("global:\n image:\n registry: nvcr.io/orgb\n"+ " repository: team\n"+body+"certManager:\n enabled: false\n"))) - return EnumerateRegistries(image, LoadStackValues([]string{values}), nil) + return LoadStackValues([]string{values}) + } + charts := func(body, image string) []RegistryEntry { + t.Helper() + return EnumerateRegistries(image, stackWith(body), nil) + } + source := func(registry, repository string) string { + return " helm:\n sources:\n registry: " + registry + "\n repository: " + repository + "\n" } - const sameScope = " helm:\n sources:\n registry: nvcr.io\n repository: orgb/team\n" + sameScope := source("nvcr.io", "orgb/team") + images := RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true} got := charts(sameScope, "") require.Len(t, got, 1) @@ -574,16 +584,60 @@ func TestEnumerateRegistries_MarksTheScopeHelmPullsTheChartsFrom(t *testing.T) { require.Len(t, got, 1, "the validator image names the stack's scope") assert.True(t, got[0].Charts) + got = charts(source("nvcr.io", "nvidia/cv"), "nvcr.io/nvidia/cv:1.0.0") + require.Len(t, got, 2, "the chart source names the validator image's scope") + assert.True(t, got[0].Charts) + assert.False(t, got[0].ChartsOnly) + + for name, tc := range map[string]struct { + body string + want RegistryEntry + ids []string + }{ + "another org": {body: source("nvcr.io", "orgc/team"), + want: RegistryEntry{Registry: "nvcr.io", RepoHint: "orgc/team", Critical: true, + Charts: true, ChartsOnly: true}, + ids: []string{"registry-cred-nvcr.io", "registry-cred-nvcr.io/orgc/team"}}, + "another host": {body: source("harbor.example.com", "orgb/team"), + want: RegistryEntry{Registry: "harbor.example.com", RepoHint: "orgb/team", Charts: true, ChartsOnly: true}, + ids: []string{"registry-cred-nvcr.io", "registry-cred-harbor.example.com"}}, + "an org with no team": {body: source("nvcr.io", "orgb"), + want: RegistryEntry{Registry: "nvcr.io", Critical: true, Charts: true, ChartsOnly: true}, + ids: []string{"registry-cred-nvcr.io/orgb/team", "registry-cred-nvcr.io"}}, + } { + got = charts(tc.body, "") + require.Len(t, got, 2, name) + assert.Equal(t, images, got[0], name) + assert.Equal(t, tc.want, got[1], name) + + cat := buildRegistryCredentialCategory(PreflightConfig{Registries: got, + RegistryChecker: func(context.Context, string, string, bool, bool) error { return nil }}) + var ids []string + for _, c := range cat.checks { + ids = append(ids, c.ID) + } + assert.Equal(t, tc.ids, ids, name) + + cfg := buildControlPlaneValidatorConfig(got) + assert.Equal(t, 1, strings.Count(cfg, "host: "), name) + assert.Contains(t, cfg, `host: "nvcr.io"`, name) + } + + got = EnumerateRegistries("", stackWith(source("harbor.example.com", "orgb/team")), + []RegistryEntry{{Registry: "harbor.example.com"}}) + require.Len(t, got, 2) + assert.True(t, got[1].Charts) + assert.False(t, got[1].ChartsOnly, "an extra names the chart registry for the in-pod probe") + assert.Contains(t, buildControlPlaneValidatorConfig(got), `host: "harbor.example.com"`) + for name, body := range map[string]string{ "https chart repository": " helm:\n sources:\n url: https://helm.example.com/nvcf\n" + - " registry: nvcr.io\n repository: orgb/team\n", - "another org": " helm:\n sources:\n registry: nvcr.io\n repository: orgc/team\n", - "another host": " helm:\n sources:\n registry: harbor.example.com\n repository: orgb/team\n", + " registry: nvcr.io\n repository: orgc/team\n", "no chart source": "", } { got = charts(body, "") require.Len(t, got, 1, name) - assert.False(t, got[0].Charts, name) + assert.Equal(t, images, got[0], name) } } From d5e2caecb0114c1822c4658a90925385fba9ad12 Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 13:54:45 +0530 Subject: [PATCH 126/127] fix(nvcf-cli): warn on the chart row when the docker login helm uses could not be checked before a local install Signed-off-by: rohithb --- .../selfhosted/credential_scope_test.go | 55 +++++++++++++++---- .../internal/selfhosted/dockercreds.go | 26 ++++++--- .../internal/selfhosted/registry_cred.go | 4 ++ 3 files changed, 66 insertions(+), 19 deletions(-) diff --git a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go index 9c9d860e0d..840e7c71f4 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go +++ b/src/clis/nvcf-cli/internal/selfhosted/credential_scope_test.go @@ -38,6 +38,10 @@ import ( // newEntitledNGC accepts each password in access for the repositories under // the orgs listed for it; "" stands for every repository. +// unavailableToken, listed as a password's org, has the fake token service +// answer that password 503. +const unavailableToken = "!unavailable" + func newEntitledNGC(t *testing.T, access map[string][]string) *fakeNGC { t.Helper() f := &fakeNGC{} @@ -61,6 +65,10 @@ func newEntitledNGC(t *testing.T, access map[string][]string) *fakeNGC { return } orgs, known := access[pass] + if slices.Contains(orgs, unavailableToken) { + w.WriteHeader(http.StatusServiceUnavailable) + return + } if !known { w.WriteHeader(http.StatusUnauthorized) return @@ -225,11 +233,18 @@ func TestRegistryCredentialCheck_KeyFirstStillJudgesTheChartScopesLogin(t *testi "so the install cannot pull them" for name, tc := range map[string]struct { login string + config string access map[string][]string message string + warning bool }{ "rejected login": {login: "rotated-out", access: map[string][]string{"key-pass": {""}}, message: "was rejected, and docker and helm on this machine still send it"}, + "login the registry gave no answer for": {login: "login-pass", + access: map[string][]string{"key-pass": {""}, "login-pass": {unavailableToken}}, + message: "could not verify the docker login helm on this machine pulls the charts from", warning: true}, + "unreadable docker config": {config: "{", access: map[string][]string{"key-pass": {""}}, + message: "could not verify the docker login helm on this machine pulls the charts from", warning: true}, "login with no access": {login: "login-pass", access: map[string][]string{"key-pass": {""}, "login-pass": {"nvidia"}}, message: "has no access to nvcr.io/orgb/team, so the run sends NGC_API_KEY for it"}, @@ -241,7 +256,10 @@ func TestRegistryCredentialCheck_KeyFirstStillJudgesTheChartScopesLogin(t *testi withTempCacheDir(t) ngc := newEntitledNGC(t, tc.access) config := `{}` - if tc.login != "" { + switch { + case tc.config != "": + config = tc.config + case tc.login != "": config = inlineDockerConfig(t, "nvcr.io", "$oauthtoken", tc.login, "") } dockerHome(t, config) @@ -250,10 +268,16 @@ func TestRegistryCredentialCheck_KeyFirstStillJudgesTheChartScopesLogin(t *testi chartRow := RegistryEntry{Registry: "nvcr.io", RepoHint: "orgb/team", Critical: true, Charts: true} r := registryCredentialCheck(probeRegistryCredential, chartRow, "nvcr.io/orgb/team", false, nil).Run(ctx) - if tc.message == "" { + switch { + case tc.message == "": assert.True(t, r.Passed, r.Message) assert.Equal(t, SeverityInfo, r.Severity) - } else { + case tc.warning: + assert.False(t, r.Passed, r.Message) + assert.Equal(t, SeverityWarning, r.Severity, "the login could not be judged, which is no pass") + assert.Contains(t, r.Message, tc.message) + assert.Contains(t, r.Message, "credentials from NGC_API_KEY valid") + default: assert.False(t, r.Passed, r.Message) assert.Equal(t, SeverityError, r.Severity) assert.Error(t, r.Err) @@ -262,6 +286,22 @@ func TestRegistryCredentialCheck_KeyFirstStillJudgesTheChartScopesLogin(t *testi assert.Contains(t, r.Message, charts) } + loginSends := func() int { + n := 0 + for _, p := range ngc.passwords() { + if p != "key-pass" { + n++ + } + } + return n + } + byChartRow := loginSends() + if tc.login == "" { + assert.Zero(t, byChartRow) + } else if !tc.warning { + assert.Equal(t, 1, byChartRow, "the chart row sends the docker login once") + } + other := RegistryEntry{Registry: "nvcr.io", RepoHint: "nvidia/cv", Critical: true} r = registryCredentialCheck(probeRegistryCredential, other, "nvcr.io", false, nil).Run(ctx) assert.True(t, r.Passed, r.Message) @@ -272,14 +312,7 @@ func TestRegistryCredentialCheck_KeyFirstStillJudgesTheChartScopesLogin(t *testi assert.Equal(t, "key-pass", mintPullSecret(ctx, t, fake.NewSimpleClientset(), "nvcr.io/orgb/team/cv:1.0.0", clusterValidatorControlPlaneRole), "the pull secret keeps the key, which up mints from") - sentLogin := 0 - for _, p := range ngc.passwords() { - if p != "key-pass" { - sentLogin++ - } - } - assert.Equal(t, map[bool]int{true: 1, false: 0}[tc.login != ""], sentLogin, - "only the chart scope's row sends the docker login") + assert.Equal(t, byChartRow, loginSends(), "only the chart scope's row sends the docker login") }) } } diff --git a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go index e87bf04cb9..793839bf2d 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go +++ b/src/clis/nvcf-cli/internal/selfhosted/dockercreds.go @@ -122,6 +122,10 @@ type settledCredential struct { // fallbackFailure says why the NGC key, tried for a scope the docker // login had no access to, did not take its place. fallbackFailure string + // loginUnjudged says why judgeLogin could not judge the docker login + // helm pulls the charts with: its config could not be read, or the + // registry gave no answer about it. + loginUnjudged string } // NewRegistryCredentials returns a per-run credential resolver. @@ -288,30 +292,36 @@ func settleScope( // rejected and a 403 marks it without access to repo, as settleScope does. // The credential the run uses for repo stays the key. A scope helm on this // machine pulls the stack's charts from needs this: helm sends the docker -// login whatever order the run sends credentials in. An answer that says -// nothing about the login, or no docker login besides the key, leaves -// settled as it was. +// login whatever order the run sends credentials in. No docker login besides +// the key leaves settled as it was; a docker config that cannot be read, or +// an answer that says nothing about the login, sets loginUnjudged. func (rc *RegistryCredentials) judgeLogin( ctx context.Context, registry, repo, challenge string, settled settledCredential, ) settledCredential { if !rc.preferNGCKey || !settled.ok || !settled.cred.ngcKey { return settled } - login, ok, _ := credsFromDockerConfig(ctx, registry) + login, ok, err := credsFromDockerConfig(ctx, registry) + if err != nil { + settled.loginUnjudged = err.Error() + return settled + } if !ok || login.pass == settled.cred.pass { return settled } jctx, cancel := context.WithTimeout(ctx, credentialSettleTimeout) defer cancel() - _, err := exchangeBearerToken(jctx, newRegistryHTTPClient(credentialSettleTimeout), registry, repo, challenge, + _, err = exchangeBearerToken(jctx, newRegistryHTTPClient(credentialSettleTimeout), registry, repo, challenge, &login) var te *tokenExchangeError switch { - case !errors.As(err, &te) || !te.credentialed: - case te.status == http.StatusUnauthorized: + case err == nil: + case errors.As(err, &te) && te.rejected() && te.status == http.StatusUnauthorized: settled.rejectedLogin = &login - case te.status == http.StatusForbidden: + case errors.As(err, &te) && te.rejected(): settled.noAccessLogin = &login + default: + settled.loginUnjudged = err.Error() } return settled } diff --git a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go index 7e1a15fe85..ebe909400b 100644 --- a/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go +++ b/src/clis/nvcf-cli/internal/selfhosted/registry_cred.go @@ -233,6 +233,10 @@ func probeRegistryCredential(ctx context.Context, registry, repoHint string, cri return registryProbeOutcome{kind: probeOtherCredential, detail: fmt.Sprintf( "credentials from %s valid; the docker login from %s has no access to %s, so the run sends %s for it", cred.source, settled.noAccessLogin.source, scopeLabel(registry, repoHint), cred.source)} + case settled.loginUnjudged != "": + return registryProbeOutcome{kind: probeUnverifiable, detail: fmt.Sprintf( + "credentials from %s valid; could not verify the docker login helm on this machine pulls the "+ + "charts from %s with: %s", cred.source, scopeLabel(registry, repoHint), settled.loginUnjudged)} } return nil } From c711f9909913037422613a4a74681fbfc115f94e Mon Sep 17 00:00:00 2001 From: rohithb Date: Wed, 7 Oct 2026 15:57:28 +0530 Subject: [PATCH 127/127] docs(nvcf-cli): ask for the control-plane context and env the compute-plane pre-flight uses, or fall back without them Signed-off-by: rohithb --- .../prompts/add-compute-plane.md | 9 +- .../agentskill/skilldata_generated.go | 6963 +++++++++-------- 2 files changed, 3491 insertions(+), 3481 deletions(-) diff --git a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md index c940203fb3..20cbf015cd 100644 --- a/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md +++ b/ai-tooling/user/skills/nvcf-self-managed-cli/prompts/add-compute-plane.md @@ -19,6 +19,10 @@ User has a working NVCF control plane (running somewhere) and wants to register - `--kube-context=`: the new GPU cluster's kubectl context - `--icms-url=` — control plane's public ICMS URL - GPU type? (default `H100`, but ask) + - Optional, for the pre-flight in step 2: the control-plane cluster's + kubectl context (`$CP_CTX`) and the `--env` the control plane was + installed with (`$CP_ENV`). Without either, use the `--compute-plane` + fallback in step 2. 2. Pre-flight the new compute plane as not yet installed. With a kubectl context for the control-plane cluster as well, `check --pre @@ -44,8 +48,9 @@ User has a working NVCF control plane (running somewhere) and wants to register `NGC_API_KEY` works. A missing `helm`, `helmfile` or `kubectl` fails it too. SIS reachability is not probed before install. - Without a context for the control-plane cluster, check the new cluster - alone with `--compute-plane`. `check` takes both context flags or neither + Without a context for the control-plane cluster, or without the `--env` + it was installed with, check the new cluster alone with + `--compute-plane`. `check` takes both context flags or neither and has no `--kubeconfig` flag, so give it, through `KUBECONFIG` for this command only, a temporary kubeconfig holding just the new GPU cluster's context. The current context of the user's kubeconfig stays as it was: diff --git a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go index e43f8d51f8..9efc35133a 100644 --- a/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go +++ b/src/clis/nvcf-cli/internal/agentskill/skilldata_generated.go @@ -31,7 +31,7 @@ import ( const skillDataZipBase64 = "" + "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAASAAkAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4S" + "ewogICJzY2hlbWFWZXJzaW9uIjogMSwKICAiZ2VuZXJhdGVkQXQiOiAiMTk3MC0wMS0wMVQwMDow" + - "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzE0NjEsCiAgImZp" + + "MDowMFoiLAogICJ0b3RhbEZpbGVzIjogMjIsCiAgInRvdGFsQnl0ZXMiOiAyMzE3NTQsCiAgImZp" + "bGVzIjogWwogICAgewogICAgICAicGF0aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwu" + "bWQiLAogICAgICAic2hhMjU2IjogImU5YjFjZTkzZjM2NWI1NmI5NGFmMDAzZTI4YTdjMWZiMDlk" + "NTg2OTdmNjk4YWQ1YTIxZTZiMzI2MTAxM2E5YWMiLAogICAgICAic2l6ZSI6IDI1ODE2CiAgICB9" + @@ -42,9 +42,9 @@ const skillDataZipBase64 = "" + "bXBsZXMvbXVsdGktY2x1c3Rlci5tZCIsCiAgICAgICJzaGEyNTYiOiAiMDJlZTg0NTcxY2IxNDgz" + "OWI1ZmI2YWJjODc2NTFiNTFhNWE4NzgzZDFlYjk1NGUwYjUxNTRjZTgwOGM0ODY5ZSIsCiAgICAg" + "ICJzaXplIjogNTM3NAogICAgfSwKICAgIHsKICAgICAgInBhdGgiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogIjY1" + - "OGIwMDU3ZTQwZjNjODI3MDcxZTE5ZWYzMjQwNmFhODczNWJiNTE1ZDUwYjk2ZDY0NjYwMTU5OTFl" + - "NmQxMjEiLAogICAgICAic2l6ZSI6IDYzNjEKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + + "ZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWQiLAogICAgICAic2hhMjU2IjogImY3" + + "YWFmZjhmYWFkMTE4ZjBkOTQ5MzExMWU2ZDJmNTZmZmZmNmU2NmUxNTQ2MWU4NGJiMDZmMWJlZDE3" + + "YjM0MWEiLAogICAgICAic2l6ZSI6IDY2NTQKICAgIH0sCiAgICB7CiAgICAgICJwYXRoIjogIm52" + "Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRhc2subWQiLAogICAg" + "ICAic2hhMjU2IjogIjcxMWMzMGFiODg5ZTNlYjI4MWQxZmRjODUxMDI3ZWIzMzkzYzdiODRmYzc0" + "NTUwNDkwZDU1OTNjNDE5NTYzOTkiLAogICAgICAic2l6ZSI6IDY1NTkKICAgIH0sCiAgICB7CiAg" + @@ -103,7 +103,7 @@ const skillDataZipBase64 = "" + "aCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9wdWxsLXNlY3Jl" + "dHMubWQiLAogICAgICAic2hhMjU2IjogImVjMWYzZmZjZDE3ZTVmOTU4M2ZlZTM5NzQ0ZWU4OTdk" + "NDY2YmMzY2Y2Mzg5Mjk0MjY0ZDg5ZTdmOWVkMDFiODciLAogICAgICAic2l6ZSI6IDU2MzIKICAg" + - "IH0KICBdCn0KUEsHCE2XeaZKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + + "IH0KICBdCn0KUEsHCNP7KMpKEAAAShAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAIwAJAGRh" + "dGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kVVQFAAEAps4SLS0tCm5hbWU6IG52Y2Yt" + "c2VsZi1tYW5hZ2VkLWNsaQpkZXNjcmlwdGlvbjogfAogIEluc3RhbGwsIG9wZXJhdGUsIGFuZCB0" + "ZWFyIGRvd24gc2VsZi1ob3N0ZWQgTlZJRElBIENsb3VkIEZ1bmN0aW9ucyAoTlZDRikKICBkZXBs" + @@ -764,3493 +764,3498 @@ const skillDataZipBase64 = "" + "LWNvbnRleHQ9PGNvbnRleHQ+YDogdGhlIG5ldyBHUFUgY2x1c3RlcidzIGt1YmVjdGwgY29udGV4" + "dAogICAtIGAtLWljbXMtdXJsPTxodHRwczovL2ljbXMubnZjZi5leGFtcGxlLmNvbT5gIOKAlCBj" + "b250cm9sIHBsYW5lJ3MgcHVibGljIElDTVMgVVJMCiAgIC0gR1BVIHR5cGU/IChkZWZhdWx0IGBI" + - "MTAwYCwgYnV0IGFzaykKCjIuIFByZS1mbGlnaHQgdGhlIG5ldyBjb21wdXRlIHBsYW5lIGFzIG5v" + - "dCB5ZXQgaW5zdGFsbGVkLiBXaXRoIGEga3ViZWN0bAogICBjb250ZXh0IGZvciB0aGUgY29udHJv" + - "bC1wbGFuZSBjbHVzdGVyIGFzIHdlbGwsIGBjaGVjayAtLXByZQogICAtLWNvbnRyb2wtcGxhbmVg" + - "IGNoZWNrcyB0aGUgY29udHJvbCBwbGFuZSBhcyBpbnN0YWxsZWQgYW5kIHRoZSBuZXcKICAgY29t" + - "cHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxlZDoKCiAgIGBgYHNoCiAgIG52Y2YtY2xpIHNl" + - "bGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tY29udHJvbC1wbGFuZSBcCiAgICAgLS1jb250cm9sLXBs" + - "YW5lLWNvbnRleHQ9IiRDUF9DVFgiIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIkQ1RYIiBcCiAg" + - "ICAgLS1lbnY9IiRDUF9FTlYiIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAn" + - "XnsnID4gY2hlY2suanNvbmwKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBh" + - "bmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIGAkQ1BfRU5WYCBpcyB0aGUgYC0t" + - "ZW52YCB0aGUgY29udHJvbCBwbGFuZSB3YXMgaW5zdGFsbGVkIHdpdGguIFRoaXMgY2hlY2tzCiAg" + - "IHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXIsIGFuZCB0aGUgbmV3IGNsdXN0ZXI6IGxlZnRvdmVy" + - "IE5WQ0YgbmFtZXNwYWNlcywKICAgbm9kZSBpbm90aWZ5IGxpbWl0cywgYW5kIHRoZSBjb21wdXRl" + - "LXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIChHUFUKICAgcmVzb3VyY2VzLCBHUFUgT3BlcmF0b3Is" + - "IFNNQiBDU0kgZHJpdmVyKSB3aGVuIGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaXMKICAgc2V0" + - "LiBJdCBncmFkZXMgdGhpcyBtYWNoaW5lJ3MgcmVnaXN0cnkgY3JlZGVudGlhbHMgYXMgYGNvbXB1" + - "dGUtcGxhbmUKICAgaW5zdGFsbGAgdXNlcyB0aGVtOiBgaGVsbWAgb24gdGhpcyBtYWNoaW5lIHB1" + - "bGxzIHRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0cwogICB3aXRoIHRoZSBkb2NrZXIgbG9naW4sIHNv" + - "IGEgZG9ja2VyIGxvZ2luIGBudmNyLmlvYCByZWplY3RzLCBvciBvbmUgd2l0aCBubwogICBhY2Nl" + - "c3MgdG8gdGhlIG9yZyB0aGUgY2hhcnRzIGNvbWUgZnJvbSwgZmFpbHMgdGhlIGdhdGUgZXZlbiB3" + - "aGVuCiAgIGBOR0NfQVBJX0tFWWAgd29ya3MuIEEgbWlzc2luZyBgaGVsbWAsIGBoZWxtZmlsZWAg" + - "b3IgYGt1YmVjdGxgIGZhaWxzIGl0CiAgIHRvby4gU0lTIHJlYWNoYWJpbGl0eSBpcyBub3QgcHJv" + - "YmVkIGJlZm9yZSBpbnN0YWxsLgoKICAgV2l0aG91dCBhIGNvbnRleHQgZm9yIHRoZSBjb250cm9s" + - "LXBsYW5lIGNsdXN0ZXIsIGNoZWNrIHRoZSBuZXcgY2x1c3RlcgogICBhbG9uZSB3aXRoIGAtLWNv" + - "bXB1dGUtcGxhbmVgLiBgY2hlY2tgIHRha2VzIGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVy" + - "CiAgIGFuZCBoYXMgbm8gYC0ta3ViZWNvbmZpZ2AgZmxhZywgc28gZ2l2ZSBpdCwgdGhyb3VnaCBg" + - "S1VCRUNPTkZJR2AgZm9yIHRoaXMKICAgY29tbWFuZCBvbmx5LCBhIHRlbXBvcmFyeSBrdWJlY29u" + - "ZmlnIGhvbGRpbmcganVzdCB0aGUgbmV3IEdQVSBjbHVzdGVyJ3MKICAgY29udGV4dC4gVGhlIGN1" + - "cnJlbnQgY29udGV4dCBvZiB0aGUgdXNlcidzIGt1YmVjb25maWcgc3RheXMgYXMgaXQgd2FzOgoK" + - "ICAgYGBgc2gKICAgS0M9JChta3RlbXApCiAgIGt1YmVjdGwgY29uZmlnIHZpZXcgLS1taW5pZnkg" + - "LS1mbGF0dGVuIC0tY29udGV4dD0iJENUWCIgPiAiJEtDIgogICBLVUJFQ09ORklHPSIkS0MiIG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBcCiAgICAgLS1pY21zLXVy" + - "bD0kSUNNUyBcCiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNr" + - "Lmpzb25sCiAgIHJtIC1mICIkS0MiCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2ZW50ID09ICJmaW5h" + - "bCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBUaGF0IHJ1bnMgdGhlIHNh" + - "bWUgY2hlY2tzIG9uIHRoZSBuZXcgY2x1c3RlciwgYW5kIFNJUyByZWFjaGFiaWxpdHkgYXQKICAg" + - "YC0taWNtcy11cmxgLCBidXQgY2hlY2tzIHRoZSBjb21wdXRlIHBsYW5lIGFzIGluc3RhbGxlZDog" + - "YSBtaXNzaW5nIHRvb2wKICAgb25seSB3YXJucy4gQSBkb2NrZXIgbG9naW4gYG52Y3IuaW9gIHJl" + - "amVjdHMgc3RpbGwgZmFpbHMgdGhlIGdhdGUsIGJ1dCBvbmUKICAgd2l0aCBubyBhY2Nlc3MgdG8g" + - "dGhlIG9yZyB0aGUgY29tcHV0ZS1wbGFuZSBjaGFydHMgY29tZSBmcm9tIHBhc3NlcyB3aGVyZQog" + - "ICBgTkdDX0FQSV9LRVlgIHJlYWNoZXMgaXQuIFRyZWF0IGEgYHJlZ2lzdHJ5LWNyZWRlbnRpYWxz" + - "YCByb3cgdGhhdCBzYXlzIHRoZQogICBkb2NrZXIgbG9naW4gaGFzIG5vIGFjY2VzcyBhcyBibG9j" + - "a2luZywgYW5kIGxvZyBpbiB3aXRoIGEgY3JlZGVudGlhbCB0aGF0CiAgIGhhcyBhY2Nlc3MgYmVm" + - "b3JlIHRoZSBpbnN0YWxsLgoKICAgSWYgdGhlIGdhdGUgZmFpbHMsIHNob3cgdGhlIHVzZXIgdGhl" + - "IGBjaGVja19jb21wbGV0ZWRgIGV2ZW50cyB3aXRoCiAgIGBwYXNzZWQ6IGZhbHNlYCBhbmQgYHNl" + - "dmVyaXR5OiAiZXJyb3IiYCwgYW5kIGFkZHJlc3MgdGhlbSBiZWZvcmUKICAgcHJvY2VlZGluZy4K" + - "CjMuIFJlZ2lzdGVyIHRoZSBjbHVzdGVyLCB0aGVuIGluc3RhbGwgaXRzIGNvbXB1dGUgcGxhbmUg" + - "ZnJvbSB0aGUgdmFsdWVzCiAgIGZpbGUgcmVnaXN0cmF0aW9uIHdyaXRlcy4gQm90aCBjb21tYW5k" + - "cyBuYW1lIHRoZSBuZXcgY2x1c3RlcidzIGNvbnRleHQKICAgd2l0aCBgLS1rdWJlLWNvbnRleHRg" + - "OgoKICAgYGBgc2gKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + - "ciBcCiAgICAgLS1jb250cm9sLXBsYW5lLXByb2ZpbGU9Y29udHJvbC1wbGFuZS1wcm9maWxlLnlh" + - "bWwgXAogICAgIC0tY2x1c3Rlci1uYW1lPSROQU1FIFwKICAgICAtLWt1YmUtY29udGV4dD0kQ1RY" + - "IFwKICAgICAtLWljbXMtdXJsPSRJQ01TIFwKICAgICAtLXRva2VuPSRKV1QgXAogICAgIC0tb3V0" + - "cHV0PSROQU1FLXJlZ2lzdGVyLXZhbHVlcy55YW1sCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgICAgLS12YWx1ZXM9JE5BTUUtcmVnaXN0ZXItdmFsdWVz" + - "LnlhbWwgXAogICAgIC0ta3ViZS1jb250ZXh0PSRDVFggXAogICAgIC0tY2x1c3Rlci1uYW1lPSRO" + - "QU1FCiAgIGBgYAoKICAgYGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHJlY29yZHMgdGhlIGNsdXN0" + - "ZXIncyBPSURDIGlzc3VlciBhbmQgSldLUyB3aXRoCiAgIElDTVMgYXQgYC0taWNtcy11cmxgIGFu" + - "ZCB3cml0ZXMgdGhlIE5WQ0Egb3BlcmF0b3IgdmFsdWVzLiBgY29tcHV0ZS1wbGFuZQogICBpbnN0" + - "YWxsYCBpbnN0YWxscyB0aGUgY29tcHV0ZS1wbGFuZSBzdGFjayB3aXRoIHRoZW0uIE5laXRoZXIg" + - "dG91Y2hlcyB0aGUKICAgY29udHJvbC1wbGFuZSBjbHVzdGVyOiBJQ01TIGlzIHJlYWNoZWQgb3Zl" + - "ciBIVFRQUy4gYC0tdG9rZW5gIHBhc3NlcyB0aGUKICAgYWRtaW4gSldUOyB3aXRob3V0IGl0IHRo" + - "ZSB0b2tlbiBgbnZjZi1jbGkgaW5pdGAgc3RvcmVkIGlzIHVzZWQuCgo0LiBWZXJpZnkuIGBudmNm" + - "LWNsaSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1jbHVzdGVyLW5hbWU9JE5BTUUgLS1qc29uIHwganFg" + - "OiBleHBlY3QgYHZlcmRpY3Q6ICJoZWFsdGh5ImAuIFRoZSBSZWdpc3RlcmVkIENvbXB1dGUgUGxh" + - "bmVzIHBhbmVsIGZyb20gSUNNUyBzaG91bGQgbm93IGxpc3QgdGhlIG5ldyBjbHVzdGVyLgoKNS4g" + - "U21va2UuIFtkZXBsb3ktYW5kLWludm9rZS5tZF0oZGVwbG95LWFuZC1pbnZva2UubWQpOiBkZXBs" + - "b3kgYSBzbWFsbCBmdW5jdGlvbiB0byB0aGUgbmV3IGNvbXB1dGUgcGxhbmUgdG8gY29uZmlybSBz" + - "Y2hlZHVsaW5nIHdvcmtzLgoKIyMgV2hhdCBpZiBhIGNsdXN0ZXIgd2l0aCB0aGUgc2FtZSBuYW1l" + - "IGFscmVhZHkgZXhpc3RzPwoKYGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXJgIHJldXNlcyBhbiBleGlz" + - "dGluZyByZWdpc3RyYXRpb246IGl0IG1hdGNoZXMgdGhlIElDTVMgcm93IHdpdGggdGhlIHNhbWUg" + - "bmFtZSwgcmV1c2VzIGl0cyBjbHVzdGVySWQgYW5kIHJlcGxhY2VzIGl0cyBKV0tTLiBUd28gc2Nl" + - "bmFyaW9zOgoKLSAqKlJlLXJlZ2lzdGVyaW5nIHRoZSBzYW1lIGNsdXN0ZXIqKiAocmUtcnVubmlu" + - "ZyBvbiB0aGUgc2FtZSBjb21wdXRlIHBsYW5lIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVnaXN0ZXJl" + - "ZCk6IGV4cGVjdGVkLCBuby1vcCBzZW1hbnRpY3MuCi0gKipEaWZmZXJlbnQgcGh5c2ljYWwgY2x1" + - "c3RlciBidXQgc2FtZSBuYW1lKio6IHRoZSBzZWNvbmQgYXR0ZW1wdCB3aWxsIHJldXNlIHRoZSBJ" + - "Q01TIHJvdywgYnV0IHRoZSBuZXcgY29tcHV0ZSBwbGFuZSdzIEpXS1Mgd2lsbCBiZSBzaWxlbnRs" + - "eSAqcmVwbGFjZWQqIOKAlCB0aGUgb2xkIGNvbXB1dGUgcGxhbmUncyBOVkNBIGFnZW50IHdpbGwg" + - "c3RhcnQgZmFpbGluZyBQU0FUIGF1dGguICoqQ29uZmlybSB3aXRoIHRoZSB1c2VyKiogdGhhdCB0" + - "aGV5IG1lYW50IHRvIG92ZXJ3cml0ZS4KCldoZW4gaW4gZG91YnQsIHJ1biBgbnZjZi1jbGkgY2x1" + - "c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWljbXMtdXJsPSRJQ01TYCBm" + - "aXJzdCBhbmQgYXNrIHRoZSB1c2VyIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBuYW1lIHRoYXQg" + - "YWxyZWFkeSBleGlzdHMuClBLBwgxi5lP2RgAANkYAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "ADkACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2NyZWF0ZS1hbmQtcnVuLXRh" + - "c2subWRVVAUAAQCmzhIjIENyZWF0ZSBhbmQgcnVuIGEgdGFzawoKU3RhbmRhcmQgZmxvdzogbWlu" + - "dCBBUEkga2V5cyAtPiB0YXNrIENSRUFURSAtPiBtb25pdG9yIC0+IHJldHJpZXZlIHJlc3VsdHMg" + - "LT4gY2xlYW51cC4KCiMjIDEuIE1pbnQgQVBJIGtleXMKClRoZSBhZG1pbiB0b2tlbiBmcm9tIGBp" + - "bml0YCBkb2VzIG5vdCBjYXJyeSB0YXNrIGludm9jYXRpb24gc2NvcGUuIEdlbmVyYXRlIEFQSSBr" + - "ZXlzOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2NyaXB0aW9uPSJ0YXNr" + - "IHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aAojIC0+IGZ1bmN0aW9uIGtleTogbnZhcGktLi4u" + - "CiMgLT4gdGFzayBrZXk6IG52YXBpLS4uLgpgYGAKCkJvdGgga2V5cyBhcmUgc2F2ZWQgdG8gQ0xJ" + - "IHN0YXRlLiBUbyBtaW50IG9ubHkgdGhlIHRhc2sga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtl" + - "eSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tZGVzY3JpcHRpb249InRhc2sgc21va2UgdGVzdCIgLS1l" + - "eHBpcmVzLWluPThoCmBgYAoKVG8gdmFsaWRhdGUgZWFjaCBrZXkgaW1tZWRpYXRlbHkgYWZ0ZXIg" + - "bWludGluZzoKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj0i" + - "dGFzayBzbW9rZSB0ZXN0IiAtLWV4cGlyZXMtaW49OGggLS12YWxpZGF0ZQojIC0+IGZ1bmN0aW9u" + - "IEFQSSBrZXkgdmFsaWRhdGlvbiBwYXNzZWQhCiMgLT4gdGFzayBBUEkga2V5IHZhbGlkYXRpb24g" + - "cGFzc2VkIQpgYGAKCk5ldmVyIGVjaG8gdGhlIGtleSB2YWx1ZSAobnZhcGktLi4uKSBpbnRvIGNo" + - "YXQgb3IgbG9ncy4gUmVwb3J0IG9ubHkgdGhhdCB0aGUga2V5IHdhcyBtaW50ZWQsIGl0cyBkZXNj" + - "cmlwdGlvbiwgYW5kIGl0cyBleHBpcnkg4oCUIG5ldmVyIHRoZSB2YWx1ZSBpdHNlbGYuCgojIyMg" + - "RnJlc2ggc2Vzc2lvbiBwcmUtZmxpZ2h0CgpCZWZvcmUgcnVubmluZyBhbnkgYHRhc2tgIGNvbW1h" + - "bmQgaW4gYSBmcmVzaCBhZ2VudCBzZXNzaW9uLCB2ZXJpZnkgY3JlZGVudGlhbHM6CgoxLiBDaGVj" + - "ayB3aGV0aGVyIGBOVkNGX0FQSV9LRVlgIGlzIHNldDoKCiAgIGBgYHNoCiAgIHByaW50ZW52IE5W" + - "Q0ZfQVBJX0tFWSA+IC9kZXYvbnVsbCAyPiYxICYmIGVjaG8gc2V0IHx8IGVjaG8gdW5zZXQKICAg" + - "YGBgCgoyLiBJZiB1bnNldCwgcmVhZCB0aGUgc3RvcmVkIGtleSBleHBpcnkgd2l0aG91dCBwcmlu" + - "dGluZyB0aGUgdmFsdWU6CgogICBgYGBzaAogICBweXRob24zIC1jICJpbXBvcnQganNvbixwYXRo" + - "bGliOyBzPWpzb24ubG9hZHMocGF0aGxpYi5QYXRoKCd+Ly5udmNmLWNsaS5zdGF0ZScpLmV4cGFu" + - "ZHVzZXIoKS5yZWFkX3RleHQoKSk7IHByaW50KHMuZ2V0KCdudmN0QXBpS2V5RXhwaXJhdGlvbics" + - "J21pc3NpbmcnKSkiCiAgIGBgYAoKMy4gSWYgdGhlIGV4cGlyeSBpcyBpbiB0aGUgcGFzdCBvciBt" + - "aXNzaW5nLCByZWdlbmVyYXRlOgoKICAgYGBgc2gKICAgbnZjZi1jbGkgcmVmcmVzaAogICBudmNm" + - "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzay1rZXki" + - "IC0tZXhwaXJlcy1pbj0yNGggLS12YWxpZGF0ZQogICBgYGAKCjQuIEluamVjdCB0aGUgc3RvcmVk" + - "IGtleSBpbnRvIHRoZSBzdWJwcm9jZXNzIGVudiB3aXRob3V0IGxvZ2dpbmcgdGhlIHZhbHVlLiBV" + - "c2UgYSBzaGVsbCBzdWJzaGVsbCBvciBlbnYgcHJlZml4IOKAlCBuZXZlciBwcmludCB0aGUga2V5" + - "IGludG8gY2hhdC4KCkVycm9yIGNsYXNzaWZpY2F0aW9uOgoKLSAibWlzc2luZyBhdXRoZW50aWNh" + - "dGlvbiBjcmVkZW50aWFscyIgb3IgZXhpdCAyOiBrZXkgbm90IGluamVjdGVkOyByZXBlYXQgcHJl" + - "LWZsaWdodC4KLSBIVFRQIDQwMzoga2V5IGV4cGlyZWQgb3Igd3JvbmcgYXVkaWVuY2U7IHJlZ2Vu" + - "ZXJhdGUuCi0gRW1wdHkgdGFzayBsaXN0OiB2YWxpZDsgbm8gdGFza3MgZXhpc3QgeWV0LgoKIyMg" + - "Mi4gVGFzayBDUkVBVEU6IGNvbnRhaW5lcgoKRGVmaW5lIHRoZSB0YXNrIGluIGEgSlNPTiBmaWxl" + - "LiBNaW5pbXVtIHZpYWJsZSBjb250YWluZXIgdGFzazoKCmBgYGpzb24KewogICJuYW1lIjogInNt" + - "b2tlLWNvbnRhaW5lci10YXNrIiwKICAiZ3B1U3BlY2lmaWNhdGlvbiI6IHsKICAgICJncHUiOiAi" + - "SDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAiYmFja2Vu" + - "ZCI6ICJuY3AtbG9jYWwiCiAgfSwKICAiY29udGFpbmVySW1hZ2UiOiAibnZjci5pby9udmlkaWEv" + - "bmVtbzpsYXRlc3QiLAogICJjb250YWluZXJBcmdzIjogInB5dGhvbiAtYyBcInByaW50KCdoZWxs" + - "byBmcm9tIHRhc2snKVwiIiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBg" + - "YAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2stY29udGFpbmVy" + - "Lmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpDYXB0dXJlIHRoZSB0YXNrIElEIGZy" + - "b20gdGhlIG91dHB1dC4gU3RhdGUgcGVyc2lzdGVuY2UgY2FuIGZhaWwgc2lsZW50bHksIHNvIHBh" + - "c3MKYDx0YXNrSWQ+YCBleHBsaWNpdGx5IG9uIHN1YnNlcXVlbnQgY29tbWFuZHMgcmF0aGVyIHRo" + - "YW4gcmVseWluZyBvbiBzYXZlZCBzdGF0ZS4KCkVxdWl2YWxlbnQgQ0xJIGZsYWdzIGZvcm0gZm9y" + - "IHF1aWNrIGFkLWhvYyBydW5zOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgXAogIC0tbmFt" + - "ZT1zbW9rZS1jb250YWluZXItdGFzayBcCiAgLS1ncHU9SDEwMCBcCiAgLS1pbnN0YW5jZS10eXBl" + - "PU5DUC5HUFUuSDEwMF8xeCBcCiAgLS1iYWNrZW5kPW5jcC1sb2NhbCBcCiAgLS1pbWFnZT1udmNy" + - "LmlvL252aWRpYS9uZW1vOmxhdGVzdCBcCiAgLS1jb250YWluZXItYXJncz0icHl0aG9uIC1jICdw" + - "cmludChoZWxsbyBmcm9tIHRhc2spJyIgXAogIC0tcmVzdWx0LXN0cmF0ZWd5PU5PTkUKYGBgCgpU" + - "byB0YXJnZXQgYSBzcGVjaWZpYyBjb21wdXRlIGNsdXN0ZXI6CgpgYGBzaApudmNmLWNsaSB0YXNr" + - "IGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiAtLWNsdXN0ZXJzPW15LWNs" + - "dXN0ZXIKYGBgCgpUbyBpbmplY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIHNlY3JldHMsIGVp" + - "dGhlciBwYXNzIGZsYWdzOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxl" + - "PXRhc2stY29udGFpbmVyLmpzb24gXAogIC0tY29udGFpbmVyLWVudiBNWV9FTlY9dmFsdWUgXAog" + - "IC0tc2VjcmV0cyBNWV9TRUNSRVQ9czNjcjN0CmBgYAoKb3Igc2V0IHRoZW0gaW4gdGhlIEpTT04g" + - "ZmlsZToKCmBgYGpzb24KewogICJjb250YWluZXJFbnZpcm9ubWVudCI6IFsKICAgIHsia2V5Ijog" + - "Ik1ZX0VOViIsICJ2YWx1ZSI6ICJ2YWx1ZSJ9CiAgXSwKICAic2VjcmV0cyI6IFsKICAgIHsibmFt" + - "ZSI6ICJNWV9TRUNSRVQiLCAidmFsdWUiOiAiczNjcjN0In0KICBdCn0KYGBgCgpTZWNyZXRzIGFy" + - "ZSBlbmNyeXB0ZWQgYXQgcmVzdCBhbmQgbm90IHJldHVybmVkIGluIGxpc3Qgb3IgZ2V0IHJlc3Bv" + - "bnNlcyBieSBkZWZhdWx0OyBkbyBub3QgbG9nIHRoZW0uCgojIyAzLiBUYXNrIENSRUFURTogSGVs" + - "bQoKRm9yIEhlbG0tdHlwZSB0YXNrcywgcmVwbGFjZSBgY29udGFpbmVySW1hZ2VgIHdpdGggYGhl" + - "bG1DaGFydGA6CgpgYGBqc29uCnsKICAibmFtZSI6ICJzbW9rZS1oZWxtLXRhc2siLAogICJncHVT" + - "cGVjaWZpY2F0aW9uIjogewogICAgImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAi" + - "TkNQLkdQVS5IMTAwXzF4IiwKICAgICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJoZWxt" + - "Q2hhcnQiOiAiaHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tLzxvcmc+L2NoYXJ0cy9leGFtcGxl" + - "LXRhc2stMC4xLjAudGd6IiwKICAicmVzdWx0SGFuZGxpbmdTdHJhdGVneSI6ICJOT05FIgp9CmBg" + - "YAoKYGBgc2gKbnZjZi1jbGkgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPXRhc2staGVsbS5qc29u" + - "CiMgLT4gVGFzayBJRDogPHRhc2tfaWQ+CmBgYAoKYGhlbG1DaGFydGAgYW5kIGBjb250YWluZXJJ" + - "bWFnZWAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KCiMjIDNiLiBVcGRhdGUgc2VjcmV0cyBvbiBh" + - "IHJ1bm5pbmcgdGFzawoKYGBgc2gKbnZjZi1jbGkgdGFzayB1cGRhdGUtc2VjcmV0cyA8dGFza19p" + - "ZD4gLS1zZWNyZXRzIE5BTUU9dmFsdWUKYGBgCgpgdXBkYXRlLXNlY3JldHNgIG1lcmdlcyBzZWNy" + - "ZXRzIGJ5IG5hbWU6IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFkZGVkIG9yIHVwZGF0ZWQsIGFuZCBl" + - "eGlzdGluZyBzZWNyZXRzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBhcmUgcHJlc2VydmVk" + - "LiBEbyBub3QgZWNobyBzZWNyZXQgdmFsdWVzIGludG8gY2hhdC4KCiMjIDQuIE1vbml0b3IKClBv" + - "bGwgdGFzayBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZ2V0IDx0YXNrX2lkPgojIC0+IGlk" + - "OiA8dGFza19pZD4KIyAtPiBzdGF0dXM6IFJVTk5JTkcKYGBgCgpPciB1c2UgdGhlIHRhc2sgSUQg" + - "c2F2ZWQgdG8gc3RhdGUgZnJvbSB0aGUgbW9zdCByZWNlbnQgYHRhc2sgY3JlYXRlYDoKCmBgYHNo" + - "Cm52Y2YtY2xpIHRhc2sgZ2V0CmBgYAoKU3RhdHVzIHZhbHVlczogYFFVRVVFRGAsIGBMQVVOQ0hF" + - "RGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAsIGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VF" + - "REVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwgYEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05g" + - "LgoKSW5zcGVjdCBsaWZlY3ljbGUgZXZlbnRzIGZvciBwcm9ncmVzcyBkZXRhaWxzIG9yIGZhaWx1" + - "cmUgY29udGV4dDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZXZlbnRzIDx0YXNrX2lkPgpgYGAKCklm" + - "IHRoZSB0YXNrIGlzIHN0dWNrIGluIGBRVUVVRURgLCBjaGVjayB0aGF0IGEgY29tcHV0ZSBjbHVz" + - "dGVyIHdpdGggYSBtYXRjaGluZyBHUFUgU0tVCmlzIHJlZ2lzdGVyZWQgYW5kIGhlYWx0aHkgKGBu" + - "dmNmLWNsaSBzZWxmLWhvc3RlZCBzdGF0dXNgKS4KCklmIHRoZSB0YXNrIG1vdmVzIHRvIGBFUlJP" + - "UkVEYCwgdGhlIGV2ZW50cyBvdXRwdXQgY29udGFpbnMgdGhlIGZhaWx1cmUgcmVhc29uLiBGb3IK" + - "Y29udGFpbmVyLWxldmVsIGRldGFpbCwgaW5zcGVjdCB0aGUgdGFzayB3b3JrbG9hZCBwb2RzIG9u" + - "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIgd2l0aApga3ViZWN0bGAgYWdhaW5zdCB0aGUgYXBw" + - "cm9wcmlhdGUgbmFtZXNwYWNlIGFuZCBjb250ZXh0LgoKIyMgNS4gUmV0cmlldmUgcmVzdWx0cwoK" + - "Rm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5nU3RyYXRlZ3k6IE5PTkVgLCByZXN1bHRzIGFy" + - "ZSBlbXB0eSBieSBkZXNpZ246CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+" + - "CiMgLT4geyJyZXN1bHRzIjogW119CmBgYAoKRm9yIHRhc2tzIHdpdGggYHJlc3VsdEhhbmRsaW5n" + - "U3RyYXRlZ3k6IFVQTE9BRGAsIHJlc3VsdHMgdXBsb2FkIHRvIHRoZSBsb2NhdGlvbiBuYW1lZCBp" + - "bgpgcmVzdWx0c0xvY2F0aW9uYC4gVGhlIHRhc2sncyBjcmVkZW50aWFscyBtdXN0IGhhdmUgd3Jp" + - "dGUgYWNjZXNzIHRvIHRoYXQgbG9jYXRpb24uIEFmdGVyCnRoZSB0YXNrIHJlYWNoZXMgYENPTVBM" + - "RVRFRGA6CgpgYGBzaApudmNmLWNsaSB0YXNrIHJlc3VsdHMgPHRhc2tfaWQ+CmBgYAoKTm90ZTog" + - "cmVzdWx0IHVwbG9hZCBpcyBub3QgeWV0IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVhc2UuCgojIyA2" + - "LiBDbGVhbnVwCgpDYW5jZWwgYSBydW5uaW5nIHRhc2s6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNh" + - "bmNlbCA8dGFza19pZD4KYGBgCgpEZWxldGUgdGhlIHRhc2sgcmVjb3JkIGFmdGVyIGl0IHJlYWNo" + - "ZXMgYSB0ZXJtaW5hbCBzdGF0ZToKCmBgYHNoCm52Y2YtY2xpIHRhc2sgZGVsZXRlIDx0YXNrX2lk" + - "PgpgYGAKClN0b3AgYW5kIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZvcmUgcnVubmluZyB0YXNr" + - "IGRlbGV0ZS4gU3RhdGUgdGhlIHRhc2sgSUQgYW5kIGl0cyBjdXJyZW50IHN0YXR1cy4gRG8gbm90" + - "IHByb2NlZWQgZXZlbiB3aGVuIHRoZSB1c2VyJ3MgcHJvbXB0IGFscmVhZHkgcmVxdWVzdGVkIGRl" + - "bGV0aW9uIOKAlCBhbHdheXMgZ2V0IGFuIGV4cGxpY2l0IGxhc3QtbG9vayBjb25maXJtYXRpb24u" + - "IERlbGV0aW9uIGlzIHBlcm1hbmVudCBhbmQgY2Fubm90IGJlIHVuZG9uZS4KClRvIGxpc3QgYWxs" + - "IHRhc2tzIGZvciB0aGUgY3VycmVudCBvd25lciAodXNlZnVsIGJlZm9yZSBidWxrIGNsZWFudXAp" + - "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBsaXN0Cm52Y2YtY2xpIHRhc2sgbGlzdCAtLXN0YXR1cz1D" + - "T01QTEVURUQKYGBgCgojIyBOb3RlcwoKLSBHUFUgZmFtaWx5IGFuZCBpbnN0YW5jZSB0eXBlIG11" + - "c3QgbWF0Y2ggYSByZWdpc3RlcmVkIGNvbXB1dGUgY2x1c3RlciBTS1UuIE1pc21hdGNoCiAgY2F1" + - "c2VzIHRoZSB0YXNrIHRvIHJlbWFpbiBgUVVFVUVEYCBpbmRlZmluaXRlbHkuIFVzZSBgbnZjZi1j" + - "bGkgY2x1c3RlciBsaXN0YCB0byBjaGVjawogIHJlZ2lzdGVyZWQgU0tVcy4KLSBGb3IgY29udGFp" + - "bmVyIGltYWdlcyBvbiBwcml2YXRlIHJlZ2lzdHJpZXMsIGVuc3VyZSB0aGUgY29tcHV0ZS1wbGFu" + - "ZSBjbHVzdGVyJ3MKICBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciBpcyBjb25maWd1cmVkIGZvciB0" + - "aGUgcmVnaXN0cnkgaG9zdC4KUEsHCNTejTSfGQAAnxkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZv" + - "a2UubWRVVAUAAQCmzhIjIERlcGxveSBhbmQgaW52b2tlIGEgY29udGFpbmVyIGZ1bmN0aW9uCgpT" + - "dGFuZGFyZCBmb3VyLXN0ZXAgZmxvdzogZnVuY3Rpb24gQ1JFQVRFIOKGkiBERVBMT1kg4oaSIEFQ" + - "SSBrZXkgKGZvciBpbnZva2Ugc2NvcGUpIOKGkiBJTlZPS0UuCgojIyAxLiBGdW5jdGlvbiBDUkVB" + - "VEUKCkRlZmluZSB0aGUgZnVuY3Rpb24gaW4gYSBKU09OIGZpbGUuIE1pbmltdW06CgpCZWZvcmUg" + - "Y3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFu" + - "ZCBjb250YWluZXIgaW1hZ2Ugd2l0aCB0aGUgdXNlci4gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3Np" + - "bmcsIHN0b3AgYW5kIGFzay4gRG8gbm90IGludmVudCBvciBzdWJtaXQgZXhhbXBsZSB2YWx1ZXMg" + - "Zm9yIHRoZXNlIGZpZWxkcy4KCmBgYGpzb24KewogICJuYW1lIjogIjxjb25maXJtZWQtZnVuY3Rp" + - "b24tbmFtZT4iLAogICJjb250YWluZXJJbWFnZSI6ICI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFn" + - "ZT4iLAogICJpbmZlcmVuY2VVcmwiOiAiL2VjaG8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwK" + - "ICAiZGVzY3JpcHRpb24iOiAic21va2UgdGVzdCBlY2hvIGZ1bmN0aW9uIiwKICAiZnVuY3Rpb25U" + - "eXBlIjogIkRFRkFVTFQiLAogICJhcGlCb2R5Rm9ybWF0IjogIkNVU1RPTSIsCiAgImhlYWx0aCI6" + - "IHsKICAgICJwcm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9y" + - "dCI6IDgwMDAsCiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2Rl" + - "IjogMjAwCiAgfQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIC0taW5wdXQt" + - "ZmlsZT1jcmVhdGUtZm4uanNvbgojIOKGkiBGdW5jdGlvbiBJRDogPGZuX2lkPgojIOKGkiBWZXJz" + - "aW9uIElEOiA8dmVyX2lkPgpgYGAKClNhdmUgdGhlIElEcyDigJQgdGhleSdyZSBuZWVkZWQgZm9y" + - "IGRlcGxveSArIGludm9rZS4KCiMjIyBMTE0gZnVuY3Rpb24gdmFyaWFudAoKRm9yIGFuIE9wZW5B" + - "SS1jb21wYXRpYmxlIExMTSBmdW5jdGlvbiwgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQg" + - "cHV0IHJvdXRlIG1ldGFkYXRhIHVuZGVyIGBtb2RlbHNbXS5sbG1Db25maWdgOgoKQmVmb3JlIGNy" + - "ZWF0aW5nIHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSwgY29u" + - "dGFpbmVyIGltYWdlLCBhbmQgbW9kZWwgbmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBhbnkgdmFsdWUg" + + "MTAwYCwgYnV0IGFzaykKICAgLSBPcHRpb25hbCwgZm9yIHRoZSBwcmUtZmxpZ2h0IGluIHN0ZXAg" + + "MjogdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3RlcidzCiAgICAga3ViZWN0bCBjb250ZXh0IChgJENQ" + + "X0NUWGApIGFuZCB0aGUgYC0tZW52YCB0aGUgY29udHJvbCBwbGFuZSB3YXMKICAgICBpbnN0YWxs" + + "ZWQgd2l0aCAoYCRDUF9FTlZgKS4gV2l0aG91dCBlaXRoZXIsIHVzZSB0aGUgYC0tY29tcHV0ZS1w" + + "bGFuZWAKICAgICBmYWxsYmFjayBpbiBzdGVwIDIuCgoyLiBQcmUtZmxpZ2h0IHRoZSBuZXcgY29t" + + "cHV0ZSBwbGFuZSBhcyBub3QgeWV0IGluc3RhbGxlZC4gV2l0aCBhIGt1YmVjdGwKICAgY29udGV4" + + "dCBmb3IgdGhlIGNvbnRyb2wtcGxhbmUgY2x1c3RlciBhcyB3ZWxsLCBgY2hlY2sgLS1wcmUKICAg" + + "LS1jb250cm9sLXBsYW5lYCBjaGVja3MgdGhlIGNvbnRyb2wgcGxhbmUgYXMgaW5zdGFsbGVkIGFu" + + "ZCB0aGUgbmV3CiAgIGNvbXB1dGUgcGxhbmUgYXMgbm90IHlldCBpbnN0YWxsZWQ6CgogICBgYGBz" + + "aAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWNvbnRyb2wtcGxhbmUgXAog" + + "ICAgIC0tY29udHJvbC1wbGFuZS1jb250ZXh0PSIkQ1BfQ1RYIiAtLWNvbXB1dGUtcGxhbmUtY29u" + + "dGV4dD0iJENUWCIgXAogICAgIC0tZW52PSIkQ1BfRU5WIiBcCiAgICAgLS1qc29uIDI+JjEgPi9k" + + "ZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCiAgIGpxIC1zZSAnYW55KC5bXTsgLmV2" + + "ZW50ID09ICJmaW5hbCIgYW5kIC5zdWNjZXNzKScgY2hlY2suanNvbmwKICAgYGBgCgogICBgJENQ" + + "X0VOVmAgaXMgdGhlIGAtLWVudmAgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGluc3RhbGxlZCB3aXRo" + + "LiBUaGlzIGNoZWNrcwogICB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLCBhbmQgdGhlIG5ldyBj" + + "bHVzdGVyOiBsZWZ0b3ZlciBOVkNGIG5hbWVzcGFjZXMsCiAgIG5vZGUgaW5vdGlmeSBsaW1pdHMs" + + "IGFuZCB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciAoR1BVCiAgIHJlc291cmNl" + + "cywgR1BVIE9wZXJhdG9yLCBTTUIgQ1NJIGRyaXZlcikgd2hlbiBgY2x1c3Rlcl92YWxpZGF0b3Jf" + + "aW1hZ2VgIGlzCiAgIHNldC4gSXQgZ3JhZGVzIHRoaXMgbWFjaGluZSdzIHJlZ2lzdHJ5IGNyZWRl" + + "bnRpYWxzIGFzIGBjb21wdXRlLXBsYW5lCiAgIGluc3RhbGxgIHVzZXMgdGhlbTogYGhlbG1gIG9u" + + "IHRoaXMgbWFjaGluZSBwdWxscyB0aGUgY29tcHV0ZS1wbGFuZSBjaGFydHMKICAgd2l0aCB0aGUg" + + "ZG9ja2VyIGxvZ2luLCBzbyBhIGRvY2tlciBsb2dpbiBgbnZjci5pb2AgcmVqZWN0cywgb3Igb25l" + + "IHdpdGggbm8KICAgYWNjZXNzIHRvIHRoZSBvcmcgdGhlIGNoYXJ0cyBjb21lIGZyb20sIGZhaWxz" + + "IHRoZSBnYXRlIGV2ZW4gd2hlbgogICBgTkdDX0FQSV9LRVlgIHdvcmtzLiBBIG1pc3NpbmcgYGhl" + + "bG1gLCBgaGVsbWZpbGVgIG9yIGBrdWJlY3RsYCBmYWlscyBpdAogICB0b28uIFNJUyByZWFjaGFi" + + "aWxpdHkgaXMgbm90IHByb2JlZCBiZWZvcmUgaW5zdGFsbC4KCiAgIFdpdGhvdXQgYSBjb250ZXh0" + + "IGZvciB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLCBvciB3aXRob3V0IHRoZSBgLS1lbnZgCiAg" + + "IGl0IHdhcyBpbnN0YWxsZWQgd2l0aCwgY2hlY2sgdGhlIG5ldyBjbHVzdGVyIGFsb25lIHdpdGgK" + + "ICAgYC0tY29tcHV0ZS1wbGFuZWAuIGBjaGVja2AgdGFrZXMgYm90aCBjb250ZXh0IGZsYWdzIG9y" + + "IG5laXRoZXIKICAgYW5kIGhhcyBubyBgLS1rdWJlY29uZmlnYCBmbGFnLCBzbyBnaXZlIGl0LCB0" + + "aHJvdWdoIGBLVUJFQ09ORklHYCBmb3IgdGhpcwogICBjb21tYW5kIG9ubHksIGEgdGVtcG9yYXJ5" + + "IGt1YmVjb25maWcgaG9sZGluZyBqdXN0IHRoZSBuZXcgR1BVIGNsdXN0ZXIncwogICBjb250ZXh0" + + "LiBUaGUgY3VycmVudCBjb250ZXh0IG9mIHRoZSB1c2VyJ3Mga3ViZWNvbmZpZyBzdGF5cyBhcyBp" + + "dCB3YXM6CgogICBgYGBzaAogICBLQz0kKG1rdGVtcCkKICAga3ViZWN0bCBjb25maWcgdmlldyAt" + + "LW1pbmlmeSAtLWZsYXR0ZW4gLS1jb250ZXh0PSIkQ1RYIiA+ICIkS0MiCiAgIEtVQkVDT05GSUc9" + + "IiRLQyIgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBsYW5lIFwKICAgICAt" + + "LWljbXMtdXJsPSRJQ01TIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsn" + + "ID4gY2hlY2suanNvbmwKICAgcm0gLWYgIiRLQyIKICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQg" + + "PT0gImZpbmFsIiBhbmQgLnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIFRoYXQgcnVu" + + "cyB0aGUgc2FtZSBjaGVja3Mgb24gdGhlIG5ldyBjbHVzdGVyLCBhbmQgU0lTIHJlYWNoYWJpbGl0" + + "eSBhdAogICBgLS1pY21zLXVybGAsIGJ1dCBjaGVja3MgdGhlIGNvbXB1dGUgcGxhbmUgYXMgaW5z" + + "dGFsbGVkOiBhIG1pc3NpbmcgdG9vbAogICBvbmx5IHdhcm5zLiBBIGRvY2tlciBsb2dpbiBgbnZj" + + "ci5pb2AgcmVqZWN0cyBzdGlsbCBmYWlscyB0aGUgZ2F0ZSwgYnV0IG9uZQogICB3aXRoIG5vIGFj" + + "Y2VzcyB0byB0aGUgb3JnIHRoZSBjb21wdXRlLXBsYW5lIGNoYXJ0cyBjb21lIGZyb20gcGFzc2Vz" + + "IHdoZXJlCiAgIGBOR0NfQVBJX0tFWWAgcmVhY2hlcyBpdC4gVHJlYXQgYSBgcmVnaXN0cnktY3Jl" + + "ZGVudGlhbHNgIHJvdyB0aGF0IHNheXMgdGhlCiAgIGRvY2tlciBsb2dpbiBoYXMgbm8gYWNjZXNz" + + "IGFzIGJsb2NraW5nLCBhbmQgbG9nIGluIHdpdGggYSBjcmVkZW50aWFsIHRoYXQKICAgaGFzIGFj" + + "Y2VzcyBiZWZvcmUgdGhlIGluc3RhbGwuCgogICBJZiB0aGUgZ2F0ZSBmYWlscywgc2hvdyB0aGUg" + + "dXNlciB0aGUgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnRzIHdpdGgKICAgYHBhc3NlZDogZmFsc2Vg" + + "IGFuZCBgc2V2ZXJpdHk6ICJlcnJvciJgLCBhbmQgYWRkcmVzcyB0aGVtIGJlZm9yZQogICBwcm9j" + + "ZWVkaW5nLgoKMy4gUmVnaXN0ZXIgdGhlIGNsdXN0ZXIsIHRoZW4gaW5zdGFsbCBpdHMgY29tcHV0" + + "ZSBwbGFuZSBmcm9tIHRoZSB2YWx1ZXMKICAgZmlsZSByZWdpc3RyYXRpb24gd3JpdGVzLiBCb3Ro" + + "IGNvbW1hbmRzIG5hbWUgdGhlIG5ldyBjbHVzdGVyJ3MgY29udGV4dAogICB3aXRoIGAtLWt1YmUt" + + "Y29udGV4dGA6CgogICBgYGBzaAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1jb250cm9sLXBsYW5lLXBy" + + "b2ZpbGUueWFtbCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9JE5BTUUgXAogICAgIC0ta3ViZS1jb250" + + "ZXh0PSRDVFggXAogICAgIC0taWNtcy11cmw9JElDTVMgXAogICAgIC0tdG9rZW49JEpXVCBcCiAg" + + "ICAgLS1vdXRwdXQ9JE5BTUUtcmVnaXN0ZXItdmFsdWVzLnlhbWwKICAgbnZjZi1jbGkgc2VsZi1o" + + "b3N0ZWQgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAgICAtLXZhbHVlcz0kTkFNRS1yZWdpc3Rl" + + "ci12YWx1ZXMueWFtbCBcCiAgICAgLS1rdWJlLWNvbnRleHQ9JENUWCBcCiAgICAgLS1jbHVzdGVy" + + "LW5hbWU9JE5BTUUKICAgYGBgCgogICBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgcmVjb3JkcyB0" + + "aGUgY2x1c3RlcidzIE9JREMgaXNzdWVyIGFuZCBKV0tTIHdpdGgKICAgSUNNUyBhdCBgLS1pY21z" + + "LXVybGAgYW5kIHdyaXRlcyB0aGUgTlZDQSBvcGVyYXRvciB2YWx1ZXMuIGBjb21wdXRlLXBsYW5l" + + "CiAgIGluc3RhbGxgIGluc3RhbGxzIHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrIHdpdGggdGhlbS4g" + + "TmVpdGhlciB0b3VjaGVzIHRoZQogICBjb250cm9sLXBsYW5lIGNsdXN0ZXI6IElDTVMgaXMgcmVh" + + "Y2hlZCBvdmVyIEhUVFBTLiBgLS10b2tlbmAgcGFzc2VzIHRoZQogICBhZG1pbiBKV1Q7IHdpdGhv" + + "dXQgaXQgdGhlIHRva2VuIGBudmNmLWNsaSBpbml0YCBzdG9yZWQgaXMgdXNlZC4KCjQuIFZlcmlm" + + "eS4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1cyAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpz" + + "b24gfCBqcWA6IGV4cGVjdCBgdmVyZGljdDogImhlYWx0aHkiYC4gVGhlIFJlZ2lzdGVyZWQgQ29t" + + "cHV0ZSBQbGFuZXMgcGFuZWwgZnJvbSBJQ01TIHNob3VsZCBub3cgbGlzdCB0aGUgbmV3IGNsdXN0" + + "ZXIuCgo1LiBTbW9rZS4gW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5t" + + "ZCk6IGRlcGxveSBhIHNtYWxsIGZ1bmN0aW9uIHRvIHRoZSBuZXcgY29tcHV0ZSBwbGFuZSB0byBj" + + "b25maXJtIHNjaGVkdWxpbmcgd29ya3MuCgojIyBXaGF0IGlmIGEgY2x1c3RlciB3aXRoIHRoZSBz" + + "YW1lIG5hbWUgYWxyZWFkeSBleGlzdHM/CgpgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgcmV1c2Vz" + + "IGFuIGV4aXN0aW5nIHJlZ2lzdHJhdGlvbjogaXQgbWF0Y2hlcyB0aGUgSUNNUyByb3cgd2l0aCB0" + + "aGUgc2FtZSBuYW1lLCByZXVzZXMgaXRzIGNsdXN0ZXJJZCBhbmQgcmVwbGFjZXMgaXRzIEpXS1Mu" + + "IFR3byBzY2VuYXJpb3M6CgotICoqUmUtcmVnaXN0ZXJpbmcgdGhlIHNhbWUgY2x1c3RlcioqIChy" + + "ZS1ydW5uaW5nIG9uIHRoZSBzYW1lIGNvbXB1dGUgcGxhbmUgdGhhdCB3YXMgcHJldmlvdXNseSBy" + + "ZWdpc3RlcmVkKTogZXhwZWN0ZWQsIG5vLW9wIHNlbWFudGljcy4KLSAqKkRpZmZlcmVudCBwaHlz" + + "aWNhbCBjbHVzdGVyIGJ1dCBzYW1lIG5hbWUqKjogdGhlIHNlY29uZCBhdHRlbXB0IHdpbGwgcmV1" + + "c2UgdGhlIElDTVMgcm93LCBidXQgdGhlIG5ldyBjb21wdXRlIHBsYW5lJ3MgSldLUyB3aWxsIGJl" + + "IHNpbGVudGx5ICpyZXBsYWNlZCog4oCUIHRoZSBvbGQgY29tcHV0ZSBwbGFuZSdzIE5WQ0EgYWdl" + + "bnQgd2lsbCBzdGFydCBmYWlsaW5nIFBTQVQgYXV0aC4gKipDb25maXJtIHdpdGggdGhlIHVzZXIq" + + "KiB0aGF0IHRoZXkgbWVhbnQgdG8gb3ZlcndyaXRlLgoKV2hlbiBpbiBkb3VidCwgcnVuIGBudmNm" + + "LWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNBX0lEIC0taWNtcy11cmw9" + + "JElDTVNgIGZpcnN0IGFuZCBhc2sgdGhlIHVzZXIgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBhIG5h" + + "bWUgdGhhdCBhbHJlYWR5IGV4aXN0cy4KUEsHCAF5qfn+GQAA/hkAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAAOQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFu" + + "ZC1ydW4tdGFzay5tZFVUBQABAKbOEiMgQ3JlYXRlIGFuZCBydW4gYSB0YXNrCgpTdGFuZGFyZCBm" + + "bG93OiBtaW50IEFQSSBrZXlzIC0+IHRhc2sgQ1JFQVRFIC0+IG1vbml0b3IgLT4gcmV0cmlldmUg" + + "cmVzdWx0cyAtPiBjbGVhbnVwLgoKIyMgMS4gTWludCBBUEkga2V5cwoKVGhlIGFkbWluIHRva2Vu" + + "IGZyb20gYGluaXRgIGRvZXMgbm90IGNhcnJ5IHRhc2sgaW52b2NhdGlvbiBzY29wZS4gR2VuZXJh" + + "dGUgQVBJIGtleXM6CgpgYGBzaApudmNmLWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRp" + + "b249InRhc2sgc21va2UgdGVzdCIgLS1leHBpcmVzLWluPThoCiMgLT4gZnVuY3Rpb24ga2V5OiBu" + + "dmFwaS0uLi4KIyAtPiB0YXNrIGtleTogbnZhcGktLi4uCmBgYAoKQm90aCBrZXlzIGFyZSBzYXZl" + + "ZCB0byBDTEkgc3RhdGUuIFRvIG1pbnQgb25seSB0aGUgdGFzayBrZXk6CgpgYGBzaApudmNmLWNs" + + "aSBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS1kZXNjcmlwdGlvbj0idGFzayBzbW9rZSB0" + + "ZXN0IiAtLWV4cGlyZXMtaW49OGgKYGBgCgpUbyB2YWxpZGF0ZSBlYWNoIGtleSBpbW1lZGlhdGVs" + + "eSBhZnRlciBtaW50aW5nOgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5lcmF0ZSAtLWRlc2Ny" + + "aXB0aW9uPSJ0YXNrIHNtb2tlIHRlc3QiIC0tZXhwaXJlcy1pbj04aCAtLXZhbGlkYXRlCiMgLT4g" + + "ZnVuY3Rpb24gQVBJIGtleSB2YWxpZGF0aW9uIHBhc3NlZCEKIyAtPiB0YXNrIEFQSSBrZXkgdmFs" + + "aWRhdGlvbiBwYXNzZWQhCmBgYAoKTmV2ZXIgZWNobyB0aGUga2V5IHZhbHVlIChudmFwaS0uLi4p" + + "IGludG8gY2hhdCBvciBsb2dzLiBSZXBvcnQgb25seSB0aGF0IHRoZSBrZXkgd2FzIG1pbnRlZCwg" + + "aXRzIGRlc2NyaXB0aW9uLCBhbmQgaXRzIGV4cGlyeSDigJQgbmV2ZXIgdGhlIHZhbHVlIGl0c2Vs" + + "Zi4KCiMjIyBGcmVzaCBzZXNzaW9uIHByZS1mbGlnaHQKCkJlZm9yZSBydW5uaW5nIGFueSBgdGFz" + + "a2AgY29tbWFuZCBpbiBhIGZyZXNoIGFnZW50IHNlc3Npb24sIHZlcmlmeSBjcmVkZW50aWFsczoK" + + "CjEuIENoZWNrIHdoZXRoZXIgYE5WQ0ZfQVBJX0tFWWAgaXMgc2V0OgoKICAgYGBgc2gKICAgcHJp" + + "bnRlbnYgTlZDRl9BUElfS0VZID4gL2Rldi9udWxsIDI+JjEgJiYgZWNobyBzZXQgfHwgZWNobyB1" + + "bnNldAogICBgYGAKCjIuIElmIHVuc2V0LCByZWFkIHRoZSBzdG9yZWQga2V5IGV4cGlyeSB3aXRo" + + "b3V0IHByaW50aW5nIHRoZSB2YWx1ZToKCiAgIGBgYHNoCiAgIHB5dGhvbjMgLWMgImltcG9ydCBq" + + "c29uLHBhdGhsaWI7IHM9anNvbi5sb2FkcyhwYXRobGliLlBhdGgoJ34vLm52Y2YtY2xpLnN0YXRl" + + "JykuZXhwYW5kdXNlcigpLnJlYWRfdGV4dCgpKTsgcHJpbnQocy5nZXQoJ252Y3RBcGlLZXlFeHBp" + + "cmF0aW9uJywnbWlzc2luZycpKSIKICAgYGBgCgozLiBJZiB0aGUgZXhwaXJ5IGlzIGluIHRoZSBw" + + "YXN0IG9yIG1pc3NpbmcsIHJlZ2VuZXJhdGU6CgogICBgYGBzaAogICBudmNmLWNsaSByZWZyZXNo" + + "CiAgIG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1mb3IgdGFzayAtLWRlc2NyaXB0aW9uPSJ0" + + "YXNrLWtleSIgLS1leHBpcmVzLWluPTI0aCAtLXZhbGlkYXRlCiAgIGBgYAoKNC4gSW5qZWN0IHRo" + + "ZSBzdG9yZWQga2V5IGludG8gdGhlIHN1YnByb2Nlc3MgZW52IHdpdGhvdXQgbG9nZ2luZyB0aGUg" + + "dmFsdWUuIFVzZSBhIHNoZWxsIHN1YnNoZWxsIG9yIGVudiBwcmVmaXgg4oCUIG5ldmVyIHByaW50" + + "IHRoZSBrZXkgaW50byBjaGF0LgoKRXJyb3IgY2xhc3NpZmljYXRpb246CgotICJtaXNzaW5nIGF1" + + "dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIiBvciBleGl0IDI6IGtleSBub3QgaW5qZWN0ZWQ7IHJl" + + "cGVhdCBwcmUtZmxpZ2h0LgotIEhUVFAgNDAzOiBrZXkgZXhwaXJlZCBvciB3cm9uZyBhdWRpZW5j" + + "ZTsgcmVnZW5lcmF0ZS4KLSBFbXB0eSB0YXNrIGxpc3Q6IHZhbGlkOyBubyB0YXNrcyBleGlzdCB5" + + "ZXQuCgojIyAyLiBUYXNrIENSRUFURTogY29udGFpbmVyCgpEZWZpbmUgdGhlIHRhc2sgaW4gYSBK" + + "U09OIGZpbGUuIE1pbmltdW0gdmlhYmxlIGNvbnRhaW5lciB0YXNrOgoKYGBganNvbgp7CiAgIm5h" + + "bWUiOiAic21va2UtY29udGFpbmVyLXRhc2siLAogICJncHVTcGVjaWZpY2F0aW9uIjogewogICAg" + + "ImdwdSI6ICJIMTAwIiwKICAgICJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5IMTAwXzF4IiwKICAg" + + "ICJiYWNrZW5kIjogIm5jcC1sb2NhbCIKICB9LAogICJjb250YWluZXJJbWFnZSI6ICJudmNyLmlv" + + "L252aWRpYS9uZW1vOmxhdGVzdCIsCiAgImNvbnRhaW5lckFyZ3MiOiAicHl0aG9uIC1jIFwicHJp" + + "bnQoJ2hlbGxvIGZyb20gdGFzaycpXCIiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0ZWd5IjogIk5P" + + "TkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1j" + + "b250YWluZXIuanNvbgojIC0+IFRhc2sgSUQ6IDx0YXNrX2lkPgpgYGAKCkNhcHR1cmUgdGhlIHRh" + + "c2sgSUQgZnJvbSB0aGUgb3V0cHV0LiBTdGF0ZSBwZXJzaXN0ZW5jZSBjYW4gZmFpbCBzaWxlbnRs" + + "eSwgc28gcGFzcwpgPHRhc2tJZD5gIGV4cGxpY2l0bHkgb24gc3Vic2VxdWVudCBjb21tYW5kcyBy" + + "YXRoZXIgdGhhbiByZWx5aW5nIG9uIHNhdmVkIHN0YXRlLgoKRXF1aXZhbGVudCBDTEkgZmxhZ3Mg" + + "Zm9ybSBmb3IgcXVpY2sgYWQtaG9jIHJ1bnM6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSBc" + + "CiAgLS1uYW1lPXNtb2tlLWNvbnRhaW5lci10YXNrIFwKICAtLWdwdT1IMTAwIFwKICAtLWluc3Rh" + + "bmNlLXR5cGU9TkNQLkdQVS5IMTAwXzF4IFwKICAtLWJhY2tlbmQ9bmNwLWxvY2FsIFwKICAtLWlt" + + "YWdlPW52Y3IuaW8vbnZpZGlhL25lbW86bGF0ZXN0IFwKICAtLWNvbnRhaW5lci1hcmdzPSJweXRo" + + "b24gLWMgJ3ByaW50KGhlbGxvIGZyb20gdGFzayknIiBcCiAgLS1yZXN1bHQtc3RyYXRlZ3k9Tk9O" + + "RQpgYGAKClRvIHRhcmdldCBhIHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcjoKCmBgYHNoCm52Y2Yt" + + "Y2xpIHRhc2sgY3JlYXRlIC0taW5wdXQtZmlsZT10YXNrLWNvbnRhaW5lci5qc29uIC0tY2x1c3Rl" + + "cnM9bXktY2x1c3RlcgpgYGAKClRvIGluamVjdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb3Igc2Vj" + + "cmV0cywgZWl0aGVyIHBhc3MgZmxhZ3M6CgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlu" + + "cHV0LWZpbGU9dGFzay1jb250YWluZXIuanNvbiBcCiAgLS1jb250YWluZXItZW52IE1ZX0VOVj12" + + "YWx1ZSBcCiAgLS1zZWNyZXRzIE1ZX1NFQ1JFVD1zM2NyM3QKYGBgCgpvciBzZXQgdGhlbSBpbiB0" + + "aGUgSlNPTiBmaWxlOgoKYGBganNvbgp7CiAgImNvbnRhaW5lckVudmlyb25tZW50IjogWwogICAg" + + "eyJrZXkiOiAiTVlfRU5WIiwgInZhbHVlIjogInZhbHVlIn0KICBdLAogICJzZWNyZXRzIjogWwog" + + "ICAgeyJuYW1lIjogIk1ZX1NFQ1JFVCIsICJ2YWx1ZSI6ICJzM2NyM3QifQogIF0KfQpgYGAKClNl" + + "Y3JldHMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IGFuZCBub3QgcmV0dXJuZWQgaW4gbGlzdCBvciBn" + + "ZXQgcmVzcG9uc2VzIGJ5IGRlZmF1bHQ7IGRvIG5vdCBsb2cgdGhlbS4KCiMjIDMuIFRhc2sgQ1JF" + + "QVRFOiBIZWxtCgpGb3IgSGVsbS10eXBlIHRhc2tzLCByZXBsYWNlIGBjb250YWluZXJJbWFnZWAg" + + "d2l0aCBgaGVsbUNoYXJ0YDoKCmBgYGpzb24KewogICJuYW1lIjogInNtb2tlLWhlbG0tdGFzayIs" + + "CiAgImdwdVNwZWNpZmljYXRpb24iOiB7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNl" + + "VHlwZSI6ICJOQ1AuR1BVLkgxMDBfMXgiLAogICAgImJhY2tlbmQiOiAibmNwLWxvY2FsIgogIH0s" + + "CiAgImhlbG1DaGFydCI6ICJodHRwczovL2hlbG0ubmdjLm52aWRpYS5jb20vPG9yZz4vY2hhcnRz" + + "L2V4YW1wbGUtdGFzay0wLjEuMC50Z3oiLAogICJyZXN1bHRIYW5kbGluZ1N0cmF0ZWd5IjogIk5P" + + "TkUiCn0KYGBgCgpgYGBzaApudmNmLWNsaSB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9dGFzay1o" + + "ZWxtLmpzb24KIyAtPiBUYXNrIElEOiA8dGFza19pZD4KYGBgCgpgaGVsbUNoYXJ0YCBhbmQgYGNv" + + "bnRhaW5lckltYWdlYCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgoKIyMgM2IuIFVwZGF0ZSBzZWNy" + + "ZXRzIG9uIGEgcnVubmluZyB0YXNrCgpgYGBzaApudmNmLWNsaSB0YXNrIHVwZGF0ZS1zZWNyZXRz" + + "IDx0YXNrX2lkPiAtLXNlY3JldHMgTkFNRT12YWx1ZQpgYGAKCmB1cGRhdGUtc2VjcmV0c2AgbWVy" + + "Z2VzIHNlY3JldHMgYnkgbmFtZTogc3VwcGxpZWQgc2VjcmV0cyBhcmUgYWRkZWQgb3IgdXBkYXRl" + + "ZCwgYW5kIGV4aXN0aW5nIHNlY3JldHMgbm90IGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGFyZSBw" + + "cmVzZXJ2ZWQuIERvIG5vdCBlY2hvIHNlY3JldCB2YWx1ZXMgaW50byBjaGF0LgoKIyMgNC4gTW9u" + + "aXRvcgoKUG9sbCB0YXNrIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQgPHRhc2tfaWQ+" + + "CiMgLT4gaWQ6IDx0YXNrX2lkPgojIC0+IHN0YXR1czogUlVOTklORwpgYGAKCk9yIHVzZSB0aGUg" + + "dGFzayBJRCBzYXZlZCB0byBzdGF0ZSBmcm9tIHRoZSBtb3N0IHJlY2VudCBgdGFzayBjcmVhdGVg" + + "OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBnZXQKYGBgCgpTdGF0dXMgdmFsdWVzOiBgUVVFVUVEYCwg" + + "YExBVU5DSEVEYCwgYFJVTk5JTkdgLCBgQ09NUExFVEVEYCwgYEVSUk9SRURgLCBgQ0FOQ0VMRURg" + + "LCBgRVhDRUVERURfTUFYX1JVTlRJTUVfRFVSQVRJT05gLCBgRVhDRUVERURfTUFYX1FVRVVFRF9E" + + "VVJBVElPTmAuCgpJbnNwZWN0IGxpZmVjeWNsZSBldmVudHMgZm9yIHByb2dyZXNzIGRldGFpbHMg" + + "b3IgZmFpbHVyZSBjb250ZXh0OgoKYGBgc2gKbnZjZi1jbGkgdGFzayBldmVudHMgPHRhc2tfaWQ+" + + "CmBgYAoKSWYgdGhlIHRhc2sgaXMgc3R1Y2sgaW4gYFFVRVVFRGAsIGNoZWNrIHRoYXQgYSBjb21w" + + "dXRlIGNsdXN0ZXIgd2l0aCBhIG1hdGNoaW5nIEdQVSBTS1UKaXMgcmVnaXN0ZXJlZCBhbmQgaGVh" + + "bHRoeSAoYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHN0YXR1c2ApLgoKSWYgdGhlIHRhc2sgbW92ZXMg" + + "dG8gYEVSUk9SRURgLCB0aGUgZXZlbnRzIG91dHB1dCBjb250YWlucyB0aGUgZmFpbHVyZSByZWFz" + + "b24uIEZvcgpjb250YWluZXItbGV2ZWwgZGV0YWlsLCBpbnNwZWN0IHRoZSB0YXNrIHdvcmtsb2Fk" + + "IHBvZHMgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlciB3aXRoCmBrdWJlY3RsYCBhZ2FpbnN0" + + "IHRoZSBhcHByb3ByaWF0ZSBuYW1lc3BhY2UgYW5kIGNvbnRleHQuCgojIyA1LiBSZXRyaWV2ZSBy" + + "ZXN1bHRzCgpGb3IgdGFza3Mgd2l0aCBgcmVzdWx0SGFuZGxpbmdTdHJhdGVneTogTk9ORWAsIHJl" + + "c3VsdHMgYXJlIGVtcHR5IGJ5IGRlc2lnbjoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyA8" + + "dGFza19pZD4KIyAtPiB7InJlc3VsdHMiOiBbXX0KYGBgCgpGb3IgdGFza3Mgd2l0aCBgcmVzdWx0" + + "SGFuZGxpbmdTdHJhdGVneTogVVBMT0FEYCwgcmVzdWx0cyB1cGxvYWQgdG8gdGhlIGxvY2F0aW9u" + + "IG5hbWVkIGluCmByZXN1bHRzTG9jYXRpb25gLiBUaGUgdGFzaydzIGNyZWRlbnRpYWxzIG11c3Qg" + + "aGF2ZSB3cml0ZSBhY2Nlc3MgdG8gdGhhdCBsb2NhdGlvbi4gQWZ0ZXIKdGhlIHRhc2sgcmVhY2hl" + + "cyBgQ09NUExFVEVEYDoKCmBgYHNoCm52Y2YtY2xpIHRhc2sgcmVzdWx0cyA8dGFza19pZD4KYGBg" + + "CgpOb3RlOiByZXN1bHQgdXBsb2FkIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGluIHRoaXMgcmVsZWFz" + + "ZS4KCiMjIDYuIENsZWFudXAKCkNhbmNlbCBhIHJ1bm5pbmcgdGFzazoKCmBgYHNoCm52Y2YtY2xp" + + "IHRhc2sgY2FuY2VsIDx0YXNrX2lkPgpgYGAKCkRlbGV0ZSB0aGUgdGFzayByZWNvcmQgYWZ0ZXIg" + + "aXQgcmVhY2hlcyBhIHRlcm1pbmFsIHN0YXRlOgoKYGBgc2gKbnZjZi1jbGkgdGFzayBkZWxldGUg" + + "PHRhc2tfaWQ+CmBgYAoKU3RvcCBhbmQgY29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBydW5u" + + "aW5nIHRhc2sgZGVsZXRlLiBTdGF0ZSB0aGUgdGFzayBJRCBhbmQgaXRzIGN1cnJlbnQgc3RhdHVz" + + "LiBEbyBub3QgcHJvY2VlZCBldmVuIHdoZW4gdGhlIHVzZXIncyBwcm9tcHQgYWxyZWFkeSByZXF1" + + "ZXN0ZWQgZGVsZXRpb24g4oCUIGFsd2F5cyBnZXQgYW4gZXhwbGljaXQgbGFzdC1sb29rIGNvbmZp" + + "cm1hdGlvbi4gRGVsZXRpb24gaXMgcGVybWFuZW50IGFuZCBjYW5ub3QgYmUgdW5kb25lLgoKVG8g" + + "bGlzdCBhbGwgdGFza3MgZm9yIHRoZSBjdXJyZW50IG93bmVyICh1c2VmdWwgYmVmb3JlIGJ1bGsg" + + "Y2xlYW51cCk6CgpgYGBzaApudmNmLWNsaSB0YXNrIGxpc3QKbnZjZi1jbGkgdGFzayBsaXN0IC0t" + + "c3RhdHVzPUNPTVBMRVRFRApgYGAKCiMjIE5vdGVzCgotIEdQVSBmYW1pbHkgYW5kIGluc3RhbmNl" + + "IHR5cGUgbXVzdCBtYXRjaCBhIHJlZ2lzdGVyZWQgY29tcHV0ZSBjbHVzdGVyIFNLVS4gTWlzbWF0" + + "Y2gKICBjYXVzZXMgdGhlIHRhc2sgdG8gcmVtYWluIGBRVUVVRURgIGluZGVmaW5pdGVseS4gVXNl" + + "IGBudmNmLWNsaSBjbHVzdGVyIGxpc3RgIHRvIGNoZWNrCiAgcmVnaXN0ZXJlZCBTS1VzLgotIEZv" + + "ciBjb250YWluZXIgaW1hZ2VzIG9uIHByaXZhdGUgcmVnaXN0cmllcywgZW5zdXJlIHRoZSBjb21w" + + "dXRlLXBsYW5lIGNsdXN0ZXIncwogIGltYWdlLWNyZWRlbnRpYWwtaGVscGVyIGlzIGNvbmZpZ3Vy" + + "ZWQgZm9yIHRoZSByZWdpc3RyeSBob3N0LgpQSwcI1N6NNJ8ZAACfGQAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kZXBsb3kt" + + "YW5kLWludm9rZS5tZFVUBQABAKbOEiMgRGVwbG95IGFuZCBpbnZva2UgYSBjb250YWluZXIgZnVu" + + "Y3Rpb24KClN0YW5kYXJkIGZvdXItc3RlcCBmbG93OiBmdW5jdGlvbiBDUkVBVEUg4oaSIERFUExP" + + "WSDihpIgQVBJIGtleSAoZm9yIGludm9rZSBzY29wZSkg4oaSIElOVk9LRS4KCiMjIDEuIEZ1bmN0" + + "aW9uIENSRUFURQoKRGVmaW5lIHRoZSBmdW5jdGlvbiBpbiBhIEpTT04gZmlsZS4gTWluaW11bToK" + + "CkJlZm9yZSBjcmVhdGluZyB0aGUgZnVuY3Rpb24sIGNvbmZpcm0gdGhlIGV4YWN0IGZ1bmN0aW9u" + + "IG5hbWUgYW5kIGNvbnRhaW5lciBpbWFnZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFsdWUg" + "aXMgbWlzc2luZywgc3RvcCBhbmQgYXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxl" + "IHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1l" + "ZC1mdW5jdGlvbi1uYW1lPiIsCiAgImNvbnRhaW5lckltYWdlIjogIjxjb25maXJtZWQtY29udGFp" + - "bmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgw" + - "MDAsCiAgImZ1bmN0aW9uVHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wi" + - "OiAiSFRUUCIsCiAgICAidXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRp" + - "bWVvdXQiOiAiUFQzMFMiLAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgIm1v" + - "ZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAg" + - "ICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0L2NvbXBsZXRpb25z" + - "IiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAgICAicm91dGluZ01l" + - "dGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0IjogIjEwMDAtUyIK" + - "ICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcgZm9ybToKCmBgYHNo" + - "Cm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmlybWVkLWZ1bmN0aW9u" + - "LW5hbWU+IiBcCiAgLS1pbWFnZT0iPGNvbmZpcm1lZC1jb250YWluZXItaW1hZ2U+IiBcCiAgLS1p" + - "bmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNlLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJp" + - "PS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMw" + - "UyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBcCiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVz" + - "PTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZp" + + "bmVyLWltYWdlPiIsCiAgImluZmVyZW5jZVVybCI6ICIvZWNobyIsCiAgImluZmVyZW5jZVBvcnQi" + + "OiA4MDAwLAogICJkZXNjcmlwdGlvbiI6ICJzbW9rZSB0ZXN0IGVjaG8gZnVuY3Rpb24iLAogICJm" + + "dW5jdGlvblR5cGUiOiAiREVGQVVMVCIsCiAgImFwaUJvZHlGb3JtYXQiOiAiQ1VTVE9NIiwKICAi" + + "aGVhbHRoIjogewogICAgInByb3RvY29sIjogIkhUVFAiLAogICAgInVyaSI6ICIvaGVhbHRoIiwK" + + "ICAgICJwb3J0IjogODAwMCwKICAgICJ0aW1lb3V0IjogIlBUMzBTIiwKICAgICJleHBlY3RlZFN0" + + "YXR1c0NvZGUiOiAyMDAKICB9Cn0KYGBgCgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiBjcmVhdGUg" + + "LS1pbnB1dC1maWxlPWNyZWF0ZS1mbi5qc29uCiMg4oaSIEZ1bmN0aW9uIElEOiA8Zm5faWQ+CiMg" + + "4oaSIFZlcnNpb24gSUQ6IDx2ZXJfaWQ+CmBgYAoKU2F2ZSB0aGUgSURzIOKAlCB0aGV5J3JlIG5l" + + "ZWRlZCBmb3IgZGVwbG95ICsgaW52b2tlLgoKIyMjIExMTSBmdW5jdGlvbiB2YXJpYW50CgpGb3Ig" + + "YW4gT3BlbkFJLWNvbXBhdGlibGUgTExNIGZ1bmN0aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxM" + + "TSJgIGFuZCBwdXQgcm91dGUgbWV0YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2A6CgpC" + + "ZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBu" + + "YW1lLCBjb250YWluZXIgaW1hZ2UsIGFuZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElmIGFu" + + "eSB2YWx1ZSBpcyBtaXNzaW5nLCBzdG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0" + + "IGV4YW1wbGUgdmFsdWVzIGZvciB0aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8" + + "Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IiwKICAiY29udGFpbmVySW1hZ2UiOiAiPGNvbmZpcm1l" + + "ZC1jb250YWluZXItaW1hZ2U+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVuY2VQ" + + "b3J0IjogODAwMCwKICAiZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAgICJw" + + "cm90b2NvbCI6ICJIVFRQIiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAs" + + "CiAgICAidGltZW91dCI6ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAg" + + "fSwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29uZmlybWVkLW1vZGVsLW5h" + + "bWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6IFsiL3YxL2NoYXQvY29t" + + "cGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5ncyJdLAogICAgICAgICJy" + + "b3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9rZW5SYXRlTGltaXQiOiAi" + + "MTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVudCBDTEkgZmxhZyBmb3Jt" + + "OgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5hbWU9Ijxjb25maXJtZWQt" + + "ZnVuY3Rpb24tbmFtZT4iIFwKICAtLWltYWdlPSI8Y29uZmlybWVkLWNvbnRhaW5lci1pbWFnZT4i" + + "IFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAgLS1pbmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWhl" + + "YWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFsdGgtcG9ydD04MDAwIFwKICAtLWhlYWx0aC10aW1l" + + "b3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90b2NvbD1IVFRQIFwKICAtLWhlYWx0aC1leHBlY3Rl" + + "ZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9uLXR5cGU9TExNIFwKICAtLWxsbS1tb2RlbD0nbmFt" + + "ZT08Y29uZmlybWVkLW1vZGVsLW5hbWU+LHVyaXM9L3YxL2NoYXQvY29tcGxldGlvbnN8L3YxL3Jl" + + "c3BvbnNlc3wvdjEvZW1iZWRkaW5ncyxyb3V0aW5nTWV0aG9kPXJvdW5kX3JvYmluLHRva2VuUmF0" + + "ZUxpbWl0PTEwMDAtUycKYGBgCgpVc2UgdGhlIHNhbWUgZGVwbG95IHN0ZXAgYmVsb3cgYWZ0ZXIg" + + "dGhlIExMTSBmdW5jdGlvbiBpcyBjcmVhdGVkLgoKT3B0aW9uYWwgbW9kZWwgcm91dGluZyB1cGRh" + + "dGUgYWZ0ZXIgY3JlYXRpb246CgpgYGBzaApudmNmLWNsaSBmdW5jdGlvbiB1cGRhdGUgXAogIC0t" + + "ZnVuY3Rpb24taWQ9PGZuX2lkPiBcCiAgLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+IFwKICAtLWxsbS1t" + + "b2RlbC11cGRhdGU9J25hbWU9PGNvbmZpcm1lZC1tb2RlbC1uYW1lPixyb3V0aW5nTWV0aG9kPXBv" + + "d2VyX29mX3R3byx0b2tlblJhdGVMaW1pdD0xMDAwLVMnCmBgYAoKVXNlIHRoaXMgZm9yIG11dGFi" + + "bGUgYHJvdXRpbmdNZXRob2RgIGFuZCBgdG9rZW5SYXRlTGltaXRgOyBjcmVhdGUtdGltZSBgdXJp" + + "c2Agc3RheSBpbiBgbW9kZWxzW10ubGxtQ29uZmlnYC4KYHRva2VuUmF0ZUxpbWl0YCBzdXBwb3J0" + + "cyBwb3NpdGl2ZSBpbnRlZ2VyIHRva2VuIGxpbWl0cyBmb3IgYFNgLCBgTWAsIGBIYCwgYERgLCBh" + + "bmQgYFdgLiBVc2UgYDEwMDAtU2AgZm9yIGEgc2luZ2xlIGlubGluZSBDTEkgbGltaXQuIFVzZSBp" + + "bnB1dCBKU09OIGZvciBjb21iaW5lZCBsaW1pdHMsIHN1Y2ggYXMgYDEwMDAtUyw1MDAwLU0sMTAw" + + "MDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1XYCwgYmVjYXVzZSBpbmxpbmUgbW9kZWwgc3BlY3MgdXNl" + + "IGNvbW1hcyBhcyBmaWVsZCBzZXBhcmF0b3JzLgoKIyMjIEhlbG0gY2hhcnQgTExNIGZ1bmN0aW9u" + + "IHZhcmlhbnQKCkxMTSBmdW5jdGlvbiB0eXBlIGlzIGluZGVwZW5kZW50IG9mIHdvcmtsb2FkIHBh" + + "Y2thZ2luZy4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0aW9uLCBrZWVwIHRoZSBz" + + "YW1lIGBmdW5jdGlvblR5cGVgIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBmaWVsZHMsIHRoZW4g" + + "c2V0IGBoZWxtQ2hhcnRgIGFuZCBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLiBUaGUgc2VydmljZSBu" + + "YW1lIG11c3QgbWF0Y2ggYSBLdWJlcm5ldGVzIFNlcnZpY2UgcmVuZGVyZWQgYnkgdGhlIGNoYXJ0" + + "LCBhbmQgYGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhhdCBTZXJ2aWNlIHBvcnQuCgpCZWZvcmUg" + + "Y3JlYXRpbmcgdGhlIGZ1bmN0aW9uLCBjb25maXJtIHRoZSBleGFjdCBmdW5jdGlvbiBuYW1lIGFu" + + "ZCBtb2RlbCBuYW1lIHdpdGggdGhlIHVzZXIuIElmIGVpdGhlciB2YWx1ZSBpcyBtaXNzaW5nLCBz" + + "dG9wIGFuZCBhc2suIERvIG5vdCBpbnZlbnQgb3Igc3VibWl0IGV4YW1wbGUgdmFsdWVzIGZvciB0" + + "aGVzZSBmaWVsZHMuCgpgYGBqc29uCnsKICAibmFtZSI6ICI8Y29uZmlybWVkLWZ1bmN0aW9uLW5h" + + "bWU+IiwKICAiaW5mZXJlbmNlVXJsIjogIi8iLAogICJpbmZlcmVuY2VQb3J0IjogODAwMCwKICAi" + + "ZnVuY3Rpb25UeXBlIjogIkxMTSIsCiAgImhlYWx0aCI6IHsKICAgICJwcm90b2NvbCI6ICJIVFRQ" + + "IiwKICAgICJ1cmkiOiAiL2hlYWx0aCIsCiAgICAicG9ydCI6IDgwMDAsCiAgICAidGltZW91dCI6" + + "ICJQVDMwUyIsCiAgICAiZXhwZWN0ZWRTdGF0dXNDb2RlIjogMjAwCiAgfSwKICAiaGVsbUNoYXJ0" + + "IjogImh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0vY2hhcnRzL29wZW5h" + + "aS1jb21wYXRpYmxlLTAuMS4wLnRneiIsCiAgImhlbG1DaGFydFNlcnZpY2VOYW1lIjogIm9wZW5h" + + "aS1jb21wYXRpYmxlIiwKICAibW9kZWxzIjogWwogICAgewogICAgICAibmFtZSI6ICI8Y29uZmly" + + "bWVkLW1vZGVsLW5hbWU+IiwKICAgICAgImxsbUNvbmZpZyI6IHsKICAgICAgICAidXJpcyI6IFsi" + + "L3YxL2NoYXQvY29tcGxldGlvbnMiLCAiL3YxL3Jlc3BvbnNlcyIsICIvdjEvZW1iZWRkaW5ncyJd" + + "LAogICAgICAgICJyb3V0aW5nTWV0aG9kIjogInJvdW5kX3JvYmluIiwKICAgICAgICAidG9rZW5S" + + "YXRlTGltaXQiOiAiMTAwMC1TIgogICAgICB9CiAgICB9CiAgXQp9CmBgYAoKRXF1aXZhbGVudCBD" + + "TEkgZmxhZyBmb3JtOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gY3JlYXRlIFwKICAtLW5hbWU9" + + "Ijxjb25maXJtZWQtZnVuY3Rpb24tbmFtZT4iIFwKICAtLWluZmVyZW5jZS11cmw9LyBcCiAgLS1p" + + "bmZlcmVuY2UtcG9ydD04MDAwIFwKICAtLWhlYWx0aC11cmk9L2hlYWx0aCBcCiAgLS1oZWFsdGgt" + + "cG9ydD04MDAwIFwKICAtLWhlYWx0aC10aW1lb3V0PVBUMzBTIFwKICAtLWhlYWx0aC1wcm90b2Nv" + + "bD1IVFRQIFwKICAtLWhlYWx0aC1leHBlY3RlZC1zdGF0dXM9MjAwIFwKICAtLWZ1bmN0aW9uLXR5" + + "cGU9TExNIFwKICAtLWhlbG0tY2hhcnQ9aHR0cHM6Ly9oZWxtLm5nYy5udmlkaWEuY29tL2V4YW1w" + + "bGUvdGVhbS9jaGFydHMvb3BlbmFpLWNvbXBhdGlibGUtMC4xLjAudGd6IFwKICAtLWhlbG0tY2hh" + + "cnQtc2VydmljZT1vcGVuYWktY29tcGF0aWJsZSBcCiAgLS1sbG0tbW9kZWw9J25hbWU9PGNvbmZp" + "cm1lZC1tb2RlbC1uYW1lPix1cmlzPS92MS9jaGF0L2NvbXBsZXRpb25zfC92MS9yZXNwb25zZXN8" + "L3YxL2VtYmVkZGluZ3Mscm91dGluZ01ldGhvZD1yb3VuZF9yb2Jpbix0b2tlblJhdGVMaW1pdD0x" + - "MDAwLVMnCmBgYAoKVXNlIHRoZSBzYW1lIGRlcGxveSBzdGVwIGJlbG93IGFmdGVyIHRoZSBMTE0g" + - "ZnVuY3Rpb24gaXMgY3JlYXRlZC4KCk9wdGlvbmFsIG1vZGVsIHJvdXRpbmcgdXBkYXRlIGFmdGVy" + - "IGNyZWF0aW9uOgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gdXBkYXRlIFwKICAtLWZ1bmN0aW9u" + - "LWlkPTxmbl9pZD4gXAogIC0tdmVyc2lvbi1pZD08dmVyX2lkPiBcCiAgLS1sbG0tbW9kZWwtdXBk" + - "YXRlPSduYW1lPTxjb25maXJtZWQtbW9kZWwtbmFtZT4scm91dGluZ01ldGhvZD1wb3dlcl9vZl90" + - "d28sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpgYGAKClVzZSB0aGlzIGZvciBtdXRhYmxlIGByb3V0" + - "aW5nTWV0aG9kYCBhbmQgYHRva2VuUmF0ZUxpbWl0YDsgY3JlYXRlLXRpbWUgYHVyaXNgIHN0YXkg" + - "aW4gYG1vZGVsc1tdLmxsbUNvbmZpZ2AuCmB0b2tlblJhdGVMaW1pdGAgc3VwcG9ydHMgcG9zaXRp" + - "dmUgaW50ZWdlciB0b2tlbiBsaW1pdHMgZm9yIGBTYCwgYE1gLCBgSGAsIGBEYCwgYW5kIGBXYC4g" + - "VXNlIGAxMDAwLVNgIGZvciBhIHNpbmdsZSBpbmxpbmUgQ0xJIGxpbWl0LiBVc2UgaW5wdXQgSlNP" + - "TiBmb3IgY29tYmluZWQgbGltaXRzLCBzdWNoIGFzIGAxMDAwLVMsNTAwMC1NLDEwMDAwMC1ILDUw" + - "MDAwMC1ELDEwMDAwMDAtV2AsIGJlY2F1c2UgaW5saW5lIG1vZGVsIHNwZWNzIHVzZSBjb21tYXMg" + - "YXMgZmllbGQgc2VwYXJhdG9ycy4KCiMjIyBIZWxtIGNoYXJ0IExMTSBmdW5jdGlvbiB2YXJpYW50" + - "CgpMTE0gZnVuY3Rpb24gdHlwZSBpcyBpbmRlcGVuZGVudCBvZiB3b3JrbG9hZCBwYWNrYWdpbmcu" + - "IEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwga2VlcCB0aGUgc2FtZSBgZnVu" + - "Y3Rpb25UeXBlYCBhbmQgYG1vZGVsc1tdLmxsbUNvbmZpZ2AgZmllbGRzLCB0aGVuIHNldCBgaGVs" + - "bUNoYXJ0YCBhbmQgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4gVGhlIHNlcnZpY2UgbmFtZSBtdXN0" + - "IG1hdGNoIGEgS3ViZXJuZXRlcyBTZXJ2aWNlIHJlbmRlcmVkIGJ5IHRoZSBjaGFydCwgYW5kIGBp" + - "bmZlcmVuY2VQb3J0YCBtdXN0IGJlIHRoYXQgU2VydmljZSBwb3J0LgoKQmVmb3JlIGNyZWF0aW5n" + - "IHRoZSBmdW5jdGlvbiwgY29uZmlybSB0aGUgZXhhY3QgZnVuY3Rpb24gbmFtZSBhbmQgbW9kZWwg" + - "bmFtZSB3aXRoIHRoZSB1c2VyLiBJZiBlaXRoZXIgdmFsdWUgaXMgbWlzc2luZywgc3RvcCBhbmQg" + - "YXNrLiBEbyBub3QgaW52ZW50IG9yIHN1Ym1pdCBleGFtcGxlIHZhbHVlcyBmb3IgdGhlc2UgZmll" + - "bGRzLgoKYGBganNvbgp7CiAgIm5hbWUiOiAiPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiIsCiAg" + - "ImluZmVyZW5jZVVybCI6ICIvIiwKICAiaW5mZXJlbmNlUG9ydCI6IDgwMDAsCiAgImZ1bmN0aW9u" + - "VHlwZSI6ICJMTE0iLAogICJoZWFsdGgiOiB7CiAgICAicHJvdG9jb2wiOiAiSFRUUCIsCiAgICAi" + - "dXJpIjogIi9oZWFsdGgiLAogICAgInBvcnQiOiA4MDAwLAogICAgInRpbWVvdXQiOiAiUFQzMFMi" + - "LAogICAgImV4cGVjdGVkU3RhdHVzQ29kZSI6IDIwMAogIH0sCiAgImhlbG1DaGFydCI6ICJodHRw" + - "czovL2hlbG0ubmdjLm52aWRpYS5jb20vZXhhbXBsZS90ZWFtL2NoYXJ0cy9vcGVuYWktY29tcGF0" + - "aWJsZS0wLjEuMC50Z3oiLAogICJoZWxtQ2hhcnRTZXJ2aWNlTmFtZSI6ICJvcGVuYWktY29tcGF0" + - "aWJsZSIsCiAgIm1vZGVscyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiPGNvbmZpcm1lZC1tb2Rl" + - "bC1uYW1lPiIsCiAgICAgICJsbG1Db25maWciOiB7CiAgICAgICAgInVyaXMiOiBbIi92MS9jaGF0" + - "L2NvbXBsZXRpb25zIiwgIi92MS9yZXNwb25zZXMiLCAiL3YxL2VtYmVkZGluZ3MiXSwKICAgICAg" + - "ICAicm91dGluZ01ldGhvZCI6ICJyb3VuZF9yb2JpbiIsCiAgICAgICAgInRva2VuUmF0ZUxpbWl0" + - "IjogIjEwMDAtUyIKICAgICAgfQogICAgfQogIF0KfQpgYGAKCkVxdWl2YWxlbnQgQ0xJIGZsYWcg" + - "Zm9ybToKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGNyZWF0ZSBcCiAgLS1uYW1lPSI8Y29uZmly" + - "bWVkLWZ1bmN0aW9uLW5hbWU+IiBcCiAgLS1pbmZlcmVuY2UtdXJsPS8gXAogIC0taW5mZXJlbmNl" + - "LXBvcnQ9ODAwMCBcCiAgLS1oZWFsdGgtdXJpPS9oZWFsdGggXAogIC0taGVhbHRoLXBvcnQ9ODAw" + - "MCBcCiAgLS1oZWFsdGgtdGltZW91dD1QVDMwUyBcCiAgLS1oZWFsdGgtcHJvdG9jb2w9SFRUUCBc" + - "CiAgLS1oZWFsdGgtZXhwZWN0ZWQtc3RhdHVzPTIwMCBcCiAgLS1mdW5jdGlvbi10eXBlPUxMTSBc" + - "CiAgLS1oZWxtLWNoYXJ0PWh0dHBzOi8vaGVsbS5uZ2MubnZpZGlhLmNvbS9leGFtcGxlL3RlYW0v" + - "Y2hhcnRzL29wZW5haS1jb21wYXRpYmxlLTAuMS4wLnRneiBcCiAgLS1oZWxtLWNoYXJ0LXNlcnZp" + - "Y2U9b3BlbmFpLWNvbXBhdGlibGUgXAogIC0tbGxtLW1vZGVsPSduYW1lPTxjb25maXJtZWQtbW9k" + - "ZWwtbmFtZT4sdXJpcz0vdjEvY2hhdC9jb21wbGV0aW9uc3wvdjEvcmVzcG9uc2VzfC92MS9lbWJl" + - "ZGRpbmdzLHJvdXRpbmdNZXRob2Q9cm91bmRfcm9iaW4sdG9rZW5SYXRlTGltaXQ9MTAwMC1TJwpg" + - "YGAKCkRlcGxveSBpcyB1bmNoYW5nZWQuIFB1dCBjaGFydC1zcGVjaWZpYyB2YWx1ZXMgdW5kZXIg" + - "YGRlcGxveW1lbnRTcGVjaWZpY2F0aW9uc1tdLmNvbmZpZ3VyYXRpb25gIG9ubHkgd2hlbiB0aGUg" + - "Y2hhcnQgbmVlZHMgdmFsdWUgb3ZlcnJpZGVzOgoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAi" + - "PGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZp" + - "Y2F0aW9ucyI6IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1Au" + - "R1BVLkgxMDBfMXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjog" + - "MSwKICAgICJtYXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMCwKICAgICJjb25maWd1cmF0aW9uIjog" + - "ewogICAgICAic2VydmluZyI6IHsKICAgICAgICAidGVuc29yUGFyYWxsZWxTaXplIjogMQogICAg" + - "ICB9CiAgICB9CiAgfV0KfQpgYGAKCkxMTSBHYXRld2F5IHJvdXRlcyByZXF1ZXN0cyBieSB0aGUg" + - "T3BlbkFJIGBtb2RlbGAgdmFsdWUuIFVzZSBgPGZ1bmN0aW9uLWlkPi88bW9kZWwtbmFtZT5gOiB0" + - "aGUgZnVuY3Rpb24gSUQgc2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBu" + - "YW1lIGlzIGZvcndhcmRlZCB0byB0aGUgdXBzdHJlYW0gY29udGFpbmVyIHRocm91Z2ggYHN0YXJn" + - "YXRlLWNsaWVudGAuCgpTdXBwb3J0ZWQgTExNIHBhdGhzOgoKfCBQYXRoIHwgTm90ZXMgfAp8IC0t" + - "LSB8IC0tLSB8CnwgYC92MS9jaGF0L2NvbXBsZXRpb25zYCB8IFN1cHBvcnRzIHN0cmVhbWluZyBh" + - "bmQgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9yZXNwb25zZXNgIHwgTmF0aXZlIFJlc3Bv" + - "bnNlcyBwcm94eSBwYXRoOyByZWxheXMgU1NFIGZvciBzdHJlYW1pbmcgY2xpZW50cyBhbmQgcmV0" + - "dXJucyB0ZXJtaW5hbCBKU09OIGZvciBub24tc3RyZWFtaW5nIGNsaWVudHMuIFN1cHBvcnRzIHNl" + - "c3Npb24gc3RpY2tpbmVzcy4gfAp8IGAvdjEvZW1iZWRkaW5nc2AgfCBBY2NlcHRzIHN0cmluZyBv" + - "ciBzdHJpbmctYXJyYXkgYGlucHV0YDsgaW5wdXQgbXVzdCBiZSBub24tZW1wdHkgYW5kIG1heSBj" + - "b250YWluIGF0IG1vc3QgMjA0OCBlbnRyaWVzLiBObyBzZXNzaW9uIHN0aWNraW5lc3MuIHwKCiMj" + - "IDIuIEZ1bmN0aW9uIERFUExPWQoKYGBganNvbgp7CiAgImZ1bmN0aW9uSWQiOiAiPGZuX2lkPiIs" + - "CiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgImRlcGxveW1lbnRTcGVjaWZpY2F0aW9ucyI6" + - "IFt7CiAgICAiZ3B1IjogIkgxMDAiLAogICAgImluc3RhbmNlVHlwZSI6ICJOQ1AuR1BVLkgxMDBf" + - "MXgiLAogICAgIm1pbkluc3RhbmNlcyI6IDEsCiAgICAibWF4SW5zdGFuY2VzIjogMSwKICAgICJt" + - "YXhSZXF1ZXN0Q29uY3VycmVuY3kiOiAxMAogIH1dCn0KYGBgCgpOb3RlOiBgZ3B1YCBpcyB0aGUg" + - "R1BVICoqZmFtaWx5KiogKGUuZy4gYEgxMDBgKSwgYGluc3RhbmNlVHlwZWAgaXMgdGhlIFNLVSAo" + - "ZS5nLiBgTkNQLkdQVS5IMTAwXzF4YCkuIE1pc21hdGNoIHJldHVybnMgSUNNUyA0MDAgIkludmFs" + - "aWQgR1BVIi4KCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1m" + - "aWxlPWRlcGxveS1mbi5qc29uCmBgYAoKVGhpcyBjb21tYW5kICoqYmxvY2tzKiogdW50aWwgdGhl" + - "IGRlcGxveW1lbnQgcmVhY2hlcyBBQ1RJVkUgKGRlZmF1bHQgOTAwcyB0aW1lb3V0KS4gV2hlbiBp" + - "dCByZXR1cm5zIHJjPTAsIGEgZnVuY3Rpb24gcG9kIGlzIHJ1bm5pbmcgaW4gdGhlIGBudmNmLWJh" + - "Y2tlbmRgIG5hbWVzcGFjZSBvbiB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyLgoKIyMgMy4gTWlu" + - "dCBhbiBBUEkga2V5IHdpdGggYGludm9rZV9mdW5jdGlvbmAgc2NvcGUKCmBudmNmLWNsaSBpbml0" + - "YCdzIGFkbWluIHRva2VuIGRvZXMgTk9UIGNhcnJ5IHRoZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29w" + - "ZSDigJQgaW52b2tlIHdvdWxkIDQwMyB3aXRoICJtaXNzaW5nIHJlcXVlc3RlZCBhdXRob3JpdGll" + - "cyIuIE1pbnQgYW4gQVBJIGtleToKCmBgYHNoCm52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1k" + - "ZXNjcmlwdGlvbj0iPGNvbmZpcm1lZC1mdW5jdGlvbi1uYW1lPiBpbnZva2UiIC0tZXhwaXJlcy1p" + - "bj0xaAojIOKGkiBBUEkgS2V5OiBudmFwaS1udmNmLXN0Zy0uLi4KYGBgCgpUaGUga2V5IGlzIGF1" + - "dG9tYXRpY2FsbHkgc2F2ZWQgdG8gdGhlIENMSSBzdGF0ZSBmaWxlIGFuZCB1c2VkIGJ5IHRoZSBu" + - "ZXh0IGBmdW5jdGlvbiBpbnZva2VgIGNhbGwuICoqRG9uJ3QgZWNobyB0aGUga2V5IGludG8gY2hh" + - "dCAvIGxvZ3MqKi4KCiMjIDQuIEZ1bmN0aW9uIElOVk9LRQoKYGBganNvbgp7CiAgImZ1bmN0aW9u" + - "SWQiOiAiPGZuX2lkPiIsCiAgInZlcnNpb25JZCI6ICI8dmVyX2lkPiIsCiAgInJlcXVlc3RCb2R5" + - "IjogeyJtZXNzYWdlIjogImhlbGxvIn0KfQpgYGAKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGlu" + - "dm9rZSAtLWlucHV0LWZpbGU9aW52b2tlLWZuLmpzb24KIyDihpIgRnVuY3Rpb24gaW52b2NhdGlv" + - "biBjb21wbGV0ZWQhCiMg4oaSIFN0YXR1czogZnVsZmlsbGVkCiMg4oaSIFJlcXVlc3QgSUQ6IC4u" + - "LgpgYGAKCkZvciBhbiBMTE0gZnVuY3Rpb24sIGludm9rZSB0aGUgT3BlbkFJLWNvbXBhdGlibGUg" + - "cm91dGUgYWZ0ZXIgZGVwbG95bWVudDoKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8v" + - "bGxtLmludm9jYXRpb24uPGRvbWFpbj4vdjEvY2hhdC9jb21wbGV0aW9ucyIgXAogIC1IICJBdXRo" + - "b3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTog" + - "YXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmly" + - "bWVkLW1vZGVsLW5hbWU+IiwKICAgICJzdHJlYW0iOiB0cnVlLAogICAgIm1lc3NhZ2VzIjogWwog" + - "ICAgICB7CiAgICAgICAgInJvbGUiOiAidXNlciIsCiAgICAgICAgImNvbnRlbnQiOiAiSGVsbG8i" + - "CiAgICAgIH0KICAgIF0KICB9JwpgYGAKClRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZSBtdXN0IGJl" + - "IGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPmAgc28gdGhlIGdhdGV3YXkgY2FuIHNlbGVjdCB0" + - "aGUgZnVuY3Rpb24gYW5kIG1vZGVsLgoKUmVzcG9uc2VzIEFQSSBleGFtcGxlOgoKYGBgc2gKY3Vy" + - "bCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9yZXNwb25z" + - "ZXMiIFwKICAtSCAiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7TlZDRl9BUElfS0VZfSIgXAogIC1I" + - "ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iIFwKICAtZCAnewogICAgIm1vZGVsIjog" + - "Ijxmbl9pZD4vPGNvbmZpcm1lZC1tb2RlbC1uYW1lPiIsCiAgICAiaW5wdXQiOiAiV3JpdGUgYSBv" + - "bmUgc2VudGVuY2Ugc3VtbWFyeSBvZiBOVkNGLiIKICB9JwpgYGAKCkVtYmVkZGluZ3MgZXhhbXBs" + - "ZToKCmBgYHNoCmN1cmwgLXNTIC1YIFBPU1QgImh0dHBzOi8vbGxtLmludm9jYXRpb24uPGRvbWFp" + - "bj4vdjEvZW1iZWRkaW5ncyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQ" + - "SV9LRVl9IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7" + - "CiAgICAibW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1" + - "dCI6ICJOVkNGIGVtYmVkZGluZ3MgY2hlY2siCiAgfScKYGBgCgpJZiBzdGF0dXMgaXMgYGVycm9y" + - "ZWRgLCBxdWVyeSBJQ01TIGZvciB0aGUgZGVwbG95bWVudCdzIHBvZCBsb2dzIChrdWJlY3RsIG9u" + - "IHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIpIGFuZCBzdXJmYWNlIHRvIHRoZSB1c2VyLgoKIyMg" + - "NS4gQ2xlYW51cAoKV2hlbiB0aGUgdXNlciBpcyBkb25lIHdpdGggdGhlIHNtb2tlIHRlc3Q6Cgpg" + - "YGBzaApudmNmLWNsaSBmdW5jdGlvbiBkZWxldGUgLS1mdW5jdGlvbi1pZD08Zm5faWQ+IC0tdmVy" + - "c2lvbi1pZD08dmVyX2lkPgpgYGAKCioqQ29uZmlybSB3aXRoIHRoZSB1c2VyIGJlZm9yZSBkZWxl" + - "dGluZy4qKiBUaGlzIHJlbW92ZXMgYm90aCB0aGUgZGVwbG95bWVudCBhbmQgdGhlIGZ1bmN0aW9u" + - "IHJlY29yZC4KCiMjIE5vdGVzCgotIERlcGxveSB0aW1lcyBjYW4gdmFyeSB3aWRlbHkgZGVwZW5k" + - "aW5nIG9uIE5BVFMgc3RyZWFtLWluaXQgbGF0ZW5jeSBvbiBjb2xkLWNsdXN0ZXIgcnVucyAoMS03" + - "IG1pbnV0ZXMgb2JzZXJ2ZWQgaW4gZGV2LVZNIHRlc3RzKS4gQmUgcGF0aWVudDsgZG9uJ3Qga2ls" + - "bCB0aGUgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGVgIGNvbW1hbmQgZWFybHkuCi0gRm9yIGRpZmZl" + - "cmVudCBHUFUgZmFtaWxpZXMsIGNoYW5nZSBib3RoIGBncHVgIGFuZCBgaW5zdGFuY2VUeXBlYCB0" + - "b2dldGhlci4gQ29tbW9uIFNLVXM6IGBOQ1AuR1BVLkgxMDBfMXhgLCBgTkNQLkdQVS5IMTAwXzJ4" + - "YCwgYE5DUC5HUFUuQTEwMF8xeGAuCi0gVGhlIGZ1bmN0aW9uJ3MgY29udGFpbmVyIGltYWdlIG11" + - "c3QgYmUgcHVsbGFibGUgZnJvbSB0aGUgY29tcHV0ZS1wbGFuZSBjbHVzdGVyJ3MgaW1hZ2UtY3Jl" + - "ZGVudGlhbC1oZWxwZXIgY29uZmlnIChjaGVjayBga3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gbnZj" + - "Zi1iYWNrZW5kYCBpZiBwb2RzIGxhbmQgaW4gYEltYWdlUHVsbEJhY2tPZmZgKS4KUEsHCNJD3AQY" + - "JQAAGCUAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAPQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFn" + - "ZWQtY2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhIjIERpYWdu" + - "b3NlIGEgZmFpbGVkIHNlbGYtaG9zdGVkIE5WQ0YgaW5zdGFsbAoKVXNlciBzYXlzICJteSBpbnN0" + - "YWxsIGZhaWxlZCIgb3IgIlggaXNuJ3Qgd29ya2luZyIuIERvbid0IGd1ZXNzIOKAlCBxdWVyeSB0" + - "aGUgY2x1c3Rlci4KCiMjIDEuIEdldCB0aGUgdmVyZGljdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1o" + - "b3N0ZWQgc3RhdHVzIC0tanNvbiB8IGpxIC1jIC4KYGBgCgpUaGUgZmlyc3QgZXZlbnQgaXMgdGhl" + - "IHNuYXBzaG90LiBQYXJzZSBgLnZlcmRpY3RgOgoKLSAqKmBoZWFsdGh5YCoqIOKAlCBub3RoaW5n" + - "J3Mgd3JvbmcuIEFzayB0aGUgdXNlciB3aGF0IHRoZXkncmUgYWN0dWFsbHkgc2VlaW5nOyB0aGVp" + - "ciBwcm9ibGVtIG1heSBiZSBhdCBhIGRpZmZlcmVudCBsYXllciAoZnVuY3Rpb24gZGVwbG95LCBu" + - "ZXR3b3JrLCBldGMuKS4KLSAqKmBkZWdyYWRlZGAqKiDigJQgYXQgbGVhc3Qgb25lIGNvbXBvbmVu" + - "dCBub3QgcmVhZHkuIFRoZSBDb21wb25lbnRzIGxpc3Qgd2lsbCBpZGVudGlmeSB3aGljaC4gTW9z" + - "dCBjb21tb246IGBjYXNzYW5kcmFgIFBvZEluaXRpYWxpemluZywgYG9wZW5iYW9gIG5vdCB1bnNl" + - "YWxlZCwgYHNpc2AgSW1hZ2VQdWxsQmFja09mZi4KLSAqKmBmYWlsZWRgKiog4oCUIE5WQ0ZCYWNr" + - "ZW5kIGBIZWFsdGg9RmFpbGVkYC4gUmVhZCB0aGUgY2x1c3RlcidzIE5WQ0ZCYWNrZW5kIHN0YXR1" + - "cyBjb25kaXRpb24gbWVzc2FnZS4KLSAqKmB1bmtub3duYCoqIOKAlCBJQ01TIHVucmVhY2hhYmxl" + - "LiBUaGUgY29udHJvbCBwbGFuZSBpdHNlbGYgbWF5IGJlIGRvd247IGNoZWNrIGBrdWJlY3RsIGdl" + - "dCBwb2RzIC1uIHNpc2AgZGlyZWN0bHkuCgojIyAyLiBEcmlsbCBpbnRvIHRoZSBmYWlsaW5nIGNv" + - "bXBvbmVudAoKRm9yIGVhY2ggbm9uLXJlYWR5IGNvbXBvbmVudCwgdGhlIHNuYXBzaG90IGluY2x1" + - "ZGVzIGEgYG1lc3NhZ2VgIChlLmcuIGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmcgNm0yM3Ng" + - "KS4gQXNrIHRoZSB1c2VyIHRvIHJ1bjoKCmBgYHNoCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxu" + - "cz4gPHBvZD4Ka3ViZWN0bCBsb2dzIC1uIDxucz4gPHBvZD4gLS1hbGwtY29udGFpbmVycyAtLXRh" + - "aWw9MTAwCmBgYAoKU3VyZmFjZSB0aGUgZXZlbnRzICsgbGFzdCBsb2cgbGluZXMuIERvbid0IHBy" + - "b3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHBvZGAgdW5sZXNzIHRoZSB1c2VyIGNvbmZpcm1zIOKAlCBD" + - "YXNzYW5kcmEgcmVzdGFydCBsb3NlcyBhbnkgaW4tcHJvZ3Jlc3MgbWlncmF0aW9uLgoKIyMgMy4g" + - "Q29tbW9uIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBMaWtlbHkgY2F1c2UgfCBSZW1lZGlhdGlvbiB8" + - "CnwtLS18LS0tfC0tLXwKfCBgY2Fzc2FuZHJhLTAgUG9kSW5pdGlhbGl6aW5nYCBmb3IgPjUgbWlu" + - "IHwgU3RvcmFnZUNsYXNzIG1pc3Npbmcgb3IgUFYgc3R1Y2sgYFBlbmRpbmdgIHwgYGt1YmVjdGwg" + - "Z2V0IHB2LHB2YyAtQWAg4oCUIGNvbmZpcm0gYSBkZWZhdWx0IFN0b3JhZ2VDbGFzcyBleGlzdHMu" + - "IExvY2FsIGRldjogYGt1YmVjdGwgcGF0Y2ggc3RvcmFnZWNsYXNzIGxvY2FsLXBhdGggLXAgJ3si" + - "bWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1YmVybmV0ZXMuaW8vaXMt" + - "ZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AgfAp8IGBoZWxtIGluc3RhbGwgLi4uOiB0aW1lZCBv" + - "dXQgd2FpdGluZyBmb3IgY2Fzc2FuZHJhIHRvIGJlY29tZSBhdmFpbGFibGVgIHwgU2FtZSBhcyBh" + - "Ym92ZSB8IFNhbWUgfAp8IGBHYXRld2F5IEFQSSBDUkRzIG5vdCBpbnN0YWxsZWRgIChwcmVmbGln" + - "aHQpIHwgTXVsdGktY2x1c3RlciBgbnZjZi1nYXRld2F5LXJvdXRlc2AgY2hhcnQgbmVlZHMgZW52" + - "b3ktZ2F0ZXdheSBwcmVyZXF1aXNpdGUgfCBJbnN0YWxsIGVudm95LWdhdGV3YXk6IGBoZWxtIGlu" + - "c3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdheS1oZWxtIC0tbmFtZXNw" + - "YWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFjZWAgfAp8IGBObyBjbHVz" + - "dGVyIGZvdW5kIHdpdGggdmFsaWQgSldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKE5WQ0EgYWdl" + - "bnQpIHwgQ29tcHV0ZSBwbGFuZSdzIFBTQVQgd2FzIGlzc3VlZCBieSBhIEs4cyBzZXJ2ZXIgd2hv" + - "c2UgSldLUyBkb2Vzbid0IG1hdGNoIHdoYXQncyBzdG9yZWQgaW4gSUNNUyB8IFJlLXJlZ2lzdGVy" + - "OiBgbnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIGZyb20gYSBjb250" + - "ZXh0IHRoYXQgY2FuIHJlYWNoIHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSB8CnwgYFNpZ25l" + + "MDAwLVMnCmBgYAoKRGVwbG95IGlzIHVuY2hhbmdlZC4gUHV0IGNoYXJ0LXNwZWNpZmljIHZhbHVl" + + "cyB1bmRlciBgZGVwbG95bWVudFNwZWNpZmljYXRpb25zW10uY29uZmlndXJhdGlvbmAgb25seSB3" + + "aGVuIHRoZSBjaGFydCBuZWVkcyB2YWx1ZSBvdmVycmlkZXM6CgpgYGBqc29uCnsKICAiZnVuY3Rp" + + "b25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVu" + + "dFNwZWNpZmljYXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBl" + + "IjogIk5DUC5HUFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0" + + "YW5jZXMiOiAxLAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwLAogICAgImNvbmZpZ3Vy" + + "YXRpb24iOiB7CiAgICAgICJzZXJ2aW5nIjogewogICAgICAgICJ0ZW5zb3JQYXJhbGxlbFNpemUi" + + "OiAxCiAgICAgIH0KICAgIH0KICB9XQp9CmBgYAoKTExNIEdhdGV3YXkgcm91dGVzIHJlcXVlc3Rz" + + "IGJ5IHRoZSBPcGVuQUkgYG1vZGVsYCB2YWx1ZS4gVXNlIGA8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1u" + + "YW1lPmA6IHRoZSBmdW5jdGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhl" + + "IG1vZGVsIG5hbWUgaXMgZm9yd2FyZGVkIHRvIHRoZSB1cHN0cmVhbSBjb250YWluZXIgdGhyb3Vn" + + "aCBgc3RhcmdhdGUtY2xpZW50YC4KClN1cHBvcnRlZCBMTE0gcGF0aHM6Cgp8IFBhdGggfCBOb3Rl" + + "cyB8CnwgLS0tIHwgLS0tIHwKfCBgL3YxL2NoYXQvY29tcGxldGlvbnNgIHwgU3VwcG9ydHMgc3Ry" + + "ZWFtaW5nIGFuZCBzZXNzaW9uIHN0aWNraW5lc3MuIHwKfCBgL3YxL3Jlc3BvbnNlc2AgfCBOYXRp" + + "dmUgUmVzcG9uc2VzIHByb3h5IHBhdGg7IHJlbGF5cyBTU0UgZm9yIHN0cmVhbWluZyBjbGllbnRz" + + "IGFuZCByZXR1cm5zIHRlcm1pbmFsIEpTT04gZm9yIG5vbi1zdHJlYW1pbmcgY2xpZW50cy4gU3Vw" + + "cG9ydHMgc2Vzc2lvbiBzdGlja2luZXNzLiB8CnwgYC92MS9lbWJlZGRpbmdzYCB8IEFjY2VwdHMg" + + "c3RyaW5nIG9yIHN0cmluZy1hcnJheSBgaW5wdXRgOyBpbnB1dCBtdXN0IGJlIG5vbi1lbXB0eSBh" + + "bmQgbWF5IGNvbnRhaW4gYXQgbW9zdCAyMDQ4IGVudHJpZXMuIE5vIHNlc3Npb24gc3RpY2tpbmVz" + + "cy4gfAoKIyMgMi4gRnVuY3Rpb24gREVQTE9ZCgpgYGBqc29uCnsKICAiZnVuY3Rpb25JZCI6ICI8" + + "Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAiZGVwbG95bWVudFNwZWNpZmlj" + + "YXRpb25zIjogW3sKICAgICJncHUiOiAiSDEwMCIsCiAgICAiaW5zdGFuY2VUeXBlIjogIk5DUC5H" + + "UFUuSDEwMF8xeCIsCiAgICAibWluSW5zdGFuY2VzIjogMSwKICAgICJtYXhJbnN0YW5jZXMiOiAx" + + "LAogICAgIm1heFJlcXVlc3RDb25jdXJyZW5jeSI6IDEwCiAgfV0KfQpgYGAKCk5vdGU6IGBncHVg" + + "IGlzIHRoZSBHUFUgKipmYW1pbHkqKiAoZS5nLiBgSDEwMGApLCBgaW5zdGFuY2VUeXBlYCBpcyB0" + + "aGUgU0tVIChlLmcuIGBOQ1AuR1BVLkgxMDBfMXhgKS4gTWlzbWF0Y2ggcmV0dXJucyBJQ01TIDQw" + + "MCAiSW52YWxpZCBHUFUiLgoKYGBgc2gKbnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZSAt" + + "LWlucHV0LWZpbGU9ZGVwbG95LWZuLmpzb24KYGBgCgpUaGlzIGNvbW1hbmQgKipibG9ja3MqKiB1" + + "bnRpbCB0aGUgZGVwbG95bWVudCByZWFjaGVzIEFDVElWRSAoZGVmYXVsdCA5MDBzIHRpbWVvdXQp" + + "LiBXaGVuIGl0IHJldHVybnMgcmM9MCwgYSBmdW5jdGlvbiBwb2QgaXMgcnVubmluZyBpbiB0aGUg" + + "YG52Y2YtYmFja2VuZGAgbmFtZXNwYWNlIG9uIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIuCgoj" + + "IyAzLiBNaW50IGFuIEFQSSBrZXkgd2l0aCBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZQoKYG52Y2Yt" + + "Y2xpIGluaXRgJ3MgYWRtaW4gdG9rZW4gZG9lcyBOT1QgY2FycnkgdGhlIGBpbnZva2VfZnVuY3Rp" + + "b25gIHNjb3BlIOKAlCBpbnZva2Ugd291bGQgNDAzIHdpdGggIm1pc3NpbmcgcmVxdWVzdGVkIGF1" + + "dGhvcml0aWVzIi4gTWludCBhbiBBUEkga2V5OgoKYGBgc2gKbnZjZi1jbGkgYXBpLWtleSBnZW5l" + + "cmF0ZSAtLWRlc2NyaXB0aW9uPSI8Y29uZmlybWVkLWZ1bmN0aW9uLW5hbWU+IGludm9rZSIgLS1l" + + "eHBpcmVzLWluPTFoCiMg4oaSIEFQSSBLZXk6IG52YXBpLW52Y2Ytc3RnLS4uLgpgYGAKClRoZSBr" + + "ZXkgaXMgYXV0b21hdGljYWxseSBzYXZlZCB0byB0aGUgQ0xJIHN0YXRlIGZpbGUgYW5kIHVzZWQg" + + "YnkgdGhlIG5leHQgYGZ1bmN0aW9uIGludm9rZWAgY2FsbC4gKipEb24ndCBlY2hvIHRoZSBrZXkg" + + "aW50byBjaGF0IC8gbG9ncyoqLgoKIyMgNC4gRnVuY3Rpb24gSU5WT0tFCgpgYGBqc29uCnsKICAi" + + "ZnVuY3Rpb25JZCI6ICI8Zm5faWQ+IiwKICAidmVyc2lvbklkIjogIjx2ZXJfaWQ+IiwKICAicmVx" + + "dWVzdEJvZHkiOiB7Im1lc3NhZ2UiOiAiaGVsbG8ifQp9CmBgYAoKYGBgc2gKbnZjZi1jbGkgZnVu" + + "Y3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1pbnZva2UtZm4uanNvbgojIOKGkiBGdW5jdGlvbiBp" + + "bnZvY2F0aW9uIGNvbXBsZXRlZCEKIyDihpIgU3RhdHVzOiBmdWxmaWxsZWQKIyDihpIgUmVxdWVz" + + "dCBJRDogLi4uCmBgYAoKRm9yIGFuIExMTSBmdW5jdGlvbiwgaW52b2tlIHRoZSBPcGVuQUktY29t" + + "cGF0aWJsZSByb3V0ZSBhZnRlciBkZXBsb3ltZW50OgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAi" + + "aHR0cHM6Ly9sbG0uaW52b2NhdGlvbi48ZG9tYWluPi92MS9jaGF0L2NvbXBsZXRpb25zIiBcCiAg" + + "LUggIkF1dGhvcml6YXRpb246IEJlYXJlciAke05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVu" + + "dC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBcCiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+" + + "Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAogICAgInN0cmVhbSI6IHRydWUsCiAgICAibWVzc2Fn" + + "ZXMiOiBbCiAgICAgIHsKICAgICAgICAicm9sZSI6ICJ1c2VyIiwKICAgICAgICAiY29udGVudCI6" + + "ICJIZWxsbyIKICAgICAgfQogICAgXQogIH0nCmBgYAoKVGhlIE9wZW5BSSBgbW9kZWxgIHZhbHVl" + + "IG11c3QgYmUgYDxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+YCBzbyB0aGUgZ2F0ZXdheSBjYW4g" + + "c2VsZWN0IHRoZSBmdW5jdGlvbiBhbmQgbW9kZWwuCgpSZXNwb25zZXMgQVBJIGV4YW1wbGU6Cgpg" + + "YGBzaApjdXJsIC1zUyAtWCBQT1NUICJodHRwczovL2xsbS5pbnZvY2F0aW9uLjxkb21haW4+L3Yx" + + "L3Jlc3BvbnNlcyIgXAogIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHtOVkNGX0FQSV9LRVl9" + + "IiBcCiAgLUggIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIgXAogIC1kICd7CiAgICAi" + + "bW9kZWwiOiAiPGZuX2lkPi88Y29uZmlybWVkLW1vZGVsLW5hbWU+IiwKICAgICJpbnB1dCI6ICJX" + + "cml0ZSBhIG9uZSBzZW50ZW5jZSBzdW1tYXJ5IG9mIE5WQ0YuIgogIH0nCmBgYAoKRW1iZWRkaW5n" + + "cyBleGFtcGxlOgoKYGBgc2gKY3VybCAtc1MgLVggUE9TVCAiaHR0cHM6Ly9sbG0uaW52b2NhdGlv" + + "bi48ZG9tYWluPi92MS9lbWJlZGRpbmdzIiBcCiAgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAk" + + "e05WQ0ZfQVBJX0tFWX0iIFwKICAtSCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIiBc" + + "CiAgLWQgJ3sKICAgICJtb2RlbCI6ICI8Zm5faWQ+Lzxjb25maXJtZWQtbW9kZWwtbmFtZT4iLAog" + + "ICAgImlucHV0IjogIk5WQ0YgZW1iZWRkaW5ncyBjaGVjayIKICB9JwpgYGAKCklmIHN0YXR1cyBp" + + "cyBgZXJyb3JlZGAsIHF1ZXJ5IElDTVMgZm9yIHRoZSBkZXBsb3ltZW50J3MgcG9kIGxvZ3MgKGt1" + + "YmVjdGwgb24gdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3RlcikgYW5kIHN1cmZhY2UgdG8gdGhlIHVz" + + "ZXIuCgojIyA1LiBDbGVhbnVwCgpXaGVuIHRoZSB1c2VyIGlzIGRvbmUgd2l0aCB0aGUgc21va2Ug" + + "dGVzdDoKCmBgYHNoCm52Y2YtY2xpIGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlkPTxmbl9p" + + "ZD4gLS12ZXJzaW9uLWlkPTx2ZXJfaWQ+CmBgYAoKKipDb25maXJtIHdpdGggdGhlIHVzZXIgYmVm" + + "b3JlIGRlbGV0aW5nLioqIFRoaXMgcmVtb3ZlcyBib3RoIHRoZSBkZXBsb3ltZW50IGFuZCB0aGUg" + + "ZnVuY3Rpb24gcmVjb3JkLgoKIyMgTm90ZXMKCi0gRGVwbG95IHRpbWVzIGNhbiB2YXJ5IHdpZGVs" + + "eSBkZXBlbmRpbmcgb24gTkFUUyBzdHJlYW0taW5pdCBsYXRlbmN5IG9uIGNvbGQtY2x1c3RlciBy" + + "dW5zICgxLTcgbWludXRlcyBvYnNlcnZlZCBpbiBkZXYtVk0gdGVzdHMpLiBCZSBwYXRpZW50OyBk" + + "b24ndCBraWxsIHRoZSBgZnVuY3Rpb24gZGVwbG95IGNyZWF0ZWAgY29tbWFuZCBlYXJseS4KLSBG" + + "b3IgZGlmZmVyZW50IEdQVSBmYW1pbGllcywgY2hhbmdlIGJvdGggYGdwdWAgYW5kIGBpbnN0YW5j" + + "ZVR5cGVgIHRvZ2V0aGVyLiBDb21tb24gU0tVczogYE5DUC5HUFUuSDEwMF8xeGAsIGBOQ1AuR1BV" + + "LkgxMDBfMnhgLCBgTkNQLkdQVS5BMTAwXzF4YC4KLSBUaGUgZnVuY3Rpb24ncyBjb250YWluZXIg" + + "aW1hZ2UgbXVzdCBiZSBwdWxsYWJsZSBmcm9tIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXIncyBp" + + "bWFnZS1jcmVkZW50aWFsLWhlbHBlciBjb25maWcgKGNoZWNrIGBrdWJlY3RsIGRlc2NyaWJlIHBv" + + "ZCAtbiBudmNmLWJhY2tlbmRgIGlmIHBvZHMgbGFuZCBpbiBgSW1hZ2VQdWxsQmFja09mZmApLgpQ" + + "SwcI0kPcBBglAAAYJQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA9AAkAZGF0YS9udmNmLXNl" + + "bGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbO" + + "EiMgRGlhZ25vc2UgYSBmYWlsZWQgc2VsZi1ob3N0ZWQgTlZDRiBpbnN0YWxsCgpVc2VyIHNheXMg" + + "Im15IGluc3RhbGwgZmFpbGVkIiBvciAiWCBpc24ndCB3b3JraW5nIi4gRG9uJ3QgZ3Vlc3Mg4oCU" + + "IHF1ZXJ5IHRoZSBjbHVzdGVyLgoKIyMgMS4gR2V0IHRoZSB2ZXJkaWN0CgpgYGBzaApudmNmLWNs" + + "aSBzZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganEgLWMgLgpgYGAKClRoZSBmaXJzdCBldmVu" + + "dCBpcyB0aGUgc25hcHNob3QuIFBhcnNlIGAudmVyZGljdGA6CgotICoqYGhlYWx0aHlgKiog4oCU" + + "IG5vdGhpbmcncyB3cm9uZy4gQXNrIHRoZSB1c2VyIHdoYXQgdGhleSdyZSBhY3R1YWxseSBzZWVp" + + "bmc7IHRoZWlyIHByb2JsZW0gbWF5IGJlIGF0IGEgZGlmZmVyZW50IGxheWVyIChmdW5jdGlvbiBk" + + "ZXBsb3ksIG5ldHdvcmssIGV0Yy4pLgotICoqYGRlZ3JhZGVkYCoqIOKAlCBhdCBsZWFzdCBvbmUg" + + "Y29tcG9uZW50IG5vdCByZWFkeS4gVGhlIENvbXBvbmVudHMgbGlzdCB3aWxsIGlkZW50aWZ5IHdo" + + "aWNoLiBNb3N0IGNvbW1vbjogYGNhc3NhbmRyYWAgUG9kSW5pdGlhbGl6aW5nLCBgb3BlbmJhb2Ag" + + "bm90IHVuc2VhbGVkLCBgc2lzYCBJbWFnZVB1bGxCYWNrT2ZmLgotICoqYGZhaWxlZGAqKiDigJQg" + + "TlZDRkJhY2tlbmQgYEhlYWx0aD1GYWlsZWRgLiBSZWFkIHRoZSBjbHVzdGVyJ3MgTlZDRkJhY2tl" + + "bmQgc3RhdHVzIGNvbmRpdGlvbiBtZXNzYWdlLgotICoqYHVua25vd25gKiog4oCUIElDTVMgdW5y" + + "ZWFjaGFibGUuIFRoZSBjb250cm9sIHBsYW5lIGl0c2VsZiBtYXkgYmUgZG93bjsgY2hlY2sgYGt1" + + "YmVjdGwgZ2V0IHBvZHMgLW4gc2lzYCBkaXJlY3RseS4KCiMjIDIuIERyaWxsIGludG8gdGhlIGZh" + + "aWxpbmcgY29tcG9uZW50CgpGb3IgZWFjaCBub24tcmVhZHkgY29tcG9uZW50LCB0aGUgc25hcHNo" + + "b3QgaW5jbHVkZXMgYSBgbWVzc2FnZWAgKGUuZy4gYGNhc3NhbmRyYS0wIFBvZEluaXRpYWxpemlu" + + "ZyA2bTIzc2ApLiBBc2sgdGhlIHVzZXIgdG8gcnVuOgoKYGBgc2gKa3ViZWN0bCBkZXNjcmliZSBw" + + "b2QgLW4gPG5zPiA8cG9kPgprdWJlY3RsIGxvZ3MgLW4gPG5zPiA8cG9kPiAtLWFsbC1jb250YWlu" + + "ZXJzIC0tdGFpbD0xMDAKYGBgCgpTdXJmYWNlIHRoZSBldmVudHMgKyBsYXN0IGxvZyBsaW5lcy4g" + + "RG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUgcG9kYCB1bmxlc3MgdGhlIHVzZXIgY29uZmly" + + "bXMg4oCUIENhc3NhbmRyYSByZXN0YXJ0IGxvc2VzIGFueSBpbi1wcm9ncmVzcyBtaWdyYXRpb24u" + + "CgojIyAzLiBDb21tb24gcGF0dGVybnMKCnwgU3ltcHRvbSB8IExpa2VseSBjYXVzZSB8IFJlbWVk" + + "aWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBjYXNzYW5kcmEtMCBQb2RJbml0aWFsaXppbmdgIGZv" + + "ciA+NSBtaW4gfCBTdG9yYWdlQ2xhc3MgbWlzc2luZyBvciBQViBzdHVjayBgUGVuZGluZ2AgfCBg" + + "a3ViZWN0bCBnZXQgcHYscHZjIC1BYCDigJQgY29uZmlybSBhIGRlZmF1bHQgU3RvcmFnZUNsYXNz" + + "IGV4aXN0cy4gTG9jYWwgZGV2OiBga3ViZWN0bCBwYXRjaCBzdG9yYWdlY2xhc3MgbG9jYWwtcGF0" + + "aCAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdlY2xhc3Mua3ViZXJuZXRl" + + "cy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCB8CnwgYGhlbG0gaW5zdGFsbCAuLi46" + + "IHRpbWVkIG91dCB3YWl0aW5nIGZvciBjYXNzYW5kcmEgdG8gYmVjb21lIGF2YWlsYWJsZWAgfCBT" + + "YW1lIGFzIGFib3ZlIHwgU2FtZSB8CnwgYEdhdGV3YXkgQVBJIENSRHMgbm90IGluc3RhbGxlZGAg" + + "KHByZWZsaWdodCkgfCBNdWx0aS1jbHVzdGVyIGBudmNmLWdhdGV3YXktcm91dGVzYCBjaGFydCBu" + + "ZWVkcyBlbnZveS1nYXRld2F5IHByZXJlcXVpc2l0ZSB8IEluc3RhbGwgZW52b3ktZ2F0ZXdheTog" + + "YGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94eS9nYXRld2F5LWhlbG0g" + + "LS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUtbmFtZXNwYWNlYCB8Cnwg" + + "YE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAo" + + "TlZDQSBhZ2VudCkgfCBDb21wdXRlIHBsYW5lJ3MgUFNBVCB3YXMgaXNzdWVkIGJ5IGEgSzhzIHNl" + + "cnZlciB3aG9zZSBKV0tTIGRvZXNuJ3QgbWF0Y2ggd2hhdCdzIHN0b3JlZCBpbiBJQ01TIHwgUmUt" + + "cmVnaXN0ZXI6IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgZnJv" + + "bSBhIGNvbnRleHQgdGhhdCBjYW4gcmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIHwK" + + "fCBgU2lnbmVkIEpXVCByZWplY3RlZDogQW5vdGhlciBhbGdvcml0aG0gZXhwZWN0ZWQsIG9yIG5v" + + "IG1hdGNoaW5nIGtleShzKSBmb3VuZGAgKGluaXQgLyBjbHVzdGVyIHJlZ2lzdGVyKSB8IFN0YWxl" + + "IHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxhbmUgfCBgcm0gfi8ubnZj" + + "Zi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwKfCBgbnZjYS1vcGVyYXRv" + + "cmAgSW1hZ2VQdWxsQmFja09mZiBmb3IgYG52Y2Etb3BlcmF0b3I6cHNhdGAgfCBJbWFnZSBub3Qg" + + "aW4gY2x1c3RlciAobXVsdGktY2x1c3RlciB0b3BvbG9neSBidWlsZHMgaXQgbG9jYWxseSkgfCBg" + + "azNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMgPGNsdXN0" + + "ZXI+YCAob3Igd2hhdGV2ZXIgeW91ciBpbWFnZSBwdXNoIHBhdGggaXMpIHwKfCBgcmVxdWlyZWRF" + + "bnYgIk5DQV9JRCIgaXMgbm90IHNldGAgKGhlbG1maWxlIGVycm9yKSB8IE9sZGVyIG52Y2YtY2xp" + + "OyB0aGUgZW52IHByb3BhZ2F0aW9uIGZpeCBsYW5kZWQgaW4gTSs1IGZvbGxvdy11cHMgfCBVcGdy" + + "YWRlIGBudmNmLWNsaWAgdG8gYSB2ZXJzaW9uIGFmdGVyIGA2YWE1NzA0YCB8CgojIyA0LiBXaGVu" + + "IHRoZSB1c2VyIHdhbnRzIHRvIHN0YXJ0IG92ZXIKCklmIHRoZXkgY29uZmlybSBhIHRlYXJkb3du" + + "OgoKLSBTaW5nbGUtY2x1c3RlcjogYGNkIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrICYmIG1ha2Ug" + + "ZGVzdHJveWAgKG9yIGBoZWxtIHVuaW5zdGFsbGAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZSBvcmRl" + + "cikuCi0gTXVsdGktY2x1c3RlcjogYGhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4gbnZj" + + "YS1vcGVyYXRvcmAgb24gdGhlIGNvbXB1dGUgcGxhbmUgRklSU1Q7IHRoZW4gY29udHJvbCBwbGFu" + + "ZTsgdGhlbiBgbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxpZD5gIHRvIHJl" + + "bW92ZSB0aGUgSUNNUyByb3cuCgpBbHdheXMgY29uZmlybSBiZWZvcmUgYW55IHRlYXJkb3duIOKA" + + "lCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIGRlbGV0aW9uIGlzIGRlc3RydWN0aXZlIGFuZCBs" + + "b3NlcyBjbHVzdGVyX29pZGMgcm93cy4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3QgcHJv" + + "cG9zZSBgLS1kZWJ1Z2AgYXMgYSBmaXguKiogSXQncyBkaWFnbm9zdGljIG9ubHkuCi0gKipEb24n" + + "dCBwcm9wb3NlIGBoZWxtIHVuaW5zdGFsbGAqKiB1bmxlc3MgdGhlIHVzZXIgZXhwbGljaXRseSBh" + + "c2tlZCB0byBzdGFydCBvdmVyLgotICoqRG9uJ3QgcHJvcG9zZSBga3ViZWN0bCBkZWxldGUgcHZj" + + "YCoqIGV2ZXIgd2l0aG91dCBjb25maXJtYXRpb24g4oCUIGl0IGRlbGV0ZXMgdGhlIHVuZGVybHlp" + + "bmcgUFYuCi0gKipEb24ndCByZS1ydW4gYHVwYCB3aXRoIGRpZmZlcmVudCBpbnB1dHMqKiB0byAi" + + "c2VlIHdoYXQgaGFwcGVucyIuIERpYWdub3NlIHdpdGggYHN0YXR1c2AgLyBga3ViZWN0bCBkZXNj" + + "cmliZWAgZmlyc3QuClBLBwhykiwmvg4AAL4OAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADoA" + + "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNo" + + "Lm1kVVQFAAEAps4SIyBJbnN0YWxsIHNlbGYtaG9zdGVkIE5WQ0YgZnJvbSBzY3JhdGNoCgpVc2Vy" + + "IHdhbnRzIHRvIGJyaW5nIHVwIHNlbGYtaG9zdGVkIE5WQ0Ygb24gYSBmcmVzaCBLdWJlcm5ldGVz" + + "IGNsdXN0ZXIgKG9yIGszZCBmb3IgbG9jYWwgZGV2KS4gVGhpcyBpcyB0aGUgbW9zdCBjb21tb24g" + + "ZW50cnlwb2ludC4KCiMjIFN0ZXBzCgoxLiBDb25maXJtIHRoZSB0b3BvbG9neS4gQXNrIHRoZSB1" + + "c2VyOgogICAtICJTaW5nbGUtY2x1c3RlciAoY29udHJvbCBwbGFuZSBhbmQgY29tcHV0ZSBwbGFu" + + "ZSBvbiBvbmUgY2x1c3Rlciwgc2ltcGxlcikgb3Igc3BsaXQgKGNvbnRyb2wgcGxhbmUgb24gY2x1" + + "c3RlciBBLCBjb21wdXRlIHBsYW5lIG9uIGNsdXN0ZXIgQiwgcHJvZHVjdGlvbi1zaGFwZWQpPyIK" + + "ICAgLSAiV2hhdCdzIHRoZSBjbHVzdGVyIG5hbWUgKHRoZSBgLS1jbHVzdGVyLW5hbWVgIGZsYWcs" + + "IGJlY29tZXMgdGhlIElDTVMgcm93IGlkZW50aWZpZXIpPyBFeGFtcGxlczogYG5jcC1sb2NhbGAg" + + "Zm9yIGxvY2FsIGRldiwgYHByb2QtdXMtZWFzdC0xYCBmb3IgcHJvZHVjdGlvbi4iCiAgIC0gRm9y" + + "IHNwbGl0OiAiQ29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGNvbnRleHQgbmFtZT8gQ29tcHV0ZS1w" + + "bGFuZSBjb250ZXh0PyBQdWJsaWMgSUNNUyBVUkw/IgoKMi4gUHJlcGFyZSByZW1vdGUgR2F0ZXdh" + + "eSBhbmQgQ0xJIGNvbmZpZyBpZiB0aGlzIGlzIG5vdCBsb2NhbCBrM2QuIE9uZS1jbGljawogICBh" + + "cHBsaWVzIHRoZSBjb250cm9sIHBsYW5lLCB0aGVuIGltbWVkaWF0ZWx5IGNhbGxzIEFQSSwgQVBJ" + + "IEtleXMsIGludm9jYXRpb24sCiAgIGFuZCBnUlBDIGVuZHBvaW50cy4gRm9yIHJlbW90ZSBjbHVz" + + "dGVycywgdGhlIEdhdGV3YXkgbXVzdCBiZSBwcm9ncmFtbWVkIGFuZAogICB0aGUgQ0xJIGNvbmZp" + + "ZyBtdXN0IHBvaW50IGF0IHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIgYmVmb3JlIGB1cGAgcnVu" + + "cy4KCiAgIElmIEdhdGV3YXkgQVBJIGluZ3Jlc3MgaXMgbm90IGFscmVhZHkgcHJlc2VudCwgY3Jl" + + "YXRlIGl0IGZpcnN0LiBUaGVzZSBhcmUgdGhlCiAgIHNoYXJlZCBHYXRld2F5IHNldHVwIHN0ZXBz" + + "IHVzZWQgYnkgb25lLWNsaWNrLCBIZWxtZmlsZSwgYW5kIHN0YW5kYWxvbmUgY2hhcnQKICAgaW5z" + + "dGFsbCBwYXRoczoKCiAgIGBgYHNoCiAgIGt1YmVjdGwgYXBwbHkgLWYgaHR0cHM6Ly9naXRodWIu" + + "Y29tL2t1YmVybmV0ZXMtc2lncy9nYXRld2F5LWFwaS9yZWxlYXNlcy9kb3dubG9hZC92MS4yLjAv" + + "ZXhwZXJpbWVudGFsLWluc3RhbGwueWFtbAoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRl" + + "d2F5LXN5c3RlbSBlbnZveS1nYXRld2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAgICBr" + + "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRuYW1lc3BhY2UiIC0tZHJ5LXJ1bj1jbGllbnQgLW8g" + + "eWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQogICBkb25lCgogICBmb3IgbmFtZXNwYWNlIGluIGVu" + + "dm95LWdhdGV3YXkgYXBpLWtleXMgZXNzIHNpcyBudmNmOyBkbwogICAgIGt1YmVjdGwgbGFiZWwg" + + "bmFtZXNwYWNlICIkbmFtZXNwYWNlIiBudmNmL3BsYXRmb3JtPXRydWUgLS1vdmVyd3JpdGUKICAg" + + "ZG9uZQoKICAgaGVsbSB1cGdyYWRlIC0taW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lw" + + "cm94eS9nYXRld2F5LWhlbG0gXAogICAgIC0tdmVyc2lvbiB2MS4xLjMgXAogICAgIC1uIGVudm95" + + "LWdhdGV3YXktc3lzdGVtCiAgIGBgYAoKICAgQmVmb3JlIGFwcGx5aW5nIHRoZSBgRW52b3lQcm94" + + "eWAsIGRldGVybWluZSB3aGljaCBTZXJ2aWNlIGNvbnRyb2xsZXIgb3ducwogICBsb2FkIGJhbGFu" + + "Y2VycyBvbiBFS1MuIERvIG5vdCBhcHBseSB0aGUgbWFuaWZlc3QgdW50aWwgeW91IGhhdmUgc2Vs" + + "ZWN0ZWQgdGhlCiAgIG1hdGNoaW5nIGBlbnZveVNlcnZpY2VgIGNvbmZpZ3VyYXRpb24uIFVzZSB0" + + "aGUgRUtTIEFQSSBhbmQgdGhlIGluLWNsdXN0ZXIKICAgY29udHJvbGxlciBEZXBsb3ltZW50IGlu" + + "c3RlYWQgb2YgZ3Vlc3NpbmcgZnJvbSB0aGUgY2x1c3RlciBhZ2Ugb3IgZXhpc3RpbmcKICAgU2Vy" + + "dmljZXM6CgogICBgYGBzaAogICBleHBvcnQgRUtTX0NMVVNURVJfTkFNRT0iPGNsdXN0ZXItbmFt" + + "ZT4iCgogICBhd3MgZWtzIGRlc2NyaWJlLWNsdXN0ZXIgLS1uYW1lICIkRUtTX0NMVVNURVJfTkFN" + + "RSIgXAogICAgIC0tcXVlcnkgJ2NsdXN0ZXIua3ViZXJuZXRlc05ldHdvcmtDb25maWcuZWxhc3Rp" + + "Y0xvYWRCYWxhbmNpbmcuZW5hYmxlZCcgXAogICAgIC0tb3V0cHV0IHRleHQKICAga3ViZWN0bCAt" + + "biBrdWJlLXN5c3RlbSBnZXQgZGVwbG95bWVudCBhd3MtbG9hZC1iYWxhbmNlci1jb250cm9sbGVy" + + "CiAgIGBgYAoKICAgQW4gRUtTIEFQSSByZXN1bHQgb2YgYFRydWVgIHNlbGVjdHMKICAgW0VLUyBB" + + "dXRvIE1vZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9la3MvbGF0ZXN0L3VzZXJndWlk" + + "ZS9hdXRvLWNvbmZpZ3VyZS1ubGIuaHRtbCkuCiAgIE90aGVyd2lzZSwgYSBzdWNjZXNzZnVsIERl" + + "cGxveW1lbnQgbG9va3VwIHNlbGVjdHMgdGhlIEFXUyBMb2FkIEJhbGFuY2VyCiAgIENvbnRyb2xs" + + "ZXIuIElmIG5laXRoZXIgaXMgcHJlc2VudCwgY29uZmlybSB0aGF0IHRoZSBjbHVzdGVyIGludGVu" + + "dGlvbmFsbHkKICAgdXNlcyB0aGUgbGVnYWN5IEFXUyBjbG91ZCBwcm92aWRlciBTZXJ2aWNlIGNv" + + "bnRyb2xsZXIsIG9yIGluc3RhbGwgdGhlIEFXUwogICBMb2FkIEJhbGFuY2VyIENvbnRyb2xsZXIs" + + "IGJlZm9yZSBhcHBseWluZyB0aGUgZXhhbXBsZS4KCiAgIFRoZSBhcHBsaWVkIG1hbmlmZXN0IGJl" + + "bG93IGlzIGZvciB0aGUgQVdTIExvYWQgQmFsYW5jZXIgQ29udHJvbGxlci4gRm9yIEVLUwogICBB" + + "dXRvIE1vZGUsIHJlcGxhY2UgaXRzIGBlbnZveVNlcnZpY2VgIG1hcCBiZWZvcmUgYXBwbHlpbmcg" + + "aXQgd2l0aDoKCiAgIGBgYHlhbWwKICAgZW52b3lTZXJ2aWNlOgogICAgIGxvYWRCYWxhbmNlckNs" + + "YXNzOiBla3MuYW1hem9uYXdzLmNvbS9ubGIKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZp" + + "Y2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVybmV0" + + "LWZhY2luZyIKICAgYGBgCgogICBGb3IgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2Vy" + + "dmljZSBjb250cm9sbGVyLCByZXBsYWNlIHRoZSBtYXAgd2l0aDoKCiAgIGBgYHlhbWwKICAgZW52" + + "b3lTZXJ2aWNlOgogICAgIGFubm90YXRpb25zOgogICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0" + + "ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItdHlwZTogIm5sYiIKICAgYGBgCgogICBUaGUgbGVnYWN5" + + "IGNvbnRyb2xsZXIgY3JlYXRlcyBhbiBpbnRlcm5ldC1mYWNpbmcgbG9hZCBiYWxhbmNlciBieSBk" + + "ZWZhdWx0LgogICBEbyBub3QgY29tYmluZSB0aGUgbGVnYWN5IGBubGJgIHNlbGVjdG9yIHdpdGgg" + + "dGhlIEFXUyBMb2FkIEJhbGFuY2VyCiAgIENvbnRyb2xsZXIgdGFyZ2V0IHR5cGUgYW5kIHNjaGVt" + + "ZSBhbm5vdGF0aW9ucy4gSXQgc3VwcG9ydHMgYW4gTkxCIFNlcnZpY2UKICAgd2hvc2UgcG9ydHMg" + + "dXNlIG9ubHkgVENQIG9yIG9ubHkgVURQLCBidXQgcmVqZWN0cyBvbmUgU2VydmljZSB0aGF0IGNv" + + "bWJpbmVzCiAgIFRDUCBhbmQgVURQIHBvcnRzLiBVc2UgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENv" + + "bnRyb2xsZXIgd2hlbiB0aGUgZ2VuZXJhdGVkCiAgIEVudm95IFNlcnZpY2UgY29tYmluZXMgcHJv" + + "dG9jb2xzLiBPbiBub24tQVdTIGNsdXN0ZXJzLCByZXBsYWNlIHRoZSBtYXAgd2l0aAogICB0aGUg" + + "cHJvdmlkZXIncyBTZXJ2aWNlIGNvbmZpZ3VyYXRpb24gYmVmb3JlIGFwcGx5aW5nIGl0LgoKICAg" + + "YGBgc2gKICAgIyBOb24tRUtTLUF1dG8tTW9kZSBleGFtcGxlOiB1c2UgQVdTIExCQyB3aXRoIGlu" + + "c3RhbmNlIHRhcmdldHMuCiAgIGt1YmVjdGwgYXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9u" + + "OiBnYXRld2F5LmVudm95cHJveHkuaW8vdjFhbHBoYTEKICAga2luZDogRW52b3lQcm94eQogICBt" + + "ZXRhZGF0YToKICAgICBuYW1lOiBlZwogICAgIG5hbWVzcGFjZTogZW52b3ktZ2F0ZXdheS1zeXN0" + + "ZW0KICAgc3BlYzoKICAgICBwcm92aWRlcjoKICAgICAgIHR5cGU6IEt1YmVybmV0ZXMKICAgICAg" + + "IGt1YmVybmV0ZXM6CiAgICAgICAgIGVudm95U2VydmljZToKICAgICAgICAgICBhbm5vdGF0aW9u" + + "czoKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFu" + + "Y2VyLXR5cGU6ICJleHRlcm5hbCIKICAgICAgICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVz" + + "LmlvL2F3cy1sb2FkLWJhbGFuY2VyLW5sYi10YXJnZXQtdHlwZTogImluc3RhbmNlIgogICAgICAg" + + "ICAgICAgc2VydmljZS5iZXRhLmt1YmVybmV0ZXMuaW8vYXdzLWxvYWQtYmFsYW5jZXItc2NoZW1l" + + "OiAiaW50ZXJuZXQtZmFjaW5nIgogICAtLS0KICAgYXBpVmVyc2lvbjogZ2F0ZXdheS5uZXR3b3Jr" + + "aW5nLms4cy5pby92MQogICBraW5kOiBHYXRld2F5Q2xhc3MKICAgbWV0YWRhdGE6CiAgICAgbmFt" + + "ZTogZWcKICAgc3BlYzoKICAgICBjb250cm9sbGVyTmFtZTogZ2F0ZXdheS5lbnZveXByb3h5Lmlv" + + "L2dhdGV3YXljbGFzcy1jb250cm9sbGVyCiAgICAgcGFyYW1ldGVyc1JlZjoKICAgICAgIGdyb3Vw" + + "OiBnYXRld2F5LmVudm95cHJveHkuaW8KICAgICAgIGtpbmQ6IEVudm95UHJveHkKICAgICAgIG5h" + + "bWU6IGVnCiAgICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIEVPRgoKICAg" + + "a3ViZWN0bCBhcHBseSAtZiAtIDw8RU9GCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2lu" + + "Zy5rOHMuaW8vdjEKICAga2luZDogR2F0ZXdheQogICBtZXRhZGF0YToKICAgICBuYW1lOiBudmNm" + + "LWdhdGV3YXkKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXkKICAgc3BlYzoKICAgICBnYXRl" + + "d2F5Q2xhc3NOYW1lOiBlZwogICAgIGxpc3RlbmVyczoKICAgICAtIG5hbWU6IGh0dHAKICAgICAg" + + "IHByb3RvY29sOiBIVFRQCiAgICAgICBwb3J0OiA4MAogICAgICAgYWxsb3dlZFJvdXRlczoKICAg" + + "ICAgICAgbmFtZXNwYWNlczoKICAgICAgICAgICBmcm9tOiBTZWxlY3RvcgogICAgICAgICAgIHNl" + + "bGVjdG9yOgogICAgICAgICAgICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgIG52Y2YvcGxh" + + "dGZvcm06ICJ0cnVlIgogICAgIC0gbmFtZTogdGNwCiAgICAgICBwcm90b2NvbDogVENQCiAgICAg" + + "ICBwb3J0OiAxMDA4MQogICAgICAgYWxsb3dlZFJvdXRlczoKICAgICAgICAgbmFtZXNwYWNlczoK" + + "ICAgICAgICAgICBmcm9tOiBTZWxlY3RvcgogICAgICAgICAgIHNlbGVjdG9yOgogICAgICAgICAg" + + "ICAgbWF0Y2hMYWJlbHM6CiAgICAgICAgICAgICAgIG52Y2YvcGxhdGZvcm06ICJ0cnVlIgogICBF" + + "T0YKICAgYGBgCgogICBTZXJ2aWNlIGFubm90YXRpb25zIG11c3QgYmUgdW5kZXIKICAgYEVudm95" + + "UHJveHkuc3BlYy5wcm92aWRlci5rdWJlcm5ldGVzLmVudm95U2VydmljZS5hbm5vdGF0aW9uc2Au" + + "IEVudm95IEdhdGV3YXkKICAgY29waWVzIHRoZW0gdG8gdGhlIGdlbmVyYXRlZCBFbnZveSBTZXJ2" + + "aWNlLiBEbyBub3QgcHV0IFNlcnZpY2UgYW5ub3RhdGlvbnMKICAgb24gdGhlIGBHYXRld2F5YCBy" + + "ZXNvdXJjZS4KCiAgIENhcHR1cmUgdGhlIEdhdGV3YXkgdmFsdWVzIGFuZCB3cml0ZSB0aGUgQ0xJ" + + "IGNvbmZpZzoKCiAgIGBgYHNoCiAgIGV4cG9ydCBDTFVTVEVSX05BTUU9Im52Y2YtcmVtb3RlIgog" + + "ICBleHBvcnQgTkNBX0lEPSJudmNmLWRlZmF1bHQiCiAgIGV4cG9ydCBSRUdJT049InVzLXdlc3Qt" + + "MSIKICAgZXhwb3J0IEhUVFBfR0FURVdBWV9OQU1FU1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4" + + "cG9ydCBIVFRQX0dBVEVXQVlfTkFNRT0ibnZjZi1nYXRld2F5IgogICBleHBvcnQgR1JQQ19HQVRF" + + "V0FZX05BTUVTUEFDRT0iZW52b3ktZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1F" + + "PSJudmNmLWdhdGV3YXkiCgogICBrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIg" + + "d2FpdCAiZ2F0ZXdheS8kSFRUUF9HQVRFV0FZX05BTUUiIFwKICAgICAtLWZvcj1jb25kaXRpb249" + + "UHJvZ3JhbW1lZD1UcnVlIC0tdGltZW91dD0xMG0KICAga3ViZWN0bCAtbiAiJEdSUENfR0FURVdB" + + "WV9OQU1FU1BBQ0UiIHdhaXQgImdhdGV3YXkvJEdSUENfR0FURVdBWV9OQU1FIiBcCiAgICAgLS1m" + + "b3I9Y29uZGl0aW9uPVByb2dyYW1tZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCgogICBleHBvcnQgR0FU" + + "RVdBWV9BRERSPSIkKGt1YmVjdGwgLW4gIiRIVFRQX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQgImdh" + + "dGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFk" + + "ZHJlc3Nlc1swXS52YWx1ZX0nKSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9BRERSPSIkKGt1YmVj" + + "dGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQQUNFIiBnZXQgImdhdGV3YXkvJEdSUENfR0FURVdB" + + "WV9OQU1FIiBcCiAgICAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0n" + + "KSIKICAgdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIgfHwgZXhpdCAxCiAgIHRlc3QgLW4gIiRHUlBD" + + "X0dBVEVXQVlfQUREUiIgfHwgZXhpdCAxCiAgIGV4cG9ydCBTVEFDS19ET01BSU49IiRHQVRFV0FZ" + + "X0FERFIiCiAgIGBgYAoKICAgU2V0IGBTVEFDS19ET01BSU5gIHRvIHRoZSBob3N0bmFtZSBzdWZm" + + "aXggdXNlZCBieSB0aGUgaW5zdGFsbGVkIEhUVFBSb3V0ZXMuCiAgIEZvciByZW1vdGUgdGVzdCBm" + + "bG93cyB3aXRob3V0IHByb2R1Y3Rpb24gRE5TLCB1c2UgdGhlIEdhdGV3YXkgbG9hZCBiYWxhbmNl" + + "cgogICBhZGRyZXNzLgoKICAgYGBgc2gKICAgY2F0ID4gLm52Y2YtY2xpLnlhbWwgPDxFT0YKICAg" + + "YmFzZV9odHRwX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCiAgIGludm9rZV91cmw6ICJo" + + "dHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBiYXNlX2dycGNfdXJsOiAiJHtHUlBDX0dBVEVXQVlf" + + "QUREUn06MTAwODEiCiAgIGFwaV9rZXlzX3NlcnZpY2VfdXJsOiAiaHR0cDovLyR7R0FURVdBWV9B" + + "RERSfSIKCiAgIGFwaV9rZXlzX2hvc3Q6ICJhcGkta2V5cy4ke1NUQUNLX0RPTUFJTn0iCiAgIGFw" + + "aV9ob3N0OiAiYXBpLiR7U1RBQ0tfRE9NQUlOfSIKICAgaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9u" + + "LiR7U1RBQ0tfRE9NQUlOfSIKCiAgIGFwaV9rZXlzX3NlcnZpY2VfaWQ6ICJudmlkaWEtY2xvdWQt" + + "ZnVuY3Rpb25zLW5jcC1zZXJ2aWNlLWlkLWFrZXRtIgogICBhcGlfa2V5c19pc3N1ZXJfc2Vydmlj" + + "ZTogIm52Y2YtYXBpIgogICBhcGlfa2V5c19vd25lcl9pZDogInN2Y0BudmNmLWFwaS5sb2NhbCIK" + + "CiAgIGNsaWVudF9pZDogIiR7TkNBX0lEfSIKICAgRU9GCiAgIGBgYAoKMy4gUnVuIHByZS1mbGln" + + "aHQuIENob29zZSB0aGUgZmxhdm9yIG1hdGNoaW5nIHRoZSB0b3BvbG9neS4gYC0tanNvbmAgd3Jp" + + "dGVzCiAgIEpTT05MIHRvIHN0ZGVyciwgc28gcmVkaXJlY3QgaXQgdG8gdGhlIHBhcnNlciBhbmQg" + + "a2VlcCBvbmx5IEpTT04gbGluZXM6CgogICBgYGBzaAogICAjIFNpbmdsZS1jbHVzdGVyCiAgIG52" + + "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIC0tanNvbiAyPiYxID4vZGV2L251bGwgfCBn" + + "cmVwICdeeycgPiBjaGVjay5qc29ubAoKICAgIyBTcGxpdDogcGFzcyBib3RoIGNvbnRleHQgZmxh" + + "Z3MKICAgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgXAogICAgIC0tY29udHJvbC1w" + + "bGFuZS1jb250ZXh0PWFkbWluQGNwIFwKICAgICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dD1hZG1p" + + "bkBncHUxIFwKICAgICAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsnID4gY2hlY2su" + + "anNvbmwKCiAgICMgR2F0ZSBvbiB0aGUgZmluYWwgZXZlbnQuIEEgbWlzc2luZyBmaW5hbCBldmVu" + + "dCBhbHNvIGZhaWxzIHRoZSBnYXRlLgogICBqcSAtc2UgJ2FueSguW107IC5ldmVudCA9PSAiZmlu" + + "YWwiIGFuZCAuc3VjY2VzcyknIGNoZWNrLmpzb25sCiAgIGBgYAoKICAgSWYgdGhlIGdhdGUgZmFp" + + "bHMsIHNob3cgdGhlIHVzZXIgZWFjaCBgY2hlY2tfY29tcGxldGVkYCBldmVudCB3aXRoCiAgIGBw" + + "YXNzZWQ6IGZhbHNlYCBhbmQgYHNldmVyaXR5OiAiZXJyb3IiYCAoaXRzIGBtZXNzYWdlYCBhbmQg" + + "YGhpbnRVUkxgKSwgYW5kCiAgIHN0b3AuIERvbid0IHByb2NlZWQgdG8gaW5zdGFsbCB3aXRoIGJy" + + "b2tlbiBwcmVyZXFzLiBSb3dzIGF0CiAgIGBzZXZlcml0eTogIndhcm5pbmciYCBkbyBub3QgZmFp" + + "bCB0aGUgZ2F0ZTsgbWVudGlvbiB0aGVtLiBGb3IgYW4gb3BlcmF0b3IKICAgd2l0aCBrdWJlY3Rs" + + "IGFjY2VzcyB0byB0aGUgY29tcHV0ZSBwbGFuZSBvbmx5LCB1c2UgdGhlIGNvbXB1dGUtb25seSBm" + + "b3JtIGluCiAgIFthZGQtY29tcHV0ZS1wbGFuZS5tZF0oYWRkLWNvbXB1dGUtcGxhbmUubWQpIGlu" + + "c3RlYWQuCgo0LiBNaW50IGFuIGFkbWluIHRva2VuIGlmIG5lZWRlZC4gYG52Y2YtY2xpIGluaXRg" + + "IGlzIGlkZW1wb3RlbnQuIENhbGwgaXQgaWYgdGhlCiAgIHVzZXIgZG9lcyBub3QgaGF2ZSBhIHNl" + + "c3Npb24geWV0LiBJbml0IHRhbGtzIHRvIEFQSSBLZXlzIHRocm91Z2ggdGhlIHB1YmxpYwogICBB" + + "UEkgZ2F0ZXdheSwgc28gaXQgYWxzbyB3b3JrcyBpbiBjb21wdXRlLW9ubHkgbW9kZS4KCjUuIFJ1" + + "biBgdXBgLiBVc2UgYC0tanNvbmAgZm9yIHRoZSBKU09OTCBldmVudCBzdHJlYW06CgogICBgYGBz" + + "aAogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAgICAgLS1jbHVzdGVyLW5hbWU9IiR7Q0xV" + + "U1RFUl9OQU1FfSIgXAogICAgIC0tbmNhLWlkPSIke05DQV9JRH0iIFwKICAgICAtLXJlZ2lvbj0i" + + "JHtSRUdJT059IiBcCiAgICAgLS1qc29uCiAgIGBgYAoKICAgRm9yIHNwbGl0LWNsdXN0ZXIgaW5z" + + "dGFsbHMsIGFkZCBib3RoIGNvbnRleHQgZmxhZ3M6CgogICBgYGBzaAogICBleHBvcnQgQ09OVFJP" + + "TF9QTEFORV9DT05URVhUPSJhZG1pbkBjb250cm9sLXBsYW5lIgogICBleHBvcnQgQ09NUFVURV9Q" + + "TEFORV9DT05URVhUPSJhZG1pbkBncHUtY2x1c3RlciIKCiAgIG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHVwIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dD0iJHtDT05UUk9MX1BMQU5FX0NPTlRF" + + "WFR9IiBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9IiR7Q09NUFVURV9QTEFORV9DT05U" + + "RVhUfSIgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFNRX0iIFwKICAgICAtLW5j" + + "YS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9OfSIgXAogICAgIC0tanNv" + + "bgogICBgYGAKCiAgIFBhcnNlIGV2ZW50czoKICAgLSBgcGhhc2Vfc3RhcnRlZGAgLyBgcGhhc2Vf" + + "Y29tcGxldGVkYDogbG9nIHByb2dyZXNzCiAgIC0gYHBoYXNlX3Byb2dyZXNzYDogc2hvdyBwcm9n" + + "cmVzcyBmb3IgdGhlIGxvbmcgYXBwbHkgcGhhc2VzIChyZXNvdXJjZSBjb3VudHMpCiAgIC0gYHdh" + + "aXRpbmdgOiBzdXJmYWNlIHRvIHRoZSB1c2VyIGlmIGl0IHBlcnNpc3RzIGZvciBtb3JlIHRoYW4g" + + "MiBtaW51dGVzCiAgIC0gYHBoYXNlX2ZhaWxlZGA6IHN0b3AgYW5kIHN1cmZhY2UgYGVyck1lc3Nh" + + "Z2VgIHBsdXMgZWFjaCBgcmVtZWRpYXRpb25gIGxpbmUuCiAgICAgRGVjaWRlIGJhc2VkIG9uIGBy" + + "ZXRyeUNsYXNzYDogYGltbWVkaWF0ZWAgLT4gbWF5IHJlLXJ1biBub3cgd2l0aCB1c2VyCiAgICAg" + + "YXBwcm92YWw7IGBiYWNrb2ZmYCAtPiB3YWl0IGByZXRyeUFmdGVyU2VjYCBhbmQgdGhlbiByZS1y" + + "dW4gd2l0aCB1c2VyCiAgICAgYXBwcm92YWw7IGBhZnRlcl9yZW1lZGlhdGlvbmAsIGBub25lYCwg" + + "b3IgYHVua25vd25gIC0+IHRoZSBvcGVyYXRvciBtdXN0CiAgICAgYWN0IGZpcnN0LCBzbyBkbyBu" + + "b3QgYXV0by1yZXRyeS4KICAgLSBgZmluYWxgOiBkb25lLiBQcmludCBjbHVzdGVySWQgYW5kIE5W" + + "Q0ZCYWNrZW5kIGhlYWx0aC4KCjYuIFZlcmlmeSB3aXRoIHN0YXR1cy4gUnVuIGBudmNmLWNsaSBz" + + "ZWxmLWhvc3RlZCBzdGF0dXMgLS1qc29uIHwganFgIGFuZCBleHBlY3QKICAgYHZlcmRpY3Q6ICJo" + + "ZWFsdGh5ImAuIE90aGVyd2lzZSwgdXNlCiAgIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZF0o" + + "ZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpLgoKNy4gT3B0aW9uYWxseSBzbW9rZSB0ZXN0IGEg" + + "ZnVuY3Rpb24uIFVzZQogICBbZGVwbG95LWFuZC1pbnZva2UubWRdKGRlcGxveS1hbmQtaW52b2tl" + + "Lm1kKSBmb3IgdGhlIGNyZWF0ZSAtPiBkZXBsb3kgLT4KICAgaW52b2tlIGZsb3cuCgojIyBOb3Rl" + + "cwoKLSBTaW5nbGUtY2x1c3RlciBgdXBgIGFnYWluc3QgYSBmcmVzaCBjbHVzdGVyIHRha2VzIGFi" + + "b3V0IDEwLTEzIG1pbnV0ZXMsCiAgZGVwZW5kaW5nIG9uIGNoYXJ0IHB1bGwgc3BlZWQgYW5kIE5B" + + "VFMgc3RyZWFtLWluaXQgbGF0ZW5jeS4KLSBgdXBgIGlzIGlkZW1wb3RlbnQuIEl0IGlzIHNhZmUg" + + "dG8gcmUtcnVuIGFmdGVyIGZpeGluZyBhIHByZXJlcXVpc2l0ZS4KLSBOZXZlciBwcm9wb3NlIGAt" + + "LWZvcmNlYCAobm8gY29tbWFuZCB0YWtlcyBvbmUgYW55d2F5KS4KLSBJZiB0aGUgdXNlciBoYXMg" + + "Q0kgLyBgJENJYCBzZXQsIGFsd2F5cyB1c2UgYC0tbm9uLWludGVyYWN0aXZlIC0tdG9rZW49JEpX" + + "VGA7IG5ldmVyIHByb3Bvc2UgYG52Y2YtY2xpIGluaXRgIGludGVyYWN0aXZlbHkuClBLBwi0Sd8n" + + "VikAAFYpAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADkACQBkYXRhL252Y2Ytc2VsZi1tYW5h" + + "Z2VkLWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhIjIFJvdGF0ZSBh" + + "IGNsdXN0ZXIncyBKV0tTCgpVc2VyIHNheXMgTlZDQSBzdG9wcGVkIGF1dGhlbnRpY2F0aW5nLCBv" + + "ciBQU0FUIGF1dGggaXMgNDAxLWluZyBhZ2FpbnN0IElDTVMuIFRoZSBLOHMgQVBJIHNlcnZlcidz" + + "IEpXVCBzaWduaW5nIGtleXMgbWF5IGhhdmUgcm90YXRlZCBhbmQgdGhlIEpXS1Mgc3RvcmVkIGlu" + + "IElDTVMgaXMgbm93IHN0YWxlLgoKIyMgV2hlbiB0byByb3RhdGUKCi0gYGt1YmVjdGwgbG9ncyAt" + + "biBudmNhLXN5c3RlbSAtbCBhcHAua3ViZXJuZXRlcy5pby9uYW1lPW52Y2FgIHNob3dzIGBIVFRQ" + + "IDQwMWAgb24gYC92MS9udmNhL2NsdXN0ZXJzLzxpZD4vcmVnaXN0ZXJgIHJlcGVhdGVkbHkKLSBJ" + + "Q01TIGxvZ3Mgc2hvdyBgTm8gY2x1c3RlciBmb3VuZCB3aXRoIHZhbGlkIEpXS1MgZm9yIGNsdXN0" + + "ZXIgSUQ6IDxpZD5gIChjYXVzZWQgYnkgaXNzdWVyIG1pc21hdGNoLCBub3QgSldLUywgYnV0IHJv" + + "dGF0ZSBmaXhlcyBib3RoKQotIEFmdGVyIGEgY29udHJvbC1wbGFuZSBLOHMgdXBncmFkZSBvciBj" + + "b21wdXRlLXBsYW5lIEs4cyB1cGdyYWRlCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgY2x1c3Rl" + + "ciBJRC4gUnVuIGBudmNmLWNsaSBjbHVzdGVyIGxpc3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD0kTkNB" + + "X0lEIC0taWNtcy11cmw9JElDTVNgLiBJZGVudGlmeSB0aGUgcm93IG1hdGNoaW5nIHRoZSB1c2Vy" + + "J3MgY29tcHV0ZSBwbGFuZS4KCjIuICoqUm90YXRlLioqIFVzZSBhIGNvbnRleHQgdGhhdCBjYW4g" + + "cmVhY2ggdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIChiZWNhdXNlIHJvdGF0aW9uIHJlLWZl" + + "dGNoZXMgdGhlIEs4cyBBUEkncyBgL29wZW5pZC92MS9qd2tzYCkuIFdyaXRlIHRoYXQgY29udGV4" + + "dCBhbG9uZSB0byBhIHRlbXBvcmFyeSBrdWJlY29uZmlnIGFuZCBwYXNzIGl0IHdpdGggYC0ta3Vi" + + "ZWNvbmZpZ2AsIHNvIHRoZSBjdXJyZW50IGNvbnRleHQgb2YgeW91ciBrdWJlY29uZmlnIHN0YXlz" + + "IGFzIGl0IHdhczoKCiAgIGBgYHNoCiAgIEtDPSQobWt0ZW1wKQogICBrdWJlY3RsIGNvbmZpZyB2" + + "aWV3IC0tbWluaWZ5IC0tZmxhdHRlbiAtLWNvbnRleHQ9PGN0eD4gPiAiJEtDIiAmJgogICAgIG52" + + "Y2YtY2xpIGNsdXN0ZXIgcm90YXRlIC0tY2x1c3Rlci1pZD08aWQ+IC0ta3ViZWNvbmZpZz0iJEtD" + + "IgogICBybSAtZiAiJEtDIgogICBgYGAKCiAgIGBjbHVzdGVyIHJvdGF0ZWAgcmUtZmV0Y2hlcyBK" + + "V0tTIGZyb20gdGhlIGNvbXB1dGUgcGxhbmUncyBLOHMgQVBJIGFuZCBQVVRzIGl0IHRvIElDTVMu" + + "IFRoZSBjbHVzdGVyIElEIHN0YXlzIHRoZSBzYW1lLiBUaGUgdGVtcG9yYXJ5IGZpbGUgaG9sZHMg" + + "dGhlIGNvbnRleHQncyBjcmVkZW50aWFsczogYG1rdGVtcGAgbWFrZXMgaXQgcmVhZGFibGUgb25s" + + "eSBieSB5b3UsIGFuZCBgcm1gIHJlbW92ZXMgaXQuCgozLiAqKlZlcmlmeS4qKiBgbnZjZi1jbGkg" + + "Y2x1c3RlciBnZXQgLS1jbHVzdGVyLWlkPTxpZD5gIOKAlCBjb25maXJtIGB1cGRhdGVkQXRgIGFk" + + "dmFuY2VkLiBUaGVuIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1zeXN0ZW0gLWwgYXBwLmt1YmVybmV0" + + "ZXMuaW8vbmFtZT1udmNhIC0tdGFpbD0yMGAg4oCUIHJlZ2lzdGVyIGF0dGVtcHRzIHNob3VsZCBz" + + "dWNjZWVkICgyMDAsIG5vdCA0MDEpLgoKIyMgV2hhdCBub3QgdG8gZG8KCi0gKipEb24ndCBgY2x1" + + "c3RlciBkZWxldGVgLioqIFJvdGF0aW9uIHByZXNlcnZlcyB0aGUgY2x1c3RlciBJRCArIGdyb3Vw" + + "IElEOyBkZWxldGUgY3JlYXRlcyBhIG5ldyByb3cgYW5kIHlvdSBoYXZlIHRvIHJlZGVwbG95IHRo" + + "ZSBjb21wdXRlIHBsYW5lIHdpdGggbmV3IElEcy4KLSAqKkRvbid0IG1hbnVhbGx5IGVkaXQgYG91" + + "dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLioqIFJvdGF0ZSB1cGRhdGVzIElDTVMg" + + "b25seTsgdGhlIGhlbG0gdmFsdWVzIGZpbGUgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGNsdXN0ZXIg" + + "SUQuCgojIyBJZiByb3RhdGlvbiBkb2Vzbid0IGZpeCBpdAoKVGhlIGF1dGggZmFpbHVyZSBtYXkg" + + "YmUgYXQgYSBkaWZmZXJlbnQgbGF5ZXIg4oCUIGNoZWNrOgoKLSBOQVRTIGF1dGgtY2FsbG91dCBo" + + "ZWFsdGggKGBrdWJlY3RsIGxvZ3MgLW4gbmF0cy1zeXN0ZW0gLWwgYXBwPW5hdHMtYXV0aC1jYWxs" + + "b3V0LXNlcnZpY2VgKQotIENsdXN0ZXIgcm93IGV4aXN0cyBpbiBgY2x1c3Rlcl9vaWRjX2J5X2Ns" + + "dXN0ZXJfaWRgIENhc3NhbmRyYSB0YWJsZQotIGBoZWxtLXJldmFsLXNlcnZpY2VgIGNvbmZpZ21h" + + "cCBoYXMgYGF1dGh6Lm9pZGMuZW5hYmxlZD10cnVlYAoKUm91dGUgdG8gW2RpYWdub3NlLWZhaWxl" + + "ZC1pbnN0YWxsLm1kXShkaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZCkgZm9yIHRob3NlIGNoZWNr" + + "cy4KUEsHCKnBJvcuCQAALgkAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALgAJAGRhdGEvbnZj" + + "Zi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvdGVhcmRvd24ubWRVVAUAAQCmzhIjIFRlYXIgZG93" + + "biBhIHNlbGYtaG9zdGVkIE5WQ0YgZGVwbG95bWVudAoKKipTQUZFVFk6KiogVGVhcmRvd24gZGVz" + + "dHJveXMgcGVyc2lzdGVudCBzdGF0ZSAoQ2Fzc2FuZHJhIHJvd3MsIE9wZW5CYW8gc2VhbCBrZXlz" + + "LCByZWdpc3RlcmVkIGNsdXN0ZXJzKS4gQWx3YXlzIGNvbmZpcm0gd2l0aCB0aGUgdXNlciBiZWZv" + + "cmUgYW55IHN0ZXAuCgojIyBUTDtEUiDigJQgYGRvd25gIGZvciBvbmUtc2hvdCwgYHVuaW5zdGFs" + + "bGAgZm9yIHBlci1wbGFuZQoKVGhlIENMSSBwcm92aWRlcyBhIHR3by10aWVyIHRlYXJkb3duIHN1" + + "cmZhY2Ugc3ltbWV0cmljIHdpdGggdGhlIGluc3RhbGwgc2lkZSAoUkVRLTIyLCBNKzExKToKCnwg" + + "VGllciB8IFVwIHNpZGUgKGV4aXN0aW5nKSB8IERvd24gc2lkZSB8CnwtLS18LS0tfC0tLXwKfCBQ" + + "ZXItcGxhbmUgcHJpbWl0aXZlIChyZW5kZXJzIFlBTUw7IEdpdE9wcy1mcmllbmRseSkgfCBgaW5z" + + "dGFsbCAtLWNvbnRyb2wtcGxhbmVgIC8gYGluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8IGB1bmlu" + + "c3RhbGwgLS1jb250cm9sLXBsYW5lYCAvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYCB8Cnwg" + + "T3JjaGVzdHJhdG9yIChvbmUtc2hvdCwgbXVsdGktcGxhbmUgKyBJQ01TKSB8IGB1cCAtLWNsdXN0" + + "ZXItbmFtZT1YYCB8IGBkb3duIC0tY2x1c3Rlci1uYW1lPVhgIC8gYGRvd24gLS1hbGxgIHwKClVz" + + "ZSBgZG93bmAgZm9yIG5vcm1hbCB0ZWFyZG93bi4gVXNlIGB1bmluc3RhbGxgIGZvciBHaXRPcHMg" + + "KGNvbW1pdCBZQU1MOyBBcmdvL0ZsdXggYXBwbGllcykgb3Igc2NyaXB0ZWQgcGlwZWxpbmVzLiBB" + + "bHdheXMgc3RhcnQgd2l0aCBhIGRyeS1ydW4uCgojIyBEcnktcnVuIHNoYXBlcwoKfCBNb2RlIHwg" + + "TGl2ZXMgb24gfCBJbnZva2VzIGhlbG0vaGVsbWZpbGU/IHwgT3V0cHV0IHwKfC0tLXwtLS18LS0t" + + "fC0tLXwKfCBgLS1wbGFuLW9ubHlgIHwgYHVwYCAvIGBkb3duYCAob3JjaGVzdHJhdG9ycykgfCAq" + + "Kk5vLioqIFdhbGtzIHJlc29sdmVkIHN0YWNrIGVudHJ5cG9pbnQgZmlsZXMsIGVtaXRzIHBoYXNl" + + "IHBsYW4gKyBFVEFzICsgaGVsbSB1bmluc3RhbGwgY29tbWFuZCBzdHJpbmdzLiB8IEV2ZW50IHN0" + + "cmVhbSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIC8gYHVuaW5zdGFsbGAgKHByaW1pdGl2" + + "ZXMpIHwgKipZZXMuKiogYGhlbG1maWxlIHRlbXBsYXRlYCBmb3IgaW5zdGFsbDsgYGhlbG0gZ2V0" + + "IG1hbmlmZXN0YCBmb3IgdW5pbnN0YWxsLiB8IFlBTUwgb24gc3Rkb3V0IHwKClNvOgoKLSBgZG93" + + "biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCDigJQgc2hvdyBtZSB0aGUgb3JjaGVzdHJh" + + "dG9yIHBoYXNlcyB3aXRob3V0IGludm9raW5nIGFueXRoaW5nLgotIGB1bmluc3RhbGwgLS1uby1h" + + "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIGdpdmUgbWUgdGhlIFlB" + + "TUwgSSdkIGBrdWJlY3RsIGRlbGV0ZSAtZiAtYC4KCmBgYHNoCiMgU3RlcCAxOiBBTFdBWVMgcHJl" + + "dmlldyBmaXJzdC4KbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAtLWNsdXN0" + + "ZXItbmFtZT1uY3AtbG9jYWwgLS1qc29uIHwganEKCiMgU3RlcCAyOiBSZWFsIHJ1bi4KbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0ZXItbmFtZT1uY3AtbG9jYWwKYGBgCgojIyBXaGVu" + + "IHRvIHVzZSB3aGljaCBmb3JtCgp8IFVzZXIgaW50ZW50IHwgQ29tbWFuZCB8CnwtLS18LS0tfAp8" + + "ICJSZW1vdmUgdGhpcyBvbmUgR1BVIGNsdXN0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRv" + + "d24gLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJUZWFyIGRvd24gZXZlcnl0aGluZyIgfCBgbnZjZi1j" + + "bGkgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm1gIHwKfCAiU2hvdyBtZSB0aGUgc3Rl" + + "cHMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZyIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93" + + "biAtLXBsYW4tb25seSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkdpdmUgbWUgWUFNTCB0byBjb21t" + + "aXQgKyBBcmdvIGRlbGV0ZXMgbGF0ZXIiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + + "bCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YID4gZGVsZXRlLnlh" + + "bWxgIHwKfCAiSnVzdCByZW1vdmUgdGhlIGhlbG0gcmVsZWFzZXMgb24gYSBjb21wdXRlIHBsYW5l" + + "IChubyBJQ01TIHVucmVnaXN0ZXIsIG5vIGRyYWluKSIgfCBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQg" + + "dW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8CnwgIkp1c3QgcmVt" + + "b3ZlIHRoZSBjb250cm9sLXBsYW5lIGhlbG0gcmVsZWFzZXMiIHwgYG52Y2YtY2xpIHNlbGYtaG9z" + + "dGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHwKCiMjIFN0ZXBzIGZvciBgZG93biAtLWNs" + + "dXN0ZXItbmFtZT1YYCAodGhlIHN0YW5kYXJkIHBhdGgpCgojIyMgMS4gQ29uZmlybSBzY29wZSB3" + + "aXRoIHRoZSB1c2VyCgpBc2s6CgotICJUZWFyaW5nIGRvd24gZXZlcnl0aGluZyAoY29tcHV0ZSBw" + + "bGFuZXMgKyBjb250cm9sIHBsYW5lICsgSUNNUyByb3dzKSBvciBqdXN0IG9uZSBjb21wdXRlIHBs" + + "YW5lPyIKLSAiQXJlIHRoZXJlIEFDVElWRSBmdW5jdGlvbiBkZXBsb3ltZW50cyBvbiB0aGlzIGNs" + + "dXN0ZXI/IGBudmNmLWNsaSBmdW5jdGlvbiBkZXBsb3kgbGlzdGAgdG8gY2hlY2suIiAoSW1wb3J0" + + "YW50IOKAlCBgZG93bmAgd2lsbCByZWZ1c2Ugd2l0aG91dCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxw" + + "cm9tcHRgIGlmIGFueSBhcmUgQUNUSVZFLikKLSAiU2hvdWxkIHdlIHdpcGUgcGVyc2lzdGVudCBz" + + "dGF0ZSAoQ2Fzc2FuZHJhIGRhdGEsIE9wZW5CYW8gc2VhbCBrZXlzLCBzci1kZWZhdWx0IHVzZXIg" + + "ZGF0YSk/IERlZmF1bHQgaXMgdG8gKipwcmVzZXJ2ZSoqIHRoZW0uIGAtLXJlbW92ZS1wZXJzaXN0" + + "ZW50YCBvcHRzIGluIHRvIGRlbGV0aW9uLiAqKkxvc3MgaXMgdW5yZWNvdmVyYWJsZS4qKiIKCiMj" + + "IyAyLiBSdW4gcGxhbi1vbmx5IGZpcnN0CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3du" + + "IC0tcGxhbi1vbmx5IC0tY2x1c3Rlci1uYW1lPSROQU1FIC0tanNvbiB8IGpxCmBgYAoKVGhpcyBl" + + "bWl0cyBhIGBwbGFubmVkYCBldmVudCBsaXN0aW5nIGVhY2ggcGhhc2UsIHRoZSBoZWxtIHJlbGVh" + + "c2VzIHRoYXQgd291bGQgYmUgdW5pbnN0YWxsZWQsIHRoZSBJQ01TIHJvd3MgdGhhdCB3b3VsZCBi" + + "ZSByZW1vdmVkLCBhbmQgRVRBcy4gQ29weSB0aGUgYHdpbGxVbmluc3RhbGwuY29tbWFuZHNbXWAg" + + "YXJyYXkgdG8gdGhlIHVzZXIg4oCUIHRob3NlIGFyZSB0aGUgbGl0ZXJhbCBgaGVsbSB1bmluc3Rh" + + "bGwg4oCmYCBpbnZvY2F0aW9ucyB0aGUgb3JjaGVzdHJhdG9yIHdpbGwgcnVuLgoKIyMjIDMuIEV4" + + "ZWN1dGUgdGhlIGRvd24KCmBgYHNoCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVy" + + "LW5hbWU9JE5BTUUgLS1qc29uCmBgYAoKUGhhc2VzICgxLTcsIG1pcnJvcnMgwqc2LjcuMSk6Cgox" + + "LiBQcmVmbGlnaHQg4oCUIGt1YmVjdGwgYWNjZXNzICsgSUNNUyByZWFjaGFibGUKMi4gUmVzb2x2" + + "ZSBzdGFjayBidW5kbGUKMy4gRHJhaW4gYWN0aXZlIGRlcGxveW1lbnRzIOKAlCBydW5zIGBmdW5j" + + "dGlvbiBkZXBsb3kgcmVtb3ZlYCBmb3IgZWFjaCBBQ1RJVkUgZGVwbG95bWVudCwgcG9sbHMgdW50" + + "aWwgU1RPUFBFRC4gU3ViamVjdCB0byBgLS1kcmFpbi1hY3RpdmU9dHJ1ZXxmYWxzZXxwcm9tcHRg" + + "IChkZWZhdWx0IGlzIGBwcm9tcHRgIGluIFRUWSkuCjQuIFVuaW5zdGFsbCBjb21wdXRlIHBsYW5l" + + "IOKAlCBkZWxlZ2F0ZXMgdG8gYHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmVgOyBgaGVsbSB1bmlu" + + "c3RhbGwgPHJlbGVhc2U+YCBwZXIgcmVsZWFzZSBpbiByZXZlcnNlLURBRyBvcmRlcgo1LiBSZW1v" + + "dmUgcGVyc2lzdGVudCAoc2tpcHBlZCB1bmxlc3MgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgKQo2LiBV" + + "bnJlZ2lzdGVyIGNsdXN0ZXIgZnJvbSBJQ01TCjcuIEZpbmFsIHZlcmlmeQoKIyMjIDQuIFRlYXIg" + + "ZG93biB0aGUgY29udHJvbCBwbGFuZSAoaWYgYXBwbGljYWJsZSkKCmBgYHNoCm52Y2YtY2xpIHNl" + + "bGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmUKYGBgCgpPciB2aWEgdGhlIG9yY2hl" + + "c3RyYXRvcidzIGAtLWFsbGAgbW9kZSBpZiBldmVyeSBjb21wdXRlIHBsYW5lIGlzIGFsc28gZ29p" + + "bmcgYXdheSAoc2VlIHN0ZXAgNSkuCgpgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAgcmVmdXNl" + + "cyBpZiBhbnkgY29tcHV0ZSBwbGFuZSBpcyBzdGlsbCByZWdpc3RlcmVkIGluIElDTVMuIFVzZSBg" + + "LS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHRvIG92ZXJyaWRlICoqb25seSoqIGlm" + + "IHRoZSB1c2VyIGV4cGxpY2l0bHkgd2FudHMgdG8gb3JwaGFuIGNvbXB1dGUgcGxhbmVzIChQU0FU" + + "IGF1dGggYnJlYWtzIGZvciB0aG9zZSBjbHVzdGVycyDigJQgdGhleSB3aWxsIHN0YXJ0IGZhaWxp" + + "bmcgZXZlcnkgaGVhbHRoIGNoZWNrKS4gQWx3YXlzIHN0YXRlIHRoZSBjb25zZXF1ZW5jZSBiZWZv" + + "cmUgcGFzc2luZyB0aGUgZmxhZy4KCiMjIyA1LiBPciwgbnVrZSBldmVyeXRoaW5nCgpgYGBzaApu" + + "dmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tYWxsIC0tY29uZmlybQpgYGAKClRoaXMgaXRlcmF0" + + "ZXMgZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIGluIElDTVMsIHJ1bnMgdGhlIHBlci1j" + + "bHVzdGVyIGRvd24gZm9yIGVhY2ggaW4gcGFyYWxsZWwgKGJvdW5kZWQgYnkgYC0tYWxsLWNvbmN1" + + "cnJlbmN5YCwgZGVmYXVsdCA0KSwgdGhlbiBydW5zIGB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5l" + + "YC4gSW50ZXJhY3RpdmUgbW9kZSBwcm9tcHRzIHRoZSBvcGVyYXRvciB3aXRoIHRoZSBjbHVzdGVy" + + "IGxpc3QgYmVmb3JlIHByb2NlZWRpbmc7IGAtLWNvbmZpcm1gIHNraXBzIHRoZSBwcm9tcHQgZm9y" + + "IG5vbi1pbnRlcmFjdGl2ZSB1c2UuCgojIyBHaXRPcHMgcGF0aCAoaWYgdXNlciBoYXMgQXJnbyAv" + + "IEZsdXgpCgpgYGBzaAojIFJlbmRlciBkZWxldGUgWUFNTCBmb3IgdGhlIGNvbXB1dGUgcGxhbmU6" + + "Cm52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLW5vLWFwcGx5IC0tY29tcHV0ZS1wbGFu" + + "ZSAtLWNsdXN0ZXItbmFtZT0kTkFNRSA+IGRlbGV0ZS55YW1sCgojIE9wZXJhdG9yIGNvbW1pdHMg" + + "ZGVsZXRlLnlhbWwgdG8gdGhlaXIgR2l0T3BzIHJlcG8uIEFyZ28vRmx1eCBhcHBsaWVzIHRoZSBk" + + "ZWxldGlvbiBvbiBuZXh0IHN5bmMuCmdpdCBhZGQgZGVsZXRlLnlhbWw7IGdpdCBjb21taXQgLW0g" + + "InJlbW92ZSBjb21wdXRlIHBsYW5lICROQU1FIjsgZ2l0IHB1c2gKCiMgQWZ0ZXIgQXJnbyBzeW5j" + + "IHJlbW92ZXMgdGhlIEs4cyByZXNvdXJjZXMsIHNlcGFyYXRlbHkgcmVtb3ZlIHRoZSBJQ01TIHJv" + + "dzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPSRDTFVTVEVSX0lECmBgYAoK" + + "Tm90ZTogYC0tbm8tYXBwbHlgIGRvZXMgTk9UIGluY2x1ZGUgdGhlIElDTVMgYGNsdXN0ZXIgZGVs" + + "ZXRlYCAoaGVsbSBkb2Vzbid0IG1hbmFnZSB0aGF0KS4gT3BlcmF0b3JzIGZvbGxvd2luZyBHaXRP" + + "cHMgbXVzdCBydW4gYG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlYCBzZXBhcmF0ZWx5LCBvciB1c2Ug" + + "YGRvd25gIHRvIG9yY2hlc3RyYXRlIGJvdGguCgojIyBGYWlsdXJlIHJlY292ZXJ5CgpJZiBgZG93" + + "bmAgcGFydGlhbC1mYWlscyBtaWQtd2F5LCAqKnJlLXJ1biB0aGUgc2FtZSBjb21tYW5kKiouIFRo" + + "ZSBvcmNoZXN0cmF0b3IgaXMgaWRlbXBvdGVudDogYGhlbG0gdW5pbnN0YWxsYCBza2lwcyByZWxl" + + "YXNlcyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUsIGFuZCBgY2x1c3RlciBkZWxldGUgLS1pZ25vcmUt" + + "bWlzc2luZ2Agc2tpcHMgSUNNUyByb3dzIHRoYXQgYXJlIGFscmVhZHkgZ29uZS4gUGhhc2UgNCAr" + + "IDYgZW1pdCBgcGhhc2U6IHNraXBwZWQgKGFscmVhZHkgY2xlYW4pYCBvbiB0aGUgc2Vjb25kIHJ1" + + "bi4KCklmIGEgYHBoYXNlX2ZhaWxlZGAgZXZlbnQgc3VyZmFjZXM6CgotIGBlcnJDYXRlZ29yeTog" + + "ImhlbG1fcGVuZGluZ191cGdyYWRlIiwgcmV0cnlDbGFzczogImFmdGVyX3JlbWVkaWF0aW9uImAg" + + "4oaSIHJ1biBgaGVsbSByb2xsYmFjayA8cmVsZWFzZT4gMCAtLWt1YmUtY29udGV4dD3igKZgICh0" + + "aGUgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZXhhY3QgcmVsZWFzZSBuYW1lKSB0aGVuIHJlLXJ1biBg" + + "ZG93bmAuIERvIE5PVCBhdXRvLXJvbGxiYWNrIHdpdGhvdXQgdXNlciBjb25maXJtYXRpb24uCi0g" + + "YGVyckNhdGVnb3J5OiAiY29tcHV0ZV9wbGFuZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlh" + + "dGlvbiJgIHdpdGggbWVzc2FnZSBhYm91dCBBQ1RJVkUgZGVwbG95bWVudHMg4oaSIHVzZXIgcGFz" + + "c2VkIGAtLWRyYWluLWFjdGl2ZT1mYWxzZWAgYnV0IGRlcGxveW1lbnRzIGV4aXN0LiBSZS1ydW4g" + + "d2l0aCBgLS1kcmFpbi1hY3RpdmU9dHJ1ZWAgb3IgYC0tZHJhaW4tYWN0aXZlPXByb21wdGAgYW5k" + + "IGNvbmZpcm0gd2l0aCB0aGUgdXNlci4KLSBPdGhlciBjYXRlZ29yaWVzIOKGkiBzdXJmYWNlIGBl" + + "cnJNZXNzYWdlYCArIGVhY2ggYHJlbWVkaWF0aW9uYCBzdHJpbmcgdmVyYmF0aW0uIFNUT1AuIERv" + + "IG5vdCBwcm9wb3NlIHJldHJ5IHdpdGhvdXQgdXNlciBpbnB1dC4KCiMjIEFsd2F5cyBjb25maXJt" + + "CgpGb3IgZXZlcnkgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd25gIG9yIGB1bmluc3RhbGxgIGlu" + + "dm9jYXRpb24sIGVzcGVjaWFsbHkgd2l0aCBkZXN0cnVjdGl2ZSBmbGFnczoKCi0gU3RhdGUgdGhl" + + "IGV4YWN0IGAtLWNsdXN0ZXItbmFtZWAgKG9yIGAtLWFsbGApLgotIFN0YXRlIHdoYXQncyBsb3N0" + + "IChlLmcuICJhbGwgZnVuY3Rpb24gZGVwbG95bWVudHMgc2NoZWR1bGVkIG9uIGBuY3AtbG9jYWxg" + + "IHdpbGwgc3RvcDsgY29tcHV0ZSBwbGFuZSB3aWxsIGRlcmVnaXN0ZXIgZnJvbSBJQ01TIikuCi0g" + + "SWYgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIGlzIGJlaW5nIGNvbnNpZGVyZWQsIHN0YXRlIHRoYXQg" + + "Q2Fzc2FuZHJhIHJvd3MgKyBPcGVuQmFvIHNlYWwga2V5cyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHRo" + + "YXQgdGhpcyBpcyB1bnJlY292ZXJhYmxlLgotIFdhaXQgZm9yIGV4cGxpY2l0IHVzZXIgY29uZmly" + + "bWF0aW9uLgotIE5ldmVyIHByb3Bvc2UgYC0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJz" + + "YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhhdCBjb21wdXRlIHBsYW5lcyB3aWxsIGJlIG9ycGhhbmVk" + + "LgotIE5ldmVyIHByb3Bvc2UgYC0tcmVtb3ZlLXBlcnNpc3RlbnRgIHdpdGhvdXQgZXhwbGFpbmlu" + + "ZyB0aGUgbG9zcy4KCiMjIE1hbnVhbCBmYWxsYmFjayAoaWYgYG52Y2YtY2xpIHNlbGYtaG9zdGVk" + + "IHt1bmluc3RhbGwsZG93bn1gIGlzIHVuYXZhaWxhYmxlKQoKSWYgdGhlIHVzZXIgaXMgb24gYSBD" + + "TEkgdmVyc2lvbiBvbGRlciB0aGFuIE0rMTEsIGZhbGwgYmFjayB0bzoKCmBgYHNoCiMgUGVyIGNv" + + "bXB1dGUgcGxhbmUgKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpoZWxtIHVuaW5zdGFsbCBudmNh" + + "LWFnZW50IC1uIG52Y2Etc3lzdGVtCmhlbG0gdW5pbnN0YWxsIG52Y2Etb3BlcmF0b3IgLW4gbnZj" + + "YS1vcGVyYXRvcgpoZWxtIHVuaW5zdGFsbCBpbWFnZS1jcmVkZW50aWFsLWhlbHBlciAtbiBudmNh" + + "LXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBzaGFyZWRzdG9yYWdlIC1uIG52Y2Etc3lzdGVtCgojIERy" + + "YWluIHRoZSBJQ01TIHJvdzoKbnZjZi1jbGkgY2x1c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPTxp" + + "ZD4KCiMgQ29udHJvbCBwbGFuZSB0ZWFyZG93biAob24gaXRzIGt1YmVjdGwgY29udGV4dCk6CmNk" + + "IG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrCm1ha2UgZGVzdHJveSAgICMgaW52b2tlcyBoZWxtZmls" + + "ZSBkZXN0cm95IGFjcm9zcyBhbGwgcmVsZWFzZXMKCiMgSWYgdXNpbmcgc3BsaXQgc3RhY2sgYnVu" + + "ZGxlcywgdGVhcmRvd24gY29tcHV0ZSBwbGFuZSByZWxlYXNlcyB0b286CmNkIC4uL252Y2YtY29t" + + "cHV0ZS1wbGFuZS1zdGFjawptYWtlIGRlc3Ryb3kKYGBgCgpUaGlzIGlzIHRoZSBtYW51YWwgcGF0" + + "aDsgcHJlZmVyIHRoZSBuZXcgc3ViY29tbWFuZHMgd2hlbmV2ZXIgdGhleSdyZSBpbnN0YWxsZWQu" + + "CgojIyBXaGF0IGBrdWJlY3RsIGRlbGV0ZSBwdmNgIGRvZXMKCklmIHRoZSB1c2VyIGFza3MgIndo" + + "eSBpcyBteSBuZXcgaW5zdGFsbCBzZWVpbmcgdGhlIG9sZCBkYXRhPyIg4oCUIHRoZSBTdGF0ZWZ1" + + "bFNldCBQVkNzIChDYXNzYW5kcmEsIE9wZW5CYW8pIGFyZSBOT1QgZGVsZXRlZCBieSBgaGVsbSB1" + + "bmluc3RhbGxgIChhbmQgc28gYXJlIE5PVCBkZWxldGVkIGJ5IGBudmNmLWNsaSBzZWxmLWhvc3Rl" + + "ZCBkb3duYCBlaXRoZXIsIGJ5IGRlZmF1bHQpLiBUaGV5IHBlcnNpc3QgaW50ZW50aW9uYWxseSBz" + + "byBhIHJlLWB1cGAgY2FuIHJlc3VtZSBhZ2FpbnN0IGV4aXN0aW5nIGRhdGEuIFRvIHdpcGUgY29t" + + "cGxldGVseSBvbiB0aGUgbmV4dCBgZG93bmA6CgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBk" + + "b3duIC0tY2x1c3Rlci1uYW1lPW5jcC1sb2NhbCAtLXJlbW92ZS1wZXJzaXN0ZW50CmBgYAoKT3Is" + + "IHBvc3QtZG93biwgbWFudWFsbHk6CgpgYGBzaAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSAtLWFsbAprdWJlY3RsIGRlbGV0ZSBwdmMgLW4gdmF1bHQtc3lzdGVtIC0tYWxs" + + "CmBgYAoKKipDb25maXJtIHdpdGggdXNlci4qKiBUaGlzIGlzIHRoZSBkZXN0cnVjdGl2ZSBzdGVw" + + "LgpQSwcI2odjVuQhAADkIQAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAwAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2NvbW1hbmRzLm1kVVQFAAEAps4SIyBgbnZjZi1j" + + "bGlgIGNvbW1hbmQgcmVmZXJlbmNlCgpGdWxsIHN1YmNvbW1hbmQgbGlzdC4gQWx3YXlzIHBhaXIg" + + "d2l0aCBbZmxhZ3MubWRdKGZsYWdzLm1kKSBmb3IgZ2xvYmFsIGZsYWdzIGFuZCBbZXhpdC1jb2Rl" + + "cy5tZF0oZXhpdC1jb2Rlcy5tZCkgZm9yIHJldHVybiBjb2Rlcy4KCiMjIFNlbGYtaG9zdGVkIGxp" + + "ZmVjeWNsZQoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE91dHB1dCB8IE5vdGVzIHwKfC0tLXwtLS18" + + "LS0tfC0tLXwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1wcmUgW2ZsYWdzXWAgfCBQcmUtZmxpZ2h0" + + "IGJlZm9yZSBpbnN0YWxsIChubyBhZG1pbiBjcmVkcyk6IGxvY2FsIHRvb2xzLCByZWdpc3RyeSBj" + + "cmVkZW50aWFscywgYW5kIGJvdGggcGxhbmVzJyBjbHVzdGVyIGNoZWNrcyB8IHN0cmVhbWluZyBl" + + "dmVudHMgb24gc3RkZXJyIHwgU3BsaXQgY2x1c3RlcnMgbmVlZCBib3RoIGAtLWNvbnRyb2wtcGxh" + + "bmUtY29udGV4dGAgYW5kIGAtLWNvbXB1dGUtcGxhbmUtY29udGV4dGA7IGAtLWxvY2FsLW9ubHlg" + + "IG1ha2VzIG5vIGNsdXN0ZXIgb3IgcmVnaXN0cnkgY29udGFjdCB8CnwgYHNlbGYtaG9zdGVkIGNo" + + "ZWNrIC0tY29udHJvbC1wbGFuZSBbLS13YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbnRyb2wgcGxh" + + "bmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250cm9sLXBsYW5lIGNsdXN0ZXItdmFs" + + "aWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBgLS13YWl0YCBwb2xscyB1bnRp" + + "bCBwYXNzIG9yIERVUiBlbGFwc2VzIHwKfCBgc2VsZi1ob3N0ZWQgY2hlY2sgLS1jb21wdXRlLXBs" + + "YW5lIFstLXdhaXQgRFVSXWAgfCBJbnN0YWxsZWQgY29tcHV0ZSBwbGFuZTogbGVmdG92ZXIgbmFt" + + "ZXNwYWNlcywgbm9kZSBpbm90aWZ5IGxpbWl0cywgU0lTIHJlYWNoYWJpbGl0eSwgYW5kIHRoZSBj" + + "b21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yIHwgc3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRl" + + "cnIgfCBTSVMgaXMgcHJvYmVkIG9ubHkgYXQgYSBjb25maWd1cmVkIGAtLWljbXMtdXJsYC4gV2l0" + + "aG91dCBjb250ZXh0IGZsYWdzIGl0IGNoZWNrcyB0aGUgY3VycmVudCBjb250ZXh0IHwKfCBgc2Vs" + + "Zi1ob3N0ZWQgY2hlY2sgLS1hbGwgWy0td2FpdCBEVVJdYCB8IEJvdGggb2YgdGhlIGFib3ZlIHwg" + + "c3RyZWFtaW5nIGV2ZW50cyBvbiBzdGRlcnIgfCBHYXRlIG9uIHRoZSBgZmluYWxgIGV2ZW50OyBz" + + "ZWUgW2V4aXQtY29kZXMubWRdKGV4aXQtY29kZXMubWQpIHwKfCBgc2VsZi1ob3N0ZWQgaW5zdGFs" + + "bCAtLWNvbnRyb2wtcGxhbmVgIHwgUmVuZGVyIGNvbnRyb2wtcGxhbmUgbWFuaWZlc3RzIHwgWUFN" + + "TCBvbiBzdGRvdXQgfCBQaXBlIHRvIGBrdWJlY3RsIGFwcGx5IC1mIC1gIHwKfCBgc2VsZi1ob3N0" + + "ZWQgaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBSZWdpc3RlciBj" + + "bHVzdGVyICsgcmVuZGVyIGNvbXB1dGUgbWFuaWZlc3RzIHwgWUFNTCBvbiBzdGRvdXQgfCBPbmUg" + + "aW52b2NhdGlvbiBwZXIgR1BVIGNsdXN0ZXIgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLWNsdXN0ZXIt" + + "bmFtZT1YYCB8IE9uZS1zaG90IGZpcnN0IGluc3RhbGwgKGJvdGggcGxhbmVzKSB8IChlbXB0eSkg" + + "c3Rkb3V0LCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBBbHdheXMgaW5zdGFsbHMgYm90aCBwbGFuZXM7" + + "IGZvciBjb21wdXRlLW9ubHkgdXNlIGBjb21wdXRlLXBsYW5lIHJlZ2lzdGVyYCBhbmQgYGNvbXB1" + + "dGUtcGxhbmUgaW5zdGFsbGAgfAp8IGBzZWxmLWhvc3RlZCB1cCAtLXBsYW4tb25seSAtLWNsdXN0" + + "ZXItbmFtZT1YYCB8IERyeS1ydW4gcHJldmlldyB8IEpTT05MIG9uIHN0ZGVyciB8IEFnZW50LWZy" + + "aWVuZGx5LCBubyBjbHVzdGVyIGNoYW5nZXMgfAp8IGBzZWxmLWhvc3RlZCBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyIC0tY29udHJvbC1wbGFuZS1wcm9maWxlPVAgLS1jbHVzdGVyLW5hbWU9WCAtLWt1" + + "YmUtY29udGV4dD1ZIFstLW91dHB1dD1WXWAgfCBSZWdpc3RlciBhIGNvbXB1dGUgY2x1c3RlciB3" + + "aXRoIGFuIGV4aXN0aW5nIGNvbnRyb2wgcGxhbmUgYW5kIHdyaXRlIGl0cyBOVkNBIG9wZXJhdG9y" + + "IHZhbHVlcyB8IHN1bW1hcnkgb24gc3Rkb3V0IHwgRm9yIHRoZSAybmQsIDNyZCwgLi4uIEdQVSBj" + + "bHVzdGVyIGFmdGVyIHRoZSBmaXJzdCBpbnN0YWxsLiBDUCBub3QgdG91Y2hlZCB8CnwgYHNlbGYt" + + "aG9zdGVkIGNvbXB1dGUtcGxhbmUgaW5zdGFsbCAtLXZhbHVlcz1WIC0ta3ViZS1jb250ZXh0PVlg" + + "IHwgSW5zdGFsbCBhIGNvbXB1dGUgcGxhbmUgZnJvbSB0aGUgdmFsdWVzIGBjb21wdXRlLXBsYW5l" + + "IHJlZ2lzdGVyYCB3cm90ZSB8IHByb2dyZXNzIG9uIHN0ZGVyciB8IFJ1biBhZnRlciBgY29tcHV0" + + "ZS1wbGFuZSByZWdpc3RlcmAuIEluc3RhbGxzIFYgd2hhdGV2ZXIgaXRzIG5hbWUsIG5ldmVyIGFu" + + "b3RoZXIgdmFsdWVzIGZpbGUgYmVzaWRlIGl0IHwKfCBgc2VsZi1ob3N0ZWQgc3RhdHVzIFstLWNs" + + "dXN0ZXItbmFtZT1YXSBbLS13YXRjaF1gIHwgU25hcHNob3QgY2x1c3RlciBoZWFsdGggfCBUVFkv" + + "cGxhaW4vSlNPTkwgfCBgLS13YXRjaGAgZm9yIGxpdmUgcmUtcmVuZGVyIHwKfCBgc2VsZi1ob3N0" + + "ZWQgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSAtLWNsdXN0ZXItbmFtZT1YYCB8IFBlci1wbGFu" + + "ZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiBvbmUgY29tcHV0ZSBwbGFuZSAobm8g" + + "SUNNUyB1bnJlZ2lzdGVyLCBubyBkcmFpbikgfCBwcm9ncmVzcyB8IEp1c3QgdGhlIGhlbG0gcmVs" + + "ZWFzZXMgb24gdGhhdCBjb21wdXRlIHBsYW5lIHwKfCBgc2VsZi1ob3N0ZWQgdW5pbnN0YWxsIC0t" + + "Y29udHJvbC1wbGFuZSBbLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNdYCB8IFBlci1w" + + "bGFuZSBwcmltaXRpdmU6IGBoZWxtZmlsZSBkZXN0cm95YCBvbiB0aGUgY29udHJvbCBwbGFuZSB8" + + "IHByb2dyZXNzIHwgUmVmdXNlcyBpZiBjb21wdXRlIHBsYW5lcyBzdGlsbCByZWdpc3RlcmVkIHVu" + + "bGVzcyBgLS1mb3JjZS13aXRoLXJlZ2lzdGVyZWQtY2x1c3RlcnNgIHwKfCBgc2VsZi1ob3N0ZWQg" + + "dW5pbnN0YWxsIC0tbm8tYXBwbHkgPHBsYW5lPmAgfCBSZW5kZXIgZGVsZXRlIFlBTUwgdmlhIGBo" + + "ZWxtIGdldCBtYW5pZmVzdGAgcGVyIHJlbGVhc2UgfCBZQU1MIG9uIHN0ZG91dCB8IEdpdE9wczsg" + + "cGlwZSB0byBga3ViZWN0bCBkZWxldGUgLWYgLWAgb3IgY29tbWl0ICsgQXJnbyBhcHBsaWVzLiBN" + + "aXJyb3JzIGBpbnN0YWxsIC0tbm8tYXBwbHlgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWNsdXN0" + + "ZXItbmFtZT1YIFstLWRyYWluLWFjdGl2ZV0gWy0tcmVtb3ZlLXBlcnNpc3RlbnRdYCB8IE9yY2hl" + + "c3RyYXRvcjogZHJhaW4g4oaSIHVuaW5zdGFsbCAtLWNvbXB1dGUtcGxhbmUg4oaSIGNsdXN0ZXIg" + + "ZGVsZXRlIGluIElDTVMgfCBwcm9ncmVzcyB8IFN5bW1ldHJpYyBjb21wYW5pb24gdG8gYHVwIC0t" + + "Y2x1c3Rlci1uYW1lPVhgIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLWFsbCBbLS1jb25maXJtXWAg" + + "fCBPcmNoZXN0cmF0b3I6IHRlYXIgZG93biBldmVyeSByZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUg" + + "KyBjb250cm9sIHBsYW5lIHwgcHJvZ3Jlc3MgfCBCb3VuZGVkIHBhcmFsbGVsaXNtIHZpYSBgLS1h" + + "bGwtY29uY3VycmVuY3lgIChkZWZhdWx0IDQpOyBgLS1jb25maXJtYCByZXF1aXJlZCBpbiBub24t" + + "aW50ZXJhY3RpdmUgfAp8IGBzZWxmLWhvc3RlZCBkb3duIC0tcGxhbi1vbmx5IC4uLmAgfCBPcmNo" + + "ZXN0cmF0b3IgZHJ5LXJ1bjogcGhhc2VzICsgaGVsbSByZWxlYXNlcyArIElDTVMgcm93cyArIEVU" + + "QXMgKG5vIGhlbG0vaGVsbWZpbGUgY29udGFjdCkgfCBKU09OTCB8ICoqQWx3YXlzIHJ1biBiZWZv" + + "cmUgYW55IGFjdHVhbCBgZG93bmAqKiB8CgojIyBDbHVzdGVyIG1hbmFnZW1lbnQKCnwgQ29tbWFu" + + "ZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwKfCBgY2x1c3RlciByZWdpc3RlciAt" + + "LW5hbWU9WCAtLW5jYS1pZD1ZIFstLXJlZ2lvbj1aXSBbLS1pZ25vcmUtZXhpc3RpbmddYCB8IFJl" + + "Z2lzdGVyIGEgSldLUytPSURDIHdpdGggSUNNUyB8IFVzZWQgYnkgYHVwYCBQaGFzZSA1IGludGVy" + + "bmFsbHk7IHN0YW5kYWxvbmUgZm9yIG1hbnVhbCByZWdpc3RyYXRpb24gfAp8IGBjbHVzdGVyIGxp" + + "c3QtcmVnaXN0ZXJlZCAtLW5jYS1pZD1ZIFstLWljbXMtdXJsPVVSTF1gIHwgTGlzdCBzZWxmLWhv" + + "c3RlZCBjbHVzdGVyIHJlZ2lzdHJhdGlvbnMgZnJvbSBJQ01TIHwgVXNlcyB0aGUgYWRtaW4gdG9r" + + "ZW47IGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCB8CnwgYGNsdXN0ZXIgcm90" + + "YXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZS1mZXRjaCBKV0tTIGZyb20gSzhzIGFuZCBQVVQgdG8g" + + "SUNNUyB8IEFmdGVyIEs4cyBBUEkgc2VydmVyIHNpZ25pbmcga2V5IHJvdGF0aW9uIHwKfCBgY2x1" + + "c3RlciBkZWxldGUgLS1jbHVzdGVyLWlkPUlEYCB8IFJlbW92ZSBJQ01TIHJvdyB8ICoqREVTVFJV" + + "Q1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgRnVuY3Rpb25zCgp8IENvbW1hbmQgfCBQ" + + "dXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGZ1bmN0aW9uIGNyZWF0ZSAtLWlucHV0" + + "LWZpbGU9RklMRWAgfCBDcmVhdGUgZnVuY3Rpb24gbWV0YWRhdGEgfCBSZXR1cm5zIEZ1bmN0aW9u" + + "IElEICsgVmVyc2lvbiBJRDsgTExNIGZ1bmN0aW9ucyB1c2UgYGZ1bmN0aW9uVHlwZTogIkxMTSJg" + + "IGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnLnVyaXNgIGZvciBgL3YxL2NoYXQvY29tcGxldGlvbnNg" + + "LCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgIHwKfCBgZnVuY3Rpb24gbGlz" + + "dGAgLyBgZnVuY3Rpb24gbGlzdC1pZHNgIHwgTGlzdCBmdW5jdGlvbnMgLyBJRHMgb25seSB8IHwK" + + "fCBgZnVuY3Rpb24gZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBGdW5j" + + "dGlvbiBtZXRhZGF0YSB8IHwKfCBgZnVuY3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12" + + "ZXJzaW9uLWlkPVZJRCAtLXRhZ3M9VEFHWyxUQUddYCB8IFVwZGF0ZSBmdW5jdGlvbiB0YWdzIHwg" + + "fAp8IGBmdW5jdGlvbiB1cGRhdGUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24taWQ9VklEIC0t" + + "bGxtLW1vZGVsLXVwZGF0ZT1TUEVDYCB8IFVwZGF0ZSBMTE0gbW9kZWwgcm91dGluZyBjb25maWcg" + + "fCBgU1BFQ2AgdXNlcyBgbmFtZT08bW9kZWw+LHJvdXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5S" + + "YXRlTGltaXQ9PGxpbWl0PmA7IGFjY2VwdGVkIG1ldGhvZHMgYXJlIGxpc3RlZCBpbiBbZmxhZ3Mu" + + "bWRdKGZsYWdzLm1kKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBjcmVhdGUgLS1pbnB1dC1maWxlPUZJ" + + "TEVgIHwgU2NoZWR1bGUgYSBkZXBsb3ltZW50IHwgQmxvY2tzIHVudGlsIEFDVElWRSAoZGVmYXVs" + + "dCA5MDBzKSB8CnwgYGZ1bmN0aW9uIGRlcGxveSBnZXQgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNp" + + "b24taWQ9VklEIFstLWpzb25dYCB8IERlcGxveW1lbnQgc3RhdHVzIHwgYGZ1bmN0aW9uU3RhdHVz" + + "OiBBQ1RJVkVcfERFUExPWUlOR1x8RVJST1JcfEZBSUxFRGAgfAp8IGBmdW5jdGlvbiBkZXBsb3kg" + + "dXBkYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IE1vZGlmeSBhIGRlcGxveW1lbnQgaW4gcGxhY2Ug" + + "fCB8CnwgYGZ1bmN0aW9uIGRlcGxveSByZW1vdmUgLS1mdW5jdGlvbi1pZD1JRCAtLXZlcnNpb24t" + + "aWQ9VklEYCB8IFN0b3AgYSBkZXBsb3ltZW50LCBrZWVwIGZ1bmN0aW9uIHJlY29yZCB8IHwKfCBg" + + "ZnVuY3Rpb24gaW52b2tlIC0taW5wdXQtZmlsZT1GSUxFYCB8IENhbGwgYSByZWd1bGFyIGZ1bmN0" + + "aW9uIHwgUmVxdWlyZXMgQVBJIGtleSAobm90IGFkbWluIHRva2VuKTsgTExNIGZ1bmN0aW9ucyBh" + + "cmUgaW52b2tlZCB0aHJvdWdoIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgd2l0aCBgbW9kZWw6" + + "ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgIHwKfCBgZnVuY3Rpb24gZGVsZXRlIC0tZnVu" + + "Y3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAgfCBSZW1vdmUgZnVuY3Rpb24gKyBkZXBsb3lt" + + "ZW50IHwgKipERVNUUlVDVElWRTogY29uZmlybSB3aXRoIHVzZXIqKiB8CgojIyBUYXNrcwoKVGFz" + + "ayBjb21tYW5kcyByZXF1aXJlIGBOVkNGX0FQSV9LRVlgIHNldCB0byBhIHRhc2stc2NvcGVkIGtl" + + "eSBhbmQgYE5WQ0ZfQkFTRV9OVkNUX1VSTGAgc2V0IHRvIHRoZSBOVkNUIGdhdGV3YXkgZW5kcG9p" + + "bnQuIEluIGEgZnJlc2ggc2Vzc2lvbiwgcmVhZCBgbnZjdEFwaUtleWAgZnJvbSBgfi8ubnZjZi1j" + + "bGkuc3RhdGVgIGFuZCBpbmplY3QgaXQgYXMgYE5WQ0ZfQVBJX0tFWWAgd2l0aG91dCBsb2dnaW5n" + + "IHRoZSB2YWx1ZTsgY2hlY2sgYG52Y3RBcGlLZXlFeHBpcmF0aW9uYCBmaXJzdCBhbmQgcmVnZW5l" + + "cmF0ZSB3aXRoIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2sgLS12YWxpZGF0ZWAgaWYgZXhw" + + "aXJlZC4gUnVuIGBhcGkta2V5IGdlbmVyYXRlIC0tZm9yIHRhc2tgIGFmdGVyIGBpbml0YCB0byBt" + + "aW50IGEgbmV3IGtleS4KCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0tfC0t" + + "LXwKfCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBF" + + "IC0taW1hZ2U9SU1HYCB8IFN1Ym1pdCBhIGNvbnRhaW5lciB0YXNrIHwgU2F2ZXMgdGFzayBJRCB0" + + "byBDTEkgc3RhdGU7IHVzZSBgLS1pbnB1dC1maWxlYCBmb3IgcmVwZWF0YWJsZSBjb25maWdzIHwK" + + "fCBgdGFzayBjcmVhdGUgLS1uYW1lPVggLS1ncHU9R1BVIC0taW5zdGFuY2UtdHlwZT1UWVBFIC0t" + + "aGVsbS1jaGFydD1DSEFSVGAgfCBTdWJtaXQgYSBIZWxtIHRhc2sgfCBgLS1oZWxtLWNoYXJ0YCBy" + + "ZXBsYWNlcyBgLS1pbWFnZWAgfAp8IGB0YXNrIGNyZWF0ZSAtLWlucHV0LWZpbGU9RklMRWAgfCBT" + + "dWJtaXQgYSB0YXNrIGZyb20gYSBKU09OIGNvbmZpZyBmaWxlIHwgUmVjb21tZW5kZWQgZm9yIHJl" + + "cGVhdGFibGUgY29uZmlndXJhdGlvbnMgfAp8IGB0YXNrIGxpc3QgWy0tc3RhdHVzPVNUQVRVU10g" + + "Wy0tbGltaXQ9Tl1gIHwgTGlzdCB0YXNrcywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBzdGF0dXMg" + + "fCBTdGF0dXNlczogYFFVRVVFRGAsIGBMQVVOQ0hFRGAsIGBSVU5OSU5HYCwgYENPTVBMRVRFRGAs" + + "IGBFUlJPUkVEYCwgYENBTkNFTEVEYCwgYEVYQ0VFREVEX01BWF9SVU5USU1FX0RVUkFUSU9OYCwg" + + "YEVYQ0VFREVEX01BWF9RVUVVRURfRFVSQVRJT05gIHwKfCBgdGFzayBnZXQgW3Rhc2tJZF1gIHwg" + + "R2V0IHRhc2sgZGV0YWlscyB8IFVzZXMgc2F2ZWQgdGFzayBJRCBmcm9tIHN0YXRlIGlmIG9taXR0" + + "ZWQgfAp8IGB0YXNrIGV2ZW50cyBbdGFza0lkXSBbLS1saW1pdD1OXWAgfCBMaXN0IGxpZmVjeWNs" + + "ZSBldmVudHMgZm9yIGEgdGFzayB8IHwKfCBgdGFzayByZXN1bHRzIFt0YXNrSWRdYCB8IExpc3Qg" + + "cmVzdWx0IGFydGlmYWN0cyBmb3IgYSBjb21wbGV0ZWQgdGFzayB8IFJldHVybnMgZW1wdHkgbGlz" + + "dCB3aGVuIGByZXN1bHRIYW5kbGluZ1N0cmF0ZWd5YCBpcyBgTk9ORWA7IHJlc3VsdCB1cGxvYWQg" + + "bm90IHlldCBzdXBwb3J0ZWQgfAp8IGB0YXNrIGNhbmNlbCBbdGFza0lkXWAgfCBDYW5jZWwgYSBy" + + "dW5uaW5nIHRhc2sgfCBOby1vcCBpZiBhbHJlYWR5IGluIHRlcm1pbmFsIHN0YXRlIHwKfCBgdGFz" + + "ayBkZWxldGUgW3Rhc2tJZF1gIHwgRGVsZXRlIGEgdGFzayByZWNvcmQgfCAqKlN0b3AsIHN0YXRl" + + "IHRhc2sgSUQgKyBjdXJyZW50IHN0YXR1cywgYW5kIHdhaXQgZm9yIGEgc3Vic2VxdWVudCB1c2Vy" + + "IHJlcGx5IGV4cGxpY2l0bHkgY29uZmlybWluZyBkZWxldGlvbiBvZiB0aGF0IHNwZWNpZmljIHRh" + + "c2suIERvIG5vdCB0cmVhdCB0aGUgb3JpZ2luYWwgZGVsZXRlIHJlcXVlc3QgYXMgY29uZmlybWF0" + + "aW9uLioqIHwKfCBgdGFzayB1cGRhdGUtc2VjcmV0cyBbdGFza0lkXSAtLXNlY3JldHMgTkFNRT12" + + "YWx1ZWAgfCBVcGRhdGUgc2VjcmV0cyBvbiBhIHRhc2s7IHN1cHBsaWVkIHNlY3JldHMgYXJlIGFk" + + "ZGVkIG9yIHVwZGF0ZWQgYnkgbmFtZSwgZXhpc3Rpbmcgc2VjcmV0cyBub3QgaW4gdGhlIHJlcXVl" + + "c3QgYXJlIHByZXNlcnZlZCB8IFZhbHVlcyBhcmUgZW5jcnlwdGVkIGF0IHJlc3QgfAp8IGB0YXNr" + + "IGJ1bGsgLS10YXNrLWlkcz1JRDFbLElEMizigKZdYCB8IEZldGNoIGRldGFpbHMgZm9yIG11bHRp" + + "cGxlIHRhc2tzIGluIG9uZSByZXF1ZXN0IHwgfAoKIyMgQXV0aAoKfCBDb21tYW5kIHwgUHVycG9z" + + "ZSB8IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBpbml0YCB8IE1pbnQgYWRtaW4gdG9rZW4gZnJv" + + "bSBBUEkgS2V5cyB2aWEgcHVibGljIGFwaSBnYXRld2F5IHwgSWRlbXBvdGVudDsgd3JpdGVzIGB+" + + "Ly5udmNmLWNsaS5zdGF0ZWA7IGNsZWFycyBzYXZlZCBmdW5jdGlvbiBzdGF0ZSBhbmQgYWxsIEFQ" + + "SSBrZXlzIChmdW5jdGlvbiBhbmQgdGFzaykgfAp8IGBzdGF0dXNgIHwgU2hvdyBDTEkgc3RhdGUg" + + "KHRva2VuLCBsYXN0IGVuZHBvaW50cywgZnVuY3Rpb24gY29udGV4dCkgfCBEaXN0aW5jdCBmcm9t" + + "IGBzZWxmLWhvc3RlZCBzdGF0dXNgIHwKfCBgYXBpLWtleSBnZW5lcmF0ZSBbLS1mb3IgZnVuY3Rp" + + "b25cfHRhc2tdIFstLWRlc2NyaXB0aW9uPeKApl0gWy0tZXhwaXJlcy1pbj3igKZdYCB8IE1pbnQg" + + "QVBJIGtleXMgfCBEZWZhdWx0IChubyBgLS1mb3JgKTogZ2VuZXJhdGVzIGJvdGggYSBmdW5jdGlv" + + "biBrZXkgYW5kIGEgdGFzayBrZXk7IGAtLWZvciBmdW5jdGlvbmAgb3IgYC0tZm9yIHRhc2tgIGdl" + + "bmVyYXRlcyBvbmUgb25seTsgYC0tc2NvcGVzYCByZXF1aXJlcyBgLS1mb3JgIHwKfCBgYXBpLWtl" + + "eSBnZW5lcmF0ZSAtLXZhbGlkYXRlYCB8IE1pbnQgYW5kIGltbWVkaWF0ZWx5IHZhbGlkYXRlIGVh" + + "Y2ggZ2VuZXJhdGVkIGtleSB8IFZhbGlkYXRlcyBlYWNoIGtleSBhZ2FpbnN0IGl0cyBjb3JyZWN0" + + "IGF1ZGllbmNlIChOVkNGIGZvciBmdW5jdGlvbiBrZXlzLCBOVkNUIGZvciB0YXNrIGtleXMpIHwK" + + "fCBgYXBpLWtleSBsaXN0YCB8IExpc3QgQVBJIGtleXMgZm9yIGN1cnJlbnQgb3duZXIgfCBMaXN0" + + "cyBOVkNGLXNjb3BlZCBrZXlzIG9ubHkgfAp8IGBhcGkta2V5IGRlbGV0ZSBLRVktSURgIC8gYGFw" + + "aS1rZXkgcmV2b2tlIEtFWS1JRGAgfCBSZW1vdmUgYW4gQVBJIGtleSB8ICoqQ29uZmlybSB3aXRo" + + "IHVzZXIqKiB8CnwgYGFwaS1rZXkgc2hvd2AgfCBTaG93IGN1cnJlbnRseSBzYXZlZCBBUEkga2V5" + + "IGZyb20gc3RhdGUgfCB8CgojIyBBZ2VudCBza2lsbAoKfCBDb21tYW5kIHwgUHVycG9zZSB8IE5v" + + "dGVzIHwKfC0tLXwtLS18LS0tfAp8IGBhZ2VudC1za2lsbCBpbnN0YWxsIFstLXRhcmdldD1ESVJd" + + "YCB8IEluc3RhbGwgYWxsIGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGludG8gYH4vLmNsYXVk" + + "ZS9za2lsbHMvYCBhbmQgYH4vLmFnZW50cy9za2lsbHMvYCB8IERlZmF1bHQ6IGJvdGggYmFzZSBz" + + "a2lsbHMgZGlyZWN0b3JpZXMgfAp8IGBhZ2VudC1za2lsbCB1bmluc3RhbGwgWy0tdGFyZ2V0PURJ" + + "Ul1gIHwgUmVtb3ZlIG9ubHkgYnVuZGxlZCBwdWJsaWMgdXNlciBza2lsbHMgZnJvbSB0aGUgdGFy" + + "Z2V0IGJhc2Ugc2tpbGxzIGRpcmVjdG9yaWVzIHwgSWRlbXBvdGVudDsgdW5yZWxhdGVkIHNraWxs" + + "cyByZW1haW4gfAp8IGBhZ2VudC1za2lsbCBzaG93IFstLWZpbGU9UkVMXWAgfCBQcmludCBidW5k" + + "bGVkIGBudmNmLXNlbGYtbWFuYWdlZC1jbGkvU0tJTEwubWRgIG9yIGFub3RoZXIgZW1iZWRkZWQg" + + "ZmlsZSB8IEZvciBkZWJ1Z2dpbmcgfAp8IGBhZ2VudC1za2lsbCB2ZXJzaW9uYCB8IFByaW50IGJ1" + + "aWxkIFNIQSBhbmQgZW1iZWRkZWQgcHVibGljIHVzZXIgc2tpbGwgc3VtbWFyeSB8IHwKUEsHCNF1" + + "wo8WJgAAFiYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMgAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtY2xpL3JlZmVyZW5jZS9leGl0LWNvZGVzLm1kVVQFAAEAps4SIyBgbnZjZi1jbGlgIGV4" + + "aXQgY29kZXMKClN0YWJsZSBhY3Jvc3Mgc3ViY29tbWFuZHMuIFVzZSB0aGVzZSB0byBkcml2ZSBh" + + "Z2VudCByZXRyeSAvIHN1cmZhY2luZyBsb2dpYy4KCnwgQ29kZSB8IE1lYW5pbmcgfCBFeGFtcGxl" + + "IGNhdXNlcyB8CnwtLS18LS0tfC0tLXwKfCBgMGAgfCBTdWNjZXNzIHwgQWxsIGNoZWNrcyBwYXNz" + + "ZWQ7IGluc3RhbGwgY29tcGxldGVkOyBkZXBsb3ltZW50IEFDVElWRSB8CnwgYDFgIHwgR2VuZXJp" + + "YyBlcnJvciB8IEhlbG0gcmVuZGVyIGZhaWxlZDsgbmV0d29yayB1bnJlYWNoYWJsZTsgZmlsZSBu" + + "b3QgZm91bmQ7IFlBTUwgcGFyc2UgZXJyb3IgfAp8IGAyYCB8IFByZS1mbGlnaHQgY2hlY2sgZmFp" + + "bGVkIHwgQSBgY2hlY2tgIHJlc3VsdCBhdCBlcnJvciBzZXZlcml0eTogR2F0ZXdheSBBUEkgQ1JE" + + "cyBtaXNzaW5nOyBrdWJlY3RsIG5vdCBvbiBQQVRIIHdpdGggYC0tcHJlYDsgZGVmYXVsdCBTdG9y" + + "YWdlQ2xhc3MgYWJzZW50OyBhIGNsdXN0ZXIgdGhlIENMSSBjYW5ub3QgcmVhY2ggKG1pc3Npbmcg" + + "a3ViZWNvbmZpZyBvciBjb250ZXh0LCBvciBhIGZpcnN0IEFQSSBjYWxsIHRoYXQgZmFpbHMgZm9y" + + "IGFueSByZWFzb246IHJlZnVzZWQgb3IgZHJvcHBlZCBjb25uZWN0aW9uLCByZWplY3RlZCBjcmVk" + + "ZW50aWFscywgYSBmYWlsaW5nIGNyZWRlbnRpYWwgcGx1Z2luLCBhIHNlcnZlciBlcnJvcik7IGEg" + + "Y2x1c3Rlci12YWxpZGF0b3IgdGhhdCBjb3VsZCBub3QgcnVuIChSQkFDIGRlbmllZCwgaW1hZ2Ug" + + "cHVsbCBmYWlsdXJlLCBpdHMgb3duIHRpbWVvdXQsIG5vIHRhZyBmb3VuZCBmb3IgYW4gdW50YWdn" + + "ZWQgaW1hZ2UpOyBhIGBzdGFsZS1uYW1lc3BhY2VzYCByb3cgbmFtaW5nIGEgbmFtZXNwYWNlIGBz" + + "dHVjayBUZXJtaW5hdGluZ2AuIFN1Y2ggYSByZXN1bHQgaXMgZXhpdCBgMmAgZXZlbiB3aGVuIHRo" + + "ZSB0aW1lIGJ1ZGdldCBjdXQgYW5vdGhlciBjaGVjayBzaG9ydC4gV2FybmluZy1zZXZlcml0eSBy" + + "ZXN1bHRzIGV4aXQgYDBgLCBpbmNsdWRpbmcgYSBuYW1lc3BhY2Ugc3RpbGwgZGVsZXRpbmcsIGEg" + + "SGVsbSByZWxlYXNlIGxlZnQgbWlkLW9wZXJhdGlvbiwgYSBuYW1lc3BhY2Ugd2l0aCBubyBIZWxt" + + "IHJlbGVhc2UsIGFuZCBhIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHNheWluZyBubyBgY2x1c3Rl" + + "cl92YWxpZGF0b3JfaW1hZ2VgIGlzIHNldCB8CnwgYDNgIHwgQWRtaW4gYXV0aCBmYWlsZWQgfCBO" + + "byB0b2tlbiArIGAtLW5vbi1pbnRlcmFjdGl2ZWAgc2V0OyBJQ01TIHJlamVjdGVkIEpXVDsgaW5p" + + "dCBlbmRwb2ludCB1bnJlYWNoYWJsZSB8CnwgYDVgIHwgTWFuaWZlc3QgYXBwbHkgb3IgYC0td2Fp" + + "dGAgdGltZWQgb3V0IHwgSGVsbSBpbnN0YWxsIHRpbWVvdXQ7IGNoZWNrIHBvbGxlZCBidXQgZGlk" + + "IG5vdCBwYXNzIGJlZm9yZSBEVVJBVElPTiwgaW5jbHVkaW5nIGEgcm9sbG91dCBzdGlsbCBpbiBw" + + "cm9ncmVzczsgdGhlIGNoZWNrJ3MgdGltZSBidWRnZXQgc3RvcHBlZCBhIGNoZWNrIHRoYXQgY2Fu" + + "IGZhaWwgdGhlIHJ1biBiZWZvcmUgaXQgZmluaXNoZWQgKGl0cyByb3cgc2F5cyBub3QgcnVuIG9y" + + "IGN1dCBzaG9ydCkgYW5kIG5vIG90aGVyIGNoZWNrIGZhaWxlZC4gQSBjdXQtc2hvcnQgcm93IGtl" + + "ZXBzIHRoZSB3b3JzdCBzZXZlcml0eSBpdHMgY2hlY2sgY2FuIHJlcG9ydCwgc28gYSBjaGVjayB0" + + "aGF0IGNhbiBvbmx5IHdhcm4sIHN1Y2ggYXMgYSByZWdpc3RyeSB0aGF0IGlzIG5vdCBjcml0aWNh" + + "bCwgc3RheXMgYSB3YXJuaW5nLiBBIGNoZWNrIHRoYXQgYWxyZWFkeSBoYWQgaXRzIHJlc3VsdCBr" + + "ZWVwcyBpdCwgc28gYSB2YWxpZGF0b3IncyBvd24gZmFpbHVyZSBpcyBleGl0IGAyYCB8CnwgYDEz" + + "MGAgfCBDYW5jZWxsZWQgYnkgU0lHSU5ULCBTSUdURVJNIG9yIFNJR0hVUCwgb3IgYnkgYSBxdWl0" + + "IGtleSBpbiB0aGUgYGNoZWNrIC0td2FpdGAgZGFzaGJvYXJkIHwgVXNlciBDdHJsLUM7IGBxYCwg" + + "YEVzY2Agb3IgYEN0cmwtQ2AgaW4gdGhlIGRhc2hib2FyZDsgQ0kgYnVkZ2V0IGV4Y2VlZGVkOyBw" + + "b2QgZXZpY3RlZDsgdGVybWluYWwgb3IgU1NIIHNlc3Npb24gY2xvc2VkLiBBIHNpZ25hbCBgY2hl" + + "Y2tgIHdhcyBzdGFydGVkIHdpdGggaWdub3JlZCBzdGF5cyBpZ25vcmVkLCBzbyBhIGBjaGVja2Ag" + + "cnVuIHVuZGVyIGBub2h1cGAgb3V0bGl2ZXMgdGhlIHNlc3Npb24gfAoKIyMgSG93IGFuIGFnZW50" + + "IHNob3VsZCByZWFjdAoKfCBDb2RlIHwgQWdlbnQgYmVoYXZpb3IgfAp8LS0tfC0tLXwKfCBgMGAg" + + "fCBDb250aW51ZSAvIHJlcG9ydCBzdWNjZXNzLiB8CnwgYDFgIHwgU3VyZmFjZSBzdGRlcnIgdG8g" + + "dXNlcjsgYXNrIGJlZm9yZSBhbnkgcmV0cnkuIEdlbmVyaWMgZXJyb3JzIHVzdWFsbHkgbmVlZCBh" + + "IGh1bWFuIHRvIHJlYWQgdGhlIG1lc3NhZ2UuIHwKfCBgMmAgfCBTdXJmYWNlIGZhaWxlZCBjaGVj" + + "a3MgKyB0aGVpciBgaGludFVSTGAuIERvbid0IHByb3Bvc2UgYHVwYCB1bnRpbCB0aGUgdXNlciBm" + + "aXhlcyBwcmVyZXFzLiB8CnwgYDNgIHwgU3VnZ2VzdCBgbnZjZi1jbGkgaW5pdGAgKGludGVyYWN0" + + "aXZlKSBPUiBgLS10b2tlbj0kSldUYCAoQ0kpLiBEb24ndCBhdXRvLW1pbnQgd2l0aG91dCB1c2Vy" + + "IE9LLiB8CnwgYDVgIHwgQXNrIHVzZXIgaWYgdGhleSB3YW50IHRvIHdhaXQgbG9uZ2VyLCBkaWcg" + + "aW50byB0aGUgc3RhbGxlZCBjb21wb25lbnQsIG9yIGNhbmNlbC4gfAp8IGAxMzBgIHwgRG9uJ3Qg" + + "cmV0cnkgYXV0b21hdGljYWxseTsgdXNlciBleHBsaWNpdGx5IGNhbmNlbGxlZC4gQ29uZmlybSBi" + + "ZWZvcmUgcmUtcnVubmluZy4gfAoKIyMgV2hlcmUgdG8gZmluZCBtb3JlIGRldGFpbAoKYGNoZWNr" + + "YCByZXBvcnRzIGl0cyBvdXRjb21lIGluIG9uZSBgZmluYWxgIGV2ZW50IChgc3VjY2Vzc2AsIGB2" + + "ZXJkaWN0YCwgYHRvdGFsQ2hlY2tzYCwgYHBhc3NlZENvdW50YCwgYGZhaWxlZENvdW50YCwgYHdh" + + "cm5pbmdDb3VudGApIGFuZCBuZXZlciBlbWl0cyBgcGhhc2VfZmFpbGVkYDsgc2VlIGBleGFtcGxl" + + "cy9jaS1waXBlbGluZXMubWRgLiBBIHVzYWdlIGVycm9yLCBzdWNoIGFzIGEgbWFsZm9ybWVkIGAt" + + "LXdhaXRgLCBleGl0cyBgMWAgYmVmb3JlIGFueSBldmVudC4gSXRzIGV4aXQgYDVgIGhhcyBgc3Vj" + + "Y2VzczogZmFsc2VgIGFuZCBgdmVyZGljdDogInRpbWVvdXQiYC4gQSBgY2hlY2tfY29tcGxldGVk" + + "YCBldmVudCBmb3IgYSB3YXJuaW5nIHRoYXQgYC0td2FpdGAgcG9sbHMgb24gY2FycmllcyBgdHJh" + + "bnNpZW50OiB0cnVlYCwgYW5kIG9uZSBmb3IgYSBjaGVjayB0aGUgdGltZSBidWRnZXQgc3RvcHBl" + + "ZCBjYXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2FuY2VsbGF0aW9uIChleGl0IGAxMzBgKSBl" + + "bWl0cyBgZmluYWxgIHdpdGggYGNhbmNlbGxlZDogdHJ1ZWAgaW5zdGVhZCBvZiBgcGhhc2VfZmFp" + + "bGVkYDsgYHVwYCBlbWl0cyBgcGhhc2VfY2FuY2VsbGVkYCBiZWZvcmUgaXQuIFdoZW4gYSBjbHVz" + + "dGVyLXZhbGlkYXRvciBydW4gbGVmdCBvYmplY3RzIGluIHRoZSBjbHVzdGVyIChgLS1uby1jbGVh" + + "bnVwYCwgYSBwb2QgdGhhdCB3b3VsZCBub3Qgc3RvcCwgb3IgYSBjbGVhbnVwIHRoYXQgZmFpbGVk" + + "KSwgYGNoZWNrYCBsaXN0cyB0aGUgY29tbWFuZHMgdGhhdCByZW1vdmUgdGhlbSBpbiB0aGUgYGZp" + + "bmFsYCBldmVudCdzIGBjbGVhbnVwYCBhcnJheSBhbmQgaW4gdGhhdCByb3cncyBgY2xlYW51cGAg" + + "ZmllbGQsIG9uIGV2ZXJ5IGV4aXQgY29kZSwgYW5kIHByaW50cyB0aGVtIGFnYWluIGFzIGl0cyBs" + + "YXN0IHN0ZGVyciBsaW5lcy4gT24gYW4gaW50ZXJydXB0IGl0IHByaW50cyB0aGVtIGF0IG9uY2Us" + + "IGJlZm9yZSBpdHMgb3duIGNsZWFudXAsIHdoaWNoIGEgc2Vjb25kIEN0cmwtQyBjdXRzIHNob3J0" + + "LiBFdmVyeSBvdGhlciBub24temVybyBleGl0IGVtaXRzIGEgc3RydWN0dXJlZCBgcGhhc2VfZmFp" + + "bGVkYCBKU09OIGV2ZW50IHdpdGggYGVyckNhdGVnb3J5YCwgYGVyck1lc3NhZ2VgLCBgcmVtZWRp" + + "YXRpb25gIChhcnJheSksIGByZXRyeUNsYXNzYCAoZW51bTogYG5vbmV8aW1tZWRpYXRlfGJhY2tv" + + "ZmZ8YWZ0ZXJfcmVtZWRpYXRpb258dW5rbm93bmApLCBgcmV0cnlBZnRlclNlY2AgKGludCwgb3B0" + + "aW9uYWwpLCBhbmQgYHJhd2AgKHN1YnByb2Nlc3MgKyBIVFRQICsgS3ViZXJuZXRlcyBzaWduYWwp" + + "LiBBbHdheXMgY29uc3VtZSB0aGVzZSBpbiBgLS1qc29uYCBtb2RlIHJhdGhlciB0aGFuIHBhcnNp" + + "bmcgRW5nbGlzaCBmcm9tIHN0ZGVyci4KUEsHCMn5RW9oEAAAaBAAAFBLAwQUAAgAAAAAACEAAAAA" + + "AAAAAAAAAAAALQAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS9mbGFncy5t" + + "ZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBmbGFnIHJlZmVyZW5jZQoKIyMgR2xvYmFsIGZsYWdzIChl" + + "dmVyeSBzdWJjb21tYW5kKQoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tY29uZmlnIEZJTEVgIHwgQ29uZmlnIGZpbGUgcGF0aCB8IGAkSE9NRS8ubnZjZi1j" + + "bGkueWFtbGAgfAp8IGAtLWRlYnVnYCB8IFZlcmJvc2UgSFRUUCBsb2dnaW5nIG9uIHN0ZGVyciB8" + + "IGBmYWxzZWAgfAp8IGAtLWpzb25gIHwgSlNPTkwgZXZlbnRzIG9uIHN0ZGVyciB8IGF1dG8gKG9m" + + "ZiBpbiBUVFksIG9uIHVuZGVyIGAtLW5vbi1pbnRlcmFjdGl2ZWApIHwKCiMjIGBzZWxmLWhvc3Rl" + + "ZGAgcGFyZW50IChwZXJzaXN0ZW50IGFjcm9zcyBzdWJjb21tYW5kcykKCnwgRmxhZyB8IFB1cnBv" + + "c2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWNvbnRyb2wtcGxhbmUtc3RhY2s9Li4u" + + "YCB8IENvbnRyb2wtcGxhbmUgYnVuZGxlIHNvdXJjZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3Ig" + + "YG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVSTCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8" + + "IGAtLWNvbXB1dGUtcGxhbmUtc3RhY2s9Li4uYCB8IENvbXB1dGUtcGxhbmUgYnVuZGxlIHNvdXJj" + + "ZTogbG9jYWwgcGF0aCwgZ2l0IFVSTCwgb3IgYG9jaTovL2AgVVJMIHwgZW1iZWRkZWQgT0NJIFVS" + + "TCBwaW5uZWQgYnkgQ0xJIHZlcnNpb24gfAp8IGAtLWVudj1sb2NhbFx8cHJkXHwuLi5gIHwgSGVs" + + "bWZpbGUgZW52aXJvbm1lbnQgbmFtZS4gYGNoZWNrYCByZWFkcyB0aGUgc3RhY2sncyBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgIG9ubHkgZm9yIGFuIGVudmlyb25tZW50IG5hbWVkIHdpdGggYC0t" + + "ZW52YCBvciBgSEVMTUZJTEVfRU5WYCwgb3IgZm9yIGEgcGxhbmUgYC0tcHJlYCBjaGVja3MgYmVm" + + "b3JlIGl0cyBpbnN0YWxsLCBzbyBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQ7IHNl" + + "ZSBbU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFja10oI3NldHRpbmdzLXJlYWQtZnJvbS10aGUt" + + "c3RhY2spIHwgYGxvY2FsYCB8CnwgYC0tbm9uLWludGVyYWN0aXZlYCB8IERpc2FibGUgYWxsIHN0" + + "ZGluIHByb21wdHMgfCBgZmFsc2VgIHwKfCBgLS10b2tlbj0kSldUYCB8IEFkbWluIEpXVCwgb3Zl" + + "cnJpZGVzIHN0b3JlZCBzZXNzaW9uIHwgLSB8CnwgYC0tbm8tYXBwbHlgIHwgYGluc3RhbGxgIG9u" + + "bHkgLSBlbWl0IFlBTUwsIGRvIG5vdCBrdWJlY3RsIGFwcGx5IHwgYGZhbHNlYCB8CnwgYC0tb3V0" + + "cHV0PXRleHRcfGpzb25gIHwgTGVnYWN5IGFsaWFzIGZvciBgLS1qc29uYCAoZGVwcmVjYXRlZCwg" + + "cmVtb3ZlZCBpbiBuZXh0IG1ham9yKSB8IGB0ZXh0YCB8CnwgYC0tcGxhaW5gIHwgRm9yY2UgcGxh" + + "aW4gc3RyZWFtaW5nIG91dHB1dCB8IGF1dG8tZGV0ZWN0IHwKfCBgLS13YWl0IERVUkFUSU9OYCB8" + + "IGBjaGVja2Agb25seTsgcnVuIHRoZSBjaGVja3MgYWdhaW4sIDVzIGFwYXJ0LCB1bnRpbCB0aGV5" + + "IHBhc3Mgb3IgRFVSQVRJT04gcnVucyBvdXQgKGV4aXQgYDVgLCBgZmluYWxgIHdpdGggYHN1Y2Nl" + + "c3M6IGZhbHNlYCkuIEVhY2ggcnVuIGluY2x1ZGVzIHRoZSBjbHVzdGVyLXZhbGlkYXRvciBKb2Is" + + "IHdoaWNoIGNhbiB0YWtlIHVwIHRvIDVtLCBzbyBhbGxvdyBmb3IgaXQgb3IgcGFzcyBgLS1za2lw" + + "LWNsdXN0ZXItdmFsaWRhdGlvbmAuIEEgd2FybmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGNsZWFy" + + "LCBzdWNoIGFzIGEgcm9sbG91dCBpbiBwcm9ncmVzcywga2VlcHMgaXQgcG9sbGluZywgYW5kIGl0" + + "cyBgY2hlY2tfY29tcGxldGVkYCBldmVudCBjYXJyaWVzIGB0cmFuc2llbnQ6IHRydWVgLiBBIGNo" + + "ZWNrIHRoZSB0aW1lIGJ1ZGdldCBzdG9wcGVkIGtlZXBzIGl0IHBvbGxpbmcgdG9vLCBhbmQgaXRz" + + "IGV2ZW50IGNhcnJpZXMgYGN1dFNob3J0OiB0cnVlYC4gQSBjaGVjayB0aGF0IGNhbiBvbmx5IHdh" + + "cm4gYW5kIGlzIHN0b3BwZWQgb24gdHdvIHBvbGxzIGluIGEgcm93IGVuZHMgdGhlIHdhaXQgYXMg" + + "YSBzaW5nbGUgcnVuIHdvdWxkOiBleGl0IGAwYCB3aXRoIHRoZSB3YXJuaW5nLiBDYW5ub3QgYmUg" + + "Y29tYmluZWQgd2l0aCBgLS1uby1jbGVhbnVwYC4gQSBtYWxmb3JtZWQgb3Igbm9uLXBvc2l0aXZl" + + "IERVUkFUSU9OIGlzIGEgdXNhZ2UgZXJyb3IgKGV4aXQgYDFgLCBubyBldmVudHMpIHwgLSB8Cnwg" + + "YC0tY29udHJvbC1wbGFuZS1jb250ZXh0IENUWGAgfCBrdWJlY3RsIGNvbnRleHQgZm9yIGNvbnRy" + + "b2wgcGxhbmUgKFJFUS0yMCkgfCBjdXJyZW50IGNvbnRleHQgfAp8IGAtLWNvbXB1dGUtcGxhbmUt" + + "Y29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb21wdXRlIHBsYW5lIChSRVEtMjAp" + + "IHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1pY21zLXVybCBVUkxgIHwgUHVibGljIElDTVMgVVJM" + + "OyByZXF1aXJlZCB3aGVuIGNvbnRleHRzIGRpZmZlci4gYGNoZWNrYCBwcm9iZXMgU0lTIG9ubHkg" + + "YXQgYSBVUkwgc2V0IGhlcmUsIGluIGBOVkNGX0lDTVNfVVJMYCBvciBgTlZDRl9TSVNfVVJMYCwg" + + "b3IgaW4gdGhlIGNvbmZpZyBhcyBgaWNtc191cmxgIG9yIGBiYXNlX2h0dHBfdXJsYCwgYW5kIG5v" + + "dCBhdCBvbmUgZGVyaXZlZCBmcm9tIGEgYGJhc2VfaHR0cF91cmxgIG9uIE5WSURJQSdzIGhvc3Rl" + + "ZCBgbnZjZi5udmlkaWEuY29tYCwgYXMgdGhlIGNvbmZpZyB0ZW1wbGF0ZSdzIGlzOyB3aXRoIG5v" + + "bmUsIGl0cyBgc2lzLXJlYWNoYWJpbGl0eWAgcm93IGlzIGEgd2FybmluZyB8IGRlcml2ZWQgZnJv" + + "bSBgYmFzZV9odHRwX3VybGAgfAp8IGAtLWxvY2FsLW9ubHlgIHwgYGNoZWNrYCBvbmx5OyBydW4g" + + "dGhlIGxvY2FsLWhvc3QgY2hlY2tzIGFuZCBza2lwIGFsbCBjbHVzdGVyIGFuZCByZWdpc3RyeSBj" + + "b250YWN0LCB3aGF0ZXZlciBzY29wZSBmbGFnIGlzIHBhc3NlZC4gVGhlIHJlZ2lzdHJ5IGNyZWRl" + + "bnRpYWwgY2hlY2sgYW5kIGVhY2ggc2VsZWN0ZWQgcm9sZSdzIGNsdXN0ZXIgY2hlY2tzIGFyZSBy" + + "ZXBvcnRlZCBhcyByb3dzIHRoYXQgcGFzcyBhdCBpbmZvIGFuZCBzYXkgYHNraXBwZWQgKC0tbG9j" + + "YWwtb25seSlgLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX0xPQ0FMX09OTFlgLCBvbiB3aXRo" + + "IGB0cnVlYCwgYDFgLCBgeWVzYCwgYHlgIG9yIGBvbmAgYW5kIG9mZiB3aXRoIGBmYWxzZWAsIGAw" + + "YCwgYG5vYCwgYG5gIG9yIGBvZmZgLCBpbiBhbnkgY2FzZS4gQW55IG90aGVyIHZhbHVlIGlzIGFu" + + "IGVycm9yIHwgYGZhbHNlYCB8CgojIyBgY2hlY2tgLXNwZWNpZmljCgpBdCBsZWFzdCBvbmUgb2Yg" + + "YC0tcHJlYCwgYC0tY29udHJvbC1wbGFuZWAsIGAtLWNvbXB1dGUtcGxhbmVgLCBvciBgLS1hbGxg" + + "IGlzCnJlcXVpcmVkLiBgLS1wcmVgIHNlbGVjdHMgYm90aCByb2xlczsgZWFjaCBvdGhlciBmbGFn" + + "IHNlbGVjdHMgaXRzIG93bi4gT25seQp0aGUgc2VsZWN0ZWQgcm9sZXMgY29udGFjdCBhIGNsdXN0" + + "ZXIuIFBhc3MgYm90aCBjb250ZXh0IGZsYWdzIG9yIG5laXRoZXI6CndpdGhvdXQgdGhlbSBldmVy" + + "eSBzZWxlY3RlZCByb2xlIGNoZWNrcyB0aGUgY3VycmVudCBrdWJlY29uZmlnIGNvbnRleHQuCgp8" + + "IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1wcmVgIHwgUHJl" + + "LWZsaWdodDogbG9jYWwtaG9zdCB0b29scyBwbHVzIGNsdXN0ZXIgcmVhZGluZXNzLiBTa2lwcyBT" + + "SVMgcmVhY2hhYmlsaXR5LCBzaW5jZSBTSVMgaXMgbm90IGluc3RhbGxlZCB5ZXQsIHVubGVzcyBg" + + "LS1hbGxgIG9yIGAtLWNvbXB1dGUtcGxhbmVgIGlzIGFsc28gcGFzc2VkLiBXaXRoIGAtLWFsbGAs" + + "IG9yIHdpdGggYSByb2xlJ3Mgb3duIGZsYWcsIHRoYXQgcm9sZSdzIHZhbGlkYXRvciBjaGVja3Mg" + + "dGhlIGNsdXN0ZXIgYXMgaW5zdGFsbGVkLiBBIG1pc3Npbmcgb3IgdW5zdXBwb3J0ZWQgYGt1YmVj" + + "dGxgLCBgaGVsbWZpbGVgIG9yIGBoZWxtYCBmYWlscyBvbmx5IHdpdGggYC0tcHJlYDsgb3RoZXIg" + + "c2NvcGVzIGNoZWNrIGFuIGluc3RhbGxlZCBzdGFjaywgd2hpY2ggcnVucyBub25lIG9mIHRoZW0s" + + "IHNvIGl0IHdhcm5zIHwgYGZhbHNlYCB8CnwgYC0tY29udHJvbC1wbGFuZWAgfCBDaGVjayB0aGUg" + + "aW5zdGFsbGVkIGNvbnRyb2wgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMgYW5kIHRoZSBjb250" + + "cm9sLXBsYW5lIGNsdXN0ZXItdmFsaWRhdG9yLiBOZXZlciBwcm9iZXMgU0lTIHwgYGZhbHNlYCB8" + + "CnwgYC0tY29tcHV0ZS1wbGFuZWAgfCBDaGVjayB0aGUgaW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6" + + "IGxlZnRvdmVyIG5hbWVzcGFjZXMsIG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxp" + + "dHkgYXQgYSBjb25maWd1cmVkIElDTVMgVVJMLCBhbmQgdGhlIGNvbXB1dGUtcGxhbmUgY2x1c3Rl" + + "ci12YWxpZGF0b3IgfCBgZmFsc2VgIHwKfCBgLS1hbGxgIHwgQm90aCBgLS1jb250cm9sLXBsYW5l" + + "YCBhbmQgYC0tY29tcHV0ZS1wbGFuZWAsIFNJUyByZWFjaGFiaWxpdHkgaW5jbHVkZWQsIHdpdGgg" + + "b3Igd2l0aG91dCBgLS1wcmVgIHwgYGZhbHNlYCB8CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwg" + + "Q2x1c3RlciBuYW1lIHNob3duIGluIHRoZSBvdXRwdXQgaGVhZGVyLiBObyBjaGVjayB1c2VzIGl0" + + "LCBhbmQgYGNoZWNrYCBkb2VzIG5vdCByZXF1aXJlIGl0IHwgLSB8CnwgYC0tc2tpcC1pbm90aWZ5" + + "LWNoZWNrYCB8IFNraXAgdGhlIHBlci1ub2RlIGlub3RpZnktbGltaXRzIHByb2JlLiBOZWVkZWQg" + + "d2hlbiB0aGUga3ViZWNvbmZpZyB1c2VyIGNhbm5vdCBjcmVhdGUgcG9kcyBpbiBgZGVmYXVsdGAs" + + "IG9yIHdoZW4gdGhlIHByb2JlIGltYWdlIGlzIG9uIGEgcmVnaXN0cnkgdGhhdCBuZWVkcyBjcmVk" + + "ZW50aWFscywgc2luY2UgdGhlIHByb2JlIHBvZHMgZ2V0IG5vIHB1bGwgc2VjcmV0LiBJdHMgYG5v" + + "ZGUtaW5vdGlmeS1saW1pdHNgIHJvdyBwYXNzZXMgYXQgaW5mbyBhbmQgc2F5cyBpdCB3YXMgc2tp" + + "cHBlZC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9TS0lQX0lOT1RJRllgLCBvbiB3aXRoIGB0" + + "cnVlYCwgYDFgLCBgeWVzYCwgYHlgIG9yIGBvbmAgYW5kIG9mZiB3aXRoIGBmYWxzZWAsIGAwYCwg" + + "YG5vYCwgYG5gIG9yIGBvZmZgLCBpbiBhbnkgY2FzZS4gQW55IG90aGVyIHZhbHVlIGlzIGFuIGVy" + + "cm9yIHwgYGZhbHNlYCB8CgojIyMgQ2x1c3Rlci12YWxpZGF0b3IgZmxhZ3MKClRoZSB2YWxpZGF0" + + "b3IgcnVucyBhcyBhIEpvYiBpbiB0aGUgY2x1c3RlciBiZWluZyBjaGVja2VkLiBUaGUgQ0xJIGNy" + + "ZWF0ZXMgYQpTZXJ2aWNlQWNjb3VudCwgQ2x1c3RlclJvbGUsIGFuZCBDbHVzdGVyUm9sZUJpbmRp" + + "bmcgZm9yIGl0LCBwbHVzIGEgUm9sZSBhbmQKUm9sZUJpbmRpbmcgaW4gYGRlZmF1bHRgIHRoYXQg" + + "bGV0IGl0IHJlYWQgb25seSBpdHMgb3duIENvbmZpZ01hcCwgYW5kIHJlbW92ZXMKdGhlbSBhZnRl" + + "ciB0aGUgcnVuLCBzbyB0aGUga3ViZWNvbmZpZyBjb250ZXh0IG5lZWRzIHBlcm1pc3Npb24gdG8g" + + "bWFuYWdlIHRob3NlLgpJdCByZWFkcyB0aGUgdmFsaWRhdG9yJ3MgdHJhbnNjcmlwdCB3aXRoIGBn" + + "ZXRgIG9uIGBwb2RzL2xvZ2AgaW4gYGRlZmF1bHRgLgpXaXRob3V0IGl0LCBhIHZhbGlkYXRvciBK" + + "b2IgdGhhdCBzdWNjZWVkZWQgc3RpbGwgcGFzc2VzLCBhbmQgaXRzIHJvdyBzYXlzIHRoZQp0cmFu" + + "c2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkLCBzbyBuZWl0aGVyIHRoZSBjaGVja3MgaXQgcmFuIG5v" + + "ciB3YXJuaW5ncyBpdApyZXBvcnRlZCBhcmUgc2hvd24uClRoZSBDbHVzdGVyUm9sZSBncmFudHMg" + + "b25seSB0aGUgY2FsbHMgZWFjaCByb2xlJ3MgY2hlY2tzIG1ha2U6IHJlYWRzLCB0aGUKbmFtZXNw" + + "YWNlLCBEYWVtb25TZXQgYW5kIHBvZCB3cml0ZXMgb2YgdGhlIGNvbnRyb2wtcGxhbmUgbm9kZS10" + + "by1ub2RlIHByb2JlLAphbmQgZGVsZXRpbmcgdGVzdCBuYW1lc3BhY2VzIGFuIGVhcmxpZXIgdmFs" + + "aWRhdG9yIHJ1biBsZWZ0IGJlaGluZC4KCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0t" + + "LXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWltYWdlIFJFRmAgfCBWYWxpZGF0b3Ig" + + "aW1hZ2UuIFJlc29sdXRpb24gb3JkZXI6IGZsYWcsIGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRP" + + "Ul9JTUFHRWAsIGNvbmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2ltYWdlYC4gQSByZWYgd2l0" + + "aCBubyB0YWcgZGlzY292ZXJzIHRoZSBsYXRlc3Qgc3RhYmxlIHRhZyBmcm9tIHRoZSByZWdpc3Ry" + + "eS4gSWYgbm8gdGFnIGNhbiBiZSBkaXNjb3ZlcmVkLCB0aGUgdmFsaWRhdG9yIGRvZXMgbm90IHJ1" + + "biBhbmQgaXRzIHJvdyBmYWlscyB0aGUgY2hlY2ssIHNheWluZyB0byBwaW4gYSB0YWc7IGAtLXdh" + + "aXRgIHRyaWVzIGFnYWluIG9uIGV2ZXJ5IHBvbGwuIFVuc2V0IGV2ZXJ5d2hlcmUsIHRoZSB2YWxp" + + "ZGF0b3IgZG9lcyBub3QgcnVuIGFuZCBlYWNoIHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJv" + + "dyBpcyBhIHdhcm5pbmcsIHNvIHRoZSB2ZXJkaWN0IGlzIGB3YXJuaW5nc2AgfCAtIHwKfCBgLS1j" + + "bHVzdGVyLXZhbGlkYXRvci1yZWdpc3RyaWVzIGhvc3RbOnBvcnRdWy9wYXRoXSwuLi5gIHwgRXh0" + + "cmEgcmVnaXN0cmllcyB0byBjaGVjazogdGhlaXIgY3JlZGVudGlhbHMgZnJvbSB0aGlzIG1hY2hp" + + "bmUsIGFuZCB0aGVpciByZWFjaGFiaWxpdHkgZnJvbSBhIHBvZCBvZiB0aGUgY29udHJvbC1wbGFu" + + "ZSB2YWxpZGF0b3IuIEEgcGF0aCBzY29wZXMgdGhlIGNyZWRlbnRpYWwgY2hlY2ssIGFzIGluIGBo" + + "YXJib3IuZXhhbXBsZS5jb20vbnZjZmAuIFRoZXkgYXJlIGFkZGVkIHRvIHRoZSByZWdpc3RyaWVz" + + "IHRoZSBpbnN0YWxsIHB1bGxzIGZyb206IHRoZSB2YWxpZGF0b3IgaW1hZ2UncyByZWdpc3RyeSwg" + + "dGhlIHN0YWNrJ3MgYGdsb2JhbC5pbWFnZS5yZWdpc3RyeWAgYW5kIGBnbG9iYWwuaW1hZ2UucmVw" + + "b3NpdG9yeWAsIGl0cyBPQ0kgY2hhcnQgc291cmNlLCBhbmQgYHF1YXkuaW9gIGZvciB0aGUgY2Vy" + + "dC1tYW5hZ2VyIEFDTUUgc29sdmVyIHVubGVzcyB0aGUgc3RhY2sgbGVhdmVzIGNlcnQtbWFuYWdl" + + "ciBvdXQgb3Igc2V0cyBgY2VydE1hbmFnZXIuYWNtZXNvbHZlci5pbWFnZWAuIGBudmNyLmlvYCBp" + + "cyBwcm9iZWQsIGFzIGEgd2FybmluZyBvbmx5LCB3aGVuIG5laXRoZXIgdGhlIGltYWdlIG5vciB0" + + "aGUgc3RhY2sgbmFtZXMgYSByZWdpc3RyeS4gVGhlIGluLXBvZCBwcm9iZXMgbGVhdmUgb3V0IGEg" + + "cmVnaXN0cnkgb25seSB0aGUgY2hhcnRzIGNvbWUgZnJvbSwgc2luY2UgYGhlbG1gIHB1bGxzIHRo" + + "ZW0gb24gdGhpcyBtYWNoaW5lLCBhbmQgYXJlIHdhcm5pbmdzIG9ubHksIHNpbmNlIHRoZSBwb2Qg" + + "aGFzIG5vIHByb3h5LiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0" + + "YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9S" + + "X1JFR0lTVFJJRVNgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9yZWdpc3RyaWVzYCwg" + + "YSBsaXN0IG9mIHN0cmluZ3MgaW4gdGhpcyBmb3JtIHwgLSB8CnwgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItcHJvYmUtaW1hZ2UgUkVGYCB8IEltYWdlIGZvciB0aGUgbm9kZSBpbm90aWZ5IHByb2JlIGFu" + + "ZCB0aGUgY29udHJvbC1wbGFuZSB2YWxpZGF0b3IncyBub2RlLXRvLW5vZGUgb3ZlcmxheSBwcm9i" + + "ZS4gTmVlZHMgYHNoYCBhbmQgYSBidXN5Ym94LXN0eWxlIGBuY2AuIFNldCBhIG1pcnJvciBmb3Ig" + + "YWlyLWdhcHBlZCBjbHVzdGVycy4gRW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfUFJP" + + "QkVfSU1BR0VgOyBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9wcm9iZV9pbWFnZWAgfCBg" + + "YnVzeWJveDoxLjM2YCBmcm9tIERvY2tlciBIdWIgfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4" + + "dGVybmFsLWNvbXBvbmVudHMgTkFNRSwuLi5gIHwgU3RhY2sgZGVwZW5kZW5jaWVzIHRoYXQgcnVu" + + "IG91dHNpZGUgdGhlIHN0YWNrLCBvciBub3QgYXQgYWxsLCBzbyB0aGUgdmFsaWRhdG9yIGRvZXMg" + + "bm90IGxvb2sgZm9yIHRoZW0gaW4gdGhlIGNsdXN0ZXI6IGEgc3Vic2V0IG9mIGBuYXRzYCwgYG9w" + + "ZW5iYW9gIGFuZCBgY2Fzc2FuZHJhYC4gQW4gdW5rbm93biBuYW1lIGZhaWxzIHRoZSBjb21tYW5k" + + "LiBSZXBlYXRhYmxlIG9yIGNvbW1hLXNlcGFyYXRlZC4gRmFsbHMgYmFjayB0byBgTlZDRl9FWFRF" + + "Uk5BTF9DT01QT05FTlRTYCwgdGhlbiB0byB0aGUgY29tcG9uZW50cyB3aG9zZSBgPG5hbWU+LmVu" + + "YWJsZWRgIHRoZSBzdGFjaydzIGVudmlyb25tZW50IGZpbGUgc2V0cyB0byBhbnl0aGluZyBidXQg" + + "YHRydWVgLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9FWFRFUk5BTF9DT01QT05F" + + "TlRTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfZXh0ZXJuYWxfY29tcG9uZW50c2As" + + "IGEgbGlzdCBvZiBuYW1lcyB8IGZyb20gdGhlIHN0YWNrIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRv" + + "ci10b2xlcmF0aW9ucyBrZXlbPXZhbHVlXVs6ZWZmZWN0XSwuLi5gIHwgVG9sZXJhdGlvbnMgYWRk" + + "ZWQgdG8gdGhlIHZhbGlkYXRvciBKb2IsIGJlc2lkZSB0aGUgY29udHJvbC1wbGFuZSBvbmVzIGl0" + + "IGFsd2F5cyBjYXJyaWVzLCBmb3IgY2x1c3RlcnMgd2hvc2Ugbm9kZXMgdXNlIG90aGVyIHRhaW50" + + "cy4gRWZmZWN0IGlzIGBOb1NjaGVkdWxlYCwgYFByZWZlck5vU2NoZWR1bGVgIG9yIGBOb0V4ZWN1" + + "dGVgLiBBIG1hbGZvcm1lZCBlbnRyeSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0YWJsZSBvciBj" + + "b21tYS1zZXBhcmF0ZWQuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1RPTEVSQVRJ" + + "T05TYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfdG9sZXJhdGlvbnNgLCBhIGxpc3Qg" + + "b2Ygc3RyaW5ncyBpbiB0aGlzIGZvcm0sIG5vdCBLdWJlcm5ldGVzIHRvbGVyYXRpb24gb2JqZWN0" + + "cyB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXB1bGwtc2VjcmV0IE5BTUVgIHwgZG9ja2Vy" + + "LXJlZ2lzdHJ5IFNlY3JldCBpbiBgZGVmYXVsdGAgdXNlZCB0byBwdWxsIHRoZSB2YWxpZGF0b3Ig" + + "aW1hZ2UuIFdoZW4gZW1wdHksIHRoZSBDTEkgdXNlcyBhIFNlY3JldCBhbiBvcGVyYXRvciBjcmVh" + + "dGVkIGluIGBkZWZhdWx0YCBmb3IgdGhlIGltYWdlJ3MgcmVnaXN0cnkuIEZhaWxpbmcgdGhhdCwg" + + "aXQgY29waWVzIHRoZSByZWdpc3RyeSdzIGVudHJ5LCBhbmQgb25seSB0aGF0IGVudHJ5LCBmcm9t" + + "IGEgU2VjcmV0IGluIHRoZSBOVkNGIG5hbWVzcGFjZXMgaW50byBgZGVmYXVsdGAgZm9yIHRoZSBy" + + "dW4uIEZhaWxpbmcgdGhhdCwgaXQgY3JlYXRlcyBvbmUgZm9yIHRoZSBydW4gZnJvbSB0aGlzIG1h" + + "Y2hpbmUncyBjcmVkZW50aWFsIGZvciB0aGUgcmVnaXN0cnksIHRoZSBvbmUgdGhlIGByZWdpc3Ry" + + "eS1jcmVkZW50aWFsc2Agcm93IGNoZWNrcy4gVGhlIHZhbGlkYXRvciByb3cncyBkZXRhaWwgc2F5" + + "cyB3aGF0IHdhcyBjb3BpZWQgb3IgY3JlYXRlZCwgYW5kIGZyb20gd2hlcmUgfCBhdXRvLWRldGVj" + + "dCB8CnwgYC0tc2tpcC1jbHVzdGVyLXZhbGlkYXRpb25gIHwgU2tpcCB0aGUgaW4tY2x1c3RlciB2" + + "YWxpZGF0b3IgcHJvYmUgZW50aXJlbHkuIEEgdmFsaWRhdG9yIHRoYXQgaXMgY29uZmlndXJlZCBi" + + "dXQgY2Fubm90IHJ1biBmYWlscyB0aGUgY2hlY2ssIHNvIHVzZSB0aGlzIHRvIG9wdCBvdXQgZXhw" + + "bGljaXRseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgY2x1c3RlciBjYW5ub3QgcHVsbCB0aGUgaW1h" + + "Z2UuIEVhY2ggcm9sZSdzIGBjbHVzdGVyLXZhbGlkYXRvcmAgcm93IHRoZW4gcGFzc2VzIGF0IGlu" + + "Zm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVudjogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJ" + + "UF9DTFVTVEVSX1ZBTElEQVRJT05gLCBvbiB3aXRoIGB0cnVlYCwgYDFgLCBgeWVzYCwgYHlgIG9y" + + "IGBvbmAgYW5kIG9mZiB3aXRoIGBmYWxzZWAsIGAwYCwgYG5vYCwgYG5gIG9yIGBvZmZgLCBpbiBh" + + "bnkgY2FzZS4gQW55IG90aGVyIHZhbHVlIGlzIGFuIGVycm9yIHwgYGZhbHNlYCB8CnwgYC0tbm8t" + + "Y2xlYW51cGAgfCBLZWVwIHRoZSB2YWxpZGF0b3IgSm9iLCBpdHMgcG9kLCBSQkFDLCBwdWxsIHNl" + + "Y3JldCBhbmQgQ29uZmlnTWFwIGZvciBkZWJ1Z2dpbmcuIEEga2VwdCBKb2Igd2hvc2UgcG9kIGNh" + + "bm5vdCBwdWxsIGl0cyBpbWFnZSBpcyBzdXNwZW5kZWQsIHNvIGl0cyBwb2QgaXMgZGVsZXRlZCBy" + + "YXRoZXIgdGhhbiByZXRyeWluZyBmb3JldmVyOyBpbnNwZWN0IGl0IHdpdGggYGt1YmVjdGwgZGVz" + + "Y3JpYmUgam9iYC4gQSBsYXRlciBjaGVjayB0aGF0IHJ1bnMgdGhlIHZhbGlkYXRvciByZW1vdmVz" + + "IHRoZW0gb25jZSB0aGV5IGFyZSAyNCBob3VycyBvbGQuIFRoZSByb3csIHRoZSBgZmluYWxgIGV2" + + "ZW50J3MgYGNsZWFudXBgIGxpc3QgYW5kIHRoZSBsYXN0IHN0ZGVyciBsaW5lcyBwcmludCB0aGUg" + + "Y29tbWFuZCB0aGF0IHJlbW92ZXMgdGhlbSBub3cuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAt" + + "LXdhaXRgIHwgYGZhbHNlYCB8CnwgYC0tc2hvdy1sb2dzYCB8IFByaW50IGVhY2ggdmFsaWRhdG9y" + + "IHRyYW5zY3JpcHQgdG8gc3RkZXJyIGFmdGVyIHRoZSBjaGVjayBldmVudHMsIGZyYW1lZCBieSBg" + + "LS0tIGNsdXN0ZXItdmFsaWRhdG9yIGxvZ3MgKDxjYXRlZ29yeT4pIC0tLWAgYW5kIGEgbWF0Y2hp" + + "bmcgZW5kIGxpbmUsIHdoZXJlIHRoZSBjYXRlZ29yeSBpcyBgY29udHJvbC1wbGFuZS1jbHVzdGVy" + + "YCBvciBgY29tcHV0ZS1wbGFuZS1jbHVzdGVyYC4gVGhlIHRyYW5zY3JpcHQgaXMgbm90IEpTT04s" + + "IGFuZCBgLS1qc29uYCBhbHNvIHdyaXRlcyB0byBzdGRlcnIsIHNvIGxlYXZlIHRoaXMgb2ZmIHdo" + + "ZW4gYSBwYXJzZXIgaXMgcmVhZGluZyB0aGUgc3RyZWFtIHwgYGZhbHNlYCB8CgojIyMgUmVnaXN0" + + "cnkgY3JlZGVudGlhbHMKCmBjaGVja2AgcHJvYmVzIGVhY2ggcmVnaXN0cnkgYWJvdmUgZnJvbSB0" + + "aGlzIG1hY2hpbmUgd2l0aCBpdHMgbG9jYWwKY3JlZGVudGlhbCwgdGhlIG9uZSBgZG9ja2VyYCB3" + + "b3VsZCB1c2U6IGAkRE9DS0VSX0NPTkZJRy9jb25maWcuanNvbmAsIG9yCmB+Ly5kb2NrZXIvY29u" + + "ZmlnLmpzb25gLCB0aHJvdWdoIGFueSBgY3JlZHNTdG9yZWAgb3IgYGNyZWRIZWxwZXJzYCBoZWxw" + + "ZXIuCkZvciBgbnZjci5pb2AgdGhlIE5HQyBBUEkga2V5IGlzIGFsc28gcmVhZCwgZnJvbSB0aGUg" + + "Zmlyc3Qgb2YKYE5HQ19JTUFHRV9QVUxMX0FQSV9LRVlgLCBgTlZDRl9OR0NSX0FQSV9LRVlgLCBg" + + "TlZDRl9OR0NfQVBJX0tFWWAgYW5kCmBOR0NfQVBJX0tFWWAgdGhhdCBpcyBzZXQuIEl0IGdvZXMg" + + "YWhlYWQgb2YgdGhlIGRvY2tlciBsb2dpbiBvbmx5IHdoZW4gdGhlCnJlZ2lzdHJ5IGNoZWNrJ3Mg" + + "cGxhbmUsIGJlbG93LCBpcyB0aGUgY29udHJvbCBwbGFuZSwgY2hlY2tlZCBiZWZvcmUgaXRzCmlu" + + "c3RhbGwgd2l0aCB0aGUgYGxvY2FsYCBlbnZpcm9ubWVudCwgc2luY2UgYHVwYCBjcmVhdGVzIGl0" + + "cyBwdWxsIHNlY3JldHMKZnJvbSBpdCwgYW5kIGl0IGlzIG5ldmVyIHNlbnQgdG8gYW5vdGhlciBy" + + "ZWdpc3RyeS4gVGhlcmUgdGhlIGRvY2tlciBsb2dpbiBpcwpzdGlsbCBzZW50IGZvciB0aGUgcm93" + + "IHRoZSBzdGFjaydzIGNoYXJ0cyBjb21lIGZyb20sIGJlbG93LCBhbmQgZ3JhZGVkIGFzCmVsc2V3" + + "aGVyZSwgc2luY2UgYGhlbG1gIHB1bGxzIHRoZSBjaGFydHMgd2l0aCBpdC4gRWxzZXdoZXJlIHRo" + + "ZSBrZXkKaXMgc2VudCB3aGVuIHRoZXJlIGlzIG5vIGRvY2tlciBsb2dpbiwgb3IgZm9yIGEgcmVw" + + "b3NpdG9yeSB3aGVyZSBgbnZjci5pb2AKcmVqZWN0cyB0aGUgZG9ja2VyIGxvZ2luIChhIDQwMSkg" + + "b3IgZ2l2ZXMgaXQgbm8gYWNjZXNzIChhIDQwMykuIFRoaXMgaXMKZGVjaWRlZCBvbmNlIHBlciBy" + + "ZXBvc2l0b3J5LCBiZWZvcmUgdGFnIGRpc2NvdmVyeSwgdGhlIHJvdyBhbmQgdGhlCnZhbGlkYXRv" + + "cidzIHB1bGwgc2VjcmV0IHVzZSBpdCwgc28gYWxsIHRocmVlIGdldCB0aGUgc2FtZSBjcmVkZW50" + + "aWFsLCBhbmQgYQpsb2dpbiB3aXRoIG5vIGFjY2VzcyB0byBvbmUgb3JnIHN0aWxsIHNlcnZlcyB0" + + "aGUgb3JncyBpdCByZWFjaGVzLiBBIDQwMyBpcwpyZXBvcnRlZCBhcyBubyBhY2Nlc3MgdG8gdGhh" + + "dCByZXBvc2l0b3J5LCBuZXZlciBhcyBhIHJlamVjdGVkIGxvZ2luLiBFYWNoCmAtLXdhaXRgIHBv" + + "bGwgcmVhZHMgdGhlIGNyZWRlbnRpYWxzIGFnYWluLCBzbyBhIGxvZ2luIHJlbmV3ZWQgd2hpbGUg" + + "dGhlIHJ1bgp3YWl0cyBjb3VudHMgb24gdGhlIG5leHQgcG9sbC4KClRoZSBwcm9iZSBhc2tzIGZv" + + "ciBwdWxsIGFjY2VzcyB0byB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVwb3NpdG9yeSBhbmQgdG8g" + + "dGhlCnN0YWNrJ3MgaW1hZ2UgcGF0aDogYW55IHBhdGggaW4gYGdsb2JhbC5pbWFnZS5yZWdpc3Ry" + + "eWAsIHRoZW4KYGdsb2JhbC5pbWFnZS5yZXBvc2l0b3J5YC4gQSBzdGFjayBwYXRoIG9mIG9uZSBz" + + "ZWdtZW50LCBzdWNoIGFzIGFuIG9yZyB3aXRoIG5vCnRlYW0sIGlzIG5vdCBzZW50IGFzIHRoZSBz" + + "Y29wZSwgc2luY2UgYG52Y3IuaW9gIHJlZnVzZXMgaXQuIFRoZSBzdGFjaydzIE9DSQpjaGFydCBz" + + "b3VyY2UsIGBnbG9iYWwuaGVsbS5zb3VyY2VzLnJlZ2lzdHJ5YCBhbmQgYC5yZXBvc2l0b3J5YCwg" + + "cmVhZCB0aGUgc2FtZQp3YXksIGlzIHRoZSByb3cgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBwdWxs" + + "cyB0aGUgc3RhY2sncyBjaGFydHMgZnJvbSwgd2l0aCB0aGUKZG9ja2VyIGxvZ2luOiB0aGUgaW1h" + + "Z2Ugcm93IHdoZW4gaXQgaXMgdGhlIHNhbWUgcGF0aCwgZWxzZSBhIHJvdyBvZiBpdHMgb3duLApj" + + "cml0aWNhbCBmb3IgYW4gTlZJRElBIHJlZ2lzdHJ5IGxpa2UgdGhlIGltYWdlIHJvdy4gQW4gSFRU" + + "UFMgY2hhcnQgc291cmNlLApgZ2xvYmFsLmhlbG0uc291cmNlcy51cmxgLCBoYXMgY3JlZGVudGlh" + + "bHMgb2YgaXRzIG93biBhbmQgZ2V0cyBubyByb3cuCgpUaGUgcmVnaXN0cnkgY2hlY2sgYmVsb25n" + + "cyB0byBvbmUgcGxhbmUsIHdob3NlIHN0YWNrIG5hbWVzIHRoZSByZWdpc3RyaWVzCmFuZCB3aG9z" + + "ZSBpbnN0YWxsIHN0YXRlIGdyYWRlcyB0aGVtOiBhIHBsYW5lIHRoZSBydW4gY2hlY2tzIGJlZm9y" + + "ZSBpdHMKaW5zdGFsbCwgd2hpY2ggdGhpcyBtYWNoaW5lIGluc3RhbGxzIG5leHQgKHRoZSBjb250" + + "cm9sIHBsYW5lIGZvciBhIGJhcmUKYC0tcHJlYCBhbmQgZm9yIGAtLXByZSAtLWNvbXB1dGUtcGxh" + + "bmVgLCB0aGUgY29tcHV0ZSBwbGFuZSBmb3IKYC0tcHJlIC0tY29udHJvbC1wbGFuZWApLCBlbHNl" + + "IHRoZSBjb250cm9sIHBsYW5lIHdoZW4gdGhlIHJ1biB2aXNpdHMgaXQsCmVsc2UgdGhlIGNvbXB1" + + "dGUgcGxhbmUuCgpPbmx5IGEgY3JlZGVudGlhbCB0aGUgcmVnaXN0cnkgcmVqZWN0cyBmYWlscyB0" + + "aGUgcnVuLCBhbmQgb25seSBmb3IgYW4gTlZJRElBCnJlZ2lzdHJ5IHRoZSBpbWFnZSBvciB0aGUg" + + "c3RhY2sgbmFtZXMuIFRoYXQgaW5jbHVkZXMgYSBkb2NrZXIgbG9naW4KYG52Y3IuaW9gIHJlamVj" + + "dHMgZXZlbiB3aGVuIHRoZSBOR0Mga2V5IHdvcmtzIGluIGl0cyBwbGFjZSwgYmVmb3JlIGFuZCBh" + + "ZnRlcgppbnN0YWxsLCBzaW5jZSBgZG9ja2VyYCBhbmQgYGhlbG1gIG9uIHRoaXMgbWFjaGluZSBz" + + "dGlsbCBzZW5kIGl0LiBUaGUga2V5IGlzCnN0aWxsIHVzZWQgZm9yIHRhZyBkaXNjb3ZlcnkgYW5k" + + "IHRoZSB2YWxpZGF0b3IncyBwdWxsIHNlY3JldCwgYW5kIHRoZSByb3cKbmFtZXMgYm90aC4gQWZ0" + + "ZXIgaW5zdGFsbCB0aGUgcm93IGFsc28gc2F5cyB3aGV0aGVyIG9uZSBvZiB0aGUgcHVsbCBzZWNy" + + "ZXRzCmJlbG93IGhvbGRzIHRoYXQgZG9ja2VyIGxvZ2luLiBCZWZvcmUgaW5zdGFsbCwgYSBkb2Nr" + + "ZXIgbG9naW4gd2l0aCBubyBhY2Nlc3MKdG8gdGhlIHJvdyB0aGUgc3RhY2sncyBjaGFydHMgY29t" + + "ZSBmcm9tIGZhaWxzIGl0IHRvbywgYWx0aG91Z2ggdGhlIE5HQyBrZXkKcmVhY2hlcyBpdCwgc2lu" + + "Y2UgYGhlbG1gIHB1bGxzIHRoZSBjaGFydHMgd2l0aCB0aGUgZG9ja2VyIGxvZ2luLiBUaGF0IGlz" + + "CnJlcG9ydGVkIGFzIG5vIGFjY2Vzcywgbm90IGFzIGEgcmVqZWN0ZWQgbG9naW4uIEVsc2V3aGVy" + + "ZSwgYW5kIGFmdGVyIGluc3RhbGwsCmEgZG9ja2VyIGxvZ2luIHdpdGggbm8gYWNjZXNzIHBhc3Nl" + + "cyB3aGVyZSB0aGUgTkdDIGtleSByZWFjaGVzIHRoZQpyZXBvc2l0b3J5LiBBIHJlamVjdGVkIE5H" + + "QyBrZXkgaXMgYSB3YXJuaW5nIGFmdGVyIGluc3RhbGwgb25seSB3aGVuIGBjaGVja2AKcmVhZHMg" + + "dGhlIHB1bGwgc2VjcmV0cyBvZiB0aGUgY2x1c3RlcnMgaXQgdmlzaXRzLCBpbiB0aGUgbmFtZXNw" + + "YWNlcyB0aGUKdmFsaWRhdG9yIGNvcGllcyBwdWxsIHNlY3JldHMgZnJvbSwgYW5kIG5vbmUgb2Yg" + + "dGhlbSBob2xkcyB0aGF0IGtleTsgd2hlbgpvbmUgZG9lcywgb3IgdGhleSBjYW5ub3QgYWxsIGJl" + + "IHJlYWQsIGl0IGlzIGFuIGVycm9yLiBBIHJlZ2lzdHJ5IHRoaXMgbWFjaGluZQpjYW5ub3QgcmVh" + + "Y2gsIGEgdG9rZW4gc2VydmljZSB0aGF0IGZhaWxzLCBhbmQgYSBtaXNzaW5nIGxvY2FsIGNyZWRl" + + "bnRpYWwgYXJlCndhcm5pbmdzLiBBCnJlZ2lzdHJ5IHRoZSBwcm9iZSBjYW5ub3Qgc3BlYWsgdG8s" + + "IHN1Y2ggYXMgRUNSIG9yIG9uZSB1c2luZyBCYXNpYyBhdXRoLCBpcwpza2lwcGVkIHdpdGggYSBj" + + "b21tYW5kIHRvIGNoZWNrIGl0IGJ5IGhhbmQuIEEgcmVnaXN0cnkgdGhhdCBsZXRzIHRoaXMKbWFj" + + "aGluZSBpbiBhbm9ueW1vdXNseSBpcyByZXBvcnRlZCBhcyBzdWNoLCBub3QgYXMgdmFsaWQgY3Jl" + + "ZGVudGlhbHMuCgojIyMgU2V0dGluZ3MgcmVhZCBmcm9tIHRoZSBzdGFjawoKVGhlIHZhbGlkYXRv" + + "ciBnZXRzIHRoZXNlIHNldHRpbmdzIGZyb20gdGhlIENMSS4gRWFjaCBvbmUgc2V0IHdpdGggaXRz" + + "CmVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZyBrZXkgd2lucyBvdmVyIHRoZSBzdGFjay4K" + + "CnwgU2V0dGluZyB8IFJlYWQgZnJvbSB0aGUgc3RhY2sgfCBFbnYgYW5kIGNvbmZpZyBrZXkgfAp8" + + "LS0tfC0tLXwtLS18CnwgTlZDRiBHYXRld2F5cyB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuZ2F0ZXdh" + + "eXNgLCBnYXRlZCB0aGUgd2F5IHRoZSBzdGFjayB3aXJlcyByb3V0ZXM6IG5vbmUgdW5sZXNzIGBp" + + "bmdyZXNzLmdhdGV3YXlBcGkuZW5hYmxlZGAgaXMgYHRydWVgLCBgbmF0c2Agb25seSB3aXRoIGBy" + + "b3V0ZXMubmF0cy5lbmFibGVkYCwgYGxsbUdycGNgIGFuZCBgbGxtUXVpY2Agb25seSB3aXRoIGBy" + + "b3V0ZXMubGxtV29ya2VyLmVuYWJsZWRgIHwgYE5WQ0ZfR0FURVdBWV9OQU1FU2AsIGFzIGNvbW1h" + + "LXNlcGFyYXRlZCBgbmFtZXNwYWNlL25hbWVgIGVudHJpZXMuIEEgYmFyZSBuYW1lIGlzIGRyb3Bw" + + "ZWQgYnkgdGhlIHZhbGlkYXRvci4gU2V0IHRoaXMgd2F5IGl0IHNraXBzIHRoZSBzdGFjaydzIGdh" + + "dGVzIHwKfCBFbnZveSBHYXRld2F5IG5hbWVzcGFjZSB8IGBpbmdyZXNzLmdhdGV3YXlBcGkuY29u" + + "dHJvbGxlck5hbWVzcGFjZWAgfCBgTlZDRl9FTlZPWV9HQVRFV0FZX05BTUVTUEFDRWAgfAp8IEV4" + + "dGVybmFsIGNvbXBvbmVudHMgfCBgbmF0c2AsIGBvcGVuYmFvYCBvciBgY2Fzc2FuZHJhYCB3aG9z" + + "ZSBgZW5hYmxlZGAgaXMgc2V0IGFuZCBpcyBub3QgYHRydWVgIHwgYC0tY2x1c3Rlci12YWxpZGF0" + + "b3ItZXh0ZXJuYWwtY29tcG9uZW50c2AsIG9yIGBOVkNGX0VYVEVSTkFMX0NPTVBPTkVOVFNgIHwK" + + "fCBTdG9yYWdlQ2xhc3MgfCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AuIFdoZW4gc2V0LCB0aGUgdmFs" + + "aWRhdG9yIGNoZWNrcyB0aGF0IHRoaXMgY2xhc3MgZXhpc3RzIGluc3RlYWQgb2YgcmVxdWlyaW5n" + + "IGEgZGVmYXVsdCBjbGFzcyB8IGBOVkNGX1NUT1JBR0VfQ0xBU1NgIHwKfCBPcGVuQmFvIG5hbWVz" + + "cGFjZSB8IC0gfCBgTlZDRl9PUEVOQkFPX05BTUVTUEFDRWAgfAp8IE92ZXJsYXkgcHJvYmUgaW1h" + + "Z2UgfCAtIHwgYC0tY2x1c3Rlci12YWxpZGF0b3ItcHJvYmUtaW1hZ2VgLCBvciBgTlZDRl9OMk5f" + + "UFJPQkVfSU1BR0VgIHwKClRoZSByZWdpc3RyaWVzIGFib3ZlIGFsc28gY29tZSBmcm9tIHRoZSBz" + + "dGFjay4gYGNoZWNrYCByZWFkcyBzdGFjayB2YWx1ZXMgb25seQp3aGVuIHRoZXkgZGVzY3JpYmUg" + + "dGhlIGluc3RhbGw6CgotIFRoZSBlbnZpcm9ubWVudCBpcyBuYW1lZCB3aXRoIGAtLWVudmAgb3Ig" + + "YEhFTE1GSUxFX0VOVmAuIFRoZSBgLS1lbnZgCiAgZGVmYXVsdCBpcyB1c2VkIG9ubHkgZm9yIGEg" + + "cGxhbmUgYC0tcHJlYCBjaGVja3MgYmVmb3JlIGl0cyBpbnN0YWxsLAogIHNpbmNlIGB1cGAgaW5z" + + "dGFsbHMgd2l0aCBpdC4gT3RoZXJ3aXNlIHBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNl" + + "ZC4KLSBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGlzIHJlYWQsIGxheWVyZWQgb3ZlciBgYmFz" + + "ZS55YW1sYC4gYGJhc2UueWFtbGAKICBhbG9uZSBpcyBub3QgdXNlZC4KLSBUaGUgZmlsZSBjb21l" + + "cyBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkOiBgLS1jb250cm9sLXBsYW5lLXN0YWNr" + + "YAogIChgLS1jb21wdXRlLXBsYW5lLXN0YWNrYCBmb3IgdGhlIHJlZ2lzdHJpZXMgd2hlbiB0aGUg" + + "cmVnaXN0cnkgY2hlY2sKICBiZWxvbmdzIHRvIHRoZSBjb21wdXRlIHBsYW5lKSwgZWxzZSB0aGUg" + + "Q0xJJ3MgYnVpbHQtaW4gc3RhY2suIEEgbG9jYWwKICBkaXJlY3RvcnkgaXMgcmVhZCBkaXJlY3Rs" + + "eSwgYW5kIGFuIGBvY2k6Ly9gIHN0YWNrIGZyb20gdGhlIGNvcHkgYW4gZWFybGllcgogIGNvbW1h" + + "bmQgZXh0cmFjdGVkIGludG8gdGhlIENMSSBjYWNoZS4gQSBnaXQgc3RhY2ssIGBmaWxlOi8vYCBp" + + "bmNsdWRlZCwgaXMKICBub3QgcmVhZCwgc2luY2UgdGhlIGluc3RhbGwgY2xvbmVkIGl0cyBjb21t" + + "aXR0ZWQgc3RhdGUuIEEgQ0xJIHdpdGggbm8KICBidWlsdC1pbiBzdGFjayBhbmQgbm8gc3RhY2sg" + + "ZmxhZyByZWFkcyB0aGUgc3RhY2sgY2hlY2tvdXQgYWJvdmUgdGhlCiAgd29ya2luZyBkaXJlY3Rv" + + "cnkuCgpPdGhlcndpc2Ugbm90aGluZyBmcm9tIHRoZSBzdGFjayBpcyBmb3J3YXJkZWQ6IHRoZSB2" + + "YWxpZGF0b3IgZmluZHMgdGhlCkdhdGV3YXlzIGZyb20gdGhlIHJvdXRlcywgYW5kIGBudmNyLmlv" + + "YCBpcyBwcm9iZWQgYXMgYSB3YXJuaW5nIG9ubHkuCgojIyBgdXBgLXNwZWNpZmljCgp8IEZsYWcg" + + "fCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFN" + + "RWAgfCBJQ01TIGNsdXN0ZXIgcm93IGlkZW50aWZpZXIgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLW5j" + + "YS1pZCBJRGAgfCBOQ0EgYWNjb3VudCBJRCB8IGBudmNmLWRlZmF1bHRgIHwKfCBgLS1yZWdpb24g" + + "UkVHSU9OYCB8IENsdXN0ZXIgcmVnaW9uIHwgYHVzLXdlc3QtMWAgfAp8IGAtLXBsYW4tb25seWAg" + + "fCBEcnktcnVuOyBlbWl0IHBoYXNlIHBsYW4gKyBFVEFzIHdpdGhvdXQgY2hhbmdlcyB8IGBmYWxz" + + "ZWAgfAoKIyMgYHN0YXR1c2Atc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IExpbWl0IHRvIG9uZSBjb21w" + + "dXRlIHBsYW5lIHwgLSAoY29udHJvbCArIGFsbCBjbHVzdGVycykgfAp8IGAtLXdhdGNoYCB8IExp" + + "dmUgcmUtcmVuZGVyIHwgYGZhbHNlYCB8CnwgYC0td2F0Y2gtaW50ZXJ2YWwgRFVSYCB8IGAtLXdh" + + "dGNoYCBjYWRlbmNlIHwgYDVzYCB8CnwgYC0tY29tcG9uZW50IE5BTUVgIHwgRmlsdGVyIGNvbXBv" + + "bmVudHMgcGFuZWwgfCBhbGwgfAp8IGAtLW5vLWV2ZW50c2AgfCBTa2lwIGV2ZW50cyBwYW5lbCB8" + + "IGBmYWxzZWAgfAoKIyMgYGNsdXN0ZXIgcmVnaXN0ZXJgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJw" + + "b3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgQ2x1c3RlciBu" + + "YW1lIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURgIHwgTkNBIElEIChyZXF1aXJlZCkg" + + "fCAtIHwKfCBgLS1yZWdpb24gUkVHSU9OYCB8IFJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1p" + + "Y21zLXVybCBVUkxgIHwgSUNNUyBlbmRwb2ludCB8IGZyb20gY29uZmlnIHwKfCBgLS1pZ25vcmUt" + + "ZXhpc3RpbmdgIHwgTWF0Y2gtb3ItY3JlYXRlIGluc3RlYWQgb2YgZmFpbC1vbi1leGlzdHMgfCBg" + + "ZmFsc2VgIHwKCiMjIGBhcGkta2V5IGdlbmVyYXRlYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + + "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZm9yIGZ1bmN0aW9uXHx0YXNrYCB8IEdl" + + "bmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBrZXkgdHlwZSB8IChvbWl0IHRvIGdlbmVyYXRlIGJv" + + "dGgpIHwKfCBgLS1kZXNjcmlwdGlvbiBURVhUYCB8IEh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0" + + "aGUga2V5IHwgYEdlbmVyYXRlZCBieSBudmNmLWNsaWAgfAp8IGAtLWV4cGlyZXMtaW4gRFVSQVRJ" + + "T05gIHwgRXhwaXJ5IG9mZnNldCAoZS5nLiBgMjRoYCwgYDdkYCk7IHBhcnNlZCBhcyBleHRlbmRl" + + "ZCBkdXJhdGlvbiB8IGAyNGhgIHwKfCBgLS1zY29wZXMgU0NPUEVbLFNDT1BFXWAgfCBPdmVycmlk" + + "ZSBkZWZhdWx0IHNjb3BlczsgcmVxdWlyZXMgYC0tZm9yYCB8IChzZXJ2aWNlIGRlZmF1bHRzKSB8" + + "CnwgYC0tdmFsaWRhdGVgIHwgVmFsaWRhdGUgZWFjaCBnZW5lcmF0ZWQga2V5IGltbWVkaWF0ZWx5" + + "IGFmdGVyIG1pbnRpbmcgfCBgZmFsc2VgIHwKCkV4dGVuZGVkIGR1cmF0aW9uIHVuaXRzOiBgc2Ag" + + "KHNlY29uZHMpLCBgbWAgKG1pbnV0ZXMpLCBgaGAgKGhvdXJzKSwgYGRgIChkYXlzKSwgYHdgICh3" + + "ZWVrcykuCgojIyBgZnVuY3Rpb24gY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxF" + + "YCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSBmdW5jdGlvbiBkZWZpbml0aW9ucy4gRm9y" + + "IGFkLWhvYyBjcmVhdGVzOgoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwt" + + "LS18CnwgYC0tbmFtZSBOQU1FYCB8IEZ1bmN0aW9uIG5hbWUgfCAtIHwKfCBgLS1pbWFnZSBJTUFH" + + "RWAgfCBDb250YWluZXIgaW1hZ2UgfCAtIHwKfCBgLS1pbmZlcmVuY2UtdXJsIFVSSWAgfCBDb250" + + "YWluZXIgaW5mZXJlbmNlIGVuZHBvaW50IHwgLSB8CnwgYC0taW5mZXJlbmNlLXBvcnQgUE9SVGAg" + + "fCBDb250YWluZXIgaW5mZXJlbmNlIHBvcnQgfCAtIHwKfCBgLS1mdW5jdGlvbi10eXBlIERFRkFV" + + "TFRcfFNUUkVBTUlOR1x8TExNYCB8IEZ1bmN0aW9uIHR5cGUgfCBgREVGQVVMVGAgfAp8IGAtLWhl" + + "bG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFydCBVUkwgb3IgT0NJIHJlZmVyZW5jZS4gQ2FuIGJl" + + "IHVzZWQgd2l0aCBgLS1mdW5jdGlvbi10eXBlPUxMTWAgZm9yIGNoYXJ0LXBhY2thZ2VkIExMTSB3" + + "b3JrbG9hZHMuIHwgLSB8CnwgYC0taGVsbS1jaGFydC1zZXJ2aWNlIE5BTUVgIHwgS3ViZXJuZXRl" + + "cyBTZXJ2aWNlIG5hbWUgZXhwb3NlZCBieSB0aGUgY2hhcnQuIFJlcXVpcmVkIHdoZW4gYC0taGVs" + + "bS1jaGFydGAgaXMgc2V0LiB8IC0gfAp8IGAtLW1vZGVscyBOQU1FOlZFUlNJT046VVJJYCB8IFN0" + + "YW5kYXJkIG1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tbGxtLW1vZGVsIFNQ" + + "RUNgIHwgTExNIG1vZGVsIGNvbmZpZzsgZm9ybWF0IGBuYW1lPTxtb2RlbD4sdXJpcz08dXJpPlx8" + + "PHVyaT4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVw" + + "ZWF0YWJsZS4gVG9rZW4gbGltaXRzIHVzZSBgPHZhbHVlPi08dW5pdD5gIHdpdGggYFNgLCBgTWAs" + + "IGBIYCwgYERgLCBvciBgV2AsIGZvciBleGFtcGxlIGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBm" + + "b3IgY29tYmluZWQgdG9rZW4gbGltaXRzIGJlY2F1c2UgaW5saW5lIHNwZWNzIHVzZSBjb21tYXMg" + + "YXMgZmllbGQgc2VwYXJhdG9ycy4gfCAtIHwKfCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklP" + + "UklUWWAgfCBGdW5jdGlvbi1sZXZlbCBkZWZhdWx0IHJlcXVlc3QgcHJpb3JpdHkuIExvd2VyIHZh" + + "bHVlcyBoYXZlIGhpZ2hlciBwcmlvcml0eS4gfCAtIHwKfCBgLS1sbG0tcGVyLWFjY291bnQtcHJp" + + "b3JpdHkgTkNBLUlEOlBSSU9SSVRZYCB8IFBlci1hY2NvdW50IHByaW9yaXR5IG92ZXJyaWRlOyBy" + + "ZXBlYXRhYmxlOyBzdXBwb3J0cyB1cCB0byA2NCBkaXN0aW5jdCBOQ0EgSUQgb3ZlcnJpZGVzLiBS" + + "ZXF1aXJlcyBhIGRlZmF1bHQgcHJpb3JpdHkuIHwgLSB8CgpJbiBKU09OIGFuZCBpbmxpbmUgc3Bl" + + "Y3MsIExMTSBmdW5jdGlvbnMgc2V0IGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgbW9kZWwgcm91" + + "dGluZyBtZXRhZGF0YSB1bmRlciBgbW9kZWxzW10ubGxtQ29uZmlnYC4gYGxsbUNvbmZpZy51cmlz" + + "YCBkZWNsYXJlcyB0aGUgT3BlbkFJLWNvbXBhdGlibGUgdXBzdHJlYW0gcGF0aHMgZXhwb3NlZCBi" + + "eSB0aGUgbW9kZWwuIEN1cnJlbnQgc3VwcG9ydGVkIHBhdGhzIGFyZSBgL3YxL2NoYXQvY29tcGxl" + + "dGlvbnNgLCBgL3YxL3Jlc3BvbnNlc2AsIGFuZCBgL3YxL2VtYmVkZGluZ3NgLiBgbGxtQ29uZmln" + + "LnJvdXRpbmdNZXRob2RgIGFjY2VwdHMgYHJvdW5kX3JvYmluYCwgYHBvd2VyX29mX3R3b2AsIGBn" + + "cm9xX211bHRpcmVnaW9uYCwgYHB1bHNhcmAsIG9yIGByYW5kb21gLgpgbGxtQ29uZmlnLnRva2Vu" + + "UmF0ZUxpbWl0YCBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBwb3NpdGl2ZSBp" + + "bnRlZ2VyIHRva2VuIGxpbWl0cyBpbiBgPHZhbHVlPi08dW5pdD5gIGZvcm1hdC4gU3VwcG9ydGVk" + + "IHVuaXRzIGFyZSBgU2AgKHNlY29uZHMpLCBgTWAgKG1pbnV0ZXMpLCBgSGAgKGhvdXJzKSwgYERg" + + "IChkYXlzKSwgYW5kIGBXYCAod2Vla3MpLiBVc2UgZGlzdGluY3QgdW5pdHMgd2hlbiBjb21iaW5p" + + "bmcgbGltaXRzLCBmb3IgZXhhbXBsZSBgMTAwMC1TLDUwMDAtTSwxMDAwMDAtSCw1MDAwMDAtRCwx" + + "MDAwMDAwLVdgIGluIGlucHV0IEpTT04uCgpIZWxtIGNoYXJ0IHBhY2thZ2luZyBpcyBpbmRlcGVu" + + "ZGVudCBvZiBgZnVuY3Rpb25UeXBlYC4gRm9yIGEgSGVsbS1jaGFydCBiYWNrZWQgTExNIGZ1bmN0" + + "aW9uLCBzZXQgYGZ1bmN0aW9uVHlwZTogIkxMTSJgLCBgaGVsbUNoYXJ0YCwgYGhlbG1DaGFydFNl" + + "cnZpY2VOYW1lYCwgYW5kIGBtb2RlbHNbXS5sbG1Db25maWdgIGluIHRoZSBzYW1lIGNyZWF0ZSBy" + + "ZXF1ZXN0LiBgaW5mZXJlbmNlUG9ydGAgbXVzdCBiZSB0aGUgS3ViZXJuZXRlcyBTZXJ2aWNlIHBv" + + "cnQgZXhwb3NlZCBieSBgaGVsbUNoYXJ0U2VydmljZU5hbWVgLgoKTExNIGludm9jYXRpb24gcmVx" + + "dWVzdHMgdXNlIGBtb2RlbDogIjxmdW5jdGlvbi1pZD4vPG1vZGVsLW5hbWU+ImAuIFRoZSBmdW5j" + + "dGlvbiBJRCBzZWxlY3RzIHRoZSBOVkNGIGZ1bmN0aW9uLCBhbmQgdGhlIG1vZGVsIG5hbWUgaXMg" + + "Zm9yd2FyZGVkIHVwc3RyZWFtLiBDaGF0IGNvbXBsZXRpb25zIGFuZCBSZXNwb25zZXMgQVBJIHJl" + + "cXVlc3RzIGNhbiB1c2UgYHgtbXVsdGktdHVybi1zZXNzaW9uLWlkYCBmb3Igc2Vzc2lvbiBzdGlj" + + "a2luZXNzOyBlbWJlZGRpbmdzIHJlcXVlc3RzIGRvIG5vdC4KCiMjIGBmdW5jdGlvbiB1cGRhdGVg" + + "LXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0tLXwKfCBg" + + "LS10YWdzIFRBR1ssVEFHXWAgfCBSZXBsYWNlIGZ1bmN0aW9uIHRhZ3MgfCAtIHwKfCBgLS1sbG0t" + + "bW9kZWwtdXBkYXRlIFNQRUNgIHwgTExNIG1vZGVsIHVwZGF0ZTsgZm9ybWF0IGBuYW1lPTxtb2Rl" + + "bD4scm91dGluZ01ldGhvZD08bWV0aG9kPix0b2tlblJhdGVMaW1pdD08bGltaXQ+YDsgcmVwZWF0" + + "YWJsZS4gUm91dGluZyBtZXRob2RzIG1hdGNoIGAtLWxsbS1tb2RlbGAuIFRva2VuIGxpbWl0IGV4" + + "YW1wbGU6IGAxMDAwLVNgLiBVc2UgaW5wdXQgSlNPTiBmb3IgY29tYmluZWQgdG9rZW4gbGltaXRz" + + "LiB8IC0gfAp8IGAtLWxsbS1kZWZhdWx0LXByaW9yaXR5IFBSSU9SSVRZYCB8IFJlcGxhY2UgdGhl" + + "IGZ1bmN0aW9uLWxldmVsIHByaW9yaXR5IGNvbmZpZ3VyYXRpb24gd2l0aCB0aGlzIGRlZmF1bHQg" + + "YW5kIGFueSBzdXBwbGllZCBwZXItYWNjb3VudCBvdmVycmlkZXMuIHwgLSB8CnwgYC0tbGxtLXBl" + + "ci1hY2NvdW50LXByaW9yaXR5IE5DQS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0" + + "eSBvdmVycmlkZTsgcmVwZWF0YWJsZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElE" + + "IG92ZXJyaWRlcy4gUmVxdWlyZXMgYSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiwg" + + "YGZ1bmN0aW9uIHVwZGF0ZWAgYWNjZXB0cyBgbW9kZWxVcGRhdGVzW11gIGVudHJpZXMgd2l0aCBg" + + "bW9kZWxOYW1lYCBhbmQgYGxsbUNvbmZpZy5yb3V0aW5nTWV0aG9kYCBhbmQvb3IgYGxsbUNvbmZp" + + "Zy50b2tlblJhdGVMaW1pdGAuIGB1cmlzYCBhcmUgY3JlYXRlLXRpbWUgbW9kZWwgbWV0YWRhdGEg" + + "YW5kIGFyZSBub3QgcGFydCBvZiBtb2RlbCB1cGRhdGVzLgoKIyMgYGZ1bmN0aW9uIGRlcGxveSBj" + + "cmVhdGVgLXNwZWNpZmljCgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIChmdWxs" + + "IEpTT04gc3BlYykuIEZvciBhZC1ob2Mgb25lLXNob3QgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8" + + "IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tZnVuY3Rpb24taWQgSURgIHwgRnVuY3Rpb24g" + + "SUQgKHJlcXVpcmVkKSB8IC0gfAp8IGAtLWdwdSBOQU1FYCB8IEdQVSBmYW1pbHkgfCBgSDEwMGAg" + + "fAp8IGAtLWluc3RhbmNlLXR5cGUgVFlQRWAgfCBTS1UgfCBgTkNQLkdQVS5IMTAwXzF4YCB8Cnwg" + + "YC0tbWluLWluc3RhbmNlcyBOYCB8IE1pbiByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LWluc3Rh" + + "bmNlcyBOYCB8IE1heCByZXBsaWNhcyB8IGAxYCB8CnwgYC0tbWF4LXJlcXVlc3QtY29uY3VycmVu" + + "Y3kgTmAgfCBDb25jdXJyZW5jeSB8IGAwYCAodW5zZXQ7IHNlcnZlciBkZWZhdWx0IGFwcGxpZXMp" + + "IHwKfCBgLS1jbHVzdGVycyBOQU1FWyxOQU1FXWAgfCBUYXJnZXQgc3BlY2lmaWMgY29tcHV0ZSBj" + + "bHVzdGVycyB8IChhbnkgbWF0Y2hpbmcgU0tVKSB8CgojIyBgdGFzayBjcmVhdGVgLXNwZWNpZmlj" + + "CgpgLS1pbnB1dC1maWxlIEZJTEVgIGlzIHJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxlIHRhc2sg" + + "ZGVmaW5pdGlvbnMuIEZvciBhZC1ob2MgdXNlOgoKfCBGbGFnIHwgUHVycG9zZSB8IE5vdGVzIHwK" + + "fC0tLXwtLS18LS0tfAp8IGAtLW5hbWUgTkFNRWAgfCBUYXNrIG5hbWUgKHJlcXVpcmVkKSB8IDEt" + + "MTI4IGNoYXJzLCBgXlthLXowLTlBLVpdW2EtejAtOUEtWlwtX10qJGAgfAp8IGAtLWdwdSBHUFVg" + + "IHwgR1BVIG5hbWUgKHJlcXVpcmVkIHdpdGhvdXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTog" + + "YEgxMDBgIHwKfCBgLS1pbnN0YW5jZS10eXBlIFRZUEVgIHwgSW5zdGFuY2UgdHlwZSAocmVxdWly" + + "ZWQgd2l0aG91dCBgLS1pbnB1dC1maWxlYCkgfCBFeGFtcGxlOiBgTkNQLkdQVS5IMTAwXzF4YCB8" + + "CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29udGFpbmVyIGltYWdlIHwgTXV0dWFsbHkgZXhjbHVzaXZl" + + "IHdpdGggYC0taGVsbS1jaGFydGAgfAp8IGAtLWhlbG0tY2hhcnQgQ0hBUlRgIHwgSGVsbSBjaGFy" + + "dCBVUkwgb3IgT0NJIHJlZmVyZW5jZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAtLWltYWdl" + + "YCB8CnwgYC0taW5wdXQtZmlsZSBGSUxFYCB8IEpTT04gdGFzayBzcGVjIGZpbGUgfCBDTEkgZmxh" + + "Z3Mgb3ZlcnJpZGUgSlNPTiB2YWx1ZXMgd2hlbiBib3RoIGFyZSBzZXQgfAp8IGAtLWJhY2tlbmQg" + + "QkFDS0VORGAgfCBCYWNrZW5kIC8gQ1NQIHwgLSB8CnwgYC0tY2x1c3RlcnMgTkFNRVssTkFNRV1g" + + "IHwgU3BlY2lmaWMgY2x1c3RlcnMgd2l0aGluIHRoZSBpbnN0YW5jZSB8IENvbW1hLXNlcGFyYXRl" + + "ZCB8CnwgYC0tY29udGFpbmVyLWFyZ3MgQVJHU2AgfCBBcmdzIHBhc3NlZCB3aGVuIGxhdW5jaGlu" + + "ZyB0aGUgY29udGFpbmVyIHwgU2luZ2xlIHN0cmluZywgZS5nLiBgIi0tZXBvY2hzIDEwIC0tYmF0" + + "Y2gtc2l6ZSAzMiJgIHwKfCBgLS1jb250YWluZXItZW52IE5BTUU9dmFsdWVgIHwgQ29udGFpbmVy" + + "IGVudmlyb25tZW50IHZhcmlhYmxlOyByZXBlYXRhYmxlIHwgLSB8CnwgYC0tc2VjcmV0cyBOQU1F" + + "PXZhbHVlYCB8IFNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZTsgZW5jcnlw" + + "dGVkIGF0IHJlc3QgfCAtIHwKfCBgLS1tYXgtcnVudGltZSBEVVJBVElPTmAgfCBNYXggd2FsbC1j" + + "bG9jayBydW4gdGltZSAoSVNPIDg2MDEsIGUuZy4gYFBUNEhgKSB8IE5vIGRlZmF1bHQ7IG9taXQg" + + "Zm9yIG5vIHRpbWUgbGltaXQgfAp8IGAtLW1heC1xdWV1ZWQgRFVSQVRJT05gIHwgTWF4IHRpbWUg" + + "aW4gcXVldWUgYmVmb3JlIGNhbmNlbGxhdGlvbiAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQg" + + "YFBUNzJIYCB8CnwgYC0tdGVybWluYXRpb24tZ3JhY2UgRFVSQVRJT05gIHwgR3JhY2UgcGVyaW9k" + + "IGFmdGVyIHN0b3Agc2lnbmFsIChJU08gODYwMSkgfCBTZXJ2ZXIgZGVmYXVsdCBgUFQxSGAgfAp8" + + "IGAtLXJlc3VsdC1zdHJhdGVneSBVUExPQURcfE5PTkVgIHwgSG93IHRvIGhhbmRsZSB0YXNrIG91" + + "dHB1dCBhcnRpZmFjdHMgfCAtIHwKfCBgLS1yZXN1bHRzLWxvY2F0aW9uIExPQ0FUSU9OYCB8IFJl" + + "c3VsdCB1cGxvYWQgdGFyZ2V0LCBmb3JtYXQgYG9yZy1uYW1lL1t0ZWFtLW5hbWUvXW1vZGVsLW5h" + + "bWVgOyByZXF1aXJlZCB3aGVuIGAtLXJlc3VsdC1zdHJhdGVneT1VUExPQURgIHwgLSB8CnwgYC0t" + + "bW9kZWxzIE5BTUU6VkVSU0lPTjpVUklgIHwgTW9kZWwgYXJ0aWZhY3Q7IHJlcGVhdGFibGUgfCAt" + + "IHwKfCBgLS1yZXNvdXJjZXMgTkFNRTpWRVJTSU9OOlVSSWAgfCBSZXNvdXJjZSBhcnRpZmFjdDsg" + + "cmVwZWF0YWJsZSB8IC0gfAp8IGAtLXRhZ3MgVEFHWyxUQUddYCB8IFRhc2sgdGFncyB8IENvbW1h" + + "LXNlcGFyYXRlZCB8CnwgYC0tZGVzY3JpcHRpb24gVEVYVGAgfCBUYXNrIGRlc2NyaXB0aW9uIHwg" + + "LSB8CnwgYC0tbG9ncy10ZWxlbWV0cnktaWQgVVVJRGAgfCBMb2dzIHRlbGVtZXRyeSBlbmRwb2lu" + + "dCBJRCB8IC0gfAp8IGAtLW1ldHJpY3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTWV0cmljcyB0ZWxl" + + "bWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKfCBgLS10cmFjZXMtdGVsZW1ldHJ5LWlkIFVVSURgIHwg" + + "VHJhY2VzIHRlbGVtZXRyeSBlbmRwb2ludCBJRCB8IC0gfApQSwcIkHEBNPRgAAD0YAAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA3AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJl" + + "bmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbOEiMgVHJvdWJsZXNob290aW5nCgpLbm93biBl" + + "cnJvcnMsIHRoZSBkaWFnbm9zdGljIGNvbW1hbmQsIGFuZCB0aGUgcmVtZWRpYXRpb24uIEtlZXAg" + + "aW4gc3luYyB3aXRoIHRoZSBzdHJ1Y3R1cmVkIGV2ZW50cyB0aGUgQ0xJIGVtaXRzIChSRVEtMTUp" + + "OiBvdXRzaWRlIHByZS1mbGlnaHQsIGV2ZXJ5IGVudHJ5IGJlbG93IHNob3VsZCBtYXAgdG8gYSBg" + + "cGhhc2VfZmFpbGVkYCBgZXJyQ2F0ZWdvcnlgIGFuZCBhIGByZW1lZGlhdGlvbmAgYXJyYXkuCgoj" + + "IyBQcmUtZmxpZ2h0CgpgY2hlY2tgIHJlcG9ydHMgZWFjaCBmaW5kaW5nIGFzIGEgYGNoZWNrX2Nv" + + "bXBsZXRlZGAgZXZlbnQsIG5vdCBhcwpgcGhhc2VfZmFpbGVkYC4gVGhlIHN5bXB0b20gaXMgdGhl" + + "IGV2ZW50J3MgYG1lc3NhZ2VgOyBjbHVzdGVyLXZhbGlkYXRvciByb3dzCnF1b3RlIHRoZSB2YWxp" + + "ZGF0b3IncyBmYWlsZWQgc3VtbWFyeSByb3dzLCBhbmQgYC0tc2hvdy1sb2dzYCBwcmludHMgdGhl" + + "IGZ1bGwKdHJhbnNjcmlwdC4KCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0t" + + "fC0tLXwtLS18CnwgYGt1YmVjdGwgbm90IGZvdW5kIG9uIFBBVEhgIHwgT3BlcmF0b3IncyBgJFBB" + + "VEhgIGRvZXNuJ3QgaW5jbHVkZSBrdWJlY3RsLiBBbiBlcnJvciB3aXRoIGAtLXByZWA7IG90aGVy" + + "IHNjb3BlcyB3YXJuLCBhZGRpbmcgYDsgb25seSBhbiBpbnN0YWxsIG5lZWRzIGl0YCB8IEluc3Rh" + + "bGwga3ViZWN0bCAxLjI4KzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdGFza3MvdG9vbHMv" + + "aW5zdGFsbC1rdWJlY3RsLyB8CnwgYGhlbG1maWxlIG5vdCBmb3VuZCBvbiBQQVRIYCB8IFNhbWUg" + + "fCBodHRwczovL2dpdGh1Yi5jb20vaGVsbWZpbGUvaGVsbWZpbGUjaW5zdGFsbGF0aW9uIHwKfCBg" + + "aGVsbSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6Ly9oZWxtLnNoL2RvY3MvaW50" + + "cm8vaW5zdGFsbC8gfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBub3QgcnVuOiBjbHVzdGVyX3ZhbGlk" + + "YXRvcl9pbWFnZSBpcyBub3Qgc2V0OyAuLi5gLCB3YXJuaW5nIHwgTm8gdmFsaWRhdG9yIGltYWdl" + + "IGlzIGNvbmZpZ3VyZWQsIHNvIHRoZSBjbHVzdGVyIHdhcyBub3QgdmFsaWRhdGVkIHwgU2V0IGBj" + + "bHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAgaW4gdGhlIG52Y2YtY2xpIGNvbmZpZywgYE5WQ0ZfQ0xJ" + + "X0NMVVNURVJfVkFMSURBVE9SX0lNQUdFYCBvciBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZWAg" + + "fAp8IGBjbHVzdGVyLXZhbGlkYXRvciBkaWQgbm90IGNvbXBsZXRlLCBzbyB0aGUgY2x1c3RlciB3" + + "YXMgbm90IHZhbGlkYXRlZDogLi4uYCwgZXJyb3IgfCBUaGUgdmFsaWRhdG9yIGNvdWxkIG5vdCBy" + + "dW4gb3IgZW5kZWQgYmVmb3JlIGl0cyB2ZXJkaWN0OiBSQkFDIGRlbmllZCwgaW1hZ2UgcHVsbCBm" + + "YWlsdXJlLCBpdHMgb3duIHRpbWVvdXQgfCBGaXggdGhlIGNhdXNlIHRoZSBtZXNzYWdlIG5hbWVz" + + "LCBvciBwYXNzIGAtLXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8CnwgYGNsdXN0ZXItdmFsaWRh" + + "dG9yIEpvYiBzdWNjZWVkZWQ7IGl0cyB0cmFuc2NyaXB0IGNvdWxkIG5vdCBiZSByZWFkICguLi4p" + + "YCwgcGFzc2VkIHwgVGhlIHZhbGlkYXRvciBwYXNzZWQsIGJ1dCBpdHMgbG9nIGNvdWxkIG5vdCBi" + + "ZSByZWFkOiB0aGUga3ViZWNvbmZpZyB1c2VyIGxhY2tzIGBnZXRgIG9uIGBwb2RzL2xvZ2AgaW4g" + + "YGRlZmF1bHRgLCBvciB0aGUgQVBJIHNlcnZlciBjYW5ub3QgcmVhY2ggdGhlIGt1YmVsZXQuIFRo" + + "ZSBjaGVja3MgaXQgcmFuIGFuZCB3YXJuaW5ncyBpdCByZXBvcnRlZCBhcmUgbm90IHNob3duOiBh" + + "biBpbWFnZSB0aGF0IHByZWRhdGVzIHZhbGlkYXRvciByb2xlcyBydW5zIHRoZSBjb21wdXRlLXBs" + + "YW5lIGNoZWNrcyBmb3IgZWl0aGVyIHJvbGUgfCBHcmFudCBgZ2V0YCBvbiBgcG9kcy9sb2dgIGlu" + + "IGBkZWZhdWx0YCwgb3IgcmVhZCB0aGUgdHJhbnNjcmlwdCB3aXRoIHRoZSBga3ViZWN0bCBsb2dz" + + "YCBjb21tYW5kIGluIHRoZSByb3cgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWls" + + "dXJlczogR2F0ZXdheSBBUEkgQ1JEczogTm90IEluc3RhbGxlZGAgfCBFbnZveSBHYXRld2F5IHBy" + + "ZXJlcSBtaXNzaW5nIHwgYGhlbG0gaW5zdGFsbCBlZyBvY2k6Ly9kb2NrZXIuaW8vZW52b3lwcm94" + + "eS9nYXRld2F5LWhlbG0gLS1uYW1lc3BhY2U9ZW52b3ktZ2F0ZXdheS1zeXN0ZW0gLS1jcmVhdGUt" + + "bmFtZXNwYWNlYCB8CnwgYGNsdXN0ZXItdmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBEZWZh" + + "dWx0IFN0b3JhZ2VDbGFzczogTm90IEZvdW5kYCB8IENsdXN0ZXIgaGFzIG5vIGRlZmF1bHQgU0Ms" + + "IGFuZCB0aGUgc3RhY2sgZG9lcyBub3QgbmFtZSBvbmUgfCBBbm5vdGF0ZSBvbmU6IGBrdWJlY3Rs" + + "IHBhdGNoIHNjIDxuYW1lPiAtcCAneyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJzdG9yYWdl" + + "Y2xhc3Mua3ViZXJuZXRlcy5pby9pcy1kZWZhdWx0LWNsYXNzIjoidHJ1ZSJ9fX0nYCwgb3Igc2V0" + + "IGBnbG9iYWwuc3RvcmFnZUNsYXNzYCBpbiB0aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIChv" + + "ciBgTlZDRl9TVE9SQUdFX0NMQVNTYCkgdG8gdGhlIGNsYXNzIHRoZSBzdGFjayB1c2VzIHwKfCBg" + + "Y2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdQVSBSZXNvdXJjZXM6IE5vdCBB" + + "dmFpbGFibGVgIChjb21wdXRlLXBsYW5lKSB8IE5vIG5vZGUgYWR2ZXJ0aXNlcyBhbiBhbGxvY2F0" + + "YWJsZSBHUFU6IG5vIEdQVSBub2Rlcywgb3IgdGhlIE5WSURJQSBHUFUgT3BlcmF0b3IgaXMgbWlz" + + "c2luZyBvciBub3Qgd29ya2luZyB8IEluc3RhbGwgcGVyIGh0dHBzOi8vZG9jcy5udmlkaWEuY29t" + + "L2RhdGFjZW50ZXIvY2xvdWQtbmF0aXZlL2dwdS1vcGVyYXRvci9sYXRlc3QvaW5zdGFsbC1ncHUt" + + "b3BlcmF0b3IuaHRtbCwgT1IgdXNlIGBmYWtlLWdwdS1vcGVyYXRvcmAgZm9yIGRldi4gYEdQVSBP" + + "cGVyYXRvcjogTm90IEluc3RhbGxlZGAgYWxvbmUgaXMgYSB3YXJuaW5nIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2A6IGA8bnM+IChzdHVjayBUZXJtaW5hdGluZzogLi4uKWAsIGVycm9yLCBleGl0IGAy" + + "YCB8IFRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gZGVsZXRpbmcgZm9yIG92ZXIgMiBtaW51dGVzLCBv" + + "ciBpdHMgY29uZGl0aW9ucyByZXBvcnQgYSBkZWxldGlvbiBmYWlsdXJlLiBVc3VhbGx5IGFuIG9i" + + "amVjdCBpbnNpZGUgaXQgc3RpbGwgaG9sZHMgYSBmaW5hbGl6ZXIgfCBSdW4gdGhlIGNvbW1hbmRz" + + "IGluIHRoZSByb3cgaW4gb3JkZXI6IHJlYWQgYGt1YmVjdGwgZ2V0IG5zIDxucz4gLW8ganNvbnBh" + + "dGg9J3suc3RhdHVzLmNvbmRpdGlvbnN9J2AsIGxpc3Qgd2hhdCBpcyBsZWZ0IHdpdGggdGhlIGBh" + + "cGktcmVzb3VyY2VzYCBjb21tYW5kLCBhbmQgcmVzb2x2ZSB0aG9zZSBvYmplY3RzLiBGb3JjZS1j" + + "bGVhciB0aGUgbmFtZXNwYWNlIGZpbmFsaXplcnMgb25seSBhcyBhIGxhc3QgcmVzb3J0IHwKfCBg" + + "c3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChUZXJtaW5hdGluZzogZGVsZXRpbmcgZm9yIDxhZ2U+" + + "KWAsIHdhcm5pbmcgfCBBIG5vcm1hbCBkZWxldGlvbiBpcyBzdGlsbCBkcmFpbmluZyB2b2x1bWVz" + + "IGFuZCBmaW5hbGl6ZXJzIHwgV2FpdCBhbmQgcmVydW4gYGNoZWNrYDsgYC0td2FpdGAgcG9sbHMg" + + "dGhpcyByb3cuIEl0IGJlY29tZXMgYHN0dWNrIFRlcm1pbmF0aW5nYCBhZnRlciAyIG1pbnV0ZXMg" + + "fAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKEhlbG0gcmVsZWFzZSBtaWQtb3BlcmF0aW9u" + + "OiA8cmVsZWFzZT4gPHN0YXR1cz4pYCwgd2FybmluZyB8IEFuIGludGVycnVwdGVkIGluc3RhbGws" + + "IHVwZ3JhZGUsIHJvbGxiYWNrIG9yIHRlYXJkb3duIGxlZnQgdGhlIHJlbGVhc2UgYHBlbmRpbmct" + + "KmAgb3IgYHVuaW5zdGFsbGluZ2AuIFRoZSBuZXh0IGB1cGAgZmFpbHMgb24gaXQgfCBJZiBubyBp" + + "bnN0YWxsIG9yIHRlYXJkb3duIGlzIHJ1bm5pbmcsIHJlYWQgYGhlbG0gaGlzdG9yeSA8cmVsZWFz" + + "ZT4gLW4gPG5zPmAsIHRoZW4gZmluaXNoIGl0IHdpdGggYGhlbG0gcm9sbGJhY2tgIG9yIGBoZWxt" + + "IHVuaW5zdGFsbGAgfAp8IGBzdGFsZS1uYW1lc3BhY2VzYDogYDxucz4gKG5vIEhlbG0gcmVsZWFz" + + "ZSlgLCB3YXJuaW5nIHwgVGhlIG5hbWVzcGFjZSBydW5zIG5vIHdvcmtsb2FkIGFuZCBoYXMgbm8g" + + "SGVsbSByZWxlYXNlLCBidXQgc3RpbGwgaG9sZHMgdm9sdW1lIGNsYWltcyBvciB3b3JrbG9hZCBv" + + "YmplY3RzLCBhcyBgZG93bmAgbGVhdmVzIHRoZW0uIEEgcmVpbnN0YWxsIHJlYXR0YWNoZXMgdGhl" + + "IG9sZCB2b2x1bWVzIHwgSW5zcGVjdCBvbmx5OiBga3ViZWN0bCBhcGktcmVzb3VyY2VzIC0tdmVy" + + "YnM9bGlzdCAtLW5hbWVzcGFjZWQgLW8gbmFtZSBcfCB4YXJncyAtbjEga3ViZWN0bCBnZXQgLW4g" + + "PG5zPiAtLXNob3cta2luZCAtLWlnbm9yZS1ub3QtZm91bmRgLiBBbiBBcmdvIENEIG9yIHVwc3Ry" + + "ZWFtIGluc3RhbGwgb2YgYSBnYXRlZCBjb21wb25lbnQgYWxzbyBoYXMgbm8gSGVsbSByZWxlYXNl" + + "IHwKfCBgc3RhbGUtbmFtZXNwYWNlc2AgcmVwb3J0cyBgbm8gSGVsbSByZWxlYXNlYCBvbiBhIGhl" + + "YWx0aHkgaW5zdGFsbCB8IEhlbG0gc3RvcmVzIHJlbGVhc2VzIHdpdGggYEhFTE1fRFJJVkVSPXNx" + + "bGAsIGFuZCBgY2hlY2tgIHJlYWRzIGBIRUxNX0RSSVZFUmAgZnJvbSBpdHMgb3duIGVudmlyb25t" + + "ZW50IG9ubHksIG5vdCBmcm9tIHRoZSBoZWxtZmlsZSBlbnZpcm9ubWVudCB8IEV4cG9ydCBgSEVM" + + "TV9EUklWRVI9c3FsYCBiZWZvcmUgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrYC4gV2l0aCBp" + + "dCwgb25seSBUZXJtaW5hdGluZyBuYW1lc3BhY2VzIGFyZSBjaGVja2VkIHwKfCBgc3RhbGUtbmFt" + + "ZXNwYWNlc2AgZG9lcyBub3Qgc2NhbiBhbiBhZGQtb24gb3IgZ2F0ZWQgbmFtZXNwYWNlIHwgTmFt" + + "ZXNwYWNlcyBiZWhpbmQgYSBzdGFjayBgY29uZGl0aW9uOmAgYXJlIHByb2JlZCBvbmx5IHdoZW4g" + + "dGhhdCBnYXRlIGlzIG9uLiBHYXRlcyBjb21lIGZyb20gdGhlIHN0YWNrIHRoZSBpbnN0YWxsIHVz" + + "ZWQsIGZvdW5kIGFzIGZvciB0aGUgW3NldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKGZsYWdz" + + "Lm1kI3NldHRpbmdzLXJlYWQtZnJvbS10aGUtc3RhY2spOiBpdHMgYGVudmlyb25tZW50cy9iYXNl" + + "LnlhbWxgIGFuZCwgd2hlbiBgLS1lbnZgIG9yIGBIRUxNRklMRV9FTlZgIG5hbWVzIHRoZSBlbnZp" + + "cm9ubWVudCBvciBgLS1wcmVgIGNoZWNrcyB0aGUgcGxhbmUgYmVmb3JlIGl0cyBpbnN0YWxsLCBg" + + "ZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgLiBPdGhlcndpc2UgdGhlIHN0YWNrIGRlZmF1bHRzIGRl" + + "Y2lkZSwgd2hpY2ggbGVhdmUgYGthaS1zY2hlZHVsZXJgLCBgZ3JvdmUtc3lzdGVtYCwgYGR5bmFt" + + "by1zeXN0ZW1gIGFuZCBgbnZjZi11aWAgb2ZmIHwgUGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFs" + + "bCB1c2VkLCBhbmQgdGhlIHN0YWNrIGZsYWcgdGhlIGluc3RhbGwgdXNlZCwgaWYgYW55IHwKCiMj" + + "IEF1dGgKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18Cnwg" + + "YGFkbWluIHRva2VuIHJlcXVpcmVkYCAoaW5pdCBub3QgcnVuKSB8IE5vIGB+Ly5udmNmLWNsaS5z" + + "dGF0ZWAgYW5kIGAtLXRva2VuYCBub3QgcGFzc2VkIHwgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFj" + + "dGl2ZSkgb3IgYC0tdG9rZW49JEpXVCAtLW5vbi1pbnRlcmFjdGl2ZWAgKENJKSB8CnwgYFNpZ25l" + "ZCBKV1QgcmVqZWN0ZWQ6IEFub3RoZXIgYWxnb3JpdGhtIGV4cGVjdGVkLCBvciBubyBtYXRjaGlu" + - "ZyBrZXkocykgZm91bmRgIChpbml0IC8gY2x1c3RlciByZWdpc3RlcikgfCBTdGFsZSBzZXNzaW9u" + - "Lmpzb24gZnJvbSBhIGRpZmZlcmVudCBjb250cm9sIHBsYW5lIHwgYHJtIH4vLm52Y2YtY2xpLnN0" + - "YXRlYCB0aGVuIGBudmNmLWNsaSBpbml0YCBhZ2FpbiB8CnwgYG52Y2Etb3BlcmF0b3JgIEltYWdl" + - "UHVsbEJhY2tPZmYgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwgSW1hZ2Ugbm90IGluIGNsdXN0" + - "ZXIgKG11bHRpLWNsdXN0ZXIgdG9wb2xvZ3kgYnVpbGRzIGl0IGxvY2FsbHkpIHwgYGszZCBpbWFn" + - "ZSBpbXBvcnQgbnZjci5pby8uLi4vbnZjYS1vcGVyYXRvcjpwc2F0IC1jIDxjbHVzdGVyPmAgKG9y" + - "IHdoYXRldmVyIHlvdXIgaW1hZ2UgcHVzaCBwYXRoIGlzKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0Ff" + - "SUQiIGlzIG5vdCBzZXRgIChoZWxtZmlsZSBlcnJvcikgfCBPbGRlciBudmNmLWNsaTsgdGhlIGVu" + - "diBwcm9wYWdhdGlvbiBmaXggbGFuZGVkIGluIE0rNSBmb2xsb3ctdXBzIHwgVXBncmFkZSBgbnZj" + - "Zi1jbGlgIHRvIGEgdmVyc2lvbiBhZnRlciBgNmFhNTcwNGAgfAoKIyMgNC4gV2hlbiB0aGUgdXNl" + - "ciB3YW50cyB0byBzdGFydCBvdmVyCgpJZiB0aGV5IGNvbmZpcm0gYSB0ZWFyZG93bjoKCi0gU2lu" + - "Z2xlLWNsdXN0ZXI6IGBjZCBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayAmJiBtYWtlIGRlc3Ryb3lg" + - "IChvciBgaGVsbSB1bmluc3RhbGxgIHBlciByZWxlYXNlIGluIHJldmVyc2Ugb3JkZXIpLgotIE11" + - "bHRpLWNsdXN0ZXI6IGBoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0" + - "b3JgIG9uIHRoZSBjb21wdXRlIHBsYW5lIEZJUlNUOyB0aGVuIGNvbnRyb2wgcGxhbmU7IHRoZW4g" + - "YG52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+YCB0byByZW1vdmUgdGhl" + - "IElDTVMgcm93LgoKQWx3YXlzIGNvbmZpcm0gYmVmb3JlIGFueSB0ZWFyZG93biDigJQgQ2Fzc2Fu" + - "ZHJhIFN0YXRlZnVsU2V0IFBWQyBkZWxldGlvbiBpcyBkZXN0cnVjdGl2ZSBhbmQgbG9zZXMgY2x1" + - "c3Rlcl9vaWRjIHJvd3MuCgojIyBXaGF0IG5vdCB0byBkbwoKLSAqKkRvbid0IHByb3Bvc2UgYC0t" + - "ZGVidWdgIGFzIGEgZml4LioqIEl0J3MgZGlhZ25vc3RpYyBvbmx5LgotICoqRG9uJ3QgcHJvcG9z" + - "ZSBgaGVsbSB1bmluc3RhbGxgKiogdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdG8g" + - "c3RhcnQgb3Zlci4KLSAqKkRvbid0IHByb3Bvc2UgYGt1YmVjdGwgZGVsZXRlIHB2Y2AqKiBldmVy" + - "IHdpdGhvdXQgY29uZmlybWF0aW9uIOKAlCBpdCBkZWxldGVzIHRoZSB1bmRlcmx5aW5nIFBWLgot" + - "ICoqRG9uJ3QgcmUtcnVuIGB1cGAgd2l0aCBkaWZmZXJlbnQgaW5wdXRzKiogdG8gInNlZSB3aGF0" + - "IGhhcHBlbnMiLiBEaWFnbm9zZSB3aXRoIGBzdGF0dXNgIC8gYGt1YmVjdGwgZGVzY3JpYmVgIGZp" + - "cnN0LgpQSwcIcpIsJr4OAAC+DgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA6AAkAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQAB" + - "AKbOEiMgSW5zdGFsbCBzZWxmLWhvc3RlZCBOVkNGIGZyb20gc2NyYXRjaAoKVXNlciB3YW50cyB0" + - "byBicmluZyB1cCBzZWxmLWhvc3RlZCBOVkNGIG9uIGEgZnJlc2ggS3ViZXJuZXRlcyBjbHVzdGVy" + - "IChvciBrM2QgZm9yIGxvY2FsIGRldikuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGVudHJ5cG9p" + - "bnQuCgojIyBTdGVwcwoKMS4gQ29uZmlybSB0aGUgdG9wb2xvZ3kuIEFzayB0aGUgdXNlcjoKICAg" + - "LSAiU2luZ2xlLWNsdXN0ZXIgKGNvbnRyb2wgcGxhbmUgYW5kIGNvbXB1dGUgcGxhbmUgb24gb25l" + - "IGNsdXN0ZXIsIHNpbXBsZXIpIG9yIHNwbGl0IChjb250cm9sIHBsYW5lIG9uIGNsdXN0ZXIgQSwg" + - "Y29tcHV0ZSBwbGFuZSBvbiBjbHVzdGVyIEIsIHByb2R1Y3Rpb24tc2hhcGVkKT8iCiAgIC0gIldo" + - "YXQncyB0aGUgY2x1c3RlciBuYW1lICh0aGUgYC0tY2x1c3Rlci1uYW1lYCBmbGFnLCBiZWNvbWVz" + - "IHRoZSBJQ01TIHJvdyBpZGVudGlmaWVyKT8gRXhhbXBsZXM6IGBuY3AtbG9jYWxgIGZvciBsb2Nh" + - "bCBkZXYsIGBwcm9kLXVzLWVhc3QtMWAgZm9yIHByb2R1Y3Rpb24uIgogICAtIEZvciBzcGxpdDog" + - "IkNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBjb250ZXh0IG5hbWU/IENvbXB1dGUtcGxhbmUgY29u" + - "dGV4dD8gUHVibGljIElDTVMgVVJMPyIKCjIuIFByZXBhcmUgcmVtb3RlIEdhdGV3YXkgYW5kIENM" + - "SSBjb25maWcgaWYgdGhpcyBpcyBub3QgbG9jYWwgazNkLiBPbmUtY2xpY2sKICAgYXBwbGllcyB0" + - "aGUgY29udHJvbCBwbGFuZSwgdGhlbiBpbW1lZGlhdGVseSBjYWxscyBBUEksIEFQSSBLZXlzLCBp" + - "bnZvY2F0aW9uLAogICBhbmQgZ1JQQyBlbmRwb2ludHMuIEZvciByZW1vdGUgY2x1c3RlcnMsIHRo" + - "ZSBHYXRld2F5IG11c3QgYmUgcHJvZ3JhbW1lZCBhbmQKICAgdGhlIENMSSBjb25maWcgbXVzdCBw" + - "b2ludCBhdCB0aGUgR2F0ZXdheSBsb2FkIGJhbGFuY2VyIGJlZm9yZSBgdXBgIHJ1bnMuCgogICBJ" + - "ZiBHYXRld2F5IEFQSSBpbmdyZXNzIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQsIGNyZWF0ZSBpdCBm" + - "aXJzdC4gVGhlc2UgYXJlIHRoZQogICBzaGFyZWQgR2F0ZXdheSBzZXR1cCBzdGVwcyB1c2VkIGJ5" + - "IG9uZS1jbGljaywgSGVsbWZpbGUsIGFuZCBzdGFuZGFsb25lIGNoYXJ0CiAgIGluc3RhbGwgcGF0" + - "aHM6CgogICBgYGBzaAogICBrdWJlY3RsIGFwcGx5IC1mIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJl" + - "cm5ldGVzLXNpZ3MvZ2F0ZXdheS1hcGkvcmVsZWFzZXMvZG93bmxvYWQvdjEuMi4wL2V4cGVyaW1l" + - "bnRhbC1pbnN0YWxsLnlhbWwKCiAgIGZvciBuYW1lc3BhY2UgaW4gZW52b3ktZ2F0ZXdheS1zeXN0" + - "ZW0gZW52b3ktZ2F0ZXdheSBhcGkta2V5cyBlc3Mgc2lzIG52Y2Y7IGRvCiAgICAga3ViZWN0bCBj" + - "cmVhdGUgbmFtZXNwYWNlICIkbmFtZXNwYWNlIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBr" + - "dWJlY3RsIGFwcGx5IC1mIC0KICAgZG9uZQoKICAgZm9yIG5hbWVzcGFjZSBpbiBlbnZveS1nYXRl" + - "d2F5IGFwaS1rZXlzIGVzcyBzaXMgbnZjZjsgZG8KICAgICBrdWJlY3RsIGxhYmVsIG5hbWVzcGFj" + - "ZSAiJG5hbWVzcGFjZSIgbnZjZi9wbGF0Zm9ybT10cnVlIC0tb3ZlcndyaXRlCiAgIGRvbmUKCiAg" + - "IGhlbG0gdXBncmFkZSAtLWluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0" + - "ZXdheS1oZWxtIFwKICAgICAtLXZlcnNpb24gdjEuMS4zIFwKICAgICAtbiBlbnZveS1nYXRld2F5" + - "LXN5c3RlbQogICBgYGAKCiAgIEJlZm9yZSBhcHBseWluZyB0aGUgYEVudm95UHJveHlgLCBkZXRl" + - "cm1pbmUgd2hpY2ggU2VydmljZSBjb250cm9sbGVyIG93bnMKICAgbG9hZCBiYWxhbmNlcnMgb24g" + - "RUtTLiBEbyBub3QgYXBwbHkgdGhlIG1hbmlmZXN0IHVudGlsIHlvdSBoYXZlIHNlbGVjdGVkIHRo" + - "ZQogICBtYXRjaGluZyBgZW52b3lTZXJ2aWNlYCBjb25maWd1cmF0aW9uLiBVc2UgdGhlIEVLUyBB" + - "UEkgYW5kIHRoZSBpbi1jbHVzdGVyCiAgIGNvbnRyb2xsZXIgRGVwbG95bWVudCBpbnN0ZWFkIG9m" + - "IGd1ZXNzaW5nIGZyb20gdGhlIGNsdXN0ZXIgYWdlIG9yIGV4aXN0aW5nCiAgIFNlcnZpY2VzOgoK" + - "ICAgYGBgc2gKICAgZXhwb3J0IEVLU19DTFVTVEVSX05BTUU9IjxjbHVzdGVyLW5hbWU+IgoKICAg" + - "YXdzIGVrcyBkZXNjcmliZS1jbHVzdGVyIC0tbmFtZSAiJEVLU19DTFVTVEVSX05BTUUiIFwKICAg" + - "ICAtLXF1ZXJ5ICdjbHVzdGVyLmt1YmVybmV0ZXNOZXR3b3JrQ29uZmlnLmVsYXN0aWNMb2FkQmFs" + - "YW5jaW5nLmVuYWJsZWQnIFwKICAgICAtLW91dHB1dCB0ZXh0CiAgIGt1YmVjdGwgLW4ga3ViZS1z" + - "eXN0ZW0gZ2V0IGRlcGxveW1lbnQgYXdzLWxvYWQtYmFsYW5jZXItY29udHJvbGxlcgogICBgYGAK" + - "CiAgIEFuIEVLUyBBUEkgcmVzdWx0IG9mIGBUcnVlYCBzZWxlY3RzCiAgIFtFS1MgQXV0byBNb2Rl" + - "XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvYXV0by1j" + - "b25maWd1cmUtbmxiLmh0bWwpLgogICBPdGhlcndpc2UsIGEgc3VjY2Vzc2Z1bCBEZXBsb3ltZW50" + - "IGxvb2t1cCBzZWxlY3RzIHRoZSBBV1MgTG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyLiBJZiBu" + - "ZWl0aGVyIGlzIHByZXNlbnQsIGNvbmZpcm0gdGhhdCB0aGUgY2x1c3RlciBpbnRlbnRpb25hbGx5" + - "CiAgIHVzZXMgdGhlIGxlZ2FjeSBBV1MgY2xvdWQgcHJvdmlkZXIgU2VydmljZSBjb250cm9sbGVy" + - "LCBvciBpbnN0YWxsIHRoZSBBV1MKICAgTG9hZCBCYWxhbmNlciBDb250cm9sbGVyLCBiZWZvcmUg" + - "YXBwbHlpbmcgdGhlIGV4YW1wbGUuCgogICBUaGUgYXBwbGllZCBtYW5pZmVzdCBiZWxvdyBpcyBm" + - "b3IgdGhlIEFXUyBMb2FkIEJhbGFuY2VyIENvbnRyb2xsZXIuIEZvciBFS1MKICAgQXV0byBNb2Rl" + - "LCByZXBsYWNlIGl0cyBgZW52b3lTZXJ2aWNlYCBtYXAgYmVmb3JlIGFwcGx5aW5nIGl0IHdpdGg6" + - "CgogICBgYGB5YW1sCiAgIGVudm95U2VydmljZToKICAgICBsb2FkQmFsYW5jZXJDbGFzczogZWtz" + - "LmFtYXpvbmF3cy5jb20vbmxiCiAgICAgYW5ub3RhdGlvbnM6CiAgICAgICBzZXJ2aWNlLmJldGEu" + - "a3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci1zY2hlbWU6ICJpbnRlcm5ldC1mYWNpbmci" + - "CiAgIGBgYAoKICAgRm9yIHRoZSBsZWdhY3kgQVdTIGNsb3VkIHByb3ZpZGVyIFNlcnZpY2UgY29u" + - "dHJvbGxlciwgcmVwbGFjZSB0aGUgbWFwIHdpdGg6CgogICBgYGB5YW1sCiAgIGVudm95U2Vydmlj" + - "ZToKICAgICBhbm5vdGF0aW9uczoKICAgICAgIHNlcnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3" + - "cy1sb2FkLWJhbGFuY2VyLXR5cGU6ICJubGIiCiAgIGBgYAoKICAgVGhlIGxlZ2FjeSBjb250cm9s" + - "bGVyIGNyZWF0ZXMgYW4gaW50ZXJuZXQtZmFjaW5nIGxvYWQgYmFsYW5jZXIgYnkgZGVmYXVsdC4K" + - "ICAgRG8gbm90IGNvbWJpbmUgdGhlIGxlZ2FjeSBgbmxiYCBzZWxlY3RvciB3aXRoIHRoZSBBV1Mg" + - "TG9hZCBCYWxhbmNlcgogICBDb250cm9sbGVyIHRhcmdldCB0eXBlIGFuZCBzY2hlbWUgYW5ub3Rh" + - "dGlvbnMuIEl0IHN1cHBvcnRzIGFuIE5MQiBTZXJ2aWNlCiAgIHdob3NlIHBvcnRzIHVzZSBvbmx5" + - "IFRDUCBvciBvbmx5IFVEUCwgYnV0IHJlamVjdHMgb25lIFNlcnZpY2UgdGhhdCBjb21iaW5lcwog" + - "ICBUQ1AgYW5kIFVEUCBwb3J0cy4gVXNlIHRoZSBBV1MgTG9hZCBCYWxhbmNlciBDb250cm9sbGVy" + - "IHdoZW4gdGhlIGdlbmVyYXRlZAogICBFbnZveSBTZXJ2aWNlIGNvbWJpbmVzIHByb3RvY29scy4g" + - "T24gbm9uLUFXUyBjbHVzdGVycywgcmVwbGFjZSB0aGUgbWFwIHdpdGgKICAgdGhlIHByb3ZpZGVy" + - "J3MgU2VydmljZSBjb25maWd1cmF0aW9uIGJlZm9yZSBhcHBseWluZyBpdC4KCiAgIGBgYHNoCiAg" + - "ICMgTm9uLUVLUy1BdXRvLU1vZGUgZXhhbXBsZTogdXNlIEFXUyBMQkMgd2l0aCBpbnN0YW5jZSB0" + - "YXJnZXRzLgogICBrdWJlY3RsIGFwcGx5IC1mIC0gPDxFT0YKICAgYXBpVmVyc2lvbjogZ2F0ZXdh" + - "eS5lbnZveXByb3h5LmlvL3YxYWxwaGExCiAgIGtpbmQ6IEVudm95UHJveHkKICAgbWV0YWRhdGE6" + - "CiAgICAgbmFtZTogZWcKICAgICBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgIHNw" + - "ZWM6CiAgICAgcHJvdmlkZXI6CiAgICAgICB0eXBlOiBLdWJlcm5ldGVzCiAgICAgICBrdWJlcm5l" + - "dGVzOgogICAgICAgICBlbnZveVNlcnZpY2U6CiAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAg" + - "ICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3MtbG9hZC1iYWxhbmNlci10eXBl" + - "OiAiZXh0ZXJuYWwiCiAgICAgICAgICAgICBzZXJ2aWNlLmJldGEua3ViZXJuZXRlcy5pby9hd3Mt" + - "bG9hZC1iYWxhbmNlci1ubGItdGFyZ2V0LXR5cGU6ICJpbnN0YW5jZSIKICAgICAgICAgICAgIHNl" + - "cnZpY2UuYmV0YS5rdWJlcm5ldGVzLmlvL2F3cy1sb2FkLWJhbGFuY2VyLXNjaGVtZTogImludGVy" + - "bmV0LWZhY2luZyIKICAgLS0tCiAgIGFwaVZlcnNpb246IGdhdGV3YXkubmV0d29ya2luZy5rOHMu" + - "aW8vdjEKICAga2luZDogR2F0ZXdheUNsYXNzCiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGVnCiAg" + - "IHNwZWM6CiAgICAgY29udHJvbGxlck5hbWU6IGdhdGV3YXkuZW52b3lwcm94eS5pby9nYXRld2F5" + - "Y2xhc3MtY29udHJvbGxlcgogICAgIHBhcmFtZXRlcnNSZWY6CiAgICAgICBncm91cDogZ2F0ZXdh" + - "eS5lbnZveXByb3h5LmlvCiAgICAgICBraW5kOiBFbnZveVByb3h5CiAgICAgICBuYW1lOiBlZwog" + - "ICAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICBFT0YKCiAgIGt1YmVjdGwg" + - "YXBwbHkgLWYgLSA8PEVPRgogICBhcGlWZXJzaW9uOiBnYXRld2F5Lm5ldHdvcmtpbmcuazhzLmlv" + - "L3YxCiAgIGtpbmQ6IEdhdGV3YXkKICAgbWV0YWRhdGE6CiAgICAgbmFtZTogbnZjZi1nYXRld2F5" + - "CiAgICAgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5CiAgIHNwZWM6CiAgICAgZ2F0ZXdheUNsYXNz" + - "TmFtZTogZWcKICAgICBsaXN0ZW5lcnM6CiAgICAgLSBuYW1lOiBodHRwCiAgICAgICBwcm90b2Nv" + - "bDogSFRUUAogICAgICAgcG9ydDogODAKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5h" + - "bWVzcGFjZXM6CiAgICAgICAgICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoK" + - "ICAgICAgICAgICAgIG1hdGNoTGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAi" + - "dHJ1ZSIKICAgICAtIG5hbWU6IHRjcAogICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgcG9ydDog" + - "MTAwODEKICAgICAgIGFsbG93ZWRSb3V0ZXM6CiAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAg" + - "ICAgZnJvbTogU2VsZWN0b3IKICAgICAgICAgICBzZWxlY3RvcjoKICAgICAgICAgICAgIG1hdGNo" + - "TGFiZWxzOgogICAgICAgICAgICAgICBudmNmL3BsYXRmb3JtOiAidHJ1ZSIKICAgRU9GCiAgIGBg" + - "YAoKICAgU2VydmljZSBhbm5vdGF0aW9ucyBtdXN0IGJlIHVuZGVyCiAgIGBFbnZveVByb3h5LnNw" + - "ZWMucHJvdmlkZXIua3ViZXJuZXRlcy5lbnZveVNlcnZpY2UuYW5ub3RhdGlvbnNgLiBFbnZveSBH" + - "YXRld2F5CiAgIGNvcGllcyB0aGVtIHRvIHRoZSBnZW5lcmF0ZWQgRW52b3kgU2VydmljZS4gRG8g" + - "bm90IHB1dCBTZXJ2aWNlIGFubm90YXRpb25zCiAgIG9uIHRoZSBgR2F0ZXdheWAgcmVzb3VyY2Uu" + - "CgogICBDYXB0dXJlIHRoZSBHYXRld2F5IHZhbHVlcyBhbmQgd3JpdGUgdGhlIENMSSBjb25maWc6" + - "CgogICBgYGBzaAogICBleHBvcnQgQ0xVU1RFUl9OQU1FPSJudmNmLXJlbW90ZSIKICAgZXhwb3J0" + - "IE5DQV9JRD0ibnZjZi1kZWZhdWx0IgogICBleHBvcnQgUkVHSU9OPSJ1cy13ZXN0LTEiCiAgIGV4" + - "cG9ydCBIVFRQX0dBVEVXQVlfTkFNRVNQQUNFPSJlbnZveS1nYXRld2F5IgogICBleHBvcnQgSFRU" + - "UF9HQVRFV0FZX05BTUU9Im52Y2YtZ2F0ZXdheSIKICAgZXhwb3J0IEdSUENfR0FURVdBWV9OQU1F" + - "U1BBQ0U9ImVudm95LWdhdGV3YXkiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfTkFNRT0ibnZjZi1n" + - "YXRld2F5IgoKICAga3ViZWN0bCAtbiAiJEhUVFBfR0FURVdBWV9OQU1FU1BBQ0UiIHdhaXQgImdh" + - "dGV3YXkvJEhUVFBfR0FURVdBWV9OQU1FIiBcCiAgICAgLS1mb3I9Y29uZGl0aW9uPVByb2dyYW1t" + - "ZWQ9VHJ1ZSAtLXRpbWVvdXQ9MTBtCiAgIGt1YmVjdGwgLW4gIiRHUlBDX0dBVEVXQVlfTkFNRVNQ" + - "QUNFIiB3YWl0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIgXAogICAgIC0tZm9yPWNvbmRp" + - "dGlvbj1Qcm9ncmFtbWVkPVRydWUgLS10aW1lb3V0PTEwbQoKICAgZXhwb3J0IEdBVEVXQVlfQURE" + - "Uj0iJChrdWJlY3RsIC1uICIkSFRUUF9HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRI" + - "VFRQX0dBVEVXQVlfTkFNRSIgXAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNb" + - "MF0udmFsdWV9JykiCiAgIGV4cG9ydCBHUlBDX0dBVEVXQVlfQUREUj0iJChrdWJlY3RsIC1uICIk" + - "R1JQQ19HQVRFV0FZX05BTUVTUEFDRSIgZ2V0ICJnYXRld2F5LyRHUlBDX0dBVEVXQVlfTkFNRSIg" + - "XAogICAgIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNzZXNbMF0udmFsdWV9JykiCiAgIHRl" + - "c3QgLW4gIiRHQVRFV0FZX0FERFIiIHx8IGV4aXQgMQogICB0ZXN0IC1uICIkR1JQQ19HQVRFV0FZ" + - "X0FERFIiIHx8IGV4aXQgMQogICBleHBvcnQgU1RBQ0tfRE9NQUlOPSIkR0FURVdBWV9BRERSIgog" + - "ICBgYGAKCiAgIFNldCBgU1RBQ0tfRE9NQUlOYCB0byB0aGUgaG9zdG5hbWUgc3VmZml4IHVzZWQg" + - "YnkgdGhlIGluc3RhbGxlZCBIVFRQUm91dGVzLgogICBGb3IgcmVtb3RlIHRlc3QgZmxvd3Mgd2l0" + - "aG91dCBwcm9kdWN0aW9uIEROUywgdXNlIHRoZSBHYXRld2F5IGxvYWQgYmFsYW5jZXIKICAgYWRk" + - "cmVzcy4KCiAgIGBgYHNoCiAgIGNhdCA+IC5udmNmLWNsaS55YW1sIDw8RU9GCiAgIGJhc2VfaHR0" + - "cF91cmw6ICJodHRwOi8vJHtHQVRFV0FZX0FERFJ9IgogICBpbnZva2VfdXJsOiAiaHR0cDovLyR7" + - "R0FURVdBWV9BRERSfSIKICAgYmFzZV9ncnBjX3VybDogIiR7R1JQQ19HQVRFV0FZX0FERFJ9OjEw" + - "MDgxIgogICBhcGlfa2V5c19zZXJ2aWNlX3VybDogImh0dHA6Ly8ke0dBVEVXQVlfQUREUn0iCgog" + - "ICBhcGlfa2V5c19ob3N0OiAiYXBpLWtleXMuJHtTVEFDS19ET01BSU59IgogICBhcGlfaG9zdDog" + - "ImFwaS4ke1NUQUNLX0RPTUFJTn0iCiAgIGludm9rZV9ob3N0OiAiaW52b2NhdGlvbi4ke1NUQUNL" + - "X0RPTUFJTn0iCgogICBhcGlfa2V5c19zZXJ2aWNlX2lkOiAibnZpZGlhLWNsb3VkLWZ1bmN0aW9u" + - "cy1uY3Atc2VydmljZS1pZC1ha2V0bSIKICAgYXBpX2tleXNfaXNzdWVyX3NlcnZpY2U6ICJudmNm" + - "LWFwaSIKICAgYXBpX2tleXNfb3duZXJfaWQ6ICJzdmNAbnZjZi1hcGkubG9jYWwiCgogICBjbGll" + - "bnRfaWQ6ICIke05DQV9JRH0iCiAgIEVPRgogICBgYGAKCjMuIFJ1biBwcmUtZmxpZ2h0LiBDaG9v" + - "c2UgdGhlIGZsYXZvciBtYXRjaGluZyB0aGUgdG9wb2xvZ3kuIGAtLWpzb25gIHdyaXRlcwogICBK" + - "U09OTCB0byBzdGRlcnIsIHNvIHJlZGlyZWN0IGl0IHRvIHRoZSBwYXJzZXIgYW5kIGtlZXAgb25s" + - "eSBKU09OIGxpbmVzOgoKICAgYGBgc2gKICAgIyBTaW5nbGUtY2x1c3RlcgogICBudmNmLWNsaSBz" + - "ZWxmLWhvc3RlZCBjaGVjayAtLXByZSAtLWpzb24gMj4mMSA+L2Rldi9udWxsIHwgZ3JlcCAnXnsn" + - "ID4gY2hlY2suanNvbmwKCiAgICMgU3BsaXQ6IHBhc3MgYm90aCBjb250ZXh0IGZsYWdzCiAgIG52" + - "Y2YtY2xpIHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFwKICAgICAtLWNvbnRyb2wtcGxhbmUtY29u" + - "dGV4dD1hZG1pbkBjcCBcCiAgICAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQ9YWRtaW5AZ3B1MSBc" + - "CiAgICAgLS1qc29uIDI+JjEgPi9kZXYvbnVsbCB8IGdyZXAgJ157JyA+IGNoZWNrLmpzb25sCgog" + - "ICAjIEdhdGUgb24gdGhlIGZpbmFsIGV2ZW50LiBBIG1pc3NpbmcgZmluYWwgZXZlbnQgYWxzbyBm" + - "YWlscyB0aGUgZ2F0ZS4KICAganEgLXNlICdhbnkoLltdOyAuZXZlbnQgPT0gImZpbmFsIiBhbmQg" + - "LnN1Y2Nlc3MpJyBjaGVjay5qc29ubAogICBgYGAKCiAgIElmIHRoZSBnYXRlIGZhaWxzLCBzaG93" + - "IHRoZSB1c2VyIGVhY2ggYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQgd2l0aAogICBgcGFzc2VkOiBm" + - "YWxzZWAgYW5kIGBzZXZlcml0eTogImVycm9yImAgKGl0cyBgbWVzc2FnZWAgYW5kIGBoaW50VVJM" + - "YCksIGFuZAogICBzdG9wLiBEb24ndCBwcm9jZWVkIHRvIGluc3RhbGwgd2l0aCBicm9rZW4gcHJl" + - "cmVxcy4gUm93cyBhdAogICBgc2V2ZXJpdHk6ICJ3YXJuaW5nImAgZG8gbm90IGZhaWwgdGhlIGdh" + - "dGU7IG1lbnRpb24gdGhlbS4gRm9yIGFuIG9wZXJhdG9yCiAgIHdpdGgga3ViZWN0bCBhY2Nlc3Mg" + - "dG8gdGhlIGNvbXB1dGUgcGxhbmUgb25seSwgdXNlIHRoZSBjb21wdXRlLW9ubHkgZm9ybSBpbgog" + - "ICBbYWRkLWNvbXB1dGUtcGxhbmUubWRdKGFkZC1jb21wdXRlLXBsYW5lLm1kKSBpbnN0ZWFkLgoK" + - "NC4gTWludCBhbiBhZG1pbiB0b2tlbiBpZiBuZWVkZWQuIGBudmNmLWNsaSBpbml0YCBpcyBpZGVt" + - "cG90ZW50LiBDYWxsIGl0IGlmIHRoZQogICB1c2VyIGRvZXMgbm90IGhhdmUgYSBzZXNzaW9uIHll" + - "dC4gSW5pdCB0YWxrcyB0byBBUEkgS2V5cyB0aHJvdWdoIHRoZSBwdWJsaWMKICAgQVBJIGdhdGV3" + - "YXksIHNvIGl0IGFsc28gd29ya3MgaW4gY29tcHV0ZS1vbmx5IG1vZGUuCgo1LiBSdW4gYHVwYC4g" + - "VXNlIGAtLWpzb25gIGZvciB0aGUgSlNPTkwgZXZlbnQgc3RyZWFtOgoKICAgYGBgc2gKICAgbnZj" + - "Zi1jbGkgc2VsZi1ob3N0ZWQgdXAgXAogICAgIC0tY2x1c3Rlci1uYW1lPSIke0NMVVNURVJfTkFN" + - "RX0iIFwKICAgICAtLW5jYS1pZD0iJHtOQ0FfSUR9IiBcCiAgICAgLS1yZWdpb249IiR7UkVHSU9O" + - "fSIgXAogICAgIC0tanNvbgogICBgYGAKCiAgIEZvciBzcGxpdC1jbHVzdGVyIGluc3RhbGxzLCBh" + - "ZGQgYm90aCBjb250ZXh0IGZsYWdzOgoKICAgYGBgc2gKICAgZXhwb3J0IENPTlRST0xfUExBTkVf" + - "Q09OVEVYVD0iYWRtaW5AY29udHJvbC1wbGFuZSIKICAgZXhwb3J0IENPTVBVVEVfUExBTkVfQ09O" + - "VEVYVD0iYWRtaW5AZ3B1LWNsdXN0ZXIiCgogICBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cCBcCiAg" + - "ICAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQ9IiR7Q09OVFJPTF9QTEFORV9DT05URVhUfSIgXAog" + - "ICAgIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0PSIke0NPTVBVVEVfUExBTkVfQ09OVEVYVH0iIFwK" + - "ICAgICAtLWNsdXN0ZXItbmFtZT0iJHtDTFVTVEVSX05BTUV9IiBcCiAgICAgLS1uY2EtaWQ9IiR7" + - "TkNBX0lEfSIgXAogICAgIC0tcmVnaW9uPSIke1JFR0lPTn0iIFwKICAgICAtLWpzb24KICAgYGBg" + - "CgogICBQYXJzZSBldmVudHM6CiAgIC0gYHBoYXNlX3N0YXJ0ZWRgIC8gYHBoYXNlX2NvbXBsZXRl" + - "ZGA6IGxvZyBwcm9ncmVzcwogICAtIGBwaGFzZV9wcm9ncmVzc2A6IHNob3cgcHJvZ3Jlc3MgZm9y" + - "IHRoZSBsb25nIGFwcGx5IHBoYXNlcyAocmVzb3VyY2UgY291bnRzKQogICAtIGB3YWl0aW5nYDog" + - "c3VyZmFjZSB0byB0aGUgdXNlciBpZiBpdCBwZXJzaXN0cyBmb3IgbW9yZSB0aGFuIDIgbWludXRl" + - "cwogICAtIGBwaGFzZV9mYWlsZWRgOiBzdG9wIGFuZCBzdXJmYWNlIGBlcnJNZXNzYWdlYCBwbHVz" + - "IGVhY2ggYHJlbWVkaWF0aW9uYCBsaW5lLgogICAgIERlY2lkZSBiYXNlZCBvbiBgcmV0cnlDbGFz" + - "c2A6IGBpbW1lZGlhdGVgIC0+IG1heSByZS1ydW4gbm93IHdpdGggdXNlcgogICAgIGFwcHJvdmFs" + - "OyBgYmFja29mZmAgLT4gd2FpdCBgcmV0cnlBZnRlclNlY2AgYW5kIHRoZW4gcmUtcnVuIHdpdGgg" + - "dXNlcgogICAgIGFwcHJvdmFsOyBgYWZ0ZXJfcmVtZWRpYXRpb25gLCBgbm9uZWAsIG9yIGB1bmtu" + - "b3duYCAtPiB0aGUgb3BlcmF0b3IgbXVzdAogICAgIGFjdCBmaXJzdCwgc28gZG8gbm90IGF1dG8t" + - "cmV0cnkuCiAgIC0gYGZpbmFsYDogZG9uZS4gUHJpbnQgY2x1c3RlcklkIGFuZCBOVkNGQmFja2Vu" + - "ZCBoZWFsdGguCgo2LiBWZXJpZnkgd2l0aCBzdGF0dXMuIFJ1biBgbnZjZi1jbGkgc2VsZi1ob3N0" + - "ZWQgc3RhdHVzIC0tanNvbiB8IGpxYCBhbmQgZXhwZWN0CiAgIGB2ZXJkaWN0OiAiaGVhbHRoeSJg" + - "LiBPdGhlcndpc2UsIHVzZQogICBbZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRdKGRpYWdub3Nl" + - "LWZhaWxlZC1pbnN0YWxsLm1kKS4KCjcuIE9wdGlvbmFsbHkgc21va2UgdGVzdCBhIGZ1bmN0aW9u" + - "LiBVc2UKICAgW2RlcGxveS1hbmQtaW52b2tlLm1kXShkZXBsb3ktYW5kLWludm9rZS5tZCkgZm9y" + - "IHRoZSBjcmVhdGUgLT4gZGVwbG95IC0+CiAgIGludm9rZSBmbG93LgoKIyMgTm90ZXMKCi0gU2lu" + - "Z2xlLWNsdXN0ZXIgYHVwYCBhZ2FpbnN0IGEgZnJlc2ggY2x1c3RlciB0YWtlcyBhYm91dCAxMC0x" + - "MyBtaW51dGVzLAogIGRlcGVuZGluZyBvbiBjaGFydCBwdWxsIHNwZWVkIGFuZCBOQVRTIHN0cmVh" + - "bS1pbml0IGxhdGVuY3kuCi0gYHVwYCBpcyBpZGVtcG90ZW50LiBJdCBpcyBzYWZlIHRvIHJlLXJ1" + - "biBhZnRlciBmaXhpbmcgYSBwcmVyZXF1aXNpdGUuCi0gTmV2ZXIgcHJvcG9zZSBgLS1mb3JjZWAg" + - "KG5vIGNvbW1hbmQgdGFrZXMgb25lIGFueXdheSkuCi0gSWYgdGhlIHVzZXIgaGFzIENJIC8gYCRD" + - "SWAgc2V0LCBhbHdheXMgdXNlIGAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRva2VuPSRKV1RgOyBuZXZl" + - "ciBwcm9wb3NlIGBudmNmLWNsaSBpbml0YCBpbnRlcmFjdGl2ZWx5LgpQSwcItEnfJ1YpAABWKQAA" + - "UEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAA5AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkv" + - "cHJvbXB0cy9yb3RhdGUtY2x1c3Rlci1qd2tzLm1kVVQFAAEAps4SIyBSb3RhdGUgYSBjbHVzdGVy" + - "J3MgSldLUwoKVXNlciBzYXlzIE5WQ0Egc3RvcHBlZCBhdXRoZW50aWNhdGluZywgb3IgUFNBVCBh" + - "dXRoIGlzIDQwMS1pbmcgYWdhaW5zdCBJQ01TLiBUaGUgSzhzIEFQSSBzZXJ2ZXIncyBKV1Qgc2ln" + - "bmluZyBrZXlzIG1heSBoYXZlIHJvdGF0ZWQgYW5kIHRoZSBKV0tTIHN0b3JlZCBpbiBJQ01TIGlz" + - "IG5vdyBzdGFsZS4KCiMjIFdoZW4gdG8gcm90YXRlCgotIGBrdWJlY3RsIGxvZ3MgLW4gbnZjYS1z" + - "eXN0ZW0gLWwgYXBwLmt1YmVybmV0ZXMuaW8vbmFtZT1udmNhYCBzaG93cyBgSFRUUCA0MDFgIG9u" + - "IGAvdjEvbnZjYS9jbHVzdGVycy88aWQ+L3JlZ2lzdGVyYCByZXBlYXRlZGx5Ci0gSUNNUyBsb2dz" + - "IHNob3cgYE5vIGNsdXN0ZXIgZm91bmQgd2l0aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8" + - "aWQ+YCAoY2F1c2VkIGJ5IGlzc3VlciBtaXNtYXRjaCwgbm90IEpXS1MsIGJ1dCByb3RhdGUgZml4" + - "ZXMgYm90aCkKLSBBZnRlciBhIGNvbnRyb2wtcGxhbmUgSzhzIHVwZ3JhZGUgb3IgY29tcHV0ZS1w" + - "bGFuZSBLOHMgdXBncmFkZQoKIyMgU3RlcHMKCjEuIENvbmZpcm0gdGhlIGNsdXN0ZXIgSUQuIFJ1" + - "biBgbnZjZi1jbGkgY2x1c3RlciBsaXN0LXJlZ2lzdGVyZWQgLS1uY2EtaWQ9JE5DQV9JRCAtLWlj" + - "bXMtdXJsPSRJQ01TYC4gSWRlbnRpZnkgdGhlIHJvdyBtYXRjaGluZyB0aGUgdXNlcidzIGNvbXB1" + - "dGUgcGxhbmUuCgoyLiAqKlJvdGF0ZS4qKiBVc2UgYSBjb250ZXh0IHRoYXQgY2FuIHJlYWNoIHRo" + - "ZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSAoYmVjYXVzZSByb3RhdGlvbiByZS1mZXRjaGVzIHRo" + - "ZSBLOHMgQVBJJ3MgYC9vcGVuaWQvdjEvandrc2ApLiBXcml0ZSB0aGF0IGNvbnRleHQgYWxvbmUg" + - "dG8gYSB0ZW1wb3Jhcnkga3ViZWNvbmZpZyBhbmQgcGFzcyBpdCB3aXRoIGAtLWt1YmVjb25maWdg" + - "LCBzbyB0aGUgY3VycmVudCBjb250ZXh0IG9mIHlvdXIga3ViZWNvbmZpZyBzdGF5cyBhcyBpdCB3" + - "YXM6CgogICBgYGBzaAogICBLQz0kKG1rdGVtcCkKICAga3ViZWN0bCBjb25maWcgdmlldyAtLW1p" + - "bmlmeSAtLWZsYXR0ZW4gLS1jb250ZXh0PTxjdHg+ID4gIiRLQyIgJiYKICAgICBudmNmLWNsaSBj" + - "bHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPiAtLWt1YmVjb25maWc9IiRLQyIKICAgcm0g" + - "LWYgIiRLQyIKICAgYGBgCgogICBgY2x1c3RlciByb3RhdGVgIHJlLWZldGNoZXMgSldLUyBmcm9t" + - "IHRoZSBjb21wdXRlIHBsYW5lJ3MgSzhzIEFQSSBhbmQgUFVUcyBpdCB0byBJQ01TLiBUaGUgY2x1" + - "c3RlciBJRCBzdGF5cyB0aGUgc2FtZS4gVGhlIHRlbXBvcmFyeSBmaWxlIGhvbGRzIHRoZSBjb250" + - "ZXh0J3MgY3JlZGVudGlhbHM6IGBta3RlbXBgIG1ha2VzIGl0IHJlYWRhYmxlIG9ubHkgYnkgeW91" + - "LCBhbmQgYHJtYCByZW1vdmVzIGl0LgoKMy4gKipWZXJpZnkuKiogYG52Y2YtY2xpIGNsdXN0ZXIg" + - "Z2V0IC0tY2x1c3Rlci1pZD08aWQ+YCDigJQgY29uZmlybSBgdXBkYXRlZEF0YCBhZHZhbmNlZC4g" + - "VGhlbiBga3ViZWN0bCBsb2dzIC1uIG52Y2Etc3lzdGVtIC1sIGFwcC5rdWJlcm5ldGVzLmlvL25h" + - "bWU9bnZjYSAtLXRhaWw9MjBgIOKAlCByZWdpc3RlciBhdHRlbXB0cyBzaG91bGQgc3VjY2VlZCAo" + - "MjAwLCBub3QgNDAxKS4KCiMjIFdoYXQgbm90IHRvIGRvCgotICoqRG9uJ3QgYGNsdXN0ZXIgZGVs" + - "ZXRlYC4qKiBSb3RhdGlvbiBwcmVzZXJ2ZXMgdGhlIGNsdXN0ZXIgSUQgKyBncm91cCBJRDsgZGVs" + - "ZXRlIGNyZWF0ZXMgYSBuZXcgcm93IGFuZCB5b3UgaGF2ZSB0byByZWRlcGxveSB0aGUgY29tcHV0" + - "ZSBwbGFuZSB3aXRoIG5ldyBJRHMuCi0gKipEb24ndCBtYW51YWxseSBlZGl0IGBvdXQvPGNsdXN0" + - "ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYC4qKiBSb3RhdGUgdXBkYXRlcyBJQ01TIG9ubHk7IHRo" + - "ZSBoZWxtIHZhbHVlcyBmaWxlIGFscmVhZHkgaGFzIHRoZSByaWdodCBjbHVzdGVyIElELgoKIyMg" + - "SWYgcm90YXRpb24gZG9lc24ndCBmaXggaXQKClRoZSBhdXRoIGZhaWx1cmUgbWF5IGJlIGF0IGEg" + - "ZGlmZmVyZW50IGxheWVyIOKAlCBjaGVjazoKCi0gTkFUUyBhdXRoLWNhbGxvdXQgaGVhbHRoIChg" + - "a3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFwcD1uYXRzLWF1dGgtY2FsbG91dC1zZXJ2" + - "aWNlYCkKLSBDbHVzdGVyIHJvdyBleGlzdHMgaW4gYGNsdXN0ZXJfb2lkY19ieV9jbHVzdGVyX2lk" + - "YCBDYXNzYW5kcmEgdGFibGUKLSBgaGVsbS1yZXZhbC1zZXJ2aWNlYCBjb25maWdtYXAgaGFzIGBh" + - "dXRoei5vaWRjLmVuYWJsZWQ9dHJ1ZWAKClJvdXRlIHRvIFtkaWFnbm9zZS1mYWlsZWQtaW5zdGFs" + - "bC5tZF0oZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWQpIGZvciB0aG9zZSBjaGVja3MuClBLBwip" + - "wSb3LgkAAC4JAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAC4ACQBkYXRhL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SIyBUZWFyIGRvd24gYSBzZWxm" + - "LWhvc3RlZCBOVkNGIGRlcGxveW1lbnQKCioqU0FGRVRZOioqIFRlYXJkb3duIGRlc3Ryb3lzIHBl" + - "cnNpc3RlbnQgc3RhdGUgKENhc3NhbmRyYSByb3dzLCBPcGVuQmFvIHNlYWwga2V5cywgcmVnaXN0" + - "ZXJlZCBjbHVzdGVycykuIEFsd2F5cyBjb25maXJtIHdpdGggdGhlIHVzZXIgYmVmb3JlIGFueSBz" + - "dGVwLgoKIyMgVEw7RFIg4oCUIGBkb3duYCBmb3Igb25lLXNob3QsIGB1bmluc3RhbGxgIGZvciBw" + - "ZXItcGxhbmUKClRoZSBDTEkgcHJvdmlkZXMgYSB0d28tdGllciB0ZWFyZG93biBzdXJmYWNlIHN5" + - "bW1ldHJpYyB3aXRoIHRoZSBpbnN0YWxsIHNpZGUgKFJFUS0yMiwgTSsxMSk6Cgp8IFRpZXIgfCBV" + - "cCBzaWRlIChleGlzdGluZykgfCBEb3duIHNpZGUgfAp8LS0tfC0tLXwtLS18CnwgUGVyLXBsYW5l" + - "IHByaW1pdGl2ZSAocmVuZGVycyBZQU1MOyBHaXRPcHMtZnJpZW5kbHkpIHwgYGluc3RhbGwgLS1j" + - "b250cm9sLXBsYW5lYCAvIGBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfCBgdW5pbnN0YWxsIC0t" + - "Y29udHJvbC1wbGFuZWAgLyBgdW5pbnN0YWxsIC0tY29tcHV0ZS1wbGFuZWAgfAp8IE9yY2hlc3Ry" + - "YXRvciAob25lLXNob3QsIG11bHRpLXBsYW5lICsgSUNNUykgfCBgdXAgLS1jbHVzdGVyLW5hbWU9" + - "WGAgfCBgZG93biAtLWNsdXN0ZXItbmFtZT1YYCAvIGBkb3duIC0tYWxsYCB8CgpVc2UgYGRvd25g" + - "IGZvciBub3JtYWwgdGVhcmRvd24uIFVzZSBgdW5pbnN0YWxsYCBmb3IgR2l0T3BzIChjb21taXQg" + - "WUFNTDsgQXJnby9GbHV4IGFwcGxpZXMpIG9yIHNjcmlwdGVkIHBpcGVsaW5lcy4gQWx3YXlzIHN0" + - "YXJ0IHdpdGggYSBkcnktcnVuLgoKIyMgRHJ5LXJ1biBzaGFwZXMKCnwgTW9kZSB8IExpdmVzIG9u" + - "IHwgSW52b2tlcyBoZWxtL2hlbG1maWxlPyB8IE91dHB1dCB8CnwtLS18LS0tfC0tLXwtLS18Cnwg" + - "YC0tcGxhbi1vbmx5YCB8IGB1cGAgLyBgZG93bmAgKG9yY2hlc3RyYXRvcnMpIHwgKipOby4qKiBX" + - "YWxrcyByZXNvbHZlZCBzdGFjayBlbnRyeXBvaW50IGZpbGVzLCBlbWl0cyBwaGFzZSBwbGFuICsg" + - "RVRBcyArIGhlbG0gdW5pbnN0YWxsIGNvbW1hbmQgc3RyaW5ncy4gfCBFdmVudCBzdHJlYW0gfAp8" + - "IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCAvIGB1bmluc3RhbGxgIChwcmltaXRpdmVzKSB8ICoq" + - "WWVzLioqIGBoZWxtZmlsZSB0ZW1wbGF0ZWAgZm9yIGluc3RhbGw7IGBoZWxtIGdldCBtYW5pZmVz" + - "dGAgZm9yIHVuaW5zdGFsbC4gfCBZQU1MIG9uIHN0ZG91dCB8CgpTbzoKCi0gYGRvd24gLS1wbGFu" + - "LW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAg4oCUIHNob3cgbWUgdGhlIG9yY2hlc3RyYXRvciBwaGFz" + - "ZXMgd2l0aG91dCBpbnZva2luZyBhbnl0aGluZy4KLSBgdW5pbnN0YWxsIC0tbm8tYXBwbHkgLS1j" + - "b21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIOKAlCBnaXZlIG1lIHRoZSBZQU1MIEknZCBg" + - "a3ViZWN0bCBkZWxldGUgLWYgLWAuCgpgYGBzaAojIFN0ZXAgMTogQUxXQVlTIHByZXZpZXcgZmly" + - "c3QuCm52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9" + - "bmNwLWxvY2FsIC0tanNvbiB8IGpxCgojIFN0ZXAgMjogUmVhbCBydW4uCm52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9bmNwLWxvY2FsCmBgYAoKIyMgV2hlbiB0byB1c2Ug" + - "d2hpY2ggZm9ybQoKfCBVc2VyIGludGVudCB8IENvbW1hbmQgfAp8LS0tfC0tLXwKfCAiUmVtb3Zl" + - "IHRoaXMgb25lIEdQVSBjbHVzdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1" + - "c3Rlci1uYW1lPVhgIHwKfCAiVGVhciBkb3duIGV2ZXJ5dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYt" + - "aG9zdGVkIGRvd24gLS1hbGwgLS1jb25maXJtYCB8CnwgIlNob3cgbWUgdGhlIHN0ZXBzIHdpdGhv" + - "dXQgaW52b2tpbmcgYW55dGhpbmciIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIGRvd24gLS1wbGFu" + - "LW9ubHkgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJHaXZlIG1lIFlBTUwgdG8gY29tbWl0ICsgQXJn" + - "byBkZWxldGVzIGxhdGVyIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1h" + - "cHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WCA+IGRlbGV0ZS55YW1sYCB8Cnwg" + - "Ikp1c3QgcmVtb3ZlIHRoZSBoZWxtIHJlbGVhc2VzIG9uIGEgY29tcHV0ZSBwbGFuZSAobm8gSUNN" + - "UyB1bnJlZ2lzdGVyLCBubyBkcmFpbikiIHwgYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfAp8ICJKdXN0IHJlbW92ZSB0aGUg" + - "Y29udHJvbC1wbGFuZSBoZWxtIHJlbGVhc2VzIiB8IGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1bmlu" + - "c3RhbGwgLS1jb250cm9sLXBsYW5lYCB8CgojIyBTdGVwcyBmb3IgYGRvd24gLS1jbHVzdGVyLW5h" + - "bWU9WGAgKHRoZSBzdGFuZGFyZCBwYXRoKQoKIyMjIDEuIENvbmZpcm0gc2NvcGUgd2l0aCB0aGUg" + - "dXNlcgoKQXNrOgoKLSAiVGVhcmluZyBkb3duIGV2ZXJ5dGhpbmcgKGNvbXB1dGUgcGxhbmVzICsg" + - "Y29udHJvbCBwbGFuZSArIElDTVMgcm93cykgb3IganVzdCBvbmUgY29tcHV0ZSBwbGFuZT8iCi0g" + - "IkFyZSB0aGVyZSBBQ1RJVkUgZnVuY3Rpb24gZGVwbG95bWVudHMgb24gdGhpcyBjbHVzdGVyPyBg" + - "bnZjZi1jbGkgZnVuY3Rpb24gZGVwbG95IGxpc3RgIHRvIGNoZWNrLiIgKEltcG9ydGFudCDigJQg" + - "YGRvd25gIHdpbGwgcmVmdXNlIHdpdGhvdXQgYC0tZHJhaW4tYWN0aXZlPXRydWV8cHJvbXB0YCBp" + - "ZiBhbnkgYXJlIEFDVElWRS4pCi0gIlNob3VsZCB3ZSB3aXBlIHBlcnNpc3RlbnQgc3RhdGUgKENh" + - "c3NhbmRyYSBkYXRhLCBPcGVuQmFvIHNlYWwga2V5cywgc3ItZGVmYXVsdCB1c2VyIGRhdGEpPyBE" + - "ZWZhdWx0IGlzIHRvICoqcHJlc2VydmUqKiB0aGVtLiBgLS1yZW1vdmUtcGVyc2lzdGVudGAgb3B0" + - "cyBpbiB0byBkZWxldGlvbi4gKipMb3NzIGlzIHVucmVjb3ZlcmFibGUuKioiCgojIyMgMi4gUnVu" + - "IHBsYW4tb25seSBmaXJzdAoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4t" + - "b25seSAtLWNsdXN0ZXItbmFtZT0kTkFNRSAtLWpzb24gfCBqcQpgYGAKClRoaXMgZW1pdHMgYSBg" + - "cGxhbm5lZGAgZXZlbnQgbGlzdGluZyBlYWNoIHBoYXNlLCB0aGUgaGVsbSByZWxlYXNlcyB0aGF0" + - "IHdvdWxkIGJlIHVuaW5zdGFsbGVkLCB0aGUgSUNNUyByb3dzIHRoYXQgd291bGQgYmUgcmVtb3Zl" + - "ZCwgYW5kIEVUQXMuIENvcHkgdGhlIGB3aWxsVW5pbnN0YWxsLmNvbW1hbmRzW11gIGFycmF5IHRv" + - "IHRoZSB1c2VyIOKAlCB0aG9zZSBhcmUgdGhlIGxpdGVyYWwgYGhlbG0gdW5pbnN0YWxsIOKApmAg" + - "aW52b2NhdGlvbnMgdGhlIG9yY2hlc3RyYXRvciB3aWxsIHJ1bi4KCiMjIyAzLiBFeGVjdXRlIHRo" + - "ZSBkb3duCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duIC0tY2x1c3Rlci1uYW1lPSRO" + - "QU1FIC0tanNvbgpgYGAKClBoYXNlcyAoMS03LCBtaXJyb3JzIMKnNi43LjEpOgoKMS4gUHJlZmxp" + - "Z2h0IOKAlCBrdWJlY3RsIGFjY2VzcyArIElDTVMgcmVhY2hhYmxlCjIuIFJlc29sdmUgc3RhY2sg" + - "YnVuZGxlCjMuIERyYWluIGFjdGl2ZSBkZXBsb3ltZW50cyDigJQgcnVucyBgZnVuY3Rpb24gZGVw" + - "bG95IHJlbW92ZWAgZm9yIGVhY2ggQUNUSVZFIGRlcGxveW1lbnQsIHBvbGxzIHVudGlsIFNUT1BQ" + - "RUQuIFN1YmplY3QgdG8gYC0tZHJhaW4tYWN0aXZlPXRydWV8ZmFsc2V8cHJvbXB0YCAoZGVmYXVs" + - "dCBpcyBgcHJvbXB0YCBpbiBUVFkpLgo0LiBVbmluc3RhbGwgY29tcHV0ZSBwbGFuZSDigJQgZGVs" + - "ZWdhdGVzIHRvIGB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lYDsgYGhlbG0gdW5pbnN0YWxsIDxy" + - "ZWxlYXNlPmAgcGVyIHJlbGVhc2UgaW4gcmV2ZXJzZS1EQUcgb3JkZXIKNS4gUmVtb3ZlIHBlcnNp" + - "c3RlbnQgKHNraXBwZWQgdW5sZXNzIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCkKNi4gVW5yZWdpc3Rl" + - "ciBjbHVzdGVyIGZyb20gSUNNUwo3LiBGaW5hbCB2ZXJpZnkKCiMjIyA0LiBUZWFyIGRvd24gdGhl" + - "IGNvbnRyb2wgcGxhbmUgKGlmIGFwcGxpY2FibGUpCgpgYGBzaApudmNmLWNsaSBzZWxmLWhvc3Rl" + - "ZCB1bmluc3RhbGwgLS1jb250cm9sLXBsYW5lCmBgYAoKT3IgdmlhIHRoZSBvcmNoZXN0cmF0b3In" + - "cyBgLS1hbGxgIG1vZGUgaWYgZXZlcnkgY29tcHV0ZSBwbGFuZSBpcyBhbHNvIGdvaW5nIGF3YXkg" + - "KHNlZSBzdGVwIDUpLgoKYHVuaW5zdGFsbCAtLWNvbnRyb2wtcGxhbmVgIHJlZnVzZXMgaWYgYW55" + - "IGNvbXB1dGUgcGxhbmUgaXMgc3RpbGwgcmVnaXN0ZXJlZCBpbiBJQ01TLiBVc2UgYC0tZm9yY2Ut" + - "d2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB0byBvdmVycmlkZSAqKm9ubHkqKiBpZiB0aGUgdXNl" + - "ciBleHBsaWNpdGx5IHdhbnRzIHRvIG9ycGhhbiBjb21wdXRlIHBsYW5lcyAoUFNBVCBhdXRoIGJy" + - "ZWFrcyBmb3IgdGhvc2UgY2x1c3RlcnMg4oCUIHRoZXkgd2lsbCBzdGFydCBmYWlsaW5nIGV2ZXJ5" + - "IGhlYWx0aCBjaGVjaykuIEFsd2F5cyBzdGF0ZSB0aGUgY29uc2VxdWVuY2UgYmVmb3JlIHBhc3Np" + - "bmcgdGhlIGZsYWcuCgojIyMgNS4gT3IsIG51a2UgZXZlcnl0aGluZwoKYGBgc2gKbnZjZi1jbGkg" + - "c2VsZi1ob3N0ZWQgZG93biAtLWFsbCAtLWNvbmZpcm0KYGBgCgpUaGlzIGl0ZXJhdGVzIGV2ZXJ5" + - "IHJlZ2lzdGVyZWQgY29tcHV0ZSBwbGFuZSBpbiBJQ01TLCBydW5zIHRoZSBwZXItY2x1c3RlciBk" + - "b3duIGZvciBlYWNoIGluIHBhcmFsbGVsIChib3VuZGVkIGJ5IGAtLWFsbC1jb25jdXJyZW5jeWAs" + - "IGRlZmF1bHQgNCksIHRoZW4gcnVucyBgdW5pbnN0YWxsIC0tY29udHJvbC1wbGFuZWAuIEludGVy" + - "YWN0aXZlIG1vZGUgcHJvbXB0cyB0aGUgb3BlcmF0b3Igd2l0aCB0aGUgY2x1c3RlciBsaXN0IGJl" + - "Zm9yZSBwcm9jZWVkaW5nOyBgLS1jb25maXJtYCBza2lwcyB0aGUgcHJvbXB0IGZvciBub24taW50" + - "ZXJhY3RpdmUgdXNlLgoKIyMgR2l0T3BzIHBhdGggKGlmIHVzZXIgaGFzIEFyZ28gLyBGbHV4KQoK" + - "YGBgc2gKIyBSZW5kZXIgZGVsZXRlIFlBTUwgZm9yIHRoZSBjb21wdXRlIHBsYW5lOgpudmNmLWNs" + - "aSBzZWxmLWhvc3RlZCB1bmluc3RhbGwgLS1uby1hcHBseSAtLWNvbXB1dGUtcGxhbmUgLS1jbHVz" + - "dGVyLW5hbWU9JE5BTUUgPiBkZWxldGUueWFtbAoKIyBPcGVyYXRvciBjb21taXRzIGRlbGV0ZS55" + - "YW1sIHRvIHRoZWlyIEdpdE9wcyByZXBvLiBBcmdvL0ZsdXggYXBwbGllcyB0aGUgZGVsZXRpb24g" + - "b24gbmV4dCBzeW5jLgpnaXQgYWRkIGRlbGV0ZS55YW1sOyBnaXQgY29tbWl0IC1tICJyZW1vdmUg" + - "Y29tcHV0ZSBwbGFuZSAkTkFNRSI7IGdpdCBwdXNoCgojIEFmdGVyIEFyZ28gc3luYyByZW1vdmVz" + - "IHRoZSBLOHMgcmVzb3VyY2VzLCBzZXBhcmF0ZWx5IHJlbW92ZSB0aGUgSUNNUyByb3c6Cm52Y2Yt" + - "Y2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD0kQ0xVU1RFUl9JRApgYGAKCk5vdGU6IGAt" + - "LW5vLWFwcGx5YCBkb2VzIE5PVCBpbmNsdWRlIHRoZSBJQ01TIGBjbHVzdGVyIGRlbGV0ZWAgKGhl" + - "bG0gZG9lc24ndCBtYW5hZ2UgdGhhdCkuIE9wZXJhdG9ycyBmb2xsb3dpbmcgR2l0T3BzIG11c3Qg" + - "cnVuIGBudmNmLWNsaSBjbHVzdGVyIGRlbGV0ZWAgc2VwYXJhdGVseSwgb3IgdXNlIGBkb3duYCB0" + - "byBvcmNoZXN0cmF0ZSBib3RoLgoKIyMgRmFpbHVyZSByZWNvdmVyeQoKSWYgYGRvd25gIHBhcnRp" + - "YWwtZmFpbHMgbWlkLXdheSwgKipyZS1ydW4gdGhlIHNhbWUgY29tbWFuZCoqLiBUaGUgb3JjaGVz" + - "dHJhdG9yIGlzIGlkZW1wb3RlbnQ6IGBoZWxtIHVuaW5zdGFsbGAgc2tpcHMgcmVsZWFzZXMgdGhh" + - "dCBhcmUgYWxyZWFkeSBnb25lLCBhbmQgYGNsdXN0ZXIgZGVsZXRlIC0taWdub3JlLW1pc3Npbmdg" + - "IHNraXBzIElDTVMgcm93cyB0aGF0IGFyZSBhbHJlYWR5IGdvbmUuIFBoYXNlIDQgKyA2IGVtaXQg" + - "YHBoYXNlOiBza2lwcGVkIChhbHJlYWR5IGNsZWFuKWAgb24gdGhlIHNlY29uZCBydW4uCgpJZiBh" + - "IGBwaGFzZV9mYWlsZWRgIGV2ZW50IHN1cmZhY2VzOgoKLSBgZXJyQ2F0ZWdvcnk6ICJoZWxtX3Bl" + - "bmRpbmdfdXBncmFkZSIsIHJldHJ5Q2xhc3M6ICJhZnRlcl9yZW1lZGlhdGlvbiJgIOKGkiBydW4g" + - "YGhlbG0gcm9sbGJhY2sgPHJlbGVhc2U+IDAgLS1rdWJlLWNvbnRleHQ94oCmYCAodGhlIG1lc3Nh" + - "Z2UgaW5jbHVkZXMgdGhlIGV4YWN0IHJlbGVhc2UgbmFtZSkgdGhlbiByZS1ydW4gYGRvd25gLiBE" + - "byBOT1QgYXV0by1yb2xsYmFjayB3aXRob3V0IHVzZXIgY29uZmlybWF0aW9uLgotIGBlcnJDYXRl" + - "Z29yeTogImNvbXB1dGVfcGxhbmUiLCByZXRyeUNsYXNzOiAiYWZ0ZXJfcmVtZWRpYXRpb24iYCB3" + - "aXRoIG1lc3NhZ2UgYWJvdXQgQUNUSVZFIGRlcGxveW1lbnRzIOKGkiB1c2VyIHBhc3NlZCBgLS1k" + - "cmFpbi1hY3RpdmU9ZmFsc2VgIGJ1dCBkZXBsb3ltZW50cyBleGlzdC4gUmUtcnVuIHdpdGggYC0t" + - "ZHJhaW4tYWN0aXZlPXRydWVgIG9yIGAtLWRyYWluLWFjdGl2ZT1wcm9tcHRgIGFuZCBjb25maXJt" + - "IHdpdGggdGhlIHVzZXIuCi0gT3RoZXIgY2F0ZWdvcmllcyDihpIgc3VyZmFjZSBgZXJyTWVzc2Fn" + - "ZWAgKyBlYWNoIGByZW1lZGlhdGlvbmAgc3RyaW5nIHZlcmJhdGltLiBTVE9QLiBEbyBub3QgcHJv" + - "cG9zZSByZXRyeSB3aXRob3V0IHVzZXIgaW5wdXQuCgojIyBBbHdheXMgY29uZmlybQoKRm9yIGV2" + - "ZXJ5IGBudmNmLWNsaSBzZWxmLWhvc3RlZCBkb3duYCBvciBgdW5pbnN0YWxsYCBpbnZvY2F0aW9u" + - "LCBlc3BlY2lhbGx5IHdpdGggZGVzdHJ1Y3RpdmUgZmxhZ3M6CgotIFN0YXRlIHRoZSBleGFjdCBg" + - "LS1jbHVzdGVyLW5hbWVgIChvciBgLS1hbGxgKS4KLSBTdGF0ZSB3aGF0J3MgbG9zdCAoZS5nLiAi" + - "YWxsIGZ1bmN0aW9uIGRlcGxveW1lbnRzIHNjaGVkdWxlZCBvbiBgbmNwLWxvY2FsYCB3aWxsIHN0" + - "b3A7IGNvbXB1dGUgcGxhbmUgd2lsbCBkZXJlZ2lzdGVyIGZyb20gSUNNUyIpLgotIElmIGAtLXJl" + - "bW92ZS1wZXJzaXN0ZW50YCBpcyBiZWluZyBjb25zaWRlcmVkLCBzdGF0ZSB0aGF0IENhc3NhbmRy" + - "YSByb3dzICsgT3BlbkJhbyBzZWFsIGtleXMgd2lsbCBiZSBkZWxldGVkIGFuZCB0aGF0IHRoaXMg" + - "aXMgdW5yZWNvdmVyYWJsZS4KLSBXYWl0IGZvciBleHBsaWNpdCB1c2VyIGNvbmZpcm1hdGlvbi4K" + - "LSBOZXZlciBwcm9wb3NlIGAtLWZvcmNlLXdpdGgtcmVnaXN0ZXJlZC1jbHVzdGVyc2Agd2l0aG91" + - "dCBleHBsYWluaW5nIHRoYXQgY29tcHV0ZSBwbGFuZXMgd2lsbCBiZSBvcnBoYW5lZC4KLSBOZXZl" + - "ciBwcm9wb3NlIGAtLXJlbW92ZS1wZXJzaXN0ZW50YCB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGxv" + - "c3MuCgojIyBNYW51YWwgZmFsbGJhY2sgKGlmIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB7dW5pbnN0" + - "YWxsLGRvd259YCBpcyB1bmF2YWlsYWJsZSkKCklmIHRoZSB1c2VyIGlzIG9uIGEgQ0xJIHZlcnNp" + - "b24gb2xkZXIgdGhhbiBNKzExLCBmYWxsIGJhY2sgdG86CgpgYGBzaAojIFBlciBjb21wdXRlIHBs" + - "YW5lIChvbiBpdHMga3ViZWN0bCBjb250ZXh0KToKaGVsbSB1bmluc3RhbGwgbnZjYS1hZ2VudCAt" + - "biBudmNhLXN5c3RlbQpoZWxtIHVuaW5zdGFsbCBudmNhLW9wZXJhdG9yIC1uIG52Y2Etb3BlcmF0" + - "b3IKaGVsbSB1bmluc3RhbGwgaW1hZ2UtY3JlZGVudGlhbC1oZWxwZXIgLW4gbnZjYS1zeXN0ZW0K" + - "aGVsbSB1bmluc3RhbGwgc2hhcmVkc3RvcmFnZSAtbiBudmNhLXN5c3RlbQoKIyBEcmFpbiB0aGUg" + - "SUNNUyByb3c6Cm52Y2YtY2xpIGNsdXN0ZXIgZGVsZXRlIC0tY2x1c3Rlci1pZD08aWQ+CgojIENv" + - "bnRyb2wgcGxhbmUgdGVhcmRvd24gKG9uIGl0cyBrdWJlY3RsIGNvbnRleHQpOgpjZCBudmNmLXNl" + - "bGYtbWFuYWdlZC1zdGFjawptYWtlIGRlc3Ryb3kgICAjIGludm9rZXMgaGVsbWZpbGUgZGVzdHJv" + - "eSBhY3Jvc3MgYWxsIHJlbGVhc2VzCgojIElmIHVzaW5nIHNwbGl0IHN0YWNrIGJ1bmRsZXMsIHRl" + - "YXJkb3duIGNvbXB1dGUgcGxhbmUgcmVsZWFzZXMgdG9vOgpjZCAuLi9udmNmLWNvbXB1dGUtcGxh" + - "bmUtc3RhY2sKbWFrZSBkZXN0cm95CmBgYAoKVGhpcyBpcyB0aGUgbWFudWFsIHBhdGg7IHByZWZl" + - "ciB0aGUgbmV3IHN1YmNvbW1hbmRzIHdoZW5ldmVyIHRoZXkncmUgaW5zdGFsbGVkLgoKIyMgV2hh" + - "dCBga3ViZWN0bCBkZWxldGUgcHZjYCBkb2VzCgpJZiB0aGUgdXNlciBhc2tzICJ3aHkgaXMgbXkg" + - "bmV3IGluc3RhbGwgc2VlaW5nIHRoZSBvbGQgZGF0YT8iIOKAlCB0aGUgU3RhdGVmdWxTZXQgUFZD" + - "cyAoQ2Fzc2FuZHJhLCBPcGVuQmFvKSBhcmUgTk9UIGRlbGV0ZWQgYnkgYGhlbG0gdW5pbnN0YWxs" + - "YCAoYW5kIHNvIGFyZSBOT1QgZGVsZXRlZCBieSBgbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93bmAg" + - "ZWl0aGVyLCBieSBkZWZhdWx0KS4gVGhleSBwZXJzaXN0IGludGVudGlvbmFsbHkgc28gYSByZS1g" + - "dXBgIGNhbiByZXN1bWUgYWdhaW5zdCBleGlzdGluZyBkYXRhLiBUbyB3aXBlIGNvbXBsZXRlbHkg" + - "b24gdGhlIG5leHQgYGRvd25gOgoKYGBgc2gKbnZjZi1jbGkgc2VsZi1ob3N0ZWQgZG93biAtLWNs" + - "dXN0ZXItbmFtZT1uY3AtbG9jYWwgLS1yZW1vdmUtcGVyc2lzdGVudApgYGAKCk9yLCBwb3N0LWRv" + - "d24sIG1hbnVhbGx5OgoKYGBgc2gKa3ViZWN0bCBkZWxldGUgcHZjIC1uIGNhc3NhbmRyYS1zeXN0" + - "ZW0gLS1hbGwKa3ViZWN0bCBkZWxldGUgcHZjIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKCioq" + - "Q29uZmlybSB3aXRoIHVzZXIuKiogVGhpcyBpcyB0aGUgZGVzdHJ1Y3RpdmUgc3RlcC4KUEsHCNqH" + - "Y1bkIQAA5CEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAMAAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3JlZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBjb21t" + - "YW5kIHJlZmVyZW5jZQoKRnVsbCBzdWJjb21tYW5kIGxpc3QuIEFsd2F5cyBwYWlyIHdpdGggW2Zs" + - "YWdzLm1kXShmbGFncy5tZCkgZm9yIGdsb2JhbCBmbGFncyBhbmQgW2V4aXQtY29kZXMubWRdKGV4" + - "aXQtY29kZXMubWQpIGZvciByZXR1cm4gY29kZXMuCgojIyBTZWxmLWhvc3RlZCBsaWZlY3ljbGUK" + - "CnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBPdXRwdXQgfCBOb3RlcyB8CnwtLS18LS0tfC0tLXwtLS18" + - "CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tcHJlIFtmbGFnc11gIHwgUHJlLWZsaWdodCBiZWZvcmUg" + - "aW5zdGFsbCAobm8gYWRtaW4gY3JlZHMpOiBsb2NhbCB0b29scywgcmVnaXN0cnkgY3JlZGVudGlh" + - "bHMsIGFuZCBib3RoIHBsYW5lcycgY2x1c3RlciBjaGVja3MgfCBzdHJlYW1pbmcgZXZlbnRzIG9u" + - "IHN0ZGVyciB8IFNwbGl0IGNsdXN0ZXJzIG5lZWQgYm90aCBgLS1jb250cm9sLXBsYW5lLWNvbnRl" + - "eHRgIGFuZCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHRgOyBgLS1sb2NhbC1vbmx5YCBtYWtlcyBu" + - "byBjbHVzdGVyIG9yIHJlZ2lzdHJ5IGNvbnRhY3QgfAp8IGBzZWxmLWhvc3RlZCBjaGVjayAtLWNv" + - "bnRyb2wtcGxhbmUgWy0td2FpdCBEVVJdYCB8IEluc3RhbGxlZCBjb250cm9sIHBsYW5lOiBsZWZ0" + - "b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8" + - "IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwgYC0td2FpdGAgcG9sbHMgdW50aWwgcGFzcyBv" + - "ciBEVVIgZWxhcHNlcyB8CnwgYHNlbGYtaG9zdGVkIGNoZWNrIC0tY29tcHV0ZS1wbGFuZSBbLS13" + - "YWl0IERVUl1gIHwgSW5zdGFsbGVkIGNvbXB1dGUgcGxhbmU6IGxlZnRvdmVyIG5hbWVzcGFjZXMs" + - "IG5vZGUgaW5vdGlmeSBsaW1pdHMsIFNJUyByZWFjaGFiaWxpdHksIGFuZCB0aGUgY29tcHV0ZS1w" + - "bGFuZSBjbHVzdGVyLXZhbGlkYXRvciB8IHN0cmVhbWluZyBldmVudHMgb24gc3RkZXJyIHwgU0lT" + - "IGlzIHByb2JlZCBvbmx5IGF0IGEgY29uZmlndXJlZCBgLS1pY21zLXVybGAuIFdpdGhvdXQgY29u" + - "dGV4dCBmbGFncyBpdCBjaGVja3MgdGhlIGN1cnJlbnQgY29udGV4dCB8CnwgYHNlbGYtaG9zdGVk" + - "IGNoZWNrIC0tYWxsIFstLXdhaXQgRFVSXWAgfCBCb3RoIG9mIHRoZSBhYm92ZSB8IHN0cmVhbWlu" + - "ZyBldmVudHMgb24gc3RkZXJyIHwgR2F0ZSBvbiB0aGUgYGZpbmFsYCBldmVudDsgc2VlIFtleGl0" + - "LWNvZGVzLm1kXShleGl0LWNvZGVzLm1kKSB8CnwgYHNlbGYtaG9zdGVkIGluc3RhbGwgLS1jb250" + - "cm9sLXBsYW5lYCB8IFJlbmRlciBjb250cm9sLXBsYW5lIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rk" + - "b3V0IHwgUGlwZSB0byBga3ViZWN0bCBhcHBseSAtZiAtYCB8CnwgYHNlbGYtaG9zdGVkIGluc3Rh" + - "bGwgLS1jb21wdXRlLXBsYW5lIC0tY2x1c3Rlci1uYW1lPVhgIHwgUmVnaXN0ZXIgY2x1c3RlciAr" + - "IHJlbmRlciBjb21wdXRlIG1hbmlmZXN0cyB8IFlBTUwgb24gc3Rkb3V0IHwgT25lIGludm9jYXRp" + - "b24gcGVyIEdQVSBjbHVzdGVyIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1jbHVzdGVyLW5hbWU9WGAg" + - "fCBPbmUtc2hvdCBmaXJzdCBpbnN0YWxsIChib3RoIHBsYW5lcykgfCAoZW1wdHkpIHN0ZG91dCwg" + - "cHJvZ3Jlc3Mgb24gc3RkZXJyIHwgQWx3YXlzIGluc3RhbGxzIGJvdGggcGxhbmVzOyBmb3IgY29t" + - "cHV0ZS1vbmx5IHVzZSBgY29tcHV0ZS1wbGFuZSByZWdpc3RlcmAgYW5kIGBjb21wdXRlLXBsYW5l" + - "IGluc3RhbGxgIHwKfCBgc2VsZi1ob3N0ZWQgdXAgLS1wbGFuLW9ubHkgLS1jbHVzdGVyLW5hbWU9" + - "WGAgfCBEcnktcnVuIHByZXZpZXcgfCBKU09OTCBvbiBzdGRlcnIgfCBBZ2VudC1mcmllbmRseSwg" + - "bm8gY2x1c3RlciBjaGFuZ2VzIHwKfCBgc2VsZi1ob3N0ZWQgY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + - "ciAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZT1QIC0tY2x1c3Rlci1uYW1lPVggLS1rdWJlLWNvbnRl" + - "eHQ9WSBbLS1vdXRwdXQ9Vl1gIHwgUmVnaXN0ZXIgYSBjb21wdXRlIGNsdXN0ZXIgd2l0aCBhbiBl" + - "eGlzdGluZyBjb250cm9sIHBsYW5lIGFuZCB3cml0ZSBpdHMgTlZDQSBvcGVyYXRvciB2YWx1ZXMg" + - "fCBzdW1tYXJ5IG9uIHN0ZG91dCB8IEZvciB0aGUgMm5kLCAzcmQsIC4uLiBHUFUgY2x1c3RlciBh" + - "ZnRlciB0aGUgZmlyc3QgaW5zdGFsbC4gQ1Agbm90IHRvdWNoZWQgfAp8IGBzZWxmLWhvc3RlZCBj" + - "b21wdXRlLXBsYW5lIGluc3RhbGwgLS12YWx1ZXM9ViAtLWt1YmUtY29udGV4dD1ZYCB8IEluc3Rh" + - "bGwgYSBjb21wdXRlIHBsYW5lIGZyb20gdGhlIHZhbHVlcyBgY29tcHV0ZS1wbGFuZSByZWdpc3Rl" + - "cmAgd3JvdGUgfCBwcm9ncmVzcyBvbiBzdGRlcnIgfCBSdW4gYWZ0ZXIgYGNvbXB1dGUtcGxhbmUg" + - "cmVnaXN0ZXJgLiBJbnN0YWxscyBWIHdoYXRldmVyIGl0cyBuYW1lLCBuZXZlciBhbm90aGVyIHZh" + - "bHVlcyBmaWxlIGJlc2lkZSBpdCB8CnwgYHNlbGYtaG9zdGVkIHN0YXR1cyBbLS1jbHVzdGVyLW5h" + - "bWU9WF0gWy0td2F0Y2hdYCB8IFNuYXBzaG90IGNsdXN0ZXIgaGVhbHRoIHwgVFRZL3BsYWluL0pT" + - "T05MIHwgYC0td2F0Y2hgIGZvciBsaXZlIHJlLXJlbmRlciB8CnwgYHNlbGYtaG9zdGVkIHVuaW5z" + - "dGFsbCAtLWNvbXB1dGUtcGxhbmUgLS1jbHVzdGVyLW5hbWU9WGAgfCBQZXItcGxhbmUgcHJpbWl0" + - "aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gb25lIGNvbXB1dGUgcGxhbmUgKG5vIElDTVMgdW5y" + - "ZWdpc3Rlciwgbm8gZHJhaW4pIHwgcHJvZ3Jlc3MgfCBKdXN0IHRoZSBoZWxtIHJlbGVhc2VzIG9u" + - "IHRoYXQgY29tcHV0ZSBwbGFuZSB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFsbCAtLWNvbnRyb2wt" + - "cGxhbmUgWy0tZm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzXWAgfCBQZXItcGxhbmUgcHJp" + - "bWl0aXZlOiBgaGVsbWZpbGUgZGVzdHJveWAgb24gdGhlIGNvbnRyb2wgcGxhbmUgfCBwcm9ncmVz" + - "cyB8IFJlZnVzZXMgaWYgY29tcHV0ZSBwbGFuZXMgc3RpbGwgcmVnaXN0ZXJlZCB1bmxlc3MgYC0t" + - "Zm9yY2Utd2l0aC1yZWdpc3RlcmVkLWNsdXN0ZXJzYCB8CnwgYHNlbGYtaG9zdGVkIHVuaW5zdGFs" + - "bCAtLW5vLWFwcGx5IDxwbGFuZT5gIHwgUmVuZGVyIGRlbGV0ZSBZQU1MIHZpYSBgaGVsbSBnZXQg" + - "bWFuaWZlc3RgIHBlciByZWxlYXNlIHwgWUFNTCBvbiBzdGRvdXQgfCBHaXRPcHM7IHBpcGUgdG8g" + - "YGt1YmVjdGwgZGVsZXRlIC1mIC1gIG9yIGNvbW1pdCArIEFyZ28gYXBwbGllcy4gTWlycm9ycyBg" + - "aW5zdGFsbCAtLW5vLWFwcGx5YCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1jbHVzdGVyLW5hbWU9" + - "WCBbLS1kcmFpbi1hY3RpdmVdIFstLXJlbW92ZS1wZXJzaXN0ZW50XWAgfCBPcmNoZXN0cmF0b3I6" + - "IGRyYWluIOKGkiB1bmluc3RhbGwgLS1jb21wdXRlLXBsYW5lIOKGkiBjbHVzdGVyIGRlbGV0ZSBp" + - "biBJQ01TIHwgcHJvZ3Jlc3MgfCBTeW1tZXRyaWMgY29tcGFuaW9uIHRvIGB1cCAtLWNsdXN0ZXIt" + - "bmFtZT1YYCB8CnwgYHNlbGYtaG9zdGVkIGRvd24gLS1hbGwgWy0tY29uZmlybV1gIHwgT3JjaGVz" + - "dHJhdG9yOiB0ZWFyIGRvd24gZXZlcnkgcmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lICsgY29udHJv" + - "bCBwbGFuZSB8IHByb2dyZXNzIHwgQm91bmRlZCBwYXJhbGxlbGlzbSB2aWEgYC0tYWxsLWNvbmN1" + - "cnJlbmN5YCAoZGVmYXVsdCA0KTsgYC0tY29uZmlybWAgcmVxdWlyZWQgaW4gbm9uLWludGVyYWN0" + - "aXZlIHwKfCBgc2VsZi1ob3N0ZWQgZG93biAtLXBsYW4tb25seSAuLi5gIHwgT3JjaGVzdHJhdG9y" + - "IGRyeS1ydW46IHBoYXNlcyArIGhlbG0gcmVsZWFzZXMgKyBJQ01TIHJvd3MgKyBFVEFzIChubyBo" + - "ZWxtL2hlbG1maWxlIGNvbnRhY3QpIHwgSlNPTkwgfCAqKkFsd2F5cyBydW4gYmVmb3JlIGFueSBh" + - "Y3R1YWwgYGRvd25gKiogfAoKIyMgQ2x1c3RlciBtYW5hZ2VtZW50Cgp8IENvbW1hbmQgfCBQdXJw" + - "b3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYGNsdXN0ZXIgcmVnaXN0ZXIgLS1uYW1lPVgg" + - "LS1uY2EtaWQ9WSBbLS1yZWdpb249Wl0gWy0taWdub3JlLWV4aXN0aW5nXWAgfCBSZWdpc3RlciBh" + - "IEpXS1MrT0lEQyB3aXRoIElDTVMgfCBVc2VkIGJ5IGB1cGAgUGhhc2UgNSBpbnRlcm5hbGx5OyBz" + - "dGFuZGFsb25lIGZvciBtYW51YWwgcmVnaXN0cmF0aW9uIHwKfCBgY2x1c3RlciBsaXN0LXJlZ2lz" + - "dGVyZWQgLS1uY2EtaWQ9WSBbLS1pY21zLXVybD1VUkxdYCB8IExpc3Qgc2VsZi1ob3N0ZWQgY2x1" + - "c3RlciByZWdpc3RyYXRpb25zIGZyb20gSUNNUyB8IFVzZXMgdGhlIGFkbWluIHRva2VuOyBgLS1q" + - "c29uYCBmb3IgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgfAp8IGBjbHVzdGVyIHJvdGF0ZSAtLWNs" + - "dXN0ZXItaWQ9SURgIHwgUmUtZmV0Y2ggSldLUyBmcm9tIEs4cyBhbmQgUFVUIHRvIElDTVMgfCBB" + - "ZnRlciBLOHMgQVBJIHNlcnZlciBzaWduaW5nIGtleSByb3RhdGlvbiB8CnwgYGNsdXN0ZXIgZGVs" + - "ZXRlIC0tY2x1c3Rlci1pZD1JRGAgfCBSZW1vdmUgSUNNUyByb3cgfCAqKkRFU1RSVUNUSVZFOiBj" + - "b25maXJtIHdpdGggdXNlcioqIHwKCiMjIEZ1bmN0aW9ucwoKfCBDb21tYW5kIHwgUHVycG9zZSB8" + - "IE5vdGVzIHwKfC0tLXwtLS18LS0tfAp8IGBmdW5jdGlvbiBjcmVhdGUgLS1pbnB1dC1maWxlPUZJ" + - "TEVgIHwgQ3JlYXRlIGZ1bmN0aW9uIG1ldGFkYXRhIHwgUmV0dXJucyBGdW5jdGlvbiBJRCArIFZl" + - "cnNpb24gSUQ7IExMTSBmdW5jdGlvbnMgdXNlIGBmdW5jdGlvblR5cGU6ICJMTE0iYCBhbmQgYG1v" + - "ZGVsc1tdLmxsbUNvbmZpZy51cmlzYCBmb3IgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwgYC92MS9y" + - "ZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYCB8CnwgYGZ1bmN0aW9uIGxpc3RgIC8gYGZ1" + - "bmN0aW9uIGxpc3QtaWRzYCB8IExpc3QgZnVuY3Rpb25zIC8gSURzIG9ubHkgfCB8CnwgYGZ1bmN0" + - "aW9uIGdldCAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgRnVuY3Rpb24gbWV0" + - "YWRhdGEgfCB8CnwgYGZ1bmN0aW9uIHVwZGF0ZSAtLWZ1bmN0aW9uLWlkPUlEIC0tdmVyc2lvbi1p" + - "ZD1WSUQgLS10YWdzPVRBR1ssVEFHXWAgfCBVcGRhdGUgZnVuY3Rpb24gdGFncyB8IHwKfCBgZnVu" + - "Y3Rpb24gdXBkYXRlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRCAtLWxsbS1tb2Rl" + - "bC11cGRhdGU9U1BFQ2AgfCBVcGRhdGUgTExNIG1vZGVsIHJvdXRpbmcgY29uZmlnIHwgYFNQRUNg" + - "IHVzZXMgYG5hbWU9PG1vZGVsPixyb3V0aW5nTWV0aG9kPTxtZXRob2Q+LHRva2VuUmF0ZUxpbWl0" + - "PTxsaW1pdD5gOyBhY2NlcHRlZCBtZXRob2RzIGFyZSBsaXN0ZWQgaW4gW2ZsYWdzLm1kXShmbGFn" + - "cy5tZCkgfAp8IGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlIC0taW5wdXQtZmlsZT1GSUxFYCB8IFNj" + - "aGVkdWxlIGEgZGVwbG95bWVudCB8IEJsb2NrcyB1bnRpbCBBQ1RJVkUgKGRlZmF1bHQgOTAwcykg" + - "fAp8IGBmdW5jdGlvbiBkZXBsb3kgZ2V0IC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJ" + - "RCBbLS1qc29uXWAgfCBEZXBsb3ltZW50IHN0YXR1cyB8IGBmdW5jdGlvblN0YXR1czogQUNUSVZF" + - "XHxERVBMT1lJTkdcfEVSUk9SXHxGQUlMRURgIHwKfCBgZnVuY3Rpb24gZGVwbG95IHVwZGF0ZSAt" + - "LWlucHV0LWZpbGU9RklMRWAgfCBNb2RpZnkgYSBkZXBsb3ltZW50IGluIHBsYWNlIHwgfAp8IGBm" + - "dW5jdGlvbiBkZXBsb3kgcmVtb3ZlIC0tZnVuY3Rpb24taWQ9SUQgLS12ZXJzaW9uLWlkPVZJRGAg" + - "fCBTdG9wIGEgZGVwbG95bWVudCwga2VlcCBmdW5jdGlvbiByZWNvcmQgfCB8CnwgYGZ1bmN0aW9u" + - "IGludm9rZSAtLWlucHV0LWZpbGU9RklMRWAgfCBDYWxsIGEgcmVndWxhciBmdW5jdGlvbiB8IFJl" + - "cXVpcmVzIEFQSSBrZXkgKG5vdCBhZG1pbiB0b2tlbik7IExMTSBmdW5jdGlvbnMgYXJlIGludm9r" + - "ZWQgdGhyb3VnaCBgbGxtLmludm9jYXRpb24uPGRvbWFpbj5gIHdpdGggYG1vZGVsOiAiPGZ1bmN0" + - "aW9uLWlkPi88bW9kZWwtbmFtZT4iYCB8CnwgYGZ1bmN0aW9uIGRlbGV0ZSAtLWZ1bmN0aW9uLWlk" + - "PUlEIC0tdmVyc2lvbi1pZD1WSURgIHwgUmVtb3ZlIGZ1bmN0aW9uICsgZGVwbG95bWVudCB8ICoq" + - "REVTVFJVQ1RJVkU6IGNvbmZpcm0gd2l0aCB1c2VyKiogfAoKIyMgVGFza3MKClRhc2sgY29tbWFu" + - "ZHMgcmVxdWlyZSBgTlZDRl9BUElfS0VZYCBzZXQgdG8gYSB0YXNrLXNjb3BlZCBrZXkgYW5kIGBO" + - "VkNGX0JBU0VfTlZDVF9VUkxgIHNldCB0byB0aGUgTlZDVCBnYXRld2F5IGVuZHBvaW50LiBJbiBh" + - "IGZyZXNoIHNlc3Npb24sIHJlYWQgYG52Y3RBcGlLZXlgIGZyb20gYH4vLm52Y2YtY2xpLnN0YXRl" + - "YCBhbmQgaW5qZWN0IGl0IGFzIGBOVkNGX0FQSV9LRVlgIHdpdGhvdXQgbG9nZ2luZyB0aGUgdmFs" + - "dWU7IGNoZWNrIGBudmN0QXBpS2V5RXhwaXJhdGlvbmAgZmlyc3QgYW5kIHJlZ2VuZXJhdGUgd2l0" + - "aCBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrIC0tdmFsaWRhdGVgIGlmIGV4cGlyZWQuIFJ1" + - "biBgYXBpLWtleSBnZW5lcmF0ZSAtLWZvciB0YXNrYCBhZnRlciBgaW5pdGAgdG8gbWludCBhIG5l" + - "dyBrZXkuCgp8IENvbW1hbmQgfCBQdXJwb3NlIHwgTm90ZXMgfAp8LS0tfC0tLXwtLS18CnwgYHRh" + - "c2sgY3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWltYWdl" + - "PUlNR2AgfCBTdWJtaXQgYSBjb250YWluZXIgdGFzayB8IFNhdmVzIHRhc2sgSUQgdG8gQ0xJIHN0" + - "YXRlOyB1c2UgYC0taW5wdXQtZmlsZWAgZm9yIHJlcGVhdGFibGUgY29uZmlncyB8CnwgYHRhc2sg" + - "Y3JlYXRlIC0tbmFtZT1YIC0tZ3B1PUdQVSAtLWluc3RhbmNlLXR5cGU9VFlQRSAtLWhlbG0tY2hh" + - "cnQ9Q0hBUlRgIHwgU3VibWl0IGEgSGVsbSB0YXNrIHwgYC0taGVsbS1jaGFydGAgcmVwbGFjZXMg" + - "YC0taW1hZ2VgIHwKfCBgdGFzayBjcmVhdGUgLS1pbnB1dC1maWxlPUZJTEVgIHwgU3VibWl0IGEg" + - "dGFzayBmcm9tIGEgSlNPTiBjb25maWcgZmlsZSB8IFJlY29tbWVuZGVkIGZvciByZXBlYXRhYmxl" + - "IGNvbmZpZ3VyYXRpb25zIHwKfCBgdGFzayBsaXN0IFstLXN0YXR1cz1TVEFUVVNdIFstLWxpbWl0" + - "PU5dYCB8IExpc3QgdGFza3MsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgc3RhdHVzIHwgU3RhdHVz" + - "ZXM6IGBRVUVVRURgLCBgTEFVTkNIRURgLCBgUlVOTklOR2AsIGBDT01QTEVURURgLCBgRVJST1JF" + - "RGAsIGBDQU5DRUxFRGAsIGBFWENFRURFRF9NQVhfUlVOVElNRV9EVVJBVElPTmAsIGBFWENFRURF" + - "RF9NQVhfUVVFVUVEX0RVUkFUSU9OYCB8CnwgYHRhc2sgZ2V0IFt0YXNrSWRdYCB8IEdldCB0YXNr" + - "IGRldGFpbHMgfCBVc2VzIHNhdmVkIHRhc2sgSUQgZnJvbSBzdGF0ZSBpZiBvbWl0dGVkIHwKfCBg" + - "dGFzayBldmVudHMgW3Rhc2tJZF0gWy0tbGltaXQ9Tl1gIHwgTGlzdCBsaWZlY3ljbGUgZXZlbnRz" + - "IGZvciBhIHRhc2sgfCB8CnwgYHRhc2sgcmVzdWx0cyBbdGFza0lkXWAgfCBMaXN0IHJlc3VsdCBh" + - "cnRpZmFjdHMgZm9yIGEgY29tcGxldGVkIHRhc2sgfCBSZXR1cm5zIGVtcHR5IGxpc3Qgd2hlbiBg" + - "cmVzdWx0SGFuZGxpbmdTdHJhdGVneWAgaXMgYE5PTkVgOyByZXN1bHQgdXBsb2FkIG5vdCB5ZXQg" + - "c3VwcG9ydGVkIHwKfCBgdGFzayBjYW5jZWwgW3Rhc2tJZF1gIHwgQ2FuY2VsIGEgcnVubmluZyB0" + - "YXNrIHwgTm8tb3AgaWYgYWxyZWFkeSBpbiB0ZXJtaW5hbCBzdGF0ZSB8CnwgYHRhc2sgZGVsZXRl" + - "IFt0YXNrSWRdYCB8IERlbGV0ZSBhIHRhc2sgcmVjb3JkIHwgKipTdG9wLCBzdGF0ZSB0YXNrIElE" + - "ICsgY3VycmVudCBzdGF0dXMsIGFuZCB3YWl0IGZvciBhIHN1YnNlcXVlbnQgdXNlciByZXBseSBl" + - "eHBsaWNpdGx5IGNvbmZpcm1pbmcgZGVsZXRpb24gb2YgdGhhdCBzcGVjaWZpYyB0YXNrLiBEbyBu" + - "b3QgdHJlYXQgdGhlIG9yaWdpbmFsIGRlbGV0ZSByZXF1ZXN0IGFzIGNvbmZpcm1hdGlvbi4qKiB8" + - "CnwgYHRhc2sgdXBkYXRlLXNlY3JldHMgW3Rhc2tJZF0gLS1zZWNyZXRzIE5BTUU9dmFsdWVgIHwg" + - "VXBkYXRlIHNlY3JldHMgb24gYSB0YXNrOyBzdXBwbGllZCBzZWNyZXRzIGFyZSBhZGRlZCBvciB1" + - "cGRhdGVkIGJ5IG5hbWUsIGV4aXN0aW5nIHNlY3JldHMgbm90IGluIHRoZSByZXF1ZXN0IGFyZSBw" + - "cmVzZXJ2ZWQgfCBWYWx1ZXMgYXJlIGVuY3J5cHRlZCBhdCByZXN0IHwKfCBgdGFzayBidWxrIC0t" + - "dGFzay1pZHM9SUQxWyxJRDIs4oCmXWAgfCBGZXRjaCBkZXRhaWxzIGZvciBtdWx0aXBsZSB0YXNr" + - "cyBpbiBvbmUgcmVxdWVzdCB8IHwKCiMjIEF1dGgKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3Rl" + - "cyB8CnwtLS18LS0tfC0tLXwKfCBgaW5pdGAgfCBNaW50IGFkbWluIHRva2VuIGZyb20gQVBJIEtl" + - "eXMgdmlhIHB1YmxpYyBhcGkgZ2F0ZXdheSB8IElkZW1wb3RlbnQ7IHdyaXRlcyBgfi8ubnZjZi1j" + - "bGkuc3RhdGVgOyBjbGVhcnMgc2F2ZWQgZnVuY3Rpb24gc3RhdGUgYW5kIGFsbCBBUEkga2V5cyAo" + - "ZnVuY3Rpb24gYW5kIHRhc2spIHwKfCBgc3RhdHVzYCB8IFNob3cgQ0xJIHN0YXRlICh0b2tlbiwg" + - "bGFzdCBlbmRwb2ludHMsIGZ1bmN0aW9uIGNvbnRleHQpIHwgRGlzdGluY3QgZnJvbSBgc2VsZi1o" + - "b3N0ZWQgc3RhdHVzYCB8CnwgYGFwaS1rZXkgZ2VuZXJhdGUgWy0tZm9yIGZ1bmN0aW9uXHx0YXNr" + - "XSBbLS1kZXNjcmlwdGlvbj3igKZdIFstLWV4cGlyZXMtaW494oCmXWAgfCBNaW50IEFQSSBrZXlz" + - "IHwgRGVmYXVsdCAobm8gYC0tZm9yYCk6IGdlbmVyYXRlcyBib3RoIGEgZnVuY3Rpb24ga2V5IGFu" + - "ZCBhIHRhc2sga2V5OyBgLS1mb3IgZnVuY3Rpb25gIG9yIGAtLWZvciB0YXNrYCBnZW5lcmF0ZXMg" + - "b25lIG9ubHk7IGAtLXNjb3Blc2AgcmVxdWlyZXMgYC0tZm9yYCB8CnwgYGFwaS1rZXkgZ2VuZXJh" + - "dGUgLS12YWxpZGF0ZWAgfCBNaW50IGFuZCBpbW1lZGlhdGVseSB2YWxpZGF0ZSBlYWNoIGdlbmVy" + - "YXRlZCBrZXkgfCBWYWxpZGF0ZXMgZWFjaCBrZXkgYWdhaW5zdCBpdHMgY29ycmVjdCBhdWRpZW5j" + - "ZSAoTlZDRiBmb3IgZnVuY3Rpb24ga2V5cywgTlZDVCBmb3IgdGFzayBrZXlzKSB8CnwgYGFwaS1r" + - "ZXkgbGlzdGAgfCBMaXN0IEFQSSBrZXlzIGZvciBjdXJyZW50IG93bmVyIHwgTGlzdHMgTlZDRi1z" + - "Y29wZWQga2V5cyBvbmx5IHwKfCBgYXBpLWtleSBkZWxldGUgS0VZLUlEYCAvIGBhcGkta2V5IHJl" + - "dm9rZSBLRVktSURgIHwgUmVtb3ZlIGFuIEFQSSBrZXkgfCAqKkNvbmZpcm0gd2l0aCB1c2VyKiog" + - "fAp8IGBhcGkta2V5IHNob3dgIHwgU2hvdyBjdXJyZW50bHkgc2F2ZWQgQVBJIGtleSBmcm9tIHN0" + - "YXRlIHwgfAoKIyMgQWdlbnQgc2tpbGwKCnwgQ29tbWFuZCB8IFB1cnBvc2UgfCBOb3RlcyB8Cnwt" + - "LS18LS0tfC0tLXwKfCBgYWdlbnQtc2tpbGwgaW5zdGFsbCBbLS10YXJnZXQ9RElSXWAgfCBJbnN0" + - "YWxsIGFsbCBidW5kbGVkIHB1YmxpYyB1c2VyIHNraWxscyBpbnRvIGB+Ly5jbGF1ZGUvc2tpbGxz" + - "L2AgYW5kIGB+Ly5hZ2VudHMvc2tpbGxzL2AgfCBEZWZhdWx0OiBib3RoIGJhc2Ugc2tpbGxzIGRp" + - "cmVjdG9yaWVzIHwKfCBgYWdlbnQtc2tpbGwgdW5pbnN0YWxsIFstLXRhcmdldD1ESVJdYCB8IFJl" + - "bW92ZSBvbmx5IGJ1bmRsZWQgcHVibGljIHVzZXIgc2tpbGxzIGZyb20gdGhlIHRhcmdldCBiYXNl" + - "IHNraWxscyBkaXJlY3RvcmllcyB8IElkZW1wb3RlbnQ7IHVucmVsYXRlZCBza2lsbHMgcmVtYWlu" + - "IHwKfCBgYWdlbnQtc2tpbGwgc2hvdyBbLS1maWxlPVJFTF1gIHwgUHJpbnQgYnVuZGxlZCBgbnZj" + - "Zi1zZWxmLW1hbmFnZWQtY2xpL1NLSUxMLm1kYCBvciBhbm90aGVyIGVtYmVkZGVkIGZpbGUgfCBG" + - "b3IgZGVidWdnaW5nIHwKfCBgYWdlbnQtc2tpbGwgdmVyc2lvbmAgfCBQcmludCBidWlsZCBTSEEg" + - "YW5kIGVtYmVkZGVkIHB1YmxpYyB1c2VyIHNraWxsIHN1bW1hcnkgfCB8ClBLBwjRdcKPFiYAABYm" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADIACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNs" + - "aS9yZWZlcmVuY2UvZXhpdC1jb2Rlcy5tZFVUBQABAKbOEiMgYG52Y2YtY2xpYCBleGl0IGNvZGVz" + - "CgpTdGFibGUgYWNyb3NzIHN1YmNvbW1hbmRzLiBVc2UgdGhlc2UgdG8gZHJpdmUgYWdlbnQgcmV0" + - "cnkgLyBzdXJmYWNpbmcgbG9naWMuCgp8IENvZGUgfCBNZWFuaW5nIHwgRXhhbXBsZSBjYXVzZXMg" + - "fAp8LS0tfC0tLXwtLS18CnwgYDBgIHwgU3VjY2VzcyB8IEFsbCBjaGVja3MgcGFzc2VkOyBpbnN0" + - "YWxsIGNvbXBsZXRlZDsgZGVwbG95bWVudCBBQ1RJVkUgfAp8IGAxYCB8IEdlbmVyaWMgZXJyb3Ig" + - "fCBIZWxtIHJlbmRlciBmYWlsZWQ7IG5ldHdvcmsgdW5yZWFjaGFibGU7IGZpbGUgbm90IGZvdW5k" + - "OyBZQU1MIHBhcnNlIGVycm9yIHwKfCBgMmAgfCBQcmUtZmxpZ2h0IGNoZWNrIGZhaWxlZCB8IEEg" + - "YGNoZWNrYCByZXN1bHQgYXQgZXJyb3Igc2V2ZXJpdHk6IEdhdGV3YXkgQVBJIENSRHMgbWlzc2lu" + - "Zzsga3ViZWN0bCBub3Qgb24gUEFUSCB3aXRoIGAtLXByZWA7IGRlZmF1bHQgU3RvcmFnZUNsYXNz" + - "IGFic2VudDsgYSBjbHVzdGVyIHRoZSBDTEkgY2Fubm90IHJlYWNoIChtaXNzaW5nIGt1YmVjb25m" + - "aWcgb3IgY29udGV4dCwgb3IgYSBmaXJzdCBBUEkgY2FsbCB0aGF0IGZhaWxzIGZvciBhbnkgcmVh" + - "c29uOiByZWZ1c2VkIG9yIGRyb3BwZWQgY29ubmVjdGlvbiwgcmVqZWN0ZWQgY3JlZGVudGlhbHMs" + - "IGEgZmFpbGluZyBjcmVkZW50aWFsIHBsdWdpbiwgYSBzZXJ2ZXIgZXJyb3IpOyBhIGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHRoYXQgY291bGQgbm90IHJ1biAoUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFp" + - "bHVyZSwgaXRzIG93biB0aW1lb3V0LCBubyB0YWcgZm91bmQgZm9yIGFuIHVudGFnZ2VkIGltYWdl" + - "KTsgYSBgc3RhbGUtbmFtZXNwYWNlc2Agcm93IG5hbWluZyBhIG5hbWVzcGFjZSBgc3R1Y2sgVGVy" + - "bWluYXRpbmdgLiBTdWNoIGEgcmVzdWx0IGlzIGV4aXQgYDJgIGV2ZW4gd2hlbiB0aGUgdGltZSBi" + - "dWRnZXQgY3V0IGFub3RoZXIgY2hlY2sgc2hvcnQuIFdhcm5pbmctc2V2ZXJpdHkgcmVzdWx0cyBl" + - "eGl0IGAwYCwgaW5jbHVkaW5nIGEgbmFtZXNwYWNlIHN0aWxsIGRlbGV0aW5nLCBhIEhlbG0gcmVs" + - "ZWFzZSBsZWZ0IG1pZC1vcGVyYXRpb24sIGEgbmFtZXNwYWNlIHdpdGggbm8gSGVsbSByZWxlYXNl" + - "LCBhbmQgYSBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyBzYXlpbmcgbm8gYGNsdXN0ZXJfdmFsaWRh" + - "dG9yX2ltYWdlYCBpcyBzZXQgfAp8IGAzYCB8IEFkbWluIGF1dGggZmFpbGVkIHwgTm8gdG9rZW4g" + - "KyBgLS1ub24taW50ZXJhY3RpdmVgIHNldDsgSUNNUyByZWplY3RlZCBKV1Q7IGluaXQgZW5kcG9p" + - "bnQgdW5yZWFjaGFibGUgfAp8IGA1YCB8IE1hbmlmZXN0IGFwcGx5IG9yIGAtLXdhaXRgIHRpbWVk" + - "IG91dCB8IEhlbG0gaW5zdGFsbCB0aW1lb3V0OyBjaGVjayBwb2xsZWQgYnV0IGRpZCBub3QgcGFz" + - "cyBiZWZvcmUgRFVSQVRJT04sIGluY2x1ZGluZyBhIHJvbGxvdXQgc3RpbGwgaW4gcHJvZ3Jlc3M7" + - "IHRoZSBjaGVjaydzIHRpbWUgYnVkZ2V0IHN0b3BwZWQgYSBjaGVjayB0aGF0IGNhbiBmYWlsIHRo" + - "ZSBydW4gYmVmb3JlIGl0IGZpbmlzaGVkIChpdHMgcm93IHNheXMgbm90IHJ1biBvciBjdXQgc2hv" + - "cnQpIGFuZCBubyBvdGhlciBjaGVjayBmYWlsZWQuIEEgY3V0LXNob3J0IHJvdyBrZWVwcyB0aGUg" + - "d29yc3Qgc2V2ZXJpdHkgaXRzIGNoZWNrIGNhbiByZXBvcnQsIHNvIGEgY2hlY2sgdGhhdCBjYW4g" + - "b25seSB3YXJuLCBzdWNoIGFzIGEgcmVnaXN0cnkgdGhhdCBpcyBub3QgY3JpdGljYWwsIHN0YXlz" + - "IGEgd2FybmluZy4gQSBjaGVjayB0aGF0IGFscmVhZHkgaGFkIGl0cyByZXN1bHQga2VlcHMgaXQs" + - "IHNvIGEgdmFsaWRhdG9yJ3Mgb3duIGZhaWx1cmUgaXMgZXhpdCBgMmAgfAp8IGAxMzBgIHwgQ2Fu" + - "Y2VsbGVkIGJ5IFNJR0lOVCwgU0lHVEVSTSBvciBTSUdIVVAsIG9yIGJ5IGEgcXVpdCBrZXkgaW4g" + - "dGhlIGBjaGVjayAtLXdhaXRgIGRhc2hib2FyZCB8IFVzZXIgQ3RybC1DOyBgcWAsIGBFc2NgIG9y" + - "IGBDdHJsLUNgIGluIHRoZSBkYXNoYm9hcmQ7IENJIGJ1ZGdldCBleGNlZWRlZDsgcG9kIGV2aWN0" + - "ZWQ7IHRlcm1pbmFsIG9yIFNTSCBzZXNzaW9uIGNsb3NlZC4gQSBzaWduYWwgYGNoZWNrYCB3YXMg" + - "c3RhcnRlZCB3aXRoIGlnbm9yZWQgc3RheXMgaWdub3JlZCwgc28gYSBgY2hlY2tgIHJ1biB1bmRl" + - "ciBgbm9odXBgIG91dGxpdmVzIHRoZSBzZXNzaW9uIHwKCiMjIEhvdyBhbiBhZ2VudCBzaG91bGQg" + - "cmVhY3QKCnwgQ29kZSB8IEFnZW50IGJlaGF2aW9yIHwKfC0tLXwtLS18CnwgYDBgIHwgQ29udGlu" + - "dWUgLyByZXBvcnQgc3VjY2Vzcy4gfAp8IGAxYCB8IFN1cmZhY2Ugc3RkZXJyIHRvIHVzZXI7IGFz" + - "ayBiZWZvcmUgYW55IHJldHJ5LiBHZW5lcmljIGVycm9ycyB1c3VhbGx5IG5lZWQgYSBodW1hbiB0" + - "byByZWFkIHRoZSBtZXNzYWdlLiB8CnwgYDJgIHwgU3VyZmFjZSBmYWlsZWQgY2hlY2tzICsgdGhl" + - "aXIgYGhpbnRVUkxgLiBEb24ndCBwcm9wb3NlIGB1cGAgdW50aWwgdGhlIHVzZXIgZml4ZXMgcHJl" + - "cmVxcy4gfAp8IGAzYCB8IFN1Z2dlc3QgYG52Y2YtY2xpIGluaXRgIChpbnRlcmFjdGl2ZSkgT1Ig" + - "YC0tdG9rZW49JEpXVGAgKENJKS4gRG9uJ3QgYXV0by1taW50IHdpdGhvdXQgdXNlciBPSy4gfAp8" + - "IGA1YCB8IEFzayB1c2VyIGlmIHRoZXkgd2FudCB0byB3YWl0IGxvbmdlciwgZGlnIGludG8gdGhl" + - "IHN0YWxsZWQgY29tcG9uZW50LCBvciBjYW5jZWwuIHwKfCBgMTMwYCB8IERvbid0IHJldHJ5IGF1" + - "dG9tYXRpY2FsbHk7IHVzZXIgZXhwbGljaXRseSBjYW5jZWxsZWQuIENvbmZpcm0gYmVmb3JlIHJl" + - "LXJ1bm5pbmcuIHwKCiMjIFdoZXJlIHRvIGZpbmQgbW9yZSBkZXRhaWwKCmBjaGVja2AgcmVwb3J0" + - "cyBpdHMgb3V0Y29tZSBpbiBvbmUgYGZpbmFsYCBldmVudCAoYHN1Y2Nlc3NgLCBgdmVyZGljdGAs" + - "IGB0b3RhbENoZWNrc2AsIGBwYXNzZWRDb3VudGAsIGBmYWlsZWRDb3VudGAsIGB3YXJuaW5nQ291" + - "bnRgKSBhbmQgbmV2ZXIgZW1pdHMgYHBoYXNlX2ZhaWxlZGA7IHNlZSBgZXhhbXBsZXMvY2ktcGlw" + - "ZWxpbmVzLm1kYC4gQSB1c2FnZSBlcnJvciwgc3VjaCBhcyBhIG1hbGZvcm1lZCBgLS13YWl0YCwg" + - "ZXhpdHMgYDFgIGJlZm9yZSBhbnkgZXZlbnQuIEl0cyBleGl0IGA1YCBoYXMgYHN1Y2Nlc3M6IGZh" + - "bHNlYCBhbmQgYHZlcmRpY3Q6ICJ0aW1lb3V0ImAuIEEgYGNoZWNrX2NvbXBsZXRlZGAgZXZlbnQg" + - "Zm9yIGEgd2FybmluZyB0aGF0IGAtLXdhaXRgIHBvbGxzIG9uIGNhcnJpZXMgYHRyYW5zaWVudDog" + - "dHJ1ZWAsIGFuZCBvbmUgZm9yIGEgY2hlY2sgdGhlIHRpbWUgYnVkZ2V0IHN0b3BwZWQgY2Fycmll" + - "cyBgY3V0U2hvcnQ6IHRydWVgLiBBIGNhbmNlbGxhdGlvbiAoZXhpdCBgMTMwYCkgZW1pdHMgYGZp" + - "bmFsYCB3aXRoIGBjYW5jZWxsZWQ6IHRydWVgIGluc3RlYWQgb2YgYHBoYXNlX2ZhaWxlZGA7IGB1" + - "cGAgZW1pdHMgYHBoYXNlX2NhbmNlbGxlZGAgYmVmb3JlIGl0LiBXaGVuIGEgY2x1c3Rlci12YWxp" + - "ZGF0b3IgcnVuIGxlZnQgb2JqZWN0cyBpbiB0aGUgY2x1c3RlciAoYC0tbm8tY2xlYW51cGAsIGEg" + - "cG9kIHRoYXQgd291bGQgbm90IHN0b3AsIG9yIGEgY2xlYW51cCB0aGF0IGZhaWxlZCksIGBjaGVj" + - "a2AgbGlzdHMgdGhlIGNvbW1hbmRzIHRoYXQgcmVtb3ZlIHRoZW0gaW4gdGhlIGBmaW5hbGAgZXZl" + - "bnQncyBgY2xlYW51cGAgYXJyYXkgYW5kIGluIHRoYXQgcm93J3MgYGNsZWFudXBgIGZpZWxkLCBv" + - "biBldmVyeSBleGl0IGNvZGUsIGFuZCBwcmludHMgdGhlbSBhZ2FpbiBhcyBpdHMgbGFzdCBzdGRl" + - "cnIgbGluZXMuIE9uIGFuIGludGVycnVwdCBpdCBwcmludHMgdGhlbSBhdCBvbmNlLCBiZWZvcmUg" + - "aXRzIG93biBjbGVhbnVwLCB3aGljaCBhIHNlY29uZCBDdHJsLUMgY3V0cyBzaG9ydC4gRXZlcnkg" + - "b3RoZXIgbm9uLXplcm8gZXhpdCBlbWl0cyBhIHN0cnVjdHVyZWQgYHBoYXNlX2ZhaWxlZGAgSlNP" + - "TiBldmVudCB3aXRoIGBlcnJDYXRlZ29yeWAsIGBlcnJNZXNzYWdlYCwgYHJlbWVkaWF0aW9uYCAo" + - "YXJyYXkpLCBgcmV0cnlDbGFzc2AgKGVudW06IGBub25lfGltbWVkaWF0ZXxiYWNrb2ZmfGFmdGVy" + - "X3JlbWVkaWF0aW9ufHVua25vd25gKSwgYHJldHJ5QWZ0ZXJTZWNgIChpbnQsIG9wdGlvbmFsKSwg" + - "YW5kIGByYXdgIChzdWJwcm9jZXNzICsgSFRUUCArIEt1YmVybmV0ZXMgc2lnbmFsKS4gQWx3YXlz" + - "IGNvbnN1bWUgdGhlc2UgaW4gYC0tanNvbmAgbW9kZSByYXRoZXIgdGhhbiBwYXJzaW5nIEVuZ2xp" + - "c2ggZnJvbSBzdGRlcnIuClBLBwjJ+UVvaBAAAGgQAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAA" + - "AC0ACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUAAQCm" + - "zhIjIGBudmNmLWNsaWAgZmxhZyByZWZlcmVuY2UKCiMjIEdsb2JhbCBmbGFncyAoZXZlcnkgc3Vi" + - "Y29tbWFuZCkKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LWNvbmZpZyBGSUxFYCB8IENvbmZpZyBmaWxlIHBhdGggfCBgJEhPTUUvLm52Y2YtY2xpLnlhbWxg" + - "IHwKfCBgLS1kZWJ1Z2AgfCBWZXJib3NlIEhUVFAgbG9nZ2luZyBvbiBzdGRlcnIgfCBgZmFsc2Vg" + - "IHwKfCBgLS1qc29uYCB8IEpTT05MIGV2ZW50cyBvbiBzdGRlcnIgfCBhdXRvIChvZmYgaW4gVFRZ" + - "LCBvbiB1bmRlciBgLS1ub24taW50ZXJhY3RpdmVgKSB8CgojIyBgc2VsZi1ob3N0ZWRgIHBhcmVu" + - "dCAocGVyc2lzdGVudCBhY3Jvc3Mgc3ViY29tbWFuZHMpCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVm" + - "YXVsdCB8CnwtLS18LS0tfC0tLXwKfCBgLS1jb250cm9sLXBsYW5lLXN0YWNrPS4uLmAgfCBDb250" + - "cm9sLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2FsIHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9g" + - "IFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVkIGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1jb21w" + - "dXRlLXBsYW5lLXN0YWNrPS4uLmAgfCBDb21wdXRlLXBsYW5lIGJ1bmRsZSBzb3VyY2U6IGxvY2Fs" + - "IHBhdGgsIGdpdCBVUkwsIG9yIGBvY2k6Ly9gIFVSTCB8IGVtYmVkZGVkIE9DSSBVUkwgcGlubmVk" + - "IGJ5IENMSSB2ZXJzaW9uIHwKfCBgLS1lbnY9bG9jYWxcfHByZFx8Li4uYCB8IEhlbG1maWxlIGVu" + - "dmlyb25tZW50IG5hbWUuIGBjaGVja2AgcmVhZHMgdGhlIHN0YWNrJ3MgYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYCBvbmx5IGZvciBhbiBlbnZpcm9ubWVudCBuYW1lZCB3aXRoIGAtLWVudmAgb3Ig" + - "YEhFTE1GSUxFX0VOVmAsIG9yIGZvciBhIHBsYW5lIGAtLXByZWAgY2hlY2tzIGJlZm9yZSBpdHMg" + - "aW5zdGFsbCwgc28gcGFzcyB0aGUgYC0tZW52YCB0aGUgaW5zdGFsbCB1c2VkOyBzZWUgW1NldHRp" + - "bmdzIHJlYWQgZnJvbSB0aGUgc3RhY2tdKCNzZXR0aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKSB8" + - "IGBsb2NhbGAgfAp8IGAtLW5vbi1pbnRlcmFjdGl2ZWAgfCBEaXNhYmxlIGFsbCBzdGRpbiBwcm9t" + - "cHRzIHwgYGZhbHNlYCB8CnwgYC0tdG9rZW49JEpXVGAgfCBBZG1pbiBKV1QsIG92ZXJyaWRlcyBz" + - "dG9yZWQgc2Vzc2lvbiB8IC0gfAp8IGAtLW5vLWFwcGx5YCB8IGBpbnN0YWxsYCBvbmx5IC0gZW1p" + - "dCBZQU1MLCBkbyBub3Qga3ViZWN0bCBhcHBseSB8IGBmYWxzZWAgfAp8IGAtLW91dHB1dD10ZXh0" + - "XHxqc29uYCB8IExlZ2FjeSBhbGlhcyBmb3IgYC0tanNvbmAgKGRlcHJlY2F0ZWQsIHJlbW92ZWQg" + - "aW4gbmV4dCBtYWpvcikgfCBgdGV4dGAgfAp8IGAtLXBsYWluYCB8IEZvcmNlIHBsYWluIHN0cmVh" + - "bWluZyBvdXRwdXQgfCBhdXRvLWRldGVjdCB8CnwgYC0td2FpdCBEVVJBVElPTmAgfCBgY2hlY2tg" + - "IG9ubHk7IHJ1biB0aGUgY2hlY2tzIGFnYWluLCA1cyBhcGFydCwgdW50aWwgdGhleSBwYXNzIG9y" + - "IERVUkFUSU9OIHJ1bnMgb3V0IChleGl0IGA1YCwgYGZpbmFsYCB3aXRoIGBzdWNjZXNzOiBmYWxz" + - "ZWApLiBFYWNoIHJ1biBpbmNsdWRlcyB0aGUgY2x1c3Rlci12YWxpZGF0b3IgSm9iLCB3aGljaCBj" + - "YW4gdGFrZSB1cCB0byA1bSwgc28gYWxsb3cgZm9yIGl0IG9yIHBhc3MgYC0tc2tpcC1jbHVzdGVy" + - "LXZhbGlkYXRpb25gLiBBIHdhcm5pbmcgdGhhdCBpcyBleHBlY3RlZCB0byBjbGVhciwgc3VjaCBh" + - "cyBhIHJvbGxvdXQgaW4gcHJvZ3Jlc3MsIGtlZXBzIGl0IHBvbGxpbmcsIGFuZCBpdHMgYGNoZWNr" + - "X2NvbXBsZXRlZGAgZXZlbnQgY2FycmllcyBgdHJhbnNpZW50OiB0cnVlYC4gQSBjaGVjayB0aGUg" + - "dGltZSBidWRnZXQgc3RvcHBlZCBrZWVwcyBpdCBwb2xsaW5nIHRvbywgYW5kIGl0cyBldmVudCBj" + - "YXJyaWVzIGBjdXRTaG9ydDogdHJ1ZWAuIEEgY2hlY2sgdGhhdCBjYW4gb25seSB3YXJuIGFuZCBp" + - "cyBzdG9wcGVkIG9uIHR3byBwb2xscyBpbiBhIHJvdyBlbmRzIHRoZSB3YWl0IGFzIGEgc2luZ2xl" + - "IHJ1biB3b3VsZDogZXhpdCBgMGAgd2l0aCB0aGUgd2FybmluZy4gQ2Fubm90IGJlIGNvbWJpbmVk" + - "IHdpdGggYC0tbm8tY2xlYW51cGAuIEEgbWFsZm9ybWVkIG9yIG5vbi1wb3NpdGl2ZSBEVVJBVElP" + - "TiBpcyBhIHVzYWdlIGVycm9yIChleGl0IGAxYCwgbm8gZXZlbnRzKSB8IC0gfAp8IGAtLWNvbnRy" + - "b2wtcGxhbmUtY29udGV4dCBDVFhgIHwga3ViZWN0bCBjb250ZXh0IGZvciBjb250cm9sIHBsYW5l" + - "IChSRVEtMjApIHwgY3VycmVudCBjb250ZXh0IHwKfCBgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQg" + - "Q1RYYCB8IGt1YmVjdGwgY29udGV4dCBmb3IgY29tcHV0ZSBwbGFuZSAoUkVRLTIwKSB8IGN1cnJl" + - "bnQgY29udGV4dCB8CnwgYC0taWNtcy11cmwgVVJMYCB8IFB1YmxpYyBJQ01TIFVSTDsgcmVxdWly" + - "ZWQgd2hlbiBjb250ZXh0cyBkaWZmZXIuIGBjaGVja2AgcHJvYmVzIFNJUyBvbmx5IGF0IGEgVVJM" + - "IHNldCBoZXJlLCBpbiBgTlZDRl9JQ01TX1VSTGAgb3IgYE5WQ0ZfU0lTX1VSTGAsIG9yIGluIHRo" + - "ZSBjb25maWcgYXMgYGljbXNfdXJsYCBvciBgYmFzZV9odHRwX3VybGAsIGFuZCBub3QgYXQgb25l" + - "IGRlcml2ZWQgZnJvbSBhIGBiYXNlX2h0dHBfdXJsYCBvbiBOVklESUEncyBob3N0ZWQgYG52Y2Yu" + - "bnZpZGlhLmNvbWAsIGFzIHRoZSBjb25maWcgdGVtcGxhdGUncyBpczsgd2l0aCBub25lLCBpdHMg" + - "YHNpcy1yZWFjaGFiaWxpdHlgIHJvdyBpcyBhIHdhcm5pbmcgfCBkZXJpdmVkIGZyb20gYGJhc2Vf" + - "aHR0cF91cmxgIHwKfCBgLS1sb2NhbC1vbmx5YCB8IGBjaGVja2Agb25seTsgcnVuIHRoZSBsb2Nh" + - "bC1ob3N0IGNoZWNrcyBhbmQgc2tpcCBhbGwgY2x1c3RlciBhbmQgcmVnaXN0cnkgY29udGFjdCwg" + - "d2hhdGV2ZXIgc2NvcGUgZmxhZyBpcyBwYXNzZWQuIFRoZSByZWdpc3RyeSBjcmVkZW50aWFsIGNo" + - "ZWNrIGFuZCBlYWNoIHNlbGVjdGVkIHJvbGUncyBjbHVzdGVyIGNoZWNrcyBhcmUgcmVwb3J0ZWQg" + - "YXMgcm93cyB0aGF0IHBhc3MgYXQgaW5mbyBhbmQgc2F5IGBza2lwcGVkICgtLWxvY2FsLW9ubHkp" + - "YC4gRW52OiBgTlZDRl9DTElfU0VMRkhPU1RFRF9MT0NBTF9PTkxZYCwgb24gd2l0aCBgdHJ1ZWAs" + - "IGAxYCwgYHllc2AsIGB5YCBvciBgb25gIGFuZCBvZmYgd2l0aCBgZmFsc2VgLCBgMGAsIGBub2As" + - "IGBuYCBvciBgb2ZmYCwgaW4gYW55IGNhc2UuIEFueSBvdGhlciB2YWx1ZSBpcyBhbiBlcnJvciB8" + - "IGBmYWxzZWAgfAoKIyMgYGNoZWNrYC1zcGVjaWZpYwoKQXQgbGVhc3Qgb25lIG9mIGAtLXByZWAs" + - "IGAtLWNvbnRyb2wtcGxhbmVgLCBgLS1jb21wdXRlLXBsYW5lYCwgb3IgYC0tYWxsYCBpcwpyZXF1" + - "aXJlZC4gYC0tcHJlYCBzZWxlY3RzIGJvdGggcm9sZXM7IGVhY2ggb3RoZXIgZmxhZyBzZWxlY3Rz" + - "IGl0cyBvd24uIE9ubHkKdGhlIHNlbGVjdGVkIHJvbGVzIGNvbnRhY3QgYSBjbHVzdGVyLiBQYXNz" + - "IGJvdGggY29udGV4dCBmbGFncyBvciBuZWl0aGVyOgp3aXRob3V0IHRoZW0gZXZlcnkgc2VsZWN0" + - "ZWQgcm9sZSBjaGVja3MgdGhlIGN1cnJlbnQga3ViZWNvbmZpZyBjb250ZXh0LgoKfCBGbGFnIHwg" + - "UHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tcHJlYCB8IFByZS1mbGlnaHQ6" + - "IGxvY2FsLWhvc3QgdG9vbHMgcGx1cyBjbHVzdGVyIHJlYWRpbmVzcy4gU2tpcHMgU0lTIHJlYWNo" + - "YWJpbGl0eSwgc2luY2UgU0lTIGlzIG5vdCBpbnN0YWxsZWQgeWV0LCB1bmxlc3MgYC0tYWxsYCBv" + - "ciBgLS1jb21wdXRlLXBsYW5lYCBpcyBhbHNvIHBhc3NlZC4gV2l0aCBgLS1hbGxgLCBvciB3aXRo" + - "IGEgcm9sZSdzIG93biBmbGFnLCB0aGF0IHJvbGUncyB2YWxpZGF0b3IgY2hlY2tzIHRoZSBjbHVz" + - "dGVyIGFzIGluc3RhbGxlZC4gQSBtaXNzaW5nIG9yIHVuc3VwcG9ydGVkIGBrdWJlY3RsYCwgYGhl" + - "bG1maWxlYCBvciBgaGVsbWAgZmFpbHMgb25seSB3aXRoIGAtLXByZWA7IG90aGVyIHNjb3BlcyBj" + - "aGVjayBhbiBpbnN0YWxsZWQgc3RhY2ssIHdoaWNoIHJ1bnMgbm9uZSBvZiB0aGVtLCBzbyBpdCB3" + - "YXJucyB8IGBmYWxzZWAgfAp8IGAtLWNvbnRyb2wtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxl" + - "ZCBjb250cm9sIHBsYW5lOiBsZWZ0b3ZlciBuYW1lc3BhY2VzIGFuZCB0aGUgY29udHJvbC1wbGFu" + - "ZSBjbHVzdGVyLXZhbGlkYXRvci4gTmV2ZXIgcHJvYmVzIFNJUyB8IGBmYWxzZWAgfAp8IGAtLWNv" + - "bXB1dGUtcGxhbmVgIHwgQ2hlY2sgdGhlIGluc3RhbGxlZCBjb21wdXRlIHBsYW5lOiBsZWZ0b3Zl" + - "ciBuYW1lc3BhY2VzLCBub2RlIGlub3RpZnkgbGltaXRzLCBTSVMgcmVhY2hhYmlsaXR5IGF0IGEg" + - "Y29uZmlndXJlZCBJQ01TIFVSTCwgYW5kIHRoZSBjb21wdXRlLXBsYW5lIGNsdXN0ZXItdmFsaWRh" + - "dG9yIHwgYGZhbHNlYCB8CnwgYC0tYWxsYCB8IEJvdGggYC0tY29udHJvbC1wbGFuZWAgYW5kIGAt" + - "LWNvbXB1dGUtcGxhbmVgLCBTSVMgcmVhY2hhYmlsaXR5IGluY2x1ZGVkLCB3aXRoIG9yIHdpdGhv" + - "dXQgYC0tcHJlYCB8IGBmYWxzZWAgfAp8IGAtLWNsdXN0ZXItbmFtZSBOQU1FYCB8IENsdXN0ZXIg" + - "bmFtZSBzaG93biBpbiB0aGUgb3V0cHV0IGhlYWRlci4gTm8gY2hlY2sgdXNlcyBpdCwgYW5kIGBj" + - "aGVja2AgZG9lcyBub3QgcmVxdWlyZSBpdCB8IC0gfAp8IGAtLXNraXAtaW5vdGlmeS1jaGVja2Ag" + - "fCBTa2lwIHRoZSBwZXItbm9kZSBpbm90aWZ5LWxpbWl0cyBwcm9iZS4gTmVlZGVkIHdoZW4gdGhl" + - "IGt1YmVjb25maWcgdXNlciBjYW5ub3QgY3JlYXRlIHBvZHMgaW4gYGRlZmF1bHRgLCBvciB3aGVu" + - "IHRoZSBwcm9iZSBpbWFnZSBpcyBvbiBhIHJlZ2lzdHJ5IHRoYXQgbmVlZHMgY3JlZGVudGlhbHMs" + - "IHNpbmNlIHRoZSBwcm9iZSBwb2RzIGdldCBubyBwdWxsIHNlY3JldC4gSXRzIGBub2RlLWlub3Rp" + - "ZnktbGltaXRzYCByb3cgcGFzc2VzIGF0IGluZm8gYW5kIHNheXMgaXQgd2FzIHNraXBwZWQuIEVu" + - "djogYE5WQ0ZfQ0xJX1NFTEZIT1NURURfU0tJUF9JTk9USUZZYCwgb24gd2l0aCBgdHJ1ZWAsIGAx" + - "YCwgYHllc2AsIGB5YCBvciBgb25gIGFuZCBvZmYgd2l0aCBgZmFsc2VgLCBgMGAsIGBub2AsIGBu" + - "YCBvciBgb2ZmYCwgaW4gYW55IGNhc2UuIEFueSBvdGhlciB2YWx1ZSBpcyBhbiBlcnJvciB8IGBm" + - "YWxzZWAgfAoKIyMjIENsdXN0ZXItdmFsaWRhdG9yIGZsYWdzCgpUaGUgdmFsaWRhdG9yIHJ1bnMg" + - "YXMgYSBKb2IgaW4gdGhlIGNsdXN0ZXIgYmVpbmcgY2hlY2tlZC4gVGhlIENMSSBjcmVhdGVzIGEK" + - "U2VydmljZUFjY291bnQsIENsdXN0ZXJSb2xlLCBhbmQgQ2x1c3RlclJvbGVCaW5kaW5nIGZvciBp" + - "dCwgcGx1cyBhIFJvbGUgYW5kClJvbGVCaW5kaW5nIGluIGBkZWZhdWx0YCB0aGF0IGxldCBpdCBy" + - "ZWFkIG9ubHkgaXRzIG93biBDb25maWdNYXAsIGFuZCByZW1vdmVzCnRoZW0gYWZ0ZXIgdGhlIHJ1" + - "biwgc28gdGhlIGt1YmVjb25maWcgY29udGV4dCBuZWVkcyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0" + - "aG9zZS4KSXQgcmVhZHMgdGhlIHZhbGlkYXRvcidzIHRyYW5zY3JpcHQgd2l0aCBgZ2V0YCBvbiBg" + - "cG9kcy9sb2dgIGluIGBkZWZhdWx0YC4KV2l0aG91dCBpdCwgYSB2YWxpZGF0b3IgSm9iIHRoYXQg" + - "c3VjY2VlZGVkIHN0aWxsIHBhc3NlcywgYW5kIGl0cyByb3cgc2F5cyB0aGUKdHJhbnNjcmlwdCBj" + - "b3VsZCBub3QgYmUgcmVhZCwgc28gbmVpdGhlciB0aGUgY2hlY2tzIGl0IHJhbiBub3Igd2Fybmlu" + - "Z3MgaXQKcmVwb3J0ZWQgYXJlIHNob3duLgpUaGUgQ2x1c3RlclJvbGUgZ3JhbnRzIG9ubHkgdGhl" + - "IGNhbGxzIGVhY2ggcm9sZSdzIGNoZWNrcyBtYWtlOiByZWFkcywgdGhlCm5hbWVzcGFjZSwgRGFl" + - "bW9uU2V0IGFuZCBwb2Qgd3JpdGVzIG9mIHRoZSBjb250cm9sLXBsYW5lIG5vZGUtdG8tbm9kZSBw" + - "cm9iZSwKYW5kIGRlbGV0aW5nIHRlc3QgbmFtZXNwYWNlcyBhbiBlYXJsaWVyIHZhbGlkYXRvciBy" + - "dW4gbGVmdCBiZWhpbmQuCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0tfC0t" + - "LXwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1pbWFnZSBSRUZgIHwgVmFsaWRhdG9yIGltYWdlLiBS" + - "ZXNvbHV0aW9uIG9yZGVyOiBmbGFnLCBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfSU1BR0Vg" + - "LCBjb25maWcga2V5IGBjbHVzdGVyX3ZhbGlkYXRvcl9pbWFnZWAuIEEgcmVmIHdpdGggbm8gdGFn" + - "IGRpc2NvdmVycyB0aGUgbGF0ZXN0IHN0YWJsZSB0YWcgZnJvbSB0aGUgcmVnaXN0cnkuIElmIG5v" + - "IHRhZyBjYW4gYmUgZGlzY292ZXJlZCwgdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBydW4gYW5kIGl0" + - "cyByb3cgZmFpbHMgdGhlIGNoZWNrLCBzYXlpbmcgdG8gcGluIGEgdGFnOyBgLS13YWl0YCB0cmll" + - "cyBhZ2FpbiBvbiBldmVyeSBwb2xsLiBVbnNldCBldmVyeXdoZXJlLCB0aGUgdmFsaWRhdG9yIGRv" + - "ZXMgbm90IHJ1biBhbmQgZWFjaCByb2xlJ3MgYGNsdXN0ZXItdmFsaWRhdG9yYCByb3cgaXMgYSB3" + - "YXJuaW5nLCBzbyB0aGUgdmVyZGljdCBpcyBgd2FybmluZ3NgIHwgLSB8CnwgYC0tY2x1c3Rlci12" + - "YWxpZGF0b3ItcmVnaXN0cmllcyBob3N0Wzpwb3J0XVsvcGF0aF0sLi4uYCB8IEV4dHJhIHJlZ2lz" + - "dHJpZXMgdG8gY2hlY2s6IHRoZWlyIGNyZWRlbnRpYWxzIGZyb20gdGhpcyBtYWNoaW5lLCBhbmQg" + - "dGhlaXIgcmVhY2hhYmlsaXR5IGZyb20gYSBwb2Qgb2YgdGhlIGNvbnRyb2wtcGxhbmUgdmFsaWRh" + - "dG9yLiBBIHBhdGggc2NvcGVzIHRoZSBjcmVkZW50aWFsIGNoZWNrLCBhcyBpbiBgaGFyYm9yLmV4" + - "YW1wbGUuY29tL252Y2ZgLiBUaGV5IGFyZSBhZGRlZCB0byB0aGUgcmVnaXN0cmllcyB0aGUgaW5z" + - "dGFsbCBwdWxscyBmcm9tOiB0aGUgdmFsaWRhdG9yIGltYWdlJ3MgcmVnaXN0cnksIHRoZSBzdGFj" + - "aydzIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgIGFuZCBgZ2xvYmFsLmltYWdlLnJlcG9zaXRvcnlg" + - "LCBpdHMgT0NJIGNoYXJ0IHNvdXJjZSwgYW5kIGBxdWF5LmlvYCBmb3IgdGhlIGNlcnQtbWFuYWdl" + - "ciBBQ01FIHNvbHZlciB1bmxlc3MgdGhlIHN0YWNrIGxlYXZlcyBjZXJ0LW1hbmFnZXIgb3V0IG9y" + - "IHNldHMgYGNlcnRNYW5hZ2VyLmFjbWVzb2x2ZXIuaW1hZ2VgLiBgbnZjci5pb2AgaXMgcHJvYmVk" + - "LCBhcyBhIHdhcm5pbmcgb25seSwgd2hlbiBuZWl0aGVyIHRoZSBpbWFnZSBub3IgdGhlIHN0YWNr" + - "IG5hbWVzIGEgcmVnaXN0cnkuIFRoZSBpbi1wb2QgcHJvYmVzIGxlYXZlIG91dCBhIHJlZ2lzdHJ5" + - "IG9ubHkgdGhlIGNoYXJ0cyBjb21lIGZyb20sIHNpbmNlIGBoZWxtYCBwdWxscyB0aGVtIG9uIHRo" + - "aXMgbWFjaGluZSwgYW5kIGFyZSB3YXJuaW5ncyBvbmx5LCBzaW5jZSB0aGUgcG9kIGhhcyBubyBw" + - "cm94eS4gQSBtYWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3Ig" + - "Y29tbWEtc2VwYXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9SRUdJU1RS" + - "SUVTYDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcmVnaXN0cmllc2AsIGEgbGlzdCBv" + - "ZiBzdHJpbmdzIGluIHRoaXMgZm9ybSB8IC0gfAp8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2Jl" + - "LWltYWdlIFJFRmAgfCBJbWFnZSBmb3IgdGhlIG5vZGUgaW5vdGlmeSBwcm9iZSBhbmQgdGhlIGNv" + - "bnRyb2wtcGxhbmUgdmFsaWRhdG9yJ3Mgbm9kZS10by1ub2RlIG92ZXJsYXkgcHJvYmUuIE5lZWRz" + - "IGBzaGAgYW5kIGEgYnVzeWJveC1zdHlsZSBgbmNgLiBTZXQgYSBtaXJyb3IgZm9yIGFpci1nYXBw" + - "ZWQgY2x1c3RlcnMuIEVudjogYE5WQ0ZfQ0xJX0NMVVNURVJfVkFMSURBVE9SX1BST0JFX0lNQUdF" + - "YDsgY29uZmlnIGtleSBgY2x1c3Rlcl92YWxpZGF0b3JfcHJvYmVfaW1hZ2VgIHwgYGJ1c3lib3g6" + - "MS4zNmAgZnJvbSBEb2NrZXIgSHViIHwKfCBgLS1jbHVzdGVyLXZhbGlkYXRvci1leHRlcm5hbC1j" + - "b21wb25lbnRzIE5BTUUsLi4uYCB8IFN0YWNrIGRlcGVuZGVuY2llcyB0aGF0IHJ1biBvdXRzaWRl" + - "IHRoZSBzdGFjaywgb3Igbm90IGF0IGFsbCwgc28gdGhlIHZhbGlkYXRvciBkb2VzIG5vdCBsb29r" + - "IGZvciB0aGVtIGluIHRoZSBjbHVzdGVyOiBhIHN1YnNldCBvZiBgbmF0c2AsIGBvcGVuYmFvYCBh" + - "bmQgYGNhc3NhbmRyYWAuIEFuIHVua25vd24gbmFtZSBmYWlscyB0aGUgY29tbWFuZC4gUmVwZWF0" + - "YWJsZSBvciBjb21tYS1zZXBhcmF0ZWQuIEZhbGxzIGJhY2sgdG8gYE5WQ0ZfRVhURVJOQUxfQ09N" + - "UE9ORU5UU2AsIHRoZW4gdG8gdGhlIGNvbXBvbmVudHMgd2hvc2UgYDxuYW1lPi5lbmFibGVkYCB0" + - "aGUgc3RhY2sncyBlbnZpcm9ubWVudCBmaWxlIHNldHMgdG8gYW55dGhpbmcgYnV0IGB0cnVlYC4g" + - "RW52OiBgTlZDRl9DTElfQ0xVU1RFUl9WQUxJREFUT1JfRVhURVJOQUxfQ09NUE9ORU5UU2A7IGNv" + - "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX2V4dGVybmFsX2NvbXBvbmVudHNgLCBhIGxpc3Qg" + - "b2YgbmFtZXMgfCBmcm9tIHRoZSBzdGFjayB8CnwgYC0tY2x1c3Rlci12YWxpZGF0b3ItdG9sZXJh" + - "dGlvbnMga2V5Wz12YWx1ZV1bOmVmZmVjdF0sLi4uYCB8IFRvbGVyYXRpb25zIGFkZGVkIHRvIHRo" + - "ZSB2YWxpZGF0b3IgSm9iLCBiZXNpZGUgdGhlIGNvbnRyb2wtcGxhbmUgb25lcyBpdCBhbHdheXMg" + - "Y2FycmllcywgZm9yIGNsdXN0ZXJzIHdob3NlIG5vZGVzIHVzZSBvdGhlciB0YWludHMuIEVmZmVj" + - "dCBpcyBgTm9TY2hlZHVsZWAsIGBQcmVmZXJOb1NjaGVkdWxlYCBvciBgTm9FeGVjdXRlYC4gQSBt" + - "YWxmb3JtZWQgZW50cnkgZmFpbHMgdGhlIGNvbW1hbmQuIFJlcGVhdGFibGUgb3IgY29tbWEtc2Vw" + - "YXJhdGVkLiBFbnY6IGBOVkNGX0NMSV9DTFVTVEVSX1ZBTElEQVRPUl9UT0xFUkFUSU9OU2A7IGNv" + - "bmZpZyBrZXkgYGNsdXN0ZXJfdmFsaWRhdG9yX3RvbGVyYXRpb25zYCwgYSBsaXN0IG9mIHN0cmlu" + - "Z3MgaW4gdGhpcyBmb3JtLCBub3QgS3ViZXJuZXRlcyB0b2xlcmF0aW9uIG9iamVjdHMgfCAtIHwK" + - "fCBgLS1jbHVzdGVyLXZhbGlkYXRvci1wdWxsLXNlY3JldCBOQU1FYCB8IGRvY2tlci1yZWdpc3Ry" + - "eSBTZWNyZXQgaW4gYGRlZmF1bHRgIHVzZWQgdG8gcHVsbCB0aGUgdmFsaWRhdG9yIGltYWdlLiBX" + - "aGVuIGVtcHR5LCB0aGUgQ0xJIHVzZXMgYSBTZWNyZXQgYW4gb3BlcmF0b3IgY3JlYXRlZCBpbiBg" + - "ZGVmYXVsdGAgZm9yIHRoZSBpbWFnZSdzIHJlZ2lzdHJ5LiBGYWlsaW5nIHRoYXQsIGl0IGNvcGll" + - "cyB0aGUgcmVnaXN0cnkncyBlbnRyeSwgYW5kIG9ubHkgdGhhdCBlbnRyeSwgZnJvbSBhIFNlY3Jl" + - "dCBpbiB0aGUgTlZDRiBuYW1lc3BhY2VzIGludG8gYGRlZmF1bHRgIGZvciB0aGUgcnVuLiBGYWls" + - "aW5nIHRoYXQsIGl0IGNyZWF0ZXMgb25lIGZvciB0aGUgcnVuIGZyb20gdGhpcyBtYWNoaW5lJ3Mg" + - "Y3JlZGVudGlhbCBmb3IgdGhlIHJlZ2lzdHJ5LCB0aGUgb25lIHRoZSBgcmVnaXN0cnktY3JlZGVu" + - "dGlhbHNgIHJvdyBjaGVja3MuIFRoZSB2YWxpZGF0b3Igcm93J3MgZGV0YWlsIHNheXMgd2hhdCB3" + - "YXMgY29waWVkIG9yIGNyZWF0ZWQsIGFuZCBmcm9tIHdoZXJlIHwgYXV0by1kZXRlY3QgfAp8IGAt" + - "LXNraXAtY2x1c3Rlci12YWxpZGF0aW9uYCB8IFNraXAgdGhlIGluLWNsdXN0ZXIgdmFsaWRhdG9y" + - "IHByb2JlIGVudGlyZWx5LiBBIHZhbGlkYXRvciB0aGF0IGlzIGNvbmZpZ3VyZWQgYnV0IGNhbm5v" + - "dCBydW4gZmFpbHMgdGhlIGNoZWNrLCBzbyB1c2UgdGhpcyB0byBvcHQgb3V0IGV4cGxpY2l0bHks" + - "IGZvciBleGFtcGxlIHdoZW4gdGhlIGNsdXN0ZXIgY2Fubm90IHB1bGwgdGhlIGltYWdlLiBFYWNo" + - "IHJvbGUncyBgY2x1c3Rlci12YWxpZGF0b3JgIHJvdyB0aGVuIHBhc3NlcyBhdCBpbmZvIGFuZCBz" + - "YXlzIGl0IHdhcyBza2lwcGVkLiBFbnY6IGBOVkNGX0NMSV9TRUxGSE9TVEVEX1NLSVBfQ0xVU1RF" + - "Ul9WQUxJREFUSU9OYCwgb24gd2l0aCBgdHJ1ZWAsIGAxYCwgYHllc2AsIGB5YCBvciBgb25gIGFu" + - "ZCBvZmYgd2l0aCBgZmFsc2VgLCBgMGAsIGBub2AsIGBuYCBvciBgb2ZmYCwgaW4gYW55IGNhc2Uu" + - "IEFueSBvdGhlciB2YWx1ZSBpcyBhbiBlcnJvciB8IGBmYWxzZWAgfAp8IGAtLW5vLWNsZWFudXBg" + - "IHwgS2VlcCB0aGUgdmFsaWRhdG9yIEpvYiwgaXRzIHBvZCwgUkJBQywgcHVsbCBzZWNyZXQgYW5k" + - "IENvbmZpZ01hcCBmb3IgZGVidWdnaW5nLiBBIGtlcHQgSm9iIHdob3NlIHBvZCBjYW5ub3QgcHVs" + - "bCBpdHMgaW1hZ2UgaXMgc3VzcGVuZGVkLCBzbyBpdHMgcG9kIGlzIGRlbGV0ZWQgcmF0aGVyIHRo" + - "YW4gcmV0cnlpbmcgZm9yZXZlcjsgaW5zcGVjdCBpdCB3aXRoIGBrdWJlY3RsIGRlc2NyaWJlIGpv" + - "YmAuIEEgbGF0ZXIgY2hlY2sgdGhhdCBydW5zIHRoZSB2YWxpZGF0b3IgcmVtb3ZlcyB0aGVtIG9u" + - "Y2UgdGhleSBhcmUgMjQgaG91cnMgb2xkLiBUaGUgcm93LCB0aGUgYGZpbmFsYCBldmVudCdzIGBj" + - "bGVhbnVwYCBsaXN0IGFuZCB0aGUgbGFzdCBzdGRlcnIgbGluZXMgcHJpbnQgdGhlIGNvbW1hbmQg" + - "dGhhdCByZW1vdmVzIHRoZW0gbm93LiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS13YWl0YCB8" + - "IGBmYWxzZWAgfAp8IGAtLXNob3ctbG9nc2AgfCBQcmludCBlYWNoIHZhbGlkYXRvciB0cmFuc2Ny" + - "aXB0IHRvIHN0ZGVyciBhZnRlciB0aGUgY2hlY2sgZXZlbnRzLCBmcmFtZWQgYnkgYC0tLSBjbHVz" + - "dGVyLXZhbGlkYXRvciBsb2dzICg8Y2F0ZWdvcnk+KSAtLS1gIGFuZCBhIG1hdGNoaW5nIGVuZCBs" + - "aW5lLCB3aGVyZSB0aGUgY2F0ZWdvcnkgaXMgYGNvbnRyb2wtcGxhbmUtY2x1c3RlcmAgb3IgYGNv" + - "bXB1dGUtcGxhbmUtY2x1c3RlcmAuIFRoZSB0cmFuc2NyaXB0IGlzIG5vdCBKU09OLCBhbmQgYC0t" + - "anNvbmAgYWxzbyB3cml0ZXMgdG8gc3RkZXJyLCBzbyBsZWF2ZSB0aGlzIG9mZiB3aGVuIGEgcGFy" + - "c2VyIGlzIHJlYWRpbmcgdGhlIHN0cmVhbSB8IGBmYWxzZWAgfAoKIyMjIFJlZ2lzdHJ5IGNyZWRl" + - "bnRpYWxzCgpgY2hlY2tgIHByb2JlcyBlYWNoIHJlZ2lzdHJ5IGFib3ZlIGZyb20gdGhpcyBtYWNo" + - "aW5lIHdpdGggaXRzIGxvY2FsCmNyZWRlbnRpYWwsIHRoZSBvbmUgYGRvY2tlcmAgd291bGQgdXNl" + - "OiBgJERPQ0tFUl9DT05GSUcvY29uZmlnLmpzb25gLCBvcgpgfi8uZG9ja2VyL2NvbmZpZy5qc29u" + - "YCwgdGhyb3VnaCBhbnkgYGNyZWRzU3RvcmVgIG9yIGBjcmVkSGVscGVyc2AgaGVscGVyLgpGb3Ig" + - "YG52Y3IuaW9gIHRoZSBOR0MgQVBJIGtleSBpcyBhbHNvIHJlYWQsIGZyb20gdGhlIGZpcnN0IG9m" + - "CmBOR0NfSU1BR0VfUFVMTF9BUElfS0VZYCwgYE5WQ0ZfTkdDUl9BUElfS0VZYCwgYE5WQ0ZfTkdD" + - "X0FQSV9LRVlgIGFuZApgTkdDX0FQSV9LRVlgIHRoYXQgaXMgc2V0LiBJdCBnb2VzIGFoZWFkIG9m" + - "IHRoZSBkb2NrZXIgbG9naW4gb25seSB3aGVuIHRoZQpyZWdpc3RyeSBjaGVjaydzIHBsYW5lLCBi" + - "ZWxvdywgaXMgdGhlIGNvbnRyb2wgcGxhbmUsIGNoZWNrZWQgYmVmb3JlIGl0cwppbnN0YWxsIHdp" + - "dGggdGhlIGBsb2NhbGAgZW52aXJvbm1lbnQsIHNpbmNlIGB1cGAgY3JlYXRlcyBpdHMgcHVsbCBz" + - "ZWNyZXRzCmZyb20gaXQsIGFuZCBpdCBpcyBuZXZlciBzZW50IHRvIGFub3RoZXIgcmVnaXN0cnku" + - "IFRoZXJlIHRoZSBkb2NrZXIgbG9naW4gaXMKc3RpbGwgc2VudCBmb3IgdGhlIHJvdyB0aGUgc3Rh" + - "Y2sncyBjaGFydHMgY29tZSBmcm9tLCBiZWxvdywgYW5kIGdyYWRlZCBhcwplbHNld2hlcmUsIHNp" + - "bmNlIGBoZWxtYCBwdWxscyB0aGUgY2hhcnRzIHdpdGggaXQuIEVsc2V3aGVyZSB0aGUga2V5Cmlz" + - "IHNlbnQgd2hlbiB0aGVyZSBpcyBubyBkb2NrZXIgbG9naW4sIG9yIGZvciBhIHJlcG9zaXRvcnkg" + - "d2hlcmUgYG52Y3IuaW9gCnJlamVjdHMgdGhlIGRvY2tlciBsb2dpbiAoYSA0MDEpIG9yIGdpdmVz" + - "IGl0IG5vIGFjY2VzcyAoYSA0MDMpLiBUaGlzIGlzCmRlY2lkZWQgb25jZSBwZXIgcmVwb3NpdG9y" + - "eSwgYmVmb3JlIHRhZyBkaXNjb3ZlcnksIHRoZSByb3cgYW5kIHRoZQp2YWxpZGF0b3IncyBwdWxs" + - "IHNlY3JldCB1c2UgaXQsIHNvIGFsbCB0aHJlZSBnZXQgdGhlIHNhbWUgY3JlZGVudGlhbCwgYW5k" + - "IGEKbG9naW4gd2l0aCBubyBhY2Nlc3MgdG8gb25lIG9yZyBzdGlsbCBzZXJ2ZXMgdGhlIG9yZ3Mg" + - "aXQgcmVhY2hlcy4gQSA0MDMgaXMKcmVwb3J0ZWQgYXMgbm8gYWNjZXNzIHRvIHRoYXQgcmVwb3Np" + - "dG9yeSwgbmV2ZXIgYXMgYSByZWplY3RlZCBsb2dpbi4gRWFjaApgLS13YWl0YCBwb2xsIHJlYWRz" + - "IHRoZSBjcmVkZW50aWFscyBhZ2Fpbiwgc28gYSBsb2dpbiByZW5ld2VkIHdoaWxlIHRoZSBydW4K" + - "d2FpdHMgY291bnRzIG9uIHRoZSBuZXh0IHBvbGwuCgpUaGUgcHJvYmUgYXNrcyBmb3IgcHVsbCBh" + - "Y2Nlc3MgdG8gdGhlIHZhbGlkYXRvciBpbWFnZSdzIHJlcG9zaXRvcnkgYW5kIHRvIHRoZQpzdGFj" + - "aydzIGltYWdlIHBhdGg6IGFueSBwYXRoIGluIGBnbG9iYWwuaW1hZ2UucmVnaXN0cnlgLCB0aGVu" + - "CmBnbG9iYWwuaW1hZ2UucmVwb3NpdG9yeWAuIEEgc3RhY2sgcGF0aCBvZiBvbmUgc2VnbWVudCwg" + - "c3VjaCBhcyBhbiBvcmcgd2l0aCBubwp0ZWFtLCBpcyBub3Qgc2VudCBhcyB0aGUgc2NvcGUsIHNp" + - "bmNlIGBudmNyLmlvYCByZWZ1c2VzIGl0LiBUaGUgc3RhY2sncyBPQ0kKY2hhcnQgc291cmNlLCBg" + - "Z2xvYmFsLmhlbG0uc291cmNlcy5yZWdpc3RyeWAgYW5kIGAucmVwb3NpdG9yeWAsIHJlYWQgdGhl" + - "IHNhbWUKd2F5LCBpcyB0aGUgcm93IGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgcHVsbHMgdGhlIHN0" + - "YWNrJ3MgY2hhcnRzIGZyb20sIHdpdGggdGhlCmRvY2tlciBsb2dpbjogdGhlIGltYWdlIHJvdyB3" + - "aGVuIGl0IGlzIHRoZSBzYW1lIHBhdGgsIGVsc2UgYSByb3cgb2YgaXRzIG93biwKY3JpdGljYWwg" + - "Zm9yIGFuIE5WSURJQSByZWdpc3RyeSBsaWtlIHRoZSBpbWFnZSByb3cuIEFuIEhUVFBTIGNoYXJ0" + - "IHNvdXJjZSwKYGdsb2JhbC5oZWxtLnNvdXJjZXMudXJsYCwgaGFzIGNyZWRlbnRpYWxzIG9mIGl0" + - "cyBvd24gYW5kIGdldHMgbm8gcm93LgoKVGhlIHJlZ2lzdHJ5IGNoZWNrIGJlbG9uZ3MgdG8gb25l" + - "IHBsYW5lLCB3aG9zZSBzdGFjayBuYW1lcyB0aGUgcmVnaXN0cmllcwphbmQgd2hvc2UgaW5zdGFs" + - "bCBzdGF0ZSBncmFkZXMgdGhlbTogYSBwbGFuZSB0aGUgcnVuIGNoZWNrcyBiZWZvcmUgaXRzCmlu" + - "c3RhbGwsIHdoaWNoIHRoaXMgbWFjaGluZSBpbnN0YWxscyBuZXh0ICh0aGUgY29udHJvbCBwbGFu" + - "ZSBmb3IgYSBiYXJlCmAtLXByZWAgYW5kIGZvciBgLS1wcmUgLS1jb21wdXRlLXBsYW5lYCwgdGhl" + - "IGNvbXB1dGUgcGxhbmUgZm9yCmAtLXByZSAtLWNvbnRyb2wtcGxhbmVgKSwgZWxzZSB0aGUgY29u" + - "dHJvbCBwbGFuZSB3aGVuIHRoZSBydW4gdmlzaXRzIGl0LAplbHNlIHRoZSBjb21wdXRlIHBsYW5l" + - "LgoKT25seSBhIGNyZWRlbnRpYWwgdGhlIHJlZ2lzdHJ5IHJlamVjdHMgZmFpbHMgdGhlIHJ1biwg" + - "YW5kIG9ubHkgZm9yIGFuIE5WSURJQQpyZWdpc3RyeSB0aGUgaW1hZ2Ugb3IgdGhlIHN0YWNrIG5h" + - "bWVzLiBUaGF0IGluY2x1ZGVzIGEgZG9ja2VyIGxvZ2luCmBudmNyLmlvYCByZWplY3RzIGV2ZW4g" + - "d2hlbiB0aGUgTkdDIGtleSB3b3JrcyBpbiBpdHMgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIKaW5z" + - "dGFsbCwgc2luY2UgYGRvY2tlcmAgYW5kIGBoZWxtYCBvbiB0aGlzIG1hY2hpbmUgc3RpbGwgc2Vu" + - "ZCBpdC4gVGhlIGtleSBpcwpzdGlsbCB1c2VkIGZvciB0YWcgZGlzY292ZXJ5IGFuZCB0aGUgdmFs" + - "aWRhdG9yJ3MgcHVsbCBzZWNyZXQsIGFuZCB0aGUgcm93Cm5hbWVzIGJvdGguIEFmdGVyIGluc3Rh" + - "bGwgdGhlIHJvdyBhbHNvIHNheXMgd2hldGhlciBvbmUgb2YgdGhlIHB1bGwgc2VjcmV0cwpiZWxv" + - "dyBob2xkcyB0aGF0IGRvY2tlciBsb2dpbi4gQmVmb3JlIGluc3RhbGwsIGEgZG9ja2VyIGxvZ2lu" + - "IHdpdGggbm8gYWNjZXNzCnRvIHRoZSByb3cgdGhlIHN0YWNrJ3MgY2hhcnRzIGNvbWUgZnJvbSBm" + - "YWlscyBpdCB0b28sIGFsdGhvdWdoIHRoZSBOR0Mga2V5CnJlYWNoZXMgaXQsIHNpbmNlIGBoZWxt" + - "YCBwdWxscyB0aGUgY2hhcnRzIHdpdGggdGhlIGRvY2tlciBsb2dpbi4gVGhhdCBpcwpyZXBvcnRl" + - "ZCBhcyBubyBhY2Nlc3MsIG5vdCBhcyBhIHJlamVjdGVkIGxvZ2luLiBFbHNld2hlcmUsIGFuZCBh" + - "ZnRlciBpbnN0YWxsLAphIGRvY2tlciBsb2dpbiB3aXRoIG5vIGFjY2VzcyBwYXNzZXMgd2hlcmUg" + - "dGhlIE5HQyBrZXkgcmVhY2hlcyB0aGUKcmVwb3NpdG9yeS4gQSByZWplY3RlZCBOR0Mga2V5IGlz" + - "IGEgd2FybmluZyBhZnRlciBpbnN0YWxsIG9ubHkgd2hlbiBgY2hlY2tgCnJlYWRzIHRoZSBwdWxs" + - "IHNlY3JldHMgb2YgdGhlIGNsdXN0ZXJzIGl0IHZpc2l0cywgaW4gdGhlIG5hbWVzcGFjZXMgdGhl" + - "CnZhbGlkYXRvciBjb3BpZXMgcHVsbCBzZWNyZXRzIGZyb20sIGFuZCBub25lIG9mIHRoZW0gaG9s" + - "ZHMgdGhhdCBrZXk7IHdoZW4Kb25lIGRvZXMsIG9yIHRoZXkgY2Fubm90IGFsbCBiZSByZWFkLCBp" + - "dCBpcyBhbiBlcnJvci4gQSByZWdpc3RyeSB0aGlzIG1hY2hpbmUKY2Fubm90IHJlYWNoLCBhIHRv" + - "a2VuIHNlcnZpY2UgdGhhdCBmYWlscywgYW5kIGEgbWlzc2luZyBsb2NhbCBjcmVkZW50aWFsIGFy" + - "ZQp3YXJuaW5ncy4gQQpyZWdpc3RyeSB0aGUgcHJvYmUgY2Fubm90IHNwZWFrIHRvLCBzdWNoIGFz" + - "IEVDUiBvciBvbmUgdXNpbmcgQmFzaWMgYXV0aCwgaXMKc2tpcHBlZCB3aXRoIGEgY29tbWFuZCB0" + - "byBjaGVjayBpdCBieSBoYW5kLiBBIHJlZ2lzdHJ5IHRoYXQgbGV0cyB0aGlzCm1hY2hpbmUgaW4g" + - "YW5vbnltb3VzbHkgaXMgcmVwb3J0ZWQgYXMgc3VjaCwgbm90IGFzIHZhbGlkIGNyZWRlbnRpYWxz" + - "LgoKIyMjIFNldHRpbmdzIHJlYWQgZnJvbSB0aGUgc3RhY2sKClRoZSB2YWxpZGF0b3IgZ2V0cyB0" + - "aGVzZSBzZXR0aW5ncyBmcm9tIHRoZSBDTEkuIEVhY2ggb25lIHNldCB3aXRoIGl0cwplbnZpcm9u" + - "bWVudCB2YXJpYWJsZSBvciBjb25maWcga2V5IHdpbnMgb3ZlciB0aGUgc3RhY2suCgp8IFNldHRp" + - "bmcgfCBSZWFkIGZyb20gdGhlIHN0YWNrIHwgRW52IGFuZCBjb25maWcga2V5IHwKfC0tLXwtLS18" + - "LS0tfAp8IE5WQ0YgR2F0ZXdheXMgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmdhdGV3YXlzYCwgZ2F0" + - "ZWQgdGhlIHdheSB0aGUgc3RhY2sgd2lyZXMgcm91dGVzOiBub25lIHVubGVzcyBgaW5ncmVzcy5n" + - "YXRld2F5QXBpLmVuYWJsZWRgIGlzIGB0cnVlYCwgYG5hdHNgIG9ubHkgd2l0aCBgcm91dGVzLm5h" + - "dHMuZW5hYmxlZGAsIGBsbG1HcnBjYCBhbmQgYGxsbVF1aWNgIG9ubHkgd2l0aCBgcm91dGVzLmxs" + - "bVdvcmtlci5lbmFibGVkYCB8IGBOVkNGX0dBVEVXQVlfTkFNRVNgLCBhcyBjb21tYS1zZXBhcmF0" + - "ZWQgYG5hbWVzcGFjZS9uYW1lYCBlbnRyaWVzLiBBIGJhcmUgbmFtZSBpcyBkcm9wcGVkIGJ5IHRo" + - "ZSB2YWxpZGF0b3IuIFNldCB0aGlzIHdheSBpdCBza2lwcyB0aGUgc3RhY2sncyBnYXRlcyB8Cnwg" + - "RW52b3kgR2F0ZXdheSBuYW1lc3BhY2UgfCBgaW5ncmVzcy5nYXRld2F5QXBpLmNvbnRyb2xsZXJO" + - "YW1lc3BhY2VgIHwgYE5WQ0ZfRU5WT1lfR0FURVdBWV9OQU1FU1BBQ0VgIHwKfCBFeHRlcm5hbCBj" + - "b21wb25lbnRzIHwgYG5hdHNgLCBgb3BlbmJhb2Agb3IgYGNhc3NhbmRyYWAgd2hvc2UgYGVuYWJs" + - "ZWRgIGlzIHNldCBhbmQgaXMgbm90IGB0cnVlYCB8IGAtLWNsdXN0ZXItdmFsaWRhdG9yLWV4dGVy" + - "bmFsLWNvbXBvbmVudHNgLCBvciBgTlZDRl9FWFRFUk5BTF9DT01QT05FTlRTYCB8CnwgU3RvcmFn" + - "ZUNsYXNzIHwgYGdsb2JhbC5zdG9yYWdlQ2xhc3NgLiBXaGVuIHNldCwgdGhlIHZhbGlkYXRvciBj" + - "aGVja3MgdGhhdCB0aGlzIGNsYXNzIGV4aXN0cyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGRlZmF1" + - "bHQgY2xhc3MgfCBgTlZDRl9TVE9SQUdFX0NMQVNTYCB8CnwgT3BlbkJhbyBuYW1lc3BhY2UgfCAt" + - "IHwgYE5WQ0ZfT1BFTkJBT19OQU1FU1BBQ0VgIHwKfCBPdmVybGF5IHByb2JlIGltYWdlIHwgLSB8" + - "IGAtLWNsdXN0ZXItdmFsaWRhdG9yLXByb2JlLWltYWdlYCwgb3IgYE5WQ0ZfTjJOX1BST0JFX0lN" + - "QUdFYCB8CgpUaGUgcmVnaXN0cmllcyBhYm92ZSBhbHNvIGNvbWUgZnJvbSB0aGUgc3RhY2suIGBj" + - "aGVja2AgcmVhZHMgc3RhY2sgdmFsdWVzIG9ubHkKd2hlbiB0aGV5IGRlc2NyaWJlIHRoZSBpbnN0" + - "YWxsOgoKLSBUaGUgZW52aXJvbm1lbnQgaXMgbmFtZWQgd2l0aCBgLS1lbnZgIG9yIGBIRUxNRklM" + - "RV9FTlZgLiBUaGUgYC0tZW52YAogIGRlZmF1bHQgaXMgdXNlZCBvbmx5IGZvciBhIHBsYW5lIGAt" + - "LXByZWAgY2hlY2tzIGJlZm9yZSBpdHMgaW5zdGFsbCwKICBzaW5jZSBgdXBgIGluc3RhbGxzIHdp" + - "dGggaXQuIE90aGVyd2lzZSBwYXNzIHRoZSBgLS1lbnZgIHRoZSBpbnN0YWxsIHVzZWQuCi0gYGVu" + - "dmlyb25tZW50cy88ZW52Pi55YW1sYCBpcyByZWFkLCBsYXllcmVkIG92ZXIgYGJhc2UueWFtbGAu" + - "IGBiYXNlLnlhbWxgCiAgYWxvbmUgaXMgbm90IHVzZWQuCi0gVGhlIGZpbGUgY29tZXMgZnJvbSB0" + - "aGUgc3RhY2sgdGhlIGluc3RhbGwgdXNlZDogYC0tY29udHJvbC1wbGFuZS1zdGFja2AKICAoYC0t" + - "Y29tcHV0ZS1wbGFuZS1zdGFja2AgZm9yIHRoZSByZWdpc3RyaWVzIHdoZW4gdGhlIHJlZ2lzdHJ5" + - "IGNoZWNrCiAgYmVsb25ncyB0byB0aGUgY29tcHV0ZSBwbGFuZSksIGVsc2UgdGhlIENMSSdzIGJ1" + - "aWx0LWluIHN0YWNrLiBBIGxvY2FsCiAgZGlyZWN0b3J5IGlzIHJlYWQgZGlyZWN0bHksIGFuZCBh" + - "biBgb2NpOi8vYCBzdGFjayBmcm9tIHRoZSBjb3B5IGFuIGVhcmxpZXIKICBjb21tYW5kIGV4dHJh" + - "Y3RlZCBpbnRvIHRoZSBDTEkgY2FjaGUuIEEgZ2l0IHN0YWNrLCBgZmlsZTovL2AgaW5jbHVkZWQs" + - "IGlzCiAgbm90IHJlYWQsIHNpbmNlIHRoZSBpbnN0YWxsIGNsb25lZCBpdHMgY29tbWl0dGVkIHN0" + - "YXRlLiBBIENMSSB3aXRoIG5vCiAgYnVpbHQtaW4gc3RhY2sgYW5kIG5vIHN0YWNrIGZsYWcgcmVh" + - "ZHMgdGhlIHN0YWNrIGNoZWNrb3V0IGFib3ZlIHRoZQogIHdvcmtpbmcgZGlyZWN0b3J5LgoKT3Ro" + - "ZXJ3aXNlIG5vdGhpbmcgZnJvbSB0aGUgc3RhY2sgaXMgZm9yd2FyZGVkOiB0aGUgdmFsaWRhdG9y" + - "IGZpbmRzIHRoZQpHYXRld2F5cyBmcm9tIHRoZSByb3V0ZXMsIGFuZCBgbnZjci5pb2AgaXMgcHJv" + - "YmVkIGFzIGEgd2FybmluZyBvbmx5LgoKIyMgYHVwYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9z" + - "ZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tY2x1c3Rlci1uYW1lIE5BTUVgIHwgSUNN" + - "UyBjbHVzdGVyIHJvdyBpZGVudGlmaWVyIChyZXF1aXJlZCkgfCAtIHwKfCBgLS1uY2EtaWQgSURg" + - "IHwgTkNBIGFjY291bnQgSUQgfCBgbnZjZi1kZWZhdWx0YCB8CnwgYC0tcmVnaW9uIFJFR0lPTmAg" + - "fCBDbHVzdGVyIHJlZ2lvbiB8IGB1cy13ZXN0LTFgIHwKfCBgLS1wbGFuLW9ubHlgIHwgRHJ5LXJ1" + - "bjsgZW1pdCBwaGFzZSBwbGFuICsgRVRBcyB3aXRob3V0IGNoYW5nZXMgfCBgZmFsc2VgIHwKCiMj" + - "IGBzdGF0dXNgLXNwZWNpZmljCgp8IEZsYWcgfCBQdXJwb3NlIHwgRGVmYXVsdCB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1jbHVzdGVyLW5hbWUgTkFNRWAgfCBMaW1pdCB0byBvbmUgY29tcHV0ZSBwbGFu" + - "ZSB8IC0gKGNvbnRyb2wgKyBhbGwgY2x1c3RlcnMpIHwKfCBgLS13YXRjaGAgfCBMaXZlIHJlLXJl" + - "bmRlciB8IGBmYWxzZWAgfAp8IGAtLXdhdGNoLWludGVydmFsIERVUmAgfCBgLS13YXRjaGAgY2Fk" + - "ZW5jZSB8IGA1c2AgfAp8IGAtLWNvbXBvbmVudCBOQU1FYCB8IEZpbHRlciBjb21wb25lbnRzIHBh" + - "bmVsIHwgYWxsIHwKfCBgLS1uby1ldmVudHNgIHwgU2tpcCBldmVudHMgcGFuZWwgfCBgZmFsc2Vg" + - "IHwKCiMjIGBjbHVzdGVyIHJlZ2lzdGVyYC1zcGVjaWZpYwoKfCBGbGFnIHwgUHVycG9zZSB8IERl" + - "ZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tbmFtZSBOQU1FYCB8IENsdXN0ZXIgbmFtZSAocmVx" + - "dWlyZWQpIHwgLSB8CnwgYC0tbmNhLWlkIElEYCB8IE5DQSBJRCAocmVxdWlyZWQpIHwgLSB8Cnwg" + - "YC0tcmVnaW9uIFJFR0lPTmAgfCBSZWdpb24gfCBgdXMtd2VzdC0xYCB8CnwgYC0taWNtcy11cmwg" + - "VVJMYCB8IElDTVMgZW5kcG9pbnQgfCBmcm9tIGNvbmZpZyB8CnwgYC0taWdub3JlLWV4aXN0aW5n" + - "YCB8IE1hdGNoLW9yLWNyZWF0ZSBpbnN0ZWFkIG9mIGZhaWwtb24tZXhpc3RzIHwgYGZhbHNlYCB8" + - "CgojIyBgYXBpLWtleSBnZW5lcmF0ZWAtc3BlY2lmaWMKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZh" + - "dWx0IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZvciBmdW5jdGlvblx8dGFza2AgfCBHZW5lcmF0ZSBv" + - "bmx5IHRoZSBzcGVjaWZpZWQga2V5IHR5cGUgfCAob21pdCB0byBnZW5lcmF0ZSBib3RoKSB8Cnwg" + - "YC0tZGVzY3JpcHRpb24gVEVYVGAgfCBIdW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhlIGtleSB8" + - "IGBHZW5lcmF0ZWQgYnkgbnZjZi1jbGlgIHwKfCBgLS1leHBpcmVzLWluIERVUkFUSU9OYCB8IEV4" + - "cGlyeSBvZmZzZXQgKGUuZy4gYDI0aGAsIGA3ZGApOyBwYXJzZWQgYXMgZXh0ZW5kZWQgZHVyYXRp" + - "b24gfCBgMjRoYCB8CnwgYC0tc2NvcGVzIFNDT1BFWyxTQ09QRV1gIHwgT3ZlcnJpZGUgZGVmYXVs" + - "dCBzY29wZXM7IHJlcXVpcmVzIGAtLWZvcmAgfCAoc2VydmljZSBkZWZhdWx0cykgfAp8IGAtLXZh" + - "bGlkYXRlYCB8IFZhbGlkYXRlIGVhY2ggZ2VuZXJhdGVkIGtleSBpbW1lZGlhdGVseSBhZnRlciBt" + - "aW50aW5nIHwgYGZhbHNlYCB8CgpFeHRlbmRlZCBkdXJhdGlvbiB1bml0czogYHNgIChzZWNvbmRz" + - "KSwgYG1gIChtaW51dGVzKSwgYGhgIChob3VycyksIGBkYCAoZGF5cyksIGB3YCAod2Vla3MpLgoK" + - "IyMgYGZ1bmN0aW9uIGNyZWF0ZWAtc3BlY2lmaWMKCmAtLWlucHV0LWZpbGUgRklMRWAgaXMgcmVj" + - "b21tZW5kZWQgZm9yIHJlcGVhdGFibGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuIEZvciBhZC1ob2Mg" + - "Y3JlYXRlczoKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0IHwKfC0tLXwtLS18LS0tfAp8IGAt" + - "LW5hbWUgTkFNRWAgfCBGdW5jdGlvbiBuYW1lIHwgLSB8CnwgYC0taW1hZ2UgSU1BR0VgIHwgQ29u" + - "dGFpbmVyIGltYWdlIHwgLSB8CnwgYC0taW5mZXJlbmNlLXVybCBVUklgIHwgQ29udGFpbmVyIGlu" + - "ZmVyZW5jZSBlbmRwb2ludCB8IC0gfAp8IGAtLWluZmVyZW5jZS1wb3J0IFBPUlRgIHwgQ29udGFp" + - "bmVyIGluZmVyZW5jZSBwb3J0IHwgLSB8CnwgYC0tZnVuY3Rpb24tdHlwZSBERUZBVUxUXHxTVFJF" + - "QU1JTkdcfExMTWAgfCBGdW5jdGlvbiB0eXBlIHwgYERFRkFVTFRgIHwKfCBgLS1oZWxtLWNoYXJ0" + - "IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9yIE9DSSByZWZlcmVuY2UuIENhbiBiZSB1c2VkIHdp" + - "dGggYC0tZnVuY3Rpb24tdHlwZT1MTE1gIGZvciBjaGFydC1wYWNrYWdlZCBMTE0gd29ya2xvYWRz" + - "LiB8IC0gfAp8IGAtLWhlbG0tY2hhcnQtc2VydmljZSBOQU1FYCB8IEt1YmVybmV0ZXMgU2Vydmlj" + - "ZSBuYW1lIGV4cG9zZWQgYnkgdGhlIGNoYXJ0LiBSZXF1aXJlZCB3aGVuIGAtLWhlbG0tY2hhcnRg" + - "IGlzIHNldC4gfCAtIHwKfCBgLS1tb2RlbHMgTkFNRTpWRVJTSU9OOlVSSWAgfCBTdGFuZGFyZCBt" + - "b2RlbCBhcnRpZmFjdDsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLWxsbS1tb2RlbCBTUEVDYCB8IExM" + - "TSBtb2RlbCBjb25maWc7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHVyaXM9PHVyaT5cfDx1cmk+LHJv" + - "dXRpbmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUu" + - "IFRva2VuIGxpbWl0cyB1c2UgYDx2YWx1ZT4tPHVuaXQ+YCB3aXRoIGBTYCwgYE1gLCBgSGAsIGBE" + - "YCwgb3IgYFdgLCBmb3IgZXhhbXBsZSBgMTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJp" + - "bmVkIHRva2VuIGxpbWl0cyBiZWNhdXNlIGlubGluZSBzcGVjcyB1c2UgY29tbWFzIGFzIGZpZWxk" + - "IHNlcGFyYXRvcnMuIHwgLSB8CnwgYC0tbGxtLWRlZmF1bHQtcHJpb3JpdHkgUFJJT1JJVFlgIHwg" + - "RnVuY3Rpb24tbGV2ZWwgZGVmYXVsdCByZXF1ZXN0IHByaW9yaXR5LiBMb3dlciB2YWx1ZXMgaGF2" + - "ZSBoaWdoZXIgcHJpb3JpdHkuIHwgLSB8CnwgYC0tbGxtLXBlci1hY2NvdW50LXByaW9yaXR5IE5D" + - "QS1JRDpQUklPUklUWWAgfCBQZXItYWNjb3VudCBwcmlvcml0eSBvdmVycmlkZTsgcmVwZWF0YWJs" + - "ZTsgc3VwcG9ydHMgdXAgdG8gNjQgZGlzdGluY3QgTkNBIElEIG92ZXJyaWRlcy4gUmVxdWlyZXMg" + - "YSBkZWZhdWx0IHByaW9yaXR5LiB8IC0gfAoKSW4gSlNPTiBhbmQgaW5saW5lIHNwZWNzLCBMTE0g" + - "ZnVuY3Rpb25zIHNldCBgZnVuY3Rpb25UeXBlOiAiTExNImAgYW5kIG1vZGVsIHJvdXRpbmcgbWV0" + - "YWRhdGEgdW5kZXIgYG1vZGVsc1tdLmxsbUNvbmZpZ2AuIGBsbG1Db25maWcudXJpc2AgZGVjbGFy" + - "ZXMgdGhlIE9wZW5BSS1jb21wYXRpYmxlIHVwc3RyZWFtIHBhdGhzIGV4cG9zZWQgYnkgdGhlIG1v" + - "ZGVsLiBDdXJyZW50IHN1cHBvcnRlZCBwYXRocyBhcmUgYC92MS9jaGF0L2NvbXBsZXRpb25zYCwg" + - "YC92MS9yZXNwb25zZXNgLCBhbmQgYC92MS9lbWJlZGRpbmdzYC4gYGxsbUNvbmZpZy5yb3V0aW5n" + - "TWV0aG9kYCBhY2NlcHRzIGByb3VuZF9yb2JpbmAsIGBwb3dlcl9vZl90d29gLCBgZ3JvcV9tdWx0" + - "aXJlZ2lvbmAsIGBwdWxzYXJgLCBvciBgcmFuZG9tYC4KYGxsbUNvbmZpZy50b2tlblJhdGVMaW1p" + - "dGAgYWNjZXB0cyBvbmUgb3IgbW9yZSBjb21tYS1zZXBhcmF0ZWQgcG9zaXRpdmUgaW50ZWdlciB0" + - "b2tlbiBsaW1pdHMgaW4gYDx2YWx1ZT4tPHVuaXQ+YCBmb3JtYXQuIFN1cHBvcnRlZCB1bml0cyBh" + - "cmUgYFNgIChzZWNvbmRzKSwgYE1gIChtaW51dGVzKSwgYEhgIChob3VycyksIGBEYCAoZGF5cyks" + - "IGFuZCBgV2AgKHdlZWtzKS4gVXNlIGRpc3RpbmN0IHVuaXRzIHdoZW4gY29tYmluaW5nIGxpbWl0" + - "cywgZm9yIGV4YW1wbGUgYDEwMDAtUyw1MDAwLU0sMTAwMDAwLUgsNTAwMDAwLUQsMTAwMDAwMC1X" + - "YCBpbiBpbnB1dCBKU09OLgoKSGVsbSBjaGFydCBwYWNrYWdpbmcgaXMgaW5kZXBlbmRlbnQgb2Yg" + - "YGZ1bmN0aW9uVHlwZWAuIEZvciBhIEhlbG0tY2hhcnQgYmFja2VkIExMTSBmdW5jdGlvbiwgc2V0" + - "IGBmdW5jdGlvblR5cGU6ICJMTE0iYCwgYGhlbG1DaGFydGAsIGBoZWxtQ2hhcnRTZXJ2aWNlTmFt" + - "ZWAsIGFuZCBgbW9kZWxzW10ubGxtQ29uZmlnYCBpbiB0aGUgc2FtZSBjcmVhdGUgcmVxdWVzdC4g" + - "YGluZmVyZW5jZVBvcnRgIG11c3QgYmUgdGhlIEt1YmVybmV0ZXMgU2VydmljZSBwb3J0IGV4cG9z" + - "ZWQgYnkgYGhlbG1DaGFydFNlcnZpY2VOYW1lYC4KCkxMTSBpbnZvY2F0aW9uIHJlcXVlc3RzIHVz" + - "ZSBgbW9kZWw6ICI8ZnVuY3Rpb24taWQ+Lzxtb2RlbC1uYW1lPiJgLiBUaGUgZnVuY3Rpb24gSUQg" + - "c2VsZWN0cyB0aGUgTlZDRiBmdW5jdGlvbiwgYW5kIHRoZSBtb2RlbCBuYW1lIGlzIGZvcndhcmRl" + - "ZCB1cHN0cmVhbS4gQ2hhdCBjb21wbGV0aW9ucyBhbmQgUmVzcG9uc2VzIEFQSSByZXF1ZXN0cyBj" + - "YW4gdXNlIGB4LW11bHRpLXR1cm4tc2Vzc2lvbi1pZGAgZm9yIHNlc3Npb24gc3RpY2tpbmVzczsg" + - "ZW1iZWRkaW5ncyByZXF1ZXN0cyBkbyBub3QuCgojIyBgZnVuY3Rpb24gdXBkYXRlYC1zcGVjaWZp" + - "YwoKfCBGbGFnIHwgUHVycG9zZSB8IERlZmF1bHQgfAp8LS0tfC0tLXwtLS18CnwgYC0tdGFncyBU" + - "QUdbLFRBR11gIHwgUmVwbGFjZSBmdW5jdGlvbiB0YWdzIHwgLSB8CnwgYC0tbGxtLW1vZGVsLXVw" + - "ZGF0ZSBTUEVDYCB8IExMTSBtb2RlbCB1cGRhdGU7IGZvcm1hdCBgbmFtZT08bW9kZWw+LHJvdXRp" + - "bmdNZXRob2Q9PG1ldGhvZD4sdG9rZW5SYXRlTGltaXQ9PGxpbWl0PmA7IHJlcGVhdGFibGUuIFJv" + - "dXRpbmcgbWV0aG9kcyBtYXRjaCBgLS1sbG0tbW9kZWxgLiBUb2tlbiBsaW1pdCBleGFtcGxlOiBg" + - "MTAwMC1TYC4gVXNlIGlucHV0IEpTT04gZm9yIGNvbWJpbmVkIHRva2VuIGxpbWl0cy4gfCAtIHwK" + - "fCBgLS1sbG0tZGVmYXVsdC1wcmlvcml0eSBQUklPUklUWWAgfCBSZXBsYWNlIHRoZSBmdW5jdGlv" + - "bi1sZXZlbCBwcmlvcml0eSBjb25maWd1cmF0aW9uIHdpdGggdGhpcyBkZWZhdWx0IGFuZCBhbnkg" + - "c3VwcGxpZWQgcGVyLWFjY291bnQgb3ZlcnJpZGVzLiB8IC0gfAp8IGAtLWxsbS1wZXItYWNjb3Vu" + - "dC1wcmlvcml0eSBOQ0EtSUQ6UFJJT1JJVFlgIHwgUGVyLWFjY291bnQgcHJpb3JpdHkgb3ZlcnJp" + - "ZGU7IHJlcGVhdGFibGU7IHN1cHBvcnRzIHVwIHRvIDY0IGRpc3RpbmN0IE5DQSBJRCBvdmVycmlk" + - "ZXMuIFJlcXVpcmVzIGEgZGVmYXVsdCBwcmlvcml0eS4gfCAtIHwKCkluIEpTT04sIGBmdW5jdGlv" + - "biB1cGRhdGVgIGFjY2VwdHMgYG1vZGVsVXBkYXRlc1tdYCBlbnRyaWVzIHdpdGggYG1vZGVsTmFt" + - "ZWAgYW5kIGBsbG1Db25maWcucm91dGluZ01ldGhvZGAgYW5kL29yIGBsbG1Db25maWcudG9rZW5S" + - "YXRlTGltaXRgLiBgdXJpc2AgYXJlIGNyZWF0ZS10aW1lIG1vZGVsIG1ldGFkYXRhIGFuZCBhcmUg" + - "bm90IHBhcnQgb2YgbW9kZWwgdXBkYXRlcy4KCiMjIGBmdW5jdGlvbiBkZXBsb3kgY3JlYXRlYC1z" + - "cGVjaWZpYwoKYC0taW5wdXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCAoZnVsbCBKU09OIHNw" + - "ZWMpLiBGb3IgYWQtaG9jIG9uZS1zaG90IHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBEZWZhdWx0" + - "IHwKfC0tLXwtLS18LS0tfAp8IGAtLWZ1bmN0aW9uLWlkIElEYCB8IEZ1bmN0aW9uIElEIChyZXF1" + - "aXJlZCkgfCAtIHwKfCBgLS1ncHUgTkFNRWAgfCBHUFUgZmFtaWx5IHwgYEgxMDBgIHwKfCBgLS1p" + - "bnN0YW5jZS10eXBlIFRZUEVgIHwgU0tVIHwgYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLW1pbi1p" + - "bnN0YW5jZXMgTmAgfCBNaW4gcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1pbnN0YW5jZXMgTmAg" + - "fCBNYXggcmVwbGljYXMgfCBgMWAgfAp8IGAtLW1heC1yZXF1ZXN0LWNvbmN1cnJlbmN5IE5gIHwg" + - "Q29uY3VycmVuY3kgfCBgMGAgKHVuc2V0OyBzZXJ2ZXIgZGVmYXVsdCBhcHBsaWVzKSB8CnwgYC0t" + - "Y2x1c3RlcnMgTkFNRVssTkFNRV1gIHwgVGFyZ2V0IHNwZWNpZmljIGNvbXB1dGUgY2x1c3RlcnMg" + - "fCAoYW55IG1hdGNoaW5nIFNLVSkgfAoKIyMgYHRhc2sgY3JlYXRlYC1zcGVjaWZpYwoKYC0taW5w" + - "dXQtZmlsZSBGSUxFYCBpcyByZWNvbW1lbmRlZCBmb3IgcmVwZWF0YWJsZSB0YXNrIGRlZmluaXRp" + - "b25zLiBGb3IgYWQtaG9jIHVzZToKCnwgRmxhZyB8IFB1cnBvc2UgfCBOb3RlcyB8CnwtLS18LS0t" + - "fC0tLXwKfCBgLS1uYW1lIE5BTUVgIHwgVGFzayBuYW1lIChyZXF1aXJlZCkgfCAxLTEyOCBjaGFy" + - "cywgYF5bYS16MC05QS1aXVthLXowLTlBLVpcLV9dKiRgIHwKfCBgLS1ncHUgR1BVYCB8IEdQVSBu" + - "YW1lIChyZXF1aXJlZCB3aXRob3V0IGAtLWlucHV0LWZpbGVgKSB8IEV4YW1wbGU6IGBIMTAwYCB8" + - "CnwgYC0taW5zdGFuY2UtdHlwZSBUWVBFYCB8IEluc3RhbmNlIHR5cGUgKHJlcXVpcmVkIHdpdGhv" + - "dXQgYC0taW5wdXQtZmlsZWApIHwgRXhhbXBsZTogYE5DUC5HUFUuSDEwMF8xeGAgfAp8IGAtLWlt" + - "YWdlIElNQUdFYCB8IENvbnRhaW5lciBpbWFnZSB8IE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGAt" + - "LWhlbG0tY2hhcnRgIHwKfCBgLS1oZWxtLWNoYXJ0IENIQVJUYCB8IEhlbG0gY2hhcnQgVVJMIG9y" + - "IE9DSSByZWZlcmVuY2UgfCBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgLS1pbWFnZWAgfAp8IGAt" + - "LWlucHV0LWZpbGUgRklMRWAgfCBKU09OIHRhc2sgc3BlYyBmaWxlIHwgQ0xJIGZsYWdzIG92ZXJy" + - "aWRlIEpTT04gdmFsdWVzIHdoZW4gYm90aCBhcmUgc2V0IHwKfCBgLS1iYWNrZW5kIEJBQ0tFTkRg" + - "IHwgQmFja2VuZCAvIENTUCB8IC0gfAp8IGAtLWNsdXN0ZXJzIE5BTUVbLE5BTUVdYCB8IFNwZWNp" + - "ZmljIGNsdXN0ZXJzIHdpdGhpbiB0aGUgaW5zdGFuY2UgfCBDb21tYS1zZXBhcmF0ZWQgfAp8IGAt" + - "LWNvbnRhaW5lci1hcmdzIEFSR1NgIHwgQXJncyBwYXNzZWQgd2hlbiBsYXVuY2hpbmcgdGhlIGNv" + - "bnRhaW5lciB8IFNpbmdsZSBzdHJpbmcsIGUuZy4gYCItLWVwb2NocyAxMCAtLWJhdGNoLXNpemUg" + - "MzIiYCB8CnwgYC0tY29udGFpbmVyLWVudiBOQU1FPXZhbHVlYCB8IENvbnRhaW5lciBlbnZpcm9u" + - "bWVudCB2YXJpYWJsZTsgcmVwZWF0YWJsZSB8IC0gfAp8IGAtLXNlY3JldHMgTkFNRT12YWx1ZWAg" + - "fCBTZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGU7IHJlcGVhdGFibGU7IGVuY3J5cHRlZCBhdCBy" + - "ZXN0IHwgLSB8CnwgYC0tbWF4LXJ1bnRpbWUgRFVSQVRJT05gIHwgTWF4IHdhbGwtY2xvY2sgcnVu" + - "IHRpbWUgKElTTyA4NjAxLCBlLmcuIGBQVDRIYCkgfCBObyBkZWZhdWx0OyBvbWl0IGZvciBubyB0" + - "aW1lIGxpbWl0IHwKfCBgLS1tYXgtcXVldWVkIERVUkFUSU9OYCB8IE1heCB0aW1lIGluIHF1ZXVl" + - "IGJlZm9yZSBjYW5jZWxsYXRpb24gKElTTyA4NjAxKSB8IFNlcnZlciBkZWZhdWx0IGBQVDcySGAg" + - "fAp8IGAtLXRlcm1pbmF0aW9uLWdyYWNlIERVUkFUSU9OYCB8IEdyYWNlIHBlcmlvZCBhZnRlciBz" + - "dG9wIHNpZ25hbCAoSVNPIDg2MDEpIHwgU2VydmVyIGRlZmF1bHQgYFBUMUhgIHwKfCBgLS1yZXN1" + - "bHQtc3RyYXRlZ3kgVVBMT0FEXHxOT05FYCB8IEhvdyB0byBoYW5kbGUgdGFzayBvdXRwdXQgYXJ0" + - "aWZhY3RzIHwgLSB8CnwgYC0tcmVzdWx0cy1sb2NhdGlvbiBMT0NBVElPTmAgfCBSZXN1bHQgdXBs" + - "b2FkIHRhcmdldCwgZm9ybWF0IGBvcmctbmFtZS9bdGVhbS1uYW1lL11tb2RlbC1uYW1lYDsgcmVx" + - "dWlyZWQgd2hlbiBgLS1yZXN1bHQtc3RyYXRlZ3k9VVBMT0FEYCB8IC0gfAp8IGAtLW1vZGVscyBO" + - "QU1FOlZFUlNJT046VVJJYCB8IE1vZGVsIGFydGlmYWN0OyByZXBlYXRhYmxlIHwgLSB8CnwgYC0t" + - "cmVzb3VyY2VzIE5BTUU6VkVSU0lPTjpVUklgIHwgUmVzb3VyY2UgYXJ0aWZhY3Q7IHJlcGVhdGFi" + - "bGUgfCAtIHwKfCBgLS10YWdzIFRBR1ssVEFHXWAgfCBUYXNrIHRhZ3MgfCBDb21tYS1zZXBhcmF0" + - "ZWQgfAp8IGAtLWRlc2NyaXB0aW9uIFRFWFRgIHwgVGFzayBkZXNjcmlwdGlvbiB8IC0gfAp8IGAt" + - "LWxvZ3MtdGVsZW1ldHJ5LWlkIFVVSURgIHwgTG9ncyB0ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAt" + - "IHwKfCBgLS1tZXRyaWNzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IE1ldHJpY3MgdGVsZW1ldHJ5IGVu" + - "ZHBvaW50IElEIHwgLSB8CnwgYC0tdHJhY2VzLXRlbGVtZXRyeS1pZCBVVUlEYCB8IFRyYWNlcyB0" + - "ZWxlbWV0cnkgZW5kcG9pbnQgSUQgfCAtIHwKUEsHCJBxATT0YAAA9GAAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAANwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91" + - "Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhIjIFRyb3VibGVzaG9vdGluZwoKS25vd24gZXJyb3JzLCB0" + - "aGUgZGlhZ25vc3RpYyBjb21tYW5kLCBhbmQgdGhlIHJlbWVkaWF0aW9uLiBLZWVwIGluIHN5bmMg" + - "d2l0aCB0aGUgc3RydWN0dXJlZCBldmVudHMgdGhlIENMSSBlbWl0cyAoUkVRLTE1KTogb3V0c2lk" + - "ZSBwcmUtZmxpZ2h0LCBldmVyeSBlbnRyeSBiZWxvdyBzaG91bGQgbWFwIHRvIGEgYHBoYXNlX2Zh" + - "aWxlZGAgYGVyckNhdGVnb3J5YCBhbmQgYSBgcmVtZWRpYXRpb25gIGFycmF5LgoKIyMgUHJlLWZs" + - "aWdodAoKYGNoZWNrYCByZXBvcnRzIGVhY2ggZmluZGluZyBhcyBhIGBjaGVja19jb21wbGV0ZWRg" + - "IGV2ZW50LCBub3QgYXMKYHBoYXNlX2ZhaWxlZGAuIFRoZSBzeW1wdG9tIGlzIHRoZSBldmVudCdz" + - "IGBtZXNzYWdlYDsgY2x1c3Rlci12YWxpZGF0b3Igcm93cwpxdW90ZSB0aGUgdmFsaWRhdG9yJ3Mg" + - "ZmFpbGVkIHN1bW1hcnkgcm93cywgYW5kIGAtLXNob3ctbG9nc2AgcHJpbnRzIHRoZSBmdWxsCnRy" + - "YW5zY3JpcHQuCgp8IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0t" + - "fAp8IGBrdWJlY3RsIG5vdCBmb3VuZCBvbiBQQVRIYCB8IE9wZXJhdG9yJ3MgYCRQQVRIYCBkb2Vz" + - "bid0IGluY2x1ZGUga3ViZWN0bC4gQW4gZXJyb3Igd2l0aCBgLS1wcmVgOyBvdGhlciBzY29wZXMg" + - "d2FybiwgYWRkaW5nIGA7IG9ubHkgYW4gaW5zdGFsbCBuZWVkcyBpdGAgfCBJbnN0YWxsIGt1YmVj" + - "dGwgMS4yOCs6IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3Rhc2tzL3Rvb2xzL2luc3RhbGwt" + - "a3ViZWN0bC8gfAp8IGBoZWxtZmlsZSBub3QgZm91bmQgb24gUEFUSGAgfCBTYW1lIHwgaHR0cHM6" + - "Ly9naXRodWIuY29tL2hlbG1maWxlL2hlbG1maWxlI2luc3RhbGxhdGlvbiB8CnwgYGhlbG0gbm90" + - "IGZvdW5kIG9uIFBBVEhgIHwgU2FtZSB8IGh0dHBzOi8vaGVsbS5zaC9kb2NzL2ludHJvL2luc3Rh" + - "bGwvIHwKfCBgY2x1c3Rlci12YWxpZGF0b3Igbm90IHJ1bjogY2x1c3Rlcl92YWxpZGF0b3JfaW1h" + - "Z2UgaXMgbm90IHNldDsgLi4uYCwgd2FybmluZyB8IE5vIHZhbGlkYXRvciBpbWFnZSBpcyBjb25m" + - "aWd1cmVkLCBzbyB0aGUgY2x1c3RlciB3YXMgbm90IHZhbGlkYXRlZCB8IFNldCBgY2x1c3Rlcl92" + - "YWxpZGF0b3JfaW1hZ2VgIGluIHRoZSBudmNmLWNsaSBjb25maWcsIGBOVkNGX0NMSV9DTFVTVEVS" + - "X1ZBTElEQVRPUl9JTUFHRWAgb3IgYC0tY2x1c3Rlci12YWxpZGF0b3ItaW1hZ2VgIHwKfCBgY2x1" + - "c3Rlci12YWxpZGF0b3IgZGlkIG5vdCBjb21wbGV0ZSwgc28gdGhlIGNsdXN0ZXIgd2FzIG5vdCB2" + - "YWxpZGF0ZWQ6IC4uLmAsIGVycm9yIHwgVGhlIHZhbGlkYXRvciBjb3VsZCBub3QgcnVuIG9yIGVu" + - "ZGVkIGJlZm9yZSBpdHMgdmVyZGljdDogUkJBQyBkZW5pZWQsIGltYWdlIHB1bGwgZmFpbHVyZSwg" + - "aXRzIG93biB0aW1lb3V0IHwgRml4IHRoZSBjYXVzZSB0aGUgbWVzc2FnZSBuYW1lcywgb3IgcGFz" + - "cyBgLS1za2lwLWNsdXN0ZXItdmFsaWRhdGlvbmAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciBKb2Ig" + - "c3VjY2VlZGVkOyBpdHMgdHJhbnNjcmlwdCBjb3VsZCBub3QgYmUgcmVhZCAoLi4uKWAsIHBhc3Nl" + - "ZCB8IFRoZSB2YWxpZGF0b3IgcGFzc2VkLCBidXQgaXRzIGxvZyBjb3VsZCBub3QgYmUgcmVhZDog" + - "dGhlIGt1YmVjb25maWcgdXNlciBsYWNrcyBgZ2V0YCBvbiBgcG9kcy9sb2dgIGluIGBkZWZhdWx0" + - "YCwgb3IgdGhlIEFQSSBzZXJ2ZXIgY2Fubm90IHJlYWNoIHRoZSBrdWJlbGV0LiBUaGUgY2hlY2tz" + - "IGl0IHJhbiBhbmQgd2FybmluZ3MgaXQgcmVwb3J0ZWQgYXJlIG5vdCBzaG93bjogYW4gaW1hZ2Ug" + - "dGhhdCBwcmVkYXRlcyB2YWxpZGF0b3Igcm9sZXMgcnVucyB0aGUgY29tcHV0ZS1wbGFuZSBjaGVj" + - "a3MgZm9yIGVpdGhlciByb2xlIHwgR3JhbnQgYGdldGAgb24gYHBvZHMvbG9nYCBpbiBgZGVmYXVs" + - "dGAsIG9yIHJlYWQgdGhlIHRyYW5zY3JpcHQgd2l0aCB0aGUgYGt1YmVjdGwgbG9nc2AgY29tbWFu" + - "ZCBpbiB0aGUgcm93IHwKfCBgY2x1c3Rlci12YWxpZGF0b3IgcmVwb3J0ZWQgZmFpbHVyZXM6IEdh" + - "dGV3YXkgQVBJIENSRHM6IE5vdCBJbnN0YWxsZWRgIHwgRW52b3kgR2F0ZXdheSBwcmVyZXEgbWlz" + - "c2luZyB8IGBoZWxtIGluc3RhbGwgZWcgb2NpOi8vZG9ja2VyLmlvL2Vudm95cHJveHkvZ2F0ZXdh" + - "eS1oZWxtIC0tbmFtZXNwYWNlPWVudm95LWdhdGV3YXktc3lzdGVtIC0tY3JlYXRlLW5hbWVzcGFj" + - "ZWAgfAp8IGBjbHVzdGVyLXZhbGlkYXRvciByZXBvcnRlZCBmYWlsdXJlczogRGVmYXVsdCBTdG9y" + - "YWdlQ2xhc3M6IE5vdCBGb3VuZGAgfCBDbHVzdGVyIGhhcyBubyBkZWZhdWx0IFNDLCBhbmQgdGhl" + - "IHN0YWNrIGRvZXMgbm90IG5hbWUgb25lIHwgQW5ub3RhdGUgb25lOiBga3ViZWN0bCBwYXRjaCBz" + - "YyA8bmFtZT4gLXAgJ3sibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsic3RvcmFnZWNsYXNzLmt1" + - "YmVybmV0ZXMuaW8vaXMtZGVmYXVsdC1jbGFzcyI6InRydWUifX19J2AsIG9yIHNldCBgZ2xvYmFs" + - "LnN0b3JhZ2VDbGFzc2AgaW4gdGhlIHN0YWNrJ3MgZW52aXJvbm1lbnQgZmlsZSAob3IgYE5WQ0Zf" + - "U1RPUkFHRV9DTEFTU2ApIHRvIHRoZSBjbGFzcyB0aGUgc3RhY2sgdXNlcyB8CnwgYGNsdXN0ZXIt" + - "dmFsaWRhdG9yIHJlcG9ydGVkIGZhaWx1cmVzOiBHUFUgUmVzb3VyY2VzOiBOb3QgQXZhaWxhYmxl" + - "YCAoY29tcHV0ZS1wbGFuZSkgfCBObyBub2RlIGFkdmVydGlzZXMgYW4gYWxsb2NhdGFibGUgR1BV" + - "OiBubyBHUFUgbm9kZXMsIG9yIHRoZSBOVklESUEgR1BVIE9wZXJhdG9yIGlzIG1pc3Npbmcgb3Ig" + - "bm90IHdvcmtpbmcgfCBJbnN0YWxsIHBlciBodHRwczovL2RvY3MubnZpZGlhLmNvbS9kYXRhY2Vu" + - "dGVyL2Nsb3VkLW5hdGl2ZS9ncHUtb3BlcmF0b3IvbGF0ZXN0L2luc3RhbGwtZ3B1LW9wZXJhdG9y" + - "Lmh0bWwsIE9SIHVzZSBgZmFrZS1ncHUtb3BlcmF0b3JgIGZvciBkZXYuIGBHUFUgT3BlcmF0b3I6" + - "IE5vdCBJbnN0YWxsZWRgIGFsb25lIGlzIGEgd2FybmluZyB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "OiBgPG5zPiAoc3R1Y2sgVGVybWluYXRpbmc6IC4uLilgLCBlcnJvciwgZXhpdCBgMmAgfCBUaGUg" + - "bmFtZXNwYWNlIGhhcyBiZWVuIGRlbGV0aW5nIGZvciBvdmVyIDIgbWludXRlcywgb3IgaXRzIGNv" + - "bmRpdGlvbnMgcmVwb3J0IGEgZGVsZXRpb24gZmFpbHVyZS4gVXN1YWxseSBhbiBvYmplY3QgaW5z" + - "aWRlIGl0IHN0aWxsIGhvbGRzIGEgZmluYWxpemVyIHwgUnVuIHRoZSBjb21tYW5kcyBpbiB0aGUg" + - "cm93IGluIG9yZGVyOiByZWFkIGBrdWJlY3RsIGdldCBucyA8bnM+IC1vIGpzb25wYXRoPSd7LnN0" + - "YXR1cy5jb25kaXRpb25zfSdgLCBsaXN0IHdoYXQgaXMgbGVmdCB3aXRoIHRoZSBgYXBpLXJlc291" + - "cmNlc2AgY29tbWFuZCwgYW5kIHJlc29sdmUgdGhvc2Ugb2JqZWN0cy4gRm9yY2UtY2xlYXIgdGhl" + - "IG5hbWVzcGFjZSBmaW5hbGl6ZXJzIG9ubHkgYXMgYSBsYXN0IHJlc29ydCB8CnwgYHN0YWxlLW5h" + - "bWVzcGFjZXNgOiBgPG5zPiAoVGVybWluYXRpbmc6IGRlbGV0aW5nIGZvciA8YWdlPilgLCB3YXJu" + - "aW5nIHwgQSBub3JtYWwgZGVsZXRpb24gaXMgc3RpbGwgZHJhaW5pbmcgdm9sdW1lcyBhbmQgZmlu" + - "YWxpemVycyB8IFdhaXQgYW5kIHJlcnVuIGBjaGVja2A7IGAtLXdhaXRgIHBvbGxzIHRoaXMgcm93" + - "LiBJdCBiZWNvbWVzIGBzdHVjayBUZXJtaW5hdGluZ2AgYWZ0ZXIgMiBtaW51dGVzIHwKfCBgc3Rh" + - "bGUtbmFtZXNwYWNlc2A6IGA8bnM+IChIZWxtIHJlbGVhc2UgbWlkLW9wZXJhdGlvbjogPHJlbGVh" + - "c2U+IDxzdGF0dXM+KWAsIHdhcm5pbmcgfCBBbiBpbnRlcnJ1cHRlZCBpbnN0YWxsLCB1cGdyYWRl" + - "LCByb2xsYmFjayBvciB0ZWFyZG93biBsZWZ0IHRoZSByZWxlYXNlIGBwZW5kaW5nLSpgIG9yIGB1" + - "bmluc3RhbGxpbmdgLiBUaGUgbmV4dCBgdXBgIGZhaWxzIG9uIGl0IHwgSWYgbm8gaW5zdGFsbCBv" + - "ciB0ZWFyZG93biBpcyBydW5uaW5nLCByZWFkIGBoZWxtIGhpc3RvcnkgPHJlbGVhc2U+IC1uIDxu" + - "cz5gLCB0aGVuIGZpbmlzaCBpdCB3aXRoIGBoZWxtIHJvbGxiYWNrYCBvciBgaGVsbSB1bmluc3Rh" + - "bGxgIHwKfCBgc3RhbGUtbmFtZXNwYWNlc2A6IGA8bnM+IChubyBIZWxtIHJlbGVhc2UpYCwgd2Fy" + - "bmluZyB8IFRoZSBuYW1lc3BhY2UgcnVucyBubyB3b3JrbG9hZCBhbmQgaGFzIG5vIEhlbG0gcmVs" + - "ZWFzZSwgYnV0IHN0aWxsIGhvbGRzIHZvbHVtZSBjbGFpbXMgb3Igd29ya2xvYWQgb2JqZWN0cywg" + - "YXMgYGRvd25gIGxlYXZlcyB0aGVtLiBBIHJlaW5zdGFsbCByZWF0dGFjaGVzIHRoZSBvbGQgdm9s" + - "dW1lcyB8IEluc3BlY3Qgb25seTogYGt1YmVjdGwgYXBpLXJlc291cmNlcyAtLXZlcmJzPWxpc3Qg" + - "LS1uYW1lc3BhY2VkIC1vIG5hbWUgXHwgeGFyZ3MgLW4xIGt1YmVjdGwgZ2V0IC1uIDxucz4gLS1z" + - "aG93LWtpbmQgLS1pZ25vcmUtbm90LWZvdW5kYC4gQW4gQXJnbyBDRCBvciB1cHN0cmVhbSBpbnN0" + - "YWxsIG9mIGEgZ2F0ZWQgY29tcG9uZW50IGFsc28gaGFzIG5vIEhlbG0gcmVsZWFzZSB8CnwgYHN0" + - "YWxlLW5hbWVzcGFjZXNgIHJlcG9ydHMgYG5vIEhlbG0gcmVsZWFzZWAgb24gYSBoZWFsdGh5IGlu" + - "c3RhbGwgfCBIZWxtIHN0b3JlcyByZWxlYXNlcyB3aXRoIGBIRUxNX0RSSVZFUj1zcWxgLCBhbmQg" + - "YGNoZWNrYCByZWFkcyBgSEVMTV9EUklWRVJgIGZyb20gaXRzIG93biBlbnZpcm9ubWVudCBvbmx5" + - "LCBub3QgZnJvbSB0aGUgaGVsbWZpbGUgZW52aXJvbm1lbnQgfCBFeHBvcnQgYEhFTE1fRFJJVkVS" + - "PXNxbGAgYmVmb3JlIGBudmNmLWNsaSBzZWxmLWhvc3RlZCBjaGVja2AuIFdpdGggaXQsIG9ubHkg" + - "VGVybWluYXRpbmcgbmFtZXNwYWNlcyBhcmUgY2hlY2tlZCB8CnwgYHN0YWxlLW5hbWVzcGFjZXNg" + - "IGRvZXMgbm90IHNjYW4gYW4gYWRkLW9uIG9yIGdhdGVkIG5hbWVzcGFjZSB8IE5hbWVzcGFjZXMg" + - "YmVoaW5kIGEgc3RhY2sgYGNvbmRpdGlvbjpgIGFyZSBwcm9iZWQgb25seSB3aGVuIHRoYXQgZ2F0" + - "ZSBpcyBvbi4gR2F0ZXMgY29tZSBmcm9tIHRoZSBzdGFjayB0aGUgaW5zdGFsbCB1c2VkLCBmb3Vu" + - "ZCBhcyBmb3IgdGhlIFtzZXR0aW5ncyByZWFkIGZyb20gdGhlIHN0YWNrXShmbGFncy5tZCNzZXR0" + - "aW5ncy1yZWFkLWZyb20tdGhlLXN0YWNrKTogaXRzIGBlbnZpcm9ubWVudHMvYmFzZS55YW1sYCBh" + - "bmQsIHdoZW4gYC0tZW52YCBvciBgSEVMTUZJTEVfRU5WYCBuYW1lcyB0aGUgZW52aXJvbm1lbnQg" + - "b3IgYC0tcHJlYCBjaGVja3MgdGhlIHBsYW5lIGJlZm9yZSBpdHMgaW5zdGFsbCwgYGVudmlyb25t" + - "ZW50cy88ZW52Pi55YW1sYC4gT3RoZXJ3aXNlIHRoZSBzdGFjayBkZWZhdWx0cyBkZWNpZGUsIHdo" + - "aWNoIGxlYXZlIGBrYWktc2NoZWR1bGVyYCwgYGdyb3ZlLXN5c3RlbWAsIGBkeW5hbW8tc3lzdGVt" + - "YCBhbmQgYG52Y2YtdWlgIG9mZiB8IFBhc3MgdGhlIGAtLWVudmAgdGhlIGluc3RhbGwgdXNlZCwg" + - "YW5kIHRoZSBzdGFjayBmbGFnIHRoZSBpbnN0YWxsIHVzZWQsIGlmIGFueSB8CgojIyBBdXRoCgp8" + - "IFN5bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBhZG1pbiB0" + - "b2tlbiByZXF1aXJlZGAgKGluaXQgbm90IHJ1bikgfCBObyBgfi8ubnZjZi1jbGkuc3RhdGVgIGFu" + - "ZCBgLS10b2tlbmAgbm90IHBhc3NlZCB8IGBudmNmLWNsaSBpbml0YCAoaW50ZXJhY3RpdmUpIG9y" + - "IGAtLXRva2VuPSRKV1QgLS1ub24taW50ZXJhY3RpdmVgIChDSSkgfAp8IGBTaWduZWQgSldUIHJl" + - "amVjdGVkOiBBbm90aGVyIGFsZ29yaXRobSBleHBlY3RlZCwgb3Igbm8gbWF0Y2hpbmcga2V5KHMp" + - "IGZvdW5kYCB8IFN0YWxlIHNlc3Npb24uanNvbiBmcm9tIGEgZGlmZmVyZW50IGNvbnRyb2wgcGxh" + - "bmUgfCBgcm0gfi8ubnZjZi1jbGkuc3RhdGVgIHRoZW4gYG52Y2YtY2xpIGluaXRgIGFnYWluIHwK" + - "fCBgNDAzIG1pc3NpbmcgcmVxdWVzdGVkIGF1dGhvcml0aWVzYCAoZnVuY3Rpb24gaW52b2tlKSB8" + - "IEFkbWluIHRva2VuIGRvZXNuJ3QgaGF2ZSBgaW52b2tlX2Z1bmN0aW9uYCBzY29wZSB8IGBudmNm" + - "LWNsaSBhcGkta2V5IGdlbmVyYXRlIC0tZGVzY3JpcHRpb2494oCmYCB0aGVuIHJlLXJ1biBpbnZv" + - "a2UgfAoKIyMgSW5zdGFsbCAvIGB1cGAKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24g" + - "fAp8LS0tfC0tLXwtLS18CnwgSGVsbSBgdGltZWQgb3V0IHdhaXRpbmcgZm9yIGNhc3NhbmRyYWAg" + - "fCBDYXNzYW5kcmEgU3RhdGVmdWxTZXQgUFZDIHN0dWNrIGBQZW5kaW5nYCB8IENvbmZpcm0gZGVm" + - "YXVsdCBTdG9yYWdlQ2xhc3M7IGNoZWNrIGBrdWJlY3RsIGdldCBwdixwdmMgLW4gY2Fzc2FuZHJh" + - "LXN5c3RlbWAgfAp8IGBJbnZhbGlkIEdQVSAnTkNQLkdQVS5IMTAwJyBzcGVjaWZpZWRgIChmdW5j" + - "dGlvbiBkZXBsb3kpIHwgV3JvbmcgZmllbGQg4oCUIGBncHVgIGlzIHRoZSBmYW1pbHksIG5vdCB0" + - "aGUgU0tVIHwgVXNlIGAiZ3B1IjogIkgxMDAiYCwgYCJpbnN0YW5jZVR5cGUiOiAiTkNQLkdQVS5I" + - "MTAwXzF4ImAgfAp8IGByZWdpb24gbXVzdCBiZSBwcm92aWRlZGAgKGNsdXN0ZXIgcmVnaXN0ZXIg" + - "LyBpbnN0YWxsIC0tY29tcHV0ZS1wbGFuZSkgfCBgLS1yZWdpb25gIGVtcHR5ICsgYENMVVNURVJf" + - "UkVHSU9OYCBlbnYgZW1wdHkgfCBQYXNzIGAtLXJlZ2lvbj11cy13ZXN0LTFgIChvciBhbnkgbm9u" + - "LWVtcHR5IHZhbHVlKSB8CnwgYHJlcXVpcmVkRW52ICJOQ0FfSUQiIGlzIG5vdCBzZXRgIChoZWxt" + - "ZmlsZSBlcnJvciBkdXJpbmcgY29tcHV0ZS1wbGFuZSBhcHBseSkgfCBPbGRlciBudmNmLWNsaSBi" + - "ZWZvcmUgY29tbWl0IGA2YWE1NzA0YDsgRXh0cmFFbnYgbm90IHByb3BhZ2F0aW5nIE5DQV9JRCB8" + - "IFVwZ3JhZGUgYG52Y2YtY2xpYCB0byBhIHJlbGVhc2UgYWZ0ZXIgYDZhYTU3MDRgIHwKfCBgbnZj" + - "YS1vcGVyYXRvcjogSW1hZ2VQdWxsQmFja09mZmAgZm9yIGBudmNhLW9wZXJhdG9yOnBzYXRgIHwg" + - "SW1hZ2Ugbm90IGluIGNsdXN0ZXIgcmVnaXN0cnk7IG11bHRpLWNsdXN0ZXIgYnVpbGQgaXMgbG9j" + - "YWwgfCBgazNkIGltYWdlIGltcG9ydCBudmNyLmlvLy4uLi9udmNhLW9wZXJhdG9yOnBzYXQgLWMg" + - "PGNsdXN0ZXI+YCB8CgojIyBDb21wdXRlLXBsYW5lIHJ1bnRpbWUKCnwgU3ltcHRvbSB8IENhdXNl" + - "IHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgTlZDQSBhZ2VudCBDcmFzaExvb3BCYWNr" + - "T2ZmIHdpdGggYEhUVFAgNDAxYCBvbiBgL3YxL252Y2EvY2x1c3RlcnMvLi4uL3JlZ2lzdGVyYCB8" + - "IFN0YWxlIGBvdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCBmcm9tIHByaW9yIHJl" + - "Z2lzdGVyOyBjbHVzdGVyIElEIGRvZXNuJ3QgbWF0Y2ggSUNNUyB8IERlbGV0ZSB0aGUgc3RhbGUg" + - "ZmlsZTsgcmUtcnVuIGBudmNmLWNsaSBzZWxmLWhvc3RlZCB1cGAgKGlkZW1wb3RlbnQgcmVnaXN0" + - "ZXIgd3JpdGVzIGEgZnJlc2ggZmlsZSkgfAp8IGBObyBjbHVzdGVyIGZvdW5kIHdpdGggdmFsaWQg" + - "SldLUyBmb3IgY2x1c3RlciBJRDogPGlkPmAgKElDTVMgbG9nKSB8IEpXS1MgaW4gSUNNUyBkb2Vz" + - "bid0IG1hdGNoIHdoYXQgY29tcHV0ZS1wbGFuZSBLOHMgaXMgY3VycmVudGx5IHNpZ25pbmcgfCBg" + - "bnZjZi1jbGkgY2x1c3RlciByb3RhdGUgLS1jbHVzdGVyLWlkPTxpZD5gIHwKfCBGdW5jdGlvbiBw" + - "b2QgYEltYWdlUHVsbEJhY2tPZmZgIGluIGBudmNmLWJhY2tlbmRgIHwgSW1hZ2UtY3JlZGVudGlh" + - "bC1oZWxwZXIgY29uZmlnIG1pc3Npbmcgb3Igd3JvbmcgfCBga3ViZWN0bCBkZXNjcmliZSBwb2Qg" + - "LW4gbnZjZi1iYWNrZW5kIDxwb2Q+YDsgY2hlY2sgdGhlIHB1bGwgc2VjcmV0IGNvbmZpZyB8Cnwg" + - "RnVuY3Rpb24gZGVwbG95IHN0dWNrIGBERVBMT1lJTkdgIGZvciA+NSBtaW4gfCBOQVRTIHN0cmVh" + - "bSBpbml0IGxhZyAoY29sZC1jbHVzdGVyKSDigJQgd2FpdCwgb3IgY2hlY2sgTkFUUyBhdXRoLWNh" + - "bGxvdXQgaGVhbHRoIHwgYGt1YmVjdGwgbG9ncyAtbiBuYXRzLXN5c3RlbSAtbCBhcHAua3ViZXJu" + - "ZXRlcy5pby9uYW1lPW5hdHMtYXV0aC1jYWxsb3V0LXNlcnZpY2VgIHwKCiMjIFRhc2tzCgp8IFN5" + - "bXB0b20gfCBDYXVzZSB8IFJlbWVkaWF0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGB0YXNrIGNyZWF0" + - "ZWAgcmV0dXJucyBgTWlzc2luZyA8VFlQRT4gcmVnaXN0cnkgY3JlZGVudGlhbCBmb3IgaG9zdG5h" + - "bWVgLCBvciBrZWVwcyB1c2luZyBhIHByZXZpb3VzIGNyZWRlbnRpYWwgdmFsdWUsIHNob3J0bHkg" + - "YWZ0ZXIgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgYWRkL3VwZGF0ZS9kZWxldGVgIHdoaWxlIGByZWdp" + - "c3RyeS1jcmVkZW50aWFsIGxpc3RgL2BnZXRgIGFscmVhZHkgc2hvdyB0aGUgbmV3IHZhbHVlIHwg" + - "RXhwZWN0ZWQgcHJvcGFnYXRpb24gZGVsYXk6IE5WQ1QgY2FjaGVzIHRoZSBhY2NvdW50J3MgcmVn" + - "aXN0cnkgY3JlZGVudGlhbHMgd2l0aCBgbnZjdC5udmNmLmNhY2hlLXR0bGAgKGRlZmF1bHQgYFBU" + - "NU1gLCBhYm91dCA1IG1pbikgYW5kIGFwcGxpZXMgdGhlIGNoYW5nZSB3aGVuIHRoYXQgY2FjaGVk" + - "IGNvcHkgcmVmcmVzaGVzIHwgV2FpdCB1cCB0byBhYm91dCA1IG1pbiBhbmQgcmV0cnksIG9yIGBr" + - "dWJlY3RsIC1uIG52Y2Ygcm9sbG91dCByZXN0YXJ0IGRlcGxveW1lbnQvbnZjdC1hcGlgIHRvIGFw" + - "cGx5IGltbWVkaWF0ZWx5IHwKUEsHCBq4s/NhIQAAYSEAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAA" + - "AAAALAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL1NLSUxMLm1kVVQFAAEA" + - "ps4SLS0tCm5hbWU6IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbgpkZXNjcmlwdGlvbjog" + - "Pi0KICBJbnN0YWxsIGFuZCBvcGVyYXRlIE5WQ0Ygc2VsZi1ob3N0ZWQgY29udHJvbC1wbGFuZSBh" + - "bmQgc2VwYXJhdGUgY29tcHV0ZS1wbGFuZQogIHN0YWNrcy4gQ292ZXJzIEhlbG1maWxlIHZhbHVl" + - "cyBhbmQgQ0xJIHByb2ZpbGUgaW5zdGFsbGF0aW9uIGZsb3dzLCB0ZWFyZG93biwKICB2YWx1ZXMg" + - "b3ZlcnJpZGVzLCBwdWxsIHNlY3JldHMsIGFuZCB0cm91Ymxlc2hvb3RpbmcuIFVzZSBmb3IKICBu" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjaywgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrLCBzcGxpdCBj" + - "b21wdXRlLXBsYW5lCiAgaW5zdGFsbGF0aW9uLCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiwg" + - "Q0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5lCiAgcHJvZmlsZXMsIEhlbG1maWxlLCBzZWxmLW1h" + - "bmFnZWQsIG9yIHNlbGYtaG9zdGVkIGRlcGxveW1lbnRzLiBEbyBOT1QgdXNlIGZvcgogIGxvY2Fs" + - "IGszZCBlbnZpcm9ubWVudHM7IHVzZSB0aGUgbG9jYWwgazNkIGRldmVsb3BtZW50IHdvcmtmbG93" + - "IGluc3RlYWQuCmxpY2Vuc2U6IEFwYWNoZS0yLjAKY29tcGF0aWJpbGl0eTogUmVxdWlyZXMgaGVs" + - "bWZpbGUgPj0gMS4xLjAgPCAxLjIuMCwgaGVsbSA+PSAzLjEyLCBoZWxtLWRpZmYgcGx1Z2luLCBr" + - "dWJlY3RsIG1hdGNoaW5nIGNsdXN0ZXIgdmVyc2lvbgphdXRob3I6ICJudmNmLWNvcmUtZW5nIDxu" + - "dmNmLWNvcmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+Igp2ZXJzaW9uOiAiMS4wLjAiCnRhZ3M6" + - "IFtudmNmLCBzZWxmLW1hbmFnZWQsIGhlbG1maWxlLCBzZWxmLWhvc3RlZCwgY29udHJvbC1wbGFu" + - "ZSwgY29tcHV0ZS1wbGFuZSwgY2xpLXByb2ZpbGUsIGluc3RhbGxhdGlvbiwgZGVwbG95bWVudCwg" + - "cHVsbC1zZWNyZXRzXQp0b29sczogW1NoZWxsLCBSZWFkLCBFZGl0LCBHcmVwLCBHbG9iXQptZXRh" + - "ZGF0YToKICBpbnRlcm5hbDogZmFsc2UKICBhdXRob3I6ICJudmNmLWNvcmUtZW5nIDxudmNmLWNv" + - "cmUtZW5nQGV4Y2hhbmdlLm52aWRpYS5jb20+IgogIHZlcnNpb246ICIxLjAiCiAgdGFnczogW252" + - "Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250cm9sLXBsYW5lLCBj" + - "b21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBsb3ltZW50LCBwdWxs" + - "LXNlY3JldHNdCiAgbGFuZ3VhZ2VzOiBbYmFzaCwgeWFtbF0KICBmcmFtZXdvcmtzOiBbaGVsbWZp" + - "bGUsIGhlbG0sIGt1YmVjdGxdCiAgZG9tYWluOiBjbG91ZC1pbmZyYXN0cnVjdHVyZQotLS0KCiMg" + - "TlZDRiBTZWxmLU1hbmFnZWQgU3RhY2sgT3BlcmF0aW9ucwoKT3BlcmF0aW9uYWwgZ3VpZGUgZm9y" + - "IG1hdGNoaW5nIE5WQ0YgY29udHJvbC1wbGFuZSBhbmQgY29tcHV0ZS1wbGFuZSBIZWxtZmlsZSBi" + - "dW5kbGVzLgoKIyMgSW5zdHJ1Y3Rpb25zCgpVc2UgdGhpcyBza2lsbCBmb3IgaW5zdGFsbCwgdXBn" + - "cmFkZSwgb3IgdGVhcmRvd24gd29yayBpbiBtYXRjaGluZyBgbnZjZi1zZWxmLW1hbmFnZWQtc3Rh" + - "Y2tgIGFuZCBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzOyBrZWVwIEhlbG1maWxl" + - "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgaGFuZG9mZnMgc2VwYXJhdGUuIEZvciBgZnVuY3Rpb25U" + - "eXBlOiAiTExNImAsIHJlYWQgW0xMTSBGdW5jdGlvbiBFbmFibGVtZW50XShyZWZlcmVuY2VzL2hl" + - "bG1maWxlLXN0cnVjdHVyZS5tZCNsbG0tZnVuY3Rpb24tZW5hYmxlbWVudCkuCgojIyBQcmVyZXF1" + - "aXNpdGVzCgpBc2sgZm9yIHRoZSBleHRyYWN0ZWQgYG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrYCBw" + - "YXRoLiBGb3Igc3BsaXQgaW5zdGFsbGF0aW9uLAphbHNvIHJlcXVpcmUgdGhlIG1hdGNoaW5nLXZl" + - "cnNpb24gYG52Y2YtY29tcHV0ZS1wbGFuZS1zdGFja2AgcGF0aC4gVmVyaWZ5IGJvdGg6CgpgYGBi" + - "YXNoCmxzIDxjb250cm9sLXBsYW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29udHJvbC1wbGFuZS1z" + - "dGFjaz4vZW52aXJvbm1lbnRzLyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vc2VjcmV0cy8gPGNvbnRy" + - "b2wtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApscyA8Y29tcHV0ZS1wbGFuZS1zdGFj" + - "az4vaGVsbWZpbGUuZC8gPGNvbXB1dGUtcGxhbmUtc3RhY2s+L2Vudmlyb25tZW50cy8gPGNvbXB1" + - "dGUtcGxhbmUtc3RhY2s+L2dsb2JhbC55YW1sLmdvdG1wbApgYGAKCklmIGVpdGhlciBkaXJlY3Rv" + - "cnkgaXMgbWlzc2luZywgZG93bmxvYWQgbWF0Y2hpbmcgYnVuZGxlIHZlcnNpb25zIGZyb20gTkdD" + - "OgoKYGBgYmFzaApuZ2MgcmVnaXN0cnkgcmVzb3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9u" + - "dmNmLXNlbGYtbWFuYWdlZC1zdGFjazo8dmVyc2lvbj4KbmdjIHJlZ2lzdHJ5IHJlc291cmNlIGRv" + - "d25sb2FkLXZlcnNpb24gPG9yZz4vbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrOjx2ZXJzaW9uPgpg" + - "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgYmVsb3cgYXNzdW1lIHRoZSBjb250cm9sLXBsYW5l" + - "IGJ1bmRsZSByb290LiBTcGxpdC1mbG93CmNvbW1hbmRzIGFuZCByb290IHN1YnN0aXR1dGlvbiBh" + - "cmUgaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4KCiMjIEJlZm9yZSBZb3UgU3RhcnQKClZlcmlmeSB0" + - "b29saW5nIGFuZCBjb250ZXh0IGJlZm9yZSBhbnkgb3BlcmF0aW9uOgoKYGBgYmFzaApoZWxtZmls" + - "ZSAtLXZlcnNpb24gICAjIE11c3QgYmUgMS4xLnggKDEuMi4wIHJlbW92ZWQgc2VxdWVudGlhbCBt" + - "b2RlKQpoZWxtIHZlcnNpb24gICAgICAgICAjIE11c3QgYmUgPj0gMy4xMgpoZWxtIHBsdWdpbiBs" + - "aXN0ICAgICAjIE11c3QgaW5jbHVkZSBoZWxtLWRpZmYgPj0gMy4xMQprdWJlY3RsIHZlcnNpb24g" + - "ICAgICAjIENsaWVudCBtdXN0IGJlIHdpdGhpbiAxIG1pbm9yIHZlcnNpb24gb2YgY2x1c3Rlcgpg" + - "YGAKCkNvbnRyb2wtcGxhbmUgY29tbWFuZHMgcnVuIGZyb20gdGhlIGV4dHJhY3RlZCBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2svYCByb290OgoKYGBgYmFzaApjZCBwYXRoL3RvL252Y2Ytc2VsZi1t" + - "YW5hZ2VkLXN0YWNrCmxzIGhlbG1maWxlLmQvIGVudmlyb25tZW50cy8gc2VjcmV0cy8gZ2xvYmFs" + - "LnlhbWwuZ290bXBsCmBgYAoKSWRlbnRpZnkgdGhlIGVudmlyb25tZW50IGZyb20gYGVudmlyb25t" + - "ZW50cy88bmFtZT4ueWFtbGAgYW5kCmBzZWNyZXRzLzxuYW1lPi1zZWNyZXRzLnlhbWxgOyBmb3Ig" + - "RUtTLCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9k" + - "b2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuCgoj" + - "IyBIb3cgVmFsdWVzIEZsb3cKClVuZGVyc3RhbmRpbmcgdmFsdWUgcHJlY2VkZW5jZSBwcmV2ZW50" + - "cyB0aGUgbW9zdCBjb21tb24gY29uZmlndXJhdGlvbiBtaXN0YWtlcy4KCmBgYHRleHQKZW52aXJv" + - "bm1lbnRzL2Jhc2UueWFtbCAgICAgICAgICAoZGVmYXVsdHMpCiAgICAtPiBtZXJnZWQgd2l0aApl" + - "bnZpcm9ubWVudHMvPGVudj4ueWFtbCAgICAgICAgICh5b3VyIG92ZXJyaWRlcykKICAgIC0+IGNv" + - "bnN1bWVkIGJ5Cmdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgKEdvIHRlbXBsYXRlLCBj" + - "b25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMpCiAgICAtPiBjb25zdW1lZCBieQpzZWNyZXRzLzxl" + - "bnY+LXNlY3JldHMueWFtbCAgICAgIChzZW5zaXRpdmUgdmFsdWVzKQogICAgLT4gb3ZlcnJpZGRl" + - "biBieQpyZWxlYXNlIGlubGluZSB2YWx1ZXM6IGJsb2NrcyAgIChoaWdoZXN0IHByZWNlZGVuY2Up" + - "CmBgYAoKQ3JpdGljYWw6IGBnbG9iYWwueWFtbC5nb3RtcGxgIG9ubHkgcGFzc2VzIHRocm91Z2gg" + - "c3BlY2lmaWMga2V5cyB0byBlYWNoIGNoYXJ0IChpbWFnZSByZWdpc3RyaWVzLCBub2RlIHNlbGVj" + - "dG9ycywgc3RvcmFnZSwgcmVwbGljYSBjb3VudHMpLiBTZXR0aW5nIGFuIGFyYml0cmFyeSBjaGFy" + - "dCB2YWx1ZSBpbiB0aGUgZW52aXJvbm1lbnQgZmlsZSB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQg" + - "aWYgYGdsb2JhbC55YW1sLmdvdG1wbGAgZG9lcyBub3QgcHJvcGFnYXRlIGl0LgoKVG8gb3ZlcnJp" + - "ZGUgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcywgdXNlIGEgaGVsbWZpbGUgcmVsZWFzZSBgdmFsdWVz" + - "OmAgYmxvY2suIFNlZSBbT3ZlcnJpZGluZyBIZWxtIENoYXJ0IFZhbHVlc10oI292ZXJyaWRpbmct" + - "aGVsbS1jaGFydC12YWx1ZXMpLgoKIyMgQ2xlYW4gSW5zdGFsbGF0aW9uCgojIyMgMS4gQ3JlYXRl" + - "IG5hbWVzcGFjZXMgYW5kIGltYWdlIHB1bGwgc2VjcmV0cyAoaWYgdXNpbmcgYSBwcml2YXRlIHJl" + - "Z2lzdHJ5KQoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJl" + - "Y3RsIGNyZWF0ZSBuYW1lc3BhY2UgIiRucyIgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3Vi" + - "ZWN0bCBhcHBseSAtZiAtCmRvbmUKCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJl" + - "Z2lzdHJ5IChlLmcuLCBOR0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+" + - "Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVz" + - "cyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIGNyZWF0ZSBzZWNy" + - "ZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAgLS1kb2NrZXItc2VydmVyPW52Y3Iu" + - "aW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRy" + - "eS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQpgYGAKCklmIHVz" + - "aW5nIHB1bGwgc2VjcmV0cywgeW91IG11c3QgYWxzbyBjb25maWd1cmUgZWFjaCBoZWxtZmlsZSBy" + - "ZWxlYXNlIHRvIHJlZmVyZW5jZSB0aGVtLiBTZWUgW0ltYWdlIFB1bGwgU2VjcmV0c10oI2ltYWdl" + - "LXB1bGwtc2VjcmV0cykuCgojIyMgMi4gQXV0aGVudGljYXRlIGhlbG0gdG8geW91ciBjaGFydCBy" + - "ZWdpc3RyeQoKQm90aCBgZG9ja2VyIGxvZ2luYCBBTkQgYGhlbG0gcmVnaXN0cnkgbG9naW5gIGFy" + - "ZSByZXF1aXJlZCBmb3IgTkdDLiBIZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1" + - "bGwgT0NJIGNoYXJ0cywgc28gdGhlIGhlbG0gY3JlZGVudGlhbCBzdG9yZSBtdXN0IGJlIGF1dGhl" + - "bnRpY2F0ZWQgc2VwYXJhdGVseS4KCmBgYGJhc2gKIyBOR0MgLS0gYm90aCBjb21tYW5kcyBhcmUg" + - "cmVxdWlyZWQKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAiJE5HQ19B" + - "UElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAtcCAi" + - "JE5HQ19BUElfS0VZIgoKIyBFQ1IKYXdzIGVjciBnZXQtbG9naW4tcGFzc3dvcmQgLS1yZWdpb24g" + - "PHJlZ2lvbj4gfCBcCiAgaGVsbSByZWdpc3RyeSBsb2dpbiAtLXVzZXJuYW1lIEFXUyAtLXBhc3N3" + - "b3JkLXN0ZGluIDxhY2NvdW50Pi5ka3IuZWNyLjxyZWdpb24+LmFtYXpvbmF3cy5jb20KYGBgCgo+" + - "IE5vdGU6IGBoZWxtIHJlZ2lzdHJ5IGxvZ2luYCBrZWVwcyBvbmx5IHRoZSBsYXN0IGxvZ2luIHBl" + - "ciBob3N0IChtdWx0aS1vcmcgZ290Y2hhKS4KPiBUaGUgc3RhY2sgYW5kIHRoZSBjYWNoZXMgc3Bh" + - "biBzZXZlcmFsIE5HQyBvcmdzIHRoYXQgbmVlZCBkaWZmZXJlbnQga2V5cywgYnV0IHRoZXkgYWxs" + - "Cj4gbGl2ZSB1bmRlciB0aGUgb25lIGhvc3QgYG52Y3IuaW9gLiBBIHNlY29uZCBgaGVsbSByZWdp" + - "c3RyeSBsb2dpbiBudmNyLmlvYCAob3IKPiBgZG9ja2VyIGxvZ2luYCkgd2l0aCBhIGRpZmZlcmVu" + - "dCBrZXkgc2lsZW50bHkgb3ZlcndyaXRlcyB0aGUgZmlyc3QsIHNvIHB1bGxzIGZvciB0aGUKPiBm" + - "aXJzdCBvcmcgdGhlbiBmYWlsIHdpdGggYSBtaXNsZWFkaW5nIGA0MDMgQWNjZXNzIERlbmllZGAg" + - "KG5vdCBhIDQwMTogdGhlIGF1dGgKPiBzdWNjZWVkZWQsIGl0J3MgdGhlIHdyb25nLW9yZyBrZXkp" + - "LiBJZiB5b3UgcHVsbCBjaGFydHMvaW1hZ2VzIGZyb20gbW9yZSB0aGFuIG9uZSBvcmcsCj4gZWl0" + - "aGVyIHJlLXJ1biB0aGUgbG9naW4gd2l0aCB0aGUgY29ycmVjdCBrZXkgaW1tZWRpYXRlbHkgYmVm" + - "b3JlIGVhY2ggcHVsbCwgb3IgcGFzcwo+IGAtLXVzZXJuYW1lICckb2F1dGh0b2tlbicgLS1wYXNz" + - "d29yZCA8a2V5PmAgcGVyIGBoZWxtIHB1bGxgIGludm9jYXRpb24gaW5zdGVhZCBvZiByZWx5aW5n" + - "Cj4gb24gdGhlIHN0b3JlZCBsb2dpbi4gKFB1bGxpbmcgZXZlcnl0aGluZyBmcm9tIGEgc2luZ2xl" + - "IHJlZ2lzdHJ5IG1pcnJvciBhdm9pZHMgdGhpcwo+IGVudGlyZWx5LikKCiMjIyAyYi4gKFJlY29t" + - "bWVuZGVkKSBQdWxsIGZyb20gYSByZWdpc3RyeSB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRv" + - "IGF1dG9tYXRpY2FsbHkKCklmIHlvdSBtaXJyb3IgdGhlIE5WQ0YgaW1hZ2VzIGludG8gYSByZWdp" + - "c3RyeSB0aGF0IHRoZSBjbHVzdGVyIGNhbiBwdWxsIGZyb20gd2l0aG91dCBhbgpleHBsaWNpdCBp" + - "bWFnZSBwdWxsIHNlY3JldCAoZm9yIGV4YW1wbGUsIGEgcmVnaXN0cnkgd2hlcmUgdGhlIG5vZGUg" + - "b3Igd29ya2xvYWQgaWRlbnRpdHkgaXMKZ3JhbnRlZCBwdWxsIGFjY2VzcyBhdXRvbWF0aWNhbGx5" + - "KSwgcG9pbnQgdGhlIHN0YWNrIGF0IGl0IGFuZCBza2lwIHRoZSBjcmVkZW50aWFsIHN0ZXBzCmFi" + - "b3ZlLgoKMS4gUG9pbnQgdGhlIHN0YWNrIGF0IHRoZSBtaXJyb3IgaW4gYGVudmlyb25tZW50cy88" + - "ZW52Pi55YW1sYDoKCiAgIGBgYHlhbWwKICAgZ2xvYmFsOgogICAgIGltYWdlOgogICAgICAgcmVn" + - "aXN0cnk6IDx5b3VyLXJlZ2lzdHJ5PiAgICAgICAgICAgICMgZS5nLiByZWdpc3RyeS5leGFtcGxl" + - "LmNvbQogICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgICBoZWxtOgogICAg" + - "ICAgc291cmNlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9ubHkgaWYgeW91IGFs" + - "c28gbWlycm9yZWQgdGhlIGhlbG0gY2hhcnRzCiAgICAgICAgIHJlZ2lzdHJ5OiA8eW91ci1yZWdp" + - "c3RyeT4KICAgICAgICAgcmVwb3NpdG9yeTogPG1pcnJvci1zdWItcGF0aD4KICAgYGBgCgogICA+" + - "IFRoZSBtYW5pZmVzdCBoYXMgYSBtaXggb2YgT0NJIGFuZCBub24tT0NJIGFydGlmYWN0cywgc28g" + - "Y29udmVydCBub24tT0NJIGNoYXJ0cyBiZWZvcmUKICAgPiBtaXJyb3JpbmcuIENvbnRhaW5lciBp" + - "bWFnZXMgKGBudmNyLmlvLy4uLmApIGFyZSBhbHJlYWR5IE9DSSBhbmQgbWlycm9yIGFzLWlzLiBT" + - "b21lIEhlbG0KICAgPiBjaGFydHMsIHRob3VnaCwgYXJlIHB1Ymxpc2hlZCB0byBhbiBgaHR0cHM6" + - "Ly9gIEhlbG0gcmVwb3NpdG9yeSAoZm9yIGV4YW1wbGUKICAgPiBgaGVsbS5uZ2MubnZpZGlhLmNv" + - "bWApLiBUaG9zZSBhcmUgbm90IE9DSSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGJ5IGBnbG9iYWwu" + - "aGVsbS5zb3VyY2VzYAogICA+IChPQ0kpIG9yIG1pcnJvcmVkIGRpcmVjdGx5LiBCZWZvcmUgcG9p" + - "bnRpbmcgdGhlIHN0YWNrIGF0IHlvdXIgbWlycm9yLCBjb252ZXJ0IGVhY2gKICAgPiBgaHR0cHM6" + - "Ly9gIGNoYXJ0IHRvIE9DSTogYGhlbG0gcmVwbyBhZGRgL2BoZWxtIHB1bGxgIHRoZSBgLnRnemAs" + - "IHRoZW4KICAgPiBgaGVsbSBwdXNoIDxjaGFydD4udGd6IG9jaTovLzx5b3VyLXJlZ2lzdHJ5Pi88" + - "bWlycm9yLXN1Yi1wYXRoPmAuIE9ubHkgT0NJIGNoYXJ0cyBjYW4gbGl2ZQogICA+IHVuZGVyIGBn" + - "bG9iYWwuaGVsbS5zb3VyY2VzYC4KCjIuIFNraXAgdGhlIGNyZWRlbnRpYWwgc3RlcHMgYWJvdmUu" + - "IFdoZW4gdGhlIGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byB0aGUgcmVnaXN0cnkKICAgYXV0b21h" + - "dGljYWxseSAodGhlIG5vZGUgb3Igd29ya2xvYWQgaWRlbnRpdHkgaGFzIHB1bGwgYWNjZXNzKSwg" + - "dGhlIHB1bGwgbmVlZHMgbm8KICAgS3ViZXJuZXRlcyBzZWNyZXQsIHNvIHlvdSBkbyBub3QgbmVl" + - "ZDogdGhlIHBlci1uYW1lc3BhY2UgYG52Y3ItY3JlZHNgIGZyb20gc3RlcCAxCiAgIChzdGlsbCBj" + - "cmVhdGUgdGhlIG5hbWVzcGFjZXMsIGp1c3Qgbm90IHRoZSBzZWNyZXQpLCB0aGUgYGdsb2JhbC5p" + - "bWFnZVB1bGxTZWNyZXRzYCBlbnRyeSwKICAgb3IgdGhlIGBkb2NrZXIgbG9naW5gL2BoZWxtIHJl" + - "Z2lzdHJ5IGxvZ2luIG52Y3IuaW9gIGZyb20gc3RlcCAyLgoKICAgPiBPbmUgcmVzaWR1YWwgY3Jl" + - "ZGVudGlhbDogbnZjZi1hcGkgc3RpbGwgdmFsaWRhdGVzIHRoZSB1c2VyIGZ1bmN0aW9uIGltYWdl" + - "IGF0CiAgID4gYGZ1bmN0aW9uIGNyZWF0ZWAgdmlhIHRoZSBhY2NvdW50IHJlZ2lzdHJ5IGNyZWRl" + - "bnRpYWwsIHNvIHRoYXQgY3JlZGVudGlhbCBtdXN0IHBvaW50IGF0CiAgID4gd2hpY2hldmVyIHJl" + - "Z2lzdHJ5IGhvbGRzIHRoZSB1c2VyIGltYWdlIChzZXQgaXQgdG8geW91ciBtaXJyb3IgaWYgdGhl" + - "IGltYWdlIGlzIG1pcnJvcmVkCiAgID4gdGhlcmUpLgoKIyMjIDMuIFNldCB0aGUgcm91dGUgZG9t" + - "YWluCgpgZ2xvYmFsLmRvbWFpbmAgc2V0cyB0aGUgaG9zdG5hbWUgc3VmZml4IGZvciByb3V0ZXMg" + - "c3VjaCBhcyBgYXBpLjxkb21haW4+YC4gSXQgZG9lcyBub3QgY29uZmlndXJlIHRoZSBHYXRld2F5" + - "IG9yIGl0cyBsb2FkIGJhbGFuY2VyLiBRdWVyeSB0aGUgZXhhY3QgZXhpc3RpbmcgR2F0ZXdheToK" + - "CmBgYGJhc2gKR0FURVdBWV9BRERSRVNTPSQoa3ViZWN0bCBnZXQgZ2F0ZXdheSA8Z2F0ZXdheS1u" + - "YW1lPiAtbiA8Z2F0ZXdheS1uYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LnN0YXR1cy5hZGRyZXNz" + - "ZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUkVTUyIKYGBgCgpUaGUgYWRkcmVz" + - "cyBtYXkgYmUgYSBob3N0bmFtZSBvciBJUC4gQ2xvdWQgcHJvdmlkZXIgYW5kIEdhdGV3YXkgY29u" + - "ZmlndXJhdGlvbiBkZXRlcm1pbmUgdGhlIGxvYWQgYmFsYW5jZXIgdHlwZSBhbmQgYWRkcmVzcyBm" + - "b3JtYXQuIFRoZSBzZWxmLW1hbmFnZWQgc3RhY2sgZG9lcyBub3Qgc2VsZWN0IGVpdGhlci4KCkZv" + - "ciB0ZW1wb3JhcnkgdGVzdGluZyB3aXRob3V0IEROUywgdXNlIGEgc3RhYmxlIHJlc2VydmVkIHN1" + - "ZmZpeCBzdWNoIGFzIGBnbG9iYWwuZG9tYWluOiAibnZjZi50ZXN0ImAsIGNvbm5lY3QgdG8gYEdB" + - "VEVXQVlfQUREUkVTU2AsIGFuZCBzZW5kIGBIb3N0OiBhcGkubnZjZi50ZXN0YC4gRm9yIHByb2R1" + - "Y3Rpb24sIHVzZSB5b3VyIGJhc2UgRE5TIGRvbWFpbiBhbmQgcG9pbnQgaXRzIHJvdXRlIHJlY29y" + - "ZHMgdG8gYEdBVEVXQVlfQUREUkVTU2AuIElmIHRoZSBlbmRwb2ludCBsYXRlciBjaGFuZ2VzLCBr" + - "ZWVwIGBnbG9iYWwuZG9tYWluYCBzdGFibGUgYW5kIHVwZGF0ZSBvbmx5IEROUyBvciB0aGUgY2xp" + - "ZW50IGRlc3RpbmF0aW9uLiBTZWUgRXhhbXBsZSA0IGluIFtleGFtcGxlcy5tZF0oZXhhbXBsZXMu" + - "bWQpLgoKIyMjIDQuIFByZXZpZXcgYW5kIGRlcGxveQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + - "di1uYW1lPiBoZWxtZmlsZSB0ZW1wbGF0ZSAgICMgUHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMK" + - "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgc3luYyAgICAgICAjIERlcGxveQpgYGAK" + - "Cj4gU2V0IEJPVEggQ2Fzc2FuZHJhIHBhc3N3b3JkcyBpbiB0aGUgc2VjcmV0cyBmaWxlLiBUaGUg" + - "c2VjcmV0cyBmaWxlIGRvY3VtZW50cwo+IGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAsIGJ1" + - "dCB0aGUgY2Fzc2FuZHJhIGNoYXJ0IGhhcyBhIHNlY29uZCBjcmVkZW50aWFsLAo+IGBjYXNzYW5k" + - "cmEuc2VydmljZVJvbGVQYXNzd29yZGAsIHRoYXQgZGVmYXVsdHMgdG8gYGNoQG5nM20zYC4gSWYg" + - "eW91IHNldCBvbmx5Cj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NXT1JEYCwgdGhlIHNlcnZpY2Ug" + - "cm9sZSBrZWVwcyB0aGF0IGRlZmF1bHQgYW5kIGV2ZXJ5IERCLWJhY2tlZAo+IHNlcnZpY2UgY3Jh" + - "c2gtbG9vcHMgd2l0aCBgQmFkIGNyZWRlbnRpYWxzYCBvbmNlIGl0IHRyaWVzIHRvIGF1dGhlbnRp" + - "Y2F0ZS4gU2V0Cj4gYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCB0byB0aGUgc2FtZSB2" + - "YWx1ZSBhcyBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLgoKIyMjIDUuIERlcGxveW1lbnQg" + - "cGhhc2VzCgpIZWxtZmlsZSBkZXBsb3lzIGluIG9yZGVyIHdpdGggZGVwZW5kZW5jaWVzOgoKfCBQ" + - "aGFzZSB8IFNlbGVjdG9yIHwgU2VydmljZXMgfCBXYWl0IHRpbWUgfAp8LS0tLS0tLXwtLS0tLS0t" + - "LS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgMSB8IGByZWxlYXNlLWdyb3VwPWRlcGVuZGVu" + - "Y2llc2AgfCBOQVRTLCBPcGVuQmFvLCBDYXNzYW5kcmEgfCA1LTEwIG1pbiB8CnwgMiB8IGByZWxl" + - "YXNlLWdyb3VwPXNlcnZpY2VzYCB8IEFQSSwgU0lTLCBFU1MsIGludm9jYXRpb24sIGdycGMtcHJv" + - "eHksIG5vdGFyeSwgYXBpLWtleXMsIG9wdGlvbmFsIExMTSBnYXRld2F5L3JvdXRlciwgb3B0aW9u" + - "YWwgVmFuaXR5IEdhdGV3YXksIE5WQ0YgVUkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRl" + - "cyB0aGUgYWRkb24gfCA1LTEwIG1pbiB8CnwgMyB8IGByZWxlYXNlLWdyb3VwPWluZ3Jlc3NgIHwg" + - "R2F0ZXdheSByb3V0ZXMgfCAxLTIgbWluIHwKfCA0IHwgYHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJp" + - "bGl0eWAgfCBPYnNlcnZhYmlsaXR5IHN0YWNrIChpZiBlbmFibGVkKSB8IDEtMiBtaW4gfAoKTW9u" + - "aXRvciBpbiBhIHNlcGFyYXRlIHRlcm1pbmFsOgoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + - "IC13CmBgYAoKIyMjIDYuIEVuYWJsZSBWYW5pdHkgR2F0ZXdheSAob3B0aW9uYWwpCgpWYW5pdHkg" + - "R2F0ZXdheSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBpcyBvbmx5IG5lZWRlZCBmb3IgY3Vz" + - "dG9tZXItZmFjaW5nCmhvc3RuYW1lcyBvciBwYXRoIG1hcHBpbmdzIGluIGZyb250IG9mIHRoZSBz" + - "dGFuZGFyZCBOVkNGIEFQSSBhbmQgaW52b2NhdGlvbgpyb3V0ZXMuIEl0IGlzIGF2YWlsYWJsZSBv" + - "bmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0aGUgVmFuaXR5IEdhdGV3YXkKYWRk" + - "b24uIElmIHRoZSBleHRyYWN0ZWQgc3RhY2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYHZh" + - "bml0eS1nYXRld2F5YApyZWxlYXNlIGFuZCBgdmFuaXR5R2F0ZXdheWAgcm91dGUgdmFsdWVzLCBz" + - "a2lwIHRoZXNlIGNvbW1hbmRzIGFuZCB1c2UgYSBuZXdlcgpzdGFjayBwYWNrYWdlIHRoYXQgaW5j" + - "bHVkZXMgdGhlbS4KCklmIHRoZSBzdGFjayBwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbiwgZW5h" + - "YmxlIGl0IGluCmBlbnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25z" + - "OgogIHZhbml0eUdhdGV3YXk6CiAgICBlbmFibGVkOiB0cnVlCiAgICBtYXBwaW5nQ29uZmlnOiB7" + - "fQpgYGAKClRoZSBkZWZhdWx0IHJvdXRlIGhvc3QgaXMgYHZhbml0eS48ZG9tYWluPmAgYW5kIHRo" + - "ZSBiYWNrZW5kIGlzCmB2YW5pdHktZ2F0ZXdheS5udmNmOjgwODBgLiBQdXQgZGVwbG95bWVudC1z" + - "cGVjaWZpYyBob3N0IGFuZCBwYXRoIG1hcHBpbmdzIHVuZGVyCmBhZGRvbnMudmFuaXR5R2F0ZXdh" + - "eS5tYXBwaW5nQ29uZmlnYC4gSWYgeW91IG5lZWQgY3VzdG9tIHZhbml0eSBob3N0cyBpbnN0ZWFk" + - "IG9mCmB2YW5pdHkuPGRvbWFpbj5gLCB1c2UgdGhlIHJvdXRlIGhvc3RuYW1lIG92ZXJyaWRlcyBz" + - "dXBwb3J0ZWQgYnkgdGhlIHN0YWNrCnBhY2thZ2UgYW5kIGNyZWF0ZSBtYXRjaGluZyBETlMgcmVj" + - "b3Jkcy4KCkFmdGVyIGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGB2YW5pdHkt" + - "Z2F0ZXdheWAgcmVsZWFzZSwgcHJldmlldyBhbmQKYXBwbHkgdGhlIHNlcnZpY2UgYW5kIHJvdXRl" + - "OgoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9dmFuaXR5LWdhdGV3YXkgdGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPXZhbml0eS1nYXRld2F5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYt" + - "bmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAK" + - "ClZlcmlmeSB0aGUgcm91dGUgb25seSB3aGVuIHRoZSBhZGRvbiBpcyBwcmVzZW50IGFuZCBlbmFi" + - "bGVkOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3ksc3ZjIC1uIG52Y2YgLWwgYXBwLmt1YmVy" + - "bmV0ZXMuaW8vbmFtZT12YW5pdHktZ2F0ZXdheQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBn" + - "cmVwIC1pIHZhbml0eQpjdXJsIC1IICJIb3N0OiB2YW5pdHkuPGRvbWFpbj4iICJodHRwOi8vPGdh" + - "dGV3YXktYWRkcmVzcz4vaGVhbHRoIgpgYGAKCkRvIG5vdCBlbmFibGUgVmFuaXR5IEdhdGV3YXkg" + - "Zm9yIHN0YW5kYXJkIEFQSSwgQVBJIEtleXMsIGludm9jYXRpb24sIExMTQppbnZvY2F0aW9uLCBv" + - "ciBnUlBDIHRyYWZmaWMuIFRob3NlIHJvdXRlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGJhc2UgZ2F0" + - "ZXdheQpyb3V0ZXMuCgojIyMgNy4gRW5hYmxlIE5WQ0YgVUkgKG9wdGlvbmFsKQoKTlZDRiBVSSBp" + - "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIGFkbWluLXBhbmVsIFVJLiBJdCBpcyBkaXNh" + - "YmxlZCBieQpkZWZhdWx0IGFuZCBhdmFpbGFibGUgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0aGF0" + - "IGluY2x1ZGUgdGhlIE5WQ0YgVUkgYWRkb24uIElmCnlvdXIgZXh0cmFjdGVkIHN0YWNrIHBhY2th" + - "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlIGFuZCBgbnZjZlVpYApyb3V0" + - "ZSB2YWx1ZXMsIHNraXAgdGhpcyBzZWN0aW9uLiBUaGUgTlZDRiBVSSBhZG1pbiBwYW5lbCBpcyBj" + - "dXJyZW50bHkKdW5hdXRoZW50aWNhdGVkOyBkbyBub3QgZXhwb3NlIGl0IHRvIHRoZSBwdWJsaWMg" + - "aW50ZXJuZXQuCgpGb3IgZW5hYmxlbWVudCwgbmFtZXNwYWNlIGFuZCBwdWxsIHNlY3JldCBzZXR1" + - "cCwgYXBwbHksIGFuZCB2ZXJpZmljYXRpb24gc3RlcHMsCnNlZSBbTlZDRiBVSSBBZGRvbl0ocmVm" + - "ZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kKS4KCiMjIyA4LiBJbnN0YWxsIHRoZSBzZXBhcmF0ZSBj" + - "b21wdXRlLXBsYW5lIHN0YWNrCgpUaGUgY29udHJvbC1wbGFuZSBzdGFjayBkb2VzIG5vdCBpbnN0" + - "YWxsIGNvbXB1dGUtcGxhbmUgY29tcG9uZW50cy4gQWZ0ZXIgaXQgaXMgaGVhbHRoeSwgY2hvb3Nl" + - "IGV4YWN0bHkgb25lIGNvbXB1dGUtcGxhbmUgaGFuZG9mZjoKCi0gSGVsbWZpbGUgdmFsdWVzIGZs" + - "b3c6IGF1dGhvciBzZXBhcmF0ZSBlbnZpcm9ubWVudCBmaWxlcywgdGhlbiByZWdpc3RlciBhbmQK" + - "ICBpbnN0YWxsIHdpdGggdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUuCi0gQ0xJIHByb2ZpbGUg" + - "ZmxvdzogdXNlIHRoZSBwcm9maWxlIGdlbmVyYXRlZCBieSB0aGUgQ0xJIGNvbnRyb2wtcGxhbmUg" + - "aW5zdGFsbCwKICB0aGVuIHJ1biB0aGUgY29tcGxldGUgQ0xJIHJlZ2lzdGVyIGFuZCBpbnN0YWxs" + - "IGNvbW1hbmRzLgoKRG8gbm90IG1peCB0aGVzZSBoYW5kb2Zmcy4gRm9sbG93IFtTcGxpdCBDb21w" + - "dXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkKZm9yIGNvbW1hbmRzLCBFS1Mgcm91dGluZywgcHVsbCBzZWNyZXRzLCB2ZXJpZmlj" + - "YXRpb24sIGFuZCB0ZWFyZG93biBvcmRlci4KCiMjIENsZWFuIFRlYXJkb3duCgpEZXN0cm95IGV2" + - "ZXJ5IGNvbXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLCB1c2luZyB0aGUgdGVh" + - "cmRvd24gZm9yCnRoZSBzYW1lIGhhbmRvZmY7IHNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0" + - "YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjdGVhcmRv" + - "d24pLgoKU2NvcGU6IE9ubHkgZGVzdHJveSByZWxlYXNlcyBtYW5hZ2VkIGJ5IHRoaXMgY29udHJv" + - "bC1wbGFuZSBoZWxtZmlsZSBzdGFjay4gVGhlIE5WQ0YgcmVsZWFzZXMgYXJlOiBgbmF0c2AsIGBv" + - "cGVuYmFvLXNlcnZlcmAsIGBjYXNzYW5kcmFgLCBgYXBpLWtleXNgLCBgc2lzYCwgYGFwaWAsIGBp" + - "bnZvY2F0aW9uLXNlcnZpY2VgLCBgZ3JwYy1wcm94eWAsIGBlc3MtYXBpYCwgYG5vdGFyeS1zZXJ2" + - "aWNlYCwgb3B0aW9uYWwgYHZhbml0eS1nYXRld2F5YCwgYG52Y2YtdWlgLCBgYWRtaW4taXNzdWVy" + - "LXByb3h5YCwgYW5kIGBpbmdyZXNzYDsgYGNlcnQtbWFuYWdlcmAgaXMgaW5jbHVkZWQgb25seSB3" + - "aGVuIGBjZXJ0TWFuYWdlci5lbmFibGVkOiB0cnVlYC4gVGhlIGNvbnRyb2wtcGxhbmUgbmFtZXNw" + - "YWNlIGludmVudG9yeSBhbHNvIGluY2x1ZGVzIGBjZXJ0LW1hbmFnZXJgLCBidXQgZGVmYXVsdCBu" + - "YW1lc3BhY2UgY2xlYW51cCBwcmVzZXJ2ZXMgaXQuIE5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9l" + - "cyBub3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZS4gRXh0ZXJuYWwgY2VydC1tYW5hZ2VyIG11" + - "c3QgdXNlIGBjZXJ0TWFuYWdlci5lbmFibGVkOiBmYWxzZWA7IG90aGVyd2lzZSBIZWxtZmlsZSB0" + - "cmVhdHMgdGhlIHJlbGVhc2UgYXMgc3RhY2stbWFuYWdlZC4gRG8gbm90IGRlbGV0ZSBvdGhlciBo" + - "ZWxtIHJlbGVhc2VzIG9yIG5hbWVzcGFjZXMgb24gdGhlIGNsdXN0ZXIuCgpCZWZvcmUgY29udHJv" + - "bC1wbGFuZSBkZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5h" + - "bC4gRm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRN" + - "YW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGlu" + - "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogdHJ1ZWAsIHZlcmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRh" + - "dGEgYW5kIGFib3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gUHJlc2VydmUg" + - "dGhlIG5hbWVzcGFjZSBieSBkZWZhdWx0OyBvbmx5IHBsYW4gaXRzIHJlbW92YWwgYWZ0ZXIgdmVy" + - "aWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1h" + - "dGlvbi4KCiMjIyBTdGFuZGFyZCB0ZWFyZG93bgoKUnVuIGZyb20gaW5zaWRlIHRoZSBgbnZjZi1z" + - "ZWxmLW1hbmFnZWQtc3RhY2svYCBkaXJlY3Rvcnk6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52" + - "LW5hbWU+IGhlbG1maWxlIGRlc3Ryb3kKYGBgCgojIyMgRGVsZXRlIG5hbWVzcGFjZXMKCmBgYGJh" + - "c2gKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + - "c3Mgc2lzIG52Y2YtdWkgdmF1bHQtc3lzdGVtOyBkbwogIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFj" + - "ZSAiJG5zIiAtLWlnbm9yZS1ub3QtZm91bmQKZG9uZQpgYGAKCiMjIyBWZXJpZnkgY2xlYW4KCmBg" + - "YGJhc2gKa3ViZWN0bCBnZXQgbnMgfCBncmVwIC1FICcoY2Fzc2FuZHJhfG5hdHN8dmF1bHR8bnZj" + - "ZnxhcGkta2V5c3xlc3N8c2lzKScKIyBTaG91bGQgcmV0dXJuIGVtcHR5CmBgYAoKIyMgT3ZlcnJp" + - "ZGluZyBIZWxtIENoYXJ0IFZhbHVlcwoKIyMjIEVudmlyb25tZW50IGZpbGUgKGxpbWl0ZWQpCgpX" + - "b3JrcyBvbmx5IGZvciBrZXlzIHRoYXQgYGdsb2JhbC55YW1sLmdvdG1wbGAgcHJvcGFnYXRlcyAo" + - "ZS5nLiwgYGNhc3NhbmRyYS5yZXBsaWNhQ291bnRgLCBgZ2xvYmFsLnN0b3JhZ2VDbGFzc2AsIGBn" + - "bG9iYWwuaW1hZ2VgKS4KCiMjIyBSZWxlYXNlIHZhbHVlcyBibG9jayAoYW55IGNoYXJ0IHZhbHVl" + - "KQoKRWRpdCB0aGUgcmVsZWFzZSBpbiBgaGVsbWZpbGUuZC8qLnlhbWwuZ290bXBsYCBhbmQgYWRk" + - "IGEgYHZhbHVlczpgIGJsb2NrLiBJbiB0aGUgZXhhbXBsZXMgYmVsb3csIGA8cHJpdmF0ZS12YWx1" + - "ZXM+YCByZWZlcnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBz" + - "dGFjayByb290LgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAg" + - "Y29uZGl0aW9uOiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3Rl" + - "bQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBs" + - "CiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIg" + - "fX0tc2VjcmV0cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICByZXNvdXJjZXM6CiAgICAg" + - "ICAgICBsaW1pdHM6CiAgICAgICAgICAgIGNwdTogIjgiCiAgICAgICAgICAgIG1lbW9yeTogODE5" + - "Mk1pCiAgICAgICAgICByZXF1ZXN0czoKICAgICAgICAgICAgY3B1OiAiMiIKICAgICAgICAgICAg" + - "bWVtb3J5OiA0MDk2TWkKYGBgCgpZQU1MIG1lcmdlIGdvdGNoYTogV2hlbiBhIHJlbGVhc2UgdXNl" + - "cyBgPDw6ICpkZXBlbmRlbmN5YCBvciBgaW5oZXJpdGAsIHNwZWNpZnlpbmcgYHZhbHVlczpgIHJl" + - "cGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0LiBZb3UgbXVzdCByZS1pbmNsdWRlIGBn" + - "bG9iYWwueWFtbC5nb3RtcGxgIGFuZCB0aGUgc2VjcmV0cyBmaWxlLgoKIyMjIFByZXZpZXcgYW5k" + - "IGFwcGx5IGEgc2luZ2xlIHJlbGVhc2UKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + - "aWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgICMgUHJldmlldwpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jICAgICAg" + - "IyBBcHBseQpgYGAKCiMjIEltYWdlIFB1bGwgU2VjcmV0cwoKVGhlcmUgYXJlIHRocmVlIGRpc3Rp" + - "bmN0IGNyZWRlbnRpYWwgdHlwZXMuIERvIG5vdCBjb25mbGF0ZSB0aGVtLCBhbmQgbWluZCB0aGUK" + - "Zm9ybWF0IHJ1bGUgYmVsb3cgKHR3byBvZiB0aGVtIGZhaWwgZXZlbiB3aXRoIHRoZSBjb3JyZWN0" + - "IGtleSBpZiB0aGUgZm9ybWF0IGlzIHdyb25nKToKCnwgfCBDb250cm9sIFBsYW5lIFB1bGwgU2Vj" + - "cmV0cyB8IEFQSSBCb290c3RyYXAgUmVnaXN0cnkgQ3JlZHMgfCBTaWRlY2FyIEltYWdlLVB1bGwg" + - "U2VjcmV0IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBQdXJwb3NlIHwgSzhzIHB1bGxzIE5WQ0Ygc2Vy" + - "dmljZSBpbWFnZXMgfCBudmNmLWFwaSB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rpb24gaW1hZ2Ug" + - "YXQgYGZ1bmN0aW9uIGNyZWF0ZWAgfCBudmNmLWFwaSBwdWxscyB0aGUgcGxhdGZvcm0gc2lkZWNh" + - "cnMgaW5qZWN0ZWQgaW50byBldmVyeSB3b3JrZXIgcG9kIHwKfCBXaGVyZSB8IEs4cyBgZG9ja2Vy" + - "LXJlZ2lzdHJ5YCBTZWNyZXRzICsgS3l2ZXJubyBDbHVzdGVyUG9saWN5IHwgYDxwcml2YXRlLXZh" + - "bHVlcz4vPGVudj4tc2VjcmV0cy55YW1sYCAoYWNjb3VudC1ib290c3RyYXApIHwgYE5WQ0ZfQVBJ" + - "X1NJREVDQVJTX0lNQUdFX1BVTExfU0VDUkVUYCBpbiBgPGVudj4tc2VjcmV0cy55YW1sYCAtPiBP" + - "cGVuQmFvIGBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxsLXNlY3JldGAg" + - "KGZpZWxkIGBzZWNyZXRgKSB8CnwgRm9ybWF0IHwgc3RhbmRhcmQgYC5kb2NrZXJjb25maWdqc29u" + - "YCAoa3ViZWN0bCBidWlsZHMgaXQgZm9yIHlvdSkgfCBgYmFzZTY0KCIkb2F1dGh0b2tlbjo8a2V5" + - "PiIpYCB8IGBiYXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgIHwKCj4gTm90ZTogdGhlIGFjY291" + - "bnQtYm9vdHN0cmFwIGNyZWQgYW5kIHRoZSBzaWRlY2FyIHNlY3JldCBhcmUgTk9UIGEKPiBkb2Nr" + - "ZXJjb25maWdqc29uLiBUaGUgc2VjcmV0cyB0ZW1wbGF0ZSBzaGlwcyB0aGUgcGxhY2Vob2xkZXIK" + - "PiBgUkVQTEFDRV9XSVRIX0JBU0U2NF9ET0NLRVJfQ1JFREVOVElBTGAsIHdoaWNoIHJlYWRzIGFz" + - "ICJiYXNlNjQgb2YgYSBkb2NrZXJjb25maWdqc29uLiIKPiBJdCBpc24ndC4gQm90aCB2YWx1ZXMg" + - "YXJlIGNvbnN1bWVkIGFzIGEgcmF3IGRvY2tlciBgYXV0aGAgc3RyaW5nOiBudmNmLWFwaSB0YWtl" + - "cyB0aGUKPiB2YWx1ZSB2ZXJiYXRpbSBhbmQgZHJvcHMgaXQgaW50byB0aGUgYGF1dGhgIGZpZWxk" + - "IG9mIHRoZSBkb2NrZXJjb25maWcgaXQgYnVpbGRzLiBTbyB0aGUKPiB2YWx1ZSBtdXN0IGJlIGBi" + - "YXNlNjQoIiRvYXV0aHRva2VuOjxrZXk+IilgLCBlLmcuIGBwcmludGYgJyRvYXV0aHRva2VuOiVz" + - "JyAiJEtFWSIgfCBvcGVuc3NsIGJhc2U2NCAtQWAsCj4gbm90IGBiYXNlNjQoPGRvY2tlcmNvbmZp" + - "Z2pzb24+KWAuCj4KPiAtIFdyb25nIGFjY291bnQtYm9vdHN0cmFwIHZhbHVlOiBgZnVuY3Rpb24g" + - "Y3JlYXRlYCByZXR1cm5zCj4gICAgYDQwMCAibXVzdCBiZSBiYXNlNjQgZW5jb2RlZCB1c2VybmFt" + - "ZTpwYXNzd29yZCBmb3JtYXQiYC4KPiAtIFdyb25nIHNpZGVjYXIgdmFsdWU6IGV2ZXJ5IHdvcmtl" + - "cidzIHNpZGVjYXIgcHVsbCBnZXRzIGEgbWFsZm9ybWVkIGNyZWRlbnRpYWwgYW5kCj4gICAgYDQw" + - "M2BzLCByZWdhcmRsZXNzIG9mIHdoaWNoIGtleSBpcyBpbnNpZGUuIFRoZSBzeW1wdG9tIGxvb2tz" + - "IGxpa2UgYSBiYWQgb3Igd3Jvbmctb3JnCj4gICAga2V5LCBidXQgdGhlIGtleSBpcyBmaW5lIGFu" + - "ZCB0aGUgZW5jb2RpbmcgaXMgdGhlIGJ1Zy4gVG8gcmVwYWlyIGFuIGFscmVhZHktaW5zdGFsbGVk" + - "Cj4gICAgc3RhY2sgd2l0aG91dCBhIGZ1bGwgcmUtc3luYzoKPgo+ICAgIGBgYGJhc2gKPiAgICBB" + - "VVRIPSQocHJpbnRmICckb2F1dGh0b2tlbjolcycgIiRLRVkiIHwgb3BlbnNzbCBiYXNlNjQgLUEp" + - "Cj4gICAgYmFvIGt2IHB1dCBzZXJ2aWNlcy9udmNmLWFwaS9rdi9zaWRlY2Fycy9pbWFnZS1wdWxs" + - "LXNlY3JldCBzZWNyZXQ9IiRBVVRIIgo+ICAgICMgaWYgTlZJRElBIENsb3VkIFRhc2tzIGlzIGVu" + - "YWJsZWQsIHJlcGVhdCBmb3Igc2VydmljZXMvbnZjdC1hcGkva3Yvc2lkZWNhcnMvaW1hZ2UtcHVs" + - "bC1zZWNyZXQKPiAgICBrdWJlY3RsIHJvbGxvdXQgcmVzdGFydCAtbiBudmNmIGRlcGxveS9udmNm" + - "LWFwaSAgICMgcGlja3MgdXAgdGhlIG5ldyBzaWRlY2FyIGNyZWQKPiAgICBgYGAKPgo+IE5vdGUg" + - "KG11bHRpLW9yZyk6IHdoZW4gcHVsbGluZyBmcm9tIE5HQyAobm90IGEgbWlycm9yKSwgdGhlIHVz" + - "ZXIgZnVuY3Rpb24gaW1hZ2UgYW5kCj4gdGhlIHBsYXRmb3JtIHNpZGVjYXJzIG9mdGVuIGxpdmUg" + - "aW4gZGlmZmVyZW50IG52Y3IuaW8gb3JncywgZWFjaCBuZWVkaW5nIGEgZGlmZmVyZW50Cj4ga2V5" + - "LCBzbyB0aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCAoZnVuY3Rpb24gaW1hZ2UpIGFuZCB0aGUg" + - "c2lkZWNhciBzZWNyZXQgKHNpZGVjYXJzKQo+IGFyZSBmcmVxdWVudGx5IHR3byBkaWZmZXJlbnQg" + - "a2V5cy4gTWlycm9yaW5nIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSByZWdpc3RyeSB0aGUKPiBj" + - "bHVzdGVyIGF1dGhlbnRpY2F0ZXMgdG8gYXV0b21hdGljYWxseSBjb2xsYXBzZXMgdGhpcyB0byBv" + - "bmUgY3JlZGVudGlhbCBwYXRoLgoKIyMjIENvbmZpZ3VyaW5nIHdpdGggS3l2ZXJubyAocmVjb21t" + - "ZW5kZWQpCgpVc2UgYSBLeXZlcm5vIG11dGF0aW5nIGFkbWlzc2lvbiBwb2xpY3kgdG8gYXV0b21h" + - "dGljYWxseSBpbmplY3QgYGltYWdlUHVsbFNlY3JldHNgIGludG8gYWxsIHBvZHMgaW4gTlZDRiBu" + - "YW1lc3BhY2VzLiBUaGlzIHdvcmtzIHVuaWZvcm1seSBmb3IgYWxsIGNoYXJ0cyAtLSBubyBwZXIt" + - "Y2hhcnQgY29uZmlndXJhdGlvbiBvciBoZWxtZmlsZSBtb2RpZmljYXRpb25zIG5lZWRlZC4KCmBg" + - "YGJhc2gKIyAxLiBJbnN0YWxsIEt5dmVybm8KaGVsbSByZXBvIGFkZCBreXZlcm5vIGh0dHBzOi8v" + - "a3l2ZXJuby5naXRodWIuaW8va3l2ZXJuby8KaGVsbSByZXBvIHVwZGF0ZQpoZWxtIGluc3RhbGwg" + - "a3l2ZXJubyBreXZlcm5vL2t5dmVybm8gLW4ga3l2ZXJubyAtLWNyZWF0ZS1uYW1lc3BhY2UKCiMg" + - "Mi4gQ3JlYXRlIHB1bGwgc2VjcmV0IGluIGVhY2ggbmFtZXNwYWNlCmV4cG9ydCBOR0NfQVBJX0tF" + - "WT0iPHlvdXIta2V5PiIKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZj" + - "ZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0" + - "bCBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9ja2Vy" + - "LXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAog" + - "ICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9IiRu" + - "cyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmRv" + - "bmUKCiMgMy4gQXBwbHkgdGhlIEt5dmVybm8gQ2x1c3RlclBvbGljeQprdWJlY3RsIGFwcGx5IC1m" + - "IGt5dmVybm8taW1hZ2VwdWxsc2VjcmV0LXBvbGljeS55YW1sCmBgYAoKVGhlIHBvbGljeSBtdXRh" + - "dGVzIGV2ZXJ5IHBvZCBhdCBhZG1pc3Npb24gdGltZSwgYWRkaW5nIGBpbWFnZVB1bGxTZWNyZXRz" + - "OiBbe25hbWU6IG52Y3ItY3JlZHN9XWAuIFZlcmlmeSB3aXRoOgoKYGBgYmFzaAprdWJlY3RsIGdl" + - "dCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdl" + - "UHVsbFNlY3JldHN9JwojIFNob3VsZCBzaG93OiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQpgYGAK" + - "Ck5vdCBuZWVkZWQgaWYgdXNpbmcgYSBDU1AgYnVpbHQtaW4gY3JlZGVudGlhbCBoZWxwZXIgKGUu" + - "Zy4sIEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKS4KCkZvciB0aGUgS3l2ZXJubyBwb2xpY3kgWUFN" + - "TCBhbmQgcHVsbCBzZWNyZXQgY3JlYXRpb24gc2NyaXB0LCBzZWUgW3JlZmVyZW5jZXMvcHVsbC1z" + - "ZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkuCgojIyBEZWJ1Z2dpbmcKCiMj" + - "IyBRdWljayBzdGF0dXMgY2hlY2sKCmBgYGJhc2gKa3ViZWN0bCBnZXQgcG9kcyAtQSAtbyB3aWRl" + - "ICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgcG9kcwpoZWxtIGxpc3QgLUEgICAgICAgICAg" + - "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBbGwgaGVsbSByZWxlYXNlcwprdWJlY3Rs" + - "IGdldCBldmVudHMgLW4gPG5zPiAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyAgIyBSZWNlbnQg" + - "ZXZlbnRzCmBgYAoKIyMjIENvbW1vbiBmYWlsdXJlIHBhdHRlcm5zCgp8IFN5bXB0b20gfCBDYXVz" + - "ZSB8IEZpeCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLXwKfCBgSW1hZ2VQdWxsQmFja09mZmAg" + - "KyBgNDAxIFVuYXV0aG9yaXplZGAgfCBNaXNzaW5nIG9yIHdyb25nIHB1bGwgc2VjcmV0IHwgQ2hl" + - "Y2sgc2VjcmV0IGV4aXN0cywgY2hlY2sgU0EgaGFzIGltYWdlUHVsbFNlY3JldHMgfAp8IGBJbml0" + - "OjAvMWAgc3R1Y2sgb24gc2VydmljZSBwb2RzIHwgVmF1bHQtYWdlbnQgd2FpdGluZyBmb3IgT3Bl" + - "bkJhbyB8IENoZWNrIE9wZW5CYW8gcG9kcyArIG1pZ3JhdGlvbiBqb2Igc3RhdHVzIHwKfCBgSW5p" + - "dDowLzFgICsgYHZhdWx0LWFnZW50LWluaXRgIHNob3dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQw" + - "MCAuLi4gbm8ga25vd24ga2V5IHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25h" + - "dHVyZWAgfCBPcGVuQmFvIEpXVCBhdXRoIGNvbmZpZ3VyZWQgd2l0aCBhIHN0YXRpYyBwdWJrZXkg" + - "aW5zdGVhZCBvZiB0aGUgY2x1c3RlcidzIGxpdmUgSldLUyAtLSB0aGUgYmFzZSBkZWZhdWx0IGBv" + - "cGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYC4gQ29tbW9u" + - "IG9uIEFLUyAvIGFueSBPSURDLWlzc3VlciBjbHVzdGVyIHwgU2V0IGBvcGVuYmFvLm1pZ3JhdGlv" + - "bnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IHRydWVgLCBkZWxldGUgam9iIGBvcGVuYmFvLXNl" + - "cnZlci1taWdyYXRpb25zYCwgcmUtc3luYyBgb3BlbmJhby1zZXJ2ZXJgLiBTZWUgW3JlZmVyZW5j" + - "ZXMvZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCkgIkluaXQ6MC8xIFN0dWNr" + - "IiBmaXggIzQuIHwKfCBgT09NS2lsbGVkYCBvbiBDYXNzYW5kcmEgfCBEZWZhdWx0IHJlc291cmNl" + - "cyB0b28gc21hbGwgfCBPdmVycmlkZSBgY2Fzc2FuZHJhLnJlc291cmNlc2AgdmlhIHZhbHVlcyBi" + - "bG9jayB8CnwgREItYmFja2VkIHNlcnZpY2VzIGNyYXNoLWxvb3AgYEJhZCBjcmVkZW50aWFsc2Ag" + - "Y29ubmVjdGluZyB0byBDYXNzYW5kcmEgfCBTZWNyZXRzIGZpbGUgc2V0IG9ubHkgYERFRkFVTFRf" + - "Q0FTU0FORFJBX1BBU1NXT1JEYDsgYGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCBzdGls" + - "bCBkZWZhdWx0cyB0byBgY2hAbmczbTNgIHwgU2V0IGBjYXNzYW5kcmEuc2VydmljZVJvbGVQYXNz" + - "d29yZGAgaW4gdGhlIHNlY3JldHMgZmlsZSBlcXVhbCB0byBgREVGQVVMVF9DQVNTQU5EUkFfUEFT" + - "U1dPUkRgLCB0aGVuIHJlLXN5bmMgY2Fzc2FuZHJhICsgdGhlIERCLWJhY2tlZCBzZXJ2aWNlcyB8" + - "CnwgYFBlbmRpbmdgIHBvZHMgfCBOb2RlIHNlbGVjdG9yIG1pc21hdGNoIG9yIG5vIHN0b3JhZ2Ug" + - "Y2xhc3MgfCBga3ViZWN0bCBkZXNjcmliZSBwb2RgLCBjaGVjayBsYWJlbHMgYW5kIHN0b3JhZ2Ug" + - "fAp8IEhlbG0gcmVsZWFzZSBpbiBgZmFpbGVkYCBzdGF0ZSB8IEZpcnN0IGluc3RhbGwgZmFpbGVk" + - "IHBhcnR3YXkgfCBgaGVsbWZpbGUgZGVzdHJveWAgdGhlIHJlbGVhc2UsIHRoZW4gYHN5bmNgIGFn" + - "YWluIHwKfCBBY2NvdW50IGJvb3RzdHJhcCB0aW1lb3V0IHwgV3JvbmcgYmFzZTY0IGNyZWRlbnRp" + - "YWxzIGluIHNlY3JldHMgZmlsZSB8IENoZWNrIGBrdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFj" + - "Y291bnQtYm9vdHN0cmFwIC1uIG52Y2ZgIHwKfCBmdW5jdGlvbiAvIGFjY291bnQgY2FsbHMgcmV0" + - "dXJuIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHwgVGhlIGFjY291bnQtYm9vdHN0cmFwIHBvc3Qt" + - "aW5zdGFsbCBob29rIG5ldmVyIHJhbjogdGhlIGBhcGlgIHJlbGVhc2UgaW5zdGFsbCBmYWlsZWQs" + - "IG9yIHdhcyByZXBhaXJlZCB3aXRoIGxpdmUgcGF0Y2hlcyBpbnN0ZWFkIG9mIGEgY2xlYW4gcmUt" + - "c3luYywgc28gdGhlIGhvb2sgKGFuZCB0aGUgYWNjb3VudCkgd2FzIHNraXBwZWQgfCBWZXJpZnkg" + - "YW5kIHJlLXJ1biB0aGUgaG9vazsgc2VlIFtWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJh" + - "bl0oI3ZlcmlmeS10aGUtYWNjb3VudC1ib290c3RyYXAtcmFuKSB8CnwgU2VydmljZXMgZmFpbCB0" + - "byByZWFkIHZhdWx0IHNlY3JldHM7IGBzZWNyZXRzLmpzb25gIG5vdCBmb3VuZCB8IFZhdWx0IHBh" + - "dGggaGFyZGNvZGVkIHRvIGAvaG9tZS9hcHAvdmF1bHQvYCBpbiBgX2hlbHBlcnMudHBsYDsgdGhl" + - "IHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIG1vdW50ZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgd29ya2lu" + - "ZyBkaXJlY3RvcnkgYW5kIGRyb3BzIHRoZSBsZWFkaW5nIGAvYCB8IE92ZXJyaWRlIGBwb2RBbm5v" + - "dGF0aW9uc2AgYW5kIHNldCBgSkFWQV9UT09MX09QVElPTlM6ICItRHVzZXIuZGlyPS8iYCBpbiBy" + - "ZWxlYXNlIHZhbHVlcyB8CnwgTkFUUyBjb25uZWN0aW9uIGZhaWxzIGF0IHN0YXJ0dXA7IHBsYWNl" + - "bWVudCB0YWcgbWlzbWF0Y2ggfCBOQVRTIHNlcnZlciB0YWdzIGhhcmRjb2RlZCB0byBgZGM6bmNw" + - "YDsgYXBwIGRlcml2ZXMgdGFnIGZyb20gYEFXU19SRUdJT05gIChlLmcuLCBgdXMtZ292LXdlc3Qt" + - "MWApIHwgU2V0IGBBV1NfUkVHSU9OPW5jcGAgYW5kIGBOVkNGX0FXU19SRUdJT049bmNwYCBpbiBl" + - "bnYgY29uZmlnIHwKCiMjIyBWZXJpZnkgdGhlIGFjY291bnQgYm9vdHN0cmFwIHJhbgoKVGhlIGRl" + - "ZmF1bHQgYWNjb3VudCBpcyBjcmVhdGVkIGJ5IGEgKipgcG9zdC1pbnN0YWxsYCBob29rIG9uIHRo" + - "ZSBgYXBpYCByZWxlYXNlKioKKGBqb2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXBgIGluIGBu" + - "dmNmYCkuIEJlY2F1c2UgaXQgaXMgYSBwb3N0LWluc3RhbGwgaG9vaywgaXQgb25seQpmaXJlcyBv" + - "biBhIHN1Y2Nlc3NmdWwgYGFwaWAgaW5zdGFsbC4gSWYgdGhhdCBpbnN0YWxsIGZhaWxlZCBhbmQg" + - "eW91IHJlcGFpcmVkIGl0IHdpdGggbGl2ZQpwYXRjaGVzIChyYXRoZXIgdGhhbiBhIGNsZWFuIHJl" + - "LXN5bmMpLCB0aGUgaG9vayBuZXZlciBydW5zLCBubyBhY2NvdW50IGlzIGNyZWF0ZWQsIGFuZApl" + - "dmVyeSBzdWJzZXF1ZW50IGZ1bmN0aW9uL2FjY291bnQgY2FsbCByZXR1cm5zIGEgY3J5cHRpYyBg" + - "NDA0IFVua25vd24gY2xpZW50X2lkYCB3aXRoCm5vdGhpbmcgb2J2aW91c2x5IHdyb25nIGluIHRo" + - "ZSBydW5uaW5nIHBvZHMuCgpWZXJpZnkgaXQgcmFuIGFmdGVyIHRoZSBmaXJzdCBzeW5jOgoKYGBg" + - "YmFzaAprdWJlY3RsIGdldCBqb2IgLW4gbnZjZiBudmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCBc" + - "CiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLnN1Y2NlZWRlZH0nICAgIyBleHBlY3QgMQpgYGAKCklm" + - "IHRoZSBqb2IgaXMgYWJzZW50IG9yIGAwYCwgcmUtcnVuIGl0IGJ5IHJlLXN5bmNpbmcgdGhlIGBh" + - "cGlgIHJlbGVhc2Ugc28gdGhlIGhvb2sgZmlyZXMKYWdhaW4gKGRlbGV0ZSB0aGUgcHJpb3Igam9i" + - "IGZpcnN0IGlmIGl0IGxpbmdlcnMgaW4gYSBjb21wbGV0ZWQvZmFpbGVkIHN0YXRlIGFuZCBibG9j" + - "a3MgdGhlCmhvb2spOgoKYGBgYmFzaAprdWJlY3RsIGRlbGV0ZSBqb2IgLW4gbnZjZiBudmNmLWFw" + - "aS1hY2NvdW50LWJvb3RzdHJhcCAtLWlnbm9yZS1ub3QtZm91bmQKSEVMTUZJTEVfRU5WPTxlbnY+" + - "IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hcGkgc3luYwprdWJlY3RsIGxvZ3MgLW4gbnZjZiBq" + - "b2IvbnZjZi1hcGktYWNjb3VudC1ib290c3RyYXAgICAjIGNvbmZpcm0gdGhlIGFjY291bnQgd2Fz" + - "IGNyZWF0ZWQKYGBgCgojIyBBZGRpdGlvbmFsIFJlc291cmNlcwoKLSBJbnN0YWxsYXRpb246IFtl" + - "eGFtcGxlcy5tZF0oZXhhbXBsZXMubWQpLCB0aGUgW0NTUCBFbmQtdG8tRW5kIEV4YW1wbGVdKGh0" + - "dHBzOi8vZG9jcy5udmlkaWEuY29tL252Y2YvdjAuNi4wLXJjL2NzcC1lbmQtdG8tZW5kLWV4YW1w" + - "bGUpLCBhbmQgW3NwbGl0IGNvbXB1dGUtcGxhbmUgd29ya2Zsb3dzXShyZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQotIE9wZXJhdGlvbnM6IFtIZWxtZmlsZSBzdHJ1Y3R1" + - "cmVdKHJlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kKSwgW3B1bGwgc2VjcmV0c10ocmVm" + - "ZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpLCBhbmQgW2RlYnVnZ2luZ10ocmVmZXJlbmNlcy9kZWJ1" + - "Z2dpbmcubWQpCgpBZnRlciBkZXBsb3ltZW50LCB1c2UgdGhlIGBudmNmLXNlbGYtbWFuYWdlZC1j" + - "bGlgIHNraWxsIHRvIGNyZWF0ZSBmdW5jdGlvbnMsIGNyZWF0ZSB0YXNrcywgbWFuYWdlIEFQSSBr" + - "ZXlzLCBhbmQgaW52b2tlIGVuZHBvaW50cy4KUEsHCBHDFJNJYgAASWIAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAANAAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL2V2YWxz" + - "L2V2YWxzLmpzb25VVAUAAQCmzhJbCiAgewogICAgImlkIjogIkcxLXZhbGlkYXRlLXRvb2wtdmVy" + - "c2lvbnMiLAogICAgInF1ZXN0aW9uIjogIkluc3RhbGwgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + - "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3RlciIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1z" + - "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50" + - "J3MgZmlyc3Qgb3BlcmF0aW9uYWwgc3RlcCBhZnRlciByZWFkaW5nIHRoZSBza2lsbCB3YXMgdG8g" + - "dmFsaWRhdGUgYWxsIHJlcXVpcmVkIHRvb2wgdmVyc2lvbnM6IGhlbG1maWxlIChtdXN0IGJlIDEu" + - "MS54LCBub3QgMS4yLjApLCBoZWxtICg+PSAzLjEyKSwgaGVsbS1kaWZmIHBsdWdpbiAoPj0gMy4x" + - "MSksIGFuZCBrdWJlY3RsIChjbGllbnQgd2l0aGluIDEgbWlub3Igb2YgY2x1c3RlcikuIEl0IGRp" + - "ZCBub3QgcHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9ucyB3ZXJlIHZh" + - "bGlkYXRlZC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJl" + - "YWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFr" + - "aW5nIGFueSBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbWZpbGUgLS12ZXJzaW9u" + - "JyBhbmQgdmVyaWZpZWQgaXQgaXMgMS4xLnggKG5vdCAxLjIuMCwgd2hpY2ggcmVtb3ZlZCBzZXF1" + - "ZW50aWFsIG1vZGUpIiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2hlbG0gdmVyc2lvbicgYW5kIHZl" + - "cmlmaWVkIGl0IGlzID49IDMuMTIiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSBwbHVnaW4g" + - "bGlzdCcgYW5kIHZlcmlmaWVkIGhlbG0tZGlmZiA+PSAzLjExIGlzIGluc3RhbGxlZCIsCiAgICAg" + - "ICJUaGUgYWdlbnQgcmFuICdrdWJlY3RsIHZlcnNpb24nIHRvIGNoZWNrIGNsaWVudC9zZXJ2ZXIg" + - "dmVyc2lvbiBjb21wYXRpYmlsaXR5IiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb2NlZWQg" + - "dG8gaGVsbWZpbGUgc3luYyB1bnRpbCBhbGwgdmVyc2lvbiBjaGVja3MgcGFzc2VkIgogICAgXQog" + - "IH0sCiAgewogICAgImlkIjogIkcyLXRlbXBsYXRlLWJlZm9yZS1zeW5jIiwKICAgICJxdWVzdGlv" + - "biI6ICJRdWljaywganVzdCBydW4gaGVsbWZpbGUgc3luYyBmb3IgbXkgTlZDRiBzdGFjaywgc2tp" + - "cCBhbGwgdGhlIGNoZWNrcyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFn" + - "ZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiRGVzcGl0ZSB0aGUgdXNlciBh" + - "c2tpbmcgdG8gc2tpcCBjaGVja3MsIHRoZSBhZ2VudCBzdGlsbCByYW4gaGVsbWZpbGUgdGVtcGxh" + - "dGUgdG8gcHJldmlldyByZW5kZXJlZCBtYW5pZmVzdHMgYmVmb3JlIHJ1bm5pbmcgaGVsbWZpbGUg" + - "c3luYy4gSXQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlzIGltcG9ydGFudCBhbmQg" + - "ZGlkIG5vdCBibGluZGx5IGV4ZWN1dGUgc3luYy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjog" + - "WwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdo" + - "ZWxtZmlsZSB0ZW1wbGF0ZScgb3IgJ2hlbG1maWxlIC0tc2VsZWN0b3IgLi4uIHRlbXBsYXRlJyB0" + - "byBwcmV2aWV3IG1hbmlmZXN0cyBiZWZvcmUgc3luYyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5v" + - "dCBibGluZGx5IHJ1biAnaGVsbWZpbGUgc3luYycgd2l0aG91dCBhIHRlbXBsYXRlIHByZXZpZXcg" + - "c3RlcCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHdoeSB0aGUgcHJldmlldyBzdGVwIGlz" + - "IGltcG9ydGFudCBldmVuIHdoZW4gYXNrZWQgdG8gc2tpcCBpdCIKICAgIF0KICB9LAogIHsKICAg" + - "ICJpZCI6ICJHNS1kcnlydW4tYmVmb3JlLWNsZWFudXAiLAogICAgInF1ZXN0aW9uIjogIk5WQ0Yg" + - "bmFtZXNwYWNlcyBhcmUgc3R1Y2sgaW4gVGVybWluYXRpbmcgc3RhdGUuIENsZWFuIHRoZW0gdXAu" + - "IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24i" + - "LAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgc3R1Y2sgbmFt" + - "ZXNwYWNlcyB3ZXJlIGNhdXNlZCBieSBmaW5hbGl6ZXJzIG9uIE5WQ0ZCYWNrZW5kIGN1c3RvbSBy" + - "ZXNvdXJjZXMuIEl0IHJlbW92ZWQgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNl" + - "cyBmaXJzdCwgdGhlbiBjbGVhcmVkIG5hbWVzcGFjZSBmaW5hbGl6ZXJzIHRvIGZvcmNlLWRlbGV0" + - "ZSB0aGUgc3R1Y2sgbmFtZXNwYWNlcy4gSXQgb25seSB0YXJnZXRlZCBOVkNGLW1hbmFnZWQgbmFt" + - "ZXNwYWNlcyAobnZjYS1vcGVyYXRvciwgbnZjZi1iYWNrZW5kKSBhbmQgZGlkIG5vdCB0b3VjaCBv" + - "dGhlciBjbHVzdGVyIHJlc291cmNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + - "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY29uZmlybWVkIGFu" + - "ZCB1c2VkIHRoZSBjb21wdXRlLXBsYW5lIGNvbnRleHQgZm9yIGFsbCBjbGVhbnVwIGNvbW1hbmRz" + - "IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkIGt1YmVjdGwgdG8gcGF0Y2ggTlZDRkJhY2tlbmQgcmVz" + - "b3VyY2VzIHRvIHJlbW92ZSB0aGVpciBmaW5hbGl6ZXJzIiwKICAgICAgIlRoZSBhZ2VudCB1c2Vk" + - "IGt1YmVjdGwgcmVwbGFjZSAtLXJhdyB0byBjbGVhciBuYW1lc3BhY2UgZmluYWxpemVycyBvbiBz" + - "dHVjayBuYW1lc3BhY2VzIiwKICAgICAgIlRoZSBhZ2VudCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + - "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + - "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90" + - "IGp1bXAgZGlyZWN0bHkgdG8gbmFtZXNwYWNlIGRlbGV0aW9uIHdpdGhvdXQgZmlyc3QgcmVtb3Zp" + - "bmcgZmluYWxpemVycyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHNi1oZWxtZmlsZS1zcGxp" + - "dC13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCBhbiBOVkNGIGNvbnRyb2wgcGxh" + - "bmUgYW5kIGEgc2VwYXJhdGUgRUtTIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIEhlbG1maWxlIHN0" + - "YWNrcy4gVGhlIGNvbXB1dGUgY2x1c3RlciBrdWJlY29uZmlnIGlzIGNvbXB1dGUueWFtbC4iLAog" + - "ICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAg" + - "ICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBrZXB0IHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxv" + - "dyBpbmRlcGVuZGVudCBmcm9tIHRoZSBDTEkgcHJvZmlsZSBmbG93LiBJdCBhdXRob3JlZCBzZXBh" + - "cmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGVzIHBs" + - "dXMgYSBiYXJlLUdhdGV3YXkgQ0xJIGNvbmZpZyB3aXRoIFVSTCBhbmQgc2NoZW1lLWxlc3MgSG9z" + - "dCBmaWVsZHMsIGluc3RhbGxlZCB0aGUgY29udHJvbCBwbGFuZSwgcmFuIHRoZSBjb21wdXRlLXBs" + - "YW5lIE1ha2VmaWxlIHJlZ2lzdGVyLWNsdXN0ZXIgdGFyZ2V0IHdpdGggSUNNU19VUkwgYW5kIHRo" + - "ZSBjb21wdXRlIGt1YmVjb25maWcsIHRoZW4gcmFuIHRoZSBjb21wdXRlLXBsYW5lIGluc3RhbGwg" + - "dGFyZ2V0IHdpdGggdGhlIHNhbWUgZW52aXJvbm1lbnQgYW5kIGt1YmVjb25maWcuIEl0IHJlbGll" + - "ZCBvbiByZWdpc3RyYXRpb24gdG8gZGlzY292ZXIgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21w" + - "dXRlIGNvbnRleHQuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2Vu" + - "dCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3Jl" + - "IHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGF1dGhvcmVkIHNlcGFyYXRlIGVudmly" + - "b25tZW50cy88ZW52Pi55YW1sIGZpbGVzIHVuZGVyIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2Vk" + - "IGFuZCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "aW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lIGJlZm9yZSByZWdpc3RlcmluZyBvciBpbnN0YWxs" + - "aW5nIHRoZSBjb21wdXRlIHBsYW5lIiwKICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIGJhc2Vf" + - "aHR0cF91cmwsIGludm9rZV91cmwsIGJhc2VfZ3JwY191cmwsIGFwaV9rZXlzX3NlcnZpY2VfdXJs" + - "LCBpY21zX3VybCwgYXBpX2hvc3QsIGFwaV9rZXlzX2hvc3QsIGludm9rZV9ob3N0LCBhbmQgaWNt" + - "c19ob3N0IGZvciB0aGUgYmFyZSBHYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCB1c2VkICdtYWtl" + - "IC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lzdGVyLWNsdXN0ZXInIHdp" + - "dGggQ0xVU1RFUl9OQU1FLCBOQ0FfSUQsIENMVVNURVJfUkVHSU9OLCBJQ01TX1VSTCwgYW5kIEtV" + - "QkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ21ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgaW5zdGFsbCcgd2l0aCBDTFVTVEVS" + - "X05BTUUsIEhFTE1GSUxFX0VOViwgYW5kIEtVQkVDT05GSUdfRklMRT1jb21wdXRlLnlhbWwiLAog" + - "ICAgICAiVGhlIGFnZW50IHN0YXRlZCB0aGF0IElDTVNfVVJMIG1hcHMgb25seSB0byAtLWljbXMt" + - "dXJsLCBjb25maWcgaWNtc19ob3N0IHN1cHBsaWVzIHRoZSBIb3N0IGhlYWRlciwgdGhlcmUgaXMg" + - "bm8gLS1pY21zLWhvc3QgTWFrZSBvciBDTEkgZmxhZywgYW5kIHJlZ2lzdHJhdGlvbiBkaXNjb3Zl" + - "cnMgT0lEQyBhbmQgSldLUyBmcm9tIHRoZSBjb21wdXRlIGNvbnRleHQiLAogICAgICAiVGhlIGFn" + - "ZW50IGRpZCBub3QgcmVxdWlyZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSBmb3IgdGhpcyBmbG93" + - "IGFuZCBkaWQgbm90IG1peCBpbiBDTEkgcHJvZmlsZSBjb21tYW5kcyIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHNy1ib3RoLWRvY2tlci1oZWxtLWF1dGgiLAogICAgInF1ZXN0aW9uIjogIkF1" + - "dGhlbnRpY2F0ZSB0byBOR0MgZm9yIE5WQ0YgaGVsbWZpbGUgZGVwbG95bWVudCIsCiAgICAiZXhw" + - "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJhbiBib3RoIGRvY2tlciBsb2dpbiBhbmQgaGVsbSByZWdp" + - "c3RyeSBsb2dpbiBmb3IgbnZjci5pby4gSXQgZXhwbGFpbmVkIHRoYXQgYm90aCBhcmUgcmVxdWly" + - "ZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRvIHB1bGwgT0NJIGNo" + - "YXJ0cywgc28gZG9ja2VyIGxvZ2luIGFsb25lIGlzIGluc3VmZmljaWVudC4iLAogICAgImV4cGVj" + - "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5h" + - "Z2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJU" + - "aGUgYWdlbnQgcmFuICdkb2NrZXIgbG9naW4gbnZjci5pbycgd2l0aCAkb2F1dGh0b2tlbiB1c2Vy" + - "bmFtZSBhbmQgTkdDX0FQSV9LRVkgcGFzc3dvcmQiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVs" + - "bSByZWdpc3RyeSBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRva2VuIHVzZXJuYW1lIGFuZCBO" + - "R0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYm90" + - "aCBhcmUgcmVxdWlyZWQgYmVjYXVzZSBoZWxtZmlsZSB1c2VzIGhlbG0gKG5vdCBkb2NrZXIpIHRv" + - "IHB1bGwgT0NJIGNoYXJ0cyIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIG9ubHkg" + - "b25lIG9mIHRoZSB0d28gYXV0aGVudGljYXRpb24gY29tbWFuZHMiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiRzktbWlzc2luZy1idW5kbGUiLAogICAgInF1ZXN0aW9uIjogIlJ1biBoZWxtZmls" + - "ZSBzeW5jIGZvciBOVkNGIGluIG15IGN1cnJlbnQgZGlyZWN0b3J5IiwKICAgICJleHBlY3RlZF9z" + - "a2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0" + - "aCI6ICJUaGUgYWdlbnQgYXR0ZW1wdGVkIHRvIHZlcmlmeSB0aGUgYnVuZGxlIHN0cnVjdHVyZSAo" + - "aGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNlY3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwp" + - "IGFuZCB3aGVuIGZpbGVzIHdlcmUgbm90IGZvdW5kLCBzdG9wcGVkIGFuZCBpbnN0cnVjdGVkIHRo" + - "ZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9jYXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBi" + - "dW5kbGUuIEl0IGRpZCBub3QgYXR0ZW1wdCB0byBydW4gaGVsbWZpbGUgc3luYyBhZ2FpbnN0IGEg" + - "bWlzc2luZyBidW5kbGUuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + - "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + - "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIGV4cGVjdGVk" + - "IGJ1bmRsZSBzdHJ1Y3R1cmUgKGhlbG1maWxlLmQvLCBlbnZpcm9ubWVudHMvLCBzZWNyZXRzLywg" + - "Z2xvYmFsLnlhbWwuZ290bXBsKSIsCiAgICAgICJXaGVuIGJ1bmRsZSBmaWxlcyB3ZXJlIG5vdCBm" + - "b3VuZCwgdGhlIGFnZW50IHN0b3BwZWQgYW5kIGRpZCBub3QgYXR0ZW1wdCBoZWxtZmlsZSBzeW5j" + - "IiwKICAgICAgIlRoZSBhZ2VudCBpbnN0cnVjdGVkIHRoZSB1c2VyIHRvIGV4dHJhY3Qgb3IgbG9j" + - "YXRlIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1zdGFjayBidW5kbGUiCiAgICBdCiAgfSwKICB7CiAg" + - "ICAiaWQiOiAiUzEtY2xlYW4taW5zdGFsbGF0aW9uIiwKICAgICJxdWVzdGlvbiI6ICJQZXJmb3Jt" + - "IGEgY2xlYW4gaW5zdGFsbGF0aW9uIG9mIHRoZSBOVkNGIHNlbGYtbWFuYWdlZCBzdGFjayBvbiBt" + - "eSBBV1MgRUtTIGNsdXN0ZXIuIE15IGVudmlyb25tZW50IG5hbWUgaXMgJ3N0YWdpbmcnLiIsCiAg" + - "ICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAg" + - "ICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGNvbXBsZXRlZCB0aGUgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsYXRpb24gZmlyc3Q6IHZhbGlkYXRlZCB0b29scyBhbmQgYnVuZGxlIHN0cnVjdHVyZSwg" + - "Y3JlYXRlZCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5nIGNlcnQtbWFuYWdlciwg" + - "YXV0aGVudGljYXRlZCB0aGUgcmVnaXN0cmllcywgcHJldmlld2VkLCBkZXBsb3llZCwgYW5kIG1v" + - "bml0b3JlZCB0aGUgZm91ciBjb250cm9sLXBsYW5lIHBoYXNlcy4gSXQgdGhlbiBzZWxlY3RlZCBv" + - "bmUgZG9jdW1lbnRlZCBoYW5kb2ZmIGFuZCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIGNv" + - "bXB1dGUgcGxhbmUgYXMgYSBzZXBhcmF0ZSBzdGFjayB3aXRob3V0IG1peGluZyBwcm9maWxlIGFu" + - "ZCBIZWxtZmlsZSB2YWx1ZXMgZmxvd3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAg" + - "ICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJ" + - "TEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHZhbGlkYXRlZCB0" + - "b29sIHZlcnNpb25zIChoZWxtZmlsZSwgaGVsbSwgaGVsbS1kaWZmLCBrdWJlY3RsKSIsCiAgICAg" + - "ICJUaGUgYWdlbnQgdmVyaWZpZWQgdGhlIGJ1bmRsZSBzdHJ1Y3R1cmUgZXhpc3RzIiwKICAgICAg" + - "IlRoZSBhZ2VudCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyAoY2Fzc2FuZHJhLXN5" + - "c3RlbSwgbmF0cy1zeXN0ZW0sIG52Y2YsIGFwaS1rZXlzLCBlc3MsIHNpcywgdmF1bHQtc3lzdGVt" + - "LCBjZXJ0LW1hbmFnZXIpIHdpdGhvdXQgYWRkaW5nIGNvbXB1dGUtb25seSBuYW1lc3BhY2VzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCByYW4gJ0hFTE1GSUxFX0VOVj1zdGFnaW5nIGhlbG1maWxlIHRlbXBs" + - "YXRlJyB0byBwcmV2aWV3IGJlZm9yZSBkZXBsb3lpbmciLAogICAgICAiVGhlIGFnZW50IHJhbiAn" + - "SEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZpbGUgc3luYycgdG8gZGVwbG95IiwKICAgICAgIlRo" + - "ZSBhZ2VudCBleHBsYWluZWQgdGhlIDQgY29udHJvbC1wbGFuZSBwaGFzZXMgKGRlcGVuZGVuY2ll" + - "cywgc2VydmljZXMsIGluZ3Jlc3MsIG9ic2VydmFiaWxpdHkpIGFuZCBhcHByb3hpbWF0ZSB3YWl0" + - "IHRpbWVzIiwKICAgICAgIkFmdGVyIHRoZSBjb250cm9sIHBsYW5lIHdhcyBoZWFsdGh5LCB0aGUg" + - "YWdlbnQgcmVnaXN0ZXJlZCBhbmQgaW5zdGFsbGVkIHRoZSBzZXBhcmF0ZSBjb21wdXRlLXBsYW5l" + - "IHN0YWNrIHVzaW5nIGV4YWN0bHkgb25lIGRvY3VtZW50ZWQgaGFuZG9mZiIsCiAgICAgICJUaGUg" + - "YWdlbnQgZGlkIG5vdCBtaXggYSBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUgcHJvZmlsZSB3" + - "aXRoIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJT" + - "My1jbGktcHJvZmlsZS13b3JrZmxvdyIsCiAgICAicXVlc3Rpb24iOiAiVXNlIG52Y2YtY2xpIHRv" + - "IGluc3RhbGwgbXkgY29udHJvbCBwbGFuZSBhbmQgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBh" + - "IHNlcGFyYXRlIGNvbXB1dGUgY2x1c3Rlci4gU2hvdyBldmVyeSByZXF1aXJlZCBnbG9iYWwgZmxh" + - "Zy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlv" + - "biIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBmaXJzdCByYW4gdGhlIENMSSBjb250" + - "cm9sLXBsYW5lIGluc3RhbGwgYW5kIHJlcXVpcmVkIGl0cyBnZW5lcmF0ZWQgY29udHJvbC1wbGFu" + - "ZS1wcm9maWxlLnlhbWwuIEl0IHRoZW4gc2hvd2VkIGNvbXBsZXRlIHJlZ2lzdGVyIGFuZCBpbnN0" + - "YWxsIGNvbW1hbmRzLCBlYWNoIGluY2x1ZGluZyAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0" + - "YWNrLCAtLWNvbXB1dGUtcGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiBiZWZvcmUgdGhl" + - "IGNvbXB1dGUtcGxhbmUgc3ViY29tbWFuZC4gUmVnaXN0cmF0aW9uIGNvbnN1bWVkIHRoZSBwcm9m" + - "aWxlIGFuZCBwcm9kdWNlZCB0aGUgdmFsdWVzIGZpbGUgY29uc3VtZWQgYnkgaW5zdGFsbC4gSXQg" + - "ZGlkIG5vdCBzd2l0Y2ggdG8gdGhlIEhlbG1maWxlIHZhbHVlcyBoYW5kb2ZmLiIsCiAgICAiZXhw" + - "ZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gbnZjZi1jbGkgc2VsZi1ob3N0ZWQgaW5zdGFsbCAtLWNvbnRyb2wtcGxh" + - "bmUgYW5kIHZlcmlmaWVkIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBs" + - "YW5lLXByb2ZpbGUueWFtbCBleGlzdHMiLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + - "bHVkZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIHJlZ2lzdGVyIGNvbW1hbmQgaW5j" + - "bHVkZWQgLS1jb250cm9sLXBsYW5lLXByb2ZpbGUsIC0tY2x1c3Rlci1uYW1lLCAtLWt1YmUtY29u" + - "dGV4dCwgLS1yZWdpb24sIGFuZCAtLW91dHB1dCIsCiAgICAgICJUaGUgaW5zdGFsbCBjb21tYW5k" + - "IHJlcGVhdGVkIC0tY29uZmlnLCAtLWNvbnRyb2wtcGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFu" + - "ZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIiwKICAgICAgIlRoZSBpbnN0YWxsIGNvbW1hbmQg" + - "aW5jbHVkZWQgLS12YWx1ZXMsIC0ta3ViZS1jb250ZXh0LCBhbmQgLS1jbHVzdGVyLW5hbWUiLAog" + - "ICAgICAiVGhlIGFnZW50IGtlcHQgdGhlIGdlbmVyYXRlZCBwcm9maWxlIGFzIHRoZSBlbmRwb2lu" + - "dCBzb3VyY2UgYW5kIGRpZCBub3QgbWl4IGluIEhlbG1maWxlIHZhbHVlcyByZWdpc3RyYXRpb24i" + - "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzQtb3ZlcnJpZGUtY2Fzc2FuZHJhLXJlc291cmNl" + - "cyIsCiAgICAicXVlc3Rpb24iOiAiQ2Fzc2FuZHJhIHBvZHMga2VlcCBnZXR0aW5nIE9PTUtpbGxl" + - "ZC4gSW5jcmVhc2UgbWVtb3J5IGxpbWl0cyB0byAxNkdpLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwi" + - "OiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAi" + - "VGhlIGFnZW50IGNhcHR1cmVkIHRoZSBiYXNlbGluZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRlLCB0" + - "aGVuIG1vZGlmaWVkIHRoZSBjYXNzYW5kcmEgcmVsZWFzZSB3aXRoIGlubGluZSB2YWx1ZXMgcmUt" + - "aW5jbHVkaW5nIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBpbiB0aGUgdmFsdWVzIGJs" + - "b2NrLiBJdCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhIGFuZCBwcmV2aWV3ZWQg" + - "dGhlIGRpZmYgYmVmb3JlIGFwcGx5aW5nLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAg" + - "ICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNL" + - "SUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjYXB0dXJlZCBi" + - "YXNlbGluZSB3aXRoICdoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBsYXRl" + - "JyIsCiAgICAgICJUaGUgYWdlbnQgbW9kaWZpZWQgdGhlIHJlbGVhc2UgdmFsdWVzIGJsb2NrIHRv" + - "IGluY2x1ZGUgcmVzb3VyY2UgbGltaXRzIHdpdGggbWVtb3J5OiAxNkdpIiwKICAgICAgIlRoZSBh" + - "Z2VudCByZS1pbmNsdWRlZCBnbG9iYWwueWFtbC5nb3RtcGwgYW5kIHNlY3JldHMgZmlsZSBpbiB0" + - "aGUgdmFsdWVzOiBibG9jayAobm90IGp1c3QgdGhlIG92ZXJyaWRlIGFsb25lKSIsCiAgICAgICJU" + - "aGUgYWdlbnQgd2FybmVkIGFib3V0IHRoZSBZQU1MIG1lcmdlIGdvdGNoYTogc3BlY2lmeWluZyB2" + - "YWx1ZXM6IHJlcGxhY2VzIHRoZSB0ZW1wbGF0ZSdzIHZhbHVlcyBsaXN0IGVudGlyZWx5IiwKICAg" + - "ICAgIlRoZSBhZ2VudCBwcmV2aWV3ZWQgdGhlIGNoYW5nZSB3aXRoIGhlbG1maWxlIHRlbXBsYXRl" + - "IGFuZCBkaWZmIGJlZm9yZSBhcHBseWluZyB3aXRoIHN5bmMiCiAgICBdCiAgfSwKICB7CiAgICAi" + - "aWQiOiAiUzYtc2VsZWN0aXZlLXN5bmMtZGVwZW5kZW5jaWVzIiwKICAgICJxdWVzdGlvbiI6ICJE" + - "ZXBsb3kgb25seSB0aGUgTlZDRiBkZXBlbmRlbmNpZXMgLS0gTkFUUywgQ2Fzc2FuZHJhLCBhbmQg" + - "T3BlbkJhbyAtLSBmb3IgdGVzdGluZyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxm" + - "LW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHVz" + - "ZWQgdGhlIGhlbG1maWxlIHNlbGVjdG9yIHRvIGRlcGxveSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMg" + - "cmVsZWFzZSBncm91cCwgdGhlbiB2ZXJpZmllZCBwb2RzIGluIHRoZSBkZXBlbmRlbmN5IG5hbWVz" + - "cGFjZXMuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFk" + - "IHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2lu" + - "ZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IHVzZWQgJ2hlbG1maWxlIC0tc2VsZWN0b3IgcmVs" + - "ZWFzZS1ncm91cD1kZXBlbmRlbmNpZXMgc3luYycgdG8gZGVwbG95IG9ubHkgZGVwZW5kZW5jaWVz" + - "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCBwb2RzIGluIGRlcGVuZGVuY3kgbmFtZXNwYWNl" + - "cyAobmF0cy1zeXN0ZW0sIGNhc3NhbmRyYS1zeXN0ZW0sIHZhdWx0LXN5c3RlbSkiLAogICAgICAi" + - "VGhlIGFnZW50IHByb3ZpZGVkIHRoZSBzZWxlY3RvciByZWZlcmVuY2UgZm9yIHRhcmdldGluZyBv" + - "dGhlciByZWxlYXNlIGdyb3VwcyIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNy1kZWJ1Zy1p" + - "bWFnZXB1bGxiYWNrb2ZmIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBhcmUgaW4g" + - "SW1hZ2VQdWxsQmFja09mZiB3aXRoIDQwMSBVbmF1dGhvcml6ZWQiLAogICAgImV4cGVjdGVkX3Nr" + - "aWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRo" + - "IjogIlRoZSBhZ2VudCByZWFkIHRoZSBkZWJ1Z2dpbmcgcmVmZXJlbmNlIGFuZCByYW4gZGlhZ25v" + - "c3RpYyBjb21tYW5kcyB0byBpZGVudGlmeSB0aGUgcm9vdCBjYXVzZTogZGVzY3JpYmVkIHRoZSBw" + - "b2QsIGNoZWNrZWQgZm9yIHB1bGwgc2VjcmV0cywgY2hlY2tlZCBpbWFnZVB1bGxTZWNyZXRzIG9u" + - "IHRoZSBwb2Qgc3BlYyBhbmQgc2VydmljZSBhY2NvdW50LiBJdCBpZGVudGlmaWVkIHRoZSBpc3N1" + - "ZSAobWlzc2luZyBzZWNyZXQsIHdyb25nIGNyZWRlbnRpYWxzLCBvciBtaXNzaW5nIGltYWdlUHVs" + - "bFNlY3JldHMpIGFuZCBwcm92aWRlZCB0aGUgY29ycmVjdCBmaXguIiwKICAgICJleHBlY3RlZF9i" + - "ZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1p" + - "bnN0YWxsYXRpb24gU0tJTEwubWQgYW5kIHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kIiwKICAgICAg" + - "IlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgZGVzY3JpYmUgcG9kJyB0byBzZWUgdGhlIEltYWdlUHVs" + - "bEJhY2tPZmYgZXZlbnRzIiwKICAgICAgIlRoZSBhZ2VudCBjaGVja2VkIGZvciBwdWxsIHNlY3Jl" + - "dHMgaW4gdGhlIGNhc3NhbmRyYS1zeXN0ZW0gbmFtZXNwYWNlIiwKICAgICAgIlRoZSBhZ2VudCBj" + - "aGVja2VkIGltYWdlUHVsbFNlY3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZC9vciBzZXJ2aWNlIGFj" + - "Y291bnQiLAogICAgICAiVGhlIGFnZW50IGlkZW50aWZpZWQgdGhlIHJvb3QgY2F1c2UgYW5kIHBy" + - "b3ZpZGVkIGEgc3BlY2lmaWMgZml4IgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM5LXJlbW90" + - "ZS1la3Mtcm91dGluZy1hbmQtc2VjcmV0cyIsCiAgICAicXVlc3Rpb24iOiAiQ29uZmlndXJlIGEg" + - "cmVtb3RlIEVLUyBjb21wdXRlIGNsdXN0ZXIgdG8gcmVhY2ggbXkgTlZDRiBjb250cm9sIHBsYW5l" + - "IHRocm91Z2ggaXRzIEVudm95IEdhdGV3YXksIGluY2x1ZGluZyBOQVRTIGFuZCBwcml2YXRlLXJl" + - "Z2lzdHJ5IHB1bGwgc2VjcmV0cy4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1t" + - "YW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBjb25m" + - "aWd1cmVkIHRoZSBjb250cm9sIHBsYW5lIHRvIHVzZSB0aGUgRW52b3kgR2F0ZXdheSBjb250cm9s" + - "bGVyIGluIGVudm95LWdhdGV3YXktc3lzdGVtIGFuZCBHYXRld2F5L252Y2YtZ2F0ZXdheSBpbiBl" + - "bnZveS1nYXRld2F5LCBzZXQgYWxsIHNpeCByZW1vdGUgd29ya2VyIGVuZHBvaW50cyBhbmQgdGhl" + - "IGdycGMtcHJveHkgbG9jYWwgb3ZlcnJpZGUsIGVuYWJsZWQgTlZDRiBhbmQgTlZDVCBnUlBDIHJv" + - "dXRlcyBwbHVzIE5BVFMsIGFuZCBlbmFibGVkIE9wZW5CYW8gaXNzdWVyIGRpc2NvdmVyeS4gSXQg" + - "Y29uZmlndXJlZCB0aGUgYmFyZS1HYXRld2F5IENMSSBVUkwgYW5kIEhvc3QgZmllbGRzIGluY2x1" + - "ZGluZyBpY21zX2hvc3QsIHBsdXMgdGhlIGNvbXB1dGUtcGxhbmUgSUNNUywgUmVWYWwsIGFuZCBO" + - "QVRTIGV4dGVybmFsIFVSTHMgYW5kIGhvc3Qgb3ZlcnJpZGVzLiBJdCBjcmVhdGVkIHRoZSBwdWxs" + - "IHNlY3JldCBpbiBhbGwgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIGluY2x1ZGluZyBjZXJ0LW1h" + - "bmFnZXIsIGJ1dCBvbmx5IGluIG52Y2Etb3BlcmF0b3Igb24gdGhlIGNvbXB1dGUgY2x1c3Rlcjsg" + - "dGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8gbnZjYS1zeXN0ZW0uIiwKICAgICJl" + - "eHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYt" + - "bWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAg" + - "ICAiVGhlIGFnZW50IHNldCBpbmdyZXNzLmdhdGV3YXlBcGkuY29udHJvbGxlck5hbWVzcGFjZSB0" + - "byBlbnZveS1nYXRld2F5LXN5c3RlbSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IHNoYXJlZCwgZ3Jw" + - "YywgYW5kIG5hdHMgR2F0ZXdheSByZWZlcmVuY2VzIHRvIG5hbWUgbnZjZi1nYXRld2F5IGFuZCBu" + - "YW1lc3BhY2UgZW52b3ktZ2F0ZXdheSIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdsb2JhbC53b3Jr" + - "ZXJFbmRwb2ludHMubnZjZlNlcnZpY2VVUkwsIG52Y2ZHcnBjU2VydmljZVVSTCwgbnZjZk5hdHNT" + - "ZXJ2aWNlVVJMLCBudmN0U2VydmljZVVSTCwgbnZjdEdycGNTZXJ2aWNlVVJMLCBhbmQgaW52b2Nh" + - "dGlvblNlcnZpY2VVUkwiLAogICAgICAiVGhlIGFnZW50IHNldCBncnBjcHJveHkubnZjZkdycGNT" + - "ZXJ2aWNlVVJMIHRvIHRoZSBjb250cm9sLXBsYW5lLWxvY2FsIEFQSSBnUlBDIHNlcnZpY2UiLAog" + - "ICAgICAiVGhlIGFnZW50IGVuYWJsZWQgYm90aCBpbmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm52" + - "Y2ZBcGkuZ3JwYyBhbmQgbnZjdEFwaS5ncnBjIHdpdGggd29ya2VyLWFwaSBhbmQgd29ya2VyLXRh" + - "c2tzIGhvc3RuYW1lcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGljaXRseSBzZXQgaW5ncmVzcy5n" + - "YXRld2F5QXBpLnJvdXRlcy5uYXRzLmVuYWJsZWQgdG8gdHJ1ZSIsCiAgICAgICJUaGUgYWdlbnQg" + - "c2V0IG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZCB0byB0cnVlIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQg" + - "SG9zdCBmaWVsZHMsIGluY2x1ZGluZyBzY2hlbWUtbGVzcyBpY21zX2hvc3QiLAogICAgICAiVGhl" + - "IGFnZW50IGNvbmZpZ3VyZWQgY29tcHV0ZS1wbGFuZSBpY21zU2VydmljZVVSTCwgaWNtc1NlcnZp" + - "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIHJldmFsU2VydmljZVVSTCwgcmV2YWxTZXJ2aWNlSG9zdEhl" + - "YWRlck92ZXJyaWRlLCBuYXRzVVJMLCBhbmQgbmF0c0hvc3RPdmVycmlkZSIsCiAgICAgICJUaGUg" + - "Y29udHJvbC1wbGFuZSBwdWxsLXNlY3JldCBuYW1lc3BhY2UgbGlzdCBpbmNsdWRlZCBjZXJ0LW1h" + - "bmFnZXIiLAogICAgICAiVGhlIGNvbXB1dGUtcGxhbmUgc2VjcmV0IHdhcyBjcmVhdGVkIG9ubHkg" + - "aW4gbnZjYS1vcGVyYXRvciBhbmQgbWlycm9yZWQgYnkgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciB0" + - "byBudmNhLXN5c3RlbSIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJHMTEtc3BsaXQtdGVhcmRv" + - "d24iLAogICAgInF1ZXN0aW9uIjogIlRlYXIgZG93biBteSBzcGxpdCBjb250cm9sLXBsYW5lIGFu" + - "ZCBjb21wdXRlLXBsYW5lIGRlcGxveW1lbnQgc2FmZWx5LiBTaG93IGJvdGggdGhlIEhlbG1maWxl" + - "IHZhbHVlcyBhbmQgQ0xJIHByb2ZpbGUgdmFyaWFudHMuIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + - "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + - "aGUgSGVsbWZpbGUgZmxvdyBkZXN0cm95ZWQgYW5kIGNvbmZpcm1lZCBkZXJlZ2lzdHJhdGlvbiBv" + - "ZiBldmVyeSBjb21wdXRlIGNsdXN0ZXIgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGNvbnRyb2wgcGxh" + - "bmUgYW5kIHBhc3NlZCBib3RoIGNvbnRyb2wtcGxhbmUga3ViZWNvbmZpZyBmb3Jtcy4gQmVmb3Jl" + - "IGVpdGhlciBoYW5kb2ZmIGNvdWxkIGRlc3Ryb3kgdGhlIGNvbnRyb2wgcGxhbmUsIGJvdGggdGVh" + - "cmRvd24gZmxvd3Mgd2FybmVkIHRoYXQgbmFtZXNwYWNlIHByZXNlcnZhdGlvbiBkb2VzIG5vdCBw" + - "cmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLCByZXF1aXJlZCBlZmZlY3RpdmUgY2VydE1hbmFnZXIu" + - "ZW5hYmxlZDogZmFsc2UgZm9yIGFuIGV4dGVybmFsIGluc3RhbGxhdGlvbiBhbmQgYWJvcnRlZCBp" + - "ZiB0cnVlLCBhbmQgdmVyaWZpZWQgbWF0Y2hpbmcgcmVsZWFzZSBvd25lcnNoaXAgZm9yIGFuIGlu" + - "dGVuZGVkIHN0YWNrLW1hbmFnZWQgcmVsZWFzZSwgYWJvcnRpbmcgb24gbWlzc2luZyBvciBtaXNt" + - "YXRjaGVkIGV2aWRlbmNlLiBUaGV5IHByZXNlcnZlZCB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQg" + - "YW5kIGRpZCBub3QgZGVsZXRlIGl0IHdpdGhvdXQgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGV4" + - "cGxpY2l0IGNvbmZpcm1hdGlvbi4gVGhlIENMSSBmbG93IHJldGFpbmVkIHRoZSBnZW5lcmF0ZWQg" + - "cmVnaXN0cmF0aW9uIHZhbHVlcywgdXNlZCB0aGUgZnVsbC1wcmVmaXggc3RhdHVzIGNvbW1hbmQg" + - "dG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0IG5hbWVkLWNsdXN0ZXIg" + - "cGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBwcmVkaWN0IGNvbmRpdGlv" + - "bmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgYW5kIGdvdCBleHBsaWNpdCBjb25maXJtYXRpb24g" + - "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIuIEl0IHRoZW4g" + - "cHJldmlld2VkIGFuZCByYW4gZG93biB3aXRoIHRoZSBmdWxsIHBlcnNpc3RlbnQgcHJlZml4LCBy" + - "ZW1vdmluZyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIHRoZSBsYXN0IHJlZ2lzdHJhdGlv" + - "biB3YXMgZ29uZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50" + - "IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUg" + - "dGFraW5nIGFjdGlvbiIsCiAgICAgICJGb3IgZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGUgSGVs" + - "bWZpbGUgZmxvdyByYW4gdGhlIGNvbXB1dGUtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB0YXJnZXQg" + - "d2l0aCBpdHMgY29tcHV0ZSBrdWJlY29uZmlnIiwKICAgICAgIkFmdGVyIGNvbmZpcm1hdGlvbiwg" + - "dGhlIEhlbG1maWxlIGZsb3cgcmFuIGNsdXN0ZXIgZGVsZXRlIHdpdGggY2x1c3RlcklEIGFuZCBu" + - "Y2FJRCBiZWZvcmUgY29udHJvbC1wbGFuZSBkZXN0cnVjdGlvbiIsCiAgICAgICJCZWZvcmUgZWl0" + - "aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwgYm90aCB0ZWFyZG93" + - "biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRvZXMgbm90IHByZXNl" + - "cnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0TWFuYWdlci5lbmFi" + - "bGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBhYm9ydGVkIGlmIHRy" + - "dWUsIGFuZCB2ZXJpZmllZCBpbnRlbmRlZCBzdGFjayBvd25lcnNoaXAgd2hlbiBlbmFibGVkLCBh" + - "Ym9ydGluZyBvbiBtaXNzaW5nIG9yIG1pc21hdGNoZWQgZXZpZGVuY2UiLAogICAgICAiQm90aCB0" + - "ZWFyZG93biBmbG93cyBwcmVzZXJ2ZWQgdGhlIGNlcnQtbWFuYWdlciBuYW1lc3BhY2UgYnkgZGVm" + - "YXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5jZSBh" + - "bmQgZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBIZWxtZmlsZSBmbG93IHJhbiBj" + - "b250cm9sLXBsYW5lIE1ha2VmaWxlIGRlc3Ryb3kgd2l0aCBib3RoIEtVQkVDT05GSUcgYW5kIEtV" + - "QkVDT05GSUdfRklMRSIsCiAgICAgICJUaGUgQ0xJIGZsb3cgcmV0YWluZWQgb3V0LzxjbHVzdGVy" + - "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIHVudGlsIHRlYXJkb3duIGNvbXBsZXRlZCIsCiAg" + - "ICAgICJCZWZvcmUgcmVhbCBkb3duLCB0aGUgQ0xJIGZsb3cgdXNlZCB0aGUgZnVsbC1wcmVmaXgg" + - "c3RhdHVzIGNvbW1hbmQgdG8gaW5zcGVjdCBsaXZlIHJlZ2lzdHJhdGlvbnMsIHN0YXRlZCB0aGF0" + - "IG5hbWVkLWNsdXN0ZXIgcGxhbi1vbmx5IGRvZXMgbm90IHF1ZXJ5IElDTVMgYW5kIGNhbm5vdCBw" + - "cmVkaWN0IGNvbmRpdGlvbmFsIGNvbnRyb2wtcGxhbmUgcmVtb3ZhbCwgd2FybmVkIHdoZW4gdGhl" + - "IHRhcmdldCB3YXMgdGhlIGxhc3QgcmVnaXN0ZXJlZCBjbHVzdGVyLCBhbmQgZ290IGV4cGxpY2l0" + - "IGNvbmZpcm1hdGlvbiIsCiAgICAgICJUaGUgQ0xJIGZsb3cgdXNlZCAtLWNvbmZpZywgYm90aCBz" + - "dGFjayBwYXRocywgLS1lbnYsIC0tcGxhaW4sIGJvdGggY29udGV4dHMsIGFuZCAtLWljbXMtdXJs" + - "IGZvciBkb3duIC0tcGxhbi1vbmx5IGFuZCB0aGVuIGRvd24iLAogICAgICAiVGhlIGFnZW50IHN0" + - "YXRlZCB0aGF0IGRvd24gdW5yZWdpc3RlcnMgZWFjaCBjb21wdXRlIGNsdXN0ZXIgYW5kIHJlbW92" + - "ZXMgdGhlIGNvbnRyb2wgcGxhbmUgb25seSBhZnRlciBubyByZWdpc3RyYXRpb25zIHJlbWFpbiIK" + - "ICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTMtdmFsdWVzLXByZWNlZGVuY2UiLAogICAgInF1" + - "ZXN0aW9uIjogIkkgYWRkZWQgYSB2YWx1ZSB0byBteSBlbnZpcm9ubWVudCBZQU1MIGJ1dCBpdCdz" + - "IGJlaW5nIHNpbGVudGx5IGlnbm9yZWQuIEhvdyBkbyBoZWxtZmlsZSB2YWx1ZXMgd29yayBpbiBO" + - "VkNGPyIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + - "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + - "IHByZWNlZGVuY2UgY2hhaW4gKGJhc2UueWFtbCwgZW52IFlBTUwsIGdsb2JhbC55YW1sLmdvdG1w" + - "bCwgc2VjcmV0cywgaW5saW5lIHZhbHVlcyksIGlkZW50aWZpZWQgdGhhdCBnbG9iYWwueWFtbC5n" + - "b3RtcGwgb25seSBwYXNzZXMgdGhyb3VnaCBzcGVjaWZpYyBrZXlzLCBhbmQgZXhwbGFpbmVkIHRo" + - "YXQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IHVzZSByZWxlYXNlIGlubGluZSB2YWx1ZXMg" + - "YmxvY2tzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVh" + - "ZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtp" + - "bmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgdGhlIHZhbHVlcyBwcmVjZWRl" + - "bmNlIGNoYWluOiBiYXNlLnlhbWwgLT4gZW52IFlBTUwgLT4gZ2xvYmFsLnlhbWwuZ290bXBsIC0+" + - "IHNlY3JldHMgLT4gaW5saW5lIHZhbHVlcyIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0" + - "aGF0IGdsb2JhbC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMg" + - "KGNhc3NhbmRyYS5yZXBsaWNhQ291bnQsIGdsb2JhbC5zdG9yYWdlQ2xhc3MsIGdsb2JhbC5pbWFn" + - "ZSwgZXRjLikiLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IGFyYml0cmFyeSBjaGFy" + - "dCB2YWx1ZXMgbXVzdCBiZSBzZXQgdmlhIHJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzIiwK" + - "ICAgICAgIlRoZSBhZ2VudCBsaXN0ZWQgZXhhbXBsZXMgb2YgdmFsdWVzIHRoYXQgYXJlIHByb3Bh" + - "Z2F0ZWQgYW5kIGFyYml0cmFyeSBjaGFydCB2YWx1ZXMgdGhhdCByZXF1aXJlIGEgcmVsZWFzZSB2" + - "YWx1ZXMgYmxvY2siCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiUzE0LWVuYWJsZS1sbG0tZnVu" + - "Y3Rpb25zIiwKICAgICJxdWVzdGlvbiI6ICJJIG5lZWQgdG8gZGVwbG95IGZ1bmN0aW9uVHlwZTog" + - "TExNIGZ1bmN0aW9ucyBvbiBhIHNlbGYtbWFuYWdlZCwgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVz" + - "dCBjbHVzdGVyLiBXaGF0IEhlbG1maWxlIGNvbmZpZ3VyYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBz" + - "dGVwcyBkbyBJIG5lZWQ/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdl" + - "ZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZW5hYmxlZCB0" + - "aGUgTExNIGFkZG9uIHdpdGggYWRkb25zLmxsbS5lbmFibGVkLCBjb25maWd1cmVkIHNpbmdsZSBy" + - "ZXBsaWNhcyBmb3IgdGhlIExMTSBBUEkgR2F0ZXdheSBhbmQgcmVxdWVzdCByb3V0ZXIsIGFuZCBl" + - "eHBsYWluZWQgdGhhdCB0aGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBwb3dlci1vZi10d28gd2hlbiBu" + - "byBsb2FkLWJhbGFuY2VyIGNvbmZpZ3VyYXRpb24gaXMgc2V0LiBJdCBsaW5rZWQgdGhlIGNhbm9u" + - "aWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgcm91dGlu" + - "ZyBtZXRob2RzLiBGb3IgdGhlIGlzb2xhdGVkIHBsYWludGV4dCBjbHVzdGVyLCBpdCByZWxpZWQg" + - "b24gdGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkZWZhdWx0IGZvciB0aGUgYnVuZGxlZCBnYXRld2F5" + - "LXRvLUFQSSBhdXRoZW50aWNhdGlvbiBob3AgYW5kIGluY2x1ZGVkIGFnZW50Q29uZmlnLm1lcmdl" + - "Q29uZmlnLndvcmtsb2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIGZvciB0aGUgc2VwYXJhdGUgd29y" + - "a2VyIHRyYW5zcG9ydCwgd2l0aCBhIHdhcm5pbmcgdGhhdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + - "cG9ydCBpcyBub3QgZm9yIHByb2R1Y3Rpb24uIEl0IHJlZnJlc2hlZCB0aGUgY29tcHV0ZSBwbGFu" + - "ZSB1c2luZyB0aGUgc2FtZSBoYW5kb2ZmIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiwgcmVkZXBs" + - "b3llZCBleGlzdGluZyBMTE0gZnVuY3Rpb25zLCBhbmQgdmVyaWZpZWQgdGhlIExMTSBkZXBsb3lt" + - "ZW50cywgcm91dGUsIGFuZCBsbG0td29ya2VyIHNpZGVjYXIuIiwKICAgICJleHBlY3RlZF9iZWhh" + - "dmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCB1c2VkIGFkZG9ucy5sbG0uZW5hYmxlZCwgbm90IHRo" + - "ZSBvYnNvbGV0ZSBsbG0uZW5hYmxlZCBwYXRoIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2F0ZXdh" + - "eSBhbmQgcmVxdWVzdFJvdXRlciByZXBsaWNhQ291bnQgdG8gMSBmb3IgdGhlIHNpbmdsZS1ub2Rl" + - "IHRlc3QgY2x1c3RlciIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgdGhlIHJlcXVlc3Qg" + - "cm91dGVyIGRlZmF1bHRzIHRvIHBvd2VyLW9mLXR3byBhbmQgbGlua2VkIHRoZSBjYW5vbmljYWwg" + - "cmVxdWVzdC1yb3V0ZXIgbG9hZC1iYWxhbmNpbmcgZ3VpZGUgZm9yIG90aGVyIG1ldGhvZHMiLAog" + - "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGF0IHRoZSBidW5kbGVkIGdhdGV3YXktdG8tQVBJ" + - "IGF1dGhlbnRpY2F0aW9uIGhvcCBkZWZhdWx0cyB0byBwbGFpbnRleHQsIGluY2x1ZGVkIHdvcmts" + - "b2FkLnN0YXJnYXRlUVVJQ0luc2VjdXJlIG9ubHkgZm9yIHRoZSBpc29sYXRlZCB3b3JrZXIgdHJh" + - "bnNwb3J0LCBhbmQgd2FybmVkIGFnYWluc3QgcGxhaW50ZXh0IHdvcmtlciB0cmFuc3BvcnQgaW4g" + - "cHJvZHVjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXBwbGllZCB0aGUgY29udHJvbC1wbGFuZSBI" + - "ZWxtZmlsZSBlbnZpcm9ubWVudCwgcmVmcmVzaGVkIHRoZSBjb21wdXRlIHBsYW5lIHdpdGggdGhl" + - "IHNhbWUgc2VsZWN0ZWQgaGFuZG9mZiwgYW5kIHJlY3JlYXRlZCBvciByZWRlcGxveWVkIGV4aXN0" + - "aW5nIExMTSBmdW5jdGlvbnMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIGxsbS1hcGktZ2F0" + - "ZXdheSwgbGxtLXJlcXVlc3Qtcm91dGVyLCB0aGUgTExNIEhUVFBSb3V0ZSwgYW5kIHRoZSBsbG0t" + - "d29ya2VyIHNpZGVjYXIgaW5jbHVkaW5nIC0tcXVpYy1pbnNlY3VyZSIKICAgIF0KICB9LAogIHsK" + - "ICAgICJpZCI6ICJHOC1ORUctbm90LWZvci1rM2QiLAogICAgInF1ZXN0aW9uIjogIlNldCB1cCBh" + - "IGxvY2FsIE5WQ0YgZGV2IGNsdXN0ZXIgdXNpbmcgazNkIGZvciB0ZXN0aW5nIiwKICAgICJleHBl" + - "Y3RlZF9za2lsbCI6IG51bGwsCiAgICAic2hvdWxkX3RyaWdnZXIiOiBmYWxzZSwKICAgICJncm91" + - "bmRfdHJ1dGgiOiAiVGhpcyBpcyBhIGxvY2FsIGszZCBkZXZlbG9wbWVudCByZXF1ZXN0IHRoYXQg" + - "YmVsb25ncyB0byB0aGUgbnZjZi1zZWxmLWhvc3RlZC1sb2NhbC1kZXYgc2tpbGwsIG5vdCBudmNm" + - "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24uIFRoZSBhZ2VudCBkaWQgbm90IHJlYWQgb3IgdXNl" + - "IHRoZSBzZWxmLW1hbmFnZWQgaW5zdGFsbGF0aW9uIHNraWxsIGFuZCBpbnN0ZWFkIHByb3ZpZGVk" + - "IGszZC1zcGVjaWZpYyBndWlkYW5jZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + - "ICAiVGhlIGFnZW50IGRpZCBub3QgcmVhZCBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "U0tJTEwubWQiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3QgcHJvdmlkZSBoZWxtZmlsZS1iYXNl" + - "ZCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zIiwKICAgICAgIlRoZSBhZ2VudCBw" + - "cm92aWRlZCBrM2Qtc3BlY2lmaWMgbG9jYWwgZGV2ZWxvcG1lbnQgZ3VpZGFuY2Ugb3IgZGVmZXJy" + - "ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsLWRldiBza2lsbCIKICAgIF0KICB9Cl0KUEsHCEdV" + - "alZKVgAASlYAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAALwAJAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtaW5zdGFsbGF0aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SIyBFeGFtcGxlcwoKV29ya2Vk" + - "IGV4YW1wbGVzIGJhc2VkIG9uIHJlYWwgZGVwbG95bWVudCBzY2VuYXJpb3MuCgojIyBFeGFtcGxl" + - "IDE6IE92ZXJyaWRlIENhc3NhbmRyYSBSZXNvdXJjZXMKClRoZSBkZWZhdWx0IENhc3NhbmRyYSBy" + - "ZXNvdXJjZSBsaW1pdHMgY2F1c2UgT09NIG9uIGxhcmdlIGluc3RhbmNlIHR5cGVzIChlLmcuLCBg" + - "cDUuNDh4bGFyZ2VgKS4KClByb2JsZW06IENhc3NhbmRyYSBwb2RzIHJlc3RhcnQgd2l0aCBgT09N" + - "S2lsbGVkYC4KClNvbHV0aW9uOiBPdmVycmlkZSByZXNvdXJjZXMgdmlhIGhlbG1maWxlIHJlbGVh" + - "c2UgdmFsdWVzIGJsb2NrLgoKIyMjIFN0ZXAgMTogQ2FwdHVyZSBiYXNlbGluZQoKYGBgYmFzaApI" + - "RUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1w" + - "bGF0ZSA+IC90bXAvY2Fzcy1iZWZvcmUueWFtbApncmVwIC1BOCAncmVzb3VyY2VzOicgL3RtcC9j" + - "YXNzLWJlZm9yZS55YW1sIHwgaGVhZCAtMTAKYGBgCgojIyMgU3RlcCAyOiBBZGQgb3ZlcnJpZGUg" + - "dG8gaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCkluIHRoZSBleGFtcGxl" + - "cyBiZWxvdywgYDxwcml2YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJl" + - "Y3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2Fu" + - "ZHJhCiAgdmVyc2lvbjogMC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFt" + - "ZXNwYWNlOiBjYXNzYW5kcmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAg" + - "LSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1" + - "aXJlZEVudiAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgog" + - "ICAgICAgIHJlc291cmNlczoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIK" + - "ICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAg" + - "ICBjcHU6ICIyIgogICAgICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCiMjIyBTdGVwIDM6IFZl" + - "cmlmeSBhbmQgYXBwbHkKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + - "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgdGVtcGxhdGUgPiAvdG1wL2Nhc3MtYWZ0ZXIueWFtbApkaWZm" + - "IC90bXAvY2Fzcy1iZWZvcmUueWFtbCAvdG1wL2Nhc3MtYWZ0ZXIueWFtbCAgIyBDb25maXJtIHJl" + - "c291cmNlcyBjaGFuZ2VkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5h" + - "bWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgpOb3RlOiBgcmVzb3VyY2VQcmVzZXRgIChhIEJpdG5hbWkg" + - "ZmVhdHVyZSkgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgTlZDRiBjYXNzYW5kcmEgd3JhcHBlciBj" + - "aGFydC4gVXNlIGV4cGxpY2l0IGByZXNvdXJjZXNgIGluc3RlYWQuCgotLS0KCiMjIEV4YW1wbGUg" + - "MjogRGVwbG95IGZyb20gTkdDIFByaXZhdGUgUmVnaXN0cnkgd2l0aCBQdWxsIFNlY3JldHMKCkRl" + - "cGxveSB0aGUgTlZDRiBzdGFjayBwdWxsaW5nIGltYWdlcyBkaXJlY3RseSBmcm9tIE5HQyAoYG52" + - "Y3IuaW9gKSBpbnN0ZWFkIG9mIGEgbWlycm9yZWQgcmVnaXN0cnksIHVzaW5nIGltYWdlIHB1bGwg" + - "c2VjcmV0cy4KCiMjIyBTdGVwIDE6IENvbmZpZ3VyZSBlbnZpcm9ubWVudCBmb3IgTkdDCgpgYGB5" + - "YW1sCiMgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ2xvYmFsOgogIGhlbG06CiAgICBzb3VyY2Vz" + - "OgogICAgICByZWdpc3RyeTogbnZjci5pbwogICAgICByZXBvc2l0b3J5OiBudmlkaWEvbnZjZgog" + - "IGltYWdlOgogICAgcmVnaXN0cnk6IG52Y3IuaW8KICAgIHJlcG9zaXRvcnk6IG52aWRpYS9udmNm" + - "CmBgYAoKIyMjIFN0ZXAgMjogQXV0aGVudGljYXRlIGxvY2FsbHkgKGZvciBoZWxtZmlsZSBjaGFy" + - "dCBwdWxscykKCmBgYGJhc2gKZG9ja2VyIGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRva2VuJyAt" + - "cCAiJE5HQ19BUElfS0VZIgpoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8gLXUgJyRvYXV0aHRv" + - "a2VuJyAtcCAiJE5HQ19BUElfS0VZIgpgYGAKCiMjIyBTdGVwIDM6IENyZWF0ZSBuYW1lc3BhY2Vz" + - "IGFuZCBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2Mt" + - "YXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + - "aS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0t" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwK" + - "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0" + - "ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1h" + - "bmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3Jl" + + "ZyBrZXkocykgZm91bmRgIHwgU3RhbGUgc2Vzc2lvbi5qc29uIGZyb20gYSBkaWZmZXJlbnQgY29u" + + "dHJvbCBwbGFuZSB8IGBybSB+Ly5udmNmLWNsaS5zdGF0ZWAgdGhlbiBgbnZjZi1jbGkgaW5pdGAg" + + "YWdhaW4gfAp8IGA0MDMgbWlzc2luZyByZXF1ZXN0ZWQgYXV0aG9yaXRpZXNgIChmdW5jdGlvbiBp" + + "bnZva2UpIHwgQWRtaW4gdG9rZW4gZG9lc24ndCBoYXZlIGBpbnZva2VfZnVuY3Rpb25gIHNjb3Bl" + + "IHwgYG52Y2YtY2xpIGFwaS1rZXkgZ2VuZXJhdGUgLS1kZXNjcmlwdGlvbj3igKZgIHRoZW4gcmUt" + + "cnVuIGludm9rZSB8CgojIyBJbnN0YWxsIC8gYHVwYAoKfCBTeW1wdG9tIHwgQ2F1c2UgfCBSZW1l" + + "ZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBIZWxtIGB0aW1lZCBvdXQgd2FpdGluZyBmb3IgY2Fz" + + "c2FuZHJhYCB8IENhc3NhbmRyYSBTdGF0ZWZ1bFNldCBQVkMgc3R1Y2sgYFBlbmRpbmdgIHwgQ29u" + + "ZmlybSBkZWZhdWx0IFN0b3JhZ2VDbGFzczsgY2hlY2sgYGt1YmVjdGwgZ2V0IHB2LHB2YyAtbiBj" + + "YXNzYW5kcmEtc3lzdGVtYCB8CnwgYEludmFsaWQgR1BVICdOQ1AuR1BVLkgxMDAnIHNwZWNpZmll" + + "ZGAgKGZ1bmN0aW9uIGRlcGxveSkgfCBXcm9uZyBmaWVsZCDigJQgYGdwdWAgaXMgdGhlIGZhbWls" + + "eSwgbm90IHRoZSBTS1UgfCBVc2UgYCJncHUiOiAiSDEwMCJgLCBgImluc3RhbmNlVHlwZSI6ICJO" + + "Q1AuR1BVLkgxMDBfMXgiYCB8CnwgYHJlZ2lvbiBtdXN0IGJlIHByb3ZpZGVkYCAoY2x1c3RlciBy" + + "ZWdpc3RlciAvIGluc3RhbGwgLS1jb21wdXRlLXBsYW5lKSB8IGAtLXJlZ2lvbmAgZW1wdHkgKyBg" + + "Q0xVU1RFUl9SRUdJT05gIGVudiBlbXB0eSB8IFBhc3MgYC0tcmVnaW9uPXVzLXdlc3QtMWAgKG9y" + + "IGFueSBub24tZW1wdHkgdmFsdWUpIHwKfCBgcmVxdWlyZWRFbnYgIk5DQV9JRCIgaXMgbm90IHNl" + + "dGAgKGhlbG1maWxlIGVycm9yIGR1cmluZyBjb21wdXRlLXBsYW5lIGFwcGx5KSB8IE9sZGVyIG52" + + "Y2YtY2xpIGJlZm9yZSBjb21taXQgYDZhYTU3MDRgOyBFeHRyYUVudiBub3QgcHJvcGFnYXRpbmcg" + + "TkNBX0lEIHwgVXBncmFkZSBgbnZjZi1jbGlgIHRvIGEgcmVsZWFzZSBhZnRlciBgNmFhNTcwNGAg" + + "fAp8IGBudmNhLW9wZXJhdG9yOiBJbWFnZVB1bGxCYWNrT2ZmYCBmb3IgYG52Y2Etb3BlcmF0b3I6" + + "cHNhdGAgfCBJbWFnZSBub3QgaW4gY2x1c3RlciByZWdpc3RyeTsgbXVsdGktY2x1c3RlciBidWls" + + "ZCBpcyBsb2NhbCB8IGBrM2QgaW1hZ2UgaW1wb3J0IG52Y3IuaW8vLi4uL252Y2Etb3BlcmF0b3I6" + + "cHNhdCAtYyA8Y2x1c3Rlcj5gIHwKCiMjIENvbXB1dGUtcGxhbmUgcnVudGltZQoKfCBTeW1wdG9t" + + "IHwgQ2F1c2UgfCBSZW1lZGlhdGlvbiB8CnwtLS18LS0tfC0tLXwKfCBOVkNBIGFnZW50IENyYXNo" + + "TG9vcEJhY2tPZmYgd2l0aCBgSFRUUCA0MDFgIG9uIGAvdjEvbnZjYS9jbHVzdGVycy8uLi4vcmVn" + + "aXN0ZXJgIHwgU3RhbGUgYG91dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIGZyb20g" + + "cHJpb3IgcmVnaXN0ZXI7IGNsdXN0ZXIgSUQgZG9lc24ndCBtYXRjaCBJQ01TIHwgRGVsZXRlIHRo" + + "ZSBzdGFsZSBmaWxlOyByZS1ydW4gYG52Y2YtY2xpIHNlbGYtaG9zdGVkIHVwYCAoaWRlbXBvdGVu" + + "dCByZWdpc3RlciB3cml0ZXMgYSBmcmVzaCBmaWxlKSB8CnwgYE5vIGNsdXN0ZXIgZm91bmQgd2l0" + + "aCB2YWxpZCBKV0tTIGZvciBjbHVzdGVyIElEOiA8aWQ+YCAoSUNNUyBsb2cpIHwgSldLUyBpbiBJ" + + "Q01TIGRvZXNuJ3QgbWF0Y2ggd2hhdCBjb21wdXRlLXBsYW5lIEs4cyBpcyBjdXJyZW50bHkgc2ln" + + "bmluZyB8IGBudmNmLWNsaSBjbHVzdGVyIHJvdGF0ZSAtLWNsdXN0ZXItaWQ9PGlkPmAgfAp8IEZ1" + + "bmN0aW9uIHBvZCBgSW1hZ2VQdWxsQmFja09mZmAgaW4gYG52Y2YtYmFja2VuZGAgfCBJbWFnZS1j" + + "cmVkZW50aWFsLWhlbHBlciBjb25maWcgbWlzc2luZyBvciB3cm9uZyB8IGBrdWJlY3RsIGRlc2Ny" + + "aWJlIHBvZCAtbiBudmNmLWJhY2tlbmQgPHBvZD5gOyBjaGVjayB0aGUgcHVsbCBzZWNyZXQgY29u" + + "ZmlnIHwKfCBGdW5jdGlvbiBkZXBsb3kgc3R1Y2sgYERFUExPWUlOR2AgZm9yID41IG1pbiB8IE5B" + + "VFMgc3RyZWFtIGluaXQgbGFnIChjb2xkLWNsdXN0ZXIpIOKAlCB3YWl0LCBvciBjaGVjayBOQVRT" + + "IGF1dGgtY2FsbG91dCBoZWFsdGggfCBga3ViZWN0bCBsb2dzIC1uIG5hdHMtc3lzdGVtIC1sIGFw" + + "cC5rdWJlcm5ldGVzLmlvL25hbWU9bmF0cy1hdXRoLWNhbGxvdXQtc2VydmljZWAgfAoKIyMgVGFz" + + "a3MKCnwgU3ltcHRvbSB8IENhdXNlIHwgUmVtZWRpYXRpb24gfAp8LS0tfC0tLXwtLS18CnwgYHRh" + + "c2sgY3JlYXRlYCByZXR1cm5zIGBNaXNzaW5nIDxUWVBFPiByZWdpc3RyeSBjcmVkZW50aWFsIGZv" + + "ciBob3N0bmFtZWAsIG9yIGtlZXBzIHVzaW5nIGEgcHJldmlvdXMgY3JlZGVudGlhbCB2YWx1ZSwg" + + "c2hvcnRseSBhZnRlciBgcmVnaXN0cnktY3JlZGVudGlhbCBhZGQvdXBkYXRlL2RlbGV0ZWAgd2hp" + + "bGUgYHJlZ2lzdHJ5LWNyZWRlbnRpYWwgbGlzdGAvYGdldGAgYWxyZWFkeSBzaG93IHRoZSBuZXcg" + + "dmFsdWUgfCBFeHBlY3RlZCBwcm9wYWdhdGlvbiBkZWxheTogTlZDVCBjYWNoZXMgdGhlIGFjY291" + + "bnQncyByZWdpc3RyeSBjcmVkZW50aWFscyB3aXRoIGBudmN0Lm52Y2YuY2FjaGUtdHRsYCAoZGVm" + + "YXVsdCBgUFQ1TWAsIGFib3V0IDUgbWluKSBhbmQgYXBwbGllcyB0aGUgY2hhbmdlIHdoZW4gdGhh" + + "dCBjYWNoZWQgY29weSByZWZyZXNoZXMgfCBXYWl0IHVwIHRvIGFib3V0IDUgbWluIGFuZCByZXRy" + + "eSwgb3IgYGt1YmVjdGwgLW4gbnZjZiByb2xsb3V0IHJlc3RhcnQgZGVwbG95bWVudC9udmN0LWFw" + + "aWAgdG8gYXBwbHkgaW1tZWRpYXRlbHkgfApQSwcIGriz82EhAABhIQAAUEsDBBQACAAAAAAAIQAA" + + "AAAAAAAAAAAAAAAsAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vU0tJTEwu" + + "bWRVVAUAAQCmzhItLS0KbmFtZTogbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uCmRlc2Ny" + + "aXB0aW9uOiA+LQogIEluc3RhbGwgYW5kIG9wZXJhdGUgTlZDRiBzZWxmLWhvc3RlZCBjb250cm9s" + + "LXBsYW5lIGFuZCBzZXBhcmF0ZSBjb21wdXRlLXBsYW5lCiAgc3RhY2tzLiBDb3ZlcnMgSGVsbWZp" + + "bGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBpbnN0YWxsYXRpb24gZmxvd3MsIHRlYXJkb3duLAog" + + "IHZhbHVlcyBvdmVycmlkZXMsIHB1bGwgc2VjcmV0cywgYW5kIHRyb3VibGVzaG9vdGluZy4gVXNl" + + "IGZvcgogIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrLCBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2ss" + + "IHNwbGl0IGNvbXB1dGUtcGxhbmUKICBpbnN0YWxsYXRpb24sIGNvbnRyb2wtcGxhbmUgaW5zdGFs" + + "bGF0aW9uLCBDTEktZ2VuZXJhdGVkIGNvbnRyb2wtcGxhbmUKICBwcm9maWxlcywgSGVsbWZpbGUs" + + "IHNlbGYtbWFuYWdlZCwgb3Igc2VsZi1ob3N0ZWQgZGVwbG95bWVudHMuIERvIE5PVCB1c2UgZm9y" + + "CiAgbG9jYWwgazNkIGVudmlyb25tZW50czsgdXNlIHRoZSBsb2NhbCBrM2QgZGV2ZWxvcG1lbnQg" + + "d29ya2Zsb3cgaW5zdGVhZC4KbGljZW5zZTogQXBhY2hlLTIuMApjb21wYXRpYmlsaXR5OiBSZXF1" + + "aXJlcyBoZWxtZmlsZSA+PSAxLjEuMCA8IDEuMi4wLCBoZWxtID49IDMuMTIsIGhlbG0tZGlmZiBw" + + "bHVnaW4sIGt1YmVjdGwgbWF0Y2hpbmcgY2x1c3RlciB2ZXJzaW9uCmF1dGhvcjogIm52Y2YtY29y" + + "ZS1lbmcgPG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCnZlcnNpb246ICIxLjAu" + + "MCIKdGFnczogW252Y2YsIHNlbGYtbWFuYWdlZCwgaGVsbWZpbGUsIHNlbGYtaG9zdGVkLCBjb250" + + "cm9sLXBsYW5lLCBjb21wdXRlLXBsYW5lLCBjbGktcHJvZmlsZSwgaW5zdGFsbGF0aW9uLCBkZXBs" + + "b3ltZW50LCBwdWxsLXNlY3JldHNdCnRvb2xzOiBbU2hlbGwsIFJlYWQsIEVkaXQsIEdyZXAsIEds" + + "b2JdCm1ldGFkYXRhOgogIGludGVybmFsOiBmYWxzZQogIGF1dGhvcjogIm52Y2YtY29yZS1lbmcg" + + "PG52Y2YtY29yZS1lbmdAZXhjaGFuZ2UubnZpZGlhLmNvbT4iCiAgdmVyc2lvbjogIjEuMCIKICB0" + + "YWdzOiBbbnZjZiwgc2VsZi1tYW5hZ2VkLCBoZWxtZmlsZSwgc2VsZi1ob3N0ZWQsIGNvbnRyb2wt" + + "cGxhbmUsIGNvbXB1dGUtcGxhbmUsIGNsaS1wcm9maWxlLCBpbnN0YWxsYXRpb24sIGRlcGxveW1l" + + "bnQsIHB1bGwtc2VjcmV0c10KICBsYW5ndWFnZXM6IFtiYXNoLCB5YW1sXQogIGZyYW1ld29ya3M6" + + "IFtoZWxtZmlsZSwgaGVsbSwga3ViZWN0bF0KICBkb21haW46IGNsb3VkLWluZnJhc3RydWN0dXJl" + + "Ci0tLQoKIyBOVkNGIFNlbGYtTWFuYWdlZCBTdGFjayBPcGVyYXRpb25zCgpPcGVyYXRpb25hbCBn" + + "dWlkZSBmb3IgbWF0Y2hpbmcgTlZDRiBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBsYW5lIEhl" + + "bG1maWxlIGJ1bmRsZXMuCgojIyBJbnN0cnVjdGlvbnMKClVzZSB0aGlzIHNraWxsIGZvciBpbnN0" + + "YWxsLCB1cGdyYWRlLCBvciB0ZWFyZG93biB3b3JrIGluIG1hdGNoaW5nIGBudmNmLXNlbGYtbWFu" + + "YWdlZC1zdGFja2AgYW5kIGBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXM7IGtlZXAg" + + "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSBoYW5kb2ZmcyBzZXBhcmF0ZS4gRm9yIGBm" + + "dW5jdGlvblR5cGU6ICJMTE0iYCwgcmVhZCBbTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnRdKHJlZmVy" + + "ZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kI2xsbS1mdW5jdGlvbi1lbmFibGVtZW50KS4KCiMj" + + "IFByZXJlcXVpc2l0ZXMKCkFzayBmb3IgdGhlIGV4dHJhY3RlZCBgbnZjZi1zZWxmLW1hbmFnZWQt" + + "c3RhY2tgIHBhdGguIEZvciBzcGxpdCBpbnN0YWxsYXRpb24sCmFsc28gcmVxdWlyZSB0aGUgbWF0" + + "Y2hpbmctdmVyc2lvbiBgbnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBwYXRoLiBWZXJpZnkgYm90" + + "aDoKCmBgYGJhc2gKbHMgPGNvbnRyb2wtcGxhbmUtc3RhY2s+L2hlbG1maWxlLmQvIDxjb250cm9s" + + "LXBsYW5lLXN0YWNrPi9lbnZpcm9ubWVudHMvIDxjb250cm9sLXBsYW5lLXN0YWNrPi9zZWNyZXRz" + + "LyA8Y29udHJvbC1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmxzIDxjb21wdXRlLXBs" + + "YW5lLXN0YWNrPi9oZWxtZmlsZS5kLyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZW52aXJvbm1lbnRz" + + "LyA8Y29tcHV0ZS1wbGFuZS1zdGFjaz4vZ2xvYmFsLnlhbWwuZ290bXBsCmBgYAoKSWYgZWl0aGVy" + + "IGRpcmVjdG9yeSBpcyBtaXNzaW5nLCBkb3dubG9hZCBtYXRjaGluZyBidW5kbGUgdmVyc2lvbnMg" + + "ZnJvbSBOR0M6CgpgYGBiYXNoCm5nYyByZWdpc3RyeSByZXNvdXJjZSBkb3dubG9hZC12ZXJzaW9u" + + "IDxvcmc+L252Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrOjx2ZXJzaW9uPgpuZ2MgcmVnaXN0cnkgcmVz" + + "b3VyY2UgZG93bmxvYWQtdmVyc2lvbiA8b3JnPi9udmNmLWNvbXB1dGUtcGxhbmUtc3RhY2s6PHZl" + + "cnNpb24+CmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBiZWxvdyBhc3N1bWUgdGhlIGNvbnRy" + + "b2wtcGxhbmUgYnVuZGxlIHJvb3QuIFNwbGl0LWZsb3cKY29tbWFuZHMgYW5kIHJvb3Qgc3Vic3Rp" + + "dHV0aW9uIGFyZSBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLgoKIyMgQmVmb3JlIFlvdSBTdGFydAoK" + + "VmVyaWZ5IHRvb2xpbmcgYW5kIGNvbnRleHQgYmVmb3JlIGFueSBvcGVyYXRpb246CgpgYGBiYXNo" + + "CmhlbG1maWxlIC0tdmVyc2lvbiAgICMgTXVzdCBiZSAxLjEueCAoMS4yLjAgcmVtb3ZlZCBzZXF1" + + "ZW50aWFsIG1vZGUpCmhlbG0gdmVyc2lvbiAgICAgICAgICMgTXVzdCBiZSA+PSAzLjEyCmhlbG0g" + + "cGx1Z2luIGxpc3QgICAgICMgTXVzdCBpbmNsdWRlIGhlbG0tZGlmZiA+PSAzLjExCmt1YmVjdGwg" + + "dmVyc2lvbiAgICAgICMgQ2xpZW50IG11c3QgYmUgd2l0aGluIDEgbWlub3IgdmVyc2lvbiBvZiBj" + + "bHVzdGVyCmBgYAoKQ29udHJvbC1wbGFuZSBjb21tYW5kcyBydW4gZnJvbSB0aGUgZXh0cmFjdGVk" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIHJvb3Q6CgpgYGBiYXNoCmNkIHBhdGgvdG8vbnZj" + + "Zi1zZWxmLW1hbmFnZWQtc3RhY2sKbHMgaGVsbWZpbGUuZC8gZW52aXJvbm1lbnRzLyBzZWNyZXRz" + + "LyBnbG9iYWwueWFtbC5nb3RtcGwKYGBgCgpJZGVudGlmeSB0aGUgZW52aXJvbm1lbnQgZnJvbSBg" + + "ZW52aXJvbm1lbnRzLzxuYW1lPi55YW1sYCBhbmQKYHNlY3JldHMvPG5hbWU+LXNlY3JldHMueWFt" + + "bGA7IGZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXSho" + + "dHRwczovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFt" + + "cGxlKS4KCiMjIEhvdyBWYWx1ZXMgRmxvdwoKVW5kZXJzdGFuZGluZyB2YWx1ZSBwcmVjZWRlbmNl" + + "IHByZXZlbnRzIHRoZSBtb3N0IGNvbW1vbiBjb25maWd1cmF0aW9uIG1pc3Rha2VzLgoKYGBgdGV4" + + "dAplbnZpcm9ubWVudHMvYmFzZS55YW1sICAgICAgICAgIChkZWZhdWx0cykKICAgIC0+IG1lcmdl" + + "ZCB3aXRoCmVudmlyb25tZW50cy88ZW52Pi55YW1sICAgICAgICAgKHlvdXIgb3ZlcnJpZGVzKQog" + + "ICAgLT4gY29uc3VtZWQgYnkKZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAoR28gdGVt" + + "cGxhdGUsIGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcykKICAgIC0+IGNvbnN1bWVkIGJ5CnNl" + + "Y3JldHMvPGVudj4tc2VjcmV0cy55YW1sICAgICAgKHNlbnNpdGl2ZSB2YWx1ZXMpCiAgICAtPiBv" + + "dmVycmlkZGVuIGJ5CnJlbGVhc2UgaW5saW5lIHZhbHVlczogYmxvY2tzICAgKGhpZ2hlc3QgcHJl" + + "Y2VkZW5jZSkKYGBgCgpDcml0aWNhbDogYGdsb2JhbC55YW1sLmdvdG1wbGAgb25seSBwYXNzZXMg" + + "dGhyb3VnaCBzcGVjaWZpYyBrZXlzIHRvIGVhY2ggY2hhcnQgKGltYWdlIHJlZ2lzdHJpZXMsIG5v" + + "ZGUgc2VsZWN0b3JzLCBzdG9yYWdlLCByZXBsaWNhIGNvdW50cykuIFNldHRpbmcgYW4gYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlIHdpbGwgYmUgc2lsZW50bHkg" + + "aWdub3JlZCBpZiBgZ2xvYmFsLnlhbWwuZ290bXBsYCBkb2VzIG5vdCBwcm9wYWdhdGUgaXQuCgpU" + + "byBvdmVycmlkZSBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzLCB1c2UgYSBoZWxtZmlsZSByZWxlYXNl" + + "IGB2YWx1ZXM6YCBibG9jay4gU2VlIFtPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzXSgjb3Zl" + + "cnJpZGluZy1oZWxtLWNoYXJ0LXZhbHVlcykuCgojIyBDbGVhbiBJbnN0YWxsYXRpb24KCiMjIyAx" + + "LiBDcmVhdGUgbmFtZXNwYWNlcyBhbmQgaW1hZ2UgcHVsbCBzZWNyZXRzIChpZiB1c2luZyBhIHBy" + + "aXZhdGUgcmVnaXN0cnkpCgpgYGBiYXNoCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBk" + + "bwogIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSAiJG5zIiAtLWRyeS1ydW49Y2xpZW50IC1vIHlh" + + "bWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KZG9uZQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHBy" + + "aXZhdGUgcmVnaXN0cnkgKGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLWtleT4iCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBp" + + "LWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgY3Jl" + "YXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2" + "ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0t" + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwK" + - "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9uZQpgYGAKCiMjIyBTdGVwIDQ6IEFkZCBpbWFn" + - "ZVB1bGxTZWNyZXRzIHRvIGhlbG1maWxlIHJlbGVhc2VzCgpBZGQgdGhlIGNoYXJ0LXNwZWNpZmlj" + - "IGBpbWFnZVB1bGxTZWNyZXRzYCBrZXkgdG8gZWFjaCByZWxlYXNlLiBFeGFtcGxlIGZvciBjYXNz" + - "YW5kcmEgaW4gYGhlbG1maWxlLmQvMDEtZGVwZW5kZW5jaWVzLnlhbWwuZ290bXBsYDoKCmBgYHlh" + - "bWwKLSBuYW1lOiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2Fu" + - "ZHJhLmVuYWJsZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVu" + - "Y3kKICB2YWx1ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0" + - "ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAog" + - "ICAgLSBjYXNzYW5kcmE6CiAgICAgICAgZ2xvYmFsOgogICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0" + - "czoKICAgICAgICAgICAgLSBudmNyLWNyZWRzCmBgYAoKU2VlIFtyZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZF0ocmVmZXJlbmNlcy9wdWxsLXNlY3JldHMubWQpIGZvciB0aGUga2V5IGZvciBldmVy" + - "eSBjaGFydC4KClRoZXNlIGFyZSBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMuIEZvciBhIHNlcGFy" + - "YXRlIGNvbXB1dGUgY2x1c3RlciwgY3JlYXRlIHRoZQpzZWNyZXQgb25seSBpbiBgbnZjYS1vcGVy" + - "YXRvcmA7IHRoZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvCmBudmNhLXN5c3RlbWAu" + - "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKHJlZmVyZW5jZXMvY29tcHV0" + - "ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQjcHVsbC1zZWNyZXRzKS4KCiMjIyBTdGVwIDU6IERlcGxv" + - "eQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1rdWJlLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gc3luYwpgYGAKCiMjIyBTdGVwIDY6IFBhdGNoIFNlcnZpY2VB" + - "Y2NvdW50cyBmb3IgY2hhcnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQKCkFmdGVyIFBoYXNlIDEg" + - "KGRlcGVuZGVuY2llcykgY29tcGxldGVzLCBPcGVuQmFvIHBvZHMgd2lsbCBiZSBpbiBgSW1hZ2VQ" + - "dWxsQmFja09mZmAuIFBhdGNoIGFuZCByZXN0YXJ0OgoKYGBgYmFzaApmb3IgbnMgaW4gdmF1bHQt" + - "c3lzdGVtIG52Y2YgZXNzOyBkbwogIGZvciBzYSBpbiAkKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBzYSAtbiAiJG5zIiBcCiAgICAtLW5vLWhlYWRlcnMgLW8g" + - "Y3VzdG9tLWNvbHVtbnM9IjptZXRhZGF0YS5uYW1lIik7IGRvCiAgICBrdWJlY3RsIC0tY29udGV4" + - "dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBwYXRjaCBzZXJ2aWNlYWNjb3VudCAtbiAiJG5zIiAi" + - "JHNhIiBcCiAgICAgIC1wICd7ImltYWdlUHVsbFNlY3JldHMiOiBbeyJuYW1lIjogIm52Y3ItY3Jl" + - "ZHMifV19JwogIGRvbmUKZG9uZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBkZWxldGUgcG9kcyAtbiB2YXVsdC1zeXN0ZW0gLS1hbGwKYGBgCgpWZXJpZnk6CgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBldmVudHMg" + - "LW4gdmF1bHQtc3lzdGVtIFwKICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkg" + - "cHVsbAojIFNob3VsZCBzaG93ICJTdWNjZXNzZnVsbHkgcHVsbGVkIGltYWdlIiBmcm9tIG52Y3Iu" + - "aW8KYGBgCgotLS0KCiMjIEV4YW1wbGUgMzogRnVsbCBUZWFyZG93biBhbmQgUmVpbnN0YWxsCgpX" + - "aGVuIGEgZGVwbG95bWVudCBpcyBicm9rZW4gYW5kIHlvdSBuZWVkIGEgY2xlYW4gc2xhdGUuCgoj" + - "IyMgU3RlcCAxOiBEZXN0cm95IHRoZSBjb21wdXRlLXBsYW5lIHN0YWNrCgpgYGBiYXNoCm1ha2Ug" + - "LUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9O" + - "QU1FPTxjbHVzdGVyLW5hbWU+IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdf" + - "RklMRT08Y29tcHV0ZS1wbGFuZS1rdWJlY29uZmlnPgpgYGAKCklmIGNvbXB1dGUgY2xlYW51cCBp" + - "cyBzdHVjayBvbiBmaW5hbGl6ZXJzLCB1c2UgdGhlIGNvbXB1dGUtY29udGV4dCBwcm9jZWR1cmUg" + - "aW4KW2RlYnVnZ2luZy5tZF0ocmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQjZmFpbHVyZS1udmNhLWNs" + - "ZWFudXAtc3R1Y2stZmluYWxpemVycykuCgojIyMgU3RlcCAyOiBEZXJlZ2lzdGVyIHRoZSBjb21w" + - "dXRlIGNsdXN0ZXIKClJlYWQgYGNsdXN0ZXJJRGAgYW5kIGBuY2FJRGAgZnJvbQpgZGVwbG95L3N0" + - "YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + - "dGVyLXZhbHVlcy55YW1sYC4KU2hvdyB0aGUgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + - "IGRlbGV0aW5nIHRoZSBJQ01TIHJvdzoKCmBgYGJhc2gKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29u" + - "ZmlnPiBjbHVzdGVyIGRlbGV0ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVn" + - "aXN0cmF0aW9uLXZhbHVlcz4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNz" + - "aW5nCmBgYAoKUmVwZWF0IHN0ZXBzIDEgYW5kIDIgZm9yIGV2ZXJ5IGNvbXB1dGUgY2x1c3Rlci4K" + - "CiMjIyBTdGVwIDM6IERlc3Ryb3kgdGhlIGNvbnRyb2wtcGxhbmUgc3RhY2sKClByZXNlcnZlIHRo" + - "ZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFtZXNwYWNlIHByZXNlcnZh" + - "dGlvbiBkb2VzCm5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBCZWZvcmUgcnVubmluZyBk" + - "ZXN0cm95LCBpZGVudGlmeSB3aGV0aGVyCmNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4gRm9yIGFu" + - "IGV4dGVybmFsIGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUKYGNlcnRNYW5hZ2VyLmVu" + - "YWJsZWQ6IGZhbHNlYCBhbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkCnN0" + - "YWNrLW1hbmFnZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDog" + - "dHJ1ZWAsIHZlcmlmeQptYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kIGFi" + - "b3J0IG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZApldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFj" + - "ZSByZW1vdmFsIGFmdGVyIHZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQKZ2V0dGlu" + - "ZyBleHBsaWNpdCBjb25maXJtYXRpb247IG90aGVyd2lzZSBkbyBub3QgZGVsZXRlIGl0LgoKYGBg" + - "YmFzaApLVUJFQ09ORklHPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+IFwKbWFrZSAtQyBkZXBs" + - "b3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBkZXN0cm95IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAog" + - "IEtVQkVDT05GSUdfRklMRT08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPgpgYGAKClBhc3MgYm90" + - "aCBrdWJlY29uZmlnIGZvcm1zIGJlY2F1c2UgY29udHJvbC1wbGFuZSBuYW1lc3BhY2UgY2xlYW51" + - "cCB1c2VzCmFtYmllbnQgYGt1YmVjdGxgLgoKIyMjIFN0ZXAgNDogVmVyaWZ5IGNsZWFuCgpgYGBi" + - "YXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBucyB8IFwK" + - "ICBncmVwIC1FICcobnZjYXxudmNmLWJhY2tlbmR8Z3JvdmV8ZHluYW1vKScKa3ViZWN0bCAtLWNv" + - "bnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IG5zIHwgXAogIGdyZXAgLUUgJyhjYXNz" + - "YW5kcmF8bmF0c3x2YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIEJvdGggY29tbWFuZHMg" + - "c2hvdWxkIHJldHVybiBlbXB0eS4KYGBgCgojIyMgU3RlcCA1OiBSZWluc3RhbGwgaW4gc3BsaXQg" + - "b3JkZXIKCkZvbGxvdyBbQ2xlYW4gSW5zdGFsbGF0aW9uXShTS0lMTC5tZCNjbGVhbi1pbnN0YWxs" + - "YXRpb24pLCB0aGVuIHJldHVybiB0byB0aGUKc2FtZSBoYW5kb2ZmIGluIFtTcGxpdCBDb21wdXRl" + - "LVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuCgotLS0KCiMjIEV4YW1wbGUgNDogUmVjb3ZlciBmcm9tIGEgR2F0ZXdheSBFbmRwb2lu" + - "dCBDaGFuZ2UKClRoZSBzZXBhcmF0ZWx5IHByb3Zpc2lvbmVkIEdhdGV3YXkgb3IgaXRzIGxvYWQg" + - "YmFsYW5jZXIgd2FzIHJlY3JlYXRlZCBhbmQgZ290IGEgbmV3IGVuZHBvaW50LgoKIyMjIFN0ZXAg" + - "MTogR2V0IHRoZSBuZXcgZW5kcG9pbnQKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAt" + - "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0" + - "ZXdheSAtbiBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2Vz" + - "WzBdLnZhbHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmBgYAoKIyMjIFN0ZXAgMjogVXBk" + - "YXRlIEROUyBhbmQgZGlyZWN0IGFkZHJlc3MgZmllbGRzCgpLZWVwIGBnbG9iYWwuZG9tYWluYCwg" + - "cm91dGUgaG9zdG5hbWVzLCBhbmQgQ0xJIEhvc3QgZmllbGRzIHVuY2hhbmdlZC4gUG9pbnQgdGhl" + - "CkROUyByZWNvcmRzIGZvciByZW5kZXJlZCByb3V0ZSBob3N0bmFtZXMsIHN1Y2ggYXMgYGFwaS48" + - "ZG9tYWluPmAgYW5kCmAqLmludm9jYXRpb24uPGRvbWFpbj5gLCB0byBgR0FURVdBWV9BRERSYC4g" + - "Rm9yIGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdpdGhvdXQKRE5TLCBrZWVwIGl0cyByZXNlcnZl" + - "ZCByb3V0ZSBzdWZmaXggYW5kIGNvbm5lY3QgdG8gYEdBVEVXQVlfQUREUmAgd2l0aCB0aGUKbWF0" + - "Y2hpbmcgYEhvc3RgIGhlYWRlci4KCkZvciBhIHNwbGl0IGRlcGxveW1lbnQgY29uZmlndXJlZCB3" + - "aXRoIGRpcmVjdCBHYXRld2F5IGFkZHJlc3NlcywgcmVwbGFjZSBvbmx5CnRoZSBhZGRyZXNzLWJl" + - "YXJpbmcgdmFsdWVzOiBjb250cm9sLXBsYW5lIGBudmNmTmF0c1NlcnZpY2VVUkxgLCBjb21wdXRl" + - "LXBsYW5lCklDTVMsIFJlVmFsLCBhbmQgTkFUUyBVUkxzLCBhbmQgQ0xJIFVSTCBmaWVsZHMuIEtl" + - "ZXAgdGhlaXIgZG9tYWluIGFuZCBIb3N0Cm92ZXJyaWRlcyB1bmNoYW5nZWQuIFJlZnJlc2ggcmVn" + - "aXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgc2FtZQpoYW5kb2ZmIHVzZWQg" + - "b3JpZ2luYWxseS4gU2VlCltTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJl" + - "bmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkKZm9yIHRoZSBmaWVsZHMgYW5kIGNv" + - "bXBsZXRlIGNvbW1hbmRzLgoKIyMjIFN0ZXAgMzogVmVyaWZ5IGJvdGggY29udGV4dHMKCmBgYGJh" + - "c2gKZGlnICtzaG9ydCAiYXBpLjxkb21haW4+IgpjdXJsIC1IICJIb3N0OiBhcGkuPGRvbWFpbj4i" + - "ICJodHRwOi8vJEdBVEVXQVlfQUREUi9oZWFsdGgiCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52b3ktZ2F0" + - "ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdl" + - "dCBodHRwcm91dGVzIC1BCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+" + - "IGdldCB0Y3Byb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4" + - "dD4gcm9sbG91dCBzdGF0dXMgXAogIGRlcGxveW1lbnQvbnZjYS1vcGVyYXRvciAtbiBudmNhLW9w" + - "ZXJhdG9yIC0tdGltZW91dD0xMG0Ka3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gd2FpdCBcCiAgbnZjZmJhY2tlbmQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiAt" + - "biBudmNhLW9wZXJhdG9yIFwKICAtLWZvcj1qc29ucGF0aD0ney5zdGF0dXMuYWdlbnRTdGF0dXN9" + - "Jz1oZWFsdGh5IC0tdGltZW91dD0xMG0KYGBgCgotLS0KCiMjIEV4YW1wbGUgNTogRGVwbG95IE9u" + - "bHkgRGVwZW5kZW5jaWVzCgpVc2VmdWwgZm9yIHRlc3Rpbmcgb3Igd2hlbiBpdGVyYXRpbmcgb24g" + - "c2VydmljZSBjb25maWd1cmF0aW9uLgoKYGBgYmFzaAojIERlcGxveSBqdXN0IE5BVFMsIENhc3Nh" + - "bmRyYSwgT3BlbkJhbwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + - "YXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jCgojIENoZWNrIHN0YXR1cwprdWJlY3RsIGdldCBw" + - "b2RzIC1uIG5hdHMtc3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gY2Fzc2FuZHJhLXN5c3RlbQpr" + - "dWJlY3RsIGdldCBwb2RzIC1uIHZhdWx0LXN5c3RlbQoKIyBEZXBsb3kganVzdCBvbmUgc3BlY2lm" + - "aWMgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNh" + - "c3NhbmRyYSBzeW5jCmBgYAoKIyMjIFNlbGVjdG9yIHJlZmVyZW5jZQoKfCBTZWxlY3RvciB8IFJl" + - "bGVhc2VzIHwKfC0tLS0tLS0tLS18LS0tLS0tLS0tLXwKfCBgcmVsZWFzZS1ncm91cD1kZXBlbmRl" + - "bmNpZXNgIHwgbmF0cywgY2Fzc2FuZHJhLCBvcGVuYmFvLXNlcnZlciB8CnwgYHJlbGVhc2UtZ3Jv" + - "dXA9c2VydmljZXNgIHwgYXBpLWtleXMsIHNpcywgYXBpLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGdy" + - "cGMtcHJveHksIGVzcy1hcGksIG5vdGFyeS1zZXJ2aWNlLCByZXZhbCwgb3B0aW9uYWwgbGxtLXJl" + - "cXVlc3Qtcm91dGVyIGFuZCBsbG0tYXBpLWdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAs" + - "IG9wdGlvbmFsIHZhbml0eS1nYXRld2F5IG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNs" + - "dWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLnZhbml0eUdhdGV3YXkuZW5hYmxlZD10cnVl" + - "YCwgb3B0aW9uYWwgbnZjZi11aSBvbmx5IGluIHN0YWNrIHBhY2thZ2VzIHRoYXQgaW5jbHVkZSB0" + - "aGUgYWRkb24gYW5kIGhhdmUgYGFkZG9ucy5udmNmVWkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9" + - "bGxtLXJlcXVlc3Qtcm91dGVyYCB8IERlcGxveSBqdXN0IHRoZSBMTE0gcmVxdWVzdCByb3V0ZXIg" + - "d2hlbiBgbGxtLmVuYWJsZWQ9dHJ1ZWAgfAp8IGBuYW1lPWxsbS1hcGktZ2F0ZXdheWAgfCBEZXBs" + - "b3kganVzdCB0aGUgTExNIEFQSSBnYXRld2F5IHdoZW4gYGxsbS5lbmFibGVkPXRydWVgIHwKfCBg" + - "bmFtZT12YW5pdHktZ2F0ZXdheWAgfCBEZXBsb3kganVzdCBWYW5pdHkgR2F0ZXdheSBvbmx5IHdo" + - "ZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFuZCBgYWRkb25zLnZh" + - "bml0eUdhdGV3YXkuZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bnZjZi11aWAgfCBEZXBsb3kgTlZD" + - "RiBVSSBvbmx5IHdoZW4gdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhhdCByZWxlYXNlIGFu" + - "ZCBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwKfCBgcmVsZWFzZS1ncm91cD1pbmdyZXNz" + - "YCB8IGluZ3Jlc3MgKGdhdGV3YXkgcm91dGVzKSB8CnwgYG5hbWU9PHJlbGVhc2U+YCB8IEFueSBp" + - "bmRpdmlkdWFsIHJlbGVhc2UgYnkgbmFtZSB8CgpOb3RlOiBgYWRtaW4taXNzdWVyLXByb3h5YCBk" + - "b2VzIG5vdCBoYXZlIGEgcmVsZWFzZS1ncm91cCBsYWJlbC4gVGFyZ2V0IGl0IHdpdGggYC0tc2Vs" + - "ZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIAlJOQH8oAAB/KAAAUEsDBBQACAAA" + - "AAAAIQAAAAAAAAAAAAAAAABMAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24v" + - "cmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZFVUBQABAKbOEiMgU3BsaXQg" + - "Q29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb24KClRoZSBjb250cm9sIHBsYW5lIGFuZCBjb21wdXRl" + - "IHBsYW5lIGFyZSBzZXBhcmF0ZSBzdGFja3MuIEluc3RhbGwgdGhlIGNvbnRyb2wKcGxhbmUgZmly" + - "c3QsIHRoZW4gcmVnaXN0ZXIgYW5kIGluc3RhbGwgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIENob29z" + - "ZSBvbmUgaGFuZG9mZgpiZWxvdyBhbmQgdXNlIGl0IGZvciB0aGUgZnVsbCBsaWZlY3ljbGUuIERv" + - "IG5vdCBjb21iaW5lIGEgQ0xJLWdlbmVyYXRlZCBwcm9maWxlCndpdGggdGhlIEhlbG1maWxlIHZh" + - "bHVlcyBmbG93LgoKIyMgQ2hvb3NlIGEgSGFuZG9mZgoKfCBGbG93IHwgU291cmNlIG9mIGNvbnRy" + - "b2wtcGxhbmUgZW5kcG9pbnRzIHwgUmVnaXN0cmF0aW9uIGFydGlmYWN0IHwKfC0tLS0tLXwtLS0t" + - "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK" + - "fCBIZWxtZmlsZSB2YWx1ZXMgfCBTZXBhcmF0ZSBjb250cm9sLXBsYW5lIGFuZCBjb21wdXRlLXBs" + - "YW5lIGVudmlyb25tZW50IGZpbGVzIHwgYGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5l" + - "L3JlZ2lzdHJhdGlvbi88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgIHwKfCBDTEkgcHJv" + - "ZmlsZSB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250" + - "cm9sLXBsYW5lLXByb2ZpbGUueWFtbGAgfCBDTEktZ2VuZXJhdGVkIGBkZXBsb3kvc3RhY2tzL252" + - "Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNsdXN0ZXI+LXJlZ2lzdGVyLXZhbHVlcy55YW1sYCB8CgpU" + - "aGUgQ0xJIHByb2ZpbGUgaXMgbWFuZGF0b3J5IGZvciB0aGUgQ0xJIGZsb3cgYW5kIG11c3Qgbm90" + - "IGJlIGhhbmQtYXV0aG9yZWQuClRoZSBIZWxtZmlsZSBmbG93IGRvZXMgbm90IGNvbnN1bWUgYSBj" + - "b250cm9sLXBsYW5lIHByb2ZpbGUuCgpDb21tYW5kcyBiZWxvdyB1c2UgbW9ub3JlcG8gcGF0aHMg" + - "ZnJvbSB0aGUgcmVwb3NpdG9yeSByb290LiBPcGVyYXRvcnMgdXNpbmcKZXh0cmFjdGVkIHBhY2th" + - "Z2VzIG5lZWQgbWF0Y2hpbmctdmVyc2lvbiBgbnZjZi1zZWxmLW1hbmFnZWQtc3RhY2tgIGFuZApg" + - "bnZjZi1jb21wdXRlLXBsYW5lLXN0YWNrYCBidW5kbGVzLiBTdWJzdGl0dXRlIHRob3NlIGJ1bmRs" + - "ZSByb290cyBmb3IKYGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkYCBhbmQgYGRlcGxveS9zdGFj" + - "a3MvbnZjZi1jb21wdXRlLXBsYW5lYC4KCiMjIEhlbG1maWxlIFZhbHVlcyBGbG93CgpDcmVhdGUg" + - "Ym90aCBlbnZpcm9ubWVudCBmaWxlcyBiZWZvcmUgaW5zdGFsbGF0aW9uOgoKLSBgZGVwbG95L3N0" + - "YWNrcy9zZWxmLW1hbmFnZWQvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIGZvciBjb250cm9sLXBs" + - "YW5lCiAgcmVnaXN0cnksIGRvbWFpbiwgR2F0ZXdheSwgcm91dGVzLCBhbmQgc2VydmljZSBzZXR0" + - "aW5ncy4KLSBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxl" + - "bnY+LnlhbWxgIGZvciBjb21wdXRlLXBsYW5lCiAgcmVnaXN0cnksIHB1bGwgc2VjcmV0cywgYW5k" + - "IGNvbXB1dGUtcmVhY2hhYmxlIElDTVMsIFJlVmFsLCBhbmQgTkFUUyB2YWx1ZXMuCgpGb3IgRUtT" + - "LCB1c2UgdGhlIGNhbm9uaWNhbApbQ1NQIEVuZC10by1FbmQgRXhhbXBsZV0oaHR0cHM6Ly9kb2Nz" + - "Lm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1lbmQtZXhhbXBsZSkuClRoZSBj" + - "b250cm9sLXBsYW5lIGVudmlyb25tZW50IGtlZXBzIHRoZSBFbnZveSBHYXRld2F5IGNvbnRyb2xs" + - "ZXIgaW4KYGVudm95LWdhdGV3YXktc3lzdGVtYCwgYXR0YWNoZXMgcm91dGVzIHRvIGBHYXRld2F5" + - "L252Y2YtZ2F0ZXdheWAgaW4KYGVudm95LWdhdGV3YXlgLCBhbmQgZW5hYmxlcyB0aGUgTkFUUyBy" + - "b3V0ZS4gVGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgdXNlcwp0aGUgZXh0ZXJuYWwgYWRk" + - "cmVzcyBwbHVzIHRoZSBzZXJ2aWNlIGhvc3Qgb3ZlcnJpZGVzLiBIZXJlLApgPGdhdGV3YXktYWRk" + - "cmVzcz5gIGlzIHRoZSBOTEIgYWRkcmVzcyBhbmQgYDxnYXRld2F5LWRvbWFpbj5gIGlzIHRoZSBE" + - "TlMgYmFzZQp3aG9zZSBzZXJ2aWNlIHN1YmRvbWFpbnMgcmVzb2x2ZSB0byB0aGF0IE5MQjoKCmBg" + - "YHlhbWwKIyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFt" + - "bApnbG9iYWw6CiAgZG9tYWluOiAiPGdhdGV3YXktZG9tYWluPiIKICB3b3JrZXJFbmRwb2ludHM6" + - "CiAgICBudmNmU2VydmljZVVSTDogImh0dHA6Ly9hcGkuPGdhdGV3YXktZG9tYWluPiIKICAgIG52" + - "Y2ZHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iCiAg" + - "ICBudmNmTmF0c1NlcnZpY2VVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46NDIyMiIKICAg" + - "IG52Y3RTZXJ2aWNlVVJMOiAiaHR0cDovL3Rhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAgICBudmN0" + - "R3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vd29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iCiAg" + - "ICBpbnZvY2F0aW9uU2VydmljZVVSTDogImh0dHA6Ly9pbnZvY2F0aW9uLjxnYXRld2F5LWRvbWFp" + - "bj4iCgpncnBjcHJveHk6CiAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS5udmNmLnN2" + - "Yy5jbHVzdGVyLmxvY2FsOjkwOTAiCgppbmdyZXNzOgogIGdhdGV3YXlBcGk6CiAgICBjb250cm9s" + - "bGVyTmFtZXNwYWNlOiBlbnZveS1nYXRld2F5LXN5c3RlbQogICAgZ2F0ZXdheXM6CiAgICAgIHNo" + - "YXJlZDoge25hbWU6IG52Y2YtZ2F0ZXdheSwgbmFtZXNwYWNlOiBlbnZveS1nYXRld2F5fQogICAg" + - "ICBncnBjOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3YXl9CiAg" + - "ICAgIG5hdHM6CiAgICAgICAgbmFtZTogbnZjZi1nYXRld2F5CiAgICAgICAgbmFtZXNwYWNlOiBl" + - "bnZveS1nYXRld2F5CiAgICAgICAgbGlzdGVuZXJOYW1lOiBuYXRzCiAgICByb3V0ZXM6CiAgICAg" + - "IG52Y2ZBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + - "IGhvc3RuYW1lczogWyJ3b3JrZXItYXBpLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBudmN0QXBp" + - "OgogICAgICAgIGdycGM6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBob3N0bmFt" + - "ZXM6IFsid29ya2VyLXRhc2tzLjxnYXRld2F5LWRvbWFpbj4iXQogICAgICBuYXRzOgogICAgICAg" + - "IGVuYWJsZWQ6IHRydWUKCm9wZW5iYW86CiAgbWlncmF0aW9uczoKICAgIGlzc3VlckRpc2NvdmVy" + - "eToKICAgICAgZW5hYmxlZDogdHJ1ZQpgYGAKCmBgYHlhbWwKIyBkZXBsb3kvc3RhY2tzL252Y2Yt" + - "Y29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgbnZjYU9wZXJh" + - "dG9yOgogICAgc2VsZk1hbmFnZWQ6CiAgICAgIGljbXNTZXJ2aWNlVVJMOiAiaHR0cDovLzxnYXRl" + - "d2F5LWFkZHJlc3M+IgogICAgICBpY21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInNpcy48" + - "Z2F0ZXdheS1kb21haW4+IgogICAgICByZXZhbFNlcnZpY2VVUkw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCiAgICAgIHJldmFsU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZTogInJldmFsLjxn" + - "YXRld2F5LWRvbWFpbj4iCiAgICAgIG5hdHNVUkw6ICJuYXRzOi8vPGdhdGV3YXktYWRkcmVzcz46" + - "NDIyMiIKICAgICAgbmF0c0hvc3RPdmVycmlkZTogIm5hdHMuPGdhdGV3YXktZG9tYWluPiIKYGBg" + - "CgpQcmV2aWV3IGFuZCBpbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lIGFnYWluc3QgaXRzIGNvbnRl" + - "eHQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgdGVtcGxhdGUg" + - "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + - "LWt1YmVjb25maWc+CgptYWtlIC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGluc3RhbGwg" + - "XAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5l" + - "LWt1YmVjb25maWc+CmBgYAoKQmVmb3JlIHJlZ2lzdGVyaW5nIHRocm91Z2ggYSBiYXJlIEdhdGV3" + - "YXkgYWRkcmVzcywgY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQ0xJCmNvbmZpZyBwYXNzZWQgYXMgYE5W" + - "Q0ZfQ0xJX0NPTkZJR2A6CgpgYGB5YW1sCmJhc2VfaHR0cF91cmw6ICJodHRwOi8vPGdhdGV3YXkt" + - "YWRkcmVzcz4iCmludm9rZV91cmw6ICJodHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmJhc2VfZ3Jw" + - "Y191cmw6ICI8Z2F0ZXdheS1hZGRyZXNzPjoxMDA4MSIKYXBpX2tleXNfc2VydmljZV91cmw6ICJo" + - "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4iCmljbXNfdXJsOiAiaHR0cDovLzxnYXRld2F5LWFkZHJl" + - "c3M+IgphcGlfaG9zdDogImFwaS48Z2F0ZXdheS1kb21haW4+IgphcGlfa2V5c19ob3N0OiAiYXBp" + - "LWtleXMuPGdhdGV3YXktZG9tYWluPiIKaW52b2tlX2hvc3Q6ICJpbnZvY2F0aW9uLjxnYXRld2F5" + - "LWRvbWFpbj4iCmljbXNfaG9zdDogInNpcy48Z2F0ZXdheS1kb21haW4+IgpgYGAKCkhvc3QgZmll" + - "bGRzIGNvbnRhaW4gaG9zdG5hbWVzIG9ubHksIHdpdGhvdXQgYSBVUkwgc2NoZW1lLiBgSUNNU19V" + - "UkxgIG1hcHMgb25seQp0byB0aGUgcmVnaXN0cmF0aW9uIGNvbW1hbmQncyBgLS1pY21zLXVybGA7" + - "IGBpY21zX2hvc3RgIGluIHRoZSBjb25maWcgc3VwcGxpZXMKdGhlIEdhdGV3YXkgSG9zdCBoZWFk" + - "ZXIuIFRoZXJlIGlzIG5vIGAtLWljbXMtaG9zdGAgTWFrZSBvciBDTEkgZmxhZy4KClJlZ2lzdGVy" + - "IGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCwgdGhlbiBpbnN0YWxsIHRoZSBjb21wdXRlIHBsYW5l" + - "OgoKYGBgYmFzaAptYWtlIC1DIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIHJlZ2lz" + - "dGVyLWNsdXN0ZXIgXAogIENMVVNURVJfTkFNRT08Y2x1c3Rlci1uYW1lPiBcCiAgTkNBX0lEPTxu" + - "Y2EtaWQ+IFwKICBDTFVTVEVSX1JFR0lPTj08cmVnaW9uPiBcCiAgSUNNU19VUkw9aHR0cDovLzxn" + - "YXRld2F5LWFkZHJlc3M+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbXB1dGUtcGxhbmUta3ViZWNv" + - "bmZpZz4gXAogIE5WQ0ZfQ0xJPTxwYXRoLXRvLW52Y2YtY2xpPiBcCiAgTlZDRl9DTElfQ09ORklH" + - "PTxwYXRoLXRvLW52Y2YtY2xpLWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNv" + - "bXB1dGUtcGxhbmUgaW5zdGFsbCBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBI" + - "RUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFuZS1rdWJl" + - "Y29uZmlnPgpgYGAKClJlZ2lzdHJhdGlvbiBkaXNjb3ZlcnMgdGhlIE9JREMgaXNzdWVyIGFuZCBK" + - "V0tTIGZyb20gdGhlIGNvbXB1dGUga3ViZSBjb250ZXh0LgpJbiBhIG11bHRpLWNsdXN0ZXIgZGVw" + - "bG95bWVudCwgYEtVQkVDT05GSUdfRklMRWAgaXMgcmVxdWlyZWQgb24gYm90aApjb21wdXRlLXBs" + - "YW5lIGNvbW1hbmRzLiBJbiBhIHNhbWUtY2x1c3RlciBkZXBsb3ltZW50IGl0IG1heSBiZSBvbWl0" + - "dGVkIG9ubHkKd2hlbiB0aGUgYW1iaWVudCBjb250ZXh0IGlzIGFscmVhZHkgdGhlIHRhcmdldCBj" + - "bHVzdGVyLgoKIyMgQ0xJIFByb2ZpbGUgRmxvdwoKUnVuIHRoZSBDTEkgY29udHJvbC1wbGFuZSBp" + - "bnN0YWxsIGZpcnN0LiBJdCBjcmVhdGVzIHRoZSBwcm9maWxlIGNvbnN1bWVkIGJ5CmNvbXB1dGUt" + - "cGxhbmUgcmVnaXN0cmF0aW9uOgoKYGBgYmFzaApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBz" + - "ZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1t" + - "YW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + - "dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwKICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRl" + - "eHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIGluc3RhbGwgLS1jb250cm9sLXBsYW5lIFwK" + - "ICAtLWNsdXN0ZXItbmFtZSA8Y29udHJvbC1wbGFuZS1jbHVzdGVyLW5hbWU+IFwKICAtLXJlZ2lv" + - "biA8cmVnaW9uPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4KCnRlc3QgLXMgZGVwbG95L3N0YWNrcy9z" + - "ZWxmLW1hbmFnZWQvb3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sCmBgYAoKVXNlIHRoZSBm" + - "dWxsIHBlcnNpc3RlbnQgcHJlZml4IGZvciBib3RoIGNvbXB1dGUtcGxhbmUgY29tbWFuZHM6Cgpg" + - "YGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRy" + - "b2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1w" + - "bGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVu" + - "dj4gXAogIC0tcGxhaW4gXAogIGNvbXB1dGUtcGxhbmUgcmVnaXN0ZXIgXAogIC0tY29udHJvbC1w" + - "bGFuZS1wcm9maWxlIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL291dC9jb250cm9sLXBsYW5l" + - "LXByb2ZpbGUueWFtbCBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + - "YW1lPiBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gXAogIC0tcmVn" + - "aW9uIDxyZWdpb24+IFwKICAtLW91dHB1dCBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFtbAoK" + - "bnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFu" + - "ZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0" + - "YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAg" + - "LS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICAtLXZhbHVlcyBkZXBsb3kvc3Rh" + - "Y2tzL252Y2YtY29tcHV0ZS1wbGFuZS9vdXQvPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPi1y" + - "ZWdpc3Rlci12YWx1ZXMueWFtbCBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29u" + - "dGV4dD4gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4KYGBg" + - "CgpSZWdpc3RyYXRpb24gc2VsZWN0cyB0aGUgcHJvZmlsZSdzIGluLWNsdXN0ZXIgb3IgY29tcHV0" + - "ZS1yZWFjaGFibGUgZW5kcG9pbnRzCmZyb20gdGhlIGNvbXB1dGUgY29udGV4dCBhbmQgcHJvYmVz" + - "IGl0cyBKV0tTLiBEbyBub3QgcmVwbGFjZSBwcm9maWxlIGVuZHBvaW50cwp3aXRoIGhhbmQtYXV0" + - "aG9yZWQgSGVsbWZpbGUgZW5kcG9pbnQgdmFsdWVzLgoKIyMgUHVsbCBTZWNyZXRzCgpDcmVhdGUg" + - "dGhlIGNvbnRyb2wtcGxhbmUgc2VjcmV0IGluIHRoZXNlIG5hbWVzcGFjZXMgb24gdGhlIGNvbnRy" + - "b2wtcGxhbmUKY29udGV4dDoKCmBgYHRleHQKY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBu" + - "dmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcgpgYGAKCk9uIHRo" + - "ZSBjb21wdXRlIGNvbnRleHQsIGNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0" + - "b3JgIGFuZCByZWZlcmVuY2UKaXQgdGhyb3VnaCBgZ2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGlu" + - "IHRoZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50LiBUaGUgY2hhcnQKYW5kIG9wZXJhdG9yIHVz" + - "ZSBpdCBpbiBgbnZjYS1vcGVyYXRvcmAgYW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLiBE" + - "byBub3QgYWRkCmVpdGhlciBuYW1lc3BhY2UgdG8gdGhlIGNvbnRyb2wtcGxhbmUgbGlzdC4gRm9y" + - "IGNvbW1hbmRzIGFuZCBwb2xpY3kgZXhhbXBsZXMsCnNlZSBbcHVsbC1zZWNyZXRzLm1kXShwdWxs" + - "LXNlY3JldHMubWQpLgoKIyMgVmVyaWZpY2F0aW9uCgpVc2UgdGhlIGV4cGxpY2l0IEdhdGV3YXkg" + - "bmFtZSBhbmQgbmFtZXNwYWNlOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1w" + - "bGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBudmNmLWdhdGV3YXkgXAogIC1uIGVudm95LWdhdGV3" + - "YXkgLW8gd2lkZQprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQg" + - "dGNwcm91dGUgLW4gZW52b3ktZ2F0ZXdheQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + + "ICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVjdGwgYXBwbHkgLWYgLQpkb25lCmBg" + + "YAoKSWYgdXNpbmcgcHVsbCBzZWNyZXRzLCB5b3UgbXVzdCBhbHNvIGNvbmZpZ3VyZSBlYWNoIGhl" + + "bG1maWxlIHJlbGVhc2UgdG8gcmVmZXJlbmNlIHRoZW0uIFNlZSBbSW1hZ2UgUHVsbCBTZWNyZXRz" + + "XSgjaW1hZ2UtcHVsbC1zZWNyZXRzKS4KCiMjIyAyLiBBdXRoZW50aWNhdGUgaGVsbSB0byB5b3Vy" + + "IGNoYXJ0IHJlZ2lzdHJ5CgpCb3RoIGBkb2NrZXIgbG9naW5gIEFORCBgaGVsbSByZWdpc3RyeSBs" + + "b2dpbmAgYXJlIHJlcXVpcmVkIGZvciBOR0MuIEhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tl" + + "cikgdG8gcHVsbCBPQ0kgY2hhcnRzLCBzbyB0aGUgaGVsbSBjcmVkZW50aWFsIHN0b3JlIG11c3Qg" + + "YmUgYXV0aGVudGljYXRlZCBzZXBhcmF0ZWx5LgoKYGBgYmFzaAojIE5HQyAtLSBib3RoIGNvbW1h" + + "bmRzIGFyZSByZXF1aXJlZApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9rZW4nIC1w" + + "ICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRodG9r" + + "ZW4nIC1wICIkTkdDX0FQSV9LRVkiCgojIEVDUgphd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAt" + + "LXJlZ2lvbiA8cmVnaW9uPiB8IFwKICBoZWxtIHJlZ2lzdHJ5IGxvZ2luIC0tdXNlcm5hbWUgQVdT" + + "IC0tcGFzc3dvcmQtc3RkaW4gPGFjY291bnQ+LmRrci5lY3IuPHJlZ2lvbj4uYW1hem9uYXdzLmNv" + + "bQpgYGAKCj4gTm90ZTogYGhlbG0gcmVnaXN0cnkgbG9naW5gIGtlZXBzIG9ubHkgdGhlIGxhc3Qg" + + "bG9naW4gcGVyIGhvc3QgKG11bHRpLW9yZyBnb3RjaGEpLgo+IFRoZSBzdGFjayBhbmQgdGhlIGNh" + + "Y2hlcyBzcGFuIHNldmVyYWwgTkdDIG9yZ3MgdGhhdCBuZWVkIGRpZmZlcmVudCBrZXlzLCBidXQg" + + "dGhleSBhbGwKPiBsaXZlIHVuZGVyIHRoZSBvbmUgaG9zdCBgbnZjci5pb2AuIEEgc2Vjb25kIGBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW9gIChvcgo+IGBkb2NrZXIgbG9naW5gKSB3aXRoIGEg" + + "ZGlmZmVyZW50IGtleSBzaWxlbnRseSBvdmVyd3JpdGVzIHRoZSBmaXJzdCwgc28gcHVsbHMgZm9y" + + "IHRoZQo+IGZpcnN0IG9yZyB0aGVuIGZhaWwgd2l0aCBhIG1pc2xlYWRpbmcgYDQwMyBBY2Nlc3Mg" + + "RGVuaWVkYCAobm90IGEgNDAxOiB0aGUgYXV0aAo+IHN1Y2NlZWRlZCwgaXQncyB0aGUgd3Jvbmct" + + "b3JnIGtleSkuIElmIHlvdSBwdWxsIGNoYXJ0cy9pbWFnZXMgZnJvbSBtb3JlIHRoYW4gb25lIG9y" + + "ZywKPiBlaXRoZXIgcmUtcnVuIHRoZSBsb2dpbiB3aXRoIHRoZSBjb3JyZWN0IGtleSBpbW1lZGlh" + + "dGVseSBiZWZvcmUgZWFjaCBwdWxsLCBvciBwYXNzCj4gYC0tdXNlcm5hbWUgJyRvYXV0aHRva2Vu" + + "JyAtLXBhc3N3b3JkIDxrZXk+YCBwZXIgYGhlbG0gcHVsbGAgaW52b2NhdGlvbiBpbnN0ZWFkIG9m" + + "IHJlbHlpbmcKPiBvbiB0aGUgc3RvcmVkIGxvZ2luLiAoUHVsbGluZyBldmVyeXRoaW5nIGZyb20g" + + "YSBzaW5nbGUgcmVnaXN0cnkgbWlycm9yIGF2b2lkcyB0aGlzCj4gZW50aXJlbHkuKQoKIyMjIDJi" + + "LiAoUmVjb21tZW5kZWQpIFB1bGwgZnJvbSBhIHJlZ2lzdHJ5IHRoZSBjbHVzdGVyIGF1dGhlbnRp" + + "Y2F0ZXMgdG8gYXV0b21hdGljYWxseQoKSWYgeW91IG1pcnJvciB0aGUgTlZDRiBpbWFnZXMgaW50" + + "byBhIHJlZ2lzdHJ5IHRoYXQgdGhlIGNsdXN0ZXIgY2FuIHB1bGwgZnJvbSB3aXRob3V0IGFuCmV4" + + "cGxpY2l0IGltYWdlIHB1bGwgc2VjcmV0IChmb3IgZXhhbXBsZSwgYSByZWdpc3RyeSB3aGVyZSB0" + + "aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBpcwpncmFudGVkIHB1bGwgYWNjZXNzIGF1dG9t" + + "YXRpY2FsbHkpLCBwb2ludCB0aGUgc3RhY2sgYXQgaXQgYW5kIHNraXAgdGhlIGNyZWRlbnRpYWwg" + + "c3RlcHMKYWJvdmUuCgoxLiBQb2ludCB0aGUgc3RhY2sgYXQgdGhlIG1pcnJvciBpbiBgZW52aXJv" + + "bm1lbnRzLzxlbnY+LnlhbWxgOgoKICAgYGBgeWFtbAogICBnbG9iYWw6CiAgICAgaW1hZ2U6CiAg" + + "ICAgICByZWdpc3RyeTogPHlvdXItcmVnaXN0cnk+ICAgICAgICAgICAgIyBlLmcuIHJlZ2lzdHJ5" + + "LmV4YW1wbGUuY29tCiAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICAgIGhl" + + "bG06CiAgICAgICBzb3VyY2VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25seSBp" + + "ZiB5b3UgYWxzbyBtaXJyb3JlZCB0aGUgaGVsbSBjaGFydHMKICAgICAgICAgcmVnaXN0cnk6IDx5" + + "b3VyLXJlZ2lzdHJ5PgogICAgICAgICByZXBvc2l0b3J5OiA8bWlycm9yLXN1Yi1wYXRoPgogICBg" + + "YGAKCiAgID4gVGhlIG1hbmlmZXN0IGhhcyBhIG1peCBvZiBPQ0kgYW5kIG5vbi1PQ0kgYXJ0aWZh" + + "Y3RzLCBzbyBjb252ZXJ0IG5vbi1PQ0kgY2hhcnRzIGJlZm9yZQogICA+IG1pcnJvcmluZy4gQ29u" + + "dGFpbmVyIGltYWdlcyAoYG52Y3IuaW8vLi4uYCkgYXJlIGFscmVhZHkgT0NJIGFuZCBtaXJyb3Ig" + + "YXMtaXMuIFNvbWUgSGVsbQogICA+IGNoYXJ0cywgdGhvdWdoLCBhcmUgcHVibGlzaGVkIHRvIGFu" + + "IGBodHRwczovL2AgSGVsbSByZXBvc2l0b3J5IChmb3IgZXhhbXBsZQogICA+IGBoZWxtLm5nYy5u" + + "dmlkaWEuY29tYCkuIFRob3NlIGFyZSBub3QgT0NJIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgYnkg" + + "YGdsb2JhbC5oZWxtLnNvdXJjZXNgCiAgID4gKE9DSSkgb3IgbWlycm9yZWQgZGlyZWN0bHkuIEJl" + + "Zm9yZSBwb2ludGluZyB0aGUgc3RhY2sgYXQgeW91ciBtaXJyb3IsIGNvbnZlcnQgZWFjaAogICA+" + + "IGBodHRwczovL2AgY2hhcnQgdG8gT0NJOiBgaGVsbSByZXBvIGFkZGAvYGhlbG0gcHVsbGAgdGhl" + + "IGAudGd6YCwgdGhlbgogICA+IGBoZWxtIHB1c2ggPGNoYXJ0Pi50Z3ogb2NpOi8vPHlvdXItcmVn" + + "aXN0cnk+LzxtaXJyb3Itc3ViLXBhdGg+YC4gT25seSBPQ0kgY2hhcnRzIGNhbiBsaXZlCiAgID4g" + + "dW5kZXIgYGdsb2JhbC5oZWxtLnNvdXJjZXNgLgoKMi4gU2tpcCB0aGUgY3JlZGVudGlhbCBzdGVw" + + "cyBhYm92ZS4gV2hlbiB0aGUgY2x1c3RlciBhdXRoZW50aWNhdGVzIHRvIHRoZSByZWdpc3RyeQog" + + "ICBhdXRvbWF0aWNhbGx5ICh0aGUgbm9kZSBvciB3b3JrbG9hZCBpZGVudGl0eSBoYXMgcHVsbCBh" + + "Y2Nlc3MpLCB0aGUgcHVsbCBuZWVkcyBubwogICBLdWJlcm5ldGVzIHNlY3JldCwgc28geW91IGRv" + + "IG5vdCBuZWVkOiB0aGUgcGVyLW5hbWVzcGFjZSBgbnZjci1jcmVkc2AgZnJvbSBzdGVwIDEKICAg" + + "KHN0aWxsIGNyZWF0ZSB0aGUgbmFtZXNwYWNlcywganVzdCBub3QgdGhlIHNlY3JldCksIHRoZSBg" + + "Z2xvYmFsLmltYWdlUHVsbFNlY3JldHNgIGVudHJ5LAogICBvciB0aGUgYGRvY2tlciBsb2dpbmAv" + + "YGhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pb2AgZnJvbSBzdGVwIDIuCgogICA+IE9uZSByZXNp" + + "ZHVhbCBjcmVkZW50aWFsOiBudmNmLWFwaSBzdGlsbCB2YWxpZGF0ZXMgdGhlIHVzZXIgZnVuY3Rp" + + "b24gaW1hZ2UgYXQKICAgPiBgZnVuY3Rpb24gY3JlYXRlYCB2aWEgdGhlIGFjY291bnQgcmVnaXN0" + + "cnkgY3JlZGVudGlhbCwgc28gdGhhdCBjcmVkZW50aWFsIG11c3QgcG9pbnQgYXQKICAgPiB3aGlj" + + "aGV2ZXIgcmVnaXN0cnkgaG9sZHMgdGhlIHVzZXIgaW1hZ2UgKHNldCBpdCB0byB5b3VyIG1pcnJv" + + "ciBpZiB0aGUgaW1hZ2UgaXMgbWlycm9yZWQKICAgPiB0aGVyZSkuCgojIyMgMy4gU2V0IHRoZSBy" + + "b3V0ZSBkb21haW4KCmBnbG9iYWwuZG9tYWluYCBzZXRzIHRoZSBob3N0bmFtZSBzdWZmaXggZm9y" + + "IHJvdXRlcyBzdWNoIGFzIGBhcGkuPGRvbWFpbj5gLiBJdCBkb2VzIG5vdCBjb25maWd1cmUgdGhl" + + "IEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5jZXIuIFF1ZXJ5IHRoZSBleGFjdCBleGlzdGluZyBH" + + "YXRld2F5OgoKYGBgYmFzaApHQVRFV0FZX0FERFJFU1M9JChrdWJlY3RsIGdldCBnYXRld2F5IDxn" + + "YXRld2F5LW5hbWU+IC1uIDxnYXRld2F5LW5hbWVzcGFjZT4gLW8ganNvbnBhdGg9J3suc3RhdHVz" + + "LmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0ZXN0IC1uICIkR0FURVdBWV9BRERSRVNTIgpgYGAKClRo" + + "ZSBhZGRyZXNzIG1heSBiZSBhIGhvc3RuYW1lIG9yIElQLiBDbG91ZCBwcm92aWRlciBhbmQgR2F0" + + "ZXdheSBjb25maWd1cmF0aW9uIGRldGVybWluZSB0aGUgbG9hZCBiYWxhbmNlciB0eXBlIGFuZCBh" + + "ZGRyZXNzIGZvcm1hdC4gVGhlIHNlbGYtbWFuYWdlZCBzdGFjayBkb2VzIG5vdCBzZWxlY3QgZWl0" + + "aGVyLgoKRm9yIHRlbXBvcmFyeSB0ZXN0aW5nIHdpdGhvdXQgRE5TLCB1c2UgYSBzdGFibGUgcmVz" + + "ZXJ2ZWQgc3VmZml4IHN1Y2ggYXMgYGdsb2JhbC5kb21haW46ICJudmNmLnRlc3QiYCwgY29ubmVj" + + "dCB0byBgR0FURVdBWV9BRERSRVNTYCwgYW5kIHNlbmQgYEhvc3Q6IGFwaS5udmNmLnRlc3RgLiBG" + + "b3IgcHJvZHVjdGlvbiwgdXNlIHlvdXIgYmFzZSBETlMgZG9tYWluIGFuZCBwb2ludCBpdHMgcm91" + + "dGUgcmVjb3JkcyB0byBgR0FURVdBWV9BRERSRVNTYC4gSWYgdGhlIGVuZHBvaW50IGxhdGVyIGNo" + + "YW5nZXMsIGtlZXAgYGdsb2JhbC5kb21haW5gIHN0YWJsZSBhbmQgdXBkYXRlIG9ubHkgRE5TIG9y" + + "IHRoZSBjbGllbnQgZGVzdGluYXRpb24uIFNlZSBFeGFtcGxlIDQgaW4gW2V4YW1wbGVzLm1kXShl" + + "eGFtcGxlcy5tZCkuCgojIyMgNC4gUHJldmlldyBhbmQgZGVwbG95CgpgYGBiYXNoCkhFTE1GSUxF" + + "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIHRlbXBsYXRlICAgIyBQcmV2aWV3IHJlbmRlcmVkIG1h" + + "bmlmZXN0cwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSBzeW5jICAgICAgICMgRGVw" + + "bG95CmBgYAoKPiBTZXQgQk9USCBDYXNzYW5kcmEgcGFzc3dvcmRzIGluIHRoZSBzZWNyZXRzIGZp" + + "bGUuIFRoZSBzZWNyZXRzIGZpbGUgZG9jdW1lbnRzCj4gYERFRkFVTFRfQ0FTU0FORFJBX1BBU1NX" + + "T1JEYCwgYnV0IHRoZSBjYXNzYW5kcmEgY2hhcnQgaGFzIGEgc2Vjb25kIGNyZWRlbnRpYWwsCj4g" + + "YGNhc3NhbmRyYS5zZXJ2aWNlUm9sZVBhc3N3b3JkYCwgdGhhdCBkZWZhdWx0cyB0byBgY2hAbmcz" + + "bTNgLiBJZiB5b3Ugc2V0IG9ubHkKPiBgREVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgLCB0aGUg" + + "c2VydmljZSByb2xlIGtlZXBzIHRoYXQgZGVmYXVsdCBhbmQgZXZlcnkgREItYmFja2VkCj4gc2Vy" + + "dmljZSBjcmFzaC1sb29wcyB3aXRoIGBCYWQgY3JlZGVudGlhbHNgIG9uY2UgaXQgdHJpZXMgdG8g" + + "YXV0aGVudGljYXRlLiBTZXQKPiBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dvcmRgIHRvIHRo" + + "ZSBzYW1lIHZhbHVlIGFzIGBERUZBVUxUX0NBU1NBTkRSQV9QQVNTV09SRGAuCgojIyMgNS4gRGVw" + + "bG95bWVudCBwaGFzZXMKCkhlbG1maWxlIGRlcGxveXMgaW4gb3JkZXIgd2l0aCBkZXBlbmRlbmNp" + + "ZXM6Cgp8IFBoYXNlIHwgU2VsZWN0b3IgfCBTZXJ2aWNlcyB8IFdhaXQgdGltZSB8CnwtLS0tLS0t" + + "fC0tLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwKfCAxIHwgYHJlbGVhc2UtZ3JvdXA9" + + "ZGVwZW5kZW5jaWVzYCB8IE5BVFMsIE9wZW5CYW8sIENhc3NhbmRyYSB8IDUtMTAgbWluIHwKfCAy" + + "IHwgYHJlbGVhc2UtZ3JvdXA9c2VydmljZXNgIHwgQVBJLCBTSVMsIEVTUywgaW52b2NhdGlvbiwg" + + "Z3JwYy1wcm94eSwgbm90YXJ5LCBhcGkta2V5cywgb3B0aW9uYWwgTExNIGdhdGV3YXkvcm91dGVy" + + "LCBvcHRpb25hbCBWYW5pdHkgR2F0ZXdheSwgTlZDRiBVSSB3aGVuIHRoZSBzdGFjayBwYWNrYWdl" + + "IGluY2x1ZGVzIHRoZSBhZGRvbiB8IDUtMTAgbWluIHwKfCAzIHwgYHJlbGVhc2UtZ3JvdXA9aW5n" + + "cmVzc2AgfCBHYXRld2F5IHJvdXRlcyB8IDEtMiBtaW4gfAp8IDQgfCBgcmVsZWFzZS1ncm91cD1v" + + "YnNlcnZhYmlsaXR5YCB8IE9ic2VydmFiaWxpdHkgc3RhY2sgKGlmIGVuYWJsZWQpIHwgMS0yIG1p" + + "biB8CgpNb25pdG9yIGluIGEgc2VwYXJhdGUgdGVybWluYWw6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLUEgLXcKYGBgCgojIyMgNi4gRW5hYmxlIFZhbml0eSBHYXRld2F5IChvcHRpb25hbCkK" + + "ClZhbml0eSBHYXRld2F5IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGlzIG9ubHkgbmVlZGVk" + + "IGZvciBjdXN0b21lci1mYWNpbmcKaG9zdG5hbWVzIG9yIHBhdGggbWFwcGluZ3MgaW4gZnJvbnQg" + + "b2YgdGhlIHN0YW5kYXJkIE5WQ0YgQVBJIGFuZCBpbnZvY2F0aW9uCnJvdXRlcy4gSXQgaXMgYXZh" + + "aWxhYmxlIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBWYW5pdHkgR2F0" + + "ZXdheQphZGRvbi4gSWYgdGhlIGV4dHJhY3RlZCBzdGFjayBwYWNrYWdlIGRvZXMgbm90IGNvbnRh" + + "aW4gYSBgdmFuaXR5LWdhdGV3YXlgCnJlbGVhc2UgYW5kIGB2YW5pdHlHYXRld2F5YCByb3V0ZSB2" + + "YWx1ZXMsIHNraXAgdGhlc2UgY29tbWFuZHMgYW5kIHVzZSBhIG5ld2VyCnN0YWNrIHBhY2thZ2Ug" + + "dGhhdCBpbmNsdWRlcyB0aGVtLgoKSWYgdGhlIHN0YWNrIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGFk" + + "ZG9uLCBlbmFibGUgaXQgaW4KYGVudmlyb25tZW50cy88ZW52LW5hbWU+LnlhbWxgOgoKYGBgeWFt" + + "bAphZGRvbnM6CiAgdmFuaXR5R2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIG1hcHBpbmdD" + + "b25maWc6IHt9CmBgYAoKVGhlIGRlZmF1bHQgcm91dGUgaG9zdCBpcyBgdmFuaXR5Ljxkb21haW4+" + + "YCBhbmQgdGhlIGJhY2tlbmQgaXMKYHZhbml0eS1nYXRld2F5Lm52Y2Y6ODA4MGAuIFB1dCBkZXBs" + + "b3ltZW50LXNwZWNpZmljIGhvc3QgYW5kIHBhdGggbWFwcGluZ3MgdW5kZXIKYGFkZG9ucy52YW5p" + + "dHlHYXRld2F5Lm1hcHBpbmdDb25maWdgLiBJZiB5b3UgbmVlZCBjdXN0b20gdmFuaXR5IGhvc3Rz" + + "IGluc3RlYWQgb2YKYHZhbml0eS48ZG9tYWluPmAsIHVzZSB0aGUgcm91dGUgaG9zdG5hbWUgb3Zl" + + "cnJpZGVzIHN1cHBvcnRlZCBieSB0aGUgc3RhY2sKcGFja2FnZSBhbmQgY3JlYXRlIG1hdGNoaW5n" + + "IEROUyByZWNvcmRzLgoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUg" + + "YHZhbml0eS1nYXRld2F5YCByZWxlYXNlLCBwcmV2aWV3IGFuZAphcHBseSB0aGUgc2VydmljZSBh" + + "bmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT12YW5pdHktZ2F0ZXdheSB0ZW1wbGF0ZQpIRUxNRklMRV9FTlY9PGVudi1uYW1l" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9dmFuaXR5LWdhdGV3YXkgc3luYwpIRUxNRklMRV9F" + + "TlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBz" + + "eW5jCmBgYAoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQg" + + "YW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSxzdmMgLW4gbnZjZiAtbCBh" + + "cHAua3ViZXJuZXRlcy5pby9uYW1lPXZhbml0eS1nYXRld2F5Cmt1YmVjdGwgZ2V0IGh0dHByb3V0" + + "ZSAtQSB8IGdyZXAgLWkgdmFuaXR5CmN1cmwgLUggIkhvc3Q6IHZhbml0eS48ZG9tYWluPiIgImh0" + + "dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPi9oZWFsdGgiCmBgYAoKRG8gbm90IGVuYWJsZSBWYW5pdHkg" + + "R2F0ZXdheSBmb3Igc3RhbmRhcmQgQVBJLCBBUEkgS2V5cywgaW52b2NhdGlvbiwgTExNCmludm9j" + + "YXRpb24sIG9yIGdSUEMgdHJhZmZpYy4gVGhvc2Ugcm91dGVzIGFyZSBwcm92aWRlZCBieSB0aGUg" + + "YmFzZSBnYXRld2F5CnJvdXRlcy4KCiMjIyA3LiBFbmFibGUgTlZDRiBVSSAob3B0aW9uYWwpCgpO" + + "VkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgYWRtaW4tcGFuZWwgVUkuIEl0" + + "IGlzIGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2th" + + "Z2VzIHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4gSWYKeW91ciBleHRyYWN0ZWQgc3Rh" + + "Y2sgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UgYW5kIGBudmNm" + + "VWlgCnJvdXRlIHZhbHVlcywgc2tpcCB0aGlzIHNlY3Rpb24uIFRoZSBOVkNGIFVJIGFkbWluIHBh" + + "bmVsIGlzIGN1cnJlbnRseQp1bmF1dGhlbnRpY2F0ZWQ7IGRvIG5vdCBleHBvc2UgaXQgdG8gdGhl" + + "IHB1YmxpYyBpbnRlcm5ldC4KCkZvciBlbmFibGVtZW50LCBuYW1lc3BhY2UgYW5kIHB1bGwgc2Vj" + + "cmV0IHNldHVwLCBhcHBseSwgYW5kIHZlcmlmaWNhdGlvbiBzdGVwcywKc2VlIFtOVkNGIFVJIEFk" + + "ZG9uXShyZWZlcmVuY2VzL252Y2YtdWktYWRkb24ubWQpLgoKIyMjIDguIEluc3RhbGwgdGhlIHNl" + + "cGFyYXRlIGNvbXB1dGUtcGxhbmUgc3RhY2sKClRoZSBjb250cm9sLXBsYW5lIHN0YWNrIGRvZXMg" + + "bm90IGluc3RhbGwgY29tcHV0ZS1wbGFuZSBjb21wb25lbnRzLiBBZnRlciBpdCBpcyBoZWFsdGh5" + + "LCBjaG9vc2UgZXhhY3RseSBvbmUgY29tcHV0ZS1wbGFuZSBoYW5kb2ZmOgoKLSBIZWxtZmlsZSB2" + + "YWx1ZXMgZmxvdzogYXV0aG9yIHNlcGFyYXRlIGVudmlyb25tZW50IGZpbGVzLCB0aGVuIHJlZ2lz" + + "dGVyIGFuZAogIGluc3RhbGwgd2l0aCB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZS4KLSBDTEkg" + + "cHJvZmlsZSBmbG93OiB1c2UgdGhlIHByb2ZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBDTEkgY29udHJv" + + "bC1wbGFuZSBpbnN0YWxsLAogIHRoZW4gcnVuIHRoZSBjb21wbGV0ZSBDTEkgcmVnaXN0ZXIgYW5k" + + "IGluc3RhbGwgY29tbWFuZHMuCgpEbyBub3QgbWl4IHRoZXNlIGhhbmRvZmZzLiBGb2xsb3cgW1Nw" + + "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKQpmb3IgY29tbWFuZHMsIEVLUyByb3V0aW5nLCBwdWxsIHNlY3JldHMs" + + "IHZlcmlmaWNhdGlvbiwgYW5kIHRlYXJkb3duIG9yZGVyLgoKIyMgQ2xlYW4gVGVhcmRvd24KCkRl" + + "c3Ryb3kgZXZlcnkgY29tcHV0ZSBwbGFuZSBiZWZvcmUgdGhlIGNvbnRyb2wgcGxhbmUsIHVzaW5n" + + "IHRoZSB0ZWFyZG93biBmb3IKdGhlIHNhbWUgaGFuZG9mZjsgc2VlIFtTcGxpdCBDb21wdXRlLVBs" + + "YW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNlcy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5t" + + "ZCN0ZWFyZG93bikuCgpTY29wZTogT25seSBkZXN0cm95IHJlbGVhc2VzIG1hbmFnZWQgYnkgdGhp" + + "cyBjb250cm9sLXBsYW5lIGhlbG1maWxlIHN0YWNrLiBUaGUgTlZDRiByZWxlYXNlcyBhcmU6IGBu" + + "YXRzYCwgYG9wZW5iYW8tc2VydmVyYCwgYGNhc3NhbmRyYWAsIGBhcGkta2V5c2AsIGBzaXNgLCBg" + + "YXBpYCwgYGludm9jYXRpb24tc2VydmljZWAsIGBncnBjLXByb3h5YCwgYGVzcy1hcGlgLCBgbm90" + + "YXJ5LXNlcnZpY2VgLCBvcHRpb25hbCBgdmFuaXR5LWdhdGV3YXlgLCBgbnZjZi11aWAsIGBhZG1p" + + "bi1pc3N1ZXItcHJveHlgLCBhbmQgYGluZ3Jlc3NgOyBgY2VydC1tYW5hZ2VyYCBpcyBpbmNsdWRl" + + "ZCBvbmx5IHdoZW4gYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IHRydWVgLiBUaGUgY29udHJvbC1wbGFu" + + "ZSBuYW1lc3BhY2UgaW52ZW50b3J5IGFsc28gaW5jbHVkZXMgYGNlcnQtbWFuYWdlcmAsIGJ1dCBk" + + "ZWZhdWx0IG5hbWVzcGFjZSBjbGVhbnVwIHByZXNlcnZlcyBpdC4gTmFtZXNwYWNlIHByZXNlcnZh" + + "dGlvbiBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBFeHRlcm5hbCBjZXJ0LW1h" + + "bmFnZXIgbXVzdCB1c2UgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZhbHNlYDsgb3RoZXJ3aXNlIEhl" + + "bG1maWxlIHRyZWF0cyB0aGUgcmVsZWFzZSBhcyBzdGFjay1tYW5hZ2VkLiBEbyBub3QgZGVsZXRl" + + "IG90aGVyIGhlbG0gcmVsZWFzZXMgb3IgbmFtZXNwYWNlcyBvbiB0aGUgY2x1c3Rlci4KCkJlZm9y" + + "ZSBjb250cm9sLXBsYW5lIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlz" + + "IGV4dGVybmFsLiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2" + + "ZSBgY2VydE1hbmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBG" + + "b3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiB0cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFz" + + "ZSBtZXRhZGF0YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBQ" + + "cmVzZXJ2ZSB0aGUgbmFtZXNwYWNlIGJ5IGRlZmF1bHQ7IG9ubHkgcGxhbiBpdHMgcmVtb3ZhbCBh" + + "ZnRlciB2ZXJpZnlpbmcgbmFtZXNwYWNlIHByb3ZlbmFuY2UgYW5kIGdldHRpbmcgZXhwbGljaXQg" + + "Y29uZmlybWF0aW9uLgoKIyMjIFN0YW5kYXJkIHRlYXJkb3duCgpSdW4gZnJvbSBpbnNpZGUgdGhl" + + "IGBudmNmLXNlbGYtbWFuYWdlZC1zdGFjay9gIGRpcmVjdG9yeToKCmBgYGJhc2gKSEVMTUZJTEVf" + + "RU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgZGVzdHJveQpgYGAKCiMjIyBEZWxldGUgbmFtZXNwYWNl" + + "cwoKYGBgYmFzaApmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFw" + + "aS1rZXlzIGVzcyBzaXMgbnZjZi11aSB2YXVsdC1zeXN0ZW07IGRvCiAga3ViZWN0bCBkZWxldGUg" + + "bmFtZXNwYWNlICIkbnMiIC0taWdub3JlLW5vdC1mb3VuZApkb25lCmBgYAoKIyMjIFZlcmlmeSBj" + + "bGVhbgoKYGBgYmFzaAprdWJlY3RsIGdldCBucyB8IGdyZXAgLUUgJyhjYXNzYW5kcmF8bmF0c3x2" + + "YXVsdHxudmNmfGFwaS1rZXlzfGVzc3xzaXMpJwojIFNob3VsZCByZXR1cm4gZW1wdHkKYGBgCgoj" + + "IyBPdmVycmlkaW5nIEhlbG0gQ2hhcnQgVmFsdWVzCgojIyMgRW52aXJvbm1lbnQgZmlsZSAobGlt" + + "aXRlZCkKCldvcmtzIG9ubHkgZm9yIGtleXMgdGhhdCBgZ2xvYmFsLnlhbWwuZ290bXBsYCBwcm9w" + + "YWdhdGVzIChlLmcuLCBgY2Fzc2FuZHJhLnJlcGxpY2FDb3VudGAsIGBnbG9iYWwuc3RvcmFnZUNs" + + "YXNzYCwgYGdsb2JhbC5pbWFnZWApLgoKIyMjIFJlbGVhc2UgdmFsdWVzIGJsb2NrIChhbnkgY2hh" + + "cnQgdmFsdWUpCgpFZGl0IHRoZSByZWxlYXNlIGluIGBoZWxtZmlsZS5kLyoueWFtbC5nb3RtcGxg" + + "IGFuZCBhZGQgYSBgdmFsdWVzOmAgYmxvY2suIEluIHRoZSBleGFtcGxlcyBiZWxvdywgYDxwcml2" + + "YXRlLXZhbHVlcz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhl" + + "bG1maWxlIHN0YWNrIHJvb3QuCgpgYGB5YW1sCi0gbmFtZTogY2Fzc2FuZHJhCiAgdmVyc2lvbjog" + + "MC44LjAKICBjb25kaXRpb246IGNhc3NhbmRyYS5lbmFibGVkCiAgbmFtZXNwYWNlOiBjYXNzYW5k" + + "cmEtc3lzdGVtCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwueWFt" + + "bC5nb3RtcGwKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVudiAiSEVMTUZJ" + + "TEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwKICAgIC0gY2Fzc2FuZHJhOgogICAgICAgIHJlc291cmNl" + + "czoKICAgICAgICAgIGxpbWl0czoKICAgICAgICAgICAgY3B1OiAiOCIKICAgICAgICAgICAgbWVt" + + "b3J5OiA4MTkyTWkKICAgICAgICAgIHJlcXVlc3RzOgogICAgICAgICAgICBjcHU6ICIyIgogICAg" + + "ICAgICAgICBtZW1vcnk6IDQwOTZNaQpgYGAKCllBTUwgbWVyZ2UgZ290Y2hhOiBXaGVuIGEgcmVs" + + "ZWFzZSB1c2VzIGA8PDogKmRlcGVuZGVuY3lgIG9yIGBpbmhlcml0YCwgc3BlY2lmeWluZyBgdmFs" + + "dWVzOmAgcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QuIFlvdSBtdXN0IHJlLWlu" + + "Y2x1ZGUgYGdsb2JhbC55YW1sLmdvdG1wbGAgYW5kIHRoZSBzZWNyZXRzIGZpbGUuCgojIyMgUHJl" + + "dmlldyBhbmQgYXBwbHkgYSBzaW5nbGUgcmVsZWFzZQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVu" + + "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSAgIyBQcmV2aWV3" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHN5" + + "bmMgICAgICAjIEFwcGx5CmBgYAoKIyMgSW1hZ2UgUHVsbCBTZWNyZXRzCgpUaGVyZSBhcmUgdGhy" + + "ZWUgZGlzdGluY3QgY3JlZGVudGlhbCB0eXBlcy4gRG8gbm90IGNvbmZsYXRlIHRoZW0sIGFuZCBt" + + "aW5kIHRoZQpmb3JtYXQgcnVsZSBiZWxvdyAodHdvIG9mIHRoZW0gZmFpbCBldmVuIHdpdGggdGhl" + + "IGNvcnJlY3Qga2V5IGlmIHRoZSBmb3JtYXQgaXMgd3JvbmcpOgoKfCB8IENvbnRyb2wgUGxhbmUg" + + "UHVsbCBTZWNyZXRzIHwgQVBJIEJvb3RzdHJhcCBSZWdpc3RyeSBDcmVkcyB8IFNpZGVjYXIgSW1h" + + "Z2UtUHVsbCBTZWNyZXQgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFB1cnBvc2UgfCBLOHMgcHVsbHMg" + + "TlZDRiBzZXJ2aWNlIGltYWdlcyB8IG52Y2YtYXBpIHZhbGlkYXRlcyB0aGUgdXNlciBmdW5jdGlv" + + "biBpbWFnZSBhdCBgZnVuY3Rpb24gY3JlYXRlYCB8IG52Y2YtYXBpIHB1bGxzIHRoZSBwbGF0Zm9y" + + "bSBzaWRlY2FycyBpbmplY3RlZCBpbnRvIGV2ZXJ5IHdvcmtlciBwb2QgfAp8IFdoZXJlIHwgSzhz" + + "IGBkb2NrZXItcmVnaXN0cnlgIFNlY3JldHMgKyBLeXZlcm5vIENsdXN0ZXJQb2xpY3kgfCBgPHBy" + + "aXZhdGUtdmFsdWVzPi88ZW52Pi1zZWNyZXRzLnlhbWxgIChhY2NvdW50LWJvb3RzdHJhcCkgfCBg" + + "TlZDRl9BUElfU0lERUNBUlNfSU1BR0VfUFVMTF9TRUNSRVRgIGluIGA8ZW52Pi1zZWNyZXRzLnlh" + + "bWxgIC0+IE9wZW5CYW8gYHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2ltYWdlLXB1bGwt" + + "c2VjcmV0YCAoZmllbGQgYHNlY3JldGApIHwKfCBGb3JtYXQgfCBzdGFuZGFyZCBgLmRvY2tlcmNv" + + "bmZpZ2pzb25gIChrdWJlY3RsIGJ1aWxkcyBpdCBmb3IgeW91KSB8IGBiYXNlNjQoIiRvYXV0aHRv" + + "a2VuOjxrZXk+IilgIHwgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAgfAoKPiBOb3RlOiB0" + + "aGUgYWNjb3VudC1ib290c3RyYXAgY3JlZCBhbmQgdGhlIHNpZGVjYXIgc2VjcmV0IGFyZSBOT1Qg" + + "YQo+IGRvY2tlcmNvbmZpZ2pzb24uIFRoZSBzZWNyZXRzIHRlbXBsYXRlIHNoaXBzIHRoZSBwbGFj" + + "ZWhvbGRlcgo+IGBSRVBMQUNFX1dJVEhfQkFTRTY0X0RPQ0tFUl9DUkVERU5USUFMYCwgd2hpY2gg" + + "cmVhZHMgYXMgImJhc2U2NCBvZiBhIGRvY2tlcmNvbmZpZ2pzb24uIgo+IEl0IGlzbid0LiBCb3Ro" + + "IHZhbHVlcyBhcmUgY29uc3VtZWQgYXMgYSByYXcgZG9ja2VyIGBhdXRoYCBzdHJpbmc6IG52Y2Yt" + + "YXBpIHRha2VzIHRoZQo+IHZhbHVlIHZlcmJhdGltIGFuZCBkcm9wcyBpdCBpbnRvIHRoZSBgYXV0" + + "aGAgZmllbGQgb2YgdGhlIGRvY2tlcmNvbmZpZyBpdCBidWlsZHMuIFNvIHRoZQo+IHZhbHVlIG11" + + "c3QgYmUgYGJhc2U2NCgiJG9hdXRodG9rZW46PGtleT4iKWAsIGUuZy4gYHByaW50ZiAnJG9hdXRo" + + "dG9rZW46JXMnICIkS0VZIiB8IG9wZW5zc2wgYmFzZTY0IC1BYCwKPiBub3QgYGJhc2U2NCg8ZG9j" + + "a2VyY29uZmlnanNvbj4pYC4KPgo+IC0gV3JvbmcgYWNjb3VudC1ib290c3RyYXAgdmFsdWU6IGBm" + + "dW5jdGlvbiBjcmVhdGVgIHJldHVybnMKPiAgICBgNDAwICJtdXN0IGJlIGJhc2U2NCBlbmNvZGVk" + + "IHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1hdCJgLgo+IC0gV3Jvbmcgc2lkZWNhciB2YWx1ZTogZXZl" + + "cnkgd29ya2VyJ3Mgc2lkZWNhciBwdWxsIGdldHMgYSBtYWxmb3JtZWQgY3JlZGVudGlhbCBhbmQK" + + "PiAgICBgNDAzYHMsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gga2V5IGlzIGluc2lkZS4gVGhlIHN5bXB0" + + "b20gbG9va3MgbGlrZSBhIGJhZCBvciB3cm9uZy1vcmcKPiAgICBrZXksIGJ1dCB0aGUga2V5IGlz" + + "IGZpbmUgYW5kIHRoZSBlbmNvZGluZyBpcyB0aGUgYnVnLiBUbyByZXBhaXIgYW4gYWxyZWFkeS1p" + + "bnN0YWxsZWQKPiAgICBzdGFjayB3aXRob3V0IGEgZnVsbCByZS1zeW5jOgo+Cj4gICAgYGBgYmFz" + + "aAo+ICAgIEFVVEg9JChwcmludGYgJyRvYXV0aHRva2VuOiVzJyAiJEtFWSIgfCBvcGVuc3NsIGJh" + + "c2U2NCAtQSkKPiAgICBiYW8ga3YgcHV0IHNlcnZpY2VzL252Y2YtYXBpL2t2L3NpZGVjYXJzL2lt" + + "YWdlLXB1bGwtc2VjcmV0IHNlY3JldD0iJEFVVEgiCj4gICAgIyBpZiBOVklESUEgQ2xvdWQgVGFz" + + "a3MgaXMgZW5hYmxlZCwgcmVwZWF0IGZvciBzZXJ2aWNlcy9udmN0LWFwaS9rdi9zaWRlY2Fycy9p" + + "bWFnZS1wdWxsLXNlY3JldAo+ICAgIGt1YmVjdGwgcm9sbG91dCByZXN0YXJ0IC1uIG52Y2YgZGVw" + + "bG95L252Y2YtYXBpICAgIyBwaWNrcyB1cCB0aGUgbmV3IHNpZGVjYXIgY3JlZAo+ICAgIGBgYAo+" + + "Cj4gTm90ZSAobXVsdGktb3JnKTogd2hlbiBwdWxsaW5nIGZyb20gTkdDIChub3QgYSBtaXJyb3Ip" + + "LCB0aGUgdXNlciBmdW5jdGlvbiBpbWFnZSBhbmQKPiB0aGUgcGxhdGZvcm0gc2lkZWNhcnMgb2Z0" + + "ZW4gbGl2ZSBpbiBkaWZmZXJlbnQgbnZjci5pbyBvcmdzLCBlYWNoIG5lZWRpbmcgYSBkaWZmZXJl" + + "bnQKPiBrZXksIHNvIHRoZSBhY2NvdW50LWJvb3RzdHJhcCBjcmVkIChmdW5jdGlvbiBpbWFnZSkg" + + "YW5kIHRoZSBzaWRlY2FyIHNlY3JldCAoc2lkZWNhcnMpCj4gYXJlIGZyZXF1ZW50bHkgdHdvIGRp" + + "ZmZlcmVudCBrZXlzLiBNaXJyb3JpbmcgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHJlZ2lzdHJ5" + + "IHRoZQo+IGNsdXN0ZXIgYXV0aGVudGljYXRlcyB0byBhdXRvbWF0aWNhbGx5IGNvbGxhcHNlcyB0" + + "aGlzIHRvIG9uZSBjcmVkZW50aWFsIHBhdGguCgojIyMgQ29uZmlndXJpbmcgd2l0aCBLeXZlcm5v" + + "IChyZWNvbW1lbmRlZCkKClVzZSBhIEt5dmVybm8gbXV0YXRpbmcgYWRtaXNzaW9uIHBvbGljeSB0" + + "byBhdXRvbWF0aWNhbGx5IGluamVjdCBgaW1hZ2VQdWxsU2VjcmV0c2AgaW50byBhbGwgcG9kcyBp" + + "biBOVkNGIG5hbWVzcGFjZXMuIFRoaXMgd29ya3MgdW5pZm9ybWx5IGZvciBhbGwgY2hhcnRzIC0t" + + "IG5vIHBlci1jaGFydCBjb25maWd1cmF0aW9uIG9yIGhlbG1maWxlIG1vZGlmaWNhdGlvbnMgbmVl" + + "ZGVkLgoKYGBgYmFzaAojIDEuIEluc3RhbGwgS3l2ZXJubwpoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + + "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + + "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + + "cGFjZQoKIyAyLiBDcmVhdGUgcHVsbCBzZWNyZXQgaW4gZWFjaCBuYW1lc3BhY2UKZXhwb3J0IE5H" + + "Q19BUElfS0VZPSI8eW91ci1rZXk+Igpmb3IgbnMgaW4gY2Fzc2FuZHJhLXN5c3RlbSBuYXRzLXN5" + + "c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNlcnQtbWFuYWdlcjsgZG8K" + + "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + + "LS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRv" + + "a2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAtLW5hbWVz" + + "cGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + + "IC1mIC0KZG9uZQoKIyAzLiBBcHBseSB0aGUgS3l2ZXJubyBDbHVzdGVyUG9saWN5Cmt1YmVjdGwg" + + "YXBwbHkgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgpUaGUgcG9s" + + "aWN5IG11dGF0ZXMgZXZlcnkgcG9kIGF0IGFkbWlzc2lvbiB0aW1lLCBhZGRpbmcgYGltYWdlUHVs" + + "bFNlY3JldHM6IFt7bmFtZTogbnZjci1jcmVkc31dYC4gVmVyaWZ5IHdpdGg6CgpgYGBiYXNoCmt1" + + "YmVjdGwgZ2V0IHBvZCAtbiA8bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1vIGpzb25wYXRoPSd7LnNw" + + "ZWMuaW1hZ2VQdWxsU2VjcmV0c30nCiMgU2hvdWxkIHNob3c6IFt7Im5hbWUiOiJudmNyLWNyZWRz" + + "In1dCmBgYAoKTm90IG5lZWRlZCBpZiB1c2luZyBhIENTUCBidWlsdC1pbiBjcmVkZW50aWFsIGhl" + + "bHBlciAoZS5nLiwgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMpLgoKRm9yIHRoZSBLeXZlcm5vIHBv" + + "bGljeSBZQU1MIGFuZCBwdWxsIHNlY3JldCBjcmVhdGlvbiBzY3JpcHQsIHNlZSBbcmVmZXJlbmNl" + + "cy9wdWxsLXNlY3JldHMubWRdKHJlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kKS4KCiMjIERlYnVn" + + "Z2luZwoKIyMjIFF1aWNrIHN0YXR1cyBjaGVjawoKYGBgYmFzaAprdWJlY3RsIGdldCBwb2RzIC1B" + + "IC1vIHdpZGUgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBwb2RzCmhlbG0gbGlzdCAtQSAg" + + "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFsbCBoZWxtIHJlbGVhc2Vz" + + "Cmt1YmVjdGwgZ2V0IGV2ZW50cyAtbiA8bnM+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnICAj" + + "IFJlY2VudCBldmVudHMKYGBgCgojIyMgQ29tbW9uIGZhaWx1cmUgcGF0dGVybnMKCnwgU3ltcHRv" + + "bSB8IENhdXNlIHwgRml4IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tfAp8IGBJbWFnZVB1bGxC" + + "YWNrT2ZmYCArIGA0MDEgVW5hdXRob3JpemVkYCB8IE1pc3Npbmcgb3Igd3JvbmcgcHVsbCBzZWNy" + + "ZXQgfCBDaGVjayBzZWNyZXQgZXhpc3RzLCBjaGVjayBTQSBoYXMgaW1hZ2VQdWxsU2VjcmV0cyB8" + + "CnwgYEluaXQ6MC8xYCBzdHVjayBvbiBzZXJ2aWNlIHBvZHMgfCBWYXVsdC1hZ2VudCB3YWl0aW5n" + + "IGZvciBPcGVuQmFvIHwgQ2hlY2sgT3BlbkJhbyBwb2RzICsgbWlncmF0aW9uIGpvYiBzdGF0dXMg" + + "fAp8IGBJbml0OjAvMWAgKyBgdmF1bHQtYWdlbnQtaW5pdGAgc2hvd3MgYGF1dGgvand0L2xvZ2lu" + + "YCAtPiBgNDAwIC4uLiBubyBrbm93biBrZXkgc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgdG9r" + + "ZW4gc2lnbmF0dXJlYCB8IE9wZW5CYW8gSldUIGF1dGggY29uZmlndXJlZCB3aXRoIGEgc3RhdGlj" + + "IHB1YmtleSBpbnN0ZWFkIG9mIHRoZSBjbHVzdGVyJ3MgbGl2ZSBKV0tTIC0tIHRoZSBiYXNlIGRl" + + "ZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogZmFsc2Vg" + + "LiBDb21tb24gb24gQUtTIC8gYW55IE9JREMtaXNzdWVyIGNsdXN0ZXIgfCBTZXQgYG9wZW5iYW8u" + + "bWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDogdHJ1ZWAsIGRlbGV0ZSBqb2IgYG9w" + + "ZW5iYW8tc2VydmVyLW1pZ3JhdGlvbnNgLCByZS1zeW5jIGBvcGVuYmFvLXNlcnZlcmAuIFNlZSBb" + + "cmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRdKHJlZmVyZW5jZXMvZGVidWdnaW5nLm1kKSAiSW5pdDow" + + "LzEgU3R1Y2siIGZpeCAjNC4gfAp8IGBPT01LaWxsZWRgIG9uIENhc3NhbmRyYSB8IERlZmF1bHQg" + + "cmVzb3VyY2VzIHRvbyBzbWFsbCB8IE92ZXJyaWRlIGBjYXNzYW5kcmEucmVzb3VyY2VzYCB2aWEg" + + "dmFsdWVzIGJsb2NrIHwKfCBEQi1iYWNrZWQgc2VydmljZXMgY3Jhc2gtbG9vcCBgQmFkIGNyZWRl" + + "bnRpYWxzYCBjb25uZWN0aW5nIHRvIENhc3NhbmRyYSB8IFNlY3JldHMgZmlsZSBzZXQgb25seSBg" + + "REVGQVVMVF9DQVNTQU5EUkFfUEFTU1dPUkRgOyBgY2Fzc2FuZHJhLnNlcnZpY2VSb2xlUGFzc3dv" + + "cmRgIHN0aWxsIGRlZmF1bHRzIHRvIGBjaEBuZzNtM2AgfCBTZXQgYGNhc3NhbmRyYS5zZXJ2aWNl" + + "Um9sZVBhc3N3b3JkYCBpbiB0aGUgc2VjcmV0cyBmaWxlIGVxdWFsIHRvIGBERUZBVUxUX0NBU1NB" + + "TkRSQV9QQVNTV09SRGAsIHRoZW4gcmUtc3luYyBjYXNzYW5kcmEgKyB0aGUgREItYmFja2VkIHNl" + + "cnZpY2VzIHwKfCBgUGVuZGluZ2AgcG9kcyB8IE5vZGUgc2VsZWN0b3IgbWlzbWF0Y2ggb3Igbm8g" + + "c3RvcmFnZSBjbGFzcyB8IGBrdWJlY3RsIGRlc2NyaWJlIHBvZGAsIGNoZWNrIGxhYmVscyBhbmQg" + + "c3RvcmFnZSB8CnwgSGVsbSByZWxlYXNlIGluIGBmYWlsZWRgIHN0YXRlIHwgRmlyc3QgaW5zdGFs" + + "bCBmYWlsZWQgcGFydHdheSB8IGBoZWxtZmlsZSBkZXN0cm95YCB0aGUgcmVsZWFzZSwgdGhlbiBg" + + "c3luY2AgYWdhaW4gfAp8IEFjY291bnQgYm9vdHN0cmFwIHRpbWVvdXQgfCBXcm9uZyBiYXNlNjQg" + + "Y3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlIHwgQ2hlY2sgYGt1YmVjdGwgbG9ncyBqb2IvbnZj" + + "Zi1hcGktYWNjb3VudC1ib290c3RyYXAgLW4gbnZjZmAgfAp8IGZ1bmN0aW9uIC8gYWNjb3VudCBj" + + "YWxscyByZXR1cm4gYDQwNCBVbmtub3duIGNsaWVudF9pZGAgfCBUaGUgYWNjb3VudC1ib290c3Ry" + + "YXAgcG9zdC1pbnN0YWxsIGhvb2sgbmV2ZXIgcmFuOiB0aGUgYGFwaWAgcmVsZWFzZSBpbnN0YWxs" + + "IGZhaWxlZCwgb3Igd2FzIHJlcGFpcmVkIHdpdGggbGl2ZSBwYXRjaGVzIGluc3RlYWQgb2YgYSBj" + + "bGVhbiByZS1zeW5jLCBzbyB0aGUgaG9vayAoYW5kIHRoZSBhY2NvdW50KSB3YXMgc2tpcHBlZCB8" + + "IFZlcmlmeSBhbmQgcmUtcnVuIHRoZSBob29rOyBzZWUgW1ZlcmlmeSB0aGUgYWNjb3VudCBib290" + + "c3RyYXAgcmFuXSgjdmVyaWZ5LXRoZS1hY2NvdW50LWJvb3RzdHJhcC1yYW4pIHwKfCBTZXJ2aWNl" + + "cyBmYWlsIHRvIHJlYWQgdmF1bHQgc2VjcmV0czsgYHNlY3JldHMuanNvbmAgbm90IGZvdW5kIHwg" + + "VmF1bHQgcGF0aCBoYXJkY29kZWQgdG8gYC9ob21lL2FwcC92YXVsdC9gIGluIGBfaGVscGVycy50" + + "cGxgOyB0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgbW91bnRlZCBwYXRoIHJlbGF0aXZlIHRvIHRo" + + "ZSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgZHJvcHMgdGhlIGxlYWRpbmcgYC9gIHwgT3ZlcnJpZGUg" + + "YHBvZEFubm90YXRpb25zYCBhbmQgc2V0IGBKQVZBX1RPT0xfT1BUSU9OUzogIi1EdXNlci5kaXI9" + + "LyJgIGluIHJlbGVhc2UgdmFsdWVzIHwKfCBOQVRTIGNvbm5lY3Rpb24gZmFpbHMgYXQgc3RhcnR1" + + "cDsgcGxhY2VtZW50IHRhZyBtaXNtYXRjaCB8IE5BVFMgc2VydmVyIHRhZ3MgaGFyZGNvZGVkIHRv" + + "IGBkYzpuY3BgOyBhcHAgZGVyaXZlcyB0YWcgZnJvbSBgQVdTX1JFR0lPTmAgKGUuZy4sIGB1cy1n" + + "b3Ytd2VzdC0xYCkgfCBTZXQgYEFXU19SRUdJT049bmNwYCBhbmQgYE5WQ0ZfQVdTX1JFR0lPTj1u" + + "Y3BgIGluIGVudiBjb25maWcgfAoKIyMjIFZlcmlmeSB0aGUgYWNjb3VudCBib290c3RyYXAgcmFu" + + "CgpUaGUgZGVmYXVsdCBhY2NvdW50IGlzIGNyZWF0ZWQgYnkgYSAqKmBwb3N0LWluc3RhbGxgIGhv" + + "b2sgb24gdGhlIGBhcGlgIHJlbGVhc2UqKgooYGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJh" + + "cGAgaW4gYG52Y2ZgKS4gQmVjYXVzZSBpdCBpcyBhIHBvc3QtaW5zdGFsbCBob29rLCBpdCBvbmx5" + + "CmZpcmVzIG9uIGEgc3VjY2Vzc2Z1bCBgYXBpYCBpbnN0YWxsLiBJZiB0aGF0IGluc3RhbGwgZmFp" + + "bGVkIGFuZCB5b3UgcmVwYWlyZWQgaXQgd2l0aCBsaXZlCnBhdGNoZXMgKHJhdGhlciB0aGFuIGEg" + + "Y2xlYW4gcmUtc3luYyksIHRoZSBob29rIG5ldmVyIHJ1bnMsIG5vIGFjY291bnQgaXMgY3JlYXRl" + + "ZCwgYW5kCmV2ZXJ5IHN1YnNlcXVlbnQgZnVuY3Rpb24vYWNjb3VudCBjYWxsIHJldHVybnMgYSBj" + + "cnlwdGljIGA0MDQgVW5rbm93biBjbGllbnRfaWRgIHdpdGgKbm90aGluZyBvYnZpb3VzbHkgd3Jv" + + "bmcgaW4gdGhlIHJ1bm5pbmcgcG9kcy4KClZlcmlmeSBpdCByYW4gYWZ0ZXIgdGhlIGZpcnN0IHN5" + + "bmM6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGpvYiAtbiBudmNmIG52Y2YtYXBpLWFjY291bnQtYm9v" + + "dHN0cmFwIFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuc3VjY2VlZGVkfScgICAjIGV4cGVjdCAx" + + "CmBgYAoKSWYgdGhlIGpvYiBpcyBhYnNlbnQgb3IgYDBgLCByZS1ydW4gaXQgYnkgcmUtc3luY2lu" + + "ZyB0aGUgYGFwaWAgcmVsZWFzZSBzbyB0aGUgaG9vayBmaXJlcwphZ2FpbiAoZGVsZXRlIHRoZSBw" + + "cmlvciBqb2IgZmlyc3QgaWYgaXQgbGluZ2VycyBpbiBhIGNvbXBsZXRlZC9mYWlsZWQgc3RhdGUg" + + "YW5kIGJsb2NrcyB0aGUKaG9vayk6CgpgYGBiYXNoCmt1YmVjdGwgZGVsZXRlIGpvYiAtbiBudmNm" + + "IG52Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFwIC0taWdub3JlLW5vdC1mb3VuZApIRUxNRklMRV9F" + + "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWFwaSBzeW5jCmt1YmVjdGwgbG9ncyAt" + + "biBudmNmIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAgICMgY29uZmlybSB0aGUgYWNj" + + "b3VudCB3YXMgY3JlYXRlZApgYGAKCiMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCgotIEluc3RhbGxh" + + "dGlvbjogW2V4YW1wbGVzLm1kXShleGFtcGxlcy5tZCksIHRoZSBbQ1NQIEVuZC10by1FbmQgRXhh" + + "bXBsZV0oaHR0cHM6Ly9kb2NzLm52aWRpYS5jb20vbnZjZi92MC42LjAtcmMvY3NwLWVuZC10by1l" + + "bmQtZXhhbXBsZSksIGFuZCBbc3BsaXQgY29tcHV0ZS1wbGFuZSB3b3JrZmxvd3NdKHJlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpCi0gT3BlcmF0aW9uczogW0hlbG1maWxl" + + "IHN0cnVjdHVyZV0ocmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWQpLCBbcHVsbCBzZWNy" + + "ZXRzXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCksIGFuZCBbZGVidWdnaW5nXShyZWZlcmVu" + + "Y2VzL2RlYnVnZ2luZy5tZCkKCkFmdGVyIGRlcGxveW1lbnQsIHVzZSB0aGUgYG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaWAgc2tpbGwgdG8gY3JlYXRlIGZ1bmN0aW9ucywgY3JlYXRlIHRhc2tzLCBtYW5h" + + "Z2UgQVBJIGtleXMsIGFuZCBpbnZva2UgZW5kcG9pbnRzLgpQSwcIEcMUk0liAABJYgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA0AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElsKICB7CiAgICAiaWQiOiAiRzEtdmFsaWRhdGUt" + + "dG9vbC12ZXJzaW9ucyIsCiAgICAicXVlc3Rpb24iOiAiSW5zdGFsbCB0aGUgTlZDRiBzZWxmLW1h" + + "bmFnZWQgc3RhY2sgb24gbXkgQVdTIEVLUyBjbHVzdGVyIiwKICAgICJleHBlY3RlZF9za2lsbCI6" + + "ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJU" + + "aGUgYWdlbnQncyBmaXJzdCBvcGVyYXRpb25hbCBzdGVwIGFmdGVyIHJlYWRpbmcgdGhlIHNraWxs" + + "IHdhcyB0byB2YWxpZGF0ZSBhbGwgcmVxdWlyZWQgdG9vbCB2ZXJzaW9uczogaGVsbWZpbGUgKG11" + + "c3QgYmUgMS4xLngsIG5vdCAxLjIuMCksIGhlbG0gKD49IDMuMTIpLCBoZWxtLWRpZmYgcGx1Z2lu" + + "ICg+PSAzLjExKSwgYW5kIGt1YmVjdGwgKGNsaWVudCB3aXRoaW4gMSBtaW5vciBvZiBjbHVzdGVy" + + "KS4gSXQgZGlkIG5vdCBwcm9jZWVkIHRvIGhlbG1maWxlIHN5bmMgdW50aWwgYWxsIHZlcnNpb25z" + + "IHdlcmUgdmFsaWRhdGVkLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUg" + + "YWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJl" + + "Zm9yZSB0YWtpbmcgYW55IGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxtZmlsZSAt" + + "LXZlcnNpb24nIGFuZCB2ZXJpZmllZCBpdCBpcyAxLjEueCAobm90IDEuMi4wLCB3aGljaCByZW1v" + + "dmVkIHNlcXVlbnRpYWwgbW9kZSkiLAogICAgICAiVGhlIGFnZW50IHJhbiAnaGVsbSB2ZXJzaW9u" + + "JyBhbmQgdmVyaWZpZWQgaXQgaXMgPj0gMy4xMiIsCiAgICAgICJUaGUgYWdlbnQgcmFuICdoZWxt" + + "IHBsdWdpbiBsaXN0JyBhbmQgdmVyaWZpZWQgaGVsbS1kaWZmID49IDMuMTEgaXMgaW5zdGFsbGVk" + + "IiwKICAgICAgIlRoZSBhZ2VudCByYW4gJ2t1YmVjdGwgdmVyc2lvbicgdG8gY2hlY2sgY2xpZW50" + + "L3NlcnZlciB2ZXJzaW9uIGNvbXBhdGliaWxpdHkiLAogICAgICAiVGhlIGFnZW50IGRpZCBub3Qg" + + "cHJvY2VlZCB0byBoZWxtZmlsZSBzeW5jIHVudGlsIGFsbCB2ZXJzaW9uIGNoZWNrcyBwYXNzZWQi" + + "CiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAiRzItdGVtcGxhdGUtYmVmb3JlLXN5bmMiLAogICAg" + + "InF1ZXN0aW9uIjogIlF1aWNrLCBqdXN0IHJ1biBoZWxtZmlsZSBzeW5jIGZvciBteSBOVkNGIHN0" + + "YWNrLCBza2lwIGFsbCB0aGUgY2hlY2tzIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNl" + + "bGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJEZXNwaXRlIHRo" + + "ZSB1c2VyIGFza2luZyB0byBza2lwIGNoZWNrcywgdGhlIGFnZW50IHN0aWxsIHJhbiBoZWxtZmls" + + "ZSB0ZW1wbGF0ZSB0byBwcmV2aWV3IHJlbmRlcmVkIG1hbmlmZXN0cyBiZWZvcmUgcnVubmluZyBo" + + "ZWxtZmlsZSBzeW5jLiBJdCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3IHN0ZXAgaXMgaW1wb3J0" + + "YW50IGFuZCBkaWQgbm90IGJsaW5kbHkgZXhlY3V0ZSBzeW5jLiIsCiAgICAiZXhwZWN0ZWRfYmVo" + + "YXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCByYW4gJ2hlbG1maWxlIHRlbXBsYXRlJyBvciAnaGVsbWZpbGUgLS1zZWxlY3RvciAuLi4gdGVt" + + "cGxhdGUnIHRvIHByZXZpZXcgbWFuaWZlc3RzIGJlZm9yZSBzeW5jIiwKICAgICAgIlRoZSBhZ2Vu" + + "dCBkaWQgbm90IGJsaW5kbHkgcnVuICdoZWxtZmlsZSBzeW5jJyB3aXRob3V0IGEgdGVtcGxhdGUg" + + "cHJldmlldyBzdGVwIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQgd2h5IHRoZSBwcmV2aWV3" + + "IHN0ZXAgaXMgaW1wb3J0YW50IGV2ZW4gd2hlbiBhc2tlZCB0byBza2lwIGl0IgogICAgXQogIH0s" + + "CiAgewogICAgImlkIjogIkc1LWRyeXJ1bi1iZWZvcmUtY2xlYW51cCIsCiAgICAicXVlc3Rpb24i" + + "OiAiTlZDRiBuYW1lc3BhY2VzIGFyZSBzdHVjayBpbiBUZXJtaW5hdGluZyBzdGF0ZS4gQ2xlYW4g" + + "dGhlbSB1cC4iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBpZGVudGlmaWVkIHRoZSBz" + + "dHVjayBuYW1lc3BhY2VzIHdlcmUgY2F1c2VkIGJ5IGZpbmFsaXplcnMgb24gTlZDRkJhY2tlbmQg" + + "Y3VzdG9tIHJlc291cmNlcy4gSXQgcmVtb3ZlZCBmaW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQg" + + "cmVzb3VyY2VzIGZpcnN0LCB0aGVuIGNsZWFyZWQgbmFtZXNwYWNlIGZpbmFsaXplcnMgdG8gZm9y" + + "Y2UtZGVsZXRlIHRoZSBzdHVjayBuYW1lc3BhY2VzLiBJdCBvbmx5IHRhcmdldGVkIE5WQ0YtbWFu" + + "YWdlZCBuYW1lc3BhY2VzIChudmNhLW9wZXJhdG9yLCBudmNmLWJhY2tlbmQpIGFuZCBkaWQgbm90" + + "IHRvdWNoIG90aGVyIGNsdXN0ZXIgcmVzb3VyY2VzLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBjb25m" + + "aXJtZWQgYW5kIHVzZWQgdGhlIGNvbXB1dGUtcGxhbmUgY29udGV4dCBmb3IgYWxsIGNsZWFudXAg" + + "Y29tbWFuZHMiLAogICAgICAiVGhlIGFnZW50IHVzZWQga3ViZWN0bCB0byBwYXRjaCBOVkNGQmFj" + + "a2VuZCByZXNvdXJjZXMgdG8gcmVtb3ZlIHRoZWlyIGZpbmFsaXplcnMiLAogICAgICAiVGhlIGFn" + + "ZW50IHVzZWQga3ViZWN0bCByZXBsYWNlIC0tcmF3IHRvIGNsZWFyIG5hbWVzcGFjZSBmaW5hbGl6" + + "ZXJzIG9uIHN0dWNrIG5hbWVzcGFjZXMiLAogICAgICAiVGhlIGFnZW50IG9ubHkgdGFyZ2V0ZWQg" + + "TlZDRi1tYW5hZ2VkIG5hbWVzcGFjZXMgKG52Y2Etb3BlcmF0b3IsIG52Y2YtYmFja2VuZCkgYW5k" + + "IGRpZCBub3QgdG91Y2ggb3RoZXIgY2x1c3RlciByZXNvdXJjZXMiLAogICAgICAiVGhlIGFnZW50" + + "IGRpZCBub3QganVtcCBkaXJlY3RseSB0byBuYW1lc3BhY2UgZGVsZXRpb24gd2l0aG91dCBmaXJz" + + "dCByZW1vdmluZyBmaW5hbGl6ZXJzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkc2LWhlbG1m" + + "aWxlLXNwbGl0LXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJJbnN0YWxsIGFuIE5WQ0YgY29u" + + "dHJvbCBwbGFuZSBhbmQgYSBzZXBhcmF0ZSBFS1MgY29tcHV0ZSBwbGFuZSB1c2luZyB0aGUgSGVs" + + "bWZpbGUgc3RhY2tzLiBUaGUgY29tcHV0ZSBjbHVzdGVyIGt1YmVjb25maWcgaXMgY29tcHV0ZS55" + + "YW1sLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGtlcHQgdGhlIEhlbG1maWxlIHZh" + + "bHVlcyBmbG93IGluZGVwZW5kZW50IGZyb20gdGhlIENMSSBwcm9maWxlIGZsb3cuIEl0IGF1dGhv" + + "cmVkIHNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQg" + + "ZmlsZXMgcGx1cyBhIGJhcmUtR2F0ZXdheSBDTEkgY29uZmlnIHdpdGggVVJMIGFuZCBzY2hlbWUt" + + "bGVzcyBIb3N0IGZpZWxkcywgaW5zdGFsbGVkIHRoZSBjb250cm9sIHBsYW5lLCByYW4gdGhlIGNv" + + "bXB1dGUtcGxhbmUgTWFrZWZpbGUgcmVnaXN0ZXItY2x1c3RlciB0YXJnZXQgd2l0aCBJQ01TX1VS" + + "TCBhbmQgdGhlIGNvbXB1dGUga3ViZWNvbmZpZywgdGhlbiByYW4gdGhlIGNvbXB1dGUtcGxhbmUg" + + "aW5zdGFsbCB0YXJnZXQgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCBhbmQga3ViZWNvbmZpZy4g" + + "SXQgcmVsaWVkIG9uIHJlZ2lzdHJhdGlvbiB0byBkaXNjb3ZlciBPSURDIGFuZCBKV0tTIGZyb20g" + + "dGhlIGNvbXB1dGUgY29udGV4dC4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAi" + + "VGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5t" + + "ZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgYXV0aG9yZWQgc2VwYXJh" + + "dGUgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwgZmlsZXMgdW5kZXIgZGVwbG95L3N0YWNrcy9zZWxm" + + "LW1hbmFnZWQgYW5kIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBpbnN0YWxsZWQgdGhlIGNvbnRyb2wgcGxhbmUgYmVmb3JlIHJlZ2lzdGVyaW5nIG9y" + + "IGluc3RhbGxpbmcgdGhlIGNvbXB1dGUgcGxhbmUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3Vy" + + "ZWQgYmFzZV9odHRwX3VybCwgaW52b2tlX3VybCwgYmFzZV9ncnBjX3VybCwgYXBpX2tleXNfc2Vy" + + "dmljZV91cmwsIGljbXNfdXJsLCBhcGlfaG9zdCwgYXBpX2tleXNfaG9zdCwgaW52b2tlX2hvc3Qs" + + "IGFuZCBpY21zX2hvc3QgZm9yIHRoZSBiYXJlIEdhdGV3YXkiLAogICAgICAiVGhlIGFnZW50IHVz" + + "ZWQgJ21ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgcmVnaXN0ZXItY2x1" + + "c3Rlcicgd2l0aCBDTFVTVEVSX05BTUUsIE5DQV9JRCwgQ0xVU1RFUl9SRUdJT04sIElDTVNfVVJM" + + "LCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUueWFtbCIsCiAgICAgICJUaGUgYWdlbnQgdXNl" + + "ZCAnbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsJyB3aXRo" + + "IENMVVNURVJfTkFNRSwgSEVMTUZJTEVfRU5WLCBhbmQgS1VCRUNPTkZJR19GSUxFPWNvbXB1dGUu" + + "eWFtbCIsCiAgICAgICJUaGUgYWdlbnQgc3RhdGVkIHRoYXQgSUNNU19VUkwgbWFwcyBvbmx5IHRv" + + "IC0taWNtcy11cmwsIGNvbmZpZyBpY21zX2hvc3Qgc3VwcGxpZXMgdGhlIEhvc3QgaGVhZGVyLCB0" + + "aGVyZSBpcyBubyAtLWljbXMtaG9zdCBNYWtlIG9yIENMSSBmbGFnLCBhbmQgcmVnaXN0cmF0aW9u" + + "IGRpc2NvdmVycyBPSURDIGFuZCBKV0tTIGZyb20gdGhlIGNvbXB1dGUgY29udGV4dCIsCiAgICAg" + + "ICJUaGUgYWdlbnQgZGlkIG5vdCByZXF1aXJlIGEgY29udHJvbC1wbGFuZSBwcm9maWxlIGZvciB0" + + "aGlzIGZsb3cgYW5kIGRpZCBub3QgbWl4IGluIENMSSBwcm9maWxlIGNvbW1hbmRzIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc3LWJvdGgtZG9ja2VyLWhlbG0tYXV0aCIsCiAgICAicXVlc3Rp" + + "b24iOiAiQXV0aGVudGljYXRlIHRvIE5HQyBmb3IgTlZDRiBoZWxtZmlsZSBkZXBsb3ltZW50IiwK" + + "ICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgcmFuIGJvdGggZG9ja2VyIGxvZ2luIGFuZCBo" + + "ZWxtIHJlZ2lzdHJ5IGxvZ2luIGZvciBudmNyLmlvLiBJdCBleHBsYWluZWQgdGhhdCBib3RoIGFy" + + "ZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRvY2tlcikgdG8gcHVs" + + "bCBPQ0kgY2hhcnRzLCBzbyBkb2NrZXIgbG9naW4gYWxvbmUgaXMgaW5zdWZmaWNpZW50LiIsCiAg" + + "ICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJUaGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1z" + + "ZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1kIGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwK" + + "ICAgICAgIlRoZSBhZ2VudCByYW4gJ2RvY2tlciBsb2dpbiBudmNyLmlvJyB3aXRoICRvYXV0aHRv" + + "a2VuIHVzZXJuYW1lIGFuZCBOR0NfQVBJX0tFWSBwYXNzd29yZCIsCiAgICAgICJUaGUgYWdlbnQg" + + "cmFuICdoZWxtIHJlZ2lzdHJ5IGxvZ2luIG52Y3IuaW8nIHdpdGggJG9hdXRodG9rZW4gdXNlcm5h" + + "bWUgYW5kIE5HQ19BUElfS0VZIHBhc3N3b3JkIiwKICAgICAgIlRoZSBhZ2VudCBleHBsYWluZWQg" + + "dGhhdCBib3RoIGFyZSByZXF1aXJlZCBiZWNhdXNlIGhlbG1maWxlIHVzZXMgaGVsbSAobm90IGRv" + + "Y2tlcikgdG8gcHVsbCBPQ0kgY2hhcnRzIiwKICAgICAgIlRoZSBhZ2VudCBkaWQgbm90IHByb3Zp" + + "ZGUgb25seSBvbmUgb2YgdGhlIHR3byBhdXRoZW50aWNhdGlvbiBjb21tYW5kcyIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJHOS1taXNzaW5nLWJ1bmRsZSIsCiAgICAicXVlc3Rpb24iOiAiUnVu" + + "IGhlbG1maWxlIHN5bmMgZm9yIE5WQ0YgaW4gbXkgY3VycmVudCBkaXJlY3RvcnkiLAogICAgImV4" + + "cGVjdGVkX3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3Jv" + + "dW5kX3RydXRoIjogIlRoZSBhZ2VudCBhdHRlbXB0ZWQgdG8gdmVyaWZ5IHRoZSBidW5kbGUgc3Ry" + + "dWN0dXJlIChoZWxtZmlsZS5kLywgZW52aXJvbm1lbnRzLywgc2VjcmV0cy8sIGdsb2JhbC55YW1s" + + "LmdvdG1wbCkgYW5kIHdoZW4gZmlsZXMgd2VyZSBub3QgZm91bmQsIHN0b3BwZWQgYW5kIGluc3Ry" + + "dWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFjdCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2Vk" + + "LXN0YWNrIGJ1bmRsZS4gSXQgZGlkIG5vdCBhdHRlbXB0IHRvIHJ1biBoZWxtZmlsZSBzeW5jIGFn" + + "YWluc3QgYSBtaXNzaW5nIGJ1bmRsZS4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAg" + + "ICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lM" + + "TC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgY2hlY2tlZCBmb3Ig" + + "ZXhwZWN0ZWQgYnVuZGxlIHN0cnVjdHVyZSAoaGVsbWZpbGUuZC8sIGVudmlyb25tZW50cy8sIHNl" + + "Y3JldHMvLCBnbG9iYWwueWFtbC5nb3RtcGwpIiwKICAgICAgIldoZW4gYnVuZGxlIGZpbGVzIHdl" + + "cmUgbm90IGZvdW5kLCB0aGUgYWdlbnQgc3RvcHBlZCBhbmQgZGlkIG5vdCBhdHRlbXB0IGhlbG1m" + + "aWxlIHN5bmMiLAogICAgICAiVGhlIGFnZW50IGluc3RydWN0ZWQgdGhlIHVzZXIgdG8gZXh0cmFj" + + "dCBvciBsb2NhdGUgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLXN0YWNrIGJ1bmRsZSIKICAgIF0KICB9" + + "LAogIHsKICAgICJpZCI6ICJTMS1jbGVhbi1pbnN0YWxsYXRpb24iLAogICAgInF1ZXN0aW9uIjog" + + "IlBlcmZvcm0gYSBjbGVhbiBpbnN0YWxsYXRpb24gb2YgdGhlIE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0" + + "YWNrIG9uIG15IEFXUyBFS1MgY2x1c3Rlci4gTXkgZW52aXJvbm1lbnQgbmFtZSBpcyAnc3RhZ2lu" + + "ZycuIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgY29tcGxldGVkIHRoZSBjb250cm9s" + + "LXBsYW5lIGluc3RhbGxhdGlvbiBmaXJzdDogdmFsaWRhdGVkIHRvb2xzIGFuZCBidW5kbGUgc3Ry" + + "dWN0dXJlLCBjcmVhdGVkIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcyBpbmNsdWRpbmcgY2VydC1t" + + "YW5hZ2VyLCBhdXRoZW50aWNhdGVkIHRoZSByZWdpc3RyaWVzLCBwcmV2aWV3ZWQsIGRlcGxveWVk" + + "LCBhbmQgbW9uaXRvcmVkIHRoZSBmb3VyIGNvbnRyb2wtcGxhbmUgcGhhc2VzLiBJdCB0aGVuIHNl" + + "bGVjdGVkIG9uZSBkb2N1bWVudGVkIGhhbmRvZmYgYW5kIHJlZ2lzdGVyZWQgYW5kIGluc3RhbGxl" + + "ZCB0aGUgY29tcHV0ZSBwbGFuZSBhcyBhIHNlcGFyYXRlIHN0YWNrIHdpdGhvdXQgbWl4aW5nIHBy" + + "b2ZpbGUgYW5kIEhlbG1maWxlIHZhbHVlcyBmbG93cy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9y" + + "IjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdmFs" + + "aWRhdGVkIHRvb2wgdmVyc2lvbnMgKGhlbG1maWxlLCBoZWxtLCBoZWxtLWRpZmYsIGt1YmVjdGwp" + + "IiwKICAgICAgIlRoZSBhZ2VudCB2ZXJpZmllZCB0aGUgYnVuZGxlIHN0cnVjdHVyZSBleGlzdHMi" + + "LAogICAgICAiVGhlIGFnZW50IGNyZWF0ZWQgY29udHJvbC1wbGFuZSBuYW1lc3BhY2VzIChjYXNz" + + "YW5kcmEtc3lzdGVtLCBuYXRzLXN5c3RlbSwgbnZjZiwgYXBpLWtleXMsIGVzcywgc2lzLCB2YXVs" + + "dC1zeXN0ZW0sIGNlcnQtbWFuYWdlcikgd2l0aG91dCBhZGRpbmcgY29tcHV0ZS1vbmx5IG5hbWVz" + + "cGFjZXMiLAogICAgICAiVGhlIGFnZW50IHJhbiAnSEVMTUZJTEVfRU5WPXN0YWdpbmcgaGVsbWZp" + + "bGUgdGVtcGxhdGUnIHRvIHByZXZpZXcgYmVmb3JlIGRlcGxveWluZyIsCiAgICAgICJUaGUgYWdl" + + "bnQgcmFuICdIRUxNRklMRV9FTlY9c3RhZ2luZyBoZWxtZmlsZSBzeW5jJyB0byBkZXBsb3kiLAog" + + "ICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgNCBjb250cm9sLXBsYW5lIHBoYXNlcyAoZGVw" + + "ZW5kZW5jaWVzLCBzZXJ2aWNlcywgaW5ncmVzcywgb2JzZXJ2YWJpbGl0eSkgYW5kIGFwcHJveGlt" + + "YXRlIHdhaXQgdGltZXMiLAogICAgICAiQWZ0ZXIgdGhlIGNvbnRyb2wgcGxhbmUgd2FzIGhlYWx0" + + "aHksIHRoZSBhZ2VudCByZWdpc3RlcmVkIGFuZCBpbnN0YWxsZWQgdGhlIHNlcGFyYXRlIGNvbXB1" + + "dGUtcGxhbmUgc3RhY2sgdXNpbmcgZXhhY3RseSBvbmUgZG9jdW1lbnRlZCBoYW5kb2ZmIiwKICAg" + + "ICAgIlRoZSBhZ2VudCBkaWQgbm90IG1peCBhIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBw" + + "cm9maWxlIHdpdGggdGhlIEhlbG1maWxlIHZhbHVlcyBmbG93IgogICAgXQogIH0sCiAgewogICAg" + + "ImlkIjogIlMzLWNsaS1wcm9maWxlLXdvcmtmbG93IiwKICAgICJxdWVzdGlvbiI6ICJVc2UgbnZj" + + "Zi1jbGkgdG8gaW5zdGFsbCBteSBjb250cm9sIHBsYW5lIGFuZCB0aGVuIHJlZ2lzdGVyIGFuZCBp" + + "bnN0YWxsIGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLiBTaG93IGV2ZXJ5IHJlcXVpcmVkIGds" + + "b2JhbCBmbGFnLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5z" + + "dGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFnZW50IGZpcnN0IHJhbiB0aGUg" + + "Q0xJIGNvbnRyb2wtcGxhbmUgaW5zdGFsbCBhbmQgcmVxdWlyZWQgaXRzIGdlbmVyYXRlZCBjb250" + + "cm9sLXBsYW5lLXByb2ZpbGUueWFtbC4gSXQgdGhlbiBzaG93ZWQgY29tcGxldGUgcmVnaXN0ZXIg" + + "YW5kIGluc3RhbGwgY29tbWFuZHMsIGVhY2ggaW5jbHVkaW5nIC0tY29uZmlnLCAtLWNvbnRyb2wt" + + "cGxhbmUtc3RhY2ssIC0tY29tcHV0ZS1wbGFuZS1zdGFjaywgLS1lbnYsIGFuZCAtLXBsYWluIGJl" + + "Zm9yZSB0aGUgY29tcHV0ZS1wbGFuZSBzdWJjb21tYW5kLiBSZWdpc3RyYXRpb24gY29uc3VtZWQg" + + "dGhlIHByb2ZpbGUgYW5kIHByb2R1Y2VkIHRoZSB2YWx1ZXMgZmlsZSBjb25zdW1lZCBieSBpbnN0" + + "YWxsLiBJdCBkaWQgbm90IHN3aXRjaCB0byB0aGUgSGVsbWZpbGUgdmFsdWVzIGhhbmRvZmYuIiwK" + + "ICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24i" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiBudmNmLWNsaSBzZWxmLWhvc3RlZCBpbnN0YWxsIC0tY29u" + + "dHJvbC1wbGFuZSBhbmQgdmVyaWZpZWQgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2Nv" + + "bnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sIGV4aXN0cyIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29t" + + "bWFuZCBpbmNsdWRlZCAtLWNvbmZpZywgLS1jb250cm9sLXBsYW5lLXN0YWNrLCAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2ssIC0tZW52LCBhbmQgLS1wbGFpbiIsCiAgICAgICJUaGUgcmVnaXN0ZXIgY29t" + + "bWFuZCBpbmNsdWRlZCAtLWNvbnRyb2wtcGxhbmUtcHJvZmlsZSwgLS1jbHVzdGVyLW5hbWUsIC0t" + + "a3ViZS1jb250ZXh0LCAtLXJlZ2lvbiwgYW5kIC0tb3V0cHV0IiwKICAgICAgIlRoZSBpbnN0YWxs" + + "IGNvbW1hbmQgcmVwZWF0ZWQgLS1jb25maWcsIC0tY29udHJvbC1wbGFuZS1zdGFjaywgLS1jb21w" + + "dXRlLXBsYW5lLXN0YWNrLCAtLWVudiwgYW5kIC0tcGxhaW4iLAogICAgICAiVGhlIGluc3RhbGwg" + + "Y29tbWFuZCBpbmNsdWRlZCAtLXZhbHVlcywgLS1rdWJlLWNvbnRleHQsIGFuZCAtLWNsdXN0ZXIt" + + "bmFtZSIsCiAgICAgICJUaGUgYWdlbnQga2VwdCB0aGUgZ2VuZXJhdGVkIHByb2ZpbGUgYXMgdGhl" + + "IGVuZHBvaW50IHNvdXJjZSBhbmQgZGlkIG5vdCBtaXggaW4gSGVsbWZpbGUgdmFsdWVzIHJlZ2lz" + + "dHJhdGlvbiIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTNC1vdmVycmlkZS1jYXNzYW5kcmEt" + + "cmVzb3VyY2VzIiwKICAgICJxdWVzdGlvbiI6ICJDYXNzYW5kcmEgcG9kcyBrZWVwIGdldHRpbmcg" + + "T09NS2lsbGVkLiBJbmNyZWFzZSBtZW1vcnkgbGltaXRzIHRvIDE2R2kuIiwKICAgICJleHBlY3Rl" + + "ZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90" + + "cnV0aCI6ICJUaGUgYWdlbnQgY2FwdHVyZWQgdGhlIGJhc2VsaW5lIHdpdGggaGVsbWZpbGUgdGVt" + + "cGxhdGUsIHRoZW4gbW9kaWZpZWQgdGhlIGNhc3NhbmRyYSByZWxlYXNlIHdpdGggaW5saW5lIHZh" + + "bHVlcyByZS1pbmNsdWRpbmcgZ2xvYmFsLnlhbWwuZ290bXBsIGFuZCBzZWNyZXRzIGluIHRoZSB2" + + "YWx1ZXMgYmxvY2suIEl0IHdhcm5lZCBhYm91dCB0aGUgWUFNTCBtZXJnZSBnb3RjaGEgYW5kIHBy" + + "ZXZpZXdlZCB0aGUgZGlmZiBiZWZvcmUgYXBwbHlpbmcuIiwKICAgICJleHBlY3RlZF9iZWhhdmlv" + + "ciI6IFsKICAgICAgIlRoZSBhZ2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxs" + + "YXRpb24gU0tJTEwubWQgYmVmb3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGNh" + + "cHR1cmVkIGJhc2VsaW5lIHdpdGggJ2hlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5kcmEg" + + "dGVtcGxhdGUnIiwKICAgICAgIlRoZSBhZ2VudCBtb2RpZmllZCB0aGUgcmVsZWFzZSB2YWx1ZXMg" + + "YmxvY2sgdG8gaW5jbHVkZSByZXNvdXJjZSBsaW1pdHMgd2l0aCBtZW1vcnk6IDE2R2kiLAogICAg" + + "ICAiVGhlIGFnZW50IHJlLWluY2x1ZGVkIGdsb2JhbC55YW1sLmdvdG1wbCBhbmQgc2VjcmV0cyBm" + + "aWxlIGluIHRoZSB2YWx1ZXM6IGJsb2NrIChub3QganVzdCB0aGUgb3ZlcnJpZGUgYWxvbmUpIiwK" + + "ICAgICAgIlRoZSBhZ2VudCB3YXJuZWQgYWJvdXQgdGhlIFlBTUwgbWVyZ2UgZ290Y2hhOiBzcGVj" + + "aWZ5aW5nIHZhbHVlczogcmVwbGFjZXMgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGxpc3QgZW50aXJl" + + "bHkiLAogICAgICAiVGhlIGFnZW50IHByZXZpZXdlZCB0aGUgY2hhbmdlIHdpdGggaGVsbWZpbGUg" + + "dGVtcGxhdGUgYW5kIGRpZmYgYmVmb3JlIGFwcGx5aW5nIHdpdGggc3luYyIKICAgIF0KICB9LAog" + + "IHsKICAgICJpZCI6ICJTNi1zZWxlY3RpdmUtc3luYy1kZXBlbmRlbmNpZXMiLAogICAgInF1ZXN0" + + "aW9uIjogIkRlcGxveSBvbmx5IHRoZSBOVkNGIGRlcGVuZGVuY2llcyAtLSBOQVRTLCBDYXNzYW5k" + + "cmEsIGFuZCBPcGVuQmFvIC0tIGZvciB0ZXN0aW5nIiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJu" + + "dmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUg" + + "YWdlbnQgdXNlZCB0aGUgaGVsbWZpbGUgc2VsZWN0b3IgdG8gZGVwbG95IG9ubHkgdGhlIGRlcGVu" + + "ZGVuY2llcyByZWxlYXNlIGdyb3VwLCB0aGVuIHZlcmlmaWVkIHBvZHMgaW4gdGhlIGRlcGVuZGVu" + + "Y3kgbmFtZXNwYWNlcy4iLAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFn" + + "ZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZv" + + "cmUgdGFraW5nIGFjdGlvbiIsCiAgICAgICJUaGUgYWdlbnQgdXNlZCAnaGVsbWZpbGUgLS1zZWxl" + + "Y3RvciByZWxlYXNlLWdyb3VwPWRlcGVuZGVuY2llcyBzeW5jJyB0byBkZXBsb3kgb25seSBkZXBl" + + "bmRlbmNpZXMiLAogICAgICAiVGhlIGFnZW50IHZlcmlmaWVkIHBvZHMgaW4gZGVwZW5kZW5jeSBu" + + "YW1lc3BhY2VzIChuYXRzLXN5c3RlbSwgY2Fzc2FuZHJhLXN5c3RlbSwgdmF1bHQtc3lzdGVtKSIs" + + "CiAgICAgICJUaGUgYWdlbnQgcHJvdmlkZWQgdGhlIHNlbGVjdG9yIHJlZmVyZW5jZSBmb3IgdGFy" + + "Z2V0aW5nIG90aGVyIHJlbGVhc2UgZ3JvdXBzIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlM3" + + "LWRlYnVnLWltYWdlcHVsbGJhY2tvZmYiLAogICAgInF1ZXN0aW9uIjogIkNhc3NhbmRyYSBwb2Rz" + + "IGFyZSBpbiBJbWFnZVB1bGxCYWNrT2ZmIHdpdGggNDAxIFVuYXV0aG9yaXplZCIsCiAgICAiZXhw" + + "ZWN0ZWRfc2tpbGwiOiAibnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91" + + "bmRfdHJ1dGgiOiAiVGhlIGFnZW50IHJlYWQgdGhlIGRlYnVnZ2luZyByZWZlcmVuY2UgYW5kIHJh" + + "biBkaWFnbm9zdGljIGNvbW1hbmRzIHRvIGlkZW50aWZ5IHRoZSByb290IGNhdXNlOiBkZXNjcmli" + + "ZWQgdGhlIHBvZCwgY2hlY2tlZCBmb3IgcHVsbCBzZWNyZXRzLCBjaGVja2VkIGltYWdlUHVsbFNl" + + "Y3JldHMgb24gdGhlIHBvZCBzcGVjIGFuZCBzZXJ2aWNlIGFjY291bnQuIEl0IGlkZW50aWZpZWQg" + + "dGhlIGlzc3VlIChtaXNzaW5nIHNlY3JldCwgd3JvbmcgY3JlZGVudGlhbHMsIG9yIG1pc3Npbmcg" + + "aW1hZ2VQdWxsU2VjcmV0cykgYW5kIHByb3ZpZGVkIHRoZSBjb3JyZWN0IGZpeC4iLAogICAgImV4" + + "cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52Y2Ytc2VsZi1t" + + "YW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBhbmQgcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWQi" + + "LAogICAgICAiVGhlIGFnZW50IHJhbiAna3ViZWN0bCBkZXNjcmliZSBwb2QnIHRvIHNlZSB0aGUg" + + "SW1hZ2VQdWxsQmFja09mZiBldmVudHMiLAogICAgICAiVGhlIGFnZW50IGNoZWNrZWQgZm9yIHB1" + + "bGwgc2VjcmV0cyBpbiB0aGUgY2Fzc2FuZHJhLXN5c3RlbSBuYW1lc3BhY2UiLAogICAgICAiVGhl" + + "IGFnZW50IGNoZWNrZWQgaW1hZ2VQdWxsU2VjcmV0cyBvbiB0aGUgcG9kIHNwZWMgYW5kL29yIHNl" + + "cnZpY2UgYWNjb3VudCIsCiAgICAgICJUaGUgYWdlbnQgaWRlbnRpZmllZCB0aGUgcm9vdCBjYXVz" + + "ZSBhbmQgcHJvdmlkZWQgYSBzcGVjaWZpYyBmaXgiCiAgICBdCiAgfSwKICB7CiAgICAiaWQiOiAi" + + "UzktcmVtb3RlLWVrcy1yb3V0aW5nLWFuZC1zZWNyZXRzIiwKICAgICJxdWVzdGlvbiI6ICJDb25m" + + "aWd1cmUgYSByZW1vdGUgRUtTIGNvbXB1dGUgY2x1c3RlciB0byByZWFjaCBteSBOVkNGIGNvbnRy" + + "b2wgcGxhbmUgdGhyb3VnaCBpdHMgRW52b3kgR2F0ZXdheSwgaW5jbHVkaW5nIE5BVFMgYW5kIHBy" + + "aXZhdGUtcmVnaXN0cnkgcHVsbCBzZWNyZXRzLiIsCiAgICAiZXhwZWN0ZWRfc2tpbGwiOiAibnZj" + + "Zi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIiwKICAgICJncm91bmRfdHJ1dGgiOiAiVGhlIGFn" + + "ZW50IGNvbmZpZ3VyZWQgdGhlIGNvbnRyb2wgcGxhbmUgdG8gdXNlIHRoZSBFbnZveSBHYXRld2F5" + + "IGNvbnRyb2xsZXIgaW4gZW52b3ktZ2F0ZXdheS1zeXN0ZW0gYW5kIEdhdGV3YXkvbnZjZi1nYXRl" + + "d2F5IGluIGVudm95LWdhdGV3YXksIHNldCBhbGwgc2l4IHJlbW90ZSB3b3JrZXIgZW5kcG9pbnRz" + + "IGFuZCB0aGUgZ3JwYy1wcm94eSBsb2NhbCBvdmVycmlkZSwgZW5hYmxlZCBOVkNGIGFuZCBOVkNU" + + "IGdSUEMgcm91dGVzIHBsdXMgTkFUUywgYW5kIGVuYWJsZWQgT3BlbkJhbyBpc3N1ZXIgZGlzY292" + + "ZXJ5LiBJdCBjb25maWd1cmVkIHRoZSBiYXJlLUdhdGV3YXkgQ0xJIFVSTCBhbmQgSG9zdCBmaWVs" + + "ZHMgaW5jbHVkaW5nIGljbXNfaG9zdCwgcGx1cyB0aGUgY29tcHV0ZS1wbGFuZSBJQ01TLCBSZVZh" + + "bCwgYW5kIE5BVFMgZXh0ZXJuYWwgVVJMcyBhbmQgaG9zdCBvdmVycmlkZXMuIEl0IGNyZWF0ZWQg" + + "dGhlIHB1bGwgc2VjcmV0IGluIGFsbCBjb250cm9sLXBsYW5lIG5hbWVzcGFjZXMgaW5jbHVkaW5n" + + "IGNlcnQtbWFuYWdlciwgYnV0IG9ubHkgaW4gbnZjYS1vcGVyYXRvciBvbiB0aGUgY29tcHV0ZSBj" + + "bHVzdGVyOyB0aGUgY2hhcnQgYW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBudmNhLXN5c3RlbS4i" + + "LAogICAgImV4cGVjdGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHJlYWQgdGhlIG52" + + "Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiBTS0lMTC5tZCBiZWZvcmUgdGFraW5nIGFjdGlv" + + "biIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGluZ3Jlc3MuZ2F0ZXdheUFwaS5jb250cm9sbGVyTmFt" + + "ZXNwYWNlIHRvIGVudm95LWdhdGV3YXktc3lzdGVtIiwKICAgICAgIlRoZSBhZ2VudCBzZXQgc2hh" + + "cmVkLCBncnBjLCBhbmQgbmF0cyBHYXRld2F5IHJlZmVyZW5jZXMgdG8gbmFtZSBudmNmLWdhdGV3" + + "YXkgYW5kIG5hbWVzcGFjZSBlbnZveS1nYXRld2F5IiwKICAgICAgIlRoZSBhZ2VudCBzZXQgZ2xv" + + "YmFsLndvcmtlckVuZHBvaW50cy5udmNmU2VydmljZVVSTCwgbnZjZkdycGNTZXJ2aWNlVVJMLCBu" + + "dmNmTmF0c1NlcnZpY2VVUkwsIG52Y3RTZXJ2aWNlVVJMLCBudmN0R3JwY1NlcnZpY2VVUkwsIGFu" + + "ZCBpbnZvY2F0aW9uU2VydmljZVVSTCIsCiAgICAgICJUaGUgYWdlbnQgc2V0IGdycGNwcm94eS5u" + + "dmNmR3JwY1NlcnZpY2VVUkwgdG8gdGhlIGNvbnRyb2wtcGxhbmUtbG9jYWwgQVBJIGdSUEMgc2Vy" + + "dmljZSIsCiAgICAgICJUaGUgYWdlbnQgZW5hYmxlZCBib3RoIGluZ3Jlc3MuZ2F0ZXdheUFwaS5y" + + "b3V0ZXMubnZjZkFwaS5ncnBjIGFuZCBudmN0QXBpLmdycGMgd2l0aCB3b3JrZXItYXBpIGFuZCB3" + + "b3JrZXItdGFza3MgaG9zdG5hbWVzIiwKICAgICAgIlRoZSBhZ2VudCBleHBsaWNpdGx5IHNldCBp" + + "bmdyZXNzLmdhdGV3YXlBcGkucm91dGVzLm5hdHMuZW5hYmxlZCB0byB0cnVlIiwKICAgICAgIlRo" + + "ZSBhZ2VudCBzZXQgb3BlbmJhby5taWdyYXRpb25zLmlzc3VlckRpc2NvdmVyeS5lbmFibGVkIHRv" + + "IHRydWUiLAogICAgICAiVGhlIGFnZW50IGNvbmZpZ3VyZWQgdGhlIGJhcmUtR2F0ZXdheSBDTEkg" + + "VVJMIGFuZCBIb3N0IGZpZWxkcywgaW5jbHVkaW5nIHNjaGVtZS1sZXNzIGljbXNfaG9zdCIsCiAg" + + "ICAgICJUaGUgYWdlbnQgY29uZmlndXJlZCBjb21wdXRlLXBsYW5lIGljbXNTZXJ2aWNlVVJMLCBp" + + "Y21zU2VydmljZUhvc3RIZWFkZXJPdmVycmlkZSwgcmV2YWxTZXJ2aWNlVVJMLCByZXZhbFNlcnZp" + + "Y2VIb3N0SGVhZGVyT3ZlcnJpZGUsIG5hdHNVUkwsIGFuZCBuYXRzSG9zdE92ZXJyaWRlIiwKICAg" + + "ICAgIlRoZSBjb250cm9sLXBsYW5lIHB1bGwtc2VjcmV0IG5hbWVzcGFjZSBsaXN0IGluY2x1ZGVk" + + "IGNlcnQtbWFuYWdlciIsCiAgICAgICJUaGUgY29tcHV0ZS1wbGFuZSBzZWNyZXQgd2FzIGNyZWF0" + + "ZWQgb25seSBpbiBudmNhLW9wZXJhdG9yIGFuZCBtaXJyb3JlZCBieSB0aGUgY2hhcnQgYW5kIG9w" + + "ZXJhdG9yIHRvIG52Y2Etc3lzdGVtIgogICAgXQogIH0sCiAgewogICAgImlkIjogIkcxMS1zcGxp" + + "dC10ZWFyZG93biIsCiAgICAicXVlc3Rpb24iOiAiVGVhciBkb3duIG15IHNwbGl0IGNvbnRyb2wt" + + "cGxhbmUgYW5kIGNvbXB1dGUtcGxhbmUgZGVwbG95bWVudCBzYWZlbHkuIFNob3cgYm90aCB0aGUg" + + "SGVsbWZpbGUgdmFsdWVzIGFuZCBDTEkgcHJvZmlsZSB2YXJpYW50cy4iLAogICAgImV4cGVjdGVk" + + "X3NraWxsIjogIm52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3Ry" + + "dXRoIjogIlRoZSBIZWxtZmlsZSBmbG93IGRlc3Ryb3llZCBhbmQgY29uZmlybWVkIGRlcmVnaXN0" + + "cmF0aW9uIG9mIGV2ZXJ5IGNvbXB1dGUgY2x1c3RlciBiZWZvcmUgZGVzdHJveWluZyB0aGUgY29u" + + "dHJvbCBwbGFuZSBhbmQgcGFzc2VkIGJvdGggY29udHJvbC1wbGFuZSBrdWJlY29uZmlnIGZvcm1z" + + "LiBCZWZvcmUgZWl0aGVyIGhhbmRvZmYgY291bGQgZGVzdHJveSB0aGUgY29udHJvbCBwbGFuZSwg" + + "Ym90aCB0ZWFyZG93biBmbG93cyB3YXJuZWQgdGhhdCBuYW1lc3BhY2UgcHJlc2VydmF0aW9uIGRv" + + "ZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UsIHJlcXVpcmVkIGVmZmVjdGl2ZSBjZXJ0" + + "TWFuYWdlci5lbmFibGVkOiBmYWxzZSBmb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uIGFuZCBh" + + "Ym9ydGVkIGlmIHRydWUsIGFuZCB2ZXJpZmllZCBtYXRjaGluZyByZWxlYXNlIG93bmVyc2hpcCBm" + + "b3IgYW4gaW50ZW5kZWQgc3RhY2stbWFuYWdlZCByZWxlYXNlLCBhYm9ydGluZyBvbiBtaXNzaW5n" + + "IG9yIG1pc21hdGNoZWQgZXZpZGVuY2UuIFRoZXkgcHJlc2VydmVkIHRoZSBuYW1lc3BhY2UgYnkg" + + "ZGVmYXVsdCBhbmQgZGlkIG5vdCBkZWxldGUgaXQgd2l0aG91dCBuYW1lc3BhY2UgcHJvdmVuYW5j" + + "ZSBhbmQgZXhwbGljaXQgY29uZmlybWF0aW9uLiBUaGUgQ0xJIGZsb3cgcmV0YWluZWQgdGhlIGdl" + + "bmVyYXRlZCByZWdpc3RyYXRpb24gdmFsdWVzLCB1c2VkIHRoZSBmdWxsLXByZWZpeCBzdGF0dXMg" + + "Y29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3RhdGVkIHRoYXQgbmFtZWQt" + + "Y2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQgY2Fubm90IHByZWRpY3Qg" + + "Y29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCBhbmQgZ290IGV4cGxpY2l0IGNvbmZp" + + "cm1hdGlvbiB3aGVuIHRoZSB0YXJnZXQgd2FzIHRoZSBsYXN0IHJlZ2lzdGVyZWQgY2x1c3Rlci4g" + + "SXQgdGhlbiBwcmV2aWV3ZWQgYW5kIHJhbiBkb3duIHdpdGggdGhlIGZ1bGwgcGVyc2lzdGVudCBw" + + "cmVmaXgsIHJlbW92aW5nIHRoZSBjb250cm9sIHBsYW5lIG9ubHkgYWZ0ZXIgdGhlIGxhc3QgcmVn" + + "aXN0cmF0aW9uIHdhcyBnb25lLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3IiOiBbCiAgICAgICJU" + + "aGUgYWdlbnQgcmVhZCB0aGUgbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uIFNLSUxMLm1k" + + "IGJlZm9yZSB0YWtpbmcgYWN0aW9uIiwKICAgICAgIkZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIs" + + "IHRoZSBIZWxtZmlsZSBmbG93IHJhbiB0aGUgY29tcHV0ZS1wbGFuZSBNYWtlZmlsZSBkZXN0cm95" + + "IHRhcmdldCB3aXRoIGl0cyBjb21wdXRlIGt1YmVjb25maWciLAogICAgICAiQWZ0ZXIgY29uZmly" + + "bWF0aW9uLCB0aGUgSGVsbWZpbGUgZmxvdyByYW4gY2x1c3RlciBkZWxldGUgd2l0aCBjbHVzdGVy" + + "SUQgYW5kIG5jYUlEIGJlZm9yZSBjb250cm9sLXBsYW5lIGRlc3RydWN0aW9uIiwKICAgICAgIkJl" + + "Zm9yZSBlaXRoZXIgaGFuZG9mZiBjb3VsZCBkZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBib3Ro" + + "IHRlYXJkb3duIGZsb3dzIHdhcm5lZCB0aGF0IG5hbWVzcGFjZSBwcmVzZXJ2YXRpb24gZG9lcyBu" + + "b3QgcHJlc2VydmUgdGhlIEhlbG0gcmVsZWFzZSwgcmVxdWlyZWQgZWZmZWN0aXZlIGNlcnRNYW5h" + + "Z2VyLmVuYWJsZWQ6IGZhbHNlIGZvciBhbiBleHRlcm5hbCBpbnN0YWxsYXRpb24gYW5kIGFib3J0" + + "ZWQgaWYgdHJ1ZSwgYW5kIHZlcmlmaWVkIGludGVuZGVkIHN0YWNrIG93bmVyc2hpcCB3aGVuIGVu" + + "YWJsZWQsIGFib3J0aW5nIG9uIG1pc3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZSIsCiAgICAg" + + "ICJCb3RoIHRlYXJkb3duIGZsb3dzIHByZXNlcnZlZCB0aGUgY2VydC1tYW5hZ2VyIG5hbWVzcGFj" + + "ZSBieSBkZWZhdWx0IGFuZCBkaWQgbm90IGRlbGV0ZSBpdCB3aXRob3V0IG5hbWVzcGFjZSBwcm92" + + "ZW5hbmNlIGFuZCBleHBsaWNpdCBjb25maXJtYXRpb24iLAogICAgICAiVGhlIEhlbG1maWxlIGZs" + + "b3cgcmFuIGNvbnRyb2wtcGxhbmUgTWFrZWZpbGUgZGVzdHJveSB3aXRoIGJvdGggS1VCRUNPTkZJ" + + "RyBhbmQgS1VCRUNPTkZJR19GSUxFIiwKICAgICAgIlRoZSBDTEkgZmxvdyByZXRhaW5lZCBvdXQv" + + "PGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWwgdW50aWwgdGVhcmRvd24gY29tcGxl" + + "dGVkIiwKICAgICAgIkJlZm9yZSByZWFsIGRvd24sIHRoZSBDTEkgZmxvdyB1c2VkIHRoZSBmdWxs" + + "LXByZWZpeCBzdGF0dXMgY29tbWFuZCB0byBpbnNwZWN0IGxpdmUgcmVnaXN0cmF0aW9ucywgc3Rh" + + "dGVkIHRoYXQgbmFtZWQtY2x1c3RlciBwbGFuLW9ubHkgZG9lcyBub3QgcXVlcnkgSUNNUyBhbmQg" + + "Y2Fubm90IHByZWRpY3QgY29uZGl0aW9uYWwgY29udHJvbC1wbGFuZSByZW1vdmFsLCB3YXJuZWQg" + + "d2hlbiB0aGUgdGFyZ2V0IHdhcyB0aGUgbGFzdCByZWdpc3RlcmVkIGNsdXN0ZXIsIGFuZCBnb3Qg" + + "ZXhwbGljaXQgY29uZmlybWF0aW9uIiwKICAgICAgIlRoZSBDTEkgZmxvdyB1c2VkIC0tY29uZmln" + + "LCBib3RoIHN0YWNrIHBhdGhzLCAtLWVudiwgLS1wbGFpbiwgYm90aCBjb250ZXh0cywgYW5kIC0t" + + "aWNtcy11cmwgZm9yIGRvd24gLS1wbGFuLW9ubHkgYW5kIHRoZW4gZG93biIsCiAgICAgICJUaGUg" + + "YWdlbnQgc3RhdGVkIHRoYXQgZG93biB1bnJlZ2lzdGVycyBlYWNoIGNvbXB1dGUgY2x1c3RlciBh" + + "bmQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBvbmx5IGFmdGVyIG5vIHJlZ2lzdHJhdGlvbnMg" + + "cmVtYWluIgogICAgXQogIH0sCiAgewogICAgImlkIjogIlMxMy12YWx1ZXMtcHJlY2VkZW5jZSIs" + + "CiAgICAicXVlc3Rpb24iOiAiSSBhZGRlZCBhIHZhbHVlIHRvIG15IGVudmlyb25tZW50IFlBTUwg" + + "YnV0IGl0J3MgYmVpbmcgc2lsZW50bHkgaWdub3JlZC4gSG93IGRvIGhlbG1maWxlIHZhbHVlcyB3" + + "b3JrIGluIE5WQ0Y/IiwKICAgICJleHBlY3RlZF9za2lsbCI6ICJudmNmLXNlbGYtbWFuYWdlZC1p" + + "bnN0YWxsYXRpb24iLAogICAgImdyb3VuZF90cnV0aCI6ICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRo" + + "ZSB2YWx1ZXMgcHJlY2VkZW5jZSBjaGFpbiAoYmFzZS55YW1sLCBlbnYgWUFNTCwgZ2xvYmFsLnlh" + + "bWwuZ290bXBsLCBzZWNyZXRzLCBpbmxpbmUgdmFsdWVzKSwgaWRlbnRpZmllZCB0aGF0IGdsb2Jh" + + "bC55YW1sLmdvdG1wbCBvbmx5IHBhc3NlcyB0aHJvdWdoIHNwZWNpZmljIGtleXMsIGFuZCBleHBs" + + "YWluZWQgdGhhdCBhcmJpdHJhcnkgY2hhcnQgdmFsdWVzIG11c3QgdXNlIHJlbGVhc2UgaW5saW5l" + + "IHZhbHVlcyBibG9ja3MuIiwKICAgICJleHBlY3RlZF9iZWhhdmlvciI6IFsKICAgICAgIlRoZSBh" + + "Z2VudCByZWFkIHRoZSBudmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24gU0tJTEwubWQgYmVm" + + "b3JlIHRha2luZyBhY3Rpb24iLAogICAgICAiVGhlIGFnZW50IGV4cGxhaW5lZCB0aGUgdmFsdWVz" + + "IHByZWNlZGVuY2UgY2hhaW46IGJhc2UueWFtbCAtPiBlbnYgWUFNTCAtPiBnbG9iYWwueWFtbC5n" + + "b3RtcGwgLT4gc2VjcmV0cyAtPiBpbmxpbmUgdmFsdWVzIiwKICAgICAgIlRoZSBhZ2VudCBpZGVu" + + "dGlmaWVkIHRoYXQgZ2xvYmFsLnlhbWwuZ290bXBsIG9ubHkgcGFzc2VzIHRocm91Z2ggc3BlY2lm" + + "aWMga2V5cyAoY2Fzc2FuZHJhLnJlcGxpY2FDb3VudCwgZ2xvYmFsLnN0b3JhZ2VDbGFzcywgZ2xv" + + "YmFsLmltYWdlLCBldGMuKSIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgYXJiaXRy" + + "YXJ5IGNoYXJ0IHZhbHVlcyBtdXN0IGJlIHNldCB2aWEgcmVsZWFzZSBpbmxpbmUgdmFsdWVzOiBi" + + "bG9ja3MiLAogICAgICAiVGhlIGFnZW50IGxpc3RlZCBleGFtcGxlcyBvZiB2YWx1ZXMgdGhhdCBh" + + "cmUgcHJvcGFnYXRlZCBhbmQgYXJiaXRyYXJ5IGNoYXJ0IHZhbHVlcyB0aGF0IHJlcXVpcmUgYSBy" + + "ZWxlYXNlIHZhbHVlcyBibG9jayIKICAgIF0KICB9LAogIHsKICAgICJpZCI6ICJTMTQtZW5hYmxl" + + "LWxsbS1mdW5jdGlvbnMiLAogICAgInF1ZXN0aW9uIjogIkkgbmVlZCB0byBkZXBsb3kgZnVuY3Rp" + + "b25UeXBlOiBMTE0gZnVuY3Rpb25zIG9uIGEgc2VsZi1tYW5hZ2VkLCBzaW5nbGUtbm9kZSBpc29s" + + "YXRlZCB0ZXN0IGNsdXN0ZXIuIFdoYXQgSGVsbWZpbGUgY29uZmlndXJhdGlvbiBhbmQgdmVyaWZp" + + "Y2F0aW9uIHN0ZXBzIGRvIEkgbmVlZD8iLAogICAgImV4cGVjdGVkX3NraWxsIjogIm52Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWluc3RhbGxhdGlvbiIsCiAgICAiZ3JvdW5kX3RydXRoIjogIlRoZSBhZ2VudCBl" + + "bmFibGVkIHRoZSBMTE0gYWRkb24gd2l0aCBhZGRvbnMubGxtLmVuYWJsZWQsIGNvbmZpZ3VyZWQg" + + "c2luZ2xlIHJlcGxpY2FzIGZvciB0aGUgTExNIEFQSSBHYXRld2F5IGFuZCByZXF1ZXN0IHJvdXRl" + + "ciwgYW5kIGV4cGxhaW5lZCB0aGF0IHRoZSByZXF1ZXN0IHJvdXRlciB1c2VzIHBvd2VyLW9mLXR3" + + "byB3aGVuIG5vIGxvYWQtYmFsYW5jZXIgY29uZmlndXJhdGlvbiBpcyBzZXQuIEl0IGxpbmtlZCB0" + + "aGUgY2Fub25pY2FsIHJlcXVlc3Qtcm91dGVyIGxvYWQtYmFsYW5jaW5nIGd1aWRlIGZvciBvdGhl" + + "ciByb3V0aW5nIG1ldGhvZHMuIEZvciB0aGUgaXNvbGF0ZWQgcGxhaW50ZXh0IGNsdXN0ZXIsIGl0" + + "IHJlbGllZCBvbiB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrIGRlZmF1bHQgZm9yIHRoZSBidW5kbGVk" + + "IGdhdGV3YXktdG8tQVBJIGF1dGhlbnRpY2F0aW9uIGhvcCBhbmQgaW5jbHVkZWQgYWdlbnRDb25m" + + "aWcubWVyZ2VDb25maWcud29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgZm9yIHRoZSBzZXBh" + + "cmF0ZSB3b3JrZXIgdHJhbnNwb3J0LCB3aXRoIGEgd2FybmluZyB0aGF0IHBsYWludGV4dCB3b3Jr" + + "ZXIgdHJhbnNwb3J0IGlzIG5vdCBmb3IgcHJvZHVjdGlvbi4gSXQgcmVmcmVzaGVkIHRoZSBjb21w" + + "dXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBkdXJpbmcgaW5zdGFsbGF0aW9u" + + "LCByZWRlcGxveWVkIGV4aXN0aW5nIExMTSBmdW5jdGlvbnMsIGFuZCB2ZXJpZmllZCB0aGUgTExN" + + "IGRlcGxveW1lbnRzLCByb3V0ZSwgYW5kIGxsbS13b3JrZXIgc2lkZWNhci4iLAogICAgImV4cGVj" + + "dGVkX2JlaGF2aW9yIjogWwogICAgICAiVGhlIGFnZW50IHVzZWQgYWRkb25zLmxsbS5lbmFibGVk" + + "LCBub3QgdGhlIG9ic29sZXRlIGxsbS5lbmFibGVkIHBhdGgiLAogICAgICAiVGhlIGFnZW50IHNl" + + "dCBnYXRld2F5IGFuZCByZXF1ZXN0Um91dGVyIHJlcGxpY2FDb3VudCB0byAxIGZvciB0aGUgc2lu" + + "Z2xlLW5vZGUgdGVzdCBjbHVzdGVyIiwKICAgICAgIlRoZSBhZ2VudCBzdGF0ZWQgdGhhdCB0aGUg" + + "cmVxdWVzdCByb3V0ZXIgZGVmYXVsdHMgdG8gcG93ZXItb2YtdHdvIGFuZCBsaW5rZWQgdGhlIGNh" + + "bm9uaWNhbCByZXF1ZXN0LXJvdXRlciBsb2FkLWJhbGFuY2luZyBndWlkZSBmb3Igb3RoZXIgbWV0" + + "aG9kcyIsCiAgICAgICJUaGUgYWdlbnQgZXhwbGFpbmVkIHRoYXQgdGhlIGJ1bmRsZWQgZ2F0ZXdh" + + "eS10by1BUEkgYXV0aGVudGljYXRpb24gaG9wIGRlZmF1bHRzIHRvIHBsYWludGV4dCwgaW5jbHVk" + + "ZWQgd29ya2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmUgb25seSBmb3IgdGhlIGlzb2xhdGVkIHdv" + + "cmtlciB0cmFuc3BvcnQsIGFuZCB3YXJuZWQgYWdhaW5zdCBwbGFpbnRleHQgd29ya2VyIHRyYW5z" + + "cG9ydCBpbiBwcm9kdWN0aW9uIiwKICAgICAgIlRoZSBhZ2VudCBhcHBsaWVkIHRoZSBjb250cm9s" + + "LXBsYW5lIEhlbG1maWxlIGVudmlyb25tZW50LCByZWZyZXNoZWQgdGhlIGNvbXB1dGUgcGxhbmUg" + + "d2l0aCB0aGUgc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLCBhbmQgcmVjcmVhdGVkIG9yIHJlZGVwbG95" + + "ZWQgZXhpc3RpbmcgTExNIGZ1bmN0aW9ucyIsCiAgICAgICJUaGUgYWdlbnQgdmVyaWZpZWQgbGxt" + + "LWFwaS1nYXRld2F5LCBsbG0tcmVxdWVzdC1yb3V0ZXIsIHRoZSBMTE0gSFRUUFJvdXRlLCBhbmQg" + + "dGhlIGxsbS13b3JrZXIgc2lkZWNhciBpbmNsdWRpbmcgLS1xdWljLWluc2VjdXJlIgogICAgXQog" + + "IH0sCiAgewogICAgImlkIjogIkc4LU5FRy1ub3QtZm9yLWszZCIsCiAgICAicXVlc3Rpb24iOiAi" + + "U2V0IHVwIGEgbG9jYWwgTlZDRiBkZXYgY2x1c3RlciB1c2luZyBrM2QgZm9yIHRlc3RpbmciLAog" + + "ICAgImV4cGVjdGVkX3NraWxsIjogbnVsbCwKICAgICJzaG91bGRfdHJpZ2dlciI6IGZhbHNlLAog" + + "ICAgImdyb3VuZF90cnV0aCI6ICJUaGlzIGlzIGEgbG9jYWwgazNkIGRldmVsb3BtZW50IHJlcXVl" + + "c3QgdGhhdCBiZWxvbmdzIHRvIHRoZSBudmNmLXNlbGYtaG9zdGVkLWxvY2FsLWRldiBza2lsbCwg" + + "bm90IG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi4gVGhlIGFnZW50IGRpZCBub3QgcmVh" + + "ZCBvciB1c2UgdGhlIHNlbGYtbWFuYWdlZCBpbnN0YWxsYXRpb24gc2tpbGwgYW5kIGluc3RlYWQg" + + "cHJvdmlkZWQgazNkLXNwZWNpZmljIGd1aWRhbmNlLiIsCiAgICAiZXhwZWN0ZWRfYmVoYXZpb3Ii" + + "OiBbCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCByZWFkIG52Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9TS0lMTC5tZCIsCiAgICAgICJUaGUgYWdlbnQgZGlkIG5vdCBwcm92aWRlIGhlbG1m" + + "aWxlLWJhc2VkIHByb2R1Y3Rpb24gZGVwbG95bWVudCBpbnN0cnVjdGlvbnMiLAogICAgICAiVGhl" + + "IGFnZW50IHByb3ZpZGVkIGszZC1zcGVjaWZpYyBsb2NhbCBkZXZlbG9wbWVudCBndWlkYW5jZSBv" + + "ciBkZWZlcnJlZCB0byB0aGUgYXBwcm9wcmlhdGUgbG9jYWwtZGV2IHNraWxsIgogICAgXQogIH0K" + + "XQpQSwcIR1VqVkpWAABKVgAAUEsDBBQACAAAAAAAIQAAAAAAAAAAAAAAAAAvAAkAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vZXhhbXBsZXMubWRVVAUAAQCmzhIjIEV4YW1wbGVz" + + "CgpXb3JrZWQgZXhhbXBsZXMgYmFzZWQgb24gcmVhbCBkZXBsb3ltZW50IHNjZW5hcmlvcy4KCiMj" + + "IEV4YW1wbGUgMTogT3ZlcnJpZGUgQ2Fzc2FuZHJhIFJlc291cmNlcwoKVGhlIGRlZmF1bHQgQ2Fz" + + "c2FuZHJhIHJlc291cmNlIGxpbWl0cyBjYXVzZSBPT00gb24gbGFyZ2UgaW5zdGFuY2UgdHlwZXMg" + + "KGUuZy4sIGBwNS40OHhsYXJnZWApLgoKUHJvYmxlbTogQ2Fzc2FuZHJhIHBvZHMgcmVzdGFydCB3" + + "aXRoIGBPT01LaWxsZWRgLgoKU29sdXRpb246IE92ZXJyaWRlIHJlc291cmNlcyB2aWEgaGVsbWZp" + + "bGUgcmVsZWFzZSB2YWx1ZXMgYmxvY2suCgojIyMgU3RlcCAxOiBDYXB0dXJlIGJhc2VsaW5lCgpg" + + "YGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2Fu" + + "ZHJhIHRlbXBsYXRlID4gL3RtcC9jYXNzLWJlZm9yZS55YW1sCmdyZXAgLUE4ICdyZXNvdXJjZXM6" + + "JyAvdG1wL2Nhc3MtYmVmb3JlLnlhbWwgfCBoZWFkIC0xMApgYGAKCiMjIyBTdGVwIDI6IEFkZCBv" + + "dmVycmlkZSB0byBoZWxtZmlsZS5kLzAxLWRlcGVuZGVuY2llcy55YW1sLmdvdG1wbAoKSW4gdGhl" + + "IGV4YW1wbGVzIGJlbG93LCBgPHByaXZhdGUtdmFsdWVzPmAgcmVmZXJzIHRvIHRoZSBgc2VjcmV0" + + "cy9gIGRpcmVjdG9yeSBhdCB0aGUgaGVsbWZpbGUgc3RhY2sgcm9vdC4KCmBgYHlhbWwKLSBuYW1l" + + "OiBjYXNzYW5kcmEKICB2ZXJzaW9uOiAwLjguMAogIGNvbmRpdGlvbjogY2Fzc2FuZHJhLmVuYWJs" + + "ZWQKICBuYW1lc3BhY2U6IGNhc3NhbmRyYS1zeXN0ZW0KICA8PDogKmRlcGVuZGVuY3kKICB2YWx1" + + "ZXM6CiAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgLSAuLi88cHJpdmF0ZS12YWx1ZXM+" + + "L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFtbAogICAgLSBjYXNz" + + "YW5kcmE6CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBj" + + "cHU6ICI4IgogICAgICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICAgICAgcmVxdWVzdHM6CiAg" + + "ICAgICAgICAgIGNwdTogIjIiCiAgICAgICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKIyMjIFN0" + + "ZXAgMzogVmVyaWZ5IGFuZCBhcHBseQoKYGBgYmFzaApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + + "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSB0ZW1wbGF0ZSA+IC90bXAvY2Fzcy1hZnRlci55" + + "YW1sCmRpZmYgL3RtcC9jYXNzLWJlZm9yZS55YW1sIC90bXAvY2Fzcy1hZnRlci55YW1sICAjIENv" + + "bmZpcm0gcmVzb3VyY2VzIGNoYW5nZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2Vs" + + "ZWN0b3IgbmFtZT1jYXNzYW5kcmEgc3luYwpgYGAKCk5vdGU6IGByZXNvdXJjZVByZXNldGAgKGEg" + + "Qml0bmFtaSBmZWF0dXJlKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3" + + "cmFwcGVyIGNoYXJ0LiBVc2UgZXhwbGljaXQgYHJlc291cmNlc2AgaW5zdGVhZC4KCi0tLQoKIyMg" + + "RXhhbXBsZSAyOiBEZXBsb3kgZnJvbSBOR0MgUHJpdmF0ZSBSZWdpc3RyeSB3aXRoIFB1bGwgU2Vj" + + "cmV0cwoKRGVwbG95IHRoZSBOVkNGIHN0YWNrIHB1bGxpbmcgaW1hZ2VzIGRpcmVjdGx5IGZyb20g" + + "TkdDIChgbnZjci5pb2ApIGluc3RlYWQgb2YgYSBtaXJyb3JlZCByZWdpc3RyeSwgdXNpbmcgaW1h" + + "Z2UgcHVsbCBzZWNyZXRzLgoKIyMjIFN0ZXAgMTogQ29uZmlndXJlIGVudmlyb25tZW50IGZvciBO" + + "R0MKCmBgYHlhbWwKIyBlbnZpcm9ubWVudHMvPGVudj4ueWFtbApnbG9iYWw6CiAgaGVsbToKICAg" + + "IHNvdXJjZXM6CiAgICAgIHJlZ2lzdHJ5OiBudmNyLmlvCiAgICAgIHJlcG9zaXRvcnk6IG52aWRp" + + "YS9udmNmCiAgaW1hZ2U6CiAgICByZWdpc3RyeTogbnZjci5pbwogICAgcmVwb3NpdG9yeTogbnZp" + + "ZGlhL252Y2YKYGBgCgojIyMgU3RlcCAyOiBBdXRoZW50aWNhdGUgbG9jYWxseSAoZm9yIGhlbG1m" + + "aWxlIGNoYXJ0IHB1bGxzKQoKYGBgYmFzaApkb2NrZXIgbG9naW4gbnZjci5pbyAtdSAnJG9hdXRo" + + "dG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmhlbG0gcmVnaXN0cnkgbG9naW4gbnZjci5pbyAtdSAn" + + "JG9hdXRodG9rZW4nIC1wICIkTkdDX0FQSV9LRVkiCmBgYAoKIyMjIFN0ZXAgMzogQ3JlYXRlIG5h" + + "bWVzcGFjZXMgYW5kIHB1bGwgc2VjcmV0cwoKYGBgYmFzaApleHBvcnQgTkdDX0FQSV9LRVk9Ijx5" + + "b3VyLW5nYy1hcGkta2V5PiIKCmZvciBucyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVt" + + "IG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1" + + "YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2Ug" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCgpmb3IgbnMgaW4gY2Fzc2Fu" + + "ZHJhLXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVt" + + "IGNlcnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + + "ZXh0PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAgIC0tZG9j" + + "a2VyLXNlcnZlcj1udmNyLmlvIFwKICAgIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicg" + + "XAogICAgLS1kb2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogICAgLS1uYW1lc3BhY2U9" + + "IiRucyIgXAogICAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gYXBwbHkgLWYgLQpkb25lCmBgYAoKIyMjIFN0ZXAgNDog" + + "QWRkIGltYWdlUHVsbFNlY3JldHMgdG8gaGVsbWZpbGUgcmVsZWFzZXMKCkFkZCB0aGUgY2hhcnQt" + + "c3BlY2lmaWMgYGltYWdlUHVsbFNlY3JldHNgIGtleSB0byBlYWNoIHJlbGVhc2UuIEV4YW1wbGUg" + + "Zm9yIGNhc3NhbmRyYSBpbiBgaGVsbWZpbGUuZC8wMS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGxg" + + "OgoKYGBgeWFtbAotIG5hbWU6IGNhc3NhbmRyYQogIHZlcnNpb246IDAuOC4wCiAgY29uZGl0aW9u" + + "OiBjYXNzYW5kcmEuZW5hYmxlZAogIG5hbWVzcGFjZTogY2Fzc2FuZHJhLXN5c3RlbQogIDw8OiAq" + + "ZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290bXBsCiAgICAtIC4u" + + "Lzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2VjcmV0" + + "cy55YW1sCiAgICAtIGNhc3NhbmRyYToKICAgICAgICBnbG9iYWw6CiAgICAgICAgICBpbWFnZVB1" + + "bGxTZWNyZXRzOgogICAgICAgICAgICAtIG52Y3ItY3JlZHMKYGBgCgpTZWUgW3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kXShyZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZCkgZm9yIHRoZSBrZXkg" + + "Zm9yIGV2ZXJ5IGNoYXJ0LgoKVGhlc2UgYXJlIGNvbnRyb2wtcGxhbmUgbmFtZXNwYWNlcy4gRm9y" + + "IGEgc2VwYXJhdGUgY29tcHV0ZSBjbHVzdGVyLCBjcmVhdGUgdGhlCnNlY3JldCBvbmx5IGluIGBu" + + "dmNhLW9wZXJhdG9yYDsgdGhlIGNoYXJ0IGFuZCBvcGVyYXRvciBtaXJyb3IgaXQgdG8KYG52Y2Et" + + "c3lzdGVtYC4gU2VlIFtTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbl0ocmVmZXJlbmNl" + + "cy9jb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCNwdWxsLXNlY3JldHMpLgoKIyMjIFN0ZXAg" + + "NTogRGVwbG95CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLWt1YmUtY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBzeW5jCmBgYAoKIyMjIFN0ZXAgNjogUGF0Y2gg" + + "U2VydmljZUFjY291bnRzIGZvciBjaGFydHMgd2l0aG91dCBuYXRpdmUgc3VwcG9ydAoKQWZ0ZXIg" + + "UGhhc2UgMSAoZGVwZW5kZW5jaWVzKSBjb21wbGV0ZXMsIE9wZW5CYW8gcG9kcyB3aWxsIGJlIGlu" + + "IGBJbWFnZVB1bGxCYWNrT2ZmYC4gUGF0Y2ggYW5kIHJlc3RhcnQ6CgpgYGBiYXNoCmZvciBucyBp" + + "biB2YXVsdC1zeXN0ZW0gbnZjZiBlc3M7IGRvCiAgZm9yIHNhIGluICQoa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHNhIC1uICIkbnMiIFwKICAgIC0tbm8taGVh" + + "ZGVycyAtbyBjdXN0b20tY29sdW1ucz0iOm1ldGFkYXRhLm5hbWUiKTsgZG8KICAgIGt1YmVjdGwg" + + "LS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IHBhdGNoIHNlcnZpY2VhY2NvdW50IC1u" + + "ICIkbnMiICIkc2EiIFwKICAgICAgLXAgJ3siaW1hZ2VQdWxsU2VjcmV0cyI6IFt7Im5hbWUiOiAi" + + "bnZjci1jcmVkcyJ9XX0nCiAgZG9uZQpkb25lCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IGRlbGV0ZSBwb2RzIC1uIHZhdWx0LXN5c3RlbSAtLWFsbApgYGAKClZlcmlm" + + "eToKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0" + + "IGV2ZW50cyAtbiB2YXVsdC1zeXN0ZW0gXAogIC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnIHwg" + + "Z3JlcCAtaSBwdWxsCiMgU2hvdWxkIHNob3cgIlN1Y2Nlc3NmdWxseSBwdWxsZWQgaW1hZ2UiIGZy" + + "b20gbnZjci5pbwpgYGAKCi0tLQoKIyMgRXhhbXBsZSAzOiBGdWxsIFRlYXJkb3duIGFuZCBSZWlu" + + "c3RhbGwKCldoZW4gYSBkZXBsb3ltZW50IGlzIGJyb2tlbiBhbmQgeW91IG5lZWQgYSBjbGVhbiBz" + + "bGF0ZS4KCiMjIyBTdGVwIDE6IERlc3Ryb3kgdGhlIGNvbXB1dGUtcGxhbmUgc3RhY2sKCmBgYGJh" + + "c2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBD" + + "TFVTVEVSX05BTUU9PGNsdXN0ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VC" + + "RUNPTkZJR19GSUxFPTxjb21wdXRlLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKSWYgY29tcHV0ZSBj" + + "bGVhbnVwIGlzIHN0dWNrIG9uIGZpbmFsaXplcnMsIHVzZSB0aGUgY29tcHV0ZS1jb250ZXh0IHBy" + + "b2NlZHVyZSBpbgpbZGVidWdnaW5nLm1kXShyZWZlcmVuY2VzL2RlYnVnZ2luZy5tZCNmYWlsdXJl" + + "LW52Y2EtY2xlYW51cC1zdHVjay1maW5hbGl6ZXJzKS4KCiMjIyBTdGVwIDI6IERlcmVnaXN0ZXIg" + + "dGhlIGNvbXB1dGUgY2x1c3RlcgoKUmVhZCBgY2x1c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBk" + + "ZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFt" + + "ZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93IHRoZSBJRCBhbmQgZ2V0IGNvbmZpcm1hdGlv" + + "biBiZWZvcmUgZGVsZXRpbmcgdGhlIElDTVMgcm93OgoKYGBgYmFzaAo8bnZjZi1jbGk+IC0tY29u" + + "ZmlnIDxjb25maWc+IGNsdXN0ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQt" + + "ZnJvbS1yZWdpc3RyYXRpb24tdmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdu" + + "b3JlLW1pc3NpbmcKYGBgCgpSZXBlYXQgc3RlcHMgMSBhbmQgMiBmb3IgZXZlcnkgY29tcHV0ZSBj" + + "bHVzdGVyLgoKIyMjIFN0ZXAgMzogRGVzdHJveSB0aGUgY29udHJvbC1wbGFuZSBzdGFjawoKUHJl" + + "c2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZhdWx0LiBOYW1lc3BhY2Ug" + + "cHJlc2VydmF0aW9uIGRvZXMKbm90IHByZXNlcnZlIHRoZSBIZWxtIHJlbGVhc2UuIEJlZm9yZSBy" + + "dW5uaW5nIGRlc3Ryb3ksIGlkZW50aWZ5IHdoZXRoZXIKY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFs" + + "LiBGb3IgYW4gZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZQpgY2VydE1h" + + "bmFnZXIuZW5hYmxlZDogZmFsc2VgIGFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50" + + "ZW5kZWQKc3RhY2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlIGBjZXJ0TWFuYWdlci5l" + + "bmFibGVkOiB0cnVlYCwgdmVyaWZ5Cm1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0" + + "YSBhbmQgYWJvcnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkCmV2aWRlbmNlLiBPbmx5IHBsYW4g" + + "bmFtZXNwYWNlIHJlbW92YWwgYWZ0ZXIgdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFu" + + "ZApnZXR0aW5nIGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlIGRvIG5vdCBkZWxldGUg" + + "aXQuCgpgYGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtl" + + "IC1DIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08" + + "ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoK" + + "UGFzcyBib3RoIGt1YmVjb25maWcgZm9ybXMgYmVjYXVzZSBjb250cm9sLXBsYW5lIG5hbWVzcGFj" + + "ZSBjbGVhbnVwIHVzZXMKYW1iaWVudCBga3ViZWN0bGAuCgojIyMgU3RlcCA0OiBWZXJpZnkgY2xl" + + "YW4KCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0" + + "IG5zIHwgXAogIGdyZXAgLUUgJyhudmNhfG52Y2YtYmFja2VuZHxncm92ZXxkeW5hbW8pJwprdWJl" + + "Y3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgbnMgfCBcCiAgZ3JlcCAt" + + "RSAnKGNhc3NhbmRyYXxuYXRzfHZhdWx0fG52Y2Z8YXBpLWtleXN8ZXNzfHNpcyknCiMgQm90aCBj" + + "b21tYW5kcyBzaG91bGQgcmV0dXJuIGVtcHR5LgpgYGAKCiMjIyBTdGVwIDU6IFJlaW5zdGFsbCBp" + + "biBzcGxpdCBvcmRlcgoKRm9sbG93IFtDbGVhbiBJbnN0YWxsYXRpb25dKFNLSUxMLm1kI2NsZWFu" + + "LWluc3RhbGxhdGlvbiksIHRoZW4gcmV0dXJuIHRvIHRoZQpzYW1lIGhhbmRvZmYgaW4gW1NwbGl0" + + "IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4KCi0tLQoKIyMgRXhhbXBsZSA0OiBSZWNvdmVyIGZyb20gYSBHYXRld2F5" + + "IEVuZHBvaW50IENoYW5nZQoKVGhlIHNlcGFyYXRlbHkgcHJvdmlzaW9uZWQgR2F0ZXdheSBvciBp" + + "dHMgbG9hZCBiYWxhbmNlciB3YXMgcmVjcmVhdGVkIGFuZCBnb3QgYSBuZXcgZW5kcG9pbnQuCgoj" + + "IyMgU3RlcCAxOiBHZXQgdGhlIG5ldyBlbmRwb2ludAoKYGBgYmFzaApHQVRFV0FZX0FERFI9JChr" + + "dWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZ2F0ZXdheSBcCiAg" + + "bnZjZi1nYXRld2F5IC1uIGVudm95LWdhdGV3YXkgXAogIC1vIGpzb25wYXRoPSd7LnN0YXR1cy5h" + + "ZGRyZXNzZXNbMF0udmFsdWV9JykKdGVzdCAtbiAiJEdBVEVXQVlfQUREUiIKYGBgCgojIyMgU3Rl" + + "cCAyOiBVcGRhdGUgRE5TIGFuZCBkaXJlY3QgYWRkcmVzcyBmaWVsZHMKCktlZXAgYGdsb2JhbC5k" + + "b21haW5gLCByb3V0ZSBob3N0bmFtZXMsIGFuZCBDTEkgSG9zdCBmaWVsZHMgdW5jaGFuZ2VkLiBQ" + + "b2ludCB0aGUKRE5TIHJlY29yZHMgZm9yIHJlbmRlcmVkIHJvdXRlIGhvc3RuYW1lcywgc3VjaCBh" + + "cyBgYXBpLjxkb21haW4+YCBhbmQKYCouaW52b2NhdGlvbi48ZG9tYWluPmAsIHRvIGBHQVRFV0FZ" + + "X0FERFJgLiBGb3IgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgd2l0aG91dApETlMsIGtlZXAgaXRz" + + "IHJlc2VydmVkIHJvdXRlIHN1ZmZpeCBhbmQgY29ubmVjdCB0byBgR0FURVdBWV9BRERSYCB3aXRo" + + "IHRoZQptYXRjaGluZyBgSG9zdGAgaGVhZGVyLgoKRm9yIGEgc3BsaXQgZGVwbG95bWVudCBjb25m" + + "aWd1cmVkIHdpdGggZGlyZWN0IEdhdGV3YXkgYWRkcmVzc2VzLCByZXBsYWNlIG9ubHkKdGhlIGFk" + + "ZHJlc3MtYmVhcmluZyB2YWx1ZXM6IGNvbnRyb2wtcGxhbmUgYG52Y2ZOYXRzU2VydmljZVVSTGAs" + + "IGNvbXB1dGUtcGxhbmUKSUNNUywgUmVWYWwsIGFuZCBOQVRTIFVSTHMsIGFuZCBDTEkgVVJMIGZp" + + "ZWxkcy4gS2VlcCB0aGVpciBkb21haW4gYW5kIEhvc3QKb3ZlcnJpZGVzIHVuY2hhbmdlZC4gUmVm" + + "cmVzaCByZWdpc3RyYXRpb24gYW5kIGluc3RhbGxhdGlvbiB0aHJvdWdoIHRoZSBzYW1lCmhhbmRv" + + "ZmYgdXNlZCBvcmlnaW5hbGx5LiBTZWUKW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9u" + + "XShyZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKQpmb3IgdGhlIGZpZWxk" + + "cyBhbmQgY29tcGxldGUgY29tbWFuZHMuCgojIyMgU3RlcCAzOiBWZXJpZnkgYm90aCBjb250ZXh0" + + "cwoKYGBgYmFzaApkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUggIkhvc3Q6IGFwaS48" + + "ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKa3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgbnZjZi1nYXRld2F5IFwKICAtbiBl" + + "bnZveS1nYXRld2F5IC1vIHdpZGUKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29u" + + "dGV4dD4gZ2V0IGh0dHByb3V0ZXMgLUEKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + + "Y29udGV4dD4gZ2V0IHRjcHJvdXRlcyAtQQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + "ZS1jb250ZXh0PiByb2xsb3V0IHN0YXR1cyBcCiAgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIC1u" + "IG52Y2Etb3BlcmF0b3IgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1w" + "bGFuZS1jb250ZXh0PiB3YWl0IFwKICBudmNmYmFja2VuZC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + "LW5hbWU+IC1uIG52Y2Etb3BlcmF0b3IgXAogIC0tZm9yPWpzb25wYXRoPSd7LnN0YXR1cy5hZ2Vu" + - "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0" + - "ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IDxwdWxsLXNlY3JldD4gLW4gbnZjYS1zeXN0ZW0K" + - "YGBgCgojIyBUZWFyZG93bgoKRGVzdHJveSBhbmQgZGVyZWdpc3RlciBldmVyeSBjb21wdXRlIHBs" + - "YW5lIGJlZm9yZSB0aGUgY29udHJvbCBwbGFuZS4gQm90aApoYW5kb2ZmcyBjYW4gZGVzdHJveSB0" + - "aGUgY29udHJvbCBwbGFuZSwgc28gYXBwbHkgdGhpcyBwcmVmbGlnaHQgYmVmb3JlIGVpdGhlcgpv" + - "bmUuIFByZXNlcnZlIHRoZSBgY2VydC1tYW5hZ2VyYCBuYW1lc3BhY2UgYnkgZGVmYXVsdC4gTmFt" + - "ZXNwYWNlIHByZXNlcnZhdGlvbgpkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgSGVsbSByZWxlYXNlLiBJ" + - "ZGVudGlmeSB3aGV0aGVyIGNlcnQtbWFuYWdlciBpcyBleHRlcm5hbC4KRm9yIGFuIGV4dGVybmFs" + - "IGluc3RhbGxhdGlvbiwgcmVxdWlyZSBlZmZlY3RpdmUgYGNlcnRNYW5hZ2VyLmVuYWJsZWQ6IGZh" + - "bHNlYAphbmQgYWJvcnQgaWYgaXQgaXMgdHJ1ZS4gRm9yIGFuIGludGVuZGVkIHN0YWNrLW1hbmFn" + - "ZWQgcmVsZWFzZSB3aXRoIGVmZmVjdGl2ZQpgY2VydE1hbmFnZXIuZW5hYmxlZDogdHJ1ZWAsIHZl" + - "cmlmeSBtYXRjaGluZyBzdGFjayBIZWxtIHJlbGVhc2UgbWV0YWRhdGEgYW5kCmFib3J0IG9uIG1p" + - "c3Npbmcgb3IgbWlzbWF0Y2hlZCBldmlkZW5jZS4gT25seSBwbGFuIG5hbWVzcGFjZSByZW1vdmFs" + - "IGFmdGVyCnZlcmlmeWluZyBuYW1lc3BhY2UgcHJvdmVuYW5jZSBhbmQgZ2V0dGluZyBleHBsaWNp" + - "dCBjb25maXJtYXRpb247IG90aGVyd2lzZQpkbyBub3QgZGVsZXRlIGl0LgoKRm9yIHRoZSBIZWxt" + - "ZmlsZSB2YWx1ZXMgZmxvdywgcmV0YWluIGVhY2ggcmVnaXN0cmF0aW9uIHZhbHVlcyBmaWxlIHVu" + - "dGlsCmNsZWFudXAgaXMgdmVyaWZpZWQ6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9u" + - "dmNmLWNvbXB1dGUtcGxhbmUgZGVzdHJveSBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+" + - "IFwKICBIRUxNRklMRV9FTlY9PGVudj4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + - "ZS1rdWJlY29uZmlnPgoKPG52Y2YtY2xpPiAtLWNvbmZpZyA8Y29uZmlnPiBjbHVzdGVyIGRlbGV0" + - "ZSBcCiAgLS1jbHVzdGVyLWlkIDxjbHVzdGVyLWlkLWZyb20tcmVnaXN0cmF0aW9uLXZhbHVlcz4g" + - "XAogIC0tbmNhLWlkIDxuY2EtaWQ+IFwKICAtLWlnbm9yZS1taXNzaW5nCmBgYAoKUmVhZCBgY2x1" + - "c3RlcklEYCBhbmQgYG5jYUlEYCBmcm9tCmBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZS9yZWdpc3RyYXRpb24vPGNsdXN0ZXItbmFtZT4tcmVnaXN0ZXItdmFsdWVzLnlhbWxgLgpTaG93" + - "IHRoZSBleGFjdCBjbHVzdGVyIElEIGFuZCBnZXQgY29uZmlybWF0aW9uIGJlZm9yZSBgY2x1c3Rl" + - "ciBkZWxldGVgLiBSZXBlYXQKY29tcHV0ZSBkZXN0cm95IGFuZCBkZXJlZ2lzdHJhdGlvbiBmb3Ig" + - "ZXZlcnkgY29tcHV0ZSBjbHVzdGVyLCB0aGVuIGRlc3Ryb3kgdGhlCmNvbnRyb2wgcGxhbmUuCgpg" + - "YGBiYXNoCktVQkVDT05GSUc9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4gXAptYWtlIC1DIGRl" + - "cGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIGRlc3Ryb3kgXAogIEhFTE1GSUxFX0VOVj08ZW52PiBc" + - "CiAgS1VCRUNPTkZJR19GSUxFPTxjb250cm9sLXBsYW5lLWt1YmVjb25maWc+CmBgYAoKQm90aCBg" + - "S1VCRUNPTkZJR2AgYW5kIGBLVUJFQ09ORklHX0ZJTEVgIGFyZSByZXF1aXJlZCBvbiB0aGUgY29u" + - "dHJvbC1wbGFuZQpkZXN0cm95IGJlY2F1c2UgaXRzIG5hbWVzcGFjZSBjbGVhbnVwIHVzZXMgYW1i" + - "aWVudCBga3ViZWN0bGAuCgpGb3IgdGhlIENMSSBwcm9maWxlIGZsb3csIGtlZXAKYGRlcGxveS9z" + - "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1" + - "ZXMueWFtbGAKdW50aWwgdGVhcmRvd24gY29tcGxldGVzIGJlY2F1c2UgYGRvd25gIHJlYWRzIGl0" + - "cyBjbHVzdGVyIElELiBGaXJzdCBxdWVyeSB0aGUKbGl2ZSByZWdpc3RyYXRpb24gc2V0IHdpdGgg" + - "dGhlIHNhbWUgY29tcGxldGUgcGVyc2lzdGVudCBwcmVmaXg6CgpgYGBiYXNoCm52Y2YtY2xpIC0t" + - "Y29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVw" + - "bG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kv" + - "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAog" + - "IC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNv" + - "bXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVy" + - "bCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBzdGF0dXMgXAogIC0tY2x1c3Rlci1u" + - "YW1lIDxjb21wdXRlLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBg" + - "YAoKU2hvdyB0aGUgcmVnaXN0ZXJlZCBjb21wdXRlLXBsYW5lIGxpc3QuIE5hbWVkLWNsdXN0ZXIg" + - "YGRvd24gLS1wbGFuLW9ubHlgIGRvZXMKbm90IHF1ZXJ5IElDTVMsIHNvIGl0IHByZXZpZXdzIG9u" + - "bHkgdGhhdCBjb21wdXRlIHBsYW5lIGFuZCBjYW5ub3Qgc2hvdyB0aGUKY29uZGl0aW9uYWwgY29u" + - "dHJvbC1wbGFuZSByZW1vdmFsLiBJZiB0aGUgdGFyZ2V0IGlzIHRoZSBsYXN0IHJlZ2lzdGVyZWQK" + - "Y2x1c3RlciwgcmVhbCBgZG93bmAgYWxzbyBkZXN0cm95cyB0aGUgY29udHJvbCBwbGFuZS4gR2V0" + - "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbgpmb3IgYm90aCByZW1vdmFscyBiZWZvcmUgY29udGludWlu" + - "Zy4gVGhlbiBwcmV2aWV3IGFuZCBleGVjdXRlIHdpdGggdGhlIHNhbWUKcHJlZml4OgoKYGBgYmFz" + - "aApudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250cm9sLXBs" + - "YW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUtcGxhbmUt" + - "c3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxlbnY+IFwK" + - "ICAtLXBsYWluIFwKICAtLWNvbnRyb2wtcGxhbmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250" + - "ZXh0PiBcCiAgLS1jb21wdXRlLXBsYW5lLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4g" + - "XAogIC0taWNtcy11cmwgPGNvbXB1dGUtcmVhY2hhYmxlLWljbXMtdXJsPiBcCiAgZG93biAtLXBs" + - "YW4tb25seSBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBc" + - "CiAgLS1uY2EtaWQgPG5jYS1pZD4KCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9z" + - "dGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + - "XAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFu" + - "ZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0" + - "IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29t" + - "cHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNt" + - "cy11cmw+IFwKICBkb3duIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + - "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgpgYGAKClJlcGVhdCBgZG93bmAgZm9yIGVhY2gg" + - "Y29tcHV0ZSBjbHVzdGVyLiBFYWNoIHJ1biBkZXN0cm95cyB0aGF0IGNvbXB1dGUgcGxhbmUgYW5k" + - "CnVucmVnaXN0ZXJzIGl0cyBJQ01TIHJvdy4gSXQgcmVtb3ZlcyB0aGUgY29udHJvbCBwbGFuZSBv" + - "bmx5IGFmdGVyIG5vIGNsdXN0ZXIKcmVnaXN0cmF0aW9ucyByZW1haW4uClBLBwiWY7xZEjAAABIw" + - "AABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAADsACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + - "c3RhbGxhdGlvbi9yZWZlcmVuY2VzL2RlYnVnZ2luZy5tZFVUBQABAKbOEiMgRGVidWdnaW5nIFJl" + - "ZmVyZW5jZQoKUmVjaXBlcyBmb3IgZGlhZ25vc2luZyBhbmQgZml4aW5nIGNvbW1vbiBOVkNGIHNl" + - "bGYtbWFuYWdlZCBzdGFjayBmYWlsdXJlcy4KCiMjIFF1aWNrIFN0YXR1cyBDb21tYW5kcwoKYGBg" + - "YmFzaAojIEFsbCBwb2RzIGFjcm9zcyBhbGwgbmFtZXNwYWNlcwprdWJlY3RsIGdldCBwb2RzIC1B" + - "IC1vIHdpZGUKCiMgUG9kcyBpbiBhIHNwZWNpZmljIG5hbWVzcGFjZQprdWJlY3RsIGdldCBwb2Rz" + - "IC1uIDxuYW1lc3BhY2U+CgojIEFsbCBoZWxtIHJlbGVhc2VzCmhlbG0gbGlzdCAtQQoKIyBSZWNl" + - "bnQgZXZlbnRzIChtb3N0IHVzZWZ1bCBmb3IgZGlhZ25vc2luZyBmYWlsdXJlcykKa3ViZWN0bCBn" + - "ZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IC0tc29ydC1ieT0nLmxhc3RUaW1lc3RhbXAnCgojIERl" + - "c2NyaWJlIGEgc3BlY2lmaWMgcG9kIChzaG93cyBldmVudHMsIGNvbmRpdGlvbnMsIHZvbHVtZXMp" + - "Cmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4KYGBgCgojIyBG" + - "YWlsdXJlOiBJbWFnZVB1bGxCYWNrT2ZmCgojIyMgU3ltcHRvbXMKCmBgYHRleHQKTkFNRSAgICAg" + - "ICAgICAgUkVBRFkgICBTVEFUVVMgICAgICAgICAgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJh" + - "LTAgICAgMC8xICAgICBJbWFnZVB1bGxCYWNrT2ZmICAgMCAgICAgICAgICA1bQpgYGAKCkV2ZW50" + - "cyBzaG93OgoKYGBgdGV4dApGYWlsZWQgdG8gcHVsbCBpbWFnZSAibnZjci5pby8uLi4vaW1hZ2U6" + - "dGFnIjogNDAxIFVuYXV0aG9yaXplZApgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVj" + - "ayB3aGF0IGltYWdlIGlzIGZhaWxpbmcKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + - "ZT4gPHBvZC1uYW1lPiB8IGdyZXAgLUE1ICJFdmVudHM6IgoKIyBDaGVjayBpZiBwdWxsIHNlY3Jl" + - "dCBleGlzdHMgaW4gdGhlIG5hbWVzcGFjZQprdWJlY3RsIGdldCBzZWNyZXQgbnZjci1jcmVkcyAt" + - "biA8bmFtZXNwYWNlPgoKIyBDaGVjayBpZiB0aGUgcG9kIHNwZWMgaGFzIGltYWdlUHVsbFNlY3Jl" + - "dHMKa3ViZWN0bCBnZXQgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLW8ganNvbnBhdGg9" + - "J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKCiMgQ2hlY2sgaWYgdGhlIFNlcnZpY2VBY2NvdW50" + - "IGhhcyBpbWFnZVB1bGxTZWNyZXRzCmt1YmVjdGwgZ2V0IHNhIDxzYS1uYW1lPiAtbiA8bmFtZXNw" + - "YWNlPiAtbyBqc29ucGF0aD0ney5pbWFnZVB1bGxTZWNyZXRzfScKYGBgCgojIyMgRml4ZXMKCjEu" + - "ICoqU2VjcmV0IG1pc3NpbmcgaW4gbmFtZXNwYWNlKio6IENyZWF0ZSBpdAoKICAgYGBgYmFzaAog" + - "ICBrdWJlY3RsIGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogICAg" + - "IC0tZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAgICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRo" + - "dG9rZW4nIFwKICAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAgLS1u" + - "YW1lc3BhY2U9PG5hbWVzcGFjZT4gXAogICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1" + - "YmVjdGwgYXBwbHkgLWYgLQogICBgYGAKCjIuICoqU2VjcmV0IGV4aXN0cyBidXQgcG9kIGRvZXNu" + - "J3QgcmVmZXJlbmNlIGl0Kio6IFRoZSBjaGFydCBuZWVkcyBgaW1hZ2VQdWxsU2VjcmV0c2AgY29u" + - "ZmlndXJlZCB2aWEgaGVsbWZpbGUgdmFsdWVzLiBTZWUgW3B1bGwtc2VjcmV0cy5tZF0ocHVsbC1z" + - "ZWNyZXRzLm1kKS4KCjMuICoqQ2hhcnQgZG9lc24ndCBzdXBwb3J0IGltYWdlUHVsbFNlY3JldHMq" + - "KiAob3BlbmJhbywgaW52b2NhdGlvbi1zZXJ2aWNlLCBlc3MtYXBpLCBub3Rhcnktc2VydmljZSk6" + - "IFBhdGNoIFNlcnZpY2VBY2NvdW50cyBhbmQgcmVzdGFydCBwb2RzLiBTZWUgW3B1bGwtc2VjcmV0" + - "cy5tZF0ocHVsbC1zZWNyZXRzLm1kKS4KCjQuICoqV3JvbmcgY3JlZGVudGlhbHMgaW4gc2VjcmV0" + - "Kio6IERlbGV0ZSBhbmQgcmVjcmVhdGUKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBkZWxldGUgc2Vj" + - "cmV0IG52Y3ItY3JlZHMgLW4gPG5hbWVzcGFjZT4KICAgIyBSZWNyZWF0ZSB3aXRoIGNvcnJlY3Qg" + - "Y3JlZGVudGlhbHMKICAgYGBgCgojIyBGYWlsdXJlOiBJbml0OjAvMSBTdHVjayAoVmF1bHQgQWdl" + - "bnQpCgojIyMgU3ltcHRvbXMKClNlcnZpY2UgcG9kcyBzdHVjayBpbiBgSW5pdDowLzFgIGZvciBt" + - "aW51dGVzOgoKYGBgYmFzaApOQU1FICAgICAgICAgICAgICAgICAgICAgICAgUkVBRFkgICBTVEFU" + - "VVMgICAgIFJFU1RBUlRTICAgQUdFCm52Y2YtYXBpLTdmNGM3NmY3ODgtNDR2bHQgIDAvMiAgICAg" + - "SW5pdDowLzEgICAwICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKClRoZSBpbml0IGNv" + - "bnRhaW5lciBpcyB0aGUgdmF1bHQtYWdlbnQtaW5pdCBpbmplY3RvciB3YWl0aW5nIGZvciBPcGVu" + - "QmFvLgoKYGBgYmFzaAojIENoZWNrIE9wZW5CYW8gcG9kcwprdWJlY3RsIGdldCBwb2RzIC1uIHZh" + - "dWx0LXN5c3RlbQoKIyBDaGVjayBpZiBPcGVuQmFvIG1pZ3JhdGlvbiBqb2IgcmFuCmt1YmVjdGwg" + - "Z2V0IGpvYnMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIE9wZW5CYW8gcG9kIGxvZ3MKa3ViZWN0" + - "bCBsb2dzIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci0wIC1jIG9wZW5iYW8KCiMgQ2hl" + - "Y2sgaW5pdCBjb250YWluZXIgbG9ncyBvbiB0aGUgc3R1Y2sgcG9kCmt1YmVjdGwgbG9ncyAtbiA8" + - "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IC1jIHZhdWx0LWFnZW50LWluaXQKYGBgCgojIyMgRml4ZXMK" + - "CjEuICoqT3BlbkJhbyBwb2RzIG5vdCBydW5uaW5nKio6IENoZWNrIHRoZWlyIGV2ZW50cyBmb3Ig" + - "aW1hZ2UgcHVsbCBpc3N1ZXMsIHJlc291cmNlIGlzc3VlcywgZXRjLgoKMi4gKipPcGVuQmFvIG1p" + - "Z3JhdGlvbiBqb2IgZGlkbid0IHJ1bioqOiBUaGlzIGhhcHBlbnMgd2hlbiBgaGVsbWZpbGUgc3lu" + - "Y2Agd2FzIGludGVycnVwdGVkLiBEZXN0cm95IGFuZCByZS1zeW5jIG9wZW5iYW86CgogICBgYGBi" + - "YXNoCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJh" + - "by1zZXJ2ZXIgZGVzdHJveQogICBrdWJlY3RsIGRlbGV0ZSBuYW1lc3BhY2UgdmF1bHQtc3lzdGVt" + - "CiAgIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSB2YXVsdC1zeXN0ZW0KICAgIyBSZS1jcmVhdGUg" + - "cHVsbCBzZWNyZXQgaWYgbmVlZGVkCiAgIEhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNl" + - "bGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwogICBgYGAKCjMuICoqT3BlbkJhbyBwb2Rz" + - "IHJ1bm5pbmcgYnV0IG5vdCBpbml0aWFsaXplZCoqOiBDaGVjayB1bnNlYWwgc3RhdHVzOgoKICAg" + - "YGBgYmFzaAogICBrdWJlY3RsIGV4ZWMgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAg" + - "LWMgb3BlbmJhbyAtLSBiYW8gc3RhdHVzCiAgIGBgYAoKNC4gKipgdmF1bHQtYWdlbnQtaW5pdGAg" + - "bG9ncyBgYXV0aC9qd3QvbG9naW5gIC0+IGA0MDAgLi4uIG5vIGtub3duIGtleSBzdWNjZXNzZnVs" + - "bHkgdmFsaWRhdGVkIHRoZSB0b2tlbiBzaWduYXR1cmVgKioKICAgKGNvbW1vbiBvbiBBS1MsIGFu" + - "ZCBvbiBhbnkgY2x1c3RlciB3aG9zZSBPSURDIGlzc3VlciBwdWJsaXNoZXMgYSByb3RhdGluZyBt" + - "dWx0aS1rZXkgSldLUyk6CiAgIHRoZSBPcGVuQmFvIGBhdXRoL2p3dGAgbWV0aG9kIHdhcyBjb25m" + - "aWd1cmVkIHdpdGggYSBzaW5nbGUgc3RhdGljIG1vdW50ZWQgcHVibGljIGtleQogICAoYGp3dF92" + - "YWxpZGF0aW9uX3B1YmtleXNgKSBpbnN0ZWFkIG9mIHRoZSBpc3N1ZXIncyBsaXZlIEpXS1MsIHNv" + - "IGl0IGNhbm5vdCB2YWxpZGF0ZSB0aGUKICAgY2x1c3Rlci1zaWduZWQgU2VydmljZUFjY291bnQg" + - "dG9rZW5zIHRoZSB2YXVsdC1hZ2VudHMgcHJlc2VudC4gRXZlcnkgc2VydmljZSdzCiAgIGB2YXVs" + - "dC1hZ2VudC1pbml0YCB0aGVuIGxvb3BzIG9uIHRoYXQgNDAwIGFuZCB0aGUgcG9kIG5ldmVyIGxl" + - "YXZlcyBgSW5pdDowLzFgLiBUaGlzIGlzIHRoZQogICBiZWhhdmlvciBvZiB0aGUgYmFzZSBkZWZh" + - "dWx0IGBvcGVuYmFvLm1pZ3JhdGlvbnMuaXNzdWVyRGlzY292ZXJ5LmVuYWJsZWQ6IGZhbHNlYDsg" + - "dGhlCiAgIG1pZ3JhdGlvbiBsb2cgc2hvd3MgYE9JREMgaXNzdWVyIGRpc2NvdmVyeSBpcyBkaXNh" + - "YmxlZC4gVXNpbmcgU2VydmljZUFjY291bnQgaXNzdWVyIGFuZAogICBtb3VudGVkIHB1YmxpYyBr" + - "ZXkgZmFsbGJhY2tgLiBFbmFibGUgaXNzdWVyIGRpc2NvdmVyeSBzbyB0aGUgbWlncmF0aW9uIHVz" + - "ZXMgdGhlIGxpdmUgSldLUywKICAgdGhlbiByZS1ydW4gaXQ6CgogICBgYGBiYXNoCiAgICMgSW4g" + - "eW91ciBlbnYgdmFsdWVzIChlLmcuIGVudmlyb25tZW50cy88ZW52Pi55YW1sKSwgc2V0OgogICAj" + - "ICAgb3BlbmJhbzoKICAgIyAgICAgbWlncmF0aW9uczoKICAgIyAgICAgICBpc3N1ZXJEaXNjb3Zl" + - "cnk6CiAgICMgICAgICAgICBlbmFibGVkOiB0cnVlCiAgIGt1YmVjdGwgZGVsZXRlIGpvYiAtbiB2" + - "YXVsdC1zeXN0ZW0gb3BlbmJhby1zZXJ2ZXItbWlncmF0aW9ucwogICBIRUxNRklMRV9FTlY9PGVu" + - "dj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW9wZW5iYW8tc2VydmVyIHN5bmMKICAgYGBgCgog" + - "ICBUaGUgbWlncmF0aW9uIGxvZyBzaG91bGQgdGhlbiBzaG93IGBSZWNlaXZlZCBkaXNjb3Zlcnkg" + - "ZG9jdW1lbnQgZnJvbQogICAuLi4vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gIGFu" + - "ZCBgRmluYWwgT3BlbkJhbyBKV1QgSldLUyBVUkwgc2V0IHRvOgogICAuLi4vb3BlbmlkL3YxL2p3" + - "a3NgLCBhbmQgdGhlIHNlcnZpY2UgcG9kcyBhdXRoZW50aWNhdGUgYW5kIHJlYWNoIFJlYWR5IHdp" + - "dGhpbiB+MSBtaW4uCiAgIEFLUyBjbHVzdGVycyB3aXRoIHRoZSBjbHVzdGVyIE9JREMgaXNzdWVy" + - "IGVuYWJsZWQgKHRoZSBgYWtzLWNsdXN0ZXJgIGRlZmF1bHQpIGFsd2F5cyBuZWVkCiAgIHRoaXMg" + - "YmVjYXVzZSB0aGUgc3RhdGljLXB1YmtleSBmYWxsYmFjayBjYW5ub3QgbWF0Y2ggdGhlIGlzc3Vl" + - "cidzIHJvdGF0aW5nIHNpZ25pbmcga2V5cy4KCiMjIEZhaWx1cmU6IE9PTUtpbGxlZCBvbiBDYXNz" + - "YW5kcmEKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVT" + - "ICAgIFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBPT01LaWxsZWQgIDMgICAg" + - "ICAgICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCmt1YmVjdGwgZGVzY3JpYmUgcG9k" + - "IC1uIGNhc3NhbmRyYS1zeXN0ZW0gY2Fzc2FuZHJhLTAgfCBncmVwIC1BMyAiTGFzdCBTdGF0ZSIK" + - "YGBgCgojIyMgRml4CgpPdmVycmlkZSBDYXNzYW5kcmEgcmVzb3VyY2VzIHZpYSBoZWxtZmlsZSB2" + - "YWx1ZXMuIFNlZSBFeGFtcGxlIDEgaW4KW2V4YW1wbGVzLm1kXSguLi9leGFtcGxlcy5tZCkuCgpg" + - "YGB5YW1sCi0gY2Fzc2FuZHJhOgogICAgcmVzb3VyY2VzOgogICAgICBsaW1pdHM6CiAgICAgICAg" + - "Y3B1OiAiOCIKICAgICAgICBtZW1vcnk6IDgxOTJNaQogICAgICByZXF1ZXN0czoKICAgICAgICBj" + - "cHU6ICIyIgogICAgICAgIG1lbW9yeTogNDA5Nk1pCmBgYAoKTm90ZTogYHJlc291cmNlUHJlc2V0" + - "YCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBOVkNGIGNhc3NhbmRyYSB3cmFwcGVyIGNoYXJ0LiBV" + - "c2UgZXhwbGljaXQgYHJlc291cmNlc2AuCgojIyBGYWlsdXJlOiBQb2RzIFN0dWNrIGluIFBlbmRp" + - "bmcKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApOQU1FICAgICAgICAgIFJFQURZICAgU1RBVFVTICAg" + - "IFJFU1RBUlRTICAgQUdFCmNhc3NhbmRyYS0wICAgMC8xICAgICBQZW5kaW5nICAgMCAgICAgICAg" + - "ICAxMG0KYGBgCgojIyMgRGlhZ25vc2lzCgpgYGBiYXNoCiMgQ2hlY2sgZXZlbnRzIGZvciBzY2hl" + - "ZHVsaW5nIGZhaWx1cmVzCmt1YmVjdGwgZGVzY3JpYmUgcG9kIC1uIDxuYW1lc3BhY2U+IDxwb2Qt" + - "bmFtZT4KCiMgQ29tbW9uIGNhdXNlczoKIyAtICIwLzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEy" + - "IG5vZGUocykgZGlkbid0IG1hdGNoIFBvZCdzIG5vZGUgYWZmaW5pdHkiCiMgLSAiMC8xMiBub2Rl" + - "cyBhcmUgYXZhaWxhYmxlOiAxMiBJbnN1ZmZpY2llbnQgbWVtb3J5IgojIC0gInBlcnNpc3RlbnR2" + - "b2x1bWVjbGFpbSBub3QgZm91bmQiCmBgYAoKIyMjIEZpeGVzCgoxLiAqKk5vZGUgc2VsZWN0b3Ig" + - "bWlzbWF0Y2gqKjogQ2hlY2sgYG5vZGVTZWxlY3RvcnNgIGluIGVudmlyb25tZW50IGZpbGUKCiAg" + - "IGBgYGJhc2gKICAga3ViZWN0bCBnZXQgbm9kZXMgLS1zaG93LWxhYmVscyB8IGdyZXAgbnZjZgog" + - "ICBgYGAKCjIuICoqU3RvcmFnZSBjbGFzcyBub3QgZm91bmQqKjogQ2hlY2sgc3RvcmFnZSBjbGFz" + - "cyBleGlzdHMKCiAgIGBgYGJhc2gKICAga3ViZWN0bCBnZXQgc3RvcmFnZWNsYXNzCiAgIGBgYAoK" + - "My4gKipJbnN1ZmZpY2llbnQgcmVzb3VyY2VzKio6IENoZWNrIG5vZGUgY2FwYWNpdHkKCiAgIGBg" + - "YGJhc2gKICAga3ViZWN0bCBkZXNjcmliZSBub2RlIDxub2RlLW5hbWU+IHwgZ3JlcCAtQTUgIkFs" + - "bG9jYXRlZCByZXNvdXJjZXMiCiAgIGBgYAoKIyMgRmFpbHVyZTogSGVsbSBSZWxlYXNlIGluIEZh" + - "aWxlZCBTdGF0ZQoKIyMjIFN5bXB0b21zCgpgYGBiYXNoCmhlbG0gbGlzdCAtQQojIFNob3dzIHJl" + - "bGVhc2Ugd2l0aCBTVEFUVVM6IGZhaWxlZApgYGAKClJlLXJ1bm5pbmcgYGhlbG1maWxlIHN5bmNg" + - "IGFwcGVhcnMgdG8gc3VjY2VlZCBidXQgc2VydmljZXMgZG9uJ3Qgd29yayAobWlncmF0aW9ucyBz" + - "a2lwcGVkKS4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKaGVsbSBoaXN0b3J5IDxyZWxlYXNlLW5h" + - "bWU+IC1uIDxuYW1lc3BhY2U+CmBgYAoKIyMjIEZpeAoKTXVzdCBkZXN0cm95IHRoZSBmYWlsZWQg" + - "cmVsZWFzZSBhbmQgcmUtc3luYyAobm90IGp1c3QgYXBwbHkpOgoKYGBgYmFzaApIRUxNRklMRV9F" + - "TlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPTxyZWxlYXNlPiBkZXN0cm95CiMgSWYg" + - "bmFtZXNwYWNlIG5lZWRzIGNsZWFudXA6Cmt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSA8bmFtZXNw" + - "YWNlPgprdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2UgPG5hbWVzcGFjZT4KIyBSZS1jcmVhdGUgcHVs" + - "bCBzZWNyZXQgaWYgbmVlZGVkCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IG5hbWU9PHJlbGVhc2U+IHN5bmMKYGBgCgojIyBGYWlsdXJlOiBBY2NvdW50IEJvb3RzdHJhcCBK" + - "b2IgRmFpbGVkCgojIyMgU3ltcHRvbXMKClNlcnZpY2VzIGRlcGxveSBidXQgZnVuY3Rpb25zIGNh" + - "bid0IGJlIGNyZWF0ZWQuIEV2ZW50cyBzaG93IGJvb3RzdHJhcCBqb2IgZmFpbHVyZS4KCiMjIyBE" + - "aWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBib290c3RyYXAgam9iIHN0YXR1cwprdWJlY3RsIGdl" + - "dCBqb2JzIC1uIG52Y2YKCiMgR2V0IGxvZ3MgKGpvYiBhdXRvLWRlbGV0ZXMgYWZ0ZXIgfjUgbWlu" + - "dXRlcykKa3ViZWN0bCBsb2dzIGpvYi9udmNmLWFwaS1hY2NvdW50LWJvb3RzdHJhcCAtbiBudmNm" + - "CgojIENoZWNrIEFQSSBsb2dzCmt1YmVjdGwgbG9ncyAtbiBudmNmIC1sIGFwcC5rdWJlcm5ldGVz" + - "LmlvL25hbWU9bnZjZi1hcGkgLS10YWlsPTEwMApgYGAKCiMjIyBDb21tb24gQ2F1c2VzCgoxLiAq" + - "Kldyb25nIGJhc2U2NCBjcmVkZW50aWFscyoqOiBDcmVkZW50aWFscyBpbiBgc2VjcmV0cy88ZW52" + - "Pi1zZWNyZXRzLnlhbWxgIG11c3QgYmUgYCRvYXV0aHRva2VuOkFQSV9LRVlgIGJhc2U2NC1lbmNv" + - "ZGVkLCBub3QganVzdCB0aGUgQVBJIGtleQoKICAgYGBgYmFzaAogICAjIFZlcmlmeSB5b3VyIGVu" + - "Y29kZWQgY3JlZGVudGlhbAogICBlY2hvICdZT1VSX0JBU0U2NF9TVFJJTkcnIHwgYmFzZTY0IC1k" + - "CiAgICMgU2hvdWxkIG91dHB1dDogJG9hdXRodG9rZW46bnZhcGkteHh4eHgKICAgYGBgCgoyLiAq" + - "KlJlZ2lzdHJ5IHVucmVhY2hhYmxlKio6IEFQSSBjYW4ndCByZWFjaCB0aGUgcmVnaXN0cnkgc3Bl" + - "Y2lmaWVkIGluIGBhY2NvdW50Qm9vdHN0cmFwLnJlZ2lzdHJ5Q3JlZGVudGlhbHNgCgojIyMgRml4" + - "CgpGaXggY3JlZGVudGlhbHMgaW4gc2VjcmV0cyBmaWxlLCB0aGVuIHJlY292ZXIgc2VydmljZXMg" + - "d2l0aG91dCBkZXN0cm95aW5nIGRlcGVuZGVuY2llczoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxl" + - "bnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2aWNlcyBkZXN0cm95Cmt1" + - "YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgLS1pZ25vcmUtbm90" + - "LWZvdW5kCmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBudmNmICYmIGt1YmVjdGwgY3JlYXRlIG5h" + - "bWVzcGFjZSBhcGkta2V5cyAmJiBcCiAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIGVzcyAmJiBr" + - "dWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ugc2lzCiMgUmUtY3JlYXRlIHB1bGwgc2VjcmV0cyBpZiBu" + - "ZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91" + - "cD1zZXJ2aWNlcyBzeW5jCmBgYAoKIyMgRmFpbHVyZTogTlZDQSBDbGVhbnVwIFN0dWNrIChGaW5h" + - "bGl6ZXJzKQoKIyMjIFN5bXB0b21zCgpDb21wdXRlLXBsYW5lIGNsZWFudXAgaGFuZ3MuIE5hbWVz" + - "cGFjZXMKc3R1Y2sgaW4gYFRlcm1pbmF0aW5nYDoKCmBgYGJhc2gKa3ViZWN0bCBnZXQgbnMKIyBu" + - "dmNhLW9wZXJhdG9yICAgIFRlcm1pbmF0aW5nICAgMTBtCiMgbnZjZi1iYWNrZW5kICAgICBUZXJt" + - "aW5hdGluZyAgIDEwbQpgYGAKCiMjIyBGaXgKClJ1biB0aGlzIG9ubHkgYWdhaW5zdCB0aGUgY29t" + - "cHV0ZSBjb250ZXh0LCBhZnRlciB0aGUgbm9ybWFsIGNvbXB1dGUtcGxhbmUKdGVhcmRvd24gaGFz" + - "IGZhaWxlZC4gUmVtb3ZlIGZpbmFsaXplcnMgZnJvbSBOVkNGQmFja2VuZCBjdXN0b20gcmVzb3Vy" + - "Y2VzIGFuZApmb3JjZS1kZWxldGUgc3R1Y2sgbmFtZXNwYWNlczoKCmBgYGJhc2gKZXhwb3J0IENP" + - "TVBVVEVfQ09OVEVYVD08Y29tcHV0ZS1wbGFuZS1jb250ZXh0PgoKIyBSZW1vdmUgZmluYWxpemVy" + - "cyBmcm9tIE5WQ0ZCYWNrZW5kIHJlc291cmNlcwprdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + - "Q09OVEVYVCIgZ2V0IG52Y2ZiYWNrZW5kcyAtQSAtbyBqc29uIHwgXAogIGpxICcuaXRlbXNbXSB8" + - "IC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAiLyIgKyAubWV0YWRhdGEubmFtZScgLXIgfCBcCiAgeGFy" + - "Z3MgLUl7fSBzaCAtYyAnY29udGV4dD0iJDEiOyBucz0iJHsyJSUvKn0iOyBuYW1lPSIkezIjIyov" + - "fSI7IGt1YmVjdGwgLS1jb250ZXh0ICIkY29udGV4dCIgcGF0Y2ggbnZjZmJhY2tlbmQgIiRuYW1l" + - "IiAtbiAiJG5zIiAtLXR5cGU9bWVyZ2UgLXAgIntcIm1ldGFkYXRhXCI6e1wiZmluYWxpemVyc1wi" + - "OltdfX0iJyBfICIkQ09NUFVURV9DT05URVhUIiB7fQoKIyBGb3JjZS1kZWxldGUgc3R1Y2sgbmFt" + - "ZXNwYWNlcyBieSBjbGVhcmluZyB0aGVpciBmaW5hbGl6ZXJzCmZvciBucyBpbiBudmNhLW9wZXJh" + - "dG9yIG52Y2YtYmFja2VuZDsgZG8KICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVfQ09OVEVY" + - "VCIgZ2V0IG5hbWVzcGFjZSAiJG5zIiAtbyBqc29uIDI+L2Rldi9udWxsIHwgXAogICAganEgJy5z" + - "cGVjLmZpbmFsaXplcnMgPSBbXScgfCBcCiAgICBrdWJlY3RsIC0tY29udGV4dCAiJENPTVBVVEVf" + - "Q09OVEVYVCIgcmVwbGFjZSBcCiAgICAgIC0tcmF3ICIvYXBpL3YxL25hbWVzcGFjZXMvJG5zL2Zp" + - "bmFsaXplIiAtZiAtIDI+L2Rldi9udWxsCmRvbmUKYGBgCgojIyBGYWlsdXJlOiBOVkNBIE9wZXJh" + - "dG9yIE1pc3Npbmcgb3IgTm90IFJlYWR5CgojIyMgU3ltcHRvbXMKCkFmdGVyIGNvbXB1dGUtcGxh" + - "bmUgaW5zdGFsbCBjb21wbGV0ZXMsIG5vIGBudmNhLW9wZXJhdG9yYCBEZXBsb3ltZW50IGV4aXN0" + - "cywgb3IKaXQgZXhpc3RzIGJ1dCBwb2RzIGFyZSBub3QgcmVhZHk6CgpgYGBiYXNoCmt1YmVjdGwg" + - "LS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBkZXBsb3ltZW50IG52Y2Etb3Bl" + - "cmF0b3IgXAogIC1uIG52Y2Etb3BlcmF0b3IKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxh" + - "bmUtY29udGV4dD4gZ2V0IHBvZHMgLW4gbnZjYS1vcGVyYXRvcgpgYGAKCiMjIyBEaWFnbm9zaXMg" + - "YW5kIEZpeGVzCgpGaXJzdCBpZGVudGlmeSB3aGV0aGVyIHRoZSBpbnN0YWxsYXRpb24gdXNlZCB0" + - "aGUgSGVsbWZpbGUgdmFsdWVzIGZsb3cgb3IgdGhlCkNMSSBwcm9maWxlIGZsb3cuIFJlLXJ1biBv" + - "bmx5IHRoYXQgZmxvdydzIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIHN0ZXBzCmZyb20g" + - "W1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxh" + - "dGlvbi5tZCkuIERvIG5vdApzdWJzdGl0dXRlIG9uZSBoYW5kb2ZmIGZvciB0aGUgb3RoZXIuCgpJ" + - "ZiBpbnN0YWxsYXRpb24gc3VjY2VlZHMgYnV0IHBvZHMgc3RpbGwgZmFpbCwgaW5zcGVjdCB0aGUg" + - "Y29tcHV0ZSBjb250ZXh0OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBkZXNjcmliZSBkZXBsb3kgbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVy" + - "YXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBsb2dzIGRlcGxv" + - "eW1lbnQvbnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvciAtLXRhaWw9MjAwCmt1YmVj" + - "dGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBudmNmYmFja2VuZCAtbiBu" + - "dmNhLW9wZXJhdG9yCmBgYAoKRm9yIHByaXZhdGUgcmVnaXN0cnkgZmFpbHVyZXMsIHZlcmlmeSB0" + - "aGF0IHRoZSBwdWxsIHNlY3JldCBleGlzdHMgaW4KYG52Y2Etb3BlcmF0b3JgLiBUaGUgY2hhcnQg" + - "YW5kIG9wZXJhdG9yIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gOyBkbyBub3QgdXNlIGEKYnJv" + - "YWRlciBtYW51YWwgbmFtZXNwYWNlIGxvb3AuIFNlZQpbcHVsbC1zZWNyZXRzLm1kXShwdWxsLXNl" + - "Y3JldHMubWQjY29tcHV0ZS1wbGFuZS1zZWNyZXQpLgoKIyMgRmFpbHVyZTogR2F0ZXdheSBFbmRw" + - "b2ludCBDaGFuZ2VkCgojIyMgU3ltcHRvbXMKClJlcXVlc3RzIHRocm91Z2ggdGhlIGNvbmZpZ3Vy" + - "ZWQgcm91dGUgZG9tYWluIGZhaWwgYWZ0ZXIgdGhlIEdhdGV3YXkgb3IgaXRzIGxvYWQgYmFsYW5j" + - "ZXIgaXMgcmVwbGFjZWQuIFRoZSBHYXRld2F5IHJlcG9ydHMgYSBuZXcgZW5kcG9pbnQuCgojIyMg" + - "RGlhZ25vc2lzCgpgYGBiYXNoCkdBVEVXQVlfQUREUj0kKGt1YmVjdGwgLS1jb250ZXh0IDxjb250" + - "cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IFwKICBudmNmLWdhdGV3YXkgLW4gZW52b3kt" + - "Z2F0ZXdheSBcCiAgLW8ganNvbnBhdGg9J3suc3RhdHVzLmFkZHJlc3Nlc1swXS52YWx1ZX0nKQp0" + - "ZXN0IC1uICIkR0FURVdBWV9BRERSIgpkaWcgK3Nob3J0ICJhcGkuPGRvbWFpbj4iCmN1cmwgLUgg" + - "Ikhvc3Q6IGFwaS48ZG9tYWluPiIgImh0dHA6Ly8kR0FURVdBWV9BRERSL2hlYWx0aCIKCiMgQ2hl" + - "Y2sgZGlyZWN0IGFkZHJlc3MgZmllbGRzIHVzZWQgYnkgYSBzcGxpdCBkZXBsb3ltZW50CmdyZXAg" + - "bnZjZk5hdHNTZXJ2aWNlVVJMIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50" + - "cy88ZW52Pi55YW1sCmdyZXAgLUUgJ2ljbXNTZXJ2aWNlfHJldmFsU2VydmljZXxuYXRzJyBcCiAg" + - "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwK" + - "YGBgCgojIyMgRml4CgpLZWVwIGBnbG9iYWwuZG9tYWluYCwgcm91dGUgaG9zdG5hbWVzLCBhbmQg" + - "SG9zdCBvdmVycmlkZXMgdW5jaGFuZ2VkLiBVcGRhdGUgRE5TCm9yIHRoZSBkaXJlY3QgY2xpZW50" + - "IGRlc3RpbmF0aW9uLiBGb3Igc3BsaXQgZGVwbG95bWVudHMsIHVwZGF0ZSBvbmx5IGRpcmVjdApH" + - "YXRld2F5LWFkZHJlc3MgZmllbGRzIGFuZCByZWZyZXNoIHJlZ2lzdHJhdGlvbiBhbmQgaW5zdGFs" + - "bGF0aW9uIHRocm91Z2ggdGhlCnNhbWUgc2VsZWN0ZWQgaGFuZG9mZi4gU2VlCltFeGFtcGxlIDRd" + - "KC4uL2V4YW1wbGVzLm1kI2V4YW1wbGUtNC1yZWNvdmVyLWZyb20tYS1nYXRld2F5LWVuZHBvaW50" + - "LWNoYW5nZSkuCgojIyBVc2VmdWwgTmFtZXNwYWNlLXRvLVNlcnZpY2UgTWFwcGluZwoKUXVpY2sg" + - "cmVmZXJlbmNlIGZvciB3aGljaCBzZXJ2aWNlcyBydW4gaW4gd2hpY2ggbmFtZXNwYWNlOgoKfCBO" + - "YW1lc3BhY2UgfCBTZXJ2aWNlcyB8CnwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IG5hdHMtc3lz" + - "dGVtIHwgbmF0cyB8CnwgY2Fzc2FuZHJhLXN5c3RlbSB8IGNhc3NhbmRyYSB8CnwgdmF1bHQtc3lz" + - "dGVtIHwgb3BlbmJhby1zZXJ2ZXIgfAp8IG52Y2YgfCBhcGksIGludm9jYXRpb24tc2VydmljZSwg" + - "Z3JwYy1wcm94eSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBsbG0tcmVxdWVzdC1yb3V0ZXIsIGxs" + - "bS1hcGktZ2F0ZXdheSB8CnwgYXBpLWtleXMgfCBhcGkta2V5cywgYWRtaW4taXNzdWVyLXByb3h5" + - "IHwKfCBlc3MgfCBlc3MtYXBpIHwKfCBzaXMgfCBzaXMgfAp8IGVudm95LWdhdGV3YXktc3lzdGVt" + - "IHwgZW52b3kgZ2F0ZXdheSAoaW5ncmVzcyBjb250cm9sbGVyKSB8CnwgZW52b3ktZ2F0ZXdheSB8" + - "IGdhdGV3YXkgcmVzb3VyY2UgKyByb3V0ZXMgfApQSwcItXpwO7UwAAC1MAAAUEsDBBQACAAAAAAA" + - "IQAAAAAAAAAAAAAAAABEAAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRpb24vcmVm" + - "ZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhIjIEhlbG1maWxlIFN0cnVjdHVy" + - "ZSBSZWZlcmVuY2UKCiMjIERpcmVjdG9yeSBMYXlvdXQKCmBgYGJhc2gKbnZjZi1zZWxmLW1hbmFn" + - "ZWQtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbCAgIyBOQVRTLCBDYXNzYW5kcmEsIE9wZW5CYW8KfCAgIHwtLSAwMi1jb3JlLnlhbWwuZ290" + - "bXBsICAgICAgICAgICMgTlZDRiBzZXJ2aWNlcyArIGluZ3Jlc3MKfCAgIGAtLSAwMy1vYnNlcnZh" + - "YmlsaXR5LnlhbWwuZ290bXBsICMgT2JzZXJ2YWJpbGl0eSBzdGFjayAob3B0aW9uYWwpCnwtLSBl" + - "bnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAgICAgICAgICAgICAgICAgICAjIERlZmF1" + - "bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAgYC0tIDxlbnYtbmFtZT4ueWFtbCAgICAg" + - "ICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCnwtLSBzZWNyZXRzLwp8ICAgYC0t" + - "IDxlbnYtbmFtZT4tc2VjcmV0cy55YW1sICAgICAgIyBTZW5zaXRpdmUgdmFsdWVzIChyZWdpc3Ry" + - "eSBjcmVkcywgcGFzc3dvcmRzKQpgLS0gZ2xvYmFsLnlhbWwuZ290bXBsICAgICAgICAgICAgICAg" + - "IyBHbyB0ZW1wbGF0ZSB0aGF0IGNvbnN0cnVjdHMgcGVyLWNoYXJ0IHZhbHVlcwoKbnZjZi1jb21w" + - "dXRlLXBsYW5lLXN0YWNrLwp8LS0gaGVsbWZpbGUuZC8KfCAgIHwtLSAwMS1kZXBlbmRlbmNpZXMu" + - "eWFtbC5nb3RtcGwgICMgQ29tcHV0ZSBwbGFuZSBkZXBlbmRlbmN5IGNvbXBvbmVudHMKfCAgIGAt" + - "LSAwMi1udmNhLnlhbWwuZ290bXBsICAgICAgICAgICMgbnZjYS1vcGVyYXRvciBjaGFydCBhbmQg" + - "bnZjYSBjb25maWd1cmF0aW9uCnwtLSBlbnZpcm9ubWVudHMvCnwgICB8LS0gYmFzZS55YW1sICAg" + - "ICAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWVzIChhbGwgZW52aXJvbm1lbnRzKQp8ICAg" + - "YC0tIDxlbnYtbmFtZT4ueWFtbCAgICAgICAgICAgICAgIyBQZXItZW52aXJvbm1lbnQgb3ZlcnJp" + - "ZGVzCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAgICAgICAgICAjIEdvIHRlbXBsYXRlIHRo" + - "YXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCmBgYAoKVGhlc2Ugc3RhY2tzIGhhdmUgc2Vw" + - "YXJhdGUgZW52aXJvbm1lbnRzIGFuZCBjbHVzdGVyIGNvbnRleHRzLiBUaGUgSGVsbWZpbGUKdmFs" + - "dWVzIGZsb3cgYXV0aG9ycyBib3RoIGVudmlyb25tZW50IGZpbGVzLiBUaGUgQ0xJIHByb2ZpbGUg" + - "ZmxvdyBpbnN0ZWFkIHVzZXMKdGhlIENMSS1nZW5lcmF0ZWQgY29udHJvbC1wbGFuZSBwcm9maWxl" + - "IGFzIGl0cyBlbmRwb2ludCBzb3VyY2UuIERvIG5vdCBtaXggdGhlCmhhbmRvZmZzLiBTZWUgW1Nw" + - "bGl0IENvbXB1dGUtUGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlv" + - "bi5tZCkuCgojIyBHb3RtcGwgRmlsZXMgYW5kIFRoZWlyIFJlbGVhc2VzCgojIyMgMDEtZGVwZW5k" + - "ZW5jaWVzLnlhbWwuZ290bXBsCgp8IFJlbGVhc2UgfCBDaGFydCB8IE5hbWVzcGFjZSB8IE5vdGVz" + - "IHwKfC0tLS0tLS0tLXwtLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS18CnwgbmF0cyB8IGhlbG0t" + - "bnZjZi1uYXRzIHwgbmF0cy1zeXN0ZW0gfCBNZXNzYWdpbmcgfAp8IG9wZW5iYW8tc2VydmVyIHwg" + - "aGVsbS1udmNmLW9wZW5iYW8tc2VydmVyIHwgdmF1bHQtc3lzdGVtIHwgU2VjcmV0cyBtYW5hZ2Vt" + - "ZW50LCBkZXBlbmRzIG9uIG5hdHMgfAp8IGNhc3NhbmRyYSB8IGhlbG0tbnZjZi1jYXNzYW5kcmEg" + - "fCBjYXNzYW5kcmEtc3lzdGVtIHwgRGF0YWJhc2UgfAoKVXNlcyBgPDw6ICpkZXBlbmRlbmN5YCB0" + - "ZW1wbGF0ZSBpbmhlcml0YW5jZSB3aXRoIGByZWxlYXNlLWdyb3VwOiBkZXBlbmRlbmNpZXNgIGxh" + - "YmVsLgoKIyMjIDAyLWNvcmUueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNw" + - "YWNlIHwgTGFiZWwgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBh" + - "cGkta2V5cyB8IGhlbG0tbnZjZi1hcGkta2V5cyB8IGFwaS1rZXlzIHwgc2VydmljZXMgfAp8IHNp" + - "cyB8IGhlbG0tbnZjZi1zaXMgfCBzaXMgfCBzZXJ2aWNlcyB8CnwgYXBpIHwgaGVsbS1udmNmLWFw" + - "aSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgaW52b2NhdGlvbi1zZXJ2aWNlIHwgaGVsbS1udmNmLWlu" + - "dm9jYXRpb24tc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgZ3JwYy1wcm94eSB8IGhlbG0t" + - "bnZjZi1ncnBjLXByb3h5IHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBlc3MtYXBpIHwgaGVsbS1udmNm" + - "LWVzcy1hcGkgfCBlc3MgfCBzZXJ2aWNlcyB8Cnwgbm90YXJ5LXNlcnZpY2UgfCBoZWxtLW52Y2Yt" + - "bm90YXJ5LXNlcnZpY2UgfCBudmNmIHwgc2VydmljZXMgfAp8IHJldmFsIHwgaGVsbS1yZXZhbCB8" + - "IG52Y2YgfCBzZXJ2aWNlcyB8CnwgbGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZi9oZWxtLW52Y2Yt" + - "bGxtLXJlcXVlc3Qtcm91dGVyIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tYXBpLWdhdGV3YXkg" + - "fCBudmNmL2hlbG0tbnZjZi1sbG0tYXBpLWdhdGV3YXkgfCBudmNmIHwgc2VydmljZXMgfAp8IGFk" + - "bWluLWlzc3Vlci1wcm94eSB8IGhlbG0tYWRtaW4tdG9rZW4taXNzdWVyLXByb3h5IHwgYXBpLWtl" + - "eXMgfCAobm8gcmVsZWFzZS1ncm91cCBsYWJlbCkgfAp8IGluZ3Jlc3MgfCBudmNmLWdhdGV3YXkt" + - "cm91dGVzIHwgZW52b3ktZ2F0ZXdheS1zeXN0ZW0gfCBpbmdyZXNzIHwKCk1vc3Qgc2VydmljZXMg" + - "dXNlIGBpbmhlcml0OiBbe3RlbXBsYXRlOiBzZXJ2aWNlfV1gLiBMTE0gcmVsZWFzZXMgdXNlIE9D" + - "SSBjaGFydHMgZnJvbSB0aGUgYG52Y2ZgIHJlcG9zaXRvcnkgd2l0aCBzdGFuZGFsb25lIGB2YWx1" + - "ZXM6IFsuLi9nbG9iYWwueWFtbC5nb3RtcGxdYCBibG9ja3M7IHRoZXkgYXJlIGdhdGVkIG9uIGBh" + - "ZGRvbnMubGxtLmVuYWJsZWRgLiBgYWRtaW4taXNzdWVyLXByb3h5YCBhbmQgYGluZ3Jlc3NgIGhh" + - "dmUgc3RhbmRhbG9uZSBgdmFsdWVzOmAgYmxvY2tzLgoKIyMjIDAzLW9ic2VydmFiaWxpdHkueWFt" + - "bC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNlIHwgTGFiZWwgfAp8LS0tLS0t" + - "LS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCAob2JzZXJ2YWJpbGl0eSByZWxlYXNl" + - "cykgfCAodmFyaW91cykgfCBvYnNlcnZhYmlsaXR5IHwgb2JzZXJ2YWJpbGl0eSB8CgpHYXRlZCBv" + - "biBvYnNlcnZhYmlsaXR5LXNwZWNpZmljIGZsYWdzIGluIHRoZSBlbnZpcm9ubWVudCBmaWxlLiBT" + - "a2lwcGVkIGlmIGRpc2FibGVkLgoKIyMgVGVtcGxhdGUgSW5oZXJpdGFuY2UKCiMjIyBgPDw6ICpk" + - "ZXBlbmRlbmN5YCAoWUFNTCBtZXJnZSkKClVzZWQgaW4gYDAxLWRlcGVuZGVuY2llcy55YW1sLmdv" + - "dG1wbGAuIE1lcmdlcyB0aGUgdGVtcGxhdGUncyBwcm9wZXJ0aWVzIGludG8gdGhlIHJlbGVhc2Uu" + - "CgoqKkdvdGNoYSoqOiBZQU1MIG1lcmdlIHJlcGxhY2VzIGxpc3RzLiBJZiB5b3UgYWRkIGEgYHZh" + - "bHVlczpgIGtleSB0byB0aGUgcmVsZWFzZSwgaXQgKipyZXBsYWNlcyoqIHRoZSB0ZW1wbGF0ZSdz" + - "IGB2YWx1ZXM6YCBsaXN0IGVudGlyZWx5LiBZb3UgbXVzdCByZS1pbmNsdWRlIGFsbCB0ZW1wbGF0" + - "ZSB2YWx1ZXM6CgpJbiB0aGUgdGVtcGxhdGUgYmVsb3csIGA8cHJpdmF0ZS12YWx1ZXM+YCByZWZl" + - "cnMgdG8gdGhlIGBzZWNyZXRzL2AgZGlyZWN0b3J5IGF0IHRoZSBoZWxtZmlsZSBzdGFjayByb290" + - "LgoKYGBgeWFtbAojIFRlbXBsYXRlIGRlZmluZXM6CnRlbXBsYXRlczoKICBkZXBlbmRlbmN5OiAm" + - "ZGVwZW5kZW5jeQogICAgY2hhcnQ6IG52Y2YvaGVsbS1udmNmLXt7IC5SZWxlYXNlLk5hbWUgfX0K" + - "ICAgIHZhbHVlczoKICAgICAgLSAuLi9nbG9iYWwueWFtbC5nb3RtcGwKICAgICAgLSAuLi88cHJp" + - "dmF0ZS12YWx1ZXM+L3t7IHJlcXVpcmVkRW52ICJIRUxNRklMRV9FTlYiIH19LXNlY3JldHMueWFt" + - "bAoKIyBXaGVuIG92ZXJyaWRpbmcsIE1VU1QgcmUtaW5jbHVkZSBib3RoOgotIG5hbWU6IGNhc3Nh" + - "bmRyYQogIDw8OiAqZGVwZW5kZW5jeQogIHZhbHVlczoKICAgIC0gLi4vZ2xvYmFsLnlhbWwuZ290" + - "bXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTXVzdCBy" + - "ZS1pbmNsdWRlCiAgICAtIC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1G" + - "SUxFX0VOViIgfX0tc2VjcmV0cy55YW1sICAgIyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gY2Fzc2Fu" + - "ZHJhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + - "ICAgICAjIFlvdXIgb3ZlcnJpZGUKICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICBsaW1pdHM6" + - "CiAgICAgICAgICAgIG1lbW9yeTogODE5Mk1pCmBgYAoKIyMjIGBpbmhlcml0YCAoSGVsbWZpbGUg" + - "bmF0aXZlKQoKVXNlZCBpbiBgMDItY29yZS55YW1sLmdvdG1wbGAuIEhlbG1maWxlJ3MgbmF0aXZl" + - "IGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KCmBgYHlhbWwKLSBuYW1lOiBhcGkKICB2ZXJzaW9uOiAx" + - "LjYuMAogIG5hbWVzcGFjZTogbnZjZgogIGluaGVyaXQ6CiAgICAtIHRlbXBsYXRlOiBzZXJ2aWNl" + - "CmBgYAoKV2hlbiBhZGRpbmcgYHZhbHVlczpgIHRvIGFuIGluaGVyaXRlZCByZWxlYXNlLCB5b3Ug" + - "YWxzbyBuZWVkIHRvIHJlLWluY2x1ZGUgdGhlIHRlbXBsYXRlJ3MgdmFsdWVzIGZpbGVzIHNpbmNl" + - "IGB2YWx1ZXNgIGlzIGEgbGlzdCB0aGF0IGdldHMgcmVwbGFjZWQuCgojIyBWYWx1ZXMgUHJlY2Vk" + - "ZW5jZQoKRnJvbSBsb3dlc3QgdG8gaGlnaGVzdCBwcmlvcml0eToKCjEuIGBlbnZpcm9ubWVudHMv" + - "YmFzZS55YW1sYCAtLSBkZWZhdWx0cyBzaGFyZWQgYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMKMi4g" + - "YGVudmlyb25tZW50cy88ZW52Pi55YW1sYCAtLSBwZXItZW52aXJvbm1lbnQgb3ZlcnJpZGVzCjMu" + - "IGBnbG9iYWwueWFtbC5nb3RtcGxgIC0tIEdvIHRlbXBsYXRlIHByb2Nlc3NpbmcgKGNvbnN0cnVj" + - "dHMgY2hhcnQtc3BlY2lmaWMgc3RydWN0dXJlKQo0LiBgPHByaXZhdGUtdmFsdWVzPi88ZW52Pi1z" + - "ZWNyZXRzLnlhbWxgIC0tIHNlbnNpdGl2ZSB2YWx1ZXMKNS4gSW5saW5lIGB2YWx1ZXM6YCBibG9j" + - "a3Mgb24gcmVsZWFzZXMgLS0gaGlnaGVzdCBwcmVjZWRlbmNlCgojIyBXaGF0IGdsb2JhbC55YW1s" + - "LmdvdG1wbCBQYXNzZXMgVGhyb3VnaAoKYGdsb2JhbC55YW1sLmdvdG1wbGAgcmVhZHMgZnJvbSBg" + - "LlZhbHVlc2AgKHRoZSBtZXJnZWQgZW52aXJvbm1lbnQgKyBlbnYtc3BlY2lmaWMgWUFNTCkgYW5k" + - "IGNvbnN0cnVjdHMgY2hhcnQtc3BlY2lmaWMgdmFsdWVzLiBJdCBvbmx5IHBhc3NlcyB0aHJvdWdo" + - "IGtleXMgaXQgZXhwbGljaXRseSByZWZlcmVuY2VzOgoKIyMjIENhc3NhbmRyYQoKLSBgY2Fzc2Fu" + - "ZHJhLnJlcGxpY2FDb3VudGAKLSBgY2Fzc2FuZHJhLmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3Np" + - "dG9yeSkKLSBgY2Fzc2FuZHJhLm1pZ3JhdGlvbnMuaW1hZ2UuKmAKLSBgY2Fzc2FuZHJhLnBlcnNp" + - "c3RlbmNlLnNpemVgCi0gYGNhc3NhbmRyYS5ub2RlU2VsZWN0b3JgIChpZiBgZ2xvYmFsLm5vZGVT" + - "ZWxlY3RvcnMuZW5hYmxlZGApCi0gYGNhc3NhbmRyYS5nbG9iYWwuZGVmYXVsdFN0b3JhZ2VDbGFz" + - "c2AKCiMjIyBOQVRTCgotIGBuYXRzLmNvbnRhaW5lci5pbWFnZS4qYAotIGBuYXRzLnJlbG9hZGVy" + - "LmltYWdlLipgCi0gYG5hdHMubmF0c0JveC5jb250YWluZXIuaW1hZ2UuKmAKLSBgbmF0cy5jb25m" + - "aWcuamV0c3RyZWFtLmZpbGVTdG9yZS5wdmMuc3RvcmFnZUNsYXNzTmFtZWAKLSBgbmF0cy5wb2RU" + - "ZW1wbGF0ZS5tZXJnZS5zcGVjLm5vZGVTZWxlY3RvcmAgKGlmIGVuYWJsZWQpCgojIyMgT3BlbkJh" + - "bwoKLSBgb3BlbmJhby5taWdyYXRpb25zLmltYWdlLipgIGFuZCBgb3BlbmJhby5taWdyYXRpb25z" + - "LmVudmAKLSBgb3BlbmJhby5pbmplY3Rvci5pbWFnZS4qYAotIGBvcGVuYmFvLnNlcnZlci5pbWFn" + - "ZS4qYAotIGBvcGVuYmFvLnNlcnZlci5kYXRhU3RvcmFnZS4qYAotIE5vZGUgc2VsZWN0b3JzIChp" + - "ZiBlbmFibGVkKQoKIyMjIFNlcnZpY2VzIChBUEksIFNJUywgZXRjLikKCi0gYDxzZXJ2aWNlPi5p" + - "bWFnZS4qYCAocmVnaXN0cnksIHJlcG9zaXRvcnkpCi0gYDxzZXJ2aWNlPi5ub2RlU2VsZWN0b3Jg" + - "IChpZiBlbmFibGVkKQotIGA8c2VydmljZT4uZW52LipgIChvYnNlcnZhYmlsaXR5IHNldHRpbmdz" + - "KQoKIyMjIExMTSBGdW5jdGlvbiBFbmFibGVtZW50CgpFbmFibGUgdGhlIExMTSBhZGRvbiBiZWZv" + - "cmUgY3JlYXRpbmcgb3IgaW52b2tpbmcgZnVuY3Rpb25zIHdpdGgKYGZ1bmN0aW9uVHlwZTogIkxM" + - "TSJgLiBUaGUgYWRkb24gZGVwbG95cyBgbGxtLXJlcXVlc3Qtcm91dGVyYCBhbmQKYGxsbS1hcGkt" + - "Z2F0ZXdheWAsIGFkZHMgdGhlIGBsbG0uaW52b2NhdGlvbi48ZG9tYWluPmAgcm91dGUgd2hlbiBH" + - "YXRld2F5IEFQSQppbmdyZXNzIGlzIGVuYWJsZWQsIGFuZCBjb25maWd1cmVzIHdvcmtlcnMgdG8g" + - "dXNlIHRoZSBMTE0gc2lkZWNhci4gVGhlIEhlbG1maWxlCmNvbmRpdGlvbiBpcyBgYWRkb25zLmxs" + - "bS5lbmFibGVkYC4gRG8gbm90IHVzZSB0aGUgb2Jzb2xldGUgYGxsbS5lbmFibGVkYCBwYXRoLgoK" + - "Rm9yIGEgc2luZ2xlLW5vZGUgaXNvbGF0ZWQgdGVzdCBjbHVzdGVyLCBhZGQgdGhpcyBjb25maWd1" + - "cmF0aW9uIHRvCmBlbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgYmVmb3JlIGFwcGx5aW5nIHRoZSBz" + - "dGFjazoKCmBgYHlhbWwKYWRkb25zOgogIGxsbToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGdhdGV3" + - "YXk6CiAgICAgIHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VN" + - "b25pdG9yOgogICAgICAgICAgZW5hYmxlZDogZmFsc2UKICAgIHJlcXVlc3RSb3V0ZXI6CiAgICAg" + - "IHJlcGxpY2FDb3VudDogMQogICAgICBtZXRyaWNzOgogICAgICAgIHNlcnZpY2VNb25pdG9yOgog" + - "ICAgICAgICAgZW5hYmxlZDogZmFsc2UKCmFnZW50Q29uZmlnOgogIG1lcmdlQ29uZmlnOiB8CiAg" + - "ICBjbHVzdGVyOgogICAgICB2YWxpZGF0aW9uUG9saWN5OgogICAgICAgIG5hbWU6IFVucmVzdHJp" + - "Y3RlZAogICAgd29ya2xvYWQ6CiAgICAgIHN0YXJnYXRlUVVJQ0luc2VjdXJlOiB0cnVlCmBgYAoK" + - "VXNlIGByZXBsaWNhQ291bnQ6IDFgIG9ubHkgZm9yIGxvY2FsIG9yIHNpbmdsZS1ub2RlIHRlc3Qg" + - "Y2x1c3RlcnMuIFRoZSBidW5kbGVkCk5WQ0YgQVBJIGN1cnJlbnRseSBzZXJ2ZXMgcGxhaW50ZXh0" + - "IGdSUEMgb24gcG9ydCA5MDkwLCBzbyB0aGUgc2VsZi1tYW5hZ2VkIHN0YWNrCmRlZmF1bHRzIHRo" + - "ZSBMTE0gQVBJIEdhdGV3YXkgYXV0aGVudGljYXRpb24gaG9wIHRvIHBsYWludGV4dC4gU2V0CmBh" + - "ZGRvbnMubGxtLmdhdGV3YXkuYXV0aC5ncnBjSW5zZWN1cmU6IGZhbHNlYCBvbmx5IHdpdGggYSBU" + - "TFMtY2FwYWJsZSBOVkNGIEFQSS4KCldvcmtlci10by1yb3V0ZXIgdHJhbnNwb3J0IGlzIHNlcGFy" + - "YXRlLiBGb3Igc2hhcmVkIG9yIHByb2R1Y3Rpb24gY2x1c3RlcnMsIHVzZQp0aGUgcmVxdWlyZWQg" + - "cmVwbGljYSBjb3VudCBhbmQgdGhlIG1hbmFnZWQgVExTIGNvbmZpZ3VyYXRpb24uIFRoZQpgd29y" + - "a2xvYWQuc3RhcmdhdGVRVUlDSW5zZWN1cmVgIHNldHRpbmcgZW5hYmxlcyBwbGFpbnRleHQgd29y" + - "a2VyIHRyYW5zcG9ydCBhbmQKbXVzdCBub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9uLgoKVGhlIHJl" + - "cXVlc3Qgcm91dGVyIHVzZXMgYHBvd2VyLW9mLXR3b2Agd2hlbiBubyBsb2FkLWJhbGFuY2VyIGNv" + - "bmZpZ3VyYXRpb24gaXMKc2V0LiBDb25maWd1cmUgb3RoZXIgcm91dGluZyBtZXRob2RzIHdpdGgg" + - "dGhlCltMTE0gUmVxdWVzdCBSb3V0ZXIgTG9hZCBCYWxhbmNpbmddKGh0dHBzOi8vZ2l0aHViLmNv" + - "bS9OVklESUEvbnZjZi9ibG9iL21haW4vZG9jcy9zZWxmLW1hbmFnZWQvbGxtLXJlcXVlc3Qtcm91" + - "dGVyLWxvYWQtYmFsYW5jaW5nLm1kKQpndWlkZS4KCklmIHRoZSBzaWRlY2FyIGltYWdlIGlzIG1p" + - "cnJvcmVkIG91dHNpZGUgdGhlIHN0YWNrJ3MgZGVmYXVsdCBpbWFnZSByZWdpc3RyeSBhbmQKcmVw" + - "b3NpdG9yeSwgc2V0IHRoZSBnZW5lcmF0ZWQgd29ya2VyIHNpZGVjYXIgaW1hZ2UgZXhwbGljaXRs" + - "eToKCmBgYHlhbWwKYXBpOgogIHJlbW90ZUNvbmZpZzoKICAgIGNvbmZpZ0RhdGE6CiAgICAgIG52" + - "Y2Y6CiAgICAgICAgc2lkZWNhcnM6CiAgICAgICAgICBsbG0tcm91dGVyLWNsaWVudC1pbWFnZTog" + - "PHJlZ2lzdHJ5Pi88cmVwb3NpdG9yeT4vcHlsb246MC4xNC4xCmBgYAoKVGhlIGxlZ2FjeSBgYXBp" + - "LmVudi5OVkNGX1NJREVDQVJTX0xMTV9ST1VURVJfQ0xJRU5UX0lNQUdFYCBwYXRoIGlzIGRlcHJl" + - "Y2F0ZWQuClRoZSBzdGFjayB0cmFuc2xhdGVzIGl0IGZvciBvbmUgY29tcGF0aWJpbGl0eSB3aW5k" + - "b3csIGJ1dCBuZXcgY29uZmlndXJhdGlvbnMKbXVzdCB1c2UgdGhlIHJlbW90ZS1jb25maWcgcGF0" + - "aC4gQ29uZmxpY3RpbmcgdmFsdWVzIGZhaWwgcmVuZGVyaW5nLgoKUmVuZGVyIGFuZCBhcHBseSB0" + - "aGUgdXBkYXRlZCBjb250cm9sLXBsYW5lIGVudmlyb25tZW50LCB0aGVuIHJlZnJlc2ggZXZlcnkK" + - "cmVnaXN0ZXJlZCBjb21wdXRlIHBsYW5lIHVzaW5nIHRoZSBzYW1lIGhhbmRvZmYgdXNlZCBmb3Ig" + - "aXRzIGluc3RhbGxhdGlvbiBzbwpOVkNBIHJlY2VpdmVzIGBhZ2VudENvbmZpZy5tZXJnZUNvbmZp" + - "Z2A6CgpgYGBiYXNoCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSB0ZW1wbGF0ZQpIRUxNRklM" + - "RV9FTlY9PGVudj4gaGVsbWZpbGUgc3luYwpgYGAKClVzZSB0aGUgY29tcGxldGUgY29tcHV0ZS1w" + - "bGFuZSBpbnN0YWxsIGNvbW1hbmQgZnJvbQpbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRp" + - "b25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gQQpDTEktcHJvZmlsZSBpbnN0YWxs" + - "YXRpb24gbXVzdCByZW1haW4gcHJvZmlsZS1kcml2ZW47IGEgSGVsbWZpbGUgaW5zdGFsbGF0aW9u" + - "Cm11c3QgcmVtYWluIHZhbHVlcy1kcml2ZW4uCgpFeGlzdGluZyBMTE0gZnVuY3Rpb24gdmVyc2lv" + - "bnMgcmV0YWluIHRoZSB3b3JrZXItc2lkZWNhciBpbWFnZSBtZXRhZGF0YQpjYXB0dXJlZCB3aGVu" + - "IHRoZSB2ZXJzaW9uIGlzIGNyZWF0ZWQuIFJlcGxhY2luZyBwb2RzIG9yIHJlZGVwbG95aW5nIHRo" + - "ZSBzYW1lCnZlcnNpb24gZG9lcyBub3QgYXBwbHkgYSBuZXcgUHlsb24gaW1hZ2UuIEFmdGVyIHRo" + - "ZSBjb250cm9sLXBsYW5lIHVwZGF0ZSwKY3JlYXRlIGFuZCBkZXBsb3kgYSBuZXcgZnVuY3Rpb24g" + - "dmVyc2lvbi4gVmVyaWZ5IHRoZSBjb250cm9sIHBsYW5lLCByb3V0ZSwgYW5kCndvcmtlciBzaWRl" + - "Y2FyOgoKYGBgYmFzaAprdWJlY3RsIGdldCBkZXBsb3kgLW4gbnZjZiBsbG0tYXBpLWdhdGV3YXkK" + - "a3ViZWN0bCBnZXQgc3RhdGVmdWxzZXQgLW4gbnZjZiBsbG0tcmVxdWVzdC1yb3V0ZXIKa3ViZWN0" + - "bCBnZXQgcG9kcyAtbiBudmNmIHwgZ3JlcCAtRSAnbGxtLWFwaS1nYXRld2F5fGxsbS1yZXF1ZXN0" + - "LXJvdXRlcicKa3ViZWN0bCBnZXQgaHR0cHJvdXRlIC1BIHwgZ3JlcCBsbG0Ka3ViZWN0bCAtbiBu" + - "dmNmLWJhY2tlbmQgZ2V0IHBvZCA8ZnVuY3Rpb24tcG9kPiBcCiAgLW8ganNvbnBhdGg9J3tyYW5n" + - "ZSAuc3BlYy5jb250YWluZXJzWz8oQC5uYW1lPT0ibGxtLXdvcmtlciIpXS5hcmdzWypdfXsufXsi" + - "XFxuIn17ZW5kfScKYGBgCgpGb3IgbG9jYWwgcGxhaW50ZXh0IGNsdXN0ZXJzLCB0aGUgYGxsbS13" + - "b3JrZXJgIGFyZ3MgbXVzdCBpbmNsdWRlCmAtLXF1aWMtaW5zZWN1cmVgLgoKRm9yIGxvYWQtYmFs" + - "YW5jZXIgc2NoZW1hIGFuZCBhbGdvcml0aG0gYmVoYXZpb3IsIHNlZSB0aGUKW1N0YXJnYXRlIGNv" + - "bmZpZ3VyYXRpb24gZ3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbnZjZi9ibG9iL21h" + - "aW4vc3JjL2xpYnJhcmllcy9ydXN0L3N0YXJnYXRlL2RvY3MvbG9hZC1iYWxhbmNlci1jb25maWd1" + - "cmF0aW9uLm1kKS4KCiMjIEhlbG1maWxlIFNlbGVjdG9ycwoKVGFyZ2V0IHNwZWNpZmljIHJlbGVh" + - "c2VzIG9yIGdyb3VwczoKCmBgYGJhc2gKIyBCeSByZWxlYXNlIGdyb3VwCkhFTE1GSUxFX0VOVj08" + - "ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMK" + - "SEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1zZXJ2" + - "aWNlcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIHJlbGVhc2Ut" + - "Z3JvdXA9aW5ncmVzcyBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + - "IHJlbGVhc2UtZ3JvdXA9b2JzZXJ2YWJpbGl0eSBzeW5jCgojIEJ5IHJlbGVhc2UgbmFtZQpIRUxN" + - "RklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBzeW5jCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9YWRtaW4taXNzdWVyLXBy" + - "b3h5IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1sbG0t" + - "cmVxdWVzdC1yb3V0ZXIgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3Rv" + - "ciBuYW1lPWxsbS1hcGktZ2F0ZXdheSBzeW5jCgojIFRlbXBsYXRlIG9ubHkgKGRyeSBydW4pCkhF" + - "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIHRlbXBs" + - "YXRlCgojIERlc3Ryb3kgYSBzaW5nbGUgcmVsZWFzZQpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZp" + - "bGUgLS1zZWxlY3RvciBuYW1lPWNhc3NhbmRyYSBkZXN0cm95CmBgYAoKTm90ZTogYGFkbWluLWlz" + - "c3Vlci1wcm94eWAgaGFzIG5vIGByZWxlYXNlLWdyb3VwYCBsYWJlbC4gVXNlIGAtLXNlbGVjdG9y" + - "IG5hbWU9YWRtaW4taXNzdWVyLXByb3h5YC4KUEsHCBMR7I0KKgAACioAAFBLAwQUAAgAAAAAACEA" + - "AAAAAAAAAAAAAAAAPwAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVy" + - "ZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOEiMgTlZDRiBVSSBBZGRvbgoKTlZDRiBVSSBp" + - "cyBhbiBvcHRpb25hbCwgY3VzdG9tZXItZmFjaW5nIE5WQ0YgYWRtaW4tcGFuZWwgVUkuIEl0IGlz" + - "IGRpc2FibGVkIGJ5CmRlZmF1bHQgYW5kIGF2YWlsYWJsZSBvbmx5IGluIHN0YWNrIHBhY2thZ2Vz" + - "IHRoYXQgaW5jbHVkZSB0aGUgTlZDRiBVSSBhZGRvbi4KCiMjIFdoZW4gdG8gZW5hYmxlCgpFbmFi" + - "bGUgTlZDRiBVSSBvbmx5IHdoZW4geW91IG5lZWQgdGhlIGFkbWluLXBhbmVsIFVJIGFuZCB5b3Vy" + - "IGV4dHJhY3RlZCBzdGFjawpwYWNrYWdlIGluY2x1ZGVzIHRoZSBhZGRvbi4gSWYgdGhlIHBhY2th" + - "Z2UgZG9lcyBub3QgY29udGFpbiBhIGBudmNmLXVpYCByZWxlYXNlCmFuZCBgbnZjZlVpYCByb3V0" + - "ZSB2YWx1ZXMsIHNraXAgdGhlIGFkZG9uIHVudGlsIHlvdSB1c2UgYSBwYWNrYWdlIHRoYXQgaW5j" + - "bHVkZXMKdGhlbS4KCiMjIEVuYWJsZSB0aGUgYWRkb24KCkVuYWJsZSBpdCBpbiBgZW52aXJvbm1l" + - "bnRzLzxlbnYtbmFtZT4ueWFtbGA6CgpgYGB5YW1sCmFkZG9uczoKICBudmNmVWk6CiAgICBlbmFi" + - "bGVkOiB0cnVlCmBgYAoKIyMgQ3JlYXRlIG5hbWVzcGFjZSBhbmQgaW1hZ2UgcHVsbCBzZWNyZXQK" + - "CkNyZWF0ZSB0aGUgbmFtZXNwYWNlLCBhbmQgYW4gaW1hZ2UgcHVsbCBzZWNyZXQgb25seSBpZiBw" + - "dWxsaW5nIGZyb20gYSBwcml2YXRlCnJlZ2lzdHJ5OgoKYGBgYmFzaAprdWJlY3RsIGNyZWF0ZSBu" + - "YW1lc3BhY2UgbnZjZi11aSAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5" + - "IC1mIC0KCiMgT25seSBpZiBwdWxsaW5nIGZyb20gYSBwcml2YXRlIHJlZ2lzdHJ5IChlLmcuLCBO" + - "R0MgbnZjci5pbykKZXhwb3J0IE5HQ19BUElfS0VZPSI8eW91ci1rZXk+IgprdWJlY3RsIGNyZWF0" + - "ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0tZG9ja2VyLXNlcnZlcj1u" + - "dmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4nIFwKICAtLWRvY2tlci1w" + - "YXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZjZi11aSBcCiAgLS1kcnkt" + - "cnVuPWNsaWVudCAtbyB5YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCmBgYAoKVGhlIGRlZmF1bHQg" + - "cm91dGUgaG9zdCBpcyBgbnZjZi11aS48ZG9tYWluPmAgYW5kIHRoZSBiYWNrZW5kIGlzCmBudmNm" + - "LXVpLm52Y2YtdWk6ODMwMGAuCgojIyBBcHBseSB0aGUgc2VydmljZSBhbmQgcm91dGUKCkFmdGVy" + - "IGNvbmZpcm1pbmcgdGhlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIGBudmNmLXVpYCByZWxlYXNlLCBw" + - "cmV2aWV3IGFuZCBhcHBseQp0aGUgc2VydmljZSBhbmQgcm91dGU6CgpgYGBiYXNoCkhFTE1GSUxF" + - "X0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVpIHRlbXBsYXRl" + - "CkhFTE1GSUxFX0VOVj08ZW52LW5hbWU+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1udmNmLXVp" + - "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNl" + - "LWdyb3VwPWluZ3Jlc3Mgc3luYwpgYGAKCiMjIFZlcmlmeQoKVmVyaWZ5IHRoZSByb3V0ZSBvbmx5" + - "IHdoZW4gdGhlIGFkZG9uIGlzIHByZXNlbnQgYW5kIGVuYWJsZWQ6CgpgYGBiYXNoCmt1YmVjdGwg" + - "Z2V0IGRlcGxveSxzdmMgLW4gbnZjZi11aQprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVw" + - "IC1pIG52Y2YtdWkKY3VybCAtaSAtSCAiSG9zdDogbnZjZi11aS48ZG9tYWluPiIgImh0dHA6Ly88" + - "Z2F0ZXdheS1hZGRyZXNzPi9zdGF0dXMiCmBgYAoKIyMgU2VjdXJpdHkKClRoZSBOVkNGIFVJIGFk" + - "bWluIHBhbmVsIGlzIGN1cnJlbnRseSB1bmF1dGhlbnRpY2F0ZWQuIERvIG5vdCBleHBvc2UgaXQg" + - "dG8gdGhlCnB1YmxpYyBpbnRlcm5ldC4gUmVzdHJpY3QgYWNjZXNzIHRvIGEgdHJ1c3RlZCBuZXR3" + - "b3JrLCBWUE4sIG9yIGFuIGF1dGhlbnRpY2F0aW5nCnByb3h5IGluIGZyb250IG9mIHRoZSBgbnZj" + - "Zi11aWAgcm91dGUuClBLBwg4+SevuQcAALkHAABQSwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAD4A" + - "CQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2Vj" + - "cmV0cy5tZFVUBQABAKbOEiMgSW1hZ2UgUHVsbCBTZWNyZXRzIFJlZmVyZW5jZQoKIyMgT3ZlcnZp" + - "ZXcKCldoZW4gcHVsbGluZyBOVkNGIGltYWdlcyBmcm9tIGEgcHJpdmF0ZSByZWdpc3RyeSAoZm9y" + - "IGV4YW1wbGUsIE5HQwpgbnZjci5pb2ApLCBLdWJlcm5ldGVzIG5lZWRzIGBpbWFnZVB1bGxTZWNy" + - "ZXRzYCBvbiBldmVyeSBwb2QuIENvbnRyb2wtcGxhbmUgYW5kCmNvbXB1dGUtcGxhbmUgY3JlZGVu" + - "dGlhbHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlaXIgb3duIGNsdXN0ZXIgY29udGV4dHMuIERvIG5v" + - "dAp1c2Ugb25lIG1peGVkIG5hbWVzcGFjZSBsaXN0LgoKVGhlIHJlY29tbWVuZGVkIGNvbnRyb2wt" + - "cGxhbmUgYXBwcm9hY2ggdXNlcyBLeXZlcm5vIHRvIGluamVjdCB0aGUgc2VjcmV0IGludG8KY29u" + - "dHJvbC1wbGFuZSBwb2RzIGF0IGFkbWlzc2lvbiB0aW1lLiBUaGUgY29tcHV0ZS1wbGFuZSBjaGFy" + - "dCBhbmQgb3BlcmF0b3IgdXNlCnRoZSBzZWNyZXQgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJy" + - "b3IgaXQgdG8gYG52Y2Etc3lzdGVtYC4KCiMjIEt5dmVybm8gQXBwcm9hY2ggKFJlY29tbWVuZGVk" + - "KQoKIyMjIDEuIEluc3RhbGwgS3l2ZXJubwoKYGBgYmFzaApoZWxtIHJlcG8gYWRkIGt5dmVybm8g" + - "aHR0cHM6Ly9reXZlcm5vLmdpdGh1Yi5pby9reXZlcm5vLwpoZWxtIHJlcG8gdXBkYXRlCmhlbG0g" + - "aW5zdGFsbCBreXZlcm5vIGt5dmVybm8va3l2ZXJubyAtbiBreXZlcm5vIC0tY3JlYXRlLW5hbWVz" + - "cGFjZSBcCiAgLS1rdWJlLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4KYGBgCgojIyMg" + - "Mi4gQ3JlYXRlIGNvbnRyb2wtcGxhbmUgcHVsbCBzZWNyZXRzCgpgYGBiYXNoCmV4cG9ydCBOR0Nf" + - "QVBJX0tFWT0iPHlvdXItbmdjLWFwaS1rZXk+IgoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0g" + - "bmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBlc3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFn" + - "ZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRl" + - "IG5hbWVzcGFjZSAiJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKCmZvciBu" + - "cyBpbiBjYXNzYW5kcmEtc3lzdGVtIG5hdHMtc3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2" + - "YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9s" + - "LXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMg" + - "XAogICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgLS1kb2NrZXItdXNlcm5hbWU9JyRv" + - "YXV0aHRva2VuJyBcCiAgICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgICAt" + - "LW5hbWVzcGFjZT0iJG5zIiBcCiAgICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3Rs" + - "IC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmRvbmUKYGBgCgpG" + - "b3Igbm9uLU5HQyByZWdpc3RyaWVzLCByZXBsYWNlIGAtLWRvY2tlci1zZXJ2ZXJgLCBgLS1kb2Nr" + - "ZXItdXNlcm5hbWVgLCBhbmQgYC0tZG9ja2VyLXBhc3N3b3JkYC4KCiMjIyAzLiBBcHBseSBLeXZl" + - "cm5vIENsdXN0ZXJQb2xpY3kKCmBgYHlhbWwKYXBpVmVyc2lvbjoga3l2ZXJuby5pby92MQpraW5k" + - "OiBDbHVzdGVyUG9saWN5Cm1ldGFkYXRhOgogIG5hbWU6IG52Y2YtYWRkLWltYWdlcHVsbHNlY3Jl" + - "dHMKc3BlYzoKICBiYWNrZ3JvdW5kOiBmYWxzZQogIHJ1bGVzOgogICAgLSBuYW1lOiBhZGQtaW1h" + - "Z2VwdWxsc2VjcmV0LXRvLW52Y2YtcG9kcwogICAgICBtYXRjaDoKICAgICAgICBhbnk6CiAgICAg" + - "ICAgLSByZXNvdXJjZXM6CiAgICAgICAgICAgIGtpbmRzOgogICAgICAgICAgICAtIFBvZAogICAg" + - "ICAgICAgICBuYW1lc3BhY2VzOgogICAgICAgICAgICAtICJudmNmIgogICAgICAgICAgICAtICJh" + - "cGkta2V5cyIKICAgICAgICAgICAgLSAic2lzIgogICAgICAgICAgICAtICJlc3MiCiAgICAgICAg" + - "ICAgIC0gIm5hdHMtc3lzdGVtIgogICAgICAgICAgICAtICJjYXNzYW5kcmEtc3lzdGVtIgogICAg" + - "ICAgICAgICAtICJ2YXVsdC1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNlcnQtbWFuYWdlciIKICAg" + - "ICAgbXV0YXRlOgogICAgICAgIHBhdGNoU3RyYXRlZ2ljTWVyZ2U6CiAgICAgICAgICBtZXRhZGF0" + - "YToKICAgICAgICAgICAgYW5ub3RhdGlvbnM6CiAgICAgICAgICAgICAgbnZjZi5udmlkaWEuY29t" + - "L2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieToga3l2ZXJubwogICAgICAgICAgc3BlYzoKICAg" + - "ICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czoKICAgICAgICAgICAgLSBuYW1lOiBudmNyLWNyZWRz" + - "CmBgYAoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBh" + - "cHBseSBcCiAgLWYga3l2ZXJuby1pbWFnZXB1bGxzZWNyZXQtcG9saWN5LnlhbWwKYGBgCgojIyMg" + - "NC4gSW5zdGFsbCB0aGUgY29udHJvbCBwbGFuZQoKQ29udGludWUgd2l0aCB0aGUgc2VsZWN0ZWQg" + - "Y29udHJvbC1wbGFuZSBpbnN0YWxsYXRpb24gaW4KW1NwbGl0IENvbXB1dGUtUGxhbmUgSW5zdGFs" + - "bGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkuIE5vCmNvbnRyb2wtcGxhbmUg" + - "aGVsbWZpbGUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkLiBLeXZlcm5vIGluamVjdHMgdGhlIHB1" + - "bGwKc2VjcmV0IGludG8gbmV3IGNvbnRyb2wtcGxhbmUgcG9kcy4KCiMjIENvbXB1dGUtUGxhbmUg" + - "U2VjcmV0CgpDcmVhdGUgdGhlIHNlY3JldCBvbmx5IGluIGBudmNhLW9wZXJhdG9yYCBvbiB0aGUg" + - "Y29tcHV0ZSBjbHVzdGVyOgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFu" + - "ZS1jb250ZXh0PiBjcmVhdGUgbmFtZXNwYWNlIG52Y2Etb3BlcmF0b3IgXAogIC0tZHJ5LXJ1bj1j" + - "bGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250" + - "ZXh0PiBhcHBseSAtZiAtCgprdWJlY3RsIC0tY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0" + - "PiBjcmVhdGUgc2VjcmV0IGRvY2tlci1yZWdpc3RyeSBudmNyLWNyZWRzIFwKICAtLWRvY2tlci1z" + - "ZXJ2ZXI9bnZjci5pbyBcCiAgLS1kb2NrZXItdXNlcm5hbWU9JyRvYXV0aHRva2VuJyBcCiAgLS1k" + - "b2NrZXItcGFzc3dvcmQ9IiROR0NfQVBJX0tFWSIgXAogIC0tbmFtZXNwYWNlPW52Y2Etb3BlcmF0" + - "b3IgXAogIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IFwKICBrdWJlY3RsIC0tY29udGV4dCA8" + - "Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBhcHBseSAtZiAtCmBgYAoKUmVmZXJlbmNlIGl0IGluIHRo" + - "ZSBjb21wdXRlLXBsYW5lIGVudmlyb25tZW50IGZpbGU6CgpgYGB5YW1sCmdsb2JhbDoKICBpbWFn" + - "ZVB1bGxTZWNyZXRzOgogICAgLSBuYW1lOiBudmNyLWNyZWRzCmBgYAoKVGhlIGNoYXJ0IGFuZCBv" + - "cGVyYXRvciB1c2UgdGhhdCByZWZlcmVuY2UgaW4gYG52Y2Etb3BlcmF0b3JgIGFuZCBtaXJyb3Ig" + - "dGhlCnNlY3JldCB0byBgbnZjYS1zeXN0ZW1gLiBEbyBub3QgY3JlYXRlIGEgYnJvYWRlciBtYW51" + - "YWwgY29tcHV0ZSBuYW1lc3BhY2UgbGlzdC4gRm9sbG93CltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + - "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpIGZvciB0aGUKc2VsZWN0" + - "ZWQgaW5zdGFsbCBmbG93LgoKIyMgVmVyaWZpY2F0aW9uCgpgYGBiYXNoCiMgQ2hlY2sgdGhhdCBh" + - "IGNvbnRyb2wtcGxhbmUgcG9kIGhhcyB0aGUgaW5qZWN0ZWQgc2VjcmV0Cmt1YmVjdGwgLS1jb250" + - "ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1u" + - "YW1lPiBcCiAgLW8ganNvbnBhdGg9J3suc3BlYy5pbWFnZVB1bGxTZWNyZXRzfScKIyBFeHBlY3Rl" + - "ZDogW3sibmFtZSI6Im52Y3ItY3JlZHMifV0KCiMgQ2hlY2sgdGhlIEt5dmVybm8gYW5ub3RhdGlv" + - "bgprdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kIC1uIDxu" + - "YW1lc3BhY2U+IDxwb2QtbmFtZT4gXAogIC1vIGpzb25wYXRoPSd7Lm1ldGFkYXRhLmFubm90YXRp" + - "b25zLm52Y2ZcLm52aWRpYVwuY29tL2ltYWdlcHVsbHNlY3JldC1pbmplY3RlZC1ieX0nCiMgRXhw" + - "ZWN0ZWQ6IGt5dmVybm8KCiMgQ2hlY2sgcHVsbCBldmVudHMKa3ViZWN0bCAtLWNvbnRleHQgPGNv" + - "bnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGV2ZW50cyAtbiA8bmFtZXNwYWNlPiBcCiAgLS1zb3J0" + - "LWJ5PScubGFzdFRpbWVzdGFtcCcgfCBncmVwIC1pIHB1bGwKIyBTaG91bGQgc2hvdyAiU3VjY2Vz" + - "c2Z1bGx5IHB1bGxlZCIgbm90ICI0MDEgVW5hdXRob3JpemVkIgoKIyBDaGVjayB0aGUgY2hhcnQv" + - "b3BlcmF0b3IgbWlycm9yIG9uIHRoZSBjb21wdXRlIGNsdXN0ZXIKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIFwKICAtbiBudmNh" + - "LXN5c3RlbQpgYGAKCiMjIFdoZW4gUHVsbCBTZWNyZXRzIEFyZSBOb3QgTmVlZGVkCgotICoqQVdT" + - "IEVDUiB3aXRoIElBTSBub2RlIHJvbGVzKio6IElmIHlvdXIgbm9kZXMgaGF2ZSBgQW1hem9uRUMy" + - "Q29udGFpbmVyUmVnaXN0cnlSZWFkT25seWAgSUFNIHBvbGljeSwgS3ViZXJuZXRlcyBjYW4gcHVs" + - "bCBmcm9tIEVDUiB3aXRob3V0IGV4cGxpY2l0IHNlY3JldHMuCi0gKipQdWJsaWMgcmVnaXN0cmll" + - "cyoqOiBObyBwdWxsIHNlY3JldHMgbmVlZGVkLgotICoqQ1NQIGJ1aWx0LWluIGNyZWRlbnRpYWwg" + - "aGVscGVycyoqOiBHS0UgQXJ0aWZhY3QgUmVnaXN0cnksIEF6dXJlIEFDUiB3aXRoIG1hbmFnZWQg" + - "aWRlbnRpdHksIGFuZCBzaW1pbGFyIHNlcnZpY2VzLgoKIyMgVHJvdWJsZXNob290aW5nCgojIyMg" + - "UG9kcyBzdGlsbCBpbiBJbWFnZVB1bGxCYWNrT2ZmIGFmdGVyIGFwcGx5aW5nIHBvbGljeQoKVGhl" + - "IEt5dmVybm8gcG9saWN5IG9ubHkgYWZmZWN0cyBwb2RzIGNyZWF0ZWQgKiphZnRlcioqIHRoZSBw" + - "b2xpY3kgaXMgYXBwbGllZC4gRGVsZXRlIHN0dWNrIHBvZHMgdG8gdHJpZ2dlciByZWNyZWF0aW9u" + - "OgoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8dGFyZ2V0LWNvbnRleHQ+IGRlbGV0ZSBwb2Rz" + - "IC1uIDxuYW1lc3BhY2U+IC0tYWxsCmBgYAoKIyMjIEt5dmVybm8gYWRtaXNzaW9uIGNvbnRyb2xs" + - "ZXIgbm90IHJ1bm5pbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUt" + - "Y29udGV4dD4gZ2V0IHBvZHMgLW4ga3l2ZXJubwojIEFsbCBwb2RzIHNob3VsZCBiZSBSdW5uaW5n" + - "CmBgYAoKIyMjIFBvbGljeSBub3QgbWF0Y2hpbmcKCmBgYGJhc2gKa3ViZWN0bCAtLWNvbnRleHQg" + - "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGNsdXN0ZXJwb2xpY3kgbnZjZi1hZGQtaW1hZ2Vw" + - "dWxsc2VjcmV0cwojIFNob3VsZCBzaG93IFJFQURZOiBUcnVlCmBgYAoKIyMjIFdyb25nIHNlY3Jl" + - "dCBuYW1lCgpUaGUgcG9saWN5IHJlZmVyZW5jZXMgYG52Y3ItY3JlZHNgLiBWZXJpZnkgdGhlIHNl" + - "Y3JldCBleGlzdHMgd2l0aCB0aGF0IGV4YWN0IG5hbWU6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250" + - "ZXh0IDx0YXJnZXQtY29udGV4dD4gZ2V0IHNlY3JldCBudmNyLWNyZWRzIC1uIDxuYW1lc3BhY2U+" + - "CmBgYApQSwcIS0I1qAAWAAAAFgAAUEsBAhQAFAAIAAAAAAAhAE2XeaZKEAAAShAAABIACQAAAAAA" + - "AAAAAAAAAAAAAGRhdGEvbWFuaWZlc3QuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQCtE3Hb" + - "2GQAANhkAAAjAAkAAAAAAAAAAAAAAJMQAABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9TS0lM" + - "TC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQB6mk+cKhEAACoRAAAzAAkAAAAAAAAAAAAAAMV1" + - "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9jaS1waXBlbGluZXMubWRVVAUA" + - "AQCmzhJQSwECFAAUAAgAAAAAACEAp885w/4UAAD+FAAANAAJAAAAAAAAAAAAAABZhwAAZGF0YS9u" + - "dmNmLXNlbGYtbWFuYWdlZC1jbGkvZXhhbXBsZXMvbXVsdGktY2x1c3Rlci5tZFVUBQABAKbOElBL" + - "AQIUABQACAAAAAAAIQAxi5lP2RgAANkYAAA3AAkAAAAAAAAAAAAAAMKcAABkYXRhL252Y2Ytc2Vs" + - "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2FkZC1jb21wdXRlLXBsYW5lLm1kVVQFAAEAps4SUEsBAhQA" + - "FAAIAAAAAAAhANTejTSfGQAAnxkAADkACQAAAAAAAAAAAAAACbYAAGRhdGEvbnZjZi1zZWxmLW1h" + - "bmFnZWQtY2xpL3Byb21wdHMvY3JlYXRlLWFuZC1ydW4tdGFzay5tZFVUBQABAKbOElBLAQIUABQA" + - "CAAAAAAAIQDSQ9wEGCUAABglAAA3AAkAAAAAAAAAAAAAABjQAABkYXRhL252Y2Ytc2VsZi1tYW5h" + - "Z2VkLWNsaS9wcm9tcHRzL2RlcGxveS1hbmQtaW52b2tlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAA" + - "AAAhAHKSLCa+DgAAvg4AAD0ACQAAAAAAAAAAAAAAnvUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + - "Y2xpL3Byb21wdHMvZGlhZ25vc2UtZmFpbGVkLWluc3RhbGwubWRVVAUAAQCmzhJQSwECFAAUAAgA" + - "AAAAACEAtEnfJ1YpAABWKQAAOgAJAAAAAAAAAAAAAADQBAEAZGF0YS9udmNmLXNlbGYtbWFuYWdl" + - "ZC1jbGkvcHJvbXB0cy9pbnN0YWxsLWZyb20tc2NyYXRjaC5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQCpwSb3LgkAAC4JAAA5AAkAAAAAAAAAAAAAAJcuAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWNsaS9wcm9tcHRzL3JvdGF0ZS1jbHVzdGVyLWp3a3MubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAA" + - "ACEA2odjVuQhAADkIQAALgAJAAAAAAAAAAAAAAA1OAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1j" + - "bGkvcHJvbXB0cy90ZWFyZG93bi5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDRdcKPFiYAABYm" + - "AAAwAAkAAAAAAAAAAAAAAH5aAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2Uv" + - "Y29tbWFuZHMubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAyflFb2gQAABoEAAAMgAJAAAAAAAA" + - "AAAAAAD7gAEAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2V4aXQtY29kZXMu" + - "bWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAkHEBNPRgAAD0YAAALQAJAAAAAAAAAAAAAADMkQEA" + - "ZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL2ZsYWdzLm1kVVQFAAEAps4SUEsB" + - "AhQAFAAIAAAAAAAhABq4s/NhIQAAYSEAADcACQAAAAAAAAAAAAAAJPMBAGRhdGEvbnZjZi1zZWxm" + - "LW1hbmFnZWQtY2xpL3JlZmVyZW5jZS90cm91Ymxlc2hvb3RpbmcubWRVVAUAAQCmzhJQSwECFAAU" + - "AAgAAAAAACEAEcMUk0liAABJYgAALAAJAAAAAAAAAAAAAADzFAIAZGF0YS9udmNmLXNlbGYtbWFu" + - "YWdlZC1pbnN0YWxsYXRpb24vU0tJTEwubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEAR1VqVkpW" + - "AABKVgAANAAJAAAAAAAAAAAAAACfdwIAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + - "b24vZXZhbHMvZXZhbHMuanNvblVUBQABAKbOElBLAQIUABQACAAAAAAAIQACUk5AfygAAH8oAAAv" + - "AAkAAAAAAAAAAAAAAFTOAgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9leGFt" + - "cGxlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCWY7xZEjAAABIwAABMAAkAAAAAAAAAAAAA" + - "ADn3AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1" + - "dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhALV6cDu1MAAA" + - "tTAAADsACQAAAAAAAAAAAAAAzicDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhABMR7I0KKgAA" + - "CioAAEQACQAAAAAAAAAAAAAA9VgDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9u" + - "L3JlZmVyZW5jZXMvaGVsbWZpbGUtc3RydWN0dXJlLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAh" + - "ADj5J6+5BwAAuQcAAD8ACQAAAAAAAAAAAAAAeoMDAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5z" + - "dGFsbGF0aW9uL3JlZmVyZW5jZXMvbnZjZi11aS1hZGRvbi5tZFVUBQABAKbOElBLAQIUABQACAAA" + - "AAAAIQBLQjWoABYAAAAWAAA+AAkAAAAAAAAAAAAAAKmLAwBkYXRhL252Y2Ytc2VsZi1tYW5hZ2Vk" + - "LWluc3RhbGxhdGlvbi9yZWZlcmVuY2VzL3B1bGwtc2VjcmV0cy5tZFVUBQABAKbOElBLBQYAAAAA" + - "FwAXAK8JAAAeogMAAAA=" + "dFN0YXR1c30nPWhlYWx0aHkgLS10aW1lb3V0PTEwbQpgYGAKCi0tLQoKIyMgRXhhbXBsZSA1OiBE" + + "ZXBsb3kgT25seSBEZXBlbmRlbmNpZXMKClVzZWZ1bCBmb3IgdGVzdGluZyBvciB3aGVuIGl0ZXJh" + + "dGluZyBvbiBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uCgpgYGBiYXNoCiMgRGVwbG95IGp1c3QgTkFU" + + "UywgQ2Fzc2FuZHJhLCBPcGVuQmFvCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVj" + + "dG9yIHJlbGVhc2UtZ3JvdXA9ZGVwZW5kZW5jaWVzIHN5bmMKCiMgQ2hlY2sgc3RhdHVzCmt1YmVj" + + "dGwgZ2V0IHBvZHMgLW4gbmF0cy1zeXN0ZW0Ka3ViZWN0bCBnZXQgcG9kcyAtbiBjYXNzYW5kcmEt" + + "c3lzdGVtCmt1YmVjdGwgZ2V0IHBvZHMgLW4gdmF1bHQtc3lzdGVtCgojIERlcGxveSBqdXN0IG9u" + + "ZSBzcGVjaWZpYyByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IG5hbWU9Y2Fzc2FuZHJhIHN5bmMKYGBgCgojIyMgU2VsZWN0b3IgcmVmZXJlbmNlCgp8IFNlbGVj" + + "dG9yIHwgUmVsZWFzZXMgfAp8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfAp8IGByZWxlYXNlLWdyb3Vw" + + "PWRlcGVuZGVuY2llc2AgfCBuYXRzLCBjYXNzYW5kcmEsIG9wZW5iYW8tc2VydmVyIHwKfCBgcmVs" + + "ZWFzZS1ncm91cD1zZXJ2aWNlc2AgfCBhcGkta2V5cywgc2lzLCBhcGksIGludm9jYXRpb24tc2Vy" + + "dmljZSwgZ3JwYy1wcm94eSwgZXNzLWFwaSwgbm90YXJ5LXNlcnZpY2UsIHJldmFsLCBvcHRpb25h" + + "bCBsbG0tcmVxdWVzdC1yb3V0ZXIgYW5kIGxsbS1hcGktZ2F0ZXdheSB3aGVuIGBsbG0uZW5hYmxl" + + "ZD10cnVlYCwgb3B0aW9uYWwgdmFuaXR5LWdhdGV3YXkgb25seSBpbiBzdGFjayBwYWNrYWdlcyB0" + + "aGF0IGluY2x1ZGUgdGhlIGFkZG9uIGFuZCBoYXZlIGBhZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFi" + + "bGVkPXRydWVgLCBvcHRpb25hbCBudmNmLXVpIG9ubHkgaW4gc3RhY2sgcGFja2FnZXMgdGhhdCBp" + + "bmNsdWRlIHRoZSBhZGRvbiBhbmQgaGF2ZSBgYWRkb25zLm52Y2ZVaS5lbmFibGVkPXRydWVgIHwK" + + "fCBgbmFtZT1sbG0tcmVxdWVzdC1yb3V0ZXJgIHwgRGVwbG95IGp1c3QgdGhlIExMTSByZXF1ZXN0" + + "IHJvdXRlciB3aGVuIGBsbG0uZW5hYmxlZD10cnVlYCB8CnwgYG5hbWU9bGxtLWFwaS1nYXRld2F5" + + "YCB8IERlcGxveSBqdXN0IHRoZSBMTE0gQVBJIGdhdGV3YXkgd2hlbiBgbGxtLmVuYWJsZWQ9dHJ1" + + "ZWAgfAp8IGBuYW1lPXZhbml0eS1nYXRld2F5YCB8IERlcGxveSBqdXN0IFZhbml0eSBHYXRld2F5" + + "IG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJlbGVhc2UgYW5kIGBh" + + "ZGRvbnMudmFuaXR5R2F0ZXdheS5lbmFibGVkPXRydWVgIHwKfCBgbmFtZT1udmNmLXVpYCB8IERl" + + "cGxveSBOVkNGIFVJIG9ubHkgd2hlbiB0aGUgc3RhY2sgcGFja2FnZSBpbmNsdWRlcyB0aGF0IHJl" + + "bGVhc2UgYW5kIGBhZGRvbnMubnZjZlVpLmVuYWJsZWQ9dHJ1ZWAgfAp8IGByZWxlYXNlLWdyb3Vw" + + "PWluZ3Jlc3NgIHwgaW5ncmVzcyAoZ2F0ZXdheSByb3V0ZXMpIHwKfCBgbmFtZT08cmVsZWFzZT5g" + + "IHwgQW55IGluZGl2aWR1YWwgcmVsZWFzZSBieSBuYW1lIHwKCk5vdGU6IGBhZG1pbi1pc3N1ZXIt" + + "cHJveHlgIGRvZXMgbm90IGhhdmUgYSByZWxlYXNlLWdyb3VwIGxhYmVsLiBUYXJnZXQgaXQgd2l0" + + "aCBgLS1zZWxlY3RvciBuYW1lPWFkbWluLWlzc3Vlci1wcm94eWAuClBLBwgCUk5AfygAAH8oAABQ" + + "SwMEFAAIAAAAAAAhAAAAAAAAAAAAAAAAAEwACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3Rh" + + "bGxhdGlvbi9yZWZlcmVuY2VzL2NvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kVVQFAAEAps4S" + + "IyBTcGxpdCBDb21wdXRlLVBsYW5lIEluc3RhbGxhdGlvbgoKVGhlIGNvbnRyb2wgcGxhbmUgYW5k" + + "IGNvbXB1dGUgcGxhbmUgYXJlIHNlcGFyYXRlIHN0YWNrcy4gSW5zdGFsbCB0aGUgY29udHJvbApw" + + "bGFuZSBmaXJzdCwgdGhlbiByZWdpc3RlciBhbmQgaW5zdGFsbCBlYWNoIGNvbXB1dGUgY2x1c3Rl" + + "ci4gQ2hvb3NlIG9uZSBoYW5kb2ZmCmJlbG93IGFuZCB1c2UgaXQgZm9yIHRoZSBmdWxsIGxpZmVj" + + "eWNsZS4gRG8gbm90IGNvbWJpbmUgYSBDTEktZ2VuZXJhdGVkIHByb2ZpbGUKd2l0aCB0aGUgSGVs" + + "bWZpbGUgdmFsdWVzIGZsb3cuCgojIyBDaG9vc2UgYSBIYW5kb2ZmCgp8IEZsb3cgfCBTb3VyY2Ug" + + "b2YgY29udHJvbC1wbGFuZSBlbmRwb2ludHMgfCBSZWdpc3RyYXRpb24gYXJ0aWZhY3QgfAp8LS0t" + + "LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0t" + + "LS0tLS0tfAp8IEhlbG1maWxlIHZhbHVlcyB8IFNlcGFyYXRlIGNvbnRyb2wtcGxhbmUgYW5kIGNv" + + "bXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZXMgfCBgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1" + + "dGUtcGxhbmUvcmVnaXN0cmF0aW9uLzxjbHVzdGVyPi1yZWdpc3Rlci12YWx1ZXMueWFtbGAgfAp8" + + "IENMSSBwcm9maWxlIHwgQ0xJLWdlbmVyYXRlZCBgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQv" + + "b3V0L2NvbnRyb2wtcGxhbmUtcHJvZmlsZS55YW1sYCB8IENMSS1nZW5lcmF0ZWQgYGRlcGxveS9z" + + "dGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y2x1c3Rlcj4tcmVnaXN0ZXItdmFsdWVzLnlh" + + "bWxgIHwKClRoZSBDTEkgcHJvZmlsZSBpcyBtYW5kYXRvcnkgZm9yIHRoZSBDTEkgZmxvdyBhbmQg" + + "bXVzdCBub3QgYmUgaGFuZC1hdXRob3JlZC4KVGhlIEhlbG1maWxlIGZsb3cgZG9lcyBub3QgY29u" + + "c3VtZSBhIGNvbnRyb2wtcGxhbmUgcHJvZmlsZS4KCkNvbW1hbmRzIGJlbG93IHVzZSBtb25vcmVw" + + "byBwYXRocyBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIE9wZXJhdG9ycyB1c2luZwpleHRyYWN0" + + "ZWQgcGFja2FnZXMgbmVlZCBtYXRjaGluZy12ZXJzaW9uIGBudmNmLXNlbGYtbWFuYWdlZC1zdGFj" + + "a2AgYW5kCmBudmNmLWNvbXB1dGUtcGxhbmUtc3RhY2tgIGJ1bmRsZXMuIFN1YnN0aXR1dGUgdGhv" + + "c2UgYnVuZGxlIHJvb3RzIGZvcgpgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWRgIGFuZCBgZGVw" + + "bG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmVgLgoKIyMgSGVsbWZpbGUgVmFsdWVzIEZsb3cK" + + "CkNyZWF0ZSBib3RoIGVudmlyb25tZW50IGZpbGVzIGJlZm9yZSBpbnN0YWxsYXRpb246CgotIGBk" + + "ZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZC9lbnZpcm9ubWVudHMvPGVudj4ueWFtbGAgZm9yIGNv" + + "bnRyb2wtcGxhbmUKICByZWdpc3RyeSwgZG9tYWluLCBHYXRld2F5LCByb3V0ZXMsIGFuZCBzZXJ2" + + "aWNlIHNldHRpbmdzLgotIGBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9u" + + "bWVudHMvPGVudj4ueWFtbGAgZm9yIGNvbXB1dGUtcGxhbmUKICByZWdpc3RyeSwgcHVsbCBzZWNy" + + "ZXRzLCBhbmQgY29tcHV0ZS1yZWFjaGFibGUgSUNNUywgUmVWYWwsIGFuZCBOQVRTIHZhbHVlcy4K" + + "CkZvciBFS1MsIHVzZSB0aGUgY2Fub25pY2FsCltDU1AgRW5kLXRvLUVuZCBFeGFtcGxlXShodHRw" + + "czovL2RvY3MubnZpZGlhLmNvbS9udmNmL3YwLjYuMC1yYy9jc3AtZW5kLXRvLWVuZC1leGFtcGxl" + + "KS4KVGhlIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQga2VlcHMgdGhlIEVudm95IEdhdGV3YXkg" + + "Y29udHJvbGxlciBpbgpgZW52b3ktZ2F0ZXdheS1zeXN0ZW1gLCBhdHRhY2hlcyByb3V0ZXMgdG8g" + + "YEdhdGV3YXkvbnZjZi1nYXRld2F5YCBpbgpgZW52b3ktZ2F0ZXdheWAsIGFuZCBlbmFibGVzIHRo" + + "ZSBOQVRTIHJvdXRlLiBUaGUgY29tcHV0ZS1wbGFuZSBlbnZpcm9ubWVudCB1c2VzCnRoZSBleHRl" + + "cm5hbCBhZGRyZXNzIHBsdXMgdGhlIHNlcnZpY2UgaG9zdCBvdmVycmlkZXMuIEhlcmUsCmA8Z2F0" + + "ZXdheS1hZGRyZXNzPmAgaXMgdGhlIE5MQiBhZGRyZXNzIGFuZCBgPGdhdGV3YXktZG9tYWluPmAg" + + "aXMgdGhlIEROUyBiYXNlCndob3NlIHNlcnZpY2Ugc3ViZG9tYWlucyByZXNvbHZlIHRvIHRoYXQg" + + "TkxCOgoKYGBgeWFtbAojIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkL2Vudmlyb25tZW50cy88" + + "ZW52Pi55YW1sCmdsb2JhbDoKICBkb21haW46ICI8Z2F0ZXdheS1kb21haW4+IgogIHdvcmtlckVu" + + "ZHBvaW50czoKICAgIG52Y2ZTZXJ2aWNlVVJMOiAiaHR0cDovL2FwaS48Z2F0ZXdheS1kb21haW4+" + + "IgogICAgbnZjZkdycGNTZXJ2aWNlVVJMOiAiaHR0cDovL3dvcmtlci1hcGkuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgIG52Y2ZOYXRzU2VydmljZVVSTDogIm5hdHM6Ly88Z2F0ZXdheS1hZGRyZXNzPjo0" + + "MjIyIgogICAgbnZjdFNlcnZpY2VVUkw6ICJodHRwOi8vdGFza3MuPGdhdGV3YXktZG9tYWluPiIK" + + "ICAgIG52Y3RHcnBjU2VydmljZVVSTDogImh0dHA6Ly93b3JrZXItdGFza3MuPGdhdGV3YXktZG9t" + + "YWluPiIKICAgIGludm9jYXRpb25TZXJ2aWNlVVJMOiAiaHR0cDovL2ludm9jYXRpb24uPGdhdGV3" + + "YXktZG9tYWluPiIKCmdycGNwcm94eToKICBudmNmR3JwY1NlcnZpY2VVUkw6ICJodHRwOi8vYXBp" + + "Lm52Y2Yuc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MCIKCmluZ3Jlc3M6CiAgZ2F0ZXdheUFwaToKICAg" + + "IGNvbnRyb2xsZXJOYW1lc3BhY2U6IGVudm95LWdhdGV3YXktc3lzdGVtCiAgICBnYXRld2F5czoK" + + "ICAgICAgc2hhcmVkOiB7bmFtZTogbnZjZi1nYXRld2F5LCBuYW1lc3BhY2U6IGVudm95LWdhdGV3" + + "YXl9CiAgICAgIGdycGM6IHtuYW1lOiBudmNmLWdhdGV3YXksIG5hbWVzcGFjZTogZW52b3ktZ2F0" + + "ZXdheX0KICAgICAgbmF0czoKICAgICAgICBuYW1lOiBudmNmLWdhdGV3YXkKICAgICAgICBuYW1l" + + "c3BhY2U6IGVudm95LWdhdGV3YXkKICAgICAgICBsaXN0ZW5lck5hbWU6IG5hdHMKICAgIHJvdXRl" + + "czoKICAgICAgbnZjZkFwaToKICAgICAgICBncnBjOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQog" + + "ICAgICAgICAgaG9zdG5hbWVzOiBbIndvcmtlci1hcGkuPGdhdGV3YXktZG9tYWluPiJdCiAgICAg" + + "IG52Y3RBcGk6CiAgICAgICAgZ3JwYzoKICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAg" + + "IGhvc3RuYW1lczogWyJ3b3JrZXItdGFza3MuPGdhdGV3YXktZG9tYWluPiJdCiAgICAgIG5hdHM6" + + "CiAgICAgICAgZW5hYmxlZDogdHJ1ZQoKb3BlbmJhbzoKICBtaWdyYXRpb25zOgogICAgaXNzdWVy" + + "RGlzY292ZXJ5OgogICAgICBlbmFibGVkOiB0cnVlCmBgYAoKYGBgeWFtbAojIGRlcGxveS9zdGFj" + + "a3MvbnZjZi1jb21wdXRlLXBsYW5lL2Vudmlyb25tZW50cy88ZW52Pi55YW1sCmdsb2JhbDoKICBu" + + "dmNhT3BlcmF0b3I6CiAgICBzZWxmTWFuYWdlZDoKICAgICAgaWNtc1NlcnZpY2VVUkw6ICJodHRw" + + "Oi8vPGdhdGV3YXktYWRkcmVzcz4iCiAgICAgIGljbXNTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRl" + + "OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCiAgICAgIHJldmFsU2VydmljZVVSTDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKICAgICAgcmV2YWxTZXJ2aWNlSG9zdEhlYWRlck92ZXJyaWRlOiAi" + + "cmV2YWwuPGdhdGV3YXktZG9tYWluPiIKICAgICAgbmF0c1VSTDogIm5hdHM6Ly88Z2F0ZXdheS1h" + + "ZGRyZXNzPjo0MjIyIgogICAgICBuYXRzSG9zdE92ZXJyaWRlOiAibmF0cy48Z2F0ZXdheS1kb21h" + + "aW4+IgpgYGAKClByZXZpZXcgYW5kIGluc3RhbGwgdGhlIGNvbnRyb2wgcGxhbmUgYWdhaW5zdCBp" + + "dHMgY29udGV4dDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCB0" + + "ZW1wbGF0ZSBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4KCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQg" + + "aW5zdGFsbCBcCiAgSEVMTUZJTEVfRU5WPTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRy" + + "b2wtcGxhbmUta3ViZWNvbmZpZz4KYGBgCgpCZWZvcmUgcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGJh" + + "cmUgR2F0ZXdheSBhZGRyZXNzLCBjcmVhdGUgb3IgdXBkYXRlIHRoZSBDTEkKY29uZmlnIHBhc3Nl" + + "ZCBhcyBgTlZDRl9DTElfQ09ORklHYDoKCmBgYHlhbWwKYmFzZV9odHRwX3VybDogImh0dHA6Ly88" + + "Z2F0ZXdheS1hZGRyZXNzPiIKaW52b2tlX3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIK" + + "YmFzZV9ncnBjX3VybDogIjxnYXRld2F5LWFkZHJlc3M+OjEwMDgxIgphcGlfa2V5c19zZXJ2aWNl" + + "X3VybDogImh0dHA6Ly88Z2F0ZXdheS1hZGRyZXNzPiIKaWNtc191cmw6ICJodHRwOi8vPGdhdGV3" + + "YXktYWRkcmVzcz4iCmFwaV9ob3N0OiAiYXBpLjxnYXRld2F5LWRvbWFpbj4iCmFwaV9rZXlzX2hv" + + "c3Q6ICJhcGkta2V5cy48Z2F0ZXdheS1kb21haW4+IgppbnZva2VfaG9zdDogImludm9jYXRpb24u" + + "PGdhdGV3YXktZG9tYWluPiIKaWNtc19ob3N0OiAic2lzLjxnYXRld2F5LWRvbWFpbj4iCmBgYAoK" + + "SG9zdCBmaWVsZHMgY29udGFpbiBob3N0bmFtZXMgb25seSwgd2l0aG91dCBhIFVSTCBzY2hlbWUu" + + "IGBJQ01TX1VSTGAgbWFwcyBvbmx5CnRvIHRoZSByZWdpc3RyYXRpb24gY29tbWFuZCdzIGAtLWlj" + + "bXMtdXJsYDsgYGljbXNfaG9zdGAgaW4gdGhlIGNvbmZpZyBzdXBwbGllcwp0aGUgR2F0ZXdheSBI" + + "b3N0IGhlYWRlci4gVGhlcmUgaXMgbm8gYC0taWNtcy1ob3N0YCBNYWtlIG9yIENMSSBmbGFnLgoK" + + "UmVnaXN0ZXIgZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0LCB0aGVuIGluc3RhbGwgdGhlIGNvbXB1" + + "dGUgcGxhbmU6CgpgYGBiYXNoCm1ha2UgLUMgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxh" + + "bmUgcmVnaXN0ZXItY2x1c3RlciBcCiAgQ0xVU1RFUl9OQU1FPTxjbHVzdGVyLW5hbWU+IFwKICBO" + + "Q0FfSUQ9PG5jYS1pZD4gXAogIENMVVNURVJfUkVHSU9OPTxyZWdpb24+IFwKICBJQ01TX1VSTD1o" + + "dHRwOi8vPGdhdGV3YXktYWRkcmVzcz4gXAogIEtVQkVDT05GSUdfRklMRT08Y29tcHV0ZS1wbGFu" + + "ZS1rdWJlY29uZmlnPiBcCiAgTlZDRl9DTEk9PHBhdGgtdG8tbnZjZi1jbGk+IFwKICBOVkNGX0NM" + + "SV9DT05GSUc9PHBhdGgtdG8tbnZjZi1jbGktY29uZmlnPgoKbWFrZSAtQyBkZXBsb3kvc3RhY2tz" + + "L252Y2YtY29tcHV0ZS1wbGFuZSBpbnN0YWxsIFwKICBDTFVTVEVSX05BTUU9PGNsdXN0ZXItbmFt" + + "ZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21wdXRlLXBs" + + "YW5lLWt1YmVjb25maWc+CmBgYAoKUmVnaXN0cmF0aW9uIGRpc2NvdmVycyB0aGUgT0lEQyBpc3N1" + + "ZXIgYW5kIEpXS1MgZnJvbSB0aGUgY29tcHV0ZSBrdWJlIGNvbnRleHQuCkluIGEgbXVsdGktY2x1" + + "c3RlciBkZXBsb3ltZW50LCBgS1VCRUNPTkZJR19GSUxFYCBpcyByZXF1aXJlZCBvbiBib3RoCmNv" + + "bXB1dGUtcGxhbmUgY29tbWFuZHMuIEluIGEgc2FtZS1jbHVzdGVyIGRlcGxveW1lbnQgaXQgbWF5" + + "IGJlIG9taXR0ZWQgb25seQp3aGVuIHRoZSBhbWJpZW50IGNvbnRleHQgaXMgYWxyZWFkeSB0aGUg" + + "dGFyZ2V0IGNsdXN0ZXIuCgojIyBDTEkgUHJvZmlsZSBGbG93CgpSdW4gdGhlIENMSSBjb250cm9s" + + "LXBsYW5lIGluc3RhbGwgZmlyc3QuIEl0IGNyZWF0ZXMgdGhlIHByb2ZpbGUgY29uc3VtZWQgYnkK" + + "Y29tcHV0ZS1wbGFuZSByZWdpc3RyYXRpb246CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxj" + + "b25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNvbnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNr" + + "cy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252" + + "Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYgPGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJv" + + "bC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxh" + + "bmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBcCiAgaW5zdGFsbCAtLWNvbnRyb2wt" + + "cGxhbmUgXAogIC0tY2x1c3Rlci1uYW1lIDxjb250cm9sLXBsYW5lLWNsdXN0ZXItbmFtZT4gXAog" + + "IC0tcmVnaW9uIDxyZWdpb24+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKdGVzdCAtcyBkZXBsb3kv" + + "c3RhY2tzL3NlbGYtbWFuYWdlZC9vdXQvY29udHJvbC1wbGFuZS1wcm9maWxlLnlhbWwKYGBgCgpV" + + "c2UgdGhlIGZ1bGwgcGVyc2lzdGVudCBwcmVmaXggZm9yIGJvdGggY29tcHV0ZS1wbGFuZSBjb21t" + + "YW5kczoKCmBgYGJhc2gKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAog" + + "IC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1j" + + "b21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAt" + + "LWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgY29tcHV0ZS1wbGFuZSByZWdpc3RlciBcCiAgLS1j" + + "b250cm9sLXBsYW5lLXByb2ZpbGUgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvb3V0L2NvbnRy" + + "b2wtcGxhbmUtcHJvZmlsZS55YW1sIFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1j" + + "bHVzdGVyLW5hbWU+IFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBc" + + "CiAgLS1yZWdpb24gPHJlZ2lvbj4gXAogIC0tb3V0cHV0IGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVyLW5hbWU+LXJlZ2lzdGVyLXZhbHVl" + + "cy55YW1sCgpudmNmLWNsaSAtLWNvbmZpZyA8Y29uZmlnPiBzZWxmLWhvc3RlZCBcCiAgLS1jb250" + + "cm9sLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3Mvc2VsZi1tYW5hZ2VkIFwKICAtLWNvbXB1dGUt" + + "cGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUgXAogIC0tZW52IDxl" + + "bnY+IFwKICAtLXBsYWluIFwKICBjb21wdXRlLXBsYW5lIGluc3RhbGwgXAogIC0tdmFsdWVzIGRl" + + "cGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lL291dC88Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+LXJlZ2lzdGVyLXZhbHVlcy55YW1sIFwKICAtLWt1YmUtY29udGV4dCA8Y29tcHV0ZS1w" + + "bGFuZS1jb250ZXh0PiBcCiAgLS1jbHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1u" + + "YW1lPgpgYGAKClJlZ2lzdHJhdGlvbiBzZWxlY3RzIHRoZSBwcm9maWxlJ3MgaW4tY2x1c3RlciBv" + + "ciBjb21wdXRlLXJlYWNoYWJsZSBlbmRwb2ludHMKZnJvbSB0aGUgY29tcHV0ZSBjb250ZXh0IGFu" + + "ZCBwcm9iZXMgaXRzIEpXS1MuIERvIG5vdCByZXBsYWNlIHByb2ZpbGUgZW5kcG9pbnRzCndpdGgg" + + "aGFuZC1hdXRob3JlZCBIZWxtZmlsZSBlbmRwb2ludCB2YWx1ZXMuCgojIyBQdWxsIFNlY3JldHMK" + + "CkNyZWF0ZSB0aGUgY29udHJvbC1wbGFuZSBzZWNyZXQgaW4gdGhlc2UgbmFtZXNwYWNlcyBvbiB0" + + "aGUgY29udHJvbC1wbGFuZQpjb250ZXh0OgoKYGBgdGV4dApjYXNzYW5kcmEtc3lzdGVtIG5hdHMt" + + "c3lzdGVtIG52Y2YgYXBpLWtleXMgZXNzIHNpcyB2YXVsdC1zeXN0ZW0gY2VydC1tYW5hZ2VyCmBg" + + "YAoKT24gdGhlIGNvbXB1dGUgY29udGV4dCwgY3JlYXRlIHRoZSBzZWNyZXQgb25seSBpbiBgbnZj" + + "YS1vcGVyYXRvcmAgYW5kIHJlZmVyZW5jZQppdCB0aHJvdWdoIGBnbG9iYWwuaW1hZ2VQdWxsU2Vj" + + "cmV0c2AgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQuIFRoZSBjaGFydAphbmQgb3Bl" + + "cmF0b3IgdXNlIGl0IGluIGBudmNhLW9wZXJhdG9yYCBhbmQgbWlycm9yIGl0IHRvIGBudmNhLXN5" + + "c3RlbWAuIERvIG5vdCBhZGQKZWl0aGVyIG5hbWVzcGFjZSB0byB0aGUgY29udHJvbC1wbGFuZSBs" + + "aXN0LiBGb3IgY29tbWFuZHMgYW5kIHBvbGljeSBleGFtcGxlcywKc2VlIFtwdWxsLXNlY3JldHMu" + + "bWRdKHB1bGwtc2VjcmV0cy5tZCkuCgojIyBWZXJpZmljYXRpb24KClVzZSB0aGUgZXhwbGljaXQg" + + "R2F0ZXdheSBuYW1lIGFuZCBuYW1lc3BhY2U6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBnYXRld2F5IG52Y2YtZ2F0ZXdheSBcCiAgLW4gZW52" + + "b3ktZ2F0ZXdheSAtbyB3aWRlCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRl" + + "eHQ+IGdldCB0Y3Byb3V0ZSAtbiBlbnZveS1nYXRld2F5Cmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IHJvbGxvdXQgc3RhdHVzIFwKICBkZXBsb3ltZW50L252Y2Etb3Bl" + + "cmF0b3IgLW4gbnZjYS1vcGVyYXRvciAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0IDxj" + + "b21wdXRlLXBsYW5lLWNvbnRleHQ+IHdhaXQgXAogIG52Y2ZiYWNrZW5kLzxjb21wdXRlLXBsYW5l" + + "LWNsdXN0ZXItbmFtZT4gLW4gbnZjYS1vcGVyYXRvciBcCiAgLS1mb3I9anNvbnBhdGg9J3suc3Rh" + + "dHVzLmFnZW50U3RhdHVzfSc9aGVhbHRoeSAtLXRpbWVvdXQ9MTBtCmt1YmVjdGwgLS1jb250ZXh0" + + "IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGdldCBzZWNyZXQgPHB1bGwtc2VjcmV0PiAtbiBudmNh" + + "LXN5c3RlbQpgYGAKCiMjIFRlYXJkb3duCgpEZXN0cm95IGFuZCBkZXJlZ2lzdGVyIGV2ZXJ5IGNv" + + "bXB1dGUgcGxhbmUgYmVmb3JlIHRoZSBjb250cm9sIHBsYW5lLiBCb3RoCmhhbmRvZmZzIGNhbiBk" + + "ZXN0cm95IHRoZSBjb250cm9sIHBsYW5lLCBzbyBhcHBseSB0aGlzIHByZWZsaWdodCBiZWZvcmUg" + + "ZWl0aGVyCm9uZS4gUHJlc2VydmUgdGhlIGBjZXJ0LW1hbmFnZXJgIG5hbWVzcGFjZSBieSBkZWZh" + + "dWx0LiBOYW1lc3BhY2UgcHJlc2VydmF0aW9uCmRvZXMgbm90IHByZXNlcnZlIHRoZSBIZWxtIHJl" + + "bGVhc2UuIElkZW50aWZ5IHdoZXRoZXIgY2VydC1tYW5hZ2VyIGlzIGV4dGVybmFsLgpGb3IgYW4g" + + "ZXh0ZXJuYWwgaW5zdGFsbGF0aW9uLCByZXF1aXJlIGVmZmVjdGl2ZSBgY2VydE1hbmFnZXIuZW5h" + + "YmxlZDogZmFsc2VgCmFuZCBhYm9ydCBpZiBpdCBpcyB0cnVlLiBGb3IgYW4gaW50ZW5kZWQgc3Rh" + + "Y2stbWFuYWdlZCByZWxlYXNlIHdpdGggZWZmZWN0aXZlCmBjZXJ0TWFuYWdlci5lbmFibGVkOiB0" + + "cnVlYCwgdmVyaWZ5IG1hdGNoaW5nIHN0YWNrIEhlbG0gcmVsZWFzZSBtZXRhZGF0YSBhbmQKYWJv" + + "cnQgb24gbWlzc2luZyBvciBtaXNtYXRjaGVkIGV2aWRlbmNlLiBPbmx5IHBsYW4gbmFtZXNwYWNl" + + "IHJlbW92YWwgYWZ0ZXIKdmVyaWZ5aW5nIG5hbWVzcGFjZSBwcm92ZW5hbmNlIGFuZCBnZXR0aW5n" + + "IGV4cGxpY2l0IGNvbmZpcm1hdGlvbjsgb3RoZXJ3aXNlCmRvIG5vdCBkZWxldGUgaXQuCgpGb3Ig" + + "dGhlIEhlbG1maWxlIHZhbHVlcyBmbG93LCByZXRhaW4gZWFjaCByZWdpc3RyYXRpb24gdmFsdWVz" + + "IGZpbGUgdW50aWwKY2xlYW51cCBpcyB2ZXJpZmllZDoKCmBgYGJhc2gKbWFrZSAtQyBkZXBsb3kv" + + "c3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBkZXN0cm95IFwKICBDTFVTVEVSX05BTUU9PGNsdXN0" + + "ZXItbmFtZT4gXAogIEhFTE1GSUxFX0VOVj08ZW52PiBcCiAgS1VCRUNPTkZJR19GSUxFPTxjb21w" + + "dXRlLXBsYW5lLWt1YmVjb25maWc+Cgo8bnZjZi1jbGk+IC0tY29uZmlnIDxjb25maWc+IGNsdXN0" + + "ZXIgZGVsZXRlIFwKICAtLWNsdXN0ZXItaWQgPGNsdXN0ZXItaWQtZnJvbS1yZWdpc3RyYXRpb24t" + + "dmFsdWVzPiBcCiAgLS1uY2EtaWQgPG5jYS1pZD4gXAogIC0taWdub3JlLW1pc3NpbmcKYGBgCgpS" + + "ZWFkIGBjbHVzdGVySURgIGFuZCBgbmNhSURgIGZyb20KYGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lL3JlZ2lzdHJhdGlvbi88Y2x1c3Rlci1uYW1lPi1yZWdpc3Rlci12YWx1ZXMueWFt" + + "bGAuClNob3cgdGhlIGV4YWN0IGNsdXN0ZXIgSUQgYW5kIGdldCBjb25maXJtYXRpb24gYmVmb3Jl" + + "IGBjbHVzdGVyIGRlbGV0ZWAuIFJlcGVhdApjb21wdXRlIGRlc3Ryb3kgYW5kIGRlcmVnaXN0cmF0" + + "aW9uIGZvciBldmVyeSBjb21wdXRlIGNsdXN0ZXIsIHRoZW4gZGVzdHJveSB0aGUKY29udHJvbCBw" + + "bGFuZS4KCmBgYGJhc2gKS1VCRUNPTkZJRz08Y29udHJvbC1wbGFuZS1rdWJlY29uZmlnPiBcCm1h" + + "a2UgLUMgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgZGVzdHJveSBcCiAgSEVMTUZJTEVfRU5W" + + "PTxlbnY+IFwKICBLVUJFQ09ORklHX0ZJTEU9PGNvbnRyb2wtcGxhbmUta3ViZWNvbmZpZz4KYGBg" + + "CgpCb3RoIGBLVUJFQ09ORklHYCBhbmQgYEtVQkVDT05GSUdfRklMRWAgYXJlIHJlcXVpcmVkIG9u" + + "IHRoZSBjb250cm9sLXBsYW5lCmRlc3Ryb3kgYmVjYXVzZSBpdHMgbmFtZXNwYWNlIGNsZWFudXAg" + + "dXNlcyBhbWJpZW50IGBrdWJlY3RsYC4KCkZvciB0aGUgQ0xJIHByb2ZpbGUgZmxvdywga2VlcApg" + + "ZGVwbG95L3N0YWNrcy9udmNmLWNvbXB1dGUtcGxhbmUvb3V0LzxjbHVzdGVyLW5hbWU+LXJlZ2lz" + + "dGVyLXZhbHVlcy55YW1sYAp1bnRpbCB0ZWFyZG93biBjb21wbGV0ZXMgYmVjYXVzZSBgZG93bmAg" + + "cmVhZHMgaXRzIGNsdXN0ZXIgSUQuIEZpcnN0IHF1ZXJ5IHRoZQpsaXZlIHJlZ2lzdHJhdGlvbiBz" + + "ZXQgd2l0aCB0aGUgc2FtZSBjb21wbGV0ZSBwZXJzaXN0ZW50IHByZWZpeDoKCmBgYGJhc2gKbnZj" + + "Zi1jbGkgLS1jb25maWcgPGNvbmZpZz4gc2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1z" + + "dGFjayBkZXBsb3kvc3RhY2tzL3NlbGYtbWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNr" + + "IGRlcGxveS9zdGFja3MvbnZjZi1jb21wdXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1w" + + "bGFpbiBcCiAgLS1jb250cm9sLXBsYW5lLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4g" + + "XAogIC0tY29tcHV0ZS1wbGFuZS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAt" + + "LWljbXMtdXJsIDxjb21wdXRlLXJlYWNoYWJsZS1pY21zLXVybD4gXAogIHN0YXR1cyBcCiAgLS1j" + + "bHVzdGVyLW5hbWUgPGNvbXB1dGUtcGxhbmUtY2x1c3Rlci1uYW1lPiBcCiAgLS1uY2EtaWQgPG5j" + + "YS1pZD4KYGBgCgpTaG93IHRoZSByZWdpc3RlcmVkIGNvbXB1dGUtcGxhbmUgbGlzdC4gTmFtZWQt" + + "Y2x1c3RlciBgZG93biAtLXBsYW4tb25seWAgZG9lcwpub3QgcXVlcnkgSUNNUywgc28gaXQgcHJl" + + "dmlld3Mgb25seSB0aGF0IGNvbXB1dGUgcGxhbmUgYW5kIGNhbm5vdCBzaG93IHRoZQpjb25kaXRp" + + "b25hbCBjb250cm9sLXBsYW5lIHJlbW92YWwuIElmIHRoZSB0YXJnZXQgaXMgdGhlIGxhc3QgcmVn" + + "aXN0ZXJlZApjbHVzdGVyLCByZWFsIGBkb3duYCBhbHNvIGRlc3Ryb3lzIHRoZSBjb250cm9sIHBs" + + "YW5lLiBHZXQgZXhwbGljaXQgY29uZmlybWF0aW9uCmZvciBib3RoIHJlbW92YWxzIGJlZm9yZSBj" + + "b250aW51aW5nLiBUaGVuIHByZXZpZXcgYW5kIGV4ZWN1dGUgd2l0aCB0aGUgc2FtZQpwcmVmaXg6" + + "CgpgYGBiYXNoCm52Y2YtY2xpIC0tY29uZmlnIDxjb25maWc+IHNlbGYtaG9zdGVkIFwKICAtLWNv" + + "bnRyb2wtcGxhbmUtc3RhY2sgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQgXAogIC0tY29tcHV0" + + "ZS1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZSBcCiAgLS1lbnYg" + + "PGVudj4gXAogIC0tcGxhaW4gXAogIC0tY29udHJvbC1wbGFuZS1jb250ZXh0IDxjb250cm9sLXBs" + + "YW5lLWNvbnRleHQ+IFwKICAtLWNvbXB1dGUtcGxhbmUtY29udGV4dCA8Y29tcHV0ZS1wbGFuZS1j" + + "b250ZXh0PiBcCiAgLS1pY21zLXVybCA8Y29tcHV0ZS1yZWFjaGFibGUtaWNtcy11cmw+IFwKICBk" + + "b3duIC0tcGxhbi1vbmx5IFwKICAtLWNsdXN0ZXItbmFtZSA8Y29tcHV0ZS1wbGFuZS1jbHVzdGVy" + + "LW5hbWU+IFwKICAtLW5jYS1pZCA8bmNhLWlkPgoKbnZjZi1jbGkgLS1jb25maWcgPGNvbmZpZz4g" + + "c2VsZi1ob3N0ZWQgXAogIC0tY29udHJvbC1wbGFuZS1zdGFjayBkZXBsb3kvc3RhY2tzL3NlbGYt" + + "bWFuYWdlZCBcCiAgLS1jb21wdXRlLXBsYW5lLXN0YWNrIGRlcGxveS9zdGFja3MvbnZjZi1jb21w" + + "dXRlLXBsYW5lIFwKICAtLWVudiA8ZW52PiBcCiAgLS1wbGFpbiBcCiAgLS1jb250cm9sLXBsYW5l" + + "LWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gXAogIC0tY29tcHV0ZS1wbGFuZS1jb250" + + "ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IFwKICAtLWljbXMtdXJsIDxjb21wdXRlLXJlYWNo" + + "YWJsZS1pY21zLXVybD4gXAogIGRvd24gXAogIC0tY2x1c3Rlci1uYW1lIDxjb21wdXRlLXBsYW5l" + + "LWNsdXN0ZXItbmFtZT4gXAogIC0tbmNhLWlkIDxuY2EtaWQ+CmBgYAoKUmVwZWF0IGBkb3duYCBm" + + "b3IgZWFjaCBjb21wdXRlIGNsdXN0ZXIuIEVhY2ggcnVuIGRlc3Ryb3lzIHRoYXQgY29tcHV0ZSBw" + + "bGFuZSBhbmQKdW5yZWdpc3RlcnMgaXRzIElDTVMgcm93LiBJdCByZW1vdmVzIHRoZSBjb250cm9s" + + "IHBsYW5lIG9ubHkgYWZ0ZXIgbm8gY2x1c3RlcgpyZWdpc3RyYXRpb25zIHJlbWFpbi4KUEsHCJZj" + + "vFkSMAAAEjAAAFBLAwQUAAgAAAAAACEAAAAAAAAAAAAAAAAAOwAJAGRhdGEvbnZjZi1zZWxmLW1h" + + "bmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvZGVidWdnaW5nLm1kVVQFAAEAps4SIyBEZWJ1" + + "Z2dpbmcgUmVmZXJlbmNlCgpSZWNpcGVzIGZvciBkaWFnbm9zaW5nIGFuZCBmaXhpbmcgY29tbW9u" + + "IE5WQ0Ygc2VsZi1tYW5hZ2VkIHN0YWNrIGZhaWx1cmVzLgoKIyMgUXVpY2sgU3RhdHVzIENvbW1h" + + "bmRzCgpgYGBiYXNoCiMgQWxsIHBvZHMgYWNyb3NzIGFsbCBuYW1lc3BhY2VzCmt1YmVjdGwgZ2V0" + + "IHBvZHMgLUEgLW8gd2lkZQoKIyBQb2RzIGluIGEgc3BlY2lmaWMgbmFtZXNwYWNlCmt1YmVjdGwg" + + "Z2V0IHBvZHMgLW4gPG5hbWVzcGFjZT4KCiMgQWxsIGhlbG0gcmVsZWFzZXMKaGVsbSBsaXN0IC1B" + + "CgojIFJlY2VudCBldmVudHMgKG1vc3QgdXNlZnVsIGZvciBkaWFnbm9zaW5nIGZhaWx1cmVzKQpr" + + "dWJlY3RsIGdldCBldmVudHMgLW4gPG5hbWVzcGFjZT4gLS1zb3J0LWJ5PScubGFzdFRpbWVzdGFt" + + "cCcKCiMgRGVzY3JpYmUgYSBzcGVjaWZpYyBwb2QgKHNob3dzIGV2ZW50cywgY29uZGl0aW9ucywg" + + "dm9sdW1lcykKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPgpg" + + "YGAKCiMjIEZhaWx1cmU6IEltYWdlUHVsbEJhY2tPZmYKCiMjIyBTeW1wdG9tcwoKYGBgdGV4dApO" + + "QU1FICAgICAgICAgICBSRUFEWSAgIFNUQVRVUyAgICAgICAgICAgICBSRVNUQVJUUyAgIEFHRQpj" + + "YXNzYW5kcmEtMCAgICAwLzEgICAgIEltYWdlUHVsbEJhY2tPZmYgICAwICAgICAgICAgIDVtCmBg" + + "YAoKRXZlbnRzIHNob3c6CgpgYGB0ZXh0CkZhaWxlZCB0byBwdWxsIGltYWdlICJudmNyLmlvLy4u" + + "Li9pbWFnZTp0YWciOiA0MDEgVW5hdXRob3JpemVkCmBgYAoKIyMjIERpYWdub3NpcwoKYGBgYmFz" + + "aAojIENoZWNrIHdoYXQgaW1hZ2UgaXMgZmFpbGluZwprdWJlY3RsIGRlc2NyaWJlIHBvZCAtbiA8" + + "bmFtZXNwYWNlPiA8cG9kLW5hbWU+IHwgZ3JlcCAtQTUgIkV2ZW50czoiCgojIENoZWNrIGlmIHB1" + + "bGwgc2VjcmV0IGV4aXN0cyBpbiB0aGUgbmFtZXNwYWNlCmt1YmVjdGwgZ2V0IHNlY3JldCBudmNy" + + "LWNyZWRzIC1uIDxuYW1lc3BhY2U+CgojIENoZWNrIGlmIHRoZSBwb2Qgc3BlYyBoYXMgaW1hZ2VQ" + + "dWxsU2VjcmV0cwprdWJlY3RsIGdldCBwb2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiAtbyBq" + + "c29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9JwoKIyBDaGVjayBpZiB0aGUgU2Vydmlj" + + "ZUFjY291bnQgaGFzIGltYWdlUHVsbFNlY3JldHMKa3ViZWN0bCBnZXQgc2EgPHNhLW5hbWU+IC1u" + + "IDxuYW1lc3BhY2U+IC1vIGpzb25wYXRoPSd7LmltYWdlUHVsbFNlY3JldHN9JwpgYGAKCiMjIyBG" + + "aXhlcwoKMS4gKipTZWNyZXQgbWlzc2luZyBpbiBuYW1lc3BhY2UqKjogQ3JlYXRlIGl0CgogICBg" + + "YGBiYXNoCiAgIGt1YmVjdGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVk" + + "cyBcCiAgICAgLS1kb2NrZXItc2VydmVyPW52Y3IuaW8gXAogICAgIC0tZG9ja2VyLXVzZXJuYW1l" + + "PSckb2F1dGh0b2tlbicgXAogICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwK" + + "ICAgICAtLW5hbWVzcGFjZT08bmFtZXNwYWNlPiBcCiAgICAgLS1kcnktcnVuPWNsaWVudCAtbyB5" + + "YW1sIHwga3ViZWN0bCBhcHBseSAtZiAtCiAgIGBgYAoKMi4gKipTZWNyZXQgZXhpc3RzIGJ1dCBw" + + "b2QgZG9lc24ndCByZWZlcmVuY2UgaXQqKjogVGhlIGNoYXJ0IG5lZWRzIGBpbWFnZVB1bGxTZWNy" + + "ZXRzYCBjb25maWd1cmVkIHZpYSBoZWxtZmlsZSB2YWx1ZXMuIFNlZSBbcHVsbC1zZWNyZXRzLm1k" + + "XShwdWxsLXNlY3JldHMubWQpLgoKMy4gKipDaGFydCBkb2Vzbid0IHN1cHBvcnQgaW1hZ2VQdWxs" + + "U2VjcmV0cyoqIChvcGVuYmFvLCBpbnZvY2F0aW9uLXNlcnZpY2UsIGVzcy1hcGksIG5vdGFyeS1z" + + "ZXJ2aWNlKTogUGF0Y2ggU2VydmljZUFjY291bnRzIGFuZCByZXN0YXJ0IHBvZHMuIFNlZSBbcHVs" + + "bC1zZWNyZXRzLm1kXShwdWxsLXNlY3JldHMubWQpLgoKNC4gKipXcm9uZyBjcmVkZW50aWFscyBp" + + "biBzZWNyZXQqKjogRGVsZXRlIGFuZCByZWNyZWF0ZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRl" + + "bGV0ZSBzZWNyZXQgbnZjci1jcmVkcyAtbiA8bmFtZXNwYWNlPgogICAjIFJlY3JlYXRlIHdpdGgg" + + "Y29ycmVjdCBjcmVkZW50aWFscwogICBgYGAKCiMjIEZhaWx1cmU6IEluaXQ6MC8xIFN0dWNrIChW" + + "YXVsdCBBZ2VudCkKCiMjIyBTeW1wdG9tcwoKU2VydmljZSBwb2RzIHN0dWNrIGluIGBJbml0OjAv" + + "MWAgZm9yIG1pbnV0ZXM6CgpgYGBiYXNoCk5BTUUgICAgICAgICAgICAgICAgICAgICAgICBSRUFE" + + "WSAgIFNUQVRVUyAgICAgUkVTVEFSVFMgICBBR0UKbnZjZi1hcGktN2Y0Yzc2Zjc4OC00NHZsdCAg" + + "MC8yICAgICBJbml0OjAvMSAgIDAgICAgICAgICAgMTBtCmBgYAoKIyMjIERpYWdub3NpcwoKVGhl" + + "IGluaXQgY29udGFpbmVyIGlzIHRoZSB2YXVsdC1hZ2VudC1pbml0IGluamVjdG9yIHdhaXRpbmcg" + + "Zm9yIE9wZW5CYW8uCgpgYGBiYXNoCiMgQ2hlY2sgT3BlbkJhbyBwb2RzCmt1YmVjdGwgZ2V0IHBv" + + "ZHMgLW4gdmF1bHQtc3lzdGVtCgojIENoZWNrIGlmIE9wZW5CYW8gbWlncmF0aW9uIGpvYiByYW4K" + + "a3ViZWN0bCBnZXQgam9icyAtbiB2YXVsdC1zeXN0ZW0KCiMgQ2hlY2sgT3BlbkJhbyBwb2QgbG9n" + + "cwprdWJlY3RsIGxvZ3MgLW4gdmF1bHQtc3lzdGVtIG9wZW5iYW8tc2VydmVyLTAgLWMgb3BlbmJh" + + "bwoKIyBDaGVjayBpbml0IGNvbnRhaW5lciBsb2dzIG9uIHRoZSBzdHVjayBwb2QKa3ViZWN0bCBs" + + "b2dzIC1uIDxuYW1lc3BhY2U+IDxwb2QtbmFtZT4gLWMgdmF1bHQtYWdlbnQtaW5pdApgYGAKCiMj" + + "IyBGaXhlcwoKMS4gKipPcGVuQmFvIHBvZHMgbm90IHJ1bm5pbmcqKjogQ2hlY2sgdGhlaXIgZXZl" + + "bnRzIGZvciBpbWFnZSBwdWxsIGlzc3VlcywgcmVzb3VyY2UgaXNzdWVzLCBldGMuCgoyLiAqKk9w" + + "ZW5CYW8gbWlncmF0aW9uIGpvYiBkaWRuJ3QgcnVuKio6IFRoaXMgaGFwcGVucyB3aGVuIGBoZWxt" + + "ZmlsZSBzeW5jYCB3YXMgaW50ZXJydXB0ZWQuIERlc3Ryb3kgYW5kIHJlLXN5bmMgb3BlbmJhbzoK" + + "CiAgIGBgYGJhc2gKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFt" + + "ZT1vcGVuYmFvLXNlcnZlciBkZXN0cm95CiAgIGt1YmVjdGwgZGVsZXRlIG5hbWVzcGFjZSB2YXVs" + + "dC1zeXN0ZW0KICAga3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIHZhdWx0LXN5c3RlbQogICAjIFJl" + + "LWNyZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKICAgSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1m" + + "aWxlIC0tc2VsZWN0b3IgbmFtZT1vcGVuYmFvLXNlcnZlciBzeW5jCiAgIGBgYAoKMy4gKipPcGVu" + + "QmFvIHBvZHMgcnVubmluZyBidXQgbm90IGluaXRpYWxpemVkKio6IENoZWNrIHVuc2VhbCBzdGF0" + + "dXM6CgogICBgYGBiYXNoCiAgIGt1YmVjdGwgZXhlYyAtbiB2YXVsdC1zeXN0ZW0gb3BlbmJhby1z" + + "ZXJ2ZXItMCAtYyBvcGVuYmFvIC0tIGJhbyBzdGF0dXMKICAgYGBgCgo0LiAqKmB2YXVsdC1hZ2Vu" + + "dC1pbml0YCBsb2dzIGBhdXRoL2p3dC9sb2dpbmAgLT4gYDQwMCAuLi4gbm8ga25vd24ga2V5IHN1" + + "Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgdGhlIHRva2VuIHNpZ25hdHVyZWAqKgogICAoY29tbW9uIG9u" + + "IEFLUywgYW5kIG9uIGFueSBjbHVzdGVyIHdob3NlIE9JREMgaXNzdWVyIHB1Ymxpc2hlcyBhIHJv" + + "dGF0aW5nIG11bHRpLWtleSBKV0tTKToKICAgdGhlIE9wZW5CYW8gYGF1dGgvand0YCBtZXRob2Qg" + + "d2FzIGNvbmZpZ3VyZWQgd2l0aCBhIHNpbmdsZSBzdGF0aWMgbW91bnRlZCBwdWJsaWMga2V5CiAg" + + "IChgand0X3ZhbGlkYXRpb25fcHVia2V5c2ApIGluc3RlYWQgb2YgdGhlIGlzc3VlcidzIGxpdmUg" + + "SldLUywgc28gaXQgY2Fubm90IHZhbGlkYXRlIHRoZQogICBjbHVzdGVyLXNpZ25lZCBTZXJ2aWNl" + + "QWNjb3VudCB0b2tlbnMgdGhlIHZhdWx0LWFnZW50cyBwcmVzZW50LiBFdmVyeSBzZXJ2aWNlJ3MK" + + "ICAgYHZhdWx0LWFnZW50LWluaXRgIHRoZW4gbG9vcHMgb24gdGhhdCA0MDAgYW5kIHRoZSBwb2Qg" + + "bmV2ZXIgbGVhdmVzIGBJbml0OjAvMWAuIFRoaXMgaXMgdGhlCiAgIGJlaGF2aW9yIG9mIHRoZSBi" + + "YXNlIGRlZmF1bHQgYG9wZW5iYW8ubWlncmF0aW9ucy5pc3N1ZXJEaXNjb3ZlcnkuZW5hYmxlZDog" + + "ZmFsc2VgOyB0aGUKICAgbWlncmF0aW9uIGxvZyBzaG93cyBgT0lEQyBpc3N1ZXIgZGlzY292ZXJ5" + + "IGlzIGRpc2FibGVkLiBVc2luZyBTZXJ2aWNlQWNjb3VudCBpc3N1ZXIgYW5kCiAgIG1vdW50ZWQg" + + "cHVibGljIGtleSBmYWxsYmFja2AuIEVuYWJsZSBpc3N1ZXIgZGlzY292ZXJ5IHNvIHRoZSBtaWdy" + + "YXRpb24gdXNlcyB0aGUgbGl2ZSBKV0tTLAogICB0aGVuIHJlLXJ1biBpdDoKCiAgIGBgYGJhc2gK" + + "ICAgIyBJbiB5b3VyIGVudiB2YWx1ZXMgKGUuZy4gZW52aXJvbm1lbnRzLzxlbnY+LnlhbWwpLCBz" + + "ZXQ6CiAgICMgICBvcGVuYmFvOgogICAjICAgICBtaWdyYXRpb25zOgogICAjICAgICAgIGlzc3Vl" + + "ckRpc2NvdmVyeToKICAgIyAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAga3ViZWN0bCBkZWxldGUg" + + "am9iIC1uIHZhdWx0LXN5c3RlbSBvcGVuYmFvLXNlcnZlci1taWdyYXRpb25zCiAgIEhFTE1GSUxF" + + "X0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9b3BlbmJhby1zZXJ2ZXIgc3luYwog" + + "ICBgYGAKCiAgIFRoZSBtaWdyYXRpb24gbG9nIHNob3VsZCB0aGVuIHNob3cgYFJlY2VpdmVkIGRp" + + "c2NvdmVyeSBkb2N1bWVudCBmcm9tCiAgIC4uLi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJh" + + "dGlvbmAgYW5kIGBGaW5hbCBPcGVuQmFvIEpXVCBKV0tTIFVSTCBzZXQgdG86CiAgIC4uLi9vcGVu" + + "aWQvdjEvandrc2AsIGFuZCB0aGUgc2VydmljZSBwb2RzIGF1dGhlbnRpY2F0ZSBhbmQgcmVhY2gg" + + "UmVhZHkgd2l0aGluIH4xIG1pbi4KICAgQUtTIGNsdXN0ZXJzIHdpdGggdGhlIGNsdXN0ZXIgT0lE" + + "QyBpc3N1ZXIgZW5hYmxlZCAodGhlIGBha3MtY2x1c3RlcmAgZGVmYXVsdCkgYWx3YXlzIG5lZWQK" + + "ICAgdGhpcyBiZWNhdXNlIHRoZSBzdGF0aWMtcHVia2V5IGZhbGxiYWNrIGNhbm5vdCBtYXRjaCB0" + + "aGUgaXNzdWVyJ3Mgcm90YXRpbmcgc2lnbmluZyBrZXlzLgoKIyMgRmFpbHVyZTogT09NS2lsbGVk" + + "IG9uIENhc3NhbmRyYQoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkg" + + "ICBTVEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIE9PTUtpbGxl" + + "ZCAgMyAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKa3ViZWN0bCBkZXNj" + + "cmliZSBwb2QgLW4gY2Fzc2FuZHJhLXN5c3RlbSBjYXNzYW5kcmEtMCB8IGdyZXAgLUEzICJMYXN0" + + "IFN0YXRlIgpgYGAKCiMjIyBGaXgKCk92ZXJyaWRlIENhc3NhbmRyYSByZXNvdXJjZXMgdmlhIGhl" + + "bG1maWxlIHZhbHVlcy4gU2VlIEV4YW1wbGUgMSBpbgpbZXhhbXBsZXMubWRdKC4uL2V4YW1wbGVz" + + "Lm1kKS4KCmBgYHlhbWwKLSBjYXNzYW5kcmE6CiAgICByZXNvdXJjZXM6CiAgICAgIGxpbWl0czoK" + + "ICAgICAgICBjcHU6ICI4IgogICAgICAgIG1lbW9yeTogODE5Mk1pCiAgICAgIHJlcXVlc3RzOgog" + + "ICAgICAgIGNwdTogIjIiCiAgICAgICAgbWVtb3J5OiA0MDk2TWkKYGBgCgpOb3RlOiBgcmVzb3Vy" + + "Y2VQcmVzZXRgIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIE5WQ0YgY2Fzc2FuZHJhIHdyYXBwZXIg" + + "Y2hhcnQuIFVzZSBleHBsaWNpdCBgcmVzb3VyY2VzYC4KCiMjIEZhaWx1cmU6IFBvZHMgU3R1Y2sg" + + "aW4gUGVuZGluZwoKIyMjIFN5bXB0b21zCgpgYGB0ZXh0Ck5BTUUgICAgICAgICAgUkVBRFkgICBT" + + "VEFUVVMgICAgUkVTVEFSVFMgICBBR0UKY2Fzc2FuZHJhLTAgICAwLzEgICAgIFBlbmRpbmcgICAw" + + "ICAgICAgICAgIDEwbQpgYGAKCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKIyBDaGVjayBldmVudHMg" + + "Zm9yIHNjaGVkdWxpbmcgZmFpbHVyZXMKa3ViZWN0bCBkZXNjcmliZSBwb2QgLW4gPG5hbWVzcGFj" + + "ZT4gPHBvZC1uYW1lPgoKIyBDb21tb24gY2F1c2VzOgojIC0gIjAvMTIgbm9kZXMgYXJlIGF2YWls" + + "YWJsZTogMTIgbm9kZShzKSBkaWRuJ3QgbWF0Y2ggUG9kJ3Mgbm9kZSBhZmZpbml0eSIKIyAtICIw" + + "LzEyIG5vZGVzIGFyZSBhdmFpbGFibGU6IDEyIEluc3VmZmljaWVudCBtZW1vcnkiCiMgLSAicGVy" + + "c2lzdGVudHZvbHVtZWNsYWltIG5vdCBmb3VuZCIKYGBgCgojIyMgRml4ZXMKCjEuICoqTm9kZSBz" + + "ZWxlY3RvciBtaXNtYXRjaCoqOiBDaGVjayBgbm9kZVNlbGVjdG9yc2AgaW4gZW52aXJvbm1lbnQg" + + "ZmlsZQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBub2RlcyAtLXNob3ctbGFiZWxzIHwgZ3Jl" + + "cCBudmNmCiAgIGBgYAoKMi4gKipTdG9yYWdlIGNsYXNzIG5vdCBmb3VuZCoqOiBDaGVjayBzdG9y" + + "YWdlIGNsYXNzIGV4aXN0cwoKICAgYGBgYmFzaAogICBrdWJlY3RsIGdldCBzdG9yYWdlY2xhc3MK" + + "ICAgYGBgCgozLiAqKkluc3VmZmljaWVudCByZXNvdXJjZXMqKjogQ2hlY2sgbm9kZSBjYXBhY2l0" + + "eQoKICAgYGBgYmFzaAogICBrdWJlY3RsIGRlc2NyaWJlIG5vZGUgPG5vZGUtbmFtZT4gfCBncmVw" + + "IC1BNSAiQWxsb2NhdGVkIHJlc291cmNlcyIKICAgYGBgCgojIyBGYWlsdXJlOiBIZWxtIFJlbGVh" + + "c2UgaW4gRmFpbGVkIFN0YXRlCgojIyMgU3ltcHRvbXMKCmBgYGJhc2gKaGVsbSBsaXN0IC1BCiMg" + + "U2hvd3MgcmVsZWFzZSB3aXRoIFNUQVRVUzogZmFpbGVkCmBgYAoKUmUtcnVubmluZyBgaGVsbWZp" + + "bGUgc3luY2AgYXBwZWFycyB0byBzdWNjZWVkIGJ1dCBzZXJ2aWNlcyBkb24ndCB3b3JrIChtaWdy" + + "YXRpb25zIHNraXBwZWQpLgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaApoZWxtIGhpc3RvcnkgPHJl" + + "bGVhc2UtbmFtZT4gLW4gPG5hbWVzcGFjZT4KYGBgCgojIyMgRml4CgpNdXN0IGRlc3Ryb3kgdGhl" + + "IGZhaWxlZCByZWxlYXNlIGFuZCByZS1zeW5jIChub3QganVzdCBhcHBseSk6CgpgYGBiYXNoCkhF" + + "TE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9PHJlbGVhc2U+IGRlc3Ry" + + "b3kKIyBJZiBuYW1lc3BhY2UgbmVlZHMgY2xlYW51cDoKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNl" + + "IDxuYW1lc3BhY2U+Cmt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSA8bmFtZXNwYWNlPgojIFJlLWNy" + + "ZWF0ZSBwdWxsIHNlY3JldCBpZiBuZWVkZWQKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgbmFtZT08cmVsZWFzZT4gc3luYwpgYGAKCiMjIEZhaWx1cmU6IEFjY291bnQgQm9v" + + "dHN0cmFwIEpvYiBGYWlsZWQKCiMjIyBTeW1wdG9tcwoKU2VydmljZXMgZGVwbG95IGJ1dCBmdW5j" + + "dGlvbnMgY2FuJ3QgYmUgY3JlYXRlZC4gRXZlbnRzIHNob3cgYm9vdHN0cmFwIGpvYiBmYWlsdXJl" + + "LgoKIyMjIERpYWdub3NpcwoKYGBgYmFzaAojIENoZWNrIGJvb3RzdHJhcCBqb2Igc3RhdHVzCmt1" + + "YmVjdGwgZ2V0IGpvYnMgLW4gbnZjZgoKIyBHZXQgbG9ncyAoam9iIGF1dG8tZGVsZXRlcyBhZnRl" + + "ciB+NSBtaW51dGVzKQprdWJlY3RsIGxvZ3Mgam9iL252Y2YtYXBpLWFjY291bnQtYm9vdHN0cmFw" + + "IC1uIG52Y2YKCiMgQ2hlY2sgQVBJIGxvZ3MKa3ViZWN0bCBsb2dzIC1uIG52Y2YgLWwgYXBwLmt1" + + "YmVybmV0ZXMuaW8vbmFtZT1udmNmLWFwaSAtLXRhaWw9MTAwCmBgYAoKIyMjIENvbW1vbiBDYXVz" + + "ZXMKCjEuICoqV3JvbmcgYmFzZTY0IGNyZWRlbnRpYWxzKio6IENyZWRlbnRpYWxzIGluIGBzZWNy" + + "ZXRzLzxlbnY+LXNlY3JldHMueWFtbGAgbXVzdCBiZSBgJG9hdXRodG9rZW46QVBJX0tFWWAgYmFz" + + "ZTY0LWVuY29kZWQsIG5vdCBqdXN0IHRoZSBBUEkga2V5CgogICBgYGBiYXNoCiAgICMgVmVyaWZ5" + + "IHlvdXIgZW5jb2RlZCBjcmVkZW50aWFsCiAgIGVjaG8gJ1lPVVJfQkFTRTY0X1NUUklORycgfCBi" + + "YXNlNjQgLWQKICAgIyBTaG91bGQgb3V0cHV0OiAkb2F1dGh0b2tlbjpudmFwaS14eHh4eAogICBg" + + "YGAKCjIuICoqUmVnaXN0cnkgdW5yZWFjaGFibGUqKjogQVBJIGNhbid0IHJlYWNoIHRoZSByZWdp" + + "c3RyeSBzcGVjaWZpZWQgaW4gYGFjY291bnRCb290c3RyYXAucmVnaXN0cnlDcmVkZW50aWFsc2AK" + + "CiMjIyBGaXgKCkZpeCBjcmVkZW50aWFscyBpbiBzZWNyZXRzIGZpbGUsIHRoZW4gcmVjb3ZlciBz" + + "ZXJ2aWNlcyB3aXRob3V0IGRlc3Ryb3lpbmcgZGVwZW5kZW5jaWVzOgoKYGBgYmFzaApIRUxNRklM" + + "RV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdyb3VwPXNlcnZpY2VzIGRl" + + "c3Ryb3kKa3ViZWN0bCBkZWxldGUgbmFtZXNwYWNlIG52Y2YgYXBpLWtleXMgZXNzIHNpcyAtLWln" + + "bm9yZS1ub3QtZm91bmQKa3ViZWN0bCBjcmVhdGUgbmFtZXNwYWNlIG52Y2YgJiYga3ViZWN0bCBj" + + "cmVhdGUgbmFtZXNwYWNlIGFwaS1rZXlzICYmIFwKICBrdWJlY3RsIGNyZWF0ZSBuYW1lc3BhY2Ug" + + "ZXNzICYmIGt1YmVjdGwgY3JlYXRlIG5hbWVzcGFjZSBzaXMKIyBSZS1jcmVhdGUgcHVsbCBzZWNy" + + "ZXRzIGlmIG5lZWRlZApIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxl" + + "YXNlLWdyb3VwPXNlcnZpY2VzIHN5bmMKYGBgCgojIyBGYWlsdXJlOiBOVkNBIENsZWFudXAgU3R1" + + "Y2sgKEZpbmFsaXplcnMpCgojIyMgU3ltcHRvbXMKCkNvbXB1dGUtcGxhbmUgY2xlYW51cCBoYW5n" + + "cy4gTmFtZXNwYWNlcwpzdHVjayBpbiBgVGVybWluYXRpbmdgOgoKYGBgYmFzaAprdWJlY3RsIGdl" + + "dCBucwojIG52Y2Etb3BlcmF0b3IgICAgVGVybWluYXRpbmcgICAxMG0KIyBudmNmLWJhY2tlbmQg" + + "ICAgIFRlcm1pbmF0aW5nICAgMTBtCmBgYAoKIyMjIEZpeAoKUnVuIHRoaXMgb25seSBhZ2FpbnN0" + + "IHRoZSBjb21wdXRlIGNvbnRleHQsIGFmdGVyIHRoZSBub3JtYWwgY29tcHV0ZS1wbGFuZQp0ZWFy" + + "ZG93biBoYXMgZmFpbGVkLiBSZW1vdmUgZmluYWxpemVycyBmcm9tIE5WQ0ZCYWNrZW5kIGN1c3Rv" + + "bSByZXNvdXJjZXMgYW5kCmZvcmNlLWRlbGV0ZSBzdHVjayBuYW1lc3BhY2VzOgoKYGBgYmFzaApl" + + "eHBvcnQgQ09NUFVURV9DT05URVhUPTxjb21wdXRlLXBsYW5lLWNvbnRleHQ+CgojIFJlbW92ZSBm" + + "aW5hbGl6ZXJzIGZyb20gTlZDRkJhY2tlbmQgcmVzb3VyY2VzCmt1YmVjdGwgLS1jb250ZXh0ICIk" + + "Q09NUFVURV9DT05URVhUIiBnZXQgbnZjZmJhY2tlbmRzIC1BIC1vIGpzb24gfCBcCiAganEgJy5p" + + "dGVtc1tdIHwgLm1ldGFkYXRhLm5hbWVzcGFjZSArICIvIiArIC5tZXRhZGF0YS5uYW1lJyAtciB8" + + "IFwKICB4YXJncyAtSXt9IHNoIC1jICdjb250ZXh0PSIkMSI7IG5zPSIkezIlJS8qfSI7IG5hbWU9" + + "IiR7MiMjKi99Ijsga3ViZWN0bCAtLWNvbnRleHQgIiRjb250ZXh0IiBwYXRjaCBudmNmYmFja2Vu" + + "ZCAiJG5hbWUiIC1uICIkbnMiIC0tdHlwZT1tZXJnZSAtcCAie1wibWV0YWRhdGFcIjp7XCJmaW5h" + + "bGl6ZXJzXCI6W119fSInIF8gIiRDT01QVVRFX0NPTlRFWFQiIHt9CgojIEZvcmNlLWRlbGV0ZSBz" + + "dHVjayBuYW1lc3BhY2VzIGJ5IGNsZWFyaW5nIHRoZWlyIGZpbmFsaXplcnMKZm9yIG5zIGluIG52" + + "Y2Etb3BlcmF0b3IgbnZjZi1iYWNrZW5kOyBkbwogIGt1YmVjdGwgLS1jb250ZXh0ICIkQ09NUFVU" + + "RV9DT05URVhUIiBnZXQgbmFtZXNwYWNlICIkbnMiIC1vIGpzb24gMj4vZGV2L251bGwgfCBcCiAg" + + "ICBqcSAnLnNwZWMuZmluYWxpemVycyA9IFtdJyB8IFwKICAgIGt1YmVjdGwgLS1jb250ZXh0ICIk" + + "Q09NUFVURV9DT05URVhUIiByZXBsYWNlIFwKICAgICAgLS1yYXcgIi9hcGkvdjEvbmFtZXNwYWNl" + + "cy8kbnMvZmluYWxpemUiIC1mIC0gMj4vZGV2L251bGwKZG9uZQpgYGAKCiMjIEZhaWx1cmU6IE5W" + + "Q0EgT3BlcmF0b3IgTWlzc2luZyBvciBOb3QgUmVhZHkKCiMjIyBTeW1wdG9tcwoKQWZ0ZXIgY29t" + + "cHV0ZS1wbGFuZSBpbnN0YWxsIGNvbXBsZXRlcywgbm8gYG52Y2Etb3BlcmF0b3JgIERlcGxveW1l" + + "bnQgZXhpc3RzLCBvcgppdCBleGlzdHMgYnV0IHBvZHMgYXJlIG5vdCByZWFkeToKCmBgYGJhc2gK" + + "a3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IGRlcGxveW1lbnQg" + + "bnZjYS1vcGVyYXRvciBcCiAgLW4gbnZjYS1vcGVyYXRvcgprdWJlY3RsIC0tY29udGV4dCA8Y29t" + + "cHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBudmNhLW9wZXJhdG9yCmBgYAoKIyMjIERp" + + "YWdub3NpcyBhbmQgRml4ZXMKCkZpcnN0IGlkZW50aWZ5IHdoZXRoZXIgdGhlIGluc3RhbGxhdGlv" + + "biB1c2VkIHRoZSBIZWxtZmlsZSB2YWx1ZXMgZmxvdyBvciB0aGUKQ0xJIHByb2ZpbGUgZmxvdy4g" + + "UmUtcnVuIG9ubHkgdGhhdCBmbG93J3MgcmVnaXN0cmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gc3Rl" + + "cHMKZnJvbSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUt" + + "aW5zdGFsbGF0aW9uLm1kKS4gRG8gbm90CnN1YnN0aXR1dGUgb25lIGhhbmRvZmYgZm9yIHRoZSBv" + + "dGhlci4KCklmIGluc3RhbGxhdGlvbiBzdWNjZWVkcyBidXQgcG9kcyBzdGlsbCBmYWlsLCBpbnNw" + + "ZWN0IHRoZSBjb21wdXRlIGNvbnRleHQ6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGRlc2NyaWJlIGRlcGxveSBudmNhLW9wZXJhdG9yIFwKICAtbiBu" + + "dmNhLW9wZXJhdG9yCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGxv" + + "Z3MgZGVwbG95bWVudC9udmNhLW9wZXJhdG9yIFwKICAtbiBudmNhLW9wZXJhdG9yIC0tdGFpbD0y" + + "MDAKa3ViZWN0bCAtLWNvbnRleHQgPGNvbXB1dGUtcGxhbmUtY29udGV4dD4gZ2V0IG52Y2ZiYWNr" + + "ZW5kIC1uIG52Y2Etb3BlcmF0b3IKYGBgCgpGb3IgcHJpdmF0ZSByZWdpc3RyeSBmYWlsdXJlcywg" + + "dmVyaWZ5IHRoYXQgdGhlIHB1bGwgc2VjcmV0IGV4aXN0cyBpbgpgbnZjYS1vcGVyYXRvcmAuIFRo" + + "ZSBjaGFydCBhbmQgb3BlcmF0b3IgbWlycm9yIGl0IHRvIGBudmNhLXN5c3RlbWA7IGRvIG5vdCB1" + + "c2UgYQpicm9hZGVyIG1hbnVhbCBuYW1lc3BhY2UgbG9vcC4gU2VlCltwdWxsLXNlY3JldHMubWRd" + + "KHB1bGwtc2VjcmV0cy5tZCNjb21wdXRlLXBsYW5lLXNlY3JldCkuCgojIyBGYWlsdXJlOiBHYXRl" + + "d2F5IEVuZHBvaW50IENoYW5nZWQKCiMjIyBTeW1wdG9tcwoKUmVxdWVzdHMgdGhyb3VnaCB0aGUg" + + "Y29uZmlndXJlZCByb3V0ZSBkb21haW4gZmFpbCBhZnRlciB0aGUgR2F0ZXdheSBvciBpdHMgbG9h" + + "ZCBiYWxhbmNlciBpcyByZXBsYWNlZC4gVGhlIEdhdGV3YXkgcmVwb3J0cyBhIG5ldyBlbmRwb2lu" + + "dC4KCiMjIyBEaWFnbm9zaXMKCmBgYGJhc2gKR0FURVdBWV9BRERSPSQoa3ViZWN0bCAtLWNvbnRl" + + "eHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IGdhdGV3YXkgXAogIG52Y2YtZ2F0ZXdheSAt" + + "biBlbnZveS1nYXRld2F5IFwKICAtbyBqc29ucGF0aD0ney5zdGF0dXMuYWRkcmVzc2VzWzBdLnZh" + + "bHVlfScpCnRlc3QgLW4gIiRHQVRFV0FZX0FERFIiCmRpZyArc2hvcnQgImFwaS48ZG9tYWluPiIK" + + "Y3VybCAtSCAiSG9zdDogYXBpLjxkb21haW4+IiAiaHR0cDovLyRHQVRFV0FZX0FERFIvaGVhbHRo" + + "IgoKIyBDaGVjayBkaXJlY3QgYWRkcmVzcyBmaWVsZHMgdXNlZCBieSBhIHNwbGl0IGRlcGxveW1l" + + "bnQKZ3JlcCBudmNmTmF0c1NlcnZpY2VVUkwgZGVwbG95L3N0YWNrcy9zZWxmLW1hbmFnZWQvZW52" + + "aXJvbm1lbnRzLzxlbnY+LnlhbWwKZ3JlcCAtRSAnaWNtc1NlcnZpY2V8cmV2YWxTZXJ2aWNlfG5h" + + "dHMnIFwKICBkZXBsb3kvc3RhY2tzL252Y2YtY29tcHV0ZS1wbGFuZS9lbnZpcm9ubWVudHMvPGVu" + + "dj4ueWFtbApgYGAKCiMjIyBGaXgKCktlZXAgYGdsb2JhbC5kb21haW5gLCByb3V0ZSBob3N0bmFt" + + "ZXMsIGFuZCBIb3N0IG92ZXJyaWRlcyB1bmNoYW5nZWQuIFVwZGF0ZSBETlMKb3IgdGhlIGRpcmVj" + + "dCBjbGllbnQgZGVzdGluYXRpb24uIEZvciBzcGxpdCBkZXBsb3ltZW50cywgdXBkYXRlIG9ubHkg" + + "ZGlyZWN0CkdhdGV3YXktYWRkcmVzcyBmaWVsZHMgYW5kIHJlZnJlc2ggcmVnaXN0cmF0aW9uIGFu" + + "ZCBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUKc2FtZSBzZWxlY3RlZCBoYW5kb2ZmLiBTZWUKW0V4" + + "YW1wbGUgNF0oLi4vZXhhbXBsZXMubWQjZXhhbXBsZS00LXJlY292ZXItZnJvbS1hLWdhdGV3YXkt" + + "ZW5kcG9pbnQtY2hhbmdlKS4KCiMjIFVzZWZ1bCBOYW1lc3BhY2UtdG8tU2VydmljZSBNYXBwaW5n" + + "CgpRdWljayByZWZlcmVuY2UgZm9yIHdoaWNoIHNlcnZpY2VzIHJ1biBpbiB3aGljaCBuYW1lc3Bh" + + "Y2U6Cgp8IE5hbWVzcGFjZSB8IFNlcnZpY2VzIHwKfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS18Cnwg" + + "bmF0cy1zeXN0ZW0gfCBuYXRzIHwKfCBjYXNzYW5kcmEtc3lzdGVtIHwgY2Fzc2FuZHJhIHwKfCB2" + + "YXVsdC1zeXN0ZW0gfCBvcGVuYmFvLXNlcnZlciB8CnwgbnZjZiB8IGFwaSwgaW52b2NhdGlvbi1z" + + "ZXJ2aWNlLCBncnBjLXByb3h5LCBub3Rhcnktc2VydmljZSwgcmV2YWwsIGxsbS1yZXF1ZXN0LXJv" + + "dXRlciwgbGxtLWFwaS1nYXRld2F5IHwKfCBhcGkta2V5cyB8IGFwaS1rZXlzLCBhZG1pbi1pc3N1" + + "ZXItcHJveHkgfAp8IGVzcyB8IGVzcy1hcGkgfAp8IHNpcyB8IHNpcyB8CnwgZW52b3ktZ2F0ZXdh" + + "eS1zeXN0ZW0gfCBlbnZveSBnYXRld2F5IChpbmdyZXNzIGNvbnRyb2xsZXIpIHwKfCBlbnZveS1n" + + "YXRld2F5IHwgZ2F0ZXdheSByZXNvdXJjZSArIHJvdXRlcyB8ClBLBwi1enA7tTAAALUwAABQSwME" + + "FAAIAAAAAAAhAAAAAAAAAAAAAAAAAEQACQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWluc3RhbGxh" + + "dGlvbi9yZWZlcmVuY2VzL2hlbG1maWxlLXN0cnVjdHVyZS5tZFVUBQABAKbOEiMgSGVsbWZpbGUg" + + "U3RydWN0dXJlIFJlZmVyZW5jZQoKIyMgRGlyZWN0b3J5IExheW91dAoKYGBgYmFzaApudmNmLXNl" + + "bGYtbWFuYWdlZC1zdGFjay8KfC0tIGhlbG1maWxlLmQvCnwgICB8LS0gMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsICAjIE5BVFMsIENhc3NhbmRyYSwgT3BlbkJhbwp8ICAgfC0tIDAyLWNvcmUu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgIyBOVkNGIHNlcnZpY2VzICsgaW5ncmVzcwp8ICAgYC0tIDAz" + + "LW9ic2VydmFiaWxpdHkueWFtbC5nb3RtcGwgIyBPYnNlcnZhYmlsaXR5IHN0YWNrIChvcHRpb25h" + + "bCkKfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNlLnlhbWwgICAgICAgICAgICAgICAgICAg" + + "ICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVudHMpCnwgICBgLS0gPGVudi1uYW1lPi55" + + "YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVudCBvdmVycmlkZXMKfC0tIHNlY3JldHMv" + + "CnwgICBgLS0gPGVudi1uYW1lPi1zZWNyZXRzLnlhbWwgICAgICAjIFNlbnNpdGl2ZSB2YWx1ZXMg" + + "KHJlZ2lzdHJ5IGNyZWRzLCBwYXNzd29yZHMpCmAtLSBnbG9iYWwueWFtbC5nb3RtcGwgICAgICAg" + + "ICAgICAgICAjIEdvIHRlbXBsYXRlIHRoYXQgY29uc3RydWN0cyBwZXItY2hhcnQgdmFsdWVzCgpu" + + "dmNmLWNvbXB1dGUtcGxhbmUtc3RhY2svCnwtLSBoZWxtZmlsZS5kLwp8ICAgfC0tIDAxLWRlcGVu" + + "ZGVuY2llcy55YW1sLmdvdG1wbCAgIyBDb21wdXRlIHBsYW5lIGRlcGVuZGVuY3kgY29tcG9uZW50" + + "cwp8ICAgYC0tIDAyLW52Y2EueWFtbC5nb3RtcGwgICAgICAgICAgIyBudmNhLW9wZXJhdG9yIGNo" + + "YXJ0IGFuZCBudmNhIGNvbmZpZ3VyYXRpb24KfC0tIGVudmlyb25tZW50cy8KfCAgIHwtLSBiYXNl" + + "LnlhbWwgICAgICAgICAgICAgICAgICAgICMgRGVmYXVsdCB2YWx1ZXMgKGFsbCBlbnZpcm9ubWVu" + + "dHMpCnwgICBgLS0gPGVudi1uYW1lPi55YW1sICAgICAgICAgICAgICAjIFBlci1lbnZpcm9ubWVu" + + "dCBvdmVycmlkZXMKYC0tIGdsb2JhbC55YW1sLmdvdG1wbCAgICAgICAgICAgICAgICMgR28gdGVt" + + "cGxhdGUgdGhhdCBjb25zdHJ1Y3RzIHBlci1jaGFydCB2YWx1ZXMKYGBgCgpUaGVzZSBzdGFja3Mg" + + "aGF2ZSBzZXBhcmF0ZSBlbnZpcm9ubWVudHMgYW5kIGNsdXN0ZXIgY29udGV4dHMuIFRoZSBIZWxt" + + "ZmlsZQp2YWx1ZXMgZmxvdyBhdXRob3JzIGJvdGggZW52aXJvbm1lbnQgZmlsZXMuIFRoZSBDTEkg" + + "cHJvZmlsZSBmbG93IGluc3RlYWQgdXNlcwp0aGUgQ0xJLWdlbmVyYXRlZCBjb250cm9sLXBsYW5l" + + "IHByb2ZpbGUgYXMgaXRzIGVuZHBvaW50IHNvdXJjZS4gRG8gbm90IG1peCB0aGUKaGFuZG9mZnMu" + + "IFNlZSBbU3BsaXQgQ29tcHV0ZS1QbGFuZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5z" + + "dGFsbGF0aW9uLm1kKS4KCiMjIEdvdG1wbCBGaWxlcyBhbmQgVGhlaXIgUmVsZWFzZXMKCiMjIyAw" + + "MS1kZXBlbmRlbmNpZXMueWFtbC5nb3RtcGwKCnwgUmVsZWFzZSB8IENoYXJ0IHwgTmFtZXNwYWNl" + + "IHwgTm90ZXMgfAp8LS0tLS0tLS0tfC0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLXwKfCBuYXRz" + + "IHwgaGVsbS1udmNmLW5hdHMgfCBuYXRzLXN5c3RlbSB8IE1lc3NhZ2luZyB8Cnwgb3BlbmJhby1z" + + "ZXJ2ZXIgfCBoZWxtLW52Y2Ytb3BlbmJhby1zZXJ2ZXIgfCB2YXVsdC1zeXN0ZW0gfCBTZWNyZXRz" + + "IG1hbmFnZW1lbnQsIGRlcGVuZHMgb24gbmF0cyB8CnwgY2Fzc2FuZHJhIHwgaGVsbS1udmNmLWNh" + + "c3NhbmRyYSB8IGNhc3NhbmRyYS1zeXN0ZW0gfCBEYXRhYmFzZSB8CgpVc2VzIGA8PDogKmRlcGVu" + + "ZGVuY3lgIHRlbXBsYXRlIGluaGVyaXRhbmNlIHdpdGggYHJlbGVhc2UtZ3JvdXA6IGRlcGVuZGVu" + + "Y2llc2AgbGFiZWwuCgojIyMgMDItY29yZS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQg" + + "fCBOYW1lc3BhY2UgfCBMYWJlbCB8CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0t" + + "LS0tfAp8IGFwaS1rZXlzIHwgaGVsbS1udmNmLWFwaS1rZXlzIHwgYXBpLWtleXMgfCBzZXJ2aWNl" + + "cyB8Cnwgc2lzIHwgaGVsbS1udmNmLXNpcyB8IHNpcyB8IHNlcnZpY2VzIHwKfCBhcGkgfCBoZWxt" + + "LW52Y2YtYXBpIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBpbnZvY2F0aW9uLXNlcnZpY2UgfCBoZWxt" + + "LW52Y2YtaW52b2NhdGlvbi1zZXJ2aWNlIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBncnBjLXByb3h5" + + "IHwgaGVsbS1udmNmLWdycGMtcHJveHkgfCBudmNmIHwgc2VydmljZXMgfAp8IGVzcy1hcGkgfCBo" + + "ZWxtLW52Y2YtZXNzLWFwaSB8IGVzcyB8IHNlcnZpY2VzIHwKfCBub3Rhcnktc2VydmljZSB8IGhl" + + "bG0tbnZjZi1ub3Rhcnktc2VydmljZSB8IG52Y2YgfCBzZXJ2aWNlcyB8CnwgcmV2YWwgfCBoZWxt" + + "LXJldmFsIHwgbnZjZiB8IHNlcnZpY2VzIHwKfCBsbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmL2hl" + + "bG0tbnZjZi1sbG0tcmVxdWVzdC1yb3V0ZXIgfCBudmNmIHwgc2VydmljZXMgfAp8IGxsbS1hcGkt" + + "Z2F0ZXdheSB8IG52Y2YvaGVsbS1udmNmLWxsbS1hcGktZ2F0ZXdheSB8IG52Y2YgfCBzZXJ2aWNl" + + "cyB8CnwgYWRtaW4taXNzdWVyLXByb3h5IHwgaGVsbS1hZG1pbi10b2tlbi1pc3N1ZXItcHJveHkg" + + "fCBhcGkta2V5cyB8IChubyByZWxlYXNlLWdyb3VwIGxhYmVsKSB8CnwgaW5ncmVzcyB8IG52Y2Yt" + + "Z2F0ZXdheS1yb3V0ZXMgfCBlbnZveS1nYXRld2F5LXN5c3RlbSB8IGluZ3Jlc3MgfAoKTW9zdCBz" + + "ZXJ2aWNlcyB1c2UgYGluaGVyaXQ6IFt7dGVtcGxhdGU6IHNlcnZpY2V9XWAuIExMTSByZWxlYXNl" + + "cyB1c2UgT0NJIGNoYXJ0cyBmcm9tIHRoZSBgbnZjZmAgcmVwb3NpdG9yeSB3aXRoIHN0YW5kYWxv" + + "bmUgYHZhbHVlczogWy4uL2dsb2JhbC55YW1sLmdvdG1wbF1gIGJsb2NrczsgdGhleSBhcmUgZ2F0" + + "ZWQgb24gYGFkZG9ucy5sbG0uZW5hYmxlZGAuIGBhZG1pbi1pc3N1ZXItcHJveHlgIGFuZCBgaW5n" + + "cmVzc2AgaGF2ZSBzdGFuZGFsb25lIGB2YWx1ZXM6YCBibG9ja3MuCgojIyMgMDMtb2JzZXJ2YWJp" + + "bGl0eS55YW1sLmdvdG1wbAoKfCBSZWxlYXNlIHwgQ2hhcnQgfCBOYW1lc3BhY2UgfCBMYWJlbCB8" + + "CnwtLS0tLS0tLS18LS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tfAp8IChvYnNlcnZhYmlsaXR5" + + "IHJlbGVhc2VzKSB8ICh2YXJpb3VzKSB8IG9ic2VydmFiaWxpdHkgfCBvYnNlcnZhYmlsaXR5IHwK" + + "CkdhdGVkIG9uIG9ic2VydmFiaWxpdHktc3BlY2lmaWMgZmxhZ3MgaW4gdGhlIGVudmlyb25tZW50" + + "IGZpbGUuIFNraXBwZWQgaWYgZGlzYWJsZWQuCgojIyBUZW1wbGF0ZSBJbmhlcml0YW5jZQoKIyMj" + + "IGA8PDogKmRlcGVuZGVuY3lgIChZQU1MIG1lcmdlKQoKVXNlZCBpbiBgMDEtZGVwZW5kZW5jaWVz" + + "LnlhbWwuZ290bXBsYC4gTWVyZ2VzIHRoZSB0ZW1wbGF0ZSdzIHByb3BlcnRpZXMgaW50byB0aGUg" + + "cmVsZWFzZS4KCioqR290Y2hhKio6IFlBTUwgbWVyZ2UgcmVwbGFjZXMgbGlzdHMuIElmIHlvdSBh" + + "ZGQgYSBgdmFsdWVzOmAga2V5IHRvIHRoZSByZWxlYXNlLCBpdCAqKnJlcGxhY2VzKiogdGhlIHRl" + + "bXBsYXRlJ3MgYHZhbHVlczpgIGxpc3QgZW50aXJlbHkuIFlvdSBtdXN0IHJlLWluY2x1ZGUgYWxs" + + "IHRlbXBsYXRlIHZhbHVlczoKCkluIHRoZSB0ZW1wbGF0ZSBiZWxvdywgYDxwcml2YXRlLXZhbHVl" + + "cz5gIHJlZmVycyB0byB0aGUgYHNlY3JldHMvYCBkaXJlY3RvcnkgYXQgdGhlIGhlbG1maWxlIHN0" + + "YWNrIHJvb3QuCgpgYGB5YW1sCiMgVGVtcGxhdGUgZGVmaW5lczoKdGVtcGxhdGVzOgogIGRlcGVu" + + "ZGVuY3k6ICZkZXBlbmRlbmN5CiAgICBjaGFydDogbnZjZi9oZWxtLW52Y2Yte3sgLlJlbGVhc2Uu" + + "TmFtZSB9fQogICAgdmFsdWVzOgogICAgICAtIC4uL2dsb2JhbC55YW1sLmdvdG1wbAogICAgICAt" + + "IC4uLzxwcml2YXRlLXZhbHVlcz4ve3sgcmVxdWlyZWRFbnYgIkhFTE1GSUxFX0VOViIgfX0tc2Vj" + + "cmV0cy55YW1sCgojIFdoZW4gb3ZlcnJpZGluZywgTVVTVCByZS1pbmNsdWRlIGJvdGg6Ci0gbmFt" + + "ZTogY2Fzc2FuZHJhCiAgPDw6ICpkZXBlbmRlbmN5CiAgdmFsdWVzOgogICAgLSAuLi9nbG9iYWwu" + + "eWFtbC5nb3RtcGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "IyBNdXN0IHJlLWluY2x1ZGUKICAgIC0gLi4vPHByaXZhdGUtdmFsdWVzPi97eyByZXF1aXJlZEVu" + + "diAiSEVMTUZJTEVfRU5WIiB9fS1zZWNyZXRzLnlhbWwgICAjIE11c3QgcmUtaW5jbHVkZQogICAg" + + "LSBjYXNzYW5kcmE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" + + "ICAgICAgICAgICAgICMgWW91ciBvdmVycmlkZQogICAgICAgIHJlc291cmNlczoKICAgICAgICAg" + + "IGxpbWl0czoKICAgICAgICAgICAgbWVtb3J5OiA4MTkyTWkKYGBgCgojIyMgYGluaGVyaXRgIChI" + + "ZWxtZmlsZSBuYXRpdmUpCgpVc2VkIGluIGAwMi1jb3JlLnlhbWwuZ290bXBsYC4gSGVsbWZpbGUn" + + "cyBuYXRpdmUgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgoKYGBgeWFtbAotIG5hbWU6IGFwaQogIHZl" + + "cnNpb246IDEuNi4wCiAgbmFtZXNwYWNlOiBudmNmCiAgaW5oZXJpdDoKICAgIC0gdGVtcGxhdGU6" + + "IHNlcnZpY2UKYGBgCgpXaGVuIGFkZGluZyBgdmFsdWVzOmAgdG8gYW4gaW5oZXJpdGVkIHJlbGVh" + + "c2UsIHlvdSBhbHNvIG5lZWQgdG8gcmUtaW5jbHVkZSB0aGUgdGVtcGxhdGUncyB2YWx1ZXMgZmls" + + "ZXMgc2luY2UgYHZhbHVlc2AgaXMgYSBsaXN0IHRoYXQgZ2V0cyByZXBsYWNlZC4KCiMjIFZhbHVl" + + "cyBQcmVjZWRlbmNlCgpGcm9tIGxvd2VzdCB0byBoaWdoZXN0IHByaW9yaXR5OgoKMS4gYGVudmly" + + "b25tZW50cy9iYXNlLnlhbWxgIC0tIGRlZmF1bHRzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudmlyb25t" + + "ZW50cwoyLiBgZW52aXJvbm1lbnRzLzxlbnY+LnlhbWxgIC0tIHBlci1lbnZpcm9ubWVudCBvdmVy" + + "cmlkZXMKMy4gYGdsb2JhbC55YW1sLmdvdG1wbGAgLS0gR28gdGVtcGxhdGUgcHJvY2Vzc2luZyAo" + + "Y29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyBzdHJ1Y3R1cmUpCjQuIGA8cHJpdmF0ZS12YWx1ZXM+" + + "LzxlbnY+LXNlY3JldHMueWFtbGAgLS0gc2Vuc2l0aXZlIHZhbHVlcwo1LiBJbmxpbmUgYHZhbHVl" + + "czpgIGJsb2NrcyBvbiByZWxlYXNlcyAtLSBoaWdoZXN0IHByZWNlZGVuY2UKCiMjIFdoYXQgZ2xv" + + "YmFsLnlhbWwuZ290bXBsIFBhc3NlcyBUaHJvdWdoCgpgZ2xvYmFsLnlhbWwuZ290bXBsYCByZWFk" + + "cyBmcm9tIGAuVmFsdWVzYCAodGhlIG1lcmdlZCBlbnZpcm9ubWVudCArIGVudi1zcGVjaWZpYyBZ" + + "QU1MKSBhbmQgY29uc3RydWN0cyBjaGFydC1zcGVjaWZpYyB2YWx1ZXMuIEl0IG9ubHkgcGFzc2Vz" + + "IHRocm91Z2gga2V5cyBpdCBleHBsaWNpdGx5IHJlZmVyZW5jZXM6CgojIyMgQ2Fzc2FuZHJhCgot" + + "IGBjYXNzYW5kcmEucmVwbGljYUNvdW50YAotIGBjYXNzYW5kcmEuaW1hZ2UuKmAgKHJlZ2lzdHJ5" + + "LCByZXBvc2l0b3J5KQotIGBjYXNzYW5kcmEubWlncmF0aW9ucy5pbWFnZS4qYAotIGBjYXNzYW5k" + + "cmEucGVyc2lzdGVuY2Uuc2l6ZWAKLSBgY2Fzc2FuZHJhLm5vZGVTZWxlY3RvcmAgKGlmIGBnbG9i" + + "YWwubm9kZVNlbGVjdG9ycy5lbmFibGVkYCkKLSBgY2Fzc2FuZHJhLmdsb2JhbC5kZWZhdWx0U3Rv" + + "cmFnZUNsYXNzYAoKIyMjIE5BVFMKCi0gYG5hdHMuY29udGFpbmVyLmltYWdlLipgCi0gYG5hdHMu" + + "cmVsb2FkZXIuaW1hZ2UuKmAKLSBgbmF0cy5uYXRzQm94LmNvbnRhaW5lci5pbWFnZS4qYAotIGBu" + + "YXRzLmNvbmZpZy5qZXRzdHJlYW0uZmlsZVN0b3JlLnB2Yy5zdG9yYWdlQ2xhc3NOYW1lYAotIGBu" + + "YXRzLnBvZFRlbXBsYXRlLm1lcmdlLnNwZWMubm9kZVNlbGVjdG9yYCAoaWYgZW5hYmxlZCkKCiMj" + + "IyBPcGVuQmFvCgotIGBvcGVuYmFvLm1pZ3JhdGlvbnMuaW1hZ2UuKmAgYW5kIGBvcGVuYmFvLm1p" + + "Z3JhdGlvbnMuZW52YAotIGBvcGVuYmFvLmluamVjdG9yLmltYWdlLipgCi0gYG9wZW5iYW8uc2Vy" + + "dmVyLmltYWdlLipgCi0gYG9wZW5iYW8uc2VydmVyLmRhdGFTdG9yYWdlLipgCi0gTm9kZSBzZWxl" + + "Y3RvcnMgKGlmIGVuYWJsZWQpCgojIyMgU2VydmljZXMgKEFQSSwgU0lTLCBldGMuKQoKLSBgPHNl" + + "cnZpY2U+LmltYWdlLipgIChyZWdpc3RyeSwgcmVwb3NpdG9yeSkKLSBgPHNlcnZpY2U+Lm5vZGVT" + + "ZWxlY3RvcmAgKGlmIGVuYWJsZWQpCi0gYDxzZXJ2aWNlPi5lbnYuKmAgKG9ic2VydmFiaWxpdHkg" + + "c2V0dGluZ3MpCgojIyMgTExNIEZ1bmN0aW9uIEVuYWJsZW1lbnQKCkVuYWJsZSB0aGUgTExNIGFk" + + "ZG9uIGJlZm9yZSBjcmVhdGluZyBvciBpbnZva2luZyBmdW5jdGlvbnMgd2l0aApgZnVuY3Rpb25U" + + "eXBlOiAiTExNImAuIFRoZSBhZGRvbiBkZXBsb3lzIGBsbG0tcmVxdWVzdC1yb3V0ZXJgIGFuZApg" + + "bGxtLWFwaS1nYXRld2F5YCwgYWRkcyB0aGUgYGxsbS5pbnZvY2F0aW9uLjxkb21haW4+YCByb3V0" + + "ZSB3aGVuIEdhdGV3YXkgQVBJCmluZ3Jlc3MgaXMgZW5hYmxlZCwgYW5kIGNvbmZpZ3VyZXMgd29y" + + "a2VycyB0byB1c2UgdGhlIExMTSBzaWRlY2FyLiBUaGUgSGVsbWZpbGUKY29uZGl0aW9uIGlzIGBh" + + "ZGRvbnMubGxtLmVuYWJsZWRgLiBEbyBub3QgdXNlIHRoZSBvYnNvbGV0ZSBgbGxtLmVuYWJsZWRg" + + "IHBhdGguCgpGb3IgYSBzaW5nbGUtbm9kZSBpc29sYXRlZCB0ZXN0IGNsdXN0ZXIsIGFkZCB0aGlz" + + "IGNvbmZpZ3VyYXRpb24gdG8KYGVudmlyb25tZW50cy88ZW52Pi55YW1sYCBiZWZvcmUgYXBwbHlp" + + "bmcgdGhlIHN0YWNrOgoKYGBgeWFtbAphZGRvbnM6CiAgbGxtOgogICAgZW5hYmxlZDogdHJ1ZQog" + + "ICAgZ2F0ZXdheToKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAg" + + "c2VydmljZU1vbml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgcmVxdWVzdFJvdXRl" + + "cjoKICAgICAgcmVwbGljYUNvdW50OiAxCiAgICAgIG1ldHJpY3M6CiAgICAgICAgc2VydmljZU1v" + + "bml0b3I6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQoKYWdlbnRDb25maWc6CiAgbWVyZ2VDb25m" + + "aWc6IHwKICAgIGNsdXN0ZXI6CiAgICAgIHZhbGlkYXRpb25Qb2xpY3k6CiAgICAgICAgbmFtZTog" + + "VW5yZXN0cmljdGVkCiAgICB3b3JrbG9hZDoKICAgICAgc3RhcmdhdGVRVUlDSW5zZWN1cmU6IHRy" + + "dWUKYGBgCgpVc2UgYHJlcGxpY2FDb3VudDogMWAgb25seSBmb3IgbG9jYWwgb3Igc2luZ2xlLW5v" + + "ZGUgdGVzdCBjbHVzdGVycy4gVGhlIGJ1bmRsZWQKTlZDRiBBUEkgY3VycmVudGx5IHNlcnZlcyBw" + + "bGFpbnRleHQgZ1JQQyBvbiBwb3J0IDkwOTAsIHNvIHRoZSBzZWxmLW1hbmFnZWQgc3RhY2sKZGVm" + + "YXVsdHMgdGhlIExMTSBBUEkgR2F0ZXdheSBhdXRoZW50aWNhdGlvbiBob3AgdG8gcGxhaW50ZXh0" + + "LiBTZXQKYGFkZG9ucy5sbG0uZ2F0ZXdheS5hdXRoLmdycGNJbnNlY3VyZTogZmFsc2VgIG9ubHkg" + + "d2l0aCBhIFRMUy1jYXBhYmxlIE5WQ0YgQVBJLgoKV29ya2VyLXRvLXJvdXRlciB0cmFuc3BvcnQg" + + "aXMgc2VwYXJhdGUuIEZvciBzaGFyZWQgb3IgcHJvZHVjdGlvbiBjbHVzdGVycywgdXNlCnRoZSBy" + + "ZXF1aXJlZCByZXBsaWNhIGNvdW50IGFuZCB0aGUgbWFuYWdlZCBUTFMgY29uZmlndXJhdGlvbi4g" + + "VGhlCmB3b3JrbG9hZC5zdGFyZ2F0ZVFVSUNJbnNlY3VyZWAgc2V0dGluZyBlbmFibGVzIHBsYWlu" + + "dGV4dCB3b3JrZXIgdHJhbnNwb3J0IGFuZAptdXN0IG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24u" + + "CgpUaGUgcmVxdWVzdCByb3V0ZXIgdXNlcyBgcG93ZXItb2YtdHdvYCB3aGVuIG5vIGxvYWQtYmFs" + + "YW5jZXIgY29uZmlndXJhdGlvbiBpcwpzZXQuIENvbmZpZ3VyZSBvdGhlciByb3V0aW5nIG1ldGhv" + + "ZHMgd2l0aCB0aGUKW0xMTSBSZXF1ZXN0IFJvdXRlciBMb2FkIEJhbGFuY2luZ10oaHR0cHM6Ly9n" + + "aXRodWIuY29tL05WSURJQS9udmNmL2Jsb2IvbWFpbi9kb2NzL3NlbGYtbWFuYWdlZC9sbG0tcmVx" + + "dWVzdC1yb3V0ZXItbG9hZC1iYWxhbmNpbmcubWQpCmd1aWRlLgoKSWYgdGhlIHNpZGVjYXIgaW1h" + + "Z2UgaXMgbWlycm9yZWQgb3V0c2lkZSB0aGUgc3RhY2sncyBkZWZhdWx0IGltYWdlIHJlZ2lzdHJ5" + + "IGFuZApyZXBvc2l0b3J5LCBzZXQgdGhlIGdlbmVyYXRlZCB3b3JrZXIgc2lkZWNhciBpbWFnZSBl" + + "eHBsaWNpdGx5OgoKYGBgeWFtbAphcGk6CiAgcmVtb3RlQ29uZmlnOgogICAgY29uZmlnRGF0YToK" + + "ICAgICAgbnZjZjoKICAgICAgICBzaWRlY2FyczoKICAgICAgICAgIGxsbS1yb3V0ZXItY2xpZW50" + + "LWltYWdlOiA8cmVnaXN0cnk+LzxyZXBvc2l0b3J5Pi9weWxvbjowLjE0LjEKYGBgCgpUaGUgbGVn" + + "YWN5IGBhcGkuZW52Lk5WQ0ZfU0lERUNBUlNfTExNX1JPVVRFUl9DTElFTlRfSU1BR0VgIHBhdGgg" + + "aXMgZGVwcmVjYXRlZC4KVGhlIHN0YWNrIHRyYW5zbGF0ZXMgaXQgZm9yIG9uZSBjb21wYXRpYmls" + + "aXR5IHdpbmRvdywgYnV0IG5ldyBjb25maWd1cmF0aW9ucwptdXN0IHVzZSB0aGUgcmVtb3RlLWNv" + + "bmZpZyBwYXRoLiBDb25mbGljdGluZyB2YWx1ZXMgZmFpbCByZW5kZXJpbmcuCgpSZW5kZXIgYW5k" + + "IGFwcGx5IHRoZSB1cGRhdGVkIGNvbnRyb2wtcGxhbmUgZW52aXJvbm1lbnQsIHRoZW4gcmVmcmVz" + + "aCBldmVyeQpyZWdpc3RlcmVkIGNvbXB1dGUgcGxhbmUgdXNpbmcgdGhlIHNhbWUgaGFuZG9mZiB1" + + "c2VkIGZvciBpdHMgaW5zdGFsbGF0aW9uIHNvCk5WQ0EgcmVjZWl2ZXMgYGFnZW50Q29uZmlnLm1l" + + "cmdlQ29uZmlnYDoKCmBgYGJhc2gKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIHRlbXBsYXRl" + + "CkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSBzeW5jCmBgYAoKVXNlIHRoZSBjb21wbGV0ZSBj" + + "b21wdXRlLXBsYW5lIGluc3RhbGwgY29tbWFuZCBmcm9tCltTcGxpdCBDb21wdXRlLVBsYW5lIElu" + + "c3RhbGxhdGlvbl0oY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWQpLiBBCkNMSS1wcm9maWxl" + + "IGluc3RhbGxhdGlvbiBtdXN0IHJlbWFpbiBwcm9maWxlLWRyaXZlbjsgYSBIZWxtZmlsZSBpbnN0" + + "YWxsYXRpb24KbXVzdCByZW1haW4gdmFsdWVzLWRyaXZlbi4KCkV4aXN0aW5nIExMTSBmdW5jdGlv" + + "biB2ZXJzaW9ucyByZXRhaW4gdGhlIHdvcmtlci1zaWRlY2FyIGltYWdlIG1ldGFkYXRhCmNhcHR1" + + "cmVkIHdoZW4gdGhlIHZlcnNpb24gaXMgY3JlYXRlZC4gUmVwbGFjaW5nIHBvZHMgb3IgcmVkZXBs" + + "b3lpbmcgdGhlIHNhbWUKdmVyc2lvbiBkb2VzIG5vdCBhcHBseSBhIG5ldyBQeWxvbiBpbWFnZS4g" + + "QWZ0ZXIgdGhlIGNvbnRyb2wtcGxhbmUgdXBkYXRlLApjcmVhdGUgYW5kIGRlcGxveSBhIG5ldyBm" + + "dW5jdGlvbiB2ZXJzaW9uLiBWZXJpZnkgdGhlIGNvbnRyb2wgcGxhbmUsIHJvdXRlLCBhbmQKd29y" + + "a2VyIHNpZGVjYXI6CgpgYGBiYXNoCmt1YmVjdGwgZ2V0IGRlcGxveSAtbiBudmNmIGxsbS1hcGkt" + + "Z2F0ZXdheQprdWJlY3RsIGdldCBzdGF0ZWZ1bHNldCAtbiBudmNmIGxsbS1yZXF1ZXN0LXJvdXRl" + + "cgprdWJlY3RsIGdldCBwb2RzIC1uIG52Y2YgfCBncmVwIC1FICdsbG0tYXBpLWdhdGV3YXl8bGxt" + + "LXJlcXVlc3Qtcm91dGVyJwprdWJlY3RsIGdldCBodHRwcm91dGUgLUEgfCBncmVwIGxsbQprdWJl" + + "Y3RsIC1uIG52Y2YtYmFja2VuZCBnZXQgcG9kIDxmdW5jdGlvbi1wb2Q+IFwKICAtbyBqc29ucGF0" + + "aD0ne3JhbmdlIC5zcGVjLmNvbnRhaW5lcnNbPyhALm5hbWU9PSJsbG0td29ya2VyIildLmFyZ3Nb" + + "Kl19ey59eyJcXG4ifXtlbmR9JwpgYGAKCkZvciBsb2NhbCBwbGFpbnRleHQgY2x1c3RlcnMsIHRo" + + "ZSBgbGxtLXdvcmtlcmAgYXJncyBtdXN0IGluY2x1ZGUKYC0tcXVpYy1pbnNlY3VyZWAuCgpGb3Ig" + + "bG9hZC1iYWxhbmNlciBzY2hlbWEgYW5kIGFsZ29yaXRobSBiZWhhdmlvciwgc2VlIHRoZQpbU3Rh" + + "cmdhdGUgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6Ly9naXRodWIuY29tL05WSURJQS9udmNm" + + "L2Jsb2IvbWFpbi9zcmMvbGlicmFyaWVzL3J1c3Qvc3RhcmdhdGUvZG9jcy9sb2FkLWJhbGFuY2Vy" + + "LWNvbmZpZ3VyYXRpb24ubWQpLgoKIyMgSGVsbWZpbGUgU2VsZWN0b3JzCgpUYXJnZXQgc3BlY2lm" + + "aWMgcmVsZWFzZXMgb3IgZ3JvdXBzOgoKYGBgYmFzaAojIEJ5IHJlbGVhc2UgZ3JvdXAKSEVMTUZJ" + + "TEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgcmVsZWFzZS1ncm91cD1kZXBlbmRlbmNp" + + "ZXMgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciByZWxlYXNlLWdy" + + "b3VwPXNlcnZpY2VzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3Ig" + + "cmVsZWFzZS1ncm91cD1pbmdyZXNzIHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0t" + + "c2VsZWN0b3IgcmVsZWFzZS1ncm91cD1vYnNlcnZhYmlsaXR5IHN5bmMKCiMgQnkgcmVsZWFzZSBu" + + "YW1lCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJh" + + "IHN5bmMKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1hZG1pbi1p" + + "c3N1ZXItcHJveHkgc3luYwpIRUxNRklMRV9FTlY9PGVudj4gaGVsbWZpbGUgLS1zZWxlY3RvciBu" + + "YW1lPWxsbS1yZXF1ZXN0LXJvdXRlciBzeW5jCkhFTE1GSUxFX0VOVj08ZW52PiBoZWxtZmlsZSAt" + + "LXNlbGVjdG9yIG5hbWU9bGxtLWFwaS1nYXRld2F5IHN5bmMKCiMgVGVtcGxhdGUgb25seSAoZHJ5" + + "IHJ1bikKSEVMTUZJTEVfRU5WPTxlbnY+IGhlbG1maWxlIC0tc2VsZWN0b3IgbmFtZT1jYXNzYW5k" + + "cmEgdGVtcGxhdGUKCiMgRGVzdHJveSBhIHNpbmdsZSByZWxlYXNlCkhFTE1GSUxFX0VOVj08ZW52" + + "PiBoZWxtZmlsZSAtLXNlbGVjdG9yIG5hbWU9Y2Fzc2FuZHJhIGRlc3Ryb3kKYGBgCgpOb3RlOiBg" + + "YWRtaW4taXNzdWVyLXByb3h5YCBoYXMgbm8gYHJlbGVhc2UtZ3JvdXBgIGxhYmVsLiBVc2UgYC0t" + + "c2VsZWN0b3IgbmFtZT1hZG1pbi1pc3N1ZXItcHJveHlgLgpQSwcIExHsjQoqAAAKKgAAUEsDBBQA" + + "CAAAAAAAIQAAAAAAAAAAAAAAAAA/AAkAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0YWxsYXRp" + + "b24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SIyBOVkNGIFVJIEFkZG9uCgpO" + + "VkNGIFVJIGlzIGFuIG9wdGlvbmFsLCBjdXN0b21lci1mYWNpbmcgTlZDRiBhZG1pbi1wYW5lbCBV" + + "SS4gSXQgaXMgZGlzYWJsZWQgYnkKZGVmYXVsdCBhbmQgYXZhaWxhYmxlIG9ubHkgaW4gc3RhY2sg" + + "cGFja2FnZXMgdGhhdCBpbmNsdWRlIHRoZSBOVkNGIFVJIGFkZG9uLgoKIyMgV2hlbiB0byBlbmFi" + + "bGUKCkVuYWJsZSBOVkNGIFVJIG9ubHkgd2hlbiB5b3UgbmVlZCB0aGUgYWRtaW4tcGFuZWwgVUkg" + + "YW5kIHlvdXIgZXh0cmFjdGVkIHN0YWNrCnBhY2thZ2UgaW5jbHVkZXMgdGhlIGFkZG9uLiBJZiB0" + + "aGUgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIGEgYG52Y2YtdWlgIHJlbGVhc2UKYW5kIGBudmNm" + + "VWlgIHJvdXRlIHZhbHVlcywgc2tpcCB0aGUgYWRkb24gdW50aWwgeW91IHVzZSBhIHBhY2thZ2Ug" + + "dGhhdCBpbmNsdWRlcwp0aGVtLgoKIyMgRW5hYmxlIHRoZSBhZGRvbgoKRW5hYmxlIGl0IGluIGBl" + + "bnZpcm9ubWVudHMvPGVudi1uYW1lPi55YW1sYDoKCmBgYHlhbWwKYWRkb25zOgogIG52Y2ZVaToK" + + "ICAgIGVuYWJsZWQ6IHRydWUKYGBgCgojIyBDcmVhdGUgbmFtZXNwYWNlIGFuZCBpbWFnZSBwdWxs" + + "IHNlY3JldAoKQ3JlYXRlIHRoZSBuYW1lc3BhY2UsIGFuZCBhbiBpbWFnZSBwdWxsIHNlY3JldCBv" + + "bmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUKcmVnaXN0cnk6CgpgYGBiYXNoCmt1YmVjdGwg" + + "Y3JlYXRlIG5hbWVzcGFjZSBudmNmLXVpIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8IGt1YmVj" + + "dGwgYXBwbHkgLWYgLQoKIyBPbmx5IGlmIHB1bGxpbmcgZnJvbSBhIHByaXZhdGUgcmVnaXN0cnkg" + + "KGUuZy4sIE5HQyBudmNyLmlvKQpleHBvcnQgTkdDX0FQSV9LRVk9Ijx5b3VyLWtleT4iCmt1YmVj" + + "dGwgY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZjci1jcmVkcyBcCiAgLS1kb2NrZXIt" + + "c2VydmVyPW52Y3IuaW8gXAogIC0tZG9ja2VyLXVzZXJuYW1lPSckb2F1dGh0b2tlbicgXAogIC0t" + + "ZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVkiIFwKICAtLW5hbWVzcGFjZT1udmNmLXVpIFwK" + + "ICAtLWRyeS1ydW49Y2xpZW50IC1vIHlhbWwgfCBrdWJlY3RsIGFwcGx5IC1mIC0KYGBgCgpUaGUg" + + "ZGVmYXVsdCByb3V0ZSBob3N0IGlzIGBudmNmLXVpLjxkb21haW4+YCBhbmQgdGhlIGJhY2tlbmQg" + + "aXMKYG52Y2YtdWkubnZjZi11aTo4MzAwYC4KCiMjIEFwcGx5IHRoZSBzZXJ2aWNlIGFuZCByb3V0" + + "ZQoKQWZ0ZXIgY29uZmlybWluZyB0aGUgcGFja2FnZSBpbmNsdWRlcyB0aGUgYG52Y2YtdWlgIHJl" + + "bGVhc2UsIHByZXZpZXcgYW5kIGFwcGx5CnRoZSBzZXJ2aWNlIGFuZCByb3V0ZToKCmBgYGJhc2gK" + + "SEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1lPW52Y2YtdWkg" + + "dGVtcGxhdGUKSEVMTUZJTEVfRU5WPTxlbnYtbmFtZT4gaGVsbWZpbGUgLS1zZWxlY3RvciBuYW1l" + + "PW52Y2YtdWkgc3luYwpIRUxNRklMRV9FTlY9PGVudi1uYW1lPiBoZWxtZmlsZSAtLXNlbGVjdG9y" + + "IHJlbGVhc2UtZ3JvdXA9aW5ncmVzcyBzeW5jCmBgYAoKIyMgVmVyaWZ5CgpWZXJpZnkgdGhlIHJv" + + "dXRlIG9ubHkgd2hlbiB0aGUgYWRkb24gaXMgcHJlc2VudCBhbmQgZW5hYmxlZDoKCmBgYGJhc2gK" + + "a3ViZWN0bCBnZXQgZGVwbG95LHN2YyAtbiBudmNmLXVpCmt1YmVjdGwgZ2V0IGh0dHByb3V0ZSAt" + + "QSB8IGdyZXAgLWkgbnZjZi11aQpjdXJsIC1pIC1IICJIb3N0OiBudmNmLXVpLjxkb21haW4+IiAi" + + "aHR0cDovLzxnYXRld2F5LWFkZHJlc3M+L3N0YXR1cyIKYGBgCgojIyBTZWN1cml0eQoKVGhlIE5W" + + "Q0YgVUkgYWRtaW4gcGFuZWwgaXMgY3VycmVudGx5IHVuYXV0aGVudGljYXRlZC4gRG8gbm90IGV4" + + "cG9zZSBpdCB0byB0aGUKcHVibGljIGludGVybmV0LiBSZXN0cmljdCBhY2Nlc3MgdG8gYSB0cnVz" + + "dGVkIG5ldHdvcmssIFZQTiwgb3IgYW4gYXV0aGVudGljYXRpbmcKcHJveHkgaW4gZnJvbnQgb2Yg" + + "dGhlIGBudmNmLXVpYCByb3V0ZS4KUEsHCDj5J6+5BwAAuQcAAFBLAwQUAAgAAAAAACEAAAAAAAAA" + + "AAAAAAAAPgAJAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMv" + + "cHVsbC1zZWNyZXRzLm1kVVQFAAEAps4SIyBJbWFnZSBQdWxsIFNlY3JldHMgUmVmZXJlbmNlCgoj" + + "IyBPdmVydmlldwoKV2hlbiBwdWxsaW5nIE5WQ0YgaW1hZ2VzIGZyb20gYSBwcml2YXRlIHJlZ2lz" + + "dHJ5IChmb3IgZXhhbXBsZSwgTkdDCmBudmNyLmlvYCksIEt1YmVybmV0ZXMgbmVlZHMgYGltYWdl" + + "UHVsbFNlY3JldHNgIG9uIGV2ZXJ5IHBvZC4gQ29udHJvbC1wbGFuZSBhbmQKY29tcHV0ZS1wbGFu" + + "ZSBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZCBpbiB0aGVpciBvd24gY2x1c3RlciBjb250ZXh0" + + "cy4gRG8gbm90CnVzZSBvbmUgbWl4ZWQgbmFtZXNwYWNlIGxpc3QuCgpUaGUgcmVjb21tZW5kZWQg" + + "Y29udHJvbC1wbGFuZSBhcHByb2FjaCB1c2VzIEt5dmVybm8gdG8gaW5qZWN0IHRoZSBzZWNyZXQg" + + "aW50bwpjb250cm9sLXBsYW5lIHBvZHMgYXQgYWRtaXNzaW9uIHRpbWUuIFRoZSBjb21wdXRlLXBs" + + "YW5lIGNoYXJ0IGFuZCBvcGVyYXRvciB1c2UKdGhlIHNlY3JldCBpbiBgbnZjYS1vcGVyYXRvcmAg" + + "YW5kIG1pcnJvciBpdCB0byBgbnZjYS1zeXN0ZW1gLgoKIyMgS3l2ZXJubyBBcHByb2FjaCAoUmVj" + + "b21tZW5kZWQpCgojIyMgMS4gSW5zdGFsbCBLeXZlcm5vCgpgYGBiYXNoCmhlbG0gcmVwbyBhZGQg" + + "a3l2ZXJubyBodHRwczovL2t5dmVybm8uZ2l0aHViLmlvL2t5dmVybm8vCmhlbG0gcmVwbyB1cGRh" + + "dGUKaGVsbSBpbnN0YWxsIGt5dmVybm8ga3l2ZXJuby9reXZlcm5vIC1uIGt5dmVybm8gLS1jcmVh" + + "dGUtbmFtZXNwYWNlIFwKICAtLWt1YmUtY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0Pgpg" + + "YGAKCiMjIyAyLiBDcmVhdGUgY29udHJvbC1wbGFuZSBwdWxsIHNlY3JldHMKCmBgYGJhc2gKZXhw" + + "b3J0IE5HQ19BUElfS0VZPSI8eW91ci1uZ2MtYXBpLWtleT4iCgpmb3IgbnMgaW4gY2Fzc2FuZHJh" + + "LXN5c3RlbSBuYXRzLXN5c3RlbSBudmNmIGFwaS1rZXlzIGVzcyBzaXMgdmF1bHQtc3lzdGVtIGNl" + + "cnQtbWFuYWdlcjsgZG8KICBrdWJlY3RsIC0tY29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0" + + "PiBjcmVhdGUgbmFtZXNwYWNlICIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9u" + + "ZQoKZm9yIG5zIGluIGNhc3NhbmRyYS1zeXN0ZW0gbmF0cy1zeXN0ZW0gbnZjZiBhcGkta2V5cyBl" + + "c3Mgc2lzIHZhdWx0LXN5c3RlbSBjZXJ0LW1hbmFnZXI7IGRvCiAga3ViZWN0bCAtLWNvbnRleHQg" + + "PGNvbnRyb2wtcGxhbmUtY29udGV4dD4gY3JlYXRlIHNlY3JldCBkb2NrZXItcmVnaXN0cnkgbnZj" + + "ci1jcmVkcyBcCiAgICAtLWRvY2tlci1zZXJ2ZXI9bnZjci5pbyBcCiAgICAtLWRvY2tlci11c2Vy" + + "bmFtZT0nJG9hdXRodG9rZW4nIFwKICAgIC0tZG9ja2VyLXBhc3N3b3JkPSIkTkdDX0FQSV9LRVki" + + "IFwKICAgIC0tbmFtZXNwYWNlPSIkbnMiIFwKICAgIC0tZHJ5LXJ1bj1jbGllbnQgLW8geWFtbCB8" + + "IGt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KZG9u" + + "ZQpgYGAKCkZvciBub24tTkdDIHJlZ2lzdHJpZXMsIHJlcGxhY2UgYC0tZG9ja2VyLXNlcnZlcmAs" + + "IGAtLWRvY2tlci11c2VybmFtZWAsIGFuZCBgLS1kb2NrZXItcGFzc3dvcmRgLgoKIyMjIDMuIEFw" + + "cGx5IEt5dmVybm8gQ2x1c3RlclBvbGljeQoKYGBgeWFtbAphcGlWZXJzaW9uOiBreXZlcm5vLmlv" + + "L3YxCmtpbmQ6IENsdXN0ZXJQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbnZjZi1hZGQtaW1hZ2Vw" + + "dWxsc2VjcmV0cwpzcGVjOgogIGJhY2tncm91bmQ6IGZhbHNlCiAgcnVsZXM6CiAgICAtIG5hbWU6" + + "IGFkZC1pbWFnZXB1bGxzZWNyZXQtdG8tbnZjZi1wb2RzCiAgICAgIG1hdGNoOgogICAgICAgIGFu" + + "eToKICAgICAgICAtIHJlc291cmNlczoKICAgICAgICAgICAga2luZHM6CiAgICAgICAgICAgIC0g" + + "UG9kCiAgICAgICAgICAgIG5hbWVzcGFjZXM6CiAgICAgICAgICAgIC0gIm52Y2YiCiAgICAgICAg" + + "ICAgIC0gImFwaS1rZXlzIgogICAgICAgICAgICAtICJzaXMiCiAgICAgICAgICAgIC0gImVzcyIK" + + "ICAgICAgICAgICAgLSAibmF0cy1zeXN0ZW0iCiAgICAgICAgICAgIC0gImNhc3NhbmRyYS1zeXN0" + + "ZW0iCiAgICAgICAgICAgIC0gInZhdWx0LXN5c3RlbSIKICAgICAgICAgICAgLSAiY2VydC1tYW5h" + + "Z2VyIgogICAgICBtdXRhdGU6CiAgICAgICAgcGF0Y2hTdHJhdGVnaWNNZXJnZToKICAgICAgICAg" + + "IG1ldGFkYXRhOgogICAgICAgICAgICBhbm5vdGF0aW9uczoKICAgICAgICAgICAgICBudmNmLm52" + + "aWRpYS5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5OiBreXZlcm5vCiAgICAgICAgICBz" + + "cGVjOgogICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOgogICAgICAgICAgICAtIG5hbWU6IG52" + + "Y3ItY3JlZHMKYGBgCgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNv" + + "bnRleHQ+IGFwcGx5IFwKICAtZiBreXZlcm5vLWltYWdlcHVsbHNlY3JldC1wb2xpY3kueWFtbApg" + + "YGAKCiMjIyA0LiBJbnN0YWxsIHRoZSBjb250cm9sIHBsYW5lCgpDb250aW51ZSB3aXRoIHRoZSBz" + + "ZWxlY3RlZCBjb250cm9sLXBsYW5lIGluc3RhbGxhdGlvbiBpbgpbU3BsaXQgQ29tcHV0ZS1QbGFu" + + "ZSBJbnN0YWxsYXRpb25dKGNvbXB1dGUtcGxhbmUtaW5zdGFsbGF0aW9uLm1kKS4gTm8KY29udHJv" + + "bC1wbGFuZSBoZWxtZmlsZSBtb2RpZmljYXRpb25zIGFyZSBuZWVkZWQuIEt5dmVybm8gaW5qZWN0" + + "cyB0aGUgcHVsbApzZWNyZXQgaW50byBuZXcgY29udHJvbC1wbGFuZSBwb2RzLgoKIyMgQ29tcHV0" + + "ZS1QbGFuZSBTZWNyZXQKCkNyZWF0ZSB0aGUgc2VjcmV0IG9ubHkgaW4gYG52Y2Etb3BlcmF0b3Jg" + + "IG9uIHRoZSBjb21wdXRlIGNsdXN0ZXI6CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDxjb21w" + + "dXRlLXBsYW5lLWNvbnRleHQ+IGNyZWF0ZSBuYW1lc3BhY2UgbnZjYS1vcGVyYXRvciBcCiAgLS1k" + + "cnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBs" + + "YW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KCmt1YmVjdGwgLS1jb250ZXh0IDxjb21wdXRlLXBsYW5l" + + "LWNvbnRleHQ+IGNyZWF0ZSBzZWNyZXQgZG9ja2VyLXJlZ2lzdHJ5IG52Y3ItY3JlZHMgXAogIC0t" + + "ZG9ja2VyLXNlcnZlcj1udmNyLmlvIFwKICAtLWRvY2tlci11c2VybmFtZT0nJG9hdXRodG9rZW4n" + + "IFwKICAtLWRvY2tlci1wYXNzd29yZD0iJE5HQ19BUElfS0VZIiBcCiAgLS1uYW1lc3BhY2U9bnZj" + + "YS1vcGVyYXRvciBcCiAgLS1kcnktcnVuPWNsaWVudCAtbyB5YW1sIHwgXAogIGt1YmVjdGwgLS1j" + + "b250ZXh0IDxjb21wdXRlLXBsYW5lLWNvbnRleHQ+IGFwcGx5IC1mIC0KYGBgCgpSZWZlcmVuY2Ug" + + "aXQgaW4gdGhlIGNvbXB1dGUtcGxhbmUgZW52aXJvbm1lbnQgZmlsZToKCmBgYHlhbWwKZ2xvYmFs" + + "OgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAtIG5hbWU6IG52Y3ItY3JlZHMKYGBgCgpUaGUgY2hh" + + "cnQgYW5kIG9wZXJhdG9yIHVzZSB0aGF0IHJlZmVyZW5jZSBpbiBgbnZjYS1vcGVyYXRvcmAgYW5k" + + "IG1pcnJvciB0aGUKc2VjcmV0IHRvIGBudmNhLXN5c3RlbWAuIERvIG5vdCBjcmVhdGUgYSBicm9h" + + "ZGVyIG1hbnVhbCBjb21wdXRlIG5hbWVzcGFjZSBsaXN0LiBGb2xsb3cKW1NwbGl0IENvbXB1dGUt" + + "UGxhbmUgSW5zdGFsbGF0aW9uXShjb21wdXRlLXBsYW5lLWluc3RhbGxhdGlvbi5tZCkgZm9yIHRo" + + "ZQpzZWxlY3RlZCBpbnN0YWxsIGZsb3cuCgojIyBWZXJpZmljYXRpb24KCmBgYGJhc2gKIyBDaGVj" + + "ayB0aGF0IGEgY29udHJvbC1wbGFuZSBwb2QgaGFzIHRoZSBpbmplY3RlZCBzZWNyZXQKa3ViZWN0" + + "bCAtLWNvbnRleHQgPGNvbnRyb2wtcGxhbmUtY29udGV4dD4gZ2V0IHBvZCAtbiA8bmFtZXNwYWNl" + + "PiA8cG9kLW5hbWU+IFwKICAtbyBqc29ucGF0aD0ney5zcGVjLmltYWdlUHVsbFNlY3JldHN9Jwoj" + + "IEV4cGVjdGVkOiBbeyJuYW1lIjoibnZjci1jcmVkcyJ9XQoKIyBDaGVjayB0aGUgS3l2ZXJubyBh" + + "bm5vdGF0aW9uCmt1YmVjdGwgLS1jb250ZXh0IDxjb250cm9sLXBsYW5lLWNvbnRleHQ+IGdldCBw" + + "b2QgLW4gPG5hbWVzcGFjZT4gPHBvZC1uYW1lPiBcCiAgLW8ganNvbnBhdGg9J3subWV0YWRhdGEu" + + "YW5ub3RhdGlvbnMubnZjZlwubnZpZGlhXC5jb20vaW1hZ2VwdWxsc2VjcmV0LWluamVjdGVkLWJ5" + + "fScKIyBFeHBlY3RlZDoga3l2ZXJubwoKIyBDaGVjayBwdWxsIGV2ZW50cwprdWJlY3RsIC0tY29u" + + "dGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgZXZlbnRzIC1uIDxuYW1lc3BhY2U+IFwK" + + "ICAtLXNvcnQtYnk9Jy5sYXN0VGltZXN0YW1wJyB8IGdyZXAgLWkgcHVsbAojIFNob3VsZCBzaG93" + + "ICJTdWNjZXNzZnVsbHkgcHVsbGVkIiBub3QgIjQwMSBVbmF1dGhvcml6ZWQiCgojIENoZWNrIHRo" + + "ZSBjaGFydC9vcGVyYXRvciBtaXJyb3Igb24gdGhlIGNvbXB1dGUgY2x1c3RlcgprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29tcHV0ZS1wbGFuZS1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgXAog" + + "IC1uIG52Y2Etc3lzdGVtCmBgYAoKIyMgV2hlbiBQdWxsIFNlY3JldHMgQXJlIE5vdCBOZWVkZWQK" + + "Ci0gKipBV1MgRUNSIHdpdGggSUFNIG5vZGUgcm9sZXMqKjogSWYgeW91ciBub2RlcyBoYXZlIGBB" + + "bWF6b25FQzJDb250YWluZXJSZWdpc3RyeVJlYWRPbmx5YCBJQU0gcG9saWN5LCBLdWJlcm5ldGVz" + + "IGNhbiBwdWxsIGZyb20gRUNSIHdpdGhvdXQgZXhwbGljaXQgc2VjcmV0cy4KLSAqKlB1YmxpYyBy" + + "ZWdpc3RyaWVzKio6IE5vIHB1bGwgc2VjcmV0cyBuZWVkZWQuCi0gKipDU1AgYnVpbHQtaW4gY3Jl" + + "ZGVudGlhbCBoZWxwZXJzKio6IEdLRSBBcnRpZmFjdCBSZWdpc3RyeSwgQXp1cmUgQUNSIHdpdGgg" + + "bWFuYWdlZCBpZGVudGl0eSwgYW5kIHNpbWlsYXIgc2VydmljZXMuCgojIyBUcm91Ymxlc2hvb3Rp" + + "bmcKCiMjIyBQb2RzIHN0aWxsIGluIEltYWdlUHVsbEJhY2tPZmYgYWZ0ZXIgYXBwbHlpbmcgcG9s" + + "aWN5CgpUaGUgS3l2ZXJubyBwb2xpY3kgb25seSBhZmZlY3RzIHBvZHMgY3JlYXRlZCAqKmFmdGVy" + + "KiogdGhlIHBvbGljeSBpcyBhcHBsaWVkLiBEZWxldGUgc3R1Y2sgcG9kcyB0byB0cmlnZ2VyIHJl" + + "Y3JlYXRpb246CgpgYGBiYXNoCmt1YmVjdGwgLS1jb250ZXh0IDx0YXJnZXQtY29udGV4dD4gZGVs" + + "ZXRlIHBvZHMgLW4gPG5hbWVzcGFjZT4gLS1hbGwKYGBgCgojIyMgS3l2ZXJubyBhZG1pc3Npb24g" + + "Y29udHJvbGxlciBub3QgcnVubmluZwoKYGBgYmFzaAprdWJlY3RsIC0tY29udGV4dCA8Y29udHJv" + + "bC1wbGFuZS1jb250ZXh0PiBnZXQgcG9kcyAtbiBreXZlcm5vCiMgQWxsIHBvZHMgc2hvdWxkIGJl" + + "IFJ1bm5pbmcKYGBgCgojIyMgUG9saWN5IG5vdCBtYXRjaGluZwoKYGBgYmFzaAprdWJlY3RsIC0t" + + "Y29udGV4dCA8Y29udHJvbC1wbGFuZS1jb250ZXh0PiBnZXQgY2x1c3RlcnBvbGljeSBudmNmLWFk" + + "ZC1pbWFnZXB1bGxzZWNyZXRzCiMgU2hvdWxkIHNob3cgUkVBRFk6IFRydWUKYGBgCgojIyMgV3Jv" + + "bmcgc2VjcmV0IG5hbWUKClRoZSBwb2xpY3kgcmVmZXJlbmNlcyBgbnZjci1jcmVkc2AuIFZlcmlm" + + "eSB0aGUgc2VjcmV0IGV4aXN0cyB3aXRoIHRoYXQgZXhhY3QgbmFtZToKCmBgYGJhc2gKa3ViZWN0" + + "bCAtLWNvbnRleHQgPHRhcmdldC1jb250ZXh0PiBnZXQgc2VjcmV0IG52Y3ItY3JlZHMgLW4gPG5h" + + "bWVzcGFjZT4KYGBgClBLBwhLQjWoABYAAAAWAABQSwECFAAUAAgAAAAAACEA0/soykoQAABKEAAA" + + "EgAJAAAAAAAAAAAAAAAAAAAAZGF0YS9tYW5pZmVzdC5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAA" + + "AAAhAK0TcdvYZAAA2GQAACMACQAAAAAAAAAAAAAAkxAAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQt" + + "Y2xpL1NLSUxMLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAHqaT5wqEQAAKhEAADMACQAAAAAA" + + "AAAAAAAAxXUAAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL2V4YW1wbGVzL2NpLXBpcGVsaW5l" + + "cy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCnzznD/hQAAP4UAAA0AAkAAAAAAAAAAAAAAFmH" + + "AABkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9leGFtcGxlcy9tdWx0aS1jbHVzdGVyLm1kVVQF" + + "AAEAps4SUEsBAhQAFAAIAAAAAAAhAAF5qfn+GQAA/hkAADcACQAAAAAAAAAAAAAAwpwAAGRhdGEv" + + "bnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvYWRkLWNvbXB1dGUtcGxhbmUubWRVVAUAAQCm" + + "zhJQSwECFAAUAAgAAAAAACEA1N6NNJ8ZAACfGQAAOQAJAAAAAAAAAAAAAAAutwAAZGF0YS9udmNm" + + "LXNlbGYtbWFuYWdlZC1jbGkvcHJvbXB0cy9jcmVhdGUtYW5kLXJ1bi10YXNrLm1kVVQFAAEAps4S" + + "UEsBAhQAFAAIAAAAAAAhANJD3AQYJQAAGCUAADcACQAAAAAAAAAAAAAAPdEAAGRhdGEvbnZjZi1z" + + "ZWxmLW1hbmFnZWQtY2xpL3Byb21wdHMvZGVwbG95LWFuZC1pbnZva2UubWRVVAUAAQCmzhJQSwEC" + + "FAAUAAgAAAAAACEAcpIsJr4OAAC+DgAAPQAJAAAAAAAAAAAAAADD9gAAZGF0YS9udmNmLXNlbGYt" + + "bWFuYWdlZC1jbGkvcHJvbXB0cy9kaWFnbm9zZS1mYWlsZWQtaW5zdGFsbC5tZFVUBQABAKbOElBL" + + "AQIUABQACAAAAAAAIQC0Sd8nVikAAFYpAAA6AAkAAAAAAAAAAAAAAPUFAQBkYXRhL252Y2Ytc2Vs" + + "Zi1tYW5hZ2VkLWNsaS9wcm9tcHRzL2luc3RhbGwtZnJvbS1zY3JhdGNoLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAKnBJvcuCQAALgkAADkACQAAAAAAAAAAAAAAvC8BAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtY2xpL3Byb21wdHMvcm90YXRlLWNsdXN0ZXItandrcy5tZFVUBQABAKbOElBLAQIU" + + "ABQACAAAAAAAIQDah2NW5CEAAOQhAAAuAAkAAAAAAAAAAAAAAFo5AQBkYXRhL252Y2Ytc2VsZi1t" + + "YW5hZ2VkLWNsaS9wcm9tcHRzL3RlYXJkb3duLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhANF1" + + "wo8WJgAAFiYAADAACQAAAAAAAAAAAAAAo1sBAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtY2xpL3Jl" + + "ZmVyZW5jZS9jb21tYW5kcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQDJ+UVvaBAAAGgQAAAy" + + "AAkAAAAAAAAAAAAAACCCAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZXhp" + + "dC1jb2Rlcy5tZFVUBQABAKbOElBLAQIUABQACAAAAAAAIQCQcQE09GAAAPRgAAAtAAkAAAAAAAAA" + + "AAAAAPGSAQBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWNsaS9yZWZlcmVuY2UvZmxhZ3MubWRVVAUA" + + "AQCmzhJQSwECFAAUAAgAAAAAACEAGriz82EhAABhIQAANwAJAAAAAAAAAAAAAABJ9AEAZGF0YS9u" + + "dmNmLXNlbGYtbWFuYWdlZC1jbGkvcmVmZXJlbmNlL3Ryb3VibGVzaG9vdGluZy5tZFVUBQABAKbO" + + "ElBLAQIUABQACAAAAAAAIQARwxSTSWIAAEliAAAsAAkAAAAAAAAAAAAAABgWAgBkYXRhL252Y2Yt" + + "c2VsZi1tYW5hZ2VkLWluc3RhbGxhdGlvbi9TS0lMTC5tZFVUBQABAKbOElBLAQIUABQACAAAAAAA" + + "IQBHVWpWSlYAAEpWAAA0AAkAAAAAAAAAAAAAAMR4AgBkYXRhL252Y2Ytc2VsZi1tYW5hZ2VkLWlu" + + "c3RhbGxhdGlvbi9ldmFscy9ldmFscy5qc29uVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAAJSTkB/" + + "KAAAfygAAC8ACQAAAAAAAAAAAAAAec8CAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0" + + "aW9uL2V4YW1wbGVzLm1kVVQFAAEAps4SUEsBAhQAFAAIAAAAAAAhAJZjvFkSMAAAEjAAAEwACQAA" + + "AAAAAAAAAAAAXvgCAGRhdGEvbnZjZi1zZWxmLW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5j" + + "ZXMvY29tcHV0ZS1wbGFuZS1pbnN0YWxsYXRpb24ubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "tXpwO7UwAAC1MAAAOwAJAAAAAAAAAAAAAADzKAMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9kZWJ1Z2dpbmcubWRVVAUAAQCmzhJQSwECFAAUAAgAAAAAACEA" + + "ExHsjQoqAAAKKgAARAAJAAAAAAAAAAAAAAAaWgMAZGF0YS9udmNmLXNlbGYtbWFuYWdlZC1pbnN0" + + "YWxsYXRpb24vcmVmZXJlbmNlcy9oZWxtZmlsZS1zdHJ1Y3R1cmUubWRVVAUAAQCmzhJQSwECFAAU" + + "AAgAAAAAACEAOPknr7kHAAC5BwAAPwAJAAAAAAAAAAAAAACfhAMAZGF0YS9udmNmLXNlbGYtbWFu" + + "YWdlZC1pbnN0YWxsYXRpb24vcmVmZXJlbmNlcy9udmNmLXVpLWFkZG9uLm1kVVQFAAEAps4SUEsB" + + "AhQAFAAIAAAAAAAhAEtCNagAFgAAABYAAD4ACQAAAAAAAAAAAAAAzowDAGRhdGEvbnZjZi1zZWxm" + + "LW1hbmFnZWQtaW5zdGFsbGF0aW9uL3JlZmVyZW5jZXMvcHVsbC1zZWNyZXRzLm1kVVQFAAEAps4S" + + "UEsFBgAAAAAXABcArwkAAEOjAwAAAA==" var ( skillDataOnce sync.Once